一种基于EPICS的人机交互权限管理方法及系统

文档序号:33627818发布日期:2023-03-28 21:50阅读:127来源:国知局
一种基于EPICS的人机交互权限管理方法及系统
一种基于epics的人机交互权限管理方法及系统
技术领域
1.本发明涉及人机交互权限管理领域,基于epics环境开发的控制系统应用,特别是涉及一种人机交互权限管理方法及系统。


背景技术:

2.大型科学装置如激光加速器具有设备多、子系统复杂、工作人员及实验人员多等特点。基于系统的复杂度,在装置的调试与使用过程中,需要对人员的操作进行相应权限控制,防止误操作导致的系统故障、设备损坏等。应通过划分不同的操作级别,对操作者权限进行管理,管理方式分为横向权限划分和纵向权限划分,前者是指针对加速器装置不同设备区域进行划分,后者是指对同一区域内不同人员组操作等级进行划分。
3.实验物理及工业控制系统(experimental physics and industrial control system,epics)是目前常用的大型科学装置控制系统架构,数据通过过程变量(process variable,pv)形式发布,其基本访问机制为在tcp/ip协议之上建立的称为通道访问(channelaccess,ca)的通道访问机制。phoebus为epics的一种人机交互界面开发工具。此架构中,在不影响输入输出控制器(input output controller,ioc)运行,仅对最前端人机交互层进行管理的要求下,可通过跨网段部署ca网关对人机交互界面所在主机实现网段的隔绝和访问权限的控制,使控制系统的一般用户无法直接对下层程序及变量进行直接的修改。
4.ca网关对权限的管理基于三条判别:访问请求来源主机、访问来源主机当前用户、当前运行时刻判断。第一条通过抓取请求来源主机名进行验证,第二条通过抓取请求来源主机操作系统当前账户进行验证,第三条通过权限配置文件中写入的运算实时进行判别。然而,为实现用户认证及权限管理的功能,权限管理系统的开发目标应为实现用户细度的权限管理,并能够在一套基于phoebus开发的人机交互界面内实现用户的登录、登出及实时的权限变化。ca网关从主机操作系统中抓取当前用户的用户判定方式导致切换账户需要通过主机操作系统用户切换来进行,会影响到当前主机所运行的程序,且不能实现人机交互界面内部用户自由切换的目标,也不适用于同一用户不在同主机间切换的应用场景,无法满足相应设计需求。


技术实现要素:

