一种实现数据内容局部性读写优化的存储系统管理系统技术方案

技术编号:22166581 阅读:29 留言:0更新日期:2019-09-21 10:26
本发明专利技术涉及一种实现数据内容局部性读写优化的存储系统管理系统,其特征在于:在传统的数据时空局部性的基础上,提出了“内容局部性”这一思路,并提供了一种将可标签化数据聚类存储的文件系统中间层设计方案,通过数据分析模块与用户对接,捕捉数据标签信息,并通过后端接口模块与底层并行或分布式存储系统API对接,实现按标签的聚类存储,从而将后续满足内容局部性的数据访问模式转化为空间局部性。本发明专利技术:1)显著提升了标签化数据访问的性能。2)优化了标签化数据访问的顺序性。3)不破坏原有的结构化数据格式,确保了数据的正确性。

A Storage System Management System for Optimizing Local Reading and Writing of Data Content

【技术实现步骤摘要】
一种实现数据内容局部性读写优化的存储系统管理系统
本专利技术涉及一种对大规模结构化数据的存储管理方案,尤其涉及一种实现数据内容局部性读写优化的存储系统管理系统。
技术介绍
随着大数据时代的到来,计算机系统前端信息收集和计算处理的能力大大提升,能在更短的时间内生成体量更大的数据文件,为后方的存储系统带来了巨大压力,使得文件系统输入/输出(Input/Output,I/O)成为了限制计算机系统性能的重要瓶颈之一。传统的文件存储系统提升性能的方式之一是挖掘数据访问的局部性。数据的局部性可分为如下两种:1.时间局部性(TemporalLocality):在一段时间内,应用对于文件同一位置数据往往会连续多次访问,例如多次读写某一计算结果;2.空间局部性(SpatialLocality):访问文件某一位置数据后,应用往往会继续访问该位置存储空间附近的相关数据,例如顺序读取一串数组;通过磁盘到内存的数据缓存机制,在用户应用访问文件某一位置后预取附近的一段数据到内存,可以显著减少文件访问请求实际到达磁盘的次数,从而提升与存储系统交互的性能。科学计算应用中,不同的应用有其特定的结构化数据文件格式,例如机器人操作系统ROS中使用的Bag文件(.bag)和生物分子动力学可视化软件VMD中使用的Xtc文件(.xtc)等。数据文件中包含大量的数据条目,它们可以根据一定的特征而聚类,例如按照数据来源区分(如红外传感器、位置传感器等),或是按照数据属性区分(如水分子、蛋白质分子等);这类特征就称为数据条目的“标签”。可以预见,用户在数据的提取和分析时,需要在同一时间段内,访问和处理某几类相关的特定标签的数据。此时,若数据条目是依据标签而聚类存储的,那么其时空局部性才能发挥作用。然而,随着前端采集的数据量不断扩大,它们往往采用日志型写入的方式,将多种标签混杂的数据以单纯的时间顺序汇聚成数据文件。受限于这种针对写入过程的存储优化方式,当前大部分结构化数据文件格式中,不同标签类别的数据条目往往并不聚类在一起,而是以时间顺序复杂交错在一起,从而使得用户的后续数据访问不再满足时空局部性的特征。在这种情况下,基于时空局部性假设的传统文件系统,不仅无法通过缓存机制带来性能的提升,反而引入了大量无用的数据预取,严重拖累了存储环节的性能。另外,这样的频繁、小量、随机的数据访问模式,更是对现有的存储硬件不友好(对机械硬盘尤甚),带来I/O延时高、带宽小、磁头频繁寻址易坏等劣势。
技术实现思路
本专利技术的目的是提供一种基于内容局部性的存储系统的管理系统。为了达到上述目的,本专利技术的技术方案是提供了一种实现数据内容局部性读写优化的存储系统管理系统,位于将可标签化数据聚类存储的文件系统中间层,用于将满足内容局部性的数据访问模式转化为空间局部性,内容局部性即指用户应用对于某一标签内容的数据进行访问后,有继续访问相同或相关内容的数据的趋势,其特征在于,所述管理系统包括与用户程序对接的数据分析模块、与底层并行存储系统对接的后端接口模块及对底层存储系统透明、对用户应用程序半透明的虚拟文件系统中间层;数据分析模块用于捕捉用户向文件系统写入标签化数据文件的请求,而后解析标签化数据文件中的数据记录,顺序提取每一条需写入的数据记录的标签类别Topic,同时获取数据在原始标签化数据文件中的偏移量Offset;后端接口模块实现对后端并行或分布式存储系统的接口调用,用于将经过虚拟文件系统中间层处理的数据以符合选定的后端文件系统的方式真正写入存储硬件中去;虚拟文件系统中间层处以用户态库的方式实现,对上与用户程序对接,包装了默认的POSIX读取和写入的系统调用函数,对下则与后端存储系统对接;用户的写入请求均由数据分析模块捕捉,提取得到的数据记录及其标签类别Topic和偏移量Offset交由虚拟文件系统中间层处理,虚拟文件系统中间层将同一标签类别Topic的数据聚类存入同一子数据文件,并同时将每条记录在原始标签化数据文件中的偏移量Offset和其在子数据文件中的偏移量一一对应成表,保存入相伴的子索引文件中;用户对于特定标签类别Topic的数据的读取请求通过虚拟文件系统中间层提供的函数接口实现,直接读取后端中对应的子数据文件。优选地,所述数据分析模块将所述标签化数据文件中没有明确分类的元数据视作一类特殊的标签类别Topic。优选地,所述虚拟文件系统中间层包括了一套文件系统中间层的可扩展性方案,通过统一所述数据分析模块对所述虚拟文件系统中间层的接口,及所述虚拟文件系统中间层对所述后端接口模块的接口的标准,使得针对不同的用户应用程序和不同的后端存储系统,仅需提供对应的所述数据分析模块与所述后端接口模块,即可插拔地链接对应的所述数据分析模块与所述后端接口模块,实现兼容和扩展。优选地,对于用户向标签化数据文件的普通读取请求和文件遍历操作,通过子索引文件中保存的索引表进行翻译和合并操作,能够提供给用户一种幻象,即该文件仍按照原始的结构保存,从而不影响用户程序的算法可能要求的原始存储结构逻辑。本专利技术在传统的时空局部性的基础上,提出了“内容局部性”这一思路。所谓数据访问的内容局部性(ContentLocality),即指用户应用对于某一标签内容的数据进行访问后,有继续访问相同或相关内容的数据的趋势。内容局部性是现今大数据环境下,在结构化、标签化数据中出现的数据访问模式,是对传统的时空局部性的拓展延伸。本专利技术有如下有益效果:1)显著提升了标签化数据访问的性能。通过对数据存储结构的重组,将用户数据访问的内容局部性特征转化为空间局部性,调和了大规模标签化数据读写和传统时空局部性缓存机制之间的矛盾。以机器人操作系统ROS中的数据消息Bag文件为例,本方案提高文件打开效率至原始API的5倍;在文件的读取操作中将相关消息记录的读取引导为整段数据的读取,使传统的数据缓存机制发挥作用,读延时降低15%。2)优化了标签化数据访问的顺序性。对于相关标签的数据读取和收集,由原先的交错、随机的访问模式转变为顺序化、成块化的访问模式,从而更大程度地发挥了物理存储硬件,尤其是HDD机械硬盘的工作性能,并减小故障几率。3)确保了数据的正确性。本专利技术只会对数据记录进行分类和整理,且以用户态中间层的形式实现,一方面不介入底层使用的成熟的并行或分布式存储系统的工作流程,后端存储仍发挥着其并行化读写、一致性冗余、故障恢复等功能,保障了数据的正确性;另一方面不打破用户程序对数据格式的要求,仍能提供给用户原始格式的文件形式。附图说明图1为本专利技术的结构流程图。具体实施方式下面结合具体实施例,进一步阐述本专利技术。应理解,这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围。此外应理解,在阅读了本专利技术讲授的内容之后,本领域技术人员可以对本专利技术作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。本专利技术提供了一种将可标签化数据聚类存储的文件系统中间层设计方案,将满足内容局部性的数据访问模式转化为空间局部性。具体而言,本专利技术提供的一种实现数据内容局部性读写优化的存储系统管理系统包括:与用户程序对接的数据分析模块。该数据分析模块能够捕捉用户向文件系统写入标签化数据文件的请求,而后解析标签化数据文件中的数据记录,顺序提取每一条需写入的数据本文档来自技高网
...

