自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

OpenHarmony啃論文成長計劃---序列化技術發(fā)展及應用綜述

系統(tǒng) OpenHarmony
JSON和XML屬于文本序列化規(guī)范,都是使用字符串表示所有的數據,但是像浮點數,布爾值,結構體等一些非字符類型的數據。

??想了解更多內容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區(qū)??

??https://ost.51cto.com??

【本期看點】

  • 除JSON/XML之外的序列化技術的誕生。
  • 歷年來序列化技術的發(fā)展時間線。
  • 一圖概覽不同序列化技術的應用場景。
  • 一圖比較不同序列化技術位字符串包含的信息量大小。

除JSON/XML之外的序列化技術的誕生

JSON/XML的不足

我們都知道JSON/XML擁有非常強大表達力和跨平臺能力的序列化技術,使用起來非常地方便,且沒什么約束。不過隨著各個平臺數據量的飆升,方便且自由的JSON/XML序列化技術也展現(xiàn)出了非常多性能方面的不足,而這些問題恰巧是不能忽視的。

JSON和XML屬于文本序列化規(guī)范,都是使用字符串表示所有的數據,但是像浮點數,布爾值,結構體等一些非字符類型的數據,為了解析出這些非字符類型的數據,在序列化過程中的是會對數據類型進行描述的,最后生成的字面量表達會占用很多額外的存儲空間。

在面對龐大的數據處理的時候,在這種序列化規(guī)范下,系統(tǒng)甚至有可能會overflow。

序列化技術蓬勃發(fā)展

就在剛剛說的那些序列化瓶頸下,程序員們怎么會妥協(xié)于此呢,就在JSON之后,越來越多的序列化技術出現(xiàn)在我們視野內。比如上一期談到的幾乎沒有解析時間的Flatbuffers,還有分布式計算經常用到的Microsoft Bond,Cap‘s Proto等等。

歷年來序列化技術的發(fā)展時間線

可以看到21世紀開始,因為世界在不斷地網絡信息化,其中對數據傳輸過程地要求也越來越高,序列化技術也在被人們不斷迭代創(chuàng)新。

序列化技術也被從簡單地字符分割值CSV文件,再到1996年,在SGML的基礎之上,簡化出一種規(guī)范,提出了一種標記型語言命名為XML(可擴展標記語言)。2006年現(xiàn)在依舊廣受人們喜愛地JSON也出現(xiàn)在了我們的視野,隨著技術的創(chuàng)新與發(fā)展,序列化技術也因為不同的場景需求,在近15年間,許多新序列化技術在不斷地涌現(xiàn)出來。

一圖概覽不同序列化技術的應用場景

在上面這幅圖我們可以直觀地看到不同序列化技術地應用場景,可能這些技術還可以被應用于其他場景,但是相對于其他序列化技術,它們更多地被應用于特定地場景中。從80年代電子表格的出現(xiàn),CSV被人們所熟知,再到同時期應用于遠程通信的ASN.1。再緊接著的就是象征著網絡時代正式開始的web應用,從1996年采用XML,再到2006年開始JSON盛行,一直沿用至今。

在軟體架構中,使用著YAML還有TOML。近些年大火地大數據在使用Apache Avro;數據庫技術也引入了序列化技術BSON;未來大勢所趨地物聯(lián)網使用著CBOR;再到我們現(xiàn)在的瘋狂的網絡游戲,應用著FlatBuffers ,后面更是基于FlatBuffers創(chuàng)新除了兼容性更佳的FlexBUffers。當然也離不開鬧得沸沸揚揚的分布式計算,用于這個場景的序列化技術也是不斷地再迭代,先后有Protocol Buffers,Apache Thrift,Message Pack,Cap'n Proto以及Microsoft Bond。

一圖比較不同序列化技術位字符串包含的信息量大小

上圖中表示的是用不同的序列化技術,分別序列化相同數據后,對位字符串信息量大小進行排序。(越往右信息量越小)。

我們可以根據上圖直觀地看到序列化后的位字符串包含的信息量,來比較無模式和模式驅動的序列化規(guī)范。

最左邊的處理方法序列化后的位字符串的信息量是最大的,都是無模式序列化規(guī)范(Schema-less Serialization Specififications),比如BSON,Smile,FlexBuffers等,因為最大地保留了原始數據及其結構的信息描述。最右邊的信息量是最小的,比如ASN.1,因為他們把非常多的結構信息已經在規(guī)范中提前約定,因此不需要寫入序列化后的位字符串中。

??想了解更多內容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區(qū)??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 鴻蒙社區(qū)
相關推薦

2022-03-08 15:23:20

序列化反序列化鴻蒙

2022-02-24 16:32:26

OpenHarmon壓縮編碼鴻蒙

2022-03-31 16:13:27

Avro數據序列化系統(tǒng)Harmony

2022-02-16 16:28:22

RPC鴻蒙操作系統(tǒng)

2022-03-22 15:04:20

中間件分布式軟件鴻蒙

2022-03-15 15:17:03

開源技術HarmonyMQTT協(xié)議

2022-03-30 14:43:00

Harmony分布式軟總線通訊

2022-03-28 15:28:42

分布式軟總線通訊Harmony

2010-10-09 21:30:57

FTTx

2022-08-05 19:55:20

學術科研鴻蒙

2020-11-15 20:00:21

人工智能AI

2021-01-26 10:23:06

人工智能人工智能技術

2022-02-10 14:57:46

OpenHarmon鴻蒙操作系統(tǒng)

2022-02-10 15:33:05

OpenHarmon應用開發(fā)操作系統(tǒng)

2010-10-08 21:23:26

PON技術

2013-02-20 15:57:46

PON技術通信網絡

2023-11-13 16:33:46

2022-11-23 08:32:52

toB應用應用交付

2022-08-06 08:41:18

序列化反序列化Hessian

2009-08-19 10:13:22

Remoting序列化
點贊
收藏

51CTO技術棧公眾號