一种DPI业务识别方法、装置、电子设备及存储介质
技术领域
本发明涉及互联网技术领域,尤其是一种DPI业务识别方法、装置、电子设备及存储介质。
背景技术
DPI技术是一种基于应用层的流量检测和控制技术,称为“深度包检测”。所谓“深度”是和普通的报文分析层次相比较而言的,普通报文检测仅分析IP包的4层以下的内容,包括源地址、目的地址、源端口、目的端口以及协议类型。而DPI除了对前面的层次分析外,还增加了应用层分析,识别各种应用及其内容。当IP数据包、TCP或UDP数据流通过基于DPI技术的带宽管理系统时,该系统通过深入读取IP包载荷的内容来对OSI七层协议中的应用层信息进行重组,从而得到整个应用程序的内容,然后按照系统定义的管理策略对流量进行整形操作。
现有DPI业务识别都是通过XDR(X of Detailed Record,用户上网一切信令的详细话单)字段的完整字符串和DPI规则库中的规则进行模糊匹配,进行互联网流量业务识别。XDR字段中与规则库中规则匹配的字符串一般位于整个XDR字段字符串的前部,后部多为无价值的字符,现有方案将完整的XDR字段字符串加载入识别程序进行模糊匹配,存在大量无识别价值的字符串被加载,极大地增加了程序运算开销,识别开销较大的缺点,无法适应现网越来越庞大的数据,增添识别设备成本较高。
发明内容
有鉴于此,本发明实施例提供一种DPI业务识别方法、装置、电子设备及存储介质,提高识别效率,进而降低设备成本。
本发明的第一方面提供了一种DPI业务识别方法,包括:
确定XDR每个字段中不同字符串的规则最大匹配长度;
根据所述规则最大匹配长度表对所述XDR字段中的字符串进行截取,以剔除所述XDR字段中无需匹配的字符串;
将提取得到的字符串与规则库中的规则进行模糊匹配,得到DPI识别结果。
在一些实施例中,所述确定XDR每个字段中不同字符串的规则最大匹配长度,包括:
获取全网XDR固定时间段内产生的全量URL数据中的第一URL数据;
将所述第一URL数据与规则库中的规则进行匹配,得到每条URL数据的域名信息对应规则在统一资源标志符中的匹配长度;
根据所述匹配长度动态更新所述域名信息对应的规则最大匹配长度。
在一些实施例中,所述根据所述匹配长度动态更新所述域名信息对应的规则最大匹配长度,包括:
当所述匹配长度大于规则最大匹配长度表中所述域名信息对应的规则最大匹配长度时,或者当所述规则最大匹配长度表中不存在所述域名信息对应的规则最大匹配长度时,将所述匹配长度确定为所述域名信息对应的规则最大匹配长度;
当所述匹配长度小于或者等于规则最大匹配长度表中所述域名信息对应的规则最大匹配长度时,不更新所述规则最大匹配长度表中的规则最大匹配长度。
在一些实施例中,所述根据所述规则最大匹配长度表对所述XDR字段中的字符串进行截取,包括:
获取所述全量URL数据中的第二URL数据;
通过全匹配的方法,将所述第二URL数据的域名信息与所述域名规则最大匹配长度表进行匹配,得到所述第二URL数据的域名信息对应的最大长度;
根据所述最大长度截取所述XDR字段中的URI字段,得到URL截取结果;其中,所述URL截取结果包括域名信息和截取后的URI。
根据本发明的第二方面,提供了一种DPI业务识别装置,包括:
确定模块,用于确定XDR每个字段中不同字符串的规则最大匹配长度;
截取模块,用于根据所述规则最大匹配长度表对所述XDR字段中的字符串进行截取,以剔除所述XDR字段中无需匹配的字符串;
识别模块,用于将提取得到的字符串与规则库中的规则进行模糊匹配,得到DPI识别结果。
在一些实施例中,所述确定模块包括:
第一获取单元,用于获取全网XDR固定时间段内产生的全量URL数据中的第一URL数据;
第一匹配单元,用于将所述第一URL数据与规则库中的规则进行匹配,得到每条URL数据的域名信息对应规则在统一资源标志符中的匹配长度;
更新单元,用于根据所述匹配长度动态更新所述域名信息对应的规则最大匹配长度。
在一些实施例中,所述更新单元包括:
第一子单元,用于当所述匹配长度大于规则最大匹配长度表中所述域名信息对应的规则最大匹配长度时,或者当所述规则最大匹配长度表中不存在所述域名信息对应的规则最大匹配长度时,将所述匹配长度确定为所述域名信息对应的规则最大匹配长度;
第二子单元,用于当所述匹配长度小于或者等于规则最大匹配长度表中所述域名信息对应的规则最大匹配长度时,不更新所述规则最大匹配长度表中的规则最大匹配长度。
在一些实施例中,所述截取模块包括:
第二获取单元,用于获取所述全量URL数据中的第二URL数据;
第二匹配单元,用于通过全匹配的方法,将所述第二URL数据的域名信息与所述域名规则最大匹配长度表进行匹配,得到所述第二URL数据的域名信息对应的最大长度;
截取单元,用于根据所述最大长度截取所述XDR字段中的URI字段,得到URL截取结果;其中,所述URL截取结果包括域名信息和截取后的URI。
根据本发明的第三方面,提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现本发明第一方面所述的方法。
根据本发明的第四方面,提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现本发明第一方面所述的方法。
本发明的实施例确定XDR每个字段中不同字符串的规则最大匹配长度;根据所述规则最大匹配长度表对所述XDR字段中的字符串进行截取,以剔除所述XDR字段中无需匹配的字符串;将提取得到的字符串与规则库中的规则进行模糊匹配,得到DPI识别结果;通过本发明实施例基于现网大数据进行统计分析截取字段,剔除无需匹配的字符串后再和规则库中规则进行模糊匹配,进行互联网流量识别,能够有效降低识别开销,提高识别覆盖率并且降低设备成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的整体步骤流程图;
图2为本发明实施例的确定XDR每个字段中不同字符串的规则最大匹配长度的流程示意图;
图3为本发明实施例的根据所述规则最大匹配长度表对所述XDR字段中的字符串进行截取并实现最终识别的步骤流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
针对现有技术存在的问题,本发明实施例提供了一种DPI业务识别方法,如图1所示,包括:
确定XDR每个字段中不同字符串的规则最大匹配长度;
根据所述规则最大匹配长度表对所述XDR字段中的字符串进行截取,以剔除所述XDR字段中无需匹配的字符串;
将提取得到的字符串与规则库中的规则进行模糊匹配,得到DPI识别结果。
具体地,本发明实施例的XDR字段包括但不限于XDR中的URL(统一资源定位符)、REFERURI(来路连接)、Useragent(用户代理)等需要进行DPI业务识别规则匹配的字段。
本发明基于现网大数据统计,动态更新XDR每个字段中不同字符串的规则最大匹配长度,然后基于最大匹配长度表将XDR字段字符串进行截取,剔除无需匹配的字符串后再和规则库中规则进行模糊匹配,进行互联网流量识别。由于基于现网大数据进行实时动态更新截取字段,本发明能在保持现有方案的识别精度的情况下,同时大幅减少识别程序运算开销,提高识别效率,并能适用于包括但不限于XDR中的URL(统一资源定位符)、REFERURI(来路连接)、Useragent(用户代理)等需要进行DPI业务识别规则匹配的字段,具有较强的适用性和可推广性。
在一些实施例中,所述确定XDR每个字段中不同字符串的规则最大匹配长度,包括:
获取全网XDR固定时间段内产生的全量URL数据中的第一URL数据;
将所述第一URL数据与规则库中的规则进行匹配,得到每条URL数据的域名信息对应规则在统一资源标志符中的匹配长度;
根据所述匹配长度动态更新所述域名信息对应的规则最大匹配长度。
在一些实施例中,所述根据所述匹配长度动态更新所述域名信息对应的规则最大匹配长度,包括:
当所述匹配长度大于规则最大匹配长度表中所述域名信息对应的规则最大匹配长度时,或者当所述规则最大匹配长度表中不存在所述域名信息对应的规则最大匹配长度时,将所述匹配长度确定为所述域名信息对应的规则最大匹配长度;
当所述匹配长度小于或者等于规则最大匹配长度表中所述域名信息对应的规则最大匹配长度时,不更新所述规则最大匹配长度表中的规则最大匹配长度。
具体地,第一URL数据例如可以是全量URL中的10%。
如图2所示,随机抽取全网XDR固定时间段内(如每5分钟)产生的全量URL中的10%与规则库内所有URL规则进行匹配,输出每条HOST(域名信息)对应的命中规则在URI(统一资源标志符)中的匹配长度(URL由HOST和URI组成),例如:
完整URL1:v.qq.com/mzc00200lkdiz74.html
其中HOST为v.qq.com,URI为/mzc00200lkdiz74.html
命中规则1:*v.qq.com*,则HOST对应的命中规则匹配长度为0;
完整URL2:v.qq.com/x/cover/mzc00200lkdiz74.html
其中HOST为v.qq.com,URI为/x/cover/mzc00200lkdiz74.html
命中规则2:*v.qq.com/x/cover*,则HOST对应的命中规则匹配长度为8(即规则最后一位“r”在URI中的位数);
即HOST:v.qq.com对应规则最大匹配长度为8。
基于上述输出结果统计动态更新HOST对应规则最大匹配长度表,若统计结果中某个HOST对应最大匹配长度大于表内该HOST对应最大匹配长度或该HOST不在表内,则将本次统计结果更新为表内该HOST对应最大匹配长度,若统计结果中某个HOST对应最大匹配长度小于等于表内该HOST对应最大匹配长度,则不更新表内最大匹配长度。HOST对应规则最大匹配长度表具体字段如表1所示:
表1
在一些实施例中,所述根据所述规则最大匹配长度表对所述XDR字段中的字符串进行截取,包括:
获取所述全量URL数据中的第二URL数据;
通过全匹配的方法,将所述第二URL数据的域名信息与所述域名规则最大匹配长度表进行匹配,得到所述第二URL数据的域名信息对应的最大长度;
根据所述最大长度截取所述XDR字段中的URI字段,得到URL截取结果;其中,所述URL截取结果包括域名信息和截取后的URI。
具体地,第二URL数据可以是全量URL中剩余90%URL。如图3所示,本发明实施例的根据所述规则最大匹配长度表对所述XDR字段中的字符串进行截取,具体包括:
1)、将第一步全网XDR固定时间段内产生的全量URL中剩余90%URL的HOST字段使用全匹配的匹配方式和HOST对应规则最大匹配长度表进行匹配,若匹配成功,进入第2步;
2)、基于HOST对应规则最大匹配长度表中HOST对应的最大长度,截取XDR中的URI字段,并输出截取后的URL。XDR中存在记录的示例具体如表2所示:
表2
由表2可知,HOST“p1-webcast-hscdn.byteimg.com”HOST对应规则最大匹配长度表中对应的最大匹配长度为12,则截取原始URI左起第1-12位,作为截取后URI为“/img/hotsoon”,截取后URL为“p1-webcast-hscdn.byteimg.com/img/hotsoon”。
最后,如图3所示,本发明实施例将截取后的URL和规则库内URL规则进行模糊匹配,输出识别结果。
本发明实施例还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如图1所示的方法。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如图1所示的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
综上所述,现有DPI业务识别都是通过XDR字段的完整字符串和DPI规则库中的规则进行模糊匹配,进行互联网流量业务识别。XDR字段中与规则库中规则匹配的字符串一般位于整个XDR字段字符串的前部,后部多为无价值的字符,现有方案将完整的XDR字段字符串加载入识别程序进行模糊匹配,存在大量无识别价值的字符串被加载,极大地增加了程序运算开销。
本发明基于现网大数据统计,动态更新XDR每个字段中不同字符串的规则最大匹配长度(如上述每条HOST的规则最大匹配长度),然后基于最大匹配长度表将XDR字段字符串进行截取,剔除无需匹配的字符串后再和规则库中规则进行模糊匹配,进行互联网流量识别。由于基于现网大数据进行实时动态更新截取字段,本方案能在保持现有方案的识别精度的情况下,同时大幅减少识别程序运算开销,提高识别效率,并能适用于包括但不限于XDR中的URL(统一资源定位符)、REFERURI(来路连接)、Useragent(用户代理)等需要进行DPI业务识别规则匹配的字段,具有较强的适用性和可推广性。
本发明结合了DPI技术、大数据分析技术,基于现网XDR数据统计分析,实现互联网流量的业务识别,不需要将完整的XDR字段字符串与规则库内规则进行模糊匹配,弥补了现有方法程序运行开销大、准确度与覆盖度不足的缺点。因此本发明具有如下优点:
1)基于现网大数据进行统计分析截取字段,剔除无需匹配的字符串后再和规则库中规则进行模糊匹配,进行互联网流量识别,有效降低识别程序开销,提高识别覆盖率;
2)由于规则最大匹配长度表是基于现网数据实时动态更新,统计结果可以覆盖现网数据的所有情况,具有较高识别精度。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。