protobuf 设计,避免频繁打包更新

简介: protobuf 设计,避免频繁打包更新

1.原始

syntax="proto3";
option java_package = "com.vince.xq";
option java_multiple_files=true;
option java_outer_classname="Profile";
message UserProfile {
  int32 id = 1;
  int32 age = 2;
  int32 sex = 3;
  optional Profile profile_1=4;
}
message Profile{
string name;
string update_time;
}

新增标签

optional Profile profile_1=4;

需要打包

2.修改后

syntax = "proto3";
package com.test.xq.schema;
option java_generate_equals_and_hash = true;
message Model {
    string face_id = 1; 
    string user_id = 2; 
    map tag = 3; // 标签值,key为tag_id,value为标签取值详情
}
message Tag {
    message TagInfo {
        string value = 1; // 标签具体的取值,存放挖掘好的标签结果值
        int32 score = 2; // 标签分值字段,0-100的分值
        map extend_info = 3; // 扩展字段,存放额外的标签信息
        string label = 4; //标签的分类
    }
    repeated TagInfo tag_info = 2; //  标签值是一个list
}

有多少个标签可以保存在数据库里面

优点:避免每次上线打包

 


相关文章
执行 composer update 命令会直接更新依赖包,可能会导致某些依赖包之间的兼容性问题,如何解决这个问题?底层原理是什么?
执行 composer update 命令会直接更新依赖包,可能会导致某些依赖包之间的兼容性问题,如何解决这个问题?底层原理是什么?
873 0
|
3月前
|
索引
Electron V8排查问题之v8 指针压缩的实现如何解决
Electron V8排查问题之v8 指针压缩的实现如何解决
34 0
|
Java Maven
springboot依赖分离,本地代码和第三方依赖包分开,减少部署服务时的上传时间
在pom.xml中的<build>标签中的<plugins>标签中添加下面这个插件
|
JavaScript 开发者
Vite 在运行过程中是如何发现新增依赖的?
Vite 在运行过程中是如何发现新增依赖的?
226 0
|
C++ Python Java
protobuf 更新消息和扩展,包
一、更新一个消息类型 如果一个已有的消息格式已无法满足新的需求——如,要在消息中添加一个额外的字段——但是同时旧版本写的代码仍然可用。不用担心!更新消息而不破坏已有代码是非常简单的。
1329 0
借助Fiddle使用不同版本的UI5库文件进行测试
借助Fiddle使用不同版本的UI5库文件进行测试
118 0
借助Fiddle使用不同版本的UI5库文件进行测试
|
数据库 数据安全/隐私保护
【自然框架】稳定版的Demo —— 三:主从表的维护方式
  第一篇:【自然框架】稳定版beta1——源码下载,Demo说明   下载地址:还是老地方,自然框架的源代码、Demo、数据库、配置信息管理程序下载(2010.01.25更新)   (补充了一个元数据的 数据库结构说明文档,在上面的网页里下载)   在线演示:http://demo.conature.cn/       主从表,以人员管理为例,人员的基本信息,公司信息,联系方式,学历信息,工作经历等功能。
1048 0