[发明专利]一种特大LOB数据高并发低延迟的更新访问方法有效
| 申请号: | 202010499819.2 | 申请日: | 2020-06-04 |
| 公开(公告)号: | CN111694847B | 公开(公告)日: | 2023-07-18 |
| 发明(设计)人: | 冀贤亮;王效忠;刘明;何振兴;苏锦佩 | 申请(专利权)人: | 贵州易鲸捷信息技术有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/2453;G06F16/2458;G06F16/28 |
| 代理公司: | 天津企兴智财知识产权代理有限公司 12226 | 代理人: | 马倩倩 |
| 地址: | 550000 贵州省贵阳市贵阳综*** | 国省代码: | 贵州;52 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 特大 lob 数据 并发 延迟 更新 访问 方法 | ||
1.一种特大LOB数据高并发低延迟的更新访问方法,其特征在于,包括如下内容:
1)创建用户表时,为每个LOB列创建至少一个HDFS文件,用于存储LOB数据;
2)针对每个LOB列,创建一个SQL分区表;
3)当LOB值小于等于预设的第一阀值时,分割成多行的LOB数据和相关元信息都直接存储到SQL分区表中;当LOB值大于第一阀值时则存储到HDFS文件中,SQL分区表则用于保存LOB数据存储在HDFS文件中产生的元数据;其中,
针对插入的LOB数据写入HDFS文件后,其作为基准数据,后续的局部Update和Append操作只产生Delta数据并存储在SQL分区表中;对基准数据进行分片和编号,SQL分区表通过编号记录对应分片的Delta数据,且数据在HDFS文件中是连续存储。
2.根据权利要求1所述的方法,其特征在于:所述SQL分区表的字段包括:data_inline字段,用于存储数据;flag字段,用于标记此记录是元数据、缓存数据或者Delta数据;COLUMNS系统表中data_inline_size字段值表示data_inline字段的大小;
当LOB值小于等于预设的第一阀值时,以data_inline_size字段值的大小为基准分割成多行直接存储到SQL分区表的data_inline字段中;
对基准数据以data_inline_size字段值的大小为基准进行分片和逻辑编号,Delta数据存储在data_inline字段中。
3.根据权利要求1所述的方法,其特征在于:当更新操作结束后,检测Delta数据是否过多,或者末尾片段追加数据是否过多,若超过预设的阈值后,产生一个Compact操作的任务请求,后台线程安排进行Compact操作。
4.根据权利要求1所述的方法,其特征在于:当SQL分区表的大小超过一定范围时,开启后台线程或进程,对LOB数据进行Compact操作:
对基准数据和Delta数据进行合并后生成新的基准数据,然后删除和失效SQL分区表中的Delta数据和缓冲数据,并更新SQL分区表中元数据从而指向HDFS文件中新的基准数据;
当整个HDFS文件本身大小未影响性能或小于预定阀值时,新的基准数据追加到HDFS文件末尾,旧基准数据并未从HDFS文件中删除;
当HDFS文件中的垃圾数据占比过半时或超过预定阀值时,Compact整个HDFS文件,把新的基准数据写入新的HDFS文件中,重制SQL分区表中的元数据,当旧HDFS文件中保存的所有有效的LOB列值都Compact结束后即可删除;此过程中,新插入的数据需保存到新HDFS文件中。
5.根据权利要求1所述的方法,其特征在于:接收到Update请求后:
首先从SQL分区表获取元数据信息,判断LOB值大小是否超过第一阈值:
若小于则从SQL分区表中读取LOB数据,然后根据更新请求生成新数据并覆盖旧数据;
若大于则计算该数据所在分片,再判断分片是否存在Delta数据,若无则根据HDFS文件中数据生成Delta数据并插入SQL分区表中;若有,则根据基准数据和Delta数据生成新的Delta数据并覆盖旧的Delta数据。
6.根据权利要求5所述的方法,其特征在于:Compact整个HDFS文件时采用对每个LOB列值开启不同的事务逐一进行Compact操作。
7.根据权利要求1所述的方法,其特征在于:SQL分区表按需设置是否常驻内存。
8.根据权利要求2所述的方法,其特征在于:当LOB值超过第一阀值存储到HDFS文件中时,data_inline字段中数据可用于加快对用户的响应,也可置空。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至8中任一项所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州易鲸捷信息技术有限公司,未经贵州易鲸捷信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010499819.2/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





