CN101196852A - 分布式缓存方法及其系统、以及缓存设备和非缓存设备 - Google Patents
分布式缓存方法及其系统、以及缓存设备和非缓存设备 Download PDFInfo
- Publication number
- CN101196852A CN101196852A CNA2008100559956A CN200810055995A CN101196852A CN 101196852 A CN101196852 A CN 101196852A CN A2008100559956 A CNA2008100559956 A CN A2008100559956A CN 200810055995 A CN200810055995 A CN 200810055995A CN 101196852 A CN101196852 A CN 101196852A
- Authority
- CN
- China
- Prior art keywords
- cache
- data
- board
- supplementary
- unit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000015654 memory Effects 0.000 claims abstract description 28
- 239000000872 buffer Substances 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims description 47
- 230000004044 response Effects 0.000 claims description 27
- 230000000153 supplemental effect Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 8
- 230000003139 buffering effect Effects 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000032683 aging Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式缓存方法,应用于一个机框多个单板的系统,该方法包括:所述系统中的缓存板记录提供自身部分内存作为补充缓存的非缓存板;缓存板将因本地缓存满而准备删除的数据保存到所述非缓存板提供的补充缓存中,并从缓存板删除;缓存板根据本地缓存和补充缓存中的数据,响应外部数据请求。本发明还提供了另一种分布式缓存方法,一种分布式缓存系统,以及该系统中的缓存设备和非缓存设备。使用本发明能够在不额外增加存储介质的情况下,实现缓存容量的扩充。
Description
技术领域
本发明涉及缓存技术,具体涉及一机多板系统中的分布式缓存方法及其系统、以及缓存设备和非缓存设备。
背景技术
随着对系统响应速度要求的提高,缓存技术越来越多的被应用在诸如网络存储系统等频繁响应用户访问请求的系统中。缓存技术是指在用户与提供访问服务的真实设备之间增加缓存设备,将用户经常访问的真实设备数据暂存在缓存设备中。当用户提出数据请求时,首先询问缓存设备,如果被请求的数据在缓存设备中,则缓存设备立刻将被请求数据返回给用户。由于缓存设备的缓存介质通常采用内存这样的快速存储介质,因此缓存设备响应数据请求的速度要远远大于真实设备的响应速度,这不仅缩短了访问响应时间,而且降低了真实设备的负荷。
图1为现有技术中缓存设备处理数据请求的流程图。如图1所示,该方法包括以下步骤:
步骤101:接收外部数据请求。
步骤102:判断本地缓存中是否存在被请求数据,如果是,则执行步骤103,否则执行步骤104。
步骤103:用本地缓存中的数据响应外部数据请求,本流程结束。
步骤104:向真实设备转发外部数据请求。
步骤105:用真实设备返回的数据响应外部数据请求。
步骤106:判断本地缓存是否已满,如果是,则执行步骤107和108,否则,直接执行步骤108。
步骤107:删除本地缓存中最长时间未被访问的数据。
步骤108:将真实设备返回的数据存入本地缓存。那么,缓存设备下次收到相同的外部数据请求时,就可以直接响应,而不必访问真实设备,从而提高了访问响应速度,降低了真实设备的负担。
至此,本流程结束。
从图1描述的流程可见,缓存设备缓存容量越大,其能够处理的外部数据请求越多,真实设备被访问的概率就越低,那么,访问响应速度越快,真实设备负担越低。可见,尽可能的扩大缓存容量是很有必要的。
目前,扩大缓存容量的方式通常是增加系统中存储介质的数量和容量。例如增加内存、磁盘等存储介质,或者将原有的小容量缓存介质替换为大容量缓存介质。
在采用增加存储介质数量方式时,增加了缓存设备硬件上的芯片数量,需要更大的PCB板面积来容纳所增加的芯片。同时,硬件电路的增加也增大了PCB布线的难度。此外,缓存数据的访问是由缓存设备的CPU通过寻址完成。一个缓存设备中其CPU的寻址空间是固定的,因此该CPU能够访问的内存空间有限。那么,即使增加了存储介质数量,在CPU所访问地址空间的限制下,增加的存储介质也不一定能够被全部访问到,因此缓存扩充受到限制。
在采用增加存储介质容量的方式时,仍然会因CPU访问地址空间有限,导致缓存扩充受到限制。
发明内容
有鉴于此,本发明提供了一种分布式缓存方法,应用于一机多板系统中,能够在不额外增加存储介质的情况下,实现缓存容量的扩充。
该方法包括:
所述系统中的缓存板记录提供自身部分内存作为补充缓存的非缓存板;
缓存板将因本地缓存满而准备删除的数据保存到所述非缓存板提供的补充缓存中,并从缓存板删除;
缓存板根据本地缓存和补充缓存中的数据,响应外部数据请求。
较佳地,提供补充缓存的所述非缓存板的数量为n个,n为大于或等于1的整数;所述缓存板进一步记录非缓存板的缓存顺序;
所述缓存板将因本地缓存满而准备删除的数据保存到补充缓存中包括:缓存板处理待缓存数据,在判定本地缓存已满时,根据所述存储顺序将本地缓存中最长时间未被访问的数据发送给n个非缓存板中的一个,从本地缓存删除所述最长时间未被访问的数据,并保存所述待缓存数据。
其中,所述缓存板根据本地缓存和补充缓存保存的数据,响应外部数据请求包括:所述缓存板接收外部数据请求,当判定本地缓存不存在被请求数据时,判断所述补充缓存是否存在被请求数据,如果是,则利用从补充缓存获取的被请求数据响应所述外部数据请求,否则,利用从真实设备获取的被请求数据响应所述外部数据请求;然后将响应的被请求数据保存在本地缓存。
较佳地,所述缓存板接收外部数据请求后,同步转发给所述非缓存板
所述判断所述补充缓存是否存在被请求数据为:在接收到非缓存板返回的被请求数据时,判定为所述补充缓存存在被请求数据,否则,判定为所述补充缓存不存在被请求数据。
较佳地,提供补充缓存的所述非缓存板的数量为n个,n为大于或等于1的整数;所述转发给所述非缓存板为:将所述外部数据请求同时转发给所述n个非缓存板。
本发明还提供了另一种分布式缓存方法,应用于一机多板系统中,能够在不额外增加存储介质的情况下,实现缓存容量的扩充。
该方法包括:所述系统中的非缓存板提供自身部分内存作为补充缓存;
接收所在系统中缓存板因缓存满而准备删除的数据,并保存在所述补充缓存中;
接收来自缓存板的外部数据请求,根据所述补充缓存保存的数据,将外部数据请求响应结果返回给所述缓存板。
其中,所述保存在所述补充缓存中包括:判断补充缓存是否已满,如果是,则删除补充缓存中最长时间未被访问的数据,并执行所述保存;否则,直接执行所述保存。
其中,所述根据所述补充缓存保存的数据,将外部数据请求响应结果返回给所述缓存板包括:查找本地补充缓存中是否存在被请求数据,如果是,则将查找到的被请求数据作为外部数据请求响应结果返回给所述缓存板,并将查找到的被请求数据从本地补充缓存中删除;否则,向所述非缓存板返回无数据消息。
本发明还提供了一种分布式缓存系统,应用于一机多板系统中,能够在不额外增加存储介质的情况下,实现缓存容量的扩充。
该分布式缓存系统包括:非缓存设备和缓存设备,其中,
所述缓存设备,用于将因本地缓存满而准备删除的数据发送给所述非缓存设备,根据本地缓存和所述非缓存设备的补充缓存保存的数据,响应外部数据请求;
所述非缓存设备,用于从自身划分出部分内存作为补充缓存;将接收自所述缓存设备的所述准备删除的数据保存在所述补充缓存中。
本发明还提供了一种缓存设备,应用于一机多板系统中,能够在不额外增加存储介质的情况下,实现缓存容量的扩充。
该设备包括配置单元、待缓存数据处理单元、缓存查询单元和缓存单元;其中,
所述配置单元,用于保存所在系统中提供补充缓存的非缓存设备信息;
所述待缓存数据处理单元,用于接收待缓存数据,在判定所述缓存单元已满时,根据所述配置单元保存的非缓存设备信息,将所述缓存单元中最长时间未被访问的数据发送给所述非缓存设备并从缓存单元中删除,然后将所述待缓存数据保存在所述缓存单元;
所述缓存查询单元,用于接收外部数据请求,并根据所述缓存单元保存的数据以及所述非缓存设备的补充缓存保存的数据响应外部数据请求;
所述缓存单元,用于提供缓存空间。
本发明还提供了一种非缓存设备,应用于一机多板系统中,能够在不额外增加存储介质的情况下,实现缓存容量的扩充。
该设备包括缓存请求处理单元、数据请求处理单元和补充缓存单元;其中,
所述缓存请求处理单元,用于接收所在系统的缓存设备因本地缓存满而准备删除的数据,将所接收的数据保存在所述补充缓存单元中;
数据请求处理单元,用于接收来自所述缓存设备的外部数据请求并根据补充缓存单元中的数据响应所述外部数据请求;
所述补充缓存单元,用于从所在设备中划分出部分内存,作为补充缓存空间。根据以上技术方案可见,应用本发明能够在不额外增加存储介质数量和容量的情况下,实现缓存容量的扩充。具体来说,具有如下有益效果:
首先,本发明利用非缓存板上的部分内存作为补充缓存,从而在不必增加缓存介质的情况下实现了缓存容量的扩充。缓存板和非缓存板采用已有的板间通信机制进行信息交互,根据信息交互结果响应数据请求,因此,不需要硬件上的修改和重新布线。同时,非缓存板具有独立的CPU,其能对本地补充缓存中的数据进行访问,而不占用缓存板的CPU寻址空间,不受缓存板CPU寻址空间的限制。因此,增加的补充缓存都能够被访问到,缓存容量的增加没有受到限制。
其次,缓存板与非缓存板具有主次之分,将缓存板上长时间没有被访问的数据老化到非缓存板上,非缓存板缓存的数据被访问后,又重新保存到缓存板上。这种老化方式能够降低访问非缓存板的几率,提高了访问响应速度。
再次,在缓存板接收到数据请求时,同时发送给非缓存板,则缓存板和非缓存板同时查询被请求数据,减少了查询时间,进一步提高访问响应速度。
此外,使用内存介质作为补充缓存,利用内存访问速度较快的特点,进一步提高访问响应速度。
附图说明
图1为现有技术中缓存设备处理数据请求的流程图。
图2为本发明分布式缓存方法的示例性流程图。
图3为本发明较佳实施例中缓存板处理数据请求的方法流程图。
图4为本发明较佳实施例中非缓存板处理数据请求的方法流程图。
图5为本发明较佳实施例中非缓存板处理缓存请求的方法流程图。
图6为本发明中分布式缓存系统的示例性结构示意图。
图7为图6中缓存设备610的结构示意图。
图8为图6中非缓存设备620的结构示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明为一种分布式缓存方案,其基本思想为:在一机多板的系统中,从非缓存板上划分出部分内存,作为补充缓存;缓存板将因本地缓存满而准备删除的数据保存在补充缓存中,利用本地缓存和补充缓存中的数据响应外部数据请求。
这里,一机多板系统是指一个设备机框中具有多块单板,其中多块单板包括一块负责缓存的缓存板,以及多块负责处理其他业务的非缓存板。缓存板和非缓存板上都具有独立的CPU。在处理缓存业务时,缓存板利用原有的板间通信机制与非缓存板进行交互,以响应数据请求。
图2示出了基于以上基本思想的分布式缓存方法的示例性流程图,如图2所示,该方法包括以下步骤:
步骤201:在一机多板系统中,从其他类型的处理板即非缓存板上划分出部分内存,作为补充缓存。
步骤202:缓存板处理待缓存数据时,如果判定本地缓存满,则将最久未被访问的数据保存到非缓存板提供的补充缓存,并从本地删除。
步骤203:缓存板根据本地缓存的数据和补充缓存中的数据,响应外部数据请求。
根据上述流程,采用图2的缓存方法,不用在缓存板中增加缓存介质,而是将非缓存板上的部分内存作为扩充的缓存容量,从而实现了缓存容量扩充。缓存板将因本地缓存满而需要丢弃的数据老化在非缓存板上,保证缓存板本地缓存被访问频率较高的数据,从而减少了访问非缓存板的频率,进一步提高访问响应速度。非缓存板具有独立的CPU,其对本地缓存数据的访问不占用缓存板的CPU寻址空间,不受缓存板CPU寻址空间的限制,因此增加的补充缓存都能够被访问到。
在实际中,为了进一步增加缓存容量,分别将多个非缓存板中的部分内存划分出来,作为补充缓存。在划分时,需要保证非缓存板自身业务运行的正常。缓存板每次将本地最长时间未被访问的数据发送给补充缓存时,依次循环的发送给不同非缓存板上的补充缓存。例如,有n个非缓存板提供补充缓存,n为大于或等于1的整数,在缓存单元本次发送本地最长时间未被访问的数据时,发送给第i个非缓存板,下一次发送给第(i+1)个非缓存板,当i等于n时,发送给第1个非缓存板。
在实际中,缓存板可以先根据本地缓存数据判定无法响应外部数据请求后,再向非缓存板转发外部数据请求。为了提高响应速度,较佳地,缓存板在接收到外部数据请求时,同步将该外部数据请求发送给非缓存板,那么,缓存板和非缓存板可以同时进行被请求数据的查询,同时查询所用时间小于依次查询所用时间,从而提高访问响应速度。
在实际中,缓存板向非缓存板转发外部数据请求时,可以将外部数据请求依次发送给n个非缓存板,在当前接收到外部数据请求的缓存板无法响应数据请求时,再向下一个缓存板转发该外部数据请求。为了减少外部数据请求在各非缓存板之间的传输时间,较佳地,同时将外部数据请求转发给所有提供补充缓存的非缓存板,那么多个非缓存板可以同时进行被请求数据的查询,多个非缓存板的同时查询时间小于依次查询时间,从而进一步提高访问响应速度。
以下举较佳实施例,对本发明的分布式缓存方法进行详细描述。在较佳实时例中,由多个非缓存板提供补充缓存。
图3为本发明较佳实施例中缓存板处理数据请求的流程图。如图3所示,该方法以下步骤:
步骤301:收到外部数据请求。
步骤302:将外部数据请求同步发送给非缓存板。
本实施例中,缓存板将接收到的数据请求发送给所有能够提供补充缓存的非缓存板。能够作为补充缓存的非缓存板信息是缓存板预先接收自用户配置并保存的,也可以是接收自非缓存板上报并保存的。
步骤303:判断本地缓存中是否存在被请求数据;如果是,则执行步骤304;否则,执行步骤305。
步骤304:用本地缓存所保存的数据响应外部数据请求,结束本流程。
步骤305:判断非缓存板中是否存在被请求数据,如果是,则执行步骤307,否则,执行步骤306。
本步骤中,等待非缓存板返回消息。如果返回的是携带被请求数据的数据响应消息,则判定非缓存板中存在被请求数据,执行步骤307;如果返回的是无数据消息,则判定非缓存板中没有被请求数据,执行步骤306。
步骤306:向真实设备转发外部数据请求,并利用真实设备返回的数据响应外部数据请求;转入执行步骤308。
步骤307:利用非缓存板返回的被请求数据响应外部数据请求;转入执行步骤308。
步骤308:判断本地缓存是否已满;如果是,则执行步骤309和310;否则,直接执行步骤310。
步骤309:将本地缓存中最长时间未被访问的数据发送给非缓存板,并从本地缓存删除。这里,在将最长时间未被访问的数据发送给非缓存板时,可以携带在缓存请求中发送,令非缓存板执行对该数据的缓存操作。
步骤310:将响应数据请求的被请求数据保存在本地缓存。
其中,响应数据请求的被请求数据可能是非缓存板返回的数据,也可能是真实设备返回的数据,只要响应数据请求的数据不是从本地缓存获取的,都需要存储在本地。
至此,本流程结束。
在前述步骤302中,缓存板将外部数据请求转发给非缓存板后,非缓存板执行如图4示出的数据请求处理流程。如图4所示,本发明较佳实施例中非缓存板处理数据请求的方法包括以下步骤:
步骤401:接收缓存板发来的外部数据请求。
步骤402:判断本地补充缓存中是否存在被请求数据;如果是,则执行步骤404和405;否则,直接执行步骤403。
步骤403:向缓存板返回无数据消息,本流程结束。该无数据消息用于通知缓存板本地补充缓存中没有被请求的数据。
步骤404:向缓存板返回携带查找到的被请求数据的数据响应消息。
步骤405:将查找到的被请求数据从本板删除。
至此,本流程结束。
在前述步骤309中,缓存板将本板最长时间未被访问的数据携带在缓存请求中发送给非缓存板。此时,非缓存板接收到缓存请求,执行如图5示出的缓存请求处理流程。如图5所示,本发明较佳实施例中非缓存板处理缓存请求的方法包括以下步骤:
步骤501:接收来自缓存板的缓存请求。该缓存请求中携带缓存板因本地缓存已满而删除的数据。
步骤502:判断本地补充缓存是否已满,如果是,则执行步骤503和504;否则,直接执行步骤504。
步骤503:删除本地补充缓存中最长时间未被访问的数据。
步骤504:将缓存请求中的数据保存在本地补充缓存中。
至此,本流程结束。
由以上所述可见,本发明利用非缓存板上的内存作为补充缓存,从而在不必增加缓存介质的情况下实现了缓存容量的扩充。缓存板和非缓存板采用已有的板间通信机制进行信息交互,根据信息交互结果响应数据请求,因此,不需要硬件上的修改和重新布线。
其次,缓存板与非缓存板具有主次之分,将缓存板上长时间没有被访问的数据老化到非缓存板上,非缓存板缓存的数据被访问后,又重新保存到缓存板上。这种老化方式能够降低访问非缓存板的几率,提高了访问响应速度。
此外,在缓存板接收到数据请求时,立刻发送给非缓存板,则缓存板和非缓存板同时查询被请求数据,减少了查询时间,进一步提高访问响应速度。
为了实现本发明的分布式缓存方法,本发明提供了一种分布式缓存系统。图6为本发明中分布式缓存系统的示例性结构示意图。如图6所示,该系统包括缓存设备610和非缓存设备620。
其中,缓存设备610,用于将因本地缓存满而准备删除的数据发送给非缓存设备620;根据本地缓存和非缓存设备620中补充缓存保存的数据,响应外部数据请求。
非缓存设备620,用于从自身划分出部分内存,作为补充缓存;将缓存设备610因本地缓存已满而删除的数据保存在补充缓存中。
其中,缓存设备610和非缓存设备620采用已有的板间通信机制进行信息交互。提供补充缓存的非缓存设备620可以是一个也可以是多个。例如图6示出的n个,其中n为大于或等于1的整数。当非缓存设备620为多个时,缓存设备610根据预设接收顺序,依序将因本地缓存已满而删除的数据发送给其中一个非缓存设备620。
图7为图6中缓存设备610的结构示意图。如图7所示,该缓存设备610包括配置单元614、缓存查询单元611、待缓存数据处理单元612和缓存单元613。其中,
配置单元614,用于接收并记录配置信息,该配置信息包括所在系统中能够提供缓存的非缓存设备信息。该配置信息可以是用户预先配置的,也可以是接收自非缓存设备的。
缓存查询单元611,用于接收外部数据请求,并根据缓存单元613保存的数据以及所在系统中非缓存设备620的补充缓存保存的数据,响应外部数据请求。具体来说,缓存查询单元611在判定缓存单元613中没有被请求数据时,利用非缓存设备620提供的被请求数据,响应外部数据请求,将获取的被请求数据作为待缓存数据发送给待缓存数据处理单元612。
待缓存数据处理单元612,用于处理等待缓存到缓存单元613的数据:接收待缓存数据,判断缓存单元613是否已满,如果是,则根据配置单元614保存的配置信息,将缓存单元613中最长时间未被访问的数据发送给提供补充缓存的非缓存设备620,并已发送出去的数据从缓存单元613中删除,然后再将等待缓存的数据保存在缓存单元613中;否则,缓存单元613未满,则直接保存待缓存数据。其中,如果非缓存设备620的数量为大于1个,则向非缓存设备620发送最长时间未被访问的数据时,根据预设缓存顺序,将数据发送给n个非缓存设备620中的一个。在这种情况下,该缓存顺序也作为配置信息保存在配置单元614中。
缓存单元613,用于提供缓存空间。
其中,缓存查询单元611具体包括本地缓存查询模块、补充缓存查询模块和真实设备查询模块,其中,
本地缓存查询模块,用于接收外部数据请求,在缓存单元613中查找被请求的数据,如果查找到,则利用查找到的数据响应外部数据请求;否则,通知补充缓存查询模块。该本地缓存查询模块还根据配置单元614记录的配置信息,将外部数据请求转发给配置信息所指示的非缓存设备620,转发时机可以是接收到外部数据请求的时刻,也可以是判定在缓存单元613中没有查找到被请求数据的时刻。在转发外部数据请求中,较佳地,将外部数据请求同时发送给所有提供补充缓存的非缓存设备620。
补充缓存查询模块,用于在本地缓存查询模块的通知下,判断非缓存设备620返回的查找结果中是否包含被请求数据,如果是,则利用返回的被请求数据响应外部数据请求,并将返回的被请求数据作为本地待缓存数据,发送给待缓存数据处理单元612处理。否则,查找结果为无数据消息,通知真实设备查询模块。
真实设备查询模块,用于在补充缓存查询模块的通知下,将外部数据请求转发给真实设备,利用真实设备返回的被请求数据响应外部数据请求,并将返回的被请求数据作为待缓存数据,发送给待缓存数据处理单元612处理。
图8为图6中非缓存设备620的结构示意图。如图8所示,该非缓存设备620包括数据请求处理单元621、缓存请求处理单元622和补充缓存单元623,其中,
数据请求处理单元621,用于接收缓存设备610转发来的外部数据请求,在补充缓存单元623中查找被请求数据并返回查找结果:如果查找到,则返回查找到的被请求数据并从本地删除被请求数据,如果没有查找到,则返回无数据消息。
缓存请求处理单元622,用于接收缓存设备610因本地缓存满而删除的数据,将所接收的数据保存在补充缓存单元623中。具体而言,在判定补充缓存单元623已满时,将补充缓存单元623中最长时间未被访问的数据删除,然后再将接收自缓存设备610的数据保存到补充缓存单元623。当然,如果补充缓存单元623未满,则直接保存接收自缓存设备610的数据。
补充缓存单元623是所在非缓存设备620在不影响自身运行的情况下,从其内存中划分出来的一部分。该补充缓存单元623作为缓存设备610的补充,保存从缓存设备610老化下来的数据。
其中,缓存请求处理单元622包括判断模块和处理模块,其中,
判断模块,用于接收缓存设备610因本地缓存满而删除的数据,判断补充缓存单元623是否已满,将判断结果发送给处理模块;
处理模块,用于在判断结果显示已满时,删除补充缓存单元623中最长时间未被访问的数据,将接收自缓存设备610的数据保存在补充缓存单元623;在判断结果显示未满时,直接将接收自缓存设备610的数据保存在补充缓存单元623中。
其中,数据请求处理单元621具体包括查找模块和返回模块;
查找模块,用于接收来自缓存设备610的外部数据请求,查找补充缓存单元623是否存在被请求数据,将查找结果发送给返回模块;
返回模块,用于接收查找结果,在查找结果显示存在被请求数据时,向缓存设备610返回查找到的被请求数据,将返回的数据从补充缓存单元623删除;在查找结果显示不存在被请求数据时,返回无数据消息。
由以上所述可以看出,本发明所提供的分布式缓存方案,能够在不额外增加存储介质的情况下,实现缓存容量的扩充。缓存板和非缓存板采用已有的板间通信机制进行信息交互,因此,不需要硬件上的修改和重新布线。同时,非缓存板具有独立的CPU,其对本地缓存数据的访问不占用缓存板的CPU寻址空间,因此缓存容量的增加没有受到限制,增加的补充缓存都能够被访问到,缓存容量的增加没有受到限制。
通过将缓存板上长时间没有被访问的数据老化到非缓存板上,能够降低访问非缓存板的几率,提高访问响应速度。在缓存板接收到数据请求时,立刻发送给非缓存板,则缓存板和非缓存板同时查询被请求数据,减少了查询时间,进一步提高访问响应速度。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种分布式缓存方法,应用于一个机框多个单板的系统,其特征在于,该方法包括:
所述系统中的缓存板记录提供自身部分内存作为补充缓存的非缓存板;
缓存板将因本地缓存满而准备删除的数据保存到所述非缓存板提供的补充缓存中,并从缓存板删除;
缓存板根据本地缓存和补充缓存中的数据,响应外部数据请求。
2.如权利要求1所述的方法,其特征在于,提供补充缓存的所述非缓存板的数量为n个,n为大于或等于1的整数;所述缓存板进一步记录非缓存板的缓存顺序;
所述缓存板将因本地缓存满而准备删除的数据保存到补充缓存中包括:缓存板处理待缓存数据,在判定本地缓存已满时,根据所述存储顺序将本地缓存中最长时间未被访问的数据发送给n个非缓存板中的一个,从本地缓存删除所述最长时间未被访问的数据,并保存所述待缓存数据。
3.如权利要求1所述的方法,其特征在于,所述缓存板根据本地缓存和补充缓存保存的数据,响应外部数据请求包括:所述缓存板接收外部数据请求,当判定本地缓存不存在被请求数据时,判断所述补充缓存是否存在被请求数据,如果是,则利用从补充缓存获取的被请求数据响应所述外部数据请求,否则,利用从真实设备获取的被请求数据响应所述外部数据请求;然后将响应的被请求数据保存在本地缓存。
4.如权利要求3所述的方法,其特征在于,所述缓存板接收外部数据请求后,同步转发给所述非缓存板;
所述判断所述补充缓存是否存在被请求数据为:在接收到非缓存板返回的被请求数据时,判定为所述补充缓存存在被请求数据,否则,判定为所述补充缓存不存在被请求数据。
5.如权利要求4所述的方法,其特征在于,提供补充缓存的所述非缓存板的数量为n个,n为大于或等于1的整数;所述转发给所述非缓存板为:将所述外部数据请求同时转发给所述n个非缓存板。
6.一种分布式缓存方法,应用于一个机框多个单板的系统,其特征在于,该方法包括:
所述系统中的非缓存板提供自身部分内存作为补充缓存;
接收所在系统中缓存板因缓存满而准备删除的数据,并保存在所述补充缓存中;
接收来自缓存板的外部数据请求,根据所述补充缓存保存的数据,将外部数据请求响应结果返回给所述缓存板。
7.如权利要求6所述的方法,其特征在于,所述保存在所述补充缓存中包括:判断补充缓存是否已满,如果是,则删除补充缓存中最长时间未被访问的数据,并执行所述保存;否则,直接执行所述保存。
8.如权利要求6所述的方法,其特征在于,所述根据所述补充缓存保存的数据,将外部数据请求响应结果返回给所述缓存板包括:查找本地补充缓存中是否存在被请求数据,如果是,则将查找到的被请求数据作为外部数据请求响应结果返回给所述缓存板,并将查找到的被请求数据从本地补充缓存中删除;否则,向所述非缓存板返回无数据消息。
9.一种分布式缓存系统,应用于一个机框多个单板设备的系统,其特征在于,该分布式缓存系统包括:非缓存设备和缓存设备,其中,
所述缓存设备,用于将因本地缓存满而准备删除的数据发送给所述非缓存设备,根据本地缓存和所述非缓存设备的补充缓存保存的数据,响应外部数据请求;
所述非缓存设备,用于从自身划分出部分内存作为补充缓存;将接收自所述缓存设备的所述准备删除的数据保存在所述补充缓存中。
10.一种缓存设备,应用于一个机框多个单板设备的系统,其特征在于,该设备包括配置单元、待缓存数据处理单元、缓存查询单元和缓存单元;其中,
所述配置单元,用于保存所在系统中提供补充缓存的非缓存设备信息;
所述待缓存数据处理单元,用于接收待缓存数据,在判定所述缓存单元已满时,根据所述配置单元保存的非缓存设备信息,将所述缓存单元中最长时间未被访问的数据发送给所述非缓存设备并从缓存单元中删除,然后将所述待缓存数据保存在所述缓存单元;
所述缓存查询单元,用于接收外部数据请求,并根据所述缓存单元保存的数据以及所述非缓存设备的补充缓存保存的数据响应外部数据请求;
所述缓存单元,用于提供缓存空间。
11.如权利要求10所述的设备,其特征在于,所述配置单元进一步保存提供补充缓存的n个非缓存设备的缓存顺序,n为大于或等于1的整数;
所述待缓存数据处理单元进一步用于,根据所述配置单元保存的缓存顺序将所述删除的数据发送给所述n个非缓存设备中的一个。
12.如权利要求10所述的设备,其特征在于,所述缓存查询单元包括本地缓存查询模块、补充缓存查询模块和真实设备查询模块,其中,
所述本地缓存查询模块,用于接收外部数据请求,根据所述配置单元保存的非缓存设备信息,将所述外部数据请求同步转发给所述非缓存设备,在判定所述缓存单元中不存在被请求数据时,通知所述补充缓存查询模块;
所述补充缓存查询模块,用于在所述本地缓存查询模块的通知下,判断是否接收到来自所述非缓存设备的被请求数据,如果是,则利用所接收的被请求数据响应所述外部数据请求,并将所接收的被请求数据作为待缓存数据,发送给所述待缓存数据处理单元;否则,通知所述真实设备查询模块;
所述真实设备查询模块,用于在所述补充缓存查询模块的通知下,将所述外部数据请求转发给真实设备,利用返回的被请求数据响应所述外部数据请求,并将返回的被请求数据作为待缓存数据,发送给所述待缓存数据处理单元。
13.如权利要求12所述的设备,其特征在于,所述本地缓存查询模块在接收所述外部数据请求时,进一步将所接收的外部数据请求同时转发给所在系统中所有提供补充缓存的非缓存设备。
14.一种非缓存设备,应用于一个机框多个单板设备的系统,其特征在于,该设备包括缓存请求处理单元、数据请求处理单元和补充缓存单元;其中,
所述缓存请求处理单元,用于接收所在系统的缓存设备因本地缓存满而准备删除的数据,将所接收的数据保存在所述补充缓存单元中;
数据请求处理单元,用于接收来自所述缓存设备的外部数据请求并根据补充缓存单元中的数据响应所述外部数据请求;
所述补充缓存单元,用于从所在设备中划分出部分内存,作为补充缓存空间。
15.如权利要求14所述的设备,其特征在于,所述缓存请求处理单元包括判断模块和处理模块,其中,
所述判断模块,用于接收所述缓存设备准备删除的数据,判断所述补充缓存单元是否已满,将判断结果发送给所述处理模块;
所述处理模块,用于在所述判断结果显示已满,则删除补充缓存单元中最长时间未被访问的数据,将接收自所述缓存设备的数据保存在所述补充缓存单元;在所述判断结果显示未满,直接将所述接收自所述缓存设备的数据保存在所述补充缓存单元中。
16.如权利要求14所述的设备,其特征在于,所述数据请求处理单元包括查找模块和返回模块;
所述查找模块,用于接收来自缓存设备的外部数据请求,查找所述补充缓存单元是否存在被请求数据,将查找结果发送给所述返回模块;
所述返回模块,用于接收查找结果,在所述查找结果显示存在被请求数据时,向所述缓存设备返回查找到的被请求数据,将返回的数据从补充缓存单元删除;在所述查找结果显示不存在被请求数据时,返回无数据消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100559956A CN101196852B (zh) | 2008-01-03 | 2008-01-03 | 分布式缓存方法及其系统、以及缓存设备和非缓存设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100559956A CN101196852B (zh) | 2008-01-03 | 2008-01-03 | 分布式缓存方法及其系统、以及缓存设备和非缓存设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101196852A true CN101196852A (zh) | 2008-06-11 |
CN101196852B CN101196852B (zh) | 2010-06-16 |
Family
ID=39547284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100559956A Expired - Fee Related CN101196852B (zh) | 2008-01-03 | 2008-01-03 | 分布式缓存方法及其系统、以及缓存设备和非缓存设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101196852B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102388357A (zh) * | 2011-09-23 | 2012-03-21 | 华为技术有限公司 | 访问存储设备的方法及系统 |
CN102789434A (zh) * | 2012-06-28 | 2012-11-21 | 北京鼎汉技术股份有限公司 | 一种数据缓冲方法和系统 |
WO2013010451A1 (zh) * | 2011-07-15 | 2013-01-24 | 华为技术有限公司 | 缓存数据热度值的同步方法、分布缓存方法、装置及系统 |
CN104113830A (zh) * | 2014-07-29 | 2014-10-22 | 广东能龙教育股份有限公司 | 一种基于md5和分布式缓存的大规模短信防重发方法 |
CN104331374A (zh) * | 2014-10-24 | 2015-02-04 | 东莞宇龙通信科技有限公司 | 数据删除方法、数据删除装置和终端 |
WO2015100653A1 (zh) * | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 一种数据缓存方法、装置及系统 |
CN105847011A (zh) * | 2016-03-21 | 2016-08-10 | 华为技术有限公司 | 一种密钥加载方法及设备 |
CN106603319A (zh) * | 2017-03-02 | 2017-04-26 | 腾讯科技(深圳)有限公司 | 一种故障处理的方法、管理服务器以及逻辑服务器 |
CN107623729A (zh) * | 2017-09-08 | 2018-01-23 | 华为技术有限公司 | 一种缓存方法、设备及缓存服务系统 |
CN109299035A (zh) * | 2018-07-04 | 2019-02-01 | 中通服建设有限公司 | 一种chr文件管理方法、系统及计算机可读存储介质 |
CN109361620A (zh) * | 2018-11-09 | 2019-02-19 | 杭州迪普科技股份有限公司 | 一种数据发送的方法、装置、设备及存储介质 |
CN112148202A (zh) * | 2019-06-26 | 2020-12-29 | 杭州海康威视数字技术股份有限公司 | 训练样本读取方法及装置 |
CN118227673A (zh) * | 2024-05-22 | 2024-06-21 | 山东港口科技集团烟台有限公司 | 一种物联数据缓存处理方法 |
-
2008
- 2008-01-03 CN CN2008100559956A patent/CN101196852B/zh not_active Expired - Fee Related
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013010451A1 (zh) * | 2011-07-15 | 2013-01-24 | 华为技术有限公司 | 缓存数据热度值的同步方法、分布缓存方法、装置及系统 |
US9326261B2 (en) | 2011-07-15 | 2016-04-26 | Huawei Technologies Co., Ltd. | Method and apparatus for synchronizing popularity value of cache data and method, apparatus, and system for distributed caching |
US8566416B2 (en) | 2011-09-23 | 2013-10-22 | Huawei Technologies Co., Ltd. | Method and system for accessing storage device |
CN102388357A (zh) * | 2011-09-23 | 2012-03-21 | 华为技术有限公司 | 访问存储设备的方法及系统 |
WO2012149767A1 (zh) * | 2011-09-23 | 2012-11-08 | 华为技术有限公司 | 访问存储设备的方法及系统 |
CN102789434A (zh) * | 2012-06-28 | 2012-11-21 | 北京鼎汉技术股份有限公司 | 一种数据缓冲方法和系统 |
CN102789434B (zh) * | 2012-06-28 | 2016-05-25 | 北京鼎汉技术股份有限公司 | 一种数据缓冲方法和系统 |
WO2015100653A1 (zh) * | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 一种数据缓存方法、装置及系统 |
CN104113830A (zh) * | 2014-07-29 | 2014-10-22 | 广东能龙教育股份有限公司 | 一种基于md5和分布式缓存的大规模短信防重发方法 |
CN104331374A (zh) * | 2014-10-24 | 2015-02-04 | 东莞宇龙通信科技有限公司 | 数据删除方法、数据删除装置和终端 |
CN105847011A (zh) * | 2016-03-21 | 2016-08-10 | 华为技术有限公司 | 一种密钥加载方法及设备 |
CN106603319A (zh) * | 2017-03-02 | 2017-04-26 | 腾讯科技(深圳)有限公司 | 一种故障处理的方法、管理服务器以及逻辑服务器 |
CN107623729A (zh) * | 2017-09-08 | 2018-01-23 | 华为技术有限公司 | 一种缓存方法、设备及缓存服务系统 |
CN109299035A (zh) * | 2018-07-04 | 2019-02-01 | 中通服建设有限公司 | 一种chr文件管理方法、系统及计算机可读存储介质 |
CN109299035B (zh) * | 2018-07-04 | 2021-10-15 | 中通服建设有限公司 | 一种chr文件管理方法、系统及计算机可读存储介质 |
CN109361620A (zh) * | 2018-11-09 | 2019-02-19 | 杭州迪普科技股份有限公司 | 一种数据发送的方法、装置、设备及存储介质 |
CN112148202A (zh) * | 2019-06-26 | 2020-12-29 | 杭州海康威视数字技术股份有限公司 | 训练样本读取方法及装置 |
CN112148202B (zh) * | 2019-06-26 | 2023-05-26 | 杭州海康威视数字技术股份有限公司 | 训练样本读取方法及装置 |
CN118227673A (zh) * | 2024-05-22 | 2024-06-21 | 山东港口科技集团烟台有限公司 | 一种物联数据缓存处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101196852B (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101196852B (zh) | 分布式缓存方法及其系统、以及缓存设备和非缓存设备 | |
US7636810B2 (en) | Method, system, and apparatus for memory compression with flexible in-memory cache | |
CN106547476B (zh) | 用于数据存储系统的方法和装置 | |
CN100543750C (zh) | 一种基于web应用的矩阵式数据缓存方法及装置 | |
EP0851354A2 (en) | Reorganization of collisions in a hash bucket of a hash table to improve system performance | |
US6370620B1 (en) | Web object caching and apparatus for performing the same | |
CN103096126B (zh) | 协作式缓存集群中面向视频点播服务的协作式缓存方法及系统 | |
US20060004984A1 (en) | Virtual memory management system | |
CN101388824B (zh) | 一种机群系统中分片存储模式下文件读取的方法及系统 | |
JP2002536717A (ja) | 仮想メモリシステムにおけるメモリアクセスの改善技術 | |
CN112632069B (zh) | 哈希表数据存储管理方法、装置、介质和电子设备 | |
US20150143045A1 (en) | Cache control apparatus and method | |
JP3776496B2 (ja) | データ記憶システム | |
US8539135B2 (en) | Route lookup method for reducing overall connection latencies in SAS expanders | |
CN103491124A (zh) | 一种对彩信数据进行处理的方法及分布式缓存系统 | |
JPH07239808A (ja) | 分散データ管理方式 | |
CN118779250A (zh) | 内存设备的数据处理方法、装置和系统 | |
CN110235110A (zh) | 当停顿的写入操作发生时减少或避免来自压缩存储器系统中的未压缩高速缓冲存储器的经逐出高速缓冲存储数据的缓冲 | |
WO2018219289A1 (zh) | 访问数据的方法和装置 | |
US20170054627A1 (en) | Information centric networking (icn) router | |
CN117851291B (zh) | 内存访问系统、电子组件及电子设备 | |
JP2001256098A (ja) | プロキシサーバにおけるキャッシの制御方法 | |
CN117707437B (zh) | 基于分布式存储系统的虚拟磁盘存储方法及装置 | |
JP4514222B2 (ja) | データ記憶システム | |
CN113821162B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100616 Termination date: 20200103 |
|
CF01 | Termination of patent right due to non-payment of annual fee |