物流流转消息处理方法及装置与流程

文档序号:11545704阅读:420来源:国知局
物流流转消息处理方法及装置与流程
本申请涉及互联网数据处理
技术领域
,尤其涉及一种物流流转消息处理方法及装置。
背景技术
:在电子商务购物中,业务对象从第一用户到第二用户经历的物流流转过程通常可以包括交易下单、预约配送、出库、发货、签收、换货、换货、退货和入库中的多个环节,具体过程可以如图1所示。业务对象在物流流转过程中的任一个环节流转发生失败时,后续的环节将无法进行,若不能及时进行解决,将延长业务对象在物流流转中的时间,降低买家的物流体验。现有技术中,通常是第二用户在约定时长内没有收到业务对象向客服人员投诉时,或者第一用户在第二用户退换货后发现业务对象没有及时入库向客服人员投诉时,客服人员查看该业务对象的物流流转消息,才发现物流流转过程的某一环节出现了失败/异常,然后再通知运营人员或者系统维护人员去解决相应的问题。上述被动发现业务对象的流流过程出现异常的方式,显然具有滞后性,一方面导致不能及时对物流流转消息进行处理,大量增加了客服人员的负担;另一方面延长了业务对象的物流流转时长,降低了物流流转效率,同时也降低了用户的物流体验。技术实现要素:本申请实施例提供一种物流流转消息处理方法及装置,用以解决现有技术中在业务对象的物流流转过程出现异常时,不能及时对该业务对象的物流流转 消息进行处理的问题。基于上述问题,本申请实施例提供的一种物流流转消息处理方法,包括:监控服务器接收物流流转服务器发送的业务对象的物流流转消息,所述物流流转消息中携带有单据关联标识、单据类型和单据状态;若所述物流流转消息中携带的单据状态为失败,则以所述物流流转消息中携带的单据关联标识和单据类型为参数,创建异常工单。一种物流流转消息处理方法,包括:物流流转服务器在设定的触发条件下生成物流流转消息,所述物流流转消息中携带有单据关联标识、单据类型和单据状态;将生成的物流流转消息发送给监控服务器,所述监控服务器在所述物流流转消息中携带的单据状态为失败时,以所述物流流转消息中携带的单据关联标识和单据类型为参数,创建异常工单。一种物流流转消息处理装置,包括:接收单元,用于接收物流流转服务器发送的业务对象的物流流转消息,所述物流流转消息中携带有单据关联标识、单据类型和单据状态;异常工单建立单元,用于若所述物流流转消息中携带的单据状态为失败,则以所述物流流转消息中携带的单据关联标识和单据类型为参数,创建异常工单。一种物流流转消息处理装置,包括:消息生成单元,用于在设定的触发条件下生成物流流转消息,所述物流流转消息中携带有单据关联标识、单据类型和单据状态;发送单元,用于将生成的物流流转消息发送给监控服务器,所述监控服务器在所述物流流转消息中携带的单据状态为失败时,以所述物流流转消息中携带的单据关联标识和单据类型为参数,创建异常工单。在本申请实施例的方案中,对业务对象的物流流转消息中携带的单据状态进行了监控,在监控到单据状态为失败时,以该物流流转消息中的单据关联标 识和单据类型为参数,创建异常工单。由于一方面,对物流流转消息主动进行了监控,因此,可以及时发现单据状态为失败的物流流转消息;另一方面,在监控到到物流流转消息的单据状态为失败时,即创建异常工单,也即在第一时间内对业务对象的物流流转信息进行了处理,该异常工单描述了什么单什么状态出现了异常,使得运营人员可以根据异常工单及时对问题进行处理,进而确保了业务对象的物流流转时长在约定的时间内,提高了物流流转效率,提高了用户的物流体验。附图说明图1为本申请
背景技术
中提供的电子商务购物中业务对象的物流流转过程示意图;图2为本申请实施例提供的物流流转消息处理系统的示意图;图3为本申请实施例提供的物流流转消息处理方法的流程图之一;图4为本申请实施例提供的物流流转消息处理方法的流程图之二;图5为本申请实施例提供的物流流转消息处理方法的流程图之三;图6为本申请实施例提供的物流流转消息处理方法的流程图之四;图7为本申请实施例提供的物流流转消息处理装置的结构示意图;图8为本申请实施例提供的另一种物流流转消息处理装置的结构示意图。具体实施方式为了解决现有技术中在业务对象的物流流转过程出现异常时,不能及时对物流流转消息进行处理的问题,本申请实施例提供了一种物流流转消息处理方法及装置。考虑到构成物流流转过程的每一环节通常会产生相应的物流流转消息,该方法中即对物流流转过程中产生的物流流转消息进行了监控,在监控到物流流转消息中携带的单据状态为失败时,以该物流流转消息中的单据关联标识和单据类型为参数,创建异常工单。由于一方面,对物流流转消息主动进行 了监控,因此,可以及时发现单据状态为失败的物流流转消息;另一方面,在监控到到物流流转消息的单据状态为失败时,即创建异常工单,也即在第一时间内对业务对象的物流流转信息进行了处理,该异常工单描述了什么单什么状态出现了异常,使得运营人员可以根据异常工单及时对问题进行处理,进而确保了业务对象的物流流转时长在约定的时间内,提高了物流流转效率,提高了用户的物流体验。为了清楚地对本申请实施例的方案进行描述,下面首先以图2所示的系统为例对本申请的物流流转消息处理系统进行说明。当然,物流流转过程并不局限于图2所示的过程,可以根据具体的物流流转过程进行相应的物流流转消息处理系统的构建。图2中示出的是包含预约配送的物流流转消息处理系统的示意图。在不包含预约配送过程时,预约配送系统可由物流订单系统来替代。图2中的交易系统、预约配送系统或出库系统可作为物流流转服务器,单据中心系统可作为监控服务器。在用户针对业务对象下单并支付成功后,交易系统将针对该业务对象产生交易单据消息,并将该交易单据消息通过消息中间件服务器分别发送给单据中心系统和预约配送系统;预约配送系统在接收到所述交易单据消息后产生预约配送单据消息,并将该预约配送单据消息经由中间件服务器分别发送给出库系统和单据中心系统;出库系统在接收到所述预约配送单据消息后,产生出库单据消息,并将该出库单据消息经过消息中间件服务器分别发送至下一级系统和单据中心系统,依次进行,直至业务对象的物流流转过程的最后一个环节。交易单据消息中可携带交易单据标识、单据关联标识、单据状态、单据类型即交易单;预约配送单据消息中可携带预约配送单据标识、单据状态、单据关联标识和单据类型即预约配送单据;出库单据消息中可携带出库单据标识、单据状态、单据关联标识和单据类型即出库单。本申请实施例中将各种单据消息统一称为物流流转消息,同一业务对象的各个物流流转消息中携带的单据关联标识相同。以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。如图3所示,其为本申请实施例提供的物流流转消息处理方法的流程图,包括以下步骤:步骤301:物流流转服务器在设定的触发条件下生成物流流转消息。所述设定触发条件由物流流转服务器在物流流转过程中的所起的作用决定。例如,对于负责交易环节的物流服务器,其作用为产生交易单据消息,此时该物流流转服务器针对业务对象进行下单并支付成功这一触发条件时,生成交易单据消息;对于负责预约配送环节的物流服务器,其作用为产生预约配送单据消息,此时该物流流转服务器在收到业务对象的状态为成功的交易单据信息这一触发条件时,生成预约配送消息;对于负责出库环节的物流服务器,其作用为产生出库单据消息,此时该物流流转服务器在收到业务对象的状态为开始的预约配送单据信息这一触发条件时,生成预约配送单据消息。所述物流流转消息中携带有单据关联标识、单据类型和单据状态,其中,单据状态可包括开始、成功和失败;此外,所述物流流转消息中还可携带单据标识和单据生成时间点。由于业务对象的起始物流流转消息是后续该业务对象的其它物流流转消息的起始消息,因此,可将起始物流流转消息中的单据标识作为单据关联标识。针对图2中所示的系统,由于业务对象的交易单据消息是后续该业务对象的其它物流流转消息的起始消息,因此,可将交易单据消息中的交易单据标识作为单据关联标识。例如,假设张先生购买了一台冰箱,进行了交易下单,随后支付成功,交易系统就会产生一个交易单据消息,里面记录了交易单据编号(假设交易单编号为t001)、交易是否成功和单据类型为交易单。步骤302:物流流转服务器将生成的物流流转消息发送给监控服务器。沿用上例,交易系统将产生的交易单据消息经由消息中间件服务器发送给监控服务器。步骤303:监控服务器接收物流流转服务器发送的业务对象的物流流转消息。沿用上例,此时,监控服务器就接收到上述交易单据消息,里面记录了交易单据编号t001、交易是否成功和单据类型为交易单等信息。步骤304:监控服务器判断所述物流流转消息中携带的单据状态是否为失败;若是,则执行步骤305;若否,则结束。沿用上例,若上述交易单据消息中记录的交易状态为成功,则说明业务对象的交易环节流转成功,因此,可以对此该业务对象的交易单据消息的处理结束。若上述交易单据消息中记录的交易状态为失败,则说明业务对象的交易环节流转失败,需要对该交易单据消息进行下一步的处理。步骤305:监控服务器利用所述单据类型查询预先设定的物流流转过程规则表,其中,物流流转过程规则表中包含单据类型对应的重试接口函数。上述物流流转过程规则表记录了业务对象物流流转过程中各个消息的流转顺序,包含单据类型对应的重试接口函数,这里,一些单据类型对应有重试接口,说明可以利用该重试接口函数针对该业务对象重新生成携带有该单据类型的物流流转消息;一些单据类型没有对应的重试接口函数,说明无法重新生成携带有该单据类型的物流流转消息。沿用上例,物流过程规则表可以如表(1)所示:规则id单据类型单据状态重试接口r001交易单成功无r002预约配送单成功yuyuesercice:exec表(1)步骤306:监控服务器判断是否查询到所述物流流转消息中携带的单据类型对应的重试接口函数;若否,则执行步骤307;若是,则执行步骤308。沿用上例,利用交易单,查询表(1),确定交易单没有重试接口。步骤307:监控服务器以所述物流流转消息中携带的单据关联标识和单据类型为参数,创建异常工单。由于这里获知了物流流转消息的单据状态,因此,也可以将单据状态也作为创建异常工单的参数。沿用上例,以t001、交易单和交易失败为参数,创建异常工单。创建的异常工单表示编号为t001的交易单据处于失败状态,出现了异常,需要人工处理。需要说明的是,上述步骤305和步骤306是本申请实施例的优选方案,是考虑到可能因为物流服务器出现异常,导致物流流转消息中携带的单据状态为失败,但在重试之后,物流流转消息中携带的单据状态有可能会是成功的情况。此种情况下进行重试可加快物流流转过程,减少异常工单的数量。也可以在判断物流流转消息中携带的单据状态为失败时,不执行步骤305和步骤306,直接执行上述步骤307。步骤308:监控服务器向所述物流流转服务器发送重试请求,所述重试请求中携带有所述单据关联标识和单据类型。所述重试请求用于指示物流流转服务器重新生成物流流转消息。假设在上述表(1)中交易单对应的重试接口为jiaoyisercice:exec,则本步骤308中,监控服务器向交易系统发送重试请求,该重试请求携带有t001和交易单。步骤309:物流流转服务器接收监控服务器发送的重试请求。步骤310:物流流转服务器以所述重试请求中携带的单据关联标识和单据类型为参数,调用所述重试请求中携带的单据类型对应的重试接口函数,重新生成物流流转消息。这里物流流转服务器中也可以存储所述物流流转过程规则表,以利用该物流流转过程规则表获知单据类型对应的重试接口函数。若所述重试请求中还携带了单据类型对应的重试接口函数(名称),也可以不存储所述物流流转过程 规则表,直接在本地调用该重试接口函数。沿用步骤308中的例子,这里物流流转服务器也即图2中的交易系统调用jiaoyisercice:exec函数,将t001、交易单和失败作为该函数的参数,重新生成交易单据消息。重新生成的交易单据消息中记录有t001、交易单和单据状态。步骤311:物流流转服务器将重新生成的物流流转消息发送给所述监控服务器。沿用上述举例,物流流转服务器将步骤310中生成的交易单据消息发送给监控服务器。步骤312:监控服务器接收物流流转服务器发送的重新生成的物流流转消息。步骤313:监控服务器判断重新生成的物流流转消息的单据状态是否为失败,若是,则执行步骤307;若否,则结束。上述步骤308至步骤313的过程可以进行多次,也即进行多次重试,例如设置3次重试,在3次重试后仍为失败再执行步骤307。此外,考虑到即使本次接收到的物流流转消息中的物流状态不为失败(步骤304中,或者在步骤313中,若判断所述物流流转消息中携带的单据状态不为失败),但可能会出现该物流流转消息没有成功触发下一个业务系统生成关联的物流流转消息。这里,物流流转消息与关联的物流流转消息是针对同一业务对象的,关联的物流流转消息中携带的单据类型为物流流转消息中携带的单据类型对应的下一个单据类型。例如:假设监控服务器接收到业务对象的交易状态为成功的交易单据消息,但并没有接收到该业务对象的预约配送单据消息,此时,就说明该业务对象的物流没有流转到下一个过程,因此,对这种情况也需要进行监控并进行相应的处理。此时,需要在上述物流流转消息中携带单据生成时间点,并且需要对表(1)的物流流转过程规则表添加新的内容,添加单据类型对应的下一个单据类型字段和间隔时长字段,所述间隔时长表示间隔多长时间检查是否接收到关联的物 流流转消息,其中,关联的物流流转消息中携带有对应的下一个单据类型和单据状态,并且物流流转消息和关联的物流流转消息中携带的单据关联标识相同。具体的处理过程如图4所示,包括以下步骤:步骤401:监控服务器查询物流流转过程规则表。物流流转过程规则表中的字段可以如表(2)所示。表(2)表(2)中也定义了规则id字段,其作用是对该表中的规则的条数进行统计。也可以不定义规则id字段。表(2)中还定义了当前单据状态字段和(期望的)下一个单据状态字段,由于在步骤304中对当前单据状态进行了判断,因此,也可以不定义当前单据状态字段以及下一个单据状态字段,即默认为不是失败的状态(成功或开始等)。对表(1)的物流流转过程规则表添加新的内容,添加单据类型对应的下一个单据类型字段和间隔时长字段后的物流流转过程规则表可以如表(3)所示。规则id单据类型单据状态期望下一个单据类型期望下一个单据状态间隔时长重试接口r001交易单成功预约配送单成功2小时无r002预约配送单成功出库单开始1小时yuyuesercice:exec表(3)表(3)中r001规则的意思是:如果生成了一个单据状态为成功的交易单据消息,则需要检测在2小时内生成单据状态为成功的预约配送单据。沿用步骤301中的例子,业务上理解就是张先生交易下单成功后,需要在2小时内和 张先生预约他什么时候有空,然后约定一个冰箱送达的时间。r002规则的意思是:如果预约配送完成后,要在1个小时内开始出库,如果预约配送单据消息的单据状态为失败则调用yuyuesercice接口的exec函数进行预约配送重试。步骤402:监控服务器判断是否查询到所述物流流转消息中携带的单据类型对应的间隔时长,若是,则执行步骤403;若否,则结束。在物流流转消息中携带的单据类型对应有间隔时长时,说明该单据类型所表示的物流过程还有下一步,也即该单据类型对应有下一个单据类型,需要在间隔时长内校验携带对应的下一个单据类型的物流流转消息是否到达;在物流流转消息中携带的单据类型没有对应间隔时长时,说明该单据类型所表示的物流过程已经最后一步了,不需要做下一步校验(例如,用户已经签收了就没有下一步了),流程结束。步骤403:监控服务器判断在单据生成时间点后的间隔时长这段时间内,是否接收到携带的单据状态不为失败的关联的物流流转消息;若否,则执行步骤404,若是,则结束。上述步骤403也即为判断在单据生成时间点后的间隔时长这段时间内是否接收到携带有单据状态不为失败、该单据类型对应的下一个单据类型、该单据关联标识的物流流转消息。沿用步骤301及表(3)中的例子,假设交易单据消息生成时间点为10:00,接收到了状态为成功、单据关联标识为t001,交易单号为t001的交易单据消息时,在本步骤403中,监控服务器确定在10:00到12:00这段时间内是否接收到携带有单据状态为开始、单据关联标识为t001、单据类型为预约配送单的预约配送单据消息。上述确定是否接收到业务对象的携带有单据状态不为失败的关联的物流流转消息的过程,也即确定该业务对象的物流过程向后流转是否失败的过程,若接收到,则确定该业务对象的物流过程向后流转成功,若没有接收到,则确 定该业务对象的物流过程向后流转失败。具体的,本步骤403的判断过程可以通过以下步骤实现:第一步:利用所述间隔时长、所述物流流转消息中携带的单据关联标识、单据类型和单据生成时间点向物流流转过程记录表中插入一条记录。其中,物流流转过程记录表中包括单据关联标识与单据类型、单据生成时间点和校验时间点的对应关系,插入的记录中的校验时间点是根据查询到的间隔时长和所述物流流转消息中携带的单据生成时间点得到的;物流流转过程记录表中的字段可以如表(4)所示。字段名称字段类型说明是否必填produceidlong自增长id是billidlong单据id是billtypevarchar(64)单据类型是billstatusvarchar(64)单据状态是tradeidvarchar(64)该单据关联的交易单据idgmtmodifydate单据生成时间点是checktimedate物流过程校验时间点,可以等于gmtmodify+intervaltime是ruleidlong规则id,对应的是物流流转过程规则表的ruleid是表(4)表(4)中将交易单据消息中的交易id作为单据关联标识,交易单据是物流流转过程的开始,后续的物流流转过程的其它物流流转消息可以直接利用将交易id作为单据关联标识。沿用步骤401中的例子,从表(1)中查询到交易单对应的间隔时长为2个小时,假设当前时间是10:00,那么就可以向物流流转过程记录表中插入一条记录p002。插入一条记录后的物流流转过程记录表可以如表(5)所示。表(5)上述表(5)新加了一个字段关联交易单据id,这个新加的字段也即为单 据关联id,因为交易成功是后面所有的物流流转过程的开始,后面的所有单据消息都可以根据交易单据标识串联起来。此外,也可以将单据类型对应的下一个单据类型也插入到上述表(5)中的一条记录中,方便第二步的校验。第二步:利用插入的记录确定在单据生成时间点至单据生成时间点后的间隔时长这段时间内,是否接收到携带的单据状态不为失败的关联的物流流转消息。当在单据生成时间点至单据生成时间点后的间隔时长这段时间内没有接收到状态不为失败的下一个单据消息时,就表示物流过程向后流转失败。沿用上述第一步中的例子,这里就可以在12点的时候校验张先生的预约配送单据消息是否生成成功,也即是否接收到携带有交易id为t001,单据类型为预约配送单,单据状态为开始的物流流转消息。若接收到,则确定业务对象的物流流转过程向预约配送流转成功,否没接收到,则确定业务对象的物流流转过程向预约配送流转失败。上述第二步具体可以通过如图5所示的以下步骤501至步骤507来实现:步骤501:监控服务器从物流流转过程记录表中查询校验时间点不晚于当前时间点的第一记录。沿用上述第一步中的例子,假设当前时间从10:00推进到11:59,在这一段时间内,接收到了多条单据状态不为失败的物流流转消息,执行了上述第一步,也即向表(5)中插入了多条记录,插入多条记录后的物流流转过程记录表如表(6)所示。表(6)从表(6)中查询校验时间点不晚于11:59的第一记录为空;假设当前时间推进到12:00,则从表(6)中查询校验时间点不晚于12:00的第一记录为p000记录和p001记录两条记录。这里先对物流流转过程记录表中的记录利用校验时间点与当前时间点的关系进行了筛选,筛选出当前真正需要进行校验的记录,减少后续计算量,节约处理资源。步骤502:监控服务器针对查询出的每一条第一记录,执行以下步骤503至步骤506:步骤503:监控服务器利用该条第一记录中的单据类型查询物流流转过程规则表,获得该条第一记录中的单据类型对应的下一个单据类型。沿用上例,针对p000/p001记录,利用该条记录中的交易单查询表(3),得到该p000/p001条记录的交易单对应的下一个单据类型为预约配送单。步骤504:监控服务器利用该条第一记录中的单据关联标识和获得的下一个单据类型,查询物流流转过程记录表。沿用上例,利用p000记录中的t000和预约配送单,查询表(6)。沿用上例,利用p001记录中的t001和预约配送单,查询表(6)。步骤505:监控服务器判断是否查询到包含所述单据关联标识和下一个单据类型的第二记录,若是,则执行步骤506;若否,则执行步骤507。沿用上例,判断在表(6)中是否查询到包含关联交易id为t000和预约配送单的第二记录,这里在表(6)中查询到了p005这记录。判断在表(6)中是否查询到包含关联交易id为t001和预约配送单的第二记录,没有查询到包含关联交易id为t001和预约配送单的第二记录。上述步骤403中,判断结果为是时,也可利用该关联的物流流转消息中携带的单据类型、单据关联标识和单据生成时间点,向物流流转过程记录表中插入一条记录,以便于后续的判断业务对象的后向物流流转过程是否成功。步骤506:监控服务器确定接收到携带的单据状态不为失败的关联的物流流转消息。监控服务器确定接收到携带的单据状态不为失败的关联的物流流转消息,也即确定业务对象的物流过程向后流转成功。由于每接收到一条单据状态不为失败的物流流转消息,均会向物流流转过程记录表中插入一条记录,因此,在查询到包含所述单据关联标识和下一个单据类型的第二记录时,即可确定已经接收了携带有所述单据关联标识、下一个单据类型和单据状态不为失败的物流流转消息,也即所述物流流转消息的关联的物流流转消息。在上述步骤506之后,为了节省存储空间,提高后续循环中步骤501中的查询效率,可从物流流转过程记录表中删除该条第一记录。沿用上例,针对p000这条记录,确定业务对象的物流过程从交易单向预约单流转成功,这里将表(6)中p000这条记录删除,删除p000这条记录后的物流流转过程记录表如表(7)所示。表(7)步骤507:监控服务器确定未接收到携带的单据状态不为失败的关联的物流流转消息。监控服务器确定未接收到携带的单据状态不为失败的关联的物流流转消息,也即确定业务对象的物流过程向后流转失败。沿用步骤505中的举例,针对p001,本步骤507确定业务对象的物流过程从交易单向预约单流转失败。当然,上述第二步的具体实现过程并不局限于上述步骤501至步骤507。 例如,也可以为以下过程:针对物流流转过程记录表中的每一条第一记录,执行以下操作:若该条第一记录中的校验时间不小于当前时间,则利用该条第一记录中的单据类型查询物流流转过程规则表,获得该条第一记录中的单据类型对应的下一个单据类型;利用该条第一记录中的单据关联标识和获得的下一个单据类型,查询物流流转过程记录表;若查询到包含所述单据关联标识和下一个单据类型的第二记录,则确定业务对象的物流过程向后流转成功,反之,则失败。这里的举例的实现过程是针对每一条第一记录不先进行筛选,而是直接进行上述判断操作,并进行后续的处理,基本原理与上述步骤501至步骤507的相同。步骤404:监控服务器以所述物流流转消息中携带的单据关联标识和单据类型对应的下一个单据类型为参数,创建异常工单。由于业务对象的物流过程向后流转失败,因此,本步骤404中需要创建异常工单。沿用步骤507中的例子,本步骤404中可以以t001、预约配送单为参数,创建异常工单。该异常工单表明单据关联标识为t001的预约配送单的预约配送失败。当然,也可以利用该条第一记录中的单据标识、单据类型和单据状态为参数,创建异常工单。沿用步骤507中的举例,可以以t001、交易单和单据状态成功为参数,创建异常工单。此时,创建的异常工单的单据状态为成功,则说明该标识为t001的交易单的后向流转失败。若创建的异常工单的单据状态为失败,例如上述步骤307后面的举例创建的异常工单,则说明该标识为t001的交易单为失败,而不是后向流转失败。考虑到即使业务对象的物流过程向后流转失败可能是因为网络延时或网络传输错误或者物流流转服务器自身的等一些因素,在进行重试操作后,即可收到后向流转的携带单据状态不为失败的物流流转消息。也即首次判断在单据 生成时间点后的间隔时长这段时间内,未接收到携带的单据状态不为失败的关联的物流流转消息时,先进行重试操作,后续根据重试操作的结果进行异常工单的创建。该过程具体包括如图6所示的如下步骤:步骤601:监控服务器利用单据类型对应的下一个单据类型查询所述物流流转过程规则表。沿用步骤507中的举例,利用p001记录中的单据类型交易单的下一个单据类型预约单交易单查询表(3)。步骤602:监控服务器判断是否查询到上述下一个单据类型对应的重试接口函数;若否,则执行步骤603,若是,则执行步骤604。沿用步骤508中的举例,这里从表(3)中查询到交易单对应有重试接口yuyuesercice:exec。步骤603:监控服务器以所述物流流转消息中的单据关联标识和单据类型对应的下一个单据类型为参数,创建异常工单。步骤604:监控服务器向所述物流流转服务器发送重试请求。本步骤604中的重试请求中携带有所述下一个单据类型和所述单据关联标识,用于指示物流流转服务器重新生成物流流转消息。沿用步骤602中的举例,这里,发送的重试请求中携带有预约单和单据关联标识t001。步骤605:物流流转服务器根据重试请求,以重试请求中携带的所述下一个单据类型和单据关联标识为参数,调用所述下一个单据类型对应的重试接口函数,重新生成物流流转消息并发送给监控服务器。沿用步骤604中的例子,在图2中,这里的物流流转服务器即为预约配送系统,预约配送系统调用yuyuesercice:exec函数,利用预约单和单据关联标识t001重新生成物流流转消息。步骤606:监控服务器若针对所述业务对象发送设定次数的所述重试请求后,仍未接收到携带的单据状态不为失败的关联的物流流转消息,则以所述物 流流转消息中的单据关联标识和单据类型对应的下一个单据类型为参数,创建异常工单。若使用物流流转过程规则表对物流流转消息进行了记录,则本步骤606具体为监控服务器若针对所述业务对象发送设定次数的所述重试请求后,仍未查询到包含所述下一个单据类型和该第一记录中的单据关联标识的第二记录,则以所述下一个单据类型和该第一记录中的单据关联标识为参数,创建异常工单。上述设定次数可以根据实际情况进行设定,例如可以设定为3,即为重试3次,每次重试之后,在设定时长内查询是否包含所述下一个单据类型和该第一记录中的单据关联标识的第二记录,若查询到,则结束;若没有查询到,则继续进行重试,直至重试次数等于设定次数。可选的,步骤604中的重试请求中也可携带该条第一记录中的单据关联标识、单据类型和单据状态,用于指示物流流转服务器重新生成物流流转消息。该可选的步骤604与上述步骤308中的相似,不同的是这里让交易系统重新生成携带的单据状态为成功的交易单据消息,以重新触发预约配送系统生成预约配送单据消息。因为考虑到监控服务器没有收到预约配送单据消息的原因可能是因为网络或交易系统的原因,预约配送系统没有收到交易单据消息而无法生成预约配送单据消息,或者预约配送系统发出了预约配送单据消息,但因网络或其它原因,监控服务器没有收到生成的预约配送单据消息,因此,需要触发预约配送系统重新生成预约配送单据消息并发送。监控服务器在收到该重新生成的预约配送单据消息后,可利用该重新生成的预约配送单据消息向物流流转过程记录表中插入一条记录,以供后续进行校验。在本申请实施例的方案中,不仅针对接收到的业务对象的包含状态为失败的物流流转消息创建了异常工单,而且利用接收到的业务对象的包含状态不为失败的物流流转消息进行业务对象的后向物流流转过程是否失败的监控,在监 控到后向物流流转过程失败时,仍进行异常工单的创建,实现了对物流流转消息的全面监控。进一步的,在接收到的业务对象的包含状态为失败的物流流转消息时,先对该物流流转消息中携带的单据类型是否对应重试接口函数的确定,在确定对应重试接口函数时,进行重试,重新生成物流流转消息,根据重新生成的物流流转消息进行最终的异常工单的创建;在监控到后向物流流转过程失败时,先对该物流流转消息中携带的单据类型对应的下一单据类型是否对应重试接口函数的确定,在确定对应重试接口函数时,进行重试,重新生成物流流转消息,根据重新生成的物流流转消息进行最终的异常工单的创建,较大程度上确保了创建的异常工单是不可避免的异常工单,减少了异常工单的数量,提高了异常工单的质量,并且由于重试后,业务对象的物流流转消息的状态可能变为成功,因此促成了部分业务对象的物流流过程的顺利进行。基于同一发明构思,本申请实施例还提供了两种物流流转消息处理装置,由于该装置所解决问题的原理与前述物流流转消息处理方法相似,因此该装置的实施可以参见前述方法的实施,重复之处不再赘述。如图7所示,其为本申请实施例提供的第一种物流流转消息处理装置,包括:接收单元71,用于接收物流流转服务器发送的业务对象的物流流转消息,所述物流流转消息中携带有单据关联标识、单据类型和单据状态,其中,同一业务对象的各物流流转消息中携带的单据关联标识相同,单据状态包括开始、成功和失败;异常工单建立单元72,用于若所述物流流转消息中携带的单据状态为失败,则以所述物流流转消息中携带的单据关联标识和单据类型为参数,创建异常工单。较佳的,所述异常工单建立单元72,具体包括:查询子单元721,用于若所述物流流转消息中携带的单据状态为失败,则利用所述单据类型查询预先设定的物流流转过程规则表,其中,物流流转过程 规则表中包含单据类型对应的重试接口函数;异常工单建立子单元722,用于若未查询到所述物流流转消息中携带的单据类型对应的重试接口函数,则以所述物流流转消息中携带的单据关联标识和单据类型为参数,创建异常工单。较佳的,所述异常工单建立单元72还包括:发送子单元723,用于若查询到所述物流流转消息中携带的单据类型对应的重试接口函数,则向所述物流流转服务器发送重试请求,所述重试请求中携带有所述单据关联标识和单据类型,用于指示物流流转服务器重新生成物流流转消息;所述接收单元71,还用于接收物流流转服务器发送的重新生成的物流流转消息;所述异常工单建立子单元722,还用于若针对所述业务对象发送设定次数的所述重试请求后,接收到的重新生成的物流流转消息中的单据状态仍为失败,则以所述物流流转消息中携带的单据关联标识和单据类型为参数,创建异常工单。较佳的,所述物流流转消息中还携带有单据生成时间点;所述装置还包括:查询单元73,用于若所述物流流转消息中携带的单据状态不为失败,则查询物流流转过程规则表,所述物流流转过程规则表中包括单据类型对应的下一个单据类型和间隔时长,所述间隔时长表示间隔多长时间检查是否接收到关联的物流流转消息,其中,关联的物流流转消息中携带有对应的下一个单据类型和单据状态,并且物流流转消息和关联的物流流转消息中携带的单据关联标识相同;确定单元74,用于若查询到所述物流流转消息中携带的单据类型对应的间隔时长,则确定在单据生成时间点至单据生成时间点后的间隔时长这段时间内,是否接收到所述物流流转消息的关联的物流流转消息;所述异常工单建立单元72,还用于若确定单元确定未接收到关联的物流流转消息,则以所述物流流转消息中的单据关联标识和单据类型对应的下一个单据类型为参数,创建异常工单。较佳的,所述确定单元74,具体包括:记录插入子单元741,用于若查询到所述物流流转消息中携带的单据类型对应的间隔时长,则利用所述间隔时长、所述物流流转消息中携带的单据关联标识、单据类型和单据生成时间点向物流流转过程记录表中插入一条记录,其中,物流流转过程记录表中包括单据关联标识与单据类型、单据生成时间点和校验时间点的对应关系,插入的记录中校验时间点是根据查询到的间隔时长和所述物流流转消息中携带的单据生成时间点得到的;确定子单元742,用于利用插入的记录确定在单据生成时间点至单据生成时间点后的间隔时长这段时间内是否接收到携带的单据状态不为失败的关联的物流流转消息。较佳的,所述确定子单元742,具体用于从物流流转过程记录表中查询校验时间点不晚于当前时间点的第一记录;针对查询出的每一条第一记录,执行以下操作:利用该条第一记录中的单据类型查询物流流转过程规则表,获得该条第一记录中的单据类型对应的下一个单据类型;利用该条第一记录中的单据关联标识和获得的下一个单据类型,查询物流流转过程记录表;若查询到包含所述单据关联标识和下一个单据类型的第二记录,则确定接收到携带的单据状态不为失败的关联的物流流转消息;若未查询到包含所述单据关联标识和下一个单据类型的第二记录,则确定未接收到携带的单据状态不为失败的关联的物流流转消息。较佳的,所述物流流转过程规则表中还包含单据类型对应的重试接口函数;所述异常工单建立单元72,还用于若未接收到携带的单据状态不为失败的关联的物流流转消息,则利用单据类型对应的下一个单据类型查询所述物流流转过程规则表;若未查询到下一个单据类型对应的重试接口函数,则以所述物 流流转消息中的单据关联标识和单据类型对应的下一个单据类型为参数,创建异常工单。较佳的,所述装置还包括:所述异常工单建立单元72,还用于若查询到到下一个单据类型对应的重试接口函数,则向所述物流流转服务器发送重试请求,所述重试请求中携带有所述下一个单据类型和所述单据关联标识,用于指示物流流转服务器重新生成物流流转消息;若针对所述业务对象发送设定次数的所述重试请求后,仍未接收到携带的单据状态不为失败的关联的物流流转消息,则以所述物流流转消息中的单据关联标识和单据类型对应的下一个单据类型为参数,创建异常工单。如图8所示,本申请实施例提供的第二种物流流转消息处理装置,包括:消息生成单元81,用于在设定的触发条件下生成物流流转消息,所述物流流转消息中携带有单据关联标识、单据类型和单据状态,其中,单据状态包括开始、成功和失败,同一业务对象的各物流流转消息中携带的单据关联标识相同;发送单元82,用于将生成的物流流转消息发送给监控服务器,所述监控服务器在所述物流流转消息中携带的单据状态为失败时,以所述物流流转消息中携带的单据关联标识和单据类型为参数,创建异常工单。较佳的,所述装置还包括:接收单元83,用于接收监控服务器发送的重试请求,所述重试请求中携带有单据关联标识和单据类型;所述消息生成单元81,还用于以所述重试请求中携带的单据关联标识和单据类型为参数,调用所述重试请求中携带的单据类型对应的重试接口函数,重新生成物流流转消息;所述发送单元82,还用于将重新生成的物流流转消息发送给所述监控服务器。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明 实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中终端中的模块可以按照实施例描述进行分布于实施例的终端中,也可以进行相应变化位于不同于本实施例的一个或多个终端中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1