CN113806328A - 库存数据及业务迁移方法、装置及存储介质和电子设备 - Google Patents

库存数据及业务迁移方法、装置及存储介质和电子设备 Download PDF

Info

Publication number
CN113806328A
CN113806328A CN202110229889.0A CN202110229889A CN113806328A CN 113806328 A CN113806328 A CN 113806328A CN 202110229889 A CN202110229889 A CN 202110229889A CN 113806328 A CN113806328 A CN 113806328A
Authority
CN
China
Prior art keywords
inventory
inventory system
goods
stock
data
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
CN202110229889.0A
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 Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi 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 Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN202110229889.0A priority Critical patent/CN113806328A/zh
Publication of CN113806328A publication Critical patent/CN113806328A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • G06Q10/0875Itemisation or classification of parts, supplies or services, e.g. bill of materials

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提出库存数据及业务迁移方法、装置及可读存储介质和电子设备。方法包括:响应于库存数据及业务迁移请求,将第一库存系统中货品的当前库存数据发送到第二库存系统,第二库存系统初始化第二库存系统的库存数据;接收到发往第一库存系统的针对所述货品的库存业务请求,将该请求复制一份发送到第二库存系统,第一和第二库存系统同时根据所述业务请求对所述货品的当前库存数据进行处理;当第二库存系统与第一库存系统同步运行预设时长后,检查第一库存系统和第二库存系统中所述货品的库存数据是否一致;若一致,则将针对所述货品的所有库存业务从第一库存系统迁移到第二库存系统。本发明实施例实现了库存数据及业务的平滑迁移。

Description

