分布式编译方法、装置、设备及介质制造方法及图纸

技术编号:36651086 阅读:12 留言:0更新日期:2023-02-18 13:13
本公开实施例涉及一种分布式编译方法、装置、设备及介质。其中,分布式编译方法包括:获取待编译任务;确定待编译任务的编译任务类型;在编译任务类型属于第一类任务类型的情况下,将待编译任务对应的第一编译请求发送至分布式的服务集群,第一编译请求用于使服务集群执行待编译任务。根据本公开实施例,可以将待编译任务派发到远端的服务集群上进行执行,大幅提升编译的并发能力,缩短编译时间,并且降低对本地内容的资源占用,提高本地内存的处理能力。能力。能力。

【技术实现步骤摘要】
分布式编译方法、装置、设备及介质


[0001]本公开涉及计算机
,尤其涉及一种分布式编译方法、装置、设备及介质。

技术介绍

[0002]代码编译是将程序员编写的程序源码通过编译程序编译为机器可执行文件的过程。
[0003]一般情况下,Swift编程语言所编写的程序源码只能在本地计算机上编译。随着开发项目的工程规模的逐渐增大,大量的程序源码不但会导致编译时间越来越长,使得开发项目的过程中浪费了大量时间等待编译完成,还会占用本地计算机的资源,降低本地计算机的处理性能。

技术实现思路

[0004]为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种分布式编译方法、装置、设备及介质。
[0005]第一方面,本公开提供了一种分布式编译方法,包括:
[0006]获取待编译任务;
[0007]确定待编译任务的编译任务类型;
[0008]在编译任务类型属于第一类任务类型的情况下,将待编译任务对应的第一编译请求发送至分布式的服务集群,第一编译请求用于使服务集群执行待编译任务。
[0009]第二方面,本公开提供了一种分布式编译装置,包括:
[0010]任务获取单元,配置为获取待编译任务;
[0011]类型确定单元,配置为确定待编译任务的编译任务类型;
[0012]第一发送单元,配置为在编译任务类型属于第一类任务类型的情况下,将待编译任务对应的第一编译请求发送至分布式的服务集群,第一编译请求用于使服务集群执行待编译任务。
[0013]第三方面,本公开提供了一种分布式编译设备,包括:
[0014]处理器;
[0015]存储器,用于存储可执行指令;
[0016]其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现第一方面的分布式编译方法。
[0017]第四方面,本公开提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现第一方面的分布式编译方法。
[0018]本公开实施例提供的技术方案与现有技术相比具有如下优点:
[0019]本公开实施例的分布式编译方法、装置、设备及介质,能够在获取到待编译任务之后,确定待编译任务的编译任务类型,并且在编译任务类型属于第一类任务类型的情况下,将待编译任务对应的第一编译请求发送至分布式的服务集群,使服务集群响应于第一编译
请求执行待编译任务,由此,可以将待编译任务派发到远端的服务集群上进行执行,大幅提升编译的并发能力,缩短编译时间,并且降低对本地内容的资源占用,提高本地内存的处理能力。
附图说明
[0020]结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
[0021]图1为相关技术中一种编译处理的示意图;
[0022]图2为本公开实施例提供的一种分布式编译的架构图;
[0023]图3为本公开实施例提供的一种分布式编译方法的流程示意图;
[0024]图4为本公开实施例提供的一种分布式编译的示意图;
[0025]图5为本公开实施例提供的另一种分布式编译的示意图;
[0026]图6为本公开实施例提供的一种分布式编译装置的结构示意图;
[0027]图7为本公开实施例提供的一种分布式编译设备的结构示意图。
具体实施方式
[0028]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0029]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0030]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0031]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0032]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0033]本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0034]代码编译是将程序源码通过编译程序编译为机器可执行文件的过程。一般情况下,Swift编程语言所编写的程序源码只能在本地计算机上编译。示例性的,图1为相关技术中一种编译处理的示意图,如图1所示,图中的编译驱动器110可以是Swift的编译驱动器(SwiftDrivier),Swift编程语言所编写的程序源码可以通过图中的Swift的编译驱动器(SwiftDrivier)触发待编译任务,然后在编译驱动器110所属的计算机的本地内存120上进
行编译,待编译任务的数量可以为多个,每个待编译任务可以对应本地内存120中的一个线程。上述方式存在明显的局限性,也即编译效率和当前执行待编译任务的计算机性能直接相关,单一的计算机性能无法实现扩展,随着程序源码增多编译时间也会越来越长,还会占用本地计算机的资源,降低本地计算机的处理性能。
[0035]为了解决上述技术问题,本公开实施例提供了一种网络连接的处理方案,示例性的,图2示出了本公开实施例提供的一种分布式编译的架构图。如图2所示,该架构图中可以包括本地计算机210以及服务集群220。本地计算机210可以包括编译驱动器211和编译代理器212。编译代理器212可以通过网络协议如超文本传输安全协议(Hyper Text Transfer Protocolover Secure Socket Layer,HTTPS)与服务集群220建立连接并进行信息交互。其中,本地计算机可以是移动电话、平板电脑、台式计算机、笔记本电脑、车载终端、可穿戴设备、一体机、智能家居设备等具有通信功能的设备。服务集群220可以是分布式的云服务器集群等具有存储及计算功能的设备集群。服务集群220可以包括多个服务节点221,服务节点221可以为一台计算机、一台服务器、或者一台计算机或一台服务器中的一个线程。
[0036]基于上述架构,编译驱动器211可以用于获本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式编译方法,其特征在于,包括:获取待编译任务;确定所述待编译任务的编译任务类型;在所述编译任务类型属于第一类任务类型的情况下,将所述待编译任务对应的第一编译请求发送至分布式的服务集群,所述第一编译请求用于使所述服务集群执行所述待编译任务。2.根据权利要求1所述的方法,其特征在于,所述获取待编译任务,包括:接收原生编译驱动器发送的重定向请求;获取所述重定向请求携带的所述待编译任务。3.根据权利要求1所述的方法,其特征在于,在所述将所述待编译任务对应的第一编译请求发送至分布式的服务集群之前,所述方法还包括:分析所述待编译任务的依赖文件;其中,所述将所述待编译任务对应的第一编译请求发送至分布式的服务集群,包括:将携带有所述依赖文件的所述第一编译请求发送至所述服务集群,所述第一编译请求用于使所述服务集群基于所述依赖文件执行所述待编译任务。4.根据权利要求1所述的方法,其特征在于,在所述将所述待编译任务对应的第一编译请求发送至分布式的服务集群之后,所述方法包括:接收依赖文件获取请求,所述依赖文件获取请求由所述服务集群在未查询到所述待编译任务的依赖文件的情况下发送;分析所述待编译任务的所述依赖文件;向所述服务集群发送所述依赖文件,所述依赖文件用于使所述服务集群执行所述待编译任务。5.根据权利要求1所述的方法,其特征在于,所述第一类任务类型根据各个所述编译任务类型对应的数据传输量、各个所述编译任务类型对应的数据处理量和各个所述编译任务类型对应的编译器类型中的至少一种确定。6.根据权利要求1或5所述的方法,其特征在于,在所述确定所述待编...

【专利技术属性】
技术研发人员:彭飞
申请(专利权)人:北京字跳网络技术有限公司
类型:发明
国别省市:

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

1