掌桥专利:专业的专利平台
掌桥专利
首页

一种机器人流程自动化处理系统、方法及装置

文献发布时间:2023-06-19 09:57:26


一种机器人流程自动化处理系统、方法及装置

技术领域

本说明书实施例涉及计算机技术领域,特别涉及一种机器人流程自动化处理系统、方法及装置。

背景技术

机器人流程自动化(Robtic Process Automation,RPA)是一种自动化软件工具,它通过模仿用户在电脑的手动操方式,提供了另一种方式来使用户手动操作流程自动化。狭义来看,RPA是通过一些自动化手段来实现流程自动化的这类技术或产品的总称;广义来看,RPA可以认为是通过计算机模拟人工操作,解决生产问题的一套自动化解决方案。RPA具有对企业现有系统影响小,基本不编码,实施周期短,而且对非技术的业务人员友好等特性。RPA不仅可以模拟人类,而且可以利用和融合现有各项技术如规则引擎、光学字符识别、语音识别、机器学习及人工智能等前沿技术来实现其流程自动化的目标。

当一个RPA流程在机器人代理端执行时,当环境准备就绪、机器人所需的所有软件已经安装完毕,在理想的情况下,RPA机器人应成功地执行完全部的流程。但现实中,代理端所在的机器会出现一定的故障,如果不能及时地发现故障并处理,就会导致RPA机器人卡在当前步骤、无法继续执行下去。在目前的处理方法中,大部分RPA机器人的处理方式是给予每个步骤一个超时时间。例如,10秒内没有抓取到本步骤需要用到的点击按钮元素,即判定该步骤有误,运行相应的错误处理机制。

目前的处理方法中,依赖技术本身提供的接口实现控制和操作,对于一些冷门技术,可能没有合适的超时处理机制,不能及时地发现故障并处理,导致RPA机器人卡在当前步骤、无法继续执行下去。

发明内容

本说明书实施例的目的是提供一种机器人流程自动化处理系统、方法及装置,以提高机器人流程自动化故障的处理效率,迅速释放被无效占用的资源。

为解决上述问题,本说明书实施例提供一种机器人流程自动化处理系统,所述系统包括主线程和守护线程;所述主线程,用于将获取的任务拆分为多个子任务;每个子任务包括至少一个业务操作;按顺序执行所述多个子任务,在每个子任务执行完成后生成表征所述子任务的状态为已执行完成的状态码;将所述状态码发送至所述守护线程;所述守护线程,用于接收所述主线程发来的状态码,在预设时间内未接收到下一个状态码的情况下,运行清理程序,以便于结束任务执行流程。

为解决上述问题,本说明书实施例还提供一种机器人流程自动化处理方法,所述方法包括:将获取的任务拆分为多个子任务;每个子任务包括至少一个业务操作;按顺序执行所述多个子任务,在每个子任务执行完成后生成表征所述子任务的状态为已执行完成的状态码;将所述状态码发送至守护线程,以便于所述守护线程接收所述状态码,在预设时间内未接收到下一个状态码的情况下,运行清理程序,结束任务执行流程。

为解决上述问题,本说明书实施例还提供一种机器人流程自动化处理装置,所述装置包括:拆分模块,用于将获取的任务拆分为多个子任务;每个子任务包括至少一个业务操作;生成模块,用于按顺序执行所述多个子任务,在每个子任务执行完成后生成表征所述子任务的状态为已执行完成的状态码;发送模块,用于将所述状态码发送至守护线程,以便于所述守护线程接收所述状态码,在预设时间内未接收到下一个状态码的情况下,运行清理程序,结束任务执行流程。

为解决上述问题,本说明书实施例还提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现:将获取的任务拆分为多个子任务;每个子任务包括至少一个业务操作;按顺序执行所述多个子任务,在每个子任务执行完成后生成表征所述子任务的状态为已执行完成的状态码;将所述状态码发送至守护线程,以便于所述守护线程接收所述状态码,在预设时间内未接收到下一个状态码的情况下,运行清理程序,结束任务执行流程。

为解决上述问题,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现:将获取的任务拆分为多个子任务;每个子任务包括至少一个业务操作;按顺序执行所述多个子任务,在每个子任务执行完成后生成表征所述子任务的状态为已执行完成的状态码;将所述状态码发送至守护线程,以便于所述守护线程接收所述状态码,在预设时间内未接收到下一个状态码的情况下,运行清理程序,结束任务执行流程。

为解决上述问题,本说明书实施例还提供一种机器人流程自动化处理方法,,所述方法包括:接收主线程发来的状态码;所述状态码用于表征子任务的状态为已执行完成;所述状态码为主线程将获取的任务拆分为多个子任务,按顺序执行所述多个子任务,在每个子任务执行完成后生成的;其中,每个子任务包括至少一个业务操作;在预设时间内未接收到下一个状态码的情况下,运行清理程序,以便于结束任务执行流程。

为解决上述问题,本说明书实施例还提供一种机器人流程自动化处理装置,所述装置包括:接收模块,用于接收主线程发来的状态码;所述状态码用于表征子任务的状态为已执行完成;所述状态码为主线程将获取的任务拆分为多个子任务,按顺序执行所述多个子任务,在每个子任务执行完成后生成的;其中,每个子任务包括至少一个业务操作;清理程序运行模块,用于在预设时间内未接收到下一个状态码的情况下,运行清理程序,以便于结束任务执行流程。

为解决上述问题,本说明书实施例还提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现:接收主线程发来的状态码;所述状态码用于表征子任务的状态为已执行完成;所述状态码为主线程将获取的任务拆分为多个子任务,按顺序执行所述多个子任务,在每个子任务执行完成后生成的;其中,每个子任务包括至少一个业务操作;在预设时间内未接收到下一个状态码的情况下,运行清理程序,以便于结束任务执行流程。

为解决上述问题,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现:接收主线程发来的状态码;所述状态码用于表征子任务的状态为已执行完成;所述状态码为主线程将获取的任务拆分为多个子任务,按顺序执行所述多个子任务,在每个子任务执行完成后生成的;其中,每个子任务包括至少一个业务操作;在预设时间内未接收到下一个状态码的情况下,运行清理程序,以便于结束任务执行流程。

由以上本说明书实施例提供的技术方案可见,本说明书实施例中,可以将获取的任务拆分为多个子任务;每个子任务包括至少一个业务操作;按顺序执行所述多个子任务,在每个子任务执行完成后生成表征所述子任务的状态为已执行完成的状态码;将所述状态码发送至守护线程,以便于所述守护线程接收所述状态码,在预设时间内未接收到下一个状态码的情况下,运行清理程序,结束任务执行流程。本说明书实施例提供的方法,在机器人流程自动化处理过程中,可以不依靠本身接口提供的判断方法,利用守护线程,不断地监听主线程的健康状况,更加及时地判断流程是否僵死,从而提高机器人流程自动化故障的处理效率,迅速释放被无效占用的资源。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书实施例一种机器人流程自动化处理系统的工作流程图;

图2为本说明书实施例一种种机器人流程自动化处理方法的流程图;

图3为本说明书实施例一种种机器人流程自动化处理方法的流程图;

图4为本说明书实施例一种电子设备的功能结构示意图;

图5为本说明书实施例一种种机器人流程自动化处理装置的功能结构示意图;

图6为本说明书实施例一种种机器人流程自动化处理装置的功能结构示意图。

具体实施方式

下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。

RPA具有对企业现有系统影响小,基本不编码,实施周期短,而且对非技术的业务人员友好等特性。RPA不仅可以模拟人类,而且可以利用和融合现有各项技术如规则引擎、光学字符识别、语音识别、机器学习及人工智能等前沿技术来实现其流程自动化的目标。RPA可以应用于任何行业,应用于任何业务场景,例如:应用于财务领域,RPA=财务机器人;应用于税务领域,RPA=税务机器人;应用于HR领域,RPA=HR机器人。

