本申请涉及数据处理领域,具体涉及一种数据匹配方法及装置。
背景技术:
::互联网的日益发展,带来了数据量的爆炸式增长,也给网络安全带来了挑战。对高速网络数据流量的内容过滤,是安全领域的关键技术点之一,对网络安全具有重要意义。面对互联网数据的入侵检测和流量控制,过滤规则类型主要分为两种,一种是以源ip地址、目标ip地址、源端口、目标端口、协议号为元组构成的acl五元组规则;另一种是针对数据包内容,以dpi字符串为特征的关键词规则,关键词规则又分成固定位置dpi关键词规则、浮动位置dpi关键词规则。相与规则,由一条五元组规则和多条关键词规则组合而成(即多个要素相与)。相与规则命中的条件是,相与的各要素同时成立。相与规则的处理,分为两个步骤,一个是子规则匹配,另一个是子规则匹配后的相与归约处理(key_to_rule)。我们需要解决的,通常是数百gbps的高速数据处理下,数万条的相与规则的实时匹配处理。多关键词的匹配处理,主要有基于软件的实现和基于硬件的实现两种方式。浮动关键词的匹配,需要扫描整个数据包,处理极为复杂。且关键词匹配得到的结果,仅仅是关键词规则号及其位置等信息,还需要进一步处理才能得到相与规则的结果。软件实现时,在通用处理器上,可以运行灵活的软件算法,如ac算法,bm算法等,来实现多关键词的匹配处理。但由于受到cpu计算能力,存储空间大小、存储延时等方面的制约,性能达到数gbps的处理能力,已属不易。后续还需要得到多关键词的匹配结果之后,进一步归约处理得到用户规则结果,导致处理能力进一步下降,难以满足高速实时处理的需求。技术实现要素:针对现有技术中的问题,本申请提供一种数据匹配方法及装置,能够通过对相与规则进行分层处理,达到快速实现对目标数据进行相与规则匹配(也可理解为数据过滤)的目的,降低了系统资源消耗,提升了数据匹配效率。为了解决上述问题中的至少一个,本申请提供以下技术方案:第一方面,本申请提供一种数据匹配方法,包括:根据多个预设关键词匹配规则对目标数据进行匹配,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,将与匹配成功的关键词匹配规则对应的用户相与规则设定为目标相与规则;监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则判定该目标相与规则与所述目标数据匹配。进一步地,在所述将与匹配成功的关键词匹配规则对应的用户相与规则设定为目标相与规则之后,包括:更新匹配成功的关键词匹配规则的匹配状态信息为匹配成功;根据所述匹配状态信息和与所述关键词匹配规则对应的所有目标相与规则,得到一活动规则集。进一步地,所述监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则判定该目标相与规则与所述目标数据匹配,包括:监测所述活动规则集中各所述目标相与规则对应的所有关键词匹配规则的匹配状态信息;若所有所述关键词匹配规则的匹配状态信息都为匹配成功,则判定所述目标相与规则与所述目标数据匹配。进一步地,在所述判定所述目标相与规则与所述目标数据匹配之前,包括:判断所述目标相与规则对应的五元组规则与所述目标数据是否匹配;若否,则判定所述目标相与规则与所述目标数据不匹配。第二方面,本申请提供一种数据匹配装置,包括:关键词匹配模块,用于根据多个预设关键词匹配规则对目标数据进行匹配,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,将与匹配成功的关键词匹配规则对应的用户相与规则设定为目标相与规则;相与归约模块,用于监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则判定该目标相与规则与所述目标数据匹配。进一步地,还包括:匹配状态信息更新单元,用于更新匹配成功的关键词匹配规则的匹配状态信息为匹配成功;活动规则集构建单元,用于根据所述匹配状态信息和与所述关键词匹配规则对应的所有目标相与规则,得到一活动规则集。进一步地,所述相与归约模块包括:活动规则集监测单元,用于监测所述活动规则集中各所述目标相与规则对应的所有关键词匹配规则的匹配状态信息;匹配判定单元,用于若所有所述关键词匹配规则的匹配状态信息都为匹配成功,则判定所述目标相与规则与所述目标数据匹配。进一步地,还包括:五元组匹配单元,用于判断所述目标相与规则对应的五元组规则与所述目标数据是否匹配;五元组匹配判定单元,用于若判断所述目标相与规则对应的五元组规则与所述目标数据不匹配,则判定所述目标相与规则与所述目标数据不匹配。第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的数据匹配方法的步骤。第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的数据匹配方法的步骤。由上述技术方案可知,本申请提供一种数据匹配方法及装置,通过根据多个预设关键词匹配规则对接收到的目标数据进行关键词匹配,然后将能够成功匹配的关键词匹配规则,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,确定出对应的用户相与规则,并将其设定为目标相与规则,即该目标相与规则后续可能匹配成功,再然后,监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则说明该目标相与规则被命中,即判定该目标相与规则与所述目标数据匹配,本申请能够通过对相与规则进行分层处理,达到快速实现对目标数据进行相与规则匹配(也可理解为数据过滤)的目的,降低了系统资源消耗,提升了数据匹配效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例中的数据匹配方法的流程示意图之一;图2为本申请实施例中的数据匹配方法的流程示意图之二;图3为本申请实施例中的数据匹配方法的流程示意图之三;图4为本申请实施例中的数据匹配方法的流程示意图之四;图5为本申请实施例中的数据匹配装置的结构图之一;图6为本申请实施例中的数据匹配装置的结构图之二;图7为本申请实施例中的数据匹配装置的结构图之三;图8为本申请实施例中的规则规约层架构示意图;图9为本申请实施例中的归约表结构示意图;图10为本申请实施例中的相与规则的归约过程示意图;图11为本申请实施例中的各逻辑架构层在用户相与规则归约过程中的示意图;图12为本申请实施例中的在归约过程中所述归约表的定义图;图13为本申请实施例中的在归约过程中所述活动规则集中的逻辑判断示意图;图14为本申请实施例中的电子设备的结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。考虑到现有技术中的相与规则匹配方法往往需要先单独进行关键词匹配,再根据关键词匹配的结果进行相与规则的匹配,由于处理复杂、计算量巨大,从而导致数据匹配效率低下的问题,本申请提供一种数据匹配方法及装置,通过根据多个预设关键词匹配规则对接收到的目标数据进行关键词匹配,然后将能够成功匹配的关键词匹配规则,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,确定出对应的用户相与规则,并将其设定为目标相与规则,即该目标相与规则后续可能匹配成功,再然后,监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则说明该目标相与规则被命中,即判定该目标相与规则与所述目标数据匹配,本申请能够通过对相与规则进行分层处理,达到快速实现对目标数据进行相与规则匹配(也可理解为数据过滤。为了能够通过对相与规则进行分层处理,达到快速实现对目标数据进行相与规则匹配(也可理解为数据过滤)的目的,降低了系统资源消耗,提升了数据匹配效率,本申请提供一种数据匹配方法的实施例,参见图1,所述数据匹配方法具体包含有如下内容:步骤s101:根据多个预设关键词匹配规则对目标数据进行匹配,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,将与匹配成功的关键词匹配规则对应的用户相与规则设定为目标相与规则。可以理解的是,所述用户相与规则的组成要素一般可以包括:一条五元组匹配规则和至少一条关键词匹配规则。所述五元组匹配规则和所述关键词匹配规则也可以称为所述用户相与规则的子规则。可选地,一条用户相与规则可以由一条五元组匹配规则和多条关键词匹配规则组成,同时,也可以包含一条五元组和/或一条关键词匹配规则。例如,一条用户相与规则rule1,其构成可以如下(使用“&”符号表示左右要素同时成立):sip=192.168.1.1&“abcdefg”&offset=100“xyz”&“12345”。可选地,已知用户相与规则的命中条件是相与的各组成要素(即各子规则,包括五元组匹配规则和关键词匹配规则)同时成立。对于用户相与规则的匹配,可以将该用户相与规则预先分解成多个子规则,以首先对各子规则进行匹配;然后,根据个子规则的匹配结果,归约出原始的用户相与规则的匹配结果。在本申请的一个具体实例中,所述将该用户相与规则预先分解成多个子规则,可以理解为将一条用户相与规则rule1分解成三条关键词匹配规则(key1、key2、key3)和一条五元组匹配规则,在实际生产应用中,该步骤可以由tcam(ternarycontentaddressablememory)芯片执行并存储分解的结果。具体地,如表1所示为上述分解过程示意表:表1用户相与规则分解表可以理解的是,在对所述目标数据进行匹配处理之前,系统中根据用户自定义输入的信息可以预先设置有多个不同的用户相与规则,因此上述表1中的各关键词匹配规则(即key1、key2、key3)不仅与用户相与规则rule1具有所述对应关系,还可以与其他预设的用户相与规则(例如rule2、rule3)也具有对应关系。可以理解的是,根据上述描述,在对所述目标数据进行匹配处理时,例如根据一关键词匹配规则key1对所述目标数据进行匹配处理,若匹配成功,与可以将与该关键词匹配规则key1具有对应关系的所有用户相与规则(即所述目标相与规则)整合为一活动规则集,所述活动规则集用于保存上述多个目标相与规则。参见图8,可选地,为了利用各子规则的高速匹配得到的结果,得到用户相与规则的匹配结果,在逻辑架构方面,本申请在各子规则和用户相与规则之间,建立一个中间层,也可称为规则归约层,所述规则归约层用于将用户相与规则和各子规则进行关联、映射、隔离,即用于预先存储所述各预设关键词匹配规则与各预设用户相与规则的对应关系,具体地,如表2所示,为系统逻辑架构中各层的说明:表2逻辑架构中各层的说明由此可见,所述规则归约层可以是一个映射层,包含了用户相与规则与各子规则的映射,实现了用户相与规则和匹配逻辑之间的隔离,简化了规则匹配的处理逻辑,使得子规则层专注于匹配功能的效率最大化,而规则归约层专注于多关键词之间的关联关系处理;为了便于理解,下文中使用归约表(key_to_rule_table)来描述所述规则归约层的映射关系。基于所述映射关系,本申请可以方便的根据子规则的匹配命中信息,得到相与规则的匹配命中信息。可选地,所述相与规则的规约表(key_to_rule_table)设置在所述规则规约层内,是一种描述子规则key和用户相与规则rule之间的关系的关联表,是实现归约过程的关键信息。在本申请的一个具体实例中,可以将所有的用户相与规则rule从0~max_rule_num-1编号,称为rule_id;所有的关键词匹配规则key从0~max_key_num-1编号,称为key_id,其中rule_id标识每一条用户相与规则,key_id标识每一条关键词匹配。如图9所示,为一个以key_id为索引的归约表结构示意图,其中,表项的内容具体包括:1)key_id:关键词匹配规则的id值;2)rulenum:该关键词匹配规则所对应的用户相与规则的数目;3)rulenum条记录,每条记录包含所属的每条规则的信息,具体包括:a)rule_id:用户相与规则的id值;b)key_mask:key到rule归约时的关联信息。每一个key,对应一个key_id。每一个key_id对应一个规约表项,包含一个或者多个(rule_id,key_mask)对的值。key_mask表示本key的命中在rule_id对应的用户规则中是满足的第几个子部分的的命中。如果一个用户规则的每个子部分都产生了命中,则该用户规则命中。由此可知,用户相与规则的归约过程中主要就是根据key的命中信息,读出此归约表中的内容并进一步处理,并得到用户相与规则的匹配结果。由归约表可知,需要支持的关键词匹配规则key规模越大,需要的归约表项越多。每个关键词所属的相与规则数目越多,归约表项越大。rule中的最大key数目影响了归约处理的过程,因此,对具体设计来说,可以根据系统需要支持的规则容量,来对该表进行适当调整。步骤s102:监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则判定该目标相与规则与所述目标数据匹配。为了方便后续描述,下文中将原始的用户相与规则简称为“rule(例如rule1、rule2)”,分解后的关键词匹配规则简称为“key(例如key1、key2)”。如此,用户相与规则的归约过程(key_to_rule)也可以描述为:rule分解为key,得到key的匹配结果,再归约出rule的匹配结果。可选地,上述步骤s101中所述归约表中的key_mask可以为用户相与规则的掩码(即所包含子规则的掩码集),用于完整地描述用户相与规则rule与各关键词匹配规则key之间的映射关系。可选地,所述key_mask可以使用一个数组来组织,即每1bit所处的位置表示该子规则对于用户相与规则的索引,也可以说是在数组中的下标,而该bit的掩码值,表示某子规则对于某用户相与规则的关联,例如,‘1’表示有关,‘0’表示无关。可选地,key_mask也可以分配多个bit,每1bit表示一个key对于该用户相与规则的关系,最多支持n个key的相与,比如n=8表示支持8个key相与。可选地,将key_mask中其它无关bit设置为1,可简化归约过程中对归约结果的判断。在归约处理时,根据key_mask值,可以得到相与规则的命中信息,例如,用户相与规则的匹配命中的条件是,归约处理完的中间掩码值全为1。在本申请的一个具体实例中,一条用户相与规则rule1=key1&key2&key3&key4,n=8时,其key_mask的值可以如表3所示:表3key_mask的数值变化表可选地,由步骤s101中的描述可知,所述规则归约层中除设置有上述归约表外,还设置有活动规则集,所述活动规则集主要作用是暂存命中的用户规则相关信息,包含rule_id和中间值掩码key_mask。由此可知,用户相与规则的匹配命中条件还可以描述为:活动规则集中,存储的中间状态key_mask为全1,则对应的rule_id命中。即根据活动规则集的中间信息,得到所有的命中规则,然后根据优先级,得到最终的结果。具体地,所述目标数据(例如一个数据包)经过各关键词匹配规则的匹配后,命中了其中m条关键词,这m条关键词形成了一个集合s;需要寻找一个集合t,该集合中包含了n条用户相与规则,每一条用户相与规则包含的关键词都在s中;且任何一条不属于t中的规则,一定存在一个所包含的关键词不在s中。参见图10,为本申请一个具体实例中相与规则的归约过程示意图,图中的具体步骤如下,步骤1.起始处理数据包,设置活动规则集u为空;步骤2.然后进入循环,将在数据包每个位置上经过关键词匹配得到所有命中信息形成集合s;步骤3.遍历读取s中每个命中的key_id,根据key_id查找key_to_rule_table得到其对应的规约表项,即(rule_id,key_mask)对的集合;步骤4.遍历步骤3中(rule_id,key_mask)集合的每一个元素,根据其rule_id在动规则集u中进行查找,如果存在对应的元素,进行key_mask的或运算并更新u中的元素;如果未能找到,则在u中新增该元素,并设置其rule_id和key_mask;步骤5.判断u中每个元素的key_mask是否为全1,如果有,则相与规则命中,在t中记录命中规则的信息;步骤6.判断数据包处理是否结束,如结束则将t中的所有结果进行合并,按照元素对应规则的优先级得到最终的命中结果,如果t为空则未能命中;如处理未结束,则转到步骤2。由此可见,归约过程的主要思想是对每一个命中的key,将其所属的用户相与规则都加入到活动规则集中,并将该key所对应的key_mask处的掩码比特值设置为1;若所属用户相与规则已经在活动规则集中,则合并对应的key_mask,直到key_mask的值为全1,说明活动规则集中的这条用户相与规则发生了命中,否则不命中。参见图11,为在本申请的一个具体实例中各逻辑架构层在用户相与规则归约过程中的示意图,其具体工作流程参见图12:步骤1、每条用户复杂规则有唯一的rule_id,将用户的复杂规则进行分解,将各个相与部分拆分,形成可以一次处理的最大子规则key1,key2…keyn;步骤2、给每个子规则确定子全局唯一的规则号key_id,不同用户规则的相同的子规则key_id相同;步骤3、每个key_id对应一个规约表项,记录有多少个复杂规则与之关联,表示为(rule_id,key_mask)对的集合;步骤4、在进行负责规则匹配时,流程如图10所示。为在该归约过程中所述归约表的定义图,参见图13,为在该归约过程中所述活动规则集中的逻辑判断示意图,可见,上述示例中,我们由key1,key2,key3的命中,得到了活动规则集中rule1,rule2,rule3的命中条件齐备,然后根据预设优先级得到最终结果。在本申请的一些具体实例中,可以通过bloom-filter(即布隆过滤器)和tcam(ternarycontentaddressablememory)芯片进行关键词匹配规则与目标数据的匹配工作,再通过如图7所示的fpga芯片作为相与规则归约处理模块,用于进行归约表存储和读取、多个归约处理以及结果合并工作。具体地,在fpga芯片中,可以利用片内ddr,来存储该归约表。所述fpga芯片中的归约表读取模块,用于依次处理命中的关键词信息。根据子规则的命中key_id,读出其对应的所有归约表项,得到命中的中间规则号srule_id及其关联掩码key_mask信息,送入活动规则集处理。我们分为多级流水处理,可以充分利用ddr读接口的带宽。所述fpga芯片中的活动规则集,用于暂存命中规则信息。若最终相与规则包含的关键词全部命中,则将再次验证五元组规则,最终得到整个相与规则的匹配结果。多路并行归约可以增大处理带宽。具体分成几路并行处理,与fpga的工作时钟,以及规则构成情况有关。结果合并模块根据命中规则的优先级,得到最高优先级的用户相与匹配结果。从上述描述可知,本申请实施例提供的数据匹配方法,能够通过根据多个预设关键词匹配规则对接收到的目标数据进行关键词匹配,然后将能够成功匹配的关键词匹配规则,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,确定出对应的用户相与规则,并将其设定为目标相与规则,即该目标相与规则后续可能匹配成功,再然后,监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则说明该目标相与规则被命中,即判定该目标相与规则与所述目标数据匹配,本申请能够通过对相与规则进行分层处理,达到快速实现对目标数据进行相与规则匹配(也可理解为数据过滤。为了能够准确描述关键词匹配规则与目标相与规则之间的对应关系以及匹配状态,在本申请的数据匹配方法的一实施例中,参见图2,在步骤s101之后,还可以具体包含如下内容:步骤s201:更新匹配成功的关键词匹配规则的匹配状态信息为匹配成功。步骤s202:根据所述匹配状态信息和与所述关键词匹配规则对应的所有目标相与规则,得到一活动规则集。可选地,上述步骤s101中所述归约表中的key_mask可以为用户相与规则的掩码(即所包含子规则的掩码集),用于表征所述匹配状态信息,用于完整地描述用户相与规则rule与各关键词匹配规则key之间的映射关系。可选地,所述key_mask可以使用一个数组来组织,即每1bit所处的位置表示该子规则对于用户相与规则的索引,也可以说是在数组中的下标,而该bit的掩码值,表示某子规则对于某用户相与规则的关联,例如,‘1’表示有关(或匹配成功),‘0’表示无关(或匹配失败)。可选地,在对所述目标数据进行匹配处理之前,系统中根据用户自定义输入的信息可以预先设置有多个不同的用户相与规则,因此上述表1中的各关键词匹配规则(即key1、key2、key3)不仅与用户相与规则rule1具有所述对应关系,还可以与其他预设的用户相与规则(例如rule2、rule3)也具有对应关系。可选地,根据上述描述,在对所述目标数据进行匹配处理时,例如根据一关键词匹配规则key1对所述目标数据进行匹配处理,若匹配成功,与可以将与该关键词匹配规则key1具有对应关系的所有用户相与规则(即所述目标相与规则)整合为一活动规则集,所述活动规则集用于保存上述多个目标相与规则。为了能够根据目标相与规则中各关键词匹配规则的匹配状态以确定该目标相与规则是否与目标数据成功匹配,在本申请的数据匹配方法的一实施例中,参见图3,所述步骤s102还可以具体包含如下内容:步骤s301:监测所述活动规则集中各所述目标相与规则对应的所有关键词匹配规则的匹配状态信息。步骤s302:若所有所述关键词匹配规则的匹配状态信息都为匹配成功,则判定所述目标相与规则与所述目标数据匹配。可选地,所述匹配状态信息(即key_mask)也可以分配多个bit,每1bit表示一个key对于该用户相与规则的关系,最多支持n个key的相与,比如n=8表示支持8个key相与。可选地,将key_mask中其它无关bit设置为1,可简化归约过程中对归约结果的判断。在归约处理时,根据key_mask值,可以得到相与规则的命中信息,例如,用户相与规则的匹配命中的条件是,归约处理完的中间掩码值全为1。由此,通过监测所述掩码值是否全为1,以此判断所述目标相与规则与所述目标数据是否匹配。为了能够进一步判断目标相与规则是否与目标数据成功匹配,在本申请的数据匹配方法的一实施例中,参见图4,在步骤s102之前,还可以具体包含如下内容:步骤s401:判断所述目标相与规则对应的五元组规则与所述目标数据是否匹配。步骤s402:若否,则判定所述目标相与规则与所述目标数据不匹配。可选地,若最终相与规则包含的关键词全部命中,则将再次验证五元组规则,最终得到整个相与规则的匹配结果。多路并行归约可以增大处理带宽。为了能够通过对相与规则进行分层处理,达到快速实现对目标数据进行相与规则匹配(也可理解为数据过滤)的目的,降低了系统资源消耗,提升了数据匹配效率,本申请提供一种用于实现所述数据匹配方法的全部或部分内容的数据匹配装置的实施例,参见图5,所述数据匹配装置具体包含有如下内容:关键词匹配模块10,用于根据多个预设关键词匹配规则对目标数据进行匹配,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,将与匹配成功的关键词匹配规则对应的用户相与规则设定为目标相与规则。相与归约模块20,用于监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则判定该目标相与规则与所述目标数据匹配。从上述描述可知,本申请实施例提供的数据匹配装置,能够通过根据多个预设关键词匹配规则对接收到的目标数据进行关键词匹配,然后将能够成功匹配的关键词匹配规则,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,确定出对应的用户相与规则,并将其设定为目标相与规则,即该目标相与规则后续可能匹配成功,再然后,监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则说明该目标相与规则被命中,即判定该目标相与规则与所述目标数据匹配,本申请能够通过对相与规则进行分层处理,达到快速实现对目标数据进行相与规则匹配(也可理解为数据过滤。为了能够准确描述关键词匹配规则与目标相与规则之间的对应关系以及匹配状态,在本申请的数据匹配装置的一实施例中,还具体包含有如下内容:匹配状态信息更新单元,用于更新匹配成功的关键词匹配规则的匹配状态信息为匹配成功。活动规则集构建单元,用于根据所述匹配状态信息和与所述关键词匹配规则对应的所有目标相与规则,得到一活动规则集。为了能够根据目标相与规则中各关键词匹配规则的匹配状态以确定该目标相与规则是否与目标数据成功匹配,在本申请的数据匹配装置的一实施例中,参见图6,所述相与归约模块20包括:活动规则集监测单元21,用于监测所述活动规则集中各所述目标相与规则对应的所有关键词匹配规则的匹配状态信息。匹配判定单元22,用于若所有所述关键词匹配规则的匹配状态信息都为匹配成功,则判定所述目标相与规则与所述目标数据匹配。为了能够进一步判断目标相与规则是否与目标数据成功匹配,在本申请的数据匹配装置的一实施例中,还具体包含有如下内容:五元组匹配单元,用于判断所述目标相与规则对应的五元组规则与所述目标数据是否匹配。五元组匹配判定单元,用于若判断所述目标相与规则对应的五元组规则与所述目标数据不匹配,则判定所述目标相与规则与所述目标数据不匹配。从硬件层面来说,为了能够通过对相与规则进行分层处理,达到快速实现对目标数据进行相与规则匹配(也可理解为数据过滤)的目的,降低了系统资源消耗,提升了数据匹配效率,本申请提供一种用于实现所述数据匹配方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:处理器(processor)、存储器(memory)、通信接口(communicationsinterface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现数据匹配装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的数据匹配方法的实施例,以及数据匹配装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(pda)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。在实际应用中,数据匹配方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。图14为本申请实施例的电子设备9600的系统构成的示意框图。如图14所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图14是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。一实施例中,数据匹配方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:步骤s101:根据多个预设关键词匹配规则对目标数据进行匹配,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,将与匹配成功的关键词匹配规则对应的用户相与规则设定为目标相与规则。步骤s102:监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则判定该目标相与规则与所述目标数据匹配。从上述描述可知,本申请实施例提供的电子设备,通过根据多个预设关键词匹配规则对接收到的目标数据进行关键词匹配,然后将能够成功匹配的关键词匹配规则,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,确定出对应的用户相与规则,并将其设定为目标相与规则,即该目标相与规则后续可能匹配成功,再然后,监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则说明该目标相与规则被命中,即判定该目标相与规则与所述目标数据匹配,本申请能够通过对相与规则进行分层处理,达到快速实现对目标数据进行相与规则匹配(也可理解为数据过滤。在另一个实施方式中,数据匹配装置可以与中央处理器9100分开配置,例如可以将数据匹配装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现数据匹配方法功能。如图14所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图14中所示的所有部件;此外,电子设备9600还可以包括图14中没有示出的部件,可以参考现有技术。如图14所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为lcd显示器,但并不限于此。该存储器9140可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的数据匹配方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的数据匹配方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:步骤s101:根据多个预设关键词匹配规则对目标数据进行匹配,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,将与匹配成功的关键词匹配规则对应的用户相与规则设定为目标相与规则。步骤s102:监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则判定该目标相与规则与所述目标数据匹配。从上述描述可知,本申请实施例提供的计算机可读存储介质,通过根据多个预设关键词匹配规则对接收到的目标数据进行关键词匹配,然后将能够成功匹配的关键词匹配规则,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,确定出对应的用户相与规则,并将其设定为目标相与规则,即该目标相与规则后续可能匹配成功,再然后,监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则说明该目标相与规则被命中,即判定该目标相与规则与所述目标数据匹配,本申请能够通过对相与规则进行分层处理,达到快速实现对目标数据进行相与规则匹配(也可理解为数据过滤。本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。当前第1页1 2 3 当前第1页1 2 3 
技术特征:1.一种数据匹配方法,其特征在于,所述方法包括:
根据多个预设关键词匹配规则对目标数据进行匹配,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,将与匹配成功的关键词匹配规则对应的用户相与规则设定为目标相与规则;
监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则判定该目标相与规则与所述目标数据匹配。
2.根据权利要求1所述的数据匹配方法,其特征在于,在所述将与匹配成功的关键词匹配规则对应的用户相与规则设定为目标相与规则之后,包括:
更新匹配成功的关键词匹配规则的匹配状态信息为匹配成功;
根据所述匹配状态信息和与所述关键词匹配规则对应的所有目标相与规则,得到一活动规则集。
3.根据权利要求2所述的数据匹配方法,其特征在于,所述监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则判定该目标相与规则与所述目标数据匹配,包括:
监测所述活动规则集中各所述目标相与规则对应的所有关键词匹配规则的匹配状态信息;
若所有所述关键词匹配规则的匹配状态信息都为匹配成功,则判定所述目标相与规则与所述目标数据匹配。
4.根据权利要求3所述的数据匹配方法,其特征在于,在所述判定所述目标相与规则与所述目标数据匹配之前,包括:
判断所述目标相与规则对应的五元组规则与所述目标数据是否匹配;
若否,则判定所述目标相与规则与所述目标数据不匹配。
5.一种数据匹配装置,其特征在于,包括:
关键词匹配模块,用于根据多个预设关键词匹配规则对目标数据进行匹配,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,将与匹配成功的关键词匹配规则对应的用户相与规则设定为目标相与规则;
相与归约模块,用于监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则判定该目标相与规则与所述目标数据匹配。
6.根据权利要求5所述的数据匹配装置,其特征在于,还包括:
匹配状态信息更新单元,用于更新匹配成功的关键词匹配规则的匹配状态信息为匹配成功;
活动规则集构建单元,用于根据所述匹配状态信息和与所述关键词匹配规则对应的所有目标相与规则,得到一活动规则集。
7.根据权利要求6所述的数据匹配装置,其特征在于,所述相与归约模块包括:
活动规则集监测单元,用于监测所述活动规则集中各所述目标相与规则对应的所有关键词匹配规则的匹配状态信息;
匹配判定单元,用于若所有所述关键词匹配规则的匹配状态信息都为匹配成功,则判定所述目标相与规则与所述目标数据匹配。
8.根据权利要求7所述的数据匹配装置,其特征在于,还包括:
五元组匹配单元,用于判断所述目标相与规则对应的五元组规则与所述目标数据是否匹配;
五元组匹配判定单元,用于若判断所述目标相与规则对应的五元组规则与所述目标数据不匹配,则判定所述目标相与规则与所述目标数据不匹配。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述的数据匹配方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述的数据匹配方法的步骤。
技术总结本申请实施例提供一种数据匹配方法及装置,方法包括:根据多个预设关键词匹配规则对目标数据进行匹配,根据各预设关键词匹配规则与各预设用户相与规则的对应关系,将与匹配成功的关键词匹配规则对应的用户相与规则设定为目标相与规则;监测与所述目标相与规则具有所述对应关系的所有关键词匹配规则是否都与所述目标数据匹配成功,若是,则判定该目标相与规则与所述目标数据匹配;本申请能够通过对相与规则进行分层处理,达到快速实现对目标数据进行相与规则匹配的目的,降低了系统资源消耗,提升了数据匹配效率。
技术研发人员:刘彬;梁丽华;董杰;李登峰
受保护的技术使用者:北京恒光信息技术股份有限公司
技术研发日:2020.01.14
技术公布日:2020.06.05