CN102566999A - 一种基于缓存的图标读取方法 - Google Patents
一种基于缓存的图标读取方法 Download PDFInfo
- Publication number
- CN102566999A CN102566999A CN2010106175105A CN201010617510A CN102566999A CN 102566999 A CN102566999 A CN 102566999A CN 2010106175105 A CN2010106175105 A CN 2010106175105A CN 201010617510 A CN201010617510 A CN 201010617510A CN 102566999 A CN102566999 A CN 102566999A
- Authority
- CN
- China
- Prior art keywords
- icon
- task
- buffer memory
- storer
- index
- 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.)
- Granted
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供一种基于缓存的图标读取方法,在该方法中,查询缓存中是否存在目标任务,若存在,则直接返回目标任务;若不存在,查询已经完成但是未来得及放入缓存的存储器中是否存在此目标任务;若存在直接返回此任务;若不存在,则进行实时的目标任务读取工作。本发明利用缓存机制,提高了读取图标的效率;并且利用多线程,异步读取图标,保证了读取的实时性。
Description
技术领域
本发明涉及一种基于缓存的图标读取方法,属于计算机技术领域。
背景技术
在图像/视频处理软件中,工程浏览器主要用于对工程中的所有序列、流程图和素材进行管理,在这个视窗中可以导入素材并显示素材的基本信息;图标是表征素材基本信息的最直观方式。
CN1801061公开了一种手持式数据处理装置的动态显示功能选单图标的系统及其方法。其具备一图标组缓存单元,用以暂存选定的功能选单图标组;及一图标数据显像单元,自该功能选单图标组缓存单元中读取,并显示该选定的功能选单图标组。
然而,其仅公开了图标组缓存单元的功能,并未涉及基于缓存的图标读取的具体过程,并不是一种高效率的读取图标机制。在图标数量庞大的系统(例如图文编辑包装系统)中图标读取的效率,影响着用户对系统的评价程度。因此,如何快速、高效、实时地读取图标是诸如图文编辑包装系统的一个急需解决的问题。
发明内容
针对现有技术中所存在的缺陷,本发明的目的就是提供一种高效率的基于缓存的图标读取方法。
为了实现上述发明目的,本发明所采用的技术方案如下:
一种基于缓存的图标读取方法,包括步骤B,查询缓存中是否存在目标任务,若存在,则直接返回目标任务;步骤C,若不存在,查询Finished存储器中是否存在此目标任务;若存在直接返回此任务;若不存在,则进行实时的目标任务读取工作;所述Finished存储器用来存放已经完成但是放入缓存存储器中的目标任务。
本发明同时还提供另一种基于缓存的图标读取方法,包括步骤1,读取缓存中已经生成过的图标;步骤2,读取已经生成但是未缓存的图标;步骤3,读取目标任务所需要的图标;步骤4,重新载入目标任务所需图标。
所述缓存是一个以Key为索引,Task为值的缓存cache;生成的图标按照使用的时间顺序依次存放。
进一步,在上述步骤1中,为每一个目标任务设置一个索引Key和一个任务值Task;定义一个存储目标图标的对象,记录下所要读取的目标图标的索引Key,所述索引包括图标的基本逻辑信息,图标的宽度,高度等;在缓存cache中查找是否有对应的索引与所述目标图标的索引相对应;若缓存cache中存在此索引,则直接读取缓存cache中该索引所对应的图标。
更进一步,所述步骤2进一步包括:分别建立以Key为索引,Task为值的finished和pending的两个存储器,即,Finished存储器和Pending存储器,Finished存储器用来存放已经完成但是未往缓存存储器中存放的图标;若在Finished存储器里未查询到目标任务所需要的图标,即目标图标的对象索引所对应的目标图标;则将此次图标的读取任务的索引及任务本身添加到Pending存储器中,并响应线程的notify机制,告之读取线程,已有新的任务添加。
所述步骤3进一步包括:在未得到任务之前,线程处于wait状态,一旦收到任务响应,则线程开始读取;进一步,定义一个存储图标的对象img,img中包括了图标的高度,宽度,位深度,每行所占用的字节数等信息,图标读取完成后将img对象返回给所需要的目标任务,并将任务的Key、task存入Finished存储器;当读图标的线程的时钟到达时,把任务的Key、task存入缓存cache。
所述步骤4进一步包括:定义一个响应事件,用于通知线程的暂停与开始,通知过程中,暂停读取图标的线程,清理缓存cache、Finished存储器以及Pending存储器中的相关记录;清理完毕后,重新按照步骤3读取图标。
本发明的效果在于:采用本发明所述的方法,在图像/视频处理过程中能够提高读取图标的效率,保证读取的实时性。
附图说明
图1为本发明基于缓存的图标读取方法的流程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步描述。
了解决本发明的技术问题,本发明提供了以下技术方案。
本发明采用多线程异步读取机制,并采用缓存机制,快速有效的生成图标。在本发明优选的实施方式中,如图1所示,图1为本发明基于缓存的图标读取方法的流程示意图。基于缓存的图标读取方法包括以下步骤:
步骤A,用户分配读取图标的任务;
步骤B,查询缓存中是否存在目标任务,若存在直接返回目标任务;
步骤C,若不存在,查询已经完成但是未来得及放入缓存的存储器中是否存在此目标任务;若存在直接返回此任务;
步骤D,若已经完成但是未来得及放入缓存的存储器中不存在此目标任务,则将任务的索引以及任务本身存入Pending存储器,并启用读取图标的线程;
步骤E,读取图标的线程执行读取图标的任务,任务完成后,将读取的图标索引以及任务存入缓存、Finished存储器;并返回任务。
在一个更为精细的实施方式中,基于缓存的图标读取方法进一步包括以下步骤:
1.读取缓存中已经生成过的图标。
为每一个目标任务(Task)设置一个索引和一个任务值。定义一个对象,记录下所要读取的目标图标的Key(索引),包括图标的基本逻辑信息,图标的宽度,高度等。在缓存(cache)中查找是否有对应的Key与目标所给的Key相对应。若cache存储器中存在此Key,则直接读取cache存储器中所存储的图标。在该实施方式中,cache存储器是一个以Key为索引,Task为值的缓存存储器;生成的图标按照使用的时间顺序依次存放。
2.读取已经生成但是未缓存的图标。
建立一个以Key为索引,Task为值的Finished存储器和Pending存储器,Finished存储器用来存放已经完成但是未往缓存存储器中存放的图标;这个过程中,为了线程的安全性,需要给线程加锁;读取的方式同步骤1。若Finished存储器里未查询到目标任务所需要的图标;则将此次图标的读取任务的索引及任务本身添加到Pending存储器中,并响应线程的notify机制,告之读取线程,已有新的任务添加。
3.读取目标任务所需要的图标。
为了最快的读取到图标,读取图标的过程为一个实时的,不断循环的过程,因此单独开辟了读取图标的线程。在未得到任务之前,线程处于wait状态,线程一旦收到任务响应,则表示有新任务添加进来,开始读取;进一步,定义一个存储图标的对象img,img中包括了图标的高度,宽度,位深度,每行所占用的字节数等信息,图标读取完成后将img对象返回给所需要的目标任务,并将任务的Key、task存入Finished存储器;当读图标的线程的时钟到达时,把任务的Key、task存入cache存储器。
4.重新载入目标任务所需图标。
在处理图像过程中,对于已经导入的图像,用户随时可能用其他软件对原图像进行加工、处理;重新关联时,图像的图标也要相应的发生改变。这个过程中可以定义另外一个响应事件,用于通知线程的暂停与开始,此过程中,暂停读取图标的线程,清理cache存储器、Finished存储器以及Pending存储器中的相关记录;清理完毕后,重新按照步骤3读取图标。
本发明带来了以下技术效果:利用缓存机制,提高了读取图标的效率。并且利用多线程,异步读取图标,保证了读取的实时性。
本发明所述的方法和系统并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。
Claims (9)
1.一种基于缓存的图标读取方法,其特征在于,包括以下步骤:
步骤B,查询缓存中是否存在目标任务,若存在,则直接返回目标任务;
步骤C,若不存在,查询已经完成但是未来得及放入缓存的存储器中是否存在此目标任务;若存在直接返回此任务;若不存在,则进行实时的目标任务读取工作。
2.一种如权利要求1所述的基于缓存的图标读取方法,其特征在于:在所述步骤B之前还包括:
步骤A,用户分配读取图标的任务。
3.一种如权利要求2所述的基于缓存的图标读取方法,其特征在于:在所述步骤C之后还包括:
步骤D,若已经完成但是未来得及放入缓存的存储器中不存在此目标任务,则将任务的索引以及任务本身存入Pending存储器,并启用读取图标的线程;
步骤E,读取图标的线程执行读取图标的任务,任务完成后,将读取的图标索引以及任务存入缓存、Finished存储器;并返回任务。
4.一种基于缓存的图标读取方法,其特征在于,包括以下步骤:
步骤1,读取缓存中已经生成过的图标;
步骤2,读取已经生成但是未缓存的图标;
步骤3,读取目标任务所需要的图标;
步骤4,重新载入目标任务所需图标。
5.一种如权利要求4所述的基于缓存的图标读取方法,其特征在于:所述缓存是一个以Key为索引,Task为值的缓存cache;生成的图标按照使用的时间顺序依次存放。
6.一种如权利要求5所述的基于缓存的图标读取方法,其特征在于,所述步骤1进一步包括:
为每一个目标任务设置一个索引Key和一个任务值Task;
定义一个存储目标图标的对象,记录下所要读取的目标图标的索引Key,所述索引包括图标的基本逻辑信息,图标的宽度,高度;在缓存cache中查找是否有对应的索引与所述目标图标的索引相对应;若缓存cache中存在此索引,则直接读取缓存cache中该索引所对应的图标。
7.一种如权利要求6所述的基于缓存的图标读取方法,其特征在于,所述步骤2进一步包括:
分别建立以Key为索引,Task为值的finished和pending的两个存储器,即,Finished存储器和Pending存储器,Finished存储器用来存放已经完成但是未往缓存存储器中存放的图标;若在Finished存储器里未查询到目标任务所需要的图标,即目标图标的对象索引所对应的目标图标;则将此次图标的读取任务的索引及任务本身添加到Pending存储器中,并响应线程的notify机制,告之读取线程,已有新的任务添加。
8.一种如权利要求7所述的基于缓存的图标读取方法,其特征在于,所述步骤3进一步包括:
在未得到任务之前,线程处于wait状态,一旦收到任务响应,则线程开始读取;进一步,定义一个存储图标的对象img,img中包括了图标的高度,宽度,位深度,每行所占用的字节数信息,图标读取完成后将img对象返回给所需要的目标任务,并将任务的Key、task存入Finished存储器;当读图标的线程的时钟到达时,把任务的Key、task存入缓存cache。
9.一种如权利要求8所述的基于缓存的图标读取方法,其特征在于,所述步骤4进一步包括:
定义一个响应事件,用于通知线程的暂停与开始,通知过程中,暂停读取图标的线程,清理缓存cache、Finished存储器以及Pending存储器中的相关记录;清理完毕后,重新按照步骤3读取图标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010617510.5A CN102566999B (zh) | 2010-12-31 | 一种基于缓存的图标读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010617510.5A CN102566999B (zh) | 2010-12-31 | 一种基于缓存的图标读取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102566999A true CN102566999A (zh) | 2012-07-11 |
CN102566999B CN102566999B (zh) | 2016-12-14 |
Family
ID=
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357741A (zh) * | 2017-06-05 | 2017-11-17 | 努比亚技术有限公司 | 一种应用管理方法、设备及计算机存储介质 |
CN109756709A (zh) * | 2018-12-28 | 2019-05-14 | 北京工业大学 | 一种红外全景监控软件中的性能提升方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040024793A1 (en) * | 2002-02-28 | 2004-02-05 | International Business Machines Corporation | Data processing method, and memory area search system and program |
CN101075241A (zh) * | 2006-12-26 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 缓存处理方法以及缓存处理系统 |
CN101441655A (zh) * | 2008-12-24 | 2009-05-27 | 深圳市迅雷网络技术有限公司 | 读取数据的方法及装置 |
US7962693B1 (en) * | 2004-04-28 | 2011-06-14 | Ianywhere Solutions, Inc. | Cache management system providing improved page latching methodology |
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040024793A1 (en) * | 2002-02-28 | 2004-02-05 | International Business Machines Corporation | Data processing method, and memory area search system and program |
US7962693B1 (en) * | 2004-04-28 | 2011-06-14 | Ianywhere Solutions, Inc. | Cache management system providing improved page latching methodology |
CN101075241A (zh) * | 2006-12-26 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 缓存处理方法以及缓存处理系统 |
CN101441655A (zh) * | 2008-12-24 | 2009-05-27 | 深圳市迅雷网络技术有限公司 | 读取数据的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357741A (zh) * | 2017-06-05 | 2017-11-17 | 努比亚技术有限公司 | 一种应用管理方法、设备及计算机存储介质 |
CN109756709A (zh) * | 2018-12-28 | 2019-05-14 | 北京工业大学 | 一种红外全景监控软件中的性能提升方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220215068A1 (en) | Task-Centric User Interfaces For Searching And Managing Search Results, And Software Therefor | |
CN102111448B (zh) | 分布式哈希表dht存储系统的数据预取方法、节点和系统 | |
CN102799679B (zh) | 基于Hadoop的海量空间数据索引更新系统及方法 | |
CN102855132B (zh) | 一种图形对象的选取方法及系统 | |
CN102890722A (zh) | 应用于时序历史数据库的索引方法 | |
CN102314485A (zh) | 哈希表添加、查找和删除方法及装置 | |
CN103914398B (zh) | 用以管理具有实体地址空间的存储器使用率的方法及装置 | |
CN103577470A (zh) | 一种提升web服务器性能的文件系统及方法 | |
CN102455859B (zh) | 一种频谱数据显示方法和装置 | |
CN102129425A (zh) | 数据仓库中大对象集合表的访问方法及装置 | |
TWI428817B (zh) | 手持式裝置之資料管理方法及系統,及其電腦程式產品 | |
CN103164490A (zh) | 一种不固定长度数据的高效存储实现方法和装置 | |
CN103198027A (zh) | 一种存储文件和提供文件的方法和装置 | |
US20220197533A1 (en) | Moving Data in a Memory and Command for Memory Control | |
CN105095247A (zh) | 符号数据分析方法和系统 | |
CN103049224A (zh) | 将数据导入物理磁带的方法、装置和系统 | |
CN106294205A (zh) | 缓存数据处理方法及装置 | |
CN103150145A (zh) | 数据仓库环境中的语义分组数据的并行处理 | |
CN104391947B (zh) | 海量gis数据实时处理方法及系统 | |
CN104571946A (zh) | 一种支持逻辑电路快速查询的存储器装置及其访问方法 | |
CN102467523A (zh) | 索引文件的建立方法与利用索引文件查询数据区块的方法 | |
CN103995690B (zh) | 一种基于gpu的并行时间序列挖掘方法 | |
CN102566999A (zh) | 一种基于缓存的图标读取方法 | |
CN102542426A (zh) | 可视化进销存管理系统和管理方法 | |
CN102103490B (zh) | 一种利用流水处理提高内存效率的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161214 Termination date: 20181231 |
|
CF01 | Termination of patent right due to non-payment of annual fee |