视频监控平台-国标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

相关文章

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Redis 热 key 和大 key 问题小结

《Redis热key和大key问题小结》:本文主要介绍Redis热key和大key问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、什么是 Redis 热 key?热 key(Hot Key)定义: 热 key 常见表现:热 key 的风险:二、

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring