CN113726546A - 配置方法、装置、系统、计算设备及存储介质 - Google Patents
配置方法、装置、系统、计算设备及存储介质 Download PDFInfo
- Publication number
- CN113726546A CN113726546A CN202110785903.5A CN202110785903A CN113726546A CN 113726546 A CN113726546 A CN 113726546A CN 202110785903 A CN202110785903 A CN 202110785903A CN 113726546 A CN113726546 A CN 113726546A
- Authority
- CN
- China
- Prior art keywords
- configuration
- configuration information
- request
- resource
- disk
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000001960 triggered effect Effects 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 47
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000010606 normalization Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0889—Techniques to speed-up the configuration process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种配置方法、装置、系统、计算设备及存储介质。其中,该配置方法,应用于分发端,包括:获取用户触发的针对分布式系统的包括第一配置信息的第一配置请求;检测第一配置信息是否有效;若第一配置信息有效,向分布式协调服务集群转发第一配置请求,以使分布式协调服务集群基于第一配置信息更新磁盘中的配置信息,以及向目标执行端发送第二配置请求,第二配置请求用于指示目标执行端利用磁盘中的第一配置信息配置分布式系统。本申请实施例提供的技术方案可以提高配置分布式系统的配置效率。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种配置方法、装置、系统、计算设备及存储介质。
背景技术
分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。为使分布式系统提供相应的服务,需要为分布式系统中的计算机节点配置相应的资源。例如,分布式存储系统是为了解决单机存储所存在的容量、性能等瓶颈,以及可用性、扩展性等方面的问题,通过把数据分散存储在多台存储设备上,为大规模的存储应用提供大容量、高性能、高可用、扩展性好的存储服务。为使分布式存储系统提供相应的存储服务,需要为分布式存储系统中的各个存储设备部署包括但不限于存储池、快照、机械硬盘和固态硬盘等存储资源。
相关技术中,往往利用分发端、分布式协调服务集群、执行端组成的配置系统执行配置分布式系统的任务。用户向配置系统下发配置信息,配置系统中分发端接收配置信息并下发给分布式协调服务集群;分布式协调服务集群将配置信息保存至磁盘,并请求执行端获取磁盘中的配置信息执行配置操作。执行端为保证配置操作的可靠性,执行端首先针对用户下发的配置信息进行有效性检查,若确定配置信息有效,配置系统才会基于配置信息执行配置操作,反之,若确定配置信息无效,配置系统不再基于配置信息执行配置操作。
然而,现有的配置系统中,当配置信息流转到执行端时才检测其有效性的方式,会增加分发端、分布式协调服务集群、执行端之间的交互开销,影响配置分布式系统的配置效率。
发明内容
本申请实施例提供一种配置方法、装置、系统、计算设备及存储介质,用以提高配置分布式系统的配置效率。
第一方面,本申请实施例中提供了一种配置方法,应用于分发端,包括:
获取用户触发的针对分布式系统的包括第一配置信息的第一配置请求;
检测所述第一配置信息是否有效;
若所述第一配置信息有效,向分布式协调服务集群转发所述第一配置请求,以使所述分布式协调服务集群基于所述第一配置信息更新磁盘中的配置信息,以及向目标执行端发送第二配置请求,所述第二配置请求用于指示所述目标执行端利用所述磁盘中的第一配置信息配置所述分布式系统。
第二方面,本申请实施例中提供了一种配置系统,包括:分发端、分布式协调服务集群、多个执行端;
所述分发端,用于获取用户触发的针对分布式系统的第一配置请求,所述第一配置请求包括第一配置信息;检测所述第一配置信息是否有效;若所述第一配置信息有效,向分布式协调服务集群转发所述第一配置请求;
所述分布式协调服务集群,用于响应所述第一配置请求,更新磁盘中的配置信息,以及向所述多个执行端中的所述目标执行端发送第二配置请求;
所述目标执行端,用于响应所述第二配置请求,获取所述磁盘中的第一配置信息配置所述分布式系统。
第三方面,本申请实施例中提供了一种配置装置,包括:
获取模块,用于获取用户触发的针对分布式系统的包括第一配置信息的第一配置请求;
处理模块,用于检测所述第一配置信息是否有效;若所述第一配置信息有效,向分布式协调服务集群转发所述第一配置请求,以使所述分布式协调服务集群基于所述第一配置信息更新磁盘中的配置信息,以及向目标执行端发送第二配置请求,所述第二配置请求用于指示所述目标执行端利用所述磁盘中的第一配置信息配置所述分布式系统。
第四方面,本申请实施例中提供了一种计算设备,包括处理组件以及存储组件;
所述存储组件存储一条或多条计算机指令;所述一条或多条计算机指令用以被所述处理组件调用执行;
所述处理组件用于:
获取用户触发的针对分布式系统的包括第一配置信息的第一配置请求;
检测所述第一配置信息是否有效;
若所述第一配置信息有效,向分布式协调服务集群转发所述第一配置请求,以使所述分布式协调服务集群基于所述第一配置信息更新磁盘中的配置信息,以及向目标执行端发送第二配置请求,所述第二配置请求用于指示所述目标执行端利用所述磁盘中的第一配置信息配置所述分布式系统;
第五方面,本申请实施例中提供了一种计算机存储介质,存储有计算机程序,所述计算程序被计算机执行时,实现上述配置方法。
本申请实施例中,配置信息有效性的检查步骤从由目标执行端执行调整至由分发端执行,由此,分发端接收到用户下发的配置信息时,便可及时检查用户下发的配置信息的有效性,并及时阻止无效的配置信息继续流转,进而减少分发端、分布式协调服务集群、执行端之间的交互开销,提升配置分布式系统的配置效率。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请提供的一种可能的系统架构的示意图;
图2示出了本申请提供的配置方法一个实施例的流程图;
图3示出了本申请提供的配置方法另一个实施例的流程图;
图4示出了本申请提供的配置方法另一个实施例的流程图;
图5示出了本申请提供的配置装置一个实施例的结构示意图;
图6示出了本申请提供的配置装置另一个实施例的结构示意图;
图7示出了本申请提供的计算设备一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先结合图1描述本申请实施例可能适用的系统架构。图1示出了本申请提供的一种可能的系统架构的示意图。参见图1,该系统架构可以包括:分发端101、多个执行端103以及分布式协调服务集群102。其中,分发端101与分布式协调服务集群通过通信网络通信连接,多个执行端103中任一执行端103与分布式协调服务集群通过通信网络通信连接。
其中,分发端101、多个执行端103中的任一执行端103均可以是终端设备或服务器。
其中,分布式协调服务集群102部署多个协调服务,以提供分布式协调服务。分布式协调服务集群102包括多个处理节点1021,每个处理节点1021可以是终端设备或服务器。
应当理解,图1中,分发端101的数目、执行端103的数目、分布式协调服务集群102中处理节点1021的数目仅仅是示意性的,根据实际需求可以进行任意配置,对此本申请不作限定。
具体的,分发端101,用于获取用户触发的针对分布式系统的第一配置请求,第一配置请求包括第一配置信息;检测第一配置信息是否有效;若第一配置信息有效,向分布式协调服务集群转发第一配置请求。
分布式协调服务集群102,用于响应第一配置请求,更新磁盘104中的配置信息,以及向多个执行端103中的目标执行端103发送第二配置请求。
目标执行端103,用于响应第二配置请求,获取磁盘104中的第一配置信息配置分布式系统。
可选的,分布式协调服务集群102,还用于检测分发端101是否异常,若异常,重新选择新的分发端101。
实际应用中,可以在业务服务器集群的多个业务服务器上部署提供配置信息分发服务的应用软件。分布式协调服务集群102可以监控各个业务服务器上部署应用软件的状态,并选择处于正常状态的应用软件对应的业务服务器作为分发端101。
可选的,分布式协调服务集群102,还用于在目标执行端103故障时,从多个执行端103中重新选择处于正常状态的新的目标执行端103。
其中,分发端101可以视为整个配置流程的前端,可与用户信息交互,主要承担获取并下发配置信息的任务,以及对配置信息进行有效性检查。
其中,分发端101可以通过应用程序接口(Application Programming Interface,API)接收用户下发的第一配置请求。示例性的,应用程序接口可以是RESTful API,RESTfulAPI是REST风格的API。REST描述的是在网络中客户端(client)和服务端(server)的一种交互的形式,REST不是一种协议,而是一种风格。
例如,用户可以在自身的设备端上输入针对分布式系统的配置信息,并触发发送所输入的配置信息的发送操作,此时,可以认为用户触发了针对分布式系统的配置请求,分发端101通过应用程序接口接收该配置请求,从该配置请求中获取相应配置信息并将该配置信息分发给分布式协调服务集群。
又如,分发端101也可以提供显示界面,用户可以在显示界面上输入针对分布式系统的配置信息,并触发发送所输入的配置信息的发送操作,此时,可以认为用户触发了针对分布式系统的配置请求,分发端101通过应用程序接口接收该配置请求,从该配置请求中获取相应配置信息并将该配置信息分发给分布式协调服务集群。
其中,分布式协调服务集群102部署的分布式协调服务是一个为分布式应用提供一致性服务的软件,主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。分布式协调服务可以采用但不限于以下框架:ZooKeeper框架和etcd框架。其中,ZooKeeper是一个分布式的、开放源码的分布式应用程序协调服务,提供的功能包括但不限于:配置维护、域名服务、分布式同步、组服务等。etcd是一个高可用的Key/Value(键/值对)存储系统,主要用于分享配置和服务发现。关于ZooKeeper和etcd更多介绍详见相关技术。
其中,多个执行端103中任一执行端103都有概率被选择为目标执行端103,目标执行端103可以理解为整个配置流程的后端,主要承担从磁盘104中获取相应的配置信息配置分布式系统的任务。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2示出了本申请提供的配置方法一个实施例的流程图,该方法的执行主体为分发端。参见图2,该配置方法可以包括以下步骤:
201、获取用户触发的针对分布式系统的包括第一配置信息的第一配置请求。
具体的,分布式系统可以是任一提供某种服务的系统,例如为分布式存储系统和分布式计算系统等。分布式系统提供的服务依赖于所配置的资源,不同分布式系统的资源配置任务不同,不同的资源配置任务决定不同的配置信息。
为便于与后文提及的其他配置请求进行区分,将用户向分发端发送的配置请求称之为第一配置请求。第一配置请求中携带的第一配置信息由资源配置任务决定,不同的资源配置任务对应不同的第一配置信息。其中,第一配置信息可以包括一个或多个配置参数。
为便于理解,本申请实施例以分布式存储系统的存储池配置任务为例进行说明。存储池(storage pool)是建立在一定数量的物理磁盘的基础之上的,将一定数量未使用的物理磁盘(physical disk)添加到存储池中,形成一定数量的虚拟磁盘(virtual disk),然后针对虚拟磁盘进行新建卷的操作。
在存储池配置任务中,用户可以配置的配置信息例如包括以下配置参数:存储池名称、卷名称、卷数量以及卷大小等等。
为了便于理解,以表1进行说明。表1为用户下发的配置信息。表1中记录了两条配置信息,一条是存储池pool-0的配置信息;另一条是存储池pool-1的配置信息。以存储池pool-0的配置信息为例,在存储池pool-0的配置信息中,包括存储池pool-0的存储池名称、disk磁盘以及卷配置信息。通过存储池pool-0的配置信息可以获知存储池pool-0下创建了两个卷,分别为卷vol-0和vol-1。其中,卷vol-0的配置信息指示卷vol-0的名称为vol-0以及卷容量为200。卷vol-1的配置信息指示卷vol-1的名称为vol-1、以及卷容量为300。
表1
202、检测第一配置信息是否有效。
考虑到实际应用中,用户可能不清楚配置规则,导致所配置出来的配置信息不符合相关的配置规则,也即所配置出来的配置信息是无效的。可以理解的是,无效的配置信息会致使出现分布式系统配置失败的情形。于是,在接收到用户输入的第一配置信息时,需要对其进行有效性检测。
在进行配置信息的有效性检测时,可以根据实际业务需求设置需要检测的项目。例如,检测的项目例如数据规范性项目、业务规范性项目中一种或多种。其中,数据规范性项目例如包括但不限于数据格式、数据类型以及取值范围等。业务规范性项目例如包括但不限于待配置的资源是否可用、待配置的资源的名称是否和已配置的资源的名称重复等。
可选的,分发端在确定第一配置信息无效时,还可以向用户推送配置失败消息以及配置失败原因,以使用户获知下发的配置信息是否有效,并重新下新的第一配置信息。
203、若第一配置信息有效,向分布式协调服务集群转发第一配置请求。
具体的,分发端确定用户提交的第一配置信息有效,这时,分发端向分布式协调服务集群转发第一配置请求;分布式协调服务集群响应第一配置请求,基于第一配置信息更新磁盘中的配置信息,以及向目标执行端发送第二配置请求,第二配置请求用于指示目标执行端获取利用磁盘中的第一配置信息配置分布式系统。
在本申请实施例中,配置信息有效性的检查步骤从由目标执行端执行调整至由分发端执行,由此,分发端接收到用户下发的配置信息时,便可及时检查用户下发的配置信息的有效性,并及时阻止无效的配置信息继续流转,进而减少分发端、分布式协调服务集群、执行端之间的交互开销,提升配置分布式系统的配置效率。
实际应用中,可以根据实际业务需求设置一些条件来检测第一配置信息是否有效。例如,可以检测配置信息是否符合数据规范性条件、业务规范性条件来识别第一配置信息是否有效。
其中,数据规范性条件根据实际业务需求设置。例如,数据规范性条件可以包括数据格式条件、数据类型条件以及取值范围条件等。
在一些实施例中,分发端可以利用数据规范性条件检测第一配置信息的有效性。因此,检测第一配置信息是否有效可以包括:检测第一配置信息是否符合数据规范性条件;若是,确定第一配置信息有效。
在一些实施例中,数据规范性条件至少包括以下条件中的一种或多种:数据格式条件、数据类型条件和取值范围条件。检测第一配置信息是否符合数据规范性条件可以包括:针对第一配置信息中的任一配置参数,检测该配置参数的参数值的数据格式是否为预设数据格式;若是,确定该配置参数符合数据格式条件;或者,针对任一配置参数,检测该配置参数的参数值的数据类型是否为预设类型;若是,确定该配置参数符合数据类型条件;针对任一配置参数,检测该配置参数的参数值的取值范围是否为预设取值范围;若是,确定该配置参数符合取值范围条件。
其中,预设数据格式根据实际业务需求设置,预设数据格式例如为:html(HyperText Markup Language,超文本标记语言)格式、json(JavaScript Object Notation,JS对象简谱)格式。
其中,预设类型根据实际业务需求设置。例如,有的配置参数的对应的预设类型为字符串型、有的配置参数的对应的预设类型为数值型等。
其中,预设取值范围根据实际业务需求设置。例如,在存储池中创建新卷时,新卷的卷数量、卷容量大小不能超出对应的卷的配置数据范围。例如,卷数量的配置数据范围为(0,5],卷容量大小的配置数据范围为(0,500]。
在一些实施例中,为了减少出现分布式系统配置失败的概率,提高分布式系统配置效率,在检测第一配置信息的有效性时,除了检测数据规范性还可以检测业务规范性。对数据规范性和业务规范性的检测的前后顺序不做限制。
可选的,若配置信息不符合数据规范性,即使配置信息符合业务规范性,这样的配置信息也会致使配置分布式系统时配置失败。于是,在一些可选的实施例中,为了进一步提高分布式系统的配置效率,在检测配置信息的有效性时,可以首先检测配置信息是否符合数据规范性,若符合,再检测配置信息是否符合业务规范性。
图3示出了本申请提供的配置方法另一个实施例的流程图,该方法的执行主体为分发端,本实施例中,分发端可以在检测第一配置信息的有效性时,首先检测第一配置信息是否符合数据规范性条件,再检测第一配置信息是否符合业务规范性条件。参见图3,该配置方法可以包括以下步骤:
301、获取用户触发的针对分布式系统的包括第一配置信息的第一配置请求。
本申请实施例中的步骤301和上述实施例中的201的实现方式相同,在此不再赘述。
302、检测第一配置信息是否符合数据规范性条件。
本申请实施例中的检测第一配置信息是否符合数据规范性条件的方式参见前述内容记载的检测第一配置信息是否符合数据规范性条件的方式,在此不再赘述。
303、若第一配置信符合数据规范性条件,检测第一配置信息是否符合业务规范性条件。
304、若第一配置信符合业务规范性条件,确定第一配置信息有效,并向分布式协调服务集群转发第一配置请求。
本申请实施例中的步骤304和上述实施例中的203的实现方式相同,在此不再赘述。
本申请实施例中,业务规范性条件根据实际业务需求设置。例如,业务规范性条件可以包括资源可用检查条件、重名检查条件。
其中,资源可用检查条件用于检测配置参数指示的待配置资源是否可用。
例如,实际应用中,用户期望为分布式系统配置某种资源,但是该资源可能出现故障无法使用。因此,有必要检查第一配置信息指示的待配置资源是否可用。
其中,重名检查条件用于检测配置参数对应的资源名称是否已经使用过。也即,检查用户新提交的配置信息中的资源名称是否与配置系统中保存的旧的配置信息中的资源名称是否相同。
例如,在存储池配置任务中,若存储池配置任务指示为分布式存储系统创建一个新的存储池,这时用户提交的第一配置信息中包括新的存储池名称;配置系统接收到用户提交的第一配置信息之后,检查第一配置信息中新的存储池名称与配置系统中保存的旧的配置信息中的存储池名称是否相同;若相同,说明新的存储池名称已经使用过,不符合重名检查条件,也即历史已经创建过对应的存储池,当前针对该存储池的创建操作是无效操作;若不相同,说明新的存储池名称未使用过,符合重名检查条件,也即历史尚未创建过对应的存储池,当前针对该存储池的创建操作是有效操作。
又例如,在存储池配置任务中,若存储池配置任务指示为分布式存储系统修改已创建的存储池或者删除已创建的存储池,此时用户提交的第一配置信息中携带了待处理的存储池名称;配置系统接收到用户提交的第一配置信息之后,检查第一配置信息中待处理的存储池名称与配置系统中保存的旧的配置信息中的存储池名称是否相同;若相同,符合重名检查条件,也即说明历史已经创建了对应的存储池,当前针对该存储池的修改操作或删除操作是有效操作;若不相同,不符合重名检查条件,也即说明历史已经创建了对应的存储池,当前针对该存储池的修改操作或删除操作是无效操作。
发明人经过研究发现,分发端执行重名检查条件的检测时,可以与分布式协调服务集群进行交互,请求分布式协调服务集群查询磁盘中是否存在用户新提交的配置信息中资源名称,并基于分布式协调服务集群返回的查询结果判断用户新提交的配置信息是否符合重名检查条件。
随着时间推移,磁盘中保存的配置信息越来越多,特别是分布式系统较大时,导致分布式协调服务集群需要遍历磁盘中大量的已存储配置信息才能完成查询响应,由此,影响了分发端执行重名检查条件的检测效率。
发明人进一步研究发现,可以将磁盘中配置信息所属的资源名称存储至内存中,分发端基于内存中资源名称执行重名检查条件,以进一步提高重名检查条件的检测效率,并进一步减少分发端与分布式协调服务集群的交互开销,当然,分发端向外分发配置信息的分发效率也会得到提高。
因此,在一些实施例中,分发端在检测第一配置信息是否符合业务规范性条件之前,还可以在分发端初始化或重启时,针对磁盘中的任一条配置信息,从该配置信息中筛选出表征资源名称的第一配置参数;将第一配置参数存储至内存中。相应地,分发端检测第一配置信息是否符合业务规范性条件可以是:根据内存中的第一配置参数,检测第一配置信息是否符合重名检查条件。
作为一种可能的实现方式,“根据内存中的第一配置参数,检测所述第一配置信息是否符合重名检查条件”具体是:
若所述第一配置请求指示为所述分布式系统创建资源,查找所述内存是否存在与所述第一配置信息中的资源名称匹配的第一配置参数;
若所述内存中不存在与所述第一配置信息中的资源名称匹配的第一配置参数,确定所述第一配置信息符合所述重名检查条件;
若所述内存中存在与所述第一配置信息中的资源名称匹配的第一配置参数确定所述第一配置信息不符合所述重名检查条件;
若所述第一配置请求指示删除为所述分布式系统已创建的资源或者所述第一配置请求指示为所述分布式系统修改已创建的资源,若所述内存中存在与所述第一配置信息中的资源名称匹配的第一配置参数,确定所述第一配置信息符合所述重名检查条件;
若所述内存中不存在与所述第一配置信息中的资源名称匹配的第一配置参数,确定所述第一配置信息不符合所述重名检查条件。
应理解,实际应用中,用户下发的第一配置请求对应的操作类型可能包括:创建操作、删除操作、修改操作、查询操作。
在第一配置请求对应的操作类型为创建操作时,分发端查询内存中是否保存第一配置信息中资源名称,若保存,说明分发端历史下发过该资源ID对应资源的配置信息,这时,分发端会停止响应第一配置请求,拒绝将第一配置信息分发分发给分布式协调服务集群,进而阻止分布式协调服务集群请求执行端重复为分布式系统配置资源名称对应资源的情形发生。当然,若内存中没有保存第一配置信息中资源名称,分发端确定第一配置信息符合重名检查规则,这时,若分发端确定第一配置信息也符合其他与有效性相关的规则,分发端可以向分布式协调服务集群转发第一配置信息并保存至磁盘中,当然,分布式协调服务集群可以请求执行端获取磁盘中的第一配置信息执行针对分布式系统的资源创建操作。
在第一配置请求对应的操作类型为修改操作时,分发端查询内存中是否保存第一配置信息中资源名称,若保存,说明分发端历史下发过该资源名称对应资源的配置信息,这时,分发端会继续响应第一配置请求,将第一配置信息分发分发给分布式协调服务集群,以由分布式协调服务集群根据第一配置信息对磁盘中对应的配置信息进行修改,以及分布式协调服务集群可以请求执行端获取磁盘中的第一配置信息执行针对分布式系统的资源修改操作。当然,若内存中没有保存第一配置信息中资源名称,分发端确定第一配置信息不符合重名检查条件,分发端可以停止响应第一配置请求。
在第一配置请求对应的操作类型为删除操作时,分发端查询内存中是否保存第一配置信息中资源名称,若保存,说明分发端历史下发过该资源ID对应资源的配置信息,这时,分发端会继续响应第一配置请求,将第一配置信息分发分发给分布式协调服务集群,以由分布式协调服务集群根据第一配置信息中的资源名称删除磁盘中对应的配置信息,以及分布式协调服务集群可以请求执行端根据第一配置信息执行针对分布式系统的资源删除操作。当然,若内存中没有保存第一配置信息中资源名称,分发端确定第一配置信息不符合重名检查规则,分发端可以停止响应第一配置请求。
在第一配置请求对应的操作类型为查询操作时,分发端查询内存中是否保存第一配置信息中资源名称,若保存,说明分发端历史下发过该资源名称对应资源的配置信息,这时,分发端会继续响应第一配置请求,将第一配置信息分发分发给分布式协调服务集群,以由分布式协调服务集群根据第一配置信息中的资源名称获取磁盘中对应的配置信息,并将查询得到配置信息返回给分发端。当然,若内存中没有保存第一配置信息中资源名称,分发端确定第一配置信息不符合重名检查条件,分发端可以停止响应第一配置请求。在本申请实施例中,为了降低内存消耗,内存中只记录磁盘中配置信息中的一些重要信息,重要信息例如为资源名称、资源ID等涉及需要检查的关键项。
其中,资源ID用于唯一标识资源,资源ID是分发端为待创建的资源分配的唯一标识。在用户下发的第一配置请求为创建请求时,分发端在确定第一配置请求对应的配置信息有效后,可以为请求创建的资源分配一个资源ID,以及将资源ID添加至第一配置请求对应的配置信息中。分发端将添加了资源ID的配置信息分发给分布式协调服务集群,以使分布式协调服务集群将添加了资源ID的配置信息存储至磁盘中。
实际应用中,分发端在为请求创建的资源分配资源ID时,需要获知哪些资源ID已经使用过,才能确定为请求创建的资源分配一个不与已经使用过的资源ID重复的新资源ID。可以理解的是,与分发端遍历磁盘中的资源ID确定不重复的资源ID相比,分发端查找内存中保存资源ID确定不重复的资源ID,可以更快地确定为请求创建的资源ID所要分配的资源ID。
因此,在一些实施例中,分发端在检测第一配置信息是否符合业务规范性条件之前,还可以在分发端初始化或重启时,针对磁盘中的任一条配置信息,从该配置信息中筛选出表征资源名称的第一配置参数和表征资源ID的第二配置参数;将第一配置参数和第二配置参数关联存储至内存中。
其中,内存中的第一配置参数用于进行重名检查,内存中的第二配置参数用于分发端为请求创建的资源分配一个不重复的资源ID。
在一些实施例中,若所述第一配置请求指示为所述分布式系统创建资源,分发端遍历所述内存中的资源ID,以确定为待创建资源分配的资源ID,其中,为待创建资源分配的资源ID与所述内存中的资源ID不重复;将为待创建资源分配的资源ID添加至所述第一配置信息中。
在一些实施例中,若所述第一配置请求指示删除为所述分布式系统已创建的资源,分发端删除所述内存中保存的已创建的资源的资源名称和资源ID。
例如,若用户需求是为分布式系统创建资源,则在基于内存中第一配置参数检测用户下发的待创建资源的资源名称没有重名时,还可以遍历内存中的资源ID,为该待创建资源分配一个不重复的资源ID,以及将为待创建资源分配的资源ID添加至第一配置信息中。相应的,分发端向分布式协调服务集群转发所述第一配置请求可以是:向所述分布式协调服务集群转发添加有为待创建资源分配的资源ID的第一配置请求。由此,后续在分发端初始化或重启时,便可从磁盘中获取任一条配置信息的资源名称和资源ID,以及将资源名称和资源ID关联存储至内存中。
当然,若用户需求是为分布式系统删除资源,则分发端可以删除内存中保存的对应的已创建的资源的资源名称和资源ID。为了便于理解,以表2和表3进行说明。表2为磁盘中记录的配置信息。表3为内存中记录的关键配置信息。
表2中记录了两条配置信息,一条是存储池pool-0的配置信息;另一条是存储池pool-1的配置信息。以存储池pool-0的配置信息为例,在存储池pool-0的配置信息中,包括存储池pool-0的存储池名称、id、disk磁盘以及卷配置信息。通过存储池pool-0的配置信息可以获知存储池pool-0下创建了两个卷,分别为卷vol-0和vol-1。其中,卷vol-0的配置信息指示卷vol-0的名称为vol-0、卷vol-0的id为0以及卷容量为200。卷vol-1的配置信息指示卷vol-1的名称为vol-1、卷vol-1的id为1以及卷容量为300。
表2
表3中记录了表2中每条配置信息中的关键配置信息。具体的,表3中一条是存储池pool-0的关键配置信息,另一条是存储池pool-1的关键配置信息。以存储池pool-0的关键配置信息为例,在存储池pool-0的关键配置信息中,包括存储池pool-0的存储池名称、id、以及卷的关键配置信息。其中,卷vol-0的关键配置信息指示卷vol-0的名称为vol-0和卷vol-0的id为0。卷vol-1的关键配置信息指示卷vol-1的名称为vol-1和卷vol-1的id为1。
表3
实际应用中,分发端还可以第一配置信息是否生效进行检测,若检测到第一配置信息生效,则分发端可以向用户推送配置成功消息;若检测到第一配置信息未生效,则分发端可以向用户推送配置失败消息。
在一些实施例中,分发端向分布式协调服务集群转发第一配置请求之后,还可以在预设时间到达时,根据第一配置请求和磁盘中的配置结果,确定第一配置信息是否生效,其中,配置结果用于指示目标执行端基于配置信息配置分布式系统的执行结果。
其中,预设时间根据实际业务需求设置,预设时间例如为30秒。
其中,配置结果用于指示目标执行端基于配置信息配置分布式系统的执行结果。
在本申请实施例中,执行端响应分布式协调服务集群发送的第二配置请求,基于磁盘中的第一配置信息配置分布式系统。另外,执行端还会将配置分布式系统的配置结果发送给分布式协调服务集群,由分布式协调服务集群保存至磁盘中。
在一些实施例中,在预设时间到达时,根据第一配置请求和磁盘中的配置结果,确定第一配置信息是否生效包括:
在预设时间到达时,若第一配置请求指示为分布式系统创建资源或者修改已创建的资源,查找磁盘中是否包括第一配置信息对应的配置结果;若磁盘包括第一配置信息对应的配置结果,确定第一配置信息生效;若磁盘不包括第一配置信息对应的配置结果,确定第一配置信息失效;或者,
在预设时间到达时,若配置请求指示为删除为分布式系统已创建的资源,查找磁盘中是否包括第一配置信息对应的配置结果;若磁盘不包括第一配置信息对应的配置结果,确定第一配置信息生效;若磁盘包括第一配置信息对应的配置结果,确定第一配置信息失效。
在一些实施例中,分发端确定第一配置信息是否生效之后,若第一配置信息失效,分发端还可以向分布式协调服务集群发送回退请求,以使分布式协调服务集群对磁盘中的第一配置信息进行回退操作。
具体的,若第一配置请求对应的操作类型为创建操作,则分布式协调服务集群基于分发端下发的回退请求删除磁盘中第一配置信息。
若第一配置请求对应的操作类型为修改操作,则分布式协调服务集群基于分发端下发的回退请求将磁盘中修改后的配置信息回退到修改前的配置信息。
若第一配置请求对应的操作类型为删除操作,则分布式协调服务集群基于分发端下发的回退请求恢复磁盘中已删除的配置信息。
在一些实施例中,分发端获取用户触发的针对分布式系统的第一配置请求之后,还可以对第一配置信息对应的资源设置锁;
当然,在预设时间到达时,根据第一配置请求和磁盘中的配置结果,确定第一配置信息是否生效之后,分发端还可以释放为第一配置信息对应的资源设置的锁。
可以理解的是,锁可以对第一配置信息对应的资源进行保护,避免执行端和分发端同时对资源进行操作。关于锁(lock)技术的相关介绍详见更多现有技术。
图4示出了本申请提供的配置方法另一个实施例的流程图,该方法的执行主体为执行端。参见图4,该配置方法可以包括以下步骤:
401、目标执行端获取分布式协调服务集群发送的第二配置请求。
其中,分发端在确定第一配置请求中的第一配置信息有效时,向分布式协调服务集群发送第一配置请求;分布式协调服务集群响应分发端转发的第一配置请求向目标执行端发送第二配置请求。
其中,目标执行端是分布式协调服务集群从多个执行端中选择出来的,若分布式协调服务集群监控到目标执行端故障时,分布式式协调服务还可以从多个执行端中选择新的目标执行端。
402、获取磁盘中的配置信息和配置结果。
403、对磁盘中的配置信息和配置结果进行比对,以确定出第一配置请求对应的第一配置信息。
404、基于第一配置信息配置分布式系统。
具体的,目标执行端响应第二配置请求,请求分布式协调服务集群发送磁盘中的配置信息和配置结果,并对磁盘中的配置信息和配置结果进行比对,以确定出第一配置请求对应的第一配置信息。
其中,配置结果指示目标执行端基于配置信息配置分布式系统的执行结果。目标执行端从磁盘中每获取的一条配置信息时,基于该配置信息配置分布式系统,以及获取该配置信息配置分布式系统的配置结果,并将配置结果保存至磁盘中。可以理解的是,若磁盘中的配置信息未被目标执行端获取并执行相应的配置操作,则磁盘中不会存在该配置信息的配置结果。若磁盘中的配置信息被目标执行端获取并执行相应的配置操作,则磁盘中存在该配置信息的配置结果。另外,配置结果可以指示哪条配置信息被目标执行端执行,因此,可以通过将磁盘中的配置信息和配置结果进行比对,确定出磁盘中新增的尚未执行的配置信息。
目标执行端在基于第一配置请求执行配置操作时,具体可以涉及到以下几种情形:
若第一配置请求对应的操作类型为创建操作,磁盘中新增了第一配置请求中的第一配置信息,这时,目标执行端基于第一配置信息为分布式系统创建相应的资源。
若第一配置请求对应的操作类型为修改操作,磁盘中保存的是利用第一配置信息进行修改后的配置信息,这时,目标执行端基于第一配置信息为分布式系统修改相应的资源。
若第一配置请求对应的操作类型为删除操作,磁盘中删除了已创建的配置信息,则目标执行端删除为分布式系统已创建的配置信息对应资源。
在一些实施例中,为了便于监控配置结果,目标执行端在基于第一配置信息配置分布式系统之后,还可以将第一配置信息对应的配置结果保存至磁盘中。
在一些实施例中,目标执行端基于第一配置信息配置分布式系统之前,还可以对第一配置信息对应的资源设置锁。
当然,目标执行端基于第一配置信息配置分布式系统之后,还可以释放为第一配置信息对应的资源设置的锁。
可以理解的是,锁可以对第一配置信息对应的资源进行保护,避免执行端和分发端同时对资源进行操作。
在本申请实施例中,配置信息有效性的检查步骤从由目标执行端执行调整至由分发端执行,由此,提升目标执行端配置分布式系统的配置效率。
图5示出了本申请提供的配置装置一个实施例的结构示意图。参见图5,该配置装置可以包括:
获取模块501,用于获取用户触发的针对分布式系统的包括第一配置信息的第一配置请求;
处理模块502、用于检测第一配置信息是否有效;若第一配置信息有效,向分布式协调服务集群转发第一配置请求,以使分布式协调服务集群基于第一配置信息更新磁盘中的配置信息,以及向目标执行端发送第二配置请求,第二配置请求用于指示目标执行端利用磁盘中的第一配置信息配置分布式系统。
可选的,处理模块502检测第一配置信息是否有效时,具体用于:
检测第一配置信息是否符合数据规范性条件;
若是,确定第一配置信息有效;
其中,数据规范性条件至少包括以下条件中的一种或多种:数据格式条件、数据类型条件和取值范围条件;
处理模块502检测第一配置信息是否符合数据规范性条件具体是:
针对第一配置信息中的任一配置参数,检测该配置参数的参数值的数据格式是否为预设数据格式;若是,确定该配置参数符合数据格式条件;或者,
针对任一配置参数,检测该配置参数的参数值的数据类型是否为预设类型;若是,确定该配置参数符合数据类型条件;或者,
针对任一配置参数,检测该配置参数的参数值的取值范围是否为预设取值范围;若是,确定该配置参数符合取值范围条件。
可选的,处理模块502检测第一配置信息是否符合数据规范性条件之后,还用于:
若第一配置信息符合数据规范性条件,检测第一配置信息是否符合业务规范性条件;
若是,确定第一配置信息有效。
可选的,处理模块502在检测第一配置信息是否符合业务规范性条件之前,还用于:在分发端初始化或重启时,针对磁盘中的任一条配置信息,从该配置信息中筛选出表征资源名称的第一配置参数;
将第一配置参数存储至内存中;
处理模块502检测第一配置信息是否符合业务规范性条件具体:
根据内存中的第一配置参数,检测第一配置信息是否符合重名检查条件。
可选的,处理模块502检测第一配置信息是否符合重名检查条件时,具体用于:
若第一配置请求指示为分布式系统创建资源,查找内存是否存在与第一配置信息中的资源名称匹配的第一配置参数;
若内存中不存在与第一配置信息中的资源名称匹配的第一配置参数,确定第一配置信息符合重名检查条件;
若内存中存在与第一配置信息中的资源名称匹配的第一配置参数确定第一配置信息不符合重名检查条件;
若第一配置请求指示删除为分布式系统已创建的资源或者第一配置请求指示为分布式系统修改已创建的资源,若内存中存在与第一配置信息中的资源名称匹配的第一配置参数,确定第一配置信息符合重名检查条件;
若内存中不存在与第一配置信息中的资源名称匹配的第一配置参数,确定第一配置信息不符合重名检查条件。
可选的,处理模块502在检测第一配置信息是否符合业务规范性条件之前,还用于:
针对磁盘中的任一条配置信息,从该配置信息中筛选出表征资源ID的第二配置参数;
处理模块502将第一配置参数存储至内存中具体是:
将第一配置参数和第二配置参数关联存储至内存中。
可选的,处理模块502,还用于:
若第一配置请求指示为分布式系统创建资源,遍历内存中的资源ID,以确定为待创建资源分配的资源ID,其中,为待创建资源分配的资源ID与内存中的资源ID不重复;
将为待创建资源分配的资源ID添加至第一配置信息中;
若第一配置请求指示删除为分布式系统已创建的资源,删除内存中保存的已创建的资源的资源名称和资源ID。
可选的,处理模块502,向分布式协调服务集群转发第一配置请求之后,还用于:
在预设时间到达时,根据第一配置请求和磁盘中的配置结果,确定第一配置信息是否生效,其中,配置结果用于指示目标执行端基于配置信息配置分布式系统的执行结果。
可选的,处理模块502确定第一配置信息是否生效时,具体用于:
在预设时间到达时,若第一配置请求指示为分布式系统创建资源或者修改已创建的资源,查找磁盘中是否包括第一配置信息对应的配置结果;
若磁盘包括第一配置信息对应的配置结果,确定第一配置信息生效;
若磁盘不包括第一配置信息对应的配置结果,确定第一配置信息失效;或者,
在预设时间到达时,若配置请求指示为删除为分布式系统已创建的资源,查找磁盘中是否包括第一配置信息对应的配置结果;
若磁盘不包括第一配置信息对应的配置结果,确定第一配置信息生效;
若磁盘包括第一配置信息对应的配置结果,确定第一配置信息失效。
可选的,处理模块502确定第一配置信息是否生效之后,还用于:
若第一配置信息失效,向分布式协调服务集群发送回退请求,以使分布式协调服务集群对磁盘中的第一配置信息进行回退操作。
可选的,处理模块502获取用户触发的针对分布式系统的第一配置请求之后,还用于:
对第一配置信息对应的资源设置锁;
在预设时间到达时,根据第一配置请求和磁盘中的配置结果,确定第一配置信息是否生效之后,处理模块502还用于:
释放为第一配置信息对应的资源设置的锁。
图5的配置装置可以执行图2或图3所示实施例的配置方法,其实现原理和技术效果不再赘述。对于上述实施例中的配置装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6示出了本申请提供的配置装置另一个实施例的结构示意图。参见图6,该配置装置可以包括:
获取模块601,用于获取分布式协调服务集群发送的第二配置请求,其中,第二配置请求是分布式协调服务集群响应分发端转发的第一配置请求而发送的,分发端在确定第一配置请求中的第一配置信息有效时,向分布式协调服务集群发送第一配置请求。
获取模块601还用于获取磁盘中的配置信息和配置结果;
处理模块602,用于对磁盘中的配置信息和配置结果进行比对,以确定出第一配置请求对应的第一配置信息;基于第一配置信息配置分布式系统。
在一些实施例中,处理模块602在基于第一配置信息配置分布式系统之后,还用于:
将第一配置信息对应的配置结果保存至磁盘中。
在一些实施例中,处理模块602基于第一配置信息配置分布式系统之前,还用于:
对第一配置信息对应的资源设置锁。
在一些实施例中,处理模块602基于第一配置信息配置分布式系统之后,还用于:释放为第一配置信息对应的资源设置的锁。
图6的配置装置可以执行图4所示实施例的配置方法,其实现原理和技术效果不再赘述。对于上述实施例中的配置装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在一个可能的设计中,图5或图6所示实施例的配置装置可以实现为计算设备,如图7所示,该计算设备可以包括存储组件701以及处理组件702;
存储组件701存储一条或多条计算机指令,其中,一条或多条计算机指令供处理组件调用执行。
处理组件702用于:
获取用户触发的针对分布式系统的包括第一配置信息的第一配置请求;
检测第一配置信息是否有效;
若第一配置信息有效,向分布式协调服务集群转发第一配置请求,以使分布式协调服务集群基于第一配置信息更新磁盘中的配置信息,以及向目标执行端发送第二配置请求,第二配置请求用于指示目标执行端利用磁盘中的第一配置信息配置分布式系统;
或者,处理组件701用于:
获取分布式协调服务集群发送的第二配置请求,其中,第二配置请求是分布式协调服务集群响应分发端转发的第一配置请求而发送的,分发端在确定第一配置请求中的第一配置信息有效时,向分布式协调服务集群发送第一配置请求。
获取磁盘中的配置信息和配置结果;
对磁盘中的配置信息和配置结果进行比对,以确定出第一配置请求对应的第一配置信息;
基于第一配置信息配置分布式系统。
其中,处理组件702可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件701被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
另外,计算设备可以包括显示组件703,显示组件703可以为电子发光(EL)元件、液晶显示器或具有类似结构的微型显示器、或者视网膜可直接显示或类似的激光扫描式显示器。
当然,计算设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。
输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。
通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
其中,该计算设备可以为物理设备或者云计算平台提供的弹性计算主机等,此时计算设备即可以是指云服务器,上述处理组件、存储组件等可以是从云计算平台租用或购买的基础服务器资源。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被计算机执行时可以实现上述图2或图3所示实施例的配置方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (17)
1.一种配置方法,其特征在于,应用于分发端,包括:
获取用户触发的针对分布式系统的包括第一配置信息的第一配置请求;
检测所述第一配置信息是否有效;
若所述第一配置信息有效,向分布式协调服务集群转发所述第一配置请求,以使所述分布式协调服务集群基于所述第一配置信息更新磁盘中的配置信息,以及向目标执行端发送第二配置请求,所述第二配置请求用于指示所述目标执行端利用所述磁盘中的第一配置信息配置所述分布式系统。
2.根据权利要求1所述的方法,其特征在于,检测所述第一配置信息是否有效包括:
检测所述第一配置信息是否符合数据规范性条件;
若是,确定所述第一配置信息有效;
其中,所述数据规范性条件至少包括以下条件中的一种或多种:数据格式条件、数据类型条件和取值范围条件;
检测所述第一配置信息是否符合数据规范性条件包括:
针对所述第一配置信息中的任一配置参数,检测该配置参数的参数值的数据格式是否为预设数据格式;若是,确定该配置参数符合数据格式条件;或者,
针对任一配置参数,检测该配置参数的参数值的数据类型是否为预设类型;若是,确定该配置参数符合数据类型条件;或者,
针对任一配置参数,检测该配置参数的参数值的取值范围是否为预设取值范围;若是,确定该配置参数符合取值范围条件。
3.根据权利要求1所述的方法,其特征在于,检测所述第一配置信息是否符合数据规范性条件之后,所述方法还包括:
若所述第一配置信息符合数据规范性条件,检测所述第一配置信息是否符合业务规范性条件;
若是,确定所述第一配置信息有效。
4.根据权利要求3所述的方法,其特征在于,在检测所述第一配置信息是否符合业务规范性条件之前,所述方法还包括:
在所述分发端初始化或重启时,针对所述磁盘中的任一条配置信息,从该配置信息中筛选出表征资源名称的第一配置参数;
将所述第一配置参数存储至内存中;
检测所述第一配置信息是否符合业务规范性条件包括:
根据所述内存中的第一配置参数,检测所述第一配置信息是否符合重名检查条件。
5.根据权利要求4所述的方法,其特征在于,根据所述内存中的第一配置参数,检测所述第一配置信息是否符合重名检查条件,包括:
若所述第一配置请求指示为所述分布式系统创建资源,查找所述内存是否存在与所述第一配置信息中的资源名称匹配的第一配置参数;
若所述内存中不存在与所述第一配置信息中的资源名称匹配的第一配置参数,确定所述第一配置信息符合所述重名检查条件;
若所述内存中存在与所述第一配置信息中的资源名称匹配的第一配置参数确定所述第一配置信息不符合所述重名检查条件;
若所述第一配置请求指示删除为所述分布式系统已创建的资源或者所述第一配置请求指示为所述分布式系统修改已创建的资源,若所述内存中存在与所述第一配置信息中的资源名称匹配的第一配置参数,确定所述第一配置信息符合所述重名检查条件;
若所述内存中不存在与所述第一配置信息中的资源名称匹配的第一配置参数,确定所述第一配置信息不符合所述重名检查条件。
6.根据权利要求4所述的方法,其特征在于,在检测所述第一配置信息是否符合业务规范性条件之前,所述方法还包括:
针对所述磁盘中的任一条配置信息,从该配置信息中筛选出表征资源ID的第二配置参数;
将所述第一配置参数存储至内存中包括:
将所述第一配置参数和所述第二配置参数关联存储至内存中。
7.根据权利要求6所述的方法,其特征在于,还包括:
若所述第一配置请求指示为所述分布式系统创建资源,遍历所述内存中的资源ID,以确定为待创建资源分配的资源ID,其中,为待创建资源分配的资源ID与所述内存中的资源ID不重复;
将为待创建资源分配的资源ID添加至所述第一配置信息中;
若所述第一配置请求指示删除为所述分布式系统已创建的资源,删除所述内存中保存的已创建的资源的资源名称和资源ID。
8.根据权利要求1至7任一项所述的方法,其特征在于,向分布式协调服务集群转发所述第一配置请求之后,所述方法还包括:
在预设时间到达时,根据所述第一配置请求和所述磁盘中的配置结果,确定所述第一配置信息是否生效,其中,所述配置结果用于指示目标执行端基于配置信息配置分布式系统的执行结果。
9.根据权利要求8所述的方法,其特征在于,在预设时间到达时,根据所述第一配置请求和所述磁盘中的配置结果,确定所述第一配置信息是否生效包括:
在预设时间到达时,若所述第一配置请求指示为所述分布式系统创建资源或者修改已创建的资源,查找所述磁盘中是否包括所述第一配置信息对应的配置结果;
若所述磁盘包括所述第一配置信息对应的配置结果,确定所述第一配置信息生效;
若所述磁盘不包括所述第一配置信息对应的配置结果,确定所述第一配置信息失效;或者,
在预设时间到达时,若所述配置请求指示为删除为所述分布式系统已创建的资源,查找所述磁盘中是否包括所述第一配置信息对应的配置结果;
若所述磁盘不包括所述第一配置信息对应的配置结果,确定所述第一配置信息生效;
若所述磁盘包括所述第一配置信息对应的配置结果,确定所述第一配置信息失效。
10.根据权利要求9所述的方法,其特征在于,确定所述第一配置信息是否生效之后,所述方法还包括:
若所述第一配置信息失效,向所述分布式协调服务集群发送回退请求,以使所述分布式协调服务集群对所述磁盘中的第一配置信息进行回退操作。
11.根据权利要求9所述的方法,其特征在于,分发端获取用户触发的针对分布式系统的第一配置请求之后,所述方法还包括:
对所述第一配置信息对应的资源设置锁;
在预设时间到达时,根据所述第一配置请求和所述磁盘中的配置结果,确定所述第一配置信息是否生效之后,所述方法还包括:
释放为所述第一配置信息对应的资源设置的锁。
12.一种配置系统,其特征在于,包括:分发端、分布式协调服务集群、多个执行端;
所述分发端,用于获取用户触发的针对分布式系统的第一配置请求,所述第一配置请求包括第一配置信息;检测所述第一配置信息是否有效;若所述第一配置信息有效,向分布式协调服务集群转发所述第一配置请求;
所述分布式协调服务集群,用于响应所述第一配置请求,更新磁盘中的配置信息,以及向所述多个执行端中的目标执行端发送第二配置请求;
所述目标执行端,用于响应所述第二配置请求,获取所述磁盘中的第一配置信息配置所述分布式系统。
13.根据权利要求12所述的系统,其特征在于,所述分布式协调服务集群,还用于检测所述分发端是否异常,若异常,重新选择新的分发端。
14.根据权利要求12所述的系统,其特征在于,所述分布式协调服务集群,还用于在所述目标执行端故障时,从多个执行端中重新选择处于正常状态的新的目标执行端。
15.一种配置装置,其特征在于,包括:
获取模块,用于获取用户触发的针对分布式系统的包括第一配置信息的第一配置请求;
处理模块,用于检测所述第一配置信息是否有效;若所述第一配置信息有效,向分布式协调服务集群转发所述第一配置请求,以使所述分布式协调服务集群基于所述第一配置信息更新磁盘中的配置信息,以及向目标执行端发送第二配置请求,所述第二配置请求用于指示所述目标执行端利用所述磁盘中的第一配置信息配置所述分布式系统。
16.一种计算设备,其特征在于,包括处理组件以及存储组件;
所述存储组件存储一条或多条计算机指令;所述一条或多条计算机指令用以被所述处理组件调用执行;
所述处理组件用于:
获取用户触发的针对分布式系统的包括第一配置信息的第一配置请求;
检测所述第一配置信息是否有效;
若所述第一配置信息有效,向分布式协调服务集群转发所述第一配置请求,以使所述分布式协调服务集群基于所述第一配置信息更新磁盘中的配置信息,以及向目标执行端发送第二配置请求,所述第二配置请求用于指示所述目标执行端利用所述磁盘中的第一配置信息配置所述分布式系统。
17.一种计算机存储介质,其特征在于,存储有计算机程序,所述计算程序被计算机执行时,实现如权利要求1~11任一项所述的配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110785903.5A CN113726546B (zh) | 2021-07-12 | 2021-07-12 | 配置方法、装置、系统、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110785903.5A CN113726546B (zh) | 2021-07-12 | 2021-07-12 | 配置方法、装置、系统、计算设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113726546A true CN113726546A (zh) | 2021-11-30 |
CN113726546B CN113726546B (zh) | 2023-11-21 |
Family
ID=78673177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110785903.5A Active CN113726546B (zh) | 2021-07-12 | 2021-07-12 | 配置方法、装置、系统、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113726546B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115208754A (zh) * | 2022-06-28 | 2022-10-18 | 深信服科技股份有限公司 | 配置的下发方法、装置、计算机设备和存储介质 |
CN116719481A (zh) * | 2023-08-08 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 配置数据处理方法、装置及相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9171019B1 (en) * | 2013-02-19 | 2015-10-27 | Amazon Technologies, Inc. | Distributed lock service with external lock information database |
US20160112516A1 (en) * | 2013-07-02 | 2016-04-21 | Huawei Technologies Co., Ltd. | Distributed storage system, cluster node and range management method thereof |
US20200068010A1 (en) * | 2018-08-25 | 2020-02-27 | Panzura, Inc. | Managing a cloud-based distributed computing environment using a distributed database |
CN111026723A (zh) * | 2019-11-21 | 2020-04-17 | 望海康信(北京)科技股份公司 | 大数据集群管理控制方法、装置、计算机设备及存储介质 |
CN112835524A (zh) * | 2021-02-04 | 2021-05-25 | 中国工商银行股份有限公司 | 存储资源配置方法、存储资源控制器及调度系统 |
-
2021
- 2021-07-12 CN CN202110785903.5A patent/CN113726546B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9171019B1 (en) * | 2013-02-19 | 2015-10-27 | Amazon Technologies, Inc. | Distributed lock service with external lock information database |
US20160112516A1 (en) * | 2013-07-02 | 2016-04-21 | Huawei Technologies Co., Ltd. | Distributed storage system, cluster node and range management method thereof |
US20200068010A1 (en) * | 2018-08-25 | 2020-02-27 | Panzura, Inc. | Managing a cloud-based distributed computing environment using a distributed database |
CN111026723A (zh) * | 2019-11-21 | 2020-04-17 | 望海康信(北京)科技股份公司 | 大数据集群管理控制方法、装置、计算机设备及存储介质 |
CN112835524A (zh) * | 2021-02-04 | 2021-05-25 | 中国工商银行股份有限公司 | 存储资源配置方法、存储资源控制器及调度系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115208754A (zh) * | 2022-06-28 | 2022-10-18 | 深信服科技股份有限公司 | 配置的下发方法、装置、计算机设备和存储介质 |
CN115208754B (zh) * | 2022-06-28 | 2024-02-23 | 深信服科技股份有限公司 | 配置的下发方法、装置、计算机设备和存储介质 |
CN116719481A (zh) * | 2023-08-08 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 配置数据处理方法、装置及相关设备 |
CN116719481B (zh) * | 2023-08-08 | 2024-01-26 | 腾讯科技(深圳)有限公司 | 配置数据处理方法、装置及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113726546B (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8954391B2 (en) | System and method for supporting transient partition consistency in a distributed data grid | |
JP7270755B2 (ja) | 分散システムでのメタデータルーティング | |
CN105814544B (zh) | 用于支持分布式数据网格中的持久化分区恢复的系统和方法 | |
US9992274B2 (en) | Parallel I/O write processing for use in clustered file systems having cache storage | |
US9262323B1 (en) | Replication in distributed caching cluster | |
EP3232609B1 (en) | Locking request processing method and server | |
CN106936623A (zh) | 分布式缓存系统及缓存集群的管理方法 | |
CN104506654B (zh) | 云计算系统及动态主机配置协议服务器备份方法 | |
CN113726546A (zh) | 配置方法、装置、系统、计算设备及存储介质 | |
US9390156B2 (en) | Distributed directory environment using clustered LDAP servers | |
US9529772B1 (en) | Distributed caching cluster configuration | |
WO2016074167A1 (zh) | 分布式系统中锁服务器故障的处理方法及其系统 | |
US20160234129A1 (en) | Communication system, queue management server, and communication method | |
JP2016162389A (ja) | シンクライアントシステム、接続管理装置、仮想マシン稼働装置、方法、および、プログラム | |
WO2017107984A1 (zh) | 一种数据恢复方法及装置 | |
US9760370B2 (en) | Load balancing using predictable state partitioning | |
CN106850747A (zh) | 一种分布式实时转码系统的转码节点管理系统及方法 | |
KR102665749B1 (ko) | 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치 | |
US11157454B2 (en) | Event-based synchronization in a file sharing environment | |
CN112910796A (zh) | 流量管理方法、装置、设备、存储介质以及程序产品 | |
CN117120993A (zh) | 地理上分散的混合云集群 | |
JP6568232B2 (ja) | 計算機システム、及び、装置の管理方法 | |
US20230342260A1 (en) | Capacity-based redirection efficiency and resiliency | |
US20220398048A1 (en) | File storage system and management information file recovery method | |
CN114143321A (zh) | 一种基于跨idc环境的多租户应用配置分发系统 |
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 |