CN107948181A - 一种可扩展的数据字描述结构方法 - Google Patents
一种可扩展的数据字描述结构方法 Download PDFInfo
- Publication number
- CN107948181A CN107948181A CN201711277253.3A CN201711277253A CN107948181A CN 107948181 A CN107948181 A CN 107948181A CN 201711277253 A CN201711277253 A CN 201711277253A CN 107948181 A CN107948181 A CN 107948181A
- Authority
- CN
- China
- Prior art keywords
- data
- plv
- gnv
- node
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
Abstract
本发明公开了一种可扩展的数据字描述结构方法,采用数据ID‑数据内容一一对应的对数据进行描述,一个数据ID‑数据内容称之为PLV,多个PLV可以组成一个组称之为GNV,GNV可以进行嵌套。通过这种方式,我们可以很轻易将数据流转为可读性更高的数据结构,可以将数据结构转化为数据流进行传输;同时在协议维护方面我们可以很容易的增加字段或删减字段,只需要修改某个PLV函数即可,而不需要大量修改各种解析子函数、重新计算偏移量等。
Description
技术领域
本发明涉及数据描述结构技术领域,具体为一种可扩展的数据字描述结构方法。
背景技术
传输协议中各层都为上一层提供业务功能。为了提供这种业务功能,下一层将上一层中的数据并入到本层的数据域中,然后通过加入报头或报尾来实现该层业务功能,该过程叫做数据封装。用户的数据要经过一次次包装,最后转化成可以在网络上传输的信号,发送到网络上。当到达目标计算机后,再执行相反的拆包过程。
现今民用工业领域流行的传输协议,如:Modbus、TCP/IP、Zigbee等协议均采用偏移量方式进行进行数据包拼装和解析;偏移量方式在需要在协议中添加字段或删除字段时,需要对应修改多个解析子程序,且个断点程序都需要同步修改,否则系统将无法正常工作;此种方式及其不利于程序的升级和维护。
发明内容
本发明的目的在于提供一种可扩展的数据字描述结构方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种可扩展的数据字描述结构方法,采用数据ID-数据内容一一对应的对数据进行描述,一个数据ID-数据内容称之为PLV,多个PLV可以组成一个组称之为GNV,GNV可以进行嵌套;
采用PLV/GNV的无序排列:PLV/GNV解析器,将数据流转为可读性更高的数据结构,将数据结构转化为数据流进行传输;PLV/GNV数据存储结构分为:ROOT、SUB、PLV三种节点;ROOT为根节点,所有数据从该节点衍生;SUB节点为分支节点,可以扩展子结构和同时可以指向下一节点;PLV为数据节点,包含实体数据内容;节点关系可以分为:父子关系、前后关系,ROOT、SUB、PLV节点分别具有不能的节点关系。
优选的,包括数据流到PLV/GNV的解析:解析过程如下:
A、解析函数根据PLV/GNV个数循环解析每个PLV/GNV数据结构,如果不是GNV结构直接将数据放入PLV/GNV数据结构,如果是GNV结构递归调用“数据流->PLV/GNV”函数,直至所有数据结构被解析完成;
B、PLV/GNV数据结构到数据流解析:解析函数根据节点数目循环解析每个节点,如果不是SUB节点,直接将该节点数据填入数据流,如果是SUB节点递归调用“PLV/GNV->数据”函数,直至所有节点被解析完成。
与现有技术相比,本发明的有益效果是:本发明采用数据ID-数据内容一一对应的对数据进行描述,一个数据ID-数据内容称之为PLV,多个PLV可以组成一个组称之为GNV,GNV可以进行嵌套。通过这种方式,我们可以很轻易将数据流转为可读性更高的数据结构,可以将数据结构转化为数据流进行传输;同时在协议维护方面我们可以很容易的增加字段或删减字段,只需要修改某个PLV函数即可,而不需要大量修改各种解析子函数、重新计算偏移量等;此外,本发明采用的可扩展数据字描述方法具备可扩展特性,将极大减少协议修改后系统升级的工作量,提高工作效率;本发明采用的可扩展数据字描述方法具备PLV无需特性,协议修改后无需所有设备都进行升级,提高系统的兼容性。
附图说明
图1为本发明PLV/GNV数据存储结构图;
图2为本发明数据流->PLV/GNV解析流程图;
图3为本发明PLV/GNV->数据解析流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-3,本发明提供一种技术方案:一种可扩展的数据字描述结构方法,采用数据ID-数据内容一一对应的对数据进行描述,一个数据ID-数据内容称之为PLV,多个PLV可以组成一个组称之为GNV,GNV可以进行嵌套;
采用PLV/GNV的无序排列:PLV/GNV解析器,将数据流转为可读性更高的数据结构,将数据结构转化为数据流进行传输;PLV/GNV数据存储结构分为:ROOT、SUB、PLV三种节点;ROOT为根节点,所有数据从该节点衍生;SUB节点为分支节点,可以扩展子结构和同时可以指向下一节点;PLV为数据节点,包含实体数据内容;节点关系可以分为:父子关系、前后关系,ROOT、SUB、PLV节点分别具有不能的节点关系。
本发明可扩展数据字描述方法支持PLV/GNV的无序排列,传统偏移量数据描述方式如果协议稍作修改,系统内的设备均需跟随升级,否则系统将无法工作;而可扩展数据字描述方法将不会出现这种情况,系统只需要对无法解析的PLV项直接抛弃即可,当一个设备协议修改,其它设备计时不进行升级也可继续工作。同时该方式还支持嵌套,对于需要在同一协议中传输多个相同结构的数据时,只需在GNV中进行嵌套即可,而不需要决定复杂的通讯协议。
本发明中,包括数据流到PLV/GNV的解析:解析过程如下:
A、解析函数根据PLV/GNV个数循环解析每个PLV/GNV数据结构,如果不是GNV结构直接将数据放入PLV/GNV数据结构,如果是GNV结构递归调用“数据流->PLV/GNV”函数,直至所有数据结构被解析完成;
B、PLV/GNV数据结构到数据流解析:解析函数根据节点数目循环解析每个节点,如果不是SUB节点,直接将该节点数据填入数据流,如果是SUB节点递归调用“PLV/GNV->数据”函数,直至所有节点被解析完成。
本发明采用数据ID-数据内容一一对应的对数据进行描述,一个数据ID-数据内容称之为PLV,多个PLV可以组成一个组称之为GNV,GNV可以进行嵌套。通过这种方式,我们可以很轻易将数据流转为可读性更高的数据结构,可以将数据结构转化为数据流进行传输;同时在协议维护方面我们可以很容易的增加字段或删减字段,只需要修改某个PLV函数即可,而不需要大量修改各种解析子函数、重新计算偏移量等;此外,本发明采用的可扩展数据字描述方法具备可扩展特性,将极大减少协议修改后系统升级的工作量,提高工作效率;本发明采用的可扩展数据字描述方法具备PLV无需特性,协议修改后无需所有设备都进行升级,提高系统的兼容性。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (2)
1.一种可扩展的数据字描述结构方法,其特征在于:采用数据ID-数据内容一一对应的对数据进行描述,一个数据ID-数据内容称之为PLV,多个PLV可以组成一个组称之为GNV,GNV可以进行嵌套;
采用PLV/GNV的无序排列:PLV/GNV解析器,将数据流转为可读性更高的数据结构,将数据结构转化为数据流进行传输;PLV/GNV数据存储结构分为:ROOT、SUB、PLV三种节点;ROOT为根节点,所有数据从该节点衍生;SUB节点为分支节点,可以扩展子结构和同时可以指向下一节点;PLV为数据节点,包含实体数据内容;节点关系可以分为:父子关系、前后关系,ROOT、SUB、PLV节点分别具有不能的节点关系。
2.根据权利要求1所述的一种可扩展的数据字描述结构方法,其特征在于:包括数据流到PLV/GNV的解析:解析过程如下:
A、解析函数根据PLV/GNV个数循环解析每个PLV/GNV数据结构,如果不是GNV结构直接将数据放入PLV/GNV数据结构,如果是GNV结构递归调用“数据流->PLV/GNV”函数,直至所有数据结构被解析完成;
B、PLV/GNV数据结构到数据流解析:解析函数根据节点数目循环解析每个节点,如果不是SUB节点,直接将该节点数据填入数据流,如果是SUB节点递归调用“PLV/GNV->数据”函数,直至所有节点被解析完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711277253.3A CN107948181A (zh) | 2017-12-06 | 2017-12-06 | 一种可扩展的数据字描述结构方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711277253.3A CN107948181A (zh) | 2017-12-06 | 2017-12-06 | 一种可扩展的数据字描述结构方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107948181A true CN107948181A (zh) | 2018-04-20 |
Family
ID=61945930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711277253.3A Pending CN107948181A (zh) | 2017-12-06 | 2017-12-06 | 一种可扩展的数据字描述结构方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107948181A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110290123A (zh) * | 2019-06-14 | 2019-09-27 | 吉旗(成都)科技有限公司 | 一种快速扩展和编解码jt/t809协议的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070112714A1 (en) * | 2002-02-01 | 2007-05-17 | John Fairweather | System and method for managing knowledge |
CN101222476A (zh) * | 2007-01-08 | 2008-07-16 | 华为技术有限公司 | 一种可扩展标记语言文件编辑器、文件传输方法及系统 |
CN101651679A (zh) * | 2009-09-16 | 2010-02-17 | 清华大学 | 一种基于树形结构的数据帧解析和处理系统和方法 |
CN102487353A (zh) * | 2010-12-02 | 2012-06-06 | 卓望数码技术(深圳)有限公司 | 一种数据传输方法 |
CN103778248A (zh) * | 2014-02-18 | 2014-05-07 | 成都致云科技有限公司 | 高效自描述的复杂数据对象序列化方法 |
CN104077335A (zh) * | 2013-05-07 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 一种结构化数据的序列化、反序列化方法、装置和系统 |
JP2015094988A (ja) * | 2013-11-08 | 2015-05-18 | 国立大学法人佐賀大学 | データ構造、データ生成装置、その方法及びプログラム |
CN105868364A (zh) * | 2016-03-29 | 2016-08-17 | 中国电子科技集团公司第二十八研究所 | 一种基于字节流的结构化数据表示方法 |
-
2017
- 2017-12-06 CN CN201711277253.3A patent/CN107948181A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070112714A1 (en) * | 2002-02-01 | 2007-05-17 | John Fairweather | System and method for managing knowledge |
CN101222476A (zh) * | 2007-01-08 | 2008-07-16 | 华为技术有限公司 | 一种可扩展标记语言文件编辑器、文件传输方法及系统 |
CN101651679A (zh) * | 2009-09-16 | 2010-02-17 | 清华大学 | 一种基于树形结构的数据帧解析和处理系统和方法 |
CN102487353A (zh) * | 2010-12-02 | 2012-06-06 | 卓望数码技术(深圳)有限公司 | 一种数据传输方法 |
CN104077335A (zh) * | 2013-05-07 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 一种结构化数据的序列化、反序列化方法、装置和系统 |
JP2015094988A (ja) * | 2013-11-08 | 2015-05-18 | 国立大学法人佐賀大学 | データ構造、データ生成装置、その方法及びプログラム |
CN103778248A (zh) * | 2014-02-18 | 2014-05-07 | 成都致云科技有限公司 | 高效自描述的复杂数据对象序列化方法 |
CN105868364A (zh) * | 2016-03-29 | 2016-08-17 | 中国电子科技集团公司第二十八研究所 | 一种基于字节流的结构化数据表示方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110290123A (zh) * | 2019-06-14 | 2019-09-27 | 吉旗(成都)科技有限公司 | 一种快速扩展和编解码jt/t809协议的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107919947A (zh) | 一种can总线长报文传输的编码方法 | |
CN103401783A (zh) | 实现Openflow多级流表的方法及装置 | |
CN101582826B (zh) | 一种互联网课堂中基于动态二叉树子侄双路数据传输方法 | |
CN103347302B (zh) | Scpc/dama卫星系统中动态业务带宽分配方法 | |
Valcarenghi et al. | Time-versus size-based CPRI in ethernet encapsulation for next generation reconfigurable fronthaul | |
CN101789949B (zh) | 一种实现负荷分担的方法和路由设备 | |
CN106998347A (zh) | 服务器虚拟化网络共享的装置和方法 | |
CN101848239B (zh) | 一种高时效性的分布式服务集成调用系统 | |
CN109005557A (zh) | 一种时延对称性测量方法、装置和系统 | |
CN102035738A (zh) | 一种获取路由信息的方法及装置 | |
CN103369696B (zh) | 一种载波调度方法、装置及系统 | |
CN107508828B (zh) | 一种超远程数据交互系统及方法 | |
CN107577541A (zh) | 一种应用及一种组件的调用方法 | |
CN107948181A (zh) | 一种可扩展的数据字描述结构方法 | |
CN106850559A (zh) | 一种可扩展的网络协议解析系统及方法 | |
CN103731421B (zh) | 基于以太网的arinc429总线数字仿真通信方法 | |
CN103297312A (zh) | 一种mpls vpn的接入方法及装置 | |
CN110392416A (zh) | 一种安卓系统的网络选择方法 | |
CN102845042A (zh) | 一种应用层多个活动物理接口的带宽聚集系统及方法 | |
CN107645450A (zh) | 基于协议无感知转发技术的流表虚拟化装置及方法 | |
CN109495855A (zh) | 一种核心网信令处理装置 | |
CN104363184A (zh) | 一种基于tuxedo通信模式的JSON报文处理方法及系统 | |
CN101610274A (zh) | 一种基于企业融合通信平台的数据同步方法 | |
CN105721356B (zh) | 存储协议头的方法和网络设备 | |
CN101582849A (zh) | 一种互联网课堂中基于动态二叉树子孙双路数据传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180420 |