用于启用事件删除的分布式数据库的方法和设备技术

技术编号:21900339 阅读:40 留言:0更新日期:2019-08-17 19:29
在一些实施例中,一种设备包括与被配置为包括在第一组计算装置内的计算装置处的分布式数据库的实例相关联的存储器。所述设备被配置为基于事件共识协议的不同配置来确定事件集合中的每个事件的次序。所述不同配置在逻辑上与实现分布式数据库的计算装置的不同配置是相关的。所述设备被配置为基于对事件集合中的每个事件确定的次序来确定分布式数据库的实例的当前状态,并且基于与当前状态相关联的散列值来产生与分布式数据库的实例相关联的带签名状态。所述设备发送将包括指示带签名状态的事务的事件发布到分布式数据库的实例中的信号。

Methods and devices for enabling event deletion in distributed databases

【技术实现步骤摘要】
【国外来华专利技术】用于启用事件删除的分布式数据库的方法和设备相关申请的交叉引用本申请要求2016年12月19日提交的、标题为“METHODSANDAPPARATUSFORADISTRIBUTEDDATABASETHATENABLESDELETIONOFEVENTS”的美国临时专利申请第62/436,066号的优先权,该申请特此整个地通过引用并入本文。
本文中所描述的实施例总体上涉及一种数据库系统,更具体地,涉及用于跨网络中的多个装置实现数据库系统的方法和设备。
技术介绍
一些已知的分布式数据库系统试图在分布式数据库系统内对值(例如,关于事务发生的次序)实现共识。例如,在线多玩家游戏可能具有用户可以接入玩游戏的许多计算机服务器。如果两个用户同时试图在游戏中拾取特定的物品,则重要的是,分布式数据库系统内的服务器最终就这两个用户中的哪个首先拾取该物品达成协定。这样的分布式共识可以用诸如Paxos算法或其变型的方法和/或处理来进行处理。按照这样的方法和/或处理,数据库系统的一个服务器被设置为“领导者”,领导者决定事件的次序。事件(例如,多玩家游戏内的事件)被转发给领导者,领导者选择事件的排序,领导者向数据库系统的其他服务器广播该排序。然而,这样的已知的方法使用由数据库系统的用户(例如,游戏玩家)信任的一方运营的服务器(例如,中央管理服务器)。因此,对用于不需要领导者或受信任的第三方来操作数据库系统的分布式数据库系统的方法和设备的需要存在。其他分布式数据库被设计为没有领导者,但是效率低下。例如,一个这样的分布式数据库基于可以实现共识的“区块链”数据结构。然而,这样的系统可能限于对于放在一起的所有参与者来说每秒总共少量的事务(例如,每秒7个事务),这对于大规模游戏或者对于数据库的许多传统应用是不足的。此外,数据库的规模随着时间的增大可能使计算资源的使用增加,例如,当存储器资源存储冗余的或不必要的数据时,它们可能变得不可管理和/或未充分利用。因此,对于在没有领导者的情况下实现共识并且高效率地管理计算资源的分布式数据库系统的需要存在。
技术实现思路
在一些实施例中,一种设备包括与被配置为包括在第一组计算装置内的计算装置处的分布式数据库的实例相关联的存储器。所述设备被配置为基于事件共识协议的不同配置来确定事件集合中的每个事件的次序。所述不同配置在逻辑上与实现分布式数据库的计算装置的不同配置是相关的。所述设备被配置为基于对事件集合中的每个事件确定的次序来确定分布式数据库的实例的当前状态,并且基于与当前状态相关联的散列值来产生与分布式数据库的实例相关联的带签名状态(signedstate)。所述设备发送将包括指示带签名状态的事务的事件发布到分布式数据库的实例中的信号。附图说明图1是例示说明根据实施例的分布式数据库系统的高级框图。图2是例示说明根据实施例的分布式数据库系统的计算装置的框图。图3-6例示说明根据实施例的散列图的例子。图7是例示说明根据实施例的第一计算装置和第二计算装置之间的通信流程的流程图。图8是根据实施例的散列图的例子。图9是根据实施例的散列图的例子。图10A-10B例示说明根据实施例的用于与散列图一起使用的示例共识法。图11A-11B例示说明根据实施例的用于与散列图一起使用的示例共识法。图12A-12B例示说明根据实施例的用于与散列图一起使用的示例共识法。图13是根据实施例的分布式数据库的初始状态的表示。图14是例示说明根据实施例的与对于分布式数据库更新、添加、移除成员相关联的操作的例子的流程图。图15是例示说明根据实施例的基于接收轮次(rounds)接受和拒绝事件的流程图。图16是例示说明根据实施例的分布式数据库的两个成员之间的同步处理的流程图。具体实施方式在一些实施例中,一种设备包括计算装置处的分布式数据库的实例,所述实例被配置为被包括在实现所述分布式数据库的计算装置集合内。所述设备还包括处理器,所述处理器被配置为定义通过根据对集合产生的唯一标识符的指定而取得的分布式数据库的初始状态,每对包括与分布式数据库的实例相关联的公钥和随机化值。所述分布式数据库被配置为基于由实现所述分布式数据库的计算装置集合签名的收敛状态,来在分布式数据库的实例之间同步事件,以使得与分布式数据库的当前状态和未来的状态无关的事件不在所述计算装置集合之间交换。所述处理器还被配置为通过定义所述分布式数据库的带签名状态来从分布式数据库的实例移除不必要的事件。这使由在实现所述分布式数据库的计算装置集合之间同步冗余的或无关的事件引起的开销减小。这还使这样的计算装置集合的本地存储器的未充分利用减少。在一些实施例中,一种设备包括与计算装置处的分布式数据库的实例相关联的存储器,所述实例被配置为被包括在一组计算装置内,所述一组计算装置经由操作地耦合到所述一组计算装置的网络来实现所述分布式数据库。所述一组计算装置与所述分布式数据库所关联的事件共识协议的第一配置相关联。所述设备包括操作地耦合到所述存储器的处理器。所述处理器被配置为从所述一组计算装置中的计算装置集合接收事件集合。所述事件集合中的每个事件与(1)事务集合和(2)接收轮次号相关联。所述处理器被配置为基于以下各项来确定事件集合中的每个事件的次序:(1)事件共识协议在接收的与该事件相关联的轮次号不大于接收的由所述分布式数据库的实例识别的轮次号阈值时的第一配置;以及(2)事件共识协议在接收的与该事件相关联的轮次号大于接收轮次号阈值时的第二配置。所述处理器被配置为基于对所述事件集合中的每个事件确定的次序来确定所述分布式数据库的实例的当前状态。所述处理器被配置为基于与当前状态相关联的散列值来产生与所述分布式数据库的实例相关联的带签名状态。所述散列值通过与第一计算装置相关联的私钥被数字签名。所述处理器被进一步配置为发送将包括指示带签名状态的事务的事件发布到所述分布式数据库的实例中的信号。在一些实施例中,一种设备包括与第一计算装置处的分布式数据库的实例相关联的存储器,所述实例被配置为被包括在一组计算装置内,所述一组计算装置经由操作地耦合到所述一组计算装置的网络来实现所述分布式数据库。所述设备包括操作地耦合到所述存储器的处理器。所述处理器被配置为从所述一组计算装置中的第二计算装置接收事件。所述事件是与父事件集合相关联的字节序列。父事件集合中的每个父事件与(1)散列值和(2)轮次创建值相关联。所述处理器被配置为当满足第一准则或第二准则中的至少一个时将接收的事件排除在事件的次序的确定之外。第一准则在以下时候得到满足:(1)父事件集合中的至少一个父事件在所述分布式数据库的实例中没有标识符;以及(2)所述至少一个父事件与大于第一轮次创建阈值的轮次创建值相关联。第二准则在以下时候得到满足:(1)第一准则没有得到满足;以及(2)父事件集合中的每个父事件与小于第二轮次创建阈值的轮次创建值相关联。所述处理器被进一步配置为当事件基于第一准则或第二准则没有被排除时将该事件存储在所述分布式数据库的实例中。在一些实施例中,一种设备包括与第一计算装置处的分布式数据库的实例相关联的存储器,所述实例被配置为被包括在一组计算装置内,所述一组计算装置经由操作地耦合到所述一组计算装置的网络来实现所述分布式数据库。所述设备包括操作地耦合到所述存储器的处本文档来自技高网
...