库存数据及业务迁移方法、装置及存储介质和电子设备
技术领域
本发明涉及库存管理技术领域,尤其涉及库存数据及业务迁移方法、装置及存储介质和电子设备。
背景技术
当随着业务的发展、变更,需要为库存管理系统新建一套新的库存模型时,需要将原系统的库存数据及业务迁移到新的模型。因此新的库存模型需要兼容原库存模型场景,平滑迁移库存数据及业务,使用户无感知是一项提升用户体验的指标。目前,当需要将库存数据及业务从老库存系统切换到新库存系统时,需要多方协作,也需要仓库停产、供货商停产,甚至需要DBA(DataBase Administrator,数据库管理员)协助,降低了用户体验,影响了生产效率,也提高了人工成本。
发明内容
本发明实施例提出库存数据及业务迁移方法、装置及可读存储介质和电子设备,以实现库存数据及业务在不同库存系统之间的平滑迁移。
本发明实施例的技术方案是这样实现的:
一种库存数据及业务迁移方法,该方法包括:
响应于库存数据及业务迁移请求,所述请求的内容为:将一个或多个货品的库存数据及业务从第一库存系统迁移到第二库存系统;
将第一库存系统中所述货品的当前库存数据发送到第二库存系统,以使得:第二库存系统采用第一库存系统中所述货品的当前库存数据初始化第二库存系统的库存数据;
接收到发往第一库存系统的针对所述货品的库存业务请求,将该请求复制一份发送到第二库存系统,以使得:第一库存系统和第二库存系统同时根据所述库存业务请求对所述货品的当前库存数据进行处理;
当第二库存系统与第一库存系统同步运行预设时长后,检查第一库存系统和第二库存系统中所述货品的库存数据是否一致;
若一致,则将针对所述货品的所有库存业务从第一库存系统迁移到第二库存系统。
所述检查第一库存系统和第二库存系统中所述货品的库存数据是否一致之后,进一步包括:
若不一致,则等待第二库存系统修复完毕,返回所述将第一库存系统中所述货品的当前库存数据发送到第二库存系统的动作。
所述将第一库存系统中所述货品的当前库存数据发送到第二库存系统包括:
针对所述货品,构造可用库存操作量为0的初始化单据,向第一库存系统发送该单据;
获取第一库存系统操作该单据后得到的库存流水,所述库存流水包括:所述初始化单据和所述货品的可用库存剩余量;
根据所述库存流水中的可用库存剩余量,修改所述初始化单据,修改后的初始化单据中的可用库存操作量为所述货品的可用库存剩余量;
将修改后的初始化单据发送给第二库存系统,以使得:第二库存系统操作该修改后的初始化单据后,根据得到的所述货品的可用库存剩余量初始化自身的所述货品的可用库存量。
所述将第一库存系统中所述货品的当前库存数据发送到第二库存系统包括:
将第一库存系统中所述货品的实际剩余库存量减去所述货品的预占量,得到所述货品的可用库存剩余量;
将所述货品的可用库存剩余量发送给第二库存系统,以使得:第二库存系统根据所述货品的可用库存剩余量初始化自身的所述货品的可用库存量。
所述将该请求复制一份发送到第二库存系统之后,进一步包括:
第二库存系统接收该单据,判断自身是否已初始化过该单据中的货品的可用库存量,若是,操作该单据;否则,抛异常重试。
所述第二库存系统判定自身已初始化过该单据中的货品的可用库存量之后、所述操作该单据之前,进一步包括:
第二库存系统在第一库存系统的库存流水中查找该单据对应的库存流水;
若查找到,判断该库存流水中的主键id是否不大于初始化单据对应的库存流水中的主键id;
若不大于,则丢弃该单据;否则,执行所述操作该单据的动作。
所述第二库存系统接收该单据之后、所述判断自身是否已初始化过该单据中的货品的可用库存量之前,进一步包括:
第二库存系统判断该单据的单号是否为约定的初始化单据的单号;
若是,则丢弃该单据,并返回操作成功;否则,执行所述判断自身是否已初始化过该单据中的货品的可用库存量的动作。
所述若一致之后、所述将针对所述货品的所有库存业务从第一库存系统迁移到第二库存系统之前,进一步包括:
确定开始执行如下操作:
当第一库存系统新生成库存流水时,在第二库存系统的各库存流水中的单据中查找与第一库存系统该新生成的库存流水中的单据匹配的单据;
若未查找到,则将第一库存系统该新生成的库存流水中的单据发送给第二库存系统,以使得第二库存系统操作该单据。
一种库存数据及业务迁移装置,该装置包括:
库存数据初始化模块,用于响应于库存数据及业务迁移请求,所述请求的内容为:将一个或多个货品的库存数据及业务从第一库存系统迁移到第二库存系统;将第一库存系统中所述货品的当前库存数据发送到第二库存系统,以使得:第二库存系统采用第一库存系统中所述货品的当前库存数据初始化第二库存系统的库存数据;
业务灰度模块,用于接收到发往第一库存系统的针对所述货品的库存业务请求,将该请求复制一份发送到第二库存系统,以使得:第一库存系统和第二库存系统同时根据所述库存业务请求对所述货品的当前库存数据进行处理;
业务迁移模块,用于当第二库存系统与第一库存系统同步运行预设时长后,检查第一库存系统和第二库存系统中所述货品的库存数据是否一致,若一致,则将针对所述货品的所有库存业务从第一库存系统迁移到第二库存系统。
一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上任一项所述的库存数据及业务迁移方法的步骤。
一种电子设备,包括如上所述的非瞬时计算机可读存储介质、以及可访问所述非瞬时计算机可读存储介质的所述处理器。
本发明实施例实现了在不同库存系统之间平滑切换库存数据及业务,且用户无感知,提升了用户体验,且不需要仓库停产、不需要供货商停产,也不需要DBA协助,提高了生产效率,降低了人工成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的库存数据及业务迁移方法流程图;
图2为本发明实施例提供的初始化第二库存系统的库存数据的方法流程图;
图3为本发明实施例提供的库存业务灰度处理方法流程图;
图4为本发明实施例提供的库存业务迁移方法流程图;
图5为本发明实施例提供的库存数据及业务迁移装置的结构示意图;
图6为本发明实施例提供的一种电子设备的示例性结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
本发明实施例提出一种库存数据及业务迁移方法。当需要将一个或多个货品的库存数据及业务从第一库存系统迁移到第二库存系统时,将第一库存系统中上述货品的当前库存数据发送到第二库存系统,以使得第二库存系统采用第一库存系统中上述货品的当前库存数据初始化第二库存系统的库存数据;当接收到发往第一库存系统的针对上述货品的库存业务请求时,将该请求复制一份发送到第二库存系统,以使得第一库存系统和第二库存系统同时根据该库存业务请求对上述货品的库存数据进行处理;当第二库存系统运行预设时长后,检查第一库存系统和第二库存系统中上述货品的库存数据是否一致,若一致,则将针对上述货品的所有库存业务从第一库存系统迁移到第二库存系统。从而实现了在不同库存系统之间平滑切换库存数据及业务,且用户无感知,提升了用户体验,且不需要仓库停产、不需要供货商停产,也不需要DBA协助,提高了生产效率,降低了人工成本。
图1为本发明一实施例提供的库存数据及业务迁移方法流程图,其具体步骤如下:
步骤101:响应于库存数据及业务迁移请求,请求的内容为:将一个或多个货品的库存数据及业务从第一库存系统迁移到第二库存系统;将第一库存系统中上述货品的当前库存数据发送到第二库存系统,以使得:第二库存系统采用第一库存系统中上述货品的当前库存数据初始化第二库存系统的库存数据。
为了不影响第一库存系统的正常运行,可将第一库存系统中上述货品的当前库存数据异步发送到第二库存系统。
步骤102:当接收到发往第一库存系统的针对上述货品的库存业务请求时,将该请求复制一份发送到第二库存系统,以使得:第一库存系统和第二库存系统同时根据该库存业务请求对上述货品的当前库存数据进行处理。
步骤103:当第二库存系统与第一库存系统同步运行预设时长后,检查第一库存系统和第二库存系统中上述货品的库存数据是否一致,若一致,则将针对所述货品的所有库存业务从第一库存系统迁移到第二库存系统。
即,若一致,则停止第一库存系统接收针对上述货品的库存业务请求,此后,针对上述货品的库存业务请求只发给第二库存系统,从而第二库存系统正式接管了上述货品的库存数据及业务。
通过上述实施例,实现了在不同库存系统之间平滑切换库存数据及业务,且用户无感知,提升了用户体验,且不需要仓库停产、不需要供货商停产,也不需要DBA协助,提高了生产效率,降低了人工成本。
一可选实施例中,步骤103中,检查第一库存系统和第二库存系统中所述货品的库存数据是否一致之后,进一步包括:
若不一致,则等待第二库存系统修复完毕,再返回步骤101中执行“将第一库存系统中所述货品的当前库存数据发送到第二库存系统”的动作,直到将第一库存系统的库存数据及业务成功迁移到第二库存系统。
一可选实施例中,步骤101中,将第一库存系统中上述货品的当前库存数据发送到第二库存系统可采用如下方式之一:
方式一、针对上述货品,构造可用库存操作量为0的初始化单据,向第一库存系统发送该单据,获取第一库存系统操作该单据后得到的库存流水,该库存流水包括:该初始化单据和上述货品的可用库存剩余量;根据该库存流水中的可用库存剩余量,修改该初始化单据,修改后的初始化单据中的可用库存操作量为上述货品的可用库存剩余量,将修改后的初始化单据发送给第二库存系统,以使得:第二库存系统操作该修改后的初始化单据后,根据得到的所述货品的可用库存剩余量初始化自身的所述货品的可用库存量。
第二库存系统操作修改后的初始化单据后,第二库存系统中上述货品的可用库存剩余量就与第一库存系统一致了。
方式二、将第一库存系统中上述货品的实际剩余库存量减去上述货品的预占量,得到上述货品的可用库存剩余量,将上述货品的可用库存剩余量发送给第二库存系统,以使得:第二库存系统根据上述货品的可用库存剩余量初始化自身的上述货品的可用库存量。
通过上述实施例,实现了第二库存系统获取第一库存系统中的货品的可用库存剩余量。
由于目前库存系统预占是同步预占,供货商直接同步调用库存系统预占,因此在将货品的库存数据迁移到第二库存系统前,借用第一库存系统的对应货品的库存数据是很重要的一个环节。而由于库存操作必然会记录库存流水,库存流水记录方式虽然有多种,但是都可转换成可用库存操作量和可用库存剩余量。因此使用第一库存系统的库存流水产生的binlog(二进制日志)来初始化第二库存系统的对应货品的库存数据是一种可行方案。从而,本发明实施例中,采用构造初始化单据来操作第一库存系统,该初始化单据中的货品的可用库存操作量都是0,以便第一库存系统接收到该初始化单据后,产生针对对应货品操作0个库存的库存流水binlog。
第一库存系统的库存流水(warehouse_stock_flow)的记录格式可如表1所示:
Figure BDA0002957475750000081
表1
如表1所示,第一库存系统的库存流水记录中主要包括:Id(流水记录主键)、bizNo(单号)、deptNo(供货商号)、sku(货品属性)、warehouseNo(仓库号)、goodsLevel(货品等级)、usableChangeQty(可用库存操作量)、usableRemainQty(可用库存剩余量)、等等。
第一库存系统的库存(warehouse_stock)的记录示例可如表2所示:
Figure BDA0002957475750000082
表2
表2表示的是,XXX供货商的EMG4398060778624货品中的100等级的货品在110007402仓库有10库存可用。
初始化单据的明细可如表3所示:
Figure BDA0002957475750000091
表3
表3表示的是单号为init_stock_x的单据,该单据请求对XXX供货商的110007402仓库的EMG4398060778624货品中的等级为100的货品进行可用库存操作量为0的库存操作。
针对表3所示的单据,第一库存系统进行对应操作成功后生成的库存流水的记录如表4所示:
Figure BDA0002957475750000092
表4
如表4所示,对init_stock_x单据操作成功后生成库存流水,该库存流水主要包括三方面的内容:
一、自增主键(id):Y;
二、初始化单据的所有内容,包括:
单号:init_stock_x、供货商号:XXX、货品属性:EMG4398060778624、仓库号:110007402、货品等级:100、可用库存操作量:0;
三、可用剩余库存量:10。
可见,通过采用上述可用库存操作量为0的初始化单据输入第一库存系统,第一库存系统对该单据操作后,第一库存系统中对应货品的可用库存剩余量就记录在生成的库存流水中了,即就自动获取了第一库存系统中对应货品的可用库存剩余量。
图2为本发明实施例提供的初始化第二库存系统的库存数据的方法流程图,其具体步骤如下:
步骤201:消费第一库存系统生成的库存流水binlog。
第一库存系统生成库存流水后,该库存流水会以binlog的方式存到数据库中,称为库存流水binlog。
为了确保库存流水binlog的顺利生成,需要将如下两参数都置1:Innodb_flush_log_at_trx_commit和sync_binlog,Innodb_flush_log_at_trx_commit=1,则提交事务时,就必须把redo log从内存刷入到磁盘文件里去,只要事务提交成功,那么redo log就必然在磁盘里了;sync_binlog控制着二进制日志写入磁盘的过程,sync_binlog=1,则表示事务提交后,将二进制文件写入磁盘并立即执行刷新操作,相当于是同步写入磁盘,不经过操作系统的缓存。
步骤202:根据该库存流水binlog中的单号,确定该单号为初始化单据的单号,则根据该库存流水binlog中的初始化单据和货品的可用库存剩余量,修改该初始化单据,修改后的初始化单据中的可用库存操作量为货品的可用库存剩余量。
初始化单据的单号是预先设定的,以表示该单号的单据为初始化单据。
若第一库存系统生成的库存流水binlog中的单号不是初始化单据的单号,则该库存流水binlog中的单据不发送给第二库存系统进行操作,只以该单据中的单号+货品属性+仓库号+货品等级为key(索引),以其对应的库存流水主键id为值存储在预设的存储设备中。
设库存流水binlog对应的库存流水如表4所示,则修改后的初始化单据的明细如表5所示:
Figure BDA0002957475750000101
Figure BDA0002957475750000111
表5
步骤203:将修改后的初始化单据发送给第二库存系统。
步骤204:第二库存系统接收到该修改后的初始化单据,操作该单据,操作成功,得到上述货品的初始化库存,该初始化库存中包含对应货品的供货商号、货品属性、仓库号、货品等级和可用库存量(可用库存量等于修改后的初始化单据中的可用库存操作量)等,并以该修改后的初始化单据中的单号(如init_stock_x)+货品属性(如EMG4398060778624)+仓库号(如:110007402)+货品等级(如100)为key(索引),以其对应的流水主键id(如:Y)为值存储在预设的存储设备中,以表示第二库存系统已初始化过对应货品的可用库存量。
预设的存储设备如:Redis(Remote Dictionary Server,远程数据服务)数据库。
图3为本发明实施例提供的库存业务灰度处理方法流程图,其中,库存业务灰度是指,将第一库存系统的库存业务同步引入到第二库存系统,使得第二库存系统和第一库存系统同步运行,以检验第二库存系统是否覆盖第一库存系统的业务场景的处理过程,其具体步骤如下:
步骤301:检测到第一库存系统接收到单据,将该单据复制一份,将复制的单据异步发送给第二库存系统。
可在第一库存系统的总入口处嵌入灰度插件,该灰度插件为步骤301的执行主体。
步骤302:第二库存系统接收该单据,判断该单据的单号是否为约定的初始化单据的单号,若是,执行步骤303;否则,执行步骤304。
第二库存系统上预先配置有初始化单据的单号。
步骤303:第二库存系统丢弃该单据,并返回操作成功,本流程结束。
步骤304:第二库存系统判断自身是否已初始化过该单据中的货品的可用库存量,若是,执行步骤306;否则,执行步骤305。
具体地,第二库存系统以该单据中的单号+货品属性+仓库号+货品等级为key,在预设的存储设备中查找该key,若查找到,则确定已初始化过该单据中的货品的库存。
步骤305:第二库存系统抛异常重试,本流程结束。
在实际应用中,第二库存系统是维护有一个待处理单据队列的,接收到的单据先依次缓存在该队列中,第二库存系统从该队列的队头开始依次取出单据进行处理。本步骤中,抛异常重试的过程包含憋单的过程,憋单即,将该单据重新存入待处理单据队列的队尾,这样等待该单据前面的单据都被处理完毕后,该单据会再次被处理,即重新返回步骤302中的“判断该单据的单号是否为约定的初始化单据的单号”的动作。
步骤306:第二库存系统在第一库存系统的库存流水中查找该单据对应的库存流水。
步骤307:第二库存系统判断是否查找到,若是,执行步骤308;否则,执行步骤310。
步骤308:第二库存系统判断该单据对应的第一库存系统的库存流水中的id是否不大于初始化单据对应的库存流水中的id,若是,执行步骤309;否则,执行步骤310。
步骤309:第二库存系统确定该单据发生在初始化单据前,丢弃该单据,本流程结束。
步骤310:第二库存系统操作该单据。
第二库存系统操作该单据成功,则返回操作成功,否则,判断是否库存不足,若库存不足,则返回操作成功,若库存足,则返回操作失败并重试。
一可选实施例中,步骤103中,若一致之后、将针对所述货品的库存业务请求从第一库存系统迁移到第二库存系统之前,进一步包括:
确定开始执行如下操作:
当第一库存系统新生成库存流水时,在第二库存系统的各库存流水中的单据中查找与第一库存系统该新生成的库存流水中的单据匹配的单据,若未查找到,则将第一库存系统该新生成的库存流水中的单据发送给第二库存系统,以使得第二库存系统操作该单据。
通过上述实施例,能够识别出在迁移瞬间只被第一库存系统操作过而未被第二库存系统操作过的单据,并将该单据发送给第二库存系统操作,从而保证了第二库存系统中的库存数据的准确性。
图4为本发明实施例提供的库存业务迁移方法流程图,其具体步骤如下:
步骤401:当第二库存系统已经运行预设时长时,针对需要迁移的货品的库存数据,检查第二库存系统和第一库存系统的库存数据是否一致,且确定二者一致。
这里要检查的主要是,需要迁移的各货品的可用库存量是否一致。
步骤402:先打开消费模块,再打开迁移模块,其中,消费模块打开后,开始执行如下过程:消费第一库存系统的库存流水binlog,将该库存流水binlog中的单据明细与第二库存系统的各库存流水binlog中的单据明细进行匹配,若未匹配上,则将第一库存系统的库存流水binlog中的单据发送给第二库存系统,第二库存系统接收到该单据,操作该单据;迁移模块打开后,开始将针对上述货品的单据全部引入第二库存系统的总入口处。
即,此后针对上述货品的单据全部都只进入第二库存系统,而不再进入第一库存系统。
设置并打开消费模块的原因是,在打开迁移模块的瞬间,可能会有部分单据进入第一库存系统并被第一库存系统操作,即这部分单据只被第一库存系统操作了而未被第二库存系统操作,这样,为了保证第二库存系统的库存数据的准确性,必须从第一库存系统的库存流水中找出该部分单据并发送给第二库存系统进行操作。
图5为本发明实施例提供的库存数据及业务迁移装置的结构示意图,该装置主要包括:
库存数据初始化模块51,用于响应于库存数据及业务迁移请求,该请求的内容为:将一个或多个货品的库存数据及业务从第一库存系统迁移到第二库存系统;将第一库存系统中上述货品的当前库存数据发送到第二库存系统,以使得:第二库存系统采用第一库存系统中上述货品的当前库存数据初始化第二库存系统的库存数据。
业务灰度模块52,用于当接收到发往第一库存系统的针对上述货品的库存业务请求时,将该请求复制一份发送到第二库存系统,以使得:第一库存系统和第二库存系统同时根据该库存业务请求对上述货品的库存数据进行处理。
业务迁移模块53,用于当第二库存系统与第一库存系统同步运行预设时长后,检查第一库存系统和第二库存系统中上述货品的库存数据是否一致,若一致,则将针对上述货品的所有库存业务从第一库存系统迁移到第二库存系统。
一可选实施例中,库存数据初始化模块51将第一库存系统中上述货品的当前库存数据发送到第二库存系统包括:
针对上述货品,构造可用库存操作量为0的初始化单据,向第一库存系统发送该单据,获取第一库存系统操作该单据后得到的库存流水,该库存流水包括:该初始化单据和上述货品的可用库存剩余量;根据该库存流水中的可用库存剩余量,修改该初始化单据,修改后的初始化单据中的可用库存操作量为上述货品的可用库存剩余量,将修改后的初始化单据发送给第二库存系统,以使得:第二库存系统操作该修改后的初始化单据后,根据得到的上述货品的可用库存剩余量初始化自身的上述货品的可用库存量;或者,
将第一库存系统中上述货品的实际剩余库存量减去上述货品的预占量,得到上述货品的可用库存剩余量,将上述货品的可用库存剩余量发送给第二库存系统,以使得:第二库存系统根据上述货品的可用库存剩余量初始化自身的上述货品的可用库存量。
一可选实施例中,业务迁移模块53判定一致之后、将针对上述货品的所有库存业务从第一库存系统迁移到第二库存系统之前,进一步包括:
确定开始执行如下操作:当第一库存系统新生成库存流水时,在第二库存系统的各库存流水中的单据中查找与第一库存系统该新生成的库存流水中的单据匹配的单据,若未查找到,则将第一库存系统该新生成的库存流水中的单据发送给第二库存系统,以使得第二库存系统操作该单据。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令在由处理器执行时可执行如上所述库存数据及业务迁移方法中的步骤。实际应用中,所述的计算机可读介质可以是上述实施例各设备/装置/系统所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。其中,在计算机可读存储介质中存储指令,其存储的指令在由处理器执行时可执行如上库存数据及业务迁移方法中的步骤。
根据本申请公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件,或者上述的任意合适的组合,但不用于限制本申请保护的范围。在本申请公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
如图6所示,本发明实施例还提供一种电子设备。如图6所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或一个以上处理核心的处理器61、一个或一个以上计算机可读存储介质的存储器62以及存储在存储器上并可在处理器上运行的计算机程序。在执行所述存储器62的程序时,可以实现上述库存数据及业务迁移方法。
具体的,实际应用中,该电子设备还可以包括电源63、输入输出单元64等部件。本领域技术人员可以理解,图6中示出的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器61是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器62内的软件程序和/或模块,以及调用存储在存储器62内的数据,执行服务器的各种功能和处理数据,从而对该电子设备进行整体监控。
存储器62可用于存储软件程序以及模块,即上述计算机可读存储介质。处理器61通过运行存储在存储器62的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器62可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器62可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器62还可以包括存储器控制器,以提供处理器61对存储器62的访问。
该电子设备还包括给各个部件供电的电源63,可以通过电源管理系统与处理器61逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源63还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入输出单元64,该输入单元输出64可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。该输入单元输出64还可以用于显示由用户输入的信息或提供给用户的信息以及各种图像用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
本申请附图中的流程图和框图,示出了按照本申请公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本申请公开的范围。
本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思路,并不用于限制本申请。对于本领域的技术人员来说,可以依据本发明的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (11)

