一种代码编译方法、设备及系统技术方案

技术编号:15791733 阅读:187 留言:0更新日期:2017-07-09 21:52
本发明专利技术的实施例公开一种代码编译方法、设备及系统,涉及数据通信领域,能够提高代码编译效率。该方法应用于云编译环境,代码编辑设备在代码服务器下载代码;所述代码编辑设备对所述代码进行编辑;所述代码编辑设备提取对所述代码编辑过程中已发生更改的代码,并根据所述已发生更改的代码生成代码补丁;所述代码编辑设备将所述代码补丁发送至代码编译设备,所述代码编译设备根据所述代码补丁,对所述代码执行补丁操作后,完成本地编译。本发明专利技术的实施例用于云编译环境中的代码同步。

【技术实现步骤摘要】
一种代码编译方法、设备及系统
本专利技术的实施例涉及数据通信领域,尤其涉及云编译环境下的一种代码编译方法、设备及系统。
技术介绍
在云编译环境中,软件开发过程中下载镜像文件到设备之前的所有工作,包括代码的下载,代码的编辑,代码的编译,生成镜像文件。且该环境中对代码的编辑和代码的编译在两个不同的机器上进行,这样的一个环境即所谓的云编译环境。在这样的云编译环境中,因为代码的编辑和代码的编译在不同的机器上进行,必然存在一个如何将两边机器上的代码同步的问题。云编译中有一个非常重要的功能就是将处于编辑机器A上的代码和编译机器B上的代码同步。目前已知的解决方案是通过将修改的所有代码,完全拷贝到远程编译机器上,然后进行编译。参照图1所示,现有技术提供一种代码同步方法简要流程如下:步骤1、代码编译机器A下载代码;步骤2、代码编译机器A编辑代码(包括修改或者增加删除代码);步骤3、代码编译机器A将编辑后的代码文件拷贝到编译机器B上;步骤4、编译机器B发起一次编译,生成最终结果镜像文件。上述方案虽然实现了远程编译的功能时,若进行代码文件修改,拷贝的数量量将会非常多,效率低下。
技术实现思路
本专利技术的实施例提供一种代码编译方法、设备及系统,能够提高代码编译效率。第一方面,本专利技术的实施例提供一种代码编译方法,应用于云编译环境,其特征在于,包括:代码编辑设备从代码服务器下载代码;所述代码编辑设备对所述代码进行编辑;所述代码编辑设备提取对所述代码编辑过程中已发生更改的代码,并根据将所述已发生更改的代码生成代码补丁;所述代码编辑设备将所述代码补丁发送至代码编译设备;所述代码编译设备根据所述代码补丁,对所述代码执行补丁操作后,完成本地编译。结合第一方面,在第一种可能的实现方式中,所述代码编辑设备将所述代码补丁发送至代码编译设备前,还包括:所述代码编辑设备向所述代码编译设备发送请编译请求,所述编译请求用于解析所述代码补丁,其中所述编译请求为根据预设请求协议生成。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述代码编译设备根据所述代码补丁,对所述代码执行补丁操作后,完成本地编译,具体包括:所述代码编译设备接收来自所述代码编辑设备的所述编译请求,根据所述编译请求设置配置编译相关参数,并从代码服务器下载所述代码;所述代码编译设备接收来自所述代码编辑设备的所述代码补丁,根据所述代码补丁,对从代码服务器下载的所述代码进行补丁操作后,完成本地编译。结合第一方面的第二种可能的实现方式,所述编译请求包括的协议字段至少包括如下的一项或多项:用户名、产品名称、工程分支、操作类型、库文件路径、代码补丁路径、代码补丁更新方式和代码补丁列表。结合第一方面或第一方面中的任意一种可能的实现方式,在第三种可能的实现方式中,所述代码补丁包括至少一个子补丁和对应每个子补丁的补丁状态信息,其中补丁状态信息用于指示对应的子补丁的可修改状态。第二方面,提供一种代码编辑设备,应用于云编译环境,包括:下载单元,用于从代码服务器下载代码;编辑单元,用于对所述下载单元下载的所述代码进行编辑;补丁生成单元,用于提取对所述代码中编辑过程中的已发生更改的代码,并将所述已发生更改的代码生成代码补丁;发送单元,用于将所述补丁生成单元生成的代码补丁发送至代码编译设备。结合第二方面,在第一种可能的实现方式中,所述发送单元还用于向所述代码编译设备发送编译请求,所述编译请求用于解析所述代码补丁,其中所述编译请求为根据预设请求协议生成。第三方面,提供一种代码编译设备,应用于云编译环境,接收单元,用于接收代码编辑设备发送的代码补丁,其中所述代码补丁为代码编辑设备在代码中编辑过程中提取的已发生更改的代码生成;编译单元,用于根据所述代码补丁,对所述代码执行补丁操作后,完成本地编译。结合第三方面,在第一种可能的实现方式中,所述接收单元,还用于接收所述代码编辑设备发送的编译请求,并从代码服务器下载所述代码,所述编译请求用于解析所述代码补丁,其中所述编译请求为根据预设请求协议生成;和/或,所述编译单元具体用于根据所述请求协议设置配置编译相关参数;在根据所述代码补丁,对从代码服务器下载的所述代码进行补丁操作后,完成本地编译。第四方面,提供一种代码编译系统,包括代码服务器、如第二方面所述的任意一种代码编辑设备,以及如第三方面所述的任意一种代码编译设备;所述代码服务器用于保存已编译通过的代码。本专利技术的实施例提供的代码编译方法、设备及系统,应用于云编译环境,其中代码编辑设备具体能够从代码服务器下载代码;并对所述代码进行编辑;之后提取对所述代码中编辑过程中已发生更改的代码,并将所述已发生更改的代码生成代码补丁;再将所述代码补丁发送至代码编译设备,使得代码编译设备根据所述代码补丁,对所述代码执行补丁操作后,完成本地编译;在上述方案中由于仅需将代码的编辑过程中已发生更改的代码通过代码补丁的形式发送至代码编译设备,而无需每次都将所有的代码发送至代码编译设备,可以能够提高代码编译效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的实施例提供的一种云编译环境的代码编译系统的组成设备结构示意图;图2为本专利技术的实施例提供的一种代码编译方法的流程示意图;图3为本专利技术的另一实施例提供的一种代码编译方法的流程示意图;图4为本专利技术的实施例提供的编译请求包括的协议字段的结构示意图;图5为本专利技术的实施例提供的子补丁的状态机变化示意图;图6为本专利技术的实施例提供的代码编辑设备的结构示意图;图7为本专利技术的实施例提供的代码编译设备的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参照图1所示,本专利技术的实施例应用于如图1所示云编译环境的代码编译系统,本专利技术的实施例所述的云编译环境为在软件开发中代码编辑和代码编译分属不同设备的开发环境;本专利技术的实施例提供代码编译系统包括代码服务器Server、代码编辑设备ZD1和代码编译设备ZD2,其中代码服务器Server用于存储软件开发过程中使用的代码即保存已编译通过的代码,代码编辑设备ZD1主要用于代码的下载和代码的编辑,代码编译设备ZD2主要用于代码的编译和镜像文件生成,这里的镜像文件为软件经由代码编译后生成用于最终下载到设备上运行的文件。参照图2所示,本专利技术的实施例提供一种代码编译方法,应用于上述的云编译环境,包括:101、代码编辑设备从代码服务器下载代码;102、所述代码编辑设备对所述代码进行编辑;103、所述代码编辑设备提取对所述代码编辑过程中已发生更改的代码,并根据所述已发生更改的代码生成代码补丁;104、所述代码编辑设备将所述代码补丁发送至代码编译设备。具体步骤104可以为码编辑设备经由代码服务器将代码补丁发送至代码编译设备,即本文档来自技高网...
一种代码编译方法、设备及系统

