当前位置:首页 科普知识 Protocol Buffers

Protocol Buffers

发布时间:2023-09-06 23:56:05

Protocol Buffers,是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。

Protocol Buffers详细介绍

Protocol Buffers,是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。

Protocol Buffers

Protocol Buffers作用

它不依赖于语言和平台并且可扩展性极强。现阶段官方支持C++、JAVA、Python、Objective C、C#

Ruby、PHP、Javascript八种编程语言,还可以找到大量的几乎涵盖所有语言的第三方拓展包。

通过它,你可以定义你的数据的结构,并生成基于各种语言的代码。这些你定义的数据流可以轻松地在传递并不破坏你已有的程序。并且你也可以更新这些数据而现有的程序也不会受到任何的影响。

Protocol Buffers经常被简称为protobuf。

Protocol Buffers样例

通过定义一些数据和结构放在一个 .proto 文件之中。每一个protocol buffer 信息都是一小段结构,包含了一些名字。下面是一个.proto 文件内容的样例。

message Point {

required int32 x = 1;

required int32 y = 2;

optional string label = 3;

}

message Line {

required Point start = 1;

required Point end = 2;

optional string label = 3;

}

message Polyline {

Protocol Buffers

repeated Point point = 1;

optional string label = 2;

}

Protocol Buffers优点

为什么不使用XML?

同XML相比,Protocol buffers在序列化结构化数据方面有许多优点:

1. 更简单

2. 数据描述文件只需原来的1/10至1/3

3. 解析速度是原来的20倍至100倍

4. 减少了二义性

5. 生成了更容易在编程中使用的数据访问类

6、支持多种编程语言

举例

我们可以举出例子对这两者进行比较。

XML

<person>

<name>John Doe</name>

<email>jdoe@</email>

</person>

Protocol Buffers

Protocol buffers

message person { name: "John Doe" ; email: "jdoe@"}

Protocol Buffers应用

Protocol Buffers在谷歌被广泛用于各种结构化信息存储和交换。Protocol Buffers作为一个自定义的远程过程调用(RPC)系统,用于在谷歌几乎所有的设备间的通信。

google在2008年7月7号将其作为开源项目对外公布。

温馨提示:
本文【Protocol Buffers】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6