CN109375993B - 调度表的检测方法、装置、计算机设备以及存储介质 - Google Patents
调度表的检测方法、装置、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN109375993B CN109375993B CN201810955927.9A CN201810955927A CN109375993B CN 109375993 B CN109375993 B CN 109375993B CN 201810955927 A CN201810955927 A CN 201810955927A CN 109375993 B CN109375993 B CN 109375993B
- Authority
- CN
- China
- Prior art keywords
- task
- configuration
- schedule
- configuration information
- writing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000001514 detection method Methods 0.000 claims abstract description 50
- 230000001419 dependent effect Effects 0.000 claims description 88
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000012795 verification Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及自动化测试技术,揭示了调度表的检测方法、装置、计算机设备以及存储介质,其中,调度表的检测方法,包括:读取待检测的调度表,以获取所述调度表中的各配置信息;获取调度平台数据库中各所述配置信息对应的预定义的配置规范;根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求。本申请开发了调度表自动检测规范,能自动检测调度表的配置规则是否符合调度平台数据库中已定义或已存在的配置规则,提高调度表自动检测的流程化、准确度,极大地缩短产品上线的时间耗量,显著提高工作效率。通过设置自动检验的过程,提高自动检测调度表的准确性,以及流程流畅化。
Description
技术领域
本申请涉及到调度领域,特别是涉及到调度表的检测方法、装置、计算机设备以及存储介质。
背景技术
现有调度表需要人工参与进行检查配置信息的正确性与否,工作量非常大,不仅耗时长,且容易出错。严重影响产品上线速度,工作效率不高。亟待开发一种能实现自动检测调度表的配置信息是否合乎规定的工具,以提高工作效率,节省运营成本。
发明内容
本申请的主要目的为提供一种调度表的检测方法,旨在解决现有调度表需要人工参与检查配置,工作量非常大的技术问题。
本申请提出一种调度表的检测方法,包括:
读取待检测的调度表,以获取所述调度表中的各配置信息;
获取调度平台数据库中各所述配置信息对应的预定义的配置规范;
根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求。
优选地,所述读取所述调度表,以获取所述调度表中的各配置信息的步骤之前,包括:
获取所述调度表对应的任务协议;
根据所述任务协议在所述调度表中分别填充对应的各配置字段,以形成各所述配置信息。
优选地,所述根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求的步骤,包括:
获取各所述配置字段的排布顺序;
根据所述排布顺序依次逐项检测各所述配置字段是否符合要求。
优选地,所述根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求的步骤,包括:
获取具有严格书写方式要求的目标配置字段;
通过识别目标配置字段,获取目标配置字段的书写方式;
根据目标配置字段调取配置规范中指定的书写规则;
根据正则表达式判断所述书写方式是否与指定的所述书写规则匹配;
若是,则反馈匹配成功,否则报错。
优选地,所述目标配置字段为任务依赖关系,所述根据正则表达式判断所述书写方式是否与指定的所述书写规则匹配的步骤,包括:
通过正则表达式判断指定任务的各依赖任务是否通过指定符号衔接;
若通过指定符号衔接,则判断各所述依赖任务是否均为有效任务;
若为有效任务,则判定所述任务依赖关系的书写方式与指定的所述书写规则一一对应匹配。
优选地,所述判断各所述依赖任务是否均为有效任务的步骤,包括:
解析各所述依赖任务的存在状态;
判断各所述依赖任务的存在状态是否满足预设条件;
若是,则判定各所述依赖任务为有效任务。
优选地,所述判定所述任务依赖关系的书写方式与指定的所述书写规则一一对应匹配的步骤之后,包括:
根据所述任务依赖关系自动生成用于完成所述指定任务的调度序列;
根据所述调度序列,依次执行所述指定任务的依赖任务,以完成所述指定任务。
本申请还提供了一种调度表的检测装置,包括:
第一获取模块,用于通过读取待检测的调度表,获取所述调度表中的各配置信息;
第二获取模块,用于获取调度平台数据库中各所述配置信息对应的预定义的配置规范;
检测模块,用于根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求。
本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
本申请开发了调度表自动检测规范,能自动检测调度表的配置规则是否符合调度平台数据库中已定义或已存在的配置规则,提高调度表自动检测的流程化、准确度,极大地缩短产品上线的时间耗量,显著提高工作效率。通过设置自动检验的过程,提高自动检测调度表的准确性,以及流程流畅化。通过正则表达式检测调度表中具有严格书写方式要求的配置字段,以进一步提高自动检测调度表的覆盖范围,进一步减少人工参与的工作,进一步提高工作效率。
附图说明
图1本申请一实施例的调度表的检测方法的流程示意图;
图2本申请一实施例的调度表的检测装置的结构示意图;
图3本申请另一实施例的调度表的检测装置的结构示意图;
图4本申请一实施例的检测模块的结构示意图;
图5本申请另一实施例的检测模块的结构示意图;
图6本申请一实施例的判断子模块的结构示意图;
图7本申请一实施例的第二判断单元的结构示意图;
图8本申请再一实施例的判断子模块的结构示意图;
图9本申请一实施例的计算机设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例的调度表的检测方法,包括:
S1:读取待检测的调度表,以获取所述调度表中的各配置信息。
本实施例自动读取待检测的调度表,以获取相应的各配置信息,以便自动检测各配置信息是否合乎预设规范,以便调度任务的顺利进行。本实施例通过自动检测调度表,提高检测工作的工作效率,以及监控调度表的匹配信息准确度、流程化,节省人力资源,节省检测耗时。本实施例的配置信息根据调动表的任务类型不同而不同。本实施调度表的配置信息包括预先配置好处于待检测状态的调度表。
S2:获取调度平台数据库中各所述配置信息对应的预定义的配置规范。
本实施例通过将配置信息与调度平台数据库中的已存在的配置规范一一比对进行检测。本实施例的调度平台数据库中包括各种任务类型的调度表的配置规范,以便调度表的配置在业界内(或指定应用领域内)得到相对的统一,以便通过各调度表实现的各种任务的顺畅完成。
S3:根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求。
本实施例通过调度平台数据库中预定义的配置规范,对调度表中各配置信息进行逐项比对,以确保整个调度表的配置信息的正确率,避免对后续的调度任务产生影响,本实施例的配置信息指调度表中所包含的项目内容,比如任务名、任务依赖关系、任务优先级等。比如配置信息为任务名,通过与调度平台数据库中的已存在的任务名进行搜索比对,以确定当前任务名为不重复的有效可用任务名;再比如配置信息为任务依赖关系,任务依赖必须依赖存在的有效任务才可满足要求,则需要通过在调度平台数据库中搜索比对是否已存在当前任务需要依赖的任务,若调度平台数据库中不存在,则需要进一步搜索当前部署文件中是否存在当前任务需要依赖的任务,若都不存在,则判定当前的任务依赖关系错误。再比如配置信息为连接串,本实施例的连接串用于指定除调度平台数据库之外的外部数据源任务的来源,通过判断该连接串是否已存在于调度平台数据库,若存在,则判定该连接串有效;再比如,配置信息为任务优先级,判断当前各任务的优先级级别是否与调度平台数据库中的优先级级别一致,若一致,则为有效优先级。本实施例的配置信息包括连接串,优先级,部署模式等多达27个配置信息的配置规则,通过自动连接调度平台数据库实现各配置信息的自动规范校验,极大地节省开发任务的人力资源投入,显著提升调度表的检验效率和准确度,具有实际应用价值。
进一步地,本实施例的步骤S1之前,包括:
S10:获取所述调度表对应的任务协议。
本实施例的调度表中根据不同的任务协议填充不同的各配置信息,以满足任务需要。
S11:根据所述任务协议在所述调度表中分别填充对应的各配置字段,以形成各所述配置信息。
本实施例的各配置信息对应的赋值分别由各字段组成,比如,配置字段可以为任务名,任务依赖关系,任务连接串,任务优先级或任务部署模式等配置信息对应的赋值,每个字段存在与其对应的配置规范。
进一步地,本申请另一实施例的步骤S3,包括:
S30:获取各配置字段的排布顺序。
本实施例通过任务名,任务依赖关系,任务连接串,任务优先级,任务部署模式等各配置字段的排布顺序,依次逐项对各配置字段进行检测。
S31:根据所述排布顺序依次逐项检测各所述配置字段是否符合要求。
举例地,排布顺序为任务名=>任务连接串=>任务依赖关系=>任务优先级,首先根据任务名对应的配置规范,检测任务名的书写方式是否符合其对应的配置规范的要求,比如任务名不能与调度平台中的已有的任务名重复,否则当前的任务名无效;通过检测当前任务名符合其对应的配置规范,然后再对排在其后的任务依赖关系进行检测,如此依次按照排布顺序进行逐个检测,检测完毕后,输出携带各配置字段对应检测结果的检测报告,如果检测结果为错误,且会给予具体的错误原因分析,以便及时更正,节约报错处理时间。本实施例的排布顺序包括各配置字段在调度表中的自然排列顺序。本申请其他实施例中排布顺序包括用户预设的各种排布顺序,比如,根据任务性质将特别关注的某些配置字段排在前列;或者用户按照其他因素进行预先设定的排布顺序,包括将某个特别关注的配置字段进行重复排序的排布顺序等。
进一步地,本实施例的步骤S3,包括:
S32:获取具有严格书写方式要求的目标配置字段。
本实施例在通过调度平台数据库对各目标配置字段的配置规则检测符合配置要求后,对某些严格要求书写方式的目标配置字段还需检测其具体的书写方式是否符合书写规则,以防因小的失误影响整个任务的进程。本实施例的严格表示要求书写方式百分百符合书写规则。
S33:通过识别目标配置字段,获取所述目标配置字段的书写方式。
本实施例通过识别配置字段,判断是否为预测严格要求书写方式的目标配置字段,若是,则获取其当前的书写方式。
S34:根据所述目标配置字段调取配置规范中指定的书写规则。
本实施例根据目标配置字段找到配置信息对应的目标配置字段的书写规则,比如,目标配置字段为任务名的对应赋值,比如任务名对应的书写规则为:任务名不能为中文,且应为字母和数字的组合,且规定以字母开头,数字结尾;再比如,目标配置字段为任务依赖关系的对应赋值,其对应的书写规则为半角型英文逗号。
S35:根据正则表达式判断所述书写方式是否与指定的所述书写规则匹配。
本实施例通过正则表达式对某些目标配置字段的书写方式进行逐项检验,本实施例的正则表达式用来检索、替换符合某规则的目标配置字段,利用正则表达式进行目标配置字段书写方式的检验操作。例如,在程序中建了一个功能强大的正则表达式引擎,根据正则表达式的计算逻辑,判断当前配置字段的书写方式是否与预先定义的目标配置字段的书写规则相一致,比如是否包括特定字符、特定字符的组合方式是否符合书写规则,以确定当前配置字段已正确表达字符串组合需要表达的目标的一种过滤逻辑。
S36:若是,则反馈匹配成功,否则报错。
举例地,目标配置字段内容为任务依赖关系的对应赋值,其对应的书写规则为半角型英文逗号,但通过正则表达式判断不是所要求的半角型英文逗号,比如是中文逗号或顿号等,则进行报错,并给出相应的报错原因和依据。
进一步地,本实施例的所述目标配置字段为任务依赖关系,步骤S35,包括:
S351:通过正则表达式判断指定任务的各依赖任务是否通过指定符号衔接。
本实施例中任务依赖关系的对应赋值为重点关注的目标配置字段,根据历史数据发现任务依赖关系中的衔接符号为出错概率最高的出错点,本实施例通过设置任务依赖关系的检测级别给予重点关注。本实施例中指定符号指上述的半角型英文逗号。举例地,指定任务为“A1”,“A1”的任务依赖关系的对应赋值表示为“E,F”,表示任务E和F均运行完后再运行指定任务“A1”。
S352:若通过指定符号衔接,则判断各所述依赖任务是否均为有效任务。
本实施例在检测任务依赖关系的对应赋值的书写方式符合书写规则后,会进一步检测指定任务所依赖的任务是否为有效任务,本实施例通过将容易检测的书写方式排在前列,以优化检测配置字段的流程,节省不必要的耗时和资源调配。举例地,依赖任务为已发布状态,或已存在于指定数据库中,则为有效任务。
S353:若为有效任务,则判定所述任务依赖关系的书写方式与指定的所述书写规则一一对应匹配。
本实施例只有依赖任务的连接符号正确且依赖任务为有效任务,两者同时满足要求后,才能根据所依赖的有效任务,完成指定任务。
进一步地,本实施例的步骤S352,包括:
S3520:解析各所述依赖任务的存在状态。
本实施例通过解析依赖任务的路径获得依赖任务的存在状态。
S3521:判断各所述依赖任务的存在状态是否满足预设条件。
本实施例的预设条件包括:依赖任务的存在状态为存在于调度平台数据库上,或存在于当前任务栏或存在于当前的部署文件中,以确保在执行指定任务时,可调用到所依赖的任务。指定任务的依赖任务存在多个时,会分别对各依赖任务进行逐一判断是否为有效任务,只有当所有的依赖任务为有效任务时,指定任务才可顺利执行。
S3522:若是,则判定各所述依赖任务为有效任务。
本实施例通过判断依赖任务是存在且可执行,则为有效任务,否则为无效任务。任务依赖中依赖一个无效任务,比如依赖了不存在的依赖任务,将导致指定任务无法执行。
进一步地,本申请再一实施例的步骤S353之后,包括:
S354:根据所述任务依赖关系自动生成,用于完成所述指定任务的调度序列。
本实施例通过上述的任务依赖关系自动生成,用于完成所述指定任务的调度序列。本实施例的调度序列中包括了任务的优先级判断、任务的进行状态监控等流程,以便调度序列可自动完成,不需要人工参与,节省运营成本。举例地,指定任务需要依次执行依赖的有效任务a、b、c,即有效任务a完成后自动调用有效任务b,有效任务b完成后自动调用有效任务c,则指定任务的任务依赖关系为a到b到c,则对应生成的指定任务的调度序列为先调度a,再调度b,最后调度c。
S355:根据所述调度序列,依次执行所述指定任务的依赖任务,以完成所述指定任务。
本实施例的调度序列首先根据各依赖任务的优先级进行依次完成各依赖任务,或在超出并发运行的能力时,按照优先级依次完成各依赖任务,并监听各依赖任务完成后发送的任务完成通知,并根据接收到所有依赖任务的完成通知后,自动启动指定任务,进而完成整个调取序列的流程。
本实施例开发了调度表自动检测规范,能自动检测调度表的配置规则是否符合调度平台数据库中已定义或已存在的配置规则,提高调度表自动检测的流程化、准确度,极大地缩短产品上线的时间耗量,显著提高工作效率。通过设置自动检验的过程,提高自动检测调度表的准确性,以及流程流畅化。通过正则表达式检测调度表中具有严格书写方式要求的配置字段,以进一步提高自动检测调度表的覆盖范围,进一步减少人工参与的工作,进一步提高工作效率。
参照图2,本申请一实施例的调度表的检测装置,包括:
第一获取模块1,用于读取待检测的调度表,以获取所述调度表中的各配置信息。
本实施例自动读取待检测的调度表,以获取相应的各配置信息,以便自动检测各配置信息是否合乎预设规范,以便调度任务的顺利进行。本实施例通过自动检测调度表,提高检测工作的工作效率,以及监控调度表的匹配信息准确度、流程化,节省人力资源,节省检测耗时。本实施例的配置信息根据调动表的任务类型不同而不同。本实施调度表的配置信息包括预先配置好处于待检测状态的调度表。
第二获取模块2,用于获取调度平台数据库中各所述配置信息对应的预定义的配置规范。
本实施例通过将配置信息与调度平台数据库中的已存在的配置规范一一比对进行检测。本实施例的调度平台数据库中包括各种任务类型的调度表的配置规范,以便调度表的配置在业界内(或指定应用领域内)得到相对的统一,以便通过各调度表实现的各种任务的顺畅完成。
检测模块3,用于根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求。
本实施例通过调度平台数据库中预定义的配置规范,对调度表中各配置信息进行逐项比对,以确保整个调度表的配置信息的正确率,避免对后续的调度任务产生影响,本实施例的配置信息指调度表中所包含的项目内容,比如任务名、任务依赖关系、任务优先级等。比如配置信息为任务名,通过与调度平台数据库中的已存在的任务名进行搜索比对,以确定当前任务名为不重复的有效可用任务名;再比如配置信息为任务依赖关系,任务依赖必须依赖存在的有效任务才可满足要求,则需要通过在调度平台数据库中搜索比对是否已存在当前任务需要依赖的任务,若调度平台数据库中不存在,则需要进一步搜索当前部署文件中是否存在当前任务需要依赖的任务,若都不存在,则判定当前的任务依赖关系错误。再比如配置信息为连接串,本实施例的连接串用于指定除调度平台数据库之外的外部数据源任务的来源,通过判断该连接串是否已存在于调度平台数据库,若存在,则判定该连接串有效;再比如,配置信息为任务优先级,判断当前各任务的优先级级别是否与调度平台数据库中的优先级级别一致,若一致,则为有效优先级。本实施例的配置信息包括连接串,优先级,部署模式等多达27个配置信息的配置规则,通过自动连接调度平台数据库实现各配置信息的自动规范校验,极大地节省开发任务的人力资源投入,显著提升调度表的检验效率和准确度,具有实际应用价值。
参照图3,本申请另一实施例的调度表的检测装置,包括:
第三获取模块10,用于获取所述调度表对应的任务协议。
本实施例的调度表中根据不同的任务协议填充不同的各配置信息,以满足任务需要。
填充模块11,用于根据所述任务协议在所述调度表中分别填充对应的各配置字段,以形成各所述配置信息。
本实施例的各配置信息对应的赋值分别由各字段组成,比如,配置字段可以为任务名,任务依赖关系,任务连接串,任务优先级或任务部署模式等配置信息对应的赋值,每个字段存在与其对应的配置规范。
参照图4,本申请一实施例的检测模块3,包括:
第一获取子模块30,用于获取各配置字段的排布顺序。
本实施例通过任务名,任务依赖关系,任务连接串,任务优先级,任务部署模式等各配置字段的排布顺序,依次逐项对各配置字段进行检测。
检测子模块31,用于根据所述排布顺序依次逐项检测各所述配置字段是否符合要求。
举例地,排布顺序为任务名=>任务连接串=>任务依赖关系=>任务优先级,首先根据任务名对应的配置规范,检测任务名的书写方式是否符合其对应的配置规范的要求,比如任务名不能与调度平台中的已有的任务名重复,否则当前的任务名无效;通过检测当前任务名符合其对应的配置规范,然后再对排在其后的任务依赖关系进行检测,如此依次按照排布顺序进行逐个检测,检测完毕后,输出携带各配置字段对应检测结果的检测报告,如果检测结果为错误,且会给予具体的错误原因分析,以便及时更正,节约报错处理时间。本实施例的排布顺序包括各配置字段在调度表中的自然排列顺序。本申请其他实施例中排布顺序包括用户预设的各种排布顺序,比如,根据任务性质将特别关注的某些配置字段排在前列;或者用户按照其他因素进行预先设定的排布顺序,包括将某个特别关注的配置字段进行重复排序的排布顺序等。
参照图5,本申请另一实施例的检测模块3,包括:
第二获取子模块32,用于获取具有严格书写方式要求的目标配置字段。
本实施例在通过调度平台数据库对各目标配置字段的配置规则检测符合配置要求后,对某些严格要求书写方式的目标配置字段还需检测其具体的书写方式是否符合书写规则,以防因小的失误影响整个任务的进程。本实施例的严格表示要求书写方式百分百符合书写规则。
第三获取子模块33,用于通过识别目标配置字段,获取所述目标配置字段的书写方式。
本实施例通过识别目标配置字段,判断是否为预测严格要求书写方式的目标配置字段,若是,则获取其当前的书写方式。
调取子模块34,用于根据所述目标配置字段调取配置规范中指定的书写规则。
本实施例根据目标配置字段找到配置信息对应的目标配置字段的书写规则,比如,目标配置字段为任务名的对应赋值,比如任务名对应的书写规则为:任务名不能为中文,且应为字母和数字的组合,且规定以字母开头,数字结尾;再比如,目标配置字段为任务依赖关系的对应赋值,其对应的书写规则为半角型英文逗号。
判断子模块35,用于根据正则表达式判断所述书写方式是否与指定的所述书写规则匹配。
本实施例通过正则表达式对某些目标配置字段的书写方式进行逐项检验,本实施例的正则表达式用来检索、替换符合某规则的目标配置字段,利用正则表达式进行目标配置字段书写方式的检验操作。例如,在程序中建了一个功能强大的正则表达式引擎,根据正则表达式的计算逻辑,判断当前配置字段的书写方式是否与预先定义的目标配置字段的书写规则相一致,比如是否包括特定字符、特定字符的组合方式是否符合书写规则,以确定当前配置字段已正确表达字符串组合需要表达的目标的一种过滤逻辑。
反馈子模块36,用于若所述书写方式是否与指定的所述书写规则一一对应匹配,则通过所述正则表达式反馈匹配成功,否则报错。
举例地,目标配置字段内容为任务依赖关系的对应赋值,其对应的书写规则为半角型英文逗号,但通过正则表达式判断不是所要求的半角型英文逗号,比如是中文逗号或顿号等,则进行报错,并给出相应的报错原因和依据。
参照图6,本实施例的所述目标配置字段为任务依赖关系,判断子模块35,包括:
第一判断单元351,用于通过正则表达式判断指定任务的各依赖任务是否通过指定符号衔接。
本实施例中任务依赖关系的对应赋值为重点关注的目标配置字段,根据历史数据发现任务依赖关系中的衔接符号为出错概率最高的出错点,本实施例通过设置任务依赖关系的检测级别给予重点关注。本实施例中指定符号指上述的半角型英文逗号。举例地,指定任务为“A1”,“A1”的任务依赖关系的对应赋值表示为“E,F”,表示任务E和F均运行完后再运行指定任务“A1”。
第二判断单元352,用于若通过指定符号衔接,则判断各所述依赖任务是否均为有效任务。
本实施例在检测任务依赖关系的对应赋值的书写方式符合书写规则后,会进一步检测指定任务所依赖的任务是否为有效任务,本实施例通过将容易检测的书写方式排在前列,以优化检测配置字段的流程,节省不必要的耗时和资源调配。举例地,依赖任务为已发布状态,或已存在于指定数据库中,则为有效任务。
判定单元353,用于若为有效任务,则判定所述任务依赖关系的书写方式与指定的所述书写规则一一对应匹配。
本实施例只有依赖任务的连接符号正确且依赖任务为有效任务,两者同时满足要求后,才能根据所依赖的有效任务,完成指定任务。
参照图7,本实施例的第二判断单元352,包括:
解析子单元3520,用于解析各所述依赖任务的存在状态。
本实施例通过解析依赖任务的路径获得依赖任务的存在状态。
判断子单元3521,用于判断各所述依赖任务的存在状态是否满足预设条件。
本实施例的预设条件包括:依赖任务的存在状态为存在于调度平台数据库上,或存在于当前任务栏或存在于当前的部署文件中,以确保在执行指定任务时,可调用到所依赖的任务。当前任务的依赖任务存在多个时,会分别对各依赖任务进行逐一判断是否为有效任务,只有当所有的依赖任务为有效任务时,指定任务才可顺利执行。
判定子单元3522:若满足预设条件,则判定各所述依赖任务为有效任务。
本实施例通过判断依赖任务是存在且可执行,则为有效任务,否则为无效任务。任务依赖中依赖一个无效任务,比如依赖了不存在的依赖任务,将导致指定任务无法执行。
参照图8,本申请再一实施例的判断子模块35,包括:
生成单元354,用于根据所述任务依赖关系自动生成,用于完成所述指定任务的调度序列。
本实施例通过上述的任务依赖关系自动生成,用于完成所述指定任务的调度序列。本实施例的调度序列中包括了任务的优先级判断、任务的进行状态监控等流程,以便调度序列可自动完成,不需要人工参与,节省运营成本。举例地,指定任务需要依次执行依赖的有效任务a、b、c,即有效任务a完成后自动调用有效任务b,有效任务b完成后自动调用有效任务c,则指定任务的任务依赖关系为a到b到c,则对应生成的指定任务的调度序列为先调度a,再调度b,最后调度c。
执行单元355,用于根据所述调度序列,依次执行所述指定任务的依赖任务,以完成所述指定任务。
本实施例的调度序列首先根据各依赖任务的优先级进行依次完成各依赖任务,或在超出并发运行的能力时,按照优先级依次完成各依赖任务,并监听各依赖任务完成后发送的任务完成通知,并根据接收到所有依赖任务的完成通知后,自动启动指定任务,进而完成整个调取序列的流程。
参照图9,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储调度表的检测过程需要的所有数据。该计算机设备的网络接口用于与外部的端通过网络连接通信。该计算机程序被处理器执行时以实现调度表的检测方法。
上述处理器执行上述调度表的检测方法,包括:读取待检测的调度表,以获取所述调度表中的各配置信息;获取调度平台数据库中各所述配置信息对应的预定义的配置规范;根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求。
上述计算机设备,通过开发了调度表自动检测规范,能自动检测调度表的配置规则是否符合调度平台数据库中已定义或已存在的配置规则,提高调度表自动检测的流程化、准确度,极大地缩短产品上线的时间耗量,显著提高工作效率。通过设置自动检验的过程,提高自动检测调度表的准确性,以及流程流畅化。通过正则表达式检测调度表中具有严格书写方式要求的配置字段,以进一步提高自动检测调度表的覆盖范围,进一步减少人工参与的工作,进一步提高工作效率。
在一个实施例中,上述处理器通过读取所述调度表,获取所述调度表中的各配置信息的步骤之前,包括:获取所述调度表对应的任务协议;根据所述任务协议在所述调度表中分别填充对应的各配置字段,以形成各所述配置信息。
在一个实施例中,上述处理器根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求的步骤,包括:获取各所述配置字段的排布顺序;根据所述排布顺序依次逐项检测各所述配置字段是否符合要求。
在一个实施例中,上述处理器根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求的步骤,包括:获取具有严格书写方式要求的所述目标配置字段;通过识别目标配置字段,获取所述目标配置字段的书写方式;根据所述目标配置字段调取配置规范中指定的书写规则;根据正则表达式判断所述书写方式是否与指定的所述书写规则匹配;若是,则反馈匹配成功,否则报错。
在一个实施例中,所述目标配置字段为任务依赖关系,上述处理器根据正则表达式判断所述书写方式是否与指定的所述书写规则一一对应匹配的步骤,包括:通过正则表达式判断指定任务的各依赖任务是否通过指定符号衔接;若通过指定符号衔接,则判断各所述依赖任务是否为有效任务;若为有效任务,则判定所述任务依赖关系的书写方式与指定的所述书写规则一一对应匹配。
在一个实施例中,上述处理器根据所述判断指令判断各所述依赖任务是否均为有效任务的步骤,包括:解析各所述依赖任务的存在状态;判断各所述依赖任务的存在状态是否满足预设条件;若是,则判定各所述依赖任务为有效任务。
在一个实施例中,上述处理器判定所述任务依赖关系的书写方式与指定的所述书写规则一一对应匹配的步骤之后,包括:根据所述任务依赖关系自动生成,用于完成所述指定任务的调度序列;根据所述调度序列,依次执行所述指定任务的依赖任务,以完成所述指定任务。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现调度表的检测方法,包括:通过读取待检测的调度表,获取所述调度表中的各配置信息;获取调度平台数据库中各所述配置信息对应的预定义的配置规范;根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求。
上述计算机可读存储介质,通过开发了调度表自动检测规范,能自动检测调度表的配置规则是否符合调度平台数据库中已定义或已存在的配置规则,提高调度表自动检测的流程化、准确度,极大地缩短产品上线的时间耗量,显著提高工作效率。通过设置自动检验的过程,提高自动检测调度表的准确性,以及流程流畅化。通过正则表达式检测调度表中具有严格书写方式要求的配置字段,以进一步提高自动检测调度表的覆盖范围,进一步减少人工参与的工作,进一步提高工作效率。
在一个实施例中,上述处理器读取所述调度表,以获取所述调度表中的各配置信息的步骤之前,包括:获取所述调度表对应的任务协议;根据所述任务协议在所述调度表中分别填充对应的各配置字段,以形成各所述配置信息。
在一个实施例中,上述处理器根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求的步骤,包括:获取各所述配置字段的排布顺序;根据所述排布顺序依次逐项检测各所述配置字段是否符合要求。
在一个实施例中,上述处理器根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求的步骤,包括:获取具有严格书写方式要求的所述目标配置字段;通过识别目标配置字段,获取所述目标配置字段的书写方式;根据所述目标配置字段调取配置规范中指定的书写规则;根据正则表达式判断所述书写方式是否与指定的所述书写规则匹配;若是,则反馈匹配成功,否则报错。
在一个实施例中,所述目标配置字段为任务依赖关系,上述处理器根据正则表达式判断所述书写方式是否与指定的所述书写规则一一对应匹配的步骤,包括:通过正则表达式判断指定任务的各依赖任务是否通过指定符号衔接;若通过指定符号衔接,则判断各所述依赖任务是否均为有效任务;若为有效任务,则判定所述任务依赖关系的书写方式与指定的所述书写规则一一对应匹配。
在一个实施例中,上述处理器根据所述判断指令判断各所述依赖任务是否均为有效任务的步骤,包括:解析各所述依赖任务的存在状态;判断各所述依赖任务的存在状态是否满足预设条件;若是,则判定各所述依赖任务为有效任务。
在一个实施例中,上述处理器判定所述任务依赖关系的书写方式与指定的所述书写规则一一对应匹配的步骤之后,包括:根据所述任务依赖关系自动生成,用于完成所述指定任务的调度序列;根据所述调度序列,依次执行所述指定任务的依赖任务,以完成所述指定任务。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (9)
1.一种调度表的检测方法,其特征在于,包括:
读取待检测的调度表,以获取所述调度表中的各配置信息;
获取调度平台数据库中各所述配置信息对应的预定义的配置规范;
根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求;
所述配置信息指所述调度表中所包含的项目内容,包括任务名或任务依赖关系或连接串或任务优先级;
当所述配置信息为所述任务名,通过与所述调度平台数据库中的已存在的任务名进行搜索比对,以确定当前任务名为不重复的有效可用任务名;
当所述配置信息为所述任务依赖关系,任务依赖必须依赖存在的有效任务才可满足要求,则通过在所述调度平台数据库中搜索比对是否已存在当前任务需要依赖的任务,若所述调度平台数据库中不存在,则需要进一步搜索当前部署文件中是否存在所述当前任务需要依赖的任务,若都不存在,则判定当前的任务依赖关系错误;
当所述配置信息为所述连接串,所述连接串用于指定除所述调度平台数据库之外的外部数据源任务的来源,通过判断所述连接串是否已存在于所述调度平台数据库,若存在,则判定所述连接串有效;
当所述配置信息为所述任务优先级,判断当前各任务的优先级级别是否与所述调度平台数据库中的优先级级别一致,若一致,则为有效优先级;
所述根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求的步骤,包括:
获取具有严格书写方式要求的目标配置字段;
通过识别所述目标配置字段,获取所述目标配置字段的书写方式;
根据所述目标配置字段调取配置规范中指定的书写规则;
根据正则表达式判断所述书写方式是否与指定的所述书写规则匹配;
若是,则反馈匹配成功,否则报错。
2.根据权利要求1所述的调度表的检测方法,其特征在于,所述读取所述调度表,以获取所述调度表中的各配置信息的步骤之前,包括:
获取所述调度表对应的任务协议;
根据所述任务协议在所述调度表中分别填充各配置字段,以形成各所述配置信息。
3.根据权利要求2所述的调度表的检测方法,其特征在于,所述根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求的步骤,包括:
获取各所述配置字段的排布顺序;
根据所述排布顺序依次逐项检测各所述配置字段是否符合要求。
4.根据权利要求3所述的调度表的检测方法,其特征在于,所述目标配置字段为任务依赖关系,所述根据正则表达式判断所述书写方式是否与指定的所述书写规则匹配的步骤,包括:
通过所述正则表达式判断指定任务的各依赖任务是否通过指定符号衔接;
若通过指定符号衔接,则判断各所述依赖任务是否均为有效任务;
若为有效任务,则判定所述任务依赖关系的书写方式与指定的所述书写规则一一对应匹配。
5.根据权利要求4所述的调度表的检测方法,其特征在于,所述判断各所述依赖任务是否均为有效任务的步骤,包括:
解析各所述依赖任务的存在状态;
判断各所述依赖任务的存在状态是否满足预设条件;
若是,则判定各所述依赖任务为有效任务。
6.根据权利要求5所述的调度表的检测方法,其特征在于,所述判定所述任务依赖关系的书写方式与指定的所述书写规则一一对应匹配的步骤之后,包括:
根据所述任务依赖关系自动生成,用于完成所述指定任务的调度序列;
根据所述调度序列,依次执行所述指定任务的依赖任务,以完成所述指定任务。
7.一种调度表的检测装置,所述的调度表的检测装置用于执行根据权利要求1-6中任一项所述的调度表的检测方法,其特征在于,包括:
第一获取模块,用于读取待检测的调度表,以获取所述调度表中的各配置信息;
第二获取模块,用于获取调度平台数据库中各所述配置信息对应的预定义的配置规范;
检测模块,用于根据所述预定义的配置规范,检测各所述配置信息是否符合配置要求。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810955927.9A CN109375993B (zh) | 2018-08-21 | 2018-08-21 | 调度表的检测方法、装置、计算机设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810955927.9A CN109375993B (zh) | 2018-08-21 | 2018-08-21 | 调度表的检测方法、装置、计算机设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109375993A CN109375993A (zh) | 2019-02-22 |
CN109375993B true CN109375993B (zh) | 2024-04-05 |
Family
ID=65404393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810955927.9A Active CN109375993B (zh) | 2018-08-21 | 2018-08-21 | 调度表的检测方法、装置、计算机设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109375993B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102637214A (zh) * | 2012-04-28 | 2012-08-15 | 中国工商银行股份有限公司 | 基于数据库服务间的通用数据同步方法及其系统 |
CN103077022A (zh) * | 2012-12-27 | 2013-05-01 | 中国建设银行股份有限公司 | 一种作业流程可视化的作业配置方法和装置 |
CN104598214A (zh) * | 2013-11-01 | 2015-05-06 | 中国石油天然气股份有限公司 | 油气管道系统应用业务的定时任务管理方法及装置 |
CN105589874A (zh) * | 2014-10-22 | 2016-05-18 | 阿里巴巴集团控股有限公司 | Etl任务依赖关系的检测方法、装置及etl工具 |
CN106528275A (zh) * | 2015-09-10 | 2017-03-22 | 网易(杭州)网络有限公司 | 数据任务的处理方法及任务调度器 |
CN106874090A (zh) * | 2017-01-23 | 2017-06-20 | 北京思特奇信息技术股份有限公司 | 基于云系统的作业调度方法和系统 |
-
2018
- 2018-08-21 CN CN201810955927.9A patent/CN109375993B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102637214A (zh) * | 2012-04-28 | 2012-08-15 | 中国工商银行股份有限公司 | 基于数据库服务间的通用数据同步方法及其系统 |
CN103077022A (zh) * | 2012-12-27 | 2013-05-01 | 中国建设银行股份有限公司 | 一种作业流程可视化的作业配置方法和装置 |
CN104598214A (zh) * | 2013-11-01 | 2015-05-06 | 中国石油天然气股份有限公司 | 油气管道系统应用业务的定时任务管理方法及装置 |
CN105589874A (zh) * | 2014-10-22 | 2016-05-18 | 阿里巴巴集团控股有限公司 | Etl任务依赖关系的检测方法、装置及etl工具 |
CN106528275A (zh) * | 2015-09-10 | 2017-03-22 | 网易(杭州)网络有限公司 | 数据任务的处理方法及任务调度器 |
CN106874090A (zh) * | 2017-01-23 | 2017-06-20 | 北京思特奇信息技术股份有限公司 | 基于云系统的作业调度方法和系统 |
Non-Patent Citations (1)
Title |
---|
任桂禾.大数据处理支撑平台调度子系统的设计与实现.《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》.2015,(第第08期期),第I138-945页. * |
Also Published As
Publication number | Publication date |
---|---|
CN109375993A (zh) | 2019-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176996A (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
CN110287098A (zh) | 自动创建测试脚本方法、服务器及计算机可读存储介质 | |
CN110362479B (zh) | 系统升级测试方法和系统 | |
WO2019214109A1 (zh) | 测试过程的监控装置、方法及计算机可读存储介质 | |
CN108710571B (zh) | 一种生成自动化测试代码的方法和装置 | |
CN111459495A (zh) | 单元测试代码文件生成方法、电子装置及存储介质 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN113672441A (zh) | 对智能设备的测试方法及装置 | |
CN113126955A (zh) | 一种随机数据生成方法、装置、智能终端及存储介质 | |
CN112770108B (zh) | 性能的测试方法、装置、系统及计算机可读存储介质 | |
CN110543429A (zh) | 测试用例调试方法、装置及存储介质 | |
CN112685311A (zh) | 测试脚本自动生成方法、装置、计算机设备及存储介质 | |
CN109375993B (zh) | 调度表的检测方法、装置、计算机设备以及存储介质 | |
CN112905451A (zh) | 应用程序的自动化测试方法及装置 | |
CN111414287A (zh) | 一种芯片测试结果的分析方法、系统及装置 | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及系统 | |
CN116303320A (zh) | 基于日志文件的实时任务管理方法、装置、设备及介质 | |
CN110874319A (zh) | 自动化测试方法、平台、设备及计算机可读存储介质 | |
CN113886262A (zh) | 软件自动化测试方法、装置、计算机设备和存储介质 | |
CN111400245B (zh) | 美术资源迁移方法及装置 | |
CN110309057B (zh) | 基于自动化脚本的流程性项目测试方法和相关设备 | |
CN114003484A (zh) | 接口测试的日志输出方法、装置、设备及存储介质 | |
CN112346981A (zh) | 联调测试覆盖率检测方法及系统 | |
CN113672281A (zh) | 代码差异查询方法、装置、设备及存储介质 |
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 | ||
GR01 | Patent grant |