[发明专利]数据缓存的方法和装置无效
申请号: | 201310052202.6 | 申请日: | 2013-02-18 |
公开(公告)号: | CN103164347A | 公开(公告)日: | 2013-06-19 |
发明(设计)人: | 邓伟仲;彭明华;洪克晗;张吉;辛振峰;牛兵强;陈丽超;陈磊;邓斌;郑云岭;何伟 | 申请(专利权)人: | 中国农业银行股份有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 孙宝海 |
地址: | 100005 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 缓存 方法 装置 | ||
技术领域
本发明涉及计算机软件存储技术领域,特别涉及一种数据缓存的方法和装置。
背景技术
软件系统是指由系统软件、支撑软件和应用软件组成的计算机软件系统,它是计算机系统中由软件组成的部分。它包括操作系统、语言处理系统、数据库系统、分布式软件系统和人机交互系统等。
随着软件系统的发展,软件系统多以服务的方式对其他系统提供数据,服务一般是指执行指定系统功能的程序。然而提供服务的程序往往非常复杂,伴随着大量底层数据的重复访问,业界提出了数据缓存的解决方案。
目前数据缓存采用的是一种系统缓存的方案。系统缓存方案存在以下几个问题:
首先,系统内存的存储容量有限,不可能同时缓存所有的数据,所以系统缓存只能缓存整个系统层面认为最有价值的数据,也即很小一部分数据,然而系统对外提供的服务是多元化的,很多服务需要的是个性化数据,系统缓存不能将这类数据缓存,这就导致有大量数据不能使用系统缓存。
其次,系统缓存一经分配,在系统运行的整个过程中会长期占用为其分配的系统内存资源,系统开销很大。
再次,系统缓存所占用的系统内存资源往往是预先设定好的,即预先分配固定大小的系统内存资源,如果系统缓存所占用的系统内存资源分配过大,则会造成长期的资源浪费,如果分配过小,又会影响系统的访问性能。
发明内容
本发明实施例所要解决的一个技术问题是:传统数据缓存技术在系统运行的整个过程中会长期占用为其分配的系统内存资源,系统开销很大的问题。
本发明实施例所要解决的另一个技术问题是:传统数据缓存技术受限于存储容量,仅能缓存部分数据的问题。
本发明实施例所要解决的再一个技术问题是:传统数据缓存技术通常占用固定大小的系统内存资源,不够灵活,容易造成资源浪费或者影响系统访问性能的问题。
本发明实施例的一个方面提供了一种数据缓存的方法,包括:响应于服务请求,创建服务线程;针对该服务线程,在系统内存中创建线程级缓存;在服务线程的业务逻辑处理过程中,根据该线程级缓存进行数据访问;在服务线程的业务逻辑处理完成后,释放该线程级缓存所占用的系统内存;销毁该服务线程。
所述根据该线程级缓存进行数据访问具体包括:在服务线程的业务逻辑处理过程中如果需要访问数据,检查该线程级缓存中是否存在该数据;如果该线程级缓存中存在该数据,从该线程级缓存访问该数据;如果该线程级缓存中不存在该数据,从数据库服务器访问该数据。
所述从数据库服务器访问该数据之后还包括:将该数据保存到该线程级缓存。
该线程级缓存对该服务线程用过的所有数据进行缓存。
在服务线程的业务逻辑处理过程中,根据该线程级缓存需要缓存的数据量,动态分配该线程级缓存占用的系统内存。
本发明实施例的另一个方面提供了一种数据缓存的装置,包括:线程创建单元,用于响应于服务请求,创建服务线程;线程级缓存创建单元,用于针对该服务线程,在系统内存中创建线程级缓存;数据访问单元,用于在服务线程的业务逻辑处理过程中,根据该线程级缓存进行数据访问;内存资源释放单元,用于在服务线程的业务逻辑处理完成后,释放该线程级缓存所占用的系统内存;线程销毁单元,用于销毁该服务线程。
所述数据访问单元,具体用于在服务线程的业务逻辑处理过程中如果需要访问数据,检查该线程级缓存中是否存在该数据;如果该线程级缓存中存在该数据,从该线程级缓存访问该数据;如果该线程级缓存中不存在该数据,从数据库服务器访问该数据。
数据缓存的装置还包括:数据缓存单元,用于在从数据库服务器访问该数据之后,将该数据保存到该线程级缓存。
该线程级缓存对该服务线程用过的所有数据进行缓存。
数据缓存的装置还包括:内存资源分配单元,用于在服务线程的业务逻辑处理过程中,根据该线程级缓存需要缓存的数据量,动态分配该线程级缓存占用的系统内存。
本发明提出了一种线程级缓存方案,该线程级缓存方案具有以下优点:
首先,本发明在创建服务线程时即创建线程级缓存,在服务线程的业务逻辑处理完成后,释放该线程级缓存所占用的系统内存,然后销毁该服务线程,可见,本发明线程级缓存的生命周期是一个服务线程的时间,占用系统内存资源的时间较短,通常是几微秒至几十毫秒,服务结束后线程级缓存全部释放,不占用任何资源,从而降低系统开销。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国农业银行股份有限公司,未经中国农业银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310052202.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置