CN107430551B - Data caching method, storage control device and storage equipment - Google Patents
Data caching method, storage control device and storage equipment Download PDFInfo
- Publication number
- CN107430551B CN107430551B CN201580054160.7A CN201580054160A CN107430551B CN 107430551 B CN107430551 B CN 107430551B CN 201580054160 A CN201580054160 A CN 201580054160A CN 107430551 B CN107430551 B CN 107430551B
- Authority
- CN
- China
- Prior art keywords
- cache
- data block
- data
- stored
- level
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
技术领域technical field
本发明涉及数据存储技术领域,特别涉及数据缓存技术。The present invention relates to the technical field of data storage, in particular to data caching technology.
背景技术Background technique
随着大数据、移动互联、和云服务等技术和应用的快速发展,应用服务器对存储服务器的访问需求也大大增加,这就需要加快对访问存储服务器的I/O请求的处理能力,以快速响应用户的访问需求。With the rapid development of technologies and applications such as big data, mobile internet, and cloud services, the demand for application servers to access storage servers has also increased greatly. Respond to user access needs.
现有技术一般是采用缓存的方法来加快I/O请求的处理能力,即在应用服务器和存储服务器中都设置缓存。应用服务器的缓存存储应用服务器决定的热数据,存储服务器的缓存存储从硬盘中读取的数据。In the prior art, a cache method is generally used to speed up the processing capability of I/O requests, that is, caches are set in both the application server and the storage server. The cache of the application server stores the hot data determined by the application server, and the cache of the storage server stores the data read from the hard disk.
在应用服务器接收到I/O请求时,首先在应用服务器的缓存中访问数据块,若未命中,则将所述I/O请求传输至所述存储服务器,若在所述存储服务器也没有命中,则需要从硬盘中读取数据。When the application server receives the I/O request, it first accesses the data block in the cache of the application server, and if it is not hit, the I/O request is transmitted to the storage server, and if the storage server is not hit either , you need to read the data from the hard disk.
由于应用服务器的缓存的存储空间比存储服务器的缓存的存储空间小,所以缓存在上级缓存中的数据可能很快就会被淘汰掉,这样,在I/O请求所请求的数据块被应用服务器的缓存淘汰掉后,可在存储服务器的缓存中命中,从而可以快速响应I/O请求。Since the storage space of the cache of the application server is smaller than that of the cache of the storage server, the data cached in the upper-level cache may be eliminated soon. After the cache of the storage server is eliminated, it can be hit in the cache of the storage server, so that the I/O request can be quickly responded.
然而,应用服务器中的缓存和存储服务器的缓存之间缺乏协同操作的机制,可能会经常出现相同的数据在两个缓存都分别缓存而造成的存储资源浪费的问题,也有可能经常出现某热数据在两个缓存都没有缓存而需要到硬盘读取该数据而造成的数据读取速度延迟的问题。However, there is a lack of a cooperative operation mechanism between the cache in the application server and the cache in the storage server. The problem of wasting storage resources caused by the same data being cached separately in both caches may often occur, and some hot data may often appear. The problem of data read speed delay caused by the need to read the data from the hard disk without cache in both caches.
发明内容SUMMARY OF THE INVENTION
本申请提供数据缓存方法、存储设备、及数据处理系统,以提供多级缓存的协同操作机制。The present application provides a data caching method, a storage device, and a data processing system to provide a cooperative operation mechanism of multi-level caching.
本发明第一方面提供一种数据的缓存方法,所述方法应用于存储服务器,所述存储设备包括第一缓存、第二缓存和存储单元,所述第一缓存为应用服务器提供数据缓存,所述第二缓存用于为所述存储单元提供数据缓存。在所述存储服务器监测到第一触发条件的情况下,获取缓存在所述第一缓存中第一数据块的特征信息,然后根据所述第一数据块的特征信息确定所述第一数据块是否存储在所述第二缓存中;在确定所述第一数据块存储在所述第二缓存中的情况下,调整所述第一数据块在所述第二缓存中的淘汰优先级的级别。所述第一数据块的特征信息由所述第一数据块的数据内容决定。A first aspect of the present invention provides a data caching method. The method is applied to a storage server. The storage device includes a first cache, a second cache, and a storage unit. The first cache provides a data cache for the application server. The second cache is used to provide a data cache for the storage unit. In the case that the storage server detects the first trigger condition, acquire characteristic information of the first data block cached in the first cache, and then determine the first data block according to the characteristic information of the first data block Whether to store in the second cache; in the case of determining that the first data block is stored in the second cache, adjust the level of the elimination priority of the first data block in the second cache . The characteristic information of the first data block is determined by the data content of the first data block.
根据一级缓存和二级缓存所缓存数据的情况,调整对所述第二缓存所缓存的数据块的淘汰优先级的级别,从而控制第二缓存中所缓存数据的淘汰顺序,减少第一缓存和第二缓存中所缓存的重复数据,或者延长热数据的在二级缓存中的缓存时间,提高IO请求的响应速度According to the data cached in the first-level cache and the second-level cache, adjust the level of the elimination priority of the data blocks cached in the second cache, so as to control the elimination order of the data cached in the second cache, and reduce the number of the first cache. and the duplicate data cached in the second cache, or prolong the cache time of hot data in the second level cache, and improve the response speed of IO requests
可选地,所述第一触发条件为:所述存储服务器接收到数据写请求,且将所述数据写请求中包括的第一数据块写入所述第一缓存中,或者,所述第一数据块在所述第一缓存中的缓存时间超过预定时间,在这种触发条件下,在确定所述第一数据块存储在所述第二缓存中时,可以将所述第一数据块在所述第二缓存中的淘汰优先级的级别提高。Optionally, the first trigger condition is: the storage server receives a data write request, and writes the first data block included in the data write request into the first cache, or the first data block is written in the first cache. The cache time of a data block in the first cache exceeds a predetermined time. Under this trigger condition, when it is determined that the first data block is stored in the second cache, the first data block can be stored in the second cache. The level of eviction priority in the second cache is increased.
这样,在确定所述第二缓存中存在新写入所述第一缓存中的数据块相同的数据块,或者存在与所述第一缓存中的热数据相同的数据块时,则提高所述第二缓存中的相同数据块的淘汰优先级的级别,使其优先淘汰,从而减少第一缓存和第二缓存中重复存储的数据块,增加了第一缓存和第二缓存所缓存数据的总量,节省存储资源。In this way, when it is determined that there is a data block in the second cache that is the same as the data block newly written in the first cache, or there is a data block that is the same as the hot data in the first cache, then increase the The level of the elimination priority of the same data block in the second cache makes it eliminated first, thereby reducing the data blocks repeatedly stored in the first cache and the second cache, and increasing the total amount of data cached in the first cache and the second cache. to save storage resources.
可选地,所述第一触发条件为:所述存储服务器接收到从所述第一缓存中删除所述第一数据块的删除请求;在这种触发条件下,在确定所述第一数据块存储在所述第二缓存中时,将所述第一数据块在所述第二缓存中的淘汰优先级的级别降低。Optionally, the first trigger condition is: the storage server receives a deletion request to delete the first data block from the first cache; under this trigger condition, after determining the first data block When the block is stored in the second cache, the level of the elimination priority of the first data block in the second cache is lowered.
这样,当从所述第一缓存中删除数据块时,若所要删除的数据块也存储在所述第二缓存中,则将若所要删除的数据块在第二缓存中的淘汰优先级降低,这样,可以使在第一缓存中删除的数据在第二缓存中保存的时间更长一些,当下次有IO请求访问所述数据块时,可以在第二缓存中命中,而不需要从硬盘中获取,所以提高IO请求的响应速度。In this way, when deleting a data block from the first cache, if the data block to be deleted is also stored in the second cache, the elimination priority of the data block to be deleted in the second cache is lowered, In this way, the data deleted in the first cache can be kept in the second cache for a longer period of time, and when there is an IO request to access the data block next time, it can be hit in the second cache, without the need to retrieve data from the hard disk. Get, so improve the response speed of IO requests.
可选地,所述存储设备保存有所述第二缓存的索引记录,所述第二缓存的索引记录包括所述第二缓存中保存数据块的数据特征标识,所述第二缓存中保存的数据块的大小等于所述第一数据块的大小,所述每个所述第二缓存中保存的数据块的数据特征标识由所述每个所述第二缓存中保存的数据块的数据内容决定;所述第一数据块的特征信息为根据每个第一数据块的数据内容获得;根据所述第一数据块的数据特征标识查询所述第二缓存的索引记录来确定所述每个第一数据块是否存储在所述第二缓存中。Optionally, the storage device saves an index record of the second cache, and the index record of the second cache includes the data feature identifiers of the data blocks stored in the second cache, and the data stored in the second cache. The size of the data block is equal to the size of the first data block, and the data features of the data blocks stored in each of the second caches identify the data content of the data blocks stored in each of the second caches The characteristic information of the first data block is obtained according to the data content of each first data block; the index record of the second cache is queried according to the data characteristic identifier of the first data block to determine the each Whether the first data block is stored in the second cache.
通过建立索引表的方式,可以快速的确定所述第一数据块是否存储在所述第二缓存中。By establishing an index table, it can be quickly determined whether the first data block is stored in the second cache.
可选地,所述存储设备保存有地址表,所述地址表中记录了缓存在所述第二缓存中的第二数据块的特征标识及存储地址,在确定所述第一数据块存储在所述第二缓存中后,根据所述第一数据块的特征标识在所述地址表中找到所述第一数据块,然后再对所述第一数据块在所述第二缓存中的淘汰级别进行调整。通过建立地址表,可以快速的找到所述第一数据块在所述第二缓存中的位置,从而对所述第一数据块在所述第二缓存中的淘汰优先级的级别进行调整。Optionally, the storage device saves an address table, and the address table records the feature identifier and storage address of the second data block cached in the second cache, and after determining that the first data block is stored in the After the second cache, find the first data block in the address table according to the characteristic identifier of the first data block, and then eliminate the first data block in the second cache. level to adjust. By establishing an address table, the position of the first data block in the second cache can be quickly found, so that the level of the elimination priority of the first data block in the second cache can be adjusted.
可选地,所述第二缓存索引记录只记录最近一段时间写入所述第二缓存的数据块的数据标识。这样可以减少第二缓存索引记录所占用的空间,减少查表的时间。Optionally, the second cache index record only records the data identifiers of the data blocks written into the second cache in a recent period of time. In this way, the space occupied by the index records of the second cache can be reduced, and the time for table lookup can be reduced.
可选地,在所述存储服务器监测到第二触发条件的情况下,获取缓存在所述第二缓存中的第二数据块的特征信息,然后根据所述第二数据块的特征信息确定所述第二数据块是否存储在所述第一缓存中;在确定所述第二数据块存储在所述第一缓存中的情况下,调整所述第二数据块在所述第二缓存中的淘汰优先级的级别。Optionally, in the case that the storage server monitors the second trigger condition, obtain characteristic information of the second data block cached in the second cache, and then determine the characteristic information of the second data block according to the characteristic information of the second data block. whether the second data block is stored in the first cache; if it is determined that the second data block is stored in the first cache, adjust the size of the second data block in the second cache The level of elimination priority.
这样,可以监测第二缓存中的数据情况,通过判断缓存在第二缓存中数据是否缓存在第一缓存中,来调整缓存在第二缓存中的数据块的淘汰优先级级别,从而控制第二缓存中所缓存数据的淘汰顺序,从而减少第一缓存及第二缓存中所缓存的重复数据。In this way, the data situation in the second cache can be monitored, and the elimination priority level of the data blocks cached in the second cache can be adjusted by judging whether the data cached in the second cache is cached in the first cache, so as to control the second cache. The elimination order of the cached data in the cache reduces the duplicate data cached in the first cache and the second cache.
可选地,所述第二触发条件为:所述第二数据块在所述第二缓存中的缓存时间超过预定时间;在这种触发条件下,在确定所述第二数据块存储在所述第一缓存中时,将所述第二数据块从所述第二缓存中的淘汰优先级的级别提高。Optionally, the second trigger condition is: the cache time of the second data block in the second cache exceeds a predetermined time; under this trigger condition, after it is determined that the second data block is stored in the second cache When the second data block is in the first cache, the level of the elimination priority of the second data block is increased from the second cache.
这样,在确定所述第一缓存中存在与所述第二缓存中的数据相同的数据块时,则提高所述第二缓存中数据块的淘汰优先级的级别,使其优先淘汰,从而减少第一缓存和第二缓存中重复存储的数据块,增加了第一缓存和第二缓存所缓存数据的总量,从而提高IO请求的响应速度。In this way, when it is determined that the same data block exists in the first cache as the data in the second cache, the level of the elimination priority of the data block in the second cache is increased to make it eliminated first, thereby reducing the The data blocks repeatedly stored in the first cache and the second cache increase the total amount of data cached in the first cache and the second cache, thereby improving the response speed of the IO request.
可选地,所述第二触发条件为:删除所述第二缓存中的所述第二数据块,则所述方法还包括:Optionally, if the second trigger condition is: deleting the second data block in the second cache, the method further includes:
在确定所述第二数据未存储在所述第一缓存中的情况下,将所述第二数据在所述第二缓存中的淘汰优先级的级别降低。In a case where it is determined that the second data is not stored in the first cache, the level of the elimination priority of the second data in the second cache is lowered.
这样,在删除第二缓存中的数据块时,若所删除的数据块没有存储在所述第一缓存中,则提高所删除的数据块的淘汰优先级,即不删除所述数据块,这样,当有IO请求访问所述数据块时,可在第二缓存中命中,则提高的IO请求的响应速度。In this way, when deleting a data block in the second cache, if the deleted data block is not stored in the first cache, the elimination priority of the deleted data block is increased, that is, the data block is not deleted, so that , when there is an IO request to access the data block, a hit can be made in the second cache, thereby improving the response speed of the IO request.
可选地,所述第二触发条件为:将包含所述第二数据块的数据写入所述第二缓存;在这种条件下,在确定所述第二数据块存储在所述第一缓存中的情况下,将所述第二数据块在所述第二缓存中的淘汰优先级的级别提高。Optionally, the second trigger condition is: writing data including the second data block into the second cache; under this condition, after determining that the second data block is stored in the first cache In the case of being in the cache, the level of the elimination priority of the second data block in the second cache is increased.
这样,如果新缓存至所述第二缓存的数据块,也存储在第一缓存中,则提高新缓存数据块的淘汰优先级的级别,从而尽快淘汰新缓存至所述第二缓存的数据块,减少第一缓存和第二缓存中的重复数据,增加缓存数据,提高IO请求命中率。In this way, if the data block newly cached to the second cache is also stored in the first cache, the level of the elimination priority of the newly cached data block is increased, so as to eliminate the data block newly cached to the second cache as soon as possible , reduce the duplicate data in the first cache and the second cache, increase the cache data, and improve the IO request hit rate.
可选地,所述存储设备保存有所述第一缓存的索引记录,所述第一缓存的索引记录包括所述第一缓存中保存的至少一个数据块的数据特征标识,每个数据块的大小为预定大小,所述每个数据块的数据特征标识由所述每个数据块包含的数据内容决定;所述第二数据块的特征标识是根据第二数据块包含的数据内容获得的;在确定所述第二数据块是否存储在所述第一缓存中时,是根据所述每个第二数据块的数据特征标识查询所述第一缓存的索引记录来确定。Optionally, the storage device saves an index record of the first cache, and the index record of the first cache includes a data feature identifier of at least one data block stored in the first cache, and the value of each data block is The size is a predetermined size, and the data feature identifier of each data block is determined by the data content contained in each data block; the feature identifier of the second data block is obtained according to the data content contained in the second data block; When determining whether the second data block is stored in the first cache, it is determined by querying an index record of the first cache according to the data feature identifier of each second data block.
这样,通过设置所述第一缓存索引记录,可以在所述第一缓存中快速的找到与所述第二缓存中的数据相同的数据。In this way, by setting the first cache index record, the same data as the data in the second cache can be quickly found in the first cache.
可选地,所述第一缓存索引记录只记录最近一段时间写入所述第一缓存的数据块的数据标识。这样可以减少第一缓存索引记录所占用的空间,减少查表的时间。Optionally, the first cache index record only records data identifiers of data blocks written into the first cache in a recent period of time. In this way, the space occupied by the first cache index record can be reduced, and the time for table lookup can be reduced.
本发明第二方面提供一种数据的缓存方法,应用于存储设备,所述存储设备包括第一缓存、第二缓存和存储单元,所述第一缓存为应用服务器提供数据缓存,所述第二缓存用于为所述存储单元提供数据缓存,在存储服务器监测到第二触发条件的情况下,获取缓存在所述第二缓存中的第二数据块的特征信息;根据所述第二数据的特征信息确定所述第二数据块是否存储在所述第一缓存中;在确定所述第二数据块存储在所述第一缓存中的情况下,调整所述第二数据块在所述第二缓存中的淘汰优先级的级别。A second aspect of the present invention provides a data caching method, which is applied to a storage device. The storage device includes a first cache, a second cache, and a storage unit. The first cache provides a data cache for an application server, and the second cache provides a data cache. The cache is used to provide a data cache for the storage unit, and when the storage server monitors the second trigger condition, acquire feature information of the second data block cached in the second cache; The feature information determines whether the second data block is stored in the first cache; if it is determined that the second data block is stored in the first cache, adjust the second data block in the first cache. The level of eviction priority in the second cache.
这样,可以监测第二缓存中的数据情况,通过判断缓存在第二缓存中数据是否缓存在第一缓存中,来调整缓存在第二缓存中的数据块的淘汰优先级级别,从而控制第二缓存中所缓存数据的淘汰顺序,从而减少第一缓存及第二缓存中所缓存的重复数据或者延迟淘汰第二缓存中没有存储在所述第一缓存中的数据,增加IO请求的响应速度。In this way, the data situation in the second cache can be monitored, and the elimination priority level of the data blocks cached in the second cache can be adjusted by judging whether the data cached in the second cache is cached in the first cache, so as to control the second cache. The elimination sequence of cached data in the cache reduces duplicate data cached in the first cache and the second cache or delays the elimination of data in the second cache that is not stored in the first cache, thereby increasing the response speed of IO requests.
可选地,所述第二触发条件为:所述第二数据块在所述第二缓存中的缓存时间超过预定时间,在确定所述第二数据块存储在所述第一缓存中的情况下,将所述第二数据块在所述第二缓存中的淘汰优先级的级别提高。Optionally, the second trigger condition is: the cache time of the second data block in the second cache exceeds a predetermined time, and when it is determined that the second data block is stored in the first cache Next, the level of the elimination priority of the second data block in the second cache is increased.
这样,在确定所述第一缓存中存在与所述第二缓存中的数据相同的数据块时,则提高所述第二缓存中数据块的淘汰优先级的级别,使其优先淘汰,从而减少第一缓存和第二缓存中重复存储的数据块,增加了第一缓存和第二缓存所缓存数据的总量,节省存储资源。In this way, when it is determined that the same data block exists in the first cache as the data in the second cache, the level of the elimination priority of the data block in the second cache is increased to make it eliminated first, thereby reducing the The data blocks repeatedly stored in the first cache and the second cache increase the total amount of data cached in the first cache and the second cache, saving storage resources.
可选地,所述第二触发条件为:删除所述第二缓存中的所述第二数据块,则所述存储服务器在确定所述第二数据未存储在所述第一缓存中的情况下,将所述第二数据在所述第二缓存中的淘汰优先级的级别降低。Optionally, the second trigger condition is: delete the second data block in the second cache, then the storage server determines that the second data is not stored in the first cache when the second data block is not stored in the first cache and lowering the level of the elimination priority of the second data in the second cache.
这样,在删除第二缓存中的数据块时,若所删除的数据块没有存储在所述第一缓存中,则提高所删除的数据块的淘汰优先级,即不删除所述数据块,这样,当有IO请求访问所述数据块时,可在第二缓存中命中,则提高的IO请求的响应速度。In this way, when deleting a data block in the second cache, if the deleted data block is not stored in the first cache, the elimination priority of the deleted data block is increased, that is, the data block is not deleted, so that , when there is an IO request to access the data block, a hit can be made in the second cache, thereby improving the response speed of the IO request.
可选地,若所述第二触发条件为:将包含所述第二数据块的数据写入所述第二缓存;Optionally, if the second trigger condition is: writing data including the second data block into the second cache;
在确定所述第二数据块存储在所述第一缓存中的情况下,将所述第二数据块在所述第二缓存中的淘汰优先级的级别提高。When it is determined that the second data block is stored in the first cache, the level of the elimination priority of the second data block in the second cache is increased.
这样,如果新缓存至所述第二缓存的数据块,也存储在第一缓存中,则提高新缓存数据块的在所述第二缓存中淘汰优先级的级别,从而尽快淘汰新缓存至所述第二缓存的数据块,减少第一缓存和第二缓存中的重复数据,增加缓存数据,节省存储资源。In this way, if the newly cached data block in the second cache is also stored in the first cache, the priority level of the newly cached data block in the second cache is increased, so that the new cache is eliminated to the second cache as soon as possible. The data blocks in the second cache are reduced, the duplicate data in the first cache and the second cache are reduced, the cached data is increased, and storage resources are saved.
可选地,所述存储设备保存有所述第一缓存的索引记录,所述第一缓存的索引记录包括所述第一缓存中保存的数据块的数据特征标识,所述第一缓存中保存的数据块的大小等于所述第二数据块的大小,所述每个所述第二缓存中保存的数据块的数据特征标识由所述每个所述第二缓存中保存的数据块的数据内容决定;根据所述每个第二数据块的数据特征标识查询所述第一缓存的索引记录来确定所述第二数据块是否存储在所述第一缓存中。Optionally, the storage device stores an index record of the first cache, and the index record of the first cache includes data feature identifiers of data blocks stored in the first cache, and the first cache stores The size of the data block is equal to the size of the second data block, and the data characteristics of the data blocks stored in each of the second caches are identified by the data of the data blocks stored in each of the second caches. Content determination; according to the data feature identifier of each second data block, query the index record of the first cache to determine whether the second data block is stored in the first cache.
这样,通过设置所述第一缓存索引记录,可以在所述第一缓存中快速的找到与所述第二缓存中的数据相同的数据。In this way, by setting the first cache index record, the same data as the data in the second cache can be quickly found in the first cache.
可选地,所述第一缓存索引记录只记录最近一段时间写入所述第一缓存的数据块的数据标识。这样可以减少第一缓存索引记录所占用的空间,减少查表的时间。Optionally, the first cache index record only records data identifiers of data blocks written into the first cache in a recent period of time. In this way, the space occupied by the first cache index record can be reduced, and the time for table lookup can be reduced.
本发明第三方面提供一种存储控制装置,用于控制存储设备的数据存储,所述存储设备包括第一缓存、第二缓存和存储单元,所述第一缓存为应用服务器提供数据缓存,所述第二缓存用于为所述存储单元提供数据缓存,第一监测单元、第一获取单元、第一确定单元、第一调整单元,在所述第一监测单元监测所述第一触发条件的情况下,所述第一获取单元获取缓存在所述第一缓存中第一数据块的特征信息;所述第一确定单元根据所述第一数据块的特征信息确定所述第一数据块是否存储在所述第二缓存中,在所述第一确定单元确定所述第一数据块存储在所述第二缓存中的情况下,调整所述第一数据块在所述第二缓存中的淘汰优先级的级别。A third aspect of the present invention provides a storage control device for controlling data storage of a storage device, wherein the storage device includes a first cache, a second cache, and a storage unit, the first cache provides a data cache for an application server, so The second buffer is used to provide a data buffer for the storage unit, a first monitoring unit, a first acquisition unit, a first determination unit, and a first adjustment unit, and the first monitoring unit monitors the first trigger condition in the first monitoring unit. In this case, the first obtaining unit obtains the feature information of the first data block cached in the first cache; the first determining unit is stored in the second cache, and when the first determination unit determines that the first data block is stored in the second cache, adjust the size of the first data block in the second cache. The level of elimination priority.
这样,根据一级缓存和二级缓存所缓存数据的情况,调整对所述第二缓存所缓存的数据块的淘汰优先级的级别,从而控制第二缓存中所缓存数据的淘汰顺序,提高IO请求的响应速度。In this way, according to the situation of the data cached in the first-level cache and the second-level cache, the level of the elimination priority of the data blocks cached in the second cache is adjusted, so as to control the elimination order of the data cached in the second cache, and improve the IO The response speed of the request.
在第三方面的第一种实现方式中,所述第一触发条件为:根据第一数据写请求将包括至少一个所述第一数据块的待写入数据写入所述第一缓存中,或者,所述第一数据在所述第一缓存中的缓存时间超过预定时间;在确定所述第一数据块存储在所述第二缓存中的情况下,所述第一调整单元将所述第一数据块在所述第二缓存中的淘汰优先级的级别提高。In a first implementation manner of the third aspect, the first trigger condition is: writing data to be written including at least one of the first data blocks into the first cache according to a first data write request, Or, the buffering time of the first data in the first cache exceeds a predetermined time; when it is determined that the first data block is stored in the second cache, the first adjustment unit adjusts the The level of the elimination priority of the first data block in the second cache is increased.
这样,在确定所述第二缓存中存在新写入所述第一缓存中的数据块相同的数据块,或者存在与所述第一缓存中的热数据相同的数据块时,则提高所述第二缓存中的相同数据块的淘汰优先级的级别,使其优先淘汰,从而减少第一缓存和第二缓存中重复存储的数据块,增加了第一缓存和第二缓存所缓存数据的总量,从而提高IO请求的响应速度。In this way, when it is determined that there is a data block in the second cache that is the same as the data block newly written in the first cache, or there is a data block that is the same as the hot data in the first cache, then increase the The level of the elimination priority of the same data block in the second cache makes it eliminated first, thereby reducing the data blocks repeatedly stored in the first cache and the second cache, and increasing the total amount of data cached in the first cache and the second cache. amount, thereby improving the response speed of IO requests.
可选地,所述第一触发条件为:接收到在所述第一缓存中删除所述第一数据块的删除请求;Optionally, the first trigger condition is: receiving a deletion request for deleting the first data block in the first cache;
在所述第一确定单元确定所述第一数据块存储在所述第二缓存中的情况下,所述第一调整单元将所述第一数据块在所述第二缓存中的淘汰优先级的级别降低。In the case that the first determination unit determines that the first data block is stored in the second cache, the first adjustment unit adjusts the elimination priority of the first data block in the second cache level is lowered.
这样,当从所述第一缓存中删除数据块时,若所要删除的数据块也存储在所述第二缓存中,则将若所要删除的数据块在第二缓存中的淘汰优先级降低,这样,可以使在第一缓存中删除的数据在第二缓存中保存的时间更长一些,当下次有IO请求访问所述数据块时,可以在第二缓存中命中,而不需要从硬盘中获取,所以提高了IO请求的响应速度。In this way, when deleting a data block from the first cache, if the data block to be deleted is also stored in the second cache, the elimination priority of the data block to be deleted in the second cache is lowered, In this way, the data deleted in the first cache can be kept in the second cache for a longer period of time, and when there is an IO request to access the data block next time, it can be hit in the second cache, without the need to retrieve data from the hard disk. Obtained, so the response speed of IO requests is improved.
可选地,所述存储设备保存有所述第二缓存的索引记录,所述第二缓存的索引记录包括所述第二缓存中保存的至少一个第二数据块的数据特征标识,所述第二数据块的大小等于所述第一数据块的大小,所述每个第二数据块的数据特征标识由所述每个第二数据块包含的数据内容决定;Optionally, the storage device stores an index record of the second cache, and the index record of the second cache includes a data feature identifier of at least one second data block stored in the second cache, and the first cache The size of the two data blocks is equal to the size of the first data block, and the data feature identifier of each second data block is determined by the data content contained in each second data block;
所述第一确定单元根据所述第一数据块的数据特征标识查询所述第二缓存的索引记录,确定所述每个第一数据块是否存储在所述第二缓存中。通过建立索引表的方式,可以快速的确定所述第一数据块是否存储在所述第二缓存中。The first determining unit queries the index record of the second cache according to the data characteristic identifier of the first data block, and determines whether each of the first data blocks is stored in the second cache. By establishing an index table, it can be quickly determined whether the first data block is stored in the second cache.
在所述第三方面的第四种实现方式中,所述存储设备保存有地址表,所述地址表中记录了缓存在所述第二缓存中的第二数据块的特征标识及存储地址,在确定所述第一数据块存储在所述第二缓存中后,根据所述第一数据块的特征标识在所述地址表中找到所述第一数据块,然后再对所述第一数据块在所述第二缓存中的淘汰级别进行调整。通过建立地址表,可以快速的找到所述第一数据块在所述第二缓存中的位置,从而对所述第一数据块在所述第二缓存中的淘汰优先级的级别进行调整。In a fourth implementation manner of the third aspect, the storage device stores an address table, and the address table records the feature identifier and storage address of the second data block cached in the second cache, After it is determined that the first data block is stored in the second cache, the first data block is found in the address table according to the characteristic identifier of the first data block, and then the first data block is The eviction level of blocks in the second cache is adjusted. By establishing an address table, the position of the first data block in the second cache can be quickly found, so that the level of the elimination priority of the first data block in the second cache can be adjusted.
可选地,所述第二缓存索引记录只记录最近一段时间写入所述第二缓存的数据块的数据标识。这样可以减少第二缓存索引记录所占用的空间,减少查表的时间。Optionally, the second cache index record only records the data identifiers of the data blocks written into the second cache in a recent period of time. In this way, the space occupied by the index records of the second cache can be reduced, and the time for table lookup can be reduced.
可选地,所述存储控制装置还包括第二监测单元、第二获取单元、第二确定单元及第二调整单元,Optionally, the storage control device further includes a second monitoring unit, a second acquisition unit, a second determination unit, and a second adjustment unit,
在所述第二监测单元监测到所述第二触发条件的情况下,所述第二获取单元获取缓存在所述第二缓存中第二数据块的特征信息;所述第二确定单元根据所述第二数据块的特征信息确定所述第二数据块是否存储在所述第一缓存中在所述第二确定单元确定所述第二数据块存储在所述第一缓存中的情况下,所述第二调整单元调整所述第二数据块在所述第二缓存中的淘汰优先级的级别。When the second monitoring unit monitors the second trigger condition, the second obtaining unit obtains the feature information of the second data block cached in the second cache; the second determining unit The characteristic information of the second data block determines whether the second data block is stored in the first cache, and in the case that the second determination unit determines that the second data block is stored in the first cache, The second adjustment unit adjusts the level of the elimination priority of the second data block in the second cache.
这样,可以通过监测第二缓存中的数据情况,通过判断缓存在第二缓存中数据是否缓存在第一缓存中,来调整缓存在第二缓存中的数据块的淘汰优先级级别,从而控制第二缓存中所缓存数据的淘汰顺序,提高IO请求的响应速度。In this way, by monitoring the data situation in the second cache, and by judging whether the data cached in the second cache is cached in the first cache, the elimination priority level of the data blocks cached in the second cache can be adjusted, thereby controlling the first cache. The elimination order of cached data in the second cache improves the response speed of IO requests.
可选地,所述第二监测单元所监测到的所述第二触发条件为:所述第二数据块在所述第二缓存中的缓存时间超过预定时间;在所述第二确定单元确定所述第二数据块存储在所述第一缓存中的情况下,所述第二调整单元Optionally, the second trigger condition monitored by the second monitoring unit is: the cache time of the second data block in the second cache exceeds a predetermined time; When the second data block is stored in the first cache, the second adjustment unit
将所述第二数据块从所述第二缓存中的淘汰优先级的级别提高。Raising the second data block from the second cache has a higher level of eviction priority.
这样,在确定所述第一缓存中存在与所述第二缓存中的数据相同的数据块时,则提高所述第二缓存中数据块的淘汰优先级的级别,使其优先淘汰,从而减少第一缓存和第二缓存中重复存储的数据块,增加了第一缓存和第二缓存所缓存数据的总量,从而提高IO请求的响应速度。In this way, when it is determined that the same data block exists in the first cache as the data in the second cache, the level of the elimination priority of the data block in the second cache is increased to make it eliminated first, thereby reducing the The data blocks repeatedly stored in the first cache and the second cache increase the total amount of data cached in the first cache and the second cache, thereby improving the response speed of the IO request.
可选地,所述第二监测单元所监测到的所述第二触发条件为:删除所述第二缓存中的所述第二数据块,当所述第二确定单元在确定所述第二数据未存储在所述第一缓存中的情况下,所述第二调整单元将所述第二数据在所述第二缓存中的淘汰优先级的级别降低。Optionally, the second trigger condition monitored by the second monitoring unit is: delete the second data block in the second cache, when the second determining unit is determining the second When the data is not stored in the first cache, the second adjustment unit lowers the level of the elimination priority of the second data in the second cache.
这样,在删除第二缓存中的数据块时,若所删除的数据块没有存储在所述第一缓存中,则提高所删除的数据块的淘汰优先级,即不删除所述数据块,这样,当有IO请求访问所述数据块时,可在第二缓存中命中,则提高的IO请求的响应速度。In this way, when deleting a data block in the second cache, if the deleted data block is not stored in the first cache, the elimination priority of the deleted data block is increased, that is, the data block is not deleted, so that , when there is an IO request to access the data block, a hit can be made in the second cache, thereby improving the response speed of the IO request.
可选地,所述第二监测单元所监测到的所述第二触发条件为:将包含所述第二数据块的数据写入所述第二缓存;在所述第二确定单元确定所述第二数据块存储在所述第一缓存中的情况下,所述第二调整单元将所述第二数据块在所述第二缓存中的淘汰优先级的级别提高。Optionally, the second trigger condition monitored by the second monitoring unit is: writing data including the second data block into the second cache; determining, in the second determining unit, the When the second data block is stored in the first cache, the second adjustment unit increases the level of the elimination priority of the second data block in the second cache.
这样,如果新缓存至所述第二缓存的数据块,也存储在第一缓存中,则提高新缓存数据块的淘汰优先级的级别,从而尽快淘汰新缓存至所述第二缓存的数据块,减少第一缓存和第二缓存中的重复数据,增加缓存数据,提高IO请求命中率。In this way, if the data block newly cached to the second cache is also stored in the first cache, the level of the elimination priority of the newly cached data block is increased, so as to eliminate the data block newly cached to the second cache as soon as possible , reduce the duplicate data in the first cache and the second cache, increase the cache data, and improve the IO request hit rate.
可选地,所述存储设备保存有所述第一缓存的索引记录,所述第一缓存的索引记录包括所述第一缓存中保存的数据块的数据特征标识,每个所述第一缓存中保存的数据块的大小等于所述第二数据块的大小,所述每个数据块的数据特征标识由所述每个数据块的数据内容决定;Optionally, the storage device stores an index record of the first cache, and the index record of the first cache includes a data feature identifier of a data block stored in the first cache, and each of the first cache The size of the data block stored in the data block is equal to the size of the second data block, and the data feature identifier of each data block is determined by the data content of each data block;
单元所述第二确认单元根据所述每个第二数据块的数据特征标识查询所述第一缓存的索引记录,确定所述第二数据块是否存储在所述第一缓存中。The second confirmation unit queries the index record of the first cache according to the data feature identifier of each second data block, and determines whether the second data block is stored in the first cache.
这样,通过设置所述第一缓存索引记录,可以在所述第一缓存中快速的找到与所述第二缓存中的数据相同的数据。In this way, by setting the first cache index record, the same data as the data in the second cache can be quickly found in the first cache.
可选地,所述第一缓存索引记录只记录最近一段时间写入所述第一缓存的数据块的数据标识。这样可以减少第一缓存索引记录所占用的空间,减少查表的时间。Optionally, the first cache index record only records data identifiers of data blocks written into the first cache in a recent period of time. In this way, the space occupied by the first cache index record can be reduced, and the time for table lookup can be reduced.
本发明第四方面提供一种存储控制装置,用于控制存储设备的数据存储,所述存储设备包括第一缓存、第二缓存和存储单元,所述第一缓存为应用服务器提供数据缓存,所述第二缓存用于为所述存储单元提供数据缓存,所述存储控制装置包括:第二监测单元、第二获取单元,第二确定单元及第二调整单元。在所述第二监测单元监测到所述第二触发条件的情况下,所述第二获取单元获取缓存在所述第二缓存中的第二数据块的特征信息;所述第二确定单元根据所述第二数据块的特征信息确定所述第二数据块是否存储在所述第一缓存中;A fourth aspect of the present invention provides a storage control device for controlling data storage of a storage device, wherein the storage device includes a first cache, a second cache, and a storage unit, the first cache provides a data cache for an application server, so The second cache is used to provide a data cache for the storage unit, and the storage control device includes: a second monitoring unit, a second acquiring unit, a second determining unit and a second adjusting unit. In the case where the second monitoring unit monitors the second trigger condition, the second obtaining unit obtains the characteristic information of the second data block buffered in the second buffer; the second determining unit according to The feature information of the second data block determines whether the second data block is stored in the first cache;
所述第二调整单元在所述第二确定单元确定所述第二数据块存储在所述第一缓存中的情况下,调整所述第二数据块在所述第二缓存中的淘汰优先级的级别。The second adjustment unit adjusts the elimination priority of the second data block in the second cache when the second determination unit determines that the second data block is stored in the first cache level.
这样,可以监测第二缓存中的数据情况,通过判断缓存在第二缓存中数据是否缓存在第一缓存中,来调整缓存在第二缓存中的数据块的淘汰优先级级别,从而控制第二缓存中所缓存数据的淘汰顺序,提高IO请求的响应速度。In this way, the data situation in the second cache can be monitored, and the elimination priority level of the data blocks cached in the second cache can be adjusted by judging whether the data cached in the second cache is cached in the first cache, so as to control the second cache. The elimination order of cached data in the cache improves the response speed of IO requests.
可选地,所述第二监测单元所监测到的所述第二触发条件为:所述第二数据块在所述第二缓存中的缓存时间超过预定时间;Optionally, the second trigger condition monitored by the second monitoring unit is: the cache time of the second data block in the second cache exceeds a predetermined time;
在所述第二确定单元确定所述第二数据块存储在所述第一缓存中的情况下,所述第二调整单元将所述第二数据块从所述第二缓存中的淘汰优先级的级别提高。In the case that the second determination unit determines that the second data block is stored in the first cache, the second adjustment unit adjusts the priority of the second data block to be eliminated from the second cache level increased.
这样,在确定所述第一缓存中存在与所述第二缓存中的数据相同的数据块时,则提高所述第二缓存中数据块的淘汰优先级的级别,使其优先淘汰,从而减少第一缓存和第二缓存中重复存储的数据块,增加了第一缓存和第二缓存所缓存数据的总量,从而提高IO请求的响应速度。In this way, when it is determined that the same data block exists in the first cache as the data in the second cache, the level of the elimination priority of the data block in the second cache is increased to make it eliminated first, thereby reducing the The data blocks repeatedly stored in the first cache and the second cache increase the total amount of data cached in the first cache and the second cache, thereby improving the response speed of the IO request.
可选地,所述第二监测单元所监测到的所述第二触发条件为:删除所述第二缓存中的所述第二数据块,Optionally, the second trigger condition monitored by the second monitoring unit is: delete the second data block in the second cache,
当所述第二确定单元在确定所述第二数据未存储在所述第一缓存中的情况下,所述第二调整单元将所述第二数据在所述第二缓存中的淘汰优先级的级别降低。When the second determination unit determines that the second data is not stored in the first cache, the second adjustment unit adjusts the elimination priority of the second data in the second cache level is lowered.
这样,在删除第二缓存中的数据块时,若所删除的数据块没有存储在所述第一缓存中,则提高所删除的数据块的淘汰优先级,即不删除所述数据块,这样,当有IO请求访问所述数据块时,可在第二缓存中命中,则提高的IO请求的响应速度。In this way, when deleting a data block in the second cache, if the deleted data block is not stored in the first cache, the elimination priority of the deleted data block is increased, that is, the data block is not deleted, so that , when there is an IO request to access the data block, a hit can be made in the second cache, thereby improving the response speed of the IO request.
可选地,所述第二监测单元所监测到的所述第二触发条件为:将包含所述第二数据块的数据写入所述第二缓存;Optionally, the second trigger condition monitored by the second monitoring unit is: writing data including the second data block into the second cache;
在所述第二确定单元确定所述第二数据块存储在所述第一缓存中的情况下,所述第二调整单元将所述第二数据块在所述第二缓存中的淘汰优先级的级别提高。When the second determination unit determines that the second data block is stored in the first cache, the second adjustment unit adjusts the elimination priority of the second data block in the second cache level increased.
这样,如果新缓存至所述第二缓存的数据块,也存储在第一缓存中,则提高新缓存数据块的淘汰优先级的级别,从而尽快淘汰新缓存至所述第二缓存的数据块,减少第一缓存和第二缓存中的重复数据,增加缓存数据,节省缓存资源。In this way, if the data block newly cached to the second cache is also stored in the first cache, the level of the elimination priority of the newly cached data block is increased, so as to eliminate the data block newly cached to the second cache as soon as possible , reduce duplicate data in the first cache and the second cache, increase cache data, and save cache resources.
可选地,所述存储设备保存有所述第一缓存的索引记录,所述第一缓存的索引记录包括所述第一缓存中保存的数据块的数据特征标识,每个第一缓存中存储的数据块的大小等于与所述二数据块的大小,所述每个数据块的数据特征标识由所述每个数据块的数据内容决定;Optionally, the storage device stores an index record of the first cache, and the index record of the first cache includes the data feature identifiers of the data blocks stored in the first cache, and each first cache stores The size of the data block is equal to the size of the two data blocks, and the data feature identifier of each data block is determined by the data content of each data block;
所述第二确认单元根据所述每个第二数据块的数据特征标识查询所述第一缓存的索引记录,确定所述第二数据块是否存储在所述第一缓存中。The second confirmation unit queries the index record of the first cache according to the data characteristic identifier of each second data block, and determines whether the second data block is stored in the first cache.
这样,通过设置所述第一缓存索引记录,可以在所述第一缓存中快速的找到与所述第二缓存中的数据相同的数据。In this way, by setting the first cache index record, the same data as the data in the second cache can be quickly found in the first cache.
可选地,所述第一缓存索引记录只记录最近一段时间写入所述第一缓存的数据块的数据标识。这样可以减少第一缓存索引记录所占用的空间,减少查表的时间。Optionally, the first cache index record only records data identifiers of data blocks written into the first cache in a recent period of time. In this way, the space occupied by the first cache index record can be reduced, and the time for table lookup can be reduced.
本发明第五方面提供一种存储设备,所述存储设备包括处理器、内存、第一缓存、第二缓存和存储单元,所述第一缓存为应用服务器提供数据缓存,所述第二缓存用于为所述存储单元提供数据缓存,所述内存用于存储计算机执行指令,当所述存储设备运行时,所述处理器执行所述内存存储的所述计算机执行指令,以使所述存储设备执行第一方面所提供的数据缓存方法或者第二方面所提供的数据缓存方法。A fifth aspect of the present invention provides a storage device, the storage device includes a processor, a memory, a first cache, a second cache, and a storage unit, the first cache provides a data cache for an application server, and the second cache is used for To provide a data cache for the storage unit, the memory is used to store computer-executed instructions, and when the storage device is running, the processor executes the computer-executed instructions stored in the memory, so that the storage device Execute the data caching method provided by the first aspect or the data caching method provided by the second aspect.
本发明的实施例通过在存储服务器一侧设置第一缓存以缓存从所述应用服务器的应用缓存中的数据,然后判断第二缓存中是否存储有与第一缓存中相同的数据,并根据判断结果调整所述第二缓存中的数据淘汰优先级级别。如此,通过协调第一缓存及第二缓存中缓存的数据,减少第一缓存及第二缓存中的重复数据,节省缓存资源,还能暂缓淘汰第二缓存中不与第一缓存中的数据相同的数据,或者与第一缓存中的待删除数据相同的数据,从而增加IO请求的响应速度。In the embodiment of the present invention, a first cache is set on the storage server side to cache data from the application cache of the application server, and then it is determined whether the second cache stores the same data as the first cache, and according to the judgment As a result, the data elimination priority level in the second cache is adjusted. In this way, by coordinating the data cached in the first cache and the second cache, the duplicate data in the first cache and the second cache is reduced, the cache resources are saved, and the data in the second cache that is not the same as the first cache can be temporarily eliminated. , or the same data as the data to be deleted in the first cache, thereby increasing the response speed of the IO request.
附图说明Description of drawings
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to explain the embodiments of the present invention or the technical solutions in the prior art more clearly, the following briefly introduces the accompanying drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only These are some embodiments of the present invention, and for those of ordinary skill in the art, other drawings can also be obtained from these drawings without any creative effort.
图1为现有技术中的存储服务器为应用服务器提供存储服务的数据处理系统的架构图。FIG. 1 is an architecture diagram of a data processing system in which a storage server provides storage services for an application server in the prior art.
图2为本发明实施例中存储服务器为应用服务器提供存储服务的数据处理系统的架构图。FIG. 2 is an architectural diagram of a data processing system in which a storage server provides a storage service for an application server according to an embodiment of the present invention.
图3为本发明一实施例中,在一种触发条件下,第一缓存与第二缓存之间进行数据块协调的方法的流程图。3 is a flowchart of a method for performing data block coordination between a first cache and a second cache under a trigger condition according to an embodiment of the present invention.
图4A及图4B为第二缓存的索引记录的示意图。4A and 4B are schematic diagrams of index records of the second cache.
图5为图3所示的实施例中,第一缓存与第二缓存之间进行数据块协调的示意图。FIG. 5 is a schematic diagram of data block coordination between the first cache and the second cache in the embodiment shown in FIG. 3 .
图6为本发明一实施例中,在另一种触发条件下,第一缓存与第二缓存之间进行数据块协调的方法的流程图。6 is a flowchart of a method for performing data block coordination between the first cache and the second cache under another trigger condition according to an embodiment of the present invention.
图7为图6所示的实施例中,第一缓存与第二缓存之间进行数据块协调的示意图。FIG. 7 is a schematic diagram of data block coordination between the first cache and the second cache in the embodiment shown in FIG. 6 .
图8为本发明一实施例中,在另一种触发条件下,第一缓存与第二缓存之间进行数据块协调的方法的流程图。FIG. 8 is a flowchart of a method for performing data block coordination between the first cache and the second cache under another trigger condition according to an embodiment of the present invention.
图9为图8所示的实施例中,第一缓存与第二缓存之间进行数据块协调的示意图。FIG. 9 is a schematic diagram of data block coordination between the first cache and the second cache in the embodiment shown in FIG. 8 .
图10为本发明一实施例中,在另一种触发条件下,第一缓存与第二缓存之间进行数据块协调的方法的流程图。10 is a flowchart of a method for performing data block coordination between the first cache and the second cache under another trigger condition according to an embodiment of the present invention.
图11为图10所示的实施例中,第一缓存与第二缓存之间进行数据块协调的示意图。FIG. 11 is a schematic diagram of data block coordination between the first cache and the second cache in the embodiment shown in FIG. 10 .
图12为本发明一实施例中,在另一种触发条件下,第一缓存与第二缓存之间进行数据块协调的方法的流程图。12 is a flowchart of a method for performing data block coordination between the first cache and the second cache under another trigger condition according to an embodiment of the present invention.
图13为图12所示的实施例中,第一缓存与第二缓存之间进行数据块协调的示意图。FIG. 13 is a schematic diagram of data block coordination between the first cache and the second cache in the embodiment shown in FIG. 12 .
图14为本发明一实施例中,在另一种触发条件下,第一缓存与第二缓存之间进行数据块协调的方法的流程图。FIG. 14 is a flowchart of a method for performing data block coordination between the first cache and the second cache under another trigger condition according to an embodiment of the present invention.
图15为图14所示的实施例中,第一缓存与第二缓存之间进行数据块协调的示意图。FIG. 15 is a schematic diagram of data block coordination between the first cache and the second cache in the embodiment shown in FIG. 14 .
图16为本发明实施例提供的一种存储控制装置的结构图。FIG. 16 is a structural diagram of a storage control apparatus according to an embodiment of the present invention.
图17为本发明实施例提供的另一种存储控制装置的结构图。FIG. 17 is a structural diagram of another storage control apparatus provided by an embodiment of the present invention.
具体实施方式Detailed ways
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,为现有技术中的存储服务器110为应用服务器120提供存储服务的数据处理系统100的架构图。The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, but not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention. As shown in FIG. 1 , an architecture diagram of a
所述应用服务器120可以为供多个用户同时访问的共享服务器,例如数据库服务器、虚拟机管理服务器、桌面云服务器等。所述存储服务器110为所述应用服务器120提供数据存储服务。The
所述应用服务器120包括应用处理器121、应用缓存122、扩展缓存123及其他元件。所述存储服务器110包括存储处理器111、存储缓存112、存储单元113及其他元件。所述应用缓存122为所述应用服务器120提供数据缓存,一般为高速缓存如动态随机存储器(DynamicRandom Access Memory,DRAM),但是由于DRAM的价格比较贵,所以一般容量较小。所述扩展缓存123一般为固态存储器(Solid State Disk,SSD),由于SSD存储器的价格相对DRAM比较便宜,但是速度比较低,所以一般用作应用缓存122的扩展缓存,即用于存储从所述应用缓存122淘汰的数据。由于应用缓存122的容量比较小,所以缓存至所述应用缓存122的数据可能很快被淘汰掉,所以通过扩展缓存123缓存应用缓存122淘汰的数据,可增加IO请求的响应速度。The
所述存储缓存112为所述存储单元113如硬盘提供数据缓存,一般也为DRAM。可以缓存从存储单元113读取的数据,也可以缓存应用服务器100写入存储服务器110的数据。由于在缓存数据时,会在存储服务器110的存储缓存112与应用服务器120的应用缓存122中同时缓存相同的数据,而存储服务器110又无法感知应用服务器120的应用缓存122中所缓存的数据,这就会造成应用服务器120中的应用缓存122与扩展缓存123中缓存的数据与存储服务器110的存储缓存112缓存相同的数据。另外,在扩展缓存123中的数据被淘汰时,缓存在存储缓存112中的与所述淘汰数据块相同的数据可能也处于很快被淘汰的位置,这样,在扩展缓存123中淘汰的数据在存储缓存112中也很快被淘汰后,当有IO请求访问所述淘汰数据时,又需要从存储单元113中调用,从而影响IO请求的响应速度。The
可见,由于现有技术中存储服务器110无法获知应用服务器120中的扩展缓存123中所缓存的数据,缺乏两个缓存的协同操作机制,所以影响IO请求的响应速度或者导致存储资源的浪费。It can be seen that in the prior art, the
本发明实施例通过在将应用服务器的缓存设置在存储服务器一侧设置,例如存储服务器上的第一缓存,用以缓存所述应用服务器的应用缓存的数据,然后判断存储服务器的第二缓存中是否存储有与第一缓存中相同的数据,并根据不同的判断结果调整所述第二缓存中的数据的淘汰优先级级别,例如,如果确定第二缓存中缓存有与缓存在所述第一缓存的数据相同的数据,则将所述二级缓存中与所述缓存数据相同的数据优先淘汰,如果确定第二缓存中缓存有与从所述第一缓存删除的数据相同的数据,则将所述第二缓存中与所述删除数据相同数据优先存储,如果所述第一缓存中没有缓存与所述二级缓存中待删除的数据相同的数据,则不删除所述从所述第二缓存待删除数据。如此,通过协调第一缓存及第二缓存中缓存的数据,减少第一缓存及第二缓存中的重复数据,还能暂缓删除第二缓存中不与第一缓存中所缓存的数据相同的待删除数据,或者与第一缓存中的待删除数据相同的数据,即可增加IO请求的响应速度。In the embodiment of the present invention, the cache of the application server is set on the side of the storage server, for example, the first cache on the storage server is used to cache the data of the application cache of the application server, and then it is determined that the second cache of the storage server is in the second cache. Whether the same data as in the first cache is stored, and the elimination priority level of the data in the second cache is adjusted according to different judgment results. If the cached data is the same as the data in the cache, the data in the second cache that is the same as the cached data will be eliminated first. If it is determined that the second cache has the same data as the data deleted from the first cache, The data that is the same as the deleted data in the second cache is stored preferentially. If the first cache does not cache the same data as the data to be deleted in the second-level cache, the data from the second cache is not deleted. Cache data to be deleted. In this way, by coordinating the data cached in the first cache and the second cache, the duplicate data in the first cache and the second cache can be reduced, and the pending deletion of the data in the second cache that is not the same as the data cached in the first cache can be temporarily deleted. Deleting data, or the same data as the data to be deleted in the first cache, can increase the response speed of the IO request.
下面结合具体实施例对本发明的技术方案做详细描述。The technical solutions of the present invention will be described in detail below with reference to specific embodiments.
如图2所示,为本发明实施例中的存储服务器210为应用服务器220提供服务的数据处理系统200的架构图。As shown in FIG. 2 , it is an architectural diagram of a
本实施例中,所述应用服务器220包括应用处理器221、应用缓存222、及其他元件,如内存等,由于其他元件本发明实施例未涉及,在图中并未示出。In this embodiment, the
所述存储服务器210包括存储处理器211、第一缓存212、第二缓存213、存储单元214、内存215,及其他元件,其他元件本发明实施例未涉及,在图中并未示出。The
与图1中的数据处理系统100相比,本实施例中去掉应用服务器120中的扩展缓存123,而是在所述存储服务器210中增加了第一缓存212。本发明实施例中应用服务器中还设置有该应用缓存222,存储服务器210中的第一缓存212仅用于替代图1中的扩展缓存123,但实际上在本发明的其他实施例中,应用服务器也可以不再包括应用缓存222,设置在存储服务器210的第一缓存212可以完全替代应用服务器的各种缓存,因本领域技术人员完全可以理解上述扩展实施例,具体实现方式在此不赘述。Compared with the
所述第一缓存212为所述存储服务器210提供给应用服务器220使用,用于缓存应用服务器220中的数据,例如,缓存从所述应用缓存222中删除的数据,当所述应用缓存222中的数据被删除时,所述应用服务器220的应用处理器221发送数据缓存请求至所述存储服务器210,使所述存储服务器210缓存从应用缓存222删除的数据至所述第一缓存212中,在所述删除数据缓存至所述第一缓存212后,所述存储处理器211将缓存至所述第一缓存212的数据的地址返回给所述应用服务器200的应用处理器221,则所述应用处理器221即可根据返回的数据地址对所述第一缓存中的数据进行控制,所述控制可以为对第一缓存212中的数据块进行读取、淘汰等。当所述应用处理器221要淘汰所述第一缓存212中的数据时,所述应用处理器221发送数据淘汰请求至所述存储服务器210,所述数据淘汰请求中包括要淘汰数据的地址,所述存储服务器210接收到所述淘汰请求后,根据所述淘汰请求中包含的淘汰数据的地址,在所述第一缓存中找到需要淘汰的数据后进行淘汰。The
所述第二缓存213为所述存储单元214提供数据缓存。The
这样,由于所述第一缓存212中所缓存的数据块为所述应用服务器的应用缓存222所淘汰的数据块,则所述存储服务器210可通过所述第一缓存212中缓存的数据获知之前缓存至所述应用缓存222的数据,这样,所述存储处理器211即可获知第一缓存212所缓存的数据,并协调所述第一缓存212与所述第二缓存213中所存储的数据块,以提高IO请求的响应速度,第一缓存212与第二缓存213中的数据的协调方法将在下文中做详细描述。In this way, since the data blocks cached in the
所述存储处理器211及应用处理器111可能为单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。The
所述内存215可以为高速RAM存储器,也可以为非易失性存储器(non-volatilememory),例如至少一个磁盘存储器,用于存储计算机执行指令2151。具体的,计算机执行指令2151中可以包括程序代码。The memory 215 may be a high-speed RAM memory, or a non-volatile memory (non-volatile memory), such as at least one disk memory, for storing the
当存储服务器210运行时,所述存储处理器211运行计算机执行指令2151,可以执行图3、图6、图8、图10、图12及图14所述的第一缓存212及第二缓存213中的数据协调方法的流程。When the
图3、图6、图8、图10、图12及图14的协调方法将在下文做详细介绍。The coordination methods of FIGS. 3 , 6 , 8 , 10 , 12 and 14 will be described in detail below.
本实施例中,包括两种情况,第一种情况为侦测所述第一缓存212中的所缓存数据的情况触发所述第一缓存212与第二缓存213所缓存数据的协调,第二种情况为侦测所述第二缓存213中的所缓存数据的情况触发所述第一缓存212与第二缓存213所缓存数据的协调。在实际产品中,可以只实施第一种情况下的数据协调方法,也可以只实施第二种情况下的数据协调方法,也可以同时实施两种情况下的数据协调方法。In this embodiment, there are two cases. The first case is that the detection of the cached data in the
下面将首先描述第一种情况下进行所述第一缓存212与第二缓存213的数据协调方法,在第一种情况下,所述第一缓存212与第二缓存213的数据协调在第一触发条件下触发,所述第一触发条件可以为:所述存储处理器211接收到所述应用服务器220发送的数据缓存请求,并根据所述数据缓存请求将所述数据缓存请求中包含的数据缓存至所述第一缓存212;所述存储处理器211接收到所述应用服务器220发送的数据删除请求;所述存储处理器211侦测到缓存在所述第一缓存中的数据的时间超过一阈值。The following will first describe the method for data coordination between the
如图3所示,为所述存储处理器211侦测到的第一触发条件为所述存储处理器211接收到所述应用服务器220发送的数据缓存请求,并根据所述数据缓存请求将所述数据缓存请求中包含的数据缓存至所述第一缓存212时,所述第一缓存212与第二缓存212之间进行数据块协调的方法的流程图。As shown in FIG. 3 , the first trigger condition detected by the
步骤S301,所述存储处理器211接收到所述应用服务器220发送的数据缓存请求,并根据所述数据缓存请求将所述数据缓存请求中包含的数据缓存至所述第一缓存212,获取所述缓存请求对应的至少一个第一数据块的特征标识。Step S301, the
本实施例中,所述存储处理器211获取所述第一数据的特征标识包括:根据第一数据块包含的数据内容获得所述第一数据块的数据特征标识。In this embodiment, acquiring the feature identifier of the first data by the
所述第一数据块的特征标识为根据第一数据块包含的数据内容解析出的能够唯一标识所述第一数据块的代码。具体解析方法可以为对所述第一数据块本身做哈希运算,将计算的哈希值作为所述第一数据块的特征标识,也可以根据应用服务器220所运行应用所设定的数据块的特征识别出的能够唯一标识所述第一数据块数据特征标识,例如,在所述应用服务器所运行的为数据块库应用时,则可以通过所述第一数据块的第五到第八字节的相对数据块地址(relative data block address,RDBA)来唯一标识所述第一数据块。The feature identifier of the first data block is a code that can uniquely identify the first data block and is parsed according to the data content contained in the first data block. The specific analysis method may be to perform a hash operation on the first data block itself, and use the calculated hash value as the feature identifier of the first data block, or it may be based on the data block set by the application running by the
步骤S302,所述存储处理器211根据所述第一数据块的特征标识确定所述第一数据块是否存储在所述第二缓存213中。Step S302, the
所述内存215中还存储有所述第二缓存的索引记录2153,所述第二缓存的索引记录2153包括所述第二缓存中保存的至少一个第二数据块的特征标识,所述第二数据块的大小等于所述第一数据块的大小,且所述第二数据块的特征标识的获取方法也与所述第一数据块的特征标识的获取方法一致,在此不再赘述。The memory 215 also stores an
如此,则可根据所述每个第一数据块的特征标识查询所述第二缓存索引记录2153来确定所述每个第一数据块是否存储在所述第二缓存213中。In this way, the second
所述第二缓存索引记录2153中所存储的数据块标识可以是所述第二缓存213所缓存的所有第二数据块的特征标识,也可以为部分第二数据块的特征标识。由于所述第二缓存213中所缓存的第二数据块数量比较多,所以如果将第二缓存213中的所有第二数据块的数据特征标识都记录在所述第二缓存索引记录2153中,则会浪费存储空间,且会增加查表的时间,从而影响性能,所以本实施例中所述第二缓存的索引记录2153只维护预设时间段内的缓存至所述第二缓存213的数据块的数据块标识,比如10分钟之内,具体如图4A及4B所示,所述第二缓存的索引记录中所存储的第二数据块的特征标识(如An、An-1......An-6)以所述第二数据块缓存至所述第二缓存的时间为顺序排列,且每个第二数据块的特征标识都具有一个时间戳(如12:01、12:02......12:10),用于记录所述第二数据块的特征标识对应的第二数据块缓存至所述第二缓存213的时间,所述时间段可以是10分钟,如图4A所示,当有第二数据块a缓存至所述第二缓存213时,所述存储处理器211获取所述第二数据块的特征标识(An+1),并将所获取的数据标识添加至所述第二缓存索引记录2153中的表头位置,同时加入时间戳(12:00),并启动计时。如图4B所示,若当前的时间是12:10,所述第二数据块b的特征标识(An-6)在所述第二缓存索引记录2153中的时间达到预设时间段(10分钟),则从所述第二缓存索引记录2153中删除。The data block identifiers stored in the second
在这种情况下,缓存在所述第二缓存中的数据才会记录在所述第二缓存索引记录中,则当所述第二缓存索引记录2153中记录有与所述第一数据块的特征标识相同的特征标识时,则确定所述第一数据块存储在所述第二缓存213中。In this case, the data cached in the second cache will be recorded in the second cache index record, then when the second
第二缓存索引记录2153也可以是一个哈希(Hash)表,哈希表的key是所述第二数据块标识,Value是0或1,0表示数据特征标识对应的第二数据块不存在所述第二缓存213中,1表示所述数据特征标识对应的数据块存在所述索引记录内。当数据块标识添加至所述第二缓存213的索引记录时,将所述value值设为1,当所述特征标识对应的第二数据块从所述第二缓存中删除时,可将所述删除的数据块对应的特征标识的Value设置为0。The second
在这种情况下,在确定所述第一数据块是否存储在所述第二缓存213中时,首先查询所述第一数据块的特征标识是否记录在所述第二缓存索引记录2153中,当所述第一数据块的特征标识记录在所述第二缓存索引记录2153中时,确定对应的Value值,当Value值为1时,则确定所述第一数据块存储在所述第二缓存213中。In this case, when determining whether the first data block is stored in the
步骤S303,当确定所述第一数据块存储在所述第二缓存213中时,所述存储处理器211根据所述第一数据块的数据特征标识及地址表在所述第二缓存213中找到所述第一数据块,当确定所述第一数据块未存储在所述第二缓存213中时,返回步骤S301。Step S303, when it is determined that the first data block is stored in the
所述地址表中记录了缓存在所述第二缓存中的第二数据块的特征标识及存储地址。当有第二数据块缓存至所述第二缓存213时,所述存储处理器211获取所述第二数据块的数据特征标识,并建立所述第二数据块的数据特征标识与存储地址之间的映射关系,形成所述地址表。当所述第二缓存213中所缓存的第二数据块被淘汰时,所述存储处理器211获取所述第二数据块的数据块标识,然后将所述第二数据块标识对应的映射关系从所述地址表中删除,从而使所述地址表随着所述第二缓存213中所缓存数据块的变化而更新。The address table records the feature identifier and storage address of the second data block cached in the second cache. When a second data block is cached in the
步骤S304,当所述存储处理器211在所述第二缓存213中找到所述第一数据块后,将所述第一数据块在所述第二缓存213中的淘汰优先级的级别提高,可以是提高到最高级,也可以为提高到预设设定的优先级级别,如果提高到最高级,则所述第一数据块即可被从所述第二缓存213中删除。Step S304, after the
本实施例中,通过淘汰队列的方式设定各个第二数据块的淘汰顺序,所述淘汰队列可以是近期最少使用算法(Least Recently Used,LRU)队列,也可以是近期经常使用算法(least frequently used,LFU)队列,或者其他对缓存中的数据进行淘汰的算法队列。In this embodiment, the elimination order of each second data block is set by means of an elimination queue. The elimination queue may be a Least Recently Used (LRU) queue, or a recently frequently used algorithm (least frequently used algorithm). used, LFU) queue, or other algorithm queues that eliminate data in the cache.
如图5所示,若第一数据块a缓存至所述第一缓存212后,所述存储处理器211确定所述第一数据块a的特征标识为An+1,然后在所述第二缓存索引记录2153中找到所述特征标识An+1,再在所述地址表2154中获取所述特征标识An+1对应的数据a的地址,最后调整所述数据a在LRU队列中的位置至优先被淘汰的位置,所述优先被淘汰的位置可以是LRU队列的队尾,也可以是靠近对尾的位置。As shown in FIG. 5 , if the first data block a is cached in the
如图6所示,当所述第一触发条件为所述存储处理器211接收到所述应用服务器220发送的数据删除请求,所述第一缓存212与第二缓存212之间进行数据块协调的方法的流程图。As shown in FIG. 6 , when the first trigger condition is that the
步骤S601,所述存储处理器211接收到所述应用服务器220发送的第一数据块删除请求,根据所述删除请求中包含的第一数据块的地址,在所述第一缓存中找到所述第一数据块,并获取所述第一数据块的特征标识。Step S601, the
步骤S602,所述存储处理器211根据所述第一数据块的特征标识确定所述第一数据块是否存储在所述第二缓存213中。Step S602, the
步骤S603,当确定所述第一数据块存储存储在所述第二缓存213中时,所述存储处理器211根据所述第一数据块的特征标识及地址表2154在所述第二缓存213中找到所述第一数据块,当确定所述第一数据块未存储在所述第二缓存213中时,则不做任何操作,继续对所述第一缓存212中的数据情况进行侦测。Step S603, when it is determined that the first data block is stored in the
步骤S604,当所述存储处理器211在所述第二缓存213中找到所述第一数据块后,将所述第一数据块在所述第二缓存中的淘汰优先级的级别降低,可以是降低到最低级,也可以为降低到预设设定的优先级级别。Step S604, after the
如图7所示,若第一数据块f为根据数据删除请求确定从所述第一缓存212中删除的数据,所述存储处理器211确定组成所述第一数据的第一数据块(本实施例中所述第一数据只包括一个第一数据块)的数据特征标识An+1,然后在所述第二缓存索引记录2153中找到所述数据特征标识An+1,再在所述地址表2154中获取所述数据特征标识An+1对应的数据f的地址,最后调整所述数据f在LRU队列中的位置至优先被存储的位置,所述优先被存储的位置可以是LRU队列的队首,也可以是靠近对首的位置。As shown in FIG. 7 , if the first data block f is the data determined to be deleted from the
如图8所示,当所述第一触发条件为所述缓存在所述第一缓存212中的数据的时间超过一阈值时,所述第一缓存212与第二缓存212之间进行数据块协调的方法的流程图。As shown in FIG. 8 , when the first trigger condition is that the time of the data cached in the
步骤S801,所述存储处理器211在侦测到所述第一缓存中212所缓存的第一数据块超过阈值时,获取所述第一数据块的特征标识。Step S801, when the
步骤S802,所述存储处理器211根据所述第一数据块的特征标识确定所述第一数据块是否存储在所述第二缓存213中。Step S802, the
步骤S803,当确定所述第一数据块存储存储在所述第二缓存213中时,所述存储处理器211根据所述第一数据块的特征标识及地址表2154在所述第二缓存213中找到所述第一数据块,当确定所述第一数据块未存储在所述第二缓存213中时,返回步骤S301。Step S803, when it is determined that the first data block is stored in the
步骤S804,当所述存储处理器211在所述第二缓存213中找到所述第一数据块后,将所述第一数据块在所述第二缓存中的淘汰优先级的级别提高,可以是提高到最高级,也可以为提高到预设设定的优先级级别。Step S804, after the
如图9所示,若第一数据块d在第一缓存212中的数据超过一阈值时,所述存储处理器211确定所述第一数据块d的数据特征标识An,然后在所述第二缓存索引记录中找到所述数据特征标识An,再在所述地址表中获取所述数据特征标识An对应的数据块d的地址,最后调整所述数据d在LRU队列中的位置至优先被淘汰的位置,所述优先被淘汰的位置可以是LRU队列的队尾,也可以是靠近对尾的位置。As shown in FIG. 9 , if the data of the first data block d in the
以上为第一种情况下,即侦测所述第一缓存212中的所缓存数据的情况触发所述第一缓存212与第二缓存213的数据协调,下面将介绍第二种情况,即侦测所述第二缓存213中的所缓存数据的情况触发所述第一缓存212与第二缓存213的数据协调的方法。The above is the first case, that is, the detection of the cached data in the
在第二种情况下,所述第一缓存212与第二缓存213的数据协调在第二触发条件下触发,所述第二触发条件可以为:往所述第二缓存中缓存数据时;删除所述第二缓存中的数据时;或者所述第二缓存中的数据块在第二缓存中存储的时间超过了一阈值。下面分别对这二触发条件下,所述第一缓存及第二缓存的数据的协调方法进行说明。In the second case, the coordination of data in the
如图10所示,为所述第二触发条件为所述第二缓存中缓存数据时,所述第一缓存及第二缓存的数据的协调方法的流程图。As shown in FIG. 10 , it is a flowchart of a method for coordinating data in the first cache and the second cache when the second trigger condition is that data is cached in the second cache.
步骤S1001,所述存储处理器211根据数据缓存请求,缓存数据至所述第二缓存,所缓存的数据被划分为预定大小的至少一个第二数据块,然后获取所述第二数据块的特征标识。Step S1001, the
所述第二数据块的特征标识的获取方式与所述第一数据块的数据特征的获取方式相同,在此不再赘述。The manner of acquiring the feature identifier of the second data block is the same as the manner of acquiring the data feature of the first data block, and details are not described herein again.
步骤S1002,所述存储处理器211根据所述第二数据的特征标识确定所述第二数据是否存储在所述第一缓存中。Step S1002, the
本实施例中,所述内存215中还存储有第一缓存的索引记录2152,所述第一缓存索引记录2152包括所述第一缓存212中保存的至少一个第一数据块的数据特征标识,所述第一数据块的大小等于所述第二数据块的大小。In this embodiment, the memory 215 further stores an
如此,则可根据所述每个第二数据块的特征标识查询所述第一缓存的索引记录2152来确定所述每个第二数据块是否存储在所述第一缓存212中。In this way, the
所述第一缓存212的索引记录中所存储的数据块标识可以是所述第一缓存212所缓存的所有第一数据块的特征标识,也可以为部分第一数据块的特征标识。由于所述第一缓存212中所缓存的第一数据块数量比较多,所以如果将第一缓存212中的所有第一数据块的数据特征标识都存储在所述第一缓存索引记录中,则会浪费存储空间,且会增加查表的时间,从而影响性能,所以本实施例中所述第一缓存索引记录2153只维护预设时间段内的缓存至所述第一缓存212的第一数据块特征标识,比如10分钟之内。The data block identifiers stored in the index record of the
在这种情况下,缓存在所述第一缓存212中的数据才会记录在所述第一缓存索引记录2152中,则当所述第一缓存索引记录2152中记录有与所述第一数据块的特征标识相同的特征标识时,则确定所述第一数据块存储在所述第一缓存212中。In this case, the data cached in the
所述第一缓存索引记录2152也可以是一个哈希(Hash)表,哈希表的key是所述第一数据块标识,Value是0或1,0表示数据特征标识对应的第一数据块不存在所述第一缓存212中,1表示所述数据特征标识对应的数据块存在所述索引记录内。当第一数据块标识添加至所述第一缓存212的索引记录时,将所述value值设为1,当所述特征标识对应的第一数据块从所述第一缓存中删除时,可将所述删除的数据块对应的特征标识的Value设置为0。The first
在这种情况下,在确定所述第二数据块是否存储在所述第一缓存212中时,首先查询所述第一数据块的特征标识是否记录在所述第一缓存索引记录2152中,当所述第一数据块的特征标识记录在所述第一缓存索引记录2152中时,确定对应的Value值,当Value值为1时,则确定所述第一数据块存储在所述第一缓存212中。In this case, when determining whether the second data block is stored in the
步骤S1003,当所述存储处理器211根据所述第二数据的特征标识确定所述第二数据存储在所述第一缓存212中时,将所述第二数据在所述第二缓存213中的淘汰优先级的级别提高,所述提高可以是提高到最高级,也可以为预先设定的优先级级别。当所述存储处理器211确定所述第二数据未存储在所述第一缓存212中时,则不调整所述第二数据的优先级级别。Step S1003, when the
如图11所示,缓存至所述二缓存213的第二数据块a1的特征标识为Bn+1,查询所述第一缓存索引记录2152,在所述第一缓存索引记录2152中找到所述数据块a1的特征标识,则说明所述第二数据a1存储在所述第一缓存212中,则可将所述第二数据块a1调整到所述LRU队列的队尾位置,也可以调整到靠近对尾的位置。As shown in FIG. 11 , the feature identifier of the second data block a1 cached in the
如图12所示,当所述存储处理器211从所述第二缓存213中删除数据时,所述第一缓存212及第二缓存213的数据的协调方法的流程图。As shown in FIG. 12 , when the
步骤S1201,所述存储处理器211确定从所述第二缓存213中待删除的第二数据块后,获取所述第二数据块的特征标识。Step S1201: After determining the second data block to be deleted from the
步骤S1202,所述存储处理器211根据所述第二数据的特征标识确定所述第二数据块是否存储在所述第一缓存212中。Step S1202, the
步骤S1203,当所述存储处理器211确定所述第二数据存储在所述第一缓存212中时,则删除所述第二数据块。Step S1203, when the
步骤S1204,当所述存储处理器211确定所述第二数据没有存储在所述第一缓存212中时,则将所述第二数据在所述第二缓存213中的淘汰优先级的级别提高,所述提高可以是提高到最高级,也可以为预先设定的优先级级别。但是当所述待删除的数据块再次被选中为待删除的数据块时,则直接删除所述待删除的第二数据块。Step S1204, when the
如图13所示,第二数据块f1为所确定的从所述第二缓存中待删除的数据块,所获取的所述第二数据块f1的特征标识为Bn-3,所述特征标识Bn-3没有记录在所述第一缓存索引记录中,则说明所述第二数据块可能没有存储在所述第一缓存中,则将所述第二数据块f1调整至所述第二缓存213中的LRU队列的队首位置,或者靠近队首的位置。As shown in FIG. 13 , the second data block f1 is the determined data block to be deleted from the second cache, the acquired feature identifier of the second data block f1 is Bn-3, and the feature identifier If Bn-3 is not recorded in the first cache index record, it means that the second data block may not be stored in the first cache, and the second data block f1 is adjusted to the second cache The head position of the LRU queue in 213, or a position close to the head of the line.
如图14所示,当所述第二缓存中的第二数据块在第二缓存中存储的时间超过了一阈值时,所述第一缓存及第二缓存的数据的协调方法的流程图。As shown in FIG. 14 , when the time that the second data block in the second cache is stored in the second cache exceeds a threshold, a flowchart of a method for coordinating data in the first cache and the second cache.
步骤S1401,当确定所述第二缓存中的第二数据块在第二缓存中存储的时间超过了一阈值时,获取所述第二数据块的特征标识。Step S1401, when it is determined that the storage time of the second data block in the second cache in the second cache exceeds a threshold, acquire the feature identifier of the second data block.
步骤S1402,所述存储处理器211根据所述第二数据的特征标识确定所述第二数据是否存储在所述第一缓存中。Step S1402, the
步骤S1403,当所述存储处理器211确定所述第二数据存储在所述第一缓存212中时,则将所述第二数据在所述第二缓存213中的淘汰优先级的级别提高。Step S1403 , when the
步骤S1404,当所述存储处理器211确定所述第二数据没有存储在所述第一缓存212中时,则将所述第二数据在所述第二缓存213中的淘汰优先级的级别降低。Step S1404, when the
如图15所示,当所述第二数据块c1在所述第二缓存中所缓存的时间超过阈值时,则确定所述第二数据块c1的特征标识Bn是否记录在所述第一缓存索引记录中,当所述第二数据块c1的特征标识记录在所述第一缓存索引记录2152中时,将所述第二数据块c1调整至所述LRU队列的队尾,或者靠近队尾的位置。As shown in FIG. 15 , when the time that the second data block c1 is cached in the second cache exceeds a threshold, it is determined whether the feature identifier Bn of the second data block c1 is recorded in the first cache In the index record, when the feature identifier of the second data block c1 is recorded in the first
当所述第二数据块d1在所述第二缓存213中所缓存的时间超过阈值时,则确定所述第二数据块d1的特征标识Bn-3是否记录在所述第一缓存索引记录中,当所述第二数据块d1的特征标识没有记录在所述第一索引记录中时,将所述第二数据块d1调整至所述LRU队列的队首,或者靠近队首的位置。When the time that the second data block d1 is cached in the
在本发明的其他实施例中,所述应用服务器可以为电子装置中的应用软件,所述应用缓存为所述应用软件提供数据缓存,所述存储服务器为电子装置的存储装置,为所述应用软件提供存储服务。In other embodiments of the present invention, the application server may be application software in an electronic device, the application cache provides a data cache for the application software, and the storage server is a storage device of the electronic device for the application The software provides storage services.
如图16所示,为本发明实施例提供存储控制装置的结构图。As shown in FIG. 16 , a structural diagram of a storage control apparatus is provided for an embodiment of the present invention.
所述存储控制装置包括第一监测单元1601、第一获取单元1602、第一确定单元1603及第一调整单元1604。The storage control device includes a
所述第一监测单元1601用于侦测所述第一缓存212中的所缓存数据的情况,以触发所述第一缓存212与第二缓存213的数据协调。所述所述第一缓存212与第二缓存213的数据协调有三种触发条件,分别为:所述第一监测单元1601接收到所述应用服务器220发送的数据缓存请求,并根据所述数据缓存请求将所述数据缓存请求中包含的第一数据缓存至所述第一缓存212;所述第一监测单元1601接收到所述应用服务器220发送的数据删除请求;所述第一监测单元1601侦测缓存在所述第一缓存中的数据的时间超过预设阈值。The
当所述第一监测单元1601接收到所述应用服务器220发送的数据缓存请求,并根据所述数据缓存请求将所述数据缓存请求中包含的第一数据缓存至所述第一缓存212后,所述获取单元1602获取组成所述第一数据的第一数据块的特征标识,所述第一数据块的特征标识的获取方式前面已经介绍过,这里不再赘述。When the
所述确定单元1603根据所述第一数据的特征标识确定数所述第一据是否存储在所述第二缓存中。即所述确定单元1603根据所述每个第一数据块的数据特征标识查询所述第二缓存的索引记录来确定所述每个第一数据块是否存储在所述第二缓存213中。当所述第二缓存的索引记录中存在与所述第一数据块的数据特征标识相同的第二数据块索引记录时,则确定所述第一数据块存储在所述第二缓存213中。The determining
当所述确定单元1603确定所述第一数据块存储在所述第二缓存213中时,所述调整单元1604根据所述第一数据块的特征标识及地址表在所述第二缓存213中找到所述第一数据块,然后将所述第一数据块在所述第二缓存中的淘汰优先级的级别降低,可以是降低到最低级,也可以为降低到预设设定的优先级级别。When the determining
当所述第一监测单元1601在侦测到所述第一缓存中212所缓存的第一数据块的超过易阈值时,获取所述第一数据块的特征标识。When the
所述确定单元1603根据所述第一数据的特征标识确定数所述第一据是否存储在所述第二缓存中。The determining
所述调整单元1604根据所述第一数据块的特征标识及地址表在所述第二缓存213中找到所述第一数据块,将所述第一数据块在所述第二缓存中的淘汰优先级的级别提高,可以是提高到最高级,也可以为提高到预设设定的优先级级别。The
如图17所示,所述存储控制装置进一步还包括第二监测单元1605,第二获取单元1606、第二确定单元1607及第二调整单元1608。As shown in FIG. 17 , the storage control device further includes a
所述第二监测单元1605用于侦测所述第二缓存的数据情况,以触发所述第一缓存及所述第二缓存所缓存数据的协调。所述第一缓存212与第二缓存213的数据协调有三种触发条件,分别为往所述第二缓存中缓存数据时;删除所述第二缓存中的数据时;或者所述第二缓存中的数据块在第二缓存中存储的时间超过了一阈值。The
当所述第二监测单元1605侦测数据缓存至所述第二缓存,且所缓存的数据被划分为预定大小的至少一个第二数据块后,获取所述第二数据块的特征标识。After the
所述第二确定单元1603用于据所述第二数据的特征标识确定所述第二数据是否存储在所述第一缓存中。所述确定单元1602根据所述第二数据块的特征标识查询所述第一缓存的索引记录来确定所述每个第二数据块是否存储在所述第一缓存212中。当所述第一缓存的索引记录中存在与所述第二数据块的特征标识相同的第二数据块索引记录时,则确定所述第二数据块存储在所述第一缓存213中。The second determining
当所述第二确定单元1603定所述第二数据存储在所述第一缓存212中时,所述调整单元1604用于将所述第二数据在所述第二缓存213中的淘汰优先级的级别提高,所述提高可以是提高到最高级,也可以为预先设定的优先级级别。当所述存储处理器211确定所述第二数据未存储在所述第一缓存212中时,则不调整所述第二数据的优先级级别。When the second determining
当所述第二监测单元1605到从所述第二缓存213中待删除的第二数据块后,获取所述第二数据块的特征标识。After the
所述第二确定单元1605根据所述第二数据的特征标识确定所述第二数据是否存储在所述第一缓存中。The second determining
当所述第二确定单元1605确定所述第二数据存储在所述第一缓存中时,所述第二调整单元删除所述第二数据块,当所述第二确定单元1605确定所述第二数据没有存储在所述第一缓存中时,所述第二调整单元将所述第二数据在所述第二缓存213中的淘汰优先级的级别提高。When the second determining
当所述第二监测单元1605侦测到从所述第二缓存213中待删除的第二数据块后,所述第二获取单元1606获取所述第二数据块的特征标识。After the
所述第二确定单元1607根据所述第二数据的特征标识确定所述第二数据是否存储在所述第一缓存中。The second determining
当所述第二确定单元1605确定所述第二数据存储在所述第一缓存中时,所述调整单元1608删除所述第二数据块。当所述第二确定单元1605确定所述第二数据存储在所述第一缓存中时,则将所述调整单元将所述第二数据在所述第二缓存213中的淘汰优先级的级别提高。When the second determining
当所述第二监测单元1605侦测到所述第二缓存中的第二数据块在第二缓存中存储的时间超过了一阈值时,所述第二获取单元1606获取所述第二数据块的特征标识。When the
所述第二确定单元1606根据所述第二数据的特征标识确定所述第二数据是否存储在所述第一缓存中。The second determining
当所述第二确定单元1605确定所述第二数据存储在所述第一缓存中时,则所述调整单元1608将所述第二数据在所述第二缓存213中的淘汰优先级的级别提高。当所述第二确定单元1605确定所述第二数据没有存储在所述第一缓存中时,则所述调整单元1608将所述第二数据在所述第二缓存213中的淘汰优先级的级别降低。When the second determining
本发明实施例还提供一种计算机可读介质,包括计算机执行指令,当计算机的处理器执行所述计算机执行指令时,所述计算机执行图3、图6、图8、图10、图12、及图14所述的方法流程。An embodiment of the present invention further provides a computer-readable medium, including computer-executable instructions. When a processor of a computer executes the computer-executable instructions, the computer executes FIG. 3 , FIG. 6 , FIG. 8 , FIG. 10 , FIG. 12 , and the method flow described in FIG. 14 .
本发明实施例中的第一数据块,第二数据块中的第一、第二只是用于区别第一缓存和第二缓存中分别存储的数据块,第一、第二并没有包含级别不同、顺序不同的意思,也没有包含数量的涵义,第一数据块和第二数据块都可以是一个数据块,也都可以指代多个数据块。The first data block in the embodiment of the present invention, the first and the second in the second data block are only used to distinguish the data blocks stored in the first cache and the second cache respectively, and the first and the second do not contain different levels. 、 The meaning of the order is different, and it does not contain the meaning of quantity. Both the first data block and the second data block can be one data block, and can also refer to multiple data blocks.
本发明实施例中的第一触发条件和第二触发条件中的第一、第二只是用于区别侦测的是第一缓存中的数据还是第二缓存中的数据,第一、第二并没有包含级别不同、顺序不同的意思,也没有包含数量的涵义。The first and second of the first trigger condition and the second trigger condition in the embodiment of the present invention are only used to distinguish whether the data in the first cache or the data in the second cache is detected. It does not include the meaning of a different level, a different order, nor the meaning of a quantity.
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。Those of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing relevant hardware through a program, and the program can be stored in a computer-readable storage medium, and the storage medium can include: ROM, RAM, magnetic disk or optical disk, etc.
以上对本发明实施例所提供的数据块写入装置及方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。The data block writing device and method provided by the embodiments of the present invention have been described in detail above. The principles and implementations of the present invention are described with specific examples in this paper. The descriptions of the above embodiments are only used to help understand the present invention. At the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in the specific implementation and application scope. In summary, the content of this specification should not be construed as Limitations of the present invention.
Claims (19)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010981446.2A CN112214420B (en) | 2015-12-01 | 2015-12-01 | Data caching method, storage control device and storage equipment |
CN202010983144.9A CN112231242B (en) | 2015-12-01 | 2015-12-01 | Data caching method, storage control device and storage equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/096176 WO2017091984A1 (en) | 2015-12-01 | 2015-12-01 | Data caching method, storage control apparatus and storage device |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010981446.2A Division CN112214420B (en) | 2015-12-01 | 2015-12-01 | Data caching method, storage control device and storage equipment |
CN202010983144.9A Division CN112231242B (en) | 2015-12-01 | 2015-12-01 | Data caching method, storage control device and storage equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107430551A CN107430551A (en) | 2017-12-01 |
CN107430551B true CN107430551B (en) | 2020-10-23 |
Family
ID=58796064
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010981446.2A Active CN112214420B (en) | 2015-12-01 | 2015-12-01 | Data caching method, storage control device and storage equipment |
CN202010983144.9A Active CN112231242B (en) | 2015-12-01 | 2015-12-01 | Data caching method, storage control device and storage equipment |
CN201580054160.7A Active CN107430551B (en) | 2015-12-01 | 2015-12-01 | Data caching method, storage control device and storage equipment |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010981446.2A Active CN112214420B (en) | 2015-12-01 | 2015-12-01 | Data caching method, storage control device and storage equipment |
CN202010983144.9A Active CN112231242B (en) | 2015-12-01 | 2015-12-01 | Data caching method, storage control device and storage equipment |
Country Status (2)
Country | Link |
---|---|
CN (3) | CN112214420B (en) |
WO (1) | WO2017091984A1 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240946B (en) * | 2018-09-06 | 2024-09-13 | 平安科技(深圳)有限公司 | Multi-level caching method of data and terminal equipment |
CN109144431B (en) * | 2018-09-30 | 2021-11-02 | 华中科技大学 | Data block caching method, device, device and storage medium |
CN111400203A (en) * | 2019-01-02 | 2020-07-10 | 钜泉光电科技(上海)股份有限公司 | System architecture, memory mapping establishing method and releasing method, and chip design method |
CN110971962B (en) * | 2019-11-30 | 2022-03-22 | 咪咕视讯科技有限公司 | Slice caching method and device and storage medium |
CN113254893B (en) * | 2020-02-13 | 2023-09-19 | 百度在线网络技术(北京)有限公司 | Identity verification method and device, electronic equipment and storage medium |
CN111339143B (en) * | 2020-02-27 | 2023-04-25 | 郑州阿帕斯数云信息科技有限公司 | Data caching method and device and cloud server |
CN112035529B (en) * | 2020-09-11 | 2024-07-02 | 北京字跳网络技术有限公司 | Caching method, caching device, electronic equipment and computer readable storage medium |
CN113098973B (en) * | 2021-04-13 | 2022-05-20 | 鹏城实验室 | Data transmission method, system, storage medium and terminal device in packet-level network |
CN116467353B (en) * | 2023-06-12 | 2023-10-10 | 天翼云科技有限公司 | A cache method and system based on LRU differentiation adaptive adjustment |
CN117149836B (en) * | 2023-10-27 | 2024-02-27 | 联通在线信息科技有限公司 | Cache processing method and device |
CN118277435B (en) * | 2024-06-03 | 2024-09-06 | 北京鼎泰智源科技有限公司 | Query interface data processing system |
CN118733490B (en) * | 2024-06-05 | 2024-12-24 | 浙江睿兆芯半导体科技有限公司 | A data storage system with multi-segment cache function |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5224217A (en) * | 1988-12-30 | 1993-06-29 | Saied Zangenehpour | Computer system which uses a least-recently-used algorithm for manipulating data tags when performing cache replacement |
CN1679004A (en) * | 2002-07-04 | 2005-10-05 | 索尼株式会社 | Cache device, cache data management method, and computer program |
CN103019962A (en) * | 2012-12-21 | 2013-04-03 | 华为技术有限公司 | Data cache processing method, device and system |
CN103491075A (en) * | 2013-09-09 | 2014-01-01 | 中国科学院计算机网络信息中心 | Method and system for dynamically adjusting cached resource records of DNS recursive server |
CN104106061A (en) * | 2012-02-08 | 2014-10-15 | 国际商业机器公司 | Forward progress mechanism for stores in the presence of load contention in a system favoring loads |
CN104572528A (en) * | 2015-01-27 | 2015-04-29 | 东南大学 | Method and system for processing access requests by second-level Cache |
KR20150079413A (en) * | 2013-12-31 | 2015-07-08 | 삼성전자주식회사 | Cache replacement policy methods and systems |
CN104994152A (en) * | 2015-06-30 | 2015-10-21 | 中国科学院计算技术研究所 | Web cooperative caching system and method |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003006003A (en) * | 2001-06-18 | 2003-01-10 | Mitsubishi Electric Corp | Dma controller and semiconductor integrated circuit |
US20140115260A1 (en) * | 2012-10-18 | 2014-04-24 | Oracle International Corporation | System and method for prioritizing data in a cache |
CN102945207A (en) * | 2012-10-26 | 2013-02-27 | 浪潮(北京)电子信息产业有限公司 | Cache management method and system for block-level data |
CN103268292B (en) * | 2013-06-13 | 2016-02-10 | 江苏大学 | A kind of method and long-lived outer deposit system of high speed extending the non-volatile external memory life-span |
JP6027504B2 (en) * | 2013-08-02 | 2016-11-16 | 日本電信電話株式会社 | Application server and cache control method |
US9378151B2 (en) * | 2013-08-05 | 2016-06-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method of hinted cache data removal |
KR102147356B1 (en) * | 2013-09-30 | 2020-08-24 | 삼성전자 주식회사 | Cache memory system and operating method for the same |
CN104090852B (en) * | 2014-07-03 | 2017-04-05 | 华为技术有限公司 | The method and apparatus of management hybrid cache |
CN104239233B (en) * | 2014-09-19 | 2017-11-24 | 华为技术有限公司 | Buffer memory management method, cache management device and caching management equipment |
CN104572491B (en) * | 2014-12-30 | 2017-10-17 | 华为技术有限公司 | A kind of read buffer management method and device based on solid state hard disc |
-
2015
- 2015-12-01 CN CN202010981446.2A patent/CN112214420B/en active Active
- 2015-12-01 CN CN202010983144.9A patent/CN112231242B/en active Active
- 2015-12-01 CN CN201580054160.7A patent/CN107430551B/en active Active
- 2015-12-01 WO PCT/CN2015/096176 patent/WO2017091984A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5224217A (en) * | 1988-12-30 | 1993-06-29 | Saied Zangenehpour | Computer system which uses a least-recently-used algorithm for manipulating data tags when performing cache replacement |
CN1679004A (en) * | 2002-07-04 | 2005-10-05 | 索尼株式会社 | Cache device, cache data management method, and computer program |
CN104106061A (en) * | 2012-02-08 | 2014-10-15 | 国际商业机器公司 | Forward progress mechanism for stores in the presence of load contention in a system favoring loads |
CN103019962A (en) * | 2012-12-21 | 2013-04-03 | 华为技术有限公司 | Data cache processing method, device and system |
CN103491075A (en) * | 2013-09-09 | 2014-01-01 | 中国科学院计算机网络信息中心 | Method and system for dynamically adjusting cached resource records of DNS recursive server |
KR20150079413A (en) * | 2013-12-31 | 2015-07-08 | 삼성전자주식회사 | Cache replacement policy methods and systems |
CN104572528A (en) * | 2015-01-27 | 2015-04-29 | 东南大学 | Method and system for processing access requests by second-level Cache |
CN104994152A (en) * | 2015-06-30 | 2015-10-21 | 中国科学院计算技术研究所 | Web cooperative caching system and method |
Non-Patent Citations (2)
Title |
---|
PSC: a priority selected cache algorithm for streaming video over Internet;Shin-Hung Chang等;《The 11th IEEE International Conference on Networks, 2003. ICON2003.》;IEEE;20040226;第191-196页 * |
实时数据库系统关键技术及实现;叶建位等;《计算机应用研究》;20050331(第3期);第45-47页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112214420B (en) | 2024-11-29 |
CN112231242B (en) | 2024-11-29 |
CN112231242A (en) | 2021-01-15 |
CN107430551A (en) | 2017-12-01 |
WO2017091984A1 (en) | 2017-06-08 |
CN112214420A (en) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107430551B (en) | Data caching method, storage control device and storage equipment | |
US10133679B2 (en) | Read cache management method and apparatus based on solid state drive | |
US10380035B2 (en) | Using an access increment number to control a duration during which tracks remain in cache | |
JP6613375B2 (en) | Profiling cache replacement | |
US8463846B2 (en) | File bundling for cache servers of content delivery networks | |
US9779027B2 (en) | Apparatus, system and method for managing a level-two cache of a storage appliance | |
CN108920387B (en) | Method and device for reducing read delay, computer equipment and storage medium | |
JP6106028B2 (en) | Server and cache control method | |
US9727479B1 (en) | Compressing portions of a buffer cache using an LRU queue | |
CN106527988A (en) | SSD (Solid State Drive) data migration method and device | |
US11809330B2 (en) | Information processing apparatus and method | |
CN102737068B (en) | A kind of method and apparatus for being used to carry out retrieval data cache management | |
CN110147331A (en) | Caching data processing method, system and readable storage medium storing program for executing | |
CN109002503A (en) | A kind of metadata read method, device, equipment and readable storage medium storing program for executing | |
WO2020063355A1 (en) | Method and device for buffering data blocks, computer device, and computer-readable storage medium | |
CN108959500A (en) | A kind of object storage method, device, equipment and computer readable storage medium | |
CN109002400B (en) | Content-aware computer cache management system and method | |
US9851925B2 (en) | Data allocation control apparatus and data allocation control method | |
CN108664217A (en) | A kind of caching method and system reducing the shake of solid-state disc storaging system write performance | |
CN101241501A (en) | A File System Construction Method Applicable to Caching Proxy Server Architecture | |
US20210141738A1 (en) | Method and Apparatus for Characterizing Workload Sequentiality for Cache Policy Optimization | |
CN110658999A (en) | Information updating method, device, equipment and computer readable storage medium | |
CN112445794B (en) | Caching method of big data system | |
CN108984432B (en) | Method and device for processing IO (input/output) request | |
CN108287667A (en) | A kind of method and its device accessing data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |