CN110321242A - 数据处理方法和装置 - Google Patents

数据处理方法和装置 Download PDF

Info

Publication number
CN110321242A
CN110321242A CN201810287799.5A CN201810287799A CN110321242A CN 110321242 A CN110321242 A CN 110321242A CN 201810287799 A CN201810287799 A CN 201810287799A CN 110321242 A CN110321242 A CN 110321242A
Authority
CN
China
Prior art keywords
data
tables
operating record
inventory
preemption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810287799.5A
Other languages
English (en)
Inventor
江昆
涂子辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201810287799.5A priority Critical patent/CN110321242A/zh
Publication of CN110321242A publication Critical patent/CN110321242A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Abstract

本发明公开了一种数据处理方法和装置,涉及计算机技术领域。其中,该方法包括:在接收到调用方的调用请求之后,对第一数据表进行数据操作,并将数据操作记录进行存储;根据归属于所述调用方的第二数据表对所述数据操作记录进行校验;在校验结果为所述数据操作记录存在异常的情况下,对所述第一数据表进行异常补偿。通过以上步骤,能够更快更准确地发现数据异常、并对数据异常进行及时处理。

Description

数据处理方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法和装置。
背景技术
随着互联网技术的发展,越来越多的企业采用SOA(面向服务的架构)构建软件系统。由于企业的软件系统涉及的服务越来越多,业务逻辑、接口调用关系越来越复杂,导致SOA服务的稳定性受到一定影响。而当与数据库操作有关的SOA服务出现异常时,很可能导致数据不准确、数据不一致等问题。
下面以企业的库存管理服务为例进行说明。一般来说,企业的库存管理主要分为面向用户的销售库存系统和供应链库存系统。随着促销模式的不断增加、支付方式的不断丰富,在用户下单过程中涉及的业务逻辑也越来越复杂,进而可能出现调用依赖业务逻辑异常的问题。比如,在调用库存处理业务逻辑时出现异常,很可能导致销售库存数据不准确,以及销售库存数据与供应链库存数据不一致等问题。
为解决上述问题,现有技术主要采取将销售库存系统与供应链仓库库存系统进行总数对账的方式进行数据校验。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有数据校验方式难以及时发现数据异常,也无法精确定位数据异常的位置,更无法及时对数据异常进行处理。
发明内容
有鉴于此,本发明提供一种数据处理方法和装置,能够更快更准确地发现数据异常、并对数据异常进行及时处理。
为实现上述目的,根据本发明的一个方面,提供了一种数据处理方法。
本发明的数据处理方法包括:在接收到调用方的调用请求之后,对第一数据表进行数据操作,并将数据操作记录进行存储;根据归属于所述调用方的第二数据表对所述数据操作记录进行校验;在校验结果为所述数据操作记录存在异常的情况下,对所述第一数据表进行异常补偿。
可选地,所述将数据操作记录进行存储的步骤包括:通过异步线程将所述数据操作记录进行存储。
可选地,所述根据归属于所述调用方的第二数据表对所述数据操作记录进行校验的步骤包括:定时读取校验状态为“未校验”的数据操作记录,然后根据读取的所述数据操作记录中的特定字段查询第二数据表,并根据查询结果判断所述数据操作记录是否存在异常;所述方法还包括:在所述根据归属于所述调用方的第二数据表对所述数据操作记录进行校验的步骤之后,将所述数据操作记录的校验状态更新为“已校验”。
可选地,所述调用请求为调用库存预占服务的请求;所述数据操作记录包括:预占库存的单据号;第二数据表包括:单据号、单据状态;所述根据读取的所述数据操作记录中的特定字段查询第二数据表,并根据查询结果判断所述数据操作记录是否存在异常的步骤包括:根据所述预占库存的单据号查询第二数据表;若查询结果为第二数据表不存在所述预占库存的单据号,或者查询结果为所述预占库存的单据号对应的单据状态和预期状态不符,则确定所述数据操作记录存在异常。
可选地,所述数据操作记录还包括:单据中物品的预占量、物品编号;所述在校验结果为所述数据操作记录存在异常的情况下,对所述第一数据表进行异常补偿的步骤包括:将所述单据中物品的预占量从所述第一数据表中对应于所述物品编号的当前库存预占量中去除。
为实现上述目的,根据本发明的另一方面,提供了一种数据处理装置。
本发明的数据处理装置包括:服务模块,用于在接收到调用方的调用请求之后,对第一数据表进行数据操作,并将数据操作记录进行存储;校验模块,用于根据归属于所述调用方的第二数据表对所述数据操作记录进行校验;异常补偿模块,用于在校验结果为所述数据操作记录存在异常的情况下,对所述第一数据表进行异常补偿。
可选地,所述服务模块将数据操作记录进行存储包括:所述服务模块通过异步线程将所述数据操作记录进行存储。
可选地,所述校验模块根据归属于所述调用方的第二数据表对所述数据操作记录进行校验包括:所述校验模块定时读取校验状态为“未校验”的数据操作记录,然后所述校验模块根据读取的所述数据操作记录中的特定字段查询第二数据表,并根据查询结果判断所述数据操作记录是否存在异常;所述装置还包括:更新模块,用于在所述校验模块根据归属于所述调用方的第二数据表对所述数据操作记录进行校验之后,将所述数据操作记录的校验状态更新为“已校验”。
可选地,所述调用请求为调用库存预占服务的请求;所述数据操作记录包括:预占库存的单据号;第二数据表包括:单据号、单据状态;所述校验模块根据读取的所述数据操作记录中的特定字段查询第二数据表,并根据查询结果判断所述数据操作记录是否存在异常包括:所述校验模块根据所述预占库存的单据号查询第二数据表;若查询结果为第二数据表不存在所述预占库存的单据号,或者查询结果为所述预占库存的单据号对应的单据状态和预期状态不符,则所述校验模块确定所述数据操作记录存在异常。
可选地,所述数据操作记录还包括:单据中物品的预占量、物品编号;所述异常补偿模块在校验结果为所述数据操作记录存在异常的情况下,对所述第一数据表进行异常补偿包括:所述异常补偿模块将所述单据中物品的预占量从所述第一数据表中对应于所述物品编号的当前库存预占量中去除。
为实现上述目的,根据本发明的再一个方面,提供了一种电子设备。
本发明的电子设备,包括:一个或多个处理器;以及,存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明的数据处理方法。
为实现上述目的,根据本发明的又一个方面,提供了一种计算机可读介质。
本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明的数据处理方法。
上述发明中的一个实施例具有如下优点或有益效果:在本发明实施例中,通过在接收到调用方的调用请求之后,对第一数据表进行数据操作,并将数据操作记录进行存储;以及,根据归属于所述调用方的第二数据表对所述数据操作记录进行校验,并在校验结果为所述数据操作记录存在异常的情况下对所述第一数据表进行异常补偿等步骤,能够更快更准确地发现第一数据表中的数据异常、并对数据异常进行及时处理。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明一个实施例的数据处理方法的主要步骤示意图;
图2是根据本发明另一实施例的数据处理方法的主要步骤示意图;
图3A是现有技术中的下单流程处理节点示意图;
图3B是现有技术中的库存流转流程示意图;
图3C是根据本发明再一实施例的数据处理方法的主要步骤示意图;
图4是根据本发明一个实施例的数据处理装置的主要模块示意图;
图5是根据本发明另一实施例的数据处理装置的主要模块示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明中的实施例以及实施例中的特征可以相互组合。
图1是根据本发明一个实施例的数据处理方法的主要步骤示意图。如图1所示,本发明实施例的数据处理方法包括:
步骤S101、在接收到调用方的调用请求之后,对第一数据表进行数据操作,并将数据操作记录进行存储。
其中,所述调用方、调用请求、第一数据表以及数据称操作记录随着应用场景的不同而可能不同。
在一示例性场景中,调用方为订单系统的订单下单服务,调用请求为调用库存预占服务的请求,第一数据表为包括物品编号、当前库存预占量等数据的存储表,数据操作记录包括进行库存预占的单据号。
在另一示例性场景中,调用方为订单系统的订单下单服务,调用请求为调用抵用券处理服务的请求,第一数据表为包括抵用券标识、抵用券面额以及抵用券数量等数据的存储表,数据操作记录包括进行抵用券处理的单据号。
步骤S102、根据归属于所述调用方的第二数据表对所述数据操作记录进行校验。
示例性的,第二数据表可为包括单据号、单据状态等数据的存储表。
步骤S103、在校验结果为所述数据操作记录存在异常的情况下,对所述第一数据表进行异常补偿。
示例性的,假设存在异常的数据操作记录为:对第一数据表中的某一字段的数值增加△n,则对所述第一数据表进行的异常补偿为:对第一数据表中的该字段的数值减少△n。又比如,假设存在异常的数据操作记录为:对第一数据表中的某一字段的数值减少△n,则对所述第一数据表进行的异常补偿为:对第一数据表中的该字段的数值增加△n。
在本发明实施例中,通过在接收到调用方的调用请求之后,对第一数据表进行数据操作,并将数据操作记录进行存储;以及,根据归属于所述调用方的第二数据表对所述数据操作记录进行校验,并在校验结果为所述数据操作记录存在异常的情况下对所述第一数据表进行异常补偿等步骤,能够更快更准确地发现第一数据表中的数据异常、并对数据异常进行及时处理。
图2是根据本发明另一实施例的数据处理方法的主要步骤示意图。如图2所示,本发明实施例的数据处理方法包括:
步骤S201、在接收到调用方的调用请求之后,对第一数据表进行数据操作,并通过异步线程将数据操作记录进行存储。
其中,所述调用方、调用请求、第一数据表以及数据称操作记录随着应用场景的不同而可能不同。
在一示例性场景中,调用方可为订单系统的订单下单服务,调用请求为调用库存预占服务的请求,第一数据表为包括物品编号、当前库存预占量等数据的存储表,数据操作记录可包括进行库存预占的单据号、单据中物品的预占量、物品编号等。
在另一示例性场景中,调用方可为订单系统的订单下单服务,调用请求为调用抵用券处理服务的请求,第一数据表为包括抵用券标识、抵用券面额以及抵用券数量等数据的存储表,数据操作记录可包括进行抵用券处理的单据号、单据中消耗的抵用券的数量、单据中消耗的抵用券的面额等。
在本发明实施例中,通过采用异步线程的方式保存数据操作记录,不仅便于后续进行数据校验,而且几乎不会对原有的服务流程、服务性能造成影响。
步骤S202、定时读取校验状态为“未校验”的数据操作记录,然后根据读取的所述数据操作记录中的特定字段查询第二数据表。
示例性的,第二数据表可为包括单据号、单据状态等数据的存储表。另外,所述特定字段随着应用场景的不同而可能不同。在一示例性场景中,数据操作记录包括进行库存预占的单据号、单据中物品的预占量、物品编号等,所述特定字段为进行库存预占的单据号。在另一示例性场景中,数据操作记录包括进行抵用券处理的单据号、单据中消耗的抵用券的数量、单据中消耗的抵用券的面额等,所述特定字段为进行抵用券处理的单据号。
在该步骤中,可通过设置的定时器定时读取所有校验状态为“未校验”的数据操作记录,以便于对“未校验”的数据操作记录进行校验,而不必对“已校验”的数据操作记录进行重复校验,减少了校验时的数据处理量。
步骤S203、根据查询结果判断数据操作记录是否存在异常。若是,可执行步骤S204;若否,可执行步骤S205。
步骤S204、对所述第一数据表进行异常补偿。在步骤S204之后,可执行步骤S205。
步骤S205、将所述数据操作记录的校验状态更新为“已校验”。
在本发明实施例中,通过异步线程存储数据操作记录,并根据第二数据表对“未校验”的数据操作记录进行校验,不仅能够更快更准确地发现第一数据表中的数据异常,对数据异常进行及时处理,而且几乎不会对原有的服务性能造成影响。
下面以“订单系统的订单下单服务调用库存预占服务”这一具体应用场景为例,并结合图3A至图3C对现有技术中的下单流程和库存流转流程、以及本发明的数据处理方法进行详细说明。
图3A是现有技术中的下单流程处理节点示意图。如图3A所示,在用户下单时,需要通过多个服务节点进行处理,比如图3A示出的订单初始化节点、拆单处理节点、库存处理节点、账户支付处理节点、促销处理节点、抵用券处理节点等。由于在用户下单过程中涉及的服务节点繁多,进而可能导致在下单时出现调用依赖业务接口异常的问题。比如,在调用库存处理节点时出现异常,会导致销售库存数据不准确,以及销售库存数据与供应链库存数据不一致等问题。
图3B是现有技术中的库存流转流程示意图。如图3B所示,该流程主要涉及前台、订单系统、销售库存系统、供应链库存系统。该库存流转流程主要包括:
用户可通过前台下单、或取消订单。
在用户通过前台下单之后,订单系统可通过调用预设的业务逻辑进行处理,包括:订单系统调用销售库存系统的库存预占服务,以及调用账户支付处理服务、抵用券处理服务等。
在成功执行上述业务逻辑(即下单成功)之后,订单系统会将订单下传至供应链库存系统(或称为“仓库库存系统),进入订单生产环节。在订单生产完成之后进入订单出库环节,进而仓库库存系统会执行仓库库存扣减的操作,销售库存系统执行预占库存扣减、现货库存扣减的操作。
在调用某一业务逻辑失败,进而导致下单失败之后,订单系统调用销售库存系统的取消库存预占服务(或称为“预占回滚服务”)。另外,在用户通过前台取消订单时,订单系统调用销售库存系统的取消库存预占服务。
在图3B所示的库存流转过程中,如果预占库存服务或取消库存预占服务异常,很可能导致销售库存数据不准确,以及销售库存数据与供应链库存数据不一致等问题。即使对销售库存系统与供应链库存系统进行总数对账,也难以精准定位异常的库存数据,进而影响商品销售,导致库存积压。鉴于此,可基于本发明再一实施例的数据处理方法解决上述问题。
图3C是根据本发明再一实施例的数据处理方法的主要步骤示意图。如图3C所示,本发明实施例的数据处理方法包括:
步骤S301、在接收到调用库存预占服务的请求之后,对第一数据表进行数据操作,并通过异步线程将数据操作记录进行存储。
其中,所述数据操作记录包括预占库存的单据号、单据中物品的预占量、物品编号。所述第一数据表可包括物品编号、当前库存预占量等数据。在该步骤中,所述对第一数据表进行数据操作可包括:根据调用预占服务的请求更新第一数据表中的当前库存预占量。
例如,假设调用库存预占服务的请求中包括如下入参:订单的单据号为“46394377010”、单据中的物品编号为“G01830”、物品数量为“5个”,则库存预占服务将对第一数据表中该物品编号对应的当前库存预占量加5,并通过异步线程将包括“预占库存的单据号46394377010、单据中的物品编号G01830、单据中物品的预占量5个”的数据操作记录存储至闭环表中。
步骤S302、定时读取校验状态为“未校验”的数据操作记录,然后根据读取的所述数据操作记录中的预占库存的单据号查询第二数据表。
其中,第二数据表可包括单据号、单据状态、单据中的物品数量等。例如,某个第二数据表包括:单据号“48354377211”以及该单据号对应的单据状态“下单成功”,单据号“38204570315”以及该单据号对应的单据状态“订单取消”。在该步骤中,可通过定时器定时从闭环表中抽取校验状态为“未校验”的数据操作记录,然后根据数据操作记录中预占库存的单据号查询第二数据表。
在另一可选实施例中,所述数据操作记录还可包括调用方的标识。在该可选实施例中,在定时读取校验状态为“未校验”的数据操作记录之后,可根据读取的所述数据操作记录中的调用方的标识以及预占库存的单据号查询第二数据表,以提高查询效率。
步骤S303、判断所述预占库存的单据号是否存在于第二数据表中。若是,可执行步骤S304;若否,可执行步骤S305。
步骤S304、判断预占库存的单据号对应的单据状态与预期状态是否相符。若否,可执行步骤S305;若是,可执行步骤S306。
其中,所述预期状态为“下单成功”状态。在另一可选实施例中,在根据步骤S304确定预占库存的单据号对应的单据状态与预期状态相符之后,也可不执行步骤S306,而是执行如下步骤:判断数据操作记录所包括的单据中物品的预占量与第二数据表所包括的单据中的物品数量是否一致。若是,可执行步骤S306;若否,对第一数据表进行异常补偿,然后执行步骤S306。
步骤S305、将单据中物品的预占量从所述第一数据表中对应于所述物品编号的当前库存预占量中去除。在步骤S305之后,可执行步骤S306。
例如,假设包括“预占库存的单据号46394377010、单据中的物品编号G01830、单据中物品的预占量5个”的数据操作记录存在异常,则对第一数据表中物品编号为G01830的当前库存预占量进行减5操作。
步骤S306、将所述数据操作记录的校验状态更新为“已校验”。
在本发明实施例中,通过将库存预占服务的数据操作记录进行异步保存,并定时抽取闭环表中的未校验的数据操作记录进行校验,能够更快更准确发现第一数据表中的库存预占数据异常的问题,及时解决库存预占数据异常的问题,保证了销售库存系统的数据准确性以及销售库存系统与供应链库存系统的数据一致性。
图4是根据本发明一个实施例的数据处理装置的主要模块示意图。如图4所示,本发明实施例的数据处理装置400包括:服务模块401、校验模块402、异常补偿模块403,
服务模块401,用于在接收到调用方的调用请求之后,对第一数据表进行数据操作,并将数据操作记录进行存储。
其中,所述调用方、调用请求、第一数据表以及数据称操作记录随着应用场景的不同而可能不同。
在一示例性场景中,调用方为订单系统的订单下单服务,调用请求为调用库存预占服务的请求,第一数据表为包括物品编号、当前库存预占量等数据的存储表,数据操作记录包括进行库存预占的单据号。
在另一示例性场景中,调用方为订单系统的订单下单服务,调用请求为调用抵用券处理服务的请求,第一数据表为包括抵用券标识、抵用券面额以及抵用券数量等数据的存储表,数据操作记录包括进行抵用券处理的单据号。
校验模块402,用于根据归属于所述调用方的第二数据表对所述数据操作记录进行校验。
示例性的,第二数据表可为包括单据号、单据状态等数据的存储表。
异常补偿模块403,用于在校验结果为所述数据操作记录存在异常的情况下,对所述第一数据表进行异常补偿。
示例性的,假设存在异常的数据操作记录为:对第一数据表中的某一字段的数值增加△n,则对所述第一数据表进行的异常补偿为:对第一数据表中的该字段的数值减少△n。又比如,假设存在异常的数据操作记录为:对第一数据表中的某一字段的数值减少△n,则对所述第一数据表进行的异常补偿为:对第一数据表中的该字段的数值增加△n。
在本发明实施例的装置中,通过服务模块在接收到调用方的调用请求之后,对第一数据表进行数据操作,并将数据操作记录进行存储;以及,通过校验模块根据归属于所述调用方的第二数据表对所述数据操作记录进行校验,并通过异常补偿模块在校验结果为所述数据操作记录存在异常的情况下对所述第一数据表进行异常补偿,能够更快更准确地发现第一数据表中的数据异常、并对数据异常进行及时处理。
图5是根据本发明另一实施例的数据处理装置的主要模块示意图。如图5所示,本发明实施例的数据处理装置500包括:服务模块501、校验模块502、异常补偿模块503、更新模块504。
服务模块501,用于在接收到调用方的调用请求之后,对第一数据表进行数据操作,并通过异步线程将数据操作记录进行存储。
在一示例性场景中,调用方可为订单系统的订单下单服务,调用请求为调用库存预占服务的请求,第一数据表为包括物品编号、当前库存预占量等数据的存储表,数据操作记录可包括进行库存预占的单据号、单据中物品的预占量、物品编号等。
例如,假设调用库存预占服务的请求中包括如下入参:订单的单据号为“46394377010”、单据中的物品编号为“G01830”、物品数量为“5个”,则服务模块501将对第一数据表中该物品编号对应的当前库存预占量加5,并通过异步线程将包括“预占库存的单据号46394377010、单据中的物品编号G01830、单据中物品的预占量5个”的数据操作记录存储至闭环表中。
在本发明实施例中,服务模块501通过采用异步线程的方式保存数据操作记录不仅便于后续进行数据校验,而且几乎不会对原有的服务流程、服务性能造成影响。
校验模块502,用于定时读取校验状态为“未校验”的数据操作记录,然后根据读取的所述数据操作记录中的特定字段查询第二数据表,并根据查询结果判断数据操作记录是否存在异常。进一步,在通过校验模块502判断出数据操作记录存在异常的情况下,可调用异常补偿模块503和更新模块504;在判断出数据操作记录不存在异常的情况下,可调用更新模块504。
在一示例性场景中,所述调用请求为调用库存预占服务的请求;所述数据操作记录包括进行库存预占的单据号、单据中物品的预占量、物品编号等;所述数据操作记录中的特定字段为进行库存预占的单据号;所述第二数据表为包括单据号、单据状态等数据的存储表。
在该示例性场景中,校验模块502根据读取的所述数据操作记录中的特定字段查询第二数据表,并根据查询结果判断数据操作记录是否存在异常包括:校验模块502根据所述预占库存的单据号查询第二数据表;若查询结果为第二数据表不存在所述预占库存的单据号,或者查询结果为所述预占库存的单据号对应的单据状态和预期状态不符,则校验模块502确定所述数据操作记录存在异常;若查询结果为第二数据表中存在所述预占库存的单据号、且所述预占库存的单据号对应的单据状态和预期状态相符,则校验模块502确定所述数据操作记录不存在异常。其中,所述预期状态为“下单成功”状态。
异常补偿模块503,用于在校验结果为所述数据操作记录存在异常的情况下,对所述第一数据表进行异常补偿。
示例性的,在调用请求为调用库存预占服务的请求的场景中,异常补偿模块503对所述第一数据表进行异常补偿可包括:异常补偿模块503将异常的数据操作记录所包括的单据中物品的预占量从所述第一数据表中对应于所述物品编号的当前库存预占量中去除。比如,假设包括“预占库存的单据号46394377010、单据中的物品编号G01830、单据中物品的预占量5个”的数据操作记录存在异常,则对第一数据表中物品编号为G01830的当前库存预占量进行减5操作。
更新模块504,用于在校验模块503根据归属于所述调用方的第二数据表对所述数据操作记录进行校验之后,将所述数据操作记录的校验状态更新为“已校验”。
在本发明实施例中,通过异步线程存储数据操作记录,并根据第二数据表对“未校验”的数据操作记录进行校验,不仅能够更快更准确地发现第一数据表中的数据异常,对数据异常进行及时处理,而且几乎不会对原有的服务性能造成影响。
图6示出了可以应用本发明实施例的数据处理方法或数据处理装置的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所浏览的购物类网站提供支持的后台管理服务器。比如,后台管理服务器可以对接收到的订单下单请求等数据进行分析等处理,并通过调用库存预占服务对第一数据表进行数据操作,并将数据操作记录进行存储等。
需要说明的是,本发明实施例所提供的数据处理方法一般由服务器605执行,相应地,数据处理装置一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图7示出了适于用来实现本发明实施例的电子设备的计算机系统700的结构示意图。图7示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括服务模块、校验模块、异常补偿模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,异常补偿模块还可以被描述为“对第一数据表进行异常补偿的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行以下流程:在接收到调用方的调用请求之后,对第一数据表进行数据操作,并将数据操作记录进行存储;根据归属于所述调用方的第二数据表对所述数据操作记录进行校验;在校验结果为所述数据操作记录存在异常的情况下,对所述第一数据表进行异常补偿
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (12)

