基于编译集群的代码编译方法、装置、设备及存储介质制造方法及图纸

技术编号:35546982 阅读:21 留言:0更新日期:2022-11-12 15:25
本发明专利技术属于计算机软件技术领域,公开了一种基于编译集群的代码编译方法、装置、设备及存储介质。本发明专利技术通过接收客户端控制器发送的代码编译任务,将代码编译任务分发至编译集群中的编译节点,以使编译节点进行代码编译;接收编译节点反馈的已编译代码,并获取代码编译任务对应的文件接收路径;通过文件接收路径将已编译代码发送至代码编译任务对应的客户端控制器。由于本发明专利技术并非采用单台电脑执行代码编译任务,而是将代码编译任务分发至编译集群中的编译节点进行代码编译,再将编译完成的已编译代码发送至客户端控制器,而编译集群相对单台电脑更容易进行扩容,性能更容易提升,可以有效缩短代码编译的编译时间,更利于进行软件开发及测试。件开发及测试。件开发及测试。

【技术实现步骤摘要】
基于编译集群的代码编译方法、装置、设备及存储介质


[0001]本专利技术涉及计算机软件
,尤其涉及一种基于编译集群的代码编译方法、装置、设备及存储介质。

技术介绍

[0002]在计算机软件领域,过去开发的软件项目一般不会太大,代码量不会太多,代码编译一般都是在单台电脑上进行,然而,目前的软件项目,随着功能日趋完善,新功能、新特性的不断引入,导致代码量不断增加,软件项目逐步变大,导致编译时间的不断增加,严重影响了软件开发、测试的进度。
[0003]上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

[0004]本专利技术的主要目的在于提供一种基于编译集群的代码编译方法、装置、设备及存储介质,旨在解决现有技术软件代码编译时间过长的技术问题。
[0005]为实现上述目的,本专利技术提供了一种基于编译集群的代码编译方法,所述方法包括以下步骤:
[0006]接收客户端控制器发送的代码编译任务,将所述代码编译任务分发至编译集群中的编译节点,以使所述编译节点进行代码编译;
[0007]接收所述编译节点反馈的已编译代码,并获取所述代码编译任务对应的文件接收路径;
[0008]通过所述文件接收路径将所述已编译代码发送至所述代码编译任务对应的客户端控制器。
[0009]可选的,所述接收客户端控制器发送的代码编译任务的步骤,包括:
[0010]接收各个客户端控制器发送的待执行任务,并获取各个待执行任务对应的任务识别码;r/>[0011]基于所述任务识别码对所述待执行任务进行去重处理,以获得代码编译任务。
[0012]可选的,所述接收各个客户端控制器发送的待执行任务的步骤,包括:
[0013]接收各个客户端控制器发送的待编译代码、编译命令、环境变量及文件接收路径;
[0014]根据所述环境变量及各个客户端控制器的环境信息确定所述待编译代码对应的编译环境;
[0015]基于所述编译环境,将所述环境变量转化为集群环境变量,将所述编译命令转化为集群编译命令;
[0016]根据所述待编译代码、所述集群环境变量、所述集群编译命令及所述文件接收路径生成待执行任务。
[0017]可选的,所述根据所述环境变量及各个客户端控制器的环境信息确定所述待编译
代码对应的编译环境的步骤之前,还包括:
[0018]获取各个客户端控制器发送的安全校验数据;
[0019]根据所述安全校验数据对所述待编译代码、所述环境变量及所述文件接收路径进行安全校验;
[0020]在安全校验通过时,执行根据所述环境变量及各个客户端控制器的环境信息确定所述待编译代码对应的编译环境的步骤。
[0021]可选的,所述根据所述安全校验数据对所述待编译代码、所述环境变量及所述文件接收路径进行安全校验的步骤,包括:
[0022]获取所述待编译代码对应的代码哈希值,获取所述编译命令对应的命令哈希值,获取所述环境变量对应的变量哈希值,获取所述文件接收路径的路径哈希值;
[0023]将所述代码哈希值、所述命令哈希值、所述变量哈希值及所述路径哈希值以预设组合规则进行组合,以获得组合哈希值;
[0024]对所述组合哈希值进行哈希编码,以获得安全验证数据;
[0025]在所述安全验证数据及所述安全校验数据一致时,判定安全校验通过;
[0026]在所述安全验证数据及所述安全校验数据不一致时,判定安全校验未通过。
[0027]可选的,所述将所述代码编译任务分发至编译集群中的编译节点,以使所述编译节点进行代码编译的步骤,包括:
[0028]获取任务缓存队列的队列信息,根据所述队列信息确定所述任务缓存队列中是否存在代码编译任务;
[0029]在所述任务缓存队列中不存在代码编译任务时,获取编译集群中各编译节点的任务执行信息;
[0030]基于所述任务执行信息将所述代码编译任务分发至编译集群中的编译节点,以使所述编译节点进行代码编译。
[0031]可选的,所述获取任务缓存队列的队列信息,根据所述队列信息确定所述任务缓存队列中是否存在代码编译任务的步骤之后,还包括:
[0032]在所述任务缓存队列中存在代码编译任务时,将所述代码编译任务添加至所述任务缓存队列中。
[0033]可选的,所述基于所述任务执行信息将所述代码编译任务分发至编译集群中的编译节点,以使所述编译节点进行代码编译的步骤,包括:
[0034]根据所述任务执行信息确定所述编译集群中是否存在空闲编译节点;
[0035]在所述编译集群中存在空闲编译节点时,将所述编译集群中的空闲编译节点作为目标编译节点,将所述代码编译任务分发至所述目标编译节点,以使所述目标编译节点进行代码编译。
[0036]可选的,所述根据所述任务执行信息确定所述编译集群中是否存在空闲编译节点的步骤之后,还包括:
[0037]在所述编译集群中不存在空闲编译节点时,获取各编译节点对应的任务等待队列中的任务数量;
[0038]在存在所述任务数量低于预设数量的任务等待队列时,将所述任务数量低于所述预设数量的任务等待队列对应的编译节点作为目标编译节点,将所述代码编译任务分发至
所述目标编译节点,以使所述目标编译节点进行代码编译。
[0039]可选的,所述在所述编译集群中不存在空闲编译节点时,获取各编译节点对应的任务等待队列中的任务数量的步骤之后,还包括:
[0040]在不存在所述任务数量低于所述预设数量的任务等待队列时,将所述代码编译任务添加至所述任务缓存队列中。
[0041]可选的,所述通过所述文件接收路径将所述已编译代码发送至所述代码编译任务对应的客户端控制器的步骤,包括:
[0042]获取所述代码编译任务对应的客户端控制器的网络地址;
[0043]根据所述网络地址及所述文件接收路径构建文件传输路径;
[0044]基于所述文件传输路径及所述已编译代码生成代码传输请求,将所述代码传输请求发送至所述代码编译任务对应的客户端控制器。
[0045]可选的,所述通过所述文件接收路径将所述已编译代码发送至所述代码编译任务对应的客户端控制器的步骤之后,还包括:
[0046]获取通过所述文件接收路径将所述已编译代码发送至所述代码编译任务对应的客户端控制器的数据传输结果;
[0047]根据所述代码编译任务、所述已编译代码及所述数据传输结果构建代码编译记录,将所述代码编译记录存储至预设存储空间。
[0048]此外,为实现上述目的,本专利技术还提出一种基于编译集群的代码编译装置,所述基于编译集群的代码编译装置包括以下模块:
[0049]任务接收模块,用于接收客户端控制器发送的代码编译任务,将所述代码编译任务分发至编译集群中的编译节点,以使所述编译节点进行代码编译;
[0050]代码接收模块,用于接收所述编译节点反馈的已编译代码,并获取本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于编译集群的代码编译方法,其特征在于,所述基于编译集群的代码编译方法包括以下步骤:接收客户端控制器发送的代码编译任务,将所述代码编译任务分发至编译集群中的编译节点,以使所述编译节点进行代码编译;接收所述编译节点反馈的已编译代码,并获取所述代码编译任务对应的文件接收路径;通过所述文件接收路径将所述已编译代码发送至所述代码编译任务对应的客户端控制器。2.如权利要求1所述的基于编译集群的代码编译方法,其特征在于,所述接收客户端控制器发送的代码编译任务的步骤,包括:接收各个客户端控制器发送的待执行任务,并获取各个待执行任务对应的任务识别码;基于所述任务识别码对所述待执行任务进行去重处理,以获得代码编译任务。3.如权利要求2所述的基于编译集群的代码编译方法,其特征在于,所述接收各个客户端控制器发送的待执行任务的步骤,包括:接收各个客户端控制器发送的待编译代码、编译命令、环境变量及文件接收路径;根据所述环境变量及各个客户端控制器的环境信息确定所述待编译代码对应的编译环境;基于所述编译环境,将所述环境变量转化为集群环境变量,将所述编译命令转化为集群编译命令;根据所述待编译代码、所述集群环境变量、所述集群编译命令及所述文件接收路径生成待执行任务。4.如权利要求3所述的基于编译集群的代码编译方法,其特征在于,所述根据所述环境变量及各个客户端控制器的环境信息确定所述待编译代码对应的编译环境的步骤之前,还包括:获取各个客户端控制器发送的安全校验数据;根据所述安全校验数据对所述待编译代码、所述环境变量及所述文件接收路径进行安全校验;在安全校验通过时,执行根据所述环境变量及各个客户端控制器的环境信息确定所述待编译代码对应的编译环境的步骤。5.如权利要求4所述的基于编译集群的代码编译方法,其特征在于,所述根据所述安全校验数据对所述待编译代码、所述环境变量及所述文件接收路径进行安全校验的步骤,包括:获取所述待编译代码对应的代码哈希值,获取所述编译命令对应的命令哈希值,获取所述环境变量对应的变量哈希值,获取所述文件接收路径的路径哈希值;将所述代码哈希值、所述命令哈希值、所述变量哈希值及所述路径哈希值以预设组合规则进行组合,以获得组合哈...

【专利技术属性】
技术研发人员:韩子双尹青建
申请(专利权)人:北京鸿享技术服务有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1