線程池和共享池組合優(yōu)化大負(fù)荷通訊服務(wù)器的制造方法
【專利摘要】本發(fā)明提供一種線程池和共享池組合優(yōu)化大負(fù)荷通訊服務(wù)器的方法。GPS監(jiān)控平臺(tái)上有成千上萬(wàn)臺(tái)監(jiān)控終端,它們不停的向監(jiān)控中心發(fā)送數(shù)據(jù)報(bào)文。由于報(bào)文的數(shù)量龐大,同時(shí)還需要解析,給通訊服務(wù)器帶來(lái)了很大的壓力。本發(fā)明的基于線程池和共享池組合優(yōu)化方法主要用于當(dāng)服務(wù)器連接成千上萬(wàn)的GPS客戶端時(shí),需要對(duì)上報(bào)數(shù)據(jù)及時(shí)解析入庫(kù)的情況。為服務(wù)器的穩(wěn)定、及時(shí)響應(yīng)提供了一種高效的處理方法。
【專利說(shuō)明】線程池和共享池組合優(yōu)化大負(fù)荷通訊服務(wù)器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于信息【技術(shù)領(lǐng)域】通訊服務(wù)器的一個(gè)優(yōu)化方案,是一種利用線程池技術(shù)和共享池技術(shù)組合,大大提高通訊服務(wù)器性能的有效方法。
【背景技術(shù)】
[0002]GPS監(jiān)控平臺(tái)上有成千上萬(wàn)臺(tái)監(jiān)控終端,它們不停的向監(jiān)控中心發(fā)送數(shù)據(jù)報(bào)文。由于報(bào)文的數(shù)量龐大,同時(shí)還需要解析,給通訊服務(wù)器帶來(lái)了很大的壓力。在使用過(guò)程中暴露出一些問(wèn)題,主要體現(xiàn)在以下幾點(diǎn):
1、往往由于通訊服務(wù)器不能及時(shí)響應(yīng),而造成上報(bào)數(shù)據(jù)丟失;
2、上報(bào)數(shù)據(jù)量太大,造成服務(wù)器假死機(jī);
3、服務(wù)器處理速度跟不上客戶端的上報(bào)速度,造成大量上報(bào)數(shù)據(jù)擠壓,不能及時(shí)入庫(kù)。
[0003]目前解決此類問(wèn)題的方法主要有:
1、增加硬件配置,采用高性能服務(wù)器,可以在一定程度上解決問(wèn)題。
[0004]2、采用分布式服務(wù)器,把監(jiān)控平臺(tái)劃成幾個(gè)區(qū)域,每個(gè)區(qū)域有專門的服務(wù)器,每個(gè)區(qū)域的客戶端只要上報(bào)到區(qū)域服務(wù)器即可,然后區(qū)域服務(wù)器處理完成后統(tǒng)一入到一個(gè)后臺(tái)數(shù)據(jù)庫(kù)中。
[0005]這些方法都能在一定程度上解決服務(wù)器的負(fù)荷問(wèn)題,但是需要增加額外的投入,硬件的巨大開(kāi)支使得GPS平臺(tái)的運(yùn)營(yíng)舉步維艱。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是提供一種基于線程池和共享池組合的優(yōu)化技術(shù),在不增加任何硬件成本的前提下,極大的提高服務(wù)器的效率。
[0007]所述方法包括如下步驟:
1、服務(wù)器初始化緩沖隊(duì)列,綁定端口開(kāi)始監(jiān)聽(tīng);
2、接收客戶端數(shù)據(jù),放入緩沖隊(duì)列;
3、根據(jù)緩沖隊(duì)列的記錄數(shù),計(jì)算出需要的線程數(shù),所有線程通過(guò)線程池管理;
4、線程讀取緩沖隊(duì)列數(shù)據(jù),到共享池中搜索歷史解析語(yǔ)句,如果沒(méi)有找到,就開(kāi)始解析并把解析結(jié)果放到共享池中,以備下次直接使用;
5、根據(jù)解析的結(jié)果形成數(shù)據(jù)庫(kù)入庫(kù)指令;
6、進(jìn)行入庫(kù)操作,完成后線程退出。
[0008]本發(fā)明相對(duì)于現(xiàn)有技術(shù)的創(chuàng)新點(diǎn)是:
1、從客戶端接收的數(shù)據(jù)不是直接解析,而是先放入緩沖隊(duì)列,避免了大規(guī)模數(shù)據(jù)浪涌時(shí)造成的服務(wù)器宕機(jī);
2、利用線程池來(lái)處理緩沖隊(duì)列的數(shù)據(jù),可以有效管理所有線程的活動(dòng),避免了線程僵死;
3、利用共享池存放解析過(guò)的指令,避免了指令的重復(fù)解析,提高了解析效率。
【專利附圖】
【附圖說(shuō)明】
[0009]圖1是服務(wù)器初始化接收數(shù)據(jù)流程圖;
圖2是利用線程池管理線程流程圖;
圖3是線程池和共享池優(yōu)化解析數(shù)據(jù)流程。
【具體實(shí)施方式】
[0010]結(jié)合附圖給出本發(fā)明的一個(gè)具體實(shí)施例。
[0011]本發(fā)明的基于線程池和共享池組合優(yōu)化方法主要用于當(dāng)服務(wù)器連接成千上萬(wàn)的GPS客戶端時(shí),需要對(duì)上報(bào)數(shù)據(jù)及時(shí)解析入庫(kù)的情況。為服務(wù)器的穩(wěn)定、及時(shí)響應(yīng)提供了一種高效的處理方法。
[0012]為了實(shí)現(xiàn)該優(yōu)化方法,首先需要初始化連接緩沖隊(duì)列,從客戶端接收的數(shù)據(jù)不是直接解析,而是先放入緩沖隊(duì)列,避免了大規(guī)模數(shù)據(jù)浪涌時(shí)造成的服務(wù)器宕機(jī)。對(duì)數(shù)據(jù)的處理采用異步多線程方式,所有線程通過(guò)線程池統(tǒng)一管理。線程對(duì)數(shù)據(jù)解析時(shí),首先在共享池中查找是否解析過(guò)該指令,如果有則直接使用解析結(jié)果,沒(méi)有則進(jìn)行解析并把結(jié)果存到共享池中,避免了以后的重復(fù)解析。
[0013]具體流程如下:
1、在步驟101中,服務(wù)器進(jìn)行初始化工作,包括緩沖隊(duì)列、線程池和共享池;
2、在步驟102中,綁定主機(jī)端口進(jìn)行監(jiān)聽(tīng);
3、在步驟103中,接收客戶端發(fā)送的數(shù)據(jù);
4、在步驟104中,將接收的數(shù)推入緩沖隊(duì)列,繼續(xù)接收新的數(shù)據(jù);
5、在步驟201中,獲取緩沖隊(duì)列記錄數(shù),按每個(gè)線程解析50條指令計(jì)算,根據(jù)記錄數(shù),計(jì)算需要的線程數(shù);
6、在步驟202中,如果線程數(shù)過(guò)少,則自動(dòng)創(chuàng)建新線程;
8、在步驟301中,定時(shí)器觸發(fā),線程從緩沖隊(duì)列獲取數(shù)據(jù);
9、在步驟302中,線程在共享池中查找,如果查到,則直接獲取結(jié)果,如果沒(méi)有找到,則進(jìn)行解析,同時(shí)將解析后的數(shù)據(jù)寫到共享池中;
10、在步驟303中,根據(jù)解析的結(jié)果,形成入庫(kù)指令;
11、在步驟304中,執(zhí)行入庫(kù)指令,寫入數(shù)據(jù)庫(kù);
12、在步驟305中,將線程解析計(jì)數(shù)加I,并判斷解析數(shù)是否達(dá)到50個(gè),達(dá)到了就自動(dòng)終止,沒(méi)有達(dá)到就在下一個(gè)時(shí)鐘周期繼續(xù)從緩沖隊(duì)列讀取數(shù)據(jù)進(jìn)行處理。
【權(quán)利要求】
1.本發(fā)明的目的是提供一種基于線程池和共享池組合的優(yōu)化技術(shù),在不增加任何硬件成本的前提下,極大的提高服務(wù)器的效率。
2.所述方法包括如下步驟: 1)、服務(wù)器初始化緩沖隊(duì)列,綁定端口開(kāi)始監(jiān)聽(tīng); 2)、接收客戶端數(shù)據(jù),放入緩沖隊(duì)列; 3)、根據(jù)緩沖隊(duì)列的記錄數(shù),計(jì)算出需要的線程數(shù),所有線程通過(guò)線程池管理; 4)、線程讀取緩沖隊(duì)列數(shù)據(jù),到共享池中搜索歷史解析語(yǔ)句,如果沒(méi)有找到,就開(kāi)始解析并把解析結(jié)果放到共享池中,以備下次直接使用; 5)、根據(jù)解析的結(jié)果形成數(shù)據(jù)庫(kù)入庫(kù)指令; 6 )、進(jìn)行入庫(kù)操作,完成后線程退出。
3.本發(fā)明相對(duì)于現(xiàn)有技術(shù)的創(chuàng)新點(diǎn)是: 1)、從客戶端接收的數(shù)據(jù)不是直接解析,而是先放入緩沖隊(duì)列,避免了大規(guī)模數(shù)據(jù)浪涌時(shí)造成的服務(wù)器宕機(jī); 2)、利用線程池來(lái)處理緩沖隊(duì)列的數(shù)據(jù),可以有效管理所有線程的活動(dòng),避免了線程僵死; 3)、利用共享池存放解析過(guò)的指令,避免了指令的重復(fù)解析,提高了解析效率。
【文檔編號(hào)】H04L12/861GK104301253SQ201410561346
【公開(kāi)日】2015年1月21日 申請(qǐng)日期:2014年10月21日 優(yōu)先權(quán)日:2014年10月21日
【發(fā)明者】胡平 申請(qǐng)人:合肥星服信息科技有限責(zé)任公司