一种消息处理方法及装置制造方法及图纸

技术编号:14478028 阅读:52 留言:0更新日期:2017-01-25 10:42
本发明专利技术公开了一种消息处理方法及装置。该方法包括以下步骤:在第一时刻,读取消息队列中的第一请求消息,第一请求消息中携带第一请求消息加入到消息队列中的第二时刻的信息;根据第一时刻及第二时刻,确定第一请求消息是否为超时消息;如果是,则对第一请求消息做丢弃处理。应用本发明专利技术实施例所提供的技术方案,使得服务进程能够及时对未超时的请求消息进行处理,使服务一直处于可用状态,当抖动平稳时,可以快速处理完消息队列中积压的请求消息,快速恢复整个系统的服务能力。

【技术实现步骤摘要】

本专利技术涉及计算机应用
,特别是涉及一种消息处理方法及装置
技术介绍
在计算机系统中,客户端和服务器之间总会进行一些消息的传输,客户端可以向服务器发送请求消息,请求消息进入消息队列,服务器通过服务进程按照先进先出的策略,依次从消息队列中取出请求消息,并对请求消息进行处理,返回相应的应答消息。当因为服务器设备突发的磁盘IO或CPU高耗、数据库服务能力抖动等原因造成服务进程的服务能力无法及时处理完客户端的请求消息时,会导致客户端进行超时重试,重复发送请求消息,进一步加大服务进程的压力,导致请求消息的大量积压,而当客户端在设定的时长内仍未接收到应答消息时,认为消息超时,将不再等待该应答消息。但是,这些请求消息还存在于消息队列中,服务进程仍然在对其进行处理,导致服务进程一直处理的可能都是目前已经超时的请求消息,客户端已经不再等待相应的应答消息,而其他需要及时处理的请求消息并未得到处理。积压的请求消息需要服务进程较长时间才能处理完,从而导致服务进程处于较长时间的不可用状态。
技术实现思路
为解决上述技术问题,本专利技术提供一种消息处理方法及装置。一种消息处理方法,包括:在第一时刻,读取消息队列中的第一请求消息,所述第一请求消息中携带所述第一请求消息加入到所述消息队列中的第二时刻的信息;根据所述第一时刻及所述第二时刻,确定所述第一请求消息是否为超时消息;如果是,则对所述第一请求消息做丢弃处理。在本专利技术的一种具体实施方式中,在所述在第一时刻,读取消息队列中的第一请求消息之前,所述方法还包括:在第二时刻,接收客户端发送的第二请求消息;在所述第二请求消息中添加所述第二时刻的信息,生成第一请求消息;将所述第一请求消息加入到所述消息队列中。在本专利技术的一种具体实施方式中,所述在所述第二请求消息中添加所述第二时刻的信息,生成第一请求消息,包括:在所述第二请求消息的预设位置处进行扩展,获得扩展区域,所述扩展区域的大小为预设字节数;在所述扩展区域中添加所述第二时刻的信息,生成第一请求消息。在本专利技术的一种具体实施方式中,所述根据所述第一时刻及所述第二时刻,确定所述第一请求消息是否为超时消息,包括:根据所述第一时刻及所述第二时刻,确定所述第一请求消息在所述消息队列中的等待时长;判断所述等待时长是否大于预设的超时等待时长阈值;如果是,则确定所述第一请求消息为超时消息。在本专利技术的一种具体实施方式中,所述预设的超时等待时长为所述客户端的超时等待时长。一种消息处理装置,包括:请求消息读取模块,用于在第一时刻,读取消息队列中的第一请求消息,所述第一请求消息中携带所述第一请求消息加入到所述消息队列中的第二时刻的信息;超时消息确定模块,用于根据所述第一时刻及所述第二时刻,确定所述第一请求消息是否为超时消息,如果是,则触发请求消息丢弃模块;所述请求消息丢弃模块,用于对所述第一请求消息做丢弃处理。在本专利技术的一种具体实施方式中,所述装置还包括:请求消息接收模块,用于在第二时刻,接收客户端发送的第二请求消息;请求消息生成模块,用于在所述第二请求消息中添加所述第二时刻的信息,生成第一请求消息;请求消息入队列模块,用于将所述第一请求消息加入到所述消息队列中。在本专利技术的一种具体实施方式中,所述请求消息生成模块,具体用于:在所述第二请求消息的预设位置处进行扩展,获得扩展区域,所述扩展区域的大小为预设字节数;在所述扩展区域中添加所述第二时刻的信息,生成第一请求消息。在本专利技术的一种具体实施方式中,所述超时消息确定模块,具体用于:根据所述第一时刻及所述第二时刻,确定所述第一请求消息在所述消息队列中的等待时长;判断所述等待时长是否大于预设的超时等待时长阈值;如果是,则确定所述第一请求消息为超时消息。在本专利技术的一种具体实施方式中,所述预设的超时等待时长为所述客户端的超时等待时长。应用本专利技术实施例所提供的技术方案,消息队列的第一请求消息中携带有该第一请求消息加入到消息队列的第二时刻的信息,在第一时刻,读取到该第一请求消息时,可以根据该第一时刻及第二时刻,确定该第一请求消息是否为超时消息,如果是,则对该第一请求消息做丢弃处理。这样,使得服务进程能够及时对未超时的请求消息进行处理,使服务一直处于可用状态,当抖动平稳时,可以快速处理完消息队列中积压的请求消息,快速恢复整个系统的服务能力。附图说明为了更清楚的说明本专利技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中消息处理方法的一种实施流程图;图2为本专利技术实施例中消息处理方法的另一种实施流程图;图3为本专利技术实施例中请求消息扩展示意图;图4为本专利技术实施例中消息处理装置的一种结构示意图;图5为本专利技术实施例中消息处理装置的另一种结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1所示,为本专利技术实施例所提供的一种消息处理方法的实施流程图,该方法可以包括以下步骤:S110:在第一时刻,读取消息队列中的第一请求消息。其中,第一请求消息中携带第一请求消息加入到消息队列中的第二时刻的信息。在本专利技术实施例中,服务器的服务进程用于处理客户端的请求消息,可以包括多种线程,如消息接收线程、处理线程等,不同的线程在实际工作中发挥不同的作用。当接收到客户端发送的请求消息时,可以由服务进程的消息接收线程将相应的请求消息加入到消息队列中,并由处理线程按顺序读取消息队列中的请求消息,并对其进行处理,如通过查询数据库、缓存并进行相关计算得到客户端想要的结果,并将结果返回给客户端。在第一时刻,服务进程的处理线程可以读取消息队列中的第一请求消息,该第一请求消息中携带第一请求消息加入到消息队列中的第二时刻的信息。该第二时刻的信息可以是客户端在生成第一请求消息时添加在第一请求消息中的,还可以是服务进程的消息接收线程在接收到客户端发送的请求消息后添加的,添加第二时刻的信息后的请求消息即为第一请求消息。该第一时刻即为该第一请求消息的出队列时刻,该第二时刻即为该第一请求消息的入队列时刻。S120:根据第一时刻及第二时刻,确定第一请求消息是否为超时消息。在第一时刻,读取到消息队列中的第一请求消息,该第一时刻即为该第一请求消息的出队列时刻。第一请求消息中携带其加入到消息队列中的第二时刻的信息,该第二时刻即为该第一请求消息的入队列时刻。在读取到的第一请求消息中,可以提取出该第二时刻的信息。根据第一时刻及第二时刻,可以确定该第一请求消息是否为超时消息。如果是,则继续执行步骤S130的操作,否则,按照正常的处理规则对该第一请求消息进行处理及响应。在本专利技术的一种具体实施方式中,步骤S120可以包括以下步骤:步骤一:根据第一时刻及第二时刻,确定第一请求消息在消息队列中的等待时长;步骤二:判断等待时长是否大于预设的超时等待时长阈值本文档来自技高网
...
一种消息处理方法及装置

