一种分布式通讯系统及对应的分布式通讯方法技术方案

技术编号:13394456 阅读:60 留言:0更新日期:2016-07-23 12:00
本发明专利技术公开了一种分布式通讯系统及方法,其中,所述的系统包括接口机集群和业务机集群,接口机集群包括多个接口主机,业务机集群包括多个业务主机;每一个接口主机,用于从本地获取任务配置信息,并广播给对应的多个业务主机;还用于从本地获取待处理任务,并发送给对应的业务主机;每一个业务主机,用于接收广播的任务配置信息,更新本地的任务配置信息;还用于获取对应的接口主机发送的待处理任务,并根据本地的任务配置信息对待处理任务进行处理。本发明专利技术提供的方法,接口主机与业务主机之间可支持1:N和M:N的连接模式,无需独立的主机单独部署,避免单节点故障;可支持横向扩展,可以任意扩展接口主机的数量和业务主机的数量。

【技术实现步骤摘要】

本专利技术涉及分布式通讯
,具体一种分布式通讯系统及采用该分布式通讯系统进行分布式通讯的方法。
技术介绍
随着业务数据交换平台的业务规模扩大,单主机单节点部署已经无法满足业务需求。消息量的大量增长导致我们必须采取集群模式进行处理,分布式通讯是完成多主机之间信息交换的基础,技术方面一般有2种选择:开源/商用的分布式通讯框架,自主开发分布式通讯框架。对于开源/商用的分布式通讯框架,主要有以下几个问题:1、需要独立主机进行部署,增加项目和维护成本;2、API接口较多,开发人员需要进行大量培训;对于自主开发的分布式通讯框架,主要有以下几个问题:1、传统的socket连接模式仅支持端到端连接,对于集群模式需要管理多个socket描述符,增加开发难度和逻辑复杂度;2、传统的socket处理需要显示地建立连接、监听端口、处理异常,开发复杂度大大增加。
技术实现思路
本专利技术所要解决的技术问题是提供一种分布式通讯系统及对应的分布式通讯方法,能够克服现有技术的不足。本专利技术解决上述技术问题的技术方案如下:一方面,本专利技术提供了一种分布式通讯系统,包括接口机集群和业务机集群,所述接口机集群包括多个接口主机,所述业务机集群包括多个业务主机;每一个接口主机,用于从接口主机本地获取任务配置信息,并将获取的任务配置信息广播给对应的多个业务主机;还用于从本地获取待处理任务,并将获取的待处理任务分发给对应的业务主机;每一个业务主机,用于接收对应的接口主机广播的任务配置信息,并根据接收的任务配置信息,更新本地的任务配置信息,且向对应的接口主机发送信息接收响应;还用于获取对应的接口主机发送的待处理任务,并根据本地的任务配置信息对待处理任务进行处理,且向对应的接口主机发送任务接收响应。另一方面,本专利技术提供了一种采用分布式通讯系统进行分布式通讯的方法,所述分布式通讯系统包括接口机集群和业务机集群,所述接口机集群包括多个接口主机,所述业务及集群包括多个业务主机,包括:每一个接口主机从接口主机本地获取任务配置信息,并将获取的任务配置信息广播给对应的多个业务主机;以及从本地获取待处理任务,并将获取的待处理任务分发给对应的业务主机;每一个业务主机接收对应的接口主机广播的任务配置信息,并根据接收的任务配置信息,更新本地的任务配置信息,且向对应的接口主机发送信息接收响应;以及获取对应的接口主机发送的待处理任务,并根据本地的任务配置信息对待处理任务进行处理,且向对应的接口主机发送任务接收响应。本专利技术提供的一种分布式通讯系统及采用分布式通讯系统进行分布式通讯的方法,接口机集群与业务机集群可支持1:N的连接模式,也可支持M:N的连接模式,无需独立的主机单独部署,没有中心的概念,避免单节点故障;支持M:N的连接模式,减少端口数量,提高整个系统的利用效率;可支持横向扩展,可以任意扩展接口主机的数量和业务主机的数量,相比传统socket的端到端的连接更具有扩展性;本方案采取模块化开发,代码复用度高,可以适用各种业务处理场景。附图说明图1为本专利技术实施例一的一种分布式通讯系统示意图;图2为任务配置信息广播示意图;图3为接口主机中的pub组件与业务主机中的sub组件之间的通讯示意图;图4为任务下发示意图;图5为任务接收反馈示意图;图6为push组件与pull组件之间的通讯示意图;图7为广播任务配置信息流程图;图8为任务下发流程图。具体实施方式以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。实施例一、一种分布式通讯系统。下面结合图1至图6对本实施例提供的消息发布系统进行说明。参见图1,本实施例提供的分布式通讯系统包括接口机集群和业务机集群,所述接口机集群包括多个接口主机,所述业务机集群包括多个业务主机。每一个接口主机,用于从接口主机本地获取任务配置信息,并将获取的任务配置信息广播给对应的多个业务主机;还用于从本地获取待处理任务,并将获取的待处理任务分发给对应的业务主机。每一个业务主机,用于接收对应的接口主机广播的任务配置信息,并根据接收的任务配置信息,更新本地的任务配置信息,且向对应的接口主机发送信息接收响应;还用于获取对应的接口主机发送的待处理任务,并根据本地的任务配置信息对待处理任务进行处理,且向对应的接口主机发送任务接收响应。其中,参见图2,为任务配置信息广播示意图,每一个接口主机中包括一个pub组件、一个路由负载装置和多个pull组件,每一个业务主机中包括一个sub组件和多个push组件。可参见图3,一个接口主机中pub组件对应多个业务主机中的sub组件,实现1:N的连接模式,每一个接口主机中的pub组件,用于从本地获取任务配置信息,并将获取的任务配置信息发送给路由负载装置。路由负载装置,用于将pub组件发送的任务配置信息经过路由后转发给对应的多个业务主机;每一个业务主机中的sub组件,用于接收路由负载装置转发的任务配置信息,并根据接口的任务配置信息,更新本地的任务配置信息;每一个业务主机中的push组件,用于当sub组件接收到任务配置信息后,根据任务配置信息,更新本地的任务配置信息,并向对应接口主机的路由负载装置发送信息接收响应;每一个接口主机中的pull组件,用于从路由负载装置中获取信息接收响应,根据信息接收响应,更新本地的任务配置信息发送状态。每一个接口主机中的pub组件,还用于当本接口主机未接收到至少一个对应的业务主机发送的信息接收响应,则等待预定时间后向对应的所有的业务主机重新发送任务配置信息。参见图4和图5,分别为任务分发示意图和任务接收反馈示意图,每一个接口主机中还包括多个push组件,以及每一个业务主机中还包括多个pull组件;每一个接口主机中的push组件,用于从该接口主机本地获取待分发任务,并将待分发任务发送给路由负载装置;所述路由负载装置,还用于接收每一个接口主机的push组件发送的待分发任务,并将接收到的所有待分发任务存储于任务队列中;以及还用于接收每一个业务主机中的push组件发送的任务接收响应,并将接收的所有任务接收响应存储于任务响应队列中;每一个接口主机中的pull组件,还用于从路由负载装置的任务响应队列中主动获取任务接收响应,根据任务接收响应,更新本地对应任务的发送状态;每一个业务主机中的p本文档来自技高网...

