CN110413917B - 一种实现web报表数据缓存的方法 - Google Patents

一种实现web报表数据缓存的方法 Download PDF

Info

Publication number
CN110413917B
CN110413917B CN201910706198.8A CN201910706198A CN110413917B CN 110413917 B CN110413917 B CN 110413917B CN 201910706198 A CN201910706198 A CN 201910706198A CN 110413917 B CN110413917 B CN 110413917B
Authority
CN
China
Prior art keywords
data
report
cache
timestamp
caching
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.)
Active
Application number
CN201910706198.8A
Other languages
English (en)
Other versions
CN110413917A (zh
Inventor
张义法
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur General Software Co Ltd
Original Assignee
Inspur General Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur General Software Co Ltd filed Critical Inspur General Software Co Ltd
Priority to CN201910706198.8A priority Critical patent/CN110413917B/zh
Publication of CN110413917A publication Critical patent/CN110413917A/zh
Application granted granted Critical
Publication of CN110413917B publication Critical patent/CN110413917B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明特别涉及一种实现web报表数据缓存的方法。该实现web报表数据缓存的方法,客户端发出查询报表数据的指令后,若查询指令中存在缓存数据则获取缓存数据中所标记的时间戳,并向服务器端发送判断时间戳指令;若报表缓存数据时间戳与服务器端数据库数据时间戳一致,则获取缓存数据并将报表数据在web报表页面展示;若查询指令中不存在缓存数据或者报表缓存数据时间戳与服务器端数据库数据时间戳不一致,则服务器端发送获取报表数据库数据的指令,将报表数据在web报表页面展示。该实现web报表数据缓存的方法,有效的解决了每次打开报表时都需要访问服务端数据库归集数据问题,大大提高了报表打开速度,提高了数据访问效率。

Description

一种实现web报表数据缓存的方法
技术领域
本发明涉及数据库中数据缓存技术领域,特别涉及一种实现web报表数据缓存的方法。
背景技术
indexedDB是一种基于JavaScript的面向对象的事务型数据库,被市场上大多数主流浏览器所支持,具有对象仓库、事务性、基于请求和异步特性,使用key-value键值对储存数据,尤其适合在浏览器存储大量复杂数据场景使用。与传统在浏览器里存储数据使用cookies或LocalStorage方式相比,cookies每次接收和发送HTTP请求都需传递数据,并且浏览器里存储Cookies的空间有限,很多用户禁止浏览器使用Cookies,所以Cookies 只能用来存储小量的非关键的数据。LocalStorage数据不是按对象形式存储,而是以字符串形式,只能存储小数量数据。
浏览器是一种用于检索并展示万维网信息资源的应用程序,是一种为客户提供本地向服务器端发送请求并接收返回值服务的客户端。
随着企业级ERP应用的不断深入,产生了海量企业数据,使用报表分析、展示企业数据是了解企业经营状况的重要手段。但是目前ERP软件中数据庞大、复杂的报表在打开时的效率问题严重困扰着使用者。
基于上述情况,本发明提出了一种实现web报表数据缓存的方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的实现web报表数据缓存的方法。
本发明是通过如下技术方案实现的:
一种实现web报表数据缓存的方法,其特征在于:包括以下步骤:
第一步,客户端发出查询报表数据的指令;
第二步,触发预设的判断缓存是否存在的方法(ifIndexOfData),判断查询指令中指定的报表数据是否缓存于indexedDB中,若存在缓存数据则继续第三步,否则继续第五步;
第三步,通过预设的获取缓存数据时间戳的方法(getTimeStampById),获取缓存数据中所标记的时间戳,并向服务器端发送判断时间戳指令,若报表缓存数据时间戳与服务器端数据库数据时间戳一致,则继续第四步,否则触发预设的清除缓存数据的方法(clearCacheDataById),删除本报表缓存数据,并继续第五步;
第四步,触发预设的读取缓存数据的方法(clearCacheDataById),获取缓存数据并继续第六步;
第五步,向服务器端发送获取报表数据库数据的指令,客户端接收到数据后触发预设的判定浏览器是否支持indexedDB缓存方式的方法,判断浏览器是否支持indexedDB缓存方式,若支持则触发预设的写入缓存数据的方法(setCacheDataById),则将接收到数据缓存到indexedDB中后继续第六步,否则直接进行第六步;
第六步,将报表数据在web报表页面展示。
所述第二步中,判断缓存是否存在的方法(ifIndexOfData)是指根据查询指令中指定的报表ID生成缓存数据的存储对象objectStore名称,并使用objectStoreNames.contains 方法判断是否存在所述名称的存储对象objectStore。
所述第三步中,获取缓存数据时间戳的方法(getTimeStampById)是指根据查询指令中指定的报表ID时间戳timestamp字符串组合生成缓存时间戳数据的存储对象objectStore 名称,并使用对象的get方法获取对象中的数据。
所述第三步中,清除缓存数据的方法(clearCacheDataById)是指根据查询指令中指定的报表ID生成缓存数据的存储对象objectStore名称,并使用对象的delete方法删除对象中的数据。
所述第四步中,读取缓存数据方法(getCacheDataById)是指根据查询指令中指定的报表ID生成缓存数据的存储对象objectStore名称,并使用对象的get方法获取对象中的数据。
所述第五步中,判断浏览器是否支持indexedDB缓存方式的方法,是指判断浏览器中是否存在indexedDB对象,若存在,则判定浏览器支持indexedDB缓存方式,若不存在,则判定浏览器不支持indexDB缓存方式。
不同浏览器厂商使用浏览器前缀实现IndexedDB API,基于Gecko内核的浏览器使用moz前缀即window.mozIndexedDB,基于WebKit内核的浏览器使用webkit前缀即window.webkitIndexedDB,其它为window.indexedDB。
所述第五步中,写入缓存数据方法(setCacheDataById)是指根据查询指令中指定的报表ID生成用于缓存数据的存储对象objectStore名称,并使用对象的add方法在对象中增加数据。
本发明的有益效果是:该实现web报表数据缓存的方法,有效的解决了每次打开报表时都需要访问服务端数据库归集数据问题,大大提高了报表打开速度,提高了数据访问效率。
附图说明
附图1为本发明实现web报表数据缓存的方法示意图。
具体实施方式
为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
该实现web报表数据缓存的方法,包括以下步骤:
第一步,客户端发出查询报表数据的指令;
第二步,触发预设的判断缓存是否存在的方法(ifIndexOfData),判断查询指令中指定的报表数据是否缓存于indexedDB中,若存在缓存数据则继续第三步,否则继续第五步;
第三步,通过预设的获取缓存数据时间戳的方法(getTimeStampById),获取缓存数据中所标记的时间戳,并向服务器端发送判断时间戳指令,若报表缓存数据时间戳与服务器端数据库数据时间戳一致,则继续第四步,否则触发预设的清除缓存数据的方法(clearCacheDataById),删除本报表缓存数据,并继续第五步;
第四步,触发预设的读取缓存数据的方法(clearCacheDataById),获取缓存数据并继续第六步;
第五步,向服务器端发送获取报表数据库数据的指令,客户端接收到数据后触发预设的判定浏览器是否支持indexedDB缓存方式的方法,判断浏览器是否支持indexedDB缓存方式,若支持则触发预设的写入缓存数据的方法(setCacheDataById),则将接收到数据缓存到indexedDB中后继续第六步,否则直接进行第六步;
第六步,将报表数据在web报表页面展示。
所述第二步中,判断缓存是否存在的方法(ifIndexOfData)是指根据查询指令中指定的报表ID生成缓存数据的存储对象objectStore名称,并使用objectStoreNames.contains 方法判断是否存在所述名称的存储对象objectStore。
所述第三步中,获取缓存数据时间戳的方法(getTimeStampById)是指根据查询指令中指定的报表ID时间戳timestamp字符串组合生成缓存时间戳数据的存储对象objectStore 名称,并使用对象的get方法获取对象中的数据。
所述第三步中,清除缓存数据的方法(clearCacheDataById)是指根据查询指令中指定的报表ID生成缓存数据的存储对象objectStore名称,并使用对象的delete方法删除对象中的数据。
所述第四步中,读取缓存数据方法(getCacheDataById)是指根据查询指令中指定的报表ID生成缓存数据的存储对象objectStore名称,并使用对象的get方法获取对象中的数据。
所述第五步中,判断浏览器是否支持indexedDB缓存方式的方法,是指判断浏览器中是否存在indexedDB对象,若存在,则判定浏览器支持indexedDB缓存方式,若不存在,则判定浏览器不支持indexDB缓存方式。
不同浏览器厂商使用浏览器前缀实现IndexedDB API,基于Gecko内核的浏览器使用 moz前缀即window.mozIndexedDB,基于WebKit内核的浏览器使用webkit前缀即window.webkitIndexedDB,其它为window.indexedDB。
所述第五步中,写入缓存数据方法(setCacheDataById)是指根据查询指令中指定的报表ID生成用于缓存数据的存储对象objectStore名称,并使用对象的add方法在对象中增加数据。
在客户端打开后预设的操作缓存方法如下表:
表1预设的操作缓存方法说明
Figure BDA0002152187070000051
以上不同方法中,根据查询指令中指定的报表ID生成用于缓存数据的存储对象objectStore名称是相同的,即一个报表对应一个存对象储objectStore。
以上对本发明实例中的一种实现web报表数据缓存的方法进行了详细的介绍。本部分采用具体实例对发明的原理及实施方式进行了阐述,以上实例仅用于帮助理解本发明的核心思想,在不脱离本发明原理的情况下,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

Claims (8)

1.一种实现web报表数据缓存的方法,其特征在于,包括以下步骤:
第一步,客户端发出查询报表数据的指令;
第二步,触发预设的判断缓存是否存在的方法,判断查询指令中指定的报表数据是否缓存于indexedDB中,若存在缓存数据则继续第三步,否则继续第五步;
第三步,通过预设的获取缓存数据时间戳的方法,获取缓存数据中所标记的时间戳,并向服务器端发送判断时间戳指令,若报表缓存数据时间戳与服务器端数据库数据时间戳一致,则继续第四步,否则触发预设的清除缓存数据的方法,删除本报表缓存数据,并继续第五步;
第四步,触发预设的读取缓存数据的方法,获取缓存数据并继续第六步;
第五步,向服务器端发送获取报表数据库数据的指令,客户端接收到数据后触发预设的判定浏览器是否支持indexedDB缓存方式的方法,判断浏览器是否支持indexedDB缓存方式,若支持则触发预设的写入缓存数据的方法,则将接收到数据缓存到indexedDB中后继续第六步,否则直接进行第六步;
第六步,将报表数据在web报表页面展示。
2.根据权利要求1所述的实现web报表数据缓存的方法,其特征在于:所述第二步中,判断缓存是否存在的方法是指根据查询指令中指定的报表ID生成缓存数据的存储对象objectStore名称,并使用objectStoreNames.contains方法判断是否存在所述名称的存储对象objectStore。
3.根据权利要求1所述的实现web报表数据缓存的方法,其特征在于:所述第三步中,获取缓存数据时间戳的方法是指根据查询指令中指定的报表ID时间戳timestamp字符串组合生成缓存时间戳数据的存储对象objectStore名称,并使用对象的get方法获取对象中的数据。
4.根据权利要求1所述的实现web报表数据缓存的方法,其特征在于:所述第三步中,清除缓存数据的方法是指根据查询指令中指定的报表ID生成缓存数据的存储对象objectStore名称,并使用对象的delete方法删除对象中的数据。
5.根据权利要求1所述的实现web报表数据缓存的方法,其特征在于:所述第四步中,读取缓存数据方法是指根据查询指令中指定的报表ID生成缓存数据的存储对象objectStore名称,并使用对象的get方法获取对象中的数据。
6.根据权利要求1所述的实现web报表数据缓存的方法,其特征在于:所述第五步中,判断浏览器是否支持indexedDB缓存方式的方法,是指判断浏览器中是否存在indexedDB对象,若存在,则判定浏览器支持indexedDB缓存方式,若不存在,则判定浏览器不支持indexDB缓存方式。
7.根据权利要求6所述的实现web报表数据缓存的方法,其特征在于:不同浏览器厂商使用浏览器前缀实现IndexedDB API,基于Gecko内核的浏览器使用moz前缀即window.mozIndexedDB,基于WebKit内核的浏览器使用webkit前缀即window.webkitIndexedDB,其它为window.indexedDB。
8.根据权利要求1所述的实现web报表数据缓存的方法,其特征在于:所述第五步中,写入缓存数据方法是指根据查询指令中指定的报表ID生成用于缓存数据的存储对象objectStore名称,并使用对象的add方法在对象中增加数据。
CN201910706198.8A 2019-08-01 2019-08-01 一种实现web报表数据缓存的方法 Active CN110413917B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910706198.8A CN110413917B (zh) 2019-08-01 2019-08-01 一种实现web报表数据缓存的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910706198.8A CN110413917B (zh) 2019-08-01 2019-08-01 一种实现web报表数据缓存的方法

Publications (2)

Publication Number Publication Date
CN110413917A CN110413917A (zh) 2019-11-05
CN110413917B true CN110413917B (zh) 2023-01-24

Family

ID=68365106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910706198.8A Active CN110413917B (zh) 2019-08-01 2019-08-01 一种实现web报表数据缓存的方法

Country Status (1)

Country Link
CN (1) CN110413917B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581051A (zh) * 2020-04-21 2020-08-25 深圳震有科技股份有限公司 基于web前端的系统运行日志处理方法、装置、设备及介质
CN112069218A (zh) * 2020-11-16 2020-12-11 浙江岩华文化科技有限公司 大数据实时处理方法、装置、电子装置和存储介质
CN115442438B (zh) * 2022-11-08 2023-03-24 深圳市华曦达科技股份有限公司 一种基于web浏览器数据缓存方法、系统和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257148A (ja) * 2009-04-23 2010-11-11 Casio Computer Co Ltd サーバ装置、サーバベース・コンピューティング・システム、およびサーバ制御プログラム
CN103902574A (zh) * 2012-12-27 2014-07-02 中国移动通信集团内蒙古有限公司 一种基于数据流技术的实时数据加载方法和装置
CN106569733A (zh) * 2015-10-12 2017-04-19 北京国双科技有限公司 缓存数据的处理方法和装置
CN110032567A (zh) * 2019-04-24 2019-07-19 江苏满运软件科技有限公司 报表查询方法、装置、服务器和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120233199A1 (en) * 2011-03-10 2012-09-13 Jenkins Jeffrey R Intelligent Web Caching
US10366083B2 (en) * 2015-07-29 2019-07-30 Oracle International Corporation Materializing internal computations in-memory to improve query performance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257148A (ja) * 2009-04-23 2010-11-11 Casio Computer Co Ltd サーバ装置、サーバベース・コンピューティング・システム、およびサーバ制御プログラム
CN103902574A (zh) * 2012-12-27 2014-07-02 中国移动通信集团内蒙古有限公司 一种基于数据流技术的实时数据加载方法和装置
CN106569733A (zh) * 2015-10-12 2017-04-19 北京国双科技有限公司 缓存数据的处理方法和装置
CN110032567A (zh) * 2019-04-24 2019-07-19 江苏满运软件科技有限公司 报表查询方法、装置、服务器和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于分布式Memcached缓存技术的油田信息查询系统;方志杰等;《现代计算机(专业版)》;20170925(第27期);全文 *

Also Published As

Publication number Publication date
CN110413917A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
CN110413917B (zh) 一种实现web报表数据缓存的方法
CN100543750C (zh) 一种基于web应用的矩阵式数据缓存方法及装置
US7565425B2 (en) Server architecture and methods for persistently storing and serving event data
CA2829221C (en) Local storage linked to networked storage system
US8438336B2 (en) System and method for managing large filesystem-based caches
CN106294648A (zh) 一种针对页面访问路径的处理方法及装置
CN107291940A (zh) 页面内容管理方法、装置及相关服务器
CN104050253A (zh) 一种网页展示方法及浏览器
CN105867846A (zh) 一种数据处理方法、服务器及系统
US9178931B2 (en) Method and system for accessing data by a client from a server
WO2014056145A1 (zh) 使Web应用获取数据库变化的方法和系统
CN104657358B (zh) 实现网页程序离线缓存的方法和系统
CN106528563A (zh) 一种内容访问方法和装置
CN104281673A (zh) 一种数据库的缓存构建系统及对应的构建方法
CN103455547A (zh) 一种用于网页加载的方法及装置
CN105653724A (zh) 一种页面曝光量的监控方法和装置
CN104468720A (zh) 一种确定预览链接并对其提供动态预览信息的方法
CN110362776A (zh) 浏览器前端数据存储方法、装置、设备及可读存储介质
US8489644B2 (en) System and method for managing virtual tree pages
US20080033918A1 (en) Systems, methods and computer program products for supplemental data communication and utilization
CN106372109A (zh) 互联网资源文件缓存方法及装置
US20090138438A1 (en) System and Method for Implementing Browser Milestone Navigation in a Data Processing System
Chen et al. Optimization research and application of enterprise website based on web service
CN105138545B (zh) 一种分布式文件系统中目录项异步预读的方法及系统
CN104615596B (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
TA01 Transfer of patent application right

Effective date of registration: 20221230

Address after: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong

Applicant after: Inspur Genersoft Co.,Ltd.

Address before: 250100 No. 2877 Kehang Road, Sun Village Town, Jinan High-tech District, Shandong Province

Applicant before: SHANDONG INSPUR GENESOFT INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant