CN112102040A - 一种分布式环境下全局库存控制方法及系统 - Google Patents
一种分布式环境下全局库存控制方法及系统 Download PDFInfo
- Publication number
- CN112102040A CN112102040A CN202011036318.7A CN202011036318A CN112102040A CN 112102040 A CN112102040 A CN 112102040A CN 202011036318 A CN202011036318 A CN 202011036318A CN 112102040 A CN112102040 A CN 112102040A
- Authority
- CN
- China
- Prior art keywords
- inventory
- transaction
- preset
- purchase
- threshold
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 239000012634 fragment Substances 0.000 claims abstract description 24
- 238000012544 monitoring process Methods 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 16
- 230000000737 periodic effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 abstract description 4
- 238000007619 statistical method Methods 0.000 abstract description 3
- 238000009499 grossing Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000011217 control strategy Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005111 flow chemistry technique Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 241000531116 Blitum bonus-henricus Species 0.000 description 1
- 235000008645 Chenopodium bonus henricus Nutrition 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- 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)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- Marketing (AREA)
- Probability & Statistics with Applications (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Computing Systems (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Human Resources & Organizations (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种分布式环境下全局库存控制方法及系统,其包括:接收用户的客户端发送的购买请求或退回请求;根据购买请求消耗当前数据分片的库存,或者,根据退回请求增加当前数据分片的库存,生成订单和订单相关信息,并且将订单相关信息发送到指定消息队列;订单相关信息包括:购买请求对应的被消耗的库存,或者,退回请求对应的增加的库存;监听指定消息队列的订单相关信息,按照预设周期进行汇总统计,得到交易汇总统计结果,交易汇总统计结果是在预设周期内的交易的库存之和;读取交易汇总统计结果,根据交易汇总统计结果计算得到最新的全局库存,并保存到全局库存表中。该基于事件消息的流式统计方法,获得数据存储结构下的全局库存视图。
Description
技术领域
本发明涉及分布式架构的在线交易系统,具体涉及一种分布式环境下全局库存控制方法及系统。
背景技术
随着科技的发展,越来越多的实体经济在往电商的形式发展。用户数量的不断增长,导致对在线交易系统的并发性能要求越来越高。在不考虑性能情况下的库存的增减,直接通过给数据库表的单条数据加锁即可实现。但是国内庞大的人口基数给系统的访问带来了巨大的压力,为了提高性能,我们往往会采取并发的模式,高并发模式下由于多个用户可同时下单,对在线交易系统会造成较大的压力,故近年来面向客户的在线交易系统逐步从集中式架构演化为分布式架构,具体说来又经过了系统功能的垂直拆分成前后台和数据库层,后台应用逻辑层和数据库层也逐步实现了分布式架构。随着分库分表等分布式数据架构的引入,不可避免地需要将同一逻辑实体的数据进行水平拆分,而从系统整体运营和维护的角度来看,依然需要整体的数据统计视图。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:由于库存被拆分,从全局角度就无法及时获得一个完整的数据视图,不利于管理运营方进行控制与决策。
发明内容
本发明实施例提供一种分布式环境下全局库存控制方法及系统,以从全局角度获得库存统计数据视图。
为达上述目的,第一方面,本发明实施例提供了一种分布式环境下全局库存控制方法,其包括:
接收用户的客户端发送的购买请求或退回请求;
根据所述购买请求消耗当前数据分片的库存,或者,根据所述退回请求增加当前数据分片的库存,生成订单和订单相关信息,并且将所述订单相关信息发送到指定消息队列;其中,所述订单相关信息包括:所述购买请求对应的被消耗的库存,或者,所述退回请求对应的增加的库存;
监听所述指定消息队列的所述订单相关信息,按照预设周期进行汇总统计,得到交易汇总统计结果,所述交易汇总统计结果是在所述预设周期内的交易的库存之和;
读取所述交易汇总统计结果,根据所述交易汇总统计结果计算得到最新的全局库存,并保存到全局库存表中。
第二方面,本发明实施例提供了一种分布式环境下全局库存控制系统,其包括:
动态流控模块,包括接收转发子模块,用于接收用户的客户端发送的购买请求或退回请求;
订单服务模块,用于根据所述购买请求消耗当前数据分片的库存,或者,根据所述退回请求增加当前数据分片的库存,生成订单和订单相关信息,并且将所述订单相关信息发送到指定消息队列;其中,所述订单相关信息包括:所述购买请求对应的被消耗的库存,或者,所述退回请求对应的增加的库存;
流式库存统计模块,用于监听所述指定消息队列的所述订单相关信息,按照预设周期进行汇总统计,得到交易汇总统计结果,所述交易汇总统计结果是在所述预设周期内的交易的库存之和;
库存更新模块,用于读取所述交易汇总统计结果,根据所述交易汇总统计结果计算得到最新的全局库存,并保存到全局库存表中。
第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的一种分布式环境下全局库存控制方法。
第四方面,本发明实施例提供了一种计算机设备,其包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的一种分布式环境下全局库存控制方法。
上述技术方案具有如下有益效果:
本发明实施例针对分布式应用环境下,按照分库分表设计的数据存储结构下的全局库存视图,提出一种基于事件消息的流式统计方法,并依据该视图,设计一种灵活的流控策略,通过库存变化来动态控制交易速度,提升系统的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的实施例的并发交易的系统架构示意图;
图2是本发明实施例一的分布式环境下全局库存控制方法的流程图;
图3是本发明实施例的步骤S260的细化流程图;
图4是本发明实施例的一种分布式环境下全局库存控制系统的功能框图;
图5是本发明实施例的另一种分布式环境下全局库存控制系统的功能框图;
图6是本发明实施例的流式库存统计模块设计及其处理流程图;
图7是本发明实施例的库存更新模块和动态流控模块的架构图;
图8是本发明实施例的一种电子设备的功能框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
术语解释:
流式处理:针对流式数据无需落地,实时进行加工处理的一类技术统称。
Apache Kafka:一种开源的,支持流式处理的分布式消息中间件。
服务:在IT领域,是指一种通过预定义接口提供特定功能的机制。
本发明实施例旨在在分布式环境下对分散在多个数据分片上的分片库存进行流式统计,提供一个准实时的全局库存视图,并根据此视图实施动态的流量控制策略,在兼顾高并发交易的前提下,达到更加准确的全局库存控制的目的。
本发明实施例提出一种在分布式环境下的全局库存视图的统计方法,以及依据该视图的流控策略。
针对采用双账本模式的在线交易系统,本发明实施例提出了一种对全局库存进行管理和流量控制的方案。本发明实施例的主要功能包括:
1)在不牺牲并发性能,不影响现有交易的前提下,尽量保证全局库存的准实时更新和准确更新;
2)根据全局库存量以及当前的交易量,将流控切换模式的库存阈值动态化,实现在库存较少时或短时大量消耗时,从并行交易模式切换为串行交易模式,提高系统的稳定性。
随着互联网的日益普及和终端用户数量的增加,为满足大量用户同时在线提供服务,在线商品交易系统的架构设计也经历了从集中式向分布式架构的转变。具体来说,包含业务处理逻辑的应用服务目前已经较为普遍的采用了分布式架构,可以满足水平扩展和高可用的要求。但随着并发用户数量的持续增加,单一的数据库已逐渐成为制约系统整体吞吐量的瓶颈。于是业界对于业务数据存储的数据库,根据业务交易链条对数据进行切分,从单库单表拆分为分库分表,来增加数据库级别的并发程度,提高系统整体吞吐量。
分库分表相对于传统的单库单表,是将原本同一个逻辑实体的数据分拆成多个部分存放在多个不同的物理库或物理表中,数据的不同部分之间在当前业务交易链条上不存在关联关系(比如针对在线购物系统的下单交易,由于每个下单交易仅涉及单一用户账户,故可以将用户账户表按用户账号进行拆分),则拆分后对于该种业务交易就实现了数据库层的并发度的提升。同样的,从提高并发度的角度考虑,对于并发交易需要同时获取的商品的库存数据,也可以采用拆分的方式,将资源分散成多份,达到同时支持多人获取的目的。此时的系统架构如图1所示,图1是本发明的实施例的并发交易的系统架构示意图。
在此种系统架构下,由于商品库存被分散到了多个数据分片上,在系统运行过程中从全局角度若想要获得当前的整体库存状态视图,有两种方式,第一种是向每个库存分片分别发起查询,收集查询结果。第二种方式则是通过发生的交易信息进行计算统计,得到消耗的库存变化量,再与事先准备好的总库存进行计算,得到当前的库存值。现实情况下,从运营管理角度考虑,该整体视图往往是需要频繁更新的,此时第一种方式对数据库造成的压力无法忽略,本发明实施例的技术方案采用的是第二种方式。
实施例一
图2是本发明实施例一的分布式环境下全局库存控制方法的流程图。如图2所示,该方法包括:
S110:接收用户的客户端发送的购买请求或退回请求。
S120:根据购买请求消耗当前数据分片的库存,或者,根据退回请求增加当前数据分片的库存,生成订单和订单相关信息,并且将订单相关信息发送到指定消息队列;其中,订单相关信息包括:购买请求对应的被消耗的库存,或者,退回请求对应的增加的库存。
在本步骤中,生成订单是作为该系统运行时库存发生变动的原因,具体到不同的系统,可以是用户购买商品而下单,或者是用户发起退货请求等。
S130:监听指定消息队列的订单相关信息,按照预设周期进行汇总统计,得到交易汇总统计结果,交易汇总统计结果是在预设周期内的交易的库存之和。
S140:读取交易汇总统计结果,根据交易汇总统计结果计算得到最新的全局库存,并保存到全局库存表中。
本发明实施例为多数据分片的分布式数据存储结构提供了一种全局库存视图的统计方式,该方式基于事件消息进行流式处理,在不影响核心业务逻辑的情况下,可实现对全局库存的准实时统计。
实施例二
在进一步的实施例中,图2所示方法还包括如下步骤:S150:根据交易汇总统计结果,剩余库存量以及预设的库存量阈值,控制后续交易的交易速度。
在一些实施例中,步骤S150,具体可以包括执行如下中的任意一个步骤或任意多个步骤:
S151:在线商品交易系统或在线购物系统正常的前提下,如果当前的剩余库存量大于或等于预设的库存量阈值时,不进行干预;如果当前的剩余库存量小于预设的库存量阈值时,从并行交易模式切换为串行交易模式;其中,当前的剩余库存量根据交易汇总统计结果计算得到;
S152:当在线商品交易系统或在线购物系统的响应速度低于预设的响应速度阈值时,直接转为串行交易模式;
S153:当在预设的时长内接收到超过第一预设购买量的购买请求时,提高串行切换阈值,控制交易速度;
S154:当在预设的时长内接收到超过第二预设购买量的购买请求时,立即切换至串行交易模式,暂停等待追平;其中,第二预设购买量大于第一预设购买量。
实施例三
在进一步的实施例中,本发明实施例的方法还可以包括如下步骤:S160:根据周期性的交易汇总统计结果,动态地更新库存量阈值。
图3是本发明实施例的步骤S260的细化流程图。如图3所示,步骤S160具体包括如下步骤:
S161:在收到每个预设周期的购买数量和退回数量之间的差值后,额外累积最近第一时间段的购买数量和退回数量之间的差值;其中,第一时间段大于预设周期;
S162:再根据最近第二时间段内的库存变化量净额,计算得出净额标准差,净额标准差表征在最近第二时间段内的库存变化量净额的波动程度;其中,第二时间段大于第一时间段;
S163:根据不同的波动程度,设定相应的阈值倍率;
S164:使用最近第一时间段的库存变化量净额乘以阈值倍率,得到动态控制的库存量阈值。
实施例四
在进一步的实施例中,本发明实施例的方法还可以包括如下步骤:
S171:当判断确定在预设时长内没有收到新的交易汇总统计结果包含的交易统计数据时,切换为串行交易模式;
S171:当再次检测到交易汇总统计结果时,根据交易统计数据的时间戳和心跳响应,判断流式统计数据与串行记录的库存量是否达成一致,当一致时,切换回并行交易模式。
在进一步的实施例中,本发明实施例的方法还可以包括如下步骤:
S181:当可用总库存量低于动态的库存量阈值时,暂时关闭购买通道;
S182:等待交易汇总统计结果完全追平后,切换到串行交易模式,即串行更新可用库存量的模式,并再次打开购买通道。
实施例五
图4是本发明实施例的一种分布式环境下全局库存控制系统的功能框图。如图4所示,该控制系统200包括:
动态流控模块210,包括接收转发子模块211,用于接收用户的客户端发送的购买请求或退回请求;
订单服务模块220,用于根据购买请求消耗当前数据分片的库存,或者,根据退回请求增加当前数据分片的库存,生成订单和订单相关信息,并且将订单相关信息发送到指定消息队列;其中,订单相关信息包括:购买请求对应的被消耗的库存,或者,退回请求对应的增加的库存;
流式库存统计模块230,用于监听指定消息队列的订单相关信息,按照预设周期进行汇总统计,得到交易汇总统计结果,该交易汇总统计结果是在预设周期内的交易的库存之和;
库存更新模块240,用于读取交易汇总统计结果,根据交易汇总统计结果计算得到最新的全局库存,并保存到全局库存表中。
图5是本发明实施例的另一种分布式环境下全局库存控制系统的功能框图。如图5所示,在一些实施例中,动态流控模块210,还可以包括交易速度控制子模块212,用于根据交易汇总统计结果,剩余库存量以及预设的库存量阈值,控制后续交易的交易速度。
在一些实施例中,交易速度控制子模块212,具体用于执行如下中的任意一项或任意多项:
在线商品交易系统或在线购物系统正常的前提下,如果当前的剩余库存量大于或等于预设的库存量阈值时,不进行干预;如果当前的剩余库存量小于预设的库存量阈值时,从并行交易模式切换为串行交易模式;其中,当前的剩余库存量根据交易汇总统计结果计算得到;
当在线商品交易系统或在线购物系统的响应速度低于预设的响应速度阈值时,直接转为串行交易模式;
当在预设的时长内接收到超过第一预设购买量的购买请求时,提高用于执行串行切换的库存量阈值,控制接收购买请求,生成订单的速度;
当在预设的时长内接收到超过第二预设购买量的购买请求时,立即切换至串行交易模式,暂停处理购买请求,等待追平;其中,第二预设购买量大于第一预设购买量。
在一些实施例中,动态流控模块210,还包括动态阈值更新子模块213,用于根据周期性的交易统计数据,动态地更新库存阈值。
在一些实施例中,动态阈值更新子模块213,具体用于:
在收到每个预设周期的购买数量和退回数量之间的差值后,额外累积最近第一时间段的购买数量和退回数量之间的差值;其中,第一时间段大于预设周期;
再根据最近第二时间段内的库存变化量净额,计算得出净额标准差,净额标准差表征在最近第二时间段内的库存变化量净额的波动程度;其中,第二时间段大于第一时间段;
根据不同的波动程度,设定相应的阈值倍率;
使用最近第一时间段的库存变化量净额乘以阈值倍率,得到动态控制的库存量阈值。
在一些实施例中,动态流控模块210,还包括异常检测切换子模块214,可以用于:
当判断确定在预设时长内没有收到新的交易汇总统计结果包含的交易统计数据时,切换为串行交易模式;
当再次检测到交易汇总统计结果时,根据交易统计数据的时间戳和心跳响应,判断流式统计数据与串行记录的库存量是否达成一致,当一致时,切换回并行交易模式。
在一些实施例中,动态流控模块210,可以包括购买通道控制子模块215,用于:
当可用总库存量低于动态的库存量阈值时,暂时关闭购买通道;
等待交易汇总统计结果完全追平后,切换到串行更新可用库存量的模式,并再次打开购买通道。
在一些实施例中,动态流控服务、订单服务、流式统计服务、库存更新服务这四个服务都可以分开部署在不同的服务器上。
在又一些实施例中,动态流控服务、订单服务和库存更新服务部署在同一台服务器上运行,每个购买请求都要实现经过动态流控服务进行判断,当前是否允许交易,或者是否允许并行交易。判断过后再到达订单服务进行处理。
订单服务与流式统计服务和库存更新服务之间是通过消息队列进行通信,故这三个服务完全可以分开部署运行。
在一些实施例中,共有4个硬件执行主体,分别是应用服务器(动态流控服务,订单服务,库存更新服务),消息队列服务器(Kafka),流处理服务器(流式统计服务),数据库服务器。从交互上来讲,应用服务器会读写数据库,也会发送订单消息到消息队列,流处理服务器消费消息队列的消息,生成汇总统计消息写入消息队列,这些消息又被应用服务器消费,更新全局库存到数据库。
以下进行更加详细的说明:
基于消息的流式库存统计模块:
为避免频繁查询多个数据分片对数据库造成压力,本发明的实施例采用基于事件消息的方式来进行流式统计。具体说来,是在原先的交易链上针对与库存变化相关服务,在执行成功之后发送一条事件消息到订单消息队列,消息内容包含被消耗或增加的库存(比如下单交易中的购买商品数量,取消订单交易中释放的商品数量等),通过一个统计模块对上述消息中涉及的商品数量进行周期性汇总统计,得出库存消耗数量的变化量。该变化量将作为后续流控模块的控制依据。本发明实施例的一种统计流程的处理步骤包括:
用户发起下单(或者发起取消订单);客户端购买请求可以直接进到动态流控服务,由该动态流控服务判断后转发给订单服务做后续处理。
订单服务扣减或增加当前数据分片的库存,生成订单,同时将订单相关信息(包括商品数量)发送到订单消息队列。购买订单对应扣减库存,取消订单对应增加库存。其中,订单相关信息由订单服务在生成订单的同时生成订单相关信息,并发送其到订单消息队列。该订单消息队列是记录每笔订单的信息,供流式库存统计模块进行统计。
流式库存统计服务/模块监听订单消息队列的订单相关信息,按特定周期(例如但不限于一秒)进行汇总统计,并将该预设周期内的商品交易数量的统计结果(例如,最近一秒内的购买数量之和)发送到下游消息队列。汇总统计的对象是每个订单中的商品数量,也就是对应库存的变化量。本实施例中,涉及两个不同业务含义的消息队列,分别是订单消息队列,汇总统计消息队列。订单信息经过流式库存统计服务统计后,生成结果到汇总统计消息队列。
流式库存统计模块设计及其处理流程如图6所示。
由于该流式库存统计模块基于事件消息流进行统计,对现有的业务处理逻辑侵入性较小,配合高可用的消息队列,实现了统计与交易相分离。为保证事件消息的持久化存储,同时便于进行流式统计,消息队列可以采用Apache Kafka消息队列,流式统计可以采用支持端到端Exactly-Once保证的Kafka streams流处理框架,可以保证事件消息以及统计消息在消息队列内及整个处理过程中既不重复也不丢失。
库存更新模块:
库存更新模块通过读取流式库存统计模块的交易汇总统计结果,即汇总统计的结果消息,计算最新的全局库存,并保存到全局库存表中。
动态流控模块:
动态流控模块用于直接接收客户端的购买请求和退回请求,默认情况下该动态流控模块不对客户端请求进行干预,直接将其转发给订单服务并行执行交易。该动态流控模块根据流式库存统计模块的交易汇总统计结果,结合当前业务剩余库存的情况以及预设的相关预警阈值进行决策,对后续交易采取适当的控制策略(并行转发或者串行转发)。具体说来,当前库存较为充足时,优先考虑为用户请求提供最大并行度,实现高效的交易处理。当库存较少,或者短时间内商品购买量较大时,库存有快速售罄的趋势时,则优先考虑对并发用户请求进行控制,通过改为串行处理来保证库存较为准确的进行更新,同时也减小系统的并发压力。因为在分库分表的设计中,库存被分散在了各个数据分片,当剩余库存较小时,可能存在部分分片库存为0的情况,故应用逻辑可能还需要额外针对这种情况实现更为复杂的查找库存逻辑,此时动态流控模块按照串行模式放行交易请求,对减轻应用服务压力也是一种较为稳妥的方式。库存更新模块和动态流控模块的架构图如图7所示。
总体设计思路如下:
1)在线商品交易系统或在线购物系统正常的前提下,按最大购买数量控制,体现为库存量较大时不做干预,库存较小时转为串行,即从并行交易模式切换为串行交易模式。
其中,上述正常是指系统各个部署硬件之间交互响应时间处在可接受的范围之内,例如:订单服务生成一个订单,在一秒内该笔订单的信息就经过流式库存统计服务汇总,再经过库存更新服务体现在了全局库存的变化中,这就是正常的。如果超过了5秒钟(时间长度可配置)都没有体现在全局库存,则认为不正常。
其中,并行模式指的是在库存数据分片的情况下,多个购买请求可以同时被订单模块处理,分别更新不同的库存数据分片。串行模式指的是所有购买请求都只能按时间顺序一个一个处理。
2)在线商品交易系统或在线购物系统响应慢时,直接转为串行交易模式。
3)短时大量购买,提高串行切换阈值,控制接收购买请求,生成订单的速度。在本实施例中,正常情况下默认都是并行模式,全局库存量减小到一个临界点时需要切换为串行模式,这个临界点的库存量就是串行切换阈值。一旦切换为串行模式就相当于控制了速度。
4)短时巨量购买,立即切换至串行交易模式,暂停处理购买请求,等待追平。在本实施例中,暂停处理购买请求后,等待全局库存完成更新,且系统响应时间正常时,可认为追平了。
5)根据当前交易状况动态确定并行/串行切换库存量临界点(库存阈值),实现基于动态库存的流量控制。
基于上述考虑,动态流控模块的设计还包含以下几个部分。
动态阈值控制算法:
由于流式库存统计模块提供了周期性的交易统计数据,故动态流控模块可以基于这些基础数据设计阈值算法,动态地更新库存阈值,一旦当前剩余库存低于阈值,则切换流控策略为串行交易模式。基于交易统计数据的动态阈值算法可以有多种,此处仅举出一个例子进行说明。
应用系统收到流式库存统计模块的每秒的购买和退回数量差值后,额外累积最近一个时间段(时间周期)的购买和退回数量差值(如1分钟)作为周期内的库存变化量净额。具体累计的时间区间粒度可以根据控制的精细程度进行调整。根据连续多个累计的周期内的库存变化量净额,可以对未来周期内的库存变化量净额做出预测。针对这种基于事件序列的预测,可以采用统计学中的指数平滑预测法。根据库存变化量净额的波动情况,可以选用一次,二次或三次指数平滑方式进行预测。通常来说,一次指数平滑用于对近乎水平的趋势的时间序列进行预测,二次指数平滑用于对线性趋势时间序列进行预测,三次指数平滑用于可体现季节性特征的时间序列进行预测。指数平滑预测法的基本公式为:
St=α·yt+(1-α)St-1
其中St为t期的平滑值,α为平滑常数,yt为t期的实际值,St-1为t-1期平滑值。
一次指数平滑公式为:
St+1=a·yt+(1-a)St
一次指数平滑的公式跟指数平滑基本公式类似,但t+1期的预测值是t期观测值和t期预测值的加权平均值。
二次指数平滑公式为:
Ft+m=at+btm.......................................(5)
一次指数平滑直接利用平滑值作为预测值,二次指数平滑法则是利用平滑值对趋势进行修正后得到的线性平滑模型。
其中采用二次指数平滑简要预测步骤如下:
步骤1:根据库存变化量净额的波动特征,选取初始平滑常数(波动较大时平滑常数趋近于1,波动较小时可趋近于0);
步骤2:按时间顺序将各个周期的库存变化量净额代入一次指数平滑公式,计算一次平滑值;
步骤3:将一次平滑值代入二次指数平滑公式,计算出二次平滑值,进而算出未来m期的预测值Ft+m。
最终根据预测的Ft+m的库存变化量净额,作为动态控制的阈值。一般情况下,m可取为1,即根据当前预测出下一周期的库存变化量净额作为阈值。
上述应用系统是带有动态流控模块,订单模块,流式库存统计模块和库存更新模块的整个应用系统。
统计系统异常检测与应对:
由于应用全局库存视图的更新依赖于对应交易的事件消息的发送以及流式库存统计模块的聚合处理,若此流程中出现异常,虽然理论上不会对主要的订单服务产生直接影响,但却可能引起全局库存更新不及时,进而导致流控逻辑的失效。故应用将根据一系列条件判定后台的流式数据统计模块是否处于正常状态,例如5秒内没有收到新的统计数据。此时应用将切换为串行模式,即不再依赖于后台流式库存统计模块的数据,而是基于最近的全局统计数据在每笔购买和退回交易发生的同时同步更新可用库存。此时牺牲一部分并发性能,保证系统库存的安全性与准确性。
当应用系统再次检测到后台流式库存统计模块的恢复(收到其发出的消息),其将根据一系列条件判断流式统计数据与流控模块自身串行记录的库存是否达成一致(追平),比如统计数据时间戳和心跳响应。一旦应用判断后台系统统计数据接近追平,将切换回以后台统计数据为准的并发购买和退回模式。
临界库存兑出:
一旦可用总库存低于新的动态阈值,应用将暂时关闭购买通道。
等待后台统计数据完全追平后,应用将切换到串行更新可用库存的模式,并再次打开购买通道。通过这种方式,系统可以安全地售出接近临界时的所有商品。
本发明实施例的上述技术方案带来的有益效果包括:
本发明实施例为多数据分片的分布式数据存储结构提供了一种全局库存视图的统计方式,该方式基于事件消息进行流式处理,在不影响核心业务逻辑的情况下,可实现对全局库存的准实时统计。同时也提出了根据可用库存进行流量控制的方案。
本发明实施例承担核心交易逻辑的服务需在执行成功之后发送事件消息到可持久化的消息队列,消息内容包含本次执行的商品数量信息。
本发明实施例通过流式统计方式对所有事件消息进行周期性的聚合统计,将聚合结果作为流控逻辑的控制基础。
本发明实施例的流控模块提供并行和串行两种模式,并根据聚合的交易统计数据,动态确定切换阈值,在可用库存较少时,发生短时大量库存消耗时切换流控模式为串行,提高系统的稳定性。
本发明实施例的流控模块针对聚合统计消息超时未收到的情况,进行自动判断为流式库存统计模块故障,为保证流控效果,在此时自动启用串行模式,以强一致方式更新库存表,待流式库存统计模块恢复,串行统计的库存与流式统计的库存接近追平,再切换回并行模式。
实施例六
本发明实施例还提供了一种电子设备,如图8所示,包括一个或多个处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。
存储器303,用于存放计算机程序;
处理器301,用于执行存储器303上所存放的程序时,实现如下步骤:
S110:接收用户的客户端发送的购买请求或退回请求;
S120:根据购买请求消耗当前数据分片的库存,或者,根据退回请求增加当前数据分片的库存,生成订单和订单相关信息,并且将订单相关信息发送到指定消息队列;其中,订单相关信息包括:购买请求对应的被消耗的库存,或者,退回请求对应的增加的库存;
S130:监听指定消息队列的订单相关信息,按照预设周期进行汇总统计,得到交易汇总统计结果,交易汇总统计结果是在预设周期内的交易的库存之和;
S140:读取交易汇总统计结果,根据交易汇总统计结果计算得到最新的全局库存,并保存到全局库存表中。
在一些示例性实施例中,处理器301,还用于执行存储器303上所存放的程序时,实现如下步骤:根据所述交易汇总统计结果,当前业务的剩余库存量以及预设的库存量阈值,控制后续交易的交易速度。
在一些示例性实施例中,处理器301,还用于执行存储器303上所存放的程序时,实现如下步骤:S150:根据交易汇总统计结果,当前业务的剩余库存量以及预设的库存量阈值,控制后续交易的交易速度。
在一些示例性实施例中,处理器301,还用于执行存储器303上所存放的步骤S150对应的程序时,实现如下任意一个或多个步骤:
S151:在线商品交易系统或在线购物系统正常的前提下,当库存量大于或等于预设的库存量阈值时,不进行干预,当库存量小于预设的库存量阈值时,从并行交易模式切换为串行交易模式;
S152:当在线商品交易系统或在线购物系统的响应速度低于预设的响应速度阈值时,直接转为串行交易模式;
S153:当在预设的时长内接收到超过第一预设购买量的购买请求时,提高用于执行串行切换的库存量阈值,控制接收购买请求,生成订单的速度;
S154:当在预设的时长内接收到超过第二预设购买量的购买请求时,立即切换至串行交易模式,暂停处理购买请求,等待追平;其中,第二预设购买量大于第一预设购买量。
在一些示例性实施例中,处理器301,还用于执行存储器303上所存放的程序时,实现如下步骤:S160:根据周期性的交易汇总统计结果,动态地更新库存阈值。
在一些示例性实施例中,处理器301,还用于执行存储器303上所存放的步骤S160对应的程序时,实现如下步骤:
S161:在收到每个预设周期的购买数量和退回数量之间的差值后,额外累积最近第一时间段的购买数量和退回数量之间的差值;其中,第一时间段大于预设周期;
S162:再根据最近第二时间段内的库存变化量净额,计算得出净额标准差,净额标准差表征在最近第二时间段内的库存变化量净额的波动程度;其中,第二时间段大于第一时间段;
S163:根据不同的波动程度,设定相应的阈值倍率;
S164:使用最近第一时间段的库存变化量净额乘以阈值倍率,得到动态控制的库存量阈值。
在一些示例性实施例中,处理器301,还用于执行存储器303上所存放的程序时,实现如下步骤:
S171:当判断确定在预设时长内没有收到新的交易汇总统计结果包含的交易汇总统计结果时,切换为串行交易模式;
S171:当再次检测到交易汇总统计结果时,根据交易统计数据的时间戳和心跳响应,判断流式统计数据与串行记录的库存量是否达成一致,当一致时,切换回并行交易模式。
在一些示例性实施例中,处理器301,还用于执行存储器303上所存放的程序时,实现如下步骤:
S181:当可用总库存量低于动态的库存量阈值时,暂时关闭购买通道;
S182:等待交易统计数据完全追平后,切换到串行交易模式,即更新可用库存量的模式,并再次打开购买通道。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
实施例七
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任意一种分布式环境下全局库存控制方法的各步骤。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (13)
1.一种分布式环境下全局库存控制方法,其特征在于,包括:
接收用户的客户端发送的购买请求或退回请求;
根据所述购买请求消耗当前数据分片的库存,或者,根据所述退回请求增加当前数据分片的库存,生成订单和订单相关信息,并且将所述订单相关信息发送到指定消息队列;其中,所述订单相关信息包括:所述购买请求对应的被消耗的库存,或者,所述退回请求对应的增加的库存;
监听所述指定消息队列的所述订单相关信息,按照预设周期进行汇总统计,得到交易汇总统计结果,所述交易汇总统计结果是在所述预设周期内的交易的库存之和;
读取所述交易汇总统计结果,根据所述交易汇总统计结果计算得到最新的全局库存,并保存到全局库存表中。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据所述交易汇总统计结果,剩余库存量以及预设的库存量阈值,控制后续交易的交易速度。
3.根据权利要求2所述的方法,其特征在于,所述的根据所述交易汇总统计结果,剩余库存量以及预设的库存量阈值,控制后续交易的交易速度,具体包括执行如下中的任意一项或任意多项:
在线商品交易系统或在线购物系统正常的前提下,如果当前的剩余库存量大于或等于预设的库存量阈值时,不进行干预;如果当前的剩余库存量小于预设的库存量阈值时,从并行交易模式切换为串行交易模式;其中,所述当前的剩余库存量根据所述交易汇总统计结果计算得到;
当在线商品交易系统或在线购物系统的响应速度低于预设的响应速度阈值时,直接转为串行交易模式;
当在预设的时长内接收到超过第一预设购买量的购买请求时,提高用于执行串行切换的库存量阈值,控制接收购买请求,生成订单的速度;
当在预设的时长内接收到超过第二预设购买量的购买请求时,立即切换至串行交易模式,暂停处理购买请求,等待追平;其中,所述第二预设购买量大于所述第一预设购买量。
4.根据权利要求2所述的方法,其特征在于,还包括:
根据周期性的交易汇总统计结果,动态地更新所述库存量阈值。
5.根据权利要求4所述的方法,其特征在于,所述根据周期性的交易汇总统计结果,动态地更新所述库存量阈值,具体包括:
在收到每个所述预设周期的购买数量和退回数量之间的差值后,额外累积最近第一时间段的购买数量和退回数量之间的差值;其中,所述第一时间段大于所述预设周期;
再根据最近第二时间段内的库存变化量净额,计算得出净额标准差,所述净额标准差表征在最近第二时间段内的库存变化量净额的波动程度;其中,所述第二时间段大于所述第一时间段;
根据不同的波动程度,设定相应的阈值倍率;
使用最近第一时间段的库存变化量净额乘以所述阈值倍率,得到动态控制的库存量阈值。
6.根据权利要求1所述的方法,其特征在于,还包括:
当判断确定在预设时长内没有收到新的交易汇总统计结果包含的交易统计数据时,切换为串行交易模式;
当再次检测到交易汇总统计结果时,根据交易统计数据的时间戳和心跳响应,判断流式统计数据与串行记录的库存量是否达成一致,当一致时,切换回并行交易模式。
7.根据权利要求2所述的方法,其特征在于,
当可用总库存量低于动态的库存量阈值时,暂时关闭购买通道;
等待交易汇总统计结果完全追平后,切换到串行交易模式,并再次打开购买通道。
8.一种分布式环境下全局库存控制系统,其特征在于,包括:
动态流控模块,包括接收转发子模块,用于接收用户的客户端发送的购买请求或退回请求;
订单服务模块,用于根据所述购买请求消耗当前数据分片的库存,或者,根据所述退回请求增加当前数据分片的库存,生成订单和订单相关信息,并且将所述订单相关信息发送到指定消息队列;其中,所述订单相关信息包括:所述购买请求对应的被消耗的库存,或者,所述退回请求对应的增加的库存;
流式库存统计模块,用于监听所述指定消息队列的所述订单相关信息,按照预设周期进行汇总统计,得到交易汇总统计结果,所述交易汇总统计结果是在所述预设周期内的交易的库存之和;
库存更新模块,用于读取所述交易汇总统计结果,根据所述交易汇总统计结果计算得到最新的全局库存,并保存到全局库存表中。
9.根据权利要求8所述的系统,其特征在于,所述交易速度控制子模块,具体用于执行如下中的任意一项或任意多项:
在线商品交易系统或在线购物系统正常的前提下,如果当前的剩余库存量大于或等于预设的库存量阈值时,不进行干预;如果当前的剩余库存量小于预设的库存量阈值时,从并行交易模式切换为串行交易模式;其中,所述当前的剩余库存量根据所述交易汇总统计结果计算得到;
当在线商品交易系统或在线购物系统的响应速度低于预设的响应速度阈值时,直接转为串行交易模式;
当在预设的时长内接收到超过第一预设购买量的购买请求时,提高用于执行串行切换的库存量阈值,控制接收购买请求,生成订单的速度;
当在预设的时长内接收到超过第二预设购买量的购买请求时,立即切换至串行交易模式,暂停处理购买请求,等待追平;其中,所述第二预设购买量大于所述第一预设购买量。
10.根据权利要求9所述的系统,其特征在于,所述动态阈值更新子模块,具体用于:
在收到每个所述预设周期的购买数量和退回数量之间的差值后,额外累积最近第一时间段的购买数量和退回数量之间的差值;其中,所述第一时间段大于所述预设周期;
再根据最近第二时间段内的库存变化量净额,计算得出净额标准差,所述净额标准差表征在最近第二时间段内的库存变化量净额的波动程度;其中,所述第二时间段大于所述第一时间段;
根据不同的波动程度,设定相应的阈值倍率;
使用最近第一时间段的库存变化量净额乘以所述阈值倍率,得到动态控制的库存量阈值。
11.根据权利要求8所述的系统,其特征在于,所述动态流控模块,还包括异常检测切换子模块,用于:
当判断确定在预设时长内没有收到新的交易汇总统计结果包含的交易统计数据时,切换为串行交易模式;
当再次检测到交易汇总统计结果时,根据交易统计数据的时间戳和心跳响应,判断流式统计数据与串行记录的库存量是否达成一致,当一致时,切换回并行交易模式。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任意一项所述的一种分布式环境下全局库存控制方法。
13.一种计算机设备,其特征在于,其包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-7中任一所述的一种分布式环境下全局库存控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011036318.7A CN112102040A (zh) | 2020-09-27 | 2020-09-27 | 一种分布式环境下全局库存控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011036318.7A CN112102040A (zh) | 2020-09-27 | 2020-09-27 | 一种分布式环境下全局库存控制方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112102040A true CN112102040A (zh) | 2020-12-18 |
Family
ID=73783714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011036318.7A Pending CN112102040A (zh) | 2020-09-27 | 2020-09-27 | 一种分布式环境下全局库存控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112102040A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765277A (zh) * | 2021-01-28 | 2021-05-07 | 树根互联股份有限公司 | 数据同步方法、装置和系统 |
CN113641674A (zh) * | 2021-08-18 | 2021-11-12 | 中国银行股份有限公司 | 一种自适应全局序号发生方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105096065A (zh) * | 2014-04-16 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种库存扣减方法和装置 |
CN105096122A (zh) * | 2014-04-16 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种分片式交易匹配方法和装置 |
CN105930498A (zh) * | 2016-05-06 | 2016-09-07 | 中国银联股份有限公司 | 一种分布式数据库的管理方法及系统 |
CN107329809A (zh) * | 2017-07-05 | 2017-11-07 | 国网信息通信产业集团有限公司 | 一种面向多数据源的分布式事务处理方法及系统 |
CN108280538A (zh) * | 2018-01-05 | 2018-07-13 | 广西师范学院 | 基于云计算环境下分布式物流库存优化方法 |
CN110310060A (zh) * | 2019-05-27 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 基于分片的库存管理方法以及装置 |
CN110796401A (zh) * | 2018-08-03 | 2020-02-14 | 京东数字科技控股有限公司 | 库存扣减方法、系统和服务器 |
CN111125180A (zh) * | 2018-10-30 | 2020-05-08 | 千寻位置网络有限公司 | 库存数据的统计方法及装置、服务器及分布式购买系统 |
CN111475576A (zh) * | 2020-04-15 | 2020-07-31 | 中国工商银行股份有限公司 | 基于区块链的分布式数据库存储方法及系统 |
-
2020
- 2020-09-27 CN CN202011036318.7A patent/CN112102040A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105096065A (zh) * | 2014-04-16 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种库存扣减方法和装置 |
CN105096122A (zh) * | 2014-04-16 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种分片式交易匹配方法和装置 |
CN105930498A (zh) * | 2016-05-06 | 2016-09-07 | 中国银联股份有限公司 | 一种分布式数据库的管理方法及系统 |
CN107329809A (zh) * | 2017-07-05 | 2017-11-07 | 国网信息通信产业集团有限公司 | 一种面向多数据源的分布式事务处理方法及系统 |
CN108280538A (zh) * | 2018-01-05 | 2018-07-13 | 广西师范学院 | 基于云计算环境下分布式物流库存优化方法 |
CN110796401A (zh) * | 2018-08-03 | 2020-02-14 | 京东数字科技控股有限公司 | 库存扣减方法、系统和服务器 |
CN111125180A (zh) * | 2018-10-30 | 2020-05-08 | 千寻位置网络有限公司 | 库存数据的统计方法及装置、服务器及分布式购买系统 |
CN110310060A (zh) * | 2019-05-27 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 基于分片的库存管理方法以及装置 |
CN111475576A (zh) * | 2020-04-15 | 2020-07-31 | 中国工商银行股份有限公司 | 基于区块链的分布式数据库存储方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765277A (zh) * | 2021-01-28 | 2021-05-07 | 树根互联股份有限公司 | 数据同步方法、装置和系统 |
CN113641674A (zh) * | 2021-08-18 | 2021-11-12 | 中国银行股份有限公司 | 一种自适应全局序号发生方法和装置 |
CN113641674B (zh) * | 2021-08-18 | 2024-02-23 | 中国银行股份有限公司 | 一种自适应全局序号发生方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112703487B (zh) | 在数据中心中分层收集样本 | |
US8099379B2 (en) | Performance evaluating apparatus, performance evaluating method, and program | |
US10362100B2 (en) | Determining load state of remote systems using delay and packet loss rate | |
CN114930293A (zh) | 预测性自动扩展和资源优化 | |
US20130254778A1 (en) | Decentralized load distribution to reduce power and/or cooling costs in an event-driven system | |
US20110047555A1 (en) | Decentralized load distribution in an event-driven system | |
CN112102040A (zh) | 一种分布式环境下全局库存控制方法及系统 | |
US20140258223A1 (en) | Adaptive high-performance database redo log synchronization | |
WO2010007088A1 (en) | Asymmetric dynamic server clustering with inter-cluster workload balancing | |
JP2006209165A (ja) | 同時実行多重度調整システム及び方法 | |
WO2023138058A1 (zh) | 一种告警事件的处理方法、装置及计算机可读存储介质 | |
US20160094392A1 (en) | Evaluating Configuration Changes Based on Aggregate Activity Level | |
CN112506978A (zh) | 大数据实时处理方法、装置和设备 | |
JP3993848B2 (ja) | 計算機装置及び計算機装置の制御方法 | |
CN113515358A (zh) | 任务调度方法、装置、电子设备及存储介质 | |
CN115774602A (zh) | 一种容器资源的分配方法、装置、设备及存储介质 | |
JP5646442B2 (ja) | 分析装置および分析方法 | |
WO2023039711A1 (en) | Efficiency engine in a cloud computing architecture | |
Liu et al. | A Trend Detection-Based Auto-Scaling Method for Containers in High-Concurrency Scenarios | |
Tirado et al. | CONDESA: a framework for controlling data distribution on elastic server architectures | |
CN112966210A (zh) | 一种存储用户数据的方法和装置 | |
CN117635242A (zh) | 商品价格预测装置以及商品价格预测方法 | |
CN116781707A (zh) | 负载均衡方法、装置、电子设备及存储介质 | |
CN113034179A (zh) | 用户的分类方法以及相关装置、设备 | |
CN118210995A (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 |