一种日志收集方法及系统的制作方法

文档序号:7856338阅读:149来源:国知局
专利名称:一种日志收集方法及系统的制作方法
技术领域
本发明涉及互联网及内容分发网络(Contect Delivery Network,Q)N)领域,尤其涉及ー种日志收集方法及系统。
背景技术
Web2. 0是ー个架构在知识上的网络环境,人与人之间交互而产生出的内容,经由在后台Web服务器(上传服务器)产生,在Web2. 0环境中发布,并且被管理和使用。目前Web2. 0具有代表性的服务如下博客、维客(wiki)、社区化网络服务(Social NetworkingServices, SNS,)、微博等。为了满足上述大容量数据的高效分发,⑶N网络随之产生。⑶N为Internet中增加的ー层新网络架构,⑶N网络将网站的内容发布到最接近用户的网络〃 边缘〃,使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户网站的响应速度。Web2. 0更注重用户之间的交互和体验。例如一条微博发表后,通过被不断地转发、评论,有可能会产生千兆字节(Gigabyte,GB)的日志数据,这无疑给⑶N架构中日志收集系统带来新的挑战。现有⑶N架构中的日志收集方法如图I所示,Web服务器在响应客户端(网民)的服务请求并产生海量日志数据之后,根据就近原则或者相同因特网服务供应商(InternetService Provider, ISP)原则,选择一个待上传日志的节点收集服务器,并将产生的所述日志数据汇总到所选择的节点收集服务器,该节点收集服务器通过某种传输协议,如文件传输协议(File Transfer Protocol, FTP)、超文本传送协议(HyperText TransportProtocol, HTTP)等,将来自Web服务器的日志数据汇总到中央收集服务器。现有⑶N架构中的日志收集方法存在以下问题Web服务器选择节点收集服务器的方式没有考虑节点收集服务器的日志传输链路情况(负载使用率或磁盘空间使用率等情况),日志在上传过程中,有可能待上传日志的节点收集服务器的负载太重或者磁盘空间占用量太大,而未上传日志的某些节点收集服务器的负载太轻或者磁盘空间占用量较小,形成多个节点收集服务器的负载分部不均匀,或者磁盘空间分部不均匀。即使日志成功上传到中央收集服务器,日志传输过程中使用的链路质量较差,节点收集服务器的响应速度较慢,丢包率高,日志收集效率较低。另外,现有技术当Web服务器选择的节点收集服务器已经接收到该Web服务器汇总上来的日志,但由于硬件故障,如自身CPU跑满或者没有足够的磁盘空间、机房网络中断,或者电源断电等情况,出现死机现象,日志无法顺利上传到中央收集服务器。但是Web服务器不知道日志未上传成功,不再上传已经上传过的日志。中央收集服务器无法接收到该部分日志,无法保障日志收集的完整性。

发明内容
本发明实施例提供ー种日志收集方法及系统,用以提高日志收集效率。
本发明实施例提供的ー种日志收集方法,包括上传服务器接收中央控制器发送的携帯至少ー个节点收集服务器的地址信息的日志上传通知消息,并保存接收到的每个节点收集服务器的地址信息;上传服务器从保存的节点收集服务器的地址信息中选定ー个待接收日志的节点收集服务器的地址信息;上传服务器根据所述选定的地址信息,将本地磁盘存储的日志发送给节点收集服务器;节点收集服务器将来自上传服务器的日志汇总到中央收集服务器。本发明实施例提供的一种日志收集控制方法,包括中央控制器接收上传服务器发送的日志上传请求消息,该日志上传请求消息携帯 发送该日志上传请求消息的上传服务器的地址信息以及待上传日志的信息;中央控制器根据所述上传服务器的地址信息、待上传日志的信息,以及预先存储的节点收集服务器对应的链路质量信息,从预先存储的多个节点收集服务器的地址信息中,选定至少ー个接收所述待上传日志的节点收集服务器的地址信息;中央控制器根据所述上传服务器的地址信息,将所述选定的待上传日志的节点收 集服务器的地址信息发送给所述上传服务器。本发明实施例提供的ー种日志收集系统,包括上传服务器、中央控制器、节点收集服务器,以及中央收集服务器;所述上传服务器,用于接收中央控制器发送的携帯至少ー个节点收集服务器的地址信息的日志上传通知消息,并保存接收到的每个节点收集服务器的地址信息;以及从保存的节点收集服务器的地址信息中选定ー个待接收日志的节点收集服务器的地址信息;以及根据所述选定的地址信息,将本地磁盘存储的日志发送给节点收集服务器;所述中央控制器,用于接收上传服务器发送的日志上传请求消息,该日志上传请求消息携帯发送该日志上传请求消息的上传服务器的地址信息以及待上传日志的信息;根据所述上传服务器的地址信息、待上传日志的信息,以及节点收集服务器上传的自身的服务质量、自身到其它节点收集服务器的链路质量,以及自身到中央收集服务器的链路质量,从预先存储的多个节点收集服务器的地址信息中,选定至少ー个接收所述待上传日志的节点收集服务器的地址信息;根据所述上传服务器的地址信息,将所述选定的待上传日志的节点收集服务器的地址信息发送给所述上传服务器;所述节点收集服务器,用于探测自身的服务质量、自身到其它节点收集服务器的链路质量,以及自身到中央收集服务器的链路质量,并将所述自身的服务质量、自身到其它节点收集服务器的链路质量,以及自身到中央收集服务器的链路质量上报给中央控制器;接收所述上传服务器发送的待上传日志,将所述待上传日志汇总到中央收集服务器;所述中央收集服务器,用于接收所述节点收集服务器发送的待上传日志,并存储和管理收集到的日志。本发明实施例,上传服务器通过接收中央控制器发送的携帯至少ー个节点收集服务器的地址信息的日志上传通知消息,并保存接收到的每个节点收集服务器的地址信息;从保存的节点收集服务器的地址信息中选定ー个待接收日志的节点收集服务器的地址信息;根据所述选定的地址信息,将本地磁盘存储的日志通过节点收集服务器发送给中央收集服务器,完成对日志上传和收集。上传服务器通过中央控制器指定的上传日志路径最佳的节点收集服务器上传数据,提高了日志收集效率。


