服务器的心跳的监控方法、装置及系统的制作方法

文档序号:7782758阅读:213来源:国知局
服务器的心跳的监控方法、装置及系统的制作方法
【专利摘要】本申请公开了一种服务器的心跳的监控方法、装置及系统,不同的心跳服务器相互记录所运行的状态,藉以避免任一心跳服务器毁损时,而其他心跳服务器无法立即报警的问题。所述系统包括本地端与至少一心跳服务器。心跳服务器根据所接收的心跳要求产生相应的回应讯息,所述回应讯息包括所述心跳服务器的运行状态;本地端具有环状队列,并建立有队列指针指向心跳服务器,发送所述心跳要求至所述指针所指向的所述心跳服务器,并接收对应的心跳服务器的所述回应讯息;若所述本地端接获所述回应讯息,所述本地端将所接获的所述回应讯息加入至新的所述心跳要求中并移动所述环状队列的所述指针至另一心跳服务器。
【专利说明】服务器的心跳的监控方法、装置及系统
【技术领域】
[0001]本申请涉及监控服务器存活的技术,具体涉及一种服务器的心跳的监控方法及系统。
【背景技术】
[0002]随着网络流量的快速成长,许多过去不容易实现的服务也可以被轻易的完成。例如:宽带的上传多媒体文件(multimedia file)。由于海量的传输仍会影响服务器的负荷量。因此在已知的多媒体服务器也会具备带宽管理(Bandwidth Manager)的功能。服务器可以透过带宽分布或缓存等方式减轻同时间的资料传输量。但是服务器在过量的资料传输时或其他状况发生时有可能会发生异常。所以为能监控服务器的存活状态,有人提出了心跳服务器的应用。
[0003]心跳服务器电连接于所述多媒体服务器。心跳服务器会定时的向多媒体服务器发出确认要求。当多媒体服务器存活时,则多媒体服务器会返回回应讯息给心跳服务器。所以当心跳服务器未接到多媒体服务器的回应讯息,则代表多媒体服务器可能已经死机。此时,心跳服务器会向报警服务器发出报警信息,藉以提醒网管人员已经有服务器发生异常现象。。以往的心跳服务器只能定时的发往服务器。但心跳服务器也发生死机的情况,则没有任何方式可以立即得知。

【发明内容】

[0004]本申请所要解决的技术问题在于提供一种服务器的心跳的监控方法及系统,不同的心跳服务器相互记录所运行的状态,藉以避免任一心跳服务器毁损时,而其他心跳服务器无法立即报警的问题。
[0005]为了解决上述问题,本申请揭示了一种服务器的心跳的监控方法包括以下步骤:建立环状队列,并建立队列的指针指向第一心跳服务器或第二心跳服务器;每经过预设期间后,由本地端根据所述环状队列的指针所指向的所述第一心跳服务器或所述第二心跳服务器发出心跳要求,且所述心跳要求中记录所述本地端的存活资讯;接收所述第一心跳服务器或所述第二心跳服务器接获所述心跳要求时反馈的回应讯息,所述回应讯息包括所述第一心跳服务器或所述第二心跳服务器的运行状态资讯;若所述本地端接获所述回应讯息,所述本地端移动所述环状队列的所述指针至另一心跳服务器,并所述本地端把所述运行状态资讯加入新的所述心跳要求中;若所述本地端未接获所述回应讯息,所述本地端产生健康资讯并移动所述环状队列的所述指针至另一心跳服务器。
[0006]进一步包括所述本地端把时间戳加入所述心跳要求中。
[0007]进一步包括所述第一心跳服务器或所述第二心跳服务器将时间戳加入所述回应讯息中。
[0008]进一步包括所述第一心跳服务器或所述第二心跳服务器接收具有所述健康资讯的所述心跳要求并记录所述健康资讯。[0009]为了解决上述问题,本申请揭示了一种服务器的心跳的监控装置包括:环状队列模块,用于建立环状队列,并建立队列的指针指向第一心跳服务器或第二心跳服务器;上传模块,用于每经过预设期间后,向所述环状队列的指针所指向的所述第一心跳服务器或所述第二心跳服务器发出心跳要求,且所述心跳要求中记录所述本地端的存活资讯;接收模块,用于接收所述第一心跳服务器或所述第二心跳服务器在接获所述心跳要求时,反馈的包含运行状态资讯的回应讯息;生成模块,用于若所述接收模块接获所述回应讯息,把所述运行状态资讯加入新的所述心跳要求中;以及,若所述接收模块未接获所述回应讯息,产生健康资讯,加入新的所述心跳要求中;所述环状队列模块,还用于移动所述环状队列的所述指针至另一心跳服务器。
[0010]进一步包括所述第一心跳服务器或所述第二心跳服务器将时间戳加入所述回应讯息中。
[0011]进一步包括所述上传模块还用于,当所述接收模块经过预设期间后,未接获所述回应讯息,则记录所述第一心跳服务器或所述第二心跳服务器的编号。
[0012]为了解决上述问题,本申请揭示了一种监控服务器心跳的处理系统包括:第一心跳服务器,根据所接收的心跳要求产生相应的回应讯息,所述回应讯息包括所述第一心跳服务器的运行状态;第二心跳服务器,根据所接收的所述心跳要求产生相应的回应讯息,所述回应讯息包括所述第二心跳服务器的所述运行状态;本地端,具有环状队列,并建立有队列指针指向所述第一心跳服务器或所述第二心跳服务器,所述本地端网路连接于所述第一心跳服务器与所述第二心跳服务器,所述本地端发送所述心跳要求至所述指针所指向的所述第一心跳服务器或所述第二心跳服务器,并接收对应的所述第一心跳服务器或所述第二心跳服务器的所述回应讯息;其中,若所述本地端接获所述回应讯息,所述本地端将所接获的所述回应讯息加入至新的所述心跳要求中并移动所述环状队列的所述指针至另一心跳服务器。
[0013]进一步包括所述第一心跳服务器或所述第二心跳服务器接获根据所接收的心跳要求产生相应的回应讯息进一步包括:所述第一心跳服务器或所述第二心跳服务器将时间戳加入所述回应讯息中。
[0014]与现有技术相比,本申请可以获得包括以下技术效果:
[0015]I)本申请利用多个心跳服务器轮流的监控本地端的存活,由于每次发送心跳要求的心跳服务器都有所不同,因此可以提高了对心跳要求的可信度。
[0016]2)相较于现有技术的单一心跳服务器,本申请的多个心跳服务器还可以相互的监控,提高了系统监控的稳定性。
[0017]当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
【专利附图】

