[发明专利]用于创建数据库的选择性快照的系统和方法有效
申请号: | 201580079661.0 | 申请日: | 2015-11-02 |
公开(公告)号: | CN107533549B | 公开(公告)日: | 2020-09-08 |
发明(设计)人: | 埃利泽·利维;安东尼奥斯·利奥普洛斯;谢伊·高克曼;伊斯雷尔·戈尔德 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F12/1009;G06F16/2453;G06F16/23;G06F16/28 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 创建 数据库 选择性 快照 系统 方法 | ||
本发明提供一种用于创建数据库的选择性快照的系统,所述数据库存储为一个或多个段,其中一个段包括一个或多个内存页。所述系统包括:确定单元,用于确定快照进程是否用于访问所述一个或多个段中的一个选择段;分配单元,用于将正映射状态分配给被访问段,所述确定单元已经确定所述快照进程访问访问了所述被访问段,以及用于将负映射状态分配给未被访问段,所述确定单元已经确定所述快照进程访问未访问所述未被访问段;以及快照单元,用于创建快照,其中:创建所述快照包括使用地址空间分叉(fork)所述快照进程的步骤,所述地址空间包括所述一个或多个段的子集;已经分配有负映射状态的未映射段不在所述地址空间中映射。
技术领域
本发明涉及一种创建数据库的选择性快照的系统和方法,所述数据库存储为一个或多个段,其中一个段包括一个或多个内存页。
本发明还涉及一种存储程序代码的计算机可读存储介质,所述程序代码包括用于执行一种创建数据库的选择性快照的方法的指令,所述数据库存储为一个或多个段,其中一个段包括一个或多个内存页。
背景技术
一些数据库操作需要分叉(fork)快照进程以创建数据库的快照。例如,混合联机事务处理和联机分析处理(online transaction processing and online analyticalprocessing,OLTP-OLAP)数据库能够利用fork系统调用来创建快照进程,该快照进程在长期运行的查询执行期间为OLAP部分创建一致性快照。
可利用一种相似机制处理数据库中的检查点。这种检查点处理在快照进程中将一致性数据库快照刷新到永久存储中。由于快照进程依赖于快照大小和I/O速度,所以快照进程还可以是一个长期运行的进程。各种优化,诸如增量检查点处理,可应用于跟踪连续检查点之间的数据库应用状态的增量修改且只持久化增量部分。
一般而言,子进程中的快照或时间点副本是利用写时拷贝(copy-on-write,CoW)优化进行动态维护的。fork系统调用将两种进程中的共享页帧映射为只读,而且只有当一个进程修改页面时,内核才分配新的页帧,并且将页面的数据拷贝到新帧。这样产生了额外开销并导致性能降低。具体而言,在上述和相似应用中,性能关键取决于维护快照进程时的开销。
学术界一直在积极研究降低快照维护成本的问题,尤其是因写时拷贝访问产生的成本,以便提高系统的可扩展性。众所周知,迄今为止基于该研究的生产级系统还不可用。
发明内容
本发明的目的是提供一种用于创建数据库的选择性快照的系统和方法,所述数据库存储为一个或多个段,其中一个段包括一个或多个内存页,所述系统和所述方法解决了现有技术中的上述一个或多个问题。
本发明的第一方面提供一种用于创建数据库的选择性快照的系统,所述数据库存储为一个或多个段,其中一个段包括一个或多个内存页,所述系统包括:
确定单元,用于确定快照进程是否用于访问所述一个或多个段中的一个选择段,
分配单元,用于将正映射状态分配给被访问段,所述确定单元已经确定所述被访问段被所述快照进程访问,以及用于将负映射状态分配给未被访问段,所述确定单元已经确定所述未被访问段不被所述快照进程访问,
快照单元,用于创建快照,其中:创建所述快照包括使用地址空间分叉(fork)所述快照进程的步骤,所述地址空间包括所述一个或多个段的子集;已经分配有负映射状态的非映射段不在所述地址空间中映射。
所述第一方面的所述系统利用对所述快照进程访问了哪些内存子集的了解。在本发明的实施例中,通过这种了解,所述分配单元可用于仅将所需段设置为在所述快照进程中映射。当所述快照进程运行时,其发现只有所述映射段在其地址空间中映射。在其它实施例中,所述快照进程继承了父进程的所有段,但是在使用一个段运行所述快照进程时,所述快照进程可以未映射所述段。在同一时间,所述父进程中的写入仅在所述段上触发写时拷贝,所述段在那时在所述快照进程中映射。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580079661.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:通过网络个性化访问存储设备
- 下一篇:直发器