本發(fā)明涉及集群服務器領域,特別涉及一種集群數據統(tǒng)計及導出方法及裝置。
背景技術:
集群是由一些互相連接在一起的計算機構成的一個并行或者分布式系統(tǒng),使得多臺服務器可以像一臺機器一樣進行工作。隨著集群服務器技術在計算機領域的推廣,將產生海量的日志文件,且隨著科學技術的發(fā)展,對日志文件保存的快速準確程度的需求越來越高;且在保存之后,還需要按照不同的需求進行不同的數據的讀取,進而方便進行數據統(tǒng)計;在這些過程中,既要保證程序的高效性,還要保證數據處理過程的簡易性和準確性,因此,目前需要一種高效準確的集群數據統(tǒng)計及導出方法。
技術實現要素:
本發(fā)明提供一種集群數據統(tǒng)計及導出方法及裝置,通過對集群內各設備的協(xié)調與管理,高效準確地對日志相關數據進行讀取與統(tǒng)計,其操作過程簡便,提升了工作效率與用戶體驗。
根據本發(fā)明實施例的第一方面,提供一種集群數據統(tǒng)計及導出方法,包括:
令集群的第三級設備在各自的配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引;
在接收到所述統(tǒng)計索引的生成完畢報告之后,令集群的第一級設備向所述第三級設備發(fā)送導出通知;
令所述第三級設備根據所述導出通知將生成的所述統(tǒng)計索引從本地緩存數據庫導出至集群數據庫。
在一些實施例中,所述令集群的第三級設備在各自的配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引之后,還包括:
在將所述統(tǒng)計索引全部生成之后,令所述第三級設備將生成的所述統(tǒng)計索引存儲至本地緩存數據庫,并向所述第一級設備發(fā)送所述統(tǒng)計索引的生成完畢報告。
在一些實施例中,所述方法還包括:
在將所述統(tǒng)計索引完全導出至所述集群數據庫之后,令所述第三級設備繼續(xù)在其配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引。
在一些實施例中,所述方法還包括:
在接收到集群內的第三級設備的加入或退出指令時,通過所述第一級設備更新所述集群內的所有第三級設備的配置信息,并將更新的所述配置信息同步至第二級設備;所述配置信息包括各所述第三級設備的配置范圍;
令所述第三級設備繼續(xù)在其更新后的配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引。
在一些實施例中,所述方法還包括:
在接收到所述第一級設備的退出指令時,通過預設的選舉算法在所述集群內的多個第二級設備中選舉所述第一級設備。
根據本發(fā)明實施例的第二方面,還提供一種集群數據統(tǒng)計及導出裝置,包括:
第一生成模塊,用于令集群的第三級設備在各自的配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引;
通知模塊,用于在接收到所述統(tǒng)計索引的生成完畢報告之后,令集群的第一級設備向所述第三級設備發(fā)送導出通知;
統(tǒng)計索引導出模塊,用于令所述第三級設備根據所述導出通知將生成的所述統(tǒng)計索引從本地緩存數據庫導出至集群數據庫。
在一些實施例中,所述裝置還包括:
報告模塊,用于在將所述統(tǒng)計索引全部生成之后,令所述第三級設備將生成的所述統(tǒng)計索引存儲至本地緩存數據庫,并向所述第一級設備發(fā)送所述統(tǒng)計索引的生成完畢報告。
在一些實施例中,所述裝置還包括:
第二生成模塊,用于在將所述統(tǒng)計索引完全導出至所述集群數據庫之后,令所述第三級設備繼續(xù)在其配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引。
在一些實施例中,所述裝置還包括:
配置更新模塊,用于在接收到集群內的第三級設備的加入或退出指令時,通過所述第一級設備更新所述集群內的所有第三級設備的配置信息,并將更新的所述配置信息同步至第二級設備;所述配置信息包括各所述第三級設備的配置范圍;
第三生成模塊,用于令所述第三級設備繼續(xù)在其更新后的配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引。
在一些實施例中,所述裝置還包括:
選舉模塊,用于在接收到所述第一級設備的退出指令時,通過預設的選舉算法在所述集群內的多個第二級設備中選舉所述第一級設備。
本發(fā)明實施例提供的技術方案可產生以下有益效果:令集群的第三級設備在各自的配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引;在接收到所述統(tǒng)計索引的生成完畢報告之后,令集群的第一級設備向所述第三級設備發(fā)送導出通知;令所述第三級設備根據所述導出通知將生成的所述統(tǒng)計索引從本地緩存數據庫導出至集群數據庫。該方案通過對集群內各設備的協(xié)調與管理,高效準確地對日志相關數據進行讀取與統(tǒng)計,其操作過程簡便,提升了工作效率與用戶體驗。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
下面通過附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。
附圖說明
附圖用來提供對本發(fā)明的進一步理解,并且構成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構成對本發(fā)明的限制。
在附圖中:
圖1為本發(fā)明根據一示例性實施例示出的一種集群數據統(tǒng)計及導出方法的流程圖。
圖2為本發(fā)明根據一示例性實施例示出的另一種集群數據統(tǒng)計及導出方法的流程圖。
圖3為本發(fā)明根據一示例性實施例示出的又一種集群數據統(tǒng)計及導出方法的流程圖。
圖4為本發(fā)明根據一示例性實施例示出的再一種集群數據統(tǒng)計及導出方法的流程圖。
圖5為本發(fā)明根據一示例性實施例示出的又一種集群數據統(tǒng)計及導出方法的流程圖。
圖6為本發(fā)明根據一示例性實施例示出的一種集群數據統(tǒng)計及導出裝置的框圖。
圖7為本發(fā)明根據一示例性實施例示出的另一種集群數據統(tǒng)計及導出裝置的框圖。
圖8為本發(fā)明根據一示例性實施例示出的又一種集群數據統(tǒng)計及導出裝置的框圖。
圖9為本發(fā)明根據一示例性實施例示出的再一種集群數據統(tǒng)計及導出裝置的框圖。
圖10為本發(fā)明根據一示例性實施例示出的又一種集群數據統(tǒng)計及導出裝置的框圖。
具體實施方式
以下結合附圖對本發(fā)明的優(yōu)選實施例進行說明,應當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
本公開實施例提供了一種集群數據統(tǒng)計及導出方法,用于通過對集群內各設備的協(xié)調與管理,高效準確地對日志相關數據進行讀取與統(tǒng)計,其操作過程簡便,提升了工作效率與用戶體驗。如圖1所示,該方法包括步驟S10-S30:
在步驟S10中,令集群的第三級設備在各自的配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引;也即,各個第三級設備均被配置有各自的分片(也即其配置范圍),各第三級設備均讀取自身負責的幾個分片內的取預設數量的日志??衫斫獾?,所述預設數量可以根據用戶需求進行設定。在讀取完畢預設數量的日志之后,所述第三級設備將讀取的所述日志生成統(tǒng)計索引,并在所述統(tǒng)計索引生成完畢之后,將其存儲至本地緩存數據庫,并向第一級設備發(fā)送所述統(tǒng)計索引的生成完畢報告。
在步驟S20中,在接收到所述統(tǒng)計索引的生成完畢報告之后,令集群的第一級設備向所述第三級設備發(fā)送導出通知;所述導出通知用于指示所述第三級設備將所述統(tǒng)計索引從本地緩存數據庫導出至集群數據庫。
在步驟S30中,令所述第三級設備根據所述導出通知將生成的所述統(tǒng)計索引從本地緩存數據庫導出至集群數據庫。當需要進行統(tǒng)計時,直接從所述集群數據庫中進行調取即可。
在一些實施例中,如圖2所示,所述方法的步驟S10之后還包括步驟S40:
在步驟S40中,在將所述統(tǒng)計索引全部生成之后,令所述第三級設備將生成的所述統(tǒng)計索引存儲至本地緩存數據庫,并向所述第一級設備發(fā)送所述統(tǒng)計索引的生成完畢報告。
在一些實施例中,如圖3所示,所述方法還包括步驟S50:
在步驟S50中,在將所述統(tǒng)計索引完全導出至所述集群數據庫之后,令所述第三級設備繼續(xù)在其配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引。也即,當本次第三級設備讀取的預設數量的日志完全導出至所述集群數據庫之后,可以轉回至步驟S10進入下一次的日志讀取過程。
在一些實施例中,如圖4所示,所述方法還包括步驟S60-步驟S70:
在步驟S60中,在接收到集群內的第三級設備的加入或退出指令時,通過所述第一級設備更新所述集群內的所有第三級設備的配置信息,并將更新的所述配置信息同步至第二級設備;所述配置信息包括各所述第三級設備的配置范圍;可理解的,所述配置信息還可以包括所有需要進行統(tǒng)籌管理的配置信息,或者其他需要進行指定的信息等;在沒有第三級設備加入或者退出(且并未接收到需要進行重新配置的指令)時,各個第三級設備均被配置有各自的分片(也即其配置范圍),此時,各第三級設備均讀取與存儲自身負責的幾個分片內的日志。而當有新的第三級設備加入或者退出(或者在特定情況下需要進行重新配置)時,此時所有第三級設備的新的配置信息需要經由唯一的第一級設備來進行決定,且重新配置之后的第三級設備的配置信息,需要同步到所有第二級設備進行備份,以便于后期通過選舉選取其中一個第二級設備作為新的第一級設備時,該第一級設備具有原第一級設備的所有信息與功能。
在步驟S70中,令所述第三級設備繼續(xù)在其更新后的配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引。也即,在進行更新之后,所述第三級設備需要在新配置的分片(也即其更新后的配置范圍)中進行預設數量的日志讀取過程。
在一些實施例中,如圖5所示,所述方法還包括步驟S80:
在步驟S80中,在接收到所述第一級設備的退出指令時,通過預設的選舉算法在所述集群內的多個第二級設備中選舉所述第一級設備。也即,當唯一的所述第一級設備退出時,此時集群內不再存在第一級設備,因此,需要從已經備份好原有的第一級設備中所有信息的多個第二級設備中進行選舉,并選取其中一個作為新的第一級設備。其中,預設的所述選舉算法可以根據需要進行設定,只要能達到選舉出其中一個作為新的第一級設備的效果即可。
進一步地,所述步驟S80包括:
在接收到所述第一級設備的退出指令時,令所述集群內的各第二級設備自所有第二級設備中報告選舉一個第一級設備;可理解的,預設的所述選舉算法也可以根據需要設定為其他算法,只要能達到選舉出其中一個作為新的第一級設備的效果即可。在本實施例中,當唯一的所述第一級設備退出時,此時集群內不再存在第一級設備,因此,需要從已經備份好原有的第一級設備中所有信息的多個第二級設備中選舉其中一個作為新的第一級設備。
檢測是否存在自己報告選舉自己的第二級設備;當檢測到存在自己報告選舉自己的第二級設備時,檢測自己報告選舉自己且報告速度最快的所述第二級設備是否唯一;當檢測到自己報告選舉自己且報告速度最快的所述第二級設備唯一時,將報告選舉自己速度最快的所述第二級設備選舉為第一級設備。當檢測到自己報告選舉自己且報告速度最快的所述第二級設備并不唯一時,從同時報告選舉自己的所述第二級設備之外的其他所述第二級設備中,隨機選取一個第二級設備作為第一級設備。當檢測到不存在自己報告選舉自己的第二級設備時,將被報告選舉的次數超過預設次數的所述第二級設備選舉為所述第一級設備??衫斫獾模鲱A設次數可以根據用戶需求進行設定,比如,將所述預設次數設定為所述第二級設備的數量的三分之二及以上。
本發(fā)明實施例提供的上述方法,令集群的第三級設備在各自的配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引;在接收到所述統(tǒng)計索引的生成完畢報告之后,令集群的第一級設備向所述第三級設備發(fā)送導出通知;令所述第三級設備根據所述導出通知將生成的所述統(tǒng)計索引從本地緩存數據庫導出至集群數據庫。該方案通過對集群內各設備的協(xié)調與管理,高效準確地對日志相關數據進行讀取與統(tǒng)計,其操作過程簡便,提升了工作效率與用戶體驗。
對應本發(fā)明實施例提供的集群數據統(tǒng)計及導出方法,本發(fā)明還提供集群數據統(tǒng)計及導出裝置,如圖6所示,該裝置可包括:
第一生成模塊61,用于令集群的第三級設備在各自的配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引;也即,各個第三級設備均被配置有各自的分片(也即其配置范圍),各第三級設備均讀取自身負責的幾個分片內的取預設數量的日志??衫斫獾?,所述預設數量可以根據用戶需求進行設定。在讀取完畢預設數量的日志之后,所述第三級設備將讀取的所述日志生成統(tǒng)計索引,并在所述統(tǒng)計索引生成完畢之后,將其存儲至本地緩存數據庫,并向第一級設備發(fā)送所述統(tǒng)計索引的生成完畢報告。
通知模塊62,用于在接收到所述統(tǒng)計索引的生成完畢報告之后,令集群的第一級設備向所述第三級設備發(fā)送導出通知;所述導出通知用于指示所述第三級設備將所述統(tǒng)計索引從本地緩存數據庫導出至集群數據庫。
統(tǒng)計索引導出模塊63,用于令所述第三級設備根據所述導出通知將生成的所述統(tǒng)計索引從本地緩存數據庫導出至集群數據庫。當需要進行統(tǒng)計時,直接從所述集群數據庫中進行調取即可。
在一些實施例中,如圖7所示,所述裝置還包括:
報告模塊64,用于在將所述統(tǒng)計索引全部生成之后,令所述第三級設備將生成的所述統(tǒng)計索引存儲至本地緩存數據庫,并向所述第一級設備發(fā)送所述統(tǒng)計索引的生成完畢報告。
在一些實施例中,如圖8所示,所述裝置還包括:
第二生成模塊65,用于在將所述統(tǒng)計索引完全導出至所述集群數據庫之后,令所述第三級設備繼續(xù)在其配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引。也即,當本次第三級設備讀取的預設數量的日志完全導出至所述集群數據庫之后,可以進入下一次的日志讀取過程。
在一些實施例中,如圖9所示,所述裝置還包括:
配置更新模塊66,用于在接收到集群內的第三級設備的加入或退出指令時,通過所述第一級設備更新所述集群內的所有第三級設備的配置信息,并將更新的所述配置信息同步至第二級設備;所述配置信息包括各所述第三級設備的配置范圍;可理解的,所述配置信息還可以包括所有需要進行統(tǒng)籌管理的配置信息,或者其他需要進行指定的信息等;在沒有第三級設備加入或者退出(且并未接收到需要進行重新配置的指令)時,各個第三級設備均被配置有各自的分片(也即其配置范圍),此時,各第三級設備均讀取與存儲自身負責的幾個分片內的日志。而當有新的第三級設備加入或者退出(或者在特定情況下需要進行重新配置)時,此時所有第三級設備的新的配置信息需要經由唯一的第一級設備來進行決定,且重新配置之后的第三級設備的配置信息,需要同步到所有第二級設備進行備份,以便于后期通過選舉選取其中一個第二級設備作為新的第一級設備時,該第一級設備具有原第一級設備的所有信息與功能。
第三生成模塊67,用于令所述第三級設備繼續(xù)在其更新后的配置范圍內讀取預設數量的日志,并將讀取的所述日志生成統(tǒng)計索引。也即,在進行更新之后,所述第三級設備需要在新配置的分片(也即其更新后的配置范圍)中進行預設數量的日志讀取過程。
在一些實施例中,如圖10所示,所述裝置還包括:
選舉模塊68,用于在接收到所述第一級設備的退出指令時,通過預設的選舉算法在所述集群內的多個第二級設備中選舉所述第一級設備。也即,當唯一的所述第一級設備退出時,此時集群內不再存在第一級設備,因此,需要從已經備份好原有的第一級設備中所有信息的多個第二級設備中進行選舉,并選取其中一個作為新的第一級設備。其中,預設的所述選舉算法可以根據需要進行設定,只要能達到選舉出其中一個作為新的第一級設備的效果即可。
在一些實施例中,所述選舉模塊68還用于在接收到所述第一級設備的退出指令時,令所述集群內的各第二級設備自所有第二級設備中報告選舉一個第一級設備;可理解的,預設的所述選舉算法也可以根據需要設定為其他算法,只要能達到選舉出其中一個作為新的第一級設備的效果即可。在本實施例中,當唯一的所述第一級設備退出時,此時集群內不再存在第一級設備,因此,需要從已經備份好原有的第一級設備中所有信息的多個第二級設備中選舉其中一個作為新的第一級設備。
所述選舉模塊68還用于在所述集群內的各第二級設備自所有第二級設備中報告選舉一個第一級設備時,檢測是否存在自己報告選舉自己的第二級設備;當檢測到存在自己報告選舉自己的第二級設備時,檢測自己報告選舉自己且報告速度最快的所述第二級設備是否唯一;當檢測到自己報告選舉自己且報告速度最快的所述第二級設備唯一時,將報告選舉自己速度最快的所述第二級設備選舉為第一級設備。當檢測到自己報告選舉自己且報告速度最快的所述第二級設備并不唯一時,從同時報告選舉自己的所述第二級設備之外的其他所述第二級設備中,隨機選取一個第二級設備作為第一級設備。當檢測到不存在自己報告選舉自己的第二級設備時,將被報告選舉的次數超過預設次數的所述第二級設備選舉為所述第一級設備??衫斫獾模鲱A設次數可以根據用戶需求進行設定,比如,將所述預設次數設定為所述第二級設備的數量的三分之二及以上。
本發(fā)明實施例提供的上述裝置通過對集群內各設備的協(xié)調與管理,高效準確地對日志相關數據進行讀取與統(tǒng)計,其操作過程簡便,提升了工作效率與用戶體驗。
本領域內的技術人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產品的形式。
本發(fā)明是參照根據本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序請求實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序請求到通用計算機、專用計算機、嵌入式處理機或其他可編程信息處理設備的處理器以產生一個機器,使得通過計算機或其他可編程信息處理設備的處理器執(zhí)行的請求產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序請求也可存儲在能引導計算機或其他可編程信息處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的請求產生包括請求裝置的制造品,該請求裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序請求也可裝載到計算機或其他可編程信息處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執(zhí)行的請求提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和變型在內。