数据发送及接收方法,系统,存储介质及终端技术方案

技术编号:22597550 阅读:54 留言:0更新日期:2019-11-20 12:27
一种数据发送、接收方法,以及数据发送、接收系统,存储介质以及数据发送、接收终端,其中,所述数据发送方法包括:将具有物理属性的变量名转换为数值,所述数值体现所述物理属性;将所述数值与该变量名对应的变量值封装为数据包后一起发送。本发明专利技术能够避免工程实施时出现的数据映射错位问题。

Data sending and receiving method, system, storage medium and terminal

A data transmission and receiving method, a data transmission and receiving system, a storage medium and a data transmission and receiving terminal, wherein the data transmission method comprises: converting a variable name with a physical attribute into a numerical value, the numerical value embodying the physical attribute; encapsulating the numerical value and the variable value corresponding to the variable name into a data packet and sending them together. The invention can avoid the data mapping dislocation problem during the project implementation.

【技术实现步骤摘要】
数据发送及接收方法,系统,存储介质及终端
本文涉及网络数据传输技术,尤指一种数据发送、接收方法,以及数据发送、接收系统,存储介质以及数据发送、接收终端。
技术介绍
随着生产规模的不断扩大,流程工业的装置规模和数量不断增加,控制任务一般需要多个控制站,如分布式控制系统(DistributedControlSystem,DCS)和安全仪表系统(SafetyInstrumentedSystem,SIS),协同完成。控制站间的数据共享一般通过以太网来实现,如图1所示,通过多个控制站连接到同一交换机组建物理网络,在该物理网络基础之上,借助网络协议(一般为传输控制协议TCP/互联网协议IP)建立两个控制站之间点对点的逻辑链接,实现点对点通讯,从而完成数据共享。为了实现多个控制站之间的数据共享,相关技术中常用的数据管理方法为:每个控制站预先按照数据类型对数据分类,比如将数据分为BOOL类型,REAL类型,而后依次对各个数据类型下的多个变量进行规范化命名(可以按照索引递增的方式对多个变量命名,如BOOL0、BOOL1、REAL0、REAL1等)。当其他控制站想要引用本站的数据时,按照规范命名来进行引用。例如,1#控制站共享数据给2#控制站,1#控制站的数据管理方法为:按照BOOL和REAL类型对数据进行分类,BOOL型变量依次命名为BOOL0、BOOL1……,REAL型变量依次命名为REAL0、REAL1……。按照这种管理方法,变量名和数据偏移地址有一定的对应关系,比如变量名尾缀数字即是变量对应偏移地址,经过这种规范化处理后,变量名和实际的变量存储地址建立了一层映射关系,从而方便访问。当数据组装成网络数据包时并不携带变量名,仅携带变量值,引用站通过变量的偏移地址来访问,例如当2#站引用1#站的BOOL1变量时,先接收网络数据包,根据网络协议解析定位到BOOL型变量起始位置,再根据BOOL1的尾缀定位到BOOL型变量偏移地址为1的位置取出BOOL1变量进行后续运算。由于进行了规范化命名,导致变量原有的物理属性丢失,而对于带有物理属性的变量名,是工程实施人员习惯使用的,因为它们和实际的测点信息对应关系更清晰。例如,反应器的温度变量为TT1122,压力变量为PT1239,液位变量为LT874,这些带有实际物理属性命名的变量在进行站间通讯时,如果按照上述管理方法进行处理需要在网络数据包打包和拆包过程中多增加两次名称映射或者赋值操作,才能实现物理属性变量的对应。比如在1#站打包时,把TT1122映射到REAL0,把PT1239映射到REAL1,而在2#站拆包时,需要再次把REAL0映射到TT1122,把REAL1映射到PT1239。因为BOOLx和REALx没具体的物理含义,工程实施人员经常映射错位引起问题,工程实施单纯依赖于人员的细心是不合理的,需要技术方案保证。
技术实现思路
本申请提供了一种数据发送、接收方法,以及数据发送、接收系统,存储介质以及数据发送、接收终端,能够避免工程实施时出现的数据映射错位问题。本申请提供了一种数据发送方法,包括:将具有物理属性的变量名转换为数值,所述数值体现所述物理属性;将所述数值与该变量名对应的变量值封装为数据包后一起发送。在一示例性实施例中,所述将具有物理属性的变量名转换为数值,包括:根据哈希算法将具有物理属性的变量名转换为哈希值。在一示例性实施例中,所述哈希值的长度为8n位,其中2≤n≤8,n为整数。在一示例性实施例中,所述根据哈希算法将具有物理属性的变量名转换为哈希值,包括:确定与具有物理属性的变量名对应的变量值的数据类型;使根据哈希算法计算得到的所述变量名的哈希值落入预设的与该数据类型对应的哈希值的数值区间。在一示例性实施例中,将所述数值与该变量名对应的变量值封装为数据包后一起发送,包括:将所述数值与该变量名对应的变量值封装为预设长度的数据包后一起发送。本申请实施例还提供了一种数据接收方法,包括:接收数据包,每个数据包中包括变量值以及以数值表示的具有物理属性的变量名;根据接收的数据包携带的变量名数值确定所需的变量名;从数据包中读取确定的变量名对应的变量值。在一示例性实施例中,所述变量名的数值为哈希值。在一示例性实施例中,根据接收的数据包携带的变量名数值确定所需的变量名,包括:根据变量值的已知数据类型,以及预设的与该数据类型对应的哈希值的数值区间,确定携带位于所需数据区间的哈希值的数据包,根据确定的数据包携带的变量名对应的哈希值确定所需的变量名。本申请实施例还提供了一种数据发送系统,包括:转换模块,用于将具有物理属性的变量名转换为数值,所述数值体现所述物理属性;发送模块,用于将所述数值与该变量名对应的变量值封装为数据包后一起发送。在一示例性实施例中,所述转换模块,用于将具有物理属性的变量名转换为数值,包括:根据哈希算法将具有物理属性的变量名转换为哈希值。在一示例性实施例中,所述转换模块,用于根据哈希算法将具有物理属性的变量名转换为哈希值,包括:确定与具有物理属性的变量名对应的变量值的数据类型;使根据哈希算法计算得到的所述变量名的哈希值落入预设的与该数据类型对应的哈希值的数值区间。在一示例性实施例中,发送模块,用于将所述数值与该变量名对应的变量值封装为数据包后一起发送,包括:将所述数值与该变量名对应的变量值封装为预设长度的数据包后一起发送。本申请实施例还提供了一种数据接收系统,包括:接收模块,用于接收数据包,每个数据包中包括变量值以及以数值表示的具有物理属性的变量名;变量名确定模块,用于根据接收的数据包携带的变量名数值确定所需的变量名;变量值确定模块,用于从数据包中读取确定的变量名对应的变量值。在一示例性实施例中,所述变量名的数值为哈希值。在一示例性实施例中,所述变量名确定模块,用于根据接收的数据包携带的变量名数值确定所需的变量名,包括:根据变量值的已知数据类型,以及预设的与该数据类型对应的哈希值的数值区间,确定携带位于所需数据区间的哈希值的数据包,根据确定的数据包携带的变量名对应的哈希值确定所需的变量名。本申请实施例还提供了一种计算机可读存储介质,所述介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前所述的数据发送方法的步骤。本申请实施例还提供了一种数据发送终端,包括:存储器,用于存储计算机可执行指令;处理器,用于执行所述计算机可执行指令,以实现如前所述的数据发送方法的步骤。本申请实施例一种计算机可读存储介质,所述介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前所述的数据接收方法的步骤。本申请实施例还提供一种数据接收终端,包括:存储器,用于存储计算机可执行指令;处理器,用于执行所述计算机可执行指令,以实现如前所述的数本文档来自技高网
...

