1. 自述
今天DZ君讲述的课题是:目录查询
2. 产生原因
各位广大的视频监控的朋友,你什么时候需要做“目录查询”这个动作?DZ君阐述了以下几点原因仅供参考
1) 平台国标对接后,通过目录查询将下级推送的资源查询出来
2)排错(如在线状态状态不对,前端设备数量问题,设备类型不对,目录结构不对等等)
这两个原因应该是广大监控工程师最常用的两个,没有之一,有莫有?
3. 目录查询流程图
说明:
1)上级首先向下级发送message进行设备查询请求
2) 下级收到请求后,给上级回复好的,马上发送资源过来
3) 下级发送资源,每一条携带的资源不超过4个,且SN序列号相同,标识一次响应查询的结果
3)下级每发送一条消息,上级都要回复一条收到的消息,这样才算一个完整的流程
4. 实例分析
1)组网介绍
上级 宇视平台 50.36.1.21 平台国标 ID 32028100002000000008
下级 科达平台 50.36.1.26 平台国标 ID 32028100002001000002
2)报文分析
除了第一条message消息为命令请求外,其余的message消息都为响应消息
说明
1)第一条message字段结构分析
<?xml version="1.0" encoding="GB2312"?>
<Query>-----------------------------------------------------查询
<CmdType>Catalog</CmdType>--------------------------命令类型
<SN>86</SN>----------------------------------------------序列号
<DeviceID>32028100002001000002</DeviceID>----------下级设备ID
</Query>
2) 第二条message字段结构分析
<?xml version="1.0"?>
<Response>
<CmdType>Catalog</CmdType>
<SN>86</SN>-------------------------------------------与第一条SN号相同,表明同一批会话
<DeviceID>32028100002001000002</DeviceID>-------本设备国标编码
<SumNum>259</SumNum>---------------------------推送数量259
<DeviceList Num="1">---------------------------------本次推送数量
<Item>
<DeviceID>32028100002160000002</DeviceID>------设备ID(这边是目录,如果11-13是132则为摄像机),216可以看出是通过虚拟分组推送的
<Name>Surveillance system</Name>-----------------设备名称
<Manufacturer>QX</Manufacturer>------------------厂商
<Model>QX</Model>---------------------------------型号
<Owner>QX</Owner>--------------------------------设备归属
<CivilCode>320281</CivilCode>----------------------行政区划编码
<Block></Block>--------------------------------------警区
<Address></Address>--------------------------------设备安装地址,国标没具体说,应该是前端配置的IP地址
<Parental>1</Parental>-----------------------------存在子设备,这里表明有子目录存在
<ParentID>32028100002001000002</ParentID>---父设备ID
<RegisterWay>1</RegisterWay>--------------------符合IETF RFC 3261 标准的认证注册模式
<Secrecy>0</Secrecy>-------------------------------0表示不涉密
<Status>ON</Status>--------------------------------ON表示在线
<Longitude>0.000000</Longitude>-----------------经度
<Latitude>0.000000</Latitude>---------------------纬度
<Info></Info>---------------------------------------info消息,这边没有,容易产生一个问题,设备类型是枪机还是球机,在做目录查询的时候,你会发现要么全部球机,要么全部枪机
</Item>
</DeviceList>
</Response>
3) 第三条message字段结构分析
<?xml version="1.0"?>
<Response>
<CmdType>Catalog</CmdType>
<SN>86</SN>
<DeviceID>32028100002001000002</DeviceID>
<SumNum>259</SumNum>
<DeviceList Num="1">
<Item>
<DeviceID>32028100002160000003</DeviceID>---推送的设备ID,可以看出这边也是一个目录
<Name>..........</Name>
<Manufacturer>QX</Manufacturer>
<Model>QX</Model>
<Owner>QX</Owner>
<CivilCode>320281</CivilCode>
<Block></Block>
<Address></Address>
<Parental>1</Parental>-------------------------有子设备,说明这个目录下有相机或者目录,看下一条message消息就知道
<ParentID>32028100002160000002</ParentID>---父目录ID
<RegisterWay>1</RegisterWay>
<Secrecy>0</Secrecy>
<Status>ON</Status>
<Longitude>0.000000</Longitude>
<Latitude>0.000000</Latitude>
<Info></Info>
</Item>
</DeviceList>
4)第四条message字段分析
<?xml version="1.0"?>
<Response>
<CmdType>Catalog</CmdType>
<SN>86</SN>
<DeviceID>32028100002001000002</DeviceID>
<SumNum>259</SumNum>
<DeviceList Num="1">
<Item>
<DeviceID>32028101001320000071</DeviceID>--------目录下的摄像头
<Name>........B2135.._1</Name>
<Manufacturer>QX</Manufacturer>
<Model>QX</Model>
<Owner>QX</Owner>
<CivilCode>320281</CivilCode>
<Block></Block>
<Address></Address>
<Parental>0</Parental>-----------------------------没有子设备,说明该目录下没有子目录
<ParentID>32028100002160000003</ParentID>---父目录ID
<RegisterWay>1</RegisterWay>
<Secrecy>0</Secrecy>
<Status>ON</Status>
<Longitude>0.000000</Longitude>
<Latitude>0.000000</Latitude>
<Info></Info>
</Item>
</DeviceList>
</Response>
总结:该组织结构如下图所示
目录(32028100002001000002)-----------------------系统设备ID
子目录(32028100002160000002)-----------------虚拟目录
子目录(32028100002160000003)----------虚拟目录
子设备(32028101001320000071)----摄像机
子设备(32028101001320000072)----摄像机
。。。。。。。。。。。。。。。。。----摄像机
4. 所有字段
<complexType name="itemType">
<sequence>
<!-- 设备/区域/系统编码(必选) -->
<element name="DeviceID" type="tg:deviceIDType"/>
<!-- 设备/区域/系统名称(必选) -->
<element name="Name" type="string"/>
<!-- 当为设备时,设备厂商(必选) -->
<element name=" Manufacturer" type="string"/>
<!-- 当为设备时,设备型号(必选) -->
<element name=" Model" type="string"/>
<!-- 当为设备时,设备归属(必选) -->
<element name=" Owner" type="string"/>
<!-- 行政区域(必选) -->
<element name="CivilCode" type="string"/>
<!-- 警区(可选) -->
<element name="Block" type="string"/>
<!-- 当为设备时,安装地址(必选) -->
<element name="Address" type="string"/>
<!-- 当为设备时,是否有子设备(必选) 1 有, 0 没有 -->
<element name="Parental" type="integer" minInclusive value = "0"/>
<!-- 父设备/区域/系统 ID( 可必选,有父设备需要填写) -->
<element name="ParentID" type="string"/>
<!-- 信令安全模式(可选)缺省为 0; 0:不采用; 2: S/MIME 签名方式; 3:S/MIME 加密签名同时采用方式; 4:数字摘要方式-->
<element name=" SafetyWay " type="integer" minInclusive value = "0"/>
<!-- 注册方式(必选)缺省为 1; 1: 符合 sip3261 标准的认证注册模式; 2:基于口令的双向认证注册模式; 3: 基于数字证书的双向认证注册模式-->
<element name="RegisterWay" type="integer" minInclusive value = "1"/>
<!-- 证书序列号(有证书的设备必选) -->
<element name="CertNum" type="string"/>
<!-- 证书有效标识(有证书的设备必选)缺省为 0;证书有效标识: 0:无效 1:有效-->
<element name="Certifiable" type="integer" minInclusive value = "0"/>
<!-- 无效原因码(有证书切且证书无效的设备必选) -->
<element name="ErrCode" type="integer" minInclusive value = "1"/>
<!-- 证书终止有效期(有证书的设备必选) -->
<element name="EndTime" type="dateTime"/>
<!-- 保密属性(必选)缺省为 0; 0:不涉密, 1:涉密-->
<element name="Secrecy" type="integer" minInclusive value = "1"/>
<!-- 设备/区域/系统 IP 地址(可选) -->
<element name="IPAddress" type="string"/>
<!-- 设备/区域/系统端口(可选) -->
<element name="Port" type="integer"/>
<!-- 设备口令(可选) -->
<element name="Password" type="string"/>
<!-- 设备状态(必选) -->
<element name="Status" type=" tg:statusType"/>
<!-- 经度(可选) -->
<element name="Longitude" type="double" minOccurs= "0"/>
<!-- 纬度(可选) -->
<element name="Latitude" type="double" minOccurs= "0"/>
<Info>
<!--摄像机类型扩展,标识摄像机类型: 1-球机; 2-半球; 3-固定枪机;4-遥控枪机。当目录项为摄像机时可选。 -->
<element name="PTZType" type="integer" minInclusive value = "1"/>
<!--摄像机位置类型扩展。 1-省际检查站、 2-党政机关、 3-车站码头、 4-中心广场、 5-体育场馆、 6-商业中心、 7-宗教场所、 8-校园周边、 9-治安复杂区域、 10-交通干线。当目录项为摄像机时可选。 -->
<element name="PositionType" type="integer" minInclusive value ="1"/>
<!--摄像机安装位置室外、室内属性。 1-室外、 2-室内。当目录项为摄像机时可选,缺省为 1。 -->
<element name="RoomType" type="integer" minInclusive value = "1"/>
<!--摄像机用途属性。 1-治安、 2-交通、 3-重点。当目录项为摄像机时可选。 -->
<element name="UseType" type="integer" minInclusive value = "1"/>
<!--摄像机补光属性。 1-无补光、 2-红外补光、 3-白光补光。当目录项为摄像机时可选,缺省为 1。 -->
<element name="SupplyLightType" type="integer" minInclusive value= "1"/>
<!--摄像机监视方位属性。 1-东、 2-西、 3-南、 4-北、 5-东南、 6-东北、7-西南、 8-西北。当目录项为摄像机时且为固定摄像机或设置看守位摄像机时可选。 -->
<element name="DirectionType" type="integer" minInclusive value ="1"/>
<!--摄像机支持的分辨率,可有多个分辨率值,各个取值见以“/” 分隔。分辨率取值参见国标附录 F 中 SDP f 字段规定。当目录项为摄像机时可选。-->
<element name="Resolution" type="string" minInclusive value ="1"/>
<!--虚拟组织所属的业务分组 ID,业务分组根据特定的业务需求制定,一
个业务分组包含一组特定的虚拟组织。 -->
<element name="BusinessGroupID" type="tg:deviceIDType"/>
</Info>
</sequence>
</complexType>
DZ先生个人官方微信
文献来源
《公共安全视频监控联网系统信息传输、交换、控制技术要求 》