CN107943486A - 一种多语言代码编译方法、分发方法、装置和系统 - Google Patents

一种多语言代码编译方法、分发方法、装置和系统 Download PDF

Info

Publication number
CN107943486A
CN107943486A CN201711373562.0A CN201711373562A CN107943486A CN 107943486 A CN107943486 A CN 107943486A CN 201711373562 A CN201711373562 A CN 201711373562A CN 107943486 A CN107943486 A CN 107943486A
Authority
CN
China
Prior art keywords
compiler
code
program
storage
code compilation
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.)
Granted
Application number
CN201711373562.0A
Other languages
English (en)
Other versions
CN107943486B (zh
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 WELINK Co.,Ltd.
Original Assignee
Beijing Xinghe World Group Co Ltd
Beijing Xinghe Nebula Information Technology 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 Xinghe World Group Co Ltd, Beijing Xinghe Nebula Information Technology Co Ltd filed Critical Beijing Xinghe World Group Co Ltd
Priority to CN201711373562.0A priority Critical patent/CN107943486B/zh
Publication of CN107943486A publication Critical patent/CN107943486A/zh
Application granted granted Critical
Publication of CN107943486B publication Critical patent/CN107943486B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

一种多语言代码编译方法、分发方法、装置和系统。包括任务调度设备获取代码编译请求,代码编译请求包括需要编译的代码存储的地址;任务调度设备根据代码存储的地址获取代码中包括的编译配置文件;任务调度设备根据编译配置文件确定编译器信息中与编译配置文件相对应的编译器,任务调度设备包括编译器信息。任务调度设备向代码编译系统发送代码编译请求,代码编译请求包括需要编译的代码和编译代码的编译器,使代码编译系统根据请求中包括的编译器对代码进行编译。本申请针对多语言代码进行智能匹配编译,统一分发管理等问题,降低多语言代码编译难度,减少代码分发的资源占用,提高软件研发过程的效率。

Description

一种多语言代码编译方法、分发方法、装置和系统
技术领域
本申请涉及计算机语言程序技术领域,尤其涉及一种多语言代码编译方法、分发方法、装置和系统。
背景技术
在软件研发过程中,可能会使用各种各样的集成开发环境(IntegratedDevelopment Environment,简称IDE)软件,作为程序开发环境的应用程序。IDE软件一般包含代码编辑器、编译器、调试器、插件管理器及用户图形界面。针对开发语言的不同,IDE软件种类也较多,例如,PHP程序开发中使用的PHP Storm、Zend Studio,JAVA程序开发中使用的Eclipse、IntelliJ,.Net程序开发中使用的Microsoft Visual Studio等。
集成开发环境软件还包括针对特定开发语言的编译器。通过编译器生成可执行的程序,供用户调试。
大型项目在研发过程中,不仅包括单一语言的程序开发,其更多的采用多开发语言结合的方式进行多程序的组合编程。例如,使用PHP开发语言进行前端商城系统研发,后台系统使用JAVA开发语言,以及使用了JavaScript等。
因此,单一IDE软件无法为多语言的程序开发方便的提供多语言代码的编译。过多的环境,也容易使不同用户本地研发环境差异,最终导致编译失败或软件BUG。
软件程序在编译后,需要分发到生产环境来提供服务。根据业务的复杂程度及研发流程的规定,在分发到生产环境之前,软件程序需要经过开发环境、测试环境、压测环境、预发布环境、灰度发布环境等环境测试验证通过。这些不同环境的软件程序,在分发优先级上也有一定区别,例如开发环境需要尽快的编译及分发,以方便用户进行调试及验证,而测试环境、压测环境则需要根据测试人员计划来分发部署,预发布环境、灰度发布环境、生产环境的分发部署权限则交给运维人员。各环境也会产生大量分散存储的软件程序,给予代码的统一管理带来挑战。多语言软件程序的分发部署方法也不尽相同,呈现多样性。一个分发部署任务,包括应用环境初始化、应用服务器启停、软件程序分发、服务注册注销等一系列子任务,这些分发部署任务需要经常性的使用,其存储、执行情况、结果反馈需要完善。
发明内容
为了解决上述技术问题,本申请具体实施例提供一种多语言代码编译方法、分发方法、装置和系统,从而对不同语言的不同版本的代码进行编译和集中存储。
本申请是通过如下方式实现的:
第一方面,本申请具体实施例提供一种多语言代码编译方法,包括:
任务调度设备获取代码编译请求,代码编译请求包括需要编译的代码的存储地址;
任务调度设备根据代码存储的地址获取代码中包括的编译配置文件,编译配置文件用于表示编译代码需要的编译器;
任务调度设备根据编译配置文件确定编译器信息中与编译配置文件相对应的编译器,其中,任务调度设备包括编译器信息,编译器信息包括当前可用的编译器;
任务调度设备向代码编译系统发送代码编译请求,代码编译请求包括需要编译的代码和编译代码的编译器,使代码编译系统根据请求中包括的编译器对代码进行编译。
在一个可能的设计中,编译器信息包括每个编译器的可用次数X,编译器的可用次数X用于表示编译器可以对X个代码进行编译,X为大于等于0的正整数;
在一个可能的设计中,还包括:
任务调度设备,获取代码编译完成信息,代码编译完成信息包括程序名和编译代码的编译器的信息;
根据代码编译完成信息,释放与程序名和编译器信息相对应的编译器的可用次数。
在一个可能的设计中,任务调度设备,获取代码编译完成信息,还包括:
向程序集中存储设备发送程序集中存储请求,程序集中存储请求包括需要存储的程序名、编译器和时间,从而使程序集中存储设备通过编译器获取与程序名和时间相对应的程序并进行存储。
在一个可能的设计中,还包括:
任务调度设备获取程序集中存储设备发送的程序的集中存储地址,存储地址为超文本传输协议(HTTP,Hyper Text Transfer Protocol)调用接口;
根据HTTP调用接口,对程序进行分发部署。
第二方面,本申请具体实施例提供一种多语言代码编译方法,包括:
代码编译系统获取代码编译请求,代码编译请求包括编译代码需要的编译器和代码存储地址;
代码编译系统根据代码存储地址获取代码,并将代码通过编译器进行编译。
在一个可能的设计中,代码编译系统获取代码编译请求前,还包括:
代码编译系统获取编译器版本信息表,编译器版本信息表包括编译服务器中需要存储的编译器的标识;
代码编译系统根据编译器版本信息表中包括的编译器标识获取编译器,并将获取的编译器存储多个编译服务器中;
根据编译器存储的编译服务器,确定编译器信息,编译器信息用于表示编译服务器、编译器和编译器可用次数的对应关系;
将编译器信息向任务调度设备发送。
在一个可能的设计中,还包括:
代码编译系统获取程序集中存储设备发送的程序集中存储指令,程序集中存储指令用于指示代码编译系统将编译后的程序存储到指定地址中,程序集中存储指令包括需要集中存储的程序名、编译器版本和程序存储对应的HTTP接口;
代码编译系统调用HTTP接口将与需要集中存储的程序名对应的程序进行存储。
第三方面,本申请具体实施例提供一种程序集中存储方法,包括:
程序集中存储设备获取任务调度设备发送的程序集中存储请求,程序集中存储请求包括需要存储的程序名和编译器;
程序集中存储设备根据程序集中存储请求确定与程序集中存储请求相对应的存储地址;
程序集中存储设备向代码编译系统发送程序集中存储指令,程序集中存储指令包括存储接口、编译器和程序名,程序集中存储接口与存储地址相对应,程序集中存储接口是调用该存储地址的HTTP接口,使代码编译系统根据程序名和编译器通过HTTP接口向程序集中存储器发送程序。
在一个可能的设计中,包括:程序集中存储设备根据程序集中存储请求中包括的程序名和编译器版本向编译器发送程序集中存储指令时,还包括:
程序集中存储设备还向任务调度设备发送程序集中存储器的程序调用HTTP接口和存储的程序,以使任务调度设备根据程序调用HTTP接口对程序进行分发部署。
第四方面,本申请具体实施例提供一种任务调度设备,包括:
获取单元,用于获取代码编译请求,代码编译请求包括需要编译的代码存储的地址;
获取单元,还用于根据代码存储的地址获取代码中包括的编译配置文件,编译配置文件用于表示编译代码需要的编译器;
处理单元,用于根据编译配置文件胡确定编译器信息中与编译配置文件相对应的编译器,其中,任务调度设备包括编译器信息,编译器信息包括当前可用的编译器;
发送单元,用于向代码编译系统发送代码编译请求,代码编译请求包括需要编译的代码和编译代码的编译器,使代码编译系统根据请求中包括的编译器对代码进行编译。
在一个可能的设计中,编译器信息包括每个编译器的可用次数X,编译器的可用次数X用于表示编译器可以对X个代码进行编译,X为大于等于0的正整数。
在一个可能的设计中,获取单元,还用于获取代码编译完成信息,代码编译完成信息包括程序名和编译代码的编译器的信息;
处理单元,还用于根据代码编译完成信息,释放与程序名和编译器的信息相对应的编译器的可用次数。
在一个可能的设计中,获取单元,用于获取代码编译完成信息后,还包括:
发送单元,用于向程序集中存储设备发送程序集中存储请求,程序集中存储请求包括需要存储的程序名、编译器和时间,从而使程序集中存储设备通过编译器获取与程序名和时间相对应的程序并进行存储。
在一个可能的设计中,获取单元,用于获取程序集中存储设备发送的程序的集中存储地址,存储地址为HTTP调用接口;根据HTTP调用接口,对程序进行分发部署。
第五方面,本申请具体实施例提供一种代码编译设备,包括:
获取单元,用于代码编译系统获取代码编译请求,代码编译请求包括编译代码需要的编译器和代码存储地址;
处理单元,用于根据代码存储地址获取代码,并将代码通过编译器进行编译。
在一个可能的设计中,获取单元,用于统获取代码编译请求前,还包括:
获取单元,用于获取编译器版本信息表,编译器版本信息表包括编译服务器中需要存储的编译器的标识;
处理单元,用于根据编译器版本信息表中包括的编译器标识获取编译器,并将获取的编译器存储多个编译服务器中;
处理单元,还用于根据编译器所在的编译服务器,确定编译器信息,编译器信息用于表示编译服务器、编译器和编译器可用次数的对应关系;
发送单元,用于将编译器信息向任务调度设备发送。
在一个可能的设计中,获取单元,还用于系统获取程序集中存储设备发送的程序集中存储指令,程序集中存储指令用于指示代码编译系统将编译后的程序存储到指定地址中,程序集中存储指令包括需要集中存储的程序名、编译器版本和程序存储对应的HTTP接口;
处理单元,用于调用HTTP接口将与需要集中存储的程序名对应的程序进行存储。
第六方面,本申请具体实施例提供一种程序集中存储设备,包括:
获取单元,用于获取任务调度设备发送的程序集中存储请求,程序集中存储请求包括需要存储的程序名和编译器;
处理单元,用于根据程序集中存储请求确定与程序集中存储请求相对应的存储地址;
发送单元,用于向代码编译系统发送程序集中存储指令,程序集中存储指令包括存储接口、编译器和程序名,程序集中存储接口与存储地址相对应,程序集中存储接口是调用该存储地址的HTTP接口,使代码编译系统根据程序名和编译器通过HTTP接口向程序集中存储器发送程序。
第六方面,本申请具体实施例提供一种程序集中存储设备,包括发送单元,用于根据程序集中存储请求中包括的程序名和编译器版本向编译器发送程序集中存储指令时,还包括:
发送单元,用于向任务调度设备发送程序集中存储器的程序调用HTTP接口和存储的程序,以使任务调度设备根据程序调用HTTP接口对程序进行分发部署。
第七方面,本申请具体实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如第一方面/第二方面或第三方面中任意一项可能的方法。
第八方面,本申请实施例提供一种装置,包括:处理器和存储器,其中,存储器内存储有处理器能够执行的操作指令,处理器读取存储器内的操作指令用于实现第一方面/第二方面或第三方面中任意一项可能的方法。
第九方面,本申请实施例提供本申请具体实施例提供一种多语言代码编译、分发系统,该系统包括任务调度设备、代码编译系统和程序集中存储设备;
该任务调度设备用于执行第一方面以及任意一项可能的方法;
该代码编译系统用于执行第二方面以及任意一项可能的方法;
该程序集中存储设备用于执行第三方面以及任意一项可能的方法。
本申请具体实施例提供一种多语言代码编译方法、分发方法、装置和系统,包括任务调度系统、代码编译系统和程序集中存储设备。能够针对多语言代码进行智能匹配编译,统一分发管理等问题,降低多语言代码编译难度,减少代码分发的资源占用,提高软件研发过程的效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请具体实施例提供的一种程序编译分发系统;
图2为本申请具体实施例提供的一种代码编译方法流程图;
图3为本申请具体实施例提供的一种代码编译准备示例;
图4为本申请具体实施例提供的一种代码编译系统中编译器管理示意图;
图5为本申请具体实施例提供的一种编译器分配示例;
图6为本申请具体实施例提供的一种程序分发方法;
图7为本申请具体实施例提供的一种任务调度设备;
图8为本申请具体实施例提供的一种代码编译设备;
图9为本申请具体实施例提供的一种程序集中存储设备;
图10为本申请实施例提供的一种任务调度设备示意图;
图11为本申请实施例提供的一种代码编译系统示意图;
图12为本申请实施例提供的一种程序集中存储设备示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请具体实施例提供的一种程序编译分发系统。如图1所示,包括代码仓库、任务调度设备、代码编译系统和程序集中存储设备。
代码仓库用于存储代码。完成代码开发时,将代码存储到代码仓库中,并获取存储该代码的地址。代码仓库可以是独立的存储设备、分布式存储设备等用于数据存储的设备。在将代码存储到代码仓库后,向任务调度设备发送代码编译指令,通过任务调度设备完成代码编译。在代码编译完成后,还可以向任务调度设备发送任务分发指令,从而通过任务调度设备对完成编译的软件程序进行分发。
需要说明的时,开发的代码中包括编译配置文件,编译配置文件可以包括代码库、语言、编译器版本等信息。在一个例子中,编译配置文件可以存储在代码的根目录中。
任务调度设备用于对编译资源进行管理。任务调度设备包括从代码编译系统获取编译器信息,编译器信息包括编译器、编译器所在编译服务器和编译器可用次数。任务调度设备根据编译器信息和获取的编译配置文件确定编译该代码使用的编译器。
代码编译系统包括编译管理器和至少一个编译服务器。编译器管理器用于管理编译服务器、并通过指定编译器对代码进行编译。编译服务器用于存储编译器,并根据编译服务器的指令通过指定的编译器对代码进行编译。编译管理器用于对不同编译服务器中存储的编译器进行管理。编译管理器还根据编译服务器的存储情况,确定编译器信息,并将确定的编译器信息向任务调度设备发送。
集中式存储器用于获取代码编译系统编译完成的程序,从而将编译完成的程序集中存储。当需要对程序进行分发时,将程序分发到不同的应用环境。
图2为本申请具体实施例提供的一种代码编译方法流程图。如图2所示,所示方法包括:
S201、用户向代码仓库发送待编译的代码。
用户根据开发需求使用相应的开发环境对代码进行开发。在将代码开发完成后,将开发完成的代码向代码仓库发送。其中,用户开发完成的代码中还包括编译配置文件,编译配置文件存储在代码根目录中。
在将待编译的代码存储到代码仓库后,还将获取待编译的代码在代码仓库中的存储地址。
S202、用户向任务调度设备发送代码编译请求,代码编译请求包括需要编译的代码存储的地址。
用户在将开发完成的代码存储到代码仓库后,还将向任务调度设备发送代码编译请求,从而通过任务调度设备指定的编译器对该待编译的代码进行编译。其中,用户向任务调度设备发送的代码编译请求还包括需要编译的代码在代码仓库中的存储地址,从而使编译设备获取该待编译的代码。
S203、任务调度设备根据待编译的代码的存储地址,获取待编译的代码的编译配置文件。
编译配置文件包括编译代码所需的各种信息,包含需要使用的编译器版本、依赖软件及版本、软件程序的编译打包格式、编译的执行任务等内容。通过识别编译文件中的编译器版本信息,即可确定所需代码编译器,结合编译器使用情况表,可选定供分布式编译使用的编译器。
可选的,任务调度设备中包括存储代码仓库不同地址的验证信息。
任务调度设备在获取代码请求后,根据待编译的代码的存储地址,确定与该存储地址相对应的验证信息。任务调度请求中包括待编译的代码的地址和与该地址相对应的验证信息。
代码仓库根据验证信息验证任务调度设备的请求。通过验证时,任务调度设备向代码仓库发送编译配置文件获取请求。代码仓库检索与代码的存储地址提供的代码库的整体目录树,收集代码库信息编译信息,获取相对应的代码的编译配置文件。任务调度处理器根据编译配置文件抽取代码库、语言、编译器版本等信息的列表,并将数据存储在任务调度设备。在一个例子中,该数据可以是以文本格式文件存储。
在一个具体的例子中,图3为本申请具体实施例提供的一种代码编译准备示例。如图3所示,用户将开发完成的代码code3存储到代码仓库中,用户在将代码code3存储到代码仓库时还将获取代码仓库返回的代码code3存储地址。代码仓库包括存储了代码code1、代码code2和代码code3。
用户向任务调度设备发送代码编译请求,该请求包括code3在代码仓库中的存储地址。任务调度系统根据该存储地址,确定与该地址对应的验证信息,通过该验证信息对代码仓库进行登录、验证。任务调度设备在登录完成后,对该代码监视、信息收集。对代码监视、信息收集包括获取该代码的编译配置信息,通过对代码语言分析获取编译配置文件。任务调度设备获取的编译配置文件包括代码名称code3、代码语言C和编译器的版本C3-2。
S204、任务调度设备从代码编译系统获取编译器信息。
代码编译系统包括编译管理器和编译服务器,编译管理器用于对代码编译服务器进行管理。可选的,编译服务器可以是由多个服务器组成的集群,代码编译系统可以对集群中的每个编译服务器进行管理。
编译管理器中包括编译器版本信息表,编译器版本信息包括需要编译的语言、编译该语言的编译器和编译器的版本。编译器版本信息表用于表示代码编译系统中需要包括的编译器版本。编译管理器根据编译器版本信息表查找相应的编译器、编译器的版本,并将相应版本的编译器散列到不同的编译服务器中。
在本申请的具体实施例中,编译管理器可以通过分布式算法和策略来处理不同版本的编译器散列到编译服务器的关系。当然,上述通过分布式算法将不同版本的编译器散列到不同编译服务器仅为本申请具体实施例中的一种举例,在本申请的具体实施例中,还可以通过其他任意方法实现不同版本的编译器散列到编译服务器。
例如,使用Hash算法将编译器版本信息表中包括的编译器进行散列分布,得到原始编译服务器和编译器的映射关系表。若编译器版本信息表中增加新的编译器时,则在全部编译服务器中通过随机数算法确定部署新加编译器。若编译服务器宕机,使用编译服务器、编译器版本信息表获取失效的编译器信息,针对某一编译器通过随机数法挑选服务器,确保整个代码编译系统的稳定性。
可选的,设定单个编译器的个数为三,从而保证整个代码编译系统的可用性。也就是说,将同一个版本的编译器散列到三个不同的编译服务器。根据每台编译服务器的性能情况,设定单个编译服务器的最大可执行的编译任务数,确保编译环境的资源可用率在可流畅编译范围内。
可选的,编译管理器将编译器散列到不同的编译服务器后,还根据编译器散列到的编译服务器确定编译器信息。编译器信息包括编译器版本、编译器版本所在的服务器、以及不同编译服务器中不同编译器版本的可用次数。
代码编译系统确定编译器信息后,还将编译器信息向任务调度系统发送,使任务调度系统基于编译器信息为需要编译的代码分配编译器。
在一个示例中,图4为本申请具体实施例提供的一种代码编译系统中编译器管理示意图。如图4所示,代码编译系统包括编译器版本信息表。编译器版本信息表包括代码编译系统中需要的多个编译器,不同编译器之间存在语言和/或版本的不同。在本例子中,包括语言A、语言B和语言C的不同版本的编译器。代码编译系统的编译器版本信息表中包括的编译器可以根据用户的实际需要增加或减少。
编译管理器确定编译器版本信息表后,还根据编译器版本信息表中包括的不同编译器,将不同编译器通过分布式算法分别部署到代码编译系统中包括的多个编译服务器中。在本申请的实施例中,每个编译器可以分别部署在3台服务器上,从而满足同一编译器的多个并发需求。
编译管理器将不同编译器分别部署到不同的编译服务器时,编译管理器还根据编译器部署的编译服务器确定编译器信息,编译器信息包括不同编译器所存储的编译服务器以及该编译器的可用次数。
S205、任务调度设备根据编译配置文件和编译器信息确定编译该代码需的编译器。
根据编译配置文件和编译器信息确定编译该代码所需的编译器。任务调度设备为代码分配编译器的过程中,依据编译器的最大可用数分配,同时扣减编译器可用次数。当某台编译服务器上的某编译器可用次数为0,任务调度设备则不会将分配给其编译任务。任务调度设备在分配代码到特定编译器时,还根据代码与编译器的分配情况确定编译信息表。编译信息表包括每个代码对应的编译器信息、代码编译所在的编译服务器等信息。
图5为本申请具体实施例提供的一种编译器分配示例,如图5所示,任务调度设备通过代码仓库获取编译配置文件和通过代码编译系统获取编译器信息后,将根据编译器信息和编译配置文件为即将编译的代码分配编译器。其中,编译配置文件包括指定了代码的语言和编译器版本,任务调度设备通过编译配置文件指定的语言和编译器版本从编译器信息中确定与编译配置文件指定的语言和编译器版本相对应的编译器。
其中,编译器信息还包括编译器可用次数,任务调度设备还需要从相匹配的编译器中分配可编译次数大于0次的编译器。在一个可能的方案中,当多个相匹配的编译器的可编译次数均大于0时,可以选择可编译次数最大的编译器。当多个相匹配的编译器的可编译次数相同时,可以根据该编译器所在的编译服务器中总的可编译次数来确定。例如,确定编译服务器中总的可编译器次数最大的编译服务器对应的编译器为该代码的编译器。当然,上述编译器的分配方法仅为本申请具体实施例中的一种举例,而不能用于对本申请具体实施例中编译器分配方法的限定。
S206、任务调度设备向代码编译系统发送代码编译请求,代码编译请求包括确定的编译该代码需要的编译器。
任务调度设备根据分配的编译器向代码编译系统发送代码编译请求,代码编译请求包括代码在代码仓库的存储地址和编译该代码需要的编译器。可选的,向代码编译系统发送的代码编译请求还包括待编译代码存储地址的验证信息。
S207、代码编译系统根据编译配置文件和编译器信息确定的编译器编译该代码。
编译管理器根据代码编译请求中包括的待编译代码的存储地址,获取待编译的代码。可选的,编译管理器获取待编译的代码前,还包括向代码仓库发送验证信息。代码仓库确定验证信息与待编译的代码的存储地址相对应后向代码编译系统发送待编译的代码。
编译管理器还根据代码编译请求中指定的编译器将该代码编译任务向该指定的编译器发送。依据统一路径,将代码存放到编译服务器的指定目录,使用匹配的编译器进行编译。编译服务器上针对此语言代码的选中编译器即可根据编译配置文件进行编译动作。通过清理、验证工程信息、解决依赖、编译、测试、打包、验证包等过程,即可生成需要的软件程序。
可选的,软件程序的版本信息、编译时间、使用环境也标注到软件程序名称中,根据文件名称即可快速确定软件程序信息。
编译器对代码编译完成后,还将编译后的程序存储在在指定目标中。例如,该指定目标可以是build taget目录。
在本申请的具体实施例中,还包括对编译完成的程序进行分发。为了减低分散存储带来的存储压力,提高软件程序存储安全性,便于后续任务中的分发部署,本申请具体实施例集中式的对程序代码进行集中存储。图6为本申请具体实施例提供的一种程序分发方法。如图6所示,该方法包括:
S601、代码编译系统向任务调度设备发送代码编译完成信息,代码编译完成信息包括程序名、编译器、时间。
编译服务器再对该代码编译完成后,将编译完成的信息向编译管理器返回。向编译管理器返回的编译完成信息包括程序名、编译器、时间。在一个具体的例子中,软件程序的版本信息、编译时间、使用环境也标注到软件程序名称中。于是,向编译管理器返回的信息为软件程序名称。
编译管理器接收编译完成信息后,根据该编译完成信息,确定与该编译完成信息相对应的代码。将编译完成信息向任务调度设备发送,向任务调度设备发送的编译完成信息包括编译完成的软件程序名称和代码信息。
S602、任务调度设备向程序集中存储设备发送程序集中存储请求,程序集中存储请求包括需要存储的程序程序名、编译该程序的编译器信息。
任务调度设备获取代码编译完成信息后,根据代码编译完成信息,向程序集中存储设备发送程序集中存储请求。该程序集中存储请求包括需要存储的程序名、编译该程序的编译器信息。其中,程序集中存储设备根据该程序的名称,确定该程序的信息,例如,语言信息、环境信息、编译器版本等信息。程序集中存储设备根据该程序的信息,确定该程序在程序集中存储设备中存储的位置。
在一个具体的例子中,代码编译系统编译完成的程序可以通过超文本传输协议(HTTP,Hyper Text Transfer Protocol)接口传输到程序集中存储设备中。因此,程序集中存储设备确定该程序在程序集中存储设备中存储的位置是该位置的HTTP接口。
在本申请的具体实施例中,任务调度设备在接收到编译服务器通知后,更新代码、编译器服务器、编译器对应表中编译器的可用次数,为下一次代码编译任务做准备。
S603、程序集中存储设备向编译器发送存储该程序的HTTP接口。
程序集中存储设备确定软件程序的HTTP接口后,程序集中存储设备将确定的HTTP接口向代码编译系统发送。
S604、代码编译系统调用HTTP接口将程序成产到程序集中存储设备上。
可选的,程序集中存储设备在确定待代码对应的软件程序的存储地址时,向任务调度设备返回该程序在程序集中存储设备中的存储地址。从而接受来至人为或自动化的软件程序分发任务,获取指定的软件程序存储地址,确定分发部署的软件研发环境。
图7为本申请具体实施例提供的一种任务调度设备。如图7所示,任务调度设备包括获取单元701、处理单元702和发送单元703。
获取单元701,用于获取代码编译请求,代码编译请求包括需要编译的代码存储的地址;获取单元701,还用于根据代码存储的地址获取代码中包括的编译配置文件,编译配置文件用于表示编译代码需要的编译器;处理单元702,用于根据编译配置文件确定编译器信息中与编译配置文件相对应的编译器,其中,任务调度设备包括编译器信息,编译器信息包括当前可用的编译器;发送单元703,用于向代码编译系统发送代码编译请求,代码编译请求包括需要与编译的代码和编译代码编译器,使代码编译系统根据请求对代码进行编译。
可选的,编译器信息包括每个编译器的可用次数X,编译器的可用次数X用于表示编译器可以对X个代码进行编译,X为大于等于0的正整数。
可选的,获取单元701,还用于获取代码编译完成信息,代码编译完成信息包括程序名和编译代码的编译器的信息;处理单元702,还用于根据代码编译完成信息,释放与程序名和编译器的信息相对应的编译器的可用次数。
可选的,获取单元701,用于获取代码编译完成信息后,发送单元703,用于向程序集中存储设备发送程序集中存储请求,程序集中存储请求包括需要存储的程序名、编译器和时间,从而使程序集中存储设备通过编译器获取与程序名和时间相对应的程序并进行存储。
可选的,获取单元701,用于获取程序集中存储设备发送的程序的集中存储地址,存储地址为HTTP调用接口;根据HTTP调用接口,对程序进行分发部署。
图8为本申请具体实施例提供的一种代码编译系统,包括获取单元801、处理单元802和发送单元803。
获取单元801,用于获取代码编译请求,代码编译请求包括编译代码需要的编译器和代码存储地址;处理单元802,用于根据代码存储地址获取代码,并将代码通过编译器进行编译。
可选的,获取单元,用于统获取代码编译请求前,获取单元801,用于获取编译器版本信息表,编译器版本信息表包括编译服务器中需要存储的编译器的标识;处理单元803,用于根据编译器版本信息表中包括的编译器标识获取编译器,并将获取的编译器存储多个编译服务器中;处理单元803,还用于根据编译器所在的编译服务器,确定编译器信息,编译器信息用于表示编译服务器、编译器和编译器可用次数的对应关系;发送单元802,用于将编译器信息向任务调度设备发送。
可选的,获取单元801,还用于获取程序集中存储设备发送的程序集中存储指令,程序集中存储指令用于指示代码编译系统将编译后的程序存储到指定地址中,程序集中存储指令包括需要集中存储的程序名、编译器版本和程序存储对应的HTTP接口;处理单元803,用于调用HTTP接口将与需要集中存储的程序名对应的程序进行存储。
图9为本申请具体实施例提供的一种程序集中存储设备,包括获取单元901、处理单元902和发送单元903。
获取单元901,用于获取任务调度设备发送的程序集中存储请求,程序集中存储请求包括需要存储的程序名和编译器;处理单元902,用于根据程序集中存储请求确定与程序集中存储请求相对应的存储地址;发送单元903,用于向代码编译系统发送程序集中存储指令,程序集中存储指令包括存储接口、编译器和程序名,程序集中存储接口与存储地址相对应,程序集中存储接口是调用该存储地址的HTTP接口,使代码编译系统根据程序名和编译器通过HTTP接口向程序集中存储器发送程序。
可选的,发送单元903根据程序集中存储请求中包括的程序名和编译器版本向编译器发送程序集中存储指令时,发送单元903,向任务调度设备发送程序集中存储器的程序调用HTTP接口和存储的程序,以使任务调度设备根据程序调用HTTP接口对程序进行分发部署。
图10为本申请实施例提供的一种任务调度设备示意图。
如图10所示,该任务调度设备包括:处理器1001、存储器1002、通信接口1003。
处理器1001可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现前述本发明方法实施例所提供的技术方案。
存储器1002可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器1002可以存储应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明前述图2至图6中任务调度设备实施的步骤和方法实施例提供的任一可选技术方案的程序代码保存在存储器1002中,并由处理器1001来执行。
通信接口1003用以与代码仓库、用户、代码编译系统和程序集中存储设备。
其中,通信接口1003用以接收用户发送的代码编译请求,该代码编译请求包括需要编译的代码的名称和存储地址。处理器1001根据代码存储的地址获取代码中包括的编译配置文件,编译配置文件用于表示编译代码需要的编译器。处理器1001根据编译配置文件确定编译器信息中与编译配置文件相对应的编译器,其中,任务调度设备包括编译器信息,编译器信息包括当前可用的编译器。通信接口1003向代码编译系统发送代码编译请求,代码编译请求包括需要编译的代码和编译代码的编译器,使代码编译系统根据请求对代码进行编译。
编译器信息包括每个编译器的可用次数X,编译器的可用次数X用于表示编译器可以对X个代码进行编译,X为大于等于0的正整数。
通信接口1003还用于获取代码编译完成信息,代码编译完成信息包括程序名和编译代码的编译器的信息。处理器1001还用于根据代码编译完成信息,释放与程序名和编译器的信息相对应的编译器的可用次数。
通信接口1003,用于获取代码编译完成信息后,处理器1001用于向程序集中存储设备发送程序集中存储请求,程序集中存储请求包括需要存储的程序名、编译器和时间,从而使程序集中存储设备通过编译器获取与程序名和时间相对应的程序并进行存储。
通信接口1003用于获取程序集中存储设备发送的程序的集中存储地址,存储地址为HTTP调用接口;根据HTTP调用接口,对程序进行分发部署。
需要说明的,前述图1-9实施例中的任务调度设备所执行的步骤和具体实施例同样适用于本实施例图10所示的任务调度设备,为了说明书的简洁,在此不再赘述。
图11为本申请实施例提供的一种代码编译系统示意图。
如图11所示,该代码编译系统包括:处理器1101、存储器1102、通信接口1103。
处理器1101可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现前述本发明方法实施例所提供的技术方案。
存储器1102可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器1102可以存储应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明前述方法实施例提供的任一可选技术方案的程序代码保存在存储器1102中,并由处理器1101来执行。
通信接口1103与任务调度设备、程序集中存储设备和代码仓库通信。
具体的,通信接口1103代码编译系统获取代码编译请求,代码编译请求包括编译代码需要的编译器和代码存储地址;处理器1101根据代码存储地址获取代码,并将代码通过编译器进行编译。
通信接口1103统获取代码编译请求前,通信接口1103获取编译器版本信息表,编译器版本信息表包括编译服务器中需要存储的编译器的标识;处理器1101根据编译器版本信息表中包括的编译器标识获取编译器,并将获取的编译器存储多个编译服务器中。处理器1101根据编译器所在的编译服务器,确定编译器信息,编译器信息用于表示编译服务器、编译器和编译器可用次数的对应关系;通信接口1103将编译器信息向任务调度设备发送。
通信接口1103获取程序集中存储设备发送的程序集中存储指令,程序集中存储指令用于指示代码编译系统将编译后的程序存储到指定地址中,程序集中存储指令包括需要集中存储的程序名、编译器版本和程序存储对应的HTTP接口。处理器1101调用HTTP接口将与需要集中存储的程序名对应的程序进行存储。
图12为本申请实施例提供的一种程序集中存储设备示意图。
如图12所示,该程序集中存储设备包括:处理器1201、存储器1202、通信接口1203。
处理器1201可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现前述本发明方法实施例所提供的技术方案。
存储器1202可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器1202可以存储应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明前述方法实施例提供的任一可选技术方案的程序代码保存在存储器1202中,并由处理器1201来执行。
通信接口1203与任务调度设备和代码编译系统通信。
具体的,通信接口1203获取任务调度设备发送的程序集中存储请求,程序集中存储请求包括需要存储的程序名和编译器。处理器1201根据程序集中存储请求确定与程序集中存储请求相对应的存储地址。通信接口1203向代码编译系统发送程序集中存储指令,程序集中存储指令包括存储接口、编译器和程序名,程序集中存储接口与存储地址相对应,程序集中存储接口是调用该存储地址的HTTP接口,使代码编译系统根据程序名和编译器通过HTTP接口向程序集中存储器发送程序。
通信接口1203根据程序集中存储请求中包括的程序名和编译器版本向编译器发送程序集中存储指令时,通信接口1203向任务调度设备发送程序集中存储器的程序调用HTTP接口和存储的程序,以使任务调度设备根据程序调用HTTP接口对程序进行分发部署。
本申请具体实施例提供一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使得所示电子设备执行图3-图5所示的方法流程。
本申请的具体实施例中还提出了一种计算机程序产品,该计算机程序产品可用于路由设备运行。当该计算机程序产品在路由设备上运行时,使得路由设备执行如图3-图5任一项的流程。
需要说明的是,本申请提供实施例只是本申请所介绍的可选实施例,本领域技术人员在此基础上,完全可以设计出更多的实施例,因此不在此处赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或40组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (21)

1.一种多语言代码编译方法,其特征在于,所述方法包括:
任务调度设备获取代码编译请求,所述代码编译请求包括需要编译的代码的存储地址;
任务调度设备根据代码存储的地址获取代码中包括的编译配置文件,所述编译配置文件用于表示编译所述代码需要的编译器;
任务调度设备根据编译配置文件确定编译器信息中与编译配置文件相对应的编译器,其中,任务调度设备包括编译器信息,编译器信息包括当前可用的编译器;
任务调度设备向代码编译系统发送代码编译请求,所述代码编译请求包括需要编译的代码和编译所述代码的编译器,使所述代码编译系统根据所述请求中包括的编译器对所述代码进行编译。
2.根据权利要求1所述的方法,其特征在于,所述编译器信息包括每个编译器的可用次数X,所述编译器的可用次数X用于表示所述编译器可以对X个代码进行编译,所述X为大于等于0的正整数。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述任务调度设备,获取代码编译完成信息,所述代码编译完成信息包括程序名和编译所述代码的编译器的信息;
根据所述代码编译完成信息,释放与所述程序名和编译器信息相对应的编译器的可用次数。
4.根据权利要求3所述的方法,其特征在于,所述任务调度设备,获取代码编译完成信息,还包括:
向程序集中存储设备发送程序集中存储请求,所述程序集中存储请求包括需要存储的程序名、编译器和时间,从而使程序集中存储设备通过所述编译器获取与所述程序名和时间相对应的程序并进行存储。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
任务调度设备获取程序集中存储设备发送的所述程序的集中存储地址,所述存储地址为超文本传输协议HTTP调用接口;
根据所述HTTP调用接口,对所述程序进行分发部署。
6.一种多语言代码编译方法,其特征在于,所述方法包括:
代码编译系统获取代码编译请求,所述代码编译请求包括编译所述代码需要的编译器和代码存储地址;
代码编译系统根据代码存储地址获取所述代码,并将所述代码通过所述编译器进行编译。
7.根据权利要求6所述的方法,其特征在于,所述代码编译系统获取代码编译请求前,所述方法还包括:
代码编译系统获取编译器版本信息表,所述编译器版本信息表包括编译服务器中需要存储的编译器的标识;
代码编译系统根据编译器版本信息表中包括的编译器标识获取编译器,并将获取的编译器存储多个编译服务器中;
根据编译器存储的编译服务器,确定编译器信息,所述编译器信息用于表示编译服务器、编译器和编译器可用次数的对应关系;
将所述编译器信息向任务调度设备发送。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述代码编译系统获取程序集中存储设备发送的程序集中存储指令,所述程序集中存储指令用于指示代码编译系统将编译后的程序存储到指定地址中,所述程序集中存储指令包括需要集中存储的程序名、编译器版本和所述程序存储对应的HTTP接口;
代码编译系统调用HTTP接口将与需要集中存储的程序名对应的程序进行存储。
9.一种程序集中存储方法,其特征在于,所述方法包括:
程序集中存储设备获取任务调度设备发送的程序集中存储请求,所述程序集中存储请求包括需要存储的程序名和编译器;
程序集中存储设备根据程序集中存储请求确定与所述程序集中存储请求相对应的存储地址;
所述程序集中存储设备向代码编译系统发送程序集中存储指令,程序集中存储指令包括存储接口、编译器和程序名,所述程序集中存储接口与所述存储地址相对应,所述程序集中存储接口是调用该存储地址的HTTP接口,使所述代码编译系统根据所述程序名和编译器通过所述HTTP接口向程序集中存储器发送所述程序。
10.根据权利要求9所述的方法,其特征在于,所述方法包括:程序集中存储设备根据所述程序集中存储请求中包括的程序名和编译器版本向所述编译器发送所述程序集中存储指令时,所述方法还包括:
所述程序集中存储设备还向任务调度设备发送程序集中存储器的程序调用HTTP接口和存储的程序,以使所述任务调度设备根据所述程序调用HTTP接口对所述程序进行分发部署。
11.一种任务调度设备,其特征在于,所述方法包括:
获取单元,用于获取代码编译请求,所述代码编译请求包括需要编译的代码存储的地址;
获取单元,还用于根据代码存储的地址获取代码中包括的编译配置文件,所述编译配置文件用于表示编译所述代码需要的编译器;
处理单元,用于根据编译配置文件确定编译器信息中与编译配置文件相对应的编译器,其中,任务调度设备包括编译器信息,编译器信息包括当前可用的编译器;
发送单元,用于向代码编译系统发送代码编译请求,所述代码编译请求包括需要编译的代码和编译所述代码的编译器,使所述代码编译系统根据所述请求中包括的编译器对所述代码进行编译。
12.根据权利要求11所述的设备,其特征在于,所述编译器信息包括每个编译器的可用次数X,所述编译器的可用次数X用于表示所述编译器可以对X个代码进行编译,所述X为大于等于0的正整数。
13.根据权利要求12所述的设备,其特征在于,所述获取单元,还用于获取代码编译完成信息,所述代码编译完成信息包括程序名和编译所述代码的编译器的信息;
处理单元,还用于根据所述代码编译完成信息,释放与所述程序名和编译器的信息相对应的编译器的可用次数。
14.根据权利要求13所述的设备,其特征在于,所述获取单元,用于获取代码编译完成信息后,还包括:
发送单元,用于向程序集中存储设备发送程序集中存储请求,所述程序集中存储请求包括需要存储的程序名、编译器和时间,从而使程序集中存储设备通过所述编译器获取与所述程序名和时间相对应的程序并进行存储。
15.根据权利要求14所述的设备,其特征在于,获取单元,用于获取程序集中存储设备发送的所述程序的集中存储地址,所述存储地址为HTTP调用接口;根据所述HTTP调用接口,对所述程序进行分发部署。
16.一种代码编译设备,其特征在于,包括:
获取单元,用于代码编译系统获取代码编译请求,所述代码编译请求包括编译所述代码需要的编译器和代码存储地址;
处理单元,用于根据代码存储地址获取所述代码,并将所述代码通过所述编译器进行编译。
17.根据权利要求16所述的设备,其特征在于,所述获取单元,用于统获取代码编译请求前,所述设备还包括:
所述获取单元,用于获取编译器版本信息表,所述编译器版本信息表包括编译服务器中需要存储的编译器的标识;
所述处理单元,用于根据编译器版本信息表中包括的编译器标识获取编译器,并将获取的编译器存储多个编译服务器中;
所述处理单元,还用于根据编译器所在的编译服务器,确定编译器信息,所述编译器信息用于表示编译服务器、编译器和编译器可用次数的对应关系;
发送单元,用于将所述编译器信息向任务调度设备发送。
18.根据权利要求16所述的设备,其特征在于,所述获取单元,还用于获取程序集中存储设备发送的程序集中存储指令,所述程序集中存储指令用于指示代码编译系统将编译后的程序存储到指定地址中,所述程序集中存储指令包括需要集中存储的程序名、编译器版本和所述程序存储对应的HTTP接口;
所述处理单元,用于调用HTTP接口将与需要集中存储的程序名对应的程序进行存储。
19.一种程序集中存储设备,其特征在于,包括:
获取单元,用于获取任务调度设备发送的程序集中存储请求,所述程序集中存储请求包括需要存储的程序名和编译器;
处理单元,用于根据程序集中存储请求确定与所述程序集中存储请求相对应的存储地址;
发送单元,用于向代码编译系统发送程序集中存储指令,程序集中存储指令包括存储接口、编译器和程序名,所述程序集中存储接口与所述存储地址相对应,所述程序集中存储接口是调用该存储地址的HTTP接口,使所述代码编译系统根据所述程序名和编译器通过所述HTTP接口向程序集中存储器发送所述程序。
20.根据权利要求19所述的方法,其特征在于,所述方法包括:发送单元,用于根据所述程序集中存储请求中包括的程序名和编译器版本向所述编译器发送所述程序集中存储指令时,还包括:
所述发送单元,用于向任务调度设备发送程序集中存储器的程序调用HTTP接口和存储的程序,以使所述任务调度设备根据所述程序调用HTTP接口对所述程序进行分发部署。
21.本申请具体实施例提供一种多语言代码编译、分发系统,其特征在于,所述系统包括任务调度设备、代码编译系统和程序集中存储设备;
所述任务调度设备用于执行权利要求1-5任一项所述的方法;
所述代码编译系统用于执行权利要求6-8任一项所述的方法;
所述程序集中存储设备用于执行权利要求9或10所述的方法。
CN201711373562.0A 2017-12-19 2017-12-19 一种多语言代码编译方法、分发方法、装置和系统 Active CN107943486B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711373562.0A CN107943486B (zh) 2017-12-19 2017-12-19 一种多语言代码编译方法、分发方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711373562.0A CN107943486B (zh) 2017-12-19 2017-12-19 一种多语言代码编译方法、分发方法、装置和系统

Publications (2)

Publication Number Publication Date
CN107943486A true CN107943486A (zh) 2018-04-20
CN107943486B CN107943486B (zh) 2020-12-18

Family

ID=61942328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711373562.0A Active CN107943486B (zh) 2017-12-19 2017-12-19 一种多语言代码编译方法、分发方法、装置和系统

Country Status (1)

Country Link
CN (1) CN107943486B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897542A (zh) * 2018-04-24 2018-11-27 北京奇艺世纪科技有限公司 一种软件工程调整方法、装置及电子设备
CN109254776A (zh) * 2018-09-29 2019-01-22 深圳市雷赛控制技术有限公司 多语言代码编译方法及编译器
CN109388405A (zh) * 2018-10-25 2019-02-26 北京大米未来科技有限公司 一种任务处理方法、装置、电子设备及介质
CN109523383A (zh) * 2018-10-30 2019-03-26 广州斯拜若科技有限公司 一种智能合约转换系统及方法
CN110019145A (zh) * 2018-06-19 2019-07-16 杭州数澜科技有限公司 一种大数据平台的多环境级联的方法和装置
CN110275713A (zh) * 2019-07-02 2019-09-24 四川长虹电器股份有限公司 一种Java虚拟机后端编译的改进方法
CN110502241A (zh) * 2019-08-23 2019-11-26 深圳前海环融联易信息科技服务有限公司 智能合约在线编辑方法、装置、计算机设备及存储介质
CN110543144A (zh) * 2019-08-30 2019-12-06 天津施格自动化科技有限公司 图形化编程控制机器人的方法及系统
CN110795103A (zh) * 2019-09-27 2020-02-14 北京五八信息技术有限公司 一种代码编译方法以及编译机
CN110955432A (zh) * 2019-11-20 2020-04-03 中国联合网络通信集团有限公司 持续集成的发布方法、装置及系统
CN111290757A (zh) * 2018-12-10 2020-06-16 阿里巴巴集团控股有限公司 基于Weex的在线代码编译方法、装置及设备
CN111880802A (zh) * 2020-07-03 2020-11-03 深圳市欢太科技有限公司 一种编译方法、电子设备及计算机可读存储介质
CN111930346A (zh) * 2020-07-15 2020-11-13 北京百度网讯科技有限公司 人工智能信息的处理方法、装置、电子设备和存储介质
CN112346734A (zh) * 2020-11-06 2021-02-09 杭州和利时自动化有限公司 一种编译验证方法、装置、设备及计算机可读存储介质
CN112631599A (zh) * 2020-12-09 2021-04-09 潍柴动力股份有限公司 编译方法、装置和存储介质
WO2021243665A1 (zh) * 2020-06-04 2021-12-09 深圳市欢太科技有限公司 编译方法、编译装置、编译系统、存储介质与电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044531A1 (en) * 2003-06-09 2005-02-24 Erc-Ip, Llc Methods and systems for deploying computer source code
CN101836188A (zh) * 2007-10-26 2010-09-15 高通股份有限公司 基于服务器的代码编译
CN104965748A (zh) * 2015-06-03 2015-10-07 广州华多网络科技有限公司 编译平台、编译方法及装置
CN104978191A (zh) * 2015-06-24 2015-10-14 小米科技有限责任公司 应用部署方法和服务器
CN106528170A (zh) * 2016-11-25 2017-03-22 上海找钢网信息科技股份有限公司 一种基于多语言环境的软件包发布方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044531A1 (en) * 2003-06-09 2005-02-24 Erc-Ip, Llc Methods and systems for deploying computer source code
CN101836188A (zh) * 2007-10-26 2010-09-15 高通股份有限公司 基于服务器的代码编译
CN104965748A (zh) * 2015-06-03 2015-10-07 广州华多网络科技有限公司 编译平台、编译方法及装置
CN104978191A (zh) * 2015-06-24 2015-10-14 小米科技有限责任公司 应用部署方法和服务器
CN106528170A (zh) * 2016-11-25 2017-03-22 上海找钢网信息科技股份有限公司 一种基于多语言环境的软件包发布方法及系统

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897542A (zh) * 2018-04-24 2018-11-27 北京奇艺世纪科技有限公司 一种软件工程调整方法、装置及电子设备
CN110019145A (zh) * 2018-06-19 2019-07-16 杭州数澜科技有限公司 一种大数据平台的多环境级联的方法和装置
CN110019145B (zh) * 2018-06-19 2021-09-14 杭州数澜科技有限公司 一种大数据平台的多环境级联的方法和装置
CN109254776A (zh) * 2018-09-29 2019-01-22 深圳市雷赛控制技术有限公司 多语言代码编译方法及编译器
CN109388405A (zh) * 2018-10-25 2019-02-26 北京大米未来科技有限公司 一种任务处理方法、装置、电子设备及介质
CN109523383A (zh) * 2018-10-30 2019-03-26 广州斯拜若科技有限公司 一种智能合约转换系统及方法
CN109523383B (zh) * 2018-10-30 2022-01-21 广州斯拜若科技有限公司 一种智能合约转换系统及方法
CN111290757A (zh) * 2018-12-10 2020-06-16 阿里巴巴集团控股有限公司 基于Weex的在线代码编译方法、装置及设备
CN111290757B (zh) * 2018-12-10 2023-07-07 阿里巴巴(上海)有限公司 基于Weex的在线代码编译方法、装置及设备
CN110275713A (zh) * 2019-07-02 2019-09-24 四川长虹电器股份有限公司 一种Java虚拟机后端编译的改进方法
CN110502241A (zh) * 2019-08-23 2019-11-26 深圳前海环融联易信息科技服务有限公司 智能合约在线编辑方法、装置、计算机设备及存储介质
CN110543144B (zh) * 2019-08-30 2021-06-01 天津施格自动化科技有限公司 图形化编程控制机器人的方法及系统
CN110543144A (zh) * 2019-08-30 2019-12-06 天津施格自动化科技有限公司 图形化编程控制机器人的方法及系统
CN110795103A (zh) * 2019-09-27 2020-02-14 北京五八信息技术有限公司 一种代码编译方法以及编译机
CN110955432A (zh) * 2019-11-20 2020-04-03 中国联合网络通信集团有限公司 持续集成的发布方法、装置及系统
WO2021243665A1 (zh) * 2020-06-04 2021-12-09 深圳市欢太科技有限公司 编译方法、编译装置、编译系统、存储介质与电子设备
CN111880802A (zh) * 2020-07-03 2020-11-03 深圳市欢太科技有限公司 一种编译方法、电子设备及计算机可读存储介质
CN111930346A (zh) * 2020-07-15 2020-11-13 北京百度网讯科技有限公司 人工智能信息的处理方法、装置、电子设备和存储介质
CN111930346B (zh) * 2020-07-15 2023-04-25 北京百度网讯科技有限公司 人工智能信息的处理方法、装置、电子设备和存储介质
CN112346734A (zh) * 2020-11-06 2021-02-09 杭州和利时自动化有限公司 一种编译验证方法、装置、设备及计算机可读存储介质
CN112631599A (zh) * 2020-12-09 2021-04-09 潍柴动力股份有限公司 编译方法、装置和存储介质
CN112631599B (zh) * 2020-12-09 2024-03-19 潍柴动力股份有限公司 编译方法、装置和存储介质

Also Published As

Publication number Publication date
CN107943486B (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN107943486A (zh) 一种多语言代码编译方法、分发方法、装置和系统
CN112534398B (zh) 用于连接器开发和集成通道部署的系统和方法
Villamizar et al. Cost comparison of running web applications in the cloud using monolithic, microservice, and AWS Lambda architectures
TWI493465B (zh) 分配式應用程式堆疊與部署方法及系統
US20070028229A1 (en) Method and system for dynamic generation of computer system installation instructions
US20130152078A1 (en) Method and system for deploying multiple distributed application stacks on a target machine
CN108255993A (zh) 提取业务字段的方法、装置、电子设备及存储介质
CN102754411A (zh) 使用客户端-服务器网桥管理对象
CN106357738A (zh) 一种服务器集群的自动化部署方法、装置和系统
CN107707625A (zh) 基于Maven的前台资源打包并进行版本管理与使用的方法
US8027817B2 (en) Simulation management within a grid infrastructure
CN109522030B (zh) 基于一键生成多个游戏渠道包的平台出包方法
CN109871241A (zh) 一种跨环境应用服务器的配置方法
CN110716786B (zh) 一种页面展示方法、系统及存储介质
US10838712B1 (en) Lifecycle management for software-defined datacenters
CN109710263A (zh) 代码的编译方法、装置、存储介质及电子设备
CN108304184B (zh) 编译方法及装置
US10552148B2 (en) Building dynamic documentation based on installed services
EP1653351A1 (en) Method and computer system for effecting changes in a software system landscape
Veselý et al. Tools for modeling exemplary network infrastructures
US10509647B1 (en) Building dynamic documentation based on installed services
Koschel et al. On Testing Microservice Systems
Binder et al. Process Migration Framework-Virtualising and Documenting Business Processes
CN113608744B (zh) 一种用于执行分布式编译的环境构建单元的建立方法及分布式编译系统
CN113568755B (zh) 一种分布式编译系统及分布式编译方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20201118

Address after: Room 4-15, 4 / F, building 10, East District, No. 10 courtyard, northwest Wangdong Road, Haidian District, Beijing 100193

Applicant after: BEIJING WELINK Co.,Ltd.

Address before: 100084 Haidian District, Haidian District, Beijing, No. four layer 4034

Applicant before: BEIJING GALAXY CLOUD INFORMATION TECHNOLOGY Co.,Ltd.

Applicant before: BEIJING GALAXY WORLD GROUP Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant