基于Python机器流程自动化在系统权限调整中的技术研究
2021-04-06秦君庞丁黎吴庆升李晓敏
秦君 庞丁黎 吴庆升 李晓敏
在机器流程自动化中,机器的作用是替代人工完成大量重复性、标准化的任务。但是这里所描述的机器并非实体,而是以虚拟软件的形式来表现。机器流程自动化与常规的人工操作软件存在较大差异,它是一种数字化辅助技术,在特定的软件开发环境下编写控制程序,利用UI识别层和脚本控制层实现控制要求,自动执行常规、重复、可预测的工作。因此,机器流程自动化在日常信息系统维护、电力巡检、人力资源管理、财务管理等基础性工作多、重复性工作多、标准化工作多的领域具有高度适用性。
一、Python语言概述
Python是一种兼容多种开发环境的计算机程序设计语言,是一种高层次兼具解释性、编译性、动态性的脚本语言。Python完全面向对象进行开发,函数、模块、数字、字符串都以对象的形式在Python语言中存在,并且完全支持继承、重载、派生、多继承等,对于增强源代码的重复利用性很有意义,该语言也支持重载运算符,但对于函数的设计支持较为有限。Python本身是可以扩充的,扩充的功能不会集成到语言的核心上,Python提供了丰富的接口工具,程序设计人员能够方便运用C语言、C++语言等实现功能的扩充。Python编译器本身也可以被集成到应用脚本语言的程序内。正是基于上述原因,可以运用Python将其它语言编写的程序进行有效的集成和封装。
二、机器流程自动化实现平台
机器流程自动化软件包括机器流程自动化控制平台、机器流程自动化设计器及机器流程自动化,三者实施部署运行相对独立,不存在依赖关系。使用时可以机器流程自动化单独使用,也可以设计器和机器流程自动化配合使用,还可以控制平台和机器流程自动化配合使用。机器流程自动化软件的总体架构如图1所示。
机器自动化流程设计器:能够提供便捷的开发方法和开发界面,为机器流程自动化提供详细的指令,作为机器流程自动化需要执行的任务,并将指令下发到机器流程自动化控制器中。
机器流程自动化控制平台:承担将工作任务合理分配给每一个单独的机器流程自动化的任务,并对具体任务的执行过程进行有效的监视、控制、管理。
机器流程自动化:具体可以分为前台机器流程自动化和后天机器流程自动化两种,主要部署在执行具体任务的计算机终端中,可以以实体计算机终端或虚拟软件的形式存在,并与具体要完成的业务流程进行数据交互。
三、权限管理
(一)权限管理概念
所谓系统权限管理就是指系统的不同用户拥有与其承担角色相匹配的对特定子功能模块进行操作的不同权限。应用系统的權限可以从功能模型和信息模型两方面来进行划分,即功能层的操作权限管理和数据库等操作权限管理。功能层的操作权限管理是指控制到子功能模块“窗口”上的菜单,即承担不同角色的不同用户能够操作不同子功能模块,对于“窗口”上的不同功能菜单也存在不同的操作权限。这种权限管理模式仅涉及到功能层的操作权限,并没有涉及到对数据库的操作权限。
(二)系统权限管理功能模型设计
这里提出一种通用的能够同时对功能层操作和数据库操作的权限管理方法,对于功能管理到“窗口”的菜单层,对于数据库管理到基本表的操作权限,结合机器流程自动化功能将电力系统常规操作不同项目所对应的权限进行合理调整。系统权限管理从功能上可以分为权限管理基本数据模块、角色管理模块和用户管理模块三大部分,其权限管理功能模型如图2所示。图中描述了相关的数据流,对应关系,以及数据存储等。
(三)系统权限管理信息模型设计
在工程应用领域,信息模型的设计需要遵循“三范式”原则,即非键属性既不通过函数关联到主键,也不通过传递关联到主键。在进行权限管理信息模型设计前需要对实体进行明确。对系统的功能层和数据库进行权限管理的信息模型应当包含如下类型的实体:用户本体、用户承担角色、数据库操作权限、数据库基本表、子功能模块、子功能模块访问权限列表、子功能模块菜单。
(四)系统权限管理功能实现
电力系统在进行日常工作的时候需要进行不同的工作项目,不同的工作项目又具有不同的权限。这里采用Python平台开发机器流程自动化功能,实现系统权限的自主调整,以适应具体工作项目的调整。具体的开发环境如图3所示。
UI识别层:提供高效的应用适配能力,常用本地化应用的识别支持,并创新性完成图形文本化识别,实现更多应用的文本识别,并更好的适配业务流程中图形动作。
脚本控制层:使用当下最简洁最流行的Python语言,支持脚本的单独调试和运行,完整封装所有UI-AP,可使用自己喜欢的IDE并可以Debug,支持第三方接口集成,同时可操作人机交互界面。
可视化编辑:提供业界最直观、功能丰富的自动化开发设计环境,全中文本地化完美支持。我们的高度视觉流程使非IT专业人员可快速和容易的配置机器流程自动化工作流程。支持输出到Python代码,在可视化编辑与程序语言编辑之间转换。
常用工具:机器流程自动化根据定义好的任务和流程自动化运行,机器流程自动化在完成任务的每个步骤都可以被监控和记录, 从而用作审计证据已满足法律合规的需求。提供丰富的运行日志,通过管理平台展现运行结果信息。在对系统权限进行处理的时候通常会用到权限变更函数,如公式(1)所示;ID变更函数,如公式(2)所示。
其中,第一个参数代表了文件的路径,第二个参数代表新的ID号码,第三个参数为新的组ID号码。
任务配置在具体的计算机终端中,既可以是实体终端也可以是虚拟软件,与业务及流程进行交互,实现全天候自动化运行,从事一些标准化、重复性、大批量的任务,原先有人工完成的桌面工作,现可交给机器流程自动化软件处理完成。无需系统改造融合,直接使用人机界面来处理业务和数据,是低成本高回报的自动化技术。同时也能够支持与人工交互,实现辅助自动化功能,让人集中注意力于关键环节的智能辅助自动化。在员工日常工作当中,过程中的复杂流程可交予智能辅助自动化完成,如智能弹屏提醒、业务流程自动化、业务流程指引、多页面信息展现等。
四、结论
机器流程自动化在电力系统的日常工作中采用了无人值守的自动化模式,执行大批量的、重复性的、标准化的工作,完全取代了原有的人工操作,不需要进行系统改造融合,直接通过人机交互界面来对业务和数据进行处理,节省了人力资源,提高了劳动效率,是一种低成本高回报的自动化技术。
作者单位:云南电网有限责任公司德宏供电局