编程方法及相关装置制造方法及图纸

技术编号:33124995 阅读:14 留言:0更新日期:2022-04-17 00:33
本申请示例提供了一种编译方法及相关装置,方法应用于编译系统的第一从服务器,编译系统包括主服务器、N个从服务器和代码服务器,N个从服务器包括第一从服务器,方法包括:接收来自主服务器的针对目标编译任务的编译流程,目标编译任务为针对目标代码的编译任务;根据编译流程启动目标编译任务;控制M个第二从服务器并行处理目标代码,M个第二从服务器中每个第二从服务器的处理内容与子代码集合中的至少一个第一子代码对应,子代码集合包括对目标代码进行拆分得到的层次为叶节点的多个第一子代码,任意两个第二从服务器所对应的子代码互不相同。本申请的主服务器只进行流程下发,调度工作均有第一从服务器进行,降低了主服务器的工作压力。服务器的工作压力。服务器的工作压力。

【技术实现步骤摘要】
编程方法及相关装置


[0001]本申请属于编译
,具体涉及一种编程方法及相关装置。

技术介绍

[0002]目前,现有的针对分布式编译的方案中,设置有统一的调度中心,针对发起的多次编译的调度,调度中心肩负了接收编译请求、调度编译资源以响应编译请求等任务,通过调度中心达到对编译资源的统一调度以达到资源利用最大化的目的。这种结构下,调度中心肩负了接收编译请求,调度编译资源以响应编译请求等任务,这样会使得调度中心发起的每个模块的编译都是发起一次单独的编译,使得调度中心承受了较大的工作压力。

技术实现思路

[0003]本申请实施例提供了一种编译方法及相关装置,以期降低主服务器的工作压力。
[0004]第一方面,本申请实施例提供了一种种编译方法,应用于编译系统的第一从服务器,所述编译系统包括主服务器、N个从服务器和代码服务器,N为正整数,所述N个从服务器包括所述第一从服务器,所述方法包括:
[0005]接收来自所述主服务器的针对目标编译任务的编译流程,所述目标编译任务为针对目标代码的编译任务;
[0006]根据所述编译流程启动所述目标编译任务;
[0007]控制M个第二从服务器并行处理所述目标代码,M为小于N的正整数,所述M个第二从服务器中每个第二从服务器的处理内容与子代码集合中的至少一个第一子代码对应,所述子代码集合包括对所述目标代码进行拆分得到的层次为叶节点的多个第一子代码,任意两个第二从服务器所对应的子代码互不相同。
[0008]第二方面,本申请实施例提供了一种编译方法,应用于编译系统的第二从服务器,所述编译系统包括主服务器、N个从服务器和代码服务器,所述N个从服务器包括所述第一从服务器和第二从服务器,所述方法包括:
[0009]接收所述第一从服务器的控制指令;
[0010]根据所述控制指令处理目标编译任务中的目标代码,所述第二从服务器的处理内容与子代码集合中的至少一个第一子代码对应,所述子代码集合包括对所述目标代码进行拆分得到的层次为叶节点的多个第一子代码;所述目标编译任务是由所述第一从服务器根据所述编译流程启动的,所述编译流程是由所述主服务器针对所述目标编译任务生成的,所述控制指令是所述第一从服务器根据编译流程触发的。
[0011]第三方面,本申请实施例提供了一种编译方法,应用于编译系统的主服务器,所述编译系统包括主服务器、N个从服务器和代码服务器,所述N个从服务器包括所述第一从服务器和第二从服务器,包括:
[0012]接收编译请求,根据所述编译请求创建目标编译任务,所述目标编译任务为针对目标代码的编译任务;
[0013]从所述N个从服务器中确定出作为所述目标编译任务的主流程节点的第一从服务器;
[0014]根据所述目标编译任务生成编译流程;
[0015]向所述第一从服务器发送所述编译流程,所述第一从服务器用于在运行所述编译流程时,启动目标编译任务,控制M个第二从服务器并行处理所述目标代码,所述M个第二从服务器中每个第二从服务器的处理内容与子代码集合中的至少一个第一子代码对应,所述子代码集合包括对所述目标代码进行拆分得到的层次为叶节点的多个第一子代码。
[0016]第四方面,本申请实施例提供了一种编译装置,应用于编译系统的第一从服务器,所述编译系统包括主服务器、N个从服务器和代码服务器,N为正整数,所述N个从服务器包括所述第一从服务器,所述装置包括:
[0017]接收单元,用于接收来自所述主服务器的针对目标编译任务的编译流程,所述目标编译任务为针对目标代码的编译任务;
[0018]启动单元,用于根据所述编译流程启动所述目标编译任务;
[0019]处理单元,用于控制M个第二从服务器并行处理所述目标代码,M为小于N的正整数,所述M个第二从服务器中每个第二从服务器的处理内容与子代码集合中的至少一个第一子代码对应,所述子代码集合包括对所述目标代码进行拆分得到的层次为叶节点的多个第一子代码,任意两个第二从服务器所对应的子代码互不相同。
[0020]第五方面,本申请实施例提供了一种编译装置,应用于编译系统的第二从服务器,所述编译系统包括主服务器、N个从服务器和代码服务器,所述N个从服务器包括所述第一从服务器和第二从服务器,所述装置包括:
[0021]接收单元,用于接收所述第一从服务器的控制指令;
[0022]编译单元,用于根据所述控制指令处理目标编译任务中的目标代码,所述第二从服务器的处理内容与子代码集合中的至少一个第一子代码对应,所述子代码集合包括对所述目标代码进行拆分得到的层次为叶节点的多个第一子代码;所述目标编译任务是由所述第一从服务器根据所述编译流程启动的,所述编译流程是由所述主服务器针对所述目标编译任务生成的,所述控制指令是所述第一从服务器根据编译流程触发的。
[0023]第六方面,本申请实施例提供了一种编译装置,应用于编译系统的主服务器,所述编译系统包括主服务器、N个从服务器和代码服务器,所述N个从服务器包括所述第一从服务器和第二从服务器,所述装置包括:
[0024]接收单元,用于接收编译请求;
[0025]创建单元,用于根据所述编译请求创建目标编译任务,所述目标编译任务为针对目标代码的编译任务;
[0026]确定单元,用于从所述N个从服务器中确定出作为所述目标编译任务的主流程节点的第一从服务器;
[0027]生成单元,用于根据所述目标编译任务生成编译流程;
[0028]发送单元,用于向所述第一从服务器发送所述编译流程,所述第一从服务器用于在运行所述编译流程时,启动目标编译任务,控制M个第二从服务器并行处理所述目标代码,所述M个第二从服务器中每个第二从服务器的处理内容与子代码集合中的至少一个第一子代码对应,所述子代码集合包括对所述目标代码进行拆分得到的层次为叶节点的多个
第一子代码。
[0029]第七方面,本申请实施例提供了一种电子设备,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行本申请实施例第一方面至第六方面任意方面中的步骤的指令。
[0030]第八方面,本申请实施例提供了一种计算机存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如本实施例第一方面至第六方面任意方面中所描述的部分或全部步骤。
[0031]第九方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面至第六方面任意方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
[0032]可以看出,本申请实施例中,所述方法应用于编译系统的第一从服务器,所述编译系统包括主服务器、N个从服务器和代码服务器,N为正整数,所述N个从服务器包括所述第一从服务器,所述方法包括:接收来自本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种编译方法,其特征在于,应用于编译系统的第一从服务器,所述编译系统包括主服务器、N个从服务器和代码服务器,N为正整数,所述N个从服务器包括所述第一从服务器,所述方法包括:接收来自所述主服务器的针对目标编译任务的编译流程,所述目标编译任务为针对目标代码的编译任务;根据所述编译流程启动所述目标编译任务;控制M个第二从服务器并行处理所述目标代码,M为小于N的正整数,所述M个第二从服务器中每个第二从服务器的处理内容与子代码集合中的至少一个第一子代码对应,所述子代码集合包括对所述目标代码进行拆分得到的层次为叶节点的多个第一子代码,任意两个第二从服务器所对应的子代码互不相同。2.根据权利要求1所述的方法,其特征在于,所述控制M个第二从服务器并行处理所述目标代码之前,所述方法还包括:向所述主服务器发送编译节点申请消息;接收来自所述主服务器响应所述编译节点申请消息而发送的所述M个第二从服务器的地址,所述M个第二从服务器是所述N个从服务器中被确定为编译节点的所述M个空闲从服务器;根据所述地址与所述M个第二从服务器建立通信。3.根据权利要求2所述的方法,其特征在于,所述控制M个第二从服务器并行处理所述目标代码,包括:控制所述M个第二从服务器获取所述目标代码;向所述每个第二从服务器发送第一编译命令,所述第一编译命令用于指示当前的第二从服务器所需要编译的第一子代码中第一个被处理的第一子代码;控制所述多个第二从服务器中至少一个已完成第一编译命令的第二从服务器处理所述多个第一子代码中未被编译的第一子代码。4.根据权利要求3所述的方法,其特征在于,所述控制所述多个第二从服务器中至少一个已完成第一编译命令的第二从服务器处理所述多个第一子代码中未被编译的第一子代码,包括:接收来自至少一个第二从服务器的第一编译结果;向所述至少一个第二从服务器发送第二编译命令,所述第二编译命令用于指示所述多个第一子代码中未被编译的第一子代码;接收来自至少一个第二从服务器的第二编译结果;重复上传过程直至所述未配置处理的第一子代码全部被编译。5.根据权利要求3所述的方法,其特征在于,所述控制所述M个第二从服务器获取所述目标代码,包括:分别向每个第二服务器发送远程登录指令,以对所述每个第二服务器进行远程控制,控制所述每个第二从服务器获取所述目标代码。6.根据权利要求2所述的方法,其特征在于,所述控制M个第二从服务器并行处理所述目标代码,包括:向所述每个第二从服务器发送第一编译命令,所述第一编译命令用于指示当前的第二
从服务器所需要编译的第一子代码中第一个被处理的第一子代码;向所述每个第二服务器发送第一远程登录指令,以对所述没第二服务器进行远程控制,控制所述每个第二从服务器从所述代码服务器下载所述第一编译命令所对应的第一子代码进行编译处理;控制所述多个第二从服务器中至少一个已完成第一编译命令的第二从服务器处理所述多个第一子代码中未被编译的第一子代码。7.根据权利要求3所述的方法,其特征在于,控制所述多个第二从服务器中至少一个已完成第一编译命令的第二从服务器处理所述多个第一子代码中未被编译的第一子代码,包括:接收来自至少一个第二从服务器的第一编译结果;向所述至少一个第二从服务器发送第二编译命令,所述第二编译命令用于指示所述多个第一子代码中未被编译的第一子代码;向所述至少一个第二从服务器发送第二远程登录指令,以对所述没第二服务器进行远程控制,控制所述至少一个第二从服务器从所述代码服务器下载所述第二编译命令所对应的第一子代码进行编译处理;接收来自至少一个第二从服务器的第二编译结果;重复上传过程直至所述未被编译的第一子代码全部被编译。8.根据权利要求4或7所述的方法,其特征在于,所述接收每个第二从服务器发送的针对所述第一子代码的第一编译结果之后,所述方法还包括:根据目标代码的层级模型中节点之间的关联性,将当前得到的编译结果作为上一层级子代码的编译输入,调用所述第二从服务器对当前编译结果的上一层级子代码进行编译处理;重复上述步骤,直至所述目标代码全部执行完成。9.根据权利要求2所述的方法,其特征在于,所述控制M个第二从服务器并行处理所述目标代码之前,所述方法还包括:向所述代码服务器发送第一下载请求,所述第一下载请求用于指示与所述目标编译任务对应的目标代码;接收来自所述代码服务器的所述目标代码。10.一种编译方法,其特征在于,应用于编译系统的第二从服务器,所述编译系统包括主服务器、N个从服务器和代码服务器,所述N个从服务器包括所述第一从服务器和第二从服务器,所述方法包括:接收所述第一从服务器的控制指令;根据所述控制指令处理目标编译任务中的目标代码,所述第二从服务器的处理内容与子代码集合中的至少一个第一子代码对应,所述子代码集合包括对所述目标代码进行拆分得到的层次为叶节点的多个第一子代码;所述目标编译任务是由所述第一从服务器根据所述编译流程启动的,所述编译流程是由所述主服务器针对所述目标编译任务生成的,所述控制指令是所述第一从服务器根据编译流程触发的。11.根据权利要求10所述的方法,其特征在于,所述根据所述控制指令处理目标编译任务中的目标代码,包括:
接收来自所述第一从服务器的远程登录指令;根据所述远程登录指令接受所述第一从服务器...

【专利技术属性】
技术研发人员:晏军罗国斌
申请(专利权)人:南京欧珀软件科技有限公司
类型:发明
国别省市:

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

1