金融行业标准网
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210890267.7 (22)申请日 2022.07.27 (71)申请人 浪潮云信息技 术股份公司 地址 250100 山东省济南市高新区浪潮路 1036号浪潮科技园S01号楼 (72)发明人 李重阳 孙思清  (74)专利代理 机构 济南信达专利事务所有限公 司 37100 专利代理师 姜明 (51)Int.Cl. G06F 16/25(2019.01) G06K 9/62(2022.01) (54)发明名称 基于k-mean s优化算法提高Kettle转换效率 的方法 (57)摘要 本发明公开了基于k ‑means优化算法提高 Kettle转换效率的方法, 所述方法通过对Kettle 转换步骤的执行时间进行预处理, 使用最大最小 归一化算法进行数据的标准化, 得到一组经过标 准化的数据; 通过k ‑means的优 化算法进行分 组, 生成分组数量, 采用非随机方式选择质 心。 本发 明动态地记 录了Kettle转换步骤的时间, 使用一 种改良过的k ‑means算法对步骤进行分组, 自动 进行参数的管理和线 程的扩展, 提高了Kettle的 转换效率, 减少了人工调参的时间。 相比较不使 用该方法, 转换效率 提高了20%。 权利要求书2页 说明书5页 附图1页 CN 115292397 A 2022.11.04 CN 115292397 A 1.基于k‑means优化算法提高Kettle转换效率的方法, 其特征在于, 所述方法通过对 Kettle转换步骤的执行时间进行预处理, 使用最大最小归一化算法进行数据的标准化, 得 到一组经 过标准化的数据; 通过k‑means的优化 算法进行分组, 生成分组数量, 采用非随机方式选择质心; 其中, 最大最小归一 化算法的公式为: 最终数据=(原 始数据‑最小数据)/(最大 数据‑最小数据)。 2.根据权利 要求1所述的基于k ‑means优化算法提 高Kettle转换效率的方法, 其特征在 于, 所述分组数量的确定过程如下: 在样本里所在的区域中按照均匀分布随机产生和 原始样本数一样多的随机样本, 并对 这个随机样本做K ‑Means处理, 从而得到一个Dk 重复上述 步骤n次, 得到n个l og Dk; 对这n个数值求平均值, 得到 E(log Dk)的近似值; 使用Gap statistic方法, 计算公式公式如下: Gap(K)=E(l og Dk)‑log Dk 其中Dk为损失函数, E(l og Dk)是kogDk的期望; Gap statistic取 得最大值所对应的K就是最佳的分组数量K。 3.根据权利 要求2所述的基于k ‑means优化算法提 高Kettle转换效率的方法, 其特征在 于, 所述质心的选择 过程如下: 1)先从所有的数据点 集合中随机 选择一个点作为第一个分组的质心; 2)对于数据集中的每一个点x, 计算它与最近聚类中心的距离D(x); 3)选择一个新的数据点作为新的聚类中心, 选择的原则是: D(x)较大的点, 被选取作 为 聚类中心的概 率较大; 4)重复2)和3), 直到k个聚类中心被选出来; 5)利用这 k个初始的聚类中心来 运行标准的k‑means算法。 4.根据权利 要求3所述的基于k ‑means优化算法提 高Kettle转换效率的方法, 其特征在 于, 所述距离D(x)的计算过程如下: 1)先从数据库中随机挑个随机点当 “种子点”; 2)对于每个点, 都计算其和最近的一个 “种子点”的距离D(x)并保存在一个数组里, 然 后把这些距离加起 来得到Sum(D(x) ); 3)取一个随机值, 用权 重的方式来取计算下一个 “种子点”, 具体算法如下: 先取一个能落在Sum(D(x))中 的随机值Random, 然后用Random ‑=D(x), 直到其<=0, 此 时的点就是下一个“种子点”。 5.根据权利 要求4所述的基于k ‑means优化算法提 高Kettle转换效率的方法, 其特征在 于, 所述方法的实现过程还 包括: 在分组数量生成, 质心的非 随机选择后, 将距离各质心较近的点划分至各分组, 完成分 组; 分组结束后可直观的看到各个分组的执 行时间范围和每组中的步骤数。 6.根据权利 要求5所述的基于k ‑means优化算法提 高Kettle转换效率的方法, 其特征在 于, 所述方法的实现过程还 包括:权 利 要 求 书 1/2 页 2 CN 115292397 A 2通过预设每个分组对应的不同线程数, 然后通过调用StepMeta类的setCopiesString 方法设置复制数量, 从而增 加分组中各步骤的线程数; 通过调用TransMeta类的addP arameterDefinition方法添加命名参数, 实现动态收集 各个步骤的执行时间, 并基于收集到的信息自动分组, 设置合适的参数和线程数, 以此提高 Kettle的转换效率。 7.根据权利 要求6所述的基于k ‑means优化算法提 高Kettle转换效率的方法, 其特征在 于, 所述方法的实现过程还 包括: 对于某个步骤的步骤度量较其他步骤长很多的步骤度量, 将这种长步骤拆分成多个短 步骤, 变相的增 加并发, 加快 Kettle的转换效率。 8.根据权利要求1 ‑7任一所述的基于k ‑means优化算法提高Kettle转换效率的方法, 其 特征在于, 所述方法的实现过程还包括: 修改Kettle参数, 通过调整JVM的大小进行性能优 化, 其中, JVM参数包括: JVM最大可用内存, JVM年轻代大小, 每 个线程的堆栈大小; 将Kettle自身批处 理的commit size修改至10 000左右。 9.根据权利 要求8所述的基于k ‑means优化算法提 高Kettle转换效率的方法, 其特征在 于, 所述方法使用merge语句对源表和本地表进 行对比, 对本地表中存在但是不匹配的数据 更新, 对本地表中不存在的数据进行新增, 从而完成增量的更新。 10.根据权利要求9所述的基于k ‑means优化算法提高Kettle转换效率的方法, 其特征 在于, 所述方法通过增加 一个线程对抽取转换 的步骤进行监控, 监控线程可依据这些步骤 的线程名称在K ettle的log日志中获取到步骤度量, 实现过程如下: 1)清除各个步骤的参数设置; 2)进行一次正常的数据抽取转换, 监控线程通过getSteps()获取转换的全部步骤名 称; 3)通过getName()获取转换名称; 4)得到步骤名称和转换名称后, 即可获取每 个步骤对应的线程名称。权 利 要 求 书 2/2 页 3 CN 115292397 A 3

PDF文档 专利 基于k-means优化算法提高Kettle转换效率的方法

文档预览
中文文档 9 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于k-means优化算法提高Kettle转换效率的方法 第 1 页 专利 基于k-means优化算法提高Kettle转换效率的方法 第 2 页 专利 基于k-means优化算法提高Kettle转换效率的方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 01:01:56上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。