一种库存异常数据的检测方法、装置及电子设备与流程

文档序号:12673058阅读:540来源:国知局
一种库存异常数据的检测方法、装置及电子设备与流程

本申请涉及数据检测技术领域,具体涉及一种库存异常数据的检测方法、装置及电子设备。



背景技术:

在大型电子商务网站运行过程中,网站记录的商品库存数据与商品实际库存量不一致是一个较为常见的问题,即:网站的商品库存数据不准确。库存数据不准确不仅会对平台业务产生极大的影响,同时也将损害其它各方的利益。对于一个包括海量商品的电子商务网站,需要实时准确地监控不准确的商品库存数据,智能的分析问题的产生原因,对不准确的商品库存数据有总的认识和详细原因的分析,以便做到从容应对。

导致商品库存数据不准确的关键因素包括业务因素和平台技术因素。其中业务因素包括商家对商品库存数据的错误设置等,平台技术因素包括技术原因导致的商品交易过程中库存扣减不准确等。相对于业务因素而言,平台技术因素是导致商品库存数据不准确的主要原因,例如,对订单操作后应该扣库存却没有扣库存,或者应该回补库存却没有回补库存等。由于电子商务平台通常涉及多个复杂系统(交易系统和库存管理系统等),因此要实时监控库存异常情况,尤其是针对有海量商品的系统,复杂性不言而喻。

最常见的情况是商品库存数据大于商品实际库存量,这种错误的库存数据将导致电子商务网站最终出现商品超卖的问题。商品超卖是商品库存数据不准确产生的最严重问题,同时也是卖家最容易发现的问题。卖家发现商品超卖后,首先将超卖情况反馈给网站,然后网站技术人员介入排查,这种处理方式是解决商品超卖问题的最原始方法。该方法存在的缺点是:只有在真正发生商品超卖后,才能发现系统存在这样的问题,而不能预见商品具有超卖风险。为了解决这个问题,现有技术通过利用Hadoop集群进行离线计算,以发现系统是否存在商品超卖风险。然而,该方法同样存在一些缺点,即:离线计算的非实时性不能满足实际需求。

为了能够实时地检测库存异常,目前通常采用在线实时监控的方法检测已 经发生超卖情况的商品库存数据。该方法是以某个时间点的商品库存数据作为基准库存数据(一般取零点时刻的库存,故也叫零点库存),将基准库存数据与该时间点后预设时间间隔内的库存变化累计值进行比较,当发现基准库存数据小于库存变化累计值时,判定系统发生商品超卖问题。

由于上述在线实时监控的检测方法是基于一段时间的库存变化累计值来检测是否存在超卖风险的,因此,如果基准库存数据很大,则可能需要经历较长的时间间隔,才能够检测到基准库存数据小于库存变化累计值。可见,该方法并没有真正达到实时检测库存异常的效果,即:无法在每产生一个异常的库存变更数据时就将其检测出来。



技术实现要素:

本申请提供一种库存异常数据的检测方法、装置及电子设备,以解决现有技术存在无法实时检测到每一个异常的库存变更数据的问题。

本申请提供一种库存异常数据的检测方法,包括:

获取待检测订单的新增交易状态变更数据及与其对应的新增库存变更数据;

根据所述新增交易状态变更数据和所述待检测订单应用的库存扣减模式,检测所述新增库存变更数据是否为异常的库存变更数据。

可选的,所述根据所述新增交易状态变更数据和所述待检测订单应用的库存扣减模式,检测所述新增库存变更数据是否为异常的库存变更数据,包括:

根据所述新增交易状态变更数据,获取所述待检测订单的当前交易状态;

根据所述当前交易状态和所述待检测订单应用的库存扣减模式,计算所述新增库存变更数据的预期值;

判断所述新增库存变更数据和所述预期值是否相同;

若是,则判定所述新增库存变更数据为正常的库存变更数据;

若否,则判定所述新增库存变更数据为所述异常的库存变更数据。

可选的,所述根据所述新增交易状态变更数据和所述待检测订单应用的库存扣减模式,检测所述新增库存变更数据是否为异常的库存变更数据,包括:

根据所述新增交易状态变更数据,获取所述待检测订单的当前交易状态;

根据所述待检测订单应用的库存扣减模式和所述新增库存变更数据,生成 所述待检测订单的预期交易状态;

判断所述待检测订单的当前交易状态和所述预期交易状态是否相同;

若是,则判定所述新增库存变更数据为正常的库存变更数据;

若否,则判定所述新增库存变更数据为所述异常的库存变更数据。

可选的,所述根据所述新增交易状态变更数据和所述待检测订单应用的库存扣减模式,检测所述新增库存变更数据是否为异常的库存变更数据,包括:

根据所述新增交易状态变更数据,获取所述待检测订单的当前交易状态;

