一种数据包检测方法及装置与流程

文档序号:18898664发布日期:2019-10-18 21:37阅读:193来源:国知局
一种数据包检测方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种数据包检测方法及装置。



背景技术:

小包是指传输的数据量较少的数据包。但系统在分配资源时并未考虑不同数据业务的传输特性而分配相同数量的物理下行控制信道(pdcch),因而导致小包的传输耗费了大量的资源,极大降低了数据业务的承载效率和收益。

目前针对非小包数据类型包括如下三种:文件传输协议(filetransferprotocol,ftp)数据包、因特网包探索器(packetinternetgroper,ping)数据包以及在传输控制协议(transmissioncontrolprotocol,tcp)建链过程中产生的数据包。从而在过滤小包时,需要过滤掉如上三种非小包数据类型对应的数据包。

但目前在过滤如上三种非小包数据类型时,按照预先设定的检测顺序,即先检测是不是ftp数据包,若不是ftp数据包,则检测是不是ping数据包,若不是ping数据包,再检测是不是tcp建链过程中产生的数据包。现有中判断顺序固定,从而导致只有在依次判断不是ftp数据包,也不是ping数据包的情况下,才能判断该数据包是不是tcp建链中产生的,从而导致效率较低。



技术实现要素:

本发明实施例提供了一种数据包检测方法及装置,用以解决现有技术中存在检测效率低问题。

第一方面,本发明实施例提供了一种数据包检测方法,包括:

获取待检测数据包;

在本次检测周期中,按照m种非小包数据类型的过滤顺序依次确定在本次检测周期中接收到的第一数据包是否属于所述m种非小包数据类型的一种;

其中,m为大于或者等于2的正整数,所述第一数据包为在本次检测周期中接收到的任一待检测数据包;所述过滤顺序为:在上一次检测周期获取的数据包中,检测到的所述m种非小包数据类型分别对应的数据包数量由大到小的顺序。

通过上述方案,本发明实施例中,通过对非小包数据类型,在检测n次数据包判断过程中的“ftp业务”、“ping业务”、“tcp建链中业务”业务类型做数量统计。根据统计结果为以上三种非小包数据类型对应的数据包数量由大到小排序,根据排序结果确定下一检测周期检测非小包数据类型的顺序,依次判断是否是数量最高/次高/次次高的非小包数据类型,如果是直接退出小包检测流程,达到数量最高的(在3中非小包数据类型中占比最高)非小包数据类型的业务优先被检出的目的,提高了检测效率。

可选的,所述方法还包括:

在按照m种非小包数据类型的过滤顺序依次确定所述第一数据包不属于所述m种非小包数据类型时,则根据预先配置的小包检测门限针对所述第一数据包进行小包检测。

通过上述方案,在优先过滤掉非小包数据类型,再针对数据包是否是小包进行检测,提高了检测效率。

可选的,所述方法还包括:

在确定所述第一数据包属于所述m种非小包数据类型中第一非小包数据类型时,将第一非小包数据类型对应的数据包数量增加1,所述第一非小包数据类型为所述m中非小包类型中的任一种非小包数据类型。

通过上述方案,实现了对每种非小包数据类型对应的数据包数量进行计数。

可选的,所述方法还包括:

在本次检测周期结束时,针对在本次检测周期获取的数据包中检测到的所述m种非小包数据类型对应的数据包数量由大到小进行排序得到排序结果;并在确定所述过滤顺序与所述排序结果不同时,将所述过滤顺序更新为所述排序结果。

通过上述方案,每次检测周期更新过滤顺序,来适应接收到的数据包对应的非小包数据类型的变化,进而提高了检测效率。

可选的,所述方法还包括:

针对在本次检测周期获取的数据包中检测到的所述m种非小包数据类型对应的数据包数量由大到小进行排序得到排序结果后,将所述m种非小包数据类型分别对应的数据包数量更新为0。

通过上述方案,提供了一种按检测周期统计每种非小包数据类型对应的数据包数量的方式。

基于与第一方面的方法同样的发明构思,第二方面,本发明实施例还提供了一种数据包检测装置,包括:

接收模块,用于接收待检测数据包;

检测模块,用于在本次检测周期中,按照m种非小包数据类型的过滤顺序依次确定在本次检测周期中接收到的第一数据包是否属于所述m种非小包数据类型的一种;

其中,m为大于或者等于2的正整数,所述第一数据包为在本次检测周期中接收到的任一待检测数据包;所述过滤顺序为:在上一次检测周期获取的数据包中,检测到的所述m种非小包数据类型分别对应的数据包数量由大到小的顺序。

可选的,所述检测模块,还用于:

