[发明专利]一种基于多集群的消息投递系统和消息投递方法有效
申请号: | 201510718228.9 | 申请日: | 2015-10-29 |
公开(公告)号: | CN105430048B | 公开(公告)日: | 2020-02-18 |
发明(设计)人: | 王福财 | 申请(专利权)人: | 努比亚技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04W8/18;H04W8/20 |
代理公司: | 深圳协成知识产权代理事务所(普通合伙) 44458 | 代理人: | 章小燕 |
地址: | 518000 广东省深圳市南山区高新区北环大道9018*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 集群 消息 投递 系统 方法 | ||
本发明公开了一种基于多集群的消息投递系统和消息投递方法。该基于多集群的消息投递方法,包括:消息服务器接收待处理的任务消息;消息服务器将所述任务消息根据消息类型发送到对应的至少一个服务器集群;所述服务器集群将所述任务消息投递到一个服务器节点进行处理。通过消息服务器汇集所有待处理的任务消息,将任务消息根据各服务器集群的订阅进行发送,再由服务器集群点对点投递到对应的服务器节点,实现了将大批量的消息没有冗余且没有遗漏地发送到对应的节点对信息进行处理,提高信息处理的效度和速度。
技术领域
本发明涉及消息调度领域,尤其涉及一种基于多集群的消息投递系统和消息投递方法。
背景技术
由于业务的增长以及市场的推广,互联网网站访问用户会有所增加,同时访问量和并发量也会相应增多。原有单台服务器可以满足部分人群的访问请求目前已远远无法满足需求,网站从架构设计考虑会横向扩展业务服务器形成服务器集群。因此在实际的生产环境一个大型网站会部署多个服务器集群,而服务器集群之间可能存在业务的通讯,集群之间通讯消息传递基本采用消息队列模型。
目前消息队列模型主要采用的是Topic模型(发布/订阅模型)和Queue模型(点对点模型)。Queue模型意味着一个消息只会被一个应用接收,不会被多个应用所接收。Topic模型与Queue模型区别在与消息接收的时候是允许独立接收到所有发送到Topic的消息的。
随着数据使用的越来越全面,在实际的消息处理过程中,单条消息,特别是等待有后续流程的任务消息,往往需要多方对应处理各自的相关任务。例如对于消息服务器中的任务消息1,节点A需要对其进行a操作,节点B需要对其进行b操作。如果采用Queue模型,那么消息服务器将任务消息1分配给节点A之后,b操作无法实施;如果采用Topic模型,将所有的消息都发送到所有的节点,只是少量的消息处理,各个节点还可以抛弃不与自己相关的任务消息,但是对于大量的消息,对于各个节点将会产生庞大的数据压力,并且造成这种数据压力的任务消息中有很大一部分可能都不是与自身相关的,整个信息处理的效度和速度都降低。
发明内容
本发明的主要目的在于提出一种基于多集群的消息投递系统和消息投递方法,旨在将大批量的消息没有冗余且没有遗漏地发送到对应的节点对信息进行处理,提高信息处理的效度和速度。
为实现上述目的,本发明提出一种基于多集群的消息投递系统,包括:
消息服务器和至少两个服务器集群,每个所述服务器集群包括至少两个服务器节点;
所述消息服务器包括:
消息汇集单元,用于接收待处理的任务消息;
消息发送单元,用于将所述任务消息根据消息类型发送到对应的至少一个服务器集群;
所述服务器集群包括:
消息投递单元,用于将所述任务消息投递到一个服务器节点进行处理。
其中,所述消息服务器,还包括:
队列生成单元,用于接收待处理的任务消息后,如果所述任务消息有明确的服务器节点,将该任务消息更新到消息队列;
所述消息投递单元,具体用于:
将所述任务消息投递到所述消息队列指定的服务器节点;或
根据所述服务器节点的任务请求投递任务消息。
其中,所述服务器集群,还包括:
消息订阅单元,用于向所述消息服务器发送用于订阅所述任务消息的订阅信息;
所述消息服务器还包括:
订阅记录单元,用于记录所述订阅信息。
其中,所述服务器集群,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于努比亚技术有限公司,未经努比亚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510718228.9/2.html,转载请声明来源钻瓜专利网。