一种具有TCP连接容错功能的负载平衡调度方法技术

技术编号:2878176 阅读:263 留言:0更新日期:2012-04-11 18:40
一种具有TCP连接容错功能的负载平衡调度器及其调度方法,采用一体化双机协同结构,利用一个背板并列放置两套相同配置的计算机系统,使双机系统形成一个整体。计算机系统利用DOM作为持久性存储器,并安装经裁剪的Linux操作系统。双机通过设置成相同的IP地址和物理地址,同时接收外来IP包,并在链路层按不同规则对IP包进行过滤,对网络请求进行分流。对各自的网络支流,双机利用Linux虚拟服务器对请求进行调度。同时,双机系统通过互相监控和备份,在某台机器出现故障时另一台机器能够平滑地接管其工作。该接管过程能保证客户的连接不会中断。当故障机恢复正常后,通过与另一台机器协商,能够重新分担调度任务。本发明专利技术与其他方案相比,具有高可靠、低成本、高效率、体积小等优点。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术属于计算机应用领域,具体涉及一种具有TCP连接容错功能的的负载平衡调度器及其调度方法。为了解决服务器的性能问题,许多公司和研究机构研究了基于集群的服务器体系结构。集群服务器是一个利用高速局域网将多个节点(一个节点就是一台服务器、工作站或者PC机)联结起来的系统,这些节点在一个负载平衡调度器的指挥下并发地服务外界请求。由于多个节点是否能够均匀地分担服务请求关系到服务器的整体性能及其扩展性,所以负载平衡调度器的工作对服务器的服务能力至关重要。通常,负载平衡调度器根据某种策略将外来的网络服务请求调往一组工作节点。调度方案可在链路层、网络层或应用层等多处实现。例如,EDDIE,Reverse-Proxy和pWEB都使用基于应用层调度的方法来建立一个可伸缩的Web服务器。它们将到达的Web请求转发到不同的Web服务节点,取得结果后,再返回给用户。IBM的TCP Router和Network Dispatcher都是实现在网络层的调度器。Linux虚拟服务器(Linux Virtual Server)是一个基于Linux操作系统的集群调度软件。它通过扩展IP协议栈,对不同的网络服务提供了多种请求调度方案。除了软件实现,一些公司也提出了硬件解决方案,比如Cisco公司的LocalDirector。它通过硬件进行集群服务器进出口包的重写,并取得了较高的性能。据称,它能同时调度数十万个TCP连接请求,但是这种专门的硬件产品价格非常昂贵,以致一般用户难以承受。虽然以上的许多方案解决了服务器的性能瓶颈问题,但它们都存在共同的缺点,即很少考虑集中式调度器的可靠性。作为整个集群服务器的单一入口点,调度器一旦出现故障,整个服务器将陷入瘫痪,从而可能造成巨大的经济损失。一个简单的解决办法是为该调度器专设一台备份机,当调度器出现故障时,备份机取代其IP地址而继续工作。这种容错处理方式的一个重要不足之处在于已建立的TCP连接会全部丢失,这对用户会产生不便甚至带来损失。Linux虚拟服务器提出了解决可靠性问题的一种方式。它通过内核层的多播将连接信息送往备份机备份,当故障发生时,备份机接管调度器的工作并将已有连接信息恢复。这种方式的缺点是开销较大。尤其是当连接数目增多且状态变化频繁时,多播会给网络造成沉重的负担。另外,这种方式需要专门的一台备份节点从事开销极低的备份工作,并且不能为调度器分担调度任务,所以对资源形成了浪费,这对于较小规模的集群服务器站点尤其突出。为实现上述专利技术目的,一种具有TCP连接容错功能的负载平衡调度器,包括一套由CPU、主板、内存、持久性存储设备及其外围设备构成的计算机系统,其特征在于,本调度器还包括一套具有与所述计算机系统相同配置的计算机系统,二套计算机系统置于同一背板上,构成由二台调度机组成的调度器。上述调度器的调度方法依次包括以下步骤(1)二台调度机的外部网卡配置成相同的IP地址和物理地址; (2)二台调度机的链路层对IP包按照下述二种方式之一进行筛选①根据客户端IP地址值进行调度;②根据客户端IP地址和源端口号进行调度;(3)两台调度机定时地通过自己的内部网络接口对连接调度信息进行相互备份,相互备份时同时相互进行正常性检验如果某调度机在某一时间段内发现另一调度机没有备份信息到达,则前一调度机判断后一调度机出现故障,前一调度机即暂时停止调度工作,并完成以下工作①通过命令改变自己的物理地址,然后由一个专门的程序发送宣告式ARP包,强制外端路由或交换设备更新自己的ARP缓存;②根据已备份的对方调度器的连接信息,在自己的内核中重建该表,从而和自己原有的调度表并列形成两个表奇调度表和偶调度表;③关闭IP包的筛选控制开关,使本机能够接收所有的外来数据包;④报警;之后,前一调度机开始承担全部调度工作;(4)处理后一调度机的故障并重新启动,之后,后一调度机通过其自身的后台程序自动和前一调度机协商,并完成以下工作①命令前一调度机将偶调度表打包发送给自己,并在内核重建该表;②打开自己的筛选控制开关;③获得对方当前的物理地址,并将自己网卡设置成该物理地址,同时绑定公共的IP地址;④开启相互备份进程;与步骤(4)的同时,前一调度机完成以下工作①打开自己的筛选控制开关;②将偶调度表传给后一调度机,并释放该表所占内存;③开启相互备份进程;(5)二台调度机开始正常的协同调度以及相互容错。上述具有TCP连接容错功能的负载平衡调度器具有以下效果及优点(1)高可靠本专利技术提出的容错方法使一台调度器出现故障时,另一台调度器能够平滑地接管其工作。使用户感觉不到服务的中断。并且在故障机恢复正常运转时,能够自动地进行调度任务的重新分配。多种报警方式使得系统更加易于管理。(2)低成本本调度器系统硬件全部由通用计算机部件构成,并且根据调度器的性能需求作了合理的规划。比如DOM的采用,是考虑到Linux操作系统的可裁剪特性,以节省不必要的硬盘存储空间。另外主板采用集成式,也能够有效地降低成本。(3)高效率本专利技术的双机同时调度方法在本领域内属于独创,它使两台机器能够对外界网络流量进行合理地分流,并各自对自己的网络支流进行调度,最大程度地挖掘了双机并行处理能力。(4)小体积本专利技术根据调度软件的大小对计算机硬件进行合理的剪裁,并使用一个背板耦合两套硬件,使得整个双机调度器的体积较一般方式的双主机调度系统减小了约70%。所述的一体化双机结构,就是在一个背板上并列放置两套完全相同配置的计算机系统,如附图说明图1所示。这里的计算机系统由CPU、主板、内存、DOM(Disk On Module)电子磁盘和电源、风扇等外围设备构成。其中主板采用集成方式,内嵌了显卡和两个网络接口卡。DOM是一种采用集成电路设备(Integrated Devices Electronics,IDE)接口的电子盘,它利用先进的集成电路作存储器,而不象传统硬盘采用磁介质作存储器。对低容量要求的系统它可以降低成本;它还具有数据断电后不会丢失、低功耗、防震、抗污染和抗干扰能力强等优点。集成式主板和DOM的采用不仅提高了系统的性能,而且使系统的体积较传统的双机调度器减小约70%,同时成本也大为降低。两套计算机系统通过集群服务器内部网络相互联结。所述的双机协作调度方法首先将两台调度机的外部网卡配置成相同的IP地址和物理地址。这个IP地址就是集群服务器的公开访问地址。为了避免IP地址的冲突,需要在内核屏蔽掉ARP(Address Resolve Protocol,地址解析协议)广播询问包的响应。两台调度机的外部网卡都通过网线联入一个共享介质的集线器。当外部IP包到来时,借助于集线器的共享介质特征,使得该IP包能够被两台调度机的网卡同时接收并传往它们各自的链路层。然后两台调度机的链路层对IP包按照某种方式进行筛选。可选的方式有两种(1)根据客户端IP地址值进行调度。比如,1号调度器只对奇数IP地址的包进行调度,而丢弃偶数IP地址的数据包;2号调度器只对偶数IP地址的包进行调度,而丢弃奇数IP地址的数据包。(2)根据客户端IP地址和源端口号进行调度。比如对源IP地址和源端口号进行哈希运算,产生一个值。然后根据它们的奇偶性进行分流。第一种方式可以适用于任何网络服务。筛包的过程可以在L本文档来自技高网...

【技术保护点】
一种具有TCP连接容错功能的负载平衡调度器,包括一套由CPU、主板、内存、持久性存储设备及其外围设备构成的计算机系统,其特征在于,本调度器还包括一套具有与所述计算机系统相同配置的计算机系统,二套计算机系统置于同一背板上,构成由二台调度机组成的调度器。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:金海谭光陈祖彬韩宗芬李昕程璞峰庞丽萍李胜利
申请(专利权)人:武汉拓锐计算机系统有限责任公司华中科技大学
类型:发明
国别省市:83[中国|武汉]

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

1
相关领域技术
  • 暂无相关专利