一种集群系统、消息处理方法及装置制造方法及图纸

技术编号:15746721 阅读:87 留言:0更新日期:2017-07-03 02:39
本申请涉及数据库技术领域,尤其涉及一种集群系统、消息处理方法及装置,用以实现集群中有且只有一台机器的数据增量引擎处于工作状态。本申请实施例提供一种集群系统,包括:多台主机;其中:所述多台主机,用于竞争获取互斥锁;所述多台主机中的第一主机,用于在获取到所述互斥锁后,启动所述第一主机的数据增量引擎;所述数据增量引擎用于接收集群外的服务器发送的待处理消息,并将所述待处理消息写入集群的消息队列中。由于在同一时刻互斥锁只能被集群中的一台主机占用,只有获取到互斥锁的主机才能启动数据增量引擎,因此本申请实施例可以使集群系统中有且只有一台机器的数据增量引擎处于工作状态。

Cluster system, message processing method and device

The invention relates to the technical field of database, in particular to a cluster system, a message processing method and a device for realizing a data increment engine with and only a machine in a cluster in a working state. Including the embodiment of the present invention provides a cluster system, multi host computer; wherein the multiple hosts, competing for mutex acquisition; the first host of the plurality of host, used in access to the mutex, the incremental data engine starting the first host; the incremental data the engine used for sending and receiving outside the cluster server to process the message, and the message is written to the message queue in the cluster. At the same time because the mutex can only be in the cluster host occupied only access to the mutex host to start incremental data engine, therefore the embodiment of the invention can make the cluster system has only one machine in the work of the state of incremental data engine.

【技术实现步骤摘要】
一种集群系统、消息处理方法及装置
本申请涉及数据库
,尤其涉及一种集群系统、消息处理方法及装置。
技术介绍
在分布式集群环境下,集群中需要有一台机器从服务器接收消息放入数据库的消息队列中,然后由集群中的各台机器分别从消息队列中取出消息进行处理。集群中的每台机器中都部署有数据增量引擎,该数据增量引擎负责从服务器接收消息放入数据库的消息队列中。目前,如果某台启动了数据增量引擎的机器宕机,或者这台机器的数据增量引擎停止工作,可以采用zookeeper启动另外一台机器的数据增量引擎。且,这种方式一方面需要单独部署zookeeper,实施复杂度较高。另一方面,这种方式仅能保证集群中存在正常工作的数据增量引擎,当出现两台以上的机器启动了数据增量引擎时,zookeeper不会进行处理。如果有多个数据增量引擎同时从服务器接收消息,则会导致数据库的消息队列中被放入大量重复消息,从而产生消息风暴。综上,目前需要一种方案能够保证:在同一时刻,集群中有且只有一台机器的数据增量引擎在工作。
技术实现思路
本申请实施例提供一种集群系统、消息处理方法及装置,用以实现集群中有且只有一台机器的数据增量引擎处于工作状本文档来自技高网...
一种集群系统、消息处理方法及装置

【技术保护点】
一种集群系统,其特征在于,该集群系统包括:多台主机;其中:所述多台主机,用于竞争获取互斥锁;所述互斥锁在同一时刻只能被集群系统中的一台主机占用;所述多台主机中的第一主机,用于在获取到所述互斥锁后,启动所述第一主机的数据增量引擎;其中,所述数据增量引擎用于接收集群系统外的服务器发送的待处理消息,并将所述待处理消息写入集群系统的消息队列中。

【技术特征摘要】
1.一种集群系统,其特征在于,该集群系统包括:多台主机;其中:所述多台主机,用于竞争获取互斥锁;所述互斥锁在同一时刻只能被集群系统中的一台主机占用;所述多台主机中的第一主机,用于在获取到所述互斥锁后,启动所述第一主机的数据增量引擎;其中,所述数据增量引擎用于接收集群系统外的服务器发送的待处理消息,并将所述待处理消息写入集群系统的消息队列中。2.如权利要求1所述的集群系统,其特征在于,所述第一主机还用于:在获取到所述互斥锁后,按照预设的第一时间间隔更新所述互斥锁中的第一关键key值;所述第一key值用于判断所述数据增量引擎是否工作正常。3.如权利要求2所述的集群系统,其特征在于,所述第一key值为心跳时间戳。4.如权利要求2或3所述的集群系统,其特征在于,所述多台主机中的任一主机具体用于:检测所述互斥锁中的第一key值,在确定所述第一key值没有被正常更新后,获取所述互斥锁。5.如权利要求4所述的集群系统,其特征在于,所述多台主机中的任一主机具体用于:在所述第一key值在预设时长内没有被更新时,确定所述第一key值没有被正常更新;或者,在所述第一key值为空时,确定所述第一key值没有被正常更新。6.如权利要求1所述的集群系统,其特征在于,所述第一主机还用于:在启动所述第一主机的数据增量引擎后,更新所述互斥锁中的第二关键key值;所述第二key值用于标识当前获取互斥锁并启动数据增量引擎的主机。7.如权利要求6所述的集群系统,其特征在于,所述多台主机中的任一主机还用于:按照预设的第二时间间隔,检测所述互斥锁中的第二key值;判断检测到的所述第二key值所标识的主机是否为所述任一主机;若不是,且所述任一主机的数据增量引擎当前处于工作状态,则关闭所述任一主机的数据增量引擎。8.一种集群系统,其特征在于,该集群系统包括:多台主机,其中:所述多台主机,用于竞争获取分布式锁;所述分布式锁在同一时刻只能被集群系统中的一台主机占用;所述多台主机中的第一主机,用于在获取到所述分布式锁后,启动所述第一主机的数据增量引擎;其中,所述数据增量引擎用于接收集群系统外的服务器发送的待处理消息,并将所述待处理消息写入集群系统的消息队列中。9.一种消息处理方法,其特征在于,该方法包括:第一主机与集群系统中的其它主机竞争获取互斥锁;所述互斥锁在同一时刻只能被集群系统中的一台...

【专利技术属性】
技术研发人员:赵振林
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1