在具有分布式数据库系统的网络中提供数据库访问控制的系统和架构技术方案

技术编号:17959866 阅读:47 留言:0更新日期:2018-05-16 05:27
在分布式数据库系统(102,202)中管理数据库事务包括:在第一节点处维持事务的第一多个记录,其中各记录与事务相关联并且包括事务的开始时间和在事务的开始时间处活动的最旧事务的开始时间;在第二节点处维持事务的第二多个记录,这第二多个记录包括与第二节点相关联的已完成事务的记录,各记录包括事务开始时间和事务结束时间;在第二节点处接收来自第一节点的消息,其中该消息包括在分布式数据库系统中的最旧当前活动事务的事务开始时间处活动的最旧事务的开始时间;以及从所述第二多个记录中删除事务结束时间在最旧事务的开始时间之前发生的已完成事务的任何记录。

System and framework for providing database access control in a network with distributed database systems

Managing database transactions in a distributed database system (102202) consists of maintaining the first multiple records of a transaction at the first node, in which the records are associated with the transaction and include the start time of the transaction and the start of the oldest transaction at the beginning of the transaction; and maintaining a transaction of second at the second node. Multiple records, this more than 2 record includes a record of the completed transaction associated with a second node, each record including the transaction start time and the transaction end time; a message from the first node is received at the second node, in which the message includes the transaction of the oldest active transaction in the distributed database system. The start time of the oldest transaction that is active at the start time; and any record of the completed transaction that occurred before the start time of the oldest transaction from the more than 2 record.

