大内存服务的多版本程序的并存方法和装置的制造方法

文档序号:9887432阅读:257来源:国知局
大内存服务的多版本程序的并存方法和装置的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,尤其涉及一种大内存服务的多版本程序的并存方法和装置。
【背景技术】
[0002]在要求高可用的大内存服务上,多版本程序并存的稳定性,会受到硬件和软件异常,以及升级变更等多方面因素的影响。硬件异常,包括单机网卡或磁盘故障,网络交换机故障等;软件异常,包括新增代码未捕获异常,或者非法访问内存等。升级变更影响,包括服务重新启动造成的计划性停机等。特别地,对于大内存服务,在服务器(内存)资源受限的情况下,无法通过部署更多副本提供可用性;故障恢复时间,也会因异常后内存转储,服务重启初始化等环节而延长。通常,网络服务程序,都会通过配置客户端请求重试提高可用性,但是当重试的请求仍由有相同问题的版本处理时,反而会导致故障传播,以致减少系统中可用的副本数量,降低服务可用性。

【发明内容】

[0003]本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。
[0004]为此,本发明的第一个目的在于提出一种大内存服务的多版本程序的并存方法。对于需要使用多版本来进行发布或实验的大内存服务,该方法可以在不增加机器成本情况下有效提高服务可用性。
[0005]本发明的第二个目的在于提出一种大内存服务的多版本程序的并存装置。
[0006]为了实现上述目的,本发明第一方面实施例的大内存服务的多版本程序的并存方法,包括:部署第一副本的服务器接收客户端发送的第一请求,所述第一请求中携带由第一版本的程序处理所述第一请求的标记;将所述第一请求转发给第一版本的程序进行处理,确定所述第一版本的程序发生异常;向所述客户端发送通知,以通知所述客户端所述第一版本的程序发生异常,以使所述客户端向部署第二副本的服务器发送第二请求,所述第二请求中携带由第二版本的程序处理所述第二请求的标记,由部署第二副本的服务器将所述第二请求转发给第二版本的程序进行处理,所述第一版本为所述第二版本的更新版本。
[0007]本发明实施例的大内存服务的多版本程序的并存方法中,部署第一副本的服务器接收客户端发送的第一请求之后,将上述第一请求转发给第一版本的程序进行处理,确定上述第一版本的程序发生异常,然后向上述客户端发送通知,以通知上述客户端所述第一版本的程序发生异常,以使上述客户端向部署第二副本的服务器发送第二请求,由部署第二副本的服务器将上述第二请求转发给第二版本的程序进行处理,上述第一版本为上述第二版本的更新版本,从而可以将多版本程序等比例的部署到所有副本服务器,通过集群规模避免了故障迀移时小集群的单点问题,对于需要使用多版本来进行发布或实验的大内存服务,可以在不增加机器成本情况下有效提高服务可用性。
[0008]为了实现上述目的,本发明第二方面实施例的大内存服务的多版本程序的并存方法,包括:客户端向部署第一副本的服务器发送第一请求,所述第一请求中携带由第一版本的程序处理所述第一请求的标记;接收部署第一副本的服务器发送的通知,所述通知是部署第一副本的服务器在将所述第一请求转发给第一版本的程序进行处理,确定所述第一版本的程序发生异常之后发送的,用于通知所述客户端所述第一版本的程序发生异常;向部署第二副本的服务器发送第二请求,所述第二请求中携带由第二版本的程序处理所述第二请求的标记,以使部署第二副本的服务器将所述第二请求转发给第二版本的程序进行处理,所述第一版本为所述第二版本的更新版本。
[0009]本发明实施例的大内存服务的多版本程序的并存方法中,客户端向部署第一副本的服务器发送第一请求之后,接收部署第一副本的服务器发送的通知,上述通知是部署第一副本的服务器在将第一请求转发给第一版本的程序进行处理,确定上述第一版本的程序发生异常之后发送的,用于通知上述客户端上述第一版本的程序发生异常,然后客户端向部署第二副本的服务器发送第二请求,以使部署第二副本的服务器将上述第二请求转发给第二版本的程序进行处理,上述第一版本为上述第二版本的更新版本,从而可以将多版本程序等比例的部署到所有副本服务器,通过集群规模避免了故障迀移时小集群的单点问题,对于需要使用多版本来进行发布或实验的大内存服务,可以在不增加机器成本情况下有效提尚服务可用性。
[0010]为了实现上述目的,本发明第三方面实施例的大内存服务的多版本程序的并存装置,设置在部署第一副本的服务器中,所述大内存服务的多版本程序的并存装置包括:接收模块,用于接收客户端发送的第一请求,所述第一请求中携带由第一版本的程序处理所述第一请求的标记;转发模块,用于将所述接收模块接收的第一请求转发给第一版本的程序进行处理;确定模块,用于确定所述第一版本的程序发生异常;发送模块,用于向所述客户端发送通知,以通知所述客户端所述第一版本的程序发生异常,以使所述客户端向部署第二副本的服务器发送第二请求,所述第二请求中携带由第二版本的程序处理所述第二请求的标记,由部署第二副本的服务器将所述第二请求转发给第二版本的程序进行处理,所述第一版本为所述第二版本的更新版本。
[0011]本发明实施例的大内存服务的多版本程序的并存装置中,接收模块接收客户端发送的第一请求之后,转发模块将上述第一请求转发给第一版本的程序进行处理,确定模块确定上述第一版本的程序发生异常,然后发送模块向上述客户端发送通知,以通知上述客户端所述第一版本的程序发生异常,以使上述客户端向部署第二副本的服务器发送第二请求,由部署第二副本的服务器将上述第二请求转发给第二版本的程序进行处理,上述第一版本为上述第二版本的更新版本,从而可以将多版本程序等比例的部署到所有副本服务器,通过集群规模避免了故障迀移时小集群的单点问题,对于需要使用多版本来进行发布或实验的大内存服务,可以在不增加机器成本情况下有效提高服务可用性。
[0012]为了实现上述目的,本发明第四方面实施例的大内存服务的多版本程序的并存装置,包括:发送模块,用于向部署第一副本的服务器发送第一请求,所述第一请求中携带由第一版本的程序处理所述第一请求的标记;接收模块,用于接收部署第一副本的服务器发送的通知,所述通知是部署第一副本的服务器在将所述第一请求转发给第一版本的程序进行处理,确定所述第一版本的程序发生异常之后发送的,用于通知所述客户端所述第一版本的程序发生异常;所述发送模块,还用于向部署第二副本的服务器发送第二请求,所述第二请求中携带由第二版本的程序处理所述第二请求的标记,以使部署第二副本的服务器将所述第二请求转发给第二版本的程序进行处理,所述第一版本为所述第二版本的更新版本。
[0013]本发明实施例的大内存服务的多版本程序的并存装置中,发送模块向部署第一副本的服务器发送第一请求之后,接收模块接收部署第一副本的服务器发送的通知,上述通知是部署第一副本的服务器在将第一请求转发给第一版本的程序进行处理,确定上述第一版本的程序发生异常之后发送的,用于通知上述客户端上述第一版本的程序发生异常,然后发送模块向部署第二副本的服务器发送第二请求,以使部署第二副本的服务器将上述第二请求转发给第二版本的程序进行处理,上述第一版本为上述第二版本的更新版本,从而可以将多版本程序等比例的部署到所有副本服务器,通过集群规模避免了故障迀移时小集群的单点问题,对于需要使用多版本来进行发布或实验的大内存服务,可以在不增加机器成本情况下有效提高服务可用性。
[0014]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0015]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0016]图1为本发明大内存服务的多版本程序的并存方法一个实施例的流程图;
[0017]图2为本发明大内存服务的多版本程序的并存方法中不同版本的计算代码共享数据进程一个实施例的示意图;
[0018]图3为本发明大内存服务的多版本程序的并存方法中多版本部署升级一个实施例的不意图
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1