一種基於rds單向廣播通道分發文件的方法
2023-06-03 14:28:51 1
專利名稱:一種基於rds單向廣播通道分發文件的方法
技術領域:
本發明涉及無線通信技術領域,尤其涉及一種使用RDS單向廣播通道進行文件分發的方法。
背景技術:
RDS(Radio Data System數據廣播系統)是一種利用調頻廣播(VHF/FM) (Very High Frequency/Frequency Modulation)富裕頻帶傳送數據信息的技術,能在不影響調頻廣播的情況下同時利用富裕頻帶用於數據廣播,傳輸速率理論值為1187. 5bit/s。目前很多移動終端(如手機、車載系統、PDA (Personal Digital Assistant,個人數字助理)等)都已集成了 RDS接收器。RDS主要應用於小數據量的數據廣播,例如立體聲節目信息、交通路況信息等。其優點在於覆蓋範圍廣、終端支持豐富、廉價等。現有的文件分發方法主要是通過C/Sklient/server,客戶端/伺服器)模式通過客戶端向伺服器發送獲取請求來獲取文件,其優點是每個客戶端能根據自己的需求獲取文件,客戶端能與伺服器交互;其缺點是當大量用戶請求文件時伺服器處理請求的能力成為瓶頸,而RDS的廣播特性很好地解決了這個問題,適用於向大量用戶分發小型文件。
發明內容
本發明的目的是實現一種基於RDS單向數據廣播通道的文件分發的方法,該方法提供文件的分片、壓縮解壓縮、加密解密授權、分發和斷點續傳功能。本發明提供的技術方案如下一種基於RDS單向廣播通道分發文件的方法,所述方法通過由客戶端,伺服器以及發射站組成的系統來實現(參圖1),其特徵在於,伺服器對分發文件進行分塊、壓縮、加密、校驗,並把分發數據單元發送給發射站廣播;客戶端通過一個雙向信道向伺服器獲取服務授權,已授權客戶端接收廣播信息、解密接收到的數據單元、組裝文件、解壓文件;伺服器端通過循環冗餘廣播來確保客戶端接收完整文件,客戶端用.part來記錄文件接收情況, 用於斷點續傳;具體包括如下步驟(參圖10)1)伺服器將要分發的文件壓縮,生成壓縮文件;2)伺服器將該壓縮文件分割成適合RDS數據廣播的多個文件塊;3)伺服器將各個文件塊加密,生成加密文件塊,添加塊頭信息和校驗碼,生成分發數據單元;4)伺服器將各數據單元通過RDS單向廣播通道順序發送;5)客戶端接收模塊接收數據單元;6)客戶端校驗模塊校驗數據單元,出錯則丟棄;7)客戶端通過雙向信道向廣播伺服器請求授權碼,激活解密模塊;8)客戶端解密模塊解密收到的數據單元中的加密文件塊,通過塊頭信息組裝文件;
9)客戶端解壓縮文件得到原文件。所述伺服器為包含軟體功能的計算機,所述伺服器的功能指的是該伺服器上的軟體所實現的功能。所述雙向信道為簡訊或其他通道。步驟1)中所述壓縮採用基於字典的編碼算法LZW(Lempel-Ziv Walch),在壓縮文件塊順序接收到的條件下,可以在文件不完整的情況下恢復部分文件,使用戶在沒完全接收到文件的情況下可以解壓文件,從而可以預覽部分文件內容。步驟6)所述的校驗過程使用CRC-16 (Cyclic Redundancy Check-16)對塊頭信息和文件塊內容進行校驗,校驗碼為16bits。所述的數據單元大小為RDS group type 2A能傳輸的最大長度64bytes,包括塊頭信息和經過加密的文件塊;塊頭信息包括文件塊所屬的文件和文件塊在文件中的序號。所述.part文件記錄文件的總分塊數和每一個分塊是否已接收的信息,當某些異常情況出現,導致文件不接受不完整,當服務端重新廣播文件時,客戶端通過.part記錄的信息有選擇地接收文件塊,避免了整個文件重傳,減少文件讀寫操作。步驟7)中,客戶端通過簡訊或其他通道向伺服器請求授權碼,服務端獲取簡訊中的客戶端特徵和日期生成與客戶端綁定的一定時間的授權碼,下發給客戶端。所述客戶端特徵為機器碼或SIM (Subscriber Identity Module)卡 IMSI(International Mobile Subscriber Identify)碼。本發明利用現有的調頻廣播電臺設施和RDS的單向數據廣播通道實現了文件分發功能。
圖1是本發明的系統部署圖
圖2是本發明的系統框架圖
圖3是本發明的服務端流程圖
圖4是本發明客戶端流程圖
圖5是本發明使用RDS的基帶編碼結構圖
圖6是本發明使用的RDS group type 2A編碼格式圖
圖7是本發明傳輸的數據單元結構示意圖
圖8是本發明.part文件結構示意圖
圖9是本發明文件接收流程圖
圖10是本發明所述方法的流程圖
具體實施例方式以下結合附圖對本發明進行詳細說明。如圖1所示,本發明系統包括客戶端,伺服器以及發射站。伺服器用於對分發文件進行分塊、壓縮、加密、校驗把分發數據單元發送給發射站廣播;客戶端通過一個雙向信道向伺服器獲取服務授權,已授權客戶端接收廣播信息、解密接收到的數據單元、組裝文件、 解壓文件。
如圖2所示,本發明包括伺服器端和客戶端。其中服務端包括授權碼分發模塊、文件加密模塊、文件壓縮模塊和RDS廣播模塊;客戶端包括獲取授權模塊、解密模塊、解壓縮模塊和接收模塊。系統運行步驟如下1)文件壓縮模塊對待發送文件進行壓縮,生成壓縮文件;2)對壓縮文件進行分塊,並使用文件加密模塊對文件塊進行加密;3)添加塊頭信息和校驗碼並封裝成適合RDS廣播的數據單元;4) RDS廣播模塊,廣播數據單元;5)客戶端向伺服器獲取授權碼激活解密模塊。獲取授權模塊取得客戶端機器標識信息,發送獲取授權請求。服務端授權碼分發模塊獲得客戶端機器標識信息和請求時間信息,生成和客戶端機器綁定的一定期限的授權碼發送給客戶端。授權碼獲取模塊使用授權碼激活解密模塊使其工作,當授權碼過期客戶端需再次獲取授權碼以繼續使用;6)接收模塊接收到數據單元;7)校驗模塊對數據單元進行校驗,出錯則丟棄;8)解密模塊解密接收到的數據單元中的文件塊;9)根據塊頭信息組裝文件得到壓縮文件;10)解壓縮模塊解壓壓縮文件得到原文件。圖3是系統服務端的基本流程。服務端有兩個功能,一個是授權模塊的授權功能, 一個是文件廣播功能。授權模塊啟動、接收用戶的授權請求,根據用戶提交的請求信息計算授權碼並返回授權碼;文件廣播功能對文件進行壓縮、分塊、加密、添加塊頭信息、添加校驗
碼、廣播。圖4是系統客戶端的基本流程。客戶端要使用解密模塊還原接收到的文件必須先獲得授權碼,激活解密模塊,然後接收每個數據單元,校驗數據單元完整性,解密數據單元, 根據數據單元的頭信息組裝文件,解壓文件。圖5是RDS的基帶編碼結構圖,RDS的傳輸單元稱為組(group),一組有4個塊 (block),每塊包含16比特(bit)信息字和10比特的校驗字。圖6是本發明使用的RDS組模式group type 2A的結構,該模式用於傳輸文本信息。結構中的Radiotext segment用於傳輸數據信息,一組可以傳輸4bytes的數據,該組模式使用4比特的text segment address code進行尋址,因此支持最長64bytes的數據傳輸。圖7是本發明傳輸的數據單元結構示意圖,其大小為64bytes以適應組模式group type 2A的結構。使用2bytes描述文件塊信息,其中^its用於標識文件塊屬於哪個文件, 可以標識32個文件;Ilbits用於標識文件塊在文件中的位置,使用CRC-16校驗,校驗碼長度為16bits。按這種方法傳輸文件,可傳輸的最大文件為2~11*60 = 120kB。如果需要傳輸的文件內容較大,可以調整文件塊描述部分。圖8是本發明.part文件結構示意圖,文件接收時為了能確定哪些塊已接收哪些塊還沒接收,需要在接收客戶端保存文件中的文件是否已接收的信息,用一個.part文件保存。filename是文件名,fileNum是該文件名對應的文件序號,用於標識文件塊屬於哪個文件。blockNum列表示文件接收的塊序號;received列表示對應塊是否已接收到。在接收文件時在內存中用鍊表保存.part文件的信息,當文件傳輸結束時檢查是否接收完整,如果完整刪除對應的.part文件;如果不完整把鍊表信息保存到.part文件中,用於下次傳輸。這樣就實現了單向廣播通道的斷點續傳,根據.part文件中的信息,選擇性的接收數據單元,解密數據塊寫入文件,避免了重傳整個文件,減少了文件讀寫操作和解密數據塊操作。圖9是本發明文件接收流程圖,如圖所示,流程中僅考慮文件接收流程,不重述校驗、解密、解壓縮過程。接收模塊接收到數據單元,判斷該數據單元所屬的文件是否已存在,如果不存在表明是第一次接收該文件,則新建文件,並創建對應該文件的鍊表用於記錄文件塊接收信息,然後按照該單元的文件塊序號計算偏移量寫入文件,在鍊表中記錄該塊已接收;如果已存在該文件,判斷是否存在對應的.part文件,如果存在表明是斷點續傳,讀取.part文件初始化對應鍊表,續傳文件,如果不存在.part文件表明是正在傳輸的文件,繼續傳輸。如果該塊是最後一塊,表明該文件已經傳輸結束,檢查文件是否完整,完整則保存文件,刪除對應.part文件,不完整則把鍊表記錄的信息保存到.part文件中,用於下一次續傳。圖10是本發明所示方法的流程圖,包括伺服器端流程和客戶端流程。伺服器端流程步驟如下1)文件壓縮模塊對待發送文件進行壓縮,生成壓縮文件;2)對壓縮文件進行分塊,並使用文件加密模塊對文件塊進行加密;3)添加塊頭信息和校驗碼並封裝成適合RDS廣播的數據單元;4)將數據單元通過RDS廣播通道順序發送;客戶端流程步驟如下1)接收模塊接收數據單元;2)校驗模塊校驗數據單元完整性,出錯則丟棄;3)如果解密模塊沒激活則客戶端向伺服器請求授權碼,激活解密模塊;4)解密模塊解密數據單元並組裝已接收到的數據單元;5)解壓縮模塊解壓組裝好的壓縮文件得到原文件。
權利要求
1.一種基於RDS單向廣播通道分發文件的方法,所述方法通過由客戶端,伺服器以及發射站組成的系統來實現,其特徵在於,伺服器對分發文件進行分塊、壓縮、加密、校驗,並把分發數據單元發送給發射站廣播;客戶端通過一個雙向信道向伺服器獲取服務授權,已授權客戶端接收廣播信息、解密接收到的數據單元、組裝文件、解壓文件;伺服器端通過循環冗餘廣播來確保客戶端接收完整文件,客戶端用.part來記錄文件接收情況,用於斷點續傳;具體包括如下步驟1)伺服器將要分發的文件壓縮,生成壓縮文件;2)伺服器將該壓縮文件分割成適合RDS數據廣播的多個文件塊;3)伺服器將各個文件塊加密,生成加密文件塊,添加塊頭信息和校驗碼,生成分發數據單元;4)伺服器將各數據單元通過RDS單向廣播通道順序發送;5)客戶端接收模塊接收數據單元;6)客戶端校驗模塊校驗數據單元,出錯則丟棄;7)客戶端通過雙向信道向廣播伺服器請求授權碼,激活解密模塊;8)客戶端解密模塊解密收到的數據單元中的加密文件塊,通過塊頭信息組裝文件;9)客戶端解壓縮文件得到原文件。
2.如權利要求1所述的方法,其特徵在於,所述雙向信道為簡訊或其他通道。
3.如權利要求1所述的方法,其特徵在於,步驟1)中所述壓縮採用基於字典的編碼算法 LZW。
4.如權利要求1所述的方法,其特徵在於,步驟6)所述的校驗過程使用CRC-16對塊頭信息和文件塊內容進行校驗,校驗碼為16bits。
5.如權利要求1所述的方法,其特徵在於,所述的數據單元大小為RDSgroup type 2A 能傳輸的最大長度64bytes,包括塊頭信息和經過加密的文件塊;塊頭信息包括文件塊所屬的文件和文件塊在文件中的序號。
6.如權利要求1所述的方法,其特徵在於,所述.part文件記錄文件的總分塊數和每一個分塊是否已接收的信息,當某些異常情況出現,導致文件不接受不完整,當服務端重新廣播文件時,客戶端通過.part記錄的信息有選擇地接收文件塊。
7.如權利要求1所述的方法,其特徵在於,步驟7)中,客戶端通過簡訊或其他通道向伺服器請求授權碼,服務端獲取簡訊中的客戶端特徵和日期生成與客戶端綁定的一定時間的授權碼,下發給客戶端。
8.如權利要求7所述的方法,其特徵在於,所述客戶端特徵為機器碼或SIM卡IMSI碼。
全文摘要
本發明公布了一種基於RDS單向廣播通道分發文件的方法,屬於無線通信技術領域。所述方法通過由客戶端,伺服器以及發射站組成的系統來實現(參圖1),其特徵在於,伺服器對分發文件進行分塊、壓縮、加密、校驗,並把分發數據單元發送給發射站廣播;客戶端通過一個雙向信道向伺服器獲取服務授權,已授權客戶端接收廣播信息、解密接收到的數據單元、組裝文件、解壓文件;伺服器端通過循環冗餘廣播來確保客戶端接收完整文件,客戶端用.part來記錄文件接收情況,用於斷點續傳。本發明利用現有的調頻廣播電臺設施和RDS的單向數據廣播通道實現了文件分發功能。
文檔編號H04L29/06GK102201924SQ201110189579
公開日2011年9月28日 申請日期2011年7月7日 優先權日2011年7月7日
發明者莊逸眾, 田野, 馬建 申請人:無錫智感星際科技有限公司