CN116185468A - 应用程序迁移方法、装置、设备及存储介质 - Google Patents

应用程序迁移方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116185468A
CN116185468A CN202310193399.9A CN202310193399A CN116185468A CN 116185468 A CN116185468 A CN 116185468A CN 202310193399 A CN202310193399 A CN 202310193399A CN 116185468 A CN116185468 A CN 116185468A
Authority
CN
China
Prior art keywords
file
target
source code
text
matching
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
CN202310193399.9A
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.)
China Resources Digital Technology Co Ltd
Original Assignee
China Resources Digital 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 China Resources Digital Technology Co Ltd filed Critical China Resources Digital Technology Co Ltd
Priority to CN202310193399.9A priority Critical patent/CN116185468A/zh
Publication of CN116185468A publication Critical patent/CN116185468A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种应用程序迁移方法、装置、设备及存储介质,属于应用程序迁移技术领域。该方法包括:接收迁移指令;响应于所述迁移指令,获取应用程序的源码工程包,其中,所述源码工程包包括多个源码文件,所述迁移指令用于指示将所述应用程序所连接的数据库由源数据库迁移至目标数据库;利用预设的目标匹配模型对所述源码文件进行匹配处理,在多个所述源码文件中匹配出待处理文件,其中,所述目标匹配模型与所述迁移指令对应;利用预设的目标改造规则对所述待处理文件进行改造处理,得到改造文件,以更新所述源码工程包,其中,所述目标改造规则与所述迁移指令对应。本申请实施例能够减少源码迁移过程的耗时,从而提高开发效率。

Description

