syntax = "proto3"; package protomsg; import "base.proto"; //Area结构体 message Area{ int32 id = 1; int32 parentid = 2; string name = 3; } //Camera结构体 message Camera { string id = 1; string name = 2; 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;//当前正在哪台服务器上做任务 } //摄像机联动 message CameraLink { string camera_ids = 1; string link_task_id = 2; } //摄像机的任务信息 message CameraAndTaskInfo { Camera camera = 1;//摄像机信息 repeated Task tasks = 2;//任务列表 } //Task结构体 message Task { string taskid = 1; string taskname = 2; string create_at = 3; string create_by = 4; string update_at = 5; bool enable = 6; bool is_alarm = 7; bool del_flag = 8; } message TaskSdkInfo { Task task = 1; 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_id = 2;//摄像机id string task_id = 3;//任务id string time_rule = 4;//布防时间 string react_rule = 5;//联动方式 string react_device = 6;//联动设备 bool del_flag = 7; //逻辑删除标记 bool update_flag = 8;//是否参数更新了 bool enable = 9; //是否启用 int32 sort = 10; //任务排序 bool is_full = 11;//参数是否设置完整 string link_task_id = 12; } //摄像机布防的时间规则,可以设置多个,用id关联到具体的规则配置中 message CameraTimerule { string id = 1;//id string name = 2;//规则名称 string time_rule = 3;//具体时间规则设置 } //DayCtl struct 每天的时间控制规则 message DayCtl { int32 day = 1;//1-7表示星期一到星期日 repeated TimeRange time_range = 2; } //时间起始范围 message TimeRange { string start = 1;//开始 string end = 2;//结束 } //Polygon struct message Polygon { string id = 1;//形状id string name = 2;//形状的名称 repeated Point points = 3;//点的集合 } message CameraTaskArgs { string camera_id = 1; repeated TaskGroupArgs task_args = 2; } message TaskGroupArgs { string task_id = 1; repeated GroupRule group_rules = 2; bool enable = 3; } message GroupRule { string group_id = 1; string group_text = 2; int32 alarm_level = 3; repeated Rule rules = 4; string set_type = 5; bool defence_state = 6; } message Rule { string id =1; string camera_task_id =2; string camera_id =3; string polygon_id =4; string sdk_id = 5; string sdk_arg_alias = 6; string operator = 7; string operator_type = 8; string sdk_arg_value = 9; int32 sort = 10; string rule_with_pre = 11; string group_id =12; } //Sdk struct message Sdk { string id = 1; 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 message SdkArg { string alias = 1;//参数别名 string name = 2;//参数名称 string type = 3;//参数类型 bool must = 4;//参数是否必填 string unit = 5;//单位 string range = 6;//参数的范围 string default_value = 7;//参数默认值 string default_operator = 8;//参数默认计算符号 int32 sort = 9;//参数排序 } //TableChanged enum enum TableChanged { T_Camera = 0;//摄像机变化 T_CameraTask = 1;//摄像机任务变化 T_CameraTaskArgs = 2;//摄像机任务参数变化 T_Task = 3;//任务表变化 T_TaskSdk = 4;//任务算法变化 T_TaskSdkRule = 5;//任务算法规则变化 T_Sdk = 6;//sdk变化 T_CameraPolygon = 7;//摄像机多边形变化 T_TimeRule = 8;//时间规则变化 T_Server = 9;//服务器信息变化 T_PollConfig = 10;//轮询配置变化 T_File = 11;//本地文件变化 T_FileSetting = 12;//本地文件分析设置 } enum DbAction { Insert = 0;//Insert Update = 1;//Update Delete = 2;//Delete } //publish db change message message DbChangeMessage { TableChanged table = 1;//变化的表 string id = 2;//变化数据id DbAction action = 3;//action string info = 4;//变化内容 } message CameraPolygon { string id = 1; string camera_id = 2;//摄像机id string name = 3;//名称 string polygon = 4;//坐标点集合 string trigger_line = 5; string direction_line = 6; 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; string 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; }