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

技术编号:29789120 阅读:15 留言:0更新日期:2021-08-24 18:07
本申请提供了一种消息处理方法及装置。获取第一消息的排序线索,该排序线索用于确定第一消息在用于供消费方消费的多个消息中的消费顺序。在第一消息中添加排序线索。向多个代理服务器中的任意一个代理服务器发送已添加排序线索的第一消息,以使在任意一个代理服务器中缓存已添加排序线索的第一消息。通过本申请,可以支持消费方获取多个代理服务器分别缓存的用于供消费方消费的消息,然后获取得到的多个消息中的各个消息的排序线索;各个消息的排序线索用于确定各个消息在多个消息中的消费顺序;并按照各个消息的排序线索获取各个消息在多个消息中的消费顺序;再根据各个消息在多个消息中的消费顺序对各个消息依次进行消费。

【技术实现步骤摘要】
一种消息处理方法及装置
本申请涉及计算机
,特别是涉及一种消息处理方法及装置。
技术介绍
在消息的“生产-消费”的应用场景中,生产方可以生产多个消息,以供消费方消费。在一些可能的情况下,生产方生产的多个消息之间是具有消费顺序的,消费方需要按照多个消息之间的消费顺序依次消费多个消息中的各个消息。然而,如何使得消费方能够按照多个消息之间的消费顺序依次消费多个消息中的各个消息是一个亟待解决的技术问题。
技术实现思路
本申请示出了一种消息处理方法及装置。第一方面,本申请示出了一种消息处理方法,应用于生产方,所述方法包括:在得到用于供消费方消费的第一消息的情况下,获取所述第一消息的排序线索,所述排序线索用于确定所述第一消息在用于供所述消费方消费的多个消息中的消费顺序;在所述第一消息中添加所述排序线索;向多个代理服务器中的任意一个代理服务器发送已添加所述排序线索的第一消息,以使在所述任意一个代理服务器中缓存已添加所述排序线索的第一消息。在一个可选的实现方式中,所述获取所述第一消息的排序线索,包括:确定所述多个代理服务器中是否缓存有第二消息,所述第二消息包括所述多个消息中的除所述第一消息以外的消息;在所述多个代理服务器缓存有所述第二消息的情况下,设置所述第一消息在所述多个消息中的消费顺序的排序线索,所述排序线索用于指示所述第一消息的消费顺序位于所述第二消息的消费顺序之后。在一个可选的实现方式中,所述获取所述第一消息的排序线索,包括:获取所述多个代理服务器中的各个代理服务器分别缓存的消息的已缓存数量;根据各个已缓存数量获取所述第一消息的排序线索。第二方面,本申请示出了一种消息处理方法,应用于消费方,所述方法包括:获取多个代理服务器分别缓存的消息,所述多个代理服务器中缓存的消息用于供消费方消费;获取得到的多个消息中的各个消息的排序线索;各个消息的排序线索用于确定各个消息在所述多个消息中的消费顺序;按照各个消息的排序线索获取各个消息在所述多个消息中的消费顺序;根据各个消息在所述多个消息中的消费顺序对各个消息依次进行消费。在一个可选的实现方式中,所述排序线索是根据消息被生产方向代理服务器发送之前各个代理服务器中分别缓存的消息的已缓存数量获取到的;或者,所述排序线索是根据在消息被生产方向任意一个代理服务器发送之前所述多个代理服务器缓存的已缓存消息设置的;或者,所述排序线索是根据消息在被代理服务器接收时的接收时刻获取到的。在一个可选的实现方式中,所述按照各个消息的排序线索获取各个消息在所述多个消息中的消费顺序,包括:对于每一个代理服务器,将从所述代理服务器得到的消息存储在一个待排序队列中;分别获取各个待排序队列中的消费顺序为首位的目标消息,将各个目标消息分别存储在选举队列中;获取所述选举队列中的、排序线索用于指示消费顺序为首位的候选消息,将所述候选消息存储在已排序队列中;将所述候选消息从所述候选消息所属的待排序队列中删除以及从所述候选消息所属的选举队列中删除;获取所述候选消息所属的待排序队列中的消费顺序为首位的目标消息,将所述候选消息所属的待排序队列中的消费顺序为首位的目标消息存储在选举队列中,然后执行所述获取所述选举队列中的、排序线索用于指示消费顺序为首位的候选消息的步骤,直至获取的消息均存储在所述已排序队列为止;其中,存储在所述已排序队列越早的消息在已排序队列中的消息位点比存储在所述已排序队列越晚的消息在已排序队列中的消息位点靠前。在一个可选的实现方式中,所述获取所述选举队列中的、排序线索用于指示消费顺序为首位的候选消息,包括:根据各个代理服务器中分别缓存的消息的已缓存数量,在所述选举队列中选择最小的已缓存数量对应的消息;在最小的已缓存数量对应的消息为一个的情况下,将所述最小的已缓存数量对应的消息确定为所述候选消息;在最小的已缓存数量对应的消息为至少两个的情况下,获取至少两个消息分别被代理服务器接收的接收时刻,在至少两个消息中选择最早的接收时刻对应的消息,并作为所述候选消息。在一个可选的实现方式中,所述获取所述候选消息所属的待排序队列中的消费顺序为首位的目标消息,包括:判断所述候选消息所属的待排序队列中是否还存在消息;在所述候选消息所属的待排序队列中不存在消息的情况下,从所述候选消息所属的待排序队列对应的代理服务器中,拉取供所述消费方消费的多个消息中的新消息;在所述新消息中获取消费顺序为首位的目标消息。在一个可选的实现方式中,所述获取所述选举队列中的、排序线索用于指示消费顺序为首位的候选消息,包括:在所述选举队列中的除所述新消息以外的消息中,获取消费顺序为首位的候选消息。在一个可选的实现方式中,所述分别获取各个待排序队列中的消费顺序为首位的目标消息,包括:对于任意一个待排序队列,在所述待排序队列中的多个消息中,选择在所述待排序队列对应的代理服务器中的消息位点为首位的消息,并作为所述目标消息。在一个可选的实现方式中,所述将所述候选消息存储在已排序队列中,包括:在已排序队列中的已存储的消息之后的消息位点存储所述候选消息。第三方面,本申请示出了一种消息处理装置,应用于生产方,所述装置包括:第一获取模块,用于在得到用于供消费方消费的第一消息的情况下,获取所述第一消息的排序线索,所述排序线索用于确定所述第一消息在用于供所述消费方消费的多个消息中的消费顺序;添加模块,用于在所述第一消息中添加所述排序线索;发送模块,用于向多个代理服务器中的任意一个代理服务器发送已添加所述排序线索的第一消息,以使在所述任意一个代理服务器中缓存已添加所述排序线索的第一消息。在一个可选的实现方式中,所述第一获取模块包括:确定子模块,用于确定所述多个代理服务器中是否缓存有第二消息,所述第二消息包括所述多个消息中的除所述第一消息以外的消息;设置子模块,用于在所述多个代理服务器缓存有所述第二消息的情况下,设置所述第一消息在所述多个消息中的消费顺序的排序线索,所述排序线索用于指示所述第一消息的消费顺序位于所述第二消息的消费顺序之后。在一个可选的实现方式中,所述第一获取模块包括:第一获取子模块,用于获取所述多个代理服务器中的各个代理服务器分别缓存的消息的已缓存数量;第二获取子模块,用于根据各个已缓存数量获取所述第一消息的排序线索。第四方面,本申请示出了一种消息处理装置,应用于消费方,所述装置包括:第二获取模块,用于获取多个代理服务器分别缓存的消息,所述多个代理服务器中缓存的消息用于供消费方消费;第三获取模块,用于获取得到的多个消息中的各个消息的排序线索;各个消息的排序线索用于确定各个消息在所述多个消息中的消费顺序;第四获取模块,用于按照各个消本文档来自技高网...

