XML和Google 数据结构protocol buffer 比较

Google 的protocol buffer开源了,早就听说了google的protocol buffer了。Protocol Buffer 是google内部非常重要的数据序列化和反序列化的工具。Protocol buffer可以用来定义结构化的数据,据说google内部所有的结构化数据都是用protocol buffer 来保存的,比如我们在google上做一次搜索,google的后台就会通过protocol buffer
来互相通信,和读取相关的数据。可以看出protocol buffer对于google来说是很重要的,其实很像xml的功能,所以拿出来比较一下:

一   都可以用来定义结构化数据,protocol  buffer 更简单
   如果我们要xml来定义结构化数据,通常我们会这样:
    <struct>
       <field type="int">1<field>
       <field type="stirng">a<field>
    </struct>
    如果使用protocol buffer,可以这样做:
     message struct {
        required int32  field1;
        required string field2;
     }
     可以看出google的protocol buffer预定义了一些类型,常用类似于C的struct的语法来定义结构化数据。这里我们可以看出,protocol buffer 更实用

二  序列化
    protocol buffer 可以在硬盘上保存结构化的数据,不同的系统都可以读取,比如 C++生成一个protocol buffer,并将其写入到硬盘, 另一个JAVA程序就可以读取了。  XML 那就不同说了,C++ java都可以解析和生成。protocol  buffer主要是比较高效,据说大小是同样功能XML的30%, 解析速度是XML的20~100倍!牛啊。。

三 RPC
    Xml-rpc 使用XML来交换数据,比如soap, web service。我个人觉得xml-rpc的效率比较低。我们也可以使用protocol buffer 来作为rpc的数据格式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值