Protocol Buffer 安装与使用win32

本文转载自:http://wsjiang.iteye.com/blog/2095561

       最近要在产品中改进对象的序列化了。以前用的是java默认序列化实现功能,在产品上线之前要对关键的对象进行序列化/反序列化优化,以期改善存储效率。这里选取了Protocol buffer作为最终的方案,原因主要有以下几个方面:

      1、java默认序列化效率较低。

      2、apache的thrift方案并无明显优势,但是使用成本较高,安装等较为麻烦。

      3、虽然PB不支持map,但是我们的应用中map用的较少,即使使用了存储的数据量也较少,可以转化为list方案进行存储。

        

      以上只是我选择序列化方案的一些考虑。下面是PB的2.3.0版本的安装与使用示例:

      protobuf原理文档 参阅:http://www.cnblogs.com/shitouer/archive/2013/04/10/google-protocol-buffers-tutorial.html

       

       安装&使用:

      A、windows 安装 protocol buffer  (如果没有安装Maven,先安装maven,并且mvn -version 验证安装成功)

      B、下载protobuf 2.3.0 包: protoc-2.3.0-win32.zip  和  protobuf-2.3.0.zip

      C、将两个包解压到某一目录 如:D:\dev\

      D、D:\dev\protoc-2.3.0-win32中的protoc.exe拷贝到c:\windows\system32

   E、将定义数据结构的proto文件test.proto放到某一目录  如:D:\dev\protobuf-2.3.0\files\proto

            

Test.proto代码   收藏代码
  1. package com.test;  
  2.    
  3. option java_package = "com.test";  
  4. option java_outer_classname = "TestPBDO";  
  5.    
  6. message TestPB {  
  7.   enum UpdateType {     //消息类型  
  8.     UPDATETYPE_LOCATION = 1;          //位置更新类型  
  9.     UPDATETYPE_TIME     = 2;          //时间戳更新类型  
  10.     UPDATETYPE_DELETE   = 3;          //删除类型,冗余  
  11.   }  
  12.   optional UpdateType update_type = 1; //更新类型  
  13.     
  14.   optional int64 user_id      = 2;     //用户id  
  15.   optional double user_nick= 3;     //用户nick  
  16.   
  17. }  
               

      F、控制台:定位到test.proto文件所在目录 D:\dev\protobuf-2.3.0\files\proto

      G、运行命令:protoc --java_out=. test.proto

    
      如果生成com/test文件夹并在最终生成TestPBDO类,则protobuf工作正常。

本文转载自:http://wsjiang.iteye.com/blog/2095561

       最近要在产品中改进对象的序列化了。以前用的是java默认序列化实现功能,在产品上线之前要对关键的对象进行序列化/反序列化优化,以期改善存储效率。这里选取了Protocol buffer作为最终的方案,原因主要有以下几个方面:

      1、java默认序列化效率较低。

      2、apache的thrift方案并无明显优势,但是使用成本较高,安装等较为麻烦。

      3、虽然PB不支持map,但是我们的应用中map用的较少,即使使用了存储的数据量也较少,可以转化为list方案进行存储。

        

      以上只是我选择序列化方案的一些考虑。下面是PB的2.3.0版本的安装与使用示例:

      protobuf原理文档 参阅:http://www.cnblogs.com/shitouer/archive/2013/04/10/google-protocol-buffers-tutorial.html

       

       安装&使用:

      A、windows 安装 protocol buffer  (如果没有安装Maven,先安装maven,并且mvn -version 验证安装成功)

      B、下载protobuf 2.3.0 包: protoc-2.3.0-win32.zip  和  protobuf-2.3.0.zip

      C、将两个包解压到某一目录 如:D:\dev\

      D、D:\dev\protoc-2.3.0-win32中的protoc.exe拷贝到c:\windows\system32

   E、将定义数据结构的proto文件test.proto放到某一目录  如:D:\dev\protobuf-2.3.0\files\proto

            

Test.proto代码   收藏代码
  1. package com.test;  
  2.    
  3. option java_package = "com.test";  
  4. option java_outer_classname = "TestPBDO";  
  5.    
  6. message TestPB {  
  7.   enum UpdateType {     //消息类型  
  8.     UPDATETYPE_LOCATION = 1;          //位置更新类型  
  9.     UPDATETYPE_TIME     = 2;          //时间戳更新类型  
  10.     UPDATETYPE_DELETE   = 3;          //删除类型,冗余  
  11.   }  
  12.   optional UpdateType update_type = 1; //更新类型  
  13.     
  14.   optional int64 user_id      = 2;     //用户id  
  15.   optional double user_nick= 3;     //用户nick  
  16.   
  17. }  
               

      F、控制台:定位到test.proto文件所在目录 D:\dev\protobuf-2.3.0\files\proto

      G、运行命令:protoc --java_out=. test.proto

           如果生成com/test文件夹并在最终生成TestPBDO类,则protobuf工作正常。

猜你喜欢

转载自fulianqiu.iteye.com/blog/2155609
今日推荐