[发明专利]数据处理方法、电子设备及存储介质在审
申请号: | 202210626163.5 | 申请日: | 2022-06-02 |
公开(公告)号: | CN115168338A | 公开(公告)日: | 2022-10-11 |
发明(设计)人: | 马占峰;杨新军;赵建伟;李飞飞;黄贵 | 申请(专利权)人: | 阿里云计算有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/245;G06F16/2453 |
代理公司: | 北京太合九思知识产权代理有限公司 11610 | 代理人: | 蔡丽 |
地址: | 310012 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 方法 电子设备 存储 介质 | ||
1.一种数据处理方法,其特征在于,包括:
遍历目标数据库表对应的索引树,以确定所述索引树的最后一个非叶子层,所述索引树的叶子层中各个叶子节点关联磁盘中的数据页,不同数据页存储有所述目标数据库表中的不同行记录;
针对所述最后一个非叶子层上每个非叶子节点,依次从所述非叶子节点关联的索引页中读取当前索引项,并为所述当前索引项随机产生一个随机数;
若所述随机数满足随机数据采样条件,则将所述当前索引项所指向的叶子节点的目标数据页从磁盘中加载至内存中,以及读取并存储所述内存的所述目标数据页中的行记录。
2.根据权利要求1所述的方法,其特征在于,在读取并存储所述内存的所述目标数据页中的行记录之后,还包括:
将存储的行记录发送给客户端;
或者,对存储的行记录进行信息统计,将统计结果信息发送给所述客户端。
3.根据权利要求1所述的方法,其特征在于,读取并存储所述内存的所述目标数据页中的行记录,包括:
响应调用行记录采集接口触发的行记录采集事件,读取加载至所述内存的所述目标数据页中在叶子游标中最后保存的行记录后面的一条行记录,并将当前读取的行记录进行存储;
将当前读取的行记录保存至所述叶子游标中;重复上述步骤,直至所述目标数据页中全部行记录读取完毕。
4.根据权利要求3所述的方法,其特征在于,读取加载至所述内存的所述目标数据页中在叶子游标中最后保存的行记录后面的一条行记录之前,还包括:
判断所述目标数据页的日志逻辑序列号LSN是否发生变化;
若所述目标数据页的LSN未发生变化,则执行读取加载至所述内存的所述目标数据页中在叶子游标中最后保存的行记录后面的一条行记录的操作。
5.根据权利要求4所述的方法,其特征在于,还包括:
若所述目标数据页的LSN发生变化,则判断所述索引页的LSN是否发生变化;
若所述索引页的LSN未发生变化,则读取非叶子游标中最后保存的索引项;
根据所述非叶子游标中最后保存的索引项,在所述内存中重新定位所述目标数据页,并执行读取加载至所述内存的所述目标数据页中在叶子游标中最后保存的行记录后面的一条行记录的操作。
6.根据权利要求5所述的方法,其特征在于,在依次从所述非叶子节点关联的索引页中读取当前索引项之后,还包括:
将所述当前索引项保存至非叶子游标中;
在所述目标数据页中全部的行记录读取完毕后,从所述非叶子游标中获取最后保存的索引项;
在所述非叶子节点关联的索引页中搜索在所述最后保存的索引项之后的索引项,并将在所述最后保存的索引项之后的索引项作为新的当前索引项,直至完成对所述非叶子节点关联的索引页中全部索引项的处理。
7.根据权利要求5所述的方法,其特征在于,还包括:
若所述索引页的LSN发生变化,则获取所述叶子游标中最后保存的行记录对应的第一主键;
从根节点开始遍历所述索引树,直至遍历到目标叶子节点,所述目标叶子节对应的数据页中包括主键小于或等于所述第一主键的至少一条行记录;
读取加载至所述内存的所述目标叶子节点的数据页中位于所述至少一条行记录后面的下一条行记录,并将当前读取的行记录进行存储;
返回执行将当前读取的行记录保存至所述叶子游标中的步骤。
8.根据权利要求7所述的方法,其特征在于,从根节点开始遍历所述索引树,直至遍历到目标叶子节点,包括:
针对当前遍历到的除所述目标叶子节点之外的其他节点,确定所述其他节点关联的索引页中与所述第一主键匹配的索引项;遍历与第一主键匹配的索引项所指向的所述其他节点的子节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里云计算有限公司,未经阿里云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210626163.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:建筑基坑施工用安全护栏
- 下一篇:一种智能快递箱系统及防盗快递箱