CN103810114A - Method and device for distributing storage space - Google Patents

Method and device for distributing storage space Download PDF

Info

Publication number
CN103810114A
CN103810114A CN201410083434.2A CN201410083434A CN103810114A CN 103810114 A CN103810114 A CN 103810114A CN 201410083434 A CN201410083434 A CN 201410083434A CN 103810114 A CN103810114 A CN 103810114A
Authority
CN
China
Prior art keywords
file
information
according
memory
identification number
Prior art date
Application number
CN201410083434.2A
Other languages
Chinese (zh)
Inventor
高文强
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201410083434.2A priority Critical patent/CN103810114A/en
Publication of CN103810114A publication Critical patent/CN103810114A/en

Links

Abstract

The invention relates to a method and a device for distributing a storage space. The method comprises the following steps: receiving a query file storage information request message sent by an application, wherein the query file storage information request message comprises file information; searching a file corresponding to the file information and searching an identification number corresponding to the file; analyzing the identification number, and according to a result obtained by analyzing the identification number, acquiring storage information of a storage block occupied by the file on a storage; sending the storage information to the application, so that the application carries out classification on the storage block according to the storage information, and distributes the classified storage block to a read-write request according to continuity of the read-write request of the application. Therefore, the effect of enabling the application to know continuity of the storage space is realized and a speed that the application reads and writes disk data can be effectively improved.

Description

分配存储空间的方法及装置 Allocates storage method and apparatus

技术领域 FIELD

[0001] 本发明涉及移动通信领域,尤其涉及一种分配存储空间的方法及装置。 [0001] The present invention relates to the field of mobile communications, particularly to a method and an apparatus for allocating storage space.

背景技术 Background technique

[0002] 磁盘数据库运行的主要瓶颈是数据库数据的读写速度,难以提高数据库数据读写速度的原因是数据库不知道文件的连续性,预读、写缓存、连续写等功能受影响。 [0002] The main bottleneck is the disk database running database data read and write speeds, the reason is difficult to improve the database data read and write speeds is that the database does not know the continuity of the file, read-ahead, write cache, continuous writing and other functions are affected.

[0003] 现有技术中,在数据库需要进行读写处理时,首先向内核发送读写请求消息,内核接收到读写请求消息之后,启动磁盘进行读写处理,当数据库读取数据时,从磁盘向应用缓存返回待读取的数据;当数据库写入数据时,将待写入的数据直接写入到磁盘中,而不去了解存储空间的连续性,这样容易导致相关数据在磁盘上存放位置的不连续,从而严重影响磁盘数据库的读写速度。 [0003] In the prior art, the process needs to access the database, first read and write request message sent to the kernel, the kernel received the write request message, reads and writes to disk boot, when the database to read data, from disk is returned to the application cache data to be read; the database when writing the data to be written is written directly to disk, without understanding the continuity of the storage space, so easily cause the associated data is stored on disk discrete locations, thereby seriously affecting the read and write speed of the disk database.

发明内容 SUMMARY

[0004] 本发明实施例提供了一种分配存储空间的方法及装置,解决了应用程序读写磁盘数据效率低的问题。 Example [0004] The present invention provides a method and an apparatus for allocating storage space, to read and write the application to solve the problem of low efficiency of disk data.

[0005] 第一方面,提供了一种分配存储空间的方法,该方法包括: [0005] In a first aspect, there is provided a method for allocating memory space, the method comprising:

[0006] 接收应用程序发送的查询文件存储信息请求消息,所述查询文件存储信息请求消息中包括文件信息; [0006] Query File storage information receiving application sends a request message, the query request message includes information file storing file information;

[0007] 查找所述文件信息所对应的文件,并查找所述文件对应的标识号; [0007] Find the file corresponding to the file information, and find the identification number corresponding to the file;

[0008] 解析所述标识号,根据解析所述标识号的结果,获取所述文件在存储器上所占用的存储块的存储信息; [0008] parsing the identification number, the result of parsing the identification number, acquiring the information storage block storing the file on the memory occupied;

[0009] 向所述应用程序发送所述存储信息,以使所述应用程序根据所述存储信息对存储块进行分类,并使所述应用程序根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求。 [0009] transmitting the application program stored in the information, so that the application program classifies a memory block according to said stored information, and the application requests to read and write the application program in accordance with the continuity of the memory blocks allocated to the read request after the classification.

[0010] 根据第一方面,在第一方面的第一种可能的实现方式中,所述文件信息具体为文件名称,所述查找所述文件信息所对应的文件,并查找所述文件对应的标识号包括: [0010] According to a first aspect, a first possible implementation of the first aspect, said specific information file as the file name, the file to find the information corresponding to the file, the file and find the corresponding identification number includes:

[0011] 检查所述文件名称是否合法,若所述文件名称合法,则查找所述文件名称所对应的文件是否存在,若所述文件存在,则根据所述文件名称查找所述文件对应的标识号。 [0011] checking the file name is legitimate, valid if the file name, the file name is searched whether the corresponding file exists, if the file exists, the file is searched according to the identifier corresponding to a file name number.

[0012] 根据第一方面,在第一方面的第二种可能的实现方式中,所述文件信息具体为文件句柄,所述查找所述文件信息所对应的文件,并查找所述文件对应的标识号包括: [0012] According to a first aspect, the second aspect of the first possible implementation, the file information for the particular file handle, the file to find the information corresponding to the file, the file and find the corresponding identification number includes:

[0013] 根据所述文件句柄从所述操作系统的进程管理模块中查找所述文件句柄所对应的文件,并查找所述文件对应的标识号。 [0013] According to locate the file handle from the process management module of the operating system file corresponding to the file handle, and look for an identification number corresponding to the file.

[0014] 根据第一方面或第一方面的上述两种实现方式中任一种实现方式,在第一方面的第三种实现方式中,所述文件系统解析所述标识号,根据解析所述标识号的结果,获取所述文件在存储器上所占用的存储块的存储信息包括: [0014] According to the first aspect or any one of the above two implementations of the first aspect of an implementation, in a third implementation of the first aspect, the system parses the file identification number, based on the analysis of the the results of the identification number, acquiring the information storage block stores a file on the memory occupied by comprising:

