CN111372344B - 作业信息的处理方法、装置及系统 - Google Patents
作业信息的处理方法、装置及系统 Download PDFInfo
- Publication number
- CN111372344B CN111372344B CN202010127697.4A CN202010127697A CN111372344B CN 111372344 B CN111372344 B CN 111372344B CN 202010127697 A CN202010127697 A CN 202010127697A CN 111372344 B CN111372344 B CN 111372344B
- Authority
- CN
- China
- Prior art keywords
- display
- state
- information
- job
- controlling
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B20/00—Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
- Y02B20/40—Control techniques providing energy savings, e.g. smart controller or presence detection
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种作业信息的处理方法、装置及系统,其中,该方法包括:获取来自作业构建服务器的多个作业信息,作业信息包括:作业的状态信息,状态包括:失败、成功、不稳定;根据各作业的状态信息控制状态显示器进行显示;根据状态为失败和不稳定的作业的预设优先级控制发光二极管(LED)阵列显示作业名称,以便于管理员及时处理。通过本发明,可以更直观地显示需要处理的作业,便于管理员及时发现问题及时处理问题。
Description
技术领域
本发明涉及计算机领域,具体涉及一种作业信息的处理方法、装置及系统。
背景技术
随着现阶段软件、互联网的不断发展,为了能快速实现价值交付,快速获得市场反馈,迅速响应优化产品,为企业创造更大化的价值,已形成一套标准的流程,持续集成是其中最重复的一部分。持续集成是能快速实现价值交付的重要实践。持续集成通过每天集成发布新增的代码,尽早评估软件的质量,尽早发现缺陷并修复缺陷。业界广泛使用构建平台Jenkins(基于Java开发的一种持续集成工具)实现持续集成流程,用于定时调度和监控软件开发流程中持续重复的工作,如自动化代码检查、自动化编译构建、自动化测试、自动化部署等流程。持续集成结果信息反馈是持续集成中不可或缺的一个环节,当一个任务在持续集成过程中,由于单元测试、代码检查等因素导致构建失败时,信息应该能够实时准确的通知到相关人员,以便责任人能够快速处理。反馈是在正确的时间,以正确的方式,将正确的信息发送给正确的人,持续集成反馈是让这种反馈信息自动化、目标化、和实时化,并能够持续的执行。
在Jenkins执行任务期间,管理员可以通过登录Jenkins平台看到每个任务的执行情况构建情况,如果有任务执行失败,管理员需要及时判断任务失败原因,了解任务运行的具体情况,把异常状况及时修复。这种跟进任务状态的方式需要有专人时刻关注Jenkins状态,在现实情况下并不具备执行的可行性。另外,Jenkins提供邮件提醒功能,通过设置邮箱地址,在任务失败时,相关的任务失败信息会通过邮件方式发送到相应的邮箱。管理员通过接收Jenkins状态邮件,了解Jenkins的构建情况。但是,在软件开发节奏较快、需处理邮件较多的情况下,管理员可能会存在跟进不及时的情况,导致失败任务不能及时被发现,这样会增加修复失败构建的时间,也可能会影响整个发布流程。
另外,一般管理员会同时负责多个Jenkins任务,不同的任务有可能部署在不同的Jenkins服务器上,如果要了解自己负责的多个任务状态,可能需要登录不同的服务器,这给管理员的工作带来了不便。
发明内容
有鉴于此,本发明提供一种作业信息的处理方法、装置及系统,以解决上述提及的至少一个问题。
根据本发明的第一方面,提供一种作业信息的处理方法,所述方法包括:获取来自作业构建服务器的多个作业信息,所述作业信息包括:作业的状态信息,所述状态包括:失败、成功、不稳定;根据各作业的状态信息控制状态显示器进行显示;根据状态为失败和不稳定的作业的预设优先级控制发光二极管(LED)阵列显示作业名称,以便于管理员及时处理。
根据本发明的第二方面,提供一种作业信息的处理装置,所述装置包括:信息获取单元,用于获取来自作业构建服务器的多个作业信息,所述作业信息包括:作业的状态信息,所述状态包括:失败、成功、不稳定;状态显示器控制单元,用于根据各作业的状态信息控制状态显示器进行显示;LED阵列控制单元,用于根据状态为失败和不稳定的作业的预设优先级控制LED阵列显示作业名称,以便于管理员及时处理。
根据本发明的第三方面,提供一种作业信息的处理系统,所述系统包括:上述作业信息的处理装置、作业构建服务器、状态显示器和LED灯阵,其中,所述作业构建服务器将作业信息发送至所述作业信息的处理装置,所述作业信息的处理装置根据各作业的状态信息控制所述状态显示器进行显示,以及根据状态为失败和不稳定的作业的预设优先级控制所述LED灯阵显示作业名称,以便于管理员及时处理。
根据本发明的第四方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述作业信息的处理方法的步骤。
根据本发明的第五方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述作业信息的处理方法的步骤。
由上述技术方案可知,通过根据获取的作业构建服务器的多个作业状态信息来控制状态显示器的显示、以及根据状态为失败和不稳定的作业的预设优先级来控制LED阵列显示作业名称,以便于管理员及时发现需要处理的作业,从而可以及时修复失败作业,本技术方案可以更直观地显示需要处理的作业,便于管理员及时发现问题及时处理问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的作业信息处理方法的流程图;
图2是根据本发明实施例的作业信息处理系统的结构框图;
图3是根据本发明实施例的作业信息处理装置2的结构框图;
图4是根据本发明实施例的状态显示器控制单元22的结构框图;
图5是根据本发明实施例的状态显示器控制单元22的详细结构框图;
图6是根据本发明实施例的LED阵列控制单元23的结构框图;
图7是根据本发明实施例的基于Jenkins服务器的作业信息处理系统的架构示意图;
图8是根据本发明实施例的Jenkins任务推送插件的示例配置截图;
图9是根据本发明实施例的Jenkins任务推送插件的工作流程图;
图10是根据本发明实施例的文件jl-config.ini的截图;
图11是根据本发明实施例的配置文件jobs.lst的截图;
图12是根据本发明实施例的状态灯工作原理示意图;
图13是根据本发明实施例的LED看板的连接示意图;
图14是根据本发明实施例的LED看板显示任务名称的流程图;
图15是根据本发明实施例的LED灯阵的电路图;
图16是根据本发明实施例的LED灯阵显示字母“A”的示意图;
图17是根据本发明实施例的基于MAX7219驱动多个8×8LED阵列的示意图;
图18是根据本发明实施例的电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前的Jenkins任务状态通过邮件来跟进,管理员可能会存在跟进不及时的情况,导致失败任务不能及时被发现,这样会增加修复失败构建的时间,也可能会影响整个发布流程。基于此,本发明实施例提供一种作业信息处理方案,以便于管理员及时跟进Jenkins任务状态,及时发现失败或不稳定任务,及时修复失败或不稳定任务。以下结合附图来相似描述本发明实施例。
图1是根据本发明实施例的作业信息处理方法的流程图,如图1所示,该方法包括:
步骤101,获取来自作业(可以称为任务)构建服务器的多个作业(可以称为任务)信息,所述作业信息包括:作业的状态信息,所述状态包括:失败、成功、不稳定。
在实际操作中,可以以日志的方式存储多个作业信息。
步骤102,根据各作业的状态信息控制状态显示器进行显示。该状态显示器可以通过不同的显示方式对应不同的作业状态。
步骤103,根据状态为失败和不稳定的作业的预设优先级控制发光二极管(LED)阵列显示作业名称,以便于管理员及时处理。
通过根据获取的作业构建服务器的多个作业状态信息来控制状态显示器的显示、以及根据状态为失败和不稳定的作业的预设优先级来控制LED阵列显示作业名称,以便于管理员及时发现需要处理的作业,从而可以及时修复失败作业,相比于现有技术中的邮件跟进方式,本发明实施例可以直观地显示需要处理的作业,便于管理员及时发现问题及时处理问题。
在步骤102中,根据各作业的状态信息控制状态显示器进行显示具体包括:响应于各作业状态信息中存在状态为失败的作业,控制所述状态显示器显示对应的失败信息;响应于各作业状态信息中未存在状态为失败、存在状态为不稳定的作业,控制所述状态显示器显示对应的不稳定信息;响应于各作业状态信息均为成功,控制所述状态显示器显示对应的成功信息。
也就是说,当有多个作业时,需要根据所有作业状态得出最终作业状态,如果有一个或一个以上的作业状态为失败,则最终作业状态为失败,如果没有状态为失败的作业,但是有一个或一个以上的作业状态为不稳定,则最终作业状态为不稳定,如果全部作业的状态均为成功,则最终状态为成功。
在实际操作中,还可以根据各作业状态信息和预定质量阈值控制状态显示器进行显示。
具体而言,响应于状态为失败的作业数量超过第一阈值,表示最终作业状态为失败,此时控制所述状态显示器显示对应的失败信息。
响应于存在状态为失败的作业且失败作业数量未超过第一阈值、或者响应于状态为失败(此时失败作业数量可为0)和不稳定的作业数量超过第二阈值,则控制状态显示器显示对应的不稳定信息。
否则,控制所述状态显示器显示对应的成功信息。
例如,对于某个时段的多个作业或者某个构建流程中的多个作业来说,当数量超过10%的作业状态为失败时,表示总体作业状态为失败,此时控制状态显示器显示对应的失败信息;当失败作业未达到阀值10%、或者失败作业(此时,失败作业数量可为0)和不稳定作业的总数量超过20%时,则总体作业状态为不稳定,此时控制状态显示器显示对应的不稳定信息;其它状态为成功状态。
在实际操作中,当未配置失败阈值和不稳定阈值时,默认两个阈值为0。
这里的状态显示器可以是状态灯,例如,红绿黄状态灯,状态为成功,则控制状态灯显示为绿色,状态为不稳定,则控制状态灯显示为黄色,状态为失败,则控制状态灯显示为红色。
在实际操作中,状态显示器也可以是其他显示设备,只需具有根据作业的不同状态显示不同颜色或者显示不同状态的功能,以便于管理员及时发现即可,本发明不限于此。
对于步骤103的显示作业名称,可以是根据状态为失败和不稳定的作业的预设优先级来控制LED阵列显示当前处理优先级最高的作业名称。即,当存在多个失败和不稳定作业时,根据预先设置的优先级由LED阵列显示当前处理优先级最高的作业名称,以便于管理员及时发现。并且,通过显示作业名称,管理员可以直接获知需处理的作业,而无需登录系统查看作业状态。
在实际操作中,可以通过如下方式显示作业名称:可以将所述作业名称输入至单片机控制器,单片机控制器控制LED灯阵显示作业名称,所述单片机控制器包括:多位LED显示驱动器(例如,MAX7219集成电路)。
基于相似的发明构思,本发明实施例还提供一种作业信息的处理系统,如图2所示,该作业信息处理系统包括:作业构建服务器1(例如,Jenkins服务器)、作业信息处理装置2、状态显示器3和LED灯阵4,其中,作业构建服务器将作业信息(包括状态信息)发送至作业信息处理装置,作业信息处理装置根据各作业的状态信息控制所述状态显示器进行显示,以及根据状态为失败和不稳定的作业的预设优先级控制LED灯阵显示作业名称,以便于管理员及时发现问题作业并及时处理。优选地,该作业信息处理装置2可以实现上述方法实施例中的流程。以下详细描述作业信息处理装置2。
图3是根据本发明实施例的作业信息处理装置2的结构框图,如图3所示,该装置包括:信息获取单元21、状态显示器控制单元22和LED阵列控制单元23,其中:
信息获取单元21,用于获取来自作业构建服务器的多个作业信息,所述作业信息包括:作业的状态信息,所述状态包括:失败、成功、不稳定。
在实际操作中,可以以日志的方式存储多个作业信息。
状态显示器控制单元22,用于根据各作业的状态信息控制状态显示器进行显示;
LED阵列控制单元23,用于根据状态为失败和不稳定的作业的预设优先级控制LED阵列显示作业名称,以便于管理员及时处理。
通过状态显示器控制单元22根据信息获取单元21获取的作业构建服务器的多个作业状态信息来控制状态显示器的显示、以及状态显示器控制单元22根据状态为失败和不稳定的作业的预设优先级来控制LED阵列显示作业名称,便于管理员及时发现需要处理的作业,从而可以及时修复失败作业,相比于现有技术中的邮件跟进方式,本发明实施例可以直观地显示需要处理的作业,便于管理员及时发现问题及时处理问题。
具体地,如图4所示,上述状态显示器控制单元22包括:第一失败状态控制模块221、第一不稳定状态控制模块222和第一成功状态控制模块223,其中:
第一失败状态控制模块221,用于响应于各作业状态信息中存在状态为失败的作业,控制所述状态显示器显示对应的失败信息;
第一不稳定状态控制模块222,用于响应于各作业状态信息中未存在状态为失败、存在状态为不稳定的作业,控制所述状态显示器显示对应的不稳定信息;
第一成功状态控制模块223,用于响应于各作业状态信息均为成功,控制所述状态显示器显示对应的成功信息。
在一个实施例中,状态显示器控制单元22具体用于:根据各作业状态信息和预定质量阈值控制状态显示器进行显示。具体地,如图5所示,状态显示器控制单元22还包括:第二失败状态控制模块224、第二不稳定状态控制模块225和第二成功状态控制模块226,其中:
第二失败状态控制模块224,用于响应于状态为失败的作业数量超过第一阈值,控制所述状态显示器显示对应的失败信息;
第二不稳定状态控制模块225,用于响应于存在状态为失败的作业且失败作业数量未超过第一阈值、或者响应于状态为失败和不稳定的作业数量超过第二阈值,控制所述状态显示器显示对应的不稳定信息;
第二成功状态控制模块226,用于控制所述状态显示器显示对应的成功信息。
在实际操作中,状态显示器可以是三色状态灯。例如,红绿黄状态灯,状态为成功,则控制状态灯显示为绿色,状态为不稳定,则控制状态灯显示为黄色,状态为失败,则控制状态灯显示为红色。
在实际操作中,状态显示器也可以是其他显示设备,只需具有根据作业的不同状态显示不同颜色或者显示不同状态的功能,以便于管理员及时发现即可,本发明不限于此。
具体地,LED阵列控制单元23用于根据状态为失败和不稳定的作业的预设优先级控制LED阵列显示当前处理优先级最高的作业名称,便于管理员及时发现问题及时处理。
如图6所示,上述LED阵列控制单元23还包括:作业名称输入模块231和单片机控制器232,其中:
作业名称输入模块231,用于将需要由LED阵列显示的作业名称输入至单片机控制器;
单片机控制器232,用于控制LED灯阵显示接收到的作业名称,单片机控制器包括:多位LED显示驱动器集成电路(例如,MAX7219集成电路)。
上述各单元、各模块、各子模块的具体执行过程,可以参见上述方法实施例中的描述,此处不再赘述。
在实际操作中,上述各单元、各模块、各子模块可以组合设置、也可以单一设置,本发明不限于此。
为了更好地理解本发明实施例,以下以基于Jenkins服务器的作业信息处理系统为例来详细描述本发明实施例。
图7是基于Jenkins服务器的作业信息处理系统的架构示意图,如图7所示,该系统包括四部分:位于Jenkins服务器端的Jenkins任务推送插件1、客户端程序逻辑处理单元2、控制转换单元3以及显示单元4,其中:
Jenkins任务推送插件1,负责Jenkins任务(即,上述的作业)结果状态信息处理及推送。
客户端程序逻辑处理单元2,负责接收服务器程序。
控制转换单元3,负责转换客户端信息,发送指令到显示单元。
显示单元4,包括:状态展示状态灯和LED看板(即,上述LED阵列,与也可以称为LED灯阵),负责实时展示失败或不稳定任务。
以下分别详细描述各部分。
(一)Jenkins任务推送插件(服务器端)
在本实施例中,在Jenkins服务器任务构建后对任务进行记录,采集Jenkins任务信息。
一般来说,Jenkins步骤一般分为构建步骤和构建后步骤。构建步骤包括:自动化测试、自动化代码检查、执行批量处理命令等;构建后步骤包括:自动化测试结果解析、结果信息推送、记录构建日志等。
在本申请中,关注的是构建结果,需要增加构建后步骤,在本实施例中,提供了可添加构建后步骤的Jenkins任务推送插件,该Jenkins任务推送插件的示例配置参见图8所示。
图8示出的配置信息包括:
1.接收者:配置接收信息的用户,插件会把任务信息推送到该用户的客户端。
2.推送状态:Jenkins任务构建状态主要为成功、失败、不稳定。
3.单独推送:如果配置的接收者中没有构建任务负责人,勾选后会将推送信息发给任务负责人。
图9是该Jenkins任务推送插件的工作流程图,如图9所示,该流程包括:
步骤901,Jenkins任务构建;
步骤902,推送插件判断是否只推送不稳定任务,如果判断结果为是,则执行步骤903,否则,执行步骤904;
步骤903,判断任务是否成功,如果判断结果为否,则执行步骤904,否则,流程结束;
步骤904,根据配置的接收者信息和任务负责人确定推送清单;
步骤905,根据推送清单从数据库中获取被推送者的IP信息;
步骤906,根据被推送者的IP信息将推送信息发送到对应的客户端;
步骤907,如果客户端未成功响应,则记录未成功响应日志,以便于后续处理。
(二)客户端程序逻辑处理单元
该客户端程序逻辑处理单元包括如下两个功能:
1、接收服务器信息。
为了能够使服务器能够正确推送信息到客户端,客户端在局域网为固定IP。将IP地址等信息保存在数据库,从而可以提供服务器动态查询并根据IP地址发送信息到客户端。
客户端在监听和接收到服务器的推送信息后,记录相关信息到本地日志。信息包括:每个任务的任务名、构建序号、构建任务状态(成功、失败、取消、不稳定等状态)、构建发起人、构建时间等信息。
2、主动收集服务器信息。
除了接收从服务器端发送的推送信息,用户还可以根据需求配置信息,通过封装和处理Jenkins信息查询URL(Uniform Resource Locator,统一资源定位符)接口,获取指定Jenkins服务器上的任务状态信息。
用户登录Jenkins服务器配置URL地址、域用户和口令等信息,该配置可以保存在解压目录中的jl-config.ini文件中,文件中的内容如图10所示。
为了监控用户所关注的持续集成任务状态,需要将Jenkins任务的名称配置在图11所示的配置文件jobs.lst文件中,每个任务占一行。
最后客户端记录任务名、构建序号、构建结束时间、构建任务状态、构建负责人、构建日志等。客户端用户可以要查看服务器推到客户端的任务及自己关注的任务的构建历史,例如失败的任务和时间等。
(三)控制转换单元
获取Jenkins任务状态后,控制转换单元根据Jenkins任务状态控制与客户端相连接的状态灯和LED看板(即,LED阵列)。
当任务为单个时,控制转换单元根据单个任务的状态控制状态灯和LED看板,任务状态为成功、不稳定、失败,控制状态灯的显示颜色分别为绿色、黄色和红色,并控制LED看板显示状态为不稳定或失败的任务名称。
当任务为多个时,控制转换单元根据所有任务状态确定最终任务状态,并据此控制状态灯和LED看板。
具体而言,如果有一个或一个以上的任务状态为失败,则最终任务状态确定为失败,如果没有状态为失败的任务、但是有一个或一个以上的任务状态为不稳定,则最终任务状态为不稳定,如果全部任务状态为成功,则最终任务状态为成功。
在一个实施例中,还可以通过配置质量阀值变量来确定最终任务状态。例如,当状态为失败的任务数量超过全部任务数量的10%(失败阈值为10%)时,最终任务状态为失败;当失败任务数量未达到上述失败阀值、但是失败状态(此时,失败任务数量可为0)和不稳定状态的任务总数量超过全部任务数量的20%(不稳定阈值为20%)时,则最终任务状态为不稳定;当失败和不稳定状态的任务总数量未达到不稳定阈值、但是存在失败任务时,最终任务状态也为不稳定;其它情况则视为最终任务状态为成功。在实际操作中,当未配置失败阈值和不稳定阈值时,默认两个阈值为0。
当存在多个失败和/或不稳定状态的任务时,控制转换单元确认哪个任务最优先解决,例如,最长时间未修复任务为优先级最高,需要优先处理。
具体而言,从客户端任务状态列表中找出所有最后状态为失败的任务,将最长时间未修复的失败任务确定为需要显示的任务;如果无失败任务,则查找最后状态为不稳定的任务,并确定不稳定状态的时间,时间最长的任务设置为最先需要解决的任务,控制转换单元控制LED看板显示该任务名称,如果没有不稳定的任务,则LED看板不需要显示任务名称。
(四)显示单元
显示单元包括:状态灯和LED看板,其中,状态灯用于显示最终任务状态,LED看板用于显示需要优先修复的任务名称。
图12是根据本发明实施例的状态灯工作原理示意图,如图12所示,为了可以更直观的展现当前任务状态,将连接状态灯的继电器接入外部电路,在本示例中,每个继电器控制一种颜色的灯,把几个颜色的灯组装在一个电灯盒中,该状态灯的工作原理为:监控持续集成Jenkins任务,通过对任务状态的收集和处理,得到最终任务状态,控制转换单元根据最终任务状态控制继电器,以使相应的灯亮。具体地,当最终任务状态为成功时,控制转换单元控制继电器3以使电灯盒显示为绿色,当最终任务状态为不稳定,则控制继电器2以使电灯盒显示为黄色,当最终任务状态为失败,则控制继电器1以使电灯盒显示为红色。
图13是LED看板(图中显示为LED灯阵)的连接示意图,如图13所示,为了使LED看板可以正常显示任务名称,使用USB转串口模块与客户端连接,并通过USB转串口模块、经由单片机控制器(也可以简称为单片机)与LED看板连接。客户端将需要显示的任务名称通过USB转串口模块发送至单片机控制器,单片机控制器通过驱动器组控制LED看板显示任务名称。这里,LED看板可以是8×8LED灯阵。
图14是LED看板显示任务名称的流程图,如图14所示,该流程包括:
步骤141,单片机控制器接收客户端的需要显示的任务名称字符串;
步骤142,初始化连接各8×8LED灯阵的驱动器;
步骤143,将任务名称字符串转化成十六进制数;
步骤144,每级联的驱动器写入十六进制数据信号。
在实际操作中,单片机控制器IO(输入/输出,Input/Output)与8×8LED灯阵相连,通过控制行的8个阳极和8个阴极,驱动8×8灯阵,图15为LED灯阵电路图。单片机控制器控制8×8个LED灯阵中各灯的点亮和熄灭,从而显示任务名称。
在具体实施过程中,任务名称一般由字母“A-Z”、“0-9”、“_”、“:”组成,需要对这些字段转换成对应的二进制数用于控制8×8LED灯阵,如图16示出了字母“A”对应的二进制和十六进制,其中,二进制中的0和1对应LED灯的开和关。
任务名称所涉及到的字符对应的十六进制如下所示:
{0x18,0x24,0x42,0x7E,0x42,0x42,0x42,0x0},//A
{0x7C,0x22,0x22,0x3E,0x22,0x22,0x7C,0x0},//B
{0x3E,0x42,0x40,0x40,0x40,0x42,0x7C,0x0},//C
{0x3E,0x22,0x22,0x22,0x22,0x22,0x7C,0x0},//D
{0x7E,0x20,0x20,0x3E,0x20,0x20,0x7E,0x0},//E
{0x7E,0x20,0x20,0x3E,0x20,0x20,0x20,0x0},//F
{0x3E,0x42,0x40,0x40,0x4E,0x42,0x7E,0x0},//G
{0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x0},//H
{0x38,0x10,0x10,0x10,0x10,0x10,0x38,0x0},//I
{0x3C,0x4,0x4,0x4,0x4,0x44,0x38,0x0},//J
{0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x0},//K
{0x70,0x20,0x20,0x20,0x20,0x20,0x7E,0x0},//L
{0x42,0x66,0x5A,0x5A,0x42,0x42,0x42,0x0},//M
{0x42,0x62,0x52,0x4A,0x46,0x42,0x42,0x0},//N
{0x7E,0x42,0x42,0x42,0x42,0x42,0x7E,0x0},//O
{0x7C,0x42,0x42,0x7C,0x40,0x40,0x40,0x0},//P
{0x7E,0x42,0x42,0x42,0x4A,0x44,0x7A,0x0},//Q
{0x7C,0x42,0x42,0x7C,0x48,0x44,0x42,0x0},//R
{0x3C,0x42,0x40,0x3C,0x2,0x42,0x3C,0x0},//S
{0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x0},//T
{0x42,0x42,0x42,0x42,0x42,0x42,0x7E,0x0},//U
{0x42,0x42,0x42,0x42,0x24,0x18,0x18,0x0},//V
{0x42,0x42,0x42,0x5A,0x5A,0x66,0x42,0x0},//W
{0x42,0x24,0x18,0x18,0x24,0x42,0x42,0x0},//X
{0x22,0x22,0x14,0x8,0x10,0x10,0x10,0x0},//Y
{0x7E,0x4,0x8,0x10,0x20,0x40,0x7E,0x0},//Z
{0x38,0x44,0x4C,0x54,0x64,0x44,0x38,0x0},//0
{0x10,0x30,0x10,0x10,0x10,0x10,0x38,0x0},//1
{0x38,0x44,0x4,0x8,0x10,0x20,0x7C,0x0},//2
{0x7C,0x8,0x10,0x8,0x4,0x44,0x38,0x0},//3
{0x8,0x18,0x28,0x48,0x48,0x7C,0x8,0x0},//4
{0x7C,0x40,0x40,0x38,0x4,0x44,0x38,0x0},//5
{0x18,0x20,0x40,0x78,0x44,0x44,0x38,0x0},//6
{0x7C,0x4,0x4,0x18,0x10,0x10,0x10,0x0},//7
{0x38,0x44,0x44,0x38,0x44,0x44,0x38,0x0},//8
{0x38,0x44,0x44,0x3C,0x4,0x4,0x38,0x0},//9
{0x0,0x0,0x0,0x0,0x0,0x0,0x7E,0x0},//_
{0x0,0x18,0x18,0x0,0x0,0x18,0x18,0x0},//:
在实际操作中,如果需要驱动多个8×8LED灯阵,则需要多个单片机相连,为了减少单片机数量,使用相对少一点的IO连接更多个8×8LED灯阵,可以通过MAX7219集成电路来帮助单片机输出显示。MAX7219是一种集成化的串行输入输出显示驱动器,通过MAX7219集成电路,可以实现一个单片机驱动多个联级8×8LED灯阵。图17是基于MAX7219(图中显示为驱动器)驱动多个8×8LED阵列的示意图,如图17所示,单片机最外接IO端口控制MAX7219驱动多个8×8LED点阵显示任务名称。
由以上描述可知,基于图7所示的系统可以自动记录持续集成框架Jenkins系统任务的状态,并实时反馈给任务对应的负责人。当任务构建后,Jenkins任务推送插件通过查询数据库相关信息后,将推送信息推送至相关人员的客户端。客户端根据收到的任务,确定任务最终状态,并根据任务最终状态控制状态灯和LED看板,使得LED看板可以直观的展示任务名称,状态灯可以实时反应当前持续集成任务的状态。也就是说,相关人员客户端在接收到任务状态后,通过客户端程序发送信息到单片机以控制LED灯阵,在LED灯阵中显示需要优先处理的任务名称,从而相关人员可以快速及时地了解Jenkins任务的报错情况。同时,在持续集成任务状态变化时,也可以通过状态灯和LED灯阵及时发现任务状态的变化。
图18是根据本发明实施例的电子设备的示意图。图18所示的电子设备为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器1801和存储器1802。处理器1801和存储器1802通过总线1803连接。存储器1802适于存储处理器1801可执行的一条或多条指令或程序。该一条或多条指令或程序被处理器1801执行以实现上述作业信息处理方法中的步骤。
上述处理器1801可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器1801通过执行存储器1802所存储的命令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其他装置的控制。总线1803将上述多个组件连接在一起,同时将上述组件连接到显示控制器1804和显示装置以及输入/输出(I/O)装置1805。输入/输出(I/O)装置1805可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出(I/O)装置1805通过输入/输出(I/O)控制器1806与系统相连。
其中,存储器1802可以存储软件组件,例如操作系统、通信模块、交互模块以及应用程序。以上所述的每个模块和应用程序都对应于完成一个或多个功能和在发明实施例中描述的方法的一组可执行程序指令。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现上述作业信息处理方法的步骤。
综上所述,本发明实施例提供的Jenkins任务状态处理方案,可以用于Jenkins任务状态的监控和记录。任务状态显示设备(即,状态灯和LED看板)可以摆放在任务负责人容易看到的地方,负责人可以实时方便地了解任务的实际状态。该方案具体如下优点:(1)实时化,一旦任务失败,可以马上推送信息到相关客户端,负责人可以及时发现并解决失败任务,克服了邮件跟进效率慢和不及时的问题。(2)目标化,可以定位到相关负责人,把相关信息推送到对应的负责人,负责人可以看到任务的任务状态和任务名称,及时解决问题。(3)持续化,通过记录Jenkins任务状态日志,后续可以对日志进行分析。并且,任务负责人也可以对所有服务器的任务有一个完整的视图,通过查询自己负责的任务历史记录,可以分析参考用于后续改进参考。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种作业信息的处理方法,其特征在于,所述方法包括:
获取来自作业构建服务器的多个作业信息,所述作业信息包括:作业的状态信息,所述状态包括:失败、成功、不稳定;
根据各作业状态信息和预定质量阈值控制状态显示器进行显示;
根据状态为失败和不稳定的作业的预设优先级控制发光二极管LED阵列显示作业名称,以便于管理员及时处理;
其中,根据各作业状态信息和预定质量阈值控制状态显示器进行显示包括:
响应于状态为失败的作业数量超过第一阈值,控制所述状态显示器显示对应的失败信息;
响应于存在状态为失败的作业且失败作业数量未超过第一阈值、或者响应于状态为失败和不稳定的作业数量超过第二阈值,控制所述状态显示器显示对应的不稳定信息;否则,控制所述状态显示器显示对应的成功信息。
2.根据权利要求1所述的方法,其特征在于,根据各作业的状态信息控制状态显示器进行显示包括:
响应于各作业状态信息中存在状态为失败的作业,控制所述状态显示器显示对应的失败信息;
响应于各作业状态信息中未存在状态为失败、存在状态为不稳定的作业,控制所述状态显示器显示对应的不稳定信息;
响应于各作业状态信息均为成功,控制所述状态显示器显示对应的成功信息。
3.根据权利要求1所述的方法,其特征在于,根据状态为失败和不稳定的作业的预设优先级控制LED阵列显示作业名称包括:
根据状态为失败和不稳定的作业的预设优先级控制LED阵列显示当前处理优先级最高的作业名称。
4.根据权利要求1所述的方法,其特征在于,通过如下方式显示作业名称:
将所述作业名称输入至单片机控制器,以使所述单片机控制器控制LED灯阵显示所述作业名称,所述单片机控制器包括:多位LED显示驱动器集成电路。
5.一种作业信息的处理装置,其特征在于,所述装置包括:
信息获取单元,用于获取来自作业构建服务器的多个作业信息,所述作业信息包括:作业的状态信息,所述状态包括:失败、成功、不稳定;
状态显示器控制单元,用于根据各作业状态信息和预定质量阈值控制状态显示器进行显示;
LED阵列控制单元,用于根据状态为失败和不稳定的作业的预设优先级控制LED阵列显示作业名称,以便于管理员及时处理;
其中,所述状态显示器控制单元具体包括:
第二失败状态控制模块,用于响应于状态为失败的作业数量超过第一阈值,控制所述状态显示器显示对应的失败信息;
第二不稳定状态控制模块,用于响应于存在状态为失败的作业且失败作业数量未超过第一阈值、或者响应于状态为失败和不稳定的作业数量超过第二阈值,控制所述状态显示器显示对应的不稳定信息;
第二成功状态控制模块,用于控制所述状态显示器显示对应的成功信息。
6.根据权利要求5所述的装置,其特征在于,所述状态显示器控制单元包括:
第一失败状态控制模块,用于响应于各作业状态信息中存在状态为失败的作业,控制所述状态显示器显示对应的失败信息;
第一不稳定状态控制模块,用于响应于各作业状态信息中未存在状态为失败、存在状态为不稳定的作业,控制所述状态显示器显示对应的不稳定信息;
第一成功状态控制模块,用于响应于各作业状态信息均为成功,控制所述状态显示器显示对应的成功信息。
7.根据权利要求5所述的装置,其特征在于,所述LED阵列控制单元具体用于:
根据状态为失败和不稳定的作业的预设优先级控制所述LED阵列显示当前处理优先级最高的作业名称。
8.根据权利要求5所述的装置,其特征在于,所述LED阵列控制单元包括:作业名称输入模块和单片机控制器,其中,
所述作业名称输入模块,用于将所述作业名称输入至所述单片机控制器,
所述单片机控制器,用于控制LED灯阵显示所述作业名称,所述单片机控制器包括:多位LED显示驱动器集成电路。
9.一种作业信息的处理系统,其特征在于,所述系统包括:权利要求5至8中任一项所述的作业信息的处理装置、作业构建服务器、状态显示器和LED灯阵,其中,
所述作业构建服务器将作业信息发送至所述作业信息的处理装置,
所述作业信息的处理装置根据各作业的状态信息控制所述状态显示器显示不同状态,以及根据显示状态为失败和不稳定的作业的预设优先级控制所述LED灯阵显示作业名称,以便于管理员及时处理。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4中任一项所述作业信息的处理方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4中任一项所述作业信息的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127697.4A CN111372344B (zh) | 2020-02-28 | 2020-02-28 | 作业信息的处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127697.4A CN111372344B (zh) | 2020-02-28 | 2020-02-28 | 作业信息的处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111372344A CN111372344A (zh) | 2020-07-03 |
CN111372344B true CN111372344B (zh) | 2022-09-20 |
Family
ID=71210154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010127697.4A Active CN111372344B (zh) | 2020-02-28 | 2020-02-28 | 作业信息的处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111372344B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102226890A (zh) * | 2011-06-10 | 2011-10-26 | 中国工商银行股份有限公司 | 一种主机批量作业数据监控方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5395579B2 (ja) * | 2009-09-10 | 2014-01-22 | キヤノン株式会社 | 情報処理装置及びその方法 |
CN103941962B (zh) * | 2014-04-21 | 2017-04-19 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN110515514B (zh) * | 2019-08-30 | 2023-11-07 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及存储介质 |
-
2020
- 2020-02-28 CN CN202010127697.4A patent/CN111372344B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102226890A (zh) * | 2011-06-10 | 2011-10-26 | 中国工商银行股份有限公司 | 一种主机批量作业数据监控方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111372344A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107291565B (zh) | 运维可视化自动化作业平台及实现方法 | |
US9262254B2 (en) | Method and apparatus to manage information between a scan tool and networked devices | |
CN106681930B (zh) | 分布式自动检测应用运行异常方法及系统 | |
Tsarouhas | Evaluation of overall equipment effectiveness in the beverage industry: a case study | |
CN105447681B (zh) | 一种理化检测控制与信息管理系统 | |
CN112559288B (zh) | 一种基于以太网的分布式惯性平台测试系统 | |
US20060116778A1 (en) | On-line statistical process control information system and method | |
CN102540133A (zh) | 智能电网数据采集终端的自动检测系统及方法 | |
CN109144020A (zh) | 控制机床加工的方法及装置、系统、存储介质、处理器 | |
CN112507003A (zh) | 一种基于大数据架构的车联网数据分析平台 | |
CN114819213A (zh) | 一种电动汽车公共充电设施的智能运维管理方法及系统 | |
CN111245671B (zh) | 用于卫星激光通信终端地面测试的自动化集成测试系统 | |
CN110989507A (zh) | 一种断路器自动化检测生产数字孪生车间生成装置 | |
CN113128715A (zh) | 一种辅助设备维修的系统及方法 | |
CN109118170A (zh) | 房产维修任务的显示方法、装置及计算机可读存储介质 | |
CN111372344B (zh) | 作业信息的处理方法、装置及系统 | |
CN113189961B (zh) | 一种强制状态查找处理方法 | |
JP2010182044A (ja) | 障害原因解析システム及びプログラム | |
CN108282384B (zh) | 一种基于iec61850的mms服务端通信稳定性的自动测试系统 | |
CN112734447A (zh) | 一种谷粒云后市场服务云平台及其方法 | |
US8812336B2 (en) | Providing real-time test ahead work direction for manufacturing optimization | |
CN110780980A (zh) | 对不同来源磁盘或操作系统镜像进行快速还原处理的方法 | |
CN115587028A (zh) | 接口自动化测试方法、系统、介质及终端 | |
CN109270365A (zh) | 一种可自动在线监测农林电动工具的管理系统 | |
KR20120047348A (ko) | 통계적 품질 검사 및 관리 시스템 |
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 |