CN111428462A - 通讯协议模板构建的方法及终端设备 - Google Patents
通讯协议模板构建的方法及终端设备 Download PDFInfo
- Publication number
- CN111428462A CN111428462A CN202010142884.XA CN202010142884A CN111428462A CN 111428462 A CN111428462 A CN 111428462A CN 202010142884 A CN202010142884 A CN 202010142884A CN 111428462 A CN111428462 A CN 111428462A
- Authority
- CN
- China
- Prior art keywords
- protocol
- communication protocol
- file
- protocol template
- data
- 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.)
- Granted
Links
Images
Classifications
-
- 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/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- 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
Abstract
本发明适用于协议模板配置技术领域,提供了一种通讯协议模板构建的方法及终端设备,该方法包括:通过采用固定字段和自定义字段构建预设格式的协议模板文件;根据通讯协议需求构建配置工具程序文件;根据所述协议模板文件以及所述配置工具程序文件,生成目标通讯协议,从而通过对协议模板文件的定义,使得不同类型的协议配置无需修改配置工具程序文件,只需导入协议模板文件,通过协议模板文件实现各字段的自解析;另外协议模板通过设置自定义字段,使得字段定义灵活、可扩展性好,避免协议模板变动带来的开发工作,保证软件系统的稳定性和可靠性。
Description
技术领域
本发明属于协议模板配置技术领域,尤其涉及一种通讯协议模板构建的方法及终端设备。
背景技术
协议模板主要是针对具体的通讯协议开发,并用以描述通信协议的测点信息。协议模板是由固定字段组成,因此在定义协议模板的时候需要将对应的字段确定,这样导致不同的通讯协议对应不同的协议模板,不同的协议模板需要开发对应的协议模板库以实现通讯协议的配置或者通讯协议的调试,导致开发工作量大,效率低并且系统的稳定性和可靠性较低。另外新增字段、删除字段或者修改字段类型后,还需要修改对应的协议模板库才能实现协议的配置和调试,导致协议模板不灵活以及扩展性较低。
发明内容
有鉴于此,本发明实施例提供了一种通讯协议模板构建的方法及终端设备,以解决现有技术中开发工作量大、效率低、系统的稳定性和可靠性较低以及协议模板不灵活以及扩展性较低的问题。
本发明实施例的第一方面提供了一种通讯协议模板构建的方法,包括:
采用固定字段和自定义字段构建预设格式的协议模板文件;
根据通讯协议需求构建配置工具程序文件;
根据所述协议模板文件以及所述配置工具程序文件,生成目标通讯协议。
在一实施例中,所述自定义字段包括字段名称、字段头以及字段类型。
在一实施例中,所述字段类型包括以下至少一种:下拉框、有符号整型、无符号整型以及字符串。
在一实施例中,所述根据所述协议模板文件以及所述配置工具程序文件,生成目标通讯协议,包括:
获取所述协议模板文件;
对所述协议模板文件中数据进行解析,获得解析后的数据;
将解析后的数据导入到所述配置工具程序文件中,生成目标通讯协议。
在一实施例中,所述对所述协议模板文件中数据进行解析,获得解析后的数据,包括:
调用第三方库中模型文件;
根据所述模型文件的层级嵌套关系构建对应的模型;
根据所述协议模板文件的格式检测所述模型中的各个节点是否存在;
当所述各个节点存在时,对所述各个节点对应的数据进行解析,并保存解析后的数据。
在一实施例中,在所述根据所述协议模板文件以及所述协议管理模型,构建目标通讯协议之后,还包括:
根据协议类型建立协议模板库,并采用所述协议模板库调试所述目标通讯协议。
在一实施例中,所述采用所述协议模板库调试所述目标通讯协议,包括:
加载所述协议模板库中的插件,根据所述目标通讯协议获得所述目标通讯协议对应的协议类型;
根据所述协议类型调用对应的协议模板库,调试所述目标通讯协议。
在一实施例中,所述根据所述协议类型调用对应的协议模板库,调试所述目标通讯协议,包括:
确定指令类型;
根据所述指令类型,按照预设顺序获取所述指令类型对应的请求队列中的指令,并发送所述指令;
当接收到所述指令的应答信息后,根据所述目标通讯协议的报文格式读取对应的协议数据,并将所述协议数据添加到对应的解析队列中,等待解析;
当从所述解析队列中读取到所述协议数据时,根据所述指令检测所述数据的格式是否正确;
当所述数据的格式正确时,根据所述目标通讯协议的报文格式对所述数据进行解析,并对解析后的数据进行处理,获得处理后的数据。
本发明实施例的第二方面提供了一种通讯协议模板构建的装置,包括:
协议模板构建模块,用于采用固定字段和自定义字段构建预设格式的协议模板文件;
协议管理模块,用于根据通讯协议需求构建配置工具程序文件;
协议配置生成模块,用于根据所述协议模板文件以及所述配置工具程序文件,生成目标通讯协议。
本发明实施例的第三方面提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一实施例所述的通讯协议模板构建的方法所述的步骤。
本发明实施例与现有技术相比存在的有益效果是:通过采用固定字段和自定义字段构建预设格式的协议模板文件;根据通讯协议需求构建配置工具程序文件;根据所述协议模板文件以及所述配置工具程序文件,生成目标通讯协议,从而通过对协议模板文件的定义,使得不同类型的协议配置无需修改配置工具程序文件,只需导入协议模板文件,通过协议模板文件实现各字段的自解析;另外协议模板通过设置自定义字段,使得字段定义灵活、可扩展性好,避免协议模板变动带来的开发工作,保证软件系统的稳定性和可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的通讯协议模板构建的方法的实现流程示意图;
图2是本发明实施例提供的生成目标通讯协议的实现流程示意图;
图3是本发明实施例提供的通讯协议模板构建的装置的示例图;
图4是本发明另一实施例提供的通讯协议模板构建的装置的示意图;
图5是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1为本发明实施例提供的通讯协议模板构建的方法的实现流程示意图,详述如下。
步骤101,采用固定字段和自定义字段构建预设格式的协议模板文件。
可选的,所述自定义字段包括字段名称、字段头以及字段类型。字段名称采用统一的格式,例如用c1、c2、c3….或者p1、p2、p3……表示。字段头用于表示对应字段的含义,例如name=“寄存器地址”,“name”即字段头。所述字段类型包括以下至少一种:下拉框、有符号整型、无符号整型以及字符串。
预设格式包括设备信息、查询指令、控制指令和虚拟测点。也就是说,协议模板采用统一格式,每个协议模板均主要由设备信息、查询指令、控制指令和虚拟测点组成。
例如,协议模板文件中的设备信息可以进行如下定义:
<protocolType name=“协议类型”type=“listtype”default=“0”>
<sub name=“modbus-rtu”value=“0”>
<sub name=“modbus-tcp”value=“1”>
</protocolType>
即对protocolType字段自定义协议类型,协议类型自定义为下拉框,包括两个选项:modbus-rtu和modbus-tcp,其中,modbus-rtu的值为0,modbus-tcp的值1。
例如,对查询指令进行如下定义:
<blockexplain>
<cmdcode name=“功能码”default=“3”type=“unit”numShowFormat=“2”/>
<C2 name=“起始地址”default=“0”type=“unit”numShowFormat=“2”/>
<C1 name=“寄存器个数”default=“1”type=“unit”numShowFormat=“1”/>
<C6 name=“预留1”type=“string”/>
<C7 name=“预留2”type=“string”/>
</blockexplain>
blockexplain是针对查询指令进行说明,定义需要显示的字段名称、默认值、数据类型等。C1、C2、C6以及C7为本实施例中自定义字段,对应的字段类型中“unit”为整型,“string”为字符串。
例如,对控制指令进行如下定义:
<blockexplain>
<property name=“命令ID”type=“int”/>
<remark name=“命令描述”type=“string”/>
<cmdcode name=“功能码”type=“unit”default=“5”numShowFormat=“2”/>
<C2 name=“起始地址”default=“0”type=“unit”numShowFormat=“2”/>
<C1 name=“寄存器个数”default=“1”type=“unit”numShowFormat=“1”/>
<C6 name=“预留1”type=“string”/>
<C7 name=“预留2”type=“string”/>
</blockexplain>
blockexplain是针对控制指令进行说明,定义需要显示的字段名称、默认值、数据类型等。C1、C2、C6以及C7为本实施例中自定义字段,对应的字段类型中“unit”为整型,“string”为字符串。
例如,对虚拟测点可以分别定义需要显示的字段名称、默认值、数据类型等。
可选的,协议模板采用统一的格式,每个字段包含的名称、类型等是在模板中定义的,因此要实现协议的配置需要开发协议管理模块,如步骤102所示。
步骤102,根据通讯协议需求构建配置工具程序文件。
可选的,协议管理模块中保存配置工具程序文件,用于实现协议的配置,具体可以实现以下功能:协议文件解析、协议文件生成以及协议文件语法检查。
步骤103,根据所述协议模板文件以及所述配置工具程序文件,生成目标通讯协议。
可选的,如图2所示,本步骤可以包括以下步骤。
步骤201,获取所述协议模板文件。
步骤202,对所述协议模板文件中数据进行解析,获得解析后的数据。
可选的,本步骤可以包括:调用第三方库中模型文件,模型文件可以为XML文件,这里包括打开获取的协议模板文件;根据所述模型文件的层级嵌套关系构建对应的模型,模型可以为XML树;这里构建XML树是为了方便节点数据的解析和校验;根据所述协议模板文件的格式检测所述模型中的各个节点是否存在,若任一节点不存在则提示模板格式错误;例如检测设备信息、查询指令、控制指令和虚拟测点等节点是否存在;当所述各个节点存在时,对所述各个节点对应的数据进行解析,并保存解析后的数据。可选的,协议模板由一些固定字段和自定义字段组成,并通过字段头定义来说明个字段的含义和字段类型,数据解析就是把这些数据从XML树里面获取出来并保存。
可选的,当无法打开协议模板文件、构建XML树出错或者检测节点出错,则会进行异常处理并提示出错原因。可选的,当打开协议模板文件出错时,提示文件打开失败具体原因。当构建XML树出错时,提示协议模板文件中第几行第几列出错以及对应出错原因。当检测节点出错时,提示协议模板文件格式有错,请检查文件。
步骤203,将解析后的数据导入到所述配置工具程序文件中,生成目标通讯协议。
可选的,本步骤为协议文件生成过程,首先调用第三方库中模型文件,即调用XML文件,按照节点层级嵌套关系构建对应的XML树;这里构建XML树是为了方便将解析后的数据写到XML文件中,以便生成目标通讯协议。
需要说明的是,协议模板文件中协议模板字段的新增、删除或者类型修改只需要修改协议模板文件即可,不影响协议的配置,新增加一种协议模板时,只需定义协议模板文件导入配置工具程序文件就可以实现协议配置和页面配置,而不需要重新开发对应的协议管理模块,因此本实施例提供的通讯协议模板构建的方法与现有技术相比,开发人员的工作量降低了,相应工作效率提高了,并且系统的稳定性和可靠性也得到相应提高,并且协议模板更灵活,可扩展性提高。
可选的,如果该通信协议支持协议调试,只需要针对该通信协议开发协议模板库来实现协议的调试,在步骤103之后还可以包括根据协议类型建立协议模板库,并采用所述协议模板库调试所述目标通讯协议。
可选的,加载所述协议模板库中的插件,根据所述目标通讯协议获得所述目标通讯协议对应的协议类型;根据所述协议类型调用对应的协议模板库,调试所述目标通讯协议。
可选的,调试所述目标通讯协议,可以包括以下两个流程:发送请求调试流程以及数据解析流程。
其中,发送请求调试流程可以包括:确定指令类型;根据所述指令类型,按照预设顺序获取所述指令类型对应的请求队列中的指令,并发送所述指令;当接收到所述指令的应答信息后,根据所述目标通讯协议的报文格式读取对应的协议数据,并将所述协议数据添加到对应的解析队列中,等待解析。
可选的,指令类型可以包括查询指令和控制指令。预设顺序可以为按照请求队列中指令存储的先后顺序。
可选的,在所述发送所述指令之后,还包括:检测等待应答时间是否超时,当等待应答时间超时时,则进行异常处理,并结束流程。
可选的,在接收到所述指令的应答信息后还包括:检测所述应答信息是否出错,当应答出错时,即表示未按照相应的通信协议的报文格式返回数据,比如网络连接错误、应答超时等等。当应答正确时,则按照相应的通信协议的报文格式返回数据。
其中,数据解析流程可以包括:当从所述解析队列中读取到所述协议数据时,根据所述指令检测所述数据的格式是否正确;当所述数据的格式正确时,根据所述目标通讯协议的报文格式对所述数据进行解析,并对解析后的数据进行处理,获得处理后的数据。
可选的,当所述数据的格式错误时,会在前端页面提示应答错误,并进行异常处理,然后结束当前流程。
可选的,对解析后的数据进行处理,可以为对解析后的数据进行计算,计算得到实际值,当所有的数据都可以计算得到实际值后,即可表示调试目标通讯协议完成。
上述通讯协议模板构建的方法,通过采用固定字段和自定义字段构建预设格式的协议模板文件;根据通讯协议需求构建配置工具程序文件;根据所述协议模板文件以及所述配置工具程序文件,生成目标通讯协议,从而通过对协议模板文件的定义,使得不同类型的协议配置无需修改配置工具程序文件,只需导入协议模板文件,通过协议模板文件实现各字段的自解析;另外协议模板通过设置自定义字段,使得字段定义灵活、可扩展性好,避免协议模板变动带来的开发工作,保证软件系统的稳定性和可靠性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的通讯协议模板构建的方法,图3示出了本发明实施例提供的通讯协议模板构建的装置的示例图。如图3所示,该装置可以包括:协议模板构建模块301、协议管理模块302和协议配置生成模块303。
协议模板构建模块301,用于采用固定字段和自定义字段构建预设格式的协议模板文件;
协议管理模块302,用于根据通讯协议需求构建配置工具程序文件;
协议配置生成模块303,用于根据所述协议模板文件以及所述配置工具程序文件,生成目标通讯协议。
可选的,所述自定义字段包括字段名称、字段头以及字段类型。其中,所述字段类型包括以下至少一种:下拉框、有符号整型、无符号整型以及字符串。
可选的,所述协议配置生成模块303,还用于:获取所述协议模板文件;对所述协议模板文件中数据进行解析,获得解析后的数据;将解析后的数据导入到所述配置工具程序文件中,生成目标通讯协议。
可选的,所述协议配置生成模块303,还用于:调用第三方库中模型文件;根据所述模型文件的层级嵌套关系构建对应的模型;根据所述协议模板文件的格式检测所述模型中的各个节点是否存在;当所述各个节点存在时,对所述各个节点对应的数据进行解析,并保存解析后的数据。
可选的,如图4所示,在所述根据所述协议模板文件以及所述协议管理模型,构建目标通讯协议之后,所述通讯协议模板构建的装置,还包括:协议模板库建立模块304。
协议模板库建立模块304,用于根据协议类型建立协议模板库,并采用所述协议模板库调试所述目标通讯协议。
可选的,所述协议模板库建立模块304采用所述协议模板库调试所述目标通讯协议,可以用于:
加载所述协议模板库中的插件,根据所述目标通讯协议获得所述目标通讯协议对应的协议类型;
根据所述协议类型调用对应的协议模板库,调试所述目标通讯协议。
可选的,所述协议模板库建立模块304,可以用于:
确定指令类型;
根据所述指令类型,按照预设顺序获取所述指令类型对应的请求队列中的指令,并发送所述指令;
当接收到所述指令的应答信息后,根据所述目标通讯协议的报文格式读取对应的协议数据,并将所述协议数据添加到对应的解析队列中,等待解析;
当从所述解析队列中读取到所述协议数据时,根据所述指令检测所述数据的格式是否正确;
当所述数据的格式正确时,根据所述目标通讯协议的报文格式对所述数据进行解析,并对解析后的数据进行处理,获得处理后的数据。
上述通讯协议模板构建的装置,通过协议模板构建模块采用固定字段和自定义字段构建预设格式的协议模板文件;根据通讯协议需求协议管理模块构建配置工具程序文件;根据所述协议模板文件以及所述配置工具程序文件,协议配置生成模块生成目标通讯协议,从而通过对协议模板文件的定义,使得不同类型的协议配置无需修改配置工具程序文件,只需导入协议模板文件,通过协议模板文件实现各字段的自解析;另外协议模板通过设置自定义字段,使得字段定义灵活、可扩展性好,避免协议模板变动带来的开发工作,保证软件系统的稳定性和可靠性。
图5是本发明一实施例提供的终端设备的示意图。如图5所示,该实施例的终端设备500包括:处理器501、存储器502以及存储在所述存储器502中并可在所述处理器501上运行的计算机程序503,例如通讯协议模板构建的程序。所述处理器501执行所述计算机程序503时实现上述通讯协议模板构建的方法实施例中的步骤,例如图1所示的步骤101至103,或者图2所示的步骤201至步骤203,所述处理器501执行所述计算机程序503时实现上述各装置实施例中各模块的功能,例如图3所示模块301至303或者图4所示模块301至304的功能。
示例性的,所述计算机程序503可以被分割成一个或多个程序模块,所述一个或者多个程序模块被存储在所述存储器502中,并由所述处理器501执行,以完成本发明。所述一个或多个程序模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序503在所述通讯协议模板构建的装置或者终端设备500中的执行过程。例如,所述计算机程序503可以被分割成协议模板构建模块301、协议管理模块302和协议配置生成模块303,各模块具体功能如图3所示,在此不再一一赘述。
所述终端设备500可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器501、存储器502。本领域技术人员可以理解,图5仅仅是终端设备500的示例,并不构成对终端设备500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器501可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器502可以是所述终端设备500的内部存储单元,例如终端设备500的硬盘或内存。所述存储器502也可以是所述终端设备500的外部存储设备,例如所述终端设备500上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器502还可以既包括所述终端设备500的内部存储单元也包括外部存储设备。所述存储器502用于存储所述计算机程序以及所述终端设备500所需的其他程序和数据。所述存储器502还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种通讯协议模板构建的方法,其特征在于,包括:
采用固定字段和自定义字段构建预设格式的协议模板文件;
根据通讯协议需求构建配置工具程序文件;
根据所述协议模板文件以及所述配置工具程序文件,生成目标通讯协议。
2.如权利要求1所述的通讯协议模板构建的方法,其特征在于,所述自定义字段包括字段名称、字段头以及字段类型。
3.如权利要求2所述的通讯协议模板构建的方法,其特征在于,所述字段类型包括以下至少一种:下拉框、有符号整型、无符号整型以及字符串。
4.如权利要求1所述的通讯协议模板构建的方法,其特征在于,所述根据所述协议模板文件以及所述配置工具程序文件,生成目标通讯协议,包括:
获取所述协议模板文件;
对所述协议模板文件中数据进行解析,获得解析后的数据;
将解析后的数据导入到所述配置工具程序文件中,生成目标通讯协议。
5.如权利要求4所述的通讯协议模板构建的方法,其特征在于,所述对所述协议模板文件中数据进行解析,获得解析后的数据,包括:
调用第三方库中模型文件;
根据所述模型文件的层级嵌套关系构建对应的模型;
根据所述协议模板文件的格式检测所述模型中的各个节点是否存在;
当所述各个节点存在时,对所述各个节点对应的数据进行解析,并保存解析后的数据。
6.如权利要求1所述的通讯协议模板构建的方法,其特征在于,在所述根据所述协议模板文件以及所述协议管理模型,构建目标通讯协议之后,还包括:
根据协议类型建立协议模板库,并采用所述协议模板库调试所述目标通讯协议。
7.如权利要求6所述的通讯协议模板构建的方法,其特征在于,所述采用所述协议模板库调试所述目标通讯协议,包括:
加载所述协议模板库中的插件,根据所述目标通讯协议获得所述目标通讯协议对应的协议类型;
根据所述协议类型调用对应的协议模板库,调试所述目标通讯协议。
8.如权利要求7所述的通讯协议模板构建的方法,其特征在于,所述根据所述协议类型调用对应的协议模板库,调试所述目标通讯协议,包括:
确定指令类型;
根据所述指令类型,按照预设顺序获取所述指令类型对应的请求队列中的指令,并发送所述指令;
当接收到所述指令的应答信息后,根据所述目标通讯协议的报文格式读取对应的协议数据,并将所述协议数据添加到对应的解析队列中,等待解析;
当从所述解析队列中读取到所述协议数据时,根据所述指令检测所述数据的格式是否正确;
当所述数据的格式正确时,根据所述目标通讯协议的报文格式对所述数据进行解析,并对解析后的数据进行处理,获得处理后的数据。
9.一种通讯协议模板构建的装置,其特征在于,包括:
协议模板构建模块,用于采用固定字段和自定义字段构建预设格式的协议模板文件;
协议管理模块,用于根据通讯协议需求构建配置工具程序文件;
协议配置生成模块,用于根据所述协议模板文件以及所述配置工具程序文件,生成目标通讯协议。
10.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010142884.XA CN111428462B (zh) | 2020-03-04 | 2020-03-04 | 通讯协议模板构建的方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010142884.XA CN111428462B (zh) | 2020-03-04 | 2020-03-04 | 通讯协议模板构建的方法及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111428462A true CN111428462A (zh) | 2020-07-17 |
CN111428462B CN111428462B (zh) | 2023-02-28 |
Family
ID=71553393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010142884.XA Active CN111428462B (zh) | 2020-03-04 | 2020-03-04 | 通讯协议模板构建的方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111428462B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069176A (zh) * | 2020-08-26 | 2020-12-11 | 北京航天发射技术研究所 | 一种通讯协议的数据库设计方法、装置、设备和存储介质 |
CN112104634A (zh) * | 2020-09-08 | 2020-12-18 | 中国电力科学研究院有限公司 | 数据报文处理方法、系统、设备及可读存储介质 |
CN112134851A (zh) * | 2020-08-28 | 2020-12-25 | 通号城市轨道交通技术有限公司 | 列车信号系统的接口协议生成方法 |
CN112788040A (zh) * | 2021-01-15 | 2021-05-11 | 广州汉光电气股份有限公司 | 一种快速多协议转换的通信管理机实现方法和配置系统 |
CN112866269A (zh) * | 2021-01-29 | 2021-05-28 | 建信金融科技有限责任公司 | 基于xml协议文件的数据处理方法、装置及电子设备 |
CN112887175A (zh) * | 2021-03-10 | 2021-06-01 | 北京电子工程总体研究所 | 一种基于xml的发射控制设备hdlc接口单元测试方法和装置 |
CN112887309A (zh) * | 2021-01-26 | 2021-06-01 | 深圳市宏电技术股份有限公司 | 一种工业协议解析系统 |
CN113377362A (zh) * | 2021-07-14 | 2021-09-10 | 深圳市集贤科技有限公司 | 一种电控端私有协议解析的源代码自动生成与适配方法 |
CN113377363A (zh) * | 2021-07-14 | 2021-09-10 | 深圳市集贤科技有限公司 | 对多种电控端私有协议自动生成源代码的云端实现方法 |
CN114095243A (zh) * | 2021-11-18 | 2022-02-25 | 许昌许继软件技术有限公司 | 一种基于配置的数据过滤方法 |
CN114697404A (zh) * | 2022-02-25 | 2022-07-01 | 中国航发控制系统研究所 | 数控系统的上下位机通讯协议生成方法、系统及存储介质 |
CN115314565A (zh) * | 2022-07-25 | 2022-11-08 | 珠海格力电器股份有限公司 | 一种协议配置方法、协议转换方法和楼宇控制系统 |
CN116800868A (zh) * | 2023-08-29 | 2023-09-22 | 南京天创电子技术有限公司 | 基于xml的可视化通信协议解析方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050038897A1 (en) * | 2003-08-11 | 2005-02-17 | Teamon Systems, Inc. | Communications system providing extensible protocol translation and configuration features and related methods |
CN106230826A (zh) * | 2016-08-02 | 2016-12-14 | 哈尔滨工业大学 | 应用系统接口协议自动解析装置 |
CN109617725A (zh) * | 2018-12-13 | 2019-04-12 | 北京知道创宇信息技术有限公司 | 一种VMess协议配置方法、装置及其存储介质 |
CN110474896A (zh) * | 2019-08-06 | 2019-11-19 | 厦门科灿信息技术有限公司 | 基于Modbus协议标准的数据通信方法及相关设备 |
-
2020
- 2020-03-04 CN CN202010142884.XA patent/CN111428462B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050038897A1 (en) * | 2003-08-11 | 2005-02-17 | Teamon Systems, Inc. | Communications system providing extensible protocol translation and configuration features and related methods |
CN106230826A (zh) * | 2016-08-02 | 2016-12-14 | 哈尔滨工业大学 | 应用系统接口协议自动解析装置 |
CN109617725A (zh) * | 2018-12-13 | 2019-04-12 | 北京知道创宇信息技术有限公司 | 一种VMess协议配置方法、装置及其存储介质 |
CN110474896A (zh) * | 2019-08-06 | 2019-11-19 | 厦门科灿信息技术有限公司 | 基于Modbus协议标准的数据通信方法及相关设备 |
Non-Patent Citations (1)
Title |
---|
潘昶: "基于多层协议字典的通用化通信技术", 《兵工自动化》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069176A (zh) * | 2020-08-26 | 2020-12-11 | 北京航天发射技术研究所 | 一种通讯协议的数据库设计方法、装置、设备和存储介质 |
CN112069176B (zh) * | 2020-08-26 | 2024-01-30 | 北京航天发射技术研究所 | 一种通讯协议的数据库设计方法、装置、设备和存储介质 |
CN112134851A (zh) * | 2020-08-28 | 2020-12-25 | 通号城市轨道交通技术有限公司 | 列车信号系统的接口协议生成方法 |
CN112104634A (zh) * | 2020-09-08 | 2020-12-18 | 中国电力科学研究院有限公司 | 数据报文处理方法、系统、设备及可读存储介质 |
CN112788040A (zh) * | 2021-01-15 | 2021-05-11 | 广州汉光电气股份有限公司 | 一种快速多协议转换的通信管理机实现方法和配置系统 |
CN112887309B (zh) * | 2021-01-26 | 2022-09-20 | 深圳市宏电技术股份有限公司 | 一种工业协议解析系统 |
CN112887309A (zh) * | 2021-01-26 | 2021-06-01 | 深圳市宏电技术股份有限公司 | 一种工业协议解析系统 |
CN112866269A (zh) * | 2021-01-29 | 2021-05-28 | 建信金融科技有限责任公司 | 基于xml协议文件的数据处理方法、装置及电子设备 |
CN112887175A (zh) * | 2021-03-10 | 2021-06-01 | 北京电子工程总体研究所 | 一种基于xml的发射控制设备hdlc接口单元测试方法和装置 |
CN113377363A (zh) * | 2021-07-14 | 2021-09-10 | 深圳市集贤科技有限公司 | 对多种电控端私有协议自动生成源代码的云端实现方法 |
CN113377362B (zh) * | 2021-07-14 | 2022-05-17 | 深圳市集贤科技有限公司 | 一种电控端私有协议解析的源代码自动生成与适配方法 |
CN113377362A (zh) * | 2021-07-14 | 2021-09-10 | 深圳市集贤科技有限公司 | 一种电控端私有协议解析的源代码自动生成与适配方法 |
CN114095243A (zh) * | 2021-11-18 | 2022-02-25 | 许昌许继软件技术有限公司 | 一种基于配置的数据过滤方法 |
CN114697404A (zh) * | 2022-02-25 | 2022-07-01 | 中国航发控制系统研究所 | 数控系统的上下位机通讯协议生成方法、系统及存储介质 |
CN115314565A (zh) * | 2022-07-25 | 2022-11-08 | 珠海格力电器股份有限公司 | 一种协议配置方法、协议转换方法和楼宇控制系统 |
CN116800868A (zh) * | 2023-08-29 | 2023-09-22 | 南京天创电子技术有限公司 | 基于xml的可视化通信协议解析方法及系统 |
CN116800868B (zh) * | 2023-08-29 | 2023-11-07 | 南京天创电子技术有限公司 | 基于xml的可视化通信协议解析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111428462B (zh) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111428462B (zh) | 通讯协议模板构建的方法及终端设备 | |
RU2430409C2 (ru) | Методология измерения покрытия в структурном состоянии взаимного соединения | |
CN111488174A (zh) | 应用程序接口文档的生成方法、装置、计算机设备及介质 | |
CN112306881A (zh) | 模拟数据生成方法、装置、设备及存储介质 | |
CN112650533A (zh) | 接口文档的生成方法、装置和终端设备 | |
CN111309593A (zh) | Json接口校验的方法、装置、设备及计算机可读存储介质 | |
CN112181430A (zh) | 代码变更统计方法、装置、电子设备及存储介质 | |
CN115794641A (zh) | 基于业务流程的造数方法、装置、设备及存储介质 | |
CN111753140A (zh) | Xml文件解析方法及相关设备 | |
CN111782207A (zh) | 任务流代码生成方法、装置、设备及存储介质 | |
CN113238739A (zh) | 一种插件开发和数据获取方法、装置、电子设备及介质 | |
CN112926008A (zh) | 生成表单页面的方法、装置、电子设备和存储介质 | |
CN109324838B (zh) | 单片机程序的执行方法、执行装置及终端 | |
CN115495082B (zh) | Tlv格式数据自动转换方法及相关设备 | |
CN116414689A (zh) | 一种基于反射机制的接口参数校验方法及系统 | |
CN115967604A (zh) | 报文传输方法、装置、电子设备及计算机可读存储介质 | |
CN111324645A (zh) | 区块链的数据处理方法及装置 | |
CN115904317A (zh) | 一种前后端接口统一调用方法、装置、设备及存储介质 | |
CN111399842B (zh) | 一种代码编译方法及装置 | |
CN108874387A (zh) | 一种数据序列化方法及其相关设备 | |
CN108334313A (zh) | 用于大型soc研发的持续集成方法、装置及代码管理系统 | |
CN114356290A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN113504904A (zh) | 用户定义函数实现方法、装置、计算机设备和存储介质 | |
CN113760237A (zh) | 编译地址的更新方法、装置、终端设备及可读存储介质 | |
CN114443375A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |