一种集群中数据的缓存方法、系统及存储管理软件与流程

专利查询1月前  19



1.本发明涉及数据存储技术领域,尤其是一种集群中数据的缓存方法、系统及存储管理软件。


背景技术:

2.browser/server(浏览器/服务器模式,又称b/s架构)结构利用不断成熟的web浏览器技术,实现原来需要专用软件才能实现的强大功能,节约了开发成本。
3.现有的存储管理软件基于b/s架构,实现了存储系统的界面化管理,用户能够通过界面操作实现存储的资源管理,并能够通过管理软件界面直观的查看存储信息并进行相关操作。面对越来越多的存储信息,尤其是大规模集群下的硬件信息获取,给管理软件带来了很大的压力,不少信息的获取耗时很长,用户等待时间直接造成了用户体验的不友好。
4.解决此类问题的通用办法是对查询耗时长的信息进行缓存,界面查询数据不再直接调用接口,而是从缓存数据库或者缓存文件直接读取。但是此方法过于单一,仅仅是为了实现获取数据的时间要求,但是不同用户,甚至不同的存储系统的缓存要求却未必一样,简单粗暴的缓存有可能也会造成资源的浪费。


技术实现要素:

5.本发明提供了一种集群中数据的缓存方法、系统及存储管理软件,用于解决现有缓存方式单一,造成资源浪费的问题。
6.为实现上述目的,本发明采用下述技术方案:
7.本发明第一方面提供了一种集群中数据的缓存方法,所述缓存方法包括以下步骤:
8.s1,获取集群中各节点的运行信息,基于所述运行信息计算各节点的运行压力;
9.s2,选取所述运行压力最小的节点作为数据缓存节点;
10.s3,根据用户查询数据的次数及接口的响应时间,调整需要缓存的数据。
11.进一步地,所述运行信息包括若干影响因素,具体为cpu利用率、内存利用率、磁盘利用率和节点的业务压力。
12.进一步地,所述基于所述运行信息计算各节点的运行压力的具体过程为:
13.为所述运行信息中的每个影响因素分配权重值;
14.将运行信息中各影响因素的加权值作为运行压力。
15.进一步地,所述根据用户查询数据的次数及接口的响应时间,调整需要缓存的数据的具体过程为:
16.计算用户查询数据的次数与对应响应时间的乘积,并取所有接口所述乘积的均值,作为缓存需求值;
17.计算所述运行压力与所述缓存需求值的比值,将所述乘积中大于所述比值的数据进行缓存。
18.进一步地,当集群中节点的数量发生变更时,重复执行所述步骤s1-步骤s3的操作。
19.进一步地,所述方法在调整需要缓存的数据之后,还包括步骤:
20.同步缓存数据推送至主节点。
21.本发明第二方面提供了一种集群中数据的缓存系统,所述系统包括:
22.信息采集单元,用于获取集群中各节点的运行信息,基于所述运行信息计算各节点的运行压力;
23.节点选取单元,选取所述运行压力最小的节点作为数据缓存节点;
24.数据调整单元,根据用户查询数据的次数及接口的响应时间,调整需要缓存的数据。
25.进一步地,所述数据调整单元包括:
26.计算子单元,用于计算用户查询数据的次数与对应响应时间的乘积,并取所有接口所述乘积的均值,作为缓存需求值;
27.比对子单元,用于计算所述运行压力与所述缓存需求值的比值,将所述乘积中大于所述比值的数据进行缓存。
28.本发明第三方面提供了一种存储管理软件,所述存储管理软件部署在集群中的各节点上,所述存储管理软件中设有所述的缓存系统。
29.本发明第四方面提供了一种计算机存储介质,所述计算机存储介质中存储有计算机指令,所述计算机指令在所述缓存系统上运行时,使所述缓存系统执行所述缓存方法的步骤。
30.本发明第二方面的所述集群中数据的缓存系统能够实现第一方面及第一方面的各实现方式中的方法,并取得相同的效果。
31.发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
32.本发明通过对集群中个节点的运行压力进行分析,将运行压力最小的节点作为缓存节点,提高数据的缓存效率,另外通过用户对数据的查询次数和接口的响应时间,对需要进行缓存的数据进行调整,在不影响用户体验的前提下,做到资源的节约与合理利用,增强存储系统的鲁棒性。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1是本发明所述方法实施例的流程示意图;
35.图2是本发明所述系统实施例的结构示意图。
具体实施方式
36.为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结
构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
37.如图1所示,本发明实施例提供了一种集群中数据的缓存方法,其特征是,所述缓存方法包括以下步骤:
38.s1,获取集群中各节点的运行信息,基于所述运行信息计算各节点的运行压力;
39.s2,选取所述运行压力最小的节点作为数据缓存节点;
40.s3,根据用户查询数据的次数及接口的响应时间,调整需要缓存的数据。
41.步骤s1中,所述运行信息包括若干影响因素,具体为cpu利用率c1、内存利用率m1、磁盘利用率d1和节点的业务压力p1。
42.所述基于所述运行信息计算各节点的运行压力的具体过程为:
43.为所述运行信息中的每个影响因素分配权重值;其中cpu利用率、内存利用率、磁盘利用率和业务压力的权重值分别为c2、m2、d2和p2。
44.将运行信息中各影响因素的加权值作为运行压力a,则a=c1*c2+m1*m2+d1*d2+p1*p2。
45.集群中每个节点对应的计算一个a值。
46.步骤s3中,所述根据用户查询数据的次数及接口的响应时间,调整需要缓存的数据的具体过程为:
47.计算用户查询数据的次数n1、n2

