一 需求html
因为公司每一年都会生产大量设备,这些大量设备由此产生以设备为生命周期的链式信息,相关信息以下:linux
1.1 信息来源web
1)设备自己信息,客观物理基础信息(区域,行政区域,设备配件,厂家,型号等等)算法
2)设备销售信息,销售订单,销售流程,物流等相关信息数据库
3)客户信息,相似于crmwindows
4)设备生产环节信息,设备一旦投入实际生产环境将产生大量实时,历史性数据,实时数据能够进行加工处理产生一些列逻辑信息,好比正常,故障,报警,错误,其余等等api
5)设备售后信息,设备不是一层不变的,他会出现衰老,故障等等一些列问题,所以须要售后环节支持,所以可产生维保,巡检,维修,以及相关流程和业务信息服务器
6)全部信息统计分析信息,这是在大量设备出现并投入使用后,不管是生产,销售,实际使用,售后维保等等均可以产生不一样的算法进行统计,如聚类,分析,日志统计等等架构
1.2 功能划分app
根据不一样时期不一样维度,不一样环境的需求,能够大体划分出以设备生命周期进行跟踪,托管,监控,分析几大类主要功能,根据这些大功能点划分到不一样子系统来实现,因而就有了功能架构
1)基础数据管理:维护设备已经设备依赖的相关基础数据管理
2)销售数据管理:包括客户,销售环节订单,物流,实施,合同相关数据管理
3)实时监控:设备在生产环境中实时产生的数据经过采集单元,采集上报到数据处理服务器,进行数据加工处理,产生逻辑数据,报警,故障分析,以及原始数据持久化,并产生实时消息分发
4)维保管理:维保是专门负责售后设备的巡检,维修,保养,已经其余业务流程管理,定时任务管理
5) 统计分析:基于全部的数据进行不一样类型的数据统计,加工,而后可视化输出
1.3 平台架构划分
平台架构:分布式系统架构,主要包括数据库,应用服务器,客户端,其中客户端比较多样化设计桌面,web,app等,软件运行环境设计windows,linux
子系统划分:SSO子系统,基础数据中心子系统,销售数据中心子系统,实时监控子系统,维保子系统,统计分析子系统
二 总体架构
对这篇博客有必定参考 :http://www.cnblogs.com/Andon_liu/p/5353488.html
2.1 特色与原则
1)子系统独立原则,
2) 子系统与子系统独立且知足交互的特色
3)为数据库集群,服务机器奠基基础
4) 层次划分,接口明确
2.2 统一入口
1)统一webapi入口 (webapi网关)
2)统一数据源入口(数据库代理)
2.3 物理拓扑图
三 子系统实现
3.1 数据库代理与集群架构与实现
数据库代理负责读写分离,负载均衡,备用热切换,数据隔离,这个目前能够采用开源代理工具如mycat,amoeba,haproxy等等来实现,让持久化数据访问统一入口
3.2 SSO服务设计
参考http://www.cnblogs.com/rjjs/p/7422971.html
3.3 基础数据中心管理子系统
3.4 实时监控子系统
3.5 维保子系统
四 明确目标,下降陈本,提升效率