【技术保护点】
1.一种消息处理方法,其特征在于,应用于生产方,所述方法包括:/n在得到用于供消费方消费的第一消息的情况下,获取所述第一消息的排序线索,所述排序线索用于确定所述第一消息在用于供所述消费方消费的多个消息中的消费顺序;/n在所述第一消息中添加所述排序线索;/n向多个代理服务器中的任意一个代理服务器发送已添加所述排序线索的第一消息,以使在所述任意一个代理服务器中缓存已添加所述排序线索的第一消息。/n

【技术特征摘要】
1.一种消息处理方法,其特征在于,应用于生产方,所述方法包括:
在得到用于供消费方消费的第一消息的情况下,获取所述第一消息的排序线索,所述排序线索用于确定所述第一消息在用于供所述消费方消费的多个消息中的消费顺序;
在所述第一消息中添加所述排序线索;
向多个代理服务器中的任意一个代理服务器发送已添加所述排序线索的第一消息,以使在所述任意一个代理服务器中缓存已添加所述排序线索的第一消息。


2.根据权利要求1所述的方法,其特征在于,所述获取所述第一消息的排序线索,包括:
确定所述多个代理服务器中是否缓存有第二消息,所述第二消息包括所述多个消息中的除所述第一消息以外的消息;
在所述多个代理服务器缓存有所述第二消息的情况下,设置所述第一消息在所述多个消息中的消费顺序的排序线索,所述排序线索用于指示所述第一消息的消费顺序位于所述第二消息的消费顺序之后。


