本發(fā)明涉及電力通信技術(shù)領(lǐng)域,具體涉及一種服務(wù)器端接收客戶端并發(fā)連接和數(shù)據(jù)處理方法。
背景技術(shù):
在電力監(jiān)控領(lǐng)域,隨著互聯(lián)網(wǎng)的發(fā)展和用戶的增加,監(jiān)控主站服務(wù)器端面對的客戶端數(shù)量越來越多。在現(xiàn)有的大多數(shù)服務(wù)器端接收客戶端的請求時,直接處理用戶的數(shù)據(jù),返回給客戶端相應(yīng)的應(yīng)答后才開始響應(yīng)下一個用戶請求,因此數(shù)據(jù)處理時間成為制約服務(wù)器端響應(yīng)的瓶頸;另外,少數(shù)服務(wù)器端程序中,生成多個進程或線程并行處理多個用戶請求,進程或線程可以按需或事先生成,多個同時運行的進程或線程將會消耗大量的系統(tǒng)資源,如果客戶端請求數(shù)量過多,勢必會導(dǎo)致響應(yīng)客戶端請求的速度變慢。
針對上述問題,我們迫切需要一種技術(shù)把數(shù)據(jù)的接收和處理分隔開,使服務(wù)器在一定時間內(nèi)能夠響應(yīng)盡量多的客戶端請求。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題中的不足,本發(fā)明的目的在于:提供一種服務(wù)器端接收客戶端并發(fā)連接和數(shù)據(jù)處理方法,能夠?qū)蛻舳说臄?shù)據(jù)進行高效的處理、應(yīng)答。
本發(fā)明為解決其技術(shù)問題所采用的技術(shù)方案為:
所述服務(wù)器端接收客戶端并發(fā)連接和數(shù)據(jù)處理方法,包括以下步驟:
a、服務(wù)器端開辟一塊首尾相連的緩沖區(qū);
b、緩沖區(qū)設(shè)置讀指針和寫指針,并同時指向緩沖區(qū)隊列的頭部;
c、服務(wù)器端接收客戶端請求,接收到之后把數(shù)據(jù)放入寫指針指向的緩沖區(qū)地址,同時寫指針自增一個數(shù)據(jù)單位,讀指針指向下一個數(shù)據(jù)單元,然后接收下一個連接請求,而不對接收到的數(shù)據(jù)做任何處理;
d、服務(wù)器端為緩沖區(qū)的數(shù)據(jù)處理專門開辟一個任務(wù),此任務(wù)讀取寫指針指向的緩沖區(qū)位置的數(shù)據(jù),然后對數(shù)據(jù)做相應(yīng)的處理,對客戶端進行應(yīng)答,然后讀指針自增一個數(shù)據(jù)單位,直到與寫指針重合。
進一步優(yōu)選,步驟a中的緩沖區(qū)為環(huán)形隊列緩沖區(qū),環(huán)形隊列緩沖區(qū)的大小固定。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
本發(fā)明可以在短時間內(nèi)響應(yīng)更多的客戶端請求,而把客戶端的數(shù)據(jù)處理交由另一個任務(wù)單獨執(zhí)行,提高了服務(wù)器端程序響應(yīng)效率。
附圖說明
圖1本發(fā)明的流程框圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明實施例做進一步描述:
實施例1
如圖1所示所述服務(wù)器端接收客戶端并發(fā)連接和數(shù)據(jù)處理方法,包括以下步驟:
a、服務(wù)器端開辟一塊首尾相連的緩沖區(qū);
b、緩沖區(qū)設(shè)置讀指針和寫指針,并同時指向緩沖區(qū)隊列的頭部;
c、服務(wù)器端接收客戶端請求,接收到之后把數(shù)據(jù)放入寫指針指向的緩沖區(qū)地址,同時寫指針自增一個數(shù)據(jù)單位,讀指針指向下一個數(shù)據(jù)單元,然后接收下一個連接請求,而不對接收到的數(shù)據(jù)做任何處理;
d、服務(wù)器端為緩沖區(qū)的數(shù)據(jù)處理專門開辟一個任務(wù),此任務(wù)讀取寫指針指向的緩沖區(qū)位置的數(shù)據(jù),然后對數(shù)據(jù)做相應(yīng)的處理,對客戶端進行應(yīng)答,然后讀指針自增一個數(shù)據(jù)單位,直到與寫指針重合。
其中,步驟a中的緩沖區(qū)為環(huán)形隊列緩沖區(qū),環(huán)形隊列緩沖區(qū)的大小固定。