数据采集系统的协议转换算法的制作方法

文档序号:15979909发布日期:2018-11-17 00:12阅读:950来源:国知局

本发明涉及通用化协议装换技术领域,特别是涉及数据采集系统的协议转换算法。

背景技术

数据采集系统研制目标是完成不同通信协议之间的转化,增强设备对外通讯功能的适应性,实现设备和各控制中心系统间的互联互通,越来越多的智能设备可以通过互联网实现相互直接的连接“交流”,但是领域设备之间仍没有统一化的标准语言,领域设备由于种类、品牌、适用区域的不同,彼此之间的通讯语言千差万别,独立的个体之间交流方式仍然非常单一,非常不利于物联信息规模的扩大和拓展,因此,本方案设计了一种通用化协议转换算法,实现多种协议的相互转换,以满足系统通用性、适用性和可拓展性要求。

所以本发明提供一种新的方案来解决此问题。



技术实现要素:

针对上述情况,为克服现有技术之缺陷,本发明之目的在于提供数据采集系统的协议转换算法。

其解决的技术方案是:数据采集系统的协议转换算法,包括如下步骤:

1)制定通信协议转换模型;

2)将原协议、目标协议、字段转换匹配信息存储到数据库中;

3)依据字段转换匹配信息,直接从源数据包的相应位置读取数据,转换成目标字段数据,逐字段顺序合成目标数据包;

4)当有新的协议转换需求,在软件配置界面中将新协议和字段转换匹配信息添加到数据库中,无须修改可执行程序,就可满足新的转换需求。

所述步骤1)包括如下步骤:

步骤2.1)定义:符号“→”为转换运算符,符号“→”为不可转换运算符,符号“||”为组合运算符,令ppai是pa的任一个独立协议簇,ppbj是pb的任一个独立协议簇,所述协议簇包括报头mh,数据域data和报尾mt,则协议簇pp:pp=mh||data||mt;

定义每个独立使用的通信协议p为一个协议簇pp,领域任一设备的通信协议p可表示为:p={pp1,pp2,…,ppn},其中ppj={pj1,pj2,…,pjm},且存在则协议簇pp具有独特性,报头mh存在一个固定位置的字段,用于区分协议簇pp中的每个元素pj,称为数据标志位q;

由于mh、data和mt是由多个字段d组合而成,且都与数据标志位q相关,是q的函数,则:

由上式中确定,在协议簇pp中,对q的每个取值,必有一个pj与其对应;

步骤2.2)由于存在一致的数据类是相关的两个协议簇pp相互转换的基础,且协议簇pp是数据标志位q的函数,令q是数据标志位q的取值集合,因此有:

步骤2.3)针对q∈qai且q∈qbj,有:

步骤2.4)因为mt常与mh||data组成的字符串密切相关,随mh||data组成的字符串值变化而变化,在报文转换过程中相互独立,所以:

步骤2.5)由于字段是通信协议的最小单元,因此有:

从上式可以看出,只要实现改变隶属协议族a的字段在报文中的位置,即可实现pa→pb;

步骤2.6)考虑到实际中字段有无情况和多元转换,字段转换有以下几种:

因此,在协议转换时,对任意db,可通过上式中的三种方式获得。

所述步骤3)包括如下步骤:

3.1)从数据库中读取源系统生成的报文数据信息;

3.2)依据报文数据遵循的源系统通信协议簇,对其进行检查;

3.3)若报文出现错误,则结束本次处理流程;若报文正确,则提取报头和数据;

3.4)查询报文数据对应的协议是否需要转换;

3.5)若不需要转换,则结束本次处理流程;若需要转换,则依据协议转换模型,逐字段生成对应的目标系统报文数据的报头和数据域;

3.6)依据目标系统协议添加报尾;

3.7)向目标系统发送报文数据信息,完成协议转换。

由于以上技术方案的采用,本发明与现有技术相比具有如下优点:本发明通过制定通信协议转换模型来实现通用化协议转换算法,将源协议、目标协议、字段转换匹配信息存储到数据库中,在通信数据转换时,依据字段转换匹配信息,直接从源数据包的相应位置读取数据,转换成目标字段数据,逐字段顺序合成目标数据包,当有新的协议转换需求,只需在软件配置界面中,将新协议和字段转换匹配信息添加到数据库中,无须修改可执行程序,就可满足新的转换需求,从而实现协议的转换实现多种协议的相互转换,以满足系统通用性、适用性和可拓展性要求。

附图说明

图1为本发明数据采集系统的协议转换算法原理图。

图2为本发明数据采集系统的协议转换算法流程图。

具体实施方式

有关本发明的前述及其他技术内容、特点与功效,在以下配合参考附图1至附图2对实施例的详细说明中,将可清楚的呈现。以下实施例中所提到的结构内容,均是以说明书附图为参考。

如图1所示,数据采集系统的协议转换算法,包括如下步骤:

1)制定通信协议转换模型;

2)将原协议、目标协议、字段转换匹配信息存储到数据库中;

3)依据字段转换匹配信息,直接从源数据包的相应位置读取数据,转换成目标字段数据,逐字段顺序合成目标数据包;

4)当有新的协议转换需求,在软件配置界面中将新协议和字段转换匹配信息添加到数据库中,无须修改可执行程序,就可满足新的转换需求。

所述步骤1)包括如下步骤:

