[发明专利]用于持久系统中的数据库的事务处理有效
| 申请号: | 201480018433.8 | 申请日: | 2014-03-24 |
| 公开(公告)号: | CN105210060B | 公开(公告)日: | 2019-08-06 |
| 发明(设计)人: | P-A·拉森;R·P·菲茨杰拉德;C·戴科努;M·J·兹威林 | 申请(专利权)人: | 微软技术许可有限责任公司 |
| 主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F11/14 |
| 代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 杨丽 |
| 地址: | 美国华*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 持久 系统 中的 数据库 事务处理 | ||
1.一种用于对经由总线耦合至一个或多个处理器的持久系统中的记录集合执行事务的方法,所述方法包括:
对于由所述事务创建的每一记录版本,将所述记录版本提供给所述持久系统的动作;
对于由所述事务更新的每一记录版本,将所述记录版本的至少一部分经由所述总线提供给所述持久系统的动作;
在日志缓冲区中对后提交处理信息进行记录日志的动作,所述后提交处理信息至少包括所述事务的提交标记,以及针对由所述事务创建的每一记录版本和由所述事务更新的每一记录版本的指针;
在所述记录日志之后将具有所述后提交处理信息的所述日志缓冲区提供给所述持久系统的动作;以及
确认提供给所述持久系统的记录版本以及具有所述后提交处理信息的日志缓冲区已经被持久存储在所述持久系统中的动作,确认动作包括:
在将所述记录版本和所述日志缓冲区提供给所述持久系统向所述持久系统发出分开的持久存储命令,所述持久存储命令致使被提供给所述持久系统的未被变得持久的数据在所述持久系统中被变得持久;以及
接收响应于所述就此存储命令的返回确认。
2.如权利要求1所述的方法,其特征在于,对于由所述事务更新的每一记录版本,提供给持久系统的所述记录版本的一部分包括对应的记录版本的有效间隔结束边界。
3.根据权利要求1所述的方法,其特征在于,进一步包括:
在所述确认动作之后提交所述事务的动作。
4.如权利要求3所述的方法,其特征在于,所述提交的动作包括:
关闭所述后提交处理信息的状态以使得它不再被添加的动作;以及
将所述后提交处理信息的封闭状态持久存储到所述持久系统的动作。
5.如权利要求4所述的方法,其特征在于,所述持久存储封闭状态的动作包括:
将所述后提交处理信息的封闭状态提供给所述持久系统的动作;以及
确认所述后提交处理信息的封闭状态已经被持久存储到所述持久系统中的动作。
6.如权利要求5所述的方法,其特征在于,所述后提交处理信息位于当前日志缓冲区中,其中将所述后提交处理信息的封闭状态持久存储的动作包括:
通过将当前日志缓冲区的已填充状态提供给所述持久系统来将所述后提交处理信息的封闭状态提供给所述持久系统的动作;
释放来自在先事务的后提交处理信息位于其中的在先日志缓冲区的动作;
将所述在先日志缓冲区的经释放的状态提供给所述持久系统的动作;
确认所述当前日志缓冲区的已填充状态以及所述在先日志缓冲区的经释放状态已经被持久存储到所述持久系统的动作;以及
在确认所述当前日志缓冲区的已填充状态以及所述在先日志缓冲区的经释放状态已经被持久存储到所述持久系统的动作之后终止所述在先事务的动作。
7.根据权利要求6所述的方法,其特征在于,进一步包括:
对于由所述事务创建或更新的每一写入记录版本,使用所述后提交处理信息来更新有效间隔的动作;以及
将每一写入记录版本的经更新的有效间隔提供给所述持久系统的动作,其中所述当前事务不从事务图中被移除,直到所述方法针对后继事务再次开始。
8.根据权利要求1所述的方法,其特征在于,进一步包括:
对于由所述事务创建的每一记录版本,使用所述后提交处理信息来更新有效间隔开始边界的动作;以及
对于由所述事务更新的每一记录版本,使用所述后提交处理信息来更新有效间隔结束边界的动作。
9.一种用于对经由总线耦合至一个或多个处理器的持久系统中的记录集合执行事务的系统,包括:
一个或多个处理器;
能够持久存储数据的持久系统;
将所述一个或多个处理器耦合到所述持久系统的总线,其中所述持久系统具有能够由所述一个或多个处理器经由所述系统总线寻址的寻址系统;以及
被配置成通过执行以下动作来完成事务的事务系统:
对于由所述事务创建的每一记录版本,将所述记录版本提供给所述持久系统的动作;
对于由所述事务更新的每一记录版本,将所述记录版本的至少一部分经由所述总线提供给所述持久系统的动作;
在日志缓冲区中对后提交处理信息进行记录日志的动作,所述后提交处理信息至少包括所述事务的提交标记、以及针对由所述事务创建的每一记录版本和由所述事务更新的每一记录版本的指针;
在所述记录日志之后将具有所述后提交处理信息的所述日志缓冲区提供给所述持久系统的动作;以及
确认提供给所述持久系统的记录版本以及具有所述后提交处理信息的日志缓冲区已经被持久存储在所述持久系统中的动作,确认动作包括:
在将所述记录版本和所述日志缓冲区提供给所述持久系统向所述持久系统发出分开的持久存储命令,所述持久存储命令致使被提供给所述持久系统的未被变得持久的数据在所述持久系统中被变得持久;以及
接收响应于所述就此存储命令的返回确认。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480018433.8/1.html,转载请声明来源钻瓜专利网。





