数据缓存方法和装置.pdf

上传人:32 文档编号:970911 上传时间:2018-03-22 格式:PDF 页数:14 大小:550.90KB
返回 下载 相关 举报
摘要
申请专利号:

CN200810056914.4

申请日:

2008.01.25

公开号:

CN101493821A

公开日:

2009.07.29

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 17/30公开日:20090729|||公开

IPC分类号:

G06F17/30; G06F12/08

主分类号:

G06F17/30

申请人:

中兴通讯股份有限公司

发明人:

叶小伟

地址:

518057广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明公开了一种数据缓存方法,包括:记录内存中所存储数据的容量大小、刷新次数和命中次数中的至少一种信息;根据设置的量化指标以及所记录的信息对内存数据进行清理。本发明还提供了一种数据缓存装置,通过配置内存的量化指标,根据量化指标对内存的存储空间大小进行控制;通过记录内存中数据容量大小、刷新次数和命中次数,当内存的存储空间达到上限时,将内存中容量大的数据卸载,并通过腐烂搜索将用户终端访问量少的数据卸载,从而减少了内存资源损耗,提高了内存的使用效率和系统的稳定性。

权利要求书

1、  一种数据缓存方法,其特征在于,包括:
记录内存中所存储各数据的容量大小、刷新次数和命中次数中的至少一种信息;
根据设置的量化指标以及所记录的信息对所述内存数据进行清理。

2、
  根据权利要求1所述数据缓存方法,其特征在于,所述量化指标为内存存储空间上限和数据命中次数下限中的至少一种。

3、
  根据权利要求1或2所述数据缓存方法,其特征在于,所述对内存数据进行清理为:根据所记录内存各数据的容量大小得到所述内存中存储数据的总容量大小;将所述数据总容量大小与所设置量化指标中的内存存储空间上限进行比较;当数据总容量大小超出内存存储空间上限时,将所述内存中容量较大的数据卸载。

4、
  根据权利要求1或2所述数据缓存方法,其特征在于,所述对内存数据进行清理为:将所述各数据的命中次数与所设置量化指标中的数据命中次数下限进行比较;根据比较结果将所述内存中命中次数低于命中次数下限的数据卸载。

5、
  根据权利要求1或2所述数据缓存方法,其特征在于,所述记录内存中所存储各数据的容量大小、刷新次数和命中次数中的至少一种信息之后,该方法还包括:对所记录内存中各数据的信息进行比较,将容量大、刷新次数高和命中次数高的数据靠前排列。

6、
  一种数据缓存装置,其特征在于,包括:相互连接的信息记录单元和数据清理单元;其中,
所述信息记录单元,用于记录内存中所存储数据的容量大小、刷新次数和命中次数中的至少一种信息提供给所述数据清理单元;
所述数据清理单元,用于根据设置的量化指标以及所记录的信息对所述内存数据进行清理。

7、
  根据权利要求6所述数据缓存装置,其特征在于,所述数据清理单元进一步包括:数据总容量获取子单元、比较子单元和数据卸载子单元;其中,
所述数据总容量获取子单元,用于根据所记录内存各数据的容量大小得到所述内存中存储数据的总容量大小提供给所述比较子单元;
所述比较子单元,用于将所述数据总容量大小和各数据的命中次数,分别与所设置量化指标中的内存存储空间上限和数据命中次数下限进行比较,并将比较结果提供给所述数据卸载子单元;
所述数据卸载子单元,用于根据比较结果将所述内存中命中次数低于命中次数下限的数据,和数据总容量大小超出内存存储空间上限时容量较大的数据卸载。

8、
  根据权利要求6或7所述数据缓存装置,其特征在于,所述装置还包括:排序单元,连接所述信息记录单元,用于对所述内存中的数据进行排列,将容量大、刷新次数高和命中次数高的数据靠前排列。

说明书

