视频监控平台-国标28181目录资源树显示不全问题的解决

本文主要是介绍视频监控平台-国标28181目录资源树显示不全问题的解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目           录

一、问题描述

1、问题现象描述

2、问题现象描述二

二、问题初查

三、故障处理过程

1、初步估计问题诱因

2、 角色权限资源组不匹配的验证:

3、 资源组互相冲突的验证

三、故障解决

1、故障解决  

2、问题总结和反思 


一、问题描述

1、问题现象描述

        AS-V1000视频监控平台支持国标28181协议,支持GB/T28181-2016,GB/T28181-2022等版本,在GB/T28181中,业务分组目录和行政区划目录是两种不同的目录,具有不同的定义和使用方式。AS-V1000视频监控平台可以灵活选用不同的目录和本地目录,进行下级目录到本地目录的挂接。

        目录树可以通过web客户端、cs客户端进行显示,并且可以根据不同的用户权限不同,显示不同数量的资源(视频通道)。

        这次,用户在视频监控平台的管理端,配置好了角色的资源组。在使用的时候,发现有的账户(比如userA)登录web客户端后,能够看到这个资源组在目录树上正常显示,如下图示:

        可以看出,能够显示:上级资源章“北七家镇”和下级资源组“未来星科低碳产业园项目二期..”。

        但是,另一个账户(比如userB)登录web客户端后后,看不到这个资源组在目录树上正常显示,如下图示:

2、问题现象描述二

       同时客户说明,他发现这些用户有个特点,同一个角色下面,现象相同。也就是说,userA的角色如果是roleA,那么角色是releA的所有用户userA1,userA2….userAn,都可以看到这个资源组,角色是roleB的所有用户userB1,userB2….userBn都看不到这个资源组。

二、问题初查

        经过我们测试人员验证,现场确实有这个问题。

        同时,发现另外一个情况,就是在我们的CS客户端(专用客户端),发现userB能够看得到这个资源组的名字“未来星科低碳产业园项目二期….”,但是看不到这个资源组下的视频资源名称(即通道名称)。

        如下图所示:

三、故障处理过程

1、初步估计问题诱因

        根据上述所欲现象,研发人员进行分析、讨论,认为有两种可能的原因:

        第一,是角色权限和资源组有不匹配的地方。

        第二,可能是角色权限中的资源组互相冲突导致一些资源组不能显示。

2、 角色权限资源组不匹配的验证:

        针对第一种情况,我们需要查找数据库中与资源组和角色相关的表。对比数据库的数据和前端显示的数据看是否是该原因?

        资源组相关的表有resgroupxx和resgroupbindxx,角色相关的表有roleresgroupbindxx;另外已知未来星科这个资源组的ID号是1119141912216000xxx5。

(1)查询 ‘未来星....’资源组下的资源是否正常

        select * from resgroupbindxx where ResGroupID=‘1119141912216000xxx5’;

        结果如下:

        下面有5个通道,是正常情况,跟显示都能够显示出来。

(2)查询“未来星....”资源组是否正常?

        select * from resgroupxx where ResGroupID=‘1119141912216000xxx5’;

        

(3)查询角色绑定资源是否正常?

select * from roleresgroupbindxx where ResGroupID=‘1119141912216000xxx5’;

        查询这些语句提供的结果,证明在这个资源组id没有重复的,也没有不匹配的地方,因此问题发生的地方与角色权限和资源组不匹配没有关系。

3、 资源组互相冲突的验证

        针对这一点,我们有两种可行的思路,

        第一,是在数据库中查询数据是否有重复或不对的地方,

        第二,是新建一个角色,配置资源组,在客户端观看效果查找有冲突的资源组。

(1)查询数据是否有重复或者错误

        通过排查,系统中没有其他资源组跟’1119141912216000xxx5’重复使用。

(2)新建角色,配置资源组

        新建角色,把所有的的资源都选上,发现,问题依旧;

        然后只选择“北七星镇....”以及下面的资源,可以正常显示。因此基本可以断定,确实有数据出现冲突!需要一步步找出问题点。

        经过一项项对比测试,找到了一个资源组: “马池口地区”下的“昌平区马池口村定向安置房项目”,只要选择上这个资源组,显示就不正常。如下图示:

        若不选择这一项,能够正常显示,选上以后,这一项不能显示,同时"未来星...."这个资源组也显示不出来。

        经过查验,这个资源组的ID是:1111402122160000034。

        显然这个ID号是19为,而我们系统的资源组的ID号一般是20位的。

        经过跟客户沟通,客户说是他们自己在数据库中做了改动。

