代码下载方法和编译服务器与流程

文档序号:12596531阅读:217来源:国知局
代码下载方法和编译服务器与流程

本公开涉及通信技术,特别涉及一种代码下载方法和编译服务器。



背景技术:

目前,代码开发者可以将其开发的所有代码存储在代码服务器中,使得设置在各机房的编译服务器在需要使用某一代码时,可以通过运行打包脚本,自行从代码服务器中下载该代码,以对该代码进行打包。

然而,由于上述设置在各机房的编译服务器在从代码服务器中下载代码时,均从同一代码服务器下载代码,使得代码服务器的开销较大、可靠性较低。



技术实现要素:

为克服相关技术中存在的问题,本公开提供一种代码下载方法和编译服务器。技术方案如下:

根据本公开实施例的第一方面,提供一种代码下载方法,包括:

编译服务器获取代码下载请求;所述代码下载请求包括:待下载代码对应的主服务器域名;

所述编译服务器将所述待下载代码对应的主服务器域名替换为所述待下载代码对应的目标从服务器域名;

所述编译服务器根据所述待下载代码对应的目标从服务器域名,从所述目标从服务器下载所述待下载代码。

本公开的实施例提供的技术方案可以包括以下有益效果:在编译服务器所在的机房设置有主服务器的从服务器时,编译服务器在下载代码时,可以在获取到代码下载请求之后,可以将与编译服务器位于同一机房的从服务器域名作为目标从服务器域名,将代码下载请求中所携带的主服务器域名替换为该目标从服务器域名,进而使得编译服务器可以通过该目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码,而不用再去主服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大出现系统崩溃的概率,提高了主服务器的可靠性。

可选的,所述编译服务器将所述待下载代码对应的主服务器域名替换为所述待下载代码对应的目标从服务器域名,包括:

所述编译服务器根据预设的指示信息,确定是否在所述目标从服务器下载所述待下载代码;

若确定在所述目标从服务器下载所述待下载代码,则所述编译服务器将所述代码下载请求中的所述待下载代码对应的主服务器域名替换为所述待下载代码对应的目标从服务器域名,生成新的代码下载请求。

本公开的实施例提供的技术方案可以包括以下有益效果:编译服务器在获取到代码下载请求之后,可以先确定是否在目标从服务器上下载待下载代码,进而在确定在目标从服务器上下载待下载代码时,将代码下载请求中所携带的主服务器域名替换为该目标从服务器域名,生成新的代码下载请求,进而使得编译服务器可以通过执行该新的代码下载请求,以根据该新的代码下载请求中携带的目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码,而不用再去主服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大出现系统崩溃的概率,提高了主服务器的可靠性。

可选的,所述方法还包括:

所述编译服务器获取预设的目标从服务器域名。

本公开的实施例提供的技术方案可以包括以下有益效果:编译服务器在确定在目标从服务器上下载待下载代码时,可以使用所获取的预设的目标从服务器域名,替换代码下载请求中的待下载代码对应的主服务器域名,生成新的代码下载请求,进而使得编译服务器可以通过执行该新的代码下载请求,以根据该新的代码下载请求中携带的目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码,而不用再去主服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大出现系统崩溃的概率,提高了主服务器的可靠性。

可选的,所述方法还包括:

所述编译服务器获取从服务器域名列表中各从服务器的当前下载量;

所述编译服务器将当前下载量最小的从服务器域名作为所述目标从服务器域名。

本公开的实施例提供的技术方案可以包括以下有益效果:编译服务器通过获取从服务器域名列表中各从服务器的当前下载量,并将当前下载量最小的从服务器域名作为所述目标从服务器域名,以替换代码下载请求中的待下载代码对应的主服务器域名,从而使得编译服务器可以从当前下载量最小的从服务器上下载待下载代码,确保了各从服务器的负载均衡,避免了某一从服务器因下载量过大出现系统崩溃的情况。

可选的,所述编译服务器的地址段与所述目标从服务器的地址段相同,所述编译服务器的地址段与所述主服务器的地址段不同。

