买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种实现web报表数据缓存的方法_浪潮通用软件有限公司_201910706198.8 

申请/专利权人:浪潮通用软件有限公司

申请日:2019-08-01

公开(公告)日:2023-01-24

公开(公告)号:CN110413917B

主分类号:G06F16/957

分类号:G06F16/957;G06F16/958;G06F16/2455;G06F16/25

优先权:

专利状态码:有效-授权

法律状态:2023.01.24#授权;2019.11.29#实质审查的生效;2019.11.05#公开

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

主权项:1.一种实现web报表数据缓存的方法,其特征在于,包括以下步骤:第一步,客户端发出查询报表数据的指令;第二步,触发预设的判断缓存是否存在的方法,判断查询指令中指定的报表数据是否缓存于indexedDB中,若存在缓存数据则继续第三步,否则继续第五步;第三步,通过预设的获取缓存数据时间戳的方法,获取缓存数据中所标记的时间戳,并向服务器端发送判断时间戳指令,若报表缓存数据时间戳与服务器端数据库数据时间戳一致,则继续第四步,否则触发预设的清除缓存数据的方法,删除本报表缓存数据,并继续第五步;第四步,触发预设的读取缓存数据的方法,获取缓存数据并继续第六步;第五步,向服务器端发送获取报表数据库数据的指令,客户端接收到数据后触发预设的判定浏览器是否支持indexedDB缓存方式的方法,判断浏览器是否支持indexedDB缓存方式,若支持则触发预设的写入缓存数据的方法,则将接收到数据缓存到indexedDB中后继续第六步,否则直接进行第六步;第六步,将报表数据在web报表页面展示。

全文数据:一种实现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缓存方式。不同浏览器厂商使用浏览器前缀实现IndexedDBAPI,基于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缓存方式。不同浏览器厂商使用浏览器前缀实现IndexedDBAPI,基于Gecko内核的浏览器使用moz前缀即window.mozIndexedDB,基于WebKit内核的浏览器使用webkit前缀即window.webkitIndexedDB,其它为window.indexedDB。所述第五步中,写入缓存数据方法setCacheDataById是指根据查询指令中指定的报表ID生成用于缓存数据的存储对象objectStore名称,并使用对象的add方法在对象中增加数据。在客户端打开后预设的操作缓存方法如下表:表1预设的操作缓存方法说明以上不同方法中,根据查询指令中指定的报表ID生成用于缓存数据的存储对象objectStore名称是相同的,即一个报表对应一个存对象储objectStore。以上对本发明实例中的一种实现web报表数据缓存的方法进行了详细的介绍。本部分采用具体实例对发明的原理及实施方式进行了阐述,以上实例仅用于帮助理解本发明的核心思想,在不脱离本发明原理的情况下,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

权利要求: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报表数据缓存的方法,其特征在于:不同浏览器厂商使用浏览器前缀实现IndexedDBAPI,基于Gecko内核的浏览器使用moz前缀即window.mozIndexedDB,基于WebKit内核的浏览器使用webkit前缀即window.webkitIndexedDB,其它为window.indexedDB。8.根据权利要求1所述的实现web报表数据缓存的方法,其特征在于:所述第五步中,写入缓存数据方法是指根据查询指令中指定的报表ID生成用于缓存数据的存储对象objectStore名称,并使用对象的add方法在对象中增加数据。

百度查询: 浪潮通用软件有限公司 一种实现web报表数据缓存的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术