nm(m表示数据接口)与对应响应时间t1、t2

tm的乘积,并取所有接口所述乘积的均值,作为缓存需求值b,则b=(n1*t1+n2*t2+

+nm*tm)/m。
48.计算所述运行压力与所述缓存需求值的比值c,c=a/b,将所述乘积中大于所述比值的数据进行缓存,即缓存n1*t1,n2*t2,

,nm*tm中大于c的对应数据。
49.本发明所述方法实施例的其一实现方式中,当集群中节点的数量发生变更时,重复执行所述步骤s1-步骤s3的操作。
50.本发明所述方法实施例的其一实现方式中,当用户需要设置缓存的数据或更改缓存更新频率或达到预设周期时,重复执行步骤s1-步骤s3的操作。
51.本发明所述方法实施例的其一实现方式中,所述方法在调整需要缓存的数据之后,还包括步骤:
52.同步缓存数据推送至主节点。
53.如图2所示,本发明实施例提供的一种集群中数据的缓存系统,所述系统包括信息采集单元1、节点选取单元2和数据调整单元3。
54.信息采集单元1用于获取集群中各节点的运行信息,基于所述运行信息计算各节点的运行压力;节点选取单元2选取所述运行压力最小的节点作为数据缓存节点;数据调整单元3根据用户查询数据的次数及接口的响应时间,调整需要缓存的数据。
55.信息采集单元采集的运行信息包括若干影响因素,具体为cpu利用率c1、内存利用率m1、磁盘利用率d1和节点的业务压力p1。
56.运行压力的计算具体为:为所述运行信息中的每个影响因素分配权重值;其中cpu
利用率、内存利用率、磁盘利用率和业务压力的权重值分别为c2、m2、d2和p2。将运行信息中各影响因素的加权值作为运行压力a,则a=c1*c2+m1*m2+d1*d2+p1*p2。
57.集群中每个节点对应的计算一个a值。
58.所述数据调整单元3包括计算子单元31和对比子单元32:计算子单元31用于计算用户查询数据的次数n1、n2

nm(m表示数据接口)与对应响应时间t1、t2

tm的乘积,并取所有接口所述乘积的均值,作为缓存需求值b,则b=(n1*t1+n2*t2+

+nm*tm)/m;比对子单元32用于计算所述运行压力与所述缓存需求值的比值,将所述乘积中大于所述比值的数据进行缓存,即缓存n1*t1,n2*t2,