1.一种库存数据及业务迁移方法,其特征在于,该方法包括:
响应于库存数据及业务迁移请求,所述请求的内容为:将一个或多个货品的库存数据及业务从第一库存系统迁移到第二库存系统;
将第一库存系统中所述货品的当前库存数据发送到第二库存系统,以使得:第二库存系统采用第一库存系统中所述货品的当前库存数据初始化第二库存系统的库存数据;
接收到发往第一库存系统的针对所述货品的库存业务请求,将该请求复制一份发送到第二库存系统,以使得:第一库存系统和第二库存系统同时根据所述库存业务请求对所述货品的当前库存数据进行处理;
当第二库存系统与第一库存系统同步运行预设时长后,检查第一库存系统和第二库存系统中所述货品的库存数据是否一致;
若一致,则将针对所述货品的所有库存业务从第一库存系统迁移到第二库存系统。
2.根据权利要求1所述的方法,其特征在于,所述检查第一库存系统和第二库存系统中所述货品的库存数据是否一致之后,进一步包括:
若不一致,则等待第二库存系统修复完毕,返回所述将第一库存系统中所述货品的当前库存数据发送到第二库存系统的动作。
3.根据权利要求1所述的方法,其特征在于,所述将第一库存系统中所述货品的当前库存数据发送到第二库存系统包括:
针对所述货品,构造可用库存操作量为0的初始化单据,向第一库存系统发送该单据;
获取第一库存系统操作该单据后得到的库存流水,所述库存流水包括:所述初始化单据和所述货品的可用库存剩余量;
根据所述库存流水中的可用库存剩余量,修改所述初始化单据,修改后的初始化单据中的可用库存操作量为所述货品的可用库存剩余量;
将修改后的初始化单据发送给第二库存系统,以使得:第二库存系统操作该修改后的初始化单据后,根据得到的所述货品的可用库存剩余量初始化自身的所述货品的可用库存量。
4.根据权利要求3所述的方法,其特征在于,所述将第一库存系统中所述货品的当前库存数据发送到第二库存系统包括:
将第一库存系统中所述货品的实际剩余库存量减去所述货品的预占量,得到所述货品的可用库存剩余量;
将所述货品的可用库存剩余量发送给第二库存系统,以使得:第二库存系统根据所述货品的可用库存剩余量初始化自身的所述货品的可用库存量。
5.根据权利要求3或4所述的方法,其特征在于,所述将该请求复制一份发送到第二库存系统之后,进一步包括:
第二库存系统接收该单据,判断自身是否已初始化过该单据中的货品的可用库存量,若是,操作该单据;否则,抛异常重试。
6.根据权利要求5所述的方法,其特征在于,所述第二库存系统判定自身已初始化过该单据中的货品的可用库存量之后、所述操作该单据之前,进一步包括:
第二库存系统在第一库存系统的库存流水中查找该单据对应的库存流水;
若查找到,判断该库存流水中的主键id是否不大于初始化单据对应的库存流水中的主键id;
若不大于,则丢弃该单据;否则,执行所述操作该单据的动作。
7.根据权利要求5所述的方法,其特征在于,所述第二库存系统接收该单据之后、所述判断自身是否已初始化过该单据中的货品的可用库存量之前,进一步包括:
第二库存系统判断该单据的单号是否为约定的初始化单据的单号;
若是,则丢弃该单据,并返回操作成功;否则,执行所述判断自身是否已初始化过该单据中的货品的可用库存量的动作。
8.根据权利要求1所述的方法,其特征在于,所述若一致之后、所述将针对所述货品的所有库存业务从第一库存系统迁移到第二库存系统之前,进一步包括:
确定开始执行如下操作:
当第一库存系统新生成库存流水时,在第二库存系统的各库存流水中的单据中查找与第一库存系统该新生成的库存流水中的单据匹配的单据;
若未查找到,则将第一库存系统该新生成的库存流水中的单据发送给第二库存系统,以使得第二库存系统操作该单据。
9.一种库存数据及业务迁移装置,其特征在于,该装置包括:
库存数据初始化模块,用于响应于库存数据及业务迁移请求,所述请求的内容为:将一个或多个货品的库存数据及业务从第一库存系统迁移到第二库存系统;将第一库存系统中所述货品的当前库存数据发送到第二库存系统,以使得:第二库存系统采用第一库存系统中所述货品的当前库存数据初始化第二库存系统的库存数据;
业务灰度模块,用于接收到发往第一库存系统的针对所述货品的库存业务请求,将该请求复制一份发送到第二库存系统,以使得:第一库存系统和第二库存系统同时根据所述库存业务请求对所述货品的当前库存数据进行处理;
业务迁移模块,用于当第二库存系统与第一库存系统同步运行预设时长后,检查第一库存系统和第二库存系统中所述货品的库存数据是否一致,若一致,则将针对所述货品的所有库存业务从第一库存系统迁移到第二库存系统。
10.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求1至8中任一项所述的库存数据及业务迁移方法的步骤。
11.一种电子设备,其特征在于,包括如权利要求9所述的非瞬时计算机可读存储介质、以及可访问所述非瞬时计算机可读存储介质的所述处理器。
CN202110229889.0A 2021-03-02 2021-03-02 库存数据及业务迁移方法、装置及存储介质和电子设备 Pending CN113806328A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110229889.0A CN113806328A (zh) 2021-03-02 2021-03-02 库存数据及业务迁移方法、装置及存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110229889.0A CN113806328A (zh) 2021-03-02 2021-03-02 库存数据及业务迁移方法、装置及存储介质和电子设备

