System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种低侵入面向XC环境的数据库转换方法技术_技高网

一种低侵入面向XC环境的数据库转换方法技术

技术编号:41073605 阅读:2 留言:0更新日期:2024-04-24 11:30
本发明专利技术提出一种低侵入面向XC环境的数据库转换方法,通过对用户SQL执行的获取,实现将SQL进行拦截、发送、改写执行,将用户原业务SQL发送至转换服务进行解析、得到相应的层次结构。通过对原业务驱动、目标业务驱动、关键字类型、替换前关键字、替换后关键字的配置,对原业务SQL进行对应的执行SQL转换,转换后重新发还进行改写执行,在不进行原有业务SQL改造的情况下,进行快速XC适配。

【技术实现步骤摘要】

本专利技术涉及数据库转换,具体涉及一种低侵入面向xc环境的数据库转换方法。


技术介绍

1、随着信息技术的不断发展和国际竞争的日益加剧,国家对网络安全和数据安全的需求愈发强烈。国家有关部门近年来陆续出台相关政策指导文件,推动探索安全可控的金融科技产品,加强金融、电信、政务等行业的信息安全建设,国内众多政企机构开始探索借助数字化技术,来实现原有it系统的转型升级,从而实现降本增效,已经成为行业发展的共识。

2、而国产数据库品牌除了达梦、金仓、南大、神通等,还有阿里、腾讯、华为等也都相继推出国产数据库。直至今天,国产数据库厂商远不止这些。品目繁多的国产数据库品牌形成了良好的产业生态和发展环境,同时也为既有信息系统适配国产化数据的改造工作带来了较大的工作量。虽然大部分国产数据库对oracle或者mysql都有一定的兼容性,但在部分sql语法、关键字、字段类型以及系统函数的使用上都存在不少差异,因而在信息系统进行xc改造的场合,国产数据库的适配往往占用了50%左右的工作量。


技术实现思路

1、本专利技术的目的是:在不进行原有业务sql改造的情况下,进行快速xc适配,降低改造成本,提高转换效率。

2、为了达到上述目的,本专利技术的技术方案提供了一种低侵入面向xc环境的数据库转换方法,用于对用户发送至业务应用的访问xc数据库的请求链接进行转换处理,所述方法包括以下步骤:

3、步骤1:xc数据库中间件拦截请求链接,并从请求链接中获取用户请求的sql_id、请求的数据sql原文以及对数据库请求的参数信息。步骤2:xc数据库中间件根据参数信息对数据sql原文进行映射替换,得到映射结束的sql。步骤3:在固定周期,将映射结束的sql与已缓存对象进行匹配,其中已缓存对象包括历史映射结束的sql与历史sql可执行语句;若匹配一致,则从缓存中直接获取历史sql可执行语句作为第一执行语句进行数据请求。步骤4:若匹配不一致,将映射结束的sql转换为java类的可遍历层次结构。步骤5:对可遍历层次结构内的原业务驱动、目标业务驱动、关键字类型、替换前关键字、替换后关键字进行数据库以及转换关键字配置,得到第二执行语句。步骤6:通过tcp协议将转换好的第二执行语句转发回业务应用,并通过sql-id进行指定接收。

4、优选地,在所述步骤1之前,在所述业务应用中添加xc数据库中间件,并进行替换xc数据库驱动包以及在配置文件中初始化配置相关参数。

5、优选地,所述xc数据库中间件包括sql拦截器、xc转换服务以及sql语法解析器。

6、优选地,在步骤4中,sql拦截器中的所述映射结束的sql以json字符串格式通过tcp协议发送给所述xc转换服务,并由所述xc转换服务传输至所述sql语法解析器进行解析得到java类的可遍历层次结构。

7、优选地,在步骤4中,sql拦截器中的所述映射结束的sql包括sql_id、可以执行sql、原驱动名以及需转驱动名。

8、优选地,在步骤4中,所述java类的可遍历层次结构包括sql字段、表名table字段、join字段、条件where字段、分组group by字段、排序order by字段以及子查询。

9、优选地,在步骤6中还包括:将所述第二执行语句以及相对应的映射结束的sql进行缓存处理,存储于已缓存对象中。

10、优选地,在步骤6中,通过指定sql-id获取所述第二执行语句,对请求链接中数据sql原文以及参数信息动态替换,并发送至xc数据库,由业务应用执行调用。

11、本专利技术提出一种低侵入面向xc环境的数据库转换方法,本专利技术通过获取用户sql执行,实现将sql进行拦截、发送以及改写执行操作,实现将用户原业务sql发送至转换服务进行解析,得到相应的层次结构,进而实现不进行原有业务sql改造的情况下,进行快速xc适配。通过tcp协议与sql转换服务通信,采取多线程机制,针对每个用户的每个请求记录sql_id、提供线程服务,并且利用缓存机制,记录转换关键字替换内容,在有相同内容请求时,从缓存中获取解析内容,大大减少请求时间,提供转换效率,降低改造成本。

本文档来自技高网...

【技术保护点】

1.一种低侵入面向XC环境的数据库转换方法,其特征在于,用于对用户发送至业务应用的访问XC数据库的请求链接进行转换处理,所述方法包括以下步骤:

2.如权利要求1所述的一种低侵入面向XC环境的数据库转换方法,其特征在于,在所述步骤1之前,在所述业务应用中添加XC数据库中间件,并进行替换XC数据库驱动包以及在配置文件中初始化配置相关参数。

3.如权利要求2所述的一种低侵入面向XC环境的数据库转换方法,其特征在于,所述XC数据库中间件包括SQL拦截器、XC转换服务以及SQL语法解析器。

4.如权利要求3所述的一种低侵入面向XC环境的数据库转换方法,其特征在于,在步骤4中,SQL拦截器中的所述映射结束的SQL以JSON字符串格式通过TCP协议发送给所述XC转换服务,并由所述XC转换服务传输至所述SQL语法解析器进行解析得到Java类的可遍历层次结构。

5.如权利要求4所述的一种低侵入面向XC环境的数据库转换方法,其特征在于,在步骤4中,SQL拦截器中的所述映射结束的SQL包括SQL_ID、可以执行SQL、原驱动名以及需转驱动名。

>6.如权利要求5所述的一种低侵入面向XC环境的数据库转换方法,其特征在于,在步骤4中,所述Java类的可遍历层次结构包括SQL字段、表名TABLE字段、JOIN字段、条件WHERE字段、分组GROUP BY字段、排序ORDER BY字段以及子查询。

7.如权利要求6所述的一种低侵入面向XC环境的数据库转换方法,其特征在于,在步骤6中还包括:将所述第二执行语句以及相对应的映射结束的SQL进行缓存处理,存储于已缓存对象中。

8.如权利要求7所述的一种低侵入面向XC环境的数据库转换方法,其特征在于,在步骤6中,通过指定SQL-ID获取所述第二执行语句,对请求链接中数据SQL原文以及参数信息动态替换,并发送至XC数据库,由业务应用执行调用。

...

【技术特征摘要】

1.一种低侵入面向xc环境的数据库转换方法,其特征在于,用于对用户发送至业务应用的访问xc数据库的请求链接进行转换处理,所述方法包括以下步骤:

2.如权利要求1所述的一种低侵入面向xc环境的数据库转换方法,其特征在于,在所述步骤1之前,在所述业务应用中添加xc数据库中间件,并进行替换xc数据库驱动包以及在配置文件中初始化配置相关参数。

3.如权利要求2所述的一种低侵入面向xc环境的数据库转换方法,其特征在于,所述xc数据库中间件包括sql拦截器、xc转换服务以及sql语法解析器。

4.如权利要求3所述的一种低侵入面向xc环境的数据库转换方法,其特征在于,在步骤4中,sql拦截器中的所述映射结束的sql以json字符串格式通过tcp协议发送给所述xc转换服务,并由所述xc转换服务传输至所述sql语法解析器进行解析得到java类的可遍历层次结构。

5.如权利要求4所述的一种低...

【专利技术属性】
技术研发人员:杨学晨陈志华王维刘正杰董诚白元宁
申请(专利权)人:上海电科智能系统股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1