CN114070716A - 应用程序的管理系统、应用程序的管理方法以及服务器 - Google Patents
应用程序的管理系统、应用程序的管理方法以及服务器 Download PDFInfo
- Publication number
- CN114070716A CN114070716A CN202111432382.1A CN202111432382A CN114070716A CN 114070716 A CN114070716 A CN 114070716A CN 202111432382 A CN202111432382 A CN 202111432382A CN 114070716 A CN114070716 A CN 114070716A
- Authority
- CN
- China
- Prior art keywords
- application
- sub
- service group
- server
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000007726 management method Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000012546 transfer Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供了应用程序的管理系统、应用程序的管理方法以及服务器,涉及金融领域及其他领域。应用程序包括多个子应用,每个子应用部署在所述系统中的多个服务器上,多个服务器包括负载均衡服务器,其中,第一子应用的负载均衡服务器用于确定第一子应用发生故障,该第一子应用是多个子应用中的任意一个子应用;该负载均衡服务器还用于,将第一服务群组停止使用,并将待发送至第一子应用的流量切换至第二服务群组,第一服务群组是第一子应用未发生故障时使用的服务群组,第二服务群组备份有针对第一子应用预定义的基础服务的数据和代码。从而使得该系统发生故障时,依然可以维持基础服务的正常运行,保障了企业以及客户的利益。
Description
技术领域
本申请涉及金融领域,尤其涉及应用程序的管理系统、应用程序的管理方法以及服务器。
背景技术
随着计算机技术的高速发展,应用系统的可靠运行可能关系到企业、客户甚至是国家的切身利益。基础服务是应用系统中的核心服务,应用程序(application,APP)的安全运行都离不开基础服务,如银行APP中的登录、转账、查询余额等各项子应用,都可能用到人脸认证,密码认证等基础服务,一旦发生系统灾难,如果无法维持基础服务的正常运行,将严重影响到银行以及用户的利益。
目前,银行在发生系统灾难时,可能无法保障基础服务的正常运行。因此,如何在系统灾难时保证基础服务的可用性是一项亟需解决的问题。
发明内容
本申请提供了应用程序的管理系统、应用程序的管理方法以及服务器,以期能够在系统发生故障时维持基础服务的正常运行,从而提高基础服务的可靠性,保障用户的切身利益。
第一方面,本申请提供一种应用程序的管理系统,所述应用程序包括多个子应用,每个子应用部署在所述系统中的多个服务器上,且所述多个服务器包括负载均衡服务器,其中,第一子应用的负载均衡服务器用于确定第一子应用发生故障,所述第一子应用是所述多个子应用中的任意一个子应用;所述负载均衡服务器还用于将第一服务群组停止使用,并将待发送至所述第一子应用的流量切换至第二服务群组,所述第一服务群组是所述第一子应用未发生故障时使用的服务群组,所述第二服务群组备份有针对所述第一子应用预定义的基础服务的数据和代码。
基于上述技术方案,当应用程序的多个子应用中的任意一个子应用发生故障时,该子应用对应的负载均衡服务器可以将该子应用的流量切换至备份有该子应用预定义的基础服务的数据和代码的服务器群组,从而使得该系统中的子应用发生故障时,依然可以维持基础服务的正常运行,提高了基础服务的可靠性,保障了企业以及客户的利益。
结合第一方面,在第一方面可能的实现方式中,所述第一服务群组的代码库与所述第二服务群组的代码库相互独立。
结合第一方面,在第一方面可能的实现方式中,所述第一服务群组与所述第二服务群组异地部署。
结合第一方面,在第一方面可能的实现方式中,所述负载均衡服务器还用于接收来自第二子应用的请求报文,所述请求报文用于请求调用所述第一子应用,所述第二子应用用于提供所述第一子应用的调用接口,所述请求报文中携带预定义的标识,所述标识用于指示将流量路由至所述第二服务群组。
结合第一方面,在第一方面可能的实现方式中,所述系统还包括分布式服务器,所述分布式服务器用于为所述多个子应用提供注册和调用的接口。
结合第一方面,在第一方面可能的实现方式中,所述第一服务群组和所述第二服务群组在所述分布式服务器注册的版本号不同。
结合第一方面,在第一方面可能的实现方式中,所述分布式服务器具体用于接收来自第二子应用的需要调用的子应用及其版本号;所述第二子应用用于提供所述第一子应用的调用接口,并用于在所述需要调用的子应用为所述第一子应用,且所述版本号为所述第二服务群组的版本号的情况下,将流量路由至所述第二服务群组。
结合第一方面,在第一方面可能的实现方式中,所述系统还包括同步服务器,用于将所述第一服务群组的数据实时同步至所述第二服务群组中。
结合第一方面,在第一方面可能的实现方式中,所述第二服务群组保持在常开状态。
结合第一方面,在第一方面可能的实现方式中,所述多个子应用中的每个子应用配置有一个第一服务群组和至少一个第二服务群组。
第二方面,本申请提供了一种应用程序的管理方法,所述方法应用于第一方面以及第一方面任一可能的实现方式中所述应用程序的管理系统中,所述应用程序包括多个子应用,每个子应用部署在所述系统中的多个服务器上,且所述多个服务器包括负载均衡服务器。
所述方法包括:第一子应用的负载均衡服务器确定所述第一子应用发生故障,所述第一子应用是所述应用程序的多个子应用中的任意一个子应用;所述负载均衡服务器将第一服务群组停止使用,并将待发送至所述第一子应用的流量切换至第二服务群组,所述第一服务群组是所述第一子应用未发生故障时使用的服务群组,所述第二服务群组备份有针对所述第一子应用预定义的基础服务的数据和代码。
基于上述技术方案,当应用程序中的某一子应用发生故障时,负载均衡服务器可以将该子应用的流量切换至备份有该子应用预定义的基础服务的数据和代码的服务群组,从而依然可以维持基础服务的正常运行,提高了基础服务的可靠性,保障了银行以及客户的利益。
结合第二方面,在第二方面可能的实现方式中,所述第一服务群组的代码库与所述第二服务群组的代码库相互独立。
结合第二方面,在第二方面可能的实现方式中,所述第一服务群组与所述第二服务群组异地部署。
结合第二方面,在第二方面可能的实现方式中,所述负载均衡服务器接收来自第二子应用的请求报文,所述请求报文用于请求调用所述第一子应用,所述第二子应用用于提供所述第一子应用的调用接口,所述请求报文中携带标识,所述标识用于指示将流量路由至所述第二服务群组。
结合第二方面,在第二方面可能的实现方式中,所述多个服务器还包括分布式服务器,所述方法还包括:所述分布式服务器接收来自第二子应用的需要调用的子应用及其版本号;所述第二子应用用于提供所述第一子应用的调用接口;所述分布式服务器在所述需要调用的子应用为所述第一子应用,且所述版本号为所述第二服务群组的版本号的情况下,将流量路由至所述第二服务群组。
第三方面,本申请提供了一种计算机可读存储介质,所述计算机存储介质上存储有计算机程序(也可以称为代码,或指令),当所述计算机程序在被处理器运行时,使得计算机实现第一方面以及第一方面任一可能的实现方式中应用程序的管理系统中负载均衡服务器、分布式服务器或同步服务器的功能。
第四方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机实现第一方面以及第一方面任一可能的实现方式中应用程序的管理系统中负载均衡服务器、分布式服务器或同步服务器的功能。
附图说明
图1是适用于本申请实施例提供的系统的应用场景示意图;
图2是本申请实施例提供的一种应用程序的管理系统的示意性框图;
图3是本申请实施例提供的子应用调用的示意性;
图4是本申请实施例提供的子应用调用的另一示意图;
图5是本申请实施例提供的一种应用程序的管理方法的流程示意图;
图6是本申请实施例提供的一种服务器的示意性框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
应理解,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一服务群组和第二服务群组是为了区分不同的服务群组,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
为了更好地理解本申请实施例提供的应用程序的管理系统,首先对本申请中涉及到的术语作简单说明。
1、APP:是指为完成某项或多项特定工作的计算机程序,其运行模式包括用户模式,具有可视的用户界面。APP也可以理解为程序软件,用户可以基于自身的需求进行安装。例如,手机上的APP包括但不限于银行、微信、钉钉、支付宝、淘宝等。
2、子应用:可以理解为APP当中的功能性模块,且不同的子应用定义有不同的接口。子应用可以在APP当中运行,必要时也可以单独运行。例如,子应用包括但不限于,银行当中的登录、转账、查询余额等,微信中的微信小程序,钉钉中的第三方应用,企业办公自动化(office automation,OA)中集成的功能模块等。
3、基础服务:是指应用系统当中的关键核心服务。例如,对于手机银行的登录来说,登录的时候需要校验登录密码、校验银行卡密码、验证短信验证码、人脸识别等,而这些可以属于基础服务,维持这些基础服务的正常运行,有利于保障银行以及客户的切身利益。可以理解,登录、转账、查询余额都可以调用上述基础服务当中的任意一项功能性服务,换言之,登录、转账、查询余额等子应用属于一个层级的子应用,而校验登录密码、校验银行卡密码等属于一个层级的子应用。
在本申请实施例中,每个子应用的基础服务可以是预先定义的,例如可以人为定义每个子应用的基础服务。
4、网络负载均衡:是指将负载(也可以称为工作任务)进行平衡、分摊到多个操作单元上进行执行,例如网站服务器、文件传输协议(file transfer protocol,FTP)服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。可以理解,负载均衡会对外部展现一个虚拟的服务器地址,当用户试图连接时,它会将连接通过双向网络地址转换(network address translation,NAT)转到最适合的真实服务器上,以完成用户的请求。例如,负载均衡F5可以对应用域名进行识别和转发,将其转发至合适的真实服务器上。又例如,软负载均衡(soft load balancer,SLB)可以对子应用的所有请求进行识别和分析,并将其转发至对应的服务器上。
5、分布式服务框架(distributed service framework,DSF):可供服务化接口注册和调用的平台。
下面将结合附图详细描述本申请提供的应用程序的管理系统,为了便于理解本申请提供的系统,首先结合图1对适用于本申请提供的系统的应用场景做详细描述。
图1是适用于本申请实施例提供的系统的应用场景示意图。如图1所示,用户对用户设备110上的某一应用程序执行相关操作,如登录手机银行、查询余额、转账、登录微信等,用户设备110通过网络与服务器120进行通信。其中,用户设备110可以包括但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。用户设备110上安装有多个应用程序,对于其中一个应用程序来说,如银行,该应用程序对应一个应用程序的管理系统,该应用程序的管理系统可以由多个服务器组成,如图1中所示的服务器120。每个应用程序包括多个子应用,可以通过服务器120对多个子应用进行管理。应理解,图1中示出的服务器120可以是物理上独立分布的多个服务器,每个子应用可以与其中的一个或多个服务器对应,以通过所对应的服务器提供相应的服务。
随着计算机技术的高速发展,应用系统中各个应用的可靠运行可能关系到企业、客户甚至是国家的切身利益。基础服务是应用系统中的核心服务,每个应用程序的安全运行都离不开基础服务,如银行APP中的登录、转账、查询余额等各项子应用,都可能用到人脸认证,密码认证等基础服务,一旦发生系统灾难,如果无法维持基础服务的正常运行,将严重影响到银行以及用户的利益。
目前,银行在发生系统灾难时,可能无法保障基础服务的正常运行。因此,如何在系统灾难时保证基础服务的可用性是一项亟需解决的问题。
为解决上述问题,本申请提出了一种应用程序的管理系统和方法。该系统为应用程序中的每个子应用配置备用的服务器群组,其中备份有几处服务的数据和代码,在正常的服务器群组发生故障时,将流量路由至备用的服务器群组中,以通过备用的服务器群组为其提供基础服务。在从而使得该系统发生故障时,依然可以维持基础服务的正常运行,保障了企业以及客户的利益。
下面将结合附图,对本申请实施例提供的应用程序的管理系统进行详细描述。
图2是本申请实施例提供的一种应用程序的管理系统200的示意性框图。
需要说明的是,下文提供的应用程序的管理方法可以应用程序的管理系统200中的各个服务器来实现。
如图2所示,应用程序包括多个子应用,如分别为子应用1和子应用2。每个子应用部署在应用程序的管理系统200中的多个服务器上。如图中子应用1和子应用2分别部署在不同的服务器上。每个子应用可对应多个服务器。系统200包括每个子应用对应的负载均衡服务器,如图所示,子应用1对应的多个服务器中包括负载均衡服务器221,子应用2对应的多个服务器中包括负载均衡服务器231。
应理解,每个子应用部署的多个服务器可能是应用程序的管理系统中的全部服务器的子集。例如,图2中的系统200包括分布式服务器210、负载均衡服务器221、同步服务器222、负载均衡服务器231、同步服务器232,子应用1部署在系统中的负载均衡服务器221和同步服务器222上,子应用2部署在系统中的负载均衡服务器231和同步服务器232上。
可选地,负载均衡服务器包括SLB服务器。
本申请实施例中的负载均衡服务器所执行的操作均可由SLB服务器来执行。
可选地,应用程序的管理系统200还可以包括分布式服务器210,分布式服务器210可以用于为上述应用程序的多个子应用提供注册和调用的接口。
可选地,应用程序的管理系统200还可以包括多个同步服务器。每个子应用对应一个同步服务器,如图中所示,子应用1对应同步服务器222,子应用2对应同步服务器232。需要说明的是,图中所示的子应用和同步服务器的关系仅为示例,不应对本申请实施例构成任何限定。例如,可以多个子应用对应一个同步服务器。
应理解,图2中仅示出了两个子应用,但不应对本申请实施例构成任何限定。每个子应用对应的服务器仅示出了负载均衡服务器、同步服务器、以及分布式服务器,可以理解,每个子应用还可以对应更多数量的其他类型的服务器,本申请实施例对此不作限定。
下面以第一子应用为例,详细描述上述应用程序的管理系统中各服务器的功能,其中,第一子应用是上述多个子应用中的任意一个子应用。
第一子应用对应的负载均衡服务器用于确定第一子应用发生故障。其中,第一子应用发生故障包括但不限于:网络发生故障,或第一子应用所在的服务器的硬件发生故障,或第一子应用的程序发生故障。
负载均衡服务器还用于将第一服务群组停止使用,该第一服务群组是第一子应用未发生故障时使用的服务群组。其中,服务群组是一个或多个服务器组成的服务器集群。负载均衡服务器还用于将待发送至第一子应用的流量切换至第二服务群组,第二服务群组备份有针对第一子应用预定义的基础服务的数据和代码。也就是说,当第一子应用发生故障时,负载均衡服务器用于将待发送至第一子应用的流量切换至备份有针对第一子应用预定义的基础服务的数据和代码的服务群组,第一子应用预定义的基础服务包括但不限于:短信验证、登录密码验证、人脸验证、银行卡密码验证。
可选地,第一服务群组的代码库和第二服务群组的代码库相互独立。
具体地,第二服务群组备份有第一子应用预定义的基础服务的数据和代码,第一服务群组是未发生故障时使用的服务群组,第一服务群组中包括除预定义的基础服务之外的其他服务。可以理解,对于第一子应用来说,第一子应用可能包括多项服务,但是可能只有多项服务中百分之十的服务是常用的,且对于第一子应用来说是必不可少的,也就是预定义的基础服务。而第一服务群组中可能会更新各项服务,不断的更新会影响基础服务的代码。因此,可以将基础服务的代码和第一服务群组中的代码分离,即第二服务群组中包括基础服务的代码,当第一服务群组更新各项服务的代码时,不会影响第二服务群组中的基础服务的代码。如此一来,当第一子应用发生故障时,第二服务群组中的基础服务的代码可以保障基础服务的正常运行。
可选地,第一服务群组与第二服务群组异地部署。
第一服务群组和第二服务群组异地部署,例如,第一服务群组和第二服务群组异城部署,即部署在不同的城市,这样一来,当其中一个服务群组发生故障时,不会影响另一个服务群组,可以有效地避免两个服务群组同时发生故障。
图3是本申请实施例提供的子应用调用的示意图。图3中的第二子应用包括一个或多个第一子应用的调用代码,用于提供该一个或多个第一子应用的调用接口。基于该调用接口,第二子应用可响应于用户的操作,调用其中的任意一个子应用。其中,所述一个或多个子应用如图3所示的子应用1、子应用2、子应用3、以及子应用4。针对每个第一子应用可以配置第一服务群组和第二服务群组。其中,第一服务群组用于所对应的第一子应用正常时提供服务,第二服务群组用于在对应的第一子应用发生故障时提供基础服务。因此,第二服务群组中可以部署有基础服务的数据和代码,以保证在第一子应用发生故障时基础服务的正常运行。此外,每个第一子应用还部署有负载均衡服务器,具体包括F5和SLB服务器,F5用于识别应用域名,SLB用于识别请求报文中的标识,并根据标识进行转发。如图3所示,图3示出了子应用1(即,第一子应用的一例)被调用的一例。例如,第二子应用对应的服务器上配置有登录、转账、查询余额的调用接口,当用户希望调用登录这一第一子应用时,可将流量路由至登录这一第一子应用。
可选地,负载均衡服务器还用于接收来自第二子应用对应的服务器的请求报文,该请求报文用于请求调用第一子应用,该第二子应用用于提供所述第一子应用的调用接口,该请求报文中携带标识,该标识用于指示将流量路由至第二服务群组。
其中,标识,如“BaseFlag”,可以携带在请求报文的“cookie”字段中。示例性地,“BaseFlag”为1表示将流量路由至第二服务群组,“BaseFlag”为0表示将流量路由至第一服务群组。
示例性地,当用户选择手机银行中的登录时,首先,第二子应用对应的服务器会调用多个第一子应用中的登录,其次,第二子应用对应的服务器发送的请求报文中携带“BaseFlag”为1,则登录这一第一子应用对应的负载均衡服务器识别出该标识后,将流量路由至第二服务群组。
可选地,上述应用程序的管理系统还包括分布式服务器,该分布式服务器用于为多个子应用提供注册和调用的接口。
其中,每个子应用对应的第一服务群组和第二服务群组在分布式服务器注册的版本号不同。
例如,对于某一子应用来说,第一服务群组的版本号可以是版本号1.0,版本号2.0,第二服务群组的版本号可以是版本号9.9,第一服务群组和第二服务群组的版本号不同,以便于发生故障时,调用第二服务群组。
具体地,分布式服务器具体用于接收来自第二子应用的需要调用的子应用及其版本号;并用于在需要调用的子应用为第一子应用,且版本号为第二服务群组的版本号的情况下,将流量路由至第二服务群组。
可以理解,分布式服务器(如DSF服务器)提供多个子应用注册和调用的接口。图4是本申请实施例提供的子应用调用的另一示意图,下面结合图4详细描述本申请实施例提供的另一种子应用调用的方式。
如图4所示,当第二子应用需要调用第一子应用时,第二子应用对应的服务器用于将第一子应用的名称和需要调用的服务群组的版本号发送给分布式服务器,分布式服务器用于将流量路由至对应的服务群组,例如,当第一服务群组无法使用时,分布式服务器用于接收到第一子应用的名称和版本号9.9后,将流量路由至第二服务群组。其中,第二子应用的理解可以参看图3的描述,此处不再详细描述。
可选地,上述应用程序的管理系统还包括同步服务器,用于将第一服务群组的数据实时同步至第二服务群组中。
当第一服务群组的数据发生变化时,同步服务器用于将变化的数据同步至第二服务群组。
可选地,第二服务群组保持在常开状态。
第二服务群组保持常开状态,从而发生故障时,可以快速从第一服务群组切换至第二服务群组,甚至实现分钟级切换,减少中断时间。
可选地,多个子应用中的每个子应用配置有一个第一服务群组和至少一个第二服务群组。
每个子应用分别搭建各自的第二服务群组,例如,登录、转账等分别配置一个第一服务群组和至少一个第二服务群组,这样一来,当其中一个子应用发生故障时,可以只切换该子应用的流量至第二服务群组,其他子应用可以依然使用第一服务群组,从而保障其他子应用可以使用更多的服务。
应理解,负载均衡服务器、分布式服务器、以及同步管理服务器可以部署在不同的物理设备中,由不同的物理设备分别实现负载均衡服务器、分布式服务器、以及同步管理服务器各自的功能。负载均衡服务器、分布式服务器、以及同步管理服务器也可以合一部署在同一物理设备中,例如,可以部署在同一台服务器中,也可以分布式地部署在同一个服务器集群中,本申请实施例对此不作限定。
还应理解,第一服务群组包括一个或多个服务器,第二服务群组包括一个或多个服务器。
还应理解,图2中示出的应用程序的管理系统200只是一示例,应用程序的管理系统200还可以包括更多或更少个服务器,本申请对此不作任何限定。
基于上述应用程序的管理系统,当应用程序中的其中一个子应用发生故障时,负载均衡服务器可以将该子应用的流量切换至备份有该子应用预定义的基础服务的数据和代码的服务群组,从而使得该系统发生故障时,依然可以维持基础服务的正常运行,保障了银行以及客户的利益。
下面将结合图5,以上述应用程序的管理系统中的各个服务器作为执行主体来描述本申请实施例提供的应用程序的管理方法。图5是本申请实施例提供的一种应用程序的管理方法的流程示意图。如图5所示,应用程序的管理方法500包括步骤501至步骤503。下面对方法500中的各个步骤做详细说明。
在步骤501中,负载均衡服务器确定第一子应用发生故障。
其中,负载均衡服务器例如可以是SLB服务器。第一子应用为应用程序的多个子应用中的任意一个子应用。第一子应用发生故障包括网络故障,或第一子应用对应的服务器硬件故障,或第一子应用的程序发生故障。
示例性地,SLB服务器具有故障监测的功能,换言之,SLB服务器可以监测第一子应用是否发生故障,若第一子应用发生故障,SLB服务器可以发出报警,用于指示该第一子应用发生故障。
在步骤502中,负载均衡服务器将第一服务群组停止使用。
第一服务群组是第一子应用未发生故障时使用的服务群组,第一服务群组是由一个或多个服务器组成的服务器集群,第一服务群组部署有第一子应用的多项服务的数据和代码,其中包括预定义的基础服务的数据和代码。
示例性地,若SLB服务器监测到第一子应用发生故障,可以将第一服务群组停止使用。也就是说,发送至第一子应用的流量不再路由至该第一服务群组。
在步骤503中,负载均衡服务器将待发送至第一服务群组的流量切换至第二服务群组。
第二服务群组备份有针对第一子应用预定义的基础服务的数据和代码。负载均衡服务器,如SLB服务器将待发送至第一服务群组的流量切换至第二服务群组,可以维持基础服务的正常运行,从而保障企业以及客户的利益。
可选地,第一服务群组和第二服务群组的代码库相互独立。
可以理解,第二服务群组的代码库独立于第一服务群组的代码库,当第一服务群组中的各项服务更新或增加新的服务时,不会影响第二服务群组中的代码库,也就是说,第二服务群组中的代码库只需维持基础服务的正常运行即可。
可选地,第一服务群组和第二服务群组异地部署。
第一服务群组和第二服务群组异地部署,例如,第一服务群组和第二服务群组异城部署,即部署在不同的城市,这样一来,当其中一个服务群组发生故障时,不会影响另一个服务群组,可以有效地避免两个服务群组同时发生故障。
可选地,第二服务群组保持常开状态。
当第一服务群组无法使用时,由于第二服务群组处于常开状态,因此可以快速切换至第二服务群组,减少了中断时间。
可选地,多个子应用中的每个子应用配置有一个第一服务群组和至少一个第二服务群组。
每个子应用分别搭建各自的第二服务群组,例如,登录、转账等分别配置一个第一服务群组和至少一个第二服务群组,如此一来,当其中一个子应用发生故障时,可以只切换该子应用的流量至第二服务群组,其他子应用可以依然使用第一服务群组,从而保障其他子应用可以使用更多的服务。
此后,当用户需要使用第一子应用时,响应于用户的操作,第二子应用可以通过如下两种方式来了调用第一子应用:
一种可能的实现方式是,第二子应用对应的服务器向SLB服务器发送请求报文,以请求调用第一子应用。该请求报文中携带预定义的标识,该标识用于指示将第一子应用的流量路由至第二服务群组。示例性地,银行这一应用程序包括多个子应用,如登录、转账、查询余额等等,第二子应用对应的服务器包括有上述多个子应用的调用的接口。用户点击手机银行中的登录操作,则第二子应用对应的服务器向登录这一子应用对应的F5服务器发送请求报文,F5服务器将其发送给SLB服务器,SLB服务器解析并识别出报文中的标识,标识指示将流量路由至第二服务群组。则SLB服务器将流量切换至第二服务群组。
另一种可能的实现方式是,第二子应用对应的服务器将第一子应用的名称和需要调用的服务群组的版本号发送给分布式服务器,分布式服务器用于将流量路由至对应的服务群组,例如,当第一服务群组无法使用时,分布式服务器用于接收到第一子应用的名称和版本号9.9后,将流量路由至第二服务群组。
应理解,上述路由至第二服务群组的流量可以包括但不限于,在第二子应用请求调用第一子应用的过程中发生的流量。
可选地,上述方法还包括:同步服务器将第一服务群组的数据实时同步至第二服务群组中。
当第一服务群组的数据发生变化时,同步服务器可以将变化的数据同步至第二服务群组,以便于第一服务群组的数据无法使用时,第二服务群组中的数据可以维持子应用的正常运行。
基于上述技术方案,当应用程序中的某一子应用发生故障时,负载均衡服务器可以将该子应用的流量切换至备份有该子应用的基础服务的数据和代码的服务群组,因此,在该子应用发生故障时,依然可以维持基础服务的正常运行,提高了基础服务的可靠性,保障了银行以及客户的利益。
图6是本申请实施例提供的一种服务器的示意性框图。
如图6所示,该服务器600可以包括至少一个处理器610,用于实现本申请实施例提供的负载均衡服务器或同步服务器或分布式服务器的功能。
示例性地,当该服务器600用于实现本申请实施例提供的负载均衡服务器的功能时,处理器610可以用于确定第一子应用发生故障,第一子应用是所述多个子应用中的任意一个子应用;还用于将第一服务群组停止使用,第一服务群组是第一子应用未发生故障时使用的服务群组;并将待发送至第一子应用的流量切换至第二服务群组,第二服务群组备份有针对第一子应用预定义的基础服务的数据和代码。具体参见图2的详细描述,此处不做赘述。
该服务器600还可以包括至少一个存储器620,可以用于存储处理规则、程序指令和/或监控信息等。存储器620和处理器610耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器610可能和存储器620协同操作。处理器610可能执行存储器620中存储的程序指令。所述至少一个存储器中的至少一个可以包括于处理器中。
该服务器600还可以包括通信接口630,用于通过传输介质和其它设备进行通信,从而用于服务器600可以和其它设备进行通信。所述通信接口630例如可以是收发器、接口、总线、电路或者能够实现收发功能的装置。处理器610可利用通信接口630收发数据和/或信息,并用于实现图5对应的实施例中所述的负载均衡服务器所执行的方法。
本申请实施例中不限定上述处理器610、存储器620以及通信接口630之间的具体连接介质。本申请实施例在图6中以处理器610、存储器620以及通信接口630之间通过总线640连接。总线640在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请还提供一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行如图5所示实施例中负载均衡服务器执行的方法、分布式服务器执行的方法或同步服务器执行的方法。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)。当所述计算机程序被运行时,使得计算机执行如图5所示实施例中负载均衡服务器执行的方法、分布式服务器执行的方法或同步服务器执行的方法。
需要说明的是,本申请实施例中提供的应用程序的管理系统、应用程序的管理方法以及服务器可以应用于金融领域,也可以应用于除金融领域之外的任意领域,本申请对此不作限定。
应理解,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本说明书中使用的术语“单元”、“模块”等,可用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,各功能单元的功能可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令(程序)。在计算机上加载和执行所述计算机程序指令(程序)时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种应用程序的管理系统,其特征在于,所述应用程序包括多个子应用,每个子应用部署在所述系统中的多个服务器上,且所述多个服务器包括负载均衡服务器,其中,
第一子应用的负载均衡服务器用于确定第一子应用发生故障,所述第一子应用是所述多个子应用中的任意一个子应用;
所述负载均衡服务器还用于,将第一服务群组停止使用,并将待发送至所述第一子应用的流量切换至第二服务群组,所述第一服务群组是所述第一子应用未发生故障时使用的服务群组,所述第二服务群组备份有针对所述第一子应用预定义的基础服务的数据和代码。
2.如权利要求1所述的系统,其特征在于,所述第一服务群组的代码库与所述第二服务群组的代码库相互独立。
3.如权利要求2所述的系统,其特征在于,所述第一服务群组与所述第二服务群组异地部署。
4.如权利要求1至3中任一项所述的系统,其特征在于,所述负载均衡服务器还用于接收来自第二子应用的请求报文,所述请求报文用于请求调用所述第一子应用,所述第二子应用用于提供所述第一子应用的调用接口,所述请求报文中携带预定义的标识,所述标识用于指示将流量路由至所述第二服务群组。
5.如权利要求1至3中任一项所述的系统,其特征在于,所述系统还包括分布式服务器,所述分布式服务器用于为所述多个子应用提供注册和调用的接口。
6.如权利要求5所述的系统,所述第一服务群组和所述第二服务群组在所述分布式服务器注册的版本号不同。
7.如权利要求6所述的系统,其特征在于,所述分布式服务器具体用于接收来自第二子应用的需要调用的子应用及其版本号;所述第二子应用用于提供所述第一子应用的调用接口,并用于在所述需要调用的子应用为所述第一子应用,且所述版本号为所述第二服务群组的版本号的情况下,将流量路由至所述第二服务群组。
8.如权利要求1所述的系统,其特征在于,所述系统还包括同步服务器,用于将所述第一服务群组的数据实时同步至所述第二服务群组中。
9.如权利要求1所述的系统,其特征在于,所述第二服务群组保持在常开状态。
10.如权利要求1所述的系统,其特征在于,所述多个子应用中的每个子应用配置有一个第一服务群组和至少一个第二服务群组。
11.一种应用程序的管理方法,其特征在于,应用于所述应用程序的管理系统中,所述应用程序包括多个子应用,每个子应用部署在所述系统中的多个服务器上,且所述多个服务器包括与负载均衡服务器,所述方法包括:
第一子应用的负载均衡服务器确定所述第一子应用发生故障,所述第一子应用是所述应用程序的多个子应用中的任意一个子应用;
所述负载均衡服务器将第一服务群组停止使用,并将待发送至所述第一子应用的流量切换至第二服务群组,所述第一服务群组是所述第一子应用未发生故障时使用的服务群组,所述第二服务群组备份有针对所述第一子应用预定义的基础服务的数据和代码。
12.如权利要求11所述的方法,其特征在于,所述第一服务群组的代码库与所述第二服务群组的代码库相互独立。
13.如权利要求12所述的方法,其特征在于,所述第一服务群组与所述第二服务群组异地部署。
14.如权利要求11至13中任一项所述的方法,其特征在于,所述方法还包括:
所述负载均衡服务器接收来自第二子应用的请求报文,所述请求报文用于请求调用所述第一子应用,所述第二子应用用于提供所述第一子应用的调用接口,所述请求报文中携带标识,所述标识用于指示将流量路由至所述第二服务群组。
15.如权利要求11至13中任一项所述的方法,其特征在于,所述多个服务器还包括分布式服务器,所述方法还包括:
所述分布式服务器接收来自第二子应用的需要调用的子应用及其版本号;所述第二子应用用于提供所述第一子应用的调用接口;
所述分布式服务器在所述需要调用的子应用为所述第一子应用,且所述版本号为所述第二服务群组的版本号的情况下,将流量路由至所述第二服务群组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111432382.1A CN114070716B (zh) | 2021-11-29 | 2021-11-29 | 应用程序的管理系统、应用程序的管理方法以及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111432382.1A CN114070716B (zh) | 2021-11-29 | 2021-11-29 | 应用程序的管理系统、应用程序的管理方法以及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114070716A true CN114070716A (zh) | 2022-02-18 |
CN114070716B CN114070716B (zh) | 2024-02-13 |
Family
ID=80277618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111432382.1A Active CN114070716B (zh) | 2021-11-29 | 2021-11-29 | 应用程序的管理系统、应用程序的管理方法以及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114070716B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116795446A (zh) * | 2022-03-25 | 2023-09-22 | 西安即刻易用网络科技有限公司 | 一种子应用打开方法、配置方法及多应用管理平台 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100036903A1 (en) * | 2008-08-11 | 2010-02-11 | Microsoft Corporation | Distributed load balancer |
US20150149635A1 (en) * | 2013-11-27 | 2015-05-28 | Avi Networks | Method and system for distributed load balancing |
CN111131451A (zh) * | 2019-12-23 | 2020-05-08 | 武汉联影医疗科技有限公司 | 业务处理系统及业务处理方法 |
CN112463451A (zh) * | 2020-12-02 | 2021-03-09 | 中国工商银行股份有限公司 | 缓存灾备集群切换方法及软负载均衡集群装置 |
-
2021
- 2021-11-29 CN CN202111432382.1A patent/CN114070716B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100036903A1 (en) * | 2008-08-11 | 2010-02-11 | Microsoft Corporation | Distributed load balancer |
US20150149635A1 (en) * | 2013-11-27 | 2015-05-28 | Avi Networks | Method and system for distributed load balancing |
CN111131451A (zh) * | 2019-12-23 | 2020-05-08 | 武汉联影医疗科技有限公司 | 业务处理系统及业务处理方法 |
CN112463451A (zh) * | 2020-12-02 | 2021-03-09 | 中国工商银行股份有限公司 | 缓存灾备集群切换方法及软负载均衡集群装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116795446A (zh) * | 2022-03-25 | 2023-09-22 | 西安即刻易用网络科技有限公司 | 一种子应用打开方法、配置方法及多应用管理平台 |
Also Published As
Publication number | Publication date |
---|---|
CN114070716B (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11693746B2 (en) | Systems and methods for enabling a highly available managed failover service | |
US10708289B2 (en) | Secured event monitoring leveraging blockchain | |
US10445197B1 (en) | Detecting failover events at secondary nodes | |
US10044550B2 (en) | Secure cloud management agent | |
US11366728B2 (en) | Systems and methods for enabling a highly available managed failover service | |
US11341005B2 (en) | Systems and methods for enabling a highly available managed failover service | |
US10735250B2 (en) | Dynamic distributor selection for network load balancing | |
CN110554927A (zh) | 基于区块链的微服务调用方法 | |
CN113489691B (zh) | 网络访问方法、装置、计算机可读介质及电子设备 | |
TW200928777A (en) | Data processing method and apparatus based on cluster | |
US8543680B2 (en) | Migrating device management between object managers | |
CN114070716B (zh) | 应用程序的管理系统、应用程序的管理方法以及服务器 | |
CN112905486B (zh) | 一种服务集成测试方法、装置和系统 | |
CN112565340B (zh) | 分布式应用的服务调度方法、装置、计算机系统及介质 | |
US11595471B1 (en) | Method and system for electing a master in a cloud based distributed system using a serverless framework | |
US20190215366A1 (en) | Cloud Metadata Discovery API | |
US11709741B1 (en) | Systems and methods for enabling a failover service for block-storage volumes | |
CN115567218A (zh) | 基于区块链的安全证书的数据处理方法、装置和服务器 | |
CN107113074B (zh) | 管理通信端点的系统、方法和非暂态计算机可用介质 | |
US20230153803A1 (en) | Systems and Methods for Resilient Transaction Processing | |
Ekholm | Migration of SMS Application to AWS | |
WO2023278951A9 (en) | Event-level granular control in an event bus using event-level policies | |
CN116627724A (zh) | 数据备份方法、备份系统及计算机可读存储介质 | |
CN115695288A (zh) | 一种登录控制方法、装置、电子设备及存储介质 | |
CN115086173A (zh) | 网络升级过程中的可靠性保障方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |