CN112099836A - 更新配置文件方法、配置服务器、版本控制服务器及系统 - Google Patents
更新配置文件方法、配置服务器、版本控制服务器及系统 Download PDFInfo
- Publication number
- CN112099836A CN112099836A CN201910472915.5A CN201910472915A CN112099836A CN 112099836 A CN112099836 A CN 112099836A CN 201910472915 A CN201910472915 A CN 201910472915A CN 112099836 A CN112099836 A CN 112099836A
- Authority
- CN
- China
- Prior art keywords
- configuration file
- modified
- configuration
- server
- version control
- 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 81
- 238000003860 storage Methods 0.000 claims abstract description 72
- 238000001514 detection method Methods 0.000 claims abstract description 8
- 230000004048 modification Effects 0.000 claims description 24
- 238000012986 modification Methods 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 5
- 238000005096 rolling process Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000012795 verification Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种更新配置文件的方法、配置服务器、版本控制服务器及系统,该方法包括:由配置服务器检测版本控制服务器中预先存储的配置文件发生修改的事件;根据检测到事件的检测结果,确定发生修改的配置文件在版本控制服务器中的存储地址;根据该存储地址,从版本控制服务器中获取发生修改的配置文件;将发生修改的配置文件发送至对应该存储地址的容器的管理者,进行该容器的配置文件的挂载更新。
Description
技术领域
本发明涉及软件技术领域,更具体地,涉及一种更新配置文件的方法、配置服务器、版本控制服务器及系统。
背景技术
在计算机应用中,配置文件决定了应用在特定环境、特定时间、特定集群中的行为。一个灵活、可伸缩的应用往往具有诸多的配置项,例如应用监听端口的信息、可使用内存、数据和日志的保存地址以及所依赖的其它应用的ip和端口。在开发和生产过程中,由于环境的变化或者客户的需求,这些配置经常会发生改动,甚至刚发生改动后又需要恢复回去。获取应用的最新的配置文件已然成为开发人员一项艰巨的挑战。
在微服务架构的时代,每一个微服务通常都会以容器的形式部署。在使用最多的分布式集群管理系统(例如kubernetes集群)中,应用获取配置文件主要是将宿主机中的配置文件挂载到运行该应用的容器中。在容器集群管理系统中可以包括配置服务器和宿主机,每个宿主机作为一个节点。每个宿主机中可以包括一个或多个容器,每个容器内运行有一个应用。
配置文件可以保存在容器的宿主机中,容器在启动时将宿主机中存储配置文件挂载到该容器中。
在更新配置文件的情况下,可以在配置服务器上对配置文件进行修改,需要开发人员手动控制配置服务器将修改后的配置文件分发至分布式集群中对应的宿主机上。但是通过开发人员手动控制配置文件更新可能会造成应用和配置文件的不一致的问题。
发明内容
本发明的一个目的是提供一种更新配置文件的方法的新技术方案。
根据本发明的第一方面,提供了一种更新配置文件的方法,所述方法由配置服务器实施,所述方法包括:
检测版本控制服务器中预先存储的配置文件发生修改的事件;
根据检测到所述事件的检测结果,确定发生修改的配置文件在所述版本控制服务器中的存储地址;
根据所述存储地址,从所述版本控制服务器中获取发生修改的配置文件;
将所述发生修改的配置文件发送至对应所述存储地址的容器的管理者,进行所述容器的配置文件的挂载更新。
可选的是,所述事件包括以下任意一项或多项:
接收到所述版本控制服务器发送的所述配置文件发生修改的通知;
对当前时刻的配置文件与前一时刻的配置文件进行比对得到的结果为存在差异;
配置文件的最新修改时间发生改变。
可选的是,所述事件包括:接收到所述版本控制服务器发送的所述配置文件发生修改的通知;所述确定发生修改的配置文件在所述版本控制服务器中的存储地址的步骤包括:
确定接收所述通知的网络钩子所关联的存储地址。
可选的是,所述方法还包括:
生成并向所述管理者发送更新指令,以供所述管理者根据所述更新指令进行所述容器的配置文件的挂载更新。
可选的是,所述方法还包括:
检测所述存储地址对应的容器是否预先配置有自动更新功能;
在所述容器预先配置有自动更新功能的情况下,再执行所述将所述发生修改的配置文件发送至所述容器的管理者的步骤。
可选的是所述方法还包括:
响应于资源对象的发布,记录所述资源对象中包含的自身与所述存储地址之间的对应关系;
接收所述管理者发送的所述容器与所述资源对象之间的对应关系;其中,所述容器与所述资源对象之间的对应关系为所述管理者在发布所述容器内运行的应用的情况下发送的;
根据所述存储地址与所述资源对象之间的对应关系、及所述容器与所述资源对象之间的对应关系,确定对应所述存储地址的容器。
可选的是,所述方法还包括:
响应于对所述配置文件的回滚操作,获取所述配置文件的回滚版本号;
根据所述回滚版本号和所述存储地址,从所述版本控制服务器上获取所述回滚版本号对应的配置文件;
将所述回滚版本号对应的配置文件发送至所述管理者,进行所述容器的配置文件的挂载回滚。
可选的是,所述方法还包括:
将所述发生修改的配置文件存储在本地缓存中,以供接收到获取所述发生修改的配置文件的请求时,将本地缓存的发生修改的配置文件发送至发送所述请求的容器的管理者进行挂载。
可选的是,所述方法还包括:
接收所述版本控制服务器发送的特征值,所述特征值为所述版本控制服务器根据预设的信息-摘要算法对所述发生修改的配置文件进行特征计算处理得到;
将所述特征值发送至所述管理者,以对接收的配置文件的完整性进行校验。
根据本发明的第二方面,提供了一种更新配置文件的方法,所述方法由版本控制服务器实施,所述方法包括:
响应于对预先存储的配置文件的修改操作,向配置服务器发送所述配置文件发生修改的通知,以供所述配置服务器检测所述配置文件是否发生修改。
可选的是,所述发送通知的步骤包括:
确定所述配置文件的存储地址关联的网络钩子;
通过所述网络钩子向所述配置服务器发送所述配置文件发生修改的通知。
可选的是,所述方法还包括:
根据预设的信息-摘要算法对所述发生修改的配置文件进行特征计算处理,得到特征值;
将所述特征值发送至配置服务器。
根据本发明的第三方面,提供了一种配置服务器,其中,包括第一处理器和第一存储器,所述第一存储器用于存储第一指令,所述第一指令用于控制所述第一处理器执行根据本发明第一方面所述的方法。
根据本发明的第四方面,提供了一种版本控制服务器,其中,包括第二处理器和第二存储器,所述第二存储器用于存储第二指令,所述第二指令用于控制所述第二处理器执行根据本发明第二方面所述的方法。
根据本发明的第五方面,提供了一种更新配置文件的系统,包括根据本发明第三方面所述的配置服务器、根据本发明第四方面所述的版本控制服务器、及管理者,所述管理者用于接收版本控制服务器发送的发生修改的配置文件,以进行对应容器的配置文件的挂载更新。
本发明的实施例通过配置服务器检测版本控制服务器中存储的配置文件发生修改的事件的检测结果,从版本控制服务器中获取发生修改的配置文件,并将修改后的配置文件发送至对应容器的管理者,进行该容器的配置文件的挂载更新。这样,可以实现配置文件的自动更新。此外,还可以避免手动管理配置文件带来的容器中运行的应用与挂载的配置文件不一致的风险。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是显示可用于实现本发明的实施例的更新配置文件的系统的硬件配置的例子的框图。
图2示出了本发明第一实施例的更新配置文件的方法的流程图。
图3示出了本发明第一实施例的更新配置文件的方法的流程图。
图4示出了本发明第一实施例的更新配置文件的方法的流程图。
图5示出了本发明第一实施例的更新配置文件的方法的流程图。
图6示出了本发明第一实施例的配置服务器的框图。
图7示出了本发明第二实施例的更新配置文件的方法的流程图。
图8示出了本发明第二实施例的版本控制服务器的框图。
图9示出了本发明第三实施例的更新配置文件的系统的框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
如图1所示,更新配置文件的系统1000包括配置服务器1100、版本控制服务器1200、宿主机1300以及网络1400。
在Kubenetes集群等分布式集群中,配置服务器1100可以是负责整个集群的控制和管理,宿主机1300作为该集群的一个节点,可以运行有一个或多个容器,每个容器内可以运行一个应用。宿主机1300上包括一个管理者,用于处理配置服务器1100下发到该节点的任务,管理其中的容器。而且,管理者还可以向配置服务器1100上报每个容器对应的配置文件、是否预先配置自动更新功能、每个容器对应的配置文件挂载到本地的位置等。
配置服务器1100例如可以是刀片服务器等。在一个例子中,配置服务器1100可以是一台或多台计算机。在在另一个例子中,配置服务器1100可以如图1所示,包括处理器1110、存储器1120、接口装置1130、通信装置1140、显示装置1150、输入装置1160。尽管服务器也可以包括扬声器、麦克风等等,但是,这些部件与本发明无关,故在此省略。其中,处理器1110例如可以是中央处理器CPU、微处理器MCU等。存储器1120例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1130例如包括USB接口、串行接口等。通信装置1140例如能够进行有线或无线通信。显示装置1150例如是液晶显示屏。输入装置1160例如可以包括触摸屏、键盘等。
版本控制服务器1200也可以一台或多台计算机。如图1所示,版本控制服务器1200可以包括处理器1210、存储器1220、接口装置1230、通信装置1240、显示装置1250、输入装置1260、扬声器1270、麦克风1280,等等。其中,处理器1210可以是中央处理器CPU、微处理器MCU等。存储器1220例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1230例如包括USB接口、耳机接口等。通信装置1240例如能够进行有线或无线通信。显示装置1250例如是液晶显示屏、触摸显示屏等。输入装置1260例如可以包括触摸屏、键盘等。用户可以通过扬声器1270和麦克风1280输入/输出语音信息。
宿主机1300也可以一台或多台计算机。如图1所示,宿主机1300可以包括处理器1310、存储器1320、接口装置1330、通信装置1340、显示装置1350、输入装置1360、扬声器1370、麦克风1380,等等。其中,处理器1310可以是中央处理器CPU、微处理器MCU等。存储器1320例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1330例如包括USB接口、耳机接口等。通信装置1340例如能够进行有线或无线通信。显示装置1350例如是液晶显示屏、触摸显示屏等。输入装置1360例如可以包括触摸屏、键盘等。用户可以通过扬声器1370和麦克风1380输入/输出语音信息。
通信网络1400可以是无线网络也可以网络,可以是局域网也可以是广域网。在图1所示的配置环境1000中,版本控制服务器1200与配置服务器1100、及配置服务器1100与宿主机1300-1、1300-2、1300-3可以通过通信网络1400进行通信。
图1所示的配置环境1000仅是解释性的,并且决不是为了要限制本发明、其应用或用途。
应用于本发明的实施例中,配置服务器1100的所述存储器1120用于存储指令,所述指令用于控制所述处理器1110进行操作以执行本发明第一实施例提供的任意一项更新配置文件的方法。
版本控制服务器1200的所述存储器1220用于存储指令,所述指令用于控制所述处理器1210进行操作以执行本发明第二实施例提供的任意一项更新配置文件的方法。
宿主机1300的所述存储器1320用于存储指令,所述指令用于控制所述处理器1310进行操作,以执行本发明第三实施例提供的管理者所实施的更新配置文件的方法。
本领域技术人员应当理解,尽管在图1中对配置服务器1100、版本控制服务器1200、及宿主机1300都示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,配置服务器1100只涉及处理器1110和存储器1120,或者版本控制服务器1200只涉及处理器1210和存储器1220,或者宿主机1300只涉及处理器1310和存储器1320等。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
本发明实施例的总体构思,是提供一种更新配置文件的技术方案,通过版本控制服务器预先存储目标配置文件,配置服务器在接收到宿主机发出的当前应用读取目标配置文件的请求时,获取预先存储在版本控制服务器中的目标配置文件,并将其发送至发出请求的宿主机中,以使该宿主机将接收的目标配置文件挂载至当前应用对应的容器中。这样,可以实现配置文件与容器之间的解耦,使得不同的应用可以读取同一个配置文件。而且,配置服务器会将指定版本的配置文件统一分发给多个应用,可以确保相同应用读取配置文件的一致性。此外,还可以避免手动管理配置文件带来的各种风险。
<方法>
在本实施例中,提供一种更新配置文件的方法。该方法由配置服务器实施。
该配置服务器可以任意具有处理器和存储器的电子设备,例如,可以是台式计算机、刀片服务器、云端服务器等。在一个例子中,配置服务器可以是图1所示的配置服务器1100。
该更新配置文件的方法,如图2所示,包括:步骤S2100-S2400。
步骤2100,检测版本控制服务器中预先存储的配置文件发生修改的事件。
具体的,配置文件可以是存储在版本控制服务器上。如果需要修改目标配置文件,则可以在版本控制服务器上进行修改。
该版本控制服务器可以是能够提供存储配置文件的服务器。该版本控制服务器例如可以但不限于是git服务器。
在一个例子中,该事件例如可以包括以下任意一项或多项:
接收到版本控制服务器发送的配置文件发生修改的通知;
对当前时刻的配置文件与前一时刻的配置文件进行比对所得到的结果为存在差异;
配置文件的最新修改时间发生改变。
在该事件包括接收到版本控制服务器发送的配置文件发生修改的通知的实施例中,可以是版本控制服务器在存储的配置文件发生修改时,向配置服务器发送配置文件发生修改的通知。具体的,可以是实时检测版本控制服务器发送的配置文件发生修改的通知,也可以是按照预设的检测频率来检测版本控制服务器发送的配置文件发生修改的通知。
在该事件包括对当前时刻的配置文件与前一时刻的配置文件进行比对所得到的结果为存在差异的实施例中,例如可以是配置服务器根据预设的频率对版本控制服务器中当前时刻的配置文件与前一时刻的配置文件进行比对。如果当前时刻的配置文件的内容与前一时刻的配置文件的内容不完全相同,即对当前时刻的配置文件与前一时刻的配置文件进行比对得到的结果为存在差异,则可以认为版本控制服务器中预先存储的配置文件发生修改的事件发生。
在该事件包括配置文件的最新修改时间发生改变的实施例中,可以是版本控制服务器中存储有配置文件的最新修改时间。配置服务器可以是实时监控该最新修改时间,在配置文件的最新修改时间发生改变时,可以认为版本控制服务器中预先存储的配置文件发生修改的事件发生。配置服务器还可以是按照预设的频率来检测配置文件的最新修改时间,在当前时刻检测到的最新修改时间与前一时刻检测到的最新修改时间不同的情况下,可以认为版本控制服务器中预先存储的配置文件发生修改的事件发生。
步骤S2200,根据检测到该事件的检测结果,确定发生修改的配置文件在版本控制服务器中的存储地址。
具体的,可以是在检测到版本控制服务器中预先存储的配置文件发生修改的事件发生的情况下,确定发生修改的配置文件在版本控制服务器中的存储地址。
在版本控制服务器中预先存储的配置文件发生修改的事件包括接收到版本控制服务器发送的配置文件发生修改的通知的实施例中,确定发生修改的配置文件在版本控制服务器中的存储地址的步骤可以包括:
确定接收该通知的网络钩子(web hook)所关联的存储地址。
具体的,可以是版本控制服务器在配置文件发生修改的情况下,确定该配置文件的存储地址关联的网络钩子,以通过该网络钩子向配置服务器发送配置文件发生修改的通知。这样,配置服务器就可以通过接受到配置文件发生修改的通知的网络钩子所关联的存储地址,即得到配置文件在版本控制服务器中的存储地址。
在版本控制服务器中预先存储的配置文件发生修改的事件包括对当前时刻的配置文件与前一时刻的配置文件进行比对所得到的结果为存在差异的实施例中,或者在版本控制服务器中预先存储的配置文件发生修改的事件包括配置文件的最新修改时间发生改变的实施例中,配置服务器中还可以预先存储有配置文件与其在版本控制服务器中的存储地址之间的对应关系。那么,配置服务器在检测到该配置文件发生修改的情况下,就可以根据该对应关系,确定配置文件在版本控制服务器中的存储地址。
步骤S2300,根据该存储地址,从版本控制服务器中获取发生修改的配置文件。
具体的,根据发生修改的配置文件在版本控制服务器中的存储地址,就可以从版本控制服务器中获取该发生修改的配置文件。
步骤S2400,将发生修改的配置文件发送至对应该存储地址的容器的管理者,进行容器的配置文件的挂载更新。
具体的,配置服务器中可以是预先存储有配置文件的存储地址与容器之间的对应关系。根据该对应关系,可以确定对应该存储地址的容器。如果配置文件发生修改,该配置文件在版本控制服务器中的存储地址也可以随之修改,也可以不发生修改。
进一步地,该方法还可以包括如图3所示的步骤S3100-S3300。
步骤S3100,响应于资源对象的发布,记录资源对象中包含的自身与存储地址之间的对应关系。
资源对象中可以包含有资源对象自身与存储地址之间的对应关系。
该资源对象例如可以是kubernetes集群中的ConfigMap。ConfigMap可以是通过kubernetes集群的交互工具kubectl发布的。
步骤S3200,接收管理者发送的容器与资源对象之间的对应关系。
该容器与资源对象之间的对应关系为管理者在发布容器内运行的应用的情况下发送的。
步骤S3300,根据存储地址与资源对象之间的对应关系、及容器与资源对象之间的对应关系,确定对应该存储地址的容器。
具体的,可以根据存储地址与资源对象之间的对应关系,确定该存储地址对应的资源对象。再根据容器与资源对象之间的对应关系,确定与该资源对象对应的容器,即为对应该存储地址的容器。
由于容器是通过对应的管理者与配置服务器进行数据通信的,因此,配置服务器可以是将发生修改的配置文件发送至对应该存储地址的容器的管理者,进行容器的配置文件的挂载更新。
在管理者对容器的配置文件的挂载更新之前,容器中挂载有配置文件。进行容器的配置文件的挂载更新具体为:管理者将该容器中挂载的配置文件替换为发生修改的配置文件。
通过将配置文件及发生修改的配置文件挂载到容器中,容器不会感知到配置服务器的存在,容器中运行的应用可以以现有的方式来读取挂载至对应容器中的配置文件,无需根据应用对配置服务器进行适配。这样,可以提高本实施例中更新配置文件的方法的适用范围。
在一个例子中,管理者可以是根据预设的频率来检测本地缓存中是否存储有修改后的配置文件,并在检测到本地缓存中存储有修改后的配置文件的情况下,对容器的配置文件进行挂载更新。
在一个例子中,配置服务器还可以生成并向管理者发送更新指令。管理者可以是在接收到该更新指令的情况下,对容器的配置文件进行挂载更新。
在一个例子中,该方法还可以包括步骤S2500:检测该存储地址对应的容器是否预先配置有自动更新功能。在该容器预先配置有自动更新功能的情况下,再执行步骤S2400。如果该容器未预先配置有自动更新功能,则可以无需将发生修改的配置文件发生至该容器的管理者。
具体的,容器在生成时,外部可以对其配置是否自动更新功能。配置完成后,容器可以通过管理者向配置服务器发送自身是否预先配置有自动更新功能的信息,配置服务器预先存储该信息,以供后续执行步骤S2500时查看。
这样,就可以实现配置文件的自动更新。此外,还可以避免手动管理配置文件会带来容器中运行的应用与挂载的配置文件不一致的风险。
在一个例子中,如果发生修改的配置文件存在问题,需要将配置文件进行回滚,即将容器中挂载的发生修改的配置文件回滚为修改前任意版本的配置文件,那么,该方法还可以包括如图4所示的步骤S4100-S4300。
步骤S4100,响应于对配置文件的回滚操作,获取配置文件的回滚版本号。
具体的,版本控制服务器的存储地址中,可以预先存储有多个版本的配置文件。每个配置文件具有对应的版本号。以便于版本控制服务器对不同版本的配置文件进行管理。
具体的,在配置服务器中可以预先存储有发生修改的配置文件的当前版本号。那么,对配置文件的回滚操作可以是:将当前版本号修改为修改前的任意版本号的操作。
在一个例子中,该对配置文件回滚的操作可以是将外部将配置服务器中存储的配置文件的版本号进行回滚修改的操作。
在另一个例子中,该对配置文件的回滚操作还可以是反映配置文件回滚的资源对象的发布。其中,该新的资源对象中包含的配置文件的回滚版本号。
步骤S4200,根据该回滚版本号和该存储地址,从版本控制服务器中获取该回滚版本号对应的配置文件。
具体的,发生修改的配置文件在版本控制服务器中的存储地址,与该回滚版本号对应的配置文件在版本控制服务器中的存储地址可以相同。因此,通过修改后的配置文件的存储地址和回滚版本号,就可以获取该回滚版本号对应的配置文件。
步骤S4300,将该回滚版本号对应的配置文件发生至管理者,进行容器的配置文件的挂载回滚。
具体的,发生修改的配置文件在版本控制服务器中的存储地址、与该回滚版本号对应的配置文件在版本控制服务器中的存储地址可以相同,发生修改的配置文件在版本控制服务器中的存储地址对应的容器、与该回滚版本号对应的配置文件在版本控制服务器中的存储地址对应的容器可以相同,步骤S4300中的管理者与步骤S2400中的管理者也可以相同。
管理者进行容器的配置文件的挂载回滚具体可以为:管理者将容器中挂载的发生修改的配置文件替换为该回滚版本号对应的配置文件。
这样,就可以在发生修改的配置文件存在问题的情况下,迅速进行配置文件的回滚。
在一个例子中,配置服务器还可以将获取的发生修改的配置文件存储在本地缓存中,以供后续接收到获取该发生修改的配置文件的请求时,直接将本地缓存的发生修改的配置文件发送至发送该请求的容器的管理者进行挂载。
具体的,在配置文件发生修改之后,对应该存储地址的其他容器可以通过对应的管理者发送获取发生修改的配置文件的请求。例如可以是其他容器内的应用启动时,发出获取发生修改的配置文件的请求。
配置服务器在接收到其他容器发送的获取发生修改的配置文件的请求时,如果检测到本地缓存中存储有该发生修改的配置文件,则可以直接将本地缓存中存储的发生修改的配置文件发送至该其他容器的管理者。其他容器的管理者可以将接收到的发生修改的配置文件挂载至该其他容器中。
在高并发读取发生修改的配置文件时,由于发生修改的配置文件存储在本地缓存中,无需在每次接收到获取发生修改的配置文件的请求时,都从版本控制服务器中读取发生修改的配置文件。这样,就不会对配置服务器和版本控制服务器中其他请求造成影响。而且,还可以加快获取发生修改的配置文件的速度。此外,还可以降低发生修改的配置文件在传输过程中出现丢包问题的风险。
在此基础上,该方法还可以包括在检测到删除本地缓存中的存储的发生修改的配置文件的事件的情况下,删除缓存中存储的发生修改的配置文件。
删除缓存中存储的发生修改的配置文件的事件可以包括以下任意一项或多项:
配置服务器将本地缓存中的发生修改的配置文件发送至对应的管理者;
发生修改的配置文件存储在本地缓存中的时间超过预设的时间阈值;
配置服务器关机;以及,
配置服务器清空缓存。
在删除缓存中的发生修改的配置文件的事件为:配置服务器将缓存中的发生修改的配置文件返回至管理者的实施例中,可以是在配置服务器将本地缓存中存储的发生修改的配置文件发送至对应的管理者的情况下,可以删除本地缓存中存储的发生修改的配置文件。
在删除缓存中的发生修改的配置文件的事件为:发生修改的配置文件存储在配置服务器的缓存中的时间超过预设的时间阈值的实施例中,该时间阈值可以是预先根据应用场景设定的。时间阈值例如可以但不限于是1小时。那么,在发生修改的配置文件存储在配置服务器的缓存中的时间超过1小时的情况下,则删除本地缓存中存储的发生修改的配置文件。
在删除缓存中的发生修改的配置文件的事件为配置服务器关机的实施例中,可以是在配置服务器关机的情况下,删除本地缓存中存储的发生修改的配置文件。
在删除缓存中的发生修改的配置文件的事件为配置服务器清空缓存的实施例中,可以是在配置服务器清空缓存的情况下,删除本地缓存中存储的发生修改的配置文件。
这样,通过在检测到删除本地缓存中的发生修改的配置文件的事件的情况下,删除本地缓存中存储的发生修改的配置文件,可以减少配置服务器占用的内存,进而可以提高配置服务器的运行速度。
在一个例子中,该方法还可以包括如图5所示的步骤S5100-S5200。
步骤S5100,接收版本控制服务器发送的特征值。
该特征值可以是版本服务器根据预设的信息-摘要算法对发生修改的配置文件进行特征计算处理得到的。
信息-摘要算法主要特征是特征计算过程不需要密钥,并且经过特征计算处理得到的数据无法被解密,只有输入相同的明文数据经过相同的信息-摘要算法才能得到相同的密文。信息-摘要算法不存在密钥的管理与分发问题,适合于分布式网络上使用。例如,该信息-摘要算法可以是SHA、或MD5等。
该特征值例如可以是长度固定的、能够唯一表征该目标配置文件的字符串。而且,使用同一信息-摘要算法对同一配置文件进行特征计算处理得到的特征值相同,使用同一信息-摘要算法对不同配置文件进行特征计算处理得到的特征值不同。
在配置服务器将发生修改的配置文件存储在本地缓存中的情况下,也可以将该特征值存储在本地缓存中。
步骤S5200,将该特征值发送至管理者,以对接收的配置文件的完整性进行校验。
步骤S5200中的管理者与步骤S2400中的管理者相同。管理者可以根据该特征值对接收到的发生修改的配置文件的完整性进行校验。
具体的,管理者根据该特征值对接收到的发生修改的配置文件的完整性进行校验的步骤可以包括:
根据该信息-摘要算法对接收的目标配置文件进行特征计算处理,得到的特征值作为校验特征值;比对接收的特征值和校验特征值是否相同;根据比对结果确定发生修改的配置文件是否完整。
具体的,管理者对中接收的目标配置文件进行特征计算处理使用的信息-摘要算法,与版本控制服务器对发生修改的配置文件进行特征计算处理使用的信息-摘要算法相同。
这样,在管理者接收的发生修改的配置文件完整的情况下,得到的校验特征值与接收到的特征值相同。在管理者接收的发生修改的配置文件不完整的情况下,得到的校验特征值与接收到的特征值不同。
因此,可以通过比对接收到的特征值和校验特征值是否相同,来确定接收到的发生修改的配置文件是否完整。
如果比对接收的特征值和校验特征值相同,则可以判定接收的发生修改的配置文件完整。如果比对接收的特征值和校验特征值不同,则可以判定接收的发生修改的配置文件不完整。
在管理者接收的发生修改的配置文件完整的情况下,管理者可以将接收到的发生修改的配置文件挂载至容器中,以对容器的配置文件进行挂载更新。
在管理者接收的发生修改的配置文件不完整的情况下,管理者可以重新向配置服务器发出读取发生修改的配置文件的请求,以使配置服务器重新向管理者发送发生修改的配置文件。
通过对接收的目标配置文件的完整性进行校验,并在宿主机接收的目标配置文件完整的情况下,将接收的目标配置文件挂载至当前应用对应的容器中。这样,可以提高获取的目标配置文件的准确性。
<配置服务器>
在本例中,还提供一种配置服务器600,如图6所示,包括第一处理器610和第一存储器620,第一存储器620用于存储第一指令;第一指令用于控制第一处理器610执行第一实施例中任意一项更新配置文件的方法。
在本实施例中,配置服务器600还可以包括其他的装置或者模块,例如,如图1所示的配置服务器1100。
在本实施例中,配置服务器600并不局限于实体实施形式,配置服务器600可以是计算机、刀片服务器、云端服务器、服务器群组等。配置服务器600还可以将部分功能通过外部设备实现,例如,配置服务器600可以外设通信服务器,用于管理配置服务器与多个版本控制服务器之间的通信连接;配置服务器600可以外设信息服务器,用于协助配置服务器600管理多个版本控制服务器的设备信息,等等。
本领域技术人员应当明白,可以通过各种方式来实现配置服务器600。例如,可以通过指令配置处理器来实现配置服务器600。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现配置服务器600。例如,可以将配置服务器600固化到专用器件(例如ASIC)中。可以将配置服务器600分成相互独立的单元,或者可以将它们合并在一起实现。配置服务器600可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
以上已经结合附图描述了本实施例,根据本实施例,提供了一种更新配置文件的方法和配置服务器,通过检测版本控制服务器中存储的配置文件发生修改的事件的检测结果,从版本控制服务器中获取发生修改的配置文件,并将修改后的配置文件发送至对应容器的管理者,进行该容器的配置文件的挂载更新。这样,可以实现配置文件的自动更新。此外,还可以避免手动管理配置文件会带来的容器中运行的应用与挂载的配置文件不一致的风险。
<第二实施例>
<方法>
在本实施例中,提供一种更新配置文件的方法。该方法由版本控制服务器实施。
该版本控制服务器可以任意具有处理器和存储器的电子设备,例如,可以是台式计算机、刀片服务器、云端服务器等。在一个例子中,版本控制服务器可以是图1所示的版本控制服务器1200。
该更新配置文件的方法,如图7所示,包括步骤S7100。
步骤S7100,响应于对预先存储的配置文件的修改操作,向配置服务器发送配置文件发生修改的通知,以供配置服务器检测配置文件是否发生修改。
在一个例子中,该方法还可以包括如下步骤S7200-S7300。
步骤S7200,确定配置文件的存储地址关联的网络钩子(web hook)。
步骤S7300,通过网络钩子向配置服务器发送配置文件发生修改的通知。
这样,配置服务器就可以根据接收到配置文件发生修改的通知的网络钩子,确定发生修改的配置文件在版本控制服务器中的存储地址。
在一个例子中,该方法还可以包括如下步骤S7500-S7600。
步骤S7500,根据预设的信息-摘要算法对发生修改的配置文件进行特征计算处理,得到特征值。
步骤S7600,将该特征值发送至配置服务器。
具体的,可以是在配置服务器从版本控制服务器中获取发生修改的配置文件的同时,获取该特征值。也可以是在配置服务器从版本控制服务器中获取发生修改的配置文件的情况下,版本控制服务器将该特征值发送至配置服务器。以使配置服务器将该特征值发送至管理者,对接收的发生修改的配置文件的完整性进行校验。
<版本控制服务器>
在本实施例中,还提供一种版本控制服务器800,如图8所示,包括第二处理器810和第二存储器820,第二存储器820用于存储第二指令;第二指令用于控制第二处理器810执行第二实施例中任意一项更新配置文件的方法。
在本实施例中,版本控制服务器800并不局限于实体实施形式,版本控制服务器800可以是计算机、刀片服务器、云端服务器、服务器群组中的版本控制服务器等。版本控制服务器800还可以将部分功能通过外部设备实现,例如,版本控制服务器800可以外设通信服务器,用于管理版本控制服务器与多个配置服务器之间的通信连接;版本控制服务器800可以外设信息服务器,用于协助版本控制服务器800管理多个配置服务器的设备信息,等等。
本领域技术人员应当明白,可以通过各种方式来实现版本控制服务器800。例如,可以通过指令配置处理器来实现版本控制服务器800。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现版本控制服务器800。例如,可以将版本控制服务器800固化到专用器件(例如ASIC)中。可以将版本控制服务器800分成相互独立的单元,或者可以将它们合并在一起实现。版本控制服务器800可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
以上已经结合附图描述了本实施例,根据本实施例,提供了一种更新配置文件的方法和版本控制服务器,通过版本控制服务器响应于对预先存储的配置文件的修改操作,向配置服务器发送配置文件发生修改的通知,以供配置服务器检测配置文件是否发生修改。进而使得版本控制服务器在检测到配置文件发生修改的情况下,从版本控制服务器中获取发生修改的配置文件,并将修改后的配置文件发送至对应容器的管理者,进行该容器的配置文件的挂载更新。这样,可以实现配置文件的自动更新。此外,还可以避免手动管理配置文件带来的容器中运行的应用与挂载的配置文件不一致的风险。
<第三实施例>
<系统>
在本实施例中,提供一种更新配置文件的系统900,如图9所示,包括:
第一实施例中提供的配置服务器700;
第二实施例中提供的版本控制服务器800;以及,
管理者910,管理者910用于接收版本控制服务器发送的发生修改的配置文件,以进行对应容器的配置文件的挂载更新。
管理者910进行对应容器的配置文件的挂载更新具体可以为:管理者910将对应容器中挂载的配置文件替换为发生修改的配置文件。
在管理者910接收到特征值的情况下,根据该信息-摘要算法对接收的目标配置文件进行特征计算处理,得到的特征值作为校验特征值;比对接收的特征值和校验特征值是否相同;根据比对结果确定发生修改的配置文件是否完整。
如果比对接收的特征值和校验特征值相同,则可以判定接收的发生修改的配置文件完整。如果比对接收的特征值和校验特征值不同,则可以判定接收的发生修改的配置文件不完整。
在管理者接收的发生修改的配置文件完整的情况下,管理者可以将接收到的发生修改的配置文件挂载至容器中,以对容器的配置文件进行挂载更新。
在管理者接收的发生修改的配置文件不完整的情况下,管理者可以重新向配置服务器发出读取发生修改的配置文件的请求,以使配置服务器重新向管理者发送发生修改的配置文件。
在本实施例中,更新配置文件的系统900还可以包括其他设备,例如,还可以包括通信服务器,用于管理配置服务器700与版本控制服务器800之间的通信连接;或者,还可以包括信息服务器,用于协助配置服务器300管理版本控制服务器800,等等。
在一个例子中,更新配置文件的系统900还可以是如图1所示的更新配置文件的系统1000。管理者910可以是由宿主机1300提供。
以上已经结合附图描述了本实施例,根据本实施例,提供了一种更新配置文件的系统,通过配置服务器检测版本控制服务器中存储的配置文件发生修改的事件的检测结果,从版本控制服务器中获取发生修改的配置文件,并将修改后的配置文件发送至对应容器的管理者,进行该容器的配置文件的挂载更新。这样,可以实现配置文件的自动更新。此外,还可以避免手动管理配置文件带来的容器中运行的应用与挂载的配置文件不一致的风险。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (15)
1.一种更新配置文件的方法,其中,所述方法由配置服务器实施,所述方法包括:
检测版本控制服务器中预先存储的配置文件发生修改的事件;
根据检测到所述事件的检测结果,确定发生修改的配置文件在所述版本控制服务器中的存储地址;
根据所述存储地址,从所述版本控制服务器中获取发生修改的配置文件;
将所述发生修改的配置文件发送至对应所述存储地址的容器的管理者,进行所述容器的配置文件的挂载更新。
2.根据权利要求1所述的方法,其中,所述事件包括以下任意一项或多项:
接收到所述版本控制服务器发送的所述配置文件发生修改的通知;
对当前时刻的配置文件与前一时刻的配置文件进行比对得到的结果为存在差异;
配置文件的最新修改时间发生改变。
3.根据权利要求1所述的方法,其中,所述事件包括:接收到所述版本控制服务器发送的所述配置文件发生修改的通知;所述确定发生修改的配置文件在所述版本控制服务器中的存储地址的步骤包括:
确定接收所述通知的网络钩子所关联的存储地址。
4.根据权利要求1所述的方法,其中,所述方法还包括:
生成并向所述管理者发送更新指令,以供所述管理者根据所述更新指令进行所述容器的配置文件的挂载更新。
5.根据权利要求1所述的方法,其中,所述方法还包括:
检测所述存储地址对应的容器是否预先配置有自动更新功能;
在所述容器预先配置有自动更新功能的情况下,再执行所述将所述发生修改的配置文件发送至所述容器的管理者的步骤。
6.根据权利要求1所述的方法,其中,所述方法还包括:
响应于资源对象的发布,记录所述资源对象中包含的自身与所述存储地址之间的对应关系;
接收所述管理者发送的所述容器与所述资源对象之间的对应关系;其中,所述容器与所述资源对象之间的对应关系为所述管理者在发布所述容器内运行的应用的情况下发送的;
根据所述存储地址与所述资源对象之间的对应关系、及所述容器与所述资源对象之间的对应关系,确定对应所述存储地址的容器。
7.根据权利要求1所述的方法,其中,所述方法还包括:
响应于对所述配置文件的回滚操作,获取所述配置文件的回滚版本号;
根据所述回滚版本号和所述存储地址,从所述版本控制服务器上获取所述回滚版本号对应的配置文件;
将所述回滚版本号对应的配置文件发送至所述管理者,进行所述容器的配置文件的挂载回滚。
8.根据权利要求1所述的方法,其中,所述方法还包括:
将所述发生修改的配置文件存储在本地缓存中,以供接收到获取所述发生修改的配置文件的请求时,将本地缓存的发生修改的配置文件发送至发送所述请求的容器的管理者进行挂载。
9.根据权利要求1所述的方法,其中,所述方法还包括:
接收所述版本控制服务器发送的特征值,所述特征值为所述版本控制服务器根据预设的信息-摘要算法对所述发生修改的配置文件进行特征计算处理得到;
将所述特征值发送至所述管理者,以对接收的配置文件的完整性进行校验。
10.一种更新配置文件的方法,其中,所述方法由版本控制服务器实施,所述方法包括:
响应于对预先存储的配置文件的修改操作,向配置服务器发送所述配置文件发生修改的通知,以供所述配置服务器检测所述配置文件是否发生修改。
11.根据权利要求10所述的方法,其中,所述发送通知的步骤包括:
确定所述配置文件的存储地址关联的网络钩子;
通过所述网络钩子向所述配置服务器发送所述配置文件发生修改的通知。
12.根据权利要求10所述的方法,其中,所述方法还包括:
根据预设的信息-摘要算法对所述发生修改的配置文件进行特征计算处理,得到特征值;
将所述特征值发送至配置服务器。
13.一种配置服务器,其中,包括第一处理器和第一存储器,所述第一存储器用于存储第一指令,所述第一指令用于控制所述第一处理器执行根据权利要求1-9中任一项所述的方法。
14.一种版本控制服务器,其中,包括第二处理器和第二存储器,所述第二存储器用于存储第二指令,所述第二指令用于控制所述第二处理器执行根据权利要求10-12中任一项所述的方法。
15.一种更新配置文件的系统,其特征在于,包括根据权利要求13 所述的配置服务器、根据权利要求14所述的版本控制服务器、及管理者,所述管理者用于接收版本控制服务器发送的发生修改的配置文件,以进行对应容器的配置文件的挂载更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910472915.5A CN112099836A (zh) | 2019-05-31 | 2019-05-31 | 更新配置文件方法、配置服务器、版本控制服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910472915.5A CN112099836A (zh) | 2019-05-31 | 2019-05-31 | 更新配置文件方法、配置服务器、版本控制服务器及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112099836A true CN112099836A (zh) | 2020-12-18 |
Family
ID=73748884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910472915.5A Pending CN112099836A (zh) | 2019-05-31 | 2019-05-31 | 更新配置文件方法、配置服务器、版本控制服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112099836A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732412A (zh) * | 2021-04-06 | 2021-04-30 | 浙江华创视讯科技有限公司 | 一种服务配置文件处理方法、装置、存储介质及电子设备 |
CN112948020A (zh) * | 2021-03-18 | 2021-06-11 | 海南视联通信技术有限公司 | 一种配置文件的处理方法和装置 |
CN113312072A (zh) * | 2021-06-11 | 2021-08-27 | 北京百度网讯科技有限公司 | 配置文件更新方法及装置、电子设备和介质 |
US20210303368A1 (en) * | 2020-03-24 | 2021-09-30 | Hitachi, Ltd. | Operator management apparatus, operator management method, and operator management computer program |
CN115794318A (zh) * | 2023-02-07 | 2023-03-14 | 天翼云科技有限公司 | 一种容器更新方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012151825A1 (zh) * | 2011-05-10 | 2012-11-15 | 中国联合网络通信集团有限公司 | Ios上接入点切换方法及装置 |
CN107368331A (zh) * | 2017-06-26 | 2017-11-21 | 聚好看科技股份有限公司 | 应用程序的配置文件更新方法和装置 |
CN107465714A (zh) * | 2017-01-23 | 2017-12-12 | 北京思特奇信息技术股份有限公司 | 一种基于应用集群的配置数据动态更新系统及方法 |
EP3296862A1 (en) * | 2016-09-19 | 2018-03-21 | Palantir Technologies Inc. | Version control machine |
-
2019
- 2019-05-31 CN CN201910472915.5A patent/CN112099836A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012151825A1 (zh) * | 2011-05-10 | 2012-11-15 | 中国联合网络通信集团有限公司 | Ios上接入点切换方法及装置 |
EP3296862A1 (en) * | 2016-09-19 | 2018-03-21 | Palantir Technologies Inc. | Version control machine |
CN107465714A (zh) * | 2017-01-23 | 2017-12-12 | 北京思特奇信息技术股份有限公司 | 一种基于应用集群的配置数据动态更新系统及方法 |
CN107368331A (zh) * | 2017-06-26 | 2017-11-21 | 聚好看科技股份有限公司 | 应用程序的配置文件更新方法和装置 |
Non-Patent Citations (1)
Title |
---|
胥永康, 吴志杰, 岳筱玲: "基于客户/服务器的应用软件自动发布系统", 信息与电子工程, no. 03 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210303368A1 (en) * | 2020-03-24 | 2021-09-30 | Hitachi, Ltd. | Operator management apparatus, operator management method, and operator management computer program |
CN112948020A (zh) * | 2021-03-18 | 2021-06-11 | 海南视联通信技术有限公司 | 一种配置文件的处理方法和装置 |
CN112732412A (zh) * | 2021-04-06 | 2021-04-30 | 浙江华创视讯科技有限公司 | 一种服务配置文件处理方法、装置、存储介质及电子设备 |
CN113312072A (zh) * | 2021-06-11 | 2021-08-27 | 北京百度网讯科技有限公司 | 配置文件更新方法及装置、电子设备和介质 |
CN115794318A (zh) * | 2023-02-07 | 2023-03-14 | 天翼云科技有限公司 | 一种容器更新方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112099836A (zh) | 更新配置文件方法、配置服务器、版本控制服务器及系统 | |
US10169614B2 (en) | Container update system | |
KR102376713B1 (ko) | 복합 파티션 함수 제공 기법 | |
US10601680B2 (en) | Application resiliency using APIs | |
CN110324399B (zh) | 将集群意识纳入设施管理门户 | |
CN111708557B (zh) | 更新配置文件的方法、设备及存储介质 | |
US9990214B2 (en) | Dynamic agent delivery | |
CN111614738A (zh) | 基于Kubernetes集群的服务访问方法、装置、设备及存储介质 | |
KR20130136064A (ko) | 단말의 애플리케이션 제공 방법 및 그 단말 | |
US10341181B2 (en) | Method and apparatus to allow dynamic changes of a replica network configuration in distributed systems | |
CN110825411A (zh) | Tws耳机系统的升级方法、设备及计算机可读存储介质 | |
CN112926068A (zh) | 权限管理方法、管理服务器、业务服务器及可读存储介质 | |
US20180034949A1 (en) | Method and system for detecting abnormal contact information and server | |
CN114816225A (zh) | 存储集群的管理方法、装置、电子设备及存储介质 | |
CN108121578B (zh) | 生成应用程序的方法、装置和存储介质以及电子设备 | |
CN111858156A (zh) | 镜像管理方法、装置及电子设备 | |
CN104038552A (zh) | 一种信息更新方法及装置 | |
US11093292B2 (en) | Identifying recurring actions in a hybrid integration platform to control resource usage | |
CN109600257B (zh) | 工具的部署方法、装置和存储介质 | |
US10972343B2 (en) | System and method for device configuration update | |
CN109147747B (zh) | 一种加载调音参数的方法、播放设备、服务器及系统 | |
US20160232209A1 (en) | Optionally compressed output from command-line interface | |
CN112069071A (zh) | 用于确定程序适配性的方法、装置 | |
CN111367898A (zh) | 数据处理方法、装置、系统、电子设备及存储介质 | |
CN111176830A (zh) | 信息流的分配方法、装置及服务器系统 |
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 |