CN101105773A - 一种利用缓存实现数据存储的方法和装置 - Google Patents

一种利用缓存实现数据存储的方法和装置 Download PDF

Info

Publication number
CN101105773A
CN101105773A CNA2007101204877A CN200710120487A CN101105773A CN 101105773 A CN101105773 A CN 101105773A CN A2007101204877 A CNA2007101204877 A CN A2007101204877A CN 200710120487 A CN200710120487 A CN 200710120487A CN 101105773 A CN101105773 A CN 101105773A
Authority
CN
China
Prior art keywords
algorithm
data
operational visit
instruction
visit type
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
Application number
CNA2007101204877A
Other languages
English (en)
Other versions
CN100481028C (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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CNB2007101204877A priority Critical patent/CN100481028C/zh
Publication of CN101105773A publication Critical patent/CN101105773A/zh
Application granted granted Critical
Publication of CN100481028C publication Critical patent/CN100481028C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种利用缓存实现数据存储的方法和装置。在该方法中,设置每一种业务访问类型对应的替换算法或预取算法;根据用户发来的指令确定当前的业务访问类型;选择与当前的业务访问类型对应的替换算法或预取算法;使用所选择的替换算法或预取算法将数据存储到缓存(Cache)中。本发明针对每一种业务的访问特点来选择替换算法或预取算法,因此,提高了从Cache中读取数据的命中率,从而提高了系统的访问效率。

Description

一种利用缓存实现数据存储的方法和装置
技术领域
本发明涉及数据存储技术,特别是涉及一种利用缓存实现数据存储的方法和装置。
背景技术
随着信息技术的高速发展,目前出现了能够提供数据存储业务的数据存储系统。数据存储系统中主要包括磁盘阵列和主机处理器,其中,磁盘阵列用于存储数据,主机处理器用于将外部用户的数据写入磁盘阵列,或者从磁盘阵列中读取用户所需的数据。然而,由于主机处理器的工作频率远大于磁盘阵列的工作频率,因此,主机处理器对磁盘阵列发出一次读写命令后,需要等待较长的时间才能够收到磁盘阵列的响应来完成数据读写,这样,则大大降低了数据读写的效率。
为了解决主机处理器与磁盘阵列的工作频率相差较大导致数据读写效率低下的问题,目前,采用了在主机处理器与磁盘阵列之间设置缓存(Cache)的做法。图1是数据存储控制系统的结构示意图。参见图1,为了提高数据读写的效率,设置工作频率介于主机处理器和磁盘阵列之间的缓存控制器和缓存。这样,将外部数据写入磁盘阵列的过程包括:主机处理器将外部发来的数据写入指令发送给缓存控制器;缓存控制器检查Cache中是否有空闲的存储空间,如果有,则直接将数据写入指令中携带的数据写入Cache中空闲的存储空间,如果没有,则需要使用预先配置的替换算法,得到Cache中能够替换的存储空间,将该能够替换的存储空间中存储的数据删除,然后将数据写入指令中携带的数据写入该能够替换的存储空间中;磁盘阵列扫描缓存控制器,确定有新写入的数据后,从Cache中读取该新写入的数据,从而完成了外部数据写入磁盘阵列的过程。
外部从磁盘阵列中读取数据的过程包括:主机处理器将外部发来的数据读取请求发送给缓存控制器;缓存控制器检查Cache中是否存储有外部所请求的数据,如果有,则直接将Cache中存储的对应的数据发送给主机处理器,如果没有,则向磁盘阵列发送该数据读取请求,并且,为了进一步提高数据读取命中率,缓存控制器还根据预先配置的预取算法,预测后续会从磁盘阵列中读取的数据,将预取数据的请求也发送给磁盘阵列;磁盘阵列将当前请求的数据和预取的数据均发送给缓存控制器,缓存控制器将其存储在Cache中,主机处理器从Cache中读取出当前请求的数据后发送到外部。
由以上描述可以看出,替换算法和预取算法是利用Cache实现数据存储过程中的两个重要算法。替换算法保证在Cache中没有空闲存储空间时,能够替换出存储空间来存储最新接收到的数据,而预取算法则能够预测主机处理器后续会读取的数据并提前存储到Cache中,保证主机处理器在后续访问时能够从Cache中一次读取到数据,提高读取数据的命中率。
然而,在现有技术中,缓存控制器使用的替换算法和预取算法是单一的,也就是说,无论对于何种业务类型的读写数据,缓存控制器均按照同一种替换算法替换出Cache中一段存储空间,并且,缓存控制器均按照同一种预取算法预测出主机处理器后续想要读取的数据。现有技术此种使用单一替换算法和预取算法的做法,无法适应多种业务类型的多种使用需求,往往会导致主机处理器从Cache中读取数据的命中率低下。
发明内容
有鉴于此,本发明的一个目的在于提供一种利用缓存实现数据存储的方法,本发明的另一个目的在于提供一种利用缓存实现数据存储的装置,本发明的再一个目的在于提供一种网络存储控制系统,以便于提高从Cache中读取数据的命中率。
为了达到上述目的,本发明的技术方案是这样实现的:
一种利用缓存实现数据存储的方法,设置每一种业务访问类型对应的替换算法或预取算法,该方法包括:
根据用户发来的指令确定当前的业务访问类型;
选择与当前的业务访问类型对应的替换算法或预取算法;
使用所选择的替换算法或预取算法将数据存储到缓存Cache中。
一种利用缓存实现数据存储的装置,包括:
交互单元,用于接收用户发送的指令;
存储单元,用于存储每一种业务访问类型对应的替换算法或预取算法;
处理单元,用于根据交互单元接收到的指令确定当前的业务访问类型,从存储单元中选择与当前的业务访问类型对应的替换算法或预取算法,将所选择的替换算法或预取算法的信息发送给缓存执行单元;
缓存执行单元,用于使用所选择的替换算法或预取算法将数据存储到Cache中。
一种网络存储控制系统,包括用户主机通道、磁盘阵列通道、位于上述两个通道之间用以提高用户主机响应速度的缓存,以及用以根据用户主机业务类型动态改变自身算法的缓存控制器,其中该算法至少包括替换算法和预取算法两类算法中的一类。
由此可见,在本发明中,针对每一种业务的访问特点来选择将数据存储到Cache中的替换算法或预取算法,保证Cache中存储的数据尽可能的是主机处理器后续访问所需使用的,因此,提高了主机处理器从Cache中读取数据的命中率,从而提高了系统的访问效率,提高了系统的吞吐量。
附图说明
图1是数据存储控制系统的结构示意图。
图2是在本发明实施例1中一种利用替换算法在缓存中进行数据存储的流程图。
图3是在本发明实施例1中另一种利用替换算法在缓存中进行数据存储的流程图。
图4是在本发明实施例2中一种利用预取算法在缓存中进行数据存储的流程图。
图5是在本发明实施例2中另一种利用预取算法在缓存中进行数据存储的流程图。
图6是在本发明一个实施例中的利用缓存实现数据存储的装置的结构示意图。
图7是在本发明一个实施例中利用缓存实现数据存储的装置设置在缓存控制器中的具体结构示意图。
图8是在本发明另一个实施例中利用缓存实现数据存储的装置设置在主机处理器和缓存控制器中的具体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
在实际的业务实现中,用户在进行不同类型的业务时对数据的访问方式是不同的,这样,主机处理器根据用户请求从Cache中读取数据的方式则不同。比如,用户进行的业务需要始终访问连续性数据,即连续性访问业务,如用户下载一部电影,这样,主机处理器则会从Cache中从前至后的读取连续存储的数据。再如,用户进行的业务需要对部分数据进行反复使用,即局部性反复访问业务,如用户对数据库中的特定数据进行反复访问,这样,主机处理器则会从Cache中反复读取一部分特定数据。又如,用户进行的业务需要对数据进行循环使用,即循环访问业务,这样,主机处理器则会从Cache中循环读取全部数据。
在现有技术中,由于使用单一替换算法,比如为先进先出(FIFO)算法,因此,当有新的数据到来时,根据该先进先出算法,就会用新到来的数据替换Cache中最先存储的数据,而如果当前进行的是局部性反复访问业务,那么,主机处理器在多次访问中很可能均需要读取最先存储在Cache中的原始数据,这样,用FIFO算法作为替换算法,则会导致主机处理器后续无法访问到正确的数据,降低了读取数据的命中率。另外,由于现有技术中使用单一预取算法,如局部性周边预取算法,那么,在从磁盘阵列中预取数据时,则会预取出存储在当前所请求数据之前和之后特定位置的数据并存储在Cache中,然而,如果当前进行的业务是连续性访问业务时,预取并存储在Cache中的当前所请求数据之前特定位置的数据则并不是所需的,因此,也降低了读取数据的命中率。
可见,要想保证每一种业务的访问到来时,主机处理器从Cache中读取数据的命中率尽可能高,则必须针对每一种业务的访问特点来选择将数据存储到Cache中的替换算法或预取算法。
因此,本发明提出了一种利用缓存实现数据存储的方法。在该方法中,针对不同业务类型的访问特点,设置每一种业务访问类型对应的替换算法或预取算法;根据用户发来的指令确定当前的业务访问类型;选择与当前的业务访问类型对应的替换算法或预取算法;使用所选择的替换算法或预取算法将数据存储到Cache中。
根据本发明方法可知,本发明具体可以应用于以下两种业务场景:
业务场景一:利用替换算法将数据存储到Cache中。
在该业务场景一中,本发明方法中提到的算法为替换算法,此时,本领域技术人员可以想到,本发明方法提及的用户发来的指令为用户发来的数据写入指令,并且,存储到Cache中的数据为数据写入指令中携带的数据。
业务场景二:利用预取算法将预取的数据存储到Cache中。
在该业务场景二中,本发明方法中提到的算法为预取算法,此时,本领域技术人员可以想到,本发明方法提及的用户发来的指令为用户发来的数据读取指令,并且,存储到Cache中的数据为根据数据读取指令从磁盘阵列中预取的数据。
下面则针对本发明应用的上述两种业务场景分别举具体实施例,来说明本发明的具体实现流程。
实施例1:
本实施例针对上述业务场景一。
图2是在本发明实施例1中一种利用替换算法在缓存中进行数据存储的流程图。参见图1和图2,在本实施例中,可以采用主机处理器确定应使用的替换算法并通知缓存控制器的方式,具体实现过程具体包括以下步骤:
步骤201:预先在主机处理器上设置每一种业务访问类型对应的替换算法。
在本步骤中,对于每一种业务访问类型,根据其访问数据的特点,来设置能够提高访问数据命中率的替换算法。
比如,对于连续性访问业务,由于主机处理器会从Cache中按先进先读的顺序来读取连续存储的数据,这样,如果需要替换出空间,则应该先替换最先存储到Cache中的数据,因此,对应的替换算法可以为FIFO算法。
再如,对于局部性反复访问业务,由于主机处理器会从Cache中反复读取一部分特定数据,其他位置的数据读取过后则不会再读取。这样,如果需要替换出空间,则应该先替换Cache中最近最少使用的数据,因此,对应的替换算法可以为最近最少使用(LRU,Least Recently Used)算法。
步骤202:预先在主机处理器和缓存控制器上设置每一个替换算法对应的算法标签(Ari-Tag)。
步骤203:主机处理器确定业务标识与业务访问类型的对应关系。
本步骤中,确定业务标识与业务访问类型的对应关系,至少包括如下两种方式:
方式一、根据用户的配置确定。
在该方式一中,用户可以通过图形化用户界面(GUI)方式、命令行方式或配置文件方式向主机处理器输入包括业务标识与业务访问类型对应关系的配置信息,主机处理器根据该配置信息确定业务标识与业务访问类型的对应关系。
方式二、根据业务统计结果确定。
在该方式二中,主机处理器可以在一个设定时间长度内统计携带任意一个业务标识的访问请求对Cache中数据的访问方式,根据统计结果确定该业务标识与业务访问类型的对应关系。比如,主机处理器在30分钟的时间长度内,统计出携带业务标识1的访问请求对Cache中数据的访问方式均为连续性访问,那么,则可以确定业务标识1与连续性访问业务的对应关系。
步骤204:主机处理器接收外部发来的携带数据的数据写入指令。
步骤205:主机处理器根据数据写入指令中携带的业务标识,以及已确定的业务标识与业务访问类型的对应关系,确定当前的业务访问类型。
步骤206:主机处理器根据预先设置的每一种业务访问类型对应的替换算法,选择与当前的业务访问类型对应的替换算法。
步骤207:主机处理器根据预先设置的每一个替换算法对应的Ari-Tag,确定与所选择的替换算法对应的Ari-Tag。
步骤208:主机处理器将与所选择的替换算法对应的Ari-Tag携带在数据写入指令中发送至缓存控制器。
步骤209:缓存控制器检查Cache中是否有空闲的存储空间,如果有,则执行步骤210,否则,执行步骤211。
步骤210:缓存控制器直接将数据写入指令中携带的数据写入Cache中空闲的存储空间,结束当前流程。
步骤211:缓存控制器根据数据写入指令中携带的Ari-Tag,和预先设置的每一个替换算法对应的Ari-Tag,确定所使用的替换算法。
步骤212:缓存控制器使用所确定的替换算法,得到Cache中能够替换的存储空间。
步骤213:缓存控制器将能够替换的存储空间中存储的数据删除,然后将数据写入指令中携带的数据写入该能够替换的存储空间中。
图3是在本发明实施例1中另一种利用替换算法在缓存中进行数据存储的流程图。参见图1和图3,在本实施例中,还可以采用由缓存控制器确定应使用的替换算法的方式,具体实现过程具体包括以下步骤:
步骤301:预先在缓存控制器上设置每一种业务访问类型对应的替换算法。
本步骤中设置每一种业务访问类型对应的替换算法的实现过程与上述步骤201处所述的设置过程完全相同。
步骤302:缓存控制器确定业务标识与业务访问类型的对应关系。
本步骤中确定业务标识与业务访问类型的对应关系的过程与上述步骤203处确定该对应关系的过程完全相同。
步骤303:主机处理器接收外部发来的携带数据的数据写入指令,将该数据写入指令发送至缓存控制器。
步骤304:缓存控制器根据数据写入指令中携带的业务标识,以及已确定的业务标识与业务访问类型的对应关系,确定当前的业务访问类型。
步骤305:缓存控制器根据预先设置的每一种业务访问类型对应的替换算法,选择与当前的业务访问类型对应的替换算法。
步骤306:缓存控制器检查Cache中是否有空闲的存储空间,如果有,则执行步骤307,否则,执行步骤308。
步骤307:缓存控制器直接将数据写入指令中携带的数据写入Cache中空闲的存储空间,结束当前流程。
步骤308:缓存控制器使用所选择的替换算法,得到Cache中能够替换的存储空间。
步骤309:缓存控制器将能够替换的存储空间中存储的数据删除,然后将数据写入指令中携带的数据写入该能够替换的存储空间中。
实施例2:
本实施例针对上述业务场景二。
图4是在本发明实施例2中一种利用预取算法在缓存中进行数据存储的流程图。参见图1和图4,在本实施例中,可以采用主机处理器确定应使用的预取算法并通知缓存控制器的方式,具体实现过程具体包括以下步骤:
步骤401:预先在主机处理器上设置每一种业务访问类型对应的预取算法。
在本步骤中,对于每一种业务访问类型,根据其访问数据的特点,来设置能够提高访问数据命中率的预取算法。
比如,对于连续性访问业务,由于主机处理器会从Cache中读取连续的数据,这样,预取的数据就应该是紧接着当前所需读取数据的后续数据,因此,对应的预取算法可以为顺序读取算法。
再如,对于局部性周边访问业务,主机处理器从Cache中读取一部分数据后,下次需读取的数据则是当前所读取数据周边的数据。这样,预取的数据就应该是当前所需读取数据之前和之后特定范围内的数据,因此,对应的替换算法可以为局部性周边预取算法。
步骤402:预先在主机处理器和缓存控制器上设置每一个预取算法对应的Ari-Tag。
步骤403:主机处理器确定业务标识与业务访问类型的对应关系。
本步骤的实现过程与上述步骤203的实现过程完全相同。
步骤404:主机处理器接收外部发来的数据读取指令。
步骤405:主机处理器根据数据读取指令中携带的业务标识,以及已确定的业务标识与业务访问类型的对应关系,确定当前的业务访问类型。
步骤406:主机处理器根据预先设置的每一种业务访问类型对应的预取算法,选择与当前的业务访问类型对应的预取算法。
步骤407:主机处理器根据预先设置的每一个预取算法对应的Ari-Tag,确定与所选择的预取算法对应的Ari-Tag。
步骤408:主机处理器将与所选择的预取算法对应的Ari-Tag携带在数据读取指令中发送至缓存控制器。
步骤409:缓存控制器根据数据读取指令中携带的Ari-Tag,和预先设置的每一个预取算法对应的Ari-Tag,确定所使用的预取算法。
步骤410:缓存控制器使用所确定的预取算法,预测后续需读取的数据。
步骤411:缓存控制器将预取数据的请求发送给磁盘阵列。
步骤412:磁盘阵列根据接收到的预取数据的请求,将预取数据发送给缓存控制器。
步骤413:缓存控制器将预取数据存储在Cache中。
图5是在本发明实施例2中另一种利用预取算法在缓存中进行数据存储的流程图。参见图1和图5,在本实施例中,还可以采用由缓存控制器确定应使用的预取算法的方式,具体实现过程具体包括以下步骤:
步骤501:预先在缓存控制器上设置每一种业务访问类型对应的预取算法。
本步骤中设置每一种业务访问类型对应的预取算法的实现过程与上述步骤401处所述的设置过程完全相同。
步骤502与步骤302的所有描述均相同。
步骤503:主机处理器接收外部发来的数据读取指令,将该数据读取指令发送至缓存控制器。
步骤504:缓存控制器根据数据读取指令中携带的业务标识,以及已确定的业务标识与业务访问类型的对应关系,确定当前的业务访问类型。
步骤505:缓存控制器根据预先设置的每一种业务访问类型对应的预取算法,选择与当前的业务访问类型对应的预取算法。
步骤506~步骤509与步骤410~步骤413的所有描述均相同。
本发明还提出了一种利用缓存实现数据存储的装置。图6是在本发明一个实施例中的利用缓存实现数据存储的装置的结构示意图。参见图6,该装置可以包括交互单元、存储单元、处理单元和缓存执行单元,其中,
交互单元,用于接收用户发送的指令;
存储单元,用于存储每一种业务访问类型对应的替换算法或预取算法;
处理单元,用于根据交互单元接收到的指令确定当前的业务访问类型,从存储单元中选择与当前的业务访问类型对应的替换算法或预取算法,将所选择的替换算法或预取算法的信息发送给缓存执行单元;
缓存执行单元,用于使用所选择的替换算法或预取算法将数据存储到Cache中。
参见图6,在本发明实施例提出的装置中,处理单元根据交互单元接收到的指令确定当前的业务访问类型的具体实现包括:
由所述存储单元进一步存储业务标识与业务访问类型的对应关系;则,所述处理单元进一步根据所述存储单元中存储的业务标识与业务访问类型的对应关系,以及所述交互单元接收到的指令中的业务标识,确定出当前的业务访问类型。
参见图6,在本发明实施例提出的装置中,所述存储单元中存储的业务标识与业务访问类型的对应关系可以由所述处理单元根据用户配置得出并保存在所述存储单元中,具体实现包括:
所述交互单元,进一步用于接收用户通过图形化用户界面方式、命令行方式或配置文件方式输入的包括业务标识与业务访问类型对应关系的配置信息,将该配置信息发送至所述处理单元;
所述处理单元,进一步用于根据接收到的配置信息确定业务标识与业务访问类型的对应关系,将该对应关系保存到所述存储单元中。
所述存储单元中存储的业务标识与业务访问类型的对应关系还可以由所述处理单元根据统计结果得出并保存在所述存储单元中,具体实现包括:
所述处理单元,进一步用于在设定时间长度内统计携带所述业务标识的访问请求对Cache中数据的访问方式,根据统计结果确定所述业务标识与业务访问类型的对应关系,将该对应关系保存到所述存储单元中。
在本发明一个实施例中,利用缓存实现数据存储的装置可以设置在缓存控制器中,也就是说,由缓存控制器执行本发明装置的所有处理。此时,本发明装置的结构具体可以参见图7所示。
在本发明的另一个实施例中,利用缓存实现数据存储的装置可以一部分设置在主机处理器中,另一部分设置在缓存控制器中,也就是说,由主机处理器和缓存控制器配合执行本发明装置的所有处理。此时,本发明装置的结构具体可以参见图8所示。其中,所述交互单元、所述存储单元和所述处理单元设置在主机处理器中,所述缓存执行单元设置在缓存控制器中,并且,
所述处理单元,还需进一步根据预先为每一个算法设置的算法标签,将所选择的算法对应的算法标签携带在所述指令中发送至所述交互单元;
所述交互单元,还需进一步将携带算法标签的所述指令发送至所述缓存控制器;
所述缓存控制器,还需根据接收到所述指令中的算法标签及预先为每一个算法设置的算法标签,确定所使用的所述替换算法或预取算法。
根据本发明实施例的上述技术方案,还可以得到本发明实施例提供的一种网络存储控制系统。该网络存储控制系统中包括用户主机通道、磁盘阵列通道、位于上述两个通道之间用以提高用户主机响应速度的缓存,以及用以根据用户主机业务类型动态改变自身算法的缓存控制器,其中该算法至少包括替换算法和预取算法两类算法中的一类。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种利用缓存实现数据存储的方法,其特征在于,设置每一种业务访问类型对应的替换算法或预取算法,该方法包括:
根据用户发来的指令确定当前的业务访问类型;
选择与当前的业务访问类型对应的替换算法或预取算法;
使用所选择的替换算法或预取算法将数据存储到缓存Cache中。
2.根据权利要求1所述的方法,其特征在于,所设置及所选择的为替换算法,所述指令为数据写入指令,所述数据为数据写入指令中携带的数据;
或者,所设置及所选择的为预取算法,所述指令为数据读取指令,所述数据为从磁盘阵列中预取的数据。
3.根据权利要求1所述的方法,其特征在于,该方法进一步包括:确定业务标识与业务访问类型的对应关系;
所述根据用户发来的指令确定当前的业务访问类型的步骤包括:从用户发来的指令中获取业务标识,根据所述对应关系,确定与所获取的业务标识对应的当前的业务访问类型。
4.根据权利要求3所述的方法,其特征在于,所述确定业务标识与业务访问类型的对应关系的步骤包括:接收用户通过图形化用户界面方式、命令行方式或配置文件方式输入的包括业务标识与业务访问类型对应关系的配置信息,根据该配置信息确定业务标识与业务访问类型的对应关系。
5.根据权利要求3所述的方法,其特征在于,所述确定业务标识与业务访问类型的对应关系的步骤包括:在设定时间长度内统计携带所述业务标识的访问请求对Cache中数据的访问方式,根据统计结果确定所述业务标识与业务访问类型的对应关系。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,由缓存控制器执行所述确定、选择、使用和存储的步骤。
7.根据权利要求1至5中任意一项所述的方法,其特征在于,由主机处理器执行所述确定和选择的步骤;
在主机处理器选择所述算法之后,进一步包括:主机处理器根据预先为每一个算法设置的算法标签,将所选择的算法对应的算法标签携带在所述指令中发送至缓存控制器,缓存控制器根据所述指令中携带的算法标签和预先为每一个算法设置的算法标签,确定所使用的所述替换算法或预取算法;
则由缓存控制器执行所述使用和存储的步骤。
8.一种利用缓存实现数据存储的装置,其特征在于,包括:
交互单元,用于接收用户发送的指令;
存储单元,用于存储每一种业务访问类型对应的替换算法或预取算法;
处理单元,用于根据交互单元接收到的指令确定当前的业务访问类型,从存储单元中选择与当前的业务访问类型对应的替换算法或预取算法,将所选择的替换算法或预取算法的信息发送给缓存执行单元;
缓存执行单元,用于使用所选择的替换算法或预取算法将数据存储到Cache中。
9.根据权利要求8所述的装置,其特征在于,
所述存储单元,进一步用于存储业务标识与业务访问类型的对应关系;
所述处理单元,进一步用于根据所述存储单元中存储的业务标识与业务访问类型的对应关系,以及所述交互单元接收到的指令中的业务标识,执行所述确定当前的业务访问类型的处理。
10.根据权利要求9所述的装置,其特征在于,
所述交互单元,进一步用于接收用户通过图形化用户界面方式、命令行方式或配置文件方式输入的包括业务标识与业务访问类型对应关系的配置信息,将该配置信息发送至所述处理单元;
所述处理单元,进一步用于根据接收到的配置信息确定业务标识与业务访问类型的对应关系,将该对应关系保存到所述存储单元中。
11.根据权利要求9所述的装置,其特征在于,
所述处理单元,进一步用于在设定时间长度内统计携带所述业务标识的访问请求对Cache中数据的访问方式,根据统计结果确定所述业务标识与业务访问类型的对应关系,将该对应关系保存到所述存储单元中。
12.根据权利要求8至11中任意一项所述的装置,其特征在于,该装置设置在缓存控制器中。
13.根据权利要求8至11中任意一项所述的装置,其特征在于,所述处理单元,进一步根据预先为每一个算法设置的算法标签,将所选择的算法对应的算法标签携带在所述指令中发送至所述交互单元;
所述交互单元,进一步用于将携带算法标签的所述指令发送至所述缓存控制器;
所述缓存控制器,根据接收到所述指令中的算法标签及预先为每一个算法设置的算法标签,确定所使用的所述替换算法或预取算法;
则,所述交互单元、所述存储单元和所述处理单元设置在主机处理器中;
所述缓存执行单元设置在缓存控制器中。
14.一种网络存储控制系统,其特征在于,包括用户主机通道、磁盘阵列通道、位于上述两个通道之间用以提高用户主机响应速度的缓存,以及用以根据用户主机业务类型动态改变自身算法的缓存控制器,其中该算法至少包括替换算法和预取算法两类算法中的一类。
CNB2007101204877A 2007-08-20 2007-08-20 一种利用缓存实现数据存储的方法和装置 Active CN100481028C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007101204877A CN100481028C (zh) 2007-08-20 2007-08-20 一种利用缓存实现数据存储的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007101204877A CN100481028C (zh) 2007-08-20 2007-08-20 一种利用缓存实现数据存储的方法和装置

Publications (2)

Publication Number Publication Date
CN101105773A true CN101105773A (zh) 2008-01-16
CN100481028C CN100481028C (zh) 2009-04-22

Family

ID=38999676

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101204877A Active CN100481028C (zh) 2007-08-20 2007-08-20 一种利用缓存实现数据存储的方法和装置

Country Status (1)

Country Link
CN (1) CN100481028C (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063462A (zh) * 2010-10-29 2011-05-18 蓝汛网络科技(北京)有限公司 一种回收缓存服务器中存储资源的方法及装置
CN102262512A (zh) * 2011-07-21 2011-11-30 浪潮(北京)电子信息产业有限公司 一种实现磁盘阵列缓存分区管理的系统、装置及方法
CN101510177B (zh) * 2009-03-06 2012-04-18 成都市华为赛门铁克科技有限公司 一种存储方法和存储系统
CN102662862A (zh) * 2012-03-22 2012-09-12 北京北大众志微系统科技有限责任公司 实现混合预取的方法及相应的装置
CN103077225A (zh) * 2012-12-31 2013-05-01 华为技术有限公司 数据读取方法、装置及系统
WO2014094306A1 (zh) * 2012-12-21 2014-06-26 华为技术有限公司 一种Cache工作模式的设置方法和装置
CN104104710A (zh) * 2013-04-15 2014-10-15 同济大学 一种移动云计算环境中基于低能耗的数据缓存方法
CN105094686A (zh) * 2014-05-09 2015-11-25 华为技术有限公司 数据缓存方法、缓存和计算机系统
CN107193757A (zh) * 2017-05-16 2017-09-22 龙芯中科技术有限公司 数据预取方法、处理器和设备
CN108449417A (zh) * 2018-03-29 2018-08-24 国信优易数据有限公司 一种业务数据访问方法及装置
CN108701079A (zh) * 2015-10-30 2018-10-23 高通股份有限公司 具有自适应预取的闪存读取高速缓存的系统和方法
CN109167726A (zh) * 2018-08-23 2019-01-08 新华三技术有限公司 报文的数据预取方法、装置及网络设备
CN109461113A (zh) * 2018-10-11 2019-03-12 中国人民解放军国防科技大学 一种面向数据结构的图形处理器数据预取方法及装置
CN110019017A (zh) * 2018-04-27 2019-07-16 中国科学院高能物理研究所 一种基于访问特征的高能物理文件存储方法
CN110765034A (zh) * 2018-07-27 2020-02-07 华为技术有限公司 一种数据预取方法及终端设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508642A (zh) * 2011-11-10 2012-06-20 华为技术有限公司 一种数据预取方法及装置

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510177B (zh) * 2009-03-06 2012-04-18 成都市华为赛门铁克科技有限公司 一种存储方法和存储系统
CN102063462A (zh) * 2010-10-29 2011-05-18 蓝汛网络科技(北京)有限公司 一种回收缓存服务器中存储资源的方法及装置
CN102262512A (zh) * 2011-07-21 2011-11-30 浪潮(北京)电子信息产业有限公司 一种实现磁盘阵列缓存分区管理的系统、装置及方法
CN102662862A (zh) * 2012-03-22 2012-09-12 北京北大众志微系统科技有限责任公司 实现混合预取的方法及相应的装置
CN102662862B (zh) * 2012-03-22 2015-01-21 北京北大众志微系统科技有限责任公司 实现混合预取的方法及相应的装置
CN104321754B (zh) * 2012-12-21 2017-12-15 华为技术有限公司 一种Cache工作模式的设置方法和装置
WO2014094306A1 (zh) * 2012-12-21 2014-06-26 华为技术有限公司 一种Cache工作模式的设置方法和装置
CN104321754A (zh) * 2012-12-21 2015-01-28 华为技术有限公司 一种Cache工作模式的设置方法和装置
CN103077225A (zh) * 2012-12-31 2013-05-01 华为技术有限公司 数据读取方法、装置及系统
CN104104710A (zh) * 2013-04-15 2014-10-15 同济大学 一种移动云计算环境中基于低能耗的数据缓存方法
CN104104710B (zh) * 2013-04-15 2017-05-24 同济大学 一种移动云计算环境中基于低能耗的数据缓存方法
US10241919B2 (en) 2014-05-09 2019-03-26 Huawei Technologies Co., Ltd. Data caching method and computer system
CN105094686A (zh) * 2014-05-09 2015-11-25 华为技术有限公司 数据缓存方法、缓存和计算机系统
CN105094686B (zh) * 2014-05-09 2018-04-10 华为技术有限公司 数据缓存方法、缓存和计算机系统
CN108701079A (zh) * 2015-10-30 2018-10-23 高通股份有限公司 具有自适应预取的闪存读取高速缓存的系统和方法
CN107193757A (zh) * 2017-05-16 2017-09-22 龙芯中科技术有限公司 数据预取方法、处理器和设备
CN107193757B (zh) * 2017-05-16 2020-03-13 龙芯中科技术有限公司 数据预取方法、处理器和设备
CN108449417A (zh) * 2018-03-29 2018-08-24 国信优易数据有限公司 一种业务数据访问方法及装置
CN110019017A (zh) * 2018-04-27 2019-07-16 中国科学院高能物理研究所 一种基于访问特征的高能物理文件存储方法
CN110019017B (zh) * 2018-04-27 2021-04-27 中国科学院高能物理研究所 一种基于访问特征的高能物理文件存储方法
CN110765034A (zh) * 2018-07-27 2020-02-07 华为技术有限公司 一种数据预取方法及终端设备
US11586544B2 (en) 2018-07-27 2023-02-21 Huawei Technologies Co., Ltd. Data prefetching method and terminal device
CN109167726A (zh) * 2018-08-23 2019-01-08 新华三技术有限公司 报文的数据预取方法、装置及网络设备
CN109461113A (zh) * 2018-10-11 2019-03-12 中国人民解放军国防科技大学 一种面向数据结构的图形处理器数据预取方法及装置

Also Published As

Publication number Publication date
CN100481028C (zh) 2009-04-22

Similar Documents

Publication Publication Date Title
CN100481028C (zh) 一种利用缓存实现数据存储的方法和装置
US9996466B2 (en) Apparatus, system and method for caching compressed data
US7076598B2 (en) Pipeline accessing method to a large block memory
CN1658171B (zh) 通过控制频繁受访问扇区对非易失性存储器的更快写操作
US7500063B2 (en) Method and apparatus for managing a cache memory in a mass-storage system
CN101627372B (zh) 选择性地利用多个异类固态存储位置
EP2732374B1 (en) Mobile memory cache read optimization
CN103246616A (zh) 一种长短周期访问频度的全局共享缓存替换方法
CN105631035B (zh) 数据存储方法和装置
CN104407936B (zh) 一种数据快照方法及装置
JP2005115910A (ja) シリアルフラッシュメモリにおけるxipのための優先順位に基づくフラッシュメモリ制御装置及びこれを用いたメモリ管理方法、これによるフラッシュメモリチップ
CN101644996A (zh) 索引数据的存储方法和存储控制装置
KR20080021623A (ko) 메모리 페이지 관리
US20150143045A1 (en) Cache control apparatus and method
JP2005293205A (ja) 記憶制御装置、制御方法、および制御プログラム。
CN101957729B (zh) 逻辑块变换方法及基于该方法兼容用户读写的方法和装置
US8683169B2 (en) Selecting an auxiliary storage medium for writing data of real storage pages
CN110442382B (zh) 预取缓存控制方法、装置、芯片以及计算机可读存储介质
CN107193693A (zh) 一种基于存储系统的在线数据存储优化方法
US20150347042A1 (en) Apparatus and method for controlling memory
CN105224258B (zh) 一种数据缓冲区的复用方法与系统
CN116991761A (zh) 一种数据处理方法、装置、计算机设备及存储介质
US9026731B2 (en) Memory scheduling for RAM caches based on tag caching
CN113420191B (zh) 数据存储方法和装置、数据查询方法和装置、数据结构、电子设备及计算机可读存储介质
CN114995770A (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
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address