[发明专利]一种数据缓存系统和数据查询方法无效
申请号: | 201010042712.1 | 申请日: | 2010-01-06 |
公开(公告)号: | CN102117309A | 公开(公告)日: | 2011-07-06 |
发明(设计)人: | 李升林;王迎峰;林伟军;邓福喜;廖炳才;颜小刚;张宗元;吕秋明;肖伟;刘志尧;邓明;樊小彬;柳江 | 申请(专利权)人: | 卓望数码技术(深圳)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/08 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 李琴 |
地址: | 518057 广东省深圳市南山区高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 缓存 系统 查询 方法 | ||
技术领域
本发明涉及缓存技术,更具体地说,涉及一种数据缓存系统和数据查询方法。
背景技术
为减轻数据库服务器的访问压力,大多数应用服务器都设置有数据缓存系统。这种数据缓存系统的作用是临时存储用户经常访问的数据。如此一来,当用户再次访问已经进行了临时存储的数据时便可直接返回该数据,而无需再从数据库服务器中获取该数据,由此降低数据库服务器的负担。
目前最为常用的一种网络数据缓存系统为Memcached系统。Memcached系统是一种分布式内存缓存系统,其采用Client/Server(客户端/服务器)结构,基于socket进行通信。Memcached系统采用(key,value)方式进行数据的缓存,不存在逻辑表的概念,所有数据均共享同一存储空间。Memcached系统使用进程内存来存储缓存的数据,如此一来,当Memcached系统的关键进程发生异常导致Memcached系统重启时,通过Memcached系统缓存的数据将会丢失。此外,Memcached没有数据表的概念,所有缓存数据共享同一存储空间,缺少逻辑上的划分,不便于数据的管理和使用。此外,Memcached系统不支持多索引,因此若希望为同一数据记录设置多个索引,则需要为该数据记录准备多个副本,存储空间浪费严重。而且Memcached系统不具备数据备份机制,可靠性不高。
因此,需要一种数据缓存系统,能够有效克服现有Memcached系统存在的上述缺陷。
发明内容
本发明要解决的技术问题在于,针对现有Memcached系统不支持多索引等缺陷,提供一种数据缓存系统和数据查询方法。
本发明解决其技术问题所采用的技术方案是:
构造一种数据缓存系统,包括缓存代理和与缓存代理通信连接的至少一个缓存服务器;
所述缓存代理用于接收查询请求并基于该查询请求进行散列计算,然后将该查询请求发往散列计算结果指向的缓存服务器;
接收所述查询请求的缓存服务器用于提取所述查询请求中包含的搜索字段和搜索关键字,首先依据该搜索字段在共享内存中存储的缓存表的索引区中查找对应的索引表,然后依据搜索关键字在该索引表中查找对应的索引,再依据该索引在缓存表的数据区中查找对应的数据记录,然后通过缓存代理返回找到的数据记录。
在本发明提供的数据缓存系统中,每一缓存服务器与数据库服务器通信连接,接收所述查询请求的缓存服务器用于在未找到所述索引时,从数据库服务器获取所述查询请求所对应的请求查询的数据记录并为其生成对应的索引,然后将获取的数据记录和生成的索引分别添加到所述索引表和数据区中,再通过所述缓存代理返回该数据记录。
在本发明提供的数据缓存系统中,所述缓存代理用于在判定所述散列计算结果指向的缓存服务器不可用时,基于所述查询请求向所述至少一个缓存服务器中与该不可用缓存服务器相配对的缓存服务器发出搜索请求;
与所述不可用缓存服务器相配对的缓存服务器的共享内存中存储有该不可用缓存服务器的缓存表的副本;接收该搜索请求的缓存服务器用于提取所述搜索请求中包含的搜索字段和搜索关键字,首先依据该搜索字段在共享内存中存储的所述副本的索引区中查找对应的索引表,然后依据搜索关键字在该索引表中查找对应的索引,最后依据该索引在所述副本的数据区中查找对应的数据记录,然后通过缓存代理返回找到的数据记录。
在本发明提供的数据缓存系统中,每一缓存服务器用于在启动时读取存储的XML格式的配置文件,并依据该配置文件生成所述缓存表。
在本发明提供的数据缓存系统中,每一缓存服务器用于基于LRU方式或者TIMEOUT方式对自身缓存表进行数据置换操作。
本发明还提供了一种数据查询方法,包括:
转发步骤,包括缓存代理接收查询请求并基于该查询请求进行散列计算,然后将该查询请求发往散列计算结果指向的缓存服务器;
查找步骤,包括接收所述查询请求的缓存服务器提取所述查询请求中包含的搜索字段和搜索关键字,首先依据该搜索字段在共享内存中存储的缓存表的索引区中查找对应的索引表,然后依据搜索关键字在该索引表中查找对应的索引,再依据该索引在缓存表的数据区中查找对应的数据记录,然后通过缓存代理返回找到的数据记录。
在本发明提供的数据查询方法中,所述查找步骤还包括接收所述查询请求的缓存服务器在未找到所述数据记录时,从数据库服务器获取所述查询请求所对应的请求查询的数据记录并为其生成对应的索引,然后将获取的数据记录和生成的索引分别添加到所述索引表和数据区中,再通过所述缓存代理返回该数据记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卓望数码技术(深圳)有限公司,未经卓望数码技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010042712.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:智能离心开关断开转速测试仪
- 下一篇:地源热泵岩土有效导热系数现场测定系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置