建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
直达楼层
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

采纳成功

您已采纳当前回复为最佳回复

天龙-慕容

发帖: 1粉丝: 0

发消息 + 关注

发表于2021年05月08日 10:32:50 805 4
直达本楼层的链接
楼主
显示全部楼层
[其他] ProtoBuf 的使用场景讨论

之前在网络通信和通用数据交换等应用场景中经常使用的技术是 JSON 或 XML,而目前互联网也出现了蛮多使用Google 的 ProtoBuf替代Json和XML。

protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。

Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。

(a)占用空间小 一条消息数据,用protobuf序列化后的大小是json的10分之一,xml格式的20分之一,是二进制序列化的10分之一(极端情况下,会大于等于直接序列化),总体看来ProtoBuf的优势还是很明显的。

(b)解析速度快 解析速度快,主要归功于protobuf对message 没有动态解析,没有了动态解析的处理序列化速度自然快了。就比如xml ,获取文件之后,还需要解析标签、节点、字段,每一个都需要遍历,而protobuf不需要,直接将field装入流。

(c)兼容性好 fieldNumber 为每个field定义一个编号,其一保证不重复,其二保证其在流中的位置。如若当前数据流中有某个字段,而解析方没有相关的解析代码,解析放会直接skip 吊这个field,而且读数据的position也会后移,保证后续读取不出问题。

欢迎大家一起分享下ProtoBuf的优点和使用场景分析。

API Explorer

举报
分享

分享文章到朋友圈

分享文章到微博

采纳成功

您已采纳当前回复为最佳回复

谭涟漪

发帖: 30粉丝: 1

发消息 + 关注

发表于2021年05月12日 19:02:23
直达本楼层的链接
5#
显示全部楼层

感谢分享  

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

虚荣Vainglory

发帖: 33粉丝: 3

发消息 + 关注

发表于2021年05月08日 20:49:28
直达本楼层的链接
地板
显示全部楼层

感谢分享        

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复
发表于2021年05月08日 14:19:23
直达本楼层的链接
板凳
显示全部楼层

1111111

点赞1 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

天龙-慕容

发帖: 1粉丝: 0

发消息 + 关注

发表于2021年05月08日 10:33:37
直达本楼层的链接
沙发
显示全部楼层

自己顶下自己哈。。。

点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册

结贴

您对问题的回复是否满意?
满意度
非常满意 满意 一般 不满意
我要反馈
0/200