[发明专利]调度服务器、编译服务器及分布式编译方法有效
| 申请号: | 201710630023.4 | 申请日: | 2017-07-28 |
| 公开(公告)号: | CN107391221B | 公开(公告)日: | 2020-08-07 |
| 发明(设计)人: | 张世伟 | 申请(专利权)人: | 迈普通信技术股份有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/50 |
| 代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 苏胜 |
| 地址: | 610000 四*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 调度 服务器 编译 分布式 方法 | ||
本发明提供一种调度服务器、编译服务器及分布式编译方法,调度服务器与多个编译服务器通信,调度服务器包括:主编译机选择模块,用于根据多个编译服务器的工作情况选取主编译机,向该主编译机下发编译任务;协助请求接收模块,用于接收主编译机的协助请求;任务分配模块,用于根据所述多个编译服务器的工作情况从编译机,并在为从编译机分配待编译工程模块后下发协助编译通知。通过调度服务器根据编译服务器的工作情况动态决定主编译机及从编译机,并分配编译任务,使得编译服务器可以作为不同编译任务的主编译机或从编译机被多个编译任务复用。如此,大大提高的编译服务器的利用率,减少了编译中的空闲等待时间,提高了分布式编译的效率。
技术领域
本发明涉及分布式数据处理技术领域,具体而言,涉及一种调度服务器、编译服务器及分布式编译方法。
背景技术
软件编译是将源代码编译成机器代码的一种转换计算过程,为了加快编译速度,可以采用分布式的编译方法,由多台编译机同时进行一个任务不同部分的编译。
传统的分布式编译方法中,由一台确定的主编译机下载代码并分配编译任务,多台从编译机独立完成各自的编译任务后,由主编译机完成编译链接的任务。但是,主编译机在执行源代码下载和模块编译工作准备时所有从编译机都是空闲状态,因此编译机资源没有充分利用。另外每台编译机都是串行编译工程模块,没有充分利用每台编译机的多核优势。
发明内容
为了克服现有技术中的上述不足,本发明的目的在于提供一种调度服务器,所述调度服务器与多个编译服务器通信,所述调度服务器包括:
主编译机选择模块,用于接收编译任务,根据所述多个编译服务器的工作情况,选取其中一个编译服务器作为该编译任务的主编译机,向该主编译机下发编译任务;
协助请求接收模块,用于接收所述主编译机根据所述编译任务生成的协助请求,所述协助请求中包括待编译工程模块的数量;
任务分配模块,用于根据所述待编译工程模块的数量及所有编译服务器的工作情况选取至少一个编译服务器作为该编译任务的从编译机,并在为所述从编译机分配待编译工程模块后下发协助编译通知。
本发明的另一目的在于提供一种编译服务器,所述编译服务器与本发明提供的所述调度服务器通信,所述编译服务器包括:
编译任务接收模块,用于接收所述调度服务器下发的编译任务,根据所述编译任务获取相应的源代码;
协助请求生成模块,用于根据所述源代码进行编译准备后,获得所述源代码对应的待编译工程模块的数量,并向所述调度服务器发送该编译任务的协助请求,以使所述调度服务器将所述待编译工程模块分配给至少一个所述编译服务器进行编译;
编译链接模块,用于接收所述调度服务器发送的编译链接通知,对所述至少一个编译服务器编译完成的工程模块进行编译链接。
本发明的另一目的在于提供一种编译服务器,所述编译服务器与本发明提供的所述调度服务器通信,所述编译服务器包括:
协助通知接收模块,用于接收所述调度服务器下发的协助编译通知,所述协助编译通知中包括待编译工程模块的名称、数量及代码路径;
协助编译模块,用于根据所述协助编译通知获取所述待编译工程模块的代码并进行编译;
完成通知模块,用于在编译完成后向所述调度服务器发送协助完成通知。
本发明的另一目的在于提供一种分布式编译方法,应用于包括调度服务器及多个编译服务器的分布式系统,所述方法包括:
所述调度服务器接收编译任务,根据所述多个编译服务器的工作情况,选取其中一个编译服务器作为该编译任务的主编译机,向该主编译机下发编译任务;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普通信技术股份有限公司,未经迈普通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710630023.4/2.html,转载请声明来源钻瓜专利网。