RPA是一个软件,而非实体机器人。RPA可以记录员工的操作行为,包括键盘录入、鼠标移动和点击、触发调用Windows系统操作(例如文件夹和文件操作)、以及触发调用各类应用程序(例如网页操作、收发邮件、Word/Excel操作等),而且,RPA软件不光要记录这些操作,而且要将这些操作抽象化,变成计算机能够理解和处理的对象,RPA软件记录这些行为操作的方式,一般称为捕获(Capture)。RPA软件在捕获到了全部鼠标、键盘、系统、应用程序的操作后,在电脑中按照约定的规则来自动执行这些对象。

在RPA软件中,用来执行RPA流程脚本的软件,通常安装在需要执行流程脚本的机器上,该机器可以称为机器人代理端。所述机器人代理端可以是可以是具有逻辑运算功能的电子设备,所述电子设备可以是客户端或服务器。所述客户端可以为台式电脑、平板电脑、笔记本电脑、移动手机、工作站等。当然,客户端并不限于上述具有一定实体的电子设备,其还可以为运行于上述电子设备中的软体。还可以是一种通过程序开发形成的程序软件,该程序软件可以运行于上述电子设备中。

当一个RPA流程在机器人代理端执行时,当环境准备就绪、机器人所需的所有软件已经安装完毕,在理想的情况下,RPA机器人应成功地执行完全部的流程。但现实中,代理端所在的机器会出现一定的故障,例如长时间使用的Windows系统由于碎片回收机制的不完备导致的内存溢出、RPA操作的APP由于依赖包版本不正确导致的进程崩溃,等等。这种情况下,如果不能及时地发现故障并处理,就会导致RPA机器人卡在当前步骤、无法继续执行下去。

在目前的处理方法中,大部分RPA机器人的处理方式是给予每个步骤一个超时时间。例如,10秒内没有抓取到本步骤需要用到的点击按钮元素,即判定该步骤有误,运行相应的错误处理机制。这个方法能覆盖约80%的错误处理,但仍有一些弊病,主要有如下方面:依赖技术本身提供的接口。Windows界面、Java、浏览器可以通过UIautomation、JavaAccess Bridge(后文简称JAB)、Selenium等工具来进行控制和操作。但对于Flash等冷门技术,可能就没有合适的超时处理机制了;对崩溃的进程无法进行合理的处理。例如,使用JAB进行Java组件的控制时,如果碰到java崩溃无响应时,使用JAB发送过去的请求并不会得到响应,也不会触发超时的判断,只会随着进程的崩溃而僵死。

考虑到如果在机器人代理端开始工作时,代理端进程同时启动两个线程,一个为执行任务的主线程,另一个为守护线程,主线程在每执行一个动作后,向守护线程发送一次状态码,以便于守护线程根据状态码确定主线程执行任务的状态,当状态异常时,及时终止主线程并做清理,从而避免现有技术中依靠本身接口提供的判断方法所带来的故障响应不及时的问题,提高机器人流程自动化故障的处理效率,迅速释放被无效占用的资源。基于此,本说明书实施例提供一种机器人流程自动化处理方法、装置及存储介质。

请参阅图1,本说明书实施例提供一种机器人流程自动化处理系统。所述机器人流程自动化处理系统可以包括主线程110和守护线程120。

在一些实施例中,所述机器人流程自动化处理系统支持多线程(multi-threading)处理,即在一个机器人流程自动化中,可以同时独立运行多个程序片段。

在一些实施例中,所述主线程110可以用于将获取的任务拆分为多个子任务;每个子任务包括至少一个业务操作;按顺序执行所述多个子任务,在每个子任务执行完成后生成表征所述子任务的状态为已执行完成的状态码;将所述状态码发送至所述守护线程。

