CN108804119A - 配置更新方法、装置、系统、配置中心、应用节点及介质 - Google Patents
配置更新方法、装置、系统、配置中心、应用节点及介质 Download PDFInfo
- Publication number
- CN108804119A CN108804119A CN201810404959.XA CN201810404959A CN108804119A CN 108804119 A CN108804119 A CN 108804119A CN 201810404959 A CN201810404959 A CN 201810404959A CN 108804119 A CN108804119 A CN 108804119A
- Authority
- CN
- China
- Prior art keywords
- configuration parameter
- application
- node
- target configuration
- configuration
- 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
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
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种配置更新方法、装置、系统、配置中心、应用节点及介质,该方法中,配置中心获取目标配置参数的更新信息,根据更新信息,更新目标配置参数,确定监听目标配置参数的应用节点,确定监听目标配置参数的应用节点中的在线应用节点,通知在线应用节点基于更新后的目标配置参数进行在线应用节点的配置更新。本发明中,在确定监听目标配置参数的应用节点后,还从监听目标配置参数的应用节点中确定了在线应用节点,通知在线应用节点进行配置更新,相较于现有技术,由于应用节点进行配置监听,在配置更新时,配置中心只通知在线应用节点进行配置更新,而不是通知所有应用节点进行配置更新,从而提高了配置更新效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及配置更新方法、装置、系统、配置中心、应用节点及介质。
背景技术
为了满足用户的需求,每一家互联网服务商都为用户提供了多种多样的应用。应用运行时会有大量的用户向这个应用发起请求,因此,该应用需要加载一系列的配置进而响应用户的请求,其中,配置包括配置参数和配置参数值,示例性的,超时时长配置的配置参数是超时时长,配置参数值为60秒。
应用的配置一般记录在配置文件,而配置文件一般存储在应用节点中,应用节点是指部署有应用的节点。当配置更新时,应用节点将更新的配置更新到配置文件,进而实现配置的更新。然而上述方式,由于配置分散在同一个应用不同的业务子系统中,经常会出现对同一配置的更新不一致的情况,例如,订单这一业务子系统和购物车这一业务子系统都有配置货币类型的配置,购物车增加了一个新的货币类型,有可能订单中没有同步增加新的货币类型的配置,这样会造成订单和购物车对应的应用在处理涉及订单和购物车对应的货币类型的请求时,会得不到正确的处理结果,进而对应用的运行产生影响。
为了解决配置混乱零散的问题,互联网服务通过配置中心对配置进行管理,配置中心存储了应用的配置。配置中心在配置更新后,将更新的配置发送给有该配置的应用节点。应用节点停机后,将所获得的配置更新到配置文件,在应用节点重启后,完成配置的更新。在上述过程中,配置中心会将更新的配置发送给所有具有该配置的应用节点,应用节点停机对配置进行更新,这样会导致配置更新的效率比较低。
发明内容
本发明实施例的目的在于提供一种配置更新方法、装置、系统、配置中心、应用节点及计算机可读存储介质,以提高配置更新效率。具体技术方案如下:
第一方面,为了达到上述目的,本发明实施例提供了一种配置更新方法,应用于配置中心,方法包括:
获取目标配置参数的更新信息;
根据所述更新信息,更新所述目标配置参数;
确定监听所述目标配置参数的应用节点;
确定所述监听所述目标配置参数的应用节点中的在线应用节点;
通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新。
可选的,所述获取目标配置参数的更新信息的步骤,包括:
获取开发人员基于配置界面提交的针对所述目标配置参数的更新信息。
可选的,所述根据所述更新信息,更新所述目标配置参数的步骤,包括:
根据所述更新消息,更新配置参数数据库中所述目标配置参数的参数值和版本号。
可选的,在确定监听所述目标配置参数的应用节点前,所述方法还包括:
接收应用节点的目标配置参数的监听请求;
根据所述监听请求,记录所述应用节点与所述目标配置参数的监听关系;
则,所述确定监听所述目标配置参数的应用节点的步骤,包括:
根据预先记录的应用节点与配置参数的监听关系,确定与所述目标配置参数对应的应用节点,作为监听所述目标配置参数的应用节点。
可选的,所述确定所述监听所述目标配置参数的应用节点中的在线应用节点的步骤,包括:
获取所述监听所述目标配置参数的应用节点的最近心跳时间;
获取所述监听所述目标配置参数的应用节点中,所述最近心跳时间与当前时间的差值小于预设阈值的应用节点,将所述最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点。
可选的,所述通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新的步骤,包括:
向所述在线应用节点发送配置更新通知信息,以使所述在线应用节点根据所述配置更新通知消息,从配置参数数据库获得更新后的目标配置参数,并根据更新后的目标配置参数进行配置更新;
或者,
向所述在线应用节点发送配置更新通知信息,所述配置更新通知消息携带更新后的目标配置参数,以使所述在线应用节点根据所述更新后的目标配置参数进行配置更新。
可选的,
所述应用节点通过第一管理服务监听所述目标配置参数;
所述确定监听所述目标配置参数的应用节点的步骤,包括:
调用第一管理服务的监听功能接口,获取监听所述目标配置参数的应用节点清单,或者,根据预先记录的、通过所述第一管理服务监听所述目标配置参数的应用节点清单,获取监听所述目标配置参数的应用节点;
所述确定所述监听所述目标配置参数的应用节点中的在线应用节点的步骤,包括:
调用第一管理服务的心跳功能接口,获取监听所述目标配置参数的应用节点的心跳目录,从所述心跳目录中获取所述应用节点的最近心跳时间;
获取所述监听所述目标配置参数的应用节点中,所述最近心跳时间与当前时间的差值小于预设阈值的应用节点,将所述最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点;
所述通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新的步骤,包括:
更新所述在线应用节点监听的所述目标配置参数的预定目录,以使所述第一管理服务向所述在线应用节点发送预定目录更新通知,以通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新。
可选的,
所述第一管理服务为ZooKeeper,所述预定目录为版本号目录。
第二方面,为了达到上述目的,本发明实施例还提供了一种配置更新方法,应用于应用节点,方法包括:
监听目标配置参数;
接收所述监听的目标配置参数的更新通知;
根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新。
可选的,所述监听目标配置参数的步骤,包括:
向配置中心发送目标配置参数的监听请求,以使所述配置中心根据所述监听请求记录所述应用节点与所述目标配置参数的监听关系,在所述目标配置参数更新时,根据所述记录的监听关系通知所述应用节点。
可选的,在所述监听目标配置参数的步骤之后,所述方法还包括:
与所述配置中心进行心跳交互,以使所述配置中心根据所述应用中心的最近心跳时间,确定所述应用中心是否为在线应用中心。
可选的,
所述根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新的步骤,包括:
根据所述更新通知,从配置参数数据库获得更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新;
或者,
获取所述更新通知中携带的、更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新。
可选的,
所述应用节点通过第一管理服务监听所述目标配置参数;
所述监听目标配置参数包括:
向所述第一管理服务发送目标配置参数的监听请求;
在向所述第一管理服务发送目标配置参数的监听请求之后,所述方法还包括:
与所述第一管理服务进行心跳交互,以使所述第一管理服务记录所述应用中心的最近心跳时间;
所述接收所述监听的目标配置参数的更新通知的步骤,包括:
接收所述第一管理服务发送的、所述目标配置参数的预定目录更新通知;
所述根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新包括:
根据所述预定目录更新通知,从配置参数数据库获得更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新。
可选的,
所述第一管理服务为ZooKeeper,所述预定目录为版本号目录。
可选的,所述基于更新后的所述目标配置参数,以热部署的方式进行配置更新的步骤,包括:
确定所述目标配置参数对应的配置类型;
基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新。
可选的,
所述配置类型包括数据源配置类型;
所述基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新的步骤,包括:
基于更新后的所述目标配置参数,以静态static对象方式进行数据源的热部署;
和/或
所述配置类型包括应用自定义属性配置类型;
所述基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新的步骤,包括:
基于更新后的所述目标配置参数,以Javassist字节码方式进行应用自定义属性的热部署。
第三方面,为了达到上述目的,本发明实施例还提供了一种配置更新装置,应用于配置中心,装置包括:
获取模块,用于获取目标配置参数的更新信息;
更新模块,用于根据所述更新信息,更新所述目标配置参数;
应用节点确定模块,用于确定监听所述目标配置参数的应用节点;
在线应用节点确定模块,用于确定所述监听所述目标配置参数的应用节点中的在线应用节点;
通知模块,用于通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新。
可选的,所述获取模块,具体用于:
获取开发人员基于配置界面提交的针对所述目标配置参数的更新信息。
可选的,所述更新模块,具体用于:
根据所述更新消息,更新配置参数数据库中所述目标配置参数的参数值和版本号。
可选的,所述装置还包括:
接收模块,用于在确定监听所述目标配置参数的应用节点前,接收应用节点的目标配置参数的监听请求;
记录模块,用于根据所述监听请求,记录所述应用节点与所述目标配置参数的监听关系;
则,所述应用节点确定模块,具体用于:
根据预先记录的应用节点与配置参数的监听关系,确定与所述目标配置参数对应的应用节点,作为监听所述目标配置参数的应用节点。
可选的,所述在线应用节点确定模块,包括:
最近心跳时间获取单元,用于获取所述监听所述目标配置参数的应用节点的最近心跳时间;
第一确定单元,用于获取所述监听所述目标配置参数的应用节点中,所述最近心跳时间与当前时间的差值小于预设阈值的应用节点,将所述最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点。
可选的,所述通知模块,具体用于:
向所述在线应用节点发送配置更新通知信息,以使所述在线应用节点根据所述配置更新通知消息,从配置参数数据库获得更新后的目标配置参数,并根据更新后的目标配置参数进行配置更新;
或者,
向所述在线应用节点发送配置更新通知信息,所述配置更新通知消息携带更新后的目标配置参数,以使所述在线应用节点根据所述更新后的目标配置参数进行配置更新。
可选的,所述应用节点通过第一管理服务监听所述目标配置参数;
所述应用节点确定模块,具体用于:
调用第一管理服务的监听功能接口,获取监听所述目标配置参数的应用节点清单,或者,根据预先记录的、通过所述第一管理服务监听所述目标配置参数的应用节点清单,获取监听所述目标配置参数的应用节点;
所述在线应用节点确定模块,包括:
调用单元,用于调用第一管理服务的心跳功能接口,获取监听所述目标配置参数的应用节点的心跳目录,从所述心跳目录中获取所述应用节点的最近心跳时间;
第二确定单元,用于获取所述监听所述目标配置参数的应用节点中,所述最近心跳时间与当前时间的差值小于预设阈值的应用节点,将所述最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点;
所述通知模块,具体用于:
更新所述在线应用节点监听的所述目标配置参数的预定目录,以使所述第一管理服务向所述在线应用节点发送预定目录更新通知,以通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新。
可选的,所述第一管理服务为ZooKeeper,所述预定目录为版本号目录。
第四方面,为了达到上述目的,本发明实施例还提供了一种配置更新装置,应用于应用节点,装置包括:
监听模块,用于监听目标配置参数;
更新通知接收模块,用于接收所述监听的目标配置参数的更新通知;
配置更新模块,用于根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新。
可选的,所述监听模块,具体用于:
向配置中心发送目标配置参数的监听请求,以使所述配置中心根据所述监听请求记录所述应用节点与所述目标配置参数的监听关系,在所述目标配置参数更新时,根据所述记录的监听关系通知所述应用节点。
可选的,所述装置还包括:
第一交互模块,用于在所述监听目标配置参数之后,与所述配置中心进行心跳交互,以使所述配置中心根据所述应用中心的最近心跳时间,确定所述应用中心是否为在线应用中心。
可选的,所述配置更新模块,具体用于:
根据所述更新通知,从配置参数数据库获得更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新;
或者,
获取所述更新通知中携带的、更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新。
可选的,所述应用节点通过第一管理服务监听所述目标配置参数;
所述监听模块,具体用于:
向所述第一管理服务发送目标配置参数的监听请求;
所述装置还包括:
第二交互模块,用于在向所述第一管理服务发送目标配置参数的监听请求之后,与所述第一管理服务进行心跳交互,以使所述第一管理服务记录所述应用中心的最近心跳时间;
所述更新通知接收模块,具体用于:
接收所述第一管理服务发送的、所述目标配置参数的预定目录更新通知;
所述配置更新模块,具体用于:
根据所述预定目录更新通知,从配置参数数据库获得更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新。
可选的,所述第一管理服务为ZooKeeper,所述预定目录为版本号目录。
可选的,所述配置更新模块,包括:
配置类型确定单元,用于确定所述目标配置参数对应的配置类型;
更新单元,用于基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新。
可选的,
所述配置类型包括数据源配置类型;
所述配置更新模块,具体用于:
基于更新后的所述目标配置参数,以静态static对象方式进行数据源的热部署;
和/或
所述配置类型包括应用自定义属性配置类型;
所述配置更新模块,具体用于:
基于更新后的所述目标配置参数,以Javassist字节码方式进行应用自定义属性的热部署。
第五方面,为了达到上述目的,本发明实施例还提供了一种配置更新系统,包括配置中心和应用节点,所述配置中心包括主配置中心,其中,
所述主配置中心,用于获取目标配置参数的更新信息,根据所述更新信息,更新所述目标配置参数,确定监听所述目标配置参数的应用节点,确定所述监听所述目标配置参数的应用节点中的在线应用节点,发送所述目标配置参数的更新通知至所述在线应用节点;
所述应用节点,用于监听所述目标配置参数,接收所述主配置中心发送的目标配置参数的更新通知,根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新。
可选的,所述配置中心还包括至少两个备配置中心,当所述主配置中心离线时,所述至少两个备配置中心中的选定的备配置中心升级为主配置中心。
第六方面,为了达到上述目的,本发明实施例还提供了一种配置中心,包括处理器和存储器;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述应用于配置中心的任一的方法步骤。
第七方面,为了达到上述目的,本发明实施例还提供了一种应用节点,包括处理器和存储器;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述应用于应用节点任一的方法步骤。
第八方面,为了达到上述目的,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时上述应用于配置中心任一的方法步骤。
第九方面,为了达到上述目的,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时上述应用于应用节点任一的方法步骤。
本发明实施例中,获取目标配置参数的更新信息,根据更新信息,更新目标配置参数,确定监听目标配置参数的应用节点,确定监听目标配置参数的应用节点中的在线应用节点,通知在线应用节点基于更新后的目标配置参数进行在线应用节点的配置更新。本发明中,应用节点进行配置监听,在配置参数发生更新时,配置中心基于应用节点的监听,能确定出监听目标配置参数的应用节点后,还从监听目标配置参数的应用节点中确定了在线应用节点,通知在线应用节点进行配置更新,相较于现有技术,配置中心只通知在线应用节点进行配置更新,而不是通知所有应用节点进行配置更新,从而提高了配置更新效率。而且,应用中心采用热部署的方式进行配置更新,不需要停机离线更新,进一步提高了配置更新效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的配置更新方法的第一种流程示意图;
图2为本发明实施例提供的配置更新方法的第二种流程示意图;
图3为本发明实施例提供的确定监听目标配置参数的应用节点中的在线应用节点的一种流程示意图;
图4为本发明实施例提供的第一管理服务与应用节点之间的心跳机制的示意图;
图5为本发明实施例中应用节点实现监听目标配置参数的原理示意图;
图6为本发明实施例提供的配置更新方法的第三种流程示意图;
图7为本发明实施例提供的配置更新装置的第一种结构示意图;
图8为本发明实施例提供的配置中心的结构示意图;
图9为本发明实施例提供的配置更新方法的第四种流程示意图;
图10为本发明实施例提供的配置更新方法的第五种流程示意图;
图11为本发明实施例提供的基于更新后的目标配置参数,以热部署的方式进行配置更新的流程示意图;
图12为本发明实施例中数据源的配置的原理示意图;
图13为本发明实施例提供的配置更新方法的第六种流程示意图;
图14为本发明实施例提供的配置更新装置的第二种结构示意图;
图15为本发明实施例提供的应用中心的结构示意图;
图16为本发明实施例提供的配置更新系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中存在的问题,本发明实施例提供了一种配置更新方法、装置、系统、配置中心、应用节点及计算机可读存储介质。
需要说明的是,本发明实施例的应用场景中,包括配置中心以及应用节点,配置中心与应用节点通信连接,其中,配置中心主要用于存储配置,对所存储的配置进行管理,当配置更新时,通知应用节点进行配置更新,应用节点用于接收配置中心发送的配置更新通知,并基于配置更新通知进行配置更新。
下面首先对本发明提供应用于配置中心的配置更新方法进行说明。
图1为本发明实施例提供的配置更新方法的一种流程示意图,方法应用于配置中心,包括:
S101:获取目标配置参数的更新信息。
本发明实施例中,目标配置参数是指需要更新的配置参数。
为了进行配置更新,即,为了更新某配置参数,开发人员需要告知配置中心该配置参数的更新信息,即配置中心需要获取目标配置参数的更新信息。
其中,目标配置参数的更新信息可以为开发人员使用基于WEB(World Wide Web,万维网)页面的工具,在配置界面修改目标配置参数后,基于配置界面所提交的针对目标配置参数的修改信息。
使用基于WEB界面的工具对配置进行管理,实现了所见即所得的功能,开发人员从配置界面中可以直观看到所有配置的配置参数和配置参数值,能够对配置进行轻松地管理。
当开发人员在配置界面修改了目标配置参数,并提交修改信息后,此时,配置中心获取开发人员基于配置界面提交的针对目标配置参数的更新信息。
S102:根据更新信息,更新目标配置参数。
配置中心管理多个应用中心,且每个应用中心可能包含多个配置参数,这就导致配置参数的数量较多,因此,为了便于对配置参数进行管理,配置中心通常会设置有配置参数数据库,配置参数数据库中可包括配置参数、配置参数的参数值以及配置参数的版本号的对应关系。
示例性的,配置参数数据库可以如下表所示:
配置参数 | 参数值 | 版本号 |
A | 1 | V1 |
…… | …… | …… |
Z | 26 | V3 |
在获取了目标配置参数的更新信息后,说明需要对目标配置参数进行更新,此时,配置中心可以根据更新消息,更新配置参数数据库中目标配置参数的参数值和版本号。
S103:确定监听目标配置参数的应用节点。
每个应用节点可能包含多个配置参数,更新的目标配置参数并不一定是所有应用节点都需要进行更新的,因此,为了获知哪些应用节点需要进行配置更新,在更新目标配置参数后,需要确定监听目标配置参数的应用节点。
本发明实施例中,应用节点对配置参数进行监听,所谓监听,是指显式的告知配置中心,应用节点使用该配置参数,因此,当该配置参数更新时,该应用节点需要相应的更新,以保证应用节点的正常工作。
基于应用节点对于配置参数的监听,配置中心可以明确需要根据该配置参数进行配置的应用节点,即可以明确配置参数的更新需要通知给哪些应用节点,不需要全量通知,有效提升配置更新效率。
由于某一应用节点对目标配置参数进行监听,说明该应用节点需要获知该目标配置参数是否发生变化,以便于进行自身的配置更新,因此,可以通过确定监听目标配置参数的应用节点的方式来确定哪些应用节点需要进行配置更新。而且,由于应用节点所使用的配置参数中并不一定都是应用节点所需要获知其是否发生变化的配置参数,因此,应用节点可以通过监听的方式,使得配置中心获知每个应用节点所需要获知其是否发生变化的配置参数有哪些。
在本发明实施例的一种实现方式中,应用中心可以通过发送监听请求对配置参数进行监听,参见图2,在步骤S103之前,该方法还可以包括:
S103A:接收应用节点的目标配置参数的监听请求。
应用节点需要获知哪些配置参数发生变化,就会对哪些配置参数进行监听,也就是会发送目标配置参数的监听请求至配置中心,配置中心接收应用节点的目标配置参数的监听请求。
S103B:根据监听请求,记录应用节点与目标配置参数的监听关系。
配置中心在接收到应用节点发送的监听请求后,即可获知应用节点需要对目标配置参数进行监听。
由于各个应用中心所监听的配置参数可能相同也可能不同,因此,为了便于进行区分,在接收到监听请求后,需要根据监听请求,记录应用节点与目标配置参数的监听关系。
示例性的,配置中心记录应用节点与目标配置参数的监听关系的方式可以为:维护各个应用节点的监听目录。也就是说,针对于每个应用节点都对应有一个监听目录,该监听目录中记录有该应用节点所监听的配置参数。
举例而言,当某一配置参数更新时,配置中心中可修改该配置参数的监听目录,此时,当监听目录改变时,就可通知该应用节点,监听该配置参数的应用节点即可获知自身的配置参数需要进行更新,由此,每个应用节点通过监听配置参数的方式,可以达到实时获知自身的配置参数是否需要进行更新的目的。
由于各个应用中心所监听的配置参数可能发生改变,由此,配置中心通过接收监听请求,并记录应用节点与目标配置参数的监听关系的方式,达到了实时掌握应用节点所要监听的配置参数的目的。
图2中步骤S103可以包括:
根据预先记录的应用节点与配置参数的监听关系,确定与目标配置参数对应的应用节点,作为监听目标配置参数的应用节点。
在配置中心记录有应用节点与目标配置参数的监听关系的情况下,即可以根据预先记录的应用节点与配置参数的监听关系,确定与目标配置参数对应的应用节点,作为监听目标配置参数的应用节点。
由此,基于监听关系,从多个应用节点中,确定监听目标配置参数的应用节点。
S104:确定监听目标配置参数的应用节点中的在线应用节点。
由于所确定的监听目标配置参数的应用节点未必都是在线的应用节点,可能包含离线的应用节点,其中,处于离线状态的应用节点可以是在一段时间内与配置中心断开连接、未取得连接的应用节点,例如网络出现异常的应用节点,还可以是出现死机等故障的应用节点。
对于离线的应用节点来说,即使通知其进行配置更新,其可能接收不到配置中心所发送的信息,更不可能进行配置更新,浪费了配置中心的通信资源,使得配置更新的效率较低。因此,为了提高配置更新效率,在确定了监听目标配置参数的应用节点后,需要确定监听目标配置参数的应用节点中的在线应用节点。
示例性的,确定监听目标配置参数的应用节点中的在线应用节点可以为:
基于心跳机制确定在线应用节点。参见图3,步骤S104可以包括:
S1041:获取监听目标配置参数的应用节点的最近心跳时间。
为了检测各个应用节点与配置中心是否处于连接状态,每隔预设时间段应用节点与配置中心进行一次心跳交互,配置中心记录有各个应用节点的心跳目录,示例性的,该心跳目录中可以记录有每一次的心跳时间,也可以仅记录有最近一次的最近心跳时间。
由于心跳的频率较高,因此,为了减少资源占用,配置中心在接收到一次心跳后,就更新所接收到的心跳对应的应用节点的最近心跳时间。
如果心跳一直存在,说明应用节点与配置中心一直处于连接状态,因此,为了确定在线应用节点,可以获取监听目标配置参数的应用节点的最近心跳时间。
S1042:获取监听目标配置参数的应用节点中,最近心跳时间与当前时间的差值小于预设阈值的应用节点,将最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点。
针对某一应用节点,如果该应用节点的最近心跳时间与当前时间的差值小于预设阈值,说明该应用节点一直与配置中心进行心跳交互,也就是该应用节点为在线应用节点。因此,获取监听目标配置参数的应用节点中,最近心跳时间与当前时间的差值小于预设阈值的应用节点,将最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点,其中,预设阈值的大小与预设时间段的大小相同。
例如:假设应用节点包括应用节点A和应用节点B,预设阈值为五秒;
假设应用节点A的最近心跳时间为:八点一分十五秒,应用节点B的最近心跳时间为:八点一分十秒,假设当前时间为八点一分十八秒;
应用节点A的最近心跳时间与当前时间的差值为:三秒小于五秒;
应用节点B的最近心跳时间与当前时间的差值为:八秒大于五秒;
确定应用节点A为在线应用节点。
S105:通知在线应用节点基于更新后的目标配置参数进行在线应用节点的配置更新。
在确定了在线应用节点后,即可通知在线应用节点基于更新后的目标配置参数进行在线应用节点的配置更新。
由于通知在线应用节点基于更新后的目标配置参数进行在线应用节点的配置更新的方式有多种,包括但不限于以下几种:
第一种方式:
步骤S105可以包括:
向在线应用节点发送配置更新通知信息,以使在线应用节点根据配置更新通知消息,从配置参数数据库获得更新后的目标配置参数,并根据更新后的目标配置参数进行配置更新。
由于配置中心与应用中心是通信连接的,因此,可以通过发送配置更新通知信息的方式,使得在线应用节点获知需要进行配置更新。
应用节点可预先获知配置中心中配置参数数据库的地址,在接收到配置更新通知信息后,即可以从配置参数数据库获得更新后的目标配置参数,并根据更新后的目标配置参数进行配置更新。
由此,通过仅发送一个通知信息的方式,就可以使在线应用节点进行配置更新。
第二种方式:
向在线应用节点发送配置更新通知信息,配置更新通知消息携带更新后的目标配置参数,以使在线应用节点根据更新后的目标配置参数进行配置更新。
配置中心在发送配置更新通知信息至在线应用节点时,配置更新通知信息还可以携带更新后的目标配置参数,在线应用节点在接收到配置更新通知信息后,即可直接根据更新后的目标配置参数进行配置更新。
由此,通过发送携带更新后的目标配置参数的配置更新通知信息的方式,使得在线应用节点无需从配置中心获取更新后的目标配置参数进行配置更新,提高了配置更新的效率。
本发明实施例中,获取目标配置参数的更新信息,根据更新信息,更新目标配置参数,确定监听目标配置参数的应用节点,确定监听目标配置参数的应用节点中的在线应用节点,通知在线应用节点基于更新后的目标配置参数进行在线应用节点的配置更新。本发明中,在确定监听目标配置参数的应用节点后,还从监听目标配置参数的应用节点中确定了在线应用节点,通知在线应用节点进行配置更新,相较于现有技术,配置中心只通知在线应用节点进行配置更新,而不是通知所有应用节点进行配置更新,从而提高了配置更新效率。
在本发明实施例的一种实现方式中,参见图4,应用场景还可以包括第一管理服务,例如ZooKeeper等服务,该服务发挥配置中心和应用中心的纽带作用。配置中心通过第一管理服务实现两个功能:第一个功能是监听功能,第二功能为心跳功能。
下面对上述两个功能进行详细介绍:
1、监听功能是指:
ZooKeeper等服务可提供监听功能服务,即某客户端可告知ZooKeeper监听某个目录,当该目录发生变化时,ZooKeeper会主动推送消息到客户端。
第一管理服务与各个应用节点建立长连接,应用节点向第一管理服务显式声明所要监听的目标配置参数,具体的,监听该目标配置参数相关的某目录,例如,版本号目录。
第一管理服务监控版本号目录,当版本号目录中,目标配置参数对应的版本号发生变化时,第一管理服务就监听到该变化,并基于该变化封装一个事件消息发送至监听该目录的应用节点,应用节点可通过第一管理服务的目标接口服务监听这个事件,当目标接口服务更新时,就代表应用节点接收到该事件消息,即响应该事件,亦即进行配置更新。
其中,长连接是指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。即在网络稳定的情况下,双方的连接是一直存在的。在长连接状态下,只要应用节点提供需要收到消息的范围,第一管理服务就可以和应用节点之间做消息发送,其中,这个范围就是应用节点需要监听的相关目录。
示例性的,目标配置参数的变化可以为目标配置参数的预定目录的变化。当目标配置参数发生变化时,配置中心更新目标配置参数的预定目录,以使第一管理服务监控到该变化,向监听该目标配置参数的应用节点发送预定目录更新通知,以通知监听该目标配置参数的应用节点基于更新后的目标配置参数进行配置更新。
为了提高配置更新效率,当目标配置参数发生变化时,配置中心更新目标配置参数的预定目录,以使第一管理服务向在线应用节点发送预定目录更新通知,以通知在线应用节点基于更新后的目标配置参数进行在线应用节点的配置更新。其中,在线应用节点的确定过程在心跳功能中进行介绍。
应用节点在接收到事件消息并对自身进行配置更新后,应用节点对目标配置参数的监听就会失效,如果还需要继续监听该目标配置参数,则还需要重新设置,设置的过程为:应用节点与第一管理服务器建立长连接,向第一管理服务显式声明所要监听的目标配置参数。基于此,参见图5,应用节点监听目标配置参数的过程可以为:长连接到第一管理服务,监听目标配置参数(具体可以为监听某个相关目录),等待目标接口服务更新,当目标接口服务更新时,获取事件,进行配置更新,重新确定监听目标配置参数,返回执行等待目标更新的过程。
示例性的,当第一管理服务为ZooKeeper时,目标接口服务为Watcher。
由于应用节点与第一管理服务之间存在长连接,第一管理服务监听配置中心的配置参数数据库,因此,配置中心可以基于第一管理服务的监听功能,实现获取监听目标配置参数的应用节点的目的。
示例性的,配置中心获取监听目标配置参数的应用节点的过程,可以为:
调用第一管理服务的监听功能接口,获取监听目标配置参数的应用节点清单,或者,根据预先记录的、通过第一管理服务监听目标配置参数的应用节点清单,获取监听目标配置参数的应用节点。
由于应用节点向第一管理服务显式声明所要监听的目标配置参数,因此,在应用节点向第一管理服务声明所要监听的目标配置参数后,第一管理服务可以生成监听目标配置参数的应用节点清单。
当配置中心需要获取监听目标配置参数的应用节点时,配置中心可以调用第一管理服务的监听功能接口,获取监听目标配置参数的应用节点清单。
第一管理服务在生成监听目标配置参数的应用节点清单后,可以将应用节点清单发送至配置中心,配置中心记录该应用节点清单。
当配置中心需要获取监听目标配置参数的应用节点时,配置中心可以根据预先记录的、通过第一管理服务监听目标配置参数的应用节点清单,获取监听目标配置参数的应用节点。
2、心跳功能是指:
每隔预设时间段,应用节点与第一管理服务交互一次,在进行一次交互后,第一管理服务会更新该应用节点的心跳目录,其中,心跳目录中记录有最近一次的最近心跳时间。
示例性的,应用节点与第一管理服务交互的方式为发送心跳,心跳可以指心跳包,心跳包就是在客户端和服务器间定时通知对方自己状态的一个自定义的命令字;还可以指客户端与服务器约定的信息。
配置中心可以通过读取应用节点的心跳目录来判断某个应用节点当前与第一管理服务的连接状态,进一步判断某个应用节点与配置中心的连接状态,达到确定在线应用节点的目的。
示例性的,配置中心确定在线应用节点的过程可以为:
调用第一管理服务的心跳功能接口,获取监听目标配置参数的应用节点的心跳目录,从心跳目录中获取应用节点的最近心跳时间;
获取监听目标配置参数的应用节点中,最近心跳时间与当前时间的差值小于预设阈值的应用节点,将最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点。
由此,在应用节点可以通过第一管理服务监听目标配置参数的情况下,参见图6,本发明实施体提供的一种配置更新方法,应用于配置中心,该方法可以包括:
S201:获取目标配置参数的更新信息。
S202:根据更新信息,更新目标配置参数。
S203:调用第一管理服务的监听功能接口,获取监听目标配置参数的应用节点清单,或者,根据预先记录的、通过第一管理服务监听目标配置参数的应用节点清单,获取监听目标配置参数的应用节点。
S204:调用第一管理服务的心跳功能接口,获取监听目标配置参数的应用节点的心跳目录,从心跳目录中获取应用节点的最近心跳时间。
S205:获取监听目标配置参数的应用节点中,最近心跳时间与当前时间的差值小于预设阈值的应用节点,将最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点。
S206:更新在线应用节点监听的目标配置参数的预定目录,以使第一管理服务向在线应用节点发送预定目录更新通知,以通知在线应用节点基于更新后的目标配置参数进行在线应用节点的配置更新。
示例性的,第一管理服务可以为ZooKeeper,预定目录可以为版本号目录。其中,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。
由此,配置中心通过第一管理服务实现对在线应用节点的配置更新,提高了配置更新的效率。
图7为本发明实施例提供的配置更新装置的一种结构示意图,该装置应用于配置中心,可以包括:
获取模块701,用于获取目标配置参数的更新信息;
更新模块702,用于根据所述更新信息,更新所述目标配置参数;
应用节点确定模块703,用于确定监听所述目标配置参数的应用节点;
在线应用节点确定模块704,用于确定所述监听所述目标配置参数的应用节点中的在线应用节点;
通知模块705,用于通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新。
本发明实施例中,获取目标配置参数的更新信息,根据更新信息,更新目标配置参数,确定监听目标配置参数的应用节点,确定监听目标配置参数的应用节点中的在线应用节点,通知在线应用节点基于更新后的目标配置参数进行在线应用节点的配置更新。本发明中,在确定监听目标配置参数的应用节点后,还从监听目标配置参数的应用节点中确定了在线应用节点,通知在线应用节点进行配置更新,相较于现有技术,配置中心只通知在线应用节点进行配置更新,而不是通知所有应用节点进行配置更新,从而提高了配置更新效率。
在本发明的一种实现方式中,所述获取模块701,可以用于:
获取开发人员基于配置界面提交的针对所述目标配置参数的更新信息。
在本发明的一种实现方式中,所述更新模块702,用于:
根据所述更新消息,更新配置参数数据库中所述目标配置参数的参数值和版本号。
在本发明的一种实现方式中,所述装置还包括:
接收模块,用于在确定监听所述目标配置参数的应用节点前,接收应用节点的目标配置参数的监听请求;
记录模块,用于根据所述监听请求,记录所述应用节点与所述目标配置参数的监听关系;
则,所述应用节点确定模块703,可以具体用于:
根据预先记录的应用节点与配置参数的监听关系,确定与所述目标配置参数对应的应用节点,作为监听所述目标配置参数的应用节点。
在本发明的一种实现方式中,所述在线应用节点确定模块704,可以包括:
最近心跳时间获取单元,用于获取所述监听所述目标配置参数的应用节点的最近心跳时间;
第一确定单元,用于获取所述监听所述目标配置参数的应用节点中,所述最近心跳时间与当前时间的差值小于预设阈值的应用节点,将所述最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点。
在本发明的一种实现方式中,所述通知模块705,可以具体用于:
向所述在线应用节点发送配置更新通知信息,以使所述在线应用节点根据所述配置更新通知消息,从配置参数数据库获得更新后的目标配置参数,并根据更新后的目标配置参数进行配置更新;
或者,
向所述在线应用节点发送配置更新通知信息,所述配置更新通知消息携带更新后的目标配置参数,以使所述在线应用节点根据所述更新后的目标配置参数进行配置更新。
在本发明的一种实现方式中,
所述应用节点通过第一管理服务监听所述目标配置参数;
所述应用节点确定模块703,可以具体用于:
调用第一管理服务的监听功能接口,获取监听所述目标配置参数的应用节点清单,或者,根据预先记录的、通过所述第一管理服务监听所述目标配置参数的应用节点清单,获取监听所述目标配置参数的应用节点;
所述在线应用节点确定模块704,可以包括:
调用单元,用于调用第一管理服务的心跳功能接口,获取监听所述目标配置参数的应用节点的心跳目录,从所述心跳目录中获取所述应用节点的最近心跳时间;
第二确定单元,用于获取所述监听所述目标配置参数的应用节点中,所述最近心跳时间与当前时间的差值小于预设阈值的应用节点,将所述最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点;
所述通知模块705,可以具体用于:
更新所述在线应用节点监听的所述目标配置参数的预定目录,以使所述第一管理服务向所述在线应用节点发送预定目录更新通知,以通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新。
在本发明的一种实现方式中,
所述第一管理服务为ZooKeeper,所述预定目录为版本号目录。
本发明实施例还提供了一种配置中心,如图8所示,包括处理器801和存储器802,
存储器802,用于存放计算机程序;
处理器801,用于执行存储器802上所存放的程序时,实现应用于配置中心的配置更新方法,该方法包括如下步骤:
获取目标配置参数的更新信息;
根据所述更新信息,更新所述目标配置参数;
确定监听所述目标配置参数的应用节点;
确定所述监听所述目标配置参数的应用节点中的在线应用节点;
通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新。
本发明实施例中,配置中心获取目标配置参数的更新信息,根据更新信息,更新目标配置参数,确定监听目标配置参数的应用节点,确定监听目标配置参数的应用节点中的在线应用节点,通知在线应用节点基于更新后的目标配置参数进行在线应用节点的配置更新。本发明中,在确定监听目标配置参数的应用节点后,还从监听目标配置参数的应用节点中确定了在线应用节点,通知在线应用节点进行配置更新,相较于现有技术,配置中心只通知在线应用节点进行配置更新,而不是通知所有应用节点进行配置更新,从而提高了配置更新效率。
在本发明的一种实现方式中,所述获取目标配置参数的更新信息的步骤,可以包括:
获取开发人员基于配置界面提交的针对所述目标配置参数的更新信息。
在本发明的一种实现方式中,所述根据所述更新信息,更新所述目标配置参数的步骤,可以包括:
根据所述更新消息,更新配置参数数据库中所述目标配置参数的参数值和版本号。
在本发明的一种实现方式中,在确定监听所述目标配置参数的应用节点前,所述方法还可以包括:
接收应用节点的目标配置参数的监听请求;
根据所述监听请求,记录所述应用节点与所述目标配置参数的监听关系;
则,所述确定监听所述目标配置参数的应用节点的步骤,可以包括:
根据预先记录的应用节点与配置参数的监听关系,确定与所述目标配置参数对应的应用节点,作为监听所述目标配置参数的应用节点。
在本发明的一种实现方式中,所述确定所述监听所述目标配置参数的应用节点中的在线应用节点的步骤,可以包括:
获取所述监听所述目标配置参数的应用节点的最近心跳时间;
获取所述监听所述目标配置参数的应用节点中,所述最近心跳时间与当前时间的差值小于预设阈值的应用节点,将所述最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点。
在本发明的一种实现方式中,所述通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新的步骤,可以包括:
向所述在线应用节点发送配置更新通知信息,以使所述在线应用节点根据所述配置更新通知消息,从配置参数数据库获得更新后的目标配置参数,并根据更新后的目标配置参数进行配置更新;
或者,
向所述在线应用节点发送配置更新通知信息,所述配置更新通知消息携带更新后的目标配置参数,以使所述在线应用节点根据所述更新后的目标配置参数进行配置更新。
在本发明的一种实现方式中,
所述应用节点通过第一管理服务监听所述目标配置参数;
所述确定监听所述目标配置参数的应用节点的步骤,可以包括:
调用第一管理服务的监听功能接口,获取监听所述目标配置参数的应用节点清单,或者,根据预先记录的、通过所述第一管理服务监听所述目标配置参数的应用节点清单,获取监听所述目标配置参数的应用节点;
所述确定所述监听所述目标配置参数的应用节点中的在线应用节点的步骤,可以包括:
调用第一管理服务的心跳功能接口,获取监听所述目标配置参数的应用节点的心跳目录,从所述心跳目录中获取所述应用节点的最近心跳时间;
获取所述监听所述目标配置参数的应用节点中,所述最近心跳时间与当前时间的差值小于预设阈值的应用节点,将所述最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点;
所述通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新的步骤,可以包括:
更新所述在线应用节点监听的所述目标配置参数的预定目录,以使所述第一管理服务向所述在线应用节点发送预定目录更新通知,以通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新。
在本发明的一种实现方式中,
所述第一管理服务为ZooKeeper,所述预定目录为版本号目录。
上述配置中心提到的存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现应用于配置中心的配置更新方法,该方法包括如下步骤:
获取目标配置参数的更新信息;
根据所述更新信息,更新所述目标配置参数;
确定监听所述目标配置参数的应用节点;
确定所述监听所述目标配置参数的应用节点中的在线应用节点;
通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新。
本发明实施例中,计算机程序被处理器执行时获取目标配置参数的更新信息,根据更新信息,更新目标配置参数,确定监听目标配置参数的应用节点,确定监听目标配置参数的应用节点中的在线应用节点,通知在线应用节点基于更新后的目标配置参数进行在线应用节点的配置更新。本发明中,在确定监听目标配置参数的应用节点后,还从监听目标配置参数的应用节点中确定了在线应用节点,通知在线应用节点进行配置更新,相较于现有技术,配置中心只通知在线应用节点进行配置更新,而不是通知所有应用节点进行配置更新,从而提高了配置更新效率。
在本发明的一种实现方式中,所述获取目标配置参数的更新信息的步骤,可以包括:
获取开发人员基于配置界面提交的针对所述目标配置参数的更新信息。
在本发明的一种实现方式中,所述根据所述更新信息,更新所述目标配置参数的步骤,可以包括:
根据所述更新消息,更新配置参数数据库中所述目标配置参数的参数值和版本号。
在本发明的一种实现方式中,在确定监听所述目标配置参数的应用节点前,所述方法还可以包括:
接收应用节点的目标配置参数的监听请求;
根据所述监听请求,记录所述应用节点与所述目标配置参数的监听关系;
则,所述确定监听所述目标配置参数的应用节点的步骤,可以包括:
根据预先记录的应用节点与配置参数的监听关系,确定与所述目标配置参数对应的应用节点,作为监听所述目标配置参数的应用节点。
在本发明的一种实现方式中,所述确定所述监听所述目标配置参数的应用节点中的在线应用节点的步骤,可以包括:
获取所述监听所述目标配置参数的应用节点的最近心跳时间;
获取所述监听所述目标配置参数的应用节点中,所述最近心跳时间与当前时间的差值小于预设阈值的应用节点,将所述最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点。
在本发明的一种实现方式中,所述通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新的步骤,可以包括:
向所述在线应用节点发送配置更新通知信息,以使所述在线应用节点根据所述配置更新通知消息,从配置参数数据库获得更新后的目标配置参数,并根据更新后的目标配置参数进行配置更新;
或者,
向所述在线应用节点发送配置更新通知信息,所述配置更新通知消息携带更新后的目标配置参数,以使所述在线应用节点根据所述更新后的目标配置参数进行配置更新。
在本发明的一种实现方式中,
所述应用节点通过第一管理服务监听所述目标配置参数;
所述确定监听所述目标配置参数的应用节点的步骤,可以包括:
调用第一管理服务的监听功能接口,获取监听所述目标配置参数的应用节点清单,或者,根据预先记录的、通过所述第一管理服务监听所述目标配置参数的应用节点清单,获取监听所述目标配置参数的应用节点;
所述确定所述监听所述目标配置参数的应用节点中的在线应用节点的步骤,可以包括:
调用第一管理服务的心跳功能接口,获取监听所述目标配置参数的应用节点的心跳目录,从所述心跳目录中获取所述应用节点的最近心跳时间;
获取所述监听所述目标配置参数的应用节点中,所述最近心跳时间与当前时间的差值小于预设阈值的应用节点,将所述最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点;
所述通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新的步骤,可以包括:
更新所述在线应用节点监听的所述目标配置参数的预定目录,以使所述第一管理服务向所述在线应用节点发送预定目录更新通知,以通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新。
在本发明的一种实现方式中,
所述第一管理服务为ZooKeeper,所述预定目录为版本号目录。
下面对本发明提供应用于应用节点的配置更新方法进行说明。
图9为本发明实施例提供的配置更新方法的一种流程示意图,方法应用于应用节点,包括:
S301:监听目标配置参数。
一般应用节点可能包含多个配置参数,但应用节点所包含的配置参数中并不一定都是应用节点所需要获知其是否发生变化的配置参数。应用节点只会选择需要获知其是否发生变化的配置参数为目标配置参数,并通过监听的方式,获知目标配置参数是否发生改变。
示例性的,步骤S301可以包括:
向配置中心发送目标配置参数的监听请求,以使配置中心根据监听请求记录应用节点与目标配置参数的监听关系,在目标配置参数更新时,根据记录的监听关系通知应用节点。
应用节点为了获知目标配置参数是否发生变化,需要向配置中心发送目标配置参数的监听请求,配置中心在接收到应用节点发送的监听请求后,即可获知应用节点需要对目标配置参数进行监听。
由于配置中心可能接收到不同应用节点的监听请求,因此,为了便于进行区分,配置中心在接收到监听请求后,可以根据监听请求,记录应用节点与目标配置参数的监听关系,以便于在目标配置参数更新时,根据记录的监听关系通知应用节点。
由于对于离线的应用节点来说,即使配置中心通知其进行配置更新,其可能接收不到配置中心所发送的信息,更不可能进行配置更新,浪费了配置中心的通信资源,使得配置更新的效率较低。因此,为了提高配置更新效率,配置中心需要确定在线应用节点,并通知在线应用节点进行配置更新。
为了便于配置中心确定在线应用节点,参见图10,在步骤S301之后,该方法还可以包括:
S301A:与配置中心进行心跳交互,以使配置中心根据应用中心的最近心跳时间,确定应用中心是否为在线应用中心。
为了使配置中心确定哪些应用节点为在线应用节点,应用节点需要与配置中心进行心跳交互,具体的心跳交互过程可以为:每隔预设时间段应用节点与配置中心进行一次心跳交互,配置中心记录有各个应用节点的心跳目录,示例性的,该心跳目录中可以记录有每一次的心跳时间,也可以仅记录有最近一次的最近心跳时间。
在应用节点与配置中心进行心跳交互后,配置中心即可根据应用中心的最近心跳时间,确定应用中心是否为在线应用中心。具体的配置中心根据应用中心的最近心跳时间,确定应用中心是否为在线应用中心的过程可以参见图3所示方法,在此不再赘述。
S302:接收监听的目标配置参数的更新通知。
当目标配置参数发生变化后,配置中心会发送更新通知至监听目标配置参数的应用节点,应用节点接收监听的目标配置参数的更新通知。
S303:根据目标配置参数的更新通知,基于更新后的目标配置参数,以热部署的方式进行配置更新。
应用节点在接收到监听的目标配置参数的更新通知后,获知需要进行配置更新,即可根据目标配置参数的更新通知,基于更新后的目标配置参数,以热部署的方式进行配置更新。
其中,根据目标配置参数的更新通知,基于更新后的目标配置参数,以热部署的方式进行配置更新的方式有多种,包括但不限于以下几种:
第一种方式:
根据更新通知,从配置参数数据库获得更新后的目标配置参数,并基于更新后的目标配置参数,以热部署的方式进行配置更新。
由于应用节点是可以监听目标配置参数的,因此,应用节点预先获知配置中心中配置参数数据库的地址,在接收到更新通知后,即可以从配置参数数据库获得更新后的目标配置参数,并基于更新后的目标配置参数,以热部署的方式进行配置更新。
由此,通过仅接收一个通知信息的方式,就可以进行配置更新。
由于热部署的方式可以直接进行在线更新,不需要重启应用节点,配置就可以生效,因此,通过热部署的方式进行配置更新,提高了配置更新效率。
第二种方式:
获取更新通知中携带的、更新后的目标配置参数,并基于更新后的目标配置参数,以热部署的方式进行配置更新。
当更新通知中携带更新后的目标配置参数的情况下,应用节点在接收到更新通知后,可以直接获取更新通知中携带的、更新后的目标配置参数,并基于更新后的目标配置参数,以热部署的方式进行配置更新。
由此,在接收到携带更新后的目标配置参数的更新通知的情况下,可以直接进行配置更新,无需进行任何其余操作,提高了配置更新的效率。
参见图11,步骤S303可以包括:
S3031:确定目标配置参数对应的配置类型。
由于配置参数可能对应有不同的配置类型,且不同配置类型对应的热部署方式可能不同,因此,在接收到更新通知后,还需要确定目标配置参数对应的配置类型。
S3032:基于更新后的目标配置参数,以配置类型对应的热部署方式进行配置更新。
在确定了目标配置参数对应的配置类型后,即可基于更新后的目标配置参数,以所确定的配置类型对应的热部署方式进行配置更新。
其中,当配置类型包括数据源配置类型时,步骤S3032,可以包括:
基于更新后的目标配置参数,以静态static对象方式进行数据源的热部署;
当配置类型包括应用自定义属性配置类型时,步骤S3032,可以包括:
基于更新后的目标配置参数,以Javassist字节码方式进行应用自定义属性的热部署。
当配置类型包括数据源配置类型时,以静态static对象方式进行数据源的热部署,其中,静态static对象方式比较简单,相较于使用容器的方式,更灵活更安全,且正在使用的数据源并不会被替换掉。
示例性的,静态static对象方式的具体原理可以如图12所示:
假设应用1当前调用的数据源为数据源1,应用2当前调用的数据源为数据源1和数据源2,应用3当前调用的数据源为数据源3,假设将应用2数据源的配置修改为调用数据源2和数据源3,则具体过程为:
应用2减少数据源1,增加数据源3,在进行应用2的配置更新时,并不会影响应用1对数据源1的调用以及应用3对数据源3的调用,并且应用2减少数据源1与增加数据源3是立即生效的。
由于数据源中的一部分配置,例如针对索引库位置,索引表信息、分表信息,只能进行离线配置。其中,索引库信息和分表信息是整个系统的核心。如果对这一部分配置进行更新,则需要在完成数据迁移后,在配置中心做冷部署配置,然后重启应用节点完成配置更新。
例如:继续参见图12,数据源2为索引库,在运行环境下设置为索引库的数据源并不能够被删除和改变索引库位置,由于索引库不可进行热部署,则修改数据源2的属性的方式为冷部署,也就是修改完成数据源2的属性后,需要重启应用节点才能使数据源2的属性修改生效。
当配置类型包括应用自定义属性配置类型时,基于更新后的目标配置参数,以Javassist字节码方式进行应用自定义属性的热部署。其中,字节码是一种包含执行程序,由一序列op(operation code,操作码)代码/数据对组成的二进制文件,是一种中间码,是经过编译器预处理过的一种文件,是Java的执行文件存在形式。
字节码文件本身是二进制文件,但是不可以被系统直接执行,而是需要虚拟机解释执行,由于被预处理过,所以比一般的解释代码要快。Javassist是一个开源的分析、编辑和创建Java(一种可以撰写跨平台应用软件的面向对象的程序设计语言)字节码的类库。
基于更新后的目标配置参数,以Javassist字节码方式进行应用自定义属性的热部署的过程可以为:
基于更新后的目标配置参数的参数值,生成目标配置参数对应的字节码文件;
将字节码文件加载至运行环境的预设类加载器,生成更新后的目标配置参数的参数值。
以后每次应用自定义属性的调用都会使用新的字节码文件生成的更新后的配置参数。应用节点会将存储的旧的字节码文件删除,这样可以节省存储资源,但并不会将新的字节码文件从预设类加载器中删除,这样正在调用更新前的配置参数的应用节点也不会受到影响,保证应用节点的正常运行。
示例性的,预设类加载器可以为classloader加载器。
本发明实施例中,监听目标配置参数,接收监听的目标配置参数的更新通知,根据目标配置参数的更新通知,基于更新后的目标配置参数,以热部署的方式进行配置更新。本发明中,在接收到目标配置参数的更新通知后,以热部署的方式进行配置更新,不需要重启应用节点,应用节点也不需要停机更新,从而从整体上减少了配置更新所需要的时间,提高了配置更新的效率。
在本发明实施例的一种实现方式中,参见图4,应用场景还可以包括第一管理服务,配置中心通过第一管理服务实现两个功能:第一个功能是监听功能,第二功能为心跳功能。对于上述两个功能的介绍可以参见配置中心的说明,在此不再赘述。
由此,在应用节点可以通过第一管理服务监听目标配置参数的情况下,参见图13,本发明实施体提供的一种配置更新方法,应用于应用节点,该方法可以包括:
S401:向第一管理服务发送目标配置参数的监听请求。
S402:与第一管理服务进行心跳交互,以使第一管理服务记录应用中心的最近心跳时间。
S403:接收第一管理服务发送的、目标配置参数的预定目录更新通知。
S404:根据预定目录更新通知,从配置参数数据库获得更新后的目标配置参数,并根据更新后的目标配置参数进行配置更新,以热部署的方式进行配置更新。
第一管理服务与各个应用节点建立长连接,应用节点向第一管理服务发送目标配置参数的监听请求,也就是应用节点向第一管理服务显式声明所要监听的目标配置参数。
为了使配置中心确定在线应用节点,应用节点与第一管理服务进行心跳交互,以使第一管理服务记录应用中心的最近心跳时间。配置中心即可读取该最近心跳时间,获知应用节点与第一管理服务之间的连接状态,进一步判断应用节点与配置中心的连接状态,以确定该应用节点是否为在线应用节点。
示例性的,目标配置参数的变化可以为目标配置参数的预定目录的变化。当目标配置参数发生变化时,配置中心更新目标配置参数的预定目录,以使第一管理服务向监听该目标配置参数的应用节点发送预定目录更新通知,应用节点接收第一管理服务发送的、目标配置参数的预定目录更新通知,获知需要进行配置更新。
应用节点在接收第一管理服务发送的、目标配置参数的预定目录更新通知后,即可根据预定目录更新通知,从配置参数数据库获得更新后的目标配置参数,并根据更新后的目标配置参数以热部署的方式进行配置更新。
示例性的,第一管理服务可以为ZooKeeper,预定目录可以为版本号目录。其中,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。
由此,应用中心通过第一管理服务实现配置更新,提高了配置更新的效率。
图14为本发明实施例提供的配置更新装置的一种结构示意图,该装置应用于应用节点,可以包括:
监听模块1401,用于监听目标配置参数;
更新通知接收模块1402,用于接收所述监听的目标配置参数的更新通知;
配置更新模块1403,用于根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新。
本发明实施例中,监听目标配置参数,接收监听的目标配置参数的更新通知,根据目标配置参数的更新通知,基于更新后的目标配置参数,以热部署的方式进行配置更新。本发明中,在接收到目标配置参数的更新通知后,以热部署的方式进行配置更新,不需要重启应用节点,应用节点也不需要停机更新,从而从整体上减少了配置更新所需要的时间,提高了配置更新的效率。
在本发明的一种实现方式中,所述监听模块1401,可以具体用于:
向配置中心发送目标配置参数的监听请求,以使所述配置中心根据所述监听请求记录所述应用节点与所述目标配置参数的监听关系,在所述目标配置参数更新时,根据所述记录的监听关系通知所述应用节点。
在本发明的一种实现方式中,所述装置还可以包括:
第一交互模块,用于在所述监听目标配置参数之后,与所述配置中心进行心跳交互,以使所述配置中心根据所述应用中心的最近心跳时间,确定所述应用中心是否为在线应用中心。
在本发明的一种实现方式中,所述配置更新模块1403,可以具体用于:
根据所述更新通知,从配置参数数据库获得更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新;
或者,
获取所述更新通知中携带的、更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新。
在本发明的一种实现方式中,
所述应用节点通过第一管理服务监听所述目标配置参数;
所述监听模块1401,可以具体用于:
向所述第一管理服务发送目标配置参数的监听请求;
所述装置还可以包括:
第二交互模块,用于在向所述第一管理服务发送目标配置参数的监听请求之后,与所述第一管理服务进行心跳交互,以使所述第一管理服务记录所述应用中心的最近心跳时间;
所述更新通知接收模块1402,可以具体用于:
接收所述第一管理服务发送的、所述目标配置参数的预定目录更新通知;
所述配置更新模块1403,可以具体用于:
根据所述预定目录更新通知,从配置参数数据库获得更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新。
在本发明的一种实现方式中,
所述第一管理服务为ZooKeeper,所述预定目录为版本号目录。
在本发明的一种实现方式中,所述配置更新模块1403,可以包括:
配置类型确定单元,用于确定所述目标配置参数对应的配置类型;
更新单元,用于基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新。
在本发明的一种实现方式中,
所述配置类型包括数据源配置类型;
所述配置更新模块1403,可以具体用于:
基于更新后的所述目标配置参数,以静态static对象方式进行数据源的热部署;
和/或
所述配置类型包括应用自定义属性配置类型;
所述配置更新模块1403,可以具体用于:
基于更新后的所述目标配置参数,以Javassist字节码方式进行应用自定义属性的热部署。;
本发明实施例还提供了一种应用节点,如图15所示,包括处理器1501和存储器1502,
存储器1502,用于存放计算机程序;
处理器1501,用于执行存储器1502上所存放的程序时,实现应用于应用节点的配置更新方法,该方法包括如下步骤:
监听目标配置参数;
接收所述监听的目标配置参数的更新通知;
根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新。
本发明实施例中,应用节点监听目标配置参数,接收监听的目标配置参数的更新通知,根据目标配置参数的更新通知,基于更新后的目标配置参数,以热部署的方式进行配置更新。本发明中,在接收到目标配置参数的更新通知后,以热部署的方式进行配置更新,不需要重启应用节点,应用节点也不需要停机更新,从而从整体上减少了配置更新所需要的时间,提高了配置更新的效率。
在本发明的一种实现方式中,所述监听目标配置参数的步骤,可以包括:
向配置中心发送目标配置参数的监听请求,以使所述配置中心根据所述监听请求记录所述应用节点与所述目标配置参数的监听关系,在所述目标配置参数更新时,根据所述记录的监听关系通知所述应用节点。
在本发明的一种实现方式中,在所述监听目标配置参数的步骤之后,所述方法还可以包括:
与所述配置中心进行心跳交互,以使所述配置中心根据所述应用中心的最近心跳时间,确定所述应用中心是否为在线应用中心。
在本发明的一种实现方式中,
所述根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新的步骤,可以包括:
根据所述更新通知,从配置参数数据库获得更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新;
或者,
获取所述更新通知中携带的、更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新。
在本发明的一种实现方式中,
所述应用节点通过第一管理服务监听所述目标配置参数;
所述监听目标配置参数包括:
向所述第一管理服务发送目标配置参数的监听请求;
在向所述第一管理服务发送目标配置参数的监听请求之后,所述方法还包括:
与所述第一管理服务进行心跳交互,以使所述第一管理服务记录所述应用中心的最近心跳时间;
所述接收所述监听的目标配置参数的更新通知的步骤,可以包括:
接收所述第一管理服务发送的、所述目标配置参数的预定目录更新通知;
所述根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新可以包括:
根据所述预定目录更新通知,从配置参数数据库获得更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新。
在本发明的一种实现方式中,
所述第一管理服务为ZooKeeper,所述预定目录为版本号目录。
在本发明的一种实现方式中,所述基于更新后的所述目标配置参数,以热部署的方式进行配置更新的步骤,可以包括:
确定所述目标配置参数对应的配置类型;
基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新。
在本发明的一种实现方式中,
所述配置类型包括数据源配置类型;
所述基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新的步骤,可以包括:
基于更新后的所述目标配置参数,以静态static对象方式进行数据源的热部署;
和/或
所述配置类型包括应用自定义属性配置类型;
所述基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新的步骤,可以包括:
基于更新后的所述目标配置参数,以Javassist字节码方式进行应用自定义属性的热部署。
上述应用节点提到的存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现应用于应用节点的配置更新方法,该方法包括如下步骤:
监听目标配置参数;
接收所述监听的目标配置参数的更新通知;
根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新。
本发明实施例中,计算机程序被处理器执行时监听目标配置参数,接收监听的目标配置参数的更新通知,根据目标配置参数的更新通知,基于更新后的目标配置参数,以热部署的方式进行配置更新。本发明中,在接收到目标配置参数的更新通知后,以热部署的方式进行配置更新,不需要重启应用节点,应用节点也不需要停机更新,从而从整体上减少了配置更新所需要的时间,提高了配置更新的效率。
在本发明的一种实现方式中,所述监听目标配置参数的步骤,可以包括:
向配置中心发送目标配置参数的监听请求,以使所述配置中心根据所述监听请求记录所述应用节点与所述目标配置参数的监听关系,在所述目标配置参数更新时,根据所述记录的监听关系通知所述应用节点。
在本发明的一种实现方式中,在所述监听目标配置参数的步骤之后,所述方法还可以包括:
与所述配置中心进行心跳交互,以使所述配置中心根据所述应用中心的最近心跳时间,确定所述应用中心是否为在线应用中心。
在本发明的一种实现方式中,
所述根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新的步骤,可以包括:
根据所述更新通知,从配置参数数据库获得更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新;
或者,
获取所述更新通知中携带的、更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新。
在本发明的一种实现方式中,
所述应用节点通过第一管理服务监听所述目标配置参数;
所述监听目标配置参数包括:
向所述第一管理服务发送目标配置参数的监听请求;
在向所述第一管理服务发送目标配置参数的监听请求之后,所述方法还包括:
与所述第一管理服务进行心跳交互,以使所述第一管理服务记录所述应用中心的最近心跳时间;
所述接收所述监听的目标配置参数的更新通知的步骤,可以包括:
接收所述第一管理服务发送的、所述目标配置参数的预定目录更新通知;
所述根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新可以包括:
根据所述预定目录更新通知,从配置参数数据库获得更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新。
在本发明的一种实现方式中,
所述第一管理服务为ZooKeeper,所述预定目录为版本号目录。
在本发明的一种实现方式中,所述基于更新后的所述目标配置参数,以热部署的方式进行配置更新的步骤,可以包括:
确定所述目标配置参数对应的配置类型;
基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新。
在本发明的一种实现方式中,
所述配置类型包括数据源配置类型;
所述基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新的步骤,可以包括:
基于更新后的所述目标配置参数,以静态static对象方式进行数据源的热部署;
和/或
所述配置类型包括应用自定义属性配置类型;
所述基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新的步骤,可以包括:
基于更新后的所述目标配置参数,以Javassist字节码方式进行应用自定义属性的热部署。
图16为本发明实施例提供的配置更新系统的结构示意图,该系统包括配置中心1601和应用节点1602,配置中心1601包括主配置中心16011,其中,
所述主配置中心16011,用于获取目标配置参数的更新信息,根据所述更新信息,更新所述目标配置参数,确定监听所述目标配置参数的应用节点,确定所述监听所述目标配置参数的应用节点中的在线应用节点,发送所述目标配置参数的更新通知至所述在线应用节点;
所述应用节点1602,用于监听所述目标配置参数,接收所述主配置中心发送的目标配置参数的更新通知,根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新。
本发明实施例中,主配置中心获取目标配置参数的更新信息,根据所述更新信息,更新所述目标配置参数,确定监听所述目标配置参数的应用节点,确定所述监听所述目标配置参数的应用节点中的在线应用节点,发送所述目标配置参数的更新通知至所述在线应用节点,应用节点监听所述目标配置参数,接收所述主配置中心发送的目标配置参数的更新通知,根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新。相较于现有技术,主配置中心只通知在线应用节点进行配置更新,而不是通知所有应用节点进行配置更新,从而提高了配置更新效率。应用节点以热部署的方式进行配置更新,不需要重启应用节点,应用节点也不需要停机更新,从而从整体上减少了配置更新所需要的时间,提高了配置更新的效率。
在本发明的一个实施方式中,所述配置中心1601还可以包括至少两个备配置中心16012;
所述至少两个备配置中心16012,当所述主配置中心16011离线时,所述至少两个备配置中心16012中的选定的备配置中心升级为主配置中心。
在现有技术中,配置收敛后配置中心成了单点,配置中心如果宕机(离线)了,应用也会跟着出现异常或者停止服务,而在本发明实施例中,配置中心是一个集群,即使配置中心的一部分服务器宕机,也不会对应用产生影响,实现了配置中心的高可用。下面首先对本发明提供应用于配置中心的配置更新方法进行说明。
在本发明实施例中,配置中心是一个集群,在相关技术中,配置收敛后配置中心仅仅为一个单点服务器,配置中心如果宕机离线了,应用也会跟着出现异常或者停止服务。因此,为了避免这种情况的发生,在本发明实施例中,可以设置配置中心为一个集群,包括主配置中心和至少两个备配置中心。
当配置中心的主配置中心离线,则可以从至少两个备配置中心中选择一个备配置中心即指定的备配置中心升级为主配置中心,接管原有主配置中心的所有服务。即,即使配置中心的一部分服务器宕机,也不会对应用产生影响,实现了配置中心的高可用。
其中,从至少两个备配置中心中选择指定的备配置中心方式有多种,包括但不限于以下几种:
第一种方式:
根据预先设定的对应关系,从至少两个备配置中心中,查找与主配置中心对应的指定的备配置中心,其中,该指定的备配置中心可以为一个或几个备配置中心。
第二种方式:
根据预设的计算方法在至少两个备配置中心中,计算出指定的备配置中心。
由此,通过将备配置中心升级为主配置中心的方式,使得即使原有的主配置中心离线,也不会对应用产生影响,提高了配置中心的可用性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/系统/配置中心/应用节点/计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (38)
1.一种配置更新方法,其特征在于,应用于配置中心,所述方法包括:
获取目标配置参数的更新信息;
根据所述更新信息,更新所述目标配置参数;
确定监听所述目标配置参数的应用节点;
确定所述监听所述目标配置参数的应用节点中的在线应用节点;
通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新。
2.根据权利要求1所述的方法,其特征在于,所述获取目标配置参数的更新信息的步骤,包括:
获取开发人员基于配置界面提交的针对所述目标配置参数的更新信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述更新信息,更新所述目标配置参数的步骤,包括:
根据所述更新消息,更新配置参数数据库中所述目标配置参数的参数值和版本号。
4.根据权利要求1所述的方法,其特征在于,在确定监听所述目标配置参数的应用节点前,所述方法还包括:
接收应用节点的目标配置参数的监听请求;
根据所述监听请求,记录所述应用节点与所述目标配置参数的监听关系;
则,所述确定监听所述目标配置参数的应用节点的步骤,包括:
根据预先记录的应用节点与配置参数的监听关系,确定与所述目标配置参数对应的应用节点,作为监听所述目标配置参数的应用节点。
5.根据权利要求1所述的方法,其特征在于,所述确定所述监听所述目标配置参数的应用节点中的在线应用节点的步骤,包括:
获取所述监听所述目标配置参数的应用节点的最近心跳时间;
获取所述监听所述目标配置参数的应用节点中,所述最近心跳时间与当前时间的差值小于预设阈值的应用节点,将所述最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点。
6.根据权利要求1所述的方法,其特征在于,所述通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新的步骤,包括:
向所述在线应用节点发送配置更新通知信息,以使所述在线应用节点根据所述配置更新通知消息,从配置参数数据库获得更新后的目标配置参数,并根据更新后的目标配置参数进行配置更新;
或者,
向所述在线应用节点发送配置更新通知信息,所述配置更新通知消息携带更新后的目标配置参数,以使所述在线应用节点根据所述更新后的目标配置参数进行配置更新。
7.根据权利要求1所述的方法,其特征在于,
所述应用节点通过第一管理服务监听所述目标配置参数;
所述确定监听所述目标配置参数的应用节点的步骤,包括:
调用第一管理服务的监听功能接口,获取监听所述目标配置参数的应用节点清单,或者,根据预先记录的、通过所述第一管理服务监听所述目标配置参数的应用节点清单,获取监听所述目标配置参数的应用节点;
所述确定所述监听所述目标配置参数的应用节点中的在线应用节点的步骤,包括:
调用第一管理服务的心跳功能接口,获取监听所述目标配置参数的应用节点的心跳目录,从所述心跳目录中获取所述应用节点的最近心跳时间;
获取所述监听所述目标配置参数的应用节点中,所述最近心跳时间与当前时间的差值小于预设阈值的应用节点,将所述最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点;
所述通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新的步骤,包括:
更新所述在线应用节点监听的所述目标配置参数的预定目录,以使所述第一管理服务向所述在线应用节点发送预定目录更新通知,以通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新。
8.根据权利要求7所述的方法,其特征在于,
所述第一管理服务为ZooKeeper,所述预定目录为版本号目录。
9.一种配置更新装置,其特征在于,应用于配置中心,所述装置包括:
获取模块,用于获取目标配置参数的更新信息;
更新模块,用于根据所述更新信息,更新所述目标配置参数;
应用节点确定模块,用于确定监听所述目标配置参数的应用节点;
在线应用节点确定模块,用于确定所述监听所述目标配置参数的应用节点中的在线应用节点;
通知模块,用于通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新。
10.根据权利要求9所述的装置,其特征在于,所述获取模块,具体用于:
获取开发人员基于配置界面提交的针对所述目标配置参数的更新信息。
11.根据权利要求9所述的装置,其特征在于,所述更新模块,具体用于:
根据所述更新消息,更新配置参数数据库中所述目标配置参数的参数值和版本号。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
接收模块,用于在确定监听所述目标配置参数的应用节点前,接收应用节点的目标配置参数的监听请求;
记录模块,用于根据所述监听请求,记录所述应用节点与所述目标配置参数的监听关系;
则,所述应用节点确定模块,具体用于:
根据预先记录的应用节点与配置参数的监听关系,确定与所述目标配置参数对应的应用节点,作为监听所述目标配置参数的应用节点。
13.根据权利要求9所述的装置,其特征在于,所述在线应用节点确定模块,包括:
最近心跳时间获取单元,用于获取所述监听所述目标配置参数的应用节点的最近心跳时间;
第一确定单元,用于获取所述监听所述目标配置参数的应用节点中,所述最近心跳时间与当前时间的差值小于预设阈值的应用节点,将所述最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点。
14.根据权利要求9所述的装置,其特征在于,所述通知模块,具体用于:
向所述在线应用节点发送配置更新通知信息,以使所述在线应用节点根据所述配置更新通知消息,从配置参数数据库获得更新后的目标配置参数,并根据更新后的目标配置参数进行配置更新;
或者,
向所述在线应用节点发送配置更新通知信息,所述配置更新通知消息携带更新后的目标配置参数,以使所述在线应用节点根据所述更新后的目标配置参数进行配置更新。
15.根据权利要求9所述的装置,其特征在于,
所述应用节点通过第一管理服务监听所述目标配置参数;
所述应用节点确定模块,具体用于:
调用第一管理服务的监听功能接口,获取监听所述目标配置参数的应用节点清单,或者,根据预先记录的、通过所述第一管理服务监听所述目标配置参数的应用节点清单,获取监听所述目标配置参数的应用节点;
所述在线应用节点确定模块,包括:
调用单元,用于调用第一管理服务的心跳功能接口,获取监听所述目标配置参数的应用节点的心跳目录,从所述心跳目录中获取所述应用节点的最近心跳时间;
第二确定单元,用于获取所述监听所述目标配置参数的应用节点中,所述最近心跳时间与当前时间的差值小于预设阈值的应用节点,将所述最近心跳时间与当前时间的差值小于预设阈值的应用节点确定为在线应用节点;
所述通知模块,具体用于:
更新所述在线应用节点监听的所述目标配置参数的预定目录,以使所述第一管理服务向所述在线应用节点发送预定目录更新通知,以通知所述在线应用节点基于更新后的目标配置参数进行所述在线应用节点的配置更新。
16.根据权利要求15所述的装置,其特征在于,
所述第一管理服务为ZooKeeper,所述预定目录为版本号目录。
17.一种配置更新方法,其特征在于,应用于应用节点,所述方法包括:
监听目标配置参数;
接收所述监听的目标配置参数的更新通知;
根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新。
18.根据权利要求17所述的方法,其特征在于,所述监听目标配置参数的步骤,包括:
向配置中心发送目标配置参数的监听请求,以使所述配置中心根据所述监听请求记录所述应用节点与所述目标配置参数的监听关系,在所述目标配置参数更新时,根据所述记录的监听关系通知所述应用节点。
19.根据权利要求17所述的方法,其特征在于,在所述监听目标配置参数的步骤之后,所述方法还包括:
与所述配置中心进行心跳交互,以使所述配置中心根据所述应用中心的最近心跳时间,确定所述应用中心是否为在线应用中心。
20.根据权利要求17所述的方法,其特征在于,
所述根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新的步骤,包括:
根据所述更新通知,从配置参数数据库获得更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新;
或者,
获取所述更新通知中携带的、更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新。
21.根据权利要求17所述的方法,其特征在于,
所述应用节点通过第一管理服务监听所述目标配置参数;
所述监听目标配置参数包括:
向所述第一管理服务发送目标配置参数的监听请求;
在向所述第一管理服务发送目标配置参数的监听请求之后,所述方法还包括:
与所述第一管理服务进行心跳交互,以使所述第一管理服务记录所述应用中心的最近心跳时间;
所述接收所述监听的目标配置参数的更新通知的步骤,包括:
接收所述第一管理服务发送的、所述目标配置参数的预定目录更新通知;
所述根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新包括:
根据所述预定目录更新通知,从配置参数数据库获得更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新。
22.根据权利要求21所述的方法,其特征在于,
所述第一管理服务为ZooKeeper,所述预定目录为版本号目录。
23.根据权利要求17至22任一项所述的方法,其特征在于,所述基于更新后的所述目标配置参数,以热部署的方式进行配置更新的步骤,包括:
确定所述目标配置参数对应的配置类型;
基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新。
24.根据权利要求23所述的方法,其特征在于,
所述配置类型包括数据源配置类型;
所述基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新的步骤,包括:
基于更新后的所述目标配置参数,以静态static对象方式进行数据源的热部署;
和/或
所述配置类型包括应用自定义属性配置类型;
所述基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新的步骤,包括:
基于更新后的所述目标配置参数,以Javassist字节码方式进行应用自定义属性的热部署。
25.一种配置更新装置,其特征在于,应用于应用节点,所述装置包括:
监听模块,用于监听目标配置参数;
更新通知接收模块,用于接收所述监听的目标配置参数的更新通知;
配置更新模块,用于根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新。
26.根据权利要求25所述的装置,其特征在于,所述监听模块,具体用于:
向配置中心发送目标配置参数的监听请求,以使所述配置中心根据所述监听请求记录所述应用节点与所述目标配置参数的监听关系,在所述目标配置参数更新时,根据所述记录的监听关系通知所述应用节点。
27.根据权利要求25所述的装置,其特征在于,所述装置还包括:
第一交互模块,用于在所述监听目标配置参数之后,与所述配置中心进行心跳交互,以使所述配置中心根据所述应用中心的最近心跳时间,确定所述应用中心是否为在线应用中心。
28.根据权利要求25所述的装置,其特征在于,所述配置更新模块,具体用于:
根据所述更新通知,从配置参数数据库获得更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新;
或者,
获取所述更新通知中携带的、更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新。
29.根据权利要求25所述的装置,其特征在于,
所述应用节点通过第一管理服务监听所述目标配置参数;
所述监听模块,具体用于:
向所述第一管理服务发送目标配置参数的监听请求;
所述装置还包括:
第二交互模块,用于在向所述第一管理服务发送目标配置参数的监听请求之后,与所述第一管理服务进行心跳交互,以使所述第一管理服务记录所述应用中心的最近心跳时间;
所述更新通知接收模块,具体用于:
接收所述第一管理服务发送的、所述目标配置参数的预定目录更新通知;
所述配置更新模块,具体用于:
根据所述预定目录更新通知,从配置参数数据库获得更新后的目标配置参数,并基于所述更新后的目标配置参数,以热部署的方式进行配置更新。
30.根据权利要求29所述的装置,其特征在于,
所述第一管理服务为ZooKeeper,所述预定目录为版本号目录。
31.根据权利要求25至30任一项所述的装置,其特征在于,所述配置更新模块,包括:
配置类型确定单元,用于确定所述目标配置参数对应的配置类型;
更新单元,用于基于更新后的所述目标配置参数,以所述配置类型对应的热部署方式进行配置更新。
32.根据权利要求31所述的装置,其特征在于,
所述配置类型包括数据源配置类型;
所述配置更新模块,具体用于:
基于更新后的所述目标配置参数,以静态static对象方式进行数据源的热部署;
和/或
所述配置类型包括应用自定义属性配置类型;
所述配置更新模块,具体用于:
基于更新后的所述目标配置参数,以Javassist字节码方式进行应用自定义属性的热部署。
33.一种配置更新系统,其特征在于,包括配置中心和应用节点,所述配置中心包括主配置中心,其中,
所述主配置中心,用于获取目标配置参数的更新信息,根据所述更新信息,更新所述目标配置参数,确定监听所述目标配置参数的应用节点,确定所述监听所述目标配置参数的应用节点中的在线应用节点,发送所述目标配置参数的更新通知至所述在线应用节点;
所述应用节点,用于监听所述目标配置参数,接收所述主配置中心发送的目标配置参数的更新通知,根据所述目标配置参数的更新通知,基于更新后的所述目标配置参数,以热部署的方式进行配置更新。
34.根据权利要求33所述的配置更新系统,其特征在于,所述配置中心还包括至少两个备配置中心,当所述主配置中心离线时,所述至少两个备配置中心中的选定的备配置中心升级为主配置中心。
35.一种配置中心,其特征在于,包括处理器和存储器;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法步骤。
36.一种应用节点,其特征在于,包括处理器和存储器;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求17-24任一所述的方法步骤。
37.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法步骤。
38.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求17-24任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810404959.XA CN108804119A (zh) | 2018-04-28 | 2018-04-28 | 配置更新方法、装置、系统、配置中心、应用节点及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810404959.XA CN108804119A (zh) | 2018-04-28 | 2018-04-28 | 配置更新方法、装置、系统、配置中心、应用节点及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108804119A true CN108804119A (zh) | 2018-11-13 |
Family
ID=64093234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810404959.XA Pending CN108804119A (zh) | 2018-04-28 | 2018-04-28 | 配置更新方法、装置、系统、配置中心、应用节点及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108804119A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109462507A (zh) * | 2018-11-15 | 2019-03-12 | 北京金山云网络技术有限公司 | 配置更新方法、装置、系统及电子设备 |
CN109634655A (zh) * | 2018-12-10 | 2019-04-16 | 江苏满运软件科技有限公司 | 基于热部署的变量配置方法、装置、电子设备、存储介质 |
CN110493326A (zh) * | 2019-08-02 | 2019-11-22 | 泰华智慧产业集团股份有限公司 | 基于zookeeper管理集群配置文件的系统和方法 |
CN110719204A (zh) * | 2019-10-16 | 2020-01-21 | 杭州安恒信息技术股份有限公司 | 微服务配置管理方法、装置及系统 |
CN110912977A (zh) * | 2019-11-15 | 2020-03-24 | 北京浪潮数据技术有限公司 | 一种配置文件的更新方法、装置、设备及存储介质 |
CN111209032A (zh) * | 2020-01-06 | 2020-05-29 | 中国银联股份有限公司 | 灰度发布方法、配置中心服务器、用户终端、系统及介质 |
CN111857798A (zh) * | 2020-06-30 | 2020-10-30 | 厦门亿联网络技术股份有限公司 | 一种嵌入式设备配置变更通知的方法 |
CN112468349A (zh) * | 2021-01-26 | 2021-03-09 | 柏科数据技术(深圳)股份有限公司 | 适用于FT2000+平台部署Ceph的主节点 |
CN113157332A (zh) * | 2021-03-24 | 2021-07-23 | 深圳依时货拉拉科技有限公司 | 一种php动态配置自动化生效方法和系统 |
CN113326108A (zh) * | 2020-02-28 | 2021-08-31 | 北京沃东天骏信息技术有限公司 | 一种管理应用服务的方法和装置 |
CN113377397A (zh) * | 2021-05-27 | 2021-09-10 | 深圳十方融海科技有限公司 | 配置更新方法、装置、计算机设备及存储介质 |
CN114281428A (zh) * | 2021-12-28 | 2022-04-05 | 挂号网(杭州)科技有限公司 | 一种业务字典的配置方法及电子设备、存储介质 |
CN115309431A (zh) * | 2022-09-29 | 2022-11-08 | 荣耀终端有限公司 | 一种参数更新方法、可读介质和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105656653A (zh) * | 2014-11-14 | 2016-06-08 | 华为技术有限公司 | 分布式协调系统中新增节点的入网方法、装置和系统 |
CN106878053A (zh) * | 2016-12-22 | 2017-06-20 | 努比亚技术有限公司 | 一种基于zookeeper的配置更新装置及其方法 |
CN106936662A (zh) * | 2015-12-31 | 2017-07-07 | 杭州华为数字技术有限公司 | 一种实现心跳机制的方法、装置及系统 |
CN107786527A (zh) * | 2016-08-31 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 实现服务发现的方法及设备 |
-
2018
- 2018-04-28 CN CN201810404959.XA patent/CN108804119A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105656653A (zh) * | 2014-11-14 | 2016-06-08 | 华为技术有限公司 | 分布式协调系统中新增节点的入网方法、装置和系统 |
CN106936662A (zh) * | 2015-12-31 | 2017-07-07 | 杭州华为数字技术有限公司 | 一种实现心跳机制的方法、装置及系统 |
CN107786527A (zh) * | 2016-08-31 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 实现服务发现的方法及设备 |
CN106878053A (zh) * | 2016-12-22 | 2017-06-20 | 努比亚技术有限公司 | 一种基于zookeeper的配置更新装置及其方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109462507B (zh) * | 2018-11-15 | 2021-09-28 | 北京金山云网络技术有限公司 | 配置更新方法、装置、系统及电子设备 |
CN109462507A (zh) * | 2018-11-15 | 2019-03-12 | 北京金山云网络技术有限公司 | 配置更新方法、装置、系统及电子设备 |
CN109634655A (zh) * | 2018-12-10 | 2019-04-16 | 江苏满运软件科技有限公司 | 基于热部署的变量配置方法、装置、电子设备、存储介质 |
CN110493326A (zh) * | 2019-08-02 | 2019-11-22 | 泰华智慧产业集团股份有限公司 | 基于zookeeper管理集群配置文件的系统和方法 |
CN110493326B (zh) * | 2019-08-02 | 2021-11-12 | 泰华智慧产业集团股份有限公司 | 基于zookeeper管理集群配置文件的系统和方法 |
CN110719204A (zh) * | 2019-10-16 | 2020-01-21 | 杭州安恒信息技术股份有限公司 | 微服务配置管理方法、装置及系统 |
CN110719204B (zh) * | 2019-10-16 | 2022-06-07 | 杭州安恒信息技术股份有限公司 | 微服务配置管理方法、装置及系统 |
CN110912977A (zh) * | 2019-11-15 | 2020-03-24 | 北京浪潮数据技术有限公司 | 一种配置文件的更新方法、装置、设备及存储介质 |
CN111209032A (zh) * | 2020-01-06 | 2020-05-29 | 中国银联股份有限公司 | 灰度发布方法、配置中心服务器、用户终端、系统及介质 |
CN111209032B (zh) * | 2020-01-06 | 2023-06-16 | 中国银联股份有限公司 | 灰度发布方法、配置中心服务器、用户终端、系统及介质 |
CN113326108A (zh) * | 2020-02-28 | 2021-08-31 | 北京沃东天骏信息技术有限公司 | 一种管理应用服务的方法和装置 |
CN111857798A (zh) * | 2020-06-30 | 2020-10-30 | 厦门亿联网络技术股份有限公司 | 一种嵌入式设备配置变更通知的方法 |
CN111857798B (zh) * | 2020-06-30 | 2022-09-13 | 厦门亿联网络技术股份有限公司 | 一种嵌入式设备配置变更通知的方法 |
CN112468349A (zh) * | 2021-01-26 | 2021-03-09 | 柏科数据技术(深圳)股份有限公司 | 适用于FT2000+平台部署Ceph的主节点 |
CN113157332A (zh) * | 2021-03-24 | 2021-07-23 | 深圳依时货拉拉科技有限公司 | 一种php动态配置自动化生效方法和系统 |
CN113377397A (zh) * | 2021-05-27 | 2021-09-10 | 深圳十方融海科技有限公司 | 配置更新方法、装置、计算机设备及存储介质 |
CN114281428A (zh) * | 2021-12-28 | 2022-04-05 | 挂号网(杭州)科技有限公司 | 一种业务字典的配置方法及电子设备、存储介质 |
CN115309431A (zh) * | 2022-09-29 | 2022-11-08 | 荣耀终端有限公司 | 一种参数更新方法、可读介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804119A (zh) | 配置更新方法、装置、系统、配置中心、应用节点及介质 | |
US11385975B2 (en) | Systems and methods for enabling a highly available managed failover service | |
US10255102B2 (en) | Transaction control arrangement for device management system | |
US20170206229A1 (en) | Distributed and optimized garbage collection of exported data objects | |
Ozeer et al. | Resilience of stateful IoT applications in a dynamic fog environment | |
CN105141400B (zh) | 一种高可用性集群管理方法及相关设备 | |
CN108289034B (zh) | 一种故障发现方法和装置 | |
CN105721200A (zh) | 主从式服务器系统的应用方法及该系统 | |
CN110417870A (zh) | 配置文件管理方法、装置、设备和存储介质 | |
CN108038005A (zh) | 基于zookeeper的共享资源访问方法、客户端、服务端、系统 | |
CN102089749B (zh) | 用于管理关于远程安装在开放服务网关初始化服务平台中的包的绑定信息的方法和设备 | |
US20210157693A1 (en) | Systems and methods for enabling a highly available managed failover service | |
CN111064626B (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
KR20150083938A (ko) | Dds-db 연동 시스템 | |
CN114338684B (zh) | 一种能源管理系统及方法 | |
Bromuri et al. | Distributed agent environments in the ambient event calculus | |
CN109733444B (zh) | 数据库系统和列车监控管理设备 | |
CN113067897B (zh) | 跨链交互方法及装置 | |
US9934121B2 (en) | Intent-based interaction with cluster resources | |
CN112448833B (zh) | 一种多管理域的通信方法和装置 | |
Zheng et al. | A qos-aware middleware for fault tolerant web services | |
CN111414247A (zh) | 一种服务器切换方法、装置、管理节点及存储介质 | |
CN116192885A (zh) | 高可用集群架构人工智能实验云平台数据处理方法及系统 | |
CN113259119B (zh) | 区块链消息的分发方法及装置 | |
CN113259462B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181113 |