【技术实现步骤摘要】
一种协议冲突匹配方法、系统、存储介质及计算机设备
本专利技术涉及物联网协议解析
,尤其涉及一种协议冲突匹配方法、系统、存储介质及计算机设备。
技术介绍
在现有的物联网平台开发中,接入各式各样的设备成为不可避免的需求。而这些物联网设备为了将其内部信息传递出来,会按照一定的规则将内部信息编码成二进制数据,再使用物理接口传输出来,一般我们把这种规则称之为“协议”。而当我们要接入某种设备时,就需要使用协议编解码部分的代码。一些使用规范化、标准化协议的设备,可以针对其使用的标准化协议进行配置。然而还有大量的设备,是使用自定义的协议,面对这种情况,就需要进行独立的代码编写。当物联网平台要接入的设备种类非常多时,这是一个相当机械重复的工作。对于直接使用通用编程语言(例如C语言)的源代码来表示协议,对其协议内部以及协议间的特性分析会变得非常困难。例如:平台的tcp-server监听一个8000端口,当使用协议A、协议B的两种设备要接入平台时,它们能否共用8000端口?协议A和协议B之间能不能互相兼容?诸如此类的问题,对于使用通 ...
【技术保护点】
1.一种协议冲突匹配方法,其特征在于,包括以下步骤:/nS1、定义基于动作节点的数据协议表示方法,使每一个动作对应协议解析器语法树中的一个节点;/nS2、将步骤S1中的节点分为分支节点和非分支节点;/nS3、将各设备的协议以步骤S1中定义的表示方法表示出来,根据设备的消息种类数量,将每个设备的协议表示成一行或多行节点的协议结构;/nS4、将所有设备的协议结构合成一组消息,遍历所合成的消息组,对其进行语法树的生成;若能成功生成语法树,则判断相应设备的协议之间不会产生冲突,能够绑定于同一数据源。/n
【技术特征摘要】
1.一种协议冲突匹配方法,其特征在于,包括以下步骤:
S1、定义基于动作节点的数据协议表示方法,使每一个动作对应协议解析器语法树中的一个节点;
S2、将步骤S1中的节点分为分支节点和非分支节点;
S3、将各设备的协议以步骤S1中定义的表示方法表示出来,根据设备的消息种类数量,将每个设备的协议表示成一行或多行节点的协议结构;
S4、将所有设备的协议结构合成一组消息,遍历所合成的消息组,对其进行语法树的生成;若能成功生成语法树,则判断相应设备的协议之间不会产生冲突,能够绑定于同一数据源。
2.根据权利要求1所述的协议冲突匹配方法,其特征在于,步骤S4包括以下步骤:
S41、将所有设备的协议表示结构合成一组消息,所合成的消息组中含有多组子消息,每组子消息均为某一设备的协议表示结构;
S42、按从左至右的顺序,弹出所合成消息组中各组子消息在同一位置的节点,直到各组子消息的全部节点遍历完成;
S43、分析所弹出来的节点是否含有分支节点,如果不含分支节点,则对比各节点是否一致,若不一致则判断设备的协议之间出现冲突,否则判断所弹出来的节点没有冲突,在输出中添加该节点并继续执行步骤S42;如果含有分支节点,则进入步骤S44;
S44、将含有分支节点的消息按分支节点分组,分支节点一致的条目合成一组,非分支节点的消息分为一组;
S45、对含有非分支节点的消息组返回步骤S42,进行递归调用;
S46、将递归调用结果按分支节点的分支情形进行分组,每一分支归为一组,最终形成树形结构,添加到输出里。
3.根据权利要求1所述的协议冲突匹配方法,其特征在于,步骤S1中,使用节点Int8:a表示从数据源中读取8bit的整型数字并命名为a;使用节点Int16:a表示从数据源中读取16bit的整型数字并命名为a;使用节点if($0>1),判断消息的第0个节点的值是否大于1,其中,$0表示第0个节点的值,if为高级编程语言的if语句。
4.根据权利要求1所述的协议冲突匹配方法,其特征在于,步骤S2中,将消息型节点划分为非分支节点,将判断型节点划分为分支节点。
5.根据权利要求1所述的协议冲突匹配...
【专利技术属性】
技术研发人员:陈思衡,吴晓鹏,刘佳,
申请(专利权)人:广州天源信息科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。