CN106802955B - 一种图片数据缓存方法 - Google Patents

一种图片数据缓存方法 Download PDF

Info

Publication number
CN106802955B
CN106802955B CN201710039039.8A CN201710039039A CN106802955B CN 106802955 B CN106802955 B CN 106802955B CN 201710039039 A CN201710039039 A CN 201710039039A CN 106802955 B CN106802955 B CN 106802955B
Authority
CN
China
Prior art keywords
cache
memory
data
space
card
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.)
Active
Application number
CN201710039039.8A
Other languages
English (en)
Other versions
CN106802955A (zh
Inventor
于富昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur General Software Co Ltd
Original Assignee
Inspur General Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur General Software Co Ltd filed Critical Inspur General Software Co Ltd
Priority to CN201710039039.8A priority Critical patent/CN106802955B/zh
Publication of CN106802955A publication Critical patent/CN106802955A/zh
Application granted granted Critical
Publication of CN106802955B publication Critical patent/CN106802955B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/455Image or video data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种图片数据缓存方法,通过内存缓存和SD卡缓存来实现图片缓存,其中内存缓存包含两个层级,SD卡缓存包含一个层级的缓存,其具体实现过程为:首先在内存中开辟一块缓存空间,该缓存通过强引用类型存储数据,该缓存空间为每个应用分配的内存的八分之一;在内存中开辟一块二级缓存空间,通过软引用类型,来存储第一层内存剔除出来的缓存;然后在SD卡中建立一个目录来存储网络请求得到的图片数据;最后进行数据读取本发明的一种图片数据缓存方法与现有技术相比,通过利用LRU算法实现了一种包含内存缓存和SD卡缓存,可方便快速的在UI界面展示缓存的图片,提高用户体验,节省流量,实用性强。

Description

一种图片数据缓存方法
技术领域
本发明涉及计算机应用技术领域,具体地说是一种图片数据缓存方法。
背景技术
LRU,全称Least Rencetly Used,即最近最少使用,是一种非常常用的置换算法,也即淘汰最长时间未使用的对象。LRU在操作系统中的页面置换算法中广泛使用,我们的内存或缓存空间是有限的,当新加入一个对象时,造成我们的缓存空间不足了,此时就需要根据某种算法对缓存中原有数据进行淘汰货删除,而LRU选择的是将最长时间未使用的对象进行淘汰。
根据LRU算法的思想,要实现LRU最核心的是要有一种数据结构能够基于访问顺序来保存缓存中的对象,这样我们就能够很方便的知道哪个对象是最近访问的,哪个对象是最长时间未访问的。LruCache选择的是LinkedHashMap这个数据结构,LinkedHashMap是一个双向循环链表,在构造LinkedHashMap时,通过一个boolean值来指定LinkedHashMap中保存数据的方式。
通过查阅LRU代码可以知道当accessOrder 设置为 true时,每当我们更新(即调用put方法)或访问(即调用get方法)map中的结点时,LinkedHashMap内部都会将这个结点移动到链表的尾部,因此,在链表的尾部是最近刚刚使用的结点,在链表的头部是是最近最少使用的结点,当我们的缓存空间不足时,就应该持续把链表头部结点移除掉,直到有剩余空间放置新结点。
Android应用中联网加载并显示图片时,为了用户体验和节省流量,一定用到图片的缓存,通过缓存的图片同时也能够快速将图片展示到UI上,这对提升用户体验有很重要的作用,但是现有的图片加载方式较为落后,实用性不强。
因而,本发明提供一种通用数据交换接口的实现方法,本发明通过利用LRU算法实现了一种包含内存缓存和SD卡缓存。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、可广泛应用于异构数据集成与交换系统中的图片数据缓存方法。
一种图片数据缓存方法,通过内存缓存和SD卡缓存来实现图片缓存,其中内存缓存包含两个层级,SD卡缓存包含一个层级的缓存,其具体实现过程为:
首先在内存中开辟一块缓存空间,该缓存通过强引用类型存储数据,该缓存空间为每个应用分配的内存的八分之一;
在内存中开辟一块二级缓存空间,通过软引用类型,来存储第一层内存剔除出来的缓存;
然后在SD卡中建立一个目录来存储网络请求得到的图片数据;
最后进行数据读取,首先读取第一层强引用的缓存,通过get,即键值的方式看是否能够获取到,如果获取不到,则读取第二层软引用层的缓存,当第二层无法获取到缓存数据时,则查询SD卡中的缓存,三层中有一次命中即立刻返回调用者,不再向下查询,如三层均未能命中则此时需从网络请求资源,请求到之后除返回调用者外还需将请求到的内容同时存入第一层缓存和第三层缓存。
所述内存中的一级缓存空间使用LRU算法,通过软引用类型存储数据,即只要存在键值必能够找到对应的实体;二级缓存空间使用LRU算法,通过软引用类型存储数据,即存储第一层内存剔除出来的实体。
上述通过键值能够找到对应的实体是指在一级缓存空间中,通过键值获取缓存内容,提供移出缓存时的键值和缓存内容,即通过该一级缓存空间提供,提供put、get方法,在空间中存储数据的时候按照LRU算法存储,当缓存中有被替换出的内容时把被替换的内容反映出来,以便把被替换的内容放到下一层缓存中。
所述一级缓存空间用来存储强引用缓存和监听缓存移除事件,其创建过程为,
首先创建第一层级缓存:
在该第一层缓存空间中配置内存容量度量函数sizeOf函数,保证总体占据的空间不超过设置空间:
配置entryRemoved类,用于监听哪个图片资源被移除,并将移除的资源放入二级缓存:
配置一添加模块,来添加新图片资源到该第一层级缓存空间。
所述第二层级的缓存结构用软引用包装存入的图片资源,其创建过程为,
首先创建一个第二层级的缓存;
在该第二层级缓存空间中配置内存容量度量函数sizeOf函数,不让总体内存超过最大内存。
当向SD卡存储所有从网络获取到的图片数据时,存储方式通过LRU算法实现。
在创建SD卡的缓存时,需要指定缓存目录,应用版本,缓存版本和缓存大小,所述SD卡缓存使用DiskLruCache类,由此类直接负责对空间管理。
在进行数据读取时,通过逐层向下读取实现,具体为:首先从强引用存储区获取所需图片数据,如果命中则返回渲染UI,如果不能命中则从软引用存储区获取,如命中则从中取出需要的数据,如果仍未命中则从SD卡的缓存中获取,当还未命中,即都不存在时则从网络获取数据。
本发明的一种图片数据缓存方法和现有技术相比,具有以下有益效果:
本发明的一种图片数据缓存方法,通过利用LRU算法实现了一种包含内存缓存和SD卡缓存,可方便快速的在UI界面展示缓存的图片,提高用户体验,节省流量,实用性强,适用范围广泛,易于推广。
附图说明
附图1为本发明的实现流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
如附图1所示,一种图片数据缓存方法,通过内存缓存和SD卡缓存来实现图片缓存,其中内存缓存包含两个层级,SD卡缓存包含一个层级的缓存,其具体实现过程为:
A: 首先内存中开辟一块缓存空间,大约占有每个应用分配的内存的八分之一,此缓存使用LRU算法,并且使用强引用类型存储数据,即只要存在的键值必能够找到对应的实体,作用是能快速取出最常使用的实体。
利用LRU算法建立一个空间有限的,可以存储强引用的存储空间。用于存储从网络请求得到的数据。
B: 在内存中开辟一块二级的缓存空间,此空间中可以用来存储第一层内存剔除出来的实体,此缓存使用LRU算法,与第一层级不同的是第二层级使用软引用作为缓存,这一层级实现能够做到与第一层级几近相同的渲染速度,但是因为使用的是软引用,使用这段内存的时候就不必担心因为是强引用导致的OOM。
建立一个空间使用灵活,不影响内存空间回收,又能够提供内存级别读写速度的缓存。用于存储第一层缓存替换下来的仍有可能用到的数据。
C: 在SD卡中建立一个目录用来存储网络请求得到的图片数据,这一层分配的空间可以比较大,因为SD卡的空间是比较大的。同时,SD卡是三个层级的缓存中速度最慢的,类似于PC中内存和硬盘,SD卡即相当于硬盘,特点是存储量大,读取速度慢,但比网络快一些,并且更为稳定。
在SD卡中开辟一个属于本应用的目录空间用来存储当前应用从网络请求获取到的数据信息,但是这里也不是无限制的向此空间中存储,只是空间大小可以设置的比较大一些。
D: 读取的过程,首先从强引用存储区获取所需图片数据,如果命中则返回渲染UI,如果不能命中则从软引用存储区获取,如命中则从中取出需要的数据。再次,仍未命中则从SD卡的缓存中获取,最后如前面都不存在则必须从网络获取数据。
基于上述步骤,为完成Android软件能够实现高速和空间利用率高的缓存方案,在设计上本发明完善后的步骤如下:
1)设计一个存在在内存中的缓存,能够实现通过键值获取缓存内容,能够提供移出缓存时的键值和缓存内容的方法
这里包含的是设计一个指定大小的缓存空间,提供put,get方法,向空间中存储数据的时候能够按照LRU算法存储,当缓存中有被替换出的内容时需要把被替换的内容反映出来,以便把被替换的内容放到下一层缓存中。这里除了直接移除了第一层的存储之外,又尝试了存入第二层缓存,原因是此时移除的缓存内容仍然有较大的可能性被用到,所以存入二级缓存。
2)设计一个第二层级的缓存,用于存储第一层缓存。
通过第一层缓存通过替换算法替换缓存,把替换出来的键值和实体存到这一层缓存,目的是为了能够更好的利用内存空间,由于这里的缓存存储的是软引用所以不会影响系统对内存资源的回收。
3)设计一个SD卡缓存,用于存储所有从网络获取到的图片数据。
SD卡的特点是容量大,但速度比内存慢一些,当网络请求返回图片数据的时候,立刻在这里把数据存到SD卡中,到达SD卡这里的时候,存储方式同样遵循LRU,这样能够使存储的信息不至于过多,影响手机性能。同时键值对的对应有是通过URL的MD5编码来实现的。
4)读取缓存内容,把读取到的缓存反馈到调用者。
读取缓存需要逐层向下读取,首先读取第一层强引用的缓存,通过get(键值)的方式看是否能够获取到,如果获取不到,则读取第二层软引用层的缓存,在这一层空间有伸缩性,如果内存空间比较充足则可以读取到,如果比较紧张,这里的缓存内容也不是很多。这时需要查询SD卡中的缓存,SD卡内容较多,命中概率较高。三层中有一次命中即立刻返回调用者,不再向下查询,如三层均未能命中则此时需从网络请求资源,请求到之后除返回调用者外还需将请求到的内容同时存入第一层缓存和第三层缓存。
现在以实例来进行详细描述,该实例是在android应用界面开发中的实际应用,解决应用@互动机制问题:
1、设计一个第一层级,强引用的缓存,用来存储强引用缓存和监听缓存移除事件。
(1)创建第一层级缓存:
mMemoryFirstLevelCache = new LruCache<String, Bitmap>(cacheSize)
(2)实现sizeOf方法,实现这个方法是为了保证总体占据的空间不能超过设置空间:
@Override
protected int sizeOf(String key, SoftReference<Bitmap> value) {
return super.sizeOf(key, value);
}
(3)实现entryRemoved方法,这里是为了监听哪个图片资源被移除,这里移除的资源放入二级缓存:
@Override
protected void entryRemoved(boolean evicted, String key,
Bitmap oldValue, Bitmap newValue) {
super.entryRemoved(evicted, key, oldValue, newValue);
SoftReference<Bitmap> softReference = new SoftReference<Bitmap>(
oldValue);
mSecondMemoryCache.put(key, softReference);
}
4)实现添加新图片资源到缓存空间的方法:
public void addBitmapToMemoryCache(String key, Bitmap bitmap) {
if (getBitmapFromMemoryCache(key) == null) {
mMemoryCache.put(key, bitmap);
}
}
2、设计一个第二层级的缓存结构,用软引用包装存入的图片资源。
(1)创建一个第二层级的缓存。
mMemorySecondLevelCache = new LruCache<String, SoftReference<Bitmap>>(cacheSize)
(2)实现sizeOf方法,不让总体内存超过最大内存。
@Override
protected int sizeOf(String key, SoftReference<Bitmap> value) {
return super.sizeOf(key, value);
}
3、设计一个SD卡的缓存方案,存储网络数据。
1)创建一个SD卡的缓存,需要指定缓存目录,应用版本,缓存版本和缓存大小,这里的SD卡缓存使用DiskLruCache类,由此类直接负责对空间管理:
mDiskThirdLevelCache = DiskLruCache.open(cacheDir, getAppVersion(context),1, 10 * 1024 * 1024);
4、顺次读取缓存内容。
(1)读取第一层缓存:
public Bitmap getBitmapFromMemoryCache(String key) {
if (mMemoryCache.get(key) == null) {
return getBitmapFromSecondMemoryCache(key);
}
return mMemoryCache.get(key);
}
(2)如果第一层为空则读取第二层缓存:
public Bitmap getBitmapFromSecondMemoryCache(String key) {
if (mSecondMemoryCache.get(key) != null) {
return mSecondMemoryCache.get(key).get();
}
return null;
}
3)如果没有则查询SD卡缓存:
snapShot = mDiskLruCache.get(key);
(4)如果SD卡没有则启动异步任务获取资源,同时把请求结果存入第一层缓存和SD卡缓存:
CacheTask cacheTask = new CacheTask();
cacheTask.execute(imageUrl);
DiskLruCache.Editor editor = mDiskLruCache.edit(key);
if (editor != null) {
OutputStream outputStream = editor.newOutputStream(0);
if (downloadUrlToStream(imageUrl, outputStream)) {
editor.commit();
} else {
editor.abort();
}
}
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (4)

