文件訪問(wèn)方法和文件訪問(wèn)裝置以及服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及計(jì)算機(jī)應(yīng)用系統(tǒng)技術(shù)領(lǐng)域,尤其涉及一種文件訪問(wèn)方法和文件訪問(wèn)裝置以及服務(wù)器。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)用戶(hù)爆發(fā)式地增長(zhǎng),提供網(wǎng)絡(luò)服務(wù)的服務(wù)器也面臨著性能考驗(yàn)。千萬(wàn)級(jí)別甚至是超億用戶(hù)同時(shí)訪問(wèn)服務(wù)器端的文件數(shù)據(jù)是常見(jiàn)的場(chǎng)景,如視頻網(wǎng)站。對(duì)于每個(gè)文件來(lái)說(shuō),服務(wù)器操作系統(tǒng)單位時(shí)間內(nèi)能同時(shí)打開(kāi)該文件的句柄數(shù)是有限個(gè),遠(yuǎn)低于用戶(hù)并發(fā)訪問(wèn)數(shù),這就是服務(wù)器并發(fā)訪問(wèn)的性能瓶頸所在。因此,如何提高服務(wù)器端文件數(shù)據(jù)并發(fā)訪問(wèn)的性能,是一個(gè)值得研究的問(wèn)題。
[0003]目前服務(wù)器端文件數(shù)據(jù)一般采用多點(diǎn)備份的方法來(lái)分散文件服務(wù)器的訪問(wèn)壓力,當(dāng)文件服務(wù)器規(guī)模不能得到保證的情況下,僅對(duì)文件進(jìn)行多點(diǎn)備份的方法容易觸發(fā)并發(fā)訪問(wèn)的性能瓶頸,不足以保證服務(wù)器端為用戶(hù)提供穩(wěn)定的服務(wù)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問(wèn)題之一。
[0005]為此,本發(fā)明的一個(gè)目的在于提出一種文件訪問(wèn)方法,該方法可以提高文件并發(fā)訪問(wèn)的性能,保證服務(wù)器端為用戶(hù)提供穩(wěn)定的服務(wù)。
[0006]本發(fā)明的另一個(gè)目的在于提出一種文件訪問(wèn)裝置。
[0007]本發(fā)明的另一個(gè)目的在于提出一種服務(wù)器。
[0008]為達(dá)到上述目的,本發(fā)明第一方面實(shí)施例提出的文件訪問(wèn)方法,包括:接收文件訪問(wèn)請(qǐng)求,并根據(jù)所述文件訪問(wèn)請(qǐng)求確定要訪問(wèn)的文件;根據(jù)預(yù)先記錄的文件與文件分塊的映射關(guān)系,確定所述要訪問(wèn)的文件包括的文件分塊;根據(jù)預(yù)先記錄的文件分塊與文件服務(wù)器的映射關(guān)系,確定保存所述文件分塊的文件服務(wù)器,并從所述文件服務(wù)器中獲取所述文件分塊,其中,每個(gè)文件分塊被預(yù)先備份保存。
[0009]本發(fā)明第一方面實(shí)施例提出的文件訪問(wèn)方法,通過(guò)將文件分成了文件分塊,以及,備份保存文件分塊,可以實(shí)現(xiàn)文件分塊與多點(diǎn)備份相結(jié)合,可以提高服務(wù)器端的文件并發(fā)訪問(wèn)的性能,保證服務(wù)器端為用戶(hù)提供穩(wěn)定的服務(wù)。
[0010]為達(dá)到上述目的,本發(fā)明第二方面實(shí)施例提出的文件訪問(wèn)裝置,包括:接收模塊,用于接收文件訪問(wèn)請(qǐng)求,并根據(jù)所述文件訪問(wèn)請(qǐng)求確定要訪問(wèn)的文件;確定模塊,用于根據(jù)預(yù)先記錄的文件與文件分塊的映射關(guān)系,確定所述要訪問(wèn)的文件包括的文件分塊;獲取模塊,用于根據(jù)預(yù)先記錄的文件分塊與文件服務(wù)器的映射關(guān)系,確定保存所述文件分塊的文件服務(wù)器,并從所述文件服務(wù)器中獲取所述文件分塊,其中,每個(gè)文件分塊被預(yù)先備份保存。
[0011]本發(fā)明第二方面實(shí)施例提出的文件訪問(wèn)裝置,通過(guò)將文件分成了文件分塊,以及,備份保存文件分塊,可以實(shí)現(xiàn)文件分塊與多點(diǎn)備份相結(jié)合,可以提高服務(wù)器端的文件并發(fā)訪問(wèn)的性能,保證服務(wù)器端為用戶(hù)提供穩(wěn)定的服務(wù)。
[0012]為達(dá)到上述目的,本發(fā)明第三方面實(shí)施例提出的服務(wù)器,包括:殼體、處理器、存儲(chǔ)器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲(chǔ)器設(shè)置在電路板上;電源電路,用于為客戶(hù)端設(shè)備的各個(gè)電路或器件供電;存儲(chǔ)器用于存儲(chǔ)可執(zhí)行程序代碼;處理器通過(guò)讀取存儲(chǔ)器中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與可執(zhí)行程序代碼對(duì)應(yīng)的程序,以用于執(zhí)行以下步驟:接收文件訪問(wèn)請(qǐng)求,并根據(jù)所述文件訪問(wèn)請(qǐng)求確定要訪問(wèn)的文件;根據(jù)預(yù)先記錄的文件與文件分塊的映射關(guān)系,確定所述要訪問(wèn)的文件包括的文件分塊;根據(jù)預(yù)先記錄的文件分塊與文件服務(wù)器的映射關(guān)系,確定保存所述文件分塊的文件服務(wù)器,并從所述文件服務(wù)器中獲取所述文件分塊,其中,每個(gè)文件分塊被預(yù)先備份保存。
[0013]本發(fā)明第三方面實(shí)施例提出的服務(wù)器,通過(guò)將文件分成了文件分塊,以及,備份保存文件分塊,可以實(shí)現(xiàn)文件分塊與多點(diǎn)備份相結(jié)合,可以提高服務(wù)器端的文件并發(fā)訪問(wèn)的性能,保證服務(wù)器端為用戶(hù)提供穩(wěn)定的服務(wù)。
[0014]本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
【附圖說(shuō)明】
[0015]本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
[0016]圖1是本發(fā)明一實(shí)施例提出的文件訪問(wèn)方法的流程示意圖;
[0017]圖2是本發(fā)明另一實(shí)施例提出的文件訪問(wèn)方法的流程示意圖;
[0018]圖3是本發(fā)明實(shí)施例中并發(fā)訪問(wèn)文件的結(jié)構(gòu)示意圖;
[0019]圖4是本發(fā)明另一實(shí)施例提出的文件訪問(wèn)裝置的結(jié)構(gòu)示意圖;
[0020]圖5是本發(fā)明另一實(shí)施例提出的文件訪問(wèn)裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0021]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類(lèi)似的標(biāo)號(hào)表示相同或類(lèi)似的模塊或具有相同或類(lèi)似功能的模塊。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書(shū)的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
[0022]圖1是本發(fā)明一實(shí)施例提出的文件訪問(wèn)方法的流程示意圖,該方法包括:
[0023]Sll:接收文件訪問(wèn)請(qǐng)求,并根據(jù)所述文件訪問(wèn)請(qǐng)求確定要訪問(wèn)的文件。
[0024]當(dāng)用戶(hù)要訪問(wèn)一個(gè)文件時(shí),例如,用戶(hù)要觀看一個(gè)視頻文件時(shí),用戶(hù)使用的客戶(hù)端可以向服務(wù)器發(fā)送文件訪問(wèn)請(qǐng)求。
[0025]本實(shí)施例可以特別針對(duì)多用戶(hù)并發(fā)訪問(wèn)場(chǎng)景,因此,該文件訪問(wèn)請(qǐng)求可以是多用戶(hù)并發(fā)訪問(wèn)中的文件訪問(wèn)請(qǐng)求。
[0026]以每個(gè)文件訪問(wèn)請(qǐng)求為例,文件訪問(wèn)請(qǐng)求中可以攜帶文件標(biāo)識(shí),以便根據(jù)文件標(biāo)識(shí)確定要訪問(wèn)的文件,文件標(biāo)識(shí)(id)例如為統(tǒng)一資源定位符(Uniform Resource Locator,URL)或者文件編號(hào)等。
[0027]當(dāng)服務(wù)器接收到文件訪問(wèn)請(qǐng)求后,服務(wù)器可以從文件訪問(wèn)請(qǐng)求中解析出標(biāo)識(shí)信息,另外,服務(wù)器中還可以預(yù)先保存標(biāo)識(shí)信息與文件的對(duì)應(yīng)關(guān)系,從而確定出要訪問(wèn)的文件,例如,當(dāng)文件訪問(wèn)請(qǐng)求中攜帶idl,且idl對(duì)應(yīng)第一文件時(shí),則要訪問(wèn)的文件是第一文件。
[0028]S12:根據(jù)預(yù)先記錄的文件與文件分塊的映射關(guān)系,確定所述要訪問(wèn)的文件包括的文件分塊。
[0029]其中,文件與文件分塊的映射關(guān)系可以是一對(duì)一的關(guān)系,或者,一對(duì)多的關(guān)系。
[0030]例如,文件與文件分塊的映射關(guān)系是:第一文件對(duì)應(yīng)第一分塊,第二分塊,第三分塊。
[0031]因此,通過(guò)該映射分析,可以確定第一文件包括的文件分塊是:第一分塊,第二分塊和第三分塊。
[0032]S13:根據(jù)預(yù)先記錄的文件分塊與文件服務(wù)器的映射關(guān)系,確定保存所述文件分塊的文件服務(wù)器,并從所述文件服務(wù)器中獲取所述文件分塊,其中,每個(gè)文件分塊被預(yù)先備份保存。
[0033]其中,文件分塊與文件服務(wù)器的映射關(guān)系是一對(duì)多的關(guān)系。
[0034]例如,第一分塊對(duì)應(yīng)第一文件服務(wù)器和第二文件服務(wù)器。
[0035]由于保存一個(gè)文件分塊的文件服務(wù)器是多個(gè),在獲取一個(gè)文件分塊時(shí),可以只從其中一個(gè)文件服務(wù)器獲取,例如,要獲取第一分塊時(shí),可以從第一文件服務(wù)器或第二文件服務(wù)器中獲取第一文件分塊。
[0036]可選的,所述從所述文件服務(wù)器中獲取所述文件分塊,包括:
[0037]從所述文件服務(wù)器中隨機(jī)選擇一個(gè)文件服務(wù)器;
[0038]從選擇的文件服務(wù)器中,獲取所述文件分塊。
[0039]例如,假設(shè)對(duì)應(yīng)一個(gè)文件分塊,保存該文件分塊的文件服務(wù)器的個(gè)數(shù)是η個(gè),則可以采用隨機(jī)方式從η個(gè)文件服務(wù)器中隨機(jī)選擇出一個(gè)文件服務(wù)器,之后,從隨機(jī)選擇出的一個(gè)文件服務(wù)器中獲取該文件分塊。
[0040]可以理解的是,文件分塊不限于從一個(gè)文件服務(wù)器中獲取,也可以從多個(gè)文件服務(wù)器中獲取,當(dāng)從多個(gè)文件服務(wù)器中獲取時(shí),例如可以通過(guò)比較,驗(yàn)證,去重等方式,提高文件分塊的數(shù)據(jù)準(zhǔn)確度。
[0041]另外,當(dāng)從多個(gè)文件服務(wù)器中選擇一個(gè)文件服務(wù)器時(shí),也不限于采用隨機(jī)方式,例如還可以根據(jù)文件服務(wù)器的負(fù)載情況,選擇負(fù)載較輕的文件服務(wù)器等。
[0042]因此,具體的從哪些文件服務(wù)器獲取,以及,如何選擇這些文件服務(wù)器的方式都可以通過(guò)設(shè)置確定。
[0043]另外,對(duì)應(yīng)不同的文件分塊,可以采用并行的方式進(jìn)行獲取。
[0044]可選的,當(dāng)所述要訪問(wèn)的文件包括的文件分塊為至少兩個(gè)時(shí),所述從所述文件服務(wù)器中獲取所述文件分塊,包