业务系统、内存管理方法及装置制造方法及图纸

技术编号:36841189 阅读:27 留言:0更新日期:2023-03-15 15:39
本申请提供一种业务系统、内存管理方法及装置,涉及计算机领域。本申请一方面能够均衡业务系统中各业务节点的内存负载,另一方面可以避免内存性能和成本上的损耗,提高内存资源的使用性能。该业务系统,包括多个业务节点;多个业务节点中至少一个业务节点的内存被划分为本地资源和全局资源;其中,本地资源用于为本地业务节点提供内存存储空间;至少一个业务节点中的所述全局资源构成内存池,内存池用于为多个业务节点提供内存存储空间;当一定条件满足时,本地资源中的至少一部分空间会被转入所述内存池;或者内存池中的至少一部分空间会被转入所述本地资源。被转入所述本地资源。被转入所述本地资源。

【技术实现步骤摘要】
业务系统、内存管理方法及装置
[0001]本申请要求于2021年9月11日提交国家知识产权局、申请号为202111064929.7、申请名称为“一种支持流动的分层全局内存资源池管理方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0002]本申请涉及计算机领域,尤其涉及一种业务系统、内存管理方法及装置。

技术介绍

[0003]随着高速网络和新内存技术的发展,内存资源池化逐渐发展成一种新的趋势。例如,在业务系统中,可以利用多个业务节点的内存资源构建全局内存资源池,各业务节点可以共享全局内存资源池中的内存资源。
[0004]与各业务节点独立使用各业务节点的内存资源的技术方案相比,上述构建全局内存资源池的技术方案,虽然可以均衡各业务节点内存资源的负载,但也存在一些问题。
[0005]例如,在上述构建全局内存资源池的技术方案中,为了避免各业务节点在访问全局内存资源池中的数据时发生冲突,就需要保证全局内存资源池中的被访问数据不在同一时间被两个应用访问,这就会带来内存性能和成本上的损耗。再例如,业务节点之间的通信时延会影响内存的访问速度,无法发挥出内存的性能优势。

技术实现思路

