开放式实时数据库跨进程访问方法技术

技术编号:7025746 阅读:333 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出的开放式实时数据库跨进程访问技术采用基于POSIXIPC机制实现的微内核式架构,其所依附的实时数据库系统采用通用的独立于具体问题领域的纯面向对象式的数据描述方式。开放式实时数据库跨进程访问技术的程序实现基于申请人先期研发的高性能面向对象实时数据库ChRDB。在该技术的支持下,ChRDB实时数据库系统能够向系统中运行的各用户进程提供通用、开放的实时数据访问服务(DDL、DML),并支持SCADA系统中的各功能模块、用户进程高效地修改和访问内存实时数据,从而实现各种监控信息交互及逻辑联动。

【技术实现步骤摘要】

数据监控与采集系统(SCADA)是构建众多供电、配网自动化应用系统的基础,作为SCADA系统功能的核心组成部分,即基于内存的进程间实时数据交换的中介,实时数据库子系统的性能直接决定了整个SCADA系统的综合效能。随着自动化应用的日趋复杂,越来越多的网络化智能设备、自动化子系统被接入SCADA系统,直接对其所采用的实时数据库系统的配置灵活性、可用性、容量、数据吞吐率都提出了更高的要求。
技术介绍
为了实现高效地对于实时采集数据进行保存、计算、处理和分发,SCADA系统通常都提供一个基于内存的实时数据库子系统。通讯规约模块(进程/线程)将从受控系统、 设备采集的实时数据写入内存实时数据库,系统中的其他功能模块根据需求获取相应的数据及变化信息并执行对应的操作,在必要时还可以将结果写入实时数据库,供其他功能模块访问,从而实现以内存实时数据库为中介的SCADA功能模块/进程间数据交换。按照数据的组织方式,实时数据库系统通常可以分为三类(1)专用型实时数据库,即内存中的所有实时数据均采用领域相关的数据结构进行保存,该类型的实时数据库对于特定领域问题具有存储利用率较高、性能较好的特点,但通常因缺乏通用性,仅能支持领域内应用;( 受限的面向对象实时数据库,以部分或全部面向对象的方式,按照适用领域的需求定义内存中的实时数据,该类型的实时数据库对于需求类似的自动化应用具有一定的可扩展性,但通常仍然不适用于其领域外的自动化监控应用;C3)通用型面向对象实时数据库,以面向对象的方式定义和组织内存中的实时数据,同时提供开放式的数据定义和访问机制,使用此种设计的实时数据库系统具有较好的通用性和功能可扩展性,可以支持各种自动化监控应用。按照SCADA系统中具有数据耦合的功能模块间的通信方式来看,实时数据库系统通常可以分为如下两类(1)单体(Monolithic)式系统,即SCADA系统的各功能模块如通讯规约、报警、计算、HMI等均整合为一个单一进程,各功能模块间均为一对一的直接交互, 采用此种设计的SCADA系统中的实时数据库与其他功能模块高度耦合,虽性能相对较高但灵活性极差,系统的功能扩展也受限;(2)基于IPCanter Process Communication,跨进程通讯)机制的微内核式系统,在采用此种设计的SCADA系统中,实时数据库作为一个独立进程/线程运行并向其他功能模块提供数据服务,各功能模块通过实时数据库这一中介交换数据从而实现各种实时监控及系统间联动功能,在该设计下,各功能模块通过实时数据库交换数据而不必直接耦合,有效地提高了系统的通用性和可扩展性。网络中间件技术如 DC0M/C0RBA也被看作一种进程间(宿主机器透明)通信机制,不再单独进行分类。传统SCADA系统的实时数据库多采用领域专用的内存数据组织方式,以存储优化及提高访问性能为主要设计目标,较老式的系统还采用单进程+运行在同一进程空间的功能模块DLL的设计单体(Monolithic)式系统设计,系统的可扩展性及对不同应用需求的适应性都较差。设计上的缺陷带来的各SCADA功能模块间的逻辑、数据的深度耦合也直接导致了系统可靠性的下降。面对自动化监控系统日益复杂的功能需求及各种跨专业自动化子系统的接入,灵活性、开放性及可扩展性正成为新一代SCADA系统的设计重心。
技术实现思路
针对现有技术中存在的不足,本专利技术提出的开放式实时数据库跨进程访问技术采用基于POSIX IPC机制实现的微内核式架构,其所依附的实时数据库系统采用通用的独立于具体问题领域的纯面向对象式的数据描述方式。开放式实时数据库跨进程访问技术的程序实现基于申请人先期研发的高性能面向对象实时数据库ChRDB。在该技术的支持下, ChRDB实时数据库系统能够向系统中运行的各用户进程提供通用、开放的实时数据访问服务(DDL、DML),并支持SCADA系统中的各功能模块、用户进程高效地修改和访问内存实时数据,从而实现各种监控信息交互及逻辑联动。本专利技术的技术方案为一种,实时数据库由数据总线、数据管理层与接口层三层构成,数据总线、数据管理层分别负责实时数据库间的网络实时数据同步及对面向对象的内存数据池进行管理,接口层为实时数据库与各SCADA应用间的接口,为依靠实时数据库交换数据的各种应用模块提供开放式的跨进程实时库访问支持,其特征在于,实时数据库的连接与诊断基于实时数据库数据运行的各应用模块在初始化阶段先与本地实时数据库系统建立连接,并确认连接状态有效,随后才正常地对实时数据库进行各项操作和访问;实时数据库应用服务/进程在运行过程中的空闲阶段检测实时数据库连接状态,并对各种异常情况进行处理;数据定义语言在面向对象的数据表示方式下,实时数据库跨进程访问接口提供一组操作用来对属性定义进行操作;数据操作语言成功建立连接并以具有相应权限的用户帐户登录实时数据库系统后, 应用进程通过执行以下操作对实时数据库中的数据或数据对象的有关属性进行访问和操作;进程间交互通过实时数据库跨进程访问接口与实时数据库进行交互的客户进程状态转移;实时数据库跨进程访问接口通过内置的高性能安全加锁机制确保大量客户并发访问时实时数据库时的数据完整性;针对复杂闭锁逻辑的实现,实时数据库跨进程访问接口提供数据对象加/解锁机制; 开放式实时数据库跨进程访问采用POSix标准提供的IPC机制来实现实时数据库服务进程与各依赖实时库进行数据交换的SCADA应用进程间的信号通知、等待及数据传送。本专利技术的有益效果将开放式跨进程访问技术与内存实时数据库系统相结合,可以极大地提高实时数据库系统的通用性,各依赖于内存实时数据的SCADA应用如通讯规约程序、报警系统、历史数据记录、HMI画面显示及刷新、计算/联动等模块仅需各自与实时数据库进行交互,即可在应用间实现各种复杂的数据传递及交换,从而有效地对整个SCADA 系统各项功能进行解耦,在简化设计的同时也极大地提高了整个系统设计的可靠性。作为对传统的面向问题域专用型封闭式实时数据库系统的重大改进,支持开放式跨进程访问技术的实时数据库系统具有更好的通用性,该技术通过提供通用、统一的操作接口支持面向对象化的数据定义、创建及访问,在数据层面对不同行业应用的多变需求提供直接支持,并为各种SCADA应用功能的开发提供了完善的数据支持,各种二次系统开发功能及第三方功能模块均可以通过调用该接口无缝地接入SCADA系统,并与运行中的各既有SCADA应用进行数据交换及逻辑联动。附图说明图1为本专利技术实施例的实时数据库架构图。图2为本专利技术实施例的客户进程的状态转移示意图。图3为本专利技术实施例的并发操作的串行化示意图。图4为本专利技术实施例的安全加/解锁机制示意图。图5为本专利技术实施例的通知消息的发送示意图。具体实施例方式以下结合附图和具体实施例对本专利技术创造作进一步详细说明。采用开放式实时数据库跨进程访问技术的实时数据库系统的参考架构如图1所示一个内存实时数据库系统实例由数据总线、数据管理层与接口层(实时数据库内核) 三层构成。数据总线、数据管理层分别负责实时数据库实例间的网络实时数据同步及对面向对象的内存数据池进行管理,而接口层(图1中的部分)为实时数据库与各SCADA应用间的接口,为依靠实时数据库交换数据的各种应用模块提供开放式本文档来自技高网
...