【技术保护点】
1.一种实现数据内容局部性读写优化的存储系统管理系统,位于将可标签化数据聚类存储的文件系统中间层,用于将满足内容局部性的数据访问模式转化为空间局部性,内容局部性即指用户应用对于某一标签内容的数据进行访问后,有继续访问相同或相关内容的数据的趋势,其特征在于,所述管理系统包括与用户程序对接的数据分析模块、与底层并行存储系统对接的后端接口模块及对底层存储系统透明、对用户应用程序半透明的虚拟文件系统中间层;数据分析模块用于捕捉用户向文件系统写入标签化数据文件的请求,而后解析标签化数据文件中的数据记录,顺序提取每一条需写入的数据记录的标签类别Topic,同时获取数据在原始标签化数据文件中的偏移量Offset;后端接口模块实现对后端并行或分布式存储系统的接口调用,用于将经过虚拟文件系统中间层处理的数据以符合选定的后端文件系统的方式真正写入存储硬件中去;虚拟文件系统中间层处以用户态库的方式实现,对上与用户程序对接,包装了默认的POSIX读取和写入的系统调用函数,对下则与后端存储系统对接;用户的写入请求均由数据分析模块捕捉,提取得到的数据记录及其标签类别Topic和偏移量Offset交由虚拟文件系统中间层处理,虚拟文件系统中间层将同一标签类别Topic的数据聚类存入同一子数据文件,并同时将每条记录在原始标签化数据文件中的偏移量Offset和其在子数据文件中的偏移量一一对应成表,保存入相伴的子索引文件中;用户对于特定标签类别Topic的数据的读取请求通过虚拟文件系统中间层提供的函数接口实现,直接读取后端中对应的子数据文件。...

