行分析處理,以獲取有商業(yè)價(jià)值的信息。
[0043]在具體實(shí)施中,節(jié)點(diǎn)服務(wù)器與處理線程之間的映射關(guān)系,使得節(jié)點(diǎn)服務(wù)器可以按照預(yù)設(shè)的映射關(guān)系分發(fā)至相應(yīng)的處理線程。在本發(fā)明一實(shí)施例中,采用循環(huán)映射的方法將各個(gè)節(jié)點(diǎn)服務(wù)器映射至各個(gè)處理線程,這種建立節(jié)點(diǎn)服務(wù)器和處理線程之間的映射關(guān)系的方法,簡(jiǎn)單實(shí)用。
[0044]例如,有10個(gè)節(jié)點(diǎn)服務(wù)器,分別為節(jié)點(diǎn)服務(wù)器S1-S10,及4個(gè)處理線程L1-L4,按照循環(huán)的方法將節(jié)點(diǎn)服務(wù)器Sl-S1映射至處理線程L1-L4時(shí),節(jié)點(diǎn)服務(wù)器S1、S5、S9映射至處理線程LI,節(jié)點(diǎn)服務(wù)器S2、S6、S10映射至處理線程L2,節(jié)點(diǎn)服務(wù)器S3映射至處理線程L3,節(jié)點(diǎn)服務(wù)器S4映射至處理線程L4。
[0045]步驟S102:將各個(gè)節(jié)點(diǎn)服務(wù)器的日志文件按照所述映射關(guān)系分發(fā)至對(duì)應(yīng)的處理線程進(jìn)行處理。
[0046]在具體實(shí)施中,在建立節(jié)點(diǎn)服務(wù)器與處理線程之間的映射關(guān)系之后,各個(gè)節(jié)點(diǎn)服務(wù)器產(chǎn)生的日志文件便可以下發(fā)至相應(yīng)的處理線程進(jìn)行分析處理,與將節(jié)點(diǎn)服務(wù)器產(chǎn)生的日志文件隨機(jī)下發(fā)至處理線程相比,可以避免將節(jié)點(diǎn)服務(wù)器產(chǎn)生的日志文件重復(fù)下發(fā)至不同的處理線程進(jìn)行處理,避免處理線程的處理資源的浪費(fèi),提高日志文件的處理效率。
[0047]在具體實(shí)施中,為了本發(fā)明實(shí)施例中的日志文件處理方法還可以包括:
[0048]步驟S103:當(dāng)有新節(jié)點(diǎn)服務(wù)器加入時(shí),獲取所述的各個(gè)節(jié)點(diǎn)服務(wù)器中最后一個(gè)節(jié)點(diǎn)服務(wù)器對(duì)應(yīng)的處理線程。
[0049]在本發(fā)明一實(shí)施例中,為了便于將新加入的節(jié)點(diǎn)服務(wù)器映射至相應(yīng)的處理線程,可以在采用循環(huán)映射的方式在將當(dāng)前的節(jié)點(diǎn)服務(wù)器映射至處理線程結(jié)束時(shí),記錄最后一個(gè)節(jié)點(diǎn)服務(wù)器映射至的處理線程。
[0050]同樣以上面將節(jié)點(diǎn)服務(wù)器Sl-SlO映射至處理線程L1-L4為例,當(dāng)將節(jié)點(diǎn)服務(wù)器Sl-SlO映射至處理線程L1-L4結(jié)束時(shí),可以將最后一個(gè)節(jié)點(diǎn)服務(wù)器SlO映射至的處理線程,即處理線程L2。
[0051]步驟S104:將所述新加入的節(jié)點(diǎn)服務(wù)器映射至所述最后一個(gè)節(jié)點(diǎn)服務(wù)器對(duì)應(yīng)的處理線程的下一處理線程。
[0052]在本發(fā)明一實(shí)施例中,當(dāng)加入新的節(jié)點(diǎn)服務(wù)器時(shí),通過獲取最后一個(gè)節(jié)點(diǎn)服務(wù)器映射至的處理線程,便可以得知,新加入的節(jié)點(diǎn)服務(wù)器按照上述的循環(huán)映射的方式,應(yīng)該映射至最后一個(gè)節(jié)點(diǎn)服務(wù)器對(duì)應(yīng)的處理線程的下一處理線程。
[0053]例如,當(dāng)有新加入的節(jié)點(diǎn)服務(wù)器S11-S15需要映射時(shí),由于最后一個(gè)節(jié)點(diǎn)服務(wù)器-節(jié)點(diǎn)服務(wù)器SlO映射至的處理線程為L(zhǎng)2,那么,按照循環(huán)映射的方式,應(yīng)該從處理線程L3再次開始進(jìn)行循環(huán)映射,即:將節(jié)點(diǎn)服務(wù)器Sll映射至處理線程L3,節(jié)點(diǎn)服務(wù)器S12映射至處理線程L4,節(jié)點(diǎn)服務(wù)器S13映射至處理線程LI,節(jié)點(diǎn)服務(wù)器S14映射至處理線程L2,節(jié)點(diǎn)服務(wù)器S15映射至處理線程L3。
[0054]在具體實(shí)施中,本發(fā)明實(shí)施例中的日志文件處理方法還可以根據(jù)處理線程的負(fù)載,對(duì)節(jié)點(diǎn)服務(wù)器和處理線程之間的映射關(guān)系進(jìn)行實(shí)時(shí)的調(diào)整,以使得處理線程之間實(shí)現(xiàn)負(fù)載均衡,具體請(qǐng)參見圖2和圖3。
[0055]圖2是本發(fā)明實(shí)施例中的另一種日志文件處理方法的流程圖。如圖2所示的日志文件處理方法,可以包括:
[0056]步驟S201:建立所述節(jié)點(diǎn)服務(wù)器和處理線程之間的映射關(guān)系。
[0057]步驟S202:將各個(gè)節(jié)點(diǎn)服務(wù)器的日志文件按照所述映射關(guān)系分發(fā)至對(duì)應(yīng)的處理線程進(jìn)行處理。
[0058]步驟S201?步驟S202的詳細(xì)介紹請(qǐng)參見圖1中的詳細(xì)介紹,在此不再贅述。
[0059]步驟S203:當(dāng)滿足預(yù)設(shè)的條件時(shí),對(duì)所述映射關(guān)系進(jìn)行調(diào)整,直至各個(gè)處理線程之間達(dá)到負(fù)載均衡。
[0060]在具體實(shí)施中,為了提高處理線程運(yùn)行的可靠性和穩(wěn)定性,可以根據(jù)各個(gè)處理線程的負(fù)載對(duì)節(jié)點(diǎn)服務(wù)器和處理線程之間的映射關(guān)系進(jìn)行動(dòng)態(tài)的調(diào)整,以實(shí)現(xiàn)處理線程之間的負(fù)載均衡,具體請(qǐng)參見圖3,可以包括以下步驟:
[0061]步驟S301:獲取預(yù)設(shè)時(shí)間段內(nèi)第一處理線程和第二處理線程的負(fù)載量。
[0062]在具體實(shí)施中,為了對(duì)節(jié)點(diǎn)服務(wù)器和處理線程之間的映射關(guān)系進(jìn)行動(dòng)態(tài)調(diào)整,實(shí)現(xiàn)各個(gè)處理線程之間的負(fù)載均衡,可以獲取預(yù)設(shè)時(shí)間段內(nèi)負(fù)載量最大的處理線程和負(fù)載量最小的處理線程。其中,為了描述的簡(jiǎn)便,分別將所述預(yù)設(shè)時(shí)間段內(nèi)負(fù)載量最大的處理線程和負(fù)載量最小的處理線程分別稱為第一處理線程和第二處理線程。
[0063]步驟S302:判斷第一處理線程和第二處理線程的負(fù)載量差值是否大于所述第一閾值。
[0064]在本發(fā)明一實(shí)施例中,將第一處理線程和第二處理線程之間的負(fù)載量差值與預(yù)設(shè)的第一閾值進(jìn)行比較,并通過比較結(jié)果來確定處理線程之間是否處于負(fù)載均衡狀態(tài),即當(dāng)?shù)谝惶幚砭€程和第二處理線程之間的負(fù)載量差值小于預(yù)設(shè)的第一閾值,則視為處理線程之間實(shí)現(xiàn)了負(fù)載均衡。
[0065]在具體實(shí)施中,當(dāng)判斷結(jié)果為是時(shí),可以執(zhí)行步驟S303,否則,則不執(zhí)行任何的操作。
[0066]步驟S303:分別獲取第一處理線程對(duì)應(yīng)的節(jié)點(diǎn)服務(wù)器和第二處理線程對(duì)應(yīng)的節(jié)點(diǎn)服務(wù)器在所述預(yù)設(shè)時(shí)間段內(nèi)的日志文件增量。
[0067]在本發(fā)明一實(shí)施例中,當(dāng)確定第一處理線程和第二處理線程的負(fù)載量差值大于第一閾值時(shí),表示處理線程之間已經(jīng)不再處于負(fù)載均衡的狀態(tài),此時(shí),需要對(duì)節(jié)點(diǎn)服務(wù)器和處理線程之間的映射關(guān)系進(jìn)行調(diào)整,以使得各個(gè)處理線程之間再次達(dá)到負(fù)載均衡。
[0068]為了對(duì)節(jié)點(diǎn)服務(wù)器和處理線程之間的映射關(guān)系進(jìn)行調(diào)整,可以首先獲取第一處理線程對(duì)應(yīng)的節(jié)點(diǎn)服務(wù)器和第二處理線程對(duì)應(yīng)的節(jié)點(diǎn)服務(wù)器在所述預(yù)設(shè)時(shí)間段內(nèi)的日志文件增量,以對(duì)第一處理線程和第二先生對(duì)應(yīng)的節(jié)點(diǎn)服務(wù)器的日志文件變化情況進(jìn)行預(yù)估。
[0069]步驟S304:按照日志文件增量從小到大的順序遍歷所述第一處理線程對(duì)應(yīng)的各個(gè)節(jié)點(diǎn)服務(wù)器,將當(dāng)前位序的節(jié)點(diǎn)服務(wù)器重新映射至所述第二處理線程,并將所述第一處理線程與所述第二處理線程的負(fù)載量差值與所述第一閾值進(jìn)行比較。
[0070]在具體實(shí)施中,當(dāng)獲取到第一處理線程對(duì)應(yīng)的各個(gè)節(jié)點(diǎn)服務(wù)器在預(yù)設(shè)時(shí)間段內(nèi)的日志文件增量時(shí),可以按照日志文件增量從大到小的順序?qū)⒌谝惶幚砭€程對(duì)應(yīng)的節(jié)點(diǎn)服務(wù)器進(jìn)行排序,并按照日志文件增量從大到小的順序?qū)⒌谝惶幚砭€程對(duì)應(yīng)的各個(gè)節(jié)點(diǎn)服務(wù)器依次重新映射至第二處理線程,以使得第一處理線程和第二處理線程之間的負(fù)載量差值小于第一閾值,即重新實(shí)現(xiàn)負(fù)載均衡。
[0071]步驟S305:當(dāng)確定所述第一處理線程與所述第二處理線程之間的負(fù)載量差值大于所述第一閾值時(shí),則將下一位序的節(jié)點(diǎn)服務(wù)器映射至所述第二處理線程,直至所述第一處理線程與所述第二處理線程的負(fù)載量差值小于所述第一閾值。
[0072]在具體實(shí)施中,當(dāng)按照日志文件增量從大到小的順序?qū)⒌谝惶幚砭€程對(duì)應(yīng)的各個(gè)節(jié)點(diǎn)服務(wù)器依次重新映射至第二處理線程時(shí),每一次將第一處理線程對(duì)應(yīng)的節(jié)點(diǎn)服務(wù)器映射至第二處理線程時(shí),均判斷第一處理線程與所述第二處理線程的負(fù)載量差值是否小于所述第一閾值,即:
[0073](ThreadLoadMax-CurMaxNodeLoad) - (ThreadLoadMin+CurMaxNodeLoad)< threshhold (I)
[0074]其中,ThreadLoadMax表示第一處理線程,ThreadLoadMin表示第二處理線程,CurMaxNodeLoad表示被搬迀至第二處理線程的當(dāng)前位序的節(jié)點(diǎn)服務(wù)器,threshhold表示第一閾值。
[0075]當(dāng)滿足上式(I)時(shí),則說明各個(gè)處理線程之間重新達(dá)到負(fù)載均衡,此時(shí)可以停止將第一線程對(duì)應(yīng)的節(jié)點(diǎn)服務(wù)器重新映射至第二處理線程。
[0076]反之,當(dāng)仍然出現(xiàn):
[0077](ThreadLoadMax-CurMaxNodeLoad) -(ThreadLoadMin+CurMaxNodeLoad) >threshhold (2)
[0078]則繼續(xù)將下一位序的節(jié)點(diǎn)服務(wù)器重新映射至第二處理線程,直至滿足式(I)。
[0079]步驟S306:當(dāng)確定將當(dāng)前位序的節(jié)點(diǎn)服務(wù)器重新映射至所述第二處理線程,所述第二處理線程與所述第一處理線程的負(fù)載量差值大于所述第一閾值時(shí),則舍棄當(dāng)前位序的節(jié)點(diǎn)服務(wù)器,將下一位序的節(jié)點(diǎn)服務(wù)器重新映射至所述第二處理線程,直至所述第一處理線程與所述第二處理線程的負(fù)載量差值小于所述第一閾值。
[0080]在具體實(shí)施中,當(dāng)按照日志文件增量從大到小的順序?qū)⒌谝惶幚砭€程對(duì)應(yīng)的各個(gè)節(jié)點(diǎn)服務(wù)器依次重新映射至第二處理線程時(shí),當(dāng)將第一處理線程對(duì)應(yīng)的當(dāng)前位序的節(jié)點(diǎn)服務(wù)器映射至第二線程時(shí),可能會(huì)出現(xiàn)下述的情況,即:
[0081](ThreadLoadMin+CurMaxNod