CN112230972A - 跨软件域rpa系统 - Google Patents
跨软件域rpa系统 Download PDFInfo
- Publication number
- CN112230972A CN112230972A CN202011254287.2A CN202011254287A CN112230972A CN 112230972 A CN112230972 A CN 112230972A CN 202011254287 A CN202011254287 A CN 202011254287A CN 112230972 A CN112230972 A CN 112230972A
- Authority
- CN
- China
- Prior art keywords
- rpa
- software
- script
- server
- component
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种跨软件域RPA系统,包括:RPA服务器和n个RPA客户端,n个RPA客户端使用L个软件,任意一个RPA客户端均安装有L个软件中的1个或多个;RPA服务器包括与L个软件对应的L个配置文件和K个RPA脚本,K个RPA脚本与L个配置文件之间是多对对映射关系,n个RPA客户端与K个RPA脚本之间是多对多映射关系;其中,当L个软件中的任意一个软件更新时,RPA服务器根据更新后的软件的版本更新对应的配置文件以及对应的RPA脚本,并将更新后的RPA脚本发送给对应的RPA客户端。本发明能够自动的根据软件的变化而对对应的配置文件和RPA脚本进行更新,不会影响用户的使用。
Description
技术领域
本发明涉及RPA技术领域,具体涉及一种跨软件域RPA系统。
背景技术
电力系统中,很多软件的流程操作具有链条长、重复性高的特点,为节约用户的操作时间,弱化用户对流程操作的记忆要求,引入了RPA(Robotic Process Automation:机器人流程自动化)。RPA可以认为是一种实现用户流程化操作的脚本软件程序,能够代替或者协助人类在计算机、RPA手机等数字化设备中完成重复性工作与任务。
RPA的关键在于软件组件操作的识别,识别有两种方式,一是直接识别硬件的位置,例如鼠标点击屏幕的坐标位置,屏幕的坐标位置呈现为软件组件;二是获得操作的软件组件的组件ID和操作事件,组件ID例如句柄(handle),操作事件例如鼠标点击该组件。
然而,当被RPA自动操作的软件出现变化时,例如版本更新,更新后的软件组件可能具有不同的屏幕坐标位置,或者不同的组件ID,从而导致RPA脚本无法正常使用,或者需要重新调试和开发。尤其是在电力系统中,所使用的软件较多,包括多个自主研发的软件系统和多个通用软件系统的跨软件域操作,版本更新所带来的RPA问题更加突出。
发明内容
针对上述技术问题,本发明实施例提供一种跨软件域RPA系统,能够在被RPA自动操作的软件出现变化时,仍能至少执行部分功能。
本发明采用的技术方案为:
本发明实施例提供一种跨软件域RPA系统,包括:RPA服务器和n个RPA客户端,所述n个RPA客户端使用L个软件发布服务器发布的L个软件,任意一个RPA客户端均安装有L个软件中的1个或多个;所述RPA服务器包括与所述L个软件对应的L个配置文件和K个RPA脚本,所述配置文件包括软件版本号和RPA脚本使用的软件组件ID列表,所述K个RPA脚本与所述L个配置文件之间是多对对映射关系,所述n个RPA客户端与所述K个RPA脚本之间是多对多映射关系;其中,所述软件发布服务器发布的L个软件设置在云端,当L个软件中的任意一个软件i更新时,所述RPA服务器根据更新后的软件i的版本更新对应的配置文件i以及对应的RPA脚本,并将更新后的RPA脚本发送给对应的RPA客户端;1≤i≤L。
可选地,所述RPA服务器根据更新后的软件i的版本更新对应的配置文件i以及对应的RPA脚本,并将更新后的RPA脚本发送给对应的RPA客户端,包括:
S100,RPA服务器轮询L个软件发布服务器,如果软件发布服务器i中的软件版本与配置文件i中的软件版本不一致,则执行S110;如果一致,则不操作;
S110,RPA服务器获取配置文件i中的组件ID列表IDi,并将组件ID列表IDi发送给软件发布服务器i;
S120,软件发布服务器i判断组件ID列表IDi是否更新,如果更新,则向RPA服务器回传更新后的组件ID列表IDi;如果没有更新,则回传“未更新”标志;
S130,RPA服务器使用更新后的组件ID列表IDi更新配置文件i;
S140,RPA服务器使用更新后的配置文件i更新与配置文件i关联的RPA脚本;
S150,RPA服务器将更新后的RPA脚本发送给与对应脚本关联的RPA客户端。
可选地,在S140中,RPA服务器同时删除与配置文件i关联的旧版本的RPA脚本。
可选地,在S120中,在软件发布服务器i判断组件ID列表IDi更新时,按照如下步骤更新组件ID列表IDi:
S121,软件发布服务器i遍历组件ID列表IDi,如果检索到组件ID列表IDi中的组件ID-IDij没有更新,则不操作;如果检索到组件ID列表IDi中的IDij有更新,则将更新后的IDij替换组件ID列表IDi列表中的IDij,j的取值为1...m,m为组件ID列表IDi的组件ID个数。
可选地,还包括:在S121中,如果软件发布服务器i没有检索到IDij,那么执行步骤S122;
S122,软件发布服务器i将删除标志附加到组件ID列表IDi的IDij上,作为组件ID列表IDi的更新。
可选地,S140进一步包括:
S141,RPA服务器遍历更新后的配置文件i,如果检索到IDij包括删除标志,则解析获得IDij;
S142,获取并遍历与配置文件i关联的RPA脚本;
S143,在每个RPA脚本中检索“IDij”,并获取IDij的数量MID;
S144,如果MID大于预设阈值,则对该RPA脚本进行预警;S145,如果MID小于或等于预设阈值,则获取IDij所在的RPA脚本的MID个命令行,并根据MID个命令行将该RPA脚本进行分割,分割后的该RPA脚本不包括所述MID个命令行。
可选地,所述预设阈值为1~3。
可选地,在S145中,分割得到的每个子脚本的文件名按照先后顺序依次为该RPA脚本的文件名尾部增加1到T,T为子脚本的数目。
本发明实施例提供的跨软件域RPA系统,当被RPA自动操作的软件出现变化时,能够自动的根据软件的变化而对对应的配置文件和RPA脚本进行更新,不会影响用户的使用,能够节约由于软件变化而需要重新调试何况开发所导致的成本,经济实用性强。
附图说明
图1为本发明实施例提供的跨软件域RPA系统的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的跨软件域RPA系统的结构示意图。如图1所示,本发明实施例提供的跨软件域RPA系统,包括:RPA服务器和n个RPA客户端X1,X2,…Xn。所述n个RPA客户端使用L个软件发布服务器发布的L个软件任意一个RPA客户端均安装有L个软件中的1个或多个即任意用户Xi均使用L个软件的子集。所述RPA服务器包括与所述L个软件对应的L个配置文件和K个RPA脚本,所述配置文件包括软件版本号和RPA脚本使用的软件组件ID列表,例如第i个配置文件中的组件ID列表为{IDi1,IDi2,……,IDim},1≤i≤L,m为组件ID列表IDi的组件ID个数。所述K个RPA脚本与所述L个配置文件之间是多对对映射关系,例如,脚本2对应配置文件1和2,即脚本2涉及到用户操作软件1和2的流程。所述n个RPA客户端与所述K个RPA脚本之间是多对多映射关系,例如,客户端Xi同时使用脚本1~脚本K。
在一个实施例中,所述软件发布服务器发布的L个软件可设置在云端,即RPA客户端上的软件版本是及时更新的。当L个软件中的任意一个软件i更新时,所述RPA服务器根据更新后的软件i的版本更新对应的配置文件i以及对应的RPA脚本,例如,当软件1更新时,配置文件1更新,脚本2更新,并将更新后的RPA脚本发送给对应的RPA客户端,例如,当脚本2更新时,RPA服务器将脚本2发送给客户端Xi。
本发明实施例提供的跨软件域RPA系统,由于当被RPA自动操作的软件出现更新时,能够自动的根据软件的更新化而对对应的配置文件和RPA脚本进行更新,从而不会影响用户的使用。
进一步地,在本发明实施例中,所述RPA服务器根据更新后的软件i的版本更新对应的配置文件i以及对应的RPA脚本,并将更新后的RPA脚本发送给对应的RPA客户端,可包括:
S100,RPA服务器轮询L个软件发布服务器,如果软件发布服务器i中的软件版本与配置文件i中的软件版本不一致,则执行S110;如果一致,则不操作;
S110,RPA服务器获取配置文件i中的组件ID列表IDi={IDi1,IDi2,……,IDim},并将组件ID列表IDi发送给软件发布服务器i。
S120,软件发布服务器i判断组件ID列表IDi是否更新,如果更新,则向RPA服务器回传更新后的组件ID列表IDi;如果没有更新,则回传“未更新”标志。
S130,RPA服务器使用更新后的组件ID列表IDi更新配置文件i;
S140,RPA服务器使用更新后的配置文件i更新与配置文件i关联的RPA脚本。
S150,RPA服务器将更新后的RPA脚本发送给与对应脚本关联的RPA客户端。
进一步地,在S140中,RPA服务器同时删除与配置文件i关联的旧版本的RPA脚本。
进一步地,在S120中,在软件发布服务器i判断组件ID列表IDi更新时,按照如下步骤更新组件ID列表IDi:
S121,软件发布服务器i遍历组件ID列表IDi,如果检索到组件ID列表IDi中的组件ID-IDij没有更新,则不操作;如果检索到组件ID列表IDi中的IDij有更新,则将更新后的IDij替换组件ID列表IDi列表中的IDij,j的取值为1...m。
在软件发布服务器i中,在发布新版本的时候,会有新版本的配置描述文件,该描述文件例如为文本格式csv或表格格式xls,配置描述文件中会记录组件ID的更新情况,例如上一版本的ID列表,以及更新后对应的新版本ID列表。这样软件发布服务器i在配置描述文件中使用IDij进行检索,能够检索上一版本的IDij是否有更新。
在S121中,软件发布服务器i遍历RPA服务器发送的组件ID列表IDi,如果在配置描述文件中检索到组件ID列表IDi中的组件ID-IDij没有更新,则不对RPA服务器发送的组件ID列表IDi进行操作;如果在配置描述文件中检索到组件ID列表IDi中的IDij有更新,则将更新后的IDij替换RPA服务器发送的组件ID列表IDi列表中的IDij,以更新RPA服务器发送的组件ID列表。
进一步地,还包括:在S121中,如果软件发布服务器i在配置描述文件中没有检索到IDij,表示IDij被删除了,那么执行步骤S122;
S122,软件发布服务器i将删除标志附加到组件ID列表IDi的IDij上,以替换组件ID列表IDi中的IDij,作为组件ID列表IDi的更新。例如,软件发布服务器i将RPA服务器发送的组件ID列表IDi中的IDij替换为IDij=erNil,以更新RPA服务器发送的组件ID列表IDi。
进一步地,在本发明一个实施例中,S140可进一步包括:
S141,RPA服务器遍历更新后的配置文件i,如果检索到IDij包括删除标志,例如IDij=erNil,则解析获得IDij。
S142,获取并遍历与配置文件i关联的RPA脚本;与配置文件i关联的RPA脚本可能有1个,可以能是多个,多数情况下会是多个。
S143,在每个RPA脚本中检索“IDij”,并获取IDij的数量MID。
S144,如果MID大于预设阈值,则对该RPA脚本进行预警,例如,将该RPA脚本的文件名发送到固定的邮箱(EMAIL)。
在S144中,如果MID大于预设阈值,说明RPA脚本中大量使用了该组件,所以该组件的删除意味着RPA脚本基本无法正常使用,因此需要告知固定EMAIL,例如管理员邮箱,启动人工处理。在本发明实施例中,所述预设阈值,例如,可为1~3,优选为1。
S145,如果MID小于或等于预设阈值,则获取IDij所在的RPA脚本的MID个命令行,并根据MID个命令行将该RPA脚本进行分割,分割后的该RPA脚本不包括所述MID个命令行,即MID个命令行从对应的RPA脚本中删除。
在S145中,优选的,分割得到的每个子脚本的文件名可按照先后顺序依次为该RPA脚本的文件名尾部增加1到T,T为子脚本的数目。
进一步地,在本发明实施例中,在S145中,可按照如下方式对RPA脚本进行分割:
方式1:
如果MID=1,且该1个命令行位于该RPA脚本的首行或者末行,则将该命令行之后或者之前的命令行作为1个子脚本,即将对应的RPA脚本分割为1个子脚本。分割得到的子脚本的文件名为该RPA脚本的文件名尾部增加1。
方式2:
如果MID=1,且该1个命令行位于该RPA脚本的中间,则将该命令行之前的命令行作为第1子脚本,将该命令行之后的命令行作为第2子脚本,即将对应的RPA脚本分割为2个子脚本。分割得到的子脚本的文件名分别为该RPA脚本的文件名尾部增加1和2。
方式3:
如果MID>1,且该MID个命令行的第一个命令行位于该RPA脚本的首行并且MID个命令行的最后一个命令行位于该RPA脚本的末行,则将MID个命令行中任何两个命令行之间的命令行(如果存在命令行)作为一个子脚本。分割得到的每个子脚本的文件名按照先后顺序依次为该RPA脚本的文件名尾部增加1到T,T为子脚本的数目。
方式4:
如果MID>1,且该MID个命令行的第一个命令行位于该RPA脚本的首行或者MID个命令行的最后一个命令行位于该RPA脚本的末行,则将MID个命令行中的最后一个命令行之后的命令行作为一个子脚本,任何两个命令行之间的命令行(如果存在命令行)作为一个子脚本,或者,将MID个命令行中的第一个命令行之前的命令行作为一个子脚本,任何两个命令行之间的命令行(如果存在命令行)作为一个子脚本。分割得到的每个子脚本的文件名按照先后顺序依次为该RPA脚本的文件名尾部增加1到T,T为子脚本的数目。
方式5:
如果MID>1,且该MID个命令行的第一个命令行和最后一个命令行均位于该RPA脚本的中间,则将MID个命令行中的第一个命令行之前的命令行作为一个子脚本,将MID个命令行中的最后一个命令行之后的命令行作为一个子脚本,任何两个命令行之间的命令行(如果存在命令行)作为一个子脚本,或者,任何两个命令行之间的命令行(如果存在命令行)作为一个子脚本,这样,将对应的RPA脚本分割为MID+1个子脚本。分割得到的每个子脚本的文件名可按照先后顺序依次为该RPA脚本的文件名尾部增加1到MID。
进一步地,在本发明另一实施例中,在IDij分布较集中的情况下,上述S144和S145可被替换为以下步骤:
S146,如果MID=1,那么获取IDij所在的RPA脚本的命令行,并根据该命令行将该脚本分割为2个RPA子脚本。该命令行之前的为第1子脚本,该命令行之后的为第2子脚本。子脚本命名方式同S145。
S147,如果MID>1,那么获取IDij所在的RPA脚本的MID个命令行的命令行行号列表CL=(CL1,CL2,......,CLMID),其中CL1<CL2<......CLMID。
S148,对命令行行号列表CL进行遍历处理,如果CLi+1-CLi<预设阈值(例如2,说明包括IDij的两个命令行很近),那么在CL中删除CLi。完全遍历后,即i=MID-1时,形成删除后的命令行行号列表DCL=(DL1,DL2,......,DLNID),显然DCL是CL的子集,NID为DCL中命令行行号的个数。
S149A,如果NID大于预设阈值(例如,预设阈值为1到3,优选为1),则对该RPA脚本进行预警,例如,将该RPA脚本的文件名发送到固定的邮箱(EMAIL)。
在S149A中,如果NID大于预设阈值,说明RPA脚本中大量且离散的使用了该组件,所以该组件的删除意味着RPA脚本基本无法正常使用,因此需要告知固定EMAIL,例如管理员邮箱,启动人工处理。
S149B,如果NID小于或等于预设阈值,那么,根据DCL将对应的RPA脚本进行分割。优选的,分割得到的每个子脚本的文件名为原脚本的文件名尾部增加1到T。
在S149B中,如果DL1和DLNID分别不是RPA脚本的首行和末行,则将对应的脚本分割为NID+1个RPA子脚本。具体的,DL1之前的命令行是一个子脚本,DLNID之后的命令行是一个子脚本,任何两个DLi和DLi+1之间的命令行是一个子脚本。如果DL1是RPA脚本的首行或者DLNID是RPA脚本的末行。则DCL中的任何两个行号之间的命令行为一个子脚本。
S149C,对于每个子脚本,删除IDij所在的第一个命令行和最后一个命令行之间的所有命令行。
进一步地,在本发明另一实施例中,其中,所述软件发布服务器发布的L个软件设置在RPA客户端,即RPA客户端可以使用旧版本。当n个RPA客户端中的任意一个RPA客户端Xi更新L个软件中的软件j后,RPA客户端Xi会获取软件j在其上对应的脚本ID列表JIDa={jIDa1,jIDa2,……},并将软件j的版本号Vj1和对应的脚本ID列表JIDa发送给所述RPA服务器;所述RPA服务器根据接收到的软件j的版本更新对应的配置文件以及对应的RPA脚本,并将更新后的RPA脚本发送给所述RPA客户端Xi;1≤i≤n,1≤j≤L。
进一步地,所述RPA服务器根据接收到的软件j的版本更新对应的配置文件以及对应的RPA脚本,并将更新后的RPA脚本发送给所述RPA客户端Xi,可具体包括:
S200,RPA服务器根据接收到的软件j的版本Vj1和RPA服务器中当前对应软件j的最高版本Vj2进行判断,如果Vj1低于或等于Vj2,则执行S240;否则,执行S210。
S210,RPA服务器获取软件j的组件ID列表IDj={IDj1,IDj2,……,IDjm},并将获取的组件ID列表IDj发送给对应的软件发布服务器j。S220,所述软件发布服务器j判断组件ID列表IDj是否更新,如果更新,则向RPA服务器回传更新后的组件ID列表IDj;如果没有更新,则回传“未更新”标志。
S230,RPA服务器使用更新后的组件ID列表IDj更新对应的配置文件j,以及使用更新后的配置文件j更新与配置文件j关联的RPA脚本,即为Vj1版本对应的所有RPA脚本。
在S230中,所述RPA服务器必须保留所述更新软件的旧版本的RPA脚本。
S240,RPA服务器将对应于软件j的版本Vj1的脚本ID列表JIDa发送给所述RPA客户端Xi。
需要说明的是,任意客户端Xi也可更新L个软件中的多个软件,而不仅限于1个,更新多个软件的处理方式与上述S200~S240的处理方式相同。
进一步地,在S220中,在软件发布服务器j判断组件ID列表IDj更新时,按照如下步骤更新组件ID列表IDj:
S221,软件发布服务器j遍历组件ID列表IDj,如果检索到组件ID列表IDj中的组件ID-IDjk没有更新,则不操作;如果检索到组件ID列表IDj中的IDjk有更新,则将更新后的IDjk替换组件ID列表IDjk列表中的IDjk,1≤k≤m。
在软件发布服务器j中,在发布新版本的时候,会有新版本的配置描述文件,该描述文件例如为文本格式csv或表格格式xls,配置描述文件中会记录组件ID的更新情况,例如上一版本的ID列表,以及更新后对应的新版本ID列表。这样软件发布服务器j在配置描述文件中使用IDjk进行检索,能够检索上一版本的IDjk是否有更新。
在S221中,软件发布服务器j遍历RPA服务器发送的组件ID列表IDj,如果在配置描述文件中检索到组件ID列表IDj中的组件ID-IDjk没有更新,则不对RPA服务器发送的组件ID列表IDj进行操作;如果在配置描述文件中检索到组件ID列表IDj中的IDjk有更新,则将更新后的IDjk替换RPA服务器发送的组件ID列表的IDjk,以更新RPA服务器发送的组件ID列表。
进一步地,还包括:在S221中,如果软件发布服务器j在配置描述文件中没有检索到IDjk,则表示IDjk被删除了,那么执行步骤S222。
S222,软件发布服务器j将删除标志附加到组件ID列表IDj的IDjk上,以替换组件ID列表IDj中的IDjk,作为组件ID列表IDj的更新。例如,软件发布服务器j将RPA服务器发送的组件ID列表IDj中的IDjk替换为IDjk=erNil,以更新RPA服务器发送的组件ID列表。
进一步地,在本发明一个实施例中,S230中的使用更新后的配置文件j更新与配置文件j关联的RPA脚本,可进一步包括:
S231,RPA服务器遍历更新后的配置文件j,如果检索到IDjk包括删除标志,例如IDjk=erNil,则解析获得IDjk。
S232,获取并遍历与配置文件j关联的RPA脚本;与配置文件j关联的RPA脚本可能有1个,可以能是多个,多数情况下会是多个。
S233,在每个RPA脚本中检索“IDjk”,并获取IDjk的数量MID。
S234,如果MID大于预设阈值,则对该RPA脚本进行预警,例如,将该RPA脚本的文件名发送到固定的邮箱(EMAIL)。
在S234中,如果MID大于预设阈值,说明RPA脚本中大量使用了该组件,所以该组件的删除意味着RPA脚本基本无法正常使用,因此需要告知固定EMAIL,例如管理员邮箱,启动人工处理。在本发明实施例中,所述预设阈值,例如,可为1~3,优选为1。
S235,如果MID小于或等于预设阈值,则获取IDjk所在的RPA脚本的MID个命令行,并根据MID个命令行将该RPA脚本进行分割,分割后的该RPA脚本不包括所述MID个命令行,即MID个命令行从对应的RPA脚本中删除。
在S235中,优选的,分割得到的每个子脚本的文件名可按照先后顺序依次为该RPA脚本的文件名尾部增加1到T,T为子脚本的数目。
进一步地,在本发明实施例中,在S235中,可按照如下方式对RPA脚本进行分割:
第一方式:
如果MID=1,且该1个命令行位于该RPA脚本的首行或者末行,则将该命令行之后或者之前的命令行作为1个子脚本,即将对应的RPA脚本分割为1个子脚本。分割得到的子脚本的文件名为该RPA脚本的文件名尾部增加1。
第二方式:
如果MID=1,且该1个命令行位于该RPA脚本的中间,则将该命令行之前的命令行作为第1子脚本,将该命令行之后的命令行作为第2子脚本,即将对应的RPA脚本分割为2个子脚本。分割得到的子脚本的文件名分别为该RPA脚本的文件名尾部增加1和2。
第三方式:
如果MID>1,且该MID个命令行的第一个命令行位于该RPA脚本的首行并且MID个命令行的最后一个命令行位于该RPA脚本的末行,则将MID个命令行中任何两个命令行之间的命令行(如果存在命令行)作为一个子脚本。分割得到的每个子脚本的文件名按照先后顺序依次为该RPA脚本的文件名尾部增加1到T,T为子脚本的数目。
第四方式:
如果MID>1,且该MID个命令行的第一个命令行位于该RPA脚本的首行或者MID个命令行的最后一个命令行位于该RPA脚本的末行,则将MID个命令行中的最后一个命令行之后的命令行作为一个子脚本,任何两个命令行之间的命令行(如果存在命令行)作为一个子脚本,或者,将MID个命令行中的第一个命令行之前的命令行作为一个子脚本,任何两个命令行之间的命令行(如果存在命令行)作为一个子脚本。分割得到的每个子脚本的文件名按照先后顺序依次为该RPA脚本的文件名尾部增加1到T,T为子脚本的数目。
第五方式:
如果MID>1,且该MID个命令行的第一个命令行和最后一个命令行均位于该RPA脚本的中间,则将MID个命令行中的第一个命令行之前的命令行作为一个子脚本,将MID个命令行中的最后一个命令行之后的命令行作为一个子脚本,任何两个命令行之间的命令行(如果存在命令行)作为一个子脚本,或者,任何两个命令行之间的命令行(如果存在命令行)作为一个子脚本,这样,将对应的RPA脚本分割为MID+1个子脚本。分割得到的每个子脚本的文件名可按照先后顺序依次为该RPA脚本的文件名尾部增加1到MID。
进一步地,在本发明另一实施例中,在IDjk分布较集中的情况下,上述S234和S235可被替换为以下步骤:
S236,如果MID=1,那么获取IDij所在的RPA脚本的命令行,并根据该命令行将该脚本分割为2个RPA子脚本。该命令行之前的为第1子脚本,该命令行之后的为第2子脚本。子脚本命名方式同S145。
S237,如果MID>1,那么获取IDjk所在的RPA脚本的MID个命令行的命令行行号列表CL=(CL1,CL2,......,CLMID),其中CL1<CL2<......CLMID。
S238,对命令行行号列表CL进行遍历处理,如果CLi+1-CLi<预设阈值(例如2,说明包括IDjk的两个命令行很近),那么在CL中删除CLi。完全遍历后,即i=MID-1时,形成删除后的命令行行号列表DCL=(DL1,DL2,......,DLNID),显然DCL是CL的子集,NID为DCL中命令行行号的个数。
S239A,如果NID大于预设阈值(例如,预设阈值为1到3,优选为1),则对该RPA脚本进行预警,例如,将该RPA脚本的文件名发送到固定的邮箱(EMAIL)。
在S239A中,如果NID大于预设阈值,说明RPA脚本中大量且离散的使用了该组件,所以该组件的删除意味着RPA脚本基本无法正常使用,因此需要告知固定EMAIL,例如管理员邮箱,启动人工处理。
S239B,如果NID小于或等于预设阈值,那么,根据DCL将对应的RPA脚本进行分割。优选的,分割得到的每个子脚本的文件名为原脚本的文件名尾部增加1到T。
在S239B中,如果DL1和DLNID分别不是RPA脚本的首行和末行,则将对应的脚本分割为NID+1个RPA子脚本。具体的,DL1之前的命令行是一个子脚本,DLNID之后的命令行是一个子脚本,任何两个DLi和DLi+1之间的命令行是一个子脚本。如果DL1是RPA脚本的首行或者DLNID是RPA脚本的末行。则DCL中的任何两个行号之间的命令行为一个子脚本。
S239C,对于每个子脚本,删除IDij所在的第一个命令行和最后一个命令行之间的所有命令行。
综上,本发明实施例提供的跨软件域RPA系统,当被RPA自动操作的软件出现变化时,能够自动的根据软件的变化而对对应的配置文件和RPA脚本进行更新,不会影响用户的使用,能够节约由于软件变化而需要重新调试何况开发所导致的成本,经济实用性强。
以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种跨软件域RPA系统,其特征在于,包括:RPA服务器和n个RPA客户端,所述n个RPA客户端使用L个软件发布服务器发布的L个软件,任意一个RPA客户端均安装有L个软件中的1个或多个;所述RPA服务器包括与所述L个软件对应的L个配置文件和K个RPA脚本,所述配置文件包括软件版本号和RPA脚本使用的软件组件ID列表,所述K个RPA脚本与所述L个配置文件之间是多对对映射关系,所述n个RPA客户端与所述K个RPA脚本之间是多对多映射关系;
其中,所述软件发布服务器发布的L个软件设置在云端,当L个软件中的任意一个软件i更新时,所述RPA服务器根据更新后的软件i的版本更新对应的配置文件i以及对应的RPA脚本,并将更新后的RPA脚本发送给对应的RPA客户端;1≤i≤L。
2.根据权利要求1所述的跨软件域RPA系统,其特征在于,所述RPA服务器根据更新后的软件i的版本更新对应的配置文件i以及对应的RPA脚本,并将更新后的RPA脚本发送给对应的RPA客户端,包括:
S100,RPA服务器轮询L个软件发布服务器,如果软件发布服务器i中的软件版本与配置文件i中的软件版本不一致,则执行S110;如果一致,则不操作;
S110,RPA服务器获取配置文件i中的组件ID列表IDi,并将组件ID列表IDi发送给软件发布服务器i;
S120,软件发布服务器i判断组件ID列表IDi是否更新,如果更新,则向RPA服务器回传更新后的组件ID列表IDi;如果没有更新,则回传“未更新”标志;
S130,RPA服务器使用更新后的组件ID列表IDi更新配置文件i;
S140,RPA服务器使用更新后的配置文件i更新与配置文件i关联的RPA脚本;
S150,RPA服务器将更新后的RPA脚本发送给与对应脚本关联的RPA客户端。
3.根据权利要求2所述的跨软件域RPA系统,其特征在于,在S140中,RPA服务器同时删除与配置文件i关联的旧版本的RPA脚本。
4.根据权利要求2所述的跨软件域RPA系统,其特征在于,
在S120中,在软件发布服务器i判断组件ID列表IDi更新时,按照如下步骤更新组件ID列表IDi:
S121,软件发布服务器i遍历组件ID列表IDi,如果检索到组件ID列表IDi中的组件ID-IDij没有更新,则不操作;如果检索到组件ID列表IDi中的IDij有更新,则将更新后的IDij替换组件ID列表IDi列表中的IDij,j的取值为1...m,m为组件ID列表IDi的组件ID个数。
5.根据权利要求4所述的跨软件域RPA系统,其特征在于,还包括:在S121中,如果软件发布服务器i没有检索到IDij,那么执行步骤S122;
S122,软件发布服务器i将删除标志附加到组件ID列表IDi的IDij上,作为组件ID列表IDi的更新。
6.根据权利要求5所述的跨软件域RPA系统,其特征在于,S140进一步包括:
S141,RPA服务器遍历更新后的配置文件i,如果检索到IDij包括删除标志,则解析获得IDij;
S142,获取并遍历与配置文件i关联的RPA脚本;
S143,在每个RPA脚本中检索“IDij”,并获取IDij的数量MID;
S144,如果MID大于预设阈值,则对该RPA脚本进行预警;S145,如果MID小于或等于预设阈值,则获取IDij所在的RPA脚本的MID个命令行,并根据MID个命令行将该RPA脚本进行分割,分割后的该RPA脚本不包括所述MID个命令行。
7.根据权利要求6所述的跨软件域RPA系统,其特征在于,所述预设阈值为1~3。
8.根据权利要求6所述的跨软件域RPA系统,其特征在于,在S145中,分割得到的每个子脚本的文件名按照先后顺序依次为该RPA脚本的文件名尾部增加1到T,T为子脚本的数目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011254287.2A CN112230972B (zh) | 2020-11-11 | 2020-11-11 | 跨软件域rpa系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011254287.2A CN112230972B (zh) | 2020-11-11 | 2020-11-11 | 跨软件域rpa系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112230972A true CN112230972A (zh) | 2021-01-15 |
CN112230972B CN112230972B (zh) | 2022-02-11 |
Family
ID=74123425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011254287.2A Active CN112230972B (zh) | 2020-11-11 | 2020-11-11 | 跨软件域rpa系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112230972B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391092A (zh) * | 2016-05-16 | 2017-11-24 | 北京京东尚科信息技术有限公司 | 自动部署关联软件的方法和系统 |
CN108205445A (zh) * | 2017-12-31 | 2018-06-26 | 北京诺君安信息技术股份有限公司 | 一种软件自动更新方法 |
US20180203994A1 (en) * | 2017-01-13 | 2018-07-19 | Accenture Global Solutions Limited | Integrated robotics and access management for target systems |
CN111242577A (zh) * | 2020-01-13 | 2020-06-05 | 中国建设银行股份有限公司 | Rpa流程自动化机器人部署方法、装置及电子设备 |
-
2020
- 2020-11-11 CN CN202011254287.2A patent/CN112230972B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391092A (zh) * | 2016-05-16 | 2017-11-24 | 北京京东尚科信息技术有限公司 | 自动部署关联软件的方法和系统 |
US20180203994A1 (en) * | 2017-01-13 | 2018-07-19 | Accenture Global Solutions Limited | Integrated robotics and access management for target systems |
CN108205445A (zh) * | 2017-12-31 | 2018-06-26 | 北京诺君安信息技术股份有限公司 | 一种软件自动更新方法 |
CN111242577A (zh) * | 2020-01-13 | 2020-06-05 | 中国建设银行股份有限公司 | Rpa流程自动化机器人部署方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112230972B (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11516289B2 (en) | Method and system for displaying similar email messages based on message contents | |
US9020887B2 (en) | Managing the status of documents in a distributed storage system | |
KR101161520B1 (ko) | 알림 전달 아키텍처를 위한 방법 및 시스템 | |
US20070011142A1 (en) | Method and apparatus for non-redundant search results | |
US20050125484A1 (en) | Content management in a client and website environment | |
JPH0934763A (ja) | ファイル管理装置およびファイル管理方法 | |
US20130066869A1 (en) | Computer system, method of managing a client computer, and storage medium | |
CN112230973B (zh) | 自适应的跨软件域rpa系统 | |
CN109101599B (zh) | 一种增量索引更新方法及系统 | |
JP2011013729A (ja) | 仮想マシン管理プログラム及び仮想マシン管理方法 | |
US20080294743A1 (en) | Information processing device, computer readable recording medium, and information processing method | |
CN110674231A (zh) | 一种面向数据湖的用户id集成方法和系统 | |
US10719375B2 (en) | Systems and method for event parsing | |
CN112230972B (zh) | 跨软件域rpa系统 | |
CN109766317B (zh) | 一种文件的删除方法、装置、设备及存储介质 | |
US7937360B2 (en) | Transferring messages to a directory | |
CN115203260A (zh) | 一种异常数据确定方法、装置、电子设备及存储介质 | |
US20080059538A1 (en) | Method and system for synchronizing offline records | |
US20200293496A1 (en) | Information processing apparatus and non-transitory computer readable medium | |
CN113168357A (zh) | 从参与文档协作会话的各用户收集重复诊断数据 | |
CN112685474A (zh) | 应用管理方法、装置、设备和存储介质 | |
CN115629768B (zh) | 一种基于Excel公式引擎的邮件模板解析方法 | |
JP2021089665A (ja) | 情報処理装置及びプログラム | |
US20240211330A1 (en) | Log entry analysis in managed endpoints | |
JP5487854B2 (ja) | 文書情報収集システム、文書情報収集方法、文書情報収集プログラム |
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 |