用于网络内的分布式数据库的方法和装置制造方法及图纸

技术编号:22974663 阅读:20 留言:0更新日期:2019-12-31 23:24
本申请涉及用于网络内的分布式数据库的方法和装置。在一些实施例中,一种装置包括在第一计算设备处的分布式数据库的实例,该第一计算设备被配置为包括在实现分布式数据库的计算设备集合内。该装置还包括被配置为定义链接到第一事件集合的第一事件的处理器。该处理器被配置为从计算设备集合中的第二计算设备接收表示(1)由第二计算设备定义的并且(2)链接到第二事件集合的第二事件的信号。该处理器被配置为至少基于协议的结果来识别与第三事件集合相关联的顺序。该处理器被配置为在分布式数据库的实例中存储与第三事件集合相关联的顺序。

Method and device for distributed database in network

【技术实现步骤摘要】
用于网络内的分布式数据库的方法和装置本申请是申请日为2016年8月26日、申请号为201680061456.6、名称为“用于网络内的分布式数据库的方法和装置”的专利技术专利申请的分案申请。对相关申请的交叉引用本申请是于2016年7月8日提交的标题为“MethodsandApparatusforaDistributedDatabasewithinaNetwork”的美国专利申请No.15/205,688的部分继续申请,美国专利申请No.15/205,688是于2016年1月6日提交的标题为“MethodsandApparatusforaDistributedDatabasewithinaNetwork”的美国专利申请No.14/988,873的继续申请,美国专利申请No.14/988,873要求于2015年8月28日提交的标题为“MethodsandApparatusforaDistributedDatabasewithinaNetwork”的美国临时专利申请No.62/211,411的优先权和权益,这些申请中的每一个都通过引用被整体结合于此。本申请还是于2016年5月12日提交的标题为“MethodsandApparatusforaDistributedDatabasewithinaNetwork”的美国专利申请No.15/153,011的部分继续申请,美国专利申请No.15/153,011是于2016年1月6日提交的标题为“MethodsandApparatusforaDistributedDatabasewithinaNetwork”的美国专利申请No.14/988,873的部分继续申请,美国专利申请No.14/988,873要求于2015年8月28日提交的标题为“MethodsandApparatusforaDistributedDatabasewithinaNetwork”的美国临时专利申请No.62/211,411的优先权和权益,这些申请中的每一个都通过引用被整体结合于此。本申请还要求于2015年8月28日提交的标题为“MethodsandApparatusforaDistributedDatabasewithinaNetwork”的美国临时专利申请No.62/211,411的优先权和权益,该申请通过引用被整体结合于此。本申请还要求于2016年6月2日提交的标题为“MethodsandApparatusforaDistributedDatabasewithConsensusDeterminedBasedonWeightedStakes”的美国临时专利申请No.62/344,682的优先权和权益,该申请通过引用被整体结合于此。
技术介绍
本文描述的实施例一般而言涉及数据库系统,并且更具体地涉及用于实现跨网络中的多个设备的数据库系统的方法和装置。一些已知的分布式数据库系统试图对分布式数据库系统内的(例如,关于事务发生的顺序的)值达成共识(consensus)。例如,在线多人游戏可能具有用户可以访问以玩游戏的许多计算机服务器。如果两个用户试图同时拾取游戏中的特定物品,那么分布式数据库系统内的服务器就这两个用户中的哪个用户首先拾取该物品最终达成一致是重要的。这种分布式共识可以通过诸如Paxos算法或其变体之类的方法和/或过程来处理。依据这样的方法和/或过程,数据库系统的一个服务器被设置为“领导者(leader)”,并且领导者决定事件的顺序。(例如,多人游戏内的)事件被转发给领导者,领导者选择事件的排序,并且领导者向数据库系统的其它服务器广播该排序。但是,这样的已知方法使用由数据库系统的用户(例如,游戏玩家)信任的一方(例如,中央管理服务器)操作的服务器。因此,存在对于用于分布式数据库系统的方法和装置的需要,该分布式数据库系统不需要领导者或可信的第三方来操作数据库系统。其它分布式数据库被设计为没有领导者,但是效率低。例如,一种这样的分布式数据库是基于可以达成共识的“区块链”数据结构。但是,这样的系统可以被限制为对于所有参与者加起来总共每秒较少数量的事务(例如,每秒7个事务),这对于大规模游戏或对于许多传统的数据库应用是不够的。因此,需要一种分布式数据库系统,该分布式数据库系统在没有领导者的情况下达成共识并且是高效的。
技术实现思路
在一些实施例中,一种装置包括在第一计算设备处的分布式数据库的实例,该第一计算设备被配置为包括在实现分布式数据库的计算设备集合内。该装置还包括被配置为定义链接到(linkedto)第一事件集合的第一事件的处理器。该处理器被配置为从来自计算设备集合的第二计算设备接收表示(1)由第二计算设备定义并且(2)链接到第二事件集合的第二事件的信号。该处理器被配置为至少基于协议的结果来识别与第三事件集合相关联的顺序。该处理器被配置为在分布式数据库的实例中存储与第三事件集合相关联的顺序。附图说明图1是示出根据实施例的分布式数据库系统的高级框图。图2是示出根据实施例的分布式数据库系统的计算设备的框图。图3-图6示出根据实施例的hashDAG的示例。图7是示出根据实施例的第一计算设备和第二计算设备之间的通信流程的流程图。图8是示出根据实施例的第一计算设备和第二计算设备之间的通信流程的流程图。图9a-图9c是示出值的向量的示例的向量图。图10a-图10d是示出被更新以包括新值的值的向量的示例的向量图。图11是示出根据实施例的分布式数据库系统的操作的流程图。图12是示出根据实施例的分布式数据库系统的操作的流程图。图13是示出根据实施例的分布式数据库系统的操作的流程图。图14是根据实施例的hashDAG的示例。图15是根据实施例的hashDAG的示例。图16a-图16b示出根据实施例的用于与hashDAG一起使用的示例共识方法。图17a-17b示出根据另一个实施例的用于与hashDAG一起使用的示例共识方法。具体实施方式在一些实施例中,一种装置包括在第一计算设备处的分布式数据库的实例,该第一计算设备被配置为包括在计算设备集合内,该计算设备集合经由可操作地耦合到计算设备集合的网络来实现分布式数据库。该装置还包括可操作地耦合到存储分布式数据库的实例的存储器的处理器。处理器被配置为在第一时间定义链接到第一事件集合的第一事件。处理器被配置为在第一时间之后的第二时间并且从计算设备集合中的第二计算设备接收表示(1)由第二计算设备定义并且(2)链接到第二事件集合的第二事件的信号。处理器被配置为至少基于协议的结果来识别与第三事件集合相关联的顺序。第三事件集合中的每个事件来自第一事件集合或第二事件集合中的至少一个。处理器被配置为在分布式数据库的实例中存储与第三事件集合相关联的顺序。在一些情况下,第三事件集合中的每个事件与属性集合(例如,序列号、世代(generation)号、轮次号、接收号和/或时间戳等)相关联。协议的结果可以包括第三事件集合中本文档来自技高网
...

