数据匹配方法及装置.pdf

上传人:v**** 文档编号:9318817 上传时间:2021-05-13 格式:PDF 页数:26 大小:1.49MB
收藏 版权申诉 举报 下载
数据匹配方法及装置.pdf_第1页
第1页 / 共26页
数据匹配方法及装置.pdf_第2页
第2页 / 共26页
数据匹配方法及装置.pdf_第3页
第3页 / 共26页
文档描述:

《数据匹配方法及装置.pdf》由会员分享,可在线阅读,更多相关《数据匹配方法及装置.pdf(26页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010036179.1 (22)申请日 2020.01.14 (71)申请人 北京恒光信息技术股份有限公司 地址 100097 北京市海淀区蓝靛厂东路2号 院金源时代商务中心2号楼A座3B (72)发明人 刘彬梁丽华董杰李登峰 (74)专利代理机构 北京三友知识产权代理有限 公司 11127 代理人 孙乳笋赵平 (51)Int.Cl. G06F 16/2455(2019.01) (54)发明名称 数据匹配方法及装置 (57)摘要 本申请实施例提供一种数据匹配方法及装 置, 。

2、方法包括: 根据多个预设关键词匹配规则对 目标数据进行匹配, 根据各预设关键词匹配规则 与各预设用户相与规则的对应关系, 将与匹配成 功的关键词匹配规则对应的用户相与规则设定 为目标相与规则; 监测与所述目标相与规则具有 所述对应关系的所有关键词匹配规则是否都与 所述目标数据匹配成功, 若是, 则判定该目标相 与规则与所述目标数据匹配; 本申请能够通过对 相与规则进行分层处理, 达到快速实现对目标数 据进行相与规则匹配的目的, 降低了系统资源消 耗, 提升了数据匹配效率。 权利要求书2页 说明书14页 附图9页 CN 111241138 A 2020.06.05 CN 111241138 A 。

3、1.一种数据匹配方法, 其特征在于, 所述方法包括: 根据多个预设关键词匹配规则对目标数据进行匹配, 根据各预设关键词匹配规则与各 预设用户相与规则的对应关系, 将与匹配成功的关键词匹配规则对应的用户相与规则设定 为目标相与规则; 监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目 标数据匹配成功, 若是, 则判定该目标相与规则与所述目标数据匹配。 2.根据权利要求1所述的数据匹配方法, 其特征在于, 在所述将与匹配成功的关键词匹 配规则对应的用户相与规则设定为目标相与规则之后, 包括: 更新匹配成功的关键词匹配规则的匹配状态信息为匹配成功; 根据所述匹配状态信息和与所述。

4、关键词匹配规则对应的所有目标相与规则, 得到一活 动规则集。 3.根据权利要求2所述的数据匹配方法, 其特征在于, 所述监测与所述目标相与规则具 有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功, 若是, 则判定该 目标相与规则与所述目标数据匹配, 包括: 监测所述活动规则集中各所述目标相与规则对应的所有关键词匹配规则的匹配状态 信息; 若所有所述关键词匹配规则的匹配状态信息都为匹配成功, 则判定所述目标相与规则 与所述目标数据匹配。 4.根据权利要求3所述的数据匹配方法, 其特征在于, 在所述判定所述目标相与规则与 所述目标数据匹配之前, 包括: 判断所述目标相与规则对应的五元。

5、组规则与所述目标数据是否匹配; 若否, 则判定所述目标相与规则与所述目标数据不匹配。 5.一种数据匹配装置, 其特征在于, 包括: 关键词匹配模块, 用于根据多个预设关键词匹配规则对目标数据进行匹配, 根据各预 设关键词匹配规则与各预设用户相与规则的对应关系, 将与匹配成功的关键词匹配规则对 应的用户相与规则设定为目标相与规则; 相与归约模块, 用于监测与所述目标相与规则具有所述对应关系的所有关键词匹配规 则是否都与所述目标数据匹配成功, 若是, 则判定该目标相与规则与所述目标数据匹配。 6.根据权利要求5所述的数据匹配装置, 其特征在于, 还包括: 匹配状态信息更新单元, 用于更新匹配成功的。

6、关键词匹配规则的匹配状态信息为匹配 成功; 活动规则集构建单元, 用于根据所述匹配状态信息和与所述关键词匹配规则对应的所 有目标相与规则, 得到一活动规则集。 7.根据权利要求6所述的数据匹配装置, 其特征在于, 所述相与归约模块包括: 活动规则集监测单元, 用于监测所述活动规则集中各所述目标相与规则对应的所有关 键词匹配规则的匹配状态信息; 匹配判定单元, 用于若所有所述关键词匹配规则的匹配状态信息都为匹配成功, 则判 定所述目标相与规则与所述目标数据匹配。 8.根据权利要求7所述的数据匹配装置, 其特征在于, 还包括: 权利要求书 1/2 页 2 CN 111241138 A 2 五元组匹。

7、配单元, 用于判断所述目标相与规则对应的五元组规则与所述目标数据是否 匹配; 五元组匹配判定单元, 用于若判断所述目标相与规则对应的五元组规则与所述目标数 据不匹配, 则判定所述目标相与规则与所述目标数据不匹配。 9.一种电子设备, 包括存储器、 处理器及存储在存储器上并可在处理器上运行的计算 机程序, 其特征在于, 所述处理器执行所述程序时实现权利要求1至4任一项所述的数据匹 配方法的步骤。 10.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 该计算机程序被 处理器执行时实现权利要求1至4任一项所述的数据匹配方法的步骤。 权利要求书 2/2 页 3 CN 111241138。

8、 A 3 数据匹配方法及装置 技术领域 0001 本申请涉及数据处理领域, 具体涉及一种数据匹配方法及装置。 背景技术 0002 互联网的日益发展, 带来了数据量的爆炸式增长, 也给网络安全带来了挑战。 对高 速网络数据流量的内容过滤, 是安全领域的关键技术点之一, 对网络安全具有重要意义。 面 对互联网数据的入侵检测和流量控制, 过滤规则类型主要分为两种, 一种是以源IP地址、 目 标IP地址、 源端口、 目标端口、 协议号为元组构成的ACL五元组规则; 另一种是针对数据包内 容, 以DPI字符串为特征的关键词规则, 关键词规则又分成固定位置DPI关键词规则、 浮动位 置DPI关键词规则。 。

9、0003 相与规则, 由一条五元组规则和多条关键词规则组合而成(即多个要素相与)。 相 与规则命中的条件是, 相与的各要素同时成立。 相与规则的处理, 分为两个步骤, 一个是子 规则匹配, 另一个是子规则匹配后的相与归约处理(key_to_rule)。 我们需要解决的, 通常 是数百Gbps的高速数据处理下, 数万条的相与规则的实时匹配处理。 0004 多关键词的匹配处理, 主要有基于软件的实现和基于硬件的实现两种方式。 浮动 关键词的匹配, 需要扫描整个数据包, 处理极为复杂。 且关键词匹配得到的结果, 仅仅是关 键词规则号及其位置等信息, 还需要进一步处理才能得到相与规则的结果。 0005。

10、 软件实现时, 在通用处理器上, 可以运行灵活的软件算法, 如AC算法, BM算法等, 来 实现多关键词的匹配处理。 但由于受到CPU计算能力, 存储空间大小、 存储延时等方面的制 约, 性能达到数Gbps的处理能力, 已属不易。 后续还需要得到多关键词的匹配结果之后, 进 一步归约处理得到用户规则结果, 导致处理能力进一步下降, 难以满足高速实时处理的需 求。 发明内容 0006 针对现有技术中的问题, 本申请提供一种数据匹配方法及装置, 能够通过对相与 规则进行分层处理, 达到快速实现对目标数据进行相与规则匹配(也可理解为数据过滤)的 目的, 降低了系统资源消耗, 提升了数据匹配效率。 0。

11、007 为了解决上述问题中的至少一个, 本申请提供以下技术方案: 0008 第一方面, 本申请提供一种数据匹配方法, 包括: 0009 根据多个预设关键词匹配规则对目标数据进行匹配, 根据各预设关键词匹配规则 与各预设用户相与规则的对应关系, 将与匹配成功的关键词匹配规则对应的用户相与规则 设定为目标相与规则; 0010 监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所 述目标数据匹配成功, 若是, 则判定该目标相与规则与所述目标数据匹配。 0011 进一步地, 在所述将与匹配成功的关键词匹配规则对应的用户相与规则设定为目 标相与规则之后, 包括: 说明书 1/14 页 4。

12、 CN 111241138 A 4 0012 更新匹配成功的关键词匹配规则的匹配状态信息为匹配成功; 0013 根据所述匹配状态信息和与所述关键词匹配规则对应的所有目标相与规则, 得到 一活动规则集。 0014 进一步地, 所述监测与所述目标相与规则具有所述对应关系的所有关键词匹配规 则是否都与所述目标数据匹配成功, 若是, 则判定该目标相与规则与所述目标数据匹配, 包 括: 0015 监测所述活动规则集中各所述目标相与规则对应的所有关键词匹配规则的匹配 状态信息; 0016 若所有所述关键词匹配规则的匹配状态信息都为匹配成功, 则判定所述目标相与 规则与所述目标数据匹配。 0017 进一步地。

13、, 在所述判定所述目标相与规则与所述目标数据匹配之前, 包括: 0018 判断所述目标相与规则对应的五元组规则与所述目标数据是否匹配; 0019 若否, 则判定所述目标相与规则与所述目标数据不匹配。 0020 第二方面, 本申请提供一种数据匹配装置, 包括: 0021 关键词匹配模块, 用于根据多个预设关键词匹配规则对目标数据进行匹配, 根据 各预设关键词匹配规则与各预设用户相与规则的对应关系, 将与匹配成功的关键词匹配规 则对应的用户相与规则设定为目标相与规则; 0022 相与归约模块, 用于监测与所述目标相与规则具有所述对应关系的所有关键词匹 配规则是否都与所述目标数据匹配成功, 若是, 。

14、则判定该目标相与规则与所述目标数据匹 配。 0023 进一步地, 还包括: 0024 匹配状态信息更新单元, 用于更新匹配成功的关键词匹配规则的匹配状态信息为 匹配成功; 0025 活动规则集构建单元, 用于根据所述匹配状态信息和与所述关键词匹配规则对应 的所有目标相与规则, 得到一活动规则集。 0026 进一步地, 所述相与归约模块包括: 0027 活动规则集监测单元, 用于监测所述活动规则集中各所述目标相与规则对应的所 有关键词匹配规则的匹配状态信息; 0028 匹配判定单元, 用于若所有所述关键词匹配规则的匹配状态信息都为匹配成功, 则判定所述目标相与规则与所述目标数据匹配。 0029 。

15、进一步地, 还包括: 0030 五元组匹配单元, 用于判断所述目标相与规则对应的五元组规则与所述目标数据 是否匹配; 0031 五元组匹配判定单元, 用于若判断所述目标相与规则对应的五元组规则与所述目 标数据不匹配, 则判定所述目标相与规则与所述目标数据不匹配。 0032 第三方面, 本申请提供一种电子设备, 包括存储器、 处理器及存储在存储器上并可 在处理器上运行的计算机程序, 所述处理器执行所述程序时实现所述的数据匹配方法的步 骤。 0033 第四方面, 本申请提供一种计算机可读存储介质, 其上存储有计算机程序, 该计算 说明书 2/14 页 5 CN 111241138 A 5 机程序被。

16、处理器执行时实现所述的数据匹配方法的步骤。 0034 由上述技术方案可知, 本申请提供一种数据匹配方法及装置, 通过根据多个预设 关键词匹配规则对接收到的目标数据进行关键词匹配, 然后将能够成功匹配的关键词匹配 规则, 根据各预设关键词匹配规则与各预设用户相与规则的对应关系, 确定出对应的用户 相与规则, 并将其设定为目标相与规则, 即该目标相与规则后续可能匹配成功, 再然后, 监 测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据 匹配成功, 若是, 则说明该目标相与规则被命中, 即判定该目标相与规则与所述目标数据匹 配, 本申请能够通过对相与规则进行分层处理, 达。

17、到快速实现对目标数据进行相与规则匹 配(也可理解为数据过滤)的目的, 降低了系统资源消耗, 提升了数据匹配效率。 附图说明 0035 为了更清楚地说明本申请实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图是本申请 的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据 这些附图获得其他的附图。 0036 图1为本申请实施例中的数据匹配方法的流程示意图之一; 0037 图2为本申请实施例中的数据匹配方法的流程示意图之二; 0038 图3为本申请实施例中的数据匹配方法的流程示意图之三; 0。

18、039 图4为本申请实施例中的数据匹配方法的流程示意图之四; 0040 图5为本申请实施例中的数据匹配装置的结构图之一; 0041 图6为本申请实施例中的数据匹配装置的结构图之二; 0042 图7为本申请实施例中的数据匹配装置的结构图之三; 0043 图8为本申请实施例中的规则规约层架构示意图; 0044 图9为本申请实施例中的归约表结构示意图; 0045 图10为本申请实施例中的相与规则的归约过程示意图; 0046 图11为本申请实施例中的各逻辑架构层在用户相与规则归约过程中的示意图; 0047 图12为本申请实施例中的在归约过程中所述归约表的定义图; 0048 图13为本申请实施例中的在归。

19、约过程中所述活动规则集中的逻辑判断示意图; 0049 图14为本申请实施例中的电子设备的结构示意图。 具体实施方式 0050 为使本申请实施例的目的、 技术方案和优点更加清楚, 下面将结合本申请实施例 中的附图, 对本申请实施例中的技术方案进行清楚、 完整的描述, 显然, 所描述的实施例是 本申请一部分实施例, 而不是全部的实施例。 基于本申请中的实施例, 本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例, 都属于本申请保护的范围。 0051 考虑到现有技术中的相与规则匹配方法往往需要先单独进行关键词匹配, 再根据 关键词匹配的结果进行相与规则的匹配, 由于处理复杂、 计算。

20、量巨大, 从而导致数据匹配效 率低下的问题, 本申请提供一种数据匹配方法及装置, 通过根据多个预设关键词匹配规则 对接收到的目标数据进行关键词匹配, 然后将能够成功匹配的关键词匹配规则, 根据各预 说明书 3/14 页 6 CN 111241138 A 6 设关键词匹配规则与各预设用户相与规则的对应关系, 确定出对应的用户相与规则, 并将 其设定为目标相与规则, 即该目标相与规则后续可能匹配成功, 再然后, 监测与所述目标相 与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功, 若是, 则说明该目标相与规则被命中, 即判定该目标相与规则与所述目标数据匹配, 本申请能够 通过。

21、对相与规则进行分层处理, 达到快速实现对目标数据进行相与规则匹配(也可理解为 数据过滤。 0052 为了能够通过对相与规则进行分层处理, 达到快速实现对目标数据进行相与规则 匹配(也可理解为数据过滤)的目的, 降低了系统资源消耗, 提升了数据匹配效率, 本申请提 供一种数据匹配方法的实施例, 参见图1, 所述数据匹配方法具体包含有如下内容: 0053 步骤S101: 根据多个预设关键词匹配规则对目标数据进行匹配, 根据各预设关键 词匹配规则与各预设用户相与规则的对应关系, 将与匹配成功的关键词匹配规则对应的用 户相与规则设定为目标相与规则。 0054 可以理解的是, 所述用户相与规则的组成要素。

22、一般可以包括: 一条五元组匹配规 则和至少一条关键词匹配规则。 所述五元组匹配规则和所述关键词匹配规则也可以称为所 述用户相与规则的子规则。 0055 可选地, 一条用户相与规则可以由一条五元组匹配规则和多条关键词匹配规则组 成, 同时, 也可以包含一条五元组和/或一条关键词匹配规则。 例如, 一条用户相与规则 rule1, 其构成可以如下(使用 “&” 符号表示左右要素同时成立): SIP192.168.1.1& “abcdefg” &offset100 “xyz” & “12345” 。 0056 可选地, 已知用户相与规则的命中条件是相与的各组成要素(即各子规则, 包括五 元组匹配规则和。

23、关键词匹配规则)同时成立。 对于用户相与规则的匹配, 可以将该用户相与 规则预先分解成多个子规则, 以首先对各子规则进行匹配; 然后, 根据个子规则的匹配结 果, 归约出原始的用户相与规则的匹配结果。 0057 在本申请的一个具体实例中, 所述将该用户相与规则预先分解成多个子规则, 可 以理解为将一条用户相与规则rule1分解成三条关键词匹配规则(key1、 key2、 key3)和一条 五元组匹配规则, 在实际生产应用中, 该步骤可以由TCAM(ternary content addressable memory)芯片执行并存储分解的结果。 0058 具体地, 如表1所示为上述分解过程示意表。

24、: 0059 表1用户相与规则分解表 说明书 4/14 页 7 CN 111241138 A 7 0060 0061 可以理解的是, 在对所述目标数据进行匹配处理之前, 系统中根据用户自定义输 入的信息可以预先设置有多个不同的用户相与规则, 因此上述表1中的各关键词匹配规则 (即key1、 key2、 key3)不仅与用户相与规则rule1具有所述对应关系, 还可以与其他预设的 用户相与规则(例如rule2、 rule3)也具有对应关系。 0062 可以理解的是, 根据上述描述, 在对所述目标数据进行匹配处理时, 例如根据一关 键词匹配规则key1对所述目标数据进行匹配处理, 若匹配成功, 与。

25、可以将与该关键词匹配 规则key1具有对应关系的所有用户相与规则(即所述目标相与规则)整合为一活动规则集, 所述活动规则集用于保存上述多个目标相与规则。 0063 参见图8, 可选地, 为了利用各子规则的高速匹配得到的结果, 得到用户相与规则 的匹配结果, 在逻辑架构方面, 本申请在各子规则和用户相与规则之间, 建立一个中间层, 也可称为规则归约层, 所述规则归约层用于将用户相与规则和各子规则进行关联、 映射、 隔 离, 即用于预先存储所述各预设关键词匹配规则与各预设用户相与规则的对应关系, 具体 地, 如表2所示, 为系统逻辑架构中各层的说明: 0064 表2逻辑架构中各层的说明 0065 。

26、0066 由此可见, 所述规则归约层可以是一个映射层, 包含了用户相与规则与各子规则 的映射, 实现了用户相与规则和匹配逻辑之间的隔离, 简化了规则匹配的处理逻辑, 使得子 规则层专注于匹配功能的效率最大化, 而规则归约层专注于多关键词之间的关联关系处 理; 为了便于理解, 下文中使用归约表(key_to_rule_table)来描述所述规则归约层的映射 说明书 5/14 页 8 CN 111241138 A 8 关系。 基于所述映射关系, 本申请可以方便的根据子规则的匹配命中信息, 得到相与规则的 匹配命中信息。 0067 可选地, 所述相与规则的规约表(key_to_rule_table)。

27、设置在所述规则规约层内, 是一种描述子规则key和用户相与规则rule之间的关系的关联表, 是实现归约过程的关键 信息。 0068 在本申请的一个具体实例中, 可以将所有的用户相与规则rule从0max_rule_ num-1编号, 称为rule_id; 所有的关键词匹配规则key从0max_key_num-1编号, 称为key_ id, 其中rule_id标识每一条用户相与规则, key_id标识每一条关键词匹配。 0069 如图9所示, 为一个以key_id为索引的归约表结构示意图, 其中, 表项的内容具体 包括: 0070 1)key_id: 关键词匹配规则的id值; 0071 2)Ru。

28、leNum: 该关键词匹配规则所对应的用户相与规则的数目; 0072 3)RuleNum条记录, 每条记录包含所属的每条规则的信息, 具体包括: 0073 a)rule_id: 用户相与规则的id值; 0074 b)key_mask: key到rule归约时的关联信息。 0075 每一个key, 对应一个key_id。 0076 每一个key_id对应一个规约表项, 包含一个或者多个(rule_id,key_mask)对的 值。 key_mask表示本key的命中在rule_id对应的用户规则中是满足的第几个子部分的的命 中。 如果一个用户规则的每个子部分都产生了命中, 则该用户规则命中。 0。

29、077 由此可知, 用户相与规则的归约过程中主要就是根据key的命中信息, 读出此归约 表中的内容并进一步处理, 并得到用户相与规则的匹配结果。 由归约表可知, 需要支持的关 键词匹配规则key规模越大, 需要的归约表项越多。 每个关键词所属的相与规则数目越多, 归约表项越大。 Rule中的最大key数目影响了归约处理的过程, 因此, 对具体设计来说, 可以 根据系统需要支持的规则容量, 来对该表进行适当调整。 0078 步骤S102: 监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是 否都与所述目标数据匹配成功, 若是, 则判定该目标相与规则与所述目标数据匹配。 0079 为了方。

