freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于糾錯碼的冗余技術的研究——evenodd碼的設計與實現(xiàn)—計算機畢業(yè)設計-資料下載頁

2024-11-29 01:13本頁面

【導讀】由于網(wǎng)絡技術的迅猛發(fā)展,存儲系統(tǒng)的規(guī)模變得越來越龐大。因此它對系統(tǒng)的可靠性。提出了嚴峻的挑戰(zhàn)。而采用EVENODD編碼算法的布局策略可以同時容許兩個數(shù)據(jù)塊同時出。錯,可以很好的保證系統(tǒng)的穩(wěn)定性。它已經(jīng)被廣泛應用在RAID(RedundantArraysof. 本論文從EVENODD編碼原理出發(fā),詳細介紹了EVENODD的。實現(xiàn)了該編碼過程的仿真。在本論文中還對該仿真軟件的設計思路、開發(fā)過程、以及主要功。EVENODD碼仿真軟件的實現(xiàn)是理論運用于實際的又一典。通過對其編碼和譯碼核心算法的調(diào)用,可以實現(xiàn)圖片、二進制文件等格式的備份和恢復。

  

【正文】 che)。 } (tempMatrix2, temp)。 tempMemory[error2].read(temp)。 }else if((error1 = 0 amp。amp。 error1 2)amp。amp。(error2 = 0 amp。amp。 error2 2)){//兩個原數(shù)據(jù) 塊 出錯 int m = 2。 dataCache = new int[tempMemory[0].getRow() + 1][m + 2]。 int[][] tempCache = new int[tempMemory[0].getRow()][m + 2]。 tempMatrix1 = new int[tempMemory[0].getRow()][tempMemory[0].getColumn()]。 tempMatrix2 = new int[tempMemory[0].getRow()][tempMemory[0].getColumn()]。 for(int i = 0 。 i tempMemory[0].getColumn() 。 i++){ int s = 0 。 int[] sh = new int[m]。 int[] sd = new int[m]。 int k = 0。 tempCache = (tempMemory, i)。 for(int j = 0 。 j 。 j++) s = s ^ tempCache[j][m] ^ tempCache[j][m + 1]。//求公因子 s :將所有校驗位相異或 dataCache = (tempCache)。 /**求 sh、 sd(公式 3 38) */ for(int u = 0 。 u m 。 u++){ for(int l = 0 。 l = m 。 l++)//求 sh if(l != error1 amp。amp。 l != error2){sh[u] = sh[u] ^ dataCache[u][l]。} sd[u] = s ^ dataCache[u][m + 1]。 for(int l = 0 。 l m 。 l++){ if(l != error1 amp。amp。 l != error2){ sd[u] = sd[u] ^ dataCache[(u l + m)%m][l]。 } } } /**修復數(shù)據(jù) */ k = (m (error2 error1) 1) % m。 while(k != m 1){ dataCache[k][error2] = sd[(error2 + k + m)%m] ^ dataCache[(k + error2 error1 + m)%m][error1]。 dataCache[k][error1] = sh[k] ^dataCache[k][error2]。 k = (k (error2 error1) + m) % m。 } for(int j = 0 。 j 。 j ++){//數(shù)據(jù)轉(zhuǎn)移 tempMatrix1[j][i] = dataCache[j][error1]。 tempMatrix2[j][i] = dataCache[j][error2]。 } } tempMemory[error1].read(tempMatrix1)。 tempMemory[error2].read(tempMatrix2)。 }else{ (error : fail to find the error disk !!)。 (0)。 } }else if(error2 == 1 amp。amp。 error1 != 1){//只有一個 數(shù)據(jù)塊 出錯 int m = 2。 int[][] dataCache = new int[tempMemory[0].getRow()][m]。 int[][] tempMatrix = new int[tempMemory[0].getColumn()][tempMemory[0].getRow()]。 pictureInComp[] corectObj = new pictureInComp[m]。 int [][] temp = new int[tempMemory[0].getRow()][tempMemory[0].getColumn()]。//充當數(shù)組轉(zhuǎn)置時的臨時變量 if(error1 1 amp。amp。 error1 =0){//出錯 數(shù)據(jù)塊 是水平校驗位或者原數(shù)據(jù) for(int i = 0 ,j = 0。 i m + 1 。 i++){ if(i != error1){ corectObj[j++]=(pictureInComp)tempMemory[i].clone()。 } } for(int i = 0 。 i 。 i++){ dataCache = (corectObj, i)。 tempMatrix[i] = (dataCache)。 } (tempMatrix, temp)。 tempMemory[error1].read(temp)。 }else if(error1 == 1){//出錯 數(shù)據(jù)塊 是對角校驗位 數(shù)據(jù)塊 (tempMemory, 0, corectObj, 0, m)。 for(int i = 0 。 i 。 i++){ dataCache = (corectObj, i)。 tempMatrix[i] = (dataCache,(dataCache)。 } (tempMatrix, temp)。 tempMemory[error1].read(temp)。 }else{ ( error : fail to find the error disk !!)。 (0)。 } }else{//錯誤 數(shù)據(jù)塊 不能找到 ( error : fail to find the error disk !!)。 (0)。 } } 算法接口實現(xiàn) 本軟件的編碼和 譯碼 功能是通過分別調(diào)用編碼和譯碼算法實現(xiàn)的。因此在實現(xiàn)該功能時必須實現(xiàn)該算法的接口。 編碼功能接口設計 通過對“ EVENODD 編碼算法”的介紹我們可以知道,編碼算法的接口是一個pictureInComp 對象數(shù)組。在編碼功能的實現(xiàn)過程中,我們必須把輸入的圖片處理成 為適合該接口的數(shù)據(jù)。因此后面的過程顯得相當?shù)谋匾S捎谳斎霐?shù)據(jù)是圖像的格式,首先我們必須利用圖像分割功能將該處理圖像的像素讀出來并創(chuàng)建一個 pictureInComp 對象存入其中。從而使每個待處理圖像組成一個對象數(shù)組。由于,每個對象數(shù)組的大小要遠遠大于 encode算法中所要求的 4 5數(shù)組。因此在調(diào)用該算法之前,我們必須依次從每個對象中取出 4 5大小的數(shù)組并再次組成一個對象數(shù)組,調(diào)用 encode算法進行處理。 經(jīng)過編碼算法處理后得到的數(shù)據(jù)將是一個帶有 4 5大小數(shù)據(jù)的對象,并不是一張完整的圖片,因此我們必須將這些 零碎的小數(shù)組重新組合到一個與原對象大小相同的對象中,直到圖片對象的每個像素處理完為止。這樣才能通過圖像表達功能顯示出與原數(shù)據(jù)大小相符的冗余圖像。 在此值得說明的一點是,在圖片處理過程中像素是由 RGB 值構成的,我們進行的對像素的編碼實際上是對 RGB值編碼,編碼后得到的冗余校驗數(shù)據(jù)將重新組合成新的像素。 編碼功能接口流程圖 編碼功能接口的流程圖如圖 5: 譯碼功能接口設計 譯 碼功能接口的實現(xiàn)與編碼功能類似,他們處理的對象都是圖片格式的。唯一不同點就是在調(diào)用譯碼算法之前,我們必須從復選框中得到出錯圖片的編號。并且 在獲取圖片像素時,針對出錯圖片的處理方法是直接將出錯圖片的數(shù)據(jù)重新 賦為全部值是 0 的最大數(shù)組。 節(jié)介紹了 EVENODD 譯碼算法的設計,從上面的敘述我們可以知道,譯碼算法的接口有兩種情況即 decode(pictureInComp[],int) 和decode(pictureInComp[],int,int)。因此在調(diào)用該方法是我們要針對不同的出錯圖片數(shù)調(diào)用不同的方法。 譯碼功能接口設計流程圖 譯碼 功能接口實現(xiàn)流程圖如圖 6: 圖 5 編碼功能接口實現(xiàn)流程圖 獲取每張圖片的像素存于數(shù)組 p ix el檢查是否有數(shù)據(jù)對象讀入使每個對象數(shù)據(jù)行列一致i imageArray [ 0 ].getRow ()j imageArray [ 0 ]. getColumn ()分別獲取每個對象的固定大小的數(shù)據(jù)并將他們的 R GB 值分離出來調(diào)用 en co d in g 方法生成每個 R GB 值的冗余校驗數(shù)據(jù)將生成的 R GB 校驗值重新組合成像素 j + 5 i + 4將經(jīng)過編碼后的值傳入存儲像素的數(shù)組實例化冗余校驗對象結束開始在指定位置顯示編碼結果顯示出錯信息是否否是是否 圖 6 譯碼 功能接口實現(xiàn) 流程圖 獲取該圖片的像素存于數(shù)組 p ix el檢查是否有出錯圖片選中使每個對象數(shù)據(jù)行列一致i imageArray [ 0 ]. getRow ()j imageArray [ 0 ].getColumn ()分別獲取每個對象的固定大小的數(shù)據(jù)并將他們的 R GB 值分離出來根據(jù)錯誤域的個數(shù)調(diào)用d eco d in g 方法生成每個R GB 值的冗余校驗數(shù)據(jù)將生成的 R GB 校驗值重新組合成像素 j + 5 i + 4將經(jīng)過編碼后的值傳入存儲像素的數(shù)組實例化冗余校驗對象結束獲取出錯圖片的編號獲取待處理圖片中的最大長 tem p H 寬 tem p W i im ag eArray . len g th該數(shù)據(jù)域是否有圖片實例化該圖片對象并將其數(shù)據(jù)屬性設為 0 i ++開始是顯示出錯信息否是無有否是是否否在指定位置顯示編碼結果 4 軟件操作說明 “基于糾錯碼的容錯技術之 EVENODD 碼設計與實現(xiàn)” 軟件是基于 java 編譯技術實現(xiàn)的,因此該軟件可以在任意操作環(huán)境中運行。 在運行該軟件時首先出現(xiàn)在用戶面前的是一個十分友好的用戶界面,如圖 7。 很 明顯 ,該軟件主要分為菜單欄、快捷鍵欄和數(shù)據(jù)顯示域三部分。其中快捷鍵欄中的快捷按鈕功能在菜單欄中均能找到。下面我們對該軟件的主要操作過程及測試結果做一個簡單的介紹。 圖 7 軟件操作主 界 面 打開 首先我們在選擇要打開的文件之前必須給打開的文件選擇存放的區(qū)域,即在數(shù)據(jù)顯示域的復選框中選擇。否 則系統(tǒng)將對彈出對話框?qū)δ愕牟僮鬟M行提示,如圖 8。在選擇了顯示的區(qū)域后我們按照以下的步驟可以順利打開文件。單擊“ File” → 選擇 “ open”或者直接點擊 open 按鈕就會彈出一個文件選擇對話框,如圖 9。在選擇文件后,圖片顯示如圖 10 所示: 圖 8 打開文件出錯提示 圖 9 選擇文件對話框 圖 10 打開圖片顯示效 果 編碼 在對數(shù)據(jù)顯示域 data data data data data5都添加了數(shù)據(jù)后,我們就可以按照下列順序生成冗余校驗圖片了。單擊“ Edit” → 選擇“ Encode”或者單擊 encode按鈕。注意:在執(zhí)行該功能之前一定要將 data data data data data5 的 5 個復選框選中,否則系統(tǒng)會提示你選擇復選框。執(zhí)行完該功能后生成的冗余校驗圖片將顯示在 redundancy Data數(shù)據(jù)域中,如圖 11: 圖 11 編碼結果 數(shù)據(jù)破壞 為了體現(xiàn)演示的效果,在執(zhí)行 譯碼 操作之前我們必須將要 譯碼 的數(shù)據(jù)破壞。因此我們 可以按照下列步驟執(zhí)行該功能。選擇將要破壞的圖片對應的復選框,單擊“ Edit” → 選擇“ Data_Destroy”或者單擊 destroy按鈕。 Data2數(shù)據(jù)域破壞 后的執(zhí)行結果如圖 12: 圖 12 data2數(shù)據(jù)域圖片破壞 譯碼 譯碼 操作后的主要效果就是讓圖片恢復正常,它的主要操作步驟如:先選中要恢復的圖片的數(shù)據(jù)域,然后單擊“ Edit” →選擇 Decode”或者單擊 decode按鈕。在此值得注意的是選擇恢復數(shù)據(jù)的復選框最多為 2 個。其執(zhí)行后的效果圖
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1