国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)中的分布式計(jì)算的制作方法

      文檔序號(hào):6497629閱讀:762來(lái)源:國(guó)知局
      分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)中的分布式計(jì)算的制作方法
      【專利摘要】方法通過(guò)下述操作開(kāi)始:分散存儲(chǔ)(DS)處理模塊選擇用于執(zhí)行任務(wù)的分布式存儲(chǔ)和任務(wù)(DST)執(zhí)行單元集合,并確定數(shù)據(jù)的分散存儲(chǔ)差錯(cuò)編碼參數(shù)。所述方法以下述操作繼續(xù):DS處理模塊根據(jù)參數(shù)來(lái)對(duì)數(shù)據(jù)進(jìn)行分散存儲(chǔ)差錯(cuò)編碼以產(chǎn)生多個(gè)編碼數(shù)據(jù)塊,并將所述多個(gè)編碼數(shù)據(jù)塊成組為多個(gè)編碼數(shù)據(jù)塊成組;所述方法以下述操作繼續(xù):DS處理模塊將任務(wù)分區(qū)為部分任務(wù)的集合,將所述多個(gè)編碼數(shù)據(jù)塊成組中的至少一些輸出至DST執(zhí)行單元集合,以及將部分任務(wù)的集合輸出至DST執(zhí)行單元集合以對(duì)多個(gè)編碼數(shù)據(jù)塊成組中的至少一些執(zhí)行部分任務(wù)的集合。
      【專利說(shuō)明】分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)中的分布式計(jì)算
      [0001] 相關(guān)專利的交叉引用 本專利申請(qǐng)要求2011年12月12日提交的名稱為"Distributed Storage and Task Processing"的待審美國(guó)臨時(shí)申請(qǐng)No. 61/569,387以及2012年12月6日提交的名稱為 "Distributed Computing in a Distributed Storage and Task Network" 的待審美國(guó)實(shí) 用新型申請(qǐng)No. 13/707, 428依照35 U.S.C. § 119(e)的優(yōu)先權(quán),這兩個(gè)申請(qǐng)出于所有目 的以其全部?jī)?nèi)容通過(guò)引用并入本文并構(gòu)成本專利申請(qǐng)的一部分。

      【技術(shù)領(lǐng)域】
      [0002] 本發(fā)明總體涉及計(jì)算機(jī)網(wǎng)絡(luò),并且更具體地涉及數(shù)據(jù)的分散存儲(chǔ)和數(shù)據(jù)的分布式 任務(wù)處理。

      【背景技術(shù)】
      [0003] 計(jì)算設(shè)備被已知為傳送數(shù)據(jù)、處理數(shù)據(jù)和/或存儲(chǔ)數(shù)據(jù)。這種計(jì)算設(shè)備從無(wú)線智 能電話、膝上型電腦、平板電腦、個(gè)人計(jì)算機(jī)(PC)、工作站、視頻游戲設(shè)備變化到每天支持 數(shù)百萬(wàn)web搜索、股票交易或在線購(gòu)買(mǎi)的數(shù)據(jù)中心。一般地,計(jì)算設(shè)備包括中央處理單元 (CPU)、存儲(chǔ)系統(tǒng)、用戶輸入/輸出接口、外圍設(shè)備接口和互連總線結(jié)構(gòu)。
      [0004] 如進(jìn)一步已知,計(jì)算機(jī)可以通過(guò)下述操作來(lái)有效地?cái)U(kuò)展其CPU :使用"云計(jì)算"以 代表計(jì)算機(jī)執(zhí)行一個(gè)或多個(gè)計(jì)算功能(如服務(wù)、應(yīng)用、算法、算術(shù)邏輯功能等)。此外,對(duì)于 大型服務(wù)、應(yīng)用和/或功能,云計(jì)算可以由多個(gè)云計(jì)算資源以分布式方式執(zhí)行,以改進(jìn)該服 務(wù)、應(yīng)用和/或功能的完成的響應(yīng)時(shí)間。例如,Hadoop是支持通過(guò)上千計(jì)算機(jī)啟用應(yīng)用執(zhí) 行的分布式應(yīng)用的開(kāi)放源軟件框架。
      [0005] 除云計(jì)算外,計(jì)算機(jī)還可以使用"云存儲(chǔ)"作為其存儲(chǔ)系統(tǒng)的一部分。如已知的那 樣,云存儲(chǔ)經(jīng)由其計(jì)算機(jī)使用戶能夠?qū)⑽募?yīng)用等存儲(chǔ)在互聯(lián)網(wǎng)存儲(chǔ)系統(tǒng)上。互聯(lián)網(wǎng)存儲(chǔ) 系統(tǒng)可以包括使用糾錯(cuò)方案對(duì)數(shù)據(jù)進(jìn)行編碼以用于存儲(chǔ)的分散存儲(chǔ)系統(tǒng)和/或RAID(獨(dú)立 盤(pán)冗余陣列)系統(tǒng)。

      【專利附圖】

      【附圖說(shuō)明】
      [0006] 圖1是根據(jù)本發(fā)明的分布式計(jì)算系統(tǒng)的實(shí)施例的示意框圖; 圖2是根據(jù)本發(fā)明的計(jì)算核心的實(shí)施例的示意框圖; 圖3是根據(jù)本發(fā)明的分布式存儲(chǔ)和任務(wù)處理的示例的圖; 圖4是根據(jù)本發(fā)明的出站分布式存儲(chǔ)和/或任務(wù)(DST)處理的實(shí)施例的示意框圖; 圖5是根據(jù)本發(fā)明的用于出站DST處理的方法的示例的邏輯圖; 圖6是根據(jù)本發(fā)明的分散差錯(cuò)編碼的實(shí)施例的示意框圖; 圖7是根據(jù)本發(fā)明的分散差錯(cuò)編碼的分段處理的示例的圖; 圖8是根據(jù)本發(fā)明的分散差錯(cuò)編碼的差錯(cuò)編碼和切片處理的示例的圖; 圖9是根據(jù)本發(fā)明的出站DST處理的成組選擇處理的示例的圖; 圖10是根據(jù)本發(fā)明的將數(shù)據(jù)轉(zhuǎn)換為切片組的示例的圖; 圖11是根據(jù)本發(fā)明的DST執(zhí)行單元的實(shí)施例的示意框圖; 圖12是根據(jù)本發(fā)明的DST執(zhí)行單元的操作的示例的示意框圖; 圖13是根據(jù)本發(fā)明的入站分布式存儲(chǔ)和/或任務(wù)(DST)處理的實(shí)施例的示意框圖; 圖14是根據(jù)本發(fā)明的用于入站DST處理的方法的示例的邏輯圖; 圖15是根據(jù)本發(fā)明的入站DST處理的解組選擇處理的示例的圖; 圖16是根據(jù)本發(fā)明的分散差錯(cuò)解碼的實(shí)施例的示意框圖; 圖17是根據(jù)本發(fā)明的分散差錯(cuò)解碼的解切片和差錯(cuò)解碼處理的示例的圖; 圖18是根據(jù)本發(fā)明的分散差錯(cuò)解碼的解段處理的示例的圖; 圖19是根據(jù)本發(fā)明的將切片組轉(zhuǎn)換為數(shù)據(jù)的示例的圖; 圖20是根據(jù)本發(fā)明的分布式計(jì)算系統(tǒng)內(nèi)的分布式存儲(chǔ)的示例的圖; 圖21是根據(jù)本發(fā)明的用于存儲(chǔ)數(shù)據(jù)的出站分布式存儲(chǔ)和/或任務(wù)(DST)處理的操作 的示例的示意框圖; 圖22是根據(jù)本發(fā)明的圖21的示例的分散差錯(cuò)編碼的示例的示意框圖; 圖23是根據(jù)本發(fā)明的將數(shù)據(jù)轉(zhuǎn)換為柱切片組以用于存儲(chǔ)的示例的圖; 圖24是根據(jù)本發(fā)明的DST執(zhí)行單元的存儲(chǔ)操作的示例的示意框圖; 圖25是根據(jù)本發(fā)明的用于獲取分散差錯(cuò)編碼的數(shù)目的入站分布式存儲(chǔ)和/或任務(wù) (DST)處理的操作的示例的示意框圖; 圖26是根據(jù)本發(fā)明的圖25的示例的分散差錯(cuò)解碼的示例的示意框圖; 圖27是根據(jù)本發(fā)明的存儲(chǔ)多個(gè)數(shù)據(jù)和多個(gè)任務(wù)碼的分布式存儲(chǔ)和任務(wù)處理網(wǎng)絡(luò) (DSTN)模塊的示例的示意框圖; 圖28是根據(jù)本發(fā)明的在所存儲(chǔ)的數(shù)據(jù)上執(zhí)行任務(wù)的分布式計(jì)算系統(tǒng)的示例的示意框 圖; 圖29是根據(jù)本發(fā)明的便于圖28的示例的任務(wù)分布模塊的實(shí)施例的示意框圖; 圖30是根據(jù)本發(fā)明的分布式計(jì)算系統(tǒng)對(duì)所存儲(chǔ)的數(shù)據(jù)執(zhí)行任務(wù)的具體示例的圖; 圖31是根據(jù)本發(fā)明的圖30的示例的存儲(chǔ)數(shù)據(jù)和任務(wù)碼的分布式存儲(chǔ)和任務(wù)處理網(wǎng)絡(luò) (DSTN)模塊的示例的示意框圖; 圖32是根據(jù)本發(fā)明的圖30的示例的DST分配信息的示例的圖; 圖33至38是根據(jù)本發(fā)明的執(zhí)行圖30的示例的DSTN模塊的示意框圖; 圖39是根據(jù)本發(fā)明的圖30的示例的將結(jié)果信息組合成最終結(jié)果的示例的圖; 圖40是根據(jù)本發(fā)明的分布式計(jì)算系統(tǒng)的另一實(shí)施例的示意框圖; 圖41是圖示了根據(jù)本發(fā)明的數(shù)據(jù)上的任務(wù)的分布式計(jì)算的示例的流程圖; 圖42是根據(jù)本發(fā)明的分布式計(jì)算系統(tǒng)的另一實(shí)施例的示意框圖; 圖43是圖示了根據(jù)本發(fā)明的所存儲(chǔ)的數(shù)據(jù)上的任務(wù)的分布式計(jì)算的示例的流程圖; 圖44是圖示了根據(jù)本發(fā)明的數(shù)據(jù)的編碼的圖; 圖45是圖示了根據(jù)本發(fā)明的生成切片成組的示例的流程圖; 圖46是圖示了根據(jù)本發(fā)明的獲取分布式計(jì)算的數(shù)據(jù)的示例的流程圖; 圖47是圖示了根據(jù)本發(fā)明的對(duì)分布式計(jì)算資源進(jìn)行負(fù)載平衡的示例的流程圖;以及 圖48是圖示了根據(jù)本發(fā)明的對(duì)存儲(chǔ)數(shù)據(jù)進(jìn)行變換的另一示例的流程圖。

      【具體實(shí)施方式】
      [0007] 圖1是分布式計(jì)算系統(tǒng)10的實(shí)施例的示意框圖,分布式計(jì)算系統(tǒng)10包括用戶設(shè) 備12和/或用戶設(shè)備14、分布式存儲(chǔ)和/或任務(wù)(DST)處理單元16、分布式存儲(chǔ)和/或任 務(wù)網(wǎng)絡(luò)(DSTN)管理單元18、DST完整性處理單元20以及分布式存儲(chǔ)和/或任務(wù)網(wǎng)絡(luò)(DSTN) 模塊22。分布式計(jì)算系統(tǒng)10的部件經(jīng)由網(wǎng)絡(luò)24耦合,網(wǎng)絡(luò)24可以包括:一個(gè)或多個(gè)無(wú)線 和/或有線通信系統(tǒng);一個(gè)或多個(gè)專用內(nèi)聯(lián)網(wǎng)系統(tǒng)和/或公用互聯(lián)網(wǎng)系統(tǒng);和/或一個(gè)或多 個(gè)局域網(wǎng)(LAN)和/或廣域網(wǎng)(WAN)。
      [0008] DSTN模塊22包括可位于地理上不同的站點(diǎn)處的多個(gè)分布式存儲(chǔ)和/或任務(wù) (DST)執(zhí)行單元36 (例如,一個(gè)在芝加哥,一個(gè)在密爾沃基等等)。DST執(zhí)行單元中的每一個(gè) 可操作以存儲(chǔ)分散差錯(cuò)編碼的數(shù)據(jù)和/或以分布式方式在數(shù)據(jù)上執(zhí)行一個(gè)或多個(gè)任務(wù)。任 務(wù)可以是簡(jiǎn)單功能(例如數(shù)學(xué)功能、邏輯功能、識(shí)別功能、查找功能、搜索引擎功能、替換功 能等)、復(fù)雜功能(例如壓縮、人類和/或計(jì)算機(jī)語(yǔ)言翻譯、文本至語(yǔ)音轉(zhuǎn)換、語(yǔ)音至文本轉(zhuǎn)換 等)、多個(gè)簡(jiǎn)單和/或復(fù)雜功能、一個(gè)或多個(gè)算法、一個(gè)或多個(gè)應(yīng)用等。
      [0009] 用戶設(shè)備12至14、DST處理單元16、DSTN管理單元18和DST完整性處理單元20 中的每一個(gè)包括計(jì)算核心26并可以是便攜式計(jì)算設(shè)備和/或固定計(jì)算設(shè)備。便攜式計(jì)算設(shè) 備可以是社交網(wǎng)絡(luò)設(shè)備、游戲設(shè)備、蜂窩電話、智能電話、個(gè)人數(shù)字助理、數(shù)字音樂(lè)播放器、 數(shù)字視頻播放器、膝上型計(jì)算機(jī)、手持接收機(jī)、平板電腦、視頻游戲控制器、和/或包括計(jì)算 核心的任何其他便攜式設(shè)備。固定計(jì)算設(shè)備可以是個(gè)人計(jì)算機(jī)(PC)、計(jì)算機(jī)服務(wù)器、有線機(jī) 頂盒、衛(wèi)星接收機(jī)、電視機(jī)、打印機(jī)、傳真機(jī)、家庭娛樂(lè)設(shè)備、視頻游戲控制臺(tái)、和/或任何類 型的家庭或辦公室計(jì)算設(shè)備。用戶設(shè)備12和DST處理單元16被配置為包括DST客戶端模 塊34。
      [0010] 關(guān)于接口,每個(gè)接口 30、32和33包括用于支持直接和/或間接經(jīng)由網(wǎng)絡(luò)24的一 個(gè)或多個(gè)通信鏈路的軟件和/或硬件。例如,接口 30支持用戶設(shè)備14與DST處理單元16 之間(例如,有線、無(wú)線、直接、經(jīng)由LAN、經(jīng)由網(wǎng)絡(luò)24等)的通信鏈路。作為另一示例,接口 32支持用戶設(shè)備12與DSTN模塊22之間以及DST處理單元16與DSTN模塊22之間的通 信鏈路(例如,有線連接、無(wú)線連接、LAN連接、和/或去往/來(lái)自網(wǎng)絡(luò)24任何其他類型的連 接)。作為又一示例,接口 33支持供DSTN管理單元18和DST完整性處理單元20中的每一 個(gè)到網(wǎng)絡(luò)24的通信鏈路。
      [0011] 分布式計(jì)算系統(tǒng)1〇可操作以支持分散存儲(chǔ)(DS)差錯(cuò)編碼數(shù)據(jù)存儲(chǔ)和獲取,支持 對(duì)接收數(shù)據(jù)的分布式任務(wù)處理,和/或支持對(duì)存儲(chǔ)數(shù)據(jù)的分布式任務(wù)處理。一般地以及關(guān) 于DS差錯(cuò)編碼數(shù)據(jù)存儲(chǔ)和獲取,分布式計(jì)算系統(tǒng)10支持三個(gè)主要操作:存儲(chǔ)管理、數(shù)據(jù)存 儲(chǔ)和獲取(其示例將關(guān)于圖20至26加以討論)、以及數(shù)據(jù)存儲(chǔ)完整性驗(yàn)證。根據(jù)這三個(gè)主 要功能,可以對(duì)數(shù)據(jù)進(jìn)行編碼,將數(shù)據(jù)分布式地存儲(chǔ)在物理上不同的位置,并后續(xù)以可靠且 安全的方式獲取數(shù)據(jù)。這種系統(tǒng)容忍可能由個(gè)體存儲(chǔ)設(shè)備故障和/或網(wǎng)絡(luò)設(shè)備故障引起的 相當(dāng)大數(shù)目的故障(例如,高達(dá)可能大于或等于柱寬度減去解碼閾值減一的故障水平),而 不丟失數(shù)據(jù)并且無(wú)需冗余或備份的拷貝。此外,系統(tǒng)允許數(shù)據(jù)被存儲(chǔ)達(dá)無(wú)限期的時(shí)間段而 沒(méi)有數(shù)據(jù)丟失,并以安全的方式這樣做(例如,系統(tǒng)非??咕茉谂袛?shù)據(jù)方面進(jìn)行嘗試)。
      [0012] 第二個(gè)主要功能(即,分布式數(shù)據(jù)存儲(chǔ)和獲取)開(kāi)始和結(jié)束于用戶設(shè)備12至14。 例如,如果第二種類型的用戶設(shè)備14具有數(shù)據(jù)40要存儲(chǔ)在DSTN模塊22中,則其經(jīng)由其接 口 30將數(shù)據(jù)40發(fā)送至DST處理單元16。接口 30工作以模擬傳統(tǒng)操作系統(tǒng)(OS)文件系 統(tǒng)接口(例如,網(wǎng)絡(luò)文件系統(tǒng)(NFS)、快閃文件系統(tǒng)(FFS)、盤(pán)文件系統(tǒng)(DFS)、文件傳送協(xié)議 (FTP)、基于web的分布式創(chuàng)作和版本(WebDAV)等)和/或塊存儲(chǔ)接口(例如,小型計(jì)算機(jī)系 統(tǒng)接口(SCSI)、互聯(lián)網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口(iSCSI)等)。此外,接口 30可以將用戶標(biāo)識(shí)碼 (ID)附著至數(shù)據(jù)40。
      [0013] 為了支持存儲(chǔ)管理,DSTN管理單元18執(zhí)行DS管理服務(wù)。一個(gè)這種DS管理服務(wù) 包括:DSTN管理單元18針對(duì)個(gè)體的或作為用戶設(shè)備組的一部分的用戶設(shè)備12至14建立 分布式數(shù)據(jù)存儲(chǔ)參數(shù)(例如保險(xiǎn)庫(kù)創(chuàng)建、分布式存儲(chǔ)參數(shù)、安全性參數(shù)、賬單信息、用戶簡(jiǎn)檔 信息等)。例如,DSTN管理單元18針對(duì)用戶設(shè)備、設(shè)備組或針對(duì)公共訪問(wèn)而協(xié)調(diào)DSTN模塊 22的存儲(chǔ)器內(nèi)的保險(xiǎn)庫(kù)(例如,虛擬存儲(chǔ)塊)的創(chuàng)建,并針對(duì)保險(xiǎn)庫(kù)建立每保險(xiǎn)庫(kù)的分散存 儲(chǔ)(DS)差錯(cuò)編碼參數(shù)。DSTN管理單元18可以通過(guò)更新分布式計(jì)算系統(tǒng)10的注冊(cè)信息來(lái) 促進(jìn)多個(gè)保險(xiǎn)庫(kù)中的每個(gè)保險(xiǎn)庫(kù)的DS差錯(cuò)編碼參數(shù)的存儲(chǔ)。該促進(jìn)包括:將更新的注冊(cè)信 息存儲(chǔ)在DSTN模塊22、用戶設(shè)備12、DST處理單元16和DST完整性處理單元20中的一個(gè) 或多個(gè)中。
      [0014] DS差錯(cuò)編碼參數(shù)(例如,或者分散存儲(chǔ)差錯(cuò)編碼參數(shù))包括數(shù)據(jù)分段信息(例如,數(shù) 據(jù)(例如文件、文件組、數(shù)據(jù)塊等)被劃分為多少段)、段安全性信息(例如每段的加密、壓縮、 完整性校驗(yàn)和等)、差錯(cuò)編碼信息(例如柱寬度、解碼閾值、讀取閾值、寫(xiě)入閾值等)、切片信 息(例如將針對(duì)每個(gè)數(shù)據(jù)段創(chuàng)建的編碼數(shù)據(jù)切片的數(shù)目)、以及切片安全性信息(例如每編 碼數(shù)據(jù)切片的加密、壓縮、完整性校驗(yàn)和等)。
      [0015] DSTN管理模塊18創(chuàng)建用戶簡(jiǎn)檔信息(例如,訪問(wèn)控制列表(ACL))并將其存儲(chǔ)在本 地存儲(chǔ)器中和/或DSTN模塊22的存儲(chǔ)器內(nèi)。用戶簡(jiǎn)檔信息包括認(rèn)證信息、許可和/或安 全性參數(shù)。安全性參數(shù)可以包括加密/解密方案、一個(gè)或多個(gè)加密密鑰、密鑰生成方案和/ 或數(shù)據(jù)編碼/解碼方案。
      [0016] DSTN管理單元18創(chuàng)建特定用戶、用戶組、保險(xiǎn)庫(kù)訪問(wèn)、公共保險(xiǎn)庫(kù)訪問(wèn)等的賬單 信息。例如,DSTN管理單元18跟蹤用戶訪問(wèn)私有保險(xiǎn)庫(kù)和/或公共保險(xiǎn)庫(kù)的次數(shù),其可以 用于生成每訪問(wèn)的賬單信息。在另一實(shí)例中,DSTN管理單元18跟蹤由用戶設(shè)備和/或用 戶組存儲(chǔ)和/或獲取的數(shù)據(jù)量,其可以用于生成每數(shù)據(jù)量的賬單信息。
      [0017] 另一 DS管理服務(wù)包括:DSTN管理單元18執(zhí)行網(wǎng)絡(luò)操作、網(wǎng)絡(luò)管理和/或網(wǎng)絡(luò)維 護(hù)。網(wǎng)絡(luò)操作包括:認(rèn)證用戶數(shù)據(jù)分配請(qǐng)求(例如,讀取和/或?qū)懭胝?qǐng)求);管理保險(xiǎn)庫(kù)的創(chuàng) 建;建立用戶設(shè)備的認(rèn)證證書(shū);從分布式計(jì)算系統(tǒng)10添加/刪除部件(例如,用戶設(shè)備、DST 執(zhí)行單元和/或DST處理單元);和/或建立DST執(zhí)行單元36的認(rèn)證證書(shū)。網(wǎng)絡(luò)管理包括: 針對(duì)故障監(jiān)視設(shè)備和/或單元;維護(hù)保險(xiǎn)庫(kù)信息;確定設(shè)備和/或單元激活狀態(tài);確定設(shè)備 和/或單元加載;和/或確定影響系統(tǒng)10的性能級(jí)別的任何其他系統(tǒng)級(jí)操作。網(wǎng)絡(luò)維護(hù)包 括:促進(jìn)替換、升級(jí)、修復(fù)和/或擴(kuò)充系統(tǒng)10的設(shè)備和/或單元。
      [0018] 為了支持分布式計(jì)算系統(tǒng)10內(nèi)的數(shù)據(jù)存儲(chǔ)完整性驗(yàn)證,DST完整性處理單元20執(zhí) 行"壞"或丟失編碼數(shù)據(jù)切片的重新構(gòu)建。在較高級(jí)別處,DST完整性處理單元20通過(guò)周 期性地嘗試從DSTN模塊22獲取/列出編碼數(shù)據(jù)切片和/或編碼數(shù)據(jù)切片的切片名稱來(lái)執(zhí) 行重新構(gòu)建。對(duì)于所獲取的編碼切片,針對(duì)由于數(shù)據(jù)破壞、過(guò)時(shí)版本等而引起的差錯(cuò)校驗(yàn)它 們。如果切片包括差錯(cuò),則其被標(biāo)記為"壞"切片。對(duì)于未被接收和/或未被列出的編碼數(shù) 據(jù)切片,它們被標(biāo)記為丟失切片。后續(xù)使用被視為好切片的其他所獲取的編碼數(shù)據(jù)切片來(lái) 重新構(gòu)建壞和/或丟失切片,以產(chǎn)生重新構(gòu)建的切片。重新構(gòu)建的切片被存儲(chǔ)在DSTN模塊 22的存儲(chǔ)器中。注意,DST完整性處理單元20可以是如所示的分離單元,其可以被包括在 DSTN模塊22中,其可以被包括在DST處理單元16中和/或分布在DST執(zhí)行單元36當(dāng)中。
      [0019] 為了支持對(duì)接收數(shù)據(jù)的分布式任務(wù)處理,分布式計(jì)算系統(tǒng)10具有兩個(gè)主要操作: 對(duì)接收數(shù)據(jù)的DST (分布式存儲(chǔ)和/或任務(wù)處理)管理和DST執(zhí)行(其示例將參照?qǐng)D13至 19加以討論)。關(guān)于DST管理的存儲(chǔ)部分,DSTN管理單元18如前所述那樣工作。關(guān)于DST 管理的任務(wù)處理,DSTN管理單元18執(zhí)行分布式任務(wù)處理(DTP)管理服務(wù)。一個(gè)這種DTP管 理服務(wù)包括:DSTN管理單元18針對(duì)單獨(dú)的或作為用戶設(shè)備組的一部分的用戶設(shè)備12至14 建立DTP參數(shù)(例如用戶保險(xiǎn)庫(kù)附屬信息、賬單信息、用戶任務(wù)信息等)。
      [0020] 另一DTP管理服務(wù)包括:DSTN管理單元18執(zhí)行DTP網(wǎng)絡(luò)操作、網(wǎng)絡(luò)管理(其實(shí)質(zhì)上 與上述相同)和/或網(wǎng)絡(luò)維護(hù)(其實(shí)質(zhì)上與上述相同)。網(wǎng)絡(luò)操作包括但不限于:認(rèn)證用戶任 務(wù)處理請(qǐng)求(例如有效請(qǐng)求、有效用戶等);認(rèn)證結(jié)果和/或部分結(jié)果;建立用戶設(shè)備的DTP 認(rèn)證證書(shū);從分布式計(jì)算系統(tǒng)添加/刪除部件(例如,用戶設(shè)備、DST執(zhí)行單元和/或DST處 理單元);和/或建立DST執(zhí)行單元的DTP認(rèn)證證書(shū)。
      [0021] 為了支持對(duì)存儲(chǔ)數(shù)據(jù)的分布式任務(wù)處理,分布式計(jì)算系統(tǒng)10具有兩個(gè)主要操作: 對(duì)存儲(chǔ)數(shù)據(jù)的DST (分布式存儲(chǔ)和/或任務(wù))管理和DST執(zhí)行。關(guān)于對(duì)存儲(chǔ)數(shù)據(jù)的DST執(zhí) 行,如果第二種類型的用戶設(shè)備14具有供DSTN模塊22執(zhí)行的任務(wù)請(qǐng)求38,則其經(jīng)由其接 口 30將任務(wù)請(qǐng)求38發(fā)送至DST處理單元16。對(duì)存儲(chǔ)數(shù)據(jù)的DST執(zhí)行的示例將參照?qǐng)D27 至39更詳細(xì)地加以討論。關(guān)于DST管理,其與用于支持對(duì)接收數(shù)據(jù)的分布式任務(wù)處理的 DST管理基本上類似。
      [0022] 圖2是計(jì)算核心26的實(shí)施例的示意框圖,計(jì)算核心26包括處理模塊50、存儲(chǔ)控制 器52、主存儲(chǔ)器54、視頻圖形處理單元55、輸入/輸出(10)控制器56、外圍部件互連(PCI) 接口 58、10接口模塊60、至少一個(gè)10設(shè)備接口模塊62、只讀存儲(chǔ)器(ROM)基本輸入輸出系 統(tǒng)(BI0S)64、以及一個(gè)或多個(gè)存儲(chǔ)接口模塊。一個(gè)或多個(gè)存儲(chǔ)接口模塊包括通用串行總線 (USB )接口模塊66、主機(jī)總線適配器(HBA)接口模塊68、網(wǎng)絡(luò)接口模塊70、閃存接口模塊72、 硬盤(pán)驅(qū)動(dòng)器接口模塊74和DSTN接口模塊76中的一個(gè)或多個(gè)。
      [0023] DSTN接口模塊76工作以模擬傳統(tǒng)操作系統(tǒng)(0S)文件系統(tǒng)接口(例如網(wǎng)絡(luò)文件系 統(tǒng)(NFS)、基于web的分布式創(chuàng)作和版本(WebDAV)等)和/或塊存儲(chǔ)器接口(例如小型計(jì)算 機(jī)系統(tǒng)接口(SCSI)、互聯(lián)網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口(iSCSI)等)。DSTN接口模塊76和/或網(wǎng) 絡(luò)接口模塊70可以充當(dāng)圖1的用戶設(shè)備14的接口 30。進(jìn)一步注意,10設(shè)備接口模塊62 和/或存儲(chǔ)器接口模塊可以共同或分別被稱作10端口。
      [0024] 圖3是執(zhí)行分布式存儲(chǔ)和任務(wù)處理操作的分布式計(jì)算系統(tǒng)的示例的圖。分布式計(jì) 算系統(tǒng)包括DST (分布式存儲(chǔ)和/或任務(wù))客戶端模塊34 (其可以處于圖1的用戶設(shè)備14 中和/或處于圖1的DST處理單元16中)、網(wǎng)絡(luò)24、包括兩個(gè)或更多個(gè)圖1的DST執(zhí)行單元 36 (其形成圖1的DSTN模塊22的至少部分)在內(nèi)的多個(gè)DST執(zhí)行單元1至n、DST管理模 塊(未示出)和DST完整性驗(yàn)證模塊(未示出)。DST客戶端模塊34包括出站DST處理部80 和入站DST處理部82。DST執(zhí)行單元1至η中的每一個(gè)包括控制器86、處理模塊84、存儲(chǔ) 器88、DT (分布式任務(wù))執(zhí)行模塊90和DST客戶端模塊34。
      [0025] 在操作的示例中,DST客戶端模塊34接收數(shù)據(jù)92和要對(duì)數(shù)據(jù)92執(zhí)行的一個(gè)或多 個(gè)任務(wù)94。數(shù)據(jù)92可以具有任何大小和任何內(nèi)容,其中,由于大小(例如,大于幾太字節(jié))、 內(nèi)容(例如安全數(shù)據(jù)等)和/或任務(wù)(例如,MIPS密集型),期望任務(wù)在數(shù)據(jù)上的分布式處理。 例如,數(shù)據(jù)92可以是一個(gè)或多個(gè)數(shù)字書(shū)、公司的電子郵件的拷貝、大規(guī)?;ヂ?lián)網(wǎng)搜索、視頻 安全性文件、一個(gè)或多個(gè)娛樂(lè)視頻文件(例如電視節(jié)目、電影等)、數(shù)據(jù)文件和/或任何其他 大量的數(shù)據(jù)(例如,大于幾太字節(jié))。
      [0026] 在DST客戶端模塊34內(nèi),出站DST處理部分80接收數(shù)據(jù)90和任務(wù)94。出站DST 處理部80處理數(shù)據(jù)90以產(chǎn)生切片成組96。作為這種處理的示例,出站DST處理部80將數(shù) 據(jù)90分區(qū)為多個(gè)數(shù)據(jù)分區(qū)。對(duì)于每個(gè)數(shù)據(jù)分區(qū),出站DST處理部80分散存儲(chǔ)(DS)對(duì)數(shù)據(jù) 分區(qū)進(jìn)行差錯(cuò)編碼,以產(chǎn)生編碼數(shù)據(jù)切片并將編碼數(shù)據(jù)切片成組為切片成組96。此外,出站 DST處理部80將任務(wù)94分區(qū)為部分任務(wù)98,其中,部分任務(wù)98的數(shù)目可以對(duì)應(yīng)于切片成 組96的數(shù)目。
      [0027] 出站DST處理部80然后經(jīng)由網(wǎng)絡(luò)24將切片成組96和部分任務(wù)98發(fā)送至DSTN 模塊22的DST執(zhí)行單元1至η。例如,出站DST處理部80將切片組1和部分任務(wù)1發(fā)送 至DST執(zhí)行單元1。作為另一示例,出站DST處理部80將切片組#n和部分任務(wù)#n發(fā)送至 DST執(zhí)行單元#n。
      [0028] 每個(gè)DST執(zhí)行單元36對(duì)其切片組96執(zhí)行其部分任務(wù)98以產(chǎn)生部分結(jié)果102。例 如,對(duì)于結(jié)果,DST執(zhí)行單元#1對(duì)切片組#1執(zhí)行部分任務(wù)#1以產(chǎn)生部分結(jié)果#1。作為更 具體示例,切片組#1對(duì)應(yīng)于一系列數(shù)字書(shū)的數(shù)據(jù)分區(qū),并且部分任務(wù)#1對(duì)應(yīng)于搜索具體短 語(yǔ)、記錄在何處找到該短語(yǔ)和建立短語(yǔ)計(jì)數(shù)。在該更具體示例中,部分結(jié)果#1包括關(guān)于在 何處找到該短語(yǔ)的信息并包括短語(yǔ)計(jì)數(shù)。
      [0029] 在完成生成其相應(yīng)部分結(jié)果102時(shí),DST執(zhí)行單元36經(jīng)由網(wǎng)絡(luò)24將其部分結(jié)果 102發(fā)送至DST客戶端模塊34的入站DST處理部32。入站DST處理部82處理接收到的部 分結(jié)果102以產(chǎn)生結(jié)果104。繼續(xù)至前一段落的具體示例,入站DST處理部82將來(lái)自DST 執(zhí)行單元36中的每一個(gè)的短語(yǔ)計(jì)數(shù)進(jìn)行組合,以產(chǎn)生總短語(yǔ)計(jì)數(shù)。此外,入站DST處理部 82在其相應(yīng)的數(shù)據(jù)分區(qū)內(nèi)將來(lái)自DST執(zhí)行單元36中的每一個(gè)的"在何處找到短語(yǔ)"信息進(jìn) 行組合,以針對(duì)該一系列數(shù)字書(shū)產(chǎn)生"在何處找到短語(yǔ)"信息。
      [0030] 在操作的另一示例中,DST客戶端模塊34請(qǐng)求DST執(zhí)行單元36的存儲(chǔ)器(例如, DSTN模塊的存儲(chǔ)器)內(nèi)的存儲(chǔ)數(shù)據(jù)的獲取。在該示例中,任務(wù)94是:獲取DSTN模塊的存儲(chǔ) 器中存儲(chǔ)的數(shù)據(jù)。相應(yīng)地,出站DST處理部80將任務(wù)94轉(zhuǎn)換為多個(gè)部分任務(wù)98并將部分 任務(wù)98發(fā)送至相應(yīng)的DST執(zhí)行單元1至η。
      [0031] 響應(yīng)于獲取存儲(chǔ)數(shù)據(jù)的部分任務(wù)98, DST執(zhí)行單元36識(shí)別對(duì)應(yīng)的編碼數(shù)據(jù)切片 100并獲取它們。例如,DST執(zhí)行單元#1接收部分任務(wù)#1并響應(yīng)于此而獲取所獲取的切 片#1。DST執(zhí)行單元36經(jīng)由網(wǎng)絡(luò)24將其相應(yīng)的所獲取的切片100發(fā)送至入站DST處理部 82〇
      [0032] 入站DST處理部82將所獲取的切片100轉(zhuǎn)換為數(shù)據(jù)92。例如,入站DST處理部 82對(duì)所獲取的切片100重新成組,以產(chǎn)生每數(shù)據(jù)分區(qū)的編碼切片。入站DST處理部82然后 對(duì)每數(shù)據(jù)分區(qū)的編碼切片進(jìn)行DS差錯(cuò)解碼以產(chǎn)生數(shù)據(jù)分區(qū)。入站DST處理部82對(duì)數(shù)據(jù)分 區(qū)進(jìn)行解分區(qū)以重新捕獲數(shù)據(jù)92。
      [0033] 圖4是經(jīng)由網(wǎng)絡(luò)24耦合至圖1的DSTN模塊22 (例如,多個(gè)n DST執(zhí)行單元36) 的圖1的分布式存儲(chǔ)和/或任務(wù)(DST)客戶端模塊34的出站DST處理部80的實(shí)施例的示 意框圖。出站DST處理部80包括數(shù)據(jù)分區(qū)模塊110、分散存儲(chǔ)(DS)差錯(cuò)編碼模塊112、成 組選擇器模塊114、控制模塊116和分布式任務(wù)控制模塊118。
      [0034] 在操作的示例中,數(shù)據(jù)分區(qū)模塊110將數(shù)據(jù)92分區(qū)為多個(gè)數(shù)據(jù)分區(qū)120。分區(qū) 的數(shù)目和分區(qū)的大小可以由控制模塊116經(jīng)由控制160基于數(shù)據(jù)92 (例如其大小、其內(nèi)容 等)、要執(zhí)行的對(duì)應(yīng)任務(wù)94 (例如簡(jiǎn)單、復(fù)雜、單步、多步等)、DS編碼參數(shù)(例如柱寬度、解碼 閾值、寫(xiě)入閾值、段安全性參數(shù)、切片安全性參數(shù)等)、DST執(zhí)行單元36的能力(例如處理資 源、處理資源的可用性等)來(lái)選擇,和/或可以由用戶、系統(tǒng)管理員或其他操作者(人為的或 自動(dòng)化的)輸入。例如,數(shù)據(jù)分區(qū)模塊110將數(shù)據(jù)92 (例如,100太字節(jié))分區(qū)為100000個(gè) 數(shù)據(jù)段,每個(gè)在大小上為1千兆字節(jié)??商鎿Q地,數(shù)據(jù)分區(qū)模塊110將數(shù)據(jù)92分區(qū)為多個(gè) 數(shù)據(jù)段,其中,數(shù)據(jù)段中的一些具有不同的大小、具有相同的大小、或者其組合。
      [0035] DS差錯(cuò)編碼模塊112以串行方式、以并行方式和/或其組合接收數(shù)據(jù)分區(qū)120。對(duì) 于每個(gè)數(shù)據(jù)分區(qū)120, DS差錯(cuò)編碼模塊112根據(jù)來(lái)自控制模塊116的控制信息160來(lái)對(duì)數(shù) 據(jù)分區(qū)120進(jìn)行DS差錯(cuò)編碼,以產(chǎn)生編碼數(shù)據(jù)切片122。DS差錯(cuò)編碼包括:將數(shù)據(jù)分區(qū)分 段為數(shù)據(jù)段;段安全性處理(例如加密、壓縮、加水印、完整性校驗(yàn)(例如CRC)等);差錯(cuò)編碼; 切片;和/或每切片的安全性處理(例如加密、壓縮、加水印、完整性校驗(yàn)(例如CRC)等)???制信息160指示DS差錯(cuò)編碼的哪些步驟對(duì)給定數(shù)據(jù)分區(qū)來(lái)說(shuō)活動(dòng),并針對(duì)活動(dòng)步驟指示步 驟的參數(shù)。例如,控制信息160指示差錯(cuò)編碼是活動(dòng)的,并包括差錯(cuò)編碼參數(shù)(例如柱寬度、 解碼閾值、寫(xiě)入閾值、讀取閾值、差錯(cuò)編碼的類型等)。
      [0036] 組選擇模塊114將將數(shù)據(jù)分區(qū)的編碼切片122成組為切片成組96的集合。切片 成組的數(shù)目對(duì)應(yīng)于針對(duì)特定任務(wù)94識(shí)別的DST執(zhí)行單元36的數(shù)目。例如,如果針對(duì)特定 任務(wù)94識(shí)別出五個(gè)DST執(zhí)行單元36,則組選擇模塊將數(shù)據(jù)分區(qū)的編碼切片122成組為五個(gè) 切片成組96。組選擇模塊114經(jīng)由網(wǎng)絡(luò)24將切片成組96輸出至對(duì)應(yīng)的DST執(zhí)行單元36。
      [0037] 分布式任務(wù)控制模塊118接收任務(wù)94并將任務(wù)94轉(zhuǎn)換為部分任務(wù)98的集合。例 如,分布式任務(wù)控制模塊118接收下述任務(wù):找到短語(yǔ)出現(xiàn)在數(shù)據(jù)(例如,一系列書(shū))中的何 處以及數(shù)據(jù)中的短語(yǔ)使用的總計(jì)數(shù)。在該示例中,分布式任務(wù)控制模塊118針對(duì)每個(gè)DST 執(zhí)行單元36復(fù)制任務(wù)94以產(chǎn)生部分任務(wù)98。在另一示例中,分布式任務(wù)控制模塊118接 收下述任務(wù):找到第一短語(yǔ)出現(xiàn)在數(shù)據(jù)中的何處、第二短語(yǔ)出現(xiàn)在數(shù)據(jù)中的何處以及數(shù)據(jù) 中的每個(gè)短語(yǔ)使用的總計(jì)數(shù)。在該示例中,分布式任務(wù)控制模塊118生成找到和計(jì)數(shù)第一 短語(yǔ)的第一集合部分任務(wù)98以及找到和計(jì)數(shù)第二短語(yǔ)的第二集合部分任務(wù)。分布式任務(wù) 控制模塊118將相應(yīng)的第一和/或第二部分任務(wù)98發(fā)送至每個(gè)DST執(zhí)行單元36。
      [0038] 圖5是用于出站分布式存儲(chǔ)和任務(wù)(DST)處理的方法的示例的邏輯圖,該方法開(kāi) 始于步驟126處,其中,DST客戶端模塊接收數(shù)據(jù)和一個(gè)或多個(gè)對(duì)應(yīng)任務(wù)。該方法繼續(xù)在步 驟128處,其中,DST客戶端模塊確定用于支持一個(gè)或多個(gè)數(shù)據(jù)分區(qū)的任務(wù)的DST單元的數(shù) 目。例如,DST客戶端模塊可以基于數(shù)據(jù)的大小、所請(qǐng)求的任務(wù)、數(shù)據(jù)的內(nèi)容、預(yù)定數(shù)目(例 如用戶指示的、系統(tǒng)管理員確定的等等)、可用DST單元、DST單元的能力、和/或關(guān)于數(shù)據(jù) 的分布式任務(wù)處理的任何其他因素來(lái)確定用于支持任務(wù)的DST單元的數(shù)目。DST客戶端模 塊可以針對(duì)每個(gè)數(shù)據(jù)分區(qū)選擇相同DST單元,可以針對(duì)數(shù)據(jù)分區(qū)選擇不同DST單元,或者其 組合。
      [0039] 該方法繼續(xù)在步驟130處,其中,DST客戶端模塊基于針對(duì)分布式任務(wù)處理選擇的 DST單元的數(shù)目來(lái)確定數(shù)據(jù)的處理參數(shù)。處理參數(shù)包括數(shù)據(jù)分區(qū)信息、DS編碼參數(shù)和/或 切片成組信息。數(shù)據(jù)分區(qū)信息包括數(shù)據(jù)分區(qū)的數(shù)目、每個(gè)數(shù)據(jù)分區(qū)的大小和/或數(shù)據(jù)分區(qū) 的組織(例如,分區(qū)中的數(shù)據(jù)塊的數(shù)目、數(shù)據(jù)塊的大小和數(shù)據(jù)塊的布置)。DS編碼參數(shù)包括 分段信息、段安全性信息、差錯(cuò)編碼信息(例如,分散存儲(chǔ)差錯(cuò)編碼功能參數(shù),包括柱寬度、 解碼閾值、寫(xiě)入閾值、讀取閾值、生成矩陣中的一個(gè)或多個(gè))、切片信息和/或每切片的安全 性信息。切片成組信息包括關(guān)于如何針對(duì)所選擇的DST單元將編碼數(shù)據(jù)切片布置為組的信 息。作為具體示例,如果DST客戶端模塊確定需要五個(gè)DST單元來(lái)支持任務(wù),則其確定差錯(cuò) 編碼參數(shù)包括值為5的柱寬度和值為3的解碼閾值。
      [0040] 該方法繼續(xù)在步驟132處,其中,DST客戶端模塊基于所選擇的DST單元和數(shù)據(jù)處 理參數(shù)來(lái)確定任務(wù)分區(qū)信息(例如,如何對(duì)任務(wù)進(jìn)行分區(qū))。數(shù)據(jù)處理參數(shù)包括處理參數(shù)和 DST單元能力信息。DST單元能力信息包括DT (分布式任務(wù))執(zhí)行單元的數(shù)目、每個(gè)DT執(zhí) 行單元的執(zhí)行能力(例如,MIPS能力、處理資源(例如,微處理器、CPU、數(shù)字信號(hào)處理器、協(xié)處 理器、微控制器、算術(shù)邏輯電路和/或其他模擬和/或數(shù)字處理電路的量和能力)、處理資源 的可用性、存儲(chǔ)信息(例如類型、大小、可用性等))和/或與執(zhí)行一個(gè)或多個(gè)任務(wù)有關(guān)的任何 信息。
      [0041] 該方法繼續(xù)在步驟134處,其中,DST客戶端模塊根據(jù)處理參數(shù)來(lái)處理數(shù)據(jù)以產(chǎn)生 切片成組。該方法繼續(xù)在步驟136處,其中,DST客戶端模塊基于任務(wù)分區(qū)信息來(lái)對(duì)任務(wù)進(jìn) 行分區(qū)以產(chǎn)生部分任務(wù)的集合。該方法繼續(xù)在步驟138處,其中,DST客戶端模塊將切片成 組和對(duì)應(yīng)的部分任務(wù)發(fā)送至所選擇的DST單元。
      [0042] 圖6是出站分布式存儲(chǔ)和任務(wù)(DST)處理部的分散存儲(chǔ)(DS)差錯(cuò)編碼模塊112的 實(shí)施例的示意框圖。DS差錯(cuò)編碼模塊112包括段處理模塊142、段安全性處理模塊144、差 錯(cuò)編碼模塊146、切片模塊148和每切片安全性處理模塊150。這些模塊中的每一個(gè)耦合至 控制模塊116以從其接收控制信息160。
      [0043] 在操作的示例中,段處理模塊142從數(shù)據(jù)分區(qū)模塊接收數(shù)據(jù)分區(qū)120并從控制模 塊116接收分段信息作為控制信息160。分段信息指示段處理模塊142要如何對(duì)數(shù)據(jù)分區(qū) 120進(jìn)行分段。例如,分段信息基于差錯(cuò)編碼方案的解碼閾值來(lái)指示要對(duì)數(shù)據(jù)分段多少行, 基于數(shù)據(jù)分區(qū)120內(nèi)的數(shù)據(jù)塊的數(shù)目和大小來(lái)指示對(duì)數(shù)據(jù)分段多少列,并指示多少列要包 括在數(shù)據(jù)段152中。段處理模塊142根據(jù)分段信息將數(shù)據(jù)120分段為數(shù)據(jù)段152。
      [0044] 段安全性處理模塊144在被控制模塊116使能時(shí)基于作為控制信息160從控制模 塊116接收的段安全性信息來(lái)保護(hù)數(shù)據(jù)段152。段安全性信息包括數(shù)據(jù)壓縮、加密、加水印、 完整性校驗(yàn)(例如循環(huán)冗余校驗(yàn)CRC等)、和/或任何其他類型的數(shù)字安全性。例如,當(dāng)段安 全性處理模塊144被使能時(shí),其可以對(duì)數(shù)據(jù)段152進(jìn)行壓縮,對(duì)壓縮的數(shù)據(jù)段進(jìn)行加密,并 生成加密的數(shù)據(jù)段的CRC值,以產(chǎn)生安全數(shù)據(jù)段154。當(dāng)段安全性處理模塊144未被使能 時(shí),其將數(shù)據(jù)段152傳遞至差錯(cuò)編碼模塊146,或被設(shè)旁路繞過(guò)以使得數(shù)據(jù)段152被提供給 差錯(cuò)編碼模塊146。
      [0045] 差錯(cuò)編碼模塊146根據(jù)作為控制信息160從控制模塊116接收的糾錯(cuò)編碼參數(shù)來(lái) 對(duì)安全數(shù)據(jù)段154進(jìn)行編碼。糾錯(cuò)編碼參數(shù)(例如,也被稱作分散存儲(chǔ)差錯(cuò)編碼參數(shù))包括: 標(biāo)識(shí)糾錯(cuò)編碼方案(例如如向糾錯(cuò)算法、基于里德-梭羅門(mén)(Reed-Salomon)的算法、在線編 碼算法、信息分散算法等)、柱寬度、解碼閾值、讀取閾值、寫(xiě)入閾值等。例如,糾錯(cuò)編碼參數(shù) 標(biāo)識(shí)具體糾錯(cuò)編碼方案,指定值為5的柱寬度,并指定值為3的解碼閾值。根據(jù)這些參數(shù), 差錯(cuò)編碼模塊146對(duì)數(shù)據(jù)段154進(jìn)行編碼,以產(chǎn)生編碼數(shù)據(jù)段156。
      [0046] 切片模塊148根據(jù)作為控制信息160接收的糾錯(cuò)編碼參數(shù)的柱寬度來(lái)對(duì)編碼數(shù)據(jù) 段156進(jìn)行切片。例如,如果柱寬度為5,切片模塊148將編碼數(shù)據(jù)段156切片為5個(gè)編碼 數(shù)據(jù)切片的集合。由此,對(duì)于針對(duì)給定數(shù)據(jù)分區(qū)的多個(gè)數(shù)據(jù)段156,切片模塊輸出編碼數(shù)據(jù) 切片158的多個(gè)集合。
      [0047] 每切片安全性處理模塊150在被控制模塊116使能時(shí)基于作為控制信息160從控 制模塊116接收的切片安全性信息來(lái)保護(hù)每個(gè)編碼數(shù)據(jù)切片158。切片安全性信息包括數(shù) 據(jù)壓縮、加密、加水印、完整性校驗(yàn)(例如CRC等)、和/或任何其他類型的數(shù)字安全性。例如, 當(dāng)每切片安全性處理模塊150被使能時(shí),其對(duì)編碼數(shù)據(jù)切片158進(jìn)行壓縮,對(duì)壓縮的編碼數(shù) 據(jù)切片進(jìn)行加密,并生成加密的編碼數(shù)據(jù)切片的CRC值,以產(chǎn)生安全的編碼數(shù)據(jù)切片122。 當(dāng)每切片安全性處理模塊150未被使能時(shí),其傳遞編碼數(shù)據(jù)切片158,或被設(shè)旁路繞過(guò)以使 得編碼數(shù)據(jù)切片158是DS差錯(cuò)編碼模塊112的輸出。注意,控制模塊116可以被省略,并 且每個(gè)模塊存儲(chǔ)其自身的參數(shù)。
      [0048] 圖7是分散存儲(chǔ)(DS)差錯(cuò)編碼模塊的段處理的示例的圖。在該示例中,段處理模 塊142接收包括45個(gè)數(shù)據(jù)塊(例如,dl至d45)的數(shù)據(jù)分區(qū)120并從控制模塊接收分段信 息(即,控制信息160)。每個(gè)數(shù)據(jù)塊可以具有與其他數(shù)據(jù)塊相同的大小或具有不同的大小。 此外,每個(gè)數(shù)據(jù)塊的大小可以是幾字節(jié)到兆字節(jié)的數(shù)據(jù)。如前所述,分段信息指示將數(shù)據(jù)分 區(qū)分段為多少行指示將數(shù)據(jù)分區(qū)分段為多少列,并指示多少列要包括在數(shù)據(jù)段中。
      [0049] 在該示例中,差錯(cuò)編碼方案的解碼閾值是3 ;由此,將數(shù)據(jù)分區(qū)劃分為的行的數(shù)目 是3。每一行的列數(shù)被設(shè)置為15,這基于數(shù)據(jù)塊的數(shù)目和大小。按順序的次序以行和列布 置數(shù)據(jù)分區(qū)的數(shù)據(jù)塊(即,第一行包括第一 15個(gè)數(shù)據(jù)塊;第二行包括第二15個(gè)數(shù)據(jù)塊;以 及第三行包括最后15個(gè)數(shù)據(jù)塊)。
      [0050] 在數(shù)據(jù)塊被布置成期望順序的次序的情況下,它們基于分段信息而被劃分為數(shù)據(jù) 段。在該示例中,數(shù)據(jù)分區(qū)被劃分為8個(gè)數(shù)據(jù)段;前7個(gè)包括2列的三行,并且最后一個(gè)包 括1列的三行。注意,第一行的8個(gè)數(shù)據(jù)段是按第一 15個(gè)數(shù)據(jù)塊的順序次序的;第二行的 8個(gè)數(shù)據(jù)段是按第二15個(gè)數(shù)據(jù)塊的順序次序的;以及第三行的8個(gè)數(shù)據(jù)段是按最后15個(gè) 數(shù)據(jù)塊的順序次序的。注意,數(shù)據(jù)塊的數(shù)目、數(shù)據(jù)塊成為段的成組以及數(shù)據(jù)塊的大小可以變 化,以適應(yīng)期望的分布式任務(wù)處理功能。
      [0051] 圖8是圖7的對(duì)數(shù)據(jù)段進(jìn)行分散差錯(cuò)編碼的差錯(cuò)編碼和切片處理的示例的圖。在 該示例中,數(shù)據(jù)段1包括3行,其中每一行被視為用于編碼的一個(gè)字。由此,數(shù)據(jù)段1包括 用于編碼的三個(gè)字:包括數(shù)據(jù)塊dl和d2的字1、包括數(shù)據(jù)塊dl6和dl7的字2以及包括數(shù) 據(jù)塊d31和d32的字3。數(shù)據(jù)段2至7中的每一個(gè)包括三個(gè)字,其中,每個(gè)字包括兩個(gè)數(shù)據(jù) 塊。數(shù)據(jù)段8包括三個(gè)字,其中,每個(gè)字包括單個(gè)數(shù)據(jù)塊(例如,dl5、d30和d45)。
      [0052] 在操作中,差錯(cuò)編碼模塊146和切片模塊148根據(jù)作為控制信息160的糾錯(cuò)編碼 參數(shù)將每個(gè)數(shù)據(jù)段轉(zhuǎn)換為編碼數(shù)據(jù)切片的集合。更具體地,當(dāng)糾錯(cuò)編碼參數(shù)指示單位矩陣 的基于里德-梭羅門(mén)的編碼算法、5個(gè)柱和值為3的解碼閾值時(shí),數(shù)據(jù)段的編碼數(shù)據(jù)切片的 集合中的前三個(gè)編碼數(shù)據(jù)切片基本上類似于該數(shù)據(jù)段的對(duì)應(yīng)字。例如,當(dāng)單位矩陣的基于 里德-梭羅門(mén)的編碼算法被應(yīng)用于數(shù)據(jù)段1時(shí),第一集合的編碼數(shù)據(jù)切片(例如,與數(shù)據(jù)段 1相對(duì)應(yīng))中的第一編碼數(shù)據(jù)切片的內(nèi)容(DSl_dl&2)基本上類似于第一字的內(nèi)容(例如,dl & d2);第一集合的編碼數(shù)據(jù)切片中的第二編碼數(shù)據(jù)切片的內(nèi)容(DSl_dl6&17)基本上類似 于第二字的內(nèi)容(例如,dl6 & dl7);以及第一集合的編碼數(shù)據(jù)切片中的第三編碼數(shù)據(jù)切片 的內(nèi)容(DSl_d31&32)基本上類似于第三字的內(nèi)容(例如,d31 & d32)。
      [0053] 第一集合的編碼數(shù)據(jù)切片中的第四和第五編碼數(shù)據(jù)切片的內(nèi)容(例如,ES1_1和 ES1_2)包括基于第一數(shù)據(jù)段的第一至第三字的糾錯(cuò)數(shù)據(jù)。在這種編碼和切片方案的情況 下,獲取五個(gè)編碼數(shù)據(jù)切片中的任何三個(gè)允許數(shù)據(jù)段被準(zhǔn)確地重構(gòu)。
      [0054] 數(shù)據(jù)段2至7的編碼和切片產(chǎn)生與數(shù)據(jù)段1的編碼數(shù)據(jù)切片的集合類似的編碼數(shù) 據(jù)切片的集合。例如,第二集合的編碼數(shù)據(jù)切片(例如,與數(shù)據(jù)段2相對(duì)應(yīng))中的第一編碼 數(shù)據(jù)切片的內(nèi)容(DS2_d3&4)基本上類似于第一字的內(nèi)容(例如,d3 & d4);第二集合的編碼 數(shù)據(jù)切片中的第二編碼數(shù)據(jù)切片的內(nèi)容(DS2_dl8&19)基本上類似于第二字的內(nèi)容(例如, dl8 & dl9);以及第二集合的編碼數(shù)據(jù)切片中的第三編碼數(shù)據(jù)切片的內(nèi)容(DS2_d33&34)基 本上類似于第三字的內(nèi)容(例如,d33 & d34)。第二集合的編碼數(shù)據(jù)切片中的第四和第五編 碼數(shù)據(jù)切片的內(nèi)容(例如,ES1_1和ES1_2)包括基于第二數(shù)據(jù)段的第一至第三字的糾錯(cuò)數(shù) 據(jù)。
      [0055] 圖9是根據(jù)來(lái)自控制模塊的作為控制信息160的組選擇信息的出站分布式存儲(chǔ)和 任務(wù)(DST)處理的成組選擇處理的示例的圖。在該示例中,成組選擇模塊114將編碼數(shù)據(jù) 切片組織為五個(gè)切片成組(例如,對(duì)分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)(DSTN)模塊的每個(gè)DST執(zhí)行單 元來(lái)說(shuō)一個(gè))。作為具體示例,成組選擇模塊114針對(duì)DST執(zhí)行單元#1創(chuàng)建第一切片成組, 其包括編碼切片集合中的每一個(gè)的第一編碼切片。由此,第一 DST執(zhí)行單元接收與數(shù)據(jù)塊 1至15相對(duì)應(yīng)的編碼數(shù)據(jù)切片(例如,鄰接數(shù)據(jù)的編碼數(shù)據(jù)切片)。
      [0056] 成組選擇模塊114還針對(duì)DST執(zhí)行單元#2創(chuàng)建第二切片成組,其包括編碼切片集 合中的每一個(gè)的第二編碼切片。由此,第二DST執(zhí)行單元接收與數(shù)據(jù)塊16至30相對(duì)應(yīng)的 編碼數(shù)據(jù)切片。成組選擇模塊114進(jìn)一步針對(duì)DST執(zhí)行單元#3創(chuàng)建第三切片成組,其包括 編碼切片集合中的每一個(gè)的第三編碼切片。由此,第三DST執(zhí)行單元接收與數(shù)據(jù)塊31至45 相對(duì)應(yīng)的編碼數(shù)據(jù)切片。
      [0057] 成組選擇模塊114針對(duì)DST執(zhí)行單元#4創(chuàng)建第四切片成組,其包括編碼切片集合 中的每一個(gè)的第四編碼切片。由此,第四DST執(zhí)行單元接收與第一差錯(cuò)編碼信息相對(duì)應(yīng)的 編碼數(shù)據(jù)切片(例如,差錯(cuò)編碼(EC)數(shù)據(jù)的編碼數(shù)據(jù)切片)。成組選擇模塊114進(jìn)一步針對(duì) DST執(zhí)行單元#5創(chuàng)建第五切片成組,其包括編碼切片集合中的每一個(gè)的第五編碼切片。由 此,第五DST執(zhí)行單元接收與第二差錯(cuò)編碼信息相對(duì)應(yīng)的編碼數(shù)據(jù)切片。
      [0058] 圖10是在先前圖上擴(kuò)充的將數(shù)據(jù)92轉(zhuǎn)換為切片組的示例的圖。如所示,根據(jù)分 區(qū)功能164將數(shù)據(jù)92分區(qū)為多個(gè)數(shù)據(jù)分區(qū)(1至X,其中X是大于4的整數(shù))。每個(gè)數(shù)據(jù)分 區(qū)(或數(shù)據(jù)組塊集合)由編碼和成組功能166編碼和成組為如前所討論的切片成組。對(duì)于給 定數(shù)據(jù)分區(qū),將切片成組發(fā)送至分布式存儲(chǔ)和任務(wù)(DST)執(zhí)行單元。從數(shù)據(jù)分區(qū)到數(shù)據(jù)分 區(qū),切片成組到DST執(zhí)行單元的排序可以變化。
      [0059] 例如,數(shù)據(jù)分區(qū)#1的切片成組被發(fā)送至DST執(zhí)行單元,使得第一 DST執(zhí)行接收編 碼數(shù)據(jù)切片集合中的每一個(gè)的第一編碼數(shù)據(jù)切片,其對(duì)應(yīng)于第一數(shù)據(jù)分區(qū)的第一鄰接數(shù)據(jù) 組塊(例如,參照?qǐng)D9),第二DST執(zhí)行接收編碼數(shù)據(jù)切片集合中的每一個(gè)的第二編碼數(shù)據(jù)切 片,其對(duì)應(yīng)于第一數(shù)據(jù)分區(qū)的第二鄰接數(shù)據(jù)組塊,等等。
      [0060] 針對(duì)第二數(shù)據(jù)分區(qū),可以按與針對(duì)第一數(shù)據(jù)分區(qū)而進(jìn)行的不同的順序?qū)⑶衅山M 發(fā)送至DST執(zhí)行單元。例如,第二數(shù)據(jù)分區(qū)的第一切片成組(例如,切片成組2_1)被發(fā)送 至第二DST執(zhí)行單元;第二數(shù)據(jù)分區(qū)的第二切片成組(例如,切片組2_2)被發(fā)送至第三DST 執(zhí)行單元;第二數(shù)據(jù)分區(qū)的第三切片成組(例如,切片組2_3)被發(fā)送至第四DST執(zhí)行單元; 第二數(shù)據(jù)分區(qū)的第四切片成組(例如,切片組2_4,其包括第一差錯(cuò)編碼信息)被發(fā)送至第五 DST執(zhí)行單元;以及第二數(shù)據(jù)分區(qū)的第五切片成組(例如,切片組2_5,其包括第二差錯(cuò)編碼 信息)被發(fā)送至第一 DST執(zhí)行單元。
      [0061] 將切片成組發(fā)送至DST執(zhí)行單元的集合的模式可以從數(shù)據(jù)分區(qū)到數(shù)據(jù)分區(qū)在預(yù) 測(cè)模式、隨機(jī)模式和/或其組合中變化。此外,從數(shù)據(jù)分區(qū)到數(shù)據(jù)分區(qū),DST執(zhí)行單元的集合 可以改變。例如,對(duì)于第一數(shù)據(jù)分區(qū),可以使用DST執(zhí)行單元1至5 ;對(duì)于第二數(shù)據(jù)分區(qū),可 以使用DST執(zhí)行單元6至10 ;對(duì)于第三數(shù)據(jù)分區(qū),可以使用DST執(zhí)行單元3至7 ;等等。還 如所示,任務(wù)被劃分為部分任務(wù),該部分任務(wù)協(xié)同數(shù)據(jù)分區(qū)的切片成組而被發(fā)送至DST執(zhí) 行單元。
      [0062] 圖11是DST (分布式存儲(chǔ)和/或任務(wù))執(zhí)行單元的實(shí)施例的示意框圖,該DST執(zhí)行 單元包括接口 169、控制器86、存儲(chǔ)器88、一個(gè)或多個(gè)DT (分布式任務(wù))執(zhí)行模塊90和DST 客戶端模塊34。存儲(chǔ)器88具有足夠的大小以存儲(chǔ)相當(dāng)大數(shù)目的編碼數(shù)據(jù)切片(例如,數(shù)千 個(gè)切片到數(shù)億個(gè)切片),并可以包括一個(gè)或多個(gè)硬盤(pán)驅(qū)動(dòng)器和/或一個(gè)或多個(gè)固態(tài)存儲(chǔ)設(shè)備 (例如閃存、DRAM等)。
      [0063] 在存儲(chǔ)切片組的示例中,DST執(zhí)行模塊經(jīng)由接口 169來(lái)接收切片成組96 (例如,切 片組#1)。切片成組96包括:針對(duì)每分區(qū),鄰接數(shù)據(jù)的編碼數(shù)據(jù)切片或差錯(cuò)編碼(EC)數(shù)據(jù) 的編碼數(shù)據(jù)切片。對(duì)于切片組#1,DST執(zhí)行模塊接收針對(duì)分區(qū)#1和#x (以及潛在地,3與 X之間的其他數(shù))的鄰接數(shù)據(jù)的編碼數(shù)據(jù)切片,并接收針對(duì)分區(qū)#2和#3 (以及潛在地,3與 X之間的其他數(shù))的EC數(shù)據(jù)的編碼數(shù)據(jù)切片。參照?qǐng)D9來(lái)討論鄰接數(shù)據(jù)的編碼數(shù)據(jù)切片和 差錯(cuò)編碼(EC)數(shù)據(jù)的編碼數(shù)據(jù)切片的示例。存儲(chǔ)器88根據(jù)其從控制器86接收的存儲(chǔ)控 制信息174來(lái)存儲(chǔ)切片成組96的編碼數(shù)據(jù)切片。
      [0064] 控制器86 (例如處理模塊、CPU等)基于部分任務(wù)98和分布式計(jì)算信息(例如用 戶信息(例如用戶ID、分布式計(jì)算許可、數(shù)據(jù)訪問(wèn)許可等)、保險(xiǎn)庫(kù)信息(例如向用戶指派的 虛擬存儲(chǔ)器、用戶組、用于任務(wù)處理的暫時(shí)存儲(chǔ)等)、任務(wù)確證信息等)來(lái)生成存儲(chǔ)控制信息 174。例如,控制器86按照分布式計(jì)算信息來(lái)解釋部分任務(wù)98,以確定請(qǐng)求者是否被授權(quán)執(zhí) 行任務(wù)98、是否被授權(quán)訪問(wèn)數(shù)據(jù)和/或是否被授權(quán)對(duì)該特定數(shù)據(jù)執(zhí)行任務(wù)。當(dāng)請(qǐng)求者被授 權(quán)時(shí),控制器86基于任務(wù)98和/或另一輸入來(lái)確定切片成組96的編碼數(shù)據(jù)切片是要被暫 時(shí)存儲(chǔ)還是要被永久存儲(chǔ)?;谇笆鰞?nèi)容,控制器86生成存儲(chǔ)控制信息174,以將切片成組 96的編碼數(shù)據(jù)切片寫(xiě)入到存儲(chǔ)器88中并指示切片成組96是被永久存儲(chǔ)還是被暫時(shí)存儲(chǔ)。 [0065] 在切片成組96被存儲(chǔ)在存儲(chǔ)器88中的情況下,控制器86促進(jìn)部分任務(wù)98的執(zhí) 行。在示例中,控制器86按照DT執(zhí)行模塊90的能力來(lái)解釋部分任務(wù)98。該能力包括MIPS 能力、處理資源(例如,微處理器、CPU、數(shù)字信號(hào)處理器、協(xié)處理器、微控制器、算術(shù)邏輯電路 和/或其他模擬和/或數(shù)字處理電路的量和能力)、處理資源的可用性等中的一個(gè)或多個(gè)。 如果控制器86確定DT執(zhí)行模塊90具有足夠的能力,則其生成任務(wù)控制信息176。
      [0066] 任務(wù)控制信息176可以是通用指令(例如,對(duì)所存儲(chǔ)的切片成組執(zhí)行任務(wù))或一系 列操作代碼。在前者實(shí)例中,DT執(zhí)行模塊90包括具體被配置(固定或編程)為執(zhí)行期望任 務(wù)98的協(xié)處理器功能。在后者實(shí)例中,DT執(zhí)行模塊90包括一般處理器拓?fù)洌渲?,控制?存儲(chǔ)與特定任務(wù)98相對(duì)應(yīng)的算法。在該實(shí)例中,控制器86將算法的操作代碼(例如匯編語(yǔ) 言、編程語(yǔ)言的源代碼、目標(biāo)代碼等)提供給DT執(zhí)行模塊90以用于執(zhí)行。
      [0067] 根據(jù)任務(wù)98的性質(zhì),DT執(zhí)行模塊90可以生成中間部分結(jié)果102,中間部分結(jié)果 102被存儲(chǔ)在存儲(chǔ)器88中或被存儲(chǔ)在DT執(zhí)行模塊90內(nèi)的高速緩沖存儲(chǔ)器(未示出)中。在 任一種情況下,當(dāng)DT執(zhí)行模塊90完成部分任務(wù)98的執(zhí)行時(shí),其輸出一個(gè)或多個(gè)部分結(jié)果 102。部分結(jié)果102還可以被存儲(chǔ)在存儲(chǔ)器88中。
      [0068] 如果當(dāng)控制器86正在解釋DT執(zhí)行模塊90的能力是否能夠支持部分任務(wù)98時(shí), 控制器86確定DT執(zhí)行模塊90不能充分地支持任務(wù)98(例如不具有恰當(dāng)?shù)馁Y源、不具有足 夠的可用資源、可用資源將太慢等等),那么其確定部分任務(wù)98是應(yīng)當(dāng)被完全卸載還是被部 分卸載。
      [0069] 如果控制器86確定部分任務(wù)98應(yīng)當(dāng)被完全卸載,則其生成DST控制信息178并 將其提供給DST客戶端模塊34。DST控制信息178包括部分任務(wù)98、關(guān)于切片成組96的存 儲(chǔ)儲(chǔ)存信息、以及分布指令。分布指令指示DST客戶端模塊34將部分任務(wù)98劃分為子部 分任務(wù)172、將切片成組96劃分為子切片成組170、以及其他DST執(zhí)行單元的標(biāo)識(shí)。DST客 戶端模塊34以與圖3至10的DST客戶端模塊34類似的方式工作,以根據(jù)分布指令來(lái)產(chǎn)生 子部分任務(wù)172和子切片成組170。
      [0070] DST客戶端模塊34經(jīng)由接口 169從任務(wù)被卸載到的DST執(zhí)行單元接收DST反饋 168 (例如,子部分結(jié)果)。DST客戶端模塊34將子部分結(jié)果提供給DST執(zhí)行單元,DST執(zhí)行 單元處理子部分結(jié)果以產(chǎn)生部分結(jié)果102。
      [0071] 如果控制器86確定部分任務(wù)98應(yīng)當(dāng)被部分卸載,則其確定任務(wù)98和/或切片成 組96的什么部分應(yīng)當(dāng)被局部處理以及什么應(yīng)當(dāng)被卸載。對(duì)于被局部處理的部分,控制器86 生成任務(wù)控制信息176,如前所討論。對(duì)于被卸載的部分,控制器86生成DST控制信息178, 如前所討論。
      [0072] 當(dāng)DST客戶端模塊34從任務(wù)的部分被卸載到的DST執(zhí)行單元接收到DST反饋168 (例如,子部分結(jié)果)時(shí),其將子部分結(jié)果提供給DT執(zhí)行模塊90。DT執(zhí)行模塊90將子部分 結(jié)果與其所創(chuàng)建的子部分結(jié)果一起處理,以產(chǎn)生部分結(jié)果102。
      [0073] 當(dāng)DT執(zhí)行模塊90將部分結(jié)果102和/或結(jié)果104存儲(chǔ)在存儲(chǔ)器88中時(shí),存儲(chǔ)器 88可以被進(jìn)一步利用以獲取所存儲(chǔ)的切片100、所存儲(chǔ)的結(jié)果104、部分結(jié)果102中的一個(gè) 或多個(gè)。例如,當(dāng)部分任務(wù)98包括獲取請(qǐng)求時(shí),控制器86將存儲(chǔ)控制174輸出至存儲(chǔ)器88 以促進(jìn)切片100和/或結(jié)果104的獲取。
      [0074] 圖12是存儲(chǔ)編碼數(shù)據(jù)切片并對(duì)其執(zhí)行任務(wù)的分布式存儲(chǔ)和任務(wù)(DST)執(zhí)行單元 的操作的示例的示意框圖。為了存儲(chǔ)切片成組1的分區(qū)1的編碼數(shù)據(jù)切片,控制器86生成 寫(xiě)入命令作為存儲(chǔ)控制信息174,使得編碼切片被存儲(chǔ)在存儲(chǔ)器88內(nèi)的期望位置(例如永 久的或暫時(shí)的)中。
      [0075] -旦編碼切片被存儲(chǔ),控制器86就將任務(wù)控制信息176提供給分布式任務(wù)(DT) 執(zhí)行模塊90。作為根據(jù)任務(wù)控制信息176執(zhí)行任務(wù)的第一步驟,DT執(zhí)行模塊90從存儲(chǔ)器 88獲取編碼切片。DT執(zhí)行模塊90然后重構(gòu)數(shù)據(jù)分區(qū)的鄰接數(shù)據(jù)塊。如針對(duì)該示例所示, 數(shù)據(jù)分區(qū)1的重構(gòu)的鄰接數(shù)據(jù)塊包括數(shù)據(jù)塊1至15 (例如,dl至dl5)。
      [0076] 在鄰接數(shù)據(jù)塊被重構(gòu)的情況下,DT執(zhí)行模塊90對(duì)重構(gòu)的鄰接數(shù)據(jù)塊執(zhí)行任務(wù)。例 如,任務(wù)可以是:針對(duì)特定詞或短語(yǔ)搜索重構(gòu)的鄰接數(shù)據(jù)塊;識(shí)別該特定詞或短語(yǔ)出現(xiàn)在 重構(gòu)的鄰接數(shù)據(jù)塊中的何處;和/或?qū)υ撎囟ㄔ~或短語(yǔ)在重構(gòu)的鄰接數(shù)據(jù)塊上的出現(xiàn)進(jìn)行 計(jì)數(shù)。DST執(zhí)行單元以類似的方式針對(duì)切片成組1中的其他分區(qū)的編碼數(shù)據(jù)切片繼續(xù)。注 意,在使用先前討論的單位矩陣差錯(cuò)編碼方案的情況下,如果鄰接數(shù)據(jù)的編碼數(shù)據(jù)切片未 被破壞,則其解碼是提取數(shù)據(jù)的相對(duì)直截了當(dāng)?shù)倪^(guò)程。
      [0077] 然而,如果鄰接數(shù)據(jù)的編碼數(shù)據(jù)切片被破壞(或丟失),則其能夠通過(guò)訪問(wèn)存儲(chǔ)被 破壞的編碼數(shù)據(jù)切片的編碼數(shù)據(jù)切片集合的其他編碼數(shù)據(jù)切片的其他DST執(zhí)行單元而重 新構(gòu)建。在該實(shí)例中,具有被破壞的編碼數(shù)據(jù)切片的DST執(zhí)行單元從其他DST執(zhí)行單元獲 取集合中的(鄰接數(shù)據(jù)的和差錯(cuò)編碼數(shù)據(jù)的)至少三個(gè)編碼數(shù)據(jù)切片(針對(duì)該示例回顧,柱 寬度是5并且解碼閾值是3)。DST執(zhí)行單元使用DS差錯(cuò)編碼參數(shù)來(lái)對(duì)所獲取的數(shù)據(jù)切片 進(jìn)行解碼,以重新捕獲對(duì)應(yīng)的數(shù)據(jù)段。DST執(zhí)行單元然后使用DS差錯(cuò)編碼參數(shù)來(lái)對(duì)數(shù)據(jù)重 新編碼,以重新構(gòu)建被破壞的編碼數(shù)據(jù)切片。一旦編碼數(shù)據(jù)切片被重新構(gòu)建,DST執(zhí)行單元 就如前所述那樣工作。
      [0078] 圖13是經(jīng)由網(wǎng)絡(luò)24耦合至分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)(DSTN)模塊的分布式存儲(chǔ)和/ 或任務(wù)(DST)執(zhí)行單元的DST客戶端模塊的入站DST處理部82的實(shí)施例的示意框圖。入站 DST處理部82包括解組模塊180、DS (分散存儲(chǔ))差錯(cuò)解碼模塊182、數(shù)據(jù)解分區(qū)模塊184、 控制模塊186和分布式任務(wù)控制模塊188。注意,控制模塊186和/或分布式任務(wù)控制模塊 188可以是與出站DST處理部中的對(duì)應(yīng)處理部分離的模塊,或可以是相同的模塊。
      [0079] 在操作的示例中,DST執(zhí)行單元已經(jīng)完成對(duì)應(yīng)部分任務(wù)102對(duì)對(duì)應(yīng)切片成組的執(zhí) 行,以產(chǎn)生部分結(jié)果102。入站DST處理部82經(jīng)由分布式任務(wù)控制模塊188來(lái)接收部分結(jié) 果102。入站DST處理部82然后處理部分結(jié)果102以產(chǎn)生一個(gè)或多個(gè)最終結(jié)果104。例如, 如果任務(wù)是在數(shù)據(jù)內(nèi)找到具體詞或短語(yǔ),則部分結(jié)果102指示對(duì)應(yīng)的DST執(zhí)行單元在數(shù)據(jù) 的指定部分中的每一個(gè)中的何處找到了該具體詞或短語(yǔ)。分布式任務(wù)控制模塊188將數(shù)據(jù) 的對(duì)應(yīng)部分的個(gè)體部分結(jié)果102組合成數(shù)據(jù)作為整體的最終結(jié)果104。
      [0080] 在操作的另一示例中,入站DST處理部82從DST執(zhí)行單元(S卩,DSTN模塊)獲取所 存儲(chǔ)的數(shù)據(jù)。在該示例中,DST執(zhí)行單元輸出與數(shù)據(jù)獲取請(qǐng)求相對(duì)應(yīng)的編碼數(shù)據(jù)切片100。 解組模塊180接收所獲取的切片100并對(duì)其進(jìn)行解組以產(chǎn)生每數(shù)據(jù)分區(qū)122的編碼數(shù)據(jù)切 片。DS差錯(cuò)解碼模塊182根據(jù)DS差錯(cuò)編碼參數(shù)來(lái)對(duì)每數(shù)據(jù)分區(qū)122的編碼數(shù)據(jù)切片進(jìn)行 解碼,以產(chǎn)生數(shù)據(jù)分區(qū)120。
      [0081] 數(shù)據(jù)解分區(qū)模塊184將數(shù)據(jù)分區(qū)12組合成數(shù)據(jù)92??刂颇K186使用去往每個(gè) 模塊的控制信號(hào)190來(lái)控制將獲取切片100轉(zhuǎn)換為數(shù)據(jù)92。例如,控制模塊186將解組信 息提供給解組模塊180 ;將DS差錯(cuò)編碼參數(shù)提供給DS差錯(cuò)解碼模塊182 ;以及將解分區(qū)信 息提供給數(shù)據(jù)解分區(qū)模塊184。
      [0082] 圖14是分布式存儲(chǔ)和任務(wù)(DST)客戶端模塊關(guān)于入站DST處理可執(zhí)行的方法的 示例的邏輯圖。該方法開(kāi)始于步驟194處,其中,DST客戶端模塊接收部分結(jié)果。該方法繼 續(xù)在步驟196處,其中,DST客戶端模塊獲取與部分結(jié)果相對(duì)應(yīng)的任務(wù)。例如,部分結(jié)果包 括標(biāo)識(shí)進(jìn)行請(qǐng)求的實(shí)體的首部信息,其與所請(qǐng)求的任務(wù)相關(guān)。
      [0083] 該方法繼續(xù)在步驟198處,其中,DST客戶端模塊基于任務(wù)來(lái)確定結(jié)果處理消息。 例如,如果任務(wù)是在數(shù)據(jù)內(nèi)識(shí)別特定詞或短語(yǔ),則結(jié)果處理信息將指示以積聚數(shù)據(jù)的對(duì)應(yīng) 部分的部分結(jié)果,以便產(chǎn)生最終結(jié)果。作為另一示例,如果任務(wù)是對(duì)特定詞或短語(yǔ)在數(shù)據(jù)內(nèi) 的出現(xiàn)進(jìn)行計(jì)數(shù),則處理信息的結(jié)果將指示以添加部分結(jié)果,以便產(chǎn)生最終結(jié)果。該方法繼 續(xù)在步驟200處,其中,DST客戶端模塊根據(jù)結(jié)果處理信息來(lái)處理部分結(jié)果,以產(chǎn)生一個(gè)或 多個(gè)最終結(jié)果。
      [0084] 圖15是分布式存儲(chǔ)和任務(wù)(DST)客戶端模塊的入站DST處理部的解組選擇處理 的示例的圖。一般地,這是圖9的出站DST處理部的成組模塊的反過(guò)程。相應(yīng)地,對(duì)于每個(gè) 數(shù)據(jù)分區(qū)(例如,分區(qū)#1),解組模塊從DST執(zhí)行單元(EU)(例如,DST 1至5)獲取對(duì)應(yīng)的切 片成組。
      [0085] 如所示,DST執(zhí)行單元#1提供第一切片成組,其包括編碼切片集合中的每一個(gè)的 第一編碼切片(例如,數(shù)據(jù)塊1至15的鄰接數(shù)據(jù)的編碼數(shù)據(jù)切片);DST執(zhí)行單元#2提供第 二切片成組,其包括編碼切片集合中的每一個(gè)的第二編碼切片(例如,數(shù)據(jù)塊16至30的鄰 接數(shù)據(jù)的編碼數(shù)據(jù)切片);DST執(zhí)行單元#3提供第三切片成組,其包括編碼切片集合中的每 一個(gè)的第三編碼切片(例如,數(shù)據(jù)塊31至45的鄰接數(shù)據(jù)的編碼數(shù)據(jù)切片);DST執(zhí)行單元#4 提供第四切片成組,其包括編碼切片集合中的每一個(gè)的第四編碼切片(例如,差錯(cuò)編碼(EC) 數(shù)據(jù)的第一編碼數(shù)據(jù)切片);以及DST執(zhí)行單元#5提供第五切片成組,其包括編碼切片集合 中的每一個(gè)的第五編碼切片(例如,差錯(cuò)編碼(EC)數(shù)據(jù)的第一編碼數(shù)據(jù)切片)。
      [0086] 解組模塊使用如在該示例中所示的控制信號(hào)190所控制的解組選擇器180來(lái)對(duì)切 片成組進(jìn)行解組,以產(chǎn)生編碼數(shù)據(jù)切片122的多個(gè)集合。每個(gè)集合對(duì)應(yīng)于數(shù)據(jù)分區(qū)的數(shù)據(jù) 段。
      [0087] 圖16是入站分布式存儲(chǔ)和任務(wù)(DST)處理部的分散存儲(chǔ)(DS)差錯(cuò)解碼模塊182 的實(shí)施例的示意框圖。DS差錯(cuò)解碼模塊182包括反每切片安全性處理模塊202、解切片模 塊204、差錯(cuò)解碼模塊206、反段安全性模塊208、解分段處理模塊210和控制模塊186。
      [0088] 在操作的示例中,反每切片安全性處理模塊202在被控制模塊186使能時(shí)基于作 為從控制模塊186接收的控制信息190 (例如,參照?qǐng)D6討論的切片安全性信息的補(bǔ)充)而 接收的切片解安全性信息來(lái)對(duì)每個(gè)編碼數(shù)據(jù)切片122進(jìn)行解保護(hù)。切片安全性信息包括數(shù) 據(jù)解壓縮、解密、解水印、完整性校驗(yàn)(例如CRC等)驗(yàn)證和/或任何其他類型的數(shù)字安全性。 例如,當(dāng)反每切片安全性處理模塊202被使能時(shí),其驗(yàn)證每個(gè)編碼數(shù)據(jù)切片122的完整性信 息(例如,CRC值),其對(duì)每個(gè)驗(yàn)證后的編碼數(shù)據(jù)切片進(jìn)行解密,并對(duì)每個(gè)解密后的編碼數(shù)據(jù) 切片進(jìn)行解壓縮,以產(chǎn)生切片編碼數(shù)據(jù)158。當(dāng)反每切片安全性處理模塊202未被使能時(shí), 其傳遞編碼數(shù)據(jù)切片122作為切片編碼數(shù)據(jù)158,或被設(shè)旁路繞過(guò)以使得所獲取的編碼數(shù) 據(jù)切片122被提供作為切片編碼數(shù)據(jù)158。
      [0089] 解切片模塊204根據(jù)作為控制信息190從控制模塊186接收的糾錯(cuò)編碼參數(shù)的柱 寬度將切片編碼數(shù)據(jù)158解切片為編碼數(shù)據(jù)段156。例如,如果柱寬度是5,則解切片模塊 204將5個(gè)編碼數(shù)據(jù)切片的集合解切片為編碼數(shù)據(jù)段156。差錯(cuò)解碼模塊206根據(jù)作為控 制信息190從控制模塊186接收的糾錯(cuò)解碼參數(shù)來(lái)對(duì)編碼數(shù)據(jù)段156進(jìn)行解碼,以產(chǎn)生安 全數(shù)據(jù)段154。糾錯(cuò)解碼參數(shù)包括標(biāo)識(shí)糾錯(cuò)編碼方案(例如前向糾錯(cuò)算法、基于里德-梭羅 門(mén)的算法、信息分散算法等)、柱寬度、解碼閾值、讀取閾值、寫(xiě)入閾值等。例如,糾錯(cuò)解碼參 數(shù)標(biāo)識(shí)具體糾錯(cuò)編碼方案,指定值為5的柱寬度,并指定值為3的解碼閾值。
      [0090] 反段安全性處理模塊208在被控制模塊186使能時(shí)基于作為控制信息190從控制 模塊186接收的段安全性信息來(lái)對(duì)所保護(hù)的數(shù)據(jù)段154進(jìn)行解保護(hù)。段安全性信息包括數(shù) 據(jù)解壓縮、解密、解水印、完整性校驗(yàn)(例如CRC等)驗(yàn)證和/或任何其他類型的數(shù)字安全性。 例如,當(dāng)反段安全性處理模塊208被使能時(shí),其驗(yàn)證每個(gè)安全數(shù)據(jù)段154的完整性信息(例 如CRC值),其對(duì)每個(gè)驗(yàn)證后的所保護(hù)的數(shù)據(jù)段進(jìn)行解密,并對(duì)每個(gè)解密后的安全數(shù)據(jù)段進(jìn) 行解壓縮,以產(chǎn)生數(shù)據(jù)段152。當(dāng)反段安全性處理模塊208未被使能時(shí),其傳遞解碼數(shù)據(jù)段 154作為數(shù)據(jù)段152,或被設(shè)旁路繞過(guò)。
      [0091] 解段處理模塊210接收數(shù)據(jù)段152,并從控制模塊186接收作為控制信息190的解 分段信息。解分段信息指示解段處理模塊210要如何將數(shù)據(jù)段152解段為數(shù)據(jù)分區(qū)120。 例如,解分段信息指示要如何重新布置數(shù)據(jù)段的行和列以產(chǎn)生數(shù)據(jù)分區(qū)120。
      [0092] 圖17是分散差錯(cuò)解碼模塊的解切片和差錯(cuò)解碼處理的示例的圖。解切片模塊204 根據(jù)控制信息190切片來(lái)接收每個(gè)數(shù)據(jù)段的至少解碼閾值數(shù)目的編碼數(shù)據(jù)切片158,并提 供編碼數(shù)據(jù)156。在該示例中,解碼閾值是3。由此,編碼數(shù)據(jù)切片158的每個(gè)集合被示為每 數(shù)據(jù)段具有3個(gè)編碼數(shù)據(jù)切片。解切片模塊204可以接收每數(shù)據(jù)段的3個(gè)編碼數(shù)據(jù)切片, 這是由于關(guān)聯(lián)的分布式存儲(chǔ)和任務(wù)(DST)客戶端模塊請(qǐng)求了獲取每段的僅3個(gè)編碼數(shù)據(jù)切 片或選擇了每數(shù)據(jù)段的所獲取的編碼數(shù)據(jù)切片中的3個(gè)。如所示,基于先前參照?qǐng)D8討論 的單位矩陣編碼,編碼數(shù)據(jù)切片可以是基于數(shù)據(jù)的編碼數(shù)據(jù)切片(例如,DSl_dl和d2)或基 于差錯(cuò)碼的編碼數(shù)據(jù)切片(例如,ES3_1)。
      [0093] 差錯(cuò)解碼模塊206根據(jù)控制信息190的糾錯(cuò)解碼參數(shù)來(lái)對(duì)每個(gè)數(shù)據(jù)段的編碼數(shù)據(jù) 156進(jìn)行解碼,以產(chǎn)生數(shù)據(jù)段154。在該示例中,數(shù)據(jù)段1包括3個(gè)行,其中,每個(gè)行被視為 用于編碼的1個(gè)詞。由此,數(shù)據(jù)段1包括3個(gè)詞:包括數(shù)據(jù)塊dl和d2的詞1 ;包括數(shù)據(jù)塊 dl6和dl7的詞2 ;以及包括數(shù)據(jù)塊d31和d32的詞3。數(shù)據(jù)段2至7中的每一個(gè)包括3個(gè) 詞,其中,每個(gè)詞包括2個(gè)數(shù)據(jù)塊。數(shù)據(jù)段8包括3個(gè)詞,其中,每個(gè)詞包括單個(gè)數(shù)據(jù)塊(例 如,dl5、d30 和 d45)。
      [0094] 圖18是入站分布式存儲(chǔ)和任務(wù)(DST)處理的解段處理的示例的圖。在該示例中, 解段處理模塊210接收數(shù)據(jù)段152 (例如,1至8),并根據(jù)控制信息190的解分段信息將數(shù) 據(jù)段的數(shù)據(jù)塊重新布置成行和列,以產(chǎn)生數(shù)據(jù)分區(qū)120。注意,行數(shù)基于解碼閾值(例如,在 該具體示例中為3),并且列數(shù)基于數(shù)據(jù)塊的數(shù)目和大小。
      [0095] 解分段模塊210將數(shù)據(jù)塊的行和列轉(zhuǎn)換為數(shù)據(jù)分區(qū)120。注意,每個(gè)數(shù)據(jù)塊可以具 有與其他數(shù)據(jù)塊相同的大小,或具有不同大小。此外,每個(gè)數(shù)據(jù)塊的大小可以為幾字節(jié)到幾 兆字節(jié)的數(shù)據(jù)。
      [0096] 圖19是在入站分布式存儲(chǔ)和任務(wù)(DST)處理部?jī)?nèi)將切片組轉(zhuǎn)換為數(shù)據(jù)92的示例 的圖。如所示,數(shù)據(jù)92由多個(gè)數(shù)據(jù)分區(qū)(1至X,其中,X是大于4的整數(shù))重構(gòu)。使用解組 和解碼功能212和解分區(qū)功能214從如前所討論的切片成組解碼和重新成組每個(gè)數(shù)據(jù)分區(qū) (或數(shù)據(jù)的組塊集合)。對(duì)于給定數(shù)據(jù)分區(qū),從DST執(zhí)行單元接收切片成組(例如,每數(shù)據(jù)段 的至少解碼閾值個(gè)編碼數(shù)據(jù)切片)。從數(shù)據(jù)分區(qū)到數(shù)據(jù)分區(qū),從DST執(zhí)行單元接收的切片成 組的排序可以變化,如參照?qǐng)D10所討論。
      [0097] 圖20是分布式計(jì)算系統(tǒng)內(nèi)的分布式存儲(chǔ)和/或獲取的示例的圖。分布式計(jì)算系 統(tǒng)包括經(jīng)由網(wǎng)絡(luò)24耦合至分布式存儲(chǔ)和/或任務(wù)處理網(wǎng)絡(luò)(DSTN)模塊或多個(gè)DSTN模塊的 多個(gè)分布式存儲(chǔ)和/或任務(wù)(DST)處理客戶端模塊34 (示出一個(gè))。DST客戶端模塊34包 括出站DST處理部80和入站DST處理部82。DSTN模塊包括多個(gè)DST執(zhí)行單元。每個(gè)DST 執(zhí)行單元包括控制器86、存儲(chǔ)器88、一個(gè)或多個(gè)分布式任務(wù)(DT)執(zhí)行模塊90、和DST客戶 端模塊34。
      [0098] 在數(shù)據(jù)存儲(chǔ)的示例中,DST客戶端模塊34具有其期望分布式地存儲(chǔ)在DSTN模塊 中的數(shù)據(jù)92。數(shù)據(jù)92可以是文件(例如視頻、音頻、文本、圖形等)、數(shù)據(jù)對(duì)象、數(shù)據(jù)塊、對(duì)文 件的更新、對(duì)數(shù)據(jù)塊的更新等。在該實(shí)例中,出站DST處理模塊80將數(shù)據(jù)92轉(zhuǎn)換為編碼數(shù) 據(jù)切片216,如將參照?qǐng)D21至23進(jìn)一步描述。出站DST處理模塊80經(jīng)由網(wǎng)絡(luò)24向DST執(zhí) 行單元進(jìn)行發(fā)送以用于存儲(chǔ),如參照?qǐng)D24進(jìn)一步描述。
      [0099] 在數(shù)據(jù)獲取的示例中,DST客戶端模塊34向DST執(zhí)行單元發(fā)出針對(duì)期望數(shù)據(jù)92 的獲取請(qǐng)求。獲取請(qǐng)求可以尋址存儲(chǔ)期望數(shù)據(jù)的編碼數(shù)據(jù)切片的每個(gè)DST執(zhí)行單元,尋址 解碼閾值數(shù)目的DST執(zhí)行單元,尋址讀取閾值數(shù)目的DST執(zhí)行單元,或?qū)ぶ纺称渌麛?shù)目的 DST執(zhí)行單元。響應(yīng)于該請(qǐng)求,每個(gè)所尋址的DST執(zhí)行單元獲取期望數(shù)據(jù)的其編碼數(shù)據(jù)切片 100,并經(jīng)由網(wǎng)絡(luò)24將其發(fā)送至入站DST處理部82。
      [0100] 當(dāng)對(duì)于每個(gè)數(shù)據(jù)段,入站DST處理部82接收到至少解碼閾值數(shù)目的編碼數(shù)據(jù)切片 100時(shí),其將編碼數(shù)據(jù)切片100轉(zhuǎn)換為數(shù)據(jù)段。入站DST處理部82積聚數(shù)據(jù)段以產(chǎn)生所獲 取的數(shù)據(jù)92。
      [0101] 圖21是經(jīng)由網(wǎng)絡(luò)24耦合至分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)(DSTN)模塊(例如,多個(gè)分布 式存儲(chǔ)和/或任務(wù)(DST)執(zhí)行單元)的DST客戶端模塊的出站DST處理部80的實(shí)施例的示 意框圖。出站DST處理部80包括數(shù)據(jù)分區(qū)模塊110、分散存儲(chǔ)(DS)差錯(cuò)編碼模塊112、組 選擇模塊114、控制模塊116和分布式任務(wù)控制模塊118。
      [0102] 在操作的示例中,數(shù)據(jù)分區(qū)模塊110被設(shè)旁路繞過(guò),使得數(shù)據(jù)92被直接提供給DS 差錯(cuò)編碼模塊112??刂颇K116通過(guò)將旁路220消息輸出至數(shù)據(jù)分區(qū)模塊110來(lái)協(xié)調(diào)數(shù) 據(jù)分區(qū)模塊110的旁路繞過(guò)。
      [0103] DS差錯(cuò)編碼模塊112以串行方式、并行方式和/或其組合來(lái)接收數(shù)據(jù)92。DS差錯(cuò) 編碼模塊112根據(jù)來(lái)自控制模塊116的控制信息160來(lái)對(duì)數(shù)據(jù)進(jìn)行DS差錯(cuò)編碼,以產(chǎn)生編 碼數(shù)據(jù)切片218。DS差錯(cuò)編碼包括:將數(shù)據(jù)92分段為數(shù)據(jù)段;段安全性處理(例如加密、壓 縮、加水印、完整性校驗(yàn)(例如CRC)等)、差錯(cuò)編碼、切片和/或每切片的安全性處理(例如加 密、壓縮、加水印、完整性校驗(yàn)(例如CRC)等)??刂菩畔?60指示DS差錯(cuò)編碼的哪些步驟 對(duì)數(shù)據(jù)92來(lái)說(shuō)活動(dòng),并針對(duì)活動(dòng)的步驟指示步驟的參數(shù)。例如,控制信息160指示差錯(cuò)編 碼是活動(dòng)的,并包括差錯(cuò)編碼參數(shù)(例如柱寬度、解碼閾值、寫(xiě)入閾值、讀取閾值、差錯(cuò)編碼 的類型等)。
      [0104] 組選擇模塊114將數(shù)據(jù)段的編碼切片218成組為切片216的柱。柱的數(shù)目對(duì)應(yīng)于 DS差錯(cuò)編碼參數(shù)的柱寬度。在該示例中,分布式任務(wù)控制模塊118促進(jìn)存儲(chǔ)請(qǐng)求。
      [0105] 圖22是圖21的示例的分散存儲(chǔ)(DS)差錯(cuò)編碼模塊112的示例的示意框圖。DS 差錯(cuò)編碼模塊112包括段處理模塊142、段安全性處理模塊144、差錯(cuò)編碼模塊146、切片模 塊148和每切片安全性處理模塊150。這些模塊中的每一個(gè)耦合至控制模塊116以從其接 收控制信息160。
      [0106] 在操作的示例中,段處理模塊142接收數(shù)據(jù)92,并從控制模塊116接收作為控制信 息160的分段信息。分段信息指示段處理模塊要如何對(duì)數(shù)據(jù)進(jìn)行分段。例如,分段信息指 示每個(gè)數(shù)據(jù)段的大小。段處理模塊142根據(jù)分段信息將數(shù)據(jù)92分段為數(shù)據(jù)段152。
      [0107] 段安全性處理模塊144在被控制模塊116使能時(shí)基于作為控制信息160從控制模 塊116接收的段安全性信息來(lái)保護(hù)數(shù)據(jù)段152。段安全性信息包括數(shù)據(jù)壓縮、加密、加水印、 完整性校驗(yàn)(例如CRC等)和/或任何其他類型的數(shù)字安全性。例如,當(dāng)段安全性處理模塊 144被使能時(shí),其壓縮數(shù)據(jù)段152,對(duì)壓縮后的數(shù)據(jù)段進(jìn)行加密,并生成加密后的數(shù)據(jù)段的 CRC值,以產(chǎn)生安全的數(shù)據(jù)段。當(dāng)段安全性處理模塊144未被使能時(shí),其將數(shù)據(jù)段152傳遞 至差錯(cuò)編碼模塊146,或被設(shè)旁路繞過(guò)以使得數(shù)據(jù)段152被提供給差錯(cuò)編碼模塊146。
      [0108] 差錯(cuò)編碼模塊146根據(jù)作為控制信息160從控制模塊116接收的糾錯(cuò)編碼參數(shù)來(lái) 對(duì)安全的數(shù)據(jù)段進(jìn)行編碼。糾錯(cuò)編碼參數(shù)包括標(biāo)識(shí)糾錯(cuò)編碼方案(例如前向糾錯(cuò)算法、基于 里德-梭羅門(mén)的算法、信息分散算法等)、柱寬度、解碼閾值、讀取閾值、寫(xiě)入閾值等。例如, 糾錯(cuò)編碼參數(shù)標(biāo)識(shí)具體糾錯(cuò)編碼方案,指定值為5的柱寬度,并指定值為3的解碼閾值。根 據(jù)這些參數(shù),差錯(cuò)編碼模塊146對(duì)數(shù)據(jù)段進(jìn)行編碼以產(chǎn)生編碼數(shù)據(jù)段。
      [0109] 切片模塊148根據(jù)糾錯(cuò)編碼參數(shù)的柱寬度來(lái)對(duì)編碼數(shù)據(jù)段進(jìn)行切片。例如,如果 柱寬度是5,則切片模塊將編碼數(shù)據(jù)段切片為5個(gè)編碼數(shù)據(jù)切片的集合。由此,對(duì)于多個(gè)數(shù) 據(jù)段,切片模塊148在如所描述的編碼和切片功能222內(nèi)輸出如所示的編碼數(shù)據(jù)切片的多 個(gè)集合。
      [0110] 每切片安全性處理模塊150在被控制模塊116使能時(shí),基于作為控制信息160從 控制模塊116接收的切片安全性信息來(lái)保護(hù)每個(gè)編碼數(shù)據(jù)切片。切片安全性信息包括數(shù) 據(jù)壓縮、加密、加水印、完整性校驗(yàn)(例如CRC等)和/或任何其他類型的數(shù)字安全性。例 如,當(dāng)每切片安全性處理模塊150被使能時(shí),其可以壓縮編碼數(shù)據(jù)切片,對(duì)壓縮后的編碼數(shù) 據(jù)切片進(jìn)行加密,并生成加密后的編碼數(shù)據(jù)切片的CRC值,以產(chǎn)生安全編碼數(shù)據(jù)切片微調(diào) (tweaking)當(dāng)每切片安全性處理模塊150未被使能時(shí),其傳遞編碼數(shù)據(jù)切片,或被設(shè)旁路 繞過(guò)以使得編碼數(shù)據(jù)切片218是DS差錯(cuò)編碼模塊112的輸出。
      [0111] 圖23是利用編碼、切片和柱成組功能224將數(shù)據(jù)92轉(zhuǎn)換為柱切片組以存儲(chǔ)在分 布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)(DSTN)模塊的存儲(chǔ)器中的示例的圖。如前所討論,數(shù)據(jù)92被編碼和 切片成編碼數(shù)據(jù)切片的多個(gè)集合;每數(shù)據(jù)段一個(gè)集合。成組選擇模塊將編碼數(shù)據(jù)切片的集 合組織為數(shù)據(jù)切片的柱。在該示例中,DS差錯(cuò)編碼參數(shù)包括值為5的柱寬度和值為3的解 碼閾值。由此,對(duì)于每個(gè)數(shù)據(jù)段,創(chuàng)建5個(gè)編碼數(shù)據(jù)切片。
      [0112] 成組選擇模塊取得每個(gè)集合的第一編碼數(shù)據(jù)切片并形成第一柱,該第一柱可以被 發(fā)送至第一 DST執(zhí)行單元。類似地,成組選擇模塊從集合的第二切片創(chuàng)建第二柱;從集合 的第三切片創(chuàng)建第三柱;從集合的第四切片創(chuàng)建第四柱;以及從集合的第五切片創(chuàng)建第五 柱。
      [0113] 圖24是分布式存儲(chǔ)和/或任務(wù)(DST)執(zhí)行單元的實(shí)施例的示意框圖,該DST執(zhí)行 單元包括接口 169、控制器86、存儲(chǔ)器88、一個(gè)或多個(gè)分布式任務(wù)(DT)執(zhí)行模塊90、和DST 客戶端模塊34。計(jì)算核心26可以被利用以實(shí)現(xiàn)該一個(gè)或多個(gè)DT執(zhí)行模塊90以及DST客 戶端模塊34。存儲(chǔ)器88具有足夠的大小以存儲(chǔ)相當(dāng)大數(shù)目的編碼數(shù)據(jù)切片(例如,數(shù)千個(gè) 切片到數(shù)億個(gè)切片),并可以包括一個(gè)或多個(gè)硬盤(pán)驅(qū)動(dòng)器和/或一個(gè)或多個(gè)固態(tài)存儲(chǔ)設(shè)備 (例如閃存、DRAM等)。
      [0114] 在存儲(chǔ)切片216的柱的示例中,DST執(zhí)行單元經(jīng)由接口 169來(lái)接收切片216的柱 (例如,柱#1切片)。存儲(chǔ)器88根據(jù)其從控制器86接收的存儲(chǔ)控制信息174來(lái)存儲(chǔ)切片柱 的編碼數(shù)據(jù)切片216??刂破?6 (例如處理模塊、CPU等)基于分布式存儲(chǔ)信息(例如用戶信 息(例如用戶ID、分布式存儲(chǔ)許可、數(shù)據(jù)訪問(wèn)許可等)、保險(xiǎn)庫(kù)信息(例如向用戶指派的虛擬 存儲(chǔ)器、用戶組等)等)來(lái)生成存儲(chǔ)控制信息174。類似地,當(dāng)獲取切片時(shí),DST執(zhí)行單元經(jīng) 由接口 169來(lái)接收切片獲取請(qǐng)求。存儲(chǔ)器88根據(jù)其從控制器86接收的存儲(chǔ)控制信息174 來(lái)獲取切片。存儲(chǔ)器88經(jīng)由接口 169將切片100輸出至進(jìn)行請(qǐng)求的實(shí)體。
      [0115] 圖25是用于獲取分散差錯(cuò)編碼數(shù)據(jù)92的入站分布式存儲(chǔ)和/或任務(wù)(DST)處理 部82的操作的示例的示意框圖。入站DST處理部82包括解組模塊180、分散存儲(chǔ)(DS)存 儲(chǔ)解碼模塊182、數(shù)據(jù)解分區(qū)模塊184、控制模塊186和分布式任務(wù)控制模塊188。注意,控 制模塊186和/或分布式任務(wù)控制模塊188可以是與出站DST處理部中的對(duì)應(yīng)處理部分離 的模塊,或可以是相同的模塊。
      [0116] 在操作的示例中,入站DST處理部82從DST執(zhí)行單元(S卩,DSTN模塊)獲取所存儲(chǔ) 的數(shù)據(jù)92。在該示例中,DST執(zhí)行單元從分布式任務(wù)控制模塊188輸出與數(shù)據(jù)獲取請(qǐng)求相 對(duì)應(yīng)的編碼數(shù)據(jù)切片。解組模塊180接收切片100的柱,并根據(jù)來(lái)自控制模塊186的控制 信息190來(lái)對(duì)其進(jìn)行解組,以產(chǎn)生編碼數(shù)據(jù)切片218的集合。DS差錯(cuò)解碼模塊182根據(jù)作 為控制信息190從控制模塊186接收的DS差錯(cuò)編碼參數(shù)來(lái)對(duì)編碼數(shù)據(jù)切片218的每個(gè)集 合進(jìn)行解碼,以產(chǎn)生被積聚成所獲取的數(shù)據(jù)92的數(shù)據(jù)段。在該操作模式中經(jīng)由來(lái)自控制模 塊186的控制信息190的旁路信號(hào)226來(lái)設(shè)旁路繞過(guò)數(shù)據(jù)解分區(qū)模塊184。
      [0117] 圖26是入站分布式存儲(chǔ)和任務(wù)(DST)處理部的分散存儲(chǔ)(DS)差錯(cuò)解碼模塊182 的實(shí)施例的示意框圖。DS差錯(cuò)解碼模塊182包括反每切片安全性處理模塊202、解切片模 塊204、差錯(cuò)解碼模塊206、反段安全性模塊208、解分段處理模塊210和控制模塊186。分 散差錯(cuò)解碼模塊182可操作以利用解切片和解碼功能228來(lái)對(duì)每數(shù)據(jù)段218的編碼切片進(jìn) 行解切片和解碼,以產(chǎn)生利用解段功能230解分段以恢復(fù)數(shù)據(jù)92的多個(gè)數(shù)據(jù)段。
      [0118] 在操作的示例中,反每切片安全性處理模塊202在被控制模塊186經(jīng)由控制信息 190使能時(shí)基于作為控制信息190從控制模塊186接收的切片解安全性信息(例如,參照?qǐng)D 6討論的切片安全性信息的補(bǔ)充)來(lái)對(duì)每個(gè)編碼數(shù)據(jù)切片218進(jìn)行解保護(hù)。切片解安全性信 息包括數(shù)據(jù)解壓縮、解密、解水印、完整性校驗(yàn)(例如CRC等)驗(yàn)證和/或任何其他類型的數(shù) 字安全性。例如,當(dāng)反每切片安全性處理模塊202被使能時(shí),其驗(yàn)證每個(gè)編碼數(shù)據(jù)切片218 的完整性信息(例如,CRC值),其對(duì)每個(gè)驗(yàn)證后的編碼數(shù)據(jù)切片進(jìn)行解密,并對(duì)每個(gè)解密后 的編碼數(shù)據(jù)切片進(jìn)行解壓縮,以產(chǎn)生切片編碼數(shù)據(jù)。當(dāng)反每切片安全性處理模塊202未被 使能時(shí),其傳遞編碼數(shù)據(jù)切片218作為切片編碼數(shù)據(jù),或被設(shè)旁路繞過(guò)以使得所獲取的編 碼數(shù)據(jù)切片218被提供作為切片編碼數(shù)據(jù)。
      [0119] 解切片模塊204根據(jù)作為控制信息190從控制模塊186接收的糾錯(cuò)編碼參數(shù)的柱 寬度將切片編碼數(shù)據(jù)解切片為編碼數(shù)據(jù)段。例如,如果柱寬度是5,則解切片模塊將5個(gè)編 碼數(shù)據(jù)切片的集合解切片為編碼數(shù)據(jù)段??商鎿Q地,編碼數(shù)據(jù)段可以包括僅3個(gè)編碼數(shù)據(jù) 切片(例如,當(dāng)解碼閾值是3時(shí))。
      [0120] 差錯(cuò)解碼模塊206根據(jù)作為控制信息190從控制模塊186接收的糾錯(cuò)解碼參數(shù)來(lái) 對(duì)編碼數(shù)據(jù)段進(jìn)行解碼,以產(chǎn)生安全數(shù)據(jù)段。糾錯(cuò)解碼參數(shù)包括標(biāo)識(shí)糾錯(cuò)編碼方案(例如前 向糾錯(cuò)算法、基于里德-梭羅門(mén)的算法、信息分散算法等)、柱寬度、解碼閾值、讀取閾值、寫(xiě) 入閾值等。例如,糾錯(cuò)解碼參數(shù)標(biāo)識(shí)具體糾錯(cuò)編碼方案,指定值為5的柱寬度,并指定值為 3的解碼閾值。
      [0121] 反段安全性處理模塊208在被控制模塊186使能時(shí)基于作為控制信息190從控制 模塊186接收的段安全性信息來(lái)對(duì)被保護(hù)的數(shù)據(jù)段進(jìn)行解保護(hù)。段安全性信息包括數(shù)據(jù)解 壓縮、解密、解水印、完整性校驗(yàn)(例如CRC等)驗(yàn)證和/或任何其他類型的數(shù)字安全性。例 如,當(dāng)反段安全性處理模塊被使能時(shí),其驗(yàn)證每個(gè)安全數(shù)據(jù)段的完整性信息(例如,CRC值), 其對(duì)每個(gè)驗(yàn)證后的被保護(hù)的數(shù)據(jù)段進(jìn)行解密,并對(duì)每個(gè)解密后的安全數(shù)據(jù)段進(jìn)行解壓縮, 以產(chǎn)生數(shù)據(jù)段152。當(dāng)反段安全性處理模塊208未被使能時(shí),其傳遞解碼數(shù)據(jù)段152作為數(shù) 據(jù)段,或被設(shè)旁路繞過(guò)。解分段處理模塊210根據(jù)來(lái)自控制模塊186的控制信息190將數(shù) 據(jù)段152積聚成數(shù)據(jù)92。
      [0122] 圖27是包括多個(gè)分布式存儲(chǔ)和任務(wù)(DST)執(zhí)行單元(#1至#n,其中,例如,η是大 于或等于3的整數(shù))的分布式存儲(chǔ)和任務(wù)處理網(wǎng)絡(luò)(DSTN)模塊的示例的示意框圖。每個(gè)DST 執(zhí)行單元包括DST客戶端模塊34、控制器86、一個(gè)或多個(gè)DT (分布式任務(wù))執(zhí)行模塊90、和 存儲(chǔ)器88。
      [0123] 在該示例中,DSTN模塊在DST執(zhí)行單元的存儲(chǔ)器中存儲(chǔ)多個(gè)DS (分散存儲(chǔ))編碼 數(shù)據(jù)(例如,1至n,其中,η是大于或等于2的整數(shù)),并存儲(chǔ)多個(gè)DS編碼任務(wù)碼(例如,1至 k,其中,k是大于或等于2的整數(shù))??梢愿鶕?jù)參照?qǐng)D3至19描述的一個(gè)或多個(gè)示例來(lái)對(duì) DS編碼數(shù)據(jù)進(jìn)行編碼(例如,在切片成組中組織),或者根據(jù)參照?qǐng)D20至26描述的一個(gè)或多 個(gè)示例來(lái)對(duì)DS編碼數(shù)據(jù)進(jìn)行編碼(例如,在柱組中組織)。被編碼為DS編碼數(shù)據(jù)的數(shù)據(jù)可 以具有任何大小和/或具有任何內(nèi)容。例如,數(shù)據(jù)可以是一個(gè)或多個(gè)數(shù)字書(shū)、公司的電子郵 件的拷貝、大規(guī)?;ヂ?lián)網(wǎng)搜索、視頻安全性文件、一個(gè)或多個(gè)娛樂(lè)視頻文件(例如電視節(jié)目、 電影等)、數(shù)據(jù)文件和/或任何其他大量的數(shù)據(jù)(例如,大于幾太字節(jié))。
      [0124] 被編碼為DS編碼任務(wù)碼的任務(wù)可以是簡(jiǎn)單功能(例如數(shù)學(xué)功能、邏輯功能、識(shí)別 功能、查找功能、搜索引擎功能、替換功能等)、復(fù)雜功能(例如壓縮、人類和/或計(jì)算機(jī)語(yǔ)言 翻譯、文本至語(yǔ)音轉(zhuǎn)換、語(yǔ)音至文本轉(zhuǎn)換等)、多個(gè)簡(jiǎn)單和/或復(fù)雜功能、一個(gè)或多個(gè)算法、一 個(gè)或多個(gè)應(yīng)用等??梢愿鶕?jù)參照?qǐng)D3至19描述的一個(gè)或多個(gè)示例將任務(wù)編碼為DS編碼任 務(wù)碼(例如,在切片成組中組織),或者根據(jù)參照?qǐng)D20至26描述的一個(gè)或多個(gè)示例來(lái)對(duì)任務(wù) 進(jìn)行編碼(例如,在柱組中組織)。
      [0125] 在操作的示例中,DST處理單元的用戶設(shè)備的DST客戶端模塊向DST模塊發(fā)出DST 請(qǐng)求。DST請(qǐng)求可以包括獲取所存儲(chǔ)的數(shù)據(jù)或其部分的請(qǐng)求,可以包括存儲(chǔ)與DST請(qǐng)求一 起包括的數(shù)據(jù)的請(qǐng)求,可以包括對(duì)所存儲(chǔ)的數(shù)據(jù)執(zhí)行一個(gè)或多個(gè)任務(wù)的請(qǐng)求,可以包括對(duì) 與DST請(qǐng)求一起包括的數(shù)據(jù)執(zhí)行一個(gè)或多個(gè)任務(wù)的請(qǐng)求,等等。在DST請(qǐng)求包括存儲(chǔ)數(shù)據(jù) 或獲取數(shù)據(jù)的請(qǐng)求的情況下,客戶端模塊和/或DSTN模塊如前參照?qǐng)D3至19 (例如,切片 成組)和/或20至26 (例如,柱成組)中的一個(gè)或多個(gè)討論的那樣處理請(qǐng)求。在DST請(qǐng)求 包括對(duì)與DST請(qǐng)求一起包括的數(shù)據(jù)執(zhí)行一個(gè)或多個(gè)任務(wù)的請(qǐng)求的情況下,DST客戶端模塊 和/或DSTN模塊如前參照?qǐng)D3至19中的一個(gè)或多個(gè)討論的那樣處理DST請(qǐng)求。
      [0126] 在DST請(qǐng)求包括對(duì)所存儲(chǔ)的數(shù)據(jù)執(zhí)行一個(gè)或多個(gè)任務(wù)的請(qǐng)求的情況下,DST客戶 端模塊和/或DSTN模塊如將參照?qǐng)D28至39中的一個(gè)或多個(gè)描述的那樣處理DST請(qǐng)求。一 般地,DST客戶端模塊針對(duì)DSTN模塊識(shí)別數(shù)據(jù)和一個(gè)或多個(gè)任務(wù)以對(duì)所識(shí)別的數(shù)據(jù)執(zhí)行。 DST請(qǐng)求可以針對(duì)任務(wù)的一次性執(zhí)行或針對(duì)任務(wù)的正在進(jìn)行的執(zhí)行。作為后者的示例,隨著 公司生成每日電子郵件,DST請(qǐng)求可以是:針對(duì)不適當(dāng)?shù)膬?nèi)容每日搜索新電子郵件,并且如 果找到,則記錄該內(nèi)容、電子郵件發(fā)送者、電子郵件接收者、電子郵件路由信息,向人類資源 通知所識(shí)別的電子郵件等等。
      [0127] 圖28是對(duì)所存儲(chǔ)的數(shù)據(jù)執(zhí)行任務(wù)的分布式計(jì)算系統(tǒng)的示例的示意框圖。在該示 例中,示出了兩個(gè)分布式存儲(chǔ)和任務(wù)(DST)客戶端模塊1至2 :第一個(gè)可以與用戶設(shè)備相關(guān) 聯(lián),并且第二個(gè)可以與DST處理單元或高優(yōu)先級(jí)用戶設(shè)備(例如高優(yōu)先級(jí)批準(zhǔn)用戶、系統(tǒng)管 理員等)相關(guān)聯(lián)。每個(gè)DST客戶端模塊包括存儲(chǔ)數(shù)據(jù)列表234和任務(wù)碼列表236。存儲(chǔ)數(shù) 據(jù)列表234包括數(shù)據(jù)標(biāo)識(shí)信息的一個(gè)或多個(gè)條目,其中,每個(gè)條目標(biāo)識(shí)DSTN模塊22中存儲(chǔ) 的數(shù)據(jù)。數(shù)據(jù)標(biāo)識(shí)信息(例如,數(shù)據(jù)ID)包括數(shù)據(jù)文件名、數(shù)據(jù)文件目錄列表、數(shù)據(jù)的DSTN 尋址信息、數(shù)據(jù)對(duì)象標(biāo)識(shí)符等中的一個(gè)或多個(gè)。任務(wù)列表236包括任務(wù)碼標(biāo)識(shí)信息的一個(gè) 或多個(gè)條目,其中,每個(gè)條目標(biāo)識(shí)DSTN模塊22中存儲(chǔ)的任務(wù)碼。任務(wù)碼標(biāo)識(shí)信息(例如,任 務(wù)ID)包括任務(wù)文件名、任務(wù)文件目錄列表、任務(wù)的DSTN尋址 /[目息、用于標(biāo)識(shí)任務(wù)的另一種 類型的標(biāo)識(shí)符等中的一個(gè)或多個(gè)。
      [0128] 如所示,數(shù)據(jù)列表234和任務(wù)列表236在第一 DST客戶端模塊的條目的數(shù)目方面 均比第二DST客戶端模塊的對(duì)應(yīng)列表小。這種情況發(fā)生可能是由于與第一 DST客戶端模塊 相關(guān)聯(lián)的用戶設(shè)備在分布式計(jì)算系統(tǒng)中具有比與第二DST客戶端模塊相關(guān)聯(lián)的設(shè)備更少 的特權(quán)??商鎿Q地,這種情況發(fā)生可能是由于與第一 DST客戶端模塊相關(guān)聯(lián)的用戶設(shè)備服 務(wù)于比與第二DST客戶端模塊相關(guān)聯(lián)的設(shè)備更少的用戶且相應(yīng)地受分布式計(jì)算系統(tǒng)限制。 作為又一可替換方案,這可能通過(guò)不受分布式計(jì)算系統(tǒng)限制而發(fā)生,其發(fā)生僅由于與第一 DST客戶端模塊相關(guān)聯(lián)的用戶設(shè)備的操作者選擇了比與第二DST客戶端模塊相關(guān)聯(lián)的設(shè)備 的操作者更少的數(shù)據(jù)和/或更少的任務(wù)。
      [0129] 在操作的示例中,第一 DST客戶端模塊從其相應(yīng)列表中選擇一個(gè)或多個(gè)數(shù)據(jù)條目 238和一個(gè)或多個(gè)任務(wù)240(例如,所選數(shù)據(jù)ID和所選任務(wù)ID)。第一 DST客戶端模塊將其 選擇發(fā)送至任務(wù)分布模塊232。任務(wù)分布模塊232可以處于分布式計(jì)算系統(tǒng)的獨(dú)立設(shè)備內(nèi), 可以處于包含第一 DST客戶端模塊的用戶設(shè)備內(nèi),或者可以處于DSTN模塊22內(nèi)。
      [0130] 不論任務(wù)分布模塊位置如何,其都從所選任務(wù)ID 240和所選數(shù)據(jù)ID 238生成DST 分配信息242。DST分配信息242包括數(shù)據(jù)分區(qū)信息、任務(wù)執(zhí)行信息和/或中間結(jié)果信息。 任務(wù)分布模塊232將DST分配信息242發(fā)送至DSTN模塊22。注意,將參照?qǐng)D29至39中的 一個(gè)或多個(gè)來(lái)討論DST分配信息的一個(gè)或多個(gè)示例。
      [0131] DSTN模塊22解釋DST分配信息242,以識(shí)別所存儲(chǔ)的DS編碼數(shù)據(jù)(例如,DS差錯(cuò) 編碼數(shù)據(jù)2)并識(shí)別所存儲(chǔ)的DS差錯(cuò)編碼任務(wù)碼(例如,DS差錯(cuò)編碼任務(wù)碼1)。此外,DSTN 模塊22解釋DST分配信息242,以確定要如何對(duì)數(shù)據(jù)進(jìn)行分區(qū)以及要如何對(duì)任務(wù)進(jìn)行分區(qū)。 DSTN模塊22還確定是否需要將所選DS差錯(cuò)編碼數(shù)據(jù)238從柱成組轉(zhuǎn)換為切片成組。如果 是,則DSTN模塊22將所選的DS差錯(cuò)編碼數(shù)據(jù)轉(zhuǎn)換為切片成組,并通過(guò)蓋寫(xiě)柱成組DS差錯(cuò) 編碼數(shù)據(jù)或通過(guò)將其存儲(chǔ)在DSTN模塊22的存儲(chǔ)器中的不同位置中(S卩,不蓋寫(xiě)柱成組DS 編碼數(shù)據(jù))來(lái)存儲(chǔ)切片成組DS差錯(cuò)編碼數(shù)據(jù)。
      [0132] DSTN模塊22如DST分配信息242中所指示的那樣對(duì)數(shù)據(jù)和任務(wù)進(jìn)行分區(qū),并將部 分發(fā)送至DSTN模塊22的所選DST執(zhí)行單元。每個(gè)所選DST執(zhí)行單元對(duì)其切片成組執(zhí)行其 部分任務(wù),以產(chǎn)生部分結(jié)果。DSTN模塊22從所選DST執(zhí)行單元收集部分結(jié)果,并將其作為 結(jié)果信息244提供給任務(wù)分布模塊。結(jié)果信息244可以是所收集的部分結(jié)果、如DSTN模塊 22從根據(jù)DST分配信息242處理部分結(jié)果而產(chǎn)生的一個(gè)或多個(gè)最終結(jié)果、或者如DSTN模塊 22從根據(jù)DST分配信息242處理部分結(jié)果而產(chǎn)生的一個(gè)或多個(gè)中間結(jié)果。
      [0133] 任務(wù)分布模塊232接收結(jié)果信息244并從其提供一個(gè)或多個(gè)最終結(jié)果104給第一 DST客戶端模塊。最終結(jié)果104可以是結(jié)果信息244或者任務(wù)分布模塊對(duì)結(jié)果信息244的 處理的結(jié)果。
      [0134] 與處理第一 DST客戶端模塊的所選任務(wù)同時(shí),分布式計(jì)算系統(tǒng)可以處理對(duì)第二 DST客戶端模塊的所選數(shù)據(jù)的第二DST客戶端模塊的所選任務(wù)??商鎿Q地,分布式計(jì)算系統(tǒng) 可以在第一 DST客戶端模塊的請(qǐng)求之后或之前處理第二DST客戶端模塊的請(qǐng)求。不論DST 客戶端模塊請(qǐng)求的順序和/或并行處理,第二DST客戶端模塊都將其所選數(shù)據(jù)238和所選 任務(wù)240提供給任務(wù)分布模塊232。如果任務(wù)分布模塊232是分布式計(jì)算系統(tǒng)的分離設(shè)備 或者處于DSTN模塊內(nèi),則f禹合到第一和第二DST客戶端模塊的任務(wù)分布模塊232可以是相 同的模塊。任務(wù)分布模塊232以與其處理第一 DST客戶端模塊的請(qǐng)求類似的方式處理第二 DST客戶端模塊的請(qǐng)求。
      [0135] 圖29是促進(jìn)圖28的示例的任務(wù)分布模塊232的實(shí)施例的示意框圖。任務(wù)分布模 塊232包括其用以針對(duì)從DST客戶端模塊接收的所選數(shù)據(jù)和所選任務(wù)生成分布式存儲(chǔ)和任 務(wù)(DST)分配信息242的多個(gè)表。該表包括數(shù)據(jù)存儲(chǔ)信息248、任務(wù)存儲(chǔ)信息250、分布式 任務(wù)(DT)執(zhí)行模塊信息252以及任務(wù)〈-> 子任務(wù)映射信息246。
      [0136] 數(shù)據(jù)存儲(chǔ)信息表248包括數(shù)據(jù)標(biāo)識(shí)(ID)字段260、數(shù)據(jù)大小字段262、尋址信息字 段264、分布式存儲(chǔ)(DS)信息266,并可以進(jìn)一步包括關(guān)于數(shù)據(jù)、其被如何存儲(chǔ)和/或其能 夠被如何處理的其他信息。例如,DS編碼數(shù)據(jù)#1具有值為1的數(shù)據(jù)ID、值為AA的數(shù)據(jù)大 小(例如,幾太字節(jié)或更多的字節(jié)大小)、值為Addr_l_AA的尋址信息、以及值為3/5、SEG_1 和SLC_1的DS參數(shù)。在該示例中,尋址信息可以是與數(shù)據(jù)的第一存儲(chǔ)字(例如,一個(gè)或多個(gè) 字節(jié))的虛擬地址相對(duì)應(yīng)的虛擬地址以及與如何計(jì)算其他地址有關(guān)的信息,可以是數(shù)據(jù)的 存儲(chǔ)字的虛擬地址、數(shù)據(jù)的多個(gè)存儲(chǔ)字或第一存儲(chǔ)字的物理地址的范圍,可以是數(shù)據(jù)的編 碼數(shù)據(jù)切片的切片名稱的列表等等。DS參數(shù)可以包括差錯(cuò)編碼方案的標(biāo)識(shí)、解碼閾值/柱 寬度(例如,對(duì)于第一數(shù)據(jù)條目,為3/5)、段安全性信息(例如,SEG_1 )、每切片的安全性信息 (例如,SLC_1)、和/或關(guān)于數(shù)據(jù)如何被編碼為數(shù)據(jù)切片的任何其他信息。
      [0137] 任務(wù)存儲(chǔ)信息表250包括任務(wù)標(biāo)識(shí)(ID)字段268、任務(wù)大小字段270、尋址信息字 段272、分布式存儲(chǔ)(DS)信息274,并可以進(jìn)一步包括關(guān)于任務(wù)、其被如何存儲(chǔ)和/或其能夠 被如何用于處理數(shù)據(jù)的其他信息。例如,DS編碼數(shù)據(jù)#2具有值為2的任務(wù)ID、值為XY的 任務(wù)大小、值為Addr_2_XY的尋址信息、以及值為3/5、SEG_2和SLC_2的DS參數(shù)。在該示 例中,尋址信息可以是與任務(wù)的第一存儲(chǔ)字(例如,一個(gè)或多個(gè)字節(jié))的虛擬地址相對(duì)應(yīng)的 虛擬地址以及與如何計(jì)算其他地址有關(guān)的信息,可以是任務(wù)的存儲(chǔ)字的虛擬地址、任務(wù)的 多個(gè)存儲(chǔ)字或第一存儲(chǔ)字的物理地址的范圍,可以是任務(wù)碼的編碼切片的切片名稱的列表 等等。DS參數(shù)可以包括差錯(cuò)編碼方案的標(biāo)識(shí)、解碼閾值/柱寬度(例如,對(duì)于第一數(shù)據(jù)條目, 為3/5)、段安全性信息(例如,SEG_2)、每切片的安全性信息(例如,SLC_2)、和/或關(guān)于任務(wù) 如何被編碼為編碼任務(wù)切片的任何其他信息。注意,段和/或每切片的安全性信息包括加 密類型(如果被使能的話)、壓縮類型(如果被使能的話)、加水印信息(如果被使能的話)、和 /或完整性校驗(yàn)方案(如果被使能的話)。
      [0138] 任務(wù)〈_>子任務(wù)映射信息表246包括任務(wù)字段256和子任務(wù)字段258。任務(wù)字 段256標(biāo)識(shí)分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)(DSTN)的存儲(chǔ)器中存儲(chǔ)的任務(wù),并且對(duì)應(yīng)的子任務(wù)字段 258指示任務(wù)是否包括子任務(wù),并且如果任務(wù)包括子任務(wù),則指示有多少子任務(wù)以及子任務(wù) 中的任一個(gè)是否被排序。在該示例中,任務(wù)〈_>子任務(wù)映射信息表246包括針對(duì)DSTN模塊 的存儲(chǔ)器中存儲(chǔ)的每個(gè)任務(wù)(例如,任務(wù)1至任務(wù)k)的條目。特別地,該示例指示:任務(wù)1 包括7個(gè)子任務(wù);任務(wù)2不包括子任務(wù);并且任務(wù)k包括數(shù)目r的子任務(wù)(其中,r是大于或 等于2的整數(shù))。
      [0139] DT執(zhí)行模塊表252包括DST執(zhí)行單元ID字段276、DT執(zhí)行模塊ID字段278和DT 執(zhí)行模塊能力字段280。DST執(zhí)行單元ID字段276包括DSTN模塊中的DST單元的標(biāo)識(shí)。 DT執(zhí)行模塊ID字段278包括每個(gè)DST單元中的每個(gè)DT執(zhí)行單元的標(biāo)識(shí)。例如,DST單元 1包括3個(gè)DT執(zhí)行模塊(例如,1_1、1_2和1_3)。DT執(zhí)行能力字段280包括對(duì)應(yīng)DT執(zhí)行單 元的能力的標(biāo)識(shí)。例如,DT執(zhí)行模塊1_1包括能力X,其中,X包括MIPS能力、處理資源(例 如,微處理器、CPU、數(shù)字信號(hào)處理器、協(xié)處理器、微控制器、算術(shù)邏輯電路和/或其他模擬和 /或數(shù)字處理電路的量或能力)、處理資源的可用性、存儲(chǔ)信息(例如類型、大小、可用性等) 和/或與執(zhí)行一個(gè)或多個(gè)任務(wù)有關(guān)的任何信息中的一個(gè)或多個(gè)。
      [0140] 從這些表,任務(wù)分布模塊232生成DST分配信息242以指示數(shù)據(jù)被存儲(chǔ)在何處、如 何對(duì)數(shù)據(jù)進(jìn)行分區(qū)、任務(wù)被存儲(chǔ)在何處、如何對(duì)任務(wù)進(jìn)行分區(qū)、哪些DT執(zhí)行單元應(yīng)當(dāng)對(duì)哪 些數(shù)據(jù)分區(qū)執(zhí)行哪些部分任務(wù)、要在何處以及如何存儲(chǔ)中間結(jié)果等等。如果正在對(duì)相同數(shù) 據(jù)或不同數(shù)據(jù)執(zhí)行多個(gè)任務(wù),則任務(wù)分布模塊把這種信息作為因素包括到其對(duì)DST分配信 息的生成中。
      [0141] 圖30是作為任務(wù)流程318的分布式計(jì)算系統(tǒng)對(duì)所存儲(chǔ)的數(shù)據(jù)執(zhí)行任務(wù)的具體示 例的圖。在該示例中,所選數(shù)據(jù)92是數(shù)據(jù)2,并且所選任務(wù)是任務(wù)1、2和3。任務(wù)1對(duì)應(yīng)于 分析數(shù)據(jù)從一種語(yǔ)言到另一種語(yǔ)言(例如,人類語(yǔ)言或計(jì)算機(jī)語(yǔ)言)的翻譯;任務(wù)2對(duì)應(yīng)于 在數(shù)據(jù)中找到具體詞和/或短語(yǔ);以及任務(wù)3對(duì)應(yīng)于在翻譯后的數(shù)據(jù)中找到具體的翻譯后 的詞和/或短語(yǔ)。
      [0142] 在該示例中,任務(wù)1包括7個(gè)子任務(wù);任務(wù)1_1--識(shí)別非詞(無(wú)序);任務(wù)1_2-- 識(shí)別唯一詞(無(wú)序);任務(wù)1_3--翻譯(無(wú)序);任務(wù)1_4--翻譯回去(在任務(wù)1_3后有序); 任務(wù)1_5--與ID差錯(cuò)比較(在任務(wù)1_4后有序);任務(wù)1_6--確定非詞翻譯差錯(cuò)(在任務(wù) 1_5和1_1后有序);以及任務(wù)1_7--確定正確翻譯(在1_5和1_2后有序)。子任務(wù)進(jìn)一 步指示它們是有序任務(wù)(即,依賴于另一任務(wù)的結(jié)果)還是無(wú)序的(即,不依賴于另一任務(wù)的 結(jié)果)。任務(wù)2不包括子任務(wù),并且任務(wù)3包括兩個(gè)子任務(wù):任務(wù)3_1,翻譯;以及任務(wù)3_2, 在翻譯后的數(shù)據(jù)中找到具體詞或短語(yǔ)。
      [0143] 一般地,三個(gè)任務(wù)共同被選擇以針對(duì)翻譯準(zhǔn)確度、翻譯差錯(cuò)、翻譯異常、具體詞或 短語(yǔ)在數(shù)據(jù)中的出現(xiàn)率和具體詞或短語(yǔ)在翻譯后的數(shù)據(jù)上的出現(xiàn)率來(lái)分析數(shù)據(jù)。以圖形方 式,將數(shù)據(jù)92翻譯306為翻譯后的數(shù)據(jù)282 ;針對(duì)具體詞和/或短語(yǔ)300來(lái)分析數(shù)據(jù)92以 產(chǎn)生具體詞和/或短語(yǔ)的列表286 ;針對(duì)非詞302 (例如,不在參考詞典中)來(lái)分析數(shù)據(jù)92 以產(chǎn)生非詞的列表290 ;以及針對(duì)數(shù)據(jù)92中包括的唯一詞316 (S卩,在數(shù)據(jù)中包括多少不同 詞)來(lái)分析數(shù)據(jù)92以產(chǎn)生唯一詞的列表298。這些任務(wù)中的每一個(gè)不依賴于彼此,且因此 能夠在期望時(shí)被并行處理。
      [0144] 針對(duì)具體的翻譯后的詞和/或短語(yǔ)304來(lái)分析翻譯后的數(shù)據(jù)282 (例如,子任務(wù) 3_2)以產(chǎn)生具體的翻譯后的詞和/或短語(yǔ)的列表。將翻譯后的數(shù)據(jù)282翻譯回308(例如, 子任務(wù)1_4)到原始數(shù)據(jù)的語(yǔ)言以產(chǎn)生重新翻譯的數(shù)據(jù)284。這兩個(gè)任務(wù)依賴于翻譯任務(wù) (例如,任務(wù)1_3),且因此必須在翻譯任務(wù)后有序,這可以按流水線排序或串行排序。然后, 將重新翻譯的數(shù)據(jù)284與原始數(shù)據(jù)92進(jìn)行比較310,以找到未合適翻譯(一種方式和/或另 一種方式)的詞和/或短語(yǔ),以便產(chǎn)生不正確翻譯的詞的列表294。由此,比較任務(wù)(例如, 任務(wù)1_5) 310在翻譯306后有序并且是重新翻譯任務(wù)308 (例如,子任務(wù)1_3和1_4)。
      [0145] 將不正確翻譯的詞的列表294與非詞的列表290進(jìn)行比較312,以識(shí)別由于詞是 非詞而未合適翻譯的詞,以便產(chǎn)生由于非詞而造成的差錯(cuò)的列表292。此外,將不正確翻譯 的詞的列表294與唯一詞的列表298進(jìn)行比較314,以識(shí)別未合適翻譯的唯一詞,以便產(chǎn)生 不正確翻譯的詞的列表296。該比較還可以識(shí)別未合適翻譯的唯一詞以產(chǎn)生未合適翻譯的 唯一詞的列表。注意,詞(例如具體詞和/或短語(yǔ)、非詞、唯一詞、翻譯后的詞和/或短語(yǔ)等) 的每個(gè)列表可以包括詞和/或短語(yǔ)、其被使用多少次、其被用在數(shù)據(jù)中的何處、和/或關(guān)于 詞和/或短語(yǔ)而請(qǐng)求的任何其他信息。
      [0146] 圖31是圖30的示例的存儲(chǔ)數(shù)據(jù)和任務(wù)碼的分布式存儲(chǔ)和任務(wù)處理網(wǎng)絡(luò)(DSTN) 模塊的示例的示意框圖。如所示,跨DST執(zhí)行單元1至5的存儲(chǔ)器(例如,存儲(chǔ)在存儲(chǔ)器88 中)將DS編碼數(shù)據(jù)2存儲(chǔ)為編碼數(shù)據(jù)切片;跨DST執(zhí)行單元1至5的存儲(chǔ)器將(任務(wù)1的) DS編碼任務(wù)碼1以及DS編碼任務(wù)3存儲(chǔ)為編碼任務(wù)切片;并且跨DST執(zhí)行單元3至7的 存儲(chǔ)器將(任務(wù)2的)DS編碼任務(wù)碼2存儲(chǔ)為編碼任務(wù)切片。如圖29的數(shù)據(jù)存儲(chǔ)信息表和 任務(wù)存儲(chǔ)信息表中所指示,相應(yīng)的數(shù)據(jù)/任務(wù)針對(duì)其解碼閾值/柱寬度具有值為3/5的DS 參數(shù);因此跨越5個(gè)DST執(zhí)行單元的存儲(chǔ)器。
      [0147] 圖32是圖30的示例的分布式存儲(chǔ)和任務(wù)(DST)分配信息242的示例的圖。DST 分配信息242包括數(shù)據(jù)分區(qū)信息320、任務(wù)執(zhí)行信息322和中間結(jié)果信息324。數(shù)據(jù)分區(qū)信 息320包括數(shù)據(jù)標(biāo)識(shí)符(ID)、要將數(shù)據(jù)分割為的分區(qū)的數(shù)目、每個(gè)數(shù)據(jù)分區(qū)的地址信息、以 及是否必須將DS編碼數(shù)據(jù)從柱成組變換為切片成組。任務(wù)執(zhí)行信息322包括表格信息,該 表格信息具有任務(wù)標(biāo)識(shí)字段326、任務(wù)排序字段328、數(shù)據(jù)分區(qū)字段ID 330和DT執(zhí)行模塊 集合332以用于每數(shù)據(jù)分區(qū)的分布式任務(wù)處理。中間結(jié)果信息324包括表格信息,該表格 信息具有名稱ID字段334、被指派以處理對(duì)應(yīng)的中間結(jié)果336的DST執(zhí)行單元的ID、便箋 式存儲(chǔ)字段338和中間結(jié)果存儲(chǔ)字段340。
      [0148] 繼續(xù)至圖30的示例,其中要對(duì)數(shù)據(jù)2分布式地執(zhí)行任務(wù)1至3,數(shù)據(jù)分區(qū)信息包括 數(shù)據(jù)2的ID。此外,任務(wù)分布模塊確定DS編碼數(shù)據(jù)2是否具有用于分布式計(jì)算的合適格 式(例如,被存儲(chǔ)為切片成組)。如果否,則任務(wù)分布模塊指示需要將DS編碼數(shù)據(jù)2格式從 柱成組格式改變?yōu)榍衅山M格式,這將由DSTN模塊完成。此外,任務(wù)分布模塊確定要將數(shù) 據(jù)劃分為的分區(qū)的數(shù)目(例如,2_1至2_z)以及每個(gè)分區(qū)的尋址信息。
      [0149] 任務(wù)分布模塊在任務(wù)執(zhí)行信息部中生成針對(duì)要執(zhí)行的每個(gè)子任務(wù)的條目。例如, 任務(wù)1_1 (例如,識(shí)別數(shù)據(jù)上的非詞)不具有任務(wù)排序(即,不依賴于其他子任務(wù)的結(jié)果), 要由DT執(zhí)行模塊1_1、2_1、3_1、4_1和5_1對(duì)數(shù)據(jù)分區(qū)2_1至2_z執(zhí)行。例如,DT執(zhí)行模 塊1_1、2_1、3_1、4_1和5_1在數(shù)據(jù)分區(qū)2_1至2_z中搜索非詞,以產(chǎn)生任務(wù)1_1中間結(jié)果 (R1-1,其為非詞的列表)。任務(wù)1_2 (例如,識(shí)別唯一詞)具有與任務(wù)1_1類似的任務(wù)執(zhí)行信 息,以產(chǎn)生任務(wù)1_2中間結(jié)果(R1-2,其為唯一詞的列表)。
      [0150] 任務(wù)1_3(例如,翻譯)包括無(wú)序(S卩,不依賴)的任務(wù)執(zhí)行信息,使DT執(zhí)行模塊1_1、 2_1、3_1、4_1和5_1翻譯數(shù)據(jù)分區(qū)2_1至2_4并使DT執(zhí)行模塊1_2、2_2、3_2、4_2和5_2翻 譯數(shù)據(jù)分區(qū)2_5至2_z,以產(chǎn)生任務(wù)1_3中間結(jié)果(R1-3,其為翻譯后的數(shù)據(jù))。在該示例中, 對(duì)數(shù)據(jù)分區(qū)進(jìn)行成組,其中,DT執(zhí)行模塊的不同集合對(duì)每個(gè)數(shù)據(jù)分區(qū)組執(zhí)行分布式子任務(wù) (或任務(wù)),這允許進(jìn)一步并行的處理。
      [0151] 任務(wù)1_4 (例如,翻譯回去)在任務(wù)1_3后有序,且要對(duì)任務(wù)1_3的中間結(jié)果(例如, Rl-3_1)(例如,翻譯后的數(shù)據(jù))執(zhí)行。DT執(zhí)行模塊1_1、2_1、3_1、4_1和5_1被分配以將任 務(wù)1_3中間結(jié)果分區(qū)Rl-3_1至Rl-3_4翻譯回去,并且DT執(zhí)行模塊1_2、2_2、6_1、7_1和 7_2被分配以將任務(wù)1_3中間結(jié)果分區(qū)Rl-3_5至Rl-3_z翻譯回去,以產(chǎn)生任務(wù)1_4中間結(jié) 果(R1-4,其為翻譯回去的數(shù)據(jù))。
      [0152] 任務(wù)1_5 (例如,將數(shù)據(jù)和翻譯后的數(shù)據(jù)進(jìn)行比較以識(shí)別翻譯差錯(cuò))在任務(wù)1_4后 有序,且要對(duì)任務(wù)1_4的中間結(jié)果(R3-1)以及對(duì)數(shù)據(jù)執(zhí)行。DT執(zhí)行模塊1_1、2_1、3_1、4_1 和5_1被分配以將數(shù)據(jù)分區(qū)(2_1至2_z)與任務(wù)1_4中間結(jié)果分區(qū)Rl-4_1至Rl-4_z的分 區(qū)進(jìn)行比較,以產(chǎn)生任務(wù)1_5中間結(jié)果(R1-5,其為不正確翻譯的詞的列表)。
      [0153] 任務(wù)1_6 (例如,確定非詞翻譯差錯(cuò))在任務(wù)1_1和1_5后有序,且要對(duì)任務(wù)1_1 和1_5的中間結(jié)果(R1-1和R1-5)執(zhí)行。DT執(zhí)行模塊1_1、2_1、3_1、4_1和5_1被分配以將 任務(wù)1_1中間結(jié)果(Rl-l_l至Rl-l_z)的分區(qū)與任務(wù)1_5中間結(jié)果分區(qū)(Rl-5j至Rl-5_ z)的分區(qū)進(jìn)行比較,以產(chǎn)生任務(wù)1_6中間結(jié)果(R1-6,其為由于非詞而造成的翻譯差錯(cuò)的列 表)。
      [0154] 任務(wù)1_7 (例如,確定正確翻譯的詞)在任務(wù)1_2和1_5后有序,且要對(duì)任務(wù)1_2和 1_5的中間結(jié)果(R1-1和R1-5)執(zhí)行。DT執(zhí)行模塊1_2、2_2、3_2、4_2和5_2被分配以將任 務(wù)1_2中間結(jié)果(Rl-2_1至Rl-2_z)的分區(qū)與任務(wù)1_5中間結(jié)果分區(qū)(Rl-5_1至Rl-5_z) 的分區(qū)進(jìn)行比較,以產(chǎn)生任務(wù)1_7中間結(jié)果(R1-7,其為正確翻譯的詞的列表)。
      [0155] 任務(wù)2 (例如,找到具體詞和/或短語(yǔ))不具有任務(wù)排序(S卩,不依賴于其他子任務(wù) 的結(jié)果),要由DT執(zhí)行模塊3_1、4_1、5_1、6_1和7_1對(duì)數(shù)據(jù)分區(qū)2_1至2_z執(zhí)行。例如,DT 執(zhí)行模塊3_1、4_1、5_1、6_1和7_1在數(shù)據(jù)分區(qū)2_1至2_z中搜索具體詞和/或短語(yǔ),以產(chǎn) 生任務(wù)2中間結(jié)果(R2,其為具體詞和/或短語(yǔ)的列表)。
      [0156] 任務(wù)3_2 (例如,找到具體的翻譯后的詞和/或短語(yǔ))在任務(wù)1_3 (例如,翻譯)后有 序,要由1_2、2_2、3_2、4_2和5_2對(duì)分區(qū)Rl-3_1至Rl-3_z執(zhí)行。例如,DT執(zhí)行模塊1_2、 2_2、3_2、4_2和5_2在翻譯后的數(shù)據(jù)的分區(qū)(Rl-3_1至Rl-3_z)中搜索具體的翻譯后的詞 和/或短語(yǔ),以產(chǎn)生任務(wù)3_2中間結(jié)果(R3-2其為具體的翻譯后的詞和/或短語(yǔ)的列表)。
      [0157] 對(duì)于每個(gè)任務(wù),中間結(jié)果信息指示哪個(gè)DST單元負(fù)責(zé)監(jiān)督任務(wù)的執(zhí)行且在需要時(shí) 處理由所分配的DT執(zhí)行單元的集合生成的部分結(jié)果。此外,中間結(jié)果信息指示任務(wù)的便箋 式存儲(chǔ)器以及對(duì)應(yīng)的中間結(jié)果要被存儲(chǔ)在何處。例如,對(duì)于中間結(jié)果R1-1 (任務(wù)1_1的中 間結(jié)果),DST單元1負(fù)責(zé)監(jiān)督任務(wù)1_1的執(zhí)行并協(xié)調(diào)中間結(jié)果作為DST執(zhí)行單元1至5的 存儲(chǔ)器中存儲(chǔ)的編碼中間結(jié)果切片的存儲(chǔ)。一般地,便箋用于存儲(chǔ)非DS編碼的中間結(jié)果, 并且中間結(jié)果存儲(chǔ)器用于存儲(chǔ)DS編碼的中間結(jié)果。
      [0158] 圖33至38是執(zhí)行圖30的示例的分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)(DSTN)模塊的示意框 圖。在圖33中,DSTN模塊訪問(wèn)數(shù)據(jù)92,并根據(jù)分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)(DST)分配信息將其 分區(qū)為多個(gè)分區(qū)1至z。對(duì)于每個(gè)數(shù)據(jù)分區(qū),DSTN識(shí)別其DT (分布式任務(wù))執(zhí)行模塊90的 集合以根據(jù)DST分配信息來(lái)執(zhí)行任務(wù)(例如,識(shí)別非詞(S卩,不在參考詞典中))。從數(shù)據(jù)分區(qū) 到數(shù)據(jù)分區(qū),DT執(zhí)行模塊90的集合可以相同、不同或其組合(例如,一些數(shù)據(jù)分區(qū)使用相同 集合,而其他數(shù)據(jù)分區(qū)使用不同集合)。
      [0159] 對(duì)于第一數(shù)據(jù)分區(qū),DT執(zhí)行模塊的第一集合(例如,按照?qǐng)D32的DST分配信息, 1_1、2_1、3_1、4_1和5_1)執(zhí)行任務(wù)1_1,以產(chǎn)生在第二數(shù)據(jù)分區(qū)中找到的非詞的第二部分 結(jié)果102。DT執(zhí)行模塊的集合(按照DST分配信息)對(duì)數(shù)據(jù)分區(qū)執(zhí)行任務(wù)1_1,直到DT執(zhí)行 模塊的"z"集合對(duì)"第z"數(shù)據(jù)分區(qū)執(zhí)行任務(wù)1_1以產(chǎn)生在"第z"數(shù)據(jù)分區(qū)中找到的非詞 的"第z"部分結(jié)果102。
      [0160] 如圖32的DST分配信息中所指示,DST執(zhí)行單元1被指派以處理第一至"第z"部 分結(jié)果,以便產(chǎn)生第一中間結(jié)果(R1-1),其為在數(shù)據(jù)中找到的非詞的列表。例如,DT執(zhí)行模 塊90的每個(gè)集合將其相應(yīng)的部分結(jié)果存儲(chǔ)在DST執(zhí)行單元1的便箋式存儲(chǔ)器(其是在DST 分配中識(shí)別的或可以由DST執(zhí)行單元1確定)中。DST執(zhí)行1的處理模塊被任命以積聚第 一至"第z"部分結(jié)果,以便產(chǎn)生第一中間結(jié)果(例如,Rl_l)。該處理模塊將第一中間結(jié)果 作為非DS差錯(cuò)編碼的數(shù)據(jù)存儲(chǔ)在便箋式存儲(chǔ)器中或存儲(chǔ)在DST執(zhí)行單元1的存儲(chǔ)器的另 一扇區(qū)中。
      [0161] DST執(zhí)行單元1任命其DST客戶端模塊以基于切片成組來(lái)對(duì)第一中間結(jié)果(例如, 非詞的列表)進(jìn)行DS差錯(cuò)編碼。為了開(kāi)始該編碼,DST客戶端模塊確定非詞的列表是否具 有足以分區(qū)的大小(例如,大于太字節(jié))。如果是,則其將第一中間結(jié)果(R1-1)分區(qū)為多個(gè)分 區(qū)(例如,Rl-l_l至Rl-l_m)。如果第一中間結(jié)果不具有足以分區(qū)的大小,則其不被分區(qū)。
      [0162] 對(duì)于第一中間結(jié)果的每個(gè)分區(qū)或者對(duì)于第一中間結(jié)果,DST客戶端模塊使用數(shù)據(jù) 的DS差錯(cuò)編碼參數(shù)(例如,數(shù)據(jù)2的DS參數(shù),其包括3/5解碼閾值/柱寬度比)來(lái)產(chǎn)生切片 成組。切片成組被存儲(chǔ)在中間結(jié)果存儲(chǔ)器(例如,DST執(zhí)行單元1至5的存儲(chǔ)器中分配的存 儲(chǔ)器)中。
      [0163] 在圖34中,DSTN模塊對(duì)數(shù)據(jù)92執(zhí)行任務(wù)1_2 (例如,找到唯一詞)。為了開(kāi)始, DSTN模塊訪問(wèn)數(shù)據(jù)92,并根據(jù)DST分配信息將其分區(qū)為多個(gè)分區(qū)1至z,或者如果分區(qū)相 同,則其可以使用任務(wù)1_1的數(shù)據(jù)分區(qū)。對(duì)于每個(gè)數(shù)據(jù)分區(qū),DSTN識(shí)別其DT執(zhí)行模塊的集 合以根據(jù)DST分配信息來(lái)執(zhí)行任務(wù)1_2。從數(shù)據(jù)分區(qū)到數(shù)據(jù)分區(qū),DT執(zhí)行模塊的集合可以 相同、不同或其組合。對(duì)于數(shù)據(jù)分區(qū),DT執(zhí)行模塊的所分配的集合執(zhí)行任務(wù)1_2以產(chǎn)生在 數(shù)據(jù)分區(qū)中找到的唯一詞的部分結(jié)果(例如,第1至"第z")。
      [0164] 如圖32的DST分配信息中所指示,DST執(zhí)行單元1被指派以處理任務(wù)1_2的第一 至"第z"部分結(jié)果,以便產(chǎn)生第二中間結(jié)果(R1-2),其為在數(shù)據(jù)92中找到的唯一詞的列表。 DST執(zhí)行1的處理模塊被任命以積聚唯一詞的第一至"第z"部分結(jié)果,以便產(chǎn)生第二中間 結(jié)果。該處理模塊將第二中間結(jié)果作為非DS差錯(cuò)編碼的數(shù)據(jù)存儲(chǔ)在便箋式存儲(chǔ)器中或存 儲(chǔ)在DST執(zhí)行單元1的存儲(chǔ)器的另一扇區(qū)中。
      [0165] DST執(zhí)行單元1任命其DST客戶端模塊以基于切片成組來(lái)對(duì)第二中間結(jié)果(例如, 非詞的列表)進(jìn)行DS差錯(cuò)編碼。為了開(kāi)始該編碼,DST客戶端模塊確定唯一詞的列表是否 具有足以分區(qū)的大小(例如,大于太字節(jié))。如果是,則其將第二中間結(jié)果(R1-2)分區(qū)為多 個(gè)分區(qū)(例如,Rl-2_1至Rl-2_m)。如果第二中間結(jié)果不具有足以分區(qū)的大小,則其不被分 區(qū)。
      [0166] 對(duì)于第二中間結(jié)果的每個(gè)分區(qū)或者對(duì)于第二中間結(jié)果,DST客戶端模塊使用數(shù)據(jù) 的DS差錯(cuò)編碼參數(shù)(例如,數(shù)據(jù)2的DS參數(shù),其包括3/5解碼閾值/柱寬度比)來(lái)產(chǎn)生切片 成組。切片成組被存儲(chǔ)在中間結(jié)果存儲(chǔ)器(例如,DST執(zhí)行單元1至5的存儲(chǔ)器中分配的存 儲(chǔ)器)中。
      [0167] 在圖35中,DSTN模塊對(duì)數(shù)據(jù)92執(zhí)行任務(wù)1_3 (例如,翻譯)。為了開(kāi)始,DSTN模 塊訪問(wèn)數(shù)據(jù)92,并根據(jù)DST分配信息將其分區(qū)為多個(gè)分區(qū)1至z,或者如果分區(qū)相同,則其 可以使用任務(wù)1_1的數(shù)據(jù)分區(qū)。對(duì)于每個(gè)數(shù)據(jù)分區(qū),DSTN識(shí)別其DT執(zhí)行模塊的集合以根 據(jù)DST分配信息來(lái)執(zhí)行任務(wù)1_3 (例如,DT執(zhí)行模塊1_1、2_1、3_1、4_1和5_1翻譯數(shù)據(jù)分 區(qū)2_1至2_4,并且DT執(zhí)行模塊1_2、2_2、3_2、4_2和5_2翻譯數(shù)據(jù)分區(qū)2_5至2_z)。對(duì)于 數(shù)據(jù)分區(qū),DT執(zhí)行模塊90的所分配的集合執(zhí)行任務(wù)1_3以產(chǎn)生翻譯后的數(shù)據(jù)的部分結(jié)果 102 (例如,第1至"第z")。
      [0168] 如圖32的DST分配信息中所指示,DST執(zhí)行單元2被指派以處理任務(wù)1_3的第一 至"第z"部分結(jié)果,以便產(chǎn)生第三中間結(jié)果(R1-3),其為翻譯后的數(shù)據(jù)。DST執(zhí)行2的處理 模塊被任命以積聚翻譯后的數(shù)據(jù)的第一至"第z"部分結(jié)果,以便產(chǎn)生第三中間結(jié)果。該處 理模塊將第三中間結(jié)果作為非DS差錯(cuò)編碼的數(shù)據(jù)存儲(chǔ)在便箋式存儲(chǔ)器中或存儲(chǔ)在DST執(zhí) 行單元2的存儲(chǔ)器的另一扇區(qū)中。
      [0169] DST執(zhí)行單元2任命其DST客戶端模塊以基于切片成組來(lái)對(duì)第三中間結(jié)果(例如, 翻譯后的數(shù)據(jù))進(jìn)行DS差錯(cuò)編碼。為了開(kāi)始該編碼,DST客戶端模塊將第三中間結(jié)果(R1-3) 分區(qū)為多個(gè)分區(qū)(例如,Rl-3_1至Rl-3_y)。對(duì)于第三中間結(jié)果的每個(gè)分區(qū),DST客戶端模 塊使用數(shù)據(jù)的DS差錯(cuò)編碼參數(shù)(例如,數(shù)據(jù)2的DS參數(shù),其包括3/5解碼閾值/柱寬度比) 來(lái)產(chǎn)生切片成組。切片成組被存儲(chǔ)在中間結(jié)果存儲(chǔ)器(例如,DST執(zhí)行單元2至6的存儲(chǔ)器 中按照DST分配信息分配的存儲(chǔ)器)中。
      [0170] 如圖35中進(jìn)一步所示,DSTN模塊對(duì)第三中間結(jié)果的翻譯后的數(shù)據(jù)執(zhí)行任務(wù)1_4 (例如,重新翻譯)。為了開(kāi)始,DSTN模塊訪問(wèn)翻譯后的數(shù)據(jù)(從便箋式存儲(chǔ)器或從中間結(jié)果 存儲(chǔ)器,并對(duì)其進(jìn)行解碼),并根據(jù)DST分配信息將其分區(qū)為多個(gè)分區(qū)。對(duì)于第三中間結(jié)果 的每個(gè)分區(qū),DSTN識(shí)別其DT執(zhí)行模塊90的集合以根據(jù)DST分配信息來(lái)執(zhí)行任務(wù)1_4 (例 如,DT執(zhí)行模塊1_1、2_1、3_1、4_1和5_1被分配以將分區(qū)Rl-3_1至Rl-3_4翻譯回去,并 且DT執(zhí)行模塊1_2、2_2、6_1、7_1和7_2被分配以將分區(qū)Rl-3_5至Rl-3_z翻譯回去)。對(duì) 于分區(qū),DT執(zhí)行模塊的所分配的集合執(zhí)行任務(wù)1_4以產(chǎn)生重新翻譯的數(shù)據(jù)的部分結(jié)果102 (例如,第1至"第Z")。
      [0171] 如圖32的DST分配信息中所指示,DST執(zhí)行單元3被指派以處理任務(wù)1_4的第一 至"第z"部分結(jié)果,以便產(chǎn)生第四中間結(jié)果(R1-4),其為重新翻譯的數(shù)據(jù)。DST執(zhí)行3的處 理模塊被任命以積聚重新翻譯的數(shù)據(jù)的第一至"第z"部分結(jié)果,以便產(chǎn)生第四中間結(jié)果。該 處理模塊將第四中間結(jié)果作為非DS差錯(cuò)編碼的數(shù)據(jù)存儲(chǔ)在便箋式存儲(chǔ)器中或存儲(chǔ)在DST 執(zhí)行單元3的存儲(chǔ)器的另一扇區(qū)中。
      [0172] DST執(zhí)行單元3任命其DST客戶端模塊以基于切片成組來(lái)對(duì)第四中間結(jié)果(例如, 重新翻譯的數(shù)據(jù))進(jìn)行DS差錯(cuò)編碼。為了開(kāi)始該編碼,DST客戶端模塊將第四中間結(jié)果 (R1-4)分區(qū)為多個(gè)分區(qū)(例如,Rl-4_1至Rl-4_z)。對(duì)于第四中間結(jié)果的每個(gè)分區(qū),DST客 戶端模塊使用數(shù)據(jù)的DS差錯(cuò)編碼參數(shù)(例如,數(shù)據(jù)2的DS參數(shù),其包括3/5解碼閾值/柱 寬度比)來(lái)產(chǎn)生切片成組。切片成組被存儲(chǔ)在中間結(jié)果存儲(chǔ)器(例如,DST執(zhí)行單元3至7 的存儲(chǔ)器中按照DST分配信息分配的存儲(chǔ)器)中。
      [0173] 在圖36中,分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)(DSTN)模塊對(duì)數(shù)據(jù)92和圖35的重新翻譯的 數(shù)據(jù)執(zhí)行任務(wù)1_5 (例如,比較)。為了開(kāi)始,DSTN模塊訪問(wèn)數(shù)據(jù)92,并根據(jù)DST分配信息 將其分區(qū)為多個(gè)分區(qū),或者如果分區(qū)相同,則其可以使用任務(wù)1_1的數(shù)據(jù)分區(qū)。DSTN模塊 還從便箋式存儲(chǔ)器或從中間結(jié)果存儲(chǔ)器訪問(wèn)重新翻譯的數(shù)據(jù),并對(duì)其進(jìn)行解碼,并根據(jù)DST 分配信息將其分區(qū)為多個(gè)分區(qū)。重新翻譯的數(shù)據(jù)的分區(qū)的數(shù)目對(duì)應(yīng)于數(shù)據(jù)的分區(qū)的數(shù)目。
      [0174] 對(duì)于每對(duì)分區(qū)(例如,數(shù)據(jù)分區(qū)1和重新翻譯的數(shù)據(jù)分區(qū)1),DSTN識(shí)別其DT執(zhí)行 模塊90的集合以根據(jù)DST分配信息來(lái)執(zhí)行任務(wù)1_5 (例如,DT執(zhí)行模塊1_1、2_1、3_1、4_1 和5_1)。對(duì)于每對(duì)分區(qū),DT執(zhí)行模塊的所分配的集合執(zhí)行任務(wù)1_5以產(chǎn)生不正確翻譯的詞 和/或短語(yǔ)的列表的部分結(jié)果102 (例如,第1至"第z")。
      [0175] 如圖32的DST分配信息中所指示,DST執(zhí)行單元1被指派以處理任務(wù)1_5的第一 至"第z"部分結(jié)果,以便產(chǎn)生第五中間結(jié)果(R1-5),其為不正確翻譯的詞和/或短語(yǔ)的列 表。特別地,DST執(zhí)行1的處理模塊被任命以積聚不正確翻譯的詞和/或短語(yǔ)的列表的第 一至"第z"部分結(jié)果,以便產(chǎn)生第五中間結(jié)果。該處理模塊將第五中間結(jié)果作為非DS差錯(cuò) 編碼的數(shù)據(jù)存儲(chǔ)在便箋式存儲(chǔ)器中或存儲(chǔ)在DST執(zhí)行單元1的存儲(chǔ)器的另一扇區(qū)中。
      [0176] DST執(zhí)行單元1任命其DST客戶端模塊以基于切片成組來(lái)對(duì)第五中間結(jié)果進(jìn)行DS 差錯(cuò)編碼。為了開(kāi)始該編碼,DST客戶端模塊將第五中間結(jié)果(R1-5)分區(qū)為多個(gè)分區(qū)(例 如,Rl-5_1至Rl-5_z)。對(duì)于第五中間結(jié)果的每個(gè)分區(qū),DST客戶端模塊使用數(shù)據(jù)的DS差 錯(cuò)編碼參數(shù)(例如,數(shù)據(jù)2的DS參數(shù),其包括3/5解碼閾值/柱寬度比)來(lái)產(chǎn)生切片成組。 切片成組被存儲(chǔ)在中間結(jié)果存儲(chǔ)器(例如,DST執(zhí)行單元1至5的存儲(chǔ)器中按照DST分配信 息分配的存儲(chǔ)器)中。
      [0177] 如圖36中進(jìn)一步所示,DSTN模塊對(duì)不正確翻譯的詞和/或短語(yǔ)的列表(例如,第 五中間結(jié)果R1-5)和非詞的列表(例如,第一中間結(jié)果R1-1)執(zhí)行任務(wù)1_6 (例如,由于非詞 而造成的翻譯差錯(cuò))。為了開(kāi)始,DSTN模塊訪問(wèn)列表并將其分區(qū)為對(duì)應(yīng)數(shù)目的分區(qū)。
      [0178] 對(duì)于每對(duì)分區(qū)(例如,分區(qū)Rl_l_l和分區(qū)Rl_5_l ),DSTN識(shí)別其DT執(zhí)行模塊90的 集合以根據(jù)DST分配信息來(lái)執(zhí)行任務(wù)1_6 (例如,DT執(zhí)行模塊1_1、2_1、3_1、4_1和5_1)。 對(duì)于每對(duì)分區(qū),DT執(zhí)行模塊的所分配的集合執(zhí)行任務(wù)1_6以產(chǎn)生由于非詞而造成的不正確 翻譯的詞和/或短語(yǔ)的列表的部分結(jié)果102 (例如,第1至"第z")。
      [0179] 如圖32的DST分配信息中所指示,DST執(zhí)行單元2被指派以處理任務(wù)1_6的第一 至"第z"部分結(jié)果,以便產(chǎn)生第六中間結(jié)果(R1-6),其為由于非詞而造成的不正確翻譯的 詞和/或短語(yǔ)的列表。特別地,DST執(zhí)行2的處理模塊被任命以積聚由于非詞而造成的不 正確翻譯的詞和/或短語(yǔ)的列表的第一至"第z"部分結(jié)果,以便產(chǎn)生第六中間結(jié)果。該處 理模塊將第六中間結(jié)果作為非DS差錯(cuò)編碼的數(shù)據(jù)存儲(chǔ)在便箋式存儲(chǔ)器中或存儲(chǔ)在DST執(zhí) 行單元1的存儲(chǔ)器的另一扇區(qū)中。
      [0180] DST執(zhí)行單元2任命其DST客戶端模塊以基于切片成組來(lái)對(duì)第六中間結(jié)果進(jìn)行DS 差錯(cuò)編碼。為了開(kāi)始該編碼,DST客戶端模塊將第六中間結(jié)果(R1-6)分區(qū)為多個(gè)分區(qū)(例 如,Rl-6_1至Rl-6_z)。對(duì)于第六中間結(jié)果的每個(gè)分區(qū),DST客戶端模塊使用數(shù)據(jù)的DS差 錯(cuò)編碼參數(shù)(例如,數(shù)據(jù)2的DS參數(shù),其包括3/5解碼閾值/柱寬度比)來(lái)產(chǎn)生切片成組。 切片成組被存儲(chǔ)在中間結(jié)果存儲(chǔ)器(例如,DST執(zhí)行單元2至6的存儲(chǔ)器中按照DST分配信 息分配的存儲(chǔ)器)中。
      [0181] 如圖36中仍進(jìn)一步所示,DSTN模塊對(duì)不正確翻譯的詞和/或短語(yǔ)的列表(例如, 第五中間結(jié)果R1-5)和唯一詞的列表(例如,第二中間結(jié)果R1-2)執(zhí)行任務(wù)1_7 (例如,不正 確翻譯的詞和/或短語(yǔ))。為了開(kāi)始,DSTN模塊訪問(wèn)列表并將其分區(qū)為對(duì)應(yīng)數(shù)目的分區(qū)。
      [0182] 對(duì)于每對(duì)分區(qū)(例如,分區(qū)Rl_2_l和分區(qū)R1-5_1),DSTN識(shí)別其DT執(zhí)行模塊90的 集合以根據(jù)DST分配信息來(lái)執(zhí)行任務(wù)1_7 (例如,DT執(zhí)行模塊1_2、2_2、3_2、4_2和5_2)。 對(duì)于每對(duì)分區(qū),DT執(zhí)行模塊的所分配的集合執(zhí)行任務(wù)1_7以產(chǎn)生不正確翻譯的詞和/或短 語(yǔ)的列表的部分結(jié)果102 (例如,第1至"第z")。
      [0183] 如圖32的DST分配信息中所指示,DST執(zhí)行單元3被指派以處理任務(wù)1_7的第一 至"第z"部分結(jié)果,以便產(chǎn)生第七中間結(jié)果(R1-7),其為不正確翻譯的詞和/或短語(yǔ)的列 表。特別地,DST執(zhí)行3的處理模塊被任命以積聚不正確翻譯的詞和/或短語(yǔ)的列表的第 一至"第z"部分結(jié)果,以便產(chǎn)生第七中間結(jié)果。該處理模塊將第七中間結(jié)果作為非DS差錯(cuò) 編碼的數(shù)據(jù)存儲(chǔ)在便箋式存儲(chǔ)器中或存儲(chǔ)在DST執(zhí)行單元3的存儲(chǔ)器的另一扇區(qū)中。
      [0184] DST執(zhí)行單元3任命其DST客戶端模塊以基于切片成組來(lái)對(duì)第七中間結(jié)果進(jìn)行DS 差錯(cuò)編碼。為了開(kāi)始該編碼,DST客戶端模塊將第七中間結(jié)果(R1-7)分區(qū)為多個(gè)分區(qū)(例 如,Rl-7_1至Rl-7_z)。對(duì)于第七中間結(jié)果的每個(gè)分區(qū),DST客戶端模塊使用數(shù)據(jù)的DS差 錯(cuò)編碼參數(shù)(例如,數(shù)據(jù)2的DS參數(shù),其包括3/5解碼閾值/柱寬度比)來(lái)產(chǎn)生切片成組。 切片成組被存儲(chǔ)在中間結(jié)果存儲(chǔ)器(例如,DST執(zhí)行單元3至7的存儲(chǔ)器中按照DST分配信 息分配的存儲(chǔ)器)中。
      [0185] 在圖37中,分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)(DSTN)模塊對(duì)數(shù)據(jù)92執(zhí)行任務(wù)2 (例如,找到 具體詞和/或短語(yǔ))。為了開(kāi)始,DSTN模塊訪問(wèn)數(shù)據(jù),并根據(jù)DST分配信息將其分區(qū)為多個(gè) 分區(qū)1至z,或者如果分區(qū)相同,則其可以使用任務(wù)1_1的數(shù)據(jù)分區(qū)。對(duì)于每個(gè)數(shù)據(jù)分區(qū), DSTN識(shí)別其DT執(zhí)行模塊90的集合以根據(jù)DST分配信息來(lái)執(zhí)行任務(wù)2。從數(shù)據(jù)分區(qū)到數(shù)據(jù) 分區(qū),DT執(zhí)行模塊的集合可以相同、不同或其組合。對(duì)于數(shù)據(jù)分區(qū),DT執(zhí)行模塊的所分配 的集合執(zhí)行任務(wù)2以產(chǎn)生在數(shù)據(jù)分區(qū)中找到的具體詞和/或短語(yǔ)的部分結(jié)果(例如,第1至 "第 z")。
      [0186] 如圖32的DST分配信息中所指示,DST執(zhí)行單元7被指派以處理任務(wù)2的第一至 "第z"部分結(jié)果,以便產(chǎn)生任務(wù)2中間結(jié)果(R2),其為在數(shù)據(jù)中找到的具體詞和/或短語(yǔ)的 列表。DST執(zhí)行7的處理模塊被任命以積聚具體詞和/或短語(yǔ)的第一至"第z"部分結(jié)果, 以便產(chǎn)生任務(wù)2中間結(jié)果。該處理模塊將任務(wù)2中間結(jié)果作為非DS差錯(cuò)編碼的數(shù)據(jù)存儲(chǔ) 在便箋式存儲(chǔ)器中或存儲(chǔ)在DST執(zhí)行單元7的存儲(chǔ)器的另一扇區(qū)中。
      [0187] DST執(zhí)行單元7任命其DST客戶端模塊以基于切片成組來(lái)對(duì)任務(wù)2中間結(jié)果進(jìn)行 DS差錯(cuò)編碼。為了開(kāi)始該編碼,DST客戶端模塊確定具體詞和/或短語(yǔ)的列表是否具有足 以分區(qū)的大小(例如,大于太字節(jié))。如果是,則其將任務(wù)2中間結(jié)果(R2)分區(qū)為多個(gè)分區(qū) (例如,R2_l至R2_m)。如果任務(wù)2中間結(jié)果不具有足以分區(qū)的大小,則其不被分區(qū)。
      [0188] 對(duì)于任務(wù)2中間結(jié)果的每個(gè)分區(qū)或者對(duì)于任務(wù)2中間結(jié)果,DST客戶端模塊使用 數(shù)據(jù)的DS差錯(cuò)編碼參數(shù)(例如,數(shù)據(jù)2的DS參數(shù),其包括3/5解碼閾值/柱寬度比)來(lái)產(chǎn)生 切片成組。切片成組被存儲(chǔ)在中間結(jié)果存儲(chǔ)器(例如,DST執(zhí)行單元1至4和7的存儲(chǔ)器中 分配的存儲(chǔ)器)中。
      [0189] 在圖38中,分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)(DSTN)模塊對(duì)翻譯后的數(shù)據(jù)(R1-3)執(zhí)行任務(wù) 3 (例如,找到具體的翻譯后的詞和/或短語(yǔ))。為了開(kāi)始,DSTN模塊訪問(wèn)翻譯后的數(shù)據(jù)(從 便箋式存儲(chǔ)器或從中間結(jié)果存儲(chǔ)器,并對(duì)其進(jìn)行解碼),并根據(jù)DST分配信息將其分區(qū)為多 個(gè)分區(qū)。對(duì)于每個(gè)分區(qū),DSTN識(shí)別其DT執(zhí)行模塊的集合以根據(jù)DST分配信息來(lái)執(zhí)行任務(wù) 3。從分區(qū)到分區(qū),DT執(zhí)行模塊的集合可以相同、不同或其組合。對(duì)于分區(qū),DT執(zhí)行模塊90 的所分配的集合執(zhí)行任務(wù)3以產(chǎn)生在數(shù)據(jù)分區(qū)中找到的具體的翻譯后的詞和/或短語(yǔ)的部 分結(jié)果102 (例如,第1至"第z")。
      [0190] 如圖32的DST分配信息中所指示,DST執(zhí)行單元5被指派以處理任務(wù)3的第一至 "第z"部分結(jié)果,以便產(chǎn)生任務(wù)3中間結(jié)果(R3),其為在翻譯后的數(shù)據(jù)中找到的具體的翻譯 后的詞和/或短語(yǔ)的列表。特別地,DST執(zhí)行5的處理模塊被任命以積聚具體的翻譯后的 詞和/或短語(yǔ)的第一至"第z"部分結(jié)果,以便產(chǎn)生任務(wù)3中間結(jié)果。該處理模塊將任務(wù)3 中間結(jié)果作為非DS差錯(cuò)編碼的數(shù)據(jù)存儲(chǔ)在便箋式存儲(chǔ)器中或存儲(chǔ)在DST執(zhí)行單元7的存 儲(chǔ)器的另一扇區(qū)中。
      [0191] DST執(zhí)行單元5任命其DST客戶端模塊以基于切片成組來(lái)對(duì)任務(wù)3中間結(jié)果進(jìn)行 DS差錯(cuò)編碼。為了開(kāi)始該編碼,DST客戶端模塊確定具體的翻譯后的詞和/或短語(yǔ)的列表 是否具有足以分區(qū)的大小(例如,大于太字節(jié))。如果是,則其將任務(wù)3中間結(jié)果(R3)分區(qū) 為多個(gè)分區(qū)(例如,R3_l至R3_m)。如果任務(wù)3中間結(jié)果不具有足以分區(qū)的大小,則其不被 分區(qū)。
      [0192] 對(duì)于任務(wù)3中間結(jié)果的每個(gè)分區(qū)或者對(duì)于任務(wù)3中間結(jié)果,DST客戶端模塊使用 數(shù)據(jù)的DS差錯(cuò)編碼參數(shù)(例如,數(shù)據(jù)2的DS參數(shù),其包括3/5解碼閾值/柱寬度比)來(lái)產(chǎn)生 切片成組。切片成組被存儲(chǔ)在中間結(jié)果存儲(chǔ)器(例如,DST執(zhí)行單元1至4、5和7的存儲(chǔ)器 中分配的存儲(chǔ)器)中。
      [0193] 圖39是圖30的示例的將結(jié)果信息組合成最終結(jié)果104的示例的圖。在該示例中, 結(jié)果信息包括在數(shù)據(jù)中找到的具體詞和/或短語(yǔ)的列表(任務(wù)2中間結(jié)果)、在數(shù)據(jù)中找到 的具體的翻譯后的詞和/或短語(yǔ)的列表(任務(wù)3中間結(jié)果)、在數(shù)據(jù)中找到的非詞的列表(任 務(wù)1第一中間結(jié)果R1-1)、在數(shù)據(jù)中找到的唯一詞的列表(任務(wù)1第二中間結(jié)果R1-2)、由于 非詞而造成的翻譯差錯(cuò)的列表(任務(wù)1第六中間結(jié)果R1-6)、以及正確翻譯的詞和/或短語(yǔ) 的列表(任務(wù)1第七中間結(jié)果R1-7)。任務(wù)分布模塊將結(jié)果信息提供給進(jìn)行請(qǐng)求的DST客戶 端模塊作為結(jié)果104。
      [0194] 圖40是分布式計(jì)算系統(tǒng)的另一實(shí)施例的示意框圖,該分布式計(jì)算系統(tǒng)包括分布 式存儲(chǔ)(DS)模塊382以及分布式存儲(chǔ)和任務(wù)(DST)執(zhí)行單元超集384。DS模塊382可以 被實(shí)現(xiàn)在計(jì)算設(shè)備、DST執(zhí)行單元36和DST處理單元中的一個(gè)或多個(gè)內(nèi)。DST執(zhí)行單元超 集384包括多個(gè)DST執(zhí)行單元36。該多個(gè)DST執(zhí)行單元36的部分包括DST執(zhí)行單元集合 386。DS模塊382可以由計(jì)算設(shè)備、DST客戶端模塊、分布式任務(wù)(DT)執(zhí)行模塊、處理模塊、 控制器、用戶設(shè)備、DST處理單元、DST執(zhí)行單元36、分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)(DSTN)管理單 元和DST完整性處理單元中的一個(gè)或多個(gè)實(shí)現(xiàn)。DS模塊382包括選擇模塊388、編碼模塊 390、任務(wù)模塊392和輸出模塊394。
      [0195] 系統(tǒng)可操作以促進(jìn)對(duì)數(shù)據(jù)396的任務(wù)398 (例如,計(jì)算任務(wù))的分布式計(jì)算。選擇 模塊388選擇DST執(zhí)行單元集合386以產(chǎn)生DST執(zhí)行單元集合選擇,其用于基于任務(wù)398 和DST執(zhí)行單元能力信息400 (例如,任務(wù)執(zhí)行能力水平、加密能力水平、可用性水平)中的 至少一個(gè)來(lái)對(duì)數(shù)據(jù)396執(zhí)行任務(wù)398。選擇模塊388通過(guò)一系列步驟來(lái)選擇DST執(zhí)行單元 集合386。第一步驟包括:確定任務(wù)398的執(zhí)行要求。第二步驟包括:按照?qǐng)?zhí)行要求來(lái)分析 該多個(gè)DST執(zhí)行單元36的DST執(zhí)行能力信息400。例如,選擇模塊388從該多個(gè)DST執(zhí)行 單元36中的至少一些接收DST執(zhí)行能力信息400。第三步驟包括:識(shí)別該多個(gè)DST執(zhí)行單 元36中的具有與執(zhí)行要求相對(duì)應(yīng)的能力的DST執(zhí)行單元36。第四步驟包括:從所識(shí)別的 DST執(zhí)行單元中選擇DST執(zhí)行單元集合386。
      [0196] 編碼模塊390基于關(guān)于DST執(zhí)行單元集合的信息402 (例如,該集合中的DST執(zhí)行 單元的數(shù)目、DST執(zhí)行單元的集合的存儲(chǔ)能力、DST執(zhí)行單元的集合的任務(wù)處理能力、DST執(zhí) 行單元集合選擇)來(lái)確定數(shù)據(jù)396的分散存儲(chǔ)差錯(cuò)編碼參數(shù)。編碼模塊390進(jìn)一步工作, 以根據(jù)分散存儲(chǔ)差錯(cuò)編碼參數(shù)來(lái)對(duì)數(shù)據(jù)396進(jìn)行分散存儲(chǔ)差錯(cuò)編碼,以便產(chǎn)生多個(gè)編碼數(shù) 據(jù)塊。該編碼可以包括將編碼矩陣與數(shù)據(jù)396的部分進(jìn)行矩陣乘法以產(chǎn)生該多個(gè)編碼數(shù)據(jù) 塊。編碼矩陣可以包括單位范德蒙(Vandermonde)矩陣,使得第一解碼閾值數(shù)目的編碼數(shù) 據(jù)塊基本上與數(shù)據(jù)396相同。編碼還可以包括在線編碼或其他形式的差錯(cuò)編碼。編碼數(shù)據(jù) 塊可以包括一個(gè)或多個(gè)切片、在線編碼塊或另一擦除編碼數(shù)據(jù)塊。
      [0197] 編碼模塊390進(jìn)一步工作,以根據(jù)分散存儲(chǔ)差錯(cuò)編碼將該多個(gè)編碼數(shù)據(jù)塊成組為 多個(gè)編碼數(shù)據(jù)塊成組404。編碼模塊390進(jìn)一步通過(guò)基于DST執(zhí)行單元能力信息400和關(guān) 于DST執(zhí)行單元集合的信息402中的至少一個(gè)將該多個(gè)編碼數(shù)據(jù)塊成組為該多個(gè)編碼數(shù)據(jù) 塊成組404,來(lái)對(duì)該多個(gè)編碼數(shù)據(jù)塊進(jìn)行成組。該多個(gè)編碼數(shù)據(jù)塊成組404中的第一編碼數(shù) 據(jù)塊成組可以包括比該多個(gè)編碼數(shù)據(jù)塊成組404中的第二編碼數(shù)據(jù)塊成組更少的編碼數(shù) 據(jù)塊。
      [0198] 任務(wù)模塊392基于DST執(zhí)行單元能力信息400和關(guān)于DST執(zhí)行單元集合的信息 402中的至少一個(gè)將任務(wù)398分區(qū)為部分任務(wù)406的集合。任務(wù)模塊392通過(guò)多個(gè)方法之 一將任務(wù)398分區(qū)為部分任務(wù)406的集合。第一方法包括:針對(duì)DST執(zhí)行單元集合386中 的每一個(gè)DST執(zhí)行單元復(fù)制任務(wù)398以產(chǎn)生部分任務(wù)406的集合。第二方法包括:識(shí)別任 務(wù)398的子任務(wù)并基于所識(shí)別的子任務(wù)來(lái)產(chǎn)生部分任務(wù)406的集合。例如,第一 DST執(zhí)行 單元被指派有與第一 DST執(zhí)行單元的唯一能力有利地比較的唯一子任務(wù)。第三方法包括: 識(shí)別任務(wù)398的子任務(wù)并針對(duì)DST執(zhí)行單元集合386中的每一個(gè)DST執(zhí)行單元復(fù)制所識(shí)別 的子任務(wù)以產(chǎn)生部分任務(wù)406的集合。
      [0199] 輸出模塊394將多個(gè)編碼數(shù)據(jù)塊成組408中的至少一些輸出至DST執(zhí)行單元集合 386。例如,輸出模塊394將第一解碼閾值數(shù)目的編碼數(shù)據(jù)塊成組408輸出至DST執(zhí)行單元 集合386。輸出模塊394可以對(duì)編碼數(shù)據(jù)塊成組408中的至少一些進(jìn)行加密以提供改進(jìn)的 安全性。當(dāng)加密時(shí),輸出模塊394通過(guò)一系列步驟來(lái)輸出該多個(gè)編碼數(shù)據(jù)塊成組408中的 該至少一些。第一步驟包括:基于對(duì)應(yīng)的DST執(zhí)行單元標(biāo)識(shí)符(ID)、與所選DST執(zhí)行單元 的迪菲-赫爾曼(Diffie Heilman)交換、與數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)標(biāo)識(shí)符以及所獲取的密鑰中 的一個(gè)或多個(gè),針對(duì)該多個(gè)編碼數(shù)據(jù)塊成組408中的該至少一些中的與DST執(zhí)行單元集合 386中的所選DST執(zhí)行單元相關(guān)聯(lián)的編碼數(shù)據(jù)塊成組生成加密密鑰。例如,輸出模塊394將 所獲取的基本密鑰以及第二DST執(zhí)行單元的DST執(zhí)行單元ID進(jìn)行組合,以產(chǎn)生用于對(duì)與第 二DST執(zhí)行單元相關(guān)聯(lián)的編碼數(shù)據(jù)塊成組進(jìn)行加密的第二加密密鑰。第二步驟包括:使用 該加密密鑰來(lái)對(duì)該編碼數(shù)據(jù)塊成組進(jìn)行加密,以產(chǎn)生加密后的編碼數(shù)據(jù)塊成組。第三步驟 包括:將加密后的編碼數(shù)據(jù)塊成組輸出至所選DST執(zhí)行單元。輸出模塊394進(jìn)一步工作,以 將部分任務(wù)406的集合輸出至DST執(zhí)行單元集合386,以對(duì)多個(gè)編碼數(shù)據(jù)塊成組408中的至 少一些執(zhí)行部分任務(wù)406的集合。
      [0200] 選擇模塊388進(jìn)一步工作,以識(shí)別用于存儲(chǔ)該多個(gè)編碼數(shù)據(jù)塊成組404的DST執(zhí) 行單元超集384,其中,DST執(zhí)行單元超集384包括DST執(zhí)行單元集合386。輸出模塊394進(jìn) 一步工作,以將該多個(gè)編碼數(shù)據(jù)塊成組404中的其他編碼數(shù)據(jù)塊成組410輸出至DST執(zhí)行 單元超集384中的其他DST執(zhí)行單元。DST執(zhí)行單元超集384存儲(chǔ)該多個(gè)編碼數(shù)據(jù)塊成組 404。
      [0201] 圖41是圖示了對(duì)數(shù)據(jù)的任務(wù)的分布式計(jì)算的示例的流程圖。該方法開(kāi)始于步驟 412處,其中,(例如,分布式存儲(chǔ)和任務(wù)處理單元的)處理模塊基于任務(wù)和DST執(zhí)行單元能 力信息中的至少一個(gè)來(lái)選擇用于執(zhí)行任務(wù)的分布式存儲(chǔ)和任務(wù)(DST)執(zhí)行單元集合。選擇 DST執(zhí)行單元集合包括一系列步驟。第一步驟包括:確定任務(wù)的執(zhí)行要求。第二步驟包括: 按照?qǐng)?zhí)行要求來(lái)分析多個(gè)DST執(zhí)行單元的DST執(zhí)行能力信息。第三步驟包括:識(shí)別該多個(gè) DST執(zhí)行單元中的具有與執(zhí)行要求相對(duì)應(yīng)的能力的DST執(zhí)行單元。第四步驟包括:從所識(shí) 別的DST執(zhí)行單元中選擇DST執(zhí)行單元集合。
      [0202] 該方法繼續(xù)在步驟414處,其中,處理模塊基于關(guān)于DST執(zhí)行單元集合的信息來(lái)確 定數(shù)據(jù)的分散存儲(chǔ)差錯(cuò)編碼參數(shù)。例如,處理模塊將柱寬度確立為基本上與DST執(zhí)行單元 集合中的DST執(zhí)行單元的數(shù)目相同。該方法繼續(xù)在步驟416處,其中,處理模塊根據(jù)分散存 儲(chǔ)差錯(cuò)編碼參數(shù)來(lái)對(duì)數(shù)據(jù)進(jìn)行分散存儲(chǔ)差錯(cuò)編碼,以產(chǎn)生多個(gè)編碼數(shù)據(jù)塊。該方法繼續(xù)在 步驟418處,其中,處理模塊根據(jù)分散存儲(chǔ)差錯(cuò)編碼將該多個(gè)編碼數(shù)據(jù)塊成組為多個(gè)編碼 數(shù)據(jù)塊成組。該多個(gè)編碼數(shù)據(jù)塊的成組可以包括:基于DST執(zhí)行單元能力信息和關(guān)于DST 執(zhí)行單元集合的信息中的至少一個(gè)將該多個(gè)編碼數(shù)據(jù)塊成組為該多個(gè)編碼數(shù)據(jù)塊成組。該 多個(gè)編碼數(shù)據(jù)塊成組中的第一編碼數(shù)據(jù)塊成組可以包括比該多個(gè)編碼數(shù)據(jù)塊成組中的第 二編碼數(shù)據(jù)塊成組更少的編碼數(shù)據(jù)塊。
      [0203] 該方法繼續(xù)在步驟420處,其中,處理模塊基于DST執(zhí)行單元能力信息和關(guān)于DST 執(zhí)行單元集合的信息中的至少一個(gè)將任務(wù)分區(qū)為部分任務(wù)的集合。將任務(wù)分區(qū)為部分任務(wù) 的集合包括多個(gè)方法之一。第一方法包括:針對(duì)DST執(zhí)行單元集合中的每一個(gè)DST執(zhí)行單 元復(fù)制任務(wù)以產(chǎn)生部分任務(wù)的集合。第二方法包括:識(shí)別任務(wù)的子任務(wù)并基于所識(shí)別的子 任務(wù)來(lái)產(chǎn)生部分任務(wù)的集合。第三方法包括:識(shí)別任務(wù)的子任務(wù)并針對(duì)DST執(zhí)行單元集合 中的每一個(gè)DST執(zhí)行單元復(fù)制所識(shí)別的子任務(wù)以產(chǎn)生部分任務(wù)的集合。
      [0204] 該方法繼續(xù)在步驟422處,其中,處理模塊將該多個(gè)編碼數(shù)據(jù)塊成組中的至少一 些輸出至DST執(zhí)行單元集合。輸出該多個(gè)編碼數(shù)據(jù)塊成組中的該至少一些包括一系列步 驟。第一步驟包括:基于對(duì)應(yīng)的DST執(zhí)行單元標(biāo)識(shí)符、與所選DST執(zhí)行單元的迪菲-赫爾曼 交換、與數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)標(biāo)識(shí)符以及所獲取的密鑰中的一個(gè)或多個(gè),針對(duì)該多個(gè)編碼數(shù) 據(jù)塊成組中的該至少一些中的與DST執(zhí)行單元集合中的所選DST執(zhí)行單元相關(guān)聯(lián)的編碼數(shù) 據(jù)塊成組生成加密密鑰。第二步驟包括:使用該加密密鑰來(lái)對(duì)該編碼數(shù)據(jù)塊成組進(jìn)行加密, 以產(chǎn)生加密后的編碼數(shù)據(jù)塊成組。第三步驟包括:將加密后的編碼數(shù)據(jù)塊成組輸出至所選 DST執(zhí)行單元。
      [0205] 該方法繼續(xù)在步驟424處,其中,處理模塊將部分任務(wù)的集合輸出至DST執(zhí)行單元 集合,以對(duì)多個(gè)編碼數(shù)據(jù)塊成組中的至少一些執(zhí)行部分任務(wù)的集合。該方法繼續(xù)在步驟426 處,其中,處理模塊識(shí)別用于存儲(chǔ)該多個(gè)編碼數(shù)據(jù)塊成組的DST執(zhí)行單元超集,其中,DST執(zhí) 行單元超集包括DST執(zhí)行單元集合。該方法繼續(xù)在步驟428處,其中,處理模塊將該多個(gè)編 碼數(shù)據(jù)塊成組中的其他編碼數(shù)據(jù)塊成組輸出至DST執(zhí)行單元超集中的其他DST執(zhí)行單元, 其中,DST執(zhí)行單元超集存儲(chǔ)該多個(gè)編碼數(shù)據(jù)塊成組。
      [0206] 圖42是分布式計(jì)算系統(tǒng)的另一實(shí)施例的示意框圖,該分布式計(jì)算系統(tǒng)包括分布 式存儲(chǔ)(DS)模塊430以及分布式存儲(chǔ)和任務(wù)(DST)執(zhí)行單元超集384。DS模塊430可以 被實(shí)現(xiàn)在計(jì)算設(shè)備、DST執(zhí)行單元36和DST處理單元中的一個(gè)或多個(gè)內(nèi)。DST執(zhí)行單元超 集384包括多個(gè)DST執(zhí)行單元36。該多個(gè)DST執(zhí)行單元36的部分包括DST執(zhí)行單元集合 386。DS模塊430可以由計(jì)算設(shè)備、DST客戶端模塊、分布式任務(wù)(DT)執(zhí)行模塊、處理模塊、 控制器、用戶設(shè)備、DST處理單元、DST執(zhí)行單元、分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)(DSTN)管理單元和 DST完整性處理單元中的一個(gè)或多個(gè)實(shí)現(xiàn)。DS模塊430包括識(shí)別模塊432、任務(wù)模塊434和 輸出模塊436。
      [0207] 系統(tǒng)可操作以促進(jìn)對(duì)所存儲(chǔ)的數(shù)據(jù)的任務(wù)398 (例如,計(jì)算任務(wù))的分布式計(jì)算。 識(shí)別模塊432識(shí)別DST執(zhí)行單元超集384的DST執(zhí)行單元集合386。識(shí)別模塊432輸出包 括DST執(zhí)行單元集合386的標(biāo)識(shí)的DST執(zhí)行單元集合信息402。DST執(zhí)行單元超集384將 所存儲(chǔ)的數(shù)據(jù)存儲(chǔ)為多個(gè)編碼數(shù)據(jù)塊成組。根據(jù)分散存儲(chǔ)差錯(cuò)編碼參數(shù)來(lái)對(duì)數(shù)據(jù)進(jìn)行分散 存儲(chǔ)差錯(cuò)編碼,以產(chǎn)生被布置到多個(gè)編碼數(shù)據(jù)塊成組中的多個(gè)編碼數(shù)據(jù)塊。識(shí)別模塊432 通過(guò)多種方法中的至少一種來(lái)識(shí)別DST執(zhí)行單元集合386。第一方法包括:基于分散存儲(chǔ)差 錯(cuò)編碼參數(shù)來(lái)確定數(shù)據(jù)的恢復(fù)閾值(例如,解碼閾值);以及基于恢復(fù)閾值來(lái)選擇DST執(zhí)行單 元超集384中的多個(gè)DST執(zhí)行單元。第二方法包括:將DST執(zhí)行單元集合386識(shí)別為DST 執(zhí)行單元超集384中的存儲(chǔ)多個(gè)編碼數(shù)據(jù)切片中的數(shù)據(jù)切片的DST執(zhí)行單元。第三方法包 括:將DST執(zhí)行單元集合386識(shí)別為DST執(zhí)行單元超集384中的下述DST執(zhí)行單元:其中, DST執(zhí)行單元集合386中的DST執(zhí)行單元存儲(chǔ)該多個(gè)編碼數(shù)據(jù)塊成組中的編碼數(shù)據(jù)塊成組, 并且該DST執(zhí)行單元從該編碼數(shù)據(jù)塊組恢復(fù)數(shù)據(jù)的部分。
      [0208] 任務(wù)模塊434基于DST執(zhí)行單元能力信息400和關(guān)于DST執(zhí)行單元集合的信息 402中的至少一個(gè)將所存儲(chǔ)的數(shù)據(jù)上的分布式計(jì)算的任務(wù)398分區(qū)為部分任務(wù)406的集合。 任務(wù)模塊434工作以通過(guò)多種方法之一將任務(wù)398分區(qū)為部分任務(wù)406的集合。第一方法 包括:針對(duì)DST執(zhí)行單元集合386中的每一個(gè)DST執(zhí)行單元復(fù)制任務(wù)398以產(chǎn)生部分任務(wù) 406的集合。第二方法包括:識(shí)別任務(wù)398的子任務(wù)并基于所識(shí)別的子任務(wù)來(lái)產(chǎn)生部分任 務(wù)406的集合(例如,每個(gè)DST執(zhí)行單元將接收唯一子任務(wù))。第三方法包括:識(shí)別任務(wù)398 的子任務(wù)并針對(duì)DST執(zhí)行單元集合386中的每一個(gè)DST執(zhí)行單元復(fù)制所識(shí)別的子任務(wù)以產(chǎn) 生部分任務(wù)406的集合。
      [0209] 輸出模塊436將部分任務(wù)406的集合輸出至DST執(zhí)行單元集合386,以對(duì)由DST執(zhí) 行單元集合存儲(chǔ)的多個(gè)編碼數(shù)據(jù)塊成組的集合執(zhí)行部分任務(wù)406的集合。數(shù)據(jù)可從該多個(gè) 編碼數(shù)據(jù)塊成組的集合恢復(fù),并且該多個(gè)編碼數(shù)據(jù)塊成組中的其他編碼數(shù)據(jù)塊成組用于差 錯(cuò)編碼冗余。
      [0210] 圖43是圖示了對(duì)所存儲(chǔ)的數(shù)據(jù)的任務(wù)的分布式計(jì)算的示例的流程圖。該方法開(kāi) 始于步驟438處,其中,(例如,分布式存儲(chǔ)和任務(wù)(DST)處理單元的)處理模塊識(shí)別DST執(zhí) 行單元超集中的DST執(zhí)行單元集合,其中,DST執(zhí)行單元超集存儲(chǔ)多個(gè)編碼數(shù)據(jù)塊成組。根 據(jù)分散存儲(chǔ)差錯(cuò)編碼參數(shù)來(lái)對(duì)數(shù)據(jù)進(jìn)行分散存儲(chǔ)差錯(cuò)編碼,以產(chǎn)生被布置到多個(gè)編碼數(shù)據(jù) 塊成組中的多個(gè)編碼數(shù)據(jù)塊。識(shí)別DST執(zhí)行單元集合包括多種方法中的至少一種。第一 方法包括:基于分散存儲(chǔ)差錯(cuò)編碼參數(shù)來(lái)確定數(shù)據(jù)的恢復(fù)閾值;以及基于恢復(fù)閾值來(lái)選擇 DST執(zhí)行單元超集中的多個(gè)DST執(zhí)行單元。第二方法包括:將DST執(zhí)行單元集合識(shí)別為DST 執(zhí)行單元超集中的存儲(chǔ)多個(gè)編碼數(shù)據(jù)切片中的數(shù)據(jù)切片的DST執(zhí)行單元。第三方法包括: 將DST執(zhí)行單元集合識(shí)別為DST執(zhí)行單元超集中的DST執(zhí)行單元,其中,DST執(zhí)行單元集合 中的DST執(zhí)行單元存儲(chǔ)該多個(gè)編碼數(shù)據(jù)塊成組中的編碼數(shù)據(jù)塊成組,并且其中,該DST執(zhí)行 單元從該編碼數(shù)據(jù)塊組恢復(fù)數(shù)據(jù)的部分。
      [0211] 該方法繼續(xù)在步驟440處,其中,處理模塊基于DST執(zhí)行單元能力信息和關(guān)于DST 執(zhí)行單元集合的信息中的至少一個(gè)將任務(wù)分區(qū)為部分任務(wù)的集合。將任務(wù)分區(qū)為部分任務(wù) 的集合包括多種方法之一。第一方法包括:針對(duì)DST執(zhí)行單元集合中的每一個(gè)DST執(zhí)行單 元復(fù)制任務(wù)以產(chǎn)生部分任務(wù)的集合。第二方法包括:識(shí)別任務(wù)的子任務(wù)并基于所識(shí)別的子 任務(wù)來(lái)產(chǎn)生部分任務(wù)的集合。第三方法包括:識(shí)別任務(wù)的子任務(wù)并針對(duì)DST執(zhí)行單元集合 中的每一個(gè)DST執(zhí)行單元復(fù)制所識(shí)別的子任務(wù)以產(chǎn)生部分任務(wù)的集合。
      [0212] 該方法繼續(xù)在步驟442處,其中,處理模塊將部分任務(wù)的集合輸出至DST執(zhí)行單元 集合,以對(duì)由DST執(zhí)行單元集合存儲(chǔ)的多個(gè)編碼數(shù)據(jù)塊成組的集合執(zhí)行部分任務(wù)的集合。 數(shù)據(jù)可從該多個(gè)編碼數(shù)據(jù)塊成組的集合恢復(fù),并且該多個(gè)編碼數(shù)據(jù)塊成組中的其他編碼數(shù) 據(jù)塊成組用于差錯(cuò)編碼冗余。
      [0213] 圖44是圖示了包括被組織為多個(gè)組塊集合1至N (例如,數(shù)據(jù)分區(qū)或其部分)的 數(shù)據(jù)734在內(nèi)的數(shù)據(jù)734、包括每個(gè)組塊的行的該多個(gè)組塊集合1至N中的每一個(gè)的組塊集 合數(shù)據(jù)矩陣736、用于經(jīng)由作為數(shù)據(jù)選擇740的列選擇器746逐列對(duì)每個(gè)組塊集合進(jìn)行編碼 以產(chǎn)生對(duì)應(yīng)的組塊集合切片矩陣742的生成矩陣738、以及用于將每個(gè)組塊集合的切片路 由至對(duì)應(yīng)的分布式存儲(chǔ)和任務(wù)執(zhí)行(DST EX)單元以用于任務(wù)處理的柱選擇器744的編碼 的圖。
      [0214] 每組塊集合的組塊的數(shù)目被確定為對(duì)并行任務(wù)處理進(jìn)行處理以在期望的任務(wù)執(zhí) 行時(shí)間段內(nèi)完成總體任務(wù)所需的并行DST執(zhí)行單元的數(shù)目。信息分散算法(IDA)的解碼閾 值被確定為組塊的數(shù)目。基于解碼閾值、可用DST EX單元的數(shù)目、可用性要求和可靠性要 求中的一個(gè)或多個(gè)來(lái)確定IDA的柱寬度數(shù)目。例如,當(dāng)組塊的數(shù)目是5時(shí),將解碼閾值設(shè)置 為5,并且根據(jù)可靠性要求,將柱寬度設(shè)置為8。
      [0215] 每個(gè)組塊集合的組塊大小被確定為與任務(wù)處理的組塊大小要求相匹配。例如,當(dāng) DST EX單元指示任務(wù)處理數(shù)據(jù)大小限制是20k字節(jié)時(shí),將組塊大小確定為20k字節(jié)。組塊 集合大小是組塊的數(shù)目乘以組塊大小。例如,當(dāng)組塊大小是20k字節(jié)且組塊的數(shù)目是5時(shí), 組塊集合是l〇〇k字節(jié)。組塊集合的數(shù)目N被確定為數(shù)據(jù)的大小除以組塊集合的大小。
      [0216] 生成矩陣738是根據(jù)IDA來(lái)確定的,并包括解碼閾值數(shù)目的列和柱寬度數(shù)目的行。 單位矩陣被用作頂方陣,以促進(jìn)與組塊的鄰接數(shù)據(jù)相匹配的鄰接切片的生成。編碼矩陣的 其他行促進(jìn)針對(duì)組塊集合切片矩陣的其余行生成差錯(cuò)編碼的切片。
      [0217] 對(duì)于每個(gè)組塊集合,將生成矩陣738與對(duì)應(yīng)組塊集合數(shù)據(jù)矩陣736的列進(jìn)行矩陣 乘法(例如,如列選擇器746所選擇的數(shù)據(jù)選擇740),以生成對(duì)應(yīng)組塊集合的組塊集合切片 矩陣742的列。例如,將生成矩陣738的行1與組塊集合數(shù)據(jù)矩陣736的列1進(jìn)行矩陣乘法 以產(chǎn)生組塊集合切片矩陣742的列1的行1字節(jié),將生成矩陣738的行2與組塊集合數(shù)據(jù) 矩陣736的列1進(jìn)行矩陣乘法以產(chǎn)生組塊集合切片矩陣742的列1的行2字節(jié),等等。作 為另一示例,將生成矩陣738的行1與組塊集合數(shù)據(jù)矩陣的列2進(jìn)行矩陣乘法以產(chǎn)生組塊 集合切片矩陣的列2的行1字節(jié),將生成矩陣的行2與組塊集合數(shù)據(jù)矩陣736的列2進(jìn)行 矩陣乘法以產(chǎn)生組塊集合切片矩陣742的列2的行2字節(jié),等等。
      [0218] 段可以被視為組塊集合數(shù)據(jù)矩陣736的一個(gè)或多個(gè)列,并且,與該段相對(duì)應(yīng)的切 片是組塊集合切片矩陣742的與組塊集合數(shù)據(jù)矩陣736的該一個(gè)或多個(gè)列相對(duì)應(yīng)的行。例 如,當(dāng)組塊集合數(shù)據(jù)矩陣736的列1和2被視為對(duì)應(yīng)的段時(shí),組塊集合切片矩陣742的行1 列1和2形成切片1。組塊集合切片矩陣742的公共行的切片屬于數(shù)據(jù)734的鄰接數(shù)據(jù)的 組塊,并共享公共柱號(hào),并應(yīng)當(dāng)被存儲(chǔ)在公共DST EX單元中以促進(jìn)分布式任務(wù)。
      [0219] 柱選擇器744根據(jù)柱選擇方案將每個(gè)柱的切片路由至DST EX單元。例如,對(duì)于第 一組塊集合,當(dāng)柱選擇方案將柱1至5 (例如,與鄰接數(shù)據(jù)的切片相關(guān)聯(lián))映射至DST EX單 元1至5并將柱6至8 (例如,與差錯(cuò)編碼的切片相關(guān)聯(lián))映射至DST EX單元6至8時(shí),將 組塊集合切片矩陣742的行1的兩個(gè)切片(例如,包括來(lái)自列1至10k的字節(jié)的切片和包括 來(lái)自列10k+l至20k的字節(jié)的切片2)作為包括20k字節(jié)的數(shù)據(jù)的鄰接組塊發(fā)送至DST EX 單元1。
      [0220] 為了促進(jìn)由DST EX單元執(zhí)行的任務(wù)的負(fù)載均衡,柱選擇方案可以包括針對(duì)每個(gè)組 塊集合將柱的指派旋轉(zhuǎn)到不同DST EX單元。例如,例如,對(duì)于另一組塊集合,當(dāng)柱選擇方案 將柱8 (例如,與差錯(cuò)編碼的切片相關(guān)聯(lián))映射至DST EX單元1并將柱1 (例如,與鄰接數(shù) 據(jù)的切片相關(guān)聯(lián))映射至DST EX單元8時(shí),將組塊集合切片矩陣742的行8的兩個(gè)切片(例 如,包括來(lái)自列1至l〇k的字節(jié)的切片和包括來(lái)自列10k+l至20k的字節(jié)的切片2)作為包 括20k字節(jié)的差錯(cuò)編碼數(shù)據(jù)切片發(fā)送至DST EX單元1。
      [0221] 圖45是圖示了包括與圖5類似的步驟的生成切片成組的示例的流程圖。該方法 開(kāi)始于圖5的步驟126,其中,(例如,分布式存儲(chǔ)和任務(wù)(DST)客戶端模塊的)處理模塊接 收數(shù)據(jù)和對(duì)應(yīng)的任務(wù)。該方法繼續(xù)在步驟748處,其中,處理模塊選擇多個(gè)DST執(zhí)行單元以 有利地執(zhí)行對(duì)應(yīng)任務(wù)的部分任務(wù)。該選擇包括:基于DST執(zhí)行單元能力來(lái)確定多個(gè)同時(shí)計(jì) 算資源以在有利的時(shí)間框架中完成任務(wù)。該方法繼續(xù)在步驟750處,其中,處理模塊基于所 選DST執(zhí)行單元的分布式計(jì)算能力中的一個(gè)或多個(gè)來(lái)確定任務(wù)分區(qū)。該確定包括下述至少 一項(xiàng):將任務(wù)分區(qū)與DST執(zhí)行單元能力對(duì)齊;以及將后續(xù)計(jì)算任務(wù)(例如,基于部分結(jié)果)與 DST執(zhí)行單元能力對(duì)齊。
      [0222] 該方法繼續(xù)在步驟752處,其中,處理模塊基于任務(wù)分區(qū)來(lái)確定數(shù)據(jù)的處理參數(shù)。 該確定包括:基于DST EX單元的數(shù)目來(lái)確定數(shù)據(jù)向組塊和組塊集合中的分區(qū),以有利地執(zhí) 行部分任務(wù)。該方法繼續(xù)至圖5的步驟136和134,其中,處理模塊基于任務(wù)分區(qū)來(lái)對(duì)任務(wù) 進(jìn)行分區(qū)以產(chǎn)生部分任務(wù),并根據(jù)處理參數(shù)來(lái)處理數(shù)據(jù)以產(chǎn)生切片成組。該方法繼續(xù)在步 驟754處,其中,處理模塊根據(jù)柱映射將對(duì)應(yīng)部分任務(wù)中的切片成組發(fā)送至DST執(zhí)行單元。 處理模塊可以基于接收映射、查詢以及基于數(shù)據(jù)處理負(fù)載均衡要求生成映射中的一個(gè)或多 個(gè)來(lái)獲得柱映射。柱映射可以包括:將由柱對(duì)切片成組的指派旋轉(zhuǎn)到不同DST執(zhí)行單元(例 如,用于促進(jìn)負(fù)載均衡的輪叫方法)。
      [0223] 圖46是圖示了包括與圖48類似的步驟的獲取分布式計(jì)算的數(shù)據(jù)的示例的流程 圖。該方法開(kāi)始于步驟764處,其中,(例如,分布式存儲(chǔ)和任務(wù)(DST)客戶端模塊的)處理 模塊接收獲取數(shù)據(jù)請(qǐng)求(例如,從用戶設(shè)備),其中,數(shù)據(jù)優(yōu)于至少一個(gè)所執(zhí)行的部分任務(wù)而 被存儲(chǔ)在分布式存儲(chǔ)和任務(wù)網(wǎng)絡(luò)(DSTN)中。例如,數(shù)據(jù)表示先前執(zhí)行的任務(wù)的部分結(jié)果。 作為另一示例,數(shù)據(jù)表示先前執(zhí)行的任務(wù)的修改數(shù)據(jù)。該方法繼續(xù)在步驟766處,其中,處 理模塊識(shí)別與數(shù)據(jù)相關(guān)聯(lián)的DSTN的DST執(zhí)行單元。該關(guān)聯(lián)包括下述一項(xiàng)或多項(xiàng):初始數(shù)據(jù) 被發(fā)送到何處以存儲(chǔ)和/或處理任務(wù);部分任務(wù)被發(fā)送到何處以存儲(chǔ)和/或處理;部分結(jié) 果(例如,中間結(jié)果)被發(fā)送到何處以存儲(chǔ)和/或進(jìn)一步處理;后續(xù)部分任務(wù)被發(fā)送到何處 以存儲(chǔ)和/或處理;響應(yīng)于DST分配信息的查詢而接收的位置;以及從位置表查找提取的 位置。該方法繼續(xù)至步驟660和662,其中,處理模塊從DST執(zhí)行單元獲取一個(gè)或多個(gè)任務(wù) 響應(yīng)切片成組的至少解碼閾值數(shù)目的任務(wù)響應(yīng)切片,并對(duì)該任務(wù)響應(yīng)切片進(jìn)行解碼,以再 現(xiàn)一個(gè)或多個(gè)任務(wù)響應(yīng)。
      [0224] 該方法繼續(xù)在步驟768處,其中,處理模塊基于該一個(gè)或多個(gè)任務(wù)響應(yīng)來(lái)確定與 部分結(jié)果相關(guān)聯(lián)的第二DST執(zhí)行單元。該確定可以基于下述一項(xiàng)或多項(xiàng):從該一個(gè)或多個(gè) 任務(wù)響應(yīng)提取第二DST執(zhí)行單元標(biāo)識(shí)符信息;以及執(zhí)行查找以提取第二DST執(zhí)行單元標(biāo)識(shí) 符。例如,處理模塊訪問(wèn)DST分配信息以獲取第二DST執(zhí)行單元的標(biāo)識(shí)符。
      [0225] 該方法繼續(xù)在步驟770處,其中,處理模塊從第二DST執(zhí)行單元獲取一個(gè)或多個(gè)部 分結(jié)果切片成組的至少解碼閾值數(shù)目的部分結(jié)果切片。該獲取包括下述一項(xiàng)或多項(xiàng):選擇 與該一個(gè)或多個(gè)部分結(jié)果切片成組(例如,其包含結(jié)果且不包含差錯(cuò)編碼的數(shù)據(jù))相關(guān)聯(lián)的 DST執(zhí)行單元;生成切片獲取請(qǐng)求;發(fā)送切片獲取請(qǐng)求以識(shí)別DST執(zhí)行單元;以及獲取至少 解碼閾值數(shù)目的部分結(jié)果切片。該方法繼續(xù)至步驟666和668,其中,處理模塊對(duì)部分結(jié)果 切片進(jìn)行解碼以再現(xiàn)一個(gè)或多個(gè)部分結(jié)果,并處理該一個(gè)或多個(gè)部分結(jié)果以產(chǎn)生結(jié)果。
      [0226] 圖47是圖示了對(duì)分布式計(jì)算資源進(jìn)行負(fù)載平衡的示例的流程圖,其開(kāi)始于步驟 126處,其中,(例如,分布式存儲(chǔ)和任務(wù)(DST)客戶端模塊的)處理模塊接收數(shù)據(jù)和對(duì)應(yīng)的 任務(wù),并且,其繼續(xù)至步驟756、758、760和762,其中,處理模塊識(shí)別用于執(zhí)行對(duì)應(yīng)任務(wù)的部 分任務(wù)的候選DST執(zhí)行單元,獲得候選DST執(zhí)行單元的分布式計(jì)算能力,選擇候選DST執(zhí)行 單元中的多個(gè)DST執(zhí)行單元以有利地執(zhí)行對(duì)應(yīng)任務(wù)的部分任務(wù),并基于所選DST執(zhí)行單元 的分布式計(jì)算能力、處理參數(shù)和所估計(jì)的下一數(shù)據(jù)處理目的地中的一個(gè)或多個(gè)來(lái)確定任務(wù) 分區(qū)。該方法繼續(xù)至步驟752,其中,處理模塊基于任務(wù)分區(qū)來(lái)確定數(shù)據(jù)的處理參數(shù),并且該 方法繼續(xù)至步驟136和134,其中,處理模塊基于任務(wù)分區(qū)來(lái)對(duì)任務(wù)進(jìn)行任務(wù)以產(chǎn)生部分任 務(wù),并根據(jù)處理參數(shù)來(lái)處理數(shù)據(jù)以產(chǎn)生切片成組。
      [0227] 該方法繼續(xù)在步驟772處,其中,處理模塊確定切片成組中的至少一些的柱映射。 該確定包括:基于關(guān)于DST執(zhí)行資源的當(dāng)前信息和任務(wù)執(zhí)行的要求來(lái)識(shí)別DST執(zhí)行資源向 任務(wù)的有利指派。例如,處理模塊可以確定輪叫柱映射方法,以均勻地加載解碼閾值數(shù)目的 DST執(zhí)行單元。該方法繼續(xù)在步驟774處,其中,處理模塊根據(jù)柱映射將切片成組和對(duì)應(yīng)的 部分任務(wù)中的至少一些發(fā)送至DST執(zhí)行單元。
      [0228] 該方法繼續(xù)在步驟776處,其中,處理模塊獲得關(guān)于執(zhí)行部分任務(wù)的DST執(zhí)行單元 狀態(tài)信息。該獲得包括下述至少一項(xiàng):發(fā)起查詢;接收狀態(tài)信息;以及執(zhí)行查找以提取狀態(tài) 信息。該方法繼續(xù)在步驟778處,其中,處理模塊基于DST執(zhí)行單元狀態(tài)信息來(lái)更新柱映 射。例如,處理模塊確定更新后的柱映射,以將DST執(zhí)行資源加載從最忙的資源轉(zhuǎn)移至具有 更有利的可用任務(wù)執(zhí)行容量的資源。該方法繼續(xù)在步驟780處,其中,處理模塊根據(jù)更新后 的柱映射將其他切片成組和對(duì)應(yīng)的部分任務(wù)發(fā)送至DST執(zhí)行單元。例如,處理模塊將該其 他切片成組和對(duì)應(yīng)的部分任務(wù)發(fā)送至DST執(zhí)行單元,以利用改進(jìn)的任務(wù)執(zhí)行能力來(lái)執(zhí)行將 接續(xù)的步驟。該過(guò)程可以繼續(xù)調(diào)整柱映射,直到與任務(wù)相對(duì)應(yīng)的所有部分任務(wù)已經(jīng)被執(zhí)行。
      [0229] 圖48是圖示了變換所存儲(chǔ)的數(shù)據(jù)的另一示例的流程圖。該方法開(kāi)始于步驟890 處,其中,(例如,分布式存儲(chǔ)和任務(wù)(DST)客戶端模塊的)處理模塊確定以將被存儲(chǔ)以促進(jìn) 分散存儲(chǔ)任務(wù)的數(shù)據(jù)轉(zhuǎn)換為被存儲(chǔ)以促進(jìn)分布式計(jì)算任務(wù)的數(shù)據(jù)。該確定可以包括下述至 少一項(xiàng):接收轉(zhuǎn)換請(qǐng)求;基于分布式計(jì)算任務(wù)請(qǐng)求指示符、數(shù)據(jù)獲取頻率指示符、優(yōu)先級(jí)水 平指示符和安全性水平指示符中的一個(gè)或多個(gè)來(lái)確定轉(zhuǎn)換。例如,處理模塊檢測(cè)任務(wù)的一 系列步驟已經(jīng)被排隊(duì)以利用分布式計(jì)算方法處理數(shù)據(jù),并確定將分散存儲(chǔ)格式數(shù)據(jù)轉(zhuǎn)換為 分布式計(jì)算格式數(shù)據(jù),以促進(jìn)分布式計(jì)算任務(wù)執(zhí)行效率改進(jìn)。
      [0230] 該方法繼續(xù)在步驟892處,其中,處理模塊識(shí)別被用于存儲(chǔ)數(shù)據(jù)(例如,查找)的 DST執(zhí)行單元。該方法繼續(xù)在步驟894處,其中,處理模塊獲得數(shù)據(jù)的分散存儲(chǔ)任務(wù)處理參 數(shù)。該獲得包括下述一項(xiàng)或多項(xiàng):執(zhí)行查找;接收參數(shù);訪問(wèn)DST分配信息以提取參數(shù);訪 問(wèn)分散存儲(chǔ)保險(xiǎn)庫(kù);以及執(zhí)行查詢。
      [0231] 該方法繼續(xù)在步驟896處,其中,處理模塊確定數(shù)據(jù)的分布式計(jì)算任務(wù)處理參數(shù)。 該確定包括下述一項(xiàng)或多項(xiàng):執(zhí)行查找;接收參數(shù);訪問(wèn)DST分配信息以提取參數(shù);執(zhí)行查 詢;以及基于分布式計(jì)算要求和性能要求中的一個(gè)或多個(gè)來(lái)確定參數(shù)。
      [0232] 該方法繼續(xù)在步驟898處,其中,處理模塊獲得與數(shù)據(jù)相對(duì)應(yīng)的分散存儲(chǔ)任務(wù)柱 映射。該確定包括下述一項(xiàng)或多項(xiàng):執(zhí)行查找;接收映射;訪問(wèn)DST分配信息以提取映射; 執(zhí)行查詢;以及基于分散存儲(chǔ)要求和存儲(chǔ)性能要求中的一個(gè)或多個(gè)來(lái)確定映射。
      [0233] 該方法繼續(xù)在步驟900處,其中,處理模塊確定與數(shù)據(jù)相對(duì)應(yīng)的分布式計(jì)算任務(wù) 柱映射。該確定可以基于下述一項(xiàng)或多項(xiàng):網(wǎng)絡(luò)拓?fù)?、分布式?jì)算性能要求、網(wǎng)絡(luò)帶寬利用 率最大值和包括最小化切片傳送在內(nèi)的一個(gè)或多個(gè)存儲(chǔ)目標(biāo);以及高效地利用存儲(chǔ)容量。 例如,處理模塊確定利用可能與可能分布式計(jì)算任務(wù)的步驟相匹配的DST執(zhí)行單元。作為 另一示例,處理模塊確定不從DST執(zhí)行單元中的至少一些傳送切片以最小化網(wǎng)絡(luò)帶寬利用 率。作為又一示例,處理模塊確定當(dāng)DST執(zhí)行單元處于如網(wǎng)絡(luò)拓?fù)渌甘镜南嗤军c(diǎn)處時(shí) 離開(kāi)不同DST執(zhí)行單元中的相同柱號(hào)切片。
      [0234] 該方法繼續(xù)在步驟902處,其中,處理模塊基于分布式計(jì)算任務(wù)柱映射和分散存 儲(chǔ)任務(wù)柱映射來(lái)識(shí)別要傳送的切片成組。該方法繼續(xù)在步驟904處,其中,處理模塊促進(jìn)切 片成組的傳送以在DST執(zhí)行單元中的兩個(gè)或更多個(gè)之間傳送。該方法繼續(xù)在步驟906處,其 中,處理模塊更新目錄和/或DST分配信息以指示每個(gè)切片成組被存儲(chǔ)在何處。數(shù)據(jù)的后續(xù) 利用可以支持每個(gè)DST執(zhí)行單元對(duì)任務(wù)的執(zhí)行,從而提供系統(tǒng)級(jí)分布式計(jì)算性能改進(jìn)???替換地,處理模塊可以獲取解碼閾值數(shù)目的切片成組,對(duì)解碼閾值數(shù)目的切片成組進(jìn)行解 碼以再現(xiàn)數(shù)據(jù),根據(jù)柱映射來(lái)生成新切片成組,并根據(jù)柱映射來(lái)促進(jìn)新切片成組的存儲(chǔ)。
      [0235] 如本文中可使用的,術(shù)語(yǔ)"基本上"和"大體上"提供了對(duì)其對(duì)應(yīng)術(shù)語(yǔ)和/或項(xiàng)目 之間的相對(duì)性的行業(yè)接受的容限。這種行業(yè)接受的容限在從小于百分之一到百分之五十的 范圍內(nèi)變化,并對(duì)應(yīng)于但不限于部件值、集成電路過(guò)程變化、溫度變化、上升和下降時(shí)間和/ 或熱噪聲。項(xiàng)目之間的這種相對(duì)性在從幾個(gè)百分點(diǎn)的差別到巨大差別的范圍內(nèi)變化。如本 文中還可以使用的,術(shù)語(yǔ)"可操作地耦合至"、"耦合至"和/或"耦合"包括項(xiàng)目之間的直接 耦合和/或項(xiàng)目之間經(jīng)由介入項(xiàng)目(例如,項(xiàng)目包括但不限于部件、元件、電路和/或模塊) 的間接耦合,其中,對(duì)于間接耦合,介入項(xiàng)目不修改信號(hào)的信息,但可以調(diào)整其當(dāng)前視頻、電 壓水平和/或功率水平。如本文中可以進(jìn)一步使用的,所推定的耦合(即,其中,根據(jù)推定, 一個(gè)元件耦合至另一元件)包括兩個(gè)項(xiàng)目之間的以與"耦合至"相同的方式的直接和間接耦 合。如本文中可以甚至進(jìn)一步使用的,術(shù)語(yǔ)"可操作以"或"可操作地耦合至"指示項(xiàng)目包 括功率連接、輸入、輸出等中的一個(gè)或多個(gè),在被激活時(shí)執(zhí)行其對(duì)應(yīng)功能中的一個(gè)或多個(gè), 并可以進(jìn)一步包括到一個(gè)或多個(gè)其他項(xiàng)目的推定耦合。如本文中可以仍進(jìn)一步使用的,術(shù) 語(yǔ)"關(guān)聯(lián)于"包括分離項(xiàng)目的直接和/或間接耦合和/或一個(gè)項(xiàng)目嵌入到另一項(xiàng)目?jī)?nèi)。如 本文中可以使用的,術(shù)語(yǔ)"有利地比較"指示兩個(gè)或更多個(gè)項(xiàng)目、信號(hào)等之間的比較提供了 期望的關(guān)系。例如,當(dāng)期望的關(guān)系是信號(hào)1具有比信號(hào)2更大的量值時(shí),可以在信號(hào)1的量 值大于信號(hào)2的量值時(shí)或在信號(hào)2的量值小于信號(hào)1的量值時(shí)實(shí)現(xiàn)有利的比較。
      [0236] 如本文中還可以使用的,術(shù)語(yǔ)"處理模塊"、"處理電路"和/或"處理單元"可以是 單個(gè)處理設(shè)備或多個(gè)處理設(shè)備。這種處理設(shè)備可以是微處理器、微控制器、數(shù)字信號(hào)處理 器、微型計(jì)算機(jī)、中央處理單元、現(xiàn)場(chǎng)可編程門(mén)陣列、可編程邏輯器件、狀態(tài)機(jī)、邏輯電路、模 擬電路、數(shù)字電路、和/或基于電路和/或操作指令的硬編碼對(duì)信號(hào)(模擬和/或數(shù)字)進(jìn) 行操控的任何設(shè)備。處理模塊、模塊、處理電路和/或處理單元可以是或進(jìn)一步包括存儲(chǔ) 器和/或集成存儲(chǔ)元件,其可以是單個(gè)存儲(chǔ)設(shè)備、多個(gè)存儲(chǔ)設(shè)備、和/或另一處理模塊、模 塊、處理電路和/或處理單元的嵌入式電路。這種存儲(chǔ)設(shè)備可以是只讀存儲(chǔ)器、隨機(jī)存取存 儲(chǔ)器、易失性存儲(chǔ)器、非易失性存儲(chǔ)器、靜態(tài)存儲(chǔ)器、動(dòng)態(tài)存儲(chǔ)器、閃存、高速緩沖存儲(chǔ)器和/ 或存儲(chǔ)數(shù)字信息的任何設(shè)備,注意,如果處理模塊、模塊、處理電路和/或處理單元包括多 于一個(gè)處理設(shè)備,則該處理設(shè)備可以被集中式定位(例如,經(jīng)由有線和/或無(wú)線總線結(jié)構(gòu)直 接耦合在一起)或可以被分布式定位(例如,通過(guò)經(jīng)由局域網(wǎng)和/或廣域網(wǎng)的間接耦合的云 計(jì)算)。進(jìn)一步注意,如果處理模塊、模塊、處理電路和/或處理單元經(jīng)由狀態(tài)機(jī)、模擬電路、 數(shù)字電路和/或邏輯電路來(lái)實(shí)現(xiàn)其功能中的一個(gè)或多個(gè),則存儲(chǔ)對(duì)應(yīng)操作指令的存儲(chǔ)器和 /或存儲(chǔ)元件可以嵌入到包括該狀態(tài)機(jī)、模擬電路、數(shù)字電路和/或邏輯電路的電路內(nèi)或處 于該電路外部。仍進(jìn)一步注意,存儲(chǔ)元件可以存儲(chǔ)與一個(gè)或多個(gè)附圖中圖示的至少一些步 驟和/或功能相對(duì)應(yīng)的硬編碼指令和/或操作指令,并且處理模塊、模塊、處理電路和/或 處理單元執(zhí)行該硬編碼指令和/或操作指令。這種存儲(chǔ)設(shè)備或存儲(chǔ)元件可以被包括在制品 中。
      [0237] 上面已經(jīng)借助于說(shuō)明指定功能的性能及其關(guān)系的方法步驟描述了本發(fā)明。為了方 便描述,本文中任意地定義了這些功能構(gòu)建塊和方法步驟的邊界和順序??梢远x可替換 的邊界和順序,只要指定功能和關(guān)系被適當(dāng)?shù)貓?zhí)行即可。因此,任何這種可替換邊界或順序 處于要求保護(hù)的發(fā)明的范圍和精神內(nèi)。此外,為了方便描述,任意地定義了這些功能構(gòu)建塊 的邊界。可以定義可替換的邊界,只要特定顯著功能被適當(dāng)?shù)貓?zhí)行即可。類似地,本文中還 可能任意地定義了流程圖塊,以圖示特定顯著功能。在使用的范圍內(nèi),流程圖塊邊界和順序 可能已經(jīng)被以其他方式定義,且仍執(zhí)行特定顯著功能。因此,功能構(gòu)建塊和流程圖塊二者以 及順序的這種可替換的定義處于要求保護(hù)的發(fā)明的范圍和精神內(nèi)。本領(lǐng)域技術(shù)人員還將認(rèn) 識(shí)到,本文中的功能構(gòu)件塊以及其他說(shuō)明性塊、模塊和部件可以如所圖示的那樣實(shí)現(xiàn),或由 分立的部件、專用集成電路、執(zhí)行適當(dāng)軟件的處理器等或其任何組合實(shí)現(xiàn)。
      [0238] 還可能至少部分地根據(jù)一個(gè)或多個(gè)實(shí)施例描述了本發(fā)明。本文中使用本發(fā)明的 實(shí)施例來(lái)說(shuō)明本發(fā)明、其方面、其特征、其構(gòu)思和/或其示例。裝置、制品、機(jī)器和/或體現(xiàn) 本發(fā)明的過(guò)程的物理實(shí)施例可以包括參照本文中討論的一個(gè)或多個(gè)實(shí)施例描述的方面、特 征、構(gòu)思、示例等中的一個(gè)或多個(gè)。此外,從圖到圖,實(shí)施例可以并入有可使用相同或不同附 圖標(biāo)記的相同的或類似命名的功能、步驟、模塊等,并且由此,該功能、步驟、模塊等可以是 相同或類似的功能、步驟、模塊等或者不同的功能、步驟、模塊等。
      [0239] 盡管上述附圖中的晶體管被示為場(chǎng)效應(yīng)晶體管(FET),但是如本領(lǐng)域技術(shù)人員將 意識(shí)到的那樣,可以使用包括但不限于下述各項(xiàng)的任何類型的晶體管結(jié)構(gòu)來(lái)實(shí)現(xiàn)晶體管: 雙極型、金屬氧化物半導(dǎo)體場(chǎng)效應(yīng)晶體管(MOSFET)、N阱晶體管、P阱晶體管、增強(qiáng)模式、耗 盡模式、以及零電壓閾值(VT)晶體管。
      [0240] 除具體地相反聲明外,去往本文中呈現(xiàn)的任何附圖的圖中的元件、來(lái)自該元件和/ 或處于該元件之間的信號(hào)可以是模擬的或數(shù)字的、連續(xù)時(shí)間的或離散時(shí)間的、以及單端的 或差分的。例如,如果信號(hào)路徑被示為單端路徑,其也表示差分信號(hào)路徑。類似地,如果信 號(hào)路徑被示為差分路徑,其也表示單端信號(hào)路徑。盡管本文中描述了一個(gè)或多個(gè)特定架構(gòu), 但是可能實(shí)現(xiàn)使用未明確示出的一個(gè)或多個(gè)數(shù)據(jù)總線、元件之間的直接連接和/或其他元 件之間的間接耦合的其他架構(gòu),如本領(lǐng)域技術(shù)人員所認(rèn)識(shí)到的那樣。
      [0241] 在本發(fā)明的各個(gè)實(shí)施例的描述中使用術(shù)語(yǔ)"模塊"。模塊包括在存儲(chǔ)器上存儲(chǔ)以執(zhí) 行如本文中可描述的一個(gè)或多個(gè)功能的處理模塊、功能塊、硬件和/或軟件。注意,如果經(jīng) 由硬件實(shí)現(xiàn)模塊,則該硬件可以獨(dú)立地和/或結(jié)合軟件和/或固件進(jìn)行操作。如本文中使 用的,模塊可以包含一個(gè)或多個(gè)子模塊,其中每一個(gè)可以是一個(gè)或多個(gè)模塊。
      [0242] 盡管本文中明確地描述了本發(fā)明的各種功能和特征的特定組合,但是這些特征和 功能的其他組合也是可能的。本發(fā)明不受本文公開(kāi)的特定示例限制且明確地并入有這些其 他組合。
      【權(quán)利要求】
      1. 一種用于對(duì)數(shù)據(jù)的任務(wù)的分布式計(jì)算的方法,所述方法包括: 基于任務(wù)和分布式存儲(chǔ)和任務(wù)(DST)執(zhí)行單元能力信息中的至少一個(gè)來(lái)選擇用于執(zhí)行 任務(wù)的DST執(zhí)行單元集合; 基于關(guān)于DST執(zhí)行單元集合的信息來(lái)確定數(shù)據(jù)的分散存儲(chǔ)差錯(cuò)編碼參數(shù); 根據(jù)分散存儲(chǔ)差錯(cuò)編碼參數(shù)來(lái)對(duì)數(shù)據(jù)進(jìn)行分散存儲(chǔ)差錯(cuò)編碼,以產(chǎn)生多個(gè)編碼數(shù)據(jù) 塊; 根據(jù)分散存儲(chǔ)差錯(cuò)編碼將所述多個(gè)編碼數(shù)據(jù)塊成組為多個(gè)編碼數(shù)據(jù)塊成組; 基于DST執(zhí)行單元能力信息和關(guān)于DST執(zhí)行單元集合的信息中的至少一個(gè)將任務(wù)分區(qū) 為部分任務(wù)的集合; 將所述多個(gè)編碼數(shù)據(jù)塊成組中的至少一些輸出至DST執(zhí)行單元集合;以及 將部分任務(wù)的集合輸出至DST執(zhí)行單元集合以對(duì)所述多個(gè)編碼數(shù)據(jù)塊成組中的所述 至少一些執(zhí)行部分任務(wù)的集合。
      2. 根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 識(shí)別用于存儲(chǔ)所述多個(gè)編碼數(shù)據(jù)塊成組的DST執(zhí)行單元超集,其中,DST執(zhí)行單元超集 包括DST執(zhí)行單元集合;以及 將所述多個(gè)編碼數(shù)據(jù)塊成組中的其他編碼數(shù)據(jù)塊成組輸出至DST執(zhí)行單元超集中的 其他DST執(zhí)行單元,其中,DST執(zhí)行單元超集存儲(chǔ)所述多個(gè)編碼數(shù)據(jù)塊成組。
      3. 根據(jù)權(quán)利要求1所述的方法,其中,選擇DST執(zhí)行單元集合包括: 確定任務(wù)的執(zhí)行要求; 按照?qǐng)?zhí)行要求來(lái)分析多個(gè)DST執(zhí)行單元的DST執(zhí)行能力信息; 識(shí)別所述多個(gè)DST執(zhí)行單元中的具有與執(zhí)行要求相對(duì)應(yīng)的能力的DST執(zhí)行單元;以及 從所識(shí)別的DST執(zhí)行單元中選擇DST執(zhí)行單元集合。
      4. 根據(jù)權(quán)利要求1所述的方法,其中,對(duì)所述多個(gè)編碼數(shù)據(jù)塊進(jìn)行成組進(jìn)一步包括: 基于DST執(zhí)行單元能力信息和關(guān)于DST執(zhí)行單元集合的信息中的至少一個(gè)將所述多個(gè) 編碼數(shù)據(jù)塊成組為所述多個(gè)編碼數(shù)據(jù)塊成組,其中,所述多個(gè)編碼數(shù)據(jù)塊成組中的第一編 碼數(shù)據(jù)塊成組包括比所述多個(gè)編碼數(shù)據(jù)塊成組中的第二編碼數(shù)據(jù)塊成組更少的編碼數(shù)據(jù) 塊。
      5. 根據(jù)權(quán)利要求1所述的方法,其中,將任務(wù)分區(qū)為部分任務(wù)的集合包括下述各項(xiàng)之 針對(duì)DST執(zhí)行單元集合中的每一個(gè)DST執(zhí)行單元復(fù)制任務(wù)以產(chǎn)生部分任務(wù)的集合; 識(shí)別任務(wù)的子任務(wù)并基于所識(shí)別的子任務(wù)來(lái)產(chǎn)生部分任務(wù)的集合;以及 識(shí)別任務(wù)的子任務(wù)并針對(duì)DST執(zhí)行單元集合中的每一個(gè)DST執(zhí)行單元復(fù)制所識(shí)別的子 任務(wù)以產(chǎn)生部分任務(wù)的集合。
      6. 根據(jù)權(quán)利要求1所述的方法,其中,輸出所述多個(gè)編碼數(shù)據(jù)塊成組中的所述至少一 些包括: 基于對(duì)應(yīng)的DST執(zhí)行單元標(biāo)識(shí)符、與所選DST執(zhí)行單元的迪菲-赫爾曼交換、與數(shù)據(jù)相 關(guān)聯(lián)的數(shù)據(jù)標(biāo)識(shí)符以及所獲取的密鑰中的一個(gè)或多個(gè),針對(duì)所述多個(gè)編碼數(shù)據(jù)塊成組中的 所述至少一些中的與DST執(zhí)行單元集合中的所選DST執(zhí)行單元相關(guān)聯(lián)的編碼數(shù)據(jù)塊成組生 成加密密鑰; 使用所述加密密鑰來(lái)對(duì)該編碼數(shù)據(jù)塊成組進(jìn)行加密,以產(chǎn)生加密后的編碼數(shù)據(jù)塊成 組;以及 將加密后的編碼數(shù)據(jù)塊成組輸出至所選DST執(zhí)行單元。
      7. -種用于對(duì)所存儲(chǔ)的數(shù)據(jù)的任務(wù)的分布式計(jì)算的方法,所述方法包括: 識(shí)別分布式存儲(chǔ)和任務(wù)(DST)執(zhí)行單元超集中的DST執(zhí)行單元集合,其中,DST執(zhí)行單 元超集存儲(chǔ)多個(gè)編碼數(shù)據(jù)塊成組,其中,根據(jù)分散存儲(chǔ)差錯(cuò)編碼參數(shù)來(lái)對(duì)數(shù)據(jù)進(jìn)行分散存 儲(chǔ)差錯(cuò)編碼,以產(chǎn)生被布置到所述多個(gè)編碼數(shù)據(jù)塊成組中的多個(gè)編碼數(shù)據(jù)塊; 基于DST執(zhí)行單元能力信息和關(guān)于DST執(zhí)行單元集合的信息中的至少一個(gè)將任務(wù)分區(qū) 為部分任務(wù)的集合;以及 將部分任務(wù)的集合輸出至DST執(zhí)行單元集合,以對(duì)由DST執(zhí)行單元集合存儲(chǔ)的多個(gè)編 碼數(shù)據(jù)塊成組的集合執(zhí)行部分任務(wù)的集合,其中,數(shù)據(jù)能夠從所述多個(gè)編碼數(shù)據(jù)塊成組的 集合恢復(fù),并且所述多個(gè)編碼數(shù)據(jù)塊成組中的其他編碼數(shù)據(jù)塊成組用于差錯(cuò)編碼冗余。
      8. 根據(jù)權(quán)利要求7所述的方法,其中,將任務(wù)分區(qū)為部分任務(wù)的集合包括下述各項(xiàng)之 針對(duì)DST執(zhí)行單元集合中的每一個(gè)DST執(zhí)行單元復(fù)制任務(wù)以產(chǎn)生部分任務(wù)的集合; 識(shí)別任務(wù)的子任務(wù)并基于所識(shí)別的子任務(wù)來(lái)產(chǎn)生部分任務(wù)的集合;以及 識(shí)別任務(wù)的子任務(wù)并針對(duì)DST執(zhí)行單元集合中的每一個(gè)DST執(zhí)行單元復(fù)制所識(shí)別的子 任務(wù)以產(chǎn)生部分任務(wù)的集合。
      9. 根據(jù)權(quán)利要求7所述的方法,其中,識(shí)別DST執(zhí)行單元集合包括下述至少一項(xiàng): 基于分散存儲(chǔ)差錯(cuò)編碼參數(shù)來(lái)確定數(shù)據(jù)的恢復(fù)閾值,并基于恢復(fù)閾值來(lái)選擇DST執(zhí)行 單元超集中的多個(gè)DST執(zhí)行單元; 將DST執(zhí)行單元集合識(shí)別為DST執(zhí)行單元超集中的存儲(chǔ)多個(gè)編碼數(shù)據(jù)切片中的數(shù)據(jù)切 片的DST執(zhí)行單元;以及 將DST執(zhí)行單元集合識(shí)別為DST執(zhí)行單元超集中的DST執(zhí)行單元,其中,DST執(zhí)行單元 集合中的DST執(zhí)行單元存儲(chǔ)所述多個(gè)編碼數(shù)據(jù)塊成組中的編碼數(shù)據(jù)塊成組,并且其中,所 述DST執(zhí)行單元從該編碼數(shù)據(jù)塊成組恢復(fù)數(shù)據(jù)的部分。
      10. -種分散存儲(chǔ)(DS)模塊,包括: 第一模塊,當(dāng)能夠在計(jì)算設(shè)備內(nèi)操作時(shí),使所述計(jì)算設(shè)備執(zhí)行: 基于任務(wù)和分布式存儲(chǔ)和任務(wù)(DST)執(zhí)行單元能力信息中的至少一個(gè)來(lái)選擇用于對(duì)數(shù) 據(jù)執(zhí)行任務(wù)的DST執(zhí)行單元集合; 第二模塊,當(dāng)能夠在所述計(jì)算設(shè)備內(nèi)操作時(shí),使所述計(jì)算設(shè)備執(zhí)行: 基于關(guān)于DST執(zhí)行單元集合的信息來(lái)確定數(shù)據(jù)的分散存儲(chǔ)差錯(cuò)編碼參數(shù); 根據(jù)分散存儲(chǔ)差錯(cuò)編碼參數(shù)來(lái)對(duì)數(shù)據(jù)進(jìn)行分散存儲(chǔ)差錯(cuò)編碼,以產(chǎn)生多個(gè)編碼數(shù)據(jù) 塊;以及 根據(jù)分散存儲(chǔ)差錯(cuò)編碼將所述多個(gè)編碼數(shù)據(jù)塊成組為多個(gè)編碼數(shù)據(jù)塊成組; 第三模塊,當(dāng)能夠在所述計(jì)算設(shè)備內(nèi)操作時(shí),使所述計(jì)算設(shè)備執(zhí)行: 基于DST執(zhí)行單元能力信息和關(guān)于DST執(zhí)行單元集合的信息中的至少一個(gè)將任務(wù)分區(qū) 為部分任務(wù)的集合;以及 第四模塊,當(dāng)能夠在所述計(jì)算設(shè)備內(nèi)操作時(shí),使所述計(jì)算設(shè)備執(zhí)行: 將所述多個(gè)編碼數(shù)據(jù)塊成組中的至少一些輸出至DST執(zhí)行單元集合;以及 將部分任務(wù)的集合輸出至DST執(zhí)行單元集合以對(duì)所述多個(gè)編碼數(shù)據(jù)塊成組中的所述 至少一些執(zhí)行部分任務(wù)的集合。
      11. 根據(jù)權(quán)利要求10所述的DS模塊,進(jìn)一步包括: 所述第一模塊進(jìn)一步工作,以識(shí)別用于存儲(chǔ)所述多個(gè)編碼數(shù)據(jù)塊成組的DST執(zhí)行單元 超集,其中,DST執(zhí)行單元超集包括DST執(zhí)行單元集合;以及 所述第四模塊進(jìn)一步工作,以將所述多個(gè)編碼數(shù)據(jù)塊成組中的其他編碼數(shù)據(jù)塊成組輸 出至DST執(zhí)行單元超集中的其他DST執(zhí)行單元,其中,DST執(zhí)行單元超集存儲(chǔ)所述多個(gè)編碼 數(shù)據(jù)塊成組。
      12. 根據(jù)權(quán)利要求10所述的DS模塊,其中,所述第一模塊工作以通過(guò)執(zhí)行下述操作來(lái) 選擇DST執(zhí)行單元集合: 確定任務(wù)的執(zhí)行要求; 按照?qǐng)?zhí)行要求來(lái)分析多個(gè)DST執(zhí)行單元的DST執(zhí)行能力信息; 識(shí)別所述多個(gè)DST執(zhí)行單元中的具有與執(zhí)行要求相對(duì)應(yīng)的能力的DST執(zhí)行單元;以及 從所識(shí)別的DST執(zhí)行單元中選擇DST執(zhí)行單元集合。
      13. 根據(jù)權(quán)利要求10所述的DS模塊,其中,所述第二模塊工作以進(jìn)一步通過(guò)執(zhí)行下述 操作來(lái)對(duì)所述多個(gè)編碼數(shù)據(jù)塊進(jìn)行成組: 基于DST執(zhí)行單元能力信息和關(guān)于DST執(zhí)行單元集合的信息中的至少一個(gè)將所述多個(gè) 編碼數(shù)據(jù)塊成組為所述多個(gè)編碼數(shù)據(jù)塊成組,其中,所述多個(gè)編碼數(shù)據(jù)塊成組中的第一編 碼數(shù)據(jù)塊成組包括比所述多個(gè)編碼數(shù)據(jù)塊成組中的第二編碼數(shù)據(jù)塊成組更少的編碼數(shù)據(jù) 塊。
      14. 根據(jù)權(quán)利要求10所述的DS模塊,其中,所述第三模塊工作以通過(guò)下述各項(xiàng)之一將 任務(wù)分區(qū)為部分任務(wù)的集合: 針對(duì)DST執(zhí)行單元集合中的每一個(gè)DST執(zhí)行單元復(fù)制任務(wù)以產(chǎn)生部分任務(wù)的集合; 識(shí)別任務(wù)的子任務(wù)并基于所識(shí)別的子任務(wù)來(lái)產(chǎn)生部分任務(wù)的集合;以及 識(shí)別任務(wù)的子任務(wù)并針對(duì)DST執(zhí)行單元集合中的每一個(gè)DST執(zhí)行單元復(fù)制所識(shí)別的子 任務(wù)以產(chǎn)生部分任務(wù)的集合。
      15. 根據(jù)權(quán)利要求10所述的DS模塊,其中,所述第四模塊工作以通過(guò)執(zhí)行下述操作來(lái) 輸出所述多個(gè)編碼數(shù)據(jù)塊成組中的所述至少一些: 基于對(duì)應(yīng)的DST執(zhí)行單元標(biāo)識(shí)符、與所選DST執(zhí)行單元的迪菲-赫爾曼交換、與數(shù)據(jù)相 關(guān)聯(lián)的數(shù)據(jù)標(biāo)識(shí)符以及所獲取的密鑰中的一個(gè)或多個(gè),針對(duì)所述多個(gè)編碼數(shù)據(jù)塊成組中的 所述至少一些中的與DST執(zhí)行單元集合中的所選DST執(zhí)行單元相關(guān)聯(lián)的編碼數(shù)據(jù)塊成組生 成加密密鑰; 使用所述加密密鑰來(lái)對(duì)該編碼數(shù)據(jù)塊成組進(jìn)行加密,以產(chǎn)生加密后的編碼數(shù)據(jù)塊成 組;以及 將加密后的編碼數(shù)據(jù)塊成組輸出至所選DST執(zhí)行單元。
      16. -種分散存儲(chǔ)(DS)模塊,包括: 第一模塊,當(dāng)能夠在計(jì)算設(shè)備內(nèi)操作時(shí),使所述計(jì)算設(shè)備執(zhí)行: 識(shí)別分布式存儲(chǔ)和任務(wù)(DST)執(zhí)行單元超集中的DST執(zhí)行單元集合,其中,DST執(zhí)行單 元超集將所存儲(chǔ)的數(shù)據(jù)存儲(chǔ)為多個(gè)編碼數(shù)據(jù)塊成組,其中,根據(jù)分散存儲(chǔ)差錯(cuò)編碼參數(shù)來(lái) 對(duì)數(shù)據(jù)進(jìn)行分散存儲(chǔ)差錯(cuò)編碼,以產(chǎn)生被布置到所述多個(gè)編碼數(shù)據(jù)塊成組中的多個(gè)編碼數(shù) 據(jù)塊; 第二模塊,當(dāng)能夠在所述計(jì)算設(shè)備內(nèi)操作時(shí),使所述計(jì)算設(shè)備執(zhí)行: 基于DST執(zhí)行單元能力信息和關(guān)于DST執(zhí)行單元集合的信息中的至少一個(gè)將所存儲(chǔ)的 數(shù)據(jù)上的分布式計(jì)算的任務(wù)分區(qū)為部分任務(wù)的集合;以及 第三模塊,當(dāng)能夠在所述計(jì)算設(shè)備內(nèi)操作時(shí),使所述計(jì)算設(shè)備執(zhí)行: 將部分任務(wù)的集合輸出至DST執(zhí)行單元集合,以對(duì)由DST執(zhí)行單元集合存儲(chǔ)的多個(gè)編 碼數(shù)據(jù)塊成組的集合執(zhí)行部分任務(wù)的集合,其中,數(shù)據(jù)能夠從所述多個(gè)編碼數(shù)據(jù)塊成組的 集合恢復(fù),并且所述多個(gè)編碼數(shù)據(jù)塊成組中的其他編碼數(shù)據(jù)塊成組用于差錯(cuò)編碼冗余。
      17. 根據(jù)權(quán)利要求16所述的DS模塊,其中,所述第二模塊工作以通過(guò)下述各項(xiàng)之一將 任務(wù)分區(qū)為部分任務(wù)的集合: 針對(duì)DST執(zhí)行單元集合中的每一個(gè)DST執(zhí)行單元復(fù)制任務(wù)以產(chǎn)生部分任務(wù)的集合; 識(shí)別任務(wù)的子任務(wù)并基于所識(shí)別的子任務(wù)來(lái)產(chǎn)生部分任務(wù)的集合;以及 識(shí)別任務(wù)的子任務(wù)并針對(duì)DST執(zhí)行單元集合中的每一個(gè)DST執(zhí)行單元復(fù)制所識(shí)別的子 任務(wù)以產(chǎn)生部分任務(wù)的集合。
      18. 根據(jù)權(quán)利要求16所述的DS模塊,其中,所述第一模塊工作以通過(guò)下述至少一項(xiàng)來(lái) 識(shí)別DST執(zhí)行單元集合: 基于分散存儲(chǔ)差錯(cuò)編碼參數(shù)來(lái)確定數(shù)據(jù)的恢復(fù)閾值,并基于恢復(fù)閾值來(lái)選擇DST執(zhí)行 單元超集中的多個(gè)DST執(zhí)行單元; 將DST執(zhí)行單元集合識(shí)別為DST執(zhí)行單元超集中的存儲(chǔ)多個(gè)編碼數(shù)據(jù)切片中的數(shù)據(jù)切 片的DST執(zhí)行單元;以及 將DST執(zhí)行單元集合識(shí)別為DST執(zhí)行單元超集中的DST執(zhí)行單元,其中,DST執(zhí)行單元 集合中的DST執(zhí)行單元存儲(chǔ)所述多個(gè)編碼數(shù)據(jù)塊成組中的編碼數(shù)據(jù)塊成組,并且其中,所 述DST執(zhí)行單元從該編碼數(shù)據(jù)塊成組恢復(fù)數(shù)據(jù)的部分。
      【文檔編號(hào)】G06F17/30GK104106055SQ201280061203
      【公開(kāi)日】2014年10月15日 申請(qǐng)日期:2012年12月11日 優(yōu)先權(quán)日:2011年12月12日
      【發(fā)明者】韋斯利·萊格特, 安德魯·巴普蒂斯特, 格雷格·杜斯, 詹森·K·雷希, 伊利亞·沃爾沃夫斯基, 馬尼斯·莫特瓦尼, S·克里斯多佛·格拉斯文, 加里·W·格魯布, 托馬斯·富蘭克林·小雪利 申請(qǐng)人:智能保險(xiǎn)裝置有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1