根据所述当前交易状态和所述待检测订单应用的库存扣减模式,计算所述新增库存变更数据的预期值;以及根据所述待检测订单应用的库存扣减模式和所述新增库存变更数据,生成所述待检测订单的预期交易状态;

判断所述新增库存变更数据和所述预期值是否相同,以及所述待检测订单的当前交易状态和所述预期交易状态是否相同;

若是,则判定所述新增库存变更数据为正常的库存变更数据;

若否,则判定所述新增库存变更数据为所述异常的库存变更数据。

可选的,如果检测到所述新增库存变更数据为所述异常的库存变更数据,还包括:

存储所述新增库存变更数据为所述异常的库存变更数据的检测结果。

可选的,还包括:

将所述待检测订单标记为库存更新异常的订单。

可选的,如果检测到所述新增库存变更数据为正常的库存变更数据,还包括:

判断所述待检测订单是否被标记为所述库存更新异常的订单;

若是,则删除所述新增库存变更数据为所述异常的库存变更数据的检测结果。

可选的,所述获取待检测订单的新增交易状态变更数据及与其对应的新增库存变更数据,采用如下方式:

根据所述待检测订单的订单号,获取所述新增交易状态变更数据和所述新增库存变更数据。

可选的,还包括:

获取预先存储的生成所述新增库存变更数据时的异常处理结果;所述异常处理结果存储在所述新增交易状态变更数据或所述新增库存变更数据中;

将所述异常处理结果作为所述异常的库存变更数据的异常原因。

可选的,所述处理结果存储在所述新增交易状态变更数据中;在将所述异常处理结果存储在所述新增交易状态变更数据中之前,还包括:

通过库存管理系统提供的库存接口,获取所述异常处理结果。

可选的,当监听到对应所述待检测订单的库存异常检测通知时,执行所述库存异常数据的检测方法。

可选的,所述库存异常数据的检测方法运行在基于实时分布式的计算处理框架构建的异常数据检测平台中。

可选的,所述库存异常检测通知,采用如下步骤生成:

通过增量数据实时同步装置,将所述新增交易状态变更数据和所述新增库存变更数据同步到所述异常数据检测平台;

在所述异常数据检测平台接收到所述新增交易状态变更数据和所述新增库存变更数据的至少一者后,若预设的发送库存异常检测通知条件成立,则发送对应所述新增交易状态变更数据或所述新增库存变更数据所属的订单的库存异常检测通知。

可选的,所述预设的发送库存异常检测通知条件包括:当前时间与接收到所述新增交易状态变更数据或所述新增库存变更数据的时间间隔达到预设的时间间隔,或者待检测订单所占用的内存空间达到预设的内存空间。

可选的,在所述将所述新增交易状态变更数据和所述新增库存变更数据同步到所述异常数据检测平台之后,还包括:

根据预设的数据规范化规则,对所述新增交易状态变更数据和所述新增库存变更数据进行数据规则化处理。

相应的,本申请还提供一种库存异常数据的检测装置,包括:

第一获取单元,用于获取待检测订单的新增交易状态变更数据及与其对应的新增库存变更数据;

检测单元,用于根据所述新增交易状态变更数据和所述待检测订单应用的库存扣减模式,检测所述新增库存变更数据是否为异常的库存变更数据。

可选的,所述检测单元包括:

获取子单元,用于根据所述新增交易状态变更数据,获取所述待检测订单的当前交易状态;

计算子单元,用于根据所述当前交易状态和所述待检测订单应用的库存扣减模式,计算所述新增库存变更数据的预期值;

判断子单元,用于判断所述新增库存变更数据和所述预期值是否相同;

判定正常子单元,用于如果上述判断结果为是,则判定所述新增库存变更数据为正常的库存变更数据;

判定异常子单元,用于如果上述判断结果为否,则判定所述新增库存变更数据为所述异常的库存变更数据。

可选的,所述检测单元包括:

获取子单元,用于根据所述新增交易状态变更数据,获取所述待检测订单的当前交易状态;

计算子单元,用于根据所述待检测订单应用的库存扣减模式和所述新增库存变更数据,生成所述待检测订单的预期交易状态;

判断子单元,用于判断所述待检测订单的当前交易状态和所述预期交易状态是否相同;

判定正常子单元,用于如果上述判断结果为是,则判定所述新增库存变更数据为正常的库存变更数据;

判定异常子单元,用于如果上述判断结果为否,则判定所述新增库存变更数据为所述异常的库存变更数据。

可选的,所述检测单元包括:

获取子单元,用于根据所述新增交易状态变更数据,获取所述待检测订单的当前交易状态;

计算子单元,用于根据所述当前交易状态和所述待检测订单应用的库存扣减模式,计算所述新增库存变更数据的预期值;以及根据所述待检测订单应用的库存扣减模式和所述新增库存变更数据,生成所述待检测订单的预期交易状态;

判断子单元,用于判断所述新增库存变更数据和所述预期值是否相同,以 及所述待检测订单的当前交易状态和所述预期交易状态是否相同;

判定正常子单元,用于如果上述判断结果为是,则判定所述新增库存变更数据为正常的库存变更数据;

判定异常子单元,用于如果上述判断结果为否,则判定所述新增库存变更数据为所述异常的库存变更数据。

可选的,如果检测到所述新增库存变更数据为所述异常的库存变更数据,还包括:

存储结果单元,用于存储所述新增库存变更数据为所述异常的库存变更数据的检测结果。

可选的,还包括:

标记单元,用于将所述待检测订单标记为库存更新异常的订单。

可选的,如果检测到所述新增库存变更数据为正常的库存变更数据,还包括:

判断单元,用于判断所述待检测订单是否被标记为所述库存更新异常的订单;

删除单元,用于如果上述判断结果为是,则删除所述新增库存变更数据为所述异常的库存变更数据的检测结果。

可选的,还包括:

第二获取单元,用于获取预先存储的生成所述新增库存变更数据时的异常处理结果;所述异常处理结果存储在所述新增交易状态变更数据或所述新增库存变更数据中;

设置单元,用于将所述异常处理结果作为所述异常的库存变更数据的异常原因。

可选的,当监听到对应所述待检测订单的库存异常检测通知时,执行所述库存异常数据的检测方法。

可选的,所述库存异常数据的检测方法运行在基于实时分布式的计算处理框架构建的异常数据检测平台中。

可选的,还包括:

生成通知单元,用于生成所述库存异常检测通知。

可选的,所述生成通知单元包括:

同步子单元,用于通过增量数据实时同步装置,将所述新增交易状态变更数据和所述新增库存变更数据同步到所述异常数据检测平台;

发送子单元,用于在所述异常数据检测平台接收到所述新增交易状态变更数据和所述新增库存变更数据的至少一者后,若预设的发送库存异常检测通知条件成立,则发送对应所述新增交易状态变更数据或所述新增库存变更数据所属的订单的库存异常检测通知。

可选的,所述生成通知单元还包括:

数据处理子单元,用于根据预设的数据规范化规则,对所述新增交易状态变更数据和所述新增库存变更数据进行数据规则化处理。

相应的,本申请还提供一种电子设备,包括:

显示器;

处理器;以及

存储器,所述存储器被配置成存储库存异常数据的检测装置,所述库存异常数据的检测装置被所述处理器执行时,包括如下步骤:获取待检测订单的新增交易状态变更数据及与其对应的新增库存变更数据;根据所述新增交易状态变更数据,检测所述新增库存变更数据是否为异常的库存变更数据。

与现有技术相比,本申请具有以下优点:

本申请提供的库存异常数据的检测方法、装置及电子设备,通过获取待检测订单的新增交易状态变更数据及与其对应的新增库存变更数据;并根据新增交易状态变更数据和待检测订单应用的库存扣减模式,检测新增库存变更数据是否为异常的库存变更数据,即:对每一次交易状态变更所引起的库存变更的正确性进行实时的分析判断,从而能够达到细粒度的检测库存变更数据,及时发现库存更新过程中的问题。

附图说明

图1是本申请的库存异常数据的检测方法实施例的流程图;

图2是本申请的库存异常数据的检测方法实施例发送库存异常检测通知的流程图;

图3是本申请的库存异常数据的检测方法实施例异常数据检测平台的示意 图;

图4是本申请的库存异常数据的检测方法实施例步骤S103的一种流程图;

图5是本申请的库存异常数据的检测装置实施例步骤S103的又一种流程图;

图6是本申请的库存异常数据的检测装置实施例步骤S103的再一种流程图;

图7是本申请的库存异常数据的检测装置实施例的示意图;

图8是本申请的库存异常数据的检测装置实施例检测单元103的具体示意图;

图9是本申请的库存异常数据的检测装置实施例的具体示意图;

图10是本申请的库存异常数据的检测装置实施例生成通知单元213的具体示意图;

图11是本申请的电子设备实施例的示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。

在本申请中,提供了一种库存异常数据的检测方法、装置及电子设备。在下面的实施例中逐一进行详细说明。

本申请提供的库存异常数据的检测方法的核心的基本思想是:基于订单的交易状态变更数据检测相应的库存变更数据是否存在异常,即:细粒度的检测库存变更数据。由于对每一次交易状态变更所引起的库存变更进行检测,因而能够实时发现库存更新过程中存在的问题,从而提高商品库存数据的准确性。

请参考图1,其为本申请的库存异常数据的检测方法实施例的流程图。所述方法包括如下步骤:

步骤S101:获取待检测订单的新增交易状态变更数据及与其对应的新增库存变更数据。

本申请实施例所述的新增交易状态变更数据和新增库存变更数据,二者均为属于同一订单的变更数据,本申请实施例将这两方面数据同属的订单称为待 检测订单。其中,新增交易状态变更数据是指,对订单进行操作时所产生的交易状态变更数据。订单操作包括:订单生成、付款、发货或退款操作等操作。对订单的操作将改变订单的交易状态,从而产生交易状态变更数据。与操作相对应的,订单的交易状态包括:订单状态、付款状态、发货状态和退款状态等。新增库存变更数据是指,与新增交易状态变更数据对应的新增库存变更数据,即:对订单进行操作时,将产生交易状态变更数据和库存变更数据两方面数据。

例1,购物网站售卖一种衣服,该衣服共有200件库存,其中红色100件,蓝色100件,且当前商品都采用“拍下减库存”的库存扣减模式;当小红在该网站中拍下红色衣服2件并且未付款时,系统首先生成一个新订单,假设订单号为100000001;与此同时,还将产生交易状态变更数据和库存变更数据,即:新增交易状态变更数据和新增库存变更数据;其中,交易状态变更数据包括:订单号=100000001、商品=红色的衣服、订单状态=已生效、付款状态=未付款、发货状态=未发货、退款状态=未退款;由于库存扣减模式为“拍下减库存”的模式,因此库存变更数据包括:订单号=100000001、商品=红色的衣服、可售库存的变更量=-2、可售库存的结果=98、预扣库存的变更量=0、预扣库存的结果=0、占用库存的变更量=0、占用库存的结果=0。

例2,如果例1中的小红在拍下商品后一直未付款,由于超时导致订单被关闭,则在订单关闭时,将产生交易状态变更数据和库存变更数据;其中,交易状态变更数据包括:订单号=100000001、商品=红色的衣服、订单状态=已生效、付款状态=订单关闭、发货状态=未发货、退款状态=未退款;由于库存扣减模式为“拍下减库存”的模式,因此库存变更数据包括:订单号=100000001、商品=红色的衣服、可售库存的变更量=2、可售库存的结果=100、预扣库存的变更量=0、预扣库存的结果=0、占用库存的变更量=0、占用库存的结果=0。

要基于交易状态变更数据来检测库存变更数据是否存在异常,首先需要获取新增交易状态变更数据及与其对应的新增库存变更数据这两方面数据。在本实施例中,获取待检测订单的新增交易状态变更数据及与其对应的新增库存变更数据,采用如下方式:根据待检测订单的订单号,获取新增交易状态变更数据和新增库存变更数据。

当获取到待检测订单的新增交易状态变更数据及与其对应的新增库存变更数据这两方面数据后,就可以进入步骤S103基于交易状态变更数据对库存变更数据是否存在异常进行检测。

需要注意的是,实际应用中的交易状态变更数据和库存变更数据通常来源于不同的系统,即:交易状态变更数据来源于交易系统,库存变更数据来源于库存管理系统。不同系统的数据变更是有先后顺序的,如果每一条数据变更都触发一次本申请实施例提供的方法,那么可能因为另一方面数据还没到,导致出现误判的结果。虽然此后可以在两方面数据均获取后再通过重新检测纠正该错误判定结果,但是却极大的降低了检测效率。可见,如果能在获取到交易状态变更数据和库存变更数据两方面数据后再进行检测,就会提高检测效率和系统性能。

为了能够在获取到两方面数据后再进行检测,本申请实施例提供的方法是在监听到对应待检测订单的库存异常检测通知时执行的。

请参考图2,其为本申请的库存异常数据的检测方法实施例发送库存异常检测通知的流程图。在本实施例中,库存异常检测通知,可以采用如下步骤生成:

步骤S201:通过增量数据实时同步装置,将所述新增交易状态变更数据和所述新增库存变更数据同步到所述异常数据检测平台。

当对订单进行具体操作时,可以通过增量数据实时同步装置,将交易系统产生的新增交易状态变更数据和库存管理系统产生的新增库存变更数据同步到异常数据检测平台中。

为了便于实现异常数据检测平台,本申请实施例基于实时分布式的计算处理框架构建异常数据检测平台。请参考图3,其为本申请的库存异常数据的检测方法实施例异常数据检测平台的示意图。图3中的DRC是增量数据实时同步装置,通过DRC将交易系统和库存管理系统的增量数据的实时同步到异常数据检测平台,作为tradeSpout和invSpout的数据源。检测平台包括tradeSpout和invSpout两个数据源,以及etlBolt、actionBolt和checkBolt三个计算模块。其中,tradeSpout数据源包括新增交易状态变更数据,invSpout数据源包括新增库存变更数据。由于数据源是通过DRC接入进来的,因此tradeSpout和invSpout的并发数与数据源的topic相关,二者相互对应。

