一种全分布式的集群网络服务器系统技术方案

技术编号:3530130 阅读:194 留言:0更新日期:2012-04-11 18:40
一种全分布式的集群网络服务器系统,前端的共享介质型集线器作为集群的单一入口点,客户通过该集线器把其请求广播到后端集群内的节点上;集群内各节点均包括同构网卡、包过滤模块、延时均衡模块和TCP栈处理模块;同构网卡用于将集群内部各节点的网卡配置成相同的IP地址和MAC地址;包过滤模块用于有选择的过滤掉同构网卡传来的数据包;延时均衡模块负责截取所有的请求包,并对请求包进行延迟,延迟时间结束后,延时均衡模块将请求包提交TCP栈处理模块处理;TCP栈处理模块发回的所有数据包通过真实网卡发送到网关机送至客户端。本发明专利技术具有如下技术效果:1)无单一失效点;2)无瓶颈效应;3)适用于基于动态协议的服务;4)细粒度的负载均衡。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术属于计算机应用领域,具体涉及一种全分布式的集群网络服务器系统。为了解决服务器的性能问题,许多公司和研究机构提出了可扩展的集群系统。这些集群系统通过一个前端机将外来的网络服务请求调往一组后端的真实服务器。调度与负载均衡技术可在链路层、网络层或应用层等多处实现。例如,EDDIE,Reverse-Proxy和pWEB都使用基于应用层调度的方法来建立一个可伸缩的WEB集群服务器。它们将到达的HTTP请求转发到不同的Web服务器,取得结果后,再返回给用户。IBM的TCP Router和Network Dispatcher都是实现在网络层的调度器。Linux Virtual Server是一个基于Linux操作系统的集群调度软件。它通过扩展IP协议栈,对不同的网络服务提供了多种请求调度方案。除了软件实现,一些公司也提出了硬件解决方案,比如Cisco公司的LocalDirector。它通过硬件进行集群服务器进出口包的重写,并取得了较高的性能。据称,它能同时调度数十万个TCP连接请求,但是这种专门的硬件产品价格非常昂贵,以致一般用户难以承受。以上方案都采用了集中式调度方式,它虽然解决了集群的整体性能瓶颈问题,但都存在共同的缺点,即很少考虑这种集中式调度中前端机的可靠性。作为整个集群服务器的单一入口点,前端机一旦出现故障,整个服务器将陷入瘫痪,从而可能造成巨大的经济损失。一个简单的解决办法是为该前端机专设一台备份机,当前端机出现故障时,备份机取代其IP地址而继续工作。这种容错处理方式的一个重要不足之处在于已建立的TCP连接会全部丢失,这对用户会产生不便甚至带来损失。另外,上述各种基于集中式调度的方案都是以连接作为负载衡量单位,所以不能达到理想的负载均衡效果。尤其在各节点提供多种不同服务的异构集群中,各种服务消耗不同的网络资源,因此用连接数来权衡各节点的负载将变得极不合理。综上所述,传统基于集中式调度的集群服务器存在如下缺点1、前端机成为单一失效点;2、以连接为负载权衡单位将导致负载定位不精确;3、由于同一IP定向到同一节点上,所以对动态端口处理不妥;4、在应用日益广泛的端对端的加密应用中,前端机将成为瓶颈点,从而导致集群针对加密应用的可扩展性较差。为实现上述专利技术目的,一种全分布式的集群网络服务器系统,其特征在于前端的共享介质型集线器作为集群的单一入口点,客户通过该集线器把其请求广播到后端集群内的节点上;集群内各节点均包括同构网卡、包过滤模块、延时均衡模块和TCP栈处理模块;同构网卡用于将集群内部各节点的网卡配置成相同的IP地址和MAC地址; 包过滤模块用于有选择的过滤掉同构网卡传来的数据包;延时均衡模块负责截取所有的请求包,并对请求包进行延迟,延迟时间结束后,延时均衡模块将请求包提交TCP栈处理模块处理;TCP栈处理模块发回的所有数据包通过真实网卡发送到网关机送至客户端。所述包过滤模块包括包处理模块、PASS表、定时触发器和规则管理模块;所述包处理模块驻留于链路层,负责在收到同构网卡传来的数据包时,将查询PASS表的规则并对这些包的协议号、源IP地址、目标IP地址、源端口、目标端口进行匹配,并完成相应的处理动作,该相应动作分三类丢弃此包、提交延时均衡模块中的包截取子模块和提交内核TCP/IP协议栈处理模块;所述PASS表为一个用元组描述的规则集,负责定义当前包处理模块允许通过的数据包;所述定时触发器负责每隔一段时间触发规则管理模块对PASS表进行维护操作;所述规则管理模块负责更新、删除PASS表中的规则项。所述延时均衡模块包括定时触发器、负载统计模块、延时计算模块、包截取模块和包队列表;所述定时触发器负责触发负载统计模块对系统资源进行收集,同时触发包截取模块获取在包队列表中挂起的数据包;所述负载统计模块负责收集各种系统资源的利用情况,它与系统各设备通信并收集各设备的资源利用率,并把这些利用率作为矢量传给延时计算模块;所述延时计算模块根据负载统计模块传来的负载矢量计算延时值;所述包截取模块接收从包处理模块传来的SYN包,并根据延时计算模块传来的延时值把该SYN包挂起到包队列中;另外,当收到定时触发器发来的触发信号时,它将遍历包队列表,判断每个包的延迟时间是否完毕,如果完毕则取回该数据报并传送给TCP栈处理模块; 所述包队列表用于存放被延迟的SYN包,每个包都携带一个延时变量,当延迟时间结束后就被包截取模块重新取回。本专利技术具有以下技术特点同构网卡技术实现全局的单一MAC映像,即每个节点中接收服务请求的网卡都能绑定一个统一的虚拟IP地址和虚拟MAC地址,因此能保证每个节点都将能接收前端集线器转发的服务请求包;基于延时竞争的分布式均衡技术,该技术可以根据本地的负载(CPU负载、内存占用情况、磁盘I/O、网络流量等)对所有的连接请求进行一定时间的延时,负载越重,延时越长;有状态的链路层包过滤技术,能记忆属于同一连接的数据流,允许那些已建立连接的数据包通过,并能阻挡连接并未建立的数据报通过,以避免一些没有意义的数据报向上层协议栈流动。基于以上技术特点,本专利技术具有如下技术效果1)无单一失效点由于本专利技术提出的集群服务器系统采用全分布式的架构,所以当其中的一台节点出现故障时,其余几台节点将能继续接管工作,并能够自动地把服务请求重新分配到负载最轻的节点上。2)无瓶颈效应在集中式调度方式中,当集群提供加密应用时,前端机需要频繁的对进出的包进行加解密后再调度到后端节点上,因此会造成前端机成为瓶颈点而使系统的可扩展性变差。而本专利技术的分布式网络调度方案采用集线器来代替集中式调度中的前端调度机,从而消除了这一瓶颈效应。3)适用于基于动态协议的服务现在许多服务都采用动态协议(如FTP、RTSP),由于服务过程中服务节点会动态的临时开放一些新的数据端口,在基于集中式的调度中,前端机需要知道这些临时端口并开放它们,所以需要服务节点与前端机频繁通信,而本专利技术的分布式网络调度中服务节点临时开放端口时只需要更新本机包过滤模块的PASS表,从而减少了网络开销。4)细粒度的负载均衡现有的集中式调度方案中以连接为负载权衡单位,因此会造成各服务节点的负载不均衡,而本专利技术采用的是基于负载的调度方式,能精确定位负载最轻的节点,达到极佳的负载均衡效果,所以能较好的应用于异构集群系统。各个节点的工作流程如图2所示,所有节点的同构网卡都将接收从集线器广播的请求包,并提交给驻留在链路层的包过滤模块,该模块将允许所有的请求包和那些已建立连接的数据包通过,并拒绝掉那些还未建立连接的数据包。包过滤模块把请求包提交给上层IP协议栈,驻留在TCP层的延时均衡模块将截取所有的请求包,并根据该模块中的负载统计子模块采集的负载信息对请求包进行一定的时间延迟,延迟时间与本机的负载情况成正比(负载越重,延时越长),当延迟时间结束后,延时均衡模块将请求包提交TCP栈处理模块处理,根据TCP协议栈的处理流程发回给客户端一个请求确认包(SynAck包)。因此负载最轻的节点发出的请求确认包最早,最后所有节点的请求确认包将依次到达客户端,即负载轻的节点的请求确认包最先到达,而负载重的节点的请求确认包最后到达。TCP栈处理模块发回的所有数据包都通过真实网卡发送到网关机。如附图说本文档来自技高网...

【技术保护点】
一种全分布式的集群网络服务器系统,其特征在于:前端的共享介质型集线器作为集群的单一入口点,客户通过该集线器把其请求广播到后端集群内的节点上;集群内各节点均包括同构网卡、包过滤模块、延时均衡模块和TCP栈处理模块;同构网卡用于将集 群内部各节点的网卡配置成相同的IP地址和MAC地址;包过滤模块用于有选择的过滤掉同构网卡传来的数据包;延时均衡模块负责截取所有的请求包,并对请求包进行延迟,延迟时间结束后,延时均衡模块将请求包提交TCP栈处理模块处理;TCP栈处 理模块发回的所有数据包通过真实网卡发送到网关机送至客户端。

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

【专利技术属性】
技术研发人员:金海鲜丰谭光程斌韩宗芬李胜利庞丽萍
申请(专利权)人:华中科技大学
类型:发明
国别省市:83[中国|武汉]

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

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