数据缓存处理方法、装置以及系统的制作方法

文档序号:6385078阅读:144来源:国知局
专利名称:数据缓存处理方法、装置以及系统的制作方法
技术领域
本发明实施例涉及计算机技木,尤其涉及ー种数据缓存处理方法、装置以及系统。
背景技术
缓存技术是计算机系统中进行数据访问的常见技术,在计算机系统进行数据访问时,可将最近访问的数据放置在缓存器中,这样,计算机系统需要重新访问数据时,就可以将通过缓存器来读取数据,提高数据读写效率。现有缓存技术在进行缓存数据处理时,通常采用最近最少使用(Least RecentlyUsed,LRU)缓存替代算法对缓存器中的缓存数据进行处理,即在计算机系统访问数据时,将最近最新访问的数据保留在缓存器中,而将最近最久未访问的数据替换出缓存器,以确保缓存器中缓存的数据均是最近最新访问的数据。这样,在计算机中的处理器读取数据时,就可以优先从缓存器中查询是否有自身所要读取的数据,若有则直接从缓存器中读取该数据,否则,从普通存储器,例如硬盘中读取数据。这种缓存技术应用在大部分计算机系统中,例如在使用Xen虚拟化的桌面云系统中,就使用这种缓存技木,在该桌面云系统中,服务器上特权域(DomainO)会虚拟出CPU、输入输出IO总线、存储等资源,供服务器上的虚拟机域(Domain U)使用,而在DomainO中会设置针对Domain U的缓存(Cache)模块,即缓存器,缓存各个Domain U所使用镜像的数据,并收集数据块被各个Domain U的IO调用的进度、频度等信息,对数据在cache模块中进行调度,其中,Cache模块中缓存的数据,就是按照LRU算法进行处理,从而可在Cache模块中缓存“热度”高的数据,替换出“变冷”的数据,确保Cache模块中的数据价值较大,从而提高缓存命中率,并减少各个Domain U访问远端存储上的镜像而产生的10对远端存储每秒输入输出量IOPS的压力。但是,现有缓存技术中,缓存器中的数据按照LRU进行替换时,计算机系统中访问的任何数据均是按照LRU来进行缓存,缓存器对计算机系统中的任何类型的数据执行相同的缓存操作,这就使得计算机系统中的重要10进程的数据,例如系统文件数据在访问时的命中率较低,使得计算机系统的执行效率较差。

发明内容
本发明实施例提供ー种数据缓存处理方法、装置以及系统,可克服现有缓存技术中存在的问题,使得高优先级的数据在缓存器中的保留时间,提高高优先级数据的命中率。第一方面,本发明实施例提供ー种数据缓存处理方法,包括获得待缓存数据的数据类型;根据所述数据类型,以及预设的优先级映射表,得到所述待缓存数据的优先级,所述预设的优先级映射表包括数据类型以及数据类型对应的优先级;基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,并更新所述缓存器的缓存队列;其中,所述缓存器的缓存队列包括各优先级对应的缓存队列,各优先级对应的缓存队列对应所述缓存器中存储的各优先级的缓存数据。结合第一方面,在第一种可能实现方式中,所述基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,具体包括当所述缓存器已满时,优先替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。结合第一方面或第一方面的第一种可能实现方式,在第二种可能实现方式中,所述缓存器中设置有各优先级对应的缓存队列的最大长度;所述优先替换所述缓存器中低优先级对应的缓存队列中的数据,具体包括当所述待缓存数据的优先级对应的缓存队列的长度未超过最大长度时,优先替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中;
当所述待缓存数据的优先级对应的缓存队列的长度超过最大长度时,替换所述待缓存数据的优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。结合第一方面,在第三种可能实现方式中,所述数据类型的个数为3个,相应的所述优先级映射表中的优先级的个数为3个,且优先级分为高优先级、中优先级和低优先级。结合第一方面的第三种可能实现方式,在第四种可能实现方式中,所述基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,具体包括当所述缓存器已满,且所述待缓存数据的优先级为高优先级时,替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。结合第一方面的第三种可能实现方式,在第五种可能实现方式中,所述基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,具体包括当所述缓存器已满,且所述待缓存数据的优先级为中优先级时,替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。结合第一方面的第五种可能实现方式,在第六种可能实现方式中,所述中优先级对应的缓存队列的长度为设定长度值;所述替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中,具体包括在所述中优先级对应的缓存队列的长度等于所述设定长度值时,替换所述中优先级对应的缓存队列中的数据,将所述待缓存数据存储在待缓存数据中,同时将所述中优先级对应的缓存队列中被替换的数据迁移至所述低优先级对应的缓存队列中。结合第一方面或第一方面的第三或四或五或六种可能实现方式,在第七种可能实现方式中,所述数据类型包括系统文件数据类型、用户数据类型和临时文件数据类型。结合第一方面或第一方面的第三或四或五或六或七种可能实现方式,在第八种可能实现方式中,所述缓存器中各优先级对应的缓存队列中的数据被替换时,采用FIFO缓存替换算法、LRU缓存替换算法或者MRU缓存替换算法。结合第一方面或第一方面的第一或ニ或三或四或五或六或七或八种可能实现方式,在第九种可能实现方式中,所述获得待缓存数据的数据类型,具体包括基于所述待缓存数据中携帯的文件信息,以及数据类型映射表,确定所述待缓存数据的数据类型,其中,所述数据类型映射表包括文件信息以及文件信息对应的数据类型。第二方面,本发明实施例提供ー种数据缓存处理装置,包括
数据类型获取模块,用于获得待缓存数据的数据类型;优先级获取模块,用于根据所述数据类型,以及预设的优先级映射表,得到所述待缓存数据的优先级,所述预设的优先级映射表包括数据类型以及数据类型对应的优先级;存储模块,用于基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,并更新所述缓存器的缓存队列;其中,所述缓存器的缓存队列包括各优先级对应的缓存队列,各优先级对应的缓存队列对应所述缓存器中存储的各优先级的缓存数据。结合第二方面,在第一种可能实现方式中,所述存储模块,具体用于当所述缓存器已满时,优先替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。
结合第二方面或第二方面的第一种可能实现方式,在第二种可能实现方式中,所述缓存器中设置有各优先级对应的缓存队列的最大长度;所述存储模块,具体用于当所述待缓存数据的优先级对应的缓存队列的长度未超过最大长度时,优先替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中;以及用于当所述待缓存数据的优先级对应的缓存队列的长度超过最大长度时,替换所述待缓存数据的优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。结合第二方面,在第三种可能实现方式中,所述数据类型的个数为3个,相应的所述优先级映射表中的优先级的个数为3个,且优先级分为高优先级、中优先级和低优先级。结合第二方面的第三种可能实现方式,在第四种可能实现方式中,所述存储模块,具体用于当所述缓存器已满,且所述待缓存数据的优先级为高优先级时,替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。结合第二方面的第三种可能实现方式,在第五种可能实现方式中,所述存储模块,具体用于当所述缓存器已满,且所述待缓存数据的优先级为中优先级时,替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。结合第二方面的第五种可能实现方式,在第六种可能实现方式中,所述中优先级对应的缓存队列的长度为设定长度值;所述存储模块,具体用于在所述中优先级对应的缓存队列的长度等于所述设定长度值时,替换所述中优先级对应的缓存队列中的数据,将所述待缓存数据存储在待缓存数据中,同时将所述中优先级对应的缓存队列中被替换的数据迁移至所述低优先级对应的缓存队列中。结合第二方面或第二方面的第三或四或五或六种可能实现方式,在第七种可能实现方式中,所述数据类型包括系统文件数据类型、用户数据类型和临时文件数据类型。结合第二方面或第二方面的第三或四或五或六或七种可能实现方式,在第八种可能实现方式中,所述缓存器中各优先级对应的缓存队列中的数据被替换时,采用FIFO缓存替换算法、LRU缓存替换算法或者MRU缓存替换算法。结合第二方面或第二方面的第一或ニ或三或四或五或六或七或八种可能实现方式,在第九种可能实现方式中,所述数据类型获取模块,具体用于基于所述待缓存数据中携带的文件信息,以及数据类型映射表,确定所述待缓存数据的数据类型,其中,所述数据类型映射表包括文件信息以及文件信息对应的数据类型。第三方面,本发明实施例提供一种计算机系统,包括上述本发明实施例提供的数据缓存处理装置。本发明实施例提供可基于待缓存数据的优先级,按照优先级高低将其存储在缓存器中,从而可使得具有高优先级的数据可长时间的保留在缓存器中,这样计算机系统在访问高优先级的数据时,就可以直接从缓存器中获得,可有效提高高优先级数据的命中概率,提高计算机系统的执行效率。