[0015] 解析所述标识号,根据解析所述标识号的结果,获取所述文件在所述存储器上占用的所有存储块的信息,所述所有存储块的信息包括多组存储块的信息,其中,每组存储块的信息包括:该组存储块的起始地址信息和该组存储块包含的存储块个数。 [0015] parsing the identification number, according to the result of the analysis of the identification number, acquiring the information of all blocks in the file stored on the memory occupied by said information comprises information for all the blocks of the plurality of sets of memory blocks, wherein the information of each memory block comprising: a memory block start address information of the number of said plurality of storage blocks and the set of memory blocks included.

[0016] 根据第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述向所述应用程序发送所述存储信息,以使所述应用程序根据所述存储信息对存储块进行分类,并使所述应用程序根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求包括: [0016] According to a first aspect of a third possible implementation, a fourth possible implementation manner of the first aspect, said transmitting said stored information to the application program, the application program according to the information storage block storing classification, and the application memory block allocated to the write request including the read and write requests are classified according to the continuity of the application:

[0017] 向所述应用程序发送所述存储信息,以使所述应用程序根据所述每组存储块包含的存储块个数和预设的存储块的大小,确定所述每组存储块的总大小,并根据所述每组存储块的总大小,对所述各组存储块进行分类,并根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求。 [0017] transmitting said stored information to the application program, so that the number of applications based on the size of each storage block and the memory block containing a predetermined memory block, said each storage block is determined the total size of each group and the total size of the memory block, the memory block groups each classified and allocated to the memory blocks to read and write the sorted according to the continuity of the application program to read and write requests request.

[0018] 第二方面,提供了一种分配存储空间的装置,该装置包括:接收单元、查找单元、处理单元和发送单元; [0018] a second aspect, there is provided an apparatus for allocating storage space, the apparatus comprising: a receiving unit, a searching unit, a processing unit and a transmitting unit;

[0019] 所述接收单元,用于接收应用程序发送的查询文件存储信息请求消息,所述查询文件存储信息请求消息中包括文件信息; [0019] the receiving unit, configured to query file storage application sends the received information request message, the query request message includes information file storing file information;

[0020] 所述查找单元,用于查找所述接收单元接收的所述文件信息所对应的文件,并查找所述文件对应的标识号; [0020] The searching unit configured to search the file received by the receiving unit corresponding to the file information, and find the identification number corresponding to the file;

[0021] 所述处理单元,用于解析所述查找单元查找的所述标识号,根据解析所述标识号的结果,获取所述文件在存储器上所占用的存储块的存储信息; [0021] The processing unit for parsing the lookup unit searches the identification number, the result of the analysis in accordance with the identification number, acquiring the information storage block storing the file on the memory occupied;

[0022] 所述发送单元,用于向所述应用程序发送所述处理单元获取的所述存储信息,以使所述应用程序根据所述存储信息对存储块进行分类,并使所述应用程序根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求。 [0022] The transmitting unit for transmitting said processing said stored information acquiring unit, so that the application program classifies a memory block according to said stored information to the application program, the application program and the memory block allocated to the read and write requests are classified according to continuity of the read and write requests of the application.

[0023] 根据第二方面,在第二方面的第一种可能的实现方式中,所述查找单元具体用于: [0023] According to a second aspect, a first possible implementation of the second aspect, the searching unit is configured to:

[0024] 检查所述文件名称是否合法,若所述文件名称合法,则查找所述文件名称所对应的文件是否存在,若所述文件存在,则根据所述文件名称查找所述文件对应的标识号。 [0024] checking the file name is legitimate, valid if the file name, the file name is searched whether the corresponding file exists, if the file exists, the file is searched according to the identifier corresponding to a file name number.

[0025] 根据第二方面,在第二方面的第二种可能的实现方式中,所述查找单元具体用于: [0025] According to a second aspect, the second aspect of a second possible implementation, the searching unit is configured to:

[0026] 根据所述文件句柄从所述操作系统的进程管理模块中查找所述文件句柄所对应的文件,并查找所述文件对应的标识号。 [0026] According to locate the file handle from the process management module of the operating system file corresponding to the file handle, and look for an identification number corresponding to the file.

[0027] 根据第二方面或第二方面的上述两种实现方式中任一种实现方式,在第二方面的第三种实现方式中,所述处理单元具体用于: [0027] According to the second aspect or any one of the above two implementations of the second aspect one implementation, a third implementation of the second aspect, the processing unit is configured to:

[0028] 解析所述标识号,根据解析所述标识号的结果,获取所述文件在所述存储器上占用的所有存储块的信息,所述所有存储块的信息包括多组存储块的信息,其中,每组存储块的信息包括:该组存储块的起始地址信息和该组存储块包含的存储块个数。 [0028] parsing the identification number, according to the result of the analysis of the identification number, acquiring the information of all blocks in the file stored on the memory occupied by said information comprises information for all the blocks of the plurality of sets of memory blocks, wherein the information of each memory block comprising: a memory block start address information of the number of said plurality of storage blocks and the set of memory blocks included.

[0029] 根据第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述发送单元具体用于: [0029] According to a third aspect of a second possible implementation, a fourth possible implementation manner of the second aspect, the transmitting unit is configured to:

[0030] 向所述应用程序发送所述存储信息,以使所述应用程序根据所述每组存储块包含的存储块个数和预设的存储块的大小,确定所述每组存储块的总大小,并根据所述每组存储块的总大小,对所述各组存储块进行分类,并根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求。 [0030] transmitting said stored information to the application program, so that the number of applications based on the size of each storage block and the memory block containing a predetermined memory block, said each storage block is determined the total size of each group and the total size of the memory block, the memory block groups each classified and allocated to the memory blocks to read and write the sorted according to the continuity of the application program to read and write requests request.

