麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

數據采集方法、數據采集器和系統的制作方法

文檔序號:7985118閱讀:316來源:國知局
數據采集方法、數據采集器和系統的制作方法
【專利摘要】本發明公開了一種數據采集方法、數據采集器和系統。其中,數據采集方法包括:采集器接收來自服務器的采集啟動命令;采集器在接收到采集啟動命令后對目標設備進行數據采集,得到目標數據;采集器對目標數據進行預處理,得到反饋數據;以及采集器將反饋數據反饋至服務器進行存儲。通過本發明,解決了現有技術中數據采集方法容易造成網絡服務器穩定性下降的問題,進而達到了提高服務器穩定性的效果。
【專利說明】數據采集方法、數據采集器和系統
【技術領域】
[0001]本發明涉及數據處理領域,具體而言,涉及一種數據采集方法、數據采集器和系統。
【背景技術】
[0002]現有技術中服務器Server對來自各個采集器Collector的采集數據一般采用輪詢控制的方式進行處理及存儲,如圖1所示,服務器在輪詢控制方式下對采集數據進行緩存處理后將數據存入DB數據庫中,這種采集模型實現簡單,在少量采集數據的情況下該模型是可用的,但是在該模型中服務器承載了采集調度、DB數據庫存儲調度以及未擁塞數據的簡單緩存,所以此種采集模型對服務器的要求很高,在現網環境中是存在嚴重的性能瓶頸的,會導致如下幾個方面的性能擁塞:
[0003]UServer的資源是有限的,輪詢控制會使用Server的線程CPU和內存資源,這會導致Server線程、CPU、內存等資源相對緊張的時候會出現Server處理的性能瓶頸,增大服務器的數據處理壓力,降低服務器穩定性。
[0004]2、由于現有的數據采集模型中Server與Collector是一對多的關系,Collector在取得數據之后如果不做任何處理直接返回給Server,由Server負責原始數據到對象數據的轉換,這種架構不對等的數據采集模型使得Collector的多個處理核心沒有充分利用,而Server的這個處理核心負擔特別大,當Collector足夠多的時候Server的這個I個處理核心是無法負擔的,同樣造成數據采集模型存在潛在的性能瓶頸,增大服務器的數據處理壓力,降低服務器穩定性。
[0005]3、DB數據庫的存儲是一個慢速過程,如果Collector返回數據的時機處理不好,例如Server沒有處理好發起采集的時間點,導致Collector返回數據過于集中,而Server又不能將大量的數據存放到DB數據庫之中,這樣就會導致這些返回數據在Server的緩存隊列中發生擁塞,極端情況下會用光Server有限的內存資源,導致Server的崩潰。
[0006]4、現有的數據采集模型中服務器中的其他數據處理模塊同樣會來爭搶Server的系統資源,這種情況會更加增大服務器的處理壓力。
[0007]針對相關技術中數據采集方法容易造成網絡服務器穩定性下降的問題,目前尚未提出有效的解決方案。

【發明內容】

