CN105357297A - 一种数据缓存的系统及方法 - Google Patents
一种数据缓存的系统及方法 Download PDFInfo
- Publication number
- CN105357297A CN105357297A CN201510737939.0A CN201510737939A CN105357297A CN 105357297 A CN105357297 A CN 105357297A CN 201510737939 A CN201510737939 A CN 201510737939A CN 105357297 A CN105357297 A CN 105357297A
- Authority
- CN
- China
- Prior art keywords
- data
- buffer area
- data set
- longest
- graph
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据缓存的系统及方法,包括:数据缓存区;数据模板定制组件,用于将数据缓存区的数据集与报表、图形数据模版的唯一标识码一一对应;数据集管理组件,用于管理数据模板与数据集,根据客户端请求的报表、图形数据,通过所述标识码在数据缓存区中查找相应的数据集;缓存管理组件,用于控制数据缓存区的大小和生命周期,通过设置最大缓存、最长生存时间以及最长空闲时间对报表、图形数据的生命周期进行控制。本发明有益效果:减少数据读取和计算的时间从而提高了报表、图形的展现速度;减少应用服务与数据库服务之间的数据请求次数,减少数据计算的次数,从而减小服务器负担。
Description
技术领域
本发明涉电力行业报表统计技术领域,具体涉及一种报表数据缓存的系统及方法。
背景技术
报表统计系统中通常存在一些计算较为复杂且用户请求频繁的数据,传统系统会把这些数据保存在硬盘中,每次直接从数据库中查询数据、计算数据,这不仅增加数据库服务器的压力,也极大的影响了取数的速度从而降低了数据展示的效率。
发明内容
本发明的目的是为了解决上述问题,提供了一种数据缓存的方法,该方法先将其数据集查询的结果缓存下来,对于缓存下来的数据,再次使用到相同数据集时,无需再次连接数据库重新查询数据,直接使用缓存下来的结果实现数据集共享机制,达到资源复用,减少取数时间从而提高了数据的展现速度。
为实现上述目的,本发明采用下述技术方案:
一种数据缓存的系统,包括:
数据缓存区,包括共用缓存区和特定缓存区;
数据模板定制组件,用于将数据缓存区的数据集与报表、图形数据模版的唯一标识码一一对应;
数据集管理组件,用于管理数据模板与数据集,根据客户端请求的报表、图形数据,通过所述标识码在数据缓存区中查找相应的数据集;
缓存管理组件,用于控制数据缓存区的大小和生命周期,通过设置最大缓存、最长生存时间以及最长空闲时间对报表的生命周期进行控制。
所述共用缓存区用于存储用户常用或者共用的报表、图形数据;
所述特定缓存区用于存储通过输入查询参数能够查询得到的数据。
所述特定缓存区数据的查询参数与数据集具有一一对应的序列号。
所述特定缓存区设置有生命周期。
所述最大缓存是指共用缓存区的最大内存值;
所述最长生存时间是指缓存数据集在共用缓存区中存活的最大时间;
所述最长空闲时间是指缓存数据集在共用缓存区中停留不被使用不能超过的时间。
一种数据缓存系统的实现方法,包括以下步骤:
(1)设置数据缓存区,所述数据缓存区包括:数据共用缓存区和特定缓存区;
(2)将报表、图形所对应的数据集分别存入共用缓存区和特定缓存区,将缓存的数据集与报表、图形数据模版定制时候的唯一标识码一一对应;
(3)接收客户端的报表、图形数据请求,判断请求的报表、图形数据模板是否设置了缓存,如果是,转入下一步;否则,到数据库中提取数据集;
(4)在数据缓存区查找与报表、图形数据模板相对应的缓存数据集,如果找到了所述缓存数据集,则转入下一步;否则,到数据库中提取数据集;同时,将在数据库中提取到的数据集与报表、图形数据模板的标识码相对应后保存到数据缓存区;
(5)根据报表、图形数据模板的标识码在数据缓存区中匹配相应的数据集。
所述步骤(2)中,为特定缓存区中数据集中的各数据参数设置唯一序列号,所述序列号与数据参数对应的数据集一一对应;
客户端输入请求数据参数时,根据请求数据参数对应的序列号,到特定缓存区中查找该序列号对应的数据集。
通过设置最大缓存、最长生存时间以及最长空闲时间对数据缓存区的报表、图形数据的生命周期进行控制;
如果缓存数据集超过最大缓存值,则服务器会根据缓存策略清除缓存区中的部分数据集;
如果缓存数据集超出最长生存时间,则此缓存数据集将会失效,被移除数据缓存区;
如果缓存数据集的空闲时间超出最长空闲时间,则此缓存数据集将会被移除数据缓存区。
本发明的有益效果是:
1.减少数据读取和计算的时间从而提高了报表、图形的展现速度。
2.减少应用服务与数据库服务之间的数据请求次数,减少数据计算的次数,从而减小服务器负担。
附图说明
图1为本发明数据缓存系统结构示意图;
图2为本发明数据缓存方法流程图。
具体实施方式:
下面结合附图与实例对本发明做进一步说明:
一种数据缓存的系统,包括:
数据缓存区,包括共用缓存区和特定缓存区;
数据模板定制组件,用于将数据缓存区的数据集与报表、图形数据模版的唯一标识码一一对应;
数据集管理组件,用于管理数据模板与数据集,根据客户端请求的报表、图形数据,通过所述标识码在数据缓存区中查找相应的数据集;
缓存管理组件,用于控制数据缓存区的大小和生命周期,通过设置最大缓存、最长生存时间以及最长空闲时间对报表的生命周期进行控制。
共用缓存区用于存储用户常用或者共用的报表、图形数据;共用缓存区就是所有分配了权限的用户一登陆系统就会使用的到数据,该缓存区数据特点是使用频率高、缓存数据固定重用率高,比如今日的报表数据、昨天的报表数据,所有用户登陆后看到的都是一样的;
特定缓存区用于存储通过输入查询参数能够查询得到的数据,该缓存区数据特点是使用频率相对不高、缓存数据重用率相对低;
本发明中涉及的数据使用频率的高低、缓存数据重用率的高低均根据用户的实际需要确定。
平台对所有用户常用和共用的报表、图形等数据,通过模板定制时候的唯一标识提供一定大小的共用缓存区,用户的每次请求通过唯一标识可直接到缓存区中获取数据,而不需要再到数据库中查询和计算;
对于不同用户可能因为不同的参数进行查询的数据提供特定缓冲区,比如:一个以统计日期作为查询参数的报表,最常用的参数是当天或者前一天,可能某个用户查询上一周某天的数据,而另外一个用户查询上个月某天的数据;
对请求参数使用散列码hashcode进行编码,生成唯一序列号;将该请求参数的序列号与特定缓存区中对应的数据集一一对应。
当其他用户访问同一报表、图形数据时候,先通过参数生成序列号,再到缓冲区中寻找该序列号对应的数据,如果找到则直接返回数据,如果未找到则通过报表定义的数据集及参数到数据库中获取数据,对于特定的缓冲区有生命周期限制。
1.数据模板定制组件,主要用来将数据集与业务报表、图形数据模板一一对应;
数据模板类似EXCEL的宏定义,可以用来指定每一个单元格的数据是来自数据库的哪张表,哪条记录,哪个字段;数据集与业务报表、图形数据模板通过名称进行对应,在定制数据模板的时候就会根据用户自定义的模板名称同时产生一个同名的数据集名称,不允许数据模板重名。
2.数据集管理组件用来管理数据模块与数据集,当用户请求报表数据时,通过报表模板唯一标识寻找缓存区中的数据集,如果找到对应的数据集,直接将数据集返回给请求,如果在缓存区中找不到数据集,则去数据库中查找计算数据集,返回数据集的同时将数据集存入缓存区中。
3.缓存管理组件用来管理缓存的大小和生命周期,通过最大缓存、最长生存时间、最长空闲时间对报表的生命周期进行控制,达到缓存使用时的最佳性能。
最大缓存指在缓存容器的最大值,如果缓存数据集过多超过最大值,则服务器会根据缓存策略清除缓存区中的数据集;
最长生存时间是指缓存对象在容器中存活的最大时间,无论是否活动,一旦超过此时间,此缓存对象就失效,将会被移除,这样能保证当真实数据已经更新时候,缓存数据能及时更新;
最长空闲时间指的是缓存对象在容器中停留不被使用不能超过的时间,也就是空闲的时间,如果空闲的时间超过这个时间,表面次数据集被请求的频率不高,此对象就会被移除。
一种数据缓存系统的实现方法,包括以下步骤:
(1)设置数据缓存区,所述数据缓存区包括:数据共用缓存区和特定缓存区;
(2)将报表、图形所对应的数据集分别存入共用缓存区和特定缓存区,将缓存的数据集与报表、图形数据模版定制时候的唯一标识码一一对应;
同时,为特定缓存区中数据集中的各数据参数设置唯一序列号,所述序列号与数据参数对应的数据集一一对应;
客户端输入请求数据参数时,根据请求数据参数对应的序列号,到特定缓存区中查找该序列号对应的数据集。
(3)接收客户端的报表、图形数据请求,判断请求的报表、图形数据模板是否设置了缓存,如果是,转入下一步;否则,到数据库中提取数据集;
(4)在数据缓存区查找与报表、图形数据模板相对应的缓存数据集,如果找到了所述缓存数据集,则转入下一步;否则,到数据库中提取数据集;同时,将在数据库中提取到的数据集与报表、图形数据模板的标识码相对应后保存到数据缓存区;
(5)根据报表、图形数据模板的标识码在数据缓存区中匹配相应的数据集。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (8)
1.一种数据缓存的系统,其特征是,包括:
数据缓存区,包括共用缓存区和特定缓存区;
数据模板定制组件,用于将数据缓存区的数据集与报表、图形数据模版的唯一标识码一一对应;
数据集管理组件,用于管理数据模板与数据集,根据客户端请求的报表、图形数据,通过所述标识码在数据缓存区中查找相应的数据集;
缓存管理组件,用于控制数据缓存区的大小和生命周期,通过设置最大缓存、最长生存时间以及最长空闲时间对报表、图形数据的生命周期进行控制。
2.如权利要求1所述的一种数据缓存的系统,其特征是,
所述共用缓存区用于存储用户常用或者共用的报表、图形数据;
所述特定缓存区用于存储通过输入查询参数能够查询得到的数据。
3.如权利要求2所述的一种数据缓存的系统,其特征是,所述特定缓存区数据的查询参数与数据集具有一一对应的序列号。
4.如权利要求1所述的一种数据缓存的系统,其特征是,所述特定缓存区设置有生命周期。
5.如权利要求1所述的一种数据缓存的系统,其特征是,所述最大缓存是指共用缓存区的最大内存值;
所述最长生存时间是指缓存数据集在共用缓存区中存活的最大时间;
所述最长空闲时间是指缓存数据集在共用缓存区中停留不被使用不能超过的时间。
6.一种如权利要求1所述的数据缓存系统的实现方法,其特征是,包括以下步骤:
(1)设置数据缓存区,所述数据缓存区包括:数据共用缓存区和特定缓存区;
(2)将报表、图形所对应的数据集分别存入共用缓存区和特定缓存区,将缓存的数据集与报表、图形数据模版定制时候的唯一标识码一一对应;
(3)接收客户端的报表、图形数据请求,判断请求的报表、图形数据模板是否设置了缓存,如果是,转入下一步;否则,到数据库中提取数据集;
(4)在数据缓存区查找与报表、图形数据模板相对应的缓存数据集,如果找到了所述缓存数据集,则转入下一步;否则,到数据库中提取数据集;同时,将在数据库中提取到的数据集与报表、图形数据模板的标识码相对应后保存到数据缓存区;
(5)根据报表、图形数据模板的标识码在数据缓存区中匹配相应的数据集。
7.如权利要求6所述的一种数据缓存系统的实现方法,其特征是,所述步骤(2)中,为特定缓存区中数据集中的各数据参数设置唯一序列号,所述序列号与数据参数对应的数据集一一对应;
客户端输入请求数据参数时,根据请求数据参数对应的序列号,到特定缓存区中查找该序列号对应的数据集。
8.如权利要求6所述的一种数据缓存系统的实现方法,其特征是,通过设置最大缓存、最长生存时间以及最长空闲时间对数据缓存区的报表、图形数据的生命周期进行控制;
如果缓存数据集超过最大缓存值,则服务器会根据缓存策略清除缓存区中的部分数据集;
如果缓存数据集超出最长生存时间,则此缓存数据集将会失效,被移除数据缓存区;
如果缓存数据集的空闲时间超出最长空闲时间,则此缓存数据集将会被移除数据缓存区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510737939.0A CN105357297A (zh) | 2015-11-03 | 2015-11-03 | 一种数据缓存的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510737939.0A CN105357297A (zh) | 2015-11-03 | 2015-11-03 | 一种数据缓存的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105357297A true CN105357297A (zh) | 2016-02-24 |
Family
ID=55333156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510737939.0A Pending CN105357297A (zh) | 2015-11-03 | 2015-11-03 | 一种数据缓存的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105357297A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086279A (zh) * | 2017-06-13 | 2018-12-25 | 北京京东尚科信息技术有限公司 | 报表缓存方法和装置 |
CN109739876A (zh) * | 2019-01-10 | 2019-05-10 | 中化石化销售有限公司 | 基于Sqltoy-orm框架的数据库的数据查询方法和装置 |
CN111737299A (zh) * | 2020-06-19 | 2020-10-02 | 中国建设银行股份有限公司 | 缓存数据处理方法及装置 |
CN112287649A (zh) * | 2020-12-22 | 2021-01-29 | 畅捷通信息技术股份有限公司 | 一种报表动态生成方法、装置、介质 |
CN117349296A (zh) * | 2023-12-04 | 2024-01-05 | 技鼎软件科技(南京)有限公司 | 一种报表自动发送系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110074A (zh) * | 2007-01-30 | 2008-01-23 | 浪潮乐金信息系统有限公司 | 基于文件系统缓存的数据加速查询方法 |
CN101226542A (zh) * | 2008-02-01 | 2008-07-23 | 中国建设银行股份有限公司 | 一种报表缓存的方法 |
CN102024062A (zh) * | 2011-01-06 | 2011-04-20 | 中国工商银行股份有限公司 | 一种实现数据动态缓存处理的装置及方法 |
-
2015
- 2015-11-03 CN CN201510737939.0A patent/CN105357297A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110074A (zh) * | 2007-01-30 | 2008-01-23 | 浪潮乐金信息系统有限公司 | 基于文件系统缓存的数据加速查询方法 |
CN101226542A (zh) * | 2008-02-01 | 2008-07-23 | 中国建设银行股份有限公司 | 一种报表缓存的方法 |
CN102024062A (zh) * | 2011-01-06 | 2011-04-20 | 中国工商银行股份有限公司 | 一种实现数据动态缓存处理的装置及方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086279A (zh) * | 2017-06-13 | 2018-12-25 | 北京京东尚科信息技术有限公司 | 报表缓存方法和装置 |
CN109739876A (zh) * | 2019-01-10 | 2019-05-10 | 中化石化销售有限公司 | 基于Sqltoy-orm框架的数据库的数据查询方法和装置 |
CN109739876B (zh) * | 2019-01-10 | 2021-01-12 | 中化石化销售有限公司 | 基于Sqltoy-orm框架的数据库的数据查询方法和装置 |
CN111737299A (zh) * | 2020-06-19 | 2020-10-02 | 中国建设银行股份有限公司 | 缓存数据处理方法及装置 |
CN112287649A (zh) * | 2020-12-22 | 2021-01-29 | 畅捷通信息技术股份有限公司 | 一种报表动态生成方法、装置、介质 |
CN117349296A (zh) * | 2023-12-04 | 2024-01-05 | 技鼎软件科技(南京)有限公司 | 一种报表自动发送系统及方法 |
CN117349296B (zh) * | 2023-12-04 | 2024-03-15 | 技鼎软件科技(南京)有限公司 | 一种报表自动发送系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105357297A (zh) | 一种数据缓存的系统及方法 | |
KR102367413B1 (ko) | 멀티-레벨 키-벨류 저장을 위한 시스템 및 그것의 동작 방법 | |
EP3637280B1 (en) | Data storage method and device, and storage medium | |
KR102431871B1 (ko) | 멀티-레벨 키-벨류 저장을 위한 로직 및 그것의 동작 방법 | |
CN103678408A (zh) | 一种查询数据的方法及装置 | |
CN103294710A (zh) | 一种数据存取方法和装置 | |
CN103488687A (zh) | 用于大数据的搜索系统和搜索方法 | |
CN100437590C (zh) | 预取对象的方法 | |
CN103237037A (zh) | 基于云计算架构的媒体格式转换方法和系统 | |
CN102710763B (zh) | 一种分布式缓存池化、分片及故障转移的方法及系统 | |
CN104113576A (zh) | 一种客户端的更新方法及装置 | |
CN102857578A (zh) | 一种网络硬盘的文件上传方法、系统及网盘客户端 | |
CN105468305A (zh) | 一种数据缓存方法、装置和系统 | |
CN103559300A (zh) | 数据的查询方法和查询装置 | |
CN104268298A (zh) | 一种创建数据库索引及其查询的方法 | |
CN104346345A (zh) | 数据的存储方法及装置 | |
CN103699557A (zh) | 报表处理方法及系统 | |
CN103944964A (zh) | 一种分布式系统及根据该系统进行逐步扩容的方法 | |
CN111597259B (zh) | 数据存储系统、方法、装置、电子设备及存储介质 | |
CN104142953A (zh) | 元数据动态管理方法及系统 | |
CN103226520B (zh) | 集群内存自适应管理方法、服务器集群系统 | |
CN103294912B (zh) | 一种面向移动设备基于预测的缓存优化方法 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN102724301B (zh) | 云数据库系统以及云数据读写处理方法、设备 | |
CN102325098B (zh) | 群信息获取方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160224 |
|
RJ01 | Rejection of invention patent application after publication |