CN110532105B - 一种消息队列消费者进程的控制方法、系统及装置 - Google Patents

一种消息队列消费者进程的控制方法、系统及装置 Download PDF

Info

Publication number
CN110532105B
CN110532105B CN201810516786.0A CN201810516786A CN110532105B CN 110532105 B CN110532105 B CN 110532105B CN 201810516786 A CN201810516786 A CN 201810516786A CN 110532105 B CN110532105 B CN 110532105B
Authority
CN
China
Prior art keywords
message queue
consumer process
process management
consumer
monitored
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
Application number
CN201810516786.0A
Other languages
English (en)
Other versions
CN110532105A (zh
Inventor
汪嘉诚
黄培训
杜长明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Youquan Information Technology Co ltd
Original Assignee
Youxinpai Beijing Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Youxinpai Beijing Information Technology Co ltd filed Critical Youxinpai Beijing Information Technology Co ltd
Priority to CN201810516786.0A priority Critical patent/CN110532105B/zh
Publication of CN110532105A publication Critical patent/CN110532105A/zh
Application granted granted Critical
Publication of CN110532105B publication Critical patent/CN110532105B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种消息队列消费者进程的控制方法、系统及装置,其中,控制方法包括:定期监控消息队列的运行参数;确定监控的所述运行参数与消费者进程管理系统中设置的运行参数是否一致;不一致时,终止所述消息队列进程。本发明的技术方案克服了现有技术中对消息队列消费者进行管理成本高、不灵活的技术问题。

Description

一种消息队列消费者进程的控制方法、系统及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种消息队列消费者进程的控制方法、系统及装置。
背景技术
随着互联网技术的发展,企业IT系统数量越来越多,规模越来越大,消息队列的使用很好的解决了对系统间通信时的业务耦合问题。在生产者消费者模式中,生产者用于将消息放入缓冲区,而消费者则用于从缓冲区中取出消息。
但是消息队列数量的增加,消费者进程也会越来越多,对于消费者进程的监控管理(消费者进程启动/停止/重启/分布式等)越来越困难,问题产生之后每次都需要人工去重新启动相应的程序,无法自动化监控相应的进程存活,这样就导致了数据安全的不可控。现有的一些解决方案,一部分不够灵活,别一部分则使用成本比较昂贵,面向的场景还不够丰富,安装和维护困难。
发明内容
针对现有技术中对消息队列消费者进行管理成本高、不灵活的技术问题,本发明公开了一种消息队列消费者进程的控制方法、系统及装置。
一种消息队列消费者进程管理方法,所述方法包括:
定期监控消息队列的运行参数;
确定监控的所述运行参数与消费者进程管理系统中设置的运行参数是否一致;
不一致时,终止所述消息队列进程。
进一步地,所述运行参数包括指定运行的IP、消息队列的消费者个数、运行状态中的一个或多个。
进一步地,运行状态包括禁用、已停止、待启动和正在运行。
进一步地,在一台或多台服务器中部署消费者监控服务代码和消费者程序代码,来执行所述定期监控消息队列的运行参数。
进一步地,监控的所述运行参数与消费者进程管理系统中设置的运行参数一致时,执行下一个监控。
进一步地,
将监控的所述消息队列的IP地址修改为与所述消费者进程管理系统中设置的IP地址相同;和/或,
将监控的所述消息队列的消费者个数修改为与所述消费者进程管理系统中的消费者个数相同;和/或,
将监控的所述消息队列的运行状态修改为与所述消费者进程管理系统中的运行状态相同。
进一步地,停止与所述监控的消息队列的IP地址不同的服务器中的消费者进程。
进一步地,不一致时,还将监控的所述消息队列的运行参数修改为与所述消费者进程管理系统中的运行参数一致。
本发明还提供一种消息队列消费者进程管理系统,所述消息队列消费者进程管理系统包括消费者进程管理模块和消费者进程监控模块,其中,
所述消费者进程管理模块,存储有消息队列的运行参数;
所述消费者进程监控模块,用于定期监控消息队列的运行参数,确定监控的所述运行参数与消费者进程管理模块中设置的运行参数是否一致,不一致时,终止所述消息队列进程。
本发明还提供一种消息队列消费者进程管理装置,所述消息队列消费者进程管理装置包括:至少一个处理器以及至少一个存储器;其中,
所述存储器存储执行上述任一所述方法的计算机程序,所述处理器调用所述存储器中的计算机程序以执行上述任一所述的方法。
通过本发明的技术方案,实现了消费者进程监控服务和消费者进程管理,减少了队列数量和消费者数量增加带来的运维和部署成本,实现消费者进程的灵活可控、高效部署。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明实施例的一种基本架构图;
图2示出了根据本发明实施例一种消费者进程管理方法;
图3示出了根据本发明实施例一种消费者进程管理系统;
图4示出了根据本发明实施例一种消费者进程管理装置。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例的消息队列控制系统基本包括作为消息生产者的业务系统、消息队列集群、消费者进程管理系统、消费者进程监控服务、消费者服务集群、业务回调API和业务系统API。在对消息队列的控制过程中,该消息队列控制系统的基本工作流程为:业务系统投递任务到消息队列集群;消费者服务集群从消息队列集群中取出任务,并且回调业务系统API接口;消费者进程监控服务持续对消费者进程的存活状态和配置进行监控,发现进程挂掉或者配置有更新,将会启动新的消费者进程,并结束原有进程;消费者进程管理系统对消息队列消费者进程的运行状态、运行数量、服务器地址进行管理。
本发明实施例主要通过图1的消息队列控制系统中消费者进程管理系统和消费者进程监控服务实现对消费者进程的管理。如图2示出了根据本发明实施例的对消费者进程管理的基本流程,如图2所示,消费者进程管理方法主要包括:启动消费者进程监控,对消息队列的运行参数进行定期监控,并确定监控的所述运行参数与消费者进程管理系统中设置的运行参数是否一致;不一致时,消费者进程管理系统将监控的所述消息队列的运行参数修改为与所述消费者进程管理系统中设置的运行参数一致。
下面结合具体示例对本发明的消息队列消费者进程管理方法进行说明。
本发明实施例中对消息队列定义了运行参数,所述运行参数通过以下基础数据结构进行定义,如下表所示:
字段名 类型 注释
id int(11) 队列ID
queue_name varchar(255) 队列名称
ip_address varchar(255) 指定队列运行的服务器IP(可多个)
consumer_num int(2) 每个IP运行某个队列消费者个数(可多个)
status tinyint(10) 状态0:禁用,-100:已停止,100:待启动,200:正在运行
callback_url varchar(255) 队列回调地址
如上表所示,基础数据结构包括6个字段:队列ID字段、队列名称queue_name字段、服务器IP地址址ip_address字段、消费者个数consumer_num字段、队列的运行状态status字段和队列回调地址callback_url字段。具体地:
队列ID字段的类型int(11)表示队列ID的类型为整数型,最长为11个字符;
队列名称queue_name字段的类型varchar(255),表示队列名称的类型是字符串型,最长为255个字符;
服务器IP地址ip_address字段的类型varchar(255),表示服务器IP地址的类型是字符串型,最长为255个字符;
消费者个数consumer_num字段的类型int(2),表示消费者个数字段的类型为整数型,有两个消费者,需要说明的是,本发明实施例以两个消费者为例进行示例性说明,并不局限于两个消费者;
队列的运行状态status字段的类型tinyint(10),表示状态的类型是整数型,最长为10个字符,其中该字段中0表示禁用、-100表示已停止、100表示待启动、200表示正在运行;
队列回调地址callback_url字段的类型varchar(255),表示队列回调地址的类型是字符串型,最长为255个字符。
本发明实施例中消息队列的基础数据结构存储在消费者进程管理系统中。消费者进程监控服务对消息队列监控时,获得消息队列的ID、队列名称、指定运行的服务器IP地址、每个IP对应的服务器运行的消息队列个数、消息队列的运行状态和消息队列回调地址等运行参数信息,与所述消费者进程管理系统中存储的对应消息队列的基础数据结构中的运行参数信息进行对比。
本发明实施例以消息队列ID号为1、消息队列名称为Test_queue的消息队列为例进行示例性说明。同时以两台服务器为例进行示例性说明,但是需要说明的是本发明并不限于两台服务器,一台服务器或多个台服务器均可适用于本发明。不失一般性,假定第一台服务器的IP地址为192.168.0.10,假定第二台服务器的IP地址为192.168.0.11。
首先在上述两台服务器中部署消费者监控服务代码和消费者程序代码,以分别在IP地址为192.168.0.10和192.168.0.11的第一服务器和第二服务器中启动消费者监控服务,其中消费者是处理消息队列中的数据的进程。
部署消费者监控服务代码和消费者程序代码后,在上述第一服务器和第二服务器中启动消费者进程监控服务。消费者进程监控服务将定期扫描消息队列,获得消息队列的ID、队列名称、指定运行的服务器IP地址、每个IP对应的服务器运行的消息队列个数、消息队列的运行状态和消息队列回调地址等运行参数信息。其中所述定期的周期可以以秒、分钟、小时为单位,不失一般性,本发明实施例将监控周期定为一分钟,以每分钟为单位监控数据库队列配置和消费者进程运行状态为例进行示例性说明。
不失一般性,在扫描过程中提取消息队列的运行状态status字段的数值,以确定消息队列的运行状态。如上表1所示,如果状态status字段为0,则确定消息队列运行状态为禁用,如果状态status字段为-100,则确定消息队列运行状态为已停止,如果状态status字段为100,则确定消息队列运行状态为待启动,如果状态status字段为200,则确定消息队列运行状态为正在运行。
在扫描中,逐条检查消息队列的运行状态,并检查该消息队列对应的消费者进程的状态和进程数量,若一致,则继续下一条,若不一致,则以数据库记录的状态和数量为准操控消费者进程状态。示例性地,如果当前消息队列的状态为禁用(status=0),而通过进程扫描发现该消息队列对应的消费者进程为正在运行状态(status=200),则该消费者服务会自动终止该消息队列消费者进程。此后,如果管理员在消费者进程管理系统中设置该条记录的状态为正在运行,则在下一次(即下一个扫描周期)服务扫描时会发现该记录对应的消费者进程状态不存在了,即已经没有该工作进程。于是消费者监控服务自动启动该消费者进程,使之与消费者进程管理系统的设置(包括消费者数量、状态、服务器IP等)保持一致。管理监控程序会按照表1中的消费者个数和状态来创建子进程,并会检查服务器IP是否在队列中配置。
在消费者进程管理系统中可以对队列消息进行运行参数的设置,例如进行如下设置:
字段名
id 1
queue_name Test_queue
ip_address 192.168.0.10;192.168.0.11
consumer_num 2
Status 200
如上表所示,消息队列ID为1的队列名为测试队列(Test_queue),该消息队列的消费者进程在所述第一服务器和所述第二服务器中。所述第一服务器和所述第二服务器分别有两个消费者进程,需要注意的是,本发明实施例以每个服务器设两个消费者进程为例进行示例性说明,当并不仅仅限于两个,消费者进程数量可以任意设置。上述队列的运行状态设置为正在运行。
则通过以上服务监控后,消费者服务进程会自动在所述第一服务器和所述第二服务器上启动2个(共四个)队列名称为测试队列Test_queue的消费者进程。
在消费者进程管理系统中可以对消息队列的运行参数进行修改,例如进行如下修改:
字段名
id 1
queue_name Test_queue
ip_address 192.168.0.11
consumer_num 1
status 200
通过该表可以看出,消息队列修改后,仅仅设置了第二服务器的IP地址192.168.0.11,而没有设定第一服务器的IP地址。所以,通过服务监控后,消费者服务进程会自动停止192.168.0.10上的Test_queue队列的消费者进程,而仅仅在第二服务器上执行Test_queue队列的消费者进程。
至此,通过本发明实施例实现了通过消费者进程管理系统对任意多队列,任意多消费者,任意复杂部署方式的灵活控制。
与本发明上述实施例对应地,本发明还提供了一种消息队列消费者进程管理系统。如图3所示,所述系统包括消费者进程管理模块和消费者进程监控模块,所述消费者进程管理模块,存储有消息队列的运行参数;所述消费者进程监控模块,用于定期监控消息队列的运行参数,确定监控的所述运行参数与消费者进程管理模块中设置的运行参数是否一致,不一致时,终止所述消息队列进程。
与本发明上述实施例对应地,本发明还提供了一种消息队列消费者进程管理装置。如图4所示,所述消息队列消费者进程管理装置包括:至少一个处理器以及至少一个存储器;其中,所述存储器存储执行如上任一所述方法的计算机程序,所述处理器调用所述存储器中的计算机程序以执行如上任一所述的方法。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

1.一种消息队列消费者进程管理方法,所述方法包括:
定期监控消息队列的运行参数,所述运行参数包括指定运行的IP、消息队列的消费者个数、运行状态中的一个或多个;其中,运行状态包括禁用、已停止、待启动和正在运行;
确定监控的所述运行参数与消费者进程管理系统中设置的运行参数是否一致;
不一致时,终止所述消息队列进程;还将监控的所述消息队列的运行参数修改为与所述消费者进程管理系统中的运行参数一致。
2.根据权利要求1所述的消息队列消费者进程管理方法,其中,
在一台或多台服务器中部署消费者监控服务代码和消费者程序代码,来执行所述定期监控消息队列的运行参数。
3.根据权利要求1所述的消息队列消费者进程管理方法,所述方法还包括:
监控的所述运行参数与消费者进程管理系统中设置的运行参数一致时,执行下一个监控。
4.根据权利要求1所述的消息队列消费者进程管理方法,其中,
将监控的所述消息队列的IP地址修改为与所述消费者进程管理系统中设置的IP地址相同;和/或,
将监控的所述消息队列的消费者个数修改为与所述消费者进程管理系统中的消费者个数相同;和/或,
将监控的所述消息队列的运行状态修改为与所述消费者进程管理系统中的运行状态相同。
5.根据权利要求4所述的消息队列消费者进程管理方法,其中,
停止与所述监控的消息队列的IP地址不同的服务器中的消费者进程。
6.一种消息队列消费者进程管理系统,所述消息队列消费者进程管理系统包括消费者进程管理模块和消费者进程监控模块,其中,
所述消费者进程管理模块,存储有消息队列的运行参数,所述运行参数包括指定运行的IP、消息队列的消费者个数、运行状态中的一个或多个;其中,运行状态包括禁用、已停止、待启动和正在运行;
所述消费者进程监控模块,用于定期监控消息队列的运行参数,确定监控的所述运行参数与消费者进程管理模块中设置的运行参数是否一致,不一致时,终止所述消息队列进程;还将监控的所述消息队列的运行参数修改为与所述消费者进程管理系统中的运行参数一致。
7.一种消息队列消费者进程管理装置,所述消息队列消费者进程管理装置包括:至少一个处理器以及至少一个存储器;其中,
所述存储器存储执行权利要求1-5任一所述方法的计算机程序,所述处理器调用所述存储器中的计算机程序以执行权利要求1-5任一所述的方法。
CN201810516786.0A 2018-05-25 2018-05-25 一种消息队列消费者进程的控制方法、系统及装置 Active CN110532105B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810516786.0A CN110532105B (zh) 2018-05-25 2018-05-25 一种消息队列消费者进程的控制方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810516786.0A CN110532105B (zh) 2018-05-25 2018-05-25 一种消息队列消费者进程的控制方法、系统及装置

Publications (2)

Publication Number Publication Date
CN110532105A CN110532105A (zh) 2019-12-03
CN110532105B true CN110532105B (zh) 2022-06-17

Family

ID=68656899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810516786.0A Active CN110532105B (zh) 2018-05-25 2018-05-25 一种消息队列消费者进程的控制方法、系统及装置

Country Status (1)

Country Link
CN (1) CN110532105B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111240859A (zh) * 2020-01-07 2020-06-05 北京达佳互联信息技术有限公司 一种数据处理方法、装置、服务器以及存储介质
CN111694677A (zh) * 2020-05-08 2020-09-22 深圳木成林科技有限公司 消息队列的管理方法、装置、终端和计算机可读存储介质
CN117742998B (zh) * 2024-02-18 2024-05-07 浩鲸云计算科技股份有限公司 一种面向计费采集数据转发的高性能队列方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938770A (zh) * 2012-11-22 2013-02-20 亚信联创科技(中国)有限公司 一种实现多协议消息统一接口的方法及相关装置、系统
CN103825752A (zh) * 2012-11-19 2014-05-28 中国银联股份有限公司 用于监控系统运行状态的装置及方法
US9436532B1 (en) * 2011-12-20 2016-09-06 Emc Corporation Method and system for implementing independent message queues by specific applications
CN107395729A (zh) * 2017-07-27 2017-11-24 深圳乐信软件技术有限公司 一种消息队列的消费系统、方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030182464A1 (en) * 2002-02-15 2003-09-25 Hamilton Thomas E. Management of message queues

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436532B1 (en) * 2011-12-20 2016-09-06 Emc Corporation Method and system for implementing independent message queues by specific applications
CN103825752A (zh) * 2012-11-19 2014-05-28 中国银联股份有限公司 用于监控系统运行状态的装置及方法
CN102938770A (zh) * 2012-11-22 2013-02-20 亚信联创科技(中国)有限公司 一种实现多协议消息统一接口的方法及相关装置、系统
CN107395729A (zh) * 2017-07-27 2017-11-24 深圳乐信软件技术有限公司 一种消息队列的消费系统、方法及装置

Also Published As

Publication number Publication date
CN110532105A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
CN108600029B (zh) 一种配置文件更新方法、装置、终端设备及存储介质
CN110532105B (zh) 一种消息队列消费者进程的控制方法、系统及装置
US7904900B2 (en) Method in a network of the delivery of files
CN111818132B (zh) 物联网设备的控制方法、装置、计算机设备和存储介质
US20060190948A1 (en) Connection manager, method, system and program product for centrally managing computer applications
CN111274052A (zh) 数据分发方法、服务器及计算机可读存储介质
US20100043004A1 (en) Method and system for computer system diagnostic scheduling using service level objectives
CN113569987A (zh) 模型训练方法和装置
US20050038888A1 (en) Method of and apparatus for monitoring event logs
US8161326B2 (en) Method and system for managing information technology (IT) infrastructural elements
CN107800783B (zh) 远程监控服务器的方法及装置
JP2004038516A (ja) 業務処理システム、運用管理方法及び運用管理を行うためのプログラム
CN111010318A (zh) 发现物联网终端设备失联的方法、系统和设备影子服务器
US7546604B2 (en) Program reactivation using triggering
JP2003233512A (ja) 保守機能付きクライアント監視システム及び監視サーバ及びプログラム並びにクライアント監視・保守方法
US20130204921A1 (en) Diagnostics agents for managed computing solutions hosted in adaptive environments
CN105025179A (zh) 呼叫中心座席的监控方法及系统
CN105897487B (zh) 用于运维系统的设备管理方法和装置
CN110209497B (zh) 一种主机资源动态扩缩容的方法及系统
TW554277B (en) Automated network management system
US20160359953A1 (en) Migration enhanced by presence, instant messaging, and last log-on time
CN111290873B (zh) 故障处理方法和装置
CN110764882B (zh) 分布式管理方法、分布式管理系统及装置
CN107526670A (zh) 服务自动监控方法、电子设备、计算机存储介质
CN111756778B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231218

Address after: 230012 In the factory building of Anhui Guogou Energy Co., Ltd., 100 meters east of the intersection of Guanjing Road and Luban Road in Xinzhan District, Hefei City, Anhui Province

Patentee after: Hefei Youquan Information Technology Co.,Ltd.

Address before: 100102 room 323701, building 5, yard 1, Futong East Street, Chaoyang District, Beijing

Patentee before: YOUXINPAI (BEIJING) INFORMATION TECHNOLOGY Co.,Ltd.