CN111177110A - 库存数据的处理方法及装置 - Google Patents
库存数据的处理方法及装置 Download PDFInfo
- Publication number
- CN111177110A CN111177110A CN201910499623.0A CN201910499623A CN111177110A CN 111177110 A CN111177110 A CN 111177110A CN 201910499623 A CN201910499623 A CN 201910499623A CN 111177110 A CN111177110 A CN 111177110A
- Authority
- CN
- China
- Prior art keywords
- inventory
- data
- version number
- inventory data
- distribution task
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0223—Discounts or incentives, e.g. coupons or rebates based on inventory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- General Factory Administration (AREA)
Abstract
本发明的实施例公开了一种库存数据的处理方法及装置,一种库存数据的处理方法包括:接收库存分发任务;查询当前库存数据并记录库存版本号;在更新库存数据时,若已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新;若更新所述库存数据成功,则执行库存分发任务,并修改所述库存版本号。本发明实施例的技术方案能够在高并发状态下保证库存数据更新的有序性及准确性,避免了高并发状态下容易出现库存数据更新紊乱的问题,并且也能够保证及时有序地执行库存分发任务,实现了在高并发状态下,对库存分发任务的快速处理。
Description
技术领域
本发明涉及计算机及通信技术领域,具体而言,涉及一种库存数据的处理方法及装置。
背景技术
与用户交互的互联网活动内容中,为了吸引用户的参与,通常会设置派奖、发红包等活动内容,而该类型互联网活动所设置的奖品或红包数量有限,为了对已派发的奖品或红包的数量、剩余可发放的奖品或红包的数量进行处理,通常会将奖品或红包设置在虚拟的仓库中并记录库存的奖品或红包数量。
活动开始后,系统会从已记录的库存数据中扣除已发放的产品数据量,实现对库存数据的实时更新,在此过程中需要对库存进行实时处理,但现有库存处理方式会导致库存分发系统的性能低下,无法支持库存物品的快速派发,导致处理库存分发任务的性能低下,不能满足需要,且不能对活动过程中的库存物品超发状况进行及时发现和快速处理。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的实施例提供了一种库存数据的处理方法及装置,进而至少在一定程度上可以在高并发状态下保证库存数据更新的有序性及准确性。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的一个方面,提供了一种库存数据的处理方法,包括:
接收并记录库存分发任务;
查询当前库存数据并记录库存版本号;
判断已记录的库存版本号与当前库存版本号是否一致;
若已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新;
如更新库存数据成功,则执行库存分发任务,并修改所述库存版本号。
根据本发明实施例的一个方面,提供了一种库存数据的处理装置,包括:
接收模块,被配置为接收库存分发任务;
查询记录模块,被配置为查询当前库存数据并记录库存版本号;
更新模块,被配置为在更新库存数据时,若已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新;
处理模块,被配置为若更新所述库存数据成功,则执行库存分发任务,并修改所述库存版本号。
在本发明的一个实施例中,所述更新模块还被配置为若已记录的库存版本号与当前库存版本号不一致,则发信息给所述查询记录模块以便重新查询库存数据并记录库存版本号,以便根据重新记录的库存版本号确定是否可以更新库存数据。
在本发明的一个实施例中,所述库存数据的处理装置还包括:
记录模块,被配置为在所述更新库存数据成功之后,记录库存状态,所述库存状态包括更新后的库存数据和修改后的库存版本号。
在本发明的一个实施例中,所述库存数据的处理装置还包括:
回滚模块,被配置为若接收到对所述库存数据的回滚操作,则根据记录的所述库存状态将所述库存数据回滚至指定的库存状态。
在本发明的一个实施例中,所述库存数据的处理装置还包括:
第一判断模块,被配置为在对所述库存数据进行更新之前,根据查询的库存数据判断库存是否充足;
所述更新模块还被配置为若确定库存充足,且更新库存数据时已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新。
在本发明的一个实施例中,所述库存数据的处理装置还包括:
第二判断模块,被配置为在执行库存分发任务之后,判断库存分发任务是否执行成功;
修改模块,被配置为若所述库存分发任务执行成功,则将所述库存分发任务的状态修改为已完成。
在本发明的一个实施例中,所述库存数据的处理装置还包括:重试模块,被配置为若所述库存分发任务执行不成功,则记录所述库存分发任务的失败次数,并再次执行所述库存任务分发;
告警模块,被配置为若所述库存分发任务的失败次数达到设定次数,则生成并发送告警信息。
在本发明的一个实施例中,所述库存数据的处理装置还包括:
对账处理模块,被配置为每隔预定时长对所述库存数据进行对账处理,并基于对账结果对所述库存数据进行更正。
在本发明的一个实施例中,所述库存数据由Key-Value存储系统存储,在所述库存数据改变时,与所述库存数据对应的库存版本号随之改变。
根据本发明实施例的一个方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现该指令被处理器执行时实现上述库存数据的处理方法的步骤。
根据本发明实施例的一个方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现上述库存数据的处理方法的步骤。
在本发明的一些实施例所提供的技术方案中,通过在接收库存分发任务后记录库存版本号,以在更新库存数据时,若已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新,使得能够在高并发状态下保证库存数据更新的有序性及准确性,避免了高并发状态下容易出现库存数据更新紊乱的问题。而通过在更新库存数据成功后,再执行库存分发任务,并修改库存版本号,使得在保证库存数据更新准确的前提下,执行库存分发任务,既保证了库存分发任务的有序执行,而且也能够确保及时执行库存分发任务。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明提供的一种计算设备的连接框图;
图2是本发明一实施例提供的一种库存数据的处理方法的流程图;
图3是本发明一实施例提供的一种库存数据的处理方法的流程图;
图4是本发明一实施例提供的一种库存数据的处理方法的流程图;
图5是本发明一实施例提供的一种库存数据的处理方法的流程图;
图6是本发明一实施例提供的一种库存数据的处理方法的流程图;
图7是本发明一实施例提供的一种库存数据的处理装置的框图;
图8是本发明一实施例提供的一种库存数据的处理装置的框图;
图9是本发明一实施例提供的一种库存数据的处理装置的框图;
图10是本发明一实施例提供的一种库存数据的处理装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本发明的说明书中,提供了一种库存数据的处理方法及装置,在下面的实施例中逐一进行详细说明。
在一种库存数据的处理方法中,主要包括如下过程:接收派发任务;查询库存并判断库存知否充足;如库存充足,则更新库存;记录派发任务并执行派发任务。由于在活动过程中,可能出现库存物品超发的状况,因此会在每次派发任务后对库存进行重新处理和更新,然后对库存数据进行锁定,然而在高并发状态下,这种库存处理方式会导致管理系统的性能很低,无法支持库存物品的快速派发,导致处理库存分发任务的性能低下,不能满足需要,且不能对活动过程中的库存物品超发状况进行及时发现和快速处理。
基于上述问题,本发明实施例中提出了如下的优化方案:
图1示出了根据本发明一实施例的实现库存数据的处理方法的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110、处理器120及存储在存储器110上并可在处理器120上运行的计算机指令。处理器120用于根据计算设备100接收到的用户指令及存储在存储器110上的计算机指令进行库存数据的处理。存储器110和处理器120通过总线130连接。
计算设备100还可以包括接入设备140,接入设备140包括接入网口,计算设备100通过网络接口与一个或多个网络150进行通信。网络接口可以包括有线无线的任何类型的网络接口中的一个或多个。存储器110可以通过网络150与数据库160进行连接,从而从数据库160调取已存储的库存数据,并将处理库存数据中产生的新的库存数据与库存版本号存储到数据库160中。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
其中,处理器120可以执行图2所示方法中的步骤。图2示出了根据本发明一实施例的一种库存数据的处理方法的示意性流程图,包括步骤210至步骤240:
步骤210:接收库存分发任务。
在本发明的一个实施例中,比如在用户与互联网进行交互的活动中,为了吸引用户参与,经常会设置派奖、发红包等活动内容,由于设置的奖品或红包的数量有限,通常会设置用于储存奖品或红包的虚拟仓库并记录库存的奖品或红包的数量,库存数据为虚拟仓库中存储的奖品或红包等物品的数量,也就是被记录的库存奖品或红包的数量。在线互动活动,通常会设置有对应的活动规则,当用户的积分或活动值达到规则要求时,系统会向库存管理系统发送库存分发任务,库存管理系统接收到库存分发任务后,会对库存分发任务进行记录,库存分发任务包括要分发的库存物品数量。
步骤220:查询当前库存数据并记录库存版本号。
在本发明的一个实施例中,由于在线派奖、发红包等库存分发活动通常参与度较高,库存数量会不断更新,因此在每次库存分发活动前,需要查询当前库存数据并记录库存版本号,以基于记录的库存版本号来实现库存数据更新的有序性及准确性。可选地,库存数据可以由Key-Value存储系统存储,并且当库存数据改变时,与库存数据对应的库存版本号随之改变,进而可以通过判断库存版本号来确定库存数据是否有更新。
步骤230:在更新库存数据时,若已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新。
在本发明提供的一种或多种实施例中,在执行一个库存分发任务之前,库存数据可能会由于执行了其它库存分发任务或者库存超发等系统异常状况被修改,而在库存数据改变时,与所述库存数据对应的库存版本号随之改变,进而会出现已记录的库存版本号与当前库存版本号不一致的情况,在这种情况下,如果库存数据较小则可能出现库存不足,无法正常更新数据的问题,因此在更新库存数据之前需要判断已记录的库存版本号与当前库存版本号是否一致,这样可以对库存超发现象进行及时查询和反馈,也能够保证库存分发任务的顺利进行。
在本发明的一个实施例中,若已记录的库存版本号与当前库存版本号一致,则说明库存数据没有被更改,此时可以对库存数据进行更新,用已记录的库存版本号中的库存数据减去库存分发任务中包含的要分发的库存物品数量即完成对库存数据的更新。
步骤240:若更新所述库存数据成功,则执行库存分发任务,并修改所述库存版本号。
在本发明提供的一种或多种实施例中,库存分发任务可以包括向哪些用户派发库存物品、向每个用户派发的库存物品数量等内容。更新库存数据成功后,将执行库存分发任务,向用户派发相应的库存物品,库存数据更改,库存版本号也将被修改。
本发明实施例还提供了一种库存数据的处理方法,如图3所示,包括步骤310至步骤350:
步骤310:接收库存分发任务。
步骤320:查询当前库存数据并记录库存版本号。
步骤330:若已记录的库存版本号与当前库存版本号不一致,则重新查询库存数据并记录库存版本号,以便根据重新记录的库存版本号确定是否可以更新库存数据。
在本发明的一个实施例中,若已记录的库存版本号与当前库存版本号不一致,则说明在记录库存版本号之后存在库存物品超发等系统异常状况或执行了其它库存分发任务而使库存数据发生了更改。库存数据更改,库存版本号随之改变,造成当前库存版本号与已记录的库存版本号不一致,此时需对库存数据进行重新查询,同时记录库存版本号,以便根据重新记录的库存版本号确定是否可以更新库存数据。
步骤340:在更新库存数据时,若已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新。
在本发明的一个实施例中,已记录的库存版本号为步骤320中记录的库存版本号或者是步骤330中重新查询并记录的库存版本号,若在更新库存数据时,重新查询并记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新。更新过程包括用当前库存数据减去库存分发任务中包含的要分发的库存物品数量得到新的库存数据。
步骤350:若更新所述库存数据成功,则执行库存分发任务,并修改所述库存版本号。
本发明还提供一种库存数据的处理方法的实施例,如图4所示,包括步骤410至步骤450:
步骤410:接收库存分发任务。
步骤420:查询当前库存数据并记录库存版本号。
步骤430:根据查询的库存数据判断库存是否充足。
在本发明提供的一种或多种实施例中,根据查询的库存数据判断库存是否充足的过程可以是:若库存数据大于库存分发任务中包含的要分发的库存物品数量,则判定为库存充足,若库存数据小于库存分发任务中包含的要分发的库存物品数量,则判定为库存不充足。若库存充足则可以记录接收到的库存分发任务,以便记录库存分发任务的执行情况。
步骤440:若确定库存充足,且更新库存数据时已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新。
步骤450:若更新所述库存数据成功,则执行库存分发任务,并修改所述库存版本号。
本发明一实施例还提供一种库存数据的处理方法,如图5所示,包括步骤510至步骤580:
步骤510:接收库存分发任务。
步骤520:查询当前库存数据并记录库存版本号。
步骤530:根据查询的库存数据判断库存是否充足。
步骤540:若确定库存充足,且更新库存数据时已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新。
步骤550:若更新所述库存数据成功,则执行库存分发任务,并修改所述库存版本号。
步骤560:记录库存状态,所述库存状态包括更新后的库存数据和修改后的库存版本号。
步骤570:若接收到对所述库存数据的回滚操作,则根据记录的所述库存状态将所述库存数据回滚至指定的库存状态。
在本发明提供的一种或多种实施例中,通过记录库存状态,所述库存状态包括更新后的库存数据和修改后的库存版本号,使得在后续环节异常报错时,可以根据记录的库存状态进行回滚库存处理,即查询以往库存数据,及时发现错误点,并对错误点进行修改,保证库存数据的准确性。
步骤580:每隔预定时长对所述库存数据进行对账处理,并基于对账结果对所述库存数据进行更正。
在本说明书提供的一种或多种实施例中,每隔预定时长对库存数据进行对账处理,能够对每日的库存分发任务完成情况进行总结,对出现的问题进行及时处理,保证活动的顺利进行;基于对账结果对库存数据进行更新,能够对以后的活动进行状况进行预计和规划,避免不可预料的状况的出现。
本发明一实施例还提供一种库存数据的处理方法,如图6所示,包括步骤610至步骤690:
步骤610:接收库存分发任务。
步骤620:查询当前库存数据并记录库存版本号。
步骤630:根据查询的库存数据判断库存是否充足。
步骤640:若确定库存充足,且更新库存数据时已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新。
步骤650:若更新所述库存数据成功,则执行库存分发任务,并修改所述库存版本号。
步骤660:判断库存分发任务是否执行成功。
在本发明提供的一种或多种实施例中,库存分发任务中可以包括库存用品接收用户的地址、要分发的库存物品数量、要分发的库存物品种类等信息。执行库存分发任务会得到关于执行结果的反馈信息,根据反馈信息判断库存分发任务是否成功。若判断结果为执行库存分发任务成功,则执行步骤670,若判断结果为执行库存分发任务不成功,则执行步骤680。
步骤670:若所述库存分发任务执行成功,则将所述库存分发任务的状态修改为已完成。
在本发明提供的一种或多种实施例中,通过对库存分发任务的完成状况进行记录,使得在后续出现报错时,能够查询库存分发任务的状态,及时发现问题,从而对出现的问题进行快速处理。
步骤680:若所述库存分发任务执行不成功,则记录所述库存分发任务的失败次数,并再次执行所述库存任务分发。
在本发明提供的一种或多种实施例中,通过记录执行库存分发任务的失败次数,使得能够在多次执行不成功的情况下,发送告警信息,由人工处理该库存分发任务,避免出现一直重试而无法成功的问题。
步骤690:若所述执行库存分发任务的失败次数达到设定次数,则生成并发送告警信息。
在本发明提供的一种或多种实施例中,在库存接近用完时,高并发库存发放任务导致库存很快消耗完,此时尚存未完成的库存分发任务,多次分发均不会成功,若所述执行库存分发任务的失败次数达到设定次数,则生成并发送报警信息,由人工进行处理,保证库存分发活动顺利进行。
在上述各实施例中,库存数据更改则库存版本号随之改变,采用该种方式可以快速判断是否出现库存超发等状况导致的库存数据更新的问题,进而可以在高并发状态下保证库存数据更新的有序性及准确性,避免了高并发状态下容易出现库存数据更新紊乱的问题。而通过在更新库存数据成功后,再执行库存分发任务,并修改库存版本号,使得在保证库存数据更新准确的前提下,执行库存分发任务,既保证了库存分发任务的有序执行,而且也能够确保及时执行库存分发任务。
本发明一实施例还提供一种库存数据的处理装置,如图7所示,包括接收模块710、查询记录模块720、更新模块730、处理模块740。
接收模块710,被配置为接收并记录库存分发任务。
在用户与互联网进行交互的活动中,为了吸引用户参与,经常会设置派奖、发红包等活动内容,由于设置的奖品或红包的数量有限,会设置用于储存奖品或红包的虚拟仓库并记录库存的奖品或红包的数量,库存数据为虚拟仓库中存储的奖品或红包等物品的数量,也就是被记录的库存奖品或红包的数量。在线互动活动,通常会设置有对应的活动规则,当用户的积分或活动值达到规则要求时,系统会向接收模块710发送库存分发任务,接收模块710接收到库存分发任务后,会将库存分发任务发送给查询记录模块720,接收模块710接收到库存分发任务后会将库存分发任务传递给查询记录模块720。库存分发任务包括要分发的库存物品数量。
查询记录模块720,被配置为查询当前库存数据并记录库存版本号。
由于在线派奖、发红包等库存分发活动通常参与度较高,库存数量会不断更新,因此在每次库存分发活动前,查询记录模块720接收到库存分发任务后,会查询当前库存数据并记录库存版本号,所述库存数据由Key-Value存储系统存储,所述库存数据改变,与所述库存数据对应的库存版本号随之改变。查询记录模块720连接第一判断模块730,查询记录模块720将查询到的库存数据、已记录的库存版号和库存分发任务一起传递给更新模块730。
更新模块730,被配置为在更新库存数据时,若已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新。
在执行库存分发任务之前,若存在库存物品超发或在此之间执行了其它库存分发任务时,库存数据会被修改,所述库存数据改变,与所述库存数据对应的库存版本号随之改变,会出现已记录的库存版本号与当前库存版本号将会不一致的情况,在这种情况下,库存数据较小则可能出现库存不足,无法正常更新数据,因此在更新库存数据之前需要判断已记录的库存版本号与当前库存版本号知否一致,这样可以对库存超发现象进行及时查询和反馈,也能够保证库存分发任务的顺利进行。
若已记录的库存版本号与当前库存版本号一致,则库存数据没有被更改,不存在库存物品超发或其它系统异常状况,此时更新模块730会对库存数据进行更新。更新模块730用已记录的库存版本号中的库存数据减去库存分发任务中包含的要分发的库存物品数量即完成对库存数据的更新。更新模块730完后库存数据更新后,发送信息给处理模块740,处理模块740接收到的更新模块730发送的信息包括库存分发任务。
处理模块740,被配置为若更新所述库存数据成功,则执行库存分发任务,并修改所述库存版本号。
处理模块760根据接收到的信息执行库存分发任务,并修改所述库存版本号,库存分发任务还包括向哪些用户派发库存物品、向每个用户派发的库存物品数量等内容,更新库存数量成功后,处理模块760将执行库存分发任务,向用户派发相应的库存物品。库存数据更改,处理模块760将修改库存版本号,生成与库存数据相对应的库存版本号。
本发明一实施例还提供一种库存数据的处理装置,如图8所示,包括接收模块810、查询记录模块820、更新模块830、处理模块840。
接收模块810,被配置为接收库存分发任务。
查询记录模块820,被配置为查询当前库存数据并记录库存版本号。
更新模块830,还被配置为查询当前库存数据并记录库存版本号之后,若已记录的库存版本号与当前库存版本号不一致,发信息给所述查询记录模块820以便重新查询库存数据并记录库存版本号,从而根据重新记录的库存版本号确定是否可以更新库存数据;在更新库存数据时,若已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新。
若已记录的库存版本号与当前库存版本号不一致,则说明在记录库存版本号之后存在库存物品超发等系统异常状况或系统执行了其它库存分发任务而使库存数据改变,库存数据更改,库存版本号随之改变,造成当前库存版本号与已记录的库存版本号不一致,此时需对库存数据进行重新查询,然后根据查询结果对库存数据进行更新,更新过程包括用当前库存数据减去库存分发任务中包含的要分发的库存物品数量得到新的库存数据。
查询当前库存数据并记录库存版本号之后,在若已记录的库存版本号与当前库存版本号不一致,更新模块830发信息给所述查询记录模块820以便重新查询库存数据并记录库存版本号,查询记录模块820根据接收到的信息重新查询并记录库存版本号,然后将已记录的库存版本号冲刺呢发送给更新模块830,更新模块830在更新库存数据时,若接收到的已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新。
处理模块840,被配置为若更新所述库存数据成功,则执行库存分发任务,并修改所述库存版本号。
本发明一实施例还提供一种库存数据的处理装置,如图9所示,包括接收模块910、查询记录模块920、第一判断模块930、更新模块940、处理模块950、记录模块960、回滚模块970、对账处理模块980。
接收模块910,被配置为接收库存分发任务。
查询记录模块920,被配置为查询当前库存数据并记录库存版本号。
查询记录模块920查询当前库存数据并记录库存版本号后,将所述库存数据与库存分发任务一起发送给第一判断模块930。
第一判断模块930,被配置为根据查询的库存数据判断库存是否充足。
第一判断模块930接收查询记录模块920发送的库存数据与库存分发任务判断库存是否充足。库存分发任务包括要分发的库存物品数量,若库存数据大于库存分发任务中包含的要分发的库存物品数量,则第一判断模块930判定为库存充足,第一判断模块930将发信息给更新模块940;若库存数据小于库存分发任务中包含的要分发的库存物品数量,则第一判断模块930判定为库存不充足,若库存充足则可以记录接收到的库存分发任务,以便记录库存分发任务的执行情况。
更新模块940,还被配置为若确定库存充足,且更新库存数据时已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新。
更新模块940接收第一判断模块930发送的信息,所述信息中包括库存分发任务、已记录的库存版本号等。若已记录的库存版本号与更新数据时的当前库存版本号一致,则更新模块940对所述库存数据进行更新。更新库存数据成功后,更新模块940将发信息给处理模块950。
处理模块950,被配置为若更新所述库存数据成功,则执行库存分发任务,并修改所述库存版本号。
处理模块950根据接收到的更新模块940发送的信息,执行库存分发任务,并修改所述库存版本号。处理模块950修改库存版本号成功后,将发信息给记录模块960。
记录模块960,被配置为记录库存状态,所述库存状态包括更新后的库存数据和修改后的库存版本号。
记录模块960接收到的处理模块950发送的信息中包含更新后的库存数据和修改后的库存版本号,记录模块960将接收到的信息作为库存状态进行记录,以便该装置出现异常时,对库存记录进行回滚,及时发现并解决异常状况。
回滚模块970,被配置为若接收到对所述库存数据的回滚操作,则根据记录的所述库存状态将所述库存数据回滚至指定的库存状态。
后续环节异常报错时,回滚模块970将回滚库存,即查询以往库存状态,及时发现错误点,并对错误点进行修改,保证活动顺利进行。
对账处理模块980,被配置为每隔预定时长对所述库存数据进行对账处理,并基于对账结果对所述库存数据进行更正。
每隔预定时长对账处理模块980对库存数据进行对账处理,对每日的库存分发任务完成情况进行总结,对出现的问题进行及时处理,保证活动的顺利进行;基于对账结果对库存数据进行更新,能够对以后的活动进行状况进行预计和规划,避免不可预料的状况的出现。
本发明一实施例还提供一种库存数据的处理装置,如图10所示,包括接收模块1010、查询记录模块1020、第一判断模块1030、更新模块1040、处理模块1050、第二判断模块1060、修改模块1070、重试模块980、告警模块1090。
接收模块1010,被配置为接收库存分发任务。
查询记录模块1020,被配置为查询当前库存数据并记录库存版本号。
第一判断模块1030,被配置为根据查询的库存数据判断库存是否充足。
更新模块1040,被配置为若确定库存充足,且更新库存数据时已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新。
处理模块1050,被配置为若更新所述库存数据成功,则执行库存分发任务,并修改所述库存版本号。
第二判断模块1060,被配置为判断库存分发任务是否执行成功。
库存分发任务中包括库存用品接收用户的地址、要分发的库存物品数量、要分发的库存物品种类等信息。处理模块1050执行库存分发任务后,会得到关于执行结果的反馈信息,并将反馈信息发送给第二判断模块1060,第二判断模块1060根据反馈信息判断库存分发任务是否成功。若第二判断模块1060判断结果为执行库存分发任务成功,则发信息给修改模块1070,若第二判断模块1060判断结果为执行库存分发任务不成功,则发信息给重试模块1080。
修改模块1070,被配置为若所述库存分发任务执行成功,则将所述库存分发任务的状态修改为已完成。
修改模块1070对库存分发任务的完成状况进行记录,使得在后续出现报错时,能够查询库存分发任务的状态,及时发现问题,从而对出现的问题进行快速处理。
重试模块1080,被配置为若所述库存分发任务执行不成功,则记录所述库存分发任务的失败次数,并再次执行所述库存任务分发。
重试模块1080根据接收的第二判断模块1060发送的信息,再次执行库存分发任务,并将接收到的执行库存分发任务的反馈信息发送给第二判断模块1060,同时根据接收到的第二判断模块1060发送的信息确定并记录失败次数。重试模块1080记录所述执行所述库存分发任务的失败次数,以便于在多次执行不成功的情况下,发送告警信息,由人工处理该库存分发任务,避免出现一直重试而无法成功的问题。当重试模块1080记录的失败次数达到装置的设定次数时,重试模块1080将发信息给告警模块。
告警模块1090,被配置为若所述执行库存分发任务的失败次数达到设定次数,则生成并发送告警信息。
在库存接近用完时,高并发库存发放任务导致库存很快消耗完,此时尚存未完成的库存分发任务,多次分发均不会成功,若所述执行库存分发任务的失败次数达到设定次数,告警模块1090会接到重试模块1080发送的信息,告警模块1090会根据接收到的重试模块1080发送的信息生成并发送报警信息,由人工进行处理,保证库存分发活动顺利进行。
在上述各装置中,库存数据更改则库存版本号随之改变,采用该种方式可以快速判断是否出现库存超发等状况导致的库存数据更新的问题,进而可以在高并发状态下保证库存数据更新的有序性及准确性,避免了高并发状态下容易出现库存数据更新紊乱的问题。而通过在更新库存数据成功后,再执行库存分发任务,并修改库存版本号,使得在保证库存数据更新准确的前提下,执行库存分发任务,既保证了库存分发任务的有序执行,而且也能够确保及时执行库存分发任务。
本发明一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述一种库存数据的处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的库存数据的处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述一种库存数据的处理方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、运动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种库存数据的处理方法,其特征在于,包括:
接收库存分发任务;
查询当前库存数据并记录库存版本号;
在更新库存数据时,若已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新;
若更新所述库存数据成功,则执行库存分发任务,并修改所述库存版本号。
2.根据权利要求1所述的库存数据的处理方法,其特征在于,查询当前库存数据并记录库存版本号之后还包括:
若已记录的库存版本号与当前库存版本号不一致,则重新查询库存数据并记录库存版本号,以便根据重新记录的库存版本号确定是否可以更新库存数据。
3.根据权利要求1所述的库存数据的处理方法,其特征在于,所述更新库存数据成功之后还包括:
记录库存状态,所述库存状态包括更新后的库存数据和修改后的库存版本号。
4.根据权利要求3所述的库存数据的处理方法,其特征在于,还包括:
若接收到对所述库存数据的回滚操作,则根据记录的所述库存状态将所述库存数据回滚至指定的库存状态。
5.根据权利要求1所述的库存数据的处理方法,其特征在于,在对所述库存数据进行更新之前,还包括:
根据查询的库存数据判断库存是否充足;
若确定库存充足,且更新库存数据时已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新。
6.根据权利要求1所述的库存数据的处理方法,其特征在于,在执行库存分发任务之后,所述方法还包括:
判断库存分发任务是否执行成功;
若所述库存分发任务执行成功,则将所述库存分发任务的状态修改为已完成。
7.根据权利要求6所述的库存数据的处理方法,其特征在于,判断库存分发任务是否成功之后还包括:
若所述库存分发任务执行不成功,则记录所述库存分发任务的失败次数,并再次执行所述库存任务分发;
若所述执行库存分发任务的失败次数达到设定次数,则生成并发送告警信息。
8.根据权利要求1-7任一项所述的库存数据的处理方法,其特征在于,还包括:
每隔预定时长对所述库存数据进行对账处理,并基于对账结果对所述库存数据进行更正。
9.根据权利要求1-7任一项所述的库存数据的处理方法,其特征在于,所述库存数据由Key-Value存储系统存储,在所述库存数据改变时,与所述库存数据对应的库存版本号随之改变。
10.一种库存数据的处理装置,其特征在于,包括:
接收模块,被配置为接收库存分发任务;
查询记录模块,被配置为查询当前库存数据并记录库存版本号;
更新模块,被配置为在更新库存数据时,若已记录的库存版本号与当前库存版本号一致,则对所述库存数据进行更新;
处理模块,被配置为若更新所述库存数据成功,则执行库存分发任务,并修改所述库存版本号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910499623.0A CN111177110A (zh) | 2019-06-11 | 2019-06-11 | 库存数据的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910499623.0A CN111177110A (zh) | 2019-06-11 | 2019-06-11 | 库存数据的处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111177110A true CN111177110A (zh) | 2020-05-19 |
Family
ID=70622317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910499623.0A Pending CN111177110A (zh) | 2019-06-11 | 2019-06-11 | 库存数据的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177110A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881149A (zh) * | 2020-07-20 | 2020-11-03 | 武汉中海庭数据技术有限公司 | 一种基于Java的大规模并发解决方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699712A (zh) * | 2013-12-09 | 2015-06-10 | 阿里巴巴集团控股有限公司 | 对数据库中的库存记录信息进行更新的方法及装置 |
CN108829413A (zh) * | 2018-05-07 | 2018-11-16 | 北京达佳互联信息技术有限公司 | 数据更新方法、装置及计算机可读存储介质、服务器 |
-
2019
- 2019-06-11 CN CN201910499623.0A patent/CN111177110A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699712A (zh) * | 2013-12-09 | 2015-06-10 | 阿里巴巴集团控股有限公司 | 对数据库中的库存记录信息进行更新的方法及装置 |
CN108829413A (zh) * | 2018-05-07 | 2018-11-16 | 北京达佳互联信息技术有限公司 | 数据更新方法、装置及计算机可读存储介质、服务器 |
Non-Patent Citations (1)
Title |
---|
陈飞达: "分布式库存信息系统方案研究", 信息通信, pages 1 - 5 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881149A (zh) * | 2020-07-20 | 2020-11-03 | 武汉中海庭数据技术有限公司 | 一种基于Java的大规模并发解决方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8725598B2 (en) | Stock flow management system and method | |
CN110866709B (zh) | 合并订单的方法和装置 | |
CN112001681B (zh) | 一种仓储管理方法、装置、平台和计算机可读存储介质 | |
CN111507673B (zh) | 对商品库存进行管理的方法和装置 | |
CN112801579A (zh) | 配送任务异常监控方法、装置、计算机设备以及存储介质 | |
CN111985862A (zh) | 定位库存物品的方法和装置 | |
CN110363476A (zh) | 货物入仓分配处理方法及装置 | |
CN105243001B (zh) | 业务对象的异常告警方法和装置 | |
CN110807596A (zh) | 一种跨境电商代销仓库存管理系统及方法 | |
CN107844878A (zh) | 订单分配方法及装置 | |
CN108428075A (zh) | 一种库存信息更新方法和装置 | |
CN111177110A (zh) | 库存数据的处理方法及装置 | |
CN114707771A (zh) | 基于大数据的医药供应链管理方法及平台 | |
CN112785228A (zh) | 订单价格调整方法、装置及存储介质 | |
CN113159467B (zh) | 一种派车单处理方法和装置 | |
CN106530084B (zh) | 一种信息处理方法及服务器 | |
CN112418754A (zh) | 物流管理订单分配计算方法 | |
CN107798570A (zh) | 一种空白发票的回收处理方法、存储介质和服务器 | |
US20070162423A1 (en) | Aware location system and method | |
CN114418490A (zh) | 一种pWMS电力仓储管理系统及管理方法 | |
CN114169831A (zh) | 一种基于网络超市系统的物流配送方法 | |
CN110795445B (zh) | 并发任务的处理方法、装置、服务器设备及介质 | |
CN113837685A (zh) | 出库拦截方法、仓储物流系统、订单系统及可读存储介质 | |
CN113065825A (zh) | 模型生成、包装匹配方法、装置、电子设备及存储介质 | |
JP3200299B2 (ja) | 販売計画支援システム |
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 |