TWI770732B - Storage management system and searching and sorting method thereof - Google Patents

Storage management system and searching and sorting method thereof Download PDF

Info

Publication number
TWI770732B
TWI770732B TW109145374A TW109145374A TWI770732B TW I770732 B TWI770732 B TW I770732B TW 109145374 A TW109145374 A TW 109145374A TW 109145374 A TW109145374 A TW 109145374A TW I770732 B TWI770732 B TW I770732B
Authority
TW
Taiwan
Prior art keywords
result list
matching
list
client
search
Prior art date
Application number
TW109145374A
Other languages
Chinese (zh)
Other versions
TW202225951A (en
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 TW109145374A priority Critical patent/TWI770732B/en
Publication of TW202225951A publication Critical patent/TW202225951A/en
Application granted granted Critical
Publication of TWI770732B publication Critical patent/TWI770732B/en

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A storage management system includes an input unit; and a file system server, including at least one storage unit, based on a file system; and an application program interface server, including an application program interface based on an object storage. The application program interface server lists and sorts all files and all directory names of the same level in the file system of the at least one storage unit according to at least one prefix, and lists at least one matching file or at least one matching directory that matches the at least one prefix as a result list. If the result list includes the at least one matching directory, the application program interface server adds and sorts all files and all directories under the at least one matching directory until all of the listed result list is matching file data.

Description

儲存管理系統及其搜尋排序方法 Storage management system and search sorting method thereof

本發明係指一種儲存管理系統及其搜尋排序方法,尤指一種可避免花費大量時間排序而導致超時停止之儲存管理系統及其搜尋排序方法。 The present invention relates to a storage management system and a search sorting method thereof, in particular to a storage management system and a search sorting method thereof which can avoid overtime stop due to spending a lot of time sorting.

在習知技術中,使用者由以物件儲存(object storage)為基礎之雲端伺服器(如亞馬遜雲端運算服務,Amazon Web Services,AWS)轉為使用以檔案系統為基礎之網路附加儲存(Network Attached Storage,NAS)伺服器或其他以檔案系統為基礎的電子產品時,由於使用者已習慣以物件儲存方式呈現儲存檔案資料內容,因此以檔案系統為基礎之網路附加儲存伺服器會提供以物件儲存為基礎之一應用程式介面供使用者操作。 In the prior art, users switch from object storage-based cloud servers (such as Amazon Cloud Computing Services, Amazon Web Services, AWS) to file system-based network attached storage (Network Attached Storage). Attached Storage, NAS) server or other file system-based electronic products, since users are accustomed to presenting the content of the stored file data in the form of object storage, the file system-based network attached storage server will provide Object storage is based on an application programming interface for user operations.

然而,透過檔案系統模擬成物件儲存,當單一目錄內含有大量的檔案及目錄時,以習知物件儲存方式先列出全部內容會花費大量時間而導致超時(timeout)停止。有鑑於此,習知技術實有改進之必要。 However, by simulating object storage through the file system, when a single directory contains a large number of files and directories, listing all the contents first in the conventional object storage method will take a lot of time and cause a timeout to stop. In view of this, it is necessary to improve the prior art.

因此,本發明之主要目的即在於提供一種可避免花費大量時間排序 而導致超時停止儲存管理系統及其搜尋排序方法。 Therefore, the main purpose of the present invention is to provide a sorting method that can avoid spending a lot of time As a result, the storage management system and its search sorting method are stopped due to timeout.

本發明揭露一種儲存管理系統,包含一輸入單元,用來取得一客戶端所提供之至少一目錄字串;以及一檔案系統伺服器,包含至少一儲存單元以及一應用程式介面伺服器,該至少一儲存單元以一檔案系統為基礎,該應用程式介面伺服器包含以一物件儲存為基礎之一應用程式介面;其中,該應用程式介面伺服器根據該至少一目錄字串,列出並排序該至少一儲存單元之該檔案系統中同一階層所有檔案及所有目錄名稱,之後該應用程式介面伺服器列出符合該至少一目錄字串之至少一符合檔案或至少一符合目錄做為一結果清單,若該應用程式介面伺服器所列出之該結果清單包含該至少一符合目錄,該應用程式介面伺服器增加列出並排序該至少一符合目錄中所有檔案及所有目錄,直到所列出之該結果清單皆為符合檔案資料為止並將該結果清單之該符合檔案資料回傳給該應用程式介面,該應用程式介面傳送該結果清單之該符合檔案資料給該客戶端。 The invention discloses a storage management system, comprising an input unit for obtaining at least one directory string provided by a client; and a file system server comprising at least one storage unit and an application programming interface server, the at least one A storage unit is based on a file system, the API server includes an API based on an object storage; wherein the API server lists and sorts the All files and all directory names at the same level in the file system of at least one storage unit, and then the API server lists at least one matching file or at least one matching directory matching the at least one directory string as a result list, If the result list listed by the API server includes the at least one matching directory, the API server additionally lists and sorts all files and all directories in the at least one matching directory until the listed The result list is all matched file data, and the matched file data of the result list is returned to the application programming interface, and the application program interface transmits the matched file data of the result list to the client.

