CN102857493B - 内容过滤方法和装置 - Google Patents

内容过滤方法和装置 Download PDF

Info

Publication number
CN102857493B
CN102857493B CN201210223008.5A CN201210223008A CN102857493B CN 102857493 B CN102857493 B CN 102857493B CN 201210223008 A CN201210223008 A CN 201210223008A CN 102857493 B CN102857493 B CN 102857493B
Authority
CN
China
Prior art keywords
rule condition
keyword
rule
content
condition
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.)
Active
Application number
CN201210223008.5A
Other languages
English (en)
Other versions
CN102857493A (zh
Inventor
尤里·哈桑
艾维·菲尔
莫默
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210223008.5A priority Critical patent/CN102857493B/zh
Publication of CN102857493A publication Critical patent/CN102857493A/zh
Priority to PCT/CN2013/073462 priority patent/WO2014000485A1/zh
Application granted granted Critical
Publication of CN102857493B publication Critical patent/CN102857493B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种内容过滤方法和装置。该方法包括:从输入的规则条件中分别提取关键字;根据提取的关键字对规则条件划分成一个或多个分组,并为提取的关键字预编译分组匹配数据集合;分别为提取的关键字对应分组的规则条件预编译精确匹配数据集合;获取待过滤内容;利用分组匹配数据集合,对待过滤内容进行关键字的匹配;利用匹配到的关键字对应分组的规则条件的精确匹配数据集合,对待过滤内容进行规则条件的精确匹配;根据精确匹配的匹配结果执行对应的过滤策略。本发明由于对规则条件进行了分组预过滤,所以每组规则条件的数量较少,占用内存减少。而分组预过滤后再基于规则条件的精确匹配具有较高的匹配准确性。

Description

内容过滤方法和装置
技术领域
本发明实施例涉及数据处理技术,尤其涉及一种内容过滤方法和装置。
背景技术
互联网作为全球最大的信息中心,正以惊人的速度发展壮大,但是其中的信息良莠不齐,存在为数不少的不良网站、不良资源。另外还存在一些包含恶意软件的可疑网站,会威胁到用户的个人隐私甚至破坏用户的电脑。
为避免不良信息的危害,现有技术采用了基于应用层协议的内容过滤技术对网页进行过滤。例如,对于企业网网关来说,可以通过配置过滤策略来过滤某些类型内容的网页,从而达到限制企业网内部用户进行禁止的行为,例如禁止访问不良网站或观看在线电影等。
现有技术典型是通过超文本传输协议(Hyper Text Transfer Protocol,简称HTTP)请求消息中的目标统一资源定位符(Uniform Universal ResourceLocator,简称URL)地址来对目标网站进行分类。如果发现网页属于应该过滤的种类,例如色情、暴力等,则把HTTP请求重定向到另外一个提示页面,或者直接把网络连接断开。
现有内容过滤技术一般是由用户预先设定规则条件和过滤条件,采用预编译的过滤器对请求打开网页的URL地址与规则条件相匹配,对与规则条件匹配一致的URL地址,再按照过滤条件进行阻断或放行等处理。规则条件例如可以为“if URL含有sina”、“if URL等于www.abc.com”等单个的字符串匹配条件,各条规则条件可以基于确定有限状态自动机(DeterministicFinite-State Automata,简称DFA)算法形成DFA图,各网页地址基于DFA图进行精确匹配以判断是否与规则条件一致。过滤条件例如可以为“当满足“if URL含有sina”时就执行将网页放行的策略”,或“当满足“if URL等于www.abc.com”时就将该网页阻断或重定向的策略”。所以需要将与规则条件匹配一致的网页地址进一步在过滤条件中匹配,以便确定该执行哪种处理策略。
但是,现有技术的这种内容过滤技术存在较大缺陷。对URL地址进行内容过滤采用的规则条件匹配方法是通过采用DFA图进行的,当规则条件的数量太多或者要求支持复杂规则条件配置,例如包括通配符的正则表达式型,诸如“.*/abc.*/news”、“.*\.www\.domain.*\.com”等,则会遇到耗用大量内存的问题。这个是DFA算法的主要缺点,现有技术可以采用压缩的DFA,如D2FA(Delayed DFA)算法代替标准DFA进行匹配,但是会造成匹配性能低下,因为D2FA算法的时间效率比标准DFA低好几倍。
所以,如何兼顾内容过滤技术中内存占用量和匹配性能,成为现有技术中需要解决的技术问题。
发明内容
本发明实施例提供一种内容过滤方法和装置,以减小内容过滤的内存占用且获得良好的匹配效果。
本发明实施例提供了一种内容过滤方法,包括:
从输入的一条或多条规则条件中分别提取关键字;
根据提取的关键字对所述一条或多条规则条件划分成一个或多个分组,使得同一分组中的规则条件具有相同的关键字,并为所述提取的关键字预编译分组匹配数据集合;
分别为所述提取的关键字中的各关键字对应分组的规则条件预编译精确匹配数据集合;
获取待过滤内容;
利用所述分组匹配数据集合,对所述待过滤内容进行关键字的匹配,得到匹配到的关键字;
利用匹配到的关键字对应分组的规则条件的精确匹配数据集合,对所述待过滤内容进行规则条件的精确匹配;
根据所述精确匹配的匹配结果执行与所述匹配结果对应的过滤策略。
本发明实施例还提供了一种内容过滤装置,包括内容获取模块、内容过滤模块和策略实施模块,其中,
所述内容获取模块,用于获取待过滤内容;
所述内容过滤模块包括:
关键字提取单元,用于从输入的一条或多条规则条件中分别提取关键字;
分组编译单元,用于根据提取的关键字对所述一条或多条规则条件划分成一个或多个分组,使得同一分组中的规则条件具有相同的关键字,并为所述提取的关键字预编译分组匹配数据集合;
规则条件编译单元,用于分别为所述提取的关键字中的各关键字对应分组的规则条件预编译精确匹配数据集合;
分组匹配单元,用于利用所述分组匹配数据集合,对所述待过滤内容进行关键字的匹配,得到匹配到的关键字;
规则条件匹配单元,用于利用匹配到的关键字对应分组的规则条件的精确匹配数据集合,对所述待过滤内容进行规则条件的精确匹配;
所述策略实施模块,用于根据所述精确匹配的匹配结果执行与所述匹配结果对应的过滤策略。
本发明实施例所提供的内容过滤方法和装置,由于基于关键字对规则条件进行了分组预过滤,所以每组规则条件的数量较少,构造的与每组规则条件对应的精确匹配数据集合所占用内存之和,比将所有规则条件预编译形成的数据集合占用内存要少。而分组预过滤后再基于规则条件的精确匹配,能够保证待过滤内容与规则条件的精确比较,具有较高的匹配准确性。所以本发明实施例的技术方案在占用较少内存的基础上优化了匹配性能,得到了较为准确的匹配结果。
附图说明
图1为本发明实施例一提供的内容过滤方法的流程图;
图2为本发明实施例三提供的内容过滤方法的流程图;
图3为本发明实施例四提供的内容过滤方法的流程图;
图4为本发明实施例五提供的内容过滤方法的流程图;
图5为本发明实施例五所适用实例的流程图;
图6为本发明实施例六提供的内容过滤装置的结构示意图;
图7为本发明实施例七提供的内容过滤装置的结构示意图;
图8为本发明实施例八提供的内容过滤装置的结构示意图;
图9为本发明实施例九所适用的网络架构示意图;
图10为本发明实施例九提供的内容过滤方法中提取关键字的过程示意图;
图11为本发明实施例九提供的内容过滤方法中执行过滤流程的示意图;
图12为本发明实施例提供的内容过滤方法中分组与算法对应关系示意图;
图13为本发明实施例提供的计算机系统的结构示意图;
图14为本发明另一实施例提供的计算机系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例一提供的内容过滤方法的流程图,本实施例的内容过滤方法可适用于各种需要对文本内容进行过滤的场景中,具体可以由软件和/或硬件形式来实现,典型地如基于文本应用层协议执行的网页内容过滤,则可以由集成在网关中的软件来实现。
该内容过滤方法主要包括了对规则条件的预编译流程和对待过滤内容的过滤流程,具体包括如下步骤:
步骤110、从输入的一条或多条规则条件中分别提取关键字;
步骤120、根据提取的关键字对所述一条或多条规则条件划分成一个或多个分组,使得同一分组中的规则条件具有相同的关键字,并为所述提取的关键字预编译分组匹配数据集合;
步骤130、分别为所述提取的关键字中的各关键字对应分组的规则条件预编译精确匹配数据集合;
上述步骤110-130为预编译流程,是对用户输入的各规则条件进行编译处理,以便在执行过滤流程时,能对待过滤内容进行迅速匹配。
步骤140、获取待过滤内容;
步骤150、利用所述分组匹配数据集合,对所述待过滤内容进行关键字的匹配,得到匹配到的关键字;
步骤160、利用匹配到的关键字对应分组的规则条件的精确匹配数据集合,对所述待过滤内容进行规则条件的精确匹配;
步骤170、根据所述精确匹配的匹配结果执行与所述匹配结果对应的过滤策略。
上述步骤140-170为内容过滤流程,是基于预编译过程构造的匹配数据集合对待过滤内容进行匹配的操作。
内容过滤技术中适用于规则条件和过滤规则的匹配数据集合可称为内容过滤规则库,规则条件和过滤规则一般是由管理员等用户动态配置的,而不是由设备提供商定期手动/远程更新的。所以,如何根据用户输入的规则条件和过滤规则自动地构造出高效的内容过滤规则库是实现内容过滤方法的关键问题。
通常在实施内容过滤技术时,用户会输入多条规则条件,可采用正则表达式来表示,规则条件一般是文本应用协议中某个字段所匹配的内容。若在过滤流程中需要匹配多个字段,例如,不同的字段可以包括URL地址、内容类型(Content-Type)头域、用户代理(User-Agent)头域等,则可以针对不同字段,为每个字段对应的规则条件分别执行预编译流程。本实施例所执行的预编译流程以一个字段为例进行说明,若为多个字段内容的规则条件则重复执行本实施例的技术方案即可。
本实施例的预编译流程中,所提取的关键字是基于预设策略从规则条件中提取的,关键字是能够尽量以少量字符代表该规则条件核心内容的字段。提取满足此要求的关键字的预设策略可以有多种实现方式,将通过后续实施例进行介绍。由于所提取的关键字用于反映规则条件的核心内容,所以基于关键字将规则条件分组,即通过将具有相同关键字的规则条件分为一组来将内容类似的规则条件分在相同组中,所谓相同关键字,并不严格限定为文字相同,也可以基于预设策略将具有关联的关键字视为具有相同的关键字。随后,一方面为所有关键字预编译一分组匹配数据集合,另一方面为各组规则条件分别预编译一精确匹配数据集合。所谓数据集合即根据某种内容匹配算法预编译数据,能够在进行匹配时快速完成字符串的比对,例如纯字符串匹配算法、非确定有限状态自动机(Nondeterministic Finite-state Automata,简称NFA)匹配算法、DFA匹配算法等均可以作为匹配数据集合。
分组匹配数据集合和精确匹配数据集合优选均采用能够精确匹配字符串的匹配算法。例如可考虑性能和内存占用的平衡,根据内存规格,一般来说性能越高的算法,消耗更多内存,反之亦然。大部分网络数据是需要经过分组匹配算法处理,而少量数据匹配到分组,进一步进行精确匹配。所以对于关键字的分组匹配算法,可向提高性能方面倾斜,保证迅速匹配获得关键字。对于规则条件的精确匹配算法,可向内存占用少的方向倾斜,以避免规则条件的大量增加占用过多内存。
基于预编译流程所构造的分组匹配数据集合和精确匹配数据集合,当执行过滤流程时,首先将待过滤内容利用分组匹配数据集合进行关键字的匹配,识别待过滤内容中是否包含关键字,以及包含哪个关键字。当匹配到包含某个关键字时,则将该待过滤内容利用所匹配到关键字对应组的精确匹配数据集合进行与规则条件的精确匹配。匹配结果是能或不能匹配到规则条件,此匹配结果可以作为后续进行过滤规则识别或执行相应处理策略的依据。当匹配到该待过滤内容不包含关键字时,则显然也与任何规则条件不匹配,可不进行精确匹配,此匹配结果也可以作为执行后续过滤策略的依据。
本实施例的技术方案,由于基于关键字对规则条件进行了分组预过滤,所以每组规则条件的数量较少,构造的各个精确匹配数据集合所占用内存之和比所有规则条件编译的数据集合占用内存要少。而分组预过滤后再基于规则条件的精确匹配,能够保证待过滤内容与规则条件的精确比较,具有较高的匹配准确性。所以本实施例的技术方案在占用较少内存的基础上优化了匹配性能,得到了较为准确的匹配结果。
在上述实施例的基础上,步骤110提取关键字的操作,还会存在无法按照预设策略提取出关键字的可能,遇到此类情况,可以将无法提取关键字的规则条件丢弃,但优选是执行下述操作:
当识别出输入的规则条件无法提取关键字时,将该规则条件放入待提示分组,并为所述待提示分组的规则条件预编译精确匹配数据集合,并向用户发出规则条件不良提示。
相应地,过滤流程中,在利用所述分组匹配数据集合,对所述待过滤内容进行关键字的匹配之后,还包括:当待过滤内容未匹配到关键字时,利用所述待提示分组的规则条件对应的精确匹配数据集合,对未匹配到关键字的所述待过滤内容进行规则条件的精确匹配。
上述出现无法提取关键字的情况,说明包含此类规则条件的待过滤内容无法根据关键字首先进行分组再进行精确匹配,只能进行完全的精确匹配。将不包含关键字的待过滤内容全部进行精确匹配能够进一步保证所有过滤的准确性,但这将是不利于减少内存的,同时,此类规则条件的精确匹配性能通常也低于分组匹配,因而对时间性能消耗较大。所以出现此类情况可以向用户发出规则条件不良提示,告知此类规则条件将加重系统的时间和空间性能的负担,应尽量避免设置此类规则条件。
本实施例中,获取待过滤内容可以是对接收到的数据包采用深度报文识别(Deep Packet Inspection,简称DPI)技术进行协议识别,一般来说,进行内容过滤的文本类协议类型包括HTTP、会话初始化协议(SessionInitiation Protocol,简称SIP)、实时流传输协议(Real Time StreamingProtocol,简称RTSP)等协议类型;基于识别到的协议,对数据包进行字段解析,以获取至少一个预设字段,各预设字段分别作为待过滤内容,以便分别执行后续的分组匹配、精确匹配和过滤匹配操作。其中,所述过滤规则由一条或多条规则条件组合而成,且所述过滤规则由对应于一个或多个预设字段的一条或多条规则条件组合而成。例如,预设字段可以包括HTTP协议数据包中的HTTP消息的请求方法、请求URL、内容类型(Content-Type)头域、用户代理(User-Agent)头域等。
实施例二
本发明实施例二提供的内容过滤方法,可以以上述实施例为基础,进一步改进了过滤规则的预编译和过滤过程。在上述实施例中,过滤规则的预编译和过滤可以基于多种技术执行,例如,匹配到规则条件后记录对应的标识,然后基于标识在各条过滤规则中分别匹配适用于何种过滤规则,而后执行相应的过滤策略。或者采用树形结构构造各条过滤规则,将匹配到的规则条件在树形结构中匹配。
本实施例提供了另一种优选的过滤规则匹配方案,在预编译流程的任意时刻,执行如下步骤:
为所述一条或多条规则条件分别分配唯一的条件标识,为过滤规则预编译过滤匹配数据集合,其中,所述过滤规则由所述一条或多条规则条件组合而成,且利用所述一条或多条规则条件的条件标识作为字符来表达所述过滤规则,即具体是将字符形式表达的过滤规则预编译成过滤匹配数据集合,例如DFA、D2FA状态机等;
则在过滤流程中,在根据所述精确匹配的匹配结果执行与所述匹配结果对应的过滤策略包括:
利用所述过滤匹配数据集合,将待过滤内容精确匹配到的规则条件的条件标识作为字符,对所述字符进行过滤规则的匹配,所述待过滤内容精确匹配到的规则条件由所述对待过滤内容进行规则条件的精确匹配得到。
过滤规则通常由一条或多个规则条件组成,当这些规则条件都被待过滤内容满足时,才算过滤规则匹配成功,会对应执行相应的过滤策略,例如网页重定向到一个提示页面,告知用户其请求已经被阻止;直接丢弃网页并重置客户端连接;放行网页等过滤策略。
本实施例将规则条件的条件标识作为字符,则过滤规则的形式为条件标识构成的字符串,即将条件规则的条件标识转换为正则表达式,能够将多条过滤规则进行统一的预编译,实现多模匹配,而后通过一次的匹配即可得出待过滤内容符合哪条过滤规则,无需多次查询,优化了过滤性能。
下面提供实例来说明。假设过滤规则可以为“If domain=“www\.porn.*\.com”and(User-Agent=“.*Chrome”or User-Agent=“.*Firefox”)and Content-Type=Any then Redirect.”,其含义是,如果使用“Chrome”或者“Firefox”浏览器访问“www\.porn.*\.com”成人网站,那么重定向此消息到一个提示已被过滤网页。“Content-Type”可以是任意内容,此处可以省略,仅为解释方案思想而保留。
假设各规则条件的条件标识如下:
“www\.porn.*\.com”=\x87
“.*Chrome”=\x91
“.*Firefox”=\x13
则可以将过滤规则直接转换成正则表达式:
“^\x87(\x91|\x13).”
如果有多条过滤规则,则同理都编译成一起,组成过滤匹配数据集合,例如一个DFA或D2FA状态机,进行匹配的时候,按照过滤规则预定义的顺序执行:
第一个待过滤内容是“Domain”字段,记录待过滤内容匹配到的规则条件的条件标识;
第二个待过滤内容是“User-Agent”字段,记录待过滤内容匹配到的规则条件的条件标识;
第三个待过滤内容是“Content-Type”字段,记录待过滤内容匹配到的规则条件的条件标识,注意正则表达式最后一个字符是“.”,表示任意;
而后利用过滤匹配数据集合,将匹配到的条件标识进行过滤规则的匹配,即可获知该执行何种过滤策略。
这样,如果有多条过滤规则需要匹配,仅需要按照顺序将各条件标识进行一次匹配即可,不必逐条匹配,性能显著提高。同时,可以采用D2FA而不是DFA以节约内存。
当条件标识的数量大于255,即单个字符无法作为条件标识时,可以使所有规则条件都采用双字节条件标识,例如下文第三条条件标识是525,即十六进制0x020d时。
“www\.porn.*\.com”=\x87
“.*Chrome”=\x91
“.*Firefox”=\x02\x0d
过滤规则的表达式则转换为,
“^\x00\x87\x00\x91\x02\x0d..”
实施例三
图2为本发明实施例三提供的内容过滤方法的流程图。在上述实施例中介绍了在初始阶段对用户输入的规则条件和过滤规则进行的预编译处理,实际应用中,用户可以随时新增、删除和更改规则条件和过滤规则,更改操作相当于先删除再新增的操作。本实施例主要优化新增规则条件的操作,则上述内容过滤方法进一步可执行如下操作:
步骤210、当获取到新增的规则条件时,从新增的规则条件中提取关键字;
步骤220、根据从新增的规则条件中提取的关键字为新增的规则条件查找或创建对应的分组,并重新编译分组匹配数据集合;
本步骤具体可以首先在已有分组中查找是否存在对应的关键字,若查找到没有对应的关键字,则为该关键字创建新的分组,并重新编译分组匹配数据集合,没查找到有对应的关键字,则无需重新编译分组匹配数据集合。
步骤230、根据所述新增的规则条件预编译对应分组的规则条件的精确匹配数据集合;
该步骤的操作区分针对已有分组和新建分组的情况,进行重新编译。对于采用不同算法实现的数据集合可有不用的编译方法,如此分组采用DFA把所有组内规则条件编译成一个状态机,则必须重新编译整个DFA状态机;若此分组采用逐条单模匹配,则只需要编译新增的规则条件,并添加到匹配链中去。
步骤240、为新增的规则条件分配条件标识,并重新编译过滤匹配数据集合。
本实施例的技术方案可以使用户灵活地增加新的规则条件,新增规则条件仅需更新分组匹配数据集合、过滤匹配数据集合和一组精确匹配数据集合,若新增规则条件未产生新的关键字,则无需更新分组匹配数据集合,相对于现有技术无需对所有预编译数据集合进行调整。
实施例四
图3为本发明实施例四提供的内容过滤方法的流程图。本实施例以上述实施例为基础,进一步优化删除规则条件的操作过程。该内容过滤方法还包括如下步骤:
步骤310、根据输入的规则条件删除指令,确定待删除的规则条件或待删除规则条件对应的条件标识,从待删除规则条件中提取关键字;
步骤320、根据从待删除规则条件中提取的关键字更新分组匹配数据集合;
步骤330、如果需删除所述待删除规则条件,则对从待删除规则条件中提取的关键字的对应分组的规则条件重新编译精确匹配数据集合,以删除所述待删除规则条件;
当然,若识别到该关键字的对应组中不存在规则条件了,则删除该组的精确匹配数据集合,同时删除该关键字,并重新编译分组匹配数据集合;
步骤340、如果需删除所述待删除规则条件对应的条件标识,则重新编译所述过滤匹配数据集合,以删除所述待删除规则条件对应的条件标识。
与实施例三类似,本实施例可灵活删除规则条件,且无需对所有预编译数据集合进行调整。
过滤规则的新增、删除和更改与规则条件类似,可根据新增的过滤规则或过滤规则删除指令,重新编译过滤匹配数据集合,以新增或删除过滤规则。
实施例五
图4为本发明实施例五提供的内容过滤方法的流程图,在上述实施例所提供的内容过滤方法中均涉及关键字的提取,关键字提取的质量,直接关系到后续分组匹配和精确匹配的性能,以及内容过滤规则库所需占用的内存大小。从输入的一条或多条规则条件中分别提取关键字的操作可以有多种实现方式,例如包括如下步骤:
步骤410、对输入的规则条件,按照预设划分策略进行字段划分;
步骤420、基于预设筛选策略对划分后的字段进行筛选得到所述规则条件的关键字。
其中,基于预设筛选策略对划分后的字段进行筛选,得到所述规则条件的关键字的操作优选是执行下述流程:
从所述划分的字段中,将与黑名单中字段一致的字段删除;
按照记录的字段误命中次数,将误命中次数高于命中门限值的字段删除;
针对每个规则条件,在该规则条件的各关键字中选择该关键字分组的规则条件数量最少的字段筛选作为该规则条件的关键字。
但,本领域人员可以理解,上述各项也可以独立执行,或以其他顺序执行,还可以增加其他筛选策略,例如将与白名单中字段一致的字段筛选为关键字等。
实际应用中,可以根据需要设定多项筛选策略,且其执行顺序不限,可以对划分后的字段进行多轮的筛选,以获取能表述规则条件核心内容的字段。本领域技术人员可以理解,关键字的筛选策略并不限于上述几项。确定优选的筛选策略的依据是:关键字的误命中次数越多或误命中率越高,则实际匹配性能越低;分组中规则条件的数量越多,则占用内存越多。所以提取关键字的策略要尽量兼顾匹配性能和内存占用的平衡。
除静态设置之外,黑名单、白名单以及误命中次数都可以通过动态统计进行更新,例如:在利用匹配到的关键字对应分组的规则条件的精确匹配数据集合,对所述待过滤内容进行规则条件的精确匹配之后,还包括:
当匹配到关键字的待过滤内容利用所述精确匹配数据集合未匹配到对应的规则条件时,更新该关键字的误命中次数记录;
将误命中次数高于设定门限值的关键字加入黑名单。
通过根据匹配情况来进行动态统计,能够更新黑名单、白名单、误命中次数的准确性,以优化关键字提取策略的准确性,从而优化内容过滤的匹配性能。优选是可以按照设定周期,以更新后的误命中次数和黑名单等,在已有规则条件中重新执行提取关键字、分组、预编译的操作,以优化预编译的数据集合,获得更优的匹配性能。
下面以实例方式详细介绍关键字的提取操作,图5为本发明实施例五所适用实例的流程图。
首先在系统中维护一关键字动态统计表,如表1所示,其中的误命中次数在内容过滤方法的运行过程中可进行实时刷新,例如按照设定周期、或按设定的触发条件来实时刷新。
表1
  关键字   误命中次数   此关键字分组的规则条件数量   是否黑名单
  huaw   1   2   No
  goog   5   1   No
  sina   2   1   No
  yaho   1   1   No
  micr   9   2   No
  news   0   3   No
  msdn   1   1   No
  www   Yes
  com   Yes
如上所述,在内容过滤流程中,当匹配到某个关键字的待过滤内容,利用精确匹配数据集合未匹配到对应的规则条件时,则表明此关键字发生了误命中,对应该关键字的误命中次数计数器加1。
黑名单和白名单可以是静态配置的。或者,将误命中次数高于设定门限值的关键字加入黑名单,或误命中次数低于设定门限值的关键字加入白名单。实际应用中,既可以将误命中次数作为考虑因素,也可以将误命中率作为考虑因素。该关键字动态维护表需要实时的更新,随着新关键字的提取或删除,以及内容过滤的执行而实时更新。
步骤501、获取设备管理员作为用户在线录入字符串形式的规则条件;
例如输入以下规则条件,规则条件中可以包括通配符*、字符数值范围[x-y]等:
1.www.huawei*.com
2.www[0-3].huawei.com
3.*google.com/news
4.www.sina[0-9].com
5.www.yahoo*.com/news
6.*.microsoft.*
7.www.msdn.microsoft*/news
8.www.[a-z][a-z][a-z].com.cn(不良的条件规则)
首先将规则条件转换成正则表达式,如将“.”转换成“\.”,“*”转换成“.*”。
步骤502、对输入的规则条件按照预设划分策略进行字段划分,目的是按照关键字对规则分组;
例如,根据预设的分隔符“.”、“[”、“]”或空格等来划分字段,且可以设置字段的字符数,例如仅截取设定门限值以下数量的字符串,如仅提取4个字符及以下的字段,则上述的规则条件将字段划分为www、huaw、com、goog、sina、yaho、micr、msdn和news。
步骤503、基于表1所示的关键字动态维护表,将黑名单中的字段删除;
即删除了www和com字段,黑名单中的字段通常是太常用的字段,无法起到过滤的目的;
步骤504、在删除黑名单字段后剩余的字段中,按照记录的字段误命中次数,将误命中次数高于命中门限值的字段删除;
如将命中门限值设置为4,则huaw、sina、yaho、msdn和news为筛选后的字段;
步骤505、从筛选后的字段中,识别各字段所对应的规则条件的数量,针对每条规则条件,在该规则条件的各关键字中选择该关键字分组的规则条件数量最少的字段筛选作为该规则条件的关键字;
经步骤505筛选后各规则条件对应的关键字分别是:
1.huaw
2.huaw
3.news
4.sina
5.yaho、news
6.无关键字
7.msdn、news
8.无关键字
在经步骤505筛选后,对于规则条件5,由于yaho和news的关键字组中,yaho的规则条件数量为1,少于news分组中规则条件的数量,所以规则条件5选择yaho作为关键字。类似的,规则条件7选择msdn作为关键字。表1中关键字分组的规则条件数量是随着每条规则条件关键字的确定实时更新的。
若步骤505的筛选之前任何步骤完毕时该规则条件已经只剩下一个字段,则可直接选取该字段作为关键字。提取不到关键字的条件规则为不良的条件规则,需要向用户发出提示。
在上述各实施例的技术方案中,根据关键字对规则条件进行分组,以及分组后预编译的精确匹配数据集合可以采用不同的编译算法。则分别为所述提取的关键字中的各关键字对应分组的规则条件预编译精确匹配数据集合具体可包括:
对于规则条件的数量小于预配置门限值的分组,则为该组规则条件采用NFA、DFA或者压缩的DFA正则表达式匹配算法预编译精确匹配数据集合,NFA正则表达式匹配算法实现,例如PCRE(Perl Compatible RegularExpression),或采用单模字符串匹配算法预编译精确匹配数据集合,例如BM(Boyer Moore)匹配算法。在此步骤中,在识别到规则条件的数量小于预配置门限值的分组之后,可以进一步判断此规则条件中间出现任何正则表达式相关的元素,如通配符、字符范围等,若是,则采用NFA、DFA或压缩的DFA,否则采用BM匹配算法;
对于规则条件的数量等于或大于预配置门限值时,为该组规则条件采用DFA或者压缩的DFA正则表达式匹配算法把所有规则条件预编译为一个精确匹配数据集合,例如DFA、D2FA状态机等预配置门限值可以设置为8,才能发挥D2FA多模匹配相对于单模匹配算法逐条匹配的性能优势。或者倾向空间性能而不考虑规则数量,一律采用NFA正则表达式匹配算法把规则条件逐条预编译精确匹配结构;
对于包括具有设定复杂定义参数的规则条件的分组,为该组规则条件采用NFA或者压缩的DFA正则表达式匹配算法预编译精确匹配数据集合。所谓具有设定复杂定义参数的规则条件,可以是根据经验预设的满足某种复杂程度定义参数的规则条件,此类规则条件若编译成DFA状态机会导致状态数量急剧增加占用大量内存,例如浮动的、且带有“*”、“?”、“+”多次重复通配符的规则条件等。所谓浮动是指预期出现的模式串的位置不是固定的。
例如,上述实例中,根据筛选出的关键字对规则条件进行分组,在分组的预配置门限值设为2的情况下,则分组情况和各组所采用的精确匹配数据集合可如下表2所示:
表2
当然,实际应用中,各分组所采用的算法并不限于表2所示,如图12所示,也可以为不同分组选择其他预编译。
实施例六
图6为本发明实施例六提供的内容过滤装置的结构示意图,该内容过滤装置可集成于企业网关等实施内容过滤的设备中,用于执行本发明所提供的内容过滤方法。该内容过滤装置具体包括内容获取模块610、内容过滤模块620和策略实施模块630。其中,内容获取模块610用于获取待过滤内容;内容过滤模块620具体包括:关键字提取单元621、分组编译单元622、规则条件编译单元623、分组匹配单元624和规则条件匹配单元625。关键字提取单元621用于从输入的一条或多条规则条件中分别提取关键字;分组编译单元622用于根据提取的关键字对所述一条或多条规则条件划分成一个或多个分组,使得同一分组中的规则条件具有相同的关键字,并为所述提取的关键字预编译分组匹配数据集合;规则条件编译单元623用于分别为所述提取的关键字中的各关键字对应分组的规则条件预编译精确匹配数据集合;分组匹配单元624用于利用所述分组匹配数据集合,对所述待过滤内容进行关键字的匹配,得到匹配到的关键字;规则条件匹配单元625用于利用匹配到的关键字对应分组的规则条件的精确匹配数据集合,对所述待过滤内容进行规则条件的精确匹配。该策略实施模块630用于根据所述精确匹配的匹配结果执行与所述匹配结果对应的过滤策略。
上述技术方案,通过关键字分组,对待过滤内容执行预过滤,而后进行精确匹配,能够有效兼顾内存占用和匹配性能的精确度,提供了优化的内容过滤方案。
在上述技术方案的基础上,该内容过滤模块620还可以进一步包括过滤规则编译单元626。所述策略实施模块630包括过滤规则匹配单元631和策略实施单元632。其中,过滤规则编译单元626用于为所述一条或多条规则条件分别分配唯一的条件标识,为过滤规则预编译过滤匹配数据集合,其中,所述过滤规则由一条或多条规则条件组合而成,且利用所述一条或多条规则条件的条件标识作为字符来表达所述过滤规则;过滤规则匹配单元631用于利用所述过滤匹配数据集合,将待过滤内容精确匹配到的规则条件的条件标识作为字符,对所述字符进行过滤规则的匹配,所述待过滤内容精确匹配到的规则条件由所述对待过滤内容进行规则条件的精确匹配得到;策略实施单元632用于根据所述过滤规则的匹配结果执行与所述匹配结果对应的过滤策略。
通过以条件标识代表规则条件,并进一步将过滤规则以正则表达式的形式进行编译,能够实现一次过滤匹配获得匹配结果。
优选是,该规则条件编译单元623还用于当识别出输入的规则条件无法提取关键字时,将该规则条件放入待提示分组,并为所述待提示分组的规则条件预编译精确匹配数据集合,并向用户发出规则条件不良提示。
则对应的,该规则条件匹配单元还用于当待过滤内容未匹配到关键字时,利用所述待提示分组的规则条件对应的精确匹配数据集合,对未匹配到关键字的所述待过滤内容进行规则条件的精确匹配。
上述技术方案能够保证对所有待过滤内容的精确匹配,且能提示用户优化规则条件满足预过滤的分组要求。
实施例七
图7为本发明实施例七提供的内容过滤装置的结构示意图,本实施例以上述实施例为基础,其中,关键字提取单元621优选包括:字段划分子单元621a和字段筛选子单元621b。其中,字段划分子单元621a用于对输入的规则条件,按照预设划分策略进行字段划分;字段筛选子单元621b,用于基于预设筛选策略对划分后的字段进行筛选得到所述规则条件的关键字。所述字段筛选子单元具体用于:从所述划分后的字段中,将与黑名单中字段一致的字段删除;按照记录的字段误命中次数,将误命中次数高于命中门限值的字段删除;针对每个规则条件,在该规则条件的各关键字中选择该关键字分组的规则条件数量最少的字段筛选作为该规则条件的关键字。但,本领域人员可以理解,上述各项也可以独立执行,或以其他顺序执行,还可以增加其他筛选策略,例如将与白名单中字段一致的字段筛选为关键字等。
为保证筛选策略的准确性,该内容过滤模块还可包括统计更新单元,该统计更新单元具体包括:误命中次数记子单元和黑名单更新子单元。其中,误命中次数记子单元用于当匹配到关键字的待过滤内容利用所述精确匹配数据集合未匹配到对应的规则条件时,更新该关键字的误命中次数记录;黑名单更新子单元用于将误命中次数高于设定门限值的关键字加入黑名单。
关键字的提取策略决定着关键字的提取质量,直接关系到预过滤效率,本实施例的技术方案可根据实际的内容过滤情况动态更新关键字筛选策略所使用的数据,使得提取的关键字更能反映内容过滤的需求。
在上述技术方案的基础上,可根据实际情况对不同分组采用不同的匹配算法,即规则条件编译单元具体包括:
第一编译子单元,用于对于规则条件的数量小于预配置门限值的分组,为该组规则条件采用NFA、DFA或者压缩的DFA正则表达式匹配算法预编译精确匹配数据集合,或采用单模字符串匹配算法预编译精确匹配数据集合;
第二编译子单元,用于对于规则条件的数量等于或大于预配置门限值的分组,为该组规则条件采用DFA或者压缩的DFA正则表达式匹配算法预编译精确匹配数据集合;
第三编译子单元,用于对于包括具有设定复杂定义参数的规则条件的分组,为该组规则条件采用NFA或者压缩的DFA正则表达式匹配算法预编译精确匹配数据集合。
实施例八
图8为本发明实施例八提供的内容过滤装置的结构示意图,本实施例以上述实施例为基础,改进在于内容获取模块610可具体包括协议识别单元611和协议解析单元612。其中,协议识别单元611用于对接收到的数据包采用深度报文识别技术进行协议识别;协议解析单元612用于基于识别到的协议,对所述数据包进行字段解析,以获取至少一个预设字段,将各预设字段分别作为待过滤内容,以便分别执行后续的分组匹配、精确匹配和过滤匹配操作,其中,所述过滤规则由一条或多条规则条件组合而成,且所述过滤规则由对应于一个或多个预设字段的一条或多条规则条件组合而成。
本发明实施例所提供的内容过滤装置可执行本发明任意实施例所提供的内容过滤方法,具备相应的功能模块结构。
实施例九
本发明实施例九将以优选实例的方式详细介绍内容过滤方法的细节。本发明实施例所提供的内容过滤方法是基于文本应用层协议来执行的,规则条件可以是协议中任何字段,例如:URL地址、请求方法、某个头域等。本实施例以URL地址字段为例进行说明,但本领域技术人员可以理解,其他字段的预编译数据集合和匹配过滤方法可采用相同方案完成。
图9为本发明实施例九所适用的网络架构示意图,该网络中包括了局域网(Local Area Network,简称LAN)网元、广域网(Wide Area Network,简称WAN)网元、路由器(Router)和交换机(Switch)等。用户终端通过LAN经交换机和路由器连接至WAN。其中,一应用控制节点(ApplicationControl Point)部署在LAN和WAN之间,实现内容过滤,应当理解的是,这里的应用控制节点具有本发明实施例的内容过滤装置的功能,在不同的实现方式下,这里的应用控制节点可以是企业路由器,或网关GPRS支持节点(Gateway GPRS Support Node,简称GGSN)网元设备、Internet网关设备和无线控制器设备等执行内容过滤的网元。
内容过滤装置的结构可参加实施例七或八所示,具体执行本发明实施例提供的内容过滤方法,该方法主要包括预编译流程和过滤流程。
图10为本发明实施例九提供的内容过滤方法中提取关键字的过程示意图,基于各项筛选策略,第1步划分(Parse)字段,第二步从划分的字段中按照黑名单过滤关键字;第3步按照误命中次数筛选关键字,第4步按照规则条件数量最少的筛选策略选择关键字。最终从规则条件中筛选出msdn作为关键字。
图11为本发明实施例九提供的内容过滤方法中执行过滤流程的示意图,图11示出了规则条件预编译阶段和规则条件匹配过滤阶段。
在规则条件预编译阶段中,输入的规则条件如下:
1:www.huawei*.com
2:www[0-3].huawei.com
3:*google.com/news
4:www.sina[0-9].com
5:www.yahoo*.com/news
6:*.microsoft.*
7:www.msdn.microsoft*/news
8:www.[a-z][a-z][a-z].com.cn
按照前述的筛选策略,为每个规则条件筛选出关键字,如图11所示,以AC状态机编译分组匹配数据集合。按照关键字分组,如图11所示,第1和2个规则条件分入一组,其他各自按关键字分组,第6和8个无关键字的规则条件分入不良规则条件组。各自采用算法预编译各组的精确匹配数据集合。
在规则条件匹配阶段中,获取待过滤内容,送入内容过滤模块,其配置的匹配数据集合是预先配置好的,而且也经过编译处理保留在内存中。如图11所示,待过滤内容为网站地址www.huawei.com/news,则内容过滤模块首先将待过滤内容利用分组匹配数据集合进行关键字匹配,例如,将待过滤内容在AC状态机中进行多模匹配,利用分组匹配数据集合进行预过滤,得出匹配到的关键字为huaw。
则进一步利用这个关键字所对应分组的精确匹配数据集合看是否能匹配到规则条件,得到的匹配结果是匹配成功。
而后,可以再将匹配的规则条件的条件标识作为字符,利用过滤匹配数据集合进行匹配。匹配结果包括匹配成功和失败,此时根据整个设备配置的默认放行策略来处理该数据包。例如可包括白名单(匹配成功放行)、黑名单(匹配成功过滤)两种,决定是否发送到策略实施模块进行进一步处理。
采用本发明各实施例提供的内容过滤方案具有诸多优点,能够兼顾内存占用量和匹配性能的问题。该技术方案能支持复杂的规则条件,如正则表达式,能支持多维度的内容过滤匹配,不仅仅是URL地址,还支持任意可配置的头域字段内容过滤。通过预过滤和动态收集误命中关键字的方法提高了匹配性能。可动态收集影响性能的关键字加入黑名单,并周期性地调整内容过滤规则库,即周期性地重复提取关键字-分组-预编译的过程,以达到自适应目标运行环境的最佳性能平衡。
本发明实施例还提供了一种计算机系统,如图13所示,该计算机系统包括至少一个处理器131和存储器132;该存储器132用于存储指令;该处理器131,与存储器132耦合,处理器131被配置为执行存储在存储器132中的指令,以执行本发明任意实施例所提供的内容过滤方法。
具体是,该处理器131可被配置为执行存储在存储器132中的指令,以执行如下流程:
从输入的一条或多条规则条件中分别提取关键字;
根据提取的关键字对所述一条或多条规则条件划分成一个或多个分组,使得同一分组中的规则条件具有相同的关键字,并为所述提取的关键字预编译分组匹配数据集合;
分别为所述提取的关键字中的各关键字对应分组的规则条件预编译精确匹配数据集合;
获取待过滤内容;
利用所述分组匹配数据集合,对所述待过滤内容进行关键字的匹配,得到匹配到的关键字;
利用匹配到的关键字对应分组的规则条件的精确匹配数据集合,对所述待过滤内容进行规则条件的精确匹配;
根据所述精确匹配的匹配结果执行与所述匹配结果对应的过滤策略。
在上述内容过滤方法流程中,优选是,处理器131可被配置为执行存储在存储器132中的指令,进一步执行如下流程:
为所述一条或多条规则条件分别分配唯一的条件标识,为过滤规则预编译过滤匹配数据集合,其中,所述过滤规则由所述一条或多条规则条件组合而成,且利用所述一条或多条规则条件的条件标识作为字符来表达所述过滤规则;
则根据所述精确匹配的匹配结果执行与所述匹配结果对应的过滤策略包括:
利用所述过滤匹配数据集合,将待过滤内容精确匹配到的规则条件的条件标识作为字符对所述字符进行过滤规则的匹配,所述待过滤内容精确匹配到的规则条件由所述对待过滤内容进行规则条件的精确匹配得到;
根据所述过滤规则的匹配结果执行与所述匹配结果对应的过滤策略。
在上述内容过滤方法流程中,优选是,处理器131可被配置为执行存储在存储器132中的指令,进一步执行如下流程:
当获取到新增的规则条件时,从新增的规则条件中提取关键字;
根据从新增的规则条件中提取的关键字为新增的规则条件查找或创建对应的分组,并重新编译分组匹配数据集合;
根据所述新增的规则条件预编译对应分组的规则条件的精确匹配数据集合;
为所述新增的规则条件分配条件标识,并重新编译过滤匹配数据集合。
在上述内容过滤方法流程中,优选是,处理器131可被配置为执行存储在存储器132中的指令,进一步执行如下流程:
根据输入的规则条件删除指令,确定待删除的规则条件或待删除规则条件对应的条件标识,从待删除规则条件中提取关键字;
根据从待删除规则条件中提取的关键字更新分组匹配数据集合;
如果需删除所述待删除规则条件,则对从待删除规则条件中提取的关键字的对应分组的规则条件重新编译精确匹配数据集合,以删除所述待删除规则条件;
如果需删除所述待删除规则条件对应的条件标识,则重新编译所述过滤匹配数据集合,以删除所述待删除规则条件对应的条件标识。
在上述内容过滤方法流程中,优选是,处理器131可被配置为执行存储在存储器132中的指令,则所述从输入的一条或多条规则条件中分别提取关键字具体包括如下流程:
对输入的规则条件,按照预设划分策略进行字段划分;
基于预设筛选策略对划分后的字段进行筛选得到所述规则条件的关键字。
在上述内容过滤方法流程中,优选是,处理器131可被配置为执行存储在存储器132中的指令,则基于预设筛选策略对划分后的字段进行筛选,得到所述规则条件的关键字具体包括如下流程:
从所述划分后的字段中,将与黑名单中字段一致的字段删除;
按照记录的字段误命中次数,将误命中次数高于命中门限值的字段删除;
针对每个规则条件,在该规则条件的各关键字中选择该关键字分组的规则条件数量最少的字段筛选作为该规则条件的关键字。
在上述内容过滤方法流程中,优选是,处理器131可被配置为执行存储在存储器132中的指令,则在利用匹配到的关键字对应分组的规则条件的精确匹配数据集合,对匹配到关键字的待过滤内容进行规则条件的精确匹配之后,进一步还执行如下流程:
当匹配到关键字的待过滤内容利用所述精确匹配数据集合未匹配到对应的规则条件时,更新该关键字的误命中次数记录;
将误命中率次数高于设定门限值的关键字加入黑名单。
在上述内容过滤方法流程中,优选是,处理器131可被配置为执行存储在存储器132中的指令,则所述分别为所述提取的关键字中的各关键字对应分组的规则条件预编译精确匹配数据集合具体包括如下流程:
对于规则条件的数量小于预配置门限值的分组,为该组规则条件采用非确定有限状态自动机、确定有限状态自动机或者压缩的确定有限状态自动机正则表达式匹配算法预编译精确匹配数据集合,或采用单模字符串匹配算法预编译精确匹配数据集合;
对于规则条件的数量等于或大于预配置门限值的分组,为该组规则条件采用确定有限状态自动机或者压缩的确定有限状态自动机正则表达式匹配算法预编译精确匹配数据集合;
对于包括具有设定复杂定义参数的规则条件的分组,为该组规则条件采用非确定有限状态自动机或者压缩的确定有限状态自动机正则表达式匹配算法预编译精确匹配数据集合。
在上述内容过滤方法流程中,优选是,处理器131可被配置为执行存储在存储器132中的指令,则所述获取待过滤内容具体包括如下流程:
对接收到的数据包采用深度报文识别技术进行协议识别;
基于识别到的协议,对所述数据包进行字段解析,以获取至少一个预设字段,将各预设字段分别作为待过滤内容,以便分别执行后续的分组匹配、精确匹配和过滤匹配操作,其中,所述过滤规则由一条或多条规则条件组合而成,且所述过滤规则由对应于一个或多个预设字段的一条或多条规则条件组合而成。
在上述内容过滤方法流程中,优选是,处理器131可被配置为执行存储在存储器132中的指令,则进一步还执行如下流程:
当识别出输入的规则条件无法提取关键字时,将该规则条件放入待提示分组,并为所述待提示分组的规则条件预编译精确匹配数据集合,并向用户发出规则条件不良提示。
在上述内容过滤方法流程中,优选是,处理器131可被配置为执行存储在存储器132中的指令,则在利用所述分组匹配数据集合,对所述待过滤内容进行关键字的匹配之后,还执行如下流程:
当待过滤内容未匹配到关键字时,利用所述待提示分组的规则条件对应的精确匹配数据集合,对未匹配到关键字的所述待过滤内容进行规则条件的精确匹配。
在上述内容过滤方法流程中,优选是,处理器131可被配置为执行存储在存储器132中的指令,则从输入的一条或多条规则条件中分别提取关键字具体包括如下流程:
按照设定周期,从已输入的一条或多条规则条件中提取关键字。
本发明实施例又提供了一种计算机系统,如图14所示,该计算机系统包括:处理器141、存储器142和匹配过滤器143。该存储器142用于存储指令;匹配过滤器143用于配置各数据集合,例如分组匹配数据集合、精确匹配数据集合、以及过滤匹配数据集合等;处理器141与存储器142和匹配过滤器143耦合,处理器141被配置为执行存储在存储器142中的指令,以执行本发明实施例所提供内容过滤方法中的预编译流程,且所述处理器141还被配置为调用匹配过滤器143,以执行本发明实施例所提供内容过滤方法中的内容过滤流程。
优选是,匹配过滤器可以通过硬件,或硬件与软件结合的方式实现,例如可以为现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)。具体是以FPGA芯片的内存或者外部内存存储各种数据集合,例如分组匹配数据集合、各分组的精确匹配数据集合、过滤匹配数据集合等,然后也由FPGA芯片实现各匹配单元的匹配逻辑,利用各种数据集合对应用协议数据进行内容匹配,输出关键字匹配的结果至精确匹配数据集合,或输出精确匹配结果至相应的过滤策略等。再或者,也可以通过FPGA实现内容过滤之前的协议识别、字段解析的操作。
本发明上述实施例提供的计算机系统可以配置为各种应用内容过滤技术的网元,例如企业路由器、网关GPRS支持节点(Gateway GPRS SupportNode,简称GGSN)网元设备、Internet网关设备和无线控制器设备。
在处理器通过执行存储器的指令和调用匹配过滤器的过程中,具体是处理器可以被配置为执行存储器中的指令,以实现如下操作:
从输入的一条或多条规则条件中分别提取关键字;
根据提取的关键字对所述一条或多条规则条件划分成一个或多个分组,使得同一分组中的规则条件具有相同的关键字,并为所述提取的关键字预编译分组匹配数据集合;
分别为所述提取的关键字中的各关键字对应分组的规则条件预编译精确匹配数据集合;
且处理器还可以被配置为调用匹配过滤器,以实现如下操作:
获取待过滤内容;
利用所述分组匹配数据集合,对所述待过滤内容进行关键字的匹配,得到匹配到的关键字;
利用匹配到的关键字对应分组的规则条件的精确匹配数据集合,对所述待过滤内容进行规则条件的精确匹配;
根据所述精确匹配的匹配结果执行与所述匹配结果对应的过滤策略。
可选是,处理器可进一步被配置为执行存储器中的指令,以实现如下操作:
为所述一条或多条规则条件分别分配唯一的条件标识,为过滤规则预编译过滤匹配数据集合,其中,所述过滤规则由一条或多条规则条件组合而成,且利用所述一条或多条规则条件的条件标识作为字符来表达所述过滤规则;
则处理器还可以被配置为调用匹配过滤器,以实现如下操作:
根据所述精确匹配的匹配结果执行与所述匹配结果对应的过滤策略包括:利用所述过滤匹配数据集合,将待过滤内容精确匹配到的规则条件的条件标识作为字符,对所述字符进行过滤规则的匹配,所述待过滤内容精确匹配到的规则条件由所述对待过滤内容进行规则条件的精确匹配得到;
根据所述过滤规则的匹配结果执行与所述匹配结果对应的过滤策略。
可选是,处理器可进一步被配置为执行存储器中的指令,还实现如下操作:
当获取到新增的规则条件时,从新增的规则条件中提取关键字;
根据从新增的规则条件中提取的关键字为新增的规则条件查找或创建对应的分组,并重新编译分组匹配数据集合;
根据所述新增的规则条件预编译对应分组的规则条件的精确匹配数据集合;
为所述新增的规则条件分配条件标识,并重新编译过滤匹配数据集合。
可选是,处理器可进一步被配置为执行存储器中的指令,还实现如下操作:
根据输入的规则条件删除指令,确定待删除的规则条件或待删除规则条件对应的条件标识,从待删除规则条件中提取关键字;
根据从待删除规则条件中提取的关键字更新分组匹配数据集合;
如果需删除所述待删除规则条件,则对从待删除规则条件中提取的关键字的对应分组的规则条件重新编译精确匹配数据集合,以删除所述待删除规则条件;
如果需删除所述待删除规则条件对应的条件标识,则重新编译所述过滤匹配数据集合,以删除所述待删除规则条件对应的条件标识。
可选是,处理器可进一步被配置为执行存储器中的指令,还实现如下操作:
根据新增的过滤规则或过滤规则删除指令,重新编译所述过滤匹配数据集合,以新增或删除过滤规则。
可选是,处理器可被配置为执行存储器中的指令,以实现如下操作,从输入的一条或多条规则条件中分别提取关键字包括:
对输入的规则条件,按照预设划分策略进行字段划分;
基于预设筛选策略对划分后的字段进行筛选得到所述规则条件的关键字。
基于预设筛选策略对划分后的字段进行筛选,得到所述规则条件的关键字包括:
从所述划分后的字段中,将与黑名单中字段一致的字段删除;
按照记录的字段误命中次数,将误命中次数高于命中门限值的字段删除;
针对每个规则条件,在该规则条件的各关键字中选择该关键字分组的规则条件数量最少的字段筛选作为该规则条件的关键字。
可选是,处理器被配置为执行存储器中的指令,以实现如下操作:在利用匹配到的关键字对应分组的规则条件的精确匹配数据集合,对所述待过滤内容进行规则条件的精确匹配之后,还包括:
当匹配到关键字的待过滤内容利用所述精确匹配数据集合未匹配到对应的规则条件时,更新该关键字的误命中次数记录;
将误命中率次数高于设定门限值的关键字加入黑名单。
可选是,处理器配置为执行存储器中的指令,以实现如下操作:
分别为所述提取的关键字中的各关键字对应分组的规则条件预编译精确匹配数据集合包括:
对于规则条件的数量小于预配置门限值的分组,为该组规则条件采用NFA、DFA或者压缩的DFA正则表达式匹配算法预编译精确匹配数据集合,或采用单模字符串匹配算法预编译精确匹配数据集合;
对于规则条件的数量等于或大于预配置门限值的分组,为该组规则条件采用DFA或者压缩的DFA正则表达式匹配算法预编译精确匹配数据集合;
对于包括具有设定复杂定义参数的规则条件的分组,为该组规则条件采用NFA或者压缩的DFA正则表达式匹配算法预编译精确匹配数据集合。
可选是,处理器可进一步被配置为执行存储器中的指令或调用匹配过滤器,以实现如下操作:
所述获取待过滤内容包括:
对接收到的数据包采用深度报文识别技术进行协议识别;
基于识别到的协议,对所述数据包进行字段解析,以获取至少一个预设字段,将各预设字段分别作为待过滤内容,以便分别执行后续的分组匹配、精确匹配和过滤匹配操作,其中,所述过滤规则由一条或多条规则条件组合而成,且所述过滤规则由对应于一个或多个预设字段的一条或多条规则条件组合而成。
可选是,处理器可进一步被配置为执行存储器中的指令,以实现如下操作:
当识别出输入的规则条件无法提取关键字时,将该规则条件放入待提示分组,并为所述待提示分组的规则条件预编译精确匹配数据集合,并向用户发出规则条件不良提示。
可选是,处理器还可以被配置为调用匹配过滤器,以实现如下操作:在利用所述分组匹配数据集合,对所述待过滤内容进行关键字的匹配之后,还包括:当待过滤内容未匹配到关键字时,利用所述待提示分组的规则条件对应的精确匹配数据集合,对未匹配到关键字的所述待过滤内容进行规则条件的精确匹配。
可选是,处理器被配置为执行存储器中的指令,以实现如下操作:从输入的一条或多条规则条件中分别提取关键字包括:按照设定周期,从已输入的一条或多条规则条件中提取关键字。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (21)

