一种多活架构前置系统、服务器与业务处理方法转让专利

申请号 : CN201310585222.X

文献号 : CN103595570B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李智运吴福维罗志良莫宏庆李洁

申请人 : 中国农业银行股份有限公司广东省分行

摘要 :

本发明公开一种多活架构的前置系统,包括:多个前置服务器,接收来自业务终端的业务请求,例如交易数据信息请求,从多个应用服务器中选择一个进行处理后,返回业务处理结果至业务终端;多个数据库服务器,用于存储业务处理相关的数据;多个应用服务器,每台应用服务器连接一个数据库服务器,用于对业务请求进行处理;负载均衡设备,与终端和前置服务器连接,用于接收终端的业务请求,从多个前置服务器中选择一个,将业务请求转发至所选择的前置服务器。本发明还提供了一种前置服务器和业务处理方法。本发明的方案具有更高的系统可靠性、可用性、稳定性、扩展性、处理能力和可维护性。

权利要求 :

1.一种多活架构的前置系统,其特征在于,包括:

多个前置服务器,接收业务请求,选择应用服务器对业务请求进行处理;

多个数据库服务器,用于存储业务处理相关的数据;

多个应用服务器,与前置服务器和数据库服务器连接,用于处理业务请求;其中每台应用服务器连接一个数据库服务器,每个数据库服务器连接一个或多个应用服务器负载均衡设备,与业务终端和前置服务器连接,用于选择前置服务器,将从业务终端接收的业务请求转发至所选择的前置服务器;

其中前置服务器还用于监控应用服务器和数据库服务器的状态;

其中业务请求分为两类,第一类与历史请求信息或数据库存储无关联关系,第二类与历史请求信息或数据库存储有关联关系;

对于第一类业务请求,前置服务器随机选择状态为正常的数据库服务器,选择连接该数据库服务器的应用服务器;

对于第二类业务请求,前置服务器获取有关联关系的状态为正常的数据库服务器,选择连接该数据库服务器的应用服务器。

2.如权利要求1所述的前置系统,其中前置服务器是PC虚拟服务器或者小型机。

3.如权利要求2所述的前置系统,其中选择前置服务器具体为:随机选择前置服务器;

或根据前置服务器的权重选择;或根据前置服务器的负载情况选择。

4.一种前置服务器,其特征在于,包括:

通讯模块,用于接收业务请求和发送业务处理结果;

系统监控模块,用于监控应用服务器和数据库服务器的状态;

存储模块,用于存储系统监控模块监控到的状态信息;

交易负载均衡模块,用于按照状态信息对业务请求进行分配,选择合适的应用服务器和数据库服务器进行业务处理;

其中业务请求分为两类,第一类与历史请求信息或数据库存储无关联关系,第二类与历史请求信息或数据库存储有关联关系;

对于第一类业务请求,交易负载均衡模块随机选择状态为正常的数据库服务器,选择连接该数据库服务器的应用服务器;

对于第二类业务请求,交易负载均衡模块获取有关联关系的状态为正常的数据库 服务器,选择连接该数据库服务器的应用服务器。

5.如权利要求4所述的前置服务器,其中状态信息包括正常、异常和特殊。

6.如权利要求5所述的前置服务器,其中当监控到异常状态信息时实时发出报警通知。

7.如权利要求4所述的前置服务器,其中系统监控模块定时轮询按顺序发送测试数据到应用服务器和定时轮询按顺序访问各数据库服务器,以获得状态信息。

8.如权利要求4所述的前置服务器,其中存储模块还存储有数据库服务器、应用服务器的优先级信息,交易负载均衡模块根据存储的状态信息和优先级信息分配业务请求。

9.一种业务处理方法,其特征在于,包括:负载均衡设备接收来自业务终端的业务请求,负载均衡设备从多个前置服务器中选择一个,将业务请求发送至所选的前置服务器,前置服务器根据监控的状态信息从多个应用服务器和数据库服务器中进行选择,并将该请求发送至应用服务器进行处理,其中业务请求分为两类,第一类与历史请求信息或数据库存储无关联关系,第二类与历史请求信息或数据库存储有关联关系;