5.本发明的目的是提供一种人机交互权限管理方法及系统,以解决用户切换影响当前主机所运行的程序,且人机交互界面内部用户不能自由切换的问题。
6.一种人机交互权限管理方法,包括:
7.在控制子网的ioc服务器中运行epics ioc,在用户子网的人机交互主机中部署基于phoebus开发的人机交互界面,使用一台跨所述控制子网的网段及所述用户子网的网段的双网卡服务器作为网关服务器,部署ca网关及mysql数据库,在mysql数据库中以用户名为主键,存储用户名、密码以及用户所属权限组;
8.在所述人机交互界面中开发配套的登录窗口,设置权限管理辅助ioc;所述登录窗口链接所述mysql数据库;所述权限管理辅助ioc用于读取各主机的当前登录用户及用户所属权限组;
9.根据所述登录窗口输入的用户名,将当前主机的登录用户的用户所属权限组以及所述登录用户的用户名发布至所述权限管理辅助ioc中,确定所述当前主机对应的权限组记录过程变量以及所述当前主机对应的用户记录过程变量;
10.在所述ca网关的权限配置文件中,根据所述权限组记录过程变量以及所述用户记录过程变量配置各主机的开放权限;所述开放权限包括不可访问权限、只读权限以及可写权限。
11.可选的,所述根据所述登录窗口输入的用户名,将当前主机的登录用户的用户所属权限组以及所述登录用户的用户名发布至所述权限管理辅助ioc中,确定所述当前主机对应的权限组记录过程变量以及所述当前主机对应的用户记录过程变量,之前还包括:
12.利用所述mysql数据库对登录窗口输入的用户名以及密码进行验证。
13.可选的,所述在所述ca网关的权限配置文件中,根据所述权限组记录过程变量以及所述用户记录过程变量配置各主机的开放权限,之后还包括:
14.对所述开放权限进行权限等级划分,使得低等级只读权限读取所述epics ioc中对所述登录用户及用户所属权限组开放所述低等级只读权限的过程变量的数值,高等级只读权限读取所述epics ioc中对所述登录用户及用户所属权限组开放所述高等级只读权限的过程变量的配置信息。
15.一种人机交互权限管理系统,包括:
16.部署模块,用于在控制子网的ioc服务器中运行epics ioc,在用户子网的人机交互主机中部署基于phoebus开发的人机交互界面,使用一台跨所述控制子网的网段及所述用户子网的网段的双网卡服务器作为网关服务器,部署ca网关及mysql数据库,在mysql数据库中以用户名为主键,存储用户名、密码以及用户所属权限组;
17.权限管理辅助ioc设置及登录窗口链接模块,用于在所述人机交互界面中开发配套的登录窗口,设置权限管理辅助ioc;所述登录窗口链接所述mysql数据库;所述权限管理辅助ioc用于读取各主机的当前登录用户及用户所属权限组;
18.过程变量记录模块,用于根据所述登录窗口输入的用户名,将当前主机的登录用户的用户所属权限组以及所述登录用户的用户名发布至所述权限管理辅助ioc中,确定所述当前主机对应的权限组记录过程变量以及所述当前主机对应的用户记录过程变量;
19.开放权限配置模块,用于在所述ca网关的权限配置文件中,根据所述权限组记录过程变量以及所述用户记录过程变量配置各主机的开放权限;所述开放权限包括不可访问权限、只读权限以及可写权限。
20.可选的,还包括:
21.验证单元,用于利用所述mysql数据库对登录窗口输入的用户名以及密码进行验证。
22.可选的,还包括:
23.权限等级划分模块,用于对所述开放权限进行权限等级划分,使得低等级只读权限读取所述epics ioc中对所述登录用户及用户所属权限组开放所述低等级只读权限的过
程变量的数值,高等级只读权限读取所述epics ioc中对所述登录用户及用户所属权限组开放所述高等级只读权限的过程变量的配置信息。
24.一种电子设备,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述人机交互权限管理方法。
25.一种计算机只读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述人机交互权限管理方法。
26.为实现上述目的,本发明提供了如下方案:
27.根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供了一种人机交互权限管理方法及系统,将用户的账号信息独立存储于mysql数据库中,通过对各个主机进行开放权限配置,权限授予的判据不再是主机操作系统的登录用户,用户切换行为不再需要切换操作系统的用户,从而用户切换行为不会影响到当前主机所运行的其他程序,实现人机交互界面内部用户的自由切换。
附图说明
28.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1为本发明所提供的人机交互权限管理方法流程图;
30.图2为本发明所提供的人机交互权限管理系统硬件的示意图;
31.图3为本发明所提供的人机交互权限管理系统结构图。
具体实施方式
32.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.本发明的目的是提供一种人机交互权限管理方法及系统,用户切换行为不会影响到当前主机所运行的其他程序,实现人机交互界面内部用户的自由切换。
34.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
35.实施例一
36.图1为本发明所提供的人机交互权限管理方法流程图,如图1所示,一种人机交互权限管理方法,包括:
37.步骤101:在控制子网的ioc服务器中运行epics ioc,在用户子网的人机交互主机中部署基于phoebus开发的人机交互界面,使用一台跨所述控制子网的网段及所述用户子网的网段的双网卡服务器作为网关服务器,部署ca网关及mysql数据库,在mysql数据库中以用户名为主键,存储用户名、密码以及用户所属权限组。
38.在实际应用中,控制子网为网段a,用户子网为网段b。
39.步骤102:在所述人机交互界面中开发配套的登录窗口,设置权限管理辅助ioc;所述登录窗口链接所述mysql数据库;所述权限管理辅助ioc用于读取各主机的当前登录用户及用户所属权限组。
40.在实际应用中,前端操作主机方面,在配套开发的phoebus人机交互界面中开发配套登录窗口,设置权限管理辅助输入输出控制器(input output controller,ioc)。
41.步骤103:根据所述登录窗口输入的用户名,将当前主机的登录用户的用户所属权限组以及所述登录用户的用户名发布至所述权限管理辅助ioc中,确定所述当前主机对应的权限组记录过程变量以及所述当前主机对应的用户记录过程变量。
42.所述步骤103之前还包括:利用所述mysql数据库对登录窗口输入的用户名以及密码进行验证。
43.在实际应用中,人机交互界面的登录窗口连接存储用户信息的mysql数据库,登录时根据输入的用户名,查询相应密码及用户所属权限组,如密码对应正确,则将当前主机登录用户所属权限组发布至辅助ioc中当前主机对应权限组记录过程变量(process variable,pv),将当前主机登录用户名发布至辅助ioc中当前主机对应用户记录pv。
44.步骤104:在所述ca网关的权限配置文件中,根据所述权限组记录过程变量以及所述用户记录过程变量配置各主机的开放权限;所述开放权限包括不可访问权限、只读权限以及可写权限。
45.所述步骤104之后还包括:对所述开放权限进行权限等级划分,使得低等级只读权限读取所述epics ioc中对所述登录用户及用户所属权限组开放所述低等级只读权限的过程变量的数值,高等级只读权限读取所述epics ioc中对所述登录用户及用户所属权限组开放所述高等级只读权限的过程变量的配置信息。
46.在实际应用中,通道访问(channelaccess,ca)网关的权限管理具有运算功能,即通过权限配置文件中写入的运算实时进行判别。其中,配置文件中可配置的部分包括主机(即连接网关,并从网关读取数据的前端计算机)分组、pv分组(即将不同功能、不同设备的pv按照小组区别开来),由此可配置各pv分组对不同主机分组的开放权限,包括无权限、只读、读写,并分为权限等级0及权限等级1,例如:等级0的只读权限可以读取pv的数值,而权限等级1的只读权限可以读取pv的配置信息。
47.本发明在网关的权限配置中使用各主机用户权限组记录pv作为运算输入量,通过权限组记录pv的区分控制当前主机的权限,而权限组与用户名具有对应关系,以此在不更改人机交互主机系统用户的前提下,可以实现用户细度的权限认证即管理。
48.在配置文件中可编写布尔运算,并只读取ioc中指定的pv的值并进行数值运算及布尔运算,从而实现该pv处于不同数值范围内时,某一pv分组对各主机分组的开放权限有所不同。
49.权限分为不可访问、只读、可写三级权限,其中只读、可写权限又分为高低两级,高权限允许主机访问目标pv的所有域,低权限只允许主机访问目标pv的数值。
50.在ca网关配置过程中引入代表各主机当前登录用户所属权限组的pv,在mysql数据库中存储用户的用户名、密码及所属权限组。用户在某一主机前端人机交互界面中开发的登录界面上输入用户名及密码,登录界面根据mysql中存储的信息进行身份验证,验证成功后将当前主机登录的用户名、当前主机登录用户所属权限组发布至pv。ca网关可以读取
到表示该主机当前登录用户所属权限组的pv,根据这一pv的值进行运算,判断各pv分组此时对该主机赋予怎样的权限。
51.本发明能够在一套phoebus开发的人机交互平台中实现用户的登入登出、用户信息验证、权限管理,并提供登陆记录的存储和查询,实现epics控制系统前端人机交互界面层的用户身份验证及读写授权,还能够实现用户组的权限区分,并对不同的主机提供定制的不同权限管理。
52.对不同的主机赋予不同的权限管理方案,即同一用户在主机a上可以读取及写入变量1,但在主机b上可被设置为仅能读取变量1,不能写入,以防止工作人员对其他人员组的主机及设备做误操作。
53.实施例二
54.如图2所示,本实施例的权限管理系统硬件包括:人机交互主机pc1、pc2、pc3、pc4,双网卡网关服务器g,ioc运行服务器s1、s2、s3、s4。其中,pc1-4的网络环境为用户子网局域网,s1-4的网络环境为控制子网局域网,g的两块网卡跨接用户子网及控制子网。
55.pc1-4部署phoebus平台及开发完毕的人机交互界面;s1-4部署epics环境提供ioc运行支持;g部署ca网关及用户子网可访问的mysql数据库,ca网关配置epics pv分组及各人机交互主机上各pv分组对各用户组的权限认证情况,数据库中配置账户的用户名、密码、所属权限组。
56.本实施例的权限控制实现,包括以下配置内容:
57.对双网卡网关服务器部署的ca网关进行编码配置,定义epics pv分组及各人机交互主机上各pv分组对各用户组的权限认证情况。
58.在人机交互平台中指定ca通信来源为网关服务器。
59.在人机交互网段中部署的mysql中配置账户的用户名、密码、所属权限组。
60.在人机交互界面中开发登录登出窗口,连接数据库进行读取。
61.在控制子网中运行ioc,用户子网内的人机交互界面即实现用户认证及权限管理。
62.本实施例中,pv分组分为激光、光路传输、靶场、束线、运行状态显示,用户权限组分为用户组一、用户组二、用户组三、管理组,其中pc1-3分属于用户组一至三,pc4属于管理组。权限设计方面,分为不可访问、只读、可写,其中可写权限包括只读权限。所有用户组成员均拥有所有pv组只读权限,未登录游客均具有运行状态显示只读权限,用户组一具有激光、光路传输可写权限,用户组二具有光路传输、靶场可写权限、用户组三具有束线可写权限,管理组具有激光、光路传输、靶场、束线可写权限。用户组一、二、三成员仅在本组pc登录后可拥有前述可写权限,在其他pc登录后则仅拥有所有pv组只读权限,管理组权限不受登录pc限制,如表1所示。
63.表1pc1登录认证及权限授予情况表
[0064][0065]
pc1相对应的权限组记录pv为pc1:usrgroup,pc1相对应的用户记录pv为pc1:usr。pc1:usrgroup的值在未登录时为0,用户组1至三及管理组登录时分别为1,2,3,4。在ca网关的配置中进行认证运算配置,pc1:usrgroup的值即为ca网关对pc1授予访问权限的认证标准。意即,pc1:usrgroup=0时,pc1人机交互界面无权访问激光、光路传输、靶场、束线pv,可以读取运行状态显示pv;pc1:usrgroup=1时,pc1人机交互界面可以写入激光、光路传输pv,可以读取靶场、束线、运行状态显示pv;pc1:usrgroup=2,3时,可以读取前述各组pv;pc1:usrgroup=4时,可以写入激光、光路传输、靶场、束线pv,可以读取运行状态显示pv。
[0066]
通过记录pc1:usr的值变化,可以记录何人在何时登录了哪台人机交互主机,起到权限变更日志记录及控制操作追溯的作用。
[0067]
本实施例采用的权限配置方式如前述所示,优先保证权限组成员在本组pc的操作权限,同时保护本组人机交互界面不被他人操作。
[0068]
实施例三
[0069]
为了执行上述实施例一对应的方法,以实现相应的功能和技术效果,下面提供一种人机交互权限管理系统。
[0070]
图3为本发明所提供的人机交互权限管理系统结构图,如图3所示,一种人机交互权限管理系统,包括:
[0071]
部署模块301,用于在控制子网的ioc服务器中运行epics ioc,在用户子网的人机交互主机中部署基于phoebus开发的人机交互界面,使用一台跨所述控制子网的网段及所述用户子网的网段的双网卡服务器作为网关服务器,部署ca网关及mysql数据库,在mysql数据库中以用户名为主键,存储用户名、密码以及用户所属权限组。
[0072]
权限管理辅助ioc设置及登录窗口链接模块302,用于在所述人机交互界面中开发配套的登录窗口,设置权限管理辅助ioc;所述登录窗口链接所述mysql数据库;所述权限管理辅助ioc用于读取各主机的当前登录用户及用户所属权限组。
[0073]
过程变量记录模块303,用于根据所述登录窗口输入的用户名,将当前主机的登录用户的用户所属权限组以及所述登录用户的用户名发布至所述权限管理辅助ioc中,确定所述当前主机对应的权限组记录过程变量以及所述当前主机对应的用户记录过程变量。
[0074]
开放权限配置模块304,用于在所述ca网关的权限配置文件中,根据所述权限组记
录过程变量以及所述用户记录过程变量配置各主机的开放权限;所述开放权限包括不可访问权限、只读权限以及可写权限。
[0075]
本发明还包括:验证单元,用于利用所述mysql数据库对登录窗口输入的用户名以及密码进行验证。
[0076]
本发明还包括:权限等级划分模块,用于对所述开放权限进行权限等级划分,使得低等级只读权限读取所述epics ioc中对所述登录用户及用户所属权限组开放所述低等级只读权限的过程变量的数值,高等级只读权限读取所述epics ioc中对所述登录用户及用户所属权限组开放所述高等级只读权限的过程变量的配置信息。
[0077]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0078]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1