3.根据权利要求1所述的方法,其特征在于,所述获取所述第一消息的排序线索,包括:
获取所述多个代理服务器中的各个代理服务器分别缓存的消息的已缓存数量;
根据各个已缓存数量获取所述第一消息的排序线索。


4.一种消息处理方法,其特征在于,应用于消费方,所述方法包括:
获取多个代理服务器分别缓存的消息,所述多个代理服务器中缓存的消息用于供消费方消费;
获取得到的多个消息中的各个消息的排序线索;各个消息的排序线索用于确定各个消息在所述多个消息中的消费顺序;
按照各个消息的排序线索获取各个消息在所述多个消息中的消费顺序;
根据各个消息在所述多个消息中的消费顺序对各个消息依次进行消费。


5.根据权利要求4所述的方法,其特征在于,
所述排序线索是根据消息被生产方向代理服务器发送之前各个代理服务器中分别缓存的消息的已缓存数量获取到的;
或者,
所述排序线索是根据在消息被生产方向任意一个代理服务器发送之前所述多个代理服务器缓存的已缓存消息设置的;
或者,
所述排序线索是根据消息在被代理服务器接收时的接收时刻获取到的。


6.根据权利要求5所述的方法,其特征在于,所述按照各个消息的排序线索获取各个消息在所述多个消息中的消费顺序,包括:
对于每一个代理服务器,将从所述代理服务器得到的消息存储在一个待排序队列中;
分别获取各个待排序队列中的消费顺序为首位的目标消息,将各个目标消息分别存储在选举队列中;
获取所述选举队列中的、排序线索用于指示消费顺序为首位的候选消息,将所述候选消息存储在已排序队列中;
将所述候选消息从所述候选消息所属的待排序队列中删除以及从所述候选消息所属的选举队列中删除;
获取所述候选消息所属的待排序队列中的消费顺序为首位的目标消息,将所述候选消息所属的待排序队列中的消费顺序为首位的目标消息存储在选举队列中,然后执行所述获取所述选举队列中的、排序线索用于指示消费顺序为首位的候选消息的步骤,直至获取的消息均存储在所述已排序队列为止;
其中,存储在所述已排序队列越早的消息在已排序队列中的消息位点比存储在所述已排序队列越晚的消息在已排序队列中的消息位点靠前。


7.根据权利要求6所述的方法,其特征在于,所述获取所述选举队列中的、排序线索用于指示消费顺序为首位的候选消息,包括:
根据各个代理服务器中分别缓存的消息的已缓存数量,在所述选举队列中选择最小的已缓存数量对应的消息;
在最小的已缓存数量对应的消息为一个的情况下,将所述最小的已缓存数量对应的消息确定为所述候选消息;
在最小的已缓存数量对应的消息为至少两个的情况下,获取至少两个消息分别被代理服务器接收的接收时刻,在至少两个消息中选择最早的接收时刻对应的消息,并作为所述候选消息。


8.根据权利要求7所述的方法,其特征在于,所述获取所述候选消息所属的待排序队列中的消费顺序为首位的目标消息,包括:
判断所述候选消息所属的待排序队列中是否还存在消息;
在所述候选消息所属的待排序队列中不存在消息的情况下,从所述候选消息所属的待排序队列对应的代理服务器中,拉取供所述消费方消费的多个消息中的新消息;
在所述新消息中获取消费顺序为首位的目标消息。


9.根据权利要求8所述的方法,其特征在于,所述获取所述选举队列中的、排序线索用于指示消费顺序为首位的候选消息,包括:
在所述选举队列中的除所述新消息以外的消息中,获取、排序线索用于指示消费顺序为首位的候选消息。


10.根据权利要求6所述的方法,其特征在于,所述分别获取各个待排序队列中的消费顺序为首位的目标消息,包括:
对于任意一个待排序队列,在所述待排序队列中的多个消息中,选择在所述待排序队列对应的代理服务器中的消息位点为首位的消息,并作为所述目标消息。


11.根据权利要求6所述的方法,其特征在于,所述将所述候选消息存储在已排序队列中,包括:
在已排序队列中的已存储的消息之后的消息位点存储所述候选消息。


12.一种消息处理装置,其特征在于,应用于生产方,所述装置包括:
第一获取模块,用于在得到用于供消费方消费的第一消息的情况下,获取所述第一消息的排序线索,所述排序线索用于确定所述第一消息在用于供所述消费方消费的多个消息中的消费顺序;
添加模块,用于在所述第一消息中添加所述排序线索;
发送模块,用于向多个代理服务器中的任意一个代理服务器发送已添加所述排序线索的第一消息,以使在所述任意一个代理服务器中缓存已添加所述排序线索的第一消息。


13.根据权利要求12所述的装置,其特...

【专利技术属性】
技术研发人员:聂诗超丁宇周新宇詹洲翔林清山
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1