CN106095522A - 一种实现分布式编译的方法和分布式编译系统 - Google Patents

一种实现分布式编译的方法和分布式编译系统 Download PDF

Info

Publication number
CN106095522A
CN106095522A CN201610391177.8A CN201610391177A CN106095522A CN 106095522 A CN106095522 A CN 106095522A CN 201610391177 A CN201610391177 A CN 201610391177A CN 106095522 A CN106095522 A CN 106095522A
Authority
CN
China
Prior art keywords
virtual machine
compiling
compiler task
information
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610391177.8A
Other languages
English (en)
Inventor
张�杰
杨银辉
高大鹏
刘浩
曹曙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201610391177.8A priority Critical patent/CN106095522A/zh
Publication of CN106095522A publication Critical patent/CN106095522A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

本发明公开了一种实现分布式编译的方法和分布式编译系统。其中所述方法包括:通过前端页面接收用户提交的编译任务;每个编译任务中包括:待编译文件在代码服务器上的存储路径信息;将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上,由相应虚拟机根据编译任务从代码服务器获取对应的待编译文件、对待编译文件进行编译并将编译结果文件输出到公共数据库;接收各虚拟机反馈的编译信息,将编译任务以及与编译任务相关的用户信息和编译信息保存到回溯数据库中。该技术方案实现了文件的分布式编译,控制了成品质量,整体形成了可控、可溯的编译框架。

Description

一种实现分布式编译的方法和分布式编译系统
技术领域
本发明涉及编译领域,具体涉及一种实现分布式编译的方法和分布式编译系统。
背景技术
代码编译是将程序员编写的程序源码通过编译程序编译为机器可执行文件的过程。在软件开发公司中,往往不是由个人而是多人负责开发某个软件,因此在开发过程中会产生多个版本的代码,而最终软件只能由某个最终确定的版本编译生成,因此许多公司内都搭建了代码服务器进行代码的管理。然而现有技术中对于代码编译并没有较为合理的管理方法,由于任一台开发机上都有可能安装编译程序,对代码执行编译,导致最终生成的软件产品质量难以控制。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的实现分布式编译的方法和分布式编译系统。
依据本发明的一个方面,提供了一种实现分布式编译的方法,包括:
通过前端页面接收用户提交的编译任务;每个编译任务中包括:待编译文件在代码服务器上的存储路径信息;
将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上,由相应虚拟机根据编译任务从代码服务器获取对应的待编译文件、对待编译文件进行编译并将编译结果文件输出到公共数据库;
接收各虚拟机反馈的编译信息,将编译任务以及与编译任务相关的用户信息和编译信息保存到回溯数据库中。
可选地,每个编译任务中还包括:编译环境要求信息;
所述将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上包括:根据预先搜集的各虚拟机的编译环境信息,将所接收到的编译任务分配给符合该编译任务的编译环境要求的空闲的虚拟机。
可选地,所述根据预先搜集的各虚拟机的编译环境信息,将所接收到的编译任务分配给符合该编译任务的编译环境要求的空闲的虚拟机包括:
将所接收到编译任务放入编译任务池中;
每接收到一个虚拟机的任务查询信息,根据预先搜集的各虚拟机的编译环境信息确定该虚拟机的编译环境信息,从编译任务池中找出编译环境要求信息与该虚拟机的编译环境信息匹配的编译任务分配给该虚拟机;
其中,空闲的虚拟机每隔预设时间发送一次任务查询信息。
可选地,每个编译任务中还包括:用户代码权限信息;
该方法在将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上之前,进一步包括:将编译任务中的用户代码权限信息发送给代码服务器进行校验,在校验通过后,在编译任务中的用户代码权限信息中打上校验通过标志,然后再将编译任务调度到分布式的虚拟机集群中的相应的虚拟机上;
所述由相应虚拟机根据编译任务从代码服务器获取对应的待编译文件包括:相应虚拟机根据编译任务中的打上校验通过标志的用户代码权限信息,从代码服务器获取对应的待编译文件。
可选地,该方法进一步包括:
虚拟机对待编译文件进行编译时如果需要编译公用资源,先到公共数据库中查询;
如果公共数据库中存在需要的编译公用资源,则从公共数据库获取;
如果公共数据库中不存在需要的编译公用资源,则从代码服务器获取该编译公用资源,并保存到公共数据库中。
可选地,该方法进一步包括:
生成对公共数据库的访问账户信息;
接收各虚拟机在每次启动时发送的获取/更新公共数据库的访问账户信息的请求,将所生成的相应访问账户信息发送给发送请求的虚拟机。
可选地,该方法进一步包括:
将虚拟机反馈的编译信息,通过前端页面展示给用户。
可选地,该方法进一步包括:
通过前端页面接收用户提交的查询信息;
根据查询信息从回溯数据库和/或公共数据库中获取相应的内容,并通过前端页面展示给用户。
可选地,所述编译信息包括如下中的一种或多种:
虚拟机在执行编译任务时的编译环境信息;
虚拟机在执行编译任务时记录的编译日志信息;
编译进度信息。
可选地,该方法进一步包括:
将编译结果文件发送到签名服务器,由签名服务器对编译结果文件进行签名操作后输出签名后的文件,以及将签名后的文件发送到回溯数据库中保存一份。
依据本发明的另一方面,提供了一种分布式编译系统,包括:中心控制器、分布式的虚拟机集群、代码服务器、公共数据库和回溯数据库;
中心控制器,适于通过前端页面接收用户提交的编译任务,将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上;其中,每个编译任务中包括:待编译文件在代码服务器上的存储路径信息;
虚拟机,适于根据所分配的编译任务从代码服务器获取对应的待编译文件,对待编译文件进行编译并将编译结果文件输出到公共数据库,以及适于将编译信息反馈给中心控制器;
中心控制器,还适于接收各虚拟机反馈的编译信息,将编译任务以及与编译任务相关的用户信息和编译信息保存到回溯数据库中。
可选地,每个编译任务中还包括:编译环境要求信息;
所述中心控制器,适于根据预先搜集的各虚拟机的编译环境信息,将所接收到的编译任务分配给符合该编译任务的编译环境要求的空闲的虚拟机。
可选地,所述中心控制器,适于将所接收到编译任务放入编译任务池中;每接收到一个虚拟机的任务查询信息,根据预先搜集的各虚拟机的编译环境信息确定该虚拟机的编译环境信息,从编译任务池中找出编译环境要求信息与该虚拟机的编译环境信息匹配的编译任务分配给该虚拟机;
其中,空闲的虚拟机每隔预设时间向中心控制器发送一次任务查询信息。
可选地,每个编译任务中还包括:用户代码权限信息;
所述中心控制器,在将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上之前,进一步适于将编译任务中的用户代码权限信息发送给代码服务器进行校验,在校验通过后,在编译任务中的用户代码权限信息中打上校验通过标志,然后再将编译任务调度到相应的虚拟机上;
虚拟机适于根据编译任务中的打上校验通过标志的用户代码权限信息,从代码服务器获取对应的待编译文件。
可选地,虚拟机,进一步适于在对待编译文件进行编译时,如果需要编译公用资源,先到公共数据库中查询;如果公共数据库中存在需要的编译公用资源,则从公共数据库获取;如果公共数据库中不存在需要的编译公用资源,则从代码服务器获取该编译公用资源,并保存到公共数据库中。
可选地,所述中心控制器,进一步适于生成对公共数据库的访问账户信息;接收各虚拟机在每次启动时发送的获取/更新公共数据库的访问账户信息的请求,将所生成的相应访问账户信息发送给发送请求的虚拟机。
可选地,所述中心控制器,进一步适于将虚拟机反馈的编译信息,通过前端页面展示给用户。
可选地,该方法进一步包括:
所述中心控制器,进一步适于通过前端页面接收用户提交的查询信息;根据查询信息从回溯数据库和/或公共数据库中获取相应的内容,并通过前端页面展示给用户。
可选地,所述编译信息包括如下中的一种或多种:
虚拟机在执行编译任务时的编译环境信息;
虚拟机在执行编译任务时记录的编译日志信息;
编译进度信息。
可选地,该系统进一步包括:
签名服务器,适于从公共数据库获取编译结果文件,对编译结果文件进行签名操作后输出签名后的文件,以及将签名后的文件发送到回溯数据库中保存一份。
由上述可知,本发明的技术方案在多台虚拟机中执行文件的编译,这些虚拟机构成了分布式的虚拟机集群,在通过前端页面接收到用户提交的编译任务后,从编译任务中提取待编译代码在代码服务器中的存储路径信息,将编译任务调度到合适的虚拟机后便可以根据存储路径信息获取待编译文件进行编译,并将结果文件输出到公共数据库。各虚拟机在编译完成后生成编译反馈信息,将这些信息和与编译任务相关的用户信息和编译信息保存到回溯数据库中。该技术方案实现了文件的分布式编译,提供了独立、统一管理的编译环境,控制了成品质量;同时编译的结果文件保存在公共数据库中方便提取和调用;回溯数据库中的相关信息便于日后问题的回溯和复查,整体形成了可控、可溯的编译框架。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种实现分布式编译的方法的流程图;
图2示出了根据本发明一个实施例的一种分布式编译系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种实现分布式编译的方法的流程图,如图1所示,该方法包括:
步骤S110,通过前端页面接收用户提交的编译任务;每个编译任务中包括:待编译文件在代码服务器上的存储路径信息。
步骤S120,将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上,由相应虚拟机根据编译任务从代码服务器获取对应的待编译文件、对待编译文件进行编译并将编译结果文件输出到公共数据库。
步骤S130,接收各虚拟机反馈的编译信息,将编译任务以及与编译任务相关的用户信息和编译信息保存到回溯数据库中。
可见,图1所示的方法,在多台虚拟机中执行文件的编译,这些虚拟机构成了分布式的虚拟机集群,在通过前端页面接收到用户提交的编译任务后,从编译任务中提取待编译代码在代码服务器中的存储路径信息,将编译任务调度到合适的虚拟机后便可以根据存储路径信息获取待编译文件进行编译,并将结果文件输出到公共数据库。各虚拟机在编译完成后生成编译反馈信息,将这些信息和与编译任务相关的用户信息和编译信息保存到回溯数据库中。该技术方案实现了文件的分布式编译,提供了独立、统一管理的编译环境,控制了成品质量;同时编译的结果文件保存在公共数据库中方便提取和调用;回溯数据库中的相关信息便于日后问题的回溯和复查,整体形成了可控、可溯的编译框架。
在本发明的一个实施例中,图1所示的方法中,每个编译任务中还包括:编译环境要求信息;将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上包括:根据预先搜集的各虚拟机的编译环境信息,将所接收到的编译任务分配给符合该编译任务的编译环境要求的空闲的虚拟机。
举例而言,针对安卓系统、iOS系统、Windows系统编写的代码文件所要求的编译环境是不同的,因此每个待编译文件都需要特定的编译环境,如要求编译环境配置有VS2008,VS2010等组件才能实现编译。又例如,根据开发项目的需求不同,编译过程中可以根据设置参数的不同生成不同的编译结果文件,如要求编译结果文件包含符号表pdb文件,因此可以在前端页面上为用户提供生成的编译文件包含pdb文件的选项。如果某个开发项目强制要求编译输出该文件,则可以在后台将该选项设置为无法在前端页面进行操作的默认设置项。这样,一方面各虚拟机可以配置相同或不同的编译环境以应对不同的编译需求,另一方面也可以根据用户输入的参数控制编译结果文件的类型。其中虚拟机的编译环境信息可以维护为一个编译环境信息列表供查询。因此在接收到编译任务后,调取其中的编译环境要求信息,在编译环境信息列表中匹配满足要求的虚拟机,再从中选出空闲的虚拟机进行编译。
在一优选实施例中,空闲的虚拟机可以主动请求任务进行编译,具体地,根据预先搜集的各虚拟机的编译环境信息,将所接收到的编译任务分配给符合该编译任务的编译环境要求的空闲的虚拟机包括:将所接收到编译任务放入编译任务池中;每接收到一个虚拟机的任务查询信息,根据预先搜集的各虚拟机的编译环境信息确定该虚拟机的编译环境信息,从编译任务池中找出编译环境要求信息与该虚拟机的编译环境信息匹配的编译任务分配给该虚拟机;其中,空闲的虚拟机每隔预设时间发送一次任务查询信息。
例如,空闲的虚拟机A每隔5分钟发送一次任务查询信息,当接收到该信息后,从编译环境信息列表中确定该虚拟机A安装有JDK(Java Development Kit,Java开发工具包),可以编译安卓apk,因此从编译任务池中确定了相应任务并分配给虚拟机A。
在本发明的一个实施例中,图1所示的方法中,每个编译任务中还包括:用户代码权限信息;该方法在将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上之前,进一步包括:将编译任务中的用户代码权限信息发送给代码服务器进行校验,在校验通过后,在编译任务中的用户代码权限信息中打上校验通过标志,然后再将编译任务调度到分布式的虚拟机集群中的相应的虚拟机上;由相应虚拟机根据编译任务从代码服务器获取对应的待编译文件包括:相应虚拟机根据编译任务中的打上校验通过标志的用户代码权限信息,从代码服务器获取对应的待编译文件。
一个开发项目在代码服务器中可能存在多个版本的待编译文件,同时在代码服务器中存在多个开发项目的待编译文件,为了安全控制,可以要求每个项目只有权限较高的用户可以访问并提取其中的待编译文件进行编译。在本实施例中,用户A通过前端页面提交编译任务时,需要在页面的相应位置输入用户代码权限信息,例如代码服务器的登录名和密码,则通过该用户代码权限信息先去代码服务器进行检验,通过后在编译任务中的用户代码权限信息中打上校验通过标志,再将编译任务调度至相应的虚拟机上,虚拟机编译时通过打上校验通过标志的用户代码权限信息,从代码服务器获取对应的待编译文件进行编译。
在本发明的一个实施例中,图1所示的方法进一步包括:虚拟机对待编译文件进行编译时如果需要编译公用资源,先到公共数据库中查询;如果公共数据库中存在需要的编译公用资源,则从公共数据库获取;如果公共数据库中不存在需要的编译公用资源,则从代码服务器获取该编译公用资源,并保存到公共数据库中。
在对待编译文件进行编译时,经常会用到.lib头文件等公用编译资源,这些资源是很多编译任务都需要用到的,如果每次都向代码服务器进行访问获取会大大浪费时间和资源,因此可以将这些公用资源存储到公共数据库中。如果编译任务所需的公共资源无法在公共数据库中找到,再从代码服务器进行获取,在获取到该公共资源后可以将其存至公共数据库,这样其他编译任务如果需要该公共资源就不必到代码服务器进行获取,节约了时间,效率更高。
在本发明的一个实施例中,图1所示的方法进一步包括:生成对公共数据库的访问账户信息;接收各虚拟机在每次启动时发送的获取/更新公共数据库的访问账户信息的请求,将所生成的相应访问账户信息发送给发送请求的虚拟机。
由于公共数据库中包含大量的从代码服务器获取的内容,因此如果不对公共数据库的访问权限加以限制,很容易引起安全问题,因此在本实施例中,需要生成对公共数据库的访问账户信息,使得虚拟机根据获取.更新的访问账户信息来访问公共数据库。
在本发明的一个实施例中,图1所示的方法进一步包括:将虚拟机反馈的编译信息,通过前端页面展示给用户。具体地,编译信息包括如下中的一种或多种:虚拟机在执行编译任务时的编译环境信息;虚拟机在执行编译任务时记录的编译日志信息;编译进度信息。用户可以根据这些信息了解到编译执行的状况,方便进行中断、回滚等操作。
在本发明的一个实施例中,图1所示的方法进一步包括:通过前端页面接收用户提交的查询信息;根据查询信息从回溯数据库和/或公共数据库中获取相应的内容,并通过前端页面展示给用户。
其中,提交查询信息的过程与编译过程可以是相互独立的,例如在提交编译任务前,查看公共数据库中是否包含所需的头文件,又例如,在编译结果文件出现问题需要排查时,访问回溯数据库调取之前执行过的编译任务等信息。
在本发明的一个实施例中,上述方法进一步包括:将编译结果文件发送到签名服务器,由签名服务器对编译结果文件进行签名操作后输出签名后的文件,以及将签名后的文件发送到回溯数据库中保存一份。
编译结果文件进行签名后就拥有了软件开发者的认证,例如,在手游客户端上线时,用户往往在应用市场中查看到该客户端确实拥有开发者的签名才会确认下载,相当于确认了该客户端是经过官方认证的。因此,确保上线的产品是经过签名的、以及确保签名不被滥用是开发者需要注意的问题。在本实施例中由签名服务器完成编译结果文件的签名操作,签名后的文件同样可以保存到回溯数据库中,例如在产品出现问题后,可以从数据库中提取相应的文件进行调试检查。
图2示出了根据本发明一个实施例的一种分布式编译系统的结构示意图,如图2所示,分布式编译系统200包括:中心控制器210、分布式的虚拟机220集群、代码服务器230、公共数据库240和回溯数据库250。
中心控制器210,适于通过前端页面接收用户提交的编译任务,将所接收到的编译任务调度到分布式的虚拟机220集群中的相应虚拟机220上;其中,每个编译任务中包括:待编译文件在代码服务器230上的存储路径信息。
虚拟机220,适于根据所分配的编译任务从代码服务器230获取对应的待编译文件,对待编译文件进行编译并将编译结果文件输出到公共数据库240,以及适于将编译信息反馈给中心控制器210。
中心控制器210,还适于接收各虚拟机220反馈的编译信息,将编译任务以及与编译任务相关的用户信息和编译信息保存到回溯数据库250中。
可见,图2所示的系统,在多台虚拟机中执行文件的编译,这些虚拟机构成了分布式的虚拟机集群,在通过前端页面接收到用户提交的编译任务后,从编译任务中提取待编译代码在代码服务器中的存储路径信息,将编译任务调度到合适的虚拟机后便可以根据存储路径信息获取待编译文件进行编译,并将结果文件输出到公共数据库。各虚拟机在编译完成后生成编译反馈信息,将这些信息和与编译任务相关的用户信息和编译信息保存到回溯数据库中。该技术方案实现了文件的分布式编译,提供了独立、统一管理的编译环境,控制了成品质量;同时编译的结果文件保存在公共数据库中方便提取和调用;回溯数据库中的相关信息便于日后问题的回溯和复查,整体形成了可控、可溯的编译框架。
在本发明的一个实施例中,上述系统中,每个编译任务中还包括:编译环境要求信息;中心控制器210,适于根据预先搜集的各虚拟机220的编译环境信息,将所接收到的编译任务分配给符合该编译任务的编译环境要求的空闲的虚拟机220。
在本发明的一个实施例中,上述系统中,中心控制器210,适于将所接收到编译任务放入编译任务池中;每接收到一个虚拟机220的任务查询信息,根据预先搜集的各虚拟机220的编译环境信息确定该虚拟机220的编译环境信息,从编译任务池中找出编译环境要求信息与该虚拟机220的编译环境信息匹配的编译任务分配给该虚拟机220;其中,空闲的虚拟机220每隔预设时间向中心控制器210发送一次任务查询信息。
在本发明的一个实施例中,上述系统中,每个编译任务中还包括:用户代码权限信息;中心控制器210,在将所接收到的编译任务调度到分布式的虚拟机220集群中的相应虚拟机220上之前,进一步适于将编译任务中的用户代码权限信息发送给代码服务器230进行校验,在校验通过后,在编译任务中的用户代码权限信息中打上校验通过标志,然后再将编译任务调度到相应的虚拟机220上;虚拟机220适于根据编译任务中的打上校验通过标志的用户代码权限信息,从代码服务器230获取对应的待编译文件。
在本发明的一个实施例中,上述系统中,虚拟机220,进一步适于在对待编译文件进行编译时,如果需要编译公用资源,先到公共数据库240中查询;如果公共数据库240中存在需要的编译公用资源,则从公共数据库240获取;如果公共数据库240中不存在需要的编译公用资源,则从代码服务器230获取该编译公用资源,并保存到公共数据库240中。
在本发明的一个实施例中,上述系统中,中心控制器210,进一步适于生成对公共数据库240的访问账户信息;接收各虚拟机220在每次启动时发送的获取/更新公共数据库240的访问账户信息的请求,将所生成的相应访问账户信息发送给发送请求的虚拟机220。
在本发明的一个实施例中,上述系统中,中心控制器210,进一步适于将虚拟机220反馈的编译信息,通过前端页面展示给用户。
在本发明的一个实施例中,上述系统中,中心控制器210,进一步适于通过前端页面接收用户提交的查询信息;根据查询信息从回溯数据库250和/或公共数据库240中获取相应的内容,并通过前端页面展示给用户。
在本发明的一个实施例中,上述系统中,编译信息包括如下中的一种或多种:虚拟机220在执行编译任务时的编译环境信息;虚拟机220在执行编译任务时记录的编译日志信息;编译进度信息。
在本发明的一个实施例中,上述系统进一步包括:签名服务器(图未示出),适于从公共数据库240获取编译结果文件,对编译结果文件进行签名操作后输出签名后的文件,以及将签名后的文件发送到回溯数据库250中保存一份。
需要说明的是,上述各系统实施例的具体实现方式与前述对应方法实施例的具体实施方式相同,在此不再赘述。
综上所述,本发明的技术方案,在多台虚拟机中执行文件的编译,这些虚拟机构成了分布式的虚拟机集群,在通过前端页面接收到用户提交的编译任务后,从编译任务中提取待编译代码在代码服务器中的存储路径信息,将编译任务调度到合适的虚拟机后便可以根据存储路径信息获取待编译文件进行编译,并将结果文件输出到公共数据库。各虚拟机在编译完成后生成编译反馈信息,将这些信息和与编译任务相关的用户信息和编译信息保存到回溯数据库中。另外,用户还可以通过前端页面查看虚拟机反馈的编译信息,以及输入查询信息查看回溯数据库中的相应内容。该技术方案实现了文件的分布式编译,提供了独立、统一管理的编译环境,控制了成品质量;同时编译的结果文件保存在公共数据库中方便提取和调用;回溯数据库中的相关信息便于日后问题的回溯和复查,整体形成了可控、可溯的编译框架。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的分布式编译系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明的实施例公开了A1、一种实现分布式编译的方法,其中,该方法包括:
通过前端页面接收用户提交的编译任务;每个编译任务中包括:待编译文件在代码服务器上的存储路径信息;
将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上,由相应虚拟机根据编译任务从代码服务器获取对应的待编译文件、对待编译文件进行编译并将编译结果文件输出到公共数据库;
接收各虚拟机反馈的编译信息,将编译任务以及与编译任务相关的用户信息和编译信息保存到回溯数据库中。
A2、如A1所述的方法,其中,
每个编译任务中还包括:编译环境要求信息;
所述将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上包括:根据预先搜集的各虚拟机的编译环境信息,将所接收到的编译任务分配给符合该编译任务的编译环境要求的空闲的虚拟机。
A3、如A2所述的方法,其中,所述根据预先搜集的各虚拟机的编译环境信息,将所接收到的编译任务分配给符合该编译任务的编译环境要求的空闲的虚拟机包括:
将所接收到编译任务放入编译任务池中;
每接收到一个虚拟机的任务查询信息,根据预先搜集的各虚拟机的编译环境信息确定该虚拟机的编译环境信息,从编译任务池中找出编译环境要求信息与该虚拟机的编译环境信息匹配的编译任务分配给该虚拟机;
其中,空闲的虚拟机每隔预设时间发送一次任务查询信息。
A4、如A1所述的方法,其中,
每个编译任务中还包括:用户代码权限信息;
该方法在将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上之前,进一步包括:将编译任务中的用户代码权限信息发送给代码服务器进行校验,在校验通过后,在编译任务中的用户代码权限信息中打上校验通过标志,然后再将编译任务调度到分布式的虚拟机集群中的相应的虚拟机上;
所述由相应虚拟机根据编译任务从代码服务器获取对应的待编译文件包括:相应虚拟机根据编译任务中的打上校验通过标志的用户代码权限信息,从代码服务器获取对应的待编译文件。
A5、如A1所述的方法,该方法进一步包括:
虚拟机对待编译文件进行编译时如果需要编译公用资源,先到公共数据库中查询;
如果公共数据库中存在需要的编译公用资源,则从公共数据库获取;
如果公共数据库中不存在需要的编译公用资源,则从代码服务器获取该编译公用资源,并保存到公共数据库中。
A6、如A1所述的方法,其中,该方法进一步包括:
生成对公共数据库的访问账户信息;
接收各虚拟机在每次启动时发送的获取/更新公共数据库的访问账户信息的请求,将所生成的相应访问账户信息发送给发送请求的虚拟机。
A7、如A1所述的方法,其中,该方法进一步包括:
将虚拟机反馈的编译信息,通过前端页面展示给用户。
A8、如A1所述的方法,其中,该方法进一步包括:
通过前端页面接收用户提交的查询信息;
根据查询信息从回溯数据库和/或公共数据库中获取相应的内容,并通过前端页面展示给用户。
A9、如A1所述的方法,其中,所述编译信息包括如下中的一种或多种:
虚拟机在执行编译任务时的编译环境信息;
虚拟机在执行编译任务时记录的编译日志信息;
编译进度信息。
A10、如A1-A9中任一项所述的方法,其中,该方法进一步包括:
将编译结果文件发送到签名服务器,由签名服务器对编译结果文件进行签名操作后输出签名后的文件,以及将签名后的文件发送到回溯数据库中保存一份。
本发明的实施例还公开了B11、一种分布式编译系统,其中,该编译系统包括:中心控制器、分布式的虚拟机集群、代码服务器、公共数据库和回溯数据库;
中心控制器,适于通过前端页面接收用户提交的编译任务,将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上;其中,每个编译任务中包括:待编译文件在代码服务器上的存储路径信息;
虚拟机,适于根据所分配的编译任务从代码服务器获取对应的待编译文件,对待编译文件进行编译并将编译结果文件输出到公共数据库,以及适于将编译信息反馈给中心控制器;
中心控制器,还适于接收各虚拟机反馈的编译信息,将编译任务以及与编译任务相关的用户信息和编译信息保存到回溯数据库中。
B12、如B11所述的系统,其中,
每个编译任务中还包括:编译环境要求信息;
所述中心控制器,适于根据预先搜集的各虚拟机的编译环境信息,将所接收到的编译任务分配给符合该编译任务的编译环境要求的空闲的虚拟机。
B13、如B12所述的系统,其中,
所述中心控制器,适于将所接收到编译任务放入编译任务池中;每接收到一个虚拟机的任务查询信息,根据预先搜集的各虚拟机的编译环境信息确定该虚拟机的编译环境信息,从编译任务池中找出编译环境要求信息与该虚拟机的编译环境信息匹配的编译任务分配给该虚拟机;
其中,空闲的虚拟机每隔预设时间向中心控制器发送一次任务查询信息。
B14、如B11所述的系统,其中,
每个编译任务中还包括:用户代码权限信息;
所述中心控制器,在将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上之前,进一步适于将编译任务中的用户代码权限信息发送给代码服务器进行校验,在校验通过后,在编译任务中的用户代码权限信息中打上校验通过标志,然后再将编译任务调度到相应的虚拟机上;
虚拟机适于根据编译任务中的打上校验通过标志的用户代码权限信息,从代码服务器获取对应的待编译文件。
B15、如B11所述的系统,
虚拟机,进一步适于在对待编译文件进行编译时,如果需要编译公用资源,先到公共数据库中查询;如果公共数据库中存在需要的编译公用资源,则从公共数据库获取;如果公共数据库中不存在需要的编译公用资源,则从代码服务器获取该编译公用资源,并保存到公共数据库中。
B16、如B11所述的系统,其中,
所述中心控制器,进一步适于生成对公共数据库的访问账户信息;接收各虚拟机在每次启动时发送的获取/更新公共数据库的访问账户信息的请求,将所生成的相应访问账户信息发送给发送请求的虚拟机。
B17、如B11所述的系统,其中,
所述中心控制器,进一步适于将虚拟机反馈的编译信息,通过前端页面展示给用户。
B18、如B11所述的系统,其中,该方法进一步包括:
所述中心控制器,进一步适于通过前端页面接收用户提交的查询信息;根据查询信息从回溯数据库和/或公共数据库中获取相应的内容,并通过前端页面展示给用户。
B19、如B11所述的系统,其中,所述编译信息包括如下中的一种或多种:
虚拟机在执行编译任务时的编译环境信息;
虚拟机在执行编译任务时记录的编译日志信息;
编译进度信息。
B20、如B11-B17中任一项所述的系统,其中,该系统进一步包括:
签名服务器,适于从公共数据库获取编译结果文件,对编译结果文件进行签名操作后输出签名后的文件,以及将签名后的文件发送到回溯数据库中保存一份。

Claims (10)

1.一种实现分布式编译的方法,其中,该方法包括:
通过前端页面接收用户提交的编译任务;每个编译任务中包括:待编译文件在代码服务器上的存储路径信息;
将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上,由相应虚拟机根据编译任务从代码服务器获取对应的待编译文件、对待编译文件进行编译并将编译结果文件输出到公共数据库;
接收各虚拟机反馈的编译信息,将编译任务以及与编译任务相关的用户信息和编译信息保存到回溯数据库中。
2.如权利要求1所述的方法,其中,
每个编译任务中还包括:编译环境要求信息;
所述将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上包括:根据预先搜集的各虚拟机的编译环境信息,将所接收到的编译任务分配给符合该编译任务的编译环境要求的空闲的虚拟机。
3.如权利要求2所述的方法,其中,所述根据预先搜集的各虚拟机的编译环境信息,将所接收到的编译任务分配给符合该编译任务的编译环境要求的空闲的虚拟机包括:
将所接收到编译任务放入编译任务池中;
每接收到一个虚拟机的任务查询信息,根据预先搜集的各虚拟机的编译环境信息确定该虚拟机的编译环境信息,从编译任务池中找出编译环境要求信息与该虚拟机的编译环境信息匹配的编译任务分配给该虚拟机;
其中,空闲的虚拟机每隔预设时间发送一次任务查询信息。
4.如权利要求1所述的方法,其中,
每个编译任务中还包括:用户代码权限信息;
该方法在将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上之前,进一步包括:将编译任务中的用户代码权限信息发送给代码服务器进行校验,在校验通过后,在编译任务中的用户代码权限信息中打上校验通过标志,然后再将编译任务调度到分布式的虚拟机集群中的相应的虚拟机上;
所述由相应虚拟机根据编译任务从代码服务器获取对应的待编译文件包括:相应虚拟机根据编译任务中的打上校验通过标志的用户代码权限信息,从代码服务器获取对应的待编译文件。
5.如权利要求1所述的方法,该方法进一步包括:
虚拟机对待编译文件进行编译时如果需要编译公用资源,先到公共数据库中查询;
如果公共数据库中存在需要的编译公用资源,则从公共数据库获取;
如果公共数据库中不存在需要的编译公用资源,则从代码服务器获取该编译公用资源,并保存到公共数据库中。
6.一种分布式编译系统,其中,该编译系统包括:中心控制器、分布式的虚拟机集群、代码服务器、公共数据库和回溯数据库;
中心控制器,适于通过前端页面接收用户提交的编译任务,将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上;其中,每个编译任务中包括:待编译文件在代码服务器上的存储路径信息;
虚拟机,适于根据所分配的编译任务从代码服务器获取对应的待编译文件,对待编译文件进行编译并将编译结果文件输出到公共数据库,以及适于将编译信息反馈给中心控制器;
中心控制器,还适于接收各虚拟机反馈的编译信息,将编译任务以及与编译任务相关的用户信息和编译信息保存到回溯数据库中。
7.如权利要求6所述的系统,其中,
每个编译任务中还包括:编译环境要求信息;
所述中心控制器,适于根据预先搜集的各虚拟机的编译环境信息,将所接收到的编译任务分配给符合该编译任务的编译环境要求的空闲的虚拟机。
8.如权利要求7所述的系统,其中,
所述中心控制器,适于将所接收到编译任务放入编译任务池中;每接收到一个虚拟机的任务查询信息,根据预先搜集的各虚拟机的编译环境信息确定该虚拟机的编译环境信息,从编译任务池中找出编译环境要求信息与该虚拟机的编译环境信息匹配的编译任务分配给该虚拟机;
其中,空闲的虚拟机每隔预设时间向中心控制器发送一次任务查询信息。
9.如权利要求6所述的系统,其中,
每个编译任务中还包括:用户代码权限信息;
所述中心控制器,在将所接收到的编译任务调度到分布式的虚拟机集群中的相应虚拟机上之前,进一步适于将编译任务中的用户代码权限信息发送给代码服务器进行校验,在校验通过后,在编译任务中的用户代码权限信息中打上校验通过标志,然后再将编译任务调度到相应的虚拟机上;
虚拟机适于根据编译任务中的打上校验通过标志的用户代码权限信息,从代码服务器获取对应的待编译文件。
10.如权利要求6所述的系统,
虚拟机,进一步适于在对待编译文件进行编译时,如果需要编译公用资源,先到公共数据库中查询;如果公共数据库中存在需要的编译公用资源,则从公共数据库获取;如果公共数据库中不存在需要的编译公用资源,则从代码服务器获取该编译公用资源,并保存到公共数据库中。
CN201610391177.8A 2016-06-03 2016-06-03 一种实现分布式编译的方法和分布式编译系统 Pending CN106095522A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610391177.8A CN106095522A (zh) 2016-06-03 2016-06-03 一种实现分布式编译的方法和分布式编译系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610391177.8A CN106095522A (zh) 2016-06-03 2016-06-03 一种实现分布式编译的方法和分布式编译系统

Publications (1)

Publication Number Publication Date
CN106095522A true CN106095522A (zh) 2016-11-09

Family

ID=57447556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610391177.8A Pending CN106095522A (zh) 2016-06-03 2016-06-03 一种实现分布式编译的方法和分布式编译系统

Country Status (1)

Country Link
CN (1) CN106095522A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874067A (zh) * 2017-01-24 2017-06-20 华南理工大学 基于轻量级虚拟机的并行计算方法、装置及系统
CN107168765A (zh) * 2017-07-07 2017-09-15 惠州Tcl移动通信有限公司 一种远程编译软件的方法及系统
CN107168758A (zh) * 2017-04-12 2017-09-15 北京小米移动软件有限公司 多代码库的代码编译检查方法及装置
CN107391221A (zh) * 2017-07-28 2017-11-24 迈普通信技术股份有限公司 调度服务器、编译服务器及分布式编译方法
CN107656739A (zh) * 2017-11-07 2018-02-02 北京奇安信科技有限公司 基于windows系统的代码编译方法及装置
CN108121543A (zh) * 2017-11-30 2018-06-05 北京奇安信科技有限公司 一种软件代码编译处理方法及装置
CN108334325A (zh) * 2017-12-26 2018-07-27 努比亚技术有限公司 一种编译方法、计算机及计算机可读存储介质
CN110795103A (zh) * 2019-09-27 2020-02-14 北京五八信息技术有限公司 一种代码编译方法以及编译机
CN110928547A (zh) * 2019-10-16 2020-03-27 平安普惠企业管理有限公司 公共文件的提取方法、装置、终端和存储介质
CN111061469A (zh) * 2019-11-06 2020-04-24 贝壳技术有限公司 Web前端源代码生成方法、装置、存储介质及处理器
CN111880802A (zh) * 2020-07-03 2020-11-03 深圳市欢太科技有限公司 一种编译方法、电子设备及计算机可读存储介质
CN112114816A (zh) * 2020-09-25 2020-12-22 统信软件技术有限公司 一种分布式编译系统和方法
CN112269570A (zh) * 2020-11-13 2021-01-26 北京百度网讯科技有限公司 安全代码开发方法及设备、计算设备和介质
CN112882720A (zh) * 2021-03-15 2021-06-01 北京字节跳动网络技术有限公司 一种编译方法及装置
CN113254164A (zh) * 2021-07-07 2021-08-13 北京航天驭星科技有限公司 卫星测控过程执行任务状态的监控方法及系统、测控系统
US11429607B2 (en) 2019-09-20 2022-08-30 Thoughtspot, Inc. Machine language query management for low-latency database analysis system
WO2023051034A1 (zh) * 2021-09-30 2023-04-06 中兴通讯股份有限公司 终端代码增量编译方法、系统、装置、服务器和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257852A (zh) * 2012-02-17 2013-08-21 阿里巴巴集团控股有限公司 一种分布式应用系统的开发环境搭建的方法和装置
CN103268252A (zh) * 2013-05-12 2013-08-28 南京载玄信息科技有限公司 基于分布式存储的虚拟化平台系统及其实现方法
US20150135163A1 (en) * 2013-11-12 2015-05-14 Samsung Electronics Co., Ltd. Server providing cloud service, terminal for developer and method for supporting application development using the same
CN104793946A (zh) * 2015-04-27 2015-07-22 广州杰赛科技股份有限公司 基于云计算平台的应用部署方法和系统
CN104965748A (zh) * 2015-06-03 2015-10-07 广州华多网络科技有限公司 编译平台、编译方法及装置
CN105068855A (zh) * 2015-08-19 2015-11-18 北京奇虎科技有限公司 一种编译安卓包开发文件的方法、服务器和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257852A (zh) * 2012-02-17 2013-08-21 阿里巴巴集团控股有限公司 一种分布式应用系统的开发环境搭建的方法和装置
CN103268252A (zh) * 2013-05-12 2013-08-28 南京载玄信息科技有限公司 基于分布式存储的虚拟化平台系统及其实现方法
US20150135163A1 (en) * 2013-11-12 2015-05-14 Samsung Electronics Co., Ltd. Server providing cloud service, terminal for developer and method for supporting application development using the same
CN104793946A (zh) * 2015-04-27 2015-07-22 广州杰赛科技股份有限公司 基于云计算平台的应用部署方法和系统
CN104965748A (zh) * 2015-06-03 2015-10-07 广州华多网络科技有限公司 编译平台、编译方法及装置
CN105068855A (zh) * 2015-08-19 2015-11-18 北京奇虎科技有限公司 一种编译安卓包开发文件的方法、服务器和系统

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874067B (zh) * 2017-01-24 2020-10-02 华南理工大学 基于轻量级虚拟机的并行计算方法、装置及系统
CN106874067A (zh) * 2017-01-24 2017-06-20 华南理工大学 基于轻量级虚拟机的并行计算方法、装置及系统
CN107168758A (zh) * 2017-04-12 2017-09-15 北京小米移动软件有限公司 多代码库的代码编译检查方法及装置
CN107168765B (zh) * 2017-07-07 2021-08-10 惠州Tcl移动通信有限公司 一种远程编译软件的方法及系统
CN107168765A (zh) * 2017-07-07 2017-09-15 惠州Tcl移动通信有限公司 一种远程编译软件的方法及系统
CN107391221A (zh) * 2017-07-28 2017-11-24 迈普通信技术股份有限公司 调度服务器、编译服务器及分布式编译方法
CN107656739A (zh) * 2017-11-07 2018-02-02 北京奇安信科技有限公司 基于windows系统的代码编译方法及装置
CN108121543A (zh) * 2017-11-30 2018-06-05 北京奇安信科技有限公司 一种软件代码编译处理方法及装置
CN108334325A (zh) * 2017-12-26 2018-07-27 努比亚技术有限公司 一种编译方法、计算机及计算机可读存储介质
US11429607B2 (en) 2019-09-20 2022-08-30 Thoughtspot, Inc. Machine language query management for low-latency database analysis system
CN110795103A (zh) * 2019-09-27 2020-02-14 北京五八信息技术有限公司 一种代码编译方法以及编译机
CN110928547A (zh) * 2019-10-16 2020-03-27 平安普惠企业管理有限公司 公共文件的提取方法、装置、终端和存储介质
CN111061469A (zh) * 2019-11-06 2020-04-24 贝壳技术有限公司 Web前端源代码生成方法、装置、存储介质及处理器
CN111061469B (zh) * 2019-11-06 2023-09-15 贝壳技术有限公司 Web前端源代码生成方法、装置、存储介质及处理器
CN111880802A (zh) * 2020-07-03 2020-11-03 深圳市欢太科技有限公司 一种编译方法、电子设备及计算机可读存储介质
CN112114816A (zh) * 2020-09-25 2020-12-22 统信软件技术有限公司 一种分布式编译系统和方法
CN112269570A (zh) * 2020-11-13 2021-01-26 北京百度网讯科技有限公司 安全代码开发方法及设备、计算设备和介质
CN112882720A (zh) * 2021-03-15 2021-06-01 北京字节跳动网络技术有限公司 一种编译方法及装置
CN112882720B (zh) * 2021-03-15 2024-03-22 抖音视界有限公司 一种编译方法及装置
CN113254164A (zh) * 2021-07-07 2021-08-13 北京航天驭星科技有限公司 卫星测控过程执行任务状态的监控方法及系统、测控系统
CN113254164B (zh) * 2021-07-07 2021-10-08 北京航天驭星科技有限公司 卫星测控过程执行任务状态的监控方法及系统、测控系统
WO2023051034A1 (zh) * 2021-09-30 2023-04-06 中兴通讯股份有限公司 终端代码增量编译方法、系统、装置、服务器和存储介质

Similar Documents

Publication Publication Date Title
CN106095522A (zh) 一种实现分布式编译的方法和分布式编译系统
CN106095523A (zh) 一种实现安卓编译隔离的方法和系统
CN109981679B (zh) 在区块链网络中执行事务的方法和装置
CN106055377A (zh) 一种实现分布式编译的方法和分布式编译系统
CN100559366C (zh) 用于设计、开发和管理一个或多个分布式计算系统的方法和系统
CN102656557B (zh) 自动化企业软件开发
CN109670297B (zh) 业务权限的开通方法、装置、存储介质及电子设备
US20110270711A1 (en) Managing application interactions with enterprise systems
EP1455484A2 (en) Integrating design, deployment, and management phases for systems
CN105094799A (zh) 在预置型平台和云平台之间操作的混合应用
WO2015195590A1 (en) Tenant provisioning for testing a production multi-tenant service
CN102007756A (zh) 用于数据处理环境中的动态供应的方法和装置
CN106055376A (zh) 一种实现ios分布式编译签名的方法和系统
Doedt et al. Requirement-driven evaluation of remote ERP-system solutions: a service-oriented perspective
CN109753767B (zh) 基于区块链的软件分发及更新方法和装置、服务器、客户端
US9830204B2 (en) Facilitating communication between software components that use middleware
CN105471809A (zh) 软件授权信息的验证方法及系统
Irvine et al. Enabling mobile apps with IBM worklight application center
Koskelin Modular Infrastructure as Code in Azure PaaS
Hatami-Alamdari et al. Monolithic architecture vs. multi-layered cloud-based architecture in the CRM application domain
Storetvedt A new Grid workflow for data analysis within the ALICE project using containers and modern Cloud technologies
Sciara Rethinking Automotive Software Development: Exploring Software Defined Vehicle and its potential
Muñoz Exam Ref AZ-204 Developing Solutions for Microsoft Azure
Εμμανουήλ IoT platform and data management using microservices
Heredia Canales Job workload dynamization: reconciling onpremise and cloud-computing models

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161109