CN109951430B - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
CN109951430B
CN109951430B CN201711397624.1A CN201711397624A CN109951430B CN 109951430 B CN109951430 B CN 109951430B CN 201711397624 A CN201711397624 A CN 201711397624A CN 109951430 B CN109951430 B CN 109951430B
Authority
CN
China
Prior art keywords
data message
protocol
received data
message
protocol class
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
Application number
CN201711397624.1A
Other languages
English (en)
Other versions
CN109951430A (zh
Inventor
吕颖韬
苏畅
张贝金
钟欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201711397624.1A priority Critical patent/CN109951430B/zh
Publication of CN109951430A publication Critical patent/CN109951430A/zh
Application granted granted Critical
Publication of CN109951430B publication Critical patent/CN109951430B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及智能家居、物联网技术领域,特别涉及一种数据处理方法及装置。该方法为:判断接收到的数据报文的报文格式是否与自定义协议报文格式相匹配;判定接收到的数据报文的报文格式与自定义协议报文格式相匹配,基于接收到的数据报文中原数据报文所属协议类的协议名称,判断预设词典中是否存在可用于处理接收到的数据报文中原数据报文的处理函数,其中,预设词典中维护有各协议类的协议名称与处理函数之间的映射关系;判定预设词典中存在可用于处理接收到的数据报文中原数据报文的处理函数,基于处理函数对接收到的数据报文中原数据报文进行解析处理。从软件层面实现了智能网关处理不同协议类的数据报文,并实现了智能网关的灵活性和可扩展性。

Description

一种数据处理方法及装置
技术领域
本发明涉及智能家居、物联网技术领域,特别涉及一种数据处理方法及装置。
背景技术
智能家居,指的是通过物联网技术将家中的各种设备连接到一起。随着物联网技术的快速发展,智能家居使得用户能够以更方便的手段来管理家庭设备。智能设备的组网是智能家居的重要组成部分,是智能家居技术中一个不容忽视的基础部分。智能设备组网的质量和稳定性将直接影响智能家居的使用、体验效果。若智能设备组网不成功,那么,智能设备检测到的数据就不能通过网络推送给用户,也就失去了智能家居的意义。
目前,市场上不同类型的智能设备可能采用的通信协议不同,如目前主流物联网通信协议为:WIFI通信协议,蓝牙通信协议和ZIGBEE通信协议等,且不同协议所采用的数据报文格式不同,而用于将智能设备接入网络的智能网关也只支持一种通信协议,那么,就导致智能家居中对智能设备的选择往往受限于智能网关所支持的通信协议,不利于智能家居的可持续发展。
目前,有技术提出在智能网关中,通过嵌入支持多种通信协议的芯片,以实现智能网关能够同时接入多个使用不同通信协议的智能设备,智能网关使用不同的通信处理模块分别对接收到的,不同数据报文格式的数据进行相应处理。
然而,采用上述方式,需要针对每一智能网关进行硬件改进,增大了智能网关的制造复杂度和制造成本,针对改进后的智能网关,无法在使用过程中随便添加新的通信协议,缺乏灵活性和可扩展性。
发明内容
本发明实施例的目的是提供一种数据处理方法及装置,用以解决现有技术中存在的对智能网关进行硬件改进而导致制造复杂度和制造成本提升,以及改进后的智能网关缺乏灵活性和可扩展性的问题。
本发明实施例中提供的具体技术方案如下:
一种数据处理方法,包括:
判断接收到的数据报文的报文格式是否与自定义协议报文格式相匹配,其中,所述自定义协议报文格式的数据报文中至少包含有原数据报文和原数据报文所属协议类的协议名称;
判定所述接收到的数据报文的报文格式与所述自定义协议报文格式相匹配,基于所述接收到的数据报文中原数据报文所属协议类的协议名称,判断预设词典中是否存在可用于处理所述接收到的数据报文中原数据报文的处理函数,其中,所述预设的词典中维护有各协议类的协议名称与相应的处理函数之间的映射关系;
判定所述预设词典中存在可用于处理所述接收到的数据报文中原数据报文的处理函数,基于所述处理函数对所述接收到的数据报文中原数据报文进行解析处理。
较佳的,在判断接收到的数据的报文格式是否与自定义协议报文格式相匹配之前,进一步包括:
基于各协议类的协议名称和可用于处理各协议类的数据报文的各处理函数,预先建立以协议名称为索引,相应处理函数为内容的词典。
较佳的,进一步包括:
若判定所述接收到的数据报文的报文格式与自定义协议报文格式不匹配,则基于正则匹配规则确定所述接收到的数据报文的地址信息位置特征,并确定所述接收到的数据报文的数据总长度特征;
基于所述接收到的数据报文的地址信息位置特征和数据总长度特征和所述预设词典中各协议类的数据报文的地址信息位置特征和数据总长度特征,分别计算所述接收到的数据报文与所述各协议类的数据报文的相似度;
在判定所述各协议类的数据报文中存在与所述接收到的数据报文的相似度高于第一设定阈值的第一协议类时,采用与所述第一协议类的协议名称相对应的处理函数对所述接收到的数据报文进行解析处理。
较佳的,基于所述接收到的数据报文的地址信息位置特征和数据总长度特征和所述预设词典中各协议类的数据报文的地址信息位置特征和数据总长度特征,分别计算所述接收到的数据报文与所述各协议类的数据报文的相似度,具体包括:
采用以下公式计算所述接收到的数据报文与任一协议类的数据报文的相似度:
Figure GDA0002878503160000031
其中,sim为所述接收到的数据报文与任一协议类的数据报文的相似度,m1为所述接收到的数据报文的地址信息位置特征,l1是所述接收到的数据报文的数据总长度特征;m2为所述任一协议类的数据报文的地址信息位置特征,l2是所述任一协议类的数据报文的数据总长度特征。
较佳的,进一步包括:
若判定所述各协议类的数据报文中不存在与所述接收到的数据报文的相似度高于第一设定阈值的第一协议类,则基于所述接收到的数据报文的地址信息位置特征和数据总长度特征判断所述接收到的数据报文是否属于已有的未知协议类的数据报文;
在判定所述接收到的数据报文属于一个未知协议类的数据报文时,采用所述一个未知协议类相对应的处理函数对所述接收到的数据报文进行解析处理;
若判定所述接收到的数据报文不属于任一未知协议类的数据报文,则将所述接收到的数据报文作为一个新的未知协议类的数据报文;
对所述接收到的数据报文进行相应处理,并通过自主学习生成与所述新的未知协议类相对应的处理函数。
较佳的,对所述接收到的数据报文进行相应处理,具体包括:
至少从所述接收到的数据报文中确定出地址信息,检验信息和设备命令信息等公共信息;
将所述接收到的数据报文中除公共信息之外的其他数据作为设备数据。
较佳的,进一步包括:
若判定所述接收到的数据报文的报文格式与自定义协议报文格式相匹配,而基于所述接收到的数据报文中原数据报文的所属协议类的协议名称判定所述预设词典中不存在可用于处理所述接收到的数据报文的处理函数,则确定所述接收到的数据报文所属的协议类为新的协议类,基于正则匹配规则确定所述接收到的数据报文的地址信息位置特征,并确定所述接收到的数据报文的数据总长度特征;
基于所述接收到的数据报文的地址信息位置特征和数据总长度特征,分别计算所述接收到的数据报文与各未知协议类的数据报文的相似度;
在判定所述各未知协议类的数据报文中存在与所述接收到的数据报文的相似度高于第二设定阈值的第一未知协议类时,将所述第一未知协议类的数据报文整合至所述新的协议类,并采用与所述第一未知协议类相对应的处理函数对所述接收到的数据报文进行解析处理,通过自主学习完善所述第一未知协议类相对应的处理函数,以及将所述新的协议类的协议名称作为索引,相应的处理函数作为内容,更新所述预设词典。
较佳的,进一步包括:
若判定所述各未知协议类的数据报文中不存在与所述接收到的数据报文的相似度高于第二设定阈值的第一未知协议类,则将所述接收到的数据报文作为一个新的协议类的报文数据,并采用分词技术、语义分析等技术提取相应的处理函数,并通过自主学习完善与所述新的协议类相对应的处理函数,以及将所述新的协议类的协议名称作为索引,相应的处理函数作为内容,更新所述预设词典。
一种数据处理装置,包括:
第一判断单元,用于判断接收到的数据报文的报文格式是否与自定义协议报文格式相匹配,其中,所述自定义协议报文格式的数据报文中至少包含有原数据报文和原数据报文所属协议类的协议名称;
第二判断单元,用于判定所述接收到的数据报文的报文格式与所述自定义协议报文格式相匹配,基于所述接收到的数据报文中原数据报文所属协议类的协议名称,判断预设词典中是否存在可用于处理所述接收到的数据报文中原数据报文的处理函数,其中,所述预设的词典中维护有各协议类的协议名称与相应的处理函数之间的映射关系;
处理单元,用于判定所述预设词典中存在可用于处理所述接收到的数据报文中原数据报文的处理函数,基于所述处理函数对所述接收到的数据报文中原数据报文进行解析处理。
较佳的,在判断接收到的数据的报文格式是否与自定义协议报文格式相匹配之前,所述装置进一步包括:
建立单元,用于基于各协议类的协议名称和可用于处理各协议类的数据报文的各处理函数,预先建立以协议名称为索引,相应处理函数为内容的词典。
较佳的,所述第二判断单元进一步用于:
若判定所述接收到的数据报文的报文格式与自定义协议报文格式不匹配,则基于正则匹配规则确定所述接收到的数据报文的地址信息位置特征,并确定所述接收到的数据报文的数据总长度特征;
基于所述接收到的数据报文的地址信息位置特征和数据总长度特征和所述预设词典中各协议类的数据报文的地址信息位置特征和数据总长度特征,分别计算所述接收到的数据报文与所述各协议类的数据报文的相似度;
在判定所述各协议类的数据报文中存在与所述接收到的数据报文的相似度高于第一设定阈值的第一协议类时,采用与所述第一协议类的协议名称相对应的处理函数对所述接收到的数据报文进行解析处理。
较佳的,在基于所述接收到的数据报文的地址信息位置特征和数据总长度特征和所述预设词典中各协议类的数据报文的地址信息位置特征和数据总长度特征,分别计算所述接收到的数据报文与所述各协议类的数据报文的相似度时,所述第二判断单元具体用于:
采用以下公式计算所述接收到的数据报文与任一协议类的数据报文的相似度:
Figure GDA0002878503160000061
其中,sim为所述接收到的数据报文与任一协议类的数据报文的相似度,m1为所述接收到的数据报文的地址信息位置特征,l1是所述接收到的数据报文的数据总长度特征;m2为所述任一协议类的数据报文的地址信息位置特征,l2是所述任一协议类的数据报文的数据总长度特征。
较佳的,所述第二判断单元进一步用于:
若判定所述各协议类的数据报文中不存在与所述接收到的数据报文的相似度高于第一设定阈值的第一协议类,则基于所述接收到的数据报文的地址信息位置特征和数据总长度特征判断所述接收到的数据报文是否属于已有的未知协议类的数据报文;
在判定所述接收到的数据报文属于一个未知协议类的数据报文时,采用所述一个未知协议类相对应的处理函数对所述接收到的数据报文进行解析处理;
若判定所述接收到的数据报文不属于任一未知协议类的数据报文,则将所述接收到的数据报文作为一个新的未知协议类的数据报文;
对所述接收到的数据报文进行相应处理,并通过自主学习生成与所述新的未知协议类相对应的处理函数。
较佳的,在对所述接收到的数据报文进行相应解析处理时,所述第二判断单元具体用于:
至少从所述接收到的数据报文中确定出地址信息,检验信息和设备命令信息等公共信息;
将所述接收到的数据报文中除公共信息之外的其他数据作为设备数据。
较佳的,所述第二判断单元进一步用于:
若判定所述接收到的数据报文的报文格式与自定义协议报文格式相匹配,而基于所述接收到的数据报文中原数据报文的所属协议类的协议名称判定所述预设词典中不存在可用于处理所述接收到的数据报文的处理函数,则确定所述接收到的数据报文所属的协议类为新的协议类,基于正则匹配规则确定所述接收到的数据报文的地址信息位置特征,并确定所述接收到的数据报文的数据总长度特征;
基于所述接收到的数据报文的地址信息位置特征和数据总长度特征,分别计算所述接收到的数据报文与各未知协议类的数据报文的相似度;
在判定所述各未知协议类的数据报文中存在与所述接收到的数据报文的相似度高于第二设定阈值的第一未知协议类时,将所述第一未知协议类的数据报文整合至所述新的协议类,并采用与所述第一未知协议类相对应的处理函数对所述接收到的数据报文进行解析处理,通过自主学习完善所述第一未知协议类相对应的处理函数,以及将所述新的协议类的协议名称作为索引,相应的处理函数作为内容,更新所述预设词典。
较佳的,所述第二判断单元进一步用于:
若判定所述各未知协议类的数据报文中不存在与所述接收到的数据报文的相似度高于第二设定阈值的第一未知协议类,则将所述接收到的数据报文作为一个新的协议类的报文数据,并采用分词技术、语义分析等技术提取相应的处理函数,并通过自主学习完善与所述新的协议类相对应的处理函数,以及将所述新的协议类的协议名称作为索引,相应的处理函数作为内容,更新所述预设词典。
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行:判断接收到的数据报文的报文格式是否与自定义协议报文格式相匹配,其中,所述自定义协议报文格式的数据报文中至少包含有原数据报文和原数据报文所属协议类的协议名称;判定所述接收到的数据报文的报文格式与所述自定义协议报文格式相匹配,基于所述接收到的数据报文中原数据报文所属协议类的协议名称,判断预设词典中是否存在可用于处理所述接收到的数据报文中原数据报文的处理函数,其中,所述预设的词典中维护有各协议类的协议名称与相应的处理函数之间的映射关系;判定所述预设词典中存在可用于处理所述接收到的数据报文中原数据报文的处理函数,基于所述处理函数对所述接收到的数据报文中原数据报文进行解析处理。
一种计算机存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一项方法。
本发明有益效果如下:
综上所述,本发明实施例中,智能网关在针对接收到的智能设备发送的数据进行处理的过程中,判断接收到的数据报文的报文格式是否与自定义协议报文格式相匹配,其中,所述自定义协议报文格式的数据报文中至少包含有原数据报文和原数据报文所属协议类的协议名称;判定所述接收到的数据报文的报文格式与所述自定义协议报文格式相匹配,基于所述接收到的数据报文中原数据报文所属协议类的协议名称,判断预设词典中是否存在可用于处理所述接收到的数据报文中原数据报文的处理函数,其中,所述预设的词典中维护有各协议类的协议名称与相应的处理函数之间的映射关系;判定所述预设词典中存在可用于处理所述接收到的数据报文中原数据报文的处理函数,基于所述处理函数对所述接收到的数据报文中原数据报文进行解析处理。
采用上述方法,通过预设词典维护协议名称和相应处理函数之间的映射关系,通过判断接收到的数据报文携带的协议名称,从预设词典中获取相应的处理函数对该数据报文进行处理,从软件层面实现了智能网关处理不同协议类的数据报文,无需对智能网关进行硬件改造,并能够针对预设词典中未维护的新的协议类/未知协议类的数据进行处理函数的提取,并通过处理经验累积,完善提取出的各处理函数,实现了智能网关的灵活性和可扩展性。
附图说明
图1为本发明实施例中,一种数据处理方法的详细流程图;
图2为本发明实施例中,不同协议类的数据报文的数据格式的示意图;
图3为本发明实施例中,自定义报文协议格式的示意图;
图4为本发明实施例中,另一种数据处理方法的详细流程图;
图5为本发明实施例中,一种数据处理装置的结构示意图。
具体实施方式
为了解决现有技术中存在的对智能网关进行硬件改进而导致制造复杂度和制造成本提升,以及改进后的智能网关缺乏灵活性和可扩展性的问题,本发明实施例中提供了一种新的数据处理方法及装置,该方法为:判断接收到的数据报文的报文格式是否与自定义协议报文格式相匹配,其中,所述自定义协议报文格式的数据报文中至少包含有原数据报文和原数据报文所属协议类的协议名称;判定所述接收到的数据报文的报文格式与所述自定义协议报文格式相匹配,基于所述接收到的数据报文中原数据报文所属协议类的协议名称,判断预设词典中是否存在可用于处理所述接收到的数据报文中原数据报文的处理函数,其中,所述预设的词典中维护有各协议类的协议名称与相应的处理函数之间的映射关系;判定所述预设词典中存在可用于处理所述接收到的数据报文中原数据报文的处理函数,基于所述处理函数对所述接收到的数据报文中原数据报文进行解析处理。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面将通过具体实施例对本发明的方案进行详细描述,当然,本发明并不限于以下实施例。
参阅图1所示,本发明实施例中,一种数据处理方法的详细流程如下:
步骤100:判断接收到的数据报文的报文格式是否与自定义协议报文格式相匹配,其中,上述自定义协议报文格式的数据报文中至少包含有原数据报文和原数据报文所属协议类的协议名称。
具体的,在执行步骤100之前,需要基于各协议类的协议名称和可用于处理各协议类下的数据报文的各处理函数,预先建立以协议名称为索引,相应处理函数为内容的词典。
实际应用中,目前主流物联网通信协议类型至少包括:ZIGBEE协议类,WIFI协议类和蓝牙协议类等。那么用于将智能设备(如,智能冰箱,智能音箱等)接入网络的智能硬件设备(如,智能网关),在针对接收到的不同协议类的数据报文进行数据处理时,由于不同协议类的数据报文的数据格式并不相同,那么就需采用不同的协调模块和处理函数进行相应处理。
具体的,参阅图2所示,本发明实施例中,不同协议类的数据报文的数据格式示意图,ZIGBEE协议类的报文格式为命令头,地址和数据;而蓝牙协议类的报文格式为:前导,接入地址,报头,长度,数据和循环冗余校验。
那么,本发明实施例中,即可预先根据目前主流协议类的协议名称和用于处理各主流协议类的数据报文的处理函数,建立相应的词典,并维护在智能设备和/或智能网关本地,当然,该主流协议类包括但不限于ZIGBEE协议类,WIFI协议类和蓝牙协议类。
例如,假设目前主流物联网协议类为:ZIGBEE,WIFI和蓝牙,其相对应的处理函数分别为:处理函数1,处理函数2和处理函数3,那么,预设词典中维护有以ZIGBEE为索引,以处理函数1为相应内容的映射关系;以WIFI为索引,以处理函数2为相应内容的映射关系;以蓝牙为索引,以处理函数3为相应内容的映射关系。
具体的,在执行步骤100时,智能网关在接收到已接入该智能网关的任一智能设备发送的数据报文时,需要根据该数据报文的报文格式,判断该数据报文的报文格式是否与自定义的协议报文格式相匹配,本发明实施例中,自定义的协议报文格式为在原数据报文的报文头部之前添加发送该数据报文的智能设备支持的协议类的协议名称(即,该数据报文所属的协议类的协议名称信息),也就是说,该数据报文至少包含有原数据报文和原数据报文所属协议类的协议名称信息。
参阅图3所示,本发明实施例中,一种较佳的自定义协议报文格式的示意图。其中,图中括号中的数字是为每个字段分配的长度;版本为支持协议类的版本号;头长度为数据一栏中原数据报文中的头部的长度;总长度为数据的总长度;协议名称为该数据报文所属的协议类的名称;源地址信息是智能设备的地址信息;目的地址信息为智能硬件设备(如,智能网关)的地址信息;数据一栏为原数据报文。
实际应用中,智能家居中各智能设备可采集家庭中各数据(如,室内温度等),并通过已连接的通信协议网络发送至智能网关,通过智能网关处理后将处理后的数据通过平台推送至用户。
步骤110:判定上述接收到的数据报文的报文格式与上述自定义协议报文格式相匹配,基于上述接收到的数据报文中原数据报文所属协议类的协议名称,判断预设词典中是否存在可用于处理上述接收到的数据报文中原数据报文的处理函数,其中,上述预设的词典中维护有各协议类的协议名称与相应的处理函数之间的映射关系。
具体的,本发明实施例中,智能网关在接收到智能设备发送的数据报文之后,在执行步骤110时,判断接收到的数据报文的头部数据中是否携带有相应的协议名称,该协议名称为该数据报文中的原数据报文所属协议类的协议名称,并在判定该数据报文中携带有相应的协议名称时,确定该数据报文的报文格式与自定义协议报文格式相匹配。
进一步的,提取该数据报文携带的协议名称,并根据该协议名称从预设词典中获取与该协议名称相对应的协调模块和处理函数。
实际应用中,报文格式与自定义协议报文格式相匹配的数据报文中携带有原数据报文所属的协议类的协议名称,而预设词典中预先建立有各主流协议类和处理各主流协议类的数据报文的协调模块和处理函数,那么,若在确定出一个数据报文中携带有协议名称时,即可根据该协议名称判断预设词典中是否存储有该协议名称与处理该协议名称的数据报文的协调模块和处理函数。
更进一步的,若判定上述数据报文的报文格式与自定义协议报文格式不匹配,则基于正则匹配规则确定上述数据报文的地址信息位置特征,并确定上述数据报文的数据总长度特征;基于上述数据报文的地址信息位置特征和数据总长度特征和上述预设词典中各协议类的数据报文的地址信息位置特征和数据总长度特征,分别计算上述数据报文与上述各协议类的数据报文的相似度;在判定上述各协议类的数据报文中存在与上述数据报文的相似度高于第一设定阈值的第一协议类时,采用与上述第一协议类的协议名称相对应的处理函数对上述数据报文进行解析处理。
具体的,本发明实施例中,数据报文的地址信息位置特征和数据总长度特征的确定方式为:
首先,计算数据报文的数据总长度,作为该数据报文的数据总长度特征。
实际应用中,由于数据报文中至少携带有智能设备的地址信息,那么,若根据计算出的数据总长度特征判定该总长度特征小于设定值,则判定该数据报文为无效数据,丢弃该数据报文。
然后,设定一个光标,从第1位数据开始,将光标置为0,并从第1位数据开始,截取该数据报文的11位数据,并使用正则(\w{2}-{0,1}){5}\w{2}进行mac地址的匹配,若匹配成功,即将光标位置0位作为该数据报文的地址信息特征;若匹配不成功,则从第1位数据开始,截取该数据报文的15位数据,并使用正则(\d{1,3}\.){3}\d{1,3}进行ip地址的匹配,若匹配成功,即将光标位置0位作为该数据报文的地址信息特征;
最后,若上述mac地址和ip地址的匹配均为匹配成功,则将光标下移一位,将光标置位1,采用上述方法分别进行mac地址和ip地址的匹配,直至任一次匹配成功,确定出该数据报文的地址信息特征,或者,在确定该数据报文未匹配的剩余数据位数已不足完成mac地址和/或ip地址匹配时,则认为该数据报文无效,丢弃该数据报文。
本发明实施例中,智能网关在基于上述数据报文的地址信息位置特征和数据总长度特征和上述预设词典中各协议类的数据报文的地址信息位置特征和数据总长度特征,分别计算上述数据报文与上述各协议类的数据报文的相似度时,具体包括:
智能网关可采用但不限于以下公式计算上述数据报文与任一协议类的数据报文的相似度:
Figure GDA0002878503160000131
其中,sim为上述数据报文与任一协议类的数据报文的相似度,m1为上述数据报文的地址信息位置特征,l1是上述数据报文的数据总长度特征;m2为上述任一协议类的数据报文的地址信息位置特征,l2是上述任一协议类的数据报文的数据总长度特征。
实际应用中,若智能设备发送的数据报文的报文格式并不与自定义协议报文格式相匹配,即数据报文中未携带有相应的协议名称,那么,即无法根据协议名称从预设词典中获取相应的协调模块和处理函数,从而无法根据已经的处理函数对该数据报文进行解析处理。
更进一步的,若判定上述各协议类的数据报文中不存在与上述数据报文的相似度高于第一设定阈值的第一协议类,则基于上述数据报文的地址信息位置特征和数据总长度特征判断上述数据报文是否属于已有的未知协议类的数据报文;在判定上述数据报文属于一个未知协议类的数据报文时,采用上述一个未知协议类相对应的处理函数对上述数据报文进行解析处理;若判定上述数据报文不属于任一未知协议类的数据报文,则将上述数据报文作为一个新的未知协议类的数据报文;对上述数据报文进行相应处理,并通过自主学习生成与上述新的未知协议类相对应的处理函数。
本发明实施例中,一种较佳的实施方式为第一设定阈值设置为95%。
当然,第一设定阈值的取值可根据实际应用场景需求进行相应设定,本发明实施例中,在此不做具体限定。
具体的,本发明实施例中,智能网关在对上述数据报文进行相应处理时,具体包括:至少从所述数据报文中确定出地址信息,检验信息和设备命令信息等公共信息;将所述数据报文中除公共信息之外的其他数据作为设备数据。
实际应用中,在智能网关侧,对接收到的智能设备发送的数据报文处理的具体内容是将数据报文中的设备数据提取出,并上报到云平台以便进一步的处理,并将可用于用户直观了解智能设备的数据推送给用户,那么,智能网关就需从数据报文中准确提取出设备数据,即排除无用数据。
实际应用中,若智能设备为支持WIFI协议类的设备,则该设备的地址信息为ip地址,其发送的数据报文中,至少包含有该ip地址信息;同理,若智能设备为支持蓝牙或ZIGBEE协议类的设备,则该设备的地址信息为mac地址,其发送的数据报文中,至少携带有该mac地址信息。
那么,本发明实施例中,智能网关在对上述数据报文进行相应处理时,首先,进行mac地址和/或ip地址的匹配,排除地址信息的干扰;其次,计算数据报文的校验和,并根据该校验和判断数据报文中是否存在与该校验和格式相匹配的数据,若存在,则排除校验和的干扰;再次,通过字符匹配判断该数据报文中是否存在设备命令,并基于匹配出的设备命令在预设的设备命令词典中查找符合子串规则的设备命令,并在判定该设备命令的出现概率小于设定值(如,10%),则认为该设备命令为错误的设备命令,予以删除,从而排除错误的设备命令的干扰;最后,若判定该数据报文属于一个未知协议类的数据报文,则将剩余数据与该一个未知协议类中其他数据报文进行比对,以判断该未知协议类的数据中是否存在数据一致的部分,若存在,则作为该未知协议类的公共信息,予以排除,若该数据报文不属于任一未知协议类,则说明该数据报文属于一个新的位置协议类,由于不存在已有的数据,则无需执行此步操作。
处理函数在对数据进行处理过程,即是处理函数自学习的过程,是一个通过对大量数据报文的处理,从而累积并不断修复改进的过程,最终处理函数慢慢区域准确和稳定。
本发明实施例中,若判定上述数据报文格式与自定义协议报文格式相匹配,而基于上述数据报文中原数据报文的所属协议类的协议名称判定上述预设词典中不存在可用于处理上述数据报文的处理函数,则确定上述数据报文所属的协议类为新的协议类,基于正则匹配规则确定上述数据报文的地址信息位置特征,并确定上述数据报文的数据总长度特征;基于上述数据报文的地址信息位置特征和数据总长度特征,分别计算上述数据报文与各未知协议类的数据报文的相似度;在判定上述各未知协议类的数据报文中存在与上述数据报文的相似度高于第二设定阈值的第一未知协议类时,将上述第一未知协议类的数据报文整合至上述新的协议类,并采用与上述第一未知协议类相对应的处理函数对上述数据报文进行解析处理,通过自主学习完善上述第一未知协议类相对应的处理函数,以及将上述新的协议类的协议名称作为索引,相应的处理函数作为内容,更新上述预设词典。
显然,本发明实施例中,在判定接收到的数据报文的报文格式与自定义协议报文格式相匹配,但预设词典中不存在可用于处理上述数据报文的处理函数,则确定上述数据报文所属的协议类为新的协议类。那么,此时,就需判断已存在的未知协议类中是否存在与该新的协议类相似度较高的未知协议类,即需计算该数据报文与已存在的未知协议类的数据报文的地址信息特征和数据总长度特征,进一步的根据计算出的各数据报文的特征,分别计算该数据报文与已存在的未知协议类中每一未知协议类的数据报文的相似度。
其中,上述数据报文的地址信息特征和数据总长度特征提取方式与上述特征提取方式一致,相似度计算方式也与上述相似度计算方式一致,本发明实施例中,在此不再赘述。
本发明实施例中,第二设定阈值与第一设定阈值的取值可相同,也可不同。本发明实施例中,一种较佳的实时方式为,将第二设定阈值设置为95%。当然,第二设定阈值的取值可根据实际应用场景需求进行相应设定,本发明实施例中,在此不做具体限定。
若判定上述各未知协议类的数据报文中不存在与上述数据报文的相似度高于第二设定阈值的第一未知协议类,则将所述数据报文作为一个新的协议类,并采用分词技术、语义分析等技术提取相应的处理函数,并通过自主学习完善与所述新的协议类相对应的处理函数,以及将所述新的协议类的协议名称作为索引,相应的处理函数作为内容,更新所述预设词典。
例如,假设接收到的数据报文的报文格式与自定义报文协议格式不匹配,且不属于任一已存在的未知协议类的报文数据,则将该数据报文作为一个新的未知协议类,协议名称设置为UNKNOWi,其中,i代表该未知协议类的编号,如上次编号i为6,则此次编号i为7,即协议名称为UUNKNOW7,并记录UNKNOW7的数据报文的特征,以便后续和其它数据报文进行相似度计算;进一步的,采用分词技术、语义分析等技术提取该数据报文的设备数据,得到符合UNKNOW7的数据报文的处理函数,并在后续的处理同类数据报文的过程中,通过不断匹配计算数据来完善该处理函数。
步骤120:判定上述预设词典中存在可用于处理上述接收到的数据报文中原数据报文的处理函数,基于上述处理函数对上述接收到的数据报文中原数据报文进行解析处理。
具体的,本发明实施例中,智能网关在确定预设词典中维护有该协议名称与相应的处理该协议类的数据报文的协调模块和处理函数时,即可直接调用该处理函数对该数据报文进行解析处理,得到设备数据。
下面采用具体的应用场景对上述实施例作进一步详细说明,参阅图4所示,本发明实施例中,一种数据处理方法的详细流程如下:
步骤400:接收智能设备发送的数据报文。
步骤401:判断该数据报文的格式是否遵循约定格式,若是,则执行步骤402;否则,执行步骤408。
步骤402:以协议名称为索引在预设词典中检索处理函数。
步骤403:判断是否存在与协议名称相对应的处理函数,若是,则执行步骤412;否则,执行步骤404。
步骤404:提取出数据报文的地址信息特征和数据总长度特征,并计算与现有的未知协议类的数据报文的相似度。
步骤405:判断现有未知协议类中是否存在与该数据报文的格式的相似度大于第一设定阈值的未知协议类,若是,则执行步骤406;否则,执行步骤407。
步骤406:与相似的未知协议类聚类融合,并将该未知协议类的协议名称变更为该数据报文的协议名称,以及将该协议名称和处理函数之间的映射关系更新至预设词典中,接着执行步骤412。
步骤407:将该数据报文作为一个新的协议类,并利用分词技术、语义分析等提取处理函数,并将该新的协议类的协议名称和处理函数之间的映射关系更新至预设词典中,接着执行步骤412。
步骤408:提取出数据报文的地址信息特征和数据总长度特征,并计算与预设词典中现有的协议类的数据报文的相似度。
步骤409:判断预设词典中现有协议类和未知协议类中是否存在与该数据报文格式的相似度大于第二设定阈值的协议类,若是,则执行步骤410;否则,执行步骤411。
步骤410:与相似的现有协议类/未知协议类聚类融合,确定出相应的处理函数,接着执行步骤412。
步骤411:将该数据报文作为新的未知协议类,并根据分词技术、语义分析生成新的处理函数,以及将该协议类的协议名称和处理函数之间的映射关系更新至预设词典中,接着执行步骤412。
步骤412:根据处理函数进行数据解析处理。
基于上述实施例,参阅图5所示,本发明实施例中,一种数据处理装置,至少包括第一判断单元50,第二判断单元51和处理单元52,其中,
第一判断单元50,用于判断接收到的数据报文的报文格式是否与自定义协议报文格式相匹配,其中,所述自定义协议报文格式的数据报文中至少包含有原数据报文和原数据报文所属协议类的协议名称;
第二判断单元51,用于判定所述接收到的数据报文的报文格式与所述自定义协议报文格式相匹配,基于所述接收到的数据报文中原数据报文所属协议类的协议名称,判断预设词典中是否存在可用于处理所述接收到的数据报文中原数据报文的处理函数,其中,所述预设的词典中维护有各协议类的协议名称与相应的处理函数之间的映射关系;
处理单元52,用于判定所述预设词典中存在可用于处理所述接收到的数据报文中原数据报文的处理函数,基于所述处理函数对所述接收到的数据报文中原数据报文进行解析处理。
较佳的,在判断接收到的数据的报文格式是否与自定义协议报文格式相匹配之前,所述装置进一步包括:
建立单元,用于基于各协议类的协议名称和可用于处理各协议类的数据报文的各处理函数,预先建立以协议名称为索引,相应处理函数为内容的词典。
较佳的,所述第二判断单元51进一步用于:
若判定所述接收到的数据报文的报文格式与自定义协议报文格式不匹配,则基于正则匹配规则确定所述接收到的数据报文的地址信息位置特征,并确定所述接收到的数据报文的数据总长度特征;
基于所述接收到的数据报文的地址信息位置特征和数据总长度特征和所述预设词典中各协议类的数据报文的地址信息位置特征和数据总长度特征,分别计算所述接收到的数据报文与所述各协议类的数据报文的相似度;
在判定所述各协议类的数据报文中存在与所述接收到的数据报文的相似度高于第一设定阈值的第一协议类时,采用与所述第一协议类的协议名称相对应的处理函数对所述接收到的数据报文进行解析处理。
较佳的,在基于所述接收到的数据报文的地址信息位置特征和数据总长度特征和所述预设词典中各协议类的数据报文的地址信息位置特征和数据总长度特征,分别计算所述接收到的数据报文与所述各协议类的数据报文的相似度时,所述第二判断单元51具体用于:
采用以下公式计算所述接收到的数据报文与任一协议类的数据报文的相似度:
Figure GDA0002878503160000191
其中,sim为所述接收到的数据报文与任一协议类的数据报文的相似度,m1为所述接收到的数据报文的地址信息位置特征,l1是所述接收到的数据报文的数据总长度特征;m2为所述任一协议类的数据报文的地址信息位置特征,l2是所述任一协议类的数据报文的数据总长度特征。
较佳的,所述第二判断单元51进一步用于:
若判定所述各协议类的数据报文中不存在与所述接收到的数据报文的相似度高于第一设定阈值的第一协议类,则基于所述接收到的数据报文的地址信息位置特征和数据总长度特征判断所述接收到的数据报文是否属于已有的未知协议类的数据报文;
在判定所述接收到的数据报文属于一个未知协议类的数据报文时,采用所述一个未知协议类相对应的处理函数对所述接收到的数据报文进行解析处理;
若判定所述接收到的数据报文不属于任一未知协议类的数据报文,则将所述接收到的数据报文作为一个新的未知协议类的数据报文;
对所述接收到的数据报文进行相应处理,并通过自主学习生成与所述新的未知协议类相对应的处理函数。
较佳的,在对所述接收到的数据报文进行相应解析处理时,所述第二判断单元51具体用于:
至少从所述接收到的数据报文中确定出地址信息,检验信息和设备命令信息等公共信息;
将所述接收到的数据报文中除公共信息之外的其他数据作为设备数据。
较佳的,所述第二判断单元51进一步用于:
若判定所述接收到的数据报文的报文格式与自定义协议报文格式相匹配,而基于所述接收到的数据报文中原数据报文的所属协议类的协议名称判定所述预设词典中不存在可用于处理所述接收到的数据报文的处理函数,则确定所述接收到的数据报文所属的协议类为新的协议类,基于正则匹配规则确定所述接收到的数据报文的地址信息位置特征,并确定所述接收到的数据报文的数据总长度特征;
基于所述接收到的数据报文的地址信息位置特征和数据总长度特征,分别计算所述接收到的数据报文与各未知协议类的数据报文的相似度;
在判定所述各未知协议类的数据报文中存在与所述接收到的数据报文的相似度高于第二设定阈值的第一未知协议类时,将所述第一未知协议类的数据报文整合至所述新的协议类,并采用与所述第一未知协议类相对应的处理函数对所述接收到的数据报文进行解析处理,通过自主学习完善所述第一未知协议类相对应的处理函数,以及将所述新的协议类的协议名称作为索引,相应的处理函数作为内容,更新所述预设词典。
较佳的,所述第二判断单元51进一步用于:
若判定所述各未知协议类的数据报文中不存在与所述接收到的数据报文的相似度高于第二设定阈值的第一未知协议类,则将所述接收到的数据报文作为一个新的协议类的报文数据,并采用分词技术、语义分析等技术提取相应的处理函数,并通过自主学习完善与所述新的协议类相对应的处理函数,以及将所述新的协议类的协议名称作为索引,相应的处理函数作为内容,更新所述预设词典。
综上所述,本发明实施例中,智能网关在针对接收到的智能设备发送的数据进行处理的过程中,判断接收到的数据报文的报文格式是否与自定义协议报文格式相匹配,其中,所述自定义协议报文格式的数据报文中至少包含有原数据报文和原数据报文所属协议类的协议名称;判定所述接收到的数据报文的报文格式与所述自定义协议报文格式相匹配,基于所述接收到的数据报文中原数据报文所属协议类的协议名称,判断预设词典中是否存在可用于处理所述接收到的数据报文中原数据报文的处理函数,其中,所述预设的词典中维护有各协议类的协议名称与相应的处理函数之间的映射关系;判定所述预设词典中存在可用于处理所述接收到的数据报文中原数据报文的处理函数,基于所述处理函数对所述接收到的数据报文中原数据报文进行解析处理。
采用上述方法,通过预设词典维护协议名称和相应处理函数之间的映射关系,通过判断接收到的数据报文携带的协议名称,从预设词典中获取相应的处理函数对该数据报文进行处理,从软件层面实现了智能网关处理不同协议类的数据报文,无需对智能网关进行硬件改造,并能够针对预设词典中未维护的新的协议类/未知协议类的数据进行处理函数的提取,并通过处理经验累积,完善提取出的各处理函数,实现了智能网关的灵活性和可扩展性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (9)

1.一种数据处理方法,其特征在于,包括:
判断接收到的数据报文的报文格式是否与自定义协议报文格式相匹配,其中,所述自定义协议报文格式的数据报文中至少包含有原数据报文和原数据报文所属协议类的协议名称;
判定所述接收到的数据报文的报文格式与所述自定义协议报文格式相匹配,基于所述接收到的数据报文中原数据报文所属协议类的协议名称,判断预设词典中是否存在可用于处理所述接收到的数据报文中原数据报文的处理函数,其中,所述预设词典中维护有各协议类的协议名称与相应的处理函数之间的映射关系;
判定所述预设词典中存在可用于处理所述接收到的数据报文中原数据报文的处理函数,基于所述处理函数对所述接收到的数据报文中原数据报文进行解析处理;
所述方法进一步包括:
若判定所述接收到的数据报文的报文格式与自定义协议报文格式不匹配,则基于正则匹配规则确定所述接收到的数据报文的地址信息位置特征,并确定所述接收到的数据报文的数据总长度特征;
基于所述接收到的数据报文的地址信息位置特征和数据总长度特征和所述预设词典中各协议类的数据报文的地址信息位置特征和数据总长度特征,分别计算所述接收到的数据报文与所述预设词典中各协议类的数据报文的相似度;
在判定所述预设词典中各协议类的数据报文中存在与所述接收到的数据报文的相似度高于第一设定阈值的第一协议类时,采用与所述第一协议类的协议名称相对应的处理函数对所述接收到的数据报文进行解析处理;
若判定所述预设词典中各协议类的数据报文中不存在与所述接收到的数据报文的相似度高于第一设定阈值的第一协议类,则基于所述接收到的数据报文的地址信息位置特征和数据总长度特征判断所述接收到的数据报文是否属于已有的未知协议类的数据报文;
在判定所述接收到的数据报文属于一个未知协议类的数据报文时,采用所述一个未知协议类相对应的处理函数对所述接收到的数据报文进行解析处理;
若判定所述接收到的数据报文不属于任一未知协议类的数据报文,则将所述接收到的数据报文作为一个新的未知协议类的数据报文;
对所述接收到的数据报文进行相应处理,并通过自主学习生成与所述新的未知协议类相对应的处理函数。
2.如权利要求1所述的方法,其特征在于,在判断接收到的数据的报文格式是否与自定义协议报文格式相匹配之前,进一步包括:
基于各协议类的协议名称和可用于处理各协议类的数据报文的各处理函数,预先建立以协议名称为索引,相应处理函数为内容的词典。
3.如权利要求2所述的方法,其特征在于,基于所述接收到的数据报文的地址信息位置特征和数据总长度特征和所述预设词典中各协议类的数据报文的地址信息位置特征和数据总长度特征,分别计算所述接收到的数据报文与所述各协议类的数据报文的相似度,具体包括:
采用以下公式计算所述接收到的数据报文与任一协议类的数据报文的相似度:
Figure FDA0002878503150000021
其中,sim为所述接收到的数据报文与任一协议类的数据报文的相似度,m1为所述接收到的数据报文的地址信息位置特征,l1是所述接收到的数据报文的数据总长度特征;m2为所述任一协议类的数据报文的地址信息位置特征,l2是所述任一协议类的数据报文的数据总长度特征。
4.如权利要求1所述的方法,其特征在于,对所述接收到的数据报文进行相应处理,具体包括:
至少从所述接收到的数据报文中确定出以下公共信息:设备地址信息,检验信息和设备命令信息;
将所述接收到的数据报文中除公共信息之外的其他数据作为设备数据。
5.如权利要求1或2所述的方法,其特征在于,进一步包括:
若判定所述接收到的数据报文的报文格式与自定义协议报文格式相匹配,而基于所述接收到的数据报文中原数据报文的所属协议类的协议名称判定所述预设词典中不存在可用于处理所述接收到的数据报文的处理函数,则确定所述接收到的数据报文所属的协议类为新的协议类,基于正则匹配规则确定所述接收到的数据报文的地址信息位置特征,并确定所述接收到的数据报文的数据总长度特征;
基于所述接收到的数据报文的地址信息位置特征和数据总长度特征,分别计算所述接收到的数据报文与各未知协议类的数据报文的相似度;
在判定所述各未知协议类的数据报文中存在与所述接收到的数据报文的相似度高于第二设定阈值的第一未知协议类时,将所述第一未知协议类的数据报文整合至所述新的协议类,并采用与所述第一未知协议类相对应的处理函数对所述接收到的数据报文进行解析处理,通过自主学习完善所述第一未知协议类相对应的处理函数,以及将所述新的协议类的协议名称作为索引,相应的处理函数作为内容,更新所述预设词典。
6.如权利要求5所述的方法,其特征在于,进一步包括:
若判定所述各未知协议类的数据报文中不存在与所述接收到的数据报文的相似度高于第二设定阈值的第一未知协议类,则将所述接收到的数据报文作为一个新的协议类的报文数据,并采用分词技术、语义分析等技术提取相应的处理函数,并通过自主学习完善与所述新的协议类相对应的处理函数,以及将所述新的协议类的协议名称作为索引,相应的处理函数作为内容,更新所述预设词典。
7.一种数据处理装置,其特征在于,包括:
第一判断单元,用于判断接收到的数据报文的报文格式是否与自定义协议报文格式相匹配,其中,所述自定义协议报文格式的数据报文中至少包含有原数据报文和原数据报文所属协议类的协议名称;
第二判断单元,用于判定所述接收到的数据报文的报文格式与所述自定义协议报文格式相匹配,基于所述接收到的数据报文中原数据报文所属协议类的协议名称,判断预设词典中是否存在可用于处理所述接收到的数据报文中原数据报文的处理函数,其中,所述预设词典中维护有各协议类的协议名称与相应的处理函数之间的映射关系;
处理单元,用于判定所述预设词典中存在可用于处理所述接收到的数据报文中原数据报文的处理函数,基于所述处理函数对所述接收到的数据报文中原数据报文进行解析处理;
所述第二判断单元进一步用于:
若判定所述接收到的数据报文的报文格式与自定义协议报文格式不匹配,则基于正则匹配规则确定所述接收到的数据报文的地址信息位置特征,并确定所述接收到的数据报文的数据总长度特征;
基于所述接收到的数据报文的地址信息位置特征和数据总长度特征和所述预设词典中各协议类的数据报文的地址信息位置特征和数据总长度特征,分别计算所述接收到的数据报文与所述预设词典中各协议类的数据报文的相似度;
在判定所述预设词典中各协议类的数据报文中存在与所述接收到的数据报文的相似度高于第一设定阈值的第一协议类时,采用与所述第一协议类的协议名称相对应的处理函数对所述接收到的数据报文进行解析处理;
所述第二判断单元进一步用于:
若判定所述预设词典中各协议类的数据报文中不存在与所述接收到的数据报文的相似度高于第一设定阈值的第一协议类,则基于所述接收到的数据报文的地址信息位置特征和数据总长度特征判断所述接收到的数据报文是否属于已有的未知协议类的数据报文;
在判定所述接收到的数据报文属于一个未知协议类的数据报文时,采用所述一个未知协议类相对应的处理函数对所述接收到的数据报文进行解析处理;
若判定所述接收到的数据报文不属于任一未知协议类的数据报文,则将所述接收到的数据报文作为一个新的未知协议类的数据报文;
对所述接收到的数据报文进行相应处理,并通过自主学习生成与所述新的未知协议类相对应的处理函数。
8.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行:判断接收到的数据报文的报文格式是否与自定义协议报文格式相匹配,其中,所述自定义协议报文格式的数据报文中至少包含有原数据报文和原数据报文所属协议类的协议名称;判定所述接收到的数据报文的报文格式与所述自定义协议报文格式相匹配,基于所述接收到的数据报文中原数据报文所属协议类的协议名称,判断预设词典中是否存在可用于处理所述接收到的数据报文中原数据报文的处理函数,其中,所述预设词典中维护有各协议类的协议名称与相应的处理函数之间的映射关系;判定所述预设词典中存在可用于处理所述接收到的数据报文中原数据报文的处理函数,基于所述处理函数对所述接收到的数据报文中原数据报文进行解析处理;若判定所述接收到的数据报文的报文格式与自定义协议报文格式不匹配,则基于正则匹配规则确定所述接收到的数据报文的地址信息位置特征,并确定所述接收到的数据报文的数据总长度特征;基于所述接收到的数据报文的地址信息位置特征和数据总长度特征和所述预设词典中各协议类的数据报文的地址信息位置特征和数据总长度特征,分别计算所述接收到的数据报文与所述预设词典中各协议类的数据报文的相似度;在判定所述预设词典中各协议类的数据报文中存在与所述接收到的数据报文的相似度高于第一设定阈值的第一协议类时,采用与所述第一协议类的协议名称相对应的处理函数对所述接收到的数据报文进行解析处理;若判定所述预设词典中各协议类的数据报文中不存在与所述接收到的数据报文的相似度高于第一设定阈值的第一协议类,则基于所述接收到的数据报文的地址信息位置特征和数据总长度特征判断所述接收到的数据报文是否属于已有的未知协议类的数据报文;在判定所述接收到的数据报文属于一个未知协议类的数据报文时,采用所述一个未知协议类相对应的处理函数对所述接收到的数据报文进行解析处理;若判定所述接收到的数据报文不属于任一未知协议类的数据报文,则将所述接收到的数据报文作为一个新的未知协议类的数据报文;对所述接收到的数据报文进行相应处理,并通过自主学习生成与所述新的未知协议类相对应的处理函数。
9.一种计算机存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行权利要求1至6任一项所述的方法。
CN201711397624.1A 2017-12-21 2017-12-21 一种数据处理方法及装置 Active CN109951430B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711397624.1A CN109951430B (zh) 2017-12-21 2017-12-21 一种数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711397624.1A CN109951430B (zh) 2017-12-21 2017-12-21 一种数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN109951430A CN109951430A (zh) 2019-06-28
CN109951430B true CN109951430B (zh) 2021-04-30

Family

ID=67006173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711397624.1A Active CN109951430B (zh) 2017-12-21 2017-12-21 一种数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN109951430B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111277569B (zh) * 2020-01-10 2022-08-16 北京融信易安信息技术有限公司 一种网络报文解码方法、装置及电子设备
CN111586058A (zh) * 2020-05-09 2020-08-25 成都安恒信息技术有限公司 一种运维审计系统混合协议代理系统及方法
CN113311809A (zh) * 2021-05-28 2021-08-27 苗叶 一种基于工业控制系统的安全运维指令阻断装置和方法
CN117555957A (zh) * 2024-01-12 2024-02-13 中电数据产业有限公司 一种api报文格式自动适配和转换方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170496A (zh) * 2007-09-14 2008-04-30 华为技术有限公司 一种点对点媒体流确定方法和装置
CN101547207A (zh) * 2009-05-07 2009-09-30 杭州迪普科技有限公司 一种基于应用行为模式的协议识别控制方法和设备
CN102082762A (zh) * 2009-11-30 2011-06-01 华为技术有限公司 一种协议识别方法、设备及系统
CN103001971A (zh) * 2012-12-25 2013-03-27 成都科来软件有限公司 一种网络数据包解析方法
CN103023909A (zh) * 2012-12-24 2013-04-03 成都科来软件有限公司 一种网络数据包协议识别方法及系统
CN103916294A (zh) * 2014-04-29 2014-07-09 华为技术有限公司 协议类型的识别方法和装置
CN104144156A (zh) * 2013-05-10 2014-11-12 华为技术有限公司 报文处理方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120800A1 (en) * 2001-12-06 2003-06-26 Edwards Systens Technology, Inc. Network layer protocol

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170496A (zh) * 2007-09-14 2008-04-30 华为技术有限公司 一种点对点媒体流确定方法和装置
CN101547207A (zh) * 2009-05-07 2009-09-30 杭州迪普科技有限公司 一种基于应用行为模式的协议识别控制方法和设备
CN102082762A (zh) * 2009-11-30 2011-06-01 华为技术有限公司 一种协议识别方法、设备及系统
CN103023909A (zh) * 2012-12-24 2013-04-03 成都科来软件有限公司 一种网络数据包协议识别方法及系统
CN103001971A (zh) * 2012-12-25 2013-03-27 成都科来软件有限公司 一种网络数据包解析方法
CN104144156A (zh) * 2013-05-10 2014-11-12 华为技术有限公司 报文处理方法和装置
CN103916294A (zh) * 2014-04-29 2014-07-09 华为技术有限公司 协议类型的识别方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"无人平台测控协议信息逆向分析";陈佳莹;《中国优秀硕士学位论文全文数据库工程科技II辑》;20161015;全文 *

Also Published As

Publication number Publication date
CN109951430A (zh) 2019-06-28

Similar Documents

Publication Publication Date Title
CN109951430B (zh) 一种数据处理方法及装置
US9882808B2 (en) Packet processing method and apparatus
CN110401662B (zh) 一种工控设备指纹识别方法、存储介质
CN107888695A (zh) 云平台创建镜像的方法和云平台设备
CN110061921B (zh) 一种云平台数据包分发方法及系统
CN108667732A (zh) 一种报文转发方法及装置
CN111107064B (zh) 终端设备识别方法、装置、设备及可读存储介质
CN114647698A (zh) 数据同步方法、装置及计算机存储介质
CN107547400B (zh) 一种虚拟机迁移方法和装置
CN104079623A (zh) 多级云存储同步控制方法及系统
CN107070719A (zh) 一种设备管理方法和装置
CN111315026A (zh) 信道的选择方法、装置、网关及计算机可读存储介质
CN112367215B (zh) 基于机器学习的网络流量协议识别方法和装置
CN103581020B (zh) 一种报文转发的方法、装置及系统
WO2018120853A1 (zh) 一种总线信号协议解码方法
CN105340227B (zh) 开放流流表间信息传递的方法、控制器、交换机及系统
CN112468400A (zh) 一种故障定位方法、装置、设备和介质
CN111277449B (zh) 语音业务设备的安全性测试方法及装置
CN105634999B (zh) 一种介质访问控制地址的老化方法及装置
CN116418689A (zh) 一种请求报文响应方法、装置、电子设备和存储介质
CN116055576A (zh) 一种数据传输方法、系统、电子设备及存储介质
CN114721901A (zh) 高带宽转接行为的检测方法、装置、设备及存储介质
CN110445800B (zh) 一种基于自学习的深度报文解析系统
CN103970860B (zh) 一种数据处理的方法、装置及系统
CN114844658A (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