【技术实现步骤摘要】
基于消息队列的通信方法及装置
本说明书一个或多个实施例涉及终端
,尤其涉及一种基于消息队列的通信方法及装置。
技术介绍
消息队列(Messagequeue)可以对传输过程中的消息进行保存,使得消息由消息发送方(或称为生产者)发出后暂存于消息队列中,而无需立即传递至消息接收方(或称为消费者),从而实现消息发送方与消息接收方之间的异步通信。例如,消息队列可以应用于分布式系统中,以对各个子系统之间进行异步解耦,从而实现可靠的异步通信。
技术实现思路
有鉴于此,本说明书一个或多个实施例提供一种基于消息队列的通信方法及装置。为实现上述目的,本说明书一个或多个实施例提供技术方案如下:根据本说明书一个或多个实施例的第一方面,提出了一种基于消息队列的通信方法,包括:确定消息队列的消费位点,所述消息队列包含来自消息发送方的消息;读取排列于所述消费位点之后的至少一条消息,以提供至消息接收方;在收到对所述至少一条消息的消费情况之前,将所述消费位点更新至所述至少一条消息之后。 ...
【技术保护点】
1.一种基于消息队列的通信方法,其特征在于,包括:/n确定消息队列的消费位点,所述消息队列包含来自消息发送方的消息;/n读取排列于所述消费位点之后的至少一条消息,以提供至消息接收方;/n在收到对所述至少一条消息的消费情况之前,将所述消费位点更新至所述至少一条消息之后。/n
【技术特征摘要】
1.一种基于消息队列的通信方法,其特征在于,包括:
确定消息队列的消费位点,所述消息队列包含来自消息发送方的消息;
读取排列于所述消费位点之后的至少一条消息,以提供至消息接收方;
在收到对所述至少一条消息的消费情况之前,将所述消费位点更新至所述至少一条消息之后。
2.根据权利要求1所述的方法,其特征在于,还包括:
确定所述消息接收方对所述至少一条消息的消费情况;
根据所述消费情况对所述消息队列进行更新。
3.根据权利要求2所述的方法,其特征在于,所述确定所述消息接收方对所述至少一条消息的消费情况,包括:
在事务日志中顺序记录所述至少一条消息在所述消息队列中的位置信息、所述消息接收方对所述位置信息对应消息的消费情况;
从所述事务日志的初始扫描位置开始,向后扫描已记录的位置信息和消费情况;
将所述初始扫描位置更新至扫描到的最后一条位置信息之后。
4.根据权利要求3所述的方法,其特征在于,当所述至少一条消息被读取后,所述至少一条消息由可见状态切换至预设时长的不可见状态;所述方法还包括:
当所述不可见状态超时后,触发对所述事务日志的扫描操作。
5.根据权利要求2所述的方法,其特征在于,
所述方法还包括:当所述至少一条消息被读取后,将所述至少一条消息由可见状态切换至不可见状态;
所述根据所述消费情况对所述消息队列进行更新,包括:当所述至少一条消息中的任一消息被成功消费时,将所述任一消息由不可见状态切换至删除状态;当所述任一消息未被成功消费时,将所述任一消息由不可见状态切换至删除状态,并将所述任一消息添加至所述消息队列的末位。
6.根据权利要求1所述的方法,其特征在于,所述消息队列中的消息由队列存储引擎进行持久化。
7.根据权利要求6所述的方法,其特征在于,所述消息队列中的消息存储于磁盘中;其中,所述队列存储引擎采用appendonly模式进行磁盘访问。
8.一种基于事务日志的队列消费确认方法,其特征在于,包括:
将消息队列中的至少一条消息提供至消息接收方;
在事务日志中记录所述消息接收方返回的消费确认,所述消费确认表明所述消息接收方对所述特定消息已成功消费;
根据所述事务日志中记录的消费确认,确定所述消息队列的消费进度。
9.根据权利要求8所述的方法,其特征在于,所述至少一条消息位于所述消息队列的消费位点之后;所述方法还包括:
在收到针对所述至少一条消息的消费确认之前,将所述消费位点更新至所述至少一条消息之后,并在预设时长内将所述至少一条消息由可见状态切换至不可见状态;
在所述预设时长之后,将所述至少一条消息由不可见状态切换至删除状态,并将所述至少一条消息中未被成功消费的消息添加至所述消息队列的末位。
10.一种基于消息队列的通信装置,其特征在于,包括:
消费位点确定单元,确定消息队列的消费位点,所述消息队列包含来自消息发送方的消息;
读取单元,读取排列于所述消费位点之后的至少一条消息,以提供至消息接收方;
消费...
【专利技术属性】
技术研发人员:林清山,张美平,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。