发布信息

用于快速数据检索的通用数据索引的制作方法

作者:admin      2022-07-10 20:41:20     604



计算;推算;计数设备的制造及其应用技术1.本公开涉及数据分析领域,并且更具体地涉及用于商业智能的查询生成。背景技术:2.术语数据库是指通过计算系统以电子方式存储和访问的有组织的数据集合。数据库管理系统(dbms)又是在数据库和一个或多个终端用户之间提供接口以便促进每个终端用户与数据库的交互的计算机程序。dbms通常还提供其它计算机程序的接口以访问底层数据库中的数据。一般来说,终端用户和其它计算机程序通过dbms使用查询指令与数据库交互,所述查询指令是根据相应的查询语言(例如历史悠久的结构化查询语言(sql))形成的。3.虽然对于许多最终用户来说,使用sql来查询和管理数据库中的数据并不困难,但制定更复杂的sql查询并不适合内心弱小的人。更重要的是,不管实际查询的机制如何,指定查询都需要对数据库中的数据以及数据之间的底层关系有很强的理解。通常,为了定位数据库中的特定数据,必须创建sql查询,其中包含一个筛选器,该筛选器为数据库记录的特定字段指定值。where语句是此实例中使用的主要工具。但是,为了进行这种查询,首先查询作者先验地知道的所要应用的筛选器的字段的名称,并且,如果在筛选器中的被搜索的值存在于不同字段中或者与不同字段的不同值相关,筛选器将失效。当然,为了在数据库中全面搜索所需记录而对数据库执行广泛的查询操作可能会很慢且占用大量资源。技术实现要素:4.本公开的示例解决了现有技术在数据分析方面的不足,并为通用数据索引构建提供了一种新颖且非显而易见的方法、系统和计算机程序产品。在本公开的示例中,通用数据索引构建方法包括通过宿主计算机的数据处理硬件建立通过数据库管理系统与数据库的通信耦合。该方法还包括通过数据处理硬件在宿主计算机的存储器中的索引中创建数据库的所有列中的字段值与数据库的列的所有元数据的联合。在这点上,索引将每个值和每个元数据与数据库中的特定位置相关联。该方法还包括由数据处理硬件将成对字段值作为共现列表添加到索引中。最后,该方法包括向索引发出查询,而不向数据库管理系统发出sql where语句,以便产生筛选的查询结果。5.本公开的这一方面可以包括一个或多个以下可选特征。在本公开的一个方面,元数据包括每列的名称。在这点上,查询可以包括与列之一的列名称相关联的查询项。同样,查询可以包括字段值,使得查询的发布产生包含字段值的列的名称,作为基于字段值的列的名称的反向查找。甚至进一步地,查询可以包括第一字段值,使得查询的发布从共现列表的成对字段值中相应的一个产生第二字段值,以便将第二字段值定位为与第一字段值共现。6.在本公开的另一方面,数据分析数据处理系统被配置用于通用数据索引构造。该系统包括具有一个或多个计算机的宿主计算系统,每个计算机具有存储器和至少一个处理器。该系统还包括在宿主计算系统的存储器中持久的数据库索引。最后,系统包括通用数据索引构建模块。所述模块包括在所述计算系统的存储器中执行以致使所述至少一个处理器执行操作的计算机程序指令。所述操作包括通过数据库管理系统建立与数据库的通信耦合。另一操作包括在宿主计算系统的存储器中的数据库索引中创建数据库的所有列中的字段值与数据库的列的所有元数据的联合,索引将每个值和每个元数据与数据库中的特定位置相关联。另一操作包括将成对字段值作为共现列表添加到数据库索引中。又一操作包括向数据库索引发出查询,而不向数据库管理系统发出sql where语句,以便产生经筛选的查询结果。7.本公开的这一方面可以包括一个或多个以下可选特征。在一个示例中,元数据包括每列的名称。在这点上,查询可以包括与列之一的列名称相关联的查询项。同样,查询可以包括字段值,使得查询的发布产生包含字段值的列的名称,作为基于字段值的列的名称的反向查找。甚至进一步地,查询可以包括第一字段值,使得查询的发布从共现列表的成对字段值中相应的一个产生第二字段值,以便将第二字段值定位为与第一字段值共现。8.本公开的另一方面提供了一种用于通用数据索引构造的计算机程序产品。该计算机程序产品包括具有用其实现的程序指令的计算机可读存储介质。程序指令可由设备执行,以使设备执行操作。所述操作包括通过数据库管理系统建立与数据库的通信耦合。另一操作包括在宿主计算机的存储器中的数据库索引中创建数据库的所有列中的字段值与所述数据库的所述列的所有元数据的联合,所述索引将所述值中的每一个和所述元数据中的每一个与所述数据库中的特定位置相关联。另一操作包括将成对字段值作为共现列表添加到数据库索引中。又一操作包括向数据库索引发出查询,而不向数据库管理系统发出sql where语句,以便产生经筛选的查询结果。9.本公开的这一方面可以包括一个或多个以下可选特征。在一个示例中,元数据包括每列的名称。在这点上,查询可以包括与列名相关联的列名之一的查询词。同样,查询可以包括字段值,使得查询的发布产生包含字段值的列的名称,作为基于字段值的列的名称的反向查找。甚至进一步地,查询可以包括第一字段值,使得查询的发布从共现列表的成对字段值中相应的一个产生第二字段值,以便将第二字段值定位为与第一字段值共同出现。10.本公开的其它方面将部分地在随后的描述中阐述,并且部分地将从描述中显而易见,或者可以通过实施本公开来获知。本公开的各方面将通过在所附权利要求中特别指出的元件和组合来实现和获得。应当理解,前面的一般描述和下面的详细描述仅是示例性的和解释性的,而不是对所要求保护的本公开的限制。附图说明11.附图被纳入本说明书并构成本说明书的一部分,说明公开的示例,并与说明书一起用于解释本公开的原则。本文所示出的实施例是目前优选的,然而,可以理解的是,该公开不限于所示出的精确布置和手段,其中:12.图1是用于生成和利用用于数据库的快速查询搜索的通用数据库索引的过程的图示说明;13.图2是数据处理系统的示意图,该数据处理系统被配置用于生成和利用通用数据库索引来快速查询数据库;和,14.图3是示出用于生成用于数据库的快速查询搜索的通用数据库索引的过程的流程图。具体实施方式15.本公开的示例提供了用于数据库的快速查询搜索的通用数据库索引的生成和使用。根据本公开的示例,可以通过经由数据库管理系统打开到数据库的通信连接来生成通用数据索引。此后,创建索引作为数据库的所有列中的字段值与数据库的列的所有元数据的联合。然后在索引内为每个值和每个元数据建立与数据库中特定位置的关联。同样,成对字段值作为共现列表被添加到索引中。然后,通过向索引发布查询而不向数据库管理系统发布结构化查询语言(sql)where语句来使用通用数据索引,以便产生筛选的查询结果。16.在进一步的说明中,附图图示了用于生成和使用通用数据库索引以快速查询数据库的过程。如图1所示,数据库100包括分别用于不同字段110a,110b,110n的不同值120a,120b,120n的不同记录,以及可选的伪列、伪列值,维度和维度值。不同字段110a,110b,110n中的每一个包括元数据130a,130b,130n,例如字段110a,110b,110n中的每一个的名称。数据库100的记录的值120a,120b,120n中的每一个被统一到数据结构150a,150b中,例如数组,链表或简单的分隔符分离值串,以列举三个这样的例子。然后,数据结构150a,150b被存储在与位置140a,140b有关的通用索引170中,在位置140a,140b处,记录中相应的一个记录位于数据库100中。17.值得注意的是,共现列表180也是从通用索引170生成的。在这点上,对于每个数据结构150a、150b,共现列表180包括值160a、160b、160n的对(pair)的集合以及与位置140a、140b的关系,从而使得本集合中的值120a、120b、120n的对160a、160b、160n的数量是:集合中值120a、120b、120n的每一个对160a、160b、160n在数据库100中享有相同的位置140a、140b。然后将共现列表180追加到索引170上。18.此后,提供索引接口190,通过索引接口190在索引查询100中接收关键字100a,响应于索引查询100,可以搜索通用索引170以标识包含关键字100a的对应数据结构150a,150b,然后标识用于所标识的数据结构150a,150b之一的对应位置100b。可选地,通过搜索共现列表180不仅可以定位数据库中的位置100b,而且可以定位与值120a,120b,120n共现的值,其中,在数据库中可以找到与关键字100a相对应的值120a,120b,120n中的一个。在任一情况下,索引接口190然后向位置100b处的数据库100发出查询,以便检索结果集合100c中的关联记录,而不必参与使用where指令的资源密集型sql查询。19.结合图1描述的过程可以在数据处理系统中实现。在进一步的说明中,图2示意性地示出了被配置用于生成和利用通用数据库索引来快速查询数据库的数据处理系统。该系统包括宿主计算系统230,该宿主计算系统230包括一个或多个计算机,每个计算机具有存储器和至少一个处理器。宿主计算系统通过计算机通信网络220耦合到不同的客户端设备210。宿主计算系统230耦合到数据库240,并支持数据库管理系统250在存储器中的执行,该数据库管理系统250调节不同请求者从客户端设备210发出来自计算机通信网络220的请求对数据库240的访问。20.值得注意的是,系统包括通用数据索引模块300,通用数据索引模块300包括在计算系统230的存储器中执行的计算机程序指令。程序指令在执行期间被启用,以通过在索引270中包括不同条目的数据字段并集列表280来生成对数据库240的索引270,每个条目包括数据库240中相应记录的数据字段的值和与数据字段有关的元数据的联合,以及数据库240中相应记录的位置。程序指令还在执行期间被使能,以在索引270中包括在数据库250的同一记录中共现的不同值对的共现列表290以及记录在数据库250中的相应位置。21.最后,程序指令被启用以生成索引查询接口260,其适于在计算机通信网络220中从客户端设备210接收关键字查询。程序指令在接收到关键字查询时提取关键字并搜索索引270的数据字段联合列表280以定位包括关键字的条目。然后识别相应的位置值,并且程序指令从数据库240中检索在该位置处的记录,该记录随后通过查询接口260返回到请求客户端设备210之一。可选地,程序指令能够与记录一起返回与关键字匹配的记录字段的元数据,例如字段的列名,以便实现“反向查找”。作为另一选择,程序指令还搜索共现列表290,并在查询结果中返回与关键字相关联的值共现的其它值。22.在通用数据索引模块300的操作的更进一步的说明中,图3是说明用于生成和利用通用数据库索引以快速查询数据库的过程的流程图。从框305开始,建立到数据库的连接,并且在框310,从数据库中检索第一记录。在框315中,为记录确定数据库中的位置,并且在框320中,为记录的每个字段计算记录中的所有字段值的并集,并且在框325中,计算记录的每个字段的元数据。然后,在框330中,将包括值,元数据和位置的并集的条目写入通用数据索引。在判定框335中,如果在数据库中剩余要处理的附加记录,则过程返回到框310,在框310中检索数据库中的下一记录。23.当在数据库中没有其它记录仍待处理时,在框340中,选择第一索引条目进行处理。在框345中,索引条目被扩展为包括共存项的条目集,每个共存项共享数据库的与索引中的条目相同的位置值。在判定框350中,如果索引中的附加条目仍待处理,则过程返回到框340,在框340处选择索引中的下一条目进行处理。在判定框350中,当索引中没有其它条目剩余时,在框355中,开放索引查询接口以供远程设备通过计算机通信网络访问。24.本公开可以体现在系统,方法,计算机程序产品或其任何组合内。计算机程序产品可以包括计算机可读存储介质或其上具有计算机可读程序指令的介质,用于使处理器执行本公开的各方面。计算机可读存储介质可以是能够保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如,但不限于,电子存储设备,磁存储设备,光存储设备,电磁存储设备,半导体存储设备,或前述的任何合适的组合。25.本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络下载到外部计算机或外部存储设备。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上执行,部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。这里参考根据本公开的方面的方法,装置(系统)和计算机程序产品的流程图和/或框图来描述本公开的方面。应当理解,流程图和/或框图的每个块以及流程图和/或框图中的块的组合可以由计算机可读程序指令来实现。26.这些计算机可读程序指令可被提供给通用计算机,专用计算机或其它可编程数据处理设备的处理器以产生机器,使得经由计算机或其它可编程数据处理设备的处理器执行的指令创建用于实现流程图和/或框图块中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,所述计算机可读存储介质可以引导计算机,可编程数据处理设备和/或其它设备以特定方式运行,使得其中存储有指令的计算机可读存储介质包括制品,所述制品包括实现在流程图和/或框图的一个或多个块中指定的功能/动作的方面的指令。27.计算机可读程序指令还可以被加载到计算机,其它可编程数据处理装置或其它设备上,以使得在计算机,其它可编程装置或其它设备上执行一系列操作步骤,从而产生计算机实现的过程,使得在计算机,其它可编程装置或其它设备上执行的指令实现在流程图和/或框图的一个或多个块中指定的功能/动作。28.附图中的流程图和框图示出了根据本公开的各个方面的系统,方法和计算机程序产品的可能实现的体系结构,功能和操作。在这点上,流程图或框图中的每个块可以表示模块,段或指令的一部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些替换实现中,在块中所注明的功能可以不按图中所注明的顺序发生。例如,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意到,框图和/或流程图说明的每个块,以及框图和/或流程图说明中的块的组合,可以通过执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。29.最后,本文所用的术语仅用于描述特定方面的目的,而不旨在限制本公开。如本文所用,单数形式“一个”、“一种”和“该”旨在也包括复数形式,除非上下文另外清楚地指示。还应当理解,当在本说明书中使用时,术语“包括”和/或“包括”指定所陈述的特征,整体,步骤,操作,元件和/或组件的存在,但不排除一个或多个其它特征,整体,步骤,操作,元件,组件和/或其组的存在或添加。30.在下面的权利要求书中的所有装置或步骤加上功能元件的相应结构,材料,动作和等同物旨在包括用于与具体要求保护的其它要求保护的元件组合来执行功能的任何结构,材料或动作。本公开的描述是为了说明和描述的目的而给出的,但并不旨在穷举或限于所公开的形式的公开。在不脱离本公开的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择和描述上述示例是为了最好地解释本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开的各种实施例,其具有适于预期的特定用途的各种修改。31.已经描述了多种实现方式。然而,应当理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其它实施方式也在所附权利要求的范围内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部