[发明专利]一种面向异构存储的适配装置有效
申请号: | 201410674714.0 | 申请日: | 2014-11-21 |
公开(公告)号: | CN104361099B | 公开(公告)日: | 2017-10-20 |
发明(设计)人: | 林荣恒;傅荣蓉;赵耀;邹华;杨放春;陶鑫;黄信力;王鹏;徐旸;郑海敏;黄韵臻;于婧 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 张驰,宋志强 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 存储 配装 | ||
技术领域
本发明实施方式属于移动应用技术领域,特别是一种面向异构存储的适配装置。
背景技术
在很多应用领域中,如果仅使用单一存储模型的数据库(如行数据库、列数据库或图数据库)是不足以应付异构、海量数据的存储需求的。传统上,行数据库已广泛地应用在Web网站系统、日志记录系统以及嵌入式系统中。但是,随着互联网Web2.0网站的兴起,关系数据库在应付Web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站时显得力不从心,暴露了很多难以克服的问题。因为互联网应用对高并发、低延时的需求已经放在了首位,如果使用数据库纵向扩展的方式,则需要很大的服务器,采购和维护成本很高,并且单台服务器配置有限,这就要求数据库能适用于集群环境,能横向扩展。并且,从业务角度看,数据一致性可以不放在首位,能够容忍数据在短时间内不一致。
在此情况下,NoSQL数据库孕育而生,其中包括了列数据库和图数据库。列数据库擅长高效的数据插入和查询功能,并具有较高的压缩比。图数据库的领域对象模型是图结构,因此对于诸如社交关系、地图数据或基因信息等这类数据,使用图形数据库进行存储是最适合的,能够使得模型转换代价小、实现简单且降低后期维护成本。
由于目前针对行、列、图这三类数据库的底层存储结构尚无统一标准,因而也不存在有类似关系数据库的查询语言SQL那样的可以统一地进行异构存储数据库执行CRDU操作的语言或技术标准。
现有技术中针对数据分析层面的类似技术——如Hive,impala,InfoBright虽然可以解决采集后数据行列混合存储和压缩的问题,但是它们都不涉及图存储模型与行、列存储模型的混合封装与适配功能,并且不支持对客户端透明的对这三类存储模型的数据库间进行数据转换、索引同步等功能。
因此,大型应用若需使用不同存储模型的异构数据库,则需要在编写高层应用业务逻辑的同时,兼顾到底层这些不同数据库所带来的差异。在数据量徒增、数据类型多变的情况下,随着所采用底层数据库的类型、个数增加,这对应用的编写而言无疑是一件及其繁杂、琐碎的事情。进一步地,这也会导致整个应用的代码越来越难以修改、管理以及维护。
发明内容
本发明实施方式提出一种面向异构存储的适配装置,向客户端隐藏了底层具体数据库在使用过程中带来的差异,从而降低客户端编程难度。
本发明实施方式的技术方案如下:
一种面向异构存储的适配装置,该装置包括:
统一QL解析模块,用于从客户端接收统一QL语句,并对统一QL语句进行解析,其中当解析结果为索引CRUD操作请求时,将索引CRUD操作请求发送到索引模块;当解析结果为数据转换请求时,将数据转换请求发送到数据模型模块;当解析结果为数据CRUD操作请求时,将数据CRUD操作请求发送到具体数据库QL模块;
统计模块,用于从客户端接收统一QL语句,根据预先设定的提取规则从统一QL语句中获取索引关键字,生成关于索引关键字的索引CRUD操作请求,并将索引CRUD操作请求发送到索引模块;
索引模块,用于从统一QL解析模块和统计模块发送来的索引CRUD操作请求中提取索引关键字、索引操作命令和数据库标识,并将索引关键字、索引操作命令和数据库标识发送到具体数据库QL模块;
数据模型模块,用于从数据转换请求中提取数据关键字、转换前数据库标识和转换后数据库标识,并将数据关键字、转换前数据库标识和转换后数据库标识发送到具体数据库QL模块;
具体数据库QL模块,用于保存数据库标识与数据库类型之间的对应关系;根据索引模块发送的索引关键字、索引操作命令和数据库标识,生成与对应于数据库标识的数据库类型相符合的索引操作QL语句;根据数据模型模块发送来的数据关键字、转换前数据库标识和转换后数据库标识,生成与转换前数据库标识相对应的数据库类型相符合的数据读取QL语句,对读取的数据执行数据转换,以及生成与转换后数据库标识相对应的数据库类型相符合的数据存储QL语句;从统一QL解析模块发送来的数据CRUD操作请求中解析出数据关键字、数据CRUD操作命令和数据库标识,生成与数据库标识相对应的数据库类型相符合的数据CRUD操作QL语句。
优选地,所述索引CRUD操作请求包括:添加索引模块、查询索引、更新索引或删除索引。
优选地,所述数据库类型包括行数据库、列数据库和图数据库。
优选地,还包括日志模块,用于记录数据转换操作日志、索引CRUD操作日志和数据CRUD操作日志。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410674714.0/2.html,转载请声明来源钻瓜专利网。