protobuf序列化原理