本發明另揭露一種搜尋排序方法,用於一儲存管理系統,該儲存管理系統中一檔案系統伺服器包含至少一儲存單元以及一應用程式介面伺服器,該至少一儲存單元以一檔案系統為基礎,該應用程式介面伺服器包含以一物件儲存為基礎之一應用程式介面,該搜尋排序流程包含:取得一客戶端所提供之至少一目錄字串(prefix);根據該至少一目錄字串,列出並排序該至少一儲存單元之該檔案系統中同一階層所有檔案及所有目錄名稱;列出符合該至少一目錄字串之至少一符合檔案或至少一符合目錄做為一結果清單;若所列出之該結果清單包含該至少一符合目錄,增加列出並排序該至少一符合目錄中所有檔案及所有目錄,直到所列出之該結果清單皆為符合檔案資料為止;以及傳送該結果 清單之該符合檔案資料給該客戶端。 The present invention further discloses a search sorting method for a storage management system, wherein a file system server in the storage management system includes at least one storage unit and an application programming interface server, and the at least one storage unit is based on a file system , the application programming interface server includes an application programming interface based on an object storage, and the search sorting process includes: obtaining at least one directory string (prefix) provided by a client; according to the at least one directory string, List and sort all files and all directory names at the same level in the file system of the at least one storage unit; list at least one matching file or at least one matching directory matching the at least one directory string as a result list; if all The listed result list includes the at least one matching directory, additionally listing and sorting all files and all directories in the at least one matching directory until the listed result list is all matching file data; and transmitting the result List the matching file data to the client.

30:儲存管理系統 30: Storage Management System

32:客戶端 32: Client

300:輸入單元 300: input unit

302:檔案系統伺服器 302: Filesystem server

304:儲存單元 304: Storage Unit

306:應用程式介面伺服器 306: API Server

308:應用程式介面 308: API

40:流程 40: Process

400~418:步驟 400~418: Steps

PF:目錄字串 PF: directory string

MR:結果清單 MR: List of Results

MD:符合檔案資料 MD: match file data

第1圖為檔案系統之存放方式之示意圖。 Figure 1 is a schematic diagram of the storage method of the file system.

第2圖為物件儲存之存放方式之示意圖。 Figure 2 is a schematic diagram of the storage method of object storage.

第3圖為本發明實施例一儲存管理系統之示意圖。 FIG. 3 is a schematic diagram of a storage management system according to an embodiment of the present invention.

第4圖為本發明實施例一搜尋排序流程之示意圖。 FIG. 4 is a schematic diagram of a search sorting process according to an embodiment of the present invention.

第5圖至第6圖為本發明實施例第3圖所示檔案系統伺服器之操作示意圖。 FIG. 5 to FIG. 6 are schematic diagrams of operations of the file system server shown in FIG. 3 according to the embodiment of the present invention.

第7圖為本發明實施例第3圖所示檔案系統伺服器之另一操作示意圖。 FIG. 7 is another schematic diagram of the operation of the file system server shown in FIG. 3 according to the embodiment of the present invention.

請參考第1圖及第2圖,第1圖為檔案系統之存放方式之示意圖,第2圖為物件儲存之存放方式之示意圖。如第1圖及第2圖所示,由於物件儲存之存放方式較為分散而不如檔案系統之存放方式具有階層關係,因此在客戶端設定搜尋條件欲取得相關檔案資料時,物件儲存之存放方式需先列出並排序所有檔案,接著去除不符合搜尋條件的檔案,然後去除多餘的檔案,最後返回結果。 Please refer to Figure 1 and Figure 2, Figure 1 is a schematic diagram of the storage method of the file system, and Figure 2 is a schematic diagram of the storage method of object storage. As shown in Figure 1 and Figure 2, since the storage method of object storage is relatively scattered and not as hierarchical as the storage method of the file system, when the client sets the search conditions to obtain the relevant file data, the storage method of the object storage needs to be List and sort all files first, then remove files that do not meet the search criteria, then remove redundant files, and finally return the results.

舉例來說,客戶端設定搜尋條件為“家具/臥室/”之一目錄字串(prefix)並要求列出100筆資料,則物件儲存之存放方式除需先列出並排序“家具/臥室/”目錄下所有檔案外,亦需列出並排序同一階層“家具/客廳/”及“家具/餐廳/”目錄下所有檔案,接著再去除不符合搜尋條件“家具/臥室/”之檔案,然後返回“家具/臥室/”目錄下100筆檔案。 For example, if the client sets the search condition as a directory string (prefix) of "furniture/bedroom/" and requests to list 100 pieces of data, the storage method of object storage must first list and sort "furniture/bedroom/". In addition to all the files in the "furniture/living room/" and "furniture/dining/" directories in the same hierarchy, you also need to list and sort all the files in the "furniture/living room/" and "furniture/dining/" directories, and then remove the files that do not meet the search criteria "furniture/bedroom/", then Return 100 files in the "furniture/bedroom/" directory.

