【技术实现步骤摘要】
【国外来华专利技术】用于高效地实现可快速复制的数据库的方法和装置对相关申请的交叉引用本申请要求于2017年11月1日提交的标题为“MethodsandApparatusforEfficientlyImplementingaDistributedDatabasewithinaNetwork(用于在网络内高效地实现分布式数据库的方法和装置)”的第62/580,056号美国临时申请的优先权和权益,该美国临时申请的公开以其全部被引用的方式并入本文中。
技术介绍
本文描述的实施例一般涉及用于实现提高效率的数据库系统的方法和装置。
技术实现思路
在某些实施例中,可快速复制的数据库装置包括处理器以及与处理器进行电子通信的存储器。存储器存储具有多个记录的数据库表,每个记录具有包括版本标识符的复合键。存储器还存储指令,该指令能够执行以使处理器生成数据库表的第一虚拟克隆和数据库表的第二虚拟克隆,在第一虚拟克隆处接收查询并修改查询以使该查询包括第一个虚拟克隆的版本标识符。处理器可以使用修改后的查询来查询数据库表,以部分地基于来自具有与第一虚拟克隆的版本标识符的祖先路径相关联的版本标识符的记录集合的每个记录来生成响应,并发送该响应。每个复合键包括版本标识符和数据部分。附图说明图1是示出了根据实施例的用于实现可快速复制的数据库的系统的框图。图2A是根据实施例的可查询的层次树和相关联的数据库表的图。图2B是根据实施例的冲突约束被强制执行的可查询的层次树和相关联的数据库表的图。图3A是示出了根据实施例的用于生成层 ...
【技术保护点】
1.一种设备,包括:/n处理器;以及/n与所述处理器进行电子通信的存储器,所述存储器存储包括多个记录的数据库表,来自所述多个记录的每个记录具有包括版本标识符的复合键,/n所述存储器包括指令,所述指令能够执行以使所述处理器:/n生成所述数据库表的第一虚拟克隆和所述数据库表的第二虚拟克隆;/n在所述第一虚拟克隆处接收查询;/n基于在所述第一虚拟克隆处接收到所述查询,修改所述查询以定义包括与所述第一虚拟克隆相关联的版本标识符的修改后的查询;/n使用所述修改后的查询来查询所述数据库表,以基于以下各项生成包括来自所述多个记录的记录集合的响应:(1)来自所述记录集合的每个记录满足所述查询;以及(2)来自所述记录集合的每个记录具有与和所述第一虚拟克隆相关联的所述版本标识符的祖先路径相关联的版本标识符;/n发送包括所述记录集合的所述响应作为对所述查询的响应;/n来自所述多个记录的每个记录的复合键包括该复合键的所述版本标识符和数据部分,所述多个记录被配置使得在任何给定时间在数据库表中仅存在以下中的一个:(1)包括所述数据部分的值和与所述第一虚拟克隆相关联的所述版本标识符的复合键;或(2)包括所述数据部分 ...
【技术特征摘要】
【国外来华专利技术】20171101 US 62/580,0561.一种设备,包括:
处理器;以及
与所述处理器进行电子通信的存储器,所述存储器存储包括多个记录的数据库表,来自所述多个记录的每个记录具有包括版本标识符的复合键,
所述存储器包括指令,所述指令能够执行以使所述处理器:
生成所述数据库表的第一虚拟克隆和所述数据库表的第二虚拟克隆;
在所述第一虚拟克隆处接收查询;
基于在所述第一虚拟克隆处接收到所述查询,修改所述查询以定义包括与所述第一虚拟克隆相关联的版本标识符的修改后的查询;
使用所述修改后的查询来查询所述数据库表,以基于以下各项生成包括来自所述多个记录的记录集合的响应:(1)来自所述记录集合的每个记录满足所述查询;以及(2)来自所述记录集合的每个记录具有与和所述第一虚拟克隆相关联的所述版本标识符的祖先路径相关联的版本标识符;
发送包括所述记录集合的所述响应作为对所述查询的响应;
来自所述多个记录的每个记录的复合键包括该复合键的所述版本标识符和数据部分,所述多个记录被配置使得在任何给定时间在数据库表中仅存在以下中的一个:(1)包括所述数据部分的值和与所述第一虚拟克隆相关联的所述版本标识符的复合键;或(2)包括所述数据部分的值和与所述第二虚拟克隆相关联的所述版本标识符的复合键。
2.如权利要求1所述的装置,其中所述存储器还包括指令,所述指令能够执行以使所述处理器:
响应于经由所述第一虚拟克隆接收到的插入指令,将记录添加到所述数据库表,所述记录包括具有与所述第一虚拟克隆相关联的版本标识符的复合键和数据,使得:(1)随后在所述第一虚拟克隆处接收到的并引用所述数据的查询返回所述记录;以及(2)随后在所述第三虚拟克隆处接收到的针对所述数据的查询不返回所述记录。
3.如权利要求1所述的装置,其中,所述指令还能够执行以使所述处理器:
响应于将所述数据库表的第一记录的字段的值从第一值更新为第二值并经由第三虚拟克隆接收到的指令,将第二记录添加到所述数据库表,所述第二记录包括具有与所述第三虚拟克隆相关联的版本标识符的复合键和所述第二值;以及
响应于更新所述第一记录的所述字段的所述值的所述指令,将所述第一记录的复合键修改为不包括与所述第三虚拟克隆相关联的所述版本标识符,使得:
随后在所述第三虚拟克隆处接收到的并引用所述字段的查询返回所述第二记录,以及
在所述第一虚拟克隆处接收到的并引用所述字段的查询返回所述第一记录。
4.如权利要求1所述的装置,其中,所述指令还能够执行以使所述处理器:
响应于从所述多个记录中删除记录并经由第三虚拟克隆接收到的指令,将所述记录的所述复合键的所述版本标识符修改为不包括与所述第三虚拟克隆相关联的版本标识符,使得:
随后在所述第三虚拟克隆处接收到的针对所述记录的查询不返回所述记录,以及
随后在所述第一虚拟克隆处接收到的针对所述记录的查询返回所述记录。
5.如权利要求1所述的装置,其中,所述响应是第一响应,并且所述修改后的查询是第一修改后的查询,所述指令还能够执行以使处理器:
如果所述第一响应是空值,则生成包括所述第二虚拟克隆的版本标识符的第二修改后的查询,所述第二虚拟克隆是所述第一虚拟克隆的祖先;
使用所述第二修改后的查询来查询所述数据库表,以基于以下各项生成包括来自所述多个记录的记录集合的第二响应:(1)来自所述第二响应的所述记录集合的每个记录满足所述第二修改后的查询;以及(2)来自所述第二响应的所述记录集合的每个记录具有与所述第二虚拟克隆的所述版本标识符的祖先路径相关联的版本标识符;以及
发送包括所述记录集合的所述第二响应作为对所述查询的响应。
6.如权利要求1所述的装置,其中所述指令还能够执行以使所述处理器:将所述第一虚拟克隆是所述第二虚拟克隆的后代的指示存储在所述存储器中。
7.如权利要求1所述的装置,其中,所述指令还能够执行以使所述处理器:生成所述数据库表的第三虚拟克隆,所述第三虚拟克隆既不是所述第一虚拟克隆的祖先也不是所述第一虚拟克隆的后代,所述多个记录包括具有包括与所述第三虚拟克隆相关联的所述版本标识符和所述数据部分的值的复合键的记录。
8.一种装置,包括:
处理器;以及
与所述处理器进行电...
【专利技术属性】
技术研发人员:L·C·贝尔德三世,M·哈蒙,
申请(专利权)人:斯沃尔德斯股份有限公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。