[0006]本申请提供一种业务系统、内存管理方法及装置,解决了内存性能受损的问题。
[0007]为达到上述目的,本申请采用如下技术方案:
[0008]第一方面,提供一种业务系统,该业务系统包括多个业务节点。其中,多个业务节点中至少一个业务节点的内存被划分为本地资源和全局资源。其中,本地资源用于为本地业务节点提供内存存储空间;至少一个业务节点中的全局资源构成内存池,内存池用于为多个业务节点提供内存存储空间。当一定条件满足时,本地资源中的至少一部分空间会被转入内存池;或者内存池中的至少一部分空间会被转入本地资源。其中,在实际应用中,上述内存池的名称可以根据实际需要任意设定,例如上传内存池也可称为内存资源池、全局内存资源池等等,对此本申请不做限制。
[0009]本申请上述方法中,一方面,通过构建业务系统中各业务节点均可以使用的内存池,从而均衡各业务节点的负载。另一方面,业务节点中除全局资源外还包括本地资源,各业务节点访问本地资源并不会与其他业务节点发生冲突,因此各业务节点可以通过将数据加载在本地资源中,避免与其他业务节点发生冲突,从而降低内存性能和成本的损耗。又一方面,由于各业务节点可以将数据加载在本地资源中,因此业务节点在访问本地资源时的访问速度也不会受到业务节点之间通信时延的影响。
[0010]在一种可能的设计中,该业务系统还包括:内存管理装置。其中,内存管理装置,用于调整至少一个业务节点中各业务节点的本地资源和全局资源的存储空间大小。
[0011]上述设计中,内存管理装置可以控制本地资源和全局资源的存储空间大小,从而可以使得在本地资源的需求大时将更多的内存资源分配给本地资源,在全局资源的需求大时将更多的内存资源分配给全局资源,以达到更加合理的分配内存资源、提升系统性能的效果。
[0012]在一种可能的设计中,内存管理装置,用于调整至少一个业务节点中各业务节点的本地资源和全局资源的存储空间大小,具体包括以下至少一项:内存管理装置,用于在至少一个业务节点的全局资源耗尽并且至少一个业务节点的本地资源存在空闲空间时,将至少一个业务节点的本地资源中的空闲空间转入至少一个业务节点的全局资源。或者,内存管理装置,用于在至少一个业务节点的本地资源耗尽并且至少一个业务节点的全局资源存在空闲空间时,将至少一个业务节点的全局资源中的空闲空间转入至少一个业务节点的本地资源。或者,内存管理装置,用于在至少一个业务节点的全局资源和本地资源都耗尽时,回收至少一个业务节点的内存中价值最低的内存资源,将回收的内存资源转入全局资源,或者将回收的内存资源转入本地资源。
[0013]上述设计中,通过当全局资源耗尽时将本地资源中的空闲空间转入全局资源,当本地资源耗尽时将全局资源中的空闲空间转入本地资源。从而在本地资源和全局资源之间找到资源分配的平衡点,达到更加合理的分配内存资源、提升系统性能的效果。另外,当全局资源和本地资源都耗尽时,上述设计中还可以通过回收内存中价值最低的内存资源并将回收的内存资源转入全局资源或本地资源,从而提升系统性能的效果。
[0014]在一种可能的设计中,上述内存管理装置,还用于在调整至少一个业务节点中各业务节点的本地资源和全局资源的存储空间大小时,保持至少一个业务节点中各业务节点的本地资源的存储空间不小于预设阈值。
[0015]上述设计中,考虑到业务节点在运行过程中通常还是需要将数据加载在内存的本地资源中以便本地业务节点对数据进行快速访问,因此通过使本地资源至少保有一部分内存资源,从而保证业务节点对数据进行快速访问。
[0016]在一种可能的设计中,内存管理装置还用于根据第一数据的被访问信息,从至少一个业务节点的本地资源或全局资源中,确定加载第一数据的内存资源。
[0017]其中,第一数据的被访问信息中,可以包括各种用于反映目标数据被各个业务节点访问的次数或频率的信息。
[0018]上述设计中,可以根据数据(即上述第一数据)的被访问信息,为第一数据分配合适的内存资源。例如,若根据第一数据的被访问信息,确定第一数据之前只被一个业务节点访问,则将第一数据加载至该业务节点的本地资源中,以便该业务节点在后续处理中可以快速访问该第一数据,并且避免该业务节点访问该第一数据的过程与其他业务节点发生冲突。若根据第一数据的被访问信息,确定第一数据之前被多个业务节点访问,则可以将该第一数据加载至全局资源中,以便多个业务节点在后续处理中都能够访问到该第一数据。
[0019]在一种可能的设计中,内存管理装置用于根据第一数据的被访问信息,从至少一个业务节点的本地资源或全局资源中,确定加载第一数据的内存资源,包括:内存管理装置用于若根据第一数据的被访问信息,确定第一数据曾被m个业务节点访问,则确定将第一数据加载至至少一个业务节点的全局资源中;m为大于1的正整数,m个业务节点包含于多个业务节点。
[0020]上述设计中,在确定第一数据之前被多个业务节点访问时,通过将该第一数据加载至全局资源中,以便多个业务节点在后续处理中都能够通过全局资源访问到该第一数据。
[0021]在一种可能的设计中,内存管理装置用于若根据第一数据的被访问信息,确定第一数据曾被m个业务节点访问,则确定将第一数据加载至至少一个业务节点的全局资源中,包括;内存管理装置用于若根据第一数据的被访问信息,确定第一数据曾被m个业务节点访问,则根据第一数据与m个业务节点中各业务节点的亲和性,确定将第一数据加载至至少一个业务节点的全局资源中。
[0022]通过上述设计中,可以将第一数据加载至与第一数据的亲和性更高的业务节点中的全局资源中,从而使得内存池的使用效率更高。
[0023]在一种可能的设计中,内存管理装置用于根据第一数据的被访问信息,从至少一个业务节点的本地资源或全局资源中,确本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种业务系统,其特征在于,包括多个业务节点;所述多个业务节点中至少一个业务节点的内存被划分为本地资源和全局资源;其中,所述本地资源用于为本地业务节点提供内存存储空间;所述至少一个业务节点中的所述全局资源构成内存池,所述内存池用于为所述多个业务节点提供内存存储空间;当一定条件满足时,所述本地资源中的至少一部分空间会被转入所述内存池;或者所述内存池中的至少一部分空间会被转入所述本地资源。2.根据权利要求1所述的业务系统,其特征在于,所述业务系统还包括:内存管理装置;所述内存管理装置,用于调整所述至少一个业务节点中的本地资源和全局资源的存储空间大小。3.根据权利要求2所述的业务系统,其特征在于,所述内存管理装置,具体用于在所述至少一个业务节点的全局资源耗尽并且所述至少一个业务节点的本地资源存在空闲空间时,将所述至少一个业务节点的本地资源中的空闲空间转入所述至少一个业务节点的全局资源;或者所述内存管理装置,具体用于在所述至少一个业务节点的本地资源耗尽并且所述至少一个业务节点的全局资源存在空闲空间时,将所述至少一个业务节点的全局资源中的空闲空间转入所述至少一个业务节点的本地资源;或者所述内存管理装置,具体用于在所述至少一个业务节点的全局资源和本地资源都耗尽时,回收所述至少一个业务节点的内存中价值最低的内存资源,将回收的内存资源转入全局资源,或者将回收的内存资源转入本地资源。4.根据权利要求2

