亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種MD5雙重校驗(yàn)?zāi)P脱芯考皯?yīng)用

        2019-09-12 10:41:42張明禮袁佳峰
        關(guān)鍵詞:一致性

        張明禮 袁佳峰

        摘 要:本文提出了基于MD5算法的雙重校驗(yàn)?zāi)P?,?shí)現(xiàn)了跨平臺(tái)的版本一致性校驗(yàn),可完成任意形式文件集合的一致性比對。介紹了該模型在投產(chǎn)版本交付、測試過程版本管理和測試案例集內(nèi)容比對等領(lǐng)域的實(shí)際應(yīng)用情況。

        關(guān)鍵詞:版本文件;MD5;一致性;散列

        文章編號(hào):2095-2163(2019)04-0234-03 中圖分類號(hào):TP311 文獻(xiàn)標(biāo)志碼:A

        0 引 言

        隨著金融科技的快速發(fā)展,金融產(chǎn)品推陳出新日益加快,軟件版本發(fā)布頻率越來越高。如何加強(qiáng)開發(fā)、測試、運(yùn)維團(tuán)隊(duì)之間的協(xié)作,有效管控版本文件在整個(gè)軟件生命周期中的交付風(fēng)險(xiǎn)[1],如何防范客觀上的差錯(cuò)風(fēng)險(xiǎn)和主觀上的篡改風(fēng)險(xiǎn),是軟件行業(yè)特別是金融行業(yè)需關(guān)注的問題。

        MD5[2]是一種散列(Hash)技術(shù),廣泛用于加密、解密、數(shù)據(jù)簽名和數(shù)據(jù)完整性校驗(yàn)等方面。本文主要關(guān)注數(shù)據(jù)完整性校驗(yàn)問題,對于任何一個(gè)文件,無論代碼文件、可執(zhí)行程序、或者其它類型的文件,不管文件字節(jié)數(shù)的多少,都可以計(jì)算出一個(gè)MD5值,可以通過對比同一文件的 MD5 值來判斷文件是否被篡改。目前通行的做法是使用MD5算法解決單一文件的比對,本文基于標(biāo)準(zhǔn)MD5算法,提出了一種MD5雙重校驗(yàn)?zāi)P?,可以處理任意形式文件集合的一致性比對,在不改變交付物目錄結(jié)構(gòu)的情況下,有效防范投產(chǎn)版本交付、測試版本過程管控[3]中的操作風(fēng)險(xiǎn)。

        1 MD5校驗(yàn)?zāi)P徒榻B

        1.1 MD5雙重校驗(yàn)?zāi)P驮?/p>

        模型的技術(shù)原理為,使用標(biāo)準(zhǔn)MD5散列算法獲得每個(gè)文件的MD值(第一次),遍歷并記錄所有文件的文件路徑、文件名和MD5值,形成中間過程文件(文件不落地的情況下為字節(jié)流),針對該文件(字節(jié)流)生成MD5值(第二次),如圖1所示。

        1.2 模型設(shè)計(jì)目標(biāo)

        (1)對于任意形式(單一文件、復(fù)雜層級(jí)文件夾)的版本文件,最終生成唯一的MD5值。

        (2)兼容主流操作系統(tǒng),在不改變?nèi)魏蜗到y(tǒng)設(shè)置情況下,實(shí)現(xiàn)跨平臺(tái)的一致性校驗(yàn)(UNIX和WINDOWS),即對于同一文件集合,在WINDOWS和UNIX平臺(tái)下生成的最終MD5值應(yīng)相同。

        1.3 算法生成步驟

        (1)遞歸方式遍歷所有層級(jí)文件,以版本文件及其路徑構(gòu)建版本信息二叉排序樹,并生成每個(gè)文件的MD5值。

        (2)遍歷二叉樹,生成包含文件名稱、文件路徑、MD5值信息的中間過程文件(字節(jié)流)。

        (3)對中間過程文件(字節(jié)流)再次生成MD5值,該MD5值可記錄至平臺(tái)或通過郵件告知相關(guān)方,并作為一致性比對依據(jù)。

        2 實(shí)例驗(yàn)證

        以個(gè)人網(wǎng)銀系統(tǒng)日常變更的版本文件作為實(shí)例,說明該校驗(yàn)?zāi)P偷膽?yīng)用情況。

        (1)在個(gè)人網(wǎng)銀系統(tǒng)20190327版本包中,包含一個(gè)20190327文件夾,該文件夾內(nèi)有menusNew.xml等4個(gè)文件。

        (2)中間過程文件,每一行對應(yīng)一個(gè)文件葉子節(jié)點(diǎn)的MD5值,由文件路徑,文件名組成,如圖2所示。該文件可以根據(jù)需要寫到本地備查,也可以不落地直接生成MD5。針對此中間過程文件,2次生成MD5值32F1BE00B64BAC55D73EF02DB0E494C0,該MD5值可以通過平臺(tái)或郵件,通知不同的操作人員,作為版本文件一致性的比對依據(jù)。

        (3)Windows客戶端工具。客戶端工具支持Windows下的文件比對,文件路徑指版本文件在本地的存放路徑。平臺(tái)(遠(yuǎn)程)MD5值是基于中間文件生成的最終MD5值。本地MD5值是根據(jù)本地文件生成的MD5值。在D:\\MD5目錄下,存放了網(wǎng)銀20190327版本包,Windows客戶端工具如圖3所示。

        (4)UNIX平臺(tái)客戶端比對工具。 UNIX類平臺(tái)雖然具有多樣性,但一般都預(yù)裝有perl解釋器,并且無需安裝運(yùn)行環(huán)境,普通用戶可以直接執(zhí)行。經(jīng)過調(diào)研比較,本研究選擇perl語言開發(fā)比對工具,兼容AIX、 HP-UX、 LINUX等UNIX類工作平臺(tái),要求perl環(huán)境為5.6及以上版本。工具支持文件和目錄的校驗(yàn),支持相對路徑和絕對路徑,通過如下格式調(diào)用perl腳本進(jìn)行MD5一致性校驗(yàn):

        perl md5check.pl –d directory(filename) -m md5Value。

        Perl環(huán)境版本號(hào)檢查方法如下:

        [host1013_cbs]/cbs/md5 >perl -v

        This is perl,v5.10.1 (*) built for aix-thread-multi

        在/cbs/md5/nb目錄下,存放了網(wǎng)銀20190327版本包,下面給出了3種情況的比對示例:

        ①輸入正確的MD5值,提示MD5比對通過:

        [host1013_cbs]/cbs/md5 >perl md5check.pl-d nb -m 32F1BE00B64BAC55D73EF02DB0E494C0

        MD5 Verified OK

        ②輸入錯(cuò)誤的MD5值,提示MD5比對不通過:

        [host1013_cbs]/cbs/md5 >perl md5check.pl-d nb -m 32F1BE00B64BAC55D73EF02DB0E494C1

        MD5 Verified FAILURE, please recheck the md5 value you input??!

        ③輸入正確的MD5值,但修改了版本文件menusNew.xml(例如在文件最后增加一個(gè)字符),提示MD5比對不通過:

        [host1013_cbs]/cbs/md5 >perl md5check.pl-d nb -m 32F1BE00B64BAC55D73EF02DB0E494C0

        MD5 Verified FAILURE, please recheck the md5 value you input??!

        (5)性能表現(xiàn)。對于100 M以下的版本文件,在1 s內(nèi)即可獲得文件集的MD5結(jié)果;800 M以上版本文件,其處理時(shí)間在10 s內(nèi),屬于可接受的等待時(shí)間。但測試發(fā)現(xiàn),較大文件的CPU消耗略高,建議不要在生產(chǎn)環(huán)境的業(yè)務(wù)高峰期使用該工具。

        為了得到MD5客戶端工具的使用效率和性能開銷情況,按照版本文件大小區(qū)分,分別選取大中小3種類型的版本文件,進(jìn)行執(zhí)行時(shí)間、系統(tǒng)資源消耗的監(jiān)控,測試結(jié)果見表1。

        MD5客戶端工具的運(yùn)行時(shí)間和版本大小成正比,CPU資源的消耗主要和版本文件的大小、CPU主頻與數(shù)量、存儲(chǔ)設(shè)備性能等有關(guān)。

        3 應(yīng)用場景

        該模型在投產(chǎn)版本交付、測試過程版本管理和測試案例集內(nèi)容比對等領(lǐng)域得到了實(shí)際應(yīng)用,具體應(yīng)用情況如下:

        3.1 投產(chǎn)版本交付管理領(lǐng)域

        投產(chǎn)版本是指最終發(fā)布在生產(chǎn)環(huán)境中的一組特定軟件包及其各類附屬文件的集合,一般包括目標(biāo)代碼、腳本、配置文件和安裝說明文檔等。投產(chǎn)版本交付的主要環(huán)節(jié)為:版本文件在項(xiàng)目開發(fā)方制作完成后,經(jīng)由測試方測試通過,最終交付給運(yùn)維方在生產(chǎn)環(huán)境變更實(shí)施。對于任何一個(gè)版本文件集,開發(fā)方在制作完成后提交至版本平臺(tái),并檢驗(yàn)本地和平臺(tái)MD5值是否保持一致;測試方在MD5一致性校驗(yàn)通過后開展測試驗(yàn)證工作;實(shí)施方在MD5一致性校驗(yàn)通過后方可進(jìn)行生產(chǎn)環(huán)境發(fā)布??梢钥吹剑P偷膽?yīng)用貫穿了投產(chǎn)版本從開發(fā)、測試到投產(chǎn)的全過程。通過提供跨平臺(tái)MD5一致性校驗(yàn),滿足了應(yīng)用系統(tǒng)平臺(tái)多樣性需求,實(shí)現(xiàn)了浦發(fā)銀行應(yīng)用系統(tǒng)投產(chǎn)版本交付的全覆蓋,月均交付投產(chǎn)版本超過300個(gè)。該模型的成功應(yīng)用,替代了傳統(tǒng)的基于文件名、字節(jié)數(shù)和時(shí)間戳等內(nèi)容為主的手工比對,實(shí)現(xiàn)了針對版本內(nèi)容的一致性校驗(yàn)。不僅有效防范了客觀上的差錯(cuò)風(fēng)險(xiǎn)(例如網(wǎng)絡(luò)傳輸過程中的部分文件意外丟失)和主觀上的篡改風(fēng)險(xiǎn)(例如上傳未經(jīng)授權(quán)的惡意代碼),同時(shí)提高了版本比對效率,為應(yīng)用系統(tǒng)的安全投產(chǎn)與穩(wěn)定運(yùn)行提供了重要保障。

        3.2 測試版本過程管控領(lǐng)域

        生產(chǎn)環(huán)境的變更往往有嚴(yán)格的變更管理流程來管控,測試環(huán)境一般由項(xiàng)目組自行管理,應(yīng)用版本更新相對來說具有靈活性和隨意性。假定在某一輪測試過程中發(fā)生了版本更新,就會(huì)引發(fā)測試結(jié)果與測試版本之間無法有效對應(yīng),進(jìn)而影響測試結(jié)果的可信度。使用了基于此校驗(yàn)?zāi)P偷陌姹咀兏鼨z測工具,可隨時(shí)監(jiān)控被測環(huán)境的應(yīng)用版本更新情況。當(dāng)測試版本變更時(shí),項(xiàng)目開發(fā)人員和測試人員都會(huì)收到版本變化的郵件通知,及時(shí)掌握每次版本更新的情況,掌控協(xié)調(diào)版本更新節(jié)奏,減少了對功能、性能差異的探究以及頻繁更新導(dǎo)致的重復(fù)測試。測試版本從首次提交到測試結(jié)果發(fā)布,整個(gè)測試過程納入管控,有力推進(jìn)了測試版本交付和變更過程規(guī)范化。

        3.3 測試案例自動(dòng)化生成項(xiàng)目

        基于業(yè)務(wù)流程圖生成的測試案例集中,測試案例數(shù)量往往達(dá)到數(shù)百個(gè)。如果業(yè)務(wù)流程圖因業(yè)務(wù)變化需要更新,更新前后生成的有差別的案例可能只有幾個(gè),通過人工識(shí)別這些差別,效率非常低。通過基于該模型的中間過程文件比對,可以快速的定位哪些案例發(fā)生了變化,在系統(tǒng)層面予以標(biāo)記,節(jié)省了大量的人工成本。

        4 結(jié)束語

        本文提出了一種改進(jìn)的MD5校驗(yàn)?zāi)P?,該模型成功?yīng)用于投產(chǎn)版本文件交付、測試過程版本管控、測試案例集內(nèi)容比對等領(lǐng)域。模型的提出及其應(yīng)用,提升了投產(chǎn)版本交付的效率和安全性,實(shí)現(xiàn)了測試版本的過程管控,大幅提升了測試案例集比對的效率。基于該模型的研究和應(yīng)用,對于軟件行業(yè)和金融行業(yè)具有一定的參考價(jià)值。

        參考文獻(xiàn)

        [1]董昕,郭勇,王杰. 基于DevOps能力模型的持續(xù)集成方法[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2018,39(7):1930-1937.

        [2]崔永輝,賈連興,張江. MD5算法研究[C]//第17屆中國系統(tǒng)仿真技術(shù)及其應(yīng)用學(xué)術(shù)年會(huì)論文集(17th CCSSTA 2016).安徽:中國自動(dòng)化學(xué)會(huì)系統(tǒng)仿真專業(yè)委員會(huì),2016,17:216-218.

        [3]馮文亮,陳俊,成潔. 測試版本管理平臺(tái)設(shè)計(jì)與應(yīng)用[J]. 中國金融電腦, 2018(5):57-62.

        猜你喜歡
        一致性
        注重整體設(shè)計(jì) 凸顯數(shù)與運(yùn)算的一致性
        遼寧教育(2022年19期)2022-11-18 07:20:42
        關(guān)注減污降碳協(xié)同的一致性和整體性
        公民與法治(2022年5期)2022-07-29 00:47:28
        商用車CCC認(rèn)證一致性控制計(jì)劃應(yīng)用
        注重教、學(xué)、評(píng)一致性 提高一輪復(fù)習(xí)效率
        對歷史課堂教、學(xué)、評(píng)一體化(一致性)的幾點(diǎn)探討
        IOl-master 700和Pentacam測量Kappa角一致性分析
        基于CFD仿真分析的各缸渦流比一致性研究
        ONVIF的全新主張:一致性及最訪問控制的Profile A
        方形截面Rogowski線圈的一致性分析
        電測與儀表(2016年7期)2016-04-12 00:22:18
        基于事件觸發(fā)的多智能體輸入飽和一致性控制
        欧美日韩国产码高清综合人成 | av有码在线一区二区| 一区二区三区四区亚洲免费| 亚洲色图片区| 亚洲中文字幕无码一区| 亚洲国产精品午夜电影| 亚洲中文高清乱码av中文| 情爱偷拍视频一区二区| 久激情内射婷内射蜜桃| 激情五月婷婷综合| 日韩一线无码av毛片免费| 亚洲AV无码国产精品久久l | av无码人妻中文字幕| 在线免费毛片| 亚洲成人激情在线影院| 日本在线视频二区一区 | 人妻精品人妻一区二区三区四五| 国产午夜三级精品久久久| 日韩日韩日韩日韩日韩日韩日韩| 在线综合亚洲欧洲综合网站| 国产内射XXXXX在线| 国产精品亚洲综合色区韩国| 免费蜜桃视频在线观看| 国产一区二区三区小说| 人与嘼交av免费| 蜜芽尤物原创AV在线播放| 免费在线视频亚洲色图| 国99久9在线 | 免费| 国产呦精品系列在线播放| 伊人不卡中文字幕在线一区二区| 精品在线视频在线视频在线视频| 日本丰满熟妇videossex8k| 乱伦一区二| 中文字幕亚洲精品综合| 无码人妻精品中文字幕| 国产精品嫩草99av在线| 在线视频99| 亚洲av第二区国产精品| 18禁止看的免费污网站| 亚洲日韩∨a无码中文字幕| 亚洲一区二区成人在线视频|