一种运单状态映射方法、装置、设备及存储介质与流程

文档序号:22627371发布日期:2020-10-23 19:36阅读:146来源:国知局
一种运单状态映射方法、装置、设备及存储介质与流程
本发明涉及物流跟踪
技术领域
,尤其涉及一种运单状态映射方法、装置、设备及存储介质。
背景技术
:巴枪是快递行业中普遍使用的终端设备,快递运单的揽件,入库,运送,签收等物流跟踪都离不开巴枪的扫描记录。因此对于快递公司而言业务越宽泛巴枪扫描的分类就越多,对应的识别码也越多,通常包裹的状态可以通过巴枪操作码到状态的一对一映射实现。但是由于业务的划分,识别码与包裹映射状态被打破之后,由于识别码记录的状态分类很细致,但是运单对外展示时仅有限几个状态,且运单的状态不仅与识别码有关同时可能与包裹状态等其他状态有关,因此对于运单的状态的判断就变得复杂,有时需要调用几个微服务才能实现判断,关联系统一旦调用失败就会出现运单状态的误展示甚至缺失。技术实现要素:为了解决上述技术问题,本发明的目的在于提供一种运单状态映射方法、装置、设备及存储介质。根据本发明的一个方面,提供了一种运单状态映射方法,包括:构建识别码及其扩展编码与运单状态的字典映射关系;根据字典映射关系基于所述识别码及其扩展编码构造字典树;获取识别码,使用所述识别码搜索字典树,并根据搜索结果执行相应预设操作获取识别码对应的运单状态。进一步的,根据字典映射关系基于所述识别码及其扩展编码构造字典树,包括:根据所述识别码与运单状态的映射关系构建初始字典树,使得所述初始字典树的每个子节点映射一位识别码;匹配所述巴枪码对应的扩展编码,以末位扩展编码对应的子节点为初始节点构造扩展字典树。进一步的,根据搜索结果执行相应预设操作包括:识别字典树中是否有与所述识别码对应的扩展编码;若是,则基于识别码的扩展编码继续搜索字典树,映射出所述扩展编码对应的运单状态并输出;否则,映射出所述识别码对应的运单状态并输出。进一步的,构建识别码及其扩展编码到运单状态的字典映射关系采用key-value键值对的方式;和/或所述扩展编码为数据段segment,所述数据段segment设置为segment.txt格式文件根据本发明的另一个方面,提供了一种运单状态映射装置,其特征在于,包括:映射关系构建模块,配置用于构建识别码及其扩展编码与运单状态的字典映射关系;字典树构建模块,配置用于根据字典映射关系基于所述识别码及其扩展编码构造字典树;状态识别模块,配置用于获取识别码,使用所述识别码搜索字典树,并根据搜索结果执行相应预设操作获取识别码对应的运单状态。进一步的,所述映射关系构建模块,包括:初始字典树构建单元,配置用于根据所述识别码与运单状态的映射关系构建初始字典树,使得所述初始字典树的每个子节点映射一位识别码;扩展字典树构建单元,配置用于匹配所述巴枪码对应的扩展编码,以末位扩展编码对应的子节点为初始节点构造扩展字典树。进一步的,根据搜索结果执行相应预设操作,包括:识别字典树中是否有与所述识别码对应的扩展编码;若是,则基于识别码的扩展编码继续搜索字典树,映射出所述扩展编码对应的运单状态并输出;否则,映射出所述识别码对应的运单状态并输出。进一步的,构建识别码及其扩展编码到运单状态的字典映射关系采用key-value键值对的方式;和/或所述扩展编码为数据段segment,所述数据段segment设置为segment.txt格式文件。一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上任一项所述的方法。根据本发明的另一个方面,提供了一种存储有计算机程序的计算机可读存储介质,该程序被处理器执行时实现如上任一项所述的方法。与现有技术相比,本发明具有以下有益效果:1、本发明示例的一种运单状态映射方法,可以通过识别码直接本地识别运单状态,不依赖外部服务器查询运单状态且查询速度比调用外部服务器数据库查询速度快,大大简化运单状态的判断流程,增加运单状态查询的稳定性和可靠性。2、本发明示例的一种运单状态映射装置,根据字典映射关系基于所述识别码及其扩展编码构造字典树,只需要通过外部系统获取识别码,然后通过识别码及扩展编码直接本地识别运单状态,并根据搜索结果执行相应预设操作获取识别码对应的运单状态,不依赖调用外部服务器查询运单状态,简化运单状态的判断流程,增加运单状态查询的稳定性和可靠性。3、本发明中示例的设备,通过处理器执行运单状态映射方法,能够大大简化运单状态的判断流程,增加运单状态查询的稳定性和可靠性。4、本发明中示例的可读存储介质,储存有被处理器执行时实现的所述运单状态映射方法,便于运单状态映射装置的使用及推广。附图说明图1为本发明运单状态映射方法的流程图。图2为本发明一个实施例字典树的结构示意图。图3为本发明一个实施例方法的示意性流程图。图4为本发明的计算机系统的结构示意图。具体实施方式为了更好的了解本发明的技术方案,下面结合具体实施例、说明书附图对本发明作进一步说明。实施例1:本实施例的一种运单状态映射装置,包括:映射关系构建模块,配置用于构建识别码及其扩展编码与运单状态的字典映射关系,作为可选方案可以根据映射关系进一步得到映射文件,本实施例识别码选用巴枪码,扩展编码为数据段segment,所述数据段segment设置为segment.txt格式文件,构造方式可以采用key-value键值对(k-v对)的方式,具体如下:首先构造巴枪码到运单状态的映射文件,k-v对中的key选取完整的巴枪码,value选取巴枪码对应的运单状态;如果巴枪码无法直接映射到运单状态,则将巴枪码映射文件中对应的运单状态的对应的value设置成segment1.txt,根据字段segment进一步判断。字典树构建模块,配置用于根据字典映射关系基于所述识别码及其扩展编码构造字典树,具体包括:初始字典树构建单元,配置用于根据所述识别码与运单状态的映射关系构建初始字典树,使得所述初始字典树的每个子节点映射一位识别码,识别码一般为2-10位不等,当识别码保存到最后一位时就将映射文件中的value的值保存在该节点,然后该节点将不再有子节点;扩展字典树构建单元,配置用于匹配所述巴枪码对应的扩展编码,如packagestatus.txt,则以末位扩展编码对应的子节点为初始节点构造扩展字典树,以后出现相同的情况以此类推。状态识别模块,配置用于获取识别码,使用所述识别码搜索字典树,并根据搜索结果执行相应预设操作获取识别码对应的运单状态,其中,根据搜索结果执行相应预设操作,包括:识别字典树中是否有与所述识别码对应的扩展编码;若是,则基于识别码的扩展编码继续搜索字典树,映射出所述扩展编码对应的运单状态并输出;否则,映射出所述识别码对应的运单状态并输出;作为可选方案,巴枪也可同时关联几个外部订单查询微服务器,当运单状态调用失败,如出现运单状态的误展示甚至缺失时,将本申请作为查询失败时的备选方案,外部服务器异常情况下依然可以映射运单状态,增加运单状态查询的稳定性和可靠性。本实施例主要实现了通过巴枪码及其扩展编码与运单状态的字典映射关系来获取包裹的运单状态不依赖外部服务器,即使巴枪没有关联运单状态查询的服务器,也可以在获得巴枪码后,利用巴枪码及扩展编码通过字典树获取对应的运单状态实现物流跟踪。上述运单状态映射装置对应的映射方法,包括以下步骤:s1、构建识别码及其扩展编码与运单状态的字典映射关系,本实施例识别码选用巴枪码,扩展编码为数据段segment,所述数据段segment设置为segment.txt格式文件,构造方式可以采用k-v对的方式,具体如下:s1-1、构造巴枪码到运单状态的映射文件,k-v对中的key选取完整的巴枪码,value选取巴枪码对应的运单状态;s1-2、如果巴枪码无法直接映射到运单状态,则将巴枪码映射文件中对应的运单状态的对应的value设置成segment1.txt,根据数据段segment进一步判断。s2、根据字典映射关系基于所述识别码及其扩展编码构造字典树,具体包括:s2-1、根据所述识别码与运单状态的映射关系构建初始字典树,使得所述初始字典树的每个子节点映射一位识别码;初始字典树的数据结构如图(1)所示,字典树中初始节点不保存数据,而在它的子节点中每个节点保存一位巴枪码,如果从树的根节点逐位的存储节点,当巴枪码保存到最后一位节点时就将映射文件中的value的值保存在该节点,然后该节点将不再有子节点。s2-2、匹配所述巴枪码对应的扩展编码,以末位扩展编码对应的子节点为初始节点构造扩展字典树;实际应用过程中,如果映射配置文件中该巴枪码对应的value是某个数据段的映射文件名,如packagestatus.txt,那么将字段名对应的配置文件读取出来再次构造字典树,再次构造的字典树,以后出现同样的情况以此类推。s3、获取识别码,获取识别码时需要调用外部系统(外部服务器),使用所述识别码搜索字典树,通过字典树直接本地识别运单状态不需要调用外部服务器,并根据搜索结果执行相应预设操作获取识别码对应的运单状态,其中,根据搜索结果执行相应预设操作,包括:识别字典树中是否有与所述识别码对应的扩展编码;若是,则基于识别码的扩展编码继续搜索字典树,映射出所述扩展编码对应的运单状态并输出;否则,映射出所述识别码对应的运单状态并输出。具体搜索过程为:初始状态下默认使用巴枪码搜索字典树,调用方法传入参数对象中首先取出巴枪码对字典树进行逐位匹配,如果匹配到出对应的value判断不是segment.txt格式则将结果视为对应的运单状态并返回;如果判断是segment.txt格式的value那么使用segment的名字从字典树中映射出该字段对应的值,作为可选方案,使用segment的名字从字典树中映射出该字段对应的值时在搜索segment.txt构造出来的字典树时跳过之前巴枪码构建的初始字典树,直接从扩展字典树映射出数据段segment的值,匹配方式与巴枪码的匹配相同,直至得到最后的运单状态并返回,通过字典树映射运单状态时不需要调用外部服务器,大大简化运单状态的判断流程,不依赖外部服务器且查询速度比调用外部服务器数据库查询速度快,省去了状态查询所需的数据库,增加运单状态查询的稳定性和可靠性。应当理解,上述运单状态映射方法中各步骤与运单状态映射装置中记载的诸子单元相对应。由此,上文针对装置及其中包含的单元描述的操作和特征同样适用于上述方法,在此不再赘述,以下举例对运单状态映射方法进一步说明,1)首先,采用k-v对的方式,构建识别码(本实施例为巴枪码)及其扩展编码与运单状态的字典映射关系,其中,barcode.txt为巴枪码到运单状态的一对一映射文件,packstatus.txt为扩展编码到运单状态映射文件,barcode.txt与packstatus.txt保存的内容分别如下:barcode.txt巴枪码运单状态154上门收件243已取件344派件出仓430装车5877中转滞留6880上门派件7126取消派件8128已签收98000packstatus.txt108627转寄第三方packstatus.txt扩展编码运单状态180海关通关中290包裹疑似损坏3100包裹已理赔4110包裹作废5120包裹派送滞留2)然后,根据字典映射关系基于所述识别码及其扩展编码构造字典树,当使用barcode.txt构建初始字典树,可以得到图2的虚线上半部分,对于除8000以外的巴枪码,我们都可以通过使用巴枪码搜索字典树获取到对应的运单状态,对于巴枪码8000,在初始字典树8000的末位“0”所在节点下继续构建packstatus.txt对应的扩展字典树,得到虚线的下半部分;使用时,首先通过巴枪调用外部服务器获取巴枪码,根据巴枪码通过字典树映射运单状态,如果获取的巴枪码为8000,我们在通过8,0,0,0顺序搜索字典树后获取到的内容为packstatus.txt,识别该节点内容是以.txt结尾并不是一个运单状态时,然后读取packstatus.txt文件获取扩展编码,使用扩展编码搜索扩展字典树,即可得到该运单状态,如获取扩展编码值为“110”,使用扩展编码(110)搜索扩展字典树,即可得到此时该运单状态8000对应的状态为“包裹已作废”。本实施例字典树的搜索仅需要传入巴枪码即可,可以通过识别码直接本地识别运单状态,不需要调用外部服务器,省去了数据库,大大简化运单状态的判断流程,不依赖外部服务器且查询速度快过调用外部服务器数据库,外部服务器异常情况下依然可以映射运单状态,增加运单状态查询的稳定性和可靠性,另外,当巴枪码在字典树中并没有对应的包裹状态而需要读取另一个.txt文件,这时如果读取到巴枪码对应的叶子节点后如果判断未构建扩展字典树,可以构建扩展编码与运单状态的字典映射关系,以同样的构建字典树的方式构建扩展字典树,然后将扩展编码与运单状态的字典映射关系赋给保存.txt文件名所在节点即可实现字典树的拼接,无需数据库,配置可以包外修改。本实施例的设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上述任一项所述的方法,能够大大简化运单状态的判断流程,增加运单状态查询的稳定性和可靠性。本实施例的一种存储有计算机程序的计算机可读存储介质,其特征是,该程序被处理器执行时实现如上述任一项所述的方法,储存有被处理器执行时实现的所述运单状态映射方法,便于运单状态映射装置的使用及推广。进一步介绍如下:计算机系统包括中央处理单元(cpu)101,其可以根据存储在只读存储器(rom)102中的程序或者从存储部分加载到随机访问存储器(ram)103中的程序而执行各种适当的动作和处理。在ram103中,还存储有系统操作所需的各种程序和数据。cpu101、rom102以及ram103通过总线104彼此相连。输入/输出(i/o)接口105也连接至总线104。以下部件连接至i/o接口105:包括键盘、鼠标等的输入部分106;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分;包括硬盘等的存储部分108;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分109。通信部分109经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至i/o接口105。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分108。特别地,根据本发明的实施例,上文参考流程图4描述的过程可以被实现为计算机软件程序。例如,本发明的实施例1包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(cpu)101执行时,执行本申请的系统中限定的上述功能。需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。附图中的流程图和框图,图示了按照本发明各种实施例1的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括映射关系构建模块、字典树构建模块、状态识别模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,映射关系构建模块还可以被描述为“用于构建识别码及其扩展编码与运单状态的字典映射关系的映射关系构建模块”。作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的运单状态映射方法。例如,所述电子设备可以实现如图1中所示的:步骤s1:构建识别码及其扩展编码与运单状态的字典映射关系;步骤s2:根据字典映射关系基于所述识别码及其扩展编码构造字典树;步骤s3:获取识别码,使用所述识别码搜索字典树,并根据搜索结果执行相应预设操作获取识别码对应的运单状态。应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1