在一些实施例中,所述主线程110可以将获取的任务拆分为多个子任务,使每个子任务的预期执行时间小于预设值。举例来说,对于任务“打开excel,新建一个Sheet页签,在这个Sheet的A1格中填入‘Hello World’,保存退出。”可以包括多个业务操作,分别为“打开excel”、“新建一个Sheet页签”、“在这个Sheet的A1格中填入‘Hello World’”、“保存退出”这四个业务操作,所述主线程110可以基于各个业务操作的预期执行时间,将任务拆分为多个子任务。例如可以将该任务拆分为四个子任务,分别为“打开excel”、“新建一个Sheet页签”、“在这个Sheet的A1格中填入‘Hello World’”、“保存退出”。当然,所述子任务可以只包括一个业务操作,也可以包括多个业务操作。每个子任务的预期执行时间不应太长,即保持每个子任务的预期执行时间小于预设值。其中,所述预设值可以为0-30秒中的任意值。当然,所述预设值也可以为其他值,如30-50秒、0-50秒等,可以根据实际情况进行设置。

在一些实施例中,所述主线程110每次可以执行一个子任务,待上一个子任务执行完毕后,再执行下一个子任务。所述所述主线程110可以按照顺序执行所述多个子任务,在每个子任务执行完成后,生成一个状态码,所述状态码可以表征子任务的状态为已执行完成状态。所述状态码可以为由数字、字母或数字与字母的组合行成的字符串。

在一些实施例中,在生成状态码后,所述主线程110可以将所述状态码发送至所述守护线程120。具体的,所述主线程110将所述状态码发送至所述守护线程120后,可以不必等待所述守护线程120的回复,进行执行下一个子任务,直至执行完所有子任务。

在一些实施例中,所述主线程110还可以在每个子任务执行完成后,判断是否存在未执行的子任务;在存在未执行的子任务的情况下,执行下一个未执行的子任务,在所述下一个未执行的子任务执行完毕后,生成下一个状态码;将所述下一个状态码发送至所述守护线程;在不存在未执行的子任务的情况下,运行清理程序,结束任务执行流程。具体的,若还存在未执行的子任务,则继续循环执行上述步骤。所述主线程110在执行完全部子任务后,即可结束流程并运行相应的收尾工作。在这里主要是运行清理程序,对相关的进程进行清理,结束当前流程,以迎接下一次的RPA流程。

在一些实施例中,若所述主线程110执行的子任务为首个子任务,还可以在该首个子任务开始执行时,向所述守护线程120发送任务执行通知,以通知所述守护线程110首个子任务已开始执行。

在一些实施例中,所述守护线程120可以用于在接收到任务执行通知后开始计时,在预设时间内未接收到所述主线程发来的状态码的情况下,运行清理程序,以便于结束任务执行流程。

在一些实施例中,所述守护线程120可以用于接收所述主线程发来的状态码,在预设时间内未接收到下一个状态码的情况下,运行清理程序,以便于结束任务执行流程。具体的,所述守护线程120在接收到状态码后可以开始计时,在预设时间内接收到状态码,则认为所述主线程110仍然在正常工作,如果在预设时间内未接收到状态码,则任务所述主线程110已经出现问题,无需继续等待,直接进入相应的收尾工作,运行清理程序,清理相关进程,结束当前流程,以迎接下一次的RPA流程。由此可以看出,所述守护线程120的主要工作为监听预设时间内是否接收到所述主线程110传来的状态码。所述预设时间可自由设置,但不宜太短,以免误报;也不宜太长,防止长时间僵死。所述预设时间可以为0-30秒中的任意值。当然,所述预设时间也可以为其他值,如30-50秒、0-50秒等,可以根据实际情况进行设置。

在一些实施例中,对于所述主线程110来说,其主要工作为正常执行流程中的每个子任务,并在执行每个子任务后,进行一次状态码的发送。为进一步提高机器人流程自动化故障的处理效率,减少状态码的发送与接收的延迟,所述主线程110和所述守护线程120可以为同一进程中的线程,这样一来状态码的发送对象为同一进程内的另一线程。由于进程内的线程共享资源,所以状态码的发送和接收速度几乎在瞬间就能完成,进而提高机器人流程自动化故障的处理效率,减少状态码的发送与接收的延迟。

