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;//当前正在哪台服务器上做任务 int32 resolution_width = 21; //分辨率宽 int32 resolution_height = 22; //分辨率高 int32 fps = 23; //fps设置 repeated Sensor sensors = 24; //传感器 bool voiceEnable = 25; string voiceId = 26; } message Sensor { string id = 1; string type = 2; string ip = 3; int32 port = 4; string username = 5; string password = 6; int32 threshold = 7; bool enable = 8; } //摄像机联动 message CameraLink { string camera_ids = 1; string link_task_id = 2; } message SdkRun { string ipc_id = 1; string sdk_type = 2; bool isTriggerByPreSdk = 3; int32 confidence = 4; } //摄像机布防的时间规则,可以设置多个,用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 CameraInfo { string runServerName = 1; string id = 2; string name = 3; int32 run_type= 4; } message CameraAndRules { CameraInfo cameraInfo = 1; repeated GroupRule rules = 2; } message GroupRule { repeated string cameraIds = 1; string id = 2; string group_text = 3; int32 alarm_level = 4; repeated Rule rules = 5; string set_type = 6; string template_id = 7; string template_rule = 8; string time_rule_id = 9; string scene_name = 10; string desc = 11; bool enable = 12; } message GroupRuleSdks { string id = 1; string scene_name = 2; repeated SdkRun sdks = 3; repeated string sdkIds = 4; } message Rule { string id =1; string camera_id =2; string polygon_id =3; string sdk_id = 4; repeated SdkSetBase sdk_set = 5; string rule_with_pre = 6; bool is_save_anyhow = 7; //rule_with_pre是触发时,是否无论被触发的条件满不满足,都保留数据 string group_id =8; int32 sort = 9; } message RuleTemplate { string id = 1; string name = 2; string desc = 3; string txt = 4; repeated TemplateArg rules = 5; } message RuleTemplateList { repeated RuleTemplate list = 1; } message TemplateArg { string sdk_id = 1; string sdk_arg_alias = 2; string operator = 3; string sdk_arg_value = 4; string sort = 5; string rule_with_pre = 6; } message SdkSetBase { string sdk_arg_alias = 1; string operator = 2; string operator_type = 3; string sdk_arg_value = 4; int32 sort = 5; } //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;//是否删除 string iconBlob = 13; //图片二进制 string version = 14; //版本 bool enTrack = 15; //是否开启跟踪 string argDef = 16; //默认参数 string ruleSo = 17; //规则用so } //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;//参数排序 } message SdkChanSet { string sdk_type = 1; int32 chan_num = 2; int32 confidenceInc = 3; int32 minMovePos = 4; } //TableChanged enum enum TableChanged { T_Camera = 0;//摄像机变化 T_CameraRule = 1;//摄像机任务参数变化 T_Sdk = 2;//sdk变化 T_CameraPolygon = 3;//摄像机多边形变化 T_TimeRule = 4;//时间规则变化 T_Server = 5;//服务器信息变化 T_PollConfig = 6;//轮询配置变化 T_File = 7;//本地文件变化 T_FileSetting = 8;//本地文件分析设置 T_SdkChanSet = 9;//算法通道设置变化 T_FileStack = 10;//数据栈变化 T_ResourceConfig = 11;//对外服务配置变化 T_CalculationPower = 12;//需要重新计算算力占用情况 T_EventPush = 13; //事件推送有变化 } 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; string camera_name = 9; //摄像机名称 } 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 Voice { string id = 1; string name = 2; string path = 3; } message VoiceList { repeated Voice list = 1; } 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; string compareTarget = 13;//比对的目标 bool isCompareAll = 14; //是否比对全部,做测试用 } 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; string carNo = 7; } message ClusterAndNodes { string clusterId = 1; string clusterName = 2; repeated Node nodes = 3; } message Node { string id = 1; string cluster_id=2; string node_name = 3; string node_id = 4; string node_ip = 5; string create_time = 6; bool isDelete = 7; }