本发明涉及生物信息分析技术领域,特别是涉及一种基于katalon的工单录入装置及其实现方法。
背景技术:
目前,很多企业,例如银行、保险、零售,都面临着投入大量人力成本在重复性的业务单据处理、在几个不同的it系统之间拷贝工单数据的问题。这种重复性的数据处理工作,既占用了企业大量的人力成本,也存在一定的出错率,并且也不能使员工能力得到持续的提升。
为了解决上述问题,现有技术也产生两种解决方法:
1、使用网页爬虫方式:网络爬虫是按照一定的规则,自动地抓取万维网信息的程序或者脚本,即使用网络爬虫方式抓取业务操作涉及到的接口,通过发送http/https请求的方式,获得业务单据数据,以简化操作步骤。然而,这种方式存在如下缺点:1)针对于从网页获取招标信息来讲,爬虫可以实现,但相应地时间和周期相对较长;2)开发的工作量巨大:对于安全性高的网站,需要阅读javascript脚本的处理逻辑,以满足提交请求的参数要求,可能需要提交十多个乃至数十个隐藏的参数;3)网络爬虫不存在可视化开发页面。
2、制作脚本,让程序(例如按键精灵)代替双手,自动执行一系列鼠标键盘动作,然而,这些红方式存在如下缺点:1)只能在单台windows服务器上运行,难以并行执行大量任务,没有统计任务执行的结果;2)迁移性差:定制化生成的脚本只适用于本机,难以到另外的机器上运行。
技术实现要素:
为克服上述现有技术存在的不足,本发明之目的在于提供一种基于katalon的工单录入装置及其实现方法,以解决现有业务员需要频繁在多个软件或it系统间搬运业务数据,耗费大量时间和人力成本的问题。
为达上述及其它目的,本发明提出一种基于katalon的工单录入装置,包括:
web模块,获取甩单请求,根据所述甩单请求的业务数据校验用户在对应的工单系统是否已经登录,于确定用户已登录对应的工单系统后,调用甩单接口获取业务数据,并将业务数据传给后台,以便后续进行业务操作,所述web模块于接收到任务请求时,把任务下发到消息队列模块的消息队列中;
消息队列模块,用于提供消息队列,以将所述web模块下发的任务插入到消息队列中,以便机器人模块主动消费消息队列的任务。
机器人模块,包括内置katalon软件的多个分布式机器人,各分布式机器人根据配置好的执行任务类型,主动消费消息队列的任务,启动katalon进程,进行相应的业务操作。
优选地,所述web模块还通过模拟人工定时点击系统的方式,保持用户系统账号的常驻登录状态。
优选地,所述web模块进一步包括:
甩单请求单元,用于获取甩单请求;
登录校验单元,用于根据所述甩单请求中的业务数据的名称校验用户在对应的工单系统是否已经登录,若校验结果为已登录,则启动业务数据获取单元,若校验结果为未登录,则启动登录验证单元;
业务数据获取单元,用于调用甩单接口获取业务数据,并将业务数据传递给后台,以便后续进行业务操作;
登录验证单元,用于通过登录页面提供用户输入登录验证相关信息,并对用户输入的登录验证相关信息进行验证;
任务接收处理单元,用于在登录并获取业务数据后,接收到任务请求时,把任务下发到消息队列模块的消息队列中。
优选地,所述登录验证单元还调用负责登录部分的katalon程序,把用户的账号和密码以及其他配置信息录入到登录页面中。
优选地,所述web模块还包括监控管理单元,用于监控所述机器人模块的各个机器人是否在线,以及获取机器人当前运行的katalon线程数量。
优选地,所述监控管理单元还通过机器人管理页面,对机器人下发停止和启动指令,或者修改机器人的最大并发数,执行任务类型。
优选地,所述web模块还包括监控结果输出单元,用于及时通过页面输出相关的任务数据和结果。
优选地,所述机器人模块的各分布式机器人支持分布式集群部署。
优选地,所述机器人模块的各分布机器人之间采用rsync进行katalon脚本的同步。
为达到上述目的,本发明还提供一种基于katalon的工单录入装置的实现方法,包括如下步骤:
步骤s1,利用web模块提供相应的页面获取甩单请求,根据所述甩单请求的业务数据校验用户在对应的工单系统是否已经登录,于确定用户已登录对应的工单系统后,调用甩单接口获取业务数据,并将业务数据传给后台,以便后续进行相关业务操作;
步骤s2,当所述web模块接收到任务请求时,把任务下发到消息队列模块的消息队列中;
步骤s3,机器人模块的各分布式机器人根据配置好的执行任务类型,主动消费消息队列的任务,启动katalon进程,进行相应的业务操作。
与现有技术相比,本发明一种基于katalon的工单录入装置及其实现方法通过利用web模块把需要处理的业务放到消息队列中,供机器人集群进行处理,机器人集群的各分布式机器人根据业务数据启动katalon进程(区分业务和登录两种类型),当任务执行完毕后,机器人把成功或失败的结果和截图,回填数据等保存到到数据库中,以供监控查询使用,通过本发明,可解决现有业务员需要频繁在多个软件或it系统间搬运业务数据,耗费大量时间和人力成本的问题。
附图说明
图1为本发明一种基于katalon的工单录入装置的系统架构图;
图2为本发明具体实施例中web模块的细部结构图;
图3为本发明具体实施例中katalon脚本同步过程示意图;
图4为本发明一种基于katalon的工单录入装置的实现方法的步骤流程图;
图5为本发明实施例中用户登录的流程图;
图6为本发明实施例中web模块对机器人模块监控管理流程示意图;
图7为本发明实施例的系统架构图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
图1为本发明一种基于katalon的工单录入装置的系统架构图。如图1所示,本发明一种基于katalon的工单录入装置,包括:web模块10、消息队列模块20以及机器人模块
web模块10,获取甩单请求,根据所述甩单请求的业务数据校验用户在对应的工单系统是否已经登录,于确定用户已登录对应的工单系统后,调用甩单接口获取业务数据,并将业务数据传给后台,以便后续进行业务操作,所述web模块10于接收到任务请求时,把任务下发到消息队列模块20的消息队列中。
在本发明中,甩单指的是用户向本发明之工单录入装置提供订单业务所需的数据,本发明之工单录入装置替代业务员操作,在业务系统中录入订单数据,所述甩单请求中包含用户所提供的业务数据;若同一次业务操作中,若需从另外的系统中获取数据,则先访问该系统,读取所需要的数据后,在浏览器进行url跳转到另一个系统中,把获取的数据录入进去。
优选地,当确定用户已登录对应的工单系统后,所述web模块10还通过模拟人工定时点击系统的方式,保持用户系统账号的常驻登录状态,这样当用户录入业务数据后,能在原来的系统基础上,继续进行业务操作,实现一次登录,长期使用。
具体地,如图2所示,web模块10进一步包括:
甩单请求单元101,用于获取甩单请求,在本发明具体实施例中,甩单请求单元101通过相应的页面供用户产生甩单请求操作,例如用户可于相应页面通过上传excel(excel已经填写了业务数据),或在相应页面填写业务数据后,点击提交按钮,则产生甩单请求操作,所述甩单请求单元101获得甩单请求。
登录校验单元102,用于根据所述甩单请求中的业务数据的名称校验用户在对应的工单系统是否已经登录,若校验结果为已登录,则启动业务数据获取单元103,若校验结果为未登录,则启动登录验证单元104。在本发明具体实施例中,假设用户上传了excel文件的业务数据,则根据其excel名字可识别到业务名称,并校验用户在该业务名称对应的工单系统是否已经登录。
业务数据获取单元103,用于调用甩单接口获取业务数据,并将业务数据传递给后台,以便后续进行业务操作。
登录验证单元104,用于通过登录页面提供用户输入登录验证相关信息,并对用户输入的登录验证相关信息进行验证。在本发明具体实施例中,登录验证单元104调用负责登录部分的katalon程序,把用户的账号和密码以及其他配置信息(预先设置的)录入到登录页面中,于登录验证单元104启动时,显示图形验证码截图或者提示用户输入手机验证码,当用户输入登录验证码后,登录验证单元104获取登录验证相关信息,并将登录验证相关信息发送到katalon程序中,以与预先设置录入到登录页面的信息进行验证,以判断用户是否登录成功,并在登录成功后,启动业务数据获取单元103,调用甩单接口获取业务数据,并将业务数据传递给后台。
任务接收处理单元105,用于在登录并获取业务数据后,接收到任务请求时,把任务下发到消息队列模块20的消息队列中。
消息队列模块20,用于提供消息队列,以将web模块10下发的任务插入到消息队列中,以便机器人模块30主动消费消息队列的任务。
机器人模块30,包括多个分布式机器人,各分布式机器人根据配置好的执行任务类型,主动消费消息队列的任务,启动katalon进程,进行相应的业务操作。对于配置了同一执行类型的分布式机器人,通过预设的竞争规则竞争获得消费队列中相应的任务,例如a1,a2为竞争关系,通过竞争规则竞争对应任务,谁取到任务谁执行。若a1竞争取到一个任务执行后,则会休眠一定时间(时间可配置)后再去轮询是否有新任务。
包括各分布式机器人的机器人模块30为本发明自动执行业务流程的核心部分,各分布式机器人内置katalon软件,其支持分布式集群部署,负责管理katalon进程的数量和调用katalon进程,以进行相应的业务操作。
katalonstudio是一款为测试人员而诞生的简单却有强大的自动化解决工具。本发明中,使用katalon作为配置业务流程步骤的工具。使用katalon本身具备的可视化配置界面,能快速定位到页面的元素(按钮,下拉框等),以及操作(点击等操作)。
在katalon的基础上,本发明之工单录入装置封装了katalon与系统数据库交互的接口,以及常用的操作(点击,输入,选择等),使得katalon操作业务后的结果(截图,抓取的数据)能回填到本发明之工单录入装置中,便于使用者查询结果。
在本发明具体实施例中,每个业务对应一个katalon脚本,由于机器人提供集群服务,所以需要每个机器人,都有同样的流程服务能力,从而需要把katalon脚本在各个机器人模块的服务器上进行部署,这就涉及到katalon脚本的新增和同步修改的功能。
在本发明具体实施例中,机器人模块30的各分布机器人之间采用rsync(rsync为linux系统下的数据镜像备份工具,使用快速增量备份工具remotesync可以远程同步,支持本地复制,或者与其他ssh、rsync主机同步)进行katalon脚本的同步,以其中一台机器人服务器作为源服务器,当需要新增或者修改katalon脚本时,只需要往源服务器的特定文件夹下新增或修改katalon脚本,rsync会检测到监控的目标文件夹被修改,从而把更改内容同步到其他机器人模块的服务器中,如图3所示。
优选地,为了方便对系统性能的监控,web模块10还包括监控管理单元,用于监控机器人模块30的各个机器人是否在线,以及获取机器人当前运行的katalon线程数量等,优选地,监控管理单元还通过机器人管理页面,对机器人下发停止和启动指令,或者修改机器人的最大并发数,执行任务类型等,达到机器人资源优化和管理的有益效果。例如,设置执行a类任务的机器人有两台,当其中一台机器人挂掉后,另一台机器人仍会执行a类任务,避免了机器人模块单点故障问题。此外,由于机器人执行任务的类型是可配置的,在生产环境中能够根据需要线性增加机器人的数量,从而显著提高机器人模块的并发度。
优选地,所述web模块10还包括监控结果输出单元,用于提供用户查看任务数据和结果,也就是说所述web模块10会及时通过页面输出相关的任务数据和结果,以便用户能够及时在页面上看到任务执行的情况,回填数据(业务执行过程可能需要抓取数据,保存到本发明之工单录入装置中,便于检验或使用),以及截图(无论成功或者失败都会提供截图作为证据保留)。
图4为本发明一种基于katalon的工单录入装置的实现方法的步骤流程图。如图4所示,本发明一种基于katalon的工单录入装置的实现方法,包括如下步骤:
步骤s1,利用web模块提供相应的页面获取甩单请求,根据所述甩单请求的业务数据校验用户在对应的工单系统是否已经登录,于确定用户已登录对应的工单系统后,调用甩单接口获取业务数据,并将业务数据传给后台,以便后续进行相关业务操作。
在本发明中,所述甩单指的是用户向本发明之工单录入装置提供订单业务所需的数据,本发明之工单录入装置替代业务员操作,在业务系统中录入订单数据,所述甩单请求中包含用户所提供的业务数据。
优选地,当确定用户已登录对应的工单系统后,所述web模块还通过模拟人工定时点击系统的方式,保持用户系统账号的常驻登录状态,这样当用户录入业务数据后,能在原来的系统基础上,继续进行业务操作,实现一次登录,长期使用。
具体地,步骤s1进一步包括进一步包括:
步骤s100,获取甩单请求,在本发明具体实施例中,利用web模块通过相应的页面供用户产生甩单请求操作,例如用户可于相应页面通过上传excel(excel已经填写了业务数据),或在相应页面填写业务数据后,点击提交按钮,则产生甩单请求操作。
步骤s101,根据所述甩单请求中的业务数据的名称校验用户在对应的工单系统是否已经登录,若校验结果为已登录,则进入步骤s102,若校验结果为未登录,则进入步骤s103。在本发明具体实施例中,假设用户上传了excel文件的业务数据,则根据其excel名字可识别到业务名称,并校验用户在该业务名称对应的工单系统是否已经登录。
步骤s102,调用甩单接口获取业务数据,并将业务数据传递给后台,以便后续进行业务操作。
步骤s103,通过登录页面提供用户输入登录验证相关信息,并对用户输入的登录验证相关信息进行验证。在本发明具体实施例中,调用负责登录部分的katalon程序,把用户的账号和密码以及其他配置信息(预先设置的)录入到登录页面中,于进入步骤s103后,显示图形验证码截图或者提示用户输入手机验证码,当用户输入登录验证码后,获取登录验证相关信息,并将登录验证相关信息发送到katalon程序中,以与预先设置录入到登录页面的信息进行验证,以判断用户是否登录成功,并在登录成功后,进入步骤s102,调用甩单接口获取业务数据,并将业务数据传递给后台。
步骤s2,当所述web模块接收到任务请求时,把任务下发到消息队列模块的消息队列中。
步骤s3,机器人模块的各分布式机器人根据配置好的执行任务类型,主动消费消息队列的任务,启动katalon进程,进行相应的业务操作。
包括各分布式机器人的机器人模块为本发明自动执行业务流程的核心部分,各分布式机器人内置katalon软件,其支持分布式集群部署,负责管理katalon进程的数量和调用katalon进程,以进行相应的业务操作。
优选地,本发明之基于katalon的工单录入装置的实现方法,还包括如下步骤:
利用web模块监控机器人模块的各个机器人是否在线,以及获取机器人当前运行的katalon线程数量等。
优选地,本发明之基于katalon的工单录入装置的实现方法,还包括:
利用web模块对机器人下发停止和启动指令,或者修改机器人的最大并发数,执行任务类型等,以达到机器人资源优化和管理的有益效果。例如,设置执行a类任务的机器人有两台,这样当其中一台机器人挂掉后,另一台机器人仍会执行a类任务,避免了机器人模块单点故障问题。此外,由于机器人执行任务的类型是可配置的,在生产环境中能够根据需要线性增加机器人的数量,从而显著提高机器人模块的并发度。
于步骤s3中,可利用多个分布式机器人执行某一任务,这样当其中一台机器人挂掉后,另一台机器人仍会执行,则避免了机器人模块单点故障问题。具体地,假设执行a类任务的机器人有两台,当其中一台机器人挂掉后,另一台机器人仍会执行a类任务,避免了机器人模块单点故障问题。此外,由于机器人执行任务的类型是可配置的,在生产环境中能够根据需要线性增加机器人的数量,从而显著提高机器人模块的并发度。
优选地,本发明之基于katalon的工单录入装置的实现方法,还包括:
利用所述web模块及时通过页面输出相关的任务数据和结果,以便用户能够及时在页面上看到任务执行的情况,回填数据(业务执行过程可能需要抓取数据,保存到本发明之工单录入装置中,便于检验或使用),以及截图(无论成功或者失败都会提供截图作为证据保留)。
实施例
在本实施例中,所述基于katalon的工单录入装置的实现步骤如下:
步骤1,利用web模块提供相应的页面获取甩单请求,根据所述甩单请求的业务数据校验用户在对应的工单系统是否已经登录,于确定用户已登录对应的工单系统后,调用甩单接口获取业务数据,并将业务数据传给后台。
也就是说,在用户向所述工单录入装置提供某个业务所需数据的前置动作,以确保提交业务数据前,所述工单录入装置已经对业务系统进行登录,如图5所示,具体登录过程如下:
首先所述工单录入装置调用负责登录部分的katalon程序,将用户的账号和密码以及其他配置信息(提前在装置中保存好了)录入到登录页面中。
当用户通过上传excel(excel已经填写了业务数据),或在页面填写业务数据后,点击提交按钮。
此时根据业务名称(通过excel名字识别到业务名称),调用登录校验接口校验用户在对应的工单系统是否已经登录,若系统已经登录,则通知前端页面提交业务数据,调用甩单接口(本实施例支持多条数据录入)获取业务数据,并把业务数据传给装置后台,以便后续进行业务操作;如果没有登录,则通知web前端,提示用户输入账号和密码等登录信息,并显示图形验证码截图或者提示用户输入手机验证码,当用户输入相关登录信息后,将数据发送到katalon程序中,进行后续的登录操作,并在登录成功后,通知web前端页面提交业务数据,调用甩单接口获取业务数据,以便后续进行业务操作。
此操作是为了保障用户业务的自动化操作,能够通过it系统的权限校验。另外,允许用户提前进行登录操作,以便后续甩单过程不需要再次输入验证码等。
步骤2,web模块把需要处理的业务放到消息队列中,供机器人集群进行处理,机器人根据业务数据启动katalon进程(区分业务和登录两种类型),当任务执行完毕后,机器人把成功或失败的结果和截图,回填数据等保存到到数据库中,以供监控台查询使用,如图6所示。
也就是说,web模块把任务下发到消息队列中,各分布式机器人根据配置好的执行任务类型:特定类型或者几种类型(支持类型名称的模糊匹配),主动消费消息队列的任务,然后启动katalon进程,进行业务操作。
例如执行a类任务的机器人有两台,当其中一台机器人挂掉后,另一台机器人仍会执行a类任务,避免了机器人模块单点故障问题。此外,由于机器人执行任务的类型是可配置的,在生产环境中能够根据需要线性增加机器人的数量,从而显著提高机器人模块的并发度。
为了方便对系统性能的监控,web模块还会监控各个机器人是否在线,以及获取机器人当前运行的katalon线程数量等。并且通过在web模块对机器人管理页面,对机器人下发停止和启动指令,或者修改机器人的最大并发数,执行任务类型等,达到机器人资源优化和管理的有益效果,如图7所示。
综上所述,本发明一种基于katalon的工单录入装置及其实现方法通过利用web模块把需要处理的业务放到消息队列中,供机器人集群进行处理,机器人集群的各分布式机器人根据业务数据启动katalon进程(区分业务和登录两种类型),当任务执行完毕后,机器人把成功或失败的结果和截图,回填数据等保存到到数据库中,以供监控查询使用,通过本发明,可解决现有业务员需要频繁在多个软件或it系统间搬运业务数据,耗费大量时间和人力成本的问题。
与现有技术相比,本发明具有如下有益效果:
(1)用户在进行业务数据录入时不需要每次都重复登录系统(减少了手机验证码和图形验证码的输入),通过模拟人工定时点击系统的方式,保持用户系统账号的常驻登录状态。当用户录入业务数据后,能在原来的系统基础上,继续进行业务操作。
(2)支持一次登录,并行处理多个业务。业务员只需要登录一次系统,本装置通过复制登录系统后所获取的cookie,在多个浏览器上复制出多个相同的登录成功的系统页面,从而并发处理多个业务。
(3)支持多个系统之间的数据搬运。通过复制系统cookie的方式,能在新打开的浏览器页面访问登录后的系统,用串行的方式,从单个系统得到所需数据,为其他系统业务处理提供所需数据。
(4)支持用户查询所有任务执行情况和结果截图(成功或失败),以及执行过程获取的有效数据。通过错误信息和截图能了解到失败原因(例如数据本身的问题,或者是系统做了修改)。而对失败的任务修改数据后重新执行,方便用户对错单重新执行。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
1.一种基于katalon的工单录入装置,包括:
web模块,获取甩单请求,根据所述甩单请求的业务数据校验用户在对应的工单系统是否已经登录,于确定用户已登录对应的工单系统后,调用甩单接口获取业务数据,并将业务数据传给后台,以便后续进行业务操作,所述web模块于接收到任务请求时,把任务下发到消息队列模块的消息队列中;
消息队列模块,用于提供消息队列,以将所述web模块下发的任务插入到消息队列中,以便机器人模块主动消费消息队列的任务。
机器人模块,包括内置katalon软件的多个分布式机器人,各分布式机器人根据配置好的执行任务类型,主动消费消息队列的任务,启动katalon进程,进行相应的业务操作。
2.如权利要求1所述的一种基于katalon的工单录入装置,其特征在于:所述web模块还通过模拟人工定时点击系统的方式,保持用户系统账号的常驻登录状态。
3.如权利要求1所述的一种基于katalon的工单录入装置,其特征在于,所述web模块进一步包括:
甩单请求单元,用于获取甩单请求;
登录校验单元,用于根据所述甩单请求中的业务数据的名称校验用户在对应的工单系统是否已经登录,若校验结果为已登录,则启动业务数据获取单元,若校验结果为未登录,则启动登录验证单元;
业务数据获取单元,用于调用甩单接口获取业务数据,并将业务数据传递给后台,以便后续进行业务操作;
登录验证单元,用于通过登录页面提供用户输入登录验证相关信息,并对用户输入的登录验证相关信息进行验证;
任务接收处理单元,用于在登录并获取业务数据后,接收到任务请求时,把任务下发到消息队列模块的消息队列中。
4.如权利要求3所述的一种基于katalon的工单录入装置,其特征在于:所述登录验证单元还调用负责登录部分的katalon程序,把用户的账号和密码以及其他配置信息录入到登录页面中。
5.如权利要求3所述的一种基于katalon的工单录入装置,其特征在于:所述web模块还包括监控管理单元,用于监控所述机器人模块的各个机器人是否在线,以及获取机器人当前运行的katalon线程数量。
6.如权利要求5所述的一种基于katalon的工单录入装置,其特征在于:所述监控管理单元还通过机器人管理页面,对机器人下发停止和启动指令,或者修改机器人的最大并发数,执行任务类型。
7.如权利要求5所述的一种基于katalon的工单录入装置,其特征在于:所述web模块还包括监控结果输出单元,用于及时通过页面输出相关的任务数据和结果。
8.如权利要求1所述的一种基于katalon的工单录入装置,其特征在于:所述机器人模块的各分布式机器人支持分布式集群部署。
9.如权利要求1所述的一种基于katalon的工单录入装置,其特征在于:所述机器人模块的各分布机器人之间采用rsync进行katalon脚本的同步。
10.一种基于katalon的工单录入装置的实现方法,包括如下步骤:
步骤s1,利用web模块提供相应的页面获取甩单请求,根据所述甩单请求的业务数据校验用户在对应的工单系统是否已经登录,于确定用户已登录对应的工单系统后,调用甩单接口获取业务数据,并将业务数据传给后台,以便后续进行相关业务操作;
步骤s2,当所述web模块接收到任务请求时,把任务下发到消息队列模块的消息队列中;
步骤s3,机器人模块的各分布式机器人根据配置好的执行任务类型,主动消费消息队列的任务,启动katalon进程,进行相应的业务操作。
技术总结