本说明书实施例提供的机器人流程自动化处理系统,主线程可以用于将获取的任务拆分为多个子任务;每个子任务包括至少一个业务操作;按顺序执行所述多个子任务,在每个子任务执行完成后生成表征所述子任务的状态为已执行完成的状态码;将所述状态码发送至所述守护线程;所述守护线程可以用于接收所述主线程发来的状态码,在预设时间内未接收到下一个状态码的情况下,运行清理程序,以便于结束任务执行流程。本说明书实施例提供的系统,在机器人流程自动化处理过程中,可以不依靠本身接口提供的判断方法,利用守护线程,不断地监听主线程的健康状况,更加及时地判断流程是否僵死,从而提高机器人流程自动化故障的处理效率,迅速释放被无效占用的资源。

请参阅图2。本说明实施例还提供一种机器人流程自动化处理方法。在本说明书实施例中,执行所述机器人流程自动化处理方法的主体可以是具有逻辑运算功能的电子设备,所述电子设备可以是服务器。所述服务器支持多线程处理,所述服务器可以具有网络通信单元、处理器和存储器等。所述服务器还可以为分布式服务器,可以是具有多个处理器、存储器、网络通信模块等协同运作的系统。或者,服务器还可以为若干服务器形成的服务器集群。从主线程的角度出发,所述方法可以包括以下步骤。

S210:将获取的任务拆分为多个子任务;每个子任务包括至少一个业务操作。

在一些实施例中,所述将获取的任务拆分为多个子任务包括将获取的任务拆分为多个子任务,使每个子任务的预期执行时间小于预设值。举例来说,对于任务“打开excel,新建一个Sheet页签,在这个Sheet的A1格中填入‘Hello World’,保存退出。”可以包括多个业务操作,分别为“打开excel”、“新建一个Sheet页签”、“在这个Sheet的A1格中填入‘HelloWorld’”、“保存退出”这四个业务操作,服务器中的主线程可以基于各个业务操作的预期执行时间,将任务拆分为多个子任务。例如可以将该任务拆分为四个子任务,分别为“打开excel”、“新建一个Sheet页签”、“在这个Sheet的A1格中填入‘Hello World’”、“保存退出”。当然,所述子任务可以只包括一个业务操作,也可以包括多个业务操作。每个子任务的预期执行时间不应太长,即保持每个子任务的预期执行时间小于预设值。其中,所述预设值可以为0-30秒中的任意值。当然,所述预设值也可以为其他值,如30-50秒、0-50秒等,可以根据实际情况进行设置。

S220:按顺序执行所述多个子任务,在每个子任务执行完成后生成表征所述子任务的状态为已执行完成的状态码。

在一些实施例中,服务器中的主线程每次可以执行一个子任务,待上一个子任务执行完毕后,再执行下一个子任务。所述服务器可以按照顺序执行所述多个子任务,在每个子任务执行完成后,生成一个状态码,所述状态码可以表征子任务的状态为已执行完成状态。所述状态码可以为由数字、字母或数字与字母的组合行成的字符串。

在一些实施例中,主线程执行子任务的过程可以包括:在每个子任务执行完成后,判断是否存在未执行的子任务;在存在未执行的子任务的情况下,执行下一个未执行的子任务,在所述下一个未执行的子任务执行完毕后,生成下一个状态码。具体的,若还存在未执行的子任务,则继续循环执行上述步骤。所述服务器在执行完全部子任务后,即可结束流程并运行相应的收尾工作。在这里主要是运行清理程序,对相关的进程进行清理,结束当前流程

S230:将所述状态码发送至守护线程,以便于所述守护线程接收所述状态码,在预设时间内未接收到下一个状态码的情况下,运行清理程序,结束任务执行流程。

在一些实施例中,若所述主线程执行的子任务为首个子任务,还可以在该首个子任务开始执行时,向所述守护线程发送任务执行通知,通知所述守护线程首个子任务已开始执行,以使所述守护线程在接收到任务执行通知后开始计时,在预设时间内未接收到状态码的情况下,运行清理程序,结束任务执行流程。