【技术实现步骤摘要】
【国外来华专利技术】在具有分布式数据库系统的网络中提供数据库访问控制的系统和架构相关申请的交叉引用本申请要求2015年7月10日提交的美国申请序列号62/190,843的优先权。
技术介绍
本说明书涉及用于向分布式数据库系统的网络提供数据库访问控制的方法和架构。数据库是可以使用软件程序进行管理和查询的结构化的持久性数据集。事务数据库管理系统是使用数据库“事务”对数据库中的数据进行操作(例如,存储和操纵)的关系数据库系统。一般来说,数据库事务代表数据库管理系统对数据库所进行的工作(包括一个或多个操作的)单个单元。为了确保可靠地处理数据库事务,数据库事务必须是原子性的(即,事务,包括其一个或多个操作中的全部操作,必须完整地完成或者对任何事务都没有影响)、一致性的(即,事务必须将数据库从一个有效状态移动至另一有效状态)、隔离性的(即,并行执行的事务导致数据库中出现与串行执行事务的情况下将会导致的状态相同的状态)、以及持久性的(即,与系统崩溃、错误和其它问题无关地,提交的事务将保持提交)。数据库事务的这组性质有时被称为“ACID”。
技术实现思路
在方面中,通常,一种用于管理包括多个节点的分布式数据库系统中的数据库事务的方法,所述方法包括以下步骤:在所述多个节点中的第一节点处维持所述分布式数据库系统中的事务的第一多个记录,所述第一多个记录中的各记录与事务相关联并且包括该事务的开始时间和曾在该事务的开始时间处于活动的最旧事务的开始时间,所述第一多个记录的其中一个记录是所述分布式数据库系统中的最旧当前活动事务的记录;在所述多个节点中的第二节点处维持事务的第二多个记录,所述第二多个记录包括与所述第二节点相关联的已完成事务的记录,所述第二多个记录中的各记录包括事务开始时间和事务结束时间;在所述第二节点处接收来自所述第一节点的消息,其中来自所述第一节点的消息包括曾在所述分布式数据库系统中的所述最旧当前活动事务的事务开始时间处于活动的最旧事务的开始时间;以及从所述第二多个记录中去除事务结束时间发生在所述最旧事务的开始时间之前的已完成事务的任何记录。方面可以包括以下特征中的一个或多个特征。所述方法还包括:从所述第二节点发送针对来自所述第一节点的所述消息的请求。所述方法还包括:在所述第二节点处接收来自所述第一节点的包括第三多个记录的消息,其中所述第三多个记录包括所述分布式数据库系统中的活动事务的记录,所述第三多个记录中的各记录包括事务开始时间;以及针对所述第二多个记录中的已完成事务的各记录,基于所述第三多个记录来判断是否去除该记录。基于所述第三多个记录来判断是否去除该记录包括:将所述第三多个记录中的活动事务的记录的事务开始时间与从已完成事务的记录的事务开始时间开始直到已完成事务的记录的事务结束时间结束为止的时间间隔进行比较。基于所述第三多个记录来判断是否去除该记录包括:在所述第三多个记录中的活动事务的记录的事务开始时间均未处于从已完成事务的记录的事务开始时间开始直到已完成事务的记录的事务结束时间结束为止的时间间隔内的情况下,将该已完成事务的记录从所述第二多个记录中去除。基于所述第三多个记录来判断是否去除该记录包括:在所述第三多个记录中的活动事务的记录与从已完成事务的记录的事务开始时间开始直到已完成事务的记录的事务结束时间结束为止的时间间隔内的事务开始时间相关联的情况下,将该已完成事务的记录保存在所述第二多个记录中。基于所述第三多个记录来判断是否去除该记录是在从所述第二多个记录中去除事务结束时间发生在所述最旧事务的开始时间之前的已完成事务的任何记录之后发生的。所述方法还包括:在所述第二节点处接收用于访问与所述第二节点相关联的数据元素的第一事务;在所述第二节点处维持包括所述第二节点处的活动事务的记录的第三多个记录;以及基于所述第二多个记录和所述第三多个记录中的一种或两种记录来判断是否允许所述第一事务访问所述数据元素的多个版本中的数据元素的版本。基于所述第二多个记录和所述第三多个记录中的一种或两种记录来判断是否允许所述第一事务访问所述数据元素的所述版本包括:判断与所述数据元素的所述版本相关联的第二事务的记录是否包括在所述第三多个记录中,并且在与所述数据元素的所述版本相关联的第二事务的记录包括在所述第三多个记录的情况下,判断为允许所述第一事务访问该数据元素;在所述第二事务的记录没有包括在所述第三多个记录中的情况下,判断所述第二事务的记录是否包括在所述第二多个记录中,并且在所述第二事务的记录包括在所述第二多个记录中的情况下,将所述第一事务的开始时间与所述第二事务的结束时间进行比较以判断是否允许所述第一事务访问该数据元素;以及在所述第二事务的记录不包括在所述第二多个记录或所述第三多个记录中的情况下,判断为允许所述第一事务访问该数据元素。在所述第二事务的事务结束时间发生在所述第一事务的事务开始时间之前的情况下、并且在所述第二多个记录中不存在第三事务的记录的情况下,允许所述第一事务读取所述数据元素的所述版本,其中所述第三事务写入了所述数据元素的第二版本,并且所述第三事务的事务结束时间发生在所述第二事务的事务结束时间之后且发生在所述第一事务的事务开始时间之前。在利用所述第一事务写入了所述数据元素的所述版本的情况下,允许所述第一事务读取所述数据元素的该版本。在所述第二事务的事务开始时间发生在所述第一事务的事务开始时间之后的情况下,不允许所述第一事务读取所述数据元素的所述版本。所述第二多个记录中的已完成事务的记录是基于记录的事务结束时间进行排序的。从所述第二多个记录中去除事务结束时间发生在最旧活动事务的记录的事务开始时间之前的已完成事务的任何记录包括:从所述第二多个记录中的最近已完成事务的记录起,顺次迭代所述第二多个记录,直到识别出事务结束时间发生在最旧事务的记录的事务开始时间之前的已完成事务的记录为止;以及将所识别出的记录从所述第二多个记录中去除。所述方法还包括:将事务结束时间发生在所识别出的记录的事务结束时间之前的已完成事务的任何记录从所述第二多个记录中去除。在另一方面中,通常,一种计算机可读介质,用于以非暂时性的形式存储软件,所述软件用于管理包括多个节点的分布式数据库系统中的数据库事务,所述软件包括用于使计算系统执行以下操作的指令:在所述多个节点中的第一节点处维持所述分布式数据库系统中的事务的第一多个记录,所述第一多个记录中的各记录与事务相关联并且包括该事务的开始时间和曾在该事务的开始时间处于活动的最旧事务的开始时间,所述第一多个记录的其中一个记录是所述分布式数据库系统中的最旧当前活动事务的记录;在所述多个节点中的第二节点处维持事务的第二多个记录,所述第二多个记录包括与所述第二节点相关联的已完成事务的记录,所述第二多个记录中的各记录包括事务开始时间和事务结束时间;在所述第二节点处接收来自所述第一节点的消息,其中来自所述第一节点的消息包括曾在所述分布式数据库系统中的所述最旧当前活动事务的事务开始时间处于活动的最旧事务的开始时间;以及从所述第二多个记录中去除事务结束时间发生在所述最旧事务的开始时间之前的已完成事务的任何记录。在另一方面中,通常,一种用于管理数据库事务的设备,所述设备包括:多个节点,其配置在分布式数据库系统中,各节点包括至少一个处理器;以及通信介本文档来自技高网...
在具有分布式数据库系统的网络中提供数据库访问控制的系统和架构

