• / 8
  • 下載費用:30 金幣  

一種節省客戶端和服務器交互時的傳輸流量的方法和模塊.pdf

摘要
申請專利號:

CN201410086232.3

申請日:

2014.03.11

公開號:

CN104917786A

公開日:

2015.09.16

當前法律狀態:

撤回

有效性:

無權

法律詳情: 發明專利申請公布后的視為撤回IPC(主分類):H04L 29/08申請公布日:20150916|||實質審查的生效IPC(主分類):H04L 29/08申請日:20140311|||公開
IPC分類號: H04L29/08; G06F17/30 主分類號: H04L29/08
申請人: 杭州霧隱美地傳媒有限公司
發明人: 顧建軍
地址: 310051浙江省杭州市濱江區長江路336號5幢806-810室
優先權:
專利代理機構: 北京市廣友專利事務所有限責任公司11237 代理人: 李晶
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201410086232.3

授權公告號:

||||||

法律狀態公告日:

2018.09.11|||2015.10.14|||2015.09.16

法律狀態類型:

發明專利申請公布后的視為撤回|||實質審查的生效|||公開

摘要

本發明適用于互聯網通信領域,提供了一種節省客戶端和服務器交互時的傳輸流量的方法,本發明通過在客戶端和服務器端同步映射字典,并根據映射字典壓縮優化傳輸數據,節省了傳輸流量,同時仍保持客戶端和服務器端的代碼的可讀性、可維護性。

權利要求書

權利要求書
1.  一種節省客戶端和服務器交互時的傳輸流量的方法,其特征在于,將客戶端要傳輸給服務器的JSON數據根據映射字典文件進行壓縮優化,所述映射字典文件是預定義的JSON數據中的key及對應的映射定義的集合。

2.  如權利要求1所述的節省客戶端和服務器交互時的傳輸流量的方法,其特征在于,所述方法具體包括:
客戶端獲取服務器上的映射字典文件,并保持客戶端上的映射字典文件與服務器上的映射字典文件始終同步一致;
客戶端根據要傳輸給服務器的JSON格式的請求數據中的原始key在映射字典文件中查找匹配的映射定義;
客戶端將查找到的映射定義替換請求數據中的原始key后,將壓縮優化后的請求數據發送給服務器。

3.  如權利要求2所述的節省客戶端和服務器交互時的傳輸流量的方法,其特征在于,所述方法還包括:
服務器根據客戶端發送的壓縮優化后的請求數據中的映射定義在映射字典文件中查找對應的原始key,并用查找到的原始key替換對應的映射定義。

4.  如權利要求2所述的節省客戶端和服務器交互時的傳輸流量的方法,其特征在于,根據服務器不同接口定義不同的映射字典文件。

5.  如權利要求4所述的節省客戶端和服務器交互時的傳輸流量的方法,其特征在于,客戶端向服務器請求并獲取對應的訪問接口的映射字典文件,并緩存到本地。

6.  如權利要求5所述的節省客戶端和服務器交互時的傳輸流量的方法,其特征在于,所述映射字典文件的格式為{固定key1:接口名,固定key2:版本,[{原始key名1:縮寫key名1},...,{原始key名N:縮寫key名N}]},N為自然數。

7.  一種優化客戶端傳輸數據的模塊,其特征在于,包括:
文件獲取單元,用于向服務器請求并獲取映射字典文件,所述映射字典文件是預定義的JSON數據中的key及對應的映射定義的集合;
數據轉換模塊,用于根據客戶端的JSON格式的請求數據中的原始key在文件獲取單元獲取的映射字典文件中查找對應的映射定義,并用查找到的映射定義替換對應的原始key后輸出。

8.  一種含有如權利要求7所述的優化客戶端傳輸數據的模塊的客戶端。

9.  一種服務器上的數據恢復模塊,其特征在于,包括:
文件輸出單元,用于存儲映射字典文件,并根據客戶端的請求將映射字典文件發送給客戶端,所述映射字典文件是預定義的JSON數據中的key及對應的映射定義的集合;
數據轉換模塊,用于根據客戶端發送的壓縮優化后的數據中的映射定義在映射字典文件中查找對應的原始key,并用查找到的原始key替換對應的映射定義后輸出。

10.  一種節省客戶端和服務器交互時的傳輸流量的系統,其特征在于,包括客戶端上的數據優化模塊和服務器上的數據恢復模塊,
    所述數據優化模塊包括:文件獲取單元,用于向服務器請求并獲取映射字典文件,所述映射字典文件是預定義的JSON數據中的key及對應的映射定義的集合;數據轉換模塊,用于根據客戶端的JSON格式的請求數據中的原始key在文件獲取單元獲取的映射字典文件中查找對應的映射定義,并用查找到的映射定義替換對應的原始key后輸出;
所述數據恢復模塊包括文件輸出單元,用于存儲映射字典文件,并根據客戶端的請求將映射字典文件發送給客戶端;數據轉換模塊,用于根據客戶端發送的壓縮優化后的數據中的映射定義在映射字典文件中查找對應的原始key,并用查找到的原始key替換對應的映射定義后輸出。