本公开的实施例提供的技术方案可以包括以下有益效果:若主服务器与编译服务器不在同一个机房,目标从服务器与编译服务器在同一个机房,即主服务器与编译服务器不在同一个地址段,目标从服务器与编译服务器在同一个地址段,则通过编译服务器在位于同一机房的目标从服务器上下载该下载代码的方式,可以加快编译服务器下载待下载代码的速率,提高编译服务器下载该待下载代码的效率。

根据本公开实施例的第二方面,提供一种编译服务器,包括:

第一获取模块,被配置为获取代码下载请求;所述代码下载请求包括:待下载代码对应的主服务器域名;

替换模块,被配置为将所述待下载代码对应的主服务器域名替换为所述待下载代码对应的目标从服务器域名;

下载模块,被配置为根据所述待下载代码对应的目标从服务器域名,从所述目标从服务器下载所述待下载代码。

本公开的实施例提供的技术方案可以包括以下有益效果:在编译服务器所在的机房设置有主服务器的从服务器时,编译服务器在下载代码时,替换模块可以在第一获取模块获取到代码下载请求之后,将与编译服务器位于同一机房的从服务器域名作为目标从服务器域名,将代码下载请求中所携带的主服务器域名替换为该目标从服务器域名,进而使得下载模块可以通过该目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码,而不用再去主服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大出现系统崩溃的概率,提高了主服务器的可靠性。

可选的,所述替换模块,包括:

确定子模块,被配置为根据预设的指示信息,确定是否在所述目标从服务器下载所述待下载代码;

替换子模块,被配置为确定在所述目标从服务器下载所述待下载代码时,将所述代码下载请求中的所述待下载代码对应的主服务器域名替换为所述待下载代码对应的目标从服务器域名,生成新的代码下载请求。

本公开的实施例提供的技术方案可以包括以下有益效果:获取模块在获取到代码下载请求之后,替换模块的确定子模块可以先确定是否在目标从服务器上下载待下载代码,进而使得替换模块的替换子模块在确定在目标从服务器上下载待下载代码时,将与编译服务器位于同一机房的从服务器域名作为目标从服务器域名,以将代码下载请求中所携带的主服务器域名替换为该目标从服务器域名,进而使得下载模块可以通过该目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码,而不用再去主服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大出现系统崩溃的概率,提高了主服务器的可靠性。

可选的,所述编译服务器,还包括:

第二获取模块,被配置为获取预设的目标从服务器域名。

本公开的实施例提供的技术方案可以包括以下有益效果:第二获取模块可以先获取预设的目标从服务器域名,以使得替换模块的替换子模块可以将代码下载请求中所携带的主服务器域名替换为该预设的目标从服务器域名,进而使得下载模块可以通过该目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码,而不用再去主服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大出现系统崩溃的概率,提高了主服务器的可靠性。

可选的,所述编译服务器,还包括:

第三获取模块,被配置为获取从服务器域名列表中各从服务器的当前下载量;

处理模块,被配置为将当前下载量最小的从服务器域名作为所述目标从服务器域名。

本公开的实施例提供的技术方案可以包括以下有益效果:第三获取模块可以先获取同机房中的从服务器域名列表中各从服务器的当前下载量,以使得处理模块可以将当前下载量最小的从服务器域名作为目标从服务器域名,从而使得替换模块的替换子模块可以将代码下载请求中所携带的主服务器域名替换为该目标从服务器域名,进而使得下载模块可以通过该目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码时,在降低了主服务器的开销的同时,确保了各从服务器的负载均衡,避免了某一从服务器因下载量过大出现系统崩溃的情况。

可选的,所述编译服务器的地址段与所述目标从服务器的地址段相同,所述编译服务器的地址段与所述主服务器的地址段不同。

本公开的实施例提供的技术方案可以包括以下有益效果:在主服务器与编译服务器不在同一个机房,目标从服务器与编译服务器在同一个机房时,可以使下载模块在位于同一机房的目标从服务器上下载该下载代码时,加快下载待下载代码的速率,提高了下载该待下载代码的效率。

根据本公开实施例的第三方面,提供一种编译服务器,包括:

处理器;