在此情況下,對於以檔案系統為基礎之網路附加儲存(Network Attached Storage,NAS)伺服器或其他以檔案系統為基礎的電子產品,在提供以物件儲存為基礎之一應用程式介面供使用者操作時,若仍先列出並排序所有檔案,當單一目錄內含有大量的檔案及目錄時,會花費大量時間而導致超時(timeout)停止,而對檔案系統之存放方式具有階層關係之伺服器造成無謂的錯誤。 In this case, for file system-based Network Attached Storage (NAS) servers or other file system-based electronic products, an object storage-based application programming interface is provided for use When the user operates, if all files are listed and sorted first, when a single directory contains a large number of files and directories, it will take a lot of time and cause the timeout to stop, and the storage method of the file system has a hierarchical relationship. The server caused an unnecessary error.

請參考第3圖,第3圖為本發明實施例一儲存管理系統30之示意圖。如第3圖所示,儲存管理系統30包含一輸入單元300以及一檔案系統伺服器302,檔案系統伺服器302包含至少一儲存單元304以及一應用程式介面(Application Programming Interface)伺服器306(或一代理伺服器,proxy server)。簡單來說,輸入單元300可取得一客戶端32所提供之至少一目錄字串(prefix)PF,至少一儲存單元304以一檔案系統為基礎,應用程式介面伺服器306包含以一物件儲存(object storage)為基礎之一應用程式介面308。 Please refer to FIG. 3 , which is a schematic diagram of a storage management system 30 according to an embodiment of the present invention. As shown in FIG. 3, the storage management system 30 includes an input unit 300 and a file system server 302. The file system server 302 includes at least one storage unit 304 and an Application Programming Interface (Application Programming Interface) server 306 (or A proxy server, proxy server). In short, the input unit 300 can obtain at least one directory string (prefix) PF provided by a client 32, at least one storage unit 304 is based on a file system, and the API server 306 includes an object storage ( object storage) as an application programming interface 308.

在此結構下,當輸入單元300接收來自客戶端32之至少一目錄字串PF時,應用程式介面伺服器306根據至少一目錄字串PF,列出並排序至少一儲存單元304之檔案系統中同一階層所有檔案及所有目錄,之後應用程式介面伺服器306列出符合至少一目錄字串PF之至少一符合檔案或至少一符合目錄做為一結果清單MR;若應用程式介面伺服器306所列出之結果清單MR包含至少一符合目錄,應用程式介面伺服器306增加列出並排序至少一符合目錄中所有檔案及所有目錄,直到所列出之結果清單MR皆為符合檔案資料MD為止(即不包含任何符合目錄)並將結果清單MR之符合檔案資料MD回傳給應用程式介面308,應用程式介面308傳送結果清單MR之符合檔案資料MD給客戶端32。如此一來,本發明 實施例僅需列出符合客戶端32搜尋條件(如目錄字串PF)之符合檔案資料再依終止條件進行回傳,而不需將至少一儲存單元304中所有檔案先列出並排序,以避免花費大量時間排序而導致超時停止。 Under this structure, when the input unit 300 receives at least one directory string PF from the client 32, the API server 306 lists and sorts the file system of the at least one storage unit 304 according to the at least one directory string PF. All files and all directories at the same level, and then the API server 306 lists at least one matching file or at least one matching directory matching at least one directory string PF as a result list MR; if the API server 306 lists The output result list MR includes at least one matching directory, and the application programming interface server 306 additionally lists and sorts all files and all directories in the at least one matching directory until the listed result list MR is all matching file data MD (ie does not contain any matching directory) and returns the matching file data MD of the result list MR to the API 308 , and the API 308 sends the matching file data MD of the result list MR to the client 32 . As such, the present invention The embodiment only needs to list the matching file data that meet the search conditions (such as the directory string PF) of the client 32, and then return it according to the termination conditions, and does not need to list and sort all the files in the at least one storage unit 304 first, so as to Avoid spending a lot of time sorting and causing the timeout to stop.

詳細來說,請參考第4圖,第4圖為本發明實施例一搜尋排序流程40之示意圖。搜尋排序流程40用於應用程式介面伺服器306中,其包含以下步驟: For details, please refer to FIG. 4 , which is a schematic diagram of a search sorting process 40 according to an embodiment of the present invention. The search ranking process 40 is used in the API server 306 and includes the following steps:

步驟400:開始。 Step 400: Start.

步驟402:根據一搜尋條件之目錄字串PF決定起點。 Step 402: Determine the starting point according to the directory string PF of a search condition.

步驟404:列出並排序同一階層所有檔案及所有目錄做為一清單之項目。 Step 404: List and sort all files and all directories in the same hierarchy as items of a list.

步驟406:依序取出清單中之項目。 Step 406: Take out the items in the list in sequence.

步驟408:所取出之項目是否滿足一終止條件?若是,則進行步驟410;若否,則進行步驟412。 Step 408: Does the retrieved item satisfy a termination condition? If yes, go to step 410; if not, go to step 412.

步驟410:列出結果清單MR。 Step 410: List the result list MR.