Publications (1)

Publication Number Publication Date
CN113806328A true CN113806328A (zh) 2021-12-17

Family

ID=78892868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110229889.0A Pending CN113806328A (zh) 2021-03-02 2021-03-02 库存数据及业务迁移方法、装置及存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN113806328A (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321339A (zh) * 2019-07-04 2019-10-11 深圳乐信软件技术有限公司 一种数据迁移方法、装置、设备和存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321339A (zh) * 2019-07-04 2019-10-11 深圳乐信软件技术有限公司 一种数据迁移方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
CN111582827B (zh) 一种审批流程控制方法及系统
US9038086B2 (en) End to end modular information technology system
CN110969001B (zh) 反馈信息的生成方法及装置、存储介质、处理器和终端
US7958058B2 (en) System, method, and service for migrating an item within a workflow process
CN110941630A (zh) 一种数据库运维方法、装置及系统
CN110751458B (zh) 一种业务审批方法、装置和系统
CN102667720A (zh) 没有排序依赖的一致性
CN110737680A (zh) 缓存数据管理方法、装置、存储介质及电子设备
CN110162429A (zh) 系统修复方法、服务器及存储介质
CN110502264A (zh) 系统升级方法、终端及可读存储介质
CN113300933A (zh) 会话内容的管理方法、装置、计算机设备和可读存储介质
CN106250501A (zh) 报表处理方法及报表系统
CN109254791A (zh) 开发数据的管理方法、计算机可读存储介质和终端设备
CN113506035A (zh) 一种审批流程的确定方法、装置和设备
CN108460160A (zh) 数据库实例的下线方法、装置、终端及存储介质
CN102855297B (zh) 一种控制数据传输的方法和连接器
CN113806328A (zh) 库存数据及业务迁移方法、装置及存储介质和电子设备
CN102222000A (zh) 数据交互装置和数据交互方法
CN103488549A (zh) 多镜像数据的回滚处理系统和回滚处理方法
CN113886497A (zh) 一种双向实时数据监控方法和装置
CN113312390A (zh) 业务数据调用方法、装置及存储介质和电子设备
CN109561120A (zh) 小文件备份方法、系统和管理服务器
CN104834724A (zh) 一种数据库同步方法和装置
CN101211276A (zh) 用于处理业务过程中的中断的方法和系统
CN112712433B (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