一种分布式的取件码生成方法与流程

文档序号:11952644阅读:3743来源:国知局
一种分布式的取件码生成方法与流程

本发明涉及样品柜取件码生成技术领域,特别涉及一种分布式的取件码生成方法。



背景技术:

在快递柜的领域中,快递员进行快件派送的时候,通常会遇到收件人无法立刻来取件的情况,这样就需要快递员先把快件存入快递柜中,快递员会在快递柜上输入快件的信息,包含快递单号以及收件人的手机号等基本信息,在输入这些信息完成之后,快递柜会将该快件信息上报给后台服务器,服务器收到该信息之后,会给该快件生成一个六位数的取件码,该取件码在该快递柜上是唯一的,然后存入数据库,并返回快递柜存件成功的消息;同时后台会给收件人的发送一条手机短信,短信内容包含快递柜的地址以及六位数字的取件码。取件人收到短信之后,凭借六位数的取件码到该快递柜中领取自己的快件。

在这个过程当中有以下不足之处:第一,服务器必须针对每一个快件生成一个在该快递柜上唯一的取件码,为了防止一个取件码在近期内被重复使用,因此要求生成的取件码在该快递柜上连续15天内是唯一的,这样生成一个取件码通常很耗时,如果快递柜比较多,服务器的压力会很大;第二,快递员存件过程当中,快递柜会把快递员所存的快件信息上报服务器,等服务器生成完取件码,再返回给快递柜存件成功的消息,存件流程才算结束,如果生成取件码的时间很长,快递员存放一个快件的时间比较长,存件效率比较低下。



技术实现要素:

本发明的目的是克服现有取件码生成过程中耗时较长,对服务器压力较大的缺陷,提供了一种分布式的取件码生成方法,能够减少快递柜服务器的压力,缩短快递员的存件时间,提高存件效率。

本发明的技术方案是:

一种分布式的取件码生成方法,包括如下步骤:

每隔时间T检查一次当前快递柜是否有人在使用,如果没有人在使用则循环调用取件码的生成算法,预生成取件码,直到预生成取件码的数量为N个,并将N个预生成取件码存储到预生成取件码表中;

快递员存放快件时,获取快递单号和收件人的手机号码,从预先生成的N个取件码中取出一个取件码作为该快件的取件码,并将该取件码从预生成表中删除,并将该快件的存件记录存储在本地数据库中;所述存件记录包括快件的取件码。

优选的是,每天从本地数据库中删除M天以前的快件存件记录,以使本地数据库中存储最近M天内的快件存件记录。

优选的是,所述取件码的生成算法包括:

随机生成一个L位数的数字,将该数字转换成六个数字的字符串,作为取件码,并确保该取件码即不在预生成取件码表中,也不在本地数据库中。

优选的是,T为10分钟。

优选的是,N等于200。

优选的是,M等于15。

优选的是,L等于6。

本发明的有益效果体现在以下方面:本发明提供的分布式的取件码生成方法,在快递柜空闲的时候生成取件码,需要的时候进行提取,能够减少快递柜服务器的压力缩短快递员的存件时间,提高存件效率。生成的取件码不会和15天内已使用的取件码相同,提高了安全性,防止快件被恶意取走。

附图说明

图1为本发明所述的预先生成取件码的流程图。

图2为本发明所述的取件码生成算法流程图。

图3为快递员存件过程流程图。

具体实施方式

下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。

本发明提供了一种分布式的取件码生成方法,包括如下步骤:

步骤一:如图1所示,快递柜每隔10分钟检查一次当前快递柜是否有人在使用,如果没有人在使用就检查预先生成的取件码个数是不是有200个,如果不足200个,则开始生成取件码,循环调用取件码的生成算法,直到预生成取件码的数量为200个为止,然后将200个预生成取件码存储到预生成取件码表中。

步骤二:快递员存放快件的时候,在输入完快件的基本信息,包括快递单号,收件人的手机号码之后,快递柜会从预先生成的200个取件码中取出一个取件码作为该快件的取件码,并将该取件码从预生成表中删除,然后将该条存件数据,包括该快件的单号、收件人手机号以及该件快件的取件码在本地数据库中存储起来并上报给服务器。

步骤三:服务器收到存件数据之后,将取件码和快递柜地址发送给收件人,通知收件人凭取件码去快递柜取件。

在另一实施例中,快递柜会在每天0点的时候,从本地数据库中删除15天以前的快件存件记录,使本地数据库式中存储最近15天内的快件存件记录。

如图2所示,步骤一中,取件码的生成算法为:随机生成一个六位数的数字,将该数字转换成6个数字的字符串,作为取件码,然后判断该取件码是否在预生成取件码表中,若在,则需要重新生成,以确保每个取件码都不同;若不在,还需要判断该取件码是否在快件存储本地数据库中,若在也需要重新生成,以确保生成的取件码不会和15天内已经使用过的取件码相同。若随机生成的取件码即不在预生成取件码表中,也不在快件存储本地数据库中,则生成的取件码有效,可以将该取件码存储到预生成取件码表中。

如图3所示,在步骤二中,快递员存放快件的流程为:首先快递员在快递柜界面上进行登录,登录成功后则进入了主界面,点击存件,扫描快件的单号,并连续输入两侧收件人手机号之后,快递柜会打开一个格口,提示快递员放入快件,并关门。快递员放入快件并关闭格口后,快递柜弹出提示,询问快件是否已经放好,若没放好则需要重新电机存件。若放好后,从预生成取件码表中,取出一个取件码,并将该取件码从预生成取件码表移除。把该取件码作为该快件的取件码,存入本地数据库中,并将该该快件的存件记录上报给服务器,服务器收到快件信息之后,发送短信给收件人,包含取件码和快递柜地址,通知收件人凭取件码去快递柜取件。

本发明提供的分布式的取件码生成方法,在快递柜空闲的时候生成取件码,需要的时候进行提取,能够减少快递柜服务器的压力缩短快递员的存件时间,提高存件效率。生成的取件码不会和15天内已使用的取件码相同,提高了安全性,防止快件被恶意取走。

本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用。它完全可以被适用于各种适合本发明的领域。对于熟悉本领域的人员而言,可容易地实现另外的修改。因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1