应用程序及数据库的热部署方法及装置的制造方法_2

文档序号:9523998阅读:来源:国知局
。而第一后端应用程序在升级时具有备份,该备份称为第二后端应用程序,当进行后端应用程序升级时,可以由第一后端应用程序处理用户访问请求,同时升级第二后端应用程序,待第升级成功后,则由前端应用程序将后续接收到的用户访问请求以及第一后端应用程序未处理完的用户访问请求转发给第二后端应用程序处理。则可以实现无需暂停服务便实现对应用的升级,从而实现对应用程序的热部署。
[0032]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0033]实施例一:
[0034]如图1所示,其为本发明实施例一中所述应用程序的热部署方法的流程示意图,该方法可包括以下步骤:
[0035]步骤101:前端应用程序接收用户访问请求,并将用户访问请求转发给第一后端应用程序处理;其中,所述应用程序包括前端应用程序和第一后端应用程序两部分,其中,前端应用程序为升级时不需要重启的部分应用程序;第一后端应用程序为升级时需要重启的部分应用程序。
[0036]其中,在一个实施例中,前端应用程序例如是用于显示界面的部分应用程序,第一后端应用程序例如是除了用于显示界面的部分应用程序之外的部分应用程序。需要说明的是,应用程序中任何升级时不需要重启的部分应用程序都可以是前端应用程序的一部分,任何升级时需要重启的部分应用程序都可以是第一后端应用程序的一部分,具体划分时,可以依据是否需要重启进行划分,均满足本发明实施例的需求,本发明实施例对此不做限定。
[0037]步骤102:当接收到作为第一后端应用程序的备份的第二后端应用程序已升级完成的指令时,将后续接收到的用户访问请求以及第一后端应用程序未处理完的用户访问请求转发给第二后端应用程序处理,并将第二后端应用程序视为第一后端应用程序。
[0038]例如,应用程序A包括前端应用程序B和第一后端应用程序C,第一后端应用程序C升级时,预先设立有第一后端应用程序的备份应用程序即第二后端应用程序D ;并且在开始阶段由第一后端应用程序C处理用户访问请求,故此,具体热部署的过程可以为:前端应用程序B接收用户访问请求,并将用户访问请求转发给第一后端应用程序C处理;与此同时,对第二后端应用程序D进行升级,则第二后端应用程序D升级完成后,前端应用程序B将后续接收到的用户访问请求以及第一后端应用程序未处理完的用户访问请求转交给第二后端应用程序D进行处理。这样,便实现了对后端应用程序的升级,并且无需暂停服务和重启应用。而对于前端应用程序B,由于其升级无需重启,所以若前端应用程序B需要升级时,可以直接对前端应用程序B进行升级。
[0039]继续上面的例子,步骤102中将第二后端应用程序视为第一后端应用程序是指:由于第二后端应用程序为升级完成的后端应用程序并用于处理用户请求,那么在下一次对应用程序升级时,第二后端应用程序将是旧版本的后端应用程序。即下次应用程序升级时,将第二后端应用程序视为第一后端应用程序对待。即下次升级时,第二后端应用程序D身份为第一后端应用程序D,设置的第一后端应用程序D的备份应用程序E为第二后端应用程序E,前端应用程序B接收用户访问请求,并将用户访问请求转发给第一后端应用程序D处理;与此同时,对第二后端应用程序E进行升级,则第二后端应用程序E升级完成后,前端应用程序B将后续接收到的用户访问请求以及第一后端应用程序D未处理完的用户访问请求转交给第二后端应用程序E进行处理。
[0040]例如,继续上面的例子,应用程序B是应用程序A的前端应用程序,且应用程序B仅用于显示界面。用户通过浏览器访问应用程序A时,浏览器会向应用程序A发送请求,请求应用程序A所存放的网络资源,应用程序A收到请求,然后返回给浏览器应用程序A中的应用程序B,浏览器获取到目标应用程序中的应用程序B文件,从而显示用户界面,当应用程序B升级时,不会影响用户访问。当用户刷新界面时,客户端会重新向服务器发起请求,重新获取升级后的应用程序B,这时候客户端将显示升级后的界面。故此,前端应用程序可以无需暂停服务,直接升级。
[0041]而第一后端应用程序,并非能够通过网络直接获取解析的网络资源,并且升级变更资源内容的时候,这种程序需要应用程序服务器重新编译才能生效,而重新编译需要重启应用程序服务器。故此,需要为第一后端应用程序的备份应用程序即第二后端应用程序进行升级,从而保证提供的服务不会被暂停。
[0042]其中,在一个实施例中,用户通过前端应用程序可以查看用户可以执行哪些操作,故此只有当后端应用程序升级成功之后,前端应用程序才可以升级,否则用户通过前端应用程序执行的操作可能不会被应用程序执行或者执行出错。故此,为了能够保证应用程序能够正常提供服务,如果需要升级前端应用程序时,则在步骤102之后升级前端应用程序。
[0043]其中,在一个实施例中,用户通过应用程序访问的资源一般存储在应用程序的数据库中,为了节约存储资源,所述第一后端应用程序以及所述第二后端应用程序共用第一数据库。
[0044]其中,在一个实施例中,在某些情况下,需要对应用程序的数据库进行升级,当第一后端应用程序以及第二后端应用程序共用第一数据库时,若需要对第一数据库进行升级,为了保证第一数据库能够正常的提供服务,对数据库新增表结构的升级在第二后端应用程序升级前进行。在前端应用程序将用户访问请求转发给第二后端应用程序处理之后,第一数据库进行数据库表结构的删除和/或修改操作,如果需要更新表内容时,第一数据库可以执行以下操作中的至少一种:新增操作,删除操作和修改操作等。
[0045]其中,在一个实施例中,用户访问请求可能是用于对数据库进行操作,故此,为了能够实现对应用程序的数据库的热备份,以及能够独立的对数据库执行升级操作,所述第一后端应用程序使用第二数据库,所述第二后端应用程序使用第三数据库;且,当所述第一后端应用程序处理用户请求时,所述第三数据库为所述第二数据库的热备份数据库。这样,若需要对数据库进行升级,当第二数据库提供服务时,用户可以对第三数据库进行升级,而不会对提供服务的第二数据库造成影响,则为用户提供的服务也不会中断。当然,当第三数据库升级成功后,第三数据库将作为提供服务的数据库。这时,可以设置第四数据库,用于在第三数据库提供服务时,对第三数据库进行热备份。
[0046]其中,在一个实施例中,前端应用程序、第一后端应用程序和第二后端应用程序可以部署在同一服务器中也可以部署在不同的服务器中,本发明对此不做限定。
[0047]综上,本发明实施例中,由于将应用程序划分为前端应用程序和第一后端应用程序,其中,前端应用程序为应用程序中升级时不需要重启的部分应用程序;第一后端应用程序为应用程序中升级时需要重启的部分应用程序;由于前端应用程序升级时无需重启,所以升级前端应用程序时无需暂停服务。而第一后端应用程序在升级时具有备份,该备份称为第二后端应用程序,当进行后端应用程序升级时,可以由第一后端应用程序处理用户访问请求,同时升级第二后端应用程序,待第升级成功后,则由前端应用程序将后续接收到的用户访问请求以及第一后端应用程序未处理完的用户访问请求转发给第二后端应用程序处理。则可以实现无需暂停服务便实现对应用的升级,从而实现对应用程序的热部署。
[0048]实施例二
[0049]如图2所示,为本发明实施例中热部署应用程序时,需要对数据库升级时,数据库的热部署流程示意图,该方法适用于第一后端应用程序以及第二后端应用程序共用第一数据库的场景,具体的,该方法包括以下步骤:
[0050]步骤201:第一数据库在第二后端应用程序升级前,执行新增表结构的升级;其中,所述应用程序包括前端应用程序和第一后端应用程序两部分,其中,前端应用程序为升级时不需要重启的部分应用程序;第一后端应用程序为升级时需要重启的部分应用程序;第二后端应用程序为第一后端应用程序的备份,并用于升级后接替第一后端应用程序接收并处理前端应用程序转发的后续接收到的用户访问请求以及第一前端应用程序未处理完的用户访问请求。
[0051]其中,前端应用程序,第一后端应用程序和第二后端应用程序
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1