一种适用于电力系统的分布式实时数据库管理系统及实现方法

文档序号:6543466阅读:183来源:国知局
一种适用于电力系统的分布式实时数据库管理系统及实现方法
【专利摘要】本发明公开了一种适用于电力系统的实时数据库管理系统及实现方法,属于数据库【技术领域】。本发明的实时数据库管理系统包括服务端、实时数据库端和客户端,并利用文件映射、实例ID、版本号、客户端缓存等机制来实现实时数据库的分布式管理。本发明实现了多个数据库实例的透明化,让客户对多个数据库实例的访问视同为对单个实例的访问。本发明有利于数据库全省集中式部署,同时便于全省统一数据规划、数据模型和数据标准,还能满足现有及未来数据接入需求。
【专利说明】一种适用于电力系统的分布式实时数据库管理系统及实现方法
【技术领域】
[0001]本发明属于分布式实时数据库领域,特别是涉及一种分布式实时数据库管理方法。
【背景技术】
[0002]随着工业化、信息化“两化融合”建设的不断深入,工业自动化系统面临的海量数据处理压力越来越大。以电力系统为例,随着电网规模的不断扩大,数字化电网、数字化变电站等研究应用的不断深入,系统面对的采集点越来越多。一个中等规模地区的采集量可以达到2万到10万,一个大型地调未来可能面临20-100万的数据采集规模,而数据中心更是可以达到500万-1000万甚至几千万的数据采集规模。
[0003]目前市场上使用的单个数据库管理方法如PI实时数据库已经暴露出了很多问题:1)由于这种单个数据库管理方法建设较早,平台部署架构采用省、地两级部署,与国网公司典设要求不一致;2)其测点规模不适应现有应用发展需求,平台扩充与运维成本昂贵,限制了业务的深化应用;3)两级部署方式制约了全省规模化应用的推广,各地市局的应用水平不平衡。这些问题制约了数据库应用的进一步发展。
[0004]随着电力系统信息化、自动化水平的不断提高,系统的升级过程中数据量和测点数的增加,单个实时数据库已不能满足现场测点日益增长的需求。而实现数据库分布式管理是解决此问题的可行途径之一。

【发明内容】

