1.一種數(shù)據(jù)文件的存儲(chǔ)方法,其中,該方法包括:
創(chuàng)建數(shù)據(jù)文件的元信息,所述元信息包含所述數(shù)據(jù)文件在數(shù)據(jù)表中的存儲(chǔ)位置;
將所述數(shù)據(jù)文件與該數(shù)據(jù)文件對(duì)應(yīng)的元信息分別寫(xiě)入所述數(shù)據(jù)表中第一列簇和第二列簇的同一行中;
根據(jù)所述第二列簇中的元信息建立指向所述數(shù)據(jù)文件在所述數(shù)據(jù)表中的存儲(chǔ)位置的索引。
2.根據(jù)權(quán)利要求1所述的方法,其中,將所述數(shù)據(jù)文件與該數(shù)據(jù)文件對(duì)應(yīng)的元信息分別寫(xiě)入所述數(shù)據(jù)表中第一列簇和第二列簇的同一行中之前,包括:
對(duì)所述元信息進(jìn)行排序;
將所述數(shù)據(jù)文件與該數(shù)據(jù)文件對(duì)應(yīng)的元信息分別寫(xiě)入所述數(shù)據(jù)表中第一列簇和第二列簇的同一行中,包括:
根據(jù)所述排序?qū)⑺鰯?shù)據(jù)文件與該數(shù)據(jù)文件對(duì)應(yīng)的元信息分別寫(xiě)入所述數(shù)據(jù)表中第一列簇和第二列簇的同一行中。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述元信息包括所述數(shù)據(jù)文件在所述數(shù)據(jù)表中的行鍵、列和時(shí)間戳。
4.根據(jù)權(quán)利要求3所述的方法,其中,對(duì)所述元信息進(jìn)行排序,包括:依次根據(jù)所述元信息的行鍵、列和時(shí)間戳對(duì)所述元信息進(jìn)行排序。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的方法,其中,根據(jù)所述第二列簇中的元信息建立指向所述數(shù)據(jù)文件在所述數(shù)據(jù)表中的存儲(chǔ)位置的索引,包括:
根據(jù)所述元信息建立指向所述數(shù)據(jù)文件在所述數(shù)據(jù)表中的存儲(chǔ)位置的倒排索引。
6.根據(jù)權(quán)利要求1至5任一項(xiàng)所述的方法,其中,所述數(shù)據(jù)文件包括多個(gè)子文件;
創(chuàng)建數(shù)據(jù)文件的元信息,包括:
創(chuàng)建數(shù)據(jù)文件的各個(gè)子文件對(duì)應(yīng)的元信息;
將所述數(shù)據(jù)文件與該數(shù)據(jù)文件對(duì)應(yīng)的元信息分別寫(xiě)入所述數(shù)據(jù)表中 第一列簇和第二列簇的同一行中,包括:
將包含所述子文件的所述數(shù)據(jù)文件寫(xiě)入所述數(shù)據(jù)表的第一列簇中,并將所述子文件對(duì)應(yīng)的元信息寫(xiě)入所述數(shù)據(jù)表的第二列簇的同一行中。
7.根據(jù)權(quán)利要求1至6任一項(xiàng)所述的方法,其中,將所述數(shù)據(jù)文件與該數(shù)據(jù)文件對(duì)應(yīng)的元信息分別寫(xiě)入所述數(shù)據(jù)表中第一列簇和第二列簇的同一行中之后,還包括:
當(dāng)所述第二列簇的數(shù)據(jù)量達(dá)到設(shè)定閾值后,將所述數(shù)據(jù)表分裂為多個(gè)數(shù)據(jù)域,分別保存于多個(gè)服務(wù)器中。
8.一種數(shù)據(jù)文件的查詢(xún)方法,用于對(duì)采用權(quán)利要求1至7任一項(xiàng)所述方法存儲(chǔ)的數(shù)據(jù)文件進(jìn)行查詢(xún),其中,所述方法包括:
獲取查詢(xún)條件,并在所述第二列簇中查找符合所述查詢(xún)條件的元信息;
根據(jù)所述索引,確定所述符合所述查詢(xún)條件的元信息所對(duì)應(yīng)的數(shù)據(jù)文件在所述數(shù)據(jù)表的第一列簇中的存儲(chǔ)位置;
由所述第一列簇中的存儲(chǔ)位置獲取所述數(shù)據(jù)文件。
9.根據(jù)權(quán)利要求8所述的方法,其中,當(dāng)所述元信息包括所述數(shù)據(jù)文件中的行鍵、列和時(shí)間戳,所述查詢(xún)條件至少包括所述元信息中行鍵的全部或者部分信息。
10.根據(jù)權(quán)利要求8或9所述的方法,其中,當(dāng)所述數(shù)據(jù)文件與該數(shù)據(jù)文件對(duì)應(yīng)的元信息為分別根據(jù)元信息的排序?qū)懭胨鰯?shù)據(jù)表中時(shí),
在所述第二列簇中查找符合所述查詢(xún)條件的元信息,包括:
根據(jù)所述排序在所述第二列簇中查找符合所述查詢(xún)條件的元信息。
11.根據(jù)權(quán)利要求10所述的方法,其中,當(dāng)所述元信息依次根據(jù)所述元信息的行鍵、列和時(shí)間戳進(jìn)行排序時(shí),
根據(jù)所述排序在所述第二列簇中查找符合所述查詢(xún)條件的元信息,包括:
根據(jù)所述元信息的行鍵、列和時(shí)間戳的依次排序在所述第二列簇中查找符合所述查詢(xún)條件的元信息。
12.根據(jù)權(quán)利要求10或11所述的方法,其中,當(dāng)所述查詢(xún)條件至少 包含所述元信息中行鍵的起始部分的信息時(shí),
根據(jù)所述排序在所述第二列簇中查找符合所述查詢(xún)條件的元信息,包括:
根據(jù)所述排序以及所述元信息中行鍵的起始部分的信息,采用二分查找的方式在所述第二列簇中查找符合所述查詢(xún)條件的元信息。
13.根據(jù)權(quán)利要求8至12中任一項(xiàng)所述的方法,其中,當(dāng)所述索引為倒排索引時(shí),
根據(jù)所述索引確定所述符合所述查詢(xún)條件的元信息所對(duì)應(yīng)的數(shù)據(jù)文件在所述數(shù)據(jù)表的第一列簇中的存儲(chǔ)位置,包括:
根據(jù)所述倒排索引確定所述符合所述查詢(xún)條件的元信息所對(duì)應(yīng)的數(shù)據(jù)文件在所述數(shù)據(jù)表的第一列簇中的存儲(chǔ)位置。
14.根據(jù)權(quán)利要求8至13中任一項(xiàng)所述的方法,其中,當(dāng)所述數(shù)據(jù)表包含多個(gè)保存于不同服務(wù)器中的數(shù)據(jù)域時(shí),
根據(jù)所述索引,確定所述符合所述查詢(xún)條件的元信息所對(duì)應(yīng)的數(shù)據(jù)文件在所述數(shù)據(jù)表的第一列簇中的存儲(chǔ)位置,包括:
根據(jù)所述索引,確定所述符合所述查詢(xún)條件的元信息所對(duì)應(yīng)的數(shù)據(jù)文件在所述數(shù)據(jù)表中的數(shù)據(jù)域的第一列簇中的存儲(chǔ)位置。
15.根據(jù)權(quán)利要求8至14中任一項(xiàng)所述的方法,其中,當(dāng)所述數(shù)據(jù)文件包括多個(gè)子文件,所述第一列簇中保存有包含所述子文件的所述數(shù)據(jù)文件,所述第二列簇的同一行中保存有所述子文件的元信息時(shí),
根據(jù)所述索引確定所述符合所述查詢(xún)條件的元信息所對(duì)應(yīng)的數(shù)據(jù)文件在所述數(shù)據(jù)表的第一列簇中的存儲(chǔ)位置,包括:
根據(jù)所述索引確定所述符合所述查詢(xún)條件的元信息所對(duì)應(yīng)的子文件在所述數(shù)據(jù)表的第一列簇中的存儲(chǔ)位置;
由所述第一列簇中的存儲(chǔ)位置獲取所述數(shù)據(jù)文件,包括:
由所述第一列簇中的存儲(chǔ)位置獲取所述數(shù)據(jù)文件的子文件。
16.一種數(shù)據(jù)文件的存儲(chǔ)設(shè)備,其中,該設(shè)備包括:
第一裝置,用于創(chuàng)建數(shù)據(jù)文件的元信息,所述元信息包含所述數(shù)據(jù)文件在數(shù)據(jù)表中的存儲(chǔ)位置;
第二裝置,用于將所述數(shù)據(jù)文件與該數(shù)據(jù)文件對(duì)應(yīng)的元信息分別寫(xiě)入所述數(shù)據(jù)表中第一列簇和第二列簇的同一行中;
第三裝置,用于根據(jù)所述第二列簇中的元信息建立指向所述數(shù)據(jù)文件在所述數(shù)據(jù)表中的存儲(chǔ)位置的索引。
17.根據(jù)權(quán)利要求16所述的設(shè)備,其中,該設(shè)備還包括:
第四裝置,用于在將所述數(shù)據(jù)文件與該數(shù)據(jù)文件對(duì)應(yīng)的元信息分別寫(xiě)入所述數(shù)據(jù)表中第一列簇和第二列簇的同一行中之前,對(duì)所述元信息進(jìn)行排序;
所述第二裝置,用于根據(jù)所述排序?qū)⑺鰯?shù)據(jù)文件與該數(shù)據(jù)文件對(duì)應(yīng)的元信息分別寫(xiě)入所述數(shù)據(jù)表中第一列簇和第二列簇的同一行中。
18.根據(jù)權(quán)利要求17所述的設(shè)備,其中,所述元信息包括所述數(shù)據(jù)文件在所述數(shù)據(jù)表中的行鍵、列和時(shí)間戳。
19.根據(jù)權(quán)利要求18所述的設(shè)備,其中,所述第一裝置,用于依次根據(jù)所述元信息的行鍵、列和時(shí)間戳對(duì)所述元信息進(jìn)行排序。
20.根據(jù)權(quán)利要求16至19任一項(xiàng)所述的設(shè)備,其中,所述第三裝置,用于根據(jù)所述元信息建立指向所述數(shù)據(jù)文件在所述數(shù)據(jù)表中的存儲(chǔ)位置的倒排索引。
21.根據(jù)權(quán)利要求16至20任一項(xiàng)所述的設(shè)備,其中,所述數(shù)據(jù)文件包括多個(gè)子文件;
所述第一裝置,用于創(chuàng)建數(shù)據(jù)文件的各個(gè)子文件對(duì)應(yīng)的元信息;
所述第二裝置,用于將包含所述子文件的所述數(shù)據(jù)文件寫(xiě)入所述數(shù)據(jù)表的第一列簇中,并將所述子文件對(duì)應(yīng)的元信息寫(xiě)入所述數(shù)據(jù)表的第二列簇的同一行中。
22.根據(jù)權(quán)利要求16至21任一項(xiàng)所述的設(shè)備,其中,該設(shè)備還包括:
第五裝置,用于在將所述數(shù)據(jù)文件與該數(shù)據(jù)文件對(duì)應(yīng)的元信息分別寫(xiě)入所述數(shù)據(jù)表中第一列簇和第二列簇的同一行中之后,當(dāng)所述第二列簇的數(shù)據(jù)量達(dá)到設(shè)定閾值后,將所述數(shù)據(jù)表分裂為多個(gè)數(shù)據(jù)域,分別保存于多個(gè)服務(wù)器中。
23.一種數(shù)據(jù)文件的查詢(xún)?cè)O(shè)備,用于對(duì)采用權(quán)利要求16至22任一項(xiàng) 所述設(shè)備存儲(chǔ)的數(shù)據(jù)文件進(jìn)行查詢(xún),其中,包括:
第六裝置,用于獲取查詢(xún)條件,并在所述第二列簇中查找符合所述查詢(xún)條件的元信息;
第七裝置,用于根據(jù)所述索引,確定所述符合所述查詢(xún)條件的元信息所對(duì)應(yīng)的數(shù)據(jù)文件在所述數(shù)據(jù)表的第一列簇中的存儲(chǔ)位置;
第八裝置,用于由所述第一列簇中的存儲(chǔ)位置獲取所述數(shù)據(jù)文件。
24.根據(jù)權(quán)利要求23所述的設(shè)備,其中,當(dāng)所述元信息包括所述數(shù)據(jù)文件中的行鍵、列和時(shí)間戳,所述第六裝置獲取的查詢(xún)條件至少包括所述元信息中行鍵的全部或者部分信息。
25.根據(jù)權(quán)利要求23或24所述的設(shè)備,其中,當(dāng)所述數(shù)據(jù)文件與該數(shù)據(jù)文件對(duì)應(yīng)的元信息為分別根據(jù)元信息的排序?qū)懭胨鰯?shù)據(jù)表中時(shí),
所述第六裝置,用于獲取查詢(xún)條件,根據(jù)所述排序在所述第二列簇中查找符合所述查詢(xún)條件的元信息。
26.根據(jù)權(quán)利要求25所述的設(shè)備,其中,當(dāng)所述元信息依次根據(jù)所述元信息的行鍵、列和時(shí)間戳進(jìn)行排序時(shí),
所述第六裝置,用于獲取查詢(xún)條件,根據(jù)所述元信息的行鍵、列和時(shí)間戳的依次排序在所述第二列簇中查找符合所述查詢(xún)條件的元信息。
27.根據(jù)權(quán)利要求25或26所述的設(shè)備,其中,當(dāng)所述查詢(xún)條件至少包含所述元信息中行鍵的起始部分的信息時(shí),
所述第六裝置,用于獲取所述查詢(xún)條件,根據(jù)所述排序以及所述元信息中行鍵的起始部分的信息,采用二分查找的方式在所述第二列簇中查找符合所述查詢(xún)條件的元信息。
28.根據(jù)權(quán)利要求23至27中任一項(xiàng)所述的設(shè)備,其中,當(dāng)所述索引為倒排索引時(shí),
所述第七裝置,用于根據(jù)所述倒排索引確定所述符合所述查詢(xún)條件的元信息所對(duì)應(yīng)的數(shù)據(jù)文件在所述數(shù)據(jù)表的第一列簇中的存儲(chǔ)位置。
29.根據(jù)權(quán)利要求23至28中任一項(xiàng)所述的設(shè)備,其中,當(dāng)所述數(shù)據(jù)表包含多個(gè)保存于不同服務(wù)器中的數(shù)據(jù)域時(shí),
所述第七裝置,用于根據(jù)所述索引,確定所述符合所述查詢(xún)條件的元 信息所對(duì)應(yīng)的數(shù)據(jù)文件在所述數(shù)據(jù)表中的數(shù)據(jù)域的第一列簇中的存儲(chǔ)位置。
30.根據(jù)權(quán)利要求23至29中任一項(xiàng)所述的設(shè)備,其中,當(dāng)所述數(shù)據(jù)文件包括多個(gè)子文件,所述第一列簇中保存有包含所述子文件的所述數(shù)據(jù)文件,所述第二列簇的同一行中保存有所述子文件的元信息時(shí),
所述第七裝置,用于根據(jù)所述索引確定所述符合所述查詢(xún)條件的元信息所對(duì)應(yīng)的子文件在所述數(shù)據(jù)表的第一列簇中的存儲(chǔ)位置;
所述第八裝置,用于由所述第一列簇中的存儲(chǔ)位置獲取所述數(shù)據(jù)文件的子文件。