CN116069668B - 分布式编译构建任务的调试方法、装置、设备及存储介质 - Google Patents
分布式编译构建任务的调试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116069668B CN116069668B CN202310208657.6A CN202310208657A CN116069668B CN 116069668 B CN116069668 B CN 116069668B CN 202310208657 A CN202310208657 A CN 202310208657A CN 116069668 B CN116069668 B CN 116069668B
- Authority
- CN
- China
- Prior art keywords
- target
- compiling
- debugging
- task
- equipment
- 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
-
- 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/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- 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/3664—Environments for testing or debugging software
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Stored Programmes (AREA)
Abstract
本申请提供了一种分布式编译构建任务的调试方法、装置、电子设备及计算机可读存储介质,涉及计算机技术领域,包括:获取数据库,数据库中维护有编译构建任务的标识、与标识对应的编译设备的登录信息、与标识对应的编译设备的调试目录以及三者之间的对应关系;响应于对目标编译构建任务的调试指令,从数据库中获取与目标编译构建任务的目标标识对应的目标登录信息和目标调试目录;在根据目标登录信息远程登录访问目标编译设备后,根据目标调试目录,向目标编译设备发送调试指令,以供目标编译设备执行调试指令;获取目标编译设备对调试指令的执行结果并展示,无需人工远程登录设备并手动进入调试目录,即可实现调试,提高了调试效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种分布式编译构建任务的调试方法、装置、电子设备及计算机可读存储介质。
背景技术
在对操作系统上应用软件的源码文件执行编译构建任务之后,需要对执行失败的编译构建任务进行调试,这就需要一种分布式编译构建任务的调试方法。
需要说明的是,编译构建任务包括编译和构建两个过程,编译是将操作系统上应用软件的源码文件编译成二进制文件的过程,构建是将根文件系统和操作系统上应用软件的二进制文件构建成操作系统上应用软件的可执行文件(镜像文件)的过程。
在先技术中,工作人员需要在调试设备上,人工调用与执行编译构建任务的设备对应的远程登录工具,远程登录访问执行编译构建任务的设备,然后手动进入调试目录,对执行失败的编译构建任务进行调试。
在实现本申请过程中,发明人发现在先技术中至少存在如下问题:由于工作人员需要通过人工远程登录访问执行编译构建任务的设备,并手动对执行失败的编译构建任务进行调试,导致效率低下。
发明内容
本申请实施例提供一种分布式编译构建任务的调试方法、装置、电子设备及计算机可读存储介质,至少解决在先技术中由于工作人员需要通过人工远程登录访问执行编译构建任务的设备,并手动对执行失败的编译构建任务进行调试,导致效率低下的问题。
第一方面,本申请实施例提供了一种分布式编译构建任务的调试方法,应用于调试设备,所述调试设备与编译设备通信连接,所述编译设备用于对操作系统上应用软件的源码文件执行编译构建任务,获得操作系统上应用软件的可执行文件,所述方法包括:
获取数据库,所述数据库中维护有至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录,以及三者之间的对应关系;
响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录;
在根据所述目标登录信息远程登录访问目标编译设备后,根据所述目标调试目录,向所述目标编译设备发送调试指令,以供所述目标编译设备在所述目标调试目录下针对所述目标编译构建任务执行所述调试指令;
获取所述目标编译设备针对所述调试指令的执行结果并展示。
第二方面,本申请实施例提供了一种分布式编译构建任务的调试方法,应用于编译设备,所述编译设备与调试设备通信连接,所述编译设备用于对操作系统上应用软件的源码文件执行编译构建任务,获得操作系统上应用软件的可执行文件,所述方法包括:
将至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录,以及三者之间的对应关系实时同步到所述调试设备的数据库,以供所述调试设备在获取目标编译构建任务的目标标识之后,响应于调试指令,从所述数据库中获取与所述目标标识对应的目标登录信息和目标调试目录;
在接收到所述调试设备发送的调试指令的情况下,在所述目标调试目录下对所述目标编译构建任务执行所述调试指令,所述调试指令为所述调试设备在根据所述目标登录信息远程登录访问目标编译设备后,根据所述目标调试目录发送的调试指令;
将针对所述调试指令的执行结果发送至所述调试设备,以供所述调试设备获取并展示所述执行结果。
第三方面,本申请实施例提供了一种分布式编译构建任务的调试装置,应用于调试设备,所述调试设备与编译设备通信连接,所述编译设备用于对操作系统上应用软件的源码文件执行编译构建任务,获得操作系统上应用软件的可执行文件,所述装置包括:
第一获取模块,用于获取数据库,所述数据库中维护有至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录,以及三者之间的对应关系;
第二获取模块,用于响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录;
第一发送模块,用于在根据所述目标登录信息远程登录访问目标编译设备后,根据所述目标调试目录,向所述目标编译设备发送调试指令,以供所述目标编译设备在所述目标调试目录下针对所述目标编译构建任务执行所述调试指令;
展示模块,用于获取所述目标编译设备针对所述调试指令的执行结果并展示。
第四方面,本申请实施例提供了一种分布式编译构建任务的调试装置,应用于编译设备,所述编译设备与调试设备通信连接,所述编译设备用于对操作系统上应用软件的源码文件执行编译构建任务,获得操作系统上应用软件的可执行文件,所述装置包括:
实时同步模块,用于将至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录,以及三者之间的对应关系实时同步到所述调试设备的数据库,以供所述调试设备在获取目标编译构建任务的目标标识之后,响应于调试指令,从所述数据库中获取与所述目标标识对应的目标登录信息和目标调试目录;
指令执行模块,用于在接收到所述调试设备发送的调试指令的情况下,在所述目标调试目录下对所述目标编译构建任务执行所述调试指令,所述调试指令为所述调试设备在根据所述目标登录信息远程登录访问目标编译设备后,根据所述目标调试目录发送的调试指令;
第二发送模块,用于将针对所述调试指令的执行结果发送至所述调试设备,以供所述调试设备获取并展示所述执行结果。
第五方面,本申请实施例还提供了一种电子设备,包括处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现所述第一方面的方法和所述第二方面的方法。
第六方面,本申请实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行所述第一方面的方法和所述第二方面的方法。
在本申请实施例中,通过访问数据库可以获取到与目标编译构建任务的目标标识对应的目标登录信息和目标调试目录;然后根据目标登录信息远程登录访问目标编译设备;再根据目标调试目录,向目标编译设备发送调试指令,以供目标编译设备在目标调试目录下针对目标编译构建任务执行调试指令;最后展示调试指令的执行结果。采用本申请实施例的方法,无需人工远程登录访问执行编译构建任务的设备并手动进入调试目录,即可实现对执行失败的编译构建任务进行调试,提高了调试的效率,解决了在先技术中需要人工远程登录设备并手动执行调试,而导致效率低下的问题。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
图1是本申请实施例提供的一种应用于调试设备的分布式编译构建任务的调试方法的步骤流程图;
图2是本申请实施例提供的一种应用于编译设备的分布式编译构建任务的调试的步骤流程图;
图3是本申请实施例提供的一种分布式编译构建任务的调试方法的具体步骤流程图;
图4是本申请实施例提供的一种分布式编译构建任务的调试方法的编译构建任务的任务详情页面示意图;
图5是本申请实施例提供的一种分布式编译构建任务的调试方法的在线调试页面示意图;
图6是本申请实施例提供的一种分布式编译构建任务的调试方法对应的系统示意图;
图7是本申请实施例提供的一种分布式编译构建任务的调试方法对应的系统工作过程示意图;
图8是本申请实施例提供的一种注册登录信息的步骤示意图;
图9是本申请实施例提供的一种备份编译构建任务所需的根文件系统环境的步骤示意图;
图10是本申请实施例提供的一种进入编译构建环境的步骤示意图;
图11是本申请实施例提供的一种应用于调试设备的分布式编译构建任务的调试装置框图;
图12是本申请实施例提供的一种应用于编译设备的分布式编译构建任务的调试装置框图;
图13是本申请的一种装置的框图;
图14是本申请的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
需要说明的是,在本申请实施例中,调试设备可以为笔记本电脑、台式电脑、平板电脑等设备,编译设备可以为采用分布式架构部署的虚拟机、物理机等,部署方式可以为docker(应用容器引擎)、k8s(即Kubernetes,一种开源容器编排器技术)、物理机部署等。
图1是本申请实施例提供的一种应用于调试设备的分布式编译构建任务的调试方法的步骤流程图,该方法应用于调试设备,所述调试设备与编译设备通信连接,所述编译设备用于对操作系统上应用软件的源码文件执行编译构建任务,获得操作系统上应用软件的可执行文件,如图1所示,该方法可以包括:
步骤101、获取数据库。
其中,所述数据库中维护有至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录,以及三者之间的对应关系。
需要说明的是,每个编译构建任务有对应的标识用以区分其他的编译构建任务,编译构建任务的标识可以为编译构建任务的名称;每个编译构建任务都对应一个执行该编译构建任务的编译设备,与所述编译构建任务的标识对应的编译设备的登录信息即执行该编译构建任务的编译设备的登录信息,使用该登录信息可以远程登录该编译设备;在该编译构建任务的标识对应的编译设备的调试目录下存储有该编译构建任务的备份文件,该备份文件可以包括该编译构建任务对应的操作系统上应用软件的源码文件、该编译构建任务对应的操作系统上应用软件的二进制文件以及该编译构建任务对应的日志文件。
在本申请实施例中,通过创建数据库(例如PostgreSQL数据库,PostgreSQL为一种对象关系型数据库管理系统),在数据库中存储所有编译构建任务的标识、与标识对应的编译设备的登录信息、与标识对应的编译设备的调试目录,以及所述编译构建任务的标识、编译设备的登录信息、编译设备的调试目录三者之间的对应关系。在获取数据库之后,可以为编译构建任务的调试提供所需的编译构建任务的标识、与标识对应的编译设备的登录信息,以及与标识对应的编译设备的调试目录。
步骤102、响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录。
需要说明的是,目标编译构建任务一般为编译设备执行编译构建任务时执行失败的任务,工作人员需要对执行失败的编译构建任务进行调试。
例如,数据库中存储有三组对应关系,对应关系1为{编译构建任务1的标识1、与标识1对应的编译设备1的登录信息1,以及与标识1对应的编译设备1的调试目录1};对应关系2为{编译构建任务2的标识2、与标识2对应的编译设备2的登录信息2,以及与标识2对应的编译设备2的调试目录2};对应关系3为{编译构建任务3的标识3、与标识3对应的编译设备3的登录信息3,以及与标识3对应的编译设备3的调试目录3};假设编译构建任务2执行失败,则目标编译构建任务的目标标识是标识2,响应于针对目标编译构建任务的调试指令,可以根据目标编译构建任务的目标标识,即标识2,从数据库中获取与目标标识对应的目标编译设备的目标登录信息(登录信息2)和与目标标识对应的目标编译设备的目标调试目录(调试目录2)。
在本申请实施例中,在获取数据库之后,响应于针对目标编译构建任务的调试指令,可以根据目标编译构建任务的目标标识,从数据库中获取与目标标识对应的目标编译设备的目标登录信息和与目标标识对应的目标编译设备的目标调试目录,作为远程登录目标编译设备并对目标编译构建任务进行调试的依据。
步骤103、在根据所述目标登录信息远程登录访问目标编译设备后,根据所述目标调试目录,向所述目标编译设备发送调试指令。
其中,所述调试指令用以供所述目标编译设备在所述目标调试目录下针对所述目标编译构建任务执行所述调试指令。
具体地,如图4和图5所示,在一些实施例中,工作人员通过在调试设备上打开目标编译构建任务的任务详情页面(如图4所示),在任务详情页面上点击调试按钮,打开在线调试页面(如图5所示),在根据目标登录信息远程登录访问目标编译设备后,在线调试页面上显示目标编译设备的名称(例如图5中“ac8”所示)、目标远程登录工具(例如图5中“docker”所示)、目标编译构建任务的目标标识(例如图5中“78723”所示),在在线调试页面上可以输入调试命令,以根据目标调试目录,向目标编译设备发出调试指令。
例如,在在线调试页面输入“打开目标编译构建任务的日志文件”的命令,则目标编译设备在目标调试目录下针对目标编译构建任务执行调试指令之后,在目标调试目录下打开上述日志文件。
在本申请实施例中,先根据目标登录信息远程登录访问目标编译设备,然后根据目标调试目录,向目标编译设备发出调试指令,以供目标编译设备在目标调试目录下针对目标编译构建任务执行调试指令,替代工作人员实现了对目标编译构建任务的调试命令的输入。
步骤104、获取所述目标编译设备针对所述调试指令的执行结果并展示。
具体地,在一些实施例中,通过在调试设备上的在线调试页面展示目标编译设备针对所述调试指令的执行结果。
例如,在在线调试页面输入“打开目标编译构建任务的日志文件”的命令之后,获取到日志文件的内容,并展示在在线调试页面上。
在本申请实施例中,通过获取目标编译设备针对调试指令的执行结果并展示,可以将执行结果自动展示给工作人员,使得工作人员方便地看到调试指令的执行结果,有利于对目标编译构建任务的进一步调试。
综上所述,在本申请实施例中,通过访问数据库可以获取到与目标编译构建任务的目标标识对应的目标登录信息和目标调试目录;然后根据目标登录信息远程登录访问目标编译设备;再根据目标调试目录,向目标编译设备发送调试指令,以供目标编译设备在目标调试目录下针对目标编译构建任务执行调试指令;最后展示调试指令的执行结果。采用本申请实施例的方法,无需人工远程登录访问执行编译构建任务的设备并手动进入调试目录,即可实现对执行失败的编译构建任务进行调试,提高了调试的效率,解决了在先技术中需要人工远程登录设备并手动执行调试,而导致效率低下的问题。
图2是本申请实施例提供的一种分布式编译构建任务的调试方法的步骤流程图,该方法应用于编译设备,所述编译设备与调试设备通信连接,所述编译设备用于对操作系统上应用软件的源码文件执行编译构建任务,获得操作系统上应用软件的可执行文件,如图2所示,该方法可以包括:
步骤201、将至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、以及与所述标识对应的编译设备的调试目录的对应关系实时同步到所述调试设备的数据库。
其中,通过将至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录,以及三者之间的对应关系实时同步到所述调试设备的数据库,以供所述调试设备在获取目标编译构建任务的目标标识之后,响应于调试指令,从所述数据库中获取与所述目标标识对应的目标登录信息和目标调试目录。
具体地,在一些实施例中,在编译设备执行编译构建任务之后,编译设备将该编译构建任务的标识、与该标识对应的编译设备的登录信息、与该标识对应的编译设备的调试目录的对应关系实时同步到调试设备的数据库中。
在本申请实施例中,通过将编译构建任务的标识、与标识对应的编译设备的登录信息、与标识对应的编译设备的调试目录的对应关系实时同步到调试设备的数据库中,有利于调试设备获取该对应关系,并根据该对应关系,对目标编译构建任务进行调试。
步骤202、在接收到所述调试设备发送的调试指令的情况下,在所述目标调试目录下对所述目标编译构建任务执行所述调试指令。
其中,所述调试指令为所述调试设备在根据所述目标登录信息远程登录访问目标编译设备后,根据所述目标调试目录发送的调试指令。
例如,在接收到调试设备发送的“打开目标编译构建任务的日志文件”的调试指令的情况下,编译设备在目标调试目录下对目标编译构建任务执行该调试指令,即在调试目录下打开日志文件,获取日志文件的内容。
在本申请实施例中,通过在接收到调试设备发送的调试指令的情况下,在目标调试目录下对目标编译构建任务执行调试指令,以实现对目标编译构建任务的调试。
步骤203、将针对所述调试指令的执行结果发送至所述调试设备。
其中,通过将针对所述调试指令的执行结果发送至所述调试设备,以供所述调试设备获取并展示所述执行结果。
例如,在执行“打开目标编译构建任务的日志文件”的调试指令之后,在调试目录下打开日志文件,获取日志文件的内容,然后将日志文件的内容发送至调试设备。
在本申请实施例中,通过将针对调试指令的执行结果发送至调试设备,有利于通过调试设备将执行结果展示给工作人员,并根据执行结果对目标编译构建任务进行进一步地调试。
综上所述,在本申请实施例中,通过将至少一个编译构建任务的标识、与标识对应的编译设备的登录信息、标识对应的编译设备的调试目录的对应关系实时同步到调试设备的数据库,以供调试设备在获取目标编译构建任务的目标标识之后,响应于调试指令,从数据库中获取与目标标识对应的目标登录信息和目标调试目录;在接收到调试设备发送的调试指令的情况下,在目标调试目录下对目标编译构建任务执行调试指令,调试指令为调试设备在根据目标登录信息远程登录访问目标编译设备后,根据目标调试目录发送的调试指令;将针对调试指令的执行结果发送至调试设备,以供调试设备获取并展示执行结果。采用本申请实施例,无需人工远程登录访问执行编译构建任务的设备并手动进入调试目录,即可实现对执行失败的编译构建任务进行调试,提高了调试的效率,解决了在先技术中需要人工远程登录设备并手动执行调试,导致效率低下的问题。
图3是本申请实施例提供的一种分布式编译构建任务的调试方法的具体步骤流程图,在该方法中,所述调试设备与编译设备通信连接,所述编译设备用于对操作系统上应用软件的源码文件执行编译构建任务,获得操作系统上应用软件的可执行文件,如图3示,该方法可以包括:
步骤301、编译设备将至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录,以及三者之间的对应关系,实时同步到所述调试设备的数据库。
其中,通过将至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录,以及三者之间的对应关系实时同步到所述调试设备的数据库,以供所述调试设备在获取目标编译构建任务的目标标识之后,响应于调试指令,从所述数据库中获取与所述目标标识对应的目标登录信息和目标调试目录。
本步骤的实现方式与上述“步骤201”实现过程类似,此处不再赘述。
可选地,在一些实施例中,在步骤301之前,所述方法还包括如下步骤(步骤H):
步骤H、编译设备根据所述编译构建任务,创建所述编译构建任务的备份文件,并将所述备份文件存储至所述调试目录下。
需要说明的是,调试目录是与编译构建任务对应的编译设备的调试目录。
在本申请实施例中,编译设备将编译构建任务的备份文件存储至编译设备的调试目录下,作为调试设备发送调试指令并在目标调试目录下对目标编译构建任务的目标备份文件进行调试操作的基础。
步骤302、调试设备获取数据库。
其中,所述数据库中维护有至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息,以及与所述标识对应的编译设备的调试目录的对应关系。
本步骤的实现方式与上述“步骤101”实现过程类似,此处不再赘述。
可选地,在一些实施例中,在步骤302之前,所述方法还包括如下步骤(步骤F):
步骤F、调试设备响应于所述编译设备的注册请求,将所述编译设备的编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录,以及三者之间的对应关系,按照预设格式存储在所述数据库中。
需要说明的是,在编译设备执行编译构建任务之后,编译设备向调试设备发送注册请求,调试设备将编译设备发送的编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录,以及三者之间的对应关系存储在数据库中。
在本申请实施例中,数据库中的编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录,以及三者之间的对应关系是编译设备在执行编译构建任务之后注册存储在数据库中的,有利于为编译构建任务的调试提供所需的编译构建任务的标识、与标识对应的编译设备的登录信息,以及与标识对应的编译设备的调试目录。
可选地,在一些实施例中,所述数据库还包括:与所述标识对应的备份文件信息;所述备份文件信息用于表征所述编译设备在所述调试目录下存储的编译构建任务的备份文件的信息;在步骤302之后,所述方法还包括如下步骤(步骤G):
步骤G、调试设备响应于展示指令,从所述数据库中获取与所述目标标识对应的目标备份文件信息并展示。
具体地,如图4所示,在一些实施例中,通过工作人员点击目标编译构建任务的任务详情页面按钮,生成展示指令,响应于展示指令,从数据库中获取与目标标识对应的目标备份文件信息,并展示在任务详情页面上,例如展示目标编译构建任务A的二进制文件有a1、a2、a3,源码文件有a4、a5、a6,日志文件有a7。
在本申请实施例中,目标备份文件信息是工作人员对目标编译构建任务进行调试需要获知的信息,因此,通过响应于展示指令,从数据库中获取并展示目标备份文件信息,有利于工作人员对目标编译构建任务进行调试。
步骤303、调试设备响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录。
本步骤的实现方式与上述“步骤102”实现过程类似,此处不再赘述。
可选地,在一些实施例中,所述数据库还包括:与所述标识对应的文件状态信息,所述文件状态信息用于表征所述编译设备在所述调试目录下存储的编译构建任务的备份文件的状态;在步骤303之前,所述方法还包括以下步骤(步骤A、步骤B、步骤C):
步骤A、调试设备从所述数据库中获取与所述目标标识对应的目标文件状态信息。
需要说明的是,目标文件状态信息可以包括目标编译构建任务对应的操作系统上应用软件的源码文件、目标编译构建任务对应的操作系统上应用软件的二进制文件以及目标编译构建任务对应的日志文件的状态;数据库中与标识对应的文件状态信息是编译设备实时同步至数据库中的。
在本申请实施例中,目标文件状态信息是判断能否对目标编译构建任务进行调试的依据之一,因此,从数据库中获取与目标标识对应的目标文件状态信息,是在对目标编译构建任务进行调试之前对调试对象的状态校验,即对编译构建任务的备份文件的状态的校验,降低了调试故障的可能性。
步骤B、调试设备在所述目标文件状态信息为异常的情况下,进行第一故障告警。
其中,所述第一故障告警用于表征所述目标编译构建任务的备份文件异常。
可选地,在一些实施例中,备份文件包括编译构建任务对应的操作系统上应用软件的源码文件、该编译构建任务对应的操作系统上应用软件的二进制文件以及该编译构建任务对应的日志文件,所述目标文件状态信息为异常的情况可以包括备份文件中的源码文件、二进制文件、日志文件中的一个或多个文件状态异常,文件状态异常包括文件缺失、文件无内容、文件内容异常等。
具体地,在一些实施例中,进行第一故障告警的方式可以为在调试设备上的目标编译构建任务的任务详情页面上显示第一告警信息,此时任务详情页面上的调试按钮为无法点击的状态。
在本申请实施例中,在目标文件状态信息为异常的情况下,进行第一故障告警,可以有效告知工作人员调试对象的状态异常,无法对目标编译构建任务进行有效调试。
步骤C、调试设备在所述目标文件状态信息为正常的情况下,进入响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录的步骤。
具体地,在一些实施例中,在所述目标文件状态信息为正常的情况下,在调试设备上的目标编译构建任务的任务详情页面上展示的调试按钮为可以点击的状态。
在本申请实施例中,在所述目标文件状态信息为正常的情况下,具备对目标编译构建任务进行调试的条件,可以进入调试准备的步骤,即获取与目标编译设备进行连接所需的目标登录信息和在目标编译设备上进行调试所需的目标调试目录。
通过执行步骤A、步骤B、步骤C,可以实现在对目标编译构建任务进行调试之前的调试条件校验,有利于提高对目标编译构建任务进行调试的成功率。
可选地,在一些实施例中,所述数据库还包括:与所述标识对应的环境状态信息,所述环境状态信息用于表征在所述编译设备上对所述编译构建任务进行调试所需的根文件系统环境的状态;步骤C可以包括如下子步骤(子步骤C1、子步骤C2、子步骤C3):
子步骤C1、调试设备在所述目标文件状态信息为正常的情况下,从所述数据库中获取与所述目标标识对应的目标环境状态信息。
需要说明的是,数据库中与标识对应的环境状态信息是编译设备实时同步至数据库中的。
在本申请实施例中,在目标文件状态信息为正常的情况下,需要对目标编译构建任务进行调试的调试环境进行校验,目标环境状态信息是判断能否对目标编译构建任务进行调试的依据之一。因此,从数据库中获取与目标标识对应的目标环境状态信息,是在对目标编译构建任务进行调试之前的对调试环境的状态校验,即对目标编译构建任务进行调试所需的根文件系统环境的状态的校验,降低了调试故障的可能性。
子步骤C2、调试设备在所述目标环境状态信息为异常的情况下,进行第二故障告警。
其中,所述第二故障告警用于表征在所述目标编译设备上对所述目标编译构建任务进行调试所需的根文件系统环境异常。
可选地,在一些实施例中,目标环境状态信息为异常的情况包括根文件系统环境不支持执行调试指令、根文件系统环境损坏、根文件系统环境不匹配等。
具体地,在一些实施例中,进行第二故障告警的方式可以为在调试设备上的目标编译构建任务的任务详情页面上显示第二告警信息,此时任务详情页面上的调试按钮为无法点击的状态。
在本申请实施例中,在目标环境状态信息为异常的情况下,进行第二故障告警,可以有效告知工作人员调试环境的状态异常,无法对目标编译构建任务进行有效调试。
子步骤C3、调试设备在所述目标环境状态信息为正常的情况下,进入响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录的步骤。
通过执行子步骤C1、子步骤C2、子步骤C3,可以实现,在对目标编译构建任务进行调试之前,不仅对调试对象进行校验,同时还对调试环境进行校验,进一步提高对目标编译构建任务进行调试的成功率。
可选地,在一些实施例中,所述数据库还包括:与所述标识对应的任务结果信息;所述任务结果信息用于表征在所述编译设备上执行所述编译构建任务的结果;在步骤303之前,所述方法还包括以下步骤(步骤D、步骤E):
步骤D、调试设备从所述数据库中获取与所述目标标识对应的目标任务结果信息。
需要说明的是,数据库中与所述标识对应的任务结果信息是编译设备实时同步至数据库中的。
在本申请实施例中,任务结果信息是判断是否需要对目标编译构建任务进行调试的依据,因此,从数据库中获取与目标标识对应的目标任务结果信息,是在对目标编译构建任务进行调试之前的调试必要性的判断,提高了工作人员调试的效率。
步骤E、调试设备在所述目标任务结果信息为失败的情况下,生成所述调试指令。
具体地,在一些实施例中,通过工作人员在任务详情页面上点击调试按钮生成调试指令;在另一些实施例中,自动生成调试指令。
在本申请实施例中,在目标任务结果信息为失败的情况下,需要对目标编译构建任务进行调试,因此,生成调试指令,以对目标编译构建任务的备份文件进行调试操作,提高了工作人员调试的效率。
通过执行步骤D、步骤E,可以实现在对目标编译构建任务进行调试之前的调试必要性的判断,有利于提高对目标编译构建任务进行调试的效率。
步骤304、调试设备在根据所述目标登录信息远程登录访问目标编译设备后,根据所述目标调试目录,向所述目标编译设备发送调试指令。
其中,所述调试指令用以供所述目标编译设备在所述目标调试目录下针对所述目标编译构建任务执行所述调试指令。
本步骤的实现方式与上述“步骤103”实现过程类似,此处不再赘述。
可选地,在一些实施例中,所述登录信息包括所述编译设备的登录账户信息、所述编译设备的互联网协议地址,以及与所述编译设备对应的远程登录工具的类型信息;所述根据所述目标登录信息远程登录访问目标编译设备的步骤,包括如下步骤(步骤F)
步骤F、调试设备根据所述目标登录信息中的目标远程登录工具的类型信息,调用所述目标远程登录工具,并采用所述目标登录信息中的目标互联网协议地址和目标登录账户信息,远程登录访问所述目标编译设备。
需要说明的是,登录账户信息即登录编译设备的账号、密码等认证信息,互联网协议地址即识别设备并连接编译设备的依据,远程登录工具即与编译设备匹配的用于远程登录编译设备的工具。例如,在目标编译设备是采用k8s方式部署的虚拟机的情况下,调用kubernetes远程登录工具登录目标编译设备;在目标编译设备是采用物理机部署的物理机的情况下,调用paramiko(一种远程登录物理机的工具名称)远程登录工具登录目标编译设备;在目标编译设备是采用docker部署的虚拟机的情况下,调用pydocker(一种远程登录docker部署的虚拟机的工具名称)远程登录工具登录目标编译设。
在本申请实施例中,自动调用与目标编译设备匹配的目标远程登录工具,根据目标编译设备的目标互联网协议地址找到目标编译设备,采用与目标编译设备匹配的目标登录账户信息,远程登录目标编译设备,以对目标编译构建任务进行调试。
步骤305、编译设备在接收到所述调试设备发送的调试指令的情况下,在所述目标调试目录下对所述目标编译构建任务执行所述调试指令。
其中,所述调试指令为所述调试设备在根据所述目标登录信息远程登录访问目标编译设备后,根据所述目标调试目录发送的调试指令。
本步骤的实现方式与上述“步骤202”实现过程类似,此处不再赘述。
可选地,在一些实施例中,步骤305包括如下子步骤(子步骤3051)
子步骤3051、编译设备在接收到所述调试指令的情况下,对所述目标编译构建任务执行所述调试指令,从而对所述目标调试目录下的目标备份文件进行调试操作。
在本申请实施例中,对目标编译构建任务进行调试,即对目标调试目录下的目标备份文件进行调试操作,从而达到对目标编译构建任务的调试目的。
步骤306、编译设备将针对所述调试指令的执行结果发送至所述调试设备。
其中,通过将针对所述调试指令的执行结果发送至所述调试设备,以供所述调试设备获取并展示所述执行结果。
本步骤的实现方式与上述“步骤203”实现过程类似,此处不再赘述。
步骤307、调试设备获取所述目标编译设备针对所述调试指令的执行结果并展示。
本步骤的实现方式与上述“步骤104”实现过程类似,此处不再赘述。
可选地,如图6所示,在一些实施例中,上述的分布式编译构建任务的调试方法对应的系统包括:(1)管理分析中心服务:即webconsole服务,是在线调试页面的后端服务,用于对前端页面提供websocket协议(基于TCP的全双工通信协议,TCP即TransmissionControl Protocol,传输控制协议)接口,并远程登录编译构建机(即编译设备),进入备份的编译构建所需的根文件系统环境执行相关调试指令,并将调试指令执行结果实时返回给前端的在线调试页面,达到工作人员远程在根文件系统环境中调试的目的;(2)编译构建平台:对外提供http API(http即Hyper Text Transfer Protocol,超文本传输协议;API即Application Programming Interface,应用程序编程接口),用来维护数据库中编译构建任务相关的数据,例如webconsole服务可通过http请求,通过编译构建平台从数据库中获取编译构建任务的标识及编译设备的登录信息;(3)编译构建机(即编译设备)是具体执行编译构建任务的客户端,在编译构建任务执行后,将chroot(Change Root,改变程序执行时所参考的根目录位置)环境,即根文件系统环境进行备份。
可选地,如图7所示,在一些实施例中,上述的分布式编译构建任务的调试方法对应的系统的工作过程如下:Q1、注册登录信息,即编译构建机(编译构建设备)向编译构建平台注册登录信息;Q2、任务执行,即编译构建机执行编译构建任务;Q3、环境备份,即编译构建机将编译构建任务所需的根文件系统环境进行备份;Q4、记录任务的标识(编译构建任务的标识)、备份信息(备份文件的状态)、调试目录,即编译构建平台从编译构建机中获取编译构建任务的标识、备份文件的状态、调试目录;Q5、请求读取任务的标识、备份信息,据此判断控制按钮(调试按钮)是否可以点击,即前端页面向编译构建平台获取编译构建任务的标识、备份文件的状态,据此判断调试按钮是否可以点击,在备份文件的状态为正常的情况下,调试按钮可以点击,在备份文件的状态为异常的情况下,调试按钮无法点击;Q6、返回任务信息(任务的标识等信息),即编译构建平台向前端页面返回任务的标识等信息;Q7、点击按钮进入在线调试页面,即工作人员点击调试按钮,从前端页面上进入在线调试页面;Q8、请求连接,即前端页面向管理分析中心服务请求连接编译构建机;Q9、请求获取备份信息,即管理分析中心服务向编译构建平台请求获取备份信息;Q10、返回备份信息,即编译构建平台向管理分析中心服务返回备份信息;Q11、备份状态异常提示,即在备份文件的状态异常的情况下,管理分析中心服务向前端页面提示备份文件的状态异常;Q12、判断备份状态为成功状态,即管理分析中心服务判断备份文件的状态为成功;Q13、读取登录信息,即管理分析中心服务向编译构建平台读取登录信息;Q14、返回登录信息,即编译构建平台向管理分析中心服务返回登录信息;Q15、管理分析中心服务根据记录的登录信息,选择使用对应的远程登录工具,进入根文件系统环境;Q16、输入字符,即工作人员向前端页面输入调试命令的字符;Q17、实时传送字符,即前端页面向管理分析中心服务实时传送字符;Q18、实时传送字符,即管理分析中心服务向根文件系统环境实时传送字符;Q19、返回调试指令执行结果,即根文件系统环境向管理分析中心服务返回调试指令的执行结果;Q20、将执行结果返回前端页面,即管理分析中心服务将调试指令的执行结果返回前端页面。可选地,如图8所示,在一些实施例中,编译构建机注册登录信息的步骤如下:X1、编译构建机启动;X2、读取配置文件,即编译构建机从配置文件中读取登录信息;X3、将登录信息注册到编译构建平台。
可选地,如图9所示,在一些实施例中,编译构建机备份编译构建任务所需的根文件系统环境的步骤如下:Y1、在编译构建任务执行完成后,创建异步进程,执行备份操作(备份编译构建任务所需的根文件系统环境);Y2、如果备份失败,直接清理环境(删除编译构建任务所需的根文件系统环境);Y3、如果备份成功,检查编译构建环境(编译构建任务所需的根文件系统环境)是否可用;Y4、请求编译构建平台接口,保存备份信息、调试路径。
可选地,如图10所示,在一些实施例中,进入编译构建环境的步骤如下:Z1、请求编译构建平台,读取任务的标识,即管理分析中心服务请求编译构建平台,获取编译构建任务的标识;Z2、备份状态判断;Z3、在备份状态判断成功时,进行环境可用性判断,即在备份文件的状态为正常的情况下,进行根文件系统环境的状态的判断;Z4、在环境可用性判断成功时,请求编译构建平台,获取任务的标识,即管理分析中心服务请求编译构建平台,获取编译构建任务的标识;Z5、请求编译构建平台,获取登录信息,即管理分析中心服务请求编译构建平台,获取登录信息;Z6、使用相应工具远程登录编译构建机,即使用与编译设备对应的远程登录工具远程登录编译设备,进入编译构建环境;Z7、在备份状态判断失败时,返回提示,即在备份文件的状态为异常的情况下,向在线终端(在线调试页面)返回提示信息,用以提示备份文件的状态异常;Z8、在环境可用性判断失败时,返回不可用提示,即如果编译构建任务所需的根文件系统环境异常,向在线终端(在线调试页面)返回不可用提示,用以提示编译构建任务所需的根文件系统环境不可用。
综上所述,在本申请实施例中,通过访问数据库可以获取到与目标编译构建任务的目标标识对应的目标登录信息和目标调试目录;然后根据目标登录信息远程登录访问目标编译设备;再根据目标调试目录,向目标编译设备发送调试指令,以供目标编译设备在目标调试目录下针对目标编译构建任务执行调试指令;最后展示调试指令的执行结果。采用本申请实施例的方法,无需人工远程登录访问执行编译构建任务的设备并手动进入调试目录,即可实现对执行失败的编译构建任务进行调试,提高了调试的效率,解决了在先技术中需要人工远程登录设备并手动执行调试,而导致效率低下的问题。
图11是本申请实施例提供的一种应用于调试设备的分布式编译构建任务的调试装置的框图,应用于调试设备,所述调试设备与编译设备通信连接,所述编译设备用于对操作系统上应用软件的源码文件执行编译构建任务,获得操作系统上应用软件的可执行文件,该装置包括:
第一获取模块401,用于获取数据库,所述数据库中维护有至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录,以及三者之间的对应关系;
第二获取模块402,用于响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录;
第一发送模块403,用于在根据所述目标登录信息远程登录访问目标编译设备后,根据所述目标调试目录,向所述目标编译设备发送调试指令,以供所述目标编译设备在所述目标调试目录下针对所述目标编译构建任务执行所述调试指令;
展示模块404,用于获取所述目标编译设备针对所述调试指令的执行结果并展示。
可选地,所述数据库还包括:与所述标识对应的文件状态信息,所述文件状态信息用于表征所述编译设备在所述调试目录下存储的编译构建任务的备份文件的状态;所述装置还包括:
第三获取模块,用于从所述数据库中获取与所述目标标识对应的目标文件状态信息;
告警模块,用于在所述目标文件状态信息为异常的情况下,进行第一故障告警,所述第一故障告警用于表征所述目标编译构建任务的备份文件异常;
执行模块,用于在所述目标文件状态信息为正常的情况下,进入响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录的步骤。
可选地,所述数据库还包括:与所述标识对应的环境状态信息,所述环境状态信息用于表征在所述编译设备上对所述编译构建任务进行调试所需的根文件系统环境的状态;执行模块,具体包括:
获取子模块,用于在所述目标文件状态信息为正常的情况下,从所述数据库中获取与所述目标标识对应的目标环境状态信息;
告警子模块,用于在所述目标环境状态信息为异常的情况下,进行第二故障告警;所述第二故障告警用于表征在所述目标编译设备上对所述目标编译构建任务进行调试所需的根文件系统环境异常;
执行子模块,用于在所述目标环境状态信息为正常的情况下,进入响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录的步骤。
可选地,所述数据库还包括:与所述标识对应的任务结果信息;所述任务结果信息用于表征在所述编译设备上执行所述编译构建任务的结果;所述装置还包括:
第四获取模块,用于从所述数据库中获取与所述目标标识对应的目标任务结果信息;
生成模块,用于在所述目标任务结果信息为失败的情况下,生成所述调试指令。
可选地,所述登录信息包括所述编译设备的登录账户信息、所述编译设备的互联网协议地址,以及与所述编译设备对应的远程登录工具的类型信息;所述装置还包括:
登录模块,用于根据所述目标登录信息中的目标远程登录工具的类型信息,调用所述目标远程登录工具,并采用所述目标登录信息中的目标互联网协议地址和目标登录账户信息,远程登录访问所述目标编译设备。
可选地,所述装置还包括:
存储模块,用于响应于所述编译设备的注册请求,将所述编译设备的编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录,以及三者之间的对应关系,按照预设格式存储在所述数据库中。
可选地,所述数据库还包括:与所述标识对应的备份文件信息;所述备份文件信息用于表征所述编译设备在所述调试目录下存储的编译构建任务的备份文件的信息;所述装置还包括:
备份文件信息展示模块,用于响应于展示指令,从所述数据库中获取与所述目标标识对应的目标备份文件信息并展示。
综上所述,在本申请实施例中,通过访问数据库可以获取到与目标编译构建任务的目标标识对应的目标登录信息和目标调试目录;然后根据目标登录信息远程登录访问目标编译设备;再根据目标调试目录,向目标编译设备发送调试指令,以供目标编译设备在目标调试目录下针对目标编译构建任务执行调试指令;最后展示调试指令的执行结果。采用本申请实施例的方法,无需人工远程登录访问执行编译构建任务的设备并手动进入调试目录,即可实现对执行失败的编译构建任务进行调试,提高了调试的效率,解决了在先技术中需要人工远程登录设备并手动执行调试,而导致效率低下的问题。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图12是本申请实施例提供的一种应用于编译设备的分布式编译构建任务的调试装置的框图,应用于编译设备,所述编译设备与调试设备通信连接,所述编译设备用于对操作系统上应用软件的源码文件执行编译构建任务,获得操作系统上应用软件的可执行文件,该装置包括:
实时同步模块501,用于将至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录,以及三者之间的对应关系实时同步到所述调试设备的数据库,以供所述调试设备在获取目标编译构建任务的目标标识之后,响应于调试指令,从所述数据库中获取与所述目标标识对应的目标登录信息和目标调试目录;
指令执行模块502,用于在接收到所述调试设备发送的调试指令的情况下,在所述目标调试目录下对所述目标编译构建任务执行所述调试指令,所述调试指令为所述调试设备在根据所述目标登录信息远程登录访问目标编译设备后,根据所述目标调试目录发送的调试指令;
第二发送模块503,用于将针对所述调试指令的执行结果发送至所述调试设备,以供所述调试设备获取并展示所述执行结果。
可选地,所述装置还包括:
创建模块,用于根据所述编译构建任务,创建所述编译构建任务的备份文件,并将所述备份文件存储至所述调试目录下。
可选地,指令执行模块502,具体用于在接收到所述调试指令的情况下,对所述目标编译构建任务执行所述调试指令,从而对所述目标调试目录下的目标备份文件进行调试操作。
综上所述,在本申请实施例中,通过访问数据库可以获取到与目标编译构建任务的目标标识对应的目标登录信息和目标调试目录;然后根据目标登录信息远程登录访问目标编译设备;再根据目标调试目录,向目标编译设备发送调试指令,以供目标编译设备在目标调试目录下针对目标编译构建任务执行调试指令;最后展示调试指令的执行结果。采用本申请实施例的方法,无需人工远程登录访问执行编译构建任务的设备并手动进入调试目录,即可实现对执行失败的编译构建任务进行调试,提高了调试的效率,解决了在先技术中需要人工远程登录设备并手动执行调试,而导致效率低下的问题。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供了一种分布式编译构建任务的调试装置,包括有存储器,以及一个以上的程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序包含用于进行上述一个或多个实施例中所述的方法。
图13是根据一示例性实施例示出的一种分布式编译构建任务的调试装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图13,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/ O)的接口812,传感器组件814,以及通信组件816。处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/ O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以搜索装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图14是本申请的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行上述实施例方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行上述实施例方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行上述实施例方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
以上对本申请所提供的一种分布式编译构建任务的调试方法、装置、电子设备及计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种分布式编译构建任务的调试方法,应用于调试设备,所述调试设备与编译设备通信连接,所述编译设备用于对操作系统上应用软件的源码文件执行编译构建任务,获得操作系统上应用软件的可执行文件,其特征在于,所述方法包括:
获取数据库,所述数据库中维护有至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录、以及三者之间的对应关系;
响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录;所述目标编译构建任务为目标编译设备执行编译构建任务时执行失败的任务;
在根据所述目标登录信息远程登录访问所述目标编译设备后,根据所述目标调试目录,向所述目标编译设备发送调试指令,以供所述目标编译设备在所述目标调试目录下针对所述目标编译构建任务执行所述调试指令;
获取所述目标编译设备针对所述调试指令的执行结果并展示。
2.根据权利要求1所述的方法,其特征在于,所述数据库还包括:与所述标识对应的文件状态信息,所述文件状态信息用于表征所述编译设备在所述调试目录下存储的编译构建任务的备份文件的状态;
在所述响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录之前,所述方法还包括:
从所述数据库中获取与所述目标标识对应的目标文件状态信息;
在所述目标文件状态信息为异常的情况下,进行第一故障告警,所述第一故障告警用于表征所述目标编译构建任务的备份文件异常;
在所述目标文件状态信息为正常的情况下,进入响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录的步骤。
3.根据权利要求2所述的方法,其特征在于,所述数据库还包括:与所述标识对应的环境状态信息,所述环境状态信息用于表征在所述编译设备上对所述编译构建任务进行调试所需的根文件系统环境的状态;
所述在所述目标文件状态信息为正常的情况下,进入响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录的步骤,包括:
在所述目标文件状态信息为正常的情况下,从所述数据库中获取与所述目标标识对应的目标环境状态信息;
在所述目标环境状态信息为异常的情况下,进行第二故障告警;所述第二故障告警用于表征在所述目标编译设备上对所述目标编译构建任务进行调试所需的根文件系统环境异常;
在所述目标环境状态信息为正常的情况下,进入响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录的步骤。
4.根据权利要求1所述的方法,其特征在于,所述数据库还包括:与所述标识对应的任务结果信息;所述任务结果信息用于表征在所述编译设备上执行所述编译构建任务的结果;
在所述响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录之前,所述方法还包括:
从所述数据库中获取与所述目标标识对应的目标任务结果信息;
在所述目标任务结果信息为失败的情况下,生成所述调试指令。
5.根据权利要求1所述的方法,其特征在于,所述登录信息包括所述编译设备的登录账户信息、所述编译设备的互联网协议地址、以及与所述编译设备对应的远程登录工具的类型信息;
所述根据所述目标登录信息远程登录访问目标编译设备的步骤,包括:
根据所述目标登录信息中的目标远程登录工具的类型信息,调用所述目标远程登录工具,并采用所述目标登录信息中的目标互联网协议地址和目标登录账户信息,远程登录访问所述目标编译设备。
6.根据权利要求1所述的方法,其特征在于,在所述获取数据库之前,所述方法还包括:
响应于所述编译设备的注册请求,将所述编译设备的编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录、以及三者之间的对应关系,按照预设格式存储在所述数据库中。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述数据库还包括:与所述标识对应的备份文件信息;所述备份文件信息用于表征所述编译设备在所述调试目录下存储的编译构建任务的备份文件的信息;
在所述获取数据库之后,所述方法还包括:
响应于展示指令,从所述数据库中获取与所述目标标识对应的目标备份文件信息并展示。
8.一种分布式编译构建任务的调试方法,应用于编译设备,所述编译设备与调试设备通信连接,所述编译设备用于对操作系统上应用软件的源码文件执行编译构建任务,获得操作系统上应用软件的可执行文件,其特征在于,所述方法包括:
将至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录、以及三者之间的对应关系实时同步到所述调试设备的数据库,以供所述调试设备在获取目标编译构建任务的目标标识之后,响应于调试指令,从所述数据库中获取与所述目标标识对应的目标登录信息和目标调试目录;所述目标编译构建任务为目标编译设备执行编译构建任务时执行失败的任务;
在接收到所述调试设备发送的调试指令的情况下,在所述目标调试目录下对所述目标编译构建任务执行所述调试指令,所述调试指令为所述调试设备在根据所述目标登录信息远程登录访问所述目标编译设备后,根据所述目标调试目录发送的调试指令;
将针对所述调试指令的执行结果发送至所述调试设备,以供所述调试设备获取并展示所述执行结果。
9.根据权利要求8所述的方法,其特征在于,在所述将至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录、以及三者之间的对应关系实时同步到所述调试设备的数据库之前,所述方法还包括:
根据所述编译构建任务,创建所述编译构建任务的备份文件,并将所述备份文件存储至所述调试目录下;
所述在接收到所述调试设备发送的调试指令的情况下,在所述目标调试目录下对所述目标编译构建任务执行所述调试指令,包括:
在接收到所述调试指令的情况下,对所述目标编译构建任务执行所述调试指令,从而对所述目标调试目录下的目标备份文件进行调试操作。
10.一种分布式编译构建任务的调试装置,应用于调试设备,所述调试设备与编译设备通信连接,所述编译设备用于对操作系统上应用软件的源码文件执行编译构建任务,获得操作系统上应用软件的可执行文件,其特征在于,所述装置包括:
第一获取模块,用于获取数据库,所述数据库中维护有至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录、以及三者之间的对应关系;
第二获取模块,用于响应于针对目标编译构建任务的调试指令,从所述数据库中获取与所述目标编译构建任务的目标标识对应的目标登录信息和目标调试目录;所述目标编译构建任务为目标编译设备执行编译构建任务时执行失败的任务;
第一发送模块,用于在根据所述目标登录信息远程登录访问所述目标编译设备后,根据所述目标调试目录,向所述目标编译设备发送调试指令,以供所述目标编译设备在所述目标调试目录下针对所述目标编译构建任务执行所述调试指令;
展示模块,用于获取所述目标编译设备针对所述调试指令的执行结果并展示。
11.一种分布式编译构建任务的调试装置,应用于编译设备,所述编译设备与调试设备通信连接,所述编译设备用于对操作系统上应用软件的源码文件执行编译构建任务,获得操作系统上应用软件的可执行文件,其特征在于,所述装置包括:
实时同步模块,用于将至少一个所述编译构建任务的标识、与所述标识对应的编译设备的登录信息、与所述标识对应的编译设备的调试目录、以及三者之间的对应关系实时同步到所述调试设备的数据库,以供所述调试设备在获取目标编译构建任务的目标标识之后,响应于调试指令,从所述数据库中获取与所述目标标识对应的目标登录信息和目标调试目录;所述目标编译构建任务为目标编译设备执行编译构建任务时执行失败的任务;
指令执行模块,用于在接收到所述调试设备发送的调试指令的情况下,在所述目标调试目录下对所述目标编译构建任务执行所述调试指令,所述调试指令为所述调试设备在根据所述目标登录信息远程登录访问所述目标编译设备后,根据所述目标调试目录发送的调试指令;
第二发送模块,用于将针对所述调试指令的执行结果发送至所述调试设备,以供所述调试设备获取并展示所述执行结果。
12.一种电子设备,其特征在于,包括:处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至9中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310208657.6A CN116069668B (zh) | 2023-03-07 | 2023-03-07 | 分布式编译构建任务的调试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310208657.6A CN116069668B (zh) | 2023-03-07 | 2023-03-07 | 分布式编译构建任务的调试方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116069668A CN116069668A (zh) | 2023-05-05 |
CN116069668B true CN116069668B (zh) | 2023-06-09 |
Family
ID=86176960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310208657.6A Active CN116069668B (zh) | 2023-03-07 | 2023-03-07 | 分布式编译构建任务的调试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116069668B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100442234C (zh) * | 2005-06-21 | 2008-12-10 | 国际商业机器公司 | 用于嵌入式系统的软件包构建方法和系统 |
CN109542463A (zh) * | 2018-10-26 | 2019-03-29 | 深圳壹账通智能科技有限公司 | 编译文件包发送方法、装置、计算机设备及存储介质 |
CN109828915B (zh) * | 2018-12-29 | 2022-04-01 | 北京小米移动软件有限公司 | 一种调试应用程序的方法、装置、设备和存储介质 |
US10908892B2 (en) * | 2019-03-12 | 2021-02-02 | International Business Machines Corporation | Generating and deploying object code files compiled on build machines |
CN112783748B (zh) * | 2019-11-06 | 2024-02-20 | 腾讯科技(深圳)有限公司 | 程序调试方法、装置、设备及计算机可读存储介质 |
CN111949529B (zh) * | 2020-08-06 | 2024-03-22 | 曙光信息产业(北京)有限公司 | 系统调试方法、装置、计算机设备和存储介质 |
-
2023
- 2023-03-07 CN CN202310208657.6A patent/CN116069668B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN116069668A (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11487503B2 (en) | Interactive control method and device for voice and video communications | |
CN110858173B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN105607926A (zh) | 应用图标的更新方法及装置、电子设备和服务器 | |
CN104079964B (zh) | 传输视频信息的方法及装置 | |
CN115185717B (zh) | 接口调用方法、装置、电子设备和存储介质 | |
CN113596175A (zh) | 场景同步方法、终端、服务器及系统 | |
CN114217803A (zh) | 页面功能问题处理方法、装置及电子设备 | |
CN113709235A (zh) | 设备注册方法及装置、电子设备和存储介质 | |
CN113377664A (zh) | 模型测试方法及装置、电子设备和存储介质 | |
CN116069668B (zh) | 分布式编译构建任务的调试方法、装置、设备及存储介质 | |
CN112416751A (zh) | 接口自动化测试的处理方法、装置及存储介质 | |
CN109976872B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN107368278B (zh) | 信息处理方法及装置 | |
CN114896165A (zh) | 会话机器人系统的测试方法、装置、电子设备和存储介质 | |
CN110874143B (zh) | 传感器数据获取方法、智能终端、存储介质及电子设备 | |
CN112446366A (zh) | 一种图像翻译评测方法、装置和用于图像翻译评测的装置 | |
CN111866098B (zh) | 一种日志处理方法、装置及存储介质 | |
CN111538544B (zh) | 配置数据的显示方法、装置、电子设备及存储介质 | |
CN110687897A (zh) | 故障排除方法、故障排除装置及故障排除系统 | |
CN114443161B (zh) | 一种应用对接方法、装置、设备及存储介质 | |
CN108173846B (zh) | 登录方法及装置 | |
CN115333877B (zh) | 信息处理方法、装置、终端和存储介质 | |
CN118035363A (zh) | 核电站文档关联方法及装置 | |
CN117112416A (zh) | 基于挡板的接口测试、装置、设备及存储介质 | |
CN116244358A (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 |