【技术保护点】
1.一种数据发送方法,其特征在于,包括:/n将具有物理属性的变量名转换为数值,所述数值体现所述物理属性;/n将所述数值与该变量名对应的变量值封装为数据包后一起发送。/n

【技术特征摘要】
1.一种数据发送方法,其特征在于,包括:
将具有物理属性的变量名转换为数值,所述数值体现所述物理属性;
将所述数值与该变量名对应的变量值封装为数据包后一起发送。


2.根据权利要求1所述的数据发送方法,其特征在于,将具有物理属性的变量名转换为数值,包括:
根据哈希算法将具有物理属性的变量名转换为哈希值。


3.根据权利要求2所述的数据发送方法,其特征在于,
所述哈希值的长度为8n位,其中2≤n≤8,n为整数。


4.根据权利要求3所述的数据发送方法,其特征在于,所述根据哈希算法将具有物理属性的变量名转换为哈希值,包括:
确定与具有物理属性的变量名对应的变量值的数据类型;
使根据哈希算法计算得到的所述变量名的哈希值落入预设的与该数据类型对应的哈希值的数值区间。


5.根据权利要求1至4中任一项所述的数据发送方法,其特征在于,将所述数值与该变量名对应的变量值封装为数据包后一起发送,包括:
将所述数值与该变量名对应的变量值封装为预设长度的数据包后一起发送。


6.一种数据接收方法,其特征在于,包括:
接收数据包,每个数据包中包括变量值以及以数值表示的具有物理属性的变量名;
根据接收的数据包携带的变量名数值确定所需的变量名;
从数据包中读取确定的变量名对应的变量值。


7.根据权利要求6所述的数据接收方法,其特征在于,
所述变量名的数值为哈希值。


8.根据权利要求7所述的数据接收方法,其特征在于,根据接收的数据包携带的变量名数值确定所需的变量名,包括:
根据变量值的已知数据类型,以及预设的与该数据类型对应的哈希值的数值区间,确定携带位于所需数据区间的哈希值的数据包,根据确定的数据包携带的变量名对应的哈希值确定所需的变量名。


9.一种数据发送系统,其特征在于,包括:
转换模块,用于将具有物理属性的变量名转换为数值,所述数值体现所述物理属性;
发送模块,用于将所述数值与该变量名对应的变量值封装为数据包后一起发送。


10.根据权利要求9所述的数据发送系统,其特征在于,所述转换模块,用于将具有物理属性的变量名转换为数值,包括:
根据哈希算法将具有物理属性的变量名转换为哈希值。

【专利技术属性】
技术研发人员:李根旺李蒙
申请(专利权)人:北京和利时系统工程有限公司
类型:发明
国别省市:北京;11

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

1