1.一种数据处理方法,其特征在于,所述方法包括:
在接收到调用方的调用请求之后,对第一数据表进行数据操作,并将数据操作记录进行存储;
根据归属于所述调用方的第二数据表对所述数据操作记录进行校验;
在校验结果为所述数据操作记录存在异常的情况下,对所述第一数据表进行异常补偿。
2.根据权利要求1所述的方法,其特征在于,所述将数据操作记录进行存储的步骤包括:通过异步线程将所述数据操作记录进行存储。
3.根据权利要求1所述的方法,其特征在于,所述根据归属于所述调用方的第二数据表对所述数据操作记录进行校验的步骤包括:定时读取校验状态为“未校验”的数据操作记录,然后根据读取的所述数据操作记录中的特定字段查询第二数据表,并根据查询结果判断所述数据操作记录是否存在异常;
所述方法还包括:在所述根据归属于所述调用方的第二数据表对所述数据操作记录进行校验的步骤之后,将所述数据操作记录的校验状态更新为“已校验”。
4.根据权利要求3所述的方法,其特征在于,所述调用请求为调用库存预占服务的请求;所述数据操作记录包括:预占库存的单据号;第二数据表包括:单据号、单据状态;
所述根据读取的所述数据操作记录中的特定字段查询第二数据表,并根据查询结果判断所述数据操作记录是否存在异常的步骤包括:根据所述预占库存的单据号查询第二数据表;若查询结果为第二数据表不存在所述预占库存的单据号,或者查询结果为所述预占库存的单据号对应的单据状态和预期状态不符,则确定所述数据操作记录存在异常。
5.根据权利要求4所述的方法,其特征在于,所述数据操作记录还包括:单据中物品的预占量、物品编号;
所述在校验结果为所述数据操作记录存在异常的情况下,对所述第一数据表进行异常补偿的步骤包括:将所述单据中物品的预占量从所述第一数据表中对应于所述物品编号的当前库存预占量中去除。
6.一种数据处理装置,其特征在于,所述装置包括:
服务模块,用于在接收到调用方的调用请求之后,对第一数据表进行数据操作,并将数据操作记录进行存储;
校验模块,用于根据归属于所述调用方的第二数据表对所述数据操作记录进行校验;
异常补偿模块,用于在校验结果为所述数据操作记录存在异常的情况下,对所述第一数据表进行异常补偿。
7.根据权利要求6所述的装置,其特征在于,所述服务模块将数据操作记录进行存储包括:所述服务模块通过异步线程将所述数据操作记录进行存储。
8.根据权利要求6所述的装置,其特征在于,所述校验模块根据归属于所述调用方的第二数据表对所述数据操作记录进行校验包括:所述校验模块定时读取校验状态为“未校验”的数据操作记录,然后所述校验模块根据读取的所述数据操作记录中的特定字段查询第二数据表,并根据查询结果判断所述数据操作记录是否存在异常;
所述装置还包括:更新模块,用于在所述校验模块根据归属于所述调用方的第二数据表对所述数据操作记录进行校验之后,将所述数据操作记录的校验状态更新为“已校验”。
9.根据权利要求8所述的装置,其特征在于,所述调用请求为调用库存预占服务的请求;所述数据操作记录包括:预占库存的单据号;第二数据表包括:单据号、单据状态;
所述校验模块根据读取的所述数据操作记录中的特定字段查询第二数据表,并根据查询结果判断所述数据操作记录是否存在异常包括:所述校验模块根据所述预占库存的单据号查询第二数据表;若查询结果为第二数据表不存在所述预占库存的单据号,或者查询结果为所述预占库存的单据号对应的单据状态和预期状态不符,则所述校验模块确定所述数据操作记录存在异常。
10.根据权利要求9所述的装置,其特征在于,所述数据操作记录还包括:单据中物品的预占量、物品编号;
所述异常补偿模块在校验结果为所述数据操作记录存在异常的情况下,对所述第一数据表进行异常补偿包括:所述异常补偿模块将所述单据中物品的预占量从所述第一数据表中对应于所述物品编号的当前库存预占量中去除。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至5中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至5中任一所述的方法。
CN201810287799.5A 2018-03-30 2018-03-30 数据处理方法和装置 Pending CN110321242A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810287799.5A CN110321242A (zh) 2018-03-30 2018-03-30 数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810287799.5A CN110321242A (zh) 2018-03-30 2018-03-30 数据处理方法和装置

