liuxiaolong
2019-11-19 dff6e09c415988cc0b5c558013822548ffab254e
protomsg.proto
@@ -1,120 +1,9 @@
syntax = "proto3";
package protomsg;
message TaskLabel {
   string taskid = 1;
   repeated string sdkids = 2;
   int32 index = 3 ;
}
import "base.proto";
//SdkMessage struct test
message SdkMessage {
   string cid = 1;
   TaskLabel tasklab = 2;
   bytes   data =3 ;
    Personaction personaction =4;
    Vediopersons vedioperson = 5;
}
message Personaction{
    string imgKey       = 1;
    string videoReqNum  = 2;
    string sdkType      = 3;
    string picName      = 4;
    string content      = 5;
    string cluster_id   = 6;
    string personPicUrl = 7;
    string channlId     = 8;
    string likeDate     = 9;
    string picAddress   = 10;
    string picMaxUrl    = 11;
    string picDate      = 12;
    string picLocalUrl  = 13;
    string isDelete     = 14;
    string likePer      = 15;
    string baseName     = 16;
    string videoNum     = 17;
    string collection   = 18;
    string picSmUrl     = 19;
    string indeviceid   = 20;
    string idcard       = 21;
    string ack_alarm    = 22;
    string personId     = 23;
    string id           = 24;
    string indevicename = 25;
    string faceFeature  = 26;
    string personIsHub  = 27;
    string videoIp      = 28;
    string taskId       = 29;
}
message PersonBaseInfo {
    string personNamae  = 1;
    string iDCard       = 2;
    string gender       = 3;
    string personPicUrl = 4;
    string likePer      = 5;
    string tableId      = 6;
    string monitorLevel = 7;
    string personId     = 8;
    string phoneNum     = 9;
    string content      = 10;
    string tableName    = 11;
}
message Vediopersons {
    string iD
    string videoReqNum
    string sdkType
    string gender
    string picName
    string content
    string personPicUrl
    string channlId
    string likeDate
    string race
    string pciAddress
    string picMaxUrl
    string age
    string picDate
    string picLocalUrl
    string isDelete
    repeated string tableName
    repeated string tableId
    string videoNum
    string picSmUrl
    string simleLevel
    string indeviceId
    repeated string iDcard
    repeated string personId
    string beautyLevel
    string indeviceName
    string faceFeature
    string personIsHub
    string videoIp
    string ackAlarm
    string clusterId
    string taskId
    string taskName
    repeated PersonBaseInfo baseinfo
    string collection
    string ageDescription
}
// Image ipc struct
message Image{
    int32 width = 1;
    int32 height = 2;
    bytes data = 3;
}
//Area结构体
message Area{
@@ -127,18 +16,26 @@
message Camera {
    string id = 1;
    string name = 2;
    int32 type = 3;
    string addr = 4;
    int32 areaid = 5;
    float longitude = 6;
    float latitude = 7;
    string rtsp = 8;
    string ip = 9;
    int32 port = 10;
    string username = 11;
    string password = 12;
    string brand = 13;
    string reserved = 14;
    string alias = 3;
    string snapshot_url = 4;//摄像机底图快照
    int32 type = 5;
    string addr = 6;
    float longitude = 7;
    float latitude = 8;
    int32 floor = 9;
    string rtsp = 10;
    string ip = 11;
    int32 port = 12;
    string username = 13;
    string password = 14;
    string brand = 15;
    string reserved = 16;
    bool is_running = 17;//是否正在做任务(0:否,1:是)
    bool run_enable = 18;//是否启用实时或轮询(0:否,1:是)
    int32 run_type = 19;//做任务的类型(0:轮询,1:实时)
    string run_server_id = 20;//当前正在哪台服务器上做任务
}
//摄像机的任务信息
@@ -164,10 +61,20 @@
    repeated Sdk sdks = 2;
}
message SdkRun {
    string ipc_id = 1;
    string sdk_type = 2;
}
message TaskSdkRun {
    Task task = 1;
    repeated SdkRun sdks = 2;
}
//摄像机任务
message CameraTask {
    string id = 1;
    string camera_ids = 2;//摄像机id
    string camera_id = 2;//摄像机id
    string task_id = 3;//任务id
    repeated DayCtl time_rule = 4;//布防时间
    string react_rule = 5;//联动方式
@@ -177,7 +84,7 @@
    bool enable = 9; //是否启用
    int32 sort = 10; //任务排序
    bool is_full = 11;//参数是否设置完整
    string link_group_id = 12;
    string link_task_id = 12;
}
//摄像机布防的时间规则,可以设置多个,用id关联到具体的规则配置中
@@ -214,11 +121,16 @@
message TaskGroupArgs {
    string task_id = 1;
    repeated GroupRule group_rules = 2;
    bool enable = 3;
}
message GroupRule {
    string group_id = 1;
    repeated Rule rules = 2;
    string group_text = 2;
    int32 alarm_level = 3;
    repeated Rule rules = 4;
    string set_type = 5;
    bool defence_state = 6;
}
message Rule {
@@ -239,16 +151,37 @@
//Sdk struct
message Sdk {
    string id = 1;
    string sdk_type = 2;//算法类型
    string sdk_name = 3;//sdk名称
    repeated SdkArg args = 4;//算法参数
    string icon = 5;//算法图标
    string url = 6;//算法下载地址
    string create_time = 7;
    string update_time = 8;
    string create_by = 9;
    bool enabled = 10;//是否启用
    int32 del_flag = 11;//是否删除
    string ipc_id = 2;
    string sdk_type = 3;//算法类型
    string sdk_name = 4;//sdk名称
    repeated SdkArg args = 5;//算法参数
    string icon = 6;//算法图标
    string url = 7;//算法下载地址
    string create_time = 8;
    string update_time = 9;
    string create_by = 10;
    bool enable = 11;//是否启用
    int32 del_flag = 12;//是否删除
}
message TaskSdkRule {
    string taskId = 1;
    bool enable = 2;
    repeated SdkRuleSet sdkRules = 3;
}
message SdkRuleSet {
    string sdkId = 1;
    string ipcId = 2;
    repeated SdkRule rules = 3;
    int32 sort = 4;
}
message SdkRule {
    string id = 1;
    string sdk_arg_alias = 2;
    string operator = 3;
    string sdk_arg_value = 4;
}
//SdkArg struct
@@ -259,76 +192,9 @@
    bool must = 4;//参数是否必填
    string unit = 5;//单位
    string range = 6;//参数的范围
    int32 sort = 7;//参数排序
}
// struct for sdk
message Point{
   int32 x = 1;
   int32 y = 2;
}
message Rect{
   int32 left = 1;
   int32 top = 2;
   int32 right = 3;
   int32 bottom = 4;
}
message FaceAngle{
   int32 yaw = 1;
   int32 pitch =2;
   int32 roll = 3;
   float confidence =4;
}
message ThftResult{
   int32 gender = 1;
   int32 age = 2;
   int32 race = 3;
   int32 beauty = 4;
   int32 smile = 5;
}
message FacePos{
   Rect rcFace = 1;
   Point ptLeftEye = 2;
   Point ptRightEye = 3;
   Point ptMouth = 4;
   Point ptNose = 5;
   FaceAngle fAngle = 6;
   int32 quality = 7;
   bytes facialData = 8;
}
message FaceInfo{
   Rect rcFace = 1;
   Point ptLeftEye = 2;
   Point ptRightEye = 3;
   Point ptMouth = 4;
   Point ptNose = 5;
   FaceAngle fAngle = 6;
   int32 quality = 7;
   bytes facialData = 8;
   int64 faceID = 9;
}
message ObjInfo{
   Rect rcObj = 1;
   int32 typ = 2;
   float prob = 3;
}
// sdk face property
message ParamFacePos{
    FacePos pos = 1;
    ThftResult result = 2;
   Image img = 3;
}
// sdk face extract
message ParamFaceCompare{
   bytes feat1 = 1;
   bytes feat2 = 2;
}
// sdk yolo detect
message ParamYoloObj{
    repeated ObjInfo infos = 1;
    Image img = 2;
    string default_value = 7;//参数默认值
    string default_operator = 8;//参数默认计算符号
    int32 sort = 9;//参数排序
}
//TableChanged enum
@@ -340,6 +206,10 @@
    T_TaskSdk = 4;//任务算法变化
    T_TaskSdkRule = 5;//任务算法规则变化
    T_Sdk = 6;//sdk变化
    T_CameraPolygon = 7;//摄像机多边形变化
    T_TimeRule = 8;//时间规则变化
    T_Server = 9;//服务器信息变化
    T_PollConfig = 10;//轮询配置变化
}
enum DbAction {
@@ -366,3 +236,108 @@
    string type = 7;
    int32 defence_state = 8;
}
message VideotapeInfo {
    string esDataId = 1;
    string cameraId = 2;
    string taskId = 3;
    int64 imgId = 4;
    string videoUrl = 5;
    repeated string sdkIds = 6;
    int32 type = 7;
}
message CompareArgs {
    repeated string tableIds = 1;
    float compareThreshold = 2;
    bytes faceFeature = 3;
    repeated string tasks = 4;
    repeated string treeNodes = 5;
    repeated string tabs = 6;
    repeated int32 alarmLevel = 7;
    repeated string searchTime = 8;
    string inputValue = 9;
    string collection = 10;
    bool source = 11;
    string analyServerId = 12;
}
message CompareEvent {
    CompareEventType eventType =1;
    bytes payload = 2;
}
enum CompareEventType {
    ReInitCache = 0; // 重新初始化底库缓存(加入集群后执行)
    UpdateCache = 1; // 更新底库和人员缓存
    Compare = 2; // 做比对请求
}
message SdkCompareEach {
    string id           = 1;
    string tableid      = 2;
    float  compareScore = 3;
}
message SdkCompareResult {
    repeated SdkCompareEach compareResult = 1;
}
message EventPush {
    string id = 1;
    string name = 2;
    string time_start = 3;
    string time_end = 4;
    bool is_satisfy_all = 5;
    string rule_text = 6;
    bool enable = 7;
    string link_type = 8;
    string link_device = 9;
    repeated PushIpPort ip_ports = 10;
    repeated PushUrl urls = 11;
    repeated EventPushRule rules = 12;
}
message EventPushRule {
    string id = 1;
    string topic_type = 2;
    string topic_arg = 3;
    string operator = 4;
    string operator_type = 5;
    string rule_value = 6;
    string event_push_id = 7;
}
message PushIpPort {
    string server_ip = 1;
    int32 port = 2;
    bool enable = 3;
}
message PushUrl {
    string url = 1;
    bool enable = 2;
}
message PushAttach {
    string push_id = 1;
    Camera cam = 2;
    string server_id = 3;
    string server_name = 4;
    string local_ip = 5;
    string video_url = 6;
}
enum EsCacheChanged {
    T_DbTable = 0;//底库有效状态变化
    T_DbTablePerson = 1;//底库人员有效状态变化
}
message EsPersonCacheChange {
    EsCacheChanged type = 1;
    repeated string table_id = 2;//底库id
    string person_id = 3;//人员id
    string feature = 4;//特征值base64
    DbAction action = 5;
    int32 enable = 6;
}