三、故障解决

1、故障解决  

        发现客户在数据库中直接操作,那就基本上定位问题。这种情况,我们就叫误操作导致的脏数据,必须重新建这些数据。解决方法有两种:
        (1)彻底解决,把数据恢复到修改数据库以前,然后再通过软件添加

        (2)把可能得数据找出来,然后对这些数据进行处理

        目前数据库中有上万条数据,恢复到修改之前的方式,只能往后放。于是逐项排查系统中是否还有其他数据,又找到3条数据,位数都是19位。于是,让客户把这几项数据处理掉。

        然后,通过userA和userB登录,查看目录资源树,正常了;

        再用其他用户登录,也显示正常了。

        问题解决!

2、问题总结和反思 

        这个问题完全是由于客户直接操作数据库引起的。因此,维护人员在给客户培训的时候,一定不要让客户直接更改数据库。数据库正常情况下尽量不要开发给客户的,但是,若由于特殊情况,客户需要知道,那么强烈建议客户只是查看数据库,而不要修改数据库。

若想了解更多,可以“点击” 下面的 “威迪斯特 微信名片”,就会出现我的二维码

这篇关于视频监控平台-国标28181目录资源树显示不全问题的解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/832535

相关文章

springboot报错Invalid bound statement (not found)的解决

《springboot报错Invalidboundstatement(notfound)的解决》本文主要介绍了springboot报错Invalidboundstatement(not... 目录一. 问题描述二.解决问题三. 添加配置项 四.其他的解决方案4.1 Mapper 接口与 XML 文件不匹配

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

Python中ModuleNotFoundError: No module named ‘timm’的错误解决

《Python中ModuleNotFoundError:Nomodulenamed‘timm’的错误解决》本文主要介绍了Python中ModuleNotFoundError:Nomodulen... 目录一、引言二、错误原因分析三、解决办法1.安装timm模块2. 检查python环境3. 解决安装路径问题

如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

《如何解决mysql出现Incorrectstringvalueforcolumn‘表项‘atrow1错误问题》:本文主要介绍如何解决mysql出现Incorrectstringv... 目录mysql出现Incorrect string value for column ‘表项‘ at row 1错误报错

如何解决Spring MVC中响应乱码问题

《如何解决SpringMVC中响应乱码问题》:本文主要介绍如何解决SpringMVC中响应乱码问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC最新响应中乱码解决方式以前的解决办法这是比较通用的一种方法总结Spring MVC最新响应中乱码解

Java报NoClassDefFoundError异常的原因及解决

《Java报NoClassDefFoundError异常的原因及解决》在Java开发过程中,java.lang.NoClassDefFoundError是一个令人头疼的运行时错误,本文将深入探讨这一问... 目录一、问题分析二、报错原因三、解决思路四、常见场景及原因五、深入解决思路六、预http://www

pip无法安装osgeo失败的问题解决

《pip无法安装osgeo失败的问题解决》本文主要介绍了pip无法安装osgeo失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 进入官方提供的扩展包下载网站寻找版本适配的whl文件注意:要选择cp(python版本)和你py

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

Linux修改pip临时目录方法的详解

《Linux修改pip临时目录方法的详解》在Linux系统中,pip在安装Python包时会使用临时目录(TMPDIR),但默认的临时目录可能会受到存储空间不足或权限问题的影响,所以本文将详细介绍如何... 目录引言一、为什么要修改 pip 的临时目录?1. 解决存储空间不足的问题2. 解决权限问题3. 提

解决Java中基于GeoTools的Shapefile读取乱码的问题

《解决Java中基于GeoTools的Shapefile读取乱码的问题》本文主要讨论了在使用Java编程语言进行地理信息数据解析时遇到的Shapefile属性信息乱码问题,以及根据不同的编码设置进行属... 目录前言1、Shapefile属性字段编码的情况:一、Shp文件常见的字符集编码1、System编码