System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 具有仅添加数据结构的基于列表的数据搜索制造技术_技高网

具有仅添加数据结构的基于列表的数据搜索制造技术

技术编号:40197583 阅读:5 留言:0更新日期:2024-01-27 00:01
本发明专利技术涉及一种用于在数据库(104)内执行数据库查询的计算机实现方法,该数据库(104)包含作为字段特定数据值列表(116)物理地存储的逻辑记录,该方法包括:‑接收指令,以便更改数据值;‑在不更改字段特定数据值列表(116)的情况下,将指令存储(604)在仅添加数据结构(202)中,仅添加数据结构中的每个条目在本文中被称为AOD条目并且至少包含根据更改指令之一要更改的记录之一的那些字段标识符数据值对;‑对于以下数据记录中的每一个:即关于数据库接收到指令,在地址分配表(226)中存储(606)对所述记录的更改进行指定的被存储AOD条目中的最近AOD条目的地址(206、208),该记录与所述记录的记录ID相关联;以及‑执行(610)数据库查询,数据库查询包括:i.搜索(612)字段特定数据值列表,以便识别记录(214)的ID;ii.评估(614)地址分配表,以便识别分配给在i)中识别出的记录ID之一的AOD条目的地址,iii.访问(616)识别出的AOD条目的地址;以及iv.使用(618)包含在所述识别出的AOD条目中的更改信息,以添加字段标识符数据值对并将其输出给在步骤i)中识别出的记录ID。

【技术实现步骤摘要】
【国外来华专利技术】

本专利技术涉及一种用于存储数据并在数据内执行有效搜索的方法和系统。


技术介绍

1、在现有技术中,用于存储、管理和处理数据的各种数据库管理系统(databasemanagement system,dbms)是已知的。dbms的主要任务是高效、无矛盾并且永久地存储大量数据,并以不同的、基于需求的表示形式为用户和应用程序提供所需的子集。在由传统dbms管理的数据库中用于构建数据及其相互关系的基础是数据库模型,该数据库模型由dbms制造商限定。根据数据库模型,数据库模式(schema)必须适于特定的结构化选项。目前使用的众所周知的数据库模型包括层次结构模型、类网络模型、(按表格组织的)关系模型、面向对象的模型、面向文档的模型以及这些模型的混合形式。此外,通常在为有效回答许多小型查询(oltp)或长期评估(olap)而优化的dbms之间进行区分。

2、处理大数据时的主要问题是资源问题。数据量越大,需要的存储器、处理器和硬盘驱动器形式的资源就越多。

3、在创建数据库并限定要对数据库执行的查询和分析时,在支持的数据库搜索查询的复杂性和搜索速度之间往往存在目标冲突。的确,有一些dbms在考虑时间、基于内容的和/或结构化的搜索标准的情况下允许进行复杂的搜索查询。通常,这些dbms具有模块(“查询规划器”),该模块可以自动规划和策划对在多个表上复杂的、嵌套的查询的临时执行以及对从多个表中获取的部分结果的聚合。然而,对于非常复杂的查询和/或对于大量的表,这些模块很快就达到了它们的极限。在许多“大数据”应用中,要处理的和要加载到只读存储器(read-only memory,ram)中的数据量可能是巨大的,并且在实践中可能使评估复杂结构的大数据记录变得不可能。至少,通常不可能执行手头任务所需的所有形式的数据分析。特别受当前dbms的限制影响的领域包括例如物联网(internet-of-things,iot)、基因组分析、天文学领域中的光谱数据分析、来自出租车、公共汽车和铁路公司、航空公司和移动电话公司的移动数据的领域以及许多其他领域。

4、通过在搜索标准和要输出的结果两者方面将所支持的搜索查询限制为较低复杂度的查询,传统数据库系统的速度通常可以被提高到有限的程度。然而,在一方面,这会导致无法对大数据记录进行重要分析,并且在许多情况下甚至可能导致不可逆转的数据丢失,因为原始数据被映射到复杂性降低的表结构,无法映射到这些表结构中的复杂的相互关系和元数据将丢失。

5、因此,尤其是在处理与具有大量不同属性(键)和相应值的大量数据对象相关的复杂查询时,现有的dbms通常以结构不灵活、可扩展性差和/或性能差为特点。如果随后必须在数据库中存储额外的、结构不同的数据,则通常不可能以在内容方面可取并且在性能和资源方面有利的方式同时查询和分析现有数据和新添加的数据。

6、大数据支持复杂分析和数据查询的挑战仍然被认为是未解决的;考虑到未来几年数据量的进一步增长,这个问题预计将变得更大。