【技术特征摘要】
1.一种实现数据内容局部性读写优化的存储系统管理系统,位于将可标签化数据聚类存储的文件系统中间层,用于将满足内容局部性的数据访问模式转化为空间局部性,内容局部性即指用户应用对于某一标签内容的数据进行访问后,有继续访问相同或相关内容的数据的趋势,其特征在于,所述管理系统包括与用户程序对接的数据分析模块、与底层并行存储系统对接的后端接口模块及对底层存储系统透明、对用户应用程序半透明的虚拟文件系统中间层;数据分析模块用于捕捉用户向文件系统写入标签化数据文件的请求,而后解析标签化数据文件中的数据记录,顺序提取每一条需写入的数据记录的标签类别Topic,同时获取数据在原始标签化数据文件中的偏移量Offset;后端接口模块实现对后端并行或分布式存储系统的接口调用,用于将经过虚拟文件系统中间层处理的数据以符合选定的后端文件系统的方式真正写入存储硬件中去;虚拟文件系统中间层处以用户态库的方式实现,对上与用户程序对接,包装了默认的POSIX读取和写入的系统调用函数,对下则与后端存储系统对接;用户的写入请求均由数据分析模块捕捉,提取得到的数据记录及其标签类别Topic和偏移量Offset交由虚拟文件系统中间层处理,虚拟文件系统中间层将同一标签类别Topic的数据聚类存入同一子数据文件,并同时将每条记录在原始标签化...

【专利技术属性】
技术研发人员:殷树胡冠洲
申请(专利权)人:上海科技大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1