CN112667350A - 配置调度方法、装置及系统 - Google Patents
配置调度方法、装置及系统 Download PDFInfo
- Publication number
- CN112667350A CN112667350A CN202011572356.4A CN202011572356A CN112667350A CN 112667350 A CN112667350 A CN 112667350A CN 202011572356 A CN202011572356 A CN 202011572356A CN 112667350 A CN112667350 A CN 112667350A
- Authority
- CN
- China
- Prior art keywords
- configuration
- information
- application program
- node
- group
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000008859 change Effects 0.000 claims description 46
- 230000006870 function Effects 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 9
- 235000003181 Panax pseudoginseng Nutrition 0.000 description 2
- 244000131316 Panax pseudoginseng Species 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种配置调度方法、装置及系统,所述方法包括:响应应用程序启动操作,从客户端的应用程序所处的容器环境中获取应用程序的身份信息;根据所述身份信息,匹配对应的第一配置节点组,以在接收到所述第一配置节点组上报对应的第一地址信息时,根据所述第一地址信息,从所述第一配置节点组中获取第一配置信息,并将所述第一配置信息发送至所述应用程序,其中,所述第一配置节点组包括至少一个第一配置节点,所述第一地址信息包括各所述第一配置节点的地址信息。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种配置调度方法、装置及系统。
背景技术
在分布式系统中,通常在程序启动的时候,是通过获取配置节点上的配置信息以启动应用。因此,为获取配置信息,应用程序在程序代码的开发过程,会将配置节点的地址写入代码中。但在需要大规模调度应用程序的游戏业务场景中,需要获取的配置节点的地址过多,有些配置节点的地址可能会在进程启动的时候被修改或才能知晓,导致对应的应用程序无法被调度,从而影响游戏业务场景中其他应用程序的调度,导致多个应用程序无法很好地配合来完成对应的游戏业务。
发明内容
本申请的目的在于至少解决现有技术中存在的技术问题之一,提供一种配置调度方法、装置及系统,实现配置信息的动态配置,迅速完成相关的游戏业务。
本申请实施例提供一种配置调度方法,包括:
响应应用程序启动操作,从客户端的应用程序所处的容器环境中获取应用程序的身份信息;
根据所述身份信息,匹配对应的第一配置节点组,以在接收到所述第一配置节点组上报对应的第一地址信息时,根据所述第一地址信息,从所述第一配置节点组中获取第一配置信息,并将所述第一配置信息发送至所述应用程序,其中,所述第一配置节点组包括至少一个第一配置节点,所述第一地址信息包括各所述第一配置节点的地址信息。
进一步的,本申请实施例,还包括:
将所述第一配置信息发送至所述应用程序的第一配置容器中,并检测配置变更指令;
在接收到所述配置变更指令时,从与所述配置变更指令相匹配的所述第二配置节点组中获取第二配置信息发送至所述应用程序中,以在所述应用程序中根据所述第二配置信息创建覆盖所述第一配置容器的第二配置容器,所述第二配置节点组包括至少一个第二配置节点,所述第二地址信息包括各所述第二配置节点的地址信息。
进一步的,所述从与所述配置变更指令相匹配的所述第二配置节点组中获取第二配置信息发送至所述应用程序中,包括:
获取所述配置变更指令中的节点信息;
根据所述节点信息匹配对应的第二配置节点组,以在接收到所述第二配置节点组上报对应的第二地址信息时,根据所述第二地址信息,从所述第二配置节点组中获取所述第二配置信息;
将所述第二配置信息发送至所述应用程序。
进一步的,所述根据所述第一地址信息,从所述第一配置节点组中获取第一配置信息,包括:
根据所述第一地址信息,从所述第一配置节点组中获取多个数据配置组,其中,所述数据配置组包括多个数据配置层,所述数据配置层中封装有用于启动所述应用程序的配置数据;
根据各所述配置组的覆盖优先级,依次将高优先级的所述配置组覆盖低优先级的所述配置组,以生成所述第一配置信息。
进一步的,所述根据所述第一地址信息,从所述第一配置节点组中获取多个数据配置组,包括:
根据所述第一地址信息,从所述第一配置节点组中的各所述第一配置节点获取与各所述第一配置节点一一对应的各数据配置组。
进一步的,所述根据各所述配置组的覆盖优先级,依次将高优先级的所述配置组覆盖低优先级的所述配置组,包括:
根据各所述配置组中第一配置组的各所述数据配置层的覆盖优先级,以及各所述配置组中第二配置组的各所述数据配置层的覆盖优先级,将所述第一配置组中高覆盖优先级的所述数据配置层,覆盖所述第二配置组中低覆盖优先级的所述数据层。
进一步的,各所述数据配置层之间的覆盖优先级通过以下至少一种方式确定:
根据所述目标应用程序的启动进程确定;
根据所述目标应用程序的应用功能确定;
根据自定义配置优先级确定。
进一步的,所述配置数据包括配置参数的地址信息。
进一步的,本申请实施例中,还提供了一种配置调度装置,包括:
信息获取模块,用于响应应用程序启动操作,从客户端的应用程序所处的容器环境中获取应用程序的身份信息;
配置调度模块,用于根据所述身份信息,匹配对应的第一配置节点组,以在接收到所述第一配置节点组上报对应的第一地址信息时,根据所述第一地址信息,从所述第一配置节点组中获取第一配置信息,并将所述第一配置信息发送至所述应用程序,其中,所述第一配置节点组包括至少一个第一配置节点,所述第一地址信息包括各所述第一配置节点的地址信息。
进一步的,本申请实施例中,还提供了一种服务器,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例所述的配置调度方法。
进一步的,本申请实施例中,还提供了一种配置调度系统,包括客户端、网关、配置节点组以及如上述实施例所述的服务器,所述客户端与所述服务器连接,所述网关与所述客户端和所述服务器长连接,所述服务器与所述配置节点组中的各配置节点连接。
进一步的,本申请实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例所述的配置调度方法。
进一步的,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上述实施例所述的配置调度方法。
相比于现有技术,上述实施例通过从应用程序所处的容器环境中获取应用程序的身份信息,并根据身份信息匹配第一配置节点组,使得服务器在接收到第一配置节点组上报的第一地址信息时,根据第一地址信息来获取第一配置信息并发送到应用程序中,从而无需将配置节点的地址写入应用程序的代码中,避免进程启动时才得到部分配置节点的地址导致调度失败的情况,很好地适应动态配置的情况,令多个应用程序更好地配合来完成游戏业务。
上述实施例通过检测配置变更指令,并在接收到配置变更指令时,从对应第二配置节点组中获取第二配置信息发送到应用程序中,从而创建第二配置容器来对第一配置容器进行覆盖,使得在需要增加或修改容器的配置信息时,无需重新启动容器,能够更好地在配置信息更新的过程中继续提供服务。
上述实施例通过获取配置变更指令的节点信息赖匹配第二配置节点组,使得服务器在接收到第二配置节点组上报的第二地址信息时,根据第二地址信息获取第二配置信息,从而无需将配置变更指令对应的节点的地址写入应用程序的代码中,更好地适应配置信息动态更新的情况,令多个应用程序更好地配合来完成游戏业务。
上述实施例通过从第一配置节点获取多个数据配置组,根据各配置组的覆盖优先级将高优先级的配置组覆盖低优先级的配置组来生成第一配置信息,能够挑选更加合适的配置组,并且可以通过修改覆盖优先级来变更的配置信息,使得无需重复配置多个数据,简化了操作步骤,提高了灵活性。
上述实施例通过从第一配置节点组中的各第一配置节点获取与各第一配置节点一一对应的各数据配置组,能够充分考虑各个配置节点的配置信息,更好地选取对应的配置信息对应用程序进行调度。
上述实施例通过将第一配置组中高覆盖优先级的数据配置层覆盖对应的第二配置组中低覆盖优先级的数据配置层,使得无需将第一配置组的全部数据都对第二配置组进行覆盖,进一步加强了整个配置调度过程的实时性。
上述实施例中各数据配置层中覆盖优先级可以根据目标应用程序的启动进程或者应用功能来进行配置,还可以根据自定义配置参数来进行配置,这使得各数据配置层的覆盖优先级能够依据多种情况进行配置,应用更加广泛。
上述实施例通过在配置数据中设置配置参数的地址信息,能够动态地获得配置值,避免受到部署环境或者其他条件影响所带来的变动对固定配置值的影响。
附图说明
下面结合附图和实施例对本申请进一步地说明;
图1为一个实施例中配置调度方法的应用环境图;
图2为一个实施例中配置调度方法的流程示意图;
图3为另一个实施例中配置调度方法的流程示意图;
图4为一个实施例中配置调度装置的结构框图;
图5为另一个实施例中配置调度装置的结构框图;
图6为一个实施例中服务器的结构框图;
图7为一个实施例中计算机设备的结构框图;
图8为一个实施例中配置调度系统的结构示意图。
具体实施方式
本部分将详细描述本申请的具体实施例,本申请之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本申请的每个技术特征和整体技术方案,但其不能理解为对本申请保护范围的限制。
在分布式系统中,通常在程序启动的时候,是通过获取配置节点上的配置信息以启动应用。因此,为获取配置信息,应用程序在程序代码的开发过程,会将配置节点的地址写入代码中。但在需要大规模调度应用程序的游戏业务场景中,需要获取的配置节点的地址过多,有些配置节点的地址可能会在进程启动的时候被修改或才能知晓,导致对应的应用程序无法被调度,从而影响游戏业务场景中其他应用程序的调度,导致多个应用程序无法很好地配合来完成对应的游戏业务。其中,分布式系统通常为建立在网络之上的软件系统,配置节点通常为在系统中定制的进行流量传输的网络设备,配置信息通常为存储在内存中的数据。而在游戏业务场景中,分布式系统可以为建立在网络之上的计算机集群,配置节点可以为分别于多个客户端网络连接的服务器,配置信息可以为能够驱动安装在客户端中的游戏应用程序的配置参数。
为了解决上述技术问题,如图1所示,是一个实施例中配置调度方法的应用环境图。参照图1,该配置调度系统包括客户端110、服务器120和配置中心130。客户端110和服务器120分别与配置中心130通过网络连接。客户端110具体可以是台式客户端或移动客户端,移动客户端110具体可以手机、平板电脑、笔记本电脑等中的至少一种,客户端110可以用独立的客户端或者是多个客户端组成的客户端集群来实现。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。配置中心130可以用独立的服务器或者是多个服务器组成的服务器集群来实现。其中,客户端用于提供操作界面,使用户通过客户端的操作界面来设置身份信息或者输入应用程序的启动命令;服务器集群中配置有多个配置节点组,根据多个配置节点组的地址信息能够从中获取相关配置信息;配置中心用于从服务器中获取配置信息,来启动安装在用户端的应用程序。
下面,将通过几个具体的实施例对本申请实施例提供的配置调度方法进行详细介绍和说明。
如图2所示,在一个实施例中,提供了一种配置调度方法。本实施例主要以该方法应用于计算机设备来举例说明。该计算机设备具体可以是上述图1中的配置中心130。
参照图2,该配置调度方法具体包括如下步骤:
S11、响应应用程序启动操作,从客户端的应用程序所处的容器环境中获取应用程序的身份信息。
在本实施例中,配置中心响应安装在客户端中的应用程序的启动操作,其中,启动操作指的是应用程序需要启动时发出的需要获取相关配置信息的请求信息。此时,配置中心根据该启动操作从客户端的应用程序所处的容器环境中获取应用程序的身份信息。其中,身份信息通常为应用程序对应的唯一的ID,用于令配置中心和服务器能够唯一地准确地识别到该应用程序。该ID可以为应用程序的自定义编码,也可以为应用程序的地址。在本实施例中,对于身份信息的内容和形式不作具体限定。
在本实施例中,应用程序所处的容器环境,为应用程序所在的容器镜像文件,在编写该应用程序的容器镜像文件过程中,编写应用程序对应的身份信息。
例如,编写应用程序《云上城之歌》的容器镜像文件,容器镜像文件中包括《云上城之歌》的运行系统windows10、应用程序文件以及自定义身份信息。而应用程序《云上城之歌》启动时需要连接业务服务器,因此身份信息需要要业务服务器相关联,如配置中心获取《云上城之歌》的身份信息为ysczg-B,标识应用程序《云上城之歌》与业务服务器B进行绑定。
S12、根据身份信息,匹配对应的第一配置节点组,以在接收到第一配置节点组上报对应的第一地址信息时,根据第一地址信息,从第一配置节点组中获取第一配置信息,并将第一配置信息发送至应用程序,其中,第一配置节点组包括至少一个第一配置节点,第一地址信息包括各第一配置节点的地址信息。
在本实施例中,配置中心根据身份信息,在服务器中匹配对应的第一配置节点组。由于应用程序启动时需要连接服务器获取服务器中的相关配置信息,但由于服务器的端口和IP不断变更,因此应用程序难以连接服务器。此时,配置中心匹配到对应的第一配置节点组后,接收第一配置节点组上传的第一地址信息,配置中心根据第一地址信息获取第一配置信息,并将第一配置信息发送到应用程序中,以使应用程序进行启动。其中,第一配置节点组指的是服务器或服务器集群所对应的各个服务器节点,第一地址信息指的是服务器或者服务器集群对应的各个服务器节点的端口地址,第一配置信息指的是用于启动应用程序的参数的集合。
例如,应用程序《云上城之歌》,启动时需要连接业务服务器B,获取业务服务器中实现账号充值功能、账号登录功能和账号定位功能的配置信息。此时,配置中心根据身份信息ysczg-B匹配到业务服务器B,业务服务器B对应的第一节点配置组包括三个配置节点,分别为配置节点1、配置节点2和配置节点3。由于应用程序与服务器之间受依赖关系的影响,因此在应用程序《云上城之歌》启动时,业务服务器B对应的配置节点1、2、3均会启动。配置节点1、2、3启动后会将当前时刻的端口地址信息192.168.1.1、192.168.1.2、192.168.1.3上传到配置中心,配置中心根据接收到的配置节点1、2、3的端口地址信息192.168.1.1、192.168.1.2、192.168.1.3,从配置节点1、2、3中分别获取实现账号充值功能的配置信息abcd、实现账号登录功能的配置信息efgh、实现账号定位功能的配置信息ijkl。应用程序《云上城之歌》根据配置信息abcdefghijkl进行启动。
在一个实施例中,根据第一地址信息,从第一配置节点组中获取第一配置信息,包括:
根据第一地址信息,从第一配置节点组中获取多个数据配置组,其中,数据配置组包括多个数据配置层,数据配置层中封装有用于启动应用程序的配置数据;
根据各配置组的覆盖优先级,依次将高优先级的配置组覆盖低优先级的配置组,以生成第一配置信息。
在本实施例中,配置中心根据各第一配置节点组上传的第一地址信息,从第一配置节点组中获取多个数据配置组。其中,数据配置组指的是应用程序启动和运行所需要的代码集合。数据配置层指的是由应用程序启动运行所需要的配置数据组合形成的参数集合。配置数据指的是应用程序启动运行所需要的部分参数的集合。获取多个数据配置组后,配置中心根据各数据配置组的覆盖优先级来将高覆盖优先级的数据配置组来覆盖低覆盖优先级的数据配置组。其中,覆盖优先级指的是当前时刻依据应用程序启动或运行过程中数据配置组的重要程度所设定的等级,覆盖优先级可以通过人工进行设定。
例如,对于三七互娱平台上的《云上城之歌》应用程序,配置中心根据接收到的配置节点1、2、3的端口地址信息192.168.1.1、192.168.1.2、192.168.1.3,从配置节点1、2、3中分别获取配置信息为abcdefghijkl的数据配置组1、配置信息为a’bcdefghijkl的数据配置组2、配置信息为abcdefghijkl’的数据配置组3。而应用程序《云上城之歌》需要根据配置信息abcdefghijkl进行启动。此时用户可以对业务服务器B中配置节点1、2、3中的各数据配置组的覆盖优先级来进行设定,依据当前时刻应用程序《云上城之歌》启动所需要配置信息,因此可将数据配置组1的覆盖优先级设为(2)、数据配置组2和3的覆盖优先级均设为(1)。此时配置中心采用覆盖优先级为(2)的数据配置组1对覆盖优先级为(1)的数据配置组2和数据配置组3进行覆盖,根据最后得到的数据配置组1来得到配置信息abcdefghijkl。其中,当应用程序所需要的配置信息发生变化时,可以通过修改覆盖优先级来获得对应的配置信息。
在本实施例中,通过从第一配置节点获取多个数据配置组,根据各配置组的覆盖优先级将高优先级的配置组覆盖低优先级的配置组来生成第一配置信息,能够挑选更加合适的配置组,并且可以通过修改覆盖优先级来变更的配置信息,使得无需重复配置多个数据,简化了操作步骤,提高了灵活性。
在一个实施例中,根据所述第一地址信息,从第一配置节点组中获取多个数据配置组,包括:
根据第一地址信息,从第一配置节点组中的各第一配置节点获取与各第一配置节点一一对应的各数据配置组。
在本实施例中,各第一配置节点中均有对应的数据配置组,其中,第一配置节点与数据配置组之间为一一对应关系。
在本实施例中,通过从第一配置节点组中的各第一配置节点获取与各第一配置节点一一对应的各数据配置组,能够充分考虑各个配置节点的配置信息,更好地选取对应的配置信息对应用程序进行调度。
在一个实施例中,根据各配置组的覆盖优先级,依次将高优先级的配置组覆盖低优先级的配置组,包括:
根据各配置组中第一配置组的各数据配置层的覆盖优先级,以及各配置组中第二配置组的各数据配置层的覆盖优先级,将第一配置组中高覆盖优先级的数据配置层,覆盖第二配置组中低覆盖优先级的数据层。
在本实施例中,各配置组包括第一配置组和第二配置组,并且各配置组中均包括数据配置层,用户可以通过对数据配置层设置覆盖优先级,使得配置中心能够根据数据配置层的覆盖优先级进行配置组中数据配置层的覆盖替换。
例如,对于三七互娱平台上的应用程序《云上城之歌》,启动应用程序《云上城之歌》需要配置信息a’bcdefghijkl’,而配置中心根据接收到的配置节点1、2、3的端口地址信息192.168.1.1、192.168.1.2、192.168.1.3,从配置节点1、2、3中分别获取配置信息为abcdefghijkl的数据配置组1、配置信息为a’bcdefghijkl的数据配置组2、配置信息为abcdefghijkl’的数据配置组3,其中,数据配置组1中包括配置信息为abcd的数据配置层1-1、配置信息为efgh的数据配置层1-2、配置信息为ijkl的数据配置层1-3;数据配置组2中包括配置信息为a’bcd的数据配置层2-1、配置信息为efgh的数据配置层2-2、配置信息为ijkl的数据配置层2-3;数据配置组3中包括配置信息为abcd的数据配置层3-1、配置信息为efgh的数据配置层3-2、配置信息为ijkl’的数据配置层3-3;参数a和a’、l和l’为同类参数,即文件中相同位置只能有一个。此时一般情况下需要重新编写配置信息来启动应用程序《云上城之歌》。而在本实施例中,可以将配置模块1中数据配置层1-1、1-2和1-3的覆盖优先级设定为(1)。将配置模块2中数据配置层2-1的覆盖优先级设为(2),数据配置层2-2和2-3的覆盖优先级设定为(1)。将配置模块3中数据配置层3-3的覆盖优先级设为(2),数据配置层3-1和3-2的覆盖优先级设定为(1)。此时,配置中心将覆盖优先级为(2)的数据配置层2-1覆盖对应的覆盖优先级为(1)的数据配置层1-1和3-1,得到的配置信息为ijkl’,将覆盖优先级为(2)的数据配置层3-3覆盖对应的覆盖优先级为(1)的数据配置层1-3和2-3,得到的配置信息为a’bcd。而由于配置信息均为efgh的数据配置层1-2、2-2和3-2的覆盖优先级均为(1),因此配置中心可以随意选取其中一个数据配置层来生成配置信息。所以最终生成的配置信息为a’bcdefghijkl’。
在本实施例中,通过将第一配置组中高覆盖优先级的数据配置层覆盖对应的第二配置组中低覆盖优先级的数据配置层,使得无需将第一配置组的全部数据都对第二配置组进行覆盖,进一步加强了整个配置调度过程的实时性,并且无需重新配置配置信息,简化了操作步骤,提高了灵活性。
在一个实施例中,各数据配置层之间的覆盖优先级通过以下至少一种方式确定:
根据目标应用程序的启动进程确定;
根据目标应用程序的应用功能确定;
根据自定义配置优先级确定。
在本实施例中,用户对各数据配置层的覆盖优先级进行配置,可以依据目标应用程序的启动进程配置,也可以依据目标应用程序的应用功能配置,还可以依据自定义配置参数配置。例如,可以依据目标应用程序《云上城之歌》的启动进程包含硬件初始化、执行启动加载程序、加载和启动内核镜像等阶段来配置各数据配置层的覆盖优先级。也可以依据目标应用程序《云上城之歌》的应用功能包含充值功能、账号输入功能和推送接收功能来配置各数据配置层的覆盖优先级。还可以依据目标应用程序《云上城之歌》的自定义配置参数包含网络接口选择和运行系统选取等来配置各数据配置层的覆盖优先级。
在本实施例中,各数据配置层中覆盖优先级可以根据目标应用程序的启动进程或者应用功能来进行配置,还可以根据自定义配置参数来进行配置,这使得各数据配置层的覆盖优先级能够依据多种情况进行配置,应用更加广泛。
在一个实施例中,配置数据包括配置参数的地址信息。
在本实施例中,由于部署环境变化或者其他条件影响可能使得配置数据中的配置参数需要进行变化,例如,当应用程序启动过程中接入的网络产生变化时,由于网络运营商不同,相应的配置参数可能需要由a变为a’才能对应用程序进行启动。此时,服务器可以通过采用配置占位符key:${XXX}来定义某些可能需要动态变化的配置参数,或者采用可能需要动态变化的配置参数的地址信息来替代,使得服务器在确定启动应用程序时的所需要的参数后再从地址信息中获取该相关参数的值。
在本实施例中,通过在配置数据中设置配置参数的地址信息,能够动态地获得配置值,避免受到部署环境或者其他条件影响所带来的变动对固定配置值的影响。
在上述实施例中,配置中心可以通过Kubernetes平台从服务器对应的节点配置组中获取配置信息,可以通过Kubernetes平台来对应用程序的容器进行调度来实现应用程序的调度,对于配置信息的输入则是输入到Kubernetes平台的应用程序的容器中进行配置。
在上述实施例中,通过从应用程序所处的容器环境中获取应用程序的身份信息,并根据身份信息匹配第一配置节点组,使得服务器在接收到第一配置节点组上报的第一地址信息时,根据第一地址信息来获取第一配置信息并发送到应用程序中,从而无需将配置节点的地址写入应用程序的代码中,避免进程启动时才得到部分配置节点的地址导致调度失败的情况,很好地适应动态配置的情况,令多个应用程序更好地配合来完成游戏业务。
如图3所示,在另一个实施例中,提供了一种配置调度方法。本实施例主要以该方法应用于计算机设备来举例说明。该计算机设备具体可以是上述图1中的配置中心130。
参照图3,该配置调度方法具体包括如下步骤:
S21、响应应用程序启动操作,从客户端的应用程序所处的容器环境中获取应用程序的身份信息。
此步骤与上述实施例相同,具体解析可以参照上述实施例,为了避免重复,在此不再赘述。
S22、根据身份信息,匹配对应的第一配置节点组,以在接收到第一配置节点组上报对应的第一地址信息时,根据第一地址信息,从第一配置节点组中获取第一配置信息,并将第一配置信息发送至应用程序,其中,第一配置节点组包括至少一个第一配置节点,第一地址信息包括各第一配置节点的地址信息。
此步骤与上述实施例相同,具体解析可以参照上述实施例,为了避免重复,在此不再赘述。
S23、将第一配置信息发送至应用程序的第一配置容器中,并检测配置变更指令。
在本实施例中,配置中心将第一配置信息发送到应用程序的第一配置容器中,如配置中心将从配置节点1、2、3中分别获取实现账号充值功能的配置信息abcd、实现账号登录功能的配置信息efgh、实现账号定位功能的配置信息ijkl,发送到用于存储应用程序《云上城之歌》的配置信息的配置容器1中,此时,配置容器1中保存有应用程序《云上城之歌》的配置信息abcdefghijkl。
之后,配置中心检测应用程序发送的配置变更指令,其中,配置变更指令指的是应用程序在运行过程中需要变更部分配置时发出的请求信息,变更指令中可以包含有变更的部分配置所在的对应服务器信息。例如,应用程序《云上城之歌》中需要对实现账号登录功能的配置信息efgh进行变更,变更为实现账号退出功能的配置信息e’fgh。而实现账号退出功能的配置信息e’fgh所在的服务器为业务服务器A,此时变更指令可以为bg-A。
S24、在接收到配置变更指令时,从与配置变更指令相匹配的第二配置节点组中获取第二配置信息发送至应用程序中,以在应用程序中根据第二配置信息创建覆盖第一配置容器的第二配置容器,第二配置节点组包括至少一个第二配置节点,第二地址信息包括各第二配置节点的地址信息。
在本实施例中,配置中心接收到应用程序发送的配置变更指令,根据变更指令中相关联的服务器匹配到该服务器对应的第二配置节点组,配置中心获取第二配置节点组中的第二配置信息,并将第二配置信息发送到应用程序中,以使在应用程序中创建第二配置容器,来存储第二配置信息和不需要变更的第一配置信息,配置中心再用第二配置容器来覆盖第一配置容器。其中,第二配置节点组指的是服务器或服务器集群所对应的各个服务器节点,第二配置信息指的是用于应用程序实现特定功能的参数的集合。
例如,配置中心接收到应用程序《云上城之歌》发送的配置变更指令bg-A,连接业务服务器A,为获取业务服务器A中实现账号退出功能的配置信息,配置中心根据变更指令bg-A匹配到业务服务器A,业务服务器A对应的第二节点配置组包括三个配置节点,分别为配置节点4、配置节点5和配置节点6,这三个配置节点分别存储有实现账号推送功能的配置信息、实现账号退出功能的配置信息、实现账号提醒功能的配置信息。在配置中心匹配到业务服务器A后,由于只需要将应用程序《云上城之歌》中的实现账号登录功能的配置信息改为实现账号退出功能的配置信息,因此,只需要从配置节点5中获取实现账号退出功能的配置信息e’fgh。获取后应用程序《云上城之歌》可以根据变更修改后的配置信息abcde’fghijkl创建第二配置容器,并根据第二配置容器来对第一配置容器进行覆盖,其中,覆盖方式可以为替换,在本实施例中,对于覆盖方式不做具体限定。
在一个实施例中,从与配置变更指令相匹配的第二配置节点组中获取第二配置信息发送至应用程序中,包括:
获取配置变更指令中的节点信息;
根据节点信息匹配对应的第二配置节点组,以在接收到第二配置节点组上报对应的第二地址信息时,根据第二地址信息,从第二配置节点组中获取第二配置信息;
将第二配置信息发送至应用程序。
在本实施例中,配置中心接收到应用程序发送的配置变更指令,根据变更指令中相关联的服务器匹配到该服务器对应的第二配置节点组,接收第二配置节点组上传的第二地址信息,配置中心根据第二地址信息获取第二配置信息,并将第二配置信息发送到应用程序中,以使在应用程序中创建第二配置容器,来存储第二配置信息和不需要变更的第一配置信息,配置中心再用第二配置容器来覆盖第一配置容器。其中,第二配置节点组指的是服务器或服务器集群所对应的各个服务器节点,第二地址信息指的是服务器或者服务器集群对应的各个服务器节点的端口地址。
例如,配置中心接收到应用程序《云上城之歌》发送的配置变更指令bg-A,连接业务服务器A,为获取业务服务器A中实现账号退出功能的配置信息,配置中心根据变更指令bg-A匹配到业务服务器A,业务服务器A对应的第二节点配置组包括三个配置节点,分别为配置节点4、配置节点5和配置节点6,这三个配置节点分别存储有实现账号推送功能的配置信息、实现账号退出功能的配置信息、实现账号提醒功能的配置信息。在配置中心匹配到业务服务器A时,业务服务器A对应的配置节点4、5、6均会启动。配置节点4、5、6启动后会将当前时刻的端口地址信息192.168.1.4、192.168.1.5、192.168.1.6上传到配置中心,配置中心根据接收到的配置节点4、5、6的端口地址信息192.168.1.3、192.168.1.4、192.168.1.5,由于只需要将应用程序《云上城之歌》中的实现账号登录功能的配置信息改为实现账号退出功能的配置信息,因此,只需要从配置节点5中获取实现账号退出功能的配置信息e’fgh。获取后应用程序《云上城之歌》可以根据变更修改后的配置信息abcde’fghijkl创建第二配置容器,并根据第二配置容器来对第一配置容器进行覆盖,其中,覆盖方式可以为替换,在本实施例中,对于覆盖方式不做具体限定。
在本实施例中,通过获取配置变更指令的节点信息赖匹配第二配置节点组,使得服务器在接收到第二配置节点组上报的第二地址信息时,根据第二地址信息获取第二配置信息,从而无需将配置变更指令对应的节点的地址写入应用程序的代码中,更好地适应配置信息动态更新的情况,令多个应用程序更好地配合来完成游戏业务。
在上述实施例中,通过检测配置变更指令,并在接收到配置变更指令时,从对应第二配置节点组中获取第二配置信息发送到应用程序中,从而创建第二配置容器来对第一配置容器进行覆盖,使得在需要增加或修改容器的配置信息时,无需重新启动容器,能够更好地在配置信息更新的过程中继续提供服务。
在一个实施例中,如图4所示,提供了一种配置调度装置,包括:
信息获取模块101,用于响应应用程序启动操作,从客户端的应用程序所处的容器环境中获取应用程序的身份信息.
配置调度模块102,用于根据身份信息,匹配对应的第一配置节点组,以在接收到第一配置节点组上报对应的第一地址信息时,根据第一地址信息,从第一配置节点组中获取第一配置信息,并将第一配置信息发送至应用程序,其中,第一配置节点组包括至少一个第一配置节点,第一地址信息包括各第一配置节点的地址信息。
在一个实施例中,配置调度模块102,还用于:
根据第一地址信息,从第一配置节点组中获取多个数据配置组,其中,数据配置组包括多个数据配置层,数据配置层中封装有用于启动应用程序的配置数据;
根据各配置组的覆盖优先级,依次将高优先级的配置组覆盖低优先级的配置组,以生成第一配置信息。
在一个实施例中,配置数据包括配置参数的地址信息。
在一个实施例中,配置调度模块102,还用于:
根据第一地址信息,从第一配置节点组中的各第一配置节点获取与各第一配置节点一一对应的各数据配置组。
在一个实施例中,配置调度模块102,还用于:
根据各配置组中第一配置组的各数据配置层的覆盖优先级,以及各配置组中第二配置组的各数据配置层的覆盖优先级,将第一配置组中高覆盖优先级的数据配置层,覆盖第二配置组中低覆盖优先级的数据层。
在一个实施例中,配置调度模块102,还用于:
通过以下至少一种方式确定各数据配置层之间的覆盖优先级:
根据目标应用程序的启动进程确定;
根据目标应用程序的应用功能确定;
根据自定义配置优先级确定。
在另一个实施例中,如图5所示,提供了一种配置调度装置,包括:
信息获取模块101,用于响应应用程序启动操作,从客户端的应用程序所处的容器环境中获取应用程序的身份信息.
配置调度模块102,用于根据身份信息,匹配对应的第一配置节点组,以在接收到第一配置节点组上报对应的第一地址信息时,根据第一地址信息,从第一配置节点组中获取第一配置信息,并将第一配置信息发送至应用程序,其中,第一配置节点组包括至少一个第一配置节点,第一地址信息包括各第一配置节点的地址信息。
配置变更模块103,用于将第一配置信息发送至应用程序的第一配置容器中,并检测配置变更指令;在接收到配置变更指令时,从与配置变更指令相匹配的第二配置节点组中获取第二配置信息发送至应用程序中,以在应用程序中根据第二配置信息创建覆盖第一配置容器的第二配置容器,第二配置节点组包括至少一个第二配置节点。
在一个实施例中,配置变更模块103,还用于:
获取配置变更指令中的节点信息;
根据节点信息匹配对应的第二配置节点组,以在接收到第二配置节点组上报对应的第二地址信息时,根据第二地址信息,从第二配置节点组中获取第二配置信息,第二地址信息包括各第二配置节点的地址信息;
将第二配置信息发送至应用程序。
在一个实施例中,提供了一种服务器,如图6所示,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例所述的配置调度方法。
在一个实施例中,提供了一种计算机设备,如图7所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现配置调度方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行配置调度方法。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的配置调度装置可以实现为一种计算机程序的形式,计算机程序可在如图7所示的计算机设备上运行。计算机设备的存储器中可存储组成该配置调度装置的各个程序模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的配置调度方法中的步骤。
在一个实施例中,提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时执行上述配置调度方法的步骤。此处配置调度方法的步骤可以是上述各个实施例的配置调度方法中的步骤。
在一个实施例中,提供了一种配置调度系统,如图8所示,包括客户端、网关、配置节点组以及如上述实施例所述的服务器,客户端与服务器连接,网关与客户端和服务器长连接,服务器与配置节点组中的各配置节点连接。
在本实施例中,config为基于微服务的配置中心,可以从容器数据源、第三方接口数据源、本地数据源或者themis中获取配置文件,themis为中台服务器,用于对接多个不同业务功能的微服务系统,config从中台服务器中获取节点配置组以及对应的配置信息,用户通过客户端的操作界面功能对各节点配置组的覆盖优先级进行设定,config根据各数据配置组的覆盖优先级实现数据配置组的覆盖,得到配置信息,应用程序启动时可以通过broker来获取配置信息,其中,broker可以采用RSocket智能网关,客户端为themis的web客户端,用于展示操作界面,应用程序为需要进行配置接入的应用程序,并且在后续运行中可以持续从config配置中心获取新的配置变更。
在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述配置调度方法的步骤。此处配置调度方法的步骤可以是上述各个实施例的配置调度方法中的步骤。
以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
Claims (11)
1.一种配置调度方法,其特征在于,包括:
响应应用程序启动操作,从客户端的应用程序所处的容器环境中获取应用程序的身份信息;
根据所述身份信息,匹配对应的第一配置节点组,以在接收到所述第一配置节点组上报对应的第一地址信息时,根据所述第一地址信息,从所述第一配置节点组中获取第一配置信息,并将所述第一配置信息发送至所述应用程序,其中,所述第一配置节点组包括至少一个第一配置节点,所述第一地址信息包括各所述第一配置节点的地址信息。
2.根据权利要求1所述的配置调度方法,其特征在于,还包括:
将所述第一配置信息发送至所述应用程序的第一配置容器中,并检测配置变更指令;
在接收到所述配置变更指令时,从与所述配置变更指令相匹配的第二配置节点组中获取第二配置信息发送至所述应用程序中,以在所述应用程序中根据所述第二配置信息创建覆盖所述第一配置容器的第二配置容器,所述第二配置节点组包括至少一个第二配置节点。
3.根据权利要求2所述的配置调度方法,其特征在于,所述从与所述配置变更指令相匹配的所述第二配置节点组中获取第二配置信息发送至所述应用程序中,包括:
获取所述配置变更指令中的节点信息;
根据所述节点信息匹配对应的第二配置节点组,以在接收到所述第二配置节点组上报对应的第二地址信息时,根据所述第二地址信息,从所述第二配置节点组中获取所述第二配置信息,所述第二地址信息包括各所述第二配置节点的地址信息;
将所述第二配置信息发送至所述应用程序。
4.根据权利要求1所述的配置调度方法,其特征在于,所述根据所述第一地址信息,从所述第一配置节点组中获取第一配置信息,包括:
根据所述第一地址信息,从所述第一配置节点组中获取多个数据配置组,其中,所述数据配置组包括多个数据配置层,所述数据配置层中封装有用于启动所述应用程序的配置数据;
根据各所述配置组的覆盖优先级,依次将高优先级的所述配置组覆盖低优先级的所述配置组,以生成所述第一配置信息。
5.根据权利要求4所述的配置调度方法,其特征在于,所述根据所述第一地址信息,从所述第一配置节点组中获取多个数据配置组,包括:
根据所述第一地址信息,从所述第一配置节点组中的各所述第一配置节点获取与各所述第一配置节点一一对应的各数据配置组。
6.根据权利要求4或5所述的配置调度方法,其特征在于,所述根据各所述配置组的覆盖优先级,依次将高优先级的所述配置组覆盖低优先级的所述配置组,包括:
根据各所述配置组中第一配置组的各所述数据配置层的覆盖优先级,以及各所述配置组中第二配置组的各所述数据配置层的覆盖优先级,将所述第一配置组中高覆盖优先级的所述数据配置层,覆盖所述第二配置组中低覆盖优先级的所述数据层。
7.根据权利要求6所述的配置调度方法,其特征在于,各所述数据配置层之间的覆盖优先级通过以下至少一种方式确定:
根据所述目标应用程序的启动进程确定;
根据所述目标应用程序的应用功能确定;
根据自定义配置优先级确定。
8.根据权利要求4所述的配置调度方法,其特征在于,所述配置数据包括配置参数的地址信息。
9.一种配置调度装置,其特征在于,包括:
信息获取模块,用于响应应用程序启动操作,从客户端的应用程序所处的容器环境中获取应用程序的身份信息;
配置调度模块,用于根据所述身份信息,匹配对应的第一配置节点组,以在接收到所述第一配置节点组上报对应的第一地址信息时,根据所述第一地址信息,从所述第一配置节点组中获取第一配置信息,并将所述第一配置信息发送至所述应用程序,其中,所述第一配置节点组包括至少一个第一配置节点,所述第一地址信息包括各所述第一配置节点的地址信息。
10.一种服务器,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8中任一项所述的配置调度方法。
11.一种配置调度系统,其特征在于,包括客户端、网关、配置节点组以及如权利要求10所述的服务器,所述客户端与所述服务器连接,所述网关与所述客户端和所述服务器长连接,所述服务器与所述配置节点组中的各配置节点连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011572356.4A CN112667350A (zh) | 2020-12-23 | 2020-12-23 | 配置调度方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011572356.4A CN112667350A (zh) | 2020-12-23 | 2020-12-23 | 配置调度方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112667350A true CN112667350A (zh) | 2021-04-16 |
Family
ID=75410152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011572356.4A Pending CN112667350A (zh) | 2020-12-23 | 2020-12-23 | 配置调度方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667350A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835786A (zh) * | 2021-09-30 | 2021-12-24 | 四川新网银行股份有限公司 | 一种数据对接系统、方法和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106034330A (zh) * | 2015-03-17 | 2016-10-19 | 网宿科技股份有限公司 | 基于内容分发网络的移动终端流量处理方法、装置及系统 |
CN106533713A (zh) * | 2015-09-09 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 一种应用部署方法及设备 |
CN108958927A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 容器应用的部署方法、装置、计算机设备和存储介质 |
CN109992354A (zh) * | 2019-04-09 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 容器处理方法、装置、主体服务器、系统和存储介质 |
CN111176782A (zh) * | 2019-11-08 | 2020-05-19 | 腾讯云计算(北京)有限责任公司 | 一种在线实验方法和装置 |
CN111562950A (zh) * | 2020-04-28 | 2020-08-21 | 中国银行股份有限公司 | 一种分布式应用参数动态发布的系统及方法 |
-
2020
- 2020-12-23 CN CN202011572356.4A patent/CN112667350A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106034330A (zh) * | 2015-03-17 | 2016-10-19 | 网宿科技股份有限公司 | 基于内容分发网络的移动终端流量处理方法、装置及系统 |
CN106533713A (zh) * | 2015-09-09 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 一种应用部署方法及设备 |
CN108958927A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 容器应用的部署方法、装置、计算机设备和存储介质 |
CN109992354A (zh) * | 2019-04-09 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 容器处理方法、装置、主体服务器、系统和存储介质 |
CN111176782A (zh) * | 2019-11-08 | 2020-05-19 | 腾讯云计算(北京)有限责任公司 | 一种在线实验方法和装置 |
CN111562950A (zh) * | 2020-04-28 | 2020-08-21 | 中国银行股份有限公司 | 一种分布式应用参数动态发布的系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835786A (zh) * | 2021-09-30 | 2021-12-24 | 四川新网银行股份有限公司 | 一种数据对接系统、方法和计算机可读存储介质 |
CN113835786B (zh) * | 2021-09-30 | 2023-04-28 | 四川新网银行股份有限公司 | 一种数据对接系统、方法和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536519B (zh) | 自动搭建Kubernetes主节点的方法及终端设备 | |
US10853108B2 (en) | Method and apparatus for code virtualization and remote process call generation | |
CN106126273B (zh) | 一种升级bios的方法 | |
US11513789B2 (en) | Application deployment method, apparatus, and system | |
CN112214330A (zh) | 集群中主节点的部署方法、装置及计算机可读存储介质 | |
CN111708702A (zh) | 模拟测试方法、客户端、服务端、系统与可读存储介质 | |
CN113312037A (zh) | 应用于微服务的数据处理方法、装置、设备和存储介质 | |
CN106533713A (zh) | 一种应用部署方法及设备 | |
CN108415710A (zh) | 在智能对话开发平台上发布、调用api的方法和系统 | |
US11843674B2 (en) | Virtual workspace experience visualization and optimization | |
CN109788029A (zh) | 微服务的灰度调用方法、装置、终端及可读存储介质 | |
CN111625245A (zh) | 一种推理服务部署方法、装置、设备及存储介质 | |
CN110489305B (zh) | 一种服务器管理方法及装置 | |
CN113434283B (zh) | 服务调度方法及装置、服务器、计算机可读存储介质 | |
CN117112122A (zh) | 一种集群部署方法和装置 | |
CN112667350A (zh) | 配置调度方法、装置及系统 | |
US20220038444A1 (en) | Cloud device, application processing method, electronic device and storage medium | |
KR102623631B1 (ko) | Nfv 환경에서의 vnf 자동 설정 방법 및 이를 위한 nfv mano | |
CN108334360A (zh) | 应用程序动态加载的方法、装置、存储介质和计算机设备 | |
CN114443215A (zh) | 业务应用部署方法、装置、计算机设备和存储介质 | |
CN113312148B (zh) | 一种大数据服务部署方法、装置、设备及介质 | |
US11606251B2 (en) | Deploying a server stack having a cross-server dependency | |
CN113986423A (zh) | 一种弹框显示方法、系统及存储介质和终端设备 | |
CN107959674B (zh) | 网关设备、对第三方ldap服务器用户的访问控制方法及系统 | |
GB2583904A (en) | Commissioning a virtualised network function |
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 |