本申请涉及数据处理,尤其涉及一种基于持久化内存的高速数据处理方法、装置、设备及介质。
背景技术:
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中任一项所述的基于持久化内存的高速数据处理方法的步骤。