【技术保护点】
1.一种设备,包括:存储器,所述存储器与被配置为包括在多个计算装置内的计算装置处的分布式数据库的实例相关联,所述多个计算装置经由操作地耦合到所述多个计算装置的网络来实现所述分布式数据库,所述多个计算装置与所述分布式数据库所关联的事件共识协议的第一配置相关联;以及处理器,所述处理器操作地耦合到所述存储器,所述处理器被配置为:从所述多个计算装置中的计算装置集合接收事件集合,所述事件集合中的每个事件与(1)事务集合和(2)接收轮次号相关联,基于以下内容来确定所述事件集合中的每个事件的次序:(1)当与该事件相关联的接收轮次号不大于由所述分布式数据库的实例识别的接收轮次号阈值时的所述事件共识协议的第一配置,以及(2)当与该事件相关联的接收轮次号大于所述接收轮次号阈值时的所述事件共识协议的第二配置,基于所确定的所述事件集合中的每个事件的次序来确定与所述分布式数据库的实例相关联的当前状态,基于与所述当前状态相关联的散列值来产生与所述分布式数据库的实例相关联的带签名状态,所述散列值被用与第一计算装置相关联的私钥数字签名,发送用于将包括指示所述带签名状态的事务的事件发布到所述分布式数据库的实例中的信号。