应用程序迁移方法、装置、设备及存储介质
技术领域
本申请涉及但不限于应用程序迁移技术领域,尤其涉及一种应用程序迁移方法、装置、设备及存储介质。
背景技术
在不同应用场景下,应用程序所连接的数据库可能需要迁移,由于不同数据库的语法存在差异,数据库迁移后,需要对应用程序的源码进行同步迁移,以使应用程序能够有效访问迁移后的数据库。
目前,在应用程序的迁移过程中,开发人员需要分析源数据库和目标数据库的差异性,进而对应用程序的源码进行人工迁移,但是,源码通常比较复杂,人工分析及兼容性改造的工作量较大,源码迁移过程的耗时较长,导致开发效率低。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供了一种应用程序迁移方法、装置、设备及存储介质,能够减少源码迁移过程的耗时,从而提高开发效率。
为实现上述目的,本申请实施例的第一方面提出了一种应用程序迁移方法,包括:接收迁移指令;响应于所述迁移指令,获取应用程序的源码工程包,其中,所述源码工程包包括多个源码文件,所述迁移指令用于指示将所述应用程序所连接的数据库由源数据库迁移至目标数据库;利用预设的目标匹配模型对所述源码文件进行匹配处理,在多个所述源码文件中匹配出待处理文件,其中,所述目标匹配模型与所述迁移指令对应;利用预设的目标改造规则对所述待处理文件进行改造处理,得到改造文件,以更新所述源码工程包,其中,所述目标改造规则与所述迁移指令对应。
在一些实施例中,所述目标匹配模型为正则表达式引擎,所述正则表达式引擎中配置有多个配置正则表达式和SQL正则表达式;所述利用预设的目标匹配模型对所述源码文件进行匹配处理,在多个所述源码文件中匹配出待处理文件,包括:根据所述配置正则表达式和所述SQL正则表达式,对所述源码文件内的文本进行匹配处理;针对任一所述源码文件,当所述源码文件内的文本与任一所述配置正则表达式匹配,确定所述源码文件包含待转换配置文本,其中,所述待转换配置文本是指所述源码文件内与所述配置正则表达式匹配的文本,所述待转换配置文本与所述源数据库对应;针对任一所述源码文件,当所述源码文件内的文本与任一所述SQL正则表达式匹配,确定所述源码文件包含待转换SQL文本,其中,所述待转换SQL文本是指所述源码文件内与所述SQL正则表达式匹配的文本,所述待转换SQL文本与所述源数据库对应;在多个所述源码文件中,将包含所述待转换配置文本或所述待转换SQL文本的所述源码文件作为待处理文件。
在一些实施例中,所述目标改造规则包括配置转换规则和SQL转换规则;所述利用预设的目标改造规则对所述待处理文件进行改造处理,得到改造文件,包括:当所述待处理文件包含所述待转换配置文本,利用所述配置转换规则对所述待转换配置文本进行转换处理,得到目标配置文本,并根据所述目标配置文本对所述待处理文件进行改造处理,其中,所述目标配置文本与所述目标数据库对应;当所述待处理文件包含所述待转换SQL文本,利用所述SQL转换规则对所述待转换SQL文本进行转换处理,得到目标SQL文本,并根据所述目标SQL文本对所述待处理文件进行改造处理,其中,所述目标SQL文本与所述目标数据库对应;根据改造处理后的所述待处理文件,得到改造文件。
在一些实施例中,所述根据改造处理后的所述待处理文件,得到改造文件的步骤之后,还包括:根据所述改造文件和所述源码工程包,确定改造路径信息和改造位置信息,其中,所述改造路径信息用于指示所述改造文件在所述源码工程包中的路径,所述改造位置信息用于指示所述目标配置文本或所述目标SQL文本在所述改造文件内的位置;根据所述改造文件的文件名、所述改造路径信息和所述改造位置信息,生成记录报告。
在一些实施例中,所述根据改造处理后的所述待处理文件,得到改造文件的步骤之前,还包括:检测是否接收到所述目标配置文本的配置修改请求;当接收到所述配置修改请求,根据所述配置修改请求,对所述目标配置文本进行修改处理,并根据修改处理后的所述目标配置文本对所述待处理文件进行改造处理;检测是否接收到所述目标SQL文本的SQL修改请求;当接收到所述SQL修改请求,根据所述SQL修改请求,对所述目标SQL文本进行修改处理,并根据修改处理后的所述目标SQL文本对所述待处理文件进行改造处理。
在一些实施例中,所述目标匹配模型配置有多个主匹配规则和若干个辅助匹配规则,所述辅助匹配规则与所述主匹配规则对应;所述利用预设的目标匹配模型对所述源码文件进行匹配处理,在多个所述源码文件中匹配出待处理文件,包括:将所述源码文件输入所述目标匹配模型,对所述源码文件进行匹配处理;遍历所述主匹配规则,在多个所述源码文件中,将符合所述主匹配规则的所述源码文件作为中间文件,并判断所述主匹配规则是否对应有辅助匹配规则;当所述主匹配规则对应有辅助匹配规则,且所述中间文件符合所述辅助匹配规则时,将所述中间文件作为待处理文件。
在一些实施例中,所述目标匹配模型通过以下步骤得到:对所述源数据库和所述目标数据库进行差异性分析,确定差异信息;对所述差异信息进行特征提取,确定多个模式特征;根据所述模式特征,确定所述模式特征对应的特征正则表达式,并根据所述特征正则表达式得到所述目标匹配模型。
为实现上述目的,本申请实施例的第二方面提出了一种应用程序迁移装置,包括:接收单元,用于接收迁移指令;获取单元,用于响应于所述迁移指令,获取应用程序的源码工程包,其中,所述源码工程包包括多个源码文件,所述迁移指令用于指示将所述应用程序所连接的数据库由源数据库迁移至目标数据库;匹配单元,用于利用预设的目标匹配模型对所述源码文件进行匹配处理,在多个所述源码文件中匹配出待处理文件,其中,所述迁移指令用于指示所述应用程序对应的源数据库和目标数据库,所述目标匹配模型与所述迁移指令对应;改造单元,用于利用预设的目标改造规则对所述待处理文件进行改造处理,得到改造文件,以更新所述源码工程包,其中,所述目标改造规则与所述迁移指令对应。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的应用程序迁移方法。
为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的应用程序迁移方法。
本申请提出的应用程序迁移方法、装置、设备及存储介质,本申请实施例包括:接收迁移指令;响应于所述迁移指令,获取应用程序的源码工程包,其中,所述源码工程包包括多个源码文件,所述迁移指令用于指示将所述应用程序所连接的数据库由源数据库迁移至目标数据库;利用预设的目标匹配模型对所述源码文件进行匹配处理,在多个所述源码文件中匹配出待处理文件,其中,所述目标匹配模型与所述迁移指令对应;利用预设的目标改造规则对所述待处理文件进行改造处理,得到改造文件,以更新所述源码工程包,其中,所述目标改造规则与所述迁移指令对应。根据本申请实施例提供的方案,接收到迁移指令后,需要对应用程序所连接的数据库进行迁移处理,在迁移过程中,通过目标匹配模型,在源码文件中匹配出需要改造的待处理文件,然后利用目标改造规则,对待处理文件改造得到改造文件,进而更新源码工程包,目标匹配模型和目标改造规则均与迁移指令对应,能够有效的将应用程序所连接的数据库由源数据库迁移至目标数据库,实现了应用程序的源码工程包的自动同步迁移,相对于人工迁移,能够减少源码迁移过程的耗时,从而提高开发效率,另外,还能提高源码迁移的准确率,保证源码迁移的质量。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1是本申请一个实施例提供的应用程序迁移方法的流程图;
图2是本申请另一个实施例提供的一种匹配处理的方法的流程图;
图3是本申请另一个实施例提供的一种改造处理的方法的流程图;
图4是本申请另一个实施例提供的一种生成记录报告的方法的流程图;
图5是本申请另一个实施例提供的一种修改处理的方法的流程图;
图6是本申请另一个实施例提供的另一种匹配处理的方法的流程图;
图7是本申请另一个实施例提供的一种得到目标匹配模型的方法的流程图;
图8是本申请另一个实施例提供的应用程序迁移装置的结构示意图;
图9是本申请另一个实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
在本申请的描述中,若干个的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书、权利要求书或上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
目前,在应用程序的迁移过程中,开发人员需要分析源数据库和目标数据库的差异性,进而对应用程序的源码进行人工迁移,但是,源码通常比较复杂,人工分析及兼容性改造的工作量较大,源码迁移过程的耗时较长,导致开发效率低。
针对源码迁移过程的耗时较长,导致开发效率低的问题,本申请提供了一种应用程序迁移方法、装置、设备及存储介质,该方法包括:接收迁移指令;响应于迁移指令,获取应用程序的源码工程包,其中,源码工程包包括多个源码文件,迁移指令用于指示将应用程序所连接的数据库由源数据库迁移至目标数据库;利用预设的目标匹配模型对源码文件进行匹配处理,在多个源码文件中匹配出待处理文件,其中,目标匹配模型与迁移指令对应;利用预设的目标改造规则对待处理文件进行改造处理,得到改造文件,以更新源码工程包,其中,目标改造规则与迁移指令对应。根据本申请实施例提供的方案,接收到迁移指令后,需要对应用程序所连接的数据库进行迁移处理,在迁移过程中,通过目标匹配模型,在源码文件中匹配出需要改造的待处理文件,然后利用目标改造规则,对待处理文件改造得到改造文件,进而更新源码工程包,目标匹配模型和目标改造规则均与迁移指令对应,能够有效的将应用程序所连接的数据库由源数据库迁移至目标数据库,实现了应用程序的源码工程包的自动同步迁移,相对于人工迁移,能够减少源码迁移过程的耗时,从而提高开发效率,另外,还能提高源码迁移的准确率,保证源码迁移的质量。
本申请实施例提供的应用程序迁移方法、装置、设备及存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的应用程序迁移方法。
本申请实施例提供的应用程序迁移方法,涉及数据处理技术领域。本申请实施例提供的应用程序迁移方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现应用程序迁移方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准。此外,当本申请实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的用户相关数据。
首先,对本发明中涉及的若干名词进行解析:
达梦数据库,是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,达梦数据库在保证大型通用的基础上,针对可靠性、高性能、海量数据处理和安全性做了大量的研发和改进工作,极大提升了达梦数据库产品的性能、可靠性、可扩展性,能同时兼顾OLTP和OLAP请求。
ORACLE数据库,是甲骨文公司的一款关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境,具备高效率、可靠性好、适应高吞吐量的优点。
JAVA应用程序,是指使用JAVA开发的程序,JAVA在编程时采用了以对象为导向的方式,使用JAVA开发的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。
下面结合附图,对本申请实施例作进一步阐述。
如图1所示,图1是本申请一个实施例提供的一种应用程序迁移方法的流程图。该应用程序迁移方法包括但不限于如下步骤:
步骤S110,接收迁移指令;
步骤S120,响应于迁移指令,获取应用程序的源码工程包,其中,源码工程包包括多个源码文件,迁移指令用于指示将应用程序所连接的数据库由源数据库迁移至目标数据库;
步骤S130,利用预设的目标匹配模型对源码文件进行匹配处理,在多个源码文件中匹配出待处理文件,其中,目标匹配模型与迁移指令对应;
步骤S140,利用预设的目标改造规则对待处理文件进行改造处理,得到改造文件,以更新源码工程包,其中,目标改造规则与迁移指令对应。
可以理解的是,随着数据库的迁移改造,当前许多基于ORACLE数据库的JAVA应用程序需要迁移到达梦数据库,ORACLE数据库和达梦数据库具备不同的产品特性,而且数据库与JAVA应用程序之间存在耦合,为了保证应用程序的正常运作,需要对应用程序进行相应的改造适配,才能在新的数据库上正常运行,ORACLE数据库相当于源数据库,达梦数据库相当于目标数据库,通过获取源数据库对应的源语法信息和目标数据库对应的目标语法信息,然后通过源语法信息和目标语法信息,确定目标数据库和源数据库之间的语法差异信息,进而利用语法差异信息确定目标匹配模型和目标改造规则,进而通过目标匹配模型匹配出待处理文件,并利用目标改造规则改造待处理文件,实现应用程序的转换适配,无需人工迁移,能够提高开发效率;基于此,接收到迁移指令后,需要对应用程序所连接的数据库进行迁移处理,在迁移过程中,通过目标匹配模型,在源码文件中匹配出需要改造的待处理文件,然后利用目标改造规则,对待处理文件改造得到改造文件,进而更新源码工程包,目标匹配模型和目标改造规则均与迁移指令对应,能够有效的将应用程序所连接的数据库由源数据库迁移至目标数据库,实现了应用程序的源码工程包的自动同步迁移,相对于人工迁移,能够减少源码迁移过程的耗时,从而提高开发效率,另外,还能提高源码迁移的准确率,保证源码迁移的质量。
需要说明的是,获取应用程序的源码工程包的步骤包括:获取应用程序的应用信息;根据应用信息,确定源码地址;根据源码地址,获取应用程序的源码工程包;其中,应用信息是指应用程序迁移过程相关的信息,应用信息包括但不限于:源码工程包或者Gitlab代码仓库地址、访问token、分支、依赖管理工具(maven或gradle)和jdk版本信息。应用信息是应用程序的转换适配过程必要的输入信息,每个待转换适配的应用程序维护一条应用数据。
在具体实践中,源码工程包在更新后,后续需要对更新后的源码工程包进行编译、打包和部署处理,得到更新后的应用程序。
另外,参照图2,在一实施例中,目标匹配模型为正则表达式引擎,正则表达式引擎中配置有多个配置正则表达式和SQL正则表达式;图1所示实施例中的步骤S130,包括但不限于有以下步骤:
步骤S210,根据配置正则表达式和SQL正则表达式,对源码文件内的文本进行匹配处理;
步骤S220,针对任一源码文件,当源码文件内的文本与任一配置正则表达式匹配,确定源码文件包含待转换配置文本,其中,待转换配置文本是指源码文件内与配置正则表达式匹配的文本,待转换配置文本与源数据库对应;
步骤S230,针对任一源码文件,当源码文件内的文本与任一SQL正则表达式匹配,确定源码文件包含待转换SQL文本,其中,待转换SQL文本是指源码文件内与SQL正则表达式匹配的文本,待转换SQL文本与源数据库对应;
步骤S240,在多个源码文件中,将包含待转换配置文本或待转换SQL文本的源码文件作为待处理文件。
可以理解的是,在源码文件中,源数据库对应的配置文本和目标数据库对应的配置文本存在配置语法差异,基于正则表达式引擎,通过配置语法差异生成配置正则表达式,配置正则表达式与配置语法差异的类型一一对应,配置正则表达式用于匹配出转换配置文本,在应用程序的迁移过程中,通过扫描各个源码文件中的文本,利用配置正则表达式匹配出所有转换配置文本,将包含待转换配置文本的源码文件作为待处理文件;另外,源数据库对应的SQL文本和目标数据库对应的SQL文本存在SQL语法差异,基于正则表达式引擎,通过SQL语法差异生成SQL正则表达式,SQL正则表达式与SQL语法差异的类型一一对应,SQL正则表达式用于匹配出转换SQL文本,在应用程序的迁移过程中,通过扫描各个源码文件中的文本,利用SQL正则表达式匹配出所有转换SQL文本,将包含待转换SQL文本的源码文件作为待处理文件。
需要说明的是,开发人员可人工修改配置正则表达式和SQL正则表达式,来提高文本的匹配效率和匹配准确率。
在具体实践中,在JAVA应用程序中,对于源数据库为ORACLE数据库,目标数据库为达梦数据库,针对ORACLE数据库和达梦数据库之间的配置语法差异,基于正则表达式引擎,通过配置语法差异生成配置正则表达式,配置正则表达式包括但不限于:“*?dialect[\w\d\.]*”、“(?<dbusername>)\n.*)”,配置正则表达式能够匹配出待转换配置文本;针对ORACLE数据库和达梦数据库之间的SQL语法差异,基于正则表达式引擎,通过SQL语法差异生成SQL正则表达式,SQL正则表达式包括但不限于:“remainder\s*”、“(?)CLOB”,SQL正则表达式能够匹配出待改造SQL文本。
另外,在一实施例中,图2所示实施例中的步骤S210,包括但不限于有以下步骤:
根据源码文件的文件名和预设的名称筛选规则,在源码文件中确定配置文件;
根据配置正则表达式,对配置文件内的文本进行匹配处理;
根据SQL正则表达式,对源码文件内的文本进行匹配处理;
可以理解的是,在匹配处理之前,通过名称筛选规则,在源码文件中确定配置文件;待转换配置文本位于配置文件内,源码文件的总数量远小于源码文件内所有文本的总数量,先通过名称筛选规则先筛选出配置文件,再通过配置正则表达式对配置文件进行针对性匹配处理,能够有效提高匹配效率。
在具体实践中,在JAVA应用程序中,配置文件具有固定的文件名后缀,例如,名称筛选规则包括但不限于:*.xml、*.properties、*.yaml和*.yml,名称筛选规则能够筛选出文件名后缀为xml、properties、yaml和yml的配置文件。
另外,参照图3,在一实施例中,目标改造规则包括配置转换规则和SQL转换规则;图1所示实施例中的步骤S140,包括但不限于有以下步骤:
步骤S310,当待处理文件包含待转换配置文本,利用配置转换规则对待转换配置文本进行转换处理,得到目标配置文本,并根据目标配置文本对待处理文件进行改造处理,其中,目标配置文本与目标数据库对应;
步骤S320,当待处理文件包含待转换SQL文本,利用SQL转换规则对待转换SQL文本进行转换处理,得到目标SQL文本,并根据目标SQL文本对待处理文件进行改造处理,其中,目标SQL文本与目标数据库对应;
步骤S330,根据改造处理后的待处理文件,得到改造文件。
可以理解的是,在源码文件中,源数据库对应的配置文本和目标数据库对应的配置文本存在配置语法差异,通过配置语法差异生成配置正则表达式后,通过配置语法差异还可以确定配置文本中需要转换的内容,进而确定配置转换规则,配置转换规则用于将对应于源数据库的待转换配置文本转换为对应于目标数据库的目标配置文本;另外,源数据库对应的SQL文本和目标数据库对应的SQL文本存在SQL语法差异,通过SQL语法差异生成SQL正则表达式后,通过SQL语法差异还可以确定SQL文本中需要转换的内容,进而确定SQL转换规则,SQL转换规则用于将对应于源数据库的待转换SQL文本转换为对应于目标数据库的目标SQL文本。
在具体实践中,配置转换规则与配置正则表达式是对应的,例如,
第一配置正则表达式为:“*?dialect[\w\d\.]*”,
对应的第一配置转换规则为:“${prefix}org.hibernate.dialect.DmDialect”;
第二配置正则表达式为:“(?<dbusername>)\n.*)”,
对应的第二配置转换规则为:“${origin}#\{\['${dbusername}'\]\}”;
SQL转换规则与SQL正则表达式是对应的,例如,
第一SQL正则表达式为:“remainder\s*”,
对应的第一SQL转换规则为:“MOD\(${origin}\);
第二SQL正则表达式为:“(?)CLOB”,
对应的第二SQL转换规则为:“Clob”。
另外,参照图4,在一实施例中,图3所示实施例中的步骤S330之后,还包括但不限于有以下步骤:
步骤S410,根据改造文件和源码工程包,确定改造路径信息和改造位置信息,其中,改造路径信息用于指示改造文件在源码工程包中的路径,改造位置信息用于指示目标配置文本或目标SQL文本在改造文件内的位置;
步骤S420,根据改造文件的文件名、改造路径信息和改造位置信息,生成记录报告。
可以理解的是,当待处理文件改造完成后,会自动生成记录报告,记录报告会记录改造文件的文件名、改造路径信息和改造位置信息,改造路径信息能够指示出改造文件在源码工程包中的路径,改造位置信息能够指示出目标配置文本或目标SQL文本在改造文件内的位置,通过查看记录报告,开发人员能够快速得知应用程序的改造内容,便于匹配模型和转换规则的进一步完善,提高应用程序的迁移质量。
参照表1,表1为本申请实施例提供的记录报告,记录报告的表格包括文件名称列、文件路径列、语句位置列,其中,文件名称列用于记录改造文件的文件名,文件路径列用于记录改造文件在源码工程包中的路径,语句位置列用于记录目标配置文本或目标SQL文本在改造文件内的位置;另外,为了提高开发效率,记录报告的表格还包括源语句列、目标语句列和适配状态列,其中,源语句是指待转换配置文本或待转换SQL文本,目标语句是指目标配置文本或目标SQL文本,源语句列用于记录待转换配置文本或待转换SQL文本,目标语句列用于记录目标配置文本或目标SQL文本,适配状态列用于记录迁移状态,适配状态为成功代表源语句已经成功改造为目标语句,适配状态为失败代表源语句未改造为目标语句。
表1
文件名称 文件路径 语句位置 源语句 目标语句 适配状态
H1 /Path1 100-110 to_nchar TO_CHAT 成功
H2 /Path2 500-550 sys.dual DUAL 成功
另外,参照图5,在一实施例中,图3所示实施例中的步骤S330之前,还包括但不限于有以下步骤:
步骤S510,检测是否接收到目标配置文本的配置修改请求;
步骤S520,当接收到配置修改请求,根据配置修改请求,对目标配置文本进行修改处理,并根据修改处理后的目标配置文本对待处理文件进行改造处理;
步骤S530,检测是否接收到目标SQL文本的SQL修改请求;
步骤S540,当接收到SQL修改请求,根据SQL修改请求,对目标SQL文本进行修改处理,并根据修改处理后的目标SQL文本对待处理文件进行改造处理。
可以理解的是,在更新源码工程包之前,开发人员可得知应用程序的改造内容,例如,将待转换配置文本、待转换SQL文本、目标配置文本、目标SQL文本和相关的源码文件记录到配置解析表中,并在显示模块中显示该配置解析表,能够使开发人员通过配置解析表得知源码工程包的改造内容,当开发人员需要修改改造内容时,开发人员通过输入配置修改请求来修改目标配置文本,或者通过输入SQL修改请求来修改目标SQL文本,在开发人员对配置解析表内的信息确定无误后,才对源码工程包进行更新,能够保证源码工程包的可靠性。
需要说明的是,除了通过配置解析表来得知源码工程包的改造内容,开发人员还可以通过其他途径来得知源码工程包的改造内容,在此不作出限定。
另外,参照图6,在一实施例中,目标匹配模型配置有多个主匹配规则和若干个辅助匹配规则,辅助匹配规则与主匹配规则对应;图1所示实施例中的步骤S130,包括但不限于有以下步骤:
步骤S610,将源码文件输入目标匹配模型,对源码文件进行匹配处理;
步骤S620,遍历主匹配规则,在多个源码文件中,将符合主匹配规则的源码文件作为中间文件,并判断主匹配规则是否对应有辅助匹配规则;
步骤S630,当主匹配规则对应有辅助匹配规则,且中间文件符合辅助匹配规则时,将中间文件作为待处理文件。
可以理解的是,对于内容结构复杂的源码文件,单一的匹配规则无法准确匹配出待处理文件,需要配置主匹配规则和辅助匹配规则,先利用主匹配规则对待处理文件进行初步匹配,将符合主匹配规则的源码文件作为中间文件,然后判断该主匹配规则是否对应有辅助匹配规则,当该主匹配规则对应有辅助匹配规则,代表该匹配内容比较复杂,需要利用该辅助匹配规则对中间文件进行辅助匹配,当中间文件符合辅助匹配规则时,将中间文件作为待处理文件,当中间文件不符合辅助匹配规则时,说明中间文件不满足作为待处理文件的条件,通过结合主匹配规则和辅助匹配规则进行匹配,能够有效提高待处理文件的匹配准确率。
需要说明的是,当该主匹配规则没有对应的辅助匹配规则,代表该匹配内容比较简单,无需进行辅助匹配,直接将中间文件作为待处理文件。
在具体实践中,主匹配规则可对应一条或以上的辅助匹配规则,主匹配规则也可没有对应的辅助匹配规则,例如,当匹配内容为CLOB相关声明时,主匹配规则为:“(?<!\w|\.|_)CLOB”,辅助匹配规则为:“import\s+oracle.sql.CLOB”。
另外,参照图7,在一实施例中,图1所示实施例中的步骤S130中的目标匹配模型通过以下步骤得到:
步骤S710,对源数据库和目标数据库进行差异性分析,确定差异信息;
步骤S720,对差异信息进行特征提取,确定多个模式特征;
步骤S730,根据模式特征,确定模式特征对应的特征正则表达式,并根据特征正则表达式得到目标匹配模型。
可以理解的是,在研发过程中,可通过差异性分析来确定源数据库和目标数据库的差异信息,例如,根据ORACLE数据库和达梦数据库在开发应用程序逻辑代码及配置的差异信息,提取出模式特征,进而确定特征正则表达式,特征正则表达式与模式特征一一对应,例如,特征正则表达式为配置正则表达式或SQL正则表达式,进而通过融合所有特征正则表达式得到目标匹配模型,能够准确的确定待处理文件,还通过模式特征生成相应的配置转换规则和SQL转换规则,进而确定目标改造规则,能够有效对待处理文件进行改造。
另外,参考图8,本申请还提供了一种应用程序迁移装置800,包括:
接收单元810,用于接收迁移指令;
获取单元820,用于响应于迁移指令,获取应用程序的源码工程包,其中,源码工程包包括多个源码文件,迁移指令用于指示将应用程序所连接的数据库由源数据库迁移至目标数据库;
匹配单元830,用于利用预设的目标匹配模型对源码文件进行匹配处理,在多个源码文件中匹配出待处理文件,其中,迁移指令用于指示应用程序对应的源数据库和目标数据库,目标匹配模型与迁移指令对应;
改造单元840,用于利用预设的目标改造规则对待处理文件进行改造处理,得到改造文件,以更新源码工程包,其中,目标改造规则与迁移指令对应。
可以理解的是,该应用程序迁移装置800的具体实施方式与上述应用程序迁移方法的具体实施例基本相同,在此不再赘述;基于此,接收到迁移指令后,需要对应用程序所连接的数据库进行迁移处理,在迁移过程中,通过目标匹配模型,在源码文件中匹配出需要改造的待处理文件,然后利用目标改造规则,对待处理文件改造得到改造文件,进而更新源码工程包,目标匹配模型和目标改造规则均与迁移指令对应,能够有效的将应用程序所连接的数据库由源数据库迁移至目标数据库,实现了应用程序的源码工程包的自动同步迁移,相对于人工迁移,能够减少源码迁移过程的耗时,从而提高开发效率,另外,还能提高源码迁移的准确率,保证源码迁移的质量。
另外,参照图9,图9示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器901,可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器902,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行本申请实施例的应用程序迁移方法,例如,执行以上描述的图1中的方法步骤S110至步骤S140、图2中的方法步骤S210至步骤S240、图3中的方法步骤S310至步骤S330、图4中的方法步骤S410至S420、图5中的方法步骤S510至S540、图6中的方法步骤S610至S630、图7中的方法步骤S710至S730;
输入/输出接口903,用于实现信息输入及输出;
通信接口904,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线905,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息;
其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种存储介质,存储介质为计算机可读存储介质,用于计算机可读存储,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述应用程序迁移方法,例如,执行以上描述的图1中的方法步骤S110至步骤S140、图2中的方法步骤S210至步骤S240、图3中的方法步骤S310至步骤S330、图4中的方法步骤S410至S420、图5中的方法步骤S510至S540、图6中的方法步骤S610至S630、图7中的方法步骤S710至S730。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的应用程序迁移方法、装置、设备及存储介质,其通过接收迁移指令;响应于迁移指令,获取应用程序的源码工程包,其中,源码工程包包括多个源码文件,迁移指令用于指示将应用程序所连接的数据库由源数据库迁移至目标数据库;利用预设的目标匹配模型对源码文件进行匹配处理,在多个源码文件中匹配出待处理文件,其中,目标匹配模型与迁移指令对应;利用预设的目标改造规则对待处理文件进行改造处理,得到改造文件,以更新源码工程包,其中,目标改造规则与迁移指令对应。基于此,接收到迁移指令后,需要对应用程序所连接的数据库进行迁移处理,在迁移过程中,通过目标匹配模型,在源码文件中匹配出需要改造的待处理文件,然后利用目标改造规则,对待处理文件改造得到改造文件,进而更新源码工程包,目标匹配模型和目标改造规则均与迁移指令对应,能够有效的将应用程序所连接的数据库由源数据库迁移至目标数据库,实现了应用程序的源码工程包的自动同步迁移,相对于人工迁移,能够减少源码迁移过程的耗时,从而提高开发效率,另外,还能提高源码迁移的准确率,保证源码迁移的质量。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1至图7中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。

