[发明专利]一种多库定时执行报表数据预处理及查询方法、系统有效
申请号: | 202110685383.0 | 申请日: | 2021-06-21 |
公开(公告)号: | CN113486096B | 公开(公告)日: | 2022-07-26 |
发明(设计)人: | 杨九洲;焦琰杰;宋振博 | 申请(专利权)人: | 上海百秋新网商数字科技有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/22;G06F16/2455;G06F16/215;G06F16/28 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
地址: | 200335 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 定时 执行 报表 数据 预处理 查询 方法 系统 | ||
1.一种多库定时执行报表数据预处理及查询方法,其特征在于,沿数据流方向依次包括基础数据层、数据服务层以及数据应用层,所述方法包括步骤:
S1:所述基础数据层中设有多个MySQL数据库,各所述MySQL数据库根据不同数据源分别构建对应的报表数据模型,并对应连接数据源,用于分别采集各数据源中的原始数据;利用所述报表数据模型中的分层技术,对各原始数据进行包括清洗、降维、计算在内的预处理后,获取最终需要展示的报表数据;
所述步骤S1中,所述报表数据模型中沿数据流方向依次包括STG层、ODS层、DWD层、DWS层以及DM层,
所述STG层为业务数据层,连接数据源,经过ETL进行包括抽取、转换、装载在内的采集操作,获取数据源中的原始数据;
所述ODS层为业务隔离层,获取所述STG层中的原始数据后,对原始数据进行压缩,并根据所述ODS层中预设的分区表存放原始数据;
所述DWD层按照报表数据的展示需求,对所述ODS层中各分区表中的原始数据进行包括清洗、转换、降维在内的处理,以使各分区表中的原始数据退化至报表数据的事实表;
所述DWS层基于所述DWD层处理后的数据,根据报表数据的展示需求,利用数据处理平台对事实表中的数据进行聚合处理,将相同主题的数据汇集到同一报表数据中,获取报表数据的维度表;
所述DM层连接所述DWD层、所述DWS层,获取并存储所述DWD层以及所述DWS层中得到的报表数据;
S2:所述数据服务层中设有服务器,所述服务器与各所述MySQL数据库连接;通过所述服务器预先部署NoSQL数据库,以接口服务化方式的对外提供数据服务;所述NoSQL数据库中设有Logstash配置文件、Elasticsearch索引表以及Redis缓存,所述Logstash配置文件中链接所述基础数据层中的各所述MySQL数据库,通过多库链接接收各所述报表数据模型输出的报表数据,导入到所述Elasticsearch索引表中,以及写入Redis缓存中;
其中,所述步骤S2中,所述Logstash配置文件中,还设置对应MySQL数据库数据的索引;所述Logstash配置文件中设有定时任务执行脚本的文件路径以及定时执行的时间;
所述Logstash的config文件设置执行脚本的文件路径,在对应的文件路径中编写读取所述DM层的脚本;
所述Logstash的config文件中设置定时任务执行脚本的时间,以每天定时执行脚本,以及将查询的结果数据写入到所述Elasticsearch索引表中;
所述步骤S2中,所述数据服务层中设有数据转换器,获取报表查询时,通过所述数据转换器对报表数据进行转换,输出对应格式的报表数据;S3:将所述数据应用层链接NoSQL数据库,利用所述Logstash配置文件执行报表数据的定时发布,以及利用所述Elasticsearch索引表中对所述Redis缓存中的数据报表进行定向查询。
2.如权利要求1所述的多库定时执行报表数据预处理及查询方法,其特征在于,所述步骤S3中,所述数据应用层中输出的报表数据形式包括但不局限于折线图、柱状图、饼图、表格和地图。
3.如权利要求1所述的多库定时执行报表数据预处理及查询方法,其特征在于,所述数据服务层中还构建有执行查询的客户端对象,以此限定查询报表数据的客户端对象。
4.一种多库定时执行报表数据预处理及查询系统,采用权利要求1-3任意一项所述的多库定时执行报表数据预处理及查询方法,包括:客户端、文件服务器、Web服务器以及多个MySQL数据库;
所述MySQL数据库配置为根据不同数据源分别构建报表数据模型,并对应连接数据源,用于分别采集各数据源中的原始数据;利用所述报表数据模型中的分层技术,对各原始数据进行包括清洗、降维、计算在内的预处理后,获取最终需要展示的报表数据;
所述报表数据模型中沿数据流方向依次包括STG层、ODS层、DWD层、DWS层以及DM层,
所述STG层为业务数据层,连接数据源,经过ETL进行包括抽取、转换、装载在内的采集操作,获取数据源中的原始数据;
所述ODS层为业务隔离层,获取所述STG层中的原始数据后,对原始数据进行压缩,并根据所述ODS层中预设的分区表存放原始数据;
所述DWD层按照报表数据的展示需求,对所述ODS层中各分区表中的原始数据进行包括清洗、转换、降维在内的处理,以使各分区表中的原始数据退化至报表数据的事实表;
所述DWS层基于所述DWD层处理后的数据,根据报表数据的展示需求,利用数据处理平台对事实表中的数据进行聚合处理,将相同主题的数据汇集到同一报表数据中,获取报表数据的维度表;
所述DM层连接所述DWD层、所述DWS层,获取并存储所述DWD层以及所述DWS层中得到的报表数据;
所述文件服务器与各所述MySQL数据库连接,配置为预先部署NoSQL数据库,以接口服务化方式的对外提供数据服务;所述NoSQL数据库中设有Logstash配置文件、Elasticsearch索引表以及Redis缓存,所述Logstash配置文件中链接所述基础数据层中的各所述MySQL数据库,通过多库链接接收各所述报表数据模型输出的报表数据,导入到所述Elasticsearch索引表中,以及写入Redis缓存中;
其中,所述步骤S2中,所述Logstash配置文件中,还设置对应MySQL数据库数据的索引;所述Logstash配置文件中设有定时任务执行脚本的文件路径以及定时执行的时间;
所述Logstash的config文件设置执行脚本的文件路径,在对应的文件路径中编写读取所述DM层的脚本;
所述Llogstash的config文件中设置定时任务执行脚本的时间,以每天定时执行脚本,以及将查询的结果数据写入到所述Eelasticsearch索引表中;
所述步骤S2中,所述数据服务层中设有数据转换器,获取报表查询时,通过所述数据转换器对报表数据进行转换,输出对应格式的报表数据;
所述Web服务器配置为链接NoSQL数据库,利用所述Logstash配置文件执行报表数据的定时发布,以及利用所述Elasticsearch索引表中对所述Redis缓存中的数据报表进行定向查询;
所述客户端与所述Web服务器通信连接,定时接收各数据源的报表数据以及访问所述Web服务器,对报表数据进行定向查询。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海百秋新网商数字科技有限公司,未经上海百秋新网商数字科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110685383.0/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置