- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
论分布式系统架构设计
摘要
在20XX年3月,我司中标了某总部大厦BIM运维管理系统建设项目。
正文
在20XX年3月,我司中标了某总部大厦BIM运维管理系统建设项目。我作为项目的系统架构师和技术负责人,主要完成了需求的分析,系统的架构设计等工作。该项目主要是服务于大厦物业管理方完成空调、冷热源、给排水、供配电、门禁、照明、摄像头、报警8个业务模块的BIM运维管理,通过数字化管理手段达成物业人员设备状态可视、运维业务可管、管理事件可控的目标。由于建筑内部涉及1000多台设备,数据点位达到2万多点位,数据采集频率高、数据存储需求量大,因此在数据库设计方面,我们采用了分布式数据库设计,通过OracleStream实现建筑内部数据与备份服务器数据的同步。我从数据库选型、分布式数据库设计、应用数据集成和测试以及分布式数据库部署等方面开展工作,经过10个月的努力,平台顺利开发完成并上线,通过近一年的用户反馈,整个系统运行稳定,达到了预期的目标和要求。
根据需求调研,系统业务层面一共分为空调、冷热源、给排水、供配电、门禁、照明、摄像头、报警8个业务管理模块,将整个系统的数据能够按此类8个业务域进行划分。在系统功能层面能够按照数据采集、数据分析、数据存储、数据转发、BIM模型加载、BIM模型渲染、报警定时器等功能域进行划分。
一、数据库选型
现在的主流数据库都可以按分布式进行部署,例如SQLServer,Oracle,DB2等。由于我司过去接手的项目都是选择的Oracle,经过大量的实践检验,其多用户并发处理、性能、数据自动备份等都表现良好,我们公司有大量的基于Oracle数据库平台的分布式应用系统开发经验,所以经过我们与建设方的沟通和内部讨论,决定在该项目中继续采用oracle数据库来实现。在空间数据引擎方面,ArcSDE由于其支持超大数据集,对海量数据可以进行高效的管理。故系统选用使用最广泛的空间数据库引擎ArcSDE。
二、分布式数据库设计
由于涉及的子系统较多,需要对接空调子系统、配电子系统、门禁及照明厂家的子系统,均为Scada系统软件,数据库采用分布式设计,将所有的子系统的数据进行采集与存储,按照当前系统业务功能进行数据域的划分,并且进行数据流的编织进行数据流的转发,采用FlinkSQL函数进行数据输出,并对数据进行完整性和一致性检查。即方便对海量数据进行查询,又可以进行冗余备份,提高了系统可靠性、可用性,使系统易于扩充,提高了局部应用的效率,减少数据的网络传输。
数据库通过OracleStream实现各子系统的数据同步,OracleStream利用高级队列技术,通过解析归档日志,将归档日志解析成DDL及DML语句,实现数据库之间的同步。通过使用Stream技术,对归档日志的挖掘,可以在对主系统没有任何压力的情况下,实现数据表或数据对象的同步。
三、应用数据集成和测试
由于系统需要用到能源管理、照明管理系统等子系统基础数据和应用支持,如物业运维管理系统等,以支持本系统的审批、预警和统计分析。为了保证相关数据表的完整性和一致性,我们采用数据库的二阶段提交(2phasecommit),由于Oracle是一个非常成熟的数据库平台,并且每
次事务都不大,所以运行到现在没有没有出现过数据不一致问题。我们还开发一个同步程序,由大厦建筑内部中心数据库服务器发起,对中心服务器数据与边缘服务器中的数据进行比对,该程序可按需要执行,也可以定期执行。由于Oracle的出色表现和我们在其它项目中使用过分布式数据库设计,架构设计相当成熟稳定,所以测试的过程中我们选择了一个子系统作为试点,进行了完整的流程和数据测试,包括门禁设备数据流的获取,数据同步等。测试通过调试没有问题后,对集成的16个子系统分别进行上线部署和完整测试。
四、分布式数据库部署
为了提高系统的可用性和负载均衡能力,中心数据库采用OracleRAC,形成一个具有最高可用性(RAC+DataGuard)、安全性(数据安全)的整体解决方案。RAC数据库由多个服务器节点组成,每个服务节点上面都有自己独立的OS、ClusterWare、OracleRAC数据库程序等,每个节点都有自己的网络监听器。ClusterWare是一个集群软件,主要用于集群系统管理,OracleRAC数据库程序用于提供Oracle实例进程,以提供客户端访问集群系统,监听服务主要用于监控自己网络端口的信息,所有的服务和程序提供操作系统都去访问一个共享存储,最终完成数据的读写。对于各子系统数据库服务器,采用主从分离技术,主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE)操作,而从数据库处理SEL
信息系统项目管理师持证人
(1)深耕智慧园区10年+ (2)IoT产品专家 (3)工业4.0领头羊 (4)就业咨询指导5年+ (5)方案输出百万字+
文档评论(0)