对于第一类业务请求,前置服务器随机选择状态为正常的数据库服务器,选择连接该数据库服务器的应用服务器;

对于第二类业务请求,前置服务器获取有关联关系的状态为正常的数据库服务器,选择连接该数据库服务器的应用服务器;将处理后的结果返回业务终端。

10.如权利要求9所述的业务处理方法,其中所述从多个前置服务器中选择一个具体为:随机选择;或根据前置服务器的权重选择;或根据前置服务器的负载情况选择。

11.如权利要求9所述的业务处理方法,其中通过定时轮询按顺序发送测试数据到应用服务器和定时轮询按顺序访问各数据库服务器,以监控到状态信息。

12.如权利要求9所述的业务处理方法,其中状态信息包括正常、异常和特殊。

说明书 :

一种多活架构前置系统、服务器与业务处理方法

技术领域

[0001] 本发明涉及银行业务处理系统和方法。具体地,涉及一种多活架构前置系统、服务器与业务处理方法。

背景技术

[0002] 随着金融市场的不断改革和开放,信息技术的飞速发展,使得金融服务不再受地域和时间限制,银行的ATM、POS、自助网渠道和网上银行等电子渠道业务需要7×24时提供服务,这对银行业务处理系统的处理能力和可用性提出更高的要求。前置系统作为银行业务系统的核心,是连接数据中心业务处理系统的交易处理枢纽,其运行的稳定性、高可用性和交易处理能力非常重要,需要通过高可用性的系统架构和应用设计来尽量减少系统的计划内和计划外停机,并尽可能减少程序更新和系统升级维护对业务的影响。在系统出现故障时能及时响应和快速恢复,以保障关键数据和业务系统的运行稳定性和可持续访问性。
[0003] 目前国内外通用的前置系统设计架构基本上采用单应用服务器连接单数据库服务器(如图1),多个ATM终端通过前置服务器连接至应用服务器和数据库,也有多个应用服务器连接同一个数据库服务器,应用服务器和数据库都部署在小型机上。系统的稳定性和可用性主要依赖于应用服务器和数据库服务器,系统的容错性和稳定性依赖主机的HA双机热备份。这种架构系统处理能力有限,不易扩展,备份倒换耗时较长,在系统重要节点出现故障以及进行如程序升级、硬件升级等正常维护时,系统都会停止运行,业务处理系统在系统恢复过程中基本停止,业务受影响的时间可能长达几个小时,从而影响交易,甚至导致交易停止。

发明内容

