CN112765277A - 数据同步方法、装置和系统 - Google Patents
数据同步方法、装置和系统 Download PDFInfo
- Publication number
- CN112765277A CN112765277A CN202110115796.5A CN202110115796A CN112765277A CN 112765277 A CN112765277 A CN 112765277A CN 202110115796 A CN202110115796 A CN 202110115796A CN 112765277 A CN112765277 A CN 112765277A
- Authority
- CN
- China
- Prior art keywords
- data
- stock
- unit
- inventory
- data synchronization
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- 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
- G06F16/2365—Ensuring data consistency and integrity
-
- 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)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Tourism & Hospitality (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施例提供了一种数据同步方法、装置和系统,涉及数据处理技术领域。通过数据同步单元实时监听数据库中的库存数据,在监听到库存数据存在变化量时,读取库存数据的变化量,根据库存数据的变化量,计算得到当前库存量,将当前库存量同步到每个数据查询单元,如此,实现了库存数据的同步,并且保证了数据同步的实时性,可以有效避免超卖、超买的问题。
Description
技术领域
本发明涉及数据技术领域,具体而言,涉及一种数据同步方法、装置和系统。
背景技术
近年来,随着互联网电商行业的飞速发展,商品库存数据的管理变得尤为重要。对于电商商品而言,在其库存量发生变化后,需要及时同步更新其库存数据,否则将会出现很严重的超买或超卖问题,从而造成严重后果,因此,亟需一种数据同步的方案。
发明内容
基于上述研究,本发明提供了一种数据同步方法、装置和系统,以改善上述问题。
本发明的实施例可以这样实现:
第一方面,本发明提供一种数据同步方法,应用于数据同步系统,所述数据同步系统包括数据同步单元、数据库以及至少一个数据查询单元;所述方法包括:
所述数据同步单元实时监听所述数据库中的库存数据,在监听到所述库存数据存在变化量时,读取所述库存数据的变化量;
所述数据同步单元根据所述库存数据的变化量,计算得到当前库存量,将所述当前库存量同步到每个所述数据查询单元。
在可选的实施方式中,所述数据同步系统还包括分布式队列服务单元,所述将所述当前库存量同步到每个所述数据查询单元的步骤包括:
所述数据同步单元将所述当前库存量写入到所述分布式队列服务单元;
所述分布式队列服务单元通过发布订阅机制,将所述当前库存量推送到各所述数据查询单元。
在可选的实施方式中,所述数据同步系统还包括数据写入单元,所述方法还包括:
所述数据写入单元获取用户端发起的订单请求;
根据所述订单请求,得到所述订单请求对应的库存数据的变化量;
将所述订单请求对应的库存数据的变化量写入到所述数据库。
在可选的实施方式中,在将所述订单请求对应的库存数据的变化量写入到所述数据库之前,所述方法还包括:
所述数据写入单元分析所述订单请求是否为合法请求以及所述订单请求对应的库存数据的变化量是否满足库存需求;
若所述订单请求为合法请求且所述订单请求对应的库存数据的变化量满足库存需求,将所述订单请求对应的库存数据的变化量写入到所述数据库。
在可选的实施方式中,在将所述当前库存量同步到每个所述数据查询单元后,所述方法还包括:
各所述数据查询单元根据所述当前库存量,更新本地存储的库存数据。
在可选的实施方式中,所述方法还包括:
所述数据查询单元接收用户端发送的数据查询请求;
根据所述数据查询请求,将更新后的库存数据发送到所述用户端。
第二方面,本发明提供一种数据同步方法,应用于数据同步单元,所述方法包括:
实时监听数据库中的库存数据,在监听到所述库存数据存在变化量时,读取所述库存数据的变化量;
根据所述库存数据的变化量,计算得到当前库存量,将所述当前库存量同步到每个数据查询单元。
第三方面,本发明提供一种数据同步装置,应用于数据同步单元,所述装置包括数据监听模块、数据读取模块以及数据同步模块;
所述数据监听模块用于实时监听数据库中的库存数据,在监听到所述库存数据存在变化量时,所述数据读取模块用于读取所述库存数据的变化量;
所述数据同步模块用于根据所述库存数据的变化量,计算得到当前库存量,将所述当前库存量同步到每个数据查询单元。
第四方面,本发明提供一种数据同步系统,包括数据同步单元、数据库以及至少一个数据查询单元;
所述数据同步单元用于实时监听所述数据库中的库存数据,在监听到所述库存数据存在变化量时,读取所述库存数据的变化量;
所述数据同步单元用于根据所述库存数据的变化量,计算得到当前库存量,将所述当前库存量同步到每个所述数据查询单元。
在可选的实施方式中,所述数据同步系统还包括分布式队列服务单元;
所述数据同步单元用于将所述当前库存量写入到分布式队列服务单元;
所述分布式队列服务单元用于通过发布订阅机制,将所述当前库存量推送到各所述数据查询单元。
本发明实施例提供的数据同步方法、装置和系统,通过数据同步单元实时监听数据库中的库存数据,在监听到库存数据存在变化量时,读取库存数据的变化量,根据库存数据的变化量,计算得到当前库存量,将当前库存量同步到每个数据查询单元,如此,实现了库存数据的同步,并且保证了数据同步的实时性,可以有效避免超卖、超买的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的数据同步系统的结构示意图之一。
图2为本发明实施例所提供的数据同步系统的结构示意图之二。
图3为本发明实施例所提供的数据同步系统的结构示意图之三。
图4为本发明实施例所提供的数据同步方法的一种流程示意图。
图5为本发明实施例所提供的数据同步装置的一种方框示意图。
图标:100-数据同步系统;10-数据同步单元;11-数据同步装置;111-数据监听模块;112-数据读取模块;113-数据同步模块;20-数据库;30-数据查询单元;40-数据写入单元;50-分布式队列服务单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
如背景技术所述,随着互联网电商行业的飞速发展,商品库存数据的管理变得尤为重要。对于电商商品而言,在其库存量发生变化后,需要及时同步更新其库存数据,否则将会出现很严重的超买或超卖问题,从而造成严重后果,因此,亟需一种数据同步的方案。
基于上述研究,本实施例提供一种数据同步方法、装置和系统,通过数据同步单元实时监听数据库中的库存数据的变化量,将变化后的库存量同步到每个数据查询单元,实现了库存数据的同步,使得用户可以根据任一数据查询单元实时查询到商品的有效库存数据,有效避免了超卖、超买的问题。
请参阅图1,图1为本实施例提供的数据同步系统100的结构示意图。如图1所示,本实施例所提供的数据同步系统100包括数据同步单元10、数据库20以及至少一个数据查询单元30。
其中,数据同步单元10分别与数据库20以及各数据查询单元30通信连接。可选的,数据同步单元10可以是单个物理服务器,也可以是由多个用于执行不同数据处理功能的物理服务器构成的服务器组。服务器组可以是集中式的,也可以是分布式的。在一些可能的实施方式中,若数据同步单元10采用单个物理服务器,可以基于不同服务功能为该物理服务器分配不同的逻辑服务器组件。
在一些可选的实施方式中,数据库20可以是存储数据和/或指令。在一些实施例中,数据库20可以存储从服务请求方终端如用户端获得的数据。在一些实施例中,数据库20可以存储在本实施例中描述的示例性方法的数据和/或指令。在一些实施例中,数据库20可以包括大容量存储器、可移动存储器、易失性读写存储器、或只读存储器(Read-OnlyMemory,ROM)等,或其任意组合。
在一些实施方式中,数据库20可以在云平台上实现。仅作为示例,云平台可以包括私有云、公有云、混合云、社区云、分布式云、跨云、多云、弹性云或者其它类似的等,或其任意组合。
在一些实施方式中,数据库20可以连接到网络以与数据同步单元10中的一个或多个组件通信。数据同步单元10中的一个或多个组件可以经由网络访问存储在数据库20中的数据或指令。在一些实施方式中,数据库20可以直接连接到数据同步单元10中的一个或多个组件。或者,在一些实施例中,数据库20也可以是数据同步单元10的一部分。
在本实施例中,数据库20可以是分布式数据库,用于各商品的库存量以及变化量。
在一些可选的实施方式中,数据查询单元30可以是单个服务器,也可以是由多个用于执行不同数据处理功能的物理服务器构成的服务器组。服务器组可以是集中式的,也可以是分布式的。在一些可能的实施方式中,若数据同步单元10采用单个物理服务器,可以基于不同服务功能为该物理服务器分配不同的逻辑服务器组件。在一下可能的实施方式中,多个数据查询单元30可以组成数据查询集群。
在本实施例中,数据查询单元30提供有数据查询接口,通过数据查询接口向用户端提供数据查询服务。在一种具体地实施方式,若用户端需要查询库存数据时,可通过调用数据查询接口,向数据查询单元30发送数据查询请求,数据查询单元30则可向用户端返回数据查询的结果。
在本实施例中,数据查询单元30在启动后,会与数据库20建立连接,读取数据库20中的所有库存数据,并保存在本地,当接收到用户端发送的数据查询请求后,则可以将保存在本地的库存数据返回到用户端。
由于用户量较大,在同一时刻,可能存在多个用户端同时向不同的数据查询单元30查询库存数据,一方面若数据查询单元30的库存数据未更新,即数据查询单元30本地保存的库存数据与数据库20中的库存数据不同时,则会向用户端返回错误结果,从而导致超卖、超买的问题。另一方面,若多个数据查询单元30在接收到数据查询请求后,同时去读取数据库20中的库存数据,则可能会导致数据库20崩溃,数据丢失等问题。
基于此,本实施例通过数据同步单元10实时监听数据库20中库存数据的变化量,将变化后的库存数据同步到各数据查询单元30,一方面实现了各数据查询单元30的数据同步,避免了用户数据查询结果出错,导致的超卖、超买的问题,另一方面,各数据查询单元30无需查询数据库20,即可获得当前库存量,避免了数据库20负荷过大而导致奔溃、数据丢失的问题。
具体地,数据同步单元10用于实时监听数据库20中的库存数据,在监听到库存数据存在变化量时,读取所述库存数据的变化量。
数据同步单元10用于根据库存数据的变化量,计算得到当前库存量,将当前库存量同步到每个数据查询单元30。
可选的,在本实施例中,数据库20可以是分布式数据库,各商品的库存数据的变化量存储于数据库20的binlog(二进制日志)中,数据库20同步单元对数据库20的binlog进行实时监听。当binlog中某个商品的库存数据产生了变化量,则读取该商品的库存数据的变化量,根据库存数据的变化量,计算得到该商品当前的库存量,将该商品当前的库存量同步到各数据查询单元30。
例如,对于某商品,商家新增了库存量,假设新增了a个,则在binlog中,该商品的变化量为新增a个,数据同步单元10读取到该变化量,即新增a个,根据该变化量,计算到该商品的当前库存量,若该商品原有b个,则该商品的当前库存量为a+b。又例如,对于该商品,买家买了n个,则在binlog中,该商品的变化量为减少n个,数据同步单元10读取到减少n个的变化量,根据该变化量,计算到该商品的当前库存量为b-n。可选的,数据同步单元10在计算到当前库存量后,可以将当前库存量保存在本地,便于下一次存在变化量时进行计算,也可以将当前库存量返回至数据库20,在下一次存在变化量,从数据库20中读取该当前库存量以及下一次的变化量,将该当前库存量作为商品上一次的原有商品量,然后根据下一次的变化量,计算得到下一次的当前库存量。
为了便于数据库20获取最新的变化量,保证数据的准确性,请结合参阅图2,在本实施例中,数据同步系统100还包括数据写入单元40。所述数据写入单元40用于获取用户端发起的订单请求,根据订单请求,得到订单请求对应的库存数据的变化量,将订单请求对应的库存数据的变化量写入到数据库20。
其中,数据写入单元40可以是单个物理服务器,也可以是由多个用于执行不同数据处理功能的物理服务器构成的服务器组。服务器组可以是集中式的,也可以是分布式的。在一些可能的实施方式中,若数据写入单元40采用单个物理服务器,可以基于不同服务功能为该物理服务器分配不同的逻辑服务器组件。
在本实施例中,数据写入单元40提供有数据获取接口,当用户通过用户端上的应用程序(APP)发起购买下单或者入库等订单请求时,数据写入单元40则可以通过数据获取接口获取得到用户端发起的订单请求,对订单请求进行分析,得到订单请求对应的库存数据的变化量,然后将订单请求对应的库存数据的变化量写入到数据库20的binlog日志。
例如,对于顾客用户端来说,若要购买A商品a个,则可在用户端的APP发起购买A商品a个的订单请求,数据写入单元40通过数据获取接口获取得到用户端发起的订单请求,对订单请求进行分析后,可得到订单请求对应的库存数据的变化量为A商品减少a个,然后将A商品减少a个的变化量写入到数据库20日志中A商品的对应存储地址。
又例如,对于商品用户端来说,若要增加B商品的库存,则可在用户端的APP发起入库B商品b个的订单请求,数据写入单元40通过数据获取接口获取得到用户端发起的订单请求,对订单请求进行分析后,可得到订单请求对应的库存数据的变化量为B商品增加b个,然后将B商品增加b个的变化量写入到数据库20日志中B商品的对应存储地址。
为了避免数据写入出错,在本实施例中,数据写入单元40在将订单请求对应的库存数据的变化量写入到数据库20之前,还需分析订单请求是否为合法请求以及订单请求对应的库存数据的变化量是否满足库存需求。若订单请求为合法请求且订单请求对应的库存数据的变化量满足库存需求,将订单请求对应的库存数据的变化量写入到数据库20。
可选的,分析订单请求是否为合法请求可以是,分析订单请求是否为恶意刷单、无效订单等等。
可选的,分析订单请求对应的库存数据的变化量是否满足库存需求可以是,分析订单请求对应的库存数据的减少量是否大于当前的库存量,例如,订单请求为购买请求,其对应的变化量为A商品减少a个,但当前的A商品的库存量只有a1个,a大于a1,则判定订单请求对应的库存数据的减少量大于当前的库存量,无法满足库存需求。
分析订单请求对应的库存数据的变化量是否满足库存需求还可以是,分析订单请求对应的库存数据的变化量是否满足设定的数值条件,例如设定的数值条件为整数,若分析订单请求对应的库存数据的变化量为小数,则不满足设定的数值条件,即不满足库存需求。
在本实施例中,具体的库存需求可根据实际需求而设置,本实施例不做具体限制。
在订单请求为合法请求且订单请求对应的库存数据的变化量满足库存需求,才将订单请求对应的库存数据的变化量写入到数据库20。若订单请求不为合法请求和/或订单请求对应的库存数据的变化量未满足库存需求时,则无需将订单请求对应的库存数据的变化量写入到数据库20。如此可保证数据写入的准确性,以及提高数据处理的效率。
当数据写入单元40将库存数据的变化量写入到数据库20后,由于数据同步单元10实时监听数据库20中的库存数据,因此,数据同步单元10可在数据写入单元40将库存数据的变化量写入到数据库20后,实时读取库存数据的变化量,然后根据库存数据的变化量,计算得到当前库存量,并将当前库存量同步到各数据查询单元30。
可选的,数据同步单元10可以将当前库存量打包成数据包,然后通过广播的形式,向各数据查询单元30发送数据包。
为了便于数据同步单元10将当前库存量同步到各数据查询单元30,在本实施例中,请结合参阅图3,数据同步系统100还包括分布式队列服务单元50。
数据同步单元10用于将当前库存量写入到分布式队列服务单元50。
分布式队列服务单元50用于通过发布订阅机制,将当前库存量推送到各数据查询单元30。
可选的,在本实施例中,分布式队列服务单元50可以是由多个用于执行不同数据处理功能的物理服务器构成的服务器组。
各数据查询单元30可预先订阅分布式队列服务单元50的库存量发布事件,在各数据查询单元30订阅分布式队列服务单元50的库存量发布事件后,一旦分布式队列服务单元50有新的当前库存量出现时,则会主动将新的当前库存量推送到各数据查询单元30。
因此,在数据同步单元10将当前库存量写入到分布式队列服务单元50以后,分布式队列服务单元50则可以将当前库存量发布到已订阅的各数据查询单元30中,从而实现数据的实时同步,避免因数据同步不及时,导致的超买、超卖问题。
可选的,在将当前库存量同步到每个数据查询单元30后,各数据查询单元30根据当前库存量,更新本地存储的库存数据,并可以在接收到用户端发送的数据查询请求后,响应数据查询请求,将更新后的库存数据发送到用户端,用户端即可获得最新的库存数据,然后根据最新的库存数据进行交易,可以有效避免因数据同步不及时,导致的超买、超卖问题。
本实施例所提供的数据同步系统100,通过数据同步单元10实时监听数据库20中的库存数据,在监听到库存数据存在变化量时,读取库存数据的变化量,根据库存数据的变化量,计算得到当前库存量,将当前库存量同步到每个数据查询单元30,如此,实现了库存数据的同步,并且保证了数据同步的实时性,可以有效避免超卖、超买的问题。
基于同一发明构思,请结合参阅图4,本实施例还提供一种数据同步方法,图4为本实施例所提供的数据同步方法的流程示意图。本实施例所提供的数据同步方法应用于上述所述的数据同步系统100。下面对图4所示的流程示意图进行详细阐述。
步骤S10:数据同步单元实时监听数据库中的库存数据,在监听到库存数据存在变化量时,读取库存数据的变化量。
步骤S20:数据同步单元根据库存数据的变化量,计算得到当前库存量,将当前库存量同步到每个数据查询单元。
本实施例所提供的数据同步方法,通过数据同步单元实时监听数据库中的库存数据,在监听到库存数据存在变化量时,读取库存数据的变化量,根据库存数据的变化量,计算得到当前库存量,将当前库存量同步到每个数据查询单元,如此,实现了库存数据的同步,并且保证了数据同步的实时性,可以有效避免超卖、超买的问题。
在可选的实施方式中,数据同步系统还包括分布式队列服务单元,将当前库存量同步到每个数据查询单元的步骤包括:
数据同步单元将当前库存量写入到分布式队列服务单元。
分布式队列服务单元通过发布订阅机制,将当前库存量推送到各数据查询单元。
在可选的实施方式中,数据同步系统还包括数据写入单元,方法还包括:
数据写入单元获取用户端发起的订单请求。
根据订单请求,得到订单请求对应的库存数据的变化量。
将订单请求对应的库存数据的变化量写入到数据库。
在可选的实施方式中,在将订单请求对应的库存数据的变化量写入到数据库之前,所述方法还包括:
数据写入单元分析订单请求是否为合法请求以及订单请求对应的库存数据的变化量是否满足库存需求。
若订单请求为合法请求且订单请求对应的库存数据的变化量满足库存需求,将订单请求对应的库存数据的变化量写入到数据库。
在可选的实施方式中,在将当前库存量同步到每个数据查询单元后,所述方法还包括:
各数据查询单元根据当前库存量,更新本地存储的库存数据。
在可选的实施方式中,所述方法还包括:
数据查询单元接收用户端发送的数据查询请求。
根据数据查询请求,将更新后的库存数据发送到用户端。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的应用于数据同步系统100的数据同步方法的具体工作过程,可以参考前述系统中的对应过程,在此不再过多赘述。
在上述基础上,本实施例还提供一种数据同步方法,应用于图1中的数据同步单元10,本实施例所提供的应用于数据同步单元10的数据同步方法的步骤可以包括:
实时监听数据库中的库存数据,在监听到库存数据存在变化量时,读取库存数据的变化量。
根据库存数据的变化量,计算得到当前库存量,将当前库存量同步到每个数据查询单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的应用于数据同步单元的数据同步方法的具体工作过程,可以参考前述系统中的对应过程,在此不再过多赘述。
在上述基础上,请结合参阅图5,本实施例还提供一种数据同步装置11,应用于数据同步单元10,其中,数据同步装置11包括至少一个可以软件或固件(firmware)的形式存储于数据同步单元10的存储器中的软件功能模块,数据同步单元10的处理器通过运行存储在存储器内的软件程序以及模块(即数据同步装置11所包括的功能模块),从而执行各种功能应用以及数据处理,即实现本发明实施例中的数据同步方法。
如图5所示,本实施例所提供的数据同步装置11包括数据监听模块111、数据读取模块112以及数据同步模块113。
数据监听模块111用于实时监听数据库20中的库存数据,在监听到库存数据存在变化量时,数据读取模块112用于读取库存数据的变化量。
数据同步模块113用于根据库存数据的变化量,计算得到当前库存量,将当前库存量同步到每个数据查询单元30。
本实施例所提供的数据同步装置,通过实时监听数据库中的库存数据,在监听到库存数据存在变化量时,读取库存数据的变化量,根据库存数据的变化量,计算得到当前库存量,将当前库存量同步到每个数据查询单元,如此,实现了库存数据的同步,并且保证了数据同步的实时性,可以有效避免超卖、超买的问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据同步装置11的具体工作过程,可以参考前述系统中的对应过程,在此不再过多赘述。
综上,本实施例提供的数据同步方法、装置和系统,通过数据同步单元实时监听数据库中的库存数据,在监听到库存数据存在变化量时,读取库存数据的变化量,根据库存数据的变化量,计算得到当前库存量,将当前库存量同步到每个数据查询单元,如此,实现了库存数据的同步,并且保证了数据同步的实时性,可以有效避免超卖、超买的问题。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据同步方法,其特征在于,应用于数据同步系统,所述数据同步系统包括数据同步单元、数据库以及至少一个数据查询单元;所述方法包括:
所述数据同步单元实时监听所述数据库中的库存数据,在监听到所述库存数据存在变化量时,读取所述库存数据的变化量;
所述数据同步单元根据所述库存数据的变化量,计算得到当前库存量,将所述当前库存量同步到每个所述数据查询单元。
2.根据权利要求1所述的数据同步方法,其特征在于,所述数据同步系统还包括分布式队列服务单元,所述将所述当前库存量同步到每个所述数据查询单元的步骤包括:
所述数据同步单元将所述当前库存量写入到所述分布式队列服务单元;
所述分布式队列服务单元通过发布订阅机制,将所述当前库存量推送到各所述数据查询单元。
3.根据权利要求1所述的数据同步方法,其特征在于,所述数据同步系统还包括数据写入单元,所述方法还包括:
所述数据写入单元获取用户端发起的订单请求;
根据所述订单请求,得到所述订单请求对应的库存数据的变化量;
将所述订单请求对应的库存数据的变化量写入到所述数据库。
4.根据权利要求3所述的数据同步方法,其特征在于,在将所述订单请求对应的库存数据的变化量写入到所述数据库之前,所述方法还包括:
所述数据写入单元分析所述订单请求是否为合法请求以及所述订单请求对应的库存数据的变化量是否满足库存需求;
若所述订单请求为合法请求且所述订单请求对应的库存数据的变化量满足库存需求,将所述订单请求对应的库存数据的变化量写入到所述数据库。
5.根据权利要求1所述的数据同步方法,其特征在于,在将所述当前库存量同步到每个所述数据查询单元后,所述方法还包括:
各所述数据查询单元根据所述当前库存量,更新本地存储的库存数据。
6.根据权利要求5所述的数据同步方法,其特征在于,所述方法还包括:
所述数据查询单元接收用户端发送的数据查询请求;
根据所述数据查询请求,将更新后的库存数据发送到所述用户端。
7.一种数据同步方法,其特征在于,应用于数据同步单元,所述方法包括:
实时监听数据库中的库存数据,在监听到所述库存数据存在变化量时,读取所述库存数据的变化量;
根据所述库存数据的变化量,计算得到当前库存量,将所述当前库存量同步到每个数据查询单元。
8.一种数据同步装置,其特征在于,应用于数据同步单元,所述装置包括数据监听模块、数据读取模块以及数据同步模块;
所述数据监听模块用于实时监听数据库中的库存数据,在监听到所述库存数据存在变化量时,所述数据读取模块用于读取所述库存数据的变化量;
所述数据同步模块用于根据所述库存数据的变化量,计算得到当前库存量,将所述当前库存量同步到每个数据查询单元。
9.一种数据同步系统,其特征在于,包括数据同步单元、数据库以及至少一个数据查询单元;
所述数据同步单元用于实时监听所述数据库中的库存数据,在监听到所述库存数据存在变化量时,读取所述库存数据的变化量;
所述数据同步单元用于根据所述库存数据的变化量,计算得到当前库存量,将所述当前库存量同步到每个所述数据查询单元。
10.根据权利要求9所述的数据同步系统,其特征在于,所述数据同步系统还包括分布式队列服务单元;
所述数据同步单元用于将所述当前库存量写入到分布式队列服务单元;
所述分布式队列服务单元用于通过发布订阅机制,将所述当前库存量推送到各所述数据查询单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110115796.5A CN112765277A (zh) | 2021-01-28 | 2021-01-28 | 数据同步方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110115796.5A CN112765277A (zh) | 2021-01-28 | 2021-01-28 | 数据同步方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112765277A true CN112765277A (zh) | 2021-05-07 |
Family
ID=75706308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110115796.5A Pending CN112765277A (zh) | 2021-01-28 | 2021-01-28 | 数据同步方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112765277A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636933A (zh) * | 2015-02-11 | 2015-05-20 | 广州唯品会信息科技有限公司 | 电子商务网站超卖原因定位的方法及装置 |
CN108629653A (zh) * | 2018-03-29 | 2018-10-09 | 客如云科技(成都)有限责任公司 | 一种低延时库存扣减服务系统及方法 |
CN109472443A (zh) * | 2018-09-27 | 2019-03-15 | 深圳市启海仓储有限公司 | 一种商品库存自动分配方法及平台 |
CN110019330A (zh) * | 2017-09-07 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 信息输出方法和装置 |
CN110888893A (zh) * | 2019-11-18 | 2020-03-17 | 湖南御家科技有限公司 | 一种基于微服务电商系统的订单处理方法 |
CN111369314A (zh) * | 2020-02-27 | 2020-07-03 | 上海百秋电子商务有限公司 | 一种电商多平台多店铺共享库存分配方法 |
CN111752957A (zh) * | 2019-03-28 | 2020-10-09 | 苏宁易购集团股份有限公司 | 一种基于缓存化的销售锁定方法及系统 |
CN111915259A (zh) * | 2020-08-07 | 2020-11-10 | 上海百胜软件股份有限公司 | 一种用于电商的库存数量的管理方法及系统 |
CN111984723A (zh) * | 2019-05-24 | 2020-11-24 | 深圳市明源云科技有限公司 | 数据同步方法、装置及终端设备 |
CN112102040A (zh) * | 2020-09-27 | 2020-12-18 | 中国建设银行股份有限公司 | 一种分布式环境下全局库存控制方法及系统 |
CN112148675A (zh) * | 2020-11-24 | 2020-12-29 | 树根互联技术有限公司 | 数据传输方法、装置、电子设备及存储介质 |
-
2021
- 2021-01-28 CN CN202110115796.5A patent/CN112765277A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636933A (zh) * | 2015-02-11 | 2015-05-20 | 广州唯品会信息科技有限公司 | 电子商务网站超卖原因定位的方法及装置 |
CN110019330A (zh) * | 2017-09-07 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 信息输出方法和装置 |
CN108629653A (zh) * | 2018-03-29 | 2018-10-09 | 客如云科技(成都)有限责任公司 | 一种低延时库存扣减服务系统及方法 |
CN109472443A (zh) * | 2018-09-27 | 2019-03-15 | 深圳市启海仓储有限公司 | 一种商品库存自动分配方法及平台 |
CN111752957A (zh) * | 2019-03-28 | 2020-10-09 | 苏宁易购集团股份有限公司 | 一种基于缓存化的销售锁定方法及系统 |
CN111984723A (zh) * | 2019-05-24 | 2020-11-24 | 深圳市明源云科技有限公司 | 数据同步方法、装置及终端设备 |
CN110888893A (zh) * | 2019-11-18 | 2020-03-17 | 湖南御家科技有限公司 | 一种基于微服务电商系统的订单处理方法 |
CN111369314A (zh) * | 2020-02-27 | 2020-07-03 | 上海百秋电子商务有限公司 | 一种电商多平台多店铺共享库存分配方法 |
CN111915259A (zh) * | 2020-08-07 | 2020-11-10 | 上海百胜软件股份有限公司 | 一种用于电商的库存数量的管理方法及系统 |
CN112102040A (zh) * | 2020-09-27 | 2020-12-18 | 中国建设银行股份有限公司 | 一种分布式环境下全局库存控制方法及系统 |
CN112148675A (zh) * | 2020-11-24 | 2020-12-29 | 树根互联技术有限公司 | 数据传输方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108055343B (zh) | 用于机房的数据同步方法及装置 | |
CN112307057A (zh) | 数据的处理方法及装置、电子设备、计算机存储介质 | |
CN110716825B (zh) | 数据容灾处理方法、装置及系统 | |
CN112929401A (zh) | 一种注册方法及装置 | |
CN114091704B (zh) | 一种告警压制方法和装置 | |
CN111159211A (zh) | 订单信息生成方法、装置、系统、计算机设备及存储介质 | |
CN107704357B (zh) | 日志生成方法和装置 | |
CN111343267A (zh) | 一种配置的管理方法及系统 | |
CN111191094A (zh) | 一种ceph存储对象搜索方法、装置及存储设备 | |
CN114153862A (zh) | 业务数据处理方法、装置、设备及存储介质 | |
CN116662022B (zh) | 分布式消息处理方法、系统、装置、通信设备及存储介质 | |
CN108932241B (zh) | 日志数据统计方法、装置及节点 | |
CN112765277A (zh) | 数据同步方法、装置和系统 | |
CN111984723A (zh) | 数据同步方法、装置及终端设备 | |
CN111506564A (zh) | 基于cs架构的远程数据管理方法、装置、计算机设备及存储介质 | |
CN111767481A (zh) | 访问处理方法、装置、设备和存储介质 | |
CN107679096B (zh) | 数据集市间指标共享的方法和装置 | |
US20200118016A1 (en) | Data attribution using frequent pattern analysis | |
CN115796914A (zh) | 运营数据分析方法、系统、计算机设备及存储介质 | |
CN112463181B (zh) | 多云场景下的软件制品分发方法、装置、设备和存储介质 | |
CN115170152A (zh) | 一种数据分发方法、装置、设备和存储介质 | |
US11797919B2 (en) | Document-based distributed inventory system with rebalancing | |
CN111881148A (zh) | 对象组合的属性确定方法、装置、电子设备 | |
US10019248B2 (en) | System and method for service matching of instant message software | |
JP4664847B2 (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 |