在按照m种非小包数据类型的过滤顺序依次确定所述待检测的数据包不属于所述m种非小包数据类型时,则根据预先配置的小包检测门限针对所述第一数据包进行小包检测。

可选的,所述检测模块,还用于:

在确定所述待检测的数据包属于所述m种非小包数据类型中第一非小包数据类型时,将第一非小包数据类型对应的数据包数量增加1。

可选的,所述检测模块,还用于:

在本次检测周期结束时,针对在本次检测周期获取的数据包中检测到的所述m种非小包数据类型对应的数据包数量由大到小进行排序得到排序结果;并在确定所述过滤顺序与所述排序结果不同时,将所述过滤顺序更新为所述排序结果。

可选的,所述检测模块,还用于:

针对在本次检测周期获取的数据包中检测到的所述m种非小包数据类型对应的数据包数量由大到小进行排序得到排序结果后,将所述m种非小包数据类型分别对应的数据包数量更新为0。

第三方面,本发明实施例提供了一种数据包检测装置,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行第一方面所述的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行第一方面所述的方法。

附图说明

图1为本发明实施例提供的一种数据包检测方法流程图;

图2为本发明实施例提供的另一种数据包检测方法流程图;

图3为本发明实施例提供的一种数据包检测装置示意图;

图4为本发明实施例提供的另一种数据包检测装置示意图。

具体实施方式

本发明实施例可以适用于2g(第二代移动通信系统)、3g(第三代移动通信系统)或者4g(第四代移动通信系统)演进系统,如lte(longtermevolution,长期演进)系统,或者还可以为5g(第五代移动通信系统)系统,如采用新型无线接入技术(newradioaccesstechnology,newrat)的接入网;cran(cloudradioaccessnetwork,云无线接入网)等通信系统。

基站在接收到服务器发送的业务数据包,便会调度相应的资源,实时地将业务数据包转发至终端设备。但是,大部分业务数据包都对实时性要求不高,因此如果每次来一个数据包就调度一次空口资源,从而会降低空口资源的利用率,造成资源浪费。以lte为例,lte的调度资源包括物理下行控制信道(pdcch),每次调度均需要占用pdcch,相应的就会造成pdcch资源的浪费。另外,不用业务数据的数据包大小差异较大,有可能某次调度的数据不能填满一个物理资源块(physicalresourceblock,prb),也会造成prb资源的浪费。

基站在接收到数据包后,优先确定该数据包是否是对实时性要求较高(即不允许降低传输速率)的业务数据包,若不是,确定是否是非小包数据类型。在确定不是非小包数据类型时,然后进行小包检测。进行小包检测时,具体的先根据预先配置的小包检测门限进行小包检测,若是小包,则将该数据包缓存到指定位置。实时监测指定位置缓存的数据包的缓存量和/或时延值;依据缓存量和/或时延值,将缓存的数据包发送至终端设备。

本发明实施例中非小包数据类型包括但不仅限于包括:ftp数据包、ping数据包以及在tcp建链过程中产生的数据包。

现有技术在过滤非小包数据类型时,先检测是不是ftp数据包,若不是ftp数据包,则检测是不是ping数据包,若不是ping数据包,再检测是不是tcp建链过程中产生的数据包。现有中判断顺序固定,从而导致只有在依次判断不是ftp数据包,也不是ping数据包的情况下,才能判断该数据包是不是tcp建链中产生的,比如如果tcp建链中产生的数据包占了总数据包量的90%,而针对tcp建链中产生的数据包的判别放在三次检测中的最后进行,则每次都要先进行前两次无谓的检测才能到达第三次有效检测,进而检测效率较低。

实时性要求较高(即不允许降低传输速率)的业务数据包可以根据数据包中包括的服务质量等级标识(qosclassidentifier,qci)来确定。qos(qualityofservice)表示服务质量。在qci等于0~4表示数据包承载的业务为保证比特速率(guaranteedbitrate,gbr)业务。在qci等于5时为非grb(non-gbr)业务,但是为ims信令业务,该ims信令业务的优先级高于gbr业务,因此针对qci等于0~5时的数据包即判定为非小包数据,不再需要进行非小包数据类型检测,以及后续的小包检测。

其中,所谓gbr,是指承载要求的比特速率被网络“永久”恒定的分配,即使在网络资源紧张的情况下,相应的比特速率也不能被降低。相反的,non-gbr指的是在网络拥挤的情况下,业务(或者承载)数据需要承受降低速率的要求。

本发明实施例中涉及的基站还可以称为接入节点(英文:accessnode,简称:an),为终端提供无线接入服务。接入节点具体可以是全球移动通信(globalsystemformobilecommunication,gsm)系统或码分多址(codedivisionmultipleaccess,cdma)系统中的基站(basetransceiverstation,bts),也可以是宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)系统中的基站(nodeb),还可以是lte系统中的演进型基站(英文:evolutionalnodeb,简称:enb或enodeb),或者是未来5g网络中的基站设备、小基站设备、无线访问节点(wifiap)、无线互通微波接入基站(worldwideinteroperabilityformicrowaveaccessbasestation,wimaxbs)等,本发明对此并不限定。

需要说明的是,本发明中涉及的多个,是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述各数据包、但这些数据包不应限于这些术语。这些术语仅用来将各数据包彼此区分开。

本发明实施例提供一种数据包检测方法及装置,用以解决现有技术中存在的检测效率低的问题。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。

参见图1所示,为发明实施例提供的一种数据包检测方法流程示意图。该方法包括:

s101,获取待检测数据包。

本发明实施例中待检测数据包是:在针对接收到的数据包经过数据包实时性检测后(实时性要求较高(即不允许降低传输速率)的业务数据包)过滤后的数据包。

s102,在本次检测周期中,按照m种非小包数据类型的过滤顺序,依次确定在本次检测周期中接收到的第一数据包是否属于所述m种非小包数据类型的一种。

其中,m为大于或者等于2的正整数,所述第一数据包为在本次检测周期中接收到的任一待检测数据包;所述过滤顺序为:在上一次检测周期获取的数据包中,检测到的所述m种非小包数据类型分别对应的数据包数量由大到小的顺序。

在步骤s102,在本次检测周期中,按照m种非小包数据类型的过滤顺序,依次确定在本次检测周期中接收到的第一数据包,是否属于所述m种非小包数据类型的一种。若在按照m种非小包数据类型的过滤顺序,依次确定所述待检测的数据包不属于所述m种非小包数据类型时,则根据预先配置的小包检测门限针对所述待检测的数据包进行小包检测。若在确定所述第一数据包属于所述m种非小包数据类型中第一非小包数据类型时,将第一非小包数据类型对应的数据包数量增加1,所述第一非小包数据类型为所述m种非小包数据类型中任一种非小包数据类型。并在确定第一数据包属于所述m种非小包数据类型中第一非小包数据类型时,关闭缓存占用量(bufferoccupancy,bo)低水平标志。bo低水平标志开启状态,则表明当前bo包可能属于小包业务,需要进行小包检测,并进行小包缓存。bo低水平标志开启状态,则表明当前bo包不属于小包业务,不需要进行小包检测。

本发明实施例中,在本次检测周期结束时,针对在本次检测周期获取的数据包中检测到的所述m种非小包数据类型对应的数据包数量由大到小进行排序得到排序结果;并在确定所述过滤顺序与所述排序结果不同时,将所述过滤顺序更新为所述排序结果。从而下一次检测周期采用更新后的过滤顺序。

本发明实施例中检测周期可以设置为预设时长或者设置为预设检测次数(即过滤的数据包数量)。

下面以三种非小包数据类型为例进行说明,检测周期以预设检测次数为例。三种非小包数据类型分别称为a业务数据类型、b业务数据类型以及c业务数据类型。假设本次检测周期检测之前,过滤顺序依次是:a业务数据类型、b业务数据类型以及c业务数据类型。若本次检测周期为首次检测周期,则过滤顺序可以是预先配置。若本次检测周期不为首次检测周期,则过滤顺序是上一次检测周期中所述m种非小包数据类型分别对应的数据包数量由大到小的顺序。

参见图2所示,为本发明实施例提供的数据包检测方法流程示意图。下面以检测一个数据包为例进行说明。其它的检测流程参见此流程,不再赘述。

s201,获取业务数据包。

s202,确定所述业务数据包对应的dci标识是否为0~5,若是,则业务数据包的检测结束,并发送所述业务数据包,若否,执行s203。

s203,按照所述过滤顺序确定所述业务数据包是否是a业务数据类型,若是,则执行s204,若否,则执行s205。

s204,将所述a业务数据类型对应的数据包数量加1,执行s206。

s205,按照所述过滤顺序确定所述业务数据包是否是b业务数据类型,若是,执行s207,若否,则执行s208。

s206,关闭bo低水平标志。该业务数据包的检测结束,将发送所述业务数据包。

s207,将所述b业务数据类型对应的数据包数量加1,执行s206。

s208,按照所述过滤顺序确定所述业务数据包是否是c业务数据类型,若是,执行s209,若否,则执行s210以及s211。

s209,将所述c业务数据类型对应的数据包数量加1,执行s206。

s210,进入小包检测流程。流程结束。

s211,确定检测业务数据包的次数是否达到n次,若是,执行s212,若否,则检测结束。

s212,针对在本次检测周期获取的数据包中检测到的所述m种非小包数据类型对应的数据包数量由大到小进行排序得到排序结果。执行s213以及s214。

s213,在确定所述过滤顺序与所述排序结果不同时,将所述过滤顺序更新为所述排序结果。检测结束

s214,将所述a业务数据类型、b业务数据类型以及b业务数据类型分别对应的数据包数量清零。检测结束。

本发明实施例中,通过对非小包数据类型,在检测n次数据包判断过程中的“ftp业务”、“ping业务”、“tcp建链中业务”业务类型做数量统计。根据统计结果为以上三种非小包数据类型对应的数据包数量由大到小排序,根据排序结果确定下一检测周期检测非小包数据类型的顺序,依次判断是否是数量最高/次高/次次高的非小包数据类型,如果是直接退出小包检测流程,达到数量最高的(在3中非小包数据类型中占比最高)非小包数据类型的业务优先被检出的目的,提高了检测效率。另外,本发明实施例能够在非人为干预下赋予小包检测甄别自适应、自学习功能,并依据网络业务类型自我优化过滤顺序,提高非小包的检出效率,降低小包检测网络延时。并减少人为的网络优化,逐步实现网络的自优化功能。

基于与方法实施例同样的发明构思,本发明实施例提供了一种数据包检测装置,参见图3所示,该装置包括:

接收模块301,用于接收待检测数据包.

检测模块302,用于在本次检测周期中,按照m种非小包数据类型的过滤顺序依次确定在本次检测周期中接收到的第一数据包是否属于所述m种非小包数据类型的一种。

其中,m为大于或者等于2的正整数,所述第一数据包为在本次检测周期中接收到的任一待检测数据包;所述过滤顺序为:在上一次检测周期获取的数据包中,检测到的所述m种非小包数据类型分别对应的数据包数量由大到小的顺序。

可选的,所述检测模块302,还用于:

在按照m种非小包数据类型的过滤顺序依次确定所述待检测的数据包不属于所述m种非小包数据类型时,则根据预先配置的小包检测门限针对所述第一数据包进行小包检测。

可选的,所述检测模块302,还用于:

在确定所述待检测的数据包属于所述m种非小包数据类型中第一非小包数据类型时,将第一非小包数据类型对应的数据包数量增加1。

可选的,所述检测模块302,还用于:

在本次检测周期结束时,针对在本次检测周期获取的数据包中检测到的所述m种非小包数据类型对应的数据包数量由大到小进行排序得到排序结果;并在确定所述过滤顺序与所述排序结果不同时,将所述过滤顺序更新为所述排序结果。

可选的,所述检测模块302,还用于:

针对在本次检测周期获取的数据包中检测到的所述m种非小包数据类型对应的数据包数量由大到小进行排序得到排序结果后,将所述m种非小包数据类型分别对应的数据包数量更新为0。

本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本发明各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

本申请实施例还提供另外一种数据包检测装置,如图4所示,该装置包括:

存储器420,用于存储程序指令;

处理器400,用于调用所述存储器中存储的程序指令,按照获得的程序执行本申请实施例所述的任一方法流程。

收发机410,用于在处理器400的控制下接收和发送数据包。

其中,在图4中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器400代表的一个或多个处理器和存储器420代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机410可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器400负责管理总线架构和通常的处理,存储器420可以存储处理器400在执行操作时所使用的数据。

处理器400可以是中央处埋器(cpu)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld)。

本申请实施例还提供了一种计算机存储介质,用于储存为上述本申请实施例中所述的任一装置所用的计算机程序指令,其包含用于执行上述本申请实施例提供的任一方法的程序。

所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd))等。

本发明实施例中,通过对非小包数据类型,在检测n次数据包判断过程中的“ftp业务”、“ping业务”、“tcp建链中业务”业务类型做数量统计。根据统计结果为以上三种非小包数据类型对应的数据包数量由大到小排序,根据排序结果确定下一检测周期检测非小包数据类型的顺序,依次判断是否是数量最高/次高/次次高的非小包数据类型,如果是直接退出小包检测流程,达到数量最高的(在3中非小包数据类型中占比最高)非小包数据类型的业务优先被检出的目的,提高了检测效率。另外,本发明实施例能够在非人为干预下赋予小包检测甄别自适应、自学习功能,并依据网络业务类型自我优化过滤顺序,提高非小包的检出效率,降低小包检测网络延时。并减少人为的网络优化,逐步实现网络的自优化功能。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1