一种动态分配唯一电子运单号的方法技术

技术编号:19821900 阅读:38 留言:0更新日期:2018-12-19 14:44
本发明专利技术涉及一种动态分配唯一电子运单号的方法,包括以下步骤:(1)、自动缓存客户重要信息到Redis缓存;(2)、根据客户信息的日均发件量和警戒值将客户的余额自动进行监控,当客户缓存的余额不足警戒时自动进行缓存客户余额;(3)、根据单号的类型定义单号范围和单号使用伐值,生成对应数量的单号放入单号池缓存中;当单号缓存池低于警戒值时自动生成此类型单号的日均量的数量单号放入缓存池,并记录此类型的单号已经生成的最大单号;当单号号段快要使用完时自动提醒;(4)、单号池使用了缓存队列的方式保证单号先进先出,并采用原子操作避免重复获取单号;本发明专利技术提供一个高效而且稳定的获取单号方式,而且清晰记录客户的余额变化。

【技术实现步骤摘要】
一种动态分配唯一电子运单号的方法
本专利技术涉及一种分配电子运单号的方法,具体涉及一种高效而且稳定的获取单号方式,而且清晰记录客户的余额变化的动态分配唯一电子运单号的方法。
技术介绍
随着物流服务信息化飞速发展,传统的纸质面单逐渐被电子面单所替换,面对全网电子面单的普及以及所需量之巨大,对电子运单获取单号服务能力形成挑战。电子面单的管控和分配逐级成为快递公司一个技术难题。
技术实现思路
针对上述问题,本专利技术的主要目的在于提供一种高效而且稳定的获取单号方式,而且清晰记录客户的余额变化的动态分配唯一电子运单号的方法。本专利技术是通过下述技术方案来解决上述技术问题的:一种动态分配唯一电子运单号的方法,所动态分配唯一电子运单号的方法包括如下步骤:(1)、自动缓存客户重要信息到Redis缓存,客户信息包括客户类型、日均发件量、警戒量、如果客户相关数据修改则修改为同步,为了保证缓存数据准确性,每天定时校准一次缓存的所有客户信息;(2)、根据客户信息的日均发件量和警戒值将客户的余额自动进行监控,当客户缓存的余额不足警戒时自动进行缓存客户余额;(3)、根据单号的类型定义单号范围和单号使用伐值,生成对应数量的单号放入单号池缓存中;当单号缓存池低于警戒值时自动生成此类型单号的日均量的数量单号放入缓存池,并记录此类型的单号已经生成的最大单号;当单号号段快要使用完时自动提醒,让相关人员配置新号段配置后即可自动切换到新的号段。(4)、单号池使用了缓存队列的方式保证单号先进先出,并采用原子操作避免重复获取单号。(5)、所有的缓存Redis我们采用了Redis集群部署,保证Redis的高可用。在本专利技术的具体实施例子中,步骤(1)中,客户信息数据库保存一份,Redis也缓存一份;如果Redis查询不到再去请求库,避免库的连接数增高同时提供响应效率;Redis的数据同时暴露新增、修改的接口,保证DB数据修改及时同步缓存。在本专利技术的具体实施例子中,步骤(2)中,客户需要有电子面单余额才能获取单号,然后对客户的电子面单余额进行缓存,就是一部分余额放入Redis缓存中;缓存中的余额是客户使用的时候直接使用缓存的余额。在本专利技术的具体实施例子中,第(4)步中采用队列获取单号机制读取堆栈中的第一个单号、并删除堆栈中这个单号、保证下次读取不再次获取到此单号,采用Redis原子操作支持高并发读取;第(4)步中原子操作采用Redislist和ListLeftPop属性实现。在本专利技术的具体实施例子中,步骤(5)中,Redis部署一个集群,该集群为当一个Redis节点出现异常并不影响Redis的正常使用的集群。本专利技术的积极进步效果在于:本专利技术为客户提供一个高效而且稳定的获取单号方式,而且清晰记录客户的余额变化。附图说明图1为本专利技术的工作流程示意图。具体实施方式下面结合附图给出本专利技术较佳实施例,以详细说明本专利技术的技术方案。本专利技术的电子面单购买后以余额方式体现,网点或业务员需要使用电子面单单号时,从缓存中获取(缓存中预先生成一定阀值的单号),并扣减相应余额;当单号低于警戒值,系统自动生成单号存入缓存。解决了网点业务员收件高峰期生成单号对系统带来的压力,获取单号高并发导致获取重复,引入余额概念避免面单的浪费以及后续回收等一系列问题。图1为本专利技术的工作流程示意图。本专利技术包括如下步骤:(1)、自动缓存客户重要信息到Redis缓存,客户信息包括客户类型、日均发件量、警戒量、如果客户相关数据修改则修改为同步,为了保证缓存数据准确性,每天定时校准一次缓存的所有客户信息;步骤(1)中,客户信息数据库保存一份,Redis也缓存一份;如果Redis查询不到再去请求库,避免库的连接数增高同时提供响应效率;Redis的数据同时暴露新增、修改的接口,保证DB数据修改及时同步缓存。(2)、根据客户信息的日均发件量和警戒值将客户的余额自动进行监控,当客户缓存的余额不足警戒时自动进行缓存客户余额;步骤(2)中,客户需要有电子面单余额才能获取单号,这个是前提。然后我们会对客户的电子面单余额进行缓存,就是一部分余额放入Redis缓存中(这里的一部分是根据客户的日均发件量和警戒值决定的)。缓存中的余额是客户使用的时候直接使用缓存的余额,避免高并发改变DB实际余额出现数据死锁的问题。(3)、根据单号的类型定义单号范围和单号使用伐值,然后生成对应数量的单号放入单号池缓存中;当单号缓存池低于警戒值时自动生成此类型单号的日均量的数量单号放入缓存池,并记录此类型的单号已经生成的最大单号;当单号号段快要使用完时自动提醒,让相关人员配置新号段配置后即可自动切换到新的号段。(4)、单号池使用了缓存队列的方式保证单号先进先出,并采用原子操作避免重复获取单号;第(4)步中采用队列获取单号机制读取堆栈中的第一个单号、并删除堆栈中这个单号、保证下次读取不再次获取到此单号,采用Redis原子操作支持高并发读取;第(4)步中原子操作采用Redislist和ListLeftPop属性实现。(5)、所有的缓存Redis我们采用了Redis集群部署,保证Redis的高可用。步骤(5)中,Redis部署一个集群,该集群为当一个Redis节点出现异常并不影响Redis的正常使用的集群。本专利技术针对物流时段的特殊性以及面单使用时间段的集中性,电子运单动态分配采用了多用多生成,少用少生成原则,解决了业务和技术上的双重问题,并针对电子运单提供了一套完整的单号监控服务,具有灵活的分配权限、多维度的获取方式还有完整的自动监控、提醒、预警、回收等方案。降低了人工单号管理的成本。本专利技术满足了快递公司多元化的业务单号需求。而且准确记录了客户的电子面单余额变化记录,保证每个客户的单号余额都是有记可循。本专利技术高峰期获取单号的时候不会出现慢和获取重复等现象。单号一个单号池管理清晰明了而且可横向扩展。以上显示和描述了本专利技术的基本原理和主要特征和本专利技术的优点。本行业的技术人员应该了解,本专利技术不受上述实施例的限制,上述实施例和说明书中描述的只是说明本专利技术的原理,在不脱离本专利技术精神和范围的前提下,本专利技术还会有各种变化和改进,这些变化和改进都落入要求保护的本专利技术范围内,本专利技术要求保护范围由所附的权利要求书及其等效物界定。本文档来自技高网...

