内存存储系统的增量更新方法、装置、设备、介质和产品制造方法及图纸

技术编号:37330151 阅读:19 留言:0更新日期:2023-04-21 23:08
本发明专利技术公开了面向非易失性内存存储系统的增量更新方法、装置、设备、介质和产品,包括:根据存储粒度、操作分解、空间分配、数据恢复以及日志结构的考量因素,构建面向非易失性内存存储系统的系统架构;接着接收用户空间的上层应用程序发送的新数据,根据系统架构,对新数据执行推后操作;然后响应于新接收到的读请求,根据系统架构,采用数据聚合操作来对读请求对应的各个数据进行拼接处理,返回读请求对应的请求结果;最后根据系统架构,按照存储顺序对各个增量段进行合并操作,进而消除增量段的重叠。本发明专利技术能够减少数据写入放大和更好发挥并发性能,能够缓解存储系统在实时数据分析应用场景的性能瓶颈,可广泛应用于存储系统技术领域。术领域。术领域。

【技术实现步骤摘要】
内存存储系统的增量更新方法、装置、设备、介质和产品


[0001]本专利技术涉及存储系统
,尤其是一种内存存储系统的增量更新方法、装置、设备、介质和产品。

技术介绍

[0002]网络技术的迅速发展,大幅度改善了数据传输的带宽和延迟,促进了应用软件生态的繁荣。然而,大量的应用也对边缘服务器的存储性能提出了更高要求,包括存储空间、读写带宽、持久化存储等方面。特别是,人工智能应用中的实时数据分析任务可能会在终端用户、边缘服务器和云端之间产生密集的数据流,需要边缘服务器承担大量数据写入任务。幸运的是,非易失性内存,具有与DRAM同一数量级的性能和类似块设备的持久性存储能力,改变了传统的存储架构,为边缘服务器满足上述的更高要求提供了可能。根据边缘计算研究表明,边缘节点的任务依赖存储系统的持久化效率。更糟糕的是,在非易失性内存设备和DRAM设备之间仍然存在性能差距,尤其在写性能上。
[0003]考虑通用场景的非易失性内存存储系统如NOVA、SplitFS和Libnvmmio等,使用写时拷贝(Copy

on

Write,CoW)或日志Journaling(也称为logging)机制来更新数据,提供了较好的读取性能。然而,写时拷贝和日志机制都采用了备份数据后再修改的理念,存在重复写入数据的问题,从而限制了设备的写入性能。
[0004]现有的数据存储系统更新方案,写时拷贝机制和日志机制通过备份数据的方式实现系统意外崩溃后的数据恢复,对读取性能更加友好。而增量更新机制,则将新数据直接存到临时空间或者日志中,有效地减少即时的写入放大,但造成数据的碎片化存储,从而影响读取性能。非易失性内存有读写不对称问题,在读写比例平衡或写比例更高的写密集环境中,更需要系统软件从写入过程减少开销的角度,减少数据的写入放大。因此,在实时数据分析场景中,增量更新的方式更适用于非易失性内存,能够缓解它相对于自身读取性能的写入性能不足问题。
[0005]然而,现有的增量更新机制基于传统的存储设备而设计,采用了集中式结构和批量优化写入顺序的策略,并不能有效利用非易失性内存的特性,限制了并发写入的性能;同时,增量过多造成的碎片化存储也降低了存储系统的读取性能,传统的读取缓存策略也并不适用于非易失性内存存储系统。

技术实现思路