步驟412:所取出之項目是否滿足一搜尋條件?若是,則進行步驟414;若否,則進行步驟406。 Step 412: Does the retrieved item satisfy a search condition? If yes, go to step 414; if not, go to step 406.

步驟414:將取出之項目放入結果清單MR。 Step 414: Put the extracted item into the result list MR.

步驟416:所取出之項目是否為一資料夾?若是,則進行步驟418;若否,則進行步驟406。 Step 416: Is the extracted item a folder? If yes, go to step 418; if not, go to step 406.

步驟418:增加列出並排序所取出資料夾中所有檔案及所有目錄。 Step 418: Add list and sort all files and all directories in the extracted folder.

舉例來說,請一併參考第5圖至第6圖,第5圖至第6圖為第3圖所示檔案系統伺服器302之操作實施例之示意圖。如第4圖至第6圖所示,在至少一儲存單元304之檔案系統結構如第5圖至第6圖右側所示的情況下,當接收來自客戶端 32之搜尋條件中目錄字串為“b/”及終止條件中限數(limit)為5時(即最後所列出結果清單之符合檔案資料之數量小於或等於5),搜尋排序流程40根據目錄字串“b/”決定起點(步驟402),然後列出並排序同一階層所有目錄a/、b/、c/、d/做為一清單之項目(步驟404)。接著,依序取出清單中之項目(步驟406),由於所取出之項目a/不滿足目錄字串為“b/”之搜尋條件(步驟412),因此再取下一項目b/(步驟406);此時項目b/滿足目錄字串為“b/”之搜尋條件(步驟412),因此將項目b/放入結果清單MR(步驟414)。由於項目b/為一資料夾(步驟416),增加列出並排序所取出資料夾b/中一目錄b/b1/(步驟418)。然後,再取下一項目b/b1/重覆上述動作後,由於項目b/b1/亦為一資料夾(步驟416),增加列出並排序所取出資料夾b/b1/中一目錄b/b1/b2/(步驟418)。最後,再取下一項目b/b1/b2/重覆上述動作後,由於項目b/b1/b2/亦為一資料夾(步驟416),增加列出並排序所取出資料夾b/b1/中檔案b/b1/b2/file1~b/b1/b2/file10(步驟418)。 For example, please refer to FIG. 5 to FIG. 6 together. FIG. 5 to FIG. 6 are schematic diagrams of an operation embodiment of the file system server 302 shown in FIG. 3 . As shown in FIG. 4 to FIG. 6, in the case where the file system structure of at least one storage unit 304 is as shown on the right side of FIG. 5 to FIG. When the directory string in the search condition of 32 is "b/" and the limit in the termination condition is 5 (that is, the number of matching file data in the last result list is less than or equal to 5), the search sorting process 40 is based on The directory string "b/" determines the starting point (step 402), and then lists and sorts all directories a/, b/, c/, d/ in the same hierarchy as items in a list (step 404). Next, the items in the list are sequentially fetched (step 406 ). Since the fetched item a/ does not satisfy the search condition that the directory string is “b/” (step 412 ), the next item b/ is fetched (step 406 ). ); now the item b/ satisfies the search condition that the directory string is "b/" (step 412), so the item b/ is put into the result list MR (step 414). Since the item b/ is a folder (step 416), a directory b/b1/ in the fetched folder b/ is listed and sorted (step 418). Then, after the next item b/b1/ is taken out and the above operations are repeated, since the item b/b1/ is also a folder (step 416), a directory b in the taken out folder b/b1/ is added and sorted. /b1/b2/ (step 418). Finally, remove the next item b/b1/b2/ and repeat the above actions, since the item b/b1/b2/ is also a folder (step 416 ), increase the list and sort the removed folder b/b1/ files b/b1/b2/file1~b/b1/b2/file10 (step 418).

在此情況下,由於終止條件中限數為5,因此在將檔案b/b1/b2/file1~b/b1/b2/file5放入結果清單MR,再取下一項目b/b1/b2/file6(步驟406)後,會判斷結果清單MR中符合檔案資料之數量等於限數5之終止條件(步驟408),而列出結果清單MR中符合檔案b/b1/b2/file1~b/b1/b2/file5,並儲存此時據以產生結果清單MR之搜尋清單於快取(cache)或其他記憶單元供下次查詢使用。如此一來,相較於習知技術需先列出並排序第5圖至第6圖右側所示兩百多萬筆資料而導致超時停止,本發明實施例僅需列出並排序符合客戶端32搜尋條件之搜尋清單(約十幾筆),再依終止條件列出結果清單MR,而可避免花費大量時間排序而導致超時停止。 In this case, since the limit of termination conditions is 5, the files b/b1/b2/file1~b/b1/b2/file5 are put into the result list MR, and the next item b/b1/b2/ After file6 (step 406), it is determined that the number of files in the result list MR is equal to the termination condition that the number of file data is equal to the limit of 5 (step 408), and files b/b1/b2/file1~b/b1 in the result list MR are listed. /b2/file5, and store the search list based on which the result list MR is generated at this time in a cache or other memory unit for the next query. In this way, compared with the prior art, which needs to list and sort more than two million pieces of data shown on the right side of FIG. 5 to FIG. 6, which results in a timeout and stop, the embodiment of the present invention only needs to list and sort the data according to the customer requirements. The terminal 32 searches the search list of the conditions (about a dozen or so), and then lists the result list MR according to the termination conditions, so as to avoid spending a lot of time sorting and causing the timeout to stop.

