[發(fā)明專利]一種CPIO文件的操作方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201410143816.X | 申請(qǐng)日: | 2014-04-10 |
| 公開(公告)號(hào): | CN104978355B | 公開(公告)日: | 2018-09-25 |
| 發(fā)明(設(shè)計(jì))人: | 蔡海群;李國斌;楊敏 | 申請(qǐng)(專利權(quán))人: | 炬芯(珠海)科技有限公司 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 北京同達(dá)信恒知識(shí)產(chǎn)權(quán)代理有限公司 11291 | 代理人: | 黃志華 |
| 地址: | 519085 廣東省珠海市唐*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 cpio 文件 操作方法 裝置 | ||
本發(fā)明提供一種CPIO文件的操作方法及裝置,該方法包括:按照二進(jìn)制文件的解析方式遍歷包括多個(gè)子文件的CPIO文件,識(shí)別并記錄每個(gè)子文件的文件頭及該子文件相對(duì)于CPIO文件起始位置的絕對(duì)偏移,所述文件頭包括子文件的文件名及文件大??;按照子文件的順序在內(nèi)存中創(chuàng)建包括多個(gè)條目的條目索引表,其中每一個(gè)條目包括一個(gè)子文件的文件頭及絕對(duì)偏移;每次接收到操作指令時(shí),根據(jù)內(nèi)存中的條目索引表,定位需要進(jìn)行操作的子文件的位置;對(duì)相應(yīng)位置的子文件進(jìn)行操作,當(dāng)確定操作后條目改變時(shí),更新內(nèi)存中的條目索引表。本發(fā)明能夠?qū)崿F(xiàn)在Windows平臺(tái)上快速無損讀寫CPIO格式文件。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)文件技術(shù)領(lǐng)域,尤其涉及一種CPIO文件的操作方法及裝置。
背景技術(shù)
CPIO文件格式是UNIX操作系統(tǒng)的文件格式。CPIO文件本質(zhì)上是一個(gè)文件集合,包涵多個(gè)子文件,每個(gè)子文件包括文件header和文件內(nèi)容content,包含一系列文件信息及內(nèi)容,諸如文件名、絕對(duì)路徑、時(shí)間戳、設(shè)備類型及版本、用戶組及訪問權(quán)限、文件版本、文件大小、文件內(nèi)容等。Linux上利用cpio程序操作CPIO文件,包括訪問、創(chuàng)建、讀寫等。
目前采用Android系統(tǒng)的便攜式電子設(shè)備如平板上加載有CPIO文件。在開發(fā)過程中,需要通過相應(yīng)的接口從便攜式電子設(shè)備上下載CPIO文件,對(duì)下載的CPIO文件進(jìn)行修改后再加載到便攜式電子設(shè)備上,如修改ramdisk(虛擬內(nèi)存盤)等CPIO文件以實(shí)現(xiàn)客戶個(gè)性化定制。
目前基于Windows平臺(tái)工具修改便攜式電子設(shè)備加載的CPIO文件,具體方案如下:
cygwin是一個(gè)在windows平臺(tái)上運(yùn)行的unix模擬環(huán)境,通過在Windows上安裝cygwin,利用cygwin自帶的cpio.exe程序?qū)⒆x取的CPIO文件散開到本地文件夾;修改完成后再利用cpio.exe程序?qū)⒈镜匚募A制作成CPIO文件,最后再將CPIO文件加載到采用Android系統(tǒng)的便攜式電子設(shè)備上。
CPIO文件本質(zhì)上就是將一堆CPIO子文件(包括文件和目錄形式的子文件)的內(nèi)容按格式堆砌在一起,將CPIO文件存儲(chǔ)到本地時(shí),由于CPIO文件是UNIX操作系統(tǒng)的文件格式,但用戶是看不到的這些文件的,利用cygwin自帶的cpio.exe程序執(zhí)行散開操作,可以使用戶在磁盤上看到CPIO文件中每個(gè)子文件。
基于在windows平臺(tái)上運(yùn)行的cygwin讀寫CPIO文件有如下缺點(diǎn):
1)將讀取的CPIO文件散開到本地文件夾時(shí),目標(biāo)磁盤必須為NTFS(NewTechnology File System)文件系統(tǒng)格式。
因?yàn)閏pio格式中文件屬性為4字節(jié),F(xiàn)AT32(File Allocation Table)文件系統(tǒng)的文件屬性只有2字節(jié);如果散開到FAT32格式的磁盤下會(huì)導(dǎo)致屬性丟失,將制作的CPIO文檔重新加載到便攜式電子設(shè)備上會(huì)出現(xiàn)各種訪問權(quán)限問題。
cygwin自帶的cpio.exe的臨時(shí)目錄一般都在系統(tǒng)盤下,因此本地文件夾也在系統(tǒng)盤,如果系統(tǒng)盤不是NTFS格式就導(dǎo)致cpio.exe不能正常使用。
2)散開再重新制作這個(gè)過程針對(duì)的是整個(gè)CPIO文件,如果僅修改其中一個(gè)文件,也需要將整個(gè)CPIO文件散開,在修改完其中一個(gè)文件后還要重新做成CPIO整合文件,不能在不散開CPIO文件的情況下單獨(dú)對(duì)其中的某個(gè)文件進(jìn)行編輯,效率低下。
3)cpio.exe部署發(fā)布時(shí)必須包含cygwin相應(yīng)的動(dòng)態(tài)庫DLL。
基于以上缺陷,需要考慮如何實(shí)現(xiàn)在Windows平臺(tái)上快速無損讀寫CPIO文件。
發(fā)明內(nèi)容
本發(fā)明提供一種CPIO文件的操作方法及裝置,能夠?qū)崿F(xiàn)在Windows平臺(tái)上快速無損讀寫CPIO文件。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于炬芯(珠海)科技有限公司,未經(jīng)炬芯(珠海)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410143816.X/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)





