本发明属于rpa流程数据共享领域,尤其是一种基于rpa的数据共享方法、系统、装置和存储介质。
背景技术:
1、rpa(robotic process automation,机器人流程自动化)是一种自动化技术,它可以在不依赖人类的情况下自动执行业务流程和任务。rpa使用机器人软件程序来模拟人类操作计算机系统,从而自动执行一系列任务。
2、在rpa流程的实际开发过程中,流程节点之间往往需要共享一些数据或状态,以便不同的任务之间能够相互通信。传统的流程节点之间共享数据或状态的方式通常有以下几种:第一种是使用变量的方式,这种方式的缺陷在于,当流程之间需要传递的数据较多时,变量的数量会增加,导致代码难以维护,同时,在不同的流程节点中创建同名变量可能会导致变量覆盖,导致数据错误;第二种是使用文件读取的方式,这种方式的缺陷在于多个流程中的机器人进行文件的打开、读取、写入、关闭等繁琐的操作时,难以确保文件的读写权限和文件夹的访问权限,并且如果多个流程同时操作一个文件,可能会出现文件锁的问题,导致流程执行异常;另外,部分数据可能较为敏感,明文存储于文件中存在数据泄露的风险,不符合企业数据安全管理规范;第三种是使用数据库的方式,这种方式的缺陷在于,多个流程中的机器人对单一数据库进行的连接、查询、插入、更新、删除等复杂的操作时,难以保证数据库连接的资源和数据的一致性,并且如果多个流程中的机器人同时操作一个数据库,可能会出现数据库锁的问题,导致流程执行异常。
3、因此,亟需设计一种基于rpa的数据共享方法和系统,以提高流程之间数据共享的效率、安全性和可靠性。
技术实现思路
1、本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提供了基于rpa的数据共享方法和系统,提供了一种数据模型,能够避免使用变量、使用文件读取和使用数据库三种传统数据共享方式的缺陷;且能够提高流程之间数据共享的效率、保证数据存储、传输安全和流程执行的可靠性。
2、一方面,本发明实施例提供了一种基于rpa的数据共享方法,应用于rpa机器人系统,所述rpa机器人系统包括控制器和机器人,所述控制器包括缓存层和持久化层,所述缓存层用于将数据存储在内存中,所述持久化层用于将数据存储在数据库中,所述数据共享方法包括:
3、定义数据的数据模型;所述数据模型用于描述数据的参数结构、参数属性以及所述数据的标识符;
4、在所述控制器中设计api,以使所述机器人通过所述api访问所述控制器;
5、所述机器人通过所述api向所述控制器发出访问请求;所述访问请求的访问类型包括读取、写入和删除中的至少之一;
6、所述机器人根据所述访问类型,通过所述缓存层访问所述数据;
7、访问结束后,所述控制器将本次访问的所述数据和访问日志通过所述持久化层存储于所述数据库中。
8、根据本发明的一些实施例,所述在所述控制器中设计api,以使所述机器人通过所述api访问所述控制器的步骤,包括:
9、定义所述api的地址和请求方式;
10、确定所述api的请求体的格式和响应体的格式;所述请求体的格式包括标识符、访问类型和数据类型;所述响应体的格式包括状态码、报错信息以及返回的参数值;
11、设置鉴权验证机制;所述鉴权验证机制在所述请求体的格式中添加鉴权令牌,当所述机器人向所述控制器发出访问请求时,所述控制器通过校验所述鉴权令牌,判断所述机器人是否具备访问权限;
12、定义数据存储方式;所述数据存储方式包括普通存储和加密存储;
13、定义所述api的防御方式;所述防御方式包括通过https协议进行加密数据传输、使用参数化sql语句防止sql注入。
14、根据本发明的一些实施例,所述机器人根据所述访问类型,通过所述缓存层访问所述数据的步骤,包括:
15、若所述数据的数据存储方式为所述加密存储,所述控制器判断所述机器人是否具有访问所述加密数据的权限;
16、若所述机器人具有访问加密数据的权限,所述控制器向机器人发送密钥和解密算法;所述密钥和解密算法存储于所述数据库中;
17、所述机器人根据所述解密密钥和所述解密算法,对所述加密数据进行解密。
18、根据本发明的一些实施例,所述机器人根据所述访问类型,通过所述缓存层访问所述数据的步骤,包括:
19、若所述数据过期或不存在,所述控制器向所述机器人返回错误提示信息,并将错误信息日志通过所述持久化层存储至所述数据库中。
20、根据本发明的一些实施例,所述机器人根据所述访问类型,通过所述缓存层访问所述数据的步骤,包括:
21、若所述访问类型为删除,所述控制器判断所述机器人是否具有删除数据的权限;
22、若所述机器人具有所述删除数据的权限,所述控制器执行数据删除操作,将数据通过所述缓存层从内存中删除,并通过所述持久化层将所述数据从所述数据库中删除;
23、所述数据删除成功后,将删除信息日志通过所述持久化层存储至所述数据库中。
24、根据本发明的一些实施例,所述控制器设置有缓存清理策略,所述缓存清理策略包括:
25、设置参数有效期阈值;若所述数据的存储时间超过所述参数有效期阈值,将所述数据从所述内存中清除;或者,设置内存大小阈值;若所述内存的占用空间超出所述内存大小阈值,采用lru算法清理所述内存,使所述占用空间低于所述内存大小阈值。
26、另一方面,本发明还提供了一种基于rpa的数据共享系统,所述系统包括:
27、控制器和机器人,所述控制器包括缓存层和持久化层,所述缓存层用于将数据存储在内存中,所述持久化层用于将数据存储在数据库中;
28、所述控制器还包括:
29、数据模型模块,用于定义数据的数据模型;所述数据模型用于描述数据的参数结构、参数属性、以及所述数据的标识符;
30、api设计模块,用于在所述控制器中设计api;
31、访问请求模块,用于使所述机器人通过所述api向所述控制器发出访问请求;所述访问请求的访问类型包括读取、写入和删除中的至少之一;
32、数据访问模块,用于使所述机器人根据所述访问类型,通过所述缓存层访问所述数据;
33、日志管理模块,用于在访问结束后,将本次访问的所述数据和访问日志通过所述持久化层存储于所述数据库中。
34、根据本发明的一些实施例,所述控制器还包括:
35、加密存储模块,用于判断所述机器人是否具有访问所述加密数据的权限以及用于向机器人发送解密密钥和解密算法;所述密钥和解密算法存储于数据库中;
36、异常处理模块,用于当所述数据过期或不存在时,向所述机器人返回错误提示信息,并将错误信息日志通过所述持久化层存储至所述数据库中;
37、数据删除模块,用于判断所述机器人是否具有删除数据的权限执行数据删除操作以及执行数据删除操作,将所述数据通过所述缓存层从内存中删除,并通过所述持久化层将所述数据从所述数据库中删除;
38、缓存清理模块,通过缓存清理策略,清理所述内存中多余数据,所述缓存清理策略包括:设置参数有效期阈值;若所述数据的存储时间超过所述参数有效期阈值,将所述数据从所述内存中清除;或者,设置内存大小阈值;若所述内存的占用空间超出所述内存大小阈值,采用lru算法清理所述内存,使所述占用空间低于所述内存大小阈值。
39、另一方面,本发明实施例还提供了一种计算机装置,其特征在于,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行上述方面实施例所述的基于rpa的数据共享方法。
40、另一方面,本发明实施例还提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行上述方面实施例所述的基于rpa的数据共享方法。
41、根据本发明的一种基于rpa的数据共享方法、系统、装置和存储介质,至少具有如下有益效果:本发明实施例通过在控制器中设置缓存层和持久化层,控制器通过缓存层访问内存中的数据,通过持久化层访问数据库中的数据。机器人需要通过特定的api访问控制器以对数据进行更改,机器人的访问类型包括读取、写入和删除中的至少之一。机器人访问结束后,控制器将本次访问的数据和访问日志通过所述持久化层存储于所述数据库中。本发明实施例中机器人通过控制器的缓存层和持久化层,访问内存和数据库内的特定模型的数据的方法,避免了将数据以变量的形式进行保存、多个流程的机器人操作同一文件以及多个流程的机器人操作同一数据库三种方法的缺点,提高了流程之间数据共享的效率、安全性和可靠性。