我最近讀到protocol buffers的文章,協議緩衝區,在哪裏使用它們?
Protocol Buffers的序列化是結構化數據的方法。這是 有用的程序開發互相溝通通過 線或用於存儲數據。該方法涉及的接口描述 語言描述了一些數據的結構和 從該說明書生成源代碼,用於生成或解析 字節流,它表示的結構化數據
我想如何處理該程序知道的是,在哪裏使用它們?有沒有真實的例子,而不是簡單的地址簿例子?它是否用於預先緩存來自數據庫的查詢結果?
我最近讀到protocol buffers的文章,協議緩衝區,在哪裏使用它們?
Protocol Buffers的序列化是結構化數據的方法。這是 有用的程序開發互相溝通通過 線或用於存儲數據。該方法涉及的接口描述 語言描述了一些數據的結構和 從該說明書生成源代碼,用於生成或解析 字節流,它表示的結構化數據
我想如何處理該程序知道的是,在哪裏使用它們?有沒有真實的例子,而不是簡單的地址簿例子?它是否用於預先緩存來自數據庫的查詢結果?
協議緩衝區是一種數據存儲和交換格式,特別用於RPC - 程序或計算機之間的通信。替代方案包括特定於語言的序列化(Java序列化,Python pickles等),CSV和TSV等表格格式,XML和JSON等結構化文本格式以及其他二進制格式,如Apache Thrift。從概念上講,這些都是表示結構化數據的不同方式,但實際上它們有不同的優點和缺點。
協議的緩衝劑是:
.proto
。通過將結構從數據協議中分離出來,緩衝區可以是精簡而意味着的,但是這意味着沒有關聯的文件和像protoc
這樣的工具來生成解析它的代碼,原型格式的任意數據是不可用的。這使protos成爲發送數據給可能沒有.proto
文件的其他人的糟糕選擇。做出一些一概而論約不同的格式:
谷歌着名uses protocol buffers for practically everything they do。如果你可以想象一個需要存儲或傳輸數據的理由,Google可能會用協議緩衝區來做。
我用它們來創建一個金融交易系統。原因如下:
[官方文檔](https://developers.google.com/protocol-buffers/)可能比其他人的Python分支更好。 – dimo414
Cherenkov望遠鏡陣列最有可能使用ProtoBufs而不是ZMQ來發送望遠鏡數據:http://arxiv.org/pdf/1508.06473v1.pdf – MaxNoe
OpenStreetMap從XML切換到協議緩衝區以減小文件大小並提高解析速度: http://wiki.openstreetmap.org/wiki/PBF_Format – jpa