【技术保护点】
一种分布式通讯系统,其特征在于,包括接口机集群和业务机集群,所述接口机集群包括多个接口主机,所述业务机集群包括多个业务主机;每一个接口主机,用于从接口主机本地获取任务配置信息,并将获取的任务配置信息广播给对应的多个业务主机;还用于从本地获取待处理任务,并将获取的待处理任务分发给对应的业务主机;每一个业务主机,用于接收对应的接口主机广播的任务配置信息,并根据接收的任务配置信息,更新本地的任务配置信息,且向对应的接口主机发送信息接收响应;还用于获取对应的接口主机发送的待处理任务,并根据本地的任务配置信息对待处理任务进行处理,且向对应的接口主机发送任务接收响应。

【技术特征摘要】
1.一种分布式通讯系统,其特征在于,包括接口机集群和业务机集群,
所述接口机集群包括多个接口主机,所述业务机集群包括多个业务主机;
每一个接口主机,用于从接口主机本地获取任务配置信息,并将获取的
任务配置信息广播给对应的多个业务主机;还用于从本地获取待处理任务,
并将获取的待处理任务分发给对应的业务主机;
每一个业务主机,用于接收对应的接口主机广播的任务配置信息,并根
据接收的任务配置信息,更新本地的任务配置信息,且向对应的接口主机发
送信息接收响应;还用于获取对应的接口主机发送的待处理任务,并根据本
地的任务配置信息对待处理任务进行处理,且向对应的接口主机发送任务接
收响应。
2.如权利要求1所述的一种分布式通讯系统,其特征在于,每一个接
口主机中包括一个pub组件、一个路由负载装置和多个pull组件,每一个业
务主机中包括一个sub组件和多个push组件;
每一个接口主机中的pub组件,用于从本地获取任务配置信息,并将获
取的任务配置信息发送给路由负载装置;
路由负载装置,用于将pub组件发送的任务配置信息经过路由后转发给
对应的多个业务主机;
每一个接口主机中的pull组件,用于从路由负载装置中获取信息接收响
应,根据信息接收响应,更新本地的任务配置信息发送状态;
每一个业务主机中的sub组件,用于接收路由负载装置转发的任务配置
信息,并根据接口的任务配置信息,更新本地的任务配置信息;
每一个业务主机中的push组件,用于当sub组件接收到任务配置信息后,
向对应接口主机的路由负载装置发送信息接收响应。
3.如权利要求2所述的一种分布式通讯系统,其特征在于,每一个接
口主机中的pub组件,还用于当本接口主机未接收到至少一个对应的业务主
机发送的信息接收响应,则等待预定时间后向对应的所有的业务主机重新发
送任务配置信息。
4.如权利要求2所述的一种分布式通讯系统,其特征在于,每一个接
口主机中还包括多个push组件,以及每一个业务主机中还包括多个pull组
件;
每一个接口主机中的push组件,用于从该接口主机本地获取待分发任
务,并将待分发任务发送给路由负载装置;
所述路由负载装置,还用于接收每一个接口主机的push组件发送的待
分发任务,并将接收到的所有待分发任务存储于任务队列中;以及还用于接
收每一个业务主机中的push组件发送的任务接收响应,并将接收的所有任
务接收响应存储于任务响应队列中;
每一个接口主机中的pull组件,还用于从路由负载装置的任务响应队列
中主动获取任务接收响应,根据任务接收响...

【专利技术属性】
技术研发人员:韩宇峰
申请(专利权)人:北京思特奇信息技术股份有限公司
类型:发明
国别省市:北京;11

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

1