[0004] 本发明的目的是克服现有前置系统架构的不足,提高系统的稳定性、可用性、可靠性、可维护性和处理能力。
[0005] 本发明提供了一种多活架构的前置系统,包括:
[0006] 多个前置服务器,接收业务请求,选择应用服务器对业务请求进行处理;
[0007] 多个数据库服务器,用于存储业务处理相关的数据;
[0008] 多个应用服务器,与前置服务器和数据库服务器连接,用于处理业务请求;其中每台应用服务器连接一个数据库服务器,每个数据库服务器连接一个或多个应用服务器。
[0009] 负载均衡设备,与业务终端和前置服务器连接,用于选择前置服务器,将从业务终端接收的业务请求转发至所选择的前置服务器;
[0010] 其中前置服务器还用于监控应用服务器和数据库服务器的状态;
[0011] 其中业务请求分为两类,第一类与历史请求信息或数据库存储无关联关系,第二类与历史请求信息或数据库存储有关联关系;
[0012] 对于第一类业务请求,前置服务器随机选择状态为正常的数据库服务器,选择连接该数据库服务器的应用服务器;
[0013] 对于第二类业务请求,前置服务器获取有关联关系的状态为正常的数据库服务器,选择连接该数据库服务器的应用服务器。
[0014] 进一步的,其中前置服务器是PC虚拟服务器或者小型机;
[0015] 进一步的,其中选择前置服务器具体为:随机选择前置服务器;或根据前置服务器的权重选择;或根据前置服务器的负载情况选择。
[0016] 进一步的,其中数据库服务器为多个;
[0017] 进一步的,其中每台应用服务器连接一个数据库服务器;
[0018] 进一步的,其中每个数据库服务器连接一个或多个应用服务器。
[0019] 本发明提供了一种前置服务器,包括:
[0020] 通讯模块,用于接收业务请求和发送业务处理结果;
[0021] 系统监控模块,用于监控应用服务器和数据库服务器的状态;
[0022] 存储模块,用于存储系统监控模块监控到的状态信息;
[0023] 交易负载均衡模块,用于按照状态信息对业务请求进行分配,选择合适的应用服务器和数据库服务器进行业务处理;其中业务请求分为两类,第一类与历史请求信息或数据库存储无关联关系,第二类与历史请求信息或数据库存储有关联关系;对于第一类业务请求,交易负载均衡模块随机选择状态为正常的数据库服务器,选择连接该数据库服务器的应用服务器;对于第二类业务请求,交易负载均衡模块获取有关联关系的状态为正常的数据库服务器,选择连接该数据库服务器的应用服务器。
[0024] 进一步的,前置服务器,其中状态信息包括正常、异常和特殊。
[0025] 进一步的,前置服务器,其中当监控到异常状态信息时实时发出报警通知。
[0026] 进一步的,前置服务器,其中系统监控模块定时轮询按顺序发送测试数据到应用服务器和定时轮询按顺序访问各数据库服务器,以获得状态信息。
[0027] 进一步的,前置服务器,其中存储模块还存储有数据库服务器、应用服务器的优先级信息,交易负载均衡模块根据存储的状态信息和优先级信息分配业务请求。
[0028] 本发明还提供了一种业务处理方法,包括:负载均衡设备接收来自业务终端的业务请求,负载均衡设备从多个前置服务器中选择一个,将业务请求发送至所选的前置服务器,前置服务器根据监控的状态信息从多个应用服务器和数据库服务器中进行选择,并将该请求发送至应用服务器进行处理,其中业务请求分为两类,第一类与历史请求信息或数据库存储无关联关系,第二类与历史请求信息或数据库存储有关联关系;
[0029] 对于第一类业务请求,前置服务器随机选择状态为正常的数据库服务器,选择连接该数据库服务器的应用服务器;
[0030] 对于第二类业务请求,前置服务器获取有关联关系的状态为正常的数据库服务器,选择连接该数据库服务器的应用服务器;
[0031] 将处理后的结果返回业务终端。
[0032] 进一步的,从多个前置服务器中选择一个具体为:随机选择;或根据前置服务器的权重选择;或根据前置服务器的负载情况选择。
[0033] 进一步的,通过定时轮询按顺序发送测试数据到应用服务器和定时轮询按顺序访问各数据库服务器,以监控到状态信息。
[0034] 进一步的,状态信息包括正常、异常和特殊。
[0035] 本发明通过采用多个前置服务器和负载均衡设备,在前置服务器中进一步设置状态监控和交易负载均衡的功能,从而在发生故障时可以由其它正常状态的服务器可以提供服务而不必中断业务,提高了系统的稳定性和可用性,多应用服务器和多数据库的配置提高了系统的处理能力,并且可以根据业务需求增加应用服务器的数量,易于扩展。

附图说明

[0036] 图1是现有技术的前置系统架构;
[0037] 图2是本发明的多活架构的前置系统的示意图;
[0038] 图3是本发明的前置服务器的结构示意图;
[0039] 图4是本发明的一个具体实施例的业务处理流程图;
[0040] 图5是本发明的另一个具体实施例的业务处理流程图。

具体实施方式