[0031] 本发明实施例提供的分配存储空间的方法及装置,接收应用程序发送的查询文件存储信息请求消息,所述查询文件存储信息请求消息中包括文件信息;查找所述文件信息所对应的文件,并查找所述文件对应的标识号;解析所述标识号,根据解析所述标识号的结果,获取所述文件在存储器上所占用的存储块的存储信息;向所述应用程序发送所述存储信息,以使所述应用程序根据所述存储信息对存储块进行分类,并使所述应用程序根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求。 [0031] allocated in storage method and apparatus provided by the embodiment of the present invention stores file information receiving query request message sent by application program, in the query request message includes information file storing file information; searching the file information corresponding to the file, the file and find the corresponding identification number; parsing the identification number, the result of parsing the identification number, acquiring the information storage block storing the file on the memory occupied; transmitting the application to the said storage information, so that the application program classifies a memory block according to said stored information, and the application program stored in the blocks allocated to the read classification under a continuous application of the write request write requests. 由此实现了让应用程序了解存储空间的连续性,并且根据读写请求的特点,分类使用存储空间,从而有效提高了应用程序对磁盘数据的读写速度。 Thereby enabling the application to understand the continuity of the storage space, and according to the characteristics of the read and write requests, classification storage space, thus effectively improving the application data read and write speed of the disk.

附图说明 BRIEF DESCRIPTION

[0032] 图1为本发明提供的Posix文件系统不意图; [0032] FIG. 1 is not intended that the present invention provides Posix file system;

[0033] 图2为本发明实施例一提供的分配存储空间的方法流程图; [0033] FIG. 2 provides a flowchart of a method of storage space allocated embodiment of the present invention;

[0034] 图3为本发明实施例一提供的应用程序获取存储空间信息的示意图; [0034] FIG. 3 provides the application of a schematic diagram of a memory space information acquired embodiment of the present invention;

[0035] 图4为本发明实施例二提供的分配存储空间的方法流程图; [0035] FIG. 4 according to a second method of allocating memory space flowchart embodiment of the present invention;

[0036] 图5为本发明实施例三提供的分配存储空间的装置示意图。 [0036] FIG. 5 is a schematic view of allocated storage apparatus according to a third embodiment of the present invention.

具体实施方式 Detailed ways

[0037] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。 [0037] The following drawings and embodiments, detailed description of the further aspect of the present invention.

[0038] 在本发明提供的实施例中,以Posix文件系统为例进行说明,参见图1所示的本发明提供的PosiX文件系统示意图,图1中,文件系统层新增文件块模块(FileBlock),该模块是文件系统内置的功能的一部分,文件文件系统接口的一部分,可以直接获取文件物理位置;在操作系统层增加文件物理位置系统调用接口,举例来说,可以定义两种系统调用接P:1)int GetFileBlock_name (const char氺pathname, char氺buf, int size) ; 2) intGetFileBlock_fd (const int fd, char*buf, int size);其中,第一种接口形式中的参数pathname表示操作系统向文件系统发送的文件的路径,该路径中包括文件的文件名称,参数buf指向文件系统向应用程序返回的各存储块组的首地址,参数size则表示返回的各组存储块中存储块的个数,上述存储块可以为磁盘块;数据块遍历模块,根据文件在存储块上对应的物理标识号, [0038] In an embodiment of the present invention is provided to Posix file system as an example, POSIX file system diagram of the present invention shown in FIG. 1 Referring provided in FIG. 1, the new file blocks file system layer module (FileBlock ), the file system module is part of the built-in function, the file system interface portion, the physical location of the file may be obtained directly; operating system call interface layer increases the physical location of the file system, for example, the system can define two calls connected P: 1) int GetFileBlock_name (const char pathname Shui, Shui char buf, int size); 2) intGetFileBlock_fd (const int fd, char * buf, int size); wherein the first pathname parameter represents the interface type in the operating system path of the file sent to the file system, the path includes the file name, the first address, the size parameter of each memory block group parameters buf to the file system returns to the application program then each group of memory blocks returned memory block represented by the number of the memory block can be disk blocks; block traversal module, a physical file corresponding to the identification number in the memory blocks according to 用文件系统的磁盘管理规则对上述物理标识号进行解析,返回上述文件在存储器上占用的全部存储块;文件句柄管理模块,根据文件句柄fd在进程管理模块中是否包含该文件句柄,最终找到fd在存储块上对应的物理标识号。 Performed with disk management rules file system of the above-described physical identification number parsing, return all the memory block of the file occupies on the memory; file handle management module, according to the file handle fd contains the file handle in the process management module, ultimately find fd physical identification number on the corresponding memory block.

[0039] 图2为本发明实施例一提供的分配存储空间的方法流程图。 [0039] FIG. 2 provides a flowchart of a method of storage space allocated embodiment of the present invention. 所述方法的执行主体可以为文件系统。 The subject method may be performed for the file system. 如图2所示,所述方法具体包括: , As shown in FIG. 2, the method comprises:

[0040] S210,接收应用程序发送的查询文件存储信息请求消息,所述查询文件存储信息请求消息中包括文件名称。 [0040] S210, the query file storage information receiving application sends a request message, the query message comprises a request file to store information file name.

[0041] 参见图3所示的本发明实施例一提供的应用程序获取存储空间信息的示意图,图3中,首先在系统调用层新增系统调用接口:int GetFileBlock_name (constchar*pathname, char*buf, int size) 或者int GetFileBlock_fd (const intfd, char*buf, int size),应用程序或者具体为数据库通过调用上述操作系统的接口函数(通过参数pathname)向文件系统发送查询文件存储信息的请求消息,该查询文件存储信息请求消息中包括文件的路径信息,该文件的路径信息中包括文件名称,其中,上述文件名称对应的文件可以为数据文件,也可以为日志文件。 [0041] Referring to the invention shown in FIG. 3 is a schematic acquire storage information of the application according to a first embodiment, and FIG. 3, first, the system call interface in the new system call level: int GetFileBlock_name (constchar * pathname, char * buf , int size) or int GetFileBlock_fd (const intfd, char * buf, int size), the application or the specific database sends a query file storage information to the file system by calling the above-described operating system interface function (parameter pathname) of the request message, the file is stored in the query request message includes information of the file path information of the path of the file information includes a file name, wherein said file corresponding to the file name can be a data file may be a log file.

