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; //分辨率高
|
|
repeated Sensor sensors = 23; //传感器
|
}
|
|
message Sensor {
|
string id = 1;
|
int32 type = 2;
|
string ip = 3;
|
int32 port = 4;
|
string username = 5;
|
string password = 6;
|
int32 threshold = 7;
|
bool enable = 8;
|
string devId = 9;
|
}
|
|
//摄像机联动
|
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;//参数排序
|
}
|
|
message SdkChanSet {
|
string sdk_type = 1;
|
int32 chan_num = 2;
|
}
|
|
//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;//本地文件分析设置
|
T_SdkChanSet = 13;//算法通道设置变化
|
T_FileStack = 14;//数据栈变化
|
}
|
|
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;
|
}
|