值得注意的是,由上述可知,本發明實施例僅需列出並排序符合客 戶端32搜尋條件之搜尋清單(約十幾筆),再依終止條件列出結果清單MR,而可避免花費大量時間排序而導致超時停止。本領域具通常知識者當可據以進行修飾或變化,而不限於此。舉例來說,上述實施例中以目錄字串“b/”為搜尋條件而限數5為終止條件,但在其它實施例中,亦使用或增加其它條件做為搜尋條件及終止條件。 It is worth noting that, as can be seen from the above, the embodiment of the present invention only needs to list and sort the The client 32 searches the search list of the conditions (about a dozen or so), and then lists the result list MR according to the termination conditions, so as to avoid taking a lot of time to sort and cause the timeout to stop. Those with ordinary knowledge in the art can make modifications or changes accordingly, but are not limited to this. For example, in the above embodiment, the directory string "b/" is used as the search condition and the limit of 5 is used as the termination condition, but in other embodiments, other conditions are also used or added as the search condition and the termination condition.

具體而言,請參考第7圖,第7圖為第3圖所示檔案系統伺服器302之另一操作實施例之示意圖。如第7圖所示,由於第7圖之操作是接續第6圖之操作且存有前次搜尋清單,因此接收來自客戶端32之一新搜尋條件所包含目錄字串同樣為“b/”時,可直接預讀取(preload)使用上次搜尋清單不需進行第5圖至第6圖之操作重新列出並排序,此時新搜尋條件中可另包含一標籤(marker),用來指示搜尋清單中依序取出之一起始位置(如標籤為b/b1/b2/file5,則依序取出之起始位置為b/b1/b2/file6)。接著,在將檔案b/b1/b2/file6~b/b1/b2/file10放入結果清單MR後,判斷後續所取出之項目c/、d/不滿足目錄字串為“b/”之搜尋條件(步驟412),此時即使結果清單MR中符合檔案資料之數量為5小於本次限數為10之終止條件,但仍滿足搜尋清單已空(即已達搜尋清單中最後一者)之終止條件,因而列出結果清單MR中符合檔案b/b1/b2/file6~b/b1/b2/file10。如此一來,本發明在相同目錄字串時可使用相同搜尋清單以節省時間,且可使用標籤指示搜尋清單中依序取出之起始位置而更具彈性。 Specifically, please refer to FIG. 7 , which is a schematic diagram of another operating embodiment of the file system server 302 shown in FIG. 3 . As shown in Fig. 7, since the operation in Fig. 7 is a continuation of the operation in Fig. 6 and the previous search list is stored, the directory string included in a new search condition received from the client 32 is also "b/" , you can directly preload (preload) the use of the last search list without performing the operations in Figures 5 to 6 to re-list and sort. At this time, the new search criteria can include another label (marker) for Indicates a starting position to fetch sequentially in the search list (if the label is b/b1/b2/file5, the starting position to fetch sequentially is b/b1/b2/file6). Next, after putting the files b/b1/b2/file6~b/b1/b2/file10 into the result list MR, it is determined that the subsequent extracted items c/ and d/ do not satisfy the search for the directory string "b/" Condition (step 412), at this time, even if the number of matching files in the result list MR is 5 less than the termination condition that the limit is 10 this time, it still satisfies the condition that the search list is empty (that is, it has reached the last one in the search list). The termination condition is thus listed in the result list MR that matches the files b/b1/b2/file6~b/b1/b2/file10. In this way, the present invention can use the same search list for the same directory string to save time, and can use the label to indicate the starting position in the search list to be retrieved in sequence, which is more flexible.

除此之外,客戶端32對儲存管理系統30進行查詢之輸入方式並未有限制。舉例來說,使用者在客戶端32可透過一使用者介面(user interface)輸入搜尋條件及終止條件進行查詢,在使用者介面為一視窗介面的情況下,使用者點擊一資料夾即相當於發出相對應目錄字串及預設限數(如預設限數為1000), 而在使用者介面為一指令介面的情況下,使用者可自行輸入目錄字串及限數,而不限於此。再者,輸入單元300亦可取得客戶端32所提供之一限制條件中一分隔符號(delimitor),使結果清單MR不列出分隔符號後之內容。 Besides, the input method for the client 32 to query the storage management system 30 is not limited. For example, the user can input search criteria and termination criteria through a user interface (user interface) on the client 32 for query. In the case where the user interface is a window interface, clicking on a folder is equivalent to Send the corresponding directory string and the default limit (for example, the default limit is 1000), In the case where the user interface is a command interface, the user can input the directory string and the limit by himself, but it is not limited thereto. Furthermore, the input unit 300 can also obtain a delimiter in a restriction condition provided by the client 32, so that the result list MR does not list the content after the delimiter.

此外,檔案系統伺服器302可包含一處理裝置及一儲存單元。處理裝置可為一微處理器或一特殊應用積體電路(application-specific integrated circuit,ASIC)。儲存單元可為任一資料儲存裝置,用來儲存一程式碼,並透過處理裝置讀取及執行程式碼,以執行上述操作。儲存單元可為硬碟(hard disk drives,HDD)、固態硬碟(solid state drives,SDD)、用戶識別模組(subscriber identity module,SIM)、唯讀式記憶體(read-only memory,ROM)、隨機存取記憶體(random-access memory,RAM)、光碟唯讀記憶體(CD-ROMs)、磁帶(magnetic tapes)、軟碟(floppy disks)、光學資料儲存裝置(optical data storage devices)等等,而不限於此。 In addition, the file system server 302 may include a processing device and a storage unit. The processing device may be a microprocessor or an application-specific integrated circuit (ASIC). The storage unit can be any data storage device used to store a code, and read and execute the code through the processing device to perform the above operations. The storage unit can be hard disk drives (HDD), solid state drives (SDD), subscriber identity module (SIM), read-only memory (ROM) , random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, etc. etc., but not limited to this.

綜上所述,本發明可僅需列出並排序符合客戶端搜尋條件之搜尋清單,再依終止條件列出結果清單,而可避免花費大量時間排序而導致超時停止。以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。 To sum up, the present invention can only list and sort the search lists that meet the search conditions of the client, and then list the result lists according to the termination conditions, thereby avoiding the time-consuming sorting and the overtime stop. The above descriptions are only preferred embodiments of the present invention, and all equivalent changes and modifications made according to the scope of the patent application of the present invention shall fall within the scope of the present invention.

30:儲存管理系統 30: Storage Management System

32:客戶端 32: Client

300:輸入單元 300: input unit

302:檔案系統伺服器 302: Filesystem server

304:儲存單元 304: Storage Unit

306:應用程式介面伺服器 306: API Server

308:應用程式介面 308: API

PF:目錄字串 PF: directory string

MR:結果清單 MR: List of Results

MD:符合檔案資料 MD: match file data

Claims (18)