步骤2.1)定义:符号“→”为转换运算符,符号“→”为不可转换运算符,符号“||”为组合运算符,令ppai是pa的任一个独立协议簇,ppbj是pb的任一个独立协议簇,所述协议簇包括报头mh,数据域data和报尾mt,则协议簇pp:pp=mh||data||mt;

由于在通信网络中,所有的数据报文都可用一个字符串d来表示,字符串中特定位置的具备特定含义的一个或多个连续位,或连续字节,常用字段d表示,如任务标志、俯仰,开关等。那么,领域的任一设备的对外交互报文d可看作是由多个字段d顺序组合而成。定义交互报文d中字段d的排列顺序的约定为通信协议p,本发明中通信协议p仅限网络传输的数据格式定义,不包括信息传输的同步方式,传送速度,传送步骤等规定。

由于通信协议p是领域设备系统报文d的规律性定义,因此p是一个有限元集合p={p1,p2,…,pn},其中pi≠pj;那么所有的报文d,d∈d,都是p内某个元素p的实例,都可根据p的定义来理解数据d的内容。

领域的设备存在支持多种协议的实际情况,因此,定义每个独立使用的通信协议p为一个协议簇pp,领域任一设备的通信协议p可表示为:p={pp1,pp2,…,ppn},其中ppj={pj1,pj2,…,pjm},且存在则协议簇pp具有独特性,报头mh存在一个固定位置的字段,用于区分协议簇pp中的每个元素pj,称为数据标志位q。

在通常情况下,协议簇pp由报头mh,数据域data和报尾mt三部分组成,或者直接由报头mh和数据域data两部分组成;且在报头存在一个固定位置的字段,用于区分协议簇pp中的每个pj,称为数据标志位q,或者依据数据域长度区分协议簇pp中的每个pj。特殊情况下,领域设备仅单向交互某一类数据,没有其它类型的数据,或根据数据域长度区分判断,缺少报头、报尾定义,针对此种情况,可添加数据标志位充作报头,报尾为无,用于改善协议簇pp以方便理解和程序处理。

由于mh、data和mt是由多个字段d组合而成,且都与数据标志位q相关,是q的函数,则:

由上式中确定,在协议簇pp中,对q的每个取值,必有一个pj与其对应。

因此,通信协议可根据数据标志位q来识别,根据数据采集系统研制任务需求,需要将设备通信协议转换成控制中心理解的通信协议。即把设备的某个通信协议簇转换成控制中心理解的通信协议簇转化为标准通信协议簇。

若实现设备协议向控制中心标准协议的转换,要首先把两个协议中具备相同含义的q值的对等关系统建立起来,然后再依据源报文将目标报文的字段补充齐全。

步骤2.2)当没有完全一样的通信协议时,若实现领域设备a与控制中心间b的无碍通信,必须要做pa→pb,令ppai是pa的任一个独立协议簇,ppbj是pb的任一个独立协议簇。那么,若实现ppai→ppbj,即可实现pa→pb。

由于存在一致的数据类是相关的两个协议簇pp相互转换的基础,且协议簇pp是数据标志位q的函数,令q是数据标志位q的取值集合,因此有:

步骤2.3)针对q∈qai且q∈qbj,有:

步骤2.4)因为mt常与mh||data组成的字符串密切相关,随mh||data组成的字符串值变化而变化,在报文转换过程中相互独立,所以:

步骤2.5)由于字段是通信协议的最小单元,因此有:

从上式可以看出,只要实现改变隶属协议族a的字段在报文中的位置,即可实现pa→pb。

步骤2.6)考虑到实际中字段有无情况和多元转换,字段转换有以下几种:

因此,在协议转换时,对任意db,可通过上式中的三种方式获得。

综上所述,任两个具备一致数据类的设备间通信协议转换,可通过如下三种方式实现源协议字段向目标协议字段的计算实现:

因为ppai是pa的任一个独立协议簇,ppbj是pb的任一个独立协议簇,所以上述协议转换模型推导具备通用性。

如图2所示,所述步骤3)包括如下步骤:

3.1)从数据库中读取源系统生成的报文数据信息;

3.2)依据报文数据遵循的源系统通信协议簇,对其进行检查;

3.3)若报文出现错误,则结束本次处理流程;若报文正确,则提取报头和数据;

3.4)查询报文数据对应的协议是否需要转换;

3.5)若不需要转换,则结束本次处理流程;若需要转换,则依据协议转换模型,逐字段生成对应的目标系统报文数据的报头和数据域;

3.6)依据目标系统协议添加报尾;

3.7)向目标系统发送报文数据信息,完成协议转换。

综上所述,本发明通过制定通信协议转换模型来实现通用化协议转换算法,将源协议、目标协议、字段转换匹配信息存储到数据库中,在通信数据转换时,依据字段转换匹配信息,直接从源数据包的相应位置读取数据,转换成目标字段数据,逐字段顺序合成目标数据包,当有新的协议转换需求,只需在软件配置界面中,将新协议和字段转换匹配信息添加到数据库中,无须修改可执行程序,就可满足新的转换需求,从而实现协议的转换实现多种协议的相互转换,以满足系统通用性、适用性和可拓展性要求。

以上所述是结合具体实施方式对本发明所作的进一步详细说明,不能认定本发明具体实施仅局限于此;对于本发明所属及相关技术领域的技术人员来说,在基于本发明技术方案思路前提下,所作的拓展以及操作方法、数据的替换,都应当落在本发明保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1