[发明专利]一种商业报表数据的分布式列式数据存储转换方法及系统有效
申请号: | 201911386805.3 | 申请日: | 2019-12-29 |
公开(公告)号: | CN111241091B | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 张勇;范羊羊 | 申请(专利权)人: | 云帐房网络科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27 |
代理公司: | 南京科知维创知识产权代理有限责任公司 32270 | 代理人: | 杜依民 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 商业 报表 数据 分布式 存储 转换 方法 系统 | ||
本发明提供一种商业报表数据的分布式列式数据存储转换方法及系统,实现报表数据的分布式列式存储,通过spreadJS对报表数据的设计,并且借助scriptEngine和AviatorEvaluator实现数据的计算,使用hbase分布式存储特性完成对报表数据的转换存储,使用这种方式存储相对于传统的关系型数据库存储。方便了数据的维护,查询统计,增加数据安全性,能够给企业数据加工、挖掘提供良好的基础。还解决了数据库容量的问题,不用存储整张报表的单元格数据,只需要存储需要的单元格数据,减少报表存储数据量。
技术领域
本发明涉及大型报表业务系统数据存储技术领域,尤其涉及一种商业报表数据的分布式列式数据存储转换方法及系统。
背景技术
随着业务系统的市场推进,报表数据呈指数级增长,mysql存储报表数据对于整体硬件设备的,系统运维能力,存储设备的要求较高,使得系统技术风险,数据安全性,系统风险增加。
数据存放在一张数据库表中,对于数据的维护和查询统计,变的非常复杂,效率低下;对于数据的二次加工,数据的逻辑处理变得异常困难,不能利用现有大数据量进行挖掘产生附加价值。
基于上述的问题,对于报表存储系统提出了下述的要求,能够根据企业ID、会计年度、会计期间、报表ID、报表版本号组成的rowkey,以每个报表单元格为列族的属性,进行对整个报表数据的hbase存储,增加数据的维护性,提高数据利用价值。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种商业报表数据的分布式列式数据存储转换方法及系统。
为实现上述目的,本发明采用了如下技术方案:
一种商业报表数据的分布式列式数据存储转换方法,其具体步骤如下:
(1)环境准备:搭建Hbase集群环境、可运行的springJS环境;
(2)设计报表:在单元格中设置已经开发好的公式,公式包含系统公式和业务数据取值公式,单元格设置的可以是系统公式、业务数据公式、业务数据公式和系统公式的组合公式,形成可执行的公式,对于单元格之间依赖的公式使用类[A1]的方式,报表sheet页之间的引用使用{sheetName}![A1]方式,保存设计完成的json格式的报表模版到mysql数据库中;
(3)生成报表数据:解析上述json报表数据,生成单元格对象,对象包含sheetName,sheetId,单元格公式,单元格位置,报表ID,计算单元格层级关系,没有被引用的单元格作为最底层单元格,只引用了最底层的单元格作为第二层单元格,以此类推,最终得到完整的层级关系;
多线程执行底层单元格,使用scriptEngine或者AviatorEvaluator公式引擎执行单元格中的js公式或者java公式,逐层执行单元格公式,第一层数据执行完成,把第二层数据中引用了第一层数据的单元格替换掉,再次多线程使用公式引擎执行公式,得到第二层级的数据,以此类推得出所有单元格数据;
(4)存储报表数据,包括固定行存储和浮动行存储。
固定行存储步骤:
a)、计算公式得出数据;
b)、非浮动行结果集按照每个报表sheet页的方式返回;
c)、设置非浮动行rowkey,企业ID_会计年度_会计期间_报表ID_报表版本号_非浮动行标识_扩展字段;
d)、每个单元格设置cells做列族,设置单元格位置信息,和单元格的值作为hbase的put对象;
e)、生成数据插入的时间;
f)、循环按照报表sheet页插入Hbase中,完成报表列式存储
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云帐房网络科技有限公司,未经云帐房网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911386805.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能抄表装置
- 下一篇:级联式人脸图像优选方法、系统、设备及可读存储介质
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置