买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】服务器操作方法、装置、设备和系统_阿里巴巴集团控股有限公司_201711080176.2 

申请/专利权人:阿里巴巴集团控股有限公司

申请日:2017-11-06

公开(公告)日:2022-09-23

公开(公告)号:CN109753403B

主分类号:G06F11/30

分类号:G06F11/30

优先权:

专利状态码:有效-授权

法律状态:2022.09.23#授权;2019.06.07#实质审查的生效;2019.05.14#公开

摘要:本申请实施例公开了一种服务器操作方法、装置、设备和系统,方法包括:第一应用服务器按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性,其中,该运行服务器是提供应用服务的应用服务器,该第一应用服务器是未注册为运行服务器的应用服务器;当该注册可用性表示注册可用时,第一应用服务器向该注册服务器注册为运行服务器。

主权项:1.一种服务器操作方法,其特征在于,包括:第一应用服务器按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性,其中,所述运行服务器是提供应用服务的应用服务器,所述第一应用服务器是未注册为运行服务器的应用服务器,所述注册可用性表征是否允许新的应用服务器注册为运行服务器,所述注册可用性为根据所述注册服务器的运行状态表中是否存在有效的运行服务器或者有效的运行服务器的数量确定的,所述运行服务器的有效性为根据所述运行状态表中记录的所述运行服务器的心跳时间和心跳周期确定的,所述运行服务器定时监测应用服务的运行状态是否正常,并在所述应用服务运行正常时更新所述运行服务器的心跳时间;当所述注册可用性表示注册可用时,第一应用服务器向所述注册服务器注册为运行服务器。

全文数据:服务器操作方法、装置、设备和系统技术领域本申请涉及计算机领域,尤其涉及一种服务器操作方法、装置、设备和系统。背景技术在系统运行过程中,系统的高可用性是非常重要的一个需求,不管出现任何如服务器宕机,网络断开等异常情况,都需要保证系统能够对外提供服务。现有的一种服务系统中,用户的请求接入到服务器Server中,服务器跟代理Agent之间建立长连接,并将用户的请求转给代理处理,由代理通过Server向用户提供服务。但是,当Server发生故障时,将无法为用户提供服务。发明内容本申请实施例提供了一种服务器操作方法、装置、设备和系统,能够保证系统提供高可用性的服务,提高了系统的鲁棒性。第一方面,提供了一种服务器操作方法,包括:第一应用服务器按照第一预定周期监测注册服务器中记录的运行服务器的存活状态,以确定注册可用性,其中,该运行服务器是提供应用服务的应用服务器,该第一应用服务器是未注册为运行服务器的应用服务器;当该注册可用性表示注册可用时,第一应用服务器向该注册服务器注册为运行服务器。第二方面,提供了一种服务器操作装置,包括:监测单元,按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性,其中,该运行服务器是提供应用服务的应用服务器,该第一应用服务器是未注册为运行服务器的应用服务器;注册单元,当该注册可用性表示注册可用时,将所述装置所属的第一应用服务器向所述注册服务器注册为运行服务器。第三方面,提出了一种电子设备,其特征在于,包括:处理器;以及被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性,其中,该运行服务器为提供应用服务的应用服务器,该电子设备未注册为运行服务器;当该注册可用性表示注册可用时,向该注册服务器注册为运行服务器。第四方面,提出了一种计算机可读存储介质,其特征在于,该计算机可读存储介质存储一个或多个程序,该一个或多个程序当被包括多个应用程序的电子设备执行时,使得该电子设备执行以下操作:按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性,其中,该运行服务器为提供应用服务的应用服务器,该电子设备未注册为运行服务器;当该注册可用性表示注册可用时,向该注册服务器注册为运行服务器。第五方面,提供了一种服务系统,包括应用服务器和注册服务器,注册服务器,接收应用服务器注册为运行服务器的请求,其中,该运行服务器为提供应用服务的应用服务器;应用服务器,按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性;当该注册可用性表示注册可用时,向所述注册服务器注册为运行服务器。基于以上技术方案,本申请实施例的服务器操作方法、装置和服务系统,通过监控注册服务器中运行服务器的存活状态,并在允许注册服务器时注册为运行服务器,从而能够保证服务系统中始终存在提供应用服务的运行服务器,保证系统提供高可用性的服务,提高了系统的鲁棒性。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请一个实施例服务器操作方法流程图。图2是本申请的一个实施例服务器操作方法的具体流程图。图3是本申请的另一个实施例服务器操作方法的具体流程图。图4是本申请的一个实施例应用服务器从注册为运行服务器到退出的具体流程图。图5是本申请的一个实施例电子设备的结构示意图。图6是本申请的一个实施例的服务器操作装置的结构示意图。具体实施方式为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。为了方便理解本申请实施例,首先在此介绍本申请实施例描述中会引入的几个要素。Linux虚拟服务器LinuxVirtualServer,LVS:使用LVS架设的服务器集群系统有三个部分组成:最前端的负载均衡层LoaderBalancer,中间的服务器群组层,用ServerArray表示,最底层的数据共享存储层,用SharedStorage表示。LoadBalancer层:位于整个LVS集群系统的最前端,有一台或者多台负载调度器DirectorServer组成,LVS模块就安装在DirectorServer上。DirectorServer的主要作用类似于一个路由器,含有完成LVS功能所设定的路由表,通过这些路由表把用户的请求分发给ServerArray层的实时服务器RealServer上。同时,在DirectorServer上还要安装对RealServer服务的监控模块Ldirectord,此模块用于监测各个RealServer服务的健康状况,在RealServer不可用时把RealServer从LVS路由表中剔除,在RealServer恢复时将其重新加入LVS路由表。ServerArray层:由一组实际运行应用服务的应用服务器RealServer组成,RealServer可以是WEB服务器、MAIL服务器、FTP服务器、DNS服务器、视频服务器中的一个或者多个,每个RealServer之间通过高速的LAN或分布在各地的WAN相连接。在实际的应用中,DirectorServer也可以同时兼任RealServer的角色。SharedStorage层:是为所有RealServer提供共享存储空间和内容一致性的存储区域,在物理上,一般有磁盘阵列设备组成。为了提供内容的一致性,一般可以通过NFS网络文件系统共享数据,或者集群文件系统,例如Redhat的GFS文件系统,Oracle的OCFS2文件系统等。图1是本申请实施例的服务器操作方法流程图。图1的方法由第一应用服务器执行。应理解,在本申请实施例中,第一应用服务器可以是服务器集群中具备提供应用服务功能的应用服务器。图1的方法包括:S101,第一应用服务器按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性。其中,所述运行服务器为提供应用服务的应用服务器,所述第一应用服务器是未注册为运行服务器的应用服务器。应理解,注册可用性用于反映注册为运行服务器这一功能的可用性。当已注册的运行服务器的存活状态表明允许新的应用服务器注册为运行服务器时,注册可用;当已注册的运行服务器的存活状态表明不允许新的应用服务器注册为运行服务器时,注册不可用。应理解,在本申请实施例中,注册服务器用于存储运行服务器的存活状态信息,运行服务器为在该注册服务器中注册并提供应用服务的应用服务器,该第一应用服务器可以是服务器集群中任何具备提供应用服务能力且未注册为运行服务器的应用服务器。应理解,此处的未注册为运行服务器的应用服务器,是指当前未注册为运行服务器的应用服务器,包括从未注册为运行服务器的应用服务器,以及曾经注册为运行服务器,但目前未注册为运行服务器的应用服务器。S102,当该注册可用性表示注册可用时,第一应用服务器向所述注册服务器注册为运行服务器。应理解,心跳时间用于确定运行服务器是否有效。具体地,如果心跳时间距离当前时间超出心跳周期,则表示运行服务器失效;如果心跳时间距离当前时间小于心跳周期,则表示运行服务器有效。特别地,如果心跳时间距离当前时间等于心跳周期,则可以表示运行服务器有效,或者表示运行服务器失效,按照约定即可。应理解,第一预定周期的设定,可以大于心跳周期,小于心跳周期,或等于心跳周期。本申请实施例中,通过监控注册服务器中运行服务器的存活状态,并在允许注册服务器时注册为运行服务器,从而能够保证服务系统中始终存在提供应用服务的运行服务器,保证系统提供高可用性的服务,提高了系统的鲁棒性。可选地,步骤S103可包括:第一应用服务器在注册为运行服务器时,将注册时间作为所注册的运行服务器的心跳时间,以确定运行服务器的存活状态。应理解,注册时间,即第一应用服务器向注册服务器注册为运行服务器的时间。本申请实施例中,通过注册运行服务器的心跳时间,可以实时监控运行服务器的存活状态。可选地,在步骤S103之后,该方法还可包括:第一应用服务器按照第二预定周期监测第一应用服务器提供的应用服务的运行状态;在监测到该应用服务运行正常时,第一应用服务器向该注册服务器更新该第一应用服务器的心跳时间。本申请实施例中,通过实时监控提供的应用服务的运行状态,并在应用服务运行正常时更新心跳时间,从而能够保证注册服务器中的运行服务器处于可用状态。当然,应理解,在本申请实施例中,该第二预定周期不大于运行服务器的心跳周期。可选地,作为一个实施例,第一应用服务器按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,包括:第一应用服务器按照第一预定周期监测该注册服务器中有效的运行服务器是否存在;其中,确定注册可用性,包括:当该注册服务器中不存在有效的运行服务器时,确定注册可用。此时,步骤S103具体可实现为:当确定注册可用时,第一应用服务器向注册服务器注册为运行服务器。当然,应理解,确定注册可用性,具体还实现为:当该注册服务器中存在有效的运行服务器时,确定注册不可用。本申请实施例中,在注册服务器中最多只有一个运行服务器,当应用服务器监测到注册服务器中不存在有效的运行服务器时,即可向注册服务器注册为运行服务器,从而能够保证服务系统中应用服务的高可用性,提高服务系统的鲁棒性。可选地,作为另一个实施例,第一应用服务器按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,具体实现为:第一应用服务器按照第一预定周期监测该注册服务器中有效的运行服务器的数量;其中,确定注册可用性,具体实现为:当该注册服务器中有效的运行服务器的数量小于预定数量时,确定注册可用。当然,应理解,确定注册可用性,具体还实现为:当该注册服务器中有效的运行服务器的数量大于或等于预定数量时,确定注册不可用。此时,步骤S103具体实现为:当该注册服务器中有效的运行服务器的数量小于预定数量时,向该注册服务器注册为运行服务器。本申请实施例中,在注册服务器中可以存在多个运行服务器,当应用服务器监测到注册服务器中有效的运行服务器小于规定的数量时,即可向注册服务器注册为运行服务器,从而能够保证服务系统中应用服务的高可用性,提高服务系统的鲁棒性。可选地,作为一个实施例,该运行服务器的有效性由该注册服务器根据该运行服务器的心跳时间和心跳周期确定的。或者,可选地,作为另一个实施例,该运行服务器的有效性由该第一应用服务器根据该运行服务器的心跳时间和心跳周期确定的。本申请实施例中,注册服务器或第一应用服务器可根据心跳时间和心跳周期,确定运行服务器的有效性,当心跳时间距离当前时间超出心跳周期可确定为失效的运行服务器,当心跳时间距离当前时间小于心跳周期可确定为有效的运行服务器。进一步地,注册服务器或第一应用服务器可将心跳时间距离当前时间超出心跳周期的运行服务器的信息删除,或者将心跳时间距离当前时间超出心跳周期的运行服务器修改为非运行服务器,等等。可选地,作为一个实施例,该方法还包括:在该第一应用服务器监测到该应用服务运行异常时,在该注册服务器中注册为异常服务器,或者停止更新该第一应用服务器的心跳时间。本申请实施例中,在作为运行服务器的第一应用服务器监测到应用服务运行异常时,通过失效运行服务器释放运行服务器资源,使得其它应用服务器有机会成为运行服务器,从而保证服务系统中应用服务的高可用性,提高服务系统的鲁棒性。或者,可选地,作为另一个实施例,该方法还包括:在该第一应用服务器监测到该应用服务运行异常时,重启该应用服务;如果第一应用服务器未能在预定时间内成功重启该应用服务,在该注册服务器中注册为异常服务器,或者停止更新该第一应用服务器的心跳时间。当作为运行服务器的第一应用服务器监测到应用服务运行异常时,可先尝试重启应用服务,并在尝试重启失败的情况下失效运行服务器。具体地,可在该注册服务器中注册为异常服务器以失效运行服务器,或者停止更新该第一应用服务器的心跳时间以失效运行服务器,从而能够释放运行服务器资源,进而使得其它应用服务器有机会成为运行服务器,保证服务系统中应用服务的高可用性,提高服务系统的鲁棒性。可选地,作为一个实施例,在步骤S101之前,该方法还包括:该第一应用服务器向注册服务器注册为等待服务器。其中,该等待服务器为被允许监测运行服务器的存活状态的应用服务器。进一步地,该注册服务器可监控注册服务器中已注册的等待服务器的数量。进一步地,该注册服务器可以只允许中注册为等待服务器的应用服务器注册为运行服务器。可选地,该注册服务器为数据库服务器。此时,步骤S101可实现为:第一应用服务器按照第一预定周期查询数据库服务器的运行状态表记录的运行服务器的信息,其中,该运行状态表用于记录运行服务器的标识和心跳时间;步骤S102可实现为:当该注册可用性表示注册可用时,第一应用服务器在运行状态表中将第一应用服务器记录为运行服务器。当然,应理解,第一应用服务器还可在运行状态表中记录第一应用服务器成为运行服务器的心跳时间。进一步地,当运行状态表记录的心跳时间未超时的运行服务器不存在时,第一应用服务器可在运行状态表中将第一应用服务器记录为运行服务器。或者,进一步地,当运行状态表记录的心跳时间未超时的运行服务器小于预定数量时,第一应用服务器可在运行状态表中将第一应用服务器记录为运行服务器。可选地,该第一应用服务器为Linux虚拟服务器LVS系统中服务器数组层中的应用服务器,该LVS系统中的负载均衡层中的负载调度器用于将该LVS系统中的虚拟互联网地址VIP映射到该注册服务器中已注册的该运行服务器上。进一步地,所述LVS系统中的VIP仅被映射到所述运行服务器上。可选地,该应用服务为有状态服务。下面,将结合具体的实施例,对本申请实施例的方法作进一步的描述。图2是本申请的一个实施例服务系统的架构示意图。如图2所示,该服务系统中可至少可包括2类服务器:注册服务器和运行服务器。注册服务器,或者叫仲裁服务器,用于作为仲裁者选举出运行服务器,从而能够为代理Agent服务器或客户提供服务;运行服务器,用于定时监测应用服务的运行状态,并在应用服务运行正常时更新注册服务器上的心跳时间。当然,应理解,服务系统还可包括等待服务器,用于监测注册服务器中已注册的运行服务器的存活状态,并在不存在运行服务器或者运行服务器的个数小于预定数量时,在注册服务器中注册为运行服务器;此外,该服务系统还可包括访问控制模块,用于将代理服务器或其它客户对应用服务的访问请求,映射到运行服务器上。图3是本申请的一个实施例服务系统的具体示意图。在图3所示的场景中,该注册服务器可以是一个数据库。应用服务器可通过在数据库中写入应用服务器的标识信息,从而注册为等待服务器。具体地,该标识信息可以是应用服务器的名称、mac地址或IP地址等等。当然,应理解,应用服务器注册为等待服务器的步骤是可选的。应理解,在数据库中,记录等待服务器和记录运行服务器的表可以是同一张表,也可以是不同的表。当记录等待服务器和记录运行服务器的表是同一张表时,还需要增加一个类型字段,对应用服务器登记的类型进行区分。当记录等待服务器和记录运行服务器的表不是同一张表时,可不需要类型字段。不妨将记录运行服务器的表命名为运行状态表。此外,运行状态表还需要一个时间字段,用于表示运行服务器的心跳时间。从应用服务器注册为运行服务器开始,就需要在运行状态表中该应用服务器的记录中更新该时间字段,以更新心跳时间。在应用服务器作为等待服务器时,可按照第一预定周期,定时从运行状态表监测运行服务器的存活状态。当应用服务器确定运行状态表的记录中不存在运行服务器或者运行服务器的个数小于预定数量时,在运行状态表中注册为运行服务器,心跳时间为注册时间。第一预定周期可以和运行服务器的心跳周期相同,也可以不同。一般情况下,第一预定周期的取值小于或等于运行服务器的心跳周期。在应用服务器作为运行服务器时,可按照第二预定周期,定时监测应用服务的运行状态。当应用服务运行正常时,在运行状态表中更新该应用服务器的记录对应的心跳时间。应理解,第二预定周期应小于或等于运行服务器的心跳周期。另外,在图3所示实施例中,访问控制模块具体可以是Linux虚拟服务器LVS集群系统中的LVS模块,例如LVS集群系统的LoadBalancer层中的负载调度器DirectorServer等,LVS模块通过向外部的Agent或客户端提供虚拟互联网地址VirtualInternetProtocol,VIP,并将VIP映射到数据库的运行状态表中记录的运行服务器的地址。特别地,为避免映射的服务器不可用,可以只将VIP映射到数据库的运行状态表中记录的运行服务器上。此外,LVS模块还可通过数据库的运行状态表检查运行服务器的运行状态,使得所有的Agent或客户端连接到运行服务器,从而保证系统的高可用性。图4是本申请的一个实施例应用服务器从注册为运行服务器到退出的具体流程图。下面结合图2、图3,对图4的方法做进一步说明。401,注册服务器启动。应理解,在本申请实施例中,只有当注册服务器启动后,才能运行本申请实施例的方法。本申请实施例的方法实施的前提是注册服务器启动。应理解,在本申请实施例中,注册服务器可以是数据库系统,也可以是一个用于管理运行服务器注册信息的应用服务。本申请实施例以数据库系统为例进行说明。402,应用服务器注册为等待服务器。应用服务器在准备提供服务时,可向注册服务器注册为等待服务器。应理解,应用服务器通过注册为等待服务器,可以增强应用服务器的有效性校验,同时可以让其它应用服务器了解到有多少应用服务器具备提供应用服务的能力。当然,应理解,步骤402是可选地,应用服务器也可不执行步骤402。不妨假设数据库用一张名为appserver的表记录,其中,表appserver可包括如下字段:当然,应理解,上述字段的举例仅仅是示例性的,在实际的应用中,可以增加更多的字段,或者采用其它字段名称,本申请实施例在此不做限制。此外,如果表appserver中只包括运行服务器的数据,则type字段也可以省略。假设应用服务器的地址为192.168.0.100,则当应用服务器注册为等待服务器,可通过一条插入语句实现注册。不妨假设当前appserver的注册信息如下:addressTypeHearttime192.168.0.101110:00:33192.168.0.102110:00:38192.168.0.103110:00:29192.168.0.104210:00:13当10点零45秒应用服务器注册为等待服务器时,当前appserver的注册信息如下:addressTypeHearttime192.168.0.101110:00:33192.168.0.102110:00:38192.168.0.103110:00:29192.168.0.104210:00:13192.168.0.100110:00:45当然,应理解,在具体的应用中,hearttime可加上日期,或者appserver中可将增一个日期字段,以区分不同日期的时间信息。应理解,应用服务器注册为等待服务器后,还可注册等待服务器的心跳,并定时更新等待服务器的心跳时间。当应用服务器注册等待服务器的心跳后,服务系统、其它应用服务器或注册服务器可从全局监控注册的等待服务器的数量及当前存活的等待服务器,以更及时地对等待服务器进行监控。403,应用服务器定时在注册服务器中查询运行服务器的信息。应用服务器可按照第一预定周期,在注册服务器中查询运行服务器的信息。通常情况下,应用服务器定时检查的第一预定周期,应小于或等于运行服务器的心跳周期。例如,假设运行服务器的心跳周期为60秒,则应用服务器可每隔30秒进行定时检查,每隔40秒进行定时检查,或者每隔60秒进行定时检查,等等。当然,应理解,该第一预定周期也可以大于60秒,例如,90秒、120秒等等。这种情况一般适用于作为等待服务器的应用服务器远大于所需运行服务器数量的场景。如表appserver所示,应用服务器查询运行服务器的信息时,可检索type为2,且与当前时间间隔小于或等于心跳周期的记录。此时,由应用服务器判断心跳是否超时。或者,可在数据库系统中建立一个执行周期为心跳周期的存储过程,该存储过程用于将type值为2,且与当前时间间隔大于心跳周期的记录的type值更新为运行服务器以外的类型,如1或3等。此时,由数据库系统判断心跳是否超时。应用服务器可检索type为2的记录。当然,也不排除将第一预定周期设置为大于心跳周期的场景。404,应用服务器确定注册可用性。应理解,注册可用性用于反映注册为运行服务器这一功能的可用性。当已注册的运行服务器的存活状态表明允许新的应用服务器注册为运行服务器时,注册可用;当已注册的运行服务器的存活状态表明不允许新的应用服务器注册为运行服务器时,注册不可用。如果服务系统中最多只有一个运行服务器提供应用服务,则应用服务器根据检索记录的有无,可判断是否允许应用服务器注册为运行服务器。如果存在记录,则说明存在运行服务器,注册不可用,此时,不允许应用服务器注册为运行服务器,继续执行步骤403,即继续定时查询运行服务器的信息;如果不存在记录,或者说记录数为零,则说明不存在运行服务器,此时,说明注册可用,允许应用服务器注册为运行服务器,执行步骤405。当然,应理解,如果服务系统中最多允许N个运行服务器提供应用服务,则应用服务器根据检索记录的数量Count,可判断是否允许应用服务器注册为运行服务器,以确定注册可用性。如果Count等于N,说明注册不可用,不允许应用服务器注册为运行服务器,继续执行步骤403,即继续定时查询运行服务器的信息;如果Count小于N,说明允许应用服务器注册为运行服务器,执行步骤405。405,应用服务器在注册服务器中注册为运行服务器,并注册心跳。在本实施例中,应用服务器可更新表appserver中address字段取值为“192.168.0.100”的记录,将type字段更新为2,同时将hearttime字段更新为当前时间。当然,应理解,如果表appserver只有运行服务器的记录,则应用服务器可直接写入一条记录,address字段取值为“192.168.0.100”,type字段取值为2,hearttime字段取值为当前时间。406,应用服务器定时监测应用服务的运行状态。应用服务器需要定时监测应用服务器上的应用服务的运行状态。当然,应理解,在应用服务器定时监测应用服务器的运行状态之前,应用服务器首先应启动应用服务。该启动过程可以在应用服务器开启后启动,或者在应用服务器注册为等待服务器后启动,或者在应用服务器注册为运行服务器后启动,本申请实施例在此不做限制。应用服务器可按照第二预定周期定时监测应用服务的运行状态。应理解,该第二预定周期可与第一预定周期相同,也可以不同。但是,第二预定周期一定小于或等于心跳周期。407,应用服务器判断应用服务是否运行正常。应用服务器定时监测应用服务的运行状态后,可得到应用服务的运行状态。如果应用服务器判断应用服务运行正常,则更新运行服务器的心跳时间,并继续执行步骤406,定时监测应用服务的运行状态。具体地,在本申请实施例中,应用服务器可将address字段为“192.168.0.100”,type字段为2的记录中的hearttime字段更新为当前时间,再执行步骤406。如果应用服务器判断应用服务运行异常,可选地,在一种具体的实现方式中,应用服务器可直接执行步骤409;在另一种具体的实现方式中,应用服务器可执行步骤408。408,应用服务器判断是否重启应用。应用服务器在判断应用服务异常后,可重启应用。如果重启成功,则继续执行步骤406,定时监测应用服务的运行状态。如果重启失败,则执行步骤409。应理解,本申请实施例的重启失败,可包括一次重启失败的场景和预定时间内多次重启失败的场景。409,应用服务器在注册服务器中注册为死亡服务器。如果应用服务器还具备一定的处理能力,则应用服务器可将表appserver中应用服务器可将address字段为“192.168.0.100”,type字段为2的记录中的type字段更新为3。或者,应用服务器可将表appserver中应用服务器可将address字段为“192.168.0.100”,type字段为2的记录删除。410,应用服务器退出。上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。图5是本申请的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器Random-AccessMemory,RAM,也可能还包括非易失性存储器non-volatilememory,例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISAIndustryStandardArchitecture,工业标准体系结构总线、PCIPeripheralComponentInterconnect,外设部件互连标准总线或EISAExtendedIndustryStandardArchitecture,扩展工业标准结构总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成快照维护装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性,其中,该运行服务器是提供应用服务的应用服务器,该电子设备是未注册为运行服务器的应用服务器;当该注册可用性表示注册可用时,第一应用服务器向该注册服务器注册为运行服务器。上述如本申请图1、图4所示实施例揭示的第一应用服务器或应用服务器执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器CentralProcessingUnit,CPU、网络处理器NetworkProcessor,NP等;还可以是数字信号处理器DigitalSignalProcessor,DSP、专用集成电路ApplicationSpecificIntegratedCircuit,ASIC、现场可编程门阵列Field-ProgrammableGateArray,FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。该电子设备还可执行图1的方法,并实现第一应用服务器或应用服务器在图1、图4所示实施例的功能,本申请实施例在此不再赘述。当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下方法:按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性,其中,该运行服务器是提供应用服务的应用服务器,该电子设备是未注册为运行服务器的应用服务器;当该注册可用性表示注册可用时,第一应用服务器向该注册服务器注册为运行服务器。图6是本申请的一个实施例服务器操作装置600的结构示意图。请参考图6,在一种软件实施方式中,服务器操作装置600可包括:监测单元610,按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性,其中,该运行服务器是提供应用服务的应用服务器,第一应用服务器是未注册为运行服务器的应用服务器;注册维护单元620,当该注册可用性表示注册可用时,将服务器操作装置600所属的第一应用服务器向该注册服务器注册为运行服务器。本申请实施例中,通过监控注册服务器中运行服务器的存活状态,并在允许注册服务器时注册为运行服务器,从而能够保证服务系统中始终存在提供应用服务的运行服务器,保证系统提供高可用性的服务,提高了系统的鲁棒性。可选地,注册维护单元620,可在注册为运行服务器时,将注册时间作为所注册的运行服务器的心跳时间,以确定运行服务器的存活状态。进一步地,监测单元610,还可按照第二预定周期监测第一应用服务器提供的应用服务的运行状态;注册维护单元620还可在监测单元610监测到该应用服务运行正常时,向该注册服务器更新该第一应用服务器的心跳时间。可选地,监测单元610具体用于:按照第一预定周期监测该注册服务器中有效的运行服务器是否存在;当该注册服务器中不存在有效的运行服务器时,确定注册可用。此时,注册维护单元620可用于:当注册可用时,向注册服务器注册为运行服务器。可选地,作为另一个实施例,监测单元610具体用于:按照第一预定周期监测该注册服务器中有效的运行服务器的数量;当该注册服务器中有效的运行服务器的数量小于预定数量时,确定注册可用。此时,注册维护单元620可用于:当注册可用时,向该注册服务器注册为运行服务器。可选地,作为一个实施例,运行服务器的有效性由该注册服务器根据该运行服务器的心跳时间和心跳周期确定的。或者,可选地,作为另一个实施例,运行服务器的有效性由该服务器操作装置600根据该运行服务器的心跳时间和心跳周期确定的。可选地,作为一个实施例,在第一应用服务器注册为运行服务器之后,当监测单元610监测到第一应用服务器应用服务运行异常时,注册维护单元620可在该注册服务器中注册为异常服务器,或者,注册维护单元620可停止更新该第一应用服务器的心跳时间。可选地,作为另一个实施例,服务器操作装置600还可包括服务启动单元630,在第一应用服务器注册为运行服务器之后,当监测单元610监测到第一应用服务器的应用服务运行异常时,服务启动单元630重启该应用服务;如果启动单元630未能在预定时间内成功重启第一应用服务器的应用服务,注册维护单元620可在该注册服务器中注册为异常服务器,或者,注册维护单元620可停止更新该第一应用服务器的心跳时间。可选地,注册维护单元620还可向注册服务器注册为等待服务器。其中,该等待服务器为被允许监测运行服务器的存活状态的应用服务器。进一步地,该注册服务器可监控注册服务器中已注册的等待服务器的数量。进一步地,该注册服务器可以只允许中注册为等待服务器的应用服务器注册为运行服务器。可选地,该注册服务器为数据库服务器。此时,监测单元610用于:按照第一预定周期查询数据库服务器的运行状态表记录的运行服务器的信息,其中,该运行状态表用于记录运行服务器的标识和心跳时间;注册维护单元620用于:当该注册可用性表示注册可用时,在运行状态表中将第一应用服务器记录为运行服务器。当然,应理解,注册维护单元620还可用于在运行状态表中记录第一应用服务器成为运行服务器的心跳时间。进一步地,当运行状态表记录的心跳时间未超时的运行服务器不存在时,注册维护单元620还可用于在运行状态表中将第一应用服务器记录为运行服务器。或者,进一步地,当运行状态表记录的心跳时间未超时的运行服务器小于预定数量时,注册维护单元620可用于在运行状态表中将第一应用服务器记录为运行服务器。可选地,该第一应用服务器为Linux虚拟服务器LVS系统中服务器数组层中的应用服务器,该LVS系统中的负载均衡层中的负载调度器用于将该LVS系统中的虚拟互联网地址VIP映射到该注册服务器中已注册的该运行服务器上。进一步地,所述LVS系统中的VIP仅被映射到所述运行服务器上。可选地,该应用服务为有状态服务。装置600还可执行图1的方法,并实现应用服务器或第一应用服务器在图1、图4所示实施例的功能,本申请实施例在此不再赘述。本申请实施例还提供了一种服务系统,包括应用服务器和注册服务器,其中,注册服务器,接收应用服务器注册为运行服务器的请求,其中,该运行服务器为在该注册服务器中注册并正在提供应用服务的应用服务器;应用服务器,按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性;当该注册可用性表示注册可用时,向所述注册服务器注册为运行服务器。该注册服务器还可实现图1、图4所示实施例中注册服务器的功能,该应用服务器还可图1、图4所示实施例中第一应用服务器或应用服务器的功能,具体实现可参考图1、图4所示实施例。总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存PRAM、静态随机存取存储器SRAM、动态随机存取存储器DRAM、其他类型的随机存取存储器RAM、只读存储器ROM、电可擦除可编程只读存储器EEPROM、快闪记忆体或其他内存技术、只读光盘只读存储器CD-ROM、数字多功能光盘DVD或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体transitorymedia,如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

