CN112395196B - 数据作业开发测试方法、装置、设备、系统及存储介质 - Google Patents
数据作业开发测试方法、装置、设备、系统及存储介质 Download PDFInfo
- Publication number
- CN112395196B CN112395196B CN202011298963.6A CN202011298963A CN112395196B CN 112395196 B CN112395196 B CN 112395196B CN 202011298963 A CN202011298963 A CN 202011298963A CN 112395196 B CN112395196 B CN 112395196B
- Authority
- CN
- China
- Prior art keywords
- data
- test
- program
- job
- webpage end
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000011981 development test Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012360 testing method Methods 0.000 claims abstract description 122
- 238000004364 calculation method Methods 0.000 claims abstract description 31
- 238000011161 development Methods 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004519 manufacturing process Methods 0.000 claims description 7
- 238000013515 script Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 claims description 3
- 238000005538 encapsulation Methods 0.000 claims description 3
- 238000004088 simulation Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本说明书实施例提供了一种数据作业开发测试方法、装置、设备、系统及存储介质,该方法包括:向网页端提供多种数据程序模板,以用于所述网页端从中选择目标模板;所述多种数据程序模板对应多种数据计算引擎;接收所述网页端在选择的目标模板中写入的数据内容,并据此生成数据程序;向所述网页端提供多种测试模式,以用于所述网页端从中选择目标模式;当所述网页端选择的目标模式为数据程序自测试时,通过自身配置的与所述目标模板对应的客户端,将所述数据程序部署至对应的数据计算引擎中进行测试,以验证所述数据程序的正确性。本说明书实施例可以提高数据作业开发测试的效率和便利性。
Description
技术领域
本说明书涉及数据作业开发测试技术领域,尤其是涉及一种数据作业开发测试方法、装置、设备、系统及存储介质。
背景技术
在大数据时代,企业内有多种多样的数据库和工具。这些数据库和工具,每个都有自己的开发工具,例如Mysql通过专用客户端提交SQL命令;Hive SQL通过Beeline客户端提交SQL命令;Python需要配置对应的开发环境和路径信息才能执行Python脚本。下文中,我们将这些数据库和数据处理工具统称为数据计算引擎。
在企业内,数据是从业务系统的数据库产生,传输到数据仓库,加工处理后生成数据给报表,最后在网页端展示。一个简单的场景,采集手机银行的用户点击数据,在数据仓库中和用户的信息、理财交易信息购买记录,推测用户的理财风险偏好,推荐合适的理财产品用于营销。对于这样的数据需求,可能就涉及从业务数据库Oracle获取数据文件,通过DataStage工具将数据写入企业数据仓库Teradata,加工后给到营销系统的Mysql数据库。因此一个完整的数据需求往往是由多个数据作业组成的,而每个数据作业又由数据程序(例如一段SQL、一个文件转码的命令)和调度配置(例如数据程序的执行条件)组成。
在上述简单的场景下,需要涉及4个不同的数据计算引擎,由于这些数据计算引擎都是由不同公司单独维护,用户在使用(即基于这些软件进行数据作业开发测试时)中,需要搭建多套软件客户端,并在多个软件中进行切换。如此,不仅使用不便,也影响了数据作业开发测试效率。
发明内容
本说明书实施例的目的在于提供一种数据作业开发测试方法、装置、设备、系统及存储介质,以提高数据作业开发测试的效率和便利性。
为达到上述目的,一方面,本说明书实施例提供了一种数据作业开发测试方法,包括:
向网页端提供多种数据程序模板,以用于所述网页端从中选择目标模板;所述多种数据程序模板对应多种数据计算引擎;
接收所述网页端在选择的目标模板中写入的数据内容,并据此生成数据程序;
向所述网页端提供多种测试模式,以用于所述网页端从中选择目标模式;
当所述网页端选择的目标模式为数据程序自测试时,通过自身配置的与所述目标模板对应的客户端,将所述数据程序部署至对应的数据计算引擎中进行测试,以验证所述数据程序的正确性。
另一方面,本说明书实施例还提供了一种服务端,包括:
模板提供模块,用于向网页端提供多种数据程序模板,以用于所述网页端从中选择目标模板;所述多种数据程序模板对应多种数据计算引擎;
程序生成模块,用于接收所述网页端在选择的目标模板中写入的数据内容,并据此生成数据程序;
模式提供模块,用于向所述网页端提供多种测试模式,以用于所述网页端从中选择目标模式;
程序自测模块,用于当所述网页端选择的目标模式为数据程序自测试时,通过自身配置的与所述目标模板对应的客户端,将所述数据程序部署至对应的数据计算引擎中进行测试,以验证所述数据程序的正确性。
另一方面,本说明书实施例还提供了一数据作业开发测试系统,包括客户端以及上述的服务端。
另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述方法的指令。
另一方面,本说明书实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
由以上本说明书实施例提供的技术方案可见,在本说明书的实施例中,实现了通过一个网页端提供了多种数据计算引擎的开发测试界面,用户使用时不需要在用户侧针对每种数据计算引擎安装大量的客户端,在同一个网页端即可以实现不同数据计算引擎下的开发测试等工作,从而提高了数据作业开发测试的效率和便利性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了本说明书一些实施例中数据作业开发测试系统的结构示意图;
图2示出了本说明书一些实施例中的数据作业开发测试方法的流程图;
图3示出了本说明书一实施例中数据程序模块的示意图;
图4示出了本说明书实施例一些实施例中服务端的结构框图;
图5示出了本说明书一些实施例计算机设备的结构框图。
【附图标记说明】
401、模板提供模块;
402、程序生成模块;
403、模式提供模块;
404、程序自测模块;
405、配置文件生成模块;
406、作业封装模块;
407、部署包整合模块;
408、开发测试模块;
409、子批量测试模块;
410、全批量测试模块;
411、链路测试模块;
412、作业复用模块;
502、计算机设备;
504、处理器;
506、存储器;
508、驱动机构;
510、输入/输出模块;
512、输入设备;
514、输出设备;
516、呈现设备;
518、图形用户接口;
520、网络接口;
522、通信链路;
524、通信总线。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
本说明书实施例提供了数据作业开发测试系统。参考图1所示,在本说明书一些实施例中,所述数据作业开发测试系统可以是基于B/S结构的系统,其可以包括网页端(即web前端)、服务端以及多个项目部署环境(例如开发环境、测试环境和子批量环境等)。所述服务端预先安装配置有多种数据计算引擎的客户端。每个项目部署环境中可以包含多种数据计算引擎以及调度中心(或称为调度系统、调度服务器)。网页端和服务端之间,以及服务端与项目部署环境之间可以通过TCP/IP等协议进行通信。
其中,所述多种数据计算引擎可以包括但不限于业务数据库(例如Mysql、Oracle等)、企业数据仓库(例如Teradata、GreenPlum等)、大数据平台(例如Hadoop等)、数据分析工具(例如Hive SQL、Spark等)、ETL(Extract-Transform-Load)数据计算引擎(例如Kettle、DataStage等)和脚本语言(例如Python、Linux Shell等)等。
所述服务端可以向网页端提供多种数据程序模板,以用于所述网页端从中选择目标模板;所述多种数据程序模板对应多种数据计算引擎;接收所述网页端在选择的目标模板中写入的数据内容,并据此生成数据程序;向所述网页端提供多种测试模式,以用于所述网页端从中选择目标模式;当所述网页端选择的目标模式为数据程序自测试时,通过自身配置的与所述目标模板对应的客户端,将所述数据程序部署至对应的数据计算引擎中进行测试,以验证所述数据程序的正确性。如此,就实现了通过一个网页端提供了多种数据计算引擎的开发测试界面,用户使用时不需要在用户侧针对每种数据计算引擎安装大量的客户端,在同一个网页端即可以实现不同数据计算引擎下的开发测试等工作,从而提高了数据作业开发测试的效率和便利性。
基于上述的数据作业开发测试系统,本说明书实施例提供了数据作业开发测试方法,所述数据作业开发测试方法可以应用于所述数据作业开发测试系统中的服务端侧。
参考图2所示,在本说明书一些实施例中,所述数据作业开发测试方法可以包括以下步骤:
S201、向网页端提供多种数据程序模板,以用于所述网页端从中选择目标模板;所述多种数据程序模板对应多种数据计算引擎。
S202、接收所述网页端在选择的目标模板中写入的数据内容,并据此生成数据程序。
S203、向所述网页端提供多种测试模式,以用于所述网页端从中选择目标模式。
S204、当所述网页端选择的目标模式为数据程序自测试时,通过自身配置的与所述目标模板对应的客户端,将所述数据程序部署至对应的数据计算引擎中进行测试,以验证所述数据程序的正确性。
在本说明书一些实施例中,所述服务端可以向所述网页端提供多种项目选项,以用于所述网页端从中选择目标项目(每个项目选项对应于一种数据计算引擎)。即用户可以通过所述网页端从多个不同数据计算引擎中,选择一个数据计算引擎。基于用户的操作,当所述网页端选择了一个项目选项后,该项目即为目标项目,后续就可以进入基于该目标项目下的开发和测试页面。
实际上,在很多情况下,对于一个数据库(以数据库为例),不同的数据作业除了用户名、密码和SQL逻辑不同外,其他内容一般都是相同的。因此,为了提高开发测试效率,所述服务端侧可以为每种数据计算引擎配置有对应的数据程序模板。即针对每种数据计算引擎,可以配置单独的数据程序模板。在上述确定目标项目后,该目标项目对应的数据程序模板也就确定了。如此,就实现了向网页端提供多种数据程序模板,以用于所述网页端从中选择目标模板。
在选择了目标模板的基础上,用户在网页端向目标模板写入数据内容(例如SQL脚本)后,所述服务端可以自动将所述数据内容填充进目标模板,从而生成一个完整的数据程序。这样,就大大降低了用户的使用、学习成本。并且在生成数据程序时,会根据用户选择的数据计算引擎的不同,自动将一些对应参数进行默认值填充,从减少了开发人员的开发工作量。
例如,在图3所示的示例性实施例中示出了一种数据程序模板,其包括模板类型描述、keytab用户名、keytab类型和SQL脚本等。根据用户登录时关联的应用信息,所述服务端可以直接填充登录用户名的keytab类型和keytab路径参数,并且在偏移参数(即偏移天数)这里给了常用的默认值0;所述服务端根据这些参数直接替换掉模板中的keytab类型、keytab路径等参数值,再把用户提交的SQL脚本写入模板中的对应位置,从完成了从数据程序模板自动生成数据程序的步骤,即用户实际开发时,一般只需要在数据程序模板中填写入SQL脚本即可。
在本说明书一些实施例中,所述服务端还可以向所述网页端提供多种测试模式,以用于所述网页端从中选择目标模式,即用户可以通过操作所述网页端的用户界面,丛中选择一种测试模作为目标模式。其中,所述测试模式可以包括但不限于数据程序自测试(即仅针对数据程序本身的测试)、开发测试、子批量测试、全批量测试和链路测试等。
当所述网页端选择的目标模式为数据程序自测试时,所述服务端可通过自身配置的与所述目标模板对应的客户端,将所述数据程序提交至对应的数据计算引擎中进行测试,以验证所述数据程序的正确性。例如,在一示例性实施例中,当目标模板为Mysql对应的数据程序模板时,所述服务端可以通过自身配置的Mysql客户端将所述数据程序提交至对应开发环境中的Mysql中进行测试,以验证所述数据程序的正确性。开发环境中的Mysql测试完后可以返回测试结果,所述服务端可以将测试结果提供给所述网页端,以便于用户查看。
在完成数据程序的开发后,当需要调度数据程序时,可以配置作业调度信息。数据作业由于包含有配置的调度信息,此时,所述服务端无法像数据程序自测试那样,直接通过自身配置的与所述目标模板对应的客户端进行部署了。而是需要引入部署机来实现自动部署,再由调度系统验证完整的功能逻辑。在一示例性实施例中,所述部署机可以是预先配置于服务端的自动部署工具,根据部署包的内容,跳转到远端数据计算引擎或调度系统,执行对应的部署命令,拷贝生成配置和程序。由此,在将这些不同的数据计算引擎纳入了统一的开发测试流程基础上,不仅可以为每种数据计算引擎配置独立的数据作业模板,还可以为其配置相应的调度规则。在此情况下,所述服务端就相当于对这些数据计算引擎进行了微服务拆分,即每个数据计算引擎提供的服务可以视为一个微服务程序模块。如此,当需要新增一些的定制化需求时,只需要对应增删微服务程序模块或修改已有微服务程序模块部分的代码,并重新部署即可,且不会影响整个系统中其他部分的稳定性。
在本说明书一些实施例中,所述服务端可以支持用户配置多种类型的调度方式,以方便用户按需配置作业调度信息。其中,所述多种类型的调度方式例如可以包括定时触发、信号文件触发(外部系统通知调度系统的作业执行方式,即调度中心接收指定的文件后执行对应的数据作业)、依赖关系触发(调度系统内作业执行方式,即在指定在某个或某些数据作业执行完成后,触发该数据作业)。以及较为复杂的准实时场景,例如实时数仓环境下一日多批次的流式作业和一日单批次普通作业相互依赖触发。因此,在所述生成数据程序之后,所述服务端还可以接收所述网页端输入的针对每个数据程序的作业调度信息,并据此生成对应的调度配置文件;将每个数据程序及其调度配置文件封装成对应的数据作业;在接收到所述网页端的部署包生成指令时,将一个或多个数据作业整合为部署包(即压缩包)。
例如,在一示例性实施例中,对于一个每日3点定时执行的数据作业,所述服务端可以根据linux Crontab表达式,将作业调度信息生成配置文件。在此基础上,所述服务端可以将调度配置文件和数据程序一起封装成一个数据作业,数据作业提交到对应的调度中心上就可以按照配置文件中的调度规则,在每日3点时,定时执行这个数据作业。
在本说明书一些实施例中,当所述网页端选择的目标模式为数据作业开发测试时,所述服务端可以通过部署机,将包含一个或多个数据作业及其对应配置文件的部署包部署至开发环境中进行测试,以验证所述部署包的正确性。其中,数据作业开发测试是指:将部署包内的调度配置文件和数据程序分别推送到开发环境中对应的调度中心和数据计算引擎。如果能成功将调度配置文件推送至对应的调度中心,并能成功将数据程序推送至对应的数据计算引擎,则表明部署包是正确的,即验证了部署包的正确性。一般情况下,用户在开发自测时就在开发环境验证了数据程序的正确性,此外开发环境是开发人员共用的环境,如果程序每次部署都去执行,一方面这些计算引擎会有性能问题,无法满足高峰期的使用需要,另一方面开发环境是有数据的,部分数据程序可能会执行时间过长,影响需求的开发迭代。因此,在数据作业开发测试下,一般不需要执行数据程序,如果用户有需要,可以登录调度中心的开发环境,通过调度系统来执行数据作业。
在本说明书一些实施例中,当所述网页端选择的目标模式为子批量测试时,所述服务端可以通过部署机将包含一批数据作业的部署包部署至子批量环境中进行测试,以验证所述调度配置文件和程序的正确性。其中,子批量测试是指:所述服务端将部署包内的调度配置文件和数据程序分别推送到子批量环境中对应的调度中心和数据计算引擎(例如数据库);再连接调度中心,并利用调度中心自动调起这些数据程序执行,以验证调度配置是否正确,即验证数据作业能否通过调度中心调度执行,而并不需要根据调度配置文件的调度规则进行调度,如果能调度,则表明调度配置是正确的。子批量环境是为了完成子批量测试而所必需的计算机硬件、软件、网络设备等的总称;子批量环境的数据计算引擎里是没有任何数据的,可以快速检测程序逻辑,并验证调度系统能否调度数据作业。
在本说明书一些实施例中,当所述网页端选择的目标模式为全批量测试时,所述服务端可以通过部署机将包含全量数据作业(即被开发产品中所有所需的数据作业)的部署包部署至测试环境中进行生产模拟环境测试。其中,全批量测试是指用户验收测试(UserAcceptance Test,UAT)。所述服务端将部署包内的调度配置文件和数据程序按照顺序推送到对应的测试环境,由测试人员发起完整的测试,通过模拟生产环境下的运行,各数据作业在调度中心内按照整体工作流的顺序执行。在全批量测试中,如果一个数据作业的前置作业未完成部署,则该数据作业也不会被部署,并可以提示前置作业的状态,从而简化了测试人员的工作量。
在本说明书一些实施例中,基于用户操作,所述服务端可以维护各数据计算引擎的数据作业的进展状态,并可以通过所述网页端提供给用户查看。用户可以通过网页端向所述服务端请求(或搜索)各数据计算引擎的数据作业信息,如此可以配置本数据计算引擎的数据作业可以由别的数据计算引擎的数据作业触发。例如,在上文背景技术中的例子中,就需要配置一个由ORACLE数据作业完成文件初步加工,触发DataStage数据作业将文件传输到数据仓库Teradata,Teradata数据准备好后,再通过SQL作业进行表关联,最后将关联的结果表下发数据,推送到Mysql数据库中,这些数据作业间有严格的执行顺序。
在完成上述跨数据计算引擎的调度配置后,所述服务端可以生成对应调度的链路配置。在配置跨数据计算引擎的依赖时,如果依赖的其他数据计算引擎的数据作业也是新增的数据作业,所述服务端可以自动将这种依赖信息添加到后续自动生成的部署手册上,添加必要的前置条件(即依赖条件)。这样在测试或者投产部署环节,整条链路中的一环部署失败时,可以方便的梳理出需要同步回退处理的相关数据作业,避免了信息不对称可能导致的风险,减少了不同计算平台维护人员的工作量。
因此,在本说明书一些实施例中,当所述网页端选择的目标模式为链路测试时,所述服务端可以通过部署机将包含多个彼此有依赖关系的数据作业的部署包部署至测试环境中进行测试,以验证数据链路的正确性。其中,链路测试是指:针对存在依赖关系的多个数据作业(包括跨数据计算引擎的数据作业),所述服务端可以通过部署机将对应的部署包部署至测试环境中,再通过调度中心按照顺序进行执行,根据最终的加工结果,验证数据链路的正确性。
例如,以上文背景技术中的场景为例,Mysql的开发人员想完整的验证数据链路,数据链路的数据作业均完成部署后,所述服务端将连接到调度中心上,找到Mysql作业依赖的作业,Teradata的SQL,DataStage程序,将这些程序按顺序执行,并返回执行结果。从而将一个原本跨越三个团队(Mysql团队、Teradata团队和DataStage团队)的沟通工作,现在变成了自动化的流程。
在大数据时代,很多数据库都有多集群异地灾备模式,这些异地集群在调度上分属不同系统,但是这些集群作业有着相同的加工逻辑,可能仅仅是连接的数据库不同。
因此,在本说明书一些实施例中,当数据作业为集群的数据作业时,如果已完成针对所述集群中一个节点的数据作业封装,则所述服务端可以复用该数据作业,以生成所述集群中余下节点的数据作业(在一些实施例中,所述服务端复用数据作业,可以是在收到用户通过网页端发起的复用请求后触发的)。即在开发集群的数据作业时,所述服务端可以识别集群模式,这些集群的数据作业可以在一个页面进行开发,不需要切换集群。同样,对于多集群系统,在开发完其中一个集群的数据作业后,基于用户的操作请求,所述服务端也可以自动生成对应的其他集群的数据作业,后台系统会根据该集群的数据作业,自动替换连接信息,从而自动生成其他集群对应的数据作业;这些不同集群的数据作业除了作业名不同和作业连接的数据库集群不同,其他的参数都是一致的。如此,一方面提升了数据作业的开发效率;另一方面还保证了开发质量。而且,由所述服务端自动创建的数据作业可以保证不同集群的参数、SQL、程序的一致性,避免了多次提交造成的版本问题。
请再次参考图1所示,在本说明书一些实施例中,上述数据作业开发测试系统还可以提供有用户管理、模板管理、测试结果管理以及投产资料生成管理等功能模块。
参考图4所示,在本说明书一些实施例中,所述服务端可以包括:
模板提供模块401,可以用于向网页端提供多种数据程序模板,以用于所述网页端从中选择目标模板;所述多种数据程序模板对应多种数据计算引擎。
程序生成模块402,可以用于接收所述网页端在选择的目标模板中写入的数据内容,并据此生成数据程序。
模式提供模块403,可以用于向所述网页端提供多种测试模式,以用于所述网页端从中选择目标模式。
程序自测模块404,可以用于当所述网页端选择的目标模式为数据程序自测试时,通过自身配置的与所述目标模板对应的客户端,将所述数据程序部署至对应的数据计算引擎中进行测试,以验证所述数据程序的正确性。
请继续参考图4所示,在本说明书另一些实施例中,所述的服务端还可以包括:
配置文件生成模块405,可以用于在所述程序生成模块生成数据程序之后,接收所述网页端提供的针对每个数据程序的作业调度信息,并据此生成对应的调度配置文件;
作业封装模块406,可以用于将每个数据程序及其调度配置文件封装成对应的数据作业;
部署包整合模块407,可以用于在接收到所述网页端的部署包生成指令时,将一个或多个数据作业整合为部署包;
开发测试模块408,可以用于当所述网页端选择的目标模式为数据作业开发测试时,通过部署机将所述部署包部署至开发环境中进行测试,以验证所述部署包的正确性。
请继续参考图4所示,在本说明书另一些实施例中,所述的服务端还可以包括:
子批量测试模块409,可以用于在所述部署包整合模块将一个或多个数据作业整合为部署包之后,当所述网页端选择的目标模式为子批量测试时,通过部署机将包含一批数据作业的部署包部署至子批量环境中进行测试,通过调度系统执行计算引擎的作业,以验证所述调度配置文件的正确性。
请继续参考图4所示,在本说明书另一些实施例中,所述的服务端还可以包括:
全批量测试模块410,可以用于在所述部署包整合模块将一个或多个数据作业整合为部署包之后,当所述网页端选择的目标模式为全批量测试时,通过部署机将包含全量数据作业的部署包部署至测试环境中进行生产模拟环境测试。
请继续参考图4所示,在本说明书另一些实施例中,所述的服务端还可以包括:
链路测试模块411,可以用于在所述部署包整合模块将一个或多个数据作业整合为部署包之后,当所述网页端选择的目标模式为链路测试时,通过部署机将包含多个彼此有依赖关系的数据作业的部署包部署至测试环境中,通过调度系统按顺序进行测试,以验证数据链路的正确性。
请继续参考图4所示在本说明书另一些实施例中,所述的服务端还可以包括:
作业复用模块412,可以用于在数据作业为集群的数据作业时;如果已完成针对所述集群中一个节点的数据作业封装,则复用该数据作业,以生成所述集群中余下节点的数据作业。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
本说明书一些实施例还提供一种计算机设备。如图5所示,所述计算机设备502可以包括一个或多个处理器504,诸如一个或多个中央处理单元(CPU)或图形处理器(GPU),每个处理单元可以实现一个或多个硬件线程。计算机设备502还可以包括任何存储器506,其用于存储诸如代码、设置、数据等之类的任何种类的信息,一具体实施方式中,存储器506上并可在处理器504上运行的计算机程序,所述计算机程序被所述处理器504运行时,可以执行根据上述方法的指令。非限制性的,比如,存储器506可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备502的固定或可移除部件。在一种情况下,当处理器504执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备502可以执行相关联指令的任一操作。计算机设备502还包括用于与任何存储器交互的一个或多个驱动机构508,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备502还可以包括输入/输出模块510(I/O),其用于接收各种输入(经由输入设备512)和用于提供各种输出(经由输出设备514)。一个具体输出机构可以包括呈现设备516和相关联的图形用户接口518(GUI)。在其他实施例中,还可以不包括输入/输出模块510(I/O)、输入设备512以及输出设备514,仅作为网络中的一台计算机设备。计算机设备502还可以包括一个或多个网络接口520,其用于经由一个或多个通信链路522与其他设备交换数据。一个或多个通信总线524将上文所描述的部件耦合在一起。
通信链路522可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路522可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
本申请是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理器的处理器以产生一个机器,使得通过计算机或其他可编程数据处理器的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理器以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理器上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算机设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理器来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种数据作业开发测试方法,其特征在于,包括:
向网页端提供多种数据程序模板,以用于所述网页端从中选择目标模板;所述多种数据程序模板对应多种数据计算引擎;所述多种数据计算引擎包括业务数据库、企业数据仓库、大数据平台、数据分析工具、ETL数据计算引擎和脚本语言;
接收所述网页端在选择的目标模板中写入的数据内容,并据此生成数据程序;
向所述网页端提供多种测试模式,以用于所述网页端从中选择目标模式;所述多种测试模式包括数据程序自测试、数据作业开发测试、子批量测试、全批量测试和链路测试;
当所述网页端选择的目标模式为数据程序自测试时,通过自身配置的与所述目标模板对应的客户端,将所述数据程序部署至对应开发环境中的数据计算引擎中进行测试,以验证所述数据程序的正确性。
2.如权利要求1所述的数据作业开发测试方法,其特征在于,在所述生成数据程序之后,还包括:
接收所述网页端输入的针对每个数据程序的作业调度信息,并据此生成对应的调度配置文件;
将每个数据程序及其调度配置文件封装成对应的数据作业;
在接收到所述网页端的部署包生成指令时,将一个或多个数据作业整合为部署包;
当所述网页端选择的目标模式为数据作业开发测试时,通过部署机将所述部署包部署至开发环境中进行测试,以验证所述部署包的正确性。
3.如权利要求2所述的数据作业开发测试方法,其特征在于,在所述将一个或多个数据作业整合为部署包之后,还包括:
当所述网页端选择的目标模式为子批量测试时,通过部署机将包含一批数据作业的部署包部署至子批量环境中进行测试,以验证所述调度配置文件的正确性。
4.如权利要求2所述的数据作业开发测试方法,其特征在于,在所述将一个或多个数据作业整合为部署包之后,还包括:
当所述网页端选择的目标模式为全批量测试时,通过部署机将包含全量数据作业的部署包部署至测试环境中进行生产模拟环境测试。
5.如权利要求2所述的数据作业开发测试方法,其特征在于,在所述将一个或多个数据作业整合为部署包之后,还包括:
当所述网页端选择的目标模式为链路测试时,通过部署机将包含多个彼此有依赖关系的数据作业的部署包部署至测试环境中进行测试,以验证数据链路的正确性。
6.如权利要求2所述的数据作业开发测试方法,其特征在于,还包括:
在数据作业为集群的数据作业时;
如果已完成针对所述集群中一个节点的数据作业封装,则复用该数据作业,以生成所述集群中余下节点的数据作业。
7.如权利要求2所述的数据作业开发测试方法,其特征在于,所述作业调度信息包括以下中任意一种:
定时触发;
信号文件触发;
依赖关系触发。
8.一种服务端,其特征在于,包括:
模板提供模块,用于向网页端提供多种数据程序模板,以用于所述网页端从中选择目标模板;所述多种数据程序模板对应多种数据计算引擎;所述多种数据计算引擎包括业务数据库、企业数据仓库、大数据平台、数据分析工具、ETL数据计算引擎和脚本语言;
程序生成模块,用于接收所述网页端在选择的目标模板中写入的数据内容,并据此生成数据程序;
模式提供模块,用于向所述网页端提供多种测试模式,以用于所述网页端从中选择目标模式;所述多种测试模式包括数据程序自测试、数据作业开发测试、子批量测试、全批量测试和链路测试;程序自测模块,用于当所述网页端选择的目标模式为数据程序自测试时,通过自身配置的与所述目标模板对应的客户端,将所述数据程序部署至对应开发环境中的数据计算引擎中进行测试,以验证所述数据程序的正确性。
9.一种数据作业开发测试系统,其特征在于,包括客户端以及权利要求8所述服务端。
10.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时,执行根据权利要求1-7任意一项所述方法的指令。
11.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求1-7任意一项所述方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011298963.6A CN112395196B (zh) | 2020-11-18 | 2020-11-18 | 数据作业开发测试方法、装置、设备、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011298963.6A CN112395196B (zh) | 2020-11-18 | 2020-11-18 | 数据作业开发测试方法、装置、设备、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112395196A CN112395196A (zh) | 2021-02-23 |
CN112395196B true CN112395196B (zh) | 2024-06-07 |
Family
ID=74607485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011298963.6A Active CN112395196B (zh) | 2020-11-18 | 2020-11-18 | 数据作业开发测试方法、装置、设备、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395196B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535182B (zh) * | 2021-06-30 | 2023-02-17 | 上海浦东发展银行股份有限公司 | 项目工程的构建方法、装置、计算机设备和存储介质 |
CN113535225B (zh) * | 2021-07-26 | 2022-08-05 | 上海浦东发展银行股份有限公司 | 应用软件的环境配置文件处理方法、装置、设备和介质 |
CN113741970B (zh) * | 2021-08-09 | 2024-02-02 | 广州市易工品科技有限公司 | 数据仓库生产环境和开发环境分离实现方法和装置 |
CN117093352B (zh) * | 2023-10-13 | 2024-01-09 | 之江实验室 | 基于模板的计算集群作业调度系统及方法、装置 |
CN117592311B (zh) * | 2024-01-17 | 2024-04-16 | 上海朋熙半导体有限公司 | 一种工作流的多等级模拟方法、装置、设备及可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000064184A (ko) * | 2000-08-28 | 2000-11-06 | 김규일 | 인터넷을 이용한 베타테스팅 시스템 |
CA2547107A1 (en) * | 2006-05-16 | 2007-11-16 | Bernd Kurz | Visual web page authoring tool for multi-context web pages |
WO2015159131A1 (en) * | 2014-04-17 | 2015-10-22 | Yogesh Chunilal Rathod | Platform for enabling integrating, accessing, hosting & executing of source codes of 3rd parties and sharing associate generated revenue |
US9454363B1 (en) * | 2013-03-15 | 2016-09-27 | Data Systems International, Inc. | Mobile application development system and method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11263119B2 (en) * | 2019-05-07 | 2022-03-01 | Adp, Inc. | Just in time scriptless test automation selectors and interactions |
-
2020
- 2020-11-18 CN CN202011298963.6A patent/CN112395196B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000064184A (ko) * | 2000-08-28 | 2000-11-06 | 김규일 | 인터넷을 이용한 베타테스팅 시스템 |
CA2547107A1 (en) * | 2006-05-16 | 2007-11-16 | Bernd Kurz | Visual web page authoring tool for multi-context web pages |
US9454363B1 (en) * | 2013-03-15 | 2016-09-27 | Data Systems International, Inc. | Mobile application development system and method |
WO2015159131A1 (en) * | 2014-04-17 | 2015-10-22 | Yogesh Chunilal Rathod | Platform for enabling integrating, accessing, hosting & executing of source codes of 3rd parties and sharing associate generated revenue |
Also Published As
Publication number | Publication date |
---|---|
CN112395196A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112395196B (zh) | 数据作业开发测试方法、装置、设备、系统及存储介质 | |
CN110321152B (zh) | 一种软件开发平台 | |
US20210311858A1 (en) | System and method for providing a test manager for use with a mainframe rehosting platform | |
CN107370786B (zh) | 一种基于微服务架构的通用信息管理系统 | |
JP7011737B2 (ja) | コネクタ開発および統合チャネル展開のためのシステムおよび方法 | |
US10656929B2 (en) | Autonomously healing microservice-based applications | |
US9098364B2 (en) | Migration services for systems | |
US9729615B2 (en) | System and method for collaborative designing, development, deployment, execution, monitoring and maintenance of enterprise applications | |
CN112073269B (zh) | 区块链网络测试方法、装置、服务器及存储介质 | |
US20160004628A1 (en) | Parallel test execution framework for multiple web browser testing | |
CN111831269A (zh) | 一种应用开发系统、运行方法、设备及存储介质 | |
US20150135158A1 (en) | Isolated testing of distributed development projects | |
US10466981B1 (en) | System and method for generative programming in an integrated development environment (IDE) | |
US20170123777A1 (en) | Deploying applications on application platforms | |
CN108243012B (zh) | 在线计费系统ocs中计费应用处理系统、方法及装置 | |
CN108920139B (zh) | 一种程序生成方法、装置、系统、电子设备及存储介质 | |
US11151025B1 (en) | Generating software test plans based at least in part on monitored traffic of a production application | |
Rajput | Hands-On Microservices–Monitoring and Testing: A performance engineer’s guide to the continuous testing and monitoring of microservices | |
US10592277B2 (en) | System and method for determining the success of a cross-platform application migration | |
CN116774987A (zh) | 一种基于web多终端的软件开发控制方法及系统 | |
US9176797B1 (en) | Workflow processing and methods for auditing and playback of data | |
Michelsen et al. | What is service virtualization? | |
Surianarayanan et al. | Demystifying the Cloud-Native Computing Paradigm | |
Riahi et al. | Using Hadoop File System and MapReduce in a small/medium Grid site | |
Team | Continuous Integration and Continuous Deployment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |