[發明專利]一種無損JSON數據壓縮方法有效
| 申請號: | 201310328885.3 | 申請日: | 2013-07-31 |
| 公開(公告)號: | CN103401562A | 公開(公告)日: | 2013-11-20 |
| 發明(設計)人: | 孔校軍;劉潔 | 申請(專利權)人: | 北京華易互動科技有限公司 |
| 主分類號: | H03M7/30 | 分類號: | H03M7/30 |
| 代理公司: | 北京君尚知識產權代理事務所(普通合伙) 11200 | 代理人: | 余長江 |
| 地址: | 100025 北京市朝陽*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 無損 json 數據壓縮 方法 | ||
技術領域
本發明涉及一種無損數據壓縮方法,特別是一種無損JSON數據壓縮方法。
背景技術
JSON是一種輕量級的數據交換格式,易于人閱讀和書寫,易于機器解析和生成。它可以被用來作為數據交換格式,就像XML。當比較JSON和XML時,JSON具有以下幾個優點:1.易于人閱讀和編寫。2.易于機器解析和生成。這也是為什么JSON會被認為是XML的輕量級替代的原因。雖然JSON有以上幾個優點,但是其數據重復度依然比較高,文件越大,KEY值重復次數越多,在移動互聯網應用中傳輸數據消耗的流量較多,于是就出現了一些JSON數據壓縮方法。
JSON的壓縮算法目前有CJSON和HPack兩種開源壓縮方法,兩種算法都是通過數據結構的改變來實現壓縮,其中CJSON的壓縮方法主要是將原始JSON數據抽離成Template(模版)和Value(值),即省掉其中JSON數據中重復的“Key值”。HPack也是將原始JSON數據抽離成Template和Value,陣列中第一個值是Template,后面依序就是Value。兩種壓縮效果如下:
例1
壓縮前:
[{
name:Andrea,
age:31,
gender:Male,
skilled:true
},
{
name:Daniele,
age:26,
gender:Male,
skilled:false
}]
使用CJSON壓縮后:
{
templates:[
[“name”,age,gender,”skilled”]
],
values:[
{“values”:[“Andrea”,31,”Male”,true]},
{values:[“Daniele”,26,“Male”,false]}
]
}
使用HPack壓縮后:
[[name,age,gender,skilled],[Andrea,31,Male,true],[Daniele,26,Male,false]]很顯然,HPack壓縮方法壓縮率更高,但是HPack使用過程復雜,不能壓縮復雜的JSON數據,如下:
例2
壓縮前:
[
{
x:100,
y:100
},{
x:100,
y:100,
width:200,
height:150
},
{},
]
使用CJSON壓縮后:
{
templates:[
[0,x,y],[1,width,height]
],
values:[
{values:[1,100,100]},
{values:[2,100,100,200,150]}
]
}
而HPack無法對此數據進行壓縮。
從以上例子中CJSON壓縮后的數據發現,仍然有很多重復字符,還有進一步的壓縮空間。CJSON和HPack都是對“Key值”進行提取模版壓縮,并沒有對“Value值”進行壓縮。
發明內容
針對現有技術中存在的技術問題,本發明的目的在于提供一種無損JSON數據壓縮方法,集成了原有的CJSON和HPack壓縮方法的優點,對原有JSON數據全部讀取后抽取模版,抽取相同的“Key值”和“Value值”作為模版,進行數據格式重組,以達到壓縮的目的。
本發明的技術方案為:
一種無損JSON數據壓縮方法,其步驟為:
1)遍歷讀取待壓縮的JSON數據,對其中的每一JSON對象分別生成一數據對象,該數據對象包含該JSON對象的所有Key值和Value值;
2)對每一數據對象的Key值進行對比,將重復的Key值生成一Key值模版;對每一數據對象的Value值進行對比,將重復的Value值生成一Value值模版;
3)按照Key值模版和Value值模版對待壓縮的JSON數據進行壓縮:將同一數據對象中重復的Value值替換成標識符,該標示符指示該Value值位于第幾個Value值模板中的第幾個值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京華易互動科技有限公司,未經北京華易互動科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310328885.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種超高效三相異步電動機
- 下一篇:用于真空泵的交流電機





