[发明专利]一种商业报表数据的分布式列式数据存储转换方法及系统有效

专利信息
申请号: 201911386805.3 申请日: 2019-12-29
公开(公告)号: CN111241091B 公开(公告)日: 2023-05-16
发明(设计)人: 张勇;范羊羊 申请(专利权)人: 云帐房网络科技有限公司
主分类号: G06F16/22 分类号: G06F16/22;G06F16/27
代理公司: 南京科知维创知识产权代理有限责任公司 32270 代理人: 杜依民
地址: 210000 江苏省南*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 商业 报表 数据 分布式 存储 转换 方法 系统
【权利要求书】:

1.一种商业报表数据的分布式列式数据存储转换方法,其特征在于具体步骤如下:

步骤S1:环境准备,搭建Hbase集群环境、可运行的springJS环境;

步骤S2:设计报表,在单元格中设置公式,并保存设计完成的json格式的报表模版到mysql数据库中;

步骤S3:生成报表数据,解析json报表数据,生成单元格对象,计算单元格层级关系;

步骤S4:存储报表数据,包括固定行存储和浮动行存储,设计浮动行和非浮动行rowkey,设置hbase列族名称cells,完成报表列式存储;

步骤S5:根据存储数据和报表模版数据,生成可供spreadJs展示的json数据;

步骤S2所述的在单元格中设置的公式包含系统公式和业务数据取值公式, 单元格设置的为系统公式、或业务数据公式、或,业务数据公式和系统公式的组合公式,形成可执行的公式,对于单元格之间依赖的公式使用类[A1]的方式,报表sheet页之间的引用使用{sheetName}![A1]方式;

步骤S4所述的设计浮动行和非浮动行rowkey的步骤,所述浮动行和非浮动行rowkey分别为企业ID_会计年度_会计期间_报表ID_报表版本号_浮动行标识_扩展字段、企业ID_会计年度_会计期间_报表ID__报表名称_报表版本号_报表名称_非浮动行标识_扩展字段。

2.如权利要求1所述的商业报表数据的分布式列式数据存储转换方法,其特征在于:步骤S3所述的生成单元格对象的步骤,所述对象包含sheetName,sheetId,单元格公式,单元格位置,报表ID。

3.如权利要求1所述的一种商业报表数据的分布式列式数据存储转换方法,其特征在于:步骤S3所述的计算单元格层级关系的步骤,没有被引用的单元格作为最底层单元格,只引用了最底层的单元格作为第二层单元格。

4.如权利要求1所述的商业报表数据的分布式列式数据存储转换方法,其特征在于:步骤S4所述的设置hbase列族名称cells的步骤,所述cells列族中包含单元格位置和单元格的值,生成报表数据的时间。

5. 如权利要求3所述的商业报表数据的分布式列式数据存储转换方法,其特征在于:步骤S3所述的计算单元格层级关系的步骤,多线程执行底层单元格,使用scriptEngine或者AviatorEvaluator公式引擎执行单元格中的js公式或者java公式,逐层执行单元格公式。

6.如权利要求1所述的商业报表数据的分布式列式数据存储转换方法,其特征在于:所述固定行存储包括如下步骤

a)计算公式得出数据;

b)非浮动行结果集按照每个报表sheet页的方式返回;

c)设置非浮动行rowkey,企业ID_会计年度_会计期间_报表ID_报表版本号_非浮动行标识_扩展字段;

d)每个单元格设置cells做列族,设置单元格位置信息,和单元格的值作为hbase的put对象;

e)生成数据插入的时间;

f)循环按照报表sheet页插入Hbase中,完成报表列式存储;

所述浮动行存储包括如下步骤:

a)计算公式得出数据

b)浮动行结果集按照每个报表sheet页的方式返回

c)设置浮动行rowkey,企业ID_会计年度_会计期间_报表ID_报表版本号_浮动行标识_扩展字段

d)每个单元格设置cells做列族,设置单元格位置信息和浮动行的行号组合成唯一的位置信息,单元格的值作为保存到对象

e)生成数据插入的时间

f)循环按照报表sheet页插入Hbase中,完成报表列式存储。

7.一种商业报表数据的分布式列式数据存储转换系统,包括设计报表模块、存储报表模块、解析报表模块、执行公式计算报表模块、展示报表模块;

所述设计报表模块,用于在单元格中设置公式,并保存设计完成的json格式的报表模版到mysql数据库中;所述公式包含系统公式和业务数据取值公式, 单元格设置的为系统公式、或业务数据公式、或,业务数据公式和系统公式的组合公式,形成可执行的公式,对于单元格之间依赖的公式使用类[A1]的方式,报表sheet页之间的引用使用{sheetName}![A1]方式;

所述存储报表模块用于设计浮动行和非浮动行rowkey,设置hbase列族名称cells,完成报表列式存储;所述浮动行和非浮动行rowkey分别为企业ID_会计年度_会计期间_报表ID_报表版本号_浮动行标识_扩展字段、企业ID_会计年度_会计期间_报表ID__报表名称_报表版本号_报表名称_非浮动行标识_扩展字段;

所述解析报表模块,用于生成报表数据,解析json报表数据,生成单元格对象,计算单元格层级关系;

所述执行公式计算报表模块,用于使用scriptEngine或者AviatorEvaluator公式引擎执行单元格中的js公式或者java公式,逐层执行单元格公式,第一层数据执行完成,把第二层数据中引用了第一层数据的单元格替换掉,再次多线程使用公式引擎执行公式,得到第二层级的数据,以此类推得出所有单元格数据;

所述展示报表模块,用于根据存储数据和报表模版数据,生成可供spreadJs展示的json数据。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云帐房网络科技有限公司,未经云帐房网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201911386805.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top