TWI709059B - 檔案打包、檔案包解包方法、裝置及網路設備 - Google Patents

檔案打包、檔案包解包方法、裝置及網路設備 Download PDF

Info

Publication number
TWI709059B
TWI709059B TW108104911A TW108104911A TWI709059B TW I709059 B TWI709059 B TW I709059B TW 108104911 A TW108104911 A TW 108104911A TW 108104911 A TW108104911 A TW 108104911A TW I709059 B TWI709059 B TW I709059B
Authority
TW
Taiwan
Prior art keywords
file
storage location
decompressed
memory
compressed
Prior art date
Application number
TW108104911A
Other languages
English (en)
Other versions
TW201944277A (zh
Inventor
劉歡
王森
Original Assignee
開曼群島商創新先進技術有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 開曼群島商創新先進技術有限公司 filed Critical 開曼群島商創新先進技術有限公司
Publication of TW201944277A publication Critical patent/TW201944277A/zh
Application granted granted Critical
Publication of TWI709059B publication Critical patent/TWI709059B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本說明書實施例提供了檔案打包和檔案包解包方案,在檔案打包過程中,根據待打包檔案的安全級別產生儲存位置標識,儲存位置包括記憶體或本地磁碟,該儲存位置標識會與待打包檔案的壓縮檔案一起進行打包,從而產生檔案包。透過該標識,檔案包在解包後,壓縮檔案解壓縮所產生的解壓縮檔案能夠按照儲存位置標識的指示,儲存於記憶體或本地磁碟中。利用本實施例方案,可以根據檔案的安全級別靈活地選擇檔案儲存位置,對於安全級別較高的檔案,可以利用本實施例方案儲存於記憶體中,在記憶體中進行讀或寫等檔案操作,從而降低了保存本地檔案帶來的洩漏風險,提升了資料的安全性。

Description

檔案打包、檔案包解包方法、裝置及網路設備
本發明係有關網際網路技術領域,尤其是檔案打包、檔案包解包方法、裝置及網路設備。
AR(Augmented Reality,強化實境)是一種在設備攝影模組所拍攝畫面上添加虛擬模型的技術,這種技術可以將真實的環境和虛擬的模型疊加到了同一個畫面而同時存在,從而給與使用者超越現實的感官體驗。AR實現過程中,提供AR功能的客戶端可以先獲取檔案包,該檔案包由若干個AR素材檔案經過壓縮、再經過加密等處理後打包而成。客戶端可以對檔案包進行解包處理,獲得若干個AR素材檔案並保存在本地磁碟,在需要時,可以從本地磁碟讀取AR素材檔案,並渲染顯示在屏幕上。
為克服相關技術中存在的問題,本說明書提供了檔案打包、檔案包解包方法、裝置及網路設備。 根據本說明書實施例的第一方面,提供一種檔案打包方法,所述方法包括: 獲取至少一個待打包檔案; 壓縮所述待打包檔案,產生壓縮檔案; 根據所述待打包檔案的安全級別產生儲存位置標識,所述儲存位置標識指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟; 將包含所述儲存位置標識的附加資訊與所述壓縮檔案進行打包,獲得檔案包。 可選的,所述附加資訊還包括加密檔案名,所述加密檔案名與儲存於本地磁碟的解壓縮檔案的檔案名對應。 可選的,所述加密檔案名利用不可逆加密算法產生。 可選的,資源配置檔案或腳本檔案對應的解壓縮檔案的儲存位置為記憶體。 可選的,所述安全級別與所述待打包檔案的檔案擴展名或檔案大小對應。 可選的,所述將包含所述儲存位置標識的附加資訊與所述壓縮檔案進行打包,包括: 將所述附加資訊與所述壓縮檔案按照自定義格式進行打包,所述自定義格式包括:所述附加資訊排列在所述壓縮檔案之前。 根據本說明書實施例的第二方面,提供一種檔案包解包方法,所述方法包括: 獲取檔案包後進行解包處理,獲得所述檔案包中包含的至少一個壓縮檔案及對應的附加資訊,所述附加資訊包括儲存位置標識,所述儲存位置標識指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟; 解壓縮所述壓縮檔案後獲得解壓縮檔案,根據所述儲存位置標識將所述解壓縮檔案儲存至對應位置。 可選的,所述附加資訊還包括加密檔案名,所述加密檔案名與儲存於本地磁碟的解壓縮檔案的檔案名對應。 可選的,所述方法還包括: 接收對解壓縮檔案的檔案操作指令,將輸入參數傳遞給檔案打開介面後,執行檔案操作;其中,儲存於記憶體的解壓縮檔案,所述輸入參數為該檔案在記憶體中的記憶體位址;儲存於本地磁碟的解壓縮檔案,所述輸入參數為該檔案的加密檔案名。 根據本說明書實施例的第三方面,提供一種檔案打包裝置,所述裝置包括: 獲取模組,用於:獲取至少一個待打包檔案; 壓縮模組,用於:壓縮所述待打包檔案,產生壓縮檔案; 產生模組,用於:根據所述待打包檔案的安全級別產生儲存位置標識,所述儲存位置標識指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟; 打包模組,用於:將包含所述儲存位置標識的附加資訊與所述壓縮檔案進行打包,獲得檔案包。 可選的,所述附加資訊還包括加密檔案名,所述加密檔案名與儲存於本地磁碟的解壓縮檔案的檔案名對應。 可選的,所述加密檔案名利用不可逆加密算法產生。 可選的,資源配置檔案或腳本檔案對應的解壓縮檔案的儲存位置為記憶體。 可選的,所述安全級別與所述待打包檔案的檔案擴展名或檔案大小對應。 可選的,所述打包模組,具體用於: 將所述附加資訊與所述壓縮檔案按照自定義格式進行打包,所述自定義格式包括:所述附加資訊排列在所述壓縮檔案之前。 根據本說明書實施例的第四方面,提供一種檔案包解包裝置,所述裝置包括: 解包模組,用於:獲取檔案包後進行解包處理,獲得所述檔案包中包含的至少一個壓縮檔案及對應的附加資訊,所述附加資訊包括儲存位置標識,所述儲存位置標識指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟; 解壓縮模組,用於:解壓縮所述壓縮檔案後獲得解壓縮檔案,根據所述儲存位置標識將所述解壓縮檔案儲存至對應位置。 可選的,所述附加資訊還包括加密檔案名,所述加密檔案名與儲存於本地磁碟的解壓縮檔案的檔案名對應。 可選的,所述裝置還包括檔案操作模組,用於: 接收對解壓縮檔案的檔案操作指令,將輸入參數傳遞給檔案打開介面後,執行檔案操作;其中,儲存於記憶體的解壓縮檔案,所述輸入參數為該檔案在記憶體中的記憶體位址;儲存於本地磁碟的解壓縮檔案,所述輸入參數為該檔案的加密檔案名。 根據本說明書實施例的第五方面,提供一種網路設備,包括: 處理器; 用於儲存處理器可執行指令的儲存器; 其中,所述處理器被配置為: 獲取至少一個待打包檔案; 壓縮所述待打包檔案,產生壓縮檔案; 根據所述待打包檔案的安全級別產生儲存位置標識,所述儲存位置標識指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟; 將包含所述儲存位置標識的附加資訊與所述壓縮檔案進行打包,獲得檔案包。 根據本說明書實施例的第六方面,提供一種網路設備,包括: 處理器; 用於儲存處理器可執行指令的儲存器; 其中,所述處理器被配置為: 獲取檔案包後進行解包處理,獲得所述檔案包中包含的至少一個壓縮檔案及對應的附加資訊,所述附加資訊包括儲存位置標識,所述儲存位置標識指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟; 解壓縮所述壓縮檔案後獲得解壓縮檔案,根據所述儲存位置標識將所述解壓縮檔案儲存至對應位置。 本說明書的實施例提供的技術方案可以包括以下有益效果: 本說明書中,在檔案打包過程中,根據待打包檔案的安全級別產生儲存位置標識,儲存位置包括記憶體或本地磁碟,該儲存位置標識會與待打包檔案的壓縮檔案一起進行打包,從而產生檔案包。透過該標識,檔案包在解包後,壓縮檔案解壓縮所產生的解壓縮檔案能夠按照儲存位置標識的指示,儲存於記憶體或本地磁碟中。利用本實施例方案,可以根據檔案的安全級別靈活地選擇檔案儲存位置,例如,對於安全級別較高的檔案,可以利用本實施例方案儲存於記憶體中,在記憶體中進行讀或寫等檔案操作,從而降低了保存本地檔案帶來的洩漏風險,提升了資料的安全性。 應當理解的是,以上的一般描述和後文的細節描述僅是示例性和解釋性的,並不能限制本說明書。
這裡將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本說明書相一致的所有實施方式。相反,它們僅是與如所附申請專利範圍中所詳述的、本說明書的一些方面相一致的裝置和方法的例子。 在本說明書使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本說明書。在本說明書和所附申請專利範圍中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“及/或”是指並包含一個或多個相關聯的列出項目的任何或所有可能組合。 應當理解,儘管在本說明書可能採用術語第一、第二、第三等來描述各種資訊,但這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本說明書範圍的情況下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可以被稱為第一資訊。取決於語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應於確定”。 客戶端獲取檔案包後,可以對檔案包進行解包處理,需要儲存檔案以進行讀取。為了提高檔案儲存的安全性,本說明書實施例提供了檔案打包和檔案包解包方案,在檔案打包過程中,根據待打包檔案的安全級別產生儲存位置標識,儲存位置包括記憶體或本地磁碟,該儲存位置標識會與待打包檔案的壓縮檔案一起進行打包,從而產生檔案包。透過該標識,檔案包在解包後,壓縮檔案解壓縮所產生的解壓縮檔案能夠按照儲存位置標識的指示,儲存於記憶體或本地磁碟中。利用本實施例方案,可以根據檔案的安全級別靈活地選擇檔案儲存位置,對於安全級別較高的檔案,可以利用本實施例方案儲存於記憶體中,在記憶體中進行讀或寫等檔案操作,從而降低了保存本地檔案帶來的洩漏風險,提升了資料的安全性。接下來對本說明書實施例進行詳細說明。 本說明實施例涉及兩個階段的處理流程,一個是對待打包檔案進行打包產生檔案包的處理流程,另一個對檔案包進行解包的處理流程,其本質可以理解為打包的逆過程。首先對打包過程進行說明,如圖1所示,圖1是本說明書根據一示例性實施例示出的一種檔案打包方法的流程圖,該方法包括以下步驟: 在步驟102中,獲取至少一個待打包檔案。 在步驟104中,壓縮所述待打包檔案,產生壓縮檔案。 在步驟106中,根據所述待打包檔案的安全級別產生儲存位置標識,所述儲存位置標識指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟。 在步驟108中,將包含所述儲存位置標識的附加資訊與所述壓縮檔案進行打包,獲得檔案包。 在一些業務場景中,對檔案進行打包的目的,包括:在網路一側,可能有一個或多個檔案需要傳輸給網路對端,為了提高傳輸速度和保證傳輸安全,需要將該一個或多個檔案打包為一個檔案包。基於此,任何具有檔案打包需求的業務場景,都可以應用本實施例的檔案打包方法。 由於本說明書實施例涉及對檔案的多次處理,為了進行區分,首先對本實施例的檔案命名進行說明: 待打包檔案:是指需要進行打包的原始檔案,該檔案處於打包側的網路設備。 壓縮檔案:是指待打包檔案壓縮後所產生的檔案。 解壓縮檔案:該檔案處於解包側的網路設備,是壓縮檔案解壓縮後所得到的檔案。實際上,該解壓縮檔案可以理解為與待打包檔案相同的檔案,因為本質上兩個檔案的檔案內容相同;當然,也可以理解為兩個不同的檔案,因為兩個檔案處於不同設備中,可能會被寫入不同的檔案屬性值,例如不同的檔案儲存時間、不同的儲存位置等等。 本實施例中,需要考慮檔案在解包後的安全問題。以AR場景為例,檔案包由提供AR服務的伺服端提供,檔案包由伺服端透過網路發送給客戶端。客戶端運行於使用者設備,客戶端收到檔案包後需要解包獲得檔案,以讀取檔案提供AR服務。因此,在使用者設備一側,檔案存在一定的安全隱患。例如,使用者設備一側的運行環境可能較為複雜,使用者設備中可能安裝有多種其他應用程式,其中可能包含有惡意第三方。而檔案儲存於使用者設備中,面臨著洩漏或被惡意第三方篡改等安全問題。 為了提高檔案在解包側設備的安全性,在打包階段,本實施例可以根據需要靈活地配置檔案在解包側設備的儲存位置。電子設備中通常配置有記憶體,記憶體的作用是用於暫時存放CPU中的運算資料,以及與硬碟等外部儲存器交換的資料。基於記憶體中資料暫時儲存的特點,本實施例中,可以設置一些檔案儲存於記憶體中,以降低保存本地檔案帶來的洩漏風險,提升資料的安全性;另外,考慮到記憶體儲存空間的局限性,以及某些檔案對安全性能的要求不高,因此,本實施例中也可以設置某些檔案儲存於本地磁碟中。 基於此,本實施例可以劃分兩種安全級別,其中,有較高安全級別的檔案,可以對應記憶體的儲存位置標識,而較低安全級別的檔案,可以對應本地磁碟的儲存位置標識。其中,對於安全級別的劃分,實際應用中可根據不同業務場景的需求而靈活配置。作為一個例子,資源配置檔案或腳本檔案等檔案,這類檔案通常包含有資源配置資訊或程式代碼等敏感資訊,可以對應較高的安全級別。在另一些例子中,對於圖片或視訊等檔案類型,由於檔案通常較大,可儲存於本地磁碟中。基於此,安全級別可以與檔案名中的擴展名或檔案大小對應,例如,資源配置檔案或腳本檔案通常為文字格式檔案或HTML(超文字標記語言,HyperText Markup Language)格式檔案,此類檔案的擴展名為“.txt”或“.html”,讀取待打包檔案的檔案名,進而從檔案名中讀取到擴展名,即可自動快速地確定待打包檔案的安全級別較高;若讀取到擴展名為“.mp4”、“.avi”等視訊格式或圖片格式的擴展名,即可確定待打包的安全級別稍低。在另一些例子中,安全級別也可以與檔案大小對應,例如,由於視訊或圖片等檔案較大,可以設定檔案大小大於5M以上的檔案安全級別較低,小於5M以下的檔案安全級別較高等等。在劃分有安全級別的情況下,本實施例可以根據待打包檔案的安全級別快速產生對應的儲存位置標識。 對於儲存至本地磁碟的檔案,為了降低檔案儲存後所面臨的安全隱患,本說明書實施例中,附加資訊還可以包括加密檔案名,該加密檔案名與儲存於本地磁碟的解壓縮檔案的檔案名對應,可以利用該加密檔案名對解壓縮檔案進行命名,因此,檔案儲存在解包側設備中,加密檔案名可以提高檔案的隱密性,降低檔案洩漏的風險。 作為例子,加密檔案名可以利用不可逆加密算法產生,例如MD5(Message Digest Algorithm MD5,消息摘要算法第五版)算法、SHA1(安全雜湊算法,Secure Hash Algorithm)算法或SHA256算法等,不可逆加密算法的特徵是加密過程中不需要使用密鑰,輸入明文後直接經過加密算法處理成密文,這種加密後的資料是無法被解密的,只有重新輸入明文,並再次經過同樣不可逆的加密算法處理,得到相同的加密密文並被系統重新識別後,才能真正解密。實際應用中,可以採用待打包檔案的檔案資訊作為明文產生加密檔案名,例如包括檔案名、檔案大小、檔案類型、創建日期或修改日期等一種或多種檔案屬性資訊組合而成,並保證各個不同檔案所使用的明文具有唯一性即可。 可選的,若有需要,附加資訊包括原檔案名、檔案修改時間等等其他檔案相關資訊,實際應用中可靈活配置,本實施例對此不作限定。 針對每個待打包檔案,本實施例可以產生對應的壓縮檔案和附加資訊;若有多個待打包檔案,則對應有多組壓縮檔案和附加資訊。之後,可以將所有壓縮檔案和附加資訊進行打包,獲得檔案包。其中,打包的過程可以根據需要採用自定義格式進行,以提高檔案包的安全性,例如可以進行加密、自定義檔案格式等等。其中,由於附加資訊指示瞭解壓縮檔案的儲存位置標識,為了提高解壓縮速度,附加資訊可以排列在壓縮檔案之前,使得檔案包解包後,可以先讀取到附加資訊的儲存位置標識,以提前獲得後續的解壓縮過程中所得的解壓縮檔案的儲存位置,提高檔案解壓縮效率。 打包階段完成後獲得了檔案包,該檔案包可傳輸給其他網路設備使用。接下來對檔案包解包過程進行說明。如圖2所示,是本說明書根據一示例性示出的一種檔案包解包方法的流程圖,包括如下步驟: 在步驟202中,獲取檔案包後進行解包處理,獲得所述檔案包中包含的至少一個壓縮檔案及對應的附加資訊。 所述附加資訊包括儲存位置標識,所述儲存位置標識指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟。 在步驟204中,解壓縮所述壓縮檔案後獲得解壓縮檔案,根據所述儲存位置標識將所述解壓縮檔案儲存至對應位置。 本實施例的檔案包解包過程可以理解為前述檔案打包處理的逆過程,解包側的網路設備接收到檔案包後,可以根據檔案打包過程中所使用的自定義格式,對檔案包進行解包處理,獲得一個或多個壓縮檔案,以及每個壓縮檔案對應的附加資訊。其中,附加資訊包括儲存位置標識,在儲存位置標識的指示下,壓縮檔案解壓縮後所得到的解壓縮檔案,能夠根據儲存位置標識儲存至對應位置。例如,對於安全級別較高的檔案,可以利用本實施例方案儲存於記憶體中,在記憶體中進行讀或寫等檔案操作,從而降低了保存本地檔案帶來的洩漏風險,提升了資料的安全性。 由前述分析可知,附加資訊中還可包括加密檔案名,對於儲存於本地磁碟的解壓縮檔案,可以利用該加密檔案名對解壓縮檔案進行命名,作為例子,可以將加密檔案名作為該解壓縮檔案的檔案名,也可以在該加密檔案名的基礎上添加其他加密標識後作為檔案名等等。基於上述處理,可以提高檔案的隱密性,降低檔案洩漏的風險。由於採用加密檔案名儲存於本地磁碟,設備中的其他應用程式無法知悉檔案類型、也無法獲知該檔案的具體來源等等相關資訊,因此降低了安全隱患。 檔案儲存於設備中,對於檔案的讀或寫等檔案操作,應用程式可以透過呼叫檔案系統的介面來完成。其中,檔案系統是操作系統用於明確儲存設備或分區上的檔案的方法和資料結構,即在儲存設備上組織檔案的方法。操作系統中負責管理和儲存檔案資訊的軟體稱為檔案管理系統,簡稱檔案系統。檔案系統由三部分組成:檔案系統的介面,對對象操縱和管理的軟體集合,對象及屬性。從系統角度來看,檔案系統是對檔案儲存設備的空間進行組織和分配,負責檔案儲存並對存入的檔案進行保護和檢索的系統。具體地說,它負責為使用者建立檔案,存入、讀出、修改、轉存檔案,控制檔案的存取,當使用者不再使用時撤銷檔案等等。 在檔案系統中,要從一個檔案讀取資料,應用程式首先要呼叫操作系統的檔案打開(open)函數並傳送檔案名,以向該函數傳遞一個到該檔案的路徑來打開檔案。該函數呼叫後取回一個操作系統分配的順序號,即檔案句柄(file handle,也可稱為檔案描述符),該檔案句柄對於打開的檔案是唯一的識別依據。本實施例中,在需要對檔案進行操作時,可以先透過呼叫檔案打開介面打開檔案,之後再呼叫如fread、fwrite或fseek等函數對檔案進行相應檔案操作。 接下來對檔案操作進行說明。作為例子,假設客戶端的AR功能模組中某個功能被觸發,該觸發表示要打開某個儲存於本地磁碟的檔案進行AR展示,基於該觸發可以確定接收到對解壓縮檔案的檔案操作指令,基於已有的客戶端實現方案,檔案操作指令攜帶的是原檔案名,根據附加資訊的記錄(附加資訊可以包括待打包檔案的原檔案名),知道所要操作的是儲存於本地磁碟的檔案,根據原檔案名確定對應的加密檔案名,將加密檔案名傳遞給用於打開本地磁碟中檔案的檔案打開函數(例如fopen函數等),透過fopen函數打開檔案,從而得到檔案描述符,之後再執行檔案操作,如讀取(fread)、寫入(fwrite)等。若所要操作的是儲存於記憶體的檔案,根據原檔案名確定該解壓縮檔案在記憶體中的記憶體位址,將記憶體位址傳遞給用於打開記憶體中檔案的檔案打開函數(例如fmemopen函數等),透過fmemopen函數打開檔案,從而得到檔案描述符,之後再執行檔案操作,如讀取(fread)、寫入(fwrite)等。 接下來再透過一實施例對本說明書方案進行詳細說明。 本實施例以AR場景為例,在該場景中,打包側為提供AR服務的伺服端,解包側為對應的客戶端。伺服端需要將3D(3 Dimensions,三維)引擎所需的各類素材檔案合併到一個檔案,以方便進行網路傳輸。伺服端對檔案打包的處理過程包括: 準備多個需要合併在一個檔案的待打包檔案。 針對每個待打包檔案進行如下處理: ①壓縮待打包檔案。 ②產生附加資訊,包括: 儲存位置標識:具體是根據待打包檔案的安全級別而產生,本實施例稱為loadingType,包括:localFile和Memory兩種,LocalFile表示儲存位置為本地磁碟,Memory表示儲存位置為記憶體。可選的,localFile適合非文字內容的媒體檔案,如圖片、音視訊等,而Memory適合體積較小的文字類型檔案,如資源配置或腳本等涉及敏感資訊的安全級別較高的檔案。可選的,可以根據擴展名進行自動選擇,例如預先建立擴展名與儲存位置的映射關係,透過讀取待打包檔案的擴展名即可確定對應的儲存位置標識。 可選的,本實施例還會獲取待打包檔案的原檔案名fileName,以及根據fileName等檔案資訊產生的加密檔案名,可以使用不可逆加密算法,即不能根據加密檔案名反解出原檔案名,作為例子,可以採用fileName產生md5雜湊串的方式實現。 對各個壓縮檔案及對應的附加資訊進行打包,如圖3所示,是本說明實施例根據一示例性實施例示出的打包示意圖,每個壓縮檔案(圖3中稱為content)以及對應的附加資訊(圖3中稱為Meta)構成一個檔案項(其中,Meta排列於content之前),各個檔案項串在一起(圖中的file1至fileN),按照自定義格式進行打包,獲得檔案包(圖3中稱為PAR包)。 在解包階段,客戶端可以將檔案包下載到本地後,3D引擎需要讀取檔案包中的各個檔案內容。首先按照自定義格式解包處理,讀取到每個壓縮檔案及對應的附加資訊。從附加資訊中讀取到儲存位置標識: localFile:對壓縮檔案解壓縮,得到解壓縮檔案,以附加資訊中的encryptName為檔案名進行保存。對於此類檔案,檔案操作具體為:假設客戶端的AR功能模組中某個功能被觸發,該觸發表示要打開某個儲存於本地磁碟的檔案進行AR展示,基於該觸發可以確定接收到檔案操作指令,基於已有的客戶端實現方案,檔案操作指令攜帶的是原檔案名,根據附加資訊的記錄,知道所要操作的是儲存於本地磁碟的檔案,根據原檔案名確定對應的加密檔案名,將加密檔案名傳遞給用於打開本地磁碟中檔案的檔案打開函數(例如fopen函數等),透過fopen函數打開檔案,從而得到檔案描述符,之後再執行檔案操作,如讀取(fread)、寫入(fwrite)等。 memory:解壓縮過程是,獲取檔案包中該解壓縮檔案content的指針位址,然後在記憶體中進行解壓縮,解壓縮後的內容於記憶體中儲存。對於此類檔案,檔案操作具體為:接收到檔案操作指令,檔案操作指令攜帶有原檔案名,根據附加資訊的記錄,知道所要操作的是儲存於記憶體的檔案,根據原檔案名確定該解壓縮檔案在記憶體中的記憶體位址,將記憶體位址傳遞給用於打開記憶體中檔案的檔案打開函數(例如fmemopen函數等),透過fmemopen函數打開檔案,從而得到檔案描述符,之後再執行檔案操作,如讀取(fread)、寫入(fwrite)等。 與前述檔案打包方法/檔案包解包方法的實施例相對應,本說明書還提供了檔案打包裝置/檔案包解包裝置及其所應用的網路設備的實施例。 本說明書檔案打包裝置/檔案包解包裝置的實施例可以應用在網路設備上,例如伺服器或終端設備。裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在檔案打包/檔案包解包的處理器將非易失性儲存器中對應的電腦程式指令讀取到記憶體中運行形成的。從硬體層面而言,如圖4所示,為本說明書檔案打包裝置/檔案包解包裝置所在設備的一種硬體結構圖,除了圖4所示的處理器410、記憶體430、網路介面420、以及非易失性儲存器440之外,實施例中裝置431所在的伺服器或電子設備,通常根據該設備的實際功能,還可以包括其他硬體,對此不再贅述。 如圖5所示,圖5是本說明書根據一示例性實施例示出的一種檔案打包裝置的方塊圖,所述裝置包括: 獲取模組51,用於:獲取至少一個待打包檔案; 壓縮模組52,用於:壓縮所述待打包檔案,產生壓縮檔案; 產生模組53,用於:根據所述待打包檔案的安全級別產生儲存位置標識,所述儲存位置標識指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟; 打包模組54,用於:將包含所述儲存位置標識的附加資訊與所述壓縮檔案進行打包,獲得檔案包。 可選的,所述附加資訊還包括加密檔案名,所述加密檔案名與儲存於本地磁碟的解壓縮檔案的檔案名對應。 可選的,所述加密檔案名利用不可逆加密算法產生。 可選的,資源配置檔案或腳本檔案對應的解壓縮檔案的儲存位置為記憶體。 可選的,所述安全級別與所述待打包檔案的檔案擴展名或檔案大小對應。 可選的,所述打包模組,具體用於: 將所述附加資訊與所述壓縮檔案按照自定義格式進行打包,所述自定義格式包括:所述附加資訊排列在所述壓縮檔案之前。 如圖6所示,圖6是本說明書根據一示例性實施例示出的一種檔案包解包裝置的方塊圖,所述裝置包括: 解包模組61,用於:獲取檔案包後進行解包處理,獲得所述檔案包中包含的至少一個壓縮檔案及對應的附加資訊,所述附加資訊包括儲存位置標識,所述儲存位置標識指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟; 解壓縮模組62,用於:解壓縮所述壓縮檔案後獲得解壓縮檔案,根據所述儲存位置標識將所述解壓縮檔案儲存至對應位置。 可選的,所述附加資訊還包括加密檔案名,所述加密檔案名與儲存於本地磁碟的解壓縮檔案的檔案名對應。 可選的,所述附加資訊包括原檔案名;所述裝置還包括檔案操作模組,用於: 獲取檔案操作指令,所述檔案操作指令攜帶有待操作檔案的原檔案名; 根據所述原檔案名,查找對應的解壓縮檔案; 將輸入參數儲存位址傳遞給檔案打開介面後,執行檔案操作;其中,儲存於記憶體的解壓縮檔案,所述輸入參數為該檔案在記憶體中的記憶體位址;儲存於本地磁碟的解壓縮檔案,所述輸入參數為該檔案的加密檔案名。 相應的,本說明書還提供一種網路設備,包括: 處理器; 用於儲存處理器可執行指令的儲存器; 其中,所述處理器被配置為: 獲取至少一個待打包檔案; 壓縮所述待打包檔案,產生壓縮檔案; 根據所述待打包檔案的安全級別產生儲存位置標識,所述儲存位置標識指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟; 將包含所述儲存位置標識的附加資訊與所述壓縮檔案進行打包,獲得檔案包。 相應的,本說明書還提供一種網路設備,包括: 處理器; 用於儲存處理器可執行指令的儲存器; 其中,所述處理器被配置為: 獲取檔案包後進行解包處理,獲得所述檔案包中包含的至少一個壓縮檔案及對應的附加資訊,所述附加資訊包括儲存位置標識,所述儲存位置標識指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟; 解壓縮所述壓縮檔案後獲得解壓縮檔案,根據所述儲存位置標識將所述解壓縮檔案儲存至對應位置。 上述檔案打包裝置/檔案包解包裝置中各個模組的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。 對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的模組可以是或者也可以不是實體上分開的,作為模組顯示的部件可以是或者也可以不是實體模組,即可以位於一個地方,或者也可以分佈到多個網路模組上。可以根據實際的需要選擇其中的部分或者全部模組來實現本說明書方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。 上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多任務處理和並行處理也是可以的或者可能是有利的。 本領域技術人員在考慮說明書及實踐這裡申請的發明後,將容易想到本說明書的其它實施方案。本說明書旨在涵蓋本說明書的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本說明書的一般性原理並包括本說明書未申請的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本說明書的真正範圍和精神由下面的請求項指出。 應當理解的是,本說明書並不局限於上面已經描述並在附圖中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本說明書的範圍僅由所附的請求項來限制。 以上所述僅為本說明書的較佳實施例而已,並不用以限制本說明書,凡在本說明書的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書保護的範圍之內。
102‧‧‧步驟 104‧‧‧步驟 106‧‧‧步驟 108‧‧‧步驟 202‧‧‧步驟 204‧‧‧步驟 410‧‧‧處理器 420‧‧‧網路介面 430‧‧‧記憶體 431‧‧‧裝置 440‧‧‧非易失性儲存器 51‧‧‧獲取模組 52‧‧‧壓縮模組 53‧‧‧產生模組 54‧‧‧打包模組 61‧‧‧解包模組 62‧‧‧解壓縮模組
此處的附圖被併入說明書中並構成本說明書的一部分,示出了符合本說明書的實施例,並與說明書一起用於解釋本說明書的原理。 圖1是本說明書根據一示例性實施例示出的一種檔案打包方法的流程圖。 圖2是本說明書根據一示例性實施例示出的一種檔案包解包方法的流程圖。 圖3是本說明書根據一示例性實施例示出的一種打包示意圖。 圖4是本說明書檔案打包裝置/檔案包解包裝置所在設備的一種硬體結構圖。 圖5是本說明書根據一示例性實施例示出的一種檔案打包裝置的方塊圖。 圖6是本說明書根據一示例性實施例示出的一種檔案包解包裝置的方塊圖。

Claims (5)

  1. 一種檔案包解包方法,所述方法包括:獲取檔案包後進行解包處理,獲得所述檔案包中包含的至少一個壓縮檔案及對應的附加資訊,所述附加資訊包括儲存位置標識,所述儲存位置標識指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟;解壓縮所述壓縮檔案後獲得解壓縮檔案,根據所述儲存位置標識將所述解壓縮檔案儲存至對應位置,接收對解壓縮檔案的檔案操作指令,將輸入參數傳遞給檔案打開介面後,執行檔案操作;其中,儲存於記憶體的解壓縮檔案,所述輸入參數為該檔案在記憶體中的記憶體位址;儲存於本地磁碟的解壓縮檔案,所述輸入參數為該檔案的加密檔案名。
  2. 根據請求項1所述的方法,所述附加資訊還包括所述加密檔案名,所述加密檔案名與儲存於本地磁碟的解壓縮檔案的檔案名對應。
  3. 一種檔案包解包裝置,所述裝置包括:解包模組,用於:獲取檔案包後進行解包處理,獲得所述檔案包中包含的至少一個壓縮檔案及對應的附加資訊,所述附加資訊包括儲存位置標識,所述儲存位置標識 指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟;解壓縮模組,用於:解壓縮所述壓縮檔案後獲得解壓縮檔案,根據所述儲存位置標識將所述解壓縮檔案儲存至對應位置;檔案操作模組,用於:接收對解壓縮檔案的檔案操作指令,將輸入參數傳遞給檔案打開介面後,執行檔案操作;其中,儲存於記憶體的解壓縮檔案,所述輸入參數為該檔案在記憶體中的記憶體位址;儲存於本地磁碟的解壓縮檔案,所述輸入參數為該檔案的加密檔案名。
  4. 根據請求項3所述的裝置,所述附加資訊還包括所述加密檔案名,所述加密檔案名與儲存於本地磁碟的解壓縮檔案的檔案名對應。
  5. 一種網路設備,包括:處理器;用於儲存處理器可執行指令的儲存器;其中,所述處理器被配置為:獲取檔案包後進行解包處理,獲得所述檔案包中包含的至少一個壓縮檔案及對應的附加資訊,所述附加資訊包括儲存位置標識,所述儲存位置標識指示所述壓縮檔案解壓縮後得到的解壓縮檔案的儲存位置,所述儲存位置包括記憶體或本地磁碟; 解壓縮所述壓縮檔案後獲得解壓縮檔案,根據所述儲存位置標識將所述解壓縮檔案儲存至對應位置,接收對解壓縮檔案的檔案操作指令,將輸入參數傳遞給檔案打開介面後,執行檔案操作;其中,儲存於記憶體的解壓縮檔案,所述輸入參數為該檔案在記憶體中的記憶體位址;儲存於本地磁碟的解壓縮檔案,所述輸入參數為該檔案的加密檔案名。
TW108104911A 2018-04-17 2019-02-14 檔案打包、檔案包解包方法、裝置及網路設備 TWI709059B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810345096.3 2018-04-17
??201810345096.3 2018-04-17
CN201810345096.3A CN108647527B (zh) 2018-04-17 2018-04-17 文件打包、文件包解包方法、装置及网络设备

Publications (2)

Publication Number Publication Date
TW201944277A TW201944277A (zh) 2019-11-16
TWI709059B true TWI709059B (zh) 2020-11-01

Family

ID=63746362

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108104911A TWI709059B (zh) 2018-04-17 2019-02-14 檔案打包、檔案包解包方法、裝置及網路設備

Country Status (6)

Country Link
US (1) US11100244B2 (zh)
EP (1) EP3716123B1 (zh)
CN (1) CN108647527B (zh)
SG (1) SG11202005716WA (zh)
TW (1) TWI709059B (zh)
WO (1) WO2019201003A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647527B (zh) * 2018-04-17 2020-11-17 创新先进技术有限公司 文件打包、文件包解包方法、装置及网络设备
CN109803006A (zh) * 2019-01-04 2019-05-24 福建天泉教育科技有限公司 分布式文件系统下的多文件批量打包方法、存储介质
CN110618967B (zh) * 2019-06-13 2022-07-15 北京无限光场科技有限公司 应用程序运行方法、安装包生成方法、装置、设备及介质
US11029932B2 (en) * 2019-08-23 2021-06-08 Microsoft Technology Licensing, Llc Hydration of applications
CN111813460A (zh) * 2020-06-01 2020-10-23 北京百卓网络技术有限公司 一种应用程序配套文件的存取方法、装置、设备及存储介质
CN112217806B (zh) * 2020-09-23 2022-12-27 深圳杰微芯片科技有限公司 数据传输加密方法、服务器和存储介质
CN113179450B (zh) * 2021-03-23 2022-06-03 重庆扬成大数据科技有限公司 一种用于大数据环境下分析城市运营管理的工作方法
CN114172968A (zh) * 2021-10-26 2022-03-11 阿里云计算有限公司 数据解压缩方法、装置、电子设备、介质及程序产品
CN116414439B (zh) * 2023-01-05 2023-11-21 上海弘积信息科技有限公司 一种负载均衡设备中配置文件管理方法及系统
CN116896444B (zh) * 2023-09-11 2023-12-15 武汉吧哒科技股份有限公司 文件包管理方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1622099A (zh) * 2003-11-24 2005-06-01 顺德市顺达电脑厂有限公司 档案保护方法
TWI271625B (en) * 2001-12-31 2007-01-21 Fineart Technology Co Ltd File compression and encryption method of an embedded information storage device
US20120069131A1 (en) * 2010-05-28 2012-03-22 Abelow Daniel H Reality alternate
TW201327232A (zh) * 2011-12-30 2013-07-01 Chi Mei Comm Systems Inc 檔案處理方法及系統
TWI476676B (zh) * 2008-09-29 2015-03-11 Sandisk Il Ltd 用於使用不同叢集尺寸的儲存裝置之檔案系統

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100661170B1 (ko) * 2005-01-07 2006-12-26 삼성전자주식회사 화상형성장치 및 그의 제어방법
US20060235863A1 (en) * 2005-04-14 2006-10-19 Akmal Khan Enterprise computer management
CN101370212A (zh) * 2008-09-22 2009-02-18 深圳华为通信技术有限公司 数据处理的方法和装置
JP2012048540A (ja) * 2010-08-27 2012-03-08 Canon Inc 画像処理装置及びその制御方法、情報処理システム、並びにプログラム
US9229934B2 (en) * 2011-07-12 2016-01-05 Salesforce.Com, Inc. Method and system for document integration
US8849878B1 (en) * 2011-09-30 2014-09-30 Emc Corporation Efficient data rehydration
US9633023B2 (en) * 2013-03-15 2017-04-25 Microsoft Technology Licensing, Llc Efficient DVCS storage system
CN103620606B (zh) * 2013-06-20 2017-10-10 华为技术有限公司 存储检测装置、系统及存储检测方法
US9436842B2 (en) * 2013-08-16 2016-09-06 Vinay Purohit Distributed fragments file system
CN105022644A (zh) * 2014-04-29 2015-11-04 宇龙计算机通信科技(深圳)有限公司 终端、系统更新方法、系统更新文件下发方法及装置
US10628822B1 (en) * 2014-06-25 2020-04-21 Urban Airship, Inc. Installing digital wallet assets
CN105335173A (zh) * 2014-07-01 2016-02-17 北京奇虎科技有限公司 初始化智能终端设备的方法、装置及系统
CN107003907A (zh) * 2016-01-26 2017-08-01 华为技术有限公司 一种数据处理方法以及数据处理设备
CN106022014A (zh) * 2016-05-16 2016-10-12 武汉斗鱼网络科技有限公司 一种资源文件的打包方法和解包方法
CN106326768B (zh) * 2016-08-23 2019-05-07 Oppo广东移动通信有限公司 一种信息管理方法、装置及智能终端
CN106599702B (zh) * 2016-12-08 2020-02-07 武汉斗鱼网络科技有限公司 一种文件加密、解密的方法及装置
CN108647527B (zh) * 2018-04-17 2020-11-17 创新先进技术有限公司 文件打包、文件包解包方法、装置及网络设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI271625B (en) * 2001-12-31 2007-01-21 Fineart Technology Co Ltd File compression and encryption method of an embedded information storage device
CN1622099A (zh) * 2003-11-24 2005-06-01 顺德市顺达电脑厂有限公司 档案保护方法
TWI476676B (zh) * 2008-09-29 2015-03-11 Sandisk Il Ltd 用於使用不同叢集尺寸的儲存裝置之檔案系統
US20120069131A1 (en) * 2010-05-28 2012-03-22 Abelow Daniel H Reality alternate
TW201327232A (zh) * 2011-12-30 2013-07-01 Chi Mei Comm Systems Inc 檔案處理方法及系統

Also Published As

Publication number Publication date
SG11202005716WA (en) 2020-07-29
EP3716123A1 (en) 2020-09-30
US11100244B2 (en) 2021-08-24
TW201944277A (zh) 2019-11-16
EP3716123A4 (en) 2021-02-17
EP3716123B1 (en) 2021-11-24
CN108647527B (zh) 2020-11-17
US20200293677A1 (en) 2020-09-17
WO2019201003A1 (zh) 2019-10-24
CN108647527A (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
TWI709059B (zh) 檔案打包、檔案包解包方法、裝置及網路設備
US11386230B2 (en) On-demand code obfuscation of data in input path of object storage service
JP6199931B2 (ja) コンテンツベースのファイルチャンキング
US9444820B2 (en) Providing context-based visibility of cloud resources in a multi-tenant environment
US10613938B2 (en) Data virtualization using copy data tokens
US20140019498A1 (en) System, method and computer readable medium for file management
US10996961B2 (en) On-demand indexing of data in input path of object storage service
US20140245025A1 (en) System and method for storing data securely
US10623186B1 (en) Authenticated encryption with multiple contexts
US11023311B2 (en) On-demand code execution in input path of data uploaded to storage service in multiple data portions
JP2017504850A (ja) 接続された装置のデータ管理
CN114586020A (zh) 在对象存储服务的输入路径中的数据的按需代码模糊
US20080082679A1 (en) Method and system for management protocol-based data streaming
CN113383330A (zh) 安全容器的创建和执行
CN111143869A (zh) 应用程序包处理方法、装置、电子设备及存储介质
US11386214B2 (en) Web application execution with secure element extension
CN114586010A (zh) 对象存储服务的输出路径中对象过滤代码的按需执行
US20140143201A1 (en) Dynamic content file synchronization
US11777708B2 (en) Secure encryption of partial blocks
US11656892B1 (en) Sequential execution of user-submitted code and native functions
CN112464255A (zh) 一种数据处理方法、装置、存储介质及电子设备
US20170286195A1 (en) Information object system
CN117194298B (zh) 一种控制方法、装置、设备及存储介质
US12008363B1 (en) Delivering portions of source code based on a stacked-layer framework
CN117298598A (zh) 资源包的处理方法和装置、存储介质及电子设备