[0005]本发明的目的是:为了解决现有电力系统中单个实时数据库不能满足实际需求的问题,提供一种电力系统下分布式实时数据库管理系统及实现方法。该方法在实现实时数据库分布式的条件下,保证了对不同区域的多个实时数据库实例进行透明化访问,有利于数据库全省集中式部署,同时便于全省统一数据规划、数据模型和数据标准,还能满足现有及未来数据接入需求。
[0006]具体地说,本发明的适用于电力系统的实时数据库管理系统,是采用以下的技术方案来实现的,包括服务端、实时数据库和客户端,其中,所述服务端,用于完成相关的配置信息、配置系统运行需要的系统资源以及对实例和点进行管理,通过线程池、文件全映射、负载均衡对前来注册的实例、每个实例上的点以及客户端的连接进行管理,利用实例号和全局ID来实现实例的分布式机制以实现用户对实例的访问透明化;所述各个实时数据库,用于向服务端发送注册请求,并在注册成功后接受客户端和服务端发送过来的数据包请求,所述数据包请求包括数据提交和查询;所述客户端,用于对与所有点相关、数据提交相关、连接相关、数据查询相关的接口进行封装以实现所有客户端对数据库的访问透明化;客户端采用客户端缓存、同步机制以及换入换出算法,将客户端存在一个同步线程,定期与服务端进行通信从而获知实例表和点表是否有更新,若有更新则利用换入换出算法更新缓存中的实例和点信息;所述服务端、实例端和客户端三者之间两两进行通信,客户端首先将点、组、枚举集相关请求发送给服务端,再由服务端给实时数据库发送请求,最终将结果一一返回返回至客户端,而对于数据相关的请求则直接与该点所在的实时数据库进行通?目。
[0007]上述技术方案的进一步特征在于,所述服务端保存着每个数据库实例的相关信息且各个实例信息之间相互独立、互不干扰。
[0008]上述技术方案的进一步特征在于,分布式实时数据库管理系统支持不同版本的实时数据库,能够对不同版本的实时数据库进行操作。
[0009]上述技术方案的进一步特征在于,分布式实时数据库管理系统支持两种访问模式,一个模式是通过数据库本身的物理地址访问,另一个模式是通过直接规范的分布式接口访问。
[0010]上述适用于电力系统的实时数据库管理系统的实现方法,包括如下步骤:
1)规划分布式实时数据库系统完成的总体功能:所述总体功能包括实例注册管理、测点管理、客户端数据缓存与重发、日志记录、数据插入与修改、标签点导入和导出、历史数据导入和导出、数据查询和数值统计;
2)规划服务端的功能:所述服务端的功能包括授权检测、数据库注册管理、连接管理、数据处理、全局ID分配策略、测点和实例同步、测点负载均衡以及将文件全映射到内存; 3)设计和实现服务端:服务端利用工作线程池进行数据处理,并在启动时将服务端文件全映射到内存,文件中储存了组、枚举集、点信息以保证了各个数据库实例端测点数据的唯一性和一致性,根据由服务端分配给每个实例的实例ID和点在实例上的局部ID组合形成点全局ID,最后利用负载均衡算法将用户要建立的点信息分配到相应的数据库实例上;
4)设计和实现实时数据库的应用:各个实时数据库向服务端发送注册请求并发送自身实例的版本信息,并在注册成功后接受客户端和服务端发送过来的数据包请求,实现数据插入与修改、标签点导入和导出、历史数据导入和导出、数据查询和数值统计,并一直和服务端保持通信,实时将自身状态发送给服务端;
5)规划客户端完成的功能:所述客户端用于对与所有连接相关、点相关、数据提交相关、数据查询相关的接口进行封装以实现所有客户端对数据库的访问透明化,并完成数据的接入和访问功能;
6)设计和实现客户端:客户端采用缓存、同步线程以及换入换出算法,客户端存在一个同步线程,定期与服务端进行通信从而获知实例表和点表是否有更新,若有更新则利用换入换出算法更新缓存中的实例和点信息;
7)服务端、实例端和客户端三者之间两两进行通信,其中点、组、枚举集相关请求需要首先发送给服务端,再由服务端给实时数据库发送请求,最终将结果一一返回返回至客户端,而对于数据相关的请求则直接与该点所在的实时数据库进行通信。
[0011]本发明的有益效果如下:本发明能够实现高效的数据库管理,解决日益增长的数据量和测点数需求,其与其他分布式实时数据库系统相比具有如下优势:1)实时数据库分布式实施有利于采用全省集中式部署,这符合国网公司典设要求,便于进行全省的统一数据规划、统一数据模型和统一数据标准,同时便于基于平台应用的全省推广,数据库平台数据接入能力能完全满足现有及未来数据接入需求;2)实时数据库采用分布式群集方式集中部署,数据库实例可以动态添加或动态删除,且不会影响其他实时数据库的运行,方便平台平滑升级和动态扩容实现了系统规模的灵活配置,具有可扩容性;3)客户对不同实时数据库实例的访问时,视同对同一数据库实例的访问,从而不必关心实时数据库实例个数、各个实例的名称、每个实例的版本、物理位置、存储结构以及其他细节,具有透明性;4)系统中分布的实时数据库可以是不同版本,能够提供跨版本支持;5)客户端的设计采用缓存、同步线程以及换入换出算法等技术,实时数据库批量、断面的插值和查询效率与原有效率相比仍能保持高效性;6)系统支持支持两种访问模式,因此在实现分布式部署后,实时库还可以通过以前的机制访问和部署,具有高模块独立性。
【专利附图】

【附图说明】
[0012]图1是本发明的分布式实时数据库管理系统总体架构图。
[0013]图2是分布式实时数据库管理系统部署框架结构图。
【具体实施方式】
[0014]下面参照附图并结合实例对本发明作进一步详细描述。
[0015]本发明的适用于电力系统的实时数据库管理系统,其系统的整体框架结构见图1所示,其中,hS_diSpatcher表示服务端,DB_API则表示客户端,服务端、实时数据库和客户端互相进行通信。服务端、实时数据库和客户端的具体说明如下:
1、服务端:完成相关的配置信息、配置系统运行需要的系统资源以及对实例、点等进行管理,且缓存所有实例信息以及实例上简化的点信息以保证数据的唯一性与一致性。由于缓存数据较大因此对服务器内存大小有一定的要求。服务端通过线程池、文件全映射、负载均衡对前来注册的实例、每个实例上的点以及客户端的连接进行管理,利用实例号和全局ID来实现实例的分布式机制以实现用户对实例的访问透明化。服务端保存着每个数据库实例的相关信息且各个实例信息之间相互独立、互不干扰。
[0016]2、实时数据库,即数据库实例端:负责完成点和数据的存储,由于数据量较大因此所要安装的服务器需要足够大的磁盘空间。同时数据库端对点和数据有缓存故对内存也有一定的要求。实时数据库向服务端发送注册请求,并在注册成功后接受客户端和服务端发送过来的数据包请求,数据包请求包括数据提交和查询。系统支持不同版本的实时数据库,能够对不同版本的实时数据库进行操作。系统支持两种访问模式访问实时数据库,一个模式是通过数据库本身的物理地址访问,另一个模式是通过直接规范的分布式接口访问。
[0017]3、客户端:完成数据的接入和访问,多个客户端可以并发访问。用户通过数据接入接口从数据源将数据接入到分布式实时数据库的接口即客户端接口最终发送至数据库,再通过外部系统访问分布式实时数据库所使用的接口从数据库端获取所需要的数据信息。客户端对与所有点相关、数据提交相关、连接相关、数据查询相关的接口进行封装以实现所有客户端对数据库的访问透明化,采用客户端缓存、同步机制以及换入换出算法,将客户端存在一个同步线程,定期与服务端进行通信从而获知实例表、点表是否有更新,若有更新则利用换入换出算法更新缓存中的实例和点信息。
[0018]上述系统的具体实现过程如下:
O规划分布式实时数据库系统完成的总体功能:所述总体功能包括实例注册管理、测点管理、客户端数据缓存与重发、日志记录、数据插入与修改、标签点导入和导出、历史数据导入和导出、数据查询和数值统计;
2)规划服务端的功能:所述服务端的功能包括授权检测、数据库注册管理、连接管理、数据处理、全局ID分配策略、测点和实例同步、测点负载均衡以及将文件全映射到内存;
3)设计和实现服务端:服务端利用工作线程池进行数据处理,并在启动时将服务端文件全映射到内存,文件中储存了组、枚举集、点信息以保证了各个数据库实例端测点数据的唯一性和一致性,根据由服务端分配给每个实例的实例ID和点在实例上的局部ID组合形成点全局ID,最后利用负载均衡算法将用户要建立的点信息分配到相应的数据库实例上;
4)设计和实现实时数据库的应用:各个实时数据库向服务端发送注册请求并发送自身实例的版本信息,并在注册成功后接受客户端和服务端发送过来的数据包请求,实现数据插入与修改、标签点导入和导出、历史数据导入和导出、数据查询和数值统计,并一直和服务端保持通信,实时将自身状态发送给服务端;
5)规划客户端完成的功能:所述客户端用于对与所有连接相关、点相关、数据提交相关、数据查询相关的接口进行封装以实现所有客户端对数据库的访问透明化,并完成数据的接入和访问功能;
6)设计和实现客户端:客户端采用缓存、同步线程以及换入换出算法,客户端存在一个同步线程,定期与服务端进行通信从而获知实例表和点表是否有更新,若有更新则利用换入换出算法更新缓存中的实例和点信息;
7)服务端、实例端和客户端三者之间两两进行通信,其中点、组、枚举集相关请求需要首先发送给服务端,再由服务端给实时数据库发送请求,最终将结果一一返回返回至客户端,而对于数据相关的请求则直接与该点所在的实时数据库进行通信。
[0019]图2给出了本发明系统实际部署的一个实例,其中双向箭头表示有数据的流入和流出。图中装置1-10的说明如下:
I为分布式系统中服务端,即安装dispatcher服务端。用来处理实时数据库注册请求,并对多个实时库进行管理,同时处理API端过来的请求如点的负载均衡等。
[0020]2、3均为实时数据库服务器,用来运行数据库服务并且处理dispatcher服务端和客户端过来的请求,同时存储大量数据。
[0021]省略号4表示可以有多个像2或3这样的实时数据库,当然可以分别是不同版本的实时数据库。
[0022]5、6、7、8均表示不同的客户端,执行相关点、数据操作如加、删点,数据提交以及数据查询以完成数据接入和数据访问等功能,同时多个客户端可以并发操作。
[0023]9、10均为路由器,包含9、10的云图标表示由路由器桥接而成的局域网。
[0024]本发明系统在实际运用中的具体部署过程如下:
I)首先按照部署架构图以及现场的实施要求将分布式实时数据库系统部署在相应的服务器上。当然,服务端、各个实例端以及客户端可以分布在不同的服务器上。
[0025]2)对各个服务器环境进行配置,如安装的电脑的.Net版本在2.0以上并且有VC的运行环境。若安装主机位Windows 7或Windows Server 2008系统,必须将UAC关闭并重启电脑使之生效。
[0026]3)启动分布式实时数据库系统:第一步,对服务端配置文件进行适当的修改;第二步,启动服务端;第三步,启动相应的数据库实例,每个数据库实例都要到服务端进行注册,只有注册成功的实例才能正常工作;原来注册过停掉的实例当然可以继续进行启动并注册。服务端能够随时接受新的数据库实例前来注册。
[0027]4)根据相应的数据源建立相应的点信息,根据现场反馈可知,数据源系统可分为:地调SCADA、县调SCADA、电能量、用电信息采集、输变电在线监测、配调SCADA和其它系统等7大类。用户通过调用相应的客户端接口进行建点,系统服务端dispatcher根据负载均衡算法将点存储到相应的实时数据库中。
[0028]5)通过数据接入接口从数据源将数据接入到分布式实时数据库的接口即客户端接口,最终接入到分布式实时数据库系统中,数据最终也存储在实时数据库端,所有的点和数据呈分布式部署。
[0029]6)系统在运行过程中可以动态添加和停止实时数据库实例以满足日益增长的测点需求。
[0030]7)最终,用户通过外部系统访问分布式实时数据库所使用的接口进而访问具体的数据而无需关注访问的数据是在什么位置或在哪个具体的实例中,这样便实现了分布式实时数据库系统访问的透明化。
[0031]虽然本发明已以较佳实施例公开如上,但实施例并不是用来限定本发明的。在不脱离本发明之精神和范围内,所做的任何等效变化或润饰,同样属于本发明之保护范围。因此本发明的保护范围应当以本申请的权利要求所界定的内容为标准。
【权利要求】
1.一种适用于电力系统的分布式实时数据库管理系统,其特征在于,包括服务端、实时数据库和客户端,其中: 所述服务端,用于完成相关的配置信息、配置系统运行需要的系统资源以及对实例和点进行管理,通过线程池、文件全映射、负载均衡对前来注册的实例、每个实例上的点以及客户端的连接进行管理,利用实例号和全局ID来实现实例的分布式机制以实现用户对实例的访问透明化; 所述各个实时数据库,用于向服务端发送注册请求,并在注册成功后接受客户端和服务端发送过来的数据包请求,所述数据包请求包括数据提交和查询; 所述客户端,用于对与所有点相关、数据提交相关、连接相关、数据查询相关的接口进行封装以实现所有客户端对数据库的访问透明化;客户端采用客户端缓存、同步机制以及换入换出算法,将客户端存在一个同步线程,定期与服务端进行通信从而获知实例表和点表是否有更新,若有更新则利用换入换出算法更新缓存中的实例和点信息; 所述服务端、实例端和客户端三者之间两两进行通信,客户端首先将点、组、枚举集相关请求发送给服务端,再由服务端给实时数据库发送请求,最终将结果一一返回至客户端,而对于数据相关的请求则由客户端直接与该点所在的实时数据库进行通信。
2.根据权利要求1所述的适用于电力系统的分布式实时数据库管理系统,其特征在于,所述服务端保存着每个数据库实例的相关信息且各个实例信息之间相互独立、互不干扰。
3.根据权利要求1或2所述的适用于电力系统的分布式实时数据库管理系统,其特征在于,分布式实时数据库管理系统支持不同版本的实时数据库,能够对不同版本的实时数据库进行操作。
4.根据权利要求1或2所述的适用于电力系统的分布式实时数据库管理系统,其特征在于,分布式实时数据库管理系统支持两种访问模式,一个模式是通过数据库本身的物理地址访问,另一个模式是通过直接规范的分布式接口访问。
5.一种适用于电力系统的分布式实时数据库管理系统的实现方法,其特征在于,包括如下步骤: O规划分布式实时数据库系统完成的总体功能:所述总体功能包括实例注册管理、测点管理、客户端数据缓存与重发、日志记录、数据插入与修改、标签点导入和导出、历史数据导入和导出、数据查询和数值统计; 2)规划服务端的功能:所述服务端的功能包括授权检测、数据库注册管理、连接管理、数据处理、全局ID分配策略、测点和实例同步、测点负载均衡以及将文件全映射到内存; 3)设计和实现服务端:服务端利用工作线程池进行数据处理,并在启动时将服务端文件全映射到内存,文件中储存了组、枚举集、点信息以保证了各个数据库实例端测点数据的唯一性和一致性,根据由服务端分配给每个实例的实例ID和点在实例上的局部ID组合形成点全局ID,最后利用负载均衡算法将用户要建立的点信息分配到相应的数据库实例上; 4)设计和实现实时数据库的应用:各个实时数据库向服务端发送注册请求并发送自身实例的版本信息,并在注册成功后接受客户端和服务端发送过来的数据包请求,实现数据插入与修改、标签点导入和导出、历史数据导入和导出、数据查询和数值统计,并一直和服务端保持通信,实时将自身状态发送 给服务端;5)规划客户端完成的功能:所述客户端用于对与所有连接相关、点相关、数据提交相关、数据查询相关的接口进行封装以实现所有客户端对数据库的访问透明化,并完成数据的接入和访问功能; 6)设计和实现客户端:客户端采用缓存、同步线程以及换入换出算法,客户端存在一个同步线程,定期与服务端进行通信从而获知实例表和点表是否有更新,若有更新则利用换入换出算法更新缓存中的实例和点信息; 7)服务端、实例端和客户端三者之间两两进行通信,其中点、组、枚举集相关请求需要首先发送给服务端,再由服务端给实时数据库发送请求,最终将结果一一返回返回至客户端,而对于数据 相关的请求则直接与该点所在的实时数据库进行通信。
【文档编号】G06Q50/06GK103886104SQ201410144241
【公开日】2014年6月25日 申请日期:2014年4月11日 优先权日:2014年4月11日
【发明者】朱月梅, 郑晓露, 陈亮, 朱恒, 顾昊 申请人:江苏瑞中数据股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1