一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于RocketMQ的快递方法、装置、终端设备及存储介质与流程

2022-06-22 16:27:40 来源:中国专利 TAG:

一种基于rocketmq的快递方法、装置、终端设备及存储介质
技术领域
1.本发明涉及快递技术领域,具体涉及一种基于rocketmq的快递方法、装置、终端设备及存储介质。


背景技术:

2.随着时代的发展,人们的生活节奏越来越快。很多用户会希望派件员能够根据自身的时间安排在指定的时间段派送,如用户希望快递员在几天后的某个时间段投递。因此,个性化、定制化的投递有可能成为物流行业未来的一个亮点。
3.作为快递服务的增值服务,传统是通过网点手动管理定制化的投递,如,由业务员或网点专门手动维护用户定制化派件,所以快递服务业界内目前只能实现极少量用户的这类需求。
4.当面对海量的用户定制化派件时,仍采用传统的手动管理定制化投递,会带来较大的额外的人工成本和精力,且价格成本较高,因此,如何实现快速高效大量的支持这类定制化投递的需求,是业内所面临的难题,也是当前行业内的一个痛点和挑战所在。


技术实现要素:

5.针对海量的用户定制化派件需求所面临的问题,本技术提供一种基于rocketmq的快递方法、装置、终端设备及存储介质,通过该技术方案去管理海量的用户定制化的需求,从而有效的解决这类的痛点问题。
6.本发明的技术方案如下:
7.本发明提供一种基于rocketmq的快递方法,包括步骤:
8.获取运单信息,判断所述运单信息是否是定制化运单,若是,提取所述运单信息携带的时间信息,所述定制化运单为用户自定义配送时间或自定义寄件时间的运单,所述时间信息为用户自定义的配送时间或寄件时间;
9.根据所述时间信息为所述定制化运单配置匹配的延时级别;
10.将所述定制化运单及延时级别转换成rocketmq表达的延时消息,并发送至rocketmq;
11.利用rocketmq消费所述延时消息来自动触发所述定制化运单的执行操作。
12.进一步优选的,还包括动态配置延时级别列表的步骤,所述延时级别列表用于存储根据用户自定义配送时间或自定义寄件时间配置的自定义延时级别。
13.进一步优选的,所述根据所述时间信息为所述定制化运单配置匹配的延时级别,具体包括步骤:
14.根据所述时间信息在所述延时级别列表中搜索相匹配的延时级别;
15.若所述延时级别列表中不存在匹配的延时级别,则动态配置与所述时间信息匹配的延时级别,并将动态配置的延时级别更新至所述延时级别列表中;
16.将与所述时间信息匹配的延时级别设定为所述定制化运单的延时级别。
17.进一步优选的,在利用rocketmq触发消费所述延时消息之前,还包括rocketmq自动加载所述延时级别列表的步骤,以使rocketmq根据所述延时级别列表中的自定义延时级别消费相应的延时消息。
18.进一步优选的,rocketmq配置有用于存储延时消息的延时消息队列,所述利用rocketmq消费所述延时消息来自动触发所述定制化运单的执行操作,具体包括步骤:
19.读取所述延时消息队列中待消费的延时消息;
20.在所述延时级别列表中搜索与所述延时消息相匹配的延时级别;
21.判断所述延时级别对应的延时时间是否到期,若到期,消费所述延时消息,若否,则不消费所述延时消息;
22.根据所述延时消息的消费自动触发末端网点,以使末端网点向快递员终端推送与所述延时消息对应的定制化运单。
23.进一步优选的,所述运单信息中配置有用于标识定制化运单的标识信息,根据所述标识信息判断所述运单信息是否是定制化运单。
24.本发明还提供一种基于rocketmq的快递装置,包括:
25.快递系统平台,用于获取运单信息,判断所述运单信息是否是定制化运单,若是,提取所述运单信息携带的时间信息,并根据所述时间信息为所述定制化运单配置匹配的延时级别,及将所述定制化运单及延时级别转换成rocketmq表达的延时消息,并发送至rocketmq中间件;所述定制化运单为用户自定义配送时间或自定义寄件时间的运单,所述时间信息为用户自定义的配送时间或寄件时间;
26.rocketmq中间件,用于消费所述延时消息来自动触发所述定制化运单的执行操作。
27.进一步优选的,还包括配置中心,所述配置中心用于动态配置延时级别列表,所述延时级别列表用于存储根据用户自定义配送时间或自定义寄件时间配置的自定义延时级别。
28.本发明还提供一种基于rocketmq的快递终端设备,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由所述处理器加载并执行以实现上述的快递方法。
29.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的快递方法。
30.依据上述实施例的基于rocketmq的快递方法、装置、终端设备及存储介质,将用户的定制化运单通过自定义延时级别进行管理,到了用户设定的自定义时间点后,自动触发消息通知机制,通知网点对该定制化运单进行派送,不需要网点再手动维护待派件信息,满足海量用户定制化配送需求的同时,还能够节省末端网点的人力成本,提高派件的效率,从而达到满足用户定制化派件需求的目的。
附图说明
31.图1为快递方法流程图;
32.图2为快递时序示意图;
33.图3为快递装置原理图;
34.图4为快递终端设备原理图。
具体实施方式
35.下面通过具体实施方式结合附图对本发明作进一步详细说明。
36.延时队列在项目中的应用还是比较多的,尤其像电商类平台,下边的这些场景都可以应用延时队列解决。例如,
37.1、订单成功后,在30分钟内没有支付,自动取消订单;
38.2、外卖平台发送订餐通知,下单成功后60s给用户推送短信;
39.3、如果订单一直处于某一个未完结状态时,及时处理关单,并退还库存;
40.4、淘宝新建商户一个月内还没上传商品信息,将冻结商铺等。
41.延时队列除了上述应用外,在快递技术领域应用也非常广泛,例如,用户希望快递员在几天后的某个时间段派送订单,这种需求可以称为定制化运单,针对用户的定制化运单,其定制化派送需求是多种多样的。但是,业务员一天要派送的件都很多,如果由业务员或者网点专门去维护大量的用户定制化派件,又会带来额外的人工成本和精力。针对这种情况,本技术提出一种基于rocketmq的快递方法,去管理海量的用户定制化的需求,从而有效的解决这类的痛点问题。
42.本技术涉及的rocketmq是由阿里捐赠给apache的一款分布式、队列模型的开源消息中间件,经历了淘宝双十一的洗礼。
43.rocketmq具有以下特点:支持严格的消息顺序,支持topic与queue两种模式,亿级消息堆积能力,比较友好的分布式特性,同时支持push与pull方式消费消息,历经多次天猫双十一海量消息考验,rocketmq是纯java编写,基于通信框架netty。rocketmq前身叫做metaq,在meataq发布3.0版本的时候改名为rocketmq,其本质上的设计思路和kafka类似,但是和kafka不同的是其使用java进行开发,由于在国内的java受众群体远远多于scala,所以rocketmq是很多以java语言为主的公司的首选。
44.开源rocketmq支持延迟消息,但是不支持秒级精度。默认支持18个level的延迟消息,这是通过broker端的messagedelaylevel配置项确定的。而rocketmq的延时级别默认支持18个级别,具体的,rcoketmq的延时等级为:1s,5s,10s,30s,1m,2m,3m,4m,5m,6m,7m,8m,9m,10m,20m,30m,1h,2h。level=0,表示不延时。level=1,表示1级延时,对应延时1s。level=2表示2级延时,对应5s,以此类推。由此可见,rocketmq最小延时级别为1s,最高延时级别为2h,其不支持的天级别或者其他自定义的消息延时级别,也即是,rocketmq不支持跨度小时到天,甚至自定义的某个时间点。
45.本技术创造性地改进rocketmq中间件,使改进后的rocketmq中间件支持任意的延时级别,并将其应用到快递技术领域中,以实现定制化运单的自动触发执行。也即是,以改进后的rocketmq中间件为基础,将用户的定制化派送需求信息转化为rocketmq可以表达的信息,并进行相应的管理。当达到用户设定的时间时,自动触发系统流程,通知网点进行相应的派件操作。下面通过具体实例对本技术的基本构思进行详细描述。
46.实施例一:
47.本实施例提供一种基于rocketmq的快递方法,其流程图如图1所示,具体包括如下步骤。
48.s100:获取运单信息,判断运单信息是否是定制化运单,若是,提取运单信息携带的时间信息。
49.s200:根据时间信息为定制化运单配置匹配的延时级别。
50.s300:将定制化运单及延时级别转换成rocketmq表达的延时消息,并发送至rocketmq。
51.s400:利用rocketmq消费延时消息来自动触发定制化运单的执行操作。
52.相对用户来说,运单即可以是用户的收件运单,也可以是用户的寄件运单,不论是收件运单还是寄件运单,用户均可以在运单中标注个性化的需求,例如,对派件时间的个性化需求,对寄件上门取件的个性化需求,以此形成定制化运单,故在步骤s100中,定制化运单为用户自定义配送时间或自定义寄件时间的运单,该时间信息为用户自定义的配送时间或寄件时间。
53.为了对定制化运单进行明确识别,进一步,运单信息中配置有用于标识定制化运单的标识信息,根据该标识信息判断获取的运单信息是否是定制化运单,例如,在运单信息中配置有用于供用户提出个性化要求的备注栏,在该备注栏内,用户可以填写相应的定制化需求信息。
54.为了使rocketmq支持任意延时级别,还包括动态配置延时级别列表的步骤,该延时级别列表用于存储根据用户自定义配送时间或自定义寄件时间配置的自定义延时级别,具体的,本技术通过apollo配置中心动态配置延时级别列表中的延时级别。
55.其中,apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
56.在步骤s200中,根据时间信息为定制化运单配置匹配的延时级别,具体包括如下步骤:
57.s201:根据时间信息在延时级别列表中搜索相匹配的延时级别。
58.s202:若延时级别列表中不存在匹配的延时级别,则动态配置与时间信息匹配的延时级别,并将动态配置的延时级别更新至延时级别列表中。
59.s203:将与时间信息匹配的延时级别设定为定制化运单的延时级别。
60.rocketmq消息包括topic和tag,其中,topic为消息主题,一级消息类型,通过topic对消息进行分类,tag为消息标签,二级消息类型,用来进一步区分某个topic下的消息分类。rocketmq允许消费者按照tag对消息进行过滤,确保消费者最终只消费到他关注的消息类型。在步骤s300中,将定制化运单及延时级别转换成rocketmq表达的延时消息,并发送至rocketmq;具体的,将定制化运单表达成rocketmq的topic,将延时级别表达成rocketmq的tag,按照tag对定制化运单进行消费。
61.在步骤s400之前,还包括rocketmq自动加载延时级别列表,以使rocketmq根据所述延时级别列表中的自定义延时级别消费相应的延时消息。rocketmq配置有用于存储延时消息的延时消息队列,进一步,在步骤s400中,利用rocketmq消费所述延时消息来自动触发所述定制化运单的执行操作,具体包括步骤:
62.读取延时消息队列中待消费的延时消息;
63.在所述延时级别列表中搜索与延时消息相匹配的延时级别;
64.判断所述延时级别对应的延时时间是否到期,若到期,消费所述延时消息,若否,则不消费所述延时消息;
65.根据延时消息的消费自动触发末端网点,以使末端网点向快递员终端推送与延时消息对应的定制化运单。
66.下面以具体的实例对上述步骤s100-s400进行具体说明。
67.如图2所示,派件员通过派件员终端设备录入运单信息,该运单信息中包括派送时间信息,并将该运单信息传输至系统后台,系统后台判断该运单信息是否是定制化运单,若是,则将该派送时间信息转换成对应的延时级别,系统后台缓存有延时级别列表,系统后台进一步判断该延时级别是否存在该延时级别列表内,若不存在,则通过apollo配置中心动态配置该延时级别,apollo配置中心存储更新后的延时级别列表,并将更新后的延时级别列表及时反馈至系统后台,以使系统后台同步更新延时级别列表;rocketmq动态获取apollo配置中心更新的延时级别列表;系统后台将定制化运单及相应的延时级别推送至rocketmq,当延时级别所对应的时间片到时,rocketmq消费相应的延时消息,若延时级别所对应的时间片未到,则rocketmq不作任何操作,rocketmq通过消费延时消息触发系统后台,系统后台通过该触发自动将定制化运单推送至派件员终端设备,通知派件员对该定制化运单进行派送。
68.基于rocketmq派件,如果属于定制化派件的包裹,末端网点进行派件扫描的时候,会提示业务员无法进行派件扫描操作,直到接收到系统派件通知时方可进行该操作。
69.基于rocketmq实现定制化运单的技术方案中,rocketmq追求高可靠、高可用、高并发、低延迟,同时,工程师还解决了优化慢请求与统一存储引擎。
70.其中,优化慢请求:这里主要是解决在海量高并发场景下降低慢请求对整个集群带来的抖动,毛刺问题。这是一个具有挑战的技术,经过工程师跟进调优,99.996%的延迟落在了10ms以内,而99.6%的延迟在1ms以内。优化主要集中在rocketmq存储层算法优化、jvm与操作系统调优。
71.统一存储引擎:主要解决的消息引擎的高可用,成本问题。在多代消息引擎共存的前提下,工程师对notify的存储模块进行了全面移植与替换。
72.通过本实施例提供的基于rocketmq的快递方法,将用户的定制化配送时间信息通过自定义延时队列进行管理,到了用户设定的这个时间点后,自动触发消息通知机制,通知网点对该单进行派送,而不需要网点再手动维护待派件信息,从而达到节省人力成本,提高派件效率,满足用户定制化派件需求的目的。
73.实施例二:
74.基于实施例一,本实施例提供一种基于rocketmq的快递装置,其原理图如图3所示,包括快递系统平台、配置中心和rocketmq中间件。
75.其中,快递系统平台用于获取运单信息,判断所述运单信息是否是定制化运单,若是,提取所述运单信息携带的时间信息,并根据所述时间信息为所述定制化运单配置匹配的延时级别,及将所述定制化运单及延时级别转换成rocketmq表达的延时消息,并发送至rocketmq中间件;所述定制化运单为用户自定义配送时间或自定义寄件时间的运单,所述时间信息为用户自定义的配送时间或寄件时间。
76.配置中心为apollo配置中心,用于动态配置延时级别列表,延时级别列表用于存
储根据用户自定义配送时间或自定义寄件时间配置的自定义延时级别。
77.rocketmq中间件用于消费所述延时消息来自动触发定制化运单的执行操作。
78.快递装置的工作原理是:派件员通过派件员终端设备录入运单信息,该运单信息中包括派送时间信息,并将该运单信息传输至快递系统平台,快递系统平台判断该运单信息是否是定制化运单,若是,则将该派送时间信息转换成对应的延时级别,快递系统平台缓存有延时级别列表,快递系统平台进一步判断该延时级别是否存在该延时级别列表内,若不存在,则通过apollo配置中心动态配置该延时级别,apollo配置中心存储更新后的延时级别列表,并将更新后的延时级别列表及时反馈至快递系统平台,以使快递系统平台同步更新延时级别列表;rocketmq中间件动态获取apollo配置中心更新的延时级别列表;快递系统平台将定制化运单及相应的延时级别推送至rocketmq中间件,当延时级别所对应的时间片到时,rocketmq中间件消费相应的延时消息,若延时级别所对应的时间片未到,则rocketmq中间件不作任何操作,rocketmq中间件通过消费延时消息触发快递系统平台,快递系统平台通过该触发自动将定制化运单推送至派件员终端设备,通知派件员对该定制化运单进行派送。
79.实施例三:
80.基于实施例一和实施例二,本实施例提供一种基于rocketmq的快递终端设备,该终端设备的原理图如图4所示,该终端设备400可以是平板电脑、笔记本电脑或台式电脑。终端设备400还可能被称为便携式终端、膝上型终端、台式终端等其他名称。
81.通常,终端设备400包括有处理器4001和存储器4002,处理器4001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器4001可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器4001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
82.在一些实施例中,处理器4001可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器4001还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
83.存储器4002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器4002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器4002中的非暂态的计算机可读存储介质用于存储至少一个指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集用于被处理器4001所执行以实现本技术中实施例一提供的快递方法。
84.因此,本技术的设备400通过至少一条指令、至少一段程序、代码集或指令集执行实施例一提供的快递方法,具有的优点是:将用户的定制化配送时间信息通过自定义延时队列进行管理,到了用户设定的这个时间点后,自动触发消息通知机制,通知网点对该单进行派送,而不需要网点再手动维护待派件信息,从而达到节省人力成本,提高派件效率,满
足用户定制化派件需求的目的。
85.在一些实施例中,设备400还可选包括有:外围设备接口4003和至少一个外围设备。处理器4001、存储器4002和外围设备接口4003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口4003相连。
86.具体到本实施例中,为了实现基于rocketmq的快递方法,相应的外围设备包括派件员终端设备4004,派件员终端设备4004可以录入相应的运单信息,进一步,处理器4001通过派件员终端设备4004可以获取该运单信息,处理器4001判断到该运单信息为定制化运单时,基于rocketmq自动触发派件员终端设备4004,以通知派件员执行该定制化运单。
87.本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质。该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行实施例一中的快递方法。
88.实施例二中的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
89.以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献