编译平台、编译方法及装置的制造方法

文档序号:9249148阅读:201来源:国知局
编译平台、编译方法及装置的制造方法
【技术领域】
[0001]本发明涉及软件开发领域,特别涉及一种编译平台、编译方法及装置。
【背景技术】
[0002]编译是指利用编译程序将源语言编写的源程序生成为目标程序的过程。例如,在Linux平台上,最常用的是GNU make编译工具。
[0003]在编译程序的过程中,待编译的源程序通常需要依赖库文件,库文件是已经编译好的具有一定功能的程序文件。比如,一个源程序,需要依赖已经编译好的libA、IibB和IibC三个库文件,才能编译得到目标程序。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:由于每个开发人员独自使用一台开发终端,各个开发终端上的编译环境可能并不相同,也即每个编译环境中提供的库文件可能互不相同。这种编译环境的差异会导致编译过程出现冗余依赖等各种冋题。

【发明内容】

[0005]为了解决现有技术的问题,本发明实施例提供了一种编译平台、编译方法及装置。技术方案如下:
[0006]根据本发明实施例的第一方面,提供一种编译平台,该编译平台包括:web服务器、调度服务器、η台编译机和数据库服务器,η台编译机具有相同的编译环境,η为正整数;
[0007]web服务器,用于通过web页面接收开发终端上传的源程序和编译参数;将源程序和编译参数发送至调度服务器;
[0008]调度服务器,用于接收web服务器发送的源程序和编译参数;根据源程序和编译参数生成编译任务;将编译任务分发给η台编译机;
[0009]编译机,用于接收调度服务器下发的编译任务;根据编译任务对源程序进行编译,得到编译结果;
[0010]数据库服务器,用于存储编译记录信息,每条编译记录信息包括源程序、编译参数和编译结果中的全部内容或者部分内容。
[0011]根据本发明实施例的第二方面,提供一种编译方法,用于调度服务器中,该方法包括:
[0012]接收开发终端通过web页面上传的源程序和编译参数,web页面由web服务器提供;
[0013]根据源程序和编译参数生成编译任务;
[0014]将编译任务分发给具有相同的编译环境的η台编译机,η为正整数;η台编译机用于根据编译任务对源程序进行编译,得到编译结果,并将源程序、编译参数和编译结果中的全部内容或者部分内容作为编译记录信息存储在数据库服务器中。
[0015]根据本发明实施例的第三方面,提供一种编译方法,用于web服务器中,该方法包括:
[0016]通过web页面接收开发终端上传的源程序和编译参数;
[0017]将源程序和编译参数发送至调度服务器,调度服务器用于根据源程序和编译参数生成编译任务,并将编译任务分发给具有相同的编译环境的η台编译机,η为正整数;η台编译机用于根据编译任务对源程序进行编译,得到编译结果,并将源程序、编译参数和编译结果中的全部内容或者部分内容作为编译记录信息存储在数据库服务器中。
[0018]根据本发明实施例的第四方面,提供一种编译装置,用于调度服务器中,该装置包括:
[0019]第一接收模块,用于接收开发终端通过web页面上传的源程序和编译参数,web页面由web服务器提供;
[0020]生成模块,用于根据源程序和编译参数生成编译任务;
[0021]分发模块,用于将编译任务分发给具有相同的编译环境的η台编译机,η为正整数;η台编译机用于根据编译任务对源程序进行编译,得到编译结果,并将源程序、编译参数和编译结果中的全部内容或者部分内容作为编译记录信息存储在数据库服务器中。
[0022]根据本发明实施例的第五方面,提供一种编译装置,用于web服务器中,该装置包括:
[0023]上传模块,用于通过web页面接收开发终端上传的源程序和编译参数;
[0024]第一发送模块,用于将源程序和编译参数发送至调度服务器,调度服务器用于根据源程序和编译参数生成编译任务,并将编译任务分发给具有相同的编译环境的η台编译机,η为正整数;η台编译机用于根据编译任务对源程序进行编译,得到编译结果,并将源程序、编译参数和编译结果中的全部内容或者部分内容作为编译记录信息存储在数据库服务器中。
[0025]本发明实施例提供的技术方案带来的有益效果是:
[0026]通过调度服务器根据开发终端上传的源程序和编译参数生成编译任务,并分发至具有相同编译环境的η台编译机,由η台编译机执行编译任务;解决了编译环境的差异所导致的编译过程出现冗余依赖的问题;达到了由具有相同编译环境的η台编译机执行编译任务,不再出现冗余依赖的情况,且多台编译机共同执行编译任务,提高编译速度的效果。
【附图说明】
[0027]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028]图1是本发明各个实施例提供的编译方法所涉及的实施环境的环境示意图;
[0029]图2是本发明一个实施例提供的服务器的结构示意图;
[0030]图3Α和图3Β是本发明一个实施例提供的编译方法的实施示意图;
[0031]图4是本发明一个实施例提供的编译方法的方法流程图;
[0032]图5Α是本发明另一实施例提供的编译方法的方法流程图;
[0033]图5Β是本发明另一实施例提供的编译方法所涉及的获取编译信息过程的方法流程图;
[0034]图5C是本发明另一实施例提供的编译方法所涉及的编译信息查询过程的方法流程图;
[0035]图6A是本发明再一实施例提供的编译方法的方法流程图;
[0036]图6B是图6A所示编译方法的实施示意图;
[0037]图7是本发明一个实施例提供的编译装置的结构方框图;
[0038]图8是本发明另一实施例提供的编译装置的结构方框图。
【具体实施方式】
[0039]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0040]系统环境
[0041]请参考图1,其示出了本发明各个实施例提供的编译方法所涉及的实施环境的环境示意图。该实施环境包括开发终端110、web服务器120、调度服务器130、至少一台编译机140和数据库服务器150。
[0042]开发终端110是用于编写程序的电子设备,该电子设备可以是台式计算机或膝上型便携计算机等等。
[0043]开发终端110与web服务器120之间通过有线或无线网络相连。
[0044]web服务器120可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。该web服务器120用于向开发终端110提供web页面,并通过该web页面接收开发终端110上传的源程序和编译参数。
[0045]web服务器120与调度服务器130之间通过有线或无线网络相连。
[0046]调度服务器130可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。调度服务器130用于根据web服务器120上传的源程序和编译参数,生成编译任务并下发至至少一台编译机140。
[0047]调度服务器130与至少一台编译机140之间通过有线或无线网络相连。
[0048]编译机140是具有程序编译功能的电子设备。编译机140用于根据调度服务器130下发的编译任务对源程序进行编译,并将编译结果上报给数据库服务器150。
[0049]编译机140与数据库服务器150之间通过有线或无线网络相连。
[0050]数据库服务器150可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。数据库服务器150用于将编译结果反馈给预定的开发终端IlOo
[0051]数据库服务器150与开发终端110之间通过有线或无线网络相连。
[0052]计算机架构
[0053]图2示出了本发明一个实施例提供的服务器的结构示意图。该服务器可以是图1中的web服务器120、调度服务器130、编译机140或数据库服务器150。具体来讲:
[0054]服务器200包括中央处理单元(CPU) 201、包括随机存取存储器(RAM) 202和只读存储器(ROM) 203的系统存储器204,以及连接系统存储器204和中央处理单元201的系统总线205。服务器200还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/o系统)206,和用于存储操作系统213、应用程序214和其他程序模块215的大容量存储设备207。
[0055]基本输入/输出系统206包括有用于显示信息的显示器208和用于用户输入信息的诸如鼠标、键盘之类的输入设备209。其中显示器208和输入设备209都通过连接到系统总线205的输入输出控制器210连接到中央处理单元201。基本输入/输出系统206还可以包括输入输出控制器210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器210还提供输出到显示屏、打印机或其他类型的输出设备。
[0056]大容量存储设备207通过连接到系统总线205的大容量存储控制器(未示出)连接到中央处理单元201。大容量存储设备207及其相关联的计算机可读介质为服务器200提供非易失性存储。也就是说,大容量存储设备207可以包括诸如硬盘或者CD-ROM
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1