[0042] S220,检查所述文件名称合法,若所述文件名称合法,则查找所述文件名称对应的文件是否存在,若所述文件存在,则根据所述文件名称查找所述文件对应的标识号。 [0042] S220, checking the legal file name, the file name if valid, the file name is searched whether the corresponding file exists, if the file exists, the file is searched according to the identifier corresponding to a file name number.

[0043] 参见图3中,文件系统的命名空间模块接收到上述应用程序或者数据库发送的文件的路径信息之后,获取该路径信息中的文件名称,举例为,该文件名称为字符串;然后命名空间模块检查该文件名称是否合法;当上述文件名称合法时,命名空间模块根据上述文件名称在本地查找是否包括该文件名称对应的文件,当查找到该文件名称所对应的文件时,命名空间模块将上述文件名称发送给文件系统的元数据索引模块,元数据索引模块根据该文件名称,查找该文件名称对应的文件对应的标识号。 [0043] Referring to Figure 3, the file system namespace received route information to the application program or a database file transmission module after obtaining the path name of the file information, as for example, the file name is a string; then named space module checks the file name is valid; when said file name valid, namespace module searches whether to include the files corresponding to the name locally based on the file name, when the found files in the file name corresponding to the name space module transmits the file name to the file system metadata index module, the module based on the metadata index file name, search file corresponding to the identification number corresponding to the file name.

[0044] S230,解析所述标识号,根据解析所述标识号的结果,获取所述文件在存储器上所占用的存储块的存储信息。 [0044] S230, parses the identification number, the result of parsing the identification number, acquiring the information storage block storing the file on the memory occupied.

[0045] 具体地,所述文件系统的元数据索引模块解析所述标识号,根据解析所述标识号的结果,获取所述文件在所述存储器上占用的所有存储块的信息,所述所有存储块的信息包括多组存储块的信息,其中,每组存储块的信息包括:该组存储块的起始地址信息和该组存储块包含的存储块个数。 [0045] Specifically, the file system module parses the metadata index identification number, according to the result of the analysis of the identification number, acquiring the information of all the memory blocks occupied by the file on the memory, all the memory block includes information of a plurality of sets of memory blocks, wherein the information of each memory block comprising: a memory block start address information of the number of said plurality of storage blocks and the set of memory blocks included.

[0046] 举例来说,上述存储器为磁盘,而存储块则为磁盘划分的磁盘块,则上述获取到的标识号即为文件在磁盘上的inode号;上述文件系统为ext3文件系统,根据ext3文件系统的管理规则,可以将inode号对应到数组i_block[EXT3_N_BL0CKS],该数组包括上述inode号、第一索引值和第二索引值,其中,该inode号为一个整形数,唯一地标识了存储上述文件中部分数据的磁盘块地址;第一索引值为一个一级指针,该指针指向磁盘上存放上述文件中部分数据的一组连续的磁盘块的起始地址;第二索引值为一个二级指针,该指针又可以指向多个不同的一级指针,每个一级指针又指向磁盘上存放上述文件中部分数据的一组连续的磁盘块的起始地址;具体地,根据上述第一索引值和第二索引值,就可以获取到多组磁盘块的信息,其中,每组磁盘块的信息包括:该组磁盘块的起始地 [0046] For example, the memory disk, and the disk storage blocks was divided disk blocks, to the identification number of the acquired inode number is the file on the disk; and the file system ext3 file system, according to ext3 management rules file system, inode number may correspond to the array i_block [EXT3_N_BL0CKS], the array includes the above inode number, a first index value and a second index value, wherein, the inode number is an integer number, uniquely identifies a storage disk block address of the file data portion; a first index value is a pointer that points to a disk storage start address of a group of contiguous disk blocks of said document data portion; a second index value of two level pointer which in turn may point to a plurality of different pointers, each pointer in turn points to a start address of a group of contiguous disk blocks that stores the file data on the disk portion; in particular, according to the first index value and a second index value, can obtain a plurality of sets of information to disk blocks, wherein each set of disk blocks of information comprising: origin of the set of disk blocks 址信息和该组磁盘块包含的磁盘块个数,由上述多组磁盘块的信息组成所有磁盘块的信息。 Disk block number and the address information contained in the set of disk blocks, the information of the plurality of sets of information for all disk blocks composed of disk blocks.

[0047] S240,向所述应用程序发送所述存储信息,以使所述应用程序根据所述存储信息对存储块进行分类,并使所述应用程序根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求。 [0047] S240, the application program sends the stored information to classify the applications according to the memory block storing information, and read and write request according to the application program of the application of the continuous the block of memory allocated to the read request after the classification.

[0048] 具体地,应用程序根据所述每组存储块包含的存储块个数和预设的存储块的大小,确定所述每组存储块的总大小,并根据所述每组存储块的总大小,对所述各组存储块进行分类,并根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求。 [0048] In particular, the application of said each set according to the number of memory blocks included in the memory block size and the predetermined memory block, to determine the total size of each memory block, and each group of storage blocks according to the the total size of the memory block groups each classified and allocated to the memory block read and write requests are classified according to the continuity of the application to read and write requests.