Claims (10)

1.一种应用程序迁移方法,其特征在于,包括:
接收迁移指令;
响应于所述迁移指令,获取应用程序的源码工程包,其中,所述源码工程包包括多个源码文件,所述迁移指令用于指示将所述应用程序所连接的数据库由源数据库迁移至目标数据库;
利用预设的目标匹配模型对所述源码文件进行匹配处理,在多个所述源码文件中匹配出待处理文件,其中,所述目标匹配模型与所述迁移指令对应;
利用预设的目标改造规则对所述待处理文件进行改造处理,得到改造文件,以更新所述源码工程包,其中,所述目标改造规则与所述迁移指令对应。
2.根据权利要求1所述的方法,其特征在于,所述目标匹配模型为正则表达式引擎,所述正则表达式引擎中配置有多个配置正则表达式和SQL正则表达式;所述利用预设的目标匹配模型对所述源码文件进行匹配处理,在多个所述源码文件中匹配出待处理文件,包括:
根据所述配置正则表达式和所述SQL正则表达式,对所述源码文件内的文本进行匹配处理;
针对任一所述源码文件,当所述源码文件内的文本与任一所述配置正则表达式匹配,确定所述源码文件包含待转换配置文本,其中,所述待转换配置文本是指所述源码文件内与所述配置正则表达式匹配的文本,所述待转换配置文本与所述源数据库对应;
针对任一所述源码文件,当所述源码文件内的文本与任一所述SQL正则表达式匹配,确定所述源码文件包含待转换SQL文本,其中,所述待转换SQL文本是指所述源码文件内与所述SQL正则表达式匹配的文本,所述待转换SQL文本与所述源数据库对应;
在多个所述源码文件中,将包含所述待转换配置文本或所述待转换SQL文本的所述源码文件作为待处理文件。
3.根据权利要求2所述的方法,其特征在于,所述目标改造规则包括配置转换规则和SQL转换规则;所述利用预设的目标改造规则对所述待处理文件进行改造处理,得到改造文件,包括:
当所述待处理文件包含所述待转换配置文本,利用所述配置转换规则对所述待转换配置文本进行转换处理,得到目标配置文本,并根据所述目标配置文本对所述待处理文件进行改造处理,其中,所述目标配置文本与所述目标数据库对应;
当所述待处理文件包含所述待转换SQL文本,利用所述SQL转换规则对所述待转换SQL文本进行转换处理,得到目标SQL文本,并根据所述目标SQL文本对所述待处理文件进行改造处理,其中,所述目标SQL文本与所述目标数据库对应;
根据改造处理后的所述待处理文件,得到改造文件。
4.根据权利要求3所述的方法,其特征在于,所述根据改造处理后的所述待处理文件,得到改造文件的步骤之后,还包括:
根据所述改造文件和所述源码工程包,确定改造路径信息和改造位置信息,其中,所述改造路径信息用于指示所述改造文件在所述源码工程包中的路径,所述改造位置信息用于指示所述目标配置文本或所述目标SQL文本在所述改造文件内的位置;
根据所述改造文件的文件名、所述改造路径信息和所述改造位置信息,生成记录报告。
5.根据权利要求3所述的方法,其特征在于,所述根据改造处理后的所述待处理文件,得到改造文件的步骤之前,还包括:
检测是否接收到所述目标配置文本的配置修改请求;
当接收到所述配置修改请求,根据所述配置修改请求,对所述目标配置文本进行修改处理,并根据修改处理后的所述目标配置文本对所述待处理文件进行改造处理;
检测是否接收到所述目标SQL文本的SQL修改请求;
当接收到所述SQL修改请求,根据所述SQL修改请求,对所述目标SQL文本进行修改处理,并根据修改处理后的所述目标SQL文本对所述待处理文件进行改造处理。
6.根据权利要求1所述的方法,其特征在于,所述目标匹配模型配置有多个主匹配规则和若干个辅助匹配规则,所述辅助匹配规则与所述主匹配规则对应;所述利用预设的目标匹配模型对所述源码文件进行匹配处理,在多个所述源码文件中匹配出待处理文件,包括:
将所述源码文件输入所述目标匹配模型,对所述源码文件进行匹配处理;
遍历所述主匹配规则,在多个所述源码文件中,将符合所述主匹配规则的所述源码文件作为中间文件,并判断所述主匹配规则是否对应有辅助匹配规则;
当所述主匹配规则对应有辅助匹配规则,且所述中间文件符合所述辅助匹配规则时,将所述中间文件作为待处理文件。
7.根据权利要求1所述的方法,其特征在于,所述目标匹配模型通过以下步骤得到:
对所述源数据库和所述目标数据库进行差异性分析,确定差异信息;
对所述差异信息进行特征提取,确定多个模式特征;
根据所述模式特征,确定所述模式特征对应的特征正则表达式,并根据所述特征正则表达式得到所述目标匹配模型。
8.一种应用程序迁移装置,其特征在于,包括:
接收单元,用于接收迁移指令;
获取单元,用于响应于所述迁移指令,获取应用程序的源码工程包,其中,所述源码工程包包括多个源码文件,所述迁移指令用于指示将所述应用程序所连接的数据库由源数据库迁移至目标数据库;
匹配单元,用于利用预设的目标匹配模型对所述源码文件进行匹配处理,在多个所述源码文件中匹配出待处理文件,其中,所述迁移指令用于指示所述应用程序对应的源数据库和目标数据库,所述目标匹配模型与所述迁移指令对应;
改造单元,用于利用预设的目标改造规则对所述待处理文件进行改造处理,得到改造文件,以更新所述源码工程包,其中,所述目标改造规则与所述迁移指令对应。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的应用程序迁移方法的步骤。
10.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的应用程序迁移方法的步骤。
CN202310193399.9A 2023-02-21 2023-02-21 应用程序迁移方法、装置、设备及存储介质 Pending CN116185468A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310193399.9A CN116185468A (zh) 2023-02-21 2023-02-21 应用程序迁移方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310193399.9A CN116185468A (zh) 2023-02-21 2023-02-21 应用程序迁移方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116185468A true CN116185468A (zh) 2023-05-30

