[发明专利]一种异构数据库平台下应用程序零修改迁移的方法有效
申请号: | 201210529094.2 | 申请日: | 2012-12-10 |
公开(公告)号: | CN103019845A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 张涛;袁志坚;赵敏;陈融;王金双;陈萍;于晗 | 申请(专利权)人: | 中国人民解放军理工大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F17/30 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 唐代盛 |
地址: | 210007 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 平台 应用程序 修改 迁移 方法 | ||
1.一种异构数据库平台下应用程序零修改迁移的方法,其特征在于:该方法的体系结构包括服务器端和客户端,所述的服务器端为两个兼容的异构数据库平台,分别叫做原数据库平台和新数据库平台,数据库平台兼容性包括数据类型和SQL语句;所述的客户端由应用程序和应用程序加载器组成,该应用程序使用“ADO+OLE DB”的方式访问数据库平台,使用“ADO+OLE DB”连接字符串连接数据库平台;应用程序加载器启动应用程序,在内存中搜索并替换应用程序的数据库连接字符串,并关闭应用程序的运行。
2.根据权利要求1所述的异构数据库平台下应用程序零修改迁移的方法,其特征在于:客户端的操作系统平台为Microsoft Windows系列。
3.根据权利要求1所述的异构数据库平台下应用程序零修改迁移的方法,其特征在于:在原数据库平台的内容未迁移到新数据库平台之前,客户端的应用程序执行步骤如下:
步骤101,启动应用程序;
步骤102,应用程序中的连接字符串指向原数据库平台,应用程序连接上原数据库平台;
步骤103,应用程序对原数据库平台执行数据查询、数据维护等各种数据库操作;
步骤104,退出应用程序,应用程序断开对原数据库平台的连接。
4.根据权利要求1所述的异构数据库平台下应用程序零修改迁移的方法,其特征在于:在原数据库平台的内容迁移到新数据库平台之后,客户端的应用程序执行步骤如下:
步骤201,启动应用程序加载器;
步骤202,在应用程序加载器中选择并启动应用程序;
步骤203,应用程序加载器将应用程序中的连接字符串指向新数据库平台,应用程序连接上新数据库平台;
步骤204,应用程序对新数据库平台执行数据查询、数据维护等各种数据库操作;
步骤205,退出应用程序,应用程序断开对新数据库平台的连接;
步骤206,退出应用程序加载器。
5.根据权利要求1所述的异构数据库平台下应用程序零修改迁移的方法,其特征在于:在原数据库平台的内容迁移到新数据库平台之后,客户端的应用程序加载器执行步骤如下:
步骤301,启动应用程序:
步骤301-1,选择应用程序;
步骤301-2,启动应用程序,将应用程序进程挂接到应用程序加载器中;
步骤301-3,暂停执行应用程序;
步骤302,在内存中搜索并替换应用程序的数据库连接字符串:
步骤302-1,采用Windows进程注入的方法将一段代码注入到应用程序中;
步骤302-2,注入代码枚举应用程序的二进制代码;
步骤302-3,注入代码从应用程序二进制代码的内存开始地址至内存结束地址进行搜索,搜索以连接原数据库平台的数据库连接字符串开头的内存地址;
步骤302-4,如果搜索匹配目标,那么将连接原数据库平台的数据库连接字符串替换为连接新数据库平台的数据库连接字符串;
步骤302-5,搜索结束;
步骤303,恢复执行应用程序,应用程序连接到新数据库平台;
步骤304,退出应用程序,应用程序断开对新数据库平台的连接;
步骤305,退出应用程序加载器。
6.根据权利要求5所述的异构数据库平台下应用程序零修改迁移的方法,其特征在于:应用程序加载器执行步骤302-1的流程如下:
步骤601,得到被注入进程的HANDLE;
步骤602,在被注入进程中为注入DLL文件名分配内存;
步骤603,把DLL的全路径文件名写到分配的内存中;
步骤604,把DLL映射到被注入进程;
步骤605,等待远程线程结束,等待LoadLibrary返回,即以DLL_PROCESS_ATTACH为参数调用的DLLMain返回时,远程线程同时结束;
步骤606,取回远程线程的结束码,即LoadLibrary的返回值,DLL加载后的基地址;
步骤607,释放步骤602分配的内存;
步骤608,用CreateRemoteThread和FreeLibrary把DLL从被注入进程中卸载,调用时传递步骤606取得的HMODULE给FreeLibrary;
步骤609,等待线程的结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军理工大学,未经中国人民解放军理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210529094.2/1.html,转载请声明来源钻瓜专利网。