[发明专利]取数方法及装置有效
申请号: | 201710785633.1 | 申请日: | 2017-09-04 |
公开(公告)号: | CN110019442B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 李儒晓 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 陈霁 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 方法 装置 | ||
本发明实施例提供的取数方法及装置,通过程序定义取数逻辑、数据转换逻辑,并根据该取数逻辑、数据转换逻辑,生成标签数据生成函数;程序根据与源表关联的维表,生成维表;程序定义源表与目标表之间的映射规则,根据源表与目标表之间的映射规则,生成目标数据生成及加载函数;程序调用标签数据生成函数,生成标签数据;程序调用目标数据生成及加载函数,生成目标数据并将该目标数据加载至目标表中,实现了取数逻辑与功能程序解耦,提供了统一的取数函数及数据加载函数,当取数需求变化时,只需要修改界面配置即可实现灵活取数,提高了代码的复用程度及可维护性、减少了人工成本。
技术领域
本申请涉及数据库系统领域,尤其涉及一种取数方法及装置。
背景技术
业界数据仓库系统通常对数据抽取、转换、加载处理是通过编写定制化的程序实现的。
在取数逻辑模块和输入输出数据模块耦合在一起的情况下,很难达到对整体功能模块不做修改或做少量修改即能支持不同数据模型的需求。
现有技术通过写硬代码的方式来获取数据,每新增或者修改一个数据源都要修改抽取、转换及加载(Extract Transform and Load,ETL)程序,通过程序得到符合要求的数据。
在财务系统领域中,会计人员需要从各种各样的财务报表中提取现金数目,这些财务报表中存在各种不同类型的现金数据。如果要从这些财务报表中取数,以现金流分摊为例,现有分摊方法如图1。
图1为现有财务领域中的一种现金流的分摊处理系统框架示意图。如图1所示,该现金流分摊方法包括3次取数过程和1次分摊核算处理过程。
该分摊处理系统工作过程为:分3次抽取3部分数据源,每次取数过程均由一段单独的程序取数程序来处理,再对抽取出来的3组分摊数据经过一次程序分摊核算处理程序,最后再根据经分摊核算处理后的数据分别加载至3个分摊结果表中。
由图1可知,在该现金流分摊过程中,程序取数逻辑模块为死代码,每一种分摊的数据来源,就有一段单独的程序来处理,代码和数据紧密耦合在一起,代码复用性不高,可维护性差,系统难于扩展。
发明内容
本发明实施例提供了一种取数方法及装置,用于解决现有技术中存在的上述问题。
第一方面,提供了一种取数方法,该取数方法包括:程序定义取数逻辑及数据转换逻辑,生成标签数据生成函数;所述程序调用标签数据生成函数,生成标签数据;所述程序生成维表,其中,所述程序通过定义与源表相关联的维表,生成所述维表,其中,所述程序生成维表,用于方便所述程序从所述标签数据中取数;所述程序根据源表与目标表之间的映射规则,生成目标数据生成及加载函数;所述程序调用所述目标数据生成及加载函数,将所述标签数据映射成目标数据。
在第一方面的一种实现方式中,在所述程序调用所述目标数据生成及加载函数,将所述标签数据映射成目标数据之后,该取数方法还包括:所述程序将所述目标数据加载至所述目标表中。
第二方面,提供了一种取数装置,所述装置包括:生成模块和加载模块,其中:生成模块,用于根据取数逻辑及数据转换逻辑,生成标签数据生成函数;所述生成模块,还用于,根据与源表相关联的维表,生成所述维表;所述生成模块,还用于,根据源表与目标表之间的映射规则,生成目标数据生成及加载函数;所述生成模块,还用于,调用所述标签数据生成函数,生成标签数据;所述生成模块,还用于,调用所述目标数据生成及加载函数,将所述标签数据映射成目标数据;加载模块,用于将所述目标数据加载至目标表中。
第三方面,提供了一种取数装置,所述装置包括:处理器、存储器和收发器;其中:
所述处理器,用于根据取数逻辑及数据转换逻辑,生成标签数据生成函数;
所述处理器,还用于根据源表与目标表之间的映射规则,生成目标数据生成及加载函数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710785633.1/2.html,转载请声明来源钻瓜专利网。