用于存储处理器的可执行指令的存储器;

其中,处理器被配置为:

获取代码下载请求;代码下载请求包括:待下载代码对应的主服务器域名;

将待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名;

根据待下载代码对应的目标从服务器域名,从目标从服务器下载待下载代码。

本公开的实施例提供的技术方案可以包括以下有益效果:在编译服务器所在的机房设置有主服务器的从服务器时,编译服务器在下载代码时,可以在获取到代码下载请求之后,可以将与编译服务器位于同一机房的从服务器域名作为目标从服务器域名,将代码下载请求中所携带的主服务器域名替换为该目标从服务器域名,进而使得编译服务器可以通过该目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码,而不用再去主服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大出现系统崩溃的概率,提高了主服务器的可靠性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是根据一示例性实施例示出的一种代码下载方法的应用场景图;

图2是根据一示例性实施例示出的一种代码下载方法的流程图;

图3是根据另一示例性实施例示出的一种代码下载方法的流程图;

图4是根据另一示例性实施例示出的一种代码下载方法的信令流程图;

图5是根据一示例性实施例示出的一种编译服务器的框图;

图6是根据另一示例性实施例示出的一种编译服务器的框图;

图7是根据另一示例性实施例示出的一种编译服务器的框图;

图8是根据另一示例性实施例示出的一种编译服务器的框图;

图9是根据一示例性实施例示出的一种编译服务器900的框图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种代码下载方法的应用场景图。如图1所示,该应用场景例如可以包括:编译服务器101、主服务器102和目标从服务器103。其中,编译服务器101与主服务器102和目标从服务器103均可以通信。

在本公开中,主服务器102和目标从服务器103均为代码服务器。其中,目标从服务器103为主服务器102的备份服务器,即代码开发人员将所开发的代码存储在主服务器102中,目标从服务器103通过同步主服务器102存储的代码,以与主服务器102存储相同的代码。在本实施中,编译服务器101与目标从服务器103位于同一机房,即编译服务器101的地址段与目标从服务器103的地址段相同,编译服务器101与主服务器102可以位于相同的机房,或者不同的机房,即编译服务器101的地址段与主服务器102的地址段可以相同,也可以不同。这里所说的地址段可以是网络之间互连的协议(Internet Protocol,简称:IP)地址的网段。

本公开提供的代码下载方法,旨在解决相关技术中设置在各机房的编译服务器在从代码服务器中下载代码时,均从同一代码服务器下载代码,使得代码服务器的开销较大、可靠性较低的技术问题。当然,本公开提供的代码下载方法,包括但不限于以上应用场景,只要涉及下载代码的所有场景,均可以采用本公开所提供的代码下载方法。

下面以具体地实施例对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图2是根据一示例性实施例示出的一种代码下载方法的流程图。如图2所示,在本实施例中,编译服务器所在的机房设置有目标从服务器,即编译服务器所在的机房设置有与编译服务器相同地址段的目标从服务器,本实施例涉及的是编译服务器在获取到代码下载请求之后,将待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名,以从与编译服务器位于同一机房的目标从服务器下载待下载代码的具体过程,该方法可以包括以下步骤:

在步骤S101中,编译服务器获取代码下载请求。

具体的,上述编译服务器可以获取到用于下载待下载代码的代码下载请求。其中,该代码下载请求可以包括待下载代码对应的主服务器域名,以指示编译服务器根据该主服务域名,从主服务器下载该待下载代码。

本实施例不限定上述编译服务器获取代码下载请求的具体实现方式。例如:上述编译服务器可以通过接收用户输入的代码下载请求,获取该代码下载请求。上述编译服务器还可以通过运行打包脚本,获取预设在打包脚本中的代码下载请求。其中,该打包脚本可以为编译服务器从主服务器中下载的打包脚本。

在步骤S102中,编译服务器将待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名。

