CN105550366A - 库存信息处理方法和装置 - Google Patents
库存信息处理方法和装置 Download PDFInfo
- Publication number
- CN105550366A CN105550366A CN201610037779.3A CN201610037779A CN105550366A CN 105550366 A CN105550366 A CN 105550366A CN 201610037779 A CN201610037779 A CN 201610037779A CN 105550366 A CN105550366 A CN 105550366A
- Authority
- CN
- China
- Prior art keywords
- database
- article
- stockpile number
- recorded
- operation requests
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title abstract description 3
- 238000003672 processing method Methods 0.000 title abstract 2
- 238000000034 method Methods 0.000 claims abstract description 46
- 230000001143 conditioned effect Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000006854 communication Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了库存信息处理方法和装置。所述方法的一具体实施方式包括:接收对物品的库存数量进行扣减的操作请求;若所述第一数据库未出现故障,则向所述第一数据库发送所述操作请求,以使所述第一数据库对所记录的库存数量进行更新;若所述第一数据库出现故障,则向所述第二数据库发送所述操作请求,以使所述第二数据库对所记录的库存数量进行更新。该实施方式能防止数据库的单点故障造成系统可用性降低。
Description
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及库存信息处理方法和装置。
背景技术
在互联网行业,后台系统经常需要面对高并发压力,用于存储库存信息的数据库系统可能会在短时间内接收到数以万记甚至更多的请求。
然而,现有的库存信息管理系统在面对高并发压力时,难以在保持较高处理效率的同时解决单点故障问题。
发明内容
本申请的目的在于提出一种改进的库存信息处理方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种库存信息处理方法,在至少两个数据库中记录同一物品的库存信息且所述物品在所述至少两个数据库中记录的库存数量之和等于所述物品的总库存数量,所述至少两个数据库包括第一数据库和第二数据库,所述方法包括:接收对所述物品的库存数量进行扣减的操作请求;若所述第一数据库未出现故障,则向所述第一数据库发送所述操作请求,以使所述第一数据库对所记录的库存数量进行更新;若所述第一数据库出现故障,则向所述第二数据库发送所述操作请求,以使所述第二数据库对所记录的库存数量进行更新。
在一些实施例中,所述第一数据库的读写速度高于所述第二数据库的读写速度。
在一些实施例中,所述第一数据库为内存数据库,所述第二数据库为关系数据库。
在一些实施例中,所述物品分配在所述第一数据库的库存数量多于所述物品分配在所述第二数据库的库存数量。
在一些实施例中,所述方法还包括:根据预先设置的分配策略,实时调整所述物品分配在所述第一数据库的库存数量与分配在所述第二数据库的库存数量。
在一些实施例中,所述根据预先设置的分配策略,实时调整所述物品分配在所述第一数据库的库存数量与分配在所述第二数据库的库存数量,包括:若所述第一数据库记录的所述物品的库存数量满足预设条件,则将所述第二数据库中所记录的所述物品的库存数量扣减预设数值并在所述第一数据库中所记录的所述物品的库存数量增加所述预设数值;其中,所述预设条件包括以下至少一项:所述数量小于预设数量阈值、所述数量与所述物品的总库存数量的比值小于预设比例阈值。
在一些实施例中,所述第一数据库还记录有当前所接收的针对所述物品的操作请求的请求数量以及流量限制用阈值;以及所述向所述第一数据库发送所述操作请求,以使所述第一数据库对所记录的库存数量进行更新,包括:向所述第一数据库发送所述操作请求;比较所述请求数量与所述流量限制用阈值;响应于所述请求数量小于或等于所述流量限制用阈值,对所述第一数据库所记录的库存数量进行扣减。
在一些实施例中,所述操作请求是根据从客户端接收的对所述物品的购买请求生成的;以及在所述响应于所述请求数量小于或等于所述流量限制用阈值,对所述第一数据库对所记录的库存数量进行扣减之后,所述方法还包括:向所述客户端反馈用于指示所述物品的购买成功的信息。
在一些实施例中,所述第一数据库由多个存储设备构成,所述第一数据库将所记录的物品的库存信息分布在所述多个存储设备存储,且所述多个存储设备中的各个存储设备对所存储的库存信息冗余备份。
第二方面,本申请提供了一种库存信息处理装置,在至少两个数据库中记录同一物品的库存信息且所述物品在所述至少两个数据库中记录的库存数量之和等于所述物品的总库存数量,所述至少两个数据库包括第一数据库和第二数据库,所述装置包括:接收单元,用于接收对所述物品的库存数量进行扣减的操作请求;第一更新单元,用于若所述第一数据库未出现故障,则向所述第一数据库发送所述操作请求,以使所述第一数据库对所记录的库存数量进行更新;第二更新单元,用于若所述第一数据库出现故障,则向所述第二数据库发送所述操作请求,以使所述第二数据库对所记录的库存数量进行更新。
在一些实施例中,所述第一数据库的读写速度高于所述第二数据库的读写速度。
在一些实施例中,所述第一数据库为内存数据库,所述第二数据库为关系数据库。
在一些实施例中,所述物品分配在所述第一数据库的库存数量多于所述物品分配在所述第二数据库的库存数量。
在一些实施例中,所述装置还包括:库存调整单元,用于根据预先设置的分配策略,实时调整所述物品分配在所述第一数据库的库存数量与分配在所述第二数据库的库存数量。
在一些实施例中,所述库存调整单元进一步用于若所述第一数据库记录的所述物品的库存数量满足预设条件,则将所述第二数据库中所记录的所述物品的库存数量扣减预设数值并在所述第一数据库中所记录的所述物品的库存数量增加所述预设数值;其中,所述预设条件包括以下至少一项:所述数量小于预设数量阈值、所述数量与所述物品的总库存数量的比值小于预设比例阈值。
在一些实施例中,所述第一更新单元,包括:发送子单元,用于向所述第一数据库发送所述操作请求;比较子单元,用于比较所述请求数量与所述流量限制用阈值;扣减子单元,用于响应于所述请求数量小于或等于所述流量限制用阈值,对所述第一数据库所记录的库存数量进行扣减。
在一些实施例中,所述操作请求是根据从客户端接收的对所述物品的购买请求生成的;以及所述装置还包括:反馈单元,用于向所述客户端反馈用于指示所述物品的购买成功的信息。
在一些实施例中,所述第一数据库由多个存储设备构成,所述第一数据库将所记录的物品的库存信息分布在所述多个存储设备存储,且所述多个存储设备中的各个存储设备对所存储的库存信息冗余备份。
本申请提供的库存信息处理方法和装置,在至少两个数据库中均存储同一物品的库存信息并使库存数量之和等于该物品的总库存量,并使用第一数据库优先处理库存扣减操作,在第一数据库故障时才使用另一数据库进行库存扣减操作,可以防止数据库单点故障造成系统可用性降低。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的库存信息处理方法的一个实施例的流程图;
图3是根据本申请的库存信息处理方法的又一个实施例的流程图;
图4是根据本申请的库存信息处理装置的一个实施例的结构示意图;
图5是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的库存信息处理方法或库存信息处理装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括库存控制服务器101以及数据库服务器102、103。库存控制服务器101、数据库服务器102、数据库服务器103之间可以网络进行通信,以发送和接收信息。数据库服务器102、103中可以对各种物品的库存信息进行存储。库存控制服务器101可以从其他服务器(未示出)或者终端设备(未示出)接收对物品的库存数量进行扣减的操作请求,并可以将相应的操作请求发送到数据库服务器102或数据库服务器103中,以使数据库服务器102或数据库服务器103对所存储的库存数量进行更新。数据库服务器102、103之间也可以互相发送信息,以使接收信息的数据库服务器进行相应的信息处理。
本申请实施例所提供的库存信息处理方法一般由库存控制服务器101执行。相应地,库存信息处理装置一般设置于库存控制服务器101中。库存信息处理方法或库存信息处理装置所涉及的一些功能也可以由第一数据库或第二数据库执行。需要说明的是,库存控制服务器101和数据库服务器102也可以是同一设备,即相应的方法由数据库服务器102执行,相应的库存信息处理装置也可以设置于数据库服务器102中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的服务器、网络和数据库服务器。
继续参考图2,示出了根据本申请的库存信息处理方法的一个实施例的流程200。其中,同一物品的库存信息可以记录在至少两个数据库中。该至少两个数据库可以分别部署在各个服务器上,同一个数据库可以分布在多个服务器上,某些情况下多个数据库也可以部署在同一个服务器上。该至少两个数据库服务器中各个服务器所记录的该商品的库存数量之和量等于该商品的总库存数量。例如,该至少两个数据库服务器中各个服务器所记录的该商品的库存数量分别为X1、X2…...Xn,该物品的总库存数量之和为X,则X=X1+X2+……+Xn。该至少两个数据库可以包括第一数据库和第二数据库。
所述的库存信息处理方法,包括以下步骤:
步骤201,接收对物品的库存数量进行扣减的操作请求。
在本实施例中,库存信息处理方法运行于其上的电子设备(例如图1所示的库存控制服务器101)可以通过各种方式接收有线连接方式或者无线连接方式接收对物品的库存数量进行扣减的操作请求。例如,电子设备可以从其他服务器或终端设备处接收对上述物品的库存数量进行扣减的操作请求。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultrawideband)连接、以及其他现在已知或将来开发的无线连接方式。
通常,电子设备可以是通过以下方式接收对物品的库存数量进行扣减的操作请求:首先,用户可以利用其进行网上购物的终端设备向应用服务器发送对上述物品的订单请求;应用服务器可以在接收到订单请求时向库存控制服务器发送对该物品的库存数量进行扣减的操作请求。
步骤202,若第一数据库未出现故障,则向第一数据库发送操作请求,以使第一数据库对所记录的库存数量进行更新。
在本实施例中,基于步骤201中接收到的操作请求,电子设备可以首先判断第一数据库是否出现故障。当第一数据库未出现故障时,电子设备可以首先将该操作请求发送至第一数据库,使得第一数据库对所记录的库存数量进行更新。第一数据库可以在接收到该操作请求后,即将其所记录的库存数量扣减掉该操作请求中所指示的数量。
可选的,在第一数据库成功扣减相应的数量后,可以通过消息队列异步发送一个通知消息。之后,电子设备在接收到该通知消息后可以对第二数据库中存储的销量信息进行更新。上述通知信息也可以直接发送至第二数据库,使得第二数据库直接根据该通知信息进行销量信息更新。
步骤203,若第一数据库出现故障,则向第二数据库发送操作请求,以使第二数据库对所记录的库存数量进行更新。
在本实施例中,当第一数据库出现故障,电子设备可以将上述操作请求发送到第二数据库中。与第一数据库对操作请求的处理类似,第二数据库可以在接收到该操作请求后,即将其所记录的库存数量扣减掉该操作请求中所指示的数量。
在本实施例的一些可选实现方式中,上述第一数据库的读写速度高于所述第二数据库的读写速度。由于第一数据库的读写高于第二数据库的读写速度,使得在不发生故障的时间内,可以充分利用第一数据库的读写速度来提高系统的整体吞吐速度。同时,作为备份的第二数据库读写速度较低,其通常成本也较低,从而可以从整体上降低成本。因此,从系统整体而言,可以在保证较高性能的同时,也能尽可能降低成本。
在本实施例的一些可选实现方式中,上述第一数据库为内存数据库,第二数据库为关系数据库。内存数据库是将数据放在内存中直接操作的数据库,例如redis数据库。相对于传统的数据库,内存数据库的数据读写速度要高出几个数量级,能够极大地提高系统的性能。关系数据库是传统数据库,其是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。关系数据库的数据内容按照关系表的方式存储在硬盘上,在需要使用时将数据调入内存进行处理。关系数据库处理速度较慢,但成本较低。由于第二数据库在第一数据库故障时使用,使用频率较低,使用传统的关系数据库不会造成库存系统整体的性能明显下降,且能降低成本。
在本实施例的一些可选实现方式中,上述物品分配在第一数据库的库存数量多于物品分配在第二数据库的库存数量。由于第一数据库具有较高的性能,因此在第一数据库中记录较多的数量可以使得在第一数据库正常运行时可以处理的操作请求更多,可以提高系统整体的运行效率。
在本实施例的一些可选实现方式中,上述库存信息处理方法还包括:根据预先设置的分配策略,实时调整上述物品分配在第一数据库的库存数量与分配在第二数据库的库存数量。即,上述物品分配在第一数据库的库存数量与分配在第二数据库的库存数量是根据预先设置的分配策略实时调整的。因此,可以通过该分配策略对第一数据库中记录的该物品的库存数量和第二数据库中记录的该物品的库存数量进行实时控制。对库存数量进行实时控制,可以使得两者中所记录的库存数量满足一定的条件,例如两者中所记录的库存数量比例不变、第一数据库中记录的该物品的库存数量不变。
本申请的上述实施例提供的方法,在多个数据库中均存储同一物品的库存信息并使库存数量之和等于该物品的总库存量,并使用第一数据库优先处理库存扣减操作,在第一数据库故障时才使用另一数据库进行库存扣减操作,能防止第一数据库的单点故障造成系统可用性降低。
进一步参考图3,其示出了库存信息处理方法的又一个实施例的流程300。其中,在至少两个数据库中记录同一物品的库存信息且该物品在上述至少两个数据库中记录的库存数量之和等于该物品的总库存数量,上述至少两个数据库包括第一数据库和第二数据库。库存信息的具体记录方式以及第一数据库和第二数据库且第一数据库读写速度高于第二数据库读写速度,具体可参考图2实施例及相应实现方式中的描述,这里不再赘述。该库存信息处理方法的流程300,包括以下步骤:
步骤301,接收对物品的库存数量进行扣减的操作请求。
在本实施例中,步骤301可以参照图2对应实施例中步骤201的详细描述,这里不再赘述。
步骤302,若第一数据库未出现故障,则向第一数据库发送操作请求,以使第一数据库对所记录的库存数量进行更新。
在本实施例中,步骤302可以参照图2对应实施例中步骤202的详细描述,这里不再赘述。
步骤303,若第一数据库记录的该物品的库存数量满足预设条件,则将第二数据库中所记录的该物品的库存数量扣减预设数值并在第一数据库中所记录的该物品的库存数量增加该预设数值。
在本实施例中,首先可以判断第一数据库记录的该物品的库存数量是否满足预设条件,来判断该库存数量是否较低。其中,上述预设条件可以是以下条件中的至少一项:该数量小于预设数量阈值、该数量与该物品的总库存数量的比值小于预设比例阈值。第一项是通过第一数据库中物品库存数量的绝对值判断其是否较低,第二项是通过第一数据库中物品库存数量与该物品的总库存数量相比所得的相对值判断该数量是否较低。
之后,当满足上述预设条件,即第一数据库中该物品的库存数量较低时,可以将第二数据库中所记录的该物品的库存数量扣减预设数值并在第一数据库中所记录的该物品的库存数量增加该预设数值,即从第二数据库中调整一定的数量到第一数据库中,保证第一数据库中该商品的库存数量保持较多的水平。该调整的数量可以预先设置,也可以根据此次第一数据库中所扣减的数量确定。
需要说明的是,步骤303可以在步骤302之后执行,也可以在其他时间段执行,例如在步骤302之前执行。
可选的,当步骤303可以在步骤302之后执行时,第一数据库在执行扣减操作后若确定第一数据库中所记录的库存数量满足上述预设条件,则第一数据库可以异步发出一个请求调整库存信息的通知消息,以使电子设备确定上述预设条件已满足,从而执行步骤303。
可选的,电子设备可以在对各个数据库的库存数量进行实时监控,当监控到第一数据库记录的该物品的库存数量满足预设条件时,可以执行上述步骤303。在该实现方式中,电子设备可以一个全局的变量或模块对上述预设条件是否满足进行监控。
需要说明的是,电子设备还可以通过其他方式对第一数据库记录的数值是否满足预设条件进行判断。
步骤304,若第一数据库出现故障,则向第二数据库发送操作请求,以使第二数据库对所记录的库存数量进行更新。
在本实施例中,步骤304可以参照图2对应实施例中步骤203的详细描述,这里不再赘述。
在本实施例的一些可选实现方式中,第一数据库还记录有当前所接收的针对该物品的操作请求的请求数量以及流量限制用阈值;以及上述步骤302包括:向第一数据库发送操作请求;比较上述请求数量与流量限制用阈值;响应于请求数量小于或等于流量限制用阈值,对第一数据库对所记录的库存数量进行扣减。该实现方式中,第一数据库中对其所接收的对上述物品的操作请求的请求数量进行记录,该请求数量即为对该物品的库存信息进行操作的并发请求数。每当接收到一个请求后,该数量就会增加1;每当完成一个请求,该数量就会减1。同时,电子设备还设置流量限制用阈值,用于对第一数据库所接收的数量进行限流。在向第一数据库发送上述操作请求后,电子设备首先比较第一数据库所记录的请求数量与流量限制用阈值,以确定两者的大小关系。当前者小于等于后者时,该操作请求可通过限流检测,从而可以执行上述操作请求,对第一数据库所记录的库存数量进行扣减。可选的,上述限流用阈值所设定为略大于该商品的总库存数目,可以在总库存数目由于扣减而变化时该限流用阈值也可以实时更新。该实现方式可以在库存系统内部中的第一数据库对库存扣减操作进行限流,从而可以减小库存系统由于并发操作较多造成响应速度较慢或者系统崩溃。
基于上一实现方式,上述操作请求是根据从客户端接收的对该物品的购买请求生成的。通常,用户可以通过客户端向应用服务器发送对上述物品的购买请求,应用服务器基于该购买请求向库存系统发送对该物品的库存数量进行扣减的操作请求。同时,在对第一数据库所记录的库存数量进行扣减后,电子设备还可以向上述客户端反馈用于指示该物品的购买成功的信息。电子设备可以先将该指示该物品的购买成功的信息可以先发送至应用服务器,再通过应用服务器中转反馈至客户端;也可以向应用服务器发送对操作请求的拒绝信息后由应用服务器根据该拒绝信息生成指示该物品的购买成功的信息,再由应用服务器将该信息发送至客户端。用户可以通过客户端上显示的指示该物品的购买成功的信息,了解已经购买成功。若操作请求数量大于限流用阈值而导致该操作请求未通过限流检测时,电子设备也可以向客户端反馈用于指示该物品的购买失败的信息。通过该方式,可以快速向用户展示购买操作的结果。
在本实施例的一些可选实现方式中,第一数据库由多个存储设备构成,第一数据库将所记录的物品的库存信息分布在上述多个存储设备存储,且多个存储设备中的各个存储设备对所存储的库存信息冗余备份。在该实现方式,第一数据库中不同物品的库存信息可以分别存储在不同的存储设备中。以第一数据库为redis数据库为例,redis数据库中的所有物品的库存信息可以存储在多个redis服务器上,同时每个redis服务器可以采用主从热备部署。该方式中,对不同物品的库存数量进行扣减操作时,扣减操作分别可以在不同的存储设备上执行,从而实现了库存信息的分布式处理,可提高库存系统整体的并发数。上述多个存储设备中,各个存储设备中的数据都有冗余备份以供存储设备发生故障时能使用备份数据,进一步提高库存信息系统的可用性。需要说明的是,第二数据库也可以与第一数据库相同的方式对库存信息进行存储。
从图3中可以看出,与图2对应的实施例相比,本实施例中的库存信息处理方法的流程300在第一数据库所记录的物品的库存数量较小时,实时从第二数据库中调整一部分库存数量到第一数据库中,从而保证了第一数据库中物品的库存数量维持在较高的数值,从而可以持续在第一数据库中对该物品的库存数量进行扣减操作,使得库存扣减动作基本上都是发生在性能较高的第一数据库上的操作,提高了库存信息系统整体的执行效率。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种库存信息处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例所述的库存信息处理装置400包括:接收单元401,用于接收对物品的库存数量进行扣减的操作请求;第一更新单元402,用于若第一数据库未出现故障,则向第一数据库发送上述操作请求,以使第一数据库对所记录的库存数量进行更新;第二更新单元403,用于若第一数据库出现故障,则向第二数据库发送操作请求,以使第二数据库对所记录的库存数量进行更新。
在本实施例中,在至少两个数据库中记录同一物品的库存信息且该物品在上述至少两个数据库中记录的库存数量之和等于该物品的总库存数量,上述至少两个数据库包括第一数据库和第二数据库。此外,该库存信息处理装置400的接收单元401、第一更新单元402、第二更新单元403的具体处理可参考图2对应实施例中的步骤201、步骤202、步骤203。
在本实施例的一些可选实现方式中,上述第一数据库的读写速度高于所述第二数据库的读写速度。具体处理可参考图2对应实施例中相应的实现方式。
在本实施例的一些可选实现方式中,上述第一数据库为内存数据库,第二数据库为关系数据库。具体处理可参考图2对应实施例中相应的实现方式。
在本实施例的一些可选实现方式中,该物品分配在第一数据库的库存数量多于该物品分配在第二数据库的库存数量,具体处理可参考图2对应实施例相应的实现方式。
在本实施例的一些可选实现方式中,上述库存信息处理装置400还包括:库存调整单元(未示出),用于根据预先设置的分配策略,实时调整上述物品分配在第一数据库的库存数量与分配在第二数据库的库存数量,具体处理可参考图2对应实施例中相应的实现方式。
在本实施例的一些可选实现方式中,上述库存调整单元进一步用于若第一数据库记录的该物品的库存数量满足预设条件,则将第二数据库中所记录的该物品的库存数量扣减预设数值并在第一数据库中所记录的物品的库存数量增加该预设数值;其中,上述预设条件包括以下至少一项:该数量小于预设数量阈值、该数量与该物品的总库存数量的比值小于预设比例阈值。具体处理可参考图3对应实施例中的步骤303。
在本实施例的一些可选实现方式中,上述第一更新单元402,包括:发送子单元(未示出),用于向第一数据库发送操作请求;比较子单元(未示出),用于比较请求数量与流量限制用阈值;扣减子单元,用于响应于请求数量小于或等于流量限制用阈值,对第一数据库所记录的库存数量进行扣减。具体处理可参考图3应实施例中相应的实现方式。
在本实施例的一些可选实现方式中,上述操作请求是根据从客户端接收的对该物品的购买请求生成的;以及库存信息处理装置还包括:反馈单元,用于向客户端发送用于指示该物品的购买成功的信息。具体处理可参考图3应实施例中相应的实现方式。
在本实施例的一些可选实现方式中,第一数据库由多个存储设备构成,第一数据库将所记录的物品的库存信息分布在上述多个存储设备存储,且多个存储设备中的各个存储设备对所存储的库存信息冗余备份。具体处理可参考图3应实施例中相应的实现方式。
下面参考图5,其示出了适于用来实现本申请实施例的库存控制服务器或数据库服务器的计算机系统500的结构示意图。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分506加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有系统500操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括硬盘等的存储部分506;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分507。通信部分507经由诸如因特网的网络执行通信处理。驱动器508也根据需要连接至I/O接口505。可拆卸介质509,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器508上,以便于从其上读出的计算机程序根据需要被安装入存储部分506。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分507从网络上被下载和安装,和/或从可拆卸介质509被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、第一更新单元、第二更新单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收对所述物品的库存数量进行扣减的操作请求的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备执行库存信息处理方法,其中,在至少两个数据库中记录同一物品的库存信息且所述物品在所述至少两个数据库中记录的库存数量之和等于所述物品的总库存数量,所述至少两个数据库包括第一数据库和第二数据库,所述库存信息处理方法包括:接收对物品的库存数量进行扣减的操作请求;若所述第一数据库未出现故障,则向所述第一数据库发送所述操作请求,以使所述第一数据库对所记录的库存数量进行更新;若所述第一数据库出现故障,则向所述第二数据库发送所述操作请求,以使所述第二数据库对所记录的库存数量进行更新。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (18)
1.一种库存信息处理方法,其特征在于,在至少两个数据库中记录同一物品的库存信息且所述物品在所述至少两个数据库中记录的库存数量之和等于所述物品的总库存数量,所述至少两个数据库包括第一数据库和第二数据库,所述方法包括:
接收对所述物品的库存数量进行扣减的操作请求;
若所述第一数据库未出现故障,则向所述第一数据库发送所述操作请求,以使所述第一数据库对所记录的库存数量进行更新;
若所述第一数据库出现故障,则向所述第二数据库发送所述操作请求,以使所述第二数据库对所记录的库存数量进行更新。
2.根据权利要求1所述的方法,其特征在于,所述第一数据库的读写速度高于所述第二数据库的读写速度。
3.根据权利要求2所述的方法,其特征在于,所述第一数据库为内存数据库,所述第二数据库为关系数据库。
4.根据权利要求2所述的方法,其特征在于,所述物品分配在所述第一数据库的库存数量多于所述物品分配在所述第二数据库的库存数量。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据预先设置的分配策略,实时调整所述物品分配在所述第一数据库的库存数量与分配在所述第二数据库的库存数量。
6.根据权利要求2所述的方法,其特征在于,所述根据预先设置的分配策略,实时调整所述物品分配在所述第一数据库的库存数量与分配在所述第二数据库的库存数量,包括:
若所述第一数据库记录的所述物品的库存数量满足预设条件,则将所述第二数据库中所记录的所述物品的库存数量扣减预设数值并在所述第一数据库中所记录的所述物品的库存数量增加所述预设数值;
其中,所述预设条件包括以下至少一项:所述数量小于预设数量阈值、所述数量与所述物品的总库存数量的比值小于预设比例阈值。
7.根据权利要求1-6之一所述的方法,其特征在于,所述第一数据库还记录有当前所接收的针对所述物品的操作请求的请求数量以及流量限制用阈值;以及
所述向所述第一数据库发送所述操作请求,以使所述第一数据库对所记录的库存数量进行更新,包括:
向所述第一数据库发送所述操作请求;
比较所述请求数量与所述流量限制用阈值;
响应于所述请求数量小于或等于所述流量限制用阈值,对所述第一数据库所记录的库存数量进行扣减。
8.根据权利要求7所述的方法,其特征在于,所述操作请求是根据从客户端接收的对所述物品的购买请求生成的;以及
在所述响应于所述请求数量小于或等于所述流量限制用阈值,对所述第一数据库对所记录的库存数量进行扣减之后,所述方法还包括:
向所述客户端反馈用于指示所述物品的购买成功的信息。
9.根据权利要求1-6之一所述的方法,其特征在于,所述第一数据库由多个存储设备构成,所述第一数据库将所记录的物品的库存信息分布在所述多个存储设备存储,且所述多个存储设备中的各个存储设备对所存储的库存信息冗余备份。
10.一种库存信息处理装置,其特征在于,在至少两个数据库中记录同一物品的库存信息且所述物品在所述至少两个数据库中记录的库存数量之和等于所述物品的总库存数量,所述至少两个数据库包括第一数据库和第二数据库,所述装置包括:
接收单元,用于接收对所述物品的库存数量进行扣减的操作请求;
第一更新单元,用于若所述第一数据库未出现故障,则向所述第一数据库发送所述操作请求,以使所述第一数据库对所记录的库存数量进行更新;
第二更新单元,用于若所述第一数据库出现故障,则向所述第二数据库发送所述操作请求,以使所述第二数据库对所记录的库存数量进行更新。
11.根据权利要求10所述的装置,其特征在于,所述第一数据库的读写速度高于所述第二数据库的读写速度。
12.根据权利要求11所述的装置,其特征在于,所述第一数据库为内存数据库,所述第二数据库为关系数据库。
13.根据权利要求11所述的装置,其特征在于,所述物品分配在所述第一数据库的库存数量多于所述物品分配在所述第二数据库的库存数量。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:库存调整单元,用于根据预先设置的分配策略,实时调整所述物品分配在所述第一数据库的库存数量与分配在所述第二数据库的库存数量。
15.根据权利要求14所述的装置,其特征在于,所述库存调整单元进一步用于若所述第一数据库记录的所述物品的库存数量满足预设条件,则将所述第二数据库中所记录的所述物品的库存数量扣减预设数值并在所述第一数据库中所记录的所述物品的库存数量增加所述预设数值;
其中,所述预设条件包括以下至少一项:所述数量小于预设数量阈值、所述数量与所述物品的总库存数量的比值小于预设比例阈值。
16.根据权利要求10-15之一所述的装置,其特征在于,所述第一更新单元,包括:
发送子单元,用于向所述第一数据库发送所述操作请求;
比较子单元,用于比较所述请求数量与所述流量限制用阈值;
扣减子单元,用于响应于所述请求数量小于或等于所述流量限制用阈值,对所述第一数据库所记录的库存数量进行扣减。
17.根据权利要求16所述的装置,其特征在于,所述操作请求是根据从客户端接收的对所述物品的购买请求生成的;以及
所述装置还包括:
反馈单元,用于向所述客户端反馈用于指示所述物品的购买成功的信息。
18.根据权利要求10-15之一所述的装置,其特征在于,所述第一数据库由多个存储设备构成,所述第一数据库将所记录的物品的库存信息分布在所述多个存储设备存储,且所述多个存储设备中的各个存储设备对所存储的库存信息冗余备份。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610037779.3A CN105550366B (zh) | 2016-01-20 | 2016-01-20 | 库存信息处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610037779.3A CN105550366B (zh) | 2016-01-20 | 2016-01-20 | 库存信息处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105550366A true CN105550366A (zh) | 2016-05-04 |
CN105550366B CN105550366B (zh) | 2019-10-18 |
Family
ID=55829555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610037779.3A Active CN105550366B (zh) | 2016-01-20 | 2016-01-20 | 库存信息处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105550366B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463593A (zh) * | 2016-12-13 | 2017-12-12 | 阿里巴巴集团控股有限公司 | 库存扣减方法及其设备 |
CN107767164A (zh) * | 2016-08-23 | 2018-03-06 | 腾讯科技(北京)有限公司 | 推送信息订单的信息处理方法、分配方法及装置 |
CN109284408A (zh) * | 2018-08-22 | 2019-01-29 | 北京奇虎科技有限公司 | 图床数据库系统、图床数据库运行方法及装置 |
CN109544072A (zh) * | 2018-11-21 | 2019-03-29 | 北京京东尚科信息技术有限公司 | 热点库存本地化扣减方法、系统、设备以及介质 |
CN109614388A (zh) * | 2018-11-14 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 一种预算扣减方法和装置 |
CN109670975A (zh) * | 2018-12-17 | 2019-04-23 | 泰康保险集团股份有限公司 | 计算机系统中生成单号的方法、介质及电子设备 |
CN109902982A (zh) * | 2017-12-08 | 2019-06-18 | 北京京东尚科信息技术有限公司 | 用于输出信息的方法和装置 |
CN111522834A (zh) * | 2020-07-06 | 2020-08-11 | 南京梦饷网络科技有限公司 | 用于信息处理的方法、电子设备和存储介质 |
CN112925851A (zh) * | 2021-02-26 | 2021-06-08 | 杭州网易再顾科技有限公司 | 一种单号处理方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050203903A1 (en) * | 2004-03-10 | 2005-09-15 | Rajan Rajeev B. | System and method for locking and isolation in a storage platform |
CN102346891A (zh) * | 2010-07-30 | 2012-02-08 | 阿里巴巴集团控股有限公司 | 一种网络交易方法及服务器 |
CN103544153A (zh) * | 2012-07-10 | 2014-01-29 | 阿里巴巴集团控股有限公司 | 一种基于数据库的数据更新方法和系统 |
-
2016
- 2016-01-20 CN CN201610037779.3A patent/CN105550366B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050203903A1 (en) * | 2004-03-10 | 2005-09-15 | Rajan Rajeev B. | System and method for locking and isolation in a storage platform |
CN102346891A (zh) * | 2010-07-30 | 2012-02-08 | 阿里巴巴集团控股有限公司 | 一种网络交易方法及服务器 |
CN103544153A (zh) * | 2012-07-10 | 2014-01-29 | 阿里巴巴集团控股有限公司 | 一种基于数据库的数据更新方法和系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107767164A (zh) * | 2016-08-23 | 2018-03-06 | 腾讯科技(北京)有限公司 | 推送信息订单的信息处理方法、分配方法及装置 |
CN107767164B (zh) * | 2016-08-23 | 2020-09-11 | 腾讯科技(北京)有限公司 | 推送信息订单的信息处理方法、分配方法及装置 |
CN107463593A (zh) * | 2016-12-13 | 2017-12-12 | 阿里巴巴集团控股有限公司 | 库存扣减方法及其设备 |
CN109902982A (zh) * | 2017-12-08 | 2019-06-18 | 北京京东尚科信息技术有限公司 | 用于输出信息的方法和装置 |
CN109284408A (zh) * | 2018-08-22 | 2019-01-29 | 北京奇虎科技有限公司 | 图床数据库系统、图床数据库运行方法及装置 |
CN109614388A (zh) * | 2018-11-14 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 一种预算扣减方法和装置 |
CN109544072A (zh) * | 2018-11-21 | 2019-03-29 | 北京京东尚科信息技术有限公司 | 热点库存本地化扣减方法、系统、设备以及介质 |
CN109670975A (zh) * | 2018-12-17 | 2019-04-23 | 泰康保险集团股份有限公司 | 计算机系统中生成单号的方法、介质及电子设备 |
CN111522834A (zh) * | 2020-07-06 | 2020-08-11 | 南京梦饷网络科技有限公司 | 用于信息处理的方法、电子设备和存储介质 |
CN112925851A (zh) * | 2021-02-26 | 2021-06-08 | 杭州网易再顾科技有限公司 | 一种单号处理方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105550366B (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105550366A (zh) | 库存信息处理方法和装置 | |
CN109857737B (zh) | 一种冷热数据存储方法及装置、电子设备 | |
CN103544153B (zh) | 一种基于数据库的数据更新方法和系统 | |
CN105516367A (zh) | 分布式数据存储系统、方法和装置 | |
JP2007502484A (ja) | 不活性顧客を予測するための方法およびシステム | |
CN103152390B (zh) | 分布式存储系统的节点配置方法、装置、节点及系统 | |
Okyay et al. | Newsvendor models with dependent random supply and demand | |
CN110046029A (zh) | 应用于集群内多级缓存的数据处理方法和装置 | |
CN110442498A (zh) | 异常数据节点的定位方法、装置、存储介质及计算机设备 | |
CN105205174A (zh) | 用于分布式系统的文件处理方法和装置 | |
US7118037B2 (en) | Radio frequency identification (RFID) household system for tracking and managing RFID tag containing household possessions within short range RF limited boundaries of a household facility | |
CN112087497B (zh) | 数据同步方法、装置、电子设备及可读存储介质 | |
US20070119932A1 (en) | Tag access control system, tag access control method and recording medium storing tag access control program | |
CN109558674A (zh) | 销量预测及其模型训练方法、装置 | |
CN110708197B (zh) | 监控装置、监控装置的监控策略的设置方法及存储介质 | |
US10499265B2 (en) | System and method for “always on” offline transaction collection | |
CN111949277A (zh) | 智能化灰度发布投产方法、装置、计算机设备及存储介质 | |
CN114637611A (zh) | 基于消息队列的信息处理方法、装置及计算机设备 | |
EP3853787A1 (en) | A method of controlling data transfer in a manufacturing plant and a system thereof | |
US20210096993A1 (en) | Cache coherency engine | |
US20090235005A1 (en) | System And Method To Dynamically Order System Management Interrupt Handler Dispatches | |
CN114186976A (zh) | 工作流程流转方法、装置、计算机设备及存储介质 | |
JP2003223581A (ja) | 残量検出発注システム | |
CN107424243B (zh) | 用于访问控制主机处理系统的反潜回容量预测系统以及方法 | |
CN105117291A (zh) | 调节消息推送执行体的运行数量的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |