一种多通道系统自动路由方法
技术领域
本申请涉及计算机系统自动路由探针方案,以检测系统中某项需要7*24小时服务的高可用性。
背景技术
目前在基础服务系统中,一些基础服务会存在多通道设置,以达到该系统某项服务的高可用,当某一通道出现网络中断货系统故障等问题时,需要及时路由到备用通道,确保服务的正常使用并将主通道的故障情况进行记录检测。常用于一些需要保持全天候7*24小时服务的基础服务系统场景中。目前解决方案为当发现通道出现问题之后通知运维人员手动切换通道来进行解决,存在一定的滞后性,可能会导致某一段时间内的服务不可用,而发生批量性的事件。
如图1所示为常规的路由方案,其主要步骤包括:
步骤1:系统A调用系统B进行C服务。而实际系统B在进行C服务的时候有多个选择(假定有两个通道系统,D系统及E系统均用于提供服务C)。
步骤2:系统B在检查A发过来的报文进行格式校验。
步骤3:系统B获取数据库中配置的通道开关。
步骤4:系统B根据通道开关选择调用系统,若开关值等于值1则选择调用D系统,若开关值等于值2则选择E系统。(假定开关配置的通道为D系统)
步骤5:系统B调用D系统完成返回结果。
步骤6:系统B解析D系统返回的结果,将结果信息返回给A系统,流程结束。
目前系统中配置的开关只能由手工控制,如果当前配置的使用通道出现异常(网络波动或通道系统异常),会使C服务对外出现异常情况。
发明内容
本发明的目的某些需要提供7*24小时服务的系统,当出现故障时能自动路由到其它可以服务上,保障服务的高可用及连续性。为解决上述问题,本发明采用以下技术方案。
本发明为解决上述技术问题,采用以下技术方案:
一种多通道系统自动路由方法,其特征在于,包括以下步骤:
步骤1:每隔固定时间向当前使用通道系统进行访问连接,判断网络连通性及服务可用性,若通道系统出现异常则将数据库中当前系统对应的开关值变更为预先指定的备用通道系统对应的开关值,若通道系统未出现异常则则进行步骤2;
为了更明确的理解各个系统和通道值之间的对应关系,在数据库建立了1张表,该表中有如下字段:系统ID,开关值,开关值对应的调用系统。通对应的开关值即可知晓需要调用的服务系统,该对应关系由预先设定,例如开关值Y对应D系统,开关值N对应E系统。
步骤2:查询数据库中配置的通道开关值;
步骤3:根据获取到的通道开关值选择调用系统;如:若开关值等于值1则选择调用D系统,若开关值等于值2则选择E系统,假定开关配置的通道为D系统。
步骤4:被调用D系统完成返回结果;
步骤5:解析返回结果,判断当前该系统服务是否可用;
步骤6:若可用则流程结束,若不可用则将数据库中当前系统对应的开关至变更为备用通道系统的开关值,进行步骤2。
因为本发明采用上述技术方案,因此具备以下有益效果:
1、自动控制路由通道,减少人为干预。
2、实时探测通道可用性,确保对外服务连续可用。
3、实时监测服务的可用性,及时发现并记录问题。
4、可避免因网络及服务系统故障而导致批量性服务失败。
附图说明
图1为现有常规的路由方案;
图2为本申请路由方案,仅为1个备用系统示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
一种多通道系统自动路由方法,其特征在于,包括以下步骤:
步骤1:每隔固定时间向当前使用通道系统进行访问连接,判断网络连通性及服务可用性,若通道系统出现异常则将数据库中当前系统对应的开关值变更为预先指定的备用通道系统对应的开关值,若通道系统未出现异常则则进行步骤2;
为了更明确的理解各个系统和通道值之间的对应关系,在数据库建立了1张表,该表中有如下字段:系统ID,开关值,开关值对应的调用系统。通对应的开关值即可知晓需要调用的服务系统,该对应关系由预先设定,例如开关值Y对应D系统,开关值N对应E系统。
步骤2:查询数据库中配置的通道开关值;
步骤3:根据获取到的通道开关值选择调用系统;如:若开关值等于值1则选择调用D系统,若开关值等于值2则选择E系统,假定开关配置的通道为D系统。
步骤4:被调用D系统完成返回结果;
步骤5:解析返回结果,判断当前该系统服务是否可用;
步骤6:若可用则流程结束,若不可用则将数据库中当前系统对应的开关至变更为备用通道系统的开关值,进行步骤2。
实施例
其中A系统为互金平台系统,B系统为综合前置系统,C服务为联网核查服务,D系统为人行系统,E系统为金电系统。
步骤1:综合前置系统每隔固定时间向当前使用通道的人行系统进行访问连接,判断网络连通性及联网核查服务可用性,若通道系统出现异常则将数据库中当前人行系统对应的开关值变更为预先指定的备用通道金电系统对应的开关值,若通道系统未出现异常则进行步骤2;
为了更明确的理解各个系统和通道值之间的对应关系,在数据库建立了1张表,该表中有如下字段:系统ID,开关值,开关值对应的调用系统。通对应的开关值即可知晓需要调用的服务系统,该对应关系由预先设定,例如开关值Y对应D系统,开关值N对应E系统。
步骤2:查询数据库中配置的通道开关值;
步骤3:根据获取到的通道开关值选择调用金电系统;如:若开关值等于值1则选择调用D系统,若开关值等于值2则选择E系统,假定开关配置的通道为D系统。
步骤4:被调用的金电系统完成返回结果;
步骤5:解析返回结果,判断当前该的金电系统的联网核查服务是否可用;
步骤6:若可用则流程结束,若不可用则将数据库中当前系统对应的开关至变更为其他备用通道系统的开关值,进行步骤2。