一种写入图片数据和分布式NewSQL数据库系统技术方案

技术编号:16837152 阅读:66 留言:0更新日期:2017-12-19 19:46
本发明专利技术公开了一种写入图片数据的方法,适用于分布式NewSQL数据库系统,包括:以JDCB/ODBC的接口方式接入用户请求,其中,所述用户请求包括需要写入的图片数据;解析所述用户请求,编译以及生成对应的执行计划;根据执行计划,将所述图片数据生成MD5,将所述MD5写入原始数据表;同时,将所述图片数据写入图片数据表中;将所述图片数据完成写入的处理结果返回用户。相应,本发明专利技术还公开了一种分布式NewSQL数据库系统。本发明专利技术提供LOB存储,满足图片存储需求。

A system of writing picture data and distributed NewSQL database system

The invention discloses a method for writing image data, suitable for distributed NewSQL database system, including JDCB/ODBC interface to access user requests, wherein the user request includes writing data need pictures; the user request, compile and generate the corresponding implementation plan; according to the plan, the the picture data generated by the MD5 MD5, will write original data table; at the same time, the image data into the picture data table; the picture data processing results to return to the user. Accordingly, the invention also discloses a distributed NewSQL database system. The invention provides LOB storage to meet the need of picture storage.

【技术实现步骤摘要】
一种写入图片数据和分布式NewSQL数据库系统
本专利技术涉及大数据
,尤其涉及一种写入图片数据和分布式NewSQL数据库系统。
技术介绍
Hbase存储的数据没有数据类型之分,均为byte数组。如若要存储图片数据即需要将图片数据序列化后和其他字段的数据一起存储。在实际场景中,图片数据属于一次写入多次读取的数据,而且图片的数据会比较大,其他字段却是会出现频繁的读写操作,这样会导致当只是读取其他字段时造成读取性能的下降。再者因为Hbase其region中的实质数据在flush到磁盘时是需要同时flush的,这样一并存储也会对写入数据的性能造成影响。
技术实现思路
本专利技术实施例的目的是提供一种写入图片数据和分布式NewSQL数据库系统,提供LOB存储,满足图片存储需求,解决图片数据储存而读取数据性能下降。为实现上述目的,本专利技术实施例提供了一种写入图片数据的方法,适用于分布式NewSQL数据库系统,包括:以JDCB/ODBC的接口方式接入用户请求,其中,所述用户请求包括需要写入的图片数据;解析所述用户请求,编译以及生成对应的执行计划;根据执行计划,将所述图片数据生成MD5,将所述MD5写入原始数据表;同时,将所述图片数据写入图片数据表中;将所述图片数据完成写入的处理结果返回用户。进一步的,还包括:将所述用户请求转化SQL语句形式的SQL请求。进一步的,所述解析所述用户请求,编译以及生成对应的执行计划包括:判断共享缓存池中是否存在与所述SQL请求相对应的预存SQL语句,若是,则输出相对应的所述预存SQL语句对应的执行计划,若否,则,对所述SQL请求进行语法检查,若语法错误返回错误信息给用户,否则,对所述SQL请求进行语义检查,若语义错误返回错误信息给用户,否则,对所述SQL请求进行视图以及表达式转换,获得对应的转化结果;根据所述转换结果选择优化器,获得对应的优化器选择结果;根据所述优化器选择结果选择对应的数据连接方式以及连接顺序;根据连接方式和连接顺序选择搜索的路径;根据搜索路径生成执行计划,并输出执行计划。本专利技术实施例还提供了一种分布式NewSQL数据库系统,包括:JDCB/ODBC接口单元,用于与用户进行交互操作,包括接收用户请求,返回处理结果;其中,所述用户请求包括需要写入的图片数据;所述处理结果为图片数据已写入的处理结果;master单元,用于接入JDCB/ODBC接口单元所接入的用户请求,并协调多个处理器之间的数据通讯以及管理整体流程,并将所述用户请求优先发送给SQLPlaner单元;master单元还用于将图片数据已写入的处理结果返回JDCB/ODBC接口单元;SQLPlaner单元,用于解析所述用户请求,根据所述用户请求编译以及定制执行计划;worker单元,用于并行地执行所述计划,包括:根据执行计划,将所述需要写入的图片数据生成MD5,将所述MD5写入原始数据表;同时,将所述图片数据写入图片数据表中;还用于将所述Hbase单元的处理结果返回至所述master单元;Hbase单元,用于储存所述原始数据表和所述图片数据表,其中,Hbase单元的底层增加LOB类型;分布式事务管理器,用于当所述worker单元执行计划涉及事务时,协调多方完成分布式事务管理。进一步的,JDCB/ODBC接口单元还用于将所述用户请求转化SQL语句形式的SQL请求。进一步的,所述SQLPlaner单元用于:判断共享缓存池中是否存在与所述SQL请求相对应的预存SQL语句,若是,则输出相对应的所述预存SQL语句对应的执行计划,若否,则,对所述SQL请求进行语法检查,若语法错误返回错误信息给用户,否则,对所述SQL请求进行语义检查,若语义错误返回错误信息给用户,否则,对所述SQL请求进行视图以及表达式转换,获得对应的转化结果;根据所述转换结果选择优化器,获得对应的优化器选择结果;根据所述优化器选择结果选择对应的数据连接方式以及连接顺序;根据连接方式和连接顺序选择搜索的路径;根据搜索路径生成执行计划,并输出执行计划。进一步的,还包括:监视器,用于负责元数据管理,监控所述Hbase单元的Region的负载,以及通过所述Hbase单元的coprocessor模块重新分配Region;所述监视器与所述master单元连接。进一步的,所述监控所述Hbase单元的Region的负载,以及通过所述Hbase单元的coprocessor模块重新分配Region包括:接收所述Hbase单元的数据分布信息,接收所述master单元中的所述worker单元的负载信息,其中,所述负载信息包括所述worker单元的负载偏差值;将所述worker单元的负载偏差值与预设负载偏差阈值进行比较,若判定所述负载偏差值超过阀值,触发所述Hbase单元将命中率较高服务器上的Region和命中率较低服务器上的Region进行从新分配;获取每一Region的数据量,将每一所述Region的数据量与预设数据量阈值进行判断,若判定所述Region的数据量超过阀值,触发所述Hbase单元将超过预设数据量阈值的所述Region切分成两个。进一步的,所述JDCB/ODBC接口单元包括:JDBC应用程序模块,用于接收用户请求,以及调用JDBC对象方法以给出SQL语句,并用于提取结果返回用户;JDBC驱动程序管理器模块,用于为所述JDBC应用程序模块加载和调用JDBC驱动程序模块;JDBC驱动程序模块,用于执行所述JDBC对象方法的调用,发送用户请求所对应的SQL语句给底层的数据库,并将从所述底层的数据库获得的结果返回给JDBC应用程序模块。与现有技术相比,本专利技术实施例提供的一种写入图片数据的方法和分布式NewSQL数据库系统,通过以JDCB/ODBC的接口方式接入用户请求,其中,所述用户请求包括需要写入的图片数据;解析所述用户请求,编译以及生成对应的执行计划;根据执行计划,将所述图片数据生成MD5,将所述MD5写入原始数据表;同时,将所述图片数据写入图片数据表中;将所述图片数据完成写入的处理结果返回用户的技术方案,提供LOB存储,满足图片存储需求,解决了现有技术中因图片数据储存而导致Hbase读取数据性能下降的问题。附图说明图1是本专利技术实施例1提供的一种写入图片数据的方法的流程示意图;图2是本专利技术实施例2提供的一种分布式NewSQL数据库的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,图1是本专利技术实施例1提供的一种写入图片数据的方法的流程示意图;本实施例包括步骤:S1、以JDCB/ODBC的接口方式接入用户请求,其中,所述用户请求包括需要写入的图片数据;S2、解析所述用户请求,编译以及生成对应的执行计划;S3、根据执行计划,将所述图片数据生成MD5,将所述MD5写入原始数据表;同时,将所述图片数据写入图片数据表中;S4、将所述图片数据完成写入的处理结果返回用户。本实施例针对图片数据的存储,提供LOB存储,LOB可以高效的满足单条本文档来自技高网...
一种写入图片数据和分布式NewSQL数据库系统

【技术保护点】
一种写入图片数据的方法,其特征在于,适用于分布式NewSQL数据库系统,包括:以JDCB/ODBC的接口方式接入用户请求,其中,所述用户请求包括需要写入的图片数据;解析所述用户请求,编译以及生成对应的执行计划;根据执行计划,将所述图片数据生成MD5,将所述MD5写入原始数据表;同时,将所述图片数据写入图片数据表中;将所述图片数据完成写入的处理结果返回用户。

【技术特征摘要】
2016.09.21 CN 20161084239971.一种写入图片数据的方法,其特征在于,适用于分布式NewSQL数据库系统,包括:以JDCB/ODBC的接口方式接入用户请求,其中,所述用户请求包括需要写入的图片数据;解析所述用户请求,编译以及生成对应的执行计划;根据执行计划,将所述图片数据生成MD5,将所述MD5写入原始数据表;同时,将所述图片数据写入图片数据表中;将所述图片数据完成写入的处理结果返回用户。2.如权利要求1所述的写入图片数据的方法,其特征在于,还包括:将所述用户请求转化SQL语句形式的SQL请求。3.如权利要求2所述的写入图片数据的方法,其特征在于,所述解析所述用户请求,编译以及生成对应的执行计划包括:判断共享缓存池中是否存在与所述SQL请求相对应的预存SQL语句,若是,则输出相对应的所述预存SQL语句对应的执行计划,若否,则,对所述SQL请求进行语法检查,若语法错误返回错误信息给用户,否则,对所述SQL请求进行语义检查,若语义错误返回错误信息给用户,否则,对所述SQL请求进行视图以及表达式转换,获得对应的转化结果;根据所述转换结果选择优化器,获得对应的优化器选择结果;根据所述优化器选择结果选择对应的数据连接方式以及连接顺序;根据连接方式和连接顺序选择搜索的路径;根据搜索路径生成执行计划,并输出执行计划。4.一种分布式NewSQL数据库系统,其特征在于,包括:JDCB/ODBC接口单元,用于与用户进行交互操作,包括接收用户请求,返回处理结果;其中,所述用户请求包括需要写入的图片数据;所述处理结果为图片数据已写入的处理结果;master单元,用于接入JDCB/ODBC接口单元所接入的用户请求,并协调多个处理器之间的数据通讯以及管理整体流程,并将所述用户请求优先发送给SQLPlaner单元;master单元还用于将图片数据已写入的处理结果返回JDCB/ODBC接口单元;SQLPlaner单元,用于解析所述用户请求,根据所述用户请求编译以及定制执行计划;worker单元,用于并行地执行所述计划,包括:根据执行计划,将所述需要写入的图片数据生成MD5,将所述MD5写入原始数据表;同时,将所述图片数据写入图片数据表中;还用于将所述Hbase单元的处理结果返回至所述master单元;Hbase单元,用于储存所述原始数据表和所述图片数据表,其中,Hbase单元的底层增加LOB类型;分布式事务管理器,用于当所述worker单元执行计划涉及事务时,协调多方完成分布式事务管理。5.如权利要求4所述的一种分...

【专利技术属性】
技术研发人员:晋彤
申请(专利权)人:广州特道信息科技有限公司
类型:发明
国别省市:广东,44

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

1