CN107622130A - 一种数据库升级优化算法 - Google Patents
一种数据库升级优化算法 Download PDFInfo
- Publication number
- CN107622130A CN107622130A CN201710912350.9A CN201710912350A CN107622130A CN 107622130 A CN107622130 A CN 107622130A CN 201710912350 A CN201710912350 A CN 201710912350A CN 107622130 A CN107622130 A CN 107622130A
- Authority
- CN
- China
- Prior art keywords
- database
- upgrade
- perform
- information
- failure
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种数据库升级优化算法,包括如下步骤:当需要数据库升级时,调用预设的升级接口,升级接口根据预设打开数据库,如果打开失败,执行失败操作,结束,如果打开成功,检测数据库表是否创建,在检测数据库表是否创建时,如果表存在,则进一步检测表结构是否改变,如果未改变,则执行失败操作,结束,如果已改变,则执行升级操作,如果表不存在,则执行创建表操作,在执行创建表操作时,如果创建成功,则执行关闭数据库操作,如果创建失败,执行失败操作,结束。本发明,能够根据预设信息,将数据库升级的操作标准化,流程化,形成通用性强的升级标准化模块,提高算法的兼容性和可靠性,提高代码编写速度和效率。
Description
技术领域
本发明涉及数据库技术领域,具体说是一种数据库升级优化算法。
背景技术
随着数据库技术的发展,各种需求不断出现,不断督促着进一步的技术革新、升级。在程序开发中,程序员有时会遇到如下情况:
在公司上班时,有时候白天的活没干完,程序员就会把工作带回家晚上加班继续做。但是,公司为程序开发配套的开发用数据库通常是实体数据库,是部署在开发支持服务器上的,所述开发支持服务器是公司局域网内部的一台服务器,服务端正常运行依赖于开发支持服务器上的开发用数据库。由于在家加班是无法接入公司局域网内部的,因此就不能连上开发支持服务器上的开发用数据库,这就导致服务端不能正常工作,程序开发时功能也就没办法调试。
现有技术中,一种解决方法就是使用虚拟数据库。在公司上班时,就使用公司为程序开发配套的开发用数据库;回到家,就使用内存中的虚拟数据库模拟开发用数据库,做一些基本的功能调试,一般情况下绝对是足够了。
当前app中需要大量的本地化存储服务。为了满足当前业务需求,我们在app中需要大量使用数据库工具,本发明旨在让程序员便捷开发。
实体数据库读取数据需要以下步骤:
1、跟数据库建立连接,
2、编写SQL查询语句,
3、执行查询语句,
4、得到查询结果,
5、关闭数据库。
显然,在需要频繁跟数据库进行交互、需要频繁读取/存储数据的今天,访问数据库的工作量非常大,程序员繁琐的编写SQL语句,不但工作量大,而且容易导致出错,有必要对此进一步进行合理的优化。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种数据库升级优化算法,能够根据预设信息,将数据库升级的操作标准化,流程化,形成通用性强的升级标准化模块,提高算法的兼容性和可靠性,提高代码编写速度和效率。
为达到以上目的,本发明采取的技术方案是:
一种数据库升级优化算法,其特征在于,包括如下步骤:
当需要数据库升级时,调用预设的升级接口,
升级接口根据预设打开数据库,
如果打开失败,执行失败操作,结束,
如果打开成功,检测数据库表是否创建,
在检测数据库表是否创建时,
如果表存在,则进一步检测表结构是否改变,如果未改变,则执行失败操作,结束,如果已改变,则执行升级操作,
如果表不存在,则执行创建表操作,
在执行创建表操作时,
如果创建成功,则执行关闭数据库操作,
如果创建失败,执行失败操作,结束。
在上述技术方案的基础上,所述升级接口包括以下预设的信息:
要升级的类updateDatabaseWithClass的定义。
在上述技术方案的基础上,所述失败操作具体步骤为:
返回失败信息,
执行关闭数据库操作。
在上述技术方案的基础上,所述执行升级操作具体步骤为:
分析是否传入升级信息,
如果已传入,则:
根据信息产生数据库模型,根据数据库模型产生SQL语句,执行升级任务,执行关闭数据库操作,
如果未传入,则:
分析新类信息,
根据传入参数,产生类实例,并分析实例,
根据上述信息产生变量类型和数据库类型映射表,
分析旧表,
产生旧表数据库模型,
转换比较新旧数据模型,给SQL模块处理,
根据模型产生SQL语句,
执行升级任务,
执行关闭数据库操作。
在上述技术方案的基础上,所述执行创建表操作具体步骤为:
根据类和其他参数创建数据库,所述其他参数包括:是否主键,
分析类,提取类信息,具体包括:类名,类中所包含的变量,继承的协议,
对类中的变量进行类型分析,
建立变量类型与数据库类型映射,
根据提供的信息构建数据库表必须信息,包括但不限于:表名称,表路径,
将类展开为数据库模型,建立映射表,
根据数据库模型产生SQL语句,
执行创建表任务。
本发明所述的数据库升级优化算法,能够根据预设信息,将数据库升级的操作标准化,流程化,形成通用性强的升级标准化模块,提高算法的兼容性和可靠性,提高代码编写速度和效率。
附图说明
本发明有如下附图:
图1本发明的流程框图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图1所示,本发明所述的数据库升级优化算法,包括如下步骤:
当需要数据库升级时,调用预设的升级接口,
升级接口根据预设打开数据库,
如果打开失败,执行失败操作,结束,
如果打开成功,检测数据库表是否创建,
在检测数据库表是否创建时,
如果表存在,则进一步检测表结构是否改变,如果未改变,则执行失败操作,结束,如果已改变,则执行升级操作,
如果表不存在,则执行创建表操作,
在执行创建表操作时,
如果创建成功,则执行关闭数据库操作,
如果创建失败,执行失败操作,结束。
在上述技术方案的基础上,所述升级接口包括以下预设的信息:
要升级的类updateDatabaseWithClass的定义。
在上述技术方案的基础上,所述失败操作具体步骤为:
返回失败信息,
执行关闭数据库操作。
在上述技术方案的基础上,所述执行升级操作具体步骤为:
分析是否传入升级信息,
如果已传入,则:
根据信息产生数据库模型,根据数据库模型产生SQL语句,执行升级任务,执行关闭数据库操作,
如果未传入,则:
分析新类信息,
根据传入参数,产生类实例,并分析实例,
根据上述信息产生变量类型和数据库类型映射表,
分析旧表,
产生旧表数据库模型,
转换比较新旧数据模型,给SQL模块处理,
根据模型产生SQL语句,
执行升级任务,
执行关闭数据库操作。
在上述技术方案的基础上,所述执行创建表操作具体步骤为:
根据类和其他参数创建数据库,所述其他参数包括:是否主键,
分析类,提取类信息,具体包括:类名,类中所包含的变量,继承的协议,
对类中的变量进行类型分析,
建立变量类型与数据库类型映射,
根据提供的信息构建数据库表必须信息,包括但不限于:表名称,表路径,
将类展开为数据库模型,建立映射表,
根据数据库模型产生SQL语句,
执行创建表任务。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (5)
1.一种数据库升级优化算法,其特征在于,包括如下步骤:
当需要数据库升级时,调用预设的升级接口,
升级接口根据预设打开数据库,
如果打开失败,执行失败操作,结束,
如果打开成功,检测数据库表是否创建,
在检测数据库表是否创建时,
如果表存在,则进一步检测表结构是否改变,如果未改变,则执行失败操作,结束,如果已改变,则执行升级操作,
如果表不存在,则执行创建表操作,
在执行创建表操作时,
如果创建成功,则执行关闭数据库操作,
如果创建失败,执行失败操作,结束。
2.如权利要求1所述的数据库升级优化算法,其特征在于:所述升级接口包括以下预设的信息:
要升级的类updateDatabaseWithClass的定义。
3.如权利要求1所述的数据库升级优化算法,其特征在于:所述失败操作具体步骤为:
返回失败信息,
执行关闭数据库操作。
4.如权利要求1所述的数据库升级优化算法,其特征在于:所述执行升级操作具体步骤为:
分析是否传入升级信息,
如果已传入,则:
根据信息产生数据库模型,根据数据库模型产生SQL语句,执行升级任务,执行关闭数据库操作,
如果未传入,则:
分析新类信息,
根据传入参数,产生类实例,并分析实例,
根据上述信息产生变量类型和数据库类型映射表,
分析旧表,
产生旧表数据库模型,
转换比较新旧数据模型,给SQL模块处理,
根据模型产生SQL语句,
执行升级任务,
执行关闭数据库操作。
5.如权利要求1所述的数据库升级优化算法,其特征在于:所述执行创建表操作具体步骤为:
根据类和其他参数创建数据库,所述其他参数包括:是否主键,
分析类,提取类信息,具体包括:类名,类中所包含的变量,继承的协议,
对类中的变量进行类型分析,
建立变量类型与数据库类型映射,
根据提供的信息构建数据库表必须信息,包括但不限于:表名称,表路径,
将类展开为数据库模型,建立映射表,
根据数据库模型产生SQL语句,
执行创建表任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710912350.9A CN107622130A (zh) | 2017-09-29 | 2017-09-29 | 一种数据库升级优化算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710912350.9A CN107622130A (zh) | 2017-09-29 | 2017-09-29 | 一种数据库升级优化算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107622130A true CN107622130A (zh) | 2018-01-23 |
Family
ID=61091026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710912350.9A Pending CN107622130A (zh) | 2017-09-29 | 2017-09-29 | 一种数据库升级优化算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107622130A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522570A (zh) * | 2020-06-19 | 2020-08-11 | 杭州海康威视数字技术股份有限公司 | 目标库更新方法、装置、电子设备及机器可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858710A (zh) * | 2006-01-19 | 2006-11-08 | 华为技术有限公司 | 数据同步的方法和系统 |
CN101894137A (zh) * | 2010-06-23 | 2010-11-24 | 中兴通讯股份有限公司 | 嵌入式数据库中数据恢复的方法和装置 |
CN107025253A (zh) * | 2016-09-19 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种创建数据库接口的方法、数据库操作方法及装置 |
-
2017
- 2017-09-29 CN CN201710912350.9A patent/CN107622130A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858710A (zh) * | 2006-01-19 | 2006-11-08 | 华为技术有限公司 | 数据同步的方法和系统 |
CN101894137A (zh) * | 2010-06-23 | 2010-11-24 | 中兴通讯股份有限公司 | 嵌入式数据库中数据恢复的方法和装置 |
CN107025253A (zh) * | 2016-09-19 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种创建数据库接口的方法、数据库操作方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522570A (zh) * | 2020-06-19 | 2020-08-11 | 杭州海康威视数字技术股份有限公司 | 目标库更新方法、装置、电子设备及机器可读存储介质 |
CN111522570B (zh) * | 2020-06-19 | 2023-09-05 | 杭州海康威视数字技术股份有限公司 | 目标库更新方法、装置、电子设备及机器可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103713896B (zh) | 用于访问服务器的软件开发工具包生成方法及装置 | |
CN100487667C (zh) | 一种软件单元测试自动化系统及其方法 | |
AU2007348312B2 (en) | System and method for knowledge extraction and abstraction | |
CN104932973B (zh) | 一种版本兼容测试方法和装置 | |
CN109343854B (zh) | 基于zynq系统的智能自动化编译方法及系统 | |
CN106528165A (zh) | 代码生成方法及代码生成系统 | |
CN104778124A (zh) | 一种软件应用自动化测试方法 | |
CN109918081B (zh) | 一种编译方法及编译器 | |
CN102968373B (zh) | 一种测试系统的维护方法及装置 | |
CN103905231B (zh) | 对设备类型统一管理的方法和装置 | |
CN1656457A (zh) | 管理本机应用程序数据的系统和方法 | |
CN107957948A (zh) | 一种用户界面自动化测试装置及方法 | |
CN103885770A (zh) | 单片机从可执行文件找回汇编文件的实现方法 | |
CN104778118A (zh) | 自动化测试技术的改进方法 | |
CN103903086A (zh) | 一种基于业务模型驱动的管理信息系统开发方法及系统 | |
CN102479265B (zh) | 修改硬掩膜产品固件错误功能的方法 | |
CN112433701A (zh) | 工业软件开发项目实施流程、内容及代码生成方法及装置 | |
CN108694114A (zh) | 用于分离测试用例、测试脚本和测试数据的方法及其系统 | |
CN107622130A (zh) | 一种数据库升级优化算法 | |
CN113419969B (zh) | 基于浏览器插件的界面自动化成功率保障方法 | |
CN101178653A (zh) | 一种支持多种处理器的嵌入式系统及方法 | |
CN107609181A (zh) | 一种数据库更新数据优化算法 | |
CN107577813A (zh) | 一种数据库插入数据优化算法 | |
CN101662394B (zh) | 自动化测试系统和自动化测试方法 | |
CN107480050A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180123 |