权利要求:1.一种服务器操作方法,其特征在于,包括:第一应用服务器按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性,其中,所述运行服务器是提供应用服务的应用服务器,所述第一应用服务器是未注册为运行服务器的应用服务器;当所述注册可用性表示注册可用时,第一应用服务器向所述注册服务器注册为运行服务器。2.如权利要求1所述的方法,其特征在于,第一应用服务器向所述注册服务器注册为运行服务器,包括:第一应用服务器在注册为运行服务器时,将注册时间作为所注册的运行服务器的心跳时间,以确定运行服务器的存活状态。3.如权利要求2所述的方法,其特征在于,所述方法还包括:在第一应用服务器注册为运行服务器之后,第一应用服务器按照第二预定周期监测第一应用服务器提供的应用服务的运行状态;在监测到所述应用服务运行正常时,第一应用服务器向所述注册服务器更新所述第一应用服务器的心跳时间。4.如权利要求1所述的方法,其特征在于,第一应用服务器按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态包括:第一应用服务器按照第一预定周期监测所述注册服务器中有效的运行服务器是否存在;其中,确定注册可用性,包括:当所述注册服务器中不存在有效的运行服务器时,确定注册可用。5.如权利要求1所述的方法,其特征在于,第一应用服务器按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态包括:第一应用服务器按照第一预定周期监测所述注册服务器中有效的运行服务器的数量;其中,确定注册可用性,包括:当所述注册服务器中有效的运行服务器的数量小于预定数量时,确定注册可用。6.如权利要求4或5所述的方法,其特征在于,所述运行服务器的有效性由所述注册服务器根据所述运行服务器的心跳时间和心跳周期确定的。7.如权利要求4或5所述的方法,其特征在于,所述运行服务器的有效性由所述第一应用服务器根据所述运行服务器的心跳时间和心跳周期确定的。8.如权利要求3所述的方法,其特征在于,所述方法还包括:在第一应用服务器监测到所述应用服务运行异常时,向所述注册服务器注册为异常服务器,或者停止更新第一应用服务器的心跳时间。9.如权利要求3所述的方法,其特征在于,所述方法还包括:在第一应用服务器监测到所述应用服务运行异常时,重启所述应用服务;如果第一应用服务器未能在预定时间内成功重启所述应用服务,则向所述注册服务器注册为异常服务器,或者停止更新第一应用服务器的心跳时间。10.如权利要求1所述的方法,其特征在于,在第一应用服务器按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态之前,所述方法还包括:第一应用服务器向所述注册服务器注册为等待服务器,其中,所述等待服务器为被允许监测运行服务器的存活状态的应用服务器。11.如权利要求1所述的方法,其特征在于,所述注册服务器为数据库服务器。12.如权利要求1所述的方法,其特征在于,第一应用服务器为Linux虚拟服务器LVS系统中服务器数组层中的应用服务器,所述LVS系统中的负载均衡层中的负载调度器用于将所述LVS系统中的虚拟互联网地址VIP映射到所述注册服务器中已注册的所述运行服务器上。13.如权利要求12所述的方法,其特征在于,所述LVS系统中的VIP仅被映射到所述运行服务器上。14.如权利要求1所述的方法,其特征在于,所述应用服务为有状态服务。15.一种服务器操作装置,其特征在于,包括:监测单元,按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性,其中,所述运行服务器是提供应用服务的应用服务器,第一应用服务器是未注册为运行服务器的应用服务器;注册单元,当所述注册可用性表示注册可用时,将所述装置所属的第一应用服务器向所述注册服务器注册为运行服务器。16.一种电子设备,其特征在于,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性,其中,所述运行服务器是提供应用服务的应用服务器,所述电子设备是未注册为运行服务器的应用服务器;当所述注册可用性表示注册可用时,向所述注册服务器注册为运行服务器。17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:按照第一预定周期监测注册服务器中已注册的运行服务器的存活状态,以确定注册可用性,其中,所述运行服务器是提供应用服务的应用服务器,所述电子设备是未注册为运行服务器的应用服务器;当所述注册可用性表示注册可用时,第一应用服务器向所述注册服务器注册为运行服务器。

百度查询: 阿里巴巴集团控股有限公司 服务器操作方法、装置、设备和系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。