CN117076036B - 用于远程计算机上的rpa流程无人值守方法及系统 - Google Patents
用于远程计算机上的rpa流程无人值守方法及系统 Download PDFInfo
- Publication number
- CN117076036B CN117076036B CN202311332510.4A CN202311332510A CN117076036B CN 117076036 B CN117076036 B CN 117076036B CN 202311332510 A CN202311332510 A CN 202311332510A CN 117076036 B CN117076036 B CN 117076036B
- Authority
- CN
- China
- Prior art keywords
- detection
- rpa
- remote computer
- session
- remote
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000001514 detection method Methods 0.000 claims abstract description 111
- 238000009877 rendering Methods 0.000 claims abstract description 38
- 230000008569 process Effects 0.000 claims description 43
- 238000013475 authorization Methods 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 230000010354 integration Effects 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000012550 audit Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004801 process automation Methods 0.000 description 2
- 238000011165 process development Methods 0.000 description 2
- 238000011112 process operation Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明属于计算机技术领域,具体涉及用于远程计算机上的RPA流程无人值守方法及系统。方法包括:S1,启动RPA机器人,通过设置系统函数阻止远程计算机进入休眠状态,并在RPA机器人开始执行RPA流程前,进行运行环境检测;运行环境检测包括分辨率检测、会话检测、系统时钟检测、界面可用性检测、用户设置检测和电源模式检测;S2,完成运行环境检测后,当RPA机器人识别到远程计算机的会话已退出或者界面已经停止渲染,则RPA机器人立刻启用无人值守,使远程桌面处于活跃状态,保证远程计算机上的RPA流程正常运行。本发明具有使用简单,成本低廉,集成度高,又能够在远程连接断开后继续保持远程计算机环境稳定运行的特点。
Description
技术领域
本发明属于计算机技术领域,具体涉及用于远程计算机上的RPA流程无人值守方法及系统。
背景技术
RPA(RPA Robotic Process Automation 机器人流程自动化)是一种通过软件机器人自动执行重复性、规则性任务的技术,用户可以通过专业的RPA流程编辑器,将规则的、固定逻辑的业务编排成对应的自动化任务,并将这些自动化任务按一定的调度条件(如定时触发、事件驱动、文件触发等)下发给软件机器人执行,软件机器人在执行任务时会模拟人类与计算机系统的交互,如鼠标点击、键盘输入、复制粘贴、文件操作等,来实现设定的业务逻辑。RPA对现有系统无侵入,无需进行复杂的系统改造和集成,可以在不改变现有系统架构的情况下实现业务流程的自动化。
然而,现有的在远程计算机上执行RPA流程的相关技术存在以下缺点:
1.需要额外的服务器或工具支持
通过远程桌面代理的方式或通过RDP或VNC的进行远程连接方式都能保证远程计算机的界面保持正常渲染。但它存在以下几方面的弊端:
(1)额外服务器成本和管理:为了实现远程桌面渲染,需要设置和维护额外的服务器。这涉及到硬件、网络、维护等成本。购买、设置和维护服务器可能需要显著的经济投入和管理工作。
(2)网络带宽和延迟:远程桌面渲染需要大量的网络带宽,特别是在传输图形和动画方面。如果网络带宽有限,或者在远程连接时出现网络延迟,可能会导致远程桌面的响应变得缓慢,影响用户体验和流程执行的效率。
(3)依赖第三方工具:使用VNC等第三方工具需要依赖这些工具的开发和支持。如果这些工具停止更新或出现问题,可能会面临兼容性或安全性方面的挑战。
(4)增加复杂度性:无论是部署远程桌面代理服务,还是通过修改注册表来保证远程客户端在最小化时保持界面渲染,都是比较专业的技术步骤,对于非技术人员来说会是一个挑战。
2.多用户登录引入的不稳定因素
Windows是一个多用户操作系统,这意味着它可以同时支持多个用户登录并在各自的用户会话中进行操作。不同的用户可以在同一台计算机上拥有各自独立的用户账户和设置,而不会相互干扰。机器人一般安装在系统目录下,在系统范围内,机器人对于不同的用户是可见的。这样就很容易引发这样的问题,A用户知道远程计算机上有机器人需要运行流程,并且知道退出远程连接的时候需要让远程计算机保持界面渲染而采取一些配置。而在A用户退出后,B用户登录了这台远程计算机,B用户不清楚机器人业务,也不知道怎么保持远程计算机的界面渲染,在处理完自己的业务后,就退出了远程连接,直接退出远程连接工具使得A退出时做的配置变的无效,此后运行的自动化流程因为没有界面渲染而运行失败。
3.分辨率变化对流程运行的影响
RPA流程运行中,录屏是一项很重要的功能。机器人运行过程中界面发生了什么变化,输入了哪些内容,鼠标点击了什么位置,都可以通过流程录屏来可视化的事后查看。有时候纯文本的错误报告难以准确的传达问题,而录屏可以帮助捕捉问题的上下文和现象。在生产环境中,对RPA流程进行录屏可以用于监控和审计,这可以帮助跟踪流程的执行情况,确保流程按照预期运行,同时也可以检查是否有未经授权的访问或操作。但是现有的保持远程界面渲染的方式,无法在任务运行时自动设定远程计算机的分辨率。因为对于远程连接的主机,其主机的分辨率,受多种因素的影响,如本地主机分辨率、远程计算机分辨率、远程桌面连接设置、网络带宽等,这些影响因素都会直接影响远程计算机在无人值守状态下的分辨率,而机器人执行任务前后分辨率的变化,会直接导致和分辨率相关的组件运行出现问题,如CV识别、验证码等组件。
因此,设计一种使用简单,成本低廉,集成度高,又能够在远程连接断开后继续保持远程计算机环境稳定运行的用于远程计算机上的RPA流程无人值守方法及系统,就显得十分重要。
发明内容
本发明是为了克服现有技术中,现有的在远程计算机上执行RPA流程的技术存在使用复杂,维护成本高,容易受外界干扰导致运行不稳定以及兼容性差的问题,提供了一种使用简单,成本低廉,集成度高,又能够在远程连接断开后继续保持远程计算机环境稳定运行的用于远程计算机上的RPA流程无人值守方法及系统。
为了达到上述发明目的,本发明采用以下技术方案:
用于远程计算机上的RPA流程无人值守方法,包括如下步骤;
S1,启动RPA机器人,通过设置系统函数阻止远程计算机进入休眠状态,并在RPA机器人开始执行RPA流程前,进行运行环境检测;所述运行环境检测包括分辨率检测、会话检测、系统时钟检测、界面可用性检测、用户设置检测和电源模式检测;
S2,完成运行环境检测后,当RPA机器人识别到远程计算机的会话已退出或者界面已经停止渲染,则RPA机器人立刻启用无人值守,使远程桌面处于活跃状态,用于保证远程计算机上的RPA 流程正常运行。
作为优选,所述分辨率检测包括如下过程:
在运行RPA流程之前对运行环境进行检测,若设计RPA流程时的分辨率与检测到的运行环境的分辨率不一致,则将运行环境的分辨率设置成设计所述RPA流程时所用的分辨率,用于保证RPA流程稳定运行。
作为优选,所述会话检测包括会话注销检测和会话切换检测,用于防止会话在未经授权的情况下被注销或切换。
作为优选,所述系统时钟检测指检测RPA机器人运行期间,远程计算机的操作系统的时间是否被修改;若时间被修改,则将时间恢复成被修改前的时间。
作为优选,所述界面可用性检测包括如下过程:
当RPA机器人启动后,定时抓取远程计算机系统桌面的句柄,并通过采样获取桌面图片的像素信息;根据获取的桌面图片的像素信息,计算桌面图片的RGB的和值是否为0,用于判断界面是否保持渲染;若计算出的桌面图片的RGB的和值为0,表示会话已经退出,则RPA机器人在当前用户授权下,重启会话并继续保持界面渲染状态。
作为优选,所述用户设置检测,用于当检测到用户更改远程计算机的系统配置设置时,触发分辨率检测、会话检测、系统时钟检测和界面可用性检测。
作为优选,所述电源模式检测,用于检测远程计算机的断电重启行为并进行记录。
作为优选,步骤S2包括如下步骤;
S21,当需要启用无人值守时,开启时间窗口防抖操作;所述时间窗口防抖操作指在设定时间内,保持检测系统会话状态,当系统会话状态稳定后,再开启无人值守功能;
S22,RPA机器人判断当前远程计算机最适用的无人值守方式,具体过程如下:
先检测当前远程计算机是否支持RDP连接,若支持,则通过计算机自连的方式建立远程连接,执行RDP值守,继续保持界面渲染;所述RDP是计算机系统自带的远程连接功能;
若RPA机器人判断出当前远程计算机不支持RDP连接,则主动选用切换会话的方式,执行会话切换值守并设置系统分辨率。
本发明还提供了用于远程计算机上的RPA流程无人值守系统包括;
运行环境检测模块,用于在RPA机器人开始执行RPA流程前,进行运行环境检测;所述运行环境检测包括分辨率检测、会话检测、系统时钟检测、界面可用性检测、用户设置检测和电源模式检测;
执行环境初始化模块,用于在完成运行环境检测后,当RPA机器人识别到远程计算机的会话已退出或者界面已经停止渲染,则RPA机器人立刻启用无人值守,使远程桌面处于活跃状态,保证远程计算机上的RPA 流程正常运行。
本发明与现有技术相比,有益效果是:(1)本发明将运行环境检测、多种无人值守方式选择相结合,处理了远程无人值守时需要重点关注的保持界面渲染问题、分辨率一致问题,提供了一套高集成、低成本、强兼容性的无人值守方案;(2)本发明当部署在远程计算机上的机器人开启后,需要持续对机器人的运行环境进行检测,检测是否当前会话能满足机器人正常运行流程;当检测到会话丢失或者界面已经处于非渲染的时候会自动筛选出适合当前环境适用的无人值守方式,巧妙的利用了远程桌面自连接的特性,解决了会话和界面渲染的保活问题,并且在开启无人值守前,对会话状态做了稳定性过滤,避免会话状态的跳变给最终的无人值守操作带来不稳定的影响;(3)本发明在无人值守开启后,又持续对用户设置、系统分辨率、系统时钟、电源模式、会话状态等多种环境因素进行监测,保证当机器人运行出现问题后,能及时的通过日志进行行为审计;(4)通过本发明技术方案,不需要额外增加成本就可以实现RPA机器人在远程虚拟主机上的高效、准确、稳定的运行。
附图说明
图1为本发明中用于远程计算机上的RPA流程无人值守系统的一种功能构架图;
图2为本发明中界面可用性检测的一种流程图;
图3为本发明中用于远程计算机上的RPA流程无人值守方法的一种流程图;
图4为本发明实施例提供的远程计算机RPA流程的一种网络拓扑图;
图5为本发明实施例提供的RPA机器人提供的配置界面中普通接入的一种示意图;
图6为本发明实施例提供的RPA机器人提供的配置界面中堡垒机接入的一种示意图;
图7为本发明实施例提供的用于远程计算机上的RPA流程无人值守方法在实际运行时用户操作和计算机状态变化的一种流程图。
具体实施方式
为了更清楚地说明本发明实施例,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
本发明提供了用于远程计算机上的RPA流程无人值守方法,通过运行环境检测,部署在远程计算机上的RPA机器人能够识别出最适用于本机的无人值守方式,通过时间窗口判断,降低人为干扰,在机器人流程启动前,启用无人值守,保证远程桌面处于活跃状态,进而保证远程计算机上的流程正常运行。
本发明所提的系统功能架构如图1所示,主要分为运行环境检测和执行环境初始化两大模块。
运行环境检测模块:在机器人启动后,在开始执行流程前,需要让机器人去检测所处的系统环境,主要包括分辨率检测、会话检测、系统时钟检测、界面可用性检测、用户设置检测和电源模式检测。
分辨率检测:某些自动化任务可能需要依赖图像识别来完成。如果分辨率不一致,图像可能被缩放或拉伸,从而导致图像识别无法准确匹配预期的图像模式,此外,分辨率差异还可能会影响屏幕坐标的映射关系。在需要指定坐标的自动化任务中,分辨率检测可以确保坐标映射的准确性。因此在运行流程之前需要对运行环境的分辨率做检测,如果分辨率不一致需要设置成设计该流程时候所用的分辨率,保证设计流程时的分辨率和运行流程时的分辨率能一致,保证流程运行的稳定性。
会话检测:会话检测主要包括会话注销检测和会话切换检测。RPA流程通常会依赖于一个已登录的会话,用于执行各种任务。如果会话在未经授权的情况下被注销或切换,可能会导致已授权的用户无法继续访问应用程序或系统,通过检测会话状态,可以防止未授权的访问和操作。RPA流程通常需要记录操作和事件,以便进行审计和故障排除。及时的检测会话在流程运行期间发生切换的行为,可以为后续的问题排查提供必要得依据。
系统时钟检测:系统时钟检测是指检测机器人运行期间操作系统的时间是否被修改。RPA流程的下发、调度、运行都和时间紧密相关,尤其是流程中涉及计划任务、定时操作或基于时间的触发器,远程计算机的准确时间是确保这些任务稳定运行的关键。而且RPA流程通常可能会和数据库、日志或者其他数据源进行交互,而这些操作依赖于准确的时间戳,如果对这种外部修改不做检测,会让不准确的时钟导致日志中的时间戳不准确,影响事件的准确性和连贯性。
界面可用性检测:RPA的核心思想是让软件来模拟人的操作来完成任务,因此必须确保执行流程期间的界面渲染是正常的,这是本发明核心要解决的问题,而在远程环境下,很难保证远程计算机能持续保持界面渲染,尤其会由于各种不可控的原因导致会话异常而造成界面停止渲染,如会话断开,即用户通过远程连接登录到系统,然后关闭远程连接窗口,会话状态将变为断开。在这种情况下,用户的会话仍然存在,但没有可见界面。如会话超时,即操作系统可能设置了会话超时策略,如果用户一段时间内没有操作,会话可能会自动退出或锁定。因此通过检测发现界面不可用时及时的拉起并激活会话,对于流程的正常运行显得至关重要。
界面可用性检测流程如图2所示,当机器人启动以后,定时抓取本机系统桌面句柄,并通过采样获取桌面图片的像素信息,计算采样像素点pixel.R+pixel.G+pixel.B是否为0来判断界面是否保持渲染(因为在无界面渲染的情况下,抓取到的桌面界面为纯黑图片,纯黑的图片RGB的和值为0)。如果判断会话已经因为某种原因退出后,机器人会在当前用户授权下,重启会话继续保持界面渲染状态。通过界面检测能快速发现远程计算机的界面渲染异常,并及时采取补救措施,保证远程运行环境的稳定,确保机器人能正常运行流程。
用户设置检测:使用SystemEvents.UserPreferenceChanged监听用户设置的变化,当用户更改系统设置时能立即触发上述事件(即分辨率检测、会话检测、系统时钟检测和界面可用性检测)。用户设置包含了上面提到各种配置,当用户试图手动更改这些配置时能被及时地识别到,除了上述重点提到的这些配置,另外还可能有些系统的设置会最终影响到流程的执行,如字体、语言、区域设置等。由于无法对这些配置做穷举,因此可以认为用户设置检测,是对上述各种特定检测的一个补充。当异常发生时,可以通过查看这部分的日志来审计流程运行中发生了什么。
电源模式检测:主要是检测流程运行过程中远程计算机的断电重启行为。当电源发生变化,如断电或电源切换,远程计算机的状态可能会不稳定。流程运行中的操作可能会被中断,进而影响任务的连续性,这种中断往往无法通过普通的日志来观察到,而在流程运行过程中,这种断电的行为往往是致命的,会直接导致流程失败。在主机重启后,需要对这种异常的原因进行审计分析。而实时的电源模式检测可以记录这种系统行为。
执行环境初始化模块:通过环境检测,机器人识别到当前主机的会话已退出,或者界面已经停止渲染,此时机器人会立刻启用无人值守,保证机器人的实际执行时的环境可用。由于不同的客户远程计算机的环境不一致,可能操作系统不同,即使相同操作系统可能配置也不相同,如有的机器开启允许远程连接,有的却没有,有的机器开启了定时休眠,而有的机器并没做这个设置。所以单一的值守方式,无法覆盖多变的客户环境,机器人内置了多种值守方式,通过自动判断系统的实际运行状态来自动切换最合适的无人值守方式。
如图3所示,本发明提供的用于远程计算机上的RPA流程无人值守方法的具体流程如下:
机器人启动后通过设置系统函数:
SetThreadExecutionState(ExecutionState.EsContinuous |
ExecutionState.EsSystemRequired|ExecutionState.EsDisplayRequired),用于阻止系统进入休眠状态。
这是保证远程计算机可以正常执行RPA流程的第一个大前提,进行环境的定时检测,必须保证远程计算机未进入休眠状态。然后,程序开启定时环境检测,检测的内容主要包括分辨率检测、会话检测、系统时钟检测、界面可用性检测、用户设置检测和电源模式检测,其中,通过判断界面可用性来决定是否需要开启无人值守。当判断系统可能需要进行无人值守时,开启时间窗口防抖判断,这里的防抖是在事件过程中,发现及时进入无人值守状态,会话的状态会发生概率性的跳动,如果单纯的通过一次会话的状态来判断是否需无人值守时,很容易引起误操作,容易进入死循环。所以这里的时间窗口防抖的作用是通过检测一段时间内的系统会话状态,当状态稳定之后再开启无人值守功能,保证了系统的稳定性。在判断需要进行无人值守时,机器人需要判断当前本机最适用的无人值守方式,首先会先检测本机是否支持RDP连接,RDP是系统自带的远程连接功能,通过本机自连的方式建立远程连接,可以保证即使在没有连接显示器的情况下,继续保持界面渲染。
本机建立远程连接的方式如下:
wfreerdp.exe Arguments = $"/u:{userName} /p:{password} /disable-output /v:127.0.0.1:{port} /h:{screenHeight} /w:{screenWidth} /cert:ignore /scale:100 /scale-desktop:{scalingFactor} +offscreen-cache -clipboard -decorations +auto-reconnect";
通过该命令行,设置连接所需的用户名密码等身份信息,此外还设置远程桌面的宽高,桌面缩放比,将执行机器人任务所需的界面要求显式设置到系统,保证了部署和运行机器人的环境一致的,保证了运行的稳定性。由于部分客户可能处于安全考虑,或者企业有硬性规定对远程连接功能有限制,此时机器人判断当前系统不支持远程连接,会主动选用切换会话的方式,通过命令行tscon.exe {sessionId} /dest:console,将会话切换到console,会话切换成功后,调用Win32Api ChangeDisplaySettings设置系统分辨率。无论是哪种无人值守方式,设置分辨率都是十分重要的一步,在用户退出远程登录前后,远程计算机的分辨率可能会随着远程Client和自身的设置而变化。而分辨率的变化,不仅会使流程中涉及绝对坐标的操作,CV的操作出现偏差,还会直接导致远程运行过程中的录屏失败。所以本发明清晰的认识到了这一点,也在方案中兼顾了这种意外场景的处理,最大程度的保证了执行环境的稳定性。
以下以一个实际的RPA项目为例,展示实际应用中使用本发明的实施方案,验证本发明的实用性和易用性。
公司A有一台Windows服务器,在服务器上部署了一个RPA机器人,用于每天凌晨3点处理夜间收到的订单,包括订单的验证、数据录入和订单确认。对应的网络拓扑如图4所示,包括办公PC、接入交换机、核心交换机、远程服务器(Windows服务器),办公PC、接入交换机、核心交换机和远程服务器依次通信连接。但这台Windows服务器支持多用户登录,在白天使用时会有不同的用户通过远程登录去使用,这种情况在实际应用中比较常见,尤其在规模小的企业,服务器资源比较紧张,一台服务器承载了多种业务。为了能保证凌晨机器人能够正常的运行,实施工程师需要确保在最后一个人断开该服务器时该服务器的界面是保持持续渲染的,实际操作中,该实施工程师往往需要在机器人开启运行前,如0点,通过手动的方式来保持会话可用,这种方式不仅在可维护性上变的很差,尤其是半夜维护,反而和降本增效的初衷相违背,即便如此,当实施工程师设置好界面渲染退出远程连接后,不能保证之后的时间里是否又会有客户去登录这台服务器,在实际场景下发现,还是会出现客户登录的情况,当客户对RPA了解不深时,容易直接退出远程连接,未做界面渲染保活操作,导致最终的机器人运行失败。
本发明在该案例上的应用,彻底解决了实施工程师对这种场景下运维难的问题。实施工程师只需要当流程开发完成,部署在该服务器上后,通过RPA机器人提供的配置界面做简单的可视化配置,机器人即会自动去执行无人值守一整套的检测和保活,保证流程运行的稳定性。具体使用方法如下:
1.进入RPA机器人的“通用设置”页面,在该页面下,打开“桌面保持”开关。
2.选择“接入方式”,接入方式分为“普通接入”和“堡垒机接入”,分别对应支持RDP连接和不支持RDP连接;如何选择,取决于该服务器是否支持通过RDP的方式开放远程连接。
3.当选择了“普通接入”时,如图5所示,需要配置本机账户名(自动读取)、本机电脑密码、电脑分辨率/缩放比、远程连接端口号、断连拉起延迟时间等。为了使用方便,还提供了账户校验、获取当前本机分辨率缩放比等功能。
4.如果选择了“堡垒机接入”时,如图6所示,只需要配置本机分辨率和缩放即可。
5.当完成上述配置后,机器人开启环境检测,检测会话状态,检测当前主机界面是否处于渲染状态,当检测到界面不可用时,按照上述的配置选择进行启动RDP连接或切换会话来保持界面渲染,并按设定的分辨率和缩放比来设置本机。
6.机器人定时启动,正常执行业务流程。
应用上述配置后,远程计算机上的状态变化及最终保证流程正常执行的业务流程图,如图7所示,具体过程如下:
1.用户A通过自己的办公电脑远程连接到远程计算机上,此时远程计算机和用户办公电脑建立了远程连接,会话建立,远程计算机的界面处于渲染状态,用户此时启动了已经安装在远程计算机上的RPA机器人,并下发流程到机器人,设定定时凌晨3点启动任务。设定完成后,用户A退出了远程连接。
2.远程连接断开后,远程计算机过了一段时间后,操作系统检测到此时已经没有活动的会话连接,不再需要继续渲染界面,即停止了界面渲染。如果此时直接运行任务,会导致失败。因为界面渲染已停止,界面相关的组件都处于无法正常使用状态。
3.由于RPA机器人集成了本发明的无人值守方案,在机器人开启时,就开启了定时环境检测,当用户断开远程连接一段时间后,RPA机器人检测到界面已停止渲染,并持续检测会话状态,待会话状态稳定的处于断开状态时,通过判断是否支持RDP连接,通过Windows系统函数判断计算机支持RDP连接后,RPA机器人根据用户配置的指定分辨率去启用RDP连接,建立本机自连接,到此为止,远程计算机进入了RDP值守模式,此时环境具备了让RPA正常执行流程的所有条件。
4.由于远程计算机尤其是服务器一般都是多用户公用,不能保证只有一个用户会去做登录。用户B此时也用远程连接的方式登录了这台远程计算机,此时的会话从自连接的RDP方式切换到了和用户B的会话连接,用户B在该计算机上处理完业务后,同样断开了远程连接,此时的远程计算机状态已经由稳定的无人值守状态又变成步骤2的状态。RPA机器人在定时环境检测中能很快识别到这种变化,并开启新一轮步骤3的动作。
完成上述的界面配置,在机器人进入无人值守状态后,期间不管多少用户通过何种方式来连接使用该服务器,也不用管用户是哪种方式断开的远程连接,都能够保证在流程真正执行前,主机的环境是稳定可用的,因为本发明的方案能实时监测本机的会话状态,最终保证运行流程时所需的环境可用,该方案在RPA机器人上的集成大大降低了维护的难度和成本,提高了机器人运行的稳定性。
本发明提出一套在远程计算机上正常执行RPA流程的方法,结合会话检测、界面可用性检测、远程RDP连接、会话切换、分辨率适配等技术,将各种场景下需要注意的点通过高度集成的方式以简单的界面配置为入口结合到一起,使用户无需对会话、界面渲染等知识有深入了解,即可完成远程计算机上RPA机器人的部署,真正做到远程计算机部署和在本地主机部署一样的操作体验。
本发明的创新点如下:
1.本发明创新性的结合界面可用性检测+RDP自连连接+Windows会话切换技术,解决在本机与远程计算机断开,界面渲染停止后导致RPA流程无法运行的问题;
2.本发明判断是否需要开启无人值守状态,是通过结合会话状态监测、界面可用性结合的方式,更好更准确的判断主机当前的状态,便于在环境发生变化的第一时间能够感应到这种变化,并对本机执行环境及时做出调整,提高远端主机执行RPA流程时的稳定性;
3.考虑到影响远程执行RPA流程的因素众多,本发明基本上涵盖了远程计算机执行流程时需要关注的所有信息,并对这些信息的变化做监测和日志记录,方便流程异常时,可以用来对运行过程做审计;
4.针对用户登录登出远程计算机时可能对远程计算机的分辨率带来的更改最终导致机器人运行时对分辨率敏感的操作,如CV操作,录屏操作等发生异常的难题,结合工程实施经验,创新性的提出在进行无人值守时,将分辨率设置引入了方案中,保证了机器人运行流程时的分辨率是可知可控的,保证了流程开发阶段和运行阶段的屏幕分辨率的一致,提高了流程稳定性。
以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。
Claims (2)
1.用于远程计算机上的RPA流程无人值守方法,其特征在于,包括如下步骤;
S1,启动RPA机器人,通过设置系统函数阻止远程计算机进入休眠状态,并在RPA机器人开始执行RPA流程前,进行运行环境检测;所述运行环境检测包括分辨率检测、会话检测、系统时钟检测、界面可用性检测、用户设置检测和电源模式检测;
S2,完成运行环境检测后,当RPA机器人识别到远程计算机的会话已退出或者界面已经停止渲染,则RPA机器人立刻启用无人值守,使远程桌面处于活跃状态,用于保证远程计算机上的RPA 流程正常运行;
所述分辨率检测包括如下过程:
在运行RPA流程之前对运行环境进行检测,若设计RPA流程时的分辨率与检测到的运行环境的分辨率不一致,则将运行环境的分辨率设置成设计所述RPA流程时所用的分辨率,用于保证RPA流程稳定运行;
所述会话检测包括会话注销检测和会话切换检测,用于防止会话在未经授权的情况下被注销或切换;
所述系统时钟检测指检测RPA机器人运行期间,远程计算机的操作系统的时间是否被修改;若时间被修改,则将时间恢复成被修改前的时间;
所述界面可用性检测包括如下过程:
当RPA机器人启动后,定时抓取远程计算机系统桌面的句柄,并通过采样获取桌面图片的像素信息;根据获取的桌面图片的像素信息,计算桌面图片的RGB的和值是否为0,用于判断界面是否保持渲染;若计算出的桌面图片的RGB的和值为0,表示会话已经退出,则RPA机器人在当前用户授权下,重启会话并继续保持界面渲染状态;
所述用户设置检测,用于当检测到用户更改远程计算机的系统配置设置时,触发分辨率检测、会话检测、系统时钟检测和界面可用性检测;
所述电源模式检测,用于检测远程计算机的断电重启行为并进行记录;
步骤S2包括如下步骤;
S21,当需要启用无人值守时,开启时间窗口防抖操作;所述时间窗口防抖操作指在设定时间内,保持检测系统会话状态,当系统会话状态稳定后,再开启无人值守功能;
S22,RPA机器人判断当前远程计算机最适用的无人值守方式,具体过程如下:
先检测当前远程计算机是否支持RDP连接,若支持,则通过计算机自连的方式建立远程连接,执行RDP值守,继续保持界面渲染;所述RDP是计算机系统自带的远程连接功能;
若RPA机器人判断出当前远程计算机不支持RDP连接,则主动选用切换会话的方式,执行会话切换值守并设置系统分辨率。
2.用于远程计算机上的RPA流程无人值守系统,用于实现权利要求1所述的用于远程计算机上的RPA流程无人值守方法,其特征在于,所述用于远程计算机上的RPA流程无人值守系统包括;
运行环境检测模块,用于在RPA机器人开始执行RPA流程前,进行运行环境检测;所述运行环境检测包括分辨率检测、会话检测、系统时钟检测、界面可用性检测、用户设置检测和电源模式检测;
执行环境初始化模块,用于在完成运行环境检测后,当RPA机器人识别到远程计算机的会话已退出或者界面已经停止渲染,则RPA机器人立刻启用无人值守,使远程桌面处于活跃状态,保证远程计算机上的RPA 流程正常运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311332510.4A CN117076036B (zh) | 2023-10-16 | 2023-10-16 | 用于远程计算机上的rpa流程无人值守方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311332510.4A CN117076036B (zh) | 2023-10-16 | 2023-10-16 | 用于远程计算机上的rpa流程无人值守方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117076036A CN117076036A (zh) | 2023-11-17 |
CN117076036B true CN117076036B (zh) | 2024-02-13 |
Family
ID=88717610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311332510.4A Active CN117076036B (zh) | 2023-10-16 | 2023-10-16 | 用于远程计算机上的rpa流程无人值守方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117076036B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113334371A (zh) * | 2020-02-18 | 2021-09-03 | 尤帕斯公司 | 用于机器人流程自动化的自动化窗口 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11233861B2 (en) * | 2020-02-18 | 2022-01-25 | UiPath, Inc. | Inter-session automation for robotic process automation (RPA) robots |
US20230236851A1 (en) * | 2022-01-21 | 2023-07-27 | UiPath, Inc. | Multi-session automation windows for robotic process automation using same credentials |
-
2023
- 2023-10-16 CN CN202311332510.4A patent/CN117076036B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113334371A (zh) * | 2020-02-18 | 2021-09-03 | 尤帕斯公司 | 用于机器人流程自动化的自动化窗口 |
CN115243839A (zh) * | 2020-02-18 | 2022-10-25 | 尤帕斯公司 | 用于机器人流程自动化的自动化窗口 |
Non-Patent Citations (2)
Title |
---|
Apply RPA (Robotic Process Automation) in Semiconductor Smart Manufacturing;Ssu Chieh Lin等;《 IEEE Xplore》;全文 * |
RPA技术在银行业应用的创新实践;徐小锋;王旺;吴子兵;;中国银行业(12);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117076036A (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109495308B (zh) | 一种基于管理信息系统的自动化运维系统 | |
JP7209034B2 (ja) | エッジコンピューティングテスト方法、装置、機器及び読み取り可能な記憶媒体 | |
US8510720B2 (en) | System landscape trace | |
US20150052402A1 (en) | Cloud Deployment Infrastructure Validation Engine | |
US20140330783A1 (en) | Method and System for Stateful Recovery and Self-Healing | |
US20220334903A1 (en) | Method and system for real-time identification of root cause of a fault in a globally distributed virtual desktop fabric | |
CN101540687A (zh) | 远程唤醒方法、可被远程唤醒的主机以及唤醒管理服务器 | |
US7469278B2 (en) | Validation of portable computer type prior to configuration of a local run-time environment | |
CN112416345B (zh) | 一种通用客户端软件集成系统 | |
CN113127009A (zh) | 大数据管理平台的自动化部署方法和装置 | |
CN117076036B (zh) | 用于远程计算机上的rpa流程无人值守方法及系统 | |
CN110826729A (zh) | 一种多终端自动化运维管理平台及运维方法 | |
CN109445922A (zh) | 任务处理方法及装置、电子设备及存储介质 | |
CN100458695C (zh) | 自动化完全远程控制方法 | |
CN111245917A (zh) | 一种基于katalon的工单录入装置及其实现方法 | |
WO2023050110A1 (zh) | 面向云主机和云堡垒机实现含容错机制的自动改密的方法 | |
CN115016960A (zh) | 可配置的rpa机器人全流程信息通知处理方法及系统 | |
CN110134558B (zh) | 一种服务器的检测方法和装置 | |
CN107018032A (zh) | 一种服务器监控系统及方法 | |
CN113204459A (zh) | U盾测试方法、装置、设备和介质 | |
Hoffman | Monitoring, at Your Service: Automated monitoring can increase the reliability and scalability of today’s online software services. | |
CN115827009B (zh) | 一种基于自动化脚本部署Ambari的方法及系统 | |
KR102637540B1 (ko) | 표준화 스택과 자율형 오퍼레이터 기반 클라우드 컴퓨팅 환경 구성 및 운영 자동화 시스템 | |
CN113204460A (zh) | U盾测试方法、装置、设备和介质 | |
CN115113593A (zh) | 一种基于scada的工业设备远程控制系统及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |