一种事务提交的方法和装置的制造方法_4

文档序号:9865420阅读:来源:国知局

[0109]在本发明的一些实施例中,处理器61执行所述若所述外部存储器的每个组上待写入的数据块的数量均满足小于2,获取所述M个数据块中每个数据块的元数据,还包括:
[0110]获取版本号计数器的当前计数值;
[0111]将所述当前计数值赋予所述事务作为提交版本号,并将所述版本号计时器的当前计数值加I。
[0112]在本发明的一些实施例中,处理器61执行所述若所述外部存储器的每个组上待写入的数据块的数量均满足小于2包括:
[0113]获取写入所述外部存储器的写操作地址;
[0114]计算每个写操作地址所属的组的组号,若计算得到的组号不重复,则确定每个组上待写入的数据块的数量满足小于2。
[0115]在本发明的一些实施例中,处理器执行所述确定每个数据块写入的组,并将每个数据块和关联的元数据分别写入对应的组的空闲的存储单元中还包括:
[0116]将第X个数据块的指针指向第X+1个数据块所在的组的组物理地址,其中,第M个数据块的指针指向第I个数据块所在的组的组物理地址,M为整数,O < X ^M-1o
[0117]在本发明的一些实施例中,处理器61还用执行:
[0118]获取所述外部存储器的组中占用的存储单元的组物理地址和组逻辑地址,并将组物理地址和组逻辑地址进行关联后存储至动态随机访问存储器DRAM的映射表中。
[0119]在本发明的一些实施例中,处理器61还用于执行:
[0120]接收用于查询所述外部存储器中的目标数据块的查询请求,所述查询请求携带所述目标数据块的物理地址;
[0121]根据所述物理地址计算得到所述目标数据块所在的组的组号和组逻辑地址,并从所述DRAM的映射表中查询所述目标数据块所在的组的组逻辑地址关联的组物理地址;
[0122]根据所述目标数据块所在的组的组物理地址和组号定位所述外部存储器中的所述目标数据块。
[0123]在本发明的一些实施例中,其特征在于,所述事务关联的M个数据块在向所述外部存储器提交之前存储在DRAM中。
[0124]实施本发明的实施例,外部存储器划分为多个组,每个组包括I个空闲的存储单元,当需要提交事务时,判断外部存储器的每个组上待写入的数据块的数据是否满足小于2,若为是,将事务关联的多个数据块一次性写入各自对应的组的空闲的存储单元中,这样有效的减少事务提交过程中对外部存储器的刷写次数,提高了事务提交的吞吐量。
[0125]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0126]以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
【主权项】
1.一种事务提交的方法,其特征在于,包括: 接收用于向外部存储器提交事务关联的M个数据块的提交请求;其中,所述外部存储器划分为N个组,每个组包括I个空闲的存储单元,M和N为整数,O < M < N ; 若所述外部存储器的每个组上待写入的数据块的数量均满足小于2,获取所述M个数据块中每个数据块的元数据; 确定每个数据块写入的组,并将每个数据块和关联的元数据分别写入对应的组的空闲的存储单元中。2.如权利要求1所述的方法,其特征在于,所述若所述外部存储器的每个组上待写入的数据块的数量均满足小于2,获取所述M个数据块中每个数据块的元数据,还包括: 获取版本号计数器的当前计数值; 将所述当前计数值赋予所述事务作为提交版本号,并将所述版本号计时器的当前计数值加I。3.如权利要求1或2所述的方法,其特征在于,所述若所述外部存储器的每个组上待写入的数据块的数量均满足小于2包括: 获取写入所述外部存储器的写操作地址; 计算每个写操作地址所属的组的组号,若计算得到的组号不重复,则确定每个组上待写入的数据块的数量满足小于2。4.如权利要求3所述的方法,其特征在于,所述确定每个数据块写入的组,并将每个数据块和关联的元数据分别写入对应的组的空闲的存储单元中还包括: 将第X个数据块的指针指向第X+1个数据块所在的组的组物理地址,其中,第M个数据块的指针指向第I个数据块所在的组的组物理地址,M为整数,O < X ^M-105.如权利要求4所述的方法,其特征在于,还包括: 获取所述外部存储器的组中占用的存储单元的组物理地址和组逻辑地址,并将组物理地址和组逻辑地址进行关联后存储至动态随机访问存储器DRAM的映射表中。6.如权利要求5所述的方法,其特征在于,所述确定每个数据块写入的组,并将每个数据块和关联的元数据分别写入对应的组的空闲的存储单元中之后,还包括: 接收用于查询所述外部存储器中的目标数据块的查询请求,所述查询请求携带所述目标数据块的物理地址; 根据所述物理地址计算得到所述目标数据块所在的组的组号和组逻辑地址,并从所述DRAM的映射表中查询所述目标数据块所在的组的组逻辑地址关联的组物理地址; 根据所述目标数据块所在的组的组物理地址和组号定位所述外部存储器中的所述目标数据块。7.如权利要求1-6任意一项所述的方法,其特征在于,所述事务关联的M个数据块在向所述外部存储器提交之前存储在DRAM中。8.—种事务提交的装置,包括: 接收模块,用于接收用于向外部存储器提交事务关联的M个数据块的提交请求;其中,所述外部存储器划分为N个组,每个组包括I个空闲的存储单元,M和N为整数,O < M < N ; 获取模块,用于若所述外部存储器的每个组上待写入的数据块的数量均满足小于2,获取所述M个数据块中每个数据块的元数据; 写入模块,用于确定每个数据块写入的组,并将每个数据块和关联的元数据分别写入对应的组的空闲的存储单元中。9.如权利要求8所述的装置,其特征在于,所述获取模块还用于获取版本号计数器的当前计数值;将所述当前计数值赋予所述事务作为提交版本号,并将所述版本号计时器的当前计数值加I。10.如权利要求8或9所述的装置,其特征在于,所述获取模块包括: 获取单元,用于获取写入所述外部存储器的写操作地址; 确定单元,用于计算每个写操作地址所属的组的组号,若计算得到的组号不重复,则确定每个组上待写入的数据块的数量满足小于2。11.如权利要求10所述的装置,其特征在于,所述写入模块还用于将第X个数据块的指针指向第X+1个数据块所在的组的物理地址,其中,第M个数据块的指针指向第I个数据块所在的组的物理地址,M为整数,O < X ^M-1012.如权利要求11所述的装置,其特征在于,还包括: 映射模块,用于获取所述外部存储器的组中占用的存储单元的组物理地址和组逻辑地址,并将组物理地址和组逻辑地址进行关联后存储至动态随机访问存储器DRAM的映射表中。13.如权利要求12所述的装置,其特征在于,还包括: 定位模块,用于接收用于查询所述外部存储器中的目标数据块的查询请求,所述查询请求携带所述目标数据块的物理地址;根据所述物理地址计算得到所述目标数据块所在的组的组号和组逻辑地址,并从所述DRRM的映射表中查询所述目标数据块所在的组的组逻辑地址关联的组物理地址;根据所述目标数据块所在的组的组物理地址和组号定位所述外部存储器中的所述目标数据块。14.如权利要求8-13任意一项所述的装置,其特征在于,所述事务关联的M个数据块在向所述外部存储器提交之前存储在DRAM中。
【专利摘要】本发明实施例公开了一种事务提交的方法,包括:接收用于向外部存储器提交事务关联的M个数据块的提交请求;其中,所述外部存储器划分为N个组,每个组包括1个空闲的存储单元,M和N为整数,0<M≤N;若所述外部存储器的每个组上待写入的数据块的数量均满足小于2,获取所述M个数据块中每个数据块的元数据;确定每个数据块写入的组,并将每个数据块和关联的元数据分别写入对应的组的空闲的存储单元中。本发明实施例还公开了一种事务提交的装置。采用本发明,能较少数据刷写的次数,提供事务提交的吞吐量。
【IPC分类】G06F12/06
【公开号】CN105630695
【申请号】CN201410579796
【发明人】舒继武, 范捷, 王元钢
【申请人】华为技术有限公司, 清华大学
【公开日】2016年6月1日
【申请日】2014年10月25日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1