[发明专利]一种基于动态库的数据库系统在线升级方法和系统在审
申请号: | 202110585971.7 | 申请日: | 2021-05-27 |
公开(公告)号: | CN113296822A | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 王金山 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | G06F8/656 | 分类号: | G06F8/656;G06F16/21 |
代理公司: | 北京汇信合知识产权代理有限公司 11335 | 代理人: | 林聪源 |
地址: | 100086 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 数据库 系统 在线 升级 方法 | ||
1.一种基于动态库的数据库系统在线升级方法,其特征在于,所述方法包括:
将数据库系统的升级内容封装为动态库;
加载所述动态库到内存中;
将所述数据库系统的待升级内容替换为所述动态库。
2.根据权利要求1所述的数据库系统在线升级方法,其特征在于,所述升级内容包括可执行代码,所述可执行代码的在线升级方法包括:
将可执行代码封装为动态库;
将所述动态库加载到进程空间;
将所述数据库系统的指针或函数指针指向所述可执行代码。
3.根据权利要求2所述的数据库系统在线升级方法,其特征在于,所述可执行代码包括以下任一函数或它们的组合:定时检测函数、连接创建函数和数据库操作函数;
其中,定时检测函数用于定时监听系统的服务,所述连接创建函数用于创建和释放连接的执行进程,执行进程用于调用所述数据库操作函数,所述数据库操作函数用于接收并执行数据库的操作指令。
4.根据权利要求3所述的数据库系统在线升级方法,其特征在于,还包括结束动态库的方法:
监听当前动态库提供服务的调用情况;
判断所述服务是否停止调用;
若是,结束所述服务、并释放当前动态库的进程空间。
5.根据权利要求3所述的数据库系统在线升级方法,其特征在于,数据库操作的方法包括:
判断动态库提供的服务是否结束;
若否,将新连接请求转发给连接创建函数;
通过连接创建函数创建新连接的执行线程;
通过所述执行线程接收新连接请求的数据库操作请求、执行相应的数据库操作,并返回操作结果。
6.根据权利要求2所述的数据库系统在线升级方法,其特征在于,还包括通过监听动态库升级数据库系统的方法:
监听动态库;
判断所述动态库是否有新版本;
若是,将所述数据库系统的指针或指针函数指向所述新版本动态库的可执行代码。
7.根据权利要求6所述的数据库系统在线升级方法,其特征在于,监听指定目录下的动态库。
8.一种用于实现如权利要求1-7任一项所述数据库系统在线升级方法的系统,其特征在于,包括封装模块、主控模块和动态库,
所述封装模块用于将数据库系统的升级内容封装为动态库;
所述主控模块用于加载所述动态库,并将所述数据库系统的待升级内容替换为所述动态库。
9.根据权利要求8所述的系统,其特征在于,所述动态库包括检测模块、连接创建模块和数据库操作模块,
所述检测模块用于监听当前动态库提供服务的调用情况;判断所述服务是否停止调用;若是,结束所述服务、并释放当前动态库的进程空间;
所述连接创建模块用于根据连接请求创建新连接的执行进程,执行进程通过数据库操作模块接收数据库操作请求、执行相应的数据库操作,并返回操作结果。
10.根据权利要求9所述的系统,其特征在于,所述主控模块包括动态库监听子模块、内存管理子模块、服务监听子模块和连接管理子模块;
所述动态库监听子模块用于监听指定目录下的新版本动态库;
所述内存管理子模块用于将所述新版本动态库加载到进程空间中;
所述服务监听子模块用于监听动态库提供的服务;
所述连接管理子模块用于根据所述服务的状态,将监听到的连接请求转发给连接创建模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110585971.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种撒肥机
- 下一篇:一种呼吸科胸膜疾病患者穿刺引流装置及其使用方法