运单的处理方法、系统、设备和存储介质
技术领域
本发明涉及物流管理技术领域,特别涉及一种运单的处理方法、系统、设备及存储介质。
背景技术
根据实际情况,用户可能一天内在互联网网站进行多次下单,比如上午9点、10点、11点分别下一单或多单,这些均对应同一收货时间段。此时,如果运单在同一时间段(比如某天的上午或下午)到达货物配送站点,为了提高用户体验就需要将这些运单合到一起一次性配送给用户,而非多次送货,以免多次打扰用户。
现有技术中,确定运单是否需要合到一起配送的方法为:当配送员在配送站点扫描货物时,获取运单信息中的配送站点、收件人、收件地址以及预计收件时间段,然后在运单数据库中查找同一配送站点、同一收件人、同一收件地址以及同一预计收件时间段的运单数据,根据查找结果来确定是否需要合在一起配送运单;但是,该确定运单是否需要合到一起配送的方法存在查询效率低下的缺点;同时,对于实际上不需要合在一起配送的运单,也需要在运单数据库中查找,从而造成运单数据库压力大的问题。
发明内容
本发明要解决的技术问题是现有技术中的存在确定运单是否需要合到一起配送的方法存在查询效率低下,且造成运单数据库压力大的缺陷,目的在于提供一种运单的处理方法、系统、设备及存储介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供一种运单的处理方法,所述处理方法包括:
获取当前运单的运单信息;
其中,所述运单信息包括配送站点、收货人、收货地址和收货时间段信息;
根据所述配送站点、所述收货人、所述收货地址和所述收货时间段信息得到对应的字段信息;
其中,所述字段信息用于唯一确定一组所述配送站点、所述收货人、所述收货地址和所述收货时间段信息;
在运单数据库中查找与所述字段信息对应的运单信息,得到相应的查找结果;
当所述查找结果不为空时,确定所述当前运单为需要合在一起配送的运单,并对所述当前运单的当前运单的运单信息进行打标。
较佳地,所述处理方法还包括:
当所述查找结果为空时,则确定所述当前运单为不需要合在一起配送的运单,并将所述当前运单的运单信息存储至所述运单数据库中;
所述对所述当前运单的运单信息进行打标的步骤之后还包括:
将打标后的所述当前运单的运单信息存储至所述运单数据库中。
较佳地,所述根据所述配送站点、所述收货人、所述收货地址和所述收货时间段信息得到对应的字段信息的步骤包括:
采用散列算法计算所述配送站点、所述收货人、所述收货地址和所述收货时间段信息对应的哈希值;
所述在运单数据库中查找与所述字段信息对应的运单信息,得到相应的查找结果的步骤包括:
在运单数据库中查找与所述哈希值对应的运单信息,得到相应的查找结果;
所述将所述当前运单的运单信息存储至所述运单数据库中的步骤包括:
将所述当前运单的运单信息按照哈希结构存储至所述运单数据库中;
所述将打标后的所述当前运单的运单信息存储至所述运单数据库中的步骤包括:
将打标后的所述当前运单的运单信息按照所述哈希结构存储至所述运单数据库中。
较佳地,所述处理方法还包括:
预先在所述当前运单的运单信息中设置打标位;
对所述当前运单的运单信息进行打标的步骤包括:
设置所述当前运单的运单信息中的所述打标位,以标识所述当前运单为需要合在一起配送的运单。
本发明还提供一种运单的处理系统,所述处理系统包括运单信息获取模块、字段信息获取模块、查找结果获取模块和操作模块;
所述运单信息获取模块用于获取当前运单的运单信息;
其中,所述运单信息包括配送站点、收货人、收货地址和收货时间段信息;
所述字段信息获取模块用于根据所述配送站点、所述收货人、所述收货地址和所述收货时间段信息得到对应的字段信息;
其中,所述字段信息用于唯一确定一组所述配送站点、所述收货人、所述收货地址和所述收货时间段信息;
所述查找结果获取模块用于在运单数据库中查找与所述字段信息对应的运单信息,得到相应的查找结果;
所述操作模块用于当所述查找结果不为空时,确定所述当前运单为需要合在一起配送的运单,并对所述当前运单的运单信息进行打标。
较佳地,所述处理系统还包括存储模块;
所述操作模块还用于当所述查找结果为空时,则确定所述当前运单为不需要合在一起配送的运单,并调用所述存储模块;
所述存储模块用于将所述当前运单的运单信息存储至所述运单数据库中;
所述存储模块还用于将打标后的所述当前运单的运单信息存储至所述运单数据库中。
较佳地,所述字段信息获取模块用于采用散列算法计算所述配送站点、所述收货人、所述收货地址和所述收货时间段信息对应的哈希值;
所述查找结果获取模块用于在运单数据库中查找与所述哈希值对应的运单信息,得到相应的查找结果;
所述存储模块用于将所述当前运单的运单信息按照哈希结构存储至所述运单数据库中;
所述存储模块还用于将打标后的所述当前运单的运单信息按照所述哈希结构存储至所述运单数据库中。
较佳地,所述处理系统还包括预先设置模块;
所述预先设置模块用于预先在所述当前运单的运单信息中设置打标位;
所述操作模块用于设置所述当前运单的运单信息中的所述打标位,以标识所述当前运单为需要合在一起配送的运单。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现上述的运单的处理方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的运单的处理方法的步骤。
本发明的积极进步效果在于:
本发明中,通过获取当前运单的运单信息,并根据运单信息获取同一配送站点、同一收货人、同一收货地址和同一收货时间段信息对应的字段信息,然后获取运单数据库中与字段信息对应的运单信息的查找结果,当查找结果不为空时,确定当前运单为需要合在一起配送的运单,并对当前运单的运单信息进行打标,从而实现提前标识需要合在一起配送的运单,减小了运单数据库的压力,避免了少数用户多次下单时合在一起配送送货判断影响所有运单都做判断,提高了送货效率,避免了多次送货引起的多次打扰客户,增加了用户体验。
附图说明
图1为本发明实施例1的运单的处理方法的流程图。
图2为本发明实施例2的运单的处理方法的流程图。
图3为本发明实施例3的运单的处理系统的模块示意图。
图4为本发明实施例4的运单的处理系统的模块示意图。
图5为本发明实施例5中的实现运单的处理方法的电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
如图1所示,本实施例的运单的处理方法包括:
S101、获取当前运单的运单信息;
其中,运单信息包括配送站点、收货人、收货地址和收货时间段信息;
S102、根据配送站点、收货人、收货地址和收货时间段信息得到对应的字段信息;
其中,字段信息用于唯一确定一组配送站点、收货人、收货地址和收货时间段信息;
S103、在运单数据库中查找与字段信息对应的运单信息,得到相应的查找结果;
S104、当查找结果不为空时,确定当前运单为需要合在一起配送的运单;
S105、对当前运单的运单信息进行打标。
本实施例中,通过获取当前运单的运单信息,并根据运单信息获取同一配送站点、同一收货人、同一收货地址和同一收货时间段信息对应的字段信息,然后获取运单数据库中与字段信息对应的运单信息的查找结果,当查找结果不为空时,确定当前运单为需要合在一起配送的运单,并对当前运单的运单信息进行打标,从而实现提前标识需要合在一起配送的运单,减小了运单数据库的压力,避免了少数用户多次下单时合在一起配送送货判断影响所有运单都做判断,提高了送货效率,避免了多次送货引起的多次打扰客户,增加了用户体验。
实施例2
如图2所示,本实施例的运单的处理方法是对实施例1的进一步改进,具体地:
步骤S104还包括:
当查找结果为空时,则确定当前运单为不需要合在一起配送的运单,并将运单信息存储至运单数据库中;
步骤S105之后还包括:
S106、将打标后的当前运单的运单信息存储至运单数据库中。
具体地,运单数据库采用redis数据库(一种数据库),但不限于redis数据库,也可以采用其它分布式数据库。
本实施例的处理方法还包括:
S107、预先在当前运单的运单信息中设置打标位;
步骤S105具体包括:
S1051、设置当前运单的运单信息中的打标位,以标识当前运单为需要合在一起配送的运单。
具体地,打标位为标记字段(一个字符串),该字符串中的每一位作为一个标记位,用于标记不同含义的业务。本实施例中,将该字符串的第n位设置为1,用于标识当前运单为需要合在一起配送的运单;将该字符串的第n位设置为0,用于标识当前运单为不需要合在一起配送的运单。
另外,步骤102具体包括:
S1021、采用散列算法计算配送站点、收货人、收货地址和收货时间段信息对应的哈希值。
步骤S103具体包括:
S1031、在运单数据库中查找与哈希值对应的运单信息,得到相应的查找结果。
其中,可以根据hget指令(一种控制指令)来查找与哈希值对应的运单信息,得到相应的查找结果。
步骤S104中将运单信息存储至运单数据库中的步骤具体包括:
将当前运单的运单信息按照哈希结构(一种数据存储结构)存储至运单数据库中。
在实际配送场景中,配送员根据各个运单的运单信息上的打标位被设置为0或者1,来区分该运单是否需要合在一起配送;打标位为1表示当前运单为需要合在一起配送的运单;打标位为0表示当前运单为不需要合在一起配送的运单。配送员挑选出打标位为1的运单,再根据不同的收货人等信息进行合在一起配送。
本实施例中,通过获取当前运单的运单信息,并根据运单信息获取同一配送站点、同一收货人、同一收货地址和同一收货时间段信息对应的哈希值,然后获取运单数据库中与哈希值对应的运单信息的查找结果,当查找结果不为空时,确定当前运单为需要合在一起配送的运单,并对当前运单的运单信息进行打标,从而实现提前标识需要合在一起配送的运单,减小了运单数据库的压力,避免了少数用户多次下单时合在一起配送送货判断影响所有运单都做判断,提高了送货效率,避免了多次送货引起的多次打扰客户,增加了用户体验。
实施例3
如图3所示,本实施例的运单的处理系统包括运单信息获取模块1、字段信息获取模块2、查找结果获取模块3和操作模块4。
运单信息获取模块1用于获取当前运单的运单信息;
其中,运单信息包括配送站点、收货人、收货地址和收货时间段信息;
字段信息获取模块2用于根据配送站点、收货人、收货地址和收货时间段信息得到对应的字段信息;
其中,字段信息用于唯一确定一组配送站点、收货人、收货地址和收货时间段信息;
查找结果获取模块3用于在运单数据库中查找与字段信息对应的运单信息,得到相应的查找结果;
操作模块4用于当查找结果不为空时,确定当前运单为需要合在一起配送的运单,并对当前运单的运单信息进行打标。
本实施例中,通过获取当前运单的运单信息,并根据运单信息获取同一配送站点、同一收货人、同一收货地址和同一收货时间段信息对应的字段信息,然后获取运单数据库中与字段信息对应的运单信息的查找结果,当查找结果不为空时,确定当前运单为需要合在一起配送的运单,并对当前运单的运单信息进行打标,从而实现提前标识需要合在一起配送的运单,减小了运单数据库的压力,避免了少数用户多次下单时合在一起配送送货判断影响所有运单都做判断,提高了送货效率,避免了多次送货引起的多次打扰客户,增加了用户体验。
实施例4
如图4所示,本实施例的运单的处理方法是对实施例3的进一步改进,具体地:
本实施例的处理系统还包括存储模块5和预先设置模块6。
字段信息获取模块2用于采用散列算法计算配送站点、收货人、收货地址和收货时间段信息对应的哈希值;
查找结果获取模块3用于在运单数据库中查找与哈希值对应的运单信息,得到相应的查找结果;
其中,可以根据hget指令来查找与哈希值对应的运单信息,得到相应的查找结果。
存储模块5用于将当前运单的运单信息按照哈希结构存储至运单数据库中。
具体地,运单数据库采用redis数据库,但不限于redis数据库,也可以采用其它分布式数据库。
预先设置模块6用于预先在当前运单的运单信息中设置打标位;
操作模块4用于设置当前运单的运单信息中的打标位,以标识当前运单为需要合在一起配送的运单。
具体地,打标位为标记字段(一个字符串),该字符串中的每一位作为一个标记位,用于标记不同含义的业务。本实施例中,将该字符串的第n位设置为1,用于标识当前运单为需要合在一起配送的运单;将该字符串的第n位设置为0,用于标识当前运单为不需要合在一起配送的运单。
操作模块4还用于当查找结果为空时,则确定当前运单为不需要合在一起配送的运单,并调用存储模块;
存储模块5用于将运单信息存储至运单数据库中;
存储模块5还用于将打标后的当前运单的运单信息存储至运单数据库中。
在实际配送场景中,配送员根据各个运单的运单信息上的打标位被设置为0或者1,来区分该运单是否需要合在一起配送;打标位为1表示当前运单为需要合在一起配送的运单;打标位为0表示当前运单为不需要合在一起配送的运单。配送员挑选出打标位为1的运单,再根据不同的收货人等信息进行合在一起配送。
本实施例中,通过获取当前运单的运单信息,并根据运单信息获取同一配送站点、同一收货人、同一收货地址和同一收货时间段信息对应的哈希值,然后获取运单数据库中与哈希值对应的运单信息的查找结果,当查找结果不为空时,确定当前运单为需要合在一起配送的运单,并对当前运单的运单信息进行打标,从而实现提前标识需要合在一起配送的运单,减小了运单数据库的压力,避免了少数用户多次下单时合在一起配送送货判断影响所有运单都做判断,提高了送货效率,避免了多次送货引起的多次打扰客户,增加了用户体验。
实施例5
图5为本发明实施例5提供的一种电子设备的结构示意图。电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现实施例1或2中任意一实施例中的运单的处理方法。图5显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
总线33包括数据总线、地址总线和控制总线。
存储器32可以包括易失性存储器,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1-3中任意一实施例中的运单的处理方法。
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图5所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例6
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例1或2中任意一实施例中的运单的处理方法中的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现实施例1或2中任意一实施例中的运单的处理方法中的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式作出多种变更或修改,但这些变更和修改均落入本发明的保护范围。