公开/公告号CN106230825A
专利类型发明专利
公开/公告日2016-12-14
原文格式PDF
申请/专利权人 北京金和网络股份有限公司;
申请/专利号CN201610622452.2
申请日2016-08-01
分类号H04L29/06;H04L29/08;
代理机构北京远大卓悦知识产权代理事务所(普通合伙);
代理人史霞
地址 100085 北京市海淀区上地东路1号院盈创动力大厦A座401室
入库时间 2023-06-19 01:07:21
法律状态公告日
法律状态信息
法律状态
2019-05-24
授权
授权
2017-01-11
实质审查的生效 IPC(主分类):H04L29/06 申请日:20160801
实质审查的生效
2016-12-14
公开
公开
技术领域
本发明属于网络数据包通信技术领域,特别涉及一种兼顾处理速度与解析质量的自适应的网络协议解析策略。
背景技术
在处理海量使用公开通信协议通信的数据包时,接收到的数据包非常非常之多。目前一般的策略是使用严谨的数据包格式逻辑判断,来进行数据包的识别。虽然能够时时刻刻保证解析包的质量,但是由于接收到有问题的数据包的时间不确定,并且问题数据包存在的概率比较低,因此,在长时间的接收无问题数据报时,严谨的判断逻辑的同时,严重地损失了网络服务优越的处理性能,使得服务的处理速度大大降低。
发明内容
本发明的一个目的是解决至少上述问题和/或缺陷,并提供至少后面将说明的优点。
本发明还有一个目的是提供一种兼顾处理速度与解析质量的自适应的网络协议解析策略。
本发明提供的技术方案为:
一种兼顾处理速度与解析质量的自适应的网络协议解析策略,包括如下步骤:
采用速度优先策略识别网络传输来的数据包;
若采用速度优先策略识别不出当前数据包,则开始在缓存区中缓存数据包数据,并自动切换至采用质量优先策略解析数据包;
当利用质量优先策略处理完缓冲区内所述数据并且再次接收到的数据包为完整数据包时,自动切换到采用速度优先策略识别数据包。
优选的是,所述的兼顾处理速度与解析质量的自适应的网络协议解析策略中,所述速度优先策略根据自定义通信协议规定的格式进行数据包的解析,若该数据包的格式符合自定义通信协议规定的格式,则判定该数据包为完整数据包,若该数据包的格式不符合自定义通信协议规定的格式,则判定采用速度优先策略识别不出当前数据包,开始在缓存区中缓存数据包数据。
优选的是,所述的兼顾处理速度与解析质量的自适应的网络协议解析策略中,所述速度优先策略根据自定义通信协议数据包的主要特征逻辑进行识别,识别时同时判断批量字符,若该批量字符符合自定义通信协议数据包的主要特征逻辑,则判定该数据包为完整数据包,若该批量字符不符合自定义通信协议数据包的主要特征逻辑,则判定采用速度优先策略识别不出当前数据包,开始在缓存区中缓存数据包数据。
优选的是,所述的兼顾处理速度与解析质量的自适应的网络协议解析策略中,质量优先策略为依次对数据包的逐个字节进行解析并效验其是否符合自定义通信协议的全部特征逻辑。
优选的是,所述的兼顾处理速度与解析质量的自适应的网络协议解析策略中,启动网络服务时,默认采用速度优先策略识别数据包。
优选的是,所述的兼顾处理速度与解析质量的自适应的网络协议解析策略中,若服务长时间处于质量优先策略,则将传输来的数据包对应的IP加入到黑名单中,不再接收其数据包。
优选的是,所述的兼顾处理速度与解析质量的自适应的网络协议解析策略中,该网络协议解析策略应用于实现以redis通信协议为基础的redis cluster代理中。
本发明至少包括以下有益效果:
单一使用简单的包格式逻辑判断,虽然满足处理速度的要求,但是在面对各种存在问题的数据包时可能会存在漏洞,影响包的解析质量。
单一使用严谨的包格式逻辑判断,虽然时时刻刻保证解析包的质量,但是问题数据包的接收时间不确定,在无问题数据包时,严谨的判断逻辑的同时损失的了网络服务的处理性能。
本方法可以很好改善上述问题,自动进行策略切换并兼顾处理速度与解析质量,充分利用了网络服务的处理性能,加速处理速度的同时,兼顾了质量,为其他模块后续处理过滤大量的非法数据包。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
图1为本发明其中一个实施例中兼顾处理速度与解析质量的自适应的网络协议解析策略的流程图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不配出一个或多个其它元件或其组合的存在或添加。
如图1所示,本发明提供一种兼顾处理速度与解析质量的自适应的网络协议解析策略,包括如下步骤:
采用速度优先策略识别网络传输来的数据包;
若采用速度优先策略识别不出当前数据包,则开始在缓存区中缓存数据包数据,并自动切换至采用质量优先策略解析数据包;
当利用质量优先策略处理完缓冲区内所述数据并且再次接收到的数据包为完整数据包时,自动切换到采用速度优先策略识别数据包。
单一使用简单的包格式逻辑判断,虽然满足处理速度的要求,但是在面对各种存在问题的数据包时可能会存在漏洞,影响包的解析质量。
单一使用严谨的包格式逻辑判断,虽然时时刻刻保证解析包的质量,但是问题数据包的接收时间不确定,在无问题数据包时,严谨的判断逻辑的同时损失的了网络服务的处理性能。
因此,采用本方法可以很好改善上述问题,自动进行策略切换并兼顾处理速度与解析质量。
在本发明的其中一个实施例中,作为优选,所述速度优先策略根据自定义通信协议规定的格式进行数据包的解析,若该数据包的格式符合自定义通信协议规定的格式,则判定该数据包为完整数据包,若该数据包的格式不符合自定义通信协议规定的格式,则判定采用速度优先策略识别不出当前数据包,开始在缓存区中缓存数据包数据。
在本发明的其中一个实施例中,作为优选,所述速度优先策略根据数据包的内容进行识别,识别时同时判断批量字符,若该批量字符符合自定义通信协议数据包的主要特征逻辑,则判定该数据包为完整数据包,若该批量字符不符合自定义通信协议数据包的主要特征逻辑,则判定采用速度优先策略识别不出当前数据包,开始在缓存区中缓存数据包数据。
比如,若该数据包中写明该数据包实质上有10个参数,但是在识别过程中发现只有9个参数,那么利用速度优先策略识别不出该数据包,因此,开始在缓存中缓存数据包数据。
再例如,以一行为一个单位进行批量识别,若识别符合逻辑,则判定该数据包为完整数据包,继续采用速度优先策略。
在本发明的其中一个实施例中,作为优选,质量优先策略为依次对数据包的逐个字节进行解析,并效验其是否符合自定义通信协议的全部特征逻辑。
在本发明的其中一个实施例中,作为优选,启动网络服务时,默认采用速度优先策略识别数据包。
在本发明的其中一个实施例中,作为优选,若服务长时间处于质量优先策略,则将传输来的数据包对应的IP加入到黑名单中,不再接收其数据包。
在本发明的其中一个实施例中,作为优选,该网络协议解析策略应用于实现以redis通信协议为基础的redis cluster代理中。
可将问题数据包存储起来,做一个日志以备后期查阅。
这里说明的模块数量和处理规模是用来简化本发明的说明的。对本发明的网络协议解析策略的应用、修改和变化对本领域的技术人员来说是显而易见的。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
机译: 动态网络的自适应服务质量策略
机译: 动态网络的自适应服务质量策略
机译: 动态网络的自适应服务质量策略