30、便后续描述, 下文中将原始的用户相与规则简称为 “rule(例如rule1、 rule2)” , 分解后的关键词匹配规则简称为 “key(例如key1、 key2)” 。 如此, 用户相与规则的 归约过程(key_to_rule)也可以描述为: rule分解为key, 得到key的匹配结果, 再归约出 rule的匹配结果。 0080 可选地, 上述步骤S101中所述归约表中的key_mask可以为用户相与规则的掩码 (即所包含子规则的掩码集), 用于完整地描述用户相与规则rule与各关键词匹配规则key 之间的映射关系。 0081 可选地, 所述key_mask可以使用一个数组来组织, 即每1。

31、bit所处的位置表示该子 规则对于用户相与规则的索引, 也可以说是在数组中的下标, 而该bit的掩码值, 表示某子 规则对于某用户相与规则的关联, 例如,1 表示有关,0 表示无关。 0082 可选地, key_mask也可以分配多个bit, 每1bit表示一个key对于该用户相与规则 的关系, 最多支持N个key的相与, 比如N8表示支持8个key相与。 0083 可选地, 将key_mask中其它无关bit设置为1, 可简化归约过程中对归约结果的判 说明书 6/14 页 9 CN 111241138 A 9 断。 在归约处理时, 根据key_mask值, 可以得到相与规则的命中信息, 例如。

32、, 用户相与规则的 匹配命中的条件是, 归约处理完的中间掩码值全为1。 0084 在本申请的一个具体实例中, 一条用户相与规则Rule1Key1&Key2&Key3&Key4, N 8时, 其key_mask的值可以如表3所示: 0085 表3 key_mask的数值变化表 0086 0087 可选地, 由步骤S101中的描述可知, 所述规则归约层中除设置有上述归约表外, 还 设置有活动规则集, 所述活动规则集主要作用是暂存命中的用户规则相关信息, 包含rule_ id和中间值掩码key_mask。 0088 由此可知, 用户相与规则的匹配命中条件还可以描述为: 活动规则集中, 存储的中 间状。

33、态key_mask为全1, 则对应的rule_id命中。 即根据活动规则集的中间信息, 得到所有的 命中规则, 然后根据优先级, 得到最终的结果。 0089 具体地, 所述目标数据(例如一个数据包)经过各关键词匹配规则的匹配后, 命中 了其中M条关键词, 这M条关键词形成了一个集合S; 需要寻找一个集合T, 该集合中包含了N 条用户相与规则, 每一条用户相与规则包含的关键词都在S中; 且任何一条不属于T中的规 则, 一定存在一个所包含的关键词不在S中。 0090 参见图10, 为本申请一个具体实例中相与规则的归约过程示意图, 图中的具体步 骤如下, 0091 步骤1.起始处理数据包, 设置活动。