[0008]本發明的主要目的在于提供一種數據采集方法、數據采集器和系統,以解決現有技術中數據采集方法容易造成網絡服務器穩定性下降的問題。
[0009]為了實現上述目的,根據本發明的一個方面,提供了一種數據采集方法,包括:采集器接收來自服務器的采集啟動命令;采集器在接收到采集啟動命令后對目標設備進行數據采集,得到目標數據;采集器對目標數據進行預處理,得到反饋數據;以及采集器將反饋數據反饋至服務器進行存儲。[0010]進一步地,采集器包括多個采集器,采集器將反饋數據反饋至服務器進行存儲包括:第一采集器發送線程請求指令至服務器,其中,服務器通過不同的數據傳輸線程接收來自多個采集器的反饋數據,服務器還用于在接收到線程請求指令后反饋空閑數據傳輸線程至第一采集器,第一采集器為多個采集器中的任一采集器;以及第一采集器通過第一數據傳輸線程將第一反饋數據發送至服務器進行存儲,其中,第一反饋數據為第一采集器對采集到的目標數據進行預處理后得到的反饋數據,第一數據傳輸線程為服務器反饋的空閑數據傳輸線程。
[0011]進一步地,在第一采集器通過第一數據傳輸線程將第一反饋數據發送至服務器之后,數據采集方法還包括:服務器通過第一數據傳輸線程接收第一反饋數據;以及服務器通過第一 DB通道將第一反饋數據存儲至數據庫,其中,服務器還用于通過不同的DB通道將第一反饋數據存儲至數據庫,第一 DB通道為與第一數據傳輸線程相對應的DB通道。
[0012]進一步地,在第一采集器發送線程請求指令至服務器之前,數據采集方法還包括:比較各個采集器的反饋數據的優先級;以及確定各個采集器發送線程請求指令的順序與比較出的優先級順序相對應。
[0013]進一步地,通過比較各個采集器的目標數據的COS標記來比較反饋數據的優先級。
[0014]進一步地,采集器包括多個采集器,在采集器接收來自服務器的采集啟動命令之后,并且在采集器對目標設備進行數據采集之前,數據采集方法還包括:第一采集器啟動第一調度線程,其中,第一采集器為多個采集器中的任一采集器;以及在第一調度線程進行數據采集時,從采集線程池中獲取采集線程資源,其中,采集線程池為池化后的SNMP采集線程資源,其中,在獲取到采集線程資源之后對目標設備進行數據采集。
[0015]進一步地,預處理包括以下處理方式中的任意一種或多種:差量運算、百分比運算和總量運算。
[0016]進一步地,數據采集方法還包括:采集器接收來自服務器的參數修改命令;以及采集器在當前數據采集結束后按照參數修改命令更新采集參數。
[0017]為了實現上述目的,根據本發明的另一方面,提供了一種數據采集器,包括:接收單元,用于接收來自服務器的采集啟動命令;采集單元,用于在接收到采集啟動命令后對目標設備進行數據采集,得到目標數據;處理單元,用于對目標數據進行預處理,得到反饋數據;以及反饋單元,用于將反饋數據反饋至服務器進行存儲。
[0018]為了實現上述目的,根據本發明的另一方面,提供了一種數據采集系統,包括:月艮務器;以及本發明上述內容所提供的數據采集器。
[0019]通過本發明,采用采集器接收來自服務器的采集啟動命令;采集器在接收到采集啟動命令后對目標設備進行數據采集,得到目標數據;采集器對目標數據進行預處理,得到反饋數據;以及采集器將反饋數據反饋至服務器進行存儲。通過在接收到服務器發起的采集啟動命令后,由采集器對目標設備進行數據采集,并對采集到的目標數據進行預處理后再反饋給服務器,此種通過采集器對目標數據進行預處理的方式,直接使用了采集器的處理核心,避免占用服務器Server的線程CPU和內存資源,降低了服務器的數據處理壓力,解決了現有技術中數據采集方法容易造成網絡服務器穩定性下降的問題,進而達到了提高服務器穩定性的效果。【專利附圖】

