[发明专利]在混合内存系统上用来保证数据一致性的检查点方法有效
申请号: | 201710567592.9 | 申请日: | 2017-07-12 |
公开(公告)号: | CN107544859B | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 黄林鹏;沈艳艳;褚幸;黄凯欣 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F12/02 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 郭国中 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 混合 内存 系统 用来 保证 数据一致性 检查点 方法 | ||
1.一种在混合内存系统上用来保证数据一致性的检查点方法,其特征在于,包括步骤:
空间划分步骤:划分预定大小的非易失性内存空间为LOG区域;
存储LOG步骤:进行事务执行,将系统状态保存在LOG区域的LOG中;
数据恢复步骤:对系统数据和用户数据进行恢复操作;
LOG中的每个记录项的大小为4byte,数据类型为unsigned long或者long,这样一个(unsigned long,long)对的数据记录为一个原子操作;
LOG的记录项中第一项START和第二项END分别表示一个事务的起始和结束状态,一个事务代表一次完整的数据操作;
所述恢复操作包括:
步骤a、找到LOG的首地址,作为LOG的当前地址;
步骤b、从当前的LOG地址开始,依次遍历当前LOG的PID记录项,找到PID0的有效项,对于每一个有效项,判断LOG的END标志是否为1;
步骤c、对于END标志为1且START标志为1的LOG表示当前对应的PID的事务已经完成,清空LOG数据;
步骤d、对于END标志为0且START标志为1的LOG,进行恢复操作;
步骤e、对于END标志为0且START标志为0的LOG,将PID记录项置为0,供其他程序使用。
2.根据权利要求1所述的在混合内存系统上用来保证数据一致性的检查点方法,其特征在于,LOG记录对数据的操作以及对地址空间的操作,对于对数据的操作,记录(ADRESS,VALUE)数据对,对于对地址空间的操作,记录(ADRESS,SIZE)数据对。
3.根据权利要求2所述的在混合内存系统上用来保证数据一致性的检查点方法,其特征在于,(ADRESS,VALUE)数据对的记录是从低地址到高地址,(ADRESS,SIZE)数据对的记录是从高地址到低地址。
4.根据权利要求1所述的在混合内存系统上用来保证数据一致性的检查点方法,其特征在于,LOG中的记录项包括时间戳,4byte的时间戳分为两部分,前16bit代表是否为嵌套事务,后16bit代表时间戳大小,在事务结束时更新。
5.根据权利要求4所述的在混合内存系统上用来保证数据一致性的检查点方法,其特征在于,一个LOG对应使用一个持久ID,当属于某持久ID的第一事务未完成,且该持久ID的第二事务开始时,标记所述第二事务为嵌套事务,并将所述第一事务的时间戳加1。
6.根据权利要求4所述的在混合内存系统上用来保证数据一致性的检查点方法,其特征在于,嵌套事务的时间戳前16bit全为1,非嵌套事务的时间戳前16bit全为0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710567592.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种跨进程数据的同步存取方法及系统
- 下一篇:一种磁盘数据检测方法及装置