【技术保护点】
一种消息处理方法,其特征在于,包括:在第一时刻,读取消息队列中的第一请求消息,所述第一请求消息中携带所述第一请求消息加入到所述消息队列中的第二时刻的信息;根据所述第一时刻及所述第二时刻,确定所述第一请求消息是否为超时消息;如果是,则对所述第一请求消息做丢弃处理。

【技术特征摘要】
1.一种消息处理方法,其特征在于,包括:在第一时刻,读取消息队列中的第一请求消息,所述第一请求消息中携带所述第一请求消息加入到所述消息队列中的第二时刻的信息;根据所述第一时刻及所述第二时刻,确定所述第一请求消息是否为超时消息;如果是,则对所述第一请求消息做丢弃处理。2.根据权利要求1所述的方法,其特征在于,在所述在第一时刻,读取消息队列中的第一请求消息之前,所述方法还包括:在第二时刻,接收客户端发送的第二请求消息;在所述第二请求消息中添加所述第二时刻的信息,生成第一请求消息;将所述第一请求消息加入到所述消息队列中。3.根据权利要求2所述的方法,其特征在于,所述在所述第二请求消息中添加所述第二时刻的信息,生成第一请求消息,包括:在所述第二请求消息的预设位置处进行扩展,获得扩展区域,所述扩展区域的大小为预设字节数;在所述扩展区域中添加所述第二时刻的信息,生成第一请求消息。4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述第一时刻及所述第二时刻,确定所述第一请求消息是否为超时消息,包括:根据所述第一时刻及所述第二时刻,确定所述第一请求消息在所述消息队列中的等待时长;判断所述等待时长是否大于预设的超时等待时长阈值;如果是,则确定所述第一请求消息为超时消息。5.根据权利要求4所述的方法,其特征在于,所述预设的超时等待时长为所述客户端的超时等待时长。6.一种消息...

【专利技术属性】
技术研发人员:李新辉张远鸿邱旭威郭稷廖玉荣
申请(专利权)人:广州市百果园网络科技有限公司
类型:发明
国别省市:广东;44

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

1