Family

ID=86444209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310193399.9A Pending CN116185468A (zh) 2023-02-21 2023-02-21 应用程序迁移方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116185468A (zh)

Similar Documents

Publication Publication Date Title
US10621211B2 (en) Language tag management on international data storage
US8667031B2 (en) Reuse of shared metadata across applications via URL protocol
CN112015430A (zh) JavaScript代码翻译方法、装置、计算机设备及存储介质
CN110362968B (zh) 信息检测方法、装置及服务器
CN110858172A (zh) 一种自动化测试代码生成方法和装置
CN106951270B (zh) 一种代码处理方法、系统及服务器
CN111881183B (zh) 企业名称匹配方法和装置、以及存储介质和电子设备
CN102693323A (zh) 级联样式表解析方法及解析器、网页展示方法及服务器
CN110688096B (zh) 包含插件的应用程序的构建方法、装置、介质及电子设备
CN112579461B (zh) 断言处理方法、系统和存储介质
CN112346775B (zh) 指标数据通用处理方法、电子设备和存储介质
CN115599386A (zh) 代码生成方法、装置、设备及存储介质
CN115599359A (zh) 一种代码生成方法、装置、设备及介质
US20180314683A1 (en) Method and device for processing natural language
CN112000690B (zh) 解析结构化操作语句的方法和装置
CN116382703B (zh) 软件包生成方法、代码开发方法及装置、电子设备和介质
CN116755745A (zh) 代码编辑器的插件更新方法、装置、设备及存储介质
CN116010147B (zh) 异常处理表的生成方法、系统、电子设备及存储介质
CN115033592A (zh) 基于数据库的sql语句处理方法、装置、设备及存储介质
CN116150527A (zh) 组件样式隔离方法、装置、设备、存储介质及产品
CN116185468A (zh) 应用程序迁移方法、装置、设备及存储介质
CN112433752A (zh) 页面解析方法、装置、介质及电子设备
CN111221846B (zh) 一种sql语句的自动翻译方法及装置
CN109101302B (zh) 一种文案导入方法、装置、电子设备及存储介质
CN117609057A (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