本技术涉及计算机,特别是涉及一种存储桶数据管理方法、装置、计算机设备和存储介质。
背景技术:
1、对象存储服务是一种新兴的海量、安全、低成本以及高可靠的云存储服务,适合存放任意类型的文件。一个对象存储系统的基础数据实体包括用户、存储桶和对象,对象是直接存储在存储桶内的。随着桶数量规模的逐渐增多,界面对于桶信息的管理,包括查询的时效性、根据关键字段进行排序以及桶信息数据存储都面临大的挑战。
2、传统的技术方案中,历史性能数据存储在底层数据分片上,存储容量有限,且界面直接与rados命令交互,时效性差。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高存储桶数据收集的时效性以及完整性的存储桶数据管理方法、装置、计算机设备和存储介质。
2、一种存储桶数据管理方法,方法应用于分布式服务器集群,分布式服务器集群包括主节点和从节点,从节点设有管理系统模块、对象存储网关以及rados分片,存储桶数据管理方法包括:
3、从节点通过对象存储网关采集存储桶数据,存储桶数据包括桶属性信息以及历史性能数据;
4、从节点将桶属性信息上报至主节点;
5、从节点通过对象存储网关将历史性能数据存入rados分片,并将历史性能数据传递至管理系统模块,通过管理系统模块将历史性能数据存入从节点的数据库;
6、主节点从从节点的数据库以及rados分片获取历史性能数据,并将历史性能数据以及桶属性信息更新至主节点的数据库。
7、在其中一个实施例中,从节点的对象存储网关设有应用程序编程接口,主节点从从节点的数据库以及rados分片获取历史性能数据,包括:
8、主节点从从节点的数据库获取第一预设时间内的历史性能数据;
9、主节点调用从节点的应用程序编程接口从rados分片中获取第二预设时间内的历史性能数据,第二预设时间小于第一预设时间。
10、在其中一个实施例中,桶属性信息包括桶数量、桶标识以及桶修改时间,存储桶数据管理方法还包括:
11、主节点分别获取第一类桶属性信息和第二类桶属性信息,其中,第一类桶属性信息为主节点的数据库中获取的,第二类桶属性信息为调用应用程序编程接口获取的;
12、主节点根据第一类桶属性信息中的桶数量以及第二类桶属性信息中的桶数量,确定桶数量的差值;
13、主节点将第一类桶属性信息与第二类桶属性信息中标识相同的存储桶进行比较,比较桶修改时间,得到桶修改时间不同的桶数量;
14、将性能数据以及桶属性信息更新至主节点的数据库之后,存储桶数据管理方法还包括:
15、当桶数量的差值与桶修改时间不同的桶数量之和大于预置值时,主节点将第二类桶属性信息全量更新至主节点的数据库;
16、当桶数量的差值与桶修改时间不同的桶数量之和小于预置值时,主节点将第二类桶属性信息中新增的数据更新至主节点的数据库。
17、在其中一个实施例中,应用程序编程接口为rados接口。
18、在其中一个实施例中,存储桶数据还包括实时性能数据,从节点采集实时性能数据,包括:
19、从节点启动定时任务,并获取预设配置文件中的集群部署类型,当集群部署类型为对象存储时,运行定时任务以采集实时性能数据;
20、存储桶数据管理方法还包括:
21、主节点调用应用程序编程接口获取实时性能数据。
22、在其中一个实施例中,从节点将桶属性信息上报至主节点,包括:
23、从节点的对象存储网关对桶属性信息进行数据拼装,并将拼装后的数据上报至从节点的管理系统模块,拼装后的数据包括操作类型;
24、从节点的管理系统模块对拼装后的数据进行解析,获取操作类型,并将操作类型映射为预先设定的操作码;
25、从节点启动发送线程,并通过发送线程判断目的节点是否为主节点以及是否可达,当目的节点为主节点且可达时,将操作码以及目的节点封装到消息队列的消息头中,将桶属性信息封装到消息体中,通过消息队列将消息上报至主节点;
26、存储桶数据管理方法还包括:
27、当从节点的对象存储网关上报失败时,从节点的对象存储网关将上报失败的桶属性信息存入缓存队列,以便对上报失败的桶属性信息执行重新上报。
28、在其中一个实施例中,将历史性能数据以及桶属性信息更新至主节点的数据库,包括:
29、主节点解析操作码以获取操作类型,当操作类型包括一种以上操作时,将各操作封装到同一数据库操作事件中,并根据数据库操作事件将历史性能数据以及桶属性信息更新至主节点的数据库。
30、一种分布式服务器集群,分布式服务器集群包括主节点和从节点,从节点设有管理系统模块、对象存储网关以及rados分片,其中,
31、从节点,用于通过对象存储网关采集存储桶数据,存储桶数据包括桶属性信息以及历史性能数据;
32、从节点,还用于将桶属性信息上报至主节点,通过对象存储网关将历史性能数据存入rados分片,并将历史性能数据传递至管理系统模块,通过管理系统模块将历史性能数据存入从节点的数据库;
33、主节点,用于从从节点的数据库以及rados分片获取历史性能数据,并将历史性能数据以及桶属性信息更新至主节点的数据库。
34、一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
35、从节点通过对象存储网关采集存储桶数据,存储桶数据包括桶属性信息以及历史性能数据;
36、从节点将桶属性信息上报至主节点;
37、从节点通过对象存储网关将历史性能数据存入rados分片,并将历史性能数据传递至管理系统模块,通过管理系统模块将历史性能数据存入从节点的数据库;
38、主节点从从节点的数据库以及rados分片获取历史性能数据,并将历史性能数据以及桶属性信息更新至主节点的数据库。
39、一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
40、从节点通过对象存储网关采集存储桶数据,存储桶数据包括桶属性信息以及历史性能数据;
41、从节点将桶属性信息上报至主节点;
42、从节点通过对象存储网关将历史性能数据存入rados分片,并将历史性能数据传递至管理系统模块,通过管理系统模块将历史性能数据存入从节点的数据库;
43、主节点从从节点的数据库以及rados分片获取历史性能数据,并将历史性能数据以及桶属性信息更新至主节点的数据库。
44、上述存储桶数据管理方法、装置、计算机设备和存储介质,将不同种类的存储桶数据采取不同的收集方式,针对桶属性信息采用实时上报的方式,解决传统技术中界面直接与rados命令交互,时效性差的问题,针对历史性能数据从节点先收集历史性能数据存入rados分片,并同时将采集的数据传递至管理系统模块,由管理模块存入数据库,使得主节点可以同时从底层的rados分片拉取历史性能数据以及数据库拉取历史性能数据,解决了传统技术中,历史性能数据存储在底层数据分片上,存储容量有限的问题,可见,采用本技术可以提高存储桶数据收集的时效性以及使得收集的数据更加完整。
1.一种存储桶数据管理方法,其特征在于,所述方法应用于分布式服务器集群,所述分布式服务器集群包括主节点和从节点,所述从节点设有管理系统模块、对象存储网关以及rados分片,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从节点的对象存储网关设有应用程序编程接口,所述主节点从所述从节点的数据库以及所述rados分片获取所述历史性能数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述桶属性信息包括桶数量、桶标识以及桶修改时间,所述方法还包括:
4.根据权利要求2或3所述的方法,其特征在于,所述应用程序编程接口为rados接口。
5.根据权利要求1所述的方法,其特征在于,所述存储桶数据还包括实时性能数据,所述从节点采集所述实时性能数据,包括:
6.根据权利要求1所述的方法,其特征在于,所述从节点将所述桶属性信息上报至所述主节点,包括:
7.根据权利要求4所述的方法,其特征在于,所述将所述历史性能数据以及所述桶属性信息更新至所述主节点的数据库,包括:
8.一种分布式服务器集群,其特征在于,所述分布式服务器集群包括主节点和从节点,所述从节点设有管理系统模块、对象存储网关以及rados分片,其中,
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。