[发明专利]数据库查询语言适配方法及装置、分布式数据存储系统在审
申请号: | 201710054244.1 | 申请日: | 2017-01-24 |
公开(公告)号: | CN106777368A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 徐锐波;程卓 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市浩天知识产权代理事务所(普通合伙)11276 | 代理人: | 宋菲,刘云贵 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 查询 语言 配方 装置 分布式 数据 存储系统 | ||
技术领域
本发明涉及计算机软件领域,具体涉及一种数据库查询语言适配方法及装置。
背景技术
数据库可以存储和管理数据,还提供给用户所需要的各种数据管理的方式。如支持用户对数据库中存储的数据进行如查询、修改、插入、删除等操作。目前使用的数据库多种多样,有关系型数据库,如Oracle,Mysql,Sql Server等,也有非关系型数据库如MongoDB,CouchDB,DynamoDB,Cassandra等。不同类型数据库使用的数据库语言也各不同。关系型数据库在进行数据查询时使用标准的结构化查询语言(Structured Query Language),而非关系型数据库则主要基于各自定义的领域专用语言(DSL,domain specific language)。由于不同数据库使用的语言不一致,这样可能导致在数据库发生更换时,往往需要将之前使用的数据库语言相关的代码、逻辑进行修改,重新测试等,需要花费很多的时间和人力,其工作量巨大。例如,数据库由Mysql迁移到MongoDB,原客户端的所有与数据库相关的如查询、修改、插入、删除等操作相关的代码、逻辑都需要进行修改,从而带来庞大的工作量。且在修改后还需要在进行测试等工作,耗费巨大的人力、物力和时间。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据库查询语言适配方法及装置。
根据本发明的一个方面,提供了一种数据库查询语言适配方法,方法基于预先设置的数据库操作的预设标签和预设操作规则实现,方法包括:
获取客户端按照预设标签和预设操作规则所编辑的数据库操作相关的代码;
根据预设操作规则和数据库适配器,对代码进行解析,得到数据库的操作语言;
利用数据库的操作语言实现对数据库的操作。
根据本发明的另一方面,提供了一种数据库查询语言适配装置,装置基于预先设置的数据库操作的预设标签和预设操作规则实现,装置包括:
获取模块,适于获取客户端按照预设标签和预设操作规则所编辑的数据库操作相关的代码;
解析模块,适于根据预设操作规则和数据库适配器,对代码进行解析,得到数据库的操作语言;
执行模块,适于利用数据库的操作语言实现对数据库的操作。
根据本发明的又一方面,提供了一种分布式数据存储系统,包括:客户端、分布式组件和数据库;
其中,分布式组件包括上述的数据库查询语言适配装置。
根据本发明提供的数据库查询语言适配方法及装置、分布式数据存储系统,基于预先设置的数据库操作的预设标签和预设操作规则实现。获取客户端按照预设标签和预设操作规则所编辑的数据库操作相关的代码;根据预设操作规则和数据库适配器,对代码进行解析,得到数据库的操作语言;利用数据库的操作语言实现对数据库的操作。利用本发明可以对客户端屏蔽数据库的差异性,使客户端不需要考虑数据库的类型和数据库使用的操作语言。同样,对于客户端使用的不同操作系统,仅需要基于预设标签和预设操作规则实现,而不需要统一客户端使用的语言。保持了客户端、数据库之间的相对独立性。对客户端而言,无论何种数据库都可以统一使用同一套数据操作的代码。对于数据库,涉及数据库更换时,也无需修改所有客户端的代码,极大的节省了人力、物力和时间,也使得客户端的代码具有极高的复用性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的数据库查询语言适配方法的流程图;
图2示出了根据本发明分布式数据存储系统框架示意图;
图3示出了根据本发明另一个实施例的数据库查询语言适配方法的流程图;
图4示出了根据本发明一个实施例的数据库查询语言适配装置的功能框图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710054244.1/2.html,转载请声明来源钻瓜专利网。