一種儲存管理系統,包含:一輸入單元,用來取得一客戶端所提供之至少一目錄字串(prefix);以及一檔案系統伺服器,包含至少一儲存單元以及一應用程式介面(Application Programming Interface)伺服器,該至少一儲存單元以一檔案系統為基礎,該應用程式介面伺服器包含以一物件儲存(object storage)為基礎之一應用程式介面;其中,該應用程式介面伺服器根據該至少一目錄字串,列出並排序該至少一儲存單元之該檔案系統中同一階層所有檔案及所有目錄名稱,之後該應用程式介面伺服器列出符合該至少一目錄字串之至少一符合檔案或至少一符合目錄做為一結果清單,若該應用程式介面伺服器所列出之該結果清單包含該至少一符合目錄,該應用程式介面伺服器增加列出並排序該至少一符合目錄中所有檔案及所有目錄,直到所列出之該結果清單皆為符合檔案資料為止並將該結果清單之該符合檔案資料回傳給該應用程式介面,該應用程式介面傳送該結果清單之該符合檔案資料給該客戶端。 A storage management system includes: an input unit for obtaining at least one directory string (prefix) provided by a client; and a file system server including at least one storage unit and an application programming interface (Application Programming Interface) ) server, the at least one storage unit is based on a file system, the API server includes an API based on an object storage; wherein the API server is based on the at least one A directory string that lists and sorts all files and all directory names at the same level in the file system of the at least one storage unit, and then the API server lists at least one matching file matching the at least one directory string or at least one matching directory is used as a result list, if the result list listed by the application programming interface server includes the at least one matching directory, the application programming interface server additionally lists and sorts all files in the at least one matching directory and all directories until the result list listed is all matching file data and returning the matching file data of the result list to the API, which sends the matching file data of the result list to the client. 如請求項1所述之儲存管理系統,其中該輸入單元取得該客戶端所提供之一終止條件中一限數(limit),該結果清單之該符合檔案資料之數量小於或等於該限數。 The storage management system of claim 1, wherein the input unit obtains a limit in a termination condition provided by the client, and the quantity of the matching file data in the result list is less than or equal to the limit. 如請求項2所述之儲存管理系統,其中該結果清單之該符合檔案資料之數量等於該限數時,該應用程式介面伺服器將該結果清單之該符合檔案資料回傳給該應用程式介面,該應用程式介面傳送該結果清單之該符 合檔案資料給該客戶端。 The storage management system as described in claim 2, wherein when the number of the matching file data of the result list is equal to the limit, the API server returns the matching file data of the result list to the API , the API sends the symbol of the result list Combine file data to the client. 如請求項2所述之儲存管理系統,其中該結果清單之該符合檔案資料之數量小於該限數且已達一搜尋清單中最後一者時,該應用程式介面伺服器將該結果清單之該符合檔案資料回傳給該應用程式介面,該應用程式介面傳送該結果清單之該符合檔案資料給該客戶端。 The storage management system of claim 2, wherein when the number of the matching file data in the result list is less than the limit and has reached the last one in a search list, the API server The matching file data is returned to the API, and the API sends the matching file data of the result list to the client. 如請求項1所述之儲存管理系統,其中該應用程式介面伺服器於將該結果清單之該符合檔案資料回傳給該應用程式介面時,儲存據以產生該結果清單之一搜尋清單。 The storage management system of claim 1, wherein the application programming interface server stores data to generate a search list of the result list when the matching file data of the result list is returned to the application programming interface. 如請求項5所述之儲存管理系統,其中於該輸入單元取得該客戶端所提供之一新搜尋條件包含該至少一目錄字串時,預讀取(preload)該搜尋清單。 The storage management system of claim 5, wherein when the input unit obtains that a new search condition provided by the client includes the at least one directory string, the search list is preloaded. 如請求項6所述之儲存管理系統,其中於該新搜尋條件包含一標籤(marker),用來指示該搜尋清單中依序取出之一起始位置。 The storage management system of claim 6, wherein the new search condition includes a marker for indicating a starting position to be sequentially retrieved from the search list. 如請求項1所述之儲存管理系統,其中該客戶端透過一使用者介面(user interface)輸入該至少一目錄字串。 The storage management system of claim 1, wherein the client inputs the at least one directory string through a user interface. 如請求項1所述之儲存管理系統,其中該輸入單元取得該客戶端所提供之一限制條件中一分隔符號(delimitor),使該結果清單不列出分隔符號後之內容。 The storage management system according to claim 1, wherein the input unit obtains a delimiter in a restriction condition provided by the client, so that the result list does not list the content after the delimiter. 一種搜尋排序方法,用於一儲存管理系統,該儲存管理系統中一檔案系統伺服器包含至少一儲存單元以及一應用程式介面(Application Programming Interface)伺服器,該至少一儲存單元以一檔案系統為基礎,該應用程式介面伺服器包含以一物件儲存(object storage)為基礎之一應用程式介面,該搜尋排序流程包含:取得一客戶端所提供之至少一目錄字串(prefix);根據該至少一目錄字串,列出並排序該至少一儲存單元之該檔案系統中同一階層所有檔案及所有目錄名稱;列出符合該至少一目錄字串之至少一符合檔案或至少一符合目錄做為一結果清單;若所列出之該結果清單包含該至少一符合目錄,增加列出並排序該至少一符合目錄中所有檔案及所有目錄,直到所列出之該結果清單皆為符合檔案資料為止;以及傳送該結果清單之該符合檔案資料給該客戶端。 A search sorting method is used in a storage management system. A file system server in the storage management system includes at least one storage unit and an Application Programming Interface (Application Programming Interface) server, and the at least one storage unit uses a file system as a The application programming interface server includes an application programming interface based on an object storage, and the search sorting process includes: obtaining at least one directory string (prefix) provided by a client; according to the at least one A directory string, listing and sorting all files and all directory names at the same level in the file system of the at least one storage unit; listing at least one matching file or at least one matching directory matching the at least one directory string as a Result list; if the listed result list includes the at least one matching directory, additionally list and sort all files and all directories in the at least one matching directory until the listed result list is all matching file data; and transmitting the matching file data of the result list to the client. 如請求項10所述之搜尋排序方法,其另包含取得該客戶端所提供之一終止條件中一限數(limit),該結果清單之該符合檔案資料之數量小於或等於該限數。 The search sorting method according to claim 10, further comprising obtaining a limit in a termination condition provided by the client, and the quantity of the matching file data in the result list is less than or equal to the limit. 如請求項11所述之搜尋排序方法,其中傳送該結果清單之該符合檔案資料給該客戶端之步驟包含有:該結果清單之該符合檔案資料之數量等於該限數時,傳送該結果清單之該符合檔案資料給該客戶端。 The search sorting method according to claim 11, wherein the step of transmitting the matching file data of the result list to the client comprises: when the number of the matching file data of the result list is equal to the limit, transmitting the result list The matching file data is given to the client. 如請求項11所述之搜尋排序方法,其中傳送該結果清單之該符合檔案資料給該客戶端之步驟包含有:該結果清單之該符合檔案資料之數量小於該限數且已達一搜尋清單中最後一者時,傳送該結果清單之該符合檔案資料給該客戶端。 The search sorting method according to claim 11, wherein the step of transmitting the matching file data of the result list to the client comprises: the number of the matching file data of the result list is less than the limit and has reached a search list When the last one is selected, the matching file data of the result list is sent to the client. 如請求項10所述之搜尋排序方法,其另包含有傳送該結果清單之該符合檔案資料給該客戶端時,儲存據以產生該結果清單之一搜尋清單。 The search sorting method as described in claim 10 further comprises, when transmitting the matching file data of the result list to the client, storing the data to generate a search list of the result list. 如請求項14所述之搜尋排序方法,其另包含取得該客戶端所提供之一新搜尋條件包含該至少一目錄字串時,預讀取(preload)該搜尋清單。 The search sorting method according to claim 14, further comprising: preloading the search list when obtaining a new search condition provided by the client including the at least one directory string. 如請求項15所述之搜尋排序方法,其中於該新搜尋條件包含一標籤(marker),用來指示該搜尋清單中依序取出之一起始位置。 The search sorting method as described in claim 15, wherein a marker is included in the new search condition, which is used to indicate a starting position to be sequentially retrieved from the search list. 如請求項10所述之搜尋排序方法,其中該客戶端透過一使用者介面(user interface)輸入該至少一目錄字串。 The search sorting method of claim 10, wherein the client inputs the at least one directory string through a user interface. 如請求項10所述之搜尋排序方法,其另包含取得該客戶端所提供之一限制條件中一分隔符號(delimitor),使該結果清單不列出分隔符號後之內容。 The search sorting method as described in claim 10, further comprising obtaining a delimiter in a restriction condition provided by the client, so that the result list does not list the content after the delimiter.
TW109145374A 2020-12-22 2020-12-22 Storage management system and searching and sorting method thereof TWI770732B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW109145374A TWI770732B (en) 2020-12-22 2020-12-22 Storage management system and searching and sorting method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109145374A TWI770732B (en) 2020-12-22 2020-12-22 Storage management system and searching and sorting method thereof