【技术保护点】
一种用于管理包括多个节点的分布式数据库系统中的数据库事务的方法,所述方法包括以下步骤:在所述多个节点中的第一节点处维持所述分布式数据库系统中的事务的第一多个记录,所述第一多个记录中的各记录与事务相关联并且包括该事务的开始时间和曾在该事务的开始时间处于活动的最旧事务的开始时间,所述第一多个记录的其中一个记录是所述分布式数据库系统中的最旧当前活动事务的记录;在所述多个节点中的第二节点处维持事务的第二多个记录,所述第二多个记录包括与所述第二节点相关联的已完成事务的记录,所述第二多个记录中的各记录包括事务开始时间和事务结束时间;在所述第二节点处接收来自所述第一节点的消息,其中来自所述第一节点的消息包括曾在所述分布式数据库系统中的所述最旧当前活动事务的事务开始时间处于活动的最旧事务的开始时间;以及从所述第二多个记录中去除事务结束时间发生在所述最旧事务的开始时间之前的已完成事务的任何记录。

【技术特征摘要】
【国外来华专利技术】2015.07.10 US 62/190,8431.一种用于管理包括多个节点的分布式数据库系统中的数据库事务的方法,所述方法包括以下步骤:在所述多个节点中的第一节点处维持所述分布式数据库系统中的事务的第一多个记录,所述第一多个记录中的各记录与事务相关联并且包括该事务的开始时间和曾在该事务的开始时间处于活动的最旧事务的开始时间,所述第一多个记录的其中一个记录是所述分布式数据库系统中的最旧当前活动事务的记录;在所述多个节点中的第二节点处维持事务的第二多个记录,所述第二多个记录包括与所述第二节点相关联的已完成事务的记录,所述第二多个记录中的各记录包括事务开始时间和事务结束时间;在所述第二节点处接收来自所述第一节点的消息,其中来自所述第一节点的消息包括曾在所述分布式数据库系统中的所述最旧当前活动事务的事务开始时间处于活动的最旧事务的开始时间;以及从所述第二多个记录中去除事务结束时间发生在所述最旧事务的开始时间之前的已完成事务的任何记录。2.根据权利要求1所述的方法,其中,还包括以下步骤:从所述第二节点发送针对来自所述第一节点的所述消息的请求。3.根据权利要求1或2所述的方法,其中,还包括以下步骤:在所述第二节点处接收来自所述第一节点的包括第三多个记录的消息,其中所述第三多个记录包括所述分布式数据库系统中的活动事务的记录,所述第三多个记录中的各记录包括事务开始时间;以及针对所述第二多个记录中的已完成事务的各记录,基于所述第三多个记录来判断是否去除该记录。4.根据权利要求3所述的方法,其中,基于所述第三多个记录来判断是否去除该记录包括:将所述第三多个记录中的活动事务的记录的事务开始时间与从已完成事务的记录的事务开始时间开始直到已完成事务的记录的事务结束时间结束为止的时间间隔进行比较。5.根据权利要求4所述的方法,其中,基于所述第三多个记录来判断是否去除该记录包括:在所述第三多个记录中的活动事务的记录的事务开始时间均未处于从已完成事务的记录的事务开始时间开始直到已完成事务的记录的事务结束时间结束为止的时间间隔内的情况下,将该已完成事务的记录从所述第二多个记录中去除。6.根据权利要求4所述的方法,其中,基于所述第三多个记录来判断是否去除该记录包括:在所述第三多个记录中的活动事务的记录与从已完成事务的记录的事务开始时间开始直到已完成事务的记录的事务结束时间结束为止的时间间隔内的事务开始时间相关联的情况下,将该已完成事务的记录保存在所述第二多个记录中。7.根据权利要求3所述的方法,其中,基于所述第三多个记录来判断是否去除该记录是在从所述第二多个记录中去除事务结束时间发生在所述最旧事务的开始时间之前的已完成事务的任何记录之后发生的。8.根据前述权利要求中任一项所述的方法,其中,还包括以下步骤:在所述第二节点处接收用于访问与所述第二节点相关联的数据元素的第一事务;在所述第二节点处维持包括所述第二节点处的活动事务的记录的第三多个记录;以及基于所述第二多个记录和所述第三多个记录中的一种或两种记录来判断是否允许所述第一事务访问所述数据元素的多个版本中的数据元素的版本。9.根据权利要求8所述的方法,其中,基于所述第二多个记录和所述第三多个记录中的一种或两种记录来判断是否允许所述第一事务访问所述数据元素的所述版本包括:判断与所述数据元素的所述版本相关联的第二事务的记录是否包括在所述第三多个记录中,并且在与所述数据元素的所述版本相关联的第二事务的记录包括在所述第三多个记录的情况下,判断为允许所述第一事务访问该数据元素;在所述第二事务的记录没有包括在所述第三多个记录中的情况下,判断所述第二事务的记录是否包括在所述第二多个记录中,并且在所述第二事务的记录包括在所述第二多个记录中的情况下,将所述第一事务的开始时间与所述第二事务的结束时间进行比较以判断是否允...

【专利技术属性】
技术研发人员:B·P·杜罗斯S·A·雷维拉克
申请(专利权)人:起元技术有限责任公司
类型:发明
国别省市:美国,US

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

1