CN116719481A - 配置数据处理方法、装置及相关设备 - Google Patents

配置数据处理方法、装置及相关设备 Download PDF

Info

Publication number
CN116719481A
CN116719481A CN202310990013.7A CN202310990013A CN116719481A CN 116719481 A CN116719481 A CN 116719481A CN 202310990013 A CN202310990013 A CN 202310990013A CN 116719481 A CN116719481 A CN 116719481A
Authority
CN
China
Prior art keywords
configuration
data
target
component
configuration data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310990013.7A
Other languages
English (en)
Other versions
CN116719481B (zh
Inventor
葛凯凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310990013.7A priority Critical patent/CN116719481B/zh
Publication of CN116719481A publication Critical patent/CN116719481A/zh
Application granted granted Critical
Publication of CN116719481B publication Critical patent/CN116719481B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了配置数据处理方法、装置及相关设备,可应用于分布式存储技术领域。其中方法包括:在获取到服务配置文件时,从服务配置文件中解析得到N个配置数据段;N个配置数据段包括配置数据段i;从配置数据段i中解析得到目标组件名称和目标组件配置数据;在获取到空间分布信息时,基于空间分布信息和目标组件名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于存储目标组件配置数据的目标对象存储空间;在生成配置发布消息时,将配置发布消息发送给目标对象存储空间所在的数据存储节点,以使目标对象存储空间所在的数据存储节点,创建目标配置中心对象。采用本申请实施例,有助于缓解配置数据对分布式存储系统造成存储压力。

Description

配置数据处理方法、装置及相关设备
技术领域
本申请涉及分布式存储技术领域,尤其涉及配置数据处理方法、装置及相关设备。
背景技术
目前,在分布式存储系统中,若需要对一个服务组件(如服务组件A)的配置文件进行发布,需要将该服务组件的配置文件发布到分布式存储系统的主数据管理节点,并且由主数据管理节点将配置文件同步到其他的数据管理节点中,由此可以在分布式存储系统所包括的各个数据管理节点中均存储该服务组件的配置文件,以便于服务组件A所运行在的服务设备可以从数据管理节点中获取配置文件。
发明人在实践过程中发现,对于每一个服务组件来说,均需要将对应的配置文件以文件的形式存储在每个数据管理节点中,并且,对于不同服务组件来说,需要在这些数据管理节点上独立存储不同服务组件的配置文件。一旦分布式存储系统中涉及到的服务组件的数量较多,则需要进行存储的配置文件的数据量就会较大,从而导致服务组件的配置数据对分布式存储系统造成较大的存储压力。
发明内容
本申请实施例提供了一种配置数据处理方法、装置及相关设备,能够将配置文件中,同一组件类型对应的配置数据存储为一个配置中心对象,有助于减少分布式存储系统中的服务组件的组件配置数据的存储量,缓解服务组件的配置数据对分布式存储系统造成的存储压力。
本申请实施例一方面提供了配置数据处理方法,方法由部署在分布式存储系统中的配置管理客户端执行,分布式存储系统包括Q个数据存储节点;Q个数据存储节点中的每个数据存储节点上均部署有对象存储空间;M为正整数;方法包括:
在获取到服务配置文件时,从服务配置文件中解析得到N个配置数据段;一个组件配置数据段是针对一个组件类型所关联的服务组件所确定的;N个配置数据段包括配置数据段i;i为小于或者等于N的正整数;配置数据段i所对应的组件类型为目标组件类型;
将从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件名称作为目标组件名称,并将从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件配置数据作为目标组件配置数据;
在获取到Q个数据存储节点上所部署的对象存储空间所关联的空间分布信息时,基于空间分布信息和目标组件名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于存储目标组件配置数据的对象存储空间,将确定出的对象存储空间作为与配置数据段i相关联的目标对象存储空间;
在基于目标组件名称和目标组件配置数据,生成配置发布消息时,将配置发布消息发送给目标对象存储空间所在的数据存储节点,以使目标对象存储空间所在的数据存储节点,在目标对象存储空间中基于目标组件名称创建目标配置中心对象;目标配置中心对象为存储目标组件配置数据的配置中心对象。
本申请实施例一方面提供了一种配置数据处理装置,装置由部署在分布式存储系统中的配置管理客户端运行,分布式存储系统包括Q个数据存储节点;Q个数据存储节点中的每个数据存储节点上均部署有对象存储空间;M为正整数;装置包括:
文件解析模块,用于在获取到服务配置文件时,从服务配置文件中解析得到N个配置数据段;一个组件配置数据段是针对一个组件类型所关联的服务组件所确定的;N个配置数据段包括配置数据段i;i为小于或者等于N的正整数;配置数据段i所对应的组件类型为目标组件类型;
数据确定模块,用于将从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件名称作为目标组件名称,并将从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件配置数据作为目标组件配置数据;
存储空间确定模块,用于在获取到Q个数据存储节点上所部署的对象存储空间所关联的空间分布信息时,基于空间分布信息和目标组件名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于存储目标组件配置数据的对象存储空间,将确定出的对象存储空间作为与配置数据段i相关联的目标对象存储空间;
发布消息发送模块,用于在基于目标组件名称和目标组件配置数据,生成配置发布消息时,将配置发布消息发送给目标对象存储空间所在的数据存储节点,以使目标对象存储空间所在的数据存储节点,在目标对象存储空间中基于目标组件名称创建目标配置中心对象;目标配置中心对象为存储目标组件配置数据的配置中心对象。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的方法。
采用本申请实施例,可以从配置文件中解析得到N个组件类型对应的配置数据段,进而可以分别确定每个配置数据段所关联的对象存储空间,从而在相应的对象存储空间中,创建用于存储组件配置数据的配置中心对象。在本申请实施例中,可以以对象的形式存储服务组件的组件配置数据,且相同组件类型关联的服务组件的组件配置数据可以通过同一个配置中心对象进行集中配置存储,不需要对每个服务组件的配置文件单独进行存储,有助于减少分布式存储系统所需存储的服务组件的配置数据的数据量,从而缓解配置数据对于分布式存储系统的存储压力。应当理解,一个服务配置文件中的不同组件类型对应的配置数据段,可以采用不同的配置中心对象进行存储,从而可以将组件配置文件分摊到相应的对象空间中进行存储,有助于缓解配置数据对分布式存储系统造成的存储压力。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种分布式存储系统的架构示意图;
图2是本申请实施例提供的一种基于分布式存储系统的配置数据处理方法的场景示意图;
图3是本申请实施例提供的一种配置数据处理方法应用于的服务场景的架构图;
图4是本申请实施例提供的一种配置数据处理方法的流程示意图;
图5是本申请实施例提供的一种配置文件的效果示意图;
图6是本申请实施例提供的一种对象存储的效果示意图;
图7是本申请实施例提供的一种备份存储的示意图;
图8是本申请实施例提供的一种配置数据发布的场景示意图;
图9是本申请实施例提供的一种组件配置数据的存储示意图;
图10是本申请实施例提供的一种观察点注册的场景示意图;
图11是本申请实施例提供的一种取消观察点的场景示意图;
图12是本申请实施例提供的一种配置数据的全量下发过程的场景示意图;
图13是本申请实施例提供的另一种配置数据处理方法的流程示意图;
图14是本申请实施例提供的又一种配置数据处理方法的流程示意图;
图15是本申请实施例提供的一种确定配置数据项所对应的分片对象的流程示意图;
图16是本申请实施例提供的再一种配置数据处理方法的流程示意图;
图17是本申请实施例提供的一种配置更新过程的场景示意图;
图18是本申请实施例提供的另一种配置更新过程的场景示意图;
图19是本申请实施例提供的一种配置数据处理装置的结构示意图;
图20是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种分布式存储系统的架构示意图。该分布式存储系统的架构中包括数据存储节点集群100a、数据管理节点集群200a、分布式客户端集群300a、配置管理客户端400a等等。可选的,该分布式存储系统可以为ceph系统(一种分布式存储系统),能同时提供对象、文件、块存储服务。
其中,数据存储节点集群100a可以包括至少一个数据存储节点,数据存储节点也称OSD节点。例如,数据存储节点集群100a可以包括数据存储节点11a、数据存储节点12a、.......、数据存储节点13a等等,此处不对数据存储节点集群100a中的数据存储节点的数量进行限定。
其中,数据存储节点集群100a用于进行数据存储。每个数据存储节点上均部署有用于进行数据存储的对象存储空间(也称OSD),每个数据存储节点上部署的对象存储空间的数量为一个或多个。可以理解的是,OSD用于提供数据存储服务,管理磁盘数据的读写。可以理解的是,分布式存储系统包括的数据存储节点集群上部署的对象存储空间,可以称为分布式存储系统中的对象存储空间。可以理解的是,在分布式系统中的对象存储空间中,各个文件数据均存储为对象(object)。例如,一个文件可以划分为多个对象,进而将同一个文件划分为的多个对象,分别存储在对应的对象存储空间中。可以理解的是,同一文件划分为的多个对象可以存储在同一对象存储空间,也可以存储在不同对象存储空间,其具体取决于实际的映射结果,此处不做限定。
其中,数据管理节点集群200a可以包括多个数据管理节点,数据管理节点也称mon节点、Monitor节点。例如,数据管理节点集群200a可以包括数据存储节点21a、数据存储节点22a、.......、数据存储节点23a等等,此处不对数据存储节点集群200a中的数据管理节点的数量进行限定。其中,数据管理节点集群200a用于提供分布式存储系统的管理服务,用来存储各种集群拓扑信息,管理数据分布,如可以用于存储OSD Map(一种对象存储空间关联的信息,也称空间分布信息)、Monitor Map(一种数据管理节点集群关联的信息)、PG Map(一种归置组关联的信息)和CRUSH Map(一种数据分布的信息)等等。可以理解的是,该数据存储节点集群100a和数据管理节点集群200a均属于分布式存储系统中的分布式对象存储系统,例如,数据存储节点集群100a和数据管理节点集群200a均属于ceph分布式存储系统的RADOS(分布式对象存储系统),RADOS是ceph系统的存储数据的基石,数据以对象的形式存入其中的数据存储节点,具体存储在数据存储节点上部署的对象存储空间中。
其中,分布式客户端集群300a可以包括至少一个客户端,该客户端也可以称为client。例如,分布式客户端集群300a可以包括客户端31a、客户端32a、......、客户端33a等等,此处不对分布式客户端集群300a中的客户端的数量进行限定。分布式客户端集群300a用于发送读写请求进行数据的读写,缓存文件元数据和文件数据。例如,业务对象A可以在需要查看存储在分布式存储系统中的数据存储集群100a中的文件1时,可以通过该业务对象A对应分布式客户端(如分布式客户端31a)从分布式存储系统中的数据管理节点中获取对象存储空间关联的空间分布信息(OSD map),进而可以基于该空间分布信息确定文件1所存储在的对象存储空间,然后分布式客户端31a向所确定的对象存储空间所在的数据存储节点发送数据查询请求,以从分布式存储系统中的数据存储节点中获取到文件1的文件数据。
其中,该配置管理客户端400a可以用于对分布式存储系统中的服务组件的配置数据进行管理的客户端。例如,该配置管理客户端可以用于对服务组件的配置数据进行发布和更新。可以理解的是,分布式存储系统中的服务组件用于提供相应的服务,例如,服务组件可以为用于提供存储池Qos服务(存储池服务质量管理功能)的服务组件,用于提供MDS服务(元数据管理服务)的服务组件等等,此处不做限制。可以理解的是,根据服务组件所对应的功能,服务组件所运行的位置也可以不同。例如,在提供存储池Qos功能(存储池服务质量功能)的服务组件中,可以包括部署在分布式客户端上的Qos-agent组件,以及部署在分布式存储系统中用于进行存储池Qos管理的管理节点上的Qos-manager组件。又如,在用于提供MDS服务(元数据管理服务)的服务组件中,可以包括部署在分布式存储系统中用于提供MDS服务的MDS管理节点的MDS组件。
可以理解的是,该配置管理客户端400a中运行有用于进行配置数据的发布的配置发布组件,以及用于进行配置数据的更新的配置更新组件。可选的,该配置发布组件和配置更新组件可以集成在同一配置管理客户端中。可选的,该配置发布组件和配置更新组件可以部署在不同客户端中,所部署在的不同客户端可以统称为配置管理客户端。其中,该配置管理客户端400a可以运行于数据管理节点集群中的数据管理节点,也可以运行于与数据管理节点建立数据连接的任一计算机设备,此处不做限制。可以理解的是,该配置管理客户端所运行在的计算机设备可以为服务器,也可以为终端设备。该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。该终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器、智能音箱、智能家电等。
可以理解的是,该配置管理客户端400a可以用于解析待发布的服务配置文件(也称配置文件),以得到配置文件所包括的一个或多个配置数据段,也称section,一个配置数据段是针对一个组件类型的服务组件所确定的,一个配置数据段可以包括配置数据段的数据段名称以及组件配置数据,配置数据段的数据段名称可以为所对应的组件类型关联的服务组件的名称。然后配置管理客户端400a可以通知数据存储节点集群创建每个组件类型所对应的配置中心对象。配置中心对象可以为用于存储一个组件类型对应的组件配置数据的对象,也就是用于存储一个配置数据段中的组件配置数据的对象。一个组件类型对应的配置中心对象中的组件配置数据可以用于下发至该组件类型关联的服务组件。例如,在提供存储池Qos功能(存储池服务质量功能)的服务组件对应的配置文件中,可以包括针对Qos-agent组件类型对应的配置数据段,以及针对Qos-manager组件类型对应的配置数据段,则配置管理客户端可以通知数据存储节点集群创建Qos-agent组件类型对应的配置中心对象A,以及Qos-manager组件类型对应的配置中心对象B。其中,配置中心对象A中的配置数据,可以用于下发至每个在该配置中心对象A中进行注册的Qos-agent组件所在的服务设备;配置中心对象B中的配置数据,可以用于下发至每个在该配置中心对象B中进行注册的Qos-manager组件所在的服务设备。
可以理解的是,在本申请实施例中,可以从配置文件中解析得到N个组件类型对应的配置数据段,进而可以分别确定每个配置数据段所关联的对象存储空间,从而在相应的对象存储空间中,创建用于存储组件配置数据的配置中心对象。在本申请实施例中,可以以对象的形式存储服务组件的组件配置数据,且相同组件类型关联的服务组件的组件配置数据可以通过同一个配置中心对象进行集中配置存储,不需要对每个服务组件的配置文件单独进行存储,有助于减少分布式存储系统所需存储的服务组件的配置数据的数据量,从而缓解配置数据对于分布式存储系统的存储压力。应当理解,一个服务配置文件中的不同组件类型对应的配置数据段,可以采用不同的配置中心对象进行存储,从而可以将组件配置文件分摊到相应的对象空间中进行存储,有助于缓解配置数据对分布式存储系统造成的存储压力。
请参见图2,图2是本申请实施例提供的一种基于分布式存储系统的配置数据处理方法的场景示意图。如图2所示,配置发布对象可以通过配置管理客户端400a进行服务配置文件的发布。其中,配置管理客户端400a,可以在获取到服务配置文件F1时,对服务配置文件F1进行解析,得到N个配置数据段,一个配置数据段是针对一个组件类型关联的服务组件所确定的,换言之,一个配置数据段对应一个组件类型。此处以解析得到组件类型a对应的配置数据段1和组件类型2对应的配置数据段2为例进行阐述。例如,在针对存储池QOS服务的服务组件的服务配置文件中,配置数据段1对应的组件类型1可以为Qos-agent组件类型,配置数据段2对应的组件类型2可以为Qos-manager组件类型。进一步的,配置管理客户端400a可以确定配置数据段1关联的对象存储空间OSD1,以及配置数据段1关联的对象存储空间OSD2。其中,对象存储空间OSD1可以用于存储配置数据段1中的组件配置数据,对象存储空间OSD2可以用于存储配置数据段2中的组件配置数据。并且,配置管理客户端400a还可以确定配置数据段1关联的配置发布消息P1,以及配置数据段2关联的配置发布消息P2。其中,配置发布消息用于指示对应的数据存储节点创建用于存储组件配置数据的配置中心对象。
进一步的,配置管理客户端400a将配置发布消息P1发送至对象存储空间OSD1所在的数据存储节点11a(步骤S21-1),并且,将配置发布消息P2发送至对象存储空间OSD2所在的数据存储节点12a。可以理解的是,该数据存储节点11a与数据存储节点12a可以为同一数据存储节点,也可以为不同数据存储节点,此处不做限制。
进一步的,数据存储节点11a可以基于配置发布消息P1在对象存储空间OSD1中创建配置中心对象A,该配置中心对象A用于存储配置数据段1中的组件配置数据,换言之,该配置中心对象A可以为组件类型a对应的配置中心对象。配置中心对象是指用于存储组件配置数据的对象。同理,数据存储节点12a可以基于配置发布消息P2在对象存储空间OSD2中创建配置中心对象B,该配置中心对象B用于存储配置数据段2中的组件配置数据,换言之,该配置中心对象B可以为组件类型b对应的配置中心对象。
进一步的,数据存储节点11a可以将配置中心对象A所存储的组件配置数据发布至组件类型a关联的服务组件所在的服务设备,例如服务设备210a。其中,该服务设备210a可以为运行组件类型a关联的服务组件所运行的设备,此处仅为一个示例,若已启动的组件类型a关联的服务组件的数量为多个,则可以向每个组件类型a关联的服务组件的所运行在的设备发送配置中心对象A所存储的组件配置数据。服务设备210a在获取到数据存储节点11a发布的组件配置数据,可以对所运行的组件类型a关联的服务组件进行配置数据初始化,并在内存中存储所获取到的组件配置数据。
同理,数据存储节点12a可以将配置中心对象B所存储的组件配置数据发布至组件类型b关联的服务组件所在的服务设备,例如服务设备220a。其中,该服务设备220a可以为运行组件类型b关联的服务组件所运行的设备,此处仅为一个示例,若已启动的组件类型b关联的服务组件的数量为多个,则可以向每个组件类型b关联的服务组件的所运行在的设备发送配置中心对象B所存储的组件配置数据。服务设备220a在获取到数据存储节点12a发布的组件配置数据,可以对所运行的组件类型b关联的服务组件进行配置数据初始化,并在内存中存储所获取到的组件配置数据。
此处以应用于提供存储池QOS服务的场景的架构图为例对配置数据处理方法进行阐述,请参见图3,图3是本申请实施例提供的一种配置数据处理方法应用于的服务场景的架构图。其中,存储池QOS服务用于实现存储池的QOS流量管理。存储池QOS服务的服务组件的组件类型,包括Qos manager组件类型(即执行组件类型)和Qos agent组件类型(即控制服务组件类型)。其中,Qos agent组件类型关联的服务组件,是指存储池Qos服务的执行组件,用来调整所运行在的客户端上面块设备(RBD)的流量(带宽等),例如客户端1中运行的执行组件1、客户端2中运行的执行组件2、客户端3中运行的执行组件3等等,该执行组件1、执行组件2、执行组件3的组件类型均为Qos agent组件类型(即执行组件类型),其组件名称均为Qos agent。Qos manager组件类型关联的服务,是指存储池Qos服务的控制服务组件,用来控制调整整个存储池的流量,会把调整的信息发送到Qos agent所在的客户端进行具体的块设备流量调整操作。例如控制服务组件1和控制服务组件2,该控制服务组件1和控制服务组件2的组件类型均为Qos manager组件类型(即控制服务组件类型),其组件名称均为Qos manager。控制服务组件1和控制服务组件2可以运行在同一服务设备,也可以运行在不同服务设备,此处不做限定。应当理解,服务组件所运行的运行的服务设备可以为用户设备,也可以为服务器,此处不做限定。该用户终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等。
其中,分布式存储系统在逻辑上可以划分有多个数据池,也称存储池,例如图2中所示的存储池1和存储池2。可以理解的是,分布式存储系统中的不同存储池(例如存储池1和存储池2)是逻辑隔离的,主要用来存放RBD块设备。之所以有存储池1和池存储2的划分,可能是因为用户性能的不同要求,比如存储池1可以是HDD(一种磁盘类型)盘组成的池,而存储池2是SSD(一种磁盘类型)盘组成的池,而每个存储池都可以通过相应的存储池QOS服务来对存储池中的块设备进行流量管理。可以理解的是,一组件类型可以在每个数据池中均对应的一个配置中心对象,以用于进行组件配置数据的存储。在不同数据池中,同一组件类型对应的配置中心对象中所存储的组件配置数据可以相同,也可以不同,具体取决于实际的配置情况,此处不做限定。
可以理解的是,客户端中的RBD(块设备)和分布式存储系统中的分布式对象存储系统(例如ceph分布式存储系统中的RADOS)中的RBD(块设备)是一个映射关系,客户端中的RBD是提供给用户使用的逻辑块设备,会在客户端有一个盘符(类似window机器上面的c盘,d盘),而RADOS中的RBD(块设备)是真实存放这个块设备数据的地方。可以理解的是,RBD(块设备)是一个逻辑应用,RBD的数据最终是存储在分布式存储系统中的对象存储空间(OSD)中的。例如,如图3所示,客户端1中的块设备1对应数据池1中的块设备1,则客户端1存储在块设备1中的数据最终是存储在存储池1中的对象存储空间的。同理,客户端2中的块设备2对应数据池2中的块设备2,则客户端2存储在块设备2中的数据最终是存储在存储池2中的对象存储空间的;客户端3中的块设备3对应数据池2中的块设备3,则客户端3存储在块设备3中的数据最终是存储在存储池2中的对象存储空间的。可以理解的是,不同的数据池可以进行物理隔离,即不同数据池所能够映射到的对象存储空间可以不同,或者,也可以不进行物理隔离,即不同数据池所能够映射到的对象存储空间可以相同,此处不做限定,取决于实际需求。
其中,可以看到,如图3所示,分布式对象存储系统(如RADOS)中可以包括存储池1和存储池2,在配置管理客户端向分布式对象存储系统发送针对控制服务组件类型以及执行组件类型的服务组件的配置发布消息时,分布式对象存储系统可以创建控制服务组件类型对应的配置中心对象A以及执行组件类型对应的配置中心对象B。可以理解的是,若配置发布消息未指定配置数据需要发布至的存储池,则可以在分布式对象存储系统中的每个存储池中均创建相同的配置中心对象,例如,分布式对象存储系统可以在存储池1中创建执行组件类型对应的配置中心对象A,和控制服务组件类型对应的配置中心对象B;并且,可以在存储池2中创建执行组件类型对应的配置中心对象A,和控制服务组件类型对应的配置中心对象B,此时,存储池1中的配置中心对象A所存储的组件配置数据和存储池2中的配置中心对象A所存储的组件配置数据相同,存储池1中的配置中心对象B所存储的组件配置数据和存储池2中的配置中心对象B所存储的组件配置数据相同。若配置发布消息中指定了配置数据所需发布至的存储池,则分布式对象存储系统可以在所指定的存储池中创建配置中心对象,例如,配置发布消息指定将配置数据发布至存储池1,则分布式对象存储系统可以在存储池1创建执行组件类型对应的配置中心对象A,和控制服务组件类型对应的配置中心对象B,此时存储池2中不进行配置中心对象的创建。进一步可以理解的是,可以再向分布式对象存储系统发送指定配置数据发布至存储池2的配置发布消息,则可以在存储池2中创建配置中心对象A和配置中心对象B,此时,存储池1中的配置中心对象A所存储的组件配置数据和存储池2中的配置中心对象A所存储的组件配置数据可以相同也可以不同,存储池1中的配置中心对象B所存储的组件配置数据和存储池2中的配置中心对象B所存储的组件配置数据可以相同也可以不同,具体取决于实际发布的配置数据的内容,此处不做限定。
可以理解的是,各个服务组件可以在配置中心对象中注册观察点,进行观察点注册的服务组件可以为已注册服务组件(也就相当于一个观察点),进而配置中心对象所在的数据存储节点可以基于进行观察点注册时所记录的注册观察点信息向对应的已注册服务组件下发组件配置数据。例如,客户端1中的执行组件1可以在存储池1中的配置中心对象A中进行观察点注册,控制服务组件1可以在存储池1中的配置中心对象B中进行观察点注册。其中,在配置中心对象注册观察点,也就是将服务组件的进程信息确定为注册观察点信息,并将注册观察点信息添加到配置中心对象的对象属性中,服务组件的进程信息可以为用于包括服务组件对应的地址信息(如IP地址信息)和端口信息。进一步的,客户端1中的执行组件1和控制服务组件1均可以从存储池1中的相应配置中心对象中获取到组件配置数据,例如,分布式存储系统可以将存储池1中的配置中心对象A(执行组件类型对应的配置中心对象)中的配置数据,下发至客户端1中的执行组件1,也可以将存储池1中的配置中心对象B(控制服务组件类型对应的配置中心对象)中的配置数据,下发至客户端1中的控制服务组件1。同理,客户端2中的执行组件2和客户端3中的执行组件3可以在存储池2中的配置中心对象A中进行观察点注册,控制服务组件2可以在存储池2中的配置中心对象B中进行观察点注册,则客户端2中的执行组件2、客户端3中的执行组件3、和控制服务组件2均可以从存储池2中的相应配置中心对象中获取到组件配置数据,例如,可以将存储池2中的配置中心对象A中的配置数据下发至客户端2中的执行组件2、客户端3中的执行组件3,也可以将存储池2中的配置中心对象B中的配置数据下发至控制服务组件2。
可以理解的是,本申请实施例可以应用于云存储技术领域,云存储(cloudstorage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。例如,本申请实施例中的分布式存储系统可以为分布式云存储系统。目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity) 等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
可以理解的是,本申请实施例还可以应用于自动驾驶技术领域。自动驾驶技术通常包括高精地图、环境感知、行为决策、路径规划、运动控制等技术,自定驾驶技术有着广泛的应用前景。例如,本申请实施例中的服务组件可以为自动驾驶领域中的所涉及到的服务组件,服务组件的配置数据可以通过本申请实施例提供的分布式存储系统进行存储。
可以理解,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
进一步地,请参见图4,图4是本申请实施例提供的一种配置数据处理方法的流程示意图。该方法由部署在分布式存储系统中的配置管理客户端执行,分布式存储系统包括Q个数据存储节点;Q个数据存储节点中的每个数据存储节点上均部署有对象存储空间;M为正整数。该方法至少可以包括以下步骤S101-步骤S104。
S101、在获取到服务配置文件时,从服务配置文件中解析得到N个配置数据段;一个组件配置数据段是针对一个组件类型所关联的服务组件所确定的;N个配置数据段包括配置数据段i;i为小于或者等于N的正整数;配置数据段i所对应的组件类型为目标组件类型。
其中,服务配置文件可以为用于对分布式存储系统中的服务功能对应的服务组件进行参数配置的配置文件。配置文件是一种计算机文件,可以为计算机程序(如服务组件)配置参数和初始设置。例如,该服务配置文件可以为针对存储池QOS服务的服务组件的配置文件。
其中,配置数据段可以为服务配置文件中的数据段。一个配置数据段可以包括数据段名称和组件配置数据。其中,组件配置数据可以包括至少一个配置数据项,每个配置数据项由配置名和配置值组成。例如,一个配置项可以为heatbeat_interval = 20,其中,配置名为heatbeat_interval,配置值为20,则表示配置文件用于将服务组件的heatbeat_interval(即心跳周期)这一参数配置为20。
可以理解的是,一个服务配置文件中可以包括N个配置数据段,N为正整数,换言之,一个配置文件中包括至少一个配置数据段,例如可以包括2个配置数据段。一个配置数据段对应一个组件类型。例如,请参见图5,图5是本申请实施例提供的一种配置文件的效果示意图。该配置文件可以为针对用于提供存储池Qos服务(存储池服务质量服务)的服务组件的配置文件,该配置文件中包括配置数据段501a和配置数据段502a。其中,配置数据段501a为针对执行组件类型(即Qos-agent组件类型)关联的服务组件所确定的,换言之,配置数据段501a对应执行组件类型,执行组件类型关联的服务组件的组件名称均为同一执行组件名,例如Qos-agent;配置数据段502a为针对控制服务组件类型(即Qos-manager组件类型)关联的服务组件所确定,换言之,配置数据段502a对应执行组件类型,执行组件类型关联的服务组件的组件名称均为同一控制服务组件名,例如Qos-manager。配置数据段501a的数据段名称为执行组件名,组件配置数据包括配置数据项:<配置名11>=<配置值11>、<配置名12>=<配置值12>。配置数据段502a的数据段名称为控制服务组件名,组件配置数据包括配置数据项:<配置名23>=<配置值23>、<配置名24>=<配置值24>。
其中,配置数据段i可以为N个配置数据段中的配置数据段。可以理解的是,配置数据段i中的i并不表示配置数据段在服务配置文件中出现的顺序,该配置数据段i可以是N个配置数据段中的任一配置数据段。该目标组件类型可以为配置数据段i所对应的服务组件,换言之,配置数据段i是针对目标组件类型关联的服务组件所确定的。可以理解的是,配置数据段i为N个配置数据段中的任一配置数据段,则目标组件类型可以服务配置文件中的每个配置数据段所对应的组件类型中的任一组件类型。
例如,服务配置文件中包括执行组件类型对应的配置数据段1和控制服务组件类型对应的配置数据段2,该配置数据段i可以是配置数据段1,也可以是配置数据段2。若配置数据段i为配置数据段1,则目标组件类型为执行组件类型;若配置数据段i为配置数据段2,则目标组件类型为控制服务组件类型。
可以理解的是,从服务配置文件中解析得到N个配置数据段,可以为调用配置发布组件对服务配置文件进行解析,得到N个配置数据段。该配置发布组件可以用于进行数据解析,以及确定配置数据端关联的对象存储空间,向所确定的对象存储空间所在的数据存储节点发送配置发布消息。
S102、将从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件名称作为目标组件名称,并将从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件配置数据作为目标组件配置数据。
其中,目标组件名称可以为目标组件类型所关联的服务组件的组件名称。可以理解的是,从配置数据段i中解析得到目标组件类型所关联的服务组件的组件名称,可以为调用配置发布组件从配置数据段i中解析得到数据段名称,并将解析得到的数据段名称确定为目标组件类型所关联的服务组件的组件名称。例如,在配置数据段i的数据段名称为Qos-agent,则配置数据段i所对应的组件类型关联的服务组件的组件名称为Qos-agent,应当理解,同一组件类型的服务组件的组件名称相同。
可以理解的是,从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件配置数据,可以为调用配置发布组件从配置数据段i中解析得到组件配置数据,以得到目标组件类型所关联的服务组件的组件配置数据。可以理解的是,从配置数据段i中解析得到数据段名称和组件配置数据,可以是同步进行的,也可以是分别解析得到的,此处不做限定。
可以理解的是,若服务配置文件中包括多个配置数据段,则针对每个配置数据段均可以进行同样的处理,此处以配置数据段i为例进行阐述。
S103、在获取到Q个数据存储节点上所部署的对象存储空间所关联的空间分布信息时,基于空间分布信息和目标组件名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于存储目标组件配置数据的对象存储空间,将确定出的对象存储空间作为与配置数据段i相关联的目标对象存储空间。
其中,该空间分布信息是指Q个数据存储节点上所部署的对象存储空间关联的信息。该空间分布信息也可以称为OSD map。其中,Q个数据存储节点上所部署的对象存储空间也就是分布式存储系统中的对象存储空间,换言之,空间分布信息也就是分布式存储系统中的对象存储空间关联的分布信息。
其中,该空间分布信息可以包括分布式存储系统中的对象存储空间(即OSD)列表,即分布式存储系统中的全部对象存储空间的列表;该空间分布信息也可以包括每个对象存储空间的状态,如OSD正在运行的状态(up状态)、OSD暂停运行的状态(down状态);该空间分布信息也可以包括每个对象存储空间的权重,该权重用于确定对象所存储至的对象存储空间。该空间分布信息还可以包括分布式存储系统中的存储池信息,如分布式存储系统所划分为的各个存储池的标识,每个存储池所包括的PG的数量等等;该空间分布信息还可以包括每个对象存储空间的主机信息,即每个对象存储空间所在的数据存储节点的信息。可以理解的是,该空间分布信息还可以包括其他信息,如该空间分布信息的版本信息、最后修改时间等等,此处不做限定。
具体的,分布式存储系统包括数据管理节点;那么,本申请实施例还可以包括以下步骤:在配置管理客户端与数据管理节点建立数据连接时,基于数据连接,从数据管理节点上获取Q个数据存储节点上所部署的对象存储空间所关联的空间分布信息。
其中,该数据连接可以为用于配置管理客户端和数据管理节点进行数据交互的介质,该数据连接可以为各种连接类型,例如有线、无线通信链路或者光纤电缆等等类型的数据连接。配置管理客户端可以通过该数据连接从数据管理节点获取空间分布信息。可以理解的是,在配置管理客户端部署在不同于数据管理节点的计算机设备上时,基于数据连接从数据管理节点上获取空间分布信息,可以为:配置管理客户端向数据管理节点发送信息获取请求,进而数据管理节点向该配置管理客户端返回基于该信息获取请求所确定的空间分布信息。该信息获取请求可以是用于指示从数据管理节点获取空间分布信息的请求。在配置管理客户端部署在数据管理节点的计算机设备上时,基于数据连接从数据管理节点上获取空间分布信息,可以为直接从数据管理节点中获取空间分布信息。
可以理解的是,基于空间分布信息和目标组件名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于存储目标组件配置数据的对象存储空间,可以包括:确定用于存储目标组件配置数据的配置中心对象的对象类型,基于对象类型确定用于存储目标组件配置数据的配置中心对象确定目标组件类型对应的存储空间确定策略;调用目标组件类型对应的存储空间确定策略,基于空间分布信息和目标组件名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于存储目标组件配置数据的对象存储空间。
其中,配置中心对象可以为用于存储一个组件类型对应的组件配置数据(如目标组件配置数据)的对象,也就是用于存储一个配置数据段中的组件配置数据(如目标组件配置数据)的对象。可以理解的是,该对象类型可以用于指示所需创建的配置中心对象的类型,该对象类型可以包括全局对象类型和分片对象类型。其中,全局对象类型可以为通过一个全局配置对象存储一个配置数据段中的组件配置数据(如目标组件配置数据)的配置中心对象的类型,该全局配置对象用于存储一个配置数据段中的全局配置数据(如目标组件配置数据),也就是用于存储一个配置数据段中的全部配置数据。分片对象类型可以为通过多个分片对象存储一个配置数据段中的组件配置数据(如目标组件配置数据)的配置中心对象的类型,每个分片对象用于存储一个配置数据段中的组件配置数据(如目标组件配置数据)中的局部配置数据(即部分配置数据),各个分片对象所存储的配置数据组合起来即为一个配置数据段中的全部组件配置数据(如目标组件配置数据)。
可以理解的是,该存储空间确定策略可以为用于确定用于存储目标组件配置数据的对象存储空间的策略。在对象类型为全局对象类型时,对应的存储空间确定策略可以为基于空间分布信息和目标组件名称,确定全局配置对象对应的对象存储空间;在对象类型为分片对象类型时,对应的存储空间确定策略可以为基于空间分布信息和目标组件名称,确定每个分片对象对应的对象存储空间。
可以理解的是,在分布式存储系统中,针对任一对象(如全局配置对象,或者配置中心对象中的任一分片对象)来说,确定其所对应的对象存储空间可以包括:将对象待存储至的数据池确定为目标数据池,并基于空间分布信息确定目标数据池中的数据映射存储单元的单元数量;确定对象的对象名称,对对象名称进行哈希计算,得到对象对应的名称哈希值;基于对象对应的名称哈希值与单元数量,确定对象所对应的数据映射存储单元,进而基于对象所对应的数据映射存储单元,从分布式存储系统的对象存储空间中,确定对象所对应的对象存储空间。
其中,可以理解的是,该目标数据池可以为对象待存储至的数据池。可以理解的是,在由用户指定了对象需要存储至的数据池时,该目标数据池可以为由用户指定的数据池;在用户未指定对象需要存储至的数据池时,该目标数据池可以为分布式存储系统中的任一数据池,且可以将每个数据池均作为目标数据池,从而确定对象在每个数据池中对应的对象存储空间。
可以理解的是,该对象的对象名称可以为基于目标组件名称所确定的。在对象为全局配置对象时,该对象的对象名称即为目标组件名称。在对象为配置中心对象中的任一分片对象时,该对象的对象名称可以包括目标组件名称和分片对象的序号(即分片序号)。例如,目标组件名称为Qos-agent,则目标组件类型对应的配置中心对象包括的分片对象的对象名称,可以为Qos-agent-0、Qos-agent-1、Qos-agent-2等等。
可以理解的是,对对象名称进行哈希计算,可以采用通用的哈希算法进行计算,如MD5算法(一种哈希算法),SHA-1算法(一种哈希算法)等等,此处不做限定。
数据映射存储单元,可以为数据池中用于确定对象所映射到的对象存储空间的单元,例如,在ceph系统中,该数据映射存储单元为PG(placement group),也称放置组、归置组、副本组等。可以理解的是,一个数据池中可以包括多个数据映射存储单元(如PG),每个数据映射存储单元可以通过一定数据分布策略映射到对应的对象存储空间。
其中,基于对象对应的名称哈希值与单元数量,确定对象所对应的数据映射存储单元,可以为:将对象对应的名称哈希值除以(单元数量-1)并取余,所确定的余数用于映射到对应的数据映射存储单元。例如,目标数据池中的多个数据映射存储单元包括:PG1、PG2、PG3、.......、PG4,单元数量为1,则可以将储对象对应的名称哈希值除以4-1=3并取余,若余数为1,则存储单元对应的数据映射存储单元为PG1;若余数为2,则存储单元对应的数据映射存储单元为PG2,以此类推,基于余数确定存储单元对应的数据映射存储单元。
可以理解的是,基于对象所对应的数据映射存储单元,从分布式存储系统的对象存储空间中,确定对象所对应的对象存储空间,可以为基于数据分布策略对对象所对应的数据映射存储单元的单元标识进行处理,确定对象所对应的对象存储空间。该数据分布策略可以为用于指示确定对象所对应的数据映射存储单元所映射到的对象存储空间的策略,以使得分布式存储系统中的各个对象能够均衡分布至各个对象存储空间。例如,该数据分布策略可以为CRUSH算法(一种基于哈希的数据分布算法),该CRUSH算法可以用于根据每个对象存储空间的权重来分布对象,使得这个分布在分布式存储系统中近似于均匀分布。该CRUSH算法可以包括:第一步输入PG id(即数据映射存储单元的单元标识)、基于空间分布信息确定的可供选择的OSD列表(即对象存储空间列表),和一个常量。然后通过一个伪随机算法,得到一个随机数,伪随机算法保证了同一个PG id总是得到相同的随机数,从而保证每次计算的存储位置不会改变;第二步将得到的随机数和每个OSD(对象存储空间)的权重(可基于空间分布信息确定)相乘,然后从中确定出乘积最大的OSD作为对象所对应的对象存储空间。
例如,请参见图6,图6是本申请实施例提供的一种对象存储的效果示意图。如图6所示,此处以将对象存储至数据池1为例进行阐述,将对象存储至其他数据池的方法可以参照数据池1的相关描述。首先配置管理客户端可以确定数据池1中的包括的数据映射存储单元的单元数量,如此处的数据池1可以包括数据映射存储单元1、数据映射存储单元2、......、数据映射存储单元6等数据映射存储单元。配置管理客户端可以基于对象A1的名称哈希值和数据池1对应的单元数量,确定对应的数据映射存储单元为:数据映射存储单元1(步骤S61)。进一步的,可以基于数据分布策略确定数据映射存储单元1对应的对象存储空间为:对象存储空间1(步骤S62)。该对象存储空间1即为对象A1对应的对象存储空间,该对象存储空间中所在的数据存储节点可以为数据存储节点1。
可以理解的是,该目标对象存储空间是与配置数据段i相关联的对象存储空间,也就是用于存储目标组件类型对应的配置中心对象的对象存储空间。可以理解的是,在目标组件类型对应的配置中心对象的对象类型为全局对象类型时,目标对象存储空间为全局配置对象对应的对象存储空间;在目标组件类型对应的配置中心对象的对象类型为分片对象类型时,目标对象存储空间包括多个分片对象对应的对象存储空间,例如,目标组件类型对应的配置中心对象包括分片对象1和分片对象2,则目标对象存储空间包括分片对象1对应的对象存储空间和分片对象2对应的对象存储空间。
可以理解的是,目标对象存储空间为用于存储目标组件配置数据的主存储空间;那么,在确定用于存储目标组件配置数据的对象存储空间时,本申请实施例还可以包括:基于空间分布信息和目标组件名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于备份目标组件配置数据的备份存储空间;将目标存储空间所在的数据存储节点作为目标数据存储节点,通知目标数据存储节点,将目标配置中心对象备份存储至备份存储空间。
可以理解的是,主存储空间用于指示对配置管理客户端发送的配置数据进行存储的对象存储客户端,所确定的用于存储目标组件配置数据的目标对象存储空间也就是该目标组件配置数据的主存储空间。该备份存储空间可以为用于对主存储空间中所存储的目标组件配置数据进行备份存储的对象存储空间。
可以理解的是,确定用于备份目标组件配置数据的备份存储空间,可以为在确定用于存储目标组件配置数据的主存储空间(也就是在确定用于存储目标组件配置数据的对象存储空间)时同步确定的;也可以为先确定主存储空间,在需要进行备份存储时再确定备份存储空间,此处不做限定。可以理解的是,这里的备份存储空间的数量可以为一个或多个,例如,备份存储空间可以数量可以为1个、2个、3个等等,具体取决于实际需求,此处不做限定。例如,在ceph系统中,可以利用RADOS的副本机制,保存两份或者三份副本,即确定2个或3个备份存储空间用于对配置中心对象进行备份。可以理解的是,通过在备份存储空间对配置数据进行备份,可以保障配置中心对象的数据可靠性。
可以理解的是,针对任一对象(如全局配置对象或者配置中心对象中的任一分片对象)来说,确定对象的备份存储空间可以为在上述基于对象所对应的数据映射存储单元确定主存储空间时,同步确定备份存储空间。具体可以为通过数据分布策略(如crush算法)确定对象所对应的对象存储空间(即主存储空间)以及备份存储空间,例如,可以在基于对象所对应的数据映射存储单元确定的随机数时,将随机数和每个OSD的权重(可基于空间分布信息确定)相乘,将乘积最大的对象存储空间作为主存储空间,将除主存储空间之外的其他存储空间中乘积最大的对象存储空间作为备份存储空间,换言之,可以将乘积按从大到小排序,确定排序处于前F个的对象存储空间,该F个对象存储空间中,乘积最大的对象存储空间为主存储空间,除主存储空间外的其他存储空间为备份存储空间。其中,F为大于1的正整数,换言之,主存储空间的数量为1,备份存储空间的数量为正整数,即为F-1,例如,备份存储空间的数量为1、2、3等等,其由实际需求决定,此处不做限定。
其中,目标数据存储节点可以为目标存储空间所在的数据存储节点,通知目标数据存储节点将目标配置中心对象发送至备份存储空间所在的数据存储节点,可以为在向目标数据存储节点发送配置发布消息中携带备份存储空间的空间标识,该空间标识用于标识一个唯一的对象存储空间,进而目标数据存储节点可以在从配置发布消息中获取到备份存储空间的空间标识时,将用于存储组件配置数据的配置中心对象发送至备份存储空间所在的数据存储节点进行备份。或者,也可以为在需要对目标组件配置数据进行备份存储时,向目标数据存储节点发送备份消息,该备份消息中携带了备份存储空间的空间标识,进而目标数据存储节点可以在从备份消息中获取到备份存储空间的空间标识时,将用于存储目标组件配置数据的配置中心对象发送至备份存储空间所在的数据存储节点进行备份,也就是通知备份存储空间所在的数据存储节点对目标组件配置数据进行备份。
可以理解的是,在主存储空间与备份存储空间在同一数据存储节点(即均在目标数据存储节点上)时,可以由目标数据存储节点将目标配置中心对象备份至备份存储空间。在主存储空间与备份存储空间在不同数据存储节点时,可以将目标配置中心对象发送至备份存储空间所在的数据存储节点,以使备份存储空间所在的数据存储节点对目标配置中心对象进行备份存储。
例如,请参见图7,图7是本申请实施例提供的一种备份存储的示意图。如图7所示,此处以在数据池1中对配置中心对象中的组件配置数据进行备份的过程为例,在存储池1中,对象存储空间1为配置中心对象A的主存储空间,对象存储空间2和对象存储空间3为备份存储空间,进而对象存储空间1的数据存储节点可以将配置中心对象A备份至对象存储空间2和对象存储空间3。
S104、在基于目标组件名称和目标组件配置数据,生成配置发布消息时,将配置发布消息发送给目标对象存储空间所在的数据存储节点,以使目标对象存储空间所在的数据存储节点,在目标对象存储空间中基于目标组件名称创建目标配置中心对象;目标配置中心对象为存储目标组件配置数据的配置中心对象。
其中,该配置发布消息可以为用于指示在目标对象存储空间中创建用于存储目标组件配置数据的配置中心对象的消息。该配置发布消息中携带有目标组件名称和目标组件配置数据。
此处结合图示对将服务配置文件发布至数据池中的过程进行阐述。请参见图8,图8是本申请实施例提供的一种配置数据发布的场景示意图。此处以将组件配置数据发布至存储池1的场景为例。可以理解的是,配置管理客户端可以获取到服务配置文件,该服务配置文件中包括配置数据段1和配置数据段2,配置管理客户端可以调用配置发布组件对服务配置文件进行解析,得到该2个配置数据段,并且,配置管理客户端可以确定出用于存储配置数据段1中的组件配置数据的对象存储空间为:对象存储空间1,用于存储配置数据段2中的组件配置数据的对象存储空间为:对象存储空间2。进而在确定出配置数据段1对应的配置发布消息1,和配置数据段2对应的配置发布消息2时,可以将配置发布消息1发送至对象存储空间1所在的数据存储节点,以在对象存储空间1中创建配置中心对象A,该配置中心对象A用于存储配置数据段1中的组件配置数据;并且,可以将配置发布消息2发送至对象存储空间2所在的数据存储节点,以在对象存储空间2中创建配置中心对象B,该配置中心对象B用于存储配置数据段2中的组件配置数据。
其中,目标组件配置数据中包括M个配置数据项;M为正整数;M个配置数据项中的每个配置数据项均包括配置名和配置值;每个配置数据项的配置名和配置值用于确定每个配置数据项对应的配置键值对;一个配置数据项对应一个配置键值对;在目标配置中心对象用于存储目标组件配置数据时,目标组件配置数据为M个配置数据项对应的配置键值对;M个配置数据项对应的配置键值对用于作为目标配置中心对象的对象映射数据;目标配置中心对象的对象映射数据是存储在目标对象存储空间的键值对数据库中的。
可以理解的是,配置键值对可以为基于配置数据项确定的键值对。键值对由键(key)和值(value)组成。在确定配置键值对时,可以将配置数据项的配置名确定为配置键值对的Key,将配置数据项的配置值确定为配置键值对的value。例如,针对配置数据项config-key1 = config-value1,则该配置数据项对应的配置键值对表示为:(key:config-key1;value:config-value1)。
可以理解的是,对象映射数据(object map,简称为omap),属于对象的元数据信息,对象映射数据是以键值对的形式存储在对象存储空间的键值对数据库中的。该键值对数据库可以为以键值对形式存储对象的对象映射数据的数据库,例如,该键值对数据库可以为rocksdb(一种KV数据库)。换言之,在目标配置中心对象用于存储目标组件配置数据时,将目标组件配置数据作为目标配置中心对象的omap(对象映射数据)存储至键值对数据库中(如rocksdb数据库),且目标组件配置数据中的每个配置数据项均是以键值对形式进行存储的,键值对的key(键)为配置项的名称,value(值)为相应的配置值。
例如,请参见图9,图9是本申请实施例提供的一种组件配置数据的存储示意图。如图9所示,此处以将组件配置数据发布至存储池1的场景为例,对组件配置数据进行存储过程进行阐述。可以理解的是,存储池1中的数据存储节点可以获取到与服务配置文件A关联的配置发布消息1和配置发布消息2,其中配置发布消息1为配置数据段1对应的配置发布消息,配置发布消息2为配置数据段2对应的配置发布消息。在数据池1中,可以在配置发布消息1对应的对象存储空间中创建配置中心对象A,配置中心对象A用于存储服务配置文件中的配置数据段1中的组件配置数据,具体的,配置数据段1中的组件配置数据可以作为配置中心对象A的对象映射数据存储至键值对数据库,且是以键值对的形式进行存储的。例如,配置数据段1中包括配置数据项:<配置名1>=<配置值1>,则可以将该配置数据项转换为对应的配置键值对:(键:配置名1 值:配置值1),进而将该配置键值对作为配置中心对象A的对象映射数据(omap)存储至键值对数据库中。配置中心对象B用于存储服务配置文件中的配置数据段2中的组件配置数据,具体的,配置数据段2中的组件配置数据可以作为配置中心对象B的对象映射数据存储至键值对数据库,且是以键值对的形式进行存储的。例如,配置数据段2中包括配置数据项:<配置名2>=<配置值2>,则可以将该配置数据项转换为对应的配置键值对:(键:配置名2 值:配置值2),进而将该配置键值对作为配置中心对象B的对象映射数据(omap)存储至键值对数据库中。其中,配置中心对象A与配置中心对象B可以在同一对象存储空间,也可以在不同对象存储空间中,配置中心对象A和配置中心对象B的对象映射数据所存储在的键值对数据库可以为相应的对象存储空间中的键值对数据库。
可以理解的是,目标配置中心对象中包括对象属性数据,对象属性数据用于存储目标组件类型所关联的已注册服务组件的注册观察点信息;已注册服务组件是在目标配置中心对象中进行注册的目标组件类型关联的服务组件;注册观察点信息中包括已注册服务组件关联的进程信息;已注册服务组件包括目标已注册服务组件,目标已注册服务组件的注册观察点信息为目标注册观察点信息;目标对象存储空间所在的数据存储节点为目标数据存储节点;目标已注册服务组件是由目标数据存储节点基于针对目标服务组件的注册请求所确定的;目标注册观察点信息用于在基于注册请求将目标服务组件确定为目标已注册服务组件时,由目标数据存储节点,将目标配置中心对象中的目标组件配置数据,发送至目标已注册服务组件所运行在的服务设备。
其中,该对象属性数据(也称xattr),可以用于指示对象(如目标配置中心对象)的对象属性(也就是对象的元数据)。对象属性数据和对象映射数据相当于是一个对象对应的元数据的用不同存储方式存储的数据。其中,对象属性数据受到文件系统的限制,所能存储的键值对的个数和每个键值对的值的大小都进行了限制,对象映射数据是存储在键值对数据库(如rocksdb数据库)中的,受到的限制较小,因此可以利用对象映射数据的这个特性存储配置数据,有助于减少配置数据的存储限制,提升对组件配置数据的存储效率。而通常来说,注册观察点信息的数据量不会太大,因此可以将注册观察点信息作为对象属性数据存储在配置中心对象中。
其中,对象属性数据也是以键值对形式进行存储的,在对象属性数据用于存储注册观察点信息时,注册观察点信息的存储形式类似于(Key:watcher(观察点信息),Value:注册观察点信息链表序列化之后数据),序列化就是对观察者的数据结构按规则转化成连续的字符串,这样有助于进行数据的存储。可以理解的是,可以为各个注册观察点信息可以为以队列的方式保存在对象属性数据中。应当理解的是,对象(如全局配置对象或目标中心对象包括的任一分片对象)在OSD(对象存储空间)是以文件进行表示,文件的内容用来存对象数据,这里的对象数据不存储数据,文件的对象映射数据(omap)用于记录组件配置数据所包括的M个配置数据项所对应的配置键值对,文件的对象属性数据用于记录注册观察点信息。由此可以充分利用对象的特性,以较小的存储量将同一组件类型的服务组件对应的配置数据存储在分布式存储系统中的数据池中,所创建的配置中心对象较为轻量级,有助于减少配置数据对分布式存储系统造成的压力。
其中,已注册服务组件可以为在目标配置中心对象中进行注册的目标组件类型关联的服务组件。一个服务组件在目标配置中心对象进行注册(也称观察点注册),可以由目标配置中心对象所在的数据存储节点(即目标数据存储节点)将服务组件的进程信息添加至配置中心对象的对象属性数据中,进而可以将该服务组件确定为已注册服务组件。可以理解的是,已注册服务组件关联的进程信息可以为已注册服务组件的地址信息(如IP地址信息)和端口信息。可以理解的是,一个已注册服务组件可以称为一个观察点。
可以理解的是,在目标配置中心的对象类型为全局对象类型时,若目标服务组件(即目标组件类型关联的任一服务组件)需要在目标配置中心对象进行注册,则可以由全局配置中心对象所在的数据存储节点(即目标数据存储节点)将服务组件的进程信息添加至全局配置对象的对象属性数据中,进而可以将该服务组件确定为已注册服务组件。在目标配置中心的对象类型为分片对象类型,且目标配置中心对象包括L个分片对象时,若目标服务组件需要在目标配置中心对象进行注册,则可以在每个分片对象中均进行注册,以分片对象j为例,可以由于分片对象j所在的数据存储节点将服务组件的进程信息添加至分片对象j的对象属性数据中,进而可以将该服务组件确定为已注册服务组件,并且针对每个分片对象均采用同样的方式进行观察点注册,在对L个分片对象上均完成了注册,才将目标服务组件确定为目标已注册服务组件。
目标已注册服务组件可以为在目标配置中心对象中进行注册的任一已注册服务组件。目标注册观察点信息为该目标组件已注册服务组件的注册观察点信息,也就是说,该目标注册观察点信息可以为对象属性数据中的任一注册观察点信息。针对目标服务组件的注册请求,可以为用于指示在目标配置中心对象中对目标服务组件进行注册的请求。该目标服务组件可以为目标组件类型关联的任一服务组件。
可以理解的是,在服务设备中启动目标服务组件时,该服务设备可以确定目标服务组件的组件配置数据(即目标组件配置数据)所存储在的对象存储空间(即目标对象存储空间),并向目标对象存储空间所在的数据存储节点(即目标数据存储节点)发送针对该目标服务组件的注册请求。目标数据存储节点在获取到该注册请求时,可以基于该注册请求确定目标服务组件的进程信息,并基于该目标服务组件的进程信息确定目标服务组件对应的注册观察点信息,在将目标服务组件对应的注册观察点信息添加至目标配置对象的对象属性数据中时,将目标服务组件确定为已注册服务组件。
可以理解的是,在基于注册请求将目标服务组件确定为目标已注册服务组件时,目标数据存储节点可以通过目标注册观察点信息将目标配置中心对象中的目标组件配置数据,发送至目标已注册服务组件所运行在的服务设备。由此可以通过注册观察点的形式,实现服务组件所运行在的服务设备快速获取到全量的组件配置数据。
此处结合图示,对在数据池中的配置中心对象进行观察点注册的过程进行阐述。请参见图10,图10是本申请实施例提供的一种观察点注册的场景示意图。在数据池1中,可以包括配置中心对象A和配置中心对象B。配置中心对象A为组件类型a对应的配置中心对象,配置中心对象B为组件类型b对应的配置中心对象。其中,组件类型a关联的服务组件1可以在配置中心对象A中注册观察点,则可以基于服务组件1的进程信息生成注册观察点信息1,并将注册观察点信息1添加到配置中心对象A的对象属性数据中。组件类型b关联的服务组件2、组件类型b关联的服务组件3、组件类型b关联的服务组件4,均可以在配置中心对象B中注册观察点,则可以基于服务组件2的进程信息生成注册观察点信息2,基于服务组件3的进程信息生成注册观察点信息3,基于服务组件4的进程信息生成注册观察点信息4,并将注册观察点信息2、注册观察点信息3和注册观察点信息4添加到配置中心对象B的对象属性数据中。
进一步可以理解的是,服务组件在启动时,可以在对应的配置中心对象中注册观察点,服务组件在停止服务时,也可以取消观察点。例如,在服务组件停止服务时,服务组件所在的服务设备向相应的配置中心对象所在的数据存储节点发送取消观察请求,从而数据存储节点可以在相应的配置中心对象中删除注册观察点信息。
请参见图11,图11是本申请实施例提供的一种取消观察点的场景示意图。如图11所示,组件类型b关联的服务组件3,是注册观察点信息3所对应的服务组件。在服务组件3停止服务时,可以向配置中心对象B所在的数据存储节点发送取消观察请求,进而配置中心对象B所在的数据存储节点可以将配置中心对象B的对象属性数据中的注册观察点信息3删除。
进一步的,结合图示,对在服务组件在配置中心对象中进行服务组件的观察点注册以及组件配置数据的下发的过程进行阐述。请参见图12,图12是本申请实施例提供的一种配置数据的全量下发过程的场景示意图。如图12所示,存储池1中可以包括配置中心对象A,配置中心对象A为组件类型a对应的配置中心对象a。进而组件类型a关联的服务组件1在服务启动时,可以在配置中心对象A中注册观察点(步骤S1201),进而配置中心对象A所在的数据存储节点可以基于服务组件1的进程信息确定注册观察点信息1,并将注册观察点信息1存储至配置中心对象A的对象属性数据中。进一步的,配置中心对象A所在的数据存储节点可以从配置中心对象A的对象映射数据中确定全量的组件配置数据,并进行组件配置数据全量下发(步骤S1202)。
请参见图13,图13是本申请实施例提供的另一种配置数据处理方法的流程示意图。方法由部署在分布式存储系统中的配置管理客户端执行,分布式存储系统包括Q个数据存储节点;Q个数据存储节点中的每个数据存储节点上均部署有对象存储空间;M为正整数。该方法至少可以包括以下步骤S201-步骤S207。
S201、在获取到服务配置文件时,从服务配置文件中解析得到N个配置数据段;一个组件配置数据段是针对一个组件类型所关联的服务组件所确定的;N个配置数据段包括配置数据段i;i为小于或者等于N的正整数;配置数据段i所对应的组件类型为目标组件类型。
S202、将从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件名称作为目标组件名称,并将从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件配置数据作为目标组件配置数据。
其中,步骤S201-步骤S202,参照上述步骤S101-S102的相关描述,此处不做赘述。
其中,可以理解的是,分布式存储系统中划分有K个数据池,K为正整数;K个数据池中的每个数据池中均包括有数据映射存储单元,每个数据池中的数据映射存储单元用于映射到对应的对象存储空间;目标组件配置数据包括M个配置数据项;M为正整数;目标配置中心对象的对象类型包括全局对象类型。
其中,数据池以及数据映射存储单元的相关描述可以参照上述相关描述,此处不做赘述。
S203、在M小于或等于配置项数量阈值时,确定目标配置中心对象的对象类型为全局对象类型,并确定目标配置中心对象为全局配置对象;全局配置对象用于存储目标组件配置数据中的全局配置数据。
其中,可以理解的是,M为目标组件配置数据中的配置数据项的数量,M为正整数,则表示目标组件配置数据中的配置数据项(也称配置项)的数量为一个或多个。
该配置项数量阈值可以为将配置中心对象(如目标配置中心对象)的对象类型确定为全局对象类型所需满足的配置项数量的最大值。换言之,在目标组件配置数据中的配置数据项的配置项数量的小于或等于配置项数量阈值时,确定目标配置中心对象的对象类型为全局对象类型,并且可以确定目标配置中心对象为全局配置对象,从而通过一个对象(即全局配置对象)存储目标组件配置数据中的全部配置数据(即全局配置数据)。
S204、将K个数据池中用于发布服务配置文件的数据池,确定为目标数据池,基于空间分布信息确定目标数据池中的数据映射存储单元的单元数量。
其中,该目标数据池可以为用于发布服务配置文件的数据池。可以理解的是若在获取到配置文件时,获取到用户指定服务配置文件需要存储至的数据池,则该目标数据池可以为由用户指定的数据池;若未获取到用户指定服务配置文件需要存储至的数据池,则该目标数据池可以为分布式存储系统中的任一数据池,且可以将每个数据池均作为目标数据池,从而确定对象在每个数据池中对应的对象存储空间。
其中,可以理解的是,空间分布信息中可以包括分布式存储系统所包括的各个数据池中的数据映射存储单元的单元数据,由此可以从空间分布信息中确定出目标数据池中的数据映射存储单元的单元数量。
S205、将目标组件名称确定为全局配置对象的全局对象名称,对全局对象名称进行哈希计算,得到全局配置对象对应的名称哈希值,基于全局配置对象对应的名称哈希值与单元数量,确定全局配置对象所对应的数据映射存储单元。
其中,可以理解的是,该全局对象名称可以为全局配置对象的对象名称。例如,目标组件名称为Qos-agent,则全局配置对象的全局对象名称可以为Qos-agent。
其中,得到全局配置对象对应的名称哈希值,也就是对全局对象名称进行哈希计算得到的哈希值。可以理解的是,参照上述描述,哈希计算可以采用通用的哈希算法进行计算,如MD5算法(一种哈希算法),SHA-1算法(一种哈希算法)等等,此处不做限定。
可以理解的是,基于全局配置对象对应的名称哈希值与单元数量,确定全局配置对象所对应的数据映射存储单元,可以为将全局配置对象对应的名称哈希值除以(单元数量-1)并取余,所确定的余数用于映射到对应的数据映射存储单元,其具体的相关描述,参照上述基于对象对应的名称哈希值与单元数量,确定对象所对应的数据映射存储单元的相关描述,此处不做赘述。
S206、基于全局配置对象所对应的数据映射存储单元,从Q个数据存储节点上所部署的对象存储空间中,确定全局配置对象所对应的对象存储空间,将确定出的对象存储空间作为与配置数据段i相关联的目标对象存储空间。
其中,可以理解的是,基于全局配置对象所对应的数据映射存储单元,从Q个数据存储节点上所部署的对象存储空间中,确定全局配置对象所对应的对象存储空间,可以参照上述基于对象所对应的数据映射存储单元,从分布式存储系统的对象存储空间中,确定对象所对应的对象存储空间的相关描述。具体的,基于数据分布策略对全局配置对象所对应的数据映射存储单元的单元标识进行处理,确定全局配置对象所对应的对象存储空间。参照上述描述,该数据分布策略可以为用于指示确定全局配置对象所对应的数据映射存储单元所映射到的对象存储空间的策略,以使得分布式存储系统中的各个对象能够均衡分布至各个对象存储空间。例如,该数据分布策略可以为CRUSH算法(一种基于哈希的数据分布算法)。
可以理解的是,将确定出的对象存储空间作为与配置数据段i相关联的目标对象存储空间,也就是将全局配置对象对应的对象存储空间确定为目标对象存储空间。可以理解的是,在目标配置中心对象的对象类型为全局对象类型时,一个目标配置中心对象在一个数据池中对应一个对象存储空间,换言之,在一个数据池中,通过一个对象存储空间存储目标配置中心对象;在每个数据池中均需要发布服务配置文件时,则在每个数据池中均可以通过一个对象存储空间存储目标配置中心对象。
S207、在基于目标组件名称和目标组件配置数据,生成配置发布消息时,将配置发布消息发送给目标对象存储空间所在的数据存储节点,以使目标对象存储空间所在的数据存储节点,在目标对象存储空间中基于目标组件名称创建目标配置中心对象;目标配置中心对象为存储目标组件配置数据的配置中心对象。
其中,可以理解的是,在目标配置中心对象的对象类型为全局对象类型时,基于目标组件名称和目标组件配置数据,生成配置发布消息,可以为获取基于目标组件名称确定的全局配置对象的全局对象名称,并基于全局对象名称和目标组件配置数据生成配置发布消息。
可以理解的是,目标数据存储节点(即目标对象存储空间所在的数据存储节点)在获取到该配置发布消息时,可以在全局配置对象对应的对象存储空间(即目标对象存储空间)中创建该全局配置对象(即目标配置中心对象),该全局配置对象的对象名称即为基于目标组件名称确定的全局对象名称。如上述,在目标数据存储节点存储该目标组件配置数据时,将目标组件配置数据作为全局配置对象的omap(对象映射数据)存储至键值对数据库中(如rocksdb数据库),且目标组件配置数据中的每个配置数据项均是以键值对形式进行存储的,键值对的key为配置项的名称,value为相应的配置值。
可以理解的是,在配置管理客户端确定了用于备份目标组件配置数据的备份存储空间时,目标数据存储节点可以在获取到备份存储空间的空间标识时,基于备份存储空间的空间标识将全局配置对象备份至备份存储空间。
进一步地,请参见图14,图14是本申请实施例提供的又一种配置数据处理方法的流程示意图。方法由部署在分布式存储系统中的配置管理客户端执行,分布式存储系统包括Q个数据存储节点;Q个数据存储节点中的每个数据存储节点上均部署有对象存储空间;M为正整数;该方法至少可以包括以下步骤S301-步骤S306。
S301、在获取到服务配置文件时,从服务配置文件中解析得到N个配置数据段;一个组件配置数据段是针对一个组件类型所关联的服务组件所确定的;N个配置数据段包括配置数据段i;i为小于或者等于N的正整数;配置数据段i所对应的组件类型为目标组件类型。
S302、将从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件名称作为目标组件名称,并将从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件配置数据作为目标组件配置数据。
其中,步骤S301-步骤S302可以参照上述步骤S101-步骤S102的相关描述,此处不做赘述。
S303、在M大于配置项数量阈值时,确定目标配置中心对象的对象类型为分片对象类型,并确定目标配置中心对象包括L个分片对象;L个分片对象中的每个分片对象用于存储目标组件配置数据中的局部配置数据;L为目标配置中心对象所包括的分片对象的分片对象数量;L为大于1的正整数。
可以理解的是,在配置项数量大于配置项数量阈值时,可以确定目标配置中心对象的对象类型为分片对象类型,也就是可以将目标组件配置数据分别存储在不同的分片对象中,每个分片对象用于存储目标组件配置数据中的部分配置数据(即局部配置数据),各个分片对象所存储的部分配置数据的总和即为全部目标组件配置数据。可以理解的是,一个配置数据项只用于存储至一个分片对象,即不会在不同分片对象中重复存储相同配置数据项。
可以理解的是,L为目标配置中心对象所包括的分片对象的分片对象数量。L为大于1的正整数,也就是说,目标配置中心对象所包括的分片对象的分片对象数量为至少两个。
可以理解的是,对于配置数据项的数量较多的组件配置数据,比如几万配置数据项的组件配置数据,将全部组件配置数据存储在一个对象的omap(对象映射数据)中,需要消耗较多时间进行存储,相较于通过单一对象存储空间来存储一个组件类型对应的全部组件配置数据来说,通过多个分片对象分别存储部分配置数据,可以分摊对象存储空间的存储压力,提升组件配置数据的存储效率。
S304、基于目标组件名称确定L个分片对象的分片对象名称;每个分片对象的对象名称包括目标组件名称以及分片序号;不同分片对象对应不同的分片序号。
其中,可以理解的是,该对象的对象名称可以包括目标组件名称和分片对象的分片序号(也称序号)。该分片序号为用于在一个配置中心对象包括的L个分片对象中唯一标识一个分片对象。例如,目标组件名称为Qos-agent,则目标组件类型对应的配置中心对象包括的分片对象的对象名称,可以为Qos-agent-0、Qos-agent-1、Qos-agent-2等等。不同分片对象的分片序号(也称序号)不同,从而通过包括不同的分片序号来区分不同的分片对象,通过包括相同的目标组件名称来表示属于同一目标配置中心对象。
S305、基于空间分布信息和L个分片对象对应的分片对象名称,从Q个数据存储节点上所部署的对象存储空间中,确定每个分片对象对应的对象存储空间,将确定出的对象存储空间作为与配置数据段i相关联的目标对象存储空间。
其中,可以理解的是,在目标配置中心对象的对象类型为分片对象类型时,可以分别确定每个分片对象所对应的对象存储空间,从而将所确定的各个分片对象对应的对象存储空间作为目标对象存储空间。例如,目标配置中心对象包括3个分片对象,该3个分片对象包括:分片对象1、分片对象2和分片对象3,进而可以分别确定出分片对象1对应的对象存储空间1,分片对象2对应的对象存储空间2,分片对象3对应的对象存储空间3,从而可以将对象存储空间1、对象存储空间2、对象存储空间3确定为目标对象存储空间,换言之,目标对象存储空间包括对象存储空间1、对象存储空间2、对象存储空间3。可以理解的,确定每个分片对象对应的对象存储空间,可以参照上述确定任一对象对应的对象存储空间的相关描述,此处不做赘述。
具体的,L个分片对象中包括分片对象j,j为小于或等于L的正整数;分布式存储系统中划分有K个数据池,K为正整数;K个数据池中的每个数据池中均包括有数据映射存储单元,每个数据池中的数据映射存储单元用于映射到对应的对象存储空间;那么,基于空间分布信息和L个分片对象对应的分片对象名称,从Q个数据存储节点上所部署的对象存储空间中,确定每个分片对象对应的对象存储空间,可以包括以下步骤:将K个数据池中用于发布服务配置文件的数据池,确定为目标数据池,基于空间分布信息确定目标数据池中的数据映射存储单元的单元数量;对分片对象j的对象名称进行哈希计算,得到分片对象j对应的名称哈希值,基于分片对象j对应的名称哈希值与单元数量,确定分片对象j所对应的数据映射存储单元;基于分片对象j所对应的数据映射存储单元,从Q个数据存储节点上所部署的对象存储空间中,确定分片对象j所对应的对象存储空间。
其中,分片对象j可以为目标配置中心对象所包括的多个分片对象中的任一分片对象。例如,目标配置中心对象包括3个分片对象,该3个分片对象包括:分片对象1、分片对象2和分片对象3,则该分片对象j可以为分片对象1、分片对象2或者分片对象3。可以理解的是,此处以分片对象j为例,阐述确定分片对象j所对应的对象存储空间的方法,针对目标配置中心对象中的每个分片对象来说,均需要参照确定分片对象j所对应的对象存储空间的相关描述确定其对应的对象存储空间。
可以理解的是,确定目标数据池,以及确定目标数据池所对应的单元数量的步骤可以参照上述相关描述,此处不做赘述。
可以理解的是,基于分片对象j对应的名称哈希值与单元数量,确定分片对象j所对应的数据映射存储单元,可以参照上述确定任一对象所对应的数据映射存储单元的方法。具体的,可以为将分片对象j对应的名称哈希值除以(单元数量-1)并取余,所确定的余数用于映射到对应的数据映射存储单元。
其中,基于分片对象j所对应的数据映射存储单元,从Q个数据存储节点上所部署的对象存储空间中,确定分片对象j所对应的对象存储空间,可以参照上述基于对象所对应的数据映射存储单元,从分布式存储系统的对象存储空间中,确定对象所对应的对象存储空间的相关描述。具体的,基于数据分布策略对分片对象j所对应的数据映射存储单元的单元标识进行处理,确定分片对象j所对应的对象存储空间。参照上述描述,该数据分布策略可以为用于指示确定分片对象j所对应的数据映射存储单元所映射到的对象存储空间的策略,以使得分布式存储系统中的各个对象能够均衡分布至各个对象存储空间。例如,该数据分布策略可以为CRUSH算法(一种基于哈希的数据分布算法)。
可以理解的是,将确定出的对象存储空间作为与配置数据段i相关联的目标对象存储空间,也就是将各个分片对象对应的对象存储空间确定为目标对象存储空间。可以理解的是,在目标配置中心对象的对象类型为分片对象类型时,一个目标配置中心对象在一个数据池中对应多个对象存储空间,换言之,在一个数据池中,通过多个对象存储空间分别存储对应的分片对象来存储目标配置中心对象。
可以理解的是,在确定了目标配置对象包括L个分片对象时,还需要确定每个分片对象所需要存储的配置数据。
具体的,M个配置数据项中的每个配置数据项均包括配置名;则本申请实施例还可以包括:对每个配置数据项的配置名进行哈希计算,得到每个配置数据项对应的配置名哈希值;基于每个配置数据项对应的配置名哈希值与分片数量,将每个配置数据项映射到对应的分片对象;一个配置数据项用于映射到一个分片对象;基于每个配置数据项所映射到的分片对象,确定每个分片对象用于存储的配置数据项。
其中,配置名哈希值是指对配置数据项的配置名进行哈希计算得到的哈希值。此处的哈希计算也可以通过通用的哈希算法进行计算,此处不做赘述。
可以理解的是,基于每个配置数据项对应的配置名哈希值与分片数量,将每个配置数据项映射到对应的分片对象,可以为将每个配置名哈希值分别除以分片数量并取余,从而基于余数确定每个配置数据项对应的分片对象,例如,可以将分片序号与余数相同的分片对象确定为配置数据项对应的分片对象。可以理解的是,针对每个配置数据项来说,均可以通过计算映射到对应的分片对象。
例如,请参见图15,图15是本申请实施例提供的一种确定配置数据项所对应的分片对象的流程示意图。目标组件配置数据包括5个配置数据项,该5个配置数据项的配置名分别为:配置名1、配置名2、配置名3、配置名4、配置名5。目标配置中心对象所包括3个分片对象,分别为:分片对象0、分片对象1、分片对象2。进而可以基于配置名哈希值和分片数量确定对应的分片对象(步骤S1501)。具体的,对于配置名为配置名1的配置数据项来说,可以对配置名1进行哈希计算得到配置名1的名称哈希值,将配置名1的名称哈希值除以3(即分片数量)并取余,在余数为0时,配置名为配置名1的配置数据项映射到分片对象0;对于配置名为配置名2的配置数据项来说,可以对配置名2进行哈希计算得到配置名2的名称哈希值,将配置名2的名称哈希值除以3(即分片数量)并取余,在余数为1时,配置名为配置名2的配置数据项映射到分片对象1;同理,可以分别确定每个分片对象的所映射到的分片对象。若配置名1的配置数据项映射到分片对象0,配置名2的配置数据项映射到分片对象1,配置名3的配置数据项映射到分片对象3,配置名4的配置数据项映射到分片对象0,配置名5的配置数据项映射到分片对象2,则分片对象0用于存储配置名1和配置名4的配置数据项,分片对象1用于存储配置名2配置数据项,分片对象2用于存储配置名3和配置名5的配置数据项。由此可以通过哈希计算并取余的方式,尽可能使得各个配置数据项均匀分配到不同的分片对象,有助于提升对组件配置数据的存储的压力分摊效果。
S306、在基于目标组件名称和目标组件配置数据,生成配置发布消息时,将配置发布消息发送给目标对象存储空间所在的数据存储节点,以使目标对象存储空间所在的数据存储节点,在目标对象存储空间中基于目标组件名称创建目标配置中心对象;目标配置中心对象为存储目标组件配置数据的配置中心对象。
其中,可以理解的是,在目标配置中心对象的对象类型为分片对象类型时,该配置发布消息可以包括每个分片对象所对应的配置发布子消息。该配置发布子消息用于指示通知分片对象所对应的对象存储空间所在的数据存储节点,在分片对象所对应对象存储空间中创建分片对象。
具体的,目标组件配置数据包括M个配置数据项;M为正整数;目标配置中心对象包括L个分片对象;L为大于1的正整数;L个分片对象中的每个分片对象用于存储目标组件配置数据中的局部配置数据;L个分片对象中包括分片对象j,j为小于或等于L的正整数;配置发布消息中包括分片对象j对应的配置发布子消息;那么,基于目标组件名称和目标组件配置数据,生成配置发布消息,可以包括以下步骤:获取基于目标组件名称确定的分片对象j的分片对象名称;在从M个配置数据项中确定分片对象j所用于存储的配置数据项时,基于分片对象j的分片对象名称和分片对象j所用于存储的配置数据项,生成分片对象j对应的配置发布子消息;基于分片对象j对应的配置发布子消息确定配置发布消息。
其中,可以理解的是,分片对象j的分片对象名称的确定方法可以参照上述相关描述,此处做赘述。从M个配置数据项中确定分片对象j所用于存储的配置数据项的方法,可以参照上述图15的相关描述,此处不做赘述。
基于分片对象j对应的配置发布子消息确定配置发布消息,也就是将分片对象j对应的配置发布子消息作为配置发布消息中包括的配置发布子消息。可以理解的是,可以确定出每个分片对象对应的配置发布子消息,进而将L个分片对象对应的配置发布子消息确定为目标配置中心对象对应的配置发布消息。
进一步的,目标对象存储空间中包括分片对象j对应的对象存储空间;目标对象存储空间所在的数据存储节点包括分片对象j对应的数据存储节点;那么,将配置发布消息发送给目标对象存储空间所在的数据存储节点,可以包括以下步骤:将分片对象j对应的配置发布子消息,发送给分片对象j对应的数据存储节点;分片对象j对应的配置发布子消息用于指示分片对象j对应的数据存储节点,在分片对象j对应的对象存储空间中,基于分片对象j的分片对象名称创建分片对象j;分片对象j的分片对象名称中包括目标组件名称;分片对象j用于存储分片对象j所用于存储的配置数据项。
其中,可以理解的是,分片对象j对应的数据存储节点,也就是分片对戏那个j所对应的存储空间所在的数据存储节点。
可以理解的是,分片对象j对应的数据存储节点在获取到该分片对象j对应的配置发布子消息时,可以在分片对象j对应的对象存储空间中创建分片对象j,该分片对象j的分片对象名称包括目标组件名称和分片序号。可以理解的是,该分片对象j所用于存储的配置数据项可以作为分片对象j的对象映射数据(omap)存储在键值对数据库中,且分片对象j所用于存储的配置数据项均是以键值对形式进行存储的,键值对的key为配置项的名称,value为相应的配置值。
可以理解的是,在配置管理客户端可以确定用于备份分片对象j的备份存储空间时,分片对象j对应的数据存储节点可以在获取到用于备份分片对象j的备份存储空间的空间标识时,基于备份存储空间的空间标识将分片对象j的备份至备份存储空间。可以理解的是,对于每个分片对象来说,均可以确定其对应的备份存储空间,不同分片对象所对应的对象存储空间可以相同也可以不同,且不同分片对象所对应的对象存储空间可以相同也可以不同,其具体取决于实际对于分片对象的分片对象名称的哈希计算结果,此处不做限定。
请参见图16,图16是本申请实施例提供的再一种配置数据处理方法的流程示意图。方法由部署在分布式存储系统中的配置管理客户端执行,分布式存储系统包括Q个数据存储节点;Q个数据存储节点中的每个数据存储节点上均部署有对象存储空间;M为正整数。该方法至少可以包括以下步骤S401-步骤S407。
S401、在获取到服务配置文件时,从服务配置文件中解析得到N个配置数据段;一个组件配置数据段是针对一个组件类型所关联的服务组件所确定的;N个配置数据段包括配置数据段i;i为小于或者等于N的正整数;配置数据段i所对应的组件类型为目标组件类型;
S402、将从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件名称作为目标组件名称,并将从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件配置数据作为目标组件配置数据。
S403、在获取到Q个数据存储节点上所部署的对象存储空间所关联的空间分布信息时,基于空间分布信息和目标组件名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于存储目标组件配置数据的对象存储空间,将确定出的对象存储空间作为与配置数据段i相关联的目标对象存储空间。
S404、在基于目标组件名称和目标组件配置数据,生成配置发布消息时,将配置发布消息发送给目标对象存储空间所在的数据存储节点,以使目标对象存储空间所在的数据存储节点,在目标对象存储空间中基于目标组件名称创建目标配置中心对象;目标配置中心对象为存储目标组件配置数据的配置中心对象。
其中,步骤S401-步骤S404可以参照上述步骤,此处不做赘述。
S405、在获取到针对目标组件类型所关联的服务组件的配置数据更新指令时,调用配置更新组件对配置数据更新指令进行解析,得到配置数据更新指令对应的更新数据解析结果;更新数据解析结果包括目标组件名称和待更新配置数据。
其中,该配置数据更新指令可以用于指示对服务组件的组件配置数据进行更新的数据更新指令。可以理解的是,配置数据更新指令中可以携带待更新服务组件的组件名称,和待更新配置数据。其中,待更新服务组件的组件名称,是指待更新的组件类型关联的服务组件的统称为的组件名称,换言之,一个组件类型关联的服务组件的组件名称相同。待更新配置数据可以为需要进行更新的配置数据,待更新配置数据可以包括待更新的配置名以及需要更新为的配置值。例如,配置数据更新指令可以为如下结构:
config set {Name} {config-key} {config-value}
其中,config set表示这是一条数据更新指令,{Name}表示待更新服务组件的组件名称,{config-key}表示待更新配置数据的配置名,{config-value}表示待更新配置数据的配置值。
可选的,该配置更新指令中还可以包括待更新服务组件的进程信息,该待更新服务组件的进程信息可以为待更新服务组件的地址信息(如IP)和端口信息。例如,配置数据更新指令可以为如下结构:
Config set {Name} {ip:端口} {config-key} {config-value}
其中,config set表示这是一条数据更新指令,{Name}表示待更新服务组件的组件名称,{ip:端口}表示待更新服务组件的进程信息,{config-key}表示待更新配置数据的配置名,{config-value}表示待更新配置数据的配置值。
可选的,该配置更新指令中还可以包括需要进行配置数据更新的数据池。若在配置更新指令中指定了待更新的数据池,则可以仅对该数据池中的目标配置中心对象中的配置数据进行更新;若在配置更新指令中未指定待更新的数据池,则可以对分布式存储系统中存储有该目标组件类型对应的配置中心对象(即目标配置中心对象)的全部数据池中的目标配置中心对象中的配置数据进行更新。
可以理解的是,在配置更新指令中包括待更新服务组件的进程信息时,可以只对所指定的进程信息对应的服务组件的配置数据进行更新,且不对配置中心对象中的配置数据进行更新持久化。在配置更新指令中不包括待更新服务组件的进程信息时,可以对目标配置中心对象中的配置数据进行更新持久化,且可以对目标配置中心对象中的注册观察点信息所对应的已注册服务组件的配置数据进行批量更新。由此可以既能够实现对单个服务组件的配置数据的更新,也可以实现对同一组件类型的多个服务组件的配置数据进行批量更新,有助于提升对服务组件的配置数据的更新的灵活性。另外,通过注册观察点的形式在配置中心对象中记录正在运行的服务组件的进程信息,以便于基于注册观察点信息进行配置数据的增量更新或全量下发,大大提升了配置数据的更新或发布效率。
该更新数据解析结果可以为对配置数据更新指令进行解析得到的结果。换言之,就是按照配置数据更新指令的结构解析出配置数据更新指令的各个指令参数,基于解析出的指令参数确定更新数据解析结果。该更新数据解析结果可以调用配置更新组件对配置数据更新指令进行解析得到,该配置更新组件的相关描述,可以参照上述描述,此处不做赘述。
可以理解的是,在目标组件类型所关联的服务组件的配置数据更新指令中,待更新服务组件的组件名称,是目标组件类型关联的服务组件的组件名称,即目标组件名称。也就是说,所获取到的更新数据解析结果可以包括目标组件名称和待更新配置数据。
可以理解的是,在实际过程中,获取到针对目标组件类型所关联的服务组件的配置数据更新指令可以为,目标数据存储节点在获取到配置数据更新指令时,调用配置更新组件对配置数据更新指令进行解析,在解析到配置数据更新指令包括的待更新服务组件的组件名称为目标组件类型所关联的服务组件的组件名称时,确定获取到针对目标组件类型所关联的服务组件的配置数据更新指令。
S406、在获取到空间分布信息时,基于空间分布信息和目标组件名称,从Q个数据存储节点上所部署的对象存储空间中,确定待更新配置数据关联的待更新对象存储空间;待更新对象存储空间用于存储待更新配置数据对应的目标组件配置数据;待更新对象存储空间属于目标对象存储空间;
其中,可以理解的是,待更新对象存储空间可以为用于存储该待更新配置数据所对应的目标组件配置数据的对象存储空间,具体可以为用于存储该待更新配置数据所对应的配置数据项的对象存储空间。可以理解的是,在目标配置中心对象的对象类型为全局对象类型时,该待更新对象存储空间可以为全局配置对象所对应的对象存储空间;在目标配置中心对象的对象类型为分片对象类型时,该待更新对象存储空间可以为配置名与待更新配置数据的配置名相匹配的配置数据项所映射到的分片对象对应的对象存储空间。
具体的,目标配置中心对象为全局配置对象;待更新配置数据中包括配置名和配置值;那么,基于空间分布信息和目标组件名称,从Q个数据存储节点上所部署的对象存储空间中,确定待更新配置数据关联的待更新对象存储空间,可以包括以下步骤:基于目标组件名称确定待更新配置数据对应的全局配置对象的全局对象名称,并将待更新配置数据对应的全局配置对象确定为待更新全局配置对象;基于空间分布信息和全局对象名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于存储待更新全局配置对象的对象存储空间,将用于存储待更新全局配置对象的对象存储空间确定为待更新对象存储空间;待更新对象存储空间为目标对象存储空间。
其中,基于目标组件名称确定待更新配置数据对应的全局配置对象的全局对象名称,也就是将目标组件名称确定为全局对象名称。待更新全局配置对象为需要进行配置数据更新的全局配置对象。待更新对象存储空间也就是待更新全局配置对象对应的对象存储空间。可以理解的是,在目标配置中心对象(即目标组件类型对应的配置中心对象)为全局对象类型时,则该待更新对象存储空间即为目标对象存储空间。
可以理解的是,基于空间分布信息和全局对象名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于存储待更新全局配置对象的对象存储空间,可以参照上述,基于空间分布信息和全局对象名称,从Q个数据存储节点上所部署的对象存储空间中,确定全局配置对象对应的对象存储空间的相关描述,此处不做赘述。
具体的,目标配置中心对象包括L个分片对象;L为大于1的正整数;L个分片对象中的每个分片对象用于存储目标组件配置数据中的局部配置数据;L为目标配置中心对象所包括的分片对象的分片对象数量;待更新配置数据中包括配置名和配置值;那么,基于空间分布信息和目标组件名称,从Q个数据存储节点上所部署的对象存储空间中,确定待更新配置数据关联的待更新对象存储空间,可以包括以下步骤:对待更新配置数据的配置名进行哈希计算,得到待更新配置数据对应的配置名哈希值,基于待更新配置数据对应的配置名哈希值和分片对象数量,从L个分片对象中确定待更新配置数据所映射到的分片对象,将待更新配置数据所映射到的分片对象确定为待更新分片对象;待更新分片对象的对象名称包括目标组件名称;基于空间分布信息和待更新分片对象的对象名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于存储待更新分片对象的对象存储空间,将用于存储待更新分片对象的对象存储空间确定为待更新对象存储空间;待更新对象存储空间属于目标对象存储空间。
其中,对待更新配置数据的配置名进行哈希计算,得到待更新配置数据的配置名哈希值,基于配置名哈希值和分片对象数量,从L个分片对象中确定待更新配置数据所映射到的分片对象,可以参照上述对每个配置数据项的配置名进行哈希计算得到每个配置数据项的配置名哈希值,并基于每个配置数据项的配置名哈希值和分片对象数量,从L个分片对象中确定每个配置数据项所映射到的分片对象的相关描述,此处不做赘述。
该待更新分片对象可以为待更新配置数据所映射到的分片对象。可以理解的是,若待更新配置数据所包括的配置数据项的数量为单个,则该待更新分片对象为该待更新配置数据中的单个配置数据项所映射到分片对象。若待更新配置数据所包括的配置数据项的数量为多个,则该待更新分片对象可以包括该待更新配置数据中的每个配置数据项分别映射到的分片对象,也就是说,待更新分片对象的数量可以为一个或多个分片对象,具体由待更新配置数据中的每个配置数据项所映射到的分片对象决定,可能多个配置数据项映射到同一分片对象,也可能多个配置数据项映射到不同分片对象,此处不做限定。
在目标配置中心对象的对象类型为分片对象类型时,该待更新对象存储空间是指用于存储待更新分片对象的对象存储空间,则该待更新对象存储空间属于目标对象存储空间。
S407、基于更新数据解析结果生成配置更新消息,并将配置更新消息发送至待更新对象存储空间所在的数据存储节点。
其中,配置更新消息可以为用于指示对目标组件类型的服务组件的配置数据进行更新的消息。可以理解的是,基于更新数据解析结果生成配置更新消息,可以为基于更新数据解析结果所包括的参数生成配置更新消息,如可以基于待更新服务组件的组件名称(即目标组件名称)和待更新配置数据生成配置更新消息。
可以理解的是,若目标配置中心对象为全局对象类型,则待更新对象存储空间为待更新全局配置对象所在的数据存储节点,则可以将配置更新数据发送至待更新全局配置对象所在的数据存储节点。若目标配置中心对象为分片对象类型,则待更新对象存储空间为待更新分片对象所在的数据存储节点,则可以将配置更新数据发送至待更新分片对象所在的数据存储节点。并且若待更新分片对象的数量为单个,进而可以将配置更新消息发送至该单个待更新对象存储空间所在的数据存储节点。若待更新分片对象的数量为多个时,配置更新消息中包括基于更新数据解析结果生成的每个待更新分片对象对应的配置更新子消息,进而可以将每个待更新分片对象对应的配置更新子消息分别发送至每个待更新分片对象对应的待更新对象存储空间所在的数据存储节点。
可以理解的是,若配置数据更新指令中携带待更新服务组件的进程信息,则后续只需要对所携带的进程信息所对应的服务组件进行配置更新;若配置数据更新指令中,未携带待更新服务组件的进程信息,则后续可以对目标配置中心对象所对应的全部已注册服务组件批量进行配置更新,由此可以对同一组件类型关联的服务组件批量进行配置更新,有助于提升配置数据的更新效率。另外,在对服务组件的配置数据进行更新时,不需要进行配置数据的重新发布,只需要对其中的某些配置数据项进行增量更新,有助于提升配置数据更新的效率。
具体的,目标配置中心对象中包括对象属性数据,对象属性数据用于存储目标组件类型所关联的P个已注册服务组件的P个注册观察点信息;一个已注册服务组件对应一个注册观察点信息;P为正整数;已注册服务组件是在目标配置中心对象中进行注册的目标组件类型关联的服务组件;注册观察点信息中包括已注册服务组件关联的进程信息;那么,基于更新数据解析结果生成配置更新消息,并将配置更新消息发送至待更新对象存储空间所在的数据存储节点,可以包括以下步骤:在从更新数据解析结果中未获取到待更新服务组件的进程信息时,基于更新数据解析结果生成第一配置更新消息;第一配置更新消息不包括待更新服务组件的进程信息;将待更新对象存储空间所在的数据存储节点确定为待更新数据存储节点,将第一配置更新消息发送至待更新数据存储节点,以使待更新数据存储节点,通过待更新配置数据对目标配置中心对象所存储的目标组件配置数据进行更新,并基于P个已注册服务组件对应的P个注册观察点信息,向每个已注册服务组件所运行在的服务设备发送配置更新请求;配置更新请求用于指示通过待更新配置数据,对每个已注册服务组件所运行在的服务设备中所存储的目标组件配置数据进行更新。
其中,在从更新数据解析结果中未获取到待更新服务组件的进程信息,则表示该配置数据更新指令可以用于指示对目标配置中心对象的全部已注册服务组件的配置数据进行更新。第一配置更新消息为基于不包括待更新服务组件的进程信息的配置更新消息。待更新数据存储节点为待更新对象存储空间所在的数据存储节点。
可以理解的是,待更新数据存储节点在获取到不包括待更新服务组件的进程信息的配置更新消息时,可以基于待更新配置数据对配置中心对象所存储的目标组件配置数据进行更新,以进行的更新的配置数据的持久化。进一步的,待更新配置数据存储节点可以确定配置更新请求,该配置更新请求可以是基于第一更新配置消息所确定的,其中可以包括待更新的服务组件的组件名称和待更新配置数据。进一步的,在确定第一配置更新消息中不包括待更新服务组件的进程消息时,则待更新数据存储节点可以通知目标配置中心对象关联的全部已注册服务组件(即目标组件类型的已注册服务组件)所运行在的服务设备,对服务设备中所存储的已注册服务组件的配置数据进行更新。由此可以对同一组件类型关联的服务组件批量进行配置增量更新,有助于提升配置数据的更新效率。
可以理解的是,通过待更新配置数据对目标配置中心对象所存储的目标组件配置数据进行更新,可以为通过待更新配置数据的配置名,从目标配置中心对象所存储的目标组件配置数据中确定与待更新配置数据的配置名相匹配的配置数据项,进而将所确定的配置数据项中的配置值,更新为待更新配置数据中的配置值。同理,通过待更新配置数据,对每个已注册服务组件所运行在的服务设备中所存储的目标组件配置数据进行更新,可以为通过待更新配置数据的配置名,从服务设备中所存储的目标组件配置数据中确定与待更新配置数据的配置名相匹配的配置数据项,进而将所确定的配置数据项中的配置值,更新为待更新配置数据中的配置值。
例如,请参见图17,图17是本申请实施例提供的一种配置更新过程的场景示意图。此处以对存储池1中的配置数据进行更新为例。首先,配置管理客户端可以获取到配置数据更新指令,该配置数据更新指令不包括待更新服务组件的进程信息。进而配置管理客户端可以调用配置更新工具对配置数据更新指令进行解析,以确定出待更新配置数据所对应的配置中心对象为配置中心对象A,以及待更新配置数据所在的对象存储空间。配置管理客户端还可以确定第一配置更新消息,该第一配置更新消息为不包括待更新服务组件的进程信息的配置更新消息。进而配置管理客户端可以向存储池1中的配置中心对象A发送第一配置更新消息(即步骤S1701),具体可以为向待更新配置数据所在的数据存储节点(即待更新数据存储节点)发送该第一配置更新消息。进而分布式存储系统中的待更新数据存储节点可以对配置中心对象A的对象映射数据中的组件配置数据进行配置数据更新持久化(步骤S1702),具体可以为通过待更新配置数据的对象映射数据中的组件配置数据进行更新。然后待更新数据存储节点可以遍历配置中心对象A的注册观察点信息(步骤S1703),进而基于每个注册观察点信息向对应的服务组件发送配置更新请求(步骤S1704),具体可以为基于每个注册观察点信息向对应的服务组件所运行在的服务设备发送配置更新请求。然后服务组件所在的服务设备,在获取到配置更新请求后,可以基于该配置更新请求对服务设备的内存中的配置数据(即内存配置)进行配置更新(步骤S1705)。例如,通过注册观察点信息1可以向组件类型a关联的服务组件1发送配置更新请求,以使得服务组件1所在的服务设备对内存配置进行配置更新,同理,通过注册观察点信息2可以向组件类型a关联的服务组件2发送配置更新请求,以使得服务组件2所在的服务设备对内存配置进行配置更新。
具体的,目标配置中心对象中包括对象属性数据,对象属性数据用于存储目标组件类型所关联的P个已注册服务组件的P个注册观察点信息;一个已注册服务组件对应一个注册观察点信息;P为正整数;已注册服务组件是在目标配置中心对象中进行注册的目标组件类型关联的服务组件;注册观察点信息中包括已注册服务组件关联的进程信息;那么,基于更新数据解析结果生成配置更新消息,并将配置更新消息发送至待更新对象存储空间所在的数据存储节点,可以包括以下步骤:在从更新数据解析结果中获取到待更新服务组件的进程信息时,基于更新数据解析结果生成第二配置更新消息;第二配置更新消息中包括待更新服务组件的进程信息;将待更新对象存储空间所在的数据存储节点确定为待更新数据存储节点,将第二配置更新消息发送至待更新数据存储节点,以使待更新数据存储节点,在确定P个注册观察点信息中存在与待更新服务组件的进程信息相匹配的注册观察点信息时,基于与待更新服务组件的进程信息相匹配的注册观察点信息,向待更新服务组件所运行在的服务设备发送配置更新请求;配置更新请求用于指示通过待更新配置数据,对待更新服务组件所运行在的服务设备中所存储的目标组件配置数据进行更新。
其中,在从更新数据解析结果中获取到待更新服务组件的进程信息,则表示该配置数据更新指令可以用于指示对所获取到待更新服务组件的进程信息对应的已注册服务组件的组件配置数据进行更新。第二配置更新消息为基于包括待更新服务组件的进程信息的配置更新消息。待更新数据存储节点为待更新对象存储空间所在的数据存储节点。其中,确定与待更新服务组件的进程信息相匹配的注册观察点信息,可以为:遍历对象属性数据中的P个注册观察点信息,将P个注册观察点信息中,包括的进程信息与待更新服务组件的进程信息一致的注册观察点信息,确定为与待更新服务组件的进程信息相匹配的注册观察点信息。
可以理解的是,待更新数据存储节点在获取到包括待更新服务组件的进程信息的配置更新消息时,可以不需要基于待更新配置数据对配置中心对象所存储的目标组件配置数据进行更新,而只需要直接通知待更新服务组件的进程信息对应的已注册服务组件进行配置更新,由此可以使得配置中心对象中所存储的组件配置数据是针对同一组件类型关联的全部服务组件所确定的,而不是针对某个服务组件所确定的,提升了配置中心对象所存储的组件配置数据的可靠性。具体的,待更新配置数据存储节点可以确定配置更新请求,该配置更新请求可以是基于第二更新配置消息所确定的,其中可以包括待更新的服务组件的组件名称和待更新配置数据。由此可以对同一组件类型关联的部分服务组件进行配置增量更新,有助于提升配置数据更新过程的灵活性。
又如,请参见图18,图18是本申请实施例提供的另一种配置更新过程的场景示意图。此处以对存储池1中的配置数据进行更新为例。首先,配置管理客户端可以获取到配置数据更新指令,该配置数据更新指令包括服务组件1的进程信息,则表示用于对服务组件1的配置数据进行更新。进而配置管理客户端可以调用配置更新工具对配置数据更新指令进行解析,以确定出待更新配置数据所对应的配置中心对象为配置中心对象A,以及待更新配置数据所在的待更新对象存储空间。配置管理客户端还可以确定第二配置更新消息,该第二配置更新消息为包括待更新服务组件的进程信息的配置更新消息。进而配置管理客户端可以向存储池1中的配置中心对象A发送第二配置更新消息(即步骤S1801),具体可以为向待更新配置数据所在的数据存储节点(即待更新数据存储节点)发送该第二配置更新消息。进而分布式存储系统中的(即待更新数据存储节点)可以遍历配置中心对象A的注册观察点信息(步骤S1802),在确定P个注册观察点信息中存在与服务组件1(即待更新服务组件)的进程信息相匹配的注册观察点信息(注册观察点信息1)时,基于注册观察点信息1(即与待更新服务组件的进程信息相匹配的注册观察点信息),向服务组件1发送配置更新请求,具体可以为基于服务组件1对应的注册观察点信息向服务组件1所运行在的服务设备发送配置更新请求。然后服务组件1所在的服务设备,在获取到配置更新请求后,可以基于该配置更新请求对服务设备中的内存配置进行配置更新。
请参见图19,图19是本申请实施例提供的一种配置数据处理装置的结构示意图。如图19所示,配置数据处理装置1可以是由部署在分布式存储系统中的配置管理客户端运行(例如,上述配置管理客户端400a)的一个计算机程序(包括程序代码),例如该配置数据处理装置1为一个应用软件;可以理解的是,分布式存储系统包括Q个数据存储节点;Q个数据存储节点中的每个数据存储节点上均部署有对象存储空间;M为正整数;该配置数据处理装置1可以用于执行本申请实施例提供的数据处理方法中的相应步骤。如图19所示,该数据处理装置1可以包括:文件解析模块11、数据确定模块12、存储空间确定模块13、发布消息发送模块14;
文件解析模块11,用于在获取到服务配置文件时,从服务配置文件中解析得到N个配置数据段;一个组件配置数据段是针对一个组件类型所关联的服务组件所确定的;N个配置数据段包括配置数据段i;i为小于或者等于N的正整数;配置数据段i所对应的组件类型为目标组件类型;
数据确定模块12,用于将从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件名称作为目标组件名称,并将从配置数据段i中解析得到的目标组件类型所关联的服务组件的组件配置数据作为目标组件配置数据;
存储空间确定模块13,用于在获取到Q个数据存储节点上所部署的对象存储空间所关联的空间分布信息时,基于空间分布信息和目标组件名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于存储目标组件配置数据的对象存储空间,将确定出的对象存储空间作为与配置数据段i相关联的目标对象存储空间;
发布消息发送模块14,用于在基于目标组件名称和目标组件配置数据,生成配置发布消息时,将配置发布消息发送给目标对象存储空间所在的数据存储节点,以使目标对象存储空间所在的数据存储节点,在目标对象存储空间中基于目标组件名称创建目标配置中心对象;目标配置中心对象为存储目标组件配置数据的配置中心对象。
其中,分布式存储系统中划分有K个数据池,K为正整数;K个数据池中的每个数据池中均包括有数据映射存储单元,每个数据池中的数据映射存储单元用于映射到对应的对象存储空间;目标组件配置数据包括M个配置数据项;M为正整数;目标配置中心对象的对象类型包括全局对象类型;
存储空间确定模块13,包括:全局对象确定单元131、单元数量确定单元132、映射单元确定单元133、全局对象空间确定单元134;
全局对象确定单元131,用于在M小于或等于配置项数量阈值时,确定目标配置中心对象的对象类型为全局对象类型,并确定目标配置中心对象为全局配置对象;全局配置对象用于存储目标组件配置数据中的全局配置数据;
单元数量确定单元132,用于将K个数据池中用于发布服务配置文件的数据池,确定为目标数据池,基于空间分布信息确定目标数据池中的数据映射存储单元的单元数量;
映射单元确定单元133,用于将目标组件名称确定为全局配置对象的全局对象名称,对全局对象名称进行哈希计算,得到全局配置对象对应的名称哈希值,基于全局配置对象对应的名称哈希值与单元数量,确定全局配置对象所对应的数据映射存储单元;
全局对象空间确定单元134,用于基于全局配置对象所对应的数据映射存储单元,从Q个数据存储节点上所部署的对象存储空间中,确定全局配置对象所对应的对象存储空间。
其中,目标组件配置数据包括M个配置数据项;M为正整数;M为目标组件配置数据组中的配置数据项的数据项数量;目标配置中心对象的对象类型包括分片对象类型;
存储空间确定模块13,还包括:分片对象确定单元135、分片对象名称确定单元136、分片对象空间确定单元137;
分片对象确定单元135,用于在M大于配置项数量阈值时,确定目标配置中心对象的对象类型为分片对象类型,并确定目标配置中心对象包括L个分片对象;L个分片对象中的每个分片对象用于存储目标组件配置数据中的局部配置数据;L为目标配置中心对象所包括的分片对象的分片对象数量;L为大于1的正整数;
分片对象名称确定单元136,用于基于目标组件名称确定L个分片对象的分片对象名称;每个分片对象的对象名称包括目标组件名称以及分片序号;不同分片对象对应不同的分片序号;
分片对象空间确定单元137,用于基于空间分布信息和L个分片对象对应的分片对象名称,从Q个数据存储节点上所部署的对象存储空间中,确定每个分片对象对应的对象存储空间。
其中,L个分片对象中包括分片对象j,j为小于或等于L的正整数;分布式存储系统中划分有K个数据池,K为正整数;K个数据池中的每个数据池中均包括有数据映射存储单元,每个数据池中的数据映射存储单元用于映射到对应的对象存储空间;
分片对象空间确定单元137,具体用于:
将K个数据池中用于发布服务配置文件的数据池,确定为目标数据池,基于空间分布信息确定目标数据池中的数据映射存储单元的单元数量;
对分片对象j的对象名称进行哈希计算,得到分片对象j对应的名称哈希值,基于分片对象j对应的名称哈希值与单元数量,确定分片对象j所对应的数据映射存储单元;
基于分片对象j所对应的数据映射存储单元,从Q个数据存储节点上所部署的对象存储空间中,确定分片对象j所对应的对象存储空间。
其中,M个配置数据项中的每个配置数据项均包括配置名;
存储空间确定模块13,还包括:配置项映射单元138;
配置项映射单元138,具体用于:
对每个配置数据项的配置名进行哈希计算,得到每个配置数据项对应的配置名哈希值;
基于每个配置数据项对应的配置名哈希值与分片数量,将每个配置数据项映射到对应的分片对象;一个配置数据项用于映射到一个分片对象;
基于每个配置数据项所映射到的分片对象,确定每个分片对象用于存储的配置数据项。
其中,目标组件配置数据包括M个配置数据项;M为正整数;目标配置中心对象包括L个分片对象;L为大于1的正整数;L个分片对象中的每个分片对象用于存储目标组件配置数据中的局部配置数据;L个分片对象中包括分片对象j,j为小于或等于L的正整数;配置发布消息中包括分片对象j对应的配置发布子消息;
发布消息发送模块14,包括:名称获取单元141、配置数据获取单元142、消息生成单元143;
名称获取单元141,用于获取基于目标组件名称确定的分片对象j的分片对象名称;
配置数据获取单元142,用于在从M个配置数据项中确定分片对象j所用于存储的配置数据项时,基于分片对象j的分片对象名称和分片对象j所用于存储的配置数据项,生成分片对象j对应的配置发布子消息;
消息生成单元143,用于基于分片对象j对应的配置发布子消息确定配置发布消息。
其中,目标对象存储空间中包括分片对象j对应的对象存储空间;目标对象存储空间所在的数据存储节点包括分片对象j对应的数据存储节点;
发布消息发送模块14,具体用于:
将分片对象j对应的配置发布子消息,发送给分片对象j对应的数据存储节点;分片对象j对应的配置发布子消息用于指示分片对象j对应的数据存储节点,在分片对象j对应的对象存储空间中,基于分片对象j的分片对象名称创建分片对象j;分片对象j的分片对象名称中包括目标组件名称;分片对象j用于存储分片对象j所用于存储的配置数据项。
其中,目标组件配置数据中包括M个配置数据项;M为正整数;M个配置数据项中的每个配置数据项均包括配置名和配置值;每个配置数据项的配置名和配置值用于确定每个配置数据项对应的配置键值对;一个配置数据项对应一个配置键值对;在目标配置中心对象用于存储目标组件配置数据时,目标组件配置数据为M个配置数据项对应的配置键值对;M个配置数据项对应的配置键值对用于作为目标配置中心对象的对象映射数据;目标配置中心对象的对象映射数据是存储在目标对象存储空间的键值对数据库中的。
其中,目标对象存储空间为用于存储目标组件配置数据的主存储空间;
存储空间确定模块13,还包括:备份空间确定单元139;
备份空间确定单元139,用于:基于空间分布信息和目标组件名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于备份目标组件配置数据的备份存储空间;
发布消息发送模块14,用于将目标存储空间所在的数据存储节点作为目标数据存储节点,通知目标数据存储节点,将目标配置中心对象备份存储至备份存储空间。
其中,分布式存储系统包括数据管理节点;
配置数据处理装置1,还包括:空间分布信息获取模块15;
空间分布信息获取模块15,用于在配置管理客户端与数据管理节点建立数据连接时,基于数据连接,从数据管理节点上获取Q个数据存储节点上所部署的对象存储空间所关联的空间分布信息。
其中,目标配置中心对象中包括对象属性数据,对象属性数据用于存储目标组件类型所关联的已注册服务组件的注册观察点信息;已注册服务组件是在目标配置中心对象中进行注册的目标组件类型关联的服务组件;注册观察点信息中包括已注册服务组件关联的进程信息;已注册服务组件包括目标已注册服务组件,目标已注册服务组件的注册观察点信息为目标注册观察点信息;目标对象存储空间所在的数据存储节点为目标数据存储节点;目标已注册服务组件是由目标数据存储节点基于针对目标服务组件的注册请求所确定的;目标注册观察点信息用于在基于注册请求将目标服务组件确定为目标已注册服务组件时,由目标数据存储节点,将目标配置中心对象中的目标组件配置数据,发送至目标已注册服务组件所运行在的服务设备。
其中,配置数据处理装置1还包括:更新指令获取模块16、待更新空间确定模块17、更新消息发送模块18;
更新指令获取模块16,用于在获取到针对目标组件类型所关联的服务组件的配置数据更新指令时,调用配置更新组件对配置数据更新指令进行解析,得到配置数据更新指令对应的更新数据解析结果;更新数据解析结果包括目标组件名称和待更新配置数据;
待更新空间确定模块17,用于在获取到空间分布信息时,基于空间分布信息和目标组件名称,从Q个数据存储节点上所部署的对象存储空间中,确定待更新配置数据关联的待更新对象存储空间;待更新对象存储空间用于存储待更新配置数据对应的目标组件配置数据;待更新对象存储空间属于目标对象存储空间;
更新消息发送模块18,用于基于更新数据解析结果生成配置更新消息,并将配置更新消息发送至待更新对象存储空间所在的数据存储节点。
其中,目标配置中心对象包括L个分片对象;L为大于1的正整数;L个分片对象中的每个分片对象用于存储目标组件配置数据中的局部配置数据;L为目标配置中心对象所包括的分片对象的分片对象数量;待更新配置数据中包括配置名和配置值;
待更新空间确定模块17包括:待更新分片对象确定单元171、待更新存储空间确定单元172;
待更新分片对象确定单元171,对待更新配置数据的配置名进行哈希计算,得到待更新配置数据对应的配置名哈希值,基于待更新配置数据对应的配置名哈希值和分片对象数量,从L个分片对象中确定待更新配置数据所映射到的分片对象,将待更新配置数据所映射到的分片对象确定为待更新分片对象;待更新分片对象的对象名称包括目标组件名称;
待更新存储空间确定单元172,用于基于空间分布信息和待更新分片对象的对象名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于存储待更新分片对象的对象存储空间,将用于存储待更新分片对象的对象存储空间确定为待更新对象存储空间;待更新对象存储空间属于目标对象存储空间。
其中,目标配置中心对象为全局配置对象;待更新配置数据中包括配置名和配置值;
待更新空间确定模块17,包括:待更新全局对象确定单元173;
待更新全局对象确定单元173,用于基于目标组件名称确定待更新配置数据对应的全局配置对象的全局对象名称,并将待更新配置数据对应的全局配置对象确定为待更新全局配置对象;
待更新存储空间确定单元172,用于基于空间分布信息和全局对象名称,从Q个数据存储节点上所部署的对象存储空间中,确定用于存储待更新全局配置对象的对象存储空间,将用于存储待更新全局配置对象的对象存储空间确定为待更新对象存储空间;待更新对象存储空间为目标对象存储空间。
其中,目标配置中心对象中包括对象属性数据,对象属性数据用于存储目标组件类型所关联的P个已注册服务组件的P个注册观察点信息;一个已注册服务组件对应一个注册观察点信息;P为正整数;已注册服务组件是在目标配置中心对象中进行注册的目标组件类型关联的服务组件;注册观察点信息中包括已注册服务组件关联的进程信息;
更新消息发送模块18,包括:第一更新消息发送单元181;
第一更新消息发送单元181,用于:在从更新数据解析结果中未获取到待更新服务组件的进程信息时,基于更新数据解析结果生成第一配置更新消息;第一配置更新消息不包括待更新服务组件的进程信息;
将待更新对象存储空间所在的数据存储节点确定为待更新数据存储节点,将第一配置更新消息发送至待更新数据存储节点,以使待更新数据存储节点,通过待更新配置数据对目标配置中心对象所存储的目标组件配置数据进行更新,并基于P个已注册服务组件对应的P个注册观察点信息,向每个已注册服务组件所运行在的服务设备发送配置更新请求;配置更新请求用于指示通过待更新配置数据,对每个已注册服务组件所运行在的服务设备中所存储的目标组件配置数据进行更新。
其中,目标配置中心对象中包括对象属性数据,对象属性数据用于存储目标组件类型所关联的P个已注册服务组件的P个注册观察点信息;一个已注册服务组件对应一个注册观察点信息;P为正整数;已注册服务组件是在目标配置中心对象中进行注册的目标组件类型关联的服务组件;注册观察点信息中包括已注册服务组件关联的进程信息;
更新消息发送模块18,包括:第二更新消息发送单元182;
第二更新消息发送单元182,用于:在从更新数据解析结果中获取到待更新服务组件的进程信息时,基于更新数据解析结果生成第二配置更新消息;第二配置更新消息中包括待更新服务组件的进程信息;
将待更新对象存储空间所在的数据存储节点确定为待更新数据存储节点,将第二配置更新消息发送至待更新数据存储节点,以使待更新数据存储节点,在确定P个注册观察点信息中存在与待更新服务组件的进程信息相匹配的注册观察点信息时,基于与待更新服务组件的进程信息相匹配的注册观察点信息,向待更新服务组件所运行在的服务设备发送配置更新请求;配置更新请求用于指示通过待更新配置数据,对待更新服务组件所运行在的服务设备中所存储的目标组件配置数据进行更新。
请参见图20,图20是本申请实施例提供的一种计算机设备的结构示意图。如图20所示,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图20所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图20所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以执行前文任一个所对应实施例中对该数据处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据处理装置1、数据处理装置2、数据处理装置3和数据处理装置4所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
此外,这里需要指出的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前文任一个所对应实施例提供的方法。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (19)

1.一种配置数据处理方法,其特征在于,所述方法由部署在分布式存储系统中的配置管理客户端执行,所述分布式存储系统包括Q个数据存储节点;所述Q个数据存储节点中的每个数据存储节点上均部署有对象存储空间;M为正整数;所述方法包括:
在获取到服务配置文件时,从所述服务配置文件中解析得到N个配置数据段;一个组件配置数据段是针对一个组件类型所关联的服务组件所确定的;所述N个配置数据段包括配置数据段i;i为小于或者等于N的正整数;所述配置数据段i所对应的组件类型为目标组件类型;
将从所述配置数据段i中解析得到的所述目标组件类型所关联的服务组件的组件名称作为目标组件名称,并将从所述配置数据段i中解析得到的所述目标组件类型所关联的服务组件的组件配置数据作为目标组件配置数据;
在获取到所述Q个数据存储节点上所部署的对象存储空间所关联的空间分布信息时,基于所述空间分布信息和所述目标组件名称,从所述Q个数据存储节点上所部署的对象存储空间中,确定用于存储所述目标组件配置数据的对象存储空间,将确定出的对象存储空间作为与所述配置数据段i相关联的目标对象存储空间;
在基于所述目标组件名称和所述目标组件配置数据,生成配置发布消息时,将所述配置发布消息发送给所述目标对象存储空间所在的数据存储节点,以使所述目标对象存储空间所在的数据存储节点,在所述目标对象存储空间中基于所述目标组件名称创建目标配置中心对象;所述目标配置中心对象为存储所述目标组件配置数据的配置中心对象。
2.根据权利要求1所述的方法,其特征在于,所述分布式存储系统中划分有K个数据池,K为正整数;所述K个数据池中的每个数据池中均包括有数据映射存储单元,所述每个数据池中的数据映射存储单元用于映射到对应的对象存储空间;所述目标组件配置数据包括M个配置数据项;M为正整数;所述目标配置中心对象的对象类型包括全局对象类型;
所述基于所述空间分布信息和所述目标组件名称,从所述Q个数据存储节点上所部署的对象存储空间中,确定用于存储所述目标组件配置数据的对象存储空间,包括:
在M小于或等于配置项数量阈值时,确定所述目标配置中心对象的对象类型为所述全局对象类型,并确定所述目标配置中心对象为全局配置对象;所述全局配置对象用于存储所述目标组件配置数据中的全局配置数据;
将所述K个数据池中用于发布所述服务配置文件的数据池,确定为目标数据池,基于所述空间分布信息确定所述目标数据池中的数据映射存储单元的单元数量;
将所述目标组件名称确定为所述全局配置对象的全局对象名称,对所述全局对象名称进行哈希计算,得到所述全局配置对象对应的名称哈希值,基于所述全局配置对象对应的名称哈希值与所述单元数量,确定所述全局配置对象所对应的数据映射存储单元;
基于所述全局配置对象所对应的数据映射存储单元,从所述Q个数据存储节点上所部署的对象存储空间中,确定所述全局配置对象所对应的对象存储空间。
3.根据权利要求1所述的方法,其特征在于,所述目标组件配置数据包括M个配置数据项;M为正整数;M为所述目标组件配置数据组中的配置数据项的数据项数量;所述目标配置中心对象的对象类型包括分片对象类型;
所述基于所述空间分布信息和所述目标组件名称,从所述Q个数据存储节点上所部署的对象存储空间中,确定用于存储所述目标组件配置数据的对象存储空间,包括:
在M大于配置项数量阈值时,确定所述目标配置中心对象的对象类型为所述分片对象类型,并确定所述目标配置中心对象包括L个分片对象;所述L个分片对象中的每个分片对象用于存储所述目标组件配置数据中的局部配置数据;L为所述目标配置中心对象所包括的分片对象的分片对象数量;L为大于1的正整数;
基于所述目标组件名称确定所述L个分片对象的分片对象名称;所述每个分片对象的对象名称包括所述目标组件名称以及分片序号;不同分片对象对应不同的分片序号;
基于所述空间分布信息和所述L个分片对象对应的分片对象名称,从所述Q个数据存储节点上所部署的对象存储空间中,确定所述每个分片对象对应的对象存储空间。
4.根据权利要求3所述的方法,其特征在于,所述L个分片对象中包括分片对象j,j为小于或等于L的正整数;所述分布式存储系统中划分有K个数据池,K为正整数;所述K个数据池中的每个数据池中均包括有数据映射存储单元,所述每个数据池中的数据映射存储单元用于映射到对应的对象存储空间;
所述基于所述空间分布信息和所述目标组件名称,从所述Q个数据存储节点上所部署的对象存储空间中,确定用于存储所述目标组件配置数据的对象存储空间,包括:
将所述K个数据池中用于发布所述服务配置文件的数据池,确定为目标数据池,基于所述空间分布信息确定所述目标数据池中的数据映射存储单元的单元数量;
对所述分片对象j的对象名称进行哈希计算,得到所述分片对象j对应的名称哈希值,基于所述分片对象j对应的名称哈希值与所述单元数量,确定所述分片对象j所对应的数据映射存储单元;
基于所述分片对象j所对应的数据映射存储单元,从所述Q个数据存储节点上所部署的对象存储空间中,确定所述分片对象j所对应的对象存储空间。
5.根据权利要求3所述的方法,其特征在于,所述M个配置数据项中的每个配置数据项均包括配置名;
所述方法还包括:
对所述每个配置数据项的配置名进行哈希计算,得到所述每个配置数据项对应的配置名哈希值;
基于所述每个配置数据项对应的配置名哈希值与所述分片数量,将所述每个配置数据项映射到对应的分片对象;一个配置数据项用于映射到一个分片对象;
基于所述每个配置数据项所映射到的分片对象,确定所述每个分片对象用于存储的配置数据项。
6.根据权利要求1所述的方法,其特征在于,所述目标组件配置数据包括M个配置数据项;M为正整数;所述目标配置中心对象包括L个分片对象;L为大于1的正整数;所述L个分片对象中的每个分片对象用于存储所述目标组件配置数据中的局部配置数据;所述L个分片对象中包括分片对象j,j为小于或等于L的正整数;所述配置发布消息中包括所述分片对象j对应的配置发布子消息;
所述基于所述目标组件名称和所述目标组件配置数据,生成配置发布消息,包括:
获取基于所述目标组件名称确定的所述分片对象j的分片对象名称;
在从所述M个配置数据项中确定所述分片对象j所用于存储的配置数据项时,基于所述分片对象j的分片对象名称和所述分片对象j所用于存储的配置数据项,生成所述分片对象j对应的配置发布子消息;
基于所述分片对象j对应的配置发布子消息确定配置发布消息。
7.根据权利要求6所述的方法,其特征在于,所述目标对象存储空间中包括所述分片对象j对应的对象存储空间;所述目标对象存储空间所在的数据存储节点包括所述分片对象j对应的数据存储节点;
所述将所述配置发布消息发送给所述目标对象存储空间所在的数据存储节点,包括:
将所述分片对象j对应的配置发布子消息,发送给所述分片对象j对应的数据存储节点;所述分片对象j对应的配置发布子消息用于指示所述分片对象j对应的数据存储节点,在所述分片对象j对应的对象存储空间中,基于所述分片对象j的分片对象名称创建所述分片对象j;所述分片对象j的分片对象名称中包括所述目标组件名称;所述分片对象j用于存储所述分片对象j所用于存储的配置数据项。
8.根据权利要求1所述的方法,其特征在于,所述目标组件配置数据中包括M个配置数据项;M为正整数;所述M个配置数据项中的每个配置数据项均包括配置名和配置值;所述每个配置数据项的配置名和配置值用于确定所述每个配置数据项对应的配置键值对;一个配置数据项对应一个配置键值对;在所述目标配置中心对象用于存储所述目标组件配置数据时,所述目标组件配置数据为所述M个配置数据项对应的配置键值对;所述M个配置数据项对应的配置键值对用于作为所述目标配置中心对象的对象映射数据;所述目标配置中心对象的对象映射数据是存储在所述目标对象存储空间的键值对数据库中的。
9.根据权利要求1所述的方法,其特征在于,所述目标对象存储空间为用于存储所述目标组件配置数据的主存储空间;
在确定用于存储所述目标组件配置数据的对象存储空间时,所述方法还包括:
基于所述空间分布信息和所述目标组件名称,从所述Q个数据存储节点上所部署的对象存储空间中,确定用于备份所述目标组件配置数据的备份存储空间;
将所述目标存储空间所在的数据存储节点作为目标数据存储节点,通知所述目标数据存储节点,将所述目标配置中心对象备份存储至所述备份存储空间。
10.根据权利要求1所述的方法,其特征在于,所述分布式存储系统包括数据管理节点;
所述方法还包括:
在所述配置管理客户端与所述数据管理节点建立数据连接时,基于所述数据连接,从所述数据管理节点上获取所述Q个数据存储节点上所部署的对象存储空间所关联的空间分布信息。
11.根据权利要求1所述的方法,其特征在于,所述目标配置中心对象中包括对象属性数据,所述对象属性数据用于存储所述目标组件类型所关联的已注册服务组件的注册观察点信息;所述已注册服务组件是在所述目标配置中心对象中进行注册的所述目标组件类型关联的服务组件;所述注册观察点信息中包括所述已注册服务组件关联的进程信息;所述已注册服务组件包括目标已注册服务组件,所述目标已注册服务组件的注册观察点信息为目标注册观察点信息;所述目标对象存储空间所在的数据存储节点为目标数据存储节点;所述目标已注册服务组件是由所述目标数据存储节点基于针对目标服务组件的注册请求所确定的;所述目标注册观察点信息用于在基于所述注册请求将所述目标服务组件确定为所述目标已注册服务组件时,由所述目标数据存储节点,将所述目标配置中心对象中的所述目标组件配置数据,发送至所述目标已注册服务组件所运行在的服务设备。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在获取到针对所述目标组件类型所关联的服务组件的配置数据更新指令时,调用配置更新组件对所述配置数据更新指令进行解析,得到所述配置数据更新指令对应的更新数据解析结果;所述更新数据解析结果包括所述目标组件名称和待更新配置数据;
在获取到所述空间分布信息时,基于所述空间分布信息和所述目标组件名称,从所述Q个数据存储节点上所部署的对象存储空间中,确定所述待更新配置数据关联的待更新对象存储空间;所述待更新对象存储空间用于存储所述待更新配置数据对应的目标组件配置数据;所述待更新对象存储空间属于所述目标对象存储空间;
基于所述更新数据解析结果生成配置更新消息,并将所述配置更新消息发送至所述待更新对象存储空间所在的数据存储节点。
13.根据权利要求12所述的方法,其特征在于,所述目标配置中心对象包括L个分片对象;L为大于1的正整数;所述L个分片对象中的每个分片对象用于存储所述目标组件配置数据中的局部配置数据;L为所述目标配置中心对象所包括的分片对象的分片对象数量;所述待更新配置数据中包括配置名和配置值;
所述基于所述空间分布信息和所述目标组件名称,从所述Q个数据存储节点上所部署的对象存储空间中,确定所述待更新配置数据关联的待更新对象存储空间,包括:
对所述待更新配置数据的配置名进行哈希计算,得到所述待更新配置数据对应的配置名哈希值,基于所述待更新配置数据对应的配置名哈希值和所述分片对象数量,从所述L个分片对象中确定所述待更新配置数据所映射到的分片对象,将所述待更新配置数据所映射到的分片对象确定为待更新分片对象;所述待更新分片对象的对象名称包括所述目标组件名称;
基于所述空间分布信息和所述待更新分片对象的对象名称,从所述Q个数据存储节点上所部署的对象存储空间中,确定用于存储所述待更新分片对象的对象存储空间,将用于存储所述待更新分片对象的对象存储空间确定为所述待更新对象存储空间;所述待更新对象存储空间属于所述目标对象存储空间。
14.根据权利要求12所述的方法,其特征在于,所述目标配置中心对象为全局配置对象;所述待更新配置数据中包括配置名和配置值;
所述基于所述空间分布信息和所述目标组件名称,从所述Q个数据存储节点上所部署的对象存储空间中,确定所述待更新配置数据关联的待更新对象存储空间,包括:
基于所述目标组件名称确定所述待更新配置数据对应的全局配置对象的全局对象名称,并将所述待更新配置数据对应的全局配置对象确定为待更新全局配置对象;
基于所述空间分布信息和所述全局对象名称,从所述Q个数据存储节点上所部署的对象存储空间中,确定用于存储所述待更新全局配置对象的对象存储空间,将用于存储所述待更新全局配置对象的对象存储空间确定为所述待更新对象存储空间;所述待更新对象存储空间为所述目标对象存储空间。
15.根据权利要求12所述的方法,其特征在于,所述目标配置中心对象中包括对象属性数据,所述对象属性数据用于存储所述目标组件类型所关联的P个已注册服务组件的P个注册观察点信息;一个已注册服务组件对应一个注册观察点信息;P为正整数;所述已注册服务组件是在所述目标配置中心对象中进行注册的所述目标组件类型关联的服务组件;所述注册观察点信息中包括所述已注册服务组件关联的进程信息;
所述基于所述更新数据解析结果生成配置更新消息,并将所述配置更新消息发送至所述待更新对象存储空间所在的数据存储节点,包括:
在从所述更新数据解析结果中未获取到待更新服务组件的进程信息时,基于所述更新数据解析结果生成第一配置更新消息;所述第一配置更新消息不包括待更新服务组件的进程信息;
将所述待更新对象存储空间所在的数据存储节点确定为待更新数据存储节点,将所述第一配置更新消息发送至所述待更新数据存储节点,以使所述待更新数据存储节点,通过所述待更新配置数据对所述目标配置中心对象所存储的所述目标组件配置数据进行更新,并基于所述P个已注册服务组件对应的P个注册观察点信息,向每个已注册服务组件所运行在的服务设备发送配置更新请求;所述配置更新请求用于指示通过所述待更新配置数据,对所述每个已注册服务组件所运行在的服务设备中所存储的所述目标组件配置数据进行更新。
16.根据权利要求12所述的方法,其特征在于,所述目标配置中心对象中包括对象属性数据,所述对象属性数据用于存储所述目标组件类型所关联的P个已注册服务组件的P个注册观察点信息;一个已注册服务组件对应一个注册观察点信息;P为正整数;所述已注册服务组件是在所述目标配置中心对象中进行注册的所述目标组件类型关联的服务组件;所述注册观察点信息中包括所述已注册服务组件关联的进程信息;
所述基于所述更新数据解析结果生成配置更新消息,并将所述配置更新消息发送至所述待更新对象存储空间所在的数据存储节点,包括:
在从所述更新数据解析结果中获取到待更新服务组件的进程信息时,基于所述更新数据解析结果生成第二配置更新消息;所述第二配置更新消息中包括待更新服务组件的进程信息;
将所述待更新对象存储空间所在的数据存储节点确定为待更新数据存储节点,将所述第二配置更新消息发送至所述待更新数据存储节点,以使所述待更新数据存储节点,在确定所述P个注册观察点信息中存在与所述待更新服务组件的进程信息相匹配的注册观察点信息时,基于与所述待更新服务组件的进程信息相匹配的注册观察点信息,向所述待更新服务组件所运行在的服务设备发送配置更新请求;所述配置更新请求用于指示通过所述待更新配置数据,对所述待更新服务组件所运行在的服务设备中所存储的所述目标组件配置数据进行更新。
17.一种配置数据处理装置,其特征在于,所述装置由部署在分布式存储系统中的配置管理客户端运行,所述分布式存储系统包括Q个数据存储节点;所述Q个数据存储节点中的每个数据存储节点上均部署有对象存储空间;M为正整数;所述装置包括:
文件解析模块,用于在获取到服务配置文件时,从所述服务配置文件中解析得到N个配置数据段;一个组件配置数据段是针对一个组件类型所关联的服务组件所确定的;所述N个配置数据段包括配置数据段i;i为小于或者等于N的正整数;所述配置数据段i所对应的组件类型为目标组件类型;
数据确定模块,用于将从所述配置数据段i中解析得到的所述目标组件类型所关联的服务组件的组件名称作为目标组件名称,并将从所述配置数据段i中解析得到的所述目标组件类型所关联的服务组件的组件配置数据作为目标组件配置数据;
存储空间确定模块,用于在获取到所述Q个数据存储节点上所部署的对象存储空间所关联的空间分布信息时,基于所述空间分布信息和所述目标组件名称,从所述Q个数据存储节点上所部署的对象存储空间中,确定用于存储所述目标组件配置数据的对象存储空间,将确定出的对象存储空间作为与所述配置数据段i相关联的目标对象存储空间;
发布消息发送模块,用于在基于所述目标组件名称和所述目标组件配置数据,生成配置发布消息时,将所述配置发布消息发送给所述目标对象存储空间所在的数据存储节点,以使所述目标对象存储空间所在的数据存储节点,在所述目标对象存储空间中基于所述目标组件名称创建目标配置中心对象;所述目标配置中心对象为存储所述目标组件配置数据的配置中心对象。
18.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-16任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-16任一项所述的方法。
CN202310990013.7A 2023-08-08 2023-08-08 配置数据处理方法、装置及相关设备 Active CN116719481B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310990013.7A CN116719481B (zh) 2023-08-08 2023-08-08 配置数据处理方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310990013.7A CN116719481B (zh) 2023-08-08 2023-08-08 配置数据处理方法、装置及相关设备

Publications (2)

Publication Number Publication Date
CN116719481A true CN116719481A (zh) 2023-09-08
CN116719481B CN116719481B (zh) 2024-01-26

Family

ID=87871968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310990013.7A Active CN116719481B (zh) 2023-08-08 2023-08-08 配置数据处理方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN116719481B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107957911A (zh) * 2016-10-18 2018-04-24 腾讯科技(深圳)有限公司 组件调用的方法和装置、组件数据处理的方法和装置
CN110944026A (zh) * 2018-09-21 2020-03-31 北京国双科技有限公司 网络文件系统替换方法、集群配置文件共享方法及装置
CN111163173A (zh) * 2019-12-31 2020-05-15 迈普通信技术股份有限公司 集群配置方法、装置、服务器及可读存储介质
CN111181758A (zh) * 2019-08-01 2020-05-19 腾讯科技(深圳)有限公司 配置文件生成方法、装置
CN112559250A (zh) * 2020-12-23 2021-03-26 广州技象科技有限公司 一种电力物联网的配置数据备份方法及装置
CN113396393A (zh) * 2019-01-15 2021-09-14 微软技术许可有限责任公司 多租户paas组件的动态自动配置
CN113726546A (zh) * 2021-07-12 2021-11-30 锐捷网络股份有限公司 配置方法、装置、系统、计算设备及存储介质
CN113722275A (zh) * 2021-09-08 2021-11-30 重庆紫光华山智安科技有限公司 对象存储空间管理方法、装置、服务器及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107957911A (zh) * 2016-10-18 2018-04-24 腾讯科技(深圳)有限公司 组件调用的方法和装置、组件数据处理的方法和装置
CN110944026A (zh) * 2018-09-21 2020-03-31 北京国双科技有限公司 网络文件系统替换方法、集群配置文件共享方法及装置
CN113396393A (zh) * 2019-01-15 2021-09-14 微软技术许可有限责任公司 多租户paas组件的动态自动配置
CN111181758A (zh) * 2019-08-01 2020-05-19 腾讯科技(深圳)有限公司 配置文件生成方法、装置
CN111163173A (zh) * 2019-12-31 2020-05-15 迈普通信技术股份有限公司 集群配置方法、装置、服务器及可读存储介质
CN112559250A (zh) * 2020-12-23 2021-03-26 广州技象科技有限公司 一种电力物联网的配置数据备份方法及装置
CN113726546A (zh) * 2021-07-12 2021-11-30 锐捷网络股份有限公司 配置方法、装置、系统、计算设备及存储介质
CN113722275A (zh) * 2021-09-08 2021-11-30 重庆紫光华山智安科技有限公司 对象存储空间管理方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
CN116719481B (zh) 2024-01-26

Similar Documents

Publication Publication Date Title
US10778810B2 (en) Staging and deployment to multiple service clouds
US20160292249A1 (en) Dynamic replica failure detection and healing
US8296198B2 (en) Method and system for distribution of information
CN105897946A (zh) 一种访问地址的获取方法及系统
US20080263082A1 (en) Recovery segment identification in a computing infrastructure
US11811839B2 (en) Managed distribution of data stream contents
CN109862075B (zh) 一种Redis服务实例的路由方法
US20050234966A1 (en) System and method for managing supply of digital content
JPWO2013073020A1 (ja) 計算機システム、データ管理方法及びプログラム
US20170111207A1 (en) Nfv system and method for linking vnfm
US20190026339A1 (en) Framework To Transfer Rows in Storage Format, Standard Format, or Combination Thereof
KR101527634B1 (ko) 샤딩 서비스를 제공하는 방법 및 장치
CN109257228A (zh) 一种数据更新方法和边缘服务器
CN109716280B (zh) 灵活的内存列存储布置
CN116719481B (zh) 配置数据处理方法、装置及相关设备
CN111274004A (zh) 进程实例管理方法、装置及计算机存储介质
US20060031634A1 (en) Management method for cache memory, storage apparatus, and computer system
JP2008225686A (ja) 分散型データ処理プラットフォームにおけるデータ配置管理装置と方法、システム及びプログラム
KR101919816B1 (ko) 데이터베이스 샤딩 환경에서의 정합성 검사
CN111565211B (zh) 一种cdn配置分发网络系统
JP6568232B2 (ja) 計算機システム、及び、装置の管理方法
WO2021133405A1 (en) Dynamic adaptive partition splitting
CN110933184A (zh) 一种资源发布平台和资源发布方法
US20240160606A1 (en) Hybrid cloud event notification management
US12026177B2 (en) Dynamic adaptive partition splitting

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant