一种基于数据标签的分布式实时数据传输方法

文档序号:10691166阅读:281来源:国知局
一种基于数据标签的分布式实时数据传输方法
【专利摘要】本发明公开了一种基于数据标签的分布式实时数据传输方法:步骤1、对实时数据系统内可访问的数据点进行命名形成数据标签,命名采用如下格式来唯一地进行标识;步骤2、服务提供者将其提供的服务数据命令接口通过注册路由模块注册到系统中,系统根据注册数据的本地/全局属性选择性的同步到其它机器中;步骤3、注册路由模块收集所有数据形成一个数据表;步骤4、当系统中有数据请求时,注册路由模块通过解析分隔符,获得每一个层次的命名串,由最顶层的命名串开始,使用查表法获得每个层次的地址,最终获得目标数据的绝对地址。可以实现跨网络访问数据,效率非常高,保证了分布式系统中实时数据传输的安全稳定及有效性。
【专利说明】
一种基于数据标签的分布式实时数据传输方法
技术领域
[0001 ]本发明涉及一种基于数据标签的分布式实时数据传输方法。
【背景技术】
[0002]随着计算机科学和自动化技术的迅速发展,在自动化控制的各个领域,监控系统已经从传统的小型桌面系统向现代的分布式复杂系统发展,其控制的地域范围,流程规模等都迅速增加,集各子系统功能于一身的综合监控系统逐渐成为新的发展趋势。
[0003]DPU(Distributed Processing Unit),即分散处理单元,常应用于分布式控制系统中,它既可实现离散梯形逻辑控制,也能实现连续调节控制,是完成控制逻辑、实现各种控制功能的心脏。随着分布式系统的大力发展,监控系统与DHJ及各种保护设备间的实时数据通信要求越来越高,数据吞吐量也越来越大。因此,对分布式系统之间以及系统内部的数据通信提出了更高的要求,要求数据通信应当兼具实时、高效、稳定、健壮等特点。
[0004]而现有的分布式系统中,监控系统与DPU或保护设备之间的数据传输多采用通用或专用的通信协议,比如,Siemens公司系统采用是的国际标准协议ProfiNet。为增强开放性互联,多数厂家的系统都支持了 Modbus/TCP等通用协议,也有很多系统采用自己开发的专用协议,协议不公开。这些通信方法路由都受到很大限制,如果是以太网通信,数据只能在同一网段的设备间进行,路由选择由交换机完成,严重制约了数据通信的实时性和高效性。

【发明内容】

