【技术实现步骤摘要】
消息处理方法、系统、介质和计算机系统
[0001]本公开涉及消息处理领域,更具体地,涉及一种消息处理方法及其系统、计算机系统和计算机可读介质。
技术介绍
[0002]在以生产者和消费者为模型的架构中,消息中间件是基于消息队列与消息传递技术,为生产者和消费者提供同步或异步的、可靠的消息共享和传递的支撑性软件系统。生产者通过Spring定时任务、分布式调度平台或者Java线程等方式扫描数据库中的具有不同任务类型的待处理任务,根据待处理任务完成消息的生产,将消息发送到消息中间件,消费者从消息中间件中拉取已订阅的消息,根据消息的任务类型,激活对应的任务处理逻辑完成消息的消费。
[0003]但是,在处理任务的数据量大的情况下,生产者生产的消息会由于没有及时地被消费者消费掉,在消息中间件平台会产生大量积压,对消息中间件平台造成很大的压力。
技术实现思路
[0004]有鉴于此,本公开提供了一种消息处理方法及其系统、计算机系统和计算机可读介质。
[0005]本公开的一个方面提供了一种消息处理方法,包括:从消息 ...
【技术保护点】
【技术特征摘要】
1.一种消息处理方法,包括:从消息队列拉取m条任务消息,其中,所述m条任务消息是基于从数据库拉取的m条任务数据生成的,每条任务数据包含任务标识和任务类型,所述m条任务数据对应n种任务类型,m、n为正整数,m大于等于n;基于所述n种任务类型,封装所述m条任务消息,以生产m个事件对象,其中,所述m个事件对象对应n种事件类型,所述n种事件类型与所述n种任务类型一一对应;基于所述n种事件类型,将所述m个事件对象存储至第一服务器中的n个环形缓冲队列,以消费所述m个事件对象,并将所述m个事件对象的消费结果返回所述数据库以更新所述数据库,其中,一个环形缓冲队列用于存储一种事件类型的事件对象。2.根据权利要求1所述的方法,其中,所述方法还包括:发送消息接收成功的确认信息至所述消息队列。3.根据权利要求1所述的方法,其中,所述方法还包括:发布所述m个事件对象;响应于监听到所述m个事件对象,基于所述事件类型的不同,将所述m个事件对象发送至n个事件监听处理器,其中,一个事件监听处理器用于监听和消费一种事件类型的事件对象;通过所述n个事件监听处理器消费所述m个事件对象。4.根据权利要求1所述的方法,其中,所述方法还包括:基于所述n种任务类型,确定所述n个环形缓冲队列中与每个环形缓冲区队列对应的队列长度;基于所述与每个环形缓冲区队列对应的队列长度,构建所述n个环形缓冲队列。5.根据权利要求4所述的方法,其中,所述与每个环形缓冲区队列对应的队列长度为2r,r为正整数。6.根据权利要求1所述的方法,其中,所述将所述m个事件对象存储至第一服务器中的n个环形缓冲队列包括:响应于第一服务器中的n个环形缓冲队列中存在可用的s个缓冲队列,确定与所述s种事件类型对应的t个事件对象,其中,s,t为正整数,m大于等于t,n大于等于s;基于所述s种事件类型,将所述t个事件对象存储至第一服务器中的s个环形缓冲队列,直到将所述m个事件对象存储至第一服务器中的n个环形缓冲队列。7.根据权利要求3所述的方法,其中,所述方法还包括:在通过所述n个事件监听处理器消费所述m个事件对象的过程中,针对所述m个事件对象中的每个事件对象,根据事件...
【专利技术属性】
技术研发人员:张海燕,杨小刚,鲍阳,
申请(专利权)人:北京京东世纪贸易有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。