一種基于單進(jìn)程的數(shù)據(jù)異步查詢方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種單進(jìn)程的數(shù)據(jù)異步查詢方法及系統(tǒng),建立長連接的服務(wù)端,在服務(wù)端監(jiān)聽每個客戶端發(fā)送過來的請求,定義一個文件描述集合用于存儲文件描述,定義一個數(shù)組用于存儲文件描述集合ID和編號,將客戶端發(fā)送的請求抽象為一個文件描述,放入文件描述集合中,判斷是否有新的請求,如果有則將新請求的ID加入數(shù)組,否則直接處理數(shù)組,每處理完一個請求后,將信息返回給客戶端,然后在服務(wù)端的數(shù)組中將這個請求ID和對應(yīng)編號刪除;本發(fā)明通過文件描述集合的方法,將請求的ID放入數(shù)組中,程序內(nèi)部只需處理這個數(shù)組,這樣就避免通訊程序空閑等待,極大提高通訊程序的查詢效率;充分利用端口資源,大幅提高查詢效率,減小了系統(tǒng)資源的耗費。
【專利說明】一種基于單進(jìn)程的數(shù)據(jù)異步查詢方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及電信領(lǐng)域,尤其涉及一種基于單進(jìn)程的數(shù)據(jù)異步查詢方法及系統(tǒng)。
【背景技術(shù)】
[0002] BOSS系統(tǒng)中存在多種查詢方式:文件方式,內(nèi)存方式,數(shù)據(jù)庫方式,不同查詢在響 應(yīng)速度上有不同的要求。
[0003] 電信未出賬話費查詢,要求查詢結(jié)果在很短的時間內(nèi)返回給客戶端,否則造成客 戶端積壓,會造成難以估計后果,然而現(xiàn)有的任務(wù)處理方法,是客戶端每發(fā)起一個請求,月艮 務(wù)端就新建一個子進(jìn)程處理這筆請求,這就造成了主機有過多的進(jìn)程,還有很多僵死的進(jìn) 程無法處理,造成主機設(shè)備壓力較大。
[0004] 因此,需要研發(fā)一種新的查詢方式及系統(tǒng),能在消耗盡量少的系統(tǒng)資源的情況下, 迅速響應(yīng)客戶端的查詢請求。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明所要解決的技術(shù)問題是提供一種在盡量少的消耗系統(tǒng)資源的情況下,迅速 響應(yīng)客戶端請求的查詢方法。
[0006] 本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種基于單進(jìn)程的異步查詢方法,包 括如下步驟:
[0007] 步驟1 :建立長連接的服務(wù)端,并在服務(wù)端內(nèi)建立一個文件描述集合及存儲文件 描述集合ID和其編號的數(shù)組;
[0008] 步驟2 :服務(wù)端實時監(jiān)聽客戶端請求,每收到一條請求將請求抽象成一個文件描 述;
[0009] 步驟3 :判斷文件描述集合是否為空,如果是則直接執(zhí)行步驟4,否則清空文件描 述集合,執(zhí)行步驟4;
[0010] 步驟4 :將文件描述放入文件描述集合中,并將此時文件描述集合對應(yīng)的ID及其 編號存入數(shù)組中;
[0011] 步驟5 :根據(jù)數(shù)組中文件描述集合ID的最大值,判斷文件描述集合的描述是否發(fā) 生變化,如果發(fā)生變化,執(zhí)行步驟6 ;否則直接執(zhí)行步驟7 ;
[0012] 步驟6 :檢測文件描述是否加入了文件描述集合,如果加入了則將文件集合的ID 和編號加入數(shù)組中,執(zhí)行步驟7 ;否則直接執(zhí)行步驟7 ;
[0013] 步驟7 :用一個FOR循環(huán)處理存儲模塊,利用查詢函數(shù)取得查詢結(jié)果,將查詢結(jié)果 返回給客戶端;
[0014] 步驟8 :將數(shù)組中對應(yīng)的文件描述集合ID和編號刪除。
[0015] 本發(fā)明的有益效果是:實現(xiàn)單進(jìn)程異步查詢,避免通訊程序空閑等待,極大提高了 未出賬話費查詢的效率;大幅提高查詢效率,減小了系統(tǒng)資源的耗費。
[0016] 在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0017] 進(jìn)一步,所述用于存儲文件描述集合對應(yīng)ID和編號的數(shù)組可采用鏈表替換。
[0018] 進(jìn)一步,所述查詢請求包括客戶端ID和查詢內(nèi)容信息。
[0019] 本發(fā)明解決上述技術(shù)問題的另一技術(shù)方案如下:一種基于單進(jìn)程的數(shù)據(jù)異步查詢 系統(tǒng),包括若干個客戶端和一個服務(wù)端,所述服務(wù)端包括請求接收模塊、文件描述集合、存 儲模塊、請求處理模塊、結(jié)果反饋模塊和數(shù)據(jù)刪除模塊;
[0020] 所述請求接收模塊,其用于接收各個客戶端發(fā)送的查詢請求,并將查詢請求抽象 為文件描述發(fā)送給文件描述集合;
[0021] 所述文件描述集合,其用于存儲請求接收模塊發(fā)送的查詢請求的文件描述;
[0022] 所述存儲模塊,其用于存儲文件描述集合對應(yīng)的ID和編號;
[0023] 所述請求處理模塊,其用于循環(huán)處理存儲模塊,調(diào)用查詢函數(shù)取得查詢結(jié)果,將查 詢出結(jié)果反饋給結(jié)果返回模塊;
[0024] 所述結(jié)果返回模塊,其用于將請求處理模塊發(fā)送的處理結(jié)果反饋給相應(yīng)客戶端;
[0025] 所述數(shù)據(jù)刪除模塊,其用于將存儲模塊中已處理完的文件描述集合ID和編號刪 除。
[0026] 在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0027] 進(jìn)一步,所述存儲模塊可采用數(shù)組或鏈表。
[0028] 進(jìn)一步,所述查詢請求包括客戶端ID和查詢內(nèi)容信息。
【專利附圖】
【附圖說明】
[0029] 圖1為本發(fā)明所述一種單進(jìn)程的數(shù)據(jù)異步查詢方法流程圖;
[0030] 圖2為本發(fā)明所述一種單進(jìn)程的數(shù)據(jù)異步查詢系統(tǒng)框圖。
[0031] 附圖中,各標(biāo)號所代表的部件列表如下:
[0032] 100、客戶端,200、服務(wù)端,201請求接收模塊,202、文件描述集合,203、存儲模 塊,204、請求處理模塊,205、結(jié)果反饋模塊,206、數(shù)據(jù)刪除模塊。
【具體實施方式】
[0033] 以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實例只用于解釋本發(fā)明,并 非用于限定本發(fā)明的范圍。
[0034] 如圖1所示,一種基于單進(jìn)程的數(shù)據(jù)異步查詢方法,包括如下步驟:
[0035] 步驟1 :建立長連接的服務(wù)端,并在服務(wù)端內(nèi)建立一個文件描述集合及存儲文件 描述集合ID和其編號的數(shù)組;
[0036] 步驟2 :服務(wù)端實時監(jiān)聽客戶端請求,每收到一條請求將請求抽象成一個文件描 述;
[0037] 步驟3 :判斷文件描述集合是否為空,如果是則直接執(zhí)行步驟4,否則清空文件描 述集合,執(zhí)行步驟4;
[0038] 步驟4 :將文件描述放入文件描述集合中,并將此時文件描述集合對應(yīng)的ID及其 編號存入數(shù)組中;
[0039] 步驟5 :根據(jù)數(shù)組中文件描述集合ID的最大值,判斷文件描述集合的描述是否發(fā) 生變化,如果發(fā)生變化,執(zhí)行步驟6 ;否則直接執(zhí)行步驟7 ;
[0040] 步驟6 :檢測文件描述是否加入了文件描述集合,如果加入了則將文件集合的ID 和編號加入數(shù)組中,執(zhí)行步驟7 ;否則直接執(zhí)行步驟7 ;
[0041] 步驟7 :用一個FOR循環(huán)處理存儲模塊,利用查詢函數(shù)取得查詢結(jié)果,將查詢結(jié)果 返回給客戶端;
[0042] 步驟8 :將數(shù)組中對應(yīng)的文件描述集合ID和編號刪除。
[0043] 其中,所述用于存儲文件描述集合對應(yīng)ID和編號的數(shù)組可采用鏈表替換。
[0044] 其中,所述查詢請求包括客戶端ID和查詢內(nèi)容信息。
[0045] 如圖2所示,一種基于單進(jìn)程的數(shù)據(jù)異步查詢系統(tǒng),包括若干個客戶端100和一個 服務(wù)端200,所述服務(wù)端包括請求接收模塊201、文件描述集合202、存儲模塊203、請求處理 模塊204、結(jié)果反饋模塊205和數(shù)據(jù)刪除模塊206 ;
[0046] 所述請求接收模塊201,其用于接收各個客戶端發(fā)送的查詢請求,并將查詢請求抽 象為一個文件描述發(fā)送給文件描述集合202 ;
[0047] 所述文件描述集合202,其用于存儲請求接收模塊201發(fā)送的文件描述;
[0048] 所述存儲模塊203,其用于存儲文件描述集合對應(yīng)ID和編號;
[0049] 所述請求處理模塊204,循環(huán)處理存儲模塊203,調(diào)用處理函數(shù)并將處理結(jié)果發(fā)送 給結(jié)果反饋模塊204 ;
[0050] 所述結(jié)果返回模塊205,其用于將請求處理模塊204發(fā)送的處理結(jié)果反饋給相應(yīng) 客戶端;
[0051] 所述數(shù)據(jù)刪除模塊206,其用于將存儲模塊中已經(jīng)處理的文件描述集合對應(yīng)的ID 和編號刪除。
[0052] 其中,所述存儲模塊203可采用數(shù)組或鏈表。
[0053] 其中,所述查詢請求包括客戶端ID和查詢內(nèi)容信息。
[0054] 本發(fā)明涉及一種單進(jìn)程的異步查詢方法,包括建立一個長連接的服務(wù)端,在服務(wù) 端內(nèi)部監(jiān)聽每個客戶端發(fā)送過來的請求,定義一個文件描述集合用于存儲文件描述,定義 一個數(shù)組用于存儲文件描述集合ID和對應(yīng)ID的編號,將客戶端發(fā)送過來請求的ID當(dāng)成一 個文件描述,放入文件描述集合中。判斷是否有新的請求,如果有將新請求的ID加入數(shù)組, 否則,循環(huán)處理存儲模塊,每處理完一個請求后,將信息返回給客戶端然后在服務(wù)端的數(shù)組 中將這個請求ID和對應(yīng)編號刪除。現(xiàn)有查詢系統(tǒng)是客戶端每發(fā)起一個請求,服務(wù)端就建立 一個子進(jìn)程處理這筆請求,這就造成了主機有過多的進(jìn)程,還有很多僵死的進(jìn)程無法處理, 造成主機設(shè)備壓力較大。本發(fā)明可以通過文件描述集合的方法,將請求的ID放入數(shù)組中, 程序內(nèi)部只需處理這個數(shù)組,這樣就避免通訊程序空閑等待,極大提高通訊程序的查詢效 率;充分利用端口資源。大幅提高查詢效率,減小了系統(tǒng)資源的耗費。
[0055] 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1. 一種基于單進(jìn)程的數(shù)據(jù)異步查詢方法,其特征在于,包括如下步驟: 步驟1 :建立長連接的服務(wù)端,并在服務(wù)端內(nèi)建立一個文件描述集合及存儲文件描述 集合ID和其編號的數(shù)組; 步驟2 :服務(wù)端實時監(jiān)聽客戶端請求,每收到一條請求將請求抽象成一個文件描述; 步驟3 :判斷文件描述集合是否為空,如果是則直接執(zhí)行步驟4,否則清空文件描述集 合,執(zhí)行步驟4; 步驟4 :將文件描述放入文件描述集合中,并將此時文件描述集合對應(yīng)的ID及其編號 存入數(shù)組中; 步驟5 :根據(jù)數(shù)組中文件描述集合ID的最大值,判斷文件描述集合的描述是否發(fā)生變 化,如果發(fā)生變化,執(zhí)行步驟6 ;否則直接執(zhí)行步驟7 ; 步驟6 :檢測文件描述是否加入了文件描述集合,如果加入了則將文件集合的ID和編 號加入數(shù)組中,執(zhí)行步驟7 ;否則直接執(zhí)行步驟7 ; 步驟7 :用一個FOR循環(huán)處理存儲模塊,利用查詢函數(shù)取得查詢結(jié)果,將查詢結(jié)果返回 給客戶端; 步驟8 :將數(shù)組中對應(yīng)的文件描述集合ID和編號刪除。
2. 根據(jù)權(quán)利要求1所述一種基于單進(jìn)程的數(shù)據(jù)異步查詢方法,其特征在于,所述用于 存儲文件描述集合對應(yīng)ID和編號的數(shù)組可采用鏈表替換。
3. 根據(jù)權(quán)利要求1所述一種基于單進(jìn)程的數(shù)據(jù)異步查詢方法,其特征在于,所述查詢 請求包括客戶端ID和查詢內(nèi)容信息。
4. 一種基于單進(jìn)程的數(shù)據(jù)異步查詢系統(tǒng),其特征在于,包括若干個客戶端和一個服務(wù) 端,所述服務(wù)端包括請求接收模塊、文件描述集合、存儲模塊、請求處理模塊、結(jié)果反饋模塊 和數(shù)據(jù)刪除模塊; 所述請求接收模塊,其用于接收各個客戶端發(fā)送的查詢請求,并將查詢請求抽象為文 件描述發(fā)送給文件描述集合; 所述文件描述集合,其用于存儲請求接收模塊發(fā)送的查詢請求的文件描述; 所述存儲模塊,其用于存儲文件描述集合對應(yīng)的ID和編號; 所述請求處理模塊,其用于循環(huán)處理存儲模塊,調(diào)用查詢函數(shù)取得查詢結(jié)果,將查詢出 結(jié)果反饋給結(jié)果返回模塊; 所述結(jié)果返回模塊,其用于將請求處理模塊發(fā)送的處理結(jié)果反饋給相應(yīng)客戶端; 所述數(shù)據(jù)刪除模塊,其用于將存儲模塊中已處理完的文件描述集合ID和編號刪除。
5. 根據(jù)權(quán)利要求4所述一種基于單進(jìn)程的數(shù)據(jù)異步查詢系統(tǒng),其特征在于,所述存儲 模塊可采用數(shù)組或鏈表。
6. 根據(jù)權(quán)利要求4所述一種基于單進(jìn)程的數(shù)據(jù)異步查詢系統(tǒng),其特征在于,所述查詢 請求包括客戶端ID和查詢內(nèi)容信息。
【文檔編號】G06F17/30GK104050284SQ201410301906
【公開日】2014年9月17日 申請日期:2014年6月27日 優(yōu)先權(quán)日:2014年6月27日
【發(fā)明者】曾召智 申請人:北京思特奇信息技術(shù)股份有限公司