[发明专利]一种基于多线程的消息处理方法及装置有效
申请号: | 201710112550.6 | 申请日: | 2017-02-28 |
公开(公告)号: | CN108509257B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 沈林杰;闫猛;范浩雍;李安平 | 申请(专利权)人: | 苏宁易购集团股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/54;G06Q10/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多线程 消息 处理 方法 装置 | ||
本发明实施例公开了一种基于多线程的消息处理方法及装置,涉及数字化物流技术领域,能够缓解现有技术中由于线程间通讯造成的问题。本发明包括:接收嵌入式系统发送的消息,根据对所述消息的解析结果,生成报文,其中,所生成的报文对应待处理事务,所述步骤待处理事务包括了至少一个步骤;将所生成的报文加入线程安全队列,其中,所述线程安全队列包括指定大小的数据公共访问区,用于各线程访问所述线程安全队列中的数据;从所述线程安全队列中提取报文,并加入当前空闲的线程进行处理,其中,一个线程用于处理所述步骤待处理事务所包括的一个步骤;将所得到的处理结果向所述嵌入式系统发送。本发明适用于对于嵌入式系统的高并发的消息处理。
技术领域
本发明涉及数字化物流技术领域,尤其涉及一种基于多线程的消息处理方法及装置。
背景技术
目前,在物流仓库的数字化管理中,基本都采用任务自动派发系统、消息管理系统等数字化管理系统,为仓库工作人员派发上架、下架、拣选、打包以及分拣等操作,目的在于将每一个员工的操作细节都纳入数字化管理中,从而提高物流仓库的管理效率。
并且,随着大型物流仓库的逐步建立,以及自动化程度越来越高,其所采用的数字化管理系统所需处理、派发的任务量呈爆炸式增长,这就需要提高数字化管理系统的并行处理多个任务的能力。目前所采用的并行处理多个任务的方案中,一般通过同步或异步操作的方式传输消息,而由于每个任务处理的时效性需要优先保证,因此为每个任务分配多个线程,从而提高每个任务的处理效率,而随着任务量逐步增多,若要增加数字化管理系统的并行处理能力,则需要为系统的硬件设备增加更多的CPU和内存,以便于扩充计算资源来建立更多的处理线程,从而增加任务处理的并发量。
这就需要提高系统的硬件配置水平和计算资源的容量,即需要物流仓库的运营商采购更多的硬件设备,物流仓库的建设、运营成本急剧上升;并且当系统的硬件设备规模扩大后,由于需要管理海量的线程间的通信,反而导致了任务延时、超期、中断等异常频发,任务处理的时效性将难以保障。因此物流仓库的数字化管理能力受到了一定的限制,物流仓库的规模难以进一步扩大。
发明内容
本发明的实施例提供一种基于多线程的消息处理方法及装置,能够缓解现有技术中由于线程间通讯造成的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供的方法,包括:
接收嵌入式系统发送的消息,根据对所述消息的解析结果,生成报文,其中,所生成的报文对应待处理事务,所述步骤待处理事务包括了至少一个步骤;
将所生成的报文加入线程安全队列,其中,所述线程安全队列包括指定大小的数据公共访问区,用于各线程访问所述线程安全队列中的数据;
从所述线程安全队列中提取报文,并加入当前空闲的线程进行处理,其中,一个线程用于处理所述步骤待处理事务所包括的一个步骤;
将所得到的处理结果向所述嵌入式系统发送。
结合第一方面,在第一方面的第一种可能的实现方式中,线程的数量为所述待处理事务的步骤数量的整数倍,一个步骤由至少一个线程处理。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:
接收所述嵌入式系统并发发送的至少2条消息;
针对每一条接收到的消息生成报文,并将对应所生成报文的步骤,分别加入各个线程的处理队列。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,还包括:
针对每一条接收到的消息生成报文,一个步骤被线程处理完毕后,将这一个步骤的处理结果存入所述线程安全队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏宁易购集团股份有限公司,未经苏宁易购集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710112550.6/2.html,转载请声明来源钻瓜专利网。