[发明专利]一种数据库脚本生成方法、装置、计算装置和存储介质有效
申请号: | 201811253349.0 | 申请日: | 2018-10-25 |
公开(公告)号: | CN109408528B | 公开(公告)日: | 2022-07-15 |
发明(设计)人: | 刘国庆;窦志刚 | 申请(专利权)人: | 北京信安世纪科技股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 100093 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 脚本 生成 方法 装置 计算 存储 介质 | ||
1.一种数据库脚本生成方法,其特征在于,所述方法包括:
获取原始数据库脚本文件以及目标数据库的描述信息,该描述信息用于表示数据库类型、数据库版本和配置信息;
根据预先确定的原始数据库的描述信息以及目标数据库的描述信息,从预存的脚本差异集合中查找原始数据库和目标数据库之间的脚本差异;其中,脚本差异集合中存储有各种描述信息对应的数据库之间的脚本差异;
根据原始数据库和目标数据库的脚本差异,确定原始数据库脚本文件中执行语句在目标数据库脚本文件中的执行语句,具体包括:将原始数据库脚本文件中的执行语句保存到数组中;
针对数组中保存的每条执行语句,在该执行语句中查找原始数据库采用的关键字,并分析出各执行语句的参数值;
将执行语句所存储在的数组的下标编号、参数值和关键字对应存储到坐标列表中;其中,一条执行语句所存储在的数组的下标编号、参数值和关键字在坐标列表中生成一条记录;
针对坐标列表中的每条记录,根据该条记录中的关键字确定关键字标记序列,并根据所述关键字标记序列确定该关键字标记序列在目标数据库中的最小语法单元的语法结构,并根据该条记录中的参数值确定该参数在目标数据库中的参数值;
根据每条记录中的执行语句所存储在的数组的下标编号获取相应的执行语句,并根据该执行语句在目标数据库中的语法结构和参数值,确定该执行语句在目标数据库中的执行语句;
根据确定出的目标数据库脚本文件中的执行语句,生成目标数据库的脚本文件。
2.根据权利要求1所述的方法,其特征在于,脚本差异包括:
差异列表、通用关键字列表、以及,每种类型的数据库都具有独立的以下列表:特有关键字列表、数据类型列表、最小语法单元列表以及算法单元列表;
其中,差异列表存储有各数据库的数据库的描述信息、数据类型标记以及数据库特有的关键字的关键字标记之间的对应关系;
通用关键字列表存储有各数据库通用的关键字及对应的关键字标记;
特有关键字列表存储有特有的关键字,及各关键字对应的关键字标记和各关键字对应的关键字语法序号;
数据类型列表存储有数据类型、数据类型标记、数据类型转换算法序号之间的对应关系;
最小语法单元列表存储有关键字语法序号、最小语法单元对应的关键字标记序列、最小语法单元的语法结构以及参数转换算法序号之间的对应关系;
算法单元列表存储有数据类型算法序号及对应的算法,以及参数转换算法序号及对应的算法。
3.根据权利要求2所述的方法,其特征在于,确定原始数据库的描述信息,具体包括:
检索获取的原始数据库脚本文件中的关键字和数据类型;其中,检索的关键字为特有关键字列表中的关键字,检索的数据类型为数据类型列表中的数据类型;
根据特有关键字列表确定检索出的关键字对应的关键字标记,根据数据类型列表确定检索出的数据类型对应的数据类型标记;
根据差异列表将确定出的关键字标记和数据类型标记对应的描述信息确定为原始数据库的描述信息。
4.根据权利要求2所述的方法,其特征在于,针对数组中保存的每条执行语句,在该执行语句中查找原始数据库采用的关键字,具体包括:
针对数组中保存的每条执行语句,在该执行语句中查找原始数据库的特有关键字列表中的关键字;
将执行语句所存储在的数组的下标编号、参数值和关键字对应存储到坐标列表中,具体包括:
将查找到关键字的执行语句所存储在的数组的下标编号、参数值和关键字对应存储到坐标列表中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京信安世纪科技股份有限公司,未经北京信安世纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811253349.0/1.html,转载请声明来源钻瓜专利网。