一种内存池的操作方法以及装置与流程

文档序号:36526389发布日期:2023-12-29 20:29阅读:15来源:国知局
一种内存池的操作方法以及装置与流程

本技术实施例涉及云存储领域,尤其涉及一种内存池的操作方法以及装置。


背景技术:

1、随着云服务技术的发展,在云服务器上运行的各种应用的数据都是存储在后端的数据库中,运行各种应用的云服务器也称作应用服务器。由于数据库内使用磁盘存储数据,其数据传输性能难以满足前端应用的需求。为了解决数据传输性能的问题,应用提供商会购买云厂商提供内存存储服务,即应用服务器将数据库中的数据存储在内存池中来提升数据传输性能。

2、目前的内存存储服务的系统架构中,内存存储服务由多个服务器组成内存池提供,内存池中的每个服务器都包括中央处理器cpu和存储器。在内存池提供内存储存服务的过程中,当内存池中的云服务器接收来到自应用服务器通过远程过程调用(remoteprocedure call,rpc)发送的数据传输请求之后,由内存池中相应服务器的cpu处理该数据传输请求,处理数据传输请求的过程包括对数据接收解包、处理和打包发送。

3、由于目前内存池中云服务器的cpu需要排队处理多种来自应用服务器的数据传输请求,从而导致应用服务器与内存池之间的数据传输性能差。此外,内存池中服务器的cpu成本占比高,导致目前内存存储服务的成本高。


技术实现思路

1、本技术实施例提供了一种内存池的操作方法以及装置,用于提升内存池的数据传输性能。

2、本技术实施例第一方面提供了一种内存池的操作方法,应用于分布式内存存储系统,分布式存储系统包括客户端和内存池,客户端部署在应用服务器,应用服务器与内存池分离。第一方面提供的内存池操作方法包括:客户端调用第一接口生成第一操作请求,第一接口包括算法逻辑对应的一个或多个应用程序接口api,算法逻辑用于将应用服务器发送的操作请求转换为对内存池的操作。客户端向内存池发送第一操作请求,以使得内存池根据第一操作请求执行以下一项或多项操作:远程直接内存访问rdma操作、内存分配与释放操作和卸载操作。

3、本技术实施例中内存存储系统的客户端与内存池分离部署,客户端能够通过调用算法逻辑对应的第一接口实现对内存池的远程数据直接读取rdma操作,从而降低了应用服务器对内存池中数据访问时延,提升了应用服务器与内存池之间的数据传输性能。同时,内存池中无需增加中央处理器对数据进行处理,从而降低了内存池的成本。

4、一种可能的实施方式中,算法逻辑包括一项或多项算法逻辑:数据结构算法逻辑、缓存替换算法逻辑、多副本算法逻辑、纠删码算法逻辑和事务算法逻辑等。其中数据结构算法逻辑包括对数据结构以及数据结构中存储数据的查询、插入、更新、删除、扫描和修改等操作逻辑,数据结构包括哈希表、树结构、链表、有序集和跳表等。缓存替换算法逻辑包括最少最近使用lru算法逻辑、最不经常使用lfu算法逻辑和先入先出算法逻辑。多副本算法逻辑包括最终一致性算法逻辑和可串行一致性算法逻辑。

5、本技术实施例中客户端能够调用多种第一接口实现多种不同的算法逻辑,从而生成多种第一操作请求,提升了生成第一操作请求的可实现性。同时,基于客户端与内存池分离的架构,多种算法逻辑在应用服务器侧单边实现,无需在内存池增加强算力的中央处理器,降低了内存池的成本。

6、一种可能的实施方式中,客户端调用第一接口生成第一操作请求之前,客户端通过第二接口接收应用服务器中应用程序发送的第二操作请求,第二操作请求用于指示分布式内存存储系统执行以下一项或多项操作:查询操作、插入操作、删除操作、扫描操作和更新操作。客户端调用第一接口生成第一操作请求的过程中,客户端根据第二操作请求调用第一接口生成第一操作请求。

7、本技术实施例中应用服务器中的应用程序通过第二接口发送第二操作请求,并根据第二操作请求调用相应的第一接口生成第一操作请求,从而实现对内存池的rdma操作、内存分配和释放操作以及计算任务卸载操作,提升了应用服务器与内存池之间的数据传输性能,降低了内存存储服务的成本。

8、一种可能的实施方式中,第二接口包括以下一项或多项接口:远程字典服务redis应用程序接口api、缓存memcached api和键值存储key-value-store api。

9、本技术实施例中分布式内存存储服务可以通过多种第二接口实现,从而提升了内存存储服务的可实现性。

10、一种可能的实施方式中,第一操作请求为内存池访问请求,客户端根据内存池访问请求执行对内存池的远程数据直接存取rdma操作。

11、本技术实施例中应用服务器侧的客户端通过rdma操作读写内存池中的数据,从而降低了应用服务器与内存池之间的数据传输时延,提升了内存存储服务的数据传输性能。

12、一种可能的实施方式中,第一操作请求为内存分配或释放请求,分布式内存存储系统根据内存分配或释放请求执行对内存池的内存分配和释放操作。

13、本技术实施例中应用服务器侧的客户端通过内存分配或释放操作请求实时按需分配或释放内存池的内存地址,增加了内存池中内存资源的使用弹性。

14、一种可能的实施方式中,内存池包括数据处理单元dpu,第一请求为卸载操作请求,分布式内存存储系统根据卸载操作请求执行卸载操作,卸载操作用于将应用服务器的计算任务卸载至内存池的dpu执行。

15、本技术实施例中应用服务器可以将计算任务卸载至内存中的数据处理单元执行,从提了应用服务器对于计算任务的处理效率。

16、一种可能的实施方式中,分布式内存缓存系统提供内存存储服务的订购界面,订购界面包括按需计费模式,按需计费模式包括按使用时间计费和按使用空间计费。

17、本技术实施例中内存存储服务通过用户不感知服务器serverless化的按需计费模式进行售卖,用户能够基于使用时间和使用空间按需购买,相较于用户预先购买内存池中的存储空间的方式,提升了内存缓存服务的灵活性。

18、本技术实施例第二方面提供了一种内存池的操作装置,该内存池的操作装置包括收发单元和处理单元。其中,处理单元用于调用第一接口生成第一操作请求,第一接口包括算法逻辑对应的一个或多个应用程序接口api,算法逻辑用于将应用服务器发送的操作请求转换为对内存池的操作。收发单元,用于向内存池发送第一操作请求,以使得内存池根据第一操作请求执行以下一项或多项操作:远程直接内存访问rdma操作、内存分配与释放操作和卸载操作。

19、一种可能的实施方式中,算法逻辑包括一项或多项算法逻辑:数据结构算法逻辑、缓存替换算法逻辑、多副本算法逻辑、纠删码算法逻辑和事务算法逻辑等。

20、一种可能的实施方式中,处理单元还用于通过第二接口接收应用服务器中应用程序发送的第二操作请求,第二操作请求用于指示分布式内存存储系统执行以下一项或多项操作:查询操作、插入操作、删除操作和更新操作。处理单元具体用于根据第二操作请求调用第一接口生成第一操作请求。

21、一种可能的实施方式中,第二接口包括以下一项或多项接口:远程字典服务redis应用程序接口api、缓存memcached api和键值存储key-value-store api。

22、一种可能的实施方式中,第一操作请求为内存池访问请求,处理单元具体用于根据内存池访问请求执行对内存池的远程数据直接存取rdma操作。

23、一种可能的实施方式中,第一操作请求为内存分配或释放请求,处理单元用于根据内存分配或释放请求执行对内存池的内存分配和释放操作。

24、一种可能的实施方式中,内存池包括数据处理单元dpu,第一请求为卸载操作请求,处理单元具体用于根据卸载操作请求执行卸载操作,卸载操作用于将应用服务器的计算任务卸载至dpu执行。

25、一种可能的实施方式中,收发单元具体用于提供内存存储服务的订购界面,订购界面包括按需计费模式,按需计费模式包括按使用时间计费和按使用空间计费。

26、本技术实施例第三方面提供了一种计算机设备集群,包括至少一个计算设备,每个计算设备包括处理器,至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群执行上述第一方面或第一方面任意一种可能的实施方式所述的方法。

27、本技术实施例第四方面提供了一种计算机可读存储介质,其上存储有指令,指令被执行时,以使得计算机执行上述第一方面或第一方面任意一种可能的实施方式所述的方法。

28、本技术实施例第五方面提供了一种计算机程序产品,计算机程序产品中包括指令,指令被执行时,以使得计算机实现上述第一方面或第一方面任意一种可能的实施方式所述的方法。

29、可以理解,上述提供的任意一种计算机设备集群、计算机可读介质或计算机程序产品等所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1