一种脚本执行方法及装置与流程

文档序号:17078633发布日期:2019-03-08 23:59阅读:130来源:国知局
一种脚本执行方法及装置与流程

本申请涉及数据处理技术领域,尤其涉及一种脚本执行方法及装置。



背景技术:

erp(enterpriseresourceplanning)系统是指建立在信息技术基础上,集信息技术与先进管理思想于一身,以系统化的管理思想,为企业员工及决策层提供决策手段的管理平台。erp系统实际应用中更重要的是应该体现其“管理工具”的本质,其主要宗旨是对企业所拥有的人、财、物、信息、时间和空间等综合资源进行综合平衡和优化管理。

如图1所示,以电商平台与经销商为例,安装了erp系统的终端设备200通常设在经销商一端,当用户在电商平台下单后,电商平台产生订单信息并保存在电商平台数据系统100中,经销商需要从电商平台数据系统100中获取单据并录入自己的erp系统中,以方便对商品销售情况进行管理。经销商一方从电商平台拿到单据后,通常需要人工将信息录入erp系统中,然而,人工录入信息很难保证数据录入的准确性,并且一旦订单量巨大,想要完全靠人工的方式快速实时的录入单据也是很难实现的。为了避免人工录入存在的浪费人力和录入错误率高的问题,目前企业都在开发接口,使得erp系统和类似于电商平台这种数据系统对接起来,进而实现数据系统的单据可以自动进入erp系统中。

事实上,想要实现电商平台数据系统与erp系统的数据对接,这两个系统的对接接口必须相同。但是,目前市面上不同企业发开的erp系统大约有1500-2000种版本,每一种erp系统的接口很大程度上都是互不相同的,而与之对接的电商平台的数据系统则需要安装很多互不相同的接口以适应经销商的不同版本的erp,所以,想要实现所有的erp系统都能与一个电商平台数据系统对接是很困难的。此外,有些erp系统的版本过低,也会不支持接口对接的方式。因此,如何实现不同版本的erp系统和数据系统对接成为本领域技术人员亟待解决的问题。



技术实现要素:

本申请提供了一种脚本执行方法及装置,实现不同版本的erp系统和不同数据系统对接,或者两个不同数据结构系统相互对接的问题。

一方面,本申请实施例提供一种脚本执行方法,包括:

获取脚本中的帧图像和操作界面的当前画面帧,所述帧图像为脚本录制时截取的操作界面的图像,所述当前画面帧为脚本执行时截取的操作界面当前的图像;

如果所述当前画面帧与所述帧图像匹配,则获取当前画面帧上与帧图像上标识对应的关键区域;

根据所述帧图像中标识与动作发生位置的相对位置关系,以及所述当前画面帧上的关键区域,确定操作界面上的动作执行位置;

在所述动作执行位置上执行所述帧图像对应的动作,所述帧图像用于表示脚本录制时操作界面上发生的动作,每一个所述帧图像对应一个动作。

可选的,所述根据帧图像中标识与动作发生位置的相对位置关系,以及所述当前画面帧上的关键区域,确定操作界面上的动作执行位置的步骤包括:

根据帧图像中标识与动作发生位置的相对位置关系,以及所述当前画面帧上的关键区域,确定所述当前画面帧上与所述关键区域具有相对位置关系的实际执行位置;

寻找所述当前画面帧对应的操作界面上与所述实际执行位置相同的动作执行位置。

可选的,所述获取当前画面帧上与帧图像上标识对应的关键区域的步骤包括:

获取帧图像中标识的相关信息,所述相关信息包括标识形状、标识面积和标识内容;

检测所述当前画面帧中是否包含所述标识内容;

如果所述当前画面帧中包含所述标识内容,则根据标识形状和标识面积确定包含所述标识内容的关键区域。

可选的,所述确定当前画面帧上与所述关键区域具有相对位置关系的实际执行位置的步骤包括:

以所述关键区域为坐标原点,在所述当前画面帧上建立平面直角坐标系;

根据所述相对位置关系,确定标识与动作发生位置的坐标关系;

根据所述标识与动作发生位置的坐标关系,确定关键区域与实际执行位置的坐标关系;

根据所述关键区域与实际执行位置的坐标关系,在所述平面直角坐标上确定所述实际执行位置。

可选的,所述获取当前画面帧上与帧图像上标识对应的关键区域的步骤还包括:

获取所述帧图像上标识的数量;

根据所述标识的数量,分别获取当前画面帧上与所述标识对应的所有关键区域。

另一方面,本申请实施例提供了一种脚本执行装置,包括:

画面获取单元,用于获取脚本中的帧图像和操作界面的当前画面帧,所述帧图像为脚本录制时截取的操作界面的图像,所述当前画面帧为脚本执行时截取的操作界面当前的图像;

关键区域获取单元,用于如果所述当前画面帧与所述帧图像匹配,则获取当前画面帧上与帧图像上标识对应的关键区域;

目标位置确定单元,用于根据所述帧图像中标识与动作发生位置的相对位置关系,以及所述当前画面帧上的关键区域,确定操作界面上的动作执行位置;

动作执行单元,用于在所述动作执行位置上执行所述帧图像对应的动作,所述帧图像用于表示脚本录制时操作界面上发生的动作,每一个所述帧图像对应一个动作。

可选的,所述目标位置确定单元包括:

实际执行位置确定单元,用于根据帧图像中标识与动作发生位置的相对位置关系,以及所述当前画面帧上的关键区域,确定所述当前画面帧上与所述关键区域具有相对位置关系的实际执行位置;

动作执行位置确定单元,用于寻找所述当前画面帧对应的操作界面上与所述实际执行位置相同的动作执行位置。

可选的,所述关键区域获取单元包括:

标识信息获取单元,用于获取帧图像中标识的相关信息,所述相关信息包括标识形状、标识面积和标识内容;

内容检测单元,用于检测所述当前画面帧中是否包含所述标识内容;

区域确定单元,用于如果所述当前画面帧中包含所述标识内容,则根据标识形状和标识面积确定包含所述标识内容的关键区域。

可选的,所述实际执行位置确定单元包括:

坐标系建立单元,用于以所述关键区域为坐标原点,在所述当前画面帧上建立平面直角坐标系;

第一坐标关系确定单元,用于根据所述相对位置关系,确定标识与动作发生位置的坐标关系;

第二坐标关系确定单元,用于根据所述标识与动作发生位置的坐标关系,确定关键区域与实际执行位置的坐标关系;

第三执行位置确定单元,用于根据所述关键区域与实际执行位置的坐标关系,在所述平面直角坐标上确定所述实际执行位置。

可选的,所述关键区域获取单元,还用于:

获取所述帧图像上标识的数量;

根据所述标识的数量,分别获取当前画面帧上与所述标识对应的所有关键区域。

由以上技术方案可知,本申请实施例提供一种脚本执行方法及装置,包括:获取脚本中的帧图像和操作界面的当前画面帧;如果当前画面帧与帧图像匹配,则获取当前画面帧上与帧图像上标识对应的关键区域;根据帧图像中标识与动作发生位置的相对位置关系,以及当前画面帧上的关键区域,确定操作界面上的动作执行位置;在动作执行位置上执行帧图像对应的动作。本申请的技术方案中,根据帧图像中的标识确定操作界面上的动作执行位置,以便在操作界面上执行动作,可实现界面自动操作和数据自动录入,通过脚本执行的方式在操作界面上执行动作,还使得待输入数据存在系统与操作界面系统之间无接口对接,避免系统之间版本不同或者接口不同造成的数据无法直接录入的问题。

附图说明

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

图1为本申请提供的电商平台数据系统与erp系统对接的示意图;

图2为本申请实施例提供的一种脚本执行方法的流程图;