,nm*tm中大于c的对应数据。
59.本发明实施例还提供了一种存储管理软件,所述存储管理软件部署在集群中的各节点上,所述存储管理软件中设有所述的缓存系统。
60.存储管理软件会在自己的软件集中预留相应的数据结构以及缓存算法,根据存储集群的节点规模,网络带宽,用户查询的数据信息的热点分布,以及各个节点的资源利用率等信息,动态调整缓存算法,构建一个可以适应多种场景下的智能缓存模块,同时界面上,用户可以自己设置需要缓存的数据及缓存更新频率等信息,在不影响用户体验的前提下,做到资源的节约与合理利用,增强存储系统的鲁棒性。
61.本发明实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机指令,所述计算机指令在所述缓存系统上运行时,使所述缓存系统执行所述缓存方法的步骤。
62.上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

技术特征:
1.一种集群中数据的缓存方法,其特征是,所述缓存方法包括以下步骤:s1,获取集群中各节点的运行信息,基于所述运行信息计算各节点的运行压力;s2,选取所述运行压力最小的节点作为数据缓存节点;s3,根据用户查询数据的次数及接口的响应时间,调整需要缓存的数据。2.根据权利要求1所述集群中数据的缓存方法,其特征是,所述运行信息包括若干影响因素,具体为cpu利用率、内存利用率、磁盘利用率和节点的业务压力。3.根据权利要求2所述集群中数据的缓存方法,其特征是,所述基于所述运行信息计算各节点的运行压力的具体过程为:为所述运行信息中的每个影响因素分配权重值;将运行信息中各影响因素的加权值作为运行压力。4.根据权利要求1所述集群中数据的缓存方法,其特征是,所述根据用户查询数据的次数及接口的响应时间,调整需要缓存的数据的具体过程为:计算用户查询数据的次数与对应响应时间的乘积,并取所有接口所述乘积的均值,作为缓存需求值;计算所述运行压力与所述缓存需求值的比值,将所述乘积中大于所述比值的数据进行缓存。5.根据权利要求1所述集群中数据的缓存方法,其特征是,当集群中节点的数量发生变更时,重复执行所述步骤s1-步骤s3的操作。6.根据权利要求1-5任一项所述集群中数据的缓存方法,其特征是,所述方法在调整需要缓存的数据之后,还包括步骤:同步缓存数据推送至主节点。7.一种集群中数据的缓存系统,其特征是,所述系统包括:信息采集单元,用于获取集群中各节点的运行信息,基于所述运行信息计算各节点的运行压力;节点选取单元,选取所述运行压力最小的节点作为数据缓存节点;数据调整单元,根据用户查询数据的次数及接口的响应时间,调整需要缓存的数据。8.根据权利要求7所述集群中数据的缓存系统,其特征是,所述数据调整单元包括:计算子单元,用于计算用户查询数据的次数与对应响应时间的乘积,并取所有接口所述乘积的均值,作为缓存需求值;比对子单元,用于计算所述运行压力与所述缓存需求值的比值,将所述乘积中大于所述比值的数据进行缓存。9.一种存储管理软件,其特征是,所述存储管理软件部署在集群中的各节点上,所述存储管理软件中设有权利要求7或8所述的缓存系统。10.一种计算机存储介质,所述计算机存储介质中存储有计算机指令,其特征是,所述计算机指令在权利要求7或8所述缓存系统上运行时,使所述缓存系统执行如权利要求1-5任一项所述缓存方法的步骤。

技术总结
本发明提供了一种集群中数据的缓存方法、系统及存储管理软件,所述缓存方法包括获取集群中各节点的运行信息,基于所述运行信息计算各节点的运行压力;选取所述运行压力最小的节点作为数据缓存节点;根据用户查询数据的次数及接口的响应时间,调整需要缓存的数据。本发明通过对集群中个节点的运行压力进行分析,将运行压力最小的节点作为缓存节点,提高数据的缓存效率,另外通过用户对数据的查询次数和接口的响应时间,对需要进行缓存的数据进行调整,在不影响用户体验的前提下,做到资源的节约与合理利用,增强存储系统的鲁棒性。增强存储系统的鲁棒性。增强存储系统的鲁棒性。


技术研发人员:马聪 谢鹏
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2021.11.24
技术公布日:2022/3/8

最新回复(0)