[0041] 参考附图2,作为示例,根据本发明的处理银行业务的多活架构前置系统包括:
[0042] 2个前置服务器1-2,接收来自业务终端的业务请求,例如交易数据信息请求,并将该请求发送至应用服务器进行处理后,返回业务处理结果至业务终端。
[0043] 所述前置服务器可以是例如小型机的实体机,也可以是例如PC虚拟服务器的虚拟机
[0044] 3个数据库服务器(数据库1-3),用于存储业务处理相关的数据。
[0045] 3个应用服务器(前置业务处理系统1-3),每台应用服务器连接一个数据库服务器,用于对业务请求进行处理。每台应用服务器中可包含多个应用服务模块。一个数据库服务器也可以连接多个应用服务器。
[0046] 2个负载均衡设备,与终端和前置服务器连接,用于接收终端的业务请求,随机选择前置服务器,或者根据预先为前置服务器分配的权重选择,例如在可用服务器中选择权重大的前置服务器,或者根据前置服务器负载情况进行调度,选择负载较少的前置服务器。也可以综合考虑前置服务器的权重和负载情况,例如在负载小于一阈值的多个前置服务器中选择权重大的服务器,等等。
[0047] 上述各服务器和负载均衡设备的数量仅为示例,可以根据实际需求设置。
[0048] 参考附图3,示出了本发明提供的前置服务器,其包括通讯模块、系统监控模块和交易负载均衡模块。
[0049] 通讯模块用于接收业务请求和发送业务处理结果;
[0050] 系统监控模块用于监控应用服务器和数据库服务器的状态,定时轮询按顺序发送测试数据到应用服务器,获取应用服务器返回的信息,将其状态信息写入状态信息存储区;定时轮询按顺序访问各数据库系统,将其状态信息写入状态信息存储区。状态信息包括正常、异常和特殊。当监控到异常状态信息时实时发出报警通知,提示需要维护处理。
[0051] 交易负载均衡模块用于对业务请求进行分配,选择合适的应用服务器进行处理。
[0052] 业务请求信息分为两类:请求信息跟历史请求信息或数据库存储无关联关系的为A类,请求信息跟历史请求信息或数据库存储有关联关系的为B类。交易负载均衡模块首先判断请求信息的类型,若为A类,则选择状态为正常的数据库服务器,选择连接该数据库服务器的应用服务器,再在应用服务器中随机选择正常的应用服务;若为B类,获取有关联关系的状态正常的数据库,选择数据库的应用服务器,再在应用服务器中随机选择正常的应用服务
[0053] 交易负载均衡模块通过读取状态信息存储区,获取应用服务器的状态、数据库服务器的状态、交易中间件的状态。在选择应用服务器和数据库服务器时,可以随机选择,也可以按照预定的分配算法原则进行分配,例如按照数据库、应用服务器的优先级顺序分配。根据上述分配算法,把业务终端通过前置服务器转发过来的交易信息送到应用服务器。
[0054] 下面以两种具体业务为例,说明本发明的系统和服务器的工作过程:
[0055] 实例一、ATM取款交易过程(参考附图4)
[0056] 客户在ATM插卡,选择取款交易,交易报文从ATMC端发送到负载均衡设备F5,,F5随机选择正常可用的前端服务器(此处表示为P端服务器),把请求报文送到该选择的P端服务器2,P端服务器认为该类报文为A类报文,该请求信息跟历史请求信息或数据库存储无关联关系,根据监控状态信息,数据库1异常,其他正常,从数据库2和3中随机选择数据库2,把交易报文随机分配到连接数据库2的应用服务器1,并随机选择应用服务器1中的应用服务模块进行处理。
[0057] 实例二、ATM取款超时冲正或撤销交易过程(参考附图5)
[0058] 客户在ATM插卡,选择取款交易,前置服务器返回交易超时或交易异常需要冲正或撤销处理,冲正交易报文从ATMC端发送到负载均衡设备F5,F5选择负载较小的P端服务器2,把请求报文送到该P端服务器,P端服务器认为该类报文为B类报文,该请求信息跟历史请求信息的数据存储有关联关系,有关联关系的数据库为数据库2,根据监控状态信息,数据库2正常,连接数据库2的应用服务器1状态为“异常”,因此交易负载均衡模块选择数据库2,把交易报文分配到连接数据库2的应用服务器2。