CN116860306A - 业务系统的数据升级方法、装置、设备及存储介质 - Google Patents
业务系统的数据升级方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116860306A CN116860306A CN202310817458.5A CN202310817458A CN116860306A CN 116860306 A CN116860306 A CN 116860306A CN 202310817458 A CN202310817458 A CN 202310817458A CN 116860306 A CN116860306 A CN 116860306A
- Authority
- CN
- China
- Prior art keywords
- data
- data table
- task
- value
- service system
- 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 59
- 239000003550 marker Substances 0.000 claims abstract description 26
- 230000008859 change Effects 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 claims abstract description 15
- 238000012544 monitoring process Methods 0.000 claims abstract description 8
- 238000013523 data management Methods 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 10
- 238000013479 data entry Methods 0.000 claims description 8
- 238000007726 management method Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 description 15
- 238000013461 design Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 7
- 230000033772 system development Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种业务系统的数据升级方法、装置、设备及存储介质,属于计算机技术领域。该方法包括:在接收到数据升级指令后,为旧版本业务系统中的每张数据表初始化一个任务队列;其中,任务队列中的任务用于将相应数据表中的业务数据同步至新版本业务系统;设置全局路由标记,并将全局路由标记的值初始化为第一取值;在新版本业务系统正常运行的情况下,从每张数据表的任务队列中获取任务进行业务数据同步,并监测全局路由标记的取值变化;响应于全局路由标记的值更新为第二取值,停止数据同步。本申请能够在不中断服务的情况下完成业务系统的数据升级。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种业务系统的数据升级方法、装置、设备及存储介质。
背景技术
随着业务需求的不断增长,为了提升服务能力,业务系统会频繁进行版本迭代。而在版本迭代过程中,难免会出现一些不合理的设计或架构。为了方便后续进行系统开发和维护,系统架构升级和设计调整便成为了一项常规操作。其中,在系统架构升级和设计调整的过程中,往往会涉及到数据升级。
目前数据升级过程中业务系统会中断服务,而中断服务势必会影响用户体验。因此,假如能够在不中断服务的情况完成业务系统的数据升级,则会显著提升服务质量。换一种表达方式,如何实现数据平滑升级,一直是本领域的一个技术难点。
发明内容
本申请实施例提供了一种业务系统的数据升级方法、装置、设备及存储介质,能够在不中断服务的情况下完成业务系统的数据升级。所述技术方案如下:
一方面,提供了一种业务系统的数据升级方法,所述方法包括:
在接收到数据升级指令后,为旧版本业务系统中的每张数据表初始化一个任务队列;其中,所述任务队列中的任务用于将相应数据表中的业务数据同步至新版本业务系统;
设置全局路由标记,并将所述全局路由标记的值初始化为第一取值;
在所述新版本业务系统正常运行的情况下,从所述每张数据表的任务队列中获取任务进行业务数据同步,并监测所述全局路由标记的取值变化;
响应于所述全局路由标记的值更新为第二取值,停止数据同步。
在一种可能的实现方式中,对于所述旧版本业务系统中的任意一张数据表,所述数据表的任务队列中包括第一类任务和第二类任务;
其中,所述第一类任务用于将数据同步之前所述数据表中的业务数据同步至所述新版本业务系统;所述第二类任务用于将数据同步过程中所述数据表中变动的业务数据同步至所述新版本业务系统。
在一种可能的实现方式中,所述方法还包括:
响应于对所述旧版本业务系统中第一数据表的数据管理操作,在所述第一数据表的任务队列中新增一个任务;
其中,新增任务用于将所述第一数据表中变动的业务数据同步至所述新版本业务系统,所述变动的业务数据与针对所述第一数据表的数据管理操作对应。
在一种可能的实现方式中,所述从所述每张数据表的任务队列中获取任务进行业务数据同步,包括:
对于所述旧版本业务系统中的任意一张数据表,从所述数据表的任务队列中获取排在队首的第一任务;
将所述数据表中与所述第一任务相关联的业务数据同步至所述新版本业务系统,并在完成同步后从所述任务队列中删除所述第一任务。
在一种可能的实现方式中,所述方法还包括:
在所述全局路由标记的值为所述第一取值的情况下,响应于所述旧版本业务系统中每张数据表的任务队列均为空,将所述全局路由标记的值由所述第一取值更新为所述第二取值。
在一种可能的实现方式中,所述为旧版本业务系统中的每张数据表初始化一个任务队列,包括:
启动第一线程,通过所述第一线程执行在消息队列中为所述旧版本业务系统中的每张数据表初始化一个任务队列;
所述从所述每张数据表的任务队列中获取任务进行业务数据同步,包括:
启动第二线程,通过所述第二线程执行从所述每张数据表的任务队列中获取任务进行业务数据同步,并监测所述全局路由标记的取值变化;
其中,所述第一线程和所述第二线程不同;所述第一线程在设置完所述全局路由标记并将所述全局路由标记的值初始化为所述第一取值后停止工作;所述第二线程在监测到所述全局路由标记的值更新为所述第二取值后停止工作。
在一种可能的实现方式中,所述方法还包括:
在停止数据同步后,基于所述新版本业务系统中的数据表响应数据管理操作;其中,对于每种数据管理操作,所述旧版本业务系统和所述新版本业务系统中的每张数据表均对应一个统一的管理入口。
在一种可能的实现方式中,所述基于所述新版本业务系统中的数据表响应数据管理操作,包括:
在所述数据管理操作为读操作的情况下,通过读数据入口从所述新版本业务系统的数据表中读取业务数据;
在所述数据管理操作为写操作的情况下,通过写数据入口往所述新版本业务系统的数据表中写入业务数据;
在所述数据管理操作为查询操作的情况下,通过数据查询入口在所述新版本业务系统的数据表中查询业务数据;
在所述数据管理操作为修改操作的情况下,通过数据修改入口在所述新版本业务系统的数据表中修改业务数据;
在所述数据管理操作为删除操作的情况下,通过数据删除入口在所述新版本业务系统的数据表中删除业务数据。
另一方面,提供了一种业务系统的数据升级装置,所述装置包括:
初始化模块,被配置为在接收到数据升级指令后,为旧版本业务系统中的每张数据表初始化一个任务队列;其中,所述任务队列中的任务用于将相应数据表中的业务数据同步至新版本业务系统;
所述初始化模块,还被配置为设置全局路由标记,并将所述全局路由标记的值初始化为第一取值;
升级模块,被配置为在所述新版本业务系统正常运行的情况下,从所述每张数据表的任务队列中获取任务进行业务数据同步,并监测所述全局路由标记的取值变化;响应于所述全局路由标记的值更新为第二取值,停止数据同步。
在一种可能的实现方式中,对于所述旧版本业务系统中的任意一张数据表,所述数据表的任务队列中包括第一类任务和第二类任务;
其中,所述第一类任务用于将数据同步之前所述数据表中的业务数据同步至所述新版本业务系统;所述第二类任务用于将数据同步过程中所述数据表中变动的业务数据同步至所述新版本业务系统。
在一种可能的实现方式中,所述初始化模块,还被配置为:
响应于对所述旧版本业务系统中第一数据表的数据管理操作,在所述第一数据表的任务队列中新增一个任务;
其中,新增任务用于将所述第一数据表中变动的业务数据同步至所述新版本业务系统,所述变动的业务数据与针对所述第一数据表的数据管理操作对应。
在一种可能的实现方式中,所述升级模块,被配置为:
对于所述旧版本业务系统中的任意一张数据表,从所述数据表的任务队列中获取排在队首的第一任务;
将所述数据表中与所述第一任务相关联的业务数据同步至所述新版本业务系统,并在完成同步后从所述任务队列中删除所述第一任务。
在一种可能的实现方式中,所述装置还包括:
第一处理模块,被配置为在所述全局路由标记的值为所述第一取值的情况下,响应于所述旧版本业务系统中每张数据表的任务队列均为空,将所述全局路由标记的值由所述第一取值更新为所述第二取值。
在一种可能的实现方式中,所述初始化模块,被配置为:
启动第一线程,通过所述第一线程执行在消息队列中为所述旧版本业务系统中的每张数据表初始化一个任务队列;
所述从所述每张数据表的任务队列中获取任务进行业务数据同步,包括:
启动第二线程,通过所述第二线程执行从所述每张数据表的任务队列中获取任务进行业务数据同步,并监测所述全局路由标记的取值变化;
其中,所述第一线程和所述第二线程不同;所述第一线程在设置完所述全局路由标记并将所述全局路由标记的值初始化为所述第一取值后停止工作;所述第二线程在监测到所述全局路由标记的值更新为所述第二取值后停止工作。
在一种可能的实现方式中,所述装置还包括:
第二处理模块,被配置为在停止数据同步后,基于所述新版本业务系统中的数据表响应数据管理操作;
其中,对于每种数据管理操作,所述旧版本业务系统和所述新版本业务系统中的每张数据表均对应一个统一的管理入口。
在一种可能的实现方式中,所述第二处理模块,被配置为:
在所述数据管理操作为读操作的情况下,通过读数据入口从所述新版本业务系统的数据表中读取业务数据;
在所述数据管理操作为写操作的情况下,通过写数据入口往所述新版本业务系统的数据表中写入业务数据;
在所述数据管理操作为查询操作的情况下,通过数据查询入口在所述新版本业务系统的数据表中查询业务数据;
在所述数据管理操作为修改操作的情况下,通过数据修改入口在所述新版本业务系统的数据表中修改业务数据;
在所述数据管理操作为删除操作的情况下,通过数据删除入口在所述新版本业务系统的数据表中删除业务数据。
另一方面,提供了一种计算机设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现上述的业务系统的数据升级方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现上述的业务系统的数据升级方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述的业务系统的数据升级方法。
本申请实施例提供的业务系统的数据升级方案能够实现数据平滑升级。详细来说,在接收到数据升级指令后,该方案会先为旧版本业务系统中的每张数据表初始化一个任务队列;其中,任务队列中的任务用于将相应数据表中的业务数据同步至新版本业务系统。除此之外,初始化过程中还会设置一个全局路由标记,并将全局路由标记的值初始化为第一取值。在完成初始化准备后,该方案会在新版本业务系统正常运行的情况下,从每张数据表的任务队列中获取任务进行业务数据同步,并监测全局路由标记的取值变化;如果全局路由标记的值更新为第二取值,则表征已完成数据升级,即刻停止数据同步。
基于以上描述可知,该方案能够在不中断服务的情况下完成业务系统的数据升级。而数据的平滑升级,不仅能够助力于系统架构升级和设计调整,方便后续进行系统开发和维护,而且降低了系统升级风险,能够显著提升服务质量,确保了用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种业务系统的数据升级方法流程图;
图2是本申请实施例提供的另一种业务系统的数据升级方法流程图;
图3是本申请实施例提供的一种业务系统的数据升级方法的执行流程图;
图4是本申请实施例提供的一种业务系统的数据升级装置的结构示意图;
图5是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”、“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。
这些术语只是用于将一个元素与另一个元素区别开。例如,在不脱离各种示例的范围的情况下,第一元素能够被称为第二元素,并且类似地,第二元素也能够被称为第一元素。第一元素和第二元素都可以是元素,并且在某些情况下,可以是单独且不同的元素。
其中,至少一个是指一个或一个以上,例如,至少一个元素可以是一个元素、两个元素、三个元素等任意大于等于一的整数个元素。而多个是指两个或者两个以上,例如,多个元素可以是两个元素、三个元素等任意大于等于二的整数个元素。
在本文中提及的“和/或”,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面介绍本申请实施例提供的业务系统的数据升级方案涉及的实施环境。
本申请实施例提供的业务系统的数据升级方案应用于数据升级设备。示例性地,上述数据升级设备是具有机器学习能力的计算机设备,比如,该计算机设备是服务器或服务器集群。另外,该种数据升级方案可以应用在任意有数据升级需求的场景下,比如应用于银行业务系统中、医疗健康领域的业务系统中或订单业务系统中,本申请对此不作限定。另外,本申请实施例支持开发人员在合适时机下触发升级任务进而完成数据升级。
需要说明的是,本申请实施例提及的数据升级是指数据平滑升级。其中,平滑升级是一种热升级手段,即业务系统在不中断服务的情况下完成数据升级。而数据的平滑升级,不仅能够助力于系统架构升级和设计调整,方便后续进行系统开发和维护,而且降低了系统升级风险,能够显著提升服务质量,确保了用户体验。
图1是本申请实施例提供的一种业务系统的数据升级方法的流程图。该方法的执行主体为计算机设备。参见图1,该方法包括如下步骤:
101、在接收到数据升级指令后,计算机设备为旧版本业务系统中的每张数据表初始化一个任务队列;其中,任务队列中的任务用于将相应数据表中的业务数据同步至新版本业务系统。
以旧版本业务系统的版本号为V4.6、新版本业务系统的版本号为V4.7为例,即旧的系统代码对应V4.6版本的业务系统,而新的系统代码对应V4.7版本的业务系统,假设V4.6版本的业务系统涉及M张数据表(简称表),其中,M为正整数,所谓的数据平滑升级是指V4.7版本的业务系统在不停止运行的情况下,执行数据升级任务,进而使得上述M张数据表的业务数据同步到V4.7版本的业务系统中,也即V4.7版本的业务系统使用V4.6版本的业务数据。
102、计算机设备设置全局路由标记,并将全局路由标记的值初始化为第一取值。
在本申请实施例中,全局路由标记的取值能够反映数据升级进度。比如,当全局路由标记的值为第一取值时,代表还未完成数据升级;当全局路由标记的值更新为第二取值时,代表已完成数据升级。
示例性地,第一取值为false,第二取值为true;或者,第一取值为0,第二取值为1,本申请对此不作限定。
103、在新版本业务系统正常运行的情况下,计算机设备从每张数据表的任务队列中获取任务进行业务数据同步,并监测全局路由标记的取值变化;响应于全局路由标记的值更新为第二取值,停止数据同步。
本申请实施例提供的业务系统的数据升级方案能够实现数据平滑升级。详细来说,在接收到数据升级指令后,该方案会先为旧版本业务系统中的每张数据表初始化一个任务队列;其中,任务队列中的任务用于将相应数据表中的业务数据同步至新版本业务系统。除此之外,初始化过程中还会设置一个全局路由标记,并将全局路由标记的值初始化为第一取值。在完成初始化准备后,该方案会在新版本业务系统正常运行的情况下,从每张数据表的任务队列中获取任务进行业务数据同步,并监测全局路由标记的取值变化;如果全局路由标记的值更新为第二取值,则表征已完成数据升级,即刻停止数据同步。
基于以上描述可知,该方案能够在不中断服务的情况下完成业务系统的数据升级。而数据的平滑升级,不仅能够助力于系统架构升级和设计调整,方便后续进行系统开发和维护,而且降低了系统升级风险,能够显著提升服务质量,确保了用户体验。
以上简单地介绍了本申请实施例提供的业务系统的数据升级方案。下面基于图2所示的实施例对该数据升级方案进行详细介绍。
图2是本申请实施例提供的一种业务系统的数据升级方法的流程图。该方法的执行主体为计算机设备。参见图2,该方法包括如下步骤:
201、在接收到数据升级指令后,计算机设备为旧版本业务系统中的每张数据表初始化一个任务队列;其中,任务队列中的任务用于将相应数据表中的业务数据同步至新版本业务系统。
示例性地,数据升级任务由开发人员在业务系统已升级至新版本后,通过设置的触发入口(比如升级按钮)进行触发,本申请对此不作限定。
在本申请实施例中,响应于接收到数据升级指令,先进入图3所示的初始化流程。示例性地,本申请实施例会启动一个线程来完成初始化工作,为了便于区分,此处用于初始化的进程在本文中被称为第一线程。
在启动第一线程后,通过第一线程遍历旧版本业务系统中的每张数据表,为旧版本业务系统中的每张数据表在消息队列中初始化一个任务队列。其中,消息队列从本质上来说是一个队列结构的中间件。示例性地,消息队列包括但不限于:ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ等。
需要说明的是,对于旧版本业务系统中的任意一张数据表,该数据表的任务队列中包括第一类任务和第二类任务;其中,第一类任务用于将数据同步之前数据表中的业务数据同步至新版本业务系统;第二类任务用于将数据同步过程中数据表中变动的业务数据同步至新版本业务系统。
而之所以会出现这两类任务是因为,由于进行数据平滑升级,因此在数据同步过程中业务系统并不会停止运行,那么在数据同步过程中,还可能存在这样一种情况:有用户对旧版本业务系统中的数据表执行了管理操作,比如向某一张数据表中插入了业务数据。在这种情况下,假设该数据表的任务队列中当前存储有任务1,而任务1用于执行将数据同步之前该数据表中的业务数据同步至新版本业务系统;那么,此时还需额外新增一个任务2,以便将数据同步过程中新插入到该数据表中的业务数据同步至新版本业务系统。
换一种表达方式,本申请实施例提供的方法还包括:
响应于对旧版本业务系统中第一数据表的数据管理操作,在第一数据表的任务队列中新增一个任务。其中,第一数据表可以是旧版本业务系统中的任意一张数据表,而新增任务用于将第一数据表中变动的业务数据同步至新版本业务系统,而变动的业务数据与针对第一数据表的数据管理操作对应。
202、计算机设备设置全局路由标记,并将全局路由标记的值初始化为第一取值。
在本申请实施例中,第一线程除了用于为旧版本业务系统中的每张数据表初始化一个任务队列之外,还用于设置一个全局路由标记并将全局路由标记的值初始化为第一取值。其中,第一线程在完成这项初始化后便会停止工作。
示例性地,如图3所示,全局路由标记的第一取值为false。
在通过上述步骤201-202完成初始化准备后,便会进入下述步骤203-204所示的平滑升级步骤。
203、在新版本业务系统正常运行的情况下,响应于全局路由标记的值维持第一取值不变,计算机设备从每张数据表的任务队列中获取任务进行业务数据同步,并监测全局路由标记的取值变化。
示例性地,本申请实施例会启动一个线程来完成数据同步工作,为了便于区分,此处用于数据同步的进程在本文中被称为第二线程。
即,本申请实施例通过第二线程执行从每张数据表的任务队列中获取任务进行业务数据同步,并监测全局路由标记的取值变化的步骤。另外,第二线程与前述的第一线程为不同的线程;第二线程在监测到全局路由标记的值更新为第二取值后停止工作。示例性地,如图3所示,全局路由标记的第二取值为ture。
需要说明的是,如图3所示,在全局路由标记的值为第一取值(false)的情况下,响应于旧版本业务系统中的每张数据表的任务队列均为空,全局路由标记的值会由第一取值更新为第二取值(ture)。
在一种可能的实现方式中,从每张数据表的任务队列中获取任务进行业务数据同步,包括但不限于采用如下方式:
对于旧版本业务系统中的任意一张数据表,从该数据表的任务队列中获取排在队首的第一任务;将该数据表中与第一任务相关联的业务数据同步至新版本业务系统,并在完成同步后从任务队列中删除第一任务。
其中,上述与第一任务相关联的业务数据,既可以是数据同步之前该数据表中的业务数据,也可以是数据同步过程中该数据表中变动的业务数据,本申请对此不作限定。
204、响应于全局路由标记的值更新为第二取值,计算机设备停止数据同步并基于新版本业务系统中的数据表响应数据管理操作。
在本申请实施例中,如果全局路由标记的值更新为第二取值,则表明此时已经完成数据同步,即刻停止数据同步;同时终止用户继续对旧版本业务系统中的数据表执行管理操作,比如读写旧表;而是切换至基于新版本业务系统中的数据表来响应用户的数据管理操作。
示例性地,上述数据管理操作包括但不限于:读操作、写操作、查询操作、修改操作或删除操作等,本申请对此不作限定。另外,为了减少代码复杂度,便于进行代码维护,增强代码可读性,对于每种数据管理操作,旧版本业务系统和新版本业务系统中的每张数据表均对应一个统一的管理入口。比如,每张数据表对应一个总的读数据入口或一个总的写数据入口。
相应地,基于新版本业务系统中的数据表响应数据管理操作,包括但不限于如下几种情形:
情形1、在该数据管理操作为读操作的情况下,通过读数据入口从新版本业务系统的数据表中读取业务数据。
情形2、在该数据管理操作为写操作的情况下,通过写数据入口往新版本业务系统的数据表中写入业务数据。
情形3、在该数据管理操作为查询操作的情况下,通过数据查询入口在新版本业务系统的数据表中查询业务数据。
情形4、在该数据管理操作为修改操作的情况下,通过数据修改入口在新版本业务系统的数据表中修改业务数据。
情形5、在该数据管理操作为删除操作的情况下,通过数据删除入口在新版本业务系统的数据表中删除业务数据。
本申请实施例提供的业务系统的数据升级方案能够实现数据平滑升级。即,该方案能够在不中断服务的情况下完成业务系统的数据升级。而数据的平滑升级,不仅能够助力于系统架构升级和设计调整,方便后续进行系统开发和维护,而且降低了系统升级风险,能够显著提升服务质量,确保了用户体验。
图4是本申请实施例提供的一种业务系统的数据升级装置的结构示意图。
参见图4,该装置包括:
初始化模块401,被配置为在接收到数据升级指令后,为旧版本业务系统中的每张数据表初始化一个任务队列;其中,所述任务队列中的任务用于将相应数据表中的业务数据同步至新版本业务系统;
初始化模块401,还被配置为设置全局路由标记,并将所述全局路由标记的值初始化为第一取值;
升级模块402,被配置为在所述新版本业务系统正常运行的情况下,从所述每张数据表的任务队列中获取任务进行业务数据同步,并监测所述全局路由标记的取值变化;响应于所述全局路由标记的值更新为第二取值,停止数据同步。
本申请实施例提供的业务系统的数据升级方案能够实现数据平滑升级。
详细来说,在接收到数据升级指令后,该方案会先为旧版本业务系统中的每张数据表初始化一个任务队列;其中,任务队列中的任务用于将相应数据表中的业务数据同步至新版本业务系统。除此之外,初始化过程中还会设置一个全局路由标记,并将全局路由标记的值初始化为第一取值。在完成初始化准备后,该方案会在新版本业务系统正常运行的情况下,从每张数据表的任务队列中获取任务进行业务数据同步,并监测全局路由标记的取值变化;如果全局路由标记的值更新为第二取值,则表征已完成数据升级,即刻停止数据同步。
基于以上描述可知,该方案能够在不中断服务的情况下完成业务系统的数据升级。而数据的平滑升级,不仅能够助力于系统架构升级和设计调整,方便后续进行系统开发和维护,而且降低了系统升级风险,能够显著提升服务质量,确保了用户体验。
在一种可能的实现方式中,对于所述旧版本业务系统中的任意一张数据表,所述数据表的任务队列中包括第一类任务和第二类任务;
其中,所述第一类任务用于将数据同步之前所述数据表中的业务数据同步至所述新版本业务系统;所述第二类任务用于将数据同步过程中所述数据表中变动的业务数据同步至所述新版本业务系统。
在一种可能的实现方式中,所述初始化模块,还被配置为:
响应于对所述旧版本业务系统中第一数据表的数据管理操作,在所述第一数据表的任务队列中新增一个任务;
其中,新增任务用于将所述第一数据表中变动的业务数据同步至所述新版本业务系统,所述变动的业务数据与针对所述第一数据表的数据管理操作对应。
在一种可能的实现方式中,所述升级模块,被配置为:
对于所述旧版本业务系统中的任意一张数据表,从所述数据表的任务队列中获取排在队首的第一任务;
将所述数据表中与所述第一任务相关联的业务数据同步至所述新版本业务系统,并在完成同步后从所述任务队列中删除所述第一任务。
在一种可能的实现方式中,该装置还包括:
第一处理模块,被配置为在所述全局路由标记的值为所述第一取值的情况下,响应于所述旧版本业务系统中每张数据表的任务队列均为空,将所述全局路由标记的值由所述第一取值更新为所述第二取值。
在一种可能的实现方式中,所述初始化模块,被配置为:
启动第一线程,通过所述第一线程执行在消息队列中为所述旧版本业务系统中的每张数据表初始化一个任务队列;
所述从所述每张数据表的任务队列中获取任务进行业务数据同步,包括:
启动第二线程,通过所述第二线程执行从所述每张数据表的任务队列中获取任务进行业务数据同步,并监测所述全局路由标记的取值变化;
其中,所述第一线程和所述第二线程不同;所述第一线程在设置完所述全局路由标记并将所述全局路由标记的值初始化为所述第一取值后停止工作;所述第二线程在监测到所述全局路由标记的值更新为所述第二取值后停止工作。
在一种可能的实现方式中,该装置还包括:
第二处理模块,被配置为在停止数据同步后,基于所述新版本业务系统中的数据表响应数据管理操作;
其中,对于每种数据管理操作,所述旧版本业务系统和所述新版本业务系统中的每张数据表均对应一个统一的管理入口。
在一种可能的实现方式中,所述第二处理模块,被配置为:
在所述数据管理操作为读操作的情况下,通过读数据入口从所述新版本业务系统的数据表中读取业务数据;
在所述数据管理操作为写操作的情况下,通过写数据入口往所述新版本业务系统的数据表中写入业务数据;
在所述数据管理操作为查询操作的情况下,通过数据查询入口在所述新版本业务系统的数据表中查询业务数据;
在所述数据管理操作为修改操作的情况下,通过数据修改入口在所述新版本业务系统的数据表中修改业务数据;
在所述数据管理操作为删除操作的情况下,通过数据删除入口在所述新版本业务系统的数据表中删除业务数据。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的业务系统的数据升级装置在进行业务系统的数据升级时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的业务系统的数据升级装置与业务系统的数据升级方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本申请实施例提供的一种计算机设备500的结构示意图。
示例性地,该计算机设备500为前文提及的业务系统的数据升级设备。
该计算机设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)501和一个或一个以上的存储器502,其中,所述存储器502中存储有至少一条程序代码,所述至少一条程序代码由所述处理器501加载并执行以实现上述各个方法实施例提供的业务系统的数据升级方法。当然,该计算机设备500还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备500还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由计算机设备中的处理器执行以完成上述实施例中的业务系统的数据升级方法。例如,所述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述业务系统的数据升级方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种业务系统的数据升级方法,其特征在于,所述方法包括:
在接收到数据升级指令后,为旧版本业务系统中的每张数据表初始化一个任务队列;其中,所述任务队列中的任务用于将相应数据表中的业务数据同步至新版本业务系统;
设置全局路由标记,并将所述全局路由标记的值初始化为第一取值;
在所述新版本业务系统正常运行的情况下,从所述每张数据表的任务队列中获取任务进行业务数据同步,并监测所述全局路由标记的取值变化;
响应于所述全局路由标记的值更新为第二取值,停止数据同步。
2.根据权利要求1所述的方法,其特征在于,对于所述旧版本业务系统中的任意一张数据表,所述数据表的任务队列中包括第一类任务和第二类任务;
其中,所述第一类任务用于将数据同步之前所述数据表中的业务数据同步至所述新版本业务系统;
所述第二类任务用于将数据同步过程中所述数据表中变动的业务数据同步至所述新版本业务系统。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于对所述旧版本业务系统中第一数据表的数据管理操作,在所述第一数据表的任务队列中新增一个任务;
其中,新增任务用于将所述第一数据表中变动的业务数据同步至所述新版本业务系统,所述变动的业务数据与针对所述第一数据表的数据管理操作对应。
4.根据权利要求1所述的方法,其特征在于,所述从所述每张数据表的任务队列中获取任务进行业务数据同步,包括:
对于所述旧版本业务系统中的任意一张数据表,从所述数据表的任务队列中获取排在队首的第一任务;
将所述数据表中与所述第一任务相关联的业务数据同步至所述新版本业务系统,并在完成同步后从所述任务队列中删除所述第一任务。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述全局路由标记的值为所述第一取值的情况下,响应于所述旧版本业务系统中每张数据表的任务队列均为空,将所述全局路由标记的值由所述第一取值更新为所述第二取值。
6.根据权利要求1所述的方法,其特征在于,所述为旧版本业务系统中的每张数据表初始化一个任务队列,包括:
启动第一线程,通过所述第一线程执行在消息队列中为所述旧版本业务系统中的每张数据表初始化一个任务队列;
所述从所述每张数据表的任务队列中获取任务进行业务数据同步,包括:
启动第二线程,通过所述第二线程执行从所述每张数据表的任务队列中获取任务进行业务数据同步,并监测所述全局路由标记的取值变化;
其中,所述第一线程和所述第二线程不同;所述第一线程在设置完所述全局路由标记并将所述全局路由标记的值初始化为所述第一取值后停止工作;所述第二线程在监测到所述全局路由标记的值更新为所述第二取值后停止工作。
7.根据权利要求1至6中任一项权利要求所述的方法,其特征在于,所述方法还包括:
在停止数据同步后,基于所述新版本业务系统中的数据表响应数据管理操作;其中,对于每种数据管理操作,所述旧版本业务系统和所述新版本业务系统中的每张数据表均对应一个统一的管理入口。
8.根据权利要求1所述的方法,其特征在于,所述基于所述新版本业务系统中的数据表响应数据管理操作,包括:
在所述数据管理操作为读操作的情况下,通过读数据入口从所述新版本业务系统的数据表中读取业务数据;
在所述数据管理操作为写操作的情况下,通过写数据入口往所述新版本业务系统的数据表中写入业务数据;
在所述数据管理操作为查询操作的情况下,通过数据查询入口在所述新版本业务系统的数据表中查询业务数据;
在所述数据管理操作为修改操作的情况下,通过数据修改入口在所述新版本业务系统的数据表中修改业务数据;
在所述数据管理操作为删除操作的情况下,通过数据删除入口在所述新版本业务系统的数据表中删除业务数据。
9.一种业务系统的数据升级装置,其特征在于,所述装置包括:
初始化模块,被配置为在接收到数据升级指令后,为旧版本业务系统中的每张数据表初始化一个任务队列;其中,所述任务队列中的任务用于将相应数据表中的业务数据同步至新版本业务系统;
所述初始化模块,还被配置为设置全局路由标记,并将所述全局路由标记的值初始化为第一取值;
升级模块,被配置为在所述新版本业务系统正常运行的情况下,从所述每张数据表的任务队列中获取任务进行业务数据同步,并监测所述全局路由标记的取值变化;响应于所述全局路由标记的值更新为第二取值,停止数据同步。
10.一种计算机设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现如权利要求1至8中任一项权利要求所述的业务系统的数据升级方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1至8中任一项权利要求所述的业务系统的数据升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310817458.5A CN116860306A (zh) | 2023-07-05 | 2023-07-05 | 业务系统的数据升级方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310817458.5A CN116860306A (zh) | 2023-07-05 | 2023-07-05 | 业务系统的数据升级方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116860306A true CN116860306A (zh) | 2023-10-10 |
Family
ID=88233467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310817458.5A Pending CN116860306A (zh) | 2023-07-05 | 2023-07-05 | 业务系统的数据升级方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116860306A (zh) |
-
2023
- 2023-07-05 CN CN202310817458.5A patent/CN116860306A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9558016B2 (en) | Platform system, method for changing support hardware configuration of universal extensible firmware interface basic input output system and computer program product | |
CN110275722A (zh) | 用于升级应用的方法、装置、设备和存储介质 | |
JP3728325B2 (ja) | 個別サブプログラムをメインプログラムに統合する方法 | |
CN102667714B (zh) | 支持访问由操作系统环境外的资源提供的功能的方法和系统 | |
EP3534266B1 (en) | Method, apparatus and system for prefetching data | |
GB2273591A (en) | Microcomputer control systems for interprogram communication and scheduling methods | |
US20050050556A1 (en) | Dynamic layout method for an application program module | |
CN112256421B (zh) | 通信处理方法、装置、存储介质及电子设备 | |
US20070220249A1 (en) | Data structure and method for managing modules associated with a kernel | |
CN114637536A (zh) | 任务处理方法、计算协处理器、芯片及计算机设备 | |
CN111158987A (zh) | 微服务架构的健康检查方法及装置 | |
US10198784B2 (en) | Capturing commands in a multi-engine graphics processing unit | |
CN117130697B (zh) | 在任务栏固定应用的方法和装置 | |
CN116860306A (zh) | 业务系统的数据升级方法、装置、设备及存储介质 | |
US20200401415A1 (en) | Operating system architecture for microkernel generations support | |
CN114756362A (zh) | 资源配额管理方法及系统、智能终端、存储介质 | |
CN113849233A (zh) | Bios空启动项删除方法、系统、终端及存储介质 | |
CA1302580C (en) | Apparatus and method for using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system | |
CN113722011B (zh) | 应用界面启动方法、装置、设备和存储介质 | |
CN111190637A (zh) | 一种版本文件发布的管理方法、装置以及系统 | |
US11262991B1 (en) | Thread-safe development in a multi-threaded system | |
KR102567773B1 (ko) | 전투체계 시스템에서의 로그 정보 추출장치 및 그 방법 | |
CN113253995B (zh) | 区块链系统的开发方法、装置、设备和存储介质 | |
CN117472458B (zh) | 系统功能优化配置方法、装置、电子设备及存储介质 | |
CN110489140B (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 |