CN109495523A - 管理指令下发方法、装置、电子设备及存储介质 - Google Patents
管理指令下发方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109495523A CN109495523A CN201710812342.7A CN201710812342A CN109495523A CN 109495523 A CN109495523 A CN 109495523A CN 201710812342 A CN201710812342 A CN 201710812342A CN 109495523 A CN109495523 A CN 109495523A
- Authority
- CN
- China
- Prior art keywords
- message
- push
- push message
- queue
- controller
- 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
-
- 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/50—Network services
- H04L67/55—Push-based network services
-
- 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/45554—Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Abstract
本发明实施例提供了一种管理指令下发方法、装置、电子设备及存储介质,该管理指令下发方法应用于控制器,该控制器配置有用于下发管理指令的目标消息队列,以及用于推送除管理指令外的其它消息的非目标消息队列,该方法中,控制器首先获得待推送消息;然后判断待推送消息是否为管理指令;如果是,将待推送消息放置到上述目标消息队列,并通过目标消息队列将待推送消息发送给待推送消息对应的宿主机。与现有技术相比,本发明实施例提供的方案可以保证管理指令被及时下发给管理指令所对应的宿主机,实现管理指令的快速下发。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种管理指令下发方法、装置、电子设备及存储介质。
背景技术
资源管理系统包含有控制器以及控制器所控制的所有宿主机,上述宿主机可以在其内创建虚拟机、数据库和网盘等服务。例如,对于云主机服务,资源管理系统可以包括Openstack(一个开源的云计算管理平台项目)控制器以及多个宿主机,该宿主机中可以创建虚拟机。在上述系统中,用户可以通过控制器向对应的宿主机下发管理指令,实现对宿主机的控制,例如,下发删除宿主机A中的虚拟机b的指令。
现有技术中,控制器向对应的宿主机下发管理指令,可以具体为:控制器中设置有一个消息队列,当控制器获得管理指令时,将上述管理指令放置到消息队列中,然后由消息队列将管理指令推送给对应的宿主机,完成管理指令的下发。另外,上述消息队列除了被用于下发管理指令外,还会被用于推送其他的消息,例如,系统中的所有宿主机甚至于服务,每间隔一段时间就会向控制器发送一次包含有健康上报信息的健康上报消息,控制器则会将健康上报消息放置到消息队列中,然后由消息队列将健康上报消息推送到专用的数据库中。
上述管理指令是十分重要的消息,需要及时地下发给对应的宿主机,但是,由于上述消息队列需要推送大量的消息,消息队列的任务过于繁重,导致管理指令不能被及时地下发给相应的宿主机。
发明内容
本发明实施例的目的在于提供一种管理指令下发方法、装置、电子设备及存储介质,以保证管理指令能够被及时下发,实现管理指令的快速下发。具体技术方案如下:
第一方面,本发明实施例提供了一种管理指令下发方法,应用于控制器,该控制器配置有用于下发管理指令的目标消息队列,以及用于推送除管理指令外的其它消息的非目标消息队列,上述方法包括:
获得待推送消息;
判断该待推送消息是否为管理指令;
如果所述待推送消息是管理指令,将该待推送消息放置到目标消息队列,并通过目标消息队列将该待推送消息发送给该待推送消息对应的宿主机。
可选的,上述判断该待推送消息是否为管理指令的步骤,包括:
判断该待推送消息的目的端是否为控制器所控制的宿主机;如果所述待推送消息的目的端是所述控制器所控制的宿主机,判定该待推送消息为管理指令。
可选的,上述方法还包括:
如果该待推送消息不是管理指令,判断该待推送消息是否为健康上报消息,如果所述待推送消息是健康上报消息,将该待推送消息放置到前述非目标消息队列,并通过非目标消息队列将该待推送消息发送给用于储存健康上报信息的数据库,其中,所述健康上报消息包括健康上报信息。
可选的,上述目标消息队列为预设数量个消息队列所组成的队列集群中的主节点。
可选的,在上述将该待推送消息放置到目标消息队列的步骤之后,上述方法还包括:
在感知到目标消息队列不可用时,从上述队列集群中的从节点中选择一个从节点,并将所选择的从节点切换为新的主节点。
可选的,在上述将该待推送消息放置到目标消息队列的步骤之后,上述方法还包括:
判断该待推送消息是否超过预设时长未被推送;
如果是,生成报警提示消息。
第二方面,本发明实施例提供了一种管理指令下发装置,应用于控制器,该控制器配置有用于下发管理指令的目标消息队列,以及用于推送除管理指令外的其它消息的非目标消息队列,上述装置包括:
获得模块,用于获得待推送消息;
第一判断模块,用于判断该待推送消息是否为管理指令;
第一发送模块,用于在第一判断模块的判断结果为是的情况下,将该待推送消息放置到目标消息队列,并通过目标消息队列将该待推送消息发送给该待推送消息对应的宿主机。
可选的,上述第一判断模块,具体用于:
判断该待推送消息的目的端是否为控制器所控制的宿主机;如果所述待推送消息的目的端是所述控制器所控制的宿主机,判定该待推送消息为管理指令。
可选的,上述装置还包括:
第二发送模块,用于在第一判断模块的判断结果为否的情况下,判断该待推送消息是否为健康上报消息,如果所述待推送消息是健康上报消息,将该待推送消息放置到非目标消息队列,并通过非目标消息队列将该待推送消息发送给用于储存健康上报信息的数据库,其中,所述健康上报消息包括健康上报信息。
可选的,上述目标消息队列为预设数量个消息队列所组成的队列集群中的主节点。
可选的,上述装置还包括:
切换模块,用于在将该待推送消息放置到目标消息队列之后,感知到目标消息队列不可用时,从队列集群中的从节点中选择一个从节点,并将所选择的从节点切换为新的主节点。
可选的,上述装置还包括:
第二判断模块,用于在将该待推送消息放置到目标消息队列后,判断该待推送消息是否超过预设时长未被推送;
生成模块,用于在第二判断模块的判断结果为是的情况下,生成报警提示消息。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,其中;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一管理指令下发方法所述的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一管理指令下发方法所述的方法步骤。
第五方面,本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一管理指令下发方法所述的方法步骤。
第六方面,本发明实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述任一管理指令下发方法所述的方法步骤。
由以上可见,本发明实施例提供的方案中,该管理指令下发方法应用于控制器,该控制器配置有用于下发管理指令的目标消息队列,以及用于推送除管理指令外的其它消息的非目标消息队列,该方法中,控制器首先获得待推送消息;然后判断待推送消息是否为管理指令;如果待推送消息是管理指令,将待推送消息放置到上述目标消息队列,并通过目标消息队列将待推送消息发送给待推送消息对应的宿主机。与现有技术相比,本发明实施例提供的方案中,控制器在接收到待推送消息后,首先对待推送消息的类型进行判定,如果该待推送消息为管理指令,则利用用于下发管理指令的目标消息队列推送该待推送消息;该目标消息队列专用于推送管理指令,保证管理指令能够被及时下发给管理指令所对应的宿主机,实现管理指令的快速下发。
另外,现有技术中,所有需要控制器转发的消息都通过同一个消息队列进行推送,而控制器需要转发的消息与其所控制的宿主机的总数有关,宿主机总数越多,控制器需要转发的消息越多,消息队列越难完成管理指令的及时下发,所以采用一个消息队列的方案制约了整个资源管理系统的规模,即系统中宿主机的总数;而本发明实施例中,利用用于下发管理指令的目标消息队列推送管理指令,该目标消息队列不需要推送其他的消息,所以系统中宿主机的总数受消息队列推送管理指令能力的限制变小,大大提高了资源管理系统的规模的可扩展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的资源管理系统的结构示意图;
图2为本发明一实施例提供的管理指令下发方法的流程示意图;
图3为本发明另一实施例提供的管理指令下发方法的流程示意图;
图4为本发明一实施例提供的管理指令下发装置的结构示意图;
图5为本发明另一实施例提供的管理指令下发装置的结构示意图;
图6为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面首先对本申请文件中的技术术语进行简单介绍。
资源管理系统,如图1所示,资源管理系统包含有控制器,以及控制器所控制的多个宿主机:宿主机1~n。控制器和系统中的各个宿主机之间通过消息队列进行通信。
宿主机可以理解为担当一“宿主”身份的物理机,用户可以在宿主机中创建相应的服务,此处的服务包括虚拟机、网盘、数据库等,上述服务租用宿主机的内存、CPU(CentralProcessing Unit,中央处理器)、硬盘等资源;例如常见的虚拟机,虚拟机寄宿在宿主机内,其需要利用宿主机的内存、CPU、硬盘等资源才能运行。
管理指令,即为关键指令,通常是用户发出的指令,例如,删除宿主机A中的虚拟机b的指令,将宿主机C中的虚拟机d的内存由2G增为4G的指令,将宿主机E中的网盘f的容量由500G增为800G的指令等。对于资源管理系统中的控制器而言,在实际工作中,其所接收到的管理指令的频次少,但由于管理指令的重要性,控制器需要保证管理指令不丢失,延迟有保障,即控制器需要将管理指令及时准确地转发给管理指令对应的宿主机。
消息队列,可以看做是物理机中用以推送消息的进程,例如常见的rabbitmq。对于消息队列所在的物理机,其向目的端物理机发送消息时,首先将待发送的消息放置到消息队列中,该消息中携带有目的端物理机的标识信息,消息队列根据该标识信息,将该消息推送给目的端物理机。
需要注意的是,消息队列中可以存储有大量的待推送的消息,而且其内存储的消息是按照消息被放置入消息队列的时间排列的,消息队列按序推送上述消息,即,消息被放置入消息队列的时间越早,被推送出去的时间也相应越早。例如,消息x在消息y之前被放置入消息队列,则消息x将会先于消息y被推送出去。
在此可以发现的是,现有技术中资源管理系统的控制器所接收到的所有消息都是通过同一消息队列进行推送的,当该消息队列接收到某一管理指令时,如果在此前,该消息队列还有大量的消息待推送,则需要在消息队列将之前的消息全都推送后才能将管理指令推送给该管理指令所对应的宿主机,显然的,管理指令无法被及时地推送,用户体验效果差。
下面通过具体实施例来对本发明进行详细介绍。
图2为本发明实施例提供的一种管理指令下发方法的流程示意图。
本发明实施例提供的一种管理指令下发方法,应用于控制器,该控制器配置有用于下发管理指令的目标消息队列,以及用于推送除管理指令外的其它消息的非目标消息队列。
本发明实施例并不限定控制器的具体种类,例如,该控制器可以是Openstack控制器,同样的,本发明实施例并不限定目标消息队列和非目标消息队列的具体种类,例如,目标消息队列和非目标消息队列的种类都可以是常见的rabbitmq。与现有技术明显不同的是,本发明实施例中的控制器配置有至少两个目标消息队列,其中一个消息队列为专用于下发管理指令的目标消息队列,而对于除管理指令外的其它消息,则通过上述非目标消息队列进行推送。
上述管理指令下发方法包括:
S101:获得待推送消息。
待推送消息可以是需要控制器进行转发的消息,并且必须是需要控制器利用消息队列进行转发的消息。一种情况下,该待推送消息可以是管理指令。
在此情况下,控制器获得待推送消息的具体方式可以是:获得操作者通过用户界面输入的待推送消息(管理指令);例如,控制器被配置有一个用户输入界面,在该用户输入界面中,操作者可以输入管理指令,则控制器获得操作者输入的管理指令。
控制器获得待推送消息的具体方式还可以是:获得其它设备发送的待推送消息(管理指令)。例如,上述资源管理系统对外提供虚拟云主机服务,即运营商拥有该资源管理系统,运营商的客户可以利用资源管理系统中宿主机的资源创建虚拟云主机,在此情况下,资源管理系统中的控制器可以作为一个服务端,运营商的客户则适配有对应该服务端的客户端,客户在客户端所在终端设备中输入管理指令,然后由终端设备将管理指令发送给控制器,由此,控制器获得管理指令。
示例性的,客户A拥有虚拟云主机a~d,现客户A仅需要虚拟云主机a~c,则此时客户A在其配备的客户端上输入删除虚拟云主机d的管理指令,然后客户端所在终端设备将该管理指令发送给控制器,使得控制器获得该管理指令。
另一种情况下,该待推送消息可以是健康上报消息。在资源管理系统中,健康上报消息包含有健康上报信息,健康上报信息可以是表征宿主机健康状况的信息,此时,控制器获得待推送消息可以是获得宿主机发送的健康上报消息;健康上报信息也可以是表征宿主机中服务的健康状况的信息,此时,控制器获得待推送消息可以是获得宿主机中的服务通过宿主机中的模块发送的健康上报消息。
例如,对于提供云主机服务的资源管理系统而言,系统中的每个宿主机均会每间隔一定时间上报一个健康上报消息,该健康上报消息的目的端为用以存储健康上报信息的数据库。宿主机为上报健康上报消息,首先将健康上报消息发送给控制器,该健康上报消息被控制器接收后,控制器将健康上报消息放置到其内的消息队列中,由消息队列将健康上报消息发送到用以存储健康上报信息的数据库。
再如,对于RDS(Relational Database Service,关系型数据库服务)以及云缓存服务等偏PASS(Platform-as-a-Service,平台即服务)层的服务,宿主机中被创建有虚拟的服务(也称实例),例如虚拟云主机、网盘和数据库等,宿主机中的服务会每间隔一定时间上报一个健康上报消息,同样的,该健康上报消息的目的端为用以存储健康上报信息的数据库。上述服务为上报健康上报消息,首先将健康上报消息发送给控制器,该健康上报消息被控制器接收后,控制器将健康上报消息放置到其内的消息队列中,由消息队列将健康上报消息发送到用以存储健康上报信息的数据库。
由上可知,控制器所获得的待推送消息可能是管理指令,还可能是健康上报消息,当然,也有可能是其它信息,本发明实施例并不限定该待推送消息的具体类型,该待推送消息可以是现有技术的资源管理系统中通过控制器的消息队列进行推送的任何消息,本发明实施例在此不再详细介绍。另外,关于其他类型的待推送消息的具体获得方式,可以参照现有技术,本发明实施例在此同样不再详细介绍。
如图2所示,S102:判断该待推送消息是否为管理指令。
与现有技术明显不同的是,控制器在接收到待推送消息后,并没有直接将待推送消息放置到消息队列中,而是先判断该待推送消息的类型,即首先判断该待推送消息是否为管理指令。
在本发明实施例中,控制器完全具有辨识待推送消息的类型的能力。作为一种可选的实现方式,控制器可以根据接收到的待推送消息的源端来判断该待推送消息是否为管理指令。
参照步骤S101中的相关解释和说明,一种情况下,控制器获得管理指令,可以是获得操作者通过用户界面输入的待推送消息(管理指令),在此情况下,该待推送消息的源端为控制器自身;另一种情况下,控制器获得待推送消息的具体方式还可以是:获得其它设备发送的待推送消息(管理指令),在此情况下,该待推送消息的源端为预先设定的具有发送管理指令权限的设备,例如上述以控制器作为服务端时,控制器所对应的终端设备。
在此实现方式下,控制器判断该待推送消息是否为管理指令,可以是:
判断该待推送消息的源端是否为控制器自身或者预先设定的具有发送管理指令权限的设备;
如果是,则判定该待推送消息为管理指令;如果否,则判定该待推送消息不是管理指令。
示例性的,预先设定的具有发送管理指令权限的设备即为控制器对应的合法终端设备,在控制器中记录有其所对应的各个终端设备的IP(Internet Protocol,网络之间互连的协议)地址和MAC(Media Access Control,媒体访问控制)地址,终端设备发送的管理指令中携带有自身的IP地址以及MAC地址。
假设控制器获得一个待推送消息x,该待推送消息x由操作者通过用户界面输入的,控制器获得该待推送消息x后,发现该待推送消息x的源端为其自身,则控制器判定该待推送消息x为管理指令;再如,假设控制器获得一个待推送消息y,该待推送消息y中的信息表明:待推送消息y的源端IP地址和MAC地址分别为IP1和MAC1,然后控制器查看本地储存的所有终端设备的IP地址和MAC地址,发现IP1和MAC1记录在本地中,则控制器判定该待推送消息y为管理指令。
作为另一种可选的实现方式,控制器可以根据接收到的待推送消息的内容来判断该待推送消息是否为管理指令。在此实现方式下,控制器判断该待推送消息是否为管理指令,可以是:
根据待推送消息的内容判断该待推送消息是否为管理指令。
控制器获得待推送消息后,可以读取该待推送消息的内容,进而判定该待推送消息是否为管理指令。例如,控制器接收到待推送消息后,读取到该待推送消息的内容为:增大宿主机B中的虚拟机b的内存为4G,则判定该推送消息为管理指令。
作为又一种可选的实现方式,控制器可以根据接收到的待推送消息所携带的类型标识信息来判断该待推送消息是否为管理指令。可以理解的是,该类型标识信息可以是人工预先设置的,对于待推送消息的生成设备而言,其在生成待推送消息时,可以将类型标识信息添加到待推送消息中,使得控制器接收到的待推送消息中携带有类型标识信息。
例如,人工预先设置管理指令对应的类型标识信息为“kscguanli”,设备A生成管理指令时,将类型标识信息“kscguanli”添加到该管理指令中,然后将携带有类型标识信息“kscguanli”的管理指令发送给控制器。对于控制器而言,其首先发现自身接收到一个待推送消息,然后查看该推送消息携带的类型标识信息是否为“kscguanli”,由于该推送消息携带的类型标识信息为“kscguanli”,则控制器判定该带推送消息为管理指令。
作为再一种可选的实现方式,控制器可以根据接收到的待推送消息的目的端来判断该待推送消息是否为管理指令。
即,上述判断该待推送消息是否为管理指令(S102)的步骤,可以包括:
判断该待推送消息的目的端是否为控制器所控制的宿主机;如果待推送消息的目的端是控制器所控制的宿主机,判定该待推送消息为管理指令。
显然的,如果该待推送消息的目的端不是控制器所控制的宿主机,则判定该待推送消息不是管理指令。
参照前述关于管理指令部分的解释和说明,管理指令是需要控制器通过消队列转发给管理指令对应的宿主机的,因而,管理指令的目的端为资源管理系统中的宿主机。
可以理解,在资源管理系统中,控制器控制系统中的所有宿主机,控制器本地完全可以记录有各个宿主机的标识信息,例如各个宿主机的IP地址或者MAC地址;而与现有技术中相同的是,管理指令本身就是携带有目的端的标识信息,以使得消息队列可以根据管理指令携带的目的端的标识信息,将管理指令推送给目的端宿主机。
示例性的,管理指令本身携带有目的端宿主机的标识信息为宿主机的MAC地址。控制器获得一个待推送消息y,并从该待推送消息y中找到其所携带的目的端标识信息MAC2,然后控制器查询其所控制的所有宿主机中,是否有MAC地址为MAC2的宿主机;假设控制器所控制的所有宿主机中存在MAC地址为MAC2的宿主机,则判定该待推送消息为管理指令;而如果控制器所控制的所有宿主机中不存在MAC地址为MAC2的宿主机,则判定该待推送消息不是管理指令。
如图2所示,如果步骤S102的判断结果为是,执行步骤S103:将待推送消息放置到目标消息队列,并通过目标消息队列将待推送消息发送给待推送消息对应的宿主机。
本发明实施例中的目标消息队列,同样是一种用以推送消息的进程,但是与现有技术不同是,该目标消息队列专用于推送管理指令,只要控制器确定了上述待推送消息为管理指令,就将待推送消息放置到目标消息队列中,然后目标消息队列将待推送消息发送给待推送消息对应的宿主机。
该待推送消息为管理指令时,由于待推送消息携带有其对应的目的端宿主机的标识信息,则目标消息队列可以依据目的端宿主机的标识信息,将待推送消息推送给目的端宿主机的标识信息对应的宿主机。当然,具体的目标消息队列推送待推送消息的实现方式可以参照现有技术,本发明实施例在此不做详细介绍。
需要说明的是,图2中,如果步骤S102的判断结果为否,上述管理指令下发方法结束执行,图2中的“结束”仅表明控制器在判定该待推送消息不是管理指令的情况下,就不会将该待推送消息放置到目标消息队列中。在本发明实施例中,可以不限定该待推送消息不是管理指令的情况下,控制器推送该待推送消息的具体实现方式。
在该待推送消息不是管理指令的情况下,作为一种实现控制器推送该待推送消息的可选实现方式,控制器可以直接在判定该待推送消息不是管理指令时,将该待推送消息放置到上述非目标消息队列中,然后由上述非目标消息队列根据待推送消息中指向的目的端,将待推送消息发送给该目的端。
需要说明的,前述非目标消息队列的数量可以是一个,也可以是至少两个,非目标消息队列的数量,可以是除管理指令外,控制器所会接收到的所有待推送消息的类型总数,例如,除管理指令外,控制器所会接收到的所有待推送消息的类型总数为3,则上述非目标消息队列的数量为3。可以理解,在此情况下,每一种类型的待推送消息都对应设置有一消息队列,控制器获得待推送消息时,会确定该待推送消息的类型,然后将待推送消息放置到与其类型对应的消息队列中,由其类型对应的消息队列推送待推送消息。
因此,在该待推送消息不是管理指令的情况下,作为一种实现控制器推送该待推送消息的可选实现方式,控制器可以继续识别该待推送消息的类型,然后根据该待推送消息的类型,将该待推送消息放置到该待推送消息的类型对应的非目标消息队列中,由该非目标消息队列根据待推送消息指向的目的端,将待推送消息发送给该目的端。
由于在实际应用中,控制器所获得的待推送指令中包含有大量的健康上报消息,所以如图3所示,上述管理指令下发方法还可以包括:
S104:如果该待推送消息不是管理指令,判断该待推送消息是否为健康上报消息,其中,该健康上报消息包括健康上报信息。
如果步骤S104的判断结果为是,执行步骤S105:将该待推送消息放置到非目标消息队列,并通过非目标消息队列将待推送消息发送给用于储存健康上报信息的数据库。
同于步骤S102中判断该待推送消息是否为管理指令的方式,作为一种可选的实现方式,控制器可以根据接收到的待推送消息的源端来判断该待推送消息是否为健康上报消息。
参照步骤S101中的相关解释和说明,一种情况下,健康上报消息可以是宿主机直接发送的待推送消息,此时,待推送消息的源端为宿主机;另一种情况下,健康上报消息也可以是宿主机中的服务通过宿主机中的模块发送的待推送消息,此时,待推送消息的源端为宿主机中的服务,如宿主机中的虚拟机。
在此实现方式下,控制器判断该待推送消息是否为健康上报消息,可以是:
判断该待推送消息的源端是否为资源管理系统中的宿主机或者宿主机中的服务;
如果是,则判定该待推送消息为健康上报消息;如果否,则判定该待推送消息不是健康上报消息。
示例性的,在控制器中记录有资源管理系统中的各个宿主机的IP地址,同时还记录有各个宿主机中的服务的IP地址,宿主机以及宿主机中的服务向控制器发送的健康上报消息携带有自身的IP地址。
假设控制器获得一个待推送消息x,该待推送消息x被判定为不是管理指令,控制器查看待推送消息x所携带的源端IP地址为IP1,而且IP1恰好为资源管理系统中的宿主机1的IP地址,则控制器判定该待推送消息x为健康上报消息;再如,假设控制器获得一个待推送消息y,控制器查看待推送消息y所携带的源端IP地址为IP2,而且IP2恰好为资源管理系统中的宿主机2的中的虚拟机2的IP地址,则控制器判定该待推送消息y为健康上报消息。
作为另一种可选的实现方式,控制器可以根据接收到的待推送消息的内容来判断该待推送消息是否为健康上报消息。在此实现方式下,控制器判断该待推送消息是否为健康上报消息,可以是:
根据待推送消息的内容判断该待推送消息是否为健康上报消息。
控制器在判定待推送消息为不是管理指令后,可以读取该待推送消息的内容,进而判定该待推送消息是否为健康上报消息。
作为又一种可选的实现方式,控制器可以根据接收到的待推送消息的目的端来判断该待推送消息是否为健康上报消息。
即,上述判断该待推送消息是否为健康上报消息(S105)的步骤,可以包括:
判断该待推送消息的目的端是否为控制器用于存储健康上报信息的数据库;如果是,判定该待推送消息是健康上报消息;如果否,则判定该待推送消息不是健康上报消息。
可以理解,在资源管理系统中,控制器需要利用消息队列将健康上报消息推送给用于存储健康上报信息的数据库,所以控制器本地必须要记录该数据库的标识信息,例如该数据库的IP地址;而与现有技术中相同的是,健康上报消息本身就是携带有目的端的标识信息,以使得消息队列可以根据健康上报消息携带的目的端的标识信息,将健康上报消息推送给上述用于存储健康上报信息的数据库。
示例性的,健康上报消息本身携带有用于存储健康上报信息的数据库的IP地址。控制器获得一个待推送消息y,并从该待推送消息y中找到其所携带的目的端标识信息IP2,然后控制器发现IP2为用于存储健康上报信息的数据库的IP地址,则控制器判定该待推送消息为健康上报消息。
在判定出该待推送消息为健康上报消息时,由于待推送消息携带有用于存储健康上报信息的数据库的标识信息,则目标消息队列可以依据该标识信息,将待推送消息推送给用于存储健康上报信息的数据库。当然,具体的目标消息队列推送待推送消息的实现方式可以参照现有技术,本发明实施例在此不做详细介绍。
由前述内容可知,控制器需要将管理指令及时准确地转发给管理指令对应的宿主机,但是控制器将待推送消息放置到目标消息队列之后,如果目标消息队列发生故障,将会导致目标消息队列无法及时推送管理指令,而操作人员等又无法及时了解管理指令的下发是否出现问题;所以在本发明实施例中,为了保证操作人员能够及时察觉到管理指令下发时所出现的问题,在上述将待推送消息放置到目标消息队列的步骤之后,上述管理指令下发方法还可以包括:
判断该待推送消息是否超过预设时长未被推送;
如果是,生成报警提示消息。
控制器可以记录待推送消息被放置到目标消息队列的时刻,进而监控待推送消息被放置到目标消息队列的时长,控制器还可以监控待推送消息是否被推送出去,如果超过预设时长时,该待推送消息仍然未被推送出去,表明目标消息队列没有及时将待推送消息推送出去,则此时可以认定目标消息队列针对待推送消息的下发发生故障,控制器可以生成以报警提示信息。当然,该预设时长可以根据实际情况设定,本发明实施例在此不做限定。
具体的,控制器生成报警提示信息后,可以直接被控制器显示在控制器对应的用户界面上,以便于操作人员根据所显示的报警提示信息,及时发现目标消息队列下发管理指令时所出现的故障,进而方便操作人员及时查询故障并消除故障。
控制器生成报警提示信息后,还可以将报警提示信息发送给其他报警设备,如蜂鸣器和报警灯等,以使得报警设备发出报警提示,便于操作人员根据报警提示,及时发现目标消息队列下发管理指令时所出现的故障,进而方便操作人员及时发现故障并消除故障。例如,该报警设备为一蜂鸣器,控制器将报警提示信息发送给蜂鸣器后,蜂蜜器发出报警提示音。
下面对本发明实施例的有益技术效果进行简单说明。
第一方面,与现有技术相比,本实施例提供的方案中,控制器在接收到待推送消息后,首先对待推送消息的类型进行判定,如果该待推送消息为管理指令,则利用用于下发管理指令的目标消息队列推送该待推送消息;该目标消息队列专用于推送管理指令,保证管理指令能够被及时下发给管理指令所对应的宿主机,实现管理指令的快速下发。
示例性的,如果采用现有技术,控制器中仅设置有一个消息队列1,假设控制器某一时刻接收到管理指令a,然后控制器将该管理指令放置到消息队列1中,而此时消息队列1中已经存在有200条待推送消息,可以理解,消息队列1需要在将上述200条待推送消息都推送出去后,才能推送管理指令a。而控制器推送上述200条待推送消息需要消耗一定的时间,所以从管理指令a被放置到消息队列1至消息队列1将管理指令a下发出去所需时间长,即管理指令a不能被及时下发。
而采用本实施例提供的方案,控制器中配置有专用于下发管理指令的目标消息队列,以及用于推送除管理指令外的其它消息的非目标消息队列。假设控制器某一时刻接收到一待推送消息a,然后判断该待推送消息a为管理指令,则控制器将该待推送消息a放置到目标消息队列中,由于目标消息队列仅用于下发管理指令,而且对于整个资源管理系统而言,控制器所接收到的管理指令的频次非常少,故该待推送消息a被放置到目标消息队列时,目标消息队列中已经存在的待推送消息的数量极少;例如为3条。可以理解,消息队列1仅需要在将上述3条待推送消息都推送出去后,即可推送待推送消息a;从待推送消息a被放置到目标消息队列至目标消息队列将待推送消息a下发出去所需时间短,即待推送消息a可以被及时下发。
第二方面,本实施例提供的方案利用用于下发管理指令的目标消息队列推送管理指令,该目标消息队列不需要推送其他的消息,所以系统中宿主机的总数受消息队列推送管理指令能力的限制变小,大大提高了资源管理系统的规模的可扩展性。
首先需要说明的是,资源管理系统的规模可以用资源管理控制系统中宿主机的数量来衡量,系统中宿主机的数量越多,资源管理系统的规模越大。但是,系统中的宿主机的数量越多,需要控制器通过消息队列进行推送的待推送消息越多。例如,就健康上报消息而言,控制器所接收到的健康上报消息的数量正比于系统中宿主机的数量。
示例性的,如果采用现有技术,控制器中仅设置有一个消息队列1,系统中的宿主机的数量越多,则消息队列1中的待推送消息就越多,那为了保证控制器在接收到管理指令a,消息队列1中的待推送消息不至于太多,整个系统中宿主机的数量就得限制下来。假设,当系统中的宿主机的数量达到200台时,从管理指令被放置到消息队列1至消息队列1将管理指令下发出去所需平均时间已达预设阈值60秒,则整个系统的宿主机的数量应该限制在200台。
而采用本实施例提供的方案,控制器中配置有专用于下发管理指令的目标消息队列,以及用于推送除管理指令外的其它消息的非目标消息队列。由于对于整个资源管理系统而言,控制器所接收到的管理指令的频次非常少,故该待推送消息a被放置到目标消息队列时,即使系统中的宿主机的数量明显增加,目标消息队列中存在的待推送消息的数量仍然较少。所以系统中宿主机的总数受消息队列推送管理指令能力的限制变小,大大提高了资源管理系统的规模的可扩展性。
由于管理指令的重要性,待推送消息在被放置到目标消息队列后,应保证该待推送消息能够被下发给宿主机,但是在实际应用中,不可避免的会出现目标消息队列出现故障的情况,所以在本发明实施例中,为了防止目标消息队列出现故障时导致的待推送消息推送失败的问题。上述目标消息队列可以为预设数量个消息队列所组成的队列集群中的主节点。
即,在本发明实施例中,控制器中除了配置上述非目标消息队列外,还配置有预设数量个消息队列;在此预设数量个消息队列中,其中一个为主节点,剩余的为对应该主节点的从节点。
本领域技术人员公知的是,在主从模式中,主节点用以对外提供服务,从节点并不对外提供服务,从节点中的数据和主节点同步,当主节点发生故障时,从节点切换为主节点,成为新的主节点并对外提供服务。
而在本发明实施例中,目标消息队列为队列集群中的主节点,即控制器确定所获得的待推送消息为管理指令后,将待推送消息放置到队列集群中的主节点,由于主从模式的存在,队列集群中的从节点同样会将该待推送消息复制到从节点中;然后主节点推送该待推送消息,当该待推送消息被成功推送后,主节点删除其内存储的待推送消息,同样的,由于主从模式的存在,队列集群中的从节点同样会删除其内的待推送消息。
如果在将待推送消息放置到队列集群中的主节点后,至该待推送消息被成功推送前,当前的主节点出现了故障,则此时由从节点切换为新的主节点,由新的从节点执行推送待推送消息的操作。
由上可知,由于主从模式的存在,当当前的主节点,即目标消息队列发生故障时,由从节点切换为新的主节点,即新的目标消息队列,并由新的目标消息队列完成推送待推送消息;防止目标消息队列出现故障时导致的待推送消息推送失败的问题,致使控制器转发管理指令的可用性高。
当然,上述预设数量的具体数值可以根据实际需要设定,应保证不少于两个。
具体的,在本发明实施例中,作为从节点切换为主节点的一种可选实现方式,可以是各个从节点基于预先配置的主节点自选举机制实现从节点切换无主节点的目的。即,从节点可以感知队列集群中主节点的状态,当感知到主节点发生故障时,所有的从节点在从节点中选举出一个新的主节点,作为新的目标消息队列。需要注意的是,在此具体实现方式下,为保证自选举机制可以被实现,队列集群中从节点的数量应不少于两个,即上述预设数量不小于3个。
例如,上述队列集群包括有一个主节点和3个从节点,当3个从节点均感知到当前的主节点发生故障时,3个从节点基于自身设置的主节点自选举机制,从3个从节点中选举出一个从节点作为新的主节点,即新的目标消息队列。
作为从节点切换为主节点的另一种可选实现方式,主从节点的切换可以由上述控制器控制,即在上述将待推送消息放置到目标消息队列的步骤之后,上述管理指令下发方法还可以包括:
在感知到目标消息队列不可用时,从队列集群中的从节点中选择一个从节点,并将所选择的从节点切换为新的主节点,即获得新的目标消息队列。
可以理解,目标消息队列设置在控制器内,所以控制器完全可以监测目标消息队列的状态,当感知到目标消息队列因故障而不可用时,控制器会从队列集群中的从节点中选择一个从节点,并将所选择的从节点切换为新的主节点,得到新的目标消息队列。
例如,上述队列集群包括有一个主节点和4个从节点,当控制器感知到当前的主节点发生故障时,从4个从节点随机选择一个从节点,并切换所选择的从节点作为新的主节点,即新的目标消息队列。
下面通过一个具体实例来对本发明实施例进行简单介绍。
资源管理系统中的控制器配置有用于下发管理指令的目标消息队列,以及用于推送除所述管理指令外的其它消息的非目标消息队列,其中的目标消息队列为5个消息队列组成的队列集群中的主节点。控制器适配有一用户输入界面,操作者在A时刻输入了一个管理指令:删除宿主机1中的虚拟机1,该管理指令携带的目的端标识信息为宿主机1的IP地址。
控制器获得该管理指令后,对于控制器而言,其首先只能知道其接收到一个待推送消息,然后控制器查询得知其目的端标识信息为宿主机1的IP地址,且宿主机1为资源管理系统中的宿主机,所以控制器确定该待推送消息为管理指令,然后控制器将该待推送消息放置到当前的目标消息队列中。
而后,目标消息队列将根据待推送消息所携带的目的端标识信息,将待推送消息推送给宿主机1。
假设,在目标消息队列推送该待推送消息给宿主机1前,控制器感知到目标消息队列发生故障,则控制器从当前队列集群中所存在的4个从节点中随机选择一个从节点,将所选择的从节点切换为新的主节点,即新的目标消息队列。然后,由新的目标消息队列将待推送消息推送给宿主机1。
相应于图2所示方法实施例,本发明实施例提供了一种管理指令下发装置,应用于控制器,该控制器配置有用于下发管理指令的目标消息队列,以及用于推送除管理指令外的其它消息的非目标消息队列,如图4所示,上述装置包括:
获得模块110,用于获得待推送消息。
第一判断模块120,用于判断该待推送消息是否为管理指令。
第一发送模块130,用于在第一判断模块120的判断结果为是的情况下,将该待推送消息放置到目标消息队列,并通过目标消息队列将该待推送消息发送给该待推送消息对应的宿主机。
在实际应用中,上述第一判断模块120,可以具体用于:
判断该待推送消息的目的端是否为控制器所控制的宿主机;如果该待推送消息的目的端是控制器所控制的宿主机,判定该待推送消息为管理指令。
具体的,相应于图3所示方法实施例,如图5所示,上述装置还可以包括:
第二发送模块140,用于在第一判断模块120的判断结果为否的情况下,判断该待推送消息是否为健康上报消息,如果待推送消息是健康上报消息,将该待推送消息放置到非目标消息队列,并通过非目标消息队列将该待推送消息发送给用于储存健康上报信息的数据库,其中,该健康上报消息包括健康上报信息。
具体的,上述目标消息队列可以为预设数量个消息队列所组成的队列集群中的主节点。
具体的,上述装置还可以包括:
切换模块,用于在将该待推送消息放置到目标消息队列之后,感知到目标消息队列不可用时,从队列集群中的从节点中选择一个从节点,并将所选择的从节点切换为新的主节点。
具体的,上述装置还可以包括:
第二判断模块,用于在将该待推送消息放置到目标消息队列后,判断该待推送消息是否超过预设时长未被推送;
生成模块,用于在第二判断模块的判断结果为是的情况下,生成报警提示消息。
由以上可知,与现有技术相比,本实施例提供的方案中,控制器在接收到待推送消息后,首先对待推送消息的类型进行判定,如果该待推送消息为管理指令,则利用用于下发管理指令的目标消息队列推送该待推送消息;该目标消息队列专用于推送管理指令,保证管理指令能够被及时下发给管理指令所对应的宿主机,实现管理指令的快速下发。
另外,现有技术中,所有需要控制器转发的消息都通过同一个消息队列进行推送,而控制器需要转发的消息与其所控制的宿主机的总数有关,宿主机总数越多,控制器需要转发的消息越多,消息队列越难完成管理指令的及时下发,所以采用一个消息队列的方案制约了整个资源管理系统的规模,即系统中宿主机的总数;而本实施例中,利用用于下发管理指令的目标消息队列推送管理指令,该目标消息队列不需要推送其他的消息,所以系统中宿主机的总数受消息队列推送管理指令能力的限制变小,大大提高了资源管理系统的规模的可扩展性。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器210和存储器220,其中,
存储器220,用于存放计算机程序;
处理器210,用于执行存储器220上所存放的程序时,实现如下步骤:
获得待推送消息;
判断该待推送消息是否为管理指令;
如果待推送消息是管理指令,将该待推送消息放置到目标消息队列,并通过目标消息队列将该待推送消息发送给该待推送消息对应的宿主机。
关于该方法各个步骤的具体实现以及相关解释内容可以参见上述图2和3所示的方法实施例,在此不做赘述。
上述电子设备可以具备有实现上述电子设备与其他设备之间通信的通信接口。
上述的处理器210,通信接口,存储器220通过通信总线完成相互间的通信,此处所提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器220可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器210可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由以上可知,与现有技术相比,本实施例提供的方案中,控制器在接收到待推送消息后,首先对待推送消息的类型进行判定,如果该待推送消息为管理指令,则利用用于下发管理指令的目标消息队列推送该待推送消息;该目标消息队列专用于推送管理指令,保证管理指令能够被及时下发给管理指令所对应的宿主机,实现管理指令的快速下发。
另外,本实施例中,利用用于下发管理指令的目标消息队列推送管理指令,该目标消息队列不需要推送其他的消息,所以系统中宿主机的总数受消息队列推送管理指令能力的限制变小,大大提高了资源管理系统的规模的可扩展性。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的管理指令下发方法。
由以上可知,与现有技术相比,本实施例提供的方案中,控制器在接收到待推送消息后,首先对待推送消息的类型进行判定,如果该待推送消息为管理指令,则利用用于下发管理指令的目标消息队列推送该待推送消息;该目标消息队列专用于推送管理指令,保证管理指令能够被及时下发给管理指令所对应的宿主机,实现管理指令的快速下发。
另外,本实施例中,利用用于下发管理指令的目标消息队列推送管理指令,该目标消息队列不需要推送其他的消息,所以系统中宿主机的总数受消息队列推送管理指令能力的限制变小,大大提高了资源管理系统的规模的可扩展性。
在本发明提供的再一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一管理指令下发方法所述的方法步骤。
由以上可知,与现有技术相比,本实施例提供的方案中,控制器在接收到待推送消息后,首先对待推送消息的类型进行判定,如果该待推送消息为管理指令,则利用用于下发管理指令的目标消息队列推送该待推送消息;该目标消息队列专用于推送管理指令,保证管理指令能够被及时下发给管理指令所对应的宿主机,实现管理指令的快速下发。
另外,本实施例中,利用用于下发管理指令的目标消息队列推送管理指令,该目标消息队列不需要推送其他的消息,所以系统中宿主机的总数受消息队列推送管理指令能力的限制变小,大大提高了资源管理系统的规模的可扩展性。
在本发明提供的再一实施例中,还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述任一管理指令下发方法所述的方法步骤。
由以上可知,与现有技术相比,本实施例提供的方案中,控制器在接收到待推送消息后,首先对待推送消息的类型进行判定,如果该待推送消息为管理指令,则利用用于下发管理指令的目标消息队列推送该待推送消息;该目标消息队列专用于推送管理指令,保证管理指令能够被及时下发给管理指令所对应的宿主机,实现管理指令的快速下发。
另外,本实施例中,利用用于下发管理指令的目标消息队列推送管理指令,该目标消息队列不需要推送其他的消息,所以系统中宿主机的总数受消息队列推送管理指令能力的限制变小,大大提高了资源管理系统的规模的可扩展性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、包含指令的计算机程序产品以及计算机程序的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种管理指令下发方法,其特征在于,应用于控制器,所述控制器配置有用于下发管理指令的目标消息队列,以及用于推送除所述管理指令外的其它消息的非目标消息队列,所述方法包括:
获得待推送消息;
判断所述待推送消息是否为管理指令;
如果所述待推送消息是管理指令,将所述待推送消息放置到所述目标消息队列,并通过所述目标消息队列将所述待推送消息发送给所述待推送消息对应的宿主机。
2.根据权利要求1所述的方法,其特征在于,所述判断所述待推送消息是否为管理指令的步骤,包括:
判断所述待推送消息的目的端是否为所述控制器所控制的宿主机;如果所述待推送消息的目的端是所述控制器所控制的宿主机,判定所述待推送消息为管理指令。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述待推送消息不是管理指令,判断所述待推送消息是否为健康上报消息,如果所述待推送消息是健康上报消息,将所述待推送消息放置到所述非目标消息队列,其中,所述健康上报消息包括健康上报信息;
并通过所述非目标消息队列将所述待推送消息发送给用于储存健康上报信息的数据库。
4.根据权利要求1所述的方法,其特征在于,所述目标消息队列为预设数量个消息队列所组成的队列集群中的主节点。
5.根据权利要求4所述的方法,其特征在于,在所述将所述待推送消息放置到所述目标消息队列的步骤之后,所述方法还包括:
在感知到所述目标消息队列不可用时,从所述队列集群中的从节点中选择一个从节点,并将所选择的从节点切换为新的主节点。
6.根据权利要求1~5任一项所述的方法,其特征在于,在所述将所述待推送消息放置到所述目标消息队列的步骤之后,所述方法还包括:
判断所述待推送消息是否超过预设时长未被推送;
如果是,生成报警提示消息。
7.一种管理指令下发装置,其特征在于,应用于控制器,所述控制器配置有用于下发管理指令的目标消息队列,以及用于推送除所述管理指令外的其它消息的非目标消息队列,所述装置包括:
获得模块,用于获得待推送消息;
第一判断模块,用于判断所述待推送消息是否为管理指令;
第一发送模块,用于在所述第一判断模块的判断结果为是的情况下,将所述待推送消息放置到所述目标消息队列,并通过所述目标消息队列将所述待推送消息发送给所述待推送消息对应的宿主机。
8.根据权利要求7所述的装置,其特征在于,所述第一判断模块,具体用于:
判断所述待推送消息的目的端是否为所述控制器所控制的宿主机;如果所述待推送消息的目的端是所述控制器所控制的宿主机,判定所述待推送消息为管理指令。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二发送模块,用于在所述第一判断模块的判断结果为否的情况下,判断所述待推送消息是否为健康上报消息,如果所述待推送消息是健康上报消息,将所述待推送消息放置到所述非目标消息队列,并通过所述非目标消息队列将所述待推送消息发送给用于储存健康上报信息的数据库,其中,所述健康上报消息包括健康上报信息。
10.根据权利要求7所述的装置,其特征在于,所述目标消息队列为预设数量个消息队列所组成的队列集群中的主节点。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
切换模块,用于在将所述待推送消息放置到所述目标消息队列之后,感知到所述目标消息队列不可用时,从所述队列集群中的从节点中选择一个从节点,并将所选择的从节点切换为新的主节点。
12.根据权利要求7~11任一项所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于在将所述待推送消息放置到所述目标消息队列之后,判断所述待推送消息是否超过预设时长未被推送;
生成模块,用于在所述第二判断模块的判断结果为是的情况下,生成报警提示消息。
13.一种电子设备,其特征在于,包括处理器和存储器,其中;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710812342.7A CN109495523A (zh) | 2017-09-11 | 2017-09-11 | 管理指令下发方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710812342.7A CN109495523A (zh) | 2017-09-11 | 2017-09-11 | 管理指令下发方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109495523A true CN109495523A (zh) | 2019-03-19 |
Family
ID=65687522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710812342.7A Pending CN109495523A (zh) | 2017-09-11 | 2017-09-11 | 管理指令下发方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109495523A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110071873A (zh) * | 2019-04-09 | 2019-07-30 | 华为技术有限公司 | 一种发送数据的方法、装置及相关设备 |
CN112214377A (zh) * | 2020-10-21 | 2021-01-12 | 新华三信息安全技术有限公司 | 一种设备管理方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103702283A (zh) * | 2013-12-12 | 2014-04-02 | 小米科技有限责任公司 | 消息发送方法、接收方法、装置、终端设备和服务器 |
CN103957228A (zh) * | 2012-11-02 | 2014-07-30 | 洛克威尔自动控制技术股份有限公司 | 基于云的驱动监视方案 |
US20150081948A1 (en) * | 2013-09-13 | 2015-03-19 | Microsoft Corporation | Controlling data storage input/output requests |
WO2016023493A1 (zh) * | 2014-08-15 | 2016-02-18 | 北京配天技术有限公司 | 人机交互界面对操作指令响应的控制方法及终端 |
CN105939390A (zh) * | 2016-06-29 | 2016-09-14 | 深圳市轱辘软件开发有限公司 | 一种信息推送方法、服务器及系统 |
CN106020930A (zh) * | 2016-05-13 | 2016-10-12 | 深圳市中润四方信息技术有限公司 | 一种基于应用容器的应用管理方法及系统 |
CN106453558A (zh) * | 2016-10-13 | 2017-02-22 | 北京京东尚科信息技术有限公司 | 一种信息推送方法、装置以及终端 |
US20170147498A1 (en) * | 2013-03-28 | 2017-05-25 | Renesas Electronics Corporation | System and method for updating an instruction cache following a branch instruction in a semiconductor device |
CN106790354A (zh) * | 2016-11-15 | 2017-05-31 | 上海远景数字信息技术有限公司 | 一种防数据拥堵的通信方法及其装置 |
CN106878197A (zh) * | 2017-02-22 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种云平台消息传输的管理系统及方法 |
-
2017
- 2017-09-11 CN CN201710812342.7A patent/CN109495523A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957228A (zh) * | 2012-11-02 | 2014-07-30 | 洛克威尔自动控制技术股份有限公司 | 基于云的驱动监视方案 |
US20170147498A1 (en) * | 2013-03-28 | 2017-05-25 | Renesas Electronics Corporation | System and method for updating an instruction cache following a branch instruction in a semiconductor device |
US20150081948A1 (en) * | 2013-09-13 | 2015-03-19 | Microsoft Corporation | Controlling data storage input/output requests |
CN103702283A (zh) * | 2013-12-12 | 2014-04-02 | 小米科技有限责任公司 | 消息发送方法、接收方法、装置、终端设备和服务器 |
WO2016023493A1 (zh) * | 2014-08-15 | 2016-02-18 | 北京配天技术有限公司 | 人机交互界面对操作指令响应的控制方法及终端 |
CN106020930A (zh) * | 2016-05-13 | 2016-10-12 | 深圳市中润四方信息技术有限公司 | 一种基于应用容器的应用管理方法及系统 |
CN105939390A (zh) * | 2016-06-29 | 2016-09-14 | 深圳市轱辘软件开发有限公司 | 一种信息推送方法、服务器及系统 |
CN106453558A (zh) * | 2016-10-13 | 2017-02-22 | 北京京东尚科信息技术有限公司 | 一种信息推送方法、装置以及终端 |
CN106790354A (zh) * | 2016-11-15 | 2017-05-31 | 上海远景数字信息技术有限公司 | 一种防数据拥堵的通信方法及其装置 |
CN106878197A (zh) * | 2017-02-22 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种云平台消息传输的管理系统及方法 |
Non-Patent Citations (1)
Title |
---|
刘鑫等: "基于多队列缓冲池的紧急消息推送方法", 《计算机与现代化 算法设计与分析》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110071873A (zh) * | 2019-04-09 | 2019-07-30 | 华为技术有限公司 | 一种发送数据的方法、装置及相关设备 |
CN112214377A (zh) * | 2020-10-21 | 2021-01-12 | 新华三信息安全技术有限公司 | 一种设备管理方法及系统 |
CN112214377B (zh) * | 2020-10-21 | 2022-09-27 | 新华三信息安全技术有限公司 | 一种设备管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2921955B1 (en) | Capability monitoring in a service oriented architecture | |
US9116749B2 (en) | Method for dynamic on demand startup of a process or resource | |
KR101758883B1 (ko) | 라지 스케일 스토리지 시스템 | |
CN106790758B (zh) | 一种访问nat网络内部的网络对象的方法及装置 | |
CN109960634B (zh) | 一种应用程序监控方法、装置及系统 | |
US11283638B1 (en) | Determining the status of a node based on a distributed system | |
US9912544B2 (en) | System and method for master switch election | |
WO2019144846A1 (zh) | 一种存储系统、存储资源的分配方法及装置 | |
US20190319923A1 (en) | Network data control method, system and security protection device | |
CN109495523A (zh) | 管理指令下发方法、装置、电子设备及存储介质 | |
CN103731290A (zh) | 一种服务器故障切换方法 | |
CN102045379A (zh) | 一种进行ip存储的方法、系统和存储设备 | |
CN107547301A (zh) | 一种主备设备倒换方法及装置 | |
CN109802879A (zh) | 一种数据流路由方法及装置 | |
JP6501924B2 (ja) | アラートを解除する方法及びサーバー | |
JP2017005662A (ja) | 監視装置 | |
KR101214651B1 (ko) | Snmp trap을 이용한 usp의 장애발생을 sms를 이용하여 통지하는 장치 | |
JP2009225045A (ja) | 通信妨害装置及び通信妨害プログラム | |
CN104158681A (zh) | Sdn网络中区域控制器失效的处理方法和处理装置 | |
JP6513001B2 (ja) | 故障検知装置、故障検知方法、及びプログラム | |
US20210211381A1 (en) | Communication method and related device | |
US10417093B2 (en) | Methods for providing global spare data storage device management and devices thereof | |
JP2011165014A (ja) | 監視制御システム | |
KR20140044988A (ko) | 보안 시스템 및 그것의 동작 방법 | |
JP2006203340A (ja) | リソース管理装置および方法、ならびにシステム |
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 |
Application publication date: 20190319 |
|
RJ01 | Rejection of invention patent application after publication |