34、规则集U为空; 0092 步骤2.然后进入循环, 将在数据包每个位置上经过关键词匹配得到所有命中信息 形成集合S; 0093 步骤3.遍历读取S中每个命中的key_id, 根据key_id查找key_to_rule_table得到 其对应的规约表项, 即(rule_id,key_mask)对的集合; 说明书 7/14 页 10 CN 111241138 A 10 0094 步骤4.遍历步骤3中(rule_id,key_mask)集合的每一个元素, 根据其rule_id在动 规则集U中进行查找, 如果存在对应的元素, 进行key_mask的或运算并更新U中的元素; 如果 未能找到, 则在U中新增。

35、该元素, 并设置其rule_id和key_mask; 0095 步骤5.判断U中每个元素的key_mask是否为全1, 如果有, 则相与规则命中, 在T中 记录命中规则的信息; 0096 步骤6.判断数据包处理是否结束, 如结束则将T中的所有结果进行合并, 按照元素 对应规则的优先级得到最终的命中结果, 如果T为空则未能命中; 如处理未结束, 则转到步 骤2。 0097 由此可见, 归约过程的主要思想是对每一个命中的key, 将其所属的用户相与规则 都加入到活动规则集中, 并将该key所对应的key_mask处的掩码比特值设置为1; 若所属用 户相与规则已经在活动规则集中, 则合并对应的key。

