一种业务支撑系统的业务处理方法、装置及服务器的制造方法

文档序号:8415662阅读:330来源:国知局
一种业务支撑系统的业务处理方法、装置及服务器的制造方法
【技术领域】
[0001]本发明涉及业务处理技术,尤其涉及一种业务支撑系统的业务处理方法、装置及服务器。
【背景技术】
[0002]业务支撑系统基于中间件来完成业务的实时或者异步交易,但是,现有中间件的高可用性主要依赖于对端平台的自动恢复机制。一方面,在数据库实时应用集群(RAC,RealApplicat1n Clusters)出现单节点故障时,需数据库实例自身进行故障恢复,待数据库实例故障恢复或数据库实例切换到另一个可用的数据库实例后,才能重新启动中间件,恢复应用;中间件不具备一个数据库实例故障而另一个数据库实例可用时、将业务切换到可用数据库实例的能力。
[0003]并且,中间件也不具备对数据库RAC故障的探测功能,数据库RAC出现单节点故障时,中间件不能及时感知故障并通知业务支撑系统数据库RAC故障;即使对端平台故障恢复后,中间件也不能及时恢复正常工作。
[0004]另一方面,中间件在业务中断时,即存在未决事务时,不能保存未决事务信息并发起业务重启请求,需依赖于业务发起方进行人工干预,重新发起业务请求。

【发明内容】

[0005]本发明实施例为解决上述技术问题,提供一种业务支撑系统的业务处理方法、装置及服务器,能实时检测数据库RAC故障,在检测到数据库RAC故障时,将业务请求消息切换到可用数据库实例,并且,在判断存在未决事务时,能够保存未决事务信息,发起业务重启请求。
[0006]本发明实施例的技术方案是这样实现的:
[0007]本发明实施例提供一种业务支撑系统的业务处理方法,所述业务支撑系统包括有服务器及客户端;在服务器侧的中间件中设置两个以上第一中间件路由域,以及两个以上第二中间件路由域,所述方法包括:
[0008]所述客户端在所述两个以上第一中间件路由域中检测到一个可用的第一中间件路由域后,将业务请求消息发送至所检测到的可用的第一中间件路由域;
[0009]所述可用的第一中间件路由域接收到所述业务请求消息后,确定每一第二中间件路由域的当前负载,根据所述业务请求消息中业务的类型确定所述业务的权重值;
[0010]根据所述业务的权重值以及所确定的每一第二中间件路由域的当前负载,为所述业务请求消息选择相应的第二中间件路由域,并将所述业务请求消息发送至所选择的第二中间件路由域;
[0011]所选择的第二中间件路由域接收到所述业务请求消息后,检测可用的数据库实例,并将所述业务请求消息发送至所检测到的可用的数据库实例;
[0012]所述可用的数据库实例接收到业务请求消息后,根据所述业务请求消息执行业务处理。
[0013]优选地,所述方法还包括:所选择的第二中间件路由域向所检测到的可用的数据库实例发送业务请求消息过程中,所选择的第二中间件路由域检测是否存在未决事务,并在检测存在未决事务时,向发送业务请求消息的第一中间件路由域发送业务重启请求。
[0014]优选地,所述可用的第一中间件路由域确定每一第二中间件路由域的当前负载,包括:
[0015]所述可用的第一中间件路由域计算每一第二中间件路由域当前承载的各种业务的业务量与当前承载的各种业务对应的权重值的乘积总和作为每一第二中间件路由域的当前负载。
[0016]优选地,所述方法还包括:
[0017]在服务器侧设置与每个第二中间件路由域连接的主用路由服务模块和备用路由服务模块,在服务器侧设置与所有主用路由服务模块连接的主用数据库实例和与所有备用路由服务模块连接的备用数据库实例;
[0018]对应地,所选择的第二中间件路由域接收到所述业务请求消息后,检测可用的数据库实例,向所检测到的可用的数据库实例发送所述业务请求消息,包括:
[0019]所选择的第二中间件路由域检测所述主用路由服务模块和备用路由服务模块的可用性,将所述业务请求消息发送至所检测到的可用的路由服务模块;
[0020]所述可用的路由服务模块接收到所述业务请求消息后,将所述业务请求消息发送至所述可用的路由服务模块相应的数据库实例。
[0021]本发明实施例还提供一种业务支撑系统的业务处理装置,包括:设置模块、第一中间件路由域、第二中间件路由域、以及数据库实例;其中,
[0022]设置模块,用于设置两个以上第一中间件路由域,以及两个以上第二中间件路由域;
[0023]第一中间件路由域,用于接收客户端发送的业务请求消息,确定每一第二中间件路由域的当前负载,为所述业务请求消息选择相应的第二中间件路由域,并将所述业务请求消息发送至所述选择的第二中间件路由域;
[0024]第二中间件路由域,用于接收第一中间件路由域发送的业务请求消息,检测可用的数据库实例,向所检测到的可用的数据库实例发送所述业务请求消息;
[0025]数据库实例,用于接收所述业务请求消息,根据所接收到的业务请求消息执行业务处理。
[0026]优选地,所述第二中间件路由域,还用于检测是否存在未决事务,在检测到存在未决事务时,向第一中间件路由域发送业务重启请求。
[0027]优选地,所述第一中间件路由域确定每一第二中间件路由域的当前负载,包括:
[0028]所述第一中间件路由域计算每一第二中间件路由域当前承载的各种业务的业务量与当前承载的各种业务对应的权重值的乘积总和作为每一第二中间件路由域的当前负载。
[0029]优选地,所述设置模块,还用于在服务器侧设置与每个第二中间件路由域连接的主用路由服务模块和备用路由服务模块,在服务器侧设置与所有主用路由服务模块连接的主用数据库实例和与所有备用路由服务模块连接的备用数据库实例;其中,
[0030]主用路由服务模块,用于接收第二中间件路由域发送的业务请求消息,并发送所述业务请求消息至主用数据库实例;
[0031]备用路由服务模块,用于接收第二中间件路由域发送的业务请求消息,并发送所述业务请求消息至备用数据库实例;
[0032]主用数据库实例,用于接收主用路由模块发送的业务请求消息,根据所述业务请求消息执行业务处理;
[0033]备用数据库实例,用于接收备用路由模块发送的业务请求消息,根据所述业务请求消息执行业务处理。
[0034]优选地,所述第二中间件路由域,还用于检测主用路由服务模块和备用路由服务模块的可用性,将所接收到的业务请求消息发送至所检测到的可用的路由服务模块。
[0035]本发明实施例还提供一种业务支撑系统的业务处理服务器,包括:上述所述业务支撑系统的业务处理装置。
[0036]本发明实施例所提供的业务支撑系统的业务处理方法、装置及服务器,在服务器侧的中间件中设置两个以上第一中间件路由域,以及两个以上第二中间件路由域,客户端在所述两个以上第一中间件路由域中检测到一个可用的第一中间件路由域后,将业务请求消息发送至所检测到的可用的第一中间件路由域;所述可用的第一中间件路由域接收到所述业务请求消息后,确定每一第二中间件路由域的当前负载,根据所述业务请求消息中业务的类型确定所述业务的权重值;根据所述业务的权重值以及所确定的每一第二中间件路由域的当前负载,为所述业务请求消息选择相应的第二中间件路由域,并将所述业务请求消息发送至所选择的第二中间件路由域;所选择的第二中间件路由域接收到所述业务请求消息后,检测可用的数据库实例,并将所述业务请求消息发送至所检测到的可用的数据库实例发送;所述可用的数据库实例接收到业务请求消息后,根据所述业务请求消息执行业务处理。进一步地,所选择的第二中间件路由域向可用的数据库实例发送业务请求消息过程中,所选择的第二中间件路由域判断是否存在未决事务,并在判断存在未决事务时,向所述可用的第一中间件路由域发送业务重启请求。如此,可实现中间件应用级的负载均衡,在数据库RAC故障时,中间件可将业务请求消息切换到可用数据库实例,有效提高了中间件的可用性。
【附图说明】
[0037]图1为本发明实施例业务支撑系统的业务处理方法的基本处理流程示意图;
[0038]图2为本发明实施例业务及对应的权重值关系列表;
[00
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1