1.一种内容过滤方法,其特征在于,包括:
从输入的一条或多条规则条件中分别提取关键字;
根据提取的关键字对所述一条或多条规则条件划分成一个或多个分组,使得同一分组中的规则条件具有相同的关键字,并为所述提取的关键字预编译分组匹配数据集合;
分别为所述提取的关键字中的各关键字对应分组的规则条件预编译精确匹配数据集合;
获取待过滤内容;
利用所述分组匹配数据集合,对所述待过滤内容进行关键字的匹配,得到匹配到的关键字;
利用匹配到的关键字对应分组的规则条件的精确匹配数据集合,对所述待过滤内容进行规则条件的精确匹配;
根据所述精确匹配的匹配结果执行与所述匹配结果对应的过滤策略。
2.根据权利要求1所述的内容过滤方法,其特征在于,还包括:
为所述一条或多条规则条件分别分配唯一的条件标识,为过滤规则预编译过滤匹配数据集合,其中,所述过滤规则由所述一条或多条规则条件组合而成,且利用所述一条或多条规则条件的条件标识作为字符来表达所述过滤规则;
根据所述精确匹配的匹配结果执行与所述匹配结果对应的过滤策略包括:
利用所述过滤匹配数据集合,将待过滤内容精确匹配到的规则条件的条件标识作为字符对所述字符进行过滤规则的匹配,所述待过滤内容精确匹配到的规则条件由所述对待过滤内容进行规则条件的精确匹配得到;
根据所述过滤规则的匹配结果执行与所述匹配结果对应的过滤策略。
3.根据权利要求2所述的内容过滤方法,其特征在于,还包括:
当获取到新增的规则条件时,从新增的规则条件中提取关键字;
根据从新增的规则条件中提取的关键字为新增的规则条件查找或创建对应的分组,并重新编译分组匹配数据集合;
根据所述新增的规则条件预编译对应分组的规则条件的精确匹配数据集合;
为所述新增的规则条件分配条件标识,并重新编译过滤匹配数据集合。
4.根据权利要求2所述的内容过滤方法,其特征在于,还包括:
根据输入的规则条件删除指令,确定待删除的规则条件或待删除规则条件对应的条件标识,从待删除规则条件中提取关键字;
根据从待删除规则条件中提取的关键字更新分组匹配数据集合;
如果需删除所述待删除规则条件,则对从待删除规则条件中提取的关键字的对应分组的规则条件重新编译精确匹配数据集合,以删除所述待删除规则条件;
如果需删除所述待删除规则条件对应的条件标识,则重新编译所述过滤匹配数据集合,以删除所述待删除规则条件对应的条件标识。
5.根据权利要求1-4任一所述的内容过滤方法,其特征在于,所述从输入的一条或多条规则条件中分别提取关键字包括:
对输入的规则条件,按照预设划分策略进行字段划分;
基于预设筛选策略对划分后的字段进行筛选得到所述规则条件的关键字。
6.根据权利要求5所述的内容过滤方法,其特征在于,所述基于预设筛选策略对划分后的字段进行筛选,得到所述规则条件的关键字包括:
从所述划分后的字段中,将与黑名单中字段一致的字段删除;
按照记录的字段误命中次数,将误命中次数高于命中门限值的字段删除;
针对每个规则条件,在该规则条件的各关键字中选择该关键字分组的规则条件数量最少的字段筛选作为该规则条件的关键字。
7.根据权利要求6所述的内容过滤方法,其特征在于,在利用匹配到的关键字对应分组的规则条件的精确匹配数据集合,对匹配到关键字的待过滤内容进行规则条件的精确匹配之后,还包括:
当匹配到关键字的待过滤内容利用所述精确匹配数据集合未匹配到对应的规则条件时,更新该关键字的误命中次数记录;
将误命中率次数高于设定门限值的关键字加入黑名单。
8.根据权利要求1-4任一所述的内容过滤方法,其特征在于,所述分别为所述提取的关键字中的各关键字对应分组的规则条件预编译精确匹配数据集合包括:
对于规则条件的数量小于预配置门限值的分组,为该组规则条件采用非确定有限状态自动机、确定有限状态自动机或者压缩的确定有限状态自动机正则表达式匹配算法预编译精确匹配数据集合,或采用单模字符串匹配算法预编译精确匹配数据集合;
对于规则条件的数量等于或大于预配置门限值的分组,为该组规则条件采用确定有限状态自动机或者压缩的确定有限状态自动机正则表达式匹配算法预编译精确匹配数据集合;
对于包括具有设定复杂定义参数的规则条件的分组,为该组规则条件采用非确定有限状态自动机或者压缩的确定有限状态自动机正则表达式匹配算法预编译精确匹配数据集合。
9.根据权利要求2-4任一所述的内容过滤方法,其特征在于,所述获取待过滤内容包括:
对接收到的数据包采用深度报文识别技术进行协议识别;
基于识别到的协议,对所述数据包进行字段解析,以获取至少一个预设字段,将各预设字段分别作为待过滤内容,以便分别执行后续的分组匹配、精确匹配和过滤匹配操作,其中,所述过滤规则由一条或多条规则条件组合而成,且所述过滤规则由对应于一个或多个预设字段的一条或多条规则条件组合而成。
10.根据权利要求1-4任一所述的内容过滤方法,其特征在于,还包括:
当识别出输入的规则条件无法提取关键字时,将该规则条件放入待提示分组,并为所述待提示分组的规则条件预编译精确匹配数据集合,并向用户发出规则条件不良提示。
11.根据权利要求10所述的内容过滤方法,其特征在于,在利用所述分组匹配数据集合,对所述待过滤内容进行关键字的匹配之后,还包括:
当待过滤内容未匹配到关键字时,利用所述待提示分组的规则条件对应的精确匹配数据集合,对未匹配到关键字的所述待过滤内容进行规则条件的精确匹配。
12.根据权利要求1-4任一所述的内容过滤方法,其特征在于,从输入的一条或多条规则条件中分别提取关键字包括:
按照设定周期,从已输入的一条或多条规则条件中提取关键字。
13.一种内容过滤装置,其特征在于,包括内容获取模块、内容过滤模块和策略实施模块,其中,
所述内容获取模块,用于获取待过滤内容;
所述内容过滤模块包括:
关键字提取单元,用于从输入的一条或多条规则条件中分别提取关键字;
分组编译单元,用于根据提取的关键字对所述一条或多条规则条件划分成一个或多个分组,使得同一分组中的规则条件具有相同的关键字,并为所述提取的关键字预编译分组匹配数据集合;
规则条件编译单元,用于分别为所述提取的关键字中的各关键字对应分组的规则条件预编译精确匹配数据集合;
分组匹配单元,用于利用所述分组匹配数据集合,对所述待过滤内容进行关键字的匹配,得到匹配到的关键字;
规则条件匹配单元,用于利用匹配到的关键字对应分组的规则条件的精确匹配数据集合,对所述待过滤内容进行规则条件的精确匹配;
所述策略实施模块,用于根据所述精确匹配的匹配结果执行与所述匹配结果对应的过滤策略。
14.根据权利要求13所述的内容过滤装置,其特征在于:
所述内容过滤模块还包括:过滤规则编译单元,用于为所述一条或多条规则条件分别分配唯一的条件标识,为过滤规则预编译过滤匹配数据集合,其中,所述过滤规则由一条或多条规则条件组合而成,且利用所述一条或多条规则条件的条件标识作为字符来表达所述过滤规则;
所述策略实施模块包括:
过滤规则匹配单元,用于利用所述过滤匹配数据集合,将待过滤内容精确匹配到的规则条件的条件标识作为字符,对所述字符进行过滤规则的匹配,所述待过滤内容精确匹配到的规则条件由所述对待过滤内容进行规则条件的精确匹配得到;
策略实施单元,用于根据所述过滤规则的匹配结果执行与所述匹配结果对应的过滤策略。
15.根据权利要求13或14所述的内容过滤装置,其特征在于,所述规则条件编译单元还用于当识别出输入的规则条件无法提取关键字时,将该规则条件放入待提示分组,并为所述待提示分组的规则条件预编译精确匹配数据集合,并向用户发出规则条件不良提示。
16.根据权利要求15所述的内容过滤装置,其特征在于,所述规则条件匹配单元还用于当待过滤内容未匹配到关键字时,利用所述待提示分组的规则条件对应的精确匹配数据集合,对未匹配到关键字的所述待过滤内容进行规则条件的精确匹配。
17.根据权利要求13或14所述的内容过滤装置,其特征在于,所述关键字提取单元包括:
字段划分子单元,用于对输入的规则条件,按照预设划分策略进行字段划分;
字段筛选子单元,用于基于预设筛选策略对划分后的字段进行筛选,得到所述规则条件的关键字。
18.根据权利要求17所述的内容过滤装置,其特征在于,其中,所述字段筛选子单元具体用于:
从所述划分后的字段中,将与黑名单中字段一致的字段删除;
按照记录的字段误命中次数,将误命中率高于命中门限值的字段删除;
针对每个规则条件,在该规则条件的各关键字中选择该关键字分组的规则条件数量最少的字段筛选作为该规则条件的关键字。
19.根据权利要求18所述的内容过滤装置,其特征在于,所述内容过滤模块还包括统计更新单元,所述统计更新单元包括:
误命中次数记子单元,用于当匹配到关键字的待过滤内容利用所述精确匹配数据集合未匹配到对应的规则条件时,更新该关键字的误命中次数记录;
黑名单更新子单元,用于将误命中次数高于设定门限值的关键字加入黑名单。
20.根据权利要求13或14所述的内容过滤装置,其特征在于,所述规则条件编译单元包括:
第一编译子单元,用于对于规则条件的数量小于预配置门限值的分组,为该组规则条件采用非确定有限状态自动机确定有限状态自动机或者压缩的确定有限状态自动机正则表达式匹配算法预编译精确匹配数据集合,或采用单模字符串匹配算法预编译精确匹配数据集合;
第二编译子单元,用于对于规则条件的数量等于或大于预配置门限值的分组,为该组规则条件采用确定有限状态自动机或者压缩的确定有限状态自动机正则表达式匹配算法预编译精确匹配数据集合;
第三编译子单元,用于对于包括具有设定复杂定义参数的规则条件的分组,为该组规则条件采用非确定有限状态自动机或者压缩的确定有限状态自动机正则表达式匹配算法预编译精确匹配数据集合。
21.根据权利要求13或14所述的内容过滤装置,其特征在于,所述内容获取模块包括:
协议识别单元,用于对接收到的数据包采用深度报文识别技术进行协议识别;
协议解析单元,用于基于识别到的协议,对所述数据包进行字段解析,以获取至少一个预设字段,将各预设字段分别作为待过滤内容,以便分别执行后续的分组匹配、精确匹配和过滤匹配操作,其中,所述过滤规则由一条或多条规则条件组合而成,且所述过滤规则由对应于一个或多个预设字段的一条或多条规则条件组合而成。
CN201210223008.5A 2012-06-30 2012-06-30 内容过滤方法和装置 Active CN102857493B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201210223008.5A CN102857493B (zh) 2012-06-30 2012-06-30 内容过滤方法和装置
PCT/CN2013/073462 WO2014000485A1 (zh) 2012-06-30 2013-03-29 内容过滤方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210223008.5A CN102857493B (zh) 2012-06-30 2012-06-30 内容过滤方法和装置

Publications (2)

Publication Number Publication Date
CN102857493A CN102857493A (zh) 2013-01-02
CN102857493B true CN102857493B (zh) 2015-07-08

Family

ID=47403688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210223008.5A Active CN102857493B (zh) 2012-06-30 2012-06-30 内容过滤方法和装置

Country Status (2)

Country Link
CN (1) CN102857493B (zh)
WO (1) WO2014000485A1 (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857493B (zh) * 2012-06-30 2015-07-08 华为技术有限公司 内容过滤方法和装置
CN103188267B (zh) * 2013-03-27 2015-12-09 中国科学院声学研究所 一种基于dfa的协议解析方法
WO2015165245A1 (zh) * 2014-04-30 2015-11-05 广州市动景计算机科技有限公司 一种网页数据处理方法及装置
CN105095236A (zh) * 2014-04-30 2015-11-25 优视科技有限公司 广告过滤方法和装置
CN104462583A (zh) * 2014-12-30 2015-03-25 北京奇虎科技有限公司 一种进行广告拦截处理浏览器装置和移动终端
CN104778197B (zh) * 2014-12-30 2019-02-01 北京锐安科技有限公司 一种数据查找方法及装置
CN104899264B (zh) * 2015-05-21 2018-05-29 东软集团股份有限公司 一种多模式正则表达式匹配方法及装置
CN105335486A (zh) * 2015-10-15 2016-02-17 桂林电子科技大学 一种数据过滤方法及数据过滤装置
CN106713254B (zh) * 2015-11-18 2019-08-06 中国科学院声学研究所 一种匹配正则集的生成及深度包检测方法
CN105938475A (zh) * 2015-12-28 2016-09-14 杭州迪普科技有限公司 关键词过滤方法及装置
CN105681907A (zh) * 2015-12-30 2016-06-15 中电长城网际系统应用有限公司 一种信息校验系统及其方法
CN105635170B (zh) * 2016-01-26 2018-12-18 宝利九章(北京)数据技术有限公司 基于规则对网络数据包进行识别的方法和装置
CN106997363A (zh) * 2016-01-26 2017-08-01 华为技术有限公司 一种数据处理方法和设备
CN107153942B (zh) * 2016-03-02 2021-02-26 北京京东尚科信息技术有限公司 一种动态配置和校验黑名单方法
CN106302436B (zh) * 2016-08-11 2019-11-19 广州华多网络科技有限公司 一种攻击报文特征的自主发现方法、装置和设备
CN107784478B (zh) * 2016-08-31 2020-09-15 北京国双科技有限公司 行政机构信息的处理方法和装置
CN106385345A (zh) * 2016-09-23 2017-02-08 北京锐安科技有限公司 一种对网络数据进行采集的方法和装置
CN106547878A (zh) * 2016-10-26 2017-03-29 北京微网通联股份有限公司 基于多关键词的快速过滤方法
CN106657055B (zh) * 2016-12-19 2019-11-15 北京网御星云信息技术有限公司 一种报文过滤方法及系统
CN108460038A (zh) * 2017-02-20 2018-08-28 阿里巴巴集团控股有限公司 规则匹配方法及其设备
CN106843996A (zh) * 2017-03-08 2017-06-13 百富计算机技术(深圳)有限公司 条件编译预处理方法和装置
CN107645502B (zh) * 2017-09-20 2021-01-22 新华三信息安全技术有限公司 一种报文检测方法及装置
CN108595566A (zh) * 2018-04-13 2018-09-28 中国民航信息网络股份有限公司 信息聚类方法及装置
CN108833511A (zh) * 2018-05-21 2018-11-16 聊城大学东昌学院 一种计算机人工智能信息过滤系统
CN110909149B (zh) * 2018-09-17 2022-06-03 北京国双科技有限公司 数据过滤方法及装置
CN109204193B (zh) * 2018-10-12 2021-05-14 杭州小驹物联科技有限公司 一种快速识别汽车信号和参数的方法及系统
CN109688205B (zh) * 2018-12-07 2021-06-22 麒麟合盛网络技术股份有限公司 网页资源的拦截方法及装置
CN109905293B (zh) * 2019-03-12 2021-06-08 北京奇虎科技有限公司 一种终端设备识别方法、系统及存储介质
US11012414B2 (en) 2019-04-30 2021-05-18 Centripetal Networks, Inc. Methods and systems for prevention of attacks associated with the domain name system
US11012417B2 (en) * 2019-04-30 2021-05-18 Centripetal Networks, Inc. Methods and systems for efficient packet filtering
CN111125693A (zh) * 2019-12-18 2020-05-08 杭州安恒信息技术股份有限公司 一种设备安全防护方法、装置及设备
CN111181980B (zh) * 2019-12-31 2022-05-10 奇安信科技集团股份有限公司 一种面向网络安全的正则表达式的匹配方法及装置
CN112364059B (zh) * 2020-11-10 2023-12-22 国网甘肃省电力公司白银供电公司 多规则场景下关联匹配方法、装置、设备和存储介质
CN112615874B (zh) * 2020-12-23 2022-11-15 北京天融信网络安全技术有限公司 一种网络防护方法及装置
CN113505585B (zh) * 2021-07-15 2023-03-21 中南大学湘雅医院 基于原语状态机的高速字符串特征匹配方法、装置及设备
CN114584632B (zh) * 2022-02-24 2023-05-16 成都北中网芯科技有限公司 一种深度报文检测方法和装置
CN115047835B (zh) * 2022-06-27 2024-06-04 中国核动力研究设计院 基于dcs系统定期试验数据获取方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182228B1 (en) * 1998-08-17 2001-01-30 International Business Machines Corporation System and method for very fast IP packet filtering
CN101360088A (zh) * 2007-07-30 2009-02-04 华为技术有限公司 正则表达式编译、匹配系统及编译、匹配方法
CN101841546A (zh) * 2010-05-17 2010-09-22 华为技术有限公司 一种规则匹配方法、装置及系统
CN102497319A (zh) * 2011-12-13 2012-06-13 曙光信息产业(北京)有限公司 一种利用自动机实现单包匹配的系统和方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257461A (zh) * 2007-03-02 2008-09-03 华为技术有限公司 基于分类的内容过滤方法及其装置
CN101399749B (zh) * 2007-09-27 2012-04-04 华为技术有限公司 一种报文过滤的方法、系统和设备
CN102857493B (zh) * 2012-06-30 2015-07-08 华为技术有限公司 内容过滤方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182228B1 (en) * 1998-08-17 2001-01-30 International Business Machines Corporation System and method for very fast IP packet filtering
CN101360088A (zh) * 2007-07-30 2009-02-04 华为技术有限公司 正则表达式编译、匹配系统及编译、匹配方法
CN101841546A (zh) * 2010-05-17 2010-09-22 华为技术有限公司 一种规则匹配方法、装置及系统
CN102497319A (zh) * 2011-12-13 2012-06-13 曙光信息产业(北京)有限公司 一种利用自动机实现单包匹配的系统和方法

Also Published As

Publication number Publication date
WO2014000485A1 (zh) 2014-01-03
CN102857493A (zh) 2013-01-02

Similar Documents

Publication Publication Date Title
CN102857493B (zh) 内容过滤方法和装置
Ariyaluran Habeeb et al. Clustering‐based real‐time anomaly detection—A breakthrough in big data technologies
CN103973684B (zh) 规则编译匹配方法及装置
CN103297435B (zh) 一种基于web日志的异常访问行为检测方法与系统
CN102184227B (zh) 一种面向web服务的通用爬虫引擎系统及其工作方法
US9152803B2 (en) Optimized policy matching and evaluation for hierarchical resources
JP5744892B2 (ja) テキストフィルタリングの方法およびシステム
US10419487B2 (en) Optimized policy matching and evaluation for non-hierarchical resources
CN105243159A (zh) 一种基于可视化脚本编辑器的分布式网络爬虫系统
CN102737119B (zh) 统一资源定位符的查找方法、过滤方法和相关设备及系统
US20210385251A1 (en) System and methods for integrating datasets and automating transformation workflows using a distributed computational graph
CN104065644A (zh) 基于日志分析的cc攻击识别方法和设备
US20210136121A1 (en) System and method for creation and implementation of data processing workflows using a distributed computational graph
CN107809383A (zh) 一种基于mvc的路径映射方法及装置
CN103138981A (zh) 一种社交网络分析方法和装置
CN107391775A (zh) 一种通用的网络爬虫模型实现方法及系统
CN109600385B (zh) 一种访问控制方法及装置
CN102647414A (zh) 协议解析方法、设备及系统
CN102148805A (zh) 特征匹配方法和装置
Kim et al. Implementation of hybrid P2P networking distributed web crawler using AWS for smart work news big data
CN102006174A (zh) 基于手机用户上网行为的数据处理方法及装置
CN111061972B (zh) 一种用于url路径匹配的ac查找优化方法和装置
CN105630797A (zh) 数据处理方法及系统
CN109446807A (zh) 用于识别拦截恶意机器人的方法、装置以及电子设备
Zhong et al. FPGA-CPU Architecture Accelerated Regular Expression Matching With Fast Preprocessing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant