全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210256258.2 (22)申请日 2022.03.16 (71)申请人 胡劲松 地址 100020 北京市朝阳区外企服 务公司 朝阳门南大街14 号 (72)发明人 胡劲松  (74)专利代理 机构 北京知企鸿蒙专利代理事务 所(普通合伙) 11692 专利代理师 刘帅帅 (51)Int.Cl. G06F 16/28(2019.01) G06F 16/2455(2019.01) G06F 16/242(2019.01) G06F 16/23(2019.01) G06F 16/22(2019.01) (54)发明名称 一种基于云对象存储的高性能多维数据仓 库的实现方法 (57)摘要 本发明公开了一种基于云对象存储的高性 能多维数据仓库的实现方法, 包括由多个云虚拟 机服务器组成的数据虚拟机服务器集群; 其中, 数据虚拟机服务器集群的个体数理论上没有上 限, 每个数据仓库服务器节点会被赋予一个整数 唯一号, 从0开始自增, 且每个虚拟机服务器都能 够给数据仓库客户端提供服务, 在每个数据仓库 服务器启动完成后, 服务器唯一号最小的节点会 被集群推选为领导节点。 本发明中实现维表中维 度父子层状关系和结构化数据混合存储, 以及父 子关系的快速提取, 解决了多个维表和事实表的 联合查询性能问题, 通过 维表和事实表全部存储 于云对象存储中, 极大提高多维数据仓库的可扩 展性和性能。 权利要求书2页 说明书7页 附图15页 CN 114791935 A 2022.07.26 CN 114791935 A 1.一种基于云对象存储的高性能多维数据仓库的实现方法, 其特征在于: 包括由多个 云虚拟机服 务器组成的数据虚拟机服 务器集群, 其具体操作流 程为: 步骤一: 当客户端建立维表时, 可以用通常的建表SQL语句来进行, 但需要加上 DIMENSION关键 字, 这是对SQ L语法的一个扩充; 步骤二: 在各个数据仓库虚拟机节点在内存中为维表建立一个基于列存储的内存空 间, 且是由多个Co lum数组和PARENTS/ CHILDREN数组 组成; 步骤三: 数据仓库客户端可以插入关系到维表中, 比如, 插入父子关系到PRODUCT维表 中。 2.根据权利要求1所述的一种基于云对象存储的高性能多维数据仓库的实现方法, 其 特征在于: 所述数据虚拟机服务器集群的个体数理论上没有上限, 每个数据仓库服务器节 点会被赋予一个整 数唯一号, 从0开始自增, 且每个虚拟 机服务器都能够给数据仓库客户端 提供服务, 在每个数据仓库服务器启动完成后, 服务器唯一号最小的节点会被集群推选为 领导节点。 3.根据权利要求1所述的一种基于云对象存储的高性能多维数据仓库的实现方法, 其 特征在于: 所述 步骤一中的建表SQ L语句如下 所示: CREATEDIMENSIONTABLEPRODUCT(PRODUCT_IDVARCHAR(32)PRIMARYKEY, COMMENTVARCHAR(255)); 且当数据仓库客户端连上某个服务器节点执行上述命令 时, 这个 SQL语句会被广播到其他服务器节点, 执行完后, 每个服务器节点里都会生成这个维表, 只 有领导数据库节点把 维表的表结构存储到 云对象存储中, 由于对维表的数据更新操作会在 广播到所有的数据仓库节点, 每 个节点的维表都是完整的。 4.根据权利要求1所述的一种基于云对象存储的高性能多维数据仓库的实现方法, 其 特征在于: 所述步骤二中的Colum数组是用来存储维表列数据, PARENTS是用来存储维表记 录的父记录的数组位置, CHILDREN是用来存储维表记录的子记录的数组位置; 当数据插入 维表时, 按列把记录分开存储到各个Colum数 组中, 一开始, PARENTS和CHILDREN数 组没有数 据, 假设产品维表由P RODUCT_ID和PRODUCT_NAME组成, 当插入记录( “全部产品 ”, null)后, PRODUCT_ID列数组的第一个值是 “全部产品 ”, PRODUCT_CAT列数组第一个值 “null”, PARENTS关系数组的第一个值是null, 表明 “全部产品 ”没有父维度, CHILDREN关系数 组的第 一个值是null, 表 明“全部产品 ”没有子维度, 而哈希表 中存储了从 “全部产品 ”到0的映射, 这表明“全部产品 ”是存储在数组的第一个位置, 当系统根据PRODUCT_ID读取记录时, 可以 利用哈希 表找到记录在数组中的位置; 当用户插入另一个记录( “服装”,“手工类”)后, 各个数据库节点中维表发生改变, PRODUCT_ID列 数组的第 二个值是“服装”, PRODUCT_CAT列 数组第二个值 “手工类”, PARENTS 关系数组的第二个值是null, 表明 “服装”目前没有父维度, CHILDREN关系数组的第二个值 是null, 表 明“服装”目前没有子维度, 哈希表 中存储了从 “服装”到1映射, 这表 明“服装”是 存储在数组的第二个位置 。 5.根据权利要求1所述的一种基于云对象存储的高性能多维数据仓库的实现方法, 其 特征在于: 所述 步骤三中还 包括有如下的具体阐 述: 首先, 系统从哈希表中找到 “全部产品 ”的位置值0和 “服装”的位置值1, 然后把 “服装” 的位置值 1更新到记录 “全部产品 ”的CHILDREN关系 列中, 同时把 “全部产品 ”的位置值0更新权 利 要 求 书 1/2 页 2 CN 114791935 A 2到记录“服装”的PARENTS关系列中, 各个数据库节 点中维表的内存表状态又发生改变, 系统 可以得到, 记录 “全部产品 ”是“服装”的父亲, 反之“服装”是“全部产品 ”的孩子; 当用户插入记录( “玩具”,“机械类”)后, 各个数据库节点中维表的内存表状态发生更 改, 再插入父子关系(全部产品, 玩具)到PRODUCT维表 中, 首先, 系统从哈希表 中找到“全部 产品”的位置值0和 “玩具”的位置值2, 然后把 “玩具”的位置值2更新到记录 “全部产品 ”的 CHILDREN关系列中, 同时把 “全部产品 ”的位置值0更新记录 “服装”的PARENTS关系列中, 各 个数据库节点中维表的内存表状态发生改变; 假设系统需要在维表中删除记录 “服装”, 首先系统根据键值 “服装”从哈希表中找到 “服装”的位置值 1, 然后在数 组中位置值为1的各个列值删除, 同时从 “服装”父亲记录“全部 产品”的CHILDREN的CHILDREN关系列值中把1删除掉, 然后把位置值1放入到数组位置 回收 池中, 剩下的记录在各个数组中的位置保持不变。权 利 要 求 书 2/2 页 3 CN 114791935 A 3

PDF文档 专利 一种基于云对象存储的高性能多维数据仓库的实现方法

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