一种实现对多个下游节点的流量均衡下发的平台及方法

文档序号:7702767阅读:100来源:国知局
专利名称:一种实现对多个下游节点的流量均衡下发的平台及方法
技术领域
本发明涉及短信/彩信大流量下发的技术领域,尤其涉及一种通过地区路由策 略实现对多个下游节点的流量均衡下发的消息发送平台及消息发送方法。
背景技术
随着短信/彩信业务的不断发展,相关的下发业务众多,如手机报、天气预 报、移动资讯等各种业务的定向发送。大业务量的性能和流量均衡问题逐渐凸显出来, 从而导致短信网关和彩信中心所承受的负荷量越来越大。特别是在下发平台连接多个下 游节点的全国性平台的场景下,这里,下游节点包括短信网关/彩信中心。当针对多个 下游节点的全国性平台下发业务时,会对各个下游节点瞬时冲击甚至瘫痪,也就是说, 大业务量集中下发时产生的大流量会导致短信网关/彩信中心都面临性能上的瓶颈。因 此,对下游节点的流量实现均衡控制,减小对短信网关/彩信中心的冲击,实现流量的 平稳、持续,以最大限度使用当前的系统性能,是当前迫切需要探讨的问题。目前,业 界通常有三种提高整个系统的下发消息处理能力的实现方案,以下分别阐述。
第一种实现方案在下游节点增加短信网关/彩信中心,通过硬件设备的投 资,实现系统性能的硬提高,实现方案的架构图如图1所示。然而,采用这种方法需要 的投资较大,不太适合降低成本的要求。其中,图1中各个地区中的短信网关2即为 为了减压所增加的硬件设备。
第二种实现方案在消息发送平台和下游节点之间增加设备,让新增的设备对 消息进行缓冲和流量控制,同时做处理验证,合格的消息才发送到短信网关或者彩信中 心,实现方案的架构图如图2所示。虽然采用这种方式能通过缓冲设备减轻下级网元的 压力,但是,增加新设备依然意味着增加工程的开支,不太适合降低成本的要求。
第三种实现方案消息从消息发送平台发出去的时候,需进行流量限制,计算 方法多是以滑动时间窗的方式,计算在某一个时刻从本系统发出的消息流量,当流量超 标的时候,就暂缓发送。然而,采用这种方式只在连接一个短信网关或一个彩信中心 时,才能产生作用,在针对多个下游节点的全国性平台下发业务的场景下,采用这种方 式其缺点凸显,效果不明显,当消息发送平台连接多个短信中心/彩信网关时,虽然部 分下游节点流量满负荷,但部分节点却处于空闲状态,系统资源没有充分利用,无法做 到下发性能的软提升。综上所述,目前,特别是针对多个下游节点的全国性平台下发业 务的场景下,迫切需要一种能实现对多个下游节点的流量均衡下发的实现方案。发明内容
有鉴于此,本发明的主要目的在于提供一种实现对多个下游节点的流量均衡下 发的平台及方法,能实现对多个下游节点的流量均衡下发,以确保降低成本的要求和系 统资源被充分利用的要求。
为达到上述目的,本发明的技术方案是这样实现的
一种实现对多个下游节点的流量均衡下发的消息发送平台,所述消息发送平 台,用于采用地区号码段路由策略实现下发流量的均衡控制,并根据目的号码将消息下 发到所述目的号码相对应地区的下游节点。
其中,所述消息发送平台,具体包括任务控制线程、路由分析线程、和消息 发送线程组;其中,
任务控制线程,用于创建消息发送的任务,并提取所述任务对应的目的号码;
路由分析线程,用于根据路由信息表对所述目的号码进行路由分析,将对应不 同地区号码段的各个目的号码,分别对应添加入不同的待发送队列中进行分类存储;
消息发送线程组,用于根据不同的下游节点当前的流量情况,按照流量均衡原 则,根据不同的待发送队列中存储的目的号码,将消息下发到目的号码相对应地区的下 游节点。
其中,所述路由分析线程,进一步用于按照所述路由信息表中的地区号码段、 下游节点标识(ID)和待发送队列ID的对应关系,对目的号码进行路由分析。
其中,所述消息发送线程组具体包括多个消息发送线程;所述消息发送线程 组,进一步用于采用不同消息发送线程的多线程并行处理的方式。
其中,每个消息发送线程从各自控制的多个待发送队列中,根据当前待发送队 列中存储的目的号码,将消息下发到目的号码相对应地区的下游节点,并需实时检测当 前待发送队列对应的下游节点的流量,当实时检测到流量超过所述下游节点的配置能力 时,阻塞对所述下游节点的消息下发,当实时检测到流量恢复时,重新启动对所述下游 节点的消息下发。
其中,所述消息发送线程,进一步用于当实时检测到流量未超过所述下游节点 的配置能力、或实时检测到流量恢复时,从消息发送线程所控制的其中一个待发送队列 中提取出一个目的号码,并将消息下发到当前提取的目的号码相对应地区的下游节点, 且每次下发后都需要对下游节点的流量重新进行实时检测;当实时检测到流量超过所述 下游节点的配置能力时,以轮询的方式选择消息发送线程所控制的其他待发送队列,根 据从其他待发送队列中提取的目的号码,将消息下发到当前提取的目的号码相对应地区 的下游节点。
一种实现对多个下游节点的流量均衡下发的消息发送方法,该方法包括采用 地区号码段路由策略实现下发流量的均衡控制,并根据目的号码将消息下发到所述目的 号码相对应地区的下游节点。
其中,将所述消息下发到所述目的号码相对应地区的下游节点具体包括
任务控制线程创建消息发送的任务,并提取所述任务对应的目的号码;
路由分析线程根据路由信息表对所述目的号码进行路由分析,将对应不同地区 号码段的各个目的号码,分别对应添加入不同的待发送队列中进行分类存储;
消息发送线程组根据不同的下游节点当前的流量情况,按照流量均衡原则,根 据不同的待发送队列中存储的目的号码,将消息下发到目的号码相对应地区的下游节 点ο
其中,所述路由分析具体包括按照所述路由信息表中的地区号码段、下游节 点ID和待发送队列ID的对应关系,对目的号码进行路由分析。
其中,所述消息发送线程组控制所述下发具体采用不同消息发送线程的多线 程并行处理的方式;其中,所述消息发送线程组具体包括多个消息发送线程。
其中,每个消息发送线程按照所述流量均衡原则实现所述下发时,进一步需实 时检测不同的下游节点当前的流量情况;其中,
每个消息发送线程从各自控制的多个待发送队列中,根据当前待发送队列中存 储的目的号码,将消息下发到目的号码相对应地区的下游节点,当实时检测到当前待发 送队列对应的下游节点的流量超过所述下游节点的配置能力时,阻塞对所述下游节点的 消息下发,当实时检测到当前待发送队列对应的下游节点的流量恢复时,重新启动对所 述下游节点的消息下发。
其中,通过所述实时检测实现所述下发进一步包括
当实时检测到下游节点的流量未超过所述下游节点的配置能力、或实时检测到 下游节点的流量恢复时,从消息发送线程所控制的其中一个待发送队列中提取出一个目 的号码,并将消息下发到当前提取的目的号码相对应地区的下游节点,且每次下发后都 需要对下游节点的流量重新进行实时检测;当实时检测到下游节点的流量超过所述下游 节点的配置能力时,以轮询的方式选择消息发送线程所控制的其他待发送队列,根据从 其他待发送队列中提取的目的号码,将消息下发到当前提取的目的号码相对应地区的下 游节点。
其中,消息发送线程与其所控制的待发送队列之间的关系,采用MOD(待发送 队列ID,M)计算获得,且N>=M;其中,M为消息发送线程的数量,N为待发送队 列的总数。
本发明采用地区号码段路由策略实现下发流量的均衡控制,并根据目的号码将 消息下发到目的号码相对应地区的下游节点。
采用本发明,在连接多个地区的短信网关/彩信中心的时消息发送平台通过地 区路由策略实现对多个下游节点的流量均衡的实现方法,避免对某几个节点的瞬时冲击ο


