本发明专利技术公开了编译系统、电子设备及可读介质。系统包括:多个编译设备、共享缓存服务器。共享缓存服务器,用于接收编译设备发送查询待编译对象对应的至少一个缓存中间件的请求;基于请求,反馈包含有缓存中间件的响应信息给编译设备。编译设备,用于获取编译对象,向共享缓存服务器发送查询缓存中间件的请求;接收共享缓存服务器反馈的包含有缓存中间件的响应信息,利用缓存中间件完成被分配的编译任务。通过上述技术方案,在编译代理服务器进行编译之前,先查找一下共享缓存服务器中是否存在有已经编译完成的与所述待编译对象对应的缓存中间件,如果存在对应的缓存中间件则不需要重复编译,从而能够有效提高编译系统的编译效率。从而能够有效提高编译系统的编译效率。从而能够有效提高编译系统的编译效率。
【技术实现步骤摘要】
编译系统、电子设备及可读介质
[0001]本专利技术实施例涉及互联网
,尤其涉及编译系统、电子设备及可读介质。
技术介绍
[0002]随着互联网技术的发展,软件业务日趋复杂化。在现有大型软件系统中,通常包含有众多业务代码子单元,若要对这些业务代码子单元进行编译,则需要花费很长时间。为此,现有技术采用分布式编译技术,通过解耦各个业务代码子单元分别进行编译,进而根据编译结果组装成最终的软件成品。
[0003]在实际应用中,利用分布式编译设备进行编译的时候,各个编译设备之间是相互独立执行各自编译任务,并且各个编译设备在执行编译任务的时候都会产生大量缓存中间件,这些缓存中间件均归属于各个分布式编译设备,编译设备会将自己编译得到的缓存中间件存储在本地供自己下次使用。当软件规模和复杂度达到一定程度的时候,面对针对大量缓存中间件进行编译的任务的时候,编译效率还是受到严重影响。
技术实现思路
[0004]本专利技术实施例提供编译系统、电子设备及可读介质,用以提高编译设备执行编译任务的效率。
[0005]第一方面,本专利技术实施例提供一种编译系统,所述系统包括:多个编译设备、共享缓存服务器;
[0006]所述共享缓存服务器,用于接收所述编译设备发送查询待编译对象对应的至少一个缓存中间件的请求;基于所述请求,反馈包含有缓存中间件的响应信息给所述编译设备;
[0007]多个编译设备中任一编译设备,用于获取编译对象,向所述共享缓存服务器发送查询所述至少一个缓存中间件的请求;接收所述共享缓存服务器反馈的包含有缓存中间件的所述响应信息,利用所述缓存中间件完成被分配的编译任务。
[0008]可选地,所述响应信息中还含有所述缓存中间件对应的哈希值;以及
[0009]所述编译设备,用于基于所述哈希值,对所述缓存中间件进行验证;验证通过时,利用接收到的所述缓存中间件完成被分配的编译任务。
[0010]可选地,所述编译设备,用于获取被分配的子任务;基于所述子任务,从所述代码资源服务器获取所述待编译对象,其中,所述待编译对象包括代码及所述代码相关的资源数据。
[0011]可选地,所述编译设备,用于根据所述代码及所述代码相关的资源数据,确定需求的至少一个缓存中间件对应标识;基于至少一个缓存中间件对应标识,向所述共享缓存服务器发送所述请求。
[0012]可选地,所述编译设备,用于根据所述待编译对象的名称与修改时间,生成所述标识。
[0013]可选地,所述共享缓存服务器用于,若所述共享缓存服务器针对所述请求反馈的
响应信息表征未查询到所述缓存中间件时,对所述待编译对象进行编译,得到编译中间件;
[0014]将所述编译中间件上传至共享缓存服务器,由共享缓存服务器对编译中间件进行存储。
[0015]可选地,所述共享缓存服务器,用于接收所述编译设备提供的所述缓存中间件;存储所述缓存中间件。
[0016]可选地,所述共享缓存服务器,用于计算并存储所述缓存中间件的全局唯一编码。
[0017]可选地,所述共享缓存服务器,用于计算并存储所述缓存中间件的全局唯一编码和哈希值。
[0018]可选地,所述系统还包括:中台设备;所述中台设备,用于将从编译任务中拆解得到的编译对象分配给所述编译设备,以便编译设备向共享缓存服务器发送查询待编译对象对应的至少一个缓存中间件的请求,以及所述编译设备根据接收到的含有缓存中间件的响应信息完成所述中台设备分配的编译任务。
[0019]可选地,所述系统还包括:代码资源服务器;所述代码资源服务器,用于存储多个所述待编译对象。
[0020]可选地,所述代码资源服务器中存储有所述待编译对象是否被获取过的标记;以及,所述代码资源服务器还用于,若所述待编译对象对应所述标记为被获取过,则向所述共享缓存服务器发送查询所述待编译对象对应的至少一个缓存中间件的请求;若所述待编译对象对应所述标记为未被获取过,对所述待编译对象进行编译。
[0021]第二方面,本专利技术实施例还提供一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现根据第一方面所述的编译系统。
[0022]第三方面,本专利技术实施例还提供一种计算机可读介质,其上存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现根据第一方面所述的编译系统。
[0023]在本专利技术实施例中,通过搭建一个具有共享缓存服务器的编译系统,在该编译系统中,利用编译设备执行被分配的编译任务。具体来说,编译设备获取到从编译任务中被拆分得到的待编译对象。进而,编译设备在执行针对待编译对象的编译任务之前,向共享缓存服务器发送用于查询待编译对象对应的至少一个缓存中间件的请求,共享缓存服务器查询待编译对象对应的至少一个缓存中间件的请求;基于所述请求,反馈包含有缓存中间件的响应信息给所述编译设备;进而编译设备利用得到的缓存中间件完成被分配的编译任务。通过上述技术方案,在编译代理服务器进行编译之前,先查找一下共享缓存服务器中是否存在有已经编译完成的与所述待编译对象对应的缓存中间件,如果存在则避免了重复编译,实现不同编译设备之间的缓存中间件共享,从而能够有效提高编译系统的编译效率。
附图说明
[0024]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]图1为本申请实施例提供的一种编译系统的结构示意图;
[0026]图2为本申请实施例提供的一种编译方法的流程示意图;
[0027]图3为本申请实施例提供的另一种编译方法的流程示意图;
[0028]图4为本申请实施例提供的一种编译系统搭建过程的流程示意图;
[0029]图5为本申请实施例提供的一种编译过程的示意图;
[0030]图6为本申请实施例提供的一种编译装置的结构示意图;
[0031]图7为本申请实施例提供的另一种编译装置的结构示意图;
[0032]图8为与图6所述实施例提供的编译装置对应的电子设备的结构示意图。
具体实施方式
[0033]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0034]在本专利技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术实施例和所附权利要求书中所使用的本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种编译系统,其特征在于,所述系统包括:多个编译设备、共享缓存服务器;所述共享缓存服务器,用于接收所述编译设备发送查询待编译对象对应的至少一个缓存中间件的请求;基于所述请求,反馈包含有缓存中间件的响应信息给所述编译设备;多个编译设备中任一编译设备,用于获取编译对象,向所述共享缓存服务器发送查询所述至少一个缓存中间件的请求;接收所述共享缓存服务器反馈的包含有缓存中间件的所述响应信息,利用所述缓存中间件完成被分配的编译任务。2.根据权利要求1所述的系统,其特征在于,所述响应信息中还含有所述缓存中间件对应的哈希值;以及所述编译设备,用于基于所述哈希值,对所述缓存中间件进行验证;验证通过时,利用接收到的所述缓存中间件完成被分配的编译任务。3.根据权利要求2所述的系统,其特征在于,所述编译设备,用于获取被分配的子任务;基于所述子任务,从代码资源服务器获取所述待编译对象,其中,所述待编译对象包括代码及所述代码相关的资源数据。4.根据权利要求3所述的系统,其特征在于,所述编译设备,用于根据所述代码及所述代码相关的资源数据,确定需求的至少一个缓存中间件对应标识;基于至少一个缓存中间件对应标识,向所述共享缓存服务器发送所述请求。5.根据权利要求4所述的系统,其特征在于,所述编译设备,用于根据所述待编译对象的名称与修改时间,生成所述标识。6.根据权利要求1所述的系统,其特征在于,还包括:所述共享缓存服务器用于,若所述共享缓存服务器针对所述请求反馈的响应信息表征未查询到所述缓存中间件时,对所述待编译对象进行编译,得到编译中间件;将所述编译中间件上传至共享缓存服务器,由共享缓存服务器对编译中间件进行存储。7.根据权利要求6所述的系统,其特征在于,还包括:所述共享...
【专利技术属性】
技术研发人员:范靖宇,杨映宝,
申请(专利权)人:成都完美天智游科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。