CN111813395B - 基于xml格式的通讯协议信息描述通用模型及其设计方法 - Google Patents
基于xml格式的通讯协议信息描述通用模型及其设计方法 Download PDFInfo
- Publication number
- CN111813395B CN111813395B CN202010641437.9A CN202010641437A CN111813395B CN 111813395 B CN111813395 B CN 111813395B CN 202010641437 A CN202010641437 A CN 202010641437A CN 111813395 B CN111813395 B CN 111813395B
- Authority
- CN
- China
- Prior art keywords
- data
- data frame
- protocol
- frame
- information
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013461 design Methods 0.000 title claims abstract description 16
- 238000012544 monitoring process Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000005538 encapsulation Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/37—Compiler construction; Parser generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Communication Control (AREA)
Abstract
本发明提供的一种基于XML格式的通讯协议信息描述通用模型及其设计方法,基于XML信息配置技术实现了各种格式协议信息的统一描述,搭建了包括应用层、协议初始化单元、缓存区创建单元、底层通讯模块、解码器和编码器的通用的模型,解决了嵌入式通信软件模块通用性差、复用度低的问题,减少了编码工作量,提高了工作效率,具有较高的应用和推广价值。
Description
技术领域
本发明涉及计算机技术领域,更具体的,涉及一种基于XML格式的通讯协议信息描述通用模型及其设计方法。
背景技术
现有的如专利一种基于XML的数据交换***,公开号为CN105279122A,通过在SOA架构中,构造了一层基于XML的数据抽象层,用于隔离***和用户与***和数据源,完成数据交换,完成各种文件配置的数据交换。当目前对于文件的配置大多采用嵌入式通讯软件模块进行操作,由于通讯协议格式迥异、信息交互繁多、运行***多样等原因,造成现有的软件开发只关注满足眼前特定需求,再软件架构上没有将底层通信模块与上层具体应用分离,难以实现软件的模块化和通用化,进而导致具体产品具体定制、类似产品重复开发、带来大量重复的编码和测试工作、无法获难以应对需求变更的风险,具体表现为投入人员多、开发周期长、难以适应修改、进度难以保证和后期维度难度大的问题。
发明内容
本发明为克服现有的嵌入式通讯软件模块存在通用性差、开发效率低且维护难的技术问题,提供一种基于XML格式的通讯协议信息描述通用模型及其设计方法。
为解决上述技术问题,本发明的技术方案如下:
基于XML格式的通讯协议信息描述通用模型,包括应用层、协议初始化单元、缓存区创建单元、底层通讯模块、解码器和编码器;其中:
所述协议初始化单元用于读取配置XML文件中的字段信息并进行数据加载,根据具体数据类型将数据解析成节点设备对象、数据帧对象和数据对象,并对得到的数据类型进行初始化;
所述缓存区创建单元根据得到的数据帧对象的数据内存长度信息创建连续缓存区,作为底层通讯模块写入和应用层数据读取时共同使用的数据池;
所述底层通讯模块在数据池中接收新的数据帧后,对数据帧的帧头信息进行提取,并根据帧头查询数据帧对象,将新接收的数据存入数据帧对象对应的数据缓存区中;
所述应用层访问数据对象时,调用对应的数据帧对象的解码器实现数据池原始数据的解码转换;
所述应用层修改数据对象时,调用对应的数据帧对象的编码器进行数据编码,根据数据帧对象的发送评论信息自动发送数据。
上述方案中,该模型采用跨平台的思路,仅需将其嵌入到对应的软件***平台中,便能够满足同一个模型不需要任何修改就可以在平台上进行编译、运行的需求,其通用性强,无需重复开发,而且维护成本低。
其中,所述协议初始化单元包括协议配置读取子单元、协议解析器子单元和参数动态创建单元;其中:
所述协议配置读取子单元用于读取配置XML文件中的XMLParser字段信息并加载到协议解析器子单元中;
所述协议解析器子单元接收XMLParser字段信息作为参数传入,将XML字段信息各Element元素逐一读取,并根据具体数据类型将数据解析成节点设备对象、数据帧对象和数据对象;
所述参数动态创建单元根据解析得到的节点设备对象、数据帧对象和数据对象重新创建新的节点设备对象、数据帧对象和数据对象,完成数据类型的初始化。
其中,所述底层通讯模块中设置有帧协议解析器,通过帧协议解析器对数据帧的帧头信息进行提取,并根据帧头查询数据帧对象,将新接收的数据存入数据帧对象对应的数据缓存区中。
其中,所述模型还包括节点状态监视单元,用于实现节点设备正常、故障状态的监视功能。
其中,所述节点设备对象用于记录总线上与模型进行数据交互的所有节点设备;所述数据帧对象用于记录所对应的节点设备对象发送的数据帧;所述数据对象用于记录所对应的数据帧对象的所有数据信息。
基于XML格式的通讯协议信息描述通用模型设计方法,包括以下步骤:
S1:协议初始化单元读取配置XML文件中的字段信息并进行数据加载,根据具体数据类型将数据解析成节点设备对象、数据帧对象和数据对象,对得到的数据类型进行初始化;
S2:缓存区创建单元根据得到的数据帧对象的数据内存长度信息创建连续缓存区,作为底层通讯模块写入和应用层数据读取时共同使用的数据池;
S3:底层通讯模块在数据池中接收新的数据帧后,对数据帧的帧头信息进行提取,并根据帧头查询数据帧对象,将新接收的数据存入数据帧对象对应的数据缓存区中;
S4:应用层访问数据对象时,调用对应的数据帧对象的解码器实现数据池原始数据的解码转换;
S5:应用层修改数据对象时,调用对应的数据帧对象的编码器进行数据编码,根据数据帧对象的发送评论信息自动发送数据。
其中,所述步骤S1具体包括以下步骤:
S11:由协议配置读取子单元读取配置XML文件中的XMLParser字段信息并加载到协议解析器子单元中;
S12:协议解析器子单元接收XMLParser字段信息作为参数传入,将XML字段信息各Element元素逐一读取,并根据具体数据类型将数据解析成节点设备对象、数据帧对象和数据对象;
S13:通过参数动态创建单元根据解析得到的节点设备对象、数据帧对象和数据对象重新创建新的节点设备对象、数据帧对象和数据对象,完成数据类型的初始化。
其中,在所述步骤S3中,底层通讯模块通过帧协议解析器对数据帧的帧头信息进行提取,并根据帧头查询数据帧对象,将新接收的数据存入数据帧对象对应的数据缓存区中。
其中,所述设计方法还包括节点状态监视过程,用于实现节点设备正常、故障状态的监视功能,具体为:
当底层通讯模块接收到数据帧对象时,由节点状态监视单元记录下接收时刻的时间戳并创建一个周期运行的任务,定期比较当前时间与更新后的数据帧对象的时间差值;当该时间差值大于N倍数据帧对象的发送周期时,即模型在设定的时间内未接收新数据,判定设备通讯故障,否则判定为正常;其中,N为正数。
其中,所述节点设备对象用于记录总线上与模型进行数据交互的所有节点设备;所述数据帧对象用于记录所对应的节点设备对象发送的数据帧;所述数据对象用于记录所对应的数据帧对象的所有数据信息。
上述方案中,本设计方法采用条件编译的方法,分别实现了不同平台下线程操作方法CreateTask、DelectTask的统一形式封装;采用条件编译的方法,分别实现了Windows、VxWorks、Linux不同平台下信号操作方法CreateEventX、SetEventX、DeleteEvent、WaitForSingleEvent的统一形式封装;采用条件编译的方法,分别实现了Windows、VxWorks、Linux不同平台加载库文件方法LoadModule的统一形式封装;采用条件编译的方法,分别实现了Windows、VxWorks、Linux不同平台***时间获取方法GetTimeStamp的统一形式封装;采用条件编译的方法,分别实现了Windows、VxWorks、Linux不同平台库文件导出函数方法GetExportFunc的统一形式封装;采用条件编译的方法,分别实现了Windows、VxWorks、Linux不同平台库定时器操作方法StartTimer的统一形式封装。
与现有技术相比,本发明技术方案的有益效果是:
本发明提供的一种基于XML格式的通讯协议信息描述通用模型及其设计方法,基于XML信息配置技术实现了各种格式协议信息的统一描述,搭建了通用的模型,解决了嵌入式通信软件模块通用性差、复用度低的问题,减少了编码工作量,提高了工作效率。
附图说明
图1为本发明所述模型数据流向示意图;
图2为本发明所述的设计方法流程图;
图3为本发明所述模型的运行原理示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
如图1所示,基于XML格式的通讯协议信息描述通用模型,包括应用层、协议初始化单元、缓存区创建单元、底层通讯模块、解码器Decoder和编码器Encoder;其中:
所述协议初始化单元用于读取配置XML文件中的XMLParser字段信息并进行数据加载,根据具体数据类型将数据解析成节点设备对象Device、数据帧对象PD0和数据对象Signal,并对得到的数据类型进行初始化;
所述缓存区创建单元根据得到的数据帧对象PD0的数据内存长度信息创建连续缓存区,作为底层通讯模块写入和应用层数据读取时共同使用的数据池;
所述底层通讯模块在数据池中接收新的数据帧后,对数据帧的帧头信息PdoID进行提取,并根据帧头查询数据帧对象PD0,将新接收的数据存入数据帧对象PD0对应的数据缓存区中;
所述应用层访问数据对象Signal时,调用对应的数据帧对象PD0的解码器Decoder实现数据池原始数据的解码转换;
所述应用层修改数据对象时,调用对应的数据帧对象PD0的编码器Encoder进行数据编码,根据数据帧对象的发送评论信息自动发送数据。
在具体实施过程中,该模型采用跨平台的思路,仅需将其嵌入到对应的软件***平台中,便能够满足同一个模型不需要任何修改就可以在平台上进行编译、运行的需求,其通用性强,无需重复开发,而且维护成本低。
更具体的,所述协议初始化单元包括协议配置读取子单元、协议解析器子单元和参数动态创建单元;其中:
所述协议配置读取子单元用于读取配置XML文件中的XMLParser字段信息并加载到协议解析器子单元中;
所述协议解析器子单元接收XMLParser字段信息作为参数传入,将XML字段信息各Element元素逐一读取,并根据具体数据类型将数据解析成节点设备对象、数据帧对象和数据对象;
所述参数动态创建单元根据解析得到的节点设备对象、数据帧对象和数据对象重新创建新的节点设备对象、数据帧对象和数据对象,完成数据类型的初始化。
更具体的,所述底层通讯模块中设置有帧协议解析器,通过帧协议解析器对数据帧的帧头信息进行提取,并根据帧头查询数据帧对象,将新接收的数据存入数据帧对象对应的数据缓存区中。
更具体的,所述模型还包括节点状态监视单元,用于实现节点设备正常、故障状态的监视功能。
更具体的,所述节点设备对象用于记录总线上与模型进行数据交互的所有节点设备;所述数据帧对象用于记录所对应的节点设备对象发送的数据帧;所述数据对象用于记录所对应的数据帧对象的所有数据信息。
实施例2
更具体的,如图2所示,提供一种基于XML格式的通讯协议信息描述通用模型设计方法,包括以下步骤:
S1:协议初始化单元读取配置XML文件中的XMLParser字段信息并进行数据加载,根据具体数据类型将数据解析成节点设备对象Device、数据帧对象PD0和数据对象Signal,对得到的数据类型进行初始化;
S2:缓存区创建单元根据得到的数据帧对象PD0的数据内存长度信息创建连续缓存区,作为底层通讯模块写入和应用层数据读取时共同使用的数据池;
S3:底层通讯模块在数据池中接收新的数据帧后,对数据帧的帧头信息PdoID进行提取,并根据帧头查询数据帧对象PD0,将新接收的数据存入数据帧对象PD0对应的数据缓存区中;
S4:应用层访问数据对象时,调用对应的数据帧对象PD0的解码器Decoder实现数据池原始数据的解码转换;
S5:应用层修改数据对象时,调用对应的数据帧对象PD0的编码器Encoder进行数据编码,根据数据帧对象的发送评论信息自动发送数据。
更具体的,所述步骤S1具体包括以下步骤:
S11:由协议配置读取子单元读取配置XML文件中的XMLParser字段信息并加载到协议解析器子单元中;
S12:协议解析器子单元接收XMLParser字段信息作为参数传入,将XML字段信息各Element元素逐一读取,并根据具体数据类型将数据解析成节点设备对象Device、数据帧对象PD0和数据对象Signal;
S13:通过参数动态创建单元根据解析得到的节点设备对象Device、数据帧对象PD0和数据对象Signal重新创建新的节点设备对象Device、数据帧对象PD0和数据对象Signal,完成数据类型的初始化。
更具体的,在所述步骤S3中,底层通讯模块通过帧协议解析器对数据帧的帧头信息进行提取,并根据帧头查询数据帧对象,将新接收的数据存入数据帧对象对应的数据缓存区中。
更具体的,所述设计方法还包括节点状态监视过程,用于实现节点设备正常、故障状态的监视功能,具体为:
当底层通讯模块接收到数据帧对象时,由节点状态监视单元记录下接收时刻的时间戳并创建一个周期运行的任务,定期比较当前时间与更新后的数据帧对象的时间差值;当该时间差值大于N倍数据帧对象的发送周期时,即模型在设定的时间内未接收新数据,判定设备通讯故障,否则判定为正常;其中,N为正数。
更具体的,所述节点设备对象用于记录总线上与模型进行数据交互的所有节点设备;所述数据帧对象用于记录所对应的节点设备对象发送的数据帧;所述数据对象用于记录所对应的数据帧对象的所有数据信息。
在具体实施过程中,本设计方法采用条件编译的方法,分别实现了不同平台下线程操作方法CreateTask、DelectTask的统一形式封装;采用条件编译的方法,分别实现了Windows、VxWorks、Linux不同平台下信号操作方法CreateEventX、SetEventX、DeleteEvent、WaitForSingleEvent的统一形式封装;采用条件编译的方法,分别实现了Windows、VxWorks、Linux不同平台加载库文件方法LoadModule的统一形式封装;采用条件编译的方法,分别实现了Windows、VxWorks、Linux不同平台***时间获取方法GetTimeStamp的统一形式封装;采用条件编译的方法,分别实现了Windows、VxWorks、Linux不同平台库文件导出函数方法GetExportFunc的统一形式封装;采用条件编译的方法,分别实现了Windows、VxWorks、Linux不同平台库定时器操作方法StartTimer的统一形式封装。
实施例3
更具体的,在实施例1、实施例2的基础上,具体阐述一种模型的设计过程,具体为:
1.信息描述模型设计
对通讯协议中数据信号Signal的信息描述是实现***构建可配置化的关键一环。通过对数据信号的属性抽象,建立了数据信号的信息描述结构,如表1所示。
表1数据信号(Signal)的信息描述模型
2.架构分解
对于复杂的大规模软件***,软件架构分解是必不可少的关键步骤,是识别架构元素的有效手段。软件架构分解的依据是业务切分和功能分解。
本通用通讯软件模块的运行原理如图3所示。根据业务逻辑,将***拆解为驱动(Driver)、数据分发器(Distributor)、数据解码器(Decoder)、数据编码器(Encoder)、配置文件解析器(XmlParser)、帧协议解析器(ProtocolParser)共6大类基本功能模块。
3.框架基类设计
设计并实现了数据信号基类(CSignalBase)、数据帧基类(CPDOBase)、节点设备基类(CDeviceBase)、驱动基类(CDriverBase、CCommChannel)、数据分发器基类(CDistributorBase)、数据解码器基类(CDecoderBase)、数据编码器基类(CEncoderBase)、配置文件解析器基类(CXmlParserBase)、帧协议解析器基类(CProtocolParser)。具体功能说明见下表2。
表2框架基类说明
在具体实施过程中,一种基于XML格式的通讯协议信息描述通用模型及其设计方法,包括兼容多种通讯硬件模块、兼容多种数据总线、兼容多种通讯协议格式、数据解码方式可扩展、数据编码方式可扩展、节点设备状态监视、在线设备固件升级、支持多种操作***。其具有以下特点:
A、所述兼容多种通讯硬件模块,是指该软件能够兼容多种底层通讯硬件,具备统一处理数据接收、发送及缓存的机制和能力;
B、所述兼容多种数据总线,是指该软件不局限于某一类型的数据总线,可以兼容包括以外网,CAN,RS232/RS422在内的多种数据总线;
C、所述兼容多种通讯协议格式,是指该软件通过应用XML信息配置和解析技术,可以读取各种格式的通讯协议;
D、所述数据解码方式可扩展,是指该软件能够适应特殊的数据帧编码方式,实现特殊编码方式的定制和扩展;
E、所述数据编码方式可扩展,是指该软件能够适应特殊的数据帧解码方式,实现特殊解码方式的定制和扩展;
F、所述节点设备状态监视,是指本软件能提供监测节点设备正常/故障的功能;
G、所述在线设备固件升级,是指本软件能提供对在线节点设备进行参数修改和固件升级的服务;
H、所述支持多种操作***,是指本软件实现了对Windows、VxWorks、Linux平台的支持能力,能够满足同一份模型不需任何修改就可以在上述任一平台上编译、运行的需求。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (6)
1.基于XML格式的通讯协议信息描述通用模型,其特征在于,包括应用层、协议初始化单元、缓存区创建单元、底层通讯模块、解码器和编码器;其中:
所述协议初始化单元用于读取配置XML文件中的字段信息并进行数据加载,根据具体数据类型将数据解析成节点设备对象、数据帧对象和数据对象,并对得到的数据类型进行初始化;所述协议初始化单元包括协议配置读取子单元、协议解析器子单元和参数动态创建单元;其中:
所述协议配置读取子单元用于读取配置XML文件中的XMLParser字段信息并加载到协议解析器子单元中;
所述协议解析器子单元接收XMLParser字段信息作为参数传入,将XML字段信息各Element元素逐一读取,并根据具体数据类型将数据解析成节点设备对象、数据帧对象和数据对象;
所述参数动态创建单元根据解析得到的节点设备对象、数据帧对象和数据对象重新创建新的节点设备对象、数据帧对象和数据对象,完成数据类型的初始化;
所述缓存区创建单元根据得到的数据帧对象的数据内存长度信息创建连续缓存区,作为底层通讯模块写入和应用层数据读取时共同使用的数据池;
所述底层通讯模块在数据池中接收新的数据帧后,对数据帧的帧头信息进行提取,并根据帧头查询数据帧对象,将新接收的数据存入数据帧对象对应的数据缓存区中;所述底层通讯模块中设置有帧协议解析器,通过帧协议解析器对数据帧的帧头信息进行提取,并根据帧头查询数据帧对象,将新接收的数据存入数据帧对象对应的数据缓存区中;
所述应用层访问数据对象时,调用对应的数据帧对象的解码器实现数据池原始数据的解码转换;
所述应用层修改数据对象时,调用对应的数据帧对象的编码器进行数据编码,根据数据帧对象的发送评论信息自动发送数据。
2.根据权利要求1所述的基于XML格式的通讯协议信息描述通用模型,其特征在于,还包括节点状态监视单元,用于实现节点设备正常、故障状态的监视功能。
3.根据权利要求2所述的基于XML格式的通讯协议信息描述通用模型,其特征在于,所述节点设备对象用于记录总线上与模型进行数据交互的所有节点设备;所述数据帧对象用于记录所对应的节点设备对象发送的数据帧;所述数据对象用于记录所对应的数据帧对象的所有数据信息。
4.基于XML格式的通讯协议信息描述通用模型设计方法,其特征在于,包括以下步骤:
S1:协议初始化单元读取配置XML文件中的字段信息并进行数据加载,根据具体数据类型将数据解析成节点设备对象、数据帧对象和数据对象,对得到的数据类型进行初始化;所述步骤S1具体包括以下步骤:
S11:由协议配置读取子单元读取配置XML文件中的XMLParser字段信息并加载到协议解析器子单元中;
S12:协议解析器子单元接收XMLParser字段信息作为参数传入,将XML字段信息各Element元素逐一读取,并根据具体数据类型将数据解析成节点设备对象、数据帧对象和数据对象;
S13:通过参数动态创建单元根据解析得到的节点设备对象、数据帧对象和数据对象重新创建新的节点设备对象、数据帧对象和数据对象,完成数据类型的初始化;
S2:缓存区创建单元根据得到的数据帧对象的数据内存长度信息创建连续缓存区,作为底层通讯模块写入和应用层数据读取时共同使用的数据池;
S3:底层通讯模块在数据池中接收新的数据帧后,对数据帧的帧头信息进行提取,并根据帧头查询数据帧对象,将新接收的数据存入数据帧对象对应的数据缓存区中;在所述步骤S3中,底层通讯模块通过帧协议解析器对数据帧的帧头信息进行提取,并根据帧头查询数据帧对象,将新接收的数据存入数据帧对象对应的数据缓存区中;
S4:应用层访问数据对象时,调用对应的数据帧对象的解码器实现数据池原始数据的解码转换;
S5:应用层修改数据对象时,调用对应的数据帧对象的编码器进行数据编码,根据数据帧对象的发送评论信息自动发送数据。
5.根据权利要求4所述的基于XML格式的通讯协议信息描述通用模型设计方法,其特征在于:还包括节点状态监视过程,用于实现节点设备正常、故障状态的监视功能,具体为:
当底层通讯模块接收到数据帧对象时,由节点状态监视单元记录下接收时刻的时间戳并创建一个周期运行的任务,定期比较当前时间与更新后的数据帧对象的时间差值;当该时间差值大于N倍数据帧对象的发送周期时,即模型在设定的时间内未接收新数据,判定设备通讯故障,否则判定为正常;其中,N为正数。
6.根据权利要求5所述的基于XML格式的通讯协议信息描述通用模型设计方法,其特征在于:所述节点设备对象用于记录总线上与模型进行数据交互的所有节点设备;所述数据帧对象用于记录所对应的节点设备对象发送的数据帧;所述数据对象用于记录所对应的数据帧对象的所有数据信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010641437.9A CN111813395B (zh) | 2020-07-06 | 2020-07-06 | 基于xml格式的通讯协议信息描述通用模型及其设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010641437.9A CN111813395B (zh) | 2020-07-06 | 2020-07-06 | 基于xml格式的通讯协议信息描述通用模型及其设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111813395A CN111813395A (zh) | 2020-10-23 |
CN111813395B true CN111813395B (zh) | 2024-01-30 |
Family
ID=72841677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010641437.9A Active CN111813395B (zh) | 2020-07-06 | 2020-07-06 | 基于xml格式的通讯协议信息描述通用模型及其设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813395B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612535A (zh) * | 2020-12-07 | 2021-04-06 | 河南方达空间信息技术有限公司 | 基于xml和json的卫星接收***网络通信编解码引擎方法 |
CN113608903A (zh) * | 2021-06-21 | 2021-11-05 | 天津津航计算技术研究所 | 一种基于xml语言的故障管理方法 |
CN114157732B (zh) * | 2021-11-12 | 2024-03-19 | 西安羚控电子科技有限公司 | 一种大中型固定翼无人机遥测数据解析方法及*** |
CN116800868B (zh) * | 2023-08-29 | 2023-11-07 | 南京天创电子技术有限公司 | 基于xml的可视化通信协议解析方法及*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090112453A (ko) * | 2008-04-24 | 2009-10-28 | 주식회사 휴맥스 | 부호화/복호화 방법 및 장치 |
CN101901542A (zh) * | 2008-12-12 | 2010-12-01 | 捷讯研究有限公司 | 向移动设备提供交通通知的***和方法 |
CN103780624A (zh) * | 2014-01-26 | 2014-05-07 | 北京仿真中心 | 一种面向复杂***的通用应用层网络通信协议应用方法 |
CN103984555A (zh) * | 2014-05-29 | 2014-08-13 | 四川航天***工程研究所 | 一种树表结合驱动特定平台通讯协议源代码自动生成方法 |
CN105162692A (zh) * | 2015-09-16 | 2015-12-16 | 北京暴风科技股份有限公司 | 一种高效的数据序列化交互方法 |
CN105635160A (zh) * | 2016-01-09 | 2016-06-01 | 中国人民解放军63686部队 | 一种多变数据网络通信的设计方法 |
CN109525364A (zh) * | 2018-10-30 | 2019-03-26 | 北京计算机技术及应用研究所 | 一种基于xml的通信数据协议通用化描述方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059954A1 (en) * | 2002-06-18 | 2008-03-06 | Martin Joseph B | Universal system component emulator with human readable output |
US20060253415A1 (en) * | 2005-04-21 | 2006-11-09 | Sayan Chakraborty | Data-defined communication device |
-
2020
- 2020-07-06 CN CN202010641437.9A patent/CN111813395B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090112453A (ko) * | 2008-04-24 | 2009-10-28 | 주식회사 휴맥스 | 부호화/복호화 방법 및 장치 |
CN101901542A (zh) * | 2008-12-12 | 2010-12-01 | 捷讯研究有限公司 | 向移动设备提供交通通知的***和方法 |
CN103780624A (zh) * | 2014-01-26 | 2014-05-07 | 北京仿真中心 | 一种面向复杂***的通用应用层网络通信协议应用方法 |
CN103984555A (zh) * | 2014-05-29 | 2014-08-13 | 四川航天***工程研究所 | 一种树表结合驱动特定平台通讯协议源代码自动生成方法 |
CN105162692A (zh) * | 2015-09-16 | 2015-12-16 | 北京暴风科技股份有限公司 | 一种高效的数据序列化交互方法 |
CN105635160A (zh) * | 2016-01-09 | 2016-06-01 | 中国人民解放军63686部队 | 一种多变数据网络通信的设计方法 |
CN109525364A (zh) * | 2018-10-30 | 2019-03-26 | 北京计算机技术及应用研究所 | 一种基于xml的通信数据协议通用化描述方法 |
Non-Patent Citations (1)
Title |
---|
针对异构协议的动态解析器模型;王永娜;赵奎;王鸿亮;王俊霖;;计算机***应用(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111813395A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111813395B (zh) | 基于xml格式的通讯协议信息描述通用模型及其设计方法 | |
CN101661494B (zh) | 一种分布式中间件与数据库数据交互方法 | |
CN108989358B (zh) | 一种基于tcp/ip协议纺机运行数据获取方法 | |
CN102880503A (zh) | 数据分析***及数据分析方法 | |
CN112328313B (zh) | 一种应用于嵌入式软件的通用*** | |
JP2006031701A (ja) | アプリケーションに対するマルチモーダルアクセスを可能にするフレームワーク | |
EP1606740A2 (en) | Common common object | |
Helu et al. | Scalable data pipeline architecture to support the industrial internet of things | |
CN110851237A (zh) | 一种面向国产平台的容器跨异构集群重构方法 | |
CN109413140B (zh) | Pacs服务器远程自动升级的方法 | |
CN103597414A (zh) | 仿真***、用于执行仿真的方法、控制***和计算机程序产品 | |
CN117749899A (zh) | 协议转换框架、设备通讯方法、装置和计算机存储介质 | |
CN101826985B (zh) | 一种基于插件的集中信令跟踪方法及*** | |
CN107391617A (zh) | 基于监测***的自动导模型方法 | |
CN112202798B (zh) | 数据的协议转化方法、***、电子设备及存储介质 | |
CN116450234A (zh) | 一种c++模型库服务化封装框架***和方法 | |
CN102693166A (zh) | 信息处理的方法、装置和*** | |
WO2011160359A1 (zh) | 脚本驱动软件构建方法和装置 | |
CN111506360B (zh) | 一种实时数据处理***的外部设备接入***及方法 | |
CN1932760B (zh) | 用于运行应用程序的***和方法 | |
Huang et al. | Research on OPC UA based on electronic device description | |
CN113612721A (zh) | 一种基于电力线载波通信的报文智能分析方法 | |
Van Tan et al. | A Novel Framework for Building Distributed Data Acquisition and Monitoring Systems. | |
CN106341293B (zh) | 一种信息***接入企业服务总线的方法及装置 | |
CN116319245B (zh) | 面向5g协议的分布式测试*** |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |