CN112583797A - 多协议数据处理方法、装置、设备及计算机可读存储介质 - Google Patents
多协议数据处理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112583797A CN112583797A CN202011374056.5A CN202011374056A CN112583797A CN 112583797 A CN112583797 A CN 112583797A CN 202011374056 A CN202011374056 A CN 202011374056A CN 112583797 A CN112583797 A CN 112583797A
- Authority
- CN
- China
- Prior art keywords
- protocol
- new
- hash value
- processing function
- dictionary table
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种多协议数据处理方法、装置、设备及计算机可读存储介质,本发明多协议数据处理方法包括:接收接口底层传输的数据包,提取所述数据包中的特征信息;对所述特征信息进行哈希值计算,以获取目标哈希值,检测所述目标哈希值是否和预设的哈希字典表匹配;若所述目标哈希值和预设的哈希字典表不匹配,则检测所述特征信息对应的协议是否为新协议;若是新协议,则确定所述新协议对应的新处理函数接口,根据所述新处理函数接口和所述目标哈希值更新所述哈希字典表。从而提高了数据处理的可靠性。
Description
技术领域
本发明涉及通信网络技术领域,尤其涉及一种多协议数据处理方法、装置、设备及计算机可读存储介质。
背景技术
随着近年来终端产品使用技术的快速发展,以智慧城市、智慧社区、智慧家庭为应用场景的终端设备呈现多样化的趋势,结合有线传输、无线传输等传输带宽的不断扩大,越来越多的终端数据可以有条件传输到服务器上去处理。当大量的数据汇聚到服务器进行处理时就会对服务器数据接入的性能提出的更高的要求。而且这些汇聚的数据主要传输承载方式是以以太网传输为基础。以以太网传输的数据包在底层传输格式标准化,严格按照以太网帧格式进行传输,而在以太网之上传输的数据根据业务不同、厂家不同、应用需求不同呈现多种多样的格式,有国际标准协议格式、有国家标准格式、有企业自定义标准等等。在以太网传输领域,区分这个协议的不同主要采用源IP(Internet Protocol Address,互联网协议地址)地址+协议号+端口号来进行分类区别。根据处理能力的不同,每台服务器动辄接入上万台甚至上百万台不同厂家的不同协议的设备。
目前,终端设备是以源IP地址+协议号+端口号进行Socket(套接字)数据发送,服务器设备通过采用系统自带的Socket监听预设的端口号进行监听,在指定的端口号上接收数据并将其向后传实施下一步的业务处理。但是这种方式针对具有海量、多源、异构特性的上传数据无法有效地进行,且由于需要对每个接收的数据都进行监听,其数据处理流程复杂,系统资源浪费较大,从而造成整体的性能就会大幅下降;降低了数据处理的可靠性。因此,如何提高数据处理的可靠性成为了目前亟待解决的技术问题。
发明内容
本发明的主要目的在于提出一种多协议数据处理方法、装置、设备及计算机可读存储介质,旨在解决如何提高数据处理的可靠性的技术问题。
为实现上述目的,本发明提供一种多协议数据处理方法,所述多协议数据处理方法包括如下步骤:
接收接口底层传输的数据包,提取所述数据包中的特征信息;
对所述特征信息进行哈希值计算,以获取目标哈希值,检测所述目标哈希值是否和预设的哈希字典表匹配;
若所述目标哈希值和预设的哈希字典表不匹配,则检测所述特征信息对应的协议是否为新协议;
若是新协议,则确定所述新协议对应的新处理函数接口,根据所述新处理函数接口和所述目标哈希值更新所述哈希字典表。
可选地,检测所述目标哈希值是否和预设的哈希字典表匹配的步骤,包括:
确定预设的哈希字典表中所有哈希值的字段,确定所述目标哈希值的目标字段,并将所述目标字段和各所述字段进行对比;
根据所述对比的对比结果确定所述目标哈希值是否和预设的哈希字典表匹配。
可选地,检测所述目标哈希值是否和预设的哈希字典表匹配的步骤之后,包括:
若所述目标哈希值和预设的哈希字典表匹配,则获取所述哈希字典表中所述目标哈希值对应的处理函数接口;
根据所述处理函数接口中的处理函数对所述数据包进行数据处理。
可选地,确定所述新协议对应的新处理函数接口的步骤,包括:
确定所述数据包对应的业务类型,根据所述业务类型设置所述新数据包对应的新处理函数,并确定所述新处理函数的存储位置,根据所述存储位置设置所述新处理函数的数据接口,将所述数据接口作为所述新协议对应的新处理函数接口。
可选地,根据所述新处理函数接口和所述目标哈希值更新所述哈希字典表的步骤,包括:
检测所述新处理函数接口是否有效;
若所述新处理函数接口有效,则构建所述新处理函数接口和所述目标哈希值之间的对应关系,并将所述对应关系更新到所述哈希字典表。
可选地,检测所述特征信息对应的协议是否为新协议的步骤之后,包括:
若所述协议不是新协议,则确定所述数据包为故障数据包,暂停对所述数据包的处理流程,并输出预设的告警提示信息。
可选地,特征信息包括以下至少一种或其组合:源IP、协议号和端口号。
此外,为实现上述目的,本发明还提供一种多协议数据处理装置,所述多协议数据处理装置包括:
接收模块,用于接收接口底层传输的数据包,提取所述数据包中的特征信息;
计算模块,用于对所述特征信息进行哈希值计算,以获取目标哈希值,检测所述目标哈希值是否和预设的哈希字典表匹配;
检测模块,用于若所述目标哈希值和预设的哈希字典表不匹配,则检测所述特征信息对应的协议是否为新协议;
更新模块,用于若是新协议,则确定所述新协议对应的新处理函数接口,根据所述新处理函数接口和所述目标哈希值更新所述哈希字典表。
此外,为实现上述目的,本发明还提供一种多协议数据处理设备,所述多协议数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多协议数据处理程序,所述多协议数据处理程序被所述处理器执行时实现如上所述的多协议数据处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有多协议数据处理程序,所述多协议数据处理程序被处理器执行时实现如上所述的多协议数据处理方法的步骤。
本发明通过接收接口底层传输的数据包,提取所述数据包中的特征信息;对所述特征信息进行哈希值计算,以获取目标哈希值,检测所述目标哈希值是否和预设的哈希字典表匹配;若所述目标哈希值和预设的哈希字典表不匹配,则检测所述特征信息对应的协议是否为新协议;若是新协议,则确定所述新协议对应的新处理函数接口,根据所述新处理函数接口和所述目标哈希值更新所述哈希字典表。通过对接口底层传输的数据包进行特征信息提取,并进行哈希值计算,以获取目标哈希值,在目标哈希值和哈希字典表不匹配,且特征信息对应的协议是新协议时,确定新协议对应的新处理函数接口,并根据新处理函数接口和目标哈希值更新哈希字典表,从而避免了现有技术中需要对每个端口号进行监听,并在接收到数据后才实施下一步骤,导致系统资源浪费大的现象发生,提高了数据处理的可靠性,而且处理函数处理接口时可以实时的调用静态函数,函数执行过程中消耗系统资源,函数不执行时不消耗系统资源,保障系统的续航能力,提高了数据处理的可靠性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的多协议数据处理设备结构示意图;
图2为本发明多协议数据处理方法第一实施例的流程示意图;
图3为本发明多协议数据处理装置的装置模块示意图;
图4为本发明多协议数据处理方法中哈希字典表的示意图;
图5为本发明多协议数据处理方法中的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的多协议数据处理设备结构示意图。
本发明实施例多协议数据处理设备可以是搭载了虚拟化平台的PC机或服务器(如X86服务器)等终端设备。
如图1所示,该多协议数据处理设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及多协议数据处理程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的多协议数据处理程序,并执行以下安全组件的权限配置方法实施例中的操作。
基于上述硬件结构,提出本发明多协议数据处理方法实施例,如下所述。
参照图2,图2为本发明多协议数据处理方法第一实施例的流程示意图,所述多协议数据处理方法包括:
步骤S10,接收接口底层传输的数据包,提取所述数据包中的特征信息;
由于目前采用指定端口号接收数据的方式存在一定的缺陷,如每一个业务都因厂家、终端设备、数据类型的差异而不同,需要以IP地址+协议号+端口号来表示其唯一性,在服务器端就需要一个独立的Socket(套接字)程序来接收数据,服务器操作系统中的Socket程序是以进程(线程)方式存在。每个进程(线程)都要耗费一定的系统资源(计算能力、处理能力、内存等),且进程(线程)按照系统调度分时实行,进程(线程)数目达到一定程度时,系统调度也需要耗费大量的系统资源,这样整体的性能就会大幅下降,降低了数据处理的可靠性。而且因为终端厂家的多样性,各自厂家的协议设置的端口有可能重复,在服务器端使用Socket进行端口监听时,单独靠端口接收数据会因为不同厂家的不同业务因为设置端口号相同导致处理错误。并且,服务器端使用Socket进行端口监听时,需要实时不间断的进行监听,从而避免数据包的丢失,这样也耗费大量的系统资源。并且,从以太网物理接口出来的数据是串行数据,经过系统Socket,以及进程(线程)处理之后变成分时处理的并行数据,也降低的数据的处理效率。Socket监听端口以及相应的数据处理程序必须预先启动,不能根据需求进行启动以及关闭。
因此,在本发明实施例中提供一种基于以太网数据包底层接收方式结合HASH(哈希)字典映射处理函数技术实现对终端上传数据的协议的快速对接、快速处理。其具体过程可以是:1、采用Key(关键字):源IP+协议号+端口号,Value(键值):指定处理函数处理入口点,预先形成HASH字典表;2、接收物理网口传输的数据,以以太网帧格式提取数据;3、在提取的数据中提取源IP+协议号+端口号,作为HASH字典表所需要的Key值;4、利用HASH字典表查找相应的函数并调用函数处理数据包中的数据;5、因为前端设备、协议、厂家会经常发生变化,根据Key:源IP+协议号+端口号判决是否是新的设备协议接入,如果确定是新的协议接入,滚动更新HASH字典,并产生事件上报,依据上报结果匹配相应的处理函数。
也就是在本实施例中是直接从底层获取实时以太网数据包,避免了利用系统Socket监听不同端口而必须启动的多进程(线程)的资源消耗;利用以源IP+协议号+端口号为Key,处理函数处理入口点可以实时的调用静态函数,函数执行过程中消耗资源,函数不执行时不消耗资源;串行数据串行处理,降低了数据处理系统的复杂性,提高了数据处理系统的可靠性;采用HASH字典,快速查找,提高入口处理性能;实时动态发现新接入、协议变更、地址更换的前端设备,提高设备维护的便利以及可靠性;采用以源IP+协议号+端口号为Key细粒度划分有效避免同厂家不同批次的协议变换、不同厂家的端口冲突等问题,提升系统可扩展性。
因此在本实施例中,需要服务器先接收客户端发送从接口底层传输的数据包,并提取数据包中的特征信息,该特征信息包括源IP、协议号和端口号中的一种或多种组合,在本实施例中,优选的选择特征信息为源IP+协议号+端口号的组合。具体地,可以是利用程序直接从以太网MAC(Media Access Control,媒体访问控制)层获取以太网MAC数据包,并提取获取的MAC数据包中的源IP+协议号+端口号。并且MAC从总线收到IP数据包(或者其他网络层协议的数据包)后,将之拆分并重新打包成最大1518Byte(字节)、最小64Byte的帧。这个帧里面包括了目标MAC地址、自己的源MAC地址和数据包里面的协议类型,而协议类型又包括源IP+协议号+端口号。
步骤S20,对所述特征信息进行哈希值计算,以获取目标哈希值,检测所述目标哈希值是否和预设的哈希字典表匹配;
当提取到数据包中的特征信息后,可以利用HASH技术对特征信息进行哈希值计算,以获取特征信息对应的哈希值,即目标哈希值。并且在本实施例中,计算目标哈希值之前还需要提前设置好哈希字典表,以便将目标哈希值和哈希字典表进行匹配,并根据不同的匹配结果执行不同的操作。其中,哈希是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种变化映射,所有的输出都是相同长度数值。字典是采用Key-Value键值对的方式进行数据存储,其中key可以HASH处理,将key处理成固定长度的数值,在字典中依据数值升序或者其它可以提高查找速度的方式对value进行排列,因此可以快速有效的采用各种查找算法通过key找到value值,提高查找效率。
哈希字典表的构建方式是先确定一定数量的业务类型,并确定各个业务类型对应的协议类型(包括源IP+协议号+端口号),将其作为key,并确定各个协议类型对应的处理函数接入口,将其作为Value,创建各个协议类型和各个处理函数接入口的对应关系,根据各个对应关系构建哈希字典表。如图4所示,先确定Key,包括IP1+协议号1+端口号1;IP2+协议号2+端口号2;IP3+协议号3+端口号3;IP4+协议号4+端口号4;并根据HASH函数对各个Key进行HASH运算得到各个Key对应的值,并对各个值重排,得到0001xx,0002xx;0003xx;0004xx。根据各个值确定各个Key对应的Value,包括函数1,函数2,函数3,函数4。
步骤S30,若所述目标哈希值和预设的哈希字典表不匹配,则检测所述特征信息对应的协议是否为新协议;
当经过判断发现目标哈希值和预设的哈希字典表不匹配,也就是在哈希字典表中不存在和目标哈希值匹配的Key,则可以确定源IP+协议号+端口号对应的协议类型在哈希字典表中不存在,此时需要检测源IP+协议号+端口号对应的协议是否为新协议,即确定源IP+协议号+端口号是否有误,若无误,则确定该源IP+协议号+端口号对应的协议类型为新协议。而检测方式可以是接收人工检测的检测结果,根据检测确定特征信息对应的协议是否为新协议。还可以是先确定数据包对应的业务类型,如是语音处理类型,或是图像处理类型,或是文字处理类型等,再检测源IP+协议号+端口号是否和该业务类型匹配,若匹配,则确定特征信息对应的协议是新协议。若不匹配,则确定特征信息对应的协议不是新协议,此时就可以确定数据包出错,会暂停后续对数据包的处理流程,并输出数据出错的告警提示信息,以提醒用户。
若目标哈希值和预设的哈希字典表匹配,则需要在哈希字典表中获取和该目标哈希值对应的处理函数接口,并在该处理函数接口中获取处理函数,通过处理函数对数据包进行相应的数据处理,如进行语音处理,或是图像处理,或是文字处理等。
步骤S40,若是新协议,则确定所述新协议对应的新处理函数接口,根据所述新处理函数接口和所述目标哈希值更新所述哈希字典表。
当经过判断发现特征信息对应的协议是新协议时,可以先确定数据包对应的业务类型,并在历史数据库中获取和该业务类型匹配的新处理函数,若在历史数据库中不存在和业务类型匹配的新处理函数,可以接收人工输入的新处理函数,并在获取到新处理函数后,对新处理函数进行存储,确定新处理函数的存储位置,并根据该存储位置设置相应的数据接口,即新协议对应的新处理函数接口。再检测该新处理函数接口是否可用,即对新处理函数接口进行有效性检测,确定是否可以在该处理函数接口中提取新处理函数进行相应运算。若新处理函数接口可用,则构建新处理函数接口和目标哈希值之间的对应关系,并将此对应关系更新到哈希字典表中。
例如,在智慧城市管理过程中,“一屏统管”,“集中管理”越来越多,异构、多源、多厂家的设备提供不同的协议包给一台服务器,传输主要基于以太网传输方式。对从服务器物理网口上传过来的以太网数据,采用pcap等类似底层抓包工具接收数据,并在接收的数据中提取数据包中包含的源ip、协议号、端口号等信息,将这三组数据串行组合一个key值,在预设的HASH字典中进行查找,预设的HASH字典中的Value值为处理函数的入口地址,如果可以找入口地址,则将抓取的完整数据送入函数中,进行处理分析。如果没有找到入口地址,即该源ip+协议号+端口号代表的协议是一个新协议,这时候将协议上报,由人为判决是否是新协议,如果是新协议,则将开发的函数入口地址作为value值与源ip、协议号、端口号形成的key值配对,并更新HASH字典。继续进行数据处理,可以有效解决智慧城市中由于厂家的变更、协议的变更、业务的变更甚至因为设置的改变而引起的终端、服务器的快速匹配问题,并且不会遗漏任何信息,提高系统的可靠性、可扩展性,提高智慧城市的服务水平。
也就是如图5所示,在开始进行多协议数据管理时,先从物理端口接收数据,即从底层获取以太网数据包,并进行MAC解析提取出源IP、协议号、端口号,将源ip+协议号+端口号作为特征信息进行哈希处理,得到目标哈希值,获取已知协议形成的HASH字典,将目标哈希值和HASH字典进行匹配,以确定目标哈希值对应的函数是否为空目标函数,若否,则确定HASH字典中存在和目标哈希值匹配的目标函数入口,将以太网数据包中的以太网帧数据通过目标函数入口中的目标函数进行数据处理,直至结束。此外,若目标哈希值对应的函数是空目标函数,则进行新协议告警并上报源IP+协议号+端口号,进行人为判决是否为新协议,若否,则结束,若是,则设计新协议函数入口,即新处理函数接口,并结合源IP+协议号+端口号,编成K-V对,并更新HASH字典。
在本实施例中,通过接收接口底层传输的数据包,提取所述数据包中的特征信息;对所述特征信息进行哈希值计算,以获取目标哈希值,检测所述目标哈希值是否和预设的哈希字典表匹配;若所述目标哈希值和预设的哈希字典表不匹配,则检测所述特征信息对应的协议是否为新协议;若是新协议,则确定所述新协议对应的新处理函数接口,根据所述新处理函数接口和所述目标哈希值更新所述哈希字典表。通过对接口底层传输的数据包进行特征信息提取,并进行哈希值计算,以获取目标哈希值,在目标哈希值和哈希字典表不匹配,且特征信息对应的协议是新协议时,确定新协议对应的新处理函数接口,并根据新处理函数接口和目标哈希值更新哈希字典表,从而避免了现有技术中需要对每个端口号进行监听,并在接收到数据后才实施下一步骤,导致系统资源浪费大的现象发生,提高了数据处理的可靠性,而且处理函数处理接口时可以实时的调用静态函数,函数执行过程中消耗系统资源,函数不执行时不消耗系统资源,保障系统的续航能力,提高了数据处理的可靠性。
进一步地,基于上述本发明的第一实施例,提出本发明多协议数据处理方法的第二实施例,本实施例中,上述实施例中的步骤S20,检测所述目标哈希值是否和预设的哈希字典表匹配的步骤的细化,包括:
步骤a,确定预设的哈希字典表中所有哈希值的字段,确定所述目标哈希值的目标字段,并将所述目标字段和各所述字段进行对比;
在本实施例中,当获取到特征信息对应的目标哈希值后,还需要获取用户提前设置的哈希字典表,并确定哈希字典表中已存储的所有哈希值,即哈希值,确定各个哈希值的字段,并根据各个字段的数值按照数值升序的方式进行排序,如0001xx,0002xx;0003xx;0004xx。同时需要确定目标哈希值的字段,即目标字段,再将目标字段和各个字段进行对比,根据不同的对比结果确定目标哈希值是否和预设的哈希字典表匹配。
步骤b,根据所述对比的对比结果确定所述目标哈希值是否和预设的哈希字典表匹配。
当经过判断发现在各个字段中存在和目标字段匹配的匹配字段时,则确定目标哈希值和哈希字典表匹配,并获取匹配字段对应的处理函数接口,根据处理函数接口中的处理函数对数据包进行数据处理。若各个字段和目标字段不匹配,则确定目标哈希值和哈希字典表不匹配,需要对哈希字典表进行更新处理。
在本实施例中,通过将哈希字典表中所有哈希值的字段和目标哈希值的目标字段进行对比,并根据对比的对比结果确定目标哈希值是否和预设的哈希字典表匹配,从而提高了查找效率。
进一步地,检测所述目标哈希值是否和预设的哈希字典表匹配的步骤之后,包括:
步骤c,若所述目标哈希值和预设的哈希字典表匹配,则获取所述哈希字典表中所述目标哈希值对应的处理函数接口;
在本实施例中,当经过判断发现目标哈希值和预设的哈希字典表匹配,也就是在哈希字典表中存在和目标哈希值的目标字段匹配的匹配字段,然后在哈希字典表中获取匹配字段对应的处理函数接口,即目标哈希值对应的处理函数接口。
步骤d,根据所述处理函数接口中的处理函数对所述数据包进行数据处理。
当获取到处理函数接口后,可以根据处理函数接口中的处理函数对数据包进行相应的数据处理,如进行语音处理,或是图像处理,或是文字处理等。
在本实施例中,通过在目标哈希值和哈希字典表匹配时,根据目标哈希值对应的处理函数接口中的处理函数对数据包进行数据处理,从而保障了数据处理的有效进行。
进一步地,确定所述新协议对应的新处理函数接口的步骤,包括:
步骤e,确定所述数据包对应的业务类型,根据所述业务类型设置所述新数据包对应的新处理函数,并确定所述新处理函数的存储位置,根据所述存储位置设置所述新处理函数的数据接口,将所述数据接口作为所述新协议对应的新处理函数接口。
在本实施例中,当确定特征信息对应的协议是新协议时,可以先确定数据包对应的业务类型,并在历史数据库中获取和该业务类型匹配的新处理函数,若在历史数据库中不存在和业务类型匹配的新处理函数,可以接收人工输入的新处理函数,并在获取到新处理函数后,对新处理函数进行存储,确定新处理函数的存储位置,并根据该存储位置设置相应的数据接口,即新协议对应的新处理函数接口。
在本实施例中,通过根据数据包对应的业务类型设置新处理函数,并根据新处理函数的存储位置设置数据接口,将数据接口作为新处理函数接口,从而保障了获取到的新处理函数接口的准确有效性。
进一步地,根据所述新处理函数接口和所述目标哈希值更新所述哈希字典表的步骤,包括:
步骤f,检测所述新处理函数接口是否有效;
步骤g,若所述新处理函数接口有效,则构建所述新处理函数接口和所述目标哈希值之间的对应关系,并将所述对应关系更新到所述哈希字典表。
在本实施例中,当获取到新协议对应的新处理函数接口后,还需要检测该新处理函数接口是否可用,即对新处理函数接口进行有效性检测,确定是否可以在该处理函数接口中提取新处理函数进行相应运算。若新处理函数接口可用,则构建新处理函数接口和目标哈希值之间的对应关系,并将此对应关系更新到哈希字典表中。
在本实施例中,通过在确定新处理函数有效时,构建新处理函数接口和目标哈希值的对应关系,并根据对应关系更新哈希字典表,从而保障了哈希字典表的实时有效性。
进一步地,检测所述特征信息对应的协议是否为新协议的步骤之后,包括:
步骤h,若所述协议不是新协议,则确定所述数据包为故障数据包,暂停对所述数据包的处理流程,并输出预设的告警提示信息。
当经过判断发现特征信息对应的协议不是新协议时,则可以直接确定获取到的数据包存在故障,为故障数据包,并暂停对数据包的后续处理流程,再输出提前设置好的告警提示信息,以提醒用户。
具体地,特征信息包括以下至少一种或其组合:源IP、协议号和端口号。
在本实施例中,当获取到接口底层传输的数据包后,提取数据包中的特征信息,该特征信息包括源IP、协议号和端口号中的一种或多种组合,在本实施例中,优选的选择特征信息为源IP+协议号+端口号的组合。
参照图3,本发明还提供一种多协议数据处理装置,本实施例中,所述多协议数据处理装置包括:
接收模块A10,用于接收接口底层传输的数据包,提取所述数据包中的特征信息;
计算模块A20,用于对所述特征信息进行哈希值计算,以获取目标哈希值,检测所述目标哈希值是否和预设的哈希字典表匹配;
检测模块A30,用于若所述目标哈希值和预设的哈希字典表不匹配,则检测所述特征信息对应的协议是否为新协议;
更新模块A40,用于若是新协议,则确定所述新协议对应的新处理函数接口,根据所述新处理函数接口和所述目标哈希值更新所述哈希字典表。
可选地,计算模块A20,用于:
确定预设的哈希字典表中所有哈希值的字段,确定所述目标哈希值的目标字段,并将所述目标字段和各所述字段进行对比;
根据所述对比的对比结果确定所述目标哈希值是否和预设的哈希字典表匹配。
可选地,计算模块A20,用于:
若所述目标哈希值和预设的哈希字典表匹配,则获取所述哈希字典表中所述目标哈希值对应的处理函数接口;
根据所述处理函数接口中的处理函数对所述数据包进行数据处理。
可选地,更新模块A40,用于:
确定所述数据包对应的业务类型,根据所述业务类型设置所述新数据包对应的新处理函数,并确定所述新处理函数的存储位置,根据所述存储位置设置所述新处理函数的数据接口,将所述数据接口作为所述新协议对应的新处理函数接口。
可选地,更新模块A40,用于:
检测所述新处理函数接口是否有效;
若所述新处理函数接口有效,则构建所述新处理函数接口和所述目标哈希值之间的对应关系,并将所述对应关系更新到所述哈希字典表。
可选地,检测模块A30,用于:
若所述协议不是新协议,则确定所述数据包为故障数据包,暂停对所述数据包的处理流程,并输出预设的告警提示信息。
可选地,接收模块A10,用于:
特征信息包括以下至少一种或其组合:源IP、协议号和端口号。
上述各功能模块实现的方法可参照本发明多协议数据处理方法实施例,此处不再赘述。
本发明还提供一种多协议数据处理设备,所述多协议数据处理设备包括:存储器、处理器、通信总线以及存储在所述存储器上的多协议数据处理程序:
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行所述多协议数据处理程序,以实现上述多协议数据处理方法各实施例的步骤。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有多协议数据处理程序,所述多协议数据处理程序被处理器执行时实现如上所述的多协议数据处理方法的步骤。
其中,在所述处理器上运行的多协议数据处理程序被执行时所实现的方法可参照本发明多协议数据处理方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种多协议数据处理方法,其特征在于,所述多协议数据处理方法包括如下步骤:
接收接口底层传输的数据包,提取所述数据包中的特征信息;
对所述特征信息进行哈希值计算,以获取目标哈希值,检测所述目标哈希值是否和预设的哈希字典表匹配;
若所述目标哈希值和预设的哈希字典表不匹配,则检测所述特征信息对应的协议是否为新协议;
若是新协议,则确定所述新协议对应的新处理函数接口,根据所述新处理函数接口和所述目标哈希值更新所述哈希字典表。
2.如权利要求1所述的多协议数据处理方法,其特征在于,所述检测所述目标哈希值是否和预设的哈希字典表匹配的步骤,包括:
确定预设的哈希字典表中所有哈希值的字段,确定所述目标哈希值的目标字段,并将所述目标字段和各所述字段进行对比;
根据所述对比的对比结果确定所述目标哈希值是否和预设的哈希字典表匹配。
3.如权利要求1所述的多协议数据处理方法,其特征在于,所述检测所述目标哈希值是否和预设的哈希字典表匹配的步骤之后,包括:
若所述目标哈希值和预设的哈希字典表匹配,则获取所述哈希字典表中所述目标哈希值对应的处理函数接口;
根据所述处理函数接口中的处理函数对所述数据包进行数据处理。
4.如权利要求1所述的多协议数据处理方法,其特征在于,所述确定所述新协议对应的新处理函数接口的步骤,包括:
确定所述数据包对应的业务类型,根据所述业务类型设置所述新数据包对应的新处理函数,并确定所述新处理函数的存储位置,根据所述存储位置设置所述新处理函数的数据接口,将所述数据接口作为所述新协议对应的新处理函数接口。
5.如权利要求1所述的多协议数据处理方法,其特征在于,所述根据所述新处理函数接口和所述目标哈希值更新所述哈希字典表的步骤,包括:
检测所述新处理函数接口是否有效;
若所述新处理函数接口有效,则构建所述新处理函数接口和所述目标哈希值之间的对应关系,并将所述对应关系更新到所述哈希字典表。
6.如权利要求1所述的多协议数据处理方法,其特征在于,所述检测所述特征信息对应的协议是否为新协议的步骤之后,包括:
若所述协议不是新协议,则确定所述数据包为故障数据包,暂停对所述数据包的处理流程,并输出预设的告警提示信息。
7.如权利要求1-6任一项所述的多协议数据处理方法,其特征在于,所述特征信息包括以下至少一种或其组合:源IP、协议号和端口号。
8.一种多协议数据处理装置,其特征在于,所述多协议数据处理装置包括:
接收模块,用于接收接口底层传输的数据包,提取所述数据包中的特征信息;
计算模块,用于对所述特征信息进行哈希值计算,以获取目标哈希值,检测所述目标哈希值是否和预设的哈希字典表匹配;
检测模块,用于若所述目标哈希值和预设的哈希字典表不匹配,则检测所述特征信息对应的协议是否为新协议;
更新模块,用于若是新协议,则确定所述新协议对应的新处理函数接口,根据所述新处理函数接口和所述目标哈希值更新所述哈希字典表。
9.一种多协议数据处理设备,其特征在于,所述多协议数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多协议数据处理程序,所述多协议数据处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的多协议数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有多协议数据处理程序,所述多协议数据处理程序被处理器执行时实现如权利要求1至7中任一项所述的多协议数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011374056.5A CN112583797B (zh) | 2020-11-30 | 2020-11-30 | 多协议数据处理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011374056.5A CN112583797B (zh) | 2020-11-30 | 2020-11-30 | 多协议数据处理方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112583797A true CN112583797A (zh) | 2021-03-30 |
CN112583797B CN112583797B (zh) | 2022-07-19 |
Family
ID=75126439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011374056.5A Active CN112583797B (zh) | 2020-11-30 | 2020-11-30 | 多协议数据处理方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112583797B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282800A (zh) * | 2021-05-29 | 2021-08-20 | 北京威努特技术有限公司 | 一种基于信息熵的动态多模匹配方法及装置 |
CN114584482A (zh) * | 2022-02-14 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 基于内存存储检测数据的方法、装置以及网卡 |
CN114594714A (zh) * | 2022-03-23 | 2022-06-07 | 苏州佳祺仕信息科技有限公司 | 一种设备控制方法、装置、设备及存储介质 |
CN117499147A (zh) * | 2023-11-24 | 2024-02-02 | 北京亚康万玮信息技术股份有限公司 | 一种多协议适配的远程连接安全管理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937575A (zh) * | 2005-09-22 | 2007-03-28 | 中兴通讯股份有限公司 | 信令流分发方法及信令分发处理单元 |
CN110708250A (zh) * | 2019-08-26 | 2020-01-17 | 广州市高科通信技术股份有限公司 | 一种提高数据转发性能的方法、电子设备及存储介质 |
US10721186B1 (en) * | 2019-03-30 | 2020-07-21 | Fortinet, Inc. | Packet processing with per-CPU (central processing unit) flow tables in a network device |
CN111638925A (zh) * | 2019-03-01 | 2020-09-08 | 华为技术有限公司 | 一种接口方法表生成方法、函数指针查询方法及装置 |
-
2020
- 2020-11-30 CN CN202011374056.5A patent/CN112583797B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937575A (zh) * | 2005-09-22 | 2007-03-28 | 中兴通讯股份有限公司 | 信令流分发方法及信令分发处理单元 |
CN111638925A (zh) * | 2019-03-01 | 2020-09-08 | 华为技术有限公司 | 一种接口方法表生成方法、函数指针查询方法及装置 |
US10721186B1 (en) * | 2019-03-30 | 2020-07-21 | Fortinet, Inc. | Packet processing with per-CPU (central processing unit) flow tables in a network device |
CN110708250A (zh) * | 2019-08-26 | 2020-01-17 | 广州市高科通信技术股份有限公司 | 一种提高数据转发性能的方法、电子设备及存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282800A (zh) * | 2021-05-29 | 2021-08-20 | 北京威努特技术有限公司 | 一种基于信息熵的动态多模匹配方法及装置 |
CN113282800B (zh) * | 2021-05-29 | 2024-05-31 | 北京威努特技术有限公司 | 一种基于信息熵的动态多模匹配方法及装置 |
CN114584482A (zh) * | 2022-02-14 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 基于内存存储检测数据的方法、装置以及网卡 |
CN114584482B (zh) * | 2022-02-14 | 2023-09-08 | 阿里巴巴(中国)有限公司 | 基于内存存储检测数据的方法、装置以及网卡 |
CN114594714A (zh) * | 2022-03-23 | 2022-06-07 | 苏州佳祺仕信息科技有限公司 | 一种设备控制方法、装置、设备及存储介质 |
CN114594714B (zh) * | 2022-03-23 | 2024-04-12 | 苏州佳祺仕科技股份有限公司 | 一种设备控制方法、装置、设备及存储介质 |
CN117499147A (zh) * | 2023-11-24 | 2024-02-02 | 北京亚康万玮信息技术股份有限公司 | 一种多协议适配的远程连接安全管理方法及系统 |
CN117499147B (zh) * | 2023-11-24 | 2024-04-05 | 北京亚康万玮信息技术股份有限公司 | 一种多协议适配的远程连接安全管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112583797B (zh) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112583797B (zh) | 多协议数据处理方法、装置、设备及计算机可读存储介质 | |
US9973390B2 (en) | Method of discovering network topology | |
CN112261094B (zh) | 一种报文处理方法及代理服务器 | |
CN111431740A (zh) | 数据的传输方法、装置、设备及计算机可读存储介质 | |
US10656981B2 (en) | Anomaly detection using sequences of system calls | |
US20200351190A1 (en) | Virtual Probes | |
CN111385147B (zh) | 故障模拟方法、装置和计算机可读存储介质 | |
CN110659109A (zh) | 一种openstack集群虚拟机监控系统及方法 | |
EP3065343B1 (en) | Network monitoring method and apparatus, and packet filtering method and apparatus | |
CN111193633B (zh) | 异常网络连接的检测方法及装置 | |
CN113672475B (zh) | 告警处理方法、装置、计算机设备和存储介质 | |
CN109343983B (zh) | 功能模块间的信息交互方法、装置、设备及存储介质 | |
US10680940B2 (en) | Optimized complex event processing in a software-defined network | |
CN110912782A (zh) | 一种数据采集方法、装置及存储介质 | |
KR20120062174A (ko) | 다양한 특성의 패킷을 동적으로 처리하는 패킷 처리장치 및 방법 | |
CN113923008B (zh) | 一种恶意网站拦截方法、装置、设备及存储介质 | |
CN110572394B (zh) | 访问控制方法及装置 | |
CN111010362B (zh) | 一种异常主机的监控方法及装置 | |
CN116032614A (zh) | 容器网络微隔离方法、装置、设备和介质 | |
CN115269719A (zh) | 数据同步方法及装置 | |
US11604877B1 (en) | Nested courses of action to support incident response in an information technology environment | |
CN114143385A (zh) | 一种网络流量数据的识别方法、装置、设备和介质 | |
CN113507394A (zh) | 网络性能检测方法、装置、电子设备及存储介质 | |
CN113014435A (zh) | 链路探测方法、装置、电子设备及存储介质 | |
JPWO2020017404A1 (ja) | 通信分析装置、通信分析方法、およびプログラム |
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 |