具体的,上述编译服务器在获取到代码下载请求之后,可以使用与编译服务器位于同一机房的目标从服务器的域名,即使用与编译服务器具有相同地址段的目标从服务器域名替换代码下载请求中所携带的待下载代码对应的主服务器域名。也就是说,上述编译服务器可以将待下载代码对应的主服务器域名替换为与编译服务器位于同一机房的目标从服务器的域名。因此,编译服务器可以根据该目标从服务器域名,从与编译服务器位于同一机房的目标从服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大导致系统崩溃的概率,提高了主服务器的可靠性。

在步骤S103中,编译服务器根据待下载代码对应的目标从服务器域名,从目标从服务器下载待下载代码。

具体的,上述编译服务器在将待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名之后,就可以根据该待下载代码对应的目标从服务器域名,从与编译服务器位于同一机房的目标从服务器下载该待下载代码,而不用再去主服务器上下载该待下载代码。通过这种方式,可以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大导致系统崩溃的概率,提高了主服务器的可靠性。此时,若主服务器与编译服务器不在同一个机房,即主服务器的地址段与编译服务器的地址段不同,则通过这种方式,还可以使编译服务器在位于同一机房的目标从服务器上下载该下载代码时,加快编译服务器下载待下载代码的速率,提高了编译服务器下载该待下载代码的效率。

具体实现时,上述编译服务器可以根据接收的用户输入的待下载代码的代码信息,以及,待下载代码对应的目标从服务器域名,从目标从服务器下载待下载代码,以使得目标从服务器可以根据其上存储的代码信息与代码之间的映射关系,以及,待下载代码的代码信息,确定待下载代码的代码信息对应的待下载代码,进而可以将该确定的待下载代码发送给编译服务器,以确保所下载的代码为编译服务器所需要的代码,提高了编译服务器下载代码的准确性。其中,上述所说的待下载代码的代码信息可以包括待下载代码对应的版本号,若上述待下载代码对应某一产品(例如:终端设备等),则上述所说的待下载代码的代码信息还可以包括:待下载代码对应的产品型号,该产品型号具体可以为生产厂商为产品所设定的型号等。

本公开提供的代码下载方法,在编译服务器所在的机房设置有主服务器的从服务器时,编译服务器在下载代码时,可以在获取到代码下载请求之后,可以将与编译服务器位于同一机房的从服务器域名作为目标从服务器域名,将代码下载请求中所携带的主服务器域名替换为该目标从服务器域名,进而使得编译服务器可以通过该目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码,而不用再去主服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大出现系统崩溃的概率,提高了主服务器的可靠性。

图3是根据另一示例性实施例示出的一种代码下载方法的流程图。如图3所示,本实施例涉及的是上述编译服务器如何将待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名的具体过程,则上述S102可以包括以下步骤:

在步骤S201中,编译服务器根据预设的指示信息,确定是否在目标从服务器下载待下载代码。

具体的,在本实施例中,上述编译服务器在将待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名时,可以先根据预设的指示信息,确定是否在目标从服务器下载待下载代码。若上述预设的指示信息用于指示在目标从服务器下载待下载代码,则编译服务器根据该指示信息,可以确定在目标从服务器下载待下载代码,则进一步执行S202。若上述预设的指示信息用于指示在主服务器下载待下载代码,则编译服务器根据该指示信息,可以确定在主服务器下载待下载代码,则编译服务器可以根据代码下载请求中所携带的待下载代码对应的主服务器域名,直接从主服务器下载所述待下载代码。其中,本实施例不限定预设的指示信息的具体表现形式,例如:该预设的指示信息可以通过预设的参数、或者预设的变量等指示编译服务器是否在目标从服务器下载待下载代码,对此不再赘述。

可选的,上述编译服务器还可以根据其自身的用途来判断是否在从服务器下载待下载代码。例如:若上述编译服务器为用于打包最新版本代码的编译服务器,则上述编译服务器可以确定在主服务器上下载该待下载代码,以精确的确保其所下载的待下载代码为最新版本的代码。若上述编译服务器为用于打包测试代码的编译服务器,则上述编译服务器可以确定在目标从服务器上下载该待下载代码等。

在步骤S202中,若确定在从服务器下载待下载代码,则编译服务器将代码下载请求中的待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名,生成新的代码下载请求。

具体的,编译服务器确定在目标从服务器下载该下载代码后,可以通过预设的替换指令,将代码下载请求中的待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名,以生成携带有目标从服务器域名的代码下载请求,即新的代码下载请求。这样,编译服务器可以通过执行新的代码下载请求,通过新的代码下载请求中所携带的目标从服务器域名,在目标从服务器下载待下载代码。通过这种方式,使得编译服务器可以从与其位于同一机房的目标从服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大导致系统崩溃的概率,提高了主服务器的可靠性。

其中,本实施例不限定上述编译服务器将代码下载请求中的待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名的具体实现方式,例如:上述编译服务器可以使用预设的目标从服务器域名,替换代码下载请求中的待下载代码对应的主服务器域名。上述编译服务器还可以使用预设的从服务器列表中当前下载量最小的从服务器域名作为目标从服务器域名,以替换代码下载请求中的待下载代码对应的主服务器域名。上述编译服务器还可以根据待下载代码对应的主服务器域名,向主服务器发送携带有编译服务器的地址段的从服务器域名获取消息,以从主服务器上获取与编译服务器的地址段相同的从服务器域名,并将主服务器返回的从服务器域名作为该待下载代码对应的目标从服务器域名,以替换代码下载请求中的待下载代码对应的主服务器域名。

可选的,若上述编译服务器使用预设的目标从服务器域名,替换代码下载请求中的待下载代码对应的主服务器域名,则在上述编译器使用预设的目标从服务器域名,替换代码下载请求中的待下载代码对应的主服务器域名之前,该方法还可以包括:编译服务器获取预设的目标从服务器域名。其中,上述编译服务器获取预设的目标从服务器域名的具体实现方式,与目标从服务器域名预设在编译服务器上的方式有关。例如:若上述目标从服务器域名通过一个配置文件预设在编译服务器上,则编译服务器可以通过执行该配置文件,获取该预设的目标从服务器域名。

可选的,若上述编译服务器使用预设的从服务器列表中当前下载量最小的从服务器域名作为目标从服务器域名,以替换代码下载请求中的待下载代码对应的主服务器域名,则在上述编译器使用预设的从服务器列表中当前下载量最小的从服务器域名作为目标从服务器域名,以替换代码下载请求中的待下载代码对应的主服务器域名之前,该方法还可以包括:编译服务器获取从服务器域名列表中各从服务器的当前下载量;编译服务器将当前下载量最小的从服务器域名作为目标从服务器域名。

具体实现时,上述编译服务器上预设有一个从服务器域名列表,该列表中的所有从服务器均为与编译服务器位于同一机房的从服务器。因此,当编译服务器需要将其代码下载请求中的待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名时,编译服务器可以先根据其上预设的从服务器域名列表,从运维管理服务器上获取从服务器域名列表中各从服务器的当前下载量。编译服务器在获取到各从服务器的当前下载量后,可以将当前下载量最小的从服务器域名作为目标从服务器域名,以使得编译服务器可以从当前下载量最小的从服务器上下载待下载代码,确保了各从服务器的负载均衡,避免了某一从服务器因下载量过大出现系统崩溃的情况。其中,上述运维管理服务器可以为任一能够获取到从服务器域名列表中各从服务器的当前下载量的服务器,本实施例对此不进行限定。

可选的,在本公开的另一实现方式中,若编译服务器确定不在目标从服务器下载该待下载代码,即确定在主服务器下载该待下载代码,则上述编译服务器可以删除其上预设的替换指令,以避免将待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名,从而确保该编译服务器可以从主服务器上下载待下载代码,提高了编译服务器所下载的待下载代码的准确性。

本公开提供的代码下载方法,编译服务器在获取到代码下载请求之后,可以先确定是否在目标从服务器上下载待下载代码,进而在确定在目标从服务器上下载待下载代码时,将代码下载请求中所携带的主服务器域名替换为该目标从服务器域名,生成新的代码下载请求,进而使得编译服务器可以通过执行该新的代码下载请求,以根据该新的代码下载请求中携带的目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码,而不用再去主服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大出现系统崩溃的概率,提高了主服务器的可靠性。

图4是根据另一示例性实施例示出的一种代码下载方法的信令流程图。本实施例涉及的是编译服务器在获取到代码下载请求之后,将待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名,以从与编译服务器位于同一机房的目标从服务器下载待下载代码的具体过程。其中,预设的指示信息、替换指令、目标从服务器域名均设置在编译服务器上预设配置文件中,如图4所示,该方法可以包括以下步骤:

在步骤S301中,编译服务器向主服务器发送打包脚本下载请求。

具体的,在本示例中,上述编译服务器可以通过运行从主服务器下载的打包脚本,来执行本示例所提供的代码下载方法,因此,编译服务器可以根据预设的主服务器域名,向主服务器发送打包脚本下载请求,以从主服务器下载该打包脚本。其中,该打包脚本下载请求中可以包括:编译服务器的IP地址。

在步骤S302中,主服务器向编译服务器发送打包脚本。

具体的,主服务在接收到编译服务器发送的打包脚本下载请求之后,可以根据打包脚本下载请求中所携带的编译服务器的IP地址,向编译服务器返回打包脚本,以使得编译服务器可以运行该打包脚本。其中,上述打包脚本中可以包括:预设的代码下载请求。

在步骤S303中,编译服务器运行打包脚本,以获取打包脚本中预设的代码下载请求。

具体的,编译服务器在获取到打包脚本后,可以通过运行打包脚本,以获取打包脚本中预设的代码下载请求。该代码下载请求中可以携带有下载待下载代码对应的主服务器域名,以指示编译服务器从主服务器中下载该待下载代码。

在步骤S304中,编译服务器获取待下载代码的代码信息。

具体的,上述编译服务器还可以通过运行打包脚本,读取用户通过变量的形式所输入的待下载代码的代码信息,其中,该待下载代码的代码信息可以包括:该待下载代码对应的版本号,和/或,该待下载代码对应的产品型号等。

需要说明的是,上述S304可以在上述S303之后、S308之前的任一位置执行该步骤,对此不再赘述。

在步骤S305中,编译服务器根据预设配置文件中的指示信息,确定是否在目标从服务器下载待下载代码。

具体的,编译服务器通过运行打包脚本,以读取预设在编译服务器上的配置文件,进而可以根据配置文件中的指示信息,确定是否在目标从服务器下载待下载代码。其中,上述指示信息用于指示是否在从服务器下载待下载代码,本实施例不限定上述指示信息的表现形式,具体可以根据用户的需求设定,只要是能够指示编译服务器从哪种服务器上下载待下载代码即可。

在步骤S306中,编译服务器在确定在目标从服务器下载待下载代码时,从预设配置文件中获取预设的目标从服务器域名。

具体的,编译服务器通过运行打包脚本所读取的指示信息,确定在目标从服务器下载待下载代码之后,编译服务器可以通过运行打包脚本,继续读取预设配置文件,以获取预设的目标从服务器域名。该预设的目标从服务器为与编译服务器位于同一机房的从服务器,即该预设的目标从服务器与编译服务器的地址段相同。由于该预设的目标从服务器上存储有与主服务器相同的代码,且该预设的目标从服务器与编译服务器位于同一机房,因此,编译服务器可以使用该预设的目标从服务器域名替换主服务器域名,以使得编译服务器在根据该域名,访问与其位于同一个机房的目标从服务器,下载该待下载代码时,下载的速度较快,还可以分担主服务器的下载量,以降低主服务器的开销。

在步骤S307中,编译服务器根据预设配置文件中的替换指令,将代码下载请求中的待下载代码对应的主服务器域名替换为预设的目标从服务器域名,生成新的代码下载请求。

具体的,编译服务器通过运行打包脚本,获取配置文件中预设的目标从服务器域名之后,可以通过运行打包脚本,继续读取预设配置文件中存储的替换指令,以通过执行该替换指令,将代码下载请求中的待下载代码对应的主服务器域名替换为该预设的目标从服务器域名,以生成新的代码下载请求。其中,本实施例不限定上述替换指令的具体实现方式,具体实现时,该替换指令可以为任一能够将待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名的指令。

在步骤S308中,编译服务器根据待下载代码的代码信息,以及,新的代码下载请求,向目标从服务器发送下载请求。

具体的,编译服务器在获取到待下载代码的代码信息,以及,新的代码下载请求之后,可以通过运行打包脚本,执行新的代码下载请求,以根据代码下载请求中所携带的目标从服务器域名,向目标服务器发送携带有待下载代码的代码信息的下载请求,以从目标从服务器下载该待下载代码。

在步骤S309中,目标从服务器向编译服务器发送待下载代码。

具体的,目标服务器在接收到编译服务器发送的下载请求之后,可以根据其上存储的代码信息与代码之间的映射关系,以及,待下载代码的代码信息,确定待下载代码的代码信息对应的待下载代码,进而可以将该确定的待下载代码发送给编译服务器,以确保所下载的代码为编译服务器所需要的代码,提高了编译服务器下载代码的准确性。

至此,编译服务器就完成了从目标从服务器下载待下载代码的动作,即从与编译服务器位于同一机房的目标从服务器下载该待下载代码,而不用再去主服务器上下载该待下载代码。通过这种方式,可以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大导致系统崩溃的概率,提高了主服务器的可靠性。此时,若主服务器与编译服务器不在同一个机房,即主服务器与编译服务器不在同一个地址段,则通过这种方式,还可以使编译服务器在位于同一机房的目标从服务器上下载该下载代码时,加快编译服务器下载待下载代码的速率,提高了编译服务器下载该待下载代码的效率。

可选的,在本公开的另一实现方式中,上述步骤S305之后,若编译服务器确定不在目标从服务器下载该待下载代码,即确定在主服务器下载该待下载代码,则该方法还可以包括:编译服务器删除预设配置文件中的替换指令。具体的,编译服务器通过运行打包脚本所读取的指示信息,确定不在从服务器下载待下载代码之后,编译服务器可以通过运行打包脚本,执行删除指令,将预设配置文件中存储的替换指令删除,以避免编译服务器通过运行打包脚本,在读取预设的配置文件时,误执行其上的替换指令,以将待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名,因此,通过将替换指令删除,可以确保该编译服务器不会将待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名,从而使得编译服务器可以根据待下载代码对应的主服务器域名,在主服务器上下载该待下载代码,提高了编译服务器所下载的待下载代码的准确性。

本公开提供的代码下载方法,在编译服务器所在的机房设置有主服务器的从服务器时,编译服务器在下载代码时,可以在获取到代码下载请求之后,可以将与编译服务器位于同一机房的从服务器域名作为目标从服务器域名,将代码下载请求中所携带的主服务器域名替换为该目标从服务器域名,进而使得编译服务器可以通过该目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码,而不用再去主服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大出现系统崩溃的概率,提高了主服务器的可靠性。

下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。

图5是根据一示例性实施例示出的一种编译服务器的框图。如图5所示,该编译服务器可以包括:

第一获取模块11,被配置为获取代码下载请求;代码下载请求包括:待下载代码对应的主服务器域名;

替换模块12,被配置为将待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名;

下载模块13,被配置为根据待下载代码对应的目标从服务器域名,从目标从服务器下载待下载代码。

本公开提供的编译服务器,在编译服务器所在的机房设置有主服务器的从服务器时,编译服务器在下载代码时,替换模块可以在第一获取模块获取到代码下载请求之后,将与编译服务器位于同一机房的从服务器域名作为目标从服务器域名,将代码下载请求中所携带的主服务器域名替换为该目标从服务器域名,进而使得下载模块可以通过该目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码,而不用再去主服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大出现系统崩溃的概率,提高了主服务器的可靠性。

可选的,在本公开的一种方式中,上述编译服务器的地址段与目标从服务器的地址段相同,编译服务器的地址段与主服务器的地址段不同。

本公开提供的编译服务器,在主服务器与编译服务器不在同一个机房,目标从服务器与编译服务器在同一个机房时,可以使下载模块在位于同一机房的目标从服务器上下载该下载代码时,加快下载待下载代码的速率,提高了下载该待下载代码的效率。

图6是根据另一示例性实施例示出的一种编译服务器的框图,如图6所示,在上述实施例的基础上,该装置的结构在图5所示框图基础上,该编译服务器的替换模块12可以包括:

确定子模块121,被配置为根据预设的指示信息,确定是否在目标从服务器下载待下载代码。

替换子模块122,被配置为确定在目标从服务器下载待下载代码时,将代码下载请求中的待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名,生成新的代码下载请求。

本公开提供的编译服务器,获取模块在获取到代码下载请求之后,替换模块的确定子模块可以先确定是否在目标从服务器上下载待下载代码,进而使得替换模块的替换子模块在确定在目标从服务器上下载待下载代码时,将与编译服务器位于同一机房的从服务器域名作为目标从服务器域名,以将代码下载请求中所携带的主服务器域名替换为该目标从服务器域名,进而使得下载模块可以通过该目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码,而不用再去主服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大出现系统崩溃的概率,提高了主服务器的可靠性。

图7是根据另一示例性实施例示出的一种编译服务器的框图,如图7所示,在上述实施例的基础上,该装置的结构在图6所示框图基础上,该编译服务器还可以包括:

第二获取模块14,被配置为获取预设的目标从服务器域名。

本公开提供的编译服务器,第二获取模块可以先获取预设的目标从服务器域名,以使得替换模块的替换子模块可以将代码下载请求中所携带的主服务器域名替换为该预设的目标从服务器域名,进而使得下载模块可以通过该目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码,而不用再去主服务器上下载该待下载代码,以降低主服务器的下载量,进而降低主服务器的开销,从而可以减少主服务器因下载量过大出现系统崩溃的概率,提高了主服务器的可靠性。

图8是根据另一示例性实施例示出的一种编译服务器的框图,如图8所示,在上述实施例的基础上,该装置的结构在图6所示框图基础上,该编译服务器还可以包括:

第三获取模块15,被配置为获取从服务器域名列表中各从服务器的当前下载量;

处理模块16,被配置为将当前下载量最小的从服务器域名作为目标从服务器域名。

本公开提供的编译服务器,第三获取模块可以先获取同机房中的从服务器域名列表中各从服务器的当前下载量,以使得处理模块可以将当前下载量最小的从服务器域名作为目标从服务器域名,从而使得替换模块的替换子模块可以将代码下载请求中所携带的主服务器域名替换为该目标从服务器域名,进而使得下载模块可以通过该目标从服务器域名,在与编译服务器位于同一机房的目标从服务器上下载该待下载代码时,在降低了主服务器的开销的同时,确保了各从服务器的负载均衡,避免了某一从服务器因下载量过大出现系统崩溃的情况。

图9是根据一示例性实施例示出的一种编译服务器900的框图。参照图9,编译服务器900包括处理组件922,其进一步包括一个或多个处理器,以及由存储器932所代表的存储器资源,用于存储可由处理组件922的执行的指令,例如应用程序。存储器932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件922被配置为执行指令,以执行上述代码下载方法。

该方法包括:

获取代码下载请求;代码下载请求包括:待下载代码对应的主服务器域名;

将待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名;

根据待下载代码对应的目标从服务器域名,从目标从服务器下载待下载代码。

可选的,将待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名,包括:

根据预设的指示信息,确定是否在目标从服务器下载待下载代码;

若确定在目标从服务器下载待下载代码,则将代码下载请求中的待下载代码对应的主服务器域名替换为待下载代码对应的目标从服务器域名,生成新的代码下载请求。

可选的,该方法还可以包括:

获取预设的目标从服务器域名。

可选的,该方法还可以包括:

获取从服务器域名列表中各从服务器的当前下载量;

将当前下载量最小的从服务器域名作为目标从服务器域名。

可选的,编译服务器的地址段与目标从服务器的地址段相同,编译服务器的地址段与主服务器的地址段不同。

编译服务器900还可以包括一个电源组件926被配置为执行编译服务器900的电源管理,一个有线或无线网络接口950被配置为将编译服务器900连接到网络,和一个输入输出(I/O)接口958。编译服务器900可以操作基于存储在存储器932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1