【技术保护点】
1.一种装置,包括:/n与第一计算设备处的分布式数据库的实例相关联的存储器,第一计算设备被配置为包括在多个计算设备内,所述多个计算设备经由可操作地耦合到所述多个计算设备的网络来实现所述分布式数据库;和/n可操作地耦合到所述存储器的处理器,/n所述处理器被配置为在第一时间识别(1)由第一计算设备定义并且(2)链接到第一多个分布式数据库事件的第一分布式数据库事件,/n所述处理器被配置为在第一时间之后的第二时间接收表示(1)由所述多个计算设备中的第二计算设备定义并且(2)链接到第二多个分布式数据库事件的第二分布式数据库事件的信号,/n所述处理器被配置为至少部分地基于第三多个分布式数据库事件中的每个分布式数据库事件的第一属性的值来识别第三多个分布式数据库事件内的分布式数据库事件的顺序,第三多个分布式数据库事件中的每个分布式数据库事件的第一属性的值基于该分布式数据库事件与包括该分布式数据库事件的后代的分布式数据库事件集合之间的关系,所述分布式数据库事件集合中的每个分布式数据库事件与所述分布式数据库事件集合中的剩余分布式数据库事件公共的第二属性相关联,第三多个分布式数据库事件中的每个分布式数据库事件来自第一多个分布式数据库事件或者第二多个分布式数据库事件中的至少一者,第三多个分布式数据库事件与所述分布式数据库事件集合相互排斥,/n所述处理器被配置为在存储器中存储与第三多个分布式数据库事件相关联的顺序。/n...