数据缓存方法和装置
技术领域
本发明涉及数据存储技术,尤其涉及一种数据缓存方法和装置。
背景技术
随着数据库技术的不断成熟,数据库的存储量日趋巨大,从而可以为用户提供更加丰富的数据服务,用户可从数据库中获取所需的数据。实际应用中,对于用户需求量大的系统,如一个日访问量达到百万级的网站,由于每个用户的爱好、需求不尽相同,在单位时间内,需要处理大量的数据分析和访问工作,对系统性能和用户浏览速度也会造成影响,给用户的数据浏览造成瓶颈。
为解决上述问题,现有技术将用户需要浏览的数据初始化到内存中缓存起来,用户访问网站时可从内存中获取数据。现有技术的数据缓存方式如图1所示,将数据库中所存储的用户终端需要浏览的数据初始化到内存中进行缓存,当数据库中的数据发生更新时,通过外部接口对内存中的相应数据进行刷新,用户终端向页面发送访问请求后,页面从内存中获取用户终端所需数据进行加载,然后将加载的数据返回给用户终端。现有技术的数据缓存方式可提高用户终端浏览速度,但是由于内存资源始终是有限的,当数据量非常大的时候,容易造成内存资源不足,导致系统的稳定性降低;也常会出现内存中的一部分数据始终不被用户终端浏览的情况,导致内存资源的使用混乱,造成内存资源的浪费,使得内存的使用效率较低。
发明内容
有鉴于此,本发明的主要目的在于提供一种数据缓存方法和装置,以解决现有技术的数据缓存方法对内存的使用效率较低的问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种数据缓存方法,包括:
记录内存中所存储各数据的容量大小、刷新次数和命中次数中的至少一种信息;
根据设置的量化指标以及所记录的信息对所述内存数据进行清理。
所述量化指标为内存存储空间上限和数据命中次数下限中的至少一种。
所述对内存数据进行清理为:根据所记录内存各数据的容量大小得到所述内存中存储数据的总容量大小;将所述数据总容量大小与所设置量化指标中的内存存储空间上限进行比较;当数据总容量大小超出内存存储空间上限时,将所述内存中容量较大的数据卸载。
所述对内存数据进行清理为:将所述各数据的命中次数与所设置量化指标中的数据命中次数下限进行比较;根据比较结果将所述内存中命中次数低于命中次数下限的数据卸载。
所述记录内存中所存储各数据的容量大小、刷新次数和命中次数中的至少一种信息之后,该方法还包括:对所记录内存中各数据的信息进行比较,将容量大、刷新次数高和命中次数高的数据靠前排列。
本发明还提供了一种数据缓存装置,包括:相互连接的信息记录单元和数据清理单元;其中,
所述信息记录单元,用于记录内存中所存储数据的容量大小、刷新次数和命中次数中的至少一种信息提供给所述数据清理单元;
所述数据清理单元,用于根据设置的量化指标以及所记录的信息对所述内存数据进行清理。
所述数据清理单元进一步包括:数据总容量获取子单元、比较子单元和数据卸载子单元;其中,
所述数据总容量获取子单元,用于根据所记录内存各数据的容量大小得到所述内存中存储数据的总容量大小提供给所述比较子单元;
所述比较子单元,用于将所述数据总容量大小和各数据的命中次数,分别与所设置量化指标中的内存存储空间上限和数据命中次数下限进行比较,并将比较结果提供给所述数据卸载子单元;
所述数据卸载子单元,用于根据比较结果将所述内存中命中次数低于命中次数下限的数据,和数据总容量大小超出内存存储空间上限时容量较大的数据卸载。
所述装置还包括:排序单元,连接所述信息记录单元,用于对所述内存中的数据进行排列,将容量大、刷新次数高和命中次数高的数据靠前排列。
本发明所提供的数据缓存方法和装置,通过配置内存的量化指标,根据量化指标对内存的存储空间大小进行控制;通过记录内存中数据容量大小、刷新次数和命中次数,当内存的存储空间达到上限时,将内存中容量大的数据卸载,并通过腐烂搜索将用户终端访问量少的数据卸载,从而减少了内存资源损耗,提高了内存的使用效率和系统的稳定性。
附图说明
图1为现有技术的数据缓存示意图;
图2为本发明一种数据缓存方法的流程图;
图3为本发明实施例的网站访问系统的数据缓存示意图;
图4为本发明实施例的数据缓存方法的流程图;
图5为本发明一种数据缓存装置的组成结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
如图2所示,图2为本发明一种数据缓存方法的流程图,主要包括以下步骤:
步骤201,记录内存中所存储各数据的容量大小、刷新次数和命中次数中的至少一种信息。
所谓容量大小是指数据所需占用内存的存储空间大小,当内存从数据库中获取数据时,即记录下对应数据的容量大小;所谓刷新是指数据库中的数据发生更新时,数据库通过外部接口对内存中的对应数据进行更新的过程,内存中数据每更新一次,则记录的对应数据的刷新次数就增加一;所谓命中次数是指用户终端对内存中数据的调用次数,内存中数据每被调用一次,则记录的对应数据的命中次数增加一。内存对上述各数据的容量大小、刷新次数和命中次数中的至少一种信息进行记录并存储。
步骤202,根据设置的量化指标以及所记录的信息对内存数据进行清理。
用户可根据实际需要设置量化指标,并将所设置的量化指标以配置文件的形式存储在内存中,以供内存读取。量化指标中规定了内存中可用来存储数据的存储空间上限和数据命中次数下限等信息中的至少一种,所谓存储空间上限是指可用来进行数据存储的最大存储空间;所谓数据命中次数下限是指数据被命中的最低次数。
数据清理的方式包括周期性清理和条件触发清理等,周期性清理如:通过在内存中设置定时器,周期性的对内存所存数据进行腐烂搜索,将所存各数据的命中次数与所设置量化指标中的数据命中次数下限进行比较,并根据比较结果将命中次数低于命中次数下限的数据和/或刷新次数远大于命中次数的数据卸载;条件触发清理如:内存根据所记录各数据的容量大小得到内存中存储数据的总容量大小,并将得到的数据总容量大小与所设置量化指标中的内存存储空间上限进行比较,在数据总容量大小超出内存存储空间上限的条件下,将内存中容量较大的数据卸载。
上述图2所示的数据缓存方法适用于内存受限的系统中,如网站访问系统。下面以图3所示的网站访问系统为例,并结合图4所示用户终端访问网站的过程对本发明实施例的数据缓存方法进一步详细描述,图3所示的网站访问系统相比图1所示现有技术的网站访问系统,增设了回收空间,用于内存中数据的卸载,图4所示实施例的数据缓存方法主要包括以下步骤:
步骤401,读取配置文件,申请数据存储空间,初始化各个量化指标。
内存读取配置文件,通过解析得到配置文件中的量化指标,并初始化各个量化指标,量化指标中包括内存存储空间上限和数据命中次数下限等信息。内存根据量化指标中的内存存储空间上限申请数据存储空间,将数据存储空间划分为多个数据块,用以对从数据库中获取的数据进行分块存储,各数据块的存储空间可设为相同,也可设为不同。
步骤402,内存接收用户终端发送的数据请求。
用户终端通过访问网站时,通过页面向内存发送数据请求,该数据请求中包括用户终端需要访问的数据信息。
步骤403,查找内存中是否存在用户终端所需访问的数据,如果存在,则将对应数据的命中次数加一,并转到步骤408;如果不存在,则转到步骤404。
步骤404,从数据库中获取用户终端所需数据,并将获取的数据加载到内存中,计算所获取数据的容量大小。
步骤405,检查数据总容量大小是否超过内存存储空间上限,如果超过,则转到步骤406;否则,转到步骤407。
内存根据所记录各数据的容量大小得到内存中存储数据的总容量大小,并将得到的数据总容量大小与所设置量化指标中的内存存储空间上限进行比较,从而判断数据总容量大小是否超过内存存储空间上限。
步骤406,执行空间限制清理。
内存将所存储数据中容量较大的数据卸载,放入回收空间中,并将所卸载数据占用的存储空间释放。
步骤407,设置所获取数据的刷新次数和命中次数为零,并根据数据容量大小、刷新次数和命中次数信息,将该数据插入到内存的数据列表中。
内存中所存数据是按照一定的原则进行排序,并以列表的形式进行存储的。排序的原则为:首先比较各数据的容量大小,将各数据按照容量由大到小的顺序进行排列;如果存在容量大小相同的数据,则进一步比较这些容量大小相同数据的刷新次数,将这些数据再按照刷新次数由高到低的顺序进行排列;如果还存在刷新次数相同的数据,则进一步比较这些刷新次数相同数据的命中次数,将这些数据继续按照命中次数由高到低的顺序进行排列。需要指出的是,本发明的内存数据排序原则并非仅仅局限于上述的排序原则,实际应用中可根据需要对排序原则进行设置。
对于内存新获取的数据,则按照上述的排序原则与数据列表中的数据进行比较,并将新获取的数据插入数据列表中的适当位置。
步骤408,内存将用户终端所需数据返回给用户终端。
另外,在上述图4所示的实施例中,内存对所存数据进行定时腐烂搜索,将各数据的命中次数与所设置量化指标中的数据命中次数下限进行比较,并根据比较结果将内存中命中次数低于命中次数下限的数据和/或刷新次数远大于命中次数的数据卸载。
为实现上述本发明的数据缓存方法,本发明还提供了一种数据缓存装置,如图5所示,该装置包括:信息记录单元100、数据清理单元200和排序单元300。信息记录单元100,用于记录内存中所存储数据的容量大小、刷新次数和命中次数中的至少一种信息提供给数据清理单元200。数据清理单元200,连接信息记录单元100,用于根据设置的量化指标以及所记录的信息对内存数据进行清理。排序单元300,连接信息记录单元100,用于对内存中的数据进行排列,将容量大、刷新次数高和命中次数高的数据靠前排列。图5所示的数据缓存装置设置于图3所示系统的内存中。
其中,数据清理单元200进一步包括:数据总容量获取子单元210、比较子单元220和数据卸载子单元230。数据总容量荻取子单元210,用于根据所记录内存各数据的容量大小得到内存中存储数据的总容量大小提供给比较子单元220。比较子单元220,连接数据总容量获取子单元210,用于将数据总容量大小和各数据的命中次数,分别与所设置量化指标中的内存存储空间上限和数据命中次数下限进行比较,并将比较结果提供给数据卸载子单元230。数据卸载子单元230,连接比较子单元220,用于根据比较结果将内存中命中次数低于命中次数下限的数据,和数据总容量大小超出内存存储空间上限时容量较大的数据卸载。
综上所述,本发明的数据缓存方法和装置,通过记录内存中数据容量大小、刷新次数和命中次数,当内存的存储空间达到上限时,将内存中容量大的数据卸载,并通过腐烂搜索将用户终端访问量少的数据卸载,从而减少了内存资源损耗,提高了内存的使用效率和系统的稳定性。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

数据缓存方法和装置.pdf_第1页
第1页 / 共14页
数据缓存方法和装置.pdf_第2页
第2页 / 共14页
数据缓存方法和装置.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《数据缓存方法和装置.pdf》由会员分享,可在线阅读,更多相关《数据缓存方法和装置.pdf(14页珍藏版)》请在专利查询网上搜索。

本发明公开了一种数据缓存方法,包括:记录内存中所存储数据的容量大小、刷新次数和命中次数中的至少一种信息;根据设置的量化指标以及所记录的信息对内存数据进行清理。本发明还提供了一种数据缓存装置,通过配置内存的量化指标,根据量化指标对内存的存储空间大小进行控制;通过记录内存中数据容量大小、刷新次数和命中次数,当内存的存储空间达到上限时,将内存中容量大的数据卸载,并通过腐烂搜索将用户终端访问量少的数据卸载。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1