CN115525625A - 数据处理方法、装置、设备及介质 - Google Patents
数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115525625A CN115525625A CN202211129453.5A CN202211129453A CN115525625A CN 115525625 A CN115525625 A CN 115525625A CN 202211129453 A CN202211129453 A CN 202211129453A CN 115525625 A CN115525625 A CN 115525625A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- service data
- migrated
- migration
- 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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- 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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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/2228—Indexing structures
-
- 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/23—Updating
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种数据处理方法、装置、设备及介质,可以应用于大数据技术领域。该方法包括:对源系统中的待迁移业务数据进行标记,生成标记清单,标记清单包括待迁移业务数据的标识信息和标记参数,待迁移业务数据包括多个批次的业务数据,标记参数用于表示待迁移业务数据的迁移批次;根据标记清单,从待迁移业务数据中确定至少一个批次的目标业务数据;以及将目标业务数据迁移至预定的目标系统,得到迁移后的目标业务数据,迁移后的目标业务数据对目标系统呈现可读取状态,可读取状态是根据目标业务数据的标记参数确定的。
Description
技术领域
本公开涉及大数据技术领域,具体涉及一种数据处理方法、装置、电子设备、存储介质和程序产品。
背景技术
在系统架构升级或系统改造的过程中,企业可以将存储在源系统的数据迁移至更新的目标系统中。在完成数据迁移之后,源系统可以继续对用户提供服务,会导致源系统和目标系统存在数据查询重复的技术问题。
相关技术中,一般会在源系统中删除已迁移的数据。但是,已迁移的数据量庞大,源系统对已迁移的流水业务数据的清理时间长,导致数据清理效率低。并且,在源系统中删除已迁移数据,还会存在数据丢失风险。此外,在目标系统出现异常的情况下,相关技术一般通过将已迁移的数据回迁至源系统,由源系统继续处理业务。而数据回迁过程又需要重新进行数据迁移,导致异常处理效率低、浪费计算机资源。
发明内容
鉴于上述问题,本公开提供了一种数据处理方法、装置、设备、介质和程序产品。
根据本公开的第一个方面,提供了一种数据处理方法,包括:对源系统中的待迁移业务数据进行标记,生成标记清单,标记清单包括待迁移业务数据的标识信息和标记参数,待迁移业务数据包括多个批次的业务数据,标记参数用于表示待迁移业务数据的迁移批次;根据标记清单,从待迁移业务数据中确定至少一个批次的目标业务数据;以及将目标业务数据迁移至预定的目标系统,得到迁移后的目标业务数据,迁移后的目标业务数据对目标系统呈现可读取状态,可读取状态是根据目标业务数据的标记参数确定的。
根据本公开的实施例,目标业务数据包括历史流水数据;将目标业务数据迁移至目标系统,得到迁移后的目标业务数据,包括:在迁移时段之前,将第一预设时间区间内的历史流水数据迁移至目标系统的分布式临时表;在迁移时段内,将第二预设时间区间内的历史流水数据迁移至分布式临时表,得到更新的分布式临时表,第二预设时间区间设置于迁移时段之前,且设置于第一预设时间区间之后,第二预设时间区间的时长比第一预设时间区间的时长短;以及在迁移时段内,按照标记清单将更新的分布式临时表中的历史流水数据写入分布式正式表,得到迁移后的目标业务数据,分布式正式表用于存储目标系统中的业务数据。
根据本公开的实施例,第一预设时间区间包括M个第一时段,M大于等于1;在迁移时段之前,将第一预设时间区间内的历史流水数据迁移至目标系统的分布式临时表包括:在第i个第一时段内,将在第i个第一时段内的历史流水数据迁移至分布式临时表中,直至M个第一时段内的历史流水数据均迁移至分布式临时表中,其中,i大于等于1,且小于等于M。
根据本公开的实施例,其中,目标业务数据还包括附加业务数据,附加业务数据包括用户的合约数据;将目标业务数据迁移至目标系统,得到迁移后的目标业务数据,包括:在迁移时段之前的第二时段,对源系统进行卸数,并将卸数后得到的第一附加业务数据装载至分布式临时表中,第二时段位于第二预设时间区间内,第一附加业务数据为在第二时段之前产生的附加业务数据;在迁移时段内,对第二时段内和迁移时段内产生的第二附加业务数据进行卸数,并将卸数后得到的第二附加业务数据装载至分布式临时表中,得到更新的分布式临时表;以及在迁移时段内,按照标记清单,将更新的分布式临时表中的第一附加业务数据和第二附加业务数据写入分布式正式表,得到迁移后的目标业务数据。
根据本公开的实施例,其中,将目标业务数据迁移至目标系统,得到迁移后的目标业务数据,包括:从源系统中获取目标业务数据,目标业务数据包括第一类业务数据和第二类业务数据,第一类业务数据在源系统和目标系统中的数据格式不同,第二类业务数据在源系统和目标系统中的数据格式相同;对第一类业务数据进行数据转换,得到第三类业务数据,第三类业务数据为分布式分库分表数据,第三类业务数据与目标系统中的数据格式相匹配,数据转换包括表结构转换、语法转换、函数转换和数据比对;以及将第二类业务数据和第三类业务数据迁移至目标系统,得到迁移后的目标业务数据。
根据本公开的实施例,还包括:在对第一类业务数据进行数据转换的过程中,生成与分布式分库分表数据对应的分布式索引数据,并将分布式索引数据传输至目标系统,分布式索引数据用于确定分布式分库分表数据的存储位置。
根据本公开的实施例,其中,对源系统中的待迁移业务数据进行标记,生成标记清单,包括:对待迁移业务数据新增预设字段,预设字段的参数为标记参数,预设字段的类型为字符型;根据获取的迁移策略和待迁移业务数据的标识信息,生成与待迁移业务数据对应的标记参数,并得到包括标记参数的标记清单,迁移策略包括迁移批次的数量、每个迁移批次对应的迁移时刻。
根据本公开的实施例,其中,在得到迁移后的目标业务数据之后,还包括:将与待迁移业务数据对应的原始过滤条件更新为目标过滤条件,原始过滤条件和目标过滤条件用于确定目标业务数据的可读取状态;以及在迁移后的目标业务数据的标记参数满足目标过滤条件的情况下,确定迁移后的目标业务数据仅对目标系统呈现可读取状态。
根据本公开的实施例,还包括:响应于接收到的数据回迁请求,将目标过滤条件恢复为原始过滤条件,使得目标业务数据仅对源系统呈现可读取状态。
根据本公开的实施例,还包括:响应于来自目标用户的业务请求,获取与目标用户对应的迁移状态,业务请求包括查询请求和采集请求;在确定目标用户的迁移状态为未迁移的情况下,将业务请求路由到源系统,并接收来自源系统的第一处理结果,第一处理结果是根据源系统中与业务请求对应的第一业务数据确定的;在确定目标用户的迁移状态为已迁移的情况下,将业务请求路由到目标系统,并接收来自目标系统的第二处理结果,第二处理结果是根据目标系统中与业务请求对应的第二业务数据确定的;以及在确定目标用户的迁移状态为迁移中的情况下,返回预设处理结果,预设处理结果包括等待时间和预设建议语句。
根据本公开的实施例,还包括:响应于接收到的表征第二处理结果为异常的处理请求,将目标过滤条件恢复为原始过滤条件;在第二业务数据的标记参数满足原始过滤条件的情况下,确定第二业务数据仅对源系统呈现可读取状态;以及将业务请求路由到源系统,并接收来自源系统的第三处理结果。
本公开的第二方面提供了一种数据处理装置,包括:生成模块,用于对源系统中的待迁移业务数据进行标记,生成标记清单,标记清单包括待迁移业务数据的标识信息和标记参数,待迁移业务数据包括多个批次的业务数据,标记参数用于表示待迁移业务数据的迁移批次;确定模块,用于根据标记清单,从待迁移业务数据中确定至少一个批次的目标业务数据;以及迁移模块,用于将目标业务数据迁移至预定的目标系统,得到迁移后的目标业务数据,迁移后的目标业务数据对目标系统呈现可读取状态,可读取状态是根据目标业务数据的标记参数确定的。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述数据处理方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述数据处理方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据处理方法。
本公开通过对待迁移业务数据进行标记,生成包括标记参数的标记清单;根据标记清单确定待迁移的至少一个批次的目标业务数据,进而实现了目标业务数据的迁移。本公开通过在迁移前对待迁移业务数据进行打标,得到标记参数,迁移后基于标记参数更改源系统的设置,使得本次迁移的目标业务数据仅对目标系统呈现可读取状态。无需在源系统中删除目标业务数据,即可避免跨库查询、数据池采集等场景存在的数据查询重复的问题。
此外,对于数据回迁的场景,本公开也可以通过更改源系统的配置参数,即可改变目标业务数据的可读取状态,无需再次进行数据迁移,降低异常处理时间,提高异常处理效率,也减少了计算机资源的浪费。并且,对于系统异常的场景,本公开基于标记参数更改目标业务数据的可读取状态,实现了快速、便捷、无感的系统切换,也无需进行已迁移业务数据的传输。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的数据处理方法的应用场景;
图2示意性示出了根据本公开实施例的数据处理方法的流程图;
图3示意性示出了根据本公开实施例的基于迁移时段进行数据迁移方法的流程图;
图4示意性示出了根据本公开具体实施例的在迁移时段之前进行数据迁移的示意图;
图5示意性示出了根据本公开具体实施例的在迁移时段内进行数据迁移的示意图;
图6示意性示出了根据本公开具体实施例的数据迁移过程的示意图;
图7示意性示出了根据本公开实施例的服务提供方法的流程图;
图8示意性示出了根据本公开实施例的服务提供过程的示意图;
图9示意性示出了根据本公开实施例的数据处理装置的结构框图;
图10示意性示出了根据本公开实施例的适于数据处理方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
本公开的实施例提供了一种数据处理方法,包括:对源系统中的待迁移业务数据进行标记,生成标记清单,标记清单包括待迁移业务数据的标识信息和标记参数,待迁移业务数据包括多个批次的业务数据,标记参数用于表示待迁移业务数据的迁移批次;根据标记清单,从待迁移业务数据中确定至少一个批次的目标业务数据;以及将目标业务数据迁移至预定的目标系统,得到迁移后的目标业务数据,迁移后的目标业务数据对目标系统呈现可读取状态,可读取状态是根据目标业务数据的标记参数确定的。
图1示意性示出了根据本公开实施例的数据处理方法的应用场景。
如图1所示,根据该实施例的应用场景100可以包括源系统的第一服务器101、执行数据迁移的第二服务器102和目标系统的服务器集群103。网络用以在源系统的服务器101、第二服务器102和目标系统的服务器集群103之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
源系统的服务器101和目标系统的服务器集群103可以是提供各种服务的服务器,例如对用户利用终端设备所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
第二服务器102用于调用多个服务器或服务器集群处理数据迁移过程中的数据交互功能。根据实际需求,也可以由第一服务器101或目标系统的服务器集群103中的任一服务器处理上述数据处理方法过程中的数据交互。
需要说明的是,本公开实施例所提供的数据处理方法一般可以由第二服务器102执行。相应地,本公开实施例所提供的数据处理装置一般可以设置于第二服务器102中。本公开实施例所提供的数据方法也可以由第一服务器101或目标系统的服务器集群103中的任一服务器或服务器集群执行。相应地,本公开实施例所提供的数据处理装置也可以设置于不同于第二服务器102的第一服务器101或目标系统的服务器集群103中的任一服务器或服务器集群中。
应该理解,图1中的服务器的或服务器集群数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图8对公开实施例的数据处理方法进行详细描述。
图2示意性示出了根据本公开实施例的数据处理方法的流程图。
如图2所示,该方法包括操作S210~S250。
在操作S210,对源系统中的待迁移业务数据进行标记,生成标记清单。
根据本公开的实施例,待迁移的业务数据包括实现多种服务所产生的流水数据和基础数据等。例如,对于代收代付业务,源系统中存储的基础数据包括与目标用户关联的多个用户、代收代付的时间信息、其他限制条件等。
根据本公开的实施例,源系统中的待迁移业务数据包括多个等级的业务数据。例如,待迁移业务数据的迁移范围包括项目级、客户级、机构级等。待迁移业务数据可以同时包括多个迁移范围的用户,还可以仅包括一个等级的用户。对于多个批次的业务数据,每个批次的业务数据可以包括一个或多个等级的用户。
对于迁移至目标系统的目标业务数据,可以保留该数据在源系统中的用户等级。
根据本公开的实施例,在将待迁移业务数据迁移至目标系统之前,对待迁移业务数据进行打标,生成标记清单。生成的标记清单中包括待迁移业务数据的标识信息和标记参数,其中,标记参数用于表示待迁移业务数据的批次。不同批次的待迁移业务数据对应不同的标记参数。
根据本公开的实施例,可以从源系统的数据库中提取待迁移业务数据,并存储至迁移清单中,通过标记工具对迁移清单中的待迁移业务数据进行标记。具体的,根据预设的迁移批次,对迁移清单中的待迁移业务数据进行标记。
例如,可以对迁移清单中的待迁移业务数据标记多个不同的迁移参数,不同的迁移参数对应不同的迁移批次。在对业务数据进行迁移的过程中,可以响应于用户的操作,将不同迁移批次的待迁移业务数据划分为本次迁移的业务数据。
在操作S220,根据标记清单,从待迁移业务数据中确定至少一个批次的目标业务数据。
根据本公开的实施例,在对待迁移业务数据进行标记之后,根据标记清单中的标记参数,确定本次迁移的目标业务数据。本次迁移的目标业务数据可以根据迁移策略确定,迁移策略可以根据实际需求确定。
具体的,根据迁移清单中的标记参数,确定本次迁移的至少一个批次的目标业务数据;然后根据待迁移业务数据的标识信息,将至少一个批次的目标业务数据筛选出来。
例如,项目A即将上线,迁移策略为:优先迁移项目A下的用户数据。项目A包括第一批次和第二批次的待迁移业务数据,且第一批次对应的标记参数为1,第二批次对应的标记参数为2。
根据迁移策略,从迁移清单中确定标记参数为1和2的数据,然后根据待迁移业务数据的标识信息,将标记参数为1和2对应的业务数据筛选出来,作为本次迁移的目标业务数据。
在操作S230,将目标业务数据迁移至预定的目标系统,得到迁移后的目标业务数据。
根据本公开的实施例,目标系统和源系统的数据格式不同,在确定目标业务数据之后,可以将匹配源系统数据格式的目标业务数据进行数据转换,然后将转换后的目标业务数据迁移至目标系统,得到迁移后的目标业务数据。
根据本公开的实施例,目标系统与源系统相关联,用于接收从源系统迁移的业务数据。目标系统可以是在迁移之前预先指定的目标系统。
例如,目标系统与源系统提供的服务相同,且目标系统为架构升级后的源系统;目标系统与源系统提供的服务相同,目标系统采用分布式架构,源系统采用集中式架构。或者,目标系统不仅可以提供源系统支持的服务,还可以提供附加服务。
数据转换的过程包括:对目标业务数据的表结构、语法、规范、函数等数据进行转换,以便数据转换后的目标业务数据符合目标系统的数据格式。
根据本公开的实施例,可以通过源系统或目标系统的数据转换工具,将匹配源系统格式的目标业务数据转换为匹配目标系统格式的目标业务数据,然后将匹配目标系统格式的目标业务数据迁移至目标系统,得到迁移后的目标业务数据。
根据本公开的实施例,目标系统接收来自源系统的迁移数据,不同批次的迁移数据包括不同的标记参数。类似的,在本次迁移之前,目标系统接收的来自源系统的历史迁移数据包括标记参数。历史迁移数据的标记参数和目标业务数据的标记参数不同。源系统可以通过设置筛选条件,将已迁移至目标系统的历史迁移数据、本次迁移的目标业务数据和未迁移至目标系统的待迁移业务数据分隔开,使得已迁移的数据仅对目标系统呈可读取状态,未迁移的数据仅对源系统呈可读取状态。
可读取状态是根据标记参数确定的。在完成目标业务数据的迁移之后,源系统可以根据待迁移业务数据的标记参数和目标业务数据的标记参数,更改筛选条件,使得迁移后的目标业务数据仅对目标系统呈可读取状态,未迁移的待迁移业务数据仅对源系统呈可读取状态。
例如,迁移至目标系统的历史迁移数据的标记参数为1,本次迁移的目标业务数据的标记参数为2,待迁移业务数据的标记参数为3、4。将过滤条件设置为大于2,即可在源系统中过滤历史迁移数据和目标业务数据,使得历史迁移数据和目标业务数据对目标系统呈可读取状态,待迁移业务数据对源系统呈可读取状态。
本公开发现在源系统和目标系统之间进行架构升级和数据迁移的过程中,相关技术通过在源系统中删除已迁移的数据,避免数据查询或数据池采集场景下的查询重复。
一方面,数据迁移涉及的数据类型众多、数据量庞大,导致数据迁移时间长。在数据迁移完成后,在源系统中删除数据量庞大的已迁移数据会延长数据迁移的时间、推迟目标系统上线的时间。另一方面,在源系统中删除已迁移数据之后,迁移至目标系统的目标业务数据缺少原始数据的对照。面对迁移过程造成的数据丢失或数据错误情况,目标系统无法根据原始数据进行恢复,部分数据需要用户重新填写,导致影响用户体验。
此外,对于数据回迁或系统异常的场景,相关技术一般将目标系统的数据迁移回源系统,以便通过源系统实施服务。由于数据迁移时间长、数据量大、迁移过程存在数据丢失风险,导致浪费计算机资源重新进行数据回迁、且处理异常的效率低。
本公开通过对待迁移业务数据进行标记,生成包括标记参数的标记清单;根据标记清单确定待迁移的至少一个批次的目标业务数据,进而实现了目标业务数据的迁移。本公开通过在迁移前对待迁移业务数据进行打标,得到标记参数,迁移后基于标记参数更改源系统的设置,使得本次迁移的目标业务数据仅对目标系统呈现可读取状态。无需在源系统中删除目标业务数据,即可避免跨库查询、数据池采集等场景存在的数据查询重复的问题。
此外,对于数据回迁的场景,本公开也可以通过更改源系统的配置参数,即可改变目标业务数据的可读取状态,无需再次进行数据迁移,降低异常处理时间,提高异常处理效率,也减少了计算机资源的浪费。并且,对于系统异常的场景,本公开基于标记参数更改目标业务数据的可读取状态,实现了快速、便捷、无感的系统切换,也无需进行已迁移业务数据的传输。
图3示意性示出了根据本公开实施例的基于迁移时段进行数据迁移方法的流程图。
如图3所示,该实施例的方法包括操作S331~操作S333,可以作为操作S230的一个具体实施例。
在操作S321,在迁移时段之前,将第一预设时间区间内的历史流水数据迁移至目标系统的分布式临时表。
根据本公开的实施例,目标业务数据包括历史流水数据。用户的历史流水数据用于表征用户在一段时间内产生的交易数据,且流水数据的数据量十分庞大。
相关技术中,在数据迁移期间,源系统和目标系统均停止对外服务。数据迁移过程需要耗费大量的时间进行历史流水数据的迁移,导致停止对外服务的时间长、影响用户体验。
根据本公开的实施例,将历史流水数据划分为第一预设时间区间和第二预设时间区间。在迁移时段之前,将第一预设时间区间内的历史流水数据迁移至目标系统的分布式临时表中。在迁移时段内,将第二预设时间区间内的历史流水数据迁移至上述分布式临时表中,得到更新的分布式临时表。
根据本公开的实施例,第二预设时间区间设置于迁移时段之前,且设置于第一预设时间区间之后,第二预设时间区间的时长比第一预设时间区间的时长短。
在操作S322,在迁移时段内,将第二预设时间区间内的历史流水数据迁移至分布式临时表,得到更新的分布式临时表。
根据本公开的实施例,在迁移时段内,完成第二预设时间区间内的历史流水数据的迁移之后,更新的分布式临时表中包括第一预设时间区间和第二预设时间区间内的历史流水数据。
例如,在迁移时段为12月1日的情况下,第一预设时间区间为从9月1日起到11月28日中间的时间区间,第二预设时间区间为从11月29日到12月1日中间的时间区间,即第一预设时间区间为从日常迁移开始到迁移时段前3天的时间区间,第二预设时间区间为距离迁移时段最近的3天。
在操作S323,在迁移时段内,按照标记清单将更新的分布式临时表中的历史流水数据写入分布式正式表,得到迁移后的目标业务数据。
根据本公开的实施例,在完成第一预设时间区间和第二预设时间区间内的历史流水数据的迁移之后,按照标记清单中目标业务数据的顺序,将更新的分布式临时表中的历史流水数据写入目标系统的分布式正式表中,得到迁移后的目标业务数据,完成数据迁移。
根据本公开的实施例,分布式临时表和分布式正式表都存储于目标系统,分布式临时表用于暂时存储从源系统中迁移出的业务数据,分布式正式表用于持久存储目标系统中的业务数据。
根据本公开的实施例,目标系统为分布式架构,目标业务数据可以存储于目标系统的多个服务器中,每个服务器都具有对应的临时表和正式表。
本公开通过日常迁移和迁移时段迁移,将数据迁移改造为多时段的迁移,缩短了变更时间窗口,减少了迁移日进行数据迁移耗费的时间、提高了整体迁移效率,降低了数据迁移对于全量业务的影响程度。
根据本公开的实施例,在迁移时段之前,可以通过多个时段将第一预设时间区间内的历史流水数据迁移至分布式临时表。
将第一预设时间区间等分为M个第一时段,M大于等于1。在第i个所述第一时段内,将在第i个所述第一时段内的历史流水数据迁移至分布式临时表中,其中,i大于等于1,且小于等于M。直至M个所述第一时段内的历史流水数据均迁移至所述分布式临时表中。
具体的,在每个第一时段的预设时刻,将第一时段内的历史流水数据迁移至分布式临时表中。例如,第一时段为一天,在每天的零点时刻,将当日产生的历史流水信息迁移至分布式临时表中。
本公开通过多个时段实现历史流水数据的迁移,提高了日常迁移的迁移效率。
图4示意性示出了根据本公开具体实施例的在迁移时段之前进行数据迁移的示意图。
如图4所示,集中式数据库401用于存储支持源系统服务的核心数据,以及用户在源系统中进行交易、查询等操作产生的业务数据。
在迁移时段之前的数据迁移过程中,从集中式数据库401中确定第一预设时间区间内的历史流水数据,然后将提取出的历史流水数据输入历史流水迁移工具402。历史流水数据迁移工具402用于接收来自集中式数据库401的历史流水数据,并对该历史流水数据进行分库分表拆分。在完成数据的分库分表拆分之后,将拆分后的历史流水数据传输至目标系统。
根据本公开的实施例,历史流水数据迁移工具402可以为datatransfer工具。历史流水数据迁移工具402对接收的第一预设时间区间内的历史数据进行卸数、分表篮子号拆分及装数,得到匹配不同分布式数据库的历史流水数据。
分布式第一数据库403和分布式第二数据库404接收来自历史流水数据迁移工具输出的数据处理后的历史流水数据,并将处理后的历史流水数据分别导入第一数据库的临时表和第二数据库在临时表。
根据本公开的实施例,目标业务数据还包括附加业务数据,附加业务数据包括用户的合约数据。目标业务数据还包括数据量与附加业务数据相似的大数据表。
根据本公开的实施例,在迁移时段之前的第二时段,对源系统进行卸数,并将卸数后得到的第一附加业务数据装载至分布式临时表中,第二时段位于第二预设时间区间内。
根据本公开的实施例,第二时段位于第二预设时间区间内,且第二时段的起始时刻距离迁移时段开始时刻的时长为预设值。例如,迁移时段为12月1日的零点时刻,第二时段的起始时刻距离迁移时段开始时刻的时长为2小时。即在2小时内完成附加业务数据的迁移。
其中,第二时段的总时长不固定,从起始时刻起,到完成附加业务数据的迁移时刻结束。
根据本公开的实施例,在迁移时段之前的第二时段内,已经完成了包括附加业务数据的历史业务数据的迁移。对于第二时段内和迁移时段内源系统产生的第二附加业务数据,通过增量处理将第二附加业务数据迁移至分布式临时表中。
其中,为了描述方便,将第二时段之前产生的附加业务数据称为第一附加业务数据,将在第二时段内和迁移时段内新产生的附加业务数据称为第二附加业务数据。
根据本公开的实施例,卸数是将数据从数据库中导入到文本文件中,实现卸数的方法包括spool命令。装载是将数据从文本文件中导入到数据库中。实现装载常用的方法为:sqlldr。
根据本公开的实施例,通过datatransfer工具,对源系统中进行卸数,并将卸数后得到的第一附加业务数据和第二附加业务数据装载至分布式临时表中。
根据本公开的实施例,在迁移时段内,将第一附加业务数据和第二附加业务数据迁移至分布式临时表之后,继续按照标记清单,将更新的分布式临时表中的第一附加业务数据和第二附加业务数据写入分布式正式表,得到迁移后的目标业务数据。
类似的,对于其他业务数据,可以利用datatransfer工具,对源系统中进行卸数,并将卸数得到的业务数据装载至分布式临时表中,核验无误后再通过脚本装入分布式正式表。
图5示意性示出了根据本公开具体实施例的在迁移时段内进行数据迁移的示意图。
如图5所示,集中式数据库501、分布式第一数据库503、分布式第二数据库504与图4中的集中式数据库401、分布式第一数据库403、分布式第二数据库404类似。集中式数据库501用于存储支持源系统服务的核心数据,分布式第一数据库503和分布式第二数据库504分别用于存储支持目标系统不同服务或不同等级用户的业务数据。
在迁移时段内,从集中式数据库501中确定第二预设时间区间内的历史流水数据和附加业务数据,然后将第二预设时间区间内的历史流水数据和附加业务数据输入数据迁移工具502。数据迁移工具502用于接收来自集中式数据库501的第二预设时间区间内的历史流水数据和附加业务数据,并基于中间数据库505对该数据进行数据迁移环境检核转换。
分布式第一数据库403和分布式第二数据库404接收来自数据迁移工具502输出的数据,并将处理后的数据导入第一数据库的临时表和第二数据库在临时表。在迁移时段内,分布式第一数据库将第一数据库的临时表的数据写入正式表;分布式第二数据库将第二数据库的临时表的数据写入正式表。
根据本公开的实施例,目标业务数据包括第一类业务数据和第二类业务数据,第一类业务数据在源系统和目标系统中的数据格式不同,第二类业务数据在源系统和目标系统中的数据格式相同。
在将目标业务数据迁移至目标系统的过程中,通过数据转换将第一类业务数据转换为匹配目标系统数据格式的第三类业务数据,然后将第三类业务数据和第二类业务数据一同迁移至目标系统中。
具体的,从源系统中获取目标业务数据,对第一类业务数据进行数据转换,得到第三类业务数据,第三类业务数据为分布式分库分表数据,数据转换包括表结构转换、语法转换、函数转换和数据比对。然后将第二类业务数据和第三类业务数据迁移至目标系统,得到迁移后的目标业务数据。
根据本公开的实施例,对第三类业务数据进行数据转换的过程,包括:对源系统卸数,得到第一类业务数据,然后对第一类业务数据进行核验、分库分表转换、数据比对,得到第三类业务数据。最后,将第三类业务数据装载至分布式临时表,再在迁移时段将第三类业务数据从临时表写入正式表。
本公开通过对数据分类,无需对全部数据进行数据转换,实现了部分数据的数据转换,降低了数据转换过程中的资源浪费、降低数据转换时间,提高数据转换效率。
根据本公开的实施例,在对第一类业务数据进行数据转换的过程中,生成与分布式分库分表数据对应的分布式索引数据,并将分布式索引数据传输至目标系统,分布式索引数据用于确定分布式分库分表数据的存储位置。具体过程如下:
图6示意性示出了根据本公开具体实施例的数据迁移过程的示意图。
如图6所示,源系统包括第一集中式子系统601和第二集中式子系统602。其中,第一集中式子系统601和第二集中式子系统602用于支持源系统的不同功能,或者用于存储不同等级用户的业务数据。根据实际需求,源系统可以为一个系统,还可以包括多个子系统。
源系统迁移工具603可以为源系统自带的迁移工具,还可以是自定义处理逻辑的迁移工具。例如,源系统迁移工具603可以为Oracle数据库迁移工具。类似的,目标系统迁移工具604可以为目标系统自带的迁移工具,也可以是自定义处理逻辑的迁移工具。
业务数据A 6011和业务数据B 6021可以是用户在源系统中存储的历史流水数据、合约数据、交易数据等。参数信息A 6012和参数信息B 6022可以是源系统中支持服务的脚本数据或具体配置参数信息。
根据本公开的实施例,从第一集中式子系统601和第二集中式子系统602中确定待迁移业务数据之后,对待迁移业务数据进行打标,生成标记清单。从标记清单中获取本次迁移的至少一个批次的目标业务数据。
根据标记清单中目标业务数据的标识信息,从第一集中式子系统601和第二集中式子系统602中卸数得到目标业务数据。在完成目标业务数据的卸数之后,对目标业务数据进行第一次检核,以便检验获取的目标业务数据是否存在错漏。
在检核结果通过的情况下,将目标业务数据分为第一类业务数据和第二类业务数据。并将第一类业务数据输入源系统迁移工具603,将第二类业务数据输入目标系统迁移工具604。
源系统迁移工具603对从源系统获取的第一类业务数据6031继续宁第二次检核和分片,得到分布式索引数据6032。具体的,第二次检核用于检验在通过源系统迁移工具进行数据传输的过程中,第一类业务数据是否发生丢失或改变。在第一类业务数据没有发生丢失或改变的情况下,根据分片策略对第一类业务数据进行分片。
在对第一类业务数据进行分片之后,生成分布式索引数据6032,该分布式索引数据用于确定分布式分库分表数据的存储位置。源系统迁移工具603可以将生成的分布式索引数据6032传输至分布式目标系统605中的配置中心6051。分布式目标系统605可以根据分布式索引数据,确定第一类业务数据在目标系统中存储的服务器、数据库、数据表位置。
在生成分布式索引数据6032之后,基于分布式索引数据,将第一类业务数据划分为适应目标系统存储位置的分布式数据。然后对得到的分布式数据进行数据转换和校验。具体的,对与源系统数据格式匹配的分布式数据进行表结构、存储过程等信息的转换,然后对转换得到的数据进行校验,最后得到分布式分库分表数据6033。
在生成分布式分库分表数据6033之后,将分布式分库分表数据6033传输至目标系统迁移工具604中,与从源系统中确定的第二类业务数据6041一起,生成待传输数据6042。
待传输数据6042可以直接传输至分布式目标系统605中的分布式系统生产库6052中。分布式系统生产库6052中包括多个数据库分区、多个数据库分表。例如,包括AP1-AZ1、AP2-AZ1、AP3-AZ1,分别表示AP1分库下的AZ1表,AP2分库下的AZ1表,AP3分库下的AZ1表。
根据本公开的实施例,在异构数据库转换中,字符集、表字段类型、数据内容出现类型取值访问缩小、数据内容截断等问题。数据迁移工具可以保证在迁移中源系统数据库和目标系统数据库的结构、索引、约束、数据量、数据类型取值范围、关键账务数据转换前后一致性。在此期间,数据转换包括目标系统数据库的表结构、语法、规范转换,以及数据分片策略、分库分表、存储过程/函数改造、数据比对等。
本公开通过在数据转换过程中产生索引数据,便于目标系统通过索引数据确定已迁移的目标业务数据的存储位置,提高数据迁移效率、便于后续操作。
根据本公开的实施例,在对源系统中的待迁移业务数据进行标记的过程的,包括:对待迁移业务数据新增预设字段,预设字段的参数为标记参数,预设字段的类型为字符型。
具体的,新增预设字段为表字段,例如Mgt_Ind;新增预设字段的字段类型字符型,且字段长度为1,例如char(1)。预设字段Mgt_Ind的参数即为标记参数。
根据本公开的实施例,在确定待迁移业务数据之后,通过对源系统进行集中式代码改造,实现待迁移业务数据的集中改造。
根据获取的迁移策略和待迁移业务数据的标识信息,生成与待迁移业务数据对应的标记参数,并得到包括标记参数的标记清单。
根据本公开的实施例,迁移策略可以是根据实际需求确定的待迁移业务数据的迁移批次、迁移批次的数量、每个迁移批次对应的迁移时刻。还可以是从源系统的配置中心中获取的预先配置好的文件。
根据本公开的实施例,对于待迁移业务数据的标记过程,可以通过预打标的方法,提前完成大批量待迁移业务数据的标记处理。例如,在迁移时段之前,对标记清单中的待迁移业务数据进行标记处理。作为一种实施例,可以在第二时段之前、在第二时段内完成待迁移业务数据的标记处理。
根据本公开的一个具体实施例,标记清单如下表1所示。
表1
Column1 | Column2 | Mgt_Ind |
A1 | A2 | |
B1 | B1 | 1(0123上线) |
C1 | C2 | 2(0225上线) |
B2 | B2 | 3(准备上线) |
C2 | C3 | 3(准备上线) |
其中,Column1下的业务数据比Column2下的约为数据等级高,Mgt_Ind表示标记参数,1(0123上线)表示B1项目级的-B1机构在1月23日进行数据迁移,且迁移批次为第一批次。
根据本公开的实施例,在得到迁移后的目标业务数据之后,还包括:将与待迁移业务数据对应的原始过滤条件更新为目标过滤条件,原始过滤条件和目标过滤条件用于确定目标业务数据的可读取状态。
根据本公开的实施例,原始过滤条件和目标过滤条件与标记参数对应,用于在源系统中筛选已迁移的业务数据和未迁移的业务数据,使得业务数据仅对源系统或目标系统呈现可读取状态。
例如,原始过滤条件为筛选标记参数大于2的数据或者标记参数为空的数据,Mgt_Ind>‘N’,N=2得到目标业务数据为B2-B2和C2-C3。还可以将原始过滤条件设置为两个筛选语句,如Mgt_Ind is null or Mgt_Ind>‘N’,得到的目标业务数据为A1-A2、B2-B2和C2-C3。其中,N为过滤条件中的静态变量,用于实现过滤条件的更新。
静态变量可以通过数据库方式读取,作为tech_param的技术参数,且数据库提供刷缓存方法,以便进行静态变量的在线变更。
根据本公开的实施例,在迁移后的目标业务数据的标记参数满足目标过滤条件的情况下,确定迁移后的目标业务数据仅对目标系统呈现可读取状态。
仍以目标业务数据为B2-B2和C2-C3为例,在完成数据迁移之后,将原始过滤条件Mgt_Ind>‘N’中的N=2更改为N=3,得到目标过滤条件。在此情况下,源系统根据目标过滤条件,将已迁移的B2-B2和C2-C3进行过滤,仅能在源系统中获取A1-A2、B1-B1、C1-C2。即已迁移的目标业务数据B2-B2和C2-C3仅对目标系统呈可读取状态。
根据本公开的实施例,通过预打标对待迁移业务数据进行打标,并且,此时由于原始过滤条件的设置,保证源系统中的数据可正常查询,实现了减少数据迁移过程因数据打标造成的时间损耗、迁移效率低。同时,通过更改过滤条件,无需清理老系统中已迁移的目标业务数据,避免了数据丢失风险,也提高了数据迁移过程的处理效率。
根据本公开的实施例,在迁移时段内,还可以响应于用户更改迁移策略的操作,更改标记参数。具体的,更改标记参数包括清除某个批次的标记或者再打标,例如,通过更改过滤条件实现该批次业务数据的不显示或重新显示,以达到清楚标记或再打标的效果。
根据本公开的实施例,对于数据回迁的应用场景,源系统响应于接收到的数据回迁请求,将目标过滤条件恢复为原始过滤条件,使得目标业务数据仅对源系统呈现可读取状态。
例如,在需要对目标业务数据B2-B2和C2-C3进行数据回迁的情况下,仅需响应于接收到的数据回迁请求,将目标过滤条件中的静态变量N=3恢复为N=2,即可实现B2-B2和C2-C3仅对源系统呈可读取状态。
整个数据切换过程耗费的计算机资源极低、数据回迁成本低、回迁效率高,提高整个过程的数据处理效率、降低数据回迁过程的资源浪费。
图7示意性示出了根据本公开实施例的服务提供方法的流程图。
如图7所示,该实施例的方法包括操作S701~操作S704,可以位于操作S230之后,作为服务提供方法的一个具体实施例。
在操作S701,响应于来自目标用户的业务请求,获取与目标用户对应的迁移状态,业务请求包括查询请求和采集请求。
根据本公开的实施例,在数据迁移的过程中,源系统和目标系统可以接收来自用户的业务请求,为用户提供业务服务。具体的,通过与目标用户对应的迁移状态,确定将目标用户的业务请求路由到源系统或目标系统,由源系统或目标系统其中一个系统执行业务请求。
例如,目标系统或源系统可以根据目标用户的等级不同,将与目标用户对应的业务请求路由到不同等级的处理器上。
根据本公开的实施例,在数据迁移过程中,源系统和目标系统可以对已迁移用户或未迁移用户提供服务,避免数据迁移过程影响全量用户的正常交易。
在操作S702,在确定目标用户的迁移状态为未迁移的情况下,将业务请求路由到源系统,并接收来自源系统的第一处理结果。
根据本公开的实施例,在确定目标用户的迁移状态为未迁移的情况下,将业务请求路由到源系统。源系统可以响应于目标用户的业务请求,调用存储于源系统中的第一业务数据处理该业务请求,生成第一处理结果。然后将第一处理结果返回给目标用户。
在操作S703,在确定目标用户的迁移状态为已迁移的情况下,将业务请求路由到目标系统,并接收来自目标系统的第二处理结果。
根据本公开的实施例,在确定目标用户的迁移状态为已迁移的情况下,将业务请求路由到目标系统。目标系统可以响应于目标用户的业务请求,调用存储于目标系统中的第二业务数据处理该业务请求,生成第二处理结果。然后将第二处理结果返回给目标用户。
根据本公开的实施例,在已迁移的业务数据发生异常的情况下,通过切换路由策略,迅速从目标系统切换回源系统,保证业务请求的正常处理。具体的,切换路由策略的方法包括:响应于接收到的表征第二处理结果为异常的处理请求,将目标过滤条件恢复为原始过滤条件。
例如,通过数据库读取方法,将过滤条件中的静态变量进行变更,实现将目标过滤条件恢复为原始过滤条件。
在完成过滤条件的切换之后,可以保证发生异常的第二业务数据的标记参数满足原始过滤条件,使得第二业务数据仅对源系统呈现可读取状态。然后目标用户产生的业务请求路由到源系统,由源系统处理该业务请求。在调用第一业务数据处理该业务请求之后,源系统生成第三处理结果,并将第三处理结果返回给目标用户。
在服务调用失败的情况下,通过切换过滤条件,快速、便捷、无感地调用源系统中的数据对业务请求进行处理,提高了用户的使用体验、提高了异常处理效率。
根据本公开的实施例,目标系统或源系统在接收到业务请求之后,由于与目标用户对应的业务数据仅对目标系统或源系统其中一个系统呈可读取状态。因此,对于已迁移的业务数据或数据回退的业务数据,仅通过业务数据的可读取状态,就可以迅速完成业务请求的处理。
在操作S704,在确定目标用户的迁移状态为迁移中的情况下,返回预设处理结果,预设处理结果包括等待时间和预设建议语句。
根据本公开的实施例,对于迁移状态为迁移中的目标用户,目标系统和源系统均拒绝提供服务,并返回预设处理结果,其中,预设处理结果包括等待时间和预设建议语句。例如,预设处理过程中的预设建议语句可以是“系统正在升级,预计3个小时后恢复服务”。
具体的,可以通过挡板服务,为迁移状态为迁移中的目标用户提供服务。例如,在确定目标用户的迁移状态为迁移中的情况下,将业务请求路由至挡板服务处。挡板服务在接收到业务请求的情况下,根据预设存储路径获取预设处理结果,并返回该预设处理结果。
其中,挡板服务是一种服务于渐进式切换流程的容错服务,是独立研发的、与业务应用完全解耦的中间服务件,可接受路由至该服务的迁移用户请求及接口响应返回,提供迁移期间服务的连续性及用户体验的友好性。
根据本公开的实施例,对于迁移状态为迁移中的目标用户,在完成数据迁移之后,根据目标用户对应的已迁移的业务数据的标记参数,在源系统中更改原始过滤条件,恢复目标用户的服务。其中,恢复后的服务是通过目标系统完成的。
根据本公开的实施例,可以通过一键式或分批次接入的方法,为迁移状态为迁移中的多个目标用户恢复服务。
本公开通过确定目标用户的迁移状态,将目标用户的业务请求路由到源系统、目标系统或挡板服务,在不对源系统进行侵入式开发的情况下,通过非侵入式挡板服务,保证系统切换期间的数据一致性,且不影响源系统存量用户的正常业务、不影响目标系统增量用户的正常业务。
在大量业务数据的渐进式迁移过程中,通过多类型服务路由策略,保证了数据回迁场景、数据异常场景以及正常场景下源系统和目标系统之间的平滑切换;实现在数据迁移期间,目标系统和源系统不间断地对用户提供服务,保证业务的连续性、全量系统的完整性,降低了系统切换对用户的影响,实现了对业务的无感切换及数据的平滑迁移。
图8示意性示出了根据本公开实施例的服务提供过程的示意图。
如图8所示,在接收来自目标用户的业务请求801之后,根据目标用户的标识信息,从配置中心802中确定与目标用户对应的迁移状态。
对于未迁移用户,将业务请求801路由到源系统803。源系统803从集中式数据805中调用与业务请求对应的业务数据,处理该业务请求,得到第一处理结果。
对于已迁移用户,将业务请求801路由到目标系统804。目标系统804从GDB集群805中调用与业务请求对应的业务数据,处理该业务请求,得到第二处理结果。
其中,图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。
对于迁移中用户,将业务请求801路由到挡板服务807。挡板服务807返回预设处理结果,预设处理结果包括等待时间和预设建议语句。
对于已迁移用户,在第二处理结果出现异常的情况下,目标系统804产生表示异常的处理请求,并将该处理请求传输给源系统803。源系统803在接收到该处理请求后,将目标过滤条件恢复为原始过滤条件,并利用集中式数据805处理该业务请求,生成第三处理结果。
图9示意性示出了根据本公开实施例的数据处理装置的结构框图。
如图9所示,该实施例的数据处理装置900包括生成模块910、确定模块920和迁移模块930。
生成模块910,用于对源系统中的待迁移业务数据进行标记,生成标记清单,标记清单包括待迁移业务数据的标识信息和标记参数,待迁移业务数据包括多个批次的业务数据,标记参数用于表示待迁移业务数据的迁移批次。在一实施例中,生成模块910,可以用于执行前文描述的操作S210,在此不再赘述。
确定模块920,用于根据标记清单,从待迁移业务数据中确定至少一个批次的目标业务数据。在一实施例中,确定模块920可以用于执行前文描述的操作S220,在此不再赘述。
迁移模块930,用于将目标业务数据迁移至预定的目标系统,得到迁移后的目标业务数据,迁移后的目标业务数据对目标系统呈现可读取状态,可读取状态是根据目标业务数据的标记参数确定的。在一实施例中,迁移模块930可以用于执行前文描述的操作S230,在此不再赘述。
根据本公开的实施例,迁移模块930包括第一迁移单元、第二迁移单元和第三迁移单元。
第一迁移单元用于在迁移时段之前,将第一预设时间区间内的历史流水数据迁移至目标系统的分布式临时表。在一实施例中,第一迁移单元可以用于执行前文描述的操作S331,在此不再赘述。
第二迁移单元用于在迁移时段内,将第二预设时间区间内的历史流水数据迁移至分布式临时表,得到更新的分布式临时表,第二预设时间区间设置于迁移时段之前,且设置于第一预设时间区间之后,第二预设时间区间的时长比第一预设时间区间的时长短。在一实施例中,第二迁移单元可以用于执行前文描述的操作S332,在此不再赘述。
第三迁移单元用于在迁移时段内,按照标记清单将更新的分布式临时表中的历史流水数据写入分布式正式表,得到迁移后的目标业务数据,分布式正式表用于存储目标系统中的业务数据。在一实施例中,第三迁移单元可以用于执行前文描述的操作S333,在此不再赘述。
根据本公开的实施例,第一迁移单元包括第一迁移子单元,用于在第i个第一时段内,将在第i个第一时段内的历史流水数据迁移至分布式临时表中,直至M个第一时段内的历史流水数据均迁移至分布式临时表中,其中,i大于等于1,且小于等于M。
根据本公开的实施例,迁移模块930包括第四迁移单元、第五迁移单元和第六迁移单元。
第四迁移单元用于在迁移时段之前的第二时段,对源系统进行卸数,并将卸数后得到的第一附加业务数据装载至分布式临时表中,第二时段位于第二预设时间区间内,第一附加业务数据为在第二时段之前产生的附加业务数据。
第五迁移单元用于在迁移时段内,对第二时段内和迁移时段内产生的第二附加业务数据进行卸数,并将卸数后得到的第二附加业务数据装载至分布式临时表中,得到更新的分布式临时表。
第六迁移单元用于在迁移时段内,按照标记清单,将更新的分布式临时表中的第一附加业务数据和第二附加业务数据写入分布式正式表,得到迁移后的目标业务数据。
根据本公开的实施例,迁移模块930包括第一确定单元、第二确定单元和第三确定单元。
第一确定单元用于从源系统中获取目标业务数据,目标业务数据包括第一类业务数据和第二类业务数据,第一类业务数据在源系统和目标系统中的数据格式不同,第二类业务数据在源系统和目标系统中的数据格式相同。
第二确定单元用于对第一类业务数据进行数据转换,得到第三类业务数据,第三类业务数据为分布式分库分表数据,第三类业务数据与目标系统中的数据格式相匹配,数据转换包括表结构转换、语法转换、函数转换和数据比对。
第三确定单元用于将第二类业务数据和第三类业务数据迁移至目标系统,得到迁移后的目标业务数据。
根据本公开的实施例,迁移模块930还包括第四确定单元,用于在对第一类业务数据进行数据转换的过程中,生成与分布式分库分表数据对应的分布式索引数据,并将分布式索引数据传输至目标系统,分布式索引数据用于确定分布式分库分表数据的存储位置。
根据本公开的实施例,生成模块910还包括第一生成单元和第二生成单元。
第一生成单元用于对待迁移业务数据新增预设字段,预设字段的参数为标记参数,预设字段的类型为字符型。
第二生成单元用于根据获取的迁移策略和待迁移业务数据的标识信息,生成与待迁移业务数据对应的标记参数,并得到包括标记参数的标记清单,迁移策略包括迁移批次的数量、每个迁移批次对应的迁移时刻。
根据本公开的实施例,数据处理装置900还包括更新模块和读取状态确定模块。
更新模块用于将与待迁移业务数据对应的原始过滤条件更新为目标过滤条件,原始过滤条件和目标过滤条件用于确定目标业务数据的可读取状态。
读取状态确定模块用于在迁移后的目标业务数据的标记参数满足目标过滤条件的情况下,确定迁移后的目标业务数据仅对目标系统呈现可读取状态。
根据本公开的实施例,数据处理装置900还包括数据回迁模块,用于响应于接收到的数据回迁请求,将目标过滤条件恢复为原始过滤条件,使得目标业务数据仅对源系统呈现可读取状态。
根据本公开的实施例,数据处理装置900还包括响应模块。响应模块包括第一响应单元、第二响应单元、第三响应单元和第四响应单元。
第一响应单元用于响应于来自目标用户的业务请求,获取与目标用户对应的迁移状态,业务请求包括查询请求和采集请求。在一实施例中,第一响应单元可以用于执行前文描述的操作S701,在此不再赘述。
第二响应单元用于在确定目标用户的迁移状态为未迁移的情况下,将业务请求路由到源系统,并接收来自源系统的第一处理结果,第一处理结果是根据源系统中与业务请求对应的第一业务数据确定的。在一实施例中,第二响应单元可以用于执行前文描述的操作S702,在此不再赘述。
第三响应单元用于在确定目标用户的迁移状态为已迁移的情况下,将业务请求路由到目标系统,并接收来自目标系统的第二处理结果,第二处理结果是根据目标系统中与业务请求对应的第二业务数据确定的。在一实施例中,第三响应单元可以用于执行前文描述的操作S703,在此不再赘述。
第四响应单元用于在确定目标用户的迁移状态为迁移中的情况下,返回预设处理结果,预设处理结果包括等待时间和预设建议语句。在一实施例中,第四响应单元可以用于执行前文描述的操作S704,在此不再赘述。
图10示意性示出了根据本公开实施例的适于数据处理方法的电子设备的方框图。
如图10所示,根据本公开实施例的电子设备1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1003中,存储有电子设备1000操作所需的各种程序和数据。处理器1001、ROM 1002以及RAM 1003通过总线1004彼此相连。处理器1001通过执行ROM 1002和/或RAM1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1002和RAM 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1000还可以包括输入/输出(I/O)接口1005,输入/输出(I/O)接口1005也连接至总线1004。电子设备1000还可以包括连接至I/O接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1002和/或RAM 1003和/或ROM 1002和RAM 1003以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的数据处理方法。
在该计算机程序被处理器1001执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1009被下载和安装,和/或从可拆卸介质1011被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (15)
1.一种数据处理方法,包括:
对源系统中的待迁移业务数据进行标记,生成标记清单,所述标记清单包括所述待迁移业务数据的标识信息和标记参数,所述待迁移业务数据包括多个批次的业务数据,所述标记参数用于表示所述待迁移业务数据的迁移批次;
根据所述标记清单,从所述待迁移业务数据中确定至少一个批次的目标业务数据;以及
将所述目标业务数据迁移至预定的目标系统,得到迁移后的目标业务数据,所述迁移后的目标业务数据对所述目标系统呈现可读取状态,所述可读取状态是根据所述目标业务数据的标记参数确定的。
2.根据权利要求1所述的方法,其中,所述目标业务数据包括历史流水数据;
所述将所述目标业务数据迁移至目标系统,得到迁移后的目标业务数据,包括:
在迁移时段之前,将第一预设时间区间内的历史流水数据迁移至所述目标系统的分布式临时表;
在所述迁移时段内,将第二预设时间区间内的历史流水数据迁移至所述分布式临时表,得到更新的分布式临时表,所述第二预设时间区间设置于所述迁移时段之前,且设置于所述第一预设时间区间之后,所述第二预设时间区间的时长比所述第一预设时间区间的时长短;以及
在所述迁移时段内,按照所述标记清单将所述更新的分布式临时表中的历史流水数据写入分布式正式表,得到迁移后的目标业务数据,所述分布式正式表用于存储所述目标系统中的业务数据。
3.根据权利要求2所述的方法,其中,所述第一预设时间区间包括M个第一时段,M大于等于1;所述在迁移时段之前,将第一预设时间区间内的历史流水数据迁移至所述目标系统的分布式临时表包括:
在第i个所述第一时段内,将在第i个所述第一时段内的历史流水数据迁移至所述分布式临时表中,直至M个所述第一时段内的历史流水数据均迁移至所述分布式临时表中,其中,i大于等于1,且小于等于M。
4.根据权利要求2所述的方法,其中,所述目标业务数据还包括附加业务数据,所述附加业务数据包括用户的合约数据;
所述将所述目标业务数据迁移至目标系统,得到迁移后的目标业务数据,包括:
在所述迁移时段之前的第二时段,对所述源系统进行卸数,并将卸数后得到的第一附加业务数据装载至所述分布式临时表中,所述第二时段位于所述第二预设时间区间内,第一附加业务数据为在所述第二时段之前产生的附加业务数据;
在所述迁移时段内,对所述第二时段内和所述迁移时段内产生的第二附加业务数据进行卸数,并将卸数后得到的第二附加业务数据装载至所述分布式临时表中,得到更新的分布式临时表;以及
在所述迁移时段内,按照所述标记清单,将所述更新的分布式临时表中的所述第一附加业务数据和所述第二附加业务数据写入分布式正式表,得到迁移后的目标业务数据。
5.根据权利要求1所述的方法,其中,将所述目标业务数据迁移至目标系统,得到迁移后的目标业务数据,包括:
从所述源系统中获取所述目标业务数据,所述目标业务数据包括第一类业务数据和第二类业务数据,所述第一类业务数据在所述源系统和所述目标系统中的数据格式不同,所述第二类业务数据在所述源系统和所述目标系统中的数据格式相同;
对所述第一类业务数据进行数据转换,得到第三类业务数据,所述第三类业务数据为分布式分库分表数据,所述第三类业务数据与所述目标系统中的数据格式相匹配,所述数据转换包括表结构转换、语法转换、函数转换和数据比对;以及
将所述第二类业务数据和所述第三类业务数据迁移至所述目标系统,得到迁移后的目标业务数据。
6.根据权利要求5所述的方法,还包括:
在对所述第一类业务数据进行数据转换的过程中,生成与所述分布式分库分表数据对应的分布式索引数据,并将所述分布式索引数据传输至所述目标系统,所述分布式索引数据用于确定所述分布式分库分表数据的存储位置。
7.根据权利要求1所述的方法,其中,所述对源系统中的待迁移业务数据进行标记,生成标记清单,包括:
对所述待迁移业务数据新增预设字段,所述预设字段的参数为所述标记参数,所述预设字段的类型为字符型;
根据获取的迁移策略和所述待迁移业务数据的标识信息,生成与所述待迁移业务数据对应的标记参数,并得到包括所述标记参数的标记清单,所述迁移策略包括所述迁移批次的数量、每个迁移批次对应的迁移时刻。
8.根据权利要求1所述的方法,其中,在得到迁移后的目标业务数据之后,还包括:
将与所述待迁移业务数据对应的原始过滤条件更新为目标过滤条件,所述原始过滤条件和所述目标过滤条件用于确定目标业务数据的可读取状态;以及
在所述迁移后的目标业务数据的标记参数满足所述目标过滤条件的情况下,确定所述迁移后的目标业务数据仅对所述目标系统呈现可读取状态。
9.根据权利要求8所述的方法,还包括:
响应于接收到的数据回迁请求,将所述目标过滤条件恢复为原始过滤条件,使得所述目标业务数据仅对所述源系统呈现可读取状态。
10.根据权利要求8所述的方法,还包括:
响应于来自目标用户的业务请求,获取与所述目标用户对应的迁移状态,所述业务请求包括查询请求和采集请求;
在确定所述目标用户的迁移状态为未迁移的情况下,将所述业务请求路由到所述源系统,并接收来自所述源系统的第一处理结果,所述第一处理结果是根据所述源系统中与所述业务请求对应的第一业务数据确定的;
在确定所述目标用户的迁移状态为已迁移的情况下,将所述业务请求路由到所述目标系统,并接收来自所述目标系统的第二处理结果,所述第二处理结果是根据所述目标系统中与所述业务请求对应的第二业务数据确定的;以及
在确定所述目标用户的迁移状态为迁移中的情况下,返回预设处理结果,所述预设处理结果包括等待时间和预设建议语句。
11.根据权利要求10所述的方法,还包括:
响应于接收到的表征所述第二处理结果为异常的处理请求,将所述目标过滤条件恢复为原始过滤条件;
在所述第二业务数据的标记参数满足所述原始过滤条件的情况下,确定所述第二业务数据仅对所述源系统呈现可读取状态;以及
将所述业务请求路由到所述源系统,并接收来自所述源系统的第三处理结果。
12.一种数据处理装置,包括
生成模块,用于对源系统中的待迁移业务数据进行标记,生成标记清单,所述标记清单包括所述待迁移业务数据的标识信息和标记参数,所述待迁移业务数据包括多个批次的业务数据,所述标记参数用于表示所述待迁移业务数据的迁移批次;
确定模块,用于根据所述标记清单,从所述待迁移业务数据中确定至少一个批次的目标业务数据;以及
迁移模块,用于将所述目标业务数据迁移至预定的目标系统,得到迁移后的目标业务数据,所述迁移后的目标业务数据对所述目标系统呈现可读取状态,所述可读取状态是根据所述目标业务数据的标记参数确定的。
13.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~11中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~11中任一项所述的方法。
15.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211129453.5A CN115525625A (zh) | 2022-09-16 | 2022-09-16 | 数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211129453.5A CN115525625A (zh) | 2022-09-16 | 2022-09-16 | 数据处理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115525625A true CN115525625A (zh) | 2022-12-27 |
Family
ID=84698578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211129453.5A Pending CN115525625A (zh) | 2022-09-16 | 2022-09-16 | 数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115525625A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539847A (zh) * | 2023-12-15 | 2024-02-09 | 中国人寿保险股份有限公司 | 数据回迁方法、装置、系统、计算机设备和存储介质 |
-
2022
- 2022-09-16 CN CN202211129453.5A patent/CN115525625A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539847A (zh) * | 2023-12-15 | 2024-02-09 | 中国人寿保险股份有限公司 | 数据回迁方法、装置、系统、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109766362B (zh) | 数据处理方法及装置 | |
US11977532B2 (en) | Log record identification using aggregated log indexes | |
CA2831381C (en) | Recovery of tenant data across tenant moves | |
US11893041B2 (en) | Data synchronization between a source database system and target database system | |
CN110209662A (zh) | 一种自动化加载数据的方法和装置 | |
CN110555150B (zh) | 一种数据监控方法、装置、设备和存储介质 | |
CN110795478A (zh) | 一种应用于金融业务的数据仓库更新方法、装置和电子设备 | |
CN111338834B (zh) | 数据存储方法和装置 | |
CN115525625A (zh) | 数据处理方法、装置、设备及介质 | |
CN113868273B (zh) | 元数据的快照方法及其装置 | |
US10915513B2 (en) | Archival of data in a relational database management system using block level copy | |
CN114116678A (zh) | 数据迁移方法、装置、设备、介质及程序产品 | |
CN110716804A (zh) | 无用资源的自动删除方法、装置、存储介质及电子设备 | |
CN117609226A (zh) | 一种信息流数据存储方法、装置、电子设备和可读介质 | |
CN110689137B (zh) | 参数确定方法、系统、介质和电子设备 | |
CN112434067A (zh) | 国际运价的缓存数据处理方法、系统、设备及介质 | |
CN109067649B (zh) | 节点处理方法及装置、存储介质和电子设备 | |
US11556519B2 (en) | Ensuring integrity of records in a not only structured query language database | |
CN111967806B (zh) | 基于定期回扫的用户风险更新方法、装置和电子设备 | |
CN115080434A (zh) | 案例执行方法、装置、设备和介质 | |
CN113419752A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN118885336A (zh) | 数据恢复方法、装置及设备 | |
CN116244384A (zh) | 数据同步方法、数据同步装置、电子设备及存储介质 | |
CN118690068A (zh) | 数据库操作方法和装置 | |
CN116775102A (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 |