CN111209502A - 一种处理大数据量网络报表的方法 - Google Patents
一种处理大数据量网络报表的方法 Download PDFInfo
- Publication number
- CN111209502A CN111209502A CN202010004753.5A CN202010004753A CN111209502A CN 111209502 A CN111209502 A CN 111209502A CN 202010004753 A CN202010004753 A CN 202010004753A CN 111209502 A CN111209502 A CN 111209502A
- Authority
- CN
- China
- Prior art keywords
- data
- report
- cache
- caching
- timestamp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000004048 modification Effects 0.000 claims abstract description 7
- 238000012986 modification Methods 0.000 claims abstract description 7
- 230000003247 decreasing effect Effects 0.000 claims abstract description 4
- 238000001914 filtration Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种处理大数据量网络报表的方法,属于报表系统技术领域。本发明的处理大数据量网络报表的方法包括分页展示、报表数据缓存和报表增量保存,分页展示时网络报表中数据行格式相同,且填报随时增减行数的区域为变动区;报表数据缓存分为前端缓存和后端本地缓存,前端缓存存储在浏览器内存中,后端本地缓存以字典结构存储在本地内存;报表增量保存过程中,若发生影响到数据的修改,则将发生的变更提交至后端本地缓存,同时后端本地缓存进行数据更新。该发明的处理大数据量网络报表的方法可避免浏览器同时加载过多数据造成卡顿及浏览器一次提交过多数据造成卡顿的问题,具有很好的推广应用价值。
Description
技术领域
本发明涉及报表系统技术领域,具体提供一种处理大数据量网络报表的方法。
背景技术
WEB报表指无需安装客户端,直接可在浏览器打开进行查看填报的报表,方便随时随地的填报数据以及共享数据,查询数据。WEB报表需要数据一致性和负载均衡。其中数据一致性,由于对WEB报表性能的要求,需要对报表数据做前端以及后端的缓存,有可能导致缓存中的数据与数据库中的数据不一致的情况,必须通过某种手段能够保证数据的一致性。负载均衡,大型的报表系统的应用服务通常部署在多个应用服务器上以便在集中填报时将前端请求分发到不同服务器以减少单个服务器压力过大造成运行缓慢,提高总体性能。负载均衡会产生不同的本地缓存,为数据一致性的保持带来困难。
大数据量填报,浏览器与传统单机客户端相比其性能有限,当展示大量数据,提交保存大量数据时会产生卡顿甚至卡死,有待进一步的改进。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种可避免浏览器同时加载过多数据造成卡顿及浏览器一次提交过多数据造成卡顿,从而解决浏览器的网络报表的大数据量展示编辑问题的处理大数据量网络报表的方法。
为实现上述目的,本发明提供了如下技术方案:
一种处理大数据量网络报表的方法,包括分页展示、报表数据缓存和报表增量保存,分页展示时网络报表中数据行格式相同,且填报随时增减行数的区域为变动区;报表数据缓存分为前端缓存和后端本地缓存,前端缓存存储在浏览器内存中,后端本地缓存以字典结构存储在本地内存;报表增量保存过程中,若发生影响到数据的修改,则将发生的变更提交至后端本地缓存,同时后端本地缓存进行数据更新。
作为优选,分页展示过程中变动区设定展示的最大行数即单页展示行数,总行数超过变动区可展示最大行数则超过部分不显示,并根据单页展示行数计算出总页数。
作为优选,页面展示过程中点击翻页包括两种模式:模式一为当前页数据清除,展示下页数据;模式二为当前页数据保留,将下页数据插入到当前页数据之后。
作为优选,分页展示时采用排序码比较规则,依据排序码排序,排序码为不定长的字符串,比较规则为从左至右依次比较,若能比较出大小则直接返回比较结果,若相等则寻找下一位进行比较,若下一位不存在则较短的字符串更小。
作为优选,页面展示时采用排序码编码算法,报表行依据排序码排序,排序码类型为字符串类型,首次插入行时为12位字符串,每增加一行数据加1。若在两行之间插入N行,N行的排序码编码算法如下:设前行码为A后行码为B,以10为底计算logN得到x,若A与B位数相同,则需要扩位,扩位的规则为N行中的首行编码为A_{0,x-1}1其中{0,x}表示有x-1个0,其余行在首行码基础上依次增加,完整表达式为A_{0,x-1-[log(i)]}i,其中i表示N行中的第i行,[log(i)]以10为底取下整。若A与B位数不同,则在B字符串中查找最后一个“_”的位置,将该位置之后的字符全部替换为0记为b_0,插入的N行中第i行的完整表达式为b_0_{0,x-1-[log(i)]}i。若在最后一行后插入N行,则根据最后一行的值顺序加1,若最后一行存在扩位且要插入的行数大于扩充位数所能表达的数值上限,则继续进行扩位,扩充的位数为logN。
作为优选,报表数据缓存的前端缓存以报表ID加时间戳标记数据,后端本地缓存中Key为用户名加报表ID加上下文信息的组合,Value为报表数据加时间戳标记。
作为优选,报表数据缓存过程中,读取数据时先检查前端缓存时间戳是否最新,若为最新则直接从前端缓存读取数据,若不是最新且后端缓存时间戳为最新则从后端缓存读取数据,若后端缓存时间戳不是最新或不存在则从数据库中读取数据加入缓存之中,并返回前端缓存同时更新后端缓存时间戳。
作为优选,报表增量保存过程中,发生影响到数据的修改包括排序、过滤、查询、新增、修改及删除,用户进行报表增量保存时,发送报表ID与上下文,后端缓存将已经变更的数据提交至数据库中,并刷新前端缓存、后端缓存及数据库中的所有时间戳。
与现有技术相比,本发明的处理大数据量网络报表的方法具有以下突出的有益效果:所述处理大数据量网络报表的方法通过分页展示,可避免浏览器同时加载过多数据造成卡顿的问题,增量保存可以避免浏览器一次提交过多数据造成卡顿的问题,具有良好的推广应用价值。
附图说明
图1是本发明所述处理大数据量网络报表的方法中排序码生成示意图;
图2是本发明所述处理大数据量网络报表的方法的具体实施例示意图。
具体实施方式
下面将结合附图和实施例,对本发明的处理大数据量网络报表的方法作进一步详细说明。
实施例
本发明的处理大数据量网络报表的方法,包括分页展示、报表数据缓存和报表增量保存。
分页展示时网络报表中数据行格式相同,且填报随时增减行数的区域为变动区。
分页展示过程中变动区设定展示的最大行数即单页展示行数,总行数超过变动区可展示最大行数则超过部分不显示,并根据单页展示行数计算出总页数。页面展示过程中点击翻页包括两种模式:模式一为当前页数据清除,展示下页数据;模式二为当前页数据保留,将下页数据插入到当前页数据之后。
如图1所示,分页展示时采用排序码比较规则,依据排序码排序,排序码为不定长的字符串,比较规则为从左至右依次比较,若能比较出大小则直接返回比较结果,若相等则寻找下一位进行比较,若下一位不存在则较短的字符串更小。
页面展示时采用排序码编码算法,报表行依据排序码排序,排序码类型为字符串类型,首次插入行时为12位字符串,每增加一行数据加1。若在两行之间插入N行,N行的排序码编码算法如下:设前行码为A后行码为B,以10为底计算logN得到x,若A与B位数相同,则需要扩位,扩位的规则为N行中的首行编码为A_{0,x-1}1其中{0,x}表示有x-1个0,其余行在首行码基础上依次增加,完整表达式为A_{0,x-1-[log(i)]}i,其中i表示N行中的第i行,[log(i)]以10为底取下整。若A与B位数不同,则在B字符串中查找最后一个“_”的位置,将该位置之后的字符全部替换为0记为b_0,插入的N行中第i行的完整表达式为b_0_{0,x-1-[log(i)]}i。若在最后一行后插入N行,则根据最后一行的值顺序加1,若最后一行存在扩位且要插入的行数大于扩充位数所能表达的数值上限,则继续进行扩位,扩充的位数为logN。
报表数据缓存分为前端缓存和后端本地缓存,前端缓存存储在浏览器内存中,后端本地缓存以字典结构存储在本地内存。
报表数据缓存的前端缓存以报表ID加时间戳标记数据,后端本地缓存中Key为用户名加报表ID加上下文信息的组合,Value为报表数据加时间戳标记。报表数据缓存过程中,读取数据时先检查前端缓存时间戳是否最新,若为最新则直接从前端缓存读取数据,若不是最新且后端缓存时间戳为最新则从后端缓存读取数据,若后端缓存时间戳不是最新或不存在则从数据库中读取数据加入缓存之中,并返回前端缓存同时更新后端缓存时间戳。
报表增量保存过程中,若发生影响到数据的修改,则将发生的变更提交至后端本地缓存,同时后端本地缓存进行数据更新。
报表增量保存过程中,发生影响到数据的修改包括排序、过滤、查询、新增、修改及删除,用户进行报表增量保存时,发送报表ID与上下文,后端缓存将已经变更的数据提交至数据库中,并刷新前端缓存、后端缓存及数据库中的所有时间戳。
如图2所示,用户打开报表系统中的报表,首先检查前端缓存时间戳是否最新,若为最新则直接从前端缓存读取数据,若不是则向后端缓存发送请求时间戳,若后端缓存时间戳为最新则从后端缓存读取数据,若后端缓存时间戳不是最新或不存在,则向数据库发送查询时间戳,从数据库中读取数据并返回时间戳至后端缓存之中,并返回前端缓存同时更新后端缓存时间戳。
用户修改报表系统中的报表时,将增量数据提交至后端缓存,并缓存更新修改的数据。
用户保存报表系统中报表时,向后端缓存发送请求保存,后端缓存通过数据库进行报表数据持久化。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (8)
1.一种处理大数据量网络报表的方法,其特征在于:包括分页展示、报表数据缓存和报表增量保存,分页展示时网络报表中数据行格式相同,且填报随时增减行数的区域为变动区;报表数据缓存分为前端缓存和后端本地缓存,前端缓存存储在浏览器内存中,后端本地缓存以字典结构存储在本地内存;报表增量保存过程中,若发生影响到数据的修改,则将发生的变更提交至后端本地缓存,同时后端本地缓存进行数据更新。
2.根据权利要求1所述的处理大数据量网络报表的方法,其特征在于:分页展示过程中变动区设定展示的最大行数即单页展示行数,总行数超过变动区可展示最大行数则超过部分不显示,并根据单页展示行数计算出总页数。
3.根据权利要求2所述的处理大数据量网络报表的方法,其特征在于:页面展示过程中点击翻页包括两种模式:模式一为当前页数据清除,展示下页数据;模式二为当前页数据保留,将下页数据插入到当前页数据之后。
4.根据权利要求3所述的处理大数据量网络报表的方法,其特征在于:分页展示时采用排序码比较规则,依据排序码排序,排序码为不定长的字符串,比较规则为从左至右依次比较,若能比较出大小则直接返回比较结果,若相等则寻找下一位进行比较,若下一位不存在则较短的字符串更小。
5.根据权利要求4所述的处理大数据量网络报表的方法,其特征在于:页面展示时采用排序码编码算法,报表行依据排序码排序,排序码类型为字符串类型,首次插入行时为12位字符串,每增加一行数据加1。
6.根据权利要求5所述的处理大数据量网络报表的方法,其特征在于:报表数据缓存的前端缓存以报表ID加时间戳标记数据,后端本地缓存中Key为用户名加报表ID加上下文信息的组合,Value为报表数据加时间戳标记。
7.根据权利要求6所述的处理大数据量网络报表的方法,其特征在于:报表数据缓存过程中,读取数据时先检查前端缓存时间戳是否最新,若为最新则直接从前端缓存读取数据,若不是最新且后端缓存时间戳为最新则从后端缓存读取数据,若后端缓存时间戳不是最新或不存在则从数据库中读取数据加入缓存之中,并返回前端缓存同时更新后端缓存时间戳。
8.根据权利要求7所述的处理大数据量网络报表的方法,其特征在于:报表增量保存过程中,发生影响到数据的修改包括排序、过滤、查询、新增、修改及删除,用户进行报表增量保存时,发送报表ID与上下文,后端缓存将已经变更的数据提交至数据库中,并刷新前端缓存、后端缓存及数据库中的所有时间戳。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010004753.5A CN111209502A (zh) | 2020-01-03 | 2020-01-03 | 一种处理大数据量网络报表的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010004753.5A CN111209502A (zh) | 2020-01-03 | 2020-01-03 | 一种处理大数据量网络报表的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111209502A true CN111209502A (zh) | 2020-05-29 |
Family
ID=70784116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010004753.5A Pending CN111209502A (zh) | 2020-01-03 | 2020-01-03 | 一种处理大数据量网络报表的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209502A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597750A (zh) * | 2020-12-28 | 2021-04-02 | 珠海新华通软件股份有限公司 | 在线设计动态检测报告模板的方法、编辑器及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840395A (zh) * | 2010-04-02 | 2010-09-22 | 浪潮集团山东通用软件有限公司 | 一种基于标准编码的变动报表填报汇总的方法 |
CN102710665A (zh) * | 2012-06-27 | 2012-10-03 | 深圳中兴网信科技有限公司 | 移动终端、服务器和移动终端的数据同步方法 |
US20140052708A1 (en) * | 2012-08-15 | 2014-02-20 | Conductor, Inc. | User customized data page for search engine data |
CN103617012A (zh) * | 2013-12-05 | 2014-03-05 | 用友软件股份有限公司 | 报表打印方法 |
CN104317957A (zh) * | 2014-11-11 | 2015-01-28 | 中国建设银行股份有限公司 | 一种报表处理的开放平台、系统及报表处理方法 |
CN107807913A (zh) * | 2017-11-16 | 2018-03-16 | 金航数码科技有限责任公司 | 一种基于web的电子表单设计系统及方法 |
CN108292300A (zh) * | 2016-01-13 | 2018-07-17 | 微软技术许可有限责任公司 | 用于对电子文档的协同编辑的自动保存操作 |
-
2020
- 2020-01-03 CN CN202010004753.5A patent/CN111209502A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840395A (zh) * | 2010-04-02 | 2010-09-22 | 浪潮集团山东通用软件有限公司 | 一种基于标准编码的变动报表填报汇总的方法 |
CN102710665A (zh) * | 2012-06-27 | 2012-10-03 | 深圳中兴网信科技有限公司 | 移动终端、服务器和移动终端的数据同步方法 |
US20140052708A1 (en) * | 2012-08-15 | 2014-02-20 | Conductor, Inc. | User customized data page for search engine data |
CN103617012A (zh) * | 2013-12-05 | 2014-03-05 | 用友软件股份有限公司 | 报表打印方法 |
CN104317957A (zh) * | 2014-11-11 | 2015-01-28 | 中国建设银行股份有限公司 | 一种报表处理的开放平台、系统及报表处理方法 |
CN108292300A (zh) * | 2016-01-13 | 2018-07-17 | 微软技术许可有限责任公司 | 用于对电子文档的协同编辑的自动保存操作 |
CN107807913A (zh) * | 2017-11-16 | 2018-03-16 | 金航数码科技有限责任公司 | 一种基于web的电子表单设计系统及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597750A (zh) * | 2020-12-28 | 2021-04-02 | 珠海新华通软件股份有限公司 | 在线设计动态检测报告模板的方法、编辑器及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7680791B2 (en) | Method for sorting data using common prefix bytes | |
Tao et al. | Efficient historical R-trees | |
EP0851354B1 (en) | Reorganization of collisions in a hash bucket of a hash table to improve system performance | |
CN100462979C (zh) | 分布式索引文件的检索方法、检索系统及检索服务器 | |
CN110597859B (zh) | 一种分页查询数据的方法和装置 | |
US20040205044A1 (en) | Method for storing inverted index, method for on-line updating the same and inverted index mechanism | |
US8209305B2 (en) | Incremental update scheme for hyperlink database | |
US7734581B2 (en) | Vector reads for array updates | |
CN101901248A (zh) | 一种布隆过滤器的生成、更新以及查询元素方法和装置 | |
CN113392126B (zh) | 基于分布式数据库的执行计划缓存及读取方法 | |
US20240037119A1 (en) | A method and device for storing data in a distributed database | |
US7499927B2 (en) | Techniques for improving memory access patterns in tree-based data index structures | |
CN115391495B (zh) | 在中文语境中检索关键词的方法、装置及设备 | |
CN112148217B (zh) | 全闪存储系统的重删元数据的缓存方法、装置及介质 | |
CN102201007A (zh) | 一种大规模数据搜索系统 | |
CN111209502A (zh) | 一种处理大数据量网络报表的方法 | |
CN114328535A (zh) | 一种索引查询优化的仓储区块链系统 | |
CN112269784B (zh) | 一种基于硬件实现的哈希表装置以及插入、查询和删除方法 | |
CN117914944A (zh) | 一种基于物联网的分布式三级缓存方法及装置 | |
CN110471914B (zh) | 一种实时数据处理中维度关联的方法及系统 | |
Nascimento et al. | M-IVTT: An index for bitemporal databases | |
CN116701440A (zh) | 一种布谷鸟过滤器及数据插入、查询、删除方法 | |
CN116028505A (zh) | 一种在分布式数据库中实现高可用序列的方法 | |
CN114003660B (zh) | 基于flink的高效同步实时数据到ClickHouse的方法及装置 | |
CN112463837B (zh) | 一种关系型数据库数据存储查询方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200529 |