1.一种图片数据缓存方法,其特征在于,通过内存缓存和SD卡缓存来实现图片缓存,其中内存缓存包含两个层级,SD卡缓存包含一个层级的缓存,其具体实现过程为:
首先在内存中开辟一块缓存空间,该缓存通过强引用类型存储数据,该缓存空间为每个应用分配的内存的八分之一;
在内存中开辟一块二级缓存空间,通过软引用类型,来存储第一层内存剔除出来的缓存;
然后在SD卡中建立一个目录来存储网络请求得到的图片数据;
最后进行数据读取,首先读取第一层强引用的缓存,通过get,即键值的方式看是否能够获取到,如果获取不到,则读取第二层软引用层的缓存,当第二层无法获取到缓存数据时,则查询SD卡中的缓存,三层中有一次命中即立刻返回调用者,不再向下查询,如三层均未能命中则此时需从网络请求资源,请求到之后除返回调用者外还需将请求到的内容同时存入第一层缓存和第三层缓存;
内存中的一级缓存空间使用LRU算法,通过软引用类型存储数据,即只要存在键值必能够找到对应的实体;二级缓存空间使用LRU算法,通过软引用类型存储数据,即存储第一层内存剔除出来的实体;
通过键值能够找到对应的实体是指在一级缓存空间中,通过键值获取缓存内容,提供移出缓存时的键值和缓存内容,即通过该一级缓存空间提供,提供put、get方法,在空间中存储数据的时候按照LRU算法存储,当缓存中有被替换出的内容时把被替换的内容反映出来,以便把被替换的内容放到下一层缓存中;
一级缓存空间用来存储强引用缓存和监听缓存移除事件,其创建过程为,
首先创建第一层级缓存:
在该第一层缓存空间中配置内存容量度量函数sizeOf函数,保证总体占据的空间不超过设置空间:
配置entryRemoved类,用于监听哪个图片资源被移除,并将移除的资源放入二级缓存:
配置一添加模块,来添加新图片资源到该第一层级缓存空间;
在进行数据读取时,通过逐层向下读取实现,具体为:首先从强引用存储区获取所需图片数据,如果命中则返回渲染UI,如果不能命中则从软引用存储区获取,如命中则从中取出需要的数据,如果仍未命中则从SD卡的缓存中获取,当还未命中,即都不存在时则从网络获取数据。
2.根据权利要求1所述的一种图片数据缓存方法,其特征在于,所述第二层级的缓存结构用软引用包装存入的图片资源,其创建过程为,
首先创建一个第二层级的缓存;
在该第二层级缓存空间中配置内存容量度量函数sizeOf函数,不让总体内存超过最大内存。
3.根据权利要求1所述的一种图片数据缓存方法,其特征在于,当向SD卡存储所有从网络获取到的图片数据时,存储方式通过LRU算法实现。
4.根据权利要求3所述的一种图片数据缓存方法,其特征在于,在创建SD卡的缓存时,需要指定缓存目录,应用版本,缓存版本和缓存大小,所述SD卡缓存使用DiskLruCache类,由此类直接负责对空间管理。
CN201710039039.8A 2017-01-19 2017-01-19 一种图片数据缓存方法 Active CN106802955B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710039039.8A CN106802955B (zh) 2017-01-19 2017-01-19 一种图片数据缓存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710039039.8A CN106802955B (zh) 2017-01-19 2017-01-19 一种图片数据缓存方法

Publications (2)

Publication Number Publication Date
CN106802955A CN106802955A (zh) 2017-06-06
CN106802955B true CN106802955B (zh) 2020-06-16

Family

ID=58986961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710039039.8A Active CN106802955B (zh) 2017-01-19 2017-01-19 一种图片数据缓存方法

Country Status (1)

Country Link
CN (1) CN106802955B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908470B (zh) * 2017-07-24 2019-11-26 广东电网有限责任公司信息中心 一种基于cim模型的查询访问方法、装置及系统
CN107656699B (zh) * 2017-08-18 2020-11-10 上海车音智能科技有限公司 图片调用方法及装置
CN110247939A (zh) * 2018-03-08 2019-09-17 上海秦苍信息科技有限公司 利用多级缓存技术实现的高性能混合框架
CN108932143A (zh) * 2018-06-01 2018-12-04 国电南瑞科技股份有限公司 一种基于调度控制系统的告警信息动态展示方法
CN110866013A (zh) * 2019-11-15 2020-03-06 浙江鸿程计算机系统有限公司 一种优化Android应用频繁网络请求的三级缓存方法
CN113282855A (zh) * 2021-06-01 2021-08-20 广州欢网科技有限责任公司 Android系统的图片加载方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101692229A (zh) * 2009-07-28 2010-04-07 武汉大学 基于数据内容的三维空间数据自适应多级缓存系统
CN103327074A (zh) * 2013-05-24 2013-09-25 浪潮电子信息产业股份有限公司 一种全局共享缓存的紧耦合多控多活存储系统的设计方法
CN104239101A (zh) * 2014-09-11 2014-12-24 四川长虹电器股份有限公司 基于安卓系统的设备的网络图片的缓存方法
CN105302830A (zh) * 2014-07-09 2016-02-03 方正国际软件(北京)有限公司 一种地图瓦片缓存方法及装置
CN106055679A (zh) * 2016-06-02 2016-10-26 南京航空航天大学 一种多层次缓存感知型索引方法
CN106095835A (zh) * 2016-05-31 2016-11-09 广东能龙教育股份有限公司 一种客户端图片四层缓存方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104216838A (zh) * 2013-06-05 2014-12-17 北京齐尔布莱特科技有限公司 双缓存数据处理方法及系统
US9349213B2 (en) * 2013-09-09 2016-05-24 Vivante Corporation Tile-based accumulative multi-layer alpha blending systems and methods
CN104699626B (zh) * 2013-12-10 2019-02-19 中兴通讯股份有限公司 终端内存处理方法、装置及终端
CN104714897A (zh) * 2013-12-13 2015-06-17 航天信息股份有限公司 一种android平台下基于缓存的列表处理方法
US9380086B2 (en) * 2014-02-18 2016-06-28 Dropbox, Inc. Pre-transcoding content items
US20150248352A1 (en) * 2014-02-28 2015-09-03 Dell Products, L.P. Methods and systems for optimization of storage performance across multiple compute devices
CN104935680B (zh) * 2015-06-18 2018-11-06 中国互联网络信息中心 一种多层级共享缓存的递归域名服务系统和方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101692229A (zh) * 2009-07-28 2010-04-07 武汉大学 基于数据内容的三维空间数据自适应多级缓存系统
CN103327074A (zh) * 2013-05-24 2013-09-25 浪潮电子信息产业股份有限公司 一种全局共享缓存的紧耦合多控多活存储系统的设计方法
CN105302830A (zh) * 2014-07-09 2016-02-03 方正国际软件(北京)有限公司 一种地图瓦片缓存方法及装置
CN104239101A (zh) * 2014-09-11 2014-12-24 四川长虹电器股份有限公司 基于安卓系统的设备的网络图片的缓存方法
CN106095835A (zh) * 2016-05-31 2016-11-09 广东能龙教育股份有限公司 一种客户端图片四层缓存方法
CN106055679A (zh) * 2016-06-02 2016-10-26 南京航空航天大学 一种多层次缓存感知型索引方法