图1为现有技术增加短信中心的系统架构图2为现有技术在短信中心和消息发送平台之间增加设备的系统架构图3为本发明在消息源头均衡下发消息的系统架构图4为本发明消息发送平台的内部架构图。
具体实施方式
本发明的基本思想是采用地区号码段路由策略实现下发流量的均衡控制,并 根据目的号码将消息下发到目的号码相对应地区的下游节点。
下面结合附图对技术方案的实施作进一步的详细描述。
—种实现对多个下游节点的流量均衡下发的消息发送平台,该消息发送平台, 采用地区号码段路由策略实现下发流量的均衡控制,并根据目的号码将消息下发到目的 号码相对应地区的下游节点。从而,下游节点接收到来自于消息发送平台的消息并将提供给目的号码用户。这里,消息发送平台发送给下游节点的是根据各种传输协议发送 给下游节点的消息,消息里面至少包含有消息内容和目的号码,其中消息内容可以具体 为短信内容或者彩信内容。
针对消息发送平台而言,消息发送平台具体包括任务控制线程、路由分析线 程、和消息发送线程组。其中,任务控制线程用于创建消息发送的任务,创建任务的目 的是为了把消息下发出去;并且任务控制线程需提取任务对应的目的号码;将任务和目 的号码输入路由分析线程。路由分析线程,用于根据路由信息表对目的号码进行路由分 析,将对应不同地区号码段的各个目的号码,分别对应添加入不同的待发送队列中进行 分类存储;将不同的待发送队列输入消息发送线程组。消息发送线程组,用于根据不同 的下游节点当前的流量情况,按照流量均衡原则,根据不同的待发送队列中存储的目的 号码,将消息下发到目的号码相对应地区的下游节点。其中,待发送队列与下游节点可 以为一一对应的关系。
这里,路由分析线程,进一步用于按照路由信息表中的地区号码段、下游节点 标识(ID)和待发送队列ID的对应关系,对由任务控制线程提取的目的号码进行路由分析 和排序。
这里,消息发送线程组具体包括多个消息发送线程;消息发送线程组,进一步 用于采用不同消息发送线程的多线程并行处理的方式。其中,消息发送线程与待发送队 列可以为一对多的关系。
这里,每个消息发送线程从各自控制的多个待发送队列中,根据当前待发送队 列中存储的目的号码,将消息下发到目的号码相对应地区的下游节点,并需实时检测当 前待发送队列对应的下游节点的流量,当实时检测到流量超过下游节点的配置能力时, 阻塞对下游节点的消息下发,当实时检测到流量恢复时,重新启动对下游节点的消息下发。
针对消息发送线程而言,消息发送线程进一步用于当实时检测到流量未超过下 游节点的配置能力、或实时检测到流量恢复时,从消息发送线程所控制的其中一个待发 送队列中提取出一个目的号码,并将消息下发到当前提取的目的号码相对应地区的下游 节点,且每次下发后都需要对下游节点的流量重新进行实时检测;当实时检测到流量超 过下游节点的配置能力时,以轮询的方式选择消息发送线程所控制的其他待发送队列, 根据从其他待发送队列中提取的目的号码,将消息下发到当前提取的目的号码相对应地 区的下游节点。
本发明主要包括本发明所描述的以地区号码段路由策略实现下发流量的均衡 控制,从而达到对各个下游节点的流量均勻、持续,以提高下发处理能力,主要适用于 针对多个下游节点的全国性平台下发业务的场景,组网接口如图3所示。在连接多个 下游节点,比如短信网关/彩信中心进行消息批量发送时,因为号码具有非连续性,因 此,可以基于各个地区号码段来实现不同的路由策略,并对不同的下游节点创建对应的 待发送队列;采用多线程并行处理的方式,消息发送线程从各自控制的待发送队列中 提取目的号码,并将消息下发到当前提取的目的号码相对应地区的下游节点,在下发过 程中,需实时检测对应下游节点的流量,如果流量超过该下游节点的配置能力,则阻塞 对该下游节点的消息下发,如果流量检测恢复,则重新启动对该下游节点的消息下发工作。本发明通过这种地区号码段的路由策略,以及多个待发送队列多线程并行处理的方 式,实现流量的均衡下发,从而能有效地减小对各个下游节点的瞬时冲击。
以下分别从系统和方法的角度对本发明进行举例阐述。
具体来说,针对本发明的系统而言,消息发送平台作为系统中的核心部件,如 图4所示,其内部模块可以包括任务控制线程、路由分析线程、消息发送线程组。
其中,任务控制线程主要用于实时创建下发任务、提取任务目的号码,实时更 新任务状态功能。
路由分析线程主要用于负责将输入的下发任务及目的号码根据路由信息表进行 路由分析,并按照路由信息表中的地区号码段、下游节点ID和待发送队列ID的对应关 系,对由任务控制线程提取的目的号码进行路由分析,然后将对应目的号码放入该地区 对应的待发送队列中。这里需要指出的是不同的地区号码段的目的号码分别放入不同 的待发送队列中分类存储,而且不同的待发送队列对应于不同的下游节点。由于下游节 点是按照地区进行区分的,因此,这样,后续操作中,待发送队列在消息发送线程的控 制下,就能提取待发送队列所承载的对应某一地区号码段的目的号码,并将消息下发到 当前提取的目的号码相对应地区的下游节点。从而通过地区号码段的路由策略,将消息 均衡下发到各个下游节点,尤其适用于针对多个下游节点的全国性平台下发业务的场景 下的流量均衡处理。
消息发送线程组主要用于负责接收输入的各个待发送队列,根据各个下游节点 当前的流量情况,按照流量均衡原则,提取待发送队列中存储的目的号码,并将消息下 发到当前提取的目的号码相对应地区的下游节点。
具体来说,针对本发明的方法而言,本发明方法的实现流程主要包括以下几方 面内容
一、系统创建N个待发送队列,此时待发送队列的创建实际上是按照待发送 队列的格式的创建原则,先创建好空的待发送队列,后续进行排序时才将数据即目的号 码,添加入对应的已创建好的空的待发送队列中。
这里,待发送队列包含的信息可以包括下发任务信息、节点信息、目的号码 区、上次下发偏移、下发流量等。待发送队列完成对任务按照下游节点实现目的号码的 分类存储,后续,消息发送线程通过待发送队列的上次下发偏移位置决定每次发送的起 始偏移号码,通过节点信息决定下发的目的地址。其中,节点信息可以为下游节点ID。
二、创建路由信息表。
这里,路由信息表主要包含的信息有地区号码段、下游节点ID、对应的待发 送队列ID。路由信息表供任务的目的号码拆解使用,每当一个任务创建,任务控制线程 依次对每个目的号码进行路由分析,然后将对应目的号码加入到待发送队列中。
三、任务控制线程分析完任务的所有目的号码,将排序请求消息发送给路由分 析线程,通知路由分析线程进行排序。
四、路由分析线程根据号码段与下游节点的对应关系表,进行待发送队列的创 建操作,此时的创建操作即为将数据即目的号码,添加入对应的之前已创建好的空的 待发送队列中。例如号码13594200001需要发送,号码段1359420对应下游节点号为3, 则路由分析线程首先检查对于节点号3此任务是否已经有待发送队列创建了,如果有,则把13594200001号码加入到对应的待发送队列的末尾;如果没有待发送队列被创建, 则创建一个新的待发送队列,对应的下游节点号是3。依此类推,完成对所有目的号码的 排序操作。排序流程处理后,将待发送队列发送给各个消息发送线程,通知各个消息发 送线程开始执行发送流程。
五、消息发送线程采用多线程并行处理的方式,如果待发送队列的总数为N; 每个待发送队列的编号分别为0..N-1;消息发送线程的数量为M,且N>=M;则每 个消息发送线程管理多个待发送队列,通过MOD(待发送队列ID,M)计算消息发送线 程与其所控制的待发送队列之间的控制关系,并将每个待发送队列分配给对应的消息发 送线程进行控制。例如,待发送队列的总数是10,消息发送线程的总数是5,则0号消 息发送线程可以控制待发送队列0、5; 3号消息发送线程可以控制待发送队列3、8。
这里,消息发送时候,消息发送线程需要首先检查对应的下游节点的流量,如 果满足流量下发条件,则当前消息发送线程从待发送队列中提取出一个目的号码,并将 消息下发到当前提取的目的号码相对应地区的下游节点。并且,每次下发后都需要检测 当前下游节点的流量下发条件是否仍然满足。在实践中,通常当前消息发送线程选择其 所控制的一个待发送队列下发了一定数量的消息后,应该立即转到下一个由该当前消息 发送线程所控制的待发送队列进行下发,依此类推,按照消息发送的比例因子每次从待 发送队列中选取出适当个数的目的号码,并将消息下发到当前选取的目的号码相对应地 区的下游节点。其中,针对比例因子而言,每轮下发的比例因子采用各个下游节点的流 量比例来获取。
以下,采用如图4所示的消息发送平台,详细说明本发明的实现方法和处理流 程,这里采用的方式是利用内部存储器创建待发送队列,该处理流程包括以下步骤
步骤101 系统启动和初始化的过程。
这里,在系统启动时申请具有一定大小的内部存储器,在内部存储器里创建N 个待发送队列,为每个待发送队列编号为0到N-1,即为设置待发送队列的格式,并创 建空的待发送队列。每个待发送队列可容纳的目的号码数根据消息发送平台能发送消息 的数量级进行配置。其中,内部存储器的大小由任务需要携带的相关信息以及平台向下 游节点发送消息的数量级均衡确定,以及机器的内存限制所确定。
系统启动和初始化时除了需要创建待发送队列,还需要创建M个消息发送线 程,且M小于等于N。创建路由信息表,读取路由数据。路由数据主要包括地区号码 段、节点ID和对应的待发送队列ID,以及每个待发送队列每次提取目的号码的比例因子 等参数。
在初始化时,还需要计算消息发送线程和下游节点号之间的控制关系。比如消 息发送平台有10个消息发送线程,M= 10;以及20个下游节点,N = 20。下游节点 号MODlO后的余数决定该下游节点被哪个消息发送线程控制处理。比如1号消息发送 线程控制1号和11号下游节点,8号消息发送线程控制8号和18号节点,以此类推。这 里需要指出的是由于待发送队列和下游节点是相对应的,因此,也可以计算消息发送 线程与其所控制的待发送队列之间的关系,通过MOD(待发送队列ID,M)将每个待发 送队列分配给对应的消息发送线程进行控制。这样,通过待发送队列与下游节点的对应 关系,后续在消息发送线程的控制下就可以将发送队列所承载的对应某一地区号码段的目的号码,发送到对应地区的下游节点。
步骤102 任务控制线程实时创建消息下发任务。
这里,创建任务包括(1)任务的下发时间、主叫号码、计费策略等基本任务 信息;(2)所有的目的用户号码。任务信息创建后,将任务传递给路由分析线程。
步骤103:路由分析线程接收到新任务,根据内部存储的路由数据,即包括地 区号码段及其对应的目的下游节点ID,按照下游节点号的不同创建出多个待发送队列, 对任务的所有目的号码进行路由分析后将号码存放到对应的待发送队列中。
这里,即为按照路由信息表中存储的路由数据,将数据一目的号码依次添加 入步骤101中已建立好的空的待发送队列中。
步骤104:路由分析线程处理完所有的目的号码后,将路由分析线程创建出的 对应各个下游节点的任务发送给对应的消息发送线程,并通知各个消息发送线程开始执 行发送流程。
步骤105:消息发送线程,首先检查对应的下游节点的流量,如果满足流量下 发条件,则从其所控制的一个待发送队列中提取出一个目的号码,并将消息下发到当前 提取的目的号码相对应地区的下游节点。而且,每次下发后都需要检测当前下游节点的 流量下发条件是否仍然满足。选择某个下游节点下发了一定数量消息后,应该立即转到 下一个待发送队列进行下发,依此类推。
这里,以1号消息发送线程的工作为例1号消息发送线程先检查1号待发送队 列对应下游节点的消息流量,若流量没有超过限制,就从待发送队列中取出一个目的号 码,并将消息下发到当前提取的目的号码相对应地区的下游节点,发送成功后记录本次 发送消息的偏移,然后再次检查消息发送流量,当流量超过限制后或者处理消息个数超 过设置的本次处理消息参数因子以后,则开始处理11号待发送队列。处理了 11号待发送 队列以后再轮询回处理1号待发送队列。各个消息发送线程重复执行相同的消息发送任 务,直到所有的用户号码都被发送。因为是同时有限制的向多个下游节点发送的消息, 从而减少了下游节点的瞬时的负荷量和冲击力。
综上所述,本发明所论述的消息发送平台在连接多个短信网关/彩信中心消息 批量发送时,根据地区号码段的路由策略,对目的号码进行队列控制,对各个节点创建 多个待发送队列,轮询地向下游的多个节点下发消息,能积极地降低短信/彩信消息发 送平台的工程成本,减轻短信网关/彩信中心的负荷,提高系统的效率,尽可能实现使 用现有网络资源,增强竞争力。
以下对在全国级手机报纸平台上应用本发明的处理过程进行说明如下
首先,启动业务处理机。业务处理机读取相关配置信息,这里,相关配置信息 包括待发送队列的个数N =20、消息发送线程的个数M =10;业务处理机申请一定大小 的内存,在内存里创建20个待发送队列和10个消息发送线程。创建路由信息表,读取 路由数据,将路由数据记录到内存中。以及创建其他的消息发送线程。
其次,初始化消息发送线程,并计算消息发送线程和待发送队列之间的控制关 系。待发送队列号MODlO后的余数决定该被待发送队列被哪个消息发送线程控制处理。 由于待发送队列与下游节点的对应关系,因此,根据计算出的消息发送线程与待发送线 程的关系,得出消息发送线程与下游节点的对应关系例如1号消息发送线程控制1号和11号下游节点,8号线程控制8号和18号下游节点。
然后,更新手机报内容,触发处理机创建手机报订购下发任务。此类任务具有 海量目的用户号码。
进一步的,任务控制线程读取任务,路由分析线程根据路由信息表分析完任务 的所有目的号码,将任务分解成多个小任务,然后将请求消息发送给各个消息发送线 程,通知各个消息发送线程开始发送任务。
最后,消息发送线程开始按配置参数发送任务。首先检查对应的下游节点的流 量,如果满足流量下发条件,则从待发送队列中提取出一个目的号码,并将消息下发到 当前提取的目的号码相对应地区的下游节点,发送成功后记录本次发送消息的偏移。每 次下发后都需要检测当前下游节点的流量条件是否满足,当流量超过限制后或者处理消 息个数超过设置的本次处理消息参数因子以后,应该立即转到下一个待发送队列进行下 发,依此类推,直到任务发送结束。
一种实现对多个下游节点的流量均衡下发的方法,该方法包括采用地区号码 段路由策略实现下发流量的均衡控制,并根据目的号码将消息下发到目的号码相对应地 区的下游节点。
这里,可以由消息发送平台将消息发送到下游节点。将消息发送到下游节点后 还可以包括由下游节点将消息提供给目的号码用户。这里,消息发送平台发送给下游 节点的是根据各种传输协议发送给下游节点的消息,消息里面至少包含有消息内容和 目的号码,其中消息内容可以具体为短信内容或者彩信内容。
上述将消息发送到下游节点的具体处理过程包括以下步骤
步骤2011:任务控制线程创建消息发送的任务,并提取任务对应的目的号码。
这里,目的号码可以采用目的号码列表的形式存在。
步骤2012 路由分析线程根据路由信息表对目的号码进行路由分析,将对应不 同地区号码段的各个目的号码,分别对应添加入不同的待发送队列中进行分类存储。
这里,路由信息表和不同的待发送队列是初始化时已经创建的。执行路由分析 时,可以根据已创建的路由信息表对目的号码逐个进行路由分析,分析结束后将对应不 同地区号码段的各个目的号码,分别对应添加入已创建的不同的待发送队列中进行分类 存储。
这里,排序具体包括按照路由信息表中的地区号码段、下游节点ID和待发送 队列ID的对应关系,对目的号码进行路由分析。
步骤2013:消息发送线程组根据不同的下游节点当前的流量情况,按照流量均 衡原则,提取不同的待发送队列中存储的目的号码,将消息下发到当前提取的目的号码 相对应地区的下游节点。其中,待发送队列与下游节点可以为一一对应的关系。
以下对步骤2013的具体处理过程进行阐述。
消息发送线程组控制待发送队列中的目的号码的下发具体采用不同消息发送 线程的多线程并行处理的方式。其中,消息发送线程组具体包括多个消息发送线程。其 中,消息发送线程与待发送队列可以为一对多的关系。
当消息发送线程按照流量均衡原则实现目的号码的下发时,进一步需实时检测 不同的下游节点当前的流量情况。其中,具体包括每个消息发送线程从各自控制的多个待发送队列中,根据当前待发送队列中存储的目的号码,将消息下发到目的号码相对 应地区的下游节点,当实时检测到下游节点的流量超过下游节点的配置能力时,阻塞对 下游节点的消息下发,当实时检测到下游节点的流量恢复时,重新启动对下游节点的消 息下发。其中,这里的流量指当前待发送队列对应的下游节点的流量,以下不做赘 述。
这里,通过上述实时检测实现目的号码的下发进一步包括当实时检测到下游 节点的流量未超过下游节点的配置能力、或实时检测到下游节点的流量恢复时,从消息 发送线程所控制的其中一个待发送队列中提取出一个目的号码,并将消息下发到当前提 取的目的号码相对应地区的下游节点,且每次下发后都需要对下游节点的流量重新进行 实时检测;当实时检测到下游节点的流量超过下游节点的配置能力时,以轮询的方式选 择消息发送线程所控制的其他待发送队列,根据从其他待发送队列中提取的目的号码, 将消息下发到当前提取的目的号码相对应地区的下游节点。
这里需要指出的是消息发送线程与其所控制的待发送队列之间的关系,采用 MOD(待发送队列ID,M)计算获得,且N>=M;其中,M为消息发送线程的数量, N为待发送队列的总数。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种实现对多个下游节点的流量均衡下发的消息发送平台,其特征在于,所述消 息发送平台,用于采用地区号码段路由策略实现下发流量的均衡控制,并根据目的号码 将消息下发到所述目的号码相对应地区的下游节点。
2.根据权利要求1所述的消息发送平台,其特征在于,所述消息发送平台,具体包 括任务控制线程、路由分析线程、和消息发送线程组;其中,任务控制线程,用于创建消息发送的任务,并提取所述任务对应的目的号码;路由分析线程,用于根据路由信息表对所述目的号码进行路由分析,将对应不同地 区号码段的各个目的号码,分别对应添加入不同的待发送队列中进行分类存储;消息发送线程组,用于根据不同的下游节点当前的流量情况,按照流量均衡原则, 根据不同的待发送队列中存储的目的号码,将消息下发到目的号码相对应地区的下游节 点ο
3.根据权利要求2所述的消息发送平台,其特征在于,所述路由分析线程,进一步用 于按照所述路由信息表中的地区号码段、下游节点标识(ID)和待发送队列ID的对应关 系,对目的号码进行路由分析。
4.根据权利要求2或3所述的消息发送平台,其特征在于,所述消息发送线程组具体 包括多个消息发送线程;所述消息发送线程组,进一步用于采用不同消息发送线程的多 线程并行处理的方式。
5.根据权利要求4所述的消息发送平台,其特征在于,每个消息发送线程从各自控制 的多个待发送队列中,根据当前待发送队列中存储的目的号码,将消息下发到目的号码 相对应地区的下游节点,并需实时检测当前待发送队列对应的下游节点的流量,当实时 检测到流量超过所述下游节点的配置能力时,阻塞对所述下游节点的消息下发,当实时 检测到流量恢复时,重新启动对所述下游节点的消息下发。
6.根据权利要求5所述的消息发送平台,其特征在于,所述消息发送线程,进一步用 于当实时检测到流量未超过所述下游节点的配置能力、或实时检测到流量恢复时,从消 息发送线程所控制的其中一个待发送队列中提取出一个目的号码,并将消息下发到当前 提取的目的号码相对应地区的下游节点,且每次下发后都需要对下游节点的流量重新进 行实时检测;当实时检测到流量超过所述下游节点的配置能力时,以轮询的方式选择消 息发送线程所控制的其他待发送队列,根据从其他待发送队列中提取的目的号码,将消 息下发到当前提取的目的号码相对应地区的下游节点。
7.—种实现对多个下游节点的流量均衡下发的消息发送方法,其特征在于,该方法 包括采用地区号码段路由策略实现下发流量的均衡控制,并根据目的号码将消息下发 到所述目的号码相对应地区的下游节点。
8.根据权利要求7所述的方法,其特征在于,将所述消息下发到所述目的号码相对应 地区的下游节点具体包括任务控制线程创建消息发送的任务,并提取所述任务对应的目的号码;路由分析线程根据路由信息表对所述目的号码进行路由分析,将对应不同地区号码 段的各个目的号码,分别对应添加入不同的待发送队列中进行分类存储;消息发送线程组根据不同的下游节点当前的流量情况,按照流量均衡原则,根据不 同的待发送队列中存储的目的号码,将消息下发到目的号码相对应地区的下游节点。
9.根据权利要求8所述的方法,其特征在于,所述路由分析具体包括按照所述路 由信息表中的地区号码段、下游节点ID和待发送队列ID的对应关系,对目的号码进行路 由分析。
10.根据权利要求8或9所述的方法,其特征在于,所述消息发送线程组控制所述下 发具体采用不同消息发送线程的多线程并行处理的方式;其中,所述消息发送线程组 具体包括多个消息发送线程。
11.根据权利要求10所述的方法,其特征在于,每个消息发送线程按照所述流量均衡 原则实现所述下发时,进一步需实时检测不同的下游节点当前的流量情况;其中,每个消息发送线程从各自控制的多个待发送队列中,根据当前待发送队列中存储的 目的号码,将消息下发到目的号码相对应地区的下游节点,当实时检测到当前待发送队 列对应的下游节点的流量超过所述下游节点的配置能力时,阻塞对所述下游节点的消息 下发,当实时检测到当前待发送队列对应的下游节点的流量恢复时,重新启动对所述下 游节点的消息下发。
12.根据权利要求11所述的方法,其特征在于,通过所述实时检测实现所述下发进一 步包括当实时检测到下游节点的流量未超过所述下游节点的配置能力、或实时检测到下游 节点的流量恢复时,从消息发送线程所控制的其中一个待发送队列中提取出一个目的号 码,并将消息下发到当前提取的目的号码相对应地区的下游节点,且每次下发后都需要 对下游节点的流量重新进行实时检测;当实时检测到下游节点的流量超过所述下游节点 的配置能力时,以轮询的方式选择消息发送线程所控制的其他待发送队列,根据从其他 待发送队列中提取的目的号码,将消息下发到当前提取的目的号码相对应地区的下游节 点ο
13.根据权利要求12所述的方法,其特征在于,消息发送线程与其所控制的待发送队 列之间的关系,采用MOD (待发送队列ID,M)计算获得,且N>=M;其中,M为消 息发送线程的数量,N为待发送队列的总数。
全文摘要
本发明公开了一种实现对多个下游节点的流量均衡下发的消息发送平台,该消息发送平台用于采用地区号码段路由策略实现下发流量的均衡控制,并根据目的号码将消息下发到目的号码相对应地区的下游节点。本发明还公开了一种实现对多个下游节点的流量均衡下发的消息发送方法,该方法包括采用地区号码段路由策略实现下发流量的均衡控制,并根据目的号码将消息下发到目的号码相对应地区的下游节点。采用本发明的平台及方法,能实现对多个下游节点的流量均衡下发,以确保降低成本的要求和系统资源被充分利用的要求。
文档编号H04W40/24GK102026106SQ20091009250
公开日2011年4月20日 申请日期2009年9月10日 优先权日2009年9月10日
发明者吴秋菊, 赵长军 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1