发明名称 影子内存的备份方法及装置
摘要 本发明公开了一种影子内存的备份方法,包括:当不同事务请求了相同的页面而发生冲突时,将发生冲突的所述事务在影子内存中合并,并将所述事务请求的所有页面加载到当前页链表,执行合并后的事务,执行事务完成后将所述合并后的事务提交。本发明还公开了一种影子内存的备份装置,包括冲突判定模块、合并模块、加载模块、事务执行模块,以及提交模块。本发明通过将访问页面发生冲突的事务合并为一个事务,节省了事务请求页面时发生冲突而等待的时间,保证了实时事务不会因为等待执行而过期;并且减少了加锁转移导致的页面在链表上循环次数,提高了系统的吞吐率。
申请公布号 CN101339527B 申请公布日期 2011.02.09
申请号 CN200810048590.X 申请日期 2008.07.28
申请人 华中科技大学 发明人 余鑫;张瑞
分类号 G06F11/14(2006.01)I 主分类号 G06F11/14(2006.01)I
代理机构 北京市德权律师事务所 11302 代理人 张伟
主权项 一种影子内存的备份方法,其特征在于,包括以下步骤:当一事务开始执行,向内存请求页面,并在日志管理器中写入一个节点;在当前页链表中查找所述请求的页面,如果找到,则表明所述一事务与同样请求所述页面的其它事务发生冲突,判断所述发生冲突的事务是否适合合并,如果是,则执行事务合并操作;否则继续在当前页链表中查找所述请求的页面;执行所述合并操作时,将日志管理器中所述发生冲突的事务对应的节点合并,生成新的合并节点,从而构造了一棵倒置的二叉树,该二叉树称为合并树,所述发生冲突事务所请求的页面都并入新的合并节点,并将所述事务请求的所有页面加载到当前页链表,所述合并后的事务请求页面成功后,修改该页面的标记位,对该页面执行相应操作;操作完成后,再次修改所述标记位;循环执行对所有请求的页面的操作,直到事务完成;在所述合并树中找到所述事务的最底层节点,修改该节点的事务完成标记,事务完成后,扫描该事务所属的合并树,如果属于该合并树的所有事务都完成,则利用合并树中记录的事务的ID,返回日志管理器中,将该事务操作所有涉及的页面拷贝至内存;把该事务在当前页链表中对应的页挂载到备份页链表上,等待后台的线程完成备份;删除日志管理器中的对应节点,然后删除日志管理器中对应的合并树。
地址 430074 湖北省武汉市洪山区珞瑜路1037号