发明内容
本公开实施例至少提供一种应用部署方法、装置、计算机设备和存储介质。
第一方面,本公开实施例提供了一种应用部署方法,应用于服务器,包括:
获取并存储待部署在所述服务器中的应用对应的应用配置信息;
响应于客户端的应用访问请求,基于存储的所述应用配置信息,确定与所述应用访问请求匹配的目标文件的文件访问路径;
在确定未存储所述文件访问路径指示的目标文件的情况下,基于所述文件访问路径,从应用部署平台中下载所述目标文件,并将下载的所述目标文件反馈给所述客户端,以在所述客户端展示所述目标文件对应的目标页面。
在一种可能的实施方式中,获取并存储待部署在所述服务器中的应用对应的应用配置信息,包括:
基于所述服务器的服务器标识,从应用部署平台获取并存储与所述服务器标识对应的、待部署的多个应用分别对应的所述应用配置信息;
所述响应于客户端的应用访问请求,基于存储的所述应用配置信息,确定与所述应用访问请求匹配的目标文件的文件访问路径,包括:
响应于客户端的应用访问请求,基于存储的多个所述应用配置信息,确定与所述应用访问请求匹配的、第一目标应用中的目标文件的文件访问路径;所述第一目标应用为所述待部署的多个应用中的一个应用。
在一种可能的实施方式中,所述从应用部署平台中下载所述目标文件之后,还包括:
基于所述第一目标应用的应用标识、所述第一目标应用对应的应用版本号、以及所述目标文件对应的文件访问路径,生成所述目标文件对应的文件查找标识;
将所述文件查找标识和所述目标文件进行关联存储。
在一种可能的实施方式中,在所述在确定未存储所述文件访问路径指示的目标文件的情况下,基于所述文件访问路径,从应用部署平台中下载所述目标文件之前,还包括确定是否存储有所述文件访问路径指示的目标文件的步骤:
基于所述文件访问路径、所述第一目标应用的应用标识、和所述第一目标应用对应的应用版本号,生成文件查找标识;
基于生成的所述文件查找标识,查找是否存在与所述文件查找标识关联存储的所述目标文件。
在一种可能的实施方式中,所述方法还包括:
响应于接收到的包括配置更新信息的更新指令,从已存储的所述应用配置信息对应的各个应用中,确定所述更新指令对应的第二目标应用,并利用所述配置更新信息对所述第二目标应用对应的应用配置信息进行更新;或者,
响应于接收到的包括配置更新信息的更新指令,在确定所述配置更新信息对应于待部署在所述服务器中的应用的情况下,将所述配置更新信息作为待部署的应用对应的应用配置信息进行存储。
第二方面,本公开实施例提供了一种应用部署方法,应用于应用部署平台,包括:
获取输入的配置更新信息,并基于所述配置更新信息,生成包括所述配置更新信息的更新指令;
确定所述配置更新信息关联的服务器标识,以及每个所述服务器标识对应的服务器的接收地址;
按照所述接收地址,向所述服务器标识对应的服务器发送所述更新指令。
在一种可能的实施方式中,确定每个所述服务器标识对应的服务器的接收地址,包括:
利用服务发现的方式,根据在所述应用部署平台注册的每个服务器的服务器标识,查找每个所述服务器的接收地址。
第三方面,本公开实施例还提供一种应用部署装置,应用于服务器,包括:
获取模块,用于获取并存储待部署在所述服务器中的应用对应的应用配置信息;
第一确定模块,用于响应于客户端的应用访问请求,基于存储的所述应用配置信息,确定与所述应用访问请求匹配的目标文件的文件访问路径;
下载模块,用于在确定未存储所述文件访问路径指示的目标文件的情况下,基于所述文件访问路径,从应用部署平台中下载所述目标文件,并将下载的所述目标文件反馈给所述客户端,以在所述客户端展示所述目标文件对应的目标页面。
在一种可能的实施方式中,所述获取模块,用于基于所述服务器的服务器标识,从应用部署平台获取并存储与所述服务器标识对应的、待部署的多个应用分别对应的所述应用配置信息;
所述第一确定模块,用于响应于客户端的应用访问请求,基于存储的多个所述应用配置信息,确定与所述应用访问请求匹配的、第一目标应用中的目标文件的文件访问路径;所述第一目标应用为所述待部署的多个应用中的一个应用。
在一种可能的实施方式中,所述装置还包括:
存储模块,用于在所述从应用部署平台中下载所述目标文件之后,基于所述第一目标应用的应用标识、所述第一目标应用对应的应用版本号、以及所述目标文件对应的文件访问路径,生成所述目标文件对应的文件查找标识;
将所述文件查找标识和所述目标文件进行关联存储。
在一种可能的实施方式中,所述装置还包括:
查找模块,用于在所述在确定未存储所述文件访问路径指示的目标文件的情况下,基于所述文件访问路径,从应用部署平台中下载所述目标文件之前,按照以下步骤确定是否存储有所述文件访问路径指示的目标文件:
基于所述文件访问路径、所述第一目标应用的应用标识、和所述第一目标应用对应的应用版本号,生成文件查找标识;
基于生成的所述文件查找标识,查找是否存在与所述文件查找标识关联存储的所述目标文件。
在一种可能的实施方式中,所述装置还包括:
更新模块,用于响应于接收到的包括配置更新信息的更新指令,从已存储的所述应用配置信息对应的各个应用中,确定所述更新指令对应的第二目标应用,并利用所述配置更新信息对所述第二目标应用对应的应用配置信息进行更新;或者,
响应于接收到的包括配置更新信息的更新指令,在确定所述配置更新信息对应于待部署在所述服务器中的应用的情况下,将所述配置更新信息作为待部署的应用对应的应用配置信息进行存储。
第四方面,本公开实施例还提供一种应用部署装置,应用于应用部署平台,包括:
生成模块,用于获取输入的配置更新信息,并基于所述配置更新信息,生成包括所述配置更新信息的更新指令;
第二确定模块,确定所述配置更新信息关联的服务器标识,以及每个所述服务器标识对应的服务器的接收地址;
发送模块,用于按照所述接收地址,向所述服务器标识对应的服务器发送所述更新指令。
在一种可能的实施方式中,所述第二确定模块,用于利用服务发现的方式,根据在所述应用部署平台注册的每个服务器的服务器标识,查找每个所述服务器的接收地址。
第五方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤;或者,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第二方面,或第二方面中任一种可能的实施方式中的步骤。
第六方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤;或者,该计算机程序被运行时执行上述第二方面,或第二方面中任一种可能的实施方式中的步骤。
关于上述应用部署装置、计算机设备、及计算机可读存储介质的效果描述参见上述应用部署方法的说明,这里不再赘述。
本公开实施例提供的应用部署方法、装置、计算机设备和存储介质,各个应用的应用配置信息作为能够描述对应的应用在部署时所需的全部信息,如应用的执行逻辑信息、应用对应的文件信息、各种访问请求对应需要返回的文件等信息,却具有较小的数据量。通过预先获取并存储应用对应的应用配置信息的方式,相比于现有技术需要应用对应的全部文件下载并存储在机器的步骤而言,通过存储数据量更小的应用配置信息实现应用的部署,减少了将应用部署在一个服务器中的时间,进而,有效减少了将应用部署在多服务器中的时间,提高了应用部署速度和效率。此外,通过应用配置信息,能够准确确定出该应用访问请求对应的需要反馈的目标文件的文件访问路径;之后,再通过从应用部署平台中下载目标文件并将目标文件反馈给客户端的方式,实现对应用访问请求的响应,保证了部署的应用可供正常使用。
进一步,本公开实施例提供的应用部署方法、装置、计算机设备和存储介质,通过从应用部署平台获取待部署的多个应用分别对应的应用配置信息并存储的方式,实现了将多个应用在一个服务器中的混合部署,有效避免了现有技术中一个服务器部署一个应用,造成的服务器资源浪费的问题。
进一步,本公开实施例提供的应用部署方法、装置、计算机设备和存储介质,通过生成目标文件对应的文件查找标识,并将文件查找标识和目标文件进行关联存储的方式,可以实现分批次的将应用对应的各个文件(即每个应用访问请求对应的目标文件)存储在服务器中。本公开通过先存储应用配置信息,后续再基于接收到的应用访问请求完成对应用对应的所有文件的下载的方式,既提高了应用部署的速度,又实现了应用对应的各文件在服务器中的存储。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
另外,本公开实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
经研究发现,现有的用多机器分布式部署方案中,在将应用部署在服务器中时,需要将应用对应的所有文件均下载并存储在服务器中,才可以完成部署。由于应用对应的所有文件对应于较大的数据量,因此,完成一个应用的部署需要一定的时间,再实现多机器的部署,所需要的时间只会更多,严重影响了应用部署的速度和效率。
基于上述研究,本公开提供了一种应用部署方法、装置、计算机设备和存储介质,各个应用的应用配置信息作为能够描述对应的应用在部署时所需的全部信息,如应用的执行逻辑信息、应用对应的文件信息、各种访问请求对应需要返回的文件等信息,却具有较小的数据量。通过预先获取并存储应用对应的应用配置信息的方式,相比于现有技术需要应用对应的全部文件下载并存储在机器的步骤而言,通过存储数据量更小的应用配置信息实现应用的部署,减少了将应用部署在一个服务器中的时间,进而,有效减少了将应用部署在多服务器中的时间,提高了应用部署速度和效率。此外,通过应用配置信息,能够准确确定出该应用访问请求对应的需要反馈的目标文件的文件访问路径;之后,再通过从应用部署平台中下载目标文件并将目标文件反馈给客户端的方式,实现对应用访问请求的响应,保证了部署的应用可供正常使用。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种应用部署方法进行详细介绍,本公开实施例所提供的应用部署方法的执行主体一般为具有一定计算能力的计算机设备,在一些可能的实现方式中,该应用部署方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为计算机设备为例对本公开实施例提供的应用部署方法加以说明。
如图1所示,为本公开实施例提供的一种应用于服务器的应用部署方法的流程图,可以包括以下步骤:
S101:获取并存储待部署在服务器中的应用对应的应用配置信息。
这里,上述应用可以为任一能够部署在服务器中的应用,当应用部署在服务器中之后,服务器中的资源可供应用使用。每个应用可以部署在一个或多个服务器中。为了满足高并发访问量,通常需要利用分布式多机器(即服务器)部署的方式,也即,将一个应用部署在多个服务器中。例如,将一个网页应用部署在多个服务器中。
在具体实施时,一个应用需要部署的服务器的数量,可以根据应用对应的实际并发访问量确定,此处不进行限定。在将一个应用部署在多个服务器时,每个服务器中均部署有相同的信息。
上述应用配置信息能够描述对应的应用在部署时所需的全部信息,如应用的执行逻辑信息、应用对应的文件信息、各种访问请求对应需要返回的文件、各种访问请求对应文件的文件访问路径或文件标识等信息等。其中,应用对应的文件信息具体可以为该应用对应的所有文件的文件标识、文件位置等信息。具体实施时,应用配置信息可以以字符串的形式存在,具有较少的数据量。
应用配置信息可以预先在应用部署平台中进行设置,应用部署平台用于设置任一应用对应的应用配置信息,以及指定任一应用所需要部署的各个服务器。具体的,针对任一应用,可以指定该应用需要部署的各个服务器分别对应的服务器标识,或者,也可以指定应用需要部署的服务器集群的集群标识。一个服务器集群中可以包括多个服务器,若应用对应于集群标识,则可以将该应用部署在该集群中的至少部分服务器中。
具体实施时,在服务器启动时,服务器可以基于自身的服务器标识,从应用部署平台拉取与自身的服务器标识相匹配的应用的应用配置信息并存储在本地存储位置处,例如,存储在本地内存和/或磁盘中。上述与自身的服务器标识相匹配的应用,即为在应用部署平台中指定的服务器标识、与该自身的服务器标识一致的应用。
这里,在将应用对应的应用配置信息存储在本地存储位置之后,完成对应用的初步部署,不需要一次性地直接将应用对应的所有文件均部署在服务器,有效减少了应用部署的时间,提高了应用部署效率。
S102:响应于客户端的应用访问请求,基于存储的应用配置信息,确定与应用访问请求匹配的目标文件的文件访问路径。
这里,上述客户端可以为安装上述应用的终端,例如手机、电脑等,也可以为浏览器端。应用访问请求为客户端发起的请求,例如可以包括应用使用请求,应用页面访问请求、任一应用功能的使用请求等等,具体的,与该应用相关的各种请求均可以为上述应用访问请求。
目标文件即为应用访问请求命中的待访问文件,为部署在服务器中的应用对应的一个文件,具体的,目标文件即为应用访问请求命中的产物信息,目标文件例如可以为目标页面对应的页面文件。
文件访问路径可以为获取目标文件的路径,用于指示目标文件的存储位置,例如,文件访问路径可以为a/b/cc/a.html。不同的目标文件对应于不同的文件访问路径。或者,在一种实施方式中,文件访问路径也可以仅包括文件标识,也即文件访问路径可以为目标文件对应的文件标识。
具体实施时,应用配置信息中可以描述不同的应用访问请求对应的目标文件的文件访问路径。在这种情况下,在响应于客户端的应用访问请求之后,可以直接细粒度地从应用配置信息查找出与该应用访问请求相对应的目标文件的文件访问路径。
或者,应用访问请求中可以携带有目标访问路径,应用配置信息中可以描述有访问路径与对应的目标文件的文件访问路径之间的关联关系。在这种情况下,在响应于客户端的应用访问请求之后,可以先根据应用访问请求,确定目标访问路径,再根据应用配置信息对应的关联关系,细粒度地确定与该目标访问路径相匹配的目标文件的文件访问路径。
在一种实施方式中,与应用访问请求匹配的目标文件可以为页面文件;也可以为任一服务(或小程序)对应的文件,基于服务(或小程序)对应的文件,可以跳转至对应的服务(或小程序),例如,跳转至数据库服务、跳转至游戏小程序等。
S103:在确定未存储文件访问路径指示的目标文件的情况下,基于文件访问路径,从应用部署平台中下载目标文件,并将下载的目标文件反馈给客户端,以在客户端展示目标文件对应的目标页面。
这里,应用部署平台中还存储有应用对应的各个文件。
具体实施时,在确定出目标文件的文件访问路径之后,可以先判断服务器的本地存储位置中是否存在有文件访问路径指示的目标文件,如果有,则可以按照文件访问路径,从文件访问路径指示的本地存储位置中获取目标文件,并反馈给客户端。
反之,在确定未存储文件访问路径指示的目标文件的情况下,则可以按照文件访问路径,从应用部署平台中的与该文件访问路径匹配的存储位置处下载目标文件。在目标文件下载成功之后,可以将下载的目标文件反馈给客户端,以使客户端基于目标文件,进行目标页面的渲染及展示。并且,在目标文件下载成功之后,可以将目标文件存储在服务器对应的本地存储位置处,具体的,可以将其存储在内存以及磁盘中。这样,部署在服务器中的应用对应的所有文件,可以在获取到多个不同的应用访问请求之后,从应用部署平台中完全下载并存储,实现了文件的分批次存储。
或者,在文件访问路径仅包括目标文件的文件标识的情况下,可以基于文件标识,从服务器的本地存储位置中查找是否存在与该文件标识相匹配的目标文件,如果是,则可以直接获取该目标文件;如果否,则可以基于该文件标识,从应用部署平台中存储的应用对应的各个文件中,查找与该文件标识匹配的目标文件并下载。
这样,各个应用的应用配置信息作为能够描述对应的应用在部署时所需的全部信息,如应用的执行逻辑信息、应用对应的文件信息、各种访问请求对应需要返回的文件等信息,却具有较小的数据量。通过预先获取并存储应用对应的应用配置信息的方式,相比于现有技术需要应用对应的全部文件下载并存储在机器的步骤而言,通过存储数据量更小的应用配置信息实现应用的部署,减少了将应用部署在一个服务器中的时间,进而,有效减少了将应用部署在多服务器中的时间,提高了应用部署速度和效率。此外,通过应用配置信息,能够准确确定出该应用访问请求对应的需要反馈的目标文件的文件访问路径;之后,再通过从应用部署平台中下载目标文件并将目标文件反馈给客户端的方式,实现对应用访问请求的响应,保证了部署的应用可供正常使用。
在一种实施例中,针对上述S101,还可以基于服务器的服务器标识,从应用部署平台获取与服务器标识对应的、待部署的多个应用分别对应的应用配置信息。
这里,通过获取多个应用分别对应的应用配置信息,可以实现将多个应用的高密度混合部署。
在从应用部署平台指定应用所需要部署的各个服务器的过程中,一个应用多个指定多个服务器,多个应用也可以指定部署在同一个服务器中。这里,若多个应用指定部署在一个服务器中,该服务器中的资源可满足部署在其中的各个应用的运行。
具体实施时,可以基于服务器自身的服务器标识,从应用部署平台中确定与该服务器自身的服务器标识相匹配的多个应用分别对应的应用配置信息,进而,可以从应用部署平台拉取多个应用中的每个应用对应的应用配置信息并存储。
这样,相比于现有技术中一个服务器部署一个应用,若部署在服务器中的应用为不常使用的长尾应用,造成服务器资源的浪费而言,通过在服务器中存储多个应用配置信息的方式,提高了服务器资源的利用率。
进一步的,在存储的应用配置信息包括多个情况下,在接收到应用访问请求之后,可以响应于客户端的应用访问请求,基于存储的多个应用配置信息,确定与应用访问请求匹配的、第一目标应用中的目标文件的文件访问路径;第一目标应用为待部署的多个应用中的一个应用。
这里,第一目标应用即为部署在服务器中的多个应用中的、应用访问请求需要访问的应用。
示例性的,接收到应用访问请求之后,可以从多个应用配置信息中,确定该应用访问请求对应的目标应用配置信息,将该目标应用配置信息对应的应用作为第一目标应用。之后,可以按照上述S102所提及的步骤,基于目标应用配置信息,确定与应用访问请求匹配的目标文件的文件访问路径。
在一种实施例中,在从应用部署平台中下载目标文件之后,可以按照以下步骤存储目标文件:
步骤一、基于第一目标应用的应用标识、第一目标应用对应的应用版本号、以及目标文件对应的文件访问路径,生成目标文件对应的文件查找标识。
这里,应用标识用于唯一标识第一目标应用,文件查找标识用于唯一标识目标文件。
示例性的,可以以第一目标应用的应用标识+第一目标应用对应的应用版本号+目标文件对应的文件访问路径的形式,生成目标文件对应的文件查找标识。
或者,在文件访问路径为文件标识的情况下,可以在下载目标文件之后,确定目标文件对应的实际访问路径,然后,基于第一目标应用的应用标识、第一目标应用对应的应用版本号、目标文件对应的文件标识、以及目标文件对应的实际访问路径,生成目标文件对应的文件查找标识。
步骤二、将文件查找标识和目标文件进行关联存储。
这里,通过将文件查找标识和目标文件关联存储,有利于后续在服务器中查找应用访问请求对应的目标文件。
在一种实施例中,在执行S103之前,还可以基于确定的应用访问请求对应的文件访问路径、应用访问请求对应的第一目标应用的应用标识、和第一目标应用对应的应用版本号,生成文件查找标识。进而,可以基于生成的文件查找标识,查找服务器中是否存在与该文件查找标识关联存储的目标文件。
示例性的,在响应于应用访问请求并确定出应用访问请求对应的第一目标应用,以及第一目标应用中的目标文件的文件访问路径之后,可以将“第一目标应用的应用标识+第一目标应用对应的应用版本号+目标文件对应的文件访问路径”作为该应用访问请求对应的文件查找标识。然后可以根据该文件查找标识,以及在服务器中关联存储的各个文件查找标识,从服务器的内存和/或磁盘中查找是否存在预先存储的目标文件。在确定未存储目标文件的情况下,执行上述S103。
这里,在服务器中仅存储一个应用对应的应用配置信息的情况下,在确定出目标文件对应的文件访问路径之后,也可以先生成文件查找标识并按照该文件查找标识从服务器中查找是否存在预先关联存储的目标文件。
在一种实施例中,本公开实施例所提供的应用部署方法还可以响应于接收到的包括配置更新信息的更新指令,从已存储的应用配置信息对应的各个应用中,确定更新指令对应的第二目标应用,并利用配置更新信息对第二目标应用对应的应用配置信息进行更新。
这里,配置更新信息用于表征用户在应用部署平台,对已经部署在服务器中的任一应用的应用配置信息进行更新的信息。例如,在应用A中增加新的文件标识、修改应用A对应的文件的文件内容,更新与应用A相关的访问请求对应的目标文件的文件访问路径或文件标识等。
更新指令中携带有用户输入的配置更新信息,可以为应用部署平台根据用户输入的配置更新信息生成并发送给服务器的,用于对服务器中存储的应用配置信息进行更新。
第二目标应用为需要修改存储在服务器中的应用配置信息的应用,为与更新指令所针对的应用。
具体实施时,服务器在接收到应用部署平台发送的更新指令之后,可以响应于该更新指令,根据更新指令中携带的配置更新信息,从已存储的应用配置信息对应的各个应用中,确定更新指令所针对的第二目标应用。然后,可以利用配置更新信息对第二目标应用对应的、已存储在服务器中的应用配置信息进行更新,并将更新的内容重新存储。例如,修改应用对应的文件的内容和文件标识、修改应用访问请求B对应的目标文件对应的文件访问路径、增加新的应用访问请求对应的目标文件对应的文件访问路径等。
这样,利用指令中携带的配置更新信息对已部署在服务器中的应用的应用配置信息进行更新,相当于实现了对应用的更新,相比于现有技术,在应用更新之后,需要重新启动服务器,并将应用对应的所有文件重新在服务器中存储以完成应用的更新而言,提高了应用更新的速度和效率。
或者,也可以响应于接收到的包括配置更新信息的更新指令,在确定配置更新信息对应于待部署在服务器中的应用的情况下,将配置更新信息作为待部署的应用对应的应用配置信息进行存储。
这里,配置更新信息还可以表征在一服务器中新增的应用的应用配置信息,待部署的应用即为新增的应用。
具体实施时,当用户确定需要在服务器中新增应用的情况下,可以在应用部署平台输入新增应用对应的应用配置信息,也即输入新增应用对应的配置更新信息,并且,可以指定新增应用对应的服务器标识。之后,应用部署平台可以基于该配置更新信息生成更新指令并发送至服务器标识对应的服务器。
之后,服务器可以响应于接收到的更新指令,将更新指令中携带的配置更新信息作为待部署的应用对应的应用配置信息存储在本地存储位置,从而完成对新增的应用的部署。
另外,本公开实施例还提供了一种应用在应用部署平台的应用部署方法,基于应用部署平台和服务器之间的交互,实现将任一应用快速部署在服务器。如图2所示,为本公开实施例所提供的一种应用部署平台的应用部署方法的流程图,可以包括以下步骤:
S201:获取输入的配置更新信息,并基于配置更新信息,生成包括配置更新信息的更新指令。
这里,配置更新信息可以为用户在应用部署平台输入的对已经部署在服务器中的任一应用的应用配置信息进行更新的信息;或者,可以为在一服务器中新增的应用的应用配置信息。
在获取输入的配置更新信息之前,还可以获取用户输入的各个应用对应的应用配置信息,并在服务器启动之后,将各个应用的应用配置信息分别发送至对应的服务器中,以使服务器将应用部署信息存储,从而完成应用在服务器中的部署。
本步骤在具体实施时,在获取到用户输入的配置更新信息,可以基于配置更新信息生成包括配置更新信息的更新指令。
S202:确定配置更新信息关联的服务器标识,以及每个服务器标识对应的服务器的接收地址。
上述接收地址可以为服务器的互联网协议(Internet Protocol,IP)地址。
配置更新信息关联的服务器标识可以按照如下方式确定:
方式一、将配置更新信息对应的应用在部署时所对应的服务器的服务器标识作为配置更新信息关联的服务器标识。
该方式适用于对已经部署在服务器中的任一应用的应用配置信息进行更新的情况。
方式二、获取用户在输入配置更新信息时一并输入的该配置更新信息关联的服务器标识。
该方式可以适用于对已经部署在服务器中的任一应用的应用配置信息进行更新的情况,也可以适用于在服务器中新增应用的情况。
配置更新信息关联的服务器标识可以包括多个,多个服务器标识对应的服务器中,可以包括已经部署有配置更新信息对应的应用的服务器,和/或未部署有配置更新信息对应的应用的服务器。
具体实施时,在生成更新指令,并确定配置更新信息关联的各个服务器标识之后,还可以根据预先存储的各个服务器的IP地址,确定各个服务器标识对应的服务器的IP地址。
S203:按照接收地址,向服务器标识对应的服务器发送更新指令。
具体实施时,可以确定出的各个IP地址,向各个服务器发送更新指令,以使服务器在接收到更新指令之后,响应于接收到的更新指令,从已存储的应用配置信息对应的各个应用中,确定更新指令对应的第二目标应用,并利用配置更新信息对所述第二目标应用对应的应用配置信息进行更新;或者,响应于接收到的更新指令,在确定配置更新信息对应于待部署在服务器中的应用的情况下,将配置更新信息作为待部署的应用对应的应用配置信息进行存储。
并且,在向服务器发送更新指令之后,还可以判断是否接收到服务器反馈的、用于表征已成功接收到更新指令的反馈信息。并且,在确定在预设时长内未接收到反馈信息的情况下,重新向服务器发送更新指令,以保证服务器可以成功接收到更新指令。
在一种实施例中,针对上述S202中确定每个服务器标识对应的服务器的接收地址的步骤,可以利用服务发现的方式,根据在应用部署平台注册的每个服务器的服务器标识,查找每个服务器的接收地址。
如图3所示,为本公开实施例所提供的一种服务器和应用部署平台之间的交互流程图,可以包括以下步骤:
S301:在服务器启动时,获取并存储待部署在服务器中的多个应用分别对应的应用配置信息。
S302:响应于客户端的应用访问请求,基于存储的多个应用配置信息,确定与应用访问请求匹配的、第一目标应用中的目标文件的文件访问路径。
S303:基于文件访问路径、第一目标应用的应用标识、和第一目标应用对应的应用版本号,生成文件查找标识。
S304:基于生成的文件查找标识,查找服务器的本地存储位置中是否存在与文件查找标识关联存储的目标文件。
如果是,执行S305;如果否,执行S307。本地存储位置可以为内存或磁盘。
S305:在确定服务器的本地存储位置中存储有目标文件的情况下,从本地存储位置中获取目标文件。
S306:将获取的目标文件反馈给客户端。
S307:在确定服务器的本地存储位置中未存储目标文件的情况下,基于文件访问路径,从应用部署平台中下载目标文件。
这里,在从应用部署平台中成功下载目标文件之后,执行S306。
S308:获取用户输入的配置更新信息,并基于配置更新信息,生成包括配置更新信息的更新指令。
这里,S308与上述S301~S307不存在严格的执行顺序,S308~下述S310可以为应用部署平台执行的步骤。
S309:确定配置更新信息关联的服务器标识,并利用服务发现的方式,根据在应用部署平台注册的每个服务器的服务器标识,查找每个服务器的接收地址。
S310:按照接收地址,向服务器标识对应的服务器发送更新指令。
这里,在向服务器标识对应的服务器发送更新指令之后,服务器可以响应于接收到的更新指令,利用配置更新信息对已存储的应用配置信息进行更新,或者,将配置更新信息作为待部署的应用对应的应用配置信息进行存储。
关于上述S301~S310的具体实施过程,可以参照上述各实施例,此处不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与应用于服务器的应用部署方法对应的应用部署装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述应用于服务器的应用部署方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
如图4所示,为本公开实施例提供的一种应用于服务器的应用部署装置的示意图,包括:
获取模块401,用于获取并存储待部署在所述服务器中的应用对应的应用配置信息;
第一确定模块402,用于响应于客户端的应用访问请求,基于存储的所述应用配置信息,确定与所述应用访问请求匹配的目标文件的文件访问路径;
下载模块403,用于在确定未存储所述文件访问路径指示的目标文件的情况下,基于所述文件访问路径,从应用部署平台中下载所述目标文件,并将下载的所述目标文件反馈给所述客户端,以在所述客户端展示所述目标文件对应的目标页面。
在一种可能的实施方式中,所述获取模块401,用于基于所述服务器的服务器标识,从应用部署平台获取并存储与所述服务器标识对应的、待部署的多个应用分别对应的所述应用配置信息;
所述第一确定模块402,用于响应于客户端的应用访问请求,基于存储的多个所述应用配置信息,确定与所述应用访问请求匹配的、第一目标应用中的目标文件的文件访问路径;所述第一目标应用为所述待部署的多个应用中的一个应用。
在一种可能的实施方式中,所述装置还包括:
存储模块404,用于在所述从应用部署平台中下载所述目标文件之后,基于所述第一目标应用的应用标识、所述第一目标应用对应的应用版本号、以及所述目标文件对应的文件访问路径,生成所述目标文件对应的文件查找标识;
将所述文件查找标识和所述目标文件进行关联存储。
在一种可能的实施方式中,所述装置还包括:
查找模块405,用于在所述在确定未存储所述文件访问路径指示的目标文件的情况下,基于所述文件访问路径,从应用部署平台中下载所述目标文件之前,按照以下步骤确定是否存储有所述文件访问路径指示的目标文件:
基于所述文件访问路径、所述第一目标应用的应用标识、和所述第一目标应用对应的应用版本号,生成文件查找标识;
基于生成的所述文件查找标识,查找是否存在与所述文件查找标识关联存储的所述目标文件。
在一种可能的实施方式中,所述装置还包括:
更新模块406,用于响应于接收到的包括配置更新信息的更新指令,从已存储的所述应用配置信息对应的各个应用中,确定所述更新指令对应的第二目标应用,并利用所述配置更新信息对所述第二目标应用对应的应用配置信息进行更新;或者,
响应于接收到的包括配置更新信息的更新指令,在确定所述配置更新信息对应于待部署在所述服务器中的应用的情况下,将所述配置更新信息作为待部署的应用对应的应用配置信息进行存储。
基于同一发明构思,本公开实施例中还提供了与应用于应用部署平台的应用部署方法对应的应用部署装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述应用于应用部署平台的应用部署方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,为本公开实施例提供的一种应用于应用部署平台的应用部署装置的示意图,包括:
生成模块501,用于获取输入的配置更新信息,并基于所述配置更新信息,生成包括所述配置更新信息的更新指令;
第二确定模块502,确定所述配置更新信息关联的服务器标识,以及每个所述服务器标识对应的服务器的接收地址;
发送模块503,用于按照所述接收地址,向所述服务器标识对应的服务器发送所述更新指令。
在一种可能的实施方式中,所述第二确定模块502,用于利用服务发现的方式,根据在所述应用部署平台注册的每个服务器的服务器标识,查找每个所述服务器的接收地址。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种计算机设备,如图6所示,为本公开实施例提供的一种计算机设备结构示意图,包括:
处理器61和存储器62;所述存储器62存储有处理器61可执行的机器可读指令,处理器61用于执行存储器62中存储的机器可读指令,所述机器可读指令被处理器61执行时,处理器61执行下述步骤:S101:获取并存储待部署在服务器中的应用对应的应用配置信息;S102:响应于客户端的应用访问请求,基于存储的应用配置信息,确定与应用访问请求匹配的目标文件的文件访问路径以及S103:在确定未存储文件访问路径指示的目标文件的情况下,基于文件访问路径,从应用部署平台中下载目标文件,并将下载的目标文件反馈给客户端,以在客户端展示目标文件对应的目标页面;或者,所述机器可读指令被处理器61执行时,处理器61执行下述步骤:S201:获取输入的配置更新信息,并基于配置更新信息,生成包括配置更新信息的更新指令;S202:确定配置更新信息关联的服务器标识,以及每个服务器标识对应的服务器的接收地址以及S203:按照接收地址,向服务器标识对应的服务器发送更新指令。
上述存储器62包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器61中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器61通过内存621与外部存储器622进行数据交换。
上述指令的具体执行过程可以参考本公开实施例中所述的应用部署方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的应用部署方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的应用部署方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的应用部署方法的步骤,具体可参见上述方法实施例,在此不再赘述。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。