36、_mask, 直到key_mask的值为全1, 说明 活动规则集中的这条用户相与规则发生了命中, 否则不命中。 0098 参见图11, 为在本申请的一个具体实例中各逻辑架构层在用户相与规则归约过程 中的示意图, 其具体工作流程参见图12: 0099 步骤1、 每条用户复杂规则有唯一的rule_id, 将用户的复杂规则进行分解, 将各个 相与部分拆分, 形成可以一次处理的最大子规则key1,key2keyn; 0100 步骤2、 给每个子规则确定子全局唯一的规则号key_id, 不同用户规则的相同的子 规则key_id相同; 0101 步骤3、 每个key_id对应一个规约表项, 记录有多少个复。

37、杂规则与之关联, 表示为 (rule_id,key_mask)对的集合; 0102 步骤4、 在进行负责规则匹配时, 流程如图10所示。 0103 为在该归约过程中所述归约表的定义图, 参见图13, 为在该归约过程中所述活动 规则集中的逻辑判断示意图, 可见, 上述示例中, 我们由key1, key2, key3的命中, 得到了活 动规则集中rule1, rule2, rule3的命中条件齐备, 然后根据预设优先级得到最终结果。 0104 在本申请的一些具体实例中, 可以通过Bloom-Filter(即布隆过滤器)和TCAM (ternary content addressable memor。

38、y)芯片进行关键词匹配规则与目标数据的匹配工 作, 再通过如图7所示的FPGA芯片作为相与规则归约处理模块, 用于进行归约表存储和读 取、 多个归约处理以及结果合并工作。 0105 具体地, 在FPGA芯片中, 可以利用片内DDR, 来存储该归约表。 0106 所述FPGA芯片中的归约表读取模块, 用于依次处理命中的关键词信息。 根据子规 则的命中key_id, 读出其对应的所有归约表项, 得到命中的中间规则号srule_id及其关联 掩码key_mask信息, 送入活动规则集处理。 我们分为多级流水处理, 可以充分利用DDR读接 口的带宽。 0107 所述FPGA芯片中的活动规则集, 用于暂。

