专利名称:一种高可用多机备份路由表管理与切换方法
一种高可用多机备份路由表管理与切换方法[技术领域]
本发明涉及证券电子系统数据备份控制技术领域,具体的说是一种高可用多机备份路由表分布计算、多机协调与中央分发等管理与切换方法。[背景技术]
证券交易所为证券市场提供公共的交易平台,其中证券核心交易系统作为证券产品实时竞价撮合的平台系统,也被称为竞价撮合平台,属于关键业务系统。
竞价撮合平台由后台负责计算处理的多主机集群、中台接入网关和前台接入节点构成,由于竞价撮合平台需要处理来自全国百余家证券公司、数千家营业部、九千万投资者、平均每秒数千笔、峰值达每秒十万笔的订单流,并在百毫秒级的时间范围内快速响应, 且其性能安全可靠直接关系到国内金融市场的繁荣稳定,因此竞价撮合平台需要保证稳定、高可用性。
由于硬件、网络、软件、人为误操作等易造成单点故障,若无法在短时间内完成自动检测则将延缓系统正常营运;且主机硬件系统故障占据了总体故障发生的较大比例,因此目前为进一步提高竞价撮合平台可用性主要从两方面着手
首先,完善自动检测系统,目标为即使出现硬件、网络、软件、人为误操作造成的单点故障,可以在数十秒内完成硬件、网络、系统故障的自动检测和切换,令对证券市场的影响将至最低;
其次,改进主机连接模式,目前证券行业主要运用的一主一备的热备模式,如国内专利CN1366242A公开的一种双机备份方法,该模式通过双机系统间应用层的通信及系统层的支持实现主备机之间同步运行,利用应用层与系统层之间的管理层指控主备机IP间切换、文件及注册表的镜像等操作,但该模式并不适用于信息数据庞大且更新速度极快的证券交易系统,易发生双点故障、延迟响应、吞吐量小等问题。
再次,添加冷备机作为主机热备模式的补充,在热备切换生效后重启冷备机,将冷备机添加入后台集群中,可提高系统整体冗余度,为证券行业系统运营提供灵活性,可在故障切换后快速反应,给系统重上保险,但在证券行业现有系统中,这一添加过程会对正在工作的交易主机造成明显影响,证券行业现有系统加入冷备机的主要方式是系统停机维护, 不能够在日中交易期间启动添加冷备机。[发明内容]
本发明的目的在于解决上述技术问题,提供一种适用于高可用集群计算机系统多机备份要求的订单路由表计算、切换和分发的方法。
为实现上述目的,设计一种高可用多机备份路由表管理与切换方法,其特征在于集群计算机系统由若干台负责交易业务处理的交易主机组成,其中有一台兼作主管理节点,这些交易主机通过中台接入网关接收处理来自前台接入节点的订单并进行处理,再通过中台接入网关将处理结果返回给前台接入节点,主管理节点维护集群成员节点及启动顺序信息,新加入集群的节点可从主管理节点获取最新的集群成员节点信息;构成集群的各台主机之间通过网络进行通信,通过共享存储设备对单一视图的文件系统进行读写访问, 通过分布锁服务协调主机间的一致性数据和进行主机间同步,通过集群成员管理服务得到节点失效和节点加入通知。
所述的方法具体包括以下步骤
a.交易主机根据产品集合进行分区,每台主机仅处理特定产品集合的证券产品, 对某一产品集合,对应有主用交易主机(主用机)和备用交易主机(备用机),正常情况下,主用机负责该产品集合的证券交易处理,备用机不进行该产品集合的证券交易处理,备用机通过复制技术保持与主用机的数据一致性,在主用机失效时,备用机将动态调整为该产品集合的主用机;
b.订单路由表负责管理各个产品集合的主用机、备用机信息,这些信息被称为订单路由信息,主用机只能定一个,备用机可以定多个,备用机之间定义接管次序,依次称为第一备机、第二备机,以此类推;静态路由表指在交易系统启动前预先定义在文件中的各个产品集合的主用机、备用机信息,动态路由表指实时计算获得的各个产品集合的主用机、备用机信息;日初启动在各交易主机均工作正常的情况,动态路由表内容即为静态路由表;
c.静态路由表定义了各台交易主机负责处理产品集合,为各台交易主机分配了工作负载,针对硬件条件和业务需求采取灵活的路由表配置方案,以便在保证超高可用的同时,最大程度地利用处理器计算能力,一种配置方案是负载均衡,各台主机均配置为产品集合的主用机和另外两个产品集合的备用机或另一种配置方案是纯备机,一部分主机配置为产品集合的主用机和第二备机,另一部分主机配置为产品集合的第一备机;
d.在集群成员主机发生变化时,动态路由表将重新计算,主管理节点记录节点启动顺序,区分日初启动节点和日中启动节点,日初启动节点在动态路由表对应产品集合中的接管次序,按照静态路由表所定乂次序,日中启动节点在动态路由表对应广品集合中的接管次序,按照节点启动的时间顺序;
e.在主机失效时,重新计算动态路由表,该主机原先作为主用机的产品集合,其第一备机变为主用机,第二备机递进变为第一备机,以此类推,该主机原先作为备用机的产品集合,其后的备机递进前推,动态路由表中日初启动节点优先级高于日中启动节点,日中启动节点中启动早的优先级高于启动晚的,这保证了主用机失效时每个产品集合均由准备最充分的备用机最先接管;
f.在冷备机加入集群时,重新计算动态路由表,根据静态路由表获得冷备机相关的产品集合,将冷备机加在这些产品集合接管序列的末尾,冷备机热添加技术,既允许冷备机加入集群并实施数据装载,又不打断当前主用机的正常业务处理,冷备机数据装载需要十数分钟,完成数据装载的冷备机与正常热备机没有差别,在数十秒内完成硬件故障的自动检测和切换。
g.各台交易主机从集群成员管理服务得到节点失效和节点加入通知后,各自计算动态路由表,各自向中台接入网关分发动态路由表,各台交易主机从集群文件系统读取到相同的静态路由表,从主管理节点获取一致的节点启动顺序信息,因此各台交易主机计算所得的动态路由表彼此一致。
所述的交易主机中包含协调器、复制器等功能模块,协调器负责计算动态路由表,协调器在完成动态路由表计算后,将通知复制器和各功能模块实施相应的主备切换工作, 待复制器和各功能模块完成主备切换工作后,协调器将向中台各个接入网关分发动态路由表,后台交易主机发给中台接入网关的动态路由表,表示该交易主机作为主用机的产品集合已切换就绪,随后从前台新打入的订单,将通过中台新的订单路由表,转至已就绪的新的主用机进行业务处理。
动态路由表计算方法为
a.路由管理算法首先分析检查传入的节点序列,确定记录分隔点位置,随之确定日初序列,即在分隔点之前的序列及重启序列,即在分隔点之后的序列;
b.依次检查所有的有效产品集合;
c.依次检查该有效产品集合在静态路由表中对应的节点是否在日初序列中,检查节点包括主用机及各个备用机;
d.当日初序列中有此节点,则在动态路由中添加节点;
e.判断此有效产品集合对应的静态路由节点是否检查结束
①是,则进入步骤f;
②否,则返回步骤c ;
f.判断所有有效产品集合是否检查完毕
①是,则进入步骤g;
②否,则返回步骤b;
g.依次检查重启序列中的每一个节点;
h.针对当前节点,检查静态路由表中包含该节点的每一个产品集合;
i.将此节点更新到动态路由表中此产品集合的待添加主机位置,然后此待添加主机位置向后移一格,准备后续主机的加入;
j.判断对应产品集合是否检查完毕
①是,则进入步骤k ;
②否,则返回步骤h;
k.判断重启序列中的节点是否检查完毕
①是,则进入步骤I;
②否,则返回步骤g;
I.交易主机完成全部动态路由表的计算。
热备主机的路由表切换分发方法为
a.当通过分布锁服务器获知有主机退出;
b.引发系统中断处理,更新本地静态路由表节点序列并添加主线处理事件;
c.主线处理中,通过分布锁服务器,竞争主管理节点;
d.判断当前主机是否为主管理节点;
①是,则进入步骤e;
②否,则进入步骤f;
e.更新节点序列锁中的节点序列;
f.根据节点序列,计算动态路由表;
g.王机上复制器完成接管后,直对应的广品集合的就绪标签为完成;
h.协调器确认就绪标签后,下发路由表。
冷备机热添加的路由表更新分发方法为
a.通过分布锁服务器,加入集群;
b.读出节点序列锁中当前的节点序列,并记录于本地变量中;
c.根据节点序列计算动态路由表,获知自己主备处理的产品集合;
d.创建内存,将就绪标签设定为初始状态;
e.进入多阶段启动,创建业务相关资源,装载数据;
f.根据当前最新节点序列,重新计算动态路由表;
g.复制器完成启动,将就绪标签设定为复制态;
h.协调器确认就绪标签后,下发路由器。
本发明与现有技术相比,充分提高了计算机数据处理速度性能,具体的说具有以下有益效用
a.在现有一主一备的热备模式,升级为一主两备甚至多备的热备模式,从而可以应对主机硬件的双点故障,在平台系统达到超高可用性的同时,各项并发处理、吞吐量、延迟响应、切换时间指标仍保持与原先一主一备模式接近的水平。
b.以改进方式添加冷备机,作为主机热备模式的补充,在热备切换生效后重启冷备机,将冷备机添加入后台集群中,可提高系统整体冗余度,为证券行业系统运营提供灵活性,可在故障切换后快速反应,给系统重上保险;
c.建立了多台交易主机并行运行的集群系统,提供可灵活定义主机逻辑互备关系的订单路由表,并提供主机失效与恢复时订单路由表计算、切换和分发的方法,为集群系统增强了主机冗余度,充分利用主机计算能力,对系统性能影响较小,成本较低。[
]
图I为本发明中多机互备集群示意图2为本发明交易主机功能模块示意图3为本发明动态路由表计算流程图4为本发明热备主机的路由表切换分发流程图5为本发明冷备机热添加的路由表更新分发流程图。[具体实施方式
]
为了使本发明的目的原理及设计方案清楚明了,现结合附图对本发明作进一步阐述,其中涉及的方法对本领域技术人员来说是可以实现的。
在多机互备模式改进方面,本技术方案设想,将进入主机处理的产品划分成为不同的产品集合,对于一个产品集合,可以有一台主机作为主用机,可以有多台主机作为备用机,分别称为第一备机,第二备机,第三备机等,对于一台主机可以同时主处理多个产品集合,也可以同时备处理多个产品集合,设计出的多机互备集群如图I所示,图中有4台负责交易业务处理的交易主机构成一个集群,其中有一台兼作主管理节点,由集群基础软件提供集群成员管理服务、分布锁服务和投票服务,主机之间通过网络互连以交换数据和控制消息,主机之间通过存储区域网络(SAN)共享访问磁盘。
其中交易主机内部主要功能模块如图2所示,包括主机、备机及审计日志,备机中包含协调器、复制器、撮合器以及功能模块,由协调器控制复制器、撮合器及其他功能模块的工作,借助共享磁盘上的审计日志实施数据复制,并通过集群成员管理服务和节点序列管理服务保证多主机间数据一致和处理同步,在应用时具体步骤如下
a.交易主机根据产品集合进行分区,每台主机仅处理特定产品集合的证券产品, 对某一产品集合,对应有主用交易主机(主用机)和备用交易主机(备用机),正常情况下,主用机负责该产品集合的证券交易处理,备用机不进行该产品集合的证券交易处理,备用机通过复制技术保持与主用机的数据一致性,在主用机失效时,备用机将动态调整为该产品集合的主用机;
b.订单路由表负责管理各个产品集合的主用机、备用机信息,这些信息被称为订单路由信息,主用机只能定一个,备用机可以定多个,备用机之间定义接管次序,依次称为第一备机、第二备机,以此类推;静态路由表指在交易系统启动前预先定义在文件中的各个产品集合的主用机、备用机信息,动态路由表指实时计算获得的各个产品集合的主用机、备用机信息;日初启动在各交易主机均工作正常的情况,动态路由表内容即为静态路由表;
c.静态路由表定义了各台交易主机负责处理产品集合,为各台交易主机分配了工作负载,针对硬件条件和业务需求采取灵活的路由表配置方案,以便在保证超高可用的同时,最大程度地利用处理器计算能力,一种配置方案是负载均衡,各台主机均配置为产品集合的主用机和另外两个产品集合的备用机或另一种配置方案是纯备机,一部分主机配置为产品集合的主用机和第二备机,另一部分主机配置为产品集合的第一备机;
所述的静态配置路由表如表I所示,其中写明了每个产品集合所对应的主机,第一备机,第二备机等,
表I静态配置路由
权利要求
1.一种高可用多机备份路由表管理与切换方法,其特征在于集群计算机系统由若干台负责交易业务处理的交易主机组成,其中有一台兼作主管理节点,这些交易主机由中台接入网关接收处理来自前台接入节点的订单并进行处理,再通过中台接入网关将处理结果返回给前台接入节点,主管理节点维护集群成员节点及启动顺序信息,新加入集群的节点可从主管理节点获取最新的集群成员节点信息;构成集群的各台主机之间通过网络进行通信,通过共享存储设备对单一视图的文件系统进行读写访问,通过分布锁服务协调主机间的一致性数据和进行主机间同步,通过集群成员管理服务得到节点失效和节点加入通知。
2.如权利要求I所述的一种高可用多机备份路由表管理与切换方法,其特征在于所述的方法具体包括以下步骤a.交易主机根据产品集合进行分区,每台主机仅处理特定产品集合的证券产品,对某一产品集合,对应有主用交易主机(主用机)和备用交易主机(备用机),正常情况下,主用机负责该产品集合的证券交易处理,备用机不进行该产品集合的证券交易处理,备用机通过复制技术保持与主用机的数据一致性,在主用机失效时,备用机将动态调整为该产品集合的主用机;b.订单路由表负责管理各个产品集合的主用机、备用机信息,这些信息被称为订单路由信息,主用机只能定一个,备用机可以定多个,备用机之间定义接管次序,依次称为第一备机、第二备机,以此类推;静态路由表指在交易系统启动前预先定义在文件中的各个产品集合的主用机、备用机信息,动态路由表指实时计算获得的各个产品集合的主用机、备用机信息;日初启动在各交易主机均工作正常的情况,动态路由表内容即为静态路由表;c.静态路由表定义了各台交易主机负责处理产品集合,为各台交易主机分配了工作负载,针对硬件条件和业务需求采取灵活的路由表配置方案,以便在保证超高可用的同时,最大程度地利用处理器计算能力,一种配置方案是负载均衡,各台主机均配置为产品集合的主用机和另外两个产品集合的备用机或另一种配置方案是纯备机,一部分主机配置为产品集合的主用机和第二备机,另一部分主机配置为产品集合的第一备机;d.在集群成员主机发生变化时,动态路由表将重新计算,主管理节点记录节点启动顺序,区分日初启动节点和日中启动节点,日初启动节点在动态路由表对应产品集合中的接管次序,按照静态路由表所定乂次序,日中启动节点在动态路由表对应广品集合中的接管次序,按照节点启动的时间顺序;e.在主机失效时,重新计算动态路由表,该主机原先作为主用机的产品集合,其第一备机变为主用机,第二备机递进变为第一备机,以此类推,该主机原先作为备用机的产品集合,其后的备机递进前推,动态路由表中日初启动节点优先级高于日中启动节点,日中启动节点中启动早的优先级高于启动晚的,这保证了主用机失效时每个产品集合均由准备最充分的备用机最先接管;f.在冷备机加入集群时,重新计算动态路由表,根据静态路由表获得冷备机相关的产品集合,将冷备机加在这些产品集合接管序列的末尾,冷备机热添加技术,既允许冷备机加入集群并实施数据装载,又不打断当前主用机的正常业务处理,冷备机数据装载需要十数分钟,完成数据装载的冷备机与正常热备机没有差别,在数十秒内完成硬件故障的自动检测和切换。g.各台交易主机从集群成员管理服务得到节点失效和节点加入通知后,各自计算动态路由表,各自向中台接入网关分发动态路由表,各台交易主机从集群文件系统读取到相同的静态路由表,从主管理节点获取一致的节点启动顺序信息,因此各台交易主机计算所得的动态路由表彼此一致。
3.如权利要求I所述的一种高可用多机备份路由表管理与切换方法,其特征在于所述的交易主机中包含协调器、复制器等功能模块,协调器负责计算动态路由表,协调器在完成动态路由表计算后,将通知复制器和各功能模块实施相应的主备切换工作,待复制器和各功能t旲块完成王备切换工作后,协调器将向中台各个接入网关分发动态路由表,后台交易主机发给中台接入网关的动态路由表,表示该交易主机作为主用机的产品集合已切换就绪,随后从前台新打入的订单,将通过中台新的订单路由表,转至已就绪的新的主用机进行业务处理。
4.如权利要求I所述的一种高可用多机备份路由表管理与切换方法,其特征在于动态路由表计算方法为a.路由管理算法首先分析检查传入的节点序列,确定记录分隔点位置,随之确定日初序列,即在分隔点之前的序列及重启序列,即在分隔点之后的序列;b.依次检查所有的有效产品集合;c.依次检查该有效产品集合在静态路由表中对应的节点是否在日初序列中,检查节点包括主用机及各个备用机;d.当日初序列中有此节点,则在动态路由中添加节点;e.判断此有效产品集合对应的静态路由节点是否检查结束①是,则进入步骤f;②否,则返回步骤c;f.判断所有有效产品集合是否检查完毕①是,则进入步骤g;②否,则返回步骤b;g.依次检查重启序列中的每一个节点;h.针对当前节点,检查静态路由表中包含该节点的每一个产品集合;i.将此节点更新到动态路由表中此产品集合的待添加主机位置,然后此待添加主机位置向后移一格,准备后续主机的加入;j.判断对应产品集合是否检查完毕①是,则进入步骤k;②否,则返回步骤h;k.判断重启序列中的节点是否检查完毕①是,则进入步骤I;②否,则返回步骤g;I.交易主机完成全部动态路由表的计算。
5.如权利要求I所述的一种高可用多机备份路由表管理与切换方法,其特征在于热备主机的路由表切换分发方法为a.当通过分布锁服务器获知有主机退出;b.引发系统中断处理,更新本地静态路由表节点序列并添加主线处理事件;c.主线处理中,通过分布锁服务器,竞争主管理节点;d.判断当前主机是否为主管理节点;①是,则进入步骤e;②否,则进入步骤f;e.更新节点序列锁中的节点序列;f.根据节点序列,计算动态路由表;g.王机上复制器完成接管后,直对应的广品集合的就绪标签为完成;h.协调器确认就绪标签后,下发路由表。
6.如权利要求I所述的一种高可用多机备份路由表管理与切换方法,其特征在于冷备机热添加的路由表更新分发方法为a.通过分布锁服务器,加入集群;b.读出节点序列锁中当前的节点序列,并记录于本地变量中;c.根据节点序列计算动态路由表,获知自己主备处理的广品集合;d.创建内存,将就绪标签设定为初始状态;e.进入多阶段启动,创建业务相关资源,装载数据;f.根据当前最新节点序列,重新计算动态路由表; g·复制器完成启动,将就绪标签设定为复制态;h.协调器确认就绪标签后,下发路由器。
全文摘要
本发明涉及证券电子系统数据备份控制技术领域,具体为一种高可用多机备份路由表管理与切换方法,其特征在于集群计算机系统由若干交易主机组成,交易主机由中台接入网关接收处理订单,再通过中台接入网关将处理结果返回给前台接入节点,各台主机之间通过网络进行通信,通过共享存储设备对文件系统进行读写访问,通过分布锁服务协调主机间的一致性数据和进行主机间同步,通过集群成员管理服务得到节点失效和节点加入通知。本发明适用于集群系统,添加了冷备机及提供可灵活定义主机逻辑互备关系的订单路由表,实现系统的超高可用性、各项并发处理、吞吐量、延迟响应、切换时间指标仍保持与原先一主一备模式接近的水平,成本较低。
文档编号H04L12/703GK102938705SQ20121036249
公开日2013年2月20日 申请日期2012年9月25日 优先权日2012年9月25日
发明者黄寅飞, 武剑锋, 王泊, 陈雷, 蒋卫, 楼晓鸿, 叶婧, 郑刚, 陆素源, 白硕 申请人:上海证券交易所