[发明专利]一种基于多状态机的协议解析系统及方法在审
申请号: | 201710048041.1 | 申请日: | 2017-01-21 |
公开(公告)号: | CN106817372A | 公开(公告)日: | 2017-06-09 |
发明(设计)人: | 邱志斌;方晓亮;涂高元;郭永兴;陆云燕;陈雅贤 | 申请(专利权)人: | 厦门天锐科技股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 361000 福建省厦门市厦*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 状态机 协议 解析 系统 方法 | ||
技术领域
本发明涉及一种基于多状态机的协议解析系统及解析方法。
背景技术
现有的协议一般都是以键-值对的形式定义的。键也就是通常所说的特征码,值则是通常所说的有效数据。在实际操作时,通过对特征码的循环匹配,将相应的有效数据进行保存,当识别到的特征码为结束特征码的时候,则输出匹配结果。
现有的解析方法存在着如下几点不足:
(I)解析速度慢;
(II)在网络数据传输中,特征码可能被分段传输,导致特征码匹配不到;
(III)无法定义特征码出现的先后顺序;
(V)所有的特征码都聚集在一个状态机里面,可能造成状态机爆炸;
(IV)没有容错机制和跳转机制。
以下对本案涉及到的几个名词进行解释:
(I)状态:用于匹配的最小单位。比如特征码China包含有C、h、i、n和a五个状态。
(II)状态机:一个有向图形,由一组节点和一组相应的转移函数组成。
(III)前置状态:用于保存上次匹配结束时的最终状态。
发明内容
本发明的目的,在于提供一种基于多状态机的协议解析方法,其可提高解析效率,解决特征码被分段传输的问题,并可进行容错处理。
为了达成上述目的,本发明的解决方案是:
一种基于多状态机的协议解析系统,包括:
多状态机生成模块,用于定义需要的状态机以及状态机之间的跳转关系;以及,
状态机匹配模块,用于待匹配数据的输入、中间匹配结果的保存以及最终匹配结果的输出。
一种基于多状态机的协议解析方法,包括如下步骤:
步骤1,初始化所有状态机,并定义各状态机之间的跳转关系,形成多状态机;
步骤2,将待匹配的数据输入多状态机进行匹配,输出匹配结果。
上述步骤1中,对基于Http协议的多状态机,将特征码“POST”作为根状态机下的特征码,“/r/n/r/n”为“POST”特征码下的结束特征码。
上述步骤1中,对基于Smtp协议的多状态机,将特征码“To:”作为根状态机下的特征码,“/r/n/r/n”为“To:”特征码下的结束特征码。
上述步骤2的具体内容是:
步骤21,将待匹配的数据输入多状态机进行匹配;如果前置状态不为空,则将当前状态恢复为前置状态;否则从根状态机开始匹配;
步骤22,如果匹配到特征码,则执行步骤23,否则执行步骤25;
步骤23,如果特征码为结束特征码,则执行步骤24,否则保存对应的有效数据,并跳转到该特征码对应的状态机,并执行步骤22;
步骤24,将获取到的有效数据进行整合并分析:如果有效数据符合解析的协议特征,则输出解析结果并跳转到该特征码对应的状态机;否则判定匹配结果为脏数据,丢弃获取到的有效数据,并跳转到容错状态机;执行完上述操作后执行步骤22;
步骤25,匹配结束,将最后匹配到的状态保存为前置状态。
上述步骤24中,容错状态机为根状态机。
采用上述方案后,本发明具有以下特点:
(1)本发明采用多状态机间跳转的方式,可以解耦状态之间的关系,可以避免状态机爆炸,提高解析效率;
(2)本发明可以解决特征码被分段传输而导致的匹配失败问题;
(3)本发明具有容错机制,可以对脏数据进行识别和处理;
(4)状态机匹配之后,输出的即是最终数据,而不是一堆无序的状态。
附图说明
图1是本发明的多状态机的拓扑图;
图2是本发明的多状态机匹配流程图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
本发明提供一种基于多状态机的协议解析系统,包括如下两个模块:
(1)多状态机生成模块,用于定义需要的状态机以及状态机之间的跳转关系;
(2)状态机匹配模块,用于待匹配数据的输入、中间匹配结果的保存以及最终匹配结果的输出。
基于以上系统,本发明还提供一种基于多状态机的协议解析方法,包括如下步骤:
步骤1,生成多状态机
包含:
步骤11,初始化所有状态机;
步骤12,定义各状态机之间的跳转关系,形成多状态机。
以下将以基于Http协议和Smtp协议的多状态机的生成为例,说明步骤1的实现过程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门天锐科技股份有限公司,未经厦门天锐科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710048041.1/2.html,转载请声明来源钻瓜专利网。