CN112153146B - 操作通知方法和装置、存储介质和电子装置 - Google Patents
操作通知方法和装置、存储介质和电子装置 Download PDFInfo
- Publication number
- CN112153146B CN112153146B CN202011027454.XA CN202011027454A CN112153146B CN 112153146 B CN112153146 B CN 112153146B CN 202011027454 A CN202011027454 A CN 202011027454A CN 112153146 B CN112153146 B CN 112153146B
- Authority
- CN
- China
- Prior art keywords
- target
- node
- message
- cloud service
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种操作通知方法和装置、存储介质和电子装置,其中,该方法包括:接收客户端发送的目标配置指令,其中,所述目标配置指令用于指示通知对目标云服务执行目标配置操作;响应所述目标配置指令,向目标数据库写入目标配置消息,其中,所述目标配置消息用于触发通知与所述目标云服务关联的目标节点对所述目标云服务执行所述目标配置操作;向所述客户端发送与所述目标配置指令对应的目标响应消息,其中,所述目标响应消息用于指示所述目标配置操作的通知结果。通过本申请,解决了相关技术中的操作通知方式存在由于通知时间随着云服务规模的增加而增加导致的用户无法及时获知操作通知结果的问题。
Description
技术领域
本申请涉及互联网领域,尤其涉及一种操作通知方法和装置、存储介质和电子装置。
背景技术
随着云服务规模的增加,单个的云服务所跨的计算节点的数量也会跟着增加。对于云服务的操作需要通知各个节点。云服务可以是VPC。
以VPC中新增一张网卡为例,如果该VPC分布在1000个计算节点上,那么,这个新增网卡的操作需要通知到这个1000个节点中;按照目前通过RabbitMQ轮询通知方式,通知时间以及配置生效时间会随着规模的增加而增加。
因此,相关技术中的操作通知方式,存在由于通知时间随着云服务规模的增加而增加导致的用户无法及时获知操作通知结果的问题。
发明内容
本申请提供了一种操作通知方法和装置、存储介质和电子装置,以至少解决相关技术中的操作通知方式存在由于通知时间随着云服务规模的增加而增加导致的用户无法及时获知操作通知结果的问题。
根据本申请实施例的一个方面,提供了一种操作通知方法,包括:接收客户端发送的目标配置指令,其中,所述目标配置指令用于指示通知对目标云服务执行目标配置操作;响应所述目标配置指令,向目标数据库写入目标配置消息,其中,所述目标配置消息用于触发通知与所述目标云服务关联的目标节点对所述目标云服务执行所述目标配置操作;向所述客户端发送与所述目标配置指令对应的目标响应消息,其中,所述目标响应消息用于指示所述目标配置操作的通知结果。
可选地,在向所述目标数据库写入所述目标配置消息之后,所述方法还包括:监听到所述目标数据库发生的目标事件,其中,所述目标事件为写入所述目标配置消息所触发的事件;向所述目标节点发送目标通知消息,其中,所述目标通知消息用于通知对所述目标云服务执行所述目标配置操作。
可选地,向所述目标数据库写入所述目标配置消息包括:在所述目标配置操作为在第一节点上对所述目标云服务执行的配置操作的情况下,向所述目标数据库写入第一配置消息,其中,所述第一配置消息用于触发通知所述第一节点在所述第一节点上对所述目标云服务执行所述目标配置操作;向所述目标数据库写入第二配置消息,其中,所述第二配置消息用于触发通知第二节点所述目标云服务在所述第一节点上被执行所述目标配置操作,所述第二节点为布设有所述目标云服务的节点。
可选地,在向所述目标数据库写入所述第一配置消息之后,所述方法还包括:监听到所述目标数据库发生的第一事件,其中,所述第一事件为写入所述第一配置消息所触发的事件,所述第一配置消息为以所述第一节点的目标节点标识作为关键字的消息;向所述第一节点发送第一通知消息,其中,所述第一通知消息用于通知在所述第一节点上对所述目标云服务执行所述目标配置操作,所述第一节点是订阅了第一监听任务的节点,所述第一监听任务用于监听所述目标数据库中以所述目标节点标识作为关键字的消息。
可选地,在向所述目标数据库写入所述第二配置消息之后,所述方法还包括:监听到所述目标数据库发生的第二事件,其中,所述第二事件为写入所述第二配置消息所触发的事件,所述第二配置消息为以所述目标云服务的目标云服务标识作为关键字的消息;向所述第二节点发送第二通知消息,其中,所述第二通知消息用于通知所述目标云服务在所述第一节点上被执行所述目标配置操作,所述第二节点是订阅了第二监听任务的节点,所述第二监听任务用于监听所述目标数据库中以所述目标云服务标识作为关键字的消息。
可选地,在向所述第一节点发送所述第一通知消息之后,所述方法还包括:在所述目标配置操作为在所述第一节点上创建所述目标云服务的第一虚拟机,且所述第一虚拟机为所述第一节点上所述目标云服务的第一台虚拟机的情况下,为所述第一节点订阅第三监听任务,其中,所述第三监听任务用于监听所述目标数据库中以所述目标云服务标识作为关键字的消息;在所述目标配置操作为在所述第一节点上删除所述目标云服务的第二虚拟机,且所述第二虚拟机为所述第一节点上所述目标云服务的最后一台虚拟机的情况下,为所述第一节点取消第四监听任务,其中,所述第四监听任务用于监听所述目标数据库中以所述目标云服务标识作为关键字的消息。
可选地,在接收所述客户端发送的所述目标配置指令之前,所述方法还包括:在代理服务器与目标数据库之间创建第一通信连接,其中,所述第一通信连接用于向所述代理服务器发送第三通知消息,所述第三通知消息用于通知对所述目标云服务执行所述目标配置操作;在所述代理服务器与所述目标节点的各个节点之间创建第二通信连接,其中,所述第一通信连接与所述第二通信连接具有关联关系,所述第二通信连接用于向所述各个节点发送第四通知消息,所述第四通知消息用于通知对所述目标云服务执行所述目标配置操作。
可选地,在接收所述客户端发送的所述目标配置指令之前,所述方法还包括:接收第三节点发送的目标监听请求,其中,所述目标监听请求用于请求监听目标版本之后以所述目标云服务的目标云服务标识作为关键字的事件变动,一次以所述目标云服务标识作为关键字的事件变动对应于一个版本;响应所述目标监听请求,启动第五监听任务,其中,所述第五监听任务用于监听所述目标版本之后以所述目标云服务标识作为关键字的事件变动。
根据本申请实施例的另一个方面,还提供了一种操作通知装置,包括:第一接收单元,用于接收客户端发送的目标配置指令,其中,所述目标配置指令用于指示通知对目标云服务执行目标配置操作;写入单元,用于响应所述目标配置指令,向目标数据库写入目标配置消息,其中,所述目标配置消息用于触发通知与所述目标云服务关联的目标节点对所述目标云服务执行所述目标配置操作;第一发送单元,用于向所述客户端发送与所述目标配置指令对应的目标响应消息,其中,所述目标响应消息用于指示所述目标配置操作的通知结果。
可选地,所述装置还包括:第一监听单元,用于在向所述目标数据库写入所述目标配置消息之后,监听到所述目标数据库发生的目标事件,其中,所述目标事件为写入所述目标配置消息所触发的事件;第二发送单元,用于向所述目标节点发送目标通知消息,其中,所述目标通知消息用于通知对所述目标云服务执行所述目标配置操作。
可选地,所述写入单元包括:第一写入单元,用于在所述目标配置操作为在第一节点上对所述目标云服务执行的配置操作的情况下,向所述目标数据库写入第一配置消息,其中,所述第一配置消息用于触发通知所述第一节点在所述第一节点上对所述目标云服务执行所述目标配置操作;第二写入单元,用于向所述目标数据库写入第二配置消息,其中,所述第二配置消息用于触发通知第二节点所述目标云服务在所述第一节点上被执行所述目标配置操作,所述第二节点为布设有所述目标云服务的节点。
可选地,所述装置还包括:第二监听单元,用于在向所述目标数据库写入所述第一配置消息之后,监听到所述目标数据库发生的第一事件,其中,所述第一事件为写入所述第一配置消息所触发的事件,所述第一配置消息为以所述第一节点的目标节点标识作为关键字的消息;第三发送单元,用于向所述第一节点发送第一通知消息,其中,所述第一通知消息用于通知在所述第一节点上对所述目标云服务执行所述目标配置操作,所述第一节点是订阅了第一监听任务的节点,所述第一监听任务用于监听所述目标数据库中以所述目标节点标识作为关键字的消息。
可选地,所述装置还包括:第三监听单元,用于在向所述目标数据库写入所述第二配置消息之后,监听到所述目标数据库发生的第二事件,其中,所述第二事件为写入所述第二配置消息所触发的事件,所述第二配置消息为以所述目标云服务的目标云服务标识作为关键字的消息;第四发送单元,用于向所述第二节点发送第二通知消息,其中,所述第二通知消息用于通知所述目标云服务在所述第一节点上被执行所述目标配置操作,所述第二节点是订阅了第二监听任务的节点,所述第二监听任务用于监听所述目标数据库中以所述目标云服务标识作为关键字的消息。
可选地,所述装置还包括:订阅单元,用于在向所述第一节点发送所述第一通知消息之后,在所述目标配置操作为在所述第一节点上创建所述目标云服务的第一虚拟机,且所述第一虚拟机为所述第一节点上所述目标云服务的第一台虚拟机的情况下,为所述第一节点订阅第三监听任务,其中,所述第三监听任务用于监听所述目标数据库中以所述目标云服务标识作为关键字的消息;取消单元,用于在所述目标配置操作为在所述第一节点上删除所述目标云服务的第二虚拟机,且所述第二虚拟机为所述第一节点上所述目标云服务的最后一台虚拟机的情况下,为所述第一节点取消第四监听任务,其中,所述第四监听任务用于监听所述目标数据库中以所述目标云服务标识作为关键字的消息。
可选地,所述装置还包括:第一创建单元,用于在接收所述客户端发送的所述目标配置指令之前,在代理服务器与目标数据库之间创建第一通信连接,其中,所述第一通信连接用于向所述代理服务器发送第三通知消息,所述第三通知消息用于通知对所述目标云服务执行所述目标配置操作;第二创建单元,用于在所述代理服务器与所述目标节点的各个节点之间创建第二通信连接,其中,所述第一通信连接与所述第二通信连接具有关联关系,所述第二通信连接用于向所述各个节点发送第四通知消息,所述第四通知消息用于通知对所述目标云服务执行所述目标配置操作。
可选地,所述装置还包括:第二接收单元,用于在接收所述客户端发送的所述目标配置指令之前,接收第三节点发送的目标监听请求,其中,所述目标监听请求用于请求监听目标版本之后以所述目标云服务的目标云服务标识作为关键字的事件变动,一次以所述目标云服务标识作为关键字的事件变动对应于一个版本;启动单元,用于响应所述目标监听请求,启动第五监听任务,其中,所述第五监听任务用于监听所述目标版本之后以所述目标云服务标识作为关键字的事件变动。
根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请实施例的又一个方面,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在本申请实施例中,采用数据库进行辅助通知的方式,通过接收客户端发送的目标配置指令,其中,目标配置指令用于指示通知对目标云服务执行目标配置操作;响应目标配置指令,向目标数据库写入目标配置消息,其中,目标配置消息用于触发通知与目标云服务关联的目标节点对目标云服务执行目标配置操作;向客户端发送与目标配置指令对应的目标响应消息,其中,目标响应消息用于指示目标配置操作的通知结果,由于接收到客户端的配置指令后,服务端只需要将消息写到目标数据库,相关计算节点就能收到该变动,而服务端在将消息写到目标数据库之后即可返回客户端通知结果,通知时间为常量,不会随着云服务规模的增加而增加,实现了缩短配置操作的通知时间的目的,达到了提高操作通知效率、提升用户获知操作通知结果的及时性的技术效果,进而解决了相关技术中的操作通知方式存在由于通知时间随着云服务规模的增加而增加导致的用户无法及时获知操作通知结果的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种可选的操作通知方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的操作通知方法的流程图;
图3是根据本申请实施例的一种可选的事务处理方法的示意图;
图4是根据本申请实施例的另一种可选的操作通知方法的流程图;
图5是根据本申请实施例的一种可选的操作通知装置的结构框图;
图6是根据本申请实施例的一种可选的电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
ETCD:一个高可用的分布式键值(key-value)数据库;
RabbitMQ:实现了AMQP消息队列协议的开源消息中间件;
SDN:SoftwareDefinedNetwork,软件定义网络;
VPC:Virtual Private Cloud,虚拟私有云;
Zookeeper:一个分布式的,开放源码的分布式应用程序协调服务。
根据本申请实施例的一个方面,提供了一种操作通知方法。可选地,在本实施例中,上述操作通知方法可以应用于如图1所示的由终端102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端102进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,还可以用于处理云服务,上述网络包括但不限于:广域网、城域网或局域网,终端102并不限定于PC、手机、平板电脑等。本申请实施例的操作通知方法可以由服务器104来执行,也可以由终端102来执行,还可以是由服务器104和终端102共同执行。其中,终端102执行本申请实施例的操作通知方法也可以是由安装在其上的客户端来执行。
以由云服务的服务端来执行本实施例中的操作通知方法为例,图2是根据本申请实施例的一种可选的操作通知方法的流程图,如图2所示,该方法的流程可以包括以下步骤:
步骤S202,接收客户端发送的目标配置指令,其中,目标配置指令用于指示通知对目标云服务执行目标配置操作;
步骤S204,响应目标配置指令,向目标数据库写入目标配置消息,其中,目标配置消息用于触发通知与目标云服务关联的目标节点对目标云服务执行目标配置操作;
步骤S206,向客户端发送与目标配置指令对应的目标响应消息,其中,目标响应消息用于指示目标配置操作的通知结果。
通过上述步骤S202至步骤S206,接收客户端发送的目标配置指令,其中,目标配置指令用于指示通知对目标云服务执行目标配置操作;响应目标配置指令,向目标数据库写入目标配置消息,其中,目标配置消息用于触发通知与目标云服务关联的目标节点对目标云服务执行目标配置操作;向客户端发送与目标配置指令对应的目标响应消息,其中,目标响应消息用于指示目标配置操作的通知结果,解决了相关技术中的操作通知方式存在由于通知时间随着云服务规模的增加而增加导致的用户无法及时获知操作通知结果的问题,提高了操作通知效率、提升了用户获知操作通知结果的及时性。
在步骤S202提供的技术方案中,接收客户端发送的目标配置指令,其中,目标配置指令用于指示通知对目标云服务执行目标配置操作。
本实施例中的操作通知方法可以应用于云服务(例如,云计算服务)跨越多个计算节点进行布设的场景,云服务可以包括但不限于:VPC。本实施例中以VPC为例进行说明,对于其他通知云服务所跨的多个计算节点与云服务相关操作的场景,本示例中的操作通知方法同样适用。
用户(目标对象,也可以是相关人员)可以通过客户端与VPC的服务端进行通信,该服务端可以用于进行VPC的调控。VPC的服务端可以与VPC所跨的多个计算节点相连,某一VPC可以跨越多个计算节点,某一个计算节点上可以分布多个VPC。本实施例中以某一VPC(目标VPC)为例说明对该VPC的操作通知方式,除了进行说明的,多个VPC的操作通知方式与目标VPC的操作通知方式相同或者类似。
用户可以控制对目标VPC(目标云服务的一种示例)执行目标配置操作,该目标配置操作可以是对目标VPC的配置信息执行的配置操作,例如,目标VPC中新增一张网卡,该目标配置操作为新增网卡的操作;该目标配置操作也可以是对目标VPC的虚拟机执行的配置操作,例如,创建目标VPC的虚拟机,删除目标VPC的虚拟机等,本实施例中对于目标配置操作不作限定。
对目标VPC执行目标配置操作可以通过目标配置指令的方式发送到服务端。服务端可以接收客户端发送的目标配置指令,该目标配置指令可以用于指示通知对目标VPC执行目标配置操作。
在步骤S204提供的技术方案中,响应目标配置指令,向目标数据库写入目标配置消息,其中,目标配置消息用于触发通知与目标云服务关联的目标节点对目标云服务执行目标配置操作。
服务端可以是zookeeper、ETCD等分布式系统中的服务端,该服务端可以作为SDN控制器(VPC为SDN的一种实现方式)。服务端中可以布设有目标数据库,或者,通过网络与目标数据库相连。
响应目标配置指令,服务端可以向目标数据库写入目标配置消息。该目标配置消息可以用来触发通知与目标VPC关联的目标节点对目标VPC执行目标配置操作。目标节点可以是目标VPC所分布在的计算节点,即,目标VPC所跨的计算节点,目标VPC所跨的计算节点的数量可以是一个或者多个。
例如,服务端可以采用watch(监听)机制,计算节点可以watch所关注的VPC。服务端只需要将消息写到目标数据库(例如,zookeeper、ETCD中的数据库),即可触发通知各相关计算节点,相关计算节点就能收到该变动。
在步骤S206提供的技术方案中,向客户端发送与目标配置指令对应的目标响应消息,其中,目标响应消息用于指示目标配置操作的通知结果。
在将目标配置消息写入到目标数据库中之后,除非目标数据库崩溃,对目标VPC执行的目标配置操作可以通知到各个相关计算节点。因此,在将目标配置消息写入到目标数据库中之后,服务端可以向客户端发送与目标配置指令对应的目标响应消息,该目标响应消息可以用来指示目标配置操作的通知结果,通知结果可以是:通知完成。
在接收到目标响应消息之后,客户端可以通过客户端的显示界面向用户显示目标配置操作的通知结果,还可以提示用户是否需要执行后续的操作等等,本实施例中对此不作限定。
在本实施例中,在将目标配置消息写入到目标数据库中之后,可以判定目标配置操作已经生成,允许按照新的配置执行后续的操作。由于由目标数据库统一保存各个配置操作的消息,各个计算节点可以通过目标数据库实现配置信息同步,且为最新版本,保证目标VPC的正常运行。
相关技术中,对于目标VPC执行的目标配置操作,通过RabbitMQ轮询通知方式,需要以轮询的方式一台一台通知目标VPC所跨的各个计算节点,在所有计算节点均完成通知之后,才会告知客户端已通知完成,通知时间以及配置生效时间会随着规模增加而增加。
例如,VPC分布在1000个计算节点,如果VPC中新增一张网卡,这个新增网卡的操作需要通知到这个1000个节点中。通过RabbitMQ轮询通知方式,需要以轮询的方式一台一台通知这1000个节点,通知和配置生效所需的时间会非常长。
在本实施例中,服务端将消息写入到目标数据库中(zookeeper,ETCD),相关计算节点就能收到该变动。服务端无需一台一台的通知各个相关计算节点,通知和配置生效所需的时间会大大缩短,可以提高配置通知以及配置生效的效率。
例如,服务端可以采用watch(监听)机制,计算节点watch所关注的VPC。服务端只需要将消息写到目标数据库(例如,zookeeper,ETCD),即可触发通知各相关计算节点,相关计算节点就能收到该变动。在将消息写到目标数据库之后即可告知客户端已通知完成,通知时间为常量,不会随着规模增加而增加。
下面结合可选示例对本实施例中的操作通知方法进行解释说明。采用zookeeperwatch机制,计算节点watch自己关注的VPC,服务端只需要将消息写到zookeeper,相关计算节点就能收到该变动。
作为一种可选的实施例,在向目标数据库写入目标配置消息之后,上述方法还包括:
S11,监听到目标数据库发生的目标事件,其中,目标事件为写入目标配置消息所触发的事件;
S12,向目标节点发送目标通知消息,其中,目标通知消息用于通知对目标云服务执行目标配置操作。
计算节点可以watch自己关注的VPC,watch可以对应于服务端的一个监听任务,该监听任务用于监听目标数据库中特定的事件,上述特定的事件可以是在目标数据库写入特定的消息触发的。
在将目标配置消息写入到目标数据库中之后,服务端可以监听到目标数据库发生了目标事件,即,写入目标配置消息所触发的事件。响应该目标事件,服务端可以生成目标通知消息,以通知对目标VPC执行了目标配置操作。
目标通知消息可以是根据目标配置消息生成的,该目标通知消息可以是在目标配置消息的基础上添加相关信息(例如,节点标识、节点地址等可以用于通信传输的信息)生成,也可以是从目标配置消息提取出特定字段、并按照提取的特定字段和预置消息格式生成的,不同的字段可以对应于预置消息格式中的不同位置。本实施例中对此不作具体限定。
通过本实施例,通过监听事件变动来触发生成通知消息,以通知关联的计算节点该事件变动,可以提高配置通知的及时性,提升配置通知的效率。
作为一种可选的实施例,向目标数据库写入目标配置消息包括:
S21,在目标配置操作为在第一节点上对目标云服务执行的配置操作的情况下,向目标数据库写入第一配置消息,其中,第一配置消息用于触发通知第一节点在第一节点上对目标云服务执行目标配置操作;
S22,向目标数据库写入第二配置消息,其中,第二配置消息用于触发通知第二节点目标云服务在第一节点上被执行目标配置操作,第二节点为布设有目标云服务的节点。
如果目标配置操作是在某一个节点上对目标VPC执行的配置操作,例如,创建了一台目标VPC的虚拟机,删除了一台目标VPC的虚拟机等,则可以向目标数据库中写入两个配置消息,第一配置消息和第二配置消息。
在写入目标配置消息之前,第一节点可能是目标VPC所跨的计算节点(计算节点上之前有目标VPC的虚拟机),也可能是新配置的计算节点(计算节点上之前没有目标VPC的虚拟机),此外,在第一节点上对目标VPC执行目标配置操作可以触发第一节点上的相关配置的改变,例如,本节点上分布的VPC的列表(VPC列表)会发生变化,每个VPC的虚拟机的数量和虚拟机的标识也可能会发生变化。
服务端可以向目标数据库写入第一配置消息,以触发通知第一节点在第一节点上对目标VPC执行目标配置操作,来保证准确通知到第一节点,并保证第一节点上相关配置的准确性。
目标VPC可以分布在多个计算节点上,除了第一节点之外,还可以包含一个或多个第二节点,即,第二节点为目标VPC所跨的计算节点,目标节点可以包含第一节点和第二节点。
为了方便通知目标VPC所跨的其他计算节点,服务端可以向目标数据库写入第二配置消息,以触发通知第二节点目标VPC在第一节点上被执行了目标配置操作,以保证配置信息通知的准确性和全面性。
通过本实施例,通过写入两个配置消息来触发通知各个计算节点,可以保证配置操作通知到各个计算节点,提高配置操作通知的准确性和全面性。
作为一种可选的实施例,在向目标数据库写入第一配置消息之后,上述方法还包括:
S31,监听到目标数据库发生的第一事件,其中,第一事件为写入第一配置消息所触发的事件,第一配置消息为以第一节点的目标节点标识作为关键字的消息;
S32,向第一节点发送第一通知消息,其中,第一通知消息用于通知在第一节点上对目标云服务执行目标配置操作,第一节点是订阅了第一监听任务的节点,第一监听任务用于监听目标数据库中以目标节点标识作为关键字的消息。
目标数据库可以是通过key-value(键-值)的方式进行数据存储的数据库。所有计算节点在启动时,可以监听(watch)自己的节点标识(例如,hostname,主机名称)为key的事件变动。对于第一节点,该第一节点可以订阅第一监听任务,第一监听任务是监听目标数据库中以目标节点标识作为关键字的消息。
第一配置消息可以是以第一节点的节点标识(例如,hostname,主机名称)作为关键字的消息,用来触发通知第一节点在第一节点上对目标VPC执行了目标配置操作。在目标数据库中写入第一配置消息之后,服务端可以监听到写入第一配置消息所触发的第一事件。在监听到第一事件之后,服务端可以向第一节点发送第一通知消息,以通知在第一节点上对目标VPC执行了目标配置操作。
例如,若计算节点hostname 1创建了一台vpc-id-1的虚拟机,服务端将创建虚拟机的消息以key为hostname1写入ETCD,以触发通知hostname1。
又例如,若计算节点hostname 1删除了一台vpc-id-1的虚拟机,服务端将删除虚拟机的消息以key为hostname1写入ETCD,以触发通知hostname1。
通过本实施例,通过监听自己的节点标识为key的事件变动,可以保证本节点配置信息通知的及时性。
作为一种可选的实施例,在向目标数据库写入第二配置消息之后,上述方法还包括:
S41,监听到目标数据库发生的第二事件,其中,第二事件为写入第二配置消息所触发的事件,第二配置消息为以目标云服务的目标云服务标识作为关键字的消息;
S42,向第二节点发送第二通知消息,其中,第二通知消息用于通知目标云服务在第一节点上被执行目标配置操作,第二节点是订阅了第二监听任务的节点,第二监听任务用于监听目标数据库中以目标云服务标识作为关键字的消息。
目标数据库可以是通过key-value方式进行数据存储的数据库。计算节点在启动之后,可以从服务端获取该计算节点上分布的VPC列表,并监听这些VPC id的事件变动,即,监听以这些VPC id为key的事件变动。对于第二节点,该节点可以订阅第二监听任务,第二监听任务是监听目标数据库中以目标VPC的VPC标识作为关键字的消息。
第二配置消息可以是以目标VPC的VPC标识(例如,vpc-id-1)作为关键字的消息,用来触发通知第二节点目标VPC在第一节点上被执行了目标配置操作。在目标数据库中写入第二配置消息之后,服务端可以监听到写入第二配置消息所触发的第二事件。在监听到第二事件之后,服务端可以向第二节点发送第二通知消息,以通知在第二节点目标VPC在第一节点上被执行了目标配置操作。
例如,若计算节点hostname 1创建了一台vpc-id-1的虚拟机,服务端可以将创建虚拟机的消息以key为vpc-id-1写入ETCD,以触发通知该VPC所跨的其他计算节点(第二节点)。
又例如,计算节点hostname 1删除了一台vpc-id-1的虚拟机,服务端将删除虚拟机的消息以key为vpc-id-1写入ETCD,以触发通知该VPC所跨的其他计算节点。
通过本实施例,通过监听以本节点上分布的VPC的标识为key的事件变动,可以保证配置信息通知的准确性和及时性。
作为一种可选的实施例,在向第一节点发送第一通知消息之后,上述方法还包括:
S51,在目标配置操作为在第一节点上创建目标云服务的第一虚拟机,且第一虚拟机为第一节点上目标云服务的第一台虚拟机的情况下,为第一节点订阅第三监听任务,其中,第三监听任务用于监听目标数据库中以目标云服务标识作为关键字的消息;
S52,在目标配置操作为在第一节点上删除目标云服务的第二虚拟机,且第二虚拟机为第一节点上目标云服务的最后一台虚拟机的情况下,为第一节点取消第四监听任务,其中,第四监听任务用于监听目标数据库中以目标云服务标识作为关键字的消息。
计算节点可以利用分布式系统(例如,ETCD)的发布订阅功能来监听分布式系统中的事件变动。监听到的事件变动可以是通过计算节点与服务端之间的通信连接(channel)进行通知。为了保证通信资源的合理使用,计算节点可以仅监听本节点上所分布的VPC的事件变动。
如果目标配置操作是在第一节点上创建目标VPC的虚拟机(第一虚拟机),而创建的虚拟机是第一节点上该目标VPC的第一台虚拟机,那么,在第一节点并未订阅目标数据库中以目标VPC标识作为关键字的事件变动。可以为第一节点订阅第三监听任务,该第三监听任务用于监听目标数据库中以目标VPC标识作为关键字的消息。
为第一节点订阅第三监听任务的方式可以是:第一节点向服务端发送监听请求,以请求监听以目标VPC标识作为关键字的事件变动(写入以目标VPC标识作为关键字的消息所触发的事件);响应该监听请求,服务端可以创建第三监听任务。
例如,对于在计算节点hostname1创建一台vpc-id-1的虚拟机的场景,若该虚拟机为此计算节点(hostname1)上vpc-id-1的第一台虚拟机,则该计算节点可以监听vpc-id-1的事件变动。
如果目标配置操作是在第一节点上删除目标VPC的虚拟机(第二虚拟机),而删除的虚拟机是第一节点上该目标VPC的最后一台虚拟机,那么,在删除第二虚拟机之前,第一节点已经订阅了目标数据库中以目标VPC标识作为关键字的事件变动。
在删除第二虚拟机之后,第一节点上已经没有了该目标VPC的虚拟机。为了提高通信资源的利用率,可以为第一节点取消第四监听任务,该第四监听任务用于监听目标数据库中以目标VPC标识作为关键字的消息。
为第一节点取消第四监听任务的方式可以是:第一节点向服务端发送取消监听请求,以请求取消监听以目标VPC标识作为关键字的事件变动(写入以目标VPC标识作为关键字的消息所触发的事件);响应该取消监听请求,服务端可以删除该第四监听任务。
例如,对于在计算节点hostname1创建一台vpc-id-1的虚拟机的场景,若该虚拟机为此计算节点(hostname1)上vpc-id-1的最后一台虚拟机,则该计算节点取消监听vpc-id-1的事件变动。
通过本实施例,通过及时订阅或取消监听以目标云服务标识作为关键字的事件变动,可以保证事件监听的及时性,同时保证通信资源利用的合理性。
作为一种可选的实施例,在接收客户端发送的目标配置指令之前,上述方法还包括:
S61,在代理服务器与目标数据库之间创建第一通信连接,其中,第一通信连接用于向代理服务器发送第三通知消息,第三通知消息用于通知对目标云服务执行目标配置操作;
S62,在代理服务器与目标节点的各个节点之间创建第二通信连接,其中,第一通信连接与第二通信连接具有关联关系,第二通信连接用于向各个节点发送第四通知消息,第四通知消息用于通知对目标云服务执行目标配置操作。
为了降低数据库集群的负载压力,可以通过代理服务器聚合监听的事件变动,例如,聚合不同计算节点相同关键字的监听任务。代理服务器和计算节点之间建立的通信连接(channel)可以用来传输代理服务器和计算节点之间的消息。
例如,对于目标节点,目标节点中的各个节点可以分别通过代理服务器向服务端发送监听请求,并建立服务端与代理服务器之间的第一通信连接(channel)和各个节点与代理服务器之间的第二通信连接(channel),第一通信连接与第二通信连接具有关联关系。
第一通信连接可以用来向代理服务器发送第三通知消息,第三通知消息可以用于通知对目标VPC执行了目标配置操作,第二通信连接可以用来向各个节点发送第四通知消息,第四通知消息可以用于通知对目标VPC执行了目标配置操作。
对于同一key,不同计算节点可以分别与代理服务器建立channel,而代理服务器与服务端可以建立一个channel,如果发生该key的事件变动,服务端可以向代理服务器发送通知消息,以通知该事件变动,代理服务器可以确定watch该key的计算节点,并通过代理服务器与各个计算节点之间的channel将通知消息转发至各个计算节点。
不同的计算节点可以在不同的时机开始监听目标数据库中以目标VPC的VPC标识作为关键字的消息。代理服务器可以对不同计算节点的监听请求进行聚合,聚合不同计算节点监听(watch)的相同key。
对于某一个计算节点,代理服务器可以接收该计算节点的监听请求,以请求监听目标数据库中一个或多个关键字的事件变动,一个或多个关键字可以包括目标VPC的VPC标识。
对于目标VPC的VPC标识,如果其他节点之间已经发送过监听请求,且已经在代理服务器和服务端之间的通信连接(第一通信连接),则代理服务器可以不再重新建立代理服务器和服务端之间的通信连接,而是将第一通信连接与该计算节点与代理服务器之间的通信连接(第二通信连接)进行关联。
下面结合可选示例对代理服务器聚合不同计算节点监听的相同关键词的方式进行解释说明。
如图3所示,服务端为ETCD的服务端,ETCD-proxy(代理服务器的一种)是ETCD的一种代理服务,可扩展,将相同key的watch聚合成一个,再watch到ETCD服务,防止大量的连接直接连到ETCD,适合VPC的场景。
在图3中,计算节点包括:vgw1,vgw2,vgw3,vgw4,其中,vgw1上分布有d1(VPCdomain 1)和d2,vgw2上分布有d1,vgw3上分布有d2和d3,vgw4上分布有d1和d2。vgw1可以watch key(关键字)为d1和d2的事件变动,vgw2可以watch key为d1的事件变动,vgw3可以watch key为d2和d3的事件变动,vgw1可以watch key为d1和d2的事件变动。
ETCD-proxy可以聚合watch的key,来降低ETCD集群负载,例如,ETCD-proxy可以聚合vgw1、vgw2和vgw4所watch的d1,聚合vgw1、vgw3和vgw4所watch的d2。
通过本实施例,通过代理服务器聚合不同计算节点所监听的关键字,可以降低数据库集群的负载,提高通信资源的利用率。
作为一种可选的实施例,在接收客户端发送的目标配置指令之前,上述方法还包括:
S71,接收第三节点发送的目标监听请求,其中,目标监听请求用于请求监听目标版本之后以目标云服务的目标云服务标识作为关键字的事件变动,一次以目标云服务标识作为关键字的事件变动对应于一个版本;
S72,响应目标监听请求,启动第五监听任务,其中,第五监听任务用于监听目标版本之后以目标云服务标识作为关键字的事件变动。
在某个节点启动时或者从异常中恢复时,可以指定某个历史版本开始监听,从而将丢失的事件弥补回来。
第三节点可以确定本节点上保存的、以目标VPC的VPC标识作为关键字的事件变动的版本(即,目标版本),一次事件变动可以对应于一个版本。第三节点可以向服务端发送目标监听请求,该目标监听请求中可以携带有目标版本的版本信息,该目标监听请求可以用于请求监听目标版本之后以目标VPC的VPC标识作为关键字的事件变动。
在接收到第三节点发送的目标监听请求之后,服务端可以启动第五监听任务,第五监听任务用于监听目标数据库中,目标版本之后以目标VPC的VPC标识作为关键字的事件变动。
通过本实施例,通过指定某个历史版本开始监听,可以将丢失的事件弥补回来,提高了计算节点上保存的配置信息的完整性。
下面结合可选示例对本申请实施例中的操作通知方法进行解释说明。在本示例中,可以使用watch方式替换MQ轮询通知,将通知时间变为常量。
可以采用zookeeper watch机制,计算节点watch自己关注的VPC,服务端只需要将消息写到zookeeper,相关计算节点就能收到该变动。通知时间为常量,不会随着规模增加而增加。
由于Zookeeper通知的channel不能复用,收到每个消息后需要重新建立channel;如果事件来得太快,zookeeper客户端处理完某个事件后还来不及重新watch,期间的事件会丢失;并且,zookeeper无法获取历史版本信息。
可选地,也可以利用ETCD的发布订阅功能,计算节点watch自己关注的VPC,服务端只需要将消息写到ETCD,相关计算节点就能收到该变动。通知时间为常量,不会随着规模增加而增加。
由于ETCD可以复用channel,可以指定历史某个版本开始监听,将丢失的事件弥补回来,并且,ETCD-proxy可以聚合watch的key,大大降低ETCD集群负载,从而解决采用zookeeper watch机制所存在的问题。
以在计算节点上创建了一台VPC的虚拟机为例,如图4所示,本示例中的操作通知方法的流程可以包括以下步骤:
步骤S402,前端指示服务端创建了一台VPC的虚拟机。
所有计算节点启动时,都会监听自己hostname为key的事件变动,还可以从服务端获取该计算节点上分布的VPC列表,并监听这些VPC id的事件变动。
如果需要在计算节点hostname1创建一台vpc-id-1的虚拟机,相关人员可以通过其终端设备(前端设备)向服务端发送配置指令,以指示在计算节点hostname1创建了一台vpc-id-1的虚拟机。
步骤S404,服务端将创建虚拟机的消息写入到ETCD,通知相关计算节点。
服务端可以将创建虚拟机的消息以key为hostname1写入ETCD,通知hostname1(第一节点)。服务端将创建虚拟机的消息以key为vpc-id-1写入ETCD,通知该VPC所跨的其他计算节点(第二节点)。
若该虚拟机为此计算节点(hostname1)上vpc-id-1的第一台虚拟机,则该计算节点监听vpc-id-1的事件变动。
此外,如果在计算节点上删除了一台VPC的虚拟机,可以采用类似的方式通知相关计算节点。若该虚拟机为此计算节点(hostname1)上vpc-id-1的最后一台虚拟机,则该计算节点取消监听vpc-id-1的事件变动。
通过本示例,使用watch方式替换MQ轮询通知,将通知时间变为常量,可以提高配置通知和配置生效的效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述操作通知方法的操作通知装置。图5是根据本申请实施例的一种可选的操作通知装置的结构框图,如图5所示,该装置可以包括:
(1)第一接收单元502,用于接收客户端发送的目标配置指令,其中,目标配置指令用于指示通知对目标云服务执行目标配置操作;
(2)写入单元504,与第一接收单元502相连,用于响应目标配置指令,向目标数据库写入目标配置消息,其中,目标配置消息用于触发通知与目标云服务关联的目标节点对目标云服务执行目标配置操作;
(3)第一发送单元506,与写入单元504相连,用于向客户端发送与目标配置指令对应的目标响应消息,其中,目标响应消息用于指示目标配置操作的通知结果。
需要说明的是,该实施例中的第一接收单元502可以用于执行上述步骤S202,该实施例中的写入单元504可以用于执行上述步骤S204,该实施例中的第一发送单元506可以用于执行上述步骤S206。
通过上述模块,接收客户端发送的目标配置指令,其中,目标配置指令用于指示通知对目标云服务执行目标配置操作;响应目标配置指令,向目标数据库写入目标配置消息,其中,目标配置消息用于触发通知与目标云服务关联的目标节点对目标云服务执行目标配置操作;向客户端发送与目标配置指令对应的目标响应消息,其中,目标响应消息用于指示目标配置操作的通知结果,解决了相关技术中的操作通知方式存在由于通知时间随着云服务规模的增加而增加导致的用户无法及时获知操作通知结果的问题,提高了操作通知效率、提升了用户获知操作通知结果的及时性。
作为一种可选的实施例,上述装置还包括:
第一监听单元,用于在向目标数据库写入目标配置消息之后,监听到目标数据库发生的目标事件,其中,目标事件为写入目标配置消息所触发的事件;
第二发送单元,用于向目标节点发送目标通知消息,其中,目标通知消息用于通知对目标云服务执行目标配置操作。
作为一种可选的实施例,写入单元504包括:
第一写入单元,用于在目标配置操作为在第一节点上对目标云服务执行的配置操作的情况下,向目标数据库写入第一配置消息,其中,第一配置消息用于触发通知第一节点在第一节点上对目标云服务执行目标配置操作;
第二写入单元,用于向目标数据库写入第二配置消息,其中,第二配置消息用于触发通知第二节点目标云服务在第一节点上被执行目标配置操作,第二节点为布设有目标云服务的节点。
作为一种可选的实施例,上述装置还包括:
第二监听单元,用于在向目标数据库写入第一配置消息之后,监听到目标数据库发生的第一事件,其中,第一事件为写入第一配置消息所触发的事件,第一配置消息为以第一节点的目标节点标识作为关键字的消息;
第三发送单元,用于向第一节点发送第一通知消息,其中,第一通知消息用于通知在第一节点上对目标云服务执行目标配置操作,第一节点是订阅了第一监听任务的节点,第一监听任务用于监听目标数据库中以目标节点标识作为关键字的消息。
作为一种可选的实施例,上述装置还包括:
第三监听单元,用于在向目标数据库写入第二配置消息之后,监听到目标数据库发生的第二事件,其中,第二事件为写入第二配置消息所触发的事件,第二配置消息为以目标云服务的目标云服务标识作为关键字的消息;
第四发送单元,用于向第二节点发送第二通知消息,其中,第二通知消息用于通知目标云服务在第一节点上被执行目标配置操作,第二节点是订阅了第二监听任务的节点,第二监听任务用于监听目标数据库中以目标云服务标识作为关键字的消息。
作为一种可选的实施例,上述装置还包括:
订阅单元,用于在向第一节点发送第一通知消息之后,在目标配置操作为在第一节点上创建目标云服务的第一虚拟机,且第一虚拟机为第一节点上目标云服务的第一台虚拟机的情况下,为第一节点订阅第三监听任务,其中,第三监听任务用于监听目标数据库中以目标云服务标识作为关键字的消息;
取消单元,用于在目标配置操作为在第一节点上删除目标云服务的第二虚拟机,且第二虚拟机为第一节点上目标云服务的最后一台虚拟机的情况下,为第一节点取消第四监听任务,其中,第四监听任务用于监听目标数据库中以目标云服务标识作为关键字的消息。
作为一种可选的实施例,上述装置还包括:
第一创建单元,用于在接收客户端发送的目标配置指令之前,在代理服务器与目标数据库之间创建第一通信连接,其中,第一通信连接用于向代理服务器发送第三通知消息,第三通知消息用于通知对目标云服务执行目标配置操作;
第二创建单元,用于在代理服务器与目标节点的各个节点之间创建第二通信连接,其中,第一通信连接与第二通信连接具有关联关系,第二通信连接用于向各个节点发送第四通知消息,第四通知消息用于通知对目标云服务执行目标配置操作。
作为一种可选的实施例,上述装置还包括:
第二接收单元,用于在接收客户端发送的目标配置指令之前,接收第三节点发送的目标监听请求,其中,目标监听请求用于请求监听目标版本之后以目标云服务的目标云服务标识作为关键字的事件变动,一次以目标云服务标识作为关键字的事件变动对应于一个版本;
启动单元,用于响应目标监听请求,启动第五监听任务,其中,第五监听任务用于监听目标版本之后以目标云服务标识作为关键字的事件变动。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的又一个方面,还提供了一种用于实施上述操作通知方法的电子装置,该电子装置可以是终端设备、服务器、或者其组合。
图6是根据本申请实施例的一种可选的电子装置的结构框图,如图6所示,该电子装置包括存储器602和处理器604,该存储器602中存储有计算机程序,该处理器604被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收客户端发送的目标配置指令,其中,目标配置指令用于指示通知对目标云服务执行目标配置操作;
S2,响应目标配置指令,向目标数据库写入目标配置消息,其中,目标配置消息用于触发通知与目标云服务关联的目标节点对目标云服务执行目标配置操作;
S3,向客户端发送与目标配置指令对应的目标响应消息,其中,目标响应消息用于指示目标配置操作的通知结果。
其中,存储器602可用于存储软件程序以及模块,如本发明实施例中的操作通知方法和装置对应的程序指令/模块,处理器604通过运行存储在存储器602内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述操作通知方法。存储器602可包括高速随机存储器,还可以包括非易失性存储器,如一个或多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器602可进一步包括相对于处理器604远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器602可以但不限于用于存储推理模型、资源数据等。
作为一种示例,如图6所示,上述存储器602中可以但不限于包括上述操作通知装置中的第一接收单元502、写入单元504、以及第一发送单元506。此外,还可以包括但不限于上述操作通知装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置606用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置606包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置606为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:连接总线608,用于连接上述电子装置中的各个模块部件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图6所示的结构仅为示意,实施上述操作通知方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图6其并不对上述电子装置的结构造成限定。例如,终端设备还可包括比图6中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图6所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
根据本申请实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行操作通知方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,接收客户端发送的目标配置指令,其中,目标配置指令用于指示通知对目标云服务执行目标配置操作;
S2,响应目标配置指令,向目标数据库写入目标配置消息,其中,目标配置消息用于触发通知与目标云服务关联的目标节点对目标云服务执行目标配置操作;
S3,向客户端发送与目标配置指令对应的目标响应消息,其中,目标响应消息用于指示目标配置操作的通知结果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种操作通知方法,其特征在于,包括:
接收客户端发送的目标配置指令,其中,所述目标配置指令用于指示通知对目标云服务执行目标配置操作;
响应所述目标配置指令,向目标数据库写入目标配置消息,其中,所述目标配置消息用于触发通知与所述目标云服务关联的目标节点对所述目标云服务执行所述目标配置操作;
向所述客户端发送与所述目标配置指令对应的目标响应消息,包括:在所述目标配置操作为在第一节点上对所述目标云服务执行的配置操作的情况下,向所述目标数据库写入第一配置消息,所述第一配置消息用于触发通知所述第一节点在所述第一节点上对所述目标云服务执行所述目标配置操作;向所述目标数据库写入第二配置消息,所述第二配置消息用于触发通知第二节点所述目标云服务在所述第一节点上被执行所述目标配置操作,所述第二节点为布设有所述目标云服务的节点,其中,所述目标响应消息用于指示所述目标配置操作的通知结果。
2.根据权利要求1所述的方法,其特征在于,在向所述目标数据库写入所述目标配置消息之后,所述方法还包括:
监听到所述目标数据库发生的目标事件,其中,所述目标事件为写入所述目标配置消息所触发的事件;
向所述目标节点发送目标通知消息,其中,所述目标通知消息用于通知对所述目标云服务执行所述目标配置操作。
3.根据权利要求1所述的方法,其特征在于,在向所述目标数据库写入所述第一配置消息之后,所述方法还包括:
监听到所述目标数据库发生的第一事件,其中,所述第一事件为写入所述第一配置消息所触发的事件,所述第一配置消息为以所述第一节点的目标节点标识作为关键字的消息;
向所述第一节点发送第一通知消息,其中,所述第一通知消息用于通知在所述第一节点上对所述目标云服务执行所述目标配置操作,所述第一节点是订阅了第一监听任务的节点,所述第一监听任务用于监听所述目标数据库中以所述目标节点标识作为关键字的消息。
4.根据权利要求1所述的方法,其特征在于,在向所述目标数据库写入所述第二配置消息之后,所述方法还包括:
监听到所述目标数据库发生的第二事件,其中,所述第二事件为写入所述第二配置消息所触发的事件,所述第二配置消息为以所述目标云服务的目标云服务标识作为关键字的消息;
向所述第二节点发送第二通知消息,其中,所述第二通知消息用于通知所述目标云服务在所述第一节点上被执行所述目标配置操作,所述第二节点是订阅了第二监听任务的节点,所述第二监听任务用于监听所述目标数据库中以所述目标云服务标识作为关键字的消息。
5.根据权利要求3所述的方法,其特征在于,在向所述第一节点发送所述第一通知消息之后,所述方法还包括:
在所述目标配置操作为在所述第一节点上创建所述目标云服务的第一虚拟机,且所述第一虚拟机为所述第一节点上所述目标云服务的第一台虚拟机的情况下,为所述第一节点订阅第三监听任务,其中,所述第三监听任务用于监听所述目标数据库中以所述目标云服务标识作为关键字的消息;
在所述目标配置操作为在所述第一节点上删除所述目标云服务的第二虚拟机,且所述第二虚拟机为所述第一节点上所述目标云服务的最后一台虚拟机的情况下,为所述第一节点取消第四监听任务,其中,所述第四监听任务用于监听所述目标数据库中以所述目标云服务标识作为关键字的消息。
6.根据权利要求1所述的方法,其特征在于,在接收所述客户端发送的所述目标配置指令之前,所述方法还包括:
在代理服务器与目标数据库之间创建第一通信连接,其中,所述第一通信连接用于向所述代理服务器发送第三通知消息,所述第三通知消息用于通知对所述目标云服务执行所述目标配置操作;
在所述代理服务器与所述目标节点的各个节点之间创建第二通信连接,其中,所述第一通信连接与所述第二通信连接具有关联关系,所述第二通信连接用于向所述各个节点发送第四通知消息,所述第四通知消息用于通知对所述目标云服务执行所述目标配置操作。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在接收所述客户端发送的所述目标配置指令之前,所述方法还包括:
接收第三节点发送的目标监听请求,其中,所述目标监听请求用于请求监听目标版本之后以所述目标云服务的目标云服务标识作为关键字的事件变动,一次以所述目标云服务标识作为关键字的事件变动对应于一个版本;
响应所述目标监听请求,启动第五监听任务,其中,所述第五监听任务用于监听所述目标版本之后以所述目标云服务标识作为关键字的事件变动。
8.一种操作通知装置,其特征在于,包括:
第一接收单元,用于接收客户端发送的目标配置指令,其中,所述目标配置指令用于指示通知对目标云服务执行目标配置操作;
写入单元,用于响应所述目标配置指令,向目标数据库写入目标配置消息,其中,所述目标配置消息用于触发通知与所述目标云服务关联的目标节点对所述目标云服务执行所述目标配置操作;
第一发送单元,用于向所述客户端发送与所述目标配置指令对应的目标响应消息:在所述目标配置操作为在第一节点上对所述目标云服务执行的配置操作的情况下,向所述目标数据库写入第一配置消息,所述第一配置消息用于触发通知所述第一节点在所述第一节点上对所述目标云服务执行所述目标配置操作;向所述目标数据库写入第二配置消息,所述第二配置消息用于触发通知第二节点所述目标云服务在所述第一节点上被执行所述目标配置操作,所述第二节点为布设有所述目标云服务的节点,其中,所述目标响应消息用于指示所述目标配置操作的通知结果。
9.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至7中任一项中所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011027454.XA CN112153146B (zh) | 2020-09-25 | 2020-09-25 | 操作通知方法和装置、存储介质和电子装置 |
PCT/CN2021/110032 WO2022062661A1 (zh) | 2020-09-25 | 2021-08-02 | 操作通知方法和装置、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011027454.XA CN112153146B (zh) | 2020-09-25 | 2020-09-25 | 操作通知方法和装置、存储介质和电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112153146A CN112153146A (zh) | 2020-12-29 |
CN112153146B true CN112153146B (zh) | 2022-08-16 |
Family
ID=73897514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011027454.XA Active CN112153146B (zh) | 2020-09-25 | 2020-09-25 | 操作通知方法和装置、存储介质和电子装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112153146B (zh) |
WO (1) | WO2022062661A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153146B (zh) * | 2020-09-25 | 2022-08-16 | 北京金山云网络技术有限公司 | 操作通知方法和装置、存储介质和电子装置 |
CN113452592B (zh) * | 2021-06-09 | 2022-02-25 | 北京奥星贝斯科技有限公司 | 混合云架构下的跨云数据访问方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666493A (zh) * | 2016-07-27 | 2018-02-06 | 腾讯科技(深圳)有限公司 | 一种数据库配置方法及其设备 |
CN108449410A (zh) * | 2018-03-19 | 2018-08-24 | 深信服科技股份有限公司 | 一种云平台中消息管理方法、系统及相关装置 |
CN110300050A (zh) * | 2019-05-23 | 2019-10-01 | 中国平安人寿保险股份有限公司 | 消息推送方法、装置、计算机设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105872038A (zh) * | 2016-03-28 | 2016-08-17 | 汉柏科技有限公司 | 云桌面系统的高并发处理方法及装置 |
US10606660B1 (en) * | 2016-04-29 | 2020-03-31 | Architecture Technology Corporation | Planned cloud resource management |
US10212029B2 (en) * | 2016-06-15 | 2019-02-19 | Microsoft Technology Licensing, Llc | Service provisioning in cloud computing systems |
CN106603281A (zh) * | 2016-12-07 | 2017-04-26 | 乐视控股(北京)有限公司 | 配置文件管理方法及系统 |
CN108322490B (zh) * | 2017-01-17 | 2021-08-27 | 阿里巴巴集团控股有限公司 | 虚拟机配置及部署分布式云服务系统的方法、装置和服务器 |
WO2019109274A1 (zh) * | 2017-12-06 | 2019-06-13 | 深圳达闼科技控股有限公司 | 云服务配置方法、装置、存储介质及云服务系统 |
CN108494598A (zh) * | 2018-03-27 | 2018-09-04 | 北京邦邦共赢网络科技有限公司 | 一种应用服务的配置方法和装置 |
CN111314131A (zh) * | 2020-02-13 | 2020-06-19 | 北京奇艺世纪科技有限公司 | 任务下发方法和装置、存储介质和电子装置 |
CN112153146B (zh) * | 2020-09-25 | 2022-08-16 | 北京金山云网络技术有限公司 | 操作通知方法和装置、存储介质和电子装置 |
-
2020
- 2020-09-25 CN CN202011027454.XA patent/CN112153146B/zh active Active
-
2021
- 2021-08-02 WO PCT/CN2021/110032 patent/WO2022062661A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666493A (zh) * | 2016-07-27 | 2018-02-06 | 腾讯科技(深圳)有限公司 | 一种数据库配置方法及其设备 |
CN108449410A (zh) * | 2018-03-19 | 2018-08-24 | 深信服科技股份有限公司 | 一种云平台中消息管理方法、系统及相关装置 |
CN110300050A (zh) * | 2019-05-23 | 2019-10-01 | 中国平安人寿保险股份有限公司 | 消息推送方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112153146A (zh) | 2020-12-29 |
WO2022062661A1 (zh) | 2022-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112073398B (zh) | 消息队列的处理方法、装置和系统、存储介质和电子装置 | |
US20180025049A1 (en) | Server and Data Processing Method | |
CN112153146B (zh) | 操作通知方法和装置、存储介质和电子装置 | |
US10944655B2 (en) | Data verification based upgrades in time series system | |
CN107797887B (zh) | 数据备份及恢复方法、装置、存储介质和电子设备 | |
CN111708557B (zh) | 更新配置文件的方法、设备及存储介质 | |
CN111371898B (zh) | 一种消息监听方法、装置、设备及存储介质 | |
EP4071609A1 (en) | Node management method, device and apparatus, storage medium, and system | |
CN111045893B (zh) | 监控任务的执行方法、装置及系统、存储介质、电子装置 | |
CN106993043B (zh) | 基于代理的数据通信系统和方法 | |
WO2019205555A1 (zh) | 消息推送方法及装置 | |
CN112087327B (zh) | 信息状态获取方法和装置、存储介质和电子装置 | |
CN112804330A (zh) | 应用通信方法及设备 | |
CN107566480B (zh) | 移动终端应用的用户活动信息采集方法及装置、存储介质 | |
US20140378116A1 (en) | Method And System For Sending Notification Message, Management Control Apparatus, And Terminal Device | |
US10432490B2 (en) | Monitoring single content page application transitions | |
CN111176577A (zh) | 分布式块存储服务命令处理方法、装置、设备及介质 | |
CN110069406A (zh) | 自动触发的tpc-ds测试方法以及系统 | |
CN106933932B (zh) | 数据处理方法、装置及应用服务器 | |
CN116132421B (zh) | 远程桌面连接方法、系统、装置、计算机设备和存储介质 | |
CN111211925A (zh) | 告警信息同步方法、装置、计算机设备和存储介质 | |
CN115658745A (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
CN112416698B (zh) | 监控系统的扩展方法及装置、存储介质及电子设备 | |
CN110768855B (zh) | 链路化性能测试的方法和装置 | |
CN113254097A (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 |