全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210562160.X (22)申请日 2022.05.23 (71)申请人 河北工业大 学 地址 300130 天津市红桥区丁字沽光 荣道8 号河北工业大 学东院330# (72)发明人 杨亮 吴昊泽 康丽娜 陈磊  许晓笛 牛炳鑫  (74)专利代理 机构 天津翰林知识产权代理事务 所(普通合伙) 12210 专利代理师 付长杰 (51)Int.Cl. G06F 16/22(2019.01) G06F 16/23(2019.01) G06N 3/04(2006.01) G06N 3/08(2006.01) (54)发明名称 一种数据库动态索引的构建方法 (57)摘要 本发明为一种数据库动态索引的构建方法, 该构建方法包括以下内容: 获取数据库, 所述数 据库内存储有大量的元组, 每一个元组中存储形 式相同; 制作全局数据集, 从数据库中的数据信 息中挑选所需属性, 按照所需属性进行映射, 找 到映射中每条行记录所在的数据块, 以键值和数 据所在的数据块的块号组成键值对, 以数据库中 挑选出的所有键值对作为全局数据集; 构建动态 学习索引模 型。 该方法充分利用多种模 型对多种 数据结构的包容性, 根据各个结点的数据分布使 用最适合的索引模型, 并且利用OLAP数据库的定 期更新特性, 对本动态学习索引模 型进行自适用 性更新。 权利要求书3页 说明书8页 附图4页 CN 114996267 A 2022.09.02 CN 114996267 A 1.一种数据库动态索引的构建方法, 该构建方法包括以下内容: 步骤1.构建全局数据集 获取数据库, 所述数据库内存 储有大量的元组, 每一个元组中存 储形式相同; 制作全局数据集, 从数据库中的数据信 息中挑选所需属性, 按照所需属性进行映射, 找 到映射中每条行记录所在的数据块, 以键值和数据所在的数据块的块号组成键值对, 以数 据库中挑选出的所有键值对作为全局数据集; 步骤2.构建动态学习索引模型 首先对于全局数据集进行B+树的回归树训练, 记录训练出来的B+树索引, 用于数据更 新, 同时根据B+树索引确定将整个全局数据集在B+树的层数和各层的结点数, 按照层数和 相应的结点的对 全局数据集进行分割, 获得每 个结点对应的结点数据集; 设置误差阙值, 之后从第 一层开始对每层各个结点进行除B+树以外的多种结点模型的 训练, 结点数据集对除B+树以外的多种结点模 型多线程同时进 行训练, 对于每个结点, 都拥 有了多种不同结点模型训练出 的结果, 获得每个结点模型 的误差率, 挑选出误差率最小的 结点模型和误差阙值比较, 若小于误差阙值则选择所挑选出的误差率最小的结点模型为当 前结点的结点模型, 否则当前结点的结点模型选择B+树; 确定当前结点的结点模型的类型 后, 对结点进 行模型标识, 即记录这个结点使用什么结点模 型; 所述除B+树以外的多种结点 模型至少包括神经网络模型和线性回归 模型; 当前层的结点都确定了结点模型的类型后, 选择当前层的key值要进入的下一层的结 点再进行下一层结点模型的训练, 以此类推, 获得获得了动态学习索引模型, 动态学习索引 模型中的结点 为动态索引结点, 至此完成了数据库动态索引的构建。 2.一种基于OLAP数据库动态索引的构建方法, 该构建方法包括以下内容: 步骤1.构建全局数据集 获取OLAP数据库, 所述OLAP数据库内存 储有大量的元组, 每一个元组中存 储形式相同; 制作全局数据集, 从OLAP数据库中的数据信息中挑选所需属性, 按照所需属性进行映 射, 找到映射中每条行记录所在的数据块, 以键值和数据所在的数据块的块号组成键值对, 以数据库中挑选出的所有键值对作为全局数据集; 步骤2.构建动态学习索引模型 首先对于全局数据集进行B+树的回归树训练, 记录训练出来的B+树索引, 用于数据更 新, 同时根据B+树索引确定将整个全局数据集在B+树的层数和各层的结点数, 按照层数和 相应的结点的对 全局数据集进行分割, 获得每 个结点对应的结点数据集; 设置误差阙值, 之后从第 一层开始对每层各个结点进行除B+树以外的多种结点模型的 训练, 结点数据集对除B+树以外的多种结点模 型多线程同时进 行训练, 对于每个结点, 都拥 有了多种不同结点模型训练出 的结果, 获得每个结点模型 的误差率, 挑选出误差率最小的 结点模型和误差阙值比较, 若小于误差阙值则选择所挑选出的误差率最小的结点模型为当 前结点的结点模型, 否则当前结点的结点模型选择B+树; 确定当前结点的结点模型的类型 后, 对结点进 行模型标识, 即记录这个结点使用什么结点模 型; 所述除B+树以外的多种结点 模型至少包括神经网络模型和线性回归 模型; 当前层的结点都确定了结点模型的类型后, 选择当前层的key值要进入的下一层的结 点再进行下一层结点模型的训练, 以此类推, 获得获得了动态学习索引模型, 动态学习索引权 利 要 求 书 1/3 页 2 CN 114996267 A 2模型中的结点 为动态索引结点, 至此完成了OLAP数据库动态索引的构建。 3.根据权利要求2所述的基于OLAP数据库动态索引的构建方法, 其特征在于, 确认动态 学习索引模型的输入为全局数据集和误差阙值, 输出为动态索引, 定义一个临时数据二维数组temp_data[ ][ ], 用来存放训练中的数据, 这个二维数组 的两个维度分别代表第几层、 第几个结点, 将整个全局数据集赋值为temp_data[1][1], 这 是第一个模型[1.1], 也 就是根结点的结点数据集; 之后根据全局数据集进行B+树索引的构建并存储, 记录B+树结点, 同时也作为全局数 据集中数据分布的记录, 确定层数和结点数、 及每层每 个结点的结点数据集, 共有S层; 从第1层到第S层, 从每层的第1结点到最后一个结点进行循环, 循环的内容 为: 利用本结点的结点数据集temp_data[i][j]对神经网络模型和线性回归模型进行训 练; 获得神经网络模型和线性回归模型各自的误差, 并比较, 将最小的误差值存储到err 中, 误差计算使用的是均方差; 将误差值err和设定的误差阙值进行比较, 如果神经网络模型和线性回归模型中误差 最小的结点模型结点仍然表现不好, 则使用B+树结点, 将之前训练的B+树结点进行拷贝标 记。 将当前层当前结点的结点数据集中训练过的数据会根据当前结点模型进行子节点选 择, 选择后的数据用来训练下一层中各个子节点的结点模型; 循环结束后动态学习索引模型训练完毕, 输出动态索引trained  index, 动态索引的结 点上均标注有该 结点所最终选择的结点模型的类型。 4.根据权利 要求2所述的基于OLAP数据库动态索引的构 建方法, 其特征在于, OLAP数据 库用于银行卡管理系统, 银行的银行卡管理系统中的银行卡数据为<ID,银行卡号, 持卡人 姓名, 持卡人电话, 持卡人住址, 信用等级, 更新时间, 所属数据块号>, 从中取出所需研究 的 属性, 将该属 性与数据块的块号建立映射关系, 以键值和数据所在的数据块的块号组成键 值对, 以数据库中挑选出的所有键值对作为全局数据集。 5.一种基于OLAP数据库的动态索引自适应更新方法, 其特征在于, 采用权利要求2所述 的构建方法获得OLAP数据库动态索引, 利用OLAP数据库的更新机制 进行模型维护和更新, 全局数据集中的数据在磁盘块上的分布为间隔数 组, 即每一个数据的前一位和后一位都为 空位; 那么数据盘上可容纳新数据的位置的数量和全局数据集中数据的数量相同, 这个数 量在此被称为阙值, 即可容纳新数据的最高限; 如果新数据的数量超过这个阙值则需要数 据重分布, 重分布后的数据块依旧恢复 间隔数组的形式, 此时动态索引则需要 进行重训练; 通过数据的时间标签判断出数据块中的新数据, OLAP数据库动态索引中每个结点拥有 结点模型标签, 通过这些新数据对底层的结点模型进行重训练, 然后再对上一层的结点模 型进行重训练, 以此类 推, 实现动态索引的自适应更新。 6.根据权利要求5所述的基于OLAP数据库的动态索引自适应更新方法, 其特征在于, 具 体动态索引自适应更新方法的过程是: 1)新数据的key值进入动态学习索引模型计算出新数据应在的数据块的位置; 2)查询步骤1)所计算出的新数据应在的数据块的位置是否有可用位置, 如果有则在数 据块中进行查找, 由于数据块中数据有序, 用二分法进行查找, 找到新数据应插入的位置;权 利 要 求 书 2/3 页 3 CN 114996267 A 3

PDF文档 专利 一种数据库动态索引的构建方法

文档预览
中文文档 16 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种数据库动态索引的构建方法 第 1 页 专利 一种数据库动态索引的构建方法 第 2 页 专利 一种数据库动态索引的构建方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 00:49:44上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。