图3为本申请实施例提供的一种帧图像的局部示意图;

图4为本申请实施例提供的第二种帧图像的示意图;

图5为本申请实施例提供的第三种帧图像的示意图;

图6为本申请实施例提供的第四种帧图像的示意图;

图7为本申请实施例提供的一种脚本执行装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

参见图2,本申请实施例提供了一种脚本执行方法,包括:

步骤101,获取脚本中的帧图像和操作界面的当前画面帧,所述帧图像为脚本录制时截取的操作界面的图像,所述当前画面帧为脚本执行时截取的操作界面当前的图像;本申请实施例中的技术方案基于操作界面的画面帧与脚本中的帧图像比对执行,进而实现执行脚本的目的。以图1中的电商平台数据系统与erp系统为例,帧图像可以是预先录制好的操作erp系统的图像,画面帧是执行脚本时获取的erp系统的截图,在erp的操作界面上,每当进行一个步骤都会获取一个当前界面的截图和该步骤对应的帧图像,以便根据该帧图像操作erp系统。

步骤102,如果所述当前画面帧与所述帧图像匹配,则获取当前画面帧上与帧图像上标识对应的关键区域;帧图像与当前画面帧匹配对脚本的执行有着非常重要的作用,如果二者不匹配,则说明当前待执行步骤与当前获取的帧图像不相同或者相似度低,帧图像可能存在获取错误的问题,或者存在当前待执行步骤与当前画面帧不匹配的问题,以及当前erp系统的操作步骤存在错误。此时,需要重新获取步骤、重新获取帧图像或者重新获取当前画面帧,直至帧图像与当前画面帧匹配,进而执行正确的脚本,完成向erp系统录入数据。如果当前画面帧与脚本中的帧图像匹配,则说明二者相同或者相似度高,此时可以利用该帧图像进行动作的执行,在执行动作之前还要获取当前画面帧上与帧图像上标识对应的关键区域。

关键区域相当于当前画面帧中的标识,与帧图像中的标识意义是相同的,都可以标定动作的位置。

值得说明的是,匹配的过程可以利用二值化处理或灰度处理来完成,对当前画面帧和帧图像进行二值化处理或灰度处理之后,再对比处理后两张图像的相似度,如果相似度到达要求,则说明当前画面帧和帧图像匹配,反之,如果相似度未达到要求,则说明二者不匹配。

进一步的,所述获取当前画面帧上与帧图像上标识对应的关键区域的步骤包括:

步骤301,获取帧图像中标识的相关信息,所述相关信息包括标识形状、标识面积和标识内容;帧图像中的标识是用于标记图像中动作位置的一块区域或者几块区域,这块区域由于存在于帧图像上,所以也是一块图像。每一个帧图像中的标识是唯一或者说每一个标识是唯一的,也就是说标识所包括的图像在这整个图像中是独一无二的,一般的,在录制脚本的过程中,通常在录制的图像上检测一块或者几块与图像其他部分均不相同的图像,以此块图像或者及块图像来标定动作的位置。

步骤302,检测所述当前画面帧中是否包含所述标识内容;如图3所示是一张帧图像的示意图,在此帧图像上有一个标识1,该标识1是用一个矩形框住了桌面上与其他任何一个图标都不相同的图标,该标识1的内容就是这个图标的图案,如果要获取与帧图像相匹配的当前画面帧上的关键区域,则需要在当前画面帧上检测是否存在标识1的标识内容,即检测当前画面帧是否存在标识1中的图标。当然,标识内容不仅仅可以是图3中的某一个图标,还可以是整个帧图像上唯一一个与其他内容不相同的文字内容,例如图4中的标识2,该标识2中的标识内容就是文字内容。