【技术保护点】
1.一种动态分配唯一电子运单号的方法,其特征在于:所动态分配唯一电子运单号的方法包括如下步骤:(1)、自动缓存客户重要信息到Redis缓存,客户信息包括客户类型、日均发件量、警戒量、如果客户相关数据修改则修改为同步,为了保证缓存数据准确性,每天定时校准一次缓存的所有客户信息;(2)、根据客户信息的日均发件量和警戒值将客户的余额自动进行监控,当客户缓存的余额不足警戒时自动进行缓存客户余额;(3)、根据单号的类型定义单号范围和单号使用伐值,生成对应数量的单号放入单号池缓存中;当单号缓存池低于警戒值时自动生成此类型单号的日均量的数量单号放入缓存池,并记录此类型的单号已经生成的最大单号;当单号号段快要使用完时自动提醒,让相关人员配置新号段配置后即可自动切换到新的号段;(4)、单号池使用了缓存队列的方式保证单号先进先出,并采用原子操作避免重复获取单号;(5)、所有的缓存Redis我们采用了Redis集群部署,保证Redis的高可用。

【技术特征摘要】
1.一种动态分配唯一电子运单号的方法,其特征在于:所动态分配唯一电子运单号的方法包括如下步骤:(1)、自动缓存客户重要信息到Redis缓存,客户信息包括客户类型、日均发件量、警戒量、如果客户相关数据修改则修改为同步,为了保证缓存数据准确性,每天定时校准一次缓存的所有客户信息;(2)、根据客户信息的日均发件量和警戒值将客户的余额自动进行监控,当客户缓存的余额不足警戒时自动进行缓存客户余额;(3)、根据单号的类型定义单号范围和单号使用伐值,生成对应数量的单号放入单号池缓存中;当单号缓存池低于警戒值时自动生成此类型单号的日均量的数量单号放入缓存池,并记录此类型的单号已经生成的最大单号;当单号号段快要使用完时自动提醒,让相关人员配置新号段配置后即可自动切换到新的号段;(4)、单号池使用了缓存队列的方式保证单号先进先出,并采用原子操作避免重复获取单号;(5)、所有的缓存Redis我们采用了Redis集群部署,保证Redis的高可用。2.根据权利要求1所述的动态分配唯一电子运单号的方法,其特征在于:...

【专利技术属性】
技术研发人员:乐爱华
申请(专利权)人:上海中通吉网络技术有限公司
类型:发明
国别省市:上海,31

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

1