Publications (1)

Publication Number Publication Date
CN110321242A true CN110321242A (zh) 2019-10-11

Family

ID=68112150

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810287799.5A Pending CN110321242A (zh) 2018-03-30 2018-03-30 数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN110321242A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111508617A (zh) * 2020-07-01 2020-08-07 智博云信息科技(广州)有限公司 疫情数据维护方法、装置、计算机设备和可读存储介质
CN113111120A (zh) * 2020-01-13 2021-07-13 北京京东振世信息技术有限公司 业务数据校验的方法和装置
CN113159680A (zh) * 2021-04-19 2021-07-23 北京京东振世信息技术有限公司 库存预占方法、装置、电子设备和计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577571A (zh) * 2013-10-31 2014-02-12 北京奇虎科技有限公司 一种数据处理方法和装置
CN104463545A (zh) * 2014-12-16 2015-03-25 合肥鑫晟光电科技有限公司 仓库数据处理系统
CN106156987A (zh) * 2016-08-31 2016-11-23 成都聚美优品科技有限公司 库存差异的均衡方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577571A (zh) * 2013-10-31 2014-02-12 北京奇虎科技有限公司 一种数据处理方法和装置
CN104463545A (zh) * 2014-12-16 2015-03-25 合肥鑫晟光电科技有限公司 仓库数据处理系统
CN106156987A (zh) * 2016-08-31 2016-11-23 成都聚美优品科技有限公司 库存差异的均衡方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113111120A (zh) * 2020-01-13 2021-07-13 北京京东振世信息技术有限公司 业务数据校验的方法和装置
CN113111120B (zh) * 2020-01-13 2023-09-01 北京京东振世信息技术有限公司 业务数据校验的方法和装置
CN111508617A (zh) * 2020-07-01 2020-08-07 智博云信息科技(广州)有限公司 疫情数据维护方法、装置、计算机设备和可读存储介质
CN113159680A (zh) * 2021-04-19 2021-07-23 北京京东振世信息技术有限公司 库存预占方法、装置、电子设备和计算机可读介质
CN113159680B (zh) * 2021-04-19 2023-11-03 北京京东振世信息技术有限公司 库存预占方法、装置、电子设备和计算机可读介质

Similar Documents

Publication Publication Date Title
CN110363456A (zh) 一种物品上架的方法和装置
CN109472523A (zh) 用于分拣货物的方法和装置
CN110197350A (zh) 一种物品出库方法和装置
CN109840734A (zh) 信息输出方法和装置
CN109903112A (zh) 信息输出方法和装置
CN110472207A (zh) 表单生成方法和装置
CN110019258A (zh) 处理订单数据的方法和装置
CN107844324A (zh) 客户端页面跳转处理方法和装置
CN110371560A (zh) 自动盘点的方法和装置
CN110348771A (zh) 一种对订单进行组单的方法和装置
CN109634833A (zh) 一种软件缺陷预测方法和装置
CN110209677A (zh) 更新数据的方法和装置
CN110473036A (zh) 一种生成订单号的方法和装置
CN110321242A (zh) 数据处理方法和装置
CN109542935A (zh) 一种规则引擎的执行方法、存储介质和服务器
CN108776692A (zh) 用于处理信息的方法和装置
CN109241033A (zh) 创建实时数据仓库的方法和装置
CN110377416A (zh) 分布式分区任务调度方法和装置
CN109960212A (zh) 任务发送方法和装置
CN109961306A (zh) 一种物品的库存分配方法和装置
CN109977139A (zh) 基于类结构化查询语句的数据处理方法和装置
CN110389976A (zh) 一种多接口数据的调度方法和装置
CN110515741A (zh) 一种基于本地任务队列的降级处理方法和装置
CN110502317A (zh) 一种事务管理的方法和装置
CN109840724A (zh) 用于输出信息的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination