视图库对接系列(GA-T 1400)二、项目搭建
项目搭建
这里的话 我们就简单的说一下 项目怎么搭建相对比较好, 自己分析的经验 仅供参考哈。
分析项目
这里的话 我们通过看视图库对接系列(GA-T 1400)一、简单介绍知道视图库实现包含客户端和服务端。
另外根据我自身的项目经验的话
项目地的话有概率会使用视图库级联,有的项目地不一定会使用视图库级联。
某些项目地还会存在写定开,比如要求你把数据按照一定的格式封装写到对方的mysql 、MQ、通过HTTP协议、RPC协议推送给第三方等等。。。
这里的话 我们就稍微简单点,创建几个模块, 一个是公共模块,一个是视图库服务端模块,一个是视图库客户端模块,以及对应的推送模块,这个推送模块的话,优先级不高,后期有时间我们在弄。
数据库使用分析
视图库的话 不是完全无状态的, 所以我们需要设计几张表来保存下对应的数据。
本级表设计
view_library_domain_device:存储下级接入我们平台的消息表。
view_library_domain_channel:存储下级平台接入我们平台中的通道消息表
view_library_domain_subscribe:存储本级平台向下级平台订阅的消息表。
CREATE TABLE `view_library_domain_device` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`device_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '设备ID',
`device_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '设备名称',
`device_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '设备状态(1.在线,2.离线,-1 注销)',
`register_host` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '注册主机名',
`register_time` datetime DEFAULT NULL COMMENT '注册时间',
`max_heartbeat_timeout_num` int(11) DEFAULT '3' COMMENT '最大心跳超时次数',
`heartbeat_cycle` int(11) DEFAULT '60' COMMENT '心跳周期',
`latest_keep_alive_time` datetime DEFAULT NULL COMMENT '最新保活时间',
`remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '备注',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`modified_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `device_id` (`device_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='本级接入设备表';
下面这个图就是视图库设备的页面,其中的设备编码如图
CREATE TABLE `view_library_domain_channel` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`device_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '设备ID',
`gb_channel_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '国标的通道id(非必须)',
`channel_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '通道ID',
`channel_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '通道名称',
`channel_status` tinyint(4) DEFAULT NULL COMMENT '通道状态',
`longitude` decimal(10,6) DEFAULT NULL COMMENT '经度',
`latitude` decimal(10,6) DEFAULT NULL COMMENT '纬度',
`admin_code` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '安装地点行政区划代码',
`function_type` tinyint(4) DEFAULT '1' COMMENT '通道类型 1、车辆卡口; 2、人员卡口',
`location_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '位置名',
`weblogic_enable` tinyint(4) DEFAULT '0' COMMENT '是否推送 0 不推送 1 推送',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`modified_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `device_channel_id` (`device_id`,`channel_id`) USING BTREE,
KEY `channel_id` (`channel_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='本级设备表';
下面这个图就是视图库设备的页面,其中的通道编码如图:
CREATE TABLE `view_library_domain_subscribe` (
`id` bigint NOT NULL AUTO_INCREMENT,
`platform_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '平台id',
`device_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '设备ID',
`subscribe_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '订阅ID',
`subscribe_status` tinyint DEFAULT '9' COMMENT '订阅状态 \r\n0:订阅中 1:已取消订阅 2:订阅到期 9:未订阅',
`title` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '订阅标题',
`begin_time` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '订阅开始时间',
`end_time` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '订阅结束时间',
`subscribe_detail` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '订阅详情',
`receive_addr` varchar(225) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '回调地址',
`report_interval` int NOT NULL COMMENT '上报涉密事件时间间隔(单位为秒)',
`applicant_name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '申请人姓名',
`applicant_org` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '申请人所在机构',
`reason` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '申请使用涉密资源的原因',
`subscribe_cancel_org` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '订阅取消单位',
`subscribe_cancel_person` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '订阅取消人',
`cancel_time` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '取消时间',
`cancel_reason` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '取消原因',
`result_image_declare` tinyint DEFAULT NULL COMMENT '“11”—人像小图“14”— 大图',
`result_feature_declare` tinyint DEFAULT '-1' COMMENT ' -1 不要特征值1 需要返回特征值',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`modified_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`) USING BTREE,
KEY `uac_device_id` (`platform_id`,`device_id`) USING BTREE,
KEY `device_id` (`device_id`) USING BTREE,
KEY `subscribe_id` (`subscribe_id`) USING BTREE,
KEY `platform_id` (`platform_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 ROW_FORMAT=DYNAMIC COMMENT='本级订阅信息表';
测试设备型号
大华:DH-IPC-HFW5243M1-YL-PV-SA
java交流群(限订阅了的加)
868794080
原文地址:https://blog.csdn.net/qq_37716298/article/details/139798638
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!