[0049] 参见图3中,文件系统获取到各组磁盘块的信息之后,将上述各组磁盘块的信息返回给应用程序或者数据库,由应用程序或者数据库中的存储引擎对返回的各组磁盘块进行分类,具体为,磁盘划分的磁盘块在逻辑上都是有固定大小的,举例为,可以为4KB,根据每组磁盘块的信息中该组磁盘块包含的磁盘块个数及上述磁盘块预设的大小,就可以得到每组磁盘块的总大小;上述存储引擎根据每组磁盘块的总大小,对各组磁盘块进行分类,举例为,总共包括三组磁盘块:第一组磁盘块的信息包括:首地址为200KB,总共包括2个磁盘块,则第一组磁盘块的总大小为8KB;第二组磁盘块的信息包括:首地址为512KB,总共包括16个磁盘块,则第二组磁盘块的总大小为64KB;第三组磁盘块的信息包括:首地址为768KB,总共包括128个磁盘块,则第三组磁盘块的总大小为512KB ;则上述磁 In [0049] Referring to Figure 3, the file system after acquiring the information of each set of disk blocks, the above-described information of each set of disk blocks returned to the application program or a database, by the application or database storage engine for each set of disks returned block classification, specifically, disk into logical blocks on the disk are all of fixed size, as for example, may be 4KB, disk block number. the information of each set of disk blocks included in the set of disk blocks and said disk default block size, the total size can be obtained for each group of disk blocks; engine according to the total size of the memory block of each disk, disk blocks for each group classified, for example, for a total of three sets of disk blocks comprising: a first group of disk blocks of information comprising: a first address 200KB, comprising a total of two disk blocks, the total size of the first set of disk block is 8KB; a second set of disk blocks of information comprising: a first address 512KB, comprising a total of 16 disk blocks the total size of the second set of disk blocks for 64KB; a third set of disk blocks of information comprising: a 768KB first address, a total of 128 including disk blocks, the total size of the third set of disk block is 512KB; then the magnetic 盘块可以被划为三类:第一类的大小为8KB,第二类的大小为64KB,第三类的大小为512KB。 Disk blocks may be classified into three categories: the first category is the size 8KB, the size of the second type is 64KB, the size of the third category is 512KB. 应用程序或数据库根据读写请求的连续性将分类后的存储块分配给所述读写请求,具体地,由于数据库中的数据文件随机读写较多,且数据文件的数据页比较小时,优先从小磁盘块分组中分配磁盘块,举例为:从第一类磁盘分组中分配磁盘块,由此,对于数据文件中数据页面可能大于文件系统最小分配单元时,本文件系统可以预先对齐,避免跨块;当数据库中的日志文件都是连续读写,数据块比较大时,优先从大磁盘块分组中分配磁盘块,举例为,从第三类磁盘块分组中分配磁盘块;当磁盘块不足时,允许大的磁盘块拆分为小的磁盘块,或将小的磁盘块合并为逻辑上连续的大的磁盘块使用,但是,此时需要提示用户数据文件或者日志文件的连续性不足。 Application or database memory block allocated to the read and write requests are classified according to continuity of the read and write requests, in particular, since the data files in the database are more random read and write, and data pages is relatively small data file, the priority small disk blocks allocated disk blocks in the packet, as for example: allocating disk blocks from the first type disk group, whereby, when a page of data for the data file may be greater than the minimum allocation unit file system, this file system can be aligned in advance, to avoid cross- block; when the log file in the database is continuously read, a relatively large data blocks, the disk blocks preferentially allocated disk blocks from a large packet, for example, for allocation of disk blocks from the third block packet type disk; when there is insufficient disk blocks when, allowing a large disk split into smaller blocks of disk blocks, or small disk blocks are merged into larger continuous blocks using logical disk, however, this time suggesting that lack of continuity requires a user data file or log file.

[0050] 图4为本发明实施例二提供的分配存储空间的方法流程图。 [0050] FIG. 4 according to a second method of allocating memory space flowchart of embodiments of the present invention. 所述方法的执行主体可以为文件系统。 The subject method may be performed for the file system. 如图4所示,所述方法具体包括: The method shown in FIG. 4 comprises:

[0051] S410,接收应用程序发送的查询文件存储信息请求消息,所述查询文件存储信息请求消息中包括文件句柄。 [0051] S410, the query file storage information receiving application sends a request message, the query message comprises a request file to store information file handle.

[0052] 参见图3,首先在系统调用层新增系统调用接口:int GetFileBlock_name(const char氺pathname, char氺buf, int size)或者int GetFileBlock_fd (const intfd, char*buf, int size),应用程序或者具体为数据库通过调用上述操作系统的接口函数(通过参数pathname)向文件系统发送文件句柄,其中,该文件句柄对应的文件可以为数据文件,也可以为日志文件。 [0052] Referring to Figure 3, first the system call interface in new system call level: int GetFileBlock_name (const char Shui pathname, char Shui buf, int size) or int GetFileBlock_fd (const intfd, char * buf, int size), the application or specifically transmitted to a database by calling the above function of the operating system interface (parameter pathname) file handle to the file system, wherein the file handle corresponding to the file may be a data file may be a log file.

[0053] S420,根据所述文件句柄从所述操作系统的进程管理模块中查找所述文件句柄所对应的文件,并查找所述文件对应的标识号。 [0053] S420, according to the find the file handle from said process management module operating system file corresponding to the file handle, and look for an identification number corresponding to the file.

[0054] 举例来说,参见图3中,文件系统接收到上述应用程序或者数据库发送的文件句柄fd之后,根据该文件句柄从操作系统的进程管理模块管理的当前任务的task结构体中查找是否含有此文件句柄fd,此处,应用程序中所有打开的文件的文件句柄均记载在task结构体中,其中,文件与文件句柄是一对多的关系,即一个文件对应多个文件句柄,根据其中一个文件句柄可以唯一的找出一个文件;具体地,当文件系统从task结构体中查找到文件句柄fd时,就可以根据该fd从进程管理模块中查找到与fd对应的文件的相关信息,举例为,该文件的相关信息可以记载在进程管理模块的file结构体中,而file结构体中包括参数address_space,其中,参数address_space的inode字段中记载了与上述文件在存储器上对应的标识号,因此,根据上述文件句柄就可以查找到该文件对应的标识号。 [0054] For example, in Figure 3, after receiving the file system or the application program database file handle fd transmitted, to find out whether the current task from the task structure of the process management module of the operating system managed in accordance with the filehandle this contains a file handle fd, here, the application file handles all open files are described in the task structure, wherein the file with the file handle many relationship, i.e. a file handle corresponding to a plurality of files, according to wherein a file handle can uniquely identify a document; specifically, when the system looks for a file from a task to the structural body file handle fd, you can find from the process management module corresponding to the file based on the fd fd infos , for example, for information about the file may be described in the file structure of the process management module, and the file structure includes parameters the address_space, wherein, the address_space parameters inode field describes the identification number of the above-described corresponding to the file in the memory Therefore, according to the above can find a file handle corresponding to the file identification number.

[0055] S430-S440 同步骤S230-S240 相同。 [0055] S430-S440 identical with steps S230-S240.

[0056] 图5为本发明实施例三提供的分配存储空间的装置示意图,所述装置用于执行图2或图4所示的方法。 [0056] FIG. 5 is a schematic view of allocated storage apparatus according to a third embodiment of the apparatus performing the method shown in FIG. 2 or FIG. 4 for the invention. 如图5所示,该装置包括:接收单元501、查找单元502、处理单元503和发送单元504。 5, the apparatus comprising: a receiving unit 501, a searching unit 502, the processing unit 503 and transmission unit 504.

[0057] 所述接收单元501,用于接收应用程序发送的查询文件存储信息请求消息,所述查询文件存储信息请求消息中包括文件信息。 The [0057] receiving unit 501, configured to receive a query file stores information request message sent by an application, said query request message includes information file storing file information. [0058] 所述查找单元502,用于查找所述接收单元501接收的所述文件信息所对应的文件,并查找所述文件对应的标识号。 [0058] The searching unit 502, the file information is used to find the file receiving unit 501 receives the corresponding identification number of the file and find the corresponding.

[0059] 可选地,所述查找单元502具体用于:检查所述文件名称是否合法,若所述文件名称合法,则查找所述文件名称所对应的文件是否存在,若所述文件存在,则根据所述文件名称查找所述文件对应的标识号。 [0059] Alternatively, the lookup unit 502 is specifically configured to: checking the file name is legitimate, valid if the file name, the file name is searched whether the corresponding file exists, if the file exists, Find the identification number corresponding to the file according to the file name.

[0060] 可选地,所述查找单元502具体用于:根据所述文件句柄从所述操作系统的进程管理模块中查找所述文件句柄所对应的文件,并查找所述文件对应的标识号。 [0060] Alternatively, the lookup unit 502 is specifically configured to: locate a file handle corresponding to the file of the operating system from the process management module in accordance with the file handle, and look for an identification number corresponding to the file .

[0061] 所述处理单元503,用于解析所述查找单元502查找的所述标识号,根据解析所述标识号的结果,获取所述文件在存储器上所占用的存储块的存储信息。 [0061] The processing unit 503 is configured to parse to find the identification numbers of the lookup unit 502, according to the result of the analysis of the identification number, acquiring the information storage block storing the file on the memory occupied.

[0062] 可选地,所述处理单元503具体用于:解析所述标识号,根据解析所述标识号的结果,获取所述文件在所述存储器上占用的所有存储块的信息,所述所有存储块的信息包括多组存储块的信息,其中,每组存储块的信息包括:该组存储块的起始地址信息和该组存储块包含的存储块个数。 [0062] Alternatively, the processing unit 503 is configured to: parse the identification number, according to the result of the analysis of the identification number, acquiring the information of all blocks in the file stored on the memory occupied by the All memory block includes information of a plurality of sets of memory blocks, wherein the information of each memory block comprising: a memory block start address information of the number of said plurality of storage blocks and the set of memory blocks included.

[0063] 所述发送单元504,用于向所述应用程序发送所述处理单元503获取的所述存储信息,以使所述应用程序根据所述存储信息对存储块进行分类,并使所述应用程序根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求。 [0063] The sending unit 504, configured to send to the application program of the processing unit 503 acquires the stored information, so that the application program classifies a memory block according to said stored information, and the the application according to the continuity allocated memory block read and write requests of the application program after the read and write requests to the classification.

[0064] 可选地,所述发送单元504具体用于:向所述应用程序发送所述存储信息,以使所述应用程序根据所述每组存储块包含的存储块个数和预设的存储块的大小,确定所述每组存储块的总大小,并根据所述每组存储块的总大小,对所述各组存储块进行分类,并根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求。 [0064] Alternatively, the transmitting unit 504 is specifically configured to: send the stored information to the application program, the application program according to the number of memory blocks of said memory blocks each comprising a predetermined and the size of the memory block, to determine the total size of each memory block, according to the total size of each memory block, the memory block groups each classified in accordance with the request and the write continuous application the block of memory allocated to the read request after the classification.

[0065] 本发明实施例提供的装置植入了本发明实施例一提供的方法,因此,本发明提供的装置的具体工作过程,在此不复赘述。 Means provided in the embodiment of the [0065] present invention implanted in an embodiment of the present invention to provide a method embodiment, therefore, specific working process of the present invention provides apparatus, it will not be repetitively described herein.

[0066] 综上,上述文件系统可以导出文件使用的磁盘分组信息,即可以导出逻辑存储空间,使应用程序或者数据库可以知道文件对应的存储空间的连续性,根据存储空间的连续性,支持应用程序或者数据库使用伙伴算法管理存储空间,保证文件的物理连续性,实现优化数据库日志文件连续读写、数据文件小块随机读写目的。 [0066] In summary, this file system can be derived using the disk information file group, i.e., logical storage space can be derived, so that the application or the database file corresponding to know the continuity of storage space, storage space according to the continuity of support applications program or database using the buddy system management memory space, to ensure the continuity of the physical file, optimized continuous read and write database log files, data files small random read and write purposes.

[0067] 需要说明的是,本发明实施例中以磁盘文件系统为例进行说明,但不限于磁盘文件系统,对于SSD、内存文件系统或者在连续性要求苛刻的场景中,同样可以采用本方案。 [0067] Incidentally, embodiments of the present invention to a disk file system as an example, but not limited to disk file system for the SSD, the memory file system or continuity demanding scenario, the present embodiment may also be employed .

[0068] 专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。 [0068] professionals should also be further appreciated that, as disclosed herein in conjunction with units and algorithm steps described exemplary embodiments, by electronic hardware, computer software, or a combination thereof. In order to clearly illustrate hardware and software interchangeability, in the above description, according to functions generally described compositions and steps of the examples. 这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。 Whether these functions are performed by hardware or software depends upon the particular application and design constraints of the technical solutions. 专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。 Professional technical staff may use different methods for each specific application to implement the described functionality, but such implementation should not be considered outside the scope of the present invention.

