一种网络服务器宕机自修复的方法及系统技术方案

技术编号:7180191 阅读:393 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种网络服务器宕机自修复的方法及系统,该方法包括步骤:a.服务器以正常模式启动;b.服务器开始提供服务,并将数据存储到共享内存,同时监控服务是否正常,如果正常,继续监控,否则进行步骤c;c.调用重启脚本,服务器以修复模式重启;d.服务器从共享内存加载数据,进行数据修复;e.修复完成后,返回步骤b。采用本方法或系统,无需为服务器配置备用机,成本低,当服务器从共享内存里加载数据进行修复时,修复速度非常快,在极短的时间内就能完成,进而恢复服务,此外,当服务需要迁移到其他服务器时,可提供数据复制的可靠底层保证,通过读取共享内存的数据,将数据传输到其他服务器,启动相同服务,即可完成工作迁移。

【技术实现步骤摘要】

本专利技术涉及网络服务器宕机的数据处理技术,尤其涉及一种网络服务器宕机自修复的方法及系统
技术介绍
随着网络技术的发展,互联网用户的数量呈几何倍数的爆炸式增长,各种即时通讯工具、网络游戏平台都面临着百万甚至千万级以上负载量的考验,并且还将伴随日益频繁的网络攻击,在此状况下,网络服务器不可避免地会遇到宕机问题,在较早的时候,人们解决宕机的方法只是让故障服务器通过重新启动来恢复服务,而没有考虑到数据的丢失问题,这样造成的后果就是因数据丢失而回档,对于网游领域而言,后果带来的影响尤为严重数据回档意味着大量玩家的劳动成果毁于一旦,这对玩家的兴趣以及经营者的正面形象都是一个相当严重的打击。到了现阶段,为了避免数据丢失,人们通过启动两个服务器进行宕机切换,即一个为主服务器,另一个为备用服务器,当主服务器正常工作时,备用服务器不工作,且主服务器的数据将在备用服务器的磁盘上进行数据日志备份,这样当主服务器宕机时,备用服务器接管服务成为新的主服务器,并通过磁盘数据日志备份来实现数据修复,同时原主服务器重启后成为新的备用服务器。然而,对于如今分布式架构而言,由于服务器集群的规模越来越庞大,如果为每一个服务器都配备一个备用服务器,将极大地提高成本,而且,采用磁盘数据日志备份来修复数据其速度较慢,需要较长的时间才能完成修复,难以在短时间内恢复服务。因此,基于目前的现状,有必要为人们提供一种成本低、能快速恢复服务的网络服务器宕机自修复的方法及系统。
技术实现思路
针对现有技术的不足,本专利技术的目的旨在于提供一种网络服务器宕机自修复的方法及系统,其成本低,数据修复速度快,能快速恢复服务。为实现上述目的本专利技术采用如下技术方案一种网络服务器宕机自修复的方法,该方法包括如下步骤a.网络服务器以正常模式启动;b.网络服务器开始提供服务,并将数据存储到共享内存,同时监控服务是否正常,如果服务正常,继续监控,否则,进行步骤c ;c.确定网络服务器宕机,调用重启脚本,使网络服务器以修复模式重新启动;d.重启后的网络服务器从共享内存加载数据,进行数据修复;e.修复完成后,返回上述步骤b。作为一种优选方案,所述步骤b中,所述监控服务是否正常通过设置守护进程对服务进行监控来实现。作为一种优选方案,所述步骤b中,所述监控服务是否正常通过对服务的线程进行hook来实现。一种网络服务器宕机自修复的系统,该系统包括 正常启动装置,用于将网络服务器以正常模式启动;处理装置,用于控制网络服务器开始提供服务,并将数据存储到共享内存,同时监控服务是否正常,如果服务正常,继续监控,否则,运行重启装置;重启装置,用于确定网络服务器宕机,调用重启脚本,使网络服务器以修复模式重新启动;修复装置,用于控制重启后的网络服务器从共享内存加载数据,进行数据修复; 返回装置,用于在修复完成后控制处理装置运行。本专利技术所阐述的一种网络服务器宕机自修复的方法及系统,其有益效果在于采用本方法或系统,无需为服务器配置备用机,因而成本低,并且,由于数据存储在共享内存里,当因宕机而重启后的服务器从共享内存里加载数据进行修复时,修复速度非常快,在极短的时间内就能完成数据修复,进而恢复服务,此外,当服务需要迁移到其他服务器时,可提供数据复制的可靠底层保证,通过读取共享内存的数据,将数据传输到其他服务器,启动相同服务,即可完成工作迁移。附图说明图1是本专利技术一种网络服务器宕机自修复的方法的流程示意图。具体实施例方式下面结合附图与具体实施例来对本专利技术作进一步描述。请参照图1所示,其显示出了本专利技术一种网络服务器宕机自修复的方法的总体流程。在步骤(a)中,网络服务器以正常模式启动,正常模式启动的网络服务器不会从共享内存加载数据,从而尽可能快地为客户端提供服务。进行到步骤(b),网络服务器开始提供服务,并将数据存储到共享内存,同时监控服务是否正常,如果服务正常,继续监控,否则,进行步骤C,在此步骤中,监控服务是否正常可通过两种方式实现第一种是通过设置守护进程对服务进行监控来实现;第二种是通过对服务的线程进行hook来实现。这两种实现方式都属于比较成熟的现有技术,稳定性极高,当然,也可同时采用这两种方式,以达到更准确的监控效果。进行到步骤(C).当在上一步骤中监控到服务异常时,可确定网络服务器已经宕机,此时调用重启脚本,使网络服务器以修复模式重新启动。进行到步骤(d).以修复模式重启后的网络服务器从共享内存加载数据,进行数据修复,由于数据是存储在内存里,因此修复速度非常快。进行到步骤(e).完成数据修复后的网络服务器恢复服务,此时网络服务器又将按照步骤(b)中的方式运行。下面以网游服务器集群为例来对本方法进行进一步说明,为了提高安全性,现在的分布式服务器集群都采用业务分离的方式对服务器集群进行分层,每一层的服务器只处理本层相关的业务,在网游服务器集群中,第一层是接收数据层,该层中的服务器不进行数据处理,只负责接收客户端提交的数据及向客户端发送数据,第一层接收客户端提交的数据后会将数据向上提交给第二层的业务处理层,由第二层的服务器进行数据处理,如果还有其他第二层处理不了的业务,则由第二层将数据继续向上一层提交,直至处理完所有的业务,由于第二层的服务器涉及到数据处理,因而对服务器的性能要求较高,也比较容易发生宕机的现象,当本方法应用于第二层的服务器时,其工作过程是步骤1、第二层的服务器以正常模式启动,启动后服务器与共享内存建立联系;步骤2、第二层服务器开始提供服务,当第一层服务器提交数据到第二层后,第二层的服务器对接收到的数据进处理,并将数据保存到共享内存中,同时监控服务是否正常,如果服务正常,继续监控,如果异常,进行下一步;步骤3、根据上一步的监控结果确定该第二层服务器已经宕机,不能正常提供服务, 此时调用重启脚本,使该第二层服务器以修复模式重新启动;步骤4、以修复模式启动后的该第二层服务器从共享内存加载数据,进行数据场景修复;步骤5、修复完成后,该第二层服务器恢复服务,又按照步骤2的方式运行。当然,第一层服务器及其他的非第二层服务器都可采用上述的方法来应对宕机问题,不但成本低,而且宕机时数据修复速度快,能快速恢复服务,有利于避免玩家的信息数据发生回档,安全性好。需指出的是,以上以网游服务器集群为例只是为了便于理解本方法,事实上,本方法适用于所有领域的网络服务器集群,集群的规模越大,本方法的优点越明显。本专利技术还提供了一种网络服务器宕机自修复的系统,其包括正常启动装置,用于将网络服务器以正常模式启动;处理装置,用于控制网络服务器开始提供服务,并将数据存储到共享内存,同时监控服务是否正常,如果服务正常,继续监控,否则,运行重启装置;重启装置,用于确定网络服务器宕机,调用重启脚本,使网络服务器以修复模式重新启动;修复装置,用于控制重启后的网络服务器从共享内存加载数据,进行数据修复;返回装置,用于在修复完成后控制处理装置运行。本系统所采用的相关方法与上述网络服务器宕机自修复的方法的实施方式相同,在此不再重复。本专利技术的设计重点在于采用本方法或系统,无需为服务器配置备用机,因而成本低,并且,由于数据存储在共享内存里,当因宕机而重启后的服务器从共享内存里加载数据进行修复时,修复速度非常快,在极短的时间内就能完成数据修复,本文档来自技高网...

【技术保护点】
1.一种网络服务器宕机自修复的方法,其特征在于,该方法包括如下步骤:a.网络服务器以正常模式启动;b.网络服务器开始提供服务,并将数据存储到共享内存,同时监控服务是否正常,如果服务正常,继续监控,否则,进行步骤c;c.确定网络服务器宕机,调用重启脚本,使网络服务器以修复模式重新启动;d.重启后的网络服务器从共享内存加载数据,进行数据修复;e.修复完成后,返回上述步骤b。

【技术特征摘要】

【专利技术属性】
技术研发人员:丘亿昊邓超祁亨年
申请(专利权)人:东莞市正欣科技有限公司
类型:发明
国别省市:44

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

1