周升,陶敏,徐朋,李贤慧,季胜鹏
(1.国网浙江省电力公司电力科学研究院,杭州310014;2.江苏瑞中数据股份有限公司,南京210009)
经验交流
基于SG-UAP的实时/历史数据平台统一访问方法研究
周升1,陶敏1,徐朋2,李贤慧2,季胜鹏2
(1.国网浙江省电力公司电力科学研究院,杭州310014;2.江苏瑞中数据股份有限公司,南京210009)
实时/历史数据平台做为浙江电力生产信息管理大区的后台数据存储平台,为全省电网业务应用提供强力的数据支持。为更好地支持数据平台的应用,结合目前国家电网范围内各业务应用系统统一的开发、部署和运维管理SG-UAP平台的要求,需要将海量平台有机融合到SG-UAP平台中,按照SG-UAP平台的OSGI规范,对实时数据库访问方式进行标准化的优化,以便更好地使用SG-UAP平台来支撑电网各业务应用系统。
SG-UAP;OSGI规范;实时数据库访问
为更好支撑国家电网公司(以下简称公司)信息化业务系统的建设,从各领域业务系统通用、共性的技术需求中进行深入分析、总结、提炼,形成平台技术组件,进一步提升公司范围内信息系统技术架构的一致性,支撑业务融合,提高业务系统软件开发质量和服务水平,降低建设与运营成本,提升公司运营效率、效益以及集约化、标准化、精益化的管理水平。公司建成了支撑信息管理大区应用系统建设的应用系统统一开发平台SG-UAP。并于2013年在公司范围内29个统建项目及部分省市公司自建项目组推广应用,包括了设备(资产)运维精益管理系统(PMS2.0)、财务管控一级部署、电力交易、基建等一批公司重点项目先后基于该平台开展设计、研发并陆续投入运行。
随着公司信息化建设的推进,SG-UAP作为公司所有信息系统的基础开发平台,将是今后公司范围内各业务应用系统统一的开发、部署和运维管理平台,现有其他应用系统的基础支撑平台都面临淘汰和被整合的趋势。
在电网企业生产管理中存在着大量的带时间序列的调度、生产和营销等业务数据(即实时数据),这些实时数据将大量产生,继而沉淀生成海量的历史数据,这些海量历史/准实时数据都是电网企业生产运行过程中的重要财富,是实现精益化管理的重要信息基础[1]。海量平台一方面是SG-ERP的实时数据中心,与结构化数据管理平台、空间数据管理平台和非结构化数据管理平台共同构成SG-ERP数据中心;另一方面,也是各业务构建历史/准实时数据计算分析应用的基础支撑平台。在上述2个背景的前提下,将海量平台有机融合到SG-UAP平台中将势在必行[1]。
1.1 海量平台现状
海量平台作为公司信息化战略的基础性实时数据平台,截至目前,已经完成了27家省(市)公司的海量平台推广建设工作,并同步开展海量平台深化应用、试点实用化及历史/准实时业务应用系统的研发工作。海量平台接入了SCADA、电能量、用电信息采集、输变电在线监测和电能质量等生产运行数据,同时支撑了运营监测(控)信息支撑系统、营销稽查监控和用电信息采集等系统的数据访问需求。
海量平台底层使用海迅实时数据库,高效压缩,开发质量码存储,支持跨平台数据处理、每秒百万的数据提交效率以及每秒数十万的数据查询效率。海迅数据库支持原始值、插值和阶梯值3种数据检索模式,满足对历史数据查询的多样化需求[1]。海迅数据库在数据处理上的这些特性,为大型地区智能电网调度技术支持系统的海量平台及公司信息化建设提供历史/准实时数据集中存储和访问、业务系统访问和分析等支撑作用[2]。海量平台需要完善数据接入、新业务应用支撑和应用访问方式,强化数据计算、分析的支撑作用,提高海量数据的利用价值,满足省级电力公司地区负荷统计、分层分区需求侧实时管理等个性化需求。
海量平台深化应用基于海量平台3.0实现,实现应用统一部署和应用统一管理。应用可通过界面集成的方式统一部署在海量平台Web服务器上,并通过界面化操作对应用服务启停进行控制和服务监视。
海量平台深化应用使用micro soft Visual Studio作为C/C++开发环境,使用eclipse作为Java开发环境,基于海迅UAPI和海迅实时数据库进行开发。遵循“分区分域、安全接入、动态感知、全面防护”的安全策略,按照等级保护二级系统要求进行安全防护设计,并根据业务系统的不断完善加强对系统的防护,平台提供完善的备份恢复方案,最大限度地保障公司相关信息系统的安全、可靠和稳定运行。
海量平台深化应用界面设计清晰、操作简单,配备详细的用户操作手册,易于理解每项操作的用途和步骤,符合用户常规使用习惯,当用户误操作时及时给出提示并出具解决建议。
1.2 SG-UAP现状
为提高公司业务应用系统技术架构的一致性,充分共享和整合研发资源,提高软件开发质量和服务水平,降低建设与运营成本,满足公司信息系统一级部署、高性能数据处理等新的业务应用需求,公司决定在继承已有平台成果的基础上,建设公司应用系统统一开发平台。
公司应用系统统一开发平台(State Grid Unified Application Platform,简称SG-UAP)是应用系统基础支撑平台。作为公司一体化信息平台的重要组成部分,SG-UAP是一套技术统一、架构柔性、安全可靠的企业级基础框架和公共套件集,在融合公司原有SoTower和PI3000等平台的基础上,进一步创新提升,实现基础设施、公共套件、集成开发工具、系统治理工具四大功能模块,全面支撑信息系统设计、开发、测试、部署、运维的全过程。为信息系统研发、实施和运维人员提供开发和运行环境支撑。
该平台的目标与定位是打造国内领先、国际先进的商业化成熟软件平台产品,形成完备的电力行业解决方案,并逐步将平台应用范围拓展至整个电力行业,最终具备社会化运营能力。
SG-UAP平台屏蔽底层技术细节,降低了学习成本;提供通用业务和技术组件,减少重复开发;提供了灵活应对需求变化的机制。SG-UAP集成开发工具以Eclipse为基础,以插件的方式进行功能扩展。基础设施及业务套件以SDK形式为业务系统提供工具支撑。采用标准的Eclipse插件升级模式进行升级。内置Tomcat6.X应用服务器及Oracle、达梦等数据库驱动程序,方便用户开发使用。
2.1 海量平台接口分析
为更好地推广海量平台建设、开展了基于平台的技术提升、应用技术验证和业务应用实施实践工作,海量平台对外提供一系列的统一C++动态库接口以及对应的jni转换的java接口,用以访问、操作海量平台中的实时数据。
目前对外的java接口包含了简单的创建连接、关闭连接、测点查询、测点实时历史数据查询、测点属性修改、测点实时历史值修改、测点增加、测点实时历史值的写入等相关接口。但是海量平台的UAPI接口作为对外的统一接口,各个接口之间连接较为分散独立,这样更便于业务人员和开发人员的运用。
2.2 SG-UAP集成模块分析
SG-UAP平台利用模块化的思想设计,并具有以下优势:
(1)关注度集中。
(2)接口与实现分离,高内聚、低耦合。
(3)新需求响应更快。
(4)以模块化方式进行简单叠加。
(5)分模块上线。
(6)运行时动态更新。
SG-UAP平台开发流程为:以UAP的Web项目为基础,所有模块项目相互独立,但是模块项目之间可以发布,进行引用。将需要在Web前端展示的模块项目加载部署到uap项目上,最后发布到tomcat上。
SG-UAP中的所有的模块项目本身是OSGI标准开发,而SG-UAP所引入的外部jar包接口也需要支持OSGI标准,SG-UAP能够更好的兼容OSGI化的接口,利用OSGI体现其良好的扩展性。
2.3 改造方法研究
基于SG-UAP平台的模块化思想,其集成系统的可扩展性可以将海量平台接口以OSGI标准化进行封装成bundle,然后在SG-UAP平台导入。具体实现方案如下。
2.3.1 简单的接口OSGI化封装
(1)将海量平台二次开发接口UAPI进行OSGI规范化打包成jar包形式,将其放在sguapserver端的suit文件下,在工程的目标平台进行添加插件,然后以bundle形式或者package方式被uap模块项目dependence引入。
(2)当用以上2种不同方式引入jar包后,在对应的业务逻辑层、控制层,添加对海量平台的访问代码(连接、查询等操作)获取相应的数据,以此来支撑海量平台历史/准实时数据获取[4]。
2.3.2 对海量平台主要接口的封装处理
(1)对海量平台的连接部分做处理。
使用数据库连接池机制,将其封装成一个可配置连接池个数的接口方法。在项目加载时候即创建此连接池,在模块中需要操作海量平台数据,做简单获取连接即可以返回连接句柄,从而调用相关操作接口。
这样使得各模块间都共享此连接池,同时保证数据库连接资源得到控制,避免冗余的多连接和冲突连接。
(2)对基本数据库操作进行封装处理(增删查改)。
针对海量平台本身提供的增加、删除、查询、修改接口进行一定的整合封装,使得对外只需简单的入参即可返回相应的操作结果(集)。
这样便于外部操作海量平台,可即拿即用,减少了对海量平台接口访问的复杂重复编写,将主要精力投放于业务系统上。
3.1 OSGI标准技术
OSGI技术是面向Java的动态模型系统。OSGI服务平台为Java提供服务,这些服务使Java成为软件集成和软件开发的首选环境。Java提供在多个平台支持产品的可移植性。OSGI技术提供允许应用程序使用精炼、可重用和可协作的组件构建的标准化原语。这些组件能够组装进一个应用和部署中[4]。
OSGI平台通过使用私有类(在Java中不能用标准方式使用的机制)扩展了该模型。Java2安全模型提供了一个完整模块检查代码对于资源的可访问性。OSGI增加了完全动态的权限管理,简化了操作者和系统管理员的工作。
将实时数据库接口按照OSGI化进行封装使得这些接口易于移植,可以动态地安装、卸载、启动和停止该木块,便于项目管理。
3.2 实时数据库连接池技术
在基于JDBC的数据库应用开发中,数据库连接的管理是一个难点,因为这是决定该应用性能的一个重要因素[5]。通过建立一个数据库连接池以及一套连接使用管理策略,使得一个数据库连接可以得到高效、安全复用,避免了数据库连接频繁建立、关闭的开销。
资源池模式可以解决资源频繁分配、释放所造成的问题。把该模式应用到数据库连接管理领域,就是建立一个数据库连接池,提供一套高效的连接分配、使用策略,最终目标是实现连接的高效、安全地复用。
将实时数据应用平台融合到SG-UAP平台中,对于原来2个独立的平台是一种双赢局面。对于SG-UAP来说,进一步拓展了平台数据管理的能力,除了支持关系型数据库和关系型数据应用,今后也将支持实时数据库和实时数据应用,提升了SG-UAP的技术价值和应用价值。通过对基于SG-UAP海量平台适应性改造研究,为SGUAP支持实时数据库的访问提供支撑,解决了目前SG-UAP访问实时库问题,同时可以使用SGUAP平台开发集成更完善的报表组态等应用,为海量平台应用的发展提供有力基础。
[1]费冬虎,杨勇,李也白,等.基于海迅实时数据库的配电线路运行监视软件[J].浙江电力,2013(9)∶46-49.
[2]雷振江,李鹏.海量历史/准实时数据管理平台的建设与应用[J].电力信息与通信技术,2013(9)∶68-73.
[3]沈佳,李豫芹,邹岳琳,等.海量历史准实时数据管理平台的研究与实现[J].科技传播,2015(18)∶163-164.
[4]郁军.基于OSGI的普及计算关键技术研究[D].上海:华东师范大学,2003.
[5]刘继华,李腊元.一种基于JDBC的数据库连接池的设计与实现[J].计算机工程与应用,2003(7)∶183-185.
(本文编辑:徐晗)
Study on Universe Access Method of Real-time/historical Data Platform Based on SG-UAP
ZHOU Sheng1,TAO Min1,XU Peng2,LI Xianhui2,JI Shengpeng2
(1.State Grid Zhejiang Electric Power Research Institute,Hangzhou 310014,China;2.China Realtime Database Co.,Ltd.,Nanjing 210009,China)
As a back-end data storage platform of power production information management in Zhejiang,the real-time/historical data platform provides strong data support for business applications in the province.Based on the present requirement of SG-UAP(unified application platform)in SGCC,the mass data platform needs to be organically integrated into SG-UPA to better support the application of data platform.In accordance with OSGI specifications of SG-UAP,the access method of real-time database is standardized to better utilize SGUAP to support business applications of power grid.
SG-UAP;OSGI specification;real-time database access
TM769
:B
:1007-1881(2016)04-0070-04
2015-12-16
周升(1985),男,工程师,从事电力行业信息技术工作。