首页 / 专利库 / 银行与财务事项 / 账户身份服务系统 / 将相关的稀疏数据高效存储在搜索索引中

将相关的稀疏数据高效存储在搜索索引中

阅读:479发布:2020-05-11

专利汇可以提供将相关的稀疏数据高效存储在搜索索引中专利检索,专利查询,专利分析的服务。并且可以将稀疏数据存储在搜索索引中以使得与多个实体相关的一个或多个数据点可以是可查询的。在检测到与实体相关的数据点之后,可以创建针对数据点的整数数组以便存储在搜索索引的单个列中。响应于从用户处接收到包括数据点的对搜索索引执行查询的 请求 ,可以基于所述实体的标识符将所述查询变换到对应的值域。在执行了所述查询之后,可以移除所述标识符并且可以将查询结果作为具有针对实体的用户兼容的标识符的另一个数组而提供给用户,以使得所述结果能够被用户所理解。,下面是将相关的稀疏数据高效存储在搜索索引中专利的具体信息内容。

1.一种用于将相关的稀疏数据存储在搜索索引中的方法,所述方法包括:
通过确定待索引的内容是否与一个或多个分类规则相匹配,检测所述内容中的稀疏数据,所述稀疏数据包括与实体相关的数据点;
确定与所述一个或多个分类规则的匹配数量和匹配的置信度
响应于确定存在至少一个匹配,创建针对所述数据点的整数数组,以使得与所述数据点相关联的值是下列一项或多项:基于所确定的所述匹配数量和所述匹配的置信度的计数值和置信度值;
响应于从用户处接收到包括所述数据点的对所述搜索索引执行查询的请求,基于所述实体的标识符将所述查询变换到对应的值域,以及
在执行了所述查询之后,将查询结果提供给所述用户。
2.根据权利要求1所述的方法,还包括:
在向所述用户提供所述查询结果之前移除所述实体的所述标识符。
3.根据权利要求1所述的方法,其中,向所述用户提供所述查询结果还包括:
将所述查询结果作为具有针对所述实体的用户兼容的标识符的另一个数组而提供。
4.根据权利要求3所述的方法,其中,所述另一个数组具有与所述整数数组相同的索引。
5.根据权利要求1所述的方法,其中,所述标识符对应于所述整数数组的最高的n个比特。
6.根据权利要求1所述的方法,其中,所述与所述数据点相关联的值对应于所述整数数组的最低的m个比特。
7.根据权利要求1所述的方法,还包括:
将所述整数数组存储在所述搜索索引的单个列内。
8.一种被配置为将相关的稀疏数据存储在搜索索引中的系统,所述系统包括:
通信模,其被配置为在所述系统的一个或多个服务器和与所述系统相关联的一个或多个客户端设备之间传输数据;
执行分类引擎的至少一个服务器,其中,所述分类引擎被配置为:
确定待索引的内容是否与一个或多个分类规则相匹配以检测所述内容中的稀疏数据,所述稀疏数据包括与实体相关的数据点;
确定与所述一个或多个分类规则的匹配数量和匹配的置信度;
响应于确定存在至少一个匹配,创建针对所述数据点的整数数组,以使得与所述数据点相关联的值是下列一项或多项:基于所确定的所述匹配数量和所述匹配的置信度的计数值和置信度值;
执行查询引擎并且通过所述通信模块耦合至所述至少一个服务器的至少一个其他服务器,其中,所述查询引擎被配置为:
响应于从用户处接收到包括所述数据点的对所述搜索索引执行查询的请求,基于所述实体的标识符将所述查询变换到对应的值域,并且
在执行了所述查询之后,将查询结果提供给所述用户。
9.根据权利要求8所述的系统,其中,所述一个或多个分类规则是下列两者之一:所述分类引擎的默认的规则,以及用户定义的规则。
10.根据权利要求9所述的系统,其中,用户被使能使用针对所述一个或多个分类规则所确定的匹配数量和所述匹配的置信度来细化所述查询。
11.一种具有存储在其上的指令的计算机可读存储器设备,所述指令用于将相关的稀疏数据存储在搜索索引中,所述指令包括:
通过确定待索引的内容是否与一个或多个分类规则相匹配,检测所述内容中的敏感数据,所述敏感数据包括与实体相关的数据点;
确定与所述一个或多个分类规则的匹配数量和匹配的置信度;
响应于确定存在至少一个匹配,创建针对所述数据点的整数数组,以使得与所述数据点相关联的值是下列一项或多项:基于所确定的所述匹配数量和所述匹配的置信度的计数值和置信度值;
响应于从用户处接收到包括所述数据点的对所述搜索索引执行查询的请求,基于所述实体的标识符将所述查询变换到对应的值域;以及
在执行了所述查询之后:
将所述实体的所述标识符从所述整数数组中移除;并且
将查询结果作为具有针对所述实体的用户兼容的标识符的另一个数组而提供给所述用户。
12.根据权利要求11所述的计算机可读存储器设备,其中,所述实体包括下列之一:信用卡号码、社会保险号码、护照号码、身份号码、以及账户号码。

说明书全文

将相关的稀疏数据高效存储在搜索索引中

背景技术

[0001] 可以将系统数据存储在搜索索引中以使得可以由一个或多个用户对其进行查询,其中,搜索数据中的一些数据可以是稀疏的,例如涉及信用卡号码、社会保险号码、以及账户号码的敏感数据。稀疏数据可以包括一个或多个区别的数据点,每个数据点都与一个实体相关,其中,所述区别的数据点可能需要在搜索索引中是可查询的。为了实现当前的技术,可以针对系统中的每个实体而在搜索索引中创建两个列(column),以容纳与实体相关的数据点的匹配计数和匹配置信度值。然而,这些实体中的许多实体可能在搜索索引中没有对应的数据点。作为结果,搜索索引可能针对很小数量的数据包括高百分比的列,因为搜索索引中的实体只有大约1-2%将会在搜索索引中具有对应的数据点,并且在索引中所创建的每个额外的列可能负面地影响系统的性能和容量。
[0002] 从而,用于将相关的稀疏数据存储在搜索索引中的当前的实现方式可以使用改进和/或可替代的或额外的解决方案,以使得区别的数据点可以被存储,从而使得所述区别的数据点可以由用户来查询而不影响系统的性能和容量。发明内容
[0003] 提供该发明内容以用简化的形式引入了对在下文的具体实施方式中所进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在被用来限制所要求保护的主题的范围。
[0004] 实施例涉及将相关的稀疏数据存储在搜索索引中。示例方法可以包括:检测待索引的内容中的稀疏数据,所述稀疏数据包括与实体相关的数据点;创建针对所述数据点的整数数组以便存储在搜索索引中,所述整数数组包括实体的标识符以及与数据点相关联的值;响应于从用户处接收到包括数据点的对搜索索引执行查询的请求,基于实体的标识符将所述查询变换到对应的值域(range);以及在执行了查询之后,向用户提供查询结果。
[0005] 通过阅读以下的详细描述并回顾相关联的附图,这些和其他特征和优点将变得明显。应当理解的是,前述的一般描述以及下文的详细描述两者都是解释性的而不限制所要求保护的方面。

附图说明

[0006] 图1包括示出了基于数据中心的示例系统的概念图,其中,可以实现将相关的稀疏数据存储在搜索索引中;
[0007] 图2示出了根据一些实施例的、其中可以实现将相关的稀疏数据存储在搜索索引中的概念系统;
[0008] 图3示出了创建来索引相关的稀疏数据的整数数组的示例;
[0009] 图4示出了被配置为创建整数数组以索引相关的稀疏数据的系统的示例框图
[0010] 图5是可以用于将相关的稀疏数据存储在搜索索引中的示例通用设备的框图。
[0011] 图6示出了根据实施例的用于将相关的稀疏数据存储在搜索索引中的方法的逻辑流程图

具体实施方式