在一些实施例中,所述守护线程可以用于接收所述主线程发来的状态码,在预设时间内未接收到下一个状态码的情况下,运行清理程序,以便于结束任务执行流程。具体的,所述守护线程在接收到状态码后可以开始计时,在预设时间内接收到状态码,则认为所述主线程仍然在正常工作,如果在预设时间内未接收到状态码,则认为所述主线程已经出现问题,无需继续等待,直接进入相应的收尾工作,运行清理程序,清理相关进程,结束当前流程,以迎接下一次的RPA流程。由此可以看出,所述守护线程的主要工作为监听预设时间内是否接收到所述服务器传来的状态码。所述预设时间可自由设置,但不宜太短,以免误报;也不宜太长,防止长时间僵死。所述预设时间可以为0-30秒中的任意值。当然,所述预设时间也可以为其他值,如30-50秒、0-50秒等,可以根据实际情况进行设置。

在一些实施例中,对于所述主线程来说,其主要工作为正常执行流程中的每个子任务,并在执行每个子任务后,进行一次状态码的发送。为进一步提高机器人流程自动化故障的处理效率,减少状态码的发送与接收的延迟,所述主线程和所述守护线程可以为同一进程中的线程,这样一来状态码的发送对象为同一进程内的另一线程。由于进程内的线程共享资源,所以状态码的发送和接收速度几乎在瞬间就能完成,进而提高机器人流程自动化故障的处理效率,减少状态码的发送与接收的延迟。

本说明书实施例提供的机器人流程自动化处理方法,可以将获取的任务拆分为多个子任务;每个子任务包括至少一个业务操作;按顺序执行所述多个子任务,在每个子任务执行完成后生成表征所述子任务的状态为已执行完成的状态码;将所述状态码发送至守护线程,以便于所述守护线程接收所述状态码,在预设时间内未接收到下一个状态码的情况下,运行清理程序,结束任务执行流程。本说明书实施例提供的方法,在机器人流程自动化处理过程中,可以不依靠本身接口提供的判断方法,利用守护线程,不断地监听主线程的健康状况,更加及时地判断流程是否僵死,从而提高机器人流程自动化故障的处理效率,迅速释放被无效占用的资源。

请参阅图3。本说明实施例还提供一种机器人流程自动化处理方法。在本说明书实施例中,执行所述机器人流程自动化处理方法的主体可以是具有逻辑运算功能的电子设备,所述电子设备可以是服务器。所述服务器支持多线程处理,所述服务器可以具有网络通信单元、处理器和存储器等。所述服务器还可以为分布式服务器,可以是具有多个处理器、存储器、网络通信模块等协同运作的系统。或者,服务器还可以为若干服务器形成的服务器集群。从守护线程的角度出发,所述方法可以包括以下步骤。

S310:接收主线程发来的状态码;所述状态码用于表征子任务的状态为已执行完成;所述状态码为主线程将获取的任务拆分为多个子任务,按顺序执行所述多个子任务,在每个子任务执行完成后生成的;其中,每个子任务包括至少一个业务操作。

在一些实施例中,服务器中的守护线程可以接收主线程发来的状态码。其中,所述状态码是主线程根据以下方式生成得到:主线程将获取的任务拆分为多个子任务;每个子任务包括至少一个业务操作;按顺序执行所述多个子任务,在每个子任务执行完成后生成表征所述子任务的状态为已执行完成的状态码。

具体的,主线程可以将获取的任务拆分为多个子任务包括将获取的任务拆分为多个子任务,使每个子任务的预期执行时间小于预设值。举例来说,对于任务“打开excel,新建一个Sheet页签,在这个Sheet的A1格中填入‘Hello World’,保存退出。”可以包括多个业务操作,分别为“打开excel”、“新建一个Sheet页签”、“在这个Sheet的A1格中填入‘HelloWorld’”、“保存退出”这四个业务操作,服务器中的主线程可以基于各个业务操作的预期执行时间,将任务拆分为多个子任务。例如可以将该任务拆分为四个子任务,分别为“打开excel”、“新建一个Sheet页签”、“在这个Sheet的A1格中填入‘HelloWorld’”、“保存退出”。当然,所述子任务可以只包括一个业务操作,也可以包括多个业务操作。每个子任务的预期执行时间不应太长,即保持每个子任务的预期执行时间小于预设值。其中,所述预设值可以为0-30秒中的任意值。当然,所述预设值也可以为其他值,如30-50秒、0-50秒等,可以根据实际情况进行设置。

