一種網管時序文件并發處理系統及并發處理方法
【專利摘要】本發明公開了一種網管時序文件并發處理系統,涉及網管文件處理領域,包括網管設備,數據文件夾創建模塊,數據文件夾管理模塊,數據文件接收管理模塊和數據文件處理管理模塊。本發明通過多進程、多線程處理機制,根據用戶預先設定的數據文件的進程數,線程數,計算線程數,制定不同的物理硬盤資源使用策略,提高了網管系統管理設備運行效率并節省系統資源,避免了多文件讀寫處理的性能瓶頸,使得網管系統管理設備的處理性能和擴展性進一步提升。本發明公開了一種基于網管時序文件并發處理系統的網管時序文件并發處理方法。
【專利說明】
一種網管時序文件并發處理系統及并發處理方法
技術領域
[0001]本發明涉及網管文件處理領域,具體涉及一種網管時序文件并發處理系統及并發處理方法。
【背景技術】
[0002]目前網絡技術的迅速發展,寬帶用戶規模不斷擴大,不僅網管系統管理設備的數量不斷增長,網管系統管理設備的管理能力也越來越高,管理業務量也越來越大。為了對網管設備進行監控,會要求向網管設備定時獲取包含網管狀態的信息。網管設備與網管系統管理設備通信使用的協議流達到一定規模時,不再適用于使用TCP報文進行數據交互,最好使用數據文件作為數據交換的載體,同時選擇高效可靠的文件傳輸協議。為了保證網管系統的正常運行,必須及時處理所有網管設備上傳的數據文件,否則不僅造成數據的積壓導致網管設備上傳信息的不準確,同時也會造成占用大量硬盤空間的問題。因此如何實現高效率的基于時序的多文件并發處理,是現在亟需解決的問題。
【發明內容】
[0003]針對現有技術中存在的缺陷,本發明的目的在于提供一種網管時序文件并發處理系統,能夠使網管系統能夠高效處理大量文件,使網管系統產品及時呈現設備的狀態。
[0004]為達到以上目的,本發明采取的技術方案是:一種網管時序文件并發處理系統,其包括:網管設備、數據文件夾創建模塊、數據文件夾管理模塊、數據文件接收管理模塊和數據文件處理管理模塊;
[0005]所述網管設備,用于上傳包含設備狀態的數據文件;
[0006]所述數據文件夾創建模塊,其根據用戶設定的進程數為每個數據文件處理進程創建一個根文件夾,并根據用戶設定的進程數為每個數據文件處理進程創建一個數據庫;
[0007]所述數據文件夾管理模塊,其根據用戶設定的進程數定時檢查每個數據文件處理進程的根文件夾是否存在,如果不存在,則創建根文件夾;所述數據文件夾管理模塊判斷當前日期的子文件夾是否存在,如果不存在,則創建日期子文件夾;所述數據文件夾管理模塊判斷超過用戶設定的保留天數的文件夾是否存在,如果存在,則刪除;
[0008]所述數據文件接收管理模塊,其根據網管設備標識在當前日期的子文件夾下進一步創建設備標識子文件夾,并接收網管設備發送來的數據文件并在標識子文件夾下創建時標文件,再發送時標文件的文件名至數據文件處理管理模塊;
[0009]所述數據文件處理管理模塊,其根據用戶設定的工作線程總數和計算線程總數并發啟動多個工作線程和多個計算線程;所述數據文件處理管理模塊根據數據文件接收管理模塊發送的文件名讀取文件并將文件中的數據寫入內存;所述數據文件處理管理模塊將內存中的數據寫入數據文件夾創建模塊創建的數據庫,同時根據具體的計算邏輯對內存中的數據進行處理。
[0010]本發明還公開了一種基于網管時序文件并發處理系統的網管時序文件并發處理方法,包括以下步驟:
[0011]SI,用戶預先設定數據文件的進程數,線程數,計算線程數,保留天數;
[0012]S2,數據文件夾創建模塊根據用戶設定的進程數為每個數據文件處理進程創建一個根文件夾;根據用戶設定的進程數為每個數據文件處理進程創建一個數據庫;
[0013]S3,數據文件夾管理模塊根據用戶設定的進程數定時檢查每個數據文件處理進程的根文件夾是否存在,如果不存在,則創建根文件夾;判斷當前日期的子文件夾是否存在,如果不存在,則創建當前日期的子文件夾;判斷超過用戶設定的保留天數的文件夾是否存在,如果存在,則刪除;
[0014]S4,數據文件接收管理模塊根據設備標識在當前日期的子文件夾下創建設備標識子文件夾;接收網管設備發送來的數據文件并在標識子文件夾下創建時標文件;發送時標文件的文件名至數據文件處理管理模塊;
[0015]S5,多個數據文件處理管理模塊根據用戶設定的工作線程總數和計算線程總數并發啟動多個工作線程和多個計算線程,根據數據文件接收管理模塊發送的文件名讀取文件并寫入內存,根據具體的計算邏輯對文件數據進行處理,同時將處理后的文件數據寫入數據文件夾創建模塊創建的數據庫。
[0016]在上述技術方案的基礎上,步驟S2包括以下步驟:
[0017]S201:數據文件夾創建模塊讀取用戶設定的進程數及指定的可用物理硬盤分區,為每個數據文件處理進程創建一個根文件夾,并將所述根文件夾的目錄鏈接到不同的物理硬盤分區,使數據文件處理進程的根文件夾在用戶指定的可用物理硬盤分區平均分布;
[0018]S202:數據文件夾創建模塊根據用戶設定的進程數為每個數據文件處理進程創建一個數據庫。
[0019]在上述技術方案的基礎上,步驟S3包括以下步驟:
[0020]S301:數據文件夾管理模塊啟動文件夾管理進程后,若未檢測到進程退出標識,等待一定時間后進入步驟S302,若檢測到退出標識則退出文件夾管理進程;
[0021]S302:數據文件夾管理模塊根據用戶設定的進程數,遍歷所有數據文件處理進程的根文件夾,若未遍歷完成,則進入步驟S303;若完成遍歷則進入步驟S301;
[0022]S303:數據文件夾管理模塊判斷基于當前日期的子文件夾是否存在,若存在,則轉入步驟S304;若不存在則創建當前日期的子文件夾后,再轉入步驟S304;
[0023]S304:數據文件夾管理模塊判斷超過用戶設定的保留天數的當前日期的子文件夾是否存在,若不存在則轉入步驟S301;若存在則刪除后,再轉入步驟S301。
[0024]在上述技術方案的基礎上,步驟S4包括以下步驟:
[0025]S401:數據文件接收管理模塊根據網管設備標識判斷在步驟S303創建的當前日期的子文件下判斷設備標識子文件夾是否存在,若不存在則在當前日期的子文件下創建設備標識子文件夾,再轉入步驟S402,若存在則直接轉入步驟S402;
[0026]S402:數據文件接收管理模塊根據網管設備上傳文件的時間,在設備標識子文件夾下創建時標文件,轉入步驟S403;
[0027]S403:數據文件接收管理模塊根據網管設備標識將生成的時標文件的文件名發送到網管設備對應的數據文件處理進程。
[0028]在上述技術方案的基礎上,步驟S5包括以下步驟:
[0029]S501:多個數據文件處理管理模塊根據用戶設定的工作線程總數和計算線程總數并發啟動多個工作線程和多個計算線程;
[0030]S502:數據文件處理管理模塊啟動消息處理隊列用于接收步驟S403上報的文件名消息;
[0031]S503:數據文件處理管理模塊等待所有工作線程和計算線程退出后,退出整個進程。
[0032]在上述技術方案的基礎上,工作線程的處理流程如下:
[0033]S501A1:數據文件處理管理模塊判斷是否獲取到退出消息,若沒有則轉入步驟S501A2,若有退出消息則轉入步驟S501A6 ;
[0034]S501A2:數據文件處理管理模塊讀取S502中消息隊列的數據,若獲取到文件名,則進入S501A4,若沒有獲取到文件,則進入S501A3;
[0035]S501A3:數據文件處理管理模塊等待一定時間,轉入S401A4;
[0036]S501A4:數據文件處理管理模塊根據時標文件的文件名,讀取文件名對應的文件,根據指定壓縮算法解壓數據,并使用內存池轉換到智能指針保存的內存結構,同時將智能指針轉發到計算線程的隊列中,轉入S501A5 ;
[0037]S501A5:數據文件處理管理模塊使用批量寫入接口,將內存數據寫入數據庫,進行持久化保存,完成入庫處理邏輯,然后轉入S501A1;
[0038]S501A6:數據文件處理管理模塊退出工作線程;
[0039]在上述技術方案的基礎上,計算線程的處理流程如下:
[0040]S501B1:數據文件處理管理模塊判斷是否獲取到退出消息,若沒有則轉入步驟S501B2,若有退出消息則轉入步驟S501B6 ;
[0041 ] S501B2:數據文件處理管理模塊從隊列中獲取S501A4中發送智能指針所保存的內存結構,若有數據則轉入S501B4,若無數據轉入步驟S501B3;
[0042]S501B3:數據文件處理管理模塊等待一定時間后,轉入步驟S501B4;
[0043]S501B4:數據文件處理管理模塊根據具體的計算邏輯對數據進行處理,轉入步驟S501B5;
[0044]S501B5:數據文件處理管理模塊當完成計算邏輯后,會釋放智能指針所保存的內存結構占用的內存,然后轉入步驟S501B1;
[0045]S501B6:數據文件處理管理模塊退出計算線程。
[0046]在上述技術方案的基礎上,網管設備發送至數據文件接收管理模塊的數據文件需經過壓縮算法進行處理后,再保存為時標文件。
[0047]在上述技術方案的基礎上,每個設備對應的設備標識子文件夾每天只創建一次。
[0048]與現有技術相比,本發明的優點在于:
[0049]本發明通過多進程、多線程處理機制,根據用戶預先設定的數據文件的進程數,線程數,計算線程數,制定不同的物理硬盤資源使用策略,提高了網管系統管理設備運行效率并節省系統資源,避免了多文件讀寫處理的性能瓶頸,使得網管系統管理設備的處理性能和擴展性進一步提升。
【附圖說明】
[0050]圖1為本發明實施例中網管時序文件并發處理系統的結構示意圖;
[0051 ]圖2為本發明實施例中網管時序文件并發處理方法的流程圖;
[0052]圖3為本發明實施例中網管時序文件并發處理方法步驟S3的流程圖;
[0053]圖4為本發明實施例中網管時序文件并發處理方法步驟S4的流程圖;
[0054]圖5為本發明實施例中網管時序文件并發處理方法步驟S5的流程圖;
[0055]圖6為本發明實施例中網管時序文件并發處理方法步驟S5中工作線程的流程圖;
[0056]圖7為本發明實施例中網管時序文件并發處理方法步驟S5中計算線程的流程圖。
[0057]圖中:1-網管設備,2-數據文件夾創建模塊,3-數據文件夾管理模塊,4-數據文件接收管理模塊,5-數據文件處理管理模塊。
【具體實施方式】
[0058]以下結合附圖及實施例對本發明作進一步詳細說明。
[0059]參見圖1所示,本發明實施例提供一種網管時序文件并發處理系統,其包括網管設備1、數據文件夾創建模塊2、數據文件夾管理模塊3、數據文件接收管理模塊4和數據文件處理管理模塊5;網管設備I,用于上傳包含設備狀態的數據文件;數據文件夾創建模塊2,其根據用戶設定的進程數為每個數據文件處理進程創建一個根文件夾并根據用戶設定的進程數為每個數據文件處理進程創建一個數據庫;數據文件夾管理模塊3,其根據用戶設定的進程數定時檢查每個數據文件處理進程的根文件夾是否存在,如果不存在,則創建根文件夾;數據文件夾管理模塊3判斷當前日期的子文件夾是否存在,如果不存在,則創建日期子文件夾;數據文件夾管理模塊3判斷超過用戶設定的保留天數的文件夾是否存在,如果存在,則刪除;數據文件接收管理模塊4,其根據網管設備I標識在當前日期的子文件夾下進一步創建設備標識子文件夾并接收網管設備I發送來的數據文件并在標識子文件夾下創建時標文件再發送時標文件的文件名至數據文件處理管理模塊5;數據文件處理管理模塊5,其根據用戶設定的工作線程總數和計算線程總數并發啟動多個工作線程和多個計算線程;數據文件處理管理模塊5根據數據文件接收管理模塊4發送的文件名讀取文件并將文件中的數據寫入內存;數據文件處理管理模塊5將內存中的數據寫入數據文件夾創建模塊2創建的數據庫,同時根據具體的計算邏輯對內存中的數據進行處理。本發明通過多進程、多線程處理機制,根據用戶預先設定的數據文件的進程數,線程數,計算線程數,制定不同的物理硬盤資源使用策略,提高了網管系統管理設備運行效率并節省系統資源,避免了多文件讀寫處理的性能瓶頸,使得網管系統管理設備的處理性能和擴展性進一步提升。
[0060]參見圖2所示,本發明還公開了一種基于網管時序文件并發處理系統的網管時序文件并發處理方法,其步驟如下:
[0061 ] SI,用戶預先設定數據文件的進程數,線程數,計算線程數,保留天數;
[0062]S2,數據文件夾創建模塊2根據用戶設定的進程數為每個數據文件處理進程創建一個根文件夾;根據用戶設定的進程數為每個數據文件處理進程創建一個數據庫;
[0063]S3,數據文件夾管理模塊3根據用戶設定的進程數定時檢查每個數據文件處理進程的根文件夾是否存在,如果不存在,則創建根文件夾;判斷當前日期的子文件夾是否存在,如果不存在,則創建當前日期的子文件夾;判斷超過用戶設定的保留天數的文件夾是否存在,如果存在,則刪除;數據文件夾管理模塊3每十分鐘檢查一次;
[0064]S4,數據文件接收管理模塊4根據設備標識在當前日期的子文件夾下創建設備標識子文件夾;接收網管設備I發送來的數據文件并在標識子文件夾下創建時標文件;發送時標文件的文件名至數據文件處理管理模塊5 ;
[0065]S5,多個數據文件處理管理模塊5根據用戶設定的工作線程總數和計算線程總數并發啟動多個工作線程和多個計算線程,根據數據文件接收管理模塊4發送的文件名讀取文件并寫入內存,根據具體的計算邏輯對文件數據進行處理,同時將處理后的文件數據寫入數據文件夾創建模塊2創建的數據庫。
[0066]步驟S2包括以下步驟:
[0067]S201:數據文件夾創建模塊2讀取用戶設定的進程數及指定的可用物理硬盤分區,為每個數據文件處理進程創建一個根文件夾,并將所述根文件夾的目錄鏈接到不同的物理硬盤分區,使數據文件處理進程的根文件夾在用戶指定的可用物理硬盤分區平均分布。
[0068]以Windows操作系統為例,當服務器有3個硬盤,分別對應到C\D\E分區。操作系統安裝在C盤,那么為了避免和操作系統沖突,可用的物理硬盤分區定義為D和E,一共2個,那么每個分區上可以對應2個數據文件處理進程。每個數據文件處理進程的根文件夾名稱定義為DPDIR[N],本例中的名稱為DPDIRl,DroiR2,DPDIR3,DH)IR4。若本框架構建的系統的安裝目錄為C: \MFPS。各根路徑的映射方法為:
[0069]MKLINK/J D:\DPDIR1 C:\MFPS\DPDIR1
[0070]MKLINK/J E:\DPDIR2 C:\MFPS\DPDIR2
[0071]MKLINK/J D:\DPDIR3 C:\MFPS\DPDIR3
[0072]MKLINK/J E:\DPDIR4 C:\MFPS\DPDIR4
[0073]那么在C:\MFPS目錄下的4個文件夾實際鏈接到了D盤和E盤的目錄下,讀寫文件和占用的硬盤空間都會使用D盤和E盤的資源。
[0074]當使用Linux操作系統時,可以使用In命令創建文件夾鏈接。
[0075]S202:數據文件夾創建模塊2根據用戶設定的進程數為每個數據文件處理進程創建一個數據庫。
[0076]參見圖3所示,步驟S3包括以下步驟:
[0077]S301:數據文件夾管理模塊3啟動文件夾管理進程后,當未檢測到進程退出標識則等待一定時間后進入步驟S302,如等待10分鐘,若檢測到退出標識則退出文件夾管理進程。
[0078]S302:數據文件夾管理模塊3根據用戶設定的進程數,遍歷所有數據文件處理進程的根文件夾,若未遍歷完成,則進入步驟S303;若完成遍歷則進入步驟S301;本例中檢查C: \MFPS\DPDIR1 至 C: \MFPS\DPDIR4 文件夾是否存在。
[0079]S303:數據文件夾管理模塊3判斷基于當前日期的子文件夾是否存在,若存在,則轉入步驟B4;若不存在則創建當前日期的子文件夾后,再轉入步驟S304;不存在則創建該文件夾,每個數據處理進程實例對應的文件夾都需要創建一次。若當前日期為2015年11月5日,則判斷子文件夾20151105是否存在。
[0080]S304:數據文件夾管理模塊3判斷超過用戶設定的保留天數的當前日期的子文件夾是否存在,若不存在則轉入步驟S301;若存在則刪除后,再轉入步驟S301。
[0081]例如當前日期為2015年11月5日,reseveday為2,那么會保留2天的數據文件,包括2015年11月4日和2015年11月3日的數據,那么檢查2015年11月2日以及之前日期對應的文件夾是否存在,若存在則刪除20151102、20151101、20151031……,清除過期的數據的文件夾。因為每隔一段時間都會檢查一次,所以不會有非常多的過期數據存在,保證不占用過多的磁盤空間。
[0082]參見圖4所示,步驟S4包括以下步驟:
[0083]S401:數據文件接收管理模塊4根據網管設備I標識判斷在S303創建的當前日期的子文件下判斷,設備標識子文件夾是否存在,若不存在則在當前日期的子文件下創建設備標識子文件夾,再轉入步驟S402,若存在則直接轉入步驟S402。
[0084]每個設備都會有一個唯一的標識,例如分配一個設備標識DID(1000)。由于網管數量較多,采用了多個數據文件處理進程進行負載均衡,那么每個設備對應的數據文件處理進程號DPN使用以下規則進行計算:
[0085]DPN=DID%procnum+l
[0086]DPN 取值從 I 到 procnum
[0087]當設備標識為10000時,對應的數據文件處理進程實例號為I,若當前日期為2015年11月5日,那么會在C:\MFPS\DroiRl\20151105文件夾下檢查名為“10000”文件夾是否存在,若不存在,則創建一個文件夾。每個設備對應的設備標識子文件夾每天只創建一次。
[0088]S402:數據文件接收管理模塊4根據網管設備I上傳文件的時間,在設備標識子文件夾下創建時標文件,文件名用“時間標識”的方式進行定義,轉入步驟S403。
[0089]由于定時向網管設備I要求狀態數據信息,那么可以將一天分為若干個時間區間,將每個時間區間獲取的文件指定一個時標值。例如:每隔一定時間會向設備采集一次狀態信息,如每隔10分鐘,那么I天將會分解為144個時間區間,那么時標的取值會從I到144。為了保證排序規則,文件名稱使用數字O補齊,例如:“001.dat”,“002.dat”,……“144.dat”。
[0090]網管設備I發送至數據文件接收管理模塊4的數據文件需經過壓縮算法進行處理后,再保存為時標文件;使用壓縮算法的目的是減少磁盤讀寫的時間,而會增加CPU的計算壓力,由于現在服務器資源中CPU的效率遠高于磁盤讀寫效率,所以這里使用這種方式來提高整個系統的處理效率。
[0091]S403:數據文件接收管理模塊4根據網管設備I標識將生成時標文件的文件名發送到網管設備I對應的數據文件處理進程。
[0092]若當前時間為2015年11月5日1點30分,文件名使用絕對路徑,本例中使用C:\MFPS\DPDIRl\20151105\10000\064.dat,發送到對應的數據文件處理進程。
[0093 ] 參見圖5所示,步驟S5包括以下步驟:
[0094]S501:多個數據文件處理管理模塊5根據用戶設定的工作線程總數和計算線程總數并發啟動多個工作線程和多個計算線程;
[0095]S502:數據文件處理管理模塊5啟動消息處理隊列用于接收步驟S403上報的文件名消息;
[0096]S503:數據文件處理管理模塊5等待所有工作線程和計算線程退出后,退出整個進程。
[0097]參見圖6所示,工作線程的處理流程如下:
[0098]S501A1:數據文件處理管理模塊5判斷是否獲取到退出消息,若沒有則轉入步驟S501A2,若有退出消息則轉入步驟S501A6 ;
[0099]S501A2:數據文件處理管理模塊5讀取S502中消息隊列的數據,若獲取到文件名,則進入步驟S501A4,若沒有獲取到文件,則進入步驟S501A3;
[0100]S501A3:數據文件處理管理模塊5等待2秒,轉入步驟S501A4 ;
[0101]S501A4:數據文件處理管理模塊5根據時標文件的文件名,讀取文件名對應的文件,根據指定壓縮算法解壓數據,并使用內存池轉換到智能指針保存的內存結構,同時將智能指針轉發到計算線程的隊列中,轉入步驟S501A5。
[0102]由于數據文件是不間斷的,所以使用內存池機制來分配內存,避免頻繁調用系統命令創建和銷毀內存,提高整體處理效率。由于還要考慮數據不僅在持久化過程中需要使用,在其他相關計算模塊也要使用,采用了智能指針來封裝內存數據結構,避免了數據的拷貝,并且能夠在所有模塊使用完數據后,自動釋放占用的內存,避免出現錯誤。
[0103]S501A5:數據文件處理管理模塊5使用批量寫入接口,將內存數據寫入數據庫,進行持久化保存,完成入庫處理邏輯,然后轉入步驟S501A1。使用批量寫入接口,提高數據庫寫入的效率。
[0104]S501A6:數據文件處理管理模塊5退出工作線程。
[0105]參見圖7所示,計算線程的處理流程如下:
[0106]S501B1:數據文件處理管理模塊5判斷是否獲取到退出消息,若沒有則轉入步驟S501B2,若有退出消息則轉入步驟S501B6。
[0107]S501B2:數據文件處理管理模塊5從隊列中獲取步驟S501A4中發送智能指針所保存的內存結構,若有數據則轉入步驟S501B4,若無數據轉入步驟S501B3。
[0108]S501B3:數據文件處理管理模塊5等待2秒,轉入步驟S501B4。
[0109]S501B4:數據文件處理管理模塊5根據具體的計算邏輯對數據進行處理,轉入步驟S501B5。
[0110]S501B5:數據文件處理管理模塊5當完成計算邏輯后,會釋放智能指針所保存的內存結構占用的內存,然后轉入步驟S501B1。
[0111]S501B6:數據文件處理管理模塊5退出計算線程。
[0112]本發明不局限于上述實施方式,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發明的保護范圍之內。本說明書中未作詳細描述的內容屬于本領域專業技術人員公知的現有技術。
【主權項】
1.一種網管時序文件并發處理系統,其特征在于,其包括:網管設備(1)、數據文件夾創建模塊(2)、數據文件夾管理模塊(3)、數據文件接收管理模塊(4)和數據文件處理管理模塊(5); 所述網管設備(I),用于上傳包含設備狀態的數據文件; 所述數據文件夾創建模塊(2),其根據用戶設定的進程數為每個數據文件處理進程創建一個根文件夾,并根據用戶設定的進程數為每個數據文件處理進程創建一個數據庫; 所述數據文件夾管理模塊(3),其根據用戶設定的進程數定時檢查每個數據文件處理進程的根文件夾是否存在,如果不存在,則創建根文件夾;所述數據文件夾管理模塊(3)判斷當前日期的子文件夾是否存在,如果不存在,則創建日期子文件夾;所述數據文件夾管理模塊(3)判斷超過用戶設定的保留天數的文件夾是否存在,如果存在,則刪除; 所述數據文件接收管理模塊(4),其根據網管設備(I)標識在當前日期的子文件夾下進一步創建設備標識子文件夾,并接收網管設備(I)發送來的數據文件并在標識子文件夾下創建時標文件,再發送時標文件的文件名至數據文件處理管理模塊(5); 所述數據文件處理管理模塊(5),其根據用戶設定的工作線程總數和計算線程總數并發啟動多個工作線程和多個計算線程;所述數據文件處理管理模塊(5)根據數據文件接收管理模塊(4)發送的文件名讀取文件并將文件中的數據寫入內存;所述數據文件處理管理模塊(5)將內存中的數據寫入數據文件夾創建模塊(2)創建的數據庫,同時根據具體的計算邏輯對內存中的數據進行處理。2.—種基于權利要求1所述一種網管時序文件并發處理系統的網管時序文件并發處理方法,其特征在于,包括以下步驟: SI,用戶預先設定數據文件的進程數,線程數,計算線程數,保留天數; S2,數據文件夾創建模塊(2)根據用戶設定的進程數為每個數據文件處理進程創建一個根文件夾;根據用戶設定的進程數為每個數據文件處理進程創建一個數據庫; S3,數據文件夾管理模塊(3)根據用戶設定的進程數定時檢查每個數據文件處理進程的根文件夾是否存在,如果不存在,則創建根文件夾;判斷當前日期的子文件夾是否存在,如果不存在,則創建當前日期的子文件夾;判斷超過用戶設定的保留天數的文件夾是否存在,如果存在,則刪除; S4,數據文件接收管理模塊(4)根據設備標識在當前日期的子文件夾下創建設備標識子文件夾;接收網管設備(I)發送來的數據文件并在標識子文件夾下創建時標文件;發送時標文件的文件名至數據文件處理管理模塊(5); S5,多個數據文件處理管理模塊(5)根據用戶設定的工作線程總數和計算線程總數并發啟動多個工作線程和多個計算線程,根據數據文件接收管理模塊(4)發送的文件名讀取文件并寫入內存,根據具體的計算邏輯對文件數據進行處理,同時將處理后的文件數據寫入數據文件夾創建模塊(2)創建的數據庫。3.—種如權利要求2所述的一種網管時序文件并發處理方法,其特征在于:步驟S2包括以下步驟: S201:數據文件夾創建模塊(2)讀取用戶設定的進程數及指定的可用物理硬盤分區,為每個數據文件處理進程創建一個根文件夾,并將所述根文件夾的目錄鏈接到不同的物理硬盤分區,使數據文件處理進程的根文件夾在用戶指定的可用物理硬盤分區平均分布; S202:數據文件夾創建模塊(2)根據用戶設定的進程數為每個數據文件處理進程創建一個數據庫。4.一種如權利要求2所述的一種網管時序文件并發處理方法,其特征在于:步驟S3包括以下步驟: S301:數據文件夾管理模塊(3)啟動文件夾管理進程后,若未檢測到進程退出標識,等待一定時間后進入步驟S302,若檢測到退出標識則退出文件夾管理進程; S302:數據文件夾管理模塊(3)根據用戶設定的進程數,遍歷所有數據文件處理進程的根文件夾,若未遍歷完成,則進入步驟S303;若完成遍歷則進入步驟S301; S303:數據文件夾管理模塊(3)判斷基于當前日期的子文件夾是否存在,若存在,則轉入步驟S304;若不存在則創建當前日期的子文件夾后,再轉入步驟S304; S304:數據文件夾管理模塊(3)判斷超過用戶設定的保留天數的當前日期的子文件夾是否存在,若不存在則轉入步驟S301;若存在則刪除后,再轉入步驟S301。5.—種如權利要求2所述的一種網管時序文件并發處理方法,其特征在于:步驟S4包括以下步驟: S401:數據文件接收管理模塊(4)根據網管設備(I)標識判斷在步驟S303創建的當前日期的子文件下判斷設備標識子文件夾是否存在,若不存在則在當前日期的子文件下創建設備標識子文件夾,再轉入步驟S402,若存在則直接轉入步驟S402; S402:數據文件接收管理模塊(4)根據網管設備(I)上傳文件的時間,在設備標識子文件夾下創建時標文件,轉入步驟S403; S403:數據文件接收管理模塊(4)根據網管設備(I)標識將生成的時標文件的文件名發送到網管設備(I)對應的數據文件處理進程。6.—種如權利要求2所述的一種網管時序文件并發處理方法,其特征在于:步驟S5包括以下步驟: S501:多個數據文件處理管理模塊(5)根據用戶設定的工作線程總數和計算線程總數并發啟動多個工作線程和多個計算線程; S502:數據文件處理管理模塊(5)啟動消息處理隊列用于接收步驟S403上報的文件名消息; S503:數據文件處理管理模塊(5)等待所有工作線程和計算線程退出后,退出整個進程。7.一種如權利要求6所述的一種網管時序文件并發處理方法,其特征在于:工作線程的處理流程如下: S501A1:數據文件處理管理模塊(5)判斷是否獲取到退出消息,若沒有則轉入步驟S501A2,若有退出消息則轉入步驟S501A6 ; S501A2:數據文件處理管理模塊(5)讀取S502中消息隊列的數據,若獲取到文件名,則進入S501A4,若沒有獲取到文件,則進入S501A3; S501A3:數據文件處理管理模塊(5)等待一定時間,轉入S401A4; S501A4:數據文件處理管理模塊(5)根據時標文件的文件名,讀取文件名對應的文件,根據指定壓縮算法解壓數據,并使用內存池轉換到智能指針保存的內存結構,同時將智能指針轉發到計算線程的隊列中,轉入S501A5 ; S501A5:數據文件處理管理模塊(5)使用批量寫入接口,將內存數據寫入數據庫,進行持久化保存,完成入庫處理邏輯,然后轉入S501A1; S501A6:數據文件處理管理模塊(5)退出工作線程。8.—種如權利要求6所述的一種網管時序文件并發處理方法,其特征在于,計算線程的處理流程如下: S501B1:數據文件處理管理模塊(5)判斷是否獲取到退出消息,若沒有則轉入步驟S501B2,若有退出消息則轉入步驟S501B6 ; S501B2:數據文件處理管理模塊(5)從隊列中獲取S501A4中發送智能指針所保存的內存結構,若有數據則轉入S501B4,若無數據轉入步驟S501B3; S501B3:數據文件處理管理模塊(5)等待一定時間后,轉入步驟S501B4; S501B4:數據文件處理管理模塊(5)根據具體的計算邏輯對數據進行處理,轉入步驟S501B5; S501B5:數據文件處理管理模塊(5)當完成計算邏輯后,會釋放智能指針所保存的內存結構占用的內存,然后轉入步驟S501B1; S501B6:數據文件處理管理模塊(5)退出計算線程。9.一種如權利要求2-8任意一項所述的一種網管時序文件并發處理方法,其特征在于:網管設備(I)發送至數據文件接收管理模塊(4)的數據文件需經過壓縮算法進行處理后,再保存為時標文件。10.—種如權利要求2-8任意一項所述的一種網管時序文件并發處理方法,其特征在于:每個設備對應的設備標識子文件夾每天只創建一次。
【文檔編號】G06F17/30GK105930504SQ201610303464
【公開日】2016年9月7日
【申請日】2016年5月10日
【發明人】鄒昊, 聶選選, 吳昊
【申請人】烽火通信科技股份有限公司