一种利用复杂表达式进行数据比对的方法、装置及存储介质制造方法及图纸

技术编号:22000041 阅读:52 留言:0更新日期:2019-08-31 05:21
本发明专利技术公开了一种利用复杂表达式进行数据比对的方法,包括以下步骤:S1:获取包括结构化数据和非结构化数据的基础数据;S2:选择结构化数据和非结构化数据中的数据作为子表达式,并通过逻辑运算符构造成复杂表达式,其中子表达式包括取自结构化数据的第一子表达式以及取自非结构化数据的第二子表达式,第一子表达式被用于精确匹配,第二子表达式被用于关键词匹配;S3:将子表达式分别进行比对获得比对情况;以及S4:根据比对情况通过表达式引擎对复杂表达式进行计算,得到数据的比对结果。在数据种类繁多、格式多样化的情况下实现复杂表达式实时、快速比对。既可以做到精确匹配,也可以非结构化的关键词匹配,为将来应用提供更精确有效的信息。

A Method, Device and Storage Media for Data Comparisons Using Complex Expressions

【技术实现步骤摘要】
一种利用复杂表达式进行数据比对的方法、装置及存储介质
本专利技术涉及数据筛选领域,具体涉及一种利用复杂表达式进行数据比对的方法、装置及存储介质。
技术介绍
在大数据时代的今天,数据种类和格式日渐丰富,已冲破了以前所限定的结构化数据范畴,囊括了半结构化和非结构化数据。以往的单一数据比对非常具有局限性,对于复杂的数据比对已经无法适用。客户需要更精准的定位,提高精确度,既能满足多种数据筛选也能进行对非结构化数据的比对,从而将数据范围缩小到一定范围,能够得到更精准的定位,为今后的智能应用提供强有力的支持。而且随着科学技术发展,数据种类繁多数据量大,数据格式越发变得更多样化,实时数据比对在实战中显得越发重要,单一的结构化或非结构化数据比对已不能满足客户的实战需要。目前数据清洗领域里面都只是对于数据的单一化比对,结构化数据采用精确比,非结构化数据采用关键词匹配。对于复杂多样化数据就需要复杂化比对来进行对数据的处理提取,因此,提出一种通过复杂表达式来达到更精确比对提取更有效的信息是非常具有意义的。
技术实现思路
针对上述单一化数据比对的不足,本文提出了一种利用复杂表达式进行数据比对的方法,包括以下步骤:S1:获取包括结构化数据和非结构化数据的基础数据;S2:选择结构化数据和非结构化数据中的数据作为子表达式,并通过逻辑运算符构造成复杂表达式,其中子表达式包括取自结构化数据的第一子表达式以及取自非结构化数据的第二子表达式,第一子表达式被用于精确匹配,第二子表达式被用于关键词匹配;S3:将子表达式分别进行比对获得比对情况;以及S4:根据比对情况通过表达式引擎对复杂表达式进行计算,得到数据的比对结果。进一步地,步骤S2与步骤S3之间还包括:S5:将子表达式以键值的方式缓存到第一数据库;以及S6:将第二子表达式中的所有关键词缓存到第二数据库,以用于构造查询器。通过构造好所有关键词的查询器,可以大大提高后继使用查询器算法进行关键词匹配的效率。进一步地,步骤S5中的子表达式的缓存方式包括:S51:将子表达式作为key,子表达式对应的复杂表达式作为value形成第一键值对进行缓存;或S52:将子表达式作为key,子表达式的运算符作为value形成第二键值对,再将子表达式的键值作为key,第二键值对作为value形成第三键值对进行缓存。因此方便对子表达式进行调取,并对实时数据进行子表达式比对,运算符缓存也可以提高比对效率。更进一步地,步骤S3包括:S31:将第一子表达式的key与缓存的键值进行遍历比对,并判断是否获得比对结果,是则返回True并将比对结果存储到第三数据库,否则返回False;以及S32:通过查询器对第二子表达式中相应的关键词进行比对,并判断是否获得比对结果,是则返回True并将比对结果存储到第三数据库,否则返回False。因此,将缓存后的子表达式使用查询器比对,便于数据实时比对使用。更进一步地,步骤S4包括:S41:初始化将复杂表达式中的子表达式赋值为False;S42:对步骤S41处理后的复杂表达式根据步骤S3中的比对情况返回将相应的子表达式设置为True或False;以及S43:利用表达式引擎对步骤S42处理后的复杂表达式进行验证,判断复杂表达式中的所有子表达式是否逻辑运算符所建立的条件,是则将第三数据库中的比对结果进行提取,否则返回False。子表达式加载与缓存之后可对子表达式进行实时比对,由于关键词、子表达式和逻辑运算符缓存过后,可以通过查询器进行多模式快速匹配。再通过表达式引擎对满足逻辑运算符所建立的条件进行比对,以判断子表达式之间是否存在一定的逻辑关系,进而在应用中进行更有效的信息提取。更进一步地,表达式引擎包括MVEL、JSEL、Aviator或FEL表达式引擎。根据不同的系统或应用环境可选择不同的表达式引擎,应用性广,灵活性高。更进一步地,构造查询器采用包括KMP算法、WM算法或AC算法。同样根据不同的应用环境选择不同的查询器算法,灵活性好,应用范围广。本专利技术还提出了一种利用复杂表达式进行数据比对的装置,包括:获取模块,用于获取包括结构化数据和非结构化数据的基础数据;构造表达式模块,用于选择结构化数据和非结构化数据中的数据作为子表达式,并通过逻辑运算符构造成复杂表达式,其中子表达式包括取自结构化数据的第一子表达式以及取自非结构化数据的第二子表达式,第一子表达式被用于精确匹配,第二子表达式被用于关键词匹配;子表达式比对模块,用于将子表达式分别进行比对获得比对情况;复杂表达式验证模块,用于根据比对情况通过表达式引擎对复杂表达式进行计算,得到数据的比对结果。进一步地,还包括:缓存模块,用于将子表达式以及第二子表达式中的所有关键词进行缓存;构造查询器模块,用于将第二子表达式中的所有关键词缓存到第二数据库,以用于构造查询器。更进一步地,表达式引擎包括MVEL、JSEL、Aviator或FEL表达式引擎。更进一步地,构造查询器采用包括KMP算法、WM算法或AC算法。本专利技术还提出了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现如上述的方法。本专利技术公开了一种利用复杂表达式进行数据比对的方法,通过构建由结构化数据和非结构化数据中的数据作为子表达式以及逻辑运算符构造成复杂表达式,通过表达式引擎对复杂表达式进行比对,可以解决传统的单一比对方式,在大数据情况下既能做到更精确的比对定位,又可做到快速的实时比对,使用逻辑表达式更可灵活配置比对线索。在数据量巨大、数据种类繁多、数据格式多样化的情况下实现复杂的表达式实时、快速比对。既可以做到精确匹配,也可以并行非结构化的关键词匹配,为将来应用提供更精确有效的信息。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请的一个实施例可以应用于其中的示例性系统架构图;图2为本专利技术的实施例的利用复杂表达式进行数据比对的方法的流程示意图;图3为本专利技术的实施例的步骤S2与步骤S3之间的流程示意图;图4为本专利技术的实施例的步骤S5的流程示意图;图5为本专利技术的实施例的步骤S3的流程示意图;图6为本专利技术的实施例的步骤S4的流程示意图;图7为本专利技术的实施例的利用复杂表达式进行数据比对的装置的示意图;图8是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。图1示出了可以应用本申请实施例的利用复杂表达式进行数据比对的方法或利用复杂表达式进行数据比对的装置的示例性系统架构100。如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信本文档来自技高网...