[0012] 如在上文中简单描述的,待存储在搜索索引中的系统数据可以包括稀疏数据,例如,敏感数据。稀疏数据可以包括每个都与一个实体相关的一个或多个区别的数据点,其中,所述区别的数据点可以需要在搜索索引中是可查询的。数据点可以包括支持标准整数运算(例如,等于、不等于、大于、和小于)的整数类型。从而,在待索引的内容中检测到与实体相关的数据点之后,可以创建针对数据点的整数数组以便存储在搜索索引中,其中,所述整数数组可以包括实体的标识符以及与该数据点相关联的值。在一些示例中,可以将针对数据点的整数数组存储在搜索索引的单个列中。响应于从用户处接收到包括数据点的对搜索索引执行查询的请求,可以基于该实体的标识符将所述查询变换到对应的值域。在执行了查询之后,可以移除实体的标识符,并且可以将查询结果作为具有针对实体的用户兼容的标识符的另一个数组而提供给用户,以使得所述结果能够被用户所理解。
[0013] 在以下的具体实施方式中,对形成了其一部分并且在其中作为说明而示出了具体的实施例或示例的附图进行了参考。可以组合这些方面、可以利用其它方面、并且可以做出结构改变而不脱离本公开的精神或范围。因此,以下的具体实施方式将不被看作是限制性意义,并且本发明的范围是由所附权利要求及其等同物所限定的。
[0014] 尽管将在结合在个人计算机的操作系统上运行的应用程序而执行的程序模的一般性的上下文中描述一些实施例,但是本领域技术人员将理解的是,也可以结合其它程序模块来实现这些方面。
[0015] 通常而言,程序模块包括例程、程序、组件、数据结构、以及执行特定的任务或实现特定的抽象数据类型的其他类型的结构。此外,本领域技术人员将理解的是,可以利用包括手持设备、多处理器系统、基于微处理器的或可编程的消费性电子产品、微型计算机、大型计算机、以及类似的计算设备在内的其它计算机系统配置来实践实施例。还可以在其中任务是由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现实施例。在分布式计算环境中,程序模块既可以位于本地的存储器存储设备中,也可以位于远程的存储器存储设备中。
[0016] 可以将实施例实现为计算机实现的过程(方法)、计算系统、或者诸如计算机程序产品或计算机可读介质之类的制品。计算机程序产品可以是可以由计算机系统读取的计算机存储介质,并且对包括指令的计算机程序进行编码以使得计算机或计算系统执行示例过程。计算机可读存储介质是计算机可读存储器设备。计算机可读存储介质可以例如经由易失性计算机存储器、非易失性存储器硬盘驱动器、闪存驱动器、软盘、或者光盘、以及类似的硬件介质中的一个或多个而被实现。
[0017] 在该说明书通篇中,术语“平台”可以是用于对系统进行监测以记录使用数据并且提供对服务的性能和可靠性的分析的软件组件和硬件组件的组合。平台的示例包括但不限于:在多个服务器上执行的托管服务、在单个计算设备上执行的应用、以及类似的系统。术语“服务器”通常是指通常在网络化环境中执行一个或多个软件程序的计算设备。然而,服务器还可以被实现为在被视为是网络上的服务器的一个或多个计算设备上执行的虚拟服务器(软件程序)。在下文中提供了关于这些技术和示例操作的更多的细节。
[0018] 图1包括示出了示例的基于数据中心的系统的概念图100,其中,可以实现将相关的稀疏数据存储在搜索索引中。
[0019] 如在概念图100中所示出的,数据中心102可以包括作为与数据中心102的软件和底层硬件相关联的物理服务器的一个或多个服务器110、111和113。所述一个或多个服务器110、111、和113可以被配置为执行一个或多个虚拟服务器104。例如,服务器111和113可以被配置为分别提供四个虚拟服务器和两个虚拟服务器。在一些实施例中,可以将一个或多个虚拟服务器组合成一个或多个虚拟数据中心。例如,可以将由服务器111所提供的四个虚拟服务器组合成虚拟数据中心112。虚拟服务器104和/或虚拟数据中心112可以被配置为托管大量的服务器以经由106将云相关数据/计算服务(例如,各种应用、数据存储、数据处理、或类似的服务)提供给诸如个人用户或者企业用户之类的一个或多个终端用户108。
[0020] 如之前所讨论的,稀疏数据(其包括针对多个相关的实体的一个或多个区别的数据点)可能需要存储在搜索索引的内容中,以使得数据点是可查询的。用于将稀疏数据存储在搜索索引中的现有的系统可以针对内置在系统中的每个实体而在搜索索引中创建2个列(column),以支持针对与实体相关的数据点的计数列和置信度列。然而,仅仅在大约1%到2%之间的搜索索引内容可能包含与稀疏数据相关联的数据点,并且所述数据点可能与系统中仅仅一些实体相关,这使得大数量的列显示空值。在示例场景中,在搜索索引中可能内置了51个实体,并且因此,可能需要最少创建102列(51个实体*2列/实体)。为了支持自定义的客户内置实体(custom customer built entities),需要有另外2n列,其中,n是所支持的自定义实体的数量(例如,为了支持所包括的51个实体和100个自定义实体,在索引中可能需要302列)。在目标搜索索引中的较高数量的列可能导致针对非常小数量的稀疏数据的在索引中的高百分比的列(即,搜索索引中1%-2%的内容),并且在索引中所创建的每个新的列都可能负面地影响系统的性能和容量。
[0021] 根据实施例,数据中心102可以托管对数据进行处理/存储的云应用。可以针对所述数据创建搜索索引以使其可被一个或多个用户查询,并且在一些情况下,待索引的数据可以是稀疏的。数据中心102的服务器中的至少一个服务器可以被配置为执行分类引擎,以经由确定内容与一个或多个分类规则相匹配来检测待索引的内容中的稀疏数据。分类规则可以是内置在分类引擎中的或者可以是用户定义的,并且在一些示例中,可以确定针对一个或多个分类规则的匹配数量和匹配置信度。
[0022] 如之前所讨论的,稀疏数据可以包括与实体相关的数据点。一旦被检测到,则分类引擎可以进一步被配置为创建针对数据点的整数数组以便存储在搜索索引中。整数数组可以包括实体的标识符和与数据点相关联的值,其中,所述值可以包括基于所确定的匹配数量和/或置信度的计数值和/或置信度值。整数数组的最高的n个比特可以包括实体的标识符,而整数数组的最低的m个比特可以包括值。在一些示例中,针对每个整数数组,整数可以是64比特的,其中32比特针对实体的标识符,而32比特针对与数据点相关联的值。
[0023] 可以将整数数组存储在添加至搜索索引的单个列中,其中,所述单个列还可以存储针对与一个或多个其他实体相关的稀疏数据的一个或多个其他数据点所创建的多个其他整数数组。针对多个实体仅仅添加一个列(相对于与每个实体两个列的现有的实现方式)可以帮助阻止对系统的容量和性能的任何潜在的负面影响。此外,由于检测过程是在整数数组的创建之前执行的,因此只有具有稀疏数据的实体才可以被包括在整数数组中。
[0024] 数据中心102的服务器中的至少另一个服务器可以被配置为执行查询引擎。响应于从用户处接收到包括稀疏数据中的至少一个数据点的对搜索索引执行查询的请求,可以基于包括在整数数组的最高的n个比特中的实体的标识符将查询变换到对应的值域。在执行了查询之后,可以将查询结果提供给用户。在一些实施例中,可以在提供实体的标识符之前将其从每个整数数组的最高的n个比特中移除,并且可以给至少一个额外的数组提供针对实体的用户兼容的标识符,以使得查询结果能够被用户所理解。
[0025] 图2示出了根据一些实施例的、其中可以实现将相关的稀疏数据存储在搜索索引中的系统概念图200。示例系统可以包括托管处理/存储数据的云应用数据中心202。可以针对所述数据而创建搜索索引,以使得一个或多个用户可以查询所述数据,并且在一些情况下,待索引的数据可以是稀疏的,所述待索引的数据例如,敏感数据或者与电子表格应用相关联的数据,包括例如费用报告和/或存货单等。
[0026] 如在概念图200中所示出的,数据中心202可以包括被配置为执行分类引擎206和查询引擎208的一个或多个处理服务器204,以用于对用于存储的稀疏数据进行检测/分类并且对所存储的数据执行查询。所存储的数据可以由处理服务器204或者由专用数据存储服务器(例如,数据库服务器)210来管理。在一些实施例中,数据中心202还可以包括通信模块,以便于在数据中心202的服务器(204、210)和与数据中心202相关联的一个或多个客户端(212)之间的数据传递。
[0027] 在示例场景中,处理服务器204可以通过与用户214相关联的客户端设备212来接收待处理/存储的内容,其中,所述内容可以包括稀疏数据,所述稀疏数据包括与实体相关的至少一个数据点。在一个示例中,稀疏数据可以是敏感数据,以使得实体包括以下之一:信用卡信息、社会保险信息、护照信息、身份信息和账户信息,以及其他敏感信息。响应于确定内容与一个或多个分类规则相匹配,可以由分类引擎206检测到与实体相关的数据点,其中所述分类规则可以是内置在分类引擎206中的或者可以是由用户214定义的。在一些示例中,可以针对分类规则而确定匹配数量和匹配的置信度。
[0028] 处理服务器204可以索引经处理/存储的数据以允许数据是可被用户214查询到的。为了索引稀疏数据而不生成大的数据结构(例如,现有的实现方式中的针对每个实体所创建的两个列),分类引擎206可以创建针对数据点的整数(或字符串)数组以便存储在搜索索引中。所述整数数组可以包括实体的标识符和与数据点相关联的值,其中,与数据点相关联的值可以包括与所确定的匹配数量和/或置信度相对应的计数和/或置信度值。整数数组的最高的n个比特可以包括实体的标识符,而整数数组的最低的m个比特可以包括值。可以将针对数据点而创建的整数数组存储在添加至搜索索引的单个列中。
[0029] 响应于从用户214处接收到包括数据点的对搜索索引执行查询的请求,查询引擎208可以基于包括在整数数组的最高的n个比特中的实体的标识符将查询变换到对应的值域。在执行了查询之后,可以通过与用户214相关联的客户端设备212来将查询结果提供给用户214。在一些实施例中,可以在提供实体的标识符之前将其从整数数组中移除,并且可以给至少一个额外的数组提供针对实体的用户兼容的标识符,以使得查询结果能够被用户所理解。
[0030] 在另一个示例场景中,通过与用户214相关联的客户端设备212所接收的待处理/存储的内容可以包括稀疏数据,所述稀疏数据包括与实体相关的至少一个数据点,其中,所述稀疏数据可以是与费用报告(expense report)相关联的数据。所述实体可以包括费用类别,例如,住宿、食物、和出行,并且每个类别可以具有一个或多个相关联的属性,例如,支出金额(expenditure amount)和支出项数(number of expenditures)。类似于在上文中所描述的实施例,分类引擎206可以创建针对数据点的整数数组以便存储在搜索索引中。所述整数数组可以包括实体(例如,住宿、食物、和出行)的标识符以及与数据点相关联的值,其中,与所述数据点相关联的值可以包括例如基于支出金额和支出项数的值。可以将针对数据点而创建的整数数组存储在添加至搜索索引的单个列中。
[0031] 图3示出了根据一些实施例的被创建用来索引相关的稀疏数据的整数数组的示例概念图300。
[0032] 在示例场景中,可以由分类引擎来扫描待索引的内容以检测稀疏数据和/或敏感数据,该稀疏数据和/或敏感数据包括每个都与实体(例如,信用卡实体302以及社会保险实体304)相关的一个或多个数据点。可以通过确定内容是否与一个或多个分类规则相匹配来检测稀疏数据和/或敏感数据。分类规则可以是内置在分类引擎中的默认的规则,和/或用户可以被使能定义自定义的分类规则。当对内容进行扫描时,分类引擎可以针对给定的规则确定存在多少匹配以及匹配的置信度,这可以提供与实体相关的数据点相关联的计数和/或置信度数据。在通常的实现方式中,1%到2%之间的搜索索引内容可能具有与分类规则的匹配(即,1%到2%之间的搜索索引内容包括稀疏数据和/或敏感数据),并且对于那些,稀疏数据和/或敏感数据可以仅仅与搜索索引中的少量实体相关,所述实体例如信用卡实体302和社会保险实体304。
[0033] 根据实施例,在待索引的内容中检测到稀疏数据和/或敏感数据之后,可以针对与实体相关的每个数据点创建整数数组。如由概念图300中的所显示的表格中的匹配计数列306和整数数组列308所示,可以基于相关的实体和所确定的匹配的数量而创建针对数据点的整数数组。在其他实施例中,可以额外地基于所确定的匹配的置信度而创建针对数据点的整数数组。示例整数数组318可以包括两个元素,其中整数数组的最高的n个比特320可以是实体的唯一的标识符,而整数数组的最低的m个比特322可以是与数据点相关联的值,其中,所述值可以是例如计数或置信度值。在一些实施例中,整数数组可以是32比特的,其中,最高的16比特是实体的标识符,而最低的16比特是与数据点相关联的值。
[0034] 如在表格中所显示的,针对信用卡实体302的标识符可以是0x0001而针对社会保险实体304的标识符可以是0x0002。如果分类引擎确定在待索引的内容中不存在匹配,并且因此不存在稀疏数据和/或敏感数据,则如在表格的第一行310中所示,没有整数数组可以被创建。如果分类引擎确定在待索引的内容中存在与信用卡实体302相关的一个匹配,则如在表格的第二行312中所示,可以创建整数数组[0x00010001]。最高的n个比特可以是实体的标识符0x0001,而最低的m个比特可以是与数据点相关联的值0001,其指示一个匹配。如果分类引擎确定在待索引的内容中存在与信用卡实体302相关联的一个匹配,并且在待索引的内容中存在与社会保险实体304相关联的一个匹配,则如在表格的第三行314中所示出的,可以创建整数数组[0x00010001,0x00020001]。最高的32比特可以是实体的标识符0x0001和0x0002,而最低的32比特可以是与数据点相关联的值0001和0001,其指示针对每个实体一个匹配。如果分类引擎确定在待索引的内容中存在与信用卡实体302相关的四个匹配,并且在待索引的内容中存在与社会保险实体304相关联的两个匹配,则如在表格的第四行316中所示,可以创建整数数组[0x00010004,0x00020002]。最高的32比特可以是实体的标识符0x0001和0x0002,而最低的32比特可以是与数据点相关联的值0004和0002,其分别指示与信用卡实体302相关的四个匹配以及与社会保险实体304相关的两个匹配。虽然在本文的示例中使用了整数,但也可以利用字符串来实现所述实施例。
[0035] 针对查询执行,用户可以将执行查询的请求发送至查询引擎,其中,所述请求可以包括用户想要利用来细化查询的实体和数据点。在一些实施例中,用户可以使用计数和置信度数据来查询搜索索引。例如,用户可以能够针对以下项目对搜索索引进行查询:
[0036] 具有信用卡号码的项目
[0037] 具有至少5个信用卡号码的项目
[0038] 具有信用卡号码和社会保险号码的项目
[0039] 具有信用卡号码和至少80%的置信度的项目
[0040] 具有任何分类匹配的项目
[0041] 在示例场景中,如果用户请求针对恰好具有5个信用卡数据的项目进行搜索,则用户可以需要针对具有信用卡实体302的标识符并且具有5或者0x00010005的(计数)值的整数数组的项目进行搜索。当寻找大于5的项目时,查询可能会变得稍微更加复杂,这是因为可能需要考虑信用卡计数的上限。在该场景下,值可能需要大于0x00010005,并且小于或等于0x0001FFFF。为了确定项目是否包含针对实体的任何匹配,与实体密钥配对的任何数字的存在都可以指示一个匹配(针对以上的示例,如果存在大于0x00010000并且小于或等于0x0001FFFF数字,则可以存在信用卡匹配)。
[0042] 示例实现方式可以确保用户与该实现方式隔绝(即,用户对于在最高的n个比特中使用的实体代码毫无所知)以保护敏感数据及其来源。因此,在向用户提供查询结果之前,可以移除表示实体的标识符的最高的n个比特,以使得所返回的数字能够被用户所理解。其次,由于用户可能具有数字的数组而不理解它们的意思,因此,可以将另一数组提供给用户,该另一数组具有针对与该整数数组相同的索引的实体的用户友好的标识符。
[0043] 根据其他实施例,如果用户请求对单个数据点执行查询,则可以返回针对该单个数据点的数据。例如,仅仅将与实体的标识符相匹配的项目在查询结果中提供给用户,再一次,移除最高的n个比特。如果不存在匹配的值,则可以返回0。
[0044] 图4示出了根据实施例的、被配置为创建整数数组以索引相关的稀疏数据的系统的示例概念图400。
[0045] 如在概念图400中所示出的,在示例系统450内,可以针对系统数据而创建搜索索引,以使得系统数据可以由用户416查询,并且在一些情况下,待索引的数据可以是稀疏的,例如,敏感数据。与由服务器404所执行的搜索引擎或应用集成在一起的分类引擎402可以检测包括与待索引的内容406内的多个实体相关的一个或多个数据点的稀疏数据和/或敏感数据。可以经由确定待索引的内容406与一个或多个分类规则408相匹配,来检测与实体相关的数据点,其中所述分类规则可以是内置在分类引擎中的或者可以是用户定义的。在一些示例中,可以针对一个或多个匹配规则来确定匹配的数量和匹配的置信度。
[0046] 一旦被检测到,则分类引擎402可以进一步被配置为创建针对数据点的整数数组410以便存储在搜索索引411内,而不是创建潜在地非常大的数据结构,该数据结构针对与实体相关的每种类型的数据点包括一列。所述整数数组可以包括实体的标识符和与数据点相关联的值,其中,所述值可以指示计数和/或置信度值,所述计数和/或置信度值基于由分类引擎402所确定的匹配的数量和/或置信度。整数数组的最高的n个比特410可以包括实体的标识符,而整数数组的最低的m个比特410可以包括值。
[0047] 由另一个服务器414所执行的查询引擎412可以通过与用户416相关联的客户端设备418而从用户416处接收对搜索索引411执行查询的请求,其中,该请求可以包括实体和数据点来细化该查询。在一些示例中,用户416可以使用计数和/或置信度数据来搜索数据点。例如,用户416可以能够针对具有信用卡号码的项目、具有至少5个信用卡号码的项目、具有信用卡号码和社会保险号码的项目、具有信用卡号码和至少80%的置信度的项目、以及具有任何分类匹配的项目以及其他例子来进行搜索。响应于从用户416处接收到请求,可以基于包括在整数数组410的最高的n个比特中的实体的标识符将查询变换到对应的值域。在执行了查询之后,可以将查询结果422提供给用户416。在一些实施例中,可以在提供实体的标识符之前将其从每个整数数组410的最高的n个比特中移除,并且可以给至少一个额外的数组提供针对该实体的用户兼容的标识符,以使得查询结果422能够被用户416所理解。
[0048] 已经利用包括数据中心、系统、服务器、应用、和交互的具体的平台描述了图1到图4中的示例。实施例不限于根据这些示例配置的系统。相关稀疏数据在搜索索引中的有效存储可以在使用其它类型的平台(包括数据中心、系统、服务器、应用和交互)的配置中使用本文所描述的原理以类似的方式实现。
[0049] 可以将稀疏数据存储在搜索索引中以使得与多个实体相关的一个或多个数据点可以是可查询的。在检测到与实体相关的数据点之后,可以创建针对该数据点的整数数组,以便存储在搜索索引的单个列中。针对多个实体仅仅添加一个列(相对于每个实体两个列的现有的实现方式)可以有利地减小所需要的存储器空间,并且有助于防止对系统的容量和性能的任何潜在的负面影响。额外地,由于检测过程是在整数数组的创建之前执行的,因此只有具有稀疏数据的实体才可以被包括在整数数组中,以进一步减小所需要的存储器空间。
[0050] 响应于从用户处接收到包括数据点的对搜索索引执行查询的请求,可以基于实体的标识符将所述查询变换到对应的值域。在执行了查询之后,可以移除标识符,并且可以将查询结果作为具有针对实体的用户兼容的标识符的另一个数组而提供给用户,以使得所述查询结果可以被用户所理解,这可以有利地改善可用性。
[0051] 图5和相关联的讨论旨在提供对通用计算设备的简短、概括的描述,所述通用计算设备是根据在本文中所描述的至少一些实施例来布置的,其可以用于将相关的稀疏数据高效存储在搜索索引中。
[0052] 例如,计算设备500可以用作服务器、台式计算机、便携式计算机、智能手机、专用计算机、或类似的设备。在示例基本配置中,计算设备500可以包括系统存储器506和一个或多个处理器504。存储器总线508可以用于在处理器504与系统存储器506之间进行通信。在图5中由内部虚线内的那些组件示出了基本配置502。
[0053] 取决于期望的配置,处理器504可以具有任何类型,包括但不限于:微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)、或其任何组合。处理器504可以包括一个或多个缓存的层级(例如,缓存存储器512的层级)、一个或多个处理器核心514、以及寄存器516。示例处理器核心514可以(每个)包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核心(DSP Core)、或其任何组合。示例存储器控制器518还可以与处理器504一起使用,或者在一些实现中,存储器控制器518可以是处理器504的内部部件。
[0054] 取决于期望的配置,系统存储器506可以具有任何类型,包括但不限于:易失性存储器(例如,RAM)、非易失性存储器(例如,ROM、闪速存储器等)、或其组合。系统存储器506可以包括操作系统520、搜索应用522、分类引擎526、查询引擎527、以及程序数据524。搜索应用522可以接收待索引的内容,并且执行分类引擎526,其中,分类引擎526被配置为对包括与所述内容中的实体相关的数据点的稀疏数据进行检测。可以通过确定所述内容是否与一个或多个分类规则相匹配,来对稀疏数据进行检测。分类引擎526可以创建针对数据点的整数数组以便存储在搜索索引中,每个整数数组包括实体的标识符以及与所述数据点相关联的值。接着,搜索应用522可以被配置为响应于从用户处接收到包括数据点的对搜索索引执行查询的请求而执行查询引擎527,所述查询包括用于细化查询的实体和数据点。查询引擎527可以基于实体的标识符来变换查询、执行查询、并且将查询结果提供给用户。程序数据
524可以包括分类数据528,所述分类数据528与基于由分类引擎526所确定的匹配数量和匹配置信度的计数和置信度数据相关。
[0055] 计算设备500可以具有额外的特征或功能,以及用于促成基本配置502与任何期望的设备和接口之间的通信的额外的接口。例如,总线/接口控制器530可以用于促成基本配置502与一个或多个数据存储设备532经由存储接口总线534的通信。数据存储设备532可以是一个或多个可移动存储设备536、一个或多个不可移动存储设备538、或其组合。可移动存储设备和不可移动存储设备的示例包括诸如软盘驱动器和硬盘驱动器(HDD)之类的磁盘设备、诸如压缩盘(CD)驱动器或数字通用盘(DVD)驱动器之类的光盘驱动器、固态驱动器(SSD)、以及磁带驱动器等。示例计算机存储介质可以包括以用于存储信息(例如,计算机可读指令、数字结构、程序模块、或其他数据)的任何方法或技术来实现的易失性的和非易失性的、可移动的和不可移动的介质。
[0056] 系统存储器506、可移动存储设备536、和不可移动存储设备538是计算机存储介质的示例。计算机存储介质包括但不限于:RAM、ROM、EEPROM、闪速存储器或其他存储器技术、CD-ROM、数字通用盘(DVD)、固态驱动器、或者其他光存储、盒式磁带、磁盘存储或其他磁存储设备、或者可以用于存储期望的信息并且可以由计算设备500来访问的任何其他介质。任何这样的计算机存储介质可以是计算设备500的部件。
[0057] 计算设备500还可以包括用于促成从各种接口设备(例如,一个或多个输出设备542、一个或多个外部接口544、以及一个或多个通信设备546)经由总线/接口控制器530到基本配置502的通信。示例输出设备542中的一些输出设备包括图形处理单元548和音频处理单元550,它们可以被配置为经由一个或多个A/V端口552与诸如显示器或扬声器之类的各种外围设备进行通信。一个或多个示例外部接口544可以包括串行接口控制器554或并行接口控制器556,它们可以被配置为经由一个或多个I/O端口与诸如输入设备(例如,键盘鼠标、笔、语音输入设备、触摸输入设备等)或其他外围设备(例如,打印机扫描仪等)之类的外围设备进行通信。示例通信设备546包括网络控制器560,其可以被设置为促进经由一个或多个通信端口564、通过网络通信链路与一个或多个其他计算设备562的通信。一个或多个其他计算设备562可以包括服务器、客户端设备、以及兼容的设备。
[0058] 网络通信链路可以是通信介质的一个示例。通信介质通常可以由计算机可读指令、数据结构、程序模块、或者经调制的数据信号(例如,载波或其他传输机制)中的其他数据,并且可以包括任何信息传递介质。“经调制的数据信号”可以是具有其特征集合中的一个或多个的信号,或者以关于在将信息在信号中进行编码的方式而改变。作为示例而非限制,通信介质包括有线介质(例如,有线网络或直接有线连接)以及无线介质(例如,声学、射频(RF)、红外、和其它无线介质)。如在本文中所使用的术语“计算机可读介质”可以包括存储介质和通信介质两者。
[0059] 计算设备500可以被实现为通用或专用服务器计算机、大型计算机、或者包括上述功能中的任何一种功能的类似的计算机的一部分。计算设备500还可以被实现为包括膝上型计算机配置和非膝上型计算机配置的个人计算机。
[0060] 示例实施例还可以包括用于将相关的稀疏数据存储在搜索索引中的方法。可以以包括在本文中所描述的结构的任何数量的方式来实现这些方法。一种这样的方式是通过在本公开中所描述的类型的设备的机器操作。另一种可选的方式是让该方法的各个操作中的一个或多个操作结合一位或多位执行所述操作中的一些操作的人类操作者来执行,而其他操作可以由机器来执行。这些人类操作者无需彼此同在一处,而是其每一个都可以仅与执行该程序的一部分的机器同在一处。在其他实施例中,所述人类交互可以例如根据可以是机器自动化的预先选择的标准来自动化。
[0061] 图6示出了根据实施例的用于将相关的稀疏数据高效存储在搜索索引中的方法的过程600的逻辑流程图。过程600可以被实现在服务器或其他系统上。
[0062] 过程600开始于操作610,在操作610处,可以经由确定待索引的内容与一个或多个分类规则相匹配来检测包括与实体相关的数据点的稀疏数据。在一些示例中,可以针对一个或多个分类规则来确定匹配的数量和匹配的置信度。
[0063] 在操作620处,可以创建针对数据点的整数数组以便存储在搜索索引中。整数数组可以包括实体的标识符以及与数据点相关联的值,其中,所述值可以分别是基于所确定的匹配的数量和/或置信度的计数和/或置信度值。例如,整数数组的最高的n个比特可以包括实体的标识符,而整数数组的最低的m个比特可以包括值。可以将整数数组存储在添加至搜索索引的单个列中,其中,所述单个列还可以存储针对与一个或多个其他实体相关的稀疏数据的一个或多个其他数据点所创建的多个其他整数数组。
[0064] 在操作630处,可以从用户处接收包括稀疏数据中的至少一个数据点的对搜索索引执行查询的请求,并且响应于该请求而基于包括在整数数组的最高的n个比特中的实体的标识符将所述查询变换到对应的值域。在操作640处,可以在提供实体的标识符之前将其从每个整数数组的最高的n个比特中移除,并且可以给至少一个额外的数组提供针对实体的用户兼容的标识符,以使得查询结果能够被用户所理解。
[0065] 包括在过程600中的操作是出于说明的目的的。可以通过具有更少或额外的步骤的类似的过程以及以使用在本文中所描述的原理的操作的不同的顺序来实现将相关的稀疏数据高效存储在搜索索引中。
[0066] 根据一些实施例,可以提供用于将相关的稀疏数据存储在搜索索引中的方法。示例方法可以包括用于检测待索引的内容中的稀疏数据的单元,所述稀疏数据包括与实体相关的数据点,以及用于创建针对所述数据点的整数数组以便存储在所述搜索索引中的单元,所述整数数组包括所述实体的标识符以及与所述数据点相关联的值。所述示例方法还可以包括用于响应于从用户处接收到包括所述数据点的对所述搜索索引执行查询的请求、基于所述实体的所述标识符将所述查询变换到对应的值域的单元,以及用于在执行了所述查询之后将查询结果提供给所述用户的单元。
[0067] 根据一些示例,可以提供用于将相关的数据存储在搜索索引中的方法。示例方法可以包括检测待索引的内容中的稀疏数据,所述稀疏数据包括与实体相关的数据点,并且创建针对所述数据点的整数数组以便存储在所述搜索索引中,所述整数数组包括所述实体的标识符以及与所述数据点相关联的值。所述示例方法还可以包括响应于从用户处接收到包括所述数据点的对所述搜索索引执行查询的请求,基于所述实体的所述标识符将所述查询变换到对应的值域,并且在执行了所述查询之后,将查询结果提供给所述用户。
[0068] 在其他示例中,可以在向所述用户提供所述查询结果之前移除所述实体的标识符。可以将所述查询结果作为具有针对所述实体的用户兼容的标识符的另一个数组而提供,其中,所述另一个数组可以具有与所述整数数组相同的索引。所述标识符可以对应于所述整数数组的最高的n个比特。所述值可以对应于所述整数数组的最低的m个比特。
[0069] 在进一步的示例中,对待索引的内容中的所述稀疏数据的检测可以包括确定所述待索引的内容是否与一个或多个分类规则相匹配。可以针对所述一个或多个匹配规则来确定匹配数量和所述匹配的置信度。响应于确定存在至少一个匹配,可以创建针对所述数据点的所述整数数组,以使得与所述数据点相关联的值是下列一项或多项:基于所确定的匹配数量和所述匹配的置信度的计数值和置信度值。所述整数数组可以被存储在所述搜索索引的单个列内。
[0070] 根据一些实施例,可以描述被配置为将相关的稀疏数据存储在搜索索引中的系统。示例系统可以包括通信模块,其被配置为在所述系统的一个或多个服务器和与所述系统相关联的一个或多个客户端设备之间传输数据。所述示例系统还可以包括执行分类引擎的至少一个服务器,其中,所述分类引擎可以被配置为确定待索引的内容是否与一个或多个分类规则相匹配以检测所述内容中的稀疏数据,并且创建针对所述数据点的整数数组以便存储在所述搜索索引的列中,所述稀疏数据包括与实体相关的数据点,所述整数数组包括所述实体的标识符以及与所述数据点相关联的值。所述示例系统还可以包括执行查询引擎并且通过所述通信模块耦合至所述至少一个服务器的至少一个其他服务器,其中,所述查询引擎被配置为响应于从用户处接收到包括所述数据点的对所述搜索索引执行查询的请求,基于所述实体的所述标识符将查询变换到对应的值域,并且在执行了所述查询之后,将查询结果提供给所述用户。
[0071] 在其他实施例中,所述一个或多个分类规则可以是所述分类引擎的默认的规则和/或是用户定义的规则。分类引擎可以被配置为针对所述分类规则来确定匹配的数量和所述匹配的置信度。
[0072] 与所述数据点相关联的所述值可以是基于所确定的匹配数量和置信度的计数值和/或置信度值。所述用户可以被使能使用针对所述分类规则所确定的所述匹配数量和所述匹配的所述置信度来细化所述查询。
[0073] 在进一步的实施例中,执行所述查询的所述请求包括所述实体和所述数据点。所述稀疏数据可以是敏感数据。
[0074] 根据一些示例,描述了具有存储在其上的指令的计算机可读存储器设备,所述指令用于将相关的稀疏数据存储在搜索索引中。示例指令可以包括检测待索引的内容中的敏感数据,所述敏感数据包括与实体相关的数据点,以及创建针对所述数据点的整数数组以便存储在所述搜索索引的列中,所述整数数组包括所述实体的标识符以及与所述数据点相关联的值。示例指令还可以包括响应于从用户处接收到包括所述数据点的对所述搜索索引执行查询的请求,基于所述实体的所述标识符将查询变换到对应的值域,并且在执行了所述查询之后,将所述实体的所述标识符从所述整数数组中移除,并且可以将查询结果作为具有针对所述实体的用户兼容的标识符的另一个数组而提供给所述用户。
[0075] 在其他示例中,所述实体可以包括信用卡号码、社会保险号码、护照号码、身份号码、或者账户号码。所述数据点可以包括支持标准整数运算的整数类型。
[0076] 以上的规范、示例、和数据提供了对实施例的组合物的制造和使用的完整的描述。尽管已经用特定于结构特征和/或方法行为的语音描述主题,但应当理解的是,在所附权利要求中所定义的主题不一定限于在上文中所描述的具体的特征和方法。相反,在上文中所描述的具体的特征和方法是作为实现权利要求和实施例的示例形式而公开的。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