图3检测平台中的etlBolt计算模块订阅tradeSpout和invSpout的变更数据,作为tradeSpout和invSpout数据源的下一级,etlBolt隔离了数据源物理上的数量关系,可以自由提高并发数。当etlBolt获取到任意一条新增数据后,将新增数据的订单号发射出去。

优选的,还可以通过etlBolt计算模块对新增交易状态变更数据和新增库存变更数据数据进行预处理(包括数据过滤等处理),以便能够将检测异常时真正需要的数据存储到HBASE中间表中。

步骤S203:在所述异常数据检测平台接收到所述新增交易状态变更数据和所述新增库存变更数据的至少一者后,若预设的发送库存异常检测通知条件成立,则发送对应所述新增交易状态变更数据或所述新增库存变更数据所属的订单的库存异常检测通知。

本申请实施例提供的方法是在异常数据检测平台接收到新增交易状态变更数据和新增库存变更数据的至少一者后,通过actionBolt计算模块控制库存异常检测通知的发送。actionBolt计算模块用于控制发送库存异常检测通知,当预设的发送库存异常检测通知条件成立时将订单号发射出去。

具体的,预设的发送库存异常检测通知条件包括:当前时间与接收到所述新增交易状态变更数据或所述新增库存变更数据的时间间隔达到预设的时间间隔,或者待检测订单所占用的内存空间达到预设的内存空间。其中,第一个条件是在获取到第一条新增数据后的预设时间间隔后发送对于该新增数据所属订单的库存异常检测通知,即:假设两方面数据的到达时间间隔应该在预设时间间隔内;上述第二个条件是当存储新增数据的内存空间达到预设内存最大范围时,发送对于该新增数据所属订单的库存异常检测通知。

通过上述步骤S201和步骤S203,能够控制执行本申请提供的方法的时机。检测平台中的checkBolt计算模块订阅actionBolt的数据,当接收到actionBolt发送的库存异常检测通知时,根据通知中的订单号,从HBASE里取出该订单号的新增交易状态变更数据和新增库存变更数据,执行本申请实施例提供的方法,进行库存异常数据的检测,如果检测到数据异常,则将异常数据输出到数据库中。本申请实施例将库存异常数据的检测逻辑,作为异常数据检测平台的业务插件,通过JAR包的方式在检测平台上实时运行起来,实现业务目标。

本申请实施例通过现有的实时分布式的计算处理框架STORM和HBASE数据存储系统构建异常数据检测平台,不仅简化了平台构建的过程,而且构建的检测平台独立于交易系统和库存管理系统,不会对交易系统和库存管理系统产生负担。

步骤S103:根据所述新增交易状态变更数据和所述待检测订单应用的库存 扣减模式,检测所述新增库存变更数据是否为异常的库存变更数据。

当获取到待检测订单的新增交易状态变更数据及与其对应的新增库存变更数据后,就可以基于交易状态变更数据来检测库存变更数据是否存在异常。

本申请实施例所述的库存扣减模式是由库存管理系统提供的,例如,拍下减库存模式或付款减库存等模式。交易系统根据业务需要决定采用哪一种库存扣减模式。因此,库存扣减模式可以存储在交易状态变更数据中。库存变更数据与库存扣减模式有关,在相同的交易状态变更数据下,如果库存扣减模式不同,则产生的库存变更数据也是不同的。本申请实施例提供的方法是基于已知库存扣减模式的大前提,根据新增交易状态变更数据检测新增库存变更数据是否异常。

在实际应用中,可以采用多种检测方案检测新增库存变更数据是否异常。下面给出步骤S103的三种可选的实施方案:

1)方案一

方案一的基本思想是实现从交易状态变更数据到库存变更数据的检测,即:将库存变更数据的实际值和预期值进行比较。请参考图4,其为本申请的库存异常数据的检测方法实施例步骤S103的一种流程图。方案一的步骤S103包括:

步骤S1031:根据所述新增交易状态变更数据,获取所述待检测订单的当前交易状态。

方案一首先需要从新增交易状态变更数据中获取待检测订单的当前交易状态。以步骤S101中的例1对当前交易状态进行说明,该例中新增交易状态变更数据包括:订单号=100000001、商品=红色的衣服、订单状态=已生效、付款状态=未付款、发货状态=未发货、退款状态=未退款,其中当前交易状态为:订单状态=已生效、付款状态=未付款、发货状态=未发货、退款状态=未退款。

步骤S1033:根据所述当前交易状态和所述待检测订单应用的库存扣减模式,计算所述新增库存变更数据的预期值。

根据当前交易状态和待检测订单应用的库存扣减模式,能够计算出新增库存变更数据的预期值。继续以步骤S101中的例1对本步骤进行说明,由于当前商品都采用“拍下减库存”的库存扣减模式,并且当前交易状态为:订单状态=已生效、付款状态=未付款、发货状态=未发货、退款状态=未退款,因此库存变更数据的预期值应该为:订单号=100000001、商品=红色的衣服、可售库存的变 更量=-2、可售库存的结果=98、预扣库存的变更量=0、预扣库存的结果=0、占用库存的变更量=0、占用库存的结果=0。

