基于MVCC的数据库系统的异步缓存一致性的制作方法

文档序号:23980771发布日期:2021-02-20 09:32阅读:来源:国知局

技术特征:
1.一种数据库系统,其特征在于,包括:持久性存储设备;日志节点,所述日志节点包括存储器和处理器;多个数据库节点,其中,数据库节点包括用于存储数据库实例的缓存存储器和用于通过向所述日志节点发送快照请求来启动数据库事务的处理器,所述快照请求包括所述缓存存储器中被替换或新加载的页面的列表;所述日志节点处理器用于向所述数据库节点发送快照响应,所述快照响应包括所述数据库的快照和所述数据库实例的已更改页面的列表;所述数据库节点处理器用于根据所述快照响应更新缓存存储器中的所述页面的状态并执行所述数据库事务。2.根据权利要求1所述的数据库系统,其特征在于,所述数据库节点处理器用于:当从所述持久性存储设备加载所述页面时,将页面状态更改为半有效并为所述页面分配有效日志快照号(log snapshot number,lsn);将具有所述半有效页面状态和所述页面的有效lsn的页面的列表包括在所述快照请求中;所述日志节点处理器用于:通过将所述页面有效lsn与所述页面的最新lsn进行比较,识别对所述数据库节点无效的页面;将所识别的无效页面包括在所述快照响应中。3.根据权利要求2所述的数据库系统,其特征在于,所述日志节点处理器用于发送所述快照响应中的所述有效lsn。4.根据权利要求1至3中任一项所述的数据库系统,其特征在于,所述数据库节点处理器用于:当从所述持久性存储设备加载所述页面时,将页面状态更改为半有效;如果所述页面在所述已更改页面的列表中被指示为已更改,则将页面状态从半有效更改为无效;如果所述页面为新加载的页面,并且所述页面在所述已更改页面列表中未被指示为已更改,则将所述页面状态从半有效更改为有效。5.根据权利要求4所述的数据库系统,其特征在于,所述数据库节点处理器用于:如果所述页面在所述已更改页面的列表中被指示为已更改,则将页面状态从有效或半有效更改为无效;当从所述持久性存储设备加载所述页面时,将页面状态从无效更改为半有效。6.根据权利要求1至5中任一项所述的数据库系统,其特征在于,所述日志节点处理器用于:将已执行数据库事务的记录从所述日志节点发送至持久性存储设备;当所述日志节点将在所述启动的数据库事务之前执行的数据库事务的记录发送至所述持久性存储设备时,发送所述快照响应。7.根据权利要求6所述的数据库系统,其特征在于,所述持久性存储设备用于使用所述已执行的数据库事务的所述记录生成所述数据库快照。8.根据权利要求1至7中任一项所述的数据库系统,其特征在于,所述日志节点存储器
用于存储所述数据库节点的缓存页面的哈希表并响应所述快照请求更新所述哈希表。9.一种在包含多个数据库实例的系统中实现数据库一致性的计算机实现的方法,其特征在于,所述方法包括:通过从数据库节点向日志节点发送快照请求来启动数据库事务,所述快照请求包括所述数据库节点的缓存存储器中被替换或新加载的页面的列表;从所述日志节点接收所述数据库节点处的快照响应,所述快照响应包括所述数据库的快照和所述数据库实例的已更改页面的列表;根据所述快照响应更新所述数据库节点的缓存存储器中的所述页面的状态并执行所述数据库事务。10.根据权利要求9所述的方法,其特征在于,所述方法包括:当所述页面是从持久性存储加载时,在所述数据库节点中将页面状态更改为半有效并为所述页面分配有效日志快照号(log snapshot number,lsn);将具有所述半有效页面状态和所述页面的所述有效lsn的页面的列表包括在所述快照请求中;在所述数据库节点处接收所述快照响应中识别的无效页面和所述有效lsn。11.根据权利要求10所述的方法,其特征在于,所述方法包括:所述日志节点通过将所述页面有效lsn与所述页面的最新lsn进行比较,识别对所述数据库节点无效的页面。12.根据权利要求9至11中任一项所述的方法,其特征在于,更新所述缓存存储器中的所述页面的状态包括:当所述页面从所述持久性存储加载时,将页面状态更改为半有效;如果所述页面在所述已更改页面的列表中被指示为已更改,则将页面状态从半有效更改为无效;如果所述页面为所述数据库节点中新加载的页面,并且所述页面在所述已更改页面列表中未被指示为已更改,则将所述页面状态从半有效更改为有效。13.根据权利要求12所述的方法,其特征在于,更新所述缓存存储器中的所述页面的状态包括:如果所述页面在所述已更改页面的列表中被指示为已更改,则将页面状态从有效或半有效更改为无效;当所述页面从持久性存储加载时,将页面状态从无效更改为半有效。14.根据权利要求9至13中任一项所述的方法,其特征在于,所述方法包括:将所述启动的数据库事务之前提交的数据库事务的记录从所述日志节点发送至持久性存储设备;在所述记录已发送时,发送所述快照响应。15.根据权利要求9至14中任一项所述的方法,其特征在于,所述方法包括:所述日志节点响应所述快照请求,更新所述数据库节点的缓存页面的哈希表。16.根据权利要求9至15中任一项所述的方法,其特征在于,所述方法包括:将所述多个数据库实例中的数据库实例存储在所述数据库节点的所述缓存存储器中,启动所述数据库事务包括所述数据库节点的处理器启动所述数据库事务。17.一种数据库系统的日志节点,其特征在于,所述日志节点包括:
存储器,所述存储器包括指令;一个或多个处理器,所述一个或多个处理器与所述存储器通信,所述一个或多个处理器执行所述指令以:从所述数据库系统的数据库节点接收快照请求,所述快照请求包括所述数据库节点的缓存存储器中被替换或新加载的页面的列表;将快照响应发送至所述数据库节点,所述快照响应包括所述数据库的快照和所述数据库实例的已更改页面的列表。18.根据权利要求17所述的日志节点,其特征在于,所述一个或多个处理器执行所述指令以:为所述数据库事务分配有效日志快照号(log snapshot number,lsn);通过将所述页面有效lsn与所述页面的最新lsn进行比较,识别对所述数据库节点无效的页面;将所识别的无效页面包括在所述快照响应中。19.根据权利要求17至18中任一项所述的日志节点,其特征在于,所述一个或多个处理器执行所述指令以:将已执行数据库事务的记录从所述日志节点发送至持久性存储设备;当所述日志节点将在所述启动的数据库事务之前执行的数据库事务的记录发送至所述持久性存储设备时,发送所述快照响应。20.根据权利要求17至19中任一项所述的日志节点,其特征在于,所述一个或多个处理器执行所述指令以存储所述数据库节点的缓存页面的哈希表并响应所述快照请求更新所述哈希表。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1