经过几个月开发,FlatBuffers 1.1版本更新。这次的更新包含:
- 对Java API进行了广泛的检修
- out-of-the-box支持C#和Go
- 一个可选的校对器,使FlatBuffers在不可信的情况下变得实用
- 原型解析更容易从协议缓冲区迁移
- 字段ID可选手动分配
- 通过对一个键字段二进制查询的字典功能
- bug修复和其他的改进
初始发布于去年6月份的FlatBuffers是Google推出的一种高效的开源跨平台序列化库,允许使用者在没有解析/拆包或分配额外内存的情况下读取数据。它支持模式演化(向前/向后兼容性)和可选的JSON转换。其具有如下特点:
- 不需要打包/解包。它的结构化数据都以二进制形式保存,不需要数据解析过程,数据也可以方便传递。
- 省内存、性能好(见附录1)
- 强类型系统,在编译阶段就能预防一些bug的产生
- 跨平台(C++11/Java)
- ……
在FlatBuffers的使用方法方面,简单来说需要遵循以下步骤(具体示例可查看文末给出的链接):
- 编写一个用来定义数据结构的schema(IDL,接口定义)文件
- 使用FlatBuffer编译器flatc生成数据结构源代码(C++头文件或者Java类)
- 使用FlatBufferBuilder类创建flat的二进制buffer
- 保存或者发送buffer
- 接收并buffer并读取数据内容
——南京PHP培训