在实际应用中,可以根据具体的应用需求,设置库存变更数据预期值的计算规则,以“拍下减库存”的库存扣减模式为例,可应用的计算规则包括:1)当订单状态是未生效状态时,如果可售库存已减,则预期值为回补可售库存;2)当订单状态是生效状态时,预期值为可售库存已减;3)当订单状态是付款前关闭时,如果可售库存已减,则预期值为回补可售库存。上述各种不同的计算规则,只是具体实施方式的变更,都不偏离本申请的核心,因此都在本申请的保护范围之内。

步骤S1035:判断所述新增库存变更数据和所述预期值是否相同。

将新增库存变更数据中的实际变更数据与步骤S1033获取的库存变更数据的预期值进行对比,判断二者是否一致。

步骤S1037:若是,则判定所述新增库存变更数据为正常的库存变更数据。

如果新增库存变更数据中的实际值与预期值相同,则能够判定新增库存变更数据为正常的库存变更数据。

步骤S1039:若否,则判定所述新增库存变更数据为所述异常的库存变更数据。

相反的,如果新增库存变更数据中的实际值与预期值不相同,则能够判定新增库存变更数据为异常的库存变更数据。

通过方案一,能够实现从交易状态变更数据到库存变更数据这个维度的异常库存数据检测。

2)方案二

与方案一相反,方案二的基本思想是实现从库存变更数据到交易状态变更数据的检测,即:将交易变更数据的实际值和预期值进行比较。请参考图5,其为本申请的库存异常数据的检测方法实施例步骤S103的又一种流程图。所述根据所述新增交易状态变更数据,检测所述新增库存变更数据是否为异常的库存变更数据,包括:

步骤S1031’:根据所述新增交易状态变更数据,获取所述待检测订单的当前交易状态。

步骤S1031’与步骤S1031相同,此处不再赘述。

步骤S1033’:根据所述待检测订单应用的库存扣减模式和所述新增库存变更数据,生成所述待检测订单的预期交易状态。

根据新增库存变更数据和待检测订单应用的库存扣减模式,能够反向推导出待检测订单的预期交易状态。仍以步骤S101中的例1对本步骤进行说明,由于当前商品都采用“拍下减库存”的库存扣减模式,并且库存变更数据为:订单号=100000001、商品=红色的衣服、可售库存的变更量=-2、可售库存的结果=98、预扣库存的变更量=0、预扣库存的结果=0、占用库存的变更量=0、占用库存的结果=0,因此当前交易状态的预期值应该为:订单状态=已生效、付款状态=未付款、发货状态=未发货、退款状态=未退款。

步骤S1035’:判断所述待检测订单的当前交易状态和所述预期交易状态是否相同。

将新增交易状态变更数据中的实际交易状态与获取到的预期交易状态逐一进行对比,判断各种交易状态的实际值与预期值是否均一致。

步骤S1037’:若是,则判定所述新增库存变更数据为正常的库存变更数据。

如果新增交易状态变更数据中的实际值与预期值相同,则能够判定新增库存变更数据为正常的库存变更数据。

步骤S1037’:若否,则判定所述新增库存变更数据为所述异常的库存变更数据。

相反的,如果新增交易状态变更数据中的实际值与预期值不相同,则能够判定新增库存变更数据为异常的库存变更数据。

通过方案二,能够实现从库存变更数据到交易状态变更数据这个维度的异常库存数据检测。

3)方案三

方案三是将方案一与方案二相结合,实现从交易状态变更数据到库存变更数据,以及从库存变更数据到交易状态变更数据的两个维度的检测。请参考图6,其为本申请的库存异常数据的检测方法实施例步骤S103的再一种流程图。所述根据所述新增交易状态变更数据,检测所述新增库存变更数据是否为异常的库存变更数据常,包括:

步骤S1031”:根据所述新增交易状态变更数据,获取所述待检测订单的当前交易状态。

步骤S1031”与步骤S1031相同,此处不再赘述。

步骤S1033”:根据所述当前交易状态和所述待检测订单应用的库存扣减模式,计算所述新增库存变更数据的预期值;以及根据所述待检测订单应用的库存扣减模式和所述新增库存变更数据,生成所述待检测订单的预期交易状态。

本步骤综合了上述步骤S1033和步骤S1033’,此处不再赘述。

步骤S1035”:判断所述新增库存变更数据和所述预期值是否相同,以及所述待检测订单的当前交易状态和所述预期交易状态是否相同。

本步骤判断新增库存变更数据的实际值是否与预期值相同,以及待检测订单的当前交易状态和预期交易状态是否相同。

步骤S1037”:若是,则判定所述新增库存变更数据为正常的库存变更数据。