【附图说明】
[0018]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0019]图1是本申请实施例的细部架构示意图。
[0020]图2是本申请实施例的运作流程示意图。
[0021]图3A是本申请实施例的发送心跳要求的示意图。[0022]图3B是本申请实施例的接收回应讯息示意图。
[0023]图3C是本申请实施例的发送具有运行状态资讯的示意图。
[0024]图4是本申请实施例装置结构示意图。
【具体实施方式】
[0025]以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
[0026]如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
[0027]本申请的监控系统用以监控各心跳服务器的存活状态,请参考第I图。本申请的架构包括:本地端110与多台心跳服务器120。
[0028]第一心跳服务器121,根据所接收的心跳要求产生相应的回应讯息。
[0029]第二心跳服务器122,根据所接收的所述心跳要求产生相应的所述回应讯息。
[0030]本地端110,具有环状队列,并由一指针指向第一心跳服务器121或第二心跳服务器122,本地端110网路连接于第一心跳服务器121与第二心跳服务器122,本地端110发送所述心跳要求至指针所指的第一心跳服务器121或第二心跳服务器122,并接收对应的第一心跳服务器121或第二心跳服务器122的回应讯息。
[0031]其中,若本地端110未接获回应讯息,本地端110移动环状队列的指针至另一心跳服务器,若本地端110接获回应讯息,本地端110将所接获的回应讯息加入至新的心跳要求中并移动环状队列的指针至第一心跳服务器121或第二心跳服务器122。
[0032]具体来说,本地端110由以下元件所构成:至少一个本地目录111、上传模块112、扫描模块113、控制模块114、队列监视模块115、工作线程116与分散式文件装置117。在本申请中为能简单且清楚的说明整体的运作方式,因此设置第一心跳服务器121与第二心跳服务器122。但实际上心跳服务器120的数量可以根据服务器的运行能力、带宽或安全性等因素所决定。
[0033]上传模块112侦测本地目录111所异动的数据文件的文件种类。广义而言所述文件种类可能是音频文件、影片文件或文字文件等等。进一步而言,音频文件又可能细分为mp3、m4a、AAC或ARM等;影片文件又可细分为mov、flv、m4v、mkv或mp4等。
[0034]若控制模块114中未存在数据文件的种类的内部队列1141时,上传模块会驱动控制模块114生成新的内部队列1141。尔后,若有同一种类的数据文件被载入,上传模块112会将新载入的数据文件放入对应的内部队列1141中。[0035]控制模块114连接于扫描模块113、上传模块112、队列监视模块115、第一心跳服务器121与第二心跳服务器122。每一个本地目录111可以存放各自数据文件。例如:视频文件可以被存放置视频本地目录,而广告文件则放至于广告本地目录中。一般而言,本地目录111会定时的接收客户端所传送过来的数据文件。扫描模块113监视本地目录111中的文件是否有所异动。所述文件异动指的是数据的新增、搬移、修改或删除。当本地目录111中的文件有所异动时,则上传模块112将会把异动的数据文件在服务器中的路径传递至控制模块114。
[0036]控制模块114会根据所接收到的文件路径依次分类并产生各自对应的内部队列,且不同的内部队列会指派不同的队列监视模块115来进行处理。在第I图中是以第一内部队列、第二内部队列与第三内部队列作为示意。每一个队列监视模块115会记录所属的文件的切分资讯。所述的切分资讯指的是文件被上传至本地目录111时,文件长度也会随之异动。在数据文件切分之前,队列监视模块115先从第一个内部队列取出对头元素(队列的第一个元素),然后才进行切分。而内部队列的数据取出方式是依照先进先出(First InFirst Out, FIFO)的方式所实现。
[0037]在队列监视模块115中可以设置一环状队列1151。环状队列记录所有连接的心跳服务器。环状队列1151中有设置一指针(point),指针用以指向欲发送心跳要求的心跳服务器。
[0038]队列监视模块115对文件进行等长的切分。在完成文件的切分后,每一个文件切分的片段则定义为切分片段(slice)。队列监视模块115侦测所属的内部队列的堆叠数量超过上限时,队列监视模块115会向第一心跳服务器121与第二心跳服务器122发出报警信息。
[0039]而切分片段的数量是可以根据本地端110的性能所决定。对于切分时所记录的相关资讯则称为切分资讯。例如,切分时的每一个切分长度与文件位置的在磁盘中的偏移量(offset)。此外,扫描模块113发现本地目录111中的数据文件被删除时,扫描模块113会把控制模块114中的对应内部队列予以删除。
[0040]接着,不同的切分片段会被指派各自对应的工作线程116,作为读取本地目录111的数据文件。工作线程116的实现可以由不同的程序语言所实现。在本申请中并不局限程序语言的种类,例如,JAVA语言或ASP语言。实际上,队列监视模块115是对本地目录111的数据文件进行切分的估算,用以得到所述数据文件的每一个应所述要被切分的位置。而实际上进行文件切分处理的对象是由工作线程116所实现。工作线程116接获切分片段后会根据切分片段的长度,取得所述工作线程116所属的部分数据文件。工作线程116在把所述部分的数据文件写入分散式文件装置117中。
[0041]但工作线程116在写入的过程中发生错误时。工作线程116会发送报警信息给第一心跳服务器121与第二心跳服务器122。所述工作线程116同时间也会通知其他工作线程116,要求其他工作线程116停止对分散式文件装置117的写入处理,藉以避免分散式文件装置117中的数据完整性。
[0042]本申请根据所述的架构更提出以下的处理流程。本申请的轮询心跳的监控方法包括以下步骤,并请配合第2图:
[0043]步骤S210:在本地端中建立环状队列,并由指针指向第一心跳服务器或第二心跳服务器;
[0044]步骤S220:每经过一预设期间后,由本地端根据环状队列所指向的第一心跳服务器或第二心跳服务器发出心跳要求,且心跳要求中记录本地端的存活资讯;
[0045]步骤S230:当第一心跳服务器或第二心跳服务器接获心跳要求时,第一心跳服务器或第二心跳服务器把运行状态资讯加入回应讯息,并把回应讯息发送至本地端;
[0046]步骤S240:若本地端未接获回应讯息,本地端产生健康资讯并移动环状队列的指针至另一心跳服务器;以及
[0047]步骤S250:若本地端接获回应讯息,本地端移动环状队列的指针至另一心跳服务器,本地端把运行状态资讯加入新的心跳要求中,并把新的心跳要求传送给下一个心跳服务器。
[0048]首先,在本地端110中会建立一个环状队列,在所述环状队列中有设置一指针(point)。所述的指针会依序的指向环状队列中的第一心跳服务器121或第二心跳服务器122。当扫描模块113侦测本地目录111中有文件异动时,则上传模块112就会开始运行相关的处理,并请配合第3A?3C图所示。
[0049]而在文件上传、切分的过程中,本地端110在每次经过一预设期间时,本地端110会根据指针现正指向的心跳服务器并对所指的心跳服务器发出心跳要求。在发送心跳要求时,本地端110会把时间戳(Time Stamp)或其他可作为识别的资讯作为存活资讯加入心跳要求中,并把心跳要求发给对应的心跳服务器120。
[0050]例如:环状队列1151的指针指向第一心跳服务器121 (第3A图中的环状队列1151中以虚线框表示目前指针所指向的心跳服务器)。当本地目录111中的文件开始进行上传与切分时,控制模块114首先会发送心跳要求给第一心跳服务器121。若是第一心跳服务器121正确接收到心跳要求后,第一心跳服务器121会根据心跳要求与所记录的存活资讯产生回应讯息,如第3B图所示。第一心跳服务器121在把回应讯息发还给控制模块114。
[0051]接着,环状队列1151的指针就会移向次一个心跳服务器120。在此一例子中,指针会由第一心跳服务器121指向第二心跳服务器122。控制模块114在正常的上传与切分处理后,会把指针从第二心跳服务器122移向第一心跳服务器121。而本地端110对第二心跳服务器122发送心跳要求前,本地端110还会将第一心跳服务器121所返回的运行状态资讯加入心跳要求中,如第3C图所示。
[0052]同理,控制模块114在每经过预设期间后,若控制模块114都有接收回应讯息,则指针将会依序的移向次一个心跳服务器120。如果有设置第三心跳服务器123时,则指针会从第二心跳服务器122指向第三心跳服务器123。
[0053]当本地端110经过预设期间后,本地端110未接获回应讯息,则本地端110纪录心跳服务器的编号。本地端110的环状队列的指针就会移向次一个心跳服务器。而本地端110对发给下一个心跳服务器的心跳要求中更加入一个健康资讯。在健康资讯中可以记录对心跳服务器的通联时间或未回报的时间。本地端110发给下一个心跳服务器的心跳要求中会加入所述的健康资讯。
[0054]例如:本地端110向第一心跳服务器121发出心跳要求。在经过预设期间后,本地端110仍未接获第一心跳服务器121所发出的回应讯息,本地端110会产生对第一心跳服务器121的健康资讯。并且本地端110会把指针指向第二心跳服务器122。接着,本地端110会向第二心跳服务器122发送心跳要求。
[0055]如果设置有第三心跳服务器123,且第二心跳服务器122亦发生毁损无法对本地端110回复回应讯息。本地端110会把第一心跳服务器121与第二心跳服务器122的健康资讯加入新的心跳信息中,并发送给第三心跳服务器123。
[0056]本申请的另一实施例还公开了一种服务器的心跳的监控装置,应用于本地端,所述装置400包括:环状队列模块401、上传模块402、接收模块403、生成模块404。
[0057]环状队列模块401,用于建立环状队列,并建立队列的指针指向第一心跳服务器121或第二心跳服务器122 ;
[0058]上传模块402,用于每经过预设期间后,向所述环状队列的指针所指向的所述第一心跳服务器121或所述第二心跳服务器122发出心跳要求,且所述心跳要求中记录所述本地端的存活资讯;
[0059]接收模块403,用于接收所述第一心跳服务器121或所述第二心跳服务器122在接获所述心跳要求时,反馈的包含运行状态资讯的回应讯息;
[0060]生成模块404,用于若所述接收模块403接获所述回应讯息,把所述运行状态资讯加入新的所述心跳要求中;以及,若所述接收模块未接获所述回应讯息,产生健康资讯,加入新的所述心跳要求中;
[0061]所述环状队列模块,还用于移动所述环状队列的所述指针至另一心跳服务器。
[0062]所述上传模块还用于,把时间戳加入所述心跳要求中。所述上传模块还用于,当所述接收模块经过预设期间后,未接获所述回应讯息,则记录所述第一心跳服务器121或所述第二心跳服务器122的编号。
[0063]本申请除了前述的软件层面的实现方式外,对于所述上传模块112、扫描模块113、控制模块114、队列监视模块115、工作线程116可以透过实体的上传模块402向第一心跳服务器121或第二心跳服务器122发出心跳要求。同理,接收模块403也可以接收来自于第一心跳服务器121或第二心跳服务器122的回应讯息。
[0064]还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者系统中还存在另外的相同要素。
[0065]本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0066]以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
【权利要求】
1.一种服务器的心跳的监控方法,其特征在于,包括: 建立环状队列,并建立队列的指针指向第一心跳服务器或第二心跳服务器; 每经过预设期间后,由本地端根据所述环状队列的指针所指向的所述第一心跳服务器或所述第二心跳服务器发出心跳要求,且所述心跳要求中记录所述本地端的存活资讯; 接收所述第一心跳服务器或所述第二心跳服务器接获所述心跳要求时反馈的回应讯息,所述回应讯息包括所述第一心跳服务器或所述第二心跳服务器的运行状态资讯; 若所述本地端接获所述回应讯息,所述本地端移动所述环状队列的所述指针至另一心跳服务器,并所述本地端把所述运行状态资讯加入新的所述心跳要求中;以及 若所述本地端未接获所述回应讯息,所述本地端产生健康资讯并移动所述环状队列的所述指针至另一心跳服 务器。
2.如权利要求1所述的服务器的心跳的监控方法,其特征在于,发送所述心跳要求的步骤进一步包括:所述本地端把一时间戳加入所述心跳要求中。
3.如权利要求2所述的服务器的心跳的监控方法,其特征在于,所述第一心跳服务器或所述第二心跳服务器接获所述心跳要求时反馈的回应讯息进一步包括:所述第一心跳服务器或所述第二心跳服务器将时间戳加入所述回应讯息中。
4.如权利要求3所述的服务器的心跳的监控方法,其特征在于,向所述本地端发送所述回应讯息的步骤,进一步包括:当所述本地端经过预设期间后,所述本地端未接获所述回应讯息,则所述本地端记录所述第一心跳服务器或所述第二心跳服务器的编号。
5.如权利要求1所述服务器的心跳的监控方法,其特征在于:所述第一心跳服务器或所述第二心跳服务器接收具有所述健康资讯的所述心跳要求并记录所述健康资讯。
6.一种服务器的心跳的监控装置,应用于本地端,其特征在于,所述装置包括: 环状队列模块,用于建立环状队列,并建立队列的指针指向第一心跳服务器或第二心跳服务器; 上传模块,用于每经过预设期间后,向所述环状队列的指针所指向的所述第一心跳服务器或所述第二心跳服务器发出心跳要求,且所述心跳要求中记录所述本地端的存活资讯; 接收模块,用于接收所述第一心跳服务器或所述第二心跳服务器在接获所述心跳要求时,反馈的包含运行状态资讯的回应讯息; 生成模块,用于若所述接收模块接获所述回应讯息,把所述运行状态资讯加入新的所述心跳要求中;以及,若所述接收模块未接获所述回应讯息,产生健康资讯,加入新的所述心跳要求中; 所述环状队列模块,还用于移动所述环状队列的所述指针至另一心跳服务器。
7.如权利要求6所述监控服务器的心跳监控装置,其特征在于,所述上传模块还用于,把一时间戳加入所述心跳要求中。
8.如权利要求7所述监控服务器的心跳监控装置,其特征在于,所述上传模块还用于,当所述接收模块经过预设期间后,未接获所述回应讯息,则记录所述第一心跳服务器或所述第二心跳服务器的编号。
9.一种监控服务器心跳的处理系统,其特征在于,包括: 第一心跳服务器,根据所接收的心跳要求产生相应的回应讯息,所述回应讯息包括所述第一心跳服务器的运行状态; 第二心跳服务器,根据所接收的所述心跳要求产生相应的回应讯息,所述回应讯息包括所述第二心跳服务器的所述运行状态;以及 本地端,具有环状队列,并建立有队列指针指向所述第一心跳服务器或所述第二心跳服务器,所述本地端网路连接于所述第一心跳服务器与所述第二心跳服务器,所述本地端发送所述心跳要求至所述指针所指向的所述第一心跳服务器或所述第二心跳服务器,并接收对应的所述第一心跳服务器或所述第二心跳服务器的所述回应讯息; 其中,若所述本地端接获所述回应讯息,所述本地端将所接获的所述回应讯息加入至新的所述心跳要求中并移动所述环状队列的所述指针至另一心跳服务器。
10.如权利要求9所述的监控服务器心跳的处理系统,其特征在于,所述第一心跳服务器或所述第二心跳服务器接获根据所接收的心跳要求产生相应的回应讯息进一步包括:所述第一心跳服务器或所述第二心跳`服务器将时间戳加入所述回应讯息中。
【文档编号】H04L29/08GK103701667SQ201310741506
【公开日】2014年4月2日 申请日期:2013年12月27日 优先权日:2013年12月27日
【发明者】于凤东, 张磊, 马一鸣 申请人:乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1