syntax = "proto3";
|
import "base.proto";
|
|
package protomsg;
|
|
message SdkmsgWithTask {
|
string sdkid = 1;
|
string sdktype = 2;
|
string sdkName = 3;
|
bytes sdkdata = 4;
|
}
|
|
message TaskLabel {
|
string taskid = 1;
|
string taskname = 2;
|
repeated SdkmsgWithTask sdkinfos = 3;
|
int32 index = 4 ;
|
}
|
|
//SdkMessage struct test
|
message SdkMessage {
|
string cid = 1;
|
string caddr = 2;
|
TaskLabel tasklab =3 ;
|
bytes data = 4;
|
}
|
|
//Area结构体
|
message Area{
|
int32 id = 1;
|
int32 parentid = 2;
|
string name = 3;
|
}
|
|
//Camera结构体
|
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;
|
|
bool is_running = 15;//是否正在做任务(0:否,1:是)
|
bool run_enable = 16;//是否启用实时或轮询(0:否,1:是)
|
int32 run_type = 17;//做任务的类型(0:轮询,1:实时)
|
string run_server_id = 18;//当前正在哪台服务器上做任务
|
}
|
|
//摄像机的任务信息
|
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 CameraTask {
|
string id = 1;
|
string camera_id = 2;//摄像机id
|
string task_id = 3;//任务id
|
repeated DayCtl 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;
|
}
|
|
message GroupRule {
|
string group_id = 1;
|
string group_text = 2;
|
int32 alarm_level = 3;
|
repeated Rule rules = 4;
|
}
|
|
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 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 enable = 10;//是否启用
|
int32 del_flag = 11;//是否删除
|
}
|
|
//SdkArg struct
|
message SdkArg {
|
string alias = 1;//参数别名
|
string name = 2;//参数名称
|
string type = 3;//参数类型
|
bool must = 4;//参数是否必填
|
string unit = 5;//单位
|
string range = 6;//参数的范围
|
int32 sort = 7;//参数排序
|
}
|
|
//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变化
|
}
|
|
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;
|
}
|