主线程每次可以执行一个子任务,待上一个子任务执行完毕后,再执行下一个子任务。所述服务器可以按照顺序执行所述多个子任务,在每个子任务执行完成后,生成一个状态码,所述状态码可以表征子任务的状态为已执行完成状态。所述状态码可以为由数字、字母或数字与字母的组合行成的字符串。

S320:在预设时间内未接收到下一个状态码的情况下,运行清理程序,以便于结束任务执行流程。

在一些实施例中,所述守护线程可以在预设时间内未接收到下一个状态码的情况下,运行清理程序,以便于结束任务执行流程。具体的,所述守护线程在接收到状态码后可以开始计时,在预设时间内接收到状态码,则认为所述主线程仍然在正常工作,如果在预设时间内未接收到状态码,则认为所述主线程已经出现问题,无需继续等待,直接进入相应的收尾工作,运行清理程序,清理相关进程,结束当前流程,以迎接下一次的RPA流程。由此可以看出,所述守护线程的主要工作为监听预设时间内是否接收到所述服务器传来的状态码。所述预设时间可自由设置,但不宜太短,以免误报;也不宜太长,防止长时间僵死。所述预设时间可以为0-30秒中的任意值。当然,所述预设时间也可以为其他值,如30-50秒、0-50秒等,可以根据实际情况进行设置。

在一些实施例中,所述守护线程还可以接收主线程发来的任务执行通知;所述任务执行通知为所述主线程在首个子任务开始执行时发送的;在接收到任务执行通知后开始计时,在预设时间内未接收到所述主线程发来的状态码的情况下,运行清理程序,以便于结束任务执行流程。

在一些实施例中,对于所述主线程来说,其主要工作为正常执行流程中的每个子任务,并在执行每个子任务后,进行一次状态码的发送。为进一步提高机器人流程自动化故障的处理效率,减少状态码的发送与接收的延迟,所述主线程和所述守护线程可以为同一进程中的线程,这样一来状态码的发送对象为同一进程内的另一线程。由于进程内的线程共享资源,所以状态码的发送和接收速度几乎在瞬间就能完成,进而提高机器人流程自动化故障的处理效率,减少状态码的发送与接收的延迟。

本说明书实施例提供的机器人流程自动化处理方法,可以接收主线程发来的状态码;所述状态码用于表征子任务的状态为已执行完成;所述状态码为主线程将获取的任务拆分为多个子任务,按顺序执行所述多个子任务,在每个子任务执行完成后生成的;其中,每个子任务包括至少一个业务操作;在预设时间内未接收到下一个状态码的情况下,运行清理程序,以便于结束任务执行流程。本说明书实施例提供的方法,在机器人流程自动化处理过程中,可以不依靠本身接口提供的判断方法,利用守护线程,不断地监听主线程的健康状况,更加及时地判断流程是否僵死,从而提高机器人流程自动化故障的处理效率,迅速释放被无效占用的资源。

图4为本说明书实施例一种电子设备的功能结构示意图,所述电子设备可以包括存储器和处理器。

在一些实施例中,所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现机器人流程自动化处理方法的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据用户终端的使用所创建的数据。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(Smart MediaCard,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(APPlication Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。所述处理器可以执行所述计算机指令实现以下步骤:将获取的任务拆分为多个子任务;每个子任务包括至少一个业务操作;按顺序执行所述多个子任务,在每个子任务执行完成后生成表征所述子任务的状态为已执行完成的状态码;将所述状态码发送至守护线程,以便于所述守护线程接收所述状态码,在预设时间内未接收到下一个状态码的情况下,运行清理程序,结束任务执行流程。

在本说明书实施例中,该电子设备具体实现的功能和效果,可以与其它实施例对照解释,在此不再赘述。

图5为本说明书实施例一种机器人流程自动化处理装置的功能结构示意图,该装置具体可以包括以下的结构模块。

拆分模块510,用于将获取的任务拆分为多个子任务;每个子任务包括至少一个业务操作;

生成模块520,用于按顺序执行所述多个子任务,在每个子任务执行完成后生成表征所述子任务的状态为已执行完成的状态码;

发送模块530,用于将所述状态码发送至守护线程,以便于所述守护线程接收所述状态码,在预设时间内未接收到下一个状态码的情况下,运行清理程序,结束任务执行流程。

本说明书实施例还提供了一种机器人流程自动化处理方法的计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:将获取的任务拆分为多个子任务;每个子任务包括至少一个业务操作;按顺序执行所述多个子任务,在每个子任务执行完成后生成表征所述子任务的状态为已执行完成的状态码;将所述状态码发送至守护线程,以便于所述守护线程接收所述状态码,在预设时间内未接收到下一个状态码的情况下,运行清理程序,结束任务执行流程。

在本说明书实施例中,上述存储介质包括但不限于随机存取存储器(RandomAccess Memory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(HardDisk Drive,HDD)或者存储卡(Memory Card)。所述存储器可用于存储所述计算机程序和/或模块,所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据用户终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器。在本说明书实施例中,该计算机可读存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。

图4为本说明书实施例一种电子设备的功能结构示意图,所述电子设备可以包括存储器和处理器。

在一些实施例中,所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现机器人流程自动化处理方法的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据用户终端的使用所创建的数据。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(Smart MediaCard,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(APPlication Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。所述处理器可以执行所述计算机指令实现以下步骤:接收主线程发来的状态码;所述状态码用于表征子任务的状态为已执行完成;所述状态码为主线程将获取的任务拆分为多个子任务,按顺序执行所述多个子任务,在每个子任务执行完成后生成的;其中,每个子任务包括至少一个业务操作;在预设时间内未接收到下一个状态码的情况下,运行清理程序,以便于结束任务执行流程。

在本说明书实施例中,该电子设备具体实现的功能和效果,可以与其它实施例对照解释,在此不再赘述。

图6为本说明书实施例一种机器人流程自动化处理装置的功能结构示意图,该装置具体可以包括以下的结构模块。

接收模块610,用于接收主线程发来的状态码;所述状态码用于表征子任务的状态为已执行完成;所述状态码为主线程将获取的任务拆分为多个子任务,按顺序执行所述多个子任务,在每个子任务执行完成后生成的;其中,每个子任务包括至少一个业务操作;

清理程序运行模块620,用于在预设时间内未接收到下一个状态码的情况下,运行清理程序,以便于结束任务执行流程。

本说明书实施例还提供了一种机器人流程自动化处理方法的计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:接收主线程发来的状态码;所述状态码用于表征子任务的状态为已执行完成;所述状态码为主线程将获取的任务拆分为多个子任务,按顺序执行所述多个子任务,在每个子任务执行完成后生成的;其中,每个子任务包括至少一个业务操作;在预设时间内未接收到下一个状态码的情况下,运行清理程序,以便于结束任务执行流程。

在本说明书实施例中,上述存储介质包括但不限于随机存取存储器(RandomAccess Memory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(HardDisk Drive,HDD)或者存储卡(Memory Card)。所述存储器可用于存储所述计算机程序和/或模块,所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据用户终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器。在本说明书实施例中,该计算机可读存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。

需要说明的是,本说明书实施例提供的数据清理方法、装置及电子设备,涉及计算机技术领域,可以应用于金融领域在计算机使用过程中数据的处理,还可以除金融领域之外的任意领域,本说明书实施例对所述数据清理方法、装置及电子设备的应用领域不做限定。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例和设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware DescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

相关技术
  • 一种机器人流程自动化处理系统、方法及装置
  • 一种基于机器人流程自动化的金融服务方法及装置
技术分类

06120112362961