[发明专利]一种数据缓存的方法、缓存服务器及系统无效
申请号: | 201210453698.3 | 申请日: | 2012-11-13 |
公开(公告)号: | CN103020115A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 邵珠玉 | 申请(专利权)人: | 深圳市同洲电子股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518057 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 缓存 方法 服务器 系统 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种数据缓存的方法、缓存服务器及系统。
背景技术
在程序设计中,数据库设计是一个比较重要的环节,数据库用于存储和检索数据,为了满足业务需求和实现复杂的业务逻辑,在数据库中需要设计许多数据表,并且还需要在数据表之间建立主键与外键的关联关系以保持数据的一致性和唯一性,这些关联关系将数据库中各个数据表关联在一起。
数据表间相互关联对于存储数据的速度没什么太大的影响,但是会严重影响检索数据的速度,现有技术中解决检索数据速度较慢的问题,一般采取优化数据库的方式来进行,比如:“建立索引”、“使用存储过程”、“优化SQL(structured query language,结构化查询语言)语句”等。
随着时间的推移,数据库在使用的过程中将会存储海量数据,为了应对业务的需要,需要在一二十个关联数据表中检索数据,当有大用户量访问时,数据库服务器硬盘灯将会狂闪不止,无数进程需要IO(Input/Output,输入/输出)操作,并处于阻塞状态。
在现有技术中,通常会使用缓存机制,缓存机制分为两种,一种是数据库缓存,一种是缓存框架,这两种缓存机制都是将常用的不经常改变的数据预先缓存到内存中,当客户端发起请求时,优先从缓存中提取,缓存中不存在需要的数据,才从数据库中查询,并将查询到的数据缓存到内存中,以备下次请求使用。
采用数据库缓存或缓存框架,在一般应用场景中确实可以解决问题,但是对于数据库中存储着海量数据,用户在通过客户端每次进行检索时,需要执行多条查询语句,并需要将这些查询语句返回的查询结果数据相互融合,最后将融合后的数据返回给客户端,在此情况下,如果使用上述数据库缓存和框架缓存,每次响应客户端的请求,仍然会需要执行查询、数据融合的步骤,耗费较长的时间,会影响用户的体验。
发明内容
本发明实施例所要解决的技术问题在于,提供一种数据缓存的方法、缓存服务器及系统,可以有效地提高检索数据的效率。
为了解决上述技术问题,本发明实施例提供了一种数据缓存的方法,包括:
根据数据库查询语句对数据库进行数据查询,得到查询结果;
根据所述查询结果和预先定义的数据对象模型,构造得到数据对象实体,所述数据对象模型是由数据库中的关联数据表转换成具有层级嵌套关系的模型,所述数据对象实体中包括了根据查询结果得到的数据及数据间的关联关系;
缓存所述数据对象实体。
其中,所述根据所述查询结果和预先定义的数据对象模型,构造得到数据对象实体,包括:
根据业务需求对所述查询结果进行业务逻辑运算;
将业务逻辑运算的运算结果和/或查询结果的数据录入到预先定义的所述数据对象模型中,将所述数据对象模型构造成所述数据对象实体。
其中,还包括:
将执行所述根据数据库查询语句对数据库进行数据查询得到查询结果所消耗的时间记录为第一消耗时间;
将构造得到数据对象实体所消耗的时间记录为第二消耗时间;
将所述第一消耗时间、所述第二消耗时间以及预设的缓冲时间之和作为间隔时长,所述间隔时长用于表示从当前执行对数据库进行数据查询开始距离下次执行对数据库进行数据查询的中间时间。
其中,所述缓存所述数据对象实体的步骤之后,还包括:
当达到所述间隔时长时,重新执行所述根据数据库查询语句对数据库进行数据查询,得到查询结果以及构造、缓存所述数据对象实体的操作,以更新所述数据对象实体。
其中,还包括:
当接收到业务服务器的数据查询请求时,发送已缓存的数据对象实体中符合数据查询请求参数的数据到所述业务服务器。
相应地,本发明实施例还提供了一种缓存服务器,包括:
查询模块,用于根据数据库查询语句对数据库进行数据查询,得到查询结果;
构造模块,用于根据所述查询结果和预先定义的数据对象模型,构造得到数据对象实体,所述数据对象模型是由数据库中的关联数据表转换成具有层级嵌套关系的模型,所述数据对象实体中包括了根据查询结果得到的数据及数据间的关联关系;
缓存模块,用于缓存所述数据对象实体。
其中,所述构造模块包括:
逻辑运算单元,用于根据业务需求对所述查询结果进行业务逻辑运算;
录入单元,用于将业务逻辑运算的运算结果和/或查询结果的数据录入到预先定义的所述数据对象模型中,将所述数据对象模型构造成所述数据对象实体。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市同洲电子股份有限公司,未经深圳市同洲电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210453698.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种地热地板的生产工艺
- 下一篇:一种人造石材建筑墙板
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置