预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN114969034A(43)申请公布日2022.08.30(21)申请号202210533848.5(22)申请日2022.05.16(71)申请人北京奥星贝斯科技有限公司地址100020北京市朝阳区东三环中路1号1幢1单元9层901内02号单元(72)发明人杨海涛(74)专利代理机构北京博思佳知识产权代理有限公司11415专利代理师李威(51)Int.Cl.G06F16/22(2019.01)G06F16/2455(2019.01)权利要求书2页说明书8页附图3页(54)发明名称LSM-Tree架构数据库有序表的查询方法和装置(57)摘要本说明书提供一种LSM‑Tree架构数据库有序表的查询方法,所述查询包括根据查询条件依次扫描一张到多张有序表,对某一张有序表的扫描包括:将所述某一张有序表作为当前有序表;在当前迭代器匹配于当前有序表的类型时,保留当前迭代器;否则获取与当前有序表匹配类型的迭代器作为当前迭代器;由当前迭代器确定本次扫描的目标数据块;当本次扫描的目标数据块与当前缓存数据块是同一个数据块时,保留当前缓存数据块;否则读取本次扫描的目标数据块到缓存中生成新的当前缓存数据块;由当前迭代器根据查询条件扫描当前缓存数据块。CN114969034ACN114969034A权利要求书1/2页1.一种LSM‑Tree架构数据库有序表的查询方法,所述查询包括根据查询条件依次扫描一张到多张有序表,对某一张有序表的扫描包括:将所述某一张有序表作为当前有序表;在当前迭代器匹配于当前有序表的类型时,保留当前迭代器;否则获取与当前有序表匹配类型的迭代器作为当前迭代器;由当前迭代器确定本次扫描的目标数据块;当本次扫描的目标数据块与当前缓存数据块是同一个数据块时,保留当前缓存数据块;否则读取本次扫描的目标数据块到缓存中生成新的当前缓存数据块;由当前迭代器根据查询条件扫描当前缓存数据块。2.根据权利要求1所述的方法,所述获取与当前有序表类型匹配的迭代器作为当前迭代器,包括:将当前迭代器返回至迭代器池中,从迭代器池中申请与当前有序表类型匹配的迭代器作为新的当前迭代器。3.根据权利要求2所述的方法,所述方法还包括:在当前迭代器不匹配于当前有序表的类型、并且迭代器池中不存在与当前有序表类型匹配的迭代器时,生成与当前有序表类型匹配的迭代器作为当前迭代器,读取本次扫描的目标数据块到缓存中生成当前缓存数据块,由当前迭代器采用查询条件扫描当前缓存数据块。4.根据权利要求1所述的方法,所述目标数据块为微块,属于某一个宏块;所述由当前迭代器确定本次扫描的目标数据块,包括:由当前迭代器确定本次扫描的目标宏块及其内部的目标微块;所述当本次扫描的目标数据块与当前缓存数据块是同一个数据块时,保留当前缓存数据块;否则读取本次扫描的目标数据块到缓存中生成新的当前缓存数据块,包括:当本次扫描的目标微块与上一次扫描的目标微块是同一个微块时,保留当前缓存数据块;当本次扫描的目标微块与上一次扫描的目标微块不是同一个微块并且均属于同一个宏块时,基于当前宏块定位本次扫描的目标微块,读取本次扫描的目标微块到缓存中生成新的当前缓存数据块;当本次扫描的目标微块与上一次扫描的目标微块不是同一个微块并且不属于同一个宏块时,按照本次扫描的目标微块所属的宏块更新当前宏块,基于更新后的当前宏块定位本次扫描的目标微块,读取目标微块到缓存中生成新的当前缓存数据块。5.根据权利要求1所述的方法,所述当前迭代器包括解码器;所述由当前迭代器根据查询条件扫描当前缓存数据块,包括:当本次扫描的目标数据块与上一次扫描的目标数据块是同一个数据块时,由解码器根据查询条件对当前缓存数据块进行解码和扫描;当本次扫描的目标数据块与上一次扫描的目标数据块不是同一个数据块时,根据本次扫描的目标数据块初始化解码器,由完成初始化后的解码器对当前缓存数据块进行解码和扫描。6.根据权利要求1所述的方法,所述查询包括:嵌套连接NestloopJoin、二级索引回表、或跨分区查询。7.一种LSM‑Tree架构数据库有序表的查询装置,所述查询包括根据查询条件依次扫描一张到多张有序表,所述装置中用于对某一张有序表进行扫描的部分包括:当前有序表单元,用于将所述某一张有序表作为当前有序表;当前迭代器单元,用于在当前迭代器匹配于当前有序表的类型时,保留当前迭代器;否2CN114969034A权利要求书2/2页则获取与当前有序表匹配类型的迭代器作为当前迭代器;目标数据块单元,用于由当前迭代器确定本次扫描的目标数据块;当前缓存数据块单元,用于当本次扫描的目标数据块与当前缓存数据块是同一个数据块时,保留当前缓存数据块;否则读取本次扫描的目标数据块到缓存中生成新的当前缓存数据块;扫描执行单元,用于由当