CN113918172A - 基于Quartz的版本发布方法、装置、设备及介质 - Google Patents
基于Quartz的版本发布方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113918172A CN113918172A CN202111162339.8A CN202111162339A CN113918172A CN 113918172 A CN113918172 A CN 113918172A CN 202111162339 A CN202111162339 A CN 202111162339A CN 113918172 A CN113918172 A CN 113918172A
- Authority
- CN
- China
- Prior art keywords
- publishing
- preset
- version
- task
- scheduling
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 239000010453 quartz Substances 0.000 title claims abstract description 59
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 title claims abstract description 59
- 238000012360 testing method Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 18
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 11
- 238000012423 maintenance Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 240000008042 Zea mays Species 0.000 description 1
- 235000005824 Zea mays ssp. parviglumis Nutrition 0.000 description 1
- 235000002017 Zea mays subsp mays Nutrition 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 235000005822 corn Nutrition 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种基于Quartz的版本发布方法、装置、设备及介质。本发明涉及人工智能技术领域,其包括:若接收到预设录入指令,则根据预设录入指令获取录入信息,并根据录入信息获取与录入信息相对应的待发布版本的发版状态;若发版状态为预设发版状态,则生成与录入信息相对应的发版任务,并将发版任务添加至预配置任务队列;从调度工厂中获取调度器实例,并根据调度表达式将调度器实例进行实例化形成调度对象,其中,调度工厂为基于Quartz的任务调度器;根据调度对象通过预设发版方法执行预配置任务队列中的发版任务以得到发版结果。本申请实施例可提高版本发布效率。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于Quartz的版本发布方法、装置、设备及介质。
背景技术
软件版本发布之前,需要开发人员编译成测试版本,并部署到测试服务器上,测试人员从测试服务器上获取测试版本进行测试,再将测试结果反馈给开发人员,开发人员根据测试人员反馈的测试结果进行版本的部署(测试失败,修改代码再编译将版本部署至测试服务器;测试成功,编译之后将版本部署至版本发布服务器)。在整个版本发布过程中,需要运维人员及时查看版本的部署状态,对于部署失败的版本需要查看部署日志,并定位部署日志中的错误信息以将结果反馈给开发或测试人员,不仅费时费力,而且版本发布的效率较低。
发明内容
本发明实施例提供了一种基于Quartz的版本发布方法、装置、设备及介质,旨在解决现有版本发布效率低下的问题。
第一方面,本发明实施例提供了一种基于Quartz的版本发布方法,其包括:
若接收到预设录入指令,则根据所述预设录入指令获取录入信息,并根据所述录入信息获取与所述录入信息相对应的待发布版本的发版状态;
若所述发版状态为预设发版状态,则生成与所述录入信息相对应的发版任务,并将所述发版任务添加至预配置任务队列;
从调度工厂中获取调度器实例,并根据调度表达式将所述调度器实例进行实例化形成调度对象,其中,所述调度工厂为基于Quartz的任务调度器,所述调度表达式为根据所述录入信息中的版本信息构建的表达式;
根据所述调度对象通过预设发版方法执行所述预配置任务队列中的所述发版任务以得到发版结果。
第二方面,本发明实施例还提供了一种基于Quartz的版本发布装置,其包括:
匹配单元,用于若接收到客户端发送的待验证流程信息,则根据所述待验证流程信息在预配置的规则库中进行匹配以得到匹配规则;
生成添加单元,用于根据所述匹配规则及所述待验证流程信息调用预设案例生成模板以生成待验证案例;
确定单元,用于根据所述待验证案例通过预设相似度方法确定预设案例库中的匹配案例;
验证单元,用于根据所述匹配案例对所述待验证流程信息进行验证以得到验证结果,将所述验证结果存储至数据库并发送给客户端。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。
本发明实施例提供了一种基于Quartz的版本发布方法、装置、设备及介质。其中,所述方法包括:若接收到预设录入指令,则根据所述预设录入指令获取录入信息,并根据所述录入信息获取与所述录入信息相对应的待发布版本的发版状态;若所述发版状态为预设发版状态,则生成与所述录入信息相对应的发版任务,并将所述发版任务添加至预配置任务队列;从调度工厂中获取调度器实例,并根据调度表达式将所述调度器实例进行实例化形成调度对象,其中,所述调度工厂为基于Quartz的任务调度器,所述调度表达式为根据所述录入信息中的版本信息构建的表达式;根据所述调度对象通过预设发版方法执行所述预配置任务队列中的所述发版任务以得到发版结果。本发明实施例的技术方案,基于Quartz的任务调度器及构建的调度表达式执行发版任务,可使整个版本发布过程无需查看版本发布状态,节省了版本发布时间,提高了版本发布效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于Quartz的版本发布方法的流程示意图;
图2为本发明实施例提供的一种基于Quartz的版本发布方法的子流程示意图;
图3为本发明实施例提供的一种基于Quartz的版本发布方法的子流程示意图;
图4为本发明另一实施例提供的一种基于Quartz的版本发布方法的流程示意图;
图5为本发明又一实施例提供的一种基于Quartz的版本发布方法的流程示意图;
图6为本发明实施例提供的一种基于Quartz的版本发布装置的示意性框图;
图7为本发明实施例提供的基于Quartz的版本发布装置的实例化单元的示意性框图;
图8为本发明实施例提供的基于Quartz的版本发布装置的执行单元的示意性框图;
图9为本发明另一实施例提供的基于Quartz的版本发布装置的示意性框图;
图10为本发明又一实施例提供的基于Quartz的版本发布装置的示意性框图;以及
图11为本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
请参阅图1,图1是本发明实施例提供的一种基于Quartz的版本发布方法的流程示意图。本发明实施例的基于Quartz的版本发布方法可应用于终端,例如笔记本电脑、手提电脑、平板电脑等通信终端,通过安装于所述终端上的例如命名为定时发版工具来实现所述基于Quartz的版本发布方法,从而使得版本的发布更加高效。如图1所示,该方法包括以下步骤S100-S130。
S100、若接收到预设录入指令,则根据所述预设录入指令获取录入信息,并根据所述录入信息获取与所述录入信息相对应的待发布版本的发版状态。
在本发明实施例中,运维人员通过定时发版工具的录入页面录入待发布版本的相关信息,录入完成之后,点击录入完成按钮,定时发版工具接收到预设录入指令,根据所述预设录入指令获取录入信息,其中,所述录入信息为与待发布版本相关的信息,具体包括版本信息及相关负责人信息,其中,所述版本信息包括版本名称、版本路径、版本发布时间以及版本发布方式;所述相关负责人信息包括开发负责人、测试负责人以及运维负责人的姓名及联系方式。获取录入信息之后,根据所述录入信息中的版本路径通过预设远程接口获取待发布版本的版本状态,其中,版本状态包括可发版状态和不可发版状态;再根据版本状态进行相应处理。
S110、若所述发版状态为预设发版状态,则生成与所述录入信息相对应的发版任务,并将所述发版任务添加至预配置任务队列。
在本发明实施例中,若所述发版状态为预设发版状态,表明开发人员已将软件版本进行编译并保存至预设发版文件夹,则生成与所述录入信息相对应的发版任务,并将所述发版任务根据所述版本信息将所述发版任务添加至预配置任务队列,具体地,根据版本发布时间将所述发版任务添加至预配置任务队列。需要说明的是,在本发明实施实例中,将所述发版任务添加至预配置任务队列之后,会将所述发版任务对应的所述录入消息进行序列化得到字节序列,将所述字节序列保存至预设数据库。可理解地,可通过Java中WriteObject函数将所述发版任务进行序列化得到字节序列。
S120、从调度工厂中获取调度器实例,并根据调度表达式将所述调度器实例进行实例化形成调度对象,其中,所述调度工厂为基于Quartz的任务调度器,所述调度表达式为根据所述录入信息中的版本信息构建的表达式。
在本发明实施例中,将所述发版任务添加至预配置任务队列之后,从调度工厂中获取调度器实例,并根据调度表达式将所述调度器实例进行实例化形成调度对象,其中,所述调度工厂为基于Quartz的任务调度器,所述调度表达式为根据所述录入信息中的版本信息构建的表达式。在实际应用中,所述调度工厂配置有SimpleTrigger触发器和CronTrigger触发器,其中,SimpleTrigger触发器针对发版任务类型为周期性执行,且执行时间间隔为分钟;CronTrigger触发器针对发版任务类型为自定义执行且开始执行时间大于当前时间;可理解地,若发版任务类型为周期性执行,且执行时间间隔处于分钟之外的时间间隔,也采用CronTrigger触发器。在本发明实施例中,由于所述调度表达式是根据所述版本信息中的版本时间及版本发布方式构建的表达式,因此采用CronTrigger触发器,所述调度表达式为Cron表达式,而Cron表达式为字符串。
请参阅图2,在一实施例中,例如在本发明实施例中,所述步骤S120包括如下步骤S121-S124。
S121、根据版本发布时间及版本发布方式构建Quartz的Cron表达式的字段及所述字段对应的数值;
S122、判断所述Cron表达式是否合法,若所述Cron表达式合法,则执行步骤S123,否则执行步骤S124;
S123、将所述Cron表达式作为所述调度表达式;
S124、向相关负责人发出所述Cron表达式不合法的提示信息。
在本发明实施例中,所述调度表达式为根据所述录入信息中的版本信息构建的表达式。具体地,根据版本发布时间及版本发布方式构建Quartz的Cron表达式的字段及所述字段对应的数值,例如,假设所述版本发布时间为2021年8月20日17点整,所述版本发布方式为自定义执行,则Corn表达式中秒,分,小时,日,月,周几以及年字段分别对应的数值为0,0,17,20,8,?,2021。其中,“?”表示不确定的值。构建完Cron表达式之后,检测所述Cron表达式是否合法,具体地,判断所述Cron表达式的字段数量是否完整;若所述Cron表达式的字段数量完整,则判断所述Cron表达式的字段数值是否为预设允许值或预设允许字符;若所述Cron表达式的字段数值为预设允许值或预设允许字符,则判定所述Cron表达式合法。需要说明的是,在其它实施例中,也可先判断所述Cron表达式的字段数值是否为预设允许值或预设允许字符,再判断所述Cron表达式的字段数量是否完整,即字段数值及字段数量的判断没有先后顺序。若所述Cron表达式合法,则将所述Cron表达式作为所述调度表达式;可理解地,若所述Cron表达式不合法、所述Cron表达式的字段数量不完整以及所述Cron表达式的字段数值不为预设允许值或预设允许字符,则均会向相关负责人发出所述Cron表达式不合法的提示信息,以提醒相关负责人进行处理。
S130、根据所述调度对象通过预设发版方法执行所述预配置任务队列中的所述发版任务以得到发版结果。
在本发明实施例中,根据调度表达式将所述调度器实例进行实例化形成调度对象之后,根据所述调度对象通过预设发版方法执行所述预配置任务队列中的所述发版任务以得到发版结果,其中,所述预设发版方法为在预设发版文件夹所在的终端与预配置的版本发布服务器之间建立文件句柄,基于建立的所述文件句柄,将所述预设发版文件夹中的待发布版本上传至预配置的版本发布服务器上,以实现所述待发布版本的发布。
请参阅图3,在一实施例中,例如在本发明实施例中,所述步骤S130包括如下步骤S131-S133。
S131、根据所述调度对象向预配置的版本发布服务器发送上传文件请求并构建上传文件的文件句柄;
S132、根据所述上传文件请求在所述预配置的版本发布服务器上创建预设发版文件;
S133、基于所述文件句柄,将所述发版任务所对应的预设发版文件夹中的发版数据在预设时间内写入所述预设发版文件以得到发版结果。
在本发明实施例中,根据所述调度对象通过预设发版方法执行所述预配置任务队列中的所述发版任务以得到发版结果。具体地,根据所述调度对象向预配置的版本发布服务器发送上传文件请求并构建上传文件的文件句柄,根据所述上传文件请求在所述预配置的版本发布服务器上创建预设发版文件,预设发版文件创建完成之后,基于创建的所述文件句柄,将所述发版任务所对应的预设发版文件夹中的发版数据在预设时间内写入所述预设发版文件以得到发版结果,其中,预设时间为可根据发版文件大小自行设置。可理解地,在实际应用中,若在预设时间内所述发版数据为预设文件结束符,表明待发布版本上传完成,则将所述预设发版文件重命名为待发布版本的版本名称,所述发版结果为发版成功;反之若在预设时间内所述发版数据不为预设文件结束符,表明待发布版本上传失败,所述发版结果为发版失败。
其中,需要说明的是,预配置的版本发布服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
图4为本发明另一实施例提供的上传照片的方法的流程示意图,如图4所示,在本实施例中,所述方法包括步骤S100-S140。也即,在本实施例中,所述方法在上述实施例的步骤S100之后,还包括步骤S140。
S140、若所述发版状态不为预设发版状态,则根据所述录入信息中的相关负责人信息通过预设提醒方式提醒所述相关负责人信息中的相关负责人进行版本测试或版本编译。
在本发明实施例中,根据所述录入信息获取与所述录入信息相对应的待发布版本的发版状态之后,判断所述发版状态是否为预设发版状态,若所述发版状态不为所述预设发版状态,表明所述发版状态为不可发版状态,所述待发布版本并未被编译保存至预设发版文件夹,继续判断所述发版状态是否为测试发布状态,若所述发版状态为所述测试发布状态,表明测试人员还未反馈测试结果,定时发版工具根据录入页面录入的测试负责人信息通过预设提醒方式提醒测试负责人进行版本测试;若所述发版状态不为所述测试发布状态,表明开发人员还未将软件版本进行编译保存至预设发版文件夹,定时发版工具根据录入页面录入的开发负责人信息通过预设提醒方式提醒开发负责人进行版本编译,其中,预设提醒方式包括邮件、短信以及公众号推送。需要说明的是,在本发明实施例中,定时发版工具根据录入页面录入的相关负责人信息通过预设提醒方式提醒相关负责人进行版本测试或版本发布时,均会根据运维负责人相关信息通过预设提醒方式通知运维负责人,以使运维负责人及时了解发版状态。可理解地,在实际应用中,通过预设提醒方式提醒相关负责人进行版本测试或版本编译可经过多次提醒直至相关负责人进行相应操作为止。
图5为本发明又一实施例提供的上传照片的方法的流程示意图,如图5所示,在本实施例中,所述方法包括步骤S100-S160。也即,在本实施例中,所述方法在上述实施例的步骤S140之后,还包括步骤S150及步骤S160。
S150、根据所述发版结果生成发版报告;
S160、将所述发版报告发送至所述相关负责人信息中的相关负责人。
在本发明实施例中,根据发版结果生成发版报告。在实际应用中,若所述发版结果为发版失败,表明待发布版本存在问题,则生成发版报告以便相关负责人查看分析,反之,若所述发布结果为发版成功,则将待发布版本的发版结果记录在发版报告中。可理解地,无论所述发版结果为发版成功还是发版失败,均会将所述发版报告发送至所述相关负责人信息中的相关负责人,以便相关负责人及时了解待发布版本的发版状态。
图6是本发明实施例提供的一种基于Quartz的版本发布装置200的示意性框图。如图6所示,对应于以上基于Quartz的版本发布方法,本发明还提供一种基于Quartz的版本发布装置200。该基于Quartz的版本发布装置200包括用于执行上述基于Quartz的版本发布方法的单元,该装置可以被配置于终端中。具体地,请参阅图6,该基于Quartz的版本发布装置200包括获取单元201、生成添加单元202、实例化单元203以及执行单元204。
其中,所述获取单元201用于若接收到预设录入指令,则根据所述预设录入指令获取录入信息,并根据所述录入信息获取与所述录入信息相对应的待发布版本的发版状态;所述生成添加单元202用于若所述发版状态为预设发版状态,则生成与所述录入信息相对应的发版任务,并将所述发版任务添加至预配置任务队列;所述实例化单元203用于从调度工厂中获取调度器实例,并根据调度表达式将所述调度器实例进行实例化形成调度对象,其中,所述调度工厂为基于Quartz的任务调度器,所述调度表达式为根据所述录入信息中的版本信息构建的表达式;所述执行单元204用于根据所述调度对象通过预设发版方法执行所述预配置任务队列中的所述发版任务以得到发版结果。
在某些实施例,例如本实施例中,如图7所示,所述实例化单元203包括第一构建子单元2031、判断单元2032、提示单元2033以及作为单元2034。
其中,所述第一构建子单元2031用于根据版本发布时间及版本发布方式构建Quartz的Cron表达式的字段及所述字段对应的数值;所述判断单元2032用于判断所述Cron表达式是否合法,具体地,判断所述Cron表达式的字段数量是否完整;若所述Cron表达式的字段数量完整,则判断所述Cron表达式的字段数值是否为预设允许值或预设允许字符;若所述Cron表达式的字段数值为预设允许值或预设允许字符,则判定所述Cron表达式合法;所述提示单元2033用于若所述Cron表达式不合法,则向相关负责人发出所述Cron表达式不合法的提示信息;所述作为单元2034用于若所述Cron表达式合法,则将所述Cron表达式作为所述调度表达式。
在某些实施例,例如本实施例中,如图8所示,所述执行单元204包括第二构建子单元2041、创建单元2042以及写入单元2043。
其中,所述第二构建子单元2041用于根据所述调度对象向预配置的版本发布服务器发送上传文件请求并构建上传文件的文件句柄;所述创建单元2042用于根据所述上传文件请求在所述预配置的版本发布服务器上创建预设发版文件;所述写入单元2043用于基于所述文件句柄,将所述发版任务所对应的预设发版文件夹中的发版数据在预设时间内写入所述预设发版文件以得到发版结果。
在某些实施例,例如本实施例中,如图9所示,所述装置200还包括提醒单元205。
所述提醒单元205用于若所述发版状态不为预设发版状态,则根据所述录入信息中的相关负责人信息通过预设提醒方式提醒所述相关负责人信息中的相关负责人进行版本测试或版本编译。
在某些实施例,例如本实施例中,如图10所示,所述装置200还包括生成单元206及发送单元207。
其中,所述生成单元206用于根据所述发版结果生成发版报告;所述发送单元207用于将所述发版报告发送至所述相关负责人信息中的相关负责人。
本发明实施例的基于Quartz的版本发布装置200的具体实现方式与上述基于Quartz的版本发布方法相对应,在此不再赘述。
上述基于Quartz的版本发布装置可以实现为一种计算机程序的形式,该计算机程序可以在如图11所示的计算机设备上运行。
请参阅图11,图11是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备300为终端,例如笔记本电脑、手提电脑、平板电脑等通信终端。
参阅图11,该计算机设备300包括通过系统总线301连接的处理器302、存储器和网络接口305,其中,存储器可以包括存储介质303和内存储器304。
该存储介质303可存储操作系统3031和计算机程序3032。该计算机程序3032被执行时,可使得处理器302执行一种基于Quartz的版本发布方法。
该处理器302用于提供计算和控制能力,以支撑整个计算机设备300的运行。
该内存储器304为存储介质303中的计算机程序3032的运行提供环境,该计算机程序3032被处理器302执行时,可使得处理器302执行一种基于Quartz的版本发布方法。
该网络接口305用于与其它设备进行网络通信。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备300的限定,具体的计算机设备300可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器302用于运行存储在存储器中的计算机程序3032,以实现如下步骤:若接收到预设录入指令,则根据所述预设录入指令获取录入信息,并根据所述录入信息获取与所述录入信息相对应的待发布版本的发版状态;若所述发版状态为预设发版状态,则生成与所述录入信息相对应的发版任务,并将所述发版任务添加至预配置任务队列;从调度工厂中获取调度器实例,并根据调度表达式将所述调度器实例进行实例化形成调度对象,其中,所述调度工厂为基于Quartz的任务调度器,所述调度表达式为根据所述录入信息中的版本信息构建的表达式;根据所述调度对象通过预设发版方法执行所述预配置任务队列中的所述发版任务以得到发版结果。
在某些实施例,例如本实施例中,处理器302在实现所述根据所述录入信息获取与所述录入信息相对应的待发布版本的发版状态步骤之后,具体实现还包括如下步骤:若所述发版状态不为预设发版状态,则根据所述录入信息中的相关负责人信息通过预设提醒方式提醒所述相关负责人信息中的相关负责人进行版本测试或版本编译。
在某些实施例,例如本实施例中,处理器302在实现所述调度表达式为根据所述录入信息中的版本信息构建的表达式步骤时,具体实现如下步骤:根据版本发布时间及版本发布方式构建Quartz的Cron表达式的字段及所述字段对应的数值;判断所述Cron表达式是否合法,具体地,判断所述Cron表达式的字段数量是否完整;若所述Cron表达式的字段数量完整,则判断所述Cron表达式的字段数值是否为预设允许值或预设允许字符;若所述Cron表达式的字段数值为预设允许值或预设允许字符,则判定所述Cron表达式合法;若所述Cron表达式不合法,则向相关负责人发出所述Cron表达式不合法的提示信息;若所述Cron表达式合法,则将所述Cron表达式作为所述调度表达式。
在某些实施例,例如本实施例中,处理器302在实现所述根据所述调度对象通过预设发版方法执行所述预配置任务队列中的所述发版任务以得到发版结果步骤时,具体实现如下步骤:根据所述调度对象向预配置的版本发布服务器发送上传文件请求并构建上传文件的文件句柄;根据所述上传文件请求在所述预配置的版本发布服务器上创建预设发版文件;基于所述文件句柄,将所述发版任务所对应的预设发版文件夹中的发版数据在预设时间内写入所述预设发版文件以得到发版结果。
在某些实施例,例如本实施例中,处理器302在实现所述根据所述调度对象通过预设发版方法执行所述预配置任务队列中的所述发版任务以得到发版结果步骤之后,具体实现还包括如下步骤:根据所述发版结果生成发版报告;将所述发版报告发送至所述相关负责人信息中的相关负责人。
应当理解,在本申请实施例中,处理器302可以是中央处理单元(CentralProcessing Unit,CPU),该处理器302还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行上述基于Quartz的版本发布方法的任意实施例。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于Quartz的版本发布方法,其特征在于,包括:
若接收到预设录入指令,则根据所述预设录入指令获取录入信息,并根据所述录入信息获取与所述录入信息相对应的待发布版本的发版状态;
若所述发版状态为预设发版状态,则生成与所述录入信息相对应的发版任务,并将所述发版任务添加至预配置任务队列;
从调度工厂中获取调度器实例,并根据调度表达式将所述调度器实例进行实例化形成调度对象,其中,所述调度工厂为基于Quartz的任务调度器,所述调度表达式为根据所述录入信息中的版本信息构建的表达式;
根据所述调度对象通过预设发版方法执行所述预配置任务队列中的所述发版任务以得到发版结果。
2.根据权利要求1所述的方法,其特征在于,根据所述录入信息中的版本信息构建调度表达式,包括:
根据版本发布时间及版本发布方式构建Quartz的Cron表达式的字段及所述字段对应的数值;
判断所述Cron表达式是否合法;
若所述Cron表达式不合法,则向相关负责人发出所述Cron表达式不合法的提示信息;
若所述Cron表达式合法,则将所述Cron表达式作为所述调度表达式。
3.根据权利要求2所述的方法,其特征在于,所述判断所述Cron表达式是否合法,包括:
判断所述Cron表达式的字段数量是否完整;
若所述Cron表达式的字段数量完整,则判断所述Cron表达式的字段数值是否为预设允许值或预设允许字符;
若所述Cron表达式的字段数值为预设允许值或预设允许字符,则判定所述Cron表达式合法。
4.根据权利要求1所述的方法,其特征在于,所述根据所述调度对象通过预设发版方法执行所述预配置任务队列中的所述发版任务以得到发版结果,包括:
根据所述调度对象向预配置的版本发布服务器发送上传文件请求并构建上传文件的文件句柄;
基于所述文件句柄,将所述发版任务所对应的预设发版文件夹中的发版数据写入所述预配置的版本发布服务器创建的预设发版文件中以得到发版结果。
5.根据权利要求4所述的方法,其特征在于,所述基于所述文件句柄,将所述发版任务所对应的预设发版文件夹中的发版数据写入所述预配置的版本发布服务器创建的预设发版文件中以得到发版结果,包括:
根据所述上传文件请求在所述预配置的版本发布服务器上创建预设发版文件;
基于所述文件句柄,将所述发版任务所对应的预设发版文件夹中的发版数据在预设时间内写入所述预设发版文件以得到发版结果。
6.根据权利要求1所述的方法,其特征在于,所述根据所述录入信息获取与所述录入信息相对应的待发布版本的发版状态之后,还包括:
若所述发版状态不为预设发版状态,则根据所述录入信息中的相关负责人信息通过预设提醒方式提醒所述相关负责人信息中的相关负责人进行版本测试或版本编译。
7.根据权利要求6所述的方法,其特征在于,所述根据所述调度对象通过预设发版方法执行所述预配置任务队列中的所述发版任务以得到发版结果之后,还包括:
根据所述发版结果生成发版报告;
将所述发版报告发送至所述相关负责人信息中的相关负责人。
8.一种基于Quartz的版本发布装置,其特征在于,包括:
获取单元,用于若接收到预设录入指令,则根据所述预设录入指令获取录入信息,并根据所述录入信息获取与所述录入信息相对应的待发布版本的发版状态;
生成添加单元,用于若所述发版状态为预设发版状态,则生成与所述录入信息相对应的发版任务,并将所述发版任务添加至预配置任务队列;
实例化单元,用于从调度工厂中获取调度器实例,并根据调度表达式将所述调度器实例进行实例化形成调度对象,其中,所述调度工厂为基于Quartz的任务调度器,所述调度表达式为根据所述录入信息中的版本信息构建的表达式;
执行单元,用于根据所述调度对象通过预设发版方法执行所述预配置任务队列中的所述发版任务以得到发版结果。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111162339.8A CN113918172A (zh) | 2021-09-30 | 2021-09-30 | 基于Quartz的版本发布方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111162339.8A CN113918172A (zh) | 2021-09-30 | 2021-09-30 | 基于Quartz的版本发布方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113918172A true CN113918172A (zh) | 2022-01-11 |
Family
ID=79237626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111162339.8A Pending CN113918172A (zh) | 2021-09-30 | 2021-09-30 | 基于Quartz的版本发布方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113918172A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035780A (zh) * | 2014-06-26 | 2014-09-10 | 北京京东尚科信息技术有限公司 | 一种发布apk文件的方法和装置 |
US20170075734A1 (en) * | 2015-09-14 | 2017-03-16 | Qualcomm Incorporated | Efficient Scheduling of Multi-Versioned Tasks |
CN106789308A (zh) * | 2016-12-30 | 2017-05-31 | 北京超图软件股份有限公司 | 一种微服务架构可自动伸缩的gis服务装置及其控制方法 |
CN107015831A (zh) * | 2017-03-31 | 2017-08-04 | 武汉票据交易中心有限公司 | 一种基于服务器端升级的客户端升级管理方法及系统 |
CN109144524A (zh) * | 2018-07-25 | 2019-01-04 | 深圳点猫科技有限公司 | 一种教育平台上学科游戏的版本发布方法及电子设备 |
CN111143043A (zh) * | 2019-12-02 | 2020-05-12 | 天津同阳科技发展有限公司 | 基于Quartz服务的计划任务处理方法、装置、设备及介质 |
-
2021
- 2021-09-30 CN CN202111162339.8A patent/CN113918172A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035780A (zh) * | 2014-06-26 | 2014-09-10 | 北京京东尚科信息技术有限公司 | 一种发布apk文件的方法和装置 |
US20170075734A1 (en) * | 2015-09-14 | 2017-03-16 | Qualcomm Incorporated | Efficient Scheduling of Multi-Versioned Tasks |
CN106789308A (zh) * | 2016-12-30 | 2017-05-31 | 北京超图软件股份有限公司 | 一种微服务架构可自动伸缩的gis服务装置及其控制方法 |
CN107015831A (zh) * | 2017-03-31 | 2017-08-04 | 武汉票据交易中心有限公司 | 一种基于服务器端升级的客户端升级管理方法及系统 |
CN109144524A (zh) * | 2018-07-25 | 2019-01-04 | 深圳点猫科技有限公司 | 一种教育平台上学科游戏的版本发布方法及电子设备 |
CN111143043A (zh) * | 2019-12-02 | 2020-05-12 | 天津同阳科技发展有限公司 | 基于Quartz服务的计划任务处理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8504803B2 (en) | System and method for creating and executing portable software | |
CN111033468B (zh) | 实施不同类型的区块链合约的系统和方法 | |
US10289959B2 (en) | Artificial intelligence and knowledge based automation enhancement | |
TW494355B (en) | Method and apparatus for creating and deploying smaller microsoft windows applications for automatic configuration of a computing device | |
US8683430B2 (en) | Synchronizing development code and deployed executable versioning within distributed systems | |
US9213534B2 (en) | Method for restoring software applications on desktop computers | |
US10447814B2 (en) | Joint servicing of software packages | |
US8234692B2 (en) | System and method for processing an upload of a program with export compliance information | |
CN116757843A (zh) | 用于执行不同类型区块链合约的系统和方法 | |
US20130047036A1 (en) | Self validating applications | |
CN110264190A (zh) | 智能合约的触发方法、装置、设备及存储介质 | |
WO2020015191A1 (zh) | 业务规则的发布管理方法、电子装置及可读存储介质 | |
CN113238850A (zh) | 基于浏览器的rpa实现方法、装置、设备及介质 | |
US20140365436A1 (en) | Automated synchronization of client-side database with server-side database over a communications network | |
CN109359020A (zh) | 启动时间测试方法及装置、计算机装置及存储介质 | |
US20080052326A1 (en) | Signature Based Client Automatic Data Backup System | |
US20200351373A1 (en) | Systems and methods for managing profile updates | |
EP4007955A1 (en) | Parallel cloned workflow execution | |
CN101753619A (zh) | 用于扩展服务模型的方法和系统 | |
US10733540B2 (en) | Artificial intelligence and knowledge based automation enhancement | |
CN107656860A (zh) | 性能测试方法、装置及系统 | |
CN114036074A (zh) | 终端设备的测试方法和测试装置 | |
CN109918287A (zh) | App升级测试方法、装置、计算机设备及存储介质 | |
US20210288823A1 (en) | Secure and accountable execution of robotic process automation | |
CN117493199A (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 |