一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种在数据库迁移中对应用系统适配分析的方法及系统与流程

2022-04-09 10:17:14 来源:中国专利 TAG:


1.本发明涉及数据库技术领域,更具体地说,它涉及一种在数据库迁移中对应用系统适配分析的方法及系统。


背景技术:

2.随着数据库技术的发展及行业政策的要求,越来越多的企业出现了需要进行数据库的替换、升级等异构数据库的迁移需求。在此背景下,大部分企业对于异构数据库的迁移并不熟悉,没有一个标准化的流程对异构数据库的迁移替换工作进行评估决策。
3.如果想针对于上述需求进行数据库替换,就需要进行异构数据库迁移和应用系统代码适配修改两部分工作,而对于异构数据库迁移时上层应用适配改造的分析评估往往都是采用人工分析评估的方式,大体流程如下:应用系统开发人员根据系统代码或者是开发文档以及需适配的数据库文档,大致比对涉及迁移适配改造的代码,再以此进行对异构数据库迁移的分析评估及决策,最后根据分析结果对应用代码进行适配改造。这种方式不但速度慢,而且还不能全面准确的对应用系统进行完全的分析评估,效率较低。


技术实现要素:

4.本发明要解决的技术问题是针对现有技术的上述不足,本发明的目的一是提供一种可以提高效率的在数据库迁移中对应用系统适配分析的方法。
5.本发明的目的二是提供一种可以提高效率的在数据库迁移中对应用系统适配分析的系统。
6.为实现上述目的一,本发明提供一种在数据库迁移中对应用系统适配分析的方法,包括:
7.针对待适配的应用系统,获取应用数据库信息;
8.根据所述应用数据库信息确定数据采集源、应用接口日志采集点、sql执行日志采集点、数据库日志执行采集点;
9.启动待适配的应用系统,通过各采集点采集相应的数据,形成json格式的结构化采集数据并进行存储;
10.根据设定的规则对所述结构化采集数据进行sql语法规则分析,生成对应的语法分析树,根据各数据库语法映射规则对sql进行映射转换,将原sql语句适配改造为各异构数据库sql语句,并构造sql对应的适配路线分析树;
11.采集到足够的数据并进行分析后,整合所有的分析数据,输出该应用在对应接口下的sql执行语句的适配路线方案,形成整体应用的适配迁移报告和适配路线树;
12.根据所述适配报告对后续的适配进行可行性的决策分析,提供路线选型所需资源的评估,生成分析决策报告,决策报告的内容包括:各异构数据库进行适配所需要进行修改的sql语句数量,建议选择的适配路线,进行适配所需要的大概时间成本、人力成本、资源信息。
13.作为进一步地改进,所述应用数据库信息包括部署信息、模块信息、接口文档地址。
14.进一步地,采集过程贯穿于应用运行周期中,通过日志分析方式获取采集数据。
15.进一步地,所述设定的规则包括业务接口的分析规则、匹配规则、各数据库语法树规则以及异构数据库语法映射规则。
16.进一步地,所述匹配规则包括正则表达式规则、各数据库中的函数、关键字。
17.进一步地,所述各数据库语法树规则以及异构数据库语法映射规则包括oracle数据库、sql server数据库、mysql数据库、达梦数据库、人大金仓数据库、神舟通用数据库的数据库语法树规则以及数据库语法映射规则。
18.进一步地,所述适配路线分析树包括树干和多个分枝,树干代表应用系统原数据库的语句,分枝分别代表根据各数据库的语法规则以及各数据库语法映射规则得到的语句。
19.进一步地,对比各个分枝的语句,并得到适配各数据库所需要的成本。
20.进一步地,所述适配迁移报告的内容包括:业务模块名称、业务接口名称、业务接口对应的需适配的sql语句、需修改的sql关键字、可转换适配的目标sql、sql适配路线树信息。
21.为了实现上述目的二,本发明提供一种在数据库迁移中对应用系统适配分析的系统,包括:
22.采集模块,用于针对待适配的应用系统,获取应用数据库信息;根据所述应用数据库信息确定数据采集源、应用接口日志采集点、sql执行日志采集点、数据库日志执行采集点;通过各采集点采集相应的数据,形成json格式的结构化采集数据并进行存储;
23.规则库模块,用于存储数据库的适配知识,包括各种数据库同一功能下的统一规则分析、异构数据库sql语法映射规则、各数据库语法树规则;
24.分析模块,用于根据规则库模块的规则对所述结构化采集数据进行sql语法规则分析,生成对应的语法分析树,根据各数据库语法映射规则对sql进行映射转换,将原sql语句适配改造为各异构数据库sql语句,并构造sql对应的适配路线分析树;
25.适配报告生成模块,用于在采集到足够的数据并进行分析后,整合所有的分析数据,输出该应用在对应接口下的sql执行语句的适配路线方案,形成整体应用的适配迁移报告和适配路线树;
26.适配决策模块,用于根据所述适配报告对后续的适配进行可行性的决策分析,提供路线选型所需资源的评估,生成分析决策报告。
27.有益效果
28.本发明与现有技术相比,具有的优点为:
29.本技术在现有相关技术应用方案的情境下对异构数据库迁移中的应用适配有较大优势,对比人工进行排查分析处理需要适配的sql语句以及静态扫描应用代码而言,通过动态采集运行系统中接口的数据分析,更加贴合应用系统业务,可以清晰的知道某个模块中的哪些业务涉及适配改动,对后续适配改造提供了指向性的适配决策指引。也使得适配改造的技术难度大幅降低,减弱了对原应用系统开发人员的依赖性,任何开发人员都可以通过此适配分析决策系统快速对业务系统进行异构数据库进行适配评估改造,大大的降低
了时间成本以及适配难度,提升了适配效率。
附图说明
30.图1为本发明中方法的流程图;
31.图2为语法分析树图;
32.图3为语法分析规则图;
33.图4为语法映射规则图;
34.图5为sql适配路线树图。
具体实施方式
35.下面结合附图中的具体实施例对本发明做进一步的说明。
36.本发明实施例解决在异构数据库迁移中对上层应用系统代码快速适配改造的分析决策问题。例如,一个应用系统使用java开发,原数据库是oracle,想要进行数据库替换,但是不了解市面上的数据库以及替换成这些异构数据库所需要的成本,针对此需求,就需要知道根据市面上主流的数据库,原数据库的适配路线有多少种,适配成本有多高。本发明实施例是通过外部组件将运行中的应用系统通过采集数据的方式获取到执行的数据库sql,并按规则库中的映射规则输出主流数据库相对应的sql代码及适配路线分析树,最终形成适配改造分析评估报告,供开发工程师分析评估决策,最终选择合适的适配路线并进行适配改造。
37.参阅图1~5,一种在数据库迁移中对应用系统适配分析的方法,包括:
38.针对待适配的应用系统,如oa办公web系统,获取应用数据库信息,应用数据库信息包括部署信息、模块信息、接口文档地址;
39.根据应用数据库信息确定数据采集源、应用接口日志采集点、sql执行日志采集点、数据库日志执行采集点;
40.启动oa办公web系统,通过各采集点采集相应的数据,形成json格式的结构化采集数据并进行存储,采集过程贯穿于应用运行周期中,通过日志分析方式获取采集数据;
41.根据设定的规则对结构化采集数据进行sql语法规则分析,生成对应的语法分析树,如图2所示,根据各数据库语法映射规则对sql进行映射转换,将原sql语句适配改造为各异构数据库sql语句,并构造sql对应的适配路线分析树,如图5所示;适配路线分析树包括树干和多个分枝,树干代表应用系统原数据库的语句,分枝分别代表根据各数据库的语法规则以及各数据库语法映射规则得到的语句,对比各个分枝的语句,并得到适配各数据库所需要的成本;
42.采集到足够的数据并进行分析后,整合所有的分析数据,输出该应用在对应接口下的sql执行语句的适配路线方案,形成整体应用的适配迁移报告和适配路线树,适配迁移报告的内容包括:业务模块名称、业务接口名称、业务接口对应的需适配的sql语句、需修改的sql关键字、可转换适配的目标sql、sql适配路线树信息;
43.根据适配报告对后续的适配进行可行性的决策分析,提供路线选型所需资源的评估,生成分析决策报告,决策报告的内容包括:各异构数据库进行适配所需要进行修改的sql语句数量,建议选择的适配路线,进行适配所需要的大概时间成本、人力成本、资源信
息。
44.设定的规则包括业务接口的分析规则、匹配规则、各数据库语法树规则以及异构数据库语法映射规则。
45.匹配规则包括正则表达式规则、各数据库中的函数、关键字。
46.各数据库语法树规则以及异构数据库语法映射规则包括oracle数据库、sql server数据库、mysql数据库、达梦数据库、人大金仓数据库、神舟通用数据库的数据库语法树规则以及数据库语法映射规则。比如查询当前日期时间的关键词,在oracle中是sysdate关键字,而mysql一般使用now()函数,而在sql server中是getdate()函数,达梦则是sysdate()函数。在利用规则库规则进行分析时,可以将原sql语句解析成相应的语法树,在通过语法映射规则,将生成的语法树映射转换为其他各数据库的sql语句。
47.如图3所示,应用系统原数据库oracle的左外链接查询是这样的:
48.select a.*,b.*from a,b where a.id=b.id( )
49.通过语法规则解析成语法树。
50.规则检测到a.id=b.id( )关键语法字符,判断语句为左外连接查询,于是通过各数据库的语法映射规则转换为各数据库适配sql语句,如映射到sql server、mysql以及达梦数据库的为left join...on...语法,而金仓数据库可以使用同样的语法规则,结合语法树规则生成sql语句。
51.如图4所示,最终形成使用left join...on...语法的左外链接查询语句:
52.select a.*,b.*from a left join b on a.id=b.id
53.随后将改造后的sql语句输出,与其他的数据库适配语句一并形成此条sql语句对应的适配路线分析树,如图5所示,左边的树干代表应用系统原数据库的语句,右边的分枝分别代表根据各数据库的语法规则以及各数据库语法映射规则得到的语句。对比各个分枝的语句,从此条sql语句的适配路线分析树来看,适配人大金仓数据库所需要的成本最低,不需要进行代码改动。
54.一种在数据库迁移中对应用系统适配分析的系统,包括:
55.采集模块,用于针对待适配的应用系统,获取应用数据库信息;根据应用数据库信息确定数据采集源、应用接口日志采集点、sql执行日志采集点、数据库日志执行采集点;通过各采集点采集相应的数据,形成json格式的结构化采集数据并进行存储;
56.规则库模块,用于存储数据库的适配知识,包括各种数据库同一功能下的统一规则分析、异构数据库sql语法映射规则、各数据库语法树规则;
57.分析模块,用于根据规则库模块的规则对结构化采集数据进行sql语法规则分析,生成对应的语法分析树,根据各数据库语法映射规则对sql进行映射转换,将原sql语句适配改造为各异构数据库sql语句,并构造sql对应的适配路线分析树;
58.适配报告生成模块,用于在采集到足够的数据并进行分析后,整合所有的分析数据,输出该应用在对应接口下的sql执行语句的适配路线方案,形成整体应用的适配迁移报告和适配路线树;
59.适配决策模块,用于根据适配报告对后续的适配进行可行性的决策分析,提供路线选型所需资源的评估,生成分析决策报告。
60.以上仅是本发明的优选实施方式,应当指出对于本领域的技术人员来说,在不脱
离本发明结构的前提下,还可以作出若干变形和改进,这些都不会影响本发明实施的效果和专利的实用性。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献