一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据比对方法、系统、计算机设备及计算机可读存储介质与流程

2021-11-03 14:33:00 来源:中国专利 TAG:


1.本发明实施例涉及信息技术领域,尤其涉及一种数据比对方法、系统、计算机设备以及计算机可读存储介质。


背景技术:

2.在测试人员对脚本进行测试的过程中,需要对开发人员提供的shell脚本进行验证。然而,目前的shell脚本验证通常依靠测试人员在脚本验证系统中将待验证的shell脚本和系统中的参考脚本进行比对。在项目迭代周期日渐缩短的大环境下,仅依靠测试人员手动验证shell脚本,容易出现shell脚本验证效率低的问题。


技术实现要素:

3.有鉴于此,本发明实施例提供了一种数据比对方法、系统、计算机设备及计算机可读存储介质,用于解决现有shell脚本验证效率低的问题。
4.本发明实施例是通过下述技术方案来解决上述技术问题:
5.一种数据比对方法,包括:
6.接收终端设备发送的脚本处理请求,所述脚本处理请求携带有测试脚本文件和待处理脚本文件,所述脚本处理请求用于请求比对所述测试脚本文件和所述待处理脚本文件;
7.响应于所述脚本处理请求:获取所述测试脚本文件的第一起始标识和第一终止标识,并基于所述第一起始标识和所述第一终止标识获取测试脚本内容;获取所述待处理脚本文件的第二起始标识和第二终止标识,基于所述第二起始标识和所述第二终止标识获取待处理脚本内容,计算所述测试脚本内容和所述待处理脚本内容的相似度,并将所述相似度与预设阈值进行比对;及
8.根据比对结果,确定所述待处理脚本内容进入测试状态或确定所述待处理脚本进入测试驳回状态。
9.可选地,若所述测试脚本文件为测试脚本图像,所述待处理脚本文件为待处理脚本图像;所述获取所述测试脚本文件的第一起始标识和第一终止标识,并基于所述第一起始标识和所述第一终止标识获取测试脚本内容;获取所述待处理脚本文件的第二起始标识和第二终止标识,基于所述第二起始标识和所述第二终止标识获取待处理脚本内容的步骤,还包括:
10.识别所述测试脚本图像,以得到第一内容、所述第一起始标识和所述第一终止标识;
11.识别所述待处理脚本图像,以得到第二内容、所述第二起始标识和所述第二终止标识;
12.基于所述第一起始标识和所述第一终止标识,从所述第一内容中提取所述测试脚本内容;及
13.基于所述第二起始标识和所述第二终止标识,从所述第二内容中提取所述待处理脚本内容。
14.可选地,所述获取所述测试脚本的第一起始标识和第一终止标识,并基于所述第一起始标识和所述第一终止标识获取测试脚本内容;获取所述待处理脚本的第二起始标识和第二终止标识,基于所述第二起始标识和所述第二终止标识获取待处理脚本内容的步骤,包括:
15.基于所述第一起始标识和所述第一终止标识,获取原始测试脚本内容;
16.基于所述第二起始标识和所述第二终止标识,获取原始待处理脚本内容;
17.根据第一预设数据格式,将所述原始测试脚本内容转化为第一变量;
18.根据第一预设数据格式,将所述原始待处理脚本内容转化为第二变量;
19.根据第二预设数据格式,将所述第一变量转化为所述测试脚本内容;及
20.根据第二预设数据格式,将所述第二变量转化为所述待处理脚本内容。
21.可选地,所述测试脚本内容包括多条第一脚本内容,所述待处理脚本内容包括多条第二脚本内容;所述计算所述测试脚本内容和所述待处理脚本内容的相似度的步骤,还包括:
22.计算每条第一脚本内容和每条第二脚本内容的第一相似度;及
23.将多个第一相似度加权求和,得到所述相似度。
24.可选地,所述测试脚本内容包括多条第一脚本内容,所述待处理脚本内容包括多条第二脚本内容;所述计算所述测试脚本内容和所述待处理脚本内容的相似度的步骤,还包括:
25.获取多个预设的相似度算法;
26.根据每个预设的相似度算法,计算每条第一脚本内容和每条第二脚本内容的第一相似度;
27.将与所述每条第一脚本内容对应的多个第一相似度进行第一次加权平均,以得到与所述每条第一脚本内容对应的第二相似度;及
28.将多个第二相似度加权求和,得到所述相似度。
29.可选地,在所述根据比对结果,确定所述待处理脚本内容进入测试状态的步骤之后,所述方法还包括:
30.将所述待处理脚本内容发送至测试服务器中,对所述待处理脚本内容执行测试,以得到测试结果;及
31.将所述比对结果和所述测试结果返回至终端设备。
32.可选地,所述将所述待处理脚本内容发送至测试服务器中,对所述待处理脚本内容执行测试,以得到测试结果的步骤,包括:
33.将所述待处理脚本内容发送至工作流任务调度组件;
34.通过所述工作流任务调度组件,根据所述待处理脚本内容生成测试调度任务,所述测试调度任务携带有所述待处理脚本内容;
35.将所述测试调度任务发送至所述测试服务器中;及
36.通过所述测试服务器,执行所述测试调度任务:对所述待处理脚本内容执行测试,以得到测试结果。
37.为了实现上述目的,本发明实施例还提供一种数据比对系统,包括:
38.接收模块,用于接收终端设备发送的脚本处理请求,所述脚本处理请求携带有测试脚本文件和待处理脚本文件,所述脚本处理请求用于请求比对所述测试脚本文件和所述待处理脚本文件;
39.响应模块,用于响应于所述脚本处理请求:获取所述测试脚本文件的第一起始标识和第一终止标识,并基于所述第一起始标识和所述第一终止标识获取测试脚本内容;获取所述待处理脚本文件的第二起始标识和第二终止标识,基于所述第二起始标识和所述第二终止标识获取待处理脚本内容,计算所述测试脚本内容和所述待处理脚本内容的相似度,并将所述相似度与预设阈值进行比对;及
40.确定模块,用于根据比对结果,确定所述待处理脚本内容进入测试状态或确定所述待处理脚本进入测试驳回状态。
41.为了实现上述目的,本发明实施例还提供一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述数据比对方法的步骤。
42.为了实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的数据比对方法的步骤。
43.本发明实施例提供的数据比对方法、系统、计算机设备及计算机可读存储介质,基于所述第一起始标识和所述第一终止标识获取测试脚本内容和基于所述第二起始标识和所述第二终止标识获取待处理脚本内容,计算所述测试脚本内容和所述待处理脚本内容的相似度,并将所述相似度与预设阈值进行比对;及根据比对结果,确定所述待处理脚本内容进入测试状态或确定所述待处理脚本进入测试驳回状态;通过测试脚本内容和待处理脚本内容在系统中的自动比对,有效提高了脚本对比效率。
44.以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
45.图1为本发明实施例一之数据比对方法的步骤流程图;
46.图2为本发明实施例一之数据比对方法中提取测试脚本内容和待处理脚本内容的步骤流程图;
47.图3为本发明实施例一之数据比对方法中获取待处理脚本内容的步骤流程图;
48.图4为本发明实施例一之数据比对方法中得到相似度的步骤流程图;
49.图5为本发明实施例一之数据比对方法中得到相似度的步骤流程图;
50.图6为本发明实施例一之数据比对方法中对待处理脚本内容执行测试的步骤流程图;
51.图7为本发明实施例一之数据比对方法中对待处理脚本内容执行测试的步骤流程图;
52.图8为本发明实施例二之数据比对系统的程序模块示意图;
53.图9为本发明实施例三之计算机设备的硬件结构示意图。
具体实施方式
54.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.需要说明的是,在本发明实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
56.在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
57.实施例一
58.请参阅图1,示出了本发明实施例之数据比对方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。所述数据比对方法应用于根据b/s架构(browser/server,浏览器/服务器架构)并通过django框架构建的系统中,其中,django框架为web(网页)应用框架。下面以计算机设备为执行主体进行示例性描述,具体如下:
59.如图1所示,所述数据比对方法可以包括步骤s100~s104,其中:
60.步骤s100,接收终端设备发送的脚本处理请求,所述脚本处理请求携带有测试脚本文件和待处理脚本文件,所述脚本处理请求用于请求比对所述测试脚本文件和所述待处理脚本文件。
61.其中,脚本文件可以为shell脚本文件。所述待处理脚本文件和所述测试脚本文件均可以是包括开发同学已开发好的脚本内容的脚本文件,如:首次开发好的脚本内容的脚本文件、包括在首次开发好的脚本内容上因需求变更而进行代码修改后,生成的新开发的脚本内容的脚本文件。在示例性的实施例中,所述测试脚本文件和所述待处理脚本文件均可以为编写好的脚本文本,也可以为shell测试脚本图片。
62.操作者通过终端设备上的浏览器进入该系统执行待处理脚本文件和测试脚本文件的上传的操作,系统在接收到操作者在系统的上传操作后,可以将待处理脚本文件和测试脚本文件存储在所述系统中。
63.示例性的,所述系统包括对比工具模块,所述对比工具模块用于实现与用户的交互,即对用户上传的脚本的内容执行比对操作。所述系统的对比工具模块包括第一区域和第二区域,所述系统接收终端设备发送的所述待处理脚本文件和和测试脚本文件,并将所述待处理脚本文件展示于所述第一区域中,将所述测试脚本文件展示于所述第二区域中。接收终端设备发送的基于用户在所述对比工具模块中“对比”按钮的触摸操作,生成的脚本处理请求。
64.步骤s102,响应于所述脚本处理请求:获取所述测试脚本文件的第一起始标识和第一终止标识,并基于所述第一起始标识和所述第一终止标识获取测试脚本内容;获取所
述待处理脚本文件的第二起始标识和第二终止标识,基于所述第二起始标识和所述第二终止标识获取待处理脚本内容,计算所述测试脚本内容和所述待处理脚本内容的相似度,并将所述相似度与预设阈值进行比对。
65.在示例性的实施例中,所述对比工具模块包括逻辑处理层,所述逻辑处理层用于在获取用户提交的表单(用户提交的shell脚本或shell脚本图片)后,调用shellcompare(shell脚本比对)工具类对所述测试脚本和所述待处理脚本进行对比。其中,shell脚本图片的识别主要采用的技术手段是引用python的image、pytesseract两个类库,shell脚本图片比对主要采用的技术手段是difflib类库。difflib类库的优点是将图片之间的比对手段封装起来,以满足图片识别技术系统化的持续使用。
66.为了提高对测试脚本文件和待处理脚本文件的识别效率,请参阅图2,若所述测试脚本文件为测试脚本图像,所述待处理脚本文件为待处理脚本图像;所述测试脚本内容和所述待处理脚本内容的获取可以通过以下操作得到,具体包括:步骤s200,识别所述测试脚本图像,以得到第一内容、所述第一起始标识和所述第一终止标识;步骤s202,识别所述待处理脚本图像,以得到第二内容、所述第二起始标识和所述第二终止标识;步骤s204,基于所述第一起始标识和所述第一终止标识,从所述第一内容中提取所述测试脚本内容;及步骤s206,基于所述第二起始标识和所述第二终止标识,从所述第二内容中提取所述待处理脚本内容。当所述测试脚本文件为测试脚本图像,所述待处理脚本文件为待处理脚本图像时,则所述系统通过image、pytesseract两个类库识别出所述测试脚本图像和所述待处理脚本图像中对应的shell测试脚本内容和shell待处理脚本内容;且通过脚本文件上的起始标识和终止标识快速定位脚本文件内容,有效提高了脚本文件内容获取的效率。
67.为了便于在所述系统中识别和获取待处理脚本内容和测试脚本内容,请参阅图3,所述测试脚本内容和所述待处理脚本内容的获取可以通过以下操作得到,具体包括:步骤s300,基于所述第一起始标识和所述第一终止标识,获取原始测试脚本内容;步骤s302,基于所述第二起始标识和所述第二终止标识,获取原始待处理脚本内容;步骤s304,根据第一预设数据格式,将所述原始测试脚本内容转化为第一变量;步骤s306,根据第一预设数据格式,将所述原始待处理脚本内容转化为第二变量;步骤s308,根据第二预设数据格式,将所述第一变量转化为所述测试脚本内容;及步骤s310,根据第二预设数据格式,将所述第二变量转化为所述待处理脚本内容。其中,第一预设数据格式为str数据类型的格式;第二预设数据格式为json数据类型的格式。在读取原始测试脚本内容和原始待处理脚本内容时,将原始测试脚本内容和原始待处理脚本内容以str字符串的形式临时作为变量保存在所述系统中,并将该str字符串进行转换,以得到测试脚本内容和待处理脚本内容。例如通过“str='{"key":"wygtest","word":"shellcompare"}'”、“j=json.loads(str)”这两串代码命令行,将对应于原始测试脚本内容的第一变量和对应于原始待处理脚本内容的第二变量转换成对应的json格式的测试脚本内容和json格式的待处理脚本内容。本实施例中,存储测试脚本内容和待处理脚本内容的方式,可有效提高脚本复用率以及降低脚本维护成本。
68.为了提高相似度的准确率,如图4所示,所述测试脚本内容包括多条第一脚本内容,所述待处理脚本内容包括多条第二脚本内容;所述计算所述测试脚本内容和所述待处理脚本内容的相似度还包括以下步骤s400~s402,其中:步骤s400,计算每条第一脚本内容和每条第二脚本内容的第一相似度;及步骤s402,将多个第一相似度加权求和,得到所述相
似度。举例而言,相似度可通过例如编辑距离(edit distance)、余弦相似性(cosine similarity)等相似度算法计算得到。
69.在其他示例性的实施例中,为了使相似度的计算结果与实际的相似情况更加贴近,如图5所示,所述测试脚本内容包括多条第一脚本内容,所述待处理脚本内容包括多条第二脚本内容;所述计算所述测试脚本内容和所述待处理脚本内容的相似度还包括以下步骤s500~s506,其中:步骤s500,获取多个预设的相似度算法;步骤s502,根据每个预设的相似度算法,计算每条第一脚本内容和每条第二脚本内容的第一相似度;步骤s504,将与所述每条第一脚本内容对应的多个第一相似度进行第一次加权平均,以得到与所述每条第一脚本内容对应的第二相似度;及步骤s506,将多个第二相似度加权求和,得到所述相似度。本技术实施例采用至少两种不同类型的相似度算法来进行相似度的计算,并综合每种算法对应的计算结果作为最终相似度,可以降低采用一种相似度算法计算相似度时,由于误差较大而产生的对最终结果准确性的影响。
70.步骤s104,根据比对结果,确定所述待处理脚本内容进入测试状态或确定所述待处理脚本进入测试驳回状态。
71.其中,若比对结果表示相似度大于所述预设阈值,则确定所述待处理脚本内容进入测试状态;并且同时更新所述待处理脚本文件的数据状态为比对通过。若比对结果表示为相似度小于所述预设阈值,则确定所述待处理脚本内容进入测试驳回状态;并更新所述待处理脚本文件的数据状态为比对不通过;将比对结果返回至终端设备以供用户参考。
72.结合图6,在所述根据比对结果,确定所述待处理脚本内容进入测试状态的步骤之后,所述方法还包括:步骤s600,将所述待处理脚本内容发送至测试服务器中,对所述待处理脚本内容执行测试,以得到测试结果;及步骤s602,将所述比对结果和所述测试结果返回至终端设备。其中,将比对结果以及待处理脚本内容执行后的测试结果返回至终端设备的template(模板)展示层供用户参考。在其他的示例性的实施例中,根据所述测试结果生成测试报告,并将所述测试报告以邮件的形式发送至所述终端设备。
73.为了提高待处理脚本内容的测试效率,请参阅图7,测试所述待处理脚本内容还可以通过以下操作实现,其中:步骤s700,将所述待处理脚本内容发送至工作流任务调度组件;步骤s702,通过所述工作流任务调度组件,根据所述待处理脚本内容生成测试调度任务,所述测试调度任务携带有所述待处理脚本内容;步骤s704,将所述测试调度任务发送至所述测试服务器中;及步骤s706,通过所述测试服务器,执行所述测试调度任务:对所述待处理脚本内容执行测试,以得到测试结果。示例性的,根据所述比对结果,通过shellcompare工具类调用dolphinscheduler调度组件(工作流任务调度组件)对应的api(应用程序接口),将json格式的待处理脚本内容传递给所述工作流任务调度组件,并根据所述json格式的待处理脚本内容生成测试调度任务,并执行所述测试调度任务,以测试所述待处理脚本内容,以生成测试结果。同时根据所述测试调度任务的执行操作生成一条测试记录数据,并将所述测试记录数据存储在本地数据库中。
74.在示例性的实施例中,所述方法还包括监测所述测试调度任务的执行时长,若所述测试调度任务的执行时长大于预设时长阈值时,生成告警信号,并将所述告警信号返回至所述终端设备,以通知所述终端设备所述待处理脚本内容执行失败。由于可以设置脚本任务的执行时间,验证脚本所需花费的时间大大减少,工作自由度提高,从而提高测试同学
的测试效率。
75.本发明实施例提供的数据比对方法,基于所述第一起始标识和所述第一终止标识获取测试脚本内容和基于所述第二起始标识和所述第二终止标识获取待处理脚本内容,计算所述测试脚本内容和所述待处理脚本内容的相似度,并将所述相似度与预设阈值进行比对;及根据比对结果,确定所述待处理脚本内容进入测试状态或确定所述待处理脚本进入测试驳回状态;通过测试脚本内容和待处理脚本内容在系统中的自动比对,有效提高了脚本对比效率,进而提高了脚本测试效率。应用本技术技术框架,有助于脚本的二次开发。
76.实施例二
77.请继续参阅图8,示出了本发明数据比对系统的程序模块示意图。在本实施例中,数据比对系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述数据比对方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述数据比对系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
78.接收模块800,用于接收终端设备发送的脚本处理请求,所述脚本处理请求携带有测试脚本文件和待处理脚本文件,所述脚本处理请求用于请求比对所述测试脚本文件和所述待处理脚本文件;
79.响应模块802,用于响应于所述脚本处理请求:获取所述测试脚本文件的第一起始标识和第一终止标识,并基于所述第一起始标识和所述第一终止标识获取测试脚本内容;获取所述待处理脚本文件的第二起始标识和第二终止标识,基于所述第二起始标识和所述第二终止标识获取待处理脚本内容,计算所述测试脚本内容和所述待处理脚本内容的相似度,并将所述相似度与预设阈值进行比对;及
80.确定模块804,用于根据比对结果,确定所述待处理脚本内容进入测试状态或确定所述待处理脚本进入测试驳回状态。
81.在示例性的实施例中,若所述测试脚本文件为测试脚本图像,所述待处理脚本文件为待处理脚本图像;所述响应模块802还用于:识别所述测试脚本图像,以得到第一内容、所述第一起始标识和所述第一终止标识;识别所述待处理脚本图像,以得到第二内容、所述第二起始标识和所述第二终止标识;基于所述第一起始标识和所述第一终止标识,从所述第一内容中提取所述测试脚本内容;及基于所述第二起始标识和所述第二终止标识,从所述第二内容中提取所述待处理脚本内容。
82.在示例性的实施例中,所述响应模块802还用于:基于所述第一起始标识和所述第一终止标识,获取原始测试脚本内容;基于所述第二起始标识和所述第二终止标识,获取原始待处理脚本内容;根据第一预设数据格式,将所述原始测试脚本内容转化为第一变量;根据第一预设数据格式,将所述原始待处理脚本内容转化为第二变量;根据第二预设数据格式,将所述第一变量转化为所述测试脚本内容;及根据第二预设数据格式,将所述第二变量转化为所述待处理脚本内容。
83.在示例性的实施例中,所述测试脚本内容包括多条第一脚本内容,所述待处理脚本内容包括多条第二脚本内容;所述响应模块802还用于:计算每条第一脚本内容和每条第二脚本内容的第一相似度;及将多个第一相似度加权求和,得到所述相似度。
code division multiple access,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi

fi等无线或有线网络。
92.需要指出的是,图9仅示出了具有部件20

23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
93.在本实施例中,存储于存储器21中的所述数据比对系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
94.例如,图8示出了所述实现数据比对系统20实施例二的程序模块示意图,该实施例中,所述基于数据比对系统20可以被划分为接收模块800、响应模块802以及确定模块804。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述数据比对系统20在所述计算机设备2中的执行过程。所述程序模块800

804的具体功能在实施例二中已有详细描述,在此不再赘述。
95.实施例四
96.本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储数据比对系统20,被处理器执行时实现上述实施例的数据比对方法。
97.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
98.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
99.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献