WO2023015778A1 - 一种内核客户端的预读方法、系统及计算机可读存储介质 - Google Patents
一种内核客户端的预读方法、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- WO2023015778A1 WO2023015778A1 PCT/CN2021/134337 CN2021134337W WO2023015778A1 WO 2023015778 A1 WO2023015778 A1 WO 2023015778A1 CN 2021134337 W CN2021134337 W CN 2021134337W WO 2023015778 A1 WO2023015778 A1 WO 2023015778A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- read
- file
- reading
- offset
- linked list
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Definitions
- the present application relates to the field of computer technology, and in particular to a kernel client pre-reading method, system and computer-readable storage medium.
- Kernel pre-reading is to read a certain amount of pages in order after the read request is completed, so that the next read request can directly read the target content in the cache.
- the kernel client Read-ahead stops invalidating when random reads are recognized.
- the application proposes a pre-reading method, system and computer-readable storage medium of a kernel client, which improves the pre-read mechanism of the kernel client, realizes non-sequential pre-reading of the kernel client, and improves the readability of the kernel client.
- File performance and can adapt to various forms of file reading business, improving the cache hit rate of non-sequential read-ahead.
- an aspect of the embodiment of the present application provides a pre-reading method of a kernel client, which specifically includes the following steps:
- each linked list node in the linked list includes a read offset
- a read-ahead is performed based on the linked list.
- the method also includes:
- the file does not include the reading rules of the file, it is judged whether to repeatedly read the file, and based on the judgment result, the number of read requests and the corresponding read offset of the file are obtained, and based on The number of read requests and the corresponding read offset generate a map route, and store the map route in the linked list.
- the number of read requests and the corresponding read offset of the file are obtained, and based on the number of read requests and the The corresponding read offset generates a map route, including:
- the number of read requests and the corresponding read offset when the file is read for the first time are obtained, and when the file is repeatedly read, based on the read request The number of times is to calculate the difference of the corresponding read offset, if the error of the calculation result is less than the preset amount of pages, then generate according to the corresponding read offset whose error of the calculation result is less than the preset amount The map route.
- the number of read requests and the corresponding read offset of the file are obtained, and based on the number of read requests and the The corresponding read offset generates a map route, including:
- the file is not repeatedly read, obtain the preset number of read requests of the file and the corresponding read offset each time, and based on the preset number of read requests and the corresponding The read offset is statistically calculated to generate the map route.
- statistical calculation is performed based on the preset number of read requests and the corresponding read offset to generate the map route, including:
- a map route is generated according to the request times of the unread part of the file and the average value of the read request offset.
- receiving a read request for the file and judging whether the read of the file is continuous further includes: recording the discontinuous times of reading the file.
- reading the file discontinuously includes: the discontinuous number of times reaches a preset number of times.
- each linked list node in the linked list also includes a read offset to be read next time
- Performing read-ahead based on the linked list includes: reading a read offset of the file to be read next time into a page cache based on the linked list, so as to perform read-ahead for non-sequentially read files.
- Another aspect of the embodiment of the present application also provides a pre-reading system of the kernel client, the system includes:
- a receiving module configured to receive a read request for the file and judge whether the reading of the file is continuous;
- a building module the building module is configured to generate the head node of the file inode if the reading of the file is discontinuous, and build a linked list embedded in the head node, each linked list node in the linked list includes read offset;
- a generating module the generating module is configured to determine whether the file includes a reading rule of the file, and if the file includes the reading rule of the file, then based on the reading rule, obtain the reading request of the file The number of times and each corresponding read offset, and generate a map route based on the read request times and the corresponding read offset, and store the map route in the linked list;
- An execution module configured to execute read-ahead based on the linked list.
- system also includes a second generation module, the second generation module is configured to:
- the file does not include the reading rules of the file, it is judged whether to repeatedly read the file, and based on the judgment result, the number of read requests and the corresponding read offset of the file are obtained, and based on The number of read requests and the corresponding read offset generate a map route, and store the map route in the linked list.
- the number of read requests and the corresponding read offset of the file are obtained, and based on the number of read requests and the The corresponding read offset generates a map route, including:
- the number of read requests and the corresponding read offset when the file is read for the first time are obtained, and when the file is repeatedly read, based on the read request The number of times is to calculate the difference of the corresponding read offset, if the error of the calculation result is less than the preset amount of pages, then generate according to the corresponding read offset whose error of the calculation result is less than the preset amount The map route.
- the number of read requests and the corresponding read offset of the file are obtained, and based on the number of read requests and the The corresponding read offset generates a map route, including:
- the file is not repeatedly read, obtain the preset number of read requests of the file and the corresponding read offset each time, and based on the preset number of read requests and the corresponding The read offset is statistically calculated to generate the map route.
- statistical calculation is performed based on the preset number of read requests and the corresponding read offset to generate the map route, including:
- a map route is generated according to the request times of the unread part of the file and the average value of the read request offset.
- receiving a read request for the file and judging whether the read of the file is continuous further includes: recording the discontinuous times of reading the file.
- reading the file discontinuously includes: the discontinuous number of times reaches a preset number of times.
- each linked list node in the linked list also includes a read offset to be read next time
- Performing read-ahead based on the linked list includes: reading a read offset of the file to be read next time into a page cache based on the linked list, so as to perform read-ahead for non-sequentially read files.
- a computer-readable storage medium stores a computer program for implementing the above method steps when executed by a processor.
- This application has the following beneficial technical effects: through the scheme of this application, the pre-reading mechanism of the kernel client is improved, the non-sequential pre-reading of the kernel client is realized, the file reading performance of the kernel client is improved, and it can adapt to various forms of reading
- the file fetching service improves the cache hit rate of non-sequential read-ahead.
- Fig. 1 is the block diagram of an embodiment of the reading method of kernel client provided by the present application
- Fig. 2 is the schematic diagram of an embodiment of the reading system of the kernel client of the present application
- FIG. 3 is a schematic structural diagram of an embodiment of a computer-readable storage medium provided by the present application.
- the first aspect of the embodiments of the present application proposes an embodiment of a pre-reading method for a kernel client. As shown in Figure 1, it includes the following steps:
- Step 101 receiving a request for reading the file and judging whether the reading of the file is continuous;
- Step 103 if the reading of the file is discontinuous, then generate the head node of the file inode, and build a linked list embedded in the head node, each linked list node in the linked list includes a read offset;
- Step 105 Determine whether the file includes the reading rules of the file. If the file includes the reading rules of the file, then based on the reading rules, obtain the number of reading requests of the file and each corresponding Read the offset, and generate a map route based on the number of read requests and the corresponding read offset, and store the map route in the linked list;
- Step 107 perform pre-reading based on the linked list.
- the head node list_head of the file inode defines the structure variable ra_map, and include the read offset and embedded header in the structure variable ra_map
- the linked list of points, and the linked list is connected by the head node.
- each linked list node of the linked list includes: read offset, read offset to be read next time, read offset of last read Shift; determine whether there are known file reading rules and algorithms for the file, and if so, generate the number of read requests for the corresponding file and the corresponding offset for each time, and based on the number of read requests for the corresponding file and each The second corresponding offset generates a map route, stores the map route in a linked list, and performs pre-reading based on the linked list.
- the pre-reading mechanism of the kernel client is improved, the non-sequential pre-reading of the kernel client is realized, the file reading performance of the kernel client is improved, and it can adapt to various forms of file reading services, improving the non-sequential Read-ahead cache hit ratio.
- the method also includes:
- the file does not include the reading rules of the file, it is judged whether to repeatedly read the file, and based on the judgment result, the number of read requests and the corresponding read offset of the file are obtained, and based on The number of read requests and the corresponding read offset generate a map route, and store the map route in the linked list.
- the number of read requests and the corresponding read offset of the file are obtained, and based on the number of read requests and the The corresponding read offset generates a map route, including:
- the number of read requests and the corresponding read offset when the file is read for the first time are obtained, and when the file is repeatedly read, based on the read request The number of times is to calculate the difference of the corresponding read offset, if the error of the calculation result is less than the preset amount of pages, then generate according to the corresponding read offset whose error of the calculation result is less than the preset amount The map route.
- the file has 1000 pages, when the file is read for the first time, it is read 5 times in total, and the ratio of the number of read requests and the read offset
- the relationship is: read request times 1: read offset 200, read request times 2: read offset 300, read request times 3: read offset 100, read request times 1: read Offset 100, number of read requests 1: read offset 400, and then read the file repeatedly, take the first five read offsets, respectively, and read the offset for the first read If the absolute value of the difference is less than the preset number of pages, such as 30, then the read offset of the read request that is less than 30 will be used as the map route when the file is repeatedly read in the future.
- the read rate of the kernel client and the cache hit rate of repeatedly read files are improved.
- the number of read requests and the corresponding read offset of the file are obtained, and based on the number of read requests and the The corresponding read offset generates a map route, including:
- the file is not repeatedly read, obtain the preset number of read requests of the file and the corresponding read offset each time, and based on the preset number of read requests and the corresponding The read offset is statistically calculated to generate the map route.
- statistical calculation is performed based on the preset number of read requests and the corresponding read offset to generate the map route, including:
- a map route is generated according to the request times of the unread part of the file and the average value of the read request offset.
- the reading status of the file is counted.
- the relationship of taking the offset is: read request times 1: read offset 70, read request times 2: read offset 50, read request times 3: read offset 60, calculate the read request
- the average value of the offset is 60
- the size of the unread part of the calculated file is 820
- the average value of the read request offset is used as the read offset of the unread part of the file
- the average number of remaining read requests is calculated as 820 as the file
- For the unread part use the number of requests 14 and the average value of the read request offset 60 as the number of read requests and the read offset of the unread part of the file, and generate a map route based on this.
- the read rate of the kernel client and the cache hit rate of repeatedly read files are improved.
- receiving a read request for the file and judging whether the read of the file is continuous further includes: recording the discontinuous times of reading the file.
- reading the file discontinuously includes: the discontinuous number of times reaches a preset number of times.
- each linked list node in the linked list also includes a read offset to be read next time
- Performing read-ahead based on the linked list includes: reading a read offset of the file to be read next time into a page cache based on the linked list, so as to perform read-ahead for non-sequentially read files.
- the embodiment of the present application also provides a kernel client pre-reading system, the system includes:
- Receiving module 110 described receiving module 110 is configured to receive the read request to file and judge whether to read continuously to file;
- Construction module 120 the construction module 120 is configured to if the reading of the file is discontinuous, then generate the head node of the file inode, and build a linked list embedded in the head node, each linked list in the linked list Node includes read offset;
- a generating module 130 the generating module 130 is configured to determine whether the file includes a reading rule of the file, and if the file includes the reading rule of the file, based on the reading rule, obtain the reading rule of the file. Get the number of requests and each corresponding read offset, and generate a map route based on the number of read requests and the corresponding read offset, and store the map route in the linked list;
- An execution module 140 configured to execute read-ahead based on the linked list.
- system also includes a second generation module, the second generation module is configured to:
- the file does not include the reading rules of the file, it is judged whether to repeatedly read the file, and based on the judgment result, the number of read requests and the corresponding read offset of the file are obtained, and based on The number of read requests and the corresponding read offset generate a map route, and store the map route in the linked list.
- the number of read requests and the corresponding read offset of the file are obtained, and based on the number of read requests and the The corresponding read offset generates a map route, including:
- the number of read requests and the corresponding read offset when the file is read for the first time are obtained, and when the file is repeatedly read, based on the read request The number of times is to calculate the difference of the corresponding read offset, if the error of the calculation result is less than the preset amount of pages, then generate according to the corresponding read offset whose error of the calculation result is less than the preset amount The map route.
- the number of read requests and the corresponding read offset of the file are obtained, and based on the number of read requests and the The corresponding read offset generates a map route, including:
- the file is not repeatedly read, obtain the preset number of read requests of the file and the corresponding read offset each time, and based on the preset number of read requests and the corresponding The read offset is statistically calculated to generate the map route.
- statistical calculation is performed based on the preset number of read requests and the corresponding read offset to generate the map route, including:
- a map route is generated according to the request times of the unread part of the file and the average value of the read request offset.
- receiving a read request for the file and judging whether the read of the file is continuous further includes: recording the discontinuous times of reading the file.
- reading the file discontinuously includes: the discontinuous number of times reaches a preset number of times.
- each linked list node in the linked list also includes a read offset to be read next time
- Performing read-ahead based on the linked list includes: reading a read offset of the file to be read next time into a page cache based on the linked list, so as to perform read-ahead for non-sequentially read files.
- the embodiment of the present application also provides a computer-readable storage medium 30.
- the computer-readable storage medium 30 stores the A computer program 310 of the following method:
- each linked list node in the linked list includes a read offset
- a read-ahead is performed based on the linked list.
- the method also includes:
- the file does not include the reading rules of the file, it is judged whether to repeatedly read the file, and based on the judgment result, the number of read requests and the corresponding read offset of the file are obtained, and based on The number of read requests and the corresponding read offset generate a map route, and store the map route in the linked list.
- the number of read requests and the corresponding read offset of the file are obtained, and based on the number of read requests and the The corresponding read offset generates a map route, including:
- the number of read requests and the corresponding read offset when the file is read for the first time are obtained, and when the file is repeatedly read, based on the read request The number of times is to calculate the difference of the corresponding read offset, if the error of the calculation result is less than the preset amount of pages, then generate according to the corresponding read offset whose error of the calculation result is less than the preset amount The map route.
- the number of read requests and the corresponding read offset of the file are obtained, and based on the number of read requests and the The corresponding read offset generates a map route, including:
- the file is not repeatedly read, obtain the preset number of read requests of the file and the corresponding read offset each time, and based on the preset number of read requests and the corresponding The read offset is statistically calculated to generate the map route.
- statistical calculation is performed based on the preset number of read requests and the corresponding read offset to generate the map route, including:
- a map route is generated according to the request times of the unread part of the file and the average value of the read request offset.
- receiving a read request for the file and judging whether the read of the file is continuous further includes: recording the discontinuous times of reading the file.
- reading the file discontinuously includes: the discontinuous number of times reaches a preset number of times.
- each linked list node in the linked list also includes a read offset to be read next time
- Performing read-ahead based on the linked list includes: reading a read offset of the file to be read next time into a page cache based on the linked list, so as to perform read-ahead for non-sequentially read files.
- the storage medium may be a read-only memory, a magnetic disk or an optical disk, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种内核客户端的预读方法、系统及计算机可读存储介质,方法包括:接收对文件的读取请求并判断对文件的读取是否连续;若是对文件的读取不连续,则生成文件inode的头结点,并构建嵌入头结点的链表;判断文件是否包括文件的读取规则,若是文件包括文件的读取规则,则基于所读取规则,获取文件的读取请求次数和每次对应的读取偏移量,并基于读取请求次数和对应的读取偏移量生成map路线,并将map路线存入所述链表中;基于链表执行预读。通过本申请的方案,改善了内核客户端的预读机制,实现了内核客户端的非顺序预读,提高了内核客户端读文件性能,并且能够适应多种形式的读取文件业务,提高了非顺序预读的缓存命中率。
Description
本申请要求在2021年8月13日提交中国专利局、申请号为202110928210.7、发明名称为“一种内核客户端的预读方法、系统及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及计算机技术领域,尤其涉及一种内核客户端的预读方法、系统及计算机可读存储介质。
随着社会信息爆炸时代的到来,信息数据量的日益增大,存储服务器的发展也越来越快,客户对存储读写性能要求也越来越高。在从存储读取文件时,使用内核客户端有很大的优势,得益于内核的缓存特性(pagecache和预读等)以及较短的IO路径。内核预读是在读请求量读完后按照顺序多读一定量页面,以便下个读取请求时,可以直接在缓存中读取目标内容,但是某些客户场景下进行随机读时,内核客户端识别到随机读,预读会停止失效。
发明内容
有鉴于此,本申请提出了一种内核客户端的预读方法、系统及计算机可读存储介质,改善了内核客户端的预读机制,实现了内核客户端的非顺序预读,提高了内核客户端读文件性能,并且能够适应多种形式的读取文件业务,提高了非顺序预读的缓存命中率。
基于上述目的,本申请实施例的一方面提供了一种内核客户端的预读 方法,具体包括如下步骤:
接收对文件的读取请求并判断对文件的读取是否连续;
若是对文件的读取不连续,则生成所述文件inode的头结点,并构建嵌入所述头结点的链表,所述链表中的每个链表节点包括读取偏移量;
判断所述文件是否包括文件的读取规则,若是所述文件包括所述文件的读取规则,则基于所述读取规则,获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,并将所述map路线存入所述链表中;
基于所述链表执行预读。
在一些实施方式中,方法还包括:
若是所述文件不包括所述文件的读取规则,则判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,并将所述map路线存入所述链表中。
在一些实施方式中,判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,包括:
若是对所述文件进行重复读取,则获取第一次读取所述文件时的读取请求次数和对应的读取偏移量,在重复读取所述文件时,基于所述读取请求次数分别对所述对应的读取偏移量进行作差计算,若是计算结果的误差小于预设量的页面,则根据计算结果的误差小于预设量的所述对应的读取偏移量生成所述map路线。
在一些实施方式中,判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,包括:
若是对所述文件不进行重复读取,则获取所述文件的读取请求的预设次数和每次对应的读取偏移量,并基于所述读取请求的预设次数和所述对 应的读取偏移量进行统计计算,生成所述map路线。
在一些实施方式中,基于所述的读取请求预设次数和所述对应的读取偏移量进行统计计算,生成所述map路线,包括:
基于所述预设次数和所述对应的读请求偏移量得到读请求偏移量平均值;
基于所述读请求偏移量平均值和文件大小,得到文件的未读部分的请求次数;
根据所述文件的未读部分的请求次数和所述读请求偏移量平均值,生成map路线。
在一些实施方式中,接收对文件的读取请求并判断对文件的读取是否连续,还包括:记录读取所述文件的不连续次数。
在一些实施方式中,对文件的读取不连续,包括:所述不连续次数达到预设次数。
在一些实施方式中,所述链表中的每个链表节点还包括下一次要读取的读取偏移量;
基于所述链表执行预读,包括:基于所述链表将所述文件下一次要读取的读取偏移量读取到页高速缓存中以对非顺序读的文件执行预读。
本申请实施例的另一方面,还提供了一种内核客户端的预读系统,系统包括:
接收模块,所述接收模块配置为接收对文件的读取请求并判断对文件的读取是否连续;
构建模块,所述构建模块配置为若是对文件的读取不连续,则生成所述文件inode的头结点,并构建嵌入所述头结点的链表,所述链表中的每个链表节点包括读取偏移量;
生成模块,所述生成模块配置为判断所述文件是否包括文件的读取规则,若是所述文件包括所述文件的读取规则,则基于所述读取规则,获取 所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,并将所述map路线存入所述链表中;
执行模块,所述执行模块配置为基于所述链表执行预读。
在一些实施方式中,系统还包括第二生成模块,第二生成模块配置为:
若是所述文件不包括所述文件的读取规则,则判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,并将所述map路线存入所述链表中。
在一些实施方式中,判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,包括:
若是对所述文件进行重复读取,则获取第一次读取所述文件时的读取请求次数和对应的读取偏移量,在重复读取所述文件时,基于所述读取请求次数分别对所述对应的读取偏移量进行作差计算,若是计算结果的误差小于预设量的页面,则根据计算结果的误差小于预设量的所述对应的读取偏移量生成所述map路线。
在一些实施方式中,判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,包括:
若是对所述文件不进行重复读取,则获取所述文件的读取请求的预设次数和每次对应的读取偏移量,并基于所述读取请求的预设次数和所述对应的读取偏移量进行统计计算,生成所述map路线。
在一些实施方式中,基于所述读取请求的预设次数和所述对应的读取偏移量进行统计计算,生成所述map路线,包括:
基于所述预设次数和所述对应的读请求偏移量得到读请求偏移量平均值;
基于所述读请求偏移量平均值和文件大小,得到文件的未读部分的请求次数;
根据所述文件的未读部分的请求次数和所述读请求偏移量平均值,生成map路线。
在一些实施方式中,接收对文件的读取请求并判断对文件的读取是否连续,还包括:记录读取所述文件的不连续次数。
在一些实施方式中,对文件的读取不连续,包括:所述不连续次数达到预设次数。
在一些实施方式中,所述链表中的每个链表节点还包括下一次要读取的读取偏移量,
基于所述链表执行预读,包括:基于所述链表将所述文件下一次要读取的读取偏移量读取到页高速缓存中以对非顺序读的文件执行预读。
本申请实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本申请具有以下有益技术效果:通过本申请的方案,改善了内核客户端的预读机制,实现了内核客户端的非顺序预读,提高了内核客户端读文件性能,并且能够适应多种形式的读取文件业务,提高了非顺序预读的缓存命中率。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本申请提供的内核客户端的读取方法的一实施例的框图;
图2为本申请的内核客户端的读取系统的一实施例的示意图;
图3为本申请提供的计算机可读存储介质的一实施例的结构示意图。
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请实施例进一步详细说明。
需要说明的是,本申请实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本申请实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本申请实施例的第一个方面,提出了一种内核客户端的预读方法的实施例。如图1所示,其包括如下步骤:
步骤101、接收对文件的读取请求并判断对文件的读取是否连续;
步骤103、若是对文件的读取不连续,则生成所述文件inode的头结点,并构建嵌入所述头结点的链表,所述链表中的每个链表节点包括读取偏移量;
步骤105、判断所述文件是否包括文件的读取规则,若是所述文件包括所述文件的读取规则,则基于所述读取规则,获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,并将所述map路线存入所述链表中;
步骤107、基于所述链表执行预读。
具体的,接收对文件的读取请求并判断所述对文件的读取是否连续;
若是对文件的读取不连续,则进入非顺序预读学习模式,生成文件inode的头结点list_head,定义结构体变量ra_map,在结构体变量ra_map中,包括读取偏移量和嵌入头结点的链表,并以头结点将链表连接起来,在链表的每个链表节点中包括:读取偏移量、下一次要读取的读取偏移量、上一次读取的读取偏移量;判断文件是否存在已知的读文件规则、算法,如果有,则生成对应的文件的读取请求次数和每次对应的偏移量,并根据 对应的文件的读取请求次数和每次对应的偏移量生成map路线,将map路线存入链表中,基于所述链表执行预读。
通过本申请的方案,改善了内核客户端的预读机制,实现了内核客户端的非顺序预读,提高了内核客户端读文件性能,并且能够适应多种形式的读取文件业务,提高了非顺序预读的缓存命中率。
在一些实施方式中,方法还包括:
若是所述文件不包括所述文件的读取规则,则判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,并将所述map路线存入所述链表中。
在一些实施方式中,判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,包括:
若是对所述文件进行重复读取,则获取第一次读取所述文件时的读取请求次数和对应的读取偏移量,在重复读取所述文件时,基于所述读取请求次数分别对所述对应的读取偏移量进行作差计算,若是计算结果的误差小于预设量的页面,则根据计算结果的误差小于预设量的所述对应的读取偏移量生成所述map路线。
根据本申请的多个实施方式,对于需要重复读取的文件,例如,所述文件1000页,第一次读取文件时,一共读了5次,读取请求次数与读取偏移量的关系为:读取请求次数1:读取偏移量200,读取请求次数2:读取偏移量300,读取请求次数3:读取偏移量100,读取请求次数1:读取偏移量100,读取请求次数1:读取偏移量400,再重复读取该文件时,取前五次的读取偏移量,分别于第一次读取时的读取偏移量作差,如果差值的绝对值,小于预设量的页面,比如30,则将小于30的那次读取请求的读取偏移量作为以后重复读取该文件时的map路线。
通过对需要重复读取的文件的读取请求次数和读取偏移量的计算,提 高了内核客户端的读取速率和重复读取文件的缓存命中率。
在一些实施方式中,判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,包括:
若是对所述文件不进行重复读取,则获取所述文件的读取请求的预设次数和每次对应的读取偏移量,并基于所述读取请求的预设次数和所述对应的读取偏移量进行统计计算,生成所述map路线。
在一些实施方式中,基于所述读取请求的预设次数和所述对应的读取偏移量进行统计计算,生成所述map路线,包括:
基于所述预设次数和所述对应的读请求偏移量得到读请求偏移量平均值;
基于所述读请求偏移量平均值和文件大小,得到文件的未读部分的请求次数;
根据所述文件的未读部分的请求次数和所述读请求偏移量平均值,生成map路线。
根据本申请的多个实施方式,对于不需要重复读取的文件,统计文件读取时的读取情况,例如,所述文件1000页,前3次读取文件时,读取请求次数与读取偏移量的关系为:读取请求次数1:读取偏移量70,读取请求次数2:读取偏移量50,读取请求次数3:读取偏移量60,计算读请求偏移量平均值为60,计算文件未读部分的大小为820,将读请求偏移量平均值作为文件未读部分的读取偏移量,计算剩余读取请求次数为820平均值作为文件未读部分,将请求次数14和读请求偏移量平均值60作为文件未读部分的读取请求次数和读取偏移量,并基于此生成map路线。
通过对不需要重复读取的文件的读取请求次数和读取偏移量的计算,提高了内核客户端的读取速率和重复读取文件的缓存命中率。
在一些实施方式中,接收对文件的读取请求并判断对文件的读取是否连续,还包括:记录读取所述文件的不连续次数。
在一些实施方式中,对文件的读取不连续,包括:所述不连续次数达到预设次数。
在一些实施方式中,所述链表中的每个链表节点还包括下一次要读取的读取偏移量;
基于所述链表执行预读,包括:基于所述链表将所述文件下一次要读取的读取偏移量读取到页高速缓存中以对非顺序读的文件执行预读。
基于同一申请构思,根据本申请的另一个方面,如图2所示,本申请的实施例还提供了一种内核客户端的预读系统,系统包括:
接收模块110,所述接收模块110配置为接收对文件的读取请求并判断对文件的读取是否连续;
构建模块120,所述构建模块120配置为若是对文件的读取不连续,则生成所述文件inode的头结点,并构建嵌入所述头结点的链表,所述链表中的每个链表节点包括读取偏移量;
生成模块130,所述生成模块130配置为判断所述文件是否包括文件的读取规则,若是所述文件包括所述文件的读取规则,则基于所述读取规则,获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,并将所述map路线存入所述链表中;
执行模块140,所述执行模块140配置为基于所述链表执行预读。
在一些实施方式中,系统还包括第二生成模块,第二生成模块配置为:
若是所述文件不包括所述文件的读取规则,则判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,并将所述map路线存入所述链表中。
在一些实施方式中,判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,包括:
若是对所述文件进行重复读取,则获取第一次读取所述文件时的读取请求次数和对应的读取偏移量,在重复读取所述文件时,基于所述读取请求次数分别对所述对应的读取偏移量进行作差计算,若是计算结果的误差小于预设量的页面,则根据计算结果的误差小于预设量的所述对应的读取偏移量生成所述map路线。
在一些实施方式中,判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,包括:
若是对所述文件不进行重复读取,则获取所述文件的读取请求的预设次数和每次对应的读取偏移量,并基于所述读取请求的预设次数和所述对应的读取偏移量进行统计计算,生成所述map路线。
在一些实施方式中,基于所述读取请求的预设次数和所述对应的读取偏移量进行统计计算,生成所述map路线,包括:
基于所述预设次数和所述对应的读请求偏移量得到读请求偏移量平均值;
基于所述读请求偏移量平均值和文件大小,得到文件的未读部分的请求次数;
根据所述文件的未读部分的请求次数和所述读请求偏移量平均值,生成map路线。
在一些实施方式中,接收对文件的读取请求并判断对文件的读取是否连续,还包括:则记录读取所述文件的不连续次数。
在一些实施方式中,对文件的读取不连续,包括:所述不连续次数达到预设次数。
在一些实施方式中,所述链表中的每个链表节点还包括下一次要读取的读取偏移量;
基于所述链表执行预读,包括:基于所述链表将所述文件下一次要读取的读取偏移量读取到页高速缓存中以对非顺序读的文件执行预读。
基于同一申请构思,根据本申请的另一个方面,如图3所示,本申请的实施例还提供了一种计算机可读存储介质30,计算机可读存储介质30存储有被处理器执行时执行如下方法的计算机程序310:
接收对文件的读取请求并判断对文件的读取是否连续;
若是对文件的读取不连续,则生成所述文件inode的头结点,并构建嵌入所述头结点的链表,所述链表中的每个链表节点包括读取偏移量;
判断所述文件是否包括文件的读取规则,若是所述文件包括所述文件的读取规则,则基于所述读取规则,获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,并将所述map路线存入所述链表中;
基于所述链表执行预读。
在一些实施方式中,方法还包括:
若是所述文件不包括所述文件的读取规则,则判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,并将所述map路线存入所述链表中。
在一些实施方式中,判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,包括:
若是对所述文件进行重复读取,则获取第一次读取所述文件时的读取请求次数和对应的读取偏移量,在重复读取所述文件时,基于所述读取请求次数分别对所述对应的读取偏移量进行作差计算,若是计算结果的误差小于预设量的页面,则根据计算结果的误差小于预设量的所述对应的读取偏移量生成所述map路线。
在一些实施方式中,判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,包括:
若是对所述文件不进行重复读取,则获取所述文件的读取请求的预设次数和每次对应的读取偏移量,并基于所述读取请求的预设次数和所述对应的读取偏移量进行统计计算,生成所述map路线。
在一些实施方式中,基于所述读取请求的预设次数和所述对应的读取偏移量进行统计计算,生成所述map路线,包括:
基于所述预设次数和所述对应的读请求偏移量得到读请求偏移量平均值;
基于所述读请求偏移量平均值和文件大小,得到文件的未读部分的请求次数;
根据所述文件的未读部分的请求次数和所述读请求偏移量平均值,生成map路线。
在一些实施方式中,接收对文件的读取请求并判断对文件的读取是否连续,还包括:记录读取所述文件的不连续次数。
在一些实施方式中,对文件的读取不连续,包括:所述不连续次数达到预设次数。
在一些实施方式中,所述链表中的每个链表节点还包括下一次要读取的读取偏移量;
基于所述链表执行预读,包括:基于所述链表将所述文件下一次要读取的读取偏移量读取到页高速缓存中以对非顺序读的文件执行预读。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
以上是本申请公开的示例性实施例,但是应当注意,在不背离权利要求限定的本申请实施例公开的范围的前提下,可以进行多种改变和修改。 根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本申请实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本申请实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请实施例公开的范围(包括权利要求)被限于这些例子;在本申请实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (12)
- 一种内核客户端的预读方法,其特征在于,包括:接收对文件的读取请求并判断对文件的读取是否连续;若是对文件的读取不连续,则生成所述文件inode的头结点,并构建嵌入所述头结点的链表,所述链表中的每个链表节点包括读取偏移量;判断所述文件是否包括文件的读取规则,若是所述文件包括所述文件的读取规则,则基于所述读取规则,获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,并将所述map路线存入所述链表中;基于所述链表执行预读。
- 根据权利要求1所述的方法,其特征在于,还包括:若是所述文件不包括所述文件的读取规则,则判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述每次对应的读取偏移量生成map路线,并将所述map路线存入所述链表中。
- 根据权利要求2所述的方法,其特征在于,判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述每次对应的读取偏移量生成map路线,包括:若是对所述文件进行重复读取,则获取第一次读取所述文件时的读取请求次数和对应的读取偏移量,在重复读取所述文件时,基于所述读取请求次数分别对所述对应的读取偏移量进行作差计算,若是计算结果的误差小于预设量的页面,则根据计算结果的误差小于预设量的所述对应的读取偏移量生成所述map路线。
- 根据权利要求3所述的方法,其特征在于,基于所述读取请求次数分别对所述对应的读取偏移量进行作差计算包括:基于所述读取请求次数分别将重复读取所述文件时对应的读取偏移量与 所述第一次读取所述文件时对应的读取偏移量进行作差计算;所述计算结果的误差为计算的差值的绝对值。
- 根据权利要求2所述的方法,其特征在于,判断是否对文件进行重复读取,并基于判断结果获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,包括:若是对所述文件不进行重复读取,则获取所述文件的读取请求的预设次数和每次对应的读取偏移量,并基于所述读取请求的预设次数和所述对应的读取偏移量进行统计计算,生成所述map路线。
- 根据权利要求5所述的方法,其特征在于,基于所述读取请求的预设次数和所述对应的读取偏移量进行统计计算,生成所述map路线,包括:计算读请求偏移量平均值和文件未读部分的大小,通过文件未读部分的大小与读请求偏移量平均值相除得到剩余读取请求次数,将所述剩余读取请求次数和所述读请求偏移量平均值作为文件未读部分的读取请求次数和读取偏移量并生成所述map路线。
- 根据权利要求5所述的方法,其特征在于,基于所述读取请求的预设次数和所述对应的读取偏移量进行统计计算,生成所述map路线,包括:基于所述预设次数和所述对应的读请求偏移量得到读请求偏移量平均值;基于所述读请求偏移量平均值和文件大小,得到文件的未读部分的请求次数;根据所述文件的未读部分的请求次数和所述读请求偏移量平均值,生成map路线。
- 根据权利要求1所述的方法,其特征在于,接收对文件的读取请求并判断对文件的读取是否连续,还包括:记录读取所述文件的不连续次数。
- 根据权利要求8所述的方法,其特征在于,对文件的读取不连续,包括:所述不连续次数达到预设次数。
- 根据权利要求1所述的方法,其特征在于,所述链表中的每个链表节点还包括下一次要读取的读取偏移量;基于所述链表执行预读,包括:基于所述链表将所述文件下一次要读取的读取偏移量读取到页高速缓存中以对非顺序读的文件执行预读。
- 一种内核客户端的预读系统,其特征在于,包括:接收模块,所述接收模块配置为接收对文件的读取请求并判断对文件的读取是否连续;构建模块,所述构建模块配置为若是对文件的读取不连续,则生成所述文件inode的头结点,并构建嵌入所述头结点的链表,所述链表中的每个链表节点包括读取偏移量;生成模块,所述生成模块配置为判断所述文件是否包括文件的读取规则,若是所述文件包括所述文件的读取规则,则基于所述读取规则,获取所述文件的读取请求次数和每次对应的读取偏移量,并基于所述读取请求次数和所述对应的读取偏移量生成map路线,并将所述map路线存入所述链表中;执行模块,所述执行模块配置为基于所述链表执行预读。
- 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-10任意一项所述的方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/271,458 US11914551B2 (en) | 2021-08-13 | 2021-11-30 | Pre-reading method and system of kernel client, and computer-readable storage medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110928210.7A CN113377725B (zh) | 2021-08-13 | 2021-08-13 | 一种内核客户端的预读方法、系统及计算机可读存储介质 |
| CN202110928210.7 | 2021-08-13 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023015778A1 true WO2023015778A1 (zh) | 2023-02-16 |
Family
ID=77577042
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2021/134337 Ceased WO2023015778A1 (zh) | 2021-08-13 | 2021-11-30 | 一种内核客户端的预读方法、系统及计算机可读存储介质 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11914551B2 (zh) |
| CN (1) | CN113377725B (zh) |
| WO (1) | WO2023015778A1 (zh) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113377725B (zh) * | 2021-08-13 | 2021-11-12 | 苏州浪潮智能科技有限公司 | 一种内核客户端的预读方法、系统及计算机可读存储介质 |
| CN114168272B (zh) * | 2022-02-14 | 2022-04-19 | 麒麟软件有限公司 | 一种缓存读文件时随机读的内核io优化方法 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150242437A1 (en) * | 2014-02-26 | 2015-08-27 | Electronics And Telecommunications Research Institute | Method and apparatus for reading data in distributed file system |
| CN105094701A (zh) * | 2015-07-20 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种自适应预读方法及装置 |
| US20170116127A1 (en) * | 2015-10-22 | 2017-04-27 | Vormetric, Inc. | File system adaptive read ahead |
| CN111625503A (zh) * | 2020-05-29 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种分布式文件系统文件局部随机预读的方法和设备 |
| CN113377725A (zh) * | 2021-08-13 | 2021-09-10 | 苏州浪潮智能科技有限公司 | 一种内核客户端的预读方法、系统及计算机可读存储介质 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030115410A1 (en) * | 1999-06-03 | 2003-06-19 | Lucent Technologies Inc. | Method and apparatus for improving file system response time |
| JP4067293B2 (ja) * | 2001-10-17 | 2008-03-26 | 富士通株式会社 | キャッシュ制御プログラムおよびキャッシュ処理を行うコンピュータ |
| JP2005266072A (ja) * | 2004-03-17 | 2005-09-29 | Fuji Photo Film Co Ltd | 放射線画像読取方法および装置 |
| US7711797B1 (en) * | 2006-07-31 | 2010-05-04 | Juniper Networks, Inc. | Optimizing batch size for prefetching data over wide area networks |
| JP5274380B2 (ja) * | 2009-06-04 | 2013-08-28 | キヤノン株式会社 | 情報処理装置、データアクセスシステム及びそれらの制御方法 |
| KR20120064576A (ko) * | 2010-12-09 | 2012-06-19 | 한국전자통신연구원 | 비대칭 스토리지 시스템에서 연속적인 읽기/쓰기를 제공하기 위한 장치 및 그 방법 |
| CN102841931A (zh) * | 2012-08-03 | 2012-12-26 | 中兴通讯股份有限公司 | 分布式文件系统的存储方法及装置 |
| JP2017215096A (ja) * | 2016-05-31 | 2017-12-07 | 三菱電機株式会社 | シミュレーション装置、シミュレーション方法及びシミュレーションプログラム |
| CN106951301B (zh) * | 2017-04-27 | 2018-07-13 | 腾讯科技(深圳)有限公司 | 文件预读方法及装置 |
| JP7269780B2 (ja) * | 2019-04-08 | 2023-05-09 | 株式会社日立製作所 | 情報処理装置および情報処理装置のデータ管理方法 |
-
2021
- 2021-08-13 CN CN202110928210.7A patent/CN113377725B/zh active Active
- 2021-11-30 WO PCT/CN2021/134337 patent/WO2023015778A1/zh not_active Ceased
- 2021-11-30 US US18/271,458 patent/US11914551B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150242437A1 (en) * | 2014-02-26 | 2015-08-27 | Electronics And Telecommunications Research Institute | Method and apparatus for reading data in distributed file system |
| CN105094701A (zh) * | 2015-07-20 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种自适应预读方法及装置 |
| US20170116127A1 (en) * | 2015-10-22 | 2017-04-27 | Vormetric, Inc. | File system adaptive read ahead |
| CN111625503A (zh) * | 2020-05-29 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种分布式文件系统文件局部随机预读的方法和设备 |
| CN113377725A (zh) * | 2021-08-13 | 2021-09-10 | 苏州浪潮智能科技有限公司 | 一种内核客户端的预读方法、系统及计算机可读存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| US11914551B2 (en) | 2024-02-27 |
| CN113377725A (zh) | 2021-09-10 |
| US20240037070A1 (en) | 2024-02-01 |
| CN113377725B (zh) | 2021-11-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113886331B (zh) | 分布式对象存储方法、装置、电子设备及可读存储介质 | |
| TWI728654B (zh) | 資料儲存方法及節點 | |
| CN110780819A (zh) | 一种分布式存储系统的数据读写方法 | |
| US11531684B2 (en) | Session-level read your writes consistency among digital data versions in a distributed network | |
| US11294875B2 (en) | Data storage on tree nodes | |
| WO2020125233A1 (zh) | 字段更新方法及装置、电子设备 | |
| WO2022156574A1 (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
| CN115543938A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
| CN111324665A (zh) | 一种日志回放方法及装置 | |
| CN109471843A (zh) | 一种元数据缓存方法、系统及相关装置 | |
| WO2023015778A1 (zh) | 一种内核客户端的预读方法、系统及计算机可读存储介质 | |
| CN110069466A (zh) | 一种面向分布式文件系统的小文件存储方法及装置 | |
| CN110908587B (zh) | 一种用于存储时序数据的方法及其装置 | |
| CN110874354A (zh) | 数据库迁移方法及装置、电子设备、存储介质 | |
| CN116339643B (zh) | 一种磁盘阵列的格式化方法、装置、设备和介质 | |
| CN111475736A (zh) | 社区挖掘的方法、装置和服务器 | |
| CN112115170B (zh) | 一种元数据缓存方法、系统、设备以及介质 | |
| CN107197000B (zh) | 静态动态混合缓存方法、装置及系统 | |
| CN114579061B (zh) | 一种数据存储方法、装置、设备及介质 | |
| CN111435323B (zh) | 信息的传输方法、装置、终端、服务器及存储介质 | |
| CN112463880B (zh) | 一种区块链数据存储方法及相关装置 | |
| WO2024198872A1 (zh) | 数据管理系统、数据更新方法及装置 | |
| CN120144579A (zh) | 电子设备的数据存储方法、装置和计算机可读存储介质 | |
| CN116248502A (zh) | 用于更新浏览器本地的用户相关数据的方法、设备及系统 | |
| US20190286854A1 (en) | Record parameter automatic adjusting machines and methods |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21953383 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18271458 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21953383 Country of ref document: EP Kind code of ref document: A1 |