本发明涉及监控系统领域,尤其涉及一种监控系统遥控授权功能的实现方法。
背景技术:
计算机监控系统广泛应用于电力、冶金、石油、化工、燃气、铁路等领域的数据采集与监视控制等诸多领域。
通过监控系统,调度员可以实现远程对现场设备的各种开、关、调节等控制操作。为了保证现场设备的安全可靠运行,通常只允许具有遥控操作权限的调度员对设备进行远程控制。在实际生产运营过程中,遥控权限通常由调度长下发至调度员,才能允许指定的调度员在指定的时间内对指定设备进行遥控操作。并且在指定的时间过后收回控制权限。
技术实现要素:
针对这这一功能要求,本发明公开了一种监控系统遥控授权功能的实现方法,能够实现监控系统系统中针对不同设备、不同用户的遥控授权与解除授权操作,并且具备授权自动解除功能,配置简便,完全满足现场调度人员的运营需要。
本发明公开了一种监控系统遥控授权功能的实现方法,包括以下步骤:
1)授权管理对象结构设计
监控系统数据库通常采用面向对象的设计方式,数据以对象的形式存在,授权管理对象包含对象属性如下:
objectid:遥控授权对象的id;
name:遥控授权对象的名称;
devicelink:用于关联对象所对应的控制设备;
authorizeduserlist:被授权的调度员列表;
authorizetimeout:用于定义授权自动解除时间。从授权成功时刻开始,到达指定的自动解除时间后,自动解决授权。
authorizationstate:遥控授权状态,true表示已授权,false表示未授权。
timeoutremaining:授权自动解除倒计时,当倒计时达到0时,自动解除授权。
2)基于授权管理对象的授权流程设计
在监控系统中,对所有需要经过遥控授权才能操作的控制设备,新增一个授权管理对象;
将授权管理对象的devicelink属性与控制设备一一关联;
调度员在对具体设备执行遥控操作时,首先找到该设备对应的授权管理对象,当authorizationstate值为false,或者authorizationstate值为true但authorizeduserlist列表中不包含当前调度员时,该调度员无法对该设备进行遥控操作,需调度长进行遥控授权步骤才能继续操作,调度长授权成功后,被授予权限调度员即可对指定的控制设备进行遥控操作;
还包括调度长授权后设置自动解除时间步骤,调度长解除授权后,所有调度员都将无法对指定的控制设备进行遥控操作。
进一步,基于授权管理对象的授权流程其特征:
初始情况下,所有授权管理对象的authorizationstate值为false,且authorizeduserlist属性为空,即表示未对任何调度员授予对应设备的遥控操作权限。
进一步,调度长遥控授权处理流程如下:
s101:调度长选择需要授予控制权限的控制设备,并自动获取所选设备对应的授权管理对象。
s102:调度长选择需要授予控制权限的调度员并设置授权自动解除时间。
s103:将调度长所选的调度员以及授权自动解除时间保存至步骤s101所获取的所有授权管理对象的authorizeduserlist和authorizetimeout属性中。
s104:修改步骤s101所获取的所有授权管理对象的authorizationstate为true。
进一步,调度长解除遥控授权处理流程如下:
s201:调度长选择需要解除控制权限的控制设备,并自动获取所选设备对应的授权管理对象。
s202:分别修改步骤s101所获取的所有授权管理对象的authorizationstate和timeoutremaining属性的值为false和0。
3)遥控授权自动解除功能实现
基于上文定义的授权管理对象,本发明提供一种遥控授权自动解除功能的实现方法,当授权成功后到达指定时间,可以自动解除授权。本发明提供的遥控授权自动解除功能采用多线程实现,其中主线程用于读取授权管理对象的配置信息并定时的更新倒计时时间,当倒计时为0时,自动解除遥控授权;另外还提供子线程用于实时获取调度长的授权操作,并交由主线程处理。
进一步,所述主线程处理流程如下:
s301:初始化获取监控系统中所有授权管理对象,并创建一个空数组。
s302:依次读取步骤s301所获取的授权管理对象的authorizationstate属性值,若数值为true,将该对象加入步骤s301所创建的数组中。
s303:定时更新数组中所有对象的timeoutremaining属性值,每次将timeoutremaining属性当前值减去程序定时周期时间后作为新的属性值。若更新后对象timeoutremaining属性值为0,修改该对象的authorizationstate属性值为false,并将其中数组中移出。
进一步,所述子线程处理流程如下:
s401:初始化获取监控系统中所有授权管理对象;
s402:监听步骤s401获取的所有授权管理对象的authorizationstate属性的写入操作;
s403:获取监听对象及属性值,并根据监听的状态值执行后续步骤。若写入至为true继续执行步骤s404,反之若写入数据为fasle,跳转执行步骤s406;
s404:读取监听对象authorizetimeout属性值,并将其写入对象timeoutremaining属性中,继续执行步骤s405。
s405:查找主线程步骤s201创建的数组中是否包含该监听对象,若不存在,则将其加入至数组中。
s406:重置监听对象的timeoutremaining属性值为0,继续执行步骤s407。
s407:查找主线程步骤s201创建的数组中是否包含该监听对象,若存在,则将其从数组中移除。
本发明的有益效果:
本发明所述的一种监控系统遥控授权功能的实现方法,其有益效果在于能够实现监控系统系统中针对不同设备、不同用户的遥控授权与解除授权操作。并且具备授权自动解除功能。该方法实现时配置简便,完全满足现场调度人员的运营需要。
附图说明
图1遥控授权与解除遥控授权的处理流程图。
图2调度长遥控授权操作对话框示意图。
图3遥控授权自动解除功能处理流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
1)授权管理对象结构设计
授权管理对象示例如表1所示。
表1授权管理对象authorization属性列表
在监控系统中,对所有需要经过遥控授权才能操作的控制设备,新增一个授权管理对象。并将授权管理对象的devicelink属性与上述控制设备一一关联。
2)基于授权管理对象的授权流程设计
调度员在对具体设备执行遥控操作时,首先找到该设备对应的授权管理对象,并以此获取该对象的authorizationstate和authorizeduserlist属性值。当authorizationstate值为false,或者authorizationstate值为true但authorizeduserlist列表中不包含当前调度员时,该调度员无法对该设备进行遥控操作,需经调度长授权后才能继续操作。
调度长遥控授权与解除遥控授权处理流程如图1所示。
初始情况下,所有授权管理对象的authorizationstate值为false,且authorizeduserlist属性为空,即表示未对任何调度员授予对应设备的遥控操作权限。调度长可通过如图2所示的遥控授权操作对话框进行遥控授权与解除授权操作。
调度长遥控授权实现按如下步骤:
s101:调度长选择需要下放控制权限的控制设备,并自动获取所选设备对应的授权管理对象。
s102:调度长选择需要授予控制权限的调度员并设置授权自动解除时间。
s103:将调度长所选的调度员以及授权自动解除时间保存至步骤s101所获取的所有授权管理对象的authorizeduserlist和authorizetimeout属性中。
s104:修改步骤s101所获取的所有授权管理对象的authorizationstate为true。
调度长授权成功后,被授予权限调度员即可对指定的控制设备进行遥控操作。
调度长解除遥控授权处理流程如下:
s201:调度长选择需要解除控制权限的控制设备,并自动获取所选设备对应的授权管理对象。
s202:分别修改步骤s101所获取的所有授权管理对象的authorizationstate和timeoutremaining属性的值为false和0。
调度长解除授权后,所有调度员都将无法对指定的控制设备进行遥控操作。
3)遥控授权自动解除功能实现
图3为遥控授权自动解除功能处理流程,如图所示:
基于上文定义的授权管理对象,本发明提供一种遥控授权自动解除功能的实现方法,当授权成功后到达指定时间,可以自动解除授权。遥控授权自动解除功能采用多线程实现,其中主线程用于读取授权管理对象的配置信息并定时的更新倒计时时间,当倒计时为0时,自动解除遥控授权;另外还提供子线程用于实时获取调度长的授权操作,并交由主线程处理。
进一步,所述主线程处理流程如下:
s301:初始化获取监控系统中所有授权管理对象,并创建一个空数组。
s302:依次读取步骤s301所获取的授权管理对象的authorizationstate属性值,若数值为true,将该对象加入步骤s301所创建的数组中。
s303:定时更新数组中所有对象的timeoutremaining属性值,每次将timeoutremaining属性当前值减去程序定时周期时间后作为新的属性值。若更新后对象timeoutremaining属性值为0,修改该对象的authorizationstate属性值为false,并将其中数组中移出。
进一步,所述子线程处理流程如下:
s401:初始化获取监控系统中所有授权管理对象;
s402:监听步骤s401获取的所有授权管理对象的authorizationstate属性的写入操作;
s403:获取监听对象及属性值,并根据监听的状态值执行后续步骤。若写入至为true继续执行步骤s404,反之若写入数据为fasle,跳转执行步骤s406;
s404:读取监听对象authorizetimeout属性值,并将其写入对象timeoutremaining属性中,继续执行步骤s405。
s405:查找主线程步骤s201创建的数组中是否包含该监听对象,若不存在,则将其加入至数组中。
s406:重置监听对象的timeoutremaining属性值为0,继续执行步骤s407。
s407:查找主线程步骤s201创建的数组中是否包含该监听对象,若存在,则将其从数组中移除。
以上仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。本发明未涉及的技术均可通过现有的技术加以实现。