[发明专利]跨语言平台操作数据库的方法在审
申请号: | 202110948709.4 | 申请日: | 2021-08-18 |
公开(公告)号: | CN113641745A | 公开(公告)日: | 2021-11-12 |
发明(设计)人: | 贺炯 | 申请(专利权)人: | 上海通联金融服务有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/21;G06F8/30 |
代理公司: | 上海翰信知识产权代理事务所(普通合伙) 31270 | 代理人: | 张维东 |
地址: | 200437 上海市虹口*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 语言 平台 操作 数据库 方法 | ||
本发明涉及一种跨语言平台操作数据库的方法,包括以下步骤:数据模型设计,采用Python的Sqlalchemy作为模型描述工具,生成数据库模型;数据定义,基于生成的数据库模型对数据库对象进行创建、销毁和修改;通过调用Sqlalchemy提供的API进行各类数据库建表,并建索引语句;基于Python和Java的ORM操作能力,进行各类数据库操作;基于Sqlalchemy生成的数据库模型,生成C语言版本结构体;结合各类数据库生成的统一调用接口和C语言版本结构体,生成各类数据库函数及嵌入SQL语句程序,使C语言进行各类数据库操作。本发明通过采用一致的数据库模型和一致的数据库操作方式,可彻底解决多个语言平台对模型和数据库的重复定义和难以操作的问题。
技术领域
本发明涉及计算机技术领域,特别涉及一种跨语言平台操作数据库的方法。
背景技术
在大型项目中通常需要好几种语言组合实现。同一个业务模型在不同语言中重复定义,给系统后期维护与开发带来非常多的不便。比如一些大型应用系统,为追求系统高性能,采用C语言作为系统后台服务;为复杂的界面操作,采用Java开发语言实现;而通信层又采用Python作为通讯前置系统语言开发。这些开发语言都是为同一套应用系统服务,操作的是同一套业务模型。
而现有技术中,若一套业务系统同时采用C语言、Java开发语言和Python的语言时,通常会定义多种模型,采用多种数据库,这导致一个业务系统中的模型存在重复定义和操作,业务系统也无法随意调用不同的数据库。
因此有必要提供一种跨语言平台操作数据库的方法,采用一致的数据库模型和一致的数据库操作方式,可彻底解决多个语言平台对模型和数据库的重复定义和难以操作的问题。
发明内容
本发明的目的在于提供一种跨语言平台操作数据库的方法,采用一致的数据库模型和一致的数据库操作方式,可彻底解决多个语言平台对模型和数据库的重复定义和难以操作的问题。
为了解决上述问题,本发明提供了一种跨语言平台操作数据库的方法,包括以下步骤:
数据模型设计,采用Python的Sqlalchemy作为模型描述工具,生成数据库模型;
数据定义,基于生成的数据库模型对数据库对象进行创建、销毁和修改;
通过调用Sqlalchemy提供的API进行各类数据库建表,并建索引语句;
基于Python和Java的ORM操作能力,进行各类数据库操作;
基于Sqlalchemy生成的数据库模型,生成C语言版本结构体;结合各类数据库生成的统一调用接口和C语言版本结构体,生成各类数据库函数及嵌入SQL语句程序,使C语言进行各类数据库操作。
可选的,在所述跨语言平台操作数据库的方法中,使C语言进行各类数据库操作的方式如下:
根据配置情况确定各类数据库对应的函数库,使各类数据库的生成统一的调用接口;
结合各类数据库生成的统一调用接口和C语言版本结构体,生成C语言下的各类数据库函数及嵌入SQL语句程序;
采用C语言操作各类数据库时,调用各类数据库函数及嵌入SQL语句程序。
可选的,在所述跨语言平台操作数据库的方法中,生成C语言版本结构体的方式为:
通过Python脚本对基于Sqlalchemy生成的数据库模型进行解析,生成C语言版本结构体。
可选的,在所述跨语言平台操作数据库的方法中,基于Python的ORM操作能力,进行各类数据库操作的方式如下:
使用Sqlalchemy对Python版数据实体进行操作,以实现采用Python操作各类数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海通联金融服务有限公司,未经上海通联金融服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110948709.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种碳中和目标下的天然气管道操作优化方法
- 下一篇:商品共享库存的方法及设备