Files
MoGoEagleEye/libraries/mogo-adas-data/src/main/proto/bag_manager.proto

69 lines
2.6 KiB
Protocol Buffer

syntax = "proto2";
package bag_manager;
enum BagStat{
SUCCEED = 0;
EXECUTING = 1;
EXECUTEERROR = 2;
COPYERROR = 3;
MERGEERROR = 4;
UPLOADCOSERROR = 5;
}
// 上传cos桶状态
message UploadCosStat{
required uint64 key = 1;
required uint32 stat = 2; // 0-成功 1-执行中 2-copy过程失败 3-合并过程失败 4-上传过程失败
optional string message = 3; // 失败时的具体描述
}
//空间使用情况
message SpaceInfo{
optional string directory = 1; // 路径名,为空表示总空间,否则表示对应的/home/mogo/data/bags下的子目录
optional uint64 total = 2; // 总空间
optional uint64 free = 3; // 可用空间
optional uint64 used = 4; // 已用空间
}
// bag目录空间使用情况
message BagSpaceInfo{
optional string host = 1; // 主机名
optional SpaceInfo diskSpaceInfo = 2; // 硬盘空间信息
repeated SpaceInfo BagDirsSpaceInfo = 3; // /home/mogo/data/bags下各子空间信息
}
// bag附加信息(录音,备注,接管信息)
message BagDescription{
optional string description = 1; // bag接管描述或重命名信息
optional bool hasAudio = 2; // 此bag是否具有录音文件
optional string audioUrl = 3; // bag附加录音文件的文件名
optional bool reportBI = 4; //上报BI状态
}
// 各主机上报的包信息
message SubBag {
required uint64 key = 1; // bag key值
required string host = 2; // 主机名
optional uint64 size = 3; // 此子包的大小
}
// 单个key值对应的包信息
message BagInfo{
required uint64 key = 1; // bag key值
optional uint64 totalSize = 2; // 所有子包或合并后的包的总大小
optional string timestamp = 3; // 时间戳
optional string bagPath = 4; // bag所在路径
optional bool mergeStat = 5; // 合并状态
optional bool uploadStat = 6; // 上传cos桶状态
optional BagDescription description = 7; // 包描述信息
repeated SubBag subBags = 8; // 子包信息
}
// 包管理请求
message BagManager{
required uint32 reqType = 1; // 请求类型:0-invalid 1-获取空间使用信息 2-遍历所有bag 3-上传cos 4-删除bag 5-为bag添加附加信息
optional uint64 keyReq = 2; // 要操作的包的key值,发送请求且reqType=(3,4,5)时有效
optional BagDescription descReq = 3; // 更新包附加信息,发送请求且reqType=5时有效
repeated BagSpaceInfo spaceInfoResp = 4; // 空间使用信息,获取响应且reqType=1时有效
repeated BagInfo bagsInfoResp = 5; // 包信息列表,获取响应且reqType=2时有效
optional UploadCosStat uploadCosResp = 6; //反馈上传cos桶结果,获取响应且reqType=3时有效
}