技术实现思路

1、本专利技术的目的是提供一种改进的用于存储数据和执行数据库查询的方法和系统,使得它们不具有上述问题或在较小程度上具有上述问题。

2、形成本专利技术的基础的目的各自利用独立权利要求的特征来实现。在从属权利要求中描述了本专利技术的实施例。下面列出的实施例可以彼此自由地组合,只要它们不相互排斥。

3、在一方面,本专利技术涉及一种用于在数据库内执行数据库查询的计算机实现方法。数据库在第一时间点(被称为“最近合并时间点”)处包含多个逻辑数据记录。每个逻辑数据记录包含数据记录id和一个或更多个字段标识符-数据值对。数据记录以字段特定数据值列表的形式物理地存储。该方法包括:在最近合并时间点之后:

4、-接收更改数据记录中若干数据记录的字段的数据值的指令;

5、-在不更改字段特定数据值列表的情况下,将指令存储在仅添加数据结构(append-only data structure)中,其中,仅添加数据结构中的每个条目(此处被称为aod条目)至少包含根据更改指令之一要更改的数据记录之一的字段标识符-数据值对中的那些条目;

6、-对于数据库在最近合并时间点之后接收到的更改数据值的一个或更多个指令的数据记录中的每一个,在地址分配表中存储对该数据记录的更改进行指定的被存储aod条目中的最近aod条目的地址,该数据记录链接到该数据记录的数据记录id,其中,地址分配中的链接正在被自动更新;以及

7、-执行数据库查询,其中,数据库查询包括:

8、i.基于与一个或更多个字段特定搜索值的匹配,搜索字段特定数据值列表,以识别内容要被全部或部分返回的数据记录的id;

9、ii.访问地址分配表,以识别向在i)中识别出的数据记录id之一分配的aod条目的地址,

10、iii.访问识别出的aod条目的地址;以及

11、iv.使用包含在这些识别出的aod条目中的更改细节,以将字段标识符-数据值对添加到在步骤i)中确定的数据记录id,并输出后者。

12、这可能是有利的,有以下几个原因:

13、数据库查询在两个不同的数据结构上执行,使得即使是最复杂的分析查询也可以被高速执行,并且可以快速输出完整的结果数据记录。首先,对字段特定列表执行步骤i)中的数据库查询。该步骤最初仅用于基于与一个或更多个字段特定搜索值的匹配来识别要全部或部分返回内容的数据记录的id。通常,启动了数据库查询的软件或用户不仅需要标识符,还需要首先从内容方面表示数据记录的属性(字段特定数据值)。在现有技术中,数据库查询通常已经被公式化,使得它在一个处理步骤中确定并返回要返回的数据记录,包括它们的属性。数据库查询也相应地复杂,通常在多个表上扩展,并包含各种连结(join)操作。由于传统数据库查询的复杂性,经常需要加载和评估若干个表,并且数据库查询的性能较低,或者在一定复杂性以上是不可能的。然而,根据本专利技术实施例,对数据记录的属性的物理载体(在这种情况下是字段特定数据值列表)的分析仅用于确定要返回的数据记录id。它不用于确定这些结果数据记录的属性。根据本专利技术实施例,要返回的数据记录的字段相关数据值不通过分析字段特定数据值列表来确定,而通过使用两种特定的数据结构(即仅添加数据结构和地址分配表)来确定。

14、仅添加数据结构是由几个按顺序更新的条目组成的数据结构。不可能对个别aod条目进行后续删除或修改或重组。每个aod条目指定对逻辑数据记录的一个或更多个字段的一个或更多个数据值的更改。

15、这种仅添加数据结构在功能上与地址分配表紧密耦接:即,对于逻辑数据记录中的每个逻辑数据记录,地址分配表都包含一行该数据记录的id。该数据记录的id存储在地址分配表中,该地址分配表链接到恰好一个地址,其中,该一个地址是指定对该数据记录的更改的最近aod条目的地址。

16、为了现在向在步骤i)中确定的数据记录提供当前数据值并输出它们,管理数据库的基于软本文档来自技高网...

【技术保护点】

1.一种用于对数据库(104)执行数据库查询的计算机实现方法,其中,所述数据库在被称为“最近合并时间点”的第一时间点处包含多个逻辑数据记录,其中,每个数据记录包含数据记录ID和一个或更多个字段标识符-数据值对,其中,所述数据记录以字段特定数据值列表(116、402、404、406)的形式物理地存储,其中,所述方法包括:在所述最近合并时间点之后,