【技术特征摘要】
【国外来华专利技术】2016.12.19 US 62/436,0661.一种设备,包括:存储器,所述存储器与被配置为包括在多个计算装置内的计算装置处的分布式数据库的实例相关联,所述多个计算装置经由操作地耦合到所述多个计算装置的网络来实现所述分布式数据库,所述多个计算装置与所述分布式数据库所关联的事件共识协议的第一配置相关联;以及处理器,所述处理器操作地耦合到所述存储器,所述处理器被配置为:从所述多个计算装置中的计算装置集合接收事件集合,所述事件集合中的每个事件与(1)事务集合和(2)接收轮次号相关联,基于以下内容来确定所述事件集合中的每个事件的次序:(1)当与该事件相关联的接收轮次号不大于由所述分布式数据库的实例识别的接收轮次号阈值时的所述事件共识协议的第一配置,以及(2)当与该事件相关联的接收轮次号大于所述接收轮次号阈值时的所述事件共识协议的第二配置,基于所确定的所述事件集合中的每个事件的次序来确定与所述分布式数据库的实例相关联的当前状态,基于与所述当前状态相关联的散列值来产生与所述分布式数据库的实例相关联的带签名状态,所述散列值被用与第一计算装置相关联的私钥数字签名,发送用于将包括指示所述带签名状态的事务的事件发布到所述分布式数据库的实例中的信号。2.根据权利要求1所述的设备,其中,所述计算装置是第一计算装置,所述多个计算装置是在第一时段期间实现所述分布式数据库的第一多个计算装置,所述接收轮次号阈值是基于包括用于将第二计算装置添加到所述第一多个计算装置以定义第二多个计算装置的事务的事件的接收轮次而定义的。3.根据权利要求1所述的设备,其中,所述计算装置是第一计算装置,所述多个计算装置是在第一时段期间实现所述分布式数据库的第一多个计算装置,所述接收轮次号阈值是基于包括用于从所述第一多个计算装置移除第二计算装置以定义第二多个计算装置的事务的事件的接收轮次号而定义的。4.根据权利要求1所述的设备,其中,所述计算装置是所述多个计算装置中的第一计算装置,所述多个计算装置中的每个计算装置在逻辑上与所述事件共识协议中使用的份额值相关,所述接收轮次号阈值是基于包括用于改变在逻辑上与所述多个计算装置中的第二计算装置相关的份额值的事务的事件的接收轮次号而定义的。5.根据权利要求1所述的设备,其中,所述接收轮次号阈值是第一接收轮次号阈值,所述当前状态是与所述分布式数据库的实例相关联的第一状态,所述处理器被进一步配置为:定义与所述事件集合中的、包括用于更新所述分布式数据库的实例的第一状态的事务的事件的接收轮次号相对应的第二接收轮次号阈值,所述第二接收轮次号阈值与所述事件共识协议的第三配置相关联,所述第二接收轮次号阈值大于所述第一接收轮次号阈值,所述处理器被配置为基于以下内容来确定所述事件集合中的每个事件的次序:当与该事件相关联的接收轮次号大于所述第二接收轮次号阈值且不大于所述第二接收轮次号阈值时的所述事件共识协议的第二配置,当与该事件相关联的接收轮次号大于所述第二接收轮次号阈值时的所述事件共识协议的第三配置。6.根据权利要求1所述的设备,其中,所述处理器被配置为通过执行与所述事件集合中的每个事件相关联的事务集合来确定与所述分布式数据库的实例相关联的当前状态,所述执行是按照该事件中指定该事务集合的次序所对应的子次序进行的。7.根据权利要求1所述的设备,其中,所述计算装置是所述多个计算装置中的第一计算装置,所述接收轮次号阈值是基于包括与所述事件共识协议相关联的软件变化的事件的接收轮次号而定义的。8.一种设备,包括:存储器,所述存储器与被配置为包括在多个计算装置内的第一计算装置处的分布式数据库的实例相关联,所述多个计算装置经由操作地耦合到所述多个计算装置的网络来实现所述分布式数据库,处理器,所述处理器操作地耦合到所述存储器,所述处理器被配置为:从所述多个计算装置中的第二计算装置接收事件,所述事件是与父事件集合相关联的字节序列...

【专利技术属性】
技术研发人员:L·C·贝尔德三世
申请(专利权)人:斯沃尔德斯股份有限公司
类型:发明
国别省市:美国,US

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

1