Also Published As

Publication number Publication date
CN106802955A (zh) 2017-06-06

Similar Documents

Publication Publication Date Title
CN106802955B (zh) 一种图片数据缓存方法
US10599637B2 (en) Granular buffering of metadata changes for journaling file systems
US9563554B2 (en) Persistent content in nonvolatile memory
CN105635196B (zh) 一种获取文件数据的方法、系统和应用服务器
US9727479B1 (en) Compressing portions of a buffer cache using an LRU queue
US10114762B2 (en) Method and apparatus for querying physical memory address
TWI507987B (zh) 智能設備啓動過程的資料處理方法及智能設備
CN108108089B (zh) 一种图片加载方法及装置
US20130290636A1 (en) Managing memory
EP3115904B1 (en) Method for managing a distributed cache
CN101217449B (zh) 远程调用管理方法
CN114185494B (zh) 内存匿名页的处理方法、电子设备及可读存储介质
CN109376125A (zh) 一种元数据存储方法、装置、设备及计算机可读存储介质
US11074189B2 (en) FlatFlash system for byte granularity accessibility of memory in a unified memory-storage hierarchy
WO2016131175A1 (zh) 多核系统中数据访问者目录的访问方法及设备
US20230088344A1 (en) Storage medium management method and apparatus, device, and computer-readable storage medium
CN114390069B (zh) 基于分布式缓存的数据访问方法与系统、设备及存储介质
US7747627B1 (en) Method and system for file retrieval using image virtual file system
CN116303267A (zh) 数据访问方法、装置、设备以及存储介质
CN114936010A (zh) 数据处理方法、装置、设备及介质
US10552343B2 (en) Zero thrash cache queue manager
US20100077147A1 (en) Methods for caching directory structure of a file system
CN113485642A (zh) 数据缓存方法及装置
CN104932989B (zh) 数据到高速缓冲层次低延迟层级中的机会性高速缓冲注入
CN113778693B (zh) 缓存操作方法、缓存操作装置、电子设备及处理器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200519

Address after: 250100 Ji'nan high tech Zone, Shandong, No. 1036 wave road

Applicant after: INSPUR GENERAL SOFTWARE Co.,Ltd.

Address before: 250100, Ji'nan province high tech Zone, Sun Village Branch Road, No. 2877, building, floor, building, on the first floor

Applicant before: JINAN INSPUR HI-TECH INVESTMENT AND DEVELOPMENT Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant