基于持久化内存的高速数据处理方法、装置、设备及介质与流程

文档序号:37543734发布日期:2024-04-08 13:45阅读:10来源:国知局
基于持久化内存的高速数据处理方法、装置、设备及介质与流程

本申请涉及数据处理,尤其涉及一种基于持久化内存的高速数据处理方法、装置、设备及介质。


背景技术:

1、目前在极速型固态盘块存储产品设计中,来自计算集群的云主机数据首先通过hash找到或分配到对应的块节点(blocknode)中,然后数据会被缓存到不同的page。接下来,系统需要进行执行两次写操作,一次将业务数据写入固态盘对应的数据区;另一次是将元数据(metadata)以log方式追加(wappend)写入固态盘中。

2、目前这种情况有三个问题:

3、1、这一过程需要对固态盘执行两次写操作。基于nand闪存构建的固态盘写入时延通常为数十微秒,因此两次写入过程就会带来数十乃至近百微秒的时延。这会制约极速型块存储的整体性能。

4、2、nand固态盘数据写入需要以块为单位,且写入前需要做擦除操作等特性,一方面会带来写入效率的降低,另一方面也降低了其使用寿命。

5、3、文件系统接收的用户数据往往不能严格保证以固定大小对齐,为了简化上层软件设计,并且充分利用存储空间,存储系统允许用户以任意byte更新数据,自身却使用对齐的io来读写存储硬件,这种访问方式会带来巨大的性能浪费。

6、因此,如何提高数据存储业务的性能成为亟待解决的技术问题。


技术实现思路

1、本申请提供了一种基于持久化内存的高速数据处理方法、装置、设备及存储介质,旨在提高数据存储业务的性能。

2、第一方面,本申请提供一种基于持久化内存的高速数据处理方法,所述方法包括:

3、在接收到服务器端的集群数据之后,基于动态内存中的至少一个内存页,分区缓存所述集群数据,获得内存页数据;

4、基于持久内存,缓存各所述内存页对应的所述内存页数据,并对各所述内存页数据进行io合并对齐,获得对齐数据;

5、在完成所述内存页数据的io合并对齐之后,将对齐后的所述对齐数据下刷至固态盘,以通过所述固态盘存储所述对齐数据;

6、获取各io请求对应的io数据类型、io数据量以及各所述io请求在预设周期内的被访问频次;

7、基于各所述io请求对应的io数据类型,确定各所述io请求对应的io数据量阈值,以及各所述io请求对应的频次阈值;

8、在当前io请求的io数据量小于所述io数据量阈值,且所述被访问频次小于所述频次阈值,则删除所述持久内存中缓存的所述当前io请求对应的所述集群数据。

9、第二方面,本申请还提供一种基于持久化内存的高速数据处理装置,所述基于持久化内存的高速数据处理装置包括:

10、内存页缓存模块,用于在接收到服务器端的集群数据之后,基于动态内存中的至少一个内存页,分区缓存所述集群数据,获得内存页数据;

11、持久内存缓存模块,用于基于持久内存,缓存各所述内存页对应的所述内存页数据,并对各所述内存页数据进行io合并对齐,获得对齐数据;

12、固态盘存储模块,用于在完成所述内存页数据的io合并对齐之后,将对齐后的所述对齐数据下刷至固态盘,以通过所述固态盘存储所述对齐数据。

13、第三方面,本申请还提供一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上述的基于持久化内存的高速数据处理方法的步骤。

14、第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上述的基于持久化内存的高速数据处理方法的步骤。

15、本申请提供一种基于持久化内存的高速数据处理方法、装置、设备及存储介质,本申请方法包括在接收到服务器端的集群数据之后,基于动态内存中的至少一个内存页,分区缓存所述集群数据,获得内存页数据;基于持久内存,缓存各所述内存页对应的所述内存页数据,并对各所述内存页数据进行io合并对齐,获得对齐数据;在完成所述内存页数据的io合并对齐之后,将对齐后的所述对齐数据下刷至固态盘,以通过所述固态盘存储所述对齐数据。通过上述方式,本申请通过动态内存中的内存页,分区缓存集群数据,再利用持久内存断电不丢失数据的特性,将dram中的data、metadata先存储到持久内存中。通过io对齐策略,在持久内存中将非对齐的数据暂时存入pagecache中,对数据进行待数据量达到基本对齐大小后,在后台将数据一次性下刷到固态盘上。从而提升io带宽,降低io延迟,延长设备寿命,进而提高数据存储业务的性能。



技术特征:

1.一种基于持久化内存的高速数据处理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于持久化内存的高速数据处理方法,其特征在于,所述在接收到服务器端的集群数据之后,基于动态内存中的至少一个内存页,分区缓存所述集群数据,获得内存页数据之后,还包括:

3.根据权利要求1所述的基于持久化内存的高速数据处理方法,其特征在于,所述在接收到服务器端的集群数据之后,基于动态内存中的至少一个内存页,分区缓存所述集群数据,获得内存页数据之后,还包括:

4.根据权利要求3所述的基于持久化内存的高速数据处理方法,其特征在于,所述基于数据存储队列,存储所述当前内存页对应的所述页面号,包括:

5.根据权利要求1所述的基于持久化内存的高速数据处理方法,其特征在于,所述在接收到服务器端的集群数据之后,还包括:

6.根据权利要求1所述的基于持久化内存的高速数据处理方法,其特征在于,所述基于持久内存,缓存各所述内存页对应的所述内存页数据,并对各所述内存页数据进行io合并对齐,获得对齐数据,包括:

7.根据权利要求1所述的基于持久化内存的高速数据处理方法,其特征在于,所述方法还包括:

8.一种基于持久化内存的高速数据处理装置,其特征在于,所述基于持久化内存的高速数据处理装置包括:

9.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如权利要求1至7中任一项所述的基于持久化内存的高速数据处理方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的基于持久化内存的高速数据处理方法的步骤。


技术总结
本申请提供一种基于持久化内存的高速数据处理方法、装置、设备及介质,该方法利用持久化内存断电不丢失数据的特性,将DRAM中的data、metadata先存储到持久内存中,通过IO对齐策略,将非对齐的数据暂时存入持久化内存定义的Page Cache中,待数据量大小基本对齐后,在后台将数据一次性下刷到固态盘上。采用plug list合并进程内产生的IO,采用elevator queue承担进程间IO合并,提升IO带宽,降低IO延迟,延长设备寿命。在持久化内存上实施缓存淘汰策略,根据数据访问的频次,针对不同的业务类型,设定不同的IO大小阈值,通过IO大小及使用频次,提升各种业务场景下的缓存命中率。使用PMDK用内存映射方式访问持久内存,绕过驱动程序、系统调用、中断和上下文切换,提升应用访问性能。

技术研发人员:吴文峰,肖露,高磊,张维杰
受保护的技术使用者:天翼云科技有限公司
技术研发日:
技术公布日:2024/4/7
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1