《一种大数据报表预存储计算方法.pdf》由会员分享,可在线阅读,更多相关《一种大数据报表预存储计算方法.pdf(6页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104298724 A (43)申请公布日 2015.01.21 CN 104298724 A (21)申请号 201410498328.0 (22)申请日 2014.09.25 G06F 17/30(2006.01) (71)申请人 蓝盾信息安全技术有限公司 地址 510665 广东省广州市高新技术产业开 发区东明二路 5 号 A326 房 (72)发明人 杨育斌 柯宗贵 李佳 (54) 发明名称 一种大数据报表预存储计算方法 (57) 摘要 本发明公开了一种大数据报表预存储计算方 法, 该方法在于将涉及多表查询、 复合查询、 查询 条件多变、 数据量大的数据查询,。
2、 利用多终端分散 计算、 结果缓存技术, 提高报表计算速度, 大幅提 高跨表的数据查询速度, 通过缓存, 减少重复计 算 ; 通过横向扩展终端, 能够线性扩展系统性能。 (51)Int.Cl. 权利要求书 1 页 说明书 3 页 附图 1 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书3页 附图1页 (10)申请公布号 CN 104298724 A CN 104298724 A 1/1 页 2 1. 一种大数据报表预存储计算方法, 其特征在于, 该方法通过分布式与结果缓存, 将涉 及到海量数据的报表计算过程, 分散到各个子主机, 利用计算过的结果, 加快。
3、计算过程, 达 到减少中心主机负荷, 提高报表的计算速度, 具体流程如下 : s1. 主服务器生成计算任务 ; s2. 根据计算任务的查询条件, 查找缓存库中的计算结果 ; s3. 如果没有找到计算结果, 则根据查询条件、 数据库表名, 将计算任务分割为若干个 计算子任务, 分配到各个终端 ; s4. 终端接收计算任务, 首先查找是否有缓存结果, 如有则直接发送给服务器, 没有发 现缓存, 则开始独立计算结果, 计算完毕后, 发送给服务器 ; s5. 服务器接收终端发送过来的计算结果, 整合 ; s6. 服务器将计算结果保存到数据库中 ; s7. 生成报表。 2. 根据权利要求 1 所述的方法。
4、, 其特征在于, 对多表的查询、 计算, 通过分割为子任务, 实现分布式计算。 3. 根据权利要求 1 所述的方法, 其特征在于, 将子任务分配给不同的机器, 能够同时计 算不同的数据。 4. 根据权利要求 1 或 3 所述的方法, 其特征在于, 将不同的计算结果进行合并, 形成最 终结果。 5. 根据权利要求 4 所述的方法, 其特征在于, 计算结果缓存在分布式终端及服务器, 减 少重复计算。 6. 根据权利要求 1 所述的方法, 其特征在于, 通过定时计算查询频率高的数据, 预先计 算并保存, 减少在线的并发计算工作量。 权 利 要 求 书 CN 104298724 A 2 1/3 页 3。
5、 一种大数据报表预存储计算方法 技术领域 0001 本发明涉及大数据技术领域, 尤其涉及一种大数据报表预存储计算方法。 背景技术 0002 申请号为 CN200710130000.3 的发明专利申请公开了一种前置系统及一种数据集 中处理系统, 该前置系统, 连接在一服务器和多个分散的客户端之间, 所述客户端用于提供 源数据以及接收数据处理结果, 所述源数据包括A类数据和B类数据 ; 所述服务器用于处理 A 类数据并返回 A 类数据处理结果, 该前置系统包括 : 调度模块 : 用于将所述源数据中的 B 类数据发送至处理模块, 将所述数据中的 A 类数据发送至服务器, 以及, 接收处理模块返回 的。
6、B类数据处理结果和服务器返回的A类数据处理结果 ; 处理模块 : 用于对所述B类数据进 行解析处理, 以及, 向调度模块返回 B 类数据处理结果。本发明通过区分源数据的类别, 并 将不同类别的源数据分别集中在不同的模块进行处理, 从而有效地提高了数据处理效率。 0003 该技术主要面对服务器主机与各终端之间的数据交换及程序升级同步。 本发明公 开的技术, 主要利用终端分散大数据报表的计算压力, 缓存计算结果, 两种技术存在很大差 异。 发明内容 0004 本发明的目的是为了克服现有技术的缺陷, 提供一种大数据报表预存储计算方 法, 该方法通过分布式与结果缓存, 将涉及到海量数据的报表计算过程,。
7、 分散到各个子主 机, 利用计算过的结果, 加快计算过程, 达到减少中心主机负荷, 提高报表的计算速度, 具体 流程如下 : 0005 s1. 主服务器生成计算任务 ; 0006 s2. 根据计算任务的查询条件, 查找缓存库中的计算结果 ; 0007 s3. 如果没有找到计算结果, 则根据查询条件、 数据库表名, 将计算任务分割为若 干个计算子任务, 分配到各个终端 ; 0008 s4. 终端接收计算任务, 首先查找是否有缓存结果, 如有则直接发送给服务器, 没 有发现缓存, 则开始独立计算结果, 计算完毕后, 发送给服务器 ; 0009 s5. 服务器接收终端发送过来的计算结果, 整合 ; 。
8、0010 s6. 服务器将计算结果保存到数据库中 ; 0011 s7. 生成报表。 0012 在本发明中, 对多表的查询、 计算, 通过分割为子任务, 实现分布式计算。 将子任务 分配给不同的机器, 能够同时计算不同的数据。将不同的计算结果进行合并, 形成最终结 果。计算结果缓存在分布式终端及服务器, 减少重复计算。 0013 还能够通过定时计算查询频率高的数据, 预先计算并保存, 减少在线的并发计算 工作量。 0014 本发明技术方案带来的有益效果 : 说 明 书 CN 104298724 A 3 2/3 页 4 0015 本发明技术方案通过分布式计算, 能够大幅提高跨表的数据查询速度, 通。
9、过缓存, 减少重复计算。通过横向扩展终端, 可以线性扩展系统性能。 附图说明 0016 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以 根据这些附图获得其它的附图。 0017 图 1 是本发明的方法流程图。 具体实施方式 0018 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明。
10、中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。 0019 本发明的主要创新点在于将涉及多表查询、 复合查询、 查询条件多变、 数据量大的 数据查询, 利用多终端分散计算、 结果缓存技术, 提高报表计算速度。 0020 如图 1 所示为本发明的方法流程图, 具体步骤如下 : 0021 1. 主服务器生成计算任务 ; 0022 2. 根据计算任务的查询条件, 查找缓存库中的计算结果 ; 0023 3. 如果没有找到计算结果, 则根据查询条件、 数据库表名, 将计算任务分割为若干 个计算子任务, 分配到各个终端 ; 0024 4. 终端。
11、接收计算任务, 首先查找是否有缓存结果, 如有则直接发送给服务器, 没有 发现缓存, 则开始独立计算结果, 计算完毕后, 发送给服务器 ; 0025 5. 服务器接收终端发送过来的计算结果, 整合 ; 0026 6. 服务器将计算结果保存到数据库中 ; 0027 7. 生成报表。 0028 本发明通过分布式与结果缓存, 将涉及到海量数据的报表计算过程, 分散到各个 子主机, 利用计算过的结果, 加快计算过程, 达到减少中心主机负荷, 提高报表的计算速度。 0029 例如, 要查询 138xxxxxx31 号码第 3 季度支出分类详细报表, 该报表涉及到跨 24 个子表, 每种支出对应一种表, 。
12、每种表跨月分割, 合计 8x3 24. 0030 1. 首先查找服务器上是否有相同查询条件的结果 ; 0031 2. 因为有 4 台主机, 因此将任务分割为 4 个子任务 (3 个终端, 1 台服务器 ) ; 0032 3. 每个子任务计算 6 个子表的数据 ; 0033 4. 终端接收到任务后, 先查找是否有缓存结果 ; 0034 5. 终端计算结果, 缓存后上送服务器 ; 0035 6. 服务器接收子任务发送回来的计算结果, 整合出报表, 然后进行结果缓存 ; 0036 7. 对于常用的分表查询, 通过定时的预先计算, 将结果预先计算并保存, 可减少并 发的计算工作量。 说 明 书 CN 104298724 A 4 3/3 页 5 0037 以上对本发明实施例所提供的一种大数据报表预存储计算方法进行了详细介绍, 本文中应用了具体个例对本发明的原理及实施方式进行了阐述, 以上实施例的说明只是用 于帮助理解本发明的方法及其核心思想 ; 同时, 对于本领域的一般技术人员, 依据本发明的 思想, 在具体实施方式及应用范围上均会有改变之处, 综上所述, 本说明书内容不应理解为 对本发明的限制。 说 明 书 CN 104298724 A 5 1/1 页 6 图 1 说 明 书 附 图 CN 104298724 A 6 。