【技术特征摘要】
20150828 US 62/211,411;20160106 US 14/988,873;20161.一种装置,包括:
与第一计算设备处的分布式数据库的实例相关联的存储器,第一计算设备被配置为包括在多个计算设备内,所述多个计算设备经由可操作地耦合到所述多个计算设备的网络来实现所述分布式数据库;和
可操作地耦合到所述存储器的处理器,
所述处理器被配置为在第一时间识别(1)由第一计算设备定义并且(2)链接到第一多个分布式数据库事件的第一分布式数据库事件,
所述处理器被配置为在第一时间之后的第二时间接收表示(1)由所述多个计算设备中的第二计算设备定义并且(2)链接到第二多个分布式数据库事件的第二分布式数据库事件的信号,
所述处理器被配置为至少部分地基于第三多个分布式数据库事件中的每个分布式数据库事件的第一属性的值来识别第三多个分布式数据库事件内的分布式数据库事件的顺序,第三多个分布式数据库事件中的每个分布式数据库事件的第一属性的值基于该分布式数据库事件与包括该分布式数据库事件的后代的分布式数据库事件集合之间的关系,所述分布式数据库事件集合中的每个分布式数据库事件与所述分布式数据库事件集合中的剩余分布式数据库事件公共的第二属性相关联,第三多个分布式数据库事件中的每个分布式数据库事件来自第一多个分布式数据库事件或者第二多个分布式数据库事件中的至少一者,第三多个分布式数据库事件与所述分布式数据库事件集合相互排斥,
所述处理器被配置为在存储器中存储与第三多个分布式数据库事件相关联的顺序。


2.如权利要求1所述的装置,其中所述第三多个分布式数据库事件中的每个分布式数据库事件的第一属性的值基于与所述分布式数据库事件集合中包括的该事件的非后代的数量相比的所述分布式数据库事件集合中包括的该事件的后代的数量。


3.如权利要求1所述的装置,其中所述分布式数据库事件集合中的每个分布式数据库事件由所述多个计算设备中的唯一计算设备定义。


4.如权利要求1所述的装置,其中所述分布式数据库事件集合中的每个分布式数据库事件由所述多个计算设备中的唯一计算设备定义,
所述处理器被配置为基于所述分布式数据库事件集合中的每个分布式数据库事件是如下初始实例来识别所述分布式数据库事件集合中的每个分布式数据库事件:定义该分布式数据库事件的所述多个计算设备中的计算设备定义了具有第三属性的特定值的分布式数据库事件,其中所述分布式数据库事件集合中的每个分布式数据库事件具有第三属性的特定值。


5.如权利要求1所述的装置,其中,所述分布式数据库事件集合是第一分布式数据库事件集合,所述第一分布式数据库事件集合中的每个分布式数据库事件由所述多个计算设备中的唯一计算设备定义,
所述处理器被配置为基于(1)第一分布式数据库事件集合中的每个分布式数据库事件是如下初始实例:定义该分布式数据库事件的所述多个计算设备中的计算设备定义了具有第三属性的特定值的分布式数据库事件以及(2)一致性协议的结果来识别第一分布式数据库事件...

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

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

1