两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于分布式文件系統(tǒng)的文件讀取、寫入方法及節(jié)點(diǎn)服務(wù)器的制造方法_5

文檔序號:9865533閱讀:來源:國知局
[0227] 依據(jù)所述數(shù)據(jù)訪問請求建立與所述客戶端的socket連接。
[022引本發(fā)明的實(shí)施例還公開了 B9、一種基于分布式文件系統(tǒng)的文件寫入方法,所述方 法包括:
[0229] 數(shù)據(jù)節(jié)點(diǎn)服務(wù)器接收客戶端發(fā)送的第二數(shù)據(jù)包packet,所述第二數(shù)據(jù)包packet 中包括目標(biāo)數(shù)據(jù)塊ID、校驗(yàn)屬性信息W及第二數(shù)據(jù)信息;
[0230] 依據(jù)所述目標(biāo)數(shù)據(jù)塊ID定位對應(yīng)的目標(biāo)數(shù)據(jù)塊;
[0231] 在所述目標(biāo)數(shù)據(jù)塊ID中添加所述校驗(yàn)屬性信息,生成所述目標(biāo)數(shù)據(jù)塊的標(biāo)識信 息;
[0232] 將所述第二數(shù)據(jù)信息寫入所述目標(biāo)數(shù)據(jù)塊中。
[0233] B10、根據(jù)B9所述的方法,所述第二數(shù)據(jù)信息包括多個分片數(shù)據(jù)chunk, W及分別 與所述多個分片數(shù)據(jù)chunk對應(yīng)的校驗(yàn)和數(shù)據(jù)checksum,所述將所述第二數(shù)據(jù)信息寫入所 述目標(biāo)數(shù)據(jù)塊中的步驟為:
[0234] 將所述分片數(shù)據(jù)chunk W及與所述分片數(shù)據(jù)chunk對應(yīng)的校驗(yàn)和數(shù)據(jù)checksum 寫入所述目標(biāo)數(shù)據(jù)塊ID對應(yīng)的目標(biāo)數(shù)據(jù)塊中,其中,所述分片數(shù)據(jù)chunk W及與所述分片 數(shù)據(jù)chunk對應(yīng)的校驗(yàn)和數(shù)據(jù)checksum存儲在磁盤的同一存儲介質(zhì)中。
[0235] B11、根據(jù)B9或B10所述的方法,所述校驗(yàn)屬性信息包括校驗(yàn)和版 本Inlinechecksumversion,校驗(yàn)和類型checksumtype, W及每個校驗(yàn)和字節(jié)數(shù) bytesPerChecksum。
[0236] B12、根據(jù)B9或ΒΙΟ所述的方法,在所述將所述第二數(shù)據(jù)信息寫入所述目標(biāo)數(shù)據(jù)塊 中的步驟之后,還包括:
[0237] 當(dāng)前數(shù)據(jù)節(jié)點(diǎn)服務(wù)器將所述第二數(shù)據(jù)包packet傳遞至預(yù)先生成的節(jié)點(diǎn)隊列中的 下一數(shù)據(jù)節(jié)點(diǎn)服務(wù)器中。
[023引 B13、根據(jù)B12所述的方法,還包括:
[0239] 生成響應(yīng)信息,所述響應(yīng)信息為告知所述客戶端當(dāng)前第二數(shù)據(jù)包packet處理完 成的信息;
[0240] 將所述響應(yīng)信息返回所述客戶端。
[0241] 本發(fā)明的實(shí)施例還公開了 C14、一種節(jié)點(diǎn)服務(wù)器,所述服務(wù)器包括:
[0242] 請求接收模塊,適于接收客戶端發(fā)送的數(shù)據(jù)訪問請求,所述數(shù)據(jù)訪問請求包括需 要讀取的目標(biāo)數(shù)據(jù)塊的信息;
[0243] 定位模塊,適于獲得與所述目標(biāo)數(shù)據(jù)塊的信息匹配的目標(biāo)數(shù)據(jù)塊,所述目標(biāo)數(shù)據(jù) 塊包括標(biāo)識信息W及第一數(shù)據(jù)信息,所述標(biāo)識信息包括校驗(yàn)屬性信息;
[0244] 數(shù)據(jù)發(fā)送模塊,適于將所述校驗(yàn)屬性信息W及所述第一數(shù)據(jù)信息發(fā)送至所述客戶 端。
[0245] C15、根據(jù)C14所述的節(jié)點(diǎn)服務(wù)器,所述第一數(shù)據(jù)信息包括分片數(shù)據(jù)chunk W及對 應(yīng)的校驗(yàn)和數(shù)據(jù)checksum,其中,所述分片數(shù)據(jù)chunk W及所述校驗(yàn)和數(shù)據(jù)checksum存儲 在磁盤的同一個存儲介質(zhì)中。
[0246] C16、根據(jù)C15所述的方法,數(shù)據(jù)發(fā)送模塊包括:
[0247] 屬性信息讀取子模塊,適于從所述目標(biāo)數(shù)據(jù)塊的標(biāo)識信息中讀取所述校驗(yàn)屬性信 息發(fā)送至所述客戶端;
[024引數(shù)據(jù)讀取子模塊,適于從所述存儲介質(zhì)中讀取預(yù)設(shè)大小的分片數(shù)據(jù)chunk W及對 應(yīng)的校驗(yàn)和數(shù)據(jù)checksum發(fā)送至所述客戶端。
[0249] C17、根據(jù)C14所述的節(jié)點(diǎn)服務(wù)器,所述目標(biāo)數(shù)據(jù)塊的信息包括目標(biāo)數(shù)據(jù)塊ID,目 標(biāo)數(shù)據(jù)塊的時間戳GenerationStamp,所述定位模塊還適于:
[0巧0] 依據(jù)所述目標(biāo)數(shù)據(jù)塊ID W及所述目標(biāo)數(shù)據(jù)塊的時間戳GenerationStamp,遍歷磁 盤中存儲的數(shù)據(jù)塊,所述數(shù)據(jù)塊包括數(shù)據(jù)塊ID W及數(shù)據(jù)塊時間戳;
[0251] 查找所述數(shù)據(jù)塊ID與所述目標(biāo)數(shù)據(jù)塊ID相同,W及所述數(shù)據(jù)塊時間戳與所述目 標(biāo)數(shù)據(jù)塊的時間戳GenerationStamp相同的數(shù)據(jù)塊作為目標(biāo)數(shù)據(jù)塊。
[0巧2] C18、根據(jù)C14或C15或C16所述的節(jié)點(diǎn)服務(wù)器,所述校驗(yàn)屬性信息包括校驗(yàn) 和版本Inlinechecksumversion,校驗(yàn)和類型checksumtype, W及每個校驗(yàn)和字節(jié)數(shù) bytesPerChecksum。
[0253] C19、根據(jù)C16所述的節(jié)點(diǎn)服務(wù)器,所述目標(biāo)數(shù)據(jù)塊的信息包括目標(biāo)數(shù)據(jù)塊的塊內(nèi) 偏移量startOffset W及目標(biāo)數(shù)據(jù)塊的長度,所述預(yù)設(shè)大小為第一數(shù)據(jù)包packet的大小, 所述數(shù)據(jù)讀取模塊還適于:
[0巧4] 創(chuàng)建第一數(shù)據(jù)包packet ;
[0巧5] 依據(jù)所述目標(biāo)數(shù)據(jù)塊的塊內(nèi)偏移量startOffset計算起始位置;
[0256] 從所述起始位置開始,在所述存儲介質(zhì)中依次讀取每個分片數(shù)據(jù)chunk W及與所 述分片數(shù)據(jù)chunk對應(yīng)的校驗(yàn)和數(shù)據(jù)checksum到所述第一數(shù)據(jù)包packet中,直到填滿所 述第一數(shù)據(jù)包packet ;
[0巧7] 將所述第一數(shù)據(jù)包packet發(fā)送至客戶端中。
[0巧8] C20、根據(jù)C15或C16或C18所述的節(jié)點(diǎn)服務(wù)器,所述校驗(yàn)和數(shù)據(jù)checksum在所述 存儲介質(zhì)中的位置位于對應(yīng)的分片數(shù)據(jù)chunk的存儲位置之后,位于所述對應(yīng)的分片數(shù)據(jù) chunk的下一個分片數(shù)據(jù)chunk的存儲位置之前。
[0巧9] C21、根據(jù)C14所述的節(jié)點(diǎn)服務(wù)器,還包括:
[0260] 連接建立模塊,適于依據(jù)所述數(shù)據(jù)訪問請求建立與所述客戶端的socket連接。
[0261] 本發(fā)明的實(shí)施例還公開了 D22、一種節(jié)點(diǎn)服務(wù)器,所述節(jié)點(diǎn)服務(wù)器包括:
[0262] 數(shù)據(jù)接收模塊,適于接收客戶端發(fā)送的第二數(shù)據(jù)包packet,所述第二數(shù)據(jù)包 packet中包括目標(biāo)數(shù)據(jù)塊ID、校驗(yàn)屬性信息W及第二數(shù)據(jù)信息;
[0263] 數(shù)據(jù)塊定位模塊,適于依據(jù)所述目標(biāo)數(shù)據(jù)塊ID定位對應(yīng)的目標(biāo)數(shù)據(jù)塊;
[0264] 標(biāo)識信息生成模塊,適于在所述目標(biāo)數(shù)據(jù)塊ID中添加所述校驗(yàn)屬性信息,生成所 述目標(biāo)數(shù)據(jù)塊的標(biāo)識信息;
[0265] 寫入模塊,適于將所述第二數(shù)據(jù)信息寫入所述目標(biāo)數(shù)據(jù)塊中。
[0266] D23、根據(jù)D22所述的節(jié)點(diǎn)服務(wù)器,所述第二數(shù)據(jù)信息包括多個分片數(shù)據(jù)chunk, W 及分別與所述多個分片數(shù)據(jù)chunk對應(yīng)的校驗(yàn)和數(shù)據(jù)checksum,所述寫入模塊還適于:
[0267] 將所述分片數(shù)據(jù)chunk W及與所述分片數(shù)據(jù)chunk對應(yīng)的校驗(yàn)和數(shù)據(jù)checksum 寫入所述目標(biāo)數(shù)據(jù)塊ID對應(yīng)的目標(biāo)數(shù)據(jù)塊中,其中,所述分片數(shù)據(jù)chunk W及與所述分片 數(shù)據(jù)chunk對應(yīng)的校驗(yàn)和數(shù)據(jù)checksum存儲在磁盤的同一存儲介質(zhì)中。
[026引 D24、根據(jù)D22或D23所述的節(jié)點(diǎn)服務(wù)器,所述校驗(yàn)屬性信息包括校驗(yàn)和 版本Inlinechecksumversion,校驗(yàn)和類型checksumtype, W及每個校驗(yàn)和字節(jié)數(shù) bytesPerChecksum。
[0269] D25、根據(jù)Dll或D13所述的節(jié)點(diǎn)服務(wù)器,還包括:
[0270] 數(shù)據(jù)傳遞模塊,適于當(dāng)前數(shù)據(jù)節(jié)點(diǎn)服務(wù)器將所述第二數(shù)據(jù)包packet傳遞至預(yù)先 生成的節(jié)點(diǎn)隊列中的下一數(shù)據(jù)節(jié)點(diǎn)服務(wù)器中。
[0271] D26、根據(jù)D25所述的節(jié)點(diǎn)服務(wù)器,還包括:
[0272] 響應(yīng)信息生成模塊,適于生成響應(yīng)信息,所述響應(yīng)信息為告知所述客戶端當(dāng)前第 二數(shù)據(jù)包packet處理完成的信息;
[0273] 響應(yīng)信息發(fā)送模塊,適于將所述響應(yīng)信息返回所述客戶端。
【主權(quán)項】
1. 一種基于分布式文件系統(tǒng)的文件讀取方法,所述方法包括: 數(shù)據(jù)節(jié)點(diǎn)服務(wù)器接收客戶端發(fā)送的數(shù)據(jù)訪問請求,所述數(shù)據(jù)訪問請求包括需要讀取的 目標(biāo)數(shù)據(jù)塊的信息; 獲得與所述目標(biāo)數(shù)據(jù)塊的信息匹配的目標(biāo)數(shù)據(jù)塊,所述目標(biāo)數(shù)據(jù)塊包括標(biāo)識信息以及 第一數(shù)據(jù)信息,所述標(biāo)識信息包括校驗(yàn)屬性信息; 將所述校驗(yàn)屬性信息以及所述第一數(shù)據(jù)信息發(fā)送至所述客戶端。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一數(shù)據(jù)信息包括分片數(shù)據(jù)chunk以 及對應(yīng)的校驗(yàn)和數(shù)據(jù)checksum,其中,所述分片數(shù)據(jù)chunk以及所述校驗(yàn)和數(shù)據(jù)checksum 存儲在磁盤的同一個存儲介質(zhì)中。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,將所述校驗(yàn)屬性信息以及所述第一數(shù)據(jù) 信息發(fā)送至所述客戶端的步驟包括: 從所述目標(biāo)數(shù)據(jù)塊的標(biāo)識信息中讀取所述校驗(yàn)屬性信息發(fā)送至所述客戶端; 從所述存儲介質(zhì)中讀取預(yù)設(shè)大小的分片數(shù)據(jù)chunk以及對應(yīng)的校驗(yàn)和數(shù)據(jù)checksum 發(fā)送至所述客戶端。4. 根據(jù)權(quán)利要求1或2或3所述的方法,其特征在于,所述校驗(yàn)屬性信息包括校 驗(yàn)和版本Inlinechecksumversion,校驗(yàn)和類型checksumtype,以及每個校驗(yàn)和字節(jié)數(shù) bytesPerChecksum。5. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述目標(biāo)數(shù)據(jù)塊的信息包括目標(biāo)數(shù)據(jù)塊 的塊內(nèi)偏移量startOffset以及目標(biāo)數(shù)據(jù)塊的長度,所述預(yù)設(shè)大小為第一數(shù)據(jù)包packet 的大小,所述從所述存儲介質(zhì)中讀取預(yù)設(shè)大小的分片數(shù)據(jù)chunk以及對應(yīng)的校驗(yàn)和數(shù)據(jù) checksum發(fā)送至所述客戶端的步驟包括: 子步驟S11,創(chuàng)建第一數(shù)據(jù)包packet ; 子步驟S12,依據(jù)所述目標(biāo)數(shù)據(jù)塊的塊內(nèi)偏移量startOffset計算起始位置; 子步驟S13,從所述起始位置開始,在所述存儲介質(zhì)中依次讀取每個分片數(shù)據(jù)chunk以 及與所述分片數(shù)據(jù)chunk對應(yīng)的校驗(yàn)和數(shù)據(jù)checksum到所述第一數(shù)據(jù)包packet中,直到 填滿所述第一數(shù)據(jù)包packet ; 子步驟S14,將所述第一數(shù)據(jù)包packet發(fā)送至客戶端中; 子步驟S15,重復(fù)上述子步驟S11至子步驟S14,直到發(fā)送至客戶端的數(shù)據(jù)的大小等于 所述目標(biāo)數(shù)據(jù)塊的長度。6. -種基于分布式文件系統(tǒng)的文件寫入方法,所述方法包括: 數(shù)據(jù)節(jié)點(diǎn)服務(wù)器接收客戶端發(fā)送的第二數(shù)據(jù)包packet,所述第二數(shù)據(jù)包packet中包 括目標(biāo)數(shù)據(jù)塊ID、校驗(yàn)屬性信息以及第二數(shù)據(jù)信息; 依據(jù)所述目標(biāo)數(shù)據(jù)塊ID定位對應(yīng)的目標(biāo)數(shù)據(jù)塊; 在所述目標(biāo)數(shù)據(jù)塊ID中添加所述校驗(yàn)屬性信息,生成所述目標(biāo)數(shù)據(jù)塊的標(biāo)識信息; 將所述第二數(shù)據(jù)信息寫入所述目標(biāo)數(shù)據(jù)塊中。7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述第二數(shù)據(jù)信息包括多個分片數(shù)據(jù) chunk,以及分別與所述多個分片數(shù)據(jù)chunk對應(yīng)的校驗(yàn)和數(shù)據(jù)checksum,所述將所述第二 數(shù)據(jù)信息寫入所述目標(biāo)數(shù)據(jù)塊中的步驟為: 將所述分片數(shù)據(jù)chunk以及與所述分片數(shù)據(jù)chunk對應(yīng)的校驗(yàn)和數(shù)據(jù)checksum寫入 所述目標(biāo)數(shù)據(jù)塊ID對應(yīng)的目標(biāo)數(shù)據(jù)塊中,其中,所述分片數(shù)據(jù)chunk以及與所述分片數(shù)據(jù) chunk對應(yīng)的校驗(yàn)和數(shù)據(jù)checksum存儲在磁盤的同一存儲介質(zhì)中。8. 根據(jù)權(quán)利要求6或7所述的方法,其特征在于,所述校驗(yàn)屬性信息包括校驗(yàn) 和版本Inlinechecksumversion,校驗(yàn)和類型checksumtype,以及每個校驗(yàn)和字節(jié)數(shù) bytesPerChecksum。9. 一種節(jié)點(diǎn)服務(wù)器,所述服務(wù)器包括: 請求接收模塊,適于接收客戶端發(fā)送的數(shù)據(jù)訪問請求,所述數(shù)據(jù)訪問請求包括需要讀 取的目標(biāo)數(shù)據(jù)塊的信息; 定位模塊,適于獲得與所述目標(biāo)數(shù)據(jù)塊的信息匹配的目標(biāo)數(shù)據(jù)塊,所述目標(biāo)數(shù)據(jù)塊包 括標(biāo)識信息以及第一數(shù)據(jù)信息,所述標(biāo)識信息包括校驗(yàn)屬性信息; 數(shù)據(jù)發(fā)送模塊,適于將所述校驗(yàn)屬性信息以及所述第一數(shù)據(jù)信息發(fā)送至所述客戶端。10. -種節(jié)點(diǎn)服務(wù)器,所述節(jié)點(diǎn)服務(wù)器包括: 數(shù)據(jù)接收模塊,適于接收客戶端發(fā)送的第二數(shù)據(jù)包packet,所述第二數(shù)據(jù)包packet中 包括目標(biāo)數(shù)據(jù)塊ID、校驗(yàn)屬性信息以及第二數(shù)據(jù)信息; 數(shù)據(jù)塊定位模塊,適于依據(jù)所述目標(biāo)數(shù)據(jù)塊ID定位對應(yīng)的目標(biāo)數(shù)據(jù)塊; 標(biāo)識信息生成模塊,適于在所述目標(biāo)數(shù)據(jù)塊ID中添加所述校驗(yàn)屬性信息,生成所述目 標(biāo)數(shù)據(jù)塊的標(biāo)識信息; 寫入模塊,適于將所述第二數(shù)據(jù)信息寫入所述目標(biāo)數(shù)據(jù)塊中。
【專利摘要】本發(fā)明公開了一種基于分布式文件系統(tǒng)的文件讀取、寫入方法及節(jié)點(diǎn)服務(wù)器,其中所述方法包括:數(shù)據(jù)節(jié)點(diǎn)服務(wù)器接收客戶端發(fā)送的數(shù)據(jù)訪問請求,所述數(shù)據(jù)訪問請求包括需要讀取的目標(biāo)數(shù)據(jù)塊的信息;獲得與所述目標(biāo)數(shù)據(jù)塊的信息匹配的目標(biāo)數(shù)據(jù)塊,所述目標(biāo)數(shù)據(jù)塊包括標(biāo)識信息以及第一數(shù)據(jù)信息,所述標(biāo)識信息包括校驗(yàn)屬性信息;將所述校驗(yàn)屬性信息以及所述第一數(shù)據(jù)信息發(fā)送至所述客戶端。本發(fā)明可以減少磁盤的I/O次數(shù),有效地提高數(shù)據(jù)讀取的效率,提升HDFS隨機(jī)讀取的性能。
【IPC分類】G06F17/30, G06F3/06, H04L29/08
【公開號】CN105630808
【申請?zhí)枴緾N201410602747
【發(fā)明人】郭東東
【申請人】北京奇虎科技有限公司, 奇智軟件(北京)有限公司
【公開日】2016年6月1日
【申請日】2014年10月31日
當(dāng)前第5頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
泗洪县| 庄浪县| 桑植县| 客服| 门源| 榆树市| 宝丰县| 宜君县| 怀来县| 本溪市| 尤溪县| 广宁县| 荥经县| 五原县| 仪征市| 南安市| 随州市| 平昌县| 昭觉县| 墨竹工卡县| 沁水县| 四子王旗| 友谊县| 徐闻县| 宜川县| 汝阳县| 定西市| 抚顺市| 射阳县| 扎兰屯市| 林芝县| 三门县| 开江县| 阿克苏市| 敦煌市| 潼南县| 晋宁县| 绩溪县| 雅安市| 凭祥市| 长葛市|