CN109462507B - 配置更新方法、装置、***及电子设备 - Google Patents
配置更新方法、装置、***及电子设备 Download PDFInfo
- Publication number
- CN109462507B CN109462507B CN201811364313.XA CN201811364313A CN109462507B CN 109462507 B CN109462507 B CN 109462507B CN 201811364313 A CN201811364313 A CN 201811364313A CN 109462507 B CN109462507 B CN 109462507B
- Authority
- CN
- China
- Prior art keywords
- configuration
- information
- server
- receiving
- zookeeper
- 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.)
- Active
Links
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/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- 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
-
- 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/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种配置更新方法、装置、***及电子设备,该方法包括:从Zookeeper服务器获取配置信息后,利用Java的字节码技术将配置信息转换成配置类,利用类加载器ClassLoader加载配置类并进行实例化,从而得到该配置类对应的实例,将该实例存储Java的上下文环境中,从而自动对存储在该上下文环境中的原配置类进行更新。这样以实例的形式存储配置信息,由于每个实例名称不同,在上下文环境中存储的内存地址不同,且每个实例均配置有时间戳信息;后续配置时根据该实例名称和时间戳信息调取最新实例进行配置更新即可,因此可以避免出现由于直接向内存地址中并发写配置造成的内存泄露或者数据读取错误等问题。
Description
技术领域
本发明涉及信息管理技术领域,尤其是涉及一种配置更新方法、装置、***及电子设备。
背景技术
随着信息产业的飞速发展,无论是传统的计算机领域还是新兴的移动互联网领域,分布式环境的***越来越多,有的分布式***甚至有上百台或者上千台服务器节点。在现有的分布式***中,更新服务程序或更新某个配置文件需要登录到具体的某台服务器上操作,在越来越庞大的分布式***环境下,为每台服务器更新文件配置或者程序费时费力。
ZooKeeper是一个针对大型分布式***的可靠协调***,提供的功能包括配置维护、名字服务、分布式同步以及组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的***提供给用户。因此可以通过ZooKeeper来提供配置服务。
然而现有技术中,各个服务器从ZooKeeper获取到配置信息后,是以文件的形式,加载到内存中。其中,每次获得的配置信息会写入同一内存地址,这样当存在并发写配置时,可能存在内存泄露或者数据读取错误等问题。
发明内容
有鉴于此,本发明的目的在于提供一种配置更新方法、装置、***及电子设备,以避免出现并发写配置造成的内存泄露或者数据读取错误等问题。
第一方面,本发明实施例提供了一种配置更新方法,包括:
从Zookeeper服务器获取配置信息;
利用Java的字节码技术将所述配置信息转换为配置类;
将所述配置类加载到类加载器ClassLoader;
对所述类加载器ClassLoader加载的配置类进行实例化,得到对应的实例,其中所述实例配置有时间戳信息;
将所述实例存储于当前的上下文环境中以完成配置更新。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,当接收到配置查询指令时,从所述上下文环境中读取当前存在的各个实例,并进行显示。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述从Zookeeper服务器获取配置信息之前,还包括:
接收所述Zookeeper服务器发送的探测指令,并返回探测应答信息至所述Zookeeper服务器。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,对所述类加载器ClassLoader加载的配置类进行实例化包括:
接收所述Zookeeper服务器发送的配置更新指令;
根据所述配置更新指令,对所述类加载器ClassLoader加载的配置类进行实例化。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述将所述配置类加载到类加载器ClassLoader之后,还包括:
返回接收回执信息至所述Zookeeper服务器。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述将所述实例存储于当前的上下文环境中以完成配置更新之后,还包括:
返回配置完成信息至所述Zookeeper服务器。
第二方面,本发明实施例还提供一种配置更新装置,包括:
获取模块,用于从Zookeeper服务器获取配置信息;
转换模块,用于利用Java的字节码技术将所述配置信息转换为配置类;
预加载模块,用于将所述配置类加载到类加载器ClassLoader;
实例化模块,用于对所述类加载器ClassLoader加载的配置类进行实例化,得到对应的实例,其中所述实例配置有时间戳信息;
更新模块,用于将所述实例存储于当前的上下文环境中以完成配置更新。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,还包括:
查询模块,用于当接收到配置查询指令时,从所述上下文环境中读取当前存在的各个实例,并进行显示。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,还包括:查询模块,用于接收所述Zookeeper服务器发送的探测指令,并返回探测应答信息至所述Zookeeper服务器。
结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述实例化模块还用于:
接收所述Zookeeper服务器发送的配置更新指令;
根据所述配置更新指令,对所述类加载器ClassLoader加载的配置类进行实例化。
结合第二方面,本发明实施例提供了第二方面的第四种可能的实施方式,其中,还包括:
回执返回模块,用于返回接收回执信息至所述Zookeeper服务器。
结合第二方面,本发明实施例提供了第二方面的第五种可能的实施方式,其中,还包括:
完成返回模块,用于返回配置完成信息至所述Zookeeper服务器。
第三方面,本发明实施例还提供一种配置更新***,包括配置中心、Zookeeper服务器以及多个应用服务器;所述配置中心连接所述Zookeeper服务器,所述Zookeeper服务器与所述多个应用服务器分别连接;
所述应用服务器包括如第二方面及其任一种可能的实施方式所述的装置;
配置中心,用于接收配置操作信息,并生成配置信息;所述配置操作信息包括配置创建信息、配置修改信息及配置查看信息;
Zookeeper服务器,用于从所述配置中心获取配置信息,将所述配置信息发送至各个应用服务器。
结合第三方面,本发明实施例提供了第三方面的第一种可能的实施方式,其中,所述Zookeeper服务器还用于:
发送探测指令至所述各个应用服务器;
接收所述各个应用服务器的探测应答信息,根据所述探测应答信息,发送配置信息至所述各个应用服务器,以使所述应用服务器进行配置预加载;
接收所述各个应用服务器的接收回执信息,;根据所述接收回执信息,发送配置更新指令至所述各个应用服务器,以使所述应用服务器进行配置更新。
结合第三方面,本发明实施例提供了第三方面的第二种可能的实施方式,其中,所述Zookeeper服务器还用于:
接收所述配置中心发送的探测指令,发送该探测指令至各个应用服务器;
接收所述各个应用服务器的探测应答信息,发送所述探测应答信息至所述配置中心;
接收所述配置中心发送的配置分发指令,根据所述配置分发指令,发送配置信息至所述各个应用服务器,以使所述应用服务器进行配置预加载;
接收所述各个应用服务器的接收回执信息,发送所述接收回执信息至所述配置中心;
接收所述配置中心发送的配置更新指令,将所述配置更新指令发送至所述各个应用服务器,以使所述应用服务器进行配置更新;
接收所述各个应用服务器的配置完成信息,发送所述配置完成信息至所述配置中心。
结合第三方面的第二种可能的实施方式,本发明实施例提供了第三方面的第三种可能的实施方式,其中,所述配置中心还用于:
发送探测指令至所述Zookeeper服务器,并接收所述Zookeeper服务器返回的探测应答信息并显示探测结果;
发送配置分发指令至所述Zookeeper服务器,并接收所述Zookeeper服务器返回的接收回执信息并显示预加载结果;
发送配置更新指令至所述Zookeeper服务器,并接收所述Zookeeper服务器返回的配置完成信息并显示配置更新结果。
第四方面,本发明实施例还提供一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面及其任一种可能的实施方式所述的方法。
第五方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行所述第一方面及其任一种可能的实施方式所述方法。
本发明实施例带来了以下有益效果:
在本发明实施例中,在从Zookeeper服务器获取配置信息后,利用Java的字节码技术将配置信息转换成配置类,利用类加载器ClassLoader加载该配置类,并进行实例化,从而得到该配置类对应的实例,将该实例存储Java的上下文环境中,从而自动对存储在该上下文环境中的原配置类进行更新。这样以实例的形式存储配置信息,由于每个实例名称不同,在上下文环境中存储的内存地址不同,且每个实例均配置有时间戳信息;后续配置时根据该实例名称和时间戳信息调取最新实例进行配置更新即可,因此可以避免出现由于直接向内存地址中并发写配置造成的内存泄露或者数据读取错误等问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种配置更新方法的流程示意图;
图2为本发明实施例提供的另一种配置更新方法的流程示意图;
图3为本发明实施例提供的一种配置更新装置的结构示意图;
图4为本发明实施例提供的另一种配置更新装置的结构示意图;
图5为本发明实施例提供的一种配置更新***的结构示意图;
图6为本发明实施例提供的配置更新***的一种交互示意图;
图7为本发明实施例提供的配置更新***的另一种交互示意图;
图8为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前各个服务器从ZooKeeper获取到配置信息后,会写入同一内存地址,这样当存在并发写配置时,可能存在内存泄露或者数据读取错误等问题。基于此,本发明实施例提供的一种配置更新方法、装置、***及电子设备,以实例的形式存储配置信息,由于每个实例名称不同,在上下文环境中存储的内存地址不同,且每个实例均配置有时间戳信息;后续配置根据该实例名称和时间戳信息调取相应的实例进行配置更新即可,因此可以避免出现由于直接向内存地址中并发写配置造成的内存泄露或者数据读取错误等问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种配置更新方法进行详细介绍。
实施例一:
图1示出了本发明实施例提供的一种配置更新方法的流程示意图。如图1所示,该配置更新方法应用于运行应用程序的应用服务器或者是客户端,包括以下几个步骤:
步骤S101,从Zookeeper服务器获取配置信息。
在可能的实施例中,该配置信息是由配置中心对应的管理人员通过WEB(WorldWide Web,全球广域网)页面通过写配置操作生成的。
步骤S102,利用Java的字节码技术将配置信息转换为配置类。
步骤S103,将该配置类加载到类加载器ClassLoader。
将配置信息通过Java的字节码技术转换为Java字节代码(.class文件)表示的配置类。然后通过ClassLoader读取该配置类对应的Java字节代码,以加载该配置类。
步骤S104,对类加载器ClassLoader加载的配置类进行实例化,得到对应的实例。
其中,该实例配置有时间戳信息,该时间戳信息用于表示该实例的生成时间。
步骤S105,将实例存储于当前的上下文环境中以完成配置更新。
其中,上下文环境为用于存储全局信息的存储空间,如ServletContext即为WEB应用的上下文环境,在WEB应用的服务器启动时创建。
这样以实例的形式存储配置信息,每个实例名称不同,在上下文环境中存储的内存地址不同,且每个实例均配置有时间戳信息。因此在并发写配置的情况下,由于将各个配置信息以实例的形式存储在不同的内存地址,因此在后期应用服务器进行配置读取时,可以直接根据实例名称和时间戳信息,从相应的存储地址读取最新生成的实例,以获取对应的配置值,从而可以避免出现并发写配置造成的内存泄露或者数据读取错误等问题。
实施例二:
图2示出了本发明实施例提供的另一种配置更新方法的流程示意图。如图2所示,该配置更新方法应用于运行应用程序的应用服务器或者是客户端,包括以下几个步骤:
步骤S201,接收Zookeeper服务器发送的探测指令,并返回探测应答信息至Zookeeper服务器。
在可能的实施例中,Zookeeper服务器在发送配置信息之前,发送探测指令至其连接的各个应用服务器,以检测该各个应用服务器是否存活,即是否存在死机、连接中断等问题。如果应用服务器存活,则在接收到探测指令后,会发送相应的探测应答信息至Zookeeper服务器。
在可能的实施例中,上述探测指令至由管理人员通过配置中心的WEB(World WideWeb,全球广域网)页面,控制Zookeeper服务器发送的;或者是在Zookeeper服务器接收到配置中心写入的配置信息后,直接发送探测指令至各个应用服务器。
步骤S202,接收Zookeeper服务器发送的配置信息。
在可能的实施例中,该配置信息是由配置中心对应的管理人员通过WEB页面通过写配置操作生成的。
可以通过以下方式中的任一种触发Zookeeper服务器发送配置信息。
第一种:在Zookeeper服务器根据接收到的探测应答信息,确定所有的应用服务器均存活,则发送配置信息至各个应用服务器。
第二种:Zookeeper服务器将接收到的探测应答信息反馈至配置中心,由配置中心显示探测结果,如果探测结果显示所有的应用服务器均存活,则管理人员通过配置中心的WEB页面控制Zookeeper服务器发送配置信息至各个应用服务器;如果探测结果显示某台应用服务器出现问题,则进行提示,使得管理人员及时进行故障处理。
在第二种方式中,管理人员通过配置中心的WEB界面,进行存活率监控,可以及时发现问题,并做出针对处理,提高配置更新的成功率。
步骤S203,利用Java的字节码技术将配置信息转换为配置类,将该配置类加载到类加载器ClassLoader。
在接收到配置信息后,进行步骤S203的配置预加载步骤。具体地,将配置信息通过Java的字节码技术转换为Java字节代码(.class文件)表示的配置类。然后通过ClassLoader读取该配置类对应的Java字节代码,以加载该配置类。
步骤S204,返回接收回执信息至Zookeeper服务器。
如果应用服务器完成配置类的预加载,则会发送接收回执信息至Zookeeper服务器,以通知Zookeeper服务器预加载完成。需要说明的是,此时并未对应用服务器本地原有的配置信息进行更新。
步骤S205,接收Zookeeper服务器发送的配置更新指令。
可以通过以下方式中的任一种触发Zookeeper服务器发送配置更新指令。
第一种:在Zookeeper服务器根据接收到的接收回执信息,确定所有的应用服务器均已预加载完成,则发送配置更新指令至各个应用服务器。
第二种:Zookeeper服务器将接收到的接收回执信息反馈至配置中心,由配置中心根据接收回执信息显示预加载结果,如果预加载结果显示所有的应用服务器已预加载完成,则管理人员通过配置中心的WEB页面控制Zookeeper服务器发送配置更新指令至各个应用服务器;如果预加载结果显示某台应用服务器预加载失败,则进行提示,使得管理人员及时进行故障处理。
在第二种方式中,管理人员通过配置中心的WEB界面,进行预加载监控,可以及时发现问题,并做出针对处理,提高配置更新的成功率。
在所有应用服务器均预加载完成后,发送配置更新指令至各个应用该服务器,以使各个应用服务器同时进行配置更新,保持各个应用服务器的配置一致性。
步骤S206,根据配置更新指令,对类加载器ClassLoader加载的配置类进行实例化,得到对应的实例。
步骤S207,将实例存储于当前的上下文环境中以完成配置更新。
具体得,得到实例以后,将实例自动保存在上下文环境中,从而完成配置更新。当应用服务器进行配置读取时,可以从该上下文中自动读取最新的实例,以获取对应的配置值。
需要说明的是,上下文环境中存储原来的配置信息对应的实例并未立即清除,各个实例的名称不同,存储的地址也不相同。该上下文环境中存储的原来的实例,是由Java中的垃圾回收机制进行处理的。
步骤S208,返回配置完成信息至Zookeeper服务器。
如果应用服务器完成配置更新,则会发送配置完成信息至Zookeeper服务器,以通知Zookeeper服务器配置更新完成。
Zookeeper服务器将接收到的配置完成信息反馈至配置中心,由配置中心根据配置完成信息显示配置更新结果,如果配置完成信息显示所有的应用服务器均已配置更新,则确定分布式***配置更新成功。如果预加载结果显示某台应用服务器配置更新失败,则进行提示,使得管理人员及时进行故障处理。
为了便于后期进行***维护,可选地,在将上述表示配置信息的实例存储于上下文环境中后,该配置更新方法还包括:当接收到配置查询指令时,从上下文环境中读取当前存在的各个实例,并进行显示。
由于上下文环境中存储的信息是由Java的垃圾清理机制处理的,在存储新的配置信息对应的实例后,原来的配置信息对应的实例不会消失。另外每个实例均对应有时间戳信息,因此当用户对应用服务器的配置信息进行历史追溯时,可以通过配置查询指令,调取上下文环境中的各个实例,根据时间戳表示的时间节点,查看相应的配置信息。这样当应用服务器的配置信息错误时,可以从本地直接查询历史配置信息,以查找问题根源。相比于现有技术中,通过配置中心进行历史追溯,本发明实施例更加方便、快捷。
本技术方案以实例的形式存储配置信息,由于每个实例名称不同,且在上下文环境中存储的内存地址不同,且每个实例均配置有时间戳信息;后期应用服务器进行配置读取时,可以直接根据实例名称和时间戳信息,从相应的存储地址读取最新生成的实例,以获取对应的配置值,从而可以避免出现并发写配置造成的内存泄露或者数据读取错误等问题。且将配置信息表示成实例的形式,相比于文件,读取性更强。
上述实施例中,将分布式***的配置更新过程,分为应用服务器存活检测、配置预加载及配置更新三个步骤。在确定所有应用服务器存活后,进行配置信息的发送;然后在确定所有应用服务器预加载完成后,发送配置更新指令至各个应用服务器,以使各个应用服务器同时进行配置更新,保持各个应用服务器的配置一致性。
另外,在配置更新未完成时,应用服务器可以从当前的上下文环境中,读取原来的配置信息对应的实例,以获取配置值;在配置更新完成后,可以读取新的配置信息对应的实例,以获取新的配置值。这样,在Zookeeper服务器不可用时,仅仅会影响到新的配置信息的下发,不会影响各个应用服务器对配置信息的使用,从而提高了用户的使用体验。
实施例三:
对应于实施例一或者实施例二中的配置更新方法,本实施例提供的了一种配置更新装置,参见图3,该配置更新装置包括:
获取模块11,用于从Zookeeper服务器获取配置信息;
转换模块12,用于利用Java的字节码技术将上述配置信息转换为配置类;
预加载模块13,用于将该配置类加载到类加载器ClassLoader;
实例化模块14,用于对上述类加载器ClassLoader加载的配置类进行实例化,得到对应的实例,其中该实例配置有时间戳信息;
更新模块15,用于将上述实例存储于当前的上下文环境中以完成配置更新。
这样以实例的形式存储配置信息,由于每个实例名称不同,且在上下文环境中存储的内存地址不同,且每个实例均配置有时间戳信息;后期应用服务器进行配置读取时,可以直接根据实例名称和时间戳信息,从相应的存储地址读取最新生成的实例,以获取对应的配置值,从而可以避免出现并发写配置造成的内存泄露或者数据读取错误等问题。
在可能的实施例中,参见图4,本发明实施例提供了另一种配置更新装置的结构示意图,在图3的基础上,该配置更新装置还包括:
查询模块21,用于当接收到配置查询指令时,从上下文环境中读取当前存在的各个实例,并进行显示。
进一步地,上述配置更新装置还包括:
应答返回模块22,用于接收Zookeeper服务器发送的探测指令,并返回探测应答信息至Zookeeper服务器。
进一步地,上述实例化模块14还用于:
接收Zookeeper服务器发送的配置更新指令;
根据该配置更新指令,对类加载器ClassLoader加载的配置类进行实例化。
进一步地,上述配置更新装置还包括:
回执返回模块23,用于返回接收回执信息至Zookeeper服务器。
进一步地,上述配置更新装置还包括:
完成返回模块24,用于返回配置完成信息至Zookeeper服务器。
上述实施例中,将分布式***的配置更新过程,分为应用服务器存活检测、配置预加载及配置更新三个步骤。在确定所有应用服务器存活后,进行配置信息的发送;然后在确定所有应用服务器预加载完成后,发送配置更新指令至各个应用服务器,以使各个应用服务器同时进行配置更新,保持各个应用服务器的配置一致性。
实施例四:
对应于实施例一或者实施例二中的配置更新方法,本实施例提供了一种配置更新***,如图5所示,该配置更新***包括:包括配置中心300、Zookeeper服务器400以及多个应用服务器500;配置中心300连接Zookeeper服务器400,Zookeeper服务器400与多个应用服务器500分别连接。其中应用服务器500包括如实施例二中描述的装置。
配置中心300,用于接收配置操作信息,并生成配置信息;其中配置操作信息包括配置创建信息、配置修改信息及配置查看信息。
在可能的实施例中,相关的管理人员通过配置中心的WEB页面进行配置操作,并通过WEB页面进行配置更新过程的监控。
Zookeeper服务器,用于从配置中心获取配置信息,将配置信息发送至各个应用服务器。
在分布式***中,每加入一个新的应用服务器,在该应用服务器启动时,会自动注册到Zookeeper服务器,从而建立应用服务器与Zookeeper服务器之间的关联。当减少应用服务器的时候,可以通过配置中心手动取消该应用服务器与Zookeeper服务器之间的关联,从而减少一个应用服务器。
以下将详细介绍配置更新过程,可以但不限于以下两种方式的任一种进行配置更新。
第一种:
上述Zookeeper服务器自动完成配置更新过程。
在该方式中,上述Zookeeper服务器还用于:发送探测指令至各个应用服务器;接收各个应用服务器的探测应答信息,根据该探测应答信息,发送配置信息至各个应用服务器,以使应用服务器进行配置预加载;接收各个应用服务器的接收回执信息;根据该接收回执信息,发送配置更新指令至各个应用服务器,以使应用服务器进行配置更新。
具体地,Zookeeper服务器发送探测指令至其连接的各个应用服务器,以检测该各个应用服务器是否存活,即是否存在死机、连接中断等问题。如果应用服务器存活,则在接收到探测指令后,会发送相应的探测应答信息至Zookeeper服务器,以表示本机正常。
在Zookeeper服务器根据接收到的探测应答信息,确定所有的应用服务器均存活,则发送配置信息至各个应用服务器,以使应用服务器进行配置预加载。在可能的实施例中,如果检测到某台应用服务器出现问题,则可以发送异常提示信息至配置中心,以使配置中心的管理人员及时进行处理。在接收到配置中心的控制信号后,再次发送探测指令,以重新开始探测。
在Zookeeper服务器根据接收到的接收回执信息,确定所有的应用服务器均已预加载完成,则发送配置更新指令至各个应用服务器。在Zookeeper服务器根据接收到的接收回执信息,确定所有的应用服务器均已预加载完成,则发送配置更新指令至各个应用服务器,以使应用服务器进行配置更新。在可能的实施例中,如果检测到某台应用服务器未完成预加载,则可以发送异常提示信息至配置中心,以使配置中心的管理人员及时进行处理。在接收到配置中心的控制信号后,再次发送配置信息至未完成预加载的应用服务器,以重新确定是否定所有的应用服务器均已预加载完成。
参见图6示出的第一种方式对应的配置更新***的一种交互示意图。如图6所示,该方式对应的交互过程如下:
(a1)配置中心写入配置信息至Zookeeper服务器。
具体地,管理人员在配置中心的WEB页面对配置相关信息进行编辑。完成后,可以点击该页面的相关按钮,发送配置信息至Zookeeper服务器,从而开始应用服务器的配置更新过程。
(a2)Zookeeper服务器接收该配置信息后,并发送探测指令至各个应用服务器。
(a3)应用服务器接收该探测指令,并返回探测应答信息至Zookeeper服务器。
(a4)Zookeeper服务器接收该探测应答信息。
在可能的实施例中,Zookeeper服务器将该探测应答信息,存储至相应应用服务器对应的独立且唯一的存储单元中。
(a5)确定所有的应用服务器均存活后,则发送配置信息至各个应用服务器。
(a6)应用服务器接收配置信息,并进行配置预加载。
具体地预加载过程可以参照前述方法实施例的介绍。
(a7)预加载完成后,应用服务器发送接收回执信息至Zookeeper服务器。
(a8)Zookeeper服务器接收上述接收回执信息。
在可能的实施例中,Zookeeper服务器将该接收回执信息,存储至相应应用服务器对应的独立且唯一的存储单元中。
(a9)确定所有的应用服务器均预加载完成后,则发送配置更新指令至各个应用服务器。
(a10)应用服务器接收到该配置更新指令后,进行配置更新。
具体地配置更新过程可以参照前述方法实施例的介绍。
(a11)配置更新完成后,发送配置完成信息至Zookeeper服务器。
在可能的实施例中,Zookeeper服务器将该配置完成信息,存储至相应应用服务器对应的独立且唯一的存储单元中。通过配置完成信息确定各个应用服务器是否更新成功。
第二种:
上述Zookeeper服务器在配置中心的控制下,完成配置更新过程。
该方式中,Zookeeper服务器还用于:接收配置中心发送的探测指令,发送该探测指令至各个应用服务器;接收各个应用服务器的探测应答信息,发送探测应答信息至配置中心;接收配置中心发送的配置分发指令,根据该配置分发指令,发送配置信息至各个应用服务器,以使应用服务器进行配置预加载;接收各个应用服务器的接收回执信息,发送接收回执信息至配置中心;接收配置中心发送的配置更新指令,将该配置更新指令发送至各个应用服务器,以使应用服务器进行配置更新;接收各个应用服务器的配置完成信息,发送配置完成信息至配置中心。
上述配置中心还用于:发送配置开始指令至Zookeeper服务器,并接收Zookeeper服务器返回的探测应答信息并显示探测结果;发送配置分发指令至Zookeeper服务器,并接收Zookeeper服务器返回的接收回执信息并显示预加载结果;发送配置更新指令至Zookeeper服务器,并接收Zookeeper服务器返回的配置完成信息并显示配置更新结果。
具体地,Zookeeper服务器将接收到的探测应答信息反馈至配置中心,由配置中心显示探测结果,如果探测结果显示所有的应用服务器均存活,则管理人员通过配置中心的WEB页面控制Zookeeper服务器发送配置信息至各个应用服务器;如果探测结果显示某台应用服务器出现问题,则进行提示,使得管理人员及时进行故障处理。
Zookeeper服务器将接收到的接收回执信息反馈至配置中心,由配置中心根据接收回执信息显示预加载结果,如果预加载结果显示所有的应用服务器已预加载完成,则管理人员通过配置中心的WEB页面控制Zookeeper服务器发送配置更新指令至各个应用服务器;如果预加载结果显示某台应用服务器预加载失败,则进行提示,使得管理人员及时进行故障处理。
在第二种方式中,管理人员通过配置中心的WEB界面,进行存活率监控及预加载监控,可以及时发现问题,并做出针对处理,提高配置更新的成功率。
参见图7示出的第一种方式对应的配置更新***的一种交互示意图。如图7所示,该方式对应的交互过程如下:
(b1)配置中心写入配置信息至Zookeeper服务器。
(b2)配置中心发送探测指令至Zookeeper服务器。
具体地,管理人员在配置中心的WEB页面对配置相关信息进行编辑。完成后,可以点击该页面的相关按钮,发送配置信息至Zookeeper服务器。然后再由管理人员通过WEB页面发送探测指令至Zookeeper服务器,从而开始应用服务器的配置更新过程。
(b3)Zookeeper服务器接收并转发该探测指令至各个应用服务器。
(b4)应用服务器接收该探测指令,并返回探测应答信息至Zookeeper服务器。
(b5)Zookeeper服务器接收该探测应答信息,并转发至配置中心。
在可能的实施例中,Zookeeper服务器将该探测应答信息,存储至相应应用服务器对应的独立且唯一的存储单元中。
(b6)配置中心接收Zookeeper服务器返回的探测应答信息并显示探测结果。
(b7)配置中心确定所有的应用服务器均存活后,则发送配置分发指令至Zookeeper服务器。
此时如果显示某台应用服务器存在问题,则由管理人员及时处理,直至确定所有应用服务器存活。
(b8)Zookeeper服务器接收配置中心发送的配置分发指令,发送配置信息至各个应用服务器。
(b9)应用服务器接收配置信息,并进行配置预加载。
具体地预加载过程可以参照前述方法实施例的介绍。
(b10)预加载完成后,应用服务器发送接收回执信息至Zookeeper服务器。
(b11)Zookeeper服务器接收上述接收回执信息,发送接收回执信息至配置中心。
在可能的实施例中,Zookeeper服务器将该接收回执信息,存储至相应应用服务器对应的独立且唯一的存储单元中。
(b12)配置中心接收该接收回执信息并显示预加载结果。
(b13)配置中心确定所有的应用服务器均预加载完成后,则发送配置更新指令至Zookeeper服务器。
此时如果显示某台应用服务器预加载失败,则由管理人员及时处理,直至确定所有应用服务器预加载成功。
(b14)Zookeeper服务器接收配置中心发送的配置更新指令,将该配置更新指令发送至各个应用服务器。
(b15)应用服务器接收到该配置更新指令后,进行配置更新。
具体地配置更新过程可以参照前述方法实施例的介绍。
(b16)配置更新完成后,应用服务器发送配置完成信息至Zookeeper服务器。
(b17)Zookeeper服务器接收各个应用服务器的配置完成信息,发送配置完成信息至配置中心。
(b18)配置中心接收Zookeeper服务器返回的配置完成信息并显示配置更新结果。
在可能的实施例中,Zookeeper服务器将该配置完成信息,存储至相应应用服务器对应的独立且唯一的存储单元中。此时如果显示某台应用服务器更新失败,则由管理人员及时处理,直至确定所有应用服务器预配置更新成功。
这样以实例的形式存储配置信息,由于每个实例名称不同,且在上下文环境中存储的内存地址不同,且每个实例均配置有时间戳信息;后期应用服务器进行配置读取时,可以直接根据实例名称和时间戳信息,从相应的存储地址读取最新生成的实例,以获取对应的配置值,从而可以避免出现并发写配置造成的内存泄露或者数据读取错误等问题。
且上述实施例中,将分布式***的配置更新过程,分为应用服务器存活检测、配置预加载及配置更新三个步骤,在确定所有应用服务器存活后,进行配置信息的发送;然后在确定所有应用服务器预加载完成后,发送配置更新指令至各个应用服务器,以使各个应用服务器同时进行配置更新,保持各个应用服务器的配置一致性。
实施例五:
参见图8,本发明实施例还提供一种电子设备100,包括:处理器40,存储器41,总线42和通信接口43,所述处理器40、通信接口43和存储器41通过总线42连接;处理器40用于执行存储器41中存储的可执行模块,例如计算机程序。
其中,存储器41可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线42可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器41用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器40中,或者由处理器40实现。
处理器40可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器40中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器40可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器40读取存储器41中的信息,结合其硬件完成上述方法的步骤。
本发明实施例提供的配置更新装置及电子设备,与上述实施例提供的配置更新方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例所提供的进行配置更新方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置及电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
附图中的流程图和框图显示了根据本发明的多个实施例方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (16)
1.一种配置更新方法,其特征在于,包括:
从Zookeeper服务器获取配置信息;
利用Java的字节码技术将所述配置信息转换为配置类;
将所述配置类加载到类加载器ClassLoader;
对所述类加载器ClassLoader加载的配置类进行实例化,得到对应的实例,其中所述实例配置有时间戳信息;
将所述实例存储于当前的上下文环境中以完成配置更新;
所述从Zookeeper服务器获取配置信息之前,还包括:
接收所述Zookeeper服务器发送的探测指令,并返回探测应答信息至所述Zookeeper服务器;
从Zookeeper服务器获取配置信息的步骤,包括:在Zookeeper服务器根据接收到的探测应答信息,确定所有的应用服务器均存活时,接收Zookeeper服务器发送的配置信息。
2.根据权利要求1所述的方法,其特征在于,还包括:
当接收到配置查询指令时,从所述上下文环境中读取当前存在的各个实例,并进行显示。
3.根据权利要求1所述的方法,其特征在于,对所述类加载器ClassLoader加载的配置类进行实例化包括:
接收所述Zookeeper服务器发送的配置更新指令;
根据所述配置更新指令,对所述类加载器ClassLoader加载的配置类进行实例化。
4.根据权利要求1所述的方法,其特征在于,所述将所述配置类加载到类加载器ClassLoader之后,还包括:
返回接收回执信息至所述Zookeeper服务器。
5.根据权利要求1所述的方法,其特征在于,所述将所述实例存储于当前的上下文环境中以完成配置更新之后,还包括:
返回配置完成信息至所述Zookeeper服务器。
6.一种配置更新装置,其特征在于,包括:
获取模块,用于从Zookeeper服务器获取配置信息;
转换模块,用于利用Java的字节码技术将所述配置信息转换为配置类;
预加载模块,用于将所述配置类加载到类加载器ClassLoader;
实例化模块,用于对所述类加载器ClassLoader加载的配置类进行实例化,得到对应的实例,其中所述实例配置有时间戳信息;
更新模块,用于将所述实例存储于当前的上下文环境中以完成配置更新;
还包括:
查询模块,用于接收所述Zookeeper服务器发送的探测指令,并返回探测应答信息至所述Zookeeper服务器;
获取模块,用于在Zookeeper服务器根据接收到的探测应答信息,确定所有的应用服务器均存活时,接收Zookeeper服务器发送的配置信息。
7.根据权利要求6所述的装置,其特征在于,还包括:
查询模块,用于当接收到配置查询指令时,从所述上下文环境中读取当前存在的各个实例,并进行显示。
8.根据权利要求6所述的装置,其特征在于,所述实例化模块还用于:
接收所述Zookeeper服务器发送的配置更新指令;
根据所述配置更新指令,对所述类加载器ClassLoader加载的配置类进行实例化。
9.根据权利要求6所述的装置,其特征在于,还包括:
回执返回模块,用于返回接收回执信息至所述Zookeeper服务器。
10.根据权利要求6所述的装置,其特征在于,还包括:
完成返回模块,用于返回配置完成信息至所述Zookeeper服务器。
11.一种配置更新***,其特征在于,包括配置中心、Zookeeper服务器以及多个应用服务器;所述配置中心连接所述Zookeeper服务器,所述Zookeeper服务器与所述多个应用服务器分别连接;
所述应用服务器包括如权利要求6至10任一项所述的装置;
配置中心,用于接收配置操作信息,并生成配置信息;所述配置操作信息包括配置创建信息、配置修改信息及配置查看信息;
Zookeeper服务器,用于从所述配置中心获取配置信息,将所述配置信息发送至各个应用服务器。
12.根据权利要求11所述的***,其特征在于,所述Zookeeper服务器还用于:
发送探测指令至所述各个应用服务器;
接收所述各个应用服务器的探测应答信息,根据所述探测应答信息,发送配置信息至所述各个应用服务器,以使所述应用服务器进行配置预加载;
接收所述各个应用服务器的接收回执信息,根据所述接收回执信息,发送配置更新指令至所述各个应用服务器,以使所述应用服务器进行配置更新。
13.根据权利要求11所述的***,其特征在于,所述Zookeeper服务器还用于:
接收所述配置中心发送的探测指令,发送该探测指令至各个应用服务器;
接收所述各个应用服务器的探测应答信息,发送所述探测应答信息至所述配置中心;
接收所述配置中心发送的配置分发指令,根据所述配置分发指令,发送配置信息至所述各个应用服务器,以使所述应用服务器进行配置预加载;
接收所述各个应用服务器的接收回执信息,发送所述接收回执信息至所述配置中心;
接收所述配置中心发送的配置更新指令,将所述配置更新指令发送至所述各个应用服务器,以使所述应用服务器进行配置更新;
接收所述各个应用服务器的配置完成信息,发送所述配置完成信息至所述配置中心。
14.根据权利要求13所述的***,其特征在于,所述配置中心还用于:
发送探测指令至所述Zookeeper服务器,并接收所述Zookeeper服务器返回的探测应答信息并显示探测结果;
发送配置分发指令至所述Zookeeper服务器,并接收所述Zookeeper服务器返回的接收回执信息并显示预加载结果;
发送配置更新指令至所述Zookeeper服务器,并接收所述Zookeeper服务器返回的配置完成信息并显示配置更新结果。
15.一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至5任一项所述的方法。
16.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811364313.XA CN109462507B (zh) | 2018-11-15 | 2018-11-15 | 配置更新方法、装置、***及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811364313.XA CN109462507B (zh) | 2018-11-15 | 2018-11-15 | 配置更新方法、装置、***及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109462507A CN109462507A (zh) | 2019-03-12 |
CN109462507B true CN109462507B (zh) | 2021-09-28 |
Family
ID=65610682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811364313.XA Active CN109462507B (zh) | 2018-11-15 | 2018-11-15 | 配置更新方法、装置、***及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109462507B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221587A (zh) * | 2019-11-14 | 2020-06-02 | 杭州安恒信息技术股份有限公司 | 配置中心的管理调度方法及装置 |
CN111443959B (zh) * | 2020-03-27 | 2023-04-25 | 北京金山云网络技术有限公司 | 任务的执行方法、装置和服务器 |
CN111597056B (zh) * | 2020-05-18 | 2023-06-30 | 北京思特奇信息技术股份有限公司 | 一种分布式调度方法、***、存储介质和设备 |
CN113627936A (zh) * | 2021-08-16 | 2021-11-09 | 中国工商银行股份有限公司 | 一种新旧密码过渡过程中的加密方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106559244A (zh) * | 2015-09-30 | 2017-04-05 | 中兴通讯股份有限公司 | 一种会话业务测试管理方法和***及管理端、测试端 |
CN106909411A (zh) * | 2015-12-23 | 2017-06-30 | ***通信集团江苏有限公司 | 一种文件更新方法及装置 |
CN107301097A (zh) * | 2016-04-14 | 2017-10-27 | 阿里巴巴集团控股有限公司 | 一种调用java对象、java对象的引用地址信息的存储方法及装置 |
CN107517259A (zh) * | 2017-08-28 | 2017-12-26 | 四川长虹电器股份有限公司 | 一种简易Web服务器实现方法 |
CN108399100A (zh) * | 2017-02-06 | 2018-08-14 | ***通信集团公司 | 一种容器资源的调整方法及装置 |
CN108804119A (zh) * | 2018-04-28 | 2018-11-13 | 北京金山云网络技术有限公司 | 配置更新方法、装置、***、配置中心、应用节点及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10171315B2 (en) * | 2016-06-29 | 2019-01-01 | International Business Machines Corporation | Orchestration process template for generation of orchestration process to tolerate errors |
-
2018
- 2018-11-15 CN CN201811364313.XA patent/CN109462507B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106559244A (zh) * | 2015-09-30 | 2017-04-05 | 中兴通讯股份有限公司 | 一种会话业务测试管理方法和***及管理端、测试端 |
CN106909411A (zh) * | 2015-12-23 | 2017-06-30 | ***通信集团江苏有限公司 | 一种文件更新方法及装置 |
CN107301097A (zh) * | 2016-04-14 | 2017-10-27 | 阿里巴巴集团控股有限公司 | 一种调用java对象、java对象的引用地址信息的存储方法及装置 |
CN108399100A (zh) * | 2017-02-06 | 2018-08-14 | ***通信集团公司 | 一种容器资源的调整方法及装置 |
CN107517259A (zh) * | 2017-08-28 | 2017-12-26 | 四川长虹电器股份有限公司 | 一种简易Web服务器实现方法 |
CN108804119A (zh) * | 2018-04-28 | 2018-11-13 | 北京金山云网络技术有限公司 | 配置更新方法、装置、***、配置中心、应用节点及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109462507A (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109462507B (zh) | 配置更新方法、装置、***及电子设备 | |
CN107196788B (zh) | 一种埋点数据的处理方法、装置、服务器及客户端 | |
US7681182B1 (en) | Including function call graphs (FCG) generated from trace analysis data within a searchable problem determination knowledge base | |
CN110096517B (zh) | 基于分布式***的缓存数据的监控方法、装置和*** | |
CN109308227B (zh) | 故障检测控制方法及相关设备 | |
CN103530199A (zh) | 一种修复软件运行错误的方法、装置及*** | |
CN111158741B (zh) | 监控业务模块对第三方类库依赖关系变化的方法及装置 | |
CN111694612A (zh) | 配置检查方法、装置、计算机***及存储介质 | |
CN108369503A (zh) | 对外部场可更换单元(fru)过程的自动***响应 | |
US10970159B1 (en) | Automated system maintenance capabilities for a computing system | |
CN107872363B (zh) | 数据包丢失的处理方法、***、可读存储介质及电子设备 | |
CN111382259A (zh) | 一种app崩溃日志的解析方法及装置 | |
JP6015750B2 (ja) | ログ収集サーバ、ログ収集システム、ログ収集方法 | |
CN115729590A (zh) | 服务部署方法、装置、设备和计算机可读存储介质 | |
CN116010244A (zh) | 自动化测试方法、装置、电子设备及存储介质 | |
CN114385458A (zh) | 一种基于事件总线模型的传感器监控的方法和装置 | |
US20160275002A1 (en) | Image capture in application lifecycle management for documentation and support | |
CN113946515A (zh) | 代码覆盖率测试方法、装置、计算机设备及存储介质 | |
CN114625594A (zh) | 配置文件生成方法、日志采集方法、装置、设备和介质 | |
CN113722236B (zh) | 游戏调试方法、装置、设备、存储介质 | |
US8825610B1 (en) | System management based on goals relevant to a current state of a managed system | |
CN116028138B (zh) | 应用发布方法及装置 | |
JP2013175079A (ja) | 分散データ管理システムおよびその動作方法 | |
CN114257652B (zh) | 一种请求报文处理方法、装置、设备及可读存储介质 | |
CN114785862B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |