故障切换系统和方法技术方案

技术编号:9694613 阅读:138 留言:0更新日期:2014-02-21 00:49
本发明专利技术的一个方面提供了一种用于故障切换的系统,它包括至少一个客户机,选择性地可连接到经由网络连接的至少两个互连的服务器之一。在常规状态下,当被连接到客户机时,服务器中的一个被指定为主服务器,并且当未连接到客户机时,服务器中的剩余服务器被指定为备用服务器。所述至少一个客户机被配置为向主服务器发送消息。该服务器被配置为使用至少一个服务来处理该消息,该服务在每一个服务器中都是相同的。该服务不知道与该服务相关的服务器是作为主服务器还是备用服务器工作。该服务器还被配置为保持一个库或者类似物,该库指明了该服务器是主服务器还是备用服务器。每个服务器中的服务对与其相关的库进行外部调用。主服务器中的库被配置为完成外部调用,并且向主服务器中的服务返回外部调用的结果,并且向备用服务器中的服务转发外部调用的结果。当被第二服务器中的服务要求这样做时,第二服务器中的库不进行外部调用,而是简单地向第二服务器中的服务转发从主服务器接收到的外部调用的结果。

【技术实现步骤摘要】
本申请为国际申请日为2007年2月19日、申请号为200780035109.7、专利技术名称为“”的专利申请的分案申请。
本专利技术涉及计算机和网络体系结构,并且更具体地涉及。
技术介绍
社会越来越依靠计算机和网络来进行交互和开展业务。为了获得关键系统中要求的高级别可用性,应当将由软件和硬件缺陷引起的计划外停机降低到最小。金融服务行业是要求高可用性系统的行业中的一个实例。实际上,当今金融行业中的大量数据处理活动都是由计算机系统支持的。最有趣的是所谓的“实时”和“接近实时”在线交易处理(OLTP)应用,该应用通常在很长的时段中以高速度且低延迟地处理大量商业交易。这些应用通常显示出下述特性:(1)复杂和高速度数据处理,(2)可靠的非易失性数据存储,和(3)高级别可用性,即在基本不受干扰的基础上支持服务的能力。但是在实施时,由于它们对系统行为的互相矛盾的影响,现有的系统倾向于在这些性能要求之间折衷,不存在如同后面将详细描述的、能同时完全满足全部三个特性的方案。首先,复杂数据处理指的是以及时的方式执行大量计算、数据库检索/更新等的能力。这可以通过并行处理实现,其中在同一物理机器上或分布式网络上同时执行多个工作单元。在一些系统中,每个交易的结果是基于之前完成的交易的结果。由于竞态条件、操作系统调度任务或者各种网络延迟,这样的系统的并行方面天生就是非确定性的,既不能预测消息和线程执行的顺序,也不能简单地通过将输入消息的副本传递给复制系统来并行地处理该消息和线程执行。非确定性系统具有非恒定的输出,因此它们不是在两个不同计算机器上并行运行的、虽然其本意是在出现故障时用一个代替另一个。其次,可靠的非易失性数据存储指的是甚至在系统的一些软件或者硬件组件经历意料之外的故障时,持久地存储数据的能力。这通常是通过在存取或者修改共享数据时,使用原子性、一致性、隔离性和持久性(“ACID”)交易实现的。一个单元的工作一完成,ACID交易就可以保证数据的完整性和持久性。每个提交的ACID交易被写入非易失性计算机存储器(硬盘),该存储器协助确保数据持久性,但是这样很耗费性能,通常拖慢了整个系统。第三,高可用性系统尝试确保给定计算机系统的可用性百分比尽可能接近100%的时间。可以通过使用冗余软件和/或硬件实现这样的可用性,当检测到组件故障时,冗余软件和/或硬件接管功能。为了取得成功,故障切换不仅复制数据,还复制处理状态。如同本领域的技术人员所理解的,在非确定性系统(即同样一组事件的计算处理根据这些事件的处理顺序可以获得多于一个结果的系统)中状态复制尤其具有挑战性。高可用性软件应用通常被配置在冗余环境中,从而减少和/或消除故障的单一点,该点通常与基础硬件相关。已知的两个常规方法是热故障切换和温故障切换。热故障切换指的是同时在多个系统中处理同一输入,本质上是在这些系统中的出现一个故障时提供完全冗余。温故障切换指的是在备份系统中复制应用的状态(即数据),而不在备份系统中处理该数据,但是具有可以在主系统出现故障时处理加载的数据并且待机的应用。被很多人不视为一种高可用性的冷故障切换指的是简单地唤醒备份系统和将备份系统准备用于承担主系统的处理责任。在热故障切换中,应用的两个实例同时运行在两个不同的硬件设备上,处理同一输入的副本。如果它们中的一个经历严重的故障时,附加的同步系统可以确保另一个将继续支持工作负载。在温故障切换配置中,这些系统中的被指定为主要的一个运行该应用;在出现故障时,被指定为备份的、处于待机状态等待的第二系统将“苏醒”,接管和恢复功能。现有技术的热故障切换方式至少具有两个缺点。首先,附加软件必须运行从而确保两个系统同步。在不确定性系统的情况下,该同步努力可能导致不能接受的(或者不希望的)性能降低和必须保证事件到达的顺序完全一致的复杂性。同样,在这样的应用中使用的现有并行系统通常允许多个线程同时执行,因此它们天生就是非确定性的。同样带有服务器和地理上分散的客户机的系统也是非确定性的,其中各种网络延迟以无法预测的顺序向服务器发送消息。温故障切换可以被用于克服热故障切换的某些问题。通过将系统数据复制到冗余备份系统,并且随后在第二系统恢复应用功能,温故障切换可以成为实现非确定性系统的故障切换的另一种方式。该方式的缺点在于将数据恢复为一致状态、随后将应用带到功能状态,并且最后,将应用恢复到它从处理中离开的位置这一过程所需要的时间。该过程通常花费几小时,需要人工干涉并且不能完全恢复进行中的交易。很多专利试图解决前述问题中的至少一部分。第5,305,200号美国专利所提出的方案本质上是用于顾客/经销商与经纪人(准备买卖未上市证券的经纪人)之间议价贸易场景中通信的反拒认(non-repudiation)机制。提供冗余从而确保在出现故障时反拒认机制能够工作。它没有解决非确定性环境中的在线交易应用的故障切换。简单地说,在经历了网络故障后,第5,305,200号美国专利被用于向下述疑问提供毫不含糊的答案:“是否发送了指令? ”第5,381,545号美国专利提出了用于备份已存储的数据(在数据库中)同时还对这些数据进行更新的技术。第5,987,432号美国专利提供了用于为区域分布而安装全世界金融市场数据的可容错的市场数据自动收录机系统。这是一个确定性的环境,并且解决方案集中在向消费者提供不受干扰的单向数据流。第6,154,847号美国专利提供了通过将传统非易失性存储器上的交易日志与易失性存储器中的交易列表合并来回滚交易的改进方法。第6,199,055号美国专利提供了一种在系统和便携式处理器之间经由不安全的通信连接进行分布式交易的方法。第6,199,055号美国专利研究的是用于确保与远程设备完整交易的认证,以及在出现故障时重启远程设备。总体而言,前述这些专利都没有解决在非确定性环境中的在线交易应用的故障切换。第6,202, 149号美国专利提供了用于自动地重分配任务从而减少计算机停机影响的方法和装置。该装置包括至少一个由一个或多个计算系统组成的冗余群组,所述计算系统本身就是由一个或多个计算分区组成的。分区包括数据库模型的副本,数据库模型在每个计算系统部分被复制。冗余群组监视计算系统和计算系统分区的状况,并且根据监视到的计算系统的状况向计算系统分配任务。第6,202,149号美国专利的一个问题是它没有教导在备份系统接管处理交易的责任时,如何恢复工作流,反而采用了效率很差的和/或 缓慢的复制整个数据库的方式。进一步,这样的复制可以引起丢失处理中的重要交易信息, 特别是在主系统或者连接主系统和备份系统的网络上出现故障时,从而导致了主系统和备 份系统之间的状态不一致。整体而言,第6,202,149号美国专利缺少在在线交易处理或类 似处理中需要的特定特性,并且由其缺少故障切换非确定性系统所需要的特性。第6,308,287号美国专利提出了一种方法,其探测组件交易的故障,将其收回,可 靠地存储故障指示器以便在系统故障后可以恢复,并且随后使得进一步交易可以使用该故 障指示器。它没有解决在非确定性环境中交易应用的故障切换。第6,574,750号美国专利 提出了分布式复制对象的系统,其中对象是非确定性的。它提出了一种在出现已复制的对 象的故障时,确保一致性并且限本文档来自技高网...

