[發明專利]調度服務器、編譯服務器及分布式編譯方法有效
| 申請號: | 201710630023.4 | 申請日: | 2017-07-28 |
| 公開(公告)號: | CN107391221B | 公開(公告)日: | 2020-08-07 |
| 發明(設計)人: | 張世偉 | 申請(專利權)人: | 邁普通信技術股份有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F9/50 |
| 代理公司: | 北京超凡志成知識產權代理事務所(普通合伙) 11371 | 代理人: | 蘇勝 |
| 地址: | 610000 四*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 調度 服務器 編譯 分布式 方法 | ||
本發明提供一種調度服務器、編譯服務器及分布式編譯方法,調度服務器與多個編譯服務器通信,調度服務器包括:主編譯機選擇模塊,用于根據多個編譯服務器的工作情況選取主編譯機,向該主編譯機下發編譯任務;協助請求接收模塊,用于接收主編譯機的協助請求;任務分配模塊,用于根據所述多個編譯服務器的工作情況從編譯機,并在為從編譯機分配待編譯工程模塊后下發協助編譯通知。通過調度服務器根據編譯服務器的工作情況動態決定主編譯機及從編譯機,并分配編譯任務,使得編譯服務器可以作為不同編譯任務的主編譯機或從編譯機被多個編譯任務復用。如此,大大提高的編譯服務器的利用率,減少了編譯中的空閑等待時間,提高了分布式編譯的效率。
技術領域
本發明涉及分布式數據處理技術領域,具體而言,涉及一種調度服務器、編譯服務器及分布式編譯方法。
背景技術
軟件編譯是將源代碼編譯成機器代碼的一種轉換計算過程,為了加快編譯速度,可以采用分布式的編譯方法,由多臺編譯機同時進行一個任務不同部分的編譯。
傳統的分布式編譯方法中,由一臺確定的主編譯機下載代碼并分配編譯任務,多臺從編譯機獨立完成各自的編譯任務后,由主編譯機完成編譯鏈接的任務。但是,主編譯機在執行源代碼下載和模塊編譯工作準備時所有從編譯機都是空閑狀態,因此編譯機資源沒有充分利用。另外每臺編譯機都是串行編譯工程模塊,沒有充分利用每臺編譯機的多核優勢。
發明內容
為了克服現有技術中的上述不足,本發明的目的在于提供一種調度服務器,所述調度服務器與多個編譯服務器通信,所述調度服務器包括:
主編譯機選擇模塊,用于接收編譯任務,根據所述多個編譯服務器的工作情況,選取其中一個編譯服務器作為該編譯任務的主編譯機,向該主編譯機下發編譯任務;
協助請求接收模塊,用于接收所述主編譯機根據所述編譯任務生成的協助請求,所述協助請求中包括待編譯工程模塊的數量;
任務分配模塊,用于根據所述待編譯工程模塊的數量及所有編譯服務器的工作情況選取至少一個編譯服務器作為該編譯任務的從編譯機,并在為所述從編譯機分配待編譯工程模塊后下發協助編譯通知。
本發明的另一目的在于提供一種編譯服務器,所述編譯服務器與本發明提供的所述調度服務器通信,所述編譯服務器包括:
編譯任務接收模塊,用于接收所述調度服務器下發的編譯任務,根據所述編譯任務獲取相應的源代碼;
協助請求生成模塊,用于根據所述源代碼進行編譯準備后,獲得所述源代碼對應的待編譯工程模塊的數量,并向所述調度服務器發送該編譯任務的協助請求,以使所述調度服務器將所述待編譯工程模塊分配給至少一個所述編譯服務器進行編譯;
編譯鏈接模塊,用于接收所述調度服務器發送的編譯鏈接通知,對所述至少一個編譯服務器編譯完成的工程模塊進行編譯鏈接。
本發明的另一目的在于提供一種編譯服務器,所述編譯服務器與本發明提供的所述調度服務器通信,所述編譯服務器包括:
協助通知接收模塊,用于接收所述調度服務器下發的協助編譯通知,所述協助編譯通知中包括待編譯工程模塊的名稱、數量及代碼路徑;
協助編譯模塊,用于根據所述協助編譯通知獲取所述待編譯工程模塊的代碼并進行編譯;
完成通知模塊,用于在編譯完成后向所述調度服務器發送協助完成通知。
本發明的另一目的在于提供一種分布式編譯方法,應用于包括調度服務器及多個編譯服務器的分布式系統,所述方法包括:
所述調度服務器接收編譯任務,根據所述多個編譯服務器的工作情況,選取其中一個編譯服務器作為該編譯任務的主編譯機,向該主編譯機下發編譯任務;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于邁普通信技術股份有限公司,未經邁普通信技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201710630023.4/2.html,轉載請聲明來源鉆瓜專利網。