【附圖說明】
[0020]構成本申請的一部分的附圖用來提供對本發明的進一步理解,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0021]圖1是根據相關技術的數據采集系統的示意圖;
[0022]圖2是根據本發明實施例的數據采集方法的流程圖;
[0023]圖3是采用本發明實施例的數據采集方法進行數據保存的示意圖;
[0024]圖4是根據本發明實施例的數據采集器的示意圖;以及
[0025]圖5是根據本發明實施例的數據采集系統的示意圖。
【具體實施方式】
[0026]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發明。
[0027]本發明實施例提供了一種數據采集方法,以下對本發明實施例所提供的數據采集方法進行具體介紹:
[0028]圖2是根據本發明實施例的數據采集方法的流程圖,如圖2所示,該方法包括如下的步驟S202至步驟S208:
[0029]S202:采集器接收來自服務器的采集啟動命令,即,在采集調度工作啟動時,由服務器Server向采集器Collector發送采集調度啟動命令。
[0030]S204:采集器在接收到采集啟動命令后對目標設備進行數據采集,得到目標數據;具體地,采集器在接收到采集啟動命令后,啟動一個不退出的調度線程,由該調度線程負責監視采集狀態,并根據采集啟動命令中的采集參數來發起具體的采集工作。
[0031]S206:采集器對目標數據進行預處理,得到反饋數據,其中,對于不同性質屬性的目標數據所采用的具體預處理方法可以不相同。
[0032]S208:采集器將反饋數據反饋至服務器進行存儲。
[0033]本發明實施例的數據采集方法通過在服務器發起的采集啟動命令后,由采集器對目標設備進行數據采集,并對采集到的目標數據進行預處理后再反饋給服務器,此種通過采集器對目標數據進行預處理的方式,直接使用了采集器的處理核心,避免占用服務器Server的線程CPU和內存資源,降低了服務器的數據處理壓力,解決了現有技術中數據采集方法容易造成網絡服務器穩定性下降的問題,進而達到了提高服務器穩定性的效果。
[0034]進一步地,在由服務器和采集器構成的數據采集系統中,一般情況下一臺服務器對應著多臺采集器,其中,每一臺采集器對其所監控目標設備的采集方法均與本發明上述實施例所提供的采集方法相同。以下以兩臺采集器(第一采集器和第二采集器)為例更進一步地詳細介紹本發明實施例的數據采集方法:
[0035]具體地,當服務器下發采集調度啟動命令至第一采集器和第二采集器后,第一采集器和第二采集器均會啟動一個不退出的調度線程,所謂不退出的調度線程是為了監控采集器的采集狀態,并在采集調度啟動命令中所包括的采集參數達到采集時刻時,調度線程會發起采集過程,以第一采集器為例,第一采集器接收到采集啟動命令后啟動第一調度線程,當第一調度線程需要進行數據采集時,從采集線程池中獲取采集線程資源,所謂采集線程資源是指池化后的簡單網絡管理協議(Simple NetworkManagement Protocol,簡稱SNMP)采集線程資源,正是由于網絡資源是有限的,所以當多個采集器的調度線程同時發起數據采集時,或造成同時發起的SNMP請求過多,導致網絡擁塞,所以需要對采集器Collector端的網絡訪問資源進行限制,采取的方式是將采集線程資源進行池化,每一個采集線程對網絡的訪問是可控的,基本保障了 Collector的網絡訪問量。當第一調度線程需要發起一次新的采集的時候,首先去采集線程池中申請采集線程資源,如果池中已經沒有剩余資源的時,則發起數據采集的調度線程及該線程對應的采集器就需要等待,如果線程池中有資源,則第一采集器在獲取到采集線程資源之后對目標設備進行數據采集。當然,當第一調度線程完成其數據采集過程時,則需要將獲取到的采集線程資源放回采集線程池內,這個時候第二調度線程(假設當第二采集器接收到采集啟動命令后啟動第二調度線程后,在第二調度線程進行數據采集請求時需要進行等到)就能獲取還給池中的采集線程資源,從而發起一個新的采集過程。
[0036]在各個采集器完成各自對目標設備的采集和對數據的預處理之后,在將反饋數據反饋至服務器的過程中還包括向服務器請求數據傳輸線程的過程,具體地,仍然以第一采集器為例,當第一采集器完成數據預處理得到第一反饋數據后,第一采集器首先會發送線程請求指令至服務器,服務器在接收到線程請求指令后將空閑的數據傳輸線程的PID信息發送至第一采集器,第一采集器得到反饋過來信息后即得到數據傳輸線程,最后通過這個數據傳輸線程將第一反饋數據發送至服務器中進行存儲;而對于服務器這一側,由于在進行數據存儲時為避免DB數據庫連接沖突導致向DB數據庫傳輸數據的現成發生擁塞,服務器Server端將DB數據庫的存儲通道線程池,在進行數據存儲時,合理的調整通道個數和DB連接池個數,做到一個通道一個DB連接池,每一個投遞過來的消息都能有一套線程和DB連接來獨立處理。所以,當服務器通過某個數據傳輸線程接收到反饋數據后,會通過與這個數據傳輸線程相對應的DB通道將反饋數據存儲至DB數據庫,其中,采集器與服務器之間的進行數據存儲的通訊示意圖在圖3中示出。
[0037]進一步地,當各個采集器均向服務器反饋反饋數據時,此時各個采集器之間會進行一個數據優先級的比較,然后按照比較出的優先級順序確定優先級高的數據對應的采集器先向服務器發送線程請求指令,最后在輪到優先級低的數據對應的采集器向服務器發送線程請求指令。其中,可以通過比較各個采集器的目標數據的Cos標記來比較反饋數據的優先級,Cos標記主要解決的是實時性能采集和歷史性能采集,各個性能指標對采集實時要求不同帶來的管理需求。例如實時性能采集要求需要實時處理,擁有較高的投遞優先級,在發生擁塞的時候不會影響到用戶實時查看的頁面的流暢程度。而歷史性能只會做后臺處理,展現給用戶的頁面效果不是實時變化的,在發生擁塞的時候稍微等等也不會帶來不好的用戶體驗,所以可以給歷史性能打上較低的優先級。例如CPU利用率和并發數類型的采集指標,變化較快,必須擁有較快的處理速度,可以打上較高的優先級標簽,而網絡傳輸速率這樣一些值,統計時間長點或者短點,并不影響最后的分析結果,查看歷史性能的時候多一個點少一個點關系不大,而后期處理還是可以補上的,這樣的數據就可以打上較低的優先級標簽。Collector會根據優先級標簽將原始數據歸納到不同的處理隊列中,在Server返回的狀態為有空閑的時候,優先投遞優先級高的隊列中堆積的原始數據。
[0038]進一步地,在對目標數據進行預處理時,由于不同的性能值有不同的特征,對每種數據類型需要執行不同的運算規則,在本發明實施例所提供的數據采集方法中,對目標數據的預處理方式包括:
[0039]1、差量運算:在處理例如速率、包數等數據的時候設備側通常是使用一個計數器來統計一個累積量,性能采集過程中這種累計量本身是沒有意義的,它需要和上一次采集到的計數器值進行一個差值運算才能運算出這兩次采集之間有多少流量或包數。這樣的運算過程是需要進行數據緩存的。Collector支持上一輪采集數據的緩存,只需要指定采集指標的類型為差量,就可以通過Collector自己預處理成為兩次差量的數據,避免在Server端通過頻繁的DB操作才能運算出需要的值。
[0040]2、百分比運算:在處理CPU、內存利用率等最后需要形成百分比值的性能數據時,需要對采集到的多個值進行多次算術運算才能有意義。Collector支持在同一輪采集中的多個采集值進行組合運算,從而計算出一個百分比值。避免Server端通過DB操作才能運算出需要的值。
[0041]3、總量運算:有些性能指標需要進行網管側加和統計,例如并發數統計。這就需要將之前一段時間內的數據進行加和運算,這樣的運算過程也是需要進行數據緩存,Collector支持保持一個計數器,只需要指定采集指標類型是總量運算,就可以使用這個計數器進行累加運算,避免在Server端通過頻繁的DB操作才能運算出需要的值。
[0042]由于數據存入DB數據庫中時,磁盤存儲的吞吐量與搭建整個系統的硬件結構有關,而提供這個磁盤存儲吞吐量的成本是非常高的,在成本控制要求很高的前提下,磁盤存儲的吞吐量實際上是比較固定的與選用的硬件總線類型是直接相關的,肯定是很難趕上服務器以及采集器的CPU和內存的處理速度。這就導致了一個不均衡,CPU處理很快,處理完了很多原始數據,但是一直在等待磁盤的10,導致處理完的原始數據存不進DB,導致了內存的堆積,當這個過程持續時間較長,堆積數據過多的時候就帶來了系統的不穩定因素。本發明實施例的數據采集方法通過對采集到的數據進行預處理,并通過優先級排序依次上傳給服務器,實現了既不會減慢磁盤存儲的速度,又可以避免大量數據都擁堵上DB存儲通道上。其中,未采用本發明實施 例的數據采集方法時數據采集系統中各組成單元的處理速度的順序如表1所示,采用本發明實施例的數據采集方法時各單元的處理速度的順序如表2所示:
[0043]表1
【權利要求】
1.一種數據采集方法,其特征在于,包括: 采集器接收來自服務器的采集啟動命令; 所述采集器在接收到所述采集啟動命令后對目標設備進行數據采集,得到目標數據; 所述采集器對所述目標數據進行預處理,得到反饋數據;以及 所述采集器將所述反饋數據反饋至所述服務器進行存儲。
2.根據權利要求1所述的數據采集方法,其特征在于,所述采集器包括多個采集器,所述采集器將所述反饋數據反饋至所述服務器進行存儲包括: 第一采集器發送線程請求指令至所述服務器,其中,所述服務器通過不同的數據傳輸線程接收來自所述多個采集器的反饋數據,所述服務器還用于在接收到所述線程請求指令后反饋空閑數據傳輸線程至所述第一采集器,所述第一采集器為所述多個采集器中的任一采集器;以及 所述第一采集器通過第一數據傳輸線程將第一反饋數據發送至所述服務器進行存儲,其中,所述第一反饋數據為所述第一采集器對采集到的目標數據進行預處理后得到的反饋數據,所述第一數據傳輸線程為所述服務器反饋的空閑數據傳輸線程。
3.根據權利要求2所述的數據采集方法,其特征在于,在所述第一采集器通過第一數據傳輸線程將第一反饋數據發送至所述服務器之后,所述數據采集方法還包括: 所述服務器通過所述第一數據傳輸線程接收所述第一反饋數據;以及 所述服務器通過第一 DB通道將所述第一反饋數據存儲至所述數據庫,其中,所述服務器還用于通過不同的DB通道將所述第一反饋數據存儲至所述數據庫,所述第一 DB通道為與所述第一數據傳輸線程相對應的DB通道。
4.根據權利要求2所述的數據采集方法,其特征在于,在所述第一采集器發送線程請求指令至所述服務器之前,所述數據采集方法還包括: 比較各個采集器的反饋數據的優先級;以及 確定所述各個采集器發送所述線程請求指令的順序與比較出的優先級順序相對應。
5.根據權利要求4所述的數據采集方法,其特征在于,通過比較所述各個采集器的目標數據的COS標記來比較所述反饋數據的優先級。
6.根據權利要求1所述的數據采集方法,其特征在于,所述采集器包括多個采集器,在所述采集器接收來自所述服務器的采集啟動命令之后,并且在所述采集器對目標設備進行數據采集之前,所述數據采集方法還包括: 第一采集器啟動第一調度線程,其中,所述第一采集器為所述多個采集器中的任一采集器;以及 在所述第一調度線程進行數據采集時,從采集線程池中獲取采集線程資源,其中,所述采集線程池為池化后的SNMP采集線程資源, 其中,在獲取到所述采集線程資源之后對所述目標設備進行數據采集。
7.根據權利要求1所述的數據采集方法,其特征在于,所述預處理包括以下處理方式中的任意一種或多種: 差量運算、百分比運算和總量運算。
8.根據權利要求1所述的數據采集方法,其特征在于,所述數據采集方法還包括: 所述采集器接收來自所述服務器的參數修改命令;以及所述采集器在當前數據采集結束后按照所述參數修改命令更新采集參數。
9.一種數據采集器,其特征在于,包括: 接收單元,用于接收來自所述服務器的采集啟動命令; 采集單元,用于在接收到所述采集啟動命令后對目標設備進行數據采集,得到目標數據; 處理單元,用于對所述目標數據進行預處理,得到反饋數據;以及 反饋單元,用于將所述反饋數據反饋至所述服務器進行存儲。
10.一種數據采集系統,其特征在于,包括: 服務器;以及 數據采集器,其中,所述數 據采集器為權利要求9中所述的數據采集器。
【文檔編號】H04L12/861GK103795647SQ201210431036
【公開日】2014年5月14日 申請日期:2012年11月1日 優先權日:2012年11月1日
【發明者】胡江昳, 李永成 申請人:鼎點視訊科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 宝丰县| 池州市| 铅山县| 萨嘎县| 普格县| 集贤县| 仁怀市| 兴化市| 丰都县| 达拉特旗| 客服| 内黄县| 化州市| 乐东| 平乐县| 平阳县| 隆回县| 永胜县| 沁源县| 讷河市| 利津县| 定边县| 酉阳| 元朗区| 阳泉市| 乌兰察布市| 汉沽区| 凉城县| 长海县| 金湖县| 平谷区| 武安市| 易门县| 昭通市| 汉寿县| 张家港市| 牡丹江市| 繁昌县| 桦南县| 牙克石市| 大港区|