[0005]针对上述问题,本发明提供一种基于数据标签的分布式实时数据传输方法,可以实现跨网络访问数据,效率非常高,保证了分布式系统中实时数据传输的安全稳定及有效性。
[0006]为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
[0007]—种基于数据标签的分布式实时数据传输方法,其特征在于,包括如下步骤:
[0008]步骤1、对实时数据系统内可访问的数据点进行命名形成数据标签,命名采用如下格式来唯一地进行标识:
[0009]服务名称.一级成员序号.二级成员或属性序号.三级成员或属性序号.....N级成员或属性序号;
[0010]其中,服务的逻辑成员间最大可N级嵌套,为分隔符;
[0011]步骤2、服务提供者将其提供的服务数据命令接口通过注册路由模块注册到系统中,系统根据注册数据的本地/全局属性选择性的同步到其它机器中;
[0012]步骤3、注册路由模块收集所有数据形成一个数据表,该数据表存储了所有可访问数据的服务、成员、属性的名字串与其对象地址之间的链接关系;
[0013]步骤4、当系统中有数据请求时,注册路由模块通过解析分隔符,获得每一个层次的命名串,由最顶层的命名串开始,使用查表法获得每个层次的地址,最终获得目标数据的绝对地址。
[0014]优选,各种通信应用程序可以位置透明地访问总线上的相关数据,具体步骤如下:
[0015]A)传输模块根据注册路由模块提供的路由信息,把通信应用程序的数据请求发送至服务提供者侧的传输模块进程;
[0016]B)服务提供者侧接收到数据请求后,服务提供者侧传输模块进程直接把解码的用户请求信息报文发送给目标数据服务的提供者,并将自动扫描相应服务对象内存以获取实时值;
[0017]C)完成数据更新后,最新的数据将沿着请求路径,原路反射回请求数据的客户端应用程序,并通过触发客户端应用程序的回调函数来获得返回的结果及状态信息。
[0018]优选,步骤4中,对于本地数据交互,各进程间调用相应的接口函数通过本地IPC机制进行数据收发。
[0019]本发明的有益效果是:
[0020](I)数据的访问基于标签,服务成员可以一级一级的延伸下去,形成树状结构。数据标签采用命名字符串设计,服务中逻辑成员之间的嵌套关系使用多级层次来表达,每一层次使用独立命名,最终通过分隔符连接来标识具体数据。数据的访问基于标签,配合实时的路由选择,利用命名方式,可以直观的了解具体数据的意义。
[0021](2)当系统中有数据请求时,注册路由模块通过解析分隔符,获得每一个层次的命名串,由最顶层的命名串开始,使用查表法获得每个层次的地址,最终获得目标数据的绝对地址,进而通过实时路由快速高效实现分布式系统实时数据的访问,效率非常高。
[0022](3)保证了分布式系统中监控系统与DPU及各种监控设备快速稳定的实时数据通信,程序实现简单,功能全面,运行稳定。
【附图说明】
[0023]图1是本发明服务层级嵌套的示意图;
[0024]图2是本发明模块之间的运行原理关系图;
[0025]图3是本发明路由机制的流程图。
【具体实施方式】
[0026]下面结合附图和具体的实施例对本发明技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0027]—种基于数据标签的分布式实时数据传输方法,包括如下步骤:
[0028]步骤1、对实时数据系统内可访问的数据点进行命名形成数据标签,命名采用如下格式来唯一地进行标识:
[0029]服务名称.一级成员序号.二级成员或属性序号.三级成员或属性序号.....N级成员或属性序号;
[0030]其中,服务的逻辑成员间最大可N级嵌套,为分隔符。
[0031]在实时数据系统中,最基本服务提供者被称为服务,每个服务还可以包含多个逻辑成员,成员仅是一个具体服务中所包含的能被用户所访问的一个名字,即一个逻辑上的概念。一个成员既可以是一个数据也可以是一个命令,其具体意义由服务对象进行定义,这些逻辑成员还可以嵌套包含子成员(按照面向对象的方法可以理解成对象包含子对象),一级一级的延伸下去,形成树状结构,理论上成员间可以无限嵌套,实际应用中为了数据访问的效率规定成员间最大可10级嵌套。每个成员可包含若干的数据,我们称之为属性。服务层级嵌套如图1所示,其中,每个服务可以包括若干个一级成员但不可以包括属性,只有成员才可能包括属性,比如,一级成员可以包括多个二级成员和多个属性,而每个二级成员又可以一级一级的延伸下去,而属性却没有下一级。
[0032]数据标签采用命名字符串设计,服务中逻辑成员之间的嵌套关系使用多级层次来表达,每一层次使用独立命名,最终通过分隔符连接来标识具体数据。利用命名方式,可以直观的了解具体数据的意义,比如,以图1为例:
[0033]服务.一级成员I.二级成员I.二级成员I属性I ;
[0034]表示该服务下的一级成员I下面带有二级成员I,二级成员I有属性I可供应用程序访问。
[0035]步骤2、服务提供者将其提供的服务数据命令接口通过注册路由模块注册到系统中,系统根据注册数据的本地/全局属性选择性的同步到其它机器中。
[0036]如图2所示,分布式实时数据传输方法其运行依赖于2个模块:注册路由模块和传输模块,其中注册路由模块通过网络通信收集所有数据,进行数据名字注册,形成一个数据表,并为其它应用程序提供数据的查询和路由功能。服务提供者将其提供的服务数据命令接口通过注册路由模块注册到系统中,系统根据注册数据的本地/全局属性选择性的同步到其它机器中,以便客户端或(数据访问者)对其他数据服务提供者发布的各种服务数据成员执行读、写及数据订阅等操作,实时地访问系统中的数据。注册路由模块为系统中的所有数据访问者提供服务名字注册、查询及路由功能。
[0037]步骤3、注册路由模块收集所有数据形成一个数据表,该数据表存储了所有可访问数据的服务、成员、属性的名字串与其对象地址之间的链接关系;
[0038]步骤4、当系统中有数据请求时,注册路由模块通过解析分隔符,获得每一个层次的命名串,由最顶层的命名串开始,使用查表法获得每个层次的地址,最终获得目标数据的绝对地址,然后由通信模块发出数据请求到对应的地址去查询数据,可以快速实现网络数据访问,效率非常高。
[0039]各种通信应用程序可以位置透明地访问总线上的相关数据进而实现数据耦合下的信息交互,具体步骤如下:
[0040]A)传输模块根据注册路由模块提供的路由信息,把通信应用程序的数据请求发送至服务提供者侧的传输模块进程;
[0041]B)服务提供者侧接收到数据请求后,服务提供者侧传输模块进程直接把解码的用户请求信息报文发送给目标数据服务的提供者,并将自动扫描相应服务对象内存以获取实时值;
[0042]C)完成数据更新后,最新的数据将沿着请求路径,原路反射回请求数据的客户端应用程序,并通过触发客户端应用程序的回调函数来获得返回的结果及状态信息。
[0043]而对于本地数据交互则可以绕过传输模块环节,各进程间调用相应的接口函数通过本地IPC机制进行数据收发,从而具有相较于网络通信连接更好的实时性能。
[0044]数据质量(Quality)属性是服务于路由模块的一个重要实时属性,其取值是相应服务有效性(Avai Iabi Iity)的一种直接的度量。Quality数值较大(如取典型值80)表示该服务工作状况正常,而Quality数值较小(如取典型值40)则表示相应的服务工作发生异常。
[0045]如图3所示,当系统中出现同名服务的多个实例时,路由能够自动将用户请求发送至Quality数值最高的服务提供者,即当系统中出现同名的数据服务时,则将请求路由给具有最高质量属性的服务提供者,该机制可直接被用来实现诸如动态负载均衡、主备切换、多机冗余等可靠性保障机制。而如果冗余的数据服务彼此的质量属性一致,则将请求路由给位于本地的服务提供者。而如果冗余的数据服务均位于本机,则将请求路由给最新创建的服务提供者。
[0046]上述三级规则的应用,可以充分保证网络中冗余的数据服务在每个时刻仅有一个实例保持活跃,并对整网的客户提供唯一的服务。
[0047]本发明的有益效果是:
[0048](I)数据的访问基于标签,服务成员可以一级一级的延伸下去,形成树状结构。数据标签采用命名字符串设计,服务中逻辑成员之间的嵌套关系使用多级层次来表达,每一层次使用独立命名,最终通过分隔符连接来标识具体数据。数据的访问基于标签,配合实时的路由选择,利用命名方式,可以直观的了解具体数据的意义。
[0049](2)当系统中有数据请求时,注册路由模块通过解析分隔符,获得每一个层次的命名串,由最顶层的命名串开始,使用查表法获得每个层次的地址,最终获得目标数据的绝对地址,进而通过实时路由快速高效实现分布式系统实时数据的访问,如果采用在每一级对象上使用哈希表来索引下一级子对象的话,则单个层次的时间复杂度为0(1),给定常数个对象层次时,时间复杂度仍旧为0(1),寻址的效率很高。
[0050](3)保证了分布式系统中监控系统与DPU及各种监控设备快速稳定的实时数据通信,程序实现简单,功能全面,运行稳定。
[0051]以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或者等效流程变换,或者直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1.一种基于数据标签的分布式实时数据传输方法,其特征在于,包括如下步骤: 步骤1、对实时数据系统内可访问的数据点进行命名形成数据标签,命名采用如下格式来唯一地进行标识: 服务名称.一级成员序号.二级成员或属性序号.三级成员或属性序号.....N级成员或属性序号; 其中,服务的逻辑成员间最大可N级嵌套,为分隔符; 步骤2、服务提供者将其提供的服务数据命令接口通过注册路由模块注册到系统中,系统根据注册数据的本地/全局属性选择性的同步到其它机器中; 步骤3、注册路由模块收集所有数据形成一个数据表,其中数据表存储了所有可访问数据的服务、成员、属性的名字串与其对象地址之间的链接关系; 步骤4、当系统中有数据请求时,注册路由模块通过解析分隔符,获得每一个层次的命名串,由最顶层的命名串开始,使用查表法获得每个层次的地址,最终获得目标数据的绝对地址。2.根据权利要求1所述的一种基于数据标签的分布式实时数据传输方法,其特征在于,各种通信应用程序可以位置透明地访问总线上的相关数据,具体步骤如下: A)传输模块根据注册路由模块提供的路由信息,把通信应用程序的数据请求发送至服务提供者侧的传输模块进程; B)服务提供者侧接收到数据请求后,服务提供者侧传输模块进程直接把解码的用户请求信息报文发送给目标数据服务的提供者,并将自动扫描相应服务对象内存以获取实时值; C)完成数据更新后,最新的数据将沿着请求路径,原路反射回请求数据的客户端应用程序,并通过触发客户端应用程序的回调函数来获得返回的结果及状态信息。3.根据权利要求1所述的一种基于数据标签的分布式实时数据传输方法,其特征在于,步骤4中,对于本地数据交互,各进程间调用相应的接口函数通过本地IPC机制进行数据收发。4.根据权利要求1所述的一种基于数据标签的分布式实时数据传输方法,其特征在于,当系统中出现同名的数据服务时,则将请求路由给具有最高质量属性的服务提供者。5.根据权利要求5所述的一种基于数据标签的分布式实时数据传输方法,其特征在于,如果冗余的数据服务彼此的质量属性一致,则将请求路由给位于本地的服务提供者。6.根据权利要求6所述的一种基于数据标签的分布式实时数据传输方法,其特征在于,如果冗余的数据服务均位于本机,则将请求路由给最新创建的服务提供者。
【文档编号】H04L29/08GK106060125SQ201610347816
【公开日】2016年10月26日
【申请日】2016年5月24日
【发明人】鹿海霞, 金舒, 董胜刚
【申请人】南京国电南自美卓控制系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1