[0069] 结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。 [0069] The steps of a method or algorithm described in the embodiments disclosed herein may be implemented in hardware, or a combination thereof, in a software module executed by a processor to implement. 软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。 A software module may be placed in a random access memory (RAM), a memory, a read only memory (ROM), electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, CD-ROM, or within the technical field known any other form of storage medium.

[0070] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 [0070] The foregoing specific embodiments, objectives, technical solutions, and advantages of the invention will be further described in detail, it should be understood that the above descriptions are merely specific embodiments of the present invention, but not intended to limit the scope of the present invention, all within the spirit and principle of the present invention, any changes made, equivalent substitutions and improvements should be included within the scope of the present invention.

Claims (10)

1.一种分配存储空间的方法,其特征在于,所述方法包括: 接收应用程序发送的查询文件存储信息请求消息,所述查询文件存储信息请求消息中包括文件信息; 查找所述文件信息所对应的文件,并查找所述文件对应的标识号; 解析所述标识号,根据解析所述标识号的结果,获取所述文件在存储器上所占用的存储块的存储信息; 向所述应用程序发送所述存储信息,以使所述应用程序根据所述存储信息对存储块进行分类,并使所述应用程序根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求。 CLAIMS 1. A method for allocating memory space, wherein the method comprises: receiving a query file storing information request message sent by application program, in the query request message includes information file storing file information; searching the file information corresponding to the file and find the identification number corresponding to the file; parsing the identification number, the result of parsing the identification number, acquiring the information storage block storing the file on the memory occupied; to the application program transmitting said stored information, so that the application program classifies a memory block according to said stored information, and the application allocates memory blocks classified according to the continuity of the application of the read request said read and write requests.
2.根据权利要求1所述的方法,其特征在于,所述文件信息具体为文件名称,所述查找所述文件信息所对应的文件,并查找所述文件对应的标识号包括: 检查所述文件名称是否合法,若所述文件名称合法,则查找所述文件名称所对应的文件是否存在,若所述文件存在,则根据所述文件名称查找所述文件对应的标识号。 2. The method according to claim 1, wherein said particular information file as the file name, the file to find the information corresponding to the file, the file and find the corresponding identification number comprises: checking the the file name is valid, if the valid file name, the file name is searched whether the corresponding file exists, if the file exists, then find identification number corresponding to the file according to the file name.
3.根据权利要求1所述的方法,其特征在于,所述文件信息具体为文件句柄,所述查找所述文件信息所对应的文件,并查找所述文件对应的标识号包括: 根据所述文件句柄从所述操作系统的进程管理模块中查找所述文件句柄所对应的文件,并查找所述文件对应的标识号。 3. The method according to claim 1, wherein the file information for the particular file handle, the file to find the information corresponding to the file, the file and find the corresponding identification number comprises: according to the Find file file handle corresponding to the file handle of the operating system from the process management module and look for the corresponding identification number of the document.
4.根据权利要求1-3任一所述的方法,其特征在于,所述解析所述标识号,根据解析所述标识号的结果,获取所述文件在存储器上所占用的存储块的存储信息包括: 解析所述标识号,根据解析所述标识号的结果,获取所述文件在所述存储器上占用的所有存储块的信息,所述所有存储块的信息包括多组存储块的信息,其中,每组存储块的信息包括:该组存储块的起始地址信息和该组存储块包含的存储块个数。 4. The method according to any one of claims 1-3, characterized in that the analysis of the identification number, the result of parsing the identification number, acquiring the memory block storing the file on the memory occupied information includes: parsing the identification number, according to the result of the analysis of the identification number, acquiring the information of all blocks in the file stored on the memory occupied by said information comprises information for all the blocks of the plurality of sets of memory blocks, wherein the information of each memory block comprising: a memory block start address information of the number of said plurality of storage blocks and the set of memory blocks included.
5.根据权利要求4所述的方法,其特征在于,向所述应用程序发送所述存储信息,以使所述应用程序根据所述存储信息对存储块进行分类,并使所述应用程序根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求包括: 向所述应用程序发送所述存储信息,用以所述应用程序根据所述每组存储块包含的存储块个数和预设的存储块的大小,确定所述每组存储块的总大小,并根据所述每组存储块的总大小,对所述各组存储块进行分类,并根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求。 5. The method as claimed in claim 4, wherein, transmitting said stored information to the application program, the application program to classify the memory blocks according to said stored information, and according to the application program the continuity of read and write requests to an application allocated to the memory block read and write requests including the classified: transmitting said stored information to the application program, the application program for each of the memory blocks according to a preset number of memory blocks and the size of the memory block included in determining the total size of each memory block, according to the total size of each memory block, the memory block groups each classified according to the application program read and write requests to the continuity of memory blocks allocated to the read request after the classification.
6.一种分配存储空间的装置,其特征在于,所述装置包括:接收单元、查找单元、处理单元和发送单元; 所述接收单元,用于接收应用程序发送的查询文件存储信息请求消息,所述查询文件存储信息请求消息中包括文件信息; 所述查找单元,用于查找所述接收单元接收的所述文件信息所对应的文件,并查找所述文件对应的标识号; 所述处理单元,用于解析所述查找单元查找的所述标识号,根据解析所述标识号的结果,获取所述文件在存储器上所占用的存储块的存储信息; 所述发送单元,用于向所述应用程序发送所述处理单元获取的所述存储信息,以使所述应用程序根据所述存储信息对存储块进行分类,并使所述应用程序根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求。 A device for dispensing storage space, characterized in that said apparatus comprises: a receiving unit, a searching unit, a processing unit and a transmitting unit; the receiving unit, configured to query file storage application sends the received information request message, storing the query file information includes the file information request message; a searching unit configured to search the file received by the receiving unit corresponding to the file information, and find the identification number corresponding to the file; the processing unit for parsing the lookup unit searches the identification number, according to the result of the analysis of the identification number, acquiring the information storage block storing the file on the memory occupied; the sending unit configured to the transmitting the application program stored in the process information acquiring unit, so that the application program classifies a memory block according to said stored information, and the application requests to read and write the application program in accordance with the continuity of the memory blocks allocated to the read request after the classification.
7.根据权利要求6所述的装置,其特征在于,所述查找单元具体用于: 检查所述文件名称是否合法,若所述文件名称合法,则查找所述文件名称所对应的文件是否存在,若所述文件存在,则根据所述文件名称查找所述文件对应的标识号。 7. The device according to claim 6, wherein the searching unit is configured: to check the file name is legitimate, valid if the file name, the file name is searched whether the corresponding file exists If the file exists, then find identification number corresponding to the file according to the file name.
8.根据权利要求6所述的装置,其特征在于,所述查找单元具体用于: 根据所述文件句柄从所述操作系统的进程管理模块中查找所述文件句柄所对应的文件,并查找所述文件对应的标识号。 8. The apparatus according to claim 6, wherein the searching unit is configured to: locate a file handle corresponding to the file of the operating system from the process management module in accordance with the file handle, and find corresponding to the document identification number.
9.根据权利要求6-8任一所述的装置,其特征在于,所述处理单元具体用于: 解析所述标识号,根据解析所述标识号的结果,获取所述文件在所述存储器上占用的所有存储块的信息,所述所有存储块的信息包括多组存储块的信息,其中,每组存储块的信息包括:该组存储块的起始地址信息和该组存储块包含的存储块个数。 9. The apparatus according to any one of claims 6-8, characterized in that the processing unit is configured to: parse the identification number, the result of parsing the identification number, acquiring the file in the memory All information on the memory block occupied by the information of all memory blocks comprising a plurality of sets of memory blocks of information, wherein the information of each memory block comprising: a start address information of the group of storage blocks and the set of memory blocks included The number of memory blocks.
10.根据权利要求9所述的装置,其特征在于,所述发送单元具体用于: 向所述应用程序发送所述存储信息,以使所述应用程序根据所述每组存储块包含的存储块个数和预设的存储块的大小,确定所述每组存储块的总大小,并根据所述每组存储块的总大小,对所述各组存储块进行分类,并根据所述应用程序的读写请求的连续性将分类后的存储块分配给所述读写请求。 Transmitting information stored in the storage to the application program, so that the application program comprises a storage block of each group according to: 10. The apparatus according to claim 9, wherein the sending unit is configured the number of blocks and the predetermined size of the memory block, determining the total size of each memory block, according to the total size of each memory block, the memory block groups are classified, according to the application and the continuity of the program write request to the allocated memory block read and write requests after classification.
CN201410083434.2A 2014-03-07 2014-03-07 Method and device for distributing storage space CN103810114A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410083434.2A CN103810114A (en) 2014-03-07 2014-03-07 Method and device for distributing storage space

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410083434.2A CN103810114A (en) 2014-03-07 2014-03-07 Method and device for distributing storage space