步骤303,如果所述当前画面帧中包含所述标识内容,则根据标识形状和标识面积确定包含所述标识内容的关键区域。如上图3所示,如果当前画面帧存在标识1中的图标,又获取了标识1的形状为矩形,及该矩形的面积,则可以在当前画面帧上包含有标识1图标的位置再框出一个相同的矩形,这个矩形就是前述所说的关键区域。由于标识在帧图像上是唯一的,所以关键区域在当前画面帧上也应该是唯一的,该关键区域包括的内容与标识的内容相同,关键区域的形状与标识的形状相同。

值得说明的是,本申请中的标识形状并不是仅仅限于矩形,例如圆形也是可以的,只是考虑到矩形的形状规整,便于在坐标系中建立各个点的坐标,所以本申请实施例中优选采用了矩形为标识形状,但并不说明本申请排除了其他可用坐标表示的形状。

另外,标识在帧图像中不仅起到标定动作发生位置的作用,在帧图像与画面帧的匹配过程还能起到检测的作用,利用帧图像上唯一的标识检测当前画面帧中是否存在与标识对应的唯一的关键区域,如果存在,则说明二者匹配,此时则可以直接根据关键区域与标识的相对位置关系对动作执行位置进行确定。

可选的,所述获取当前画面帧上与帧图像上标识对应的关键区域的步骤还包括:

步骤401,获取所述帧图像上标识的数量;图3和图4中所示的都是帧图像上只有一个标识的情况,在这种情况下,只根据一个标识就可以确定帧图像上的动作发生位置。但是为了,对动作发生位置进行更加准确的定位,本申请实施例中还可以根据多个标识确定一个位置。而在实际的应用中,脚本中可能存在很多种情况,可能有的帧图像中包含一个标识,可能有的帧图像中包含多个标识,所以,在获取当前画面帧中的关键区域之前,还要获取帧图像上的标识数量,根据标识数量,判断是否在当前画面帧中获取一个关键区域还是获取多个关键区域。

步骤402,根据所述标识的数量,分别获取当前画面帧上与所述标识对应的所有关键区域。如果帧图像上的标识仅为一个,则在当前画面帧上只需要获取一个与该标识对应的关键区域;如果帧图像上的标识为多个,则需要在当前画面帧上分别获取每一个标识对应的关键区域。如图5所示,如果帧图像上存在多个标识2,则需要分别获取与该帧图像匹配的当前画面帧上的与各个标识对应的关键区域。

步骤103,根据所述帧图像中标识与动作发生位置的相对位置关系,以及所述当前画面帧上的关键区域,确定操作界面上的动作执行位置;图5中,矩形区域即为标识2,鼠标点击位置即为动作发生位置,如果帧图像中的标识只有一个,利用该标识与动作发生位置的坐标关系,建立标识与动作的相对位置关系,此后,只要获取到标识,就可以获取到动作发生位置。然后再获取当前画面帧上的关键区域,由于关键区域与标识的意义相同,所以关键区域也可以具有与动作的相对位置关系,所以,在当前画面帧上根据关键区域与相对位置关系,就可以确定动作的位置,再由于当前画面帧是与操作界面实时同步的,其上的动作位置就是操作界面的动作执行位置,所以进一步可确定操作界面上的动作执行位置。

如果帧图像中的标识有多个,那么可以根据多个标识与动作之间建立的相对位置关系来确定动作的发生位置,进而确定当前画面帧与操作界面帧上的动作执行位置。

可选的,所述根据帧图像中标识与动作发生位置的相对位置关系,以及所述当前画面帧上的关键区域,确定操作界面上的动作执行位置的步骤包括:

步骤201,根据帧图像中标识与动作发生位置的相对位置关系,以及所述当前画面帧上的关键区域,确定所述当前画面帧上与所述关键区域具有相对位置关系的实际执行位置。

可选的,所述确定当前画面帧上与所述关键区域具有相对位置关系的实际执行位置的步骤包括:

步骤501,以所述关键区域为坐标原点,在所述当前画面帧上建立平面直角坐标系。如图6所示,在帧图像中建立标识与动作发生位置的相对位置关系时,以标识为坐标原点建立坐标系,首先确定标识的形状,如果是矩形,则可以以该矩形的右下角的顶点作为坐标系的原点(0,0),建立的坐标系如图6所示,坐标系建立之后,在坐标系中,鼠标点击之处为动作发生位置,其坐标可以为鼠标箭头顶点的坐标(4,2)。标识与动作发生位置的相对位置关系即为在同一个坐标系中表示标识与鼠标箭头顶点的坐标关系。执行脚本时,在当前画面帧上获取到关键区域之后,就可以以关键区域右下角的顶点作为坐标系的原点(0,0)建立平面直角坐标系。

步骤502,根据所述相对位置关系,确定标识与动作发生位置的坐标关系。在上述步骤501中已经说明,如果帧图像上的坐标系确定,则可以确定标识与动作发生位置的坐标关系。

值得说明的是,相对位置关系不仅仅可以是坐标关系,其他可以用于表示标识与动作发生位置之间的关系都可以作为相对位置关系,本申请实施例中只是最优地选择坐标关系来表示。另外,坐标系原点的确定也不仅仅只有本申请实施例中的这一种情况,本申请中选择矩形标识右下角顶点作为坐标原点只是优选的方案,矩形标识上或者帧图像其他,可以辨识的点都可以作为坐标系的原点。

步骤503,根据所述标识与动作发生位置的坐标关系,确定关键区域与实际执行位置的坐标关系。关键区域实际上可以理解为当前画面帧上的标识,关键区域与其对应的标识应当是相同的,所以标识具备的与动作发生位置的坐标关系,关键区域也具备,在当前画面帧上与动作发生位置处于相同位置的即为实际执行位置,关键区域与实际执行位置具有坐标关系。

步骤504,根据所述关键区域与实际执行位置的坐标关系,在所述平面直角坐标上确定所述实际执行位置。如上述步骤503所述,关键区域与实际执行位置具有坐标关系,在以关键区域右下角的顶点为坐标原点的坐标系上,关键区域的右下角顶点坐标为(0,0)可以确定实际执行位置的坐标为(4,2)。

步骤202,寻找所述当前画面帧对应的操作界面上与所述实际执行位置相同的动作执行位置。当前画面帧是操作界面的一个截图,画面帧上的所有内容与操作界面相同,但是找到当前画面帧上的实际执行位置,并不能真正的完成动作,动作实际上是在操作界面上完成的,所以,在确定画面帧上动作的实际执行位置之后,还要在操作界面上找到相同的位置进行动作,这个位置就是动作执行位置。

步骤104,在所述动作执行位置上执行所述帧图像对应的动作,所述帧图像用于表示脚本录制时操作界面上发生的动作,每一个所述帧图像对应一个动作。

进一步的,本申请实施例中所说的动作,可以是鼠标点击的动作、鼠标移动的动作、键盘输入的动作等等。每一个动作的发生都会产生一个帧图像与之对应。

下面以图1中电商的数据系统与erp系统之间进行数据对接为例对上述实施例进行说明:

当用户需要将电商数据系统的单据输入进erp系统中时,首先打开erp系统的操作界面和操作erp系统的执行脚本,获取执行脚本中与当前执行步骤对应的帧图像和erp系统的当前画面帧,对比帧图像与当前画面帧是否匹配,如果匹配,则获取当前画面帧上与帧图像上标识对应的关键区域,进而确定erp系统的界面上等待执行的动作执行位置,向erp系统输入单据时,根据帧图像中的标识确定帧图像中单据的输入位置,然后在erp系统中找到与标识相同的关键区域,再根据关键区域与相对位置关系,确定erp系统上单据的输入位置,位置确定好以后,按照帧图像的操作,将电商数据系统的单据数据输入到该位置。

值得说明的是,本申请实施例中仅仅是以电商数据系统与经销商erp系统为例进行了技术方案的说明,在实际操作中,只要是一个系统的数据想要存入另一个系统中,无论这两个系统是否有对接的接口,是否版本相适应,都可以采用本申请技术方案中的脚本执行方法将一个系统的数据自动的录入到另一个系统中。

由以上内容可知,本申请实施例提供了一种脚本执行方法,根据帧图像中的标识确定操作界面上的动作执行位置,以便在操作界面上执行动作,可实现界面自动操作和数据自动录入,通过脚本执行的方式在操作界面上执行动作,还使得待输入数据存在系统与操作界面系统之间无接口对接,避免系统之间版本不同或者接口不同造成的数据无法直接录入的问题。

参见图7,本申请实施例提供一种脚本执行装置,包括:

画面获取单元71,用于获取脚本中的帧图像和操作界面的当前画面帧,所述帧图像为脚本录制时截取的操作界面的图像,所述当前画面帧为脚本执行时截取的操作界面当前的图像;

关键区域获取单元72,用于如果所述当前画面帧与所述帧图像匹配,则获取当前画面帧上与帧图像上标识对应的关键区域;

目标位置确定单元73,用于根据所述帧图像中标识与动作发生位置的相对位置关系,以及所述当前画面帧上的关键区域,确定操作界面上的动作执行位置;

动作执行单元74,用于在所述动作执行位置上执行所述帧图像对应的动作,所述帧图像用于表示脚本录制时操作界面上发生的动作,每一个所述帧图像对应一个动作。

可选的,所述目标位置确定单元73包括:

第一实际执行位置确定单元,用于根据帧图像中标识与动作发生位置的相对位置关系,以及所述当前画面帧上的关键区域,确定所述当前画面帧上与所述关键区域具有相对位置关系的实际执行位置;

动作执行位置确定单元,用于寻找所述当前画面帧对应的操作界面上与所述实际执行位置相同的动作执行位置。

可选的,所述关键区域获取单元72包括:

标识信息获取单元,用于获取帧图像中标识的相关信息,所述相关信息包括标识形状、标识面积和标识内容;

内容检测单元,用于检测所述当前画面帧中是否包含所述标识内容;

区域确定单元,用于如果所述当前画面帧中包含所述标识内容,则根据标识形状和标识面积确定包含所述标识内容的关键区域。

可选的,所述实际执行位置确定单元包括:

坐标系建立单元,用于以所述关键区域为坐标原点,在所述当前画面帧上建立平面直角坐标系;

第一坐标关系确定单元,用于根据所述相对位置关系,确定标识与动作发生位置的坐标关系;

第二坐标关系确定单元,用于根据所述标识与动作发生位置的坐标关系,确定关键区域与实际执行位置的坐标关系;

第二实际执行位置确定单元,用于根据所述关键区域与实际执行位置的坐标关系,在所述平面直角坐标上确定所述实际执行位置。

可选的,所述关键区域获取单元72,还用于:

获取所述帧图像上标识的数量;

根据所述标识的数量,分别获取当前画面帧上与所述标识对应的所有关键区域。

由以上技术方案可知,本申请实施例提供一种脚本执行方法及装置,包括:获取脚本中的帧图像和操作界面的当前画面帧;如果当前画面帧与帧图像匹配,则获取当前画面帧上与帧图像上标识对应的关键区域;根据帧图像中标识与动作发生位置的相对位置关系,以及当前画面帧上的关键区域,确定操作界面上的动作执行位置;在动作执行位置上执行帧图像对应的动作。在本申请的技术方案中,根据帧图像中的标识确定操作界面上的动作执行位置,以便在操作界面上执行动作,可实现界面自动操作和数据自动录入,通过脚本执行的方式在操作界面上执行动作,还使得待输入数据存在系统与操作界面系统之间无接口对接,避免系统之间版本不同或者接口不同造成的数据无法直接录入的问题。

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

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

本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1