消息处理方法和装置的制造方法

文档序号:9710749阅读:185来源:国知局
消息处理方法和装置的制造方法
【技术领域】
[0001 ]本发明涉及通信技术领域,尤其涉及一种消息处理方法和装置。
【背景技术】
[0002 ]现有技术中往往为避免终端或服务器的网络流量过大超出终端的负载能力,往往使用防火墙、负载均衡器、路由器等硬件技术限制网络带宽,或者设置过滤规则来限制终端入口处的网络流量,当网络流量大时,限制入口的流量或者网络带宽会造成丢包。

【发明内容】

[0003]本发明的主要目的在于提出一种消息处理方法和装置,旨在解决在限制终端网络流量时造成丢包的技术问题。
[0004]为实现上述目的,本发明提供一种消息处理方法,所述消息处理方法包括以下步骤:
[0005]在向服务提供进程推送消息时,获取所述服务提供进程当前的第一消息确认窗口值;
[0006]在当前的所述第一消息确认窗口值大于零时,根据所述第一消息确认窗口值向服务提供进程推送消息队列中的消息,其中,向所述服务提供进程推送消息的数量值小于或等于所述第一消息确认窗口值;
[0007]对所述第一消息确认窗口值减去推送消息的数量值,并在接收到服务提供进程反馈的确认信息时,对所述第一消息确认窗口值增加收到的所述确认消息的数量。
[0008]优选地,所述获取当前的第一消息确认窗口值的步骤之后,所述消息处理方法包括以下步骤:
[0009]在当前的所述第一消息确认窗口值等于零且持续预设时长时,输出故障提示信息。
[0010]优选地,所述消息处理方法包括以下步骤:
[0011]在消息队列接收到服务调用进程下发的消息时,获取所述服务调用进程对应的消息队列中当前可添加消息的数量;
[0012]根据所述可添加消息的数量向所述消息队列中添加消息。
[0013]优选地,在执行所述根据所述第一消息确认窗口值向服务提供进程推送消息队列中的消息的步骤的同时,执行步骤:
[0014]向已推送消息添加未确认标记;
[0015]在接收到服务提供进程反馈的确认信息时,执行所述步骤:
[0016]将所述确认消息对应的已推送消息的未确认标记修改为确认标记。
[0017]优选地,所述消息处理方法还包括步骤:
[0018]在向消息队列下发消息时,获取所述服务调用进程当前的第二消息确认窗口值;
[0019]在当前的所述第二消息确认窗口值大于零时,控制所述服务调用进程根据所述第二消息确认窗口值向消息队列下发消息,其中,向消息队列下发消息的数量值小于或等于所述第二消息确认窗口值;
[0020]对所述第二消息确认窗口值减去推送消息的数量值,并在接收到消息队列基于已推送消息的反馈的确认信息时,对所述第二消息确认窗口值增加收到的所述确认消息的数量。
[0021]此外,为实现上述目的,本发明还提出一种消息处理装置,所述消息处理装置包括:
[0022]获取模块,用于在向服务提供进程推送消息时,获取所述服务提供进程当前的第一消息确认窗口值;
[0023]推送模块,用于在当前的所述第一消息确认窗口值大于零时,根据所述第一消息确认窗口值向服务提供进程推送消息队列中的消息,其中,向所述服务提供进程推送消息的数量值小于或等于所述第一消息确认窗口值;
[0024]处理模块,用于对所述第一消息确认窗口值减去推送消息的数量值,并在接收到服务提供进程反馈的确认信息时,对所述第一消息确认窗口值增加收到的所述确认消息的数量。
[0025]优选地,所述消息处理装置还包括:
[0026]输出模块,用于在当前的所述第一消息确认窗口值等于零且持续预设时长时,输出故障提示信息。
[0027]优选地,所述消息处理装置还包括:
[0028]所述获取模块,还用于在消息队列接收到服务调用进程下发的消息时,获取所述服务调用进程对应的消息队列中当前可添加消息的数量;
[0029]添加模块,用于根据所述可添加消息的数量向所述消息队列中添加消息。
[0030]优选地,所述消息处理装置还包括:
[0031 ]标记模块,用于在所述推送模块向所述服务提供进程推送消息时,向已推送消息添加未确认标记,以及在接收到服务提供进程反馈的确认信息时,将所述确认消息对应的已推送消息的未确认标记修改为确认标记。
[0032]优选地,所述消息处理装置还包括:
[0033]所述获取模块,还用于在向消息队列下发消息时,获取所述服务调用进程当前的第二消息确认窗口值;
[0034]消息下发模块,用于在当前的所述第二消息确认窗口值大于零时,控制所述服务调用进程根据所述第二消息确认窗口值向消息队列下发消息,其中,向消息队列下发消息的数量值小于或等于所述第二消息确认窗口值;
[0035]所述处理模块,还用于对所述第二消息确认窗口值减去推送消息的数量值,并在接收到消息队列基于已推送消息的反馈的确认信息时,对所述第二消息确认窗口值增加收到的所述确认消息的数量。
[0036]本发明提出的消息处理方法和装置,在向服务提供进程推送消息时,获取当前的第一消息确认窗口值,并在在当前的所述第一消息确认窗口值大于零时,根据所述第一消息确认窗口值向服务提供进程推送消息队列中的消息,其中,向所述服务提供进程推送消息的数量值小于或等于所述第一消息确认窗口值,对所述第一消息确认窗口值减去推送消息的数量值,并在接收到服务提供进程反馈的确认信息时,对所述第一消息确认窗口值增加收到的所述确认消息的数量,通过控制第一消息确认窗口值的数量控制服务提供进程可调用消息的数量以控制服务提供进程所在终端的流量,该流量控制方案不仅控制发送消息的数量,同时,还控制服务提供进程消费消息的数量,避免服务提供进程所在终端运行过多线程,避免终端超载运行。
【附图说明】
[0037]图1为本发明所涉及的系统架构图
[0038]图2为本发明消息处理方法第一实施例的流程示意图;
[0039]图3为本发明消息处理方法消息确认窗口示意图;
[0040]图4为本发明消息处理方法第二实施例的流程示意图;
[0041 ]图5为本发明消息处理方法第三实施例的流程示意图
[0042]图6为本发明消息处理装置第一实施例的功能模块示意图;
[0043]图7为本发明消息处理装置第二实施例的功能模块示意图;
[0044]图8为本发明消息处理装置第三实施例的功能模块示意图;
[0045]图9为本发明消息处理装置第三实施例的功能模块示意图。
[0046]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0047]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0048]参照图1,图1为本发明所涉及的系统架构图。
[0049]如图1所示,消息中间件中包含多个消息队列,每个消息队列均对应一个服务提供进程,而服务提供进程与服务调用进程为多对多的关系,服务调用进程向消息
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1