3任一项所述的业务系统,其特征在于,所述内存管理装置,还用于在调整所述至少一个业务节点中各业务节点的本地资源和全局资源的存储空间大小时,保持所述至少一个业务节点中各业务节点的本地资源的存储空间不小于预设阈值。5.根据权利要求1

4任一项所述的业务系统,其特征在于,所述业务系统还包括:内存管理装置;所述内存管理装置用于根据第一数据的被访问信息,从所述至少一个业务节点的本地资源或全局资源中,确定加载所述第一数据的内存资源。6.根据权利要求5所述的业务系统,其特征在于,所述内存管理装置具体用于:若根据所述第一数据的被访问信息,确定所述第一数据曾被m个业务节点访问,则确定将所述第一数据加载至所述至少一个业务节点的全局资源中;m为大于1的正整数,所述m个业务节点包含于所述多个业务节点。7.根据权利要求6所述的业务系统,其特征在于,所述内存管理装置具体用于:若根据所述第一数据的被访问信息,确定所述第一数据曾被m个业务节点访问,则根据所述第一数据与所述m个业务节点中各业务节点的亲和性,确定将所述第一数据加载至所述至少一个业务节点的全局资源中。8.根据权利要求5所述的业务系统,其特征在于,所述内存管理装置具体用于::若根据所述第一数据的被访问信息,确定所述第一数据曾被所述至少一个业务节点访问,则确定将所述第一数据加载至所述至少一个业务节点的本地资源中。9.根据权利要求5所述的业务系统,其特征在于,所述内存管理装置具体用于:若根据所述第一数据的被访问信息,确定所述第一数据曾被m个业务节点访问,并且所
述m个业务节点中存在n个业务节点与所述第一数据的亲和性大于亲和性阈值,则确定将所述第一数据加载至所述n个业务节点的本地资源中;其中,m为大于1的正整数,n为小于等于m的正整数,所述m个业务节点包含于所述多个业务节点。10.根据权利要求5

9任一项所述的业务系统,其特征在于,所述第一数据具有访问参数,所述访问参数用于指示所述第一数据在所述多个业务节点的内存中的数据副本是否可用。11.一种内存管理方法,其特征在于,所述方法应用于业务系统,所述业务系统包括多个业务节点,所述方法包括:将所述多个业务节点中至少一个业务节点的内存划分为本地资源和全局资源;其中,所述本地资源用于为本地业务节点提供内存存储空间;所述至少一个业务节点中的所述全局资源构成内存池,所述内存池用于为所述多个业务节点提供内存存储空间;当一定条件满足时,所述本地资源中的至少一部分空间会被转入所述内存池,或者所述内存池中的至少一部分空间会被转入所述本地资源;调整所述至少一个业务节点中的本地资源和全局资源的存储空间大小。12.根据权利要求11所述的方法,其特征在于,所述调整所述至少一个业务节点中的本地资源和全局资源的存储空间大小,具体包括以下至少一项:在所述至少一个业务节点的全局资源耗尽并且所述至少一个业务节点的本地资源存在空闲空间...

【专利技术属性】
技术研发人员:任仁刘川赵玥崔文林
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1