本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別涉及一種創(chuàng)建用戶分區(qū)的方法和裝置。
背景技術(shù):
當(dāng)用戶登錄并請(qǐng)求服務(wù)時(shí),服務(wù)端需要利用與服務(wù)相關(guān)的用戶數(shù)據(jù)(本發(fā)明中稱為用戶分區(qū)數(shù)據(jù))向用戶提供服務(wù)。為用戶分配的用于存儲(chǔ)用戶分區(qū)數(shù)據(jù)的空間稱為用戶分區(qū),用戶分區(qū)是一個(gè)小文件多且總量大的分區(qū),且是保證服務(wù)端正常提供服務(wù)的必須組件。每一個(gè)用戶注冊(cè)時(shí),服務(wù)端均需要給用戶創(chuàng)建對(duì)應(yīng)的用戶分區(qū)。
按照正常的創(chuàng)建流程,當(dāng)用戶注冊(cè)時(shí),服務(wù)端將用戶分區(qū)的初始化壓縮文件復(fù)制到分配給用戶的用戶分區(qū)中,然后執(zhí)行解壓操作,解壓完成后完成用戶分區(qū)的創(chuàng)建。然而,由于用戶分區(qū)很大,往往要很長(zhǎng)的解壓縮時(shí)間,從而造成用戶注冊(cè)過(guò)程中創(chuàng)建用戶分區(qū)的很長(zhǎng),給用戶帶來(lái)很差的體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種創(chuàng)建用戶分區(qū)的方法和裝置,以便于縮短用戶注冊(cè)過(guò)程的時(shí)間。
具體技術(shù)方案如下:
本發(fā)明提供了一種創(chuàng)建用戶分區(qū)的方法,該方法包括:
將用戶分區(qū)初始化壓縮文件進(jìn)行解壓縮得到用戶分區(qū)數(shù)據(jù),并將得到的用戶分區(qū)數(shù)據(jù)送入用戶分區(qū)存儲(chǔ)區(qū);
如果接收到用戶的注冊(cè)請(qǐng)求,則從所述用戶分區(qū)存儲(chǔ)區(qū)中獲取用戶分區(qū)數(shù)據(jù)并移動(dòng)至為所述用戶分配的用戶分區(qū)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述將用戶分區(qū)初始化壓縮文件進(jìn)行解壓縮得到用戶分區(qū)數(shù)據(jù),并將得到的用戶分區(qū)數(shù)據(jù)送入用戶分區(qū)存儲(chǔ)區(qū)包括:
將用戶分區(qū)初始化壓縮文件解壓縮至臨時(shí)處理區(qū),待解壓縮完畢后,將解壓縮得到的用戶分區(qū)數(shù)據(jù)從臨時(shí)處理區(qū)剪切至用戶分區(qū)存儲(chǔ)區(qū)。
根據(jù)本發(fā)明一可選實(shí)施方式,判斷所述用戶分區(qū)存儲(chǔ)區(qū)中的用戶分區(qū)數(shù)據(jù)的數(shù)量,如果小于預(yù)設(shè)的數(shù)量閾值,則持續(xù)執(zhí)行所述將用戶分區(qū)初始化壓縮文件進(jìn)行解壓縮得到用戶分區(qū)數(shù)據(jù),并將得到的用戶分區(qū)數(shù)據(jù)送入用戶分區(qū)存儲(chǔ)區(qū)的步驟,直至所述用戶分區(qū)存儲(chǔ)區(qū)中的用戶分區(qū)數(shù)據(jù)的數(shù)量達(dá)到最大容量值;或者,
周期性地持續(xù)執(zhí)行所述將用戶分區(qū)初始化壓縮文件進(jìn)行解壓縮得到用戶分區(qū)數(shù)據(jù),并將得到的用戶分區(qū)數(shù)據(jù)送入用戶分區(qū)存儲(chǔ)區(qū)的步驟。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,在從所述用戶分區(qū)存儲(chǔ)區(qū)中獲取用戶分區(qū)數(shù)據(jù)并移動(dòng)至為注冊(cè)用戶分配的用戶分區(qū)之前,還包括:
判斷所述用戶分區(qū)存儲(chǔ)區(qū)中是否存在用戶分區(qū)數(shù)據(jù),如果是,則繼續(xù)執(zhí)行從所述用戶分區(qū)存儲(chǔ)區(qū)中獲取用戶分區(qū)數(shù)據(jù)并移動(dòng)至為注冊(cè)用戶分配的用戶分區(qū);否則,將用戶分區(qū)初始化壓縮文件直接解壓縮到為所述注冊(cè)用戶分配的用戶分區(qū)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,判斷所述用戶分區(qū)存儲(chǔ)區(qū)中是否存在用戶分區(qū)數(shù)據(jù)包括:
判斷所述用戶分區(qū)存儲(chǔ)區(qū)下的一級(jí)文件夾列表中是否有文件夾,如果有,則確定所述用戶分區(qū)存儲(chǔ)區(qū)中存在用戶分區(qū)數(shù)據(jù);否則,確定所述用戶分區(qū)存儲(chǔ)區(qū)中不存在用戶分區(qū)數(shù)據(jù)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該方法還包括:
如果接收到所述用戶的登錄請(qǐng)求,則為所述用戶分配提供服務(wù)的網(wǎng)絡(luò)設(shè)備;
將為所述用戶分配的用戶分區(qū)的地址信息發(fā)送給所述網(wǎng)絡(luò)設(shè)備,以便所述網(wǎng)絡(luò)設(shè)備利用為所述用戶分配的用戶分區(qū)為所述用戶提供服務(wù)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述網(wǎng)絡(luò)設(shè)備利用為所述用戶分配的用戶分 區(qū)為所述用戶提供服務(wù)包括:
所述網(wǎng)絡(luò)設(shè)備依據(jù)所述用戶分區(qū)的地址信息,將為所述用戶分配的用戶分區(qū)映射至本地;
所述網(wǎng)絡(luò)設(shè)備依據(jù)本地映射,從為所述用戶分配的用戶分區(qū)讀取數(shù)據(jù)和更新數(shù)據(jù)。
本發(fā)明還提供了一種創(chuàng)建用戶分區(qū)的裝置,該裝置包括:
分區(qū)創(chuàng)建單元,用于將用戶分區(qū)初始化壓縮文件進(jìn)行解壓縮得到用戶分區(qū)數(shù)據(jù),并將得到的用戶分區(qū)數(shù)據(jù)送入用戶分區(qū)存儲(chǔ)區(qū);
注冊(cè)單元,用于如果接收到用戶的注冊(cè)請(qǐng)求,則從所述用戶分區(qū)存儲(chǔ)區(qū)中獲取用戶分區(qū)數(shù)據(jù)并移動(dòng)至為所述用戶分配的用戶分區(qū)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述分區(qū)創(chuàng)建單元具體包括:
解壓子單元,用于將用戶分區(qū)初始化壓縮文件解壓縮至臨時(shí)處理區(qū);
剪切子單元,用于待所述用戶分區(qū)初始化壓縮文件解壓縮完畢后,將解壓縮得到的用戶分區(qū)數(shù)據(jù)從臨時(shí)處理區(qū)剪切至用戶分區(qū)存儲(chǔ)區(qū)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該裝置還包括:存儲(chǔ)區(qū)維護(hù)單元,用于判斷所述用戶分區(qū)存儲(chǔ)區(qū)中的用戶分區(qū)數(shù)據(jù)的數(shù)量,如果小于預(yù)設(shè)的數(shù)量閾值,則觸發(fā)所述分區(qū)創(chuàng)建單元執(zhí)行所述將用戶分區(qū)初始化壓縮文件進(jìn)行解壓縮得到用戶分區(qū)數(shù)據(jù),并將得到的用戶分區(qū)數(shù)據(jù)送入用戶分區(qū)存儲(chǔ)區(qū)的操作,直至所述用戶分區(qū)存儲(chǔ)區(qū)中的用戶分區(qū)數(shù)據(jù)的數(shù)量達(dá)到最大容量值。
根據(jù)本發(fā)明一可選實(shí)施方式,所述分區(qū)創(chuàng)建單元,具體用于周期性地持續(xù)執(zhí)行所述將用戶分區(qū)初始化壓縮文件進(jìn)行解壓縮得到用戶分區(qū)數(shù)據(jù),并將得到的用戶分區(qū)數(shù)據(jù)送入用戶分區(qū)存儲(chǔ)區(qū)的操作。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述注冊(cè)單元具體包括:
判斷子單元,用于如果接收到用戶的注冊(cè)請(qǐng)求,判斷所述用戶分區(qū)存儲(chǔ)區(qū)中是否存在用戶分區(qū)數(shù)據(jù);
移動(dòng)子單元,用于在所述判斷子單元的判斷結(jié)果為是時(shí),從所述用戶分區(qū)存儲(chǔ)區(qū)中獲取用戶分區(qū)數(shù)據(jù)并移動(dòng)至為注冊(cè)用戶分配的用戶分區(qū);
創(chuàng)建子單元,用于在所述判斷子單元的判斷結(jié)果為否時(shí),將用戶分區(qū)初始化壓縮文件直接解壓縮到為所述注冊(cè)用戶分配的用戶分區(qū)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述判斷子單元,具體用于判斷所述用戶分區(qū)存儲(chǔ)區(qū)下的一級(jí)文件夾列表中是否有文件夾,如果有,則確定所述用戶分區(qū)存儲(chǔ)區(qū)中存在用戶分區(qū)數(shù)據(jù);否則,確定所述用戶分區(qū)存儲(chǔ)區(qū)中不存在用戶分區(qū)數(shù)據(jù)。
根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該裝置還包括:
設(shè)備分配單元,用于如果接收到所述用戶的登錄請(qǐng)求,則為所述用戶分配提供服務(wù)的網(wǎng)絡(luò)設(shè)備;
地址發(fā)送單元,用于將為所述用戶分配的用戶分區(qū)的地址信息發(fā)送給所述網(wǎng)絡(luò)設(shè)備,以便所述網(wǎng)絡(luò)設(shè)備利用為所述用戶分配的用戶分區(qū)為所述用戶提供服務(wù)。
由以上技術(shù)方案可以看出,本發(fā)明將用戶分區(qū)創(chuàng)建的過(guò)程在后臺(tái)獨(dú)立執(zhí)行,在用戶注冊(cè)流程中,直接使用創(chuàng)建完畢的用戶分區(qū),從而縮短了用戶注冊(cè)過(guò)程的時(shí)間,提高了用戶體驗(yàn)。
【附圖說(shuō)明】
圖1為本發(fā)明實(shí)施例提供的創(chuàng)建用戶分區(qū)的方法流程圖;
圖2為本發(fā)明實(shí)施例提供的存儲(chǔ)區(qū)域示意圖;
圖3為本發(fā)明實(shí)施例提供的用戶登錄云盒系統(tǒng)時(shí)執(zhí)行的方法流程圖;
圖4為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖;
圖5為本發(fā)明實(shí)施例提供的一個(gè)應(yīng)用場(chǎng)景的架構(gòu)圖。
【具體實(shí)施方式】
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
本發(fā)明的核心思想在于,將用戶分區(qū)的創(chuàng)建和用戶注冊(cè)過(guò)程分離開(kāi),將 用戶分區(qū)創(chuàng)建于一個(gè)“分區(qū)池”,即本發(fā)明實(shí)施例中涉及的用戶分區(qū)存儲(chǔ)區(qū)。當(dāng)用戶注冊(cè)時(shí),直接將用戶分區(qū)存儲(chǔ)區(qū)中已有的用戶分區(qū)數(shù)據(jù)移動(dòng)至為用戶分配的用戶分區(qū)。下面結(jié)合具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
圖1為本發(fā)明實(shí)施例提供的創(chuàng)建用戶分區(qū)的方法流程圖,如圖1中所示,該方法可以包括以下步驟:
在101中,將用戶分區(qū)初始化壓縮文件解壓縮至臨時(shí)處理區(qū)。
在本發(fā)明實(shí)施例中涉及幾個(gè)存儲(chǔ)區(qū)域,如圖2中所示,其中一個(gè)區(qū)域?yàn)榇鎯?chǔ)用戶分區(qū)初始化壓縮文件的區(qū)域。用戶分區(qū)初始化壓縮文件是以壓縮文件形式存在的用戶分區(qū)數(shù)據(jù),將該壓縮文件進(jìn)行解壓縮后,就能夠得到用戶分區(qū)數(shù)據(jù),初始的用戶分區(qū)數(shù)據(jù)主要包括各類(lèi)型用戶分區(qū)數(shù)據(jù)的存放目錄信息,后續(xù)為用戶提供服務(wù)后,與用戶服務(wù)相關(guān)的用戶分區(qū)數(shù)據(jù)(諸如用戶使用服務(wù)的記錄、用戶的賬戶信息、使用服務(wù)的緩存文件等)會(huì)相應(yīng)存放在對(duì)應(yīng)的目錄下。所有用戶初始的用戶分區(qū)數(shù)據(jù)均相同,因此使用同一份用戶分區(qū)初始化壓縮文件。
還可以有一個(gè)存儲(chǔ)區(qū)域?yàn)榕R時(shí)處理區(qū)。用戶分區(qū)初始化壓縮文件可以先被解壓縮至臨時(shí)處理區(qū),待解壓完成后,再將解壓縮得到的用戶分區(qū)數(shù)據(jù)(剪切)至用戶分區(qū)存儲(chǔ)區(qū)域。該臨時(shí)處理區(qū)的作用是臨時(shí)存放用戶分區(qū)解壓后的用戶分區(qū)數(shù)據(jù)。如果沒(méi)有該臨時(shí)處理區(qū),用戶分區(qū)初始化壓縮文件可以被直接解壓至用戶分區(qū)存儲(chǔ)區(qū)域。
本步驟中,將用戶分區(qū)初始化壓縮文件先解壓至臨時(shí)處理區(qū)的目的在于,保證用戶分區(qū)存儲(chǔ)區(qū)中的用戶分區(qū)數(shù)據(jù)都是完整的,而不會(huì)造成后續(xù)用戶注冊(cè)時(shí),從用戶分區(qū)存儲(chǔ)區(qū)中移走的用戶分區(qū)數(shù)據(jù)為非完整的。
假設(shè)用戶分區(qū)初始化壓縮文件的存儲(chǔ)位置為:/bak/data.zip,臨時(shí)處理區(qū)的位置為:/bak/ing,那么可以利用如下LINUX命令將用戶分區(qū)初始化壓縮文件解壓到臨時(shí)處理區(qū):unzip/bak/data.zip–d/bak/ing/userdata10211233。
在102中,待解壓縮完畢后,將解壓縮得到的用戶分區(qū)數(shù)據(jù)移動(dòng)至用戶分區(qū)存儲(chǔ)區(qū)。
用戶分區(qū)存儲(chǔ)區(qū)可以看做是準(zhǔn)備就緒的用戶數(shù)據(jù)分區(qū),處于臨時(shí)處理區(qū)的用戶分區(qū)數(shù)據(jù)一旦解壓完成就會(huì)被移動(dòng)到該用戶分區(qū)存儲(chǔ)區(qū),等待分配給用戶。該分區(qū)可以設(shè)置一個(gè)最大容量值,當(dāng)用戶分區(qū)存儲(chǔ)區(qū)中的用戶分區(qū)數(shù)據(jù)達(dá)到該最大容量值,則停止向用戶分區(qū)存儲(chǔ)區(qū)移動(dòng)用戶分區(qū)數(shù)據(jù)。
假設(shè)用戶分區(qū)存儲(chǔ)區(qū)的位置為:/bak,那么可以采用如下LINUX命令將處于臨時(shí)處理區(qū)的用戶分區(qū)數(shù)據(jù)移動(dòng)(剪切)至用戶分區(qū)存儲(chǔ)區(qū):
mv/bak/ing/userdata10211233/bak/userdata10211233
上述步驟101~102是后臺(tái)持續(xù)執(zhí)行的過(guò)程,這里的持續(xù)執(zhí)行并不是指不間斷地執(zhí)行,而是在時(shí)間上長(zhǎng)期執(zhí)行,允許有暫?;驎r(shí)間上的偶爾中斷。例如,可以周期性地持續(xù)執(zhí)行,執(zhí)行5分鐘能創(chuàng)建約100個(gè)用戶分區(qū)數(shù)據(jù),然后暫停5分鐘再執(zhí)行,周而復(fù)始。
為了避免注冊(cè)用戶并發(fā)數(shù)量很多,在為用戶創(chuàng)建用戶分區(qū)時(shí),用戶分區(qū)存儲(chǔ)區(qū)中的用戶分區(qū)數(shù)據(jù)耗盡的情況,在此提供一種優(yōu)選的執(zhí)行過(guò)程。即對(duì)用戶分區(qū)存儲(chǔ)中的用戶分區(qū)數(shù)據(jù)的數(shù)量進(jìn)行判斷,如果數(shù)量小于預(yù)設(shè)的數(shù)量閾值,則持續(xù)執(zhí)行上述101~102,直至用戶分區(qū)存儲(chǔ)區(qū)中的用戶分區(qū)數(shù)據(jù)的數(shù)量達(dá)到最大容量值。上述對(duì)用戶分區(qū)存儲(chǔ)中用戶分區(qū)數(shù)據(jù)的數(shù)量進(jìn)行判斷的步驟可以在每完成一個(gè)用戶的注冊(cè)后執(zhí)行。
如果有用戶進(jìn)行注冊(cè),即服務(wù)器接收到用戶的注冊(cè)請(qǐng)求時(shí),開(kāi)始執(zhí)行103,判斷用戶分區(qū)存儲(chǔ)區(qū)中是否存在可用的用戶分區(qū)數(shù)據(jù),如果是,執(zhí)行104;否則執(zhí)行105。
在判斷用戶分區(qū)存儲(chǔ)區(qū)中是否存在可用的用戶分區(qū)數(shù)據(jù)時(shí),可以首先獲取用戶分區(qū)存儲(chǔ)區(qū)下的一級(jí)文件夾列表,判斷列表中是否有文件夾,如果有,則表明有可用的用戶分區(qū)數(shù)據(jù),否則表明沒(méi)有可用的用戶分區(qū)數(shù)據(jù)。
在104中,從用戶分區(qū)存儲(chǔ)區(qū)中獲取用戶分區(qū)數(shù)據(jù)并移動(dòng)至為用戶分配的用戶分區(qū)。
在此涉及到另一個(gè)存儲(chǔ)區(qū)域,如圖2中最右邊的存儲(chǔ)區(qū)域,該存儲(chǔ)區(qū)域用于分配給用戶作為用戶分區(qū),當(dāng)有注冊(cè)用戶時(shí),從該存儲(chǔ)區(qū)域分配一個(gè)用 戶分區(qū)給該注冊(cè)用戶。然后從用戶分區(qū)存儲(chǔ)區(qū)中剪切一個(gè)用戶分區(qū)數(shù)據(jù)至為該用戶分配的用戶分區(qū),將該用戶分區(qū)與用戶的標(biāo)識(shí)進(jìn)行綁定。
接續(xù)上述的例子,在本步驟中,可以執(zhí)行如下LINUX命令將用戶分區(qū)存儲(chǔ)區(qū)中的用戶分區(qū)數(shù)據(jù)移動(dòng)至為用戶分配的用戶分區(qū):
mv/bak/userdata10211231/data/data
在105中,將用戶分區(qū)初始化壓縮文件直接解壓縮至為用戶分配的用戶分區(qū)。
接續(xù)上例,本步驟可以采用如下LINUX命令實(shí)現(xiàn):
unzip/bak/data.zip–d/data/data
至此,在用戶注冊(cè)過(guò)程中創(chuàng)建用戶分區(qū)的過(guò)程執(zhí)行完成,在用戶注冊(cè)完成后,向用戶返回注冊(cè)成功的報(bào)文。
當(dāng)用戶分區(qū)創(chuàng)建好后,如果接收到用戶的登錄請(qǐng)求,則可以按照?qǐng)D3所示流程執(zhí)行:
當(dāng)接收到用戶的登錄請(qǐng)求后,執(zhí)行301,服務(wù)器為該用戶分配提供服務(wù)的網(wǎng)絡(luò)設(shè)備。服務(wù)器分配網(wǎng)絡(luò)設(shè)備的方式可以是隨機(jī)分配、也可以是按一定順序進(jìn)行分配,本發(fā)明對(duì)網(wǎng)絡(luò)設(shè)備分配的方式并不加以限制。
在302中,將該用戶的用戶分區(qū)地址信息發(fā)送給為該用戶分配的網(wǎng)絡(luò)設(shè)備。
本步驟中,可以利用用戶的標(biāo)識(shí)信息確定用戶分區(qū)存儲(chǔ)區(qū)中與該用戶的標(biāo)識(shí)綁定的用戶分區(qū),將該用戶分區(qū)的地址信息發(fā)送給網(wǎng)絡(luò)設(shè)備。
當(dāng)為用戶分配的網(wǎng)絡(luò)設(shè)備與用戶建立連接后,在303中,該網(wǎng)絡(luò)設(shè)備利用為用戶分配的用戶分區(qū)為用戶提供服務(wù)。
在本步驟中,網(wǎng)絡(luò)設(shè)備可以依據(jù)用戶分區(qū)地址信息,將為用戶分配的用戶分區(qū)映射至網(wǎng)絡(luò)設(shè)備本地,假設(shè)用戶分區(qū)地址為192.168.0.1://data/a,可以利用如下LINUX命令進(jìn)行映射:
mount 192.168.0.1://data/a/data/data
上述的映射實(shí)際上是將用戶分區(qū)的地址存儲(chǔ)于網(wǎng)絡(luò)設(shè)備本地,使得網(wǎng)絡(luò) 設(shè)備能夠依據(jù)用戶分區(qū)的地址,在用戶分區(qū)所在的存儲(chǔ)區(qū)域進(jìn)行數(shù)據(jù)讀寫(xiě)。網(wǎng)絡(luò)設(shè)備本地并不需要額外存儲(chǔ)用戶分區(qū)數(shù)據(jù),而是在提供服務(wù)時(shí)從用戶分區(qū)所在的存儲(chǔ)區(qū)域讀取數(shù)據(jù),并實(shí)時(shí)在用戶分區(qū)所在的存儲(chǔ)區(qū)域?qū)τ脩舴謪^(qū)數(shù)據(jù)進(jìn)行更新。
除了上述方式之外,網(wǎng)絡(luò)設(shè)備也可以依據(jù)用戶分區(qū)的地址信息從用戶分區(qū)存儲(chǔ)區(qū)中讀取對(duì)應(yīng)的用戶分區(qū)數(shù)據(jù),從而向用戶提供服務(wù)。如果發(fā)生用戶分區(qū)數(shù)據(jù)的更新,則可以將更新后的用戶分區(qū)數(shù)據(jù)寫(xiě)入用戶分區(qū)存儲(chǔ)區(qū)中該用戶的用戶分區(qū)中。
更新的用戶分區(qū)數(shù)據(jù)可以包括用戶使用服務(wù)的記錄(例如最近的視頻觀看記錄、下載記錄等)、用戶的賬戶信息(例如密碼的更新、昵稱的更新等)、使用服務(wù)的緩存文件(例如新安裝應(yīng)用的緩存文件等)等等。
當(dāng)該網(wǎng)絡(luò)設(shè)備與用戶斷開(kāi)連接后,取消該用戶的用戶分區(qū)的映射。
在本發(fā)明實(shí)施例中,用戶分區(qū)所在的存儲(chǔ)區(qū)域可以使用遠(yuǎn)程的NAS磁盤(pán),而非網(wǎng)絡(luò)設(shè)備本地,也可以使用服務(wù)器的本地磁盤(pán)。如圖2中所示的各存儲(chǔ)區(qū)域可以位于同一NAS磁盤(pán)。
圖4為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖,該裝置可以設(shè)置于云盒系統(tǒng)中的服務(wù)器,如圖4中所示,該裝置可以包括:分區(qū)創(chuàng)建單元00和注冊(cè)單元10,還可以包括存儲(chǔ)區(qū)維護(hù)單元20、設(shè)備分配單元30和地址發(fā)送單元40。
其中,分區(qū)創(chuàng)建單元00負(fù)責(zé)用戶分區(qū)的創(chuàng)建,即將用戶分區(qū)初始化壓縮文件進(jìn)行解壓縮得到用戶分區(qū)數(shù)據(jù),并將得到的用戶分區(qū)數(shù)據(jù)送入用戶分區(qū)存儲(chǔ)區(qū)。該創(chuàng)建操作可以在服務(wù)器后臺(tái)執(zhí)行。
如果接收到用戶的注冊(cè)請(qǐng)求,則注冊(cè)單元10從用戶分區(qū)存儲(chǔ)區(qū)中獲取用戶分區(qū)數(shù)據(jù)并移動(dòng)至為用戶分配的用戶分區(qū)。
具體地,分區(qū)創(chuàng)建單元00可以包括:解壓子單元01和剪切子單元02。其中,解壓子單元01將用戶分區(qū)初始化壓縮文件解壓縮至臨時(shí)處理區(qū)。待用戶分區(qū)初始化壓縮文件解壓縮完畢后,剪切子單元02將解壓縮得到的用戶分區(qū)數(shù)據(jù)從臨時(shí)處理區(qū)剪切至用戶分區(qū)存儲(chǔ)區(qū)。
將用戶分區(qū)初始化壓縮文件先解壓至臨時(shí)處理區(qū)的目的在于,保證用戶分區(qū)存儲(chǔ)區(qū)中的用戶分區(qū)數(shù)據(jù)都是完整的,而不會(huì)造成后續(xù)用戶注冊(cè)時(shí),從用戶分區(qū)存儲(chǔ)區(qū)中移走的用戶分區(qū)數(shù)據(jù)為非完整的。
用戶分區(qū)的創(chuàng)建是后臺(tái)持續(xù)執(zhí)行的過(guò)程,例如分區(qū)創(chuàng)建單元00周期性地持續(xù)執(zhí)行將用戶分區(qū)初始化壓縮文件進(jìn)行解壓縮得到用戶分區(qū)數(shù)據(jù),并將得到的用戶分區(qū)數(shù)據(jù)送入用戶分區(qū)存儲(chǔ)區(qū)的操作。
為了避免注冊(cè)用戶并發(fā)數(shù)量很多,在為用戶創(chuàng)建用戶分區(qū)時(shí),用戶分區(qū)存儲(chǔ)區(qū)中的用戶分區(qū)數(shù)據(jù)耗盡的情況,在此提供一種優(yōu)選的實(shí)施方式。存儲(chǔ)區(qū)維護(hù)單元20判斷用戶分區(qū)存儲(chǔ)區(qū)中的用戶分區(qū)數(shù)據(jù)的數(shù)量,如果小于預(yù)設(shè)的數(shù)量閾值,則觸發(fā)分區(qū)創(chuàng)建單元00執(zhí)行將用戶分區(qū)初始化壓縮文件進(jìn)行解壓縮得到用戶分區(qū)數(shù)據(jù),并將得到的用戶分區(qū)數(shù)據(jù)送入用戶分區(qū)存儲(chǔ)區(qū)的操作,直至用戶分區(qū)存儲(chǔ)區(qū)中的用戶分區(qū)數(shù)據(jù)的數(shù)量達(dá)到最大容量值。這樣就能夠盡量維持用戶分區(qū)存儲(chǔ)區(qū)中可用的用戶分區(qū)數(shù)據(jù)的數(shù)量,保證用戶注冊(cè)時(shí),用戶分區(qū)存儲(chǔ)區(qū)中有用戶分區(qū)數(shù)據(jù)。
具體地,上述注冊(cè)單元10可以包括:判斷子單元11、移動(dòng)子單元12和創(chuàng)建子單元13。
如果服務(wù)器接收到用戶的注冊(cè)請(qǐng)求,判斷子單元11判斷用戶分區(qū)存儲(chǔ)區(qū)中是否存在用戶分區(qū)數(shù)據(jù)。在判斷子單元的判斷結(jié)果為是時(shí),移動(dòng)子單元12從用戶分區(qū)存儲(chǔ)區(qū)中獲取用戶分區(qū)數(shù)據(jù)并移動(dòng)至為注冊(cè)用戶分配的用戶分區(qū),即在注冊(cè)過(guò)程中直接使用已經(jīng)創(chuàng)建的用戶分區(qū)即可。在判斷子單元的判斷結(jié)果為否時(shí),創(chuàng)建子單元13將用戶分區(qū)初始化壓縮文件直接解壓縮到為注冊(cè)用戶分配的用戶分區(qū)。
具體地,判斷子單元11可以判斷用戶分區(qū)存儲(chǔ)區(qū)下的一級(jí)文件夾列表中是否有文件夾,如果有,則確定用戶分區(qū)存儲(chǔ)區(qū)中存在用戶分區(qū)數(shù)據(jù);否則,確定用戶分區(qū)存儲(chǔ)區(qū)中不存在用戶分區(qū)數(shù)據(jù)。
后續(xù),如果接收到用戶的登錄請(qǐng)求,則設(shè)備分配單元30為用戶分配提供服務(wù)的網(wǎng)絡(luò)設(shè)備。分配網(wǎng)絡(luò)設(shè)備的方式可以是隨機(jī)分配、也可以是按一定順序進(jìn) 行分配,本發(fā)明對(duì)網(wǎng)絡(luò)設(shè)備分配的方式并不加以限制。
然后,地址發(fā)送單元40將為用戶分配的用戶分區(qū)的地址信息發(fā)送給網(wǎng)絡(luò)設(shè)備。網(wǎng)絡(luò)設(shè)備與該登錄用戶建立連接后,利用為用戶分配的用戶分區(qū)為用戶提供服務(wù),其中可以依據(jù)用戶分區(qū)地址信息,將為用戶分配的用戶分區(qū)映射至本地。
需要說(shuō)明的是,上述實(shí)施例的描述中以LINUX命令為例,本發(fā)明并不限于LINUX語(yǔ)言來(lái)實(shí)現(xiàn),也可以采用諸如JAVA等其他語(yǔ)言來(lái)實(shí)現(xiàn)。
下面提供一種本發(fā)明的優(yōu)選應(yīng)用場(chǎng)景:隨著天貓魔盒、小米盒子、百度盒子等網(wǎng)絡(luò)機(jī)頂盒的不斷普及,用戶可以在電視上觀看高清電影電視、玩體感游戲、網(wǎng)絡(luò)購(gòu)物、支付水電煤費(fèi)用等功能,將人機(jī)交互由傳統(tǒng)的PC、移動(dòng)終端搬到客廳中,實(shí)現(xiàn)未來(lái)數(shù)字家庭的高清互聯(lián)概念。
然而,用戶想要通過(guò)電視享受上述服務(wù),需要購(gòu)買(mǎi)網(wǎng)絡(luò)機(jī)頂盒,通過(guò)安裝于網(wǎng)絡(luò)機(jī)頂盒中的各種應(yīng)用(APP)與服務(wù)器進(jìn)行交互來(lái)實(shí)現(xiàn)上述服務(wù),如果用戶使用配置較低的普通機(jī)頂盒或者智能電視等用戶端設(shè)備,則無(wú)法實(shí)現(xiàn)上述服務(wù)。為了更廣泛地推廣自己的服務(wù),網(wǎng)絡(luò)服務(wù)提供商推出了云盒的概念,即將網(wǎng)絡(luò)機(jī)頂盒放置于云端,多個(gè)云盒構(gòu)成云盒系統(tǒng),用戶需要安裝的各類(lèi)APP安裝于云盒,而不必直接安裝于用戶端設(shè)備中,由云盒與各類(lèi)APP的服務(wù)器進(jìn)行交互,獲取APP服務(wù)內(nèi)容,將APP的顯示形式以及顯示內(nèi)容以數(shù)據(jù)流的形式推送至用戶端設(shè)備,來(lái)自用戶端設(shè)備的控制信號(hào)由云盒發(fā)送至服務(wù)器,這樣用戶端設(shè)備為配置較低的普通機(jī)頂盒或者智能電視時(shí),也能夠享受豐富的服務(wù)內(nèi)容。
不同的用戶端設(shè)備在任意時(shí)間連接云盒系統(tǒng)后,系統(tǒng)會(huì)自動(dòng)分配一個(gè)云盒為用戶提供服務(wù)。其中,云盒在為用戶提供服務(wù)時(shí),需要依據(jù)諸如用戶的觀影記錄、用戶賬戶信息、用戶安裝的應(yīng)用記錄、用戶所安裝應(yīng)用的緩存文件等用戶分區(qū)數(shù)據(jù)。
在這種應(yīng)用場(chǎng)景下,用戶分區(qū)的創(chuàng)建采用上述實(shí)施例中所示的方式和裝置,假設(shè)創(chuàng)建并存儲(chǔ)于遠(yuǎn)程的NAS磁盤(pán)。系統(tǒng)架構(gòu)可以如圖5中所示,當(dāng)用 戶登錄云盒系統(tǒng)后,為用戶分配的云盒將接收到該用戶的用戶分區(qū)地址信息,即遠(yuǎn)程的NAS磁盤(pán)上該用戶的用戶分區(qū)地址信息,然后云盒依據(jù)該地址信息,將為用戶分配的用戶分區(qū)映射至云盒本地。云盒在向用戶提供服務(wù)時(shí),就可以實(shí)時(shí)從遠(yuǎn)程的NAS磁盤(pán)上的用戶分區(qū)讀取數(shù)據(jù)并進(jìn)行實(shí)時(shí)更新。
這樣,每次用戶登錄時(shí),都會(huì)分配一個(gè)云盒為用戶提供服務(wù),云盒將遠(yuǎn)程的用戶分區(qū)映射到本地,用戶之前的觀影記錄、用戶所安裝應(yīng)用的緩存文件等用戶分區(qū)數(shù)據(jù)就可以被云盒使用,用戶體驗(yàn)比較好。這種對(duì)云盒進(jìn)行復(fù)用的方式也極大程度上地節(jié)約了云盒資源,并且即便用戶登錄不同的云盒,也能夠得到一致的用戶體驗(yàn)。
需要說(shuō)明的是,本發(fā)明并不限于上述應(yīng)用場(chǎng)景,還可以用于其他使用用戶分區(qū)提供服務(wù)的場(chǎng)景。
由以上描述可以看出,本發(fā)明中用戶分區(qū)的創(chuàng)建在后臺(tái)執(zhí)行,獨(dú)立于用戶注冊(cè)過(guò)程,用戶在注冊(cè)時(shí)直接使用創(chuàng)建完成的用戶分區(qū),顯然縮短了用戶注冊(cè)過(guò)程的時(shí)間,提高了用戶體驗(yàn)。經(jīng)過(guò)實(shí)際測(cè)試,能夠?qū)⒂脩舻淖?cè)時(shí)間從原來(lái)的9s縮短至60ms,效果十分顯著。
在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(Read-Only Memory,ROM)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。