Publications (2)

Publication Number Publication Date
TW202225951A TW202225951A (en) 2022-07-01
TWI770732B true TWI770732B (en) 2022-07-11

Family

ID=83437043

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109145374A TWI770732B (en) 2020-12-22 2020-12-22 Storage management system and searching and sorting method thereof

Country Status (1)

Country Link
TW (1) TWI770732B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202014912A (en) * 2018-10-12 2020-04-16 美商國科美國研究實驗室 Efficient file storage and retrieval system, method and apparatus
US20200151149A1 (en) * 2017-01-03 2020-05-14 International Business Machines Corporation Global namespace for a hierarchical set of file systems
US20200159760A1 (en) * 2017-01-06 2020-05-21 Oracle International Corporation File system hierarchy mirroring across cloud data stores
TW202032385A (en) * 2019-02-25 2020-09-01 香港商阿里巴巴集團服務有限公司 Data storage method and data query method
US20200326863A1 (en) * 2016-09-15 2020-10-15 Pure Storage, Inc. Distributed deletion of a file and directory hierarchy

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200326863A1 (en) * 2016-09-15 2020-10-15 Pure Storage, Inc. Distributed deletion of a file and directory hierarchy
US20200151149A1 (en) * 2017-01-03 2020-05-14 International Business Machines Corporation Global namespace for a hierarchical set of file systems
US20200159760A1 (en) * 2017-01-06 2020-05-21 Oracle International Corporation File system hierarchy mirroring across cloud data stores
TW202014912A (en) * 2018-10-12 2020-04-16 美商國科美國研究實驗室 Efficient file storage and retrieval system, method and apparatus
TW202032385A (en) * 2019-02-25 2020-09-01 香港商阿里巴巴集團服務有限公司 Data storage method and data query method

Also Published As

Publication number Publication date
TW202225951A (en) 2022-07-01

Similar Documents

Publication Publication Date Title
CN107077691B (en) Age-based policy for determining database cache hits
US6785674B2 (en) System and method for structuring data in a computer system
US7644107B2 (en) System and method for batched indexing of network documents
US7783615B1 (en) Apparatus and method for building a file system index
US8156106B2 (en) Methods and systems for managing data
US8190566B2 (en) Trusted index structure in a network environment
US7805416B1 (en) File system query and method of use
JP5661104B2 (en) Method and system for search using search engine indexing and index
JP5106045B2 (en) Search engine linkage file sharing system
CN111858496B (en) Metadata retrieval method and device, storage medium and electronic equipment
US20120130983A1 (en) Efficient string pattern matching for large pattern sets
US20110264668A1 (en) Methods and Systems for Providing Secondary Indexing in a Multi-Tenant Database Environment
WO2005072405A2 (en) Enabling recommendations and community by massively-distributed nearest-neighbor searching
WO2012178152A1 (en) Methods and systems for retrieval of experts based on user customizable search and ranking parameters
US20130066869A1 (en) Computer system, method of managing a client computer, and storage medium
US11573961B2 (en) Delta graph traversing system
AU2021266178B2 (en) Custom metadata tag inheritance based on a filesystem directory tree or object storage bucket
US7996418B2 (en) Suggesting long-tail tags
US8352442B2 (en) Determination of an updated data source from disparate data sources
TWI770732B (en) Storage management system and searching and sorting method thereof
US8495025B2 (en) Foldering by stable query
US20070078800A1 (en) System and method of building an atomic view of a filesystem that lacks support for atomic operations
Lagerspetz et al. Dessy: Towards Flexible Mobile Desktop Search.
US20150074087A1 (en) System and Method for Retrieving Internet Pages Using Page Partitions
EP4359942A1 (en) Tracking data lineage and applying data removal to enforce data removal policies