專利名稱:高清視頻文件的完整性校驗方法
技術領域:
本發(fā)明涉及一種高清視頻文件的完整性校驗方法。
技術背景
隨著數(shù)字高清視頻技術的發(fā)展,數(shù)字拷貝逐漸取代傳統(tǒng)拷貝,成為家庭觀看電影的載體。由于現(xiàn)在的高清視頻文件動輒幾十G的體積,加大了傳輸過程中錯誤損耗的,對高清視頻的完整性校驗成為了需求。目前,傳統(tǒng)的文件數(shù)據完整性校驗一般采用SHA-I碼的方式進行,此方法最大的瓶頸為檢驗高清視頻文件完整性的速度,對于20GB大小的高清視頻文件生成一次SHA-I需要大約400秒(雙核2. 8GHz CPU、2GB MEM下測試)。如果當使用者將視頻文件下載到本機后,還需要再生成一次SHA-I進行比對,那么耗時就將成倍數(shù)增長。對于已經走進生活的全高清時代,用傳統(tǒng)的SHA-I對高清視頻文件的完整性進行校驗, 會降低用戶的使用體驗。發(fā)明內容
本發(fā)明針對以上問題的提出,而研制一種能夠快速高效地校驗高清視頻文件完整性的校驗方法。本發(fā)明采用的技術效果如下
一種高清視頻文件的完整性校驗方法,其特征在于包括如下步驟
第一步、從外部存儲器上讀取目標高清視頻文件,并將高清視頻文件映射到系統(tǒng)物理內存的虛擬地址空間中;
第二步、將映射到內存的數(shù)據進行智能數(shù)據分組;
第三步、分N個線程并行處理分組后的數(shù)據塊,具體處理為分別并行對數(shù)據塊執(zhí)行SHA-I算法,得到各數(shù)據塊的哈希散列數(shù)據即SHA-I碼SHA-11、SHA-12、SHA-13、SHA-14、 SHA-15……SHA-1N,其中N為具體分成的線程數(shù);
第四步、將各個數(shù)據塊的指紋即SHA-I碼累加,得到整個高清視頻文件的SHA-I碼指紋信息,整個高清視頻文件的SHA-I碼值為N個數(shù)據塊SHA-I的值相加,S卩(SHA_11) + (S HA-12) + (SHA-13) + (SHA-14) + (SHA-15)……+ (SHA-IN),以上步驟獲得了高清視頻文件的目標SHA-I指紋,將目標SHA-I指紋和源SHA-I指紋比較,如果二者相同則文件完整性狀態(tài)正常反之則文件不完整。
所述第一步中將高清視頻文件映射到系統(tǒng)物理內存的虛擬地址空間中的方法包括以下步驟
(1)從高清視頻文件智能數(shù)據分組開始點映射數(shù)據塊;
(2)對該映射的數(shù)據塊進行訪問,取得SHA-I哈希散列數(shù)據;
(3)取消此分組在內存中的映射;
(4)從高清視頻文件中下一個未映射的分組位置開始映射一個新的分組;
(5)重復步驟(2) ,直到所有的文件數(shù)據訪問完畢。
本發(fā)明的有益效果是解決了傳統(tǒng)方法校驗高清視頻文件時間開銷大、執(zhí)行效率低下等缺點,使得高效迅速地檢查高清視頻文件在網絡傳輸過程中是否存在掉包及數(shù)據傳輸錯誤的問題和拷貝及存儲過程中數(shù)據被篡改和被病毒感染等問題,確保文件的原始和完整性。
圖1高清視頻文件完整性快速校驗流程圖2高清視頻文件完整性快速校驗SHA-I并行處理示意圖。
具體實施方式
如圖1和2所示一種高清視頻文件的完整性校驗方法,包括如下步驟
第一步、從外部存儲器上讀取目標高清視頻文件,并將高清視頻文件映射到系統(tǒng)物理內存的虛擬地址空間中;
第二步、將映射到內存的數(shù)據進行智能數(shù)據分組;
第三步、分N個線程并行處理分組后的數(shù)據塊,具體處理為分別并行對數(shù)據塊執(zhí)行SHA-I算法,得到各數(shù)據塊的哈希散列數(shù)據即SHA-I碼SHA-11、SHA-12、SHA-13、SHA-14、 SHA-15……SHA-1N,其中N為具體分成的線程數(shù);
第四步、將各個數(shù)據塊的指紋即SHA-I碼(即哈希散列數(shù)據)累加,得到整個高清視頻文件的SHA-I碼(即哈希散列數(shù)據)指紋信息,整個高清視頻文件的SHA-I碼值為 N 個數(shù)據塊 SHA-I 的值相加,即(SHA-11) + (SHA-12) + (SHA-13) + (SHA-14) + (SHA-15)......+ (SHA-IN),以上步驟獲得了高清視頻文件的目標SHA-I指紋,將目標SHA-I指紋和源SHA-I 指紋比較,如果二者相同則文件完整性狀態(tài)正常反之則文件不完整。
其中內存映射(Memory Map)把存儲器上高清視頻文件映射到系統(tǒng)物理內存的虛擬地址空間中,實現(xiàn)高清視頻文件數(shù)據的快速存取;智能數(shù)據分組(Smart Grouping) 將映射到內存的數(shù)據進行智能分組,映射為多個數(shù)據塊;指紋提取(Fingerprint Collect)對已分組的數(shù)據塊分別執(zhí)行SHA-I算法,分別得到各個數(shù)據塊的哈希散列數(shù)據即數(shù)據指紋;指紋合成(Fingerprint Compose)將各個數(shù)據塊的哈希散列數(shù)據累加,得到整個高清視頻文件的SHA-I碼指紋信息。
所述第一步中將高清視頻文件映射到系統(tǒng)物理內存的虛擬地址空間中的方法包括以下步驟
(1)從高清視頻文件智能數(shù)據分組開始點映射數(shù)據塊;
(2)對該映射的數(shù)據塊進行訪問,取得SHA-I哈希散列數(shù)據;
(3)取消此分組在內存中的映射;
(4)從高清視頻文件中下一個未映射的分組位置開始映射一個新的分組;
(5)重復步驟O) ,直到所有的文件數(shù)據訪問完畢。
具體實例如下
其中虛擬地址空間的區(qū)域是在0x80000000 OxBFFFFFFF內;智能數(shù)據分組所得到的數(shù)據塊大小為U8MB。下面以5個線程并行對數(shù)據塊執(zhí)行SHA-I算法為例,結合實施例進一步描述本發(fā)明的技術方案
第一步從外部存儲器上讀取目標高清視頻文件,并將高清視頻文件映射到系統(tǒng)物理內存的虛擬地址空間區(qū)域為0x80000000 OxBFFFFFFF,其步驟為先映射文件分組開始點的數(shù)據塊,然后對該映射的數(shù)據塊進行訪問,再取消此映像并映射下一個未映射的分組,如此反復映射知道訪問全部的文件數(shù)據。
第二步將映射到內存的數(shù)據進行智能分組,數(shù)據塊大小一般為U8MB。
第三步分5個線程并行處理分組后的數(shù)據塊,具體處理為分別并行對數(shù)據塊執(zhí)行SHA-I算法,得到各數(shù)據塊的哈希散列數(shù)據即SHA-I碼(哈希散列數(shù)據)SHA-11、SHA-12、 SHA-13、SHA-14和SHA-15。與一次性對整個高清視頻文件做SHA-I運算相比較,極大地加快了處理速度。
第四步SHA-1指紋合成,將各個數(shù)據塊的指紋即SHA-I碼(哈希散列數(shù)據)累加, 得到整個高清視頻文件的SHA-I碼指紋信息,整個高清視頻文件的SHA-I碼值為5個數(shù)據塊 SHA-I 的值相加,即(SHA-11) + (SHA-12) + (SHA-13) + (SHA-14) + (SHA-15)
以上步驟獲得了高清視頻文件的目標SHA-I指紋,將目標SHA-I (哈希散列數(shù)據) 指紋和源SHA-I (哈希散列數(shù)據)指紋比較,如果二者相同則文件完整性狀態(tài)正常,反之則文件不完整。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,根據本發(fā)明的技術方案及其發(fā)明構思加以等同替換或改變,都應涵蓋在本發(fā)明的保護范圍之內。
權利要求
1.一種高清視頻文件的完整性校驗方法,其特征在于包括如下步驟第一步、從外部存儲器上讀取目標高清視頻文件,并將高清視頻文件映射到系統(tǒng)物理內存的虛擬地址空間中;第二步、將映射到內存的數(shù)據進行智能數(shù)據分組;第三步、分N個線程并行處理分組后的數(shù)據塊,具體處理為分別并行對數(shù)據塊執(zhí)行 SHA-I算法,得到各數(shù)據塊的哈希散列數(shù)據即SHA-I碼SHA-11、SHA-12、SHA-13、SHA-14、 SHA-15……SHA-1N,其中N為具體分成的線程數(shù);第四步、將各個數(shù)據塊的指紋即SHA-I碼累加,得到整個高清視頻文件的目標SHA-I指紋信息,整個高清視頻文件的SHA-I碼值為N個數(shù)據塊SHA-I的值相加,即(SHA_11) + (SHA-12) + (SHA-13) + (SHA-14) + (SHA-15)......+ (SHA-IN),然后將目標 SHA-I 指紋和源 SHA-I 指紋比較,如果二者相同則文件完整性狀態(tài)正常反之則文件不完整。
2.根據權利要求1所述的一種高清視頻文件的完整性校驗方法,其特征在于所述第一步中將高清視頻文件映射到系統(tǒng)物理內存的虛擬地址空間中的方法包括以下步驟(1)從高清視頻文件智能數(shù)據分組開始點映射數(shù)據塊;(2)對該映射的數(shù)據塊進行訪問,取得SHA-I;(3)取消此分組在內存中的映射;(4)從高清視頻文件中下一個未映射的分組位置開始映射一個新的分組;(5)重復步驟O) G),直到所有的文件數(shù)據訪問完畢。
全文摘要
本發(fā)明公開了一種高清視頻文件的完整性校驗方法,其特征在于包括如下步驟第一步、從外部存儲器上讀取目標高清視頻文件,并將高清視頻文件映射到系統(tǒng)物理內存的虛擬地址空間中;第二步、將映射到內存的數(shù)據進行智能數(shù)據分組;第三步、分N個線程并行處理分組后的數(shù)據塊,具體處理為分別并行對數(shù)據塊執(zhí)行SHA-1算法;第四步、將各個數(shù)據塊的指紋即SHA-1碼累加,得到整個高清視頻文件的目標SHA-1指紋,將目標SHA-1指紋和源SHA-1指紋比較,如果二者相同則文件完整性狀態(tài)正常反之則文件不完整。該方法能夠有效的確保文件的原始和完整性,適于在視頻文件的校驗中廣泛推廣。
文檔編號H04N21/442GK102497597SQ20111040016
公開日2012年6月13日 申請日期2011年12月5日 優(yōu)先權日2011年12月5日
發(fā)明者張彬, 蘆靖, 葛亮 申請人:中國華錄集團有限公司