2.根据权利要求1所述的计算机实现方法,

3.根据前述权利要求中任一项所述的计算机实现方法,还包括:

4.根据权利要求3所述的计算机实现方法,还包括:

5.根据权利要求3或4所述的计算机实现方法,

6.根据权利要求3-5中任一项所述的计算机实现方法,其中,对所述字段特定数据值列表中的每一个执行所述合并包括:

7.根据前述权利要求中任一项所述的计算机实现方法,还包括提供所述字段特定数据值列表,其中,所述提供包括:

8.根据权利要求7所述的计算机实现方法,

9.根据前述权利要求中任一项所述的计算机实现方法,其中,所述更改指令中的至少一个是更改或删除所述逻辑数据记录中的至少一个中的字段的废弃数据值的指令,其中,所述方法还包括:

10.根据前述权利要求中任一项所述的计算机实现方法,其中,所述更改指令中的至少一个是将新数据值分配给所述数据记录中的至少一个中的字段的指令,其中,所述方法还包括:

11.根据权利要求7-10中任一项所述的计算机实现方法,

12.根据前述权利要求中任一项所述的计算机实现方法,

13.根据前述权利要求3-12中任一项所述的计算机实现方法,其中,所述合并包括:

14.根据权利要求13结合权利要求9和/或权利要求10所述的计算机实现方法,还包括:响应于接收到所述命令并且在生成所述合并字段特定数据值列表之后:

15.根据前述权利要求中任一项所述的计算机实现方法,

16.根据前述权利要求中任一项所述的计算机实现方法,

17.根据前述权利要求中任一项所述的计算机实现方法,

18.根据前述权利要求中任一项所述的计算机实现方法,其中,所述数据库查询由数据处理和搜索系统,即DMS系统(102)执行,所述DMS系统(102)被配置为以所述字段特定数据值列表的形式来管理和保持所述逻辑数据记录,其中,所述DMS系统被配置为除了所述字段特定数据值列表之外不管理和保持任何其他数据结构,其中根据所述任何其他数据结构,在第一合并时间处已经由所述DMS系统管理的所有逻辑数据记录还能够被重构。

19.根据前述权利要求中任一项所述的计算机实现方法,其中,至少在执行步骤i)期间,所述字段特定数据值列表没有锁定于,即“没有数据库级锁定于”在步骤i)中搜索的任何或全部字段特定数据值列表,,并且没有锁定于其中包含的数据值。

20.一种易失性或非易失性存储介质,所述易失性或非易失性存储介质上存储有计算机可读指令,其中,所述指令被配置为使处理器执行根据前述权利要求中任一项所述的用于在数据库内执行数据库查询的方法。

21.一种数据结构,包括:

22.一种计算机系统(100、500),包括:

...

【技术特征摘要】
【国外来华专利技术】

1.一种用于对数据库(104)执行数据库查询的计算机实现方法,其中,所述数据库在被称为“最近合并时间点”的第一时间点处包含多个逻辑数据记录,其中,每个数据记录包含数据记录id和一个或更多个字段标识符-数据值对,其中,所述数据记录以字段特定数据值列表(116、402、404、406)的形式物理地存储,其中,所述方法包括:在所述最近合并时间点之后,

2.根据权利要求1所述的计算机实现方法,

3.根据前述权利要求中任一项所述的计算机实现方法,还包括:

4.根据权利要求3所述的计算机实现方法,还包括:

5.根据权利要求3或4所述的计算机实现方法,

6.根据权利要求3-5中任一项所述的计算机实现方法,其中,对所述字段特定数据值列表中的每一个执行所述合并包括:

7.根据前述权利要求中任一项所述的计算机实现方法,还包括提供所述字段特定数据值列表,其中,所述提供包括:

8.根据权利要求7所述的计算机实现方法,

9.根据前述权利要求中任一项所述的计算机实现方法,其中,所述更改指令中的至少一个是更改或删除所述逻辑数据记录中的至少一个中的字段的废弃数据值的指令,其中,所述方法还包括:

10.根据前述权利要求中任一项所述的计算机实现方法,其中,所述更改指令中的至少一个是将新数据值分配给所述数据记录中的至少一个中的字段的指令,其中,所述方法还包括:

11.根据权利要求7-10中任一项所述的计算机实现方法,

12.根据前述权利要求中任一项所述的计算机实现方法,

【专利技术属性】
技术研发人员:彼得·帕尔姆
申请(专利权)人:皮质创新有限公司
类型:发明
国别省市:

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

1