订阅-通知是视图库接口最核心的业务,也是大华,华为和友商使用最频繁的一个功能。
上下级概念
订阅通知过程本质是数据转移,例如A想通过视图库获得B的机动车数据,那么A就是上级、B就是下级;假如A想通过B间接获得C的机动车数据,那么A就是B的上级,B是C的上级,这个过程为跨级订阅/通知。

订阅-通知
订阅-通知流程见图2

tep1:订阅者(上级)向被订阅者(下级)发送HTTP POST请求/VIID/Subscribes。
Step2:被订阅者(下级)将订阅成功与否的响应消息返回给订阅者(上级)。
订阅成功后,被订阅者(下级)如果有订阅信息,便会进行通知任务。
Step3:被订阅者(下级)向订阅者(上级)发送HTTP POST请求/VIID/SubscribeNotifications。
Step4:订阅者(上级)返回响应消息。
Step5:被订阅者(下级)接收到Step4订阅者(上级)正确返回结果才会再重复Step3,4的操作,如此循环。

要搞清楚订阅的参数含义

    @AuthorizationInterceptor.UnAuthRequest@RequestMapping("/subscribes")public Result subscribe(// @RequestBody SubscribeReq subscribeReq) {log.info("订阅接口---------->");// 订阅统一标识码 = 公安机关机构代码 + 子类型编码(03-订阅)+ 时间编码(YYYYMMDDhhmmss) + 流水序号(00001)String time = DateTimeFormatter.ofPattern("yyyyMMddHHmmss").format(LocalDateTime.now());//123456789012String subscribeID = "360302000000" + "03" + time + "00001";String title = "订阅车牌识别消息";String subscribeDetail = "13"; // 订阅类别:视频卡口目录 7--视频卡口目录 12-人脸信息 13-车辆信息Integer ResourceClass=4;String resourceURI ="360xxxxxxx"; // 订阅资源路径 这个参数很重要 对方提供String applicantName = "xxxxx"; // 申请人String applicantOrg = "xxxxxx公司"; // 申请单位String beginTime ="20210326150000"; //DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now());String endTime ="20210331230000"; //DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now().plusMinutes(5l));String receiveAddr = "http://36.36.1.70:1314/VIID/SubscribeNotifications";String ResultImageDeclare="01";String ResultFeatureDeclare="-1";Integer operateType = 0;SubscribeRequestObject subscribeRequestObject = new SubscribeRequestObject();SubscribeRequestObject.SubscribeListObject subscribeListObject = new SubscribeRequestObject.SubscribeListObject();subscribeRequestObject.setSubscribeListObject(subscribeListObject);List<SubscribeRequestObject.Subscribe> subscribeList = new ArrayList<>();SubscribeRequestObject.Subscribe subscribe = new SubscribeRequestObject.Subscribe();subscribe.setSubscribeID(subscribeID);subscribe.setTitle(title);subscribe.setSubscribeDetail(subscribeDetail);subscribe.setResourceURI("36030220195032160250");subscribe.setApplicantName(applicantName);subscribe.setApplicantOrg(applicantOrg);subscribe.setBeginTime(beginTime);subscribe.setEndTime(endTime);subscribe.setReceiveAddr(receiveAddr);subscribe.setOperateType(operateType);subscribeList.add(subscribe);subscribeListObject.setSubscribeObject(subscribeList);HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.parseMediaType("application/json;charset=utf-8"));headers.set("User-Identify","36030220195032160999");HttpEntity<String> httpEntity = new HttpEntity<>(JSONUtil.toJsonStr(subscribeRequestObject), headers);//   log.info("消息体:{}", JSONUtil.toJsonStr(subscribeRequestObject));// 请求执行ResponseEntity<String> responseEntity = restTemplate.exchange(subscribeUrl, HttpMethod.POST, httpEntity, String.class);log.info("头部消息"+responseEntity.getHeaders());if (org.apache.http.HttpStatus.SC_OK == responseEntity.getStatusCode().value()) {log.info("响应体"+responseEntity.getBody());log.info(Result.success()+"订阅成功");return Result.success();}log.info(responseEntity.getBody());log.info(Result.failed()+"订阅失败");return Result.failed("订阅失败");}

成功后,会接收到对方推送过来的数据

GAT1400 视图库订阅相关推荐

  1. GA/T1400视图库协议-结构化数据对接

    业务需求接入海康平台视图库结构化数据,搜索引擎一顿操作都是些简单的交互协议代码片段.经过东拼西凑实现了一个简易版的1400视图库协议项目实现需求,故记录下基本实现,末尾分享部分核心功能代码. 功能概要 ...

  2. LiveVISGAT1400视图库服务-支持海康大华华为宇视天地伟业等设备视图库接入使用说明

    LiveVISGAT1400视图库服务-支持海康大华华为宇视天地伟业等设备视图库接入使用说明 LiveVIS GAT1400视图库服务安装使用说明 1.服务说明 1.1.安装包说明 1.2.视图库服务 ...

  3. DZ先生怪谈GAT1400之视图库协议保活

    视图库保活 1400.4(5.1公共功能) 应支持注册,保活,注销,校时.注册失败时,应延迟300s内的随机时间后重新注册.注册成功后,在90s内未交互信息则进行心跳保活. 保活流程 保活消息表 说明 ...

  4. DZ先生怪谈GAT1400之视图库入门

    自述         大家好,今天给大家讲的内容是视图库的入门,关注我的人都知道我写的第一篇文章主要内容是"人脸对象",人脸对象是视图库的细节之一,我之所以一开始没写入门知识主要是 ...

  5. GA/T 1400视图库网关平台

    将SVMSPro平台汇集的包含人脸(匹配度.年龄.性别).车辆(车牌号,车牌类型,车牌颜色,车辆品牌)等信息通过GA/T 1400协议推送至上层GA视图库平台(如海康.大华.华为等),GA/T 140 ...

  6. 公安视图库1400的协议

    一.平台注册/注销 1.1 注册/注销流程 注册流程1如图所示 图 1 下级平台主动向上级平台注册:注册鉴权信息(用户名和密码)由上级平台提供: 1.2 报文说明 1.2.1 下级第一次注册 POST ...

  7. 建筑CAD图库:CAD软件中多视图库的使用技巧

    作为一名CAD制图初学入门者,当我们在使用正版CAD软件绘制建筑图纸的过程中,如果想要绘制轴测图该如何进行操作呢?这个时候就需要用到浩辰CAD建筑软件中建筑CAD图库之多视图库功能了,接下来的CAD制 ...

  8. GAT1400:视图库对象

    1.交互UML时序图: 2. 流程注解: 主要讲解1400设备到HTTP转发器的流程 2.1 注册接口 URL /VIID/System/Register 请求方法 POST 请求体 { " ...

  9. 视图库——公安视频侦查数据处理应用中心

    随着城市视频监控系统的不断完善和扩建,视频已经成为社会数据量最大的一类数据,网络甚至流传这样一个段子:电视台新闻行业应该给视频监控行业颁发"最佳素材奖",原因是电视台播放的新闻中, ...

最新文章

  1. mysql索引 物理文件_MySQL架构和MySQL索引
  2. Android数据存储——SharedPreferences
  3. 发那科机器人接线电源_电源开关上的L1和L2是不是火线和零线?
  4. 设置内外网同时使用,重新配置路由
  5. RFID卡射频卡分类
  6. 不知道考研各科课程那个老师的课好?怎么选择安排?在哪找课程课本资料?看这里
  7. java研发微博营销
  8. gradle启动项目编译报错:Executing task ‘clean‘...Task execution finished
  9. Java Instrument
  10. 关于身份证加密展示处理以及update table set cou=(select from ..)
  11. Centos8.3 nfs-ganesha使用ceph后端
  12. 韶音骨传导耳机值得入手吗?南卡和韶音骨传导耳机实测对比
  13. Mysql—时间戳的转换
  14. html.append清空,关于jquery的append()和html()使用
  15. 如何扎实的学好ABAP?我的个人经验
  16. Springer的投稿模板LLNCS类使用教程
  17. python获取站长之家素材
  18. 爬取起点中文网字体反爬取
  19. SAP:FI 会计基础知识
  20. 【直通华为HCNA/HCNP系列R篇8】VRRP技术原理及配置与管理-王达-专题视频课程

热门文章

  1. FPGA作业1:利用74161设计12进制计数器
  2. Global Translator
  3. 有关商品业务的增加、删除、修改、全查。
  4. 浅水区学游泳文字描述过程
  5. 多家庭物业管理软件市场现状及未来发展趋势
  6. 微信小程序实现即时通信聊天功能的实例代码
  7. 微信直播是怎么实现的?
  8. 电源芯片的静态电流 低功耗产品必须考虑的因素之一
  9. MX Component -- PLC与PC之通讯
  10. 软考快要开始了,怎么以最短的时间得到最多的分数(软考考试大纲最新版)