【技术保护点】
一种用于故障切换的系统,包括:至少一个客户机,选择性地可连接到经由网络连接的至少两个互连的服务器之一;当被连接到所述客户机时,所述服务器中的一个被指定为主服务器,并且当未连接到所述客户机时,所述服务器中的剩余服务器被指定为备用服务器;所述至少一个客户机被配置为向所述主服务器发送消息;所述服务器被配置为代表所述客户机使用多线程来处理所述消息,并且保持与处理所述消息所使用的每个所述线程都可以访问共享资源;所述主服务器被配置为通过进行与所述消息中的一个或多个相关的对外部资源的至少一个外部功能调用来处理所述消息;所述主服务器被配置为向所述备用服务器镜像下述内容:i)所述消息;ii)与所述消息相关的所述外部功能调用的结果;以及iii)用于处理所述消息的顺序;所述备用服务器被配置为使用根据所述顺序从所述主服务器接收到的所述镜像的外部功能调用结果来处理所述消息,这样在借助所述服务器中的每一个来处理所述消息时,所述主服务器和所述备用服务器中存储的所述共享资源是基本相同的。

【技术特征摘要】
2006.08.04 US 11/498,8021.一种用于故障切换的系统,包括:至少一个客户机,选择性地可连接到经由网络连接的至少两个互连的服务器之一;当被连接到所述客户机时,所述服务器中的一个被指定为主服务器,并且当未连接到所述客户机时,所述服务器中的剩余服务器被指定为备用服务器;所述至少一个客户机被配置为向所述主服务器发送消息;所述服务器被配置为代表所述客户机使用多线程来处理所述消息,并且保持与处理所述消息所使用的每个所述线程都可以访问共享资源;所述主服务器被配置为通过进行与所述消息中的一个或多个相关的对外部资源的至少一个外部功能调用来处理所述消息;所述主服务器被配置为向所述备用服务器镜像下述内容:i)所述消息;ii)与所述消息相关的所述外部功能调用的结果;以及iii)用于处理所述消息的顺序;所述备用服务器被配置为使用根据所述顺序从所述主服务器接收到的所述镜像的外部功能调用结果来处理所述消息,这样在借助所述服务器中的每一个来处理所述消息时, 所述主服务器和所述备用服务器中存储的所述共享资源是基本相同的。2.一种用于故障切换的系统,包括:至少一个客户机,选择性地可连接到经由网络连接的至少两个互连的服务器之一;当被连接到所述客户机时,所述服务器中的一个被指定为主服务器,并且当未连接到所述客户机时,所述服务器中的剩余服务器被指定为备用服务器;所述至少一个客户机被配置为向所述主服务器发送消息;所述服务器被配置为使用至少一个服务来处理所述消息,所述服务在每一个所述服务器中都是相同的,并且不知道与所述服务相关的服务器是作为主服务器还是备用服务器 工作;所述服务器还被配置为保持一个库,该库指明了该服务器是主服务器还是备用服务器;每个服务器中的所述服务被配置为经由与其相关的所述库来进行至少一个外部调用;所述主服务器中的所述库被配置为完成所述外部调用,并且向所述主服务器中的所述服务返回所述外部调用的结果,并且向所述备用服务器中的所述库转发所述外部调用的结果;所述备用服务器中的所述库设置为返回对所述备用服务器中的所述服务的所述外部调用的结果;在所述主服务器和所述备用服务器中的所述服务还设置为利用所述外部调用的结果来处理每个所述消息。3.根据权利要求2所述的系统,其特征在于,所述库被实现为一组或多组相异的可用代码。4.根据权利要求2所述的系统,其特征在于,所述服务器每个都被配置为保持共享资源,其中所述服务可以存储处理所述消息的结果。5.根据权利要求4所述的系统,其特征在于,所述共享资源被保持在相关服务器的随机访问存储器中。6.根据权利要求2所述的系统,其特征在于,所述外部调用是对时间戳的请求。7.根据权利要求2所述的系统,其特征在于,所述系统是电子交易系统中的一部分,消息是买卖证券的指令,并且所述外部调用是对所述证券的价值的市场反馈报价的请求。8.根据权利要求2所述的系统,其特征在于,所述至少一个服务包括下达指令服务、指令取消服务、指令改变服务、指令匹配服务、进入之前执行的交易的服务或者进入交叉交易的服务中的一个。9.根据权利要求4所述的系统,其特征在于,所述主服务器中的所述服务被配置为仅在所述备用服务器确认了所述外部调用的所述结果已经被成功地转发给所述备用服务器时,才向所述客户机确认已经处理了所述消息。10.根据权利要求4所述的系统,其特征在于,所述主服务器中的所述服务被配置为不管所述备用服务器是否确认了所述外部调用的所述结果已经被成功地转发给所述备用服务器,都向所述客户机确认已经处理了所述消息。11.根据权利要求10所述的系统,其特征在于,如果在预定时间段中,备用服务器没有确认所述外部调用的所述结果已经被成功地转发给所述备用服务器,则所述主服务器将认为所述备用服务器出现了故障。12.—种用于系统中的故障切换的方法,包括: 至少一个客户机,选择性地可连接到经由网络连接的至少两个互连的服务器之一;当被连接到所述客户机时,所述服务器中的一个被指定为主服务器,并且当未连接到所述客户机时,所述服务器中的剩余服务器被指定为备用服务器;所述至少一个客户机被配置为向所述主服务器发送消息;所述`方法包括: 将所述服务器配置为保持一个库,该库指明了该服务器是主服务器还是备用服务器; 将所述服务配置为经由与其相关的所述库来进行外部调用;和 将所述主服务器中的所述库配置为完成所述外部调用,并且向所述主服务器中的所述服务返回所述外部调用的结果,并且向所述备用服务器中的所述库转发所述外部调用的结果; 将所述备用服务器中的所述库配置为转发所述外部调用的结果给所述备用服务器中的一个服务; 将所述主服务器中的所述服务配置为利用所述外部调用的所述结果来处理所述消息,所述外部调用...

【专利技术属性】
技术研发人员:丘多尔·莫洛森格利高利·A·阿伦维克多·帕夫烈科本逊·诗杰·林
申请(专利权)人:多伦多证券交易所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1