一种多语言代码编译方法、分发方法、装置和系统制造方法及图纸

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

【技术实现步骤摘要】
一种多语言代码编译方法、分发方法、装置和系统
本申请涉及计算机语言程序
,尤其涉及一种多语言代码编译方法、分发方法、装置和系统。
技术介绍
在软件研发过程中,可能会使用各种各样的集成开发环境(IntegratedDevelopmentEnvironment,简称IDE)软件,作为程序开发环境的应用程序。IDE软件一般包含代码编辑器、编译器、调试器、插件管理器及用户图形界面。针对开发语言的不同,IDE软件种类也较多,例如,PHP程序开发中使用的PHPStorm、ZendStudio,JAVA程序开发中使用的Eclipse、IntelliJ,.Net程序开发中使用的MicrosoftVisualStudio等。集成开发环境软件还包括针对特定开发语言的编译器。通过编译器生成可执行的程序,供用户调试。大型项目在研发过程中,不仅包括单一语言的程序开发,其更多的采用多开发语言结合的方式进行多程序的组合编程。例如,使用PHP开发语言进行前端商城系统研发,后台系统使用JAVA开发语言,以及使用了JavaScript等。因此,单一IDE软件无法为多语言的程序开发方便的提供多语言代码的编译。过多的环境,也容易使不同用户本地研发环境差异,最终导致编译失败或软件BUG。软件程序在编译后,需要分发到生产环境来提供服务。根据业务的复杂程度及研发流程的规定,在分发到生产环境之前,软件程序需要经过开发环境、测试环境、压测环境、预发布环境、灰度发布环境等环境测试验证通过。这些不同环境的软件程序,在分发优先级上也有一定区别,例如开发环境需要尽快的编译及分发,以方便用户进行调试及验证,而测试环境、压测环境则需要根据测试人员计划来分发部署,预发布环境、灰度发布环境、生产环境的分发部署权限则交给运维人员。各环境也会产生大量分散存储的软件程序,给予代码的统一管理带来挑战。多语言软件程序的分发部署方法也不尽相同,呈现多样性。一个分发部署任务,包括应用环境初始化、应用服务器启停、软件程序分发、服务注册注销等一系列子任务,这些分发部署任务需要经常性的使用,其存储、执行情况、结果反馈需要完善。
技术实现思路
为了解决上述技术问题,本申请具体实施例提供一种多语言代码编译方法、分发方法、装置和系统,从而对不同语言的不同版本的代码进行编译和集中存储。本申请是通过如下方式实现的:第一方面,本申请具体实施例提供一种多语言代码编译方法,包括:任务调度设备获取代码编译请求,代码编译请求包括需要编译的代码的存储地址;任务调度设备根据代码存储的地址获取代码中包括的编译配置文件,编译配置文件用于表示编译代码需要的编译器;任务调度设备根据编译配置文件确定编译器信息中与编译配置文件相对应的编译器,其中,任务调度设备包括编译器信息,编译器信息包括当前可用的编译器;任务调度设备向代码编译系统发送代码编译请求,代码编译请求包括需要编译的代码和编译代码的编译器,使代码编译系统根据请求中包括的编译器对代码进行编译。在一个可能的设计中,编译器信息包括每个编译器的可用次数X,编译器的可用次数X用于表示编译器可以对X个代码进行编译,X为大于等于0的正整数;在一个可能的设计中,还包括:任务调度设备,获取代码编译完成信息,代码编译完成信息包括程序名和编译代码的编译器的信息;根据代码编译完成信息,释放与程序名和编译器信息相对应的编译器的可用次数。在一个可能的设计中,任务调度设备,获取代码编译完成信息,还包括:向程序集中存储设备发送程序集中存储请求,程序集中存储请求包括需要存储的程序名、编译器和时间,从而使程序集中存储设备通过编译器获取与程序名和时间相对应的程序并进行存储。在一个可能的设计中,还包括:任务调度设备获取程序集中存储设备发送的程序的集中存储地址,存储地址为超文本传输协议(HTTP,HyperTextTransferProtocol)调用接口;根据HTTP调用接口,对程序进行分发部署。第二方面,本申请具体实施例提供一种多语言代码编译方法,包括:代码编译系统获取代码编译请求,代码编译请求包括编译代码需要的编译器和代码存储地址;代码编译系统根据代码存储地址获取代码,并将代码通过编译器进行编译。在一个可能的设计中,代码编译系统获取代码编译请求前,还包括:代码编译系统获取编译器版本信息表,编译器版本信息表包括编译服务器中需要存储的编译器的标识;代码编译系统根据编译器版本信息表中包括的编译器标识获取编译器,并将获取的编译器存储多个编译服务器中;根据编译器存储的编译服务器,确定编译器信息,编译器信息用于表示编译服务器、编译器和编译器可用次数的对应关系;将编译器信息向任务调度设备发送。在一个可能的设计中,还包括:代码编译系统获取程序集中存储设备发送的程序集中存储指令,程序集中存储指令用于指示代码编译系统将编译后的程序存储到指定地址中,程序集中存储指令包括需要集中存储的程序名、编译器版本和程序存储对应的HTTP接口;代码编译系统调用HTTP接口将与需要集中存储的程序名对应的程序进行存储。第三方面,本申请具体实施例提供一种程序集中存储方法,包括:程序集中存储设备获取任务调度设备发送的程序集中存储请求,程序集中存储请求包括需要存储的程序名和编译器;程序集中存储设备根据程序集中存储请求确定与程序集中存储请求相对应的存储地址;程序集中存储设备向代码编译系统发送程序集中存储指令,程序集中存储指令包括存储接口、编译器和程序名,程序集中存储接口与存储地址相对应,程序集中存储接口是调用该存储地址的HTTP接口,使代码编译系统根据程序名和编译器通过HTTP接口向程序集中存储器发送程序。在一个可能的设计中,包括:程序集中存储设备根据程序集中存储请求中包括的程序名和编译器版本向编译器发送程序集中存储指令时,还包括:程序集中存储设备还向任务调度设备发送程序集中存储器的程序调用HTTP接口和存储的程序,以使任务调度设备根据程序调用HTTP接口对程序进行分发部署。第四方面,本申请具体实施例提供一种任务调度设备,包括:获取单元,用于获取代码编译请求,代码编译请求包括需要编译的代码存储的地址;获取单元,还用于根据代码存储的地址获取代码中包括的编译配置文件,编译配置文件用于表示编译代码需要的编译器;处理单元,用于根据编译配置文件胡确定编译器信息中与编译配置文件相对应的编译器,其中,任务调度设备包括编译器信息,编译器信息包括当前可用的编译器;发送单元,用于向代码编译系统发送代码编译请求,代码编译请求包括需要编译的代码和编译代码的编译器,使代码编译系统根据请求中包括的编译器对代码进行编译。在一个可能的设计中,编译器信息包括每个编译器的可用次数X,编译器的可用次数X用于表示编译器可以对X个代码进行编译,X为大于等于0的正整数。在一个可能的设计中,获取单元,还用于获取代码编译完成信息,代码编译完成信息包括程序名和编译代码的编译器的信息;处理单元,还用于根据代码编译完成信息,释放与程序名和编译器的信息相对应的编译器的可用次数。在一个可能的设计中,获取单元,用于获取代码编译完成信息后,还包括:发送单元,用于向程序集中存储设备发送程序集中存储请求,程序集中存储请求包括需要存储的程序名、编译器和时间,从而使程序集中存储设备通过编译器获取与本文档来自技高网
...
一种多语言代码编译方法、分发方法、装置和系统

【技术保护点】
一种多语言代码编译方法,其特征在于,所述方法包括:任务调度设备获取代码编译请求,所述代码编译请求包括需要编译的代码的存储地址;任务调度设备根据代码存储的地址获取代码中包括的编译配置文件,所述编译配置文件用于表示编译所述代码需要的编译器;任务调度设备根据编译配置文件确定编译器信息中与编译配置文件相对应的编译器,其中,任务调度设备包括编译器信息,编译器信息包括当前可用的编译器;任务调度设备向代码编译系统发送代码编译请求,所述代码编译请求包括需要编译的代码和编译所述代码的编译器,使所述代码编译系统根据所述请求中包括的编译器对所述代码进行编译。

【技术特征摘要】
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.一种任务调度设备,其特征在于,所述方法包括:获取单元,用于获取代码编译请求,所述代码编译请求包括需要编译的代码存储的地址;获取单元,还用于根据代码存储的地址获取代...

【专利技术属性】
技术研发人员:梁鑫张鹏飞牛宇斌王佳
申请(专利权)人:北京星河星云信息技术有限公司北京星河世界集团有限公司
类型:发明
国别省市:北京,11

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

1