說明書

說明書一種節省客戶端和服務器交互時的傳輸流量的方法和模塊
技術領域
本發明屬于互聯網通信領域,尤其涉及一種節省客戶端和服務器交互時的傳輸流量的方法和模塊。
背景技術
目前,互聯網上客戶端和服務器端的交互,普遍采用HTTP協議。為獲取好的用戶體驗,一般都采用JSON格式的數據。所謂JSON(JavaScript Object Notation)格式是一種輕量級的數據交換格式,這種格式的數據易于人閱讀和編寫,同時也易于機器解析和生成。JSON格式是基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。 JSON格式采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族(包括C, C++, C#, Java, JavaScript, Perl, Python等)的習慣,這些特性使JSON成為理想的數據交換語言。
JSON建構于兩種結構:a、“名稱/值”對的集合(A collection of name/value pairs),不同的語言中,它被理解為對象(object),紀錄(record),結構(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關聯數組 (associative array);b、值的有序列表(An ordered list of values),在大部分語言中,它被理解為數組(array)。當前,在程序員編碼過程中,為了使代碼具有可讀性和可維護性,定義的JSON數據中的key通常是含義顯見的字符串,例如JSON對象:[{"msgId":"618","ower":1,"logoImgUrl":"merchantLogo\/81374636245200501.jpg","time":"2013-08-0117:56:53","type":"1","serverInfo":{"message_id":"142","crm_card_type":"","sample_id":"","merchant_id":"","question_id":"214","market_research":"5","card_id":"37"},"items":[{"content":"","title":"","time":"","linkUrl":"","location":"","imageUrl":"","itemId":"142","type":5}]}]。但在數據傳輸過程中,這些JSON數據中的key需要占用很大的數據流量。
發明內容
本發明的目的在于:提供一種節省客戶端和服務器交互時的傳輸流量的方法和模塊,旨在解決現有的JSON數據傳輸占用流量較大的問題。
本發明的目的是這樣實現的:
一種節省客戶端和服務器交互時的傳輸流量的方法,將客戶端要傳輸給服務器的JSON數據根據映射字典文件進行壓縮優化,所述映射字典文件是預定義的JSON數據中的key及對應的映射定義的集合。
所述方法具體包括:
客戶端獲取服務器上的映射字典文件,并保持客戶端上的映射字典文件與服務器上的映射字典文件始終同步一致;
客戶端根據要傳輸給服務器的JSON格式的請求數據中的原始key在映射字典文件中查找匹配的映射定義;
客戶端將查找到的映射定義替換請求數據中的原始key后,將壓縮優化后的請求數據發送給服務器。
所述方法還包括:
服務器根據客戶端發送的壓縮優化后的請求數據中的映射定義在映射字典文件中查找對應的原始key,并用查找到的原始key替換對應的映射定義。
根據服務器不同接口定義不同的映射字典文件。
客戶端向服務器請求并獲取對應的訪問接口的映射字典文件,并緩存到本地。
所述映射字典文件的格式為{固定key1:接口名,固定key2:版本,[{原始key名1:縮寫key名1},...,{原始key名N:縮寫key名N}]},N為自然數。
本發明的另一目的在于:提供一種優化客戶端傳輸數據的模塊,包括:
文件獲取單元,用于向服務器請求并獲取映射字典文件,所述映射字典文件是預定義的JSON數據中的key及對應的映射定義的集合;
數據轉換模塊,用于根據客戶端的JSON格式的請求數據中的原始key在文件獲取單元獲取的映射字典文件中查找對應的映射定義,并用查找到的映射定義替換對應的原始key后輸出。
本發明還有一目的在于:提供一種含有如上所述的優化客戶端傳輸數據的模塊的客戶端。
本發明還有一目的在于:提供一種服務器上的數據恢復模塊,包括:
文件輸出單元,用于存儲映射字典文件,并根據客戶端的請求將映射字典文件發送給客戶端,所述映射字典文件是預定義的JSON數據中的key及對應的映射定義的集合;
數據轉換模塊,用于根據客戶端發送的壓縮優化后的數據中的映射定義在映射字典文件中查找對應的原始key,并用查找到的原始key替換對應的映射定義后輸出。
    本發明還有一目的在于:提供一種節省客戶端和服務器交互時的傳輸流量的系統,包括客戶端上的數據優化模塊和服務器上的數據恢復模塊,
    所述數據優化模塊包括:文件獲取單元,用于向服務器請求并獲取映射字典文件,所述映射字典文件是預定義的JSON數據中的key及對應的映射定義的集合;數據轉換模塊,用于根據客戶端的JSON格式的請求數據中的原始key在文件獲取單元獲取的映射字典文件中查找對應的映射定義,并用查找到的映射定義替換對應的原始key后輸出;
所述數據恢復模塊包括文件輸出單元,用于存儲映射字典文件,并根據客戶端的請求將映射字典文件發送給客戶端;數據轉換模塊,用于根據客戶端發送的壓縮優化后的數據中的映射定義在映射字典文件中查找對應的原始key,并用查找到的原始key替換對應的映射定義后輸出。
    本發明的突出優點是:本發明通過在客戶端和服務器端同步映射字典,并根據映射字典壓縮優化傳輸數據,節省了傳輸流量,同時仍保持客戶端和服務器端的代碼的可讀性、可維護性。
附圖說明
圖1是本發明實施例提供的節省客戶端和服務器交互時的傳輸流量的方法的流程時序圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
本發明通過在客戶端和服務器端同步映射字典,并根據映射字典壓縮優化傳輸數據,節省了傳輸流量,同時仍保持客戶端和服務器端的代碼的可讀性、可維護性。
具體來說,就是對于JSON數據的key都分別定義一個縮寫,例如:定義key:message_id的縮寫為f,JSON數據中的key及其對應的縮寫即構成了映射字典,可以根據服務器不同的接口定義不同的映射字典,也可以將所有key及其縮寫集成于一個映射字典中。
圖1示出了本發明實施例提供的節省客戶端和服務器交互時的傳輸流量的方法的流程時序。
用戶固定/移動通信終端(即客戶端)上的應用軟件獲取應用服務器上的映射字典文件,并保持用戶終端上的映射字典文件與應用服務器端的映射字典文件始終同步一致。
在本發明實施例中,根據服務器不同接口定義不同的映射字典。當應用軟件啟動時,向服務器請求各接口(或者對應的訪問接口)的映射字典文件,該映射字典文件可選用如下格式:{固定key1:接口名,固定key2:版本,[{原始key名1:縮寫key名1},...{原始key名N:縮寫key名N}]},N為自然數。例如:{"if":"getUserInfo","v":"1.0.1.1",[{"message_id":"f"},{"market_research":"k"},{" crm_card_type":"g"}]}。用戶終端可將該映射字典文件緩存到本地以提高性能。
當客戶端向服務器發起請求時,客戶端采用JSON格式組裝請求數據,并根據客戶端要訪問的服務器接口獲取對應的映射字典文件,并根據該映射字典文件對組裝完成的請求數據進行壓縮優化,即根據請求數據中的原始key在映射字典文件中找到匹配的映射定義(即縮寫key),并用該映射定義替換請求數據中的原始key。
優化完成后,客戶端通過HTTP協議將優化后的請求數據傳給服務器的相應接口。
服務器接口接收到客戶端優化后的請求數據后,根據相同的映射字典文件,將優化后的請求數據中的縮寫key恢復成原始key名,再進行其后的請求處理,最后將處理結果傳回給客戶端。
采用本發明提供的方法后,可以極大地節省數據傳輸流量,加快數據傳輸速度。
例如,采用本發明提供的方法前的傳輸內容為:[{"msgId":"618","ower":1,"logoImgUrl":"merchantLogo\/81374636245200501.jpg","time":"2013-08-0117:56:53","type":"1","serverInfo":{"message_id":"142","crm_card_type":"","sample_id":"","merchant_id":"","question_id":"214","market_research":"5","card_id":"37"},"items":[{"content":"","title":"","time":"","linkUrl":"","location":"","imageUrl":"","itemId":"142","type":5}]}],共約371字節。
相應的,采用本發明提供的方法優化后的傳輸內容為:[{"a":"618","b":1,"c":"merchantLogo\/81374636245200501.jpg","d":"2013-08-0117:56:53","e":"1","s":{"f":"142","g":"","h":"","i":"","j":"214","k":"5","u":"37"},"t":[{"l":"","m":"","d":"","o":"","p":"","q":"","r":"142","e":5}]}],共約232字節。用戶每傳輸一次該內容數據即可節省139字節,同時原始代碼仍具有可讀性和可維護性。
為實現上述方法,客戶端需含有一個數據優化模塊,該模塊既可以含在應用軟件內,也可以獨立于應用軟件,該模塊至少包括:文件獲取單元,用于向服務器請求并獲取映射字典文件;數據轉換模塊,用于根據客戶端的JSON格式的請求數據中的原始key在文件獲取單元獲取的映射字典文件中查找對應的映射定義,并用查找到的映射定義替換對應的原始key后輸出。相應的,在服務器端也有一個數據恢復模塊,至少包括:文件輸出單元,用于存儲映射字典文件,并根據客戶端的請求將映射字典文件發送給客戶端;數據轉換模塊,用于根據客戶端發送的壓縮優化后的數據中的映射定義在映射字典文件中查找對應的原始key,并用查找到的原始key替換對應的映射定義后輸出。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。

關 鍵 詞:
一種 節省 客戶端 服務器 交互 傳輸 流量 方法 模塊
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種節省客戶端和服務器交互時的傳輸流量的方法和模塊.pdf
鏈接地址:http://www.rgyfuv.icu/p-6373399.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图