图I为现有技术中的日志收集方法示意图;图2为本发明实施例提供的日志上传方法流程示意图;图3为本发明实施例提供的日志上传方法总体流程示意图;图4为本发明实施例提供的日志上传方法具体流程示意图;图5为本发明实施例提供的日志收集控制方法流程示意图;图6为本发明实施例提供的日志收集方法流程示意图; 图7为本发明实施例提供的日志上传装置结构示意图;图8为本发明实施例提供的日志收集控制装置结构示意图;图9为本发明实施例提供的日志收集装置结构示意图;图10为本发明实施例提供的日志收集装置结构示意图;图11为本发明实施例提供的日志收集系统结构示意图。
具体实施例方式本发明实施例提供ー种日志收集方法及系统,用以提高日志收集效率,以及解决日志在收集过程中丢失的问题。下面结合附图对本发明实施例提供的技术方案进行说明。參见图2,本发明实施例提供的技术方案,通过在日志收集系统中设置用于控制收集日志的中央控制器,该中央控制器根据各节点收集服务器上传的各节点收集服务器的服务质量以及各节点收集服务器与中央控制器或上传服务器之间的链路质量,以及接收到的来自上传服务器的日志上传请求消息,为该上传服务器选择至少ー个上传日志最快、且最可靠的节点收集服务器。所选定的节点收集服务器上传日志的整个链路质量较佳,即节点收集服务器在传输日志的过程中传输带宽较高、日志传输的过程中丢包率较低,以及传输路径较短,提高了日志传输效率。另外,当某一节点收集服务器出现故障无法将日志上传到中央收集服务器时,中央控制器通知上传服务器(Web服务器)重新选择路径上传日志,直到日志上传成功。当日志上传成功后,中央控制器通知上传服务器删除本地已上传的日志,释放上传服务器的磁盘空间,保证日志最終上传到中央收集服务器,解决了日志在收集过程中容易丢失的问题。參见图3,为本发明实施例提供的ー种日志上传方法,总体包括以下步骤S101、上传服务器接收中央控制器发送的携帯至少ー个节点收集服务器的地址信息的日志上传通知消息,并保存接收到的每个节点收集服务器的地址信息。S102、上传服务器从保存的节点收集服务器的地址信息中选定ー个待接收日志的节点收集服务器的地址信息。S103、上传服务器根据所述选定的地址信息,将本地磁盘存储的日志发送给节点收集服务器;S104、节点收集服务器将来自上传服务器的日志汇总到中央收集服务器。
较佳地,该方法还包括上传服务器当接收中央控制器发送的删除已经成功上传的日志的通知消息吋,删除已上传的日志。较佳地,在步骤SlOl之前,该方法还包括上传服务器向中央控制器发送日志上传请求消息,该日志上传请求消息中携带发送该日志上传请求消息的上传服务器的地址信息以及待上传日志的信息。具体地,所述日志上传请求消息中包括上传日志的文件名称、文件大小,以及上传服务器所在节点的地址信息。较佳地,步骤SlOl之前,该方法还包括与所述上传服务器属于同一节点的节点收集服务器分别探测自身的服务质量、自 身到其它节点收集服务器的链路质量,以及自身到中央收集服务器的链路质量,并将所述自身的服务质量、自身到其它节点收集服务器的链路质量,以及自身到中央收集服务器的链路质量上报给中央控制器,以使得中央控制器根据所述节点收集服务器的服务质量,所述节点收集服务器到其它节点收集服务器的链路质量,以及所述节点收集服务器到中央收集服务器的链路质量确定需要返回给节点收集服务器的地址信息。所述自身的服务质量包括节点收集服务器的内存大小、负载、CPU使用率、磁盘空间大小,以及网络情况等。较佳地,步骤SlOl中,所述上传服务器接收中央控制器发送的携帯至少ー个节点收集服务器的地址信息的日志上传通知消息,并保存接收到的每个节点收集服务器的地址信息,具体为接收中央控制器发送的日志上传通知消息,该日志上传通知消息携帯至少ー个节点收集服务器的地址信息以及每个节点收集服务器的地址信息的优先级标识,并保存每个节点收集服务器的地址信息以及所述优先级标识;以及所述上传服务器从保存的节点收集服务器的地址信息中选定ー个待接收日志的节点收集服务器的地址信息,具体为根据所述保存的节点收集服务器的地址信息的优先级标识,从保存的节点收集服务器的地址信息中选定ー个优先级最高的待接收日志的节点收集服务器的地址信息。该方法还包括上传服务器当接收到中央控制器发送的重新上传所述日志的通知消息时,从保存的节点收集服务器的地址信息中重新选定ー个节点收集服务器的地址信息,该重新选定的节点收集服务器的地址信息的优先级仅低于上次选定的节点收集服务器的地址信息的优先级;上传服务器根据重新选定的地址信息,将本地磁盘存储的需要重新上传的日志通过与所述重新选定的地址信息对应的节点收集服务器发送给中央收集服务器。较佳地,所述待接收日志的节点收集服务器的地址信息的优先级根据对多个指标的加权计算得到,所述多个指标包括以下内容该节点收集服务器与上传服务器是否在相同机房;该节点收集服务器与上传服务器是否属于相同运营商;该节点收集服务器与上传服务器之间的物理区域的远近;
该节点收集服务器与上传服务器之间的链路质量的优劣;该节点收集服务器与中央收集服务器之间的链路质量的优劣;该节点收集服务器的服务质量。所述节点收集服务器的地址信息的优先级标识,用于表明节点收集服务器上传日志的路径的优先级。节点收集服务器的优先级越高,其日志上传的路径最优。路径最优即上传日志的路径较短,且上传日志的节点收集服务器的性能较佳。节点收集服务器的性能可以包括节点收集服务器的内存、网络状況、CPU使用率等。需要说明的是,本发明实施例提供的上传服务器所在节点至少有一台节点收集服务器,节点收集服务器会探測自身的服务质量、自身到其它节点收集服务器的链路质量以
及自身到中央收集服务器的链路质量,并将链路情况上报给中央控制器。中央控制器根据所述链路质量以及上传日志请求中的文件名称、文件大小,以及上传服务器所在节点的地址信息计算上传该日志的最佳节点收集服务器,将计算出的节点收集服务器以列表的形式发送给上传服务器。參见图4,本发明实施例提供的日志上传方法,具体包括以下步骤S201、网民向上传服务器发出服务请求。Web2.0注重用户之间的交互,使用博客网站或者微博网站的网民在发出一条评论时,向Web服务器发出服务请求。一条博客或者微博发表后,通过网民不断地转发或者评论,向Web服务器发出大量的服务请求。S202、上传服务器响应来自网民的服务请求,并产生日志。由于网民之间不停交互和评论,在一定的时间内产生的日志数据可能会是GB量级。Web服务器在产生了日志数据之后,将该日志数据保存到本地磁盘。S203、上传服务器向中央控制器发送日志上传请求消息。该日志上传请求消息中携带该上传服务器的地址信息或上传服务器所在节点的地址消息,以表征该上传服务器所属的具体位置,如当前Web服务器的IP地址或主机名(host name)等。所述host name可以更丰富的表达设备所在国家、ISP、节点编号等信息。该日志上传请求消息中同时还携帯有本次需要上传的日志的信息、日志文件的类型和日志文件大小等信息,以便中央控制器根据接收到的日志信息,以及上传服务器所在的位置,向上传服务器返回优先级最高或较高的节点收集服务器的地址信息。所述日志信息可以包括日志文件的名称、时间戳、日志文件的索引(index)(如果每5分钟产生ー个日志文件,全天应该产生288个日志文件)。所述日志上传请求消息中还包括请求中央控制器返回上传所述日志所需要的节点收集服务器的地址信息。S204、上传服务器接收中央控制器发送的携帯至少ー个节点收集服务器的地址信息的日志上传通知消息,并保存接收到的每个节点收集服务器的地址信息。所述每个节点收集服务器的地址信息是由中央控制器确定的,具体地,中央控制器根据接收到的节点收集服务器上传的自身的服务质量、自身和中央控制器之间的链路质量、自身和上传服务器之间的链路质量,以及上传服务器发送的日志上传请求消息中的日志信息和该上传服务器的地址信息,确定出当前上传服务器上传日志的最优的日志传输路径,即确定出至少ー个上传日志较快的,服务质量较好的节点收集服务器。所述最优日志传输路径至少为传输日志的路径短、最好不跨ISP、网络质量较好、丢包率低,以及节点收集服务器的服务质量最佳或较佳等。所述传输日志的路径包括日志从上传服务器到中央收集服务器所经历的路径,也就是包括上传服务器到节点收集服务器的路径以及该节点收集服务器到中央收集服务器的路径。本发明实施例提供的最优日志传输路径为保证节点收集服务器服务质量较佳的前提下,节点收集服务器距离上传服务器以及中央收集服务器的距离较近,网络质量较佳。最优日志传输路径可以保证日志传输的成功率和传输速率。中央控制器可以根据设置參数确定一定数量的节点收集服务器 ,例如可以根据预先设置的參数,确定三个或者五个较佳的日志上传节点收集服务器。用以在Web服务器选择其中ー个节点收集服务器上传日志,但未成功上传到中央收集服务器时,可以选择保存的其他的节点收集服务器,上传日志,即保证了日志上传不会丢失,还提高了日志上传速度。这是因为Web服务器在上传日志失败后无需再向中央控制器发出日志上传请求,直接从预先保存的节点收集服务器地址信息中,重新选择ー个节点收集服务器,节约了日志上传时间。中央控制器将确定出的节点收集服务器的地址信息发送给所述Web服务器。该Web服务器保存所述该节点收集服务器的地址信息。本发明实施例中,也可以通过上传服务器确定较佳的日志传输路径,即确定较佳的待上传日志的节点收集服务器。具体地,上传服务器可以通过接收节点收集服务器的服务质量、节点收集服务器与上传服务器之间的链路质量、节点收集服务器与中央控制器之间的链路质量,以及需要上传的日志的信息,确定最佳的待上传日志的节点收集服务器。但是上传服务器的数量较庞大,接收到的链路质量信息不便于其他上传服务器共享,日志收集系统的灵活性较低。而通过中央控制器接收各节点收集服务器的链路质量和地址信息,确定与上传服务器对应的链路质量较佳的节点收集服务器。中央控制器仅设置ー个,这些确定出的节点收集服务器的信息可以供其他上传服务器享用,提高了日志收集系统的灵活性。S205、上传服务器从保存的节点收集服务器的地址信息中选定ー个待接收日志的节点收集服务器的地址信息。较佳地,当上传服务器保存至少ー个节点收集服务器的地址信息时,为了从中选择ー个最佳的节点收集服务器的地址信息(对应最优日志上传路径)。上传服务器保存的各节点收集服务器的地址信息携帯优先级标识。上传服务器根据所述保存的节点收集服务器的地址信息的优先级标识,从保存的节点收集服务器的地址信息中选定ー个优先级最高的待接收日志的节点收集服务器的地址信息。例如保存的节点收集服务器A、B、C中,优先级从高到低依次为节点手机服务器A、B、C。当上传日志X吋,首次选择节点手机服务器A上传日志,当通过该优先级最高的节点收集服务器A发送日志失败,上传服务器需要重新发送日志X吋,从保存的节点收集服务器的地址信息中选定ー个除节点收集服务器A之外,优先级最高的节点收集服务器B,上传所述日志X。其中日志X “日志X”中“ X”为日志名称。S206、上传服务器根据所述选定的地址信息,将本地磁盘存储的日志通过与所述选定的地址信息对应的节点收集服务器发送给中央收集服务器。
S207、上传服务器当接收到中央控制器发送的重新上传所述日志的通知消息吋,从保存的节点收集服务器的地址信息中重新选定ー个待接收日志的节点收集服务器的地
址信息。该日志通知消息中包含日志文件名称等信息。该文件名称不仅可以方便查找需要上传的日志,还有助于日志收集系统查找问题。例如可以查看Web服务器是否正常上传日志到中央采集服务器。如果每台Web服务器5分钟上传ー个文件,这样可以计算在某ー个时刻,中央控制器应该收到某台Web服务器的文件数量,这样可以判断Web服务器日志上传是否正确。S208、上传服务器根据所述重新选定的地址信息,将本地磁盘存储的需要重新上传的日志通过与所述选定的地址信息对应的节点收集服务器发送给中央收集服务器。具体地,Web服务器根据接收到的所述日志文件名称,在存储日志的本地磁盘查找与所述日志文件名称相同的日志,井根据所述重新选定的节点收集服务器的地址信息,将 所述查找出的日志发送给所述重新选定的待接收日志的节点收集服务器,节点收集服务器将接收到的日志上传给中央收集服务器。Web服务器根据某种传输协议,如FTP、HTTP等,向节点收集服务器传输日志。每个节点收集服务器根据某种信息传输协议,如FTP、HTTP,向中央控制器传输日志。S209、上传服务器当接收到中央控制器发送的删除本地磁盘存储的已经上传的日志的通知消息时,删除本地磁盘存储的所述已经上传的日志。S210、节点收集服务器判断所述待上传日志是否发送成功;当判断所述待上传日志被成功发送到所述中央收集服务器时,进行步骤S211,否则什么都不做。S211、向中央控制器发送日志上传成功的通知消息。较佳地,本发明实施例在上传日志之前还包括S200、节点收集服务器向中央控制器发送各节点收集服务器的传输日志的链路质量、各节点收集服务器的服务质量,以及各节点收集服务器的地址信息。该链路质量包括日志从上传服务器到中央收集服务器所经历的路径的链路质量,也就是包括上传服务器到节点收集服务器的链路质量,以及该节点收集服务器到中央收集服务器的链路质量。上传服务器上传日志对应的链路质量的优劣由上传服务器到节点收集服务器的链路质量,以及节点收集服务器到中央收集服务器的链路质量共同決定。当上传服务器到某一节点收集服务器的链路质量最佳,该节点收集服务器到中央收集服务器的链路质量较差,该条日志上传的链路不是一条最优链路。上传日志的效率由链路质量和节点收集服务器的服务质量决定。链路质量最佳的情况下,节点收集服务器的服务质量较差时,对应的日志上传路径也不是最佳路径。节点收集服务器的服务质量由以下因素决定CPU使用率、磁盘使用情況、内存使用率,网络情况等。当节点收集服务器的CPU使用率较高、磁盘空间较小,以及内存较小,节点收集服务器的服务质量较差,相应地,该节点收集服务器的响应时间较长,传输速度较慢,丢包率较高,通过该节点收集服务器上传日志的整个路径为较差的路径。所述服务质量太差即某些指标超过一定值,例如节点收集服务器的CPU跑满(CPU资源利用率很高,负载比较高)、磁盘使用率平均值超过85%、内存较小(系统可用内存全部被程序占用,导致系统速度变慢)。所述网络速度包括上传服务器到节点收集服务器的网络速度,以及节点收集服务器到中央收集服务器的网络速度。只有当上传服务器到节点收集服务器的网络速度较佳,以及节点收集服务器到中央收集服务器的网络速度较佳,才能保证整个日志上传的路径对应的网络速度较佳。上传服务器到节点收集服务器的网络速度可由上传服务器与节点收集服务器的相对位置或运营商类型决定,例如当节点收集服务器相对于上传服务器处于跨运营商(ISP)或者垮区域的位置时,上传服务器到节点收集服务器的网络速度较慢,丢包率也较高。不同区域网速较慢的參考值不一样,可以取128Kb为參考值,小于这个值的网络速度为网速较慢。节点收集服务器到中央收集服务器的网络速度也会影响整个链路的网络速度。
当节点收集服务器的CPU使用率较低(CPU使用率平均值为75%属于正常使用率),磁盘使用率较低,内存较大(内存可用率平均值为80%属于正常),且节点收集服务器和上传服务器之间的网络速度以及节点收集服务器和中央收集服务器之间的网速较高时,节点收集服务器的响应时间较短,传输速度较地块,丢包率较低(丢包率小于3%属于正常)或者几乎没有丢包现象,对应的链路质量较佳。节点收集服务器可以根据预先设置的发送链路质量,以及自身服务质量的频率和地址信息的频率,向中央控制器发送链路质量和自身服务质量。如每隔5分钟上报一次自身当前链路质量和地址信息,或者每隔ー小时或者一天上报一次当前链路质量和地址信息,向中央控制器发送链路质量。节点收集服务器可以根据日志的产生速度或者其他因素设置发送链路质量的频率值。日志产生速度较慢时,可以间隔较长的时间上报一次链路质量和地址信息;日志产生速度较快时,可以间隔较短的时间上报一次链路质量和地址信息。步骤S200中,每个节点收集服务器除了上报自身的服务质量信息和地址信息,也可以去探測其他离自己较近的节点收集服务器的链路质量信息和地址信息以及服务质量。例如,节点收集服务器A除了上报自身的服务质量和地址信息之外,还可以探測同一机房内的节点收集服务器B和/或节点收集服务器C的链路质量、服务质量和地址信息。并将探測到的相关信息发送到中央控制器。通过双向线路探測,可以保证每个节点收集服务器的链路质量信息会被中央控制器接收到。例如节点收集服务器A向节点收集服务器B发送数据包,然后汇报中央控制器A到B的传输速度是多少。通过本发明上述实施例提供的日志上传方法,保证了日志上传过程中使用较佳的链路质量,提高了日志上传的效率和日志上传的成功率。參见图5,本发明实施例提供的一种日志收集控制方法,包括以下步骤S401、中央控制器接收各节点收集服务器发送的各节点收集服务器的链路质量,以及各节点收集服务器的服务质量和地址信息。所述链路质量包括节点收集服务器与上传服务器之间的链路质量,以及节点收集服务器与中央收集服务器之间的链路质量。该地址信息为能够表征节点收集服务器所处的地址的信息。具体可以包括各节点收集服务器的IP地址或host name等信息。所述链路质量包括各节点收集服务器的负荷情況,如CPU使用率、磁盘使用率、内存大小等。
S402、中央控制器根据所述链路质量以及各节点收集服务器的服务质量的加权值,按照综合质量从高到底的顺序将节点收集服务器进行排序。具体地,中央控制器根据所述链路质量以及各节点收集服务器的服务质量的加权值,按照综合质量从高到底的顺序将节点收集服务器进行排序,将节点收集服务器的地址信息保存在一张列表中,以便查询或更新使用。综合质量越高节点收集服务器的优先级最高,相对应的该节点收集服务器的地址信息的优先级最高。同时中央控制器也可以排除掉ー些综合质量较差的路径对应的节点收集服务器及相应的地址信息。S403、中央控制器接收上传服务器发送的日志上传请求消息。该日志上传请求消息携帯发送该日志上传请求消息的上传服务器的地址信息以及待上传日志的信息;例如某一 Web服务器的IP地址或host name,以及日志文件的名称、 时间戳、日志文件的index (如果每5分钟产生一个日志文件,全天应该产生288个日志文件)、日志文件的类型和日志文件大小等信息。S404、中央控制器根据所述上传服务器的地址信息、待上传日志的信息,以及预先保存的与节点收集服务器对应的链路质量和节点收集服务器的服务质量,从预先存储的多个节点收集服务器的地址信息中,选定至少ー个接收所述待上传日志的节点收集服务器的地址信息。具体地,中央控制器根据所述上传服务器的地址信息,如上传服务器所处的位置等,待上传日志的信息,如日志的文件大小等,以及预先保存的与节点收集服务器对应的链路质量和节点收集服务器的服务质量,从所述列表的前数个链路质量较好的节点收集服务器种选择几个距离上传服务器较近的节点收集服务器,并确定所述距离上传服务器较近的节点收集服务器的地址信息。例如Web服务器A,准备上传日志文件A_2345_20120 2021345. gz (A为机器名,2345为文件大小,201202021345为生成文件,gz为文件扩展名)。此时,Web服务器A的文件上传请求消息中会带着文件名信息,请求中央控制器为其分配待上传文件的节点收集服务器。中央控制器根据Web服务器A的IP地址,优先查找和它所处一个机房的节点收集服务器,然后再查下这些节点收集服务器的链路质量,计算出采用该机房内的每个节点收集服务器上传A_2345_201202021345. gz的速度等信息,将这些节点收集服务器的信息传给Web服务器A。较佳地,当从预先存储的多个节点收集服务器的地址信息中,选定至少ー个接收所述待上传日志的节点收集服务器的地址信息时,根据该节点收集服务器与上传服务器是否在相同机房、该节点收集服务器与上传服务器是否属于相同运营商、该节点收集服务器与上传服务器之间物理区域的远近、该节点收集服务器与上传服务器之间的链路质量优劣;该节点收集服务器与中央收集服务器之间的链路质量优劣;该节点收集服务器的自身服务质量的高低,为选定的各节点收集服务器配置优先级标识,将该优先级标识附帯在相应的各节点收集服务器的地址信息中。例如中央控制器计算出采用和Web服务器A同一个机房内的每个节点收集服务器上传ム_2345_201202021345. gz的速度等信息,然后根据每个节点收集服务器上传A_2345_201202021345. gz的速度大小,确定出各节点收集服务器的优先级,将优先级标识附帯在相应的各节点收集服务器的IP中。S405、中央控制器将所述选定的节点收集服务器的地址信息发送给所述上传服务器。S406、中央控制器当接收到所述选定的节点收集服务器发送的日志上传成功的通知消息时,向所述上传服务器发送删除本地存储的已经上传的所述待上传日志。S407、中央控制器在将所述选定的节点收集服务器的地址信息发送给所述上传服务器之后指定的时间内,未接收到来自所述选定的节点收集服务器发送的日志上传成功的通知消息吋,向所述上传服务器发送重新上传所述待上传日志的通知消息。或者上传日志的过程中节点收集服务器到中央收集服务器的响应时间超过预设阀值时,重新上传所述待上传日志的通知消息。上传服务器根据接收到的重新上传所述待上传日志的通知消息吋,选择预先保存的下ー个节点收集服务器上传日志。參见图6,本发明实施例提供的日志收集方法具体流程示意图包括S501、中央控制器接收各节点收集服务器发送的上传日志的链路质量和各节点收集服务器的服务质量。该上传日志的链路包括上传服务器向节点收集服务器传输数据的链路,以及节点收集服务器向中央收集服务器传输数据的链路。S502、中央控制器接收上传服务器的日志上传请求消息。
S503、中央控制器向上传服务器发送至少ー个日志传输路径,该日志传输路径包括路径中的节点收集服务器的地址信息,以及节点收集服务器的优先级标识,并开始计时。S504、上传服务器保存节点收集服务器的地址信息。S505、上传服务器根据所述节点收集服务器的地址信息向该节点收集服务器发送日志。S506、所述节点收集服务器向中央收集服务器发送日志。S507、节点收集服务器判断日志是否发送成功,如果是进行步骤S508。否则,什么都不做。S508、节点收集服务器向中央控制器发送日志成功上传的通知消息。S509、中央控制器接收节点收集服务器发送的日志成功上传的通知消息,通知上传服务器删除已经上传的日志,结束日志上传流程。S510、当中央控制器向上传服务器发送最优日志传输路径之后指定的时间At内,未接收到来自所述选定的节点收集服务器发送的日志上传成功的通知消息时,向所述上传服务器发送重新上传所述待上传日志的通知消息。S511、上传服务器接收重新上传所述待上传日志的通知消息。S512、上传服务器根据该上传日志的通知消息,确定需要重新上传的日志。上传服务器从步骤S504中上传服务器保存的节点收集服务器的地址信息中重新选定ー个节点收集服务器的地址信息。S513、上传服务器根据所述选定的节点收集服务器的地址信息,向该节点收集服务器发送选定的需要重新上传的日志。进行步骤S506及以后的步骤。參见图7,本发明实施例还提供了ー种日志上传装置,该日志上传装置可以为上传服务器,如Web服务器,包括接收单元111,用于接收中央控制器发送的携帯至少ー个节点收集服务器的地址信息的日志上传通知消息。保存単元112,用于保存所述接收到的每个节点收集服务器的地址信息。选定单元113,用于从保存単元112中选定ー个待接收日志的节点收集服务器的地址信息。发送单元114,用于根据所述选定的地址信息,将本地磁盘存储的日志通过与所述重新选定的地址信息对应的节点收集服务器发送给中央收集服务器。较佳地,选定单元113,还用于当接收单元111接收到中央控制器发送的重新上传所述日志的通知消息时,从保存的节点收集服务器的地址信息中重新选定ー个待接收日志的节点收集服务器的地址信息。较佳地,发送单元114,还用于根据所述重新选定的地址信息,将本地磁盘存储的需要重新上传的日志通过与所述重新选定的地址信息对应的节点收集服务器发送给中央 收集服务器。删除单元115,用于当接收单元111接收到中央控制器发送的删除本地存储的已经上传的日志的通知消息时,删除本地存储的所述已经上传的日志。较佳地,接收单元111,具体用于接收中央控制器发送的日志上传通知消息,该日志上传通知消息携帯至少ー个节点收集服务器的地址信息以及每个节点收集服务器的地址信息的优先级标识。较佳地,保存単元112,具体用于保存每个节点收集服务器的地址信息以及所述节点收集服务器的地址信息的优先级标识。较佳地,选定单元113,具体用于根据所述保存的节点收集服务器的地址信息的优先级标识,从保存的节点收集服务器的地址信息中选定ー个优先级最高的待接收日志的节点收集服务器的地址信息。较佳地,所述发送単元114,还用于向中央控制器发送日志上传请求消息,该日志上传请求消息携帯发送该日志上传请求消息的上传服务器的地址信息以及待上传日志的信息。參见图8,本发明实施例还提供了一种日志收集控制装置,该装置可以为中央控制器,包括接收单元211,用于接收上传服务器发送的日志上传请求消息,该日志上传请求消息携帯发送该日志上传请求消息的上传服务器的地址信息以及待上传日志的信息。保存単元212,用于预先存储与节点收集服务器对应的链路质量、节点收集服务器的服务质量,以及多个节点收集服务器的地址信息。选定单元213,用于根据所述上传服务器的地址信息、待上传日志的信息,以及预先存储的与节点收集服务器对应的链路质量信息、节点收集服务器的服务质量,从预先存储的多个节点收集服务器的地址信息中,选定至少ー个接收所述待上传日志的节点收集服务器的地址信息。发送单元214,用于根据所述上传服务器的地址信息,将所述选定的待上传日志的节点收集服务器的地址信息发送给所述上传服务器。较佳地,发送单元214,还用于当接收单元211接收到所述选定的节点收集服务器发送的日志上传成功的通知消息吋,向所述上传服务器发送删除本地存储的已经上传的所述待上传日志;以及还用于在将所述选定的节点收集服务器的地址信息发送给所述上传服务器之后指定的时间内,未接收到来自所述选定的节点收集服务器发送的日志上传成功的通知消息时,向所述上传服务器发送重新上传所述待上传日志的通知消息。较佳地,选定单元213,具体用于当从预先存储的多个节点收集服务器的地址信息中,选定至少ー个接收所述待上传日志的节点收集服务器的地址信息时,根据该节点收集服务器与上传服务器是否在相同机房、该节点收集服务器与上传服务器是否属于相同运营商、该节点收集服务器与上传服务器之间物理区域的远近、该节点收集服务器与上传服务器之间的链路质量优劣;该节点收集服务器与中央收集服务器之间的链路质量优劣;该节点收集服务器的自身服务质量的高低,为选定的各节点收集服务器配置优先级标识,将该优先级标识附帯在相应的各节点收集服务器的地址信息中。參见图9,本发明实施例还提供了一种日志收集装置,该装置可以为节点收集服务器,包括 发送单元311,用于向中央控制器发送各节点收集服务器的传输日志的链路质量、节点收集服务器的服务质量,以及各节点收集服务器的地址信息;以及向中央收集服务器发送接收到的待上传日志。接收单元312,用于接收上传服务器发送的所述待上传日志。參见图10,所述日志收集装置还包括判断単元313,用于判断所述待上传日志是否发送成功;当所述待上传日志被成功发送到所述中央收集服务器时,发送単元311向所述中央控制器发送日志上传成功的通知消息。參见图11,本发明实施例还提供了ー种日志收集系统,包括上传服务器11、中央控制器12、节点收集服务器13,以及中央收集服务器14。上传服务器11,用于接收中央控制器12发送的携帯至少ー个节点收集服务器13的地址信息的日志上传通知消息,并保存接收到的每个节点收集服务器13的地址信息;以及从保存的节点收集服务器13的地址信息中选定ー个待接收日志的节点收集服务器13的地址信息;以及根据所述选定的地址信息,将本地磁盘存储的日志发送给节点收集服务器13 ;中央控制器12,用于接收上传服务器11发送的日志上传请求消息,该日志上传请求消息携帯发送该日志上传请求消息的上传服务器11的地址信息以及待上传日志的信息;根据上传服务器11的地址信息、待上传日志的信息,以及节点收集服务器上传的自身的服务质量、自身到其它节点收集服务器的链路质量,以及自身到中央收集服务器14的链路质量,从预先存储的多个节点收集服务器的地址信息中,选定至少ー个接收所述待上传日志的节点收集服务器的地址信息;根据所述上传服务器的地址信息,将所述选定的待上传日志的节点收集服务器的地址信息发送给所述上传服务器11 ;节点收集服务器13,用于探测自身的服务质量、自身到其它节点收集服务器的链路质量,以及自身到中央收集服务器14的链路质量,并将所述自身的服务质量、自身到其它节点收集服务器的链路质量,以及自身到中央收集服务器的链路质量上报给中央控制器;接收所述上传服务器发送的待上传日志,将所述待上传日志汇总到中央收集服务器;
中央收集服务器14,用于接收节点收集服务器13发送的待上传日志,并存储和管理收集到的日志。较佳地,本发明实施例提供的日志收集系统,每个机房设置至少一台节点收集服务器的效果是最好的。当机房没有节点收集服务器,那需要为Web服务器安装节点收集服务器上设置的agent程序,并配置链路质量信息收集和探測功能,这样Web服务器就可以选择本节点到其它节点不错的链路。较佳地,所述中央控制器设置在节点链路比较好的机房即可。也可以将中央控制器的功能模块安装到中央采集服务器,但是这样不利于管理,系统之间会互相抢占系统资源。本发明实施例中,通过在上传服务器、中央控制器,以及节点收集服务器中设置代理(agent)程序,agent程序通过某种传输协议,如TCP、用户数据包协议(User Datagram Protocol, UDP)等,实现信息的交互。该agent程序包括如下功能I、与中央控制器通信,获取链路质量较佳的节点收集服务器,以及最优路径传输数据。2、在传输日志文件前,向中央控制器上报本次需要上传的日志信息。3、日志成功上传到中央收集服务器时,通知中央控制器成功上传日志的消息。4、接收到成功上传日志的消息时,通知上传服务器删除本地已上传日志。5、当在指定的时间内未接收到成功上传日志的通知消息时,通知上传服务器重新传输数据。本发明实施例,通过接收中央控制器发送的携帯至少ー个节点收集服务器的地址信息的日志上传通知消息,并保存每个节点收集服务器的地址信息;从保存的节点收集服务器的地址信息中选定ー个待接收日志的节点收集服务器的地址信息;根据所述选定的地址信息,将本地磁盘存储的日志发送给待接收日志的节点收集服务器。该节点收集服务器将接收到的日志数据发送给中央收集服务器,完成对日志的收集。上传服务器通过中央控制器指定的上传日志路径最佳的节点收集服务器上传数据,提高了日志收集效率。而且,本发明上传日志的节点收集服务器通过判断日志是否上传成功,将成功上传的日志消息通知给中央控制器,中央控制器通知上传服务器删除本地已上传日志,节约本地磁盘空间。而且,当中央控制器在指定的时间内未接收到日志成功上传的通知消息时,通知上传服务器再次上传日志,保证了日志最終成功上传到中央收集服务器,也即保障了数据传输过程中的完整性。解决了日志在收集过程中容易丢失的问题。本发明是參照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每ー流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生ー个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图ー个流程或多个流程和/或方框图ー个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图ー个流程或多个流程和/或方框图ー个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图ー个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.ー种日志上传方法,其特征在于,该方法包括 上传服务器接收中央控制器发送的携帯至少ー个节点收集服务器的地址信息的日志上传通知消息,并保存接收到的每个节点收集服务器的地址信息; 上传服务器从保存的节点收集服务器的地址信息中选定ー个待接收日志的节点收集服务器的地址信息; 上传服务器根据所述选定的地址信息,将本地磁盘存储的日志发送给节点收集服务器; 节点收集服务器将来自上传服务器的日志汇总到中央收集服务器。
2.根据权利要求I所述的方法,其特征在于,在所述接收中央控制器发送的携帯至少一个节点收集服务器的地址信息的日志上传通知消息之前,该方法还包括 上传服务器向中央控制器发送日志上传请求消息,该日志上传请求消息携帯上传日志的文件名称、文件大小,以及上传服务器所在节点的地址信息。
3.根据权利要求I所述的方法,其特征在于,上传服务器向中央控制器发送日志上传请求消息之前,该方法还包括 与所述上传服务器属于同一节点的节点收集服务器分别探测自身的服务质量、自身到其它节点收集服务器的链路质量,以及自身到中央收集服务器的链路质量,并将所述自身的服务质量、自身到其它节点收集服务器的链路质量,以及自身到中央收集服务器的链路质量上报给中央控制器,以使得中央控制器根据所述节点收集服务器的服务质量,所述节点收集服务器到其它节点收集服务器的链路质量,以及所述节点收集服务器到中央收集服务器的链路质量确定需要返回给节点收集服务器的地址信息。
4.根据权利要求I所述的方法,其特征在于,所述上传服务器接收中央控制器发送的携帯至少ー个节点收集服务器的地址信息的日志上传通知消息,并保存每个节点收集服务器的地址信息,具体为 接收中央控制器发送的日志上传通知消息,该日志上传通知消息携帯至少ー个节点收集服务器的地址信息以及每个节点收集服务器的地址信息的优先级标识,并保存每个节点收集服务器的地址信息以及所述优先级标识;以及 所述从保存的节点收集服务器的地址信息中选定ー个待接收日志的节点收集服务器的地址信息,具体为 根据所述保存的节点收集服务器的地址信息的优先级标识,从保存的节点收集服务器的地址信息中选定ー个优先级最高的待接收日志的节点收集服务器的地址信息; 该方法还包括 上传服务器当接收到中央控制器发送的重新上传所述日志的通知消息时,从保存的节点收集服务器的地址信息中重新选定ー个节点收集服务器的地址信息,该重新选定的节点收集服务器的地址信息的优先级仅低于上次选定的节点收集服务器的地址信息的优先级; 上传服务器根据重新选定的地址信息,将本地磁盘存储的需要重新上传的日志通过与所述重新选定的地址信息对应的节点收集服务器发送给中央收集服务器。
5.根据权利要求4所述的方法,其特征在干,所述待接收日志的节点收集服务器的地址信息的优先级是中央控制器根据对多项指标进行加权计算获得,所述多项指标包括下述内容 该节点收集服务器与上传服务器是否在相同机房; 该节点收集服务器与上传服务器是否属于相同运营商; 该节点收集服务器与上传服务器之间物理区域的远近; 该节点收集服务器与上传服务器之间的链路质量优劣; 该节点收集服务器与中央收集服务器之间的链路质量优劣; 该节点收集服务器的自身服务质量的高低。
6.—种日志收集控制方法,其特征在于,该方法包括 中央控制器接收上传服务器发送的日志上传请求消息,该日志上传请求消息携带发送该日志上传请求消息的上传服务器的地址信息以及待上传日志的信息; 中央控制器根据所述上传服务器的地址信息、待上传日志的信息,以及预先存储的节点收集服务器对应的链路质量和该节点收集服务器的服务质量,从预先存储的多个节点收集服务器的地址信息中,选定至少ー个接收所述待上传日志的节点收集服务器的地址信息; 中央控制器根据所述上传服务器的地址信息,将所述选定的待上传日志的节点收集服务器的地址信息发送给所述上传服务器。
7.根据权利要求6所述的方法,其特征在于,该方法还包括 中央控制器当接收到所述选定的节点收集服务器发送的日志上传成功的通知消息吋,向所述上传服务器发送删除本地存储的已经上传的所述待上传日志。
8.根据权利要求7所述的方法,其特征在于,该方法还包括 中央控制器在将所述选定的节点收集服务器的地址信息发送给所述上传服务器之后指定的时间内,未接收到来自所述选定的节点收集服务器发送的日志上传成功的通知消息时,向所述上传服务器发送重新上传所述待上传日志的通知消息,上传服务器接收中央控制器发送的删除已经成功上传的日志的通知消息时,删除已上传的日志。
9.根据权利要求6所述的方法,其特征在干,当从预先存储的多个节点收集服务器的地址信息中,选定至少ー个接收所述待上传日志的节点收集服务器的地址信息时,根据该节点收集服务器与上传服务器是否在相同机房、该节点收集服务器与上传服务器是否属于相同运营商、该节点收集服务器与上传服务器之间物理区域的远近、该节点收集服务器与上传服务器之间的链路质量优劣;该节点收集服务器与中央收集服务器之间的链路质量优劣;该节点收集服务器的自身服务质量的高低,为选定的各节点收集服务器配置优先级标识,将该优先级标识附帯在相应的各节点收集服务器的地址信息中。
10.一种日志收集系统,其特征在于,该系统包括上传服务器、中央控制器、节点收集服务器,以及中央收集服务器; 所述上传服务器,用于接收中央控制器发送的携帯至少ー个节点收集服务器的地址信息的日志上传通知消息,并保存接收到的每个节点收集服务器的地址信息;以及从保存的节点收集服务器的地址信息中选定ー个待接收日志的节点收集服务器的地址信息;以及根据所述选定的地址信息,将本地磁盘存储的日志发送给节点收集服务器; 所述中央控制器,用于接收上传服务器发送的日志上传请求消息,该日志上传请求消息携帯发送该日志上传请求消息的上传服务器的地址信息以及待上传日志的信息;根据所述上传服务器的地址信息、待上传日志的信息,以及节点收集服务器上传的自身的服务质量、自身到其它节点收集服务器的链路质量,以及自身到中央收集服务器的链路质量,从预先存储的多个节点收集服务器的地址信息中,选定至少ー个接收所述待上传日志的节点收集服务器的地址信息;根据所述上传服务器的地址信息,将所述选定的待上传日志的节点收集服 务器的地址信息发送给所述上传服务器; 所述节点收集服务器,用于探测自身的服务质量、自身到其它节点收集服务器的链路质量,以及自身到中央收集服务器的链路质量,并将所述自身的服务质量、自身到其它节点收集服务器的链路质量,以及自身到中央收集服务器的链路质量上报给中央控制器;接收所述上传服务器发送的待上传日志,将所述待上传日志汇总到中央收集服务器; 所述中央收集服务器,用于接收所述节点收集服务器发送的待上传日志,并存储和管理收集到的日志。
全文摘要
本发明公开了一种日志收集方法及系统,用以提高日志收集效率。本发明提供的日志上传方法,包括上传服务器接收中央控制器发送的携带至少一个节点收集服务器的地址信息的日志上传通知消息,并保存接收到的每个节点收集服务器的地址信息;上传服务器从保存的节点收集服务器的地址信息中选定一个待接收日志的节点收集服务器的地址信息;上传服务器根据所述选定的地址信息,将本地磁盘存储的日志发送给节点收集服务器;节点收集服务器将来自上传服务器的日志汇总到中央收集服务器。
文档编号H04L29/12GK102780777SQ201210252268
公开日2012年11月14日 申请日期2012年7月19日 优先权日2012年7月19日
发明者张月 申请人:北京蓝汛通信技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1