如果新增库存变更数据中的实际值与预期值相同,并且待检测订单的当前交易状态和预期交易状态也相同,则能够判定新增库存变更数据为正常的库存变更数据。

步骤S1039”:若否,则判定所述新增库存变更数据为所述异常的库存变更数据。

相反的,如果新增库存变更数据中的实际值与预期值不相同,或者待检测订单的当前交易状态和预期交易状态不相同,则能够判定新增库存变更数据为异常的库存变更数据。

在实际应用中,可以根据具体的应用需求,选择上述方案之一实现步骤S103。上述各种不同的检测方案,只是具体实施方式的变更,都不偏离本申请的核心,因此都在本申请的保护范围之内。

需要说明的是,如果步骤S103检测到新增库存变更数据为异常的库存变更数据,由于该异常可能是由于缺少一方面的新增数据等原因而造成的误判,为了使得后期能够对误判结果进行纠正,本申请实施例提供的方法还包括:存储新增库存变更数据为异常的库存变更数据的检测结果的步骤。并且,为了便于后期易于查找到判定为异常的库存变更数据,优选的方法是将待检测订单标记为库存更新异常的订单。相应的,在对每一对新增数据进行检测时,如果检测到新增库存变更数据为正常的库存变更数据,则检测方法还包括:判断待检测订单是否被标记为库存更新异常的订单。如果发现该订单已经被标记为库存更新异常的订单,则需要删除新增库存变更数据为异常的库存变更数据的检测结 果,由此实现对误判结果的纠正。

通过上述步骤S101和步骤S103,能够对每一次交易状态变更所引起的库存变更数据进行检测,实时发现库存更新过程中存在的问题,从而提高商品库存数据的准确性。

在实际应用中,不仅需要检测出异常的库存变更数据,还需要定位出异常数据的产生原因,以确定有效的解决方案,从而做到及时止损。通过本申请实施例提供的方法,能够直接确定较粗细度的异常原因,例如,可售库存该减未减或可售库存该回补未回补等。但是,在实际应用中,还需要分析出异常数据产生的细粒度原因,例如,导致可售库存该减未减的进一步原因是可售库存不足,还是商品数据被删除等。现有技术通过人工查找库存管理系统日志的方法,以获取异常的库存更新数据产生的细粒度原因。由于该方法是由人工操作的,因而需要消耗大量的人力,是一个浩大的工程。

为了解决现有技术存在的无法自动定位异常的库存更新数据产生的细粒度原因的问题,本申请实施例提供的方法还包括:1)获取预先存储的生成所述新增库存变更数据时的异常处理结果;所述异常处理结果存储在所述新增交易状态变更数据或所述新增库存变更数据中;2)将所述异常处理结果作为所述异常的库存变更数据的异常原因。

本申请实施例所述的异常处理结果是指,库存管理系统在生成库存变更数据时对外返回的错误码或错误描述。库存管理系统在生成库存变更数据时,一般都会分析出失败原因,然后对外返回相应的错误码和错误描述,并将这些错误码和错误描述记录到异常日志文件中。现有技术即通过人工查找异常日志文件的方法获取细粒度的异常原因。

本申请实施例提供的方法是将上述异常处理结果预先存储在新增交易状态变更数据或新增库存变更数据中,使得当判断出新增库存变更数据为异常数据时,能够通过直接读取预先存储的异常处理结果,从而获取到库存变更数据出现异常的细粒度原因。

优选的,将异常处理结果预先存储在新增交易状态变更数据中,使得在新增交易状态变更数据和新增库存变更数据不同步的情况下,能够用异常处理结果替代新增库存变更数据,以确定异常的库存变更数据,达到减少异常数据的误判率的效果。

具体的,库存管理系统提供库存接口以供交易系统在需要的场景下调用。交易系统将库存接口映射为简短数字的返回信息保存在新增交易状态变更数据中。

在上述的实施例中,提供了一种库存异常数据的检测方法,与之相对应的,本申请还提供一种库存异常数据的检测装置。该装置是与上述方法的实施例相对应。

请参看图7,其为本申请的库存异常数据的检测装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种库存异常数据的检测装置,包括:

第一获取单元101,用于获取待检测订单的新增交易状态变更数据及与其对应的新增库存变更数据;

检测单元103,用于根据所述新增交易状态变更数据和所述待检测订单应用的库存扣减模式,检测所述新增库存变更数据是否为异常的库存变更数据。

请参看图8,其为本申请的库存异常数据的检测装置实施例检测单元103的具体示意图。可选的,所述检测单元103包括:

获取子单元1031,用于根据所述新增交易状态变更数据,获取所述待检测订单的当前交易状态;

计算子单元1033,用于根据所述当前交易状态和所述待检测订单应用的库存扣减模式,计算所述新增库存变更数据的预期值;

判断子单元1035,用于判断所述新增库存变更数据和所述预期值是否相同;