【技术保护点】
一种代码编译方法,应用于云编译环境,其特征在于,包括:代码编辑设备从代码服务器下载代码;所述代码编辑设备对所述代码进行编辑;所述代码编辑设备提取对所述代码编辑过程中已发生更改的代码,并根据所述已发生更改的代码生成代码补丁;所述代码编辑设备将所述代码补丁发送至代码编译设备;所述代码编译设备根据所述代码补丁,对所述代码执行补丁操作后,完成本地编译。

【技术特征摘要】
1.一种代码编译方法,应用于云编译环境,其特征在于,包括:代码编辑设备从代码服务器下载代码;所述代码编辑设备对所述代码进行编辑;所述代码编辑设备提取对所述代码编辑过程中已发生更改的代码,并根据所述已发生更改的代码生成代码补丁;所述代码编辑设备将所述代码补丁发送至代码编译设备;所述代码编译设备根据所述代码补丁,对所述代码执行补丁操作后,完成本地编译。2.根据权利要求1所述的方法,其特征在于,所述代码编辑设备将所述代码补丁发送至代码编译设备前,还包括:所述代码编辑设备向所述代码编译设备发送编译请求,所述编译请求用于解析所述代码补丁,其中所述编译请求为根据预设请求协议生成。3.根据权利要求2所述的方法,其特征在于,所述代码编译设备根据所述代码补丁,对所述代码执行补丁操作后,完成本地编译,具体包括:所述代码编译设备接收来自所述代码编辑设备的所述编译请求,根据所述编译请求设置配置编译相关参数,并从代码服务器下载所述代码;所述代码编译设备接收来自所述代码编辑设备的所述代码补丁,根据所述代码补丁,对从代码服务器下载的所述代码进行补丁操作后,完成本地编译。4.根据权利要求2所述的方法,其特征在于,所述编译请求包括的协议字段至少包括如下的一项或多项:用户名、产品名称、工程分支、操作类型、库文件路径、代码补丁路径、代码补丁更新方式和代码补丁列表。5.根据权利要求1-4任一项所述的方法,其特征在于,所述代码补丁包括至少一个子补丁和对应每个子补丁的补丁状态信息,其中补丁状态...

【专利技术属性】
技术研发人员:罗继列林茂朱洪皞
申请(专利权)人:迈普通信技术股份有限公司
类型:发明
国别省市:四川,51

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

1