[0006]针对现有技术中的不足,本专利技术实施例提供一种内存存储系统的增量更新方法、装置、设备、介质和产品、装置、设备和介质,以减少数据写入放大和更好地发挥并发性能。
[0007]为实现上述目的,本专利技术可以采用如下技术方案:第一方面,本专利技术实施例提供了面向非易失性内存存储系统的增量更新方法,包括:根据存储粒度、操作分解、空间分配、数据恢复以及日志结构的考量因素,构建面
向非易失性内存存储系统的系统架构;接收用户空间的上层应用程序发送的新数据,根据所述系统架构,对所述新数据执行推后操作;响应于新接收到的读请求,根据所述系统架构,采用数据聚合操作来对所述读请求对应的各个数据进行拼接处理,返回所述读请求对应的请求结果;根据所述系统架构,按照存储顺序对各个增量段进行合并操作,进而消除增量段的重叠。
[0008]可选地,对于所述存储粒度的考量因素,构建好的所述系统架构将每个区块的增量段存储到临时空间;对于所述操作分解的考量因素,构建好的所述系统架构通过推后操作对增量段进行存储、通过合并操作将增量段进行合并、以及通过拼接操作将增量段与原始数据进行拼接;对于所述空间分配的考量因素,构建好的所述系统架构按照块粒度和段粒度进行日志维护;对于所述数据恢复的考量因素,构建好的所述系统架构实时维护一个全局日志,所述全局日志用于记录存储系统的操作过程;对于所述日志结构的考量因素,构建好的所述系统架构为每个区块维护一个对应的操作日志,每个操作日志建立有对应的索引。
[0009]可选地,所述接收用户空间的上层应用程序发送的新数据,根据所述系统架构,对所述新数据执行推后操作,包括:接收用户空间的上层应用程序发送的新数据,将所述新数据拆分为逻辑上连续的文件块;将非易失性内存中的临时存储空间划分为三个不同大小的增量段;将每个拆分得到的所述文件块存储到对应的增量段中;为每个增量段创建一个元数据条目,进而对新数据存储的增量段进行更新索引。
[0010]可选地,所述响应于新接收到的读请求,根据所述系统架构,采用数据聚合操作来对所述读请求对应的各个数据进行拼接处理,返回所述读请求对应的请求结果,包括:响应于新接收到的读请求,通过一个线程读取原始块中的数据;创建多个线程检索增量段中的数据;根据操作日志中记录的元数据顺序,将所述原始块和所述增量段中读取到的数据进行移动和拼接,得到一个完整的结果作为所述读请求对应的请求结果。
[0011]可选地,所述根据操作日志中记录的元数据顺序,将所述原始块和所述增量段中读取到的数据进行移动和拼接,得到一个完整的结果作为所述读请求对应的请求结果,包括:根据操作日志中记录的元数据顺序,使用去重叠策略检测和跳过重叠数据的方法,以顺序或反序的方向将所述原始块和所述增量段中读取到的数据进行拼接,得到一个完整的结果作为所述读请求对应的请求结果。
[0012]可选地,所述根据所述系统架构,按照存储顺序对各个增量段进行合并操作,进而消除增量段的重叠,包括:
将最近访问的当前块记录到第一个优先级列表中;当所述当前块的区段数超过预设最大数量的一半时,将所述当前块记录到第二个优先级列表中;根据所述第一优先级列表和所述第二优先级列表的操作日志,通过存储系统执行合并处理;其中,所述合并处理的执行周期根据数据的读写频率动态调整;在所述合并处理的过程中,存储系统跳过重叠增量段。
[0013]第二方面,本专利技术实施例还提供了一种面向非易失性内存存储系统的增量更新装置,包括:第一模块,用于根据存储粒度、操作分解、空间分配、数据恢复以及日志结构的考量因素,构建面向非易失性内存存储系统的系统架构;第二模块,用于接收用户空间的上层应用程序发送的新数据,根据所述系统架构,对所述新数据执行推后操作;第三模块,用于响应于新接收到的读请求,根据所述系统架构,采用数据聚合操作来对所述读请求对应的各个数据进行拼接处理,返回所述读请求对应的请求结果;第四模块,用于根据所述系统架构,按照存储顺序对各个增量段进行合并操作,进而消除增量段的重叠。
[0014]第三方面,本专利技术实施例还提供了一种电子设备,包括处理器以及存储器;所述存储器用于存储程序;所述处理器执行所述程序实现如前面所述的方法。
[0015]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
[0016]第五方面,本专利技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向非易失性内存存储系统的增量更新方法,其特征在于,包括:根据存储粒度、操作分解、空间分配、数据恢复和日志结构的考量因素,构建面向非易失性内存存储系统的系统架构;接收用户空间的上层应用程序发送的新数据,根据所述系统架构,对所述新数据执行推后操作;响应于新接收到的读请求,根据所述系统架构,采用数据聚合操作来对所述读请求对应的各个数据进行拼接处理,返回所述读请求对应的请求结果;根据所述系统架构,按照存储顺序对各个增量段进行合并操作,进而消除增量段的重叠。2.根据权利要求1所述的面向非易失性内存存储系统的增量更新方法,其特征在于,对于所述存储粒度的考量因素,构建好的所述系统架构将每个区块的增量段存储到临时空间;对于所述操作分解的考量因素,构建好的所述系统架构通过推后操作对增量段进行存储、通过合并操作将增量段进行合并、以及通过拼接操作将增量段与原始数据进行拼接;对于所述空间分配的考量因素,构建好的所述系统架构按照块粒度和段粒度进行日志维护;对于所述数据恢复的考量因素,构建好的所述系统架构实时维护一个全局日志,所述全局日志用于记录存储系统的操作过程;对于所述日志结构的考量因素,构建好的所述系统架构为每个区块维护一个对应的操作日志,每个操作日志建立有对应的索引。3.根据权利要求1所述的面向非易失性内存存储系统的增量更新方法,其特征在于,所述接收用户空间的上层应用程序发送的新数据,根据所述系统架构,对所述新数据执行推后操作,具体包括:接收用户空间的上层应用程序发送的新数据,将所述新数据拆分为逻辑上连续的文件块;将非易失性内存中的临时存储空间划分为三个不同大小的增量段;将每个拆分得到的所述文件块存储到对应的增量段中;为每个增量段创建一个元数据条目,进而对新数据存储的增量段进行更新索引。4.根据权利要求1所述的面向非易失性内存存储系统的增量更新方法,其特征在于,所述响应于新接收到的读请求,根据所述系统架构,采用数据聚合操作来对所述读请求对应的各个数据进行拼接处理,返回所述读请求对应的请求结果,具体包括:响应于新接收到的读请求,通过一个线程读取原始块中的数据;创建多个线程检索增量段中的数据;根据操作日志中记录的元数据顺序,将所述原始块和所述增量段中读取到的数据进行移动和拼接,得到一个完整的结果作为所述读请求对应的请求结果。5.根据权利要求4所述的面向非易失性内存存储系统的增量更新方法,...

【专利技术属性】
技术研发人员:汤庸陈万德袁成哲汤非易林荣华毛承洁
申请(专利权)人:人工智能与数字经济广东省实验室广州
类型:发明
国别省市:

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

1