39、存命中规则信息。 若最终相与规则包含的 关键词全部命中, 则将再次验证五元组规则, 最终得到整个相与规则的匹配结果。 多路并行 归约可以增大处理带宽。 具体分成几路并行处理, 与FPGA的工作时钟, 以及规则构成情况有 关。 结果合并模块根据命中规则的优先级, 得到最高优先级的用户相与匹配结果。 0108 从上述描述可知, 本申请实施例提供的数据匹配方法, 能够通过根据多个预设关 键词匹配规则对接收到的目标数据进行关键词匹配, 然后将能够成功匹配的关键词匹配规 说明书 8/14 页 11 CN 111241138 A 11 则, 根据各预设关键词匹配规则与各预设用户相与规则的对应关系, 确定出。

40、对应的用户相 与规则, 并将其设定为目标相与规则, 即该目标相与规则后续可能匹配成功, 再然后, 监测 与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹 配成功, 若是, 则说明该目标相与规则被命中, 即判定该目标相与规则与所述目标数据匹 配, 本申请能够通过对相与规则进行分层处理, 达到快速实现对目标数据进行相与规则匹 配(也可理解为数据过滤。 0109 为了能够准确描述关键词匹配规则与目标相与规则之间的对应关系以及匹配状 态, 在本申请的数据匹配方法的一实施例中, 参见图2, 在步骤S101之后, 还可以具体包含如 下内容: 0110 步骤S201: 更新匹配成。

41、功的关键词匹配规则的匹配状态信息为匹配成功。 0111 步骤S202: 根据所述匹配状态信息和与所述关键词匹配规则对应的所有目标相与 规则, 得到一活动规则集。 0112 可选地, 上述步骤S101中所述归约表中的key_mask可以为用户相与规则的掩码 (即所包含子规则的掩码集), 用于表征所述匹配状态信息, 用于完整地描述用户相与规则 rule与各关键词匹配规则key之间的映射关系。 0113 可选地, 所述key_mask可以使用一个数组来组织, 即每1bit所处的位置表示该子 规则对于用户相与规则的索引, 也可以说是在数组中的下标, 而该bit的掩码值, 表示某子 规则对于某用户相与规。

42、则的关联, 例如,1 表示有关(或匹配成功),0 表示无关(或匹配 失败)。 0114 可选地, 在对所述目标数据进行匹配处理之前, 系统中根据用户自定义输入的信 息可以预先设置有多个不同的用户相与规则, 因此上述表1中的各关键词匹配规则(即 key1、 key2、 key3)不仅与用户相与规则rule1具有所述对应关系, 还可以与其他预设的用户 相与规则(例如rule2、 rule3)也具有对应关系。 0115 可选地, 根据上述描述, 在对所述目标数据进行匹配处理时, 例如根据一关键词匹 配规则key1对所述目标数据进行匹配处理, 若匹配成功, 与可以将与该关键词匹配规则 key1具有对应。

43、关系的所有用户相与规则(即所述目标相与规则)整合为一活动规则集, 所述 活动规则集用于保存上述多个目标相与规则。 0116 为了能够根据目标相与规则中各关键词匹配规则的匹配状态以确定该目标相与 规则是否与目标数据成功匹配, 在本申请的数据匹配方法的一实施例中, 参见图3, 所述步 骤S102还可以具体包含如下内容: 0117 步骤S301: 监测所述活动规则集中各所述目标相与规则对应的所有关键词匹配规 则的匹配状态信息。 0118 步骤S302: 若所有所述关键词匹配规则的匹配状态信息都为匹配成功, 则判定所 述目标相与规则与所述目标数据匹配。 0119 可选地, 所述匹配状态信息(即key_。

44、mask)也可以分配多个bit, 每1bit表示一个 key对于该用户相与规则的关系, 最多支持N个key的相与, 比如N8表示支持8个key相与。 0120 可选地, 将key_mask中其它无关bit设置为1, 可简化归约过程中对归约结果的判 断。 在归约处理时, 根据key_mask值, 可以得到相与规则的命中信息, 例如, 用户相与规则的 匹配命中的条件是, 归约处理完的中间掩码值全为1。 说明书 9/14 页 12 CN 111241138 A 12 0121 由此, 通过监测所述掩码值是否全为1, 以此判断所述目标相与规则与所述目标数 据是否匹配。 0122 为了能够进一步判断目标。

45、相与规则是否与目标数据成功匹配, 在本申请的数据匹 配方法的一实施例中, 参见图4, 在步骤S102之前, 还可以具体包含如下内容: 0123 步骤S401: 判断所述目标相与规则对应的五元组规则与所述目标数据是否匹配。 0124 步骤S402: 若否, 则判定所述目标相与规则与所述目标数据不匹配。 0125 可选地, 若最终相与规则包含的关键词全部命中, 则将再次验证五元组规则, 最终 得到整个相与规则的匹配结果。 多路并行归约可以增大处理带宽。 0126 为了能够通过对相与规则进行分层处理, 达到快速实现对目标数据进行相与规则 匹配(也可理解为数据过滤)的目的, 降低了系统资源消耗, 提升。

46、了数据匹配效率, 本申请提 供一种用于实现所述数据匹配方法的全部或部分内容的数据匹配装置的实施例, 参见图5, 所述数据匹配装置具体包含有如下内容: 0127 关键词匹配模块10, 用于根据多个预设关键词匹配规则对目标数据进行匹配, 根 据各预设关键词匹配规则与各预设用户相与规则的对应关系, 将与匹配成功的关键词匹配 规则对应的用户相与规则设定为目标相与规则。 0128 相与归约模块20, 用于监测与所述目标相与规则具有所述对应关系的所有关键词 匹配规则是否都与所述目标数据匹配成功, 若是, 则判定该目标相与规则与所述目标数据 匹配。 0129 从上述描述可知, 本申请实施例提供的数据匹配装置。

47、, 能够通过根据多个预设关 键词匹配规则对接收到的目标数据进行关键词匹配, 然后将能够成功匹配的关键词匹配规 则, 根据各预设关键词匹配规则与各预设用户相与规则的对应关系, 确定出对应的用户相 与规则, 并将其设定为目标相与规则, 即该目标相与规则后续可能匹配成功, 再然后, 监测 与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹 配成功, 若是, 则说明该目标相与规则被命中, 即判定该目标相与规则与所述目标数据匹 配, 本申请能够通过对相与规则进行分层处理, 达到快速实现对目标数据进行相与规则匹 配(也可理解为数据过滤。 0130 为了能够准确描述关键词匹配规则与。

48、目标相与规则之间的对应关系以及匹配状 态, 在本申请的数据匹配装置的一实施例中, 还具体包含有如下内容: 0131 匹配状态信息更新单元, 用于更新匹配成功的关键词匹配规则的匹配状态信息为 匹配成功。 0132 活动规则集构建单元, 用于根据所述匹配状态信息和与所述关键词匹配规则对应 的所有目标相与规则, 得到一活动规则集。 0133 为了能够根据目标相与规则中各关键词匹配规则的匹配状态以确定该目标相与 规则是否与目标数据成功匹配, 在本申请的数据匹配装置的一实施例中, 参见图6, 所述相 与归约模块20包括: 0134 活动规则集监测单元21, 用于监测所述活动规则集中各所述目标相与规则对应。

49、的 所有关键词匹配规则的匹配状态信息。 0135 匹配判定单元22, 用于若所有所述关键词匹配规则的匹配状态信息都为匹配成 功, 则判定所述目标相与规则与所述目标数据匹配。 说明书 10/14 页 13 CN 111241138 A 13 0136 为了能够进一步判断目标相与规则是否与目标数据成功匹配, 在本申请的数据匹 配装置的一实施例中, 还具体包含有如下内容: 0137 五元组匹配单元, 用于判断所述目标相与规则对应的五元组规则与所述目标数据 是否匹配。 0138 五元组匹配判定单元, 用于若判断所述目标相与规则对应的五元组规则与所述目 标数据不匹配, 则判定所述目标相与规则与所述目标数。

50、据不匹配。 0139 从硬件层面来说, 为了能够通过对相与规则进行分层处理, 达到快速实现对目标 数据进行相与规则匹配(也可理解为数据过滤)的目的, 降低了系统资源消耗, 提升了数据 匹配效率, 本申请提供一种用于实现所述数据匹配方法中的全部或部分内容的电子设备的 实施例, 所述电子设备具体包含有如下内容: 0140 处理器(processor)、 存储器(memory)、 通信接口(Communications Interface)和 总线; 其中, 所述处理器、 存储器、 通信接口通过所述总线完成相互间的通信; 所述通信接口 用于实现数据匹配装置与核心业务系统、 用户终端以及相关数据库等相。

展开阅读全文
内容关键字: 数据 匹配 方法 装置
关于本文
本文标题:数据匹配方法及装置.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/9318817.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1