Publications (1)

Publication Number Publication Date
CN103810114A true CN103810114A (en) 2014-05-21

Family

ID=50706908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410083434.2A CN103810114A (en) 2014-03-07 2014-03-07 Method and device for distributing storage space

Country Status (1)

Country Link
CN (1) CN103810114A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022399A (en) * 2016-05-06 2016-10-12 庞震伟 Two-dimensional code, two-dimensional code label, two-dimensional code application system formation method and two-dimensional code use method
CN106383666A (en) * 2016-09-07 2017-02-08 东信和平科技股份有限公司 Data storage method and apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1377502A (en) * 1999-08-03 2002-10-30 松下电器产业株式会社 Method and apparatus for AV data recording, and disk recorded by method and apparatus
CN102662992A (en) * 2012-03-14 2012-09-12 北京搜狐新媒体信息技术有限公司 Method and device for storing and accessing massive small files
US20140032495A1 (en) * 2010-05-28 2014-01-30 Commvault Systems, Inc. Systems and methods for performing data replication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1377502A (en) * 1999-08-03 2002-10-30 松下电器产业株式会社 Method and apparatus for AV data recording, and disk recorded by method and apparatus
US20140032495A1 (en) * 2010-05-28 2014-01-30 Commvault Systems, Inc. Systems and methods for performing data replication
CN102662992A (en) * 2012-03-14 2012-09-12 北京搜狐新媒体信息技术有限公司 Method and device for storing and accessing massive small files

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022399A (en) * 2016-05-06 2016-10-12 庞震伟 Two-dimensional code, two-dimensional code label, two-dimensional code application system formation method and two-dimensional code use method
CN106383666A (en) * 2016-09-07 2017-02-08 东信和平科技股份有限公司 Data storage method and apparatus

Similar Documents

Publication Publication Date Title
Cao et al. Collective spatial keyword querying
Vora Hadoop-HBase for large-scale data
US8478799B2 (en) Namespace file system accessing an object store
US8793227B2 (en) Storage system for eliminating duplicated data
US8065484B2 (en) Enhanced access to data available in a cache
RU2378693C2 (en) Matching request and record
US7254580B1 (en) System and method for selectively searching partitions of a database
US10013317B1 (en) Restoring a volume in a storage system
US8762353B2 (en) Elimination of duplicate objects in storage clusters
Chen et al. Spatial keyword query processing: an experimental evaluation
US20040205044A1 (en) Method for storing inverted index, method for on-line updating the same and inverted index mechanism
Wu et al. Joint top-k spatial keyword query processing
US6754799B2 (en) System and method for indexing and retrieving cached objects
Zhang et al. Inverted linear quadtree: Efficient top k spatial keyword search
US8397028B2 (en) Index entry eviction
US8751763B1 (en) Low-overhead deduplication within a block-based data storage
US20040098544A1 (en) Method and apparatus for managing a memory system
WO2004114148A1 (en) Heterogeneous indexing for annotation systems
JP2005122702A (en) Method and apparatus for improving integration between search engine and one or more file servers
WO2010048789A1 (en) Index building, querying method, device, and system for distributed column memory database
CN101390080A (en) Serving cached query results based on a query portion
Chen et al. An efficient query indexing mechanism for filtering geo-textual data
US9542409B2 (en) Deduplicated file system
WO2010099715A1 (en) Method, system, client and data server for data operation
CN102968498A (en) Method and device for processing data

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
WD01