判定正常子单元1037,用于如果上述判断结果为是,则判定所述新增库存变更数据为正常的库存变更数据;

判定异常子单元1039,用于如果上述判断结果为否,则判定所述新增库存变更数据为所述异常的库存变更数据。

可选的,所述检测单元103包括:

获取子单元,用于根据所述新增交易状态变更数据,获取所述待检测订单的当前交易状态;

计算子单元,用于根据所述待检测订单应用的库存扣减模式和所述新增库 存变更数据,生成所述待检测订单的预期交易状态;

判断子单元,用于判断所述待检测订单的当前交易状态和所述预期交易状态是否相同;

判定正常子单元,用于如果上述判断结果为是,则判定所述新增库存变更数据为正常的库存变更数据;

判定异常子单元,用于如果上述判断结果为否,则判定所述新增库存变更数据为所述异常的库存变更数据。

可选的,所述检测单元103包括:

获取子单元,用于根据所述新增交易状态变更数据,获取所述待检测订单的当前交易状态;

计算子单元,用于根据所述当前交易状态和所述待检测订单应用的库存扣减模式,计算所述新增库存变更数据的预期值;以及根据所述待检测订单应用的库存扣减模式和所述新增库存变更数据,生成所述待检测订单的预期交易状态;

判断子单元,用于判断所述新增库存变更数据和所述预期值是否相同,以及所述待检测订单的当前交易状态和所述预期交易状态是否相同;

判定正常子单元,用于如果上述判断结果为是,则判定所述新增库存变更数据为正常的库存变更数据;

判定异常子单元,用于如果上述判断结果为否,则判定所述新增库存变更数据为所述异常的库存变更数据。

请参看图9,其为本申请的库存异常数据的检测装置实施例的具体示意图。可选的,如果检测到所述新增库存变更数据为所述异常的库存变更数据,还包括:

存储结果单元201,用于存储所述新增库存变更数据为所述异常的库存变更数据的检测结果。

可选的,还包括:

标记单元203,用于将所述待检测订单标记为库存更新异常的订单。

可选的,如果检测到所述新增库存变更数据为正常的库存变更数据,还包括:

判断单元205,用于判断所述待检测订单是否被标记为所述库存更新异常的订单;

删除单元207,用于如果上述判断结果为是,则删除所述新增库存变更数据为所述异常的库存变更数据的检测结果。

可选的,还包括:

第二获取单元209,用于获取预先存储的生成所述新增库存变更数据时的异常处理结果;所述异常处理结果存储在所述新增交易状态变更数据或所述新增库存变更数据中;

设置单元211,用于将所述处理结果作为所述异常的库存变更数据的异常原因。

可选的,当监听到对应所述待检测订单的库存异常检测通知时,执行所述库存异常数据的检测方法。

可选的,所述库存异常数据的检测方法运行在基于实时分布式的计算处理框架构建的异常数据检测平台中。

可选的,还包括:

生成通知单元213,用于生成所述库存异常检测通知。

请参看图10,其为本申请的库存异常数据的检测装置实施例生成通知单元213的具体示意图。可选的,所述生成通知单元213包括:

同步子单元2131,用于通过增量数据实时同步装置,将所述新增交易状态变更数据和所述新增库存变更数据同步到所述异常数据检测平台;

发送子单元2133,用于在所述异常数据检测平台接收到所述新增交易状态变更数据和所述新增库存变更数据的至少一者后,若预设的发送库存异常检测通知条件成立,则发送对应所述新增交易状态变更数据或所述新增库存变更数据所属的订单的库存异常检测通知。

可选的,所述生成通知单元213还包括:

数据处理子单元2132,用于根据预设的数据规范化规则,对所述新增交易状态变更数据和所述新增库存变更数据进行数据规则化处理。

请参考图11,其为本申请的电子设备实施例的示意图。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分 说明即可。下述描述的设备实施例仅仅是示意性的。

本实施例的一种电子设备,该电子设备包括:显示器1101;处理器1102;以及存储器1103,所述存储器1103被配置成存储库存异常数据的检测装置,所述库存异常数据的检测装置被所述处理器1102执行时,包括如下步骤:获取待检测订单的新增交易状态变更数据及与其对应的新增库存变更数据;根据所述新增交易状态变更数据,检测所述新增库存变更数据是否为异常的库存变更数据。

本申请提供的库存异常数据的检测方法、装置及电子设备,通过获取待检测订单的新增交易状态变更数据及与其对应的新增库存变更数据;并根据新增交易状态变更数据和待检测订单应用的库存扣减模式,检测新增库存变更数据是否为异常的库存变更数据,即:对每一次交易状态变更所引起的库存变更的正确性进行实时的分析判断,从而能够达到细粒度的检测库存变更数据,及时发现库存更新过程中的问题。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒 体(transitory media),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

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