CN102063264B - 一种处理数据的方法、设备及系统 - Google Patents

一种处理数据的方法、设备及系统 Download PDF

Info

Publication number
CN102063264B
CN102063264B CN200910223381A CN200910223381A CN102063264B CN 102063264 B CN102063264 B CN 102063264B CN 200910223381 A CN200910223381 A CN 200910223381A CN 200910223381 A CN200910223381 A CN 200910223381A CN 102063264 B CN102063264 B CN 102063264B
Authority
CN
China
Prior art keywords
data
disk
tables
read
address
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
CN200910223381A
Other languages
English (en)
Other versions
CN102063264A (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec 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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN200910223381A priority Critical patent/CN102063264B/zh
Publication of CN102063264A publication Critical patent/CN102063264A/zh
Application granted granted Critical
Publication of CN102063264B publication Critical patent/CN102063264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例提供一种处理数据的方法、设备及系统,包括以下步骤:按照数据表中数据的存储顺序访问数据,其中,所述数据表中数据的存储顺序为所述数据在磁盘中的地址顺序;当数据表中的数据为等待从磁盘读入的数据,且等待时间超过第一时间阀值时,立即从磁盘中读取对应的数据到所述等待从磁盘读入的数据的位置。本发明提供的技术方案综合考虑了读写操作,对于读写操作均可以提升磁盘的吞吐量。

Description

一种处理数据的方法、设备及系统
技术领域
本发明涉及数据处理技术领域,特别涉及一种处理数据的方法、设备及系统。
背景技术
当前磁盘阵列的高速缓冲存储器CACHE算法,主要采用的是最近最少使用算法(LRU,Least Recent Used)和优化变种页面置换算法(ARC,AdaptiveReplacement Cache)。
LRU算法是将最近最久未用的数据淘汰掉或者写入磁盘,并删除数据。而ARC算法维护了两个链表:L1和L2。其中L1是LRU链表,L2是最不经常使用(LFU,Least Frequently Used)链表。ARC算法根据L1和L2的命中情况,动态调节L1和L2的最大长度,从而在LRU和LFU之间达到一个自适应的平衡。
不论是LRU还是ARC,都是将最近最久未用的数据淘汰掉或者写入磁盘,并删除数据,所以最终落到磁盘上的读写表现出来就像随机读写一样。
由于磁盘的物理特性,处理随机读写时,有大量的时间是消耗在磁臂寻道而非数据读写上,所以在磁盘阵列中使用LRU或者ARC就会导致磁盘阵列总体性能不是很好。现有的CACHE读写数据的方法,尚未有一种方法统一考虑读CACHE和写CACHE,各个算法都是单独考虑读CACHE或者写CACHE。众所周知,在传统的温彻斯特磁盘上执行一个主机读写请求,将会导致大量的机械操作,如磁臂移动和盘片旋转等。
对于磁盘来说,如果在大量顺序读请求中间插入少量的随机写请求,或者在大量的顺序写请求中间插入少量的随机读请求,就会导致磁臂离开当前的轨迹,执行完随机读写请求后,再回到原来的轨迹,这就会对磁盘的整体性能造成极大的负面影响。
综上所述,目前的CACHE读写数据的方法,会造成随机读写请求影响顺序读写请求的操作,从而影响整个磁盘阵列的吞吐量。
发明内容
本发明实施例提供一种处理数据的方法、设备及系统,能够统一考虑读请求和写请求,通过高速缓冲存储器减少磁盘阵列的随机读取概率,提升整个磁盘阵列的吞吐量。
本发明实施例提供一种处理数据的方法,包括:按照数据表中数据的存储顺序访问数据,其中,所述数据表中数据的存储顺序为所述数据在磁盘中的地址顺序;当数据表中的数据为等待从磁盘读入的数据,且等待时间超过第一时间阀值时,立即从磁盘中读取对应的数据到所述等待从磁盘读入的数据的位置。
本发明实施例还提供一种CACHE,包括:第一访问模块,用于按照数据表中数据的存储顺序访问数据,其中,所述数据表中数据的存储顺序为所述数据在磁盘中的地址顺序;第一读取模块,当数据表中的数据为等待从磁盘读入的数据,且等待时间超过第一时间阀值时,用于立即从磁盘中读取对应的数据到所述等待从磁盘读入的数据的位置。
本发明实施例还提供一种处理数据的系统,包括:包括主机、CACHE和磁盘;所述主机,用于向所述CACHE发送数据读请求,或数据写请求;所述磁盘,用于存储数据。
本发明实施例提供的一种处理数据的方法、设备及系统,能够统一考虑读请求和写请求,通过高速缓冲存储器按照磁盘存储顺序相应主机请求,只在等待时间超时时才中断这一顺序,减少了磁盘阵列的随机读取概率,提升整个磁盘阵列的吞吐量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法实施例流程图;
图2是本发明方法另一实施例流程图;
图3是本发明方法又一实施例流程图;
图4是本发明实施例采用的HASH表结构图;
图5是现有技术中CSCAN的示意图;
图6是本发明CSCAN的示意图;
图7是本发明CACHE实施例示意图;
图8是本发明CACHE另一实施例结构图;
图9是本发明CACHE又一实施例结构图;
图10是本发明系统实施例结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先对本发明实施例实现一种CACHE处理数据的方法进行说明,包括:按照数据表中数据的存储顺序访问数据,其中,所述数据表中数据的存储顺序为所述数据在磁盘中的地址顺序;当数据表中的数据为等待从磁盘读入的数据,且等待时间超过第一时间阀值时,立即从磁盘中读取对应的数据到所述等待从磁盘读入的数据的位置。
下面结合附图,对本发明的实施例进行详细描述。
方法实施例:
参见图1,该图为基于本发明方法实施例流程图。
本实施例提供的CACHE处理数据的方法,包括以下步骤:
S101:按照数据表中数据的存储顺序访问数据,其中,所述数据表中数据的存储顺序为所述数据在磁盘中的地址顺序。
S102:当数据表中的数据为等待从磁盘读入的数据,且等待时间超过第一时间阀值时,立即从磁盘中读取对应的数据到所述等待从磁盘读入的数据的位置。
需要说明的是,所述数据表是以数据的地址为索引的有序的表,其中存储数据,可以按照数据的地址递增的顺序来存储所有数据,也可以按照数据的地址递减的顺序来存储所有数据。任何以地址为索引的数据表均可以作为数据表。例如将所有的数据以单链表的形式串联起来就可以构成数据表。
本实施例提供的CACHE处理数据的方法,通过在CACHE中设置数据表,数据表按照各个数据的地址顺序来存储所有数据;即该数据表以数据的地址为索引,CACHE按照数据的存储顺序逐个访问每个数据,这样使杂乱无章的数据有序地排列起来,被有序地访问。当接收到主机发送的数据读或写请求时,CACHE可以根据所述请求中携带的数据起始地址和数据长度计算对应的地址,由所述地址从所述数据表中找到数据的位置,对所述数据中的数据进行所述读或写操作。当主机的读请求被挂的时间超过第一时间阀值时,CACHE立即从磁盘读取数据来响应主机的读请求。不论主机的请求为读请求还是写请求,CACHE均可以以地址为索引,从而迅速找到对应的数据的位置,进行相应的数据操作。本发明实施例提供的技术方案综合考虑了读写操作,对于读写操作均可以提升磁盘的吞吐量。
方法另一实施例:
该实施例对CACHE响应主机的读写请求进行详细说明。
参见图2,该图为基于本发明方法另一实施例流程图。
S201:判断主机发送的数据操作请求的类型,当数据操作请求为数据读操作时,执行S202;当数据操作请求为数据写操作时,执行S203。
数据读操作时,主机向CACHE发送读请求,数据写操作时,主机向CACHE发送写请求。
S202:判断数据读操作命中时,执行S202a;判断数据读操作未命中时,执行S202b。
S202a:根据所述请求中携带的数据起始地址和数据长度计算对应的地址,由所述地址从所述数据表中找到数据的位置,将该数据中的数据返回主机。
S202b:根据所述请求中携带的数据起始地址和数据长度计算对应的地址,由所述地址在所述数据表中构造等待从磁盘读入的数据,在第一阀值时间内执行从磁盘读数据到所述等待从磁盘读入的数据中,将游标指向所述等待从磁盘读入的数据的位置。
由于主机的读请求需要读的数据CACHE中可能有,也可能没有。如果CACHE中有,则CACHE可以立即响应主机的读请求,从数据表中找到对应的数据,从数据中读出数据,发送至主机。
但是,对于CACHE中没有的数据,CACHE不能立即响应主机的读请求,因为这部分数据CACHE需要从磁盘中来读取。CACHE首先在数据表中查找主机要读的数据的对应的数据的位置,但是这个数据可能是空的,也可能是这个数据根本不存在,CACHE将该数据的位置先占住,称这样的数据为等待从磁盘读入的数据,从磁盘读取的数据再放入该等待从磁盘读入的数据中。
由于CACHE一方面一直在逐个访问每个数据,当需要去磁盘取数据时,要中断当前访问数据的动作。但是由于磁盘的数据不会立即读取过来,因此,CACHE将主机的读请求挂在等待从磁盘读入的数据上,在预定时间内将从磁盘读取的数据发送至主机。为了保证主机的读请求不会长时间挂住,不被响应,对该读请求设置了定时器,在定时器设定的预定时间内CACHE必须响应主机的读请求。
S203:根据所述写请求中携带的数据起始地址和数据长度计算对应的地址;由所述地址从所述数据表中找到数据的位置,将需要写入的数据写入该数据中。
由于主机的写请求不影响CACHE对数据表的访问,因此,对于主机的写请求,CACHE可以立即响应,将主机发送过来的数据写入数据表相应的数据中。
对于主机的写请求可以采用回写机制,先将主机写请求中的数据内容写入CACHE中的数据表中,然后向主机返回执行成功。稍后某个适当的时候,再将数据真正写入磁盘。通过这种方式,可以极大地提高存储设备的响应速度,降低主机等待时间。
方法又一实施例:
该实施例对CACHE对数据表数据的访问进行详细说明。
参见图3,该图为基于本发明方法又一实施例流程图。
S301:按照数据表中的数据的存储顺序,逐个访问每个数据,将游标指向正在被访问的数据;判断当前访问的数据中的数据类型,如果是写入的数据,则执行S302;如果是读出的数据,则执行S303;如果是空数据,则执行S304。
S302:判断该数据没被访问的时间超过第二时间阀值,和/或没有被访问的频率超过第一频率阀值;如果是,则将该写入的数据写入磁盘,同时将所述游标指向所述数据表中的下一个数据;如果否,则跳过该数据,同时将所述游标指向所述数据表中的下一个数据。
S303:判断该数据距上次被访问的时间间隔是否超过第三时间阀值,和/或没有被访问的频率超过第二频率阀值;如果是,则将该读出的数据淘汰掉(直接删除),同时将所述游标指向所述数据表中的下一个数据;如果否,则跳过该数据,同时将所述游标指向所述数据表中的下一个数据。
S304:如果CACHE正在访问的数据为空数据,说明该数据正在等待真正的数据被读入,此时就执行读磁盘请求,将数据从磁盘中读入到该数据中。此读磁盘操作是一个异步过程,当数据被读入后,会调用之前保存的回调函数来对主机读请求进行响应,将从磁盘读来的数据返回给主机。
以上判断该数据没被访问的时间是否超过第二时间阀值或第三时间阀值,具体为:
判断该数据的时间戳与当前时间的差值是否大于预定时间长度,所述时间戳记录该数据最近被访问的时间。设置时间戳主要是将长时间没有被访问的数据淘汰掉,整合CACHE中的数据。
每个数据均设置一个时间戳,该时间戳记录该数据被最近访问的时间。数据被访问一次,该数据的时间戳更新一次。
需要说明的是,本实施例提供的数据表优选哈希HASH表。
HASH表的形成具体为:
按照每个数据的地址由HASH函数计算每个数据对应的HASH值,每个HASH值对应一个HASH表项,每个HASH表项对应一个冲突链;每个所述冲突链按照地址顺序排列;将HASH值相同的数据放入同一个所述冲突链中,形成数据表。
下面结合附图介绍本实施例采用的HASH表。
参见图4,该图为本发明实施例采用的HASH表结构图。
例如数据的地址用自然数表示:1、2、3、4、5、6等。
由数据的地址利用HASH函数计算出对应的HASH值,例如可以用X1、X2、X3、X4、X5....Xn表示。每个HASH值对应一个HASH表项,如图中的每一横行。每个HASH表项对应一个冲突链,例如第一个HASH表项为X1,对应的冲突链为1、4和6。该冲突链包括地址为1、4和6的三个数据。冲突链中的数据按照数据的地址递增或递减有序排列。
例如第三个HASH表项为X3,对应的冲突链为2和5。该冲突链包括地址为2和5的两个数据。
HASH表通过HASH算法,可以将所有的数据划分到不同的冲突链上。由于可能存在不同的数据拥有相同HASH值的情况,所以通过冲突链组织这些具有相同HASH值的不同数据。
给定一块数据,通过对该块数据的地址计算该块数据的HASH值(散列值),就可以直接找到该块数据位于HASH表中的哪个冲突链上,然后再在该冲突链上逐个遍历,就可以快速地定位该块数据被保存在什么地方。即,通过数据的地址找到数据对应的数据。CACHE一方面在按照顺序访问每个数据,对数据中的数据进行调整,另一方面还要响应主机的读写请求。因此,HASH表是动态的,HASH表中存储的数据不断在变化。
下面利用循环扫描调度算法(CSCAN,Cyclic Scan)通常称为循环电梯调度算法做类比,形象介绍本发明实施例的有益效果。
参见图5,该图为现有技术中CSCAN的示意图。
实线箭头1指向前一个被访问的数据。
实线箭头2指向后一个被访问的数据。
虚线箭头表示正常情况下,游标的移动方向。
现有技术中的CSCAN算法就是游标按照虚线箭头的方向一格一格地向前移动,访问每个数据。
参见图6,该图为本发明CSCAN的示意图。
实线箭头1指向前一个被访问的数据。
虚线箭头2,表示正常情况下,在访问完前一个数据之后,应该访问这一个数据。
实线箭头2,表示所指向的数据在此时已经接近超时,必须立即被处理。因此这个数据才是真正第2个被访问的数据。
当主机的读请求未命中时,CACHE需要从磁盘读数据到实线箭头2的位置。但是首先CACHE会将主机的读请求挂在实线箭头2的位置,继续顺序访问数据。当该读请求被挂的时间等于预定时间长度时,CACHE立即停止顺序访问数据的任务,跳到当前数据执行读请求的响应。这样避免主机的读请求被长时间挂着,不被响应,使主机长时间等待。
本发明实施例提供的方法将主机的读写请求统一考虑,不论主机的发送的请求是读请求,还是写请求,均可以按照顺序进行读写操作。从而避免在大量顺序操作中插入少量随机操作所导致的磁盘性能降低,由于采用的定时器,因此也避免了大量顺序操作导致对引入的个别读请求超时的问题。
本发明实施例提供的方法充分利用了磁盘的顺序操作性能远大于随机操作性能的特点,将离散操作与顺序操作统一组织起来,避免了离散操作对顺序操作的影响,减小了读写请求的平均时延,增加了整个磁盘阵列的吞吐量。
本发明实施例还提供一种CACHE。
设备实施例:
参见图7,该图为本发明CACHE实施例结构图。
本实施例提供的CACHE包括:
第一访问模块701,用于按照数据表702中数据的存储顺序访问数据,其中,所述数据表702中数据的存储顺序为所述数据在磁盘中的地址顺序;
第一读取模块703,当数据表702中的数据为等待从磁盘读入的数据,且等待时间超过第一时间阀值时,用于立即从磁盘中读取对应的数据到所述等待从磁盘读入的数据的位置。
本实施例提供的CACHE,通过在CACHE中设置数据表,数据表按照各个数据的地址顺序来存储所有数据;即该数据表以数据的地址为索引,CACHE按照数据的存储顺序逐个访问每个数据,这样使杂乱无章的数据有序地排列起来,被有序地访问。当接收到主机发送的数据操作请求时,CACHE可以根据所述请求中携带的数据起始地址和数据长度计算对应的地址,由所述地址从所述数据表中找到数据的位置,对所述数据中的数据进行所述数据操作。不论主机的请求为读请求还是写请求,CACHE均可以以地址为索引,从而迅速找到对应的数据的位置,进行相应的数据操作。本发明提供的技术方案综合考虑了读写操作,对于读写操作均可以提升磁盘的吞吐量。
设备另一实施例:
参见图8,该图为本发明CACHE另一实施例结构图。
本实施例对第一访问模块进行详细介绍。
本实施例提供的第一访问模块包括:写入数据访问单元801、读取数据访问单元802和删除单元803。
写入数据访问单元801,若当前访问的数据为等待向磁盘写入的数据,且距上次被访问的时间间隔超过第二时间阀值,和/或没有被访问的频率超过第一频率阀值,用于将所述数据写入磁盘。
读取数据访问单元802,若当前访问的数据为所述等待从磁盘读入的数据,用于从磁盘中读取对应的数据至所述等待从磁盘读入的数据的位置。
删除单元803,若当前访问的数据为已经从磁盘读入的数据,且距上次被访问的时间间隔超过第三时间阀值,和/或没有被访问的频率超过第二频率阀值,用于在数据表中删除所述数据。
如果CACHE正在访问的数据为空数据,说明该数据正在等待真正的数据被读入,此时就执行读磁盘请求,将数据从磁盘中读入到该数据中。此读磁盘操作是一个异步过程,当数据被读入后,会调用之前保存的回调函数来对主机读请求进行响应,将从磁盘读来的数据返回给主机。
设备又一实施例:
参见图9,该图为本发明CACHE又一实施例结构图。
本实施例提供的CACHE还包括:
第一构造模块901,当接收到主机的数据读操作请求时,用于根据所述数据读操作请求中携带的数据起始地址和数据长度计算数据地址,在所述数据表中查找所述数据地址对应的数据,如果未找到,按照所述数据地址在所述数据表中构造所述等待从磁盘读入的数据。
第二读取模块902,当接收到主机的数据读操作请求时,用于根据所述数据读操作请求中携带的数据起始地址和数据长度计算数据地址,在所述数据表中查找所述数据地址对应的数据,如果找到,对所述数据执行数据读操作。
第一写入模块903,当接收到数据写操作请求时,用于根据所述数据写操作请求中携带的数据起始地址和数据长度计算数据地址,将主机发送的数据按照所述数据地址写入所述数据表中。
需要说明的是,本实施例提供的CACHE中的数据表优选HASH表。HASH表的形成在方法实施例中做了详细介绍,在此不再赘述。
本发明实施例提供的CACHE既解决了对主机的数据操作请求时延太长的问题,又解决了对磁盘访问不友好的方式。
本发明还提供一种CACHE处理数据的系统。
系统实施例:
参见图10,该图为本发明系统实施例结构图。
本实施例提供的CACHE处理数据的系统包括主机1001、CACHE1002和磁盘1003。
所述主机1001,用于向所述CACHE发送数据读请求或数据写请求。
所述磁盘1003,用于存储数据。
需要说明的是,CACHE1002是上述设备实施例中进行了详细介绍,在此不再赘述。
本实施例提供的CACHE处理数据的系统,通过在CACHE中设置数据表,数据表按照各个数据的地址顺序来存储所有数据;即该数据表以数据的地址为索引,CACHE按照数据的存储顺序逐个访问每个数据,这样使杂乱无章的数据有序地排列起来,被有序地访问。当接收到主机发送的数据操作请求时,CACHE可以根据所述请求中携带的数据起始地址和数据长度计算对应的地址,由所述地址从所述数据表中找到数据的位置,对所述数据中的数据进行所述数据操作。不论主机的请求为读请求还是写请求,CACHE均可以以地址为索引,从而迅速找到对应的数据的位置,进行相应的数据操作。本发明提供的技术方案综合考虑了读写操作,对于读写操作均可以提升磁盘的吞吐量。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,该程序在执行时,可以包括前述的通信方法各个实施方式的内容。这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
综上所述,本发明实施例所提供的一种CACHE处理数据的方法,通过在CACHE中设置数据表,数据表按照各个数据的地址顺序来存储所有数据;即该数据表以数据的地址为索引,CACHE按照数据的存储顺序逐个访问每个数据,这样使杂乱无章的数据有序地排列起来,被有序地访问。当接收到主机发送的数据读或写请求时,CACHE可以根据所述请求中携带的数据起始地址和数据长度计算对应的地址,由所述地址从所述数据表中找到数据的位置,对所述数据中的数据进行所述读或写操作。不论主机的请求为读请求还是写请求,CACHE均可以以地址为索引迅速找到对应的数据的位置,进行相应的数据操作。当主机的读请求被挂的时间超过第一时间阀值时,CACHE立即从磁盘读取数据来响应主机的读请求。本发明提供的技术方案综合考虑了读写操作,对于读写操作均可以提升磁盘的吞吐量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤:按照数据表中数据的存储顺序访问数据,其中,所述数据表中数据的存储顺序为所述数据在磁盘中的地址顺序;当数据表中的数据为等待从磁盘读入的数据,且等待时间超过第一时间阀值时,立即从磁盘中读取对应的数据到所述等待从磁盘读入的数据的位置。

Claims (7)

1.一种处理数据的方法,其特征在于,所述方法基于高速缓冲存储器(CACHE),所述高速缓冲存储器中设置有数据表;所述方法包括:
按照数据表中数据的存储顺序访问数据,其中,所述数据表中数据的存储顺序为所述数据在磁盘中的地址顺序;
所述按照数据表中数据的存储顺序访问数据包括:
当接收到主机的数据读操作请求时,根据所述数据读操作请求中携带的数据起始地址和数据长度计算数据地址,在所述数据表中查找所述数据地址对应的数据,如果未找到,按照所述数据地址在所述数据表中构造等待从磁盘读入的数据,且等待时间超过第一时间阀值时,从磁盘中读取对应的数据到所述等待从磁盘读入的数据的位置;如果找到,对所述数据执行数据读操作;
所述等待从磁盘读入的数据为当在所述数据表中未查找到所述数据地址对应的数据时,CACHE在所述数据地址在所述数据表中对应的位置等待从磁盘读入的数据;
当接收到主机的数据写操作请求时,根据所述数据写操作请求中携带的数据起始地址和数据长度计算数据地址,将主机发送的数据按照所述数据地址写入所述数据表中。
2.根据权利要求1所述的处理数据的方法,其特征在于,所述按照数据表中数据的存储顺序访问数据包括:
若当前访问的数据为所述等待从磁盘读入的数据,从磁盘中读取对应的数据;
若当前访问的数据为写入的数据,且距上次被访问的时间间隔超过第二时间阀值,和/或没有被访问的频率超过第一频率阀值,则将所述数据写入磁盘;
若所述数据为已经从磁盘读入的数据,且距上次被访问的时间间隔超过第三时间阀值,和/或没有被访问的频率超过第二频率阀值,在数据表中删除所述数据。
3.根据权利要求1所述的处理数据的方法,其特征在于,所述从磁盘中读取对应的数据到所述等待从磁盘读入的数据的位置之后还包括:
从所述等待从磁盘读入的数据的位置继续按照所述数据表中数据的存储顺序访问数据。
4.根据权利要求1所述的处理数据的方法,其特征在于,所述数据表包括:哈希HASH表。
5.一种高速缓冲存储器,其特征在于,包括:
第一访问模块,用于按照数据表中数据的存储顺序访问数据,其中,所述数据表中数据的存储顺序为所述数据在磁盘中的地址顺序;
第一构造模块,当接收到主机的数据读操作请求时,用于根据所述数据读操作请求中携带的数据起始地址和数据长度计算数据地址,在所述数据表中查找所述数据地址对应的数据,如果未找到,按照所述数据地址在所述数据表中构造等待从磁盘读入的数据;
所述等待从磁盘读入的数据为当在所述数据表中未查找到所述数据地址对应的数据时,高速缓冲存储器在所述数据地址在所述数据表中对应的位置等待从磁盘读取数据;
第一读取模块,当按照所述数据地址在所述数据表中构造所述等待从磁盘读入的数据,且等待时间超过第一时间阀值时,用于立即从磁盘中读取对应的数据到所述等待从磁盘读入的数据的位置;
第二读取模块,当接收到主机的数据读操作请求时,用于根据所述数据读操作请求中携带的数据起始地址和数据长度计算数据地址,在所述数据表中查找所述数据地址对应的数据,如果找到,对所述数据执行数据读操作;
第一写入模块,当接收到数据写操作请求时,用于根据所述数据写操作请求中携带的数据起始地址和数据长度计算数据地址,将主机发送的数据按照所述数据地址写入所述数据表中。
6.根据权利要求5所述的高速缓冲存储器,其特征在于,所述第一访问模块包括:
读取数据访问单元,若当前访问的数据为所述等待从磁盘读入的数据,用于从磁盘中读取对应的数据至所述等待从磁盘读入的数据的位置;
写入数据访问单元,若当前访问的数据为等待向磁盘写入的数据,且距上次被访问的时间间隔超过第二时间阀值,和/或没有被访问的频率超过第一频率阀值,用于将所述数据写入磁盘;
删除单元,若当前访问的数据为已经从磁盘读入的数据,且距上次被访问的时间间隔超过第三时间阀值,和/或没有被访问的频率超过第二频率阀值,用于在数据表中删除所述数据。
7.一种高速缓冲存储器数据处理的系统,其特征在于,包括主机、如权利要求5-6任一所述的高速缓冲存储器和磁盘;
所述主机,用于向所述高速缓冲存储器发送数据读请求,或数据写请求;
所述磁盘,用于存储数据。
CN200910223381A 2009-11-18 2009-11-18 一种处理数据的方法、设备及系统 Active CN102063264B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910223381A CN102063264B (zh) 2009-11-18 2009-11-18 一种处理数据的方法、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910223381A CN102063264B (zh) 2009-11-18 2009-11-18 一种处理数据的方法、设备及系统

Publications (2)

Publication Number Publication Date
CN102063264A CN102063264A (zh) 2011-05-18
CN102063264B true CN102063264B (zh) 2012-08-29

Family

ID=43998558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910223381A Active CN102063264B (zh) 2009-11-18 2009-11-18 一种处理数据的方法、设备及系统

Country Status (1)

Country Link
CN (1) CN102063264B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103076992A (zh) * 2012-12-27 2013-05-01 杭州华为数字技术有限公司 一种内存数据缓冲方法及装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103377141B (zh) * 2012-04-12 2016-10-12 无锡江南计算技术研究所 高速存储区的访问方法以及访问装置
CN103530319B (zh) * 2013-09-16 2017-12-15 华为技术有限公司 一种操作请求的处理方法和装置
CN105824882A (zh) * 2016-03-10 2016-08-03 浪潮通信信息系统有限公司 一种基于状态驱动引擎的资源过程状态管理的应用方法
CN107678892B (zh) * 2017-11-07 2021-05-04 黄淮学院 基于跳跃恢复链的连续数据保护方法
CN110704492A (zh) * 2018-06-25 2020-01-17 中兴通讯股份有限公司 一种数据采集方法、装置和计算机可读存储介质
CN113918578B (zh) * 2020-07-10 2024-05-24 成都秦川物联网科技股份有限公司 一种物联网智能燃气表掉电数据补齐存储方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247094B1 (en) * 1997-12-22 2001-06-12 Intel Corporation Cache memory architecture with on-chip tag array and off-chip data array
CN1862475A (zh) * 2005-07-15 2006-11-15 华为技术有限公司 磁盘阵列缓存的管理方法
CN101241420A (zh) * 2008-03-20 2008-08-13 杭州华三通信技术有限公司 用于提高写地址非连续的数据存储效率的方法和存储设备
CN101493753A (zh) * 2008-01-22 2009-07-29 中兴通讯股份有限公司 一种高速缓冲存储器及其数据操作方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247094B1 (en) * 1997-12-22 2001-06-12 Intel Corporation Cache memory architecture with on-chip tag array and off-chip data array
CN1862475A (zh) * 2005-07-15 2006-11-15 华为技术有限公司 磁盘阵列缓存的管理方法
CN101493753A (zh) * 2008-01-22 2009-07-29 中兴通讯股份有限公司 一种高速缓冲存储器及其数据操作方法
CN101241420A (zh) * 2008-03-20 2008-08-13 杭州华三通信技术有限公司 用于提高写地址非连续的数据存储效率的方法和存储设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103076992A (zh) * 2012-12-27 2013-05-01 杭州华为数字技术有限公司 一种内存数据缓冲方法及装置
CN103076992B (zh) * 2012-12-27 2016-09-28 杭州华为数字技术有限公司 一种内存数据缓冲方法及装置

Also Published As

Publication number Publication date
CN102063264A (zh) 2011-05-18

Similar Documents

Publication Publication Date Title
CN102063264B (zh) 一种处理数据的方法、设备及系统
US8010766B2 (en) Increasing buffer locality during multiple table access operations
CN101221537B (zh) 降级数据的方法和系统
CN104145252B (zh) 两级高速缓存系统中的自适应高速缓存提升
JP4429780B2 (ja) 記憶制御装置、制御方法、および制御プログラム。
CN100428199C (zh) 数据存储控制器及用于管理其中的高速缓存数据的方法
US8782324B1 (en) Techniques for managing placement of extents based on a history of active extents
CN103186350B (zh) 混合存储系统及热点数据块的迁移方法
KR101502896B1 (ko) 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법
KR100562906B1 (ko) 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩
CN102609360A (zh) 一种数据处理方法、装置及系统
CN105138292A (zh) 磁盘数据读取方法
US11093410B2 (en) Cache management method, storage system and computer program product
JP4801761B2 (ja) データベース管理方法およびシステム並びにその処理プログラム
CN103942161B (zh) 只读缓存的去冗余系统及方法以及缓存的去冗余方法
CN102262512A (zh) 一种实现磁盘阵列缓存分区管理的系统、装置及方法
US10275363B2 (en) Cuckoo caching
CN103345368A (zh) 一种在缓冲存储器中缓存数据的方法
CN101236564A (zh) 一种海量数据高性能读取显示方法
CN103019956B (zh) 一种对缓存数据的操作方法和装置
CN101853218B (zh) 用于磁盘阵列的读取方法和系统
CN103077225A (zh) 数据读取方法、装置及系统
CN102521161B (zh) 一种数据的缓存方法、装置和服务器
JP2019521447A (ja) キャッシュエントリ転送のためにキャッシュ位置情報を記憶するシステム及び方法
CN103491124B (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
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20220831

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

TR01 Transfer of patent right