为了更清楚地说明本发明实施例或现有 技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作ー简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例一提供的数据缓存处理方法的流程示意图;图2为本发明实施例ニ提供的数据缓存处理方法的流程示意图;图3A为本发明实施例三提供的数据缓存处理方法的流程示意图;图3B为本发明实施例中待缓存数据的优先级为高优先级时进行存储的流程示意图;图4为本发明实施例四提供的数据缓存处理装置的结构示意图;图5为本发明实施例五提供的数据缓存处理装置的结构示意图。
具体实施例方式图1为本发明实施例一提供的数据缓存处理方法的流程示意图。本实施例可应用于计算机系统中,用于对计算机系统中的数据进行缓存操作,具体地,如图1所示,本实施例方法可包括如下步骤步骤101、获得待缓存数据的数据类型;步骤102、根据数据类型,以及预设的优先级映射表,得到待缓存数据的优先级,其中,预设的优先级映射表包括数据类型以及数据类型对应的优先级;步骤103、基于待缓存数据的优先级,按照优先级的高低将待缓存数据存储在缓存器中,并更缓存器的缓存队列;其中,缓存器的缓存队列包括各优先级对应的缓存队列,各优先级对应的缓存队列对应所述缓存器中存储的各优先级的缓存数据。本实施例可应用于计算机系统,对缓存器中缓存数据进行管理,当有新的缓存数据需要进行缓存时,可根据待缓存数据的数据类型得到待缓存数据的优先级,并可基于待缓存数据的优先级的高低对待缓存数据进行缓存操作,这样,可使得缓存器中缓存的数据均是高优先级的数据,计算机系统在访问高优先级数据时,就可以从缓存器中直接获得,可提高高优先级数据在缓存器中的命中概率。其中,高优先级的数据可以是指计算机系统エ作时的重要的数据,例如系统文件数据等;相应的,低优先级数据可以是计算机系统中不常用的数据,或者临时使用的数据,例如临时文件数据等;上述的优先级映射关系表中的数据类型也就是指计算机系统中的各数据的数据类型,具体可以是系统文件数据类型、临时文件数据类型等,且该映射关系表是预先设置的。综上,本发明实施例提供的数据缓存处理方法,可基于待缓存数据的优先级,按照优先级高低将其存储在缓存器中,从而可使得具有高优先级的数据可长时间的保留在缓存器中,这样计算机系统在访问高优先级的数据时,就可以直接从缓存器中获得,可有效提高高优先级数据的命中概率,提高计算机系统的执行效率。图2为本发明实施例ニ提供的数据缓存处理方法的流程示意图。如图2所示,本实施例方法可包括如下步骤步骤201、获得待缓存数据的数据类型;步骤202、根据数据类型,以及预设的优先级映射表,得到待缓存数据的优先级;
步骤203、判断缓存器是否已满,是则执行步骤204,否则,执行步骤205 ;步骤204、优先替换缓存器中低优先级对应的缓存队列中的数据,将待缓存数据存储在缓存器中,并更新缓存器的各优先级对应的缓存队列,结束。步骤205、将待缓存数据存储在缓存器中空闲的存储空间,并更新该待缓存数据的优先级对应的缓存队列,结束。上述步骤204中,优先替换缓存器中低优先级对应的缓存队列中的数据,具体可以是指当缓存器中存在最低优先级的数据时,就直接替换最低优先级的数据,否则,就替换高于最低优先级的数据,依次类推,可将该待缓存数据替换低于其优先级的数据;当缓存器中只有待缓存数据的优先级的数据,或者高于该优先级的数据时,则直接替换该待缓存数据的优先级的数据。本领域技术人员可以理解,缓存器中的缓存队列是用于管理缓存器中存储数据的ー个队列,该队列的每ー项指向ー个缓存块,每个缓存块存储有数据,这样,上述的替换缓存队列中的数据,就是替换缓存队列中的ー项指向的数据。本实施例中,缓存器中可设置有各优先级对应的缓存队列的最大长度,上述的优先替换所述缓存器中低优先级对应的缓存队列中的数据,具体可包括当待缓存数据的优先级对应的缓存队列的长度未超过最大长度时,优先替换缓存器中低优先级对应的缓存队列中的数据,将待缓存数据存储在缓存器中;当待缓存数据的优先级对应的缓存队列的长度超过最大长度时,替换待缓存数据的优先级对应的缓存队列中的数据,将待缓存数据存储在缓存器中。这样,对于每ー优先级对应的队列达到设定的最大长度吋,当有该优先级的数据需要缓存时,则可以直接替代该优先级对应的缓存队列中的数据,并可将替换出的数据迁移到低优先级对应的缓存队列中,这样,可避免缓存器中仅缓存高优先级的数据,而低优先级的数据则无法进行存储。实际应用中,也可将部分优先级对应的缓存队列设定ー个最大长度,例如处于中间优先级的优先级对应的队列,而将较高优先级对应的队列则不进行长度限定,从而可确保高优先级的数据均可在缓存器中缓存,可确保所有高优先级数据在缓存器中的命中率。本领域技术人员可以理解,各优先级对应的缓存队列中存储着各优先级的数据,所述的更新缓存队列也就是更新缓存队列中的各项,并可对各项进行排列;所述的替换缓存队列中的数据,可以根据特定的缓存替换算法来进行替换。其具体实现与传统缓存队列处理方法相同或类似。
为便于对本发明实施例技术方案的理解,下面将以计算机系统中的数据分为三种数据类型为例,对本发明实施例技术方案做进ー步的说明。图3A为本发明实施例三提供的数据缓存处理方法的流程示意图。本实施例中,可将计算机系统中的数据分为三种类型的数据,分别为系统文件数据、用户数据和临时文件数据,这样数据类型的个数就为3个,而相应的优先级映射关系表中的优先级个数也为3个,并对应分为高优先级、中优先级和低优先级,其中高优先级对应于系统文件数据,中优先级对应于用户数据,低优先级对应于临时文件数据。由于计算机系统中,对系统文件的访问速度要求较高,因此在计算机系统访问系统文件时需要更快的访问效率,因此将其设定为高优先级的数据类型,则可以提高在缓存器中的命中率,提高访问效率,而临时文件数据则对数据访问要求不是很高,因此可设定为低优先级数据,有数据需要进行缓存操作时,就可以基于该数据的优先级进行缓存操作,具体地,如图3A所示,本实施例方法可包括如下步骤步骤301、获得待缓存数据的数据类型;步骤302、根据数据类型,以及预设的优先级映射表,得到待缓存数据的优先级;步骤303、判断缓存器是否已满,是则执行步骤304,否则,执行步骤309 ;步骤304、判断该待缓存数据的优先级是否为高优先级,是则执行步骤305,否则执行步骤306 ;步骤305、替换缓存器中低优先级对应的缓存队列中的数据,将待缓存数据存储在缓存器中,并更新缓存器中的缓存队列,结束。步骤306、判断该待缓存数据的优先级是否为中优先级,是则执行步骤307,否则执行步骤308 ;步骤307、替换缓存器中低优先级对应的缓存队列中的数据,将待缓存数据存储在缓存器中,并更新缓存器中的缓存队列,结束。步骤308、替换低优先级对应的缓存队列中的数据,结束。步骤309、将待缓存数据存储在缓存器中空闲的存储空间,并更新该待缓存数据的优先级对应的缓存队列,结束。图3B为本发明实施例中待缓存数据的优先级为高优先级时进行存储的流程示意图。上述步骤305中,当待缓存数据的优先级为高优先级时,则说明待缓存数据为高优先数据,可将其替换低优先级对应的缓存队列中的低优先级数据,若缓存器中没有低优先级的数据时,则可以替换中优先级对应的缓存队列中的中优先级数据,若中优先级数据也没有吋,则可直接替代高优先级对应的缓存队列中的高优先级的数据。具体地,如图3B所示,当待缓存数据的优先级为高优先级时,在替换缓存器中的数据时,具体可包括如下步骤步骤3051、判断低优先级对应的缓存队列是否有数据,是则执行步骤3052,否则执行步骤3054 ;步骤3052、在低优先级对应的缓存队列中的确定被替换的缓存块,并从低优先级对应的缓存队列中清除被替换的缓存块;步骤3053、在被替换的缓存块中写入待缓存数据,并将该缓存块添加到高优先级对应的缓存队列中,结束;步骤3054、判断中优先级对应的缓存队列是否有数据,是则执行步骤3055,否则,执行步骤3057 ;步骤3055、在中优先级对应的缓存队列中确定被替换的缓存块,并从中优先级对应的缓存队列中清除被替换的缓存块;步骤3056、在被替换的缓存块中写入待缓存数据,并将该缓存块添加到高优先级对应的缓存队列中,结束;步骤3057、在高优先级对应的缓存队列中确定被替换的缓存块,并在被替换的缓存块中写入待缓存数据,结束。类似地,上述步骤307中,当待缓存数据的优先级为中优先级时,则说明待缓存数据为中优先数据,可将其替换低优先级对应的缓存队列中的低优先级数据,若缓存器中没有低优先级的数据时,则可以替换中优先级对应的缓存队列中的中优先级数据,而中优先级数据也没有时,说明当前缓存器中均是高优先级的数据,则不对待缓存数据进行缓存。类似地,上述步骤308中,当待缓存数据的优先级为低优先级时,则直接替换低优先级对应的缓存队列中的低优先级,而无低优先级数据时,则可不对该待缓存数据进行缓存操作。本实施例中,由于高优先级对应于计算机系统中的系统文件数据,低优先级对应于临时文件数据,而系统文件数据容量有限,临时文件数据的访问要求不高,因此,高优先级对应的缓存队列和低优先级对应的缓存队列的长度可不做限制,而对中优先级对应的缓存队列的长度限定在一定长度,避免中优先级数据,即用户数据占用太多的缓存器空间,导致低优先级数据无法缓存。具体地,中优先级对应的缓存队列的长度可为设定长度值,当待缓存数据的优先级为中优先级时,替换缓存器中低优先级对应的缓存队列中的数据,将待缓存数据存储在缓存器中,具体可包括在中优先级对应的缓存队列的长度等于设定长度值时,替换中优先级对应的缓存队列中的数据,将待缓存数据存储在待缓存数据中,同时将中优先级对应的缓存队列中被替换的数据迁移至低优先级对应的缓存队列中。上述本发明各实施例中,获得待缓存数据的数据类型,具体可包括基于待缓存数据中携帯的文件信息,以及数据类型映射表,确定待缓存数据的数据类型,其中,数据类型映射表包括文件信息以及文件信息对应的数据类型。该数据类型映射关系表也是预先设置,其中文件信息可以表示数据是属于计算机系统所处理的哪类文件的信息,例如数据为系统文件数据时,该文件信息就可以携带表示系统文件的信息。上述本发明各实施例中,在替换缓存队列中的数据时,具体可采用采用先入先出队列(First Input First Output,FIFO)缓存替换算法、LRU缓存替换算法或者最新最近使用(Most Recently Used,MRU)缓存替换算法等缓存替代算法,其具体实现过程与传统技术相同。本领域技术人员可以理解,计算机系统在进行数据读写操作吋,会将从存储器,例如硬盘中读取,以及需要写入存储器的数据缓存在缓存器中,这样,计算机系统再次读这些数据的时候,就可以首先从缓存器中查询是否有所要读的数据,若有则直接从缓存器中读取这些数据,从而可提高数据获取的效率。上述的待缓存数据,就是指计算机系统中有从存储器新读的数据,或者往存储器中写入的数据。本领域技术人员可以理解,计算机系统还可对数据进行删除操作,当进行数据删除操作时,缓存器确定自身存储有待删除的数据时,就可以从相应缓存队列中删除相应的缓存块中存储的待缓存数据,并可将缓存块从缓存队列中释放。本实施例数据缓存处理方法可应用于桌面云VDI场景中的多虚拟机或单虚拟机的缓存模块的缓存处理中,或者也可应用于多个物理机单个物理缓存模块的缓存处理中,可使得整个计算机系统中缓存模块中的缓存的数据是按照数据的优先级的高低进行存储,使得高优先级的数据可长时间保留在缓存模块中,从而提高高优先级数据在缓存模块的命中率。图4为本发明实施例四提供的数据缓存处理装置的结构示意图。如图4所示,本实施装置包括数据类型获取模块11、优先级获取模块12和存储模块13,其中数据类型获取模块11,用于获得待缓存数据的数据类型;优先级获取模块12,用于根据所述数据类型,以及预设的优先级映射表,得到所述待缓存数据的优先级,所述预设的优先级映射表包括数据类型以及数据类型对应的优先级;存储模块13,用于基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,并更新所述缓存器的缓存队列;其中,所述缓存器的缓存队列包括各优先级对应的缓存队列,各优先级对应的缓存队列对应所述缓存器中存储的各优先级的缓存数据。本发明实施例装置可执行上述本发明方法实施例步骤,实现对待缓存数据的处理,其具体实现过程可參见上述本发明方法实施例的说明,在此不再赘述。本实施例中,上述的存储模块13,具体可用于当所述缓存器已满时,优先替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。进ー步地,缓存器中设置有各优先级对应的缓存队列的最大长度,相应地,上述的存储模块13,具体可用于当所述待缓存数据的优先级对应的缓存队列的长度未超过最大长度时,优先替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中;以及用于当所述待缓存数据的优先级对应的缓存队列的长度超过最大长度时,替换所述待缓存数据的优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。本实施例中,上述的数据类型的个数可为3个,相应的所述优先级映射表中的优先级的个数为3个,且优先级分为高优先级、中优先级和低优先级。上述的存储模块13,具体可用于当所述缓存器已满,且所述待缓存数据的优先级为高优先级时,替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。以及用于当所述缓存器已满,且所述待缓存数据的优先级为中优先级时,替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。进ー步地,上述的中优先级对应的缓存队列的长度为设定长度值,上述的存储模块13,具体可用于在所述中优先级对应的缓存队列的长度等于所述设定长度值时,替换所述中优先级对应的缓存队列中的数据,将所述待缓存数据存储在待缓存数据中,同时将所述中优先级对应的缓存队列中被替换的数据迁移至所述低优先级对应的缓存队列中。本实施例中,上述的数据类型包括系统文件数据类型、用户数据类型和临时文件数据类型。本实施例中,缓存器中各优先级对应的缓存队列中的数据被替换时,采用FIFO缓存替换算法、LRU缓存替换算法或者MRU缓存替换算法。本实施例中,上述的数据类型获取模块11,具体可用于基于所述待缓存数据中携带的文件信息,以及数据类型映射表,确定所述待缓存数据的数据类型,其中,所述数据类型映射表包括文件信息以及文件信息对应的数据类型。本实施例装置可基于上述方法步骤实现对待缓存数据的处理,其具体实现过程在此不再赘述。图5为本发明实施例五提供的数据缓存处理装置的结构示意图。如图5所示,本实施例装置包括处理器10和存储器20,处理器10可通过总线与存储器20连接,其中,存储器20可用于存储指令,处理器10用于执行该指令用于执行相关操作。具体地,处理器10可执行存储器20存储的指令,用于获得待缓存数据的数据类型,并可根据所述数据类型,以及预设的优先级映射表,得到所述待缓存数据的优先级,所述预设的优先级映射表包括数据类型以及数据类型对应的优先级;以及基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,并更新所述缓存器的缓存队列,其中,所述缓存器的缓存队列包括各优先级对应的缓存队列,各优先级对应的缓存队列对应所述缓存器中存储的各优先级的缓存数据。本实施例中,处理器10具体可用于当所述缓存器已满时,优先替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。进ー步地,缓存器中设置有各优先级对应的缓存队列的最大长度;上述的处理器10具体可用于当所述待缓存数据的优先级对应的缓存队列的长度未超过最大长度时,优先替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中;以及用于当所述待缓存数据的优先级对应的缓存队列的长度超过最大长度时,替换所述待缓存数据的优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。本实施例中,上述的数据类型的个数为3个,相应的所述优先级映射表中的优先级的个数为3个,且优先级分为高优先级、中优先级和低优先级。上述的处理器10具体可用于当所述缓存器已满,且所述待缓存数据的优先级为高优先级时,替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。以及上述处理器10还可用于当所述缓存器已满,且所述待缓存数据的优先级为中优先级时,替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。进ー步地,上述的中优先级对应的缓存队列的长度为设定长度值,上述的处理器10具体可用于在所述中优先级对应的缓存队列的长度等于所述设定长度值时,替换所述中优先级对应的缓存队列中的数据,将所述待缓存数据存储在待缓存数据中,同时将所述中优先级对应的缓存队列中被替换的数据迁移至所述低优先级对应的缓存队列中。本实施例中,上述的数据类型包括系统文件数据类型、用户数据类型和临时文件数据类型。本实施例中,上述的缓存器中各优先级对应的缓存队列中的数据被替换时,采用FIFO缓存替换算法、LRU缓存替换算法或者MRU缓存替换算法。本实施例中,上述的处理器10具体可用于基于所述待缓存数据中携帯的文件信息,以及数据类型映射表,确定所述待缓存数据的数据类型,其中,所述数据类型映射表包括文件信息以及文件信息对应的数据类型。
此外,本发明实施例还提供一种计算机系统,可包括上述图4或图5所示的数据缓存处理装置。本实施例计算机系统可以是桌面云计算机系统,可以为用户计算机提供虚拟的桌面服务,在计算机系统运行过程中,其中的数据缓存处理装置可基于数据类型来缓存数据,从而可将重要的数据,例如系统文件数据长时间保留在缓存器中,提高重要数据在缓存器中的命中率。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和単元的具体工作过程,可以參考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于ー计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管參照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种数据缓存处理方法,其特征在于,包括获得待缓存数据的数据类型;根据所述数据类型,以及预设的优先级映射表,得到所述待缓存数据的优先级,所述预设的优先级映射表包括数据类型以及数据类型对应的优先级;基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,并更新所述缓存器的缓存队列;其中,所述缓存器的缓存队列包括各优先级对应的缓存队列,各优先级对应的缓存队列对应所述缓存器中存储的各优先级的缓存数据。
2.根据权利要求1所述的数据缓存处理方法,其特征在于,所述基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,具体包括当所述缓存器已满时,优先替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。
3.根据权利要求1或2所述的数据缓存处理方法,其特征在于,所述缓存器中设置有各优先级对应的缓存队列的最大长度;所述优先替换所述缓存器中低优先级对应的缓存队列中的数据,具体包括当所述待缓存数据的优先级对应的缓存队列的长度未超过最大长度时,优先替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中;当所述待缓存数据的优先级对应的缓存队列的长度超过最大长度时,替换所述待缓存数据的优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。
4.根据权利要求1所述的数据缓存处理方法,其特征在于,所述数据类型的个数为3 个,相应的所述优先级映射表中的优先级的个数为3个,且优先级分为高优先级、中优先级和低优先级。
5.根据权利要求4所述的数据缓存处理方法,其特征在于,所述基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,具体包括当所述缓存器已满,且所述待缓存数据的优先级为高优先级时,替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。
6.根据权利要求4所述的数据缓存处理方法,其特征在于,所述基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,具体包括当所述缓存器已满,且所述待缓存数据的优先级为中优先级时,替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。
7.根据权利要求6所述的数据缓存处理方法,其特征在于,所述中优先级对应的缓存队列的长度为设定长度值;所述替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中,具体包括在所述中优先级对应的缓存队列的长度等于所述设定长度值时,替换所述中优先级对应的缓存队列中的数据,将所述待缓存数据存储在待缓存数据中,同时将所述中优先级对应的缓存队列中被替换的数据迁移至所述低优先级对应的缓存队列中。
8.根据权利要求4-7任一所述的数据缓存处理方法,其特征在于,所述数据类型包括系统文件数据类型、用户数据类型和临时文件数据类型。
9.根据权利要求1-8任一所述的数据缓存处理方法,其特征在于,所述缓存器中各优先级对应的缓存队列中的数据被替换时,采用FIFO缓存替换算法、LRU缓存替换算法或者 MRU缓存替换算法。
10.根据权利要求1-9任一所述的数据缓存处理方法,其特征在于,所述获得待缓存数据的数据类型,具体包括基于所述待缓存数据中携带的文件信息,以及数据类型映射表,确定所述待缓存数据的数据类型,其中,所述数据类型映射表包括文件信息以及文件信息对应的数据类型。
11.一种数据缓存处理装置,其特征在于,包括数据类型获取模块,用于获得待缓存数据的数据类型;优先级获取模块,用于根据所述数据类型,以及预设的优先级映射表,得到所述待缓存数据的优先级,所述预设的优先级映射表包括数据类型以及数据类型对应的优先级;存储模块,用于基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,并更新所述缓存器的缓存队列;其中,所述缓存器的缓存队列包括各优先级对应的缓存队列,各优先级对应的缓存队列对应所述缓存器中存储的各优先级的缓存数据。
12.根据权利要求11所述的数据缓存处理装置,其特征在于,所述存储模块,具体用于当所述缓存器已满时,优先替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。
13.根据权利要求11或12所述的数据缓存处理装置,其特征在于,所述缓存器中设置有各优先级对应的缓存队列的最大长度;所述存储模块,具体用于当所述待缓存数据的优先级对应的缓存队列的长度未超过最大长度时,优先替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中;以及用于当所述待缓存数据的优先级对应的缓存队列的长度超过最大长度时,替换所述待缓存数据的优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。
14.根据权利要求11所述的数据缓存处理装置,其特征在于,所述数据类型的个数为3 个,相应的所述优先级映射表中的优先级的个数为3个,且优先级分为高优先级、中优先级和低优先级。
15.根据权利要求14所述的数据缓存处理装置,其特征在于,所述存储模块,具体用于当所述缓存器已满,且所述待缓存数据的优先级为高优先级时,替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。
16.根据权利要求14所述的数据缓存处理装置,其特征在于,所述存储模块,具体用于当所述缓存器已满,且所述待缓存数据的优先级为中优先级时,替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。
17.根据权利要求16所述的数据缓存处理装置,其特征在于,所述中优先级对应的缓存队列的长度为设定长度值;所述存储模块,具体用于在所述中优先级对应的缓存队列的长度等于所述设定长度值时,替换所述中优先级对应的缓存队列中的数据,将所述待缓存数据存储在待缓存数据中, 同时将所述中优先级对应的缓存队列中被替换的数据迁移至所述低优先级对应的缓存队列中。
18.根据权利要求14-17任一所述的数据缓存处理装置,其特征在于,所述数据类型包括系统文件数据类型、用户数据类型和临时文件数据类型。
19.根据权利要求11-18任一所述的数据缓存处理装置,其特征在于,所述缓存器中各优先级对应的缓存队列中的数据被替换时,采用FIFO缓存替换算法、LRU缓存替换算法或者MRU缓存替换算法。
20.根据权利要求11-19任一所述的数据缓存处理装置,其特征在于,所述数据类型获取模块,具体用于基于所述待缓存数据中携带的文件信息,以及数据类型映射表,确定所述待缓存数据的数据类型,其中,所述数据类型映射表包括文件信息以及文件信息对应的数据类型。
21.一种计算机系统,其特征在于,包括权利要求11-20任一所述的数据缓存处理装置。
全文摘要
本发明提供一种数据缓存处理方法、装置以及系统。该方法包括获得待缓存数据的数据类型;根据所述数据类型,以及预设的优先级映射表,得到所述待缓存数据的优先级,所述预设的优先级映射表包括数据类型以及数据类型对应的优先级;基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,并更新所述缓存器的缓存队列。本发明实施例技术方案可基于数据类型的优先级的高低对待缓存数据进行缓存处理,可使得高优先级的数据能够长时间保留在缓存器中,从而可提高高优先级数据访问时在缓存器中的命中率。
文档编号G06F12/08GK103019962SQ201210562759
公开日2013年4月3日 申请日期2012年12月21日 优先权日2012年12月21日
发明者李明君 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1