GB28181 信号检索及目录组织结构( 三 )
树形结构分支节点, 叶子节点解析, 具体可以参看我的源码, 源码下载地址如下:
https://download.csdn.net/download/Lonely_Bird/12716569
上一节, 下级平台已经注册到上级平台, 接着上级平台需要检索下级平台的信号, 比如上级平台需要能够随时查看某区域的
摄像头信号, 首先需要获取下级平台信号的列表, 然后才能调取对应的信号, 本节讲述GB信号检索, 及如何通过树形结构展示这些信号, 重点讲述目录结构组织关系, 因为我发现对这部分网络上讲解的很少, 讲的也不清楚
按照惯例, 后面会提交学习源码, 这里只对关键代码进行分析。
上面这段代码即是向下级平台请求检索命令, 下级平台收到检索命令后, 会返回检索所有设备信号, 信令流程大家
可以对照源码看, 比较简单, 在此不做过多解读, 下面分析检索回来的信号, 如何使用树形结构展示, 这些信号
之间的逻辑层级关系事怎样的呢? 下面分点阐述
关注第一点:
查看《GBT 28181-2016 公共安全视频监控联网系统信息传输、交换、控制技术要求》附录 A.2.1
a) 设备编码类型
<simpleTypename="deviceIDType">
<restrictionbase="ID">
<! --在取值为行政区划时可为2、4、6、8位,其他情况取值为20位。-->
<patternvalue="(\d{2}|\d{4}|\d{6}|\d{8}|\d{20})"/>
</restriction>
</simpleType>
可以看到设备 deviceID, 只能是 2,4,6,8,20 位数字, 不会出现其他情况,
很显然, 2,4, 6, 8 是作为行政区划分支节点的, 而不是叶子节点, 20位数字可能是
分支节点, 也可能是叶子节点, 下面会有判断。
关注第二点:
device ID 2,4,6,8 位数字表示 省级, 市即,区县级, 地方级 的城市编码
a) 省级行政区划目录项
<Item>
<DeviceID>65</DeviceID>
<Name>新疆维吾尔自治区</Name>
</Item>
b) 市级行政区划目录项
<Item>
<DeviceID>6501</DeviceID>
<Name>乌鲁木齐市</Name>
</Item>
c) 区县级行政区划目录项
<Item>
<DeviceID>650102</DeviceID>
<Name>天山区</Name>
</Item>
d) 基层接入单位行政区划目录项
<Item>
<DeviceID>65010211</DeviceID>
<Name>燕尔窝派出所</Name>
</Item>
很显然,根据编码规则, 他们的树形层级关系即位
65 新疆维吾尔自治区
| |
6501 乌鲁木齐市
| |
650102 天山区
| |
65010211 燕尔窝派出所
关注第三点:
看前面的deviceID除了行政区域是 2,4,6,8位, 其他的都是20位的
那我怎么知道这20位数字的哪些是摄像头设备, 哪些是虚拟组织目录, 哪些是系统目录, 哪些是业务目录呢?
这就需要看
查看《GBT 28181-2016 公共安全视频监控联网系统信息传输、交换、控制技术要求》
附录 D.1 编码规则A
编码规则 A 由中心编码(8位)、行业编码(2位)、类型编码(3位)和序号(7位)四个码段共20位十 进制数字字符构成,即系统编码 =中心编码 + 行业编码 + 类型编码 + 序号。
码段 码位 含义 取值说明
1、2 省级编号
中心编码 3、4 市级编号
5、6 区级编号
7、8 基层接入单位编号
行业编码 9、10 行业编码 行业编码对照表见 D.3
111 DVR编码
类型编码 11、12、13 111~130 表示类型为 112 视频服务器编码
前端主设备 113 编码器编码
131~199 表示类型为 131 摄像机编码
前端外围设备 132 网络摄像机(IPC)编码
133 显示器编码
200~299 表示类型为 200 中心信令控制服务器编码
平台设备 201 Web应用服务器编码
202 媒体分发服务器编码
203 代理服务器编码
204 安全服务器编码
211 信令安全路由网关编码
215 业务分组编码
216 虚拟组织编码
网络标识 14 网络标识编码 0、1、2、3、4为监控报警专网
5 为公安信息网
6 为 政务 网
7 为 Internet网
8 为 社 会 资 源 接 入 网
9 预留
序号 15~20 设备、用户序号
根据国标编码规则 65010200002160000001 这个deviceid对应的就是一个虚拟组织
65010200002150000001 这个deviceid对应的就是一个业务分组
65010200001320000009 这个deviceid对应的就是一个IPC网络摄像机
65010200002000000001 这个deviceid对应的就是一个系统目录
关注第四点:
根据gb28181标准, 除了有行政区划目录组织结构, 还有按业务划分的目录组织结构, 业务组织下会有虚拟组织, 虚拟组织下可以继续挂虚拟组织, 或者挂设备。
f) 业务分组目录项
业务分组根据特定的业务需求制定,一个业务分组包含一组特定的虚拟组织,虚拟组织下可划分子
虚拟组织并可挂接设备,业务分组、虚拟组织、设备间为以业务分组为根节点,虚拟组织为分支节点,设
备为叶节点的树状层次关系。
<Item>
<! --业务分组标识,编码采用 D.1中的20位ID格式,扩展215类型代表业务分组-->
<DeviceID>65010200002150000001</DeviceID>
<Name>业务分组名称</Name>
<! --填写制定此业务分组所属的系统ID-->
<ParentID>65010200002000000001</ParentID>
</Item>
g) 虚拟组织目录项
<Item>
<! --虚拟组织标识,编码采用 D.1中的20位ID格式,扩展216类型代表虚拟组织-->
<DeviceID>65010200002160000002</DeviceID>
<Name>虚拟组织名称</Name>
<! --父节点虚拟组织ID,用于标识虚拟组织间的层级关系,若有父节点虚拟组织则填写此字段-->
<ParentID>65010200002160000001</ParentID>
<! --虚拟组织所属的业务分组ID-->
<BusinessGroupID>65010200002150000001</BusinessGroupID>
</Item>
h) 设备目录项
<Item>
<DeviceID>65010200001320000009</DeviceID>
<Name>IPC_天山视频</Name>
<Manufacturer>设备厂商</Manufacturer>
<Model>设备型号</Model>
<Owner>设备归属</Owner>
<CivilCode>650102</CivilCode>
<! --若设备属于某组织机构下,应在Block字段中填写相应组织机构代码,组织机构代码应符合 GA/T380—2011规定。-->
<Block>650102000000</Block>
<Address>设备安装地址</Address>
<Parental>0</Parental>
<! --若上传目录中有此设备的父设备则应填写父设备ID,若无父设备则应填写系统ID;若设
备属于某虚拟组织下,则应同时填写虚拟组织ID;各个ID之间用“/”分隔。-->
<ParentID>摄像机父设备/虚拟组织</ParentID>
<RegisterWay>1</RegisterWay>
<Secrecy>0</Secrecy>
<Status>ON</Status>
</Item>
关注第五点
根据前面第四点知道了, 业务分组下面挂的是虚拟组织, 那业务分组挂在哪里呢?
换句话说, 业务分组的父节点又是谁呢?
回头看第四点
<Item>
<! --业务分组标识,编码采用 D.1中的20位ID格式,扩展215类型代表业务分组-->
<DeviceID>65010200002150000001</DeviceID>
<Name>业务分组名称</Name>
<! --填写制定此业务分组所属的系统ID-->
<ParentID>65010200002000000001</ParentID>
</Item>
65010200002150000001 此业务分组的 ParentID 是65010200002000000001, 这是一个系统ID, 目前为止系统ID我们还没看, 系统ID目录定义如下:
e) 系统目录项
<Item>
<! --ID编码11-13位采用200标识系统ID类型-->
<DeviceID>65010200002000000001</DeviceID>
<Name>天山区监控平台</Name>
<Manufacturer>平台厂商</Manufacturer>
<Model>平台型号</Model>
<Owner>平台归属</Owner>
<CivilCode>650102</CivilCode>
<Address>平台安装地址</Address>
<RegisterWay>1</RegisterWay>
<Secrecy>0</Secrecy>
</Item>
那这个系统ID的父节点又是谁呢? 我们看到就是那个城市编码 <CivilCode>650102</CivilCode>, 就是这个系统ID是挂载650102 区域分组节点下的, 那现在所有的目录节点都找到归属了。
最后我们来看看国标文档设备树展示逻辑关系图