本發(fā)明涉及云存儲技術(shù)領(lǐng)域,更具體地說,涉及一種網(wǎng)盤文件分表方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展以及云計算的崛起,網(wǎng)絡(luò)數(shù)據(jù)越來越豐富。私有云和公有云越來越得到普及,普通用戶亦可以通過申請網(wǎng)盤賬戶將自己的文件上傳到云端服務(wù)器,而企業(yè)更是可以借助云服務(wù)提供商搭建自己的私有云服務(wù),云服務(wù)的一項重要功能便是提供云端存儲,可將文件存放云端,其好處是可以自動同步,進(jìn)行歷史版本管理,文件永不丟失等。
越來越多的人申請云盤,并不斷的上傳文件,這就導(dǎo)致了用戶量和數(shù)據(jù)量的增加,而隨著用戶量的不斷增加,用戶上傳的文件也在不斷的增加。一般的用戶的文件信息會保存在一張數(shù)據(jù)庫表中,該表的數(shù)據(jù)會不斷的增長,當(dāng)數(shù)據(jù)量過大的時候,對該表的操作效率會下降,影響到用戶體驗。
綜上所述,現(xiàn)有技術(shù)中的數(shù)據(jù)庫表存在由于數(shù)據(jù)量過大導(dǎo)致操作效率較低的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種網(wǎng)盤文件分表方法及裝置,以解決現(xiàn)有技術(shù)中的數(shù)據(jù)庫表存在的由于數(shù)據(jù)量過大導(dǎo)致操作效率較低的問題。
為了實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種網(wǎng)盤文件分表方法,包括:
當(dāng)有新的網(wǎng)盤用戶創(chuàng)建時,判斷當(dāng)前文件子表中包含的用戶數(shù)量是否小于用戶量閾值并判斷當(dāng)前文件子表中包含的記錄條數(shù)是否小于條數(shù)閾值;
如果上述兩項判斷的判斷結(jié)果均為是,則將所述新的網(wǎng)盤用戶對應(yīng)的數(shù)據(jù)作為記錄存儲至當(dāng)前文件子表中,如果上述兩項判斷中任一項判斷的判斷結(jié)果為否,則創(chuàng)建新的文件子表并將所述新的網(wǎng)盤用戶對應(yīng)的數(shù)據(jù)作為記錄存儲至該新的文件子表中;
在預(yù)先設(shè)置的映射表中添加所述新的網(wǎng)盤用戶的標(biāo)識與存儲所述新的網(wǎng)盤用戶的文件子表的標(biāo)識的對應(yīng)關(guān)系。
優(yōu)選的,還包括:
接收已經(jīng)創(chuàng)建的網(wǎng)盤用戶的數(shù)據(jù)記錄請求,基于該網(wǎng)盤用戶的標(biāo)識確定出對應(yīng)的文件子表的標(biāo)識,并將所述數(shù)據(jù)記錄請求對應(yīng)的數(shù)據(jù)作為記錄存儲至查詢出的文件子表的標(biāo)識對應(yīng)的文件子表中。
優(yōu)選的,還包括:
每創(chuàng)建一個新的文件子表,則以遞增的方式記錄當(dāng)前已經(jīng)創(chuàng)建的文件子表的個數(shù),并將該值作為子表名稱后綴添加到當(dāng)前創(chuàng)建的新的文件子表的子表名稱后。
優(yōu)選的,在預(yù)先設(shè)置的映射表中添加所述新的網(wǎng)盤用戶的標(biāo)識與存儲所述新的網(wǎng)盤用戶的文件子表的標(biāo)識的對應(yīng)關(guān)系,包括:
在預(yù)先設(shè)置的映射表中添加所述新的網(wǎng)盤用戶的ID與存儲所述新的網(wǎng)盤用戶的文件子表的子表名稱后綴的對應(yīng)關(guān)系。
一種網(wǎng)盤文件分表裝置,包括:
判斷模塊,用于當(dāng)有新的網(wǎng)盤用戶創(chuàng)建時,判斷當(dāng)前文件子表中包含的用戶數(shù)量是否小于用戶量閾值并判斷當(dāng)前文件子表中包含的記錄條數(shù)是否小于條數(shù)閾值;
第一存儲模塊,用于如果上述兩項判斷的判斷結(jié)果均為是,則將所述新的網(wǎng)盤用戶對應(yīng)的數(shù)據(jù)作為記錄存儲至當(dāng)前文件子表中,如果上述兩項判斷中任一項判斷的判斷結(jié)果為否,則創(chuàng)建新的文件子表并將所述新的網(wǎng)盤用戶對應(yīng)的數(shù)據(jù)作為記錄存儲至該新的文件子表中;
映射模塊,用于在預(yù)先設(shè)置的映射表中添加所述新的網(wǎng)盤用戶的標(biāo)識與存儲所述新的網(wǎng)盤用戶的文件子表的標(biāo)識的對應(yīng)關(guān)系。
優(yōu)選的,還包括:
第二存儲模塊,用于接收已經(jīng)創(chuàng)建的網(wǎng)盤用戶的數(shù)據(jù)記錄請求,基于該網(wǎng)盤用戶的標(biāo)識確定出對應(yīng)的文件子表的標(biāo)識,并將所述數(shù)據(jù)記錄請求對應(yīng)的數(shù)據(jù)作為記錄存儲至查詢出的文件子表的標(biāo)識對應(yīng)的文件子表中。
優(yōu)選的,還包括:
命名模塊,用于每創(chuàng)建一個新的文件子表,則以遞增的方式記錄當(dāng)前已經(jīng)創(chuàng)建的文件子表的個數(shù),并將該值作為子表名稱后綴添加到當(dāng)前創(chuàng)建的新的文件子表的子表名稱后。
優(yōu)選的,所述映射模塊包括:
映射單元,用于在預(yù)先設(shè)置的映射表中添加所述新的網(wǎng)盤用戶的ID與存儲所述新的網(wǎng)盤用戶的文件子表的子表名稱后綴的對應(yīng)關(guān)系。
本發(fā)明提供了一種網(wǎng)盤文件分表方法及裝置,其中該方法包括:當(dāng)有新的網(wǎng)盤用戶創(chuàng)建時,判斷當(dāng)前文件子表中包含的用戶數(shù)量是否小于用戶量閾值并判斷當(dāng)前文件子表中包含的記錄條數(shù)是否小于條數(shù)閾值;如果上述兩項判斷的判斷結(jié)果均為是,則將所述新的網(wǎng)盤用戶對應(yīng)的數(shù)據(jù)作為記錄存儲至當(dāng)前文件子表中,如果上述兩項判斷中任一項判斷的判斷結(jié)果為否,則創(chuàng)建新的文件子表并將所述新的網(wǎng)盤用戶對應(yīng)的數(shù)據(jù)作為記錄存儲至該新的文件子表中;在預(yù)先設(shè)置的映射表中添加所述新的網(wǎng)盤用戶的標(biāo)識與存儲所述新的網(wǎng)盤用戶的文件子表的標(biāo)識的對應(yīng)關(guān)系。本申請公開的技術(shù)方案中,在新的網(wǎng)盤用戶創(chuàng)建時通過對當(dāng)前文件子表的用戶量及記錄條數(shù)的判斷確定是否需要創(chuàng)建新的文件子表,如果需要則創(chuàng)建新的文件子表并將新的網(wǎng)盤用戶的數(shù)據(jù)存儲至該文件子表中,否則則直接將新的網(wǎng)盤用戶的數(shù)據(jù)存儲至當(dāng)前文件子表中,從而實現(xiàn)了分表過程,分表可以將較大數(shù)據(jù)量的表劃分成多個文件子表,隨著數(shù)據(jù)量的增加,對應(yīng)的子表隨之增加,并且通過上述判斷實現(xiàn)了分表的閾值策略,從而避免了現(xiàn)有技術(shù)中由于數(shù)據(jù)表的數(shù)據(jù)量過大導(dǎo)致操作效率較低的問題,也即本申請公開的技術(shù)方案大大提高了操作效率,提升了用戶體驗。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種網(wǎng)盤文件分表方法的流程圖;
圖2為本發(fā)明實施例提供的一種網(wǎng)盤文件分表裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
請參閱圖1,其示出了本發(fā)明實施例提供的一種網(wǎng)盤文件分表方法的流程圖,可以包括:
S11:當(dāng)有新的網(wǎng)盤用戶創(chuàng)建時,判斷當(dāng)前文件子表中包含的用戶數(shù)量是否小于用戶量閾值并判斷當(dāng)前文件子表中包含的記錄條數(shù)是否小于條數(shù)閾值。
其中用戶量閾值和條數(shù)閾值均可以根據(jù)實際需要進(jìn)行設(shè)定。每當(dāng)有新的網(wǎng)盤用戶創(chuàng)建時,均需執(zhí)行上述判斷及后續(xù)步驟。
S12:如果上述兩項判斷的判斷結(jié)果均為是,則將新的網(wǎng)盤用戶對應(yīng)的數(shù)據(jù)作為記錄存儲至當(dāng)前文件子表中,如果上述兩項判斷中任一項判斷的判斷結(jié)果為否,則創(chuàng)建新的文件子表并將新的網(wǎng)盤用戶對應(yīng)的數(shù)據(jù)作為記錄存儲至該新的文件子表中。
如果用戶數(shù)量小于用戶量閾值且記錄條數(shù)小于條數(shù)閾值,則說明對應(yīng)文件子表中仍然可以添加用戶及對應(yīng)的數(shù)據(jù),因此此時將新的網(wǎng)盤用戶對應(yīng)的數(shù)據(jù)作為記錄存儲至當(dāng)前文件夾中,只要上述兩項判斷中有一項不符合,則說明當(dāng)前文件子表中包含的數(shù)據(jù)量或者用戶量已經(jīng)達(dá)到上限,不可以增加用戶,此時則創(chuàng)建新的文件子表,并將新的網(wǎng)盤用戶對應(yīng)數(shù)據(jù)作為記錄存儲至該新的文件子表中。具體來說,用戶量閾值為整數(shù)值,可以用a表示,此時判斷當(dāng)前文件子表的用戶數(shù)量是否小于用戶量閾值也可以理解為將當(dāng)前文件子表的用戶數(shù)量做做取模運(yùn)算,即當(dāng)前文件子表的用戶數(shù)量模以a的值等于0(也就是當(dāng)前文件子表的用戶數(shù)量除以a的余數(shù)為0)的時候表明需要創(chuàng)建新的文件子表。條數(shù)閾值為整數(shù)值,可以用b表示,當(dāng)當(dāng)前文件子表的記錄條數(shù)大于或者等于b值時,創(chuàng)建新的文件子表。
S13:在預(yù)先設(shè)置的映射表中添加新的網(wǎng)盤用戶的標(biāo)識與存儲新的網(wǎng)盤用戶的文件子表的標(biāo)識的對應(yīng)關(guān)系。
映射表中存儲有網(wǎng)盤用戶標(biāo)識與其對應(yīng)文件子表標(biāo)識的對應(yīng)關(guān)系,由此當(dāng)網(wǎng)盤用戶需要查詢其存儲的數(shù)據(jù)時只需由映射表中確定出與其標(biāo)識對應(yīng)的文件子表,進(jìn)而在該文件子表中進(jìn)行查詢即可。
本申請公開的技術(shù)方案中,在新的網(wǎng)盤用戶創(chuàng)建時通過對當(dāng)前文件子表的用戶量及記錄條數(shù)的判斷確定是否需要創(chuàng)建新的文件子表,如果需要則創(chuàng)建新的文件子表并將新的網(wǎng)盤用戶的數(shù)據(jù)存儲至該文件子表中,否則則直接將新的網(wǎng)盤用戶的數(shù)據(jù)存儲至當(dāng)前文件子表中,從而實現(xiàn)了分表過程,分表可以將較大數(shù)據(jù)量的表劃分成多個文件子表,隨著數(shù)據(jù)量的增加,對應(yīng)的子表隨之增加,并且通過上述判斷實現(xiàn)了分表的閾值策略,從而避免了現(xiàn)有技術(shù)中由于數(shù)據(jù)表的數(shù)據(jù)量過大導(dǎo)致操作效率較低的問題,也即本申請公開的技術(shù)方案大大提高了操作效率,提升了用戶體驗。
本發(fā)明實施例提供的一種網(wǎng)盤文件分表方法,還可以包括:
接收已經(jīng)創(chuàng)建的網(wǎng)盤用戶的數(shù)據(jù)記錄請求,基于該網(wǎng)盤用戶的標(biāo)識確定出對應(yīng)的文件子表的標(biāo)識,并將數(shù)據(jù)記錄請求對應(yīng)的數(shù)據(jù)作為記錄存儲至查詢出的文件子表的標(biāo)識對應(yīng)的文件子表中。
后期如果有已經(jīng)創(chuàng)建的網(wǎng)盤用戶請求數(shù)據(jù)記錄,則確定出該網(wǎng)盤用戶對應(yīng)的文件子表,并將其需記錄的數(shù)據(jù)存儲至對應(yīng)文件子表中,由此,能夠保證同一網(wǎng)盤用戶的數(shù)據(jù)全部存儲于同一文件子表中,避免了大量的跨表查詢等操作,提高了數(shù)據(jù)庫查詢效率。另外一般條數(shù)閾值要設(shè)置的小于文件子表可以包含的總記錄條數(shù),從而能夠文件子表中記錄條數(shù)達(dá)到條數(shù)閾值之后還能夠有已經(jīng)創(chuàng)建的網(wǎng)盤用戶在該文件子表中實現(xiàn)數(shù)據(jù)存儲。
本發(fā)明實施例提供的一種網(wǎng)盤文件分表方法,還可以包括:
每創(chuàng)建一個新的文件子表,則以遞增的方式記錄當(dāng)前已經(jīng)創(chuàng)建的文件子表的個數(shù),并將該值作為子表名稱后綴添加到當(dāng)前創(chuàng)建的新的文件子表的子表名稱后。
具體來說,可以設(shè)置一個子表計數(shù)器,該子表計數(shù)器以遞增的方式記錄文件子表的個數(shù),每次有新的文件子表創(chuàng)建時,該值遞增1。對應(yīng)的,每當(dāng)有新的文件子表創(chuàng)建時,獲取到已經(jīng)創(chuàng)建的文件子表的個數(shù),也即子表計數(shù)器的值,并將該值作為當(dāng)前創(chuàng)建的文件子表的子表名稱后綴,其中文件子表的子表名稱是固定的,如簡單來說文件子表的命名方式為:子表名稱+名稱后綴,如子表名稱為tb_sub_file,當(dāng)前文件子表的個數(shù)為3,那么新創(chuàng)建的文件子表名稱為tb_sub_file3。這種文件子表的命名規(guī)則可以方便獲取用戶對應(yīng)的文件子表。
本發(fā)明實施例提供的一種網(wǎng)盤文件分表方法,在預(yù)先設(shè)置的映射表中添加新的網(wǎng)盤用戶的標(biāo)識與存儲新的網(wǎng)盤用戶的文件子表的標(biāo)識的對應(yīng)關(guān)系,可以包括:
在預(yù)先設(shè)置的映射表中添加新的網(wǎng)盤用戶的ID與存儲新的網(wǎng)盤用戶的文件子表的子表名稱后綴的對應(yīng)關(guān)系。
由此當(dāng)網(wǎng)盤用戶進(jìn)行數(shù)據(jù)庫操作時,可以根據(jù)網(wǎng)盤用戶ID確定出對應(yīng)的文件子表名稱后綴,即對應(yīng)文件子表的計數(shù)值,進(jìn)而基于上述命名規(guī)則快速獲取到該網(wǎng)盤用戶對應(yīng)的文件子表,對該文件子表進(jìn)行數(shù)據(jù)庫操作。
本發(fā)明實施例還提供了一種網(wǎng)盤文件分表裝置,如圖2所示,可以包括:
判斷模塊11,用于當(dāng)有新的網(wǎng)盤用戶創(chuàng)建時,判斷當(dāng)前文件子表中包含的用戶數(shù)量是否小于用戶量閾值并判斷當(dāng)前文件子表中包含的記錄條數(shù)是否小于條數(shù)閾值;
第一存儲模塊12,用于如果上述兩項判斷的判斷結(jié)果均為是,則將新的網(wǎng)盤用戶對應(yīng)的數(shù)據(jù)作為記錄存儲至當(dāng)前文件子表中,如果上述兩項判斷中任一項判斷的判斷結(jié)果為否,則創(chuàng)建新的文件子表并將新的網(wǎng)盤用戶對應(yīng)的數(shù)據(jù)作為記錄存儲至該新的文件子表中;
映射模塊13,用于在預(yù)先設(shè)置的映射表中添加新的網(wǎng)盤用戶的標(biāo)識與存儲新的網(wǎng)盤用戶的文件子表的標(biāo)識的對應(yīng)關(guān)系。
本發(fā)明實施例提供的一種網(wǎng)盤文件分表裝置,還可以包括:
第二存儲模塊,用于接收已經(jīng)創(chuàng)建的網(wǎng)盤用戶的數(shù)據(jù)記錄請求,基于該網(wǎng)盤用戶的標(biāo)識確定出對應(yīng)的文件子表的標(biāo)識,并將數(shù)據(jù)記錄請求對應(yīng)的數(shù)據(jù)作為記錄存儲至查詢出的文件子表的標(biāo)識對應(yīng)的文件子表中。
本發(fā)明實施例提供的一種網(wǎng)盤文件分表裝置,還可以包括:
命名模塊,用于每創(chuàng)建一個新的文件子表,則以遞增的方式記錄當(dāng)前已經(jīng)創(chuàng)建的文件子表的個數(shù),并將該值作為子表名稱后綴添加到當(dāng)前創(chuàng)建的新的文件子表的子表名稱后。
本發(fā)明實施例提供的一種網(wǎng)盤文件分表裝置,映射模塊可以包括:
映射單元,用于在預(yù)先設(shè)置的映射表中添加新的網(wǎng)盤用戶的ID與存儲新的網(wǎng)盤用戶的文件子表的子表名稱后綴的對應(yīng)關(guān)系。
本發(fā)明實施例提供的一種網(wǎng)盤文件分表裝置中相關(guān)部分的說明請參見本發(fā)明實施例提供的一種網(wǎng)盤文件分表方法中對應(yīng)部分的詳細(xì)說明,在此不再贅述。
對所公開的實施例的上述說明,使本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。