一种异构云存储系统及其数据处理方法技术方案

技术编号:9434630 阅读:170 留言:0更新日期:2013-12-12 00:40
本发明专利技术提供了一种异构云存储系统,包括多个云存储器、接收单元、解析引擎,接收单元用于接收用户发送的数据库语句,所述数据库语句符合异构云存储系统中数据对象的语法;解析引擎用于解析所述数据库语句,云存储器用于接收解析后的操作指令并执行。本发明专利技术还提供了一种异构云存储系统的数据处理方法。通过设计一套统一的数据定义语法和数据查询语法,利用外观模式对外提供统一的接口,底层则采用适配器模式,接入不同云存储器,实现不同功能侧重点的异构云存储系统的融合。采用本发明专利技术的技术方案,用户只需要通过统一的接口就可以调用底层多种存储,满足更多场景的数据处理。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种异构云存储系统,包括多个云存储器、接收单元、解析引擎,接收单元用于接收用户发送的数据库语句,所述数据库语句符合异构云存储系统中数据对象的语法;解析引擎用于解析所述数据库语句,云存储器用于接收解析后的操作指令并执行。本专利技术还提供了一种异构云存储系统的数据处理方法。通过设计一套统一的数据定义语法和数据查询语法,利用外观模式对外提供统一的接口,底层则采用适配器模式,接入不同云存储器,实现不同功能侧重点的异构云存储系统的融合。采用本专利技术的技术方案,用户只需要通过统一的接口就可以调用底层多种存储,满足更多场景的数据处理。【专利说明】
本专利技术涉及计算机领域,尤其涉及。
技术介绍
关于数据存储系统,目前符合结构化查询语言SQL标准的系统是使用最广泛的。现在众多的云存储系统都会对外提供一个类似JDBC (JAVA数据库连接,一种用于执行SQL的JAVAAPI,它可以兼容多种关系型数据库)或者0DBC(由微软提出的数据访问接口标准,开放数据库互联的标准)的标准接口。目的是给专门从事某种业务的数据处理分析,可以更快的入手,不必花更多时间去了解不同的存储系统的特定的接口功能。利用一个统一的标准接口,就可以访问更多不同的数据存储系统,完成不同存储系统上的数据处理。随着大数据需求日益高涨,业界出现了很多各种各样的数据存储系统。因为大数据处理的需求和应用场景不同,有的只需要离线处理,允许一定的处理延迟。对于这种情况,可以采用批量处理的系统,如Map Reduce平台,通过调度批量任务来操作静态数据,缺点就是存在一定的延迟。有的则需要交互式处理,希望延迟尽可能的短,可以及时返回结果。对于这种情况就需要交互式处理系统,不能把多个请求放到一起批量处理,而是需要每来一个请求就及时处理。还有的需要随着数据量的增加进行增量处理,这种情况需要对原始数据集有修改操作,因此也就需要系统支持修改操作。还有的需要随着数据源源不断的到来,实现针对数据流的处理。不同的应用场景需要采用不同的存储和处理系统。很多时候在同一个业务中,会同时有几种不同的需求,比如,在线交互处理与离线处理的混合。因此,如果能有一种架构可以将这些大数据处理系统进行融合,对外提供统一的接口,将会给业务开发人员带来很大的便利。而现有的大数据处理系统都有自己特定的数据定义以及数据查询接口,比如:HBase、Cassandra、Hive、HDFS等,他们对外提供的数据处理接口各不相同。Hive主要支持有明确模式的结构化数据,数据定义和查询类似于SQL标准。HDFS可以支持无模式的非结构化数据,但是需要用户提供一个解析数据的类。如果用户只是离线批量处理,就可以考虑采用HDFS、Hive0如果用户需要对存储数据的修改更新操作,可以采用HBase、Cassandra等类似的NoSql数据库(Not only SQL,针对大数据处理的、模式简单、限制低的数据库产品)。因此,不同的数据处理需要去调用不同的客户端接口,给业务开发人员带来了极大的负担。目前还没有一种可将不同架构和设计的存储系统融合在一起方法。
技术实现思路
针对现有技术中存在的技术问题,本专利技术提供了,可以将异构的云存储系统融合起来,并对外提供统一的查询处理接口。为了达到上述目的,本专利技术提供了一种异构云存储系统,技术方案如下:接收单元,用于接收用户发送的数据库语句,所述数据库语句符合异构云存储系统中数据对象的语法;解析引擎,用于解析所述数据库语句;云存储器,用于接收解析后的操作指令并执行。所述解析引擎包括公共解析引擎和二级解析引擎,所述公共解析引擎包括公共数据定义解析引擎和公共数据查询解析引擎,所述二级解析引擎包括对应于每个云存储器的二级数据定义解析引擎和二级数据查询解析引擎:其中,所述公共解析引擎用于将所述数据库语句解析为多条数据库语句,解析后的多条数据库语句分别发送给相应云存储器的二级解析引擎,所述数据库语句包括数据定义语句和数据查询语句;所述二级解析引擎用于接收所述公共解析引擎解析后的数据库语句,并对相应云存储器对应的数据定义语句和数据查询语句进行解析。所述公共解析引擎具体用于:将所述数据定义语句和所述数据查询语句分别解析为多条数据定义语句和多条数据查询语句,并将解析后的多条数据定义语句和多条数据查询语句分别发送给相应云存储器的二级数据定义解析引擎和二级数据查询解析引擎。所述二级数据定义解析引擎将相应云存储器的数据定义语句解析为可执行的数据定义操作指令;所述二级数据查询解析引擎将相应云存储器的数据查询语句解析为可执行的数据查询操作指令。所述系统对外采用外观模式,用于对外提供统一的数据接口 ;对内采用适配器模式,用于适配统一接口与异构的各云存储器的内部接口。本专利技术还提供了一种异构云存储系统的数据处理方法,主要技术方案如下:接收用户发送的数据库语句,并对其进行解析;所述数据库语句符合异构云存储系统中数据对象的语法;将解析后的操作指令发送到相应的云存储器中执行该操作。所述数据库语句包括数据定义语句和数据查询语句。所述解析具体为:将所述数据库语句解析为多条数据库语句,分别发送给相应云存储器的二级解析引擎,再由各云存储器的二级解析引擎进行解析,得到可执行的操作指令;所述可执行的操作指令包括数据定义操作指令和数据查询操作指令。将解析后的操作指令通过各云存储器的驱动发送到相应的云存储器中执行。 所述数据对象包括结构化数据、非结构化数据、半结构化数据。所述数据对象的语法具体为:对结构化数据定义数据模式、数据对象名字;对非结构化数据或半结构化数据定义数据模式、数据对象名字、解析数据的方式。对所述三种数据对象分别指定不同的分区方式进行分区,不同云存储器之间数据对象的属性名称不同。本专利技术提供的,通过设计一套统一的数据定义语法和数据查询语法,利用外观模式对外提供统一的接口,实现不同功能侧重点的异构云存储系统的融合。采用本专利技术的技术方案,用户只需要通过统一的接口就可以调用底层多种存储,满足更多场景的数据处理。【专利附图】【附图说明】图1是本专利技术实施例的异构存储系统的结构示意图;图2是本专利技术实施例的公共解析引擎的结构示意图;图3是本专利技术实施例的二级解析引擎的结构示意图;图4是本专利技术实施例的数据处理方法流程图;图5是本专利技术实施例的数据定义过程示意图;图6是本专利技术实施例的数据查询过程示意图;【具体实施方式】为了使本专利技术的技术方案及优点更加清楚明白,以下结合附图对本专利技术的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本专利技术的一部分实施例,而不是所有实施例的穷举。本专利技术提供了,主要的思想是设计统一的数据定义和查询语法,将这些数据定义语句以及查询语句通过统一的接口提交,而底层的执行对用户来说都是透明的。所谓云存储系统,指的是通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。而异构云存储系统,则指的是整体架构、存储、查询原理不一样的存储软件称为异构。本专利技术中的异构云存储系统包括多个云存储器(存储软件),各个云存储器之间是异构的。为达到上述目的,本专利技术上层采用了设计模式中的外观模式,对用户屏蔽底层各云存储器之本文档来自技高网
...

【技术保护点】
一种异构云存储系统,其特征在于,包括多个云存储器和:接收单元,用于接收用户发送的数据库语句,所述数据库语句符合异构云存储系统中数据对象的语法;解析引擎,用于解析所述数据库语句;云存储器,用于接收解析后的操作指令并执行。

【技术特征摘要】

【专利技术属性】
技术研发人员:王颖狄静舒宋怀明苗艳超刘新春邵宗有
申请(专利权)人:曙光信息产业股份有限公司
类型:发明
国别省市:

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

1