Protocol Buffers
Protocol Buffers
Protocol Buffers(简称:ProtoBuf)是一种开源跨平台的序列化数据结构的协议。其对于存储资料或在网络上进行通信的程序是很有用的。这个方法包含一个接口描述语言,描述一些数据结构,并提供程序工具根据这些描述产生代码,这些代码将用来生成或解析代表这些数据结构的字节流。
软件简介
谷歌最初开发了Protocol Buffers用于内部使用。Protocol Buffers的设计目标是简单和性能。特别地,它被设计地与XML相比更小且更快。
Protocol Buffers在Google内被广泛用来存储和交换各种类型的结构化数据。在Google,它被当作一个RPC系统的基础,并被用于几乎所有的跨服务器通信。
Protocol Buffers和Apache Thrift和Ion等协议很相似,同时也提供了一个RPC协议栈gRPC来给上层服务使用。
功能与服务
软件功能
它不依赖于语言和平台并且可扩展性极强。现阶段官方支持C++、JAVA、Python三种编程语言,但可以找到大量的几乎涵盖所有语言的第三方拓展包。
通过它,你可以定义你的数据的结构,并生成基于各种语言的代码。这些你定义的数据流可以轻松地在传递并不破坏你已有的程序。并且你也可以更新这些数据而现有的程序也不会受到任何的影响。
软件应用
Protocol Buffers在谷歌被广泛用于各种结构化信息存储和交换。Protocol Buffers作为一个自定义的远程过程调用(RPC)系统,用于在谷歌几乎所有的设备间的通信。
google在2008年7月7号将其作为开源项目对外公布。
软件优点
XML相比,Protocol buffers在序列化结构化数据方面有许多优点:
1. 更简单
2. 数据描述文件只需原来的1/10至1/3
3. 解析速度是原来的20倍至100倍
4. 减少了二义性
5. 生成了更容易在编程中使用的数据访问类
6. 支持多种编程语言
软件特点
Protocol Buffers的设计目标强调简单性和性能,特别是它旨在比XML更小更快。它作为用于几乎所有谷歌机器间通信的自定义远程过程调用(RPC)系统的基础,类似于Apache Thrift、Ion和微软 Bond协议。提供了一个用于定义服务的具体RPC协议栈,称为gRPC。数据结构模式(称为消息)和服务在proto定义文件(.proto)中描述,并使用protoc进行编译。这种编译生成可以被这些数据结构的发送方或接收方调用的代码。
```
参考资料

Warning: Invalid argument supplied for foreach() in /www/wwwroot/newbaike1.com/id.php on line 362
目录
概述
软件简介
功能与服务
软件功能
软件应用
软件优点
软件特点
参考资料