liuxiaolong
2020-07-14 19aa932d862868db661856d03de8a7845ae20f30
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,58 +16,57 @@
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;//当前正在哪台服务器上做任务
    int32 resolution_width = 21; //分辨率宽
    int32 resolution_height = 22; //分辨率高
    int32 fps = 23; //fps设置
    repeated Sensor sensors = 24; //传感器
}
//摄像机的任务信息
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 {
message Sensor {
    string id = 1;
    string camera_ids = 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_group_id = 12;
    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 {
@@ -206,49 +94,101 @@
    repeated Point points = 3;//点的集合
}
message CameraTaskArgs {
    string camera_id = 1;
    repeated TaskGroupArgs task_args = 2;
message CameraInfo {
    string runServerName = 1;
    string id = 2;
    string name = 3;
    int32 run_type= 4;
}
message TaskGroupArgs {
    string task_id = 1;
    repeated GroupRule group_rules = 2;
message CameraAndRules {
    CameraInfo cameraInfo = 1;
    repeated GroupRule rules = 2;
}
message GroupRule {
    string group_id = 1;
    repeated Rule rules = 2;
    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_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;
    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 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;//是否删除
    string iconBlob = 13; //图片二进制
    string version = 14; //版本
    bool enTrack = 15; //是否开启跟踪
    string argDef = 16; //默认参数
    string ruleSo = 17; //规则用so
}
//SdkArg struct
@@ -259,87 +199,33 @@
    bool must = 4;//参数是否必填
    string unit = 5;//单位
    string range = 6;//参数的范围
    int32 sort = 7;//参数排序
    string default_value = 7;//参数默认值
    string default_operator = 8;//参数默认计算符号
    int32 sort = 9;//参数排序
}
// 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;
message SdkChanSet {
    string sdk_type = 1;
    int32 chan_num = 2;
    int32 confidenceInc = 3;
    int32 minMovePos = 4;
}
// 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;
}
//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_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;//数据栈变化
}
enum DbAction {
@@ -366,3 +252,120 @@
    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 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;//比对的目标
}
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;
}