CN114647383B 数据访问方法、装置、存储节点及存储介质 (重庆紫光华山智安科技有限公司)_第1页
CN114647383B 数据访问方法、装置、存储节点及存储介质 (重庆紫光华山智安科技有限公司)_第2页
CN114647383B 数据访问方法、装置、存储节点及存储介质 (重庆紫光华山智安科技有限公司)_第3页
CN114647383B 数据访问方法、装置、存储节点及存储介质 (重庆紫光华山智安科技有限公司)_第4页
CN114647383B 数据访问方法、装置、存储节点及存储介质 (重庆紫光华山智安科技有限公司)_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

元数据区和数据区,存储节点和客户端通信连2接收所述客户端发送的写数据请求,其中,所述写数据请求包括待根据所述数据长度生成用于管理所述待写数据的第一元数据,所据包括所述数据分段的个数加1后的值,所述预留元数据的位置位于所述多个数据分段中根据所述数据长度及所述待写位置,生成用于管理所述待写数根据所述数据分段的个数及每一所述数据分段在所述待写数据中的将所述预留元数据及所有所述数据分段的元数据作为所述4.如权利要求2所述的数据访问方法,其特征在于,所述元数据区包括多个元数据单管理的元数据单元的个数相同,任意两个链表中的管理节点管理的元数据单元的个数不从所述目标级别对应的链表的管理节点中确定第一待写元数据单元和第二待写元数按照每一所述数据分段在所述待写数据中的位置,依次将每一所述数据3将所述第二待写元数据单元对应的数据单元作为待若所述有效数据单元未存在于所述刷盘列表中,将所述有效数若所述无效数据单元存在于所述刷盘列表中,将所述无效数据单若所述回收列表中存在满足预设合并条件的待合并数据单元,若所述回收列表中不存在所述待合并数据单元,则将所述无效接收所述客户端发送的读数据请求,其中,所述读数据请求包括待根据所述待读位置确定所述刷盘列表中是否存在与待读数据对应4对于所述至少一个元数据单元组中任一目标元数据单元组,根据所从最后一个分片索引的目标元数据单元管理的数据单元中读取所述日志的状态,其标元数据单元管理的数据单元中的目标数据是否存在于所述若所述日志的状态为用于表征所述目标数据存在于所述数将所有日志状态为缓存状态的所述元数据单元组中元数据单元管理的数据单元中的若所述日志的状态为表征所述目标数据未存在于所述数据将所有日志状态为非缓存状态的所述元数据单元组中的元数据单元管理的数据单元生成模块,用于根据所述数据长度生成用于管理所述待写数据写数据包括多个数据分段,所述第一元数据包括每一所述数据分段的元数据及预留元数所述生成模块,还用于根据所述数据长度及所述待写位置,生成写入模块,用于将所述待写数据写入至所述处理器执行时实现如权利要求1-11中任一项所述的数5和CPU的硬件限制,向PMem中写入大于8字节的数据并持久化无法保证写操作的原子性(即如果在持久化写入数据过程中掉电,无法保证数据完整写完),所以如何保证持久化写入6[0018]从所述目标级别对应的链表的管理节点中确定第一待写元数据单元和第二待写7[0043]从最后一个分片索引的目标元数据单元管理的数据单元目标元数据单元管理的数据单元中的目标数据是否[0045]将所有日志状态为缓存状态的所述元数据单元组中元数据单元管理的数据单元[0048]将所有日志状态为非缓存状态的所述元数据单元组中的元数据单元管理的数据89总线)及字节可寻址(而非块)特性的非易失存储器。字节可寻址(byte-addressable)表示不会丢失。持久内存通常处于外存(普通硬盘或者固态硬盘)以及内存(动态随机存取存储实施例提供的数据访问方法能够适用于待写数据写入至持久内存和待写数据暂存于持久(SerialAdvancedTechnologyAttachment,SATA)硬盘等机械硬盘,也可以是固态硬盘[0088]存储器12还用于存储客户端写数据请求需要存储的用户数据及用于管理用户数数据分段的个数及每一个数据分段在待写数据中的位置等信息对待写数据过不同的标志标识待写数据是否已经成功写可接受的范围内,也可以采样其他方式计算校验数据,例如循环冗余校验CRC(Cyclic[0124]第一保留区和第二保留区大小均为4KB,分别设置于持久内存的首尾,且互为备[0128]CheckSum字段用于存放一个该元数据单元中前12B(即logid+count+index)的校元数据单元管理对应的数据单元,每一数据单元的最后一个4KB用于存储硬盘元数据和第[0135]cntmeta=cntdata=(sizepmem–sizesuper1*2)/(sizedata+sizemeta),[0140]结合图6所示的持久内存的空间划分的示例图,本发明实施例具体描述如何确定一次写入的数据的最大长度设置为256KB,数据单元的长度为4KB共包括64级链表,链表1~链表64,各链表中一个管理节点管理的元数据单元的个数分别[0142]基于图3,同时结合图6的空间划分及图7的分级链表的示例说明第一元数据写入[0145]子步骤S103-11,从目标级别对应的链表的管理节点中确定第一待写元数据单元[0155]还需要说明的是,由于第一待写元数据单元和第二待写过程本领域技术人员可以根据上述描述的分配过程不付出创造性劳动即可本发明实施例提供的待写数据的写入流程的示意图,图10中,待写数据的数据长度为写数据及存储待写数据的数据单元加入至刷盘列表中,当刷盘列表中的数据刷入硬盘后,移endOffset可以确定其中的有效数据和无效数据,有效数据对应的数据单元为有效数据[0166]在此种情况下,需要比较login和logcmp的版本号,如果login的版本号小于情况1.1的有效数据和无效数据的示意图如图12([0169]在此种情况下,需要比较login和logcmp的版本号,如果login的版本号小于[0171]在此种情况下,需要比较login和logcmp的版本号,如果login的版本号小于的有效数据和无效数据的示意图如图12([0174]在此种情况下,需要比较login和logcmp的版本号,如果login的版本号小于logcmp的开始偏移以指示logcmp的有效数据。情况2.1的有效数据和无[0176]在此种情况下,需要比较login和logcmp的版本号,如果login的版本号小于logcmp的版本号,则说明整个login中的数据是无效数据,整个logcmp中的数据是有效数[0178]在此种情况下,需要比较login和logcmp的版本号,如果login的版本号小于[0181]在此种情况下,需要比较login和logcmp的版本号,如果login的版本号小于[0183]在此种情况下,需要比较login和logcmp的版本号,如果login的版本号小于[0185]在此种情况下,需要比较login和logcmp的版本号,如果login的版本号小于收列表进行回收的过程实际上是将回收列表中的数据单元对应的元数据单元插入至等级节(日志标识字段),完成后再持久化元数据单元的后8个字节(count字段、index字段和据单元中的count字段和index字段得到,由此可以将元数据单元按照index字段的值进行[0219]其次,从最后一个分片索引的目标元数据单元管理的数据单元中读取日志的状数据单元管理的数据单元中的目标数据是否存在[0225]将所有日志状态为非缓存状态的元数据单元组中的元数据单元管理的数据单元预留元数据包括数据分段的个数加1后的值;将预留元数据及所有数据分段的元数据作为[0235]写入模块130,用于将待写数据写入至数据区之后,将第一元数据写入至元数据数据分段写入至与每一目标元数据单元对应的数据单元,写入模块130用于将第二元数据数据单元组中元数据单元管理的数据单元中的数据刷入硬盘,最终将待下盘数据写入硬

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论