【技术保护点】
1.一种利用复杂表达式进行数据比对的方法,其特征在于,包括以下步骤:S1:获取包括结构化数据和非结构化数据的基础数据;S2:选择所述结构化数据和所述非结构化数据中的数据作为子表达式,并通过逻辑运算符构造成复杂表达式,其中所述子表达式包括取自所述结构化数据的第一子表达式以及取自所述非结构化数据的第二子表达式,所述第一子表达式被用于精确匹配,所述第二子表达式被用于关键词匹配;S3:将所述子表达式分别进行比对获得比对情况;以及S4:根据所述比对情况通过表达式引擎对所述复杂表达式进行计算,得到所述数据的比对结果。

【技术特征摘要】
1.一种利用复杂表达式进行数据比对的方法,其特征在于,包括以下步骤:S1:获取包括结构化数据和非结构化数据的基础数据;S2:选择所述结构化数据和所述非结构化数据中的数据作为子表达式,并通过逻辑运算符构造成复杂表达式,其中所述子表达式包括取自所述结构化数据的第一子表达式以及取自所述非结构化数据的第二子表达式,所述第一子表达式被用于精确匹配,所述第二子表达式被用于关键词匹配;S3:将所述子表达式分别进行比对获得比对情况;以及S4:根据所述比对情况通过表达式引擎对所述复杂表达式进行计算,得到所述数据的比对结果。2.根据权利要求1所述的利用复杂表达式进行数据比对的方法,其特征在于,所述步骤S2与步骤S3之间还包括:S5:将所述子表达式以键值的方式缓存到第一数据库;以及S6:将所述第二子表达式中的所有关键词缓存到第二数据库,以进行构造查询器。3.根据权利要求2所述的利用复杂表达式进行数据比对的方法,其特征在于,所述步骤S5中的所述子表达式的缓存方式包括:S51:将所述子表达式作为key,所述子表达式对应的所述复杂表达式作为value形成第一键值对进行缓存;或S52:将所述子表达式作为key,所述子表达式的运算符作为value形成第二键值,再将所述子表达式的键值作为key,所述第二键值对作为value形成第三键值对进行缓存。4.根据权利要求3所述的利用复杂表达式进行数据比对的方法,其特征在于,所述步骤S3包括:S31:将所述第一子表达式的key与缓存的所述键值进行遍历比对,并判断是否获得比对结果,是则返回True并将比对结果存储到第三数据库,否则返回False;以及S32:通过所述查询器对所述第二子表达式中相应的关键词进行比对,并判断是否获得比对结果,是则返回True并将比对结果存储到第三数据库,否则返回False。5.根据权利要求4所述的利用复杂表达式进行数据比对的方法,其特征在于,所述步骤S4包括:S41:初始化将所述复杂表达式中的所述子表达式赋值为False;S42:对步骤S41处理后的复杂表达式根据...

【专利技术属性】
技术研发人员:朱海勇张秋霞吴鸿伟周成祖王海滨鄢小征
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1