【技术保护点】
1.一种开放式实时数据库跨进程访问方法,实时数据库由数据总线、数据管理层与接口层三层构成,数据总线、数据管理层分别负责实时数据库间的网络实时数据同步及对面向对象的内存数据池进行管理,接口层为实时数据库与各SCADA应用间的接口,为依靠实时数据库交换数据的各种应用模块提供开放式的跨进程实时库访问支持,其特征在于,实时数据库的连接与诊断:基于实时数据库数据运行的各应用模块在初始化阶段先与本地实时数据库系统建立连接,并确认连接状态有效,随后才正常地对实时数据库进行各项操作和访问;实时数据库应用服务/进程在运行过程中的空闲阶段检测实时数据库连接状态,并对各种异常情况进行处理;数据定义语言:在面向对象的数据表示方式下,实时数据库跨进程访问接口提供一组操作用来对属性定义进行操作;数据操作语言:成功建立连接并以具有相应权限的用户帐户登录实时数据库系统后,应用进程通过执行以下操作对实时数据库中的数据或数据对象的有关属性进行访问和操作;进程间交互:通过实时数据库跨进程访问接口与实时数据库进行交互的客户进程状态转移;开放式实时数据库跨进程访问采用POSIX标准提供的IPC机制来实现实时数据库服务进程与各依赖实时库进行数据交换的SCADA应用进程间的信号通知、等待及数据传送。...

【技术特征摘要】

【专利技术属性】
技术研发人员:金舒包德梅贾志敏
申请(专利权)人:南京国电南自轨道交通工程有限公司
类型:发明
国别省市:84

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1