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

        ?

        Zlib庫在基于Nucleus系統(tǒng)的新型智能遠(yuǎn)動裝置中的應(yīng)用

        2017-08-08 03:01:10馬國強楊紅培韓建定慕宗君
        電子設(shè)計工程 2017年14期
        關(guān)鍵詞:壓縮文件字節(jié)流程

        馬國強,楊紅培,韓建定,慕宗君,方 偉

        (1.許繼電氣股份有限公司 河南 許昌 461000;2.許昌電氣職業(yè)學(xué)院 河南 許昌461000;3.空軍工程大學(xué)航空航天工程學(xué)院,陜西 西安710038)

        Zlib庫在基于Nucleus系統(tǒng)的新型智能遠(yuǎn)動裝置中的應(yīng)用

        馬國強1,3,楊紅培2,韓建定3,慕宗君1,方 偉1

        (1.許繼電氣股份有限公司 河南 許昌 461000;2.許昌電氣職業(yè)學(xué)院 河南 許昌461000;3.空軍工程大學(xué)航空航天工程學(xué)院,陜西 西安710038)

        針對基于PowerPC架構(gòu)和嵌入式Nucleus系統(tǒng)的智能遠(yuǎn)動裝置特點和要求,通過對Zlib函式庫的移植和改進(jìn),實現(xiàn)了對多文件、多目錄的無損壓縮和解壓縮軟件。以變電站智能遠(yuǎn)動裝置的配置文件為數(shù)據(jù)樣本進(jìn)行驗證,實驗結(jié)果表明,該軟件能夠很好地完成對數(shù)據(jù)的無損壓縮和解壓縮,為嵌入式系統(tǒng)應(yīng)用節(jié)省了寶貴的硬件和網(wǎng)絡(luò)資源。

        Zlib;嵌入式Nucleus系統(tǒng);PowerPC架構(gòu);智能遠(yuǎn)動裝置;DEFLATE算法

        智能遠(yuǎn)動裝置作為智能變電站與調(diào)控中心交互數(shù)據(jù)的中樞,要求集常規(guī)遠(yuǎn)動、保信、計量、狀態(tài)監(jiān)測和PMU五大功能于一體,這就對處理器和操作系統(tǒng)提出了很高的要求。PowerPC處理器具有優(yōu)異的性能、較低的能量損耗以及較低的散熱量,且嵌入式表現(xiàn)非常突出。Nucleus是為實時嵌入式應(yīng)用設(shè)計的一個搶先式多任務(wù)操作系統(tǒng),能夠支持包括PowerPC處理器在內(nèi)的大多數(shù)類型的處理器。選擇PowerPC+Nucleus作為智能遠(yuǎn)動裝置的平臺架構(gòu)能夠很好的滿足應(yīng)用需求[1-4]。

        對于嵌入式應(yīng)用來說,各種軟硬件資源都非常緊張,智能變電站龐大的數(shù)據(jù)量對于存儲設(shè)備容量和網(wǎng)絡(luò)傳輸速度都有很高要求,為了節(jié)省存儲空間和減少網(wǎng)絡(luò)傳輸時間,應(yīng)用中需要對大數(shù)據(jù)進(jìn)行壓縮后再進(jìn)行存儲和傳輸。況且,在智能遠(yuǎn)動裝置中實現(xiàn)的部分高級功能,如源端維護(hù)、遠(yuǎn)程瀏覽等,主站端明確要求要以壓縮文件的格式傳輸SCD、CIM以及SVG等文件,這就要求智能遠(yuǎn)動裝置必須能夠以一種通用的格式對文件進(jìn)行壓縮和解壓縮。為了滿足PowerPC+Nucleus平臺上文件壓縮和解壓縮的需要,選擇通用的ZIP格式作為壓縮文件格式,基于移植并改進(jìn)的Zlib函式庫,開發(fā)了適合于智能遠(yuǎn)動裝置的文件壓縮和解壓縮軟件[5-8]。

        1 ZIP文件格式解析

        ZIP格式文件由壓縮文件信息、壓縮目錄信息和目錄結(jié)束標(biāo)記信息三部分組成[9-11]。

        1.1 壓縮文件

        壓縮文件信息包含壓縮的所有文件的內(nèi)容,其每個文件的數(shù)據(jù)組織結(jié)構(gòu)由文件頭、文件數(shù)據(jù)區(qū)和數(shù)據(jù)描述三部分組成。文件頭信息包括文件頭標(biāo)識符(固定為0x504b0304)、解壓文件所需版本、通用位標(biāo)記、壓縮方法、文件最后修改時間、文件最后修改日期、CRC-32位校驗、壓縮后大小、壓縮前大小、文件名長度、擴展區(qū)長度、文件名和擴展區(qū)。文件數(shù)據(jù)區(qū)存儲壓縮文件數(shù)據(jù)。數(shù)據(jù)描述信息包括本地文件頭標(biāo)識符(固定為0x504b0708)、CRC-32位校驗、壓縮后大小、壓縮前大小,用于標(biāo)識文件壓縮結(jié)束,緊跟在壓縮文件數(shù)據(jù)后。只有當(dāng)文件頭的通用位標(biāo)記字段的第3位為1時,壓縮文件中才存在有數(shù)據(jù)描述信息,數(shù)據(jù)描述信息只用在不能對生成的ZIP文件進(jìn)行檢索時使用,如存儲在磁帶機上的ZIP文件。

        1.2 壓縮目錄

        壓縮目錄是壓縮源文件數(shù)據(jù)區(qū)中的一條數(shù)據(jù)在目錄區(qū)的一條記錄。對于待壓縮的目錄而言,每一個子目錄對應(yīng)一個壓縮目錄,記錄該目錄的描述信息。壓縮包中所有目錄連續(xù)存儲在整個歸檔包的最后,這樣便于向包中追加新的文件。壓縮目錄信息包括目錄頭標(biāo)識符 (固定為0x504b0102)、壓縮所用版本、解壓文件所需版本、通用位標(biāo)記、壓縮方法、文件最后修改時間、文件最后修改日期、CRC-32位校驗、壓縮后大小、壓縮前大小、文件名長度、擴展區(qū)長度、文件注釋長度、文件開始位置的磁盤編號、內(nèi)部文件屬性、外部文件屬性、本地文件頭相對位移、目錄文件名、擴展區(qū)和文件注釋。

        1.3 目錄結(jié)束標(biāo)志

        目錄結(jié)束標(biāo)記用于標(biāo)識壓縮的目錄數(shù)據(jù)的結(jié)束,位于整個ZIP文件的結(jié)尾。它包括目錄結(jié)束標(biāo)記標(biāo)識符(固定為0x504b0506)、當(dāng)前磁盤號、目錄開始位置磁盤號、本磁盤目錄總數(shù)、目錄總數(shù)、目錄大小、目錄對1號磁盤的偏移量、ZIP文件注釋長度和注釋。

        2 移植改進(jìn)Zlib函式庫

        Zlib函式庫是一款自由軟件,使用Zlib授權(quán)。它使用了一個LZ77的變種算法即DEFLATE算法,實現(xiàn)了用于數(shù)據(jù)無損壓縮的函式庫。目前,Zlib是一種事實上的業(yè)界標(biāo)準(zhǔn),常用的大部分解壓縮軟件都用到了它。 Zlib 函式庫支持 Windows、Linux、Solaris、MAC OS等多種操作系統(tǒng)版本,可以直接獲取相應(yīng)操作系統(tǒng)的Zlib源代碼或動態(tài)庫。由于Nucleus操作系統(tǒng)不在Zlib函式庫官方支持范圍之內(nèi),因此要想在Nucleus操作系統(tǒng)上使用Zlib函式庫就必須對它進(jìn)行移植。由于Zlib函式庫是用純c語言實現(xiàn)的,非常便于移植,而NucleusPLUS操作系統(tǒng)內(nèi)核是一組c函數(shù)庫,其95%的代碼是用ANSIC寫成的,所以兩者具有良好的兼容性[12-13]。

        為了更好地支持嵌入式Nucleus操作系統(tǒng)在PowerPC架構(gòu)上對文件解壓縮的要求,在對Zlib函式庫的移植改進(jìn)過程中做了以下3方面的工作:

        1)標(biāo)準(zhǔn)Zlib函式庫通過文件描述符fd實現(xiàn)了對文件的操作,這種文件操作方法使用傳統(tǒng)的低級IO方式直接對磁盤進(jìn)行訪問操作,造成文件讀寫速度慢、訪問效率低。電力系統(tǒng)智能遠(yuǎn)動裝置對實時性的要求很高,特別是PMU功能更是要達(dá)到ms級別,如果解壓縮功能影響到了整個系統(tǒng)性能,則是系統(tǒng)所不能接受的。針對此問題,對標(biāo)準(zhǔn)Zlib函式庫進(jìn)行改進(jìn),采用文件指針fp代替文件描述符fd對文件進(jìn)行訪問操作,文件指針結(jié)構(gòu)中包含了IO緩沖,使用高級IO方式而非低級IO方式操作文件,能夠大大提高文件數(shù)據(jù)的讀寫效率,進(jìn)而提高Zlib函式庫的解壓縮性能。

        2)在數(shù)據(jù)壓縮/解壓過程中,首先把待壓縮/解壓的文件、目錄的原始數(shù)據(jù)通過動態(tài)開辟內(nèi)存空間放入無類型指針鏈表中,這樣能夠加快壓縮/解壓速度,提高壓縮/解壓性能。

        3)由于不同的CPU架構(gòu)存在著字節(jié)序大小端的區(qū)別,目前市場上大部分CPU為小端字節(jié)序,而PowerPC為大端字節(jié)序。在PowerPC架構(gòu)下數(shù)據(jù)壓縮過程中,凡是牽涉到整型、浮點型等多字節(jié)類型數(shù)據(jù)在寫入歸檔時,為了使歸檔能夠被所有的解壓縮工具解壓,必須把這些多字節(jié)數(shù)據(jù)的大端字節(jié)序轉(zhuǎn)換為小端字節(jié)序存入歸檔;在PowerPC架構(gòu)下數(shù)據(jù)解壓過程中,在讀取歸檔數(shù)據(jù)時,凡是牽涉到整型、浮點型等多字節(jié)類型數(shù)據(jù),必須把這些多字節(jié)數(shù)據(jù)的小端字節(jié)序轉(zhuǎn)換為大端字節(jié)序,以便能夠正確解壓歸檔。

        3 壓縮應(yīng)用實現(xiàn)

        利用改進(jìn)的Zlib函式庫實現(xiàn)基于PowerPC架構(gòu)的嵌入式Nucleus系統(tǒng)上文件的壓縮,首先需要創(chuàng)建歸檔并初始化其在壓縮過程中所用到的參數(shù),然后向歸檔中添加需要壓縮的文件、目錄或者從歸檔中刪除不需要壓縮進(jìn)歸檔的文件、目錄,最后關(guān)閉歸檔完成壓縮[14-15]。

        3.1 ZIP歸檔初始化

        歸檔初始化主要涉及打開已存在歸檔或創(chuàng)建新歸檔時,對歸檔參數(shù)、文件臨時存儲區(qū)、中心目錄、回調(diào)指針的初始化以及對字節(jié)大小端的處理。歸檔初始化的基本流程如圖1所示。

        圖1 歸檔初始化工作流程

        3.2 向ZIP歸檔添加文件

        向歸檔添加文件是把待壓縮的磁盤文件的屬性信息及數(shù)據(jù)載入臨時文件緩沖區(qū),其主要涉及對要添加的文件頭的初始化、不同的操作系統(tǒng)文件路徑表示方法不一樣對其進(jìn)行統(tǒng)一格式化、把待添加的文件載入臨時文件緩沖區(qū)、把文件屬性信息寫入文件頭結(jié)構(gòu)中。向歸檔添加文件的基本流程如圖2所示。

        圖2 向歸檔添加文件工作流程

        3.3 向ZIP歸檔添加目錄

        向歸檔添加文件目錄主要涉及初始化文件目錄列表、獲取指定目錄下的文件列表、判斷文件列表元素類型進(jìn)行相應(yīng)處理。如果文件列表元素為文件類型,那么就以向歸檔中添加文件的操作步驟處理,否則就把文件列表元素添加到文件目錄列表中,再以向歸檔中添加目錄的操作步驟進(jìn)行處理,直到所有的文件和目錄都添加到歸檔中為止。向歸檔添加文件目錄的基本流程如圖3所示。

        圖3 向歸檔添加目錄工作流程

        3.4 從ZIP歸檔中刪除文件

        歸檔中包含的文件和目錄都以獨立的方式存在,每個文件或目錄都有唯一的索引,在歸檔中進(jìn)行文件或目錄的檢索就是通過索引進(jìn)行的。從歸檔中刪除文件主要涉及判斷要刪除的文件的索引是否有效、初始化臨時信息結(jié)構(gòu)、從磁盤上即歸檔中刪除指定索引的文件、刪除臨時內(nèi)存信息并釋放內(nèi)存。從歸檔中刪除文件的基本流程如圖4所示。

        圖4 從歸檔中刪除文件工作流程

        3.5 ZIP歸檔關(guān)閉

        關(guān)閉歸檔是文件壓縮的關(guān)鍵步驟,前述歸檔創(chuàng)建、文件或目錄添加等只是為壓縮文件做準(zhǔn)備,真正的文件壓縮操作是在關(guān)閉歸檔時才完成的。歸檔關(guān)閉操作主要涉及判斷歸檔是否關(guān)閉、是否拋出異常、文件是否為壓縮模式、調(diào)用Zlib函式庫的數(shù)據(jù)壓縮接口壓縮數(shù)據(jù)并把壓縮后的數(shù)據(jù)寫入歸檔文件、向中心目錄寫入目錄數(shù)據(jù)以及釋放臨時內(nèi)存資源。歸檔關(guān)閉操作的基本流程如圖5所示。

        圖5 關(guān)閉歸檔工作流程

        4 解壓縮應(yīng)用實現(xiàn)

        歸檔的解壓縮主要涉及解壓縮環(huán)境的初始化包括各種參數(shù)、文件存儲、目錄中心以及回調(diào)等,獲取待解壓縮的歸檔中包含的文件條目數(shù),對歸檔中的文件進(jìn)行逐個解壓以及解壓后對環(huán)境進(jìn)行反初始化。歸檔解壓縮的基本流程如圖6所示。

        圖6 文件解壓工作流程

        5 應(yīng)用驗證

        在智能遠(yuǎn)動裝置中,配置文件CFG、模型文件SCD、模型文件CIM、圖形文件SVG及動態(tài)數(shù)據(jù)文件DYN等幾類文件需要壓縮后進(jìn)行存儲或傳輸,下面就以這幾類文件為例來驗證本文提出的壓縮方法的實現(xiàn)情況,并給出驗證結(jié)果如表1所示。

        表1 驗證結(jié)果

        驗證結(jié)果表明,本壓縮方法對不同類型的數(shù)據(jù)樣本壓縮率和壓縮速率存在著一定的差別,主要由于不同樣本文件的數(shù)量和單個文件長度存在較大的差異。在單個文件長度越大的情況下壓縮效果就會越好,反之,在文件數(shù)量多且文件長度小的情況下壓縮效果就會差一些。

        6 結(jié)束語

        文中針對PowerPC+Nucleus平臺架構(gòu)的特點和要求,對Zlib函式庫進(jìn)行代碼移植和功能改進(jìn),提出了基于移植改進(jìn)后的Zlib函式庫的數(shù)據(jù)壓縮方法,實現(xiàn)了在新型智能遠(yuǎn)動機中對文件和目錄的壓縮、解壓縮以及從ZIP歸檔中刪除文件和析取文件列表等功能。本方法實現(xiàn)了對數(shù)據(jù)的無損壓縮,并具有良好的壓縮效果和壓縮速率,在新型智能遠(yuǎn)動裝置中得到了應(yīng)用驗證,很好的解決了嵌入式應(yīng)用中存儲資源緊張和網(wǎng)絡(luò)傳輸慢的問題。

        由于新型智能遠(yuǎn)動裝置為嵌入式應(yīng)用,不具備人機交互界面,因此只實現(xiàn)了文件壓縮、解壓縮、刪除等功能的函數(shù)接口,沒有實現(xiàn)這些功能的界面操作,如果以后有這方面的需要可以加入界面實現(xiàn)。

        [1]李瑞生,李燕斌,周逢權(quán).智能變電站功能架構(gòu)及設(shè)計原則[J].電力系統(tǒng)保護(hù)與控制,2010,38(21):24-27.

        [2]李孟超,王允平,李獻(xiàn)偉,等.智能變電站及技術(shù)特點分析[J].電力系統(tǒng)保護(hù)與控制,2010,38(18):59-62.

        [3]周華鋒,李鵬,吳小辰.二次一體化框架下智能遠(yuǎn)動機建設(shè)初步方案[J].南方電網(wǎng)技術(shù),2012,6(3):69-72.

        [4]汪際峰.一體化電網(wǎng)運行智能系統(tǒng)的概念及特征[J].電力系統(tǒng)自動化,2011,35(24):1-6.

        [5]牟璇,王俊峰,王敏,等.TCP自適應(yīng)壓縮傳輸方安研究[J].計算機應(yīng)用與軟件,2013,30(11):279-282.

        [6]篤竣,祁忠.基于IEC61850的變電站新型遠(yuǎn)動網(wǎng)關(guān)機[J].電力自動化設(shè)備,2011,31(2):116-121.

        [7]侯貿(mào)軍.變電站智能診斷和維護(hù)系統(tǒng)體系結(jié)構(gòu)研究[J].計算機工程與設(shè)計,2012,33(10):3964-3969.

        [8]李偉,趙建軍,王超,等.基于xc2vp30的嵌入式系統(tǒng)設(shè)計和SystemACE分析[J].計算機應(yīng)用與軟件,2014,31(8):237-240.

        [9]蔡長安,鐘銳,王盈瑛.串行通信轉(zhuǎn)網(wǎng)絡(luò)通信數(shù)據(jù)模塊的設(shè)計[J].計算機應(yīng)用與軟件,2010,27(1):88-91.

        [10]陳鈞,劉愛華.基于Zlib的圖像差異壓縮算法研究與實現(xiàn)[J].東華理工大學(xué)學(xué)報:自然科學(xué)版,2010,33(1):92-96.

        [11]許彪,王曉東.基于文件格式的J2ME圖片壓縮方法研究[J].計算機應(yīng)用與軟件,2010,27(4):253-256.

        [12]周桂宇,馬憲民,李衛(wèi)斌.改進(jìn)的混合壓縮算法在GPS數(shù)據(jù)壓縮中的應(yīng)用 [J].計算機應(yīng)用與軟件,2013,30(12):167-169.

        [13]劉麗偉,鄧春健.多文件壓縮傳輸及解壓縮的方法[J].武漢理工大學(xué)學(xué)報(交通科學(xué)與工程版),2009,33(6):1211-1214.

        [14]王剛,劉立柱.ZIP文件壓縮編碼分析[J].微計算機信息.2006,22(15):283-285.

        [15]謝小勇,吳瑞卿,陳偉,等.基于Zlib和DSP的傳感器數(shù)據(jù)壓縮方法的研究[J].電子技術(shù)應(yīng)用,2012,38(11):41-43,47.

        Zlib library based on the nucleus system the application of new RTU

        MA Guo-qiang1,3,YANG Hong-pei2,HAN Jian-ding3,MU Zong-jun1,F(xiàn)ANG Wei1
        (1.XJ Electric Co.,Ltd.,Xuchang 461000,China; 2.Xuchang Electrical Vocational College,Xuchang 461000,China; 3.Aeronautics and Astronautics Engineering Institue,Air Force Engineering University,Xi'an 710038,China)

        Based on the PowerPC architecture and embedded Nucleus system of RTU characteristics and requirements,through to the Zlib library of transplantation and to improve,achieved to file and directory of lossless compression and decompression software.In substation the smart RTU configuration file for the data samples to verify,the experimental results show that the software can be very good to complete the data of lossless compression and decompression,for embedded system application saves valuable hardware and network resources.

        Zlib;embedded nucleus system;PowerPC architecture;RTU;DEFLATE algorith

        TN919

        :A

        :1674-6236(2017)14-0047-04

        2016-06-20稿件編號:201606142

        馬國強(1978—),男,河南長葛人,工程師。研究方向:電力系統(tǒng)自動化產(chǎn)品及JAVA報表系統(tǒng)平臺研發(fā)。

        猜你喜歡
        壓縮文件字節(jié)流程
        No.8 字節(jié)跳動將推出獨立出口電商APP
        吃水果有套“清洗流程”
        No.10 “字節(jié)跳動手機”要來了?
        RAR Password Unlocker
        違反流程 致命誤判
        簡談MC7字節(jié)碼
        本刊審稿流程
        析OGSA-DAI工作流程
        不裝軟件 云端在線解壓
        電腦愛好者(2015年6期)2015-04-03 01:20:56
        妙手回春搞定《迅雷》的99%綜合癥
        国产福利片无码区在线观看 | 久久久久无码中文字幕| 99伊人久久精品亚洲午夜| 放荡的美妇在线播放| 品色永久免费| 亚洲αⅴ无码乱码在线观看性色| 一区二区三区手机看片日本韩国| 91精品国产综合久久熟女| 亚洲国产精品综合久久网各| 精品人妻伦九区久久AAA片69| 亚洲日韩精品一区二区三区无码| 国产久热精品无码激情| 亚洲三区二区一区视频| 人妻丰满精品一区二区| 狠狠色丁香婷婷综合潮喷| 全部孕妇毛片| 国产精品色内内在线播放| 日本黄色一区二区三区| 成人免费无码大片a毛片| 国产乱理伦片在线观看| 中文字幕人妻系列一区尤物视频| 亚洲一区二区三区重口另类| 欧美xxxx做受欧美| 色综合久久久久久久久五月| 在线观看极品裸体淫片av| 国产女主播一区二区三区| 五月综合激情婷婷六月色窝| 免费av在线国模| 日本黄色特级一区二区三区| 波多野结衣在线播放| 亚洲xxxx做受欧美| 国产日韩AV无码免费一区二区| 成人av综合资源在线| 久久久无码人妻精品无码| 亚洲熟妇无码久久精品疯| 饥渴少妇一区二区三区| 久久久久久av无码免费网站下载| 大伊香蕉在线精品视频75| 91在线无码精品秘 入口九色十| 日韩av一区二区观看| 和外国人做人爱视频|