[发明专利]一种集群系统、消息处理方法及装置在审
申请号: | 201610519778.2 | 申请日: | 2016-07-04 |
公开(公告)号: | CN106909599A | 公开(公告)日: | 2017-06-30 |
发明(设计)人: | 赵振林 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/08 |
代理公司: | 北京同达信恒知识产权代理有限公司11291 | 代理人: | 郭润湘 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 集群 系统 消息 处理 方法 装置 | ||
技术领域
本申请涉及数据库技术领域,尤其涉及一种集群系统、消息处理方法及装置。
背景技术
在分布式集群环境下,集群中需要有一台机器从服务器接收消息放入数据库的消息队列中,然后由集群中的各台机器分别从消息队列中取出消息进行处理。集群中的每台机器中都部署有数据增量引擎,该数据增量引擎负责从服务器接收消息放入数据库的消息队列中。
目前,如果某台启动了数据增量引擎的机器宕机,或者这台机器的数据增量引擎停止工作,可以采用zookeeper启动另外一台机器的数据增量引擎。且,这种方式一方面需要单独部署zookeeper,实施复杂度较高。另一方面,这种方式仅能保证集群中存在正常工作的数据增量引擎,当出现两台以上的机器启动了数据增量引擎时,zookeeper不会进行处理。如果有多个数据增量引擎同时从服务器接收消息,则会导致数据库的消息队列中被放入大量重复消息,从而产生消息风暴。
综上,目前需要一种方案能够保证:在同一时刻,集群中有且只有一台机器的数据增量引擎在工作。
发明内容
本申请实施例提供一种集群系统、消息处理方法及装置,用以实现集群中有且只有一台机器的数据增量引擎处于工作状态。
本申请实施例提供一种集群系统,该集群系统包括:多台主机;其中:
所述多台主机,用于竞争获取互斥锁;所述互斥锁在同一时刻只能被集群中的一台主机占用;
所述多台主机中的第一主机,用于在获取到所述互斥锁后,启动所述第一主机的数据增量引擎;其中,所述数据增量引擎用于接收集群系统外的服务器发送的待处理消息,并将所述待处理消息写入集群系统的消息队列中。
可选地,所述第一主机还用于:
在获取到所述互斥锁后,按照预设的第一时间间隔更新所述互斥锁中的第一关键key值;所述第一key值用于判断所述数据增量引擎是否工作正常。
可选地,所述第一key值为心跳时间戳。
可选地,所述多台主机中的任一主机具体用于:
检测所述互斥锁中的第一key值,在确定所述第一key值没有被正常更新后,获取所述互斥锁。
可选地,所述多台主机中的任一主机具体用于:
在所述第一key值在预设时长内没有被更新时,确定所述第一key值没有被正常更新;或者,
在所述第一key值为空时,确定所述第一key值没有被正常更新。
可选地,所述第一主机还用于:
在启动所述第一主机的数据增量引擎后,更新所述互斥锁中的第二关键key值;所述第二key值用于标识当前获取互斥锁并启动数据增量引擎的主机。
本申请实施例还提供一种消息处理方法,包括:
第一主机按照预设的第二时间间隔,检测所述互斥锁中的第二key值;所述互斥锁锁在同一时刻只能被集群系统中的一台主机占用;
判断检测到的所述第二key值所标识的主机是否为所述第一主机;
若不是,且所述第一主机的数据增量引擎当前处于工作状态,则关闭所述第一主机的数据增量引擎。
本申请实施例提供一种消息处理装置,包括:
获取模块,用于与集群系统中的其它主机竞争获取互斥锁;所述互斥锁在同一时刻只能被集群中的一台主机占用;
启动模块,用于在所述获取模块获取到所述互斥锁后,启动所述第一主机的数据增量引擎;其中,所述数据增量引擎用于接收集群外的服务器发送的待处理消息,并将所述待处理消息写入集群的消息队列中。
本申请实施例还提供一种消息处理装置,包括:
检测模块,用于按照预设的第二时间间隔,检测所述互斥锁中的第二key值;
判断模块,用于判断检测到的所述第二key值所标识的主机是否为所述第一主机;
处理模块,用于若确定检测到的所述第二key值所标识的主机不是所述第一主机,且所述第一主机的数据增量引擎当前处于工作状态,则关闭所述第一主机的数据增量引擎。
本申请实施例中,在同一时刻,互斥锁只能被集群系统中的一台主机占用,只有获取到互斥锁的主机才能启动数据增量引擎,因此本申请实施例可以使集群系统中有且只有一台机器的数据增量引擎处于工作状态。
附图说明
图1为本申请实施例在集群系统中进行消息处理控制的示意图;
图2为本申请实施例一提供的消息处理方法流程图;
图3为本申请实施例二提供的消息处理方法流程图;
图4为本申请实施例三提供的消息处理装置结构示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610519778.2/2.html,转载请声明来源钻瓜专利网。