一種長連接應(yīng)用接入的安全管控方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通訊技術(shù)領(lǐng)域,特別是涉及長連接通訊技術(shù)領(lǐng)域,具體為一種長連接 應(yīng)用接入的安全管控方法及系統(tǒng)。
【背景技術(shù)】
[0002] 長連接通訊是指通訊雙方在整個(gè)通訊過程中始終保持通訊鏈路,是一種面向連接 的,可靠的通訊方式。長連接的實(shí)現(xiàn)方法多種多樣,其中基于TCP協(xié)議的實(shí)現(xiàn)應(yīng)用最為廣 泛。
[0003] 長連接服務(wù)器需在網(wǎng)絡(luò)(通常為互聯(lián)網(wǎng))上使用固定的域名和固定端口號,提供 長連接服務(wù),以供對應(yīng)的應(yīng)用客戶端接入服務(wù)器端。介于長連接服務(wù)器自身的性能和帶寬 等一系列資源因素,服務(wù)器所能承受的應(yīng)用服務(wù)連接數(shù)是有限的,同時(shí)由于服務(wù)所需的固 定域名和端口長期開放在網(wǎng)絡(luò)(通常為互聯(lián)網(wǎng))上,任何符合TCP協(xié)議的應(yīng)用連接均可隨 意接入占用服務(wù)器和帶寬資源,無法服務(wù)所對應(yīng)的應(yīng)用客戶端。
[0004] 基于TCP協(xié)議的長連接通訊是指通訊雙方在整個(gè)過程中始終保持和維護(hù)連 接的通訊方式,是一種點(diǎn)對點(diǎn)的,可靠的通訊方式。長連接通訊雙方分為服務(wù)器方 (Server-Side)和客戶端方(Client-Side)。服務(wù)器方負(fù)責(zé)提供長連接接入服務(wù),客戶端方 發(fā)起連接請求至服務(wù)器,完成TCP協(xié)議規(guī)定的三次握手后,建立連接即開始通訊。
[0005] 為提供長連接服務(wù),服務(wù)器需在網(wǎng)絡(luò)(通常為互聯(lián)網(wǎng))上長時(shí)間開放固定的域名 和端口號,任何基于TCP協(xié)議的應(yīng)用客戶端均可接入。由于長連接服務(wù)本身依賴于服務(wù)器 計(jì)算和帶寬等有限資源,大量的非法連接的接入和斷開占用了資源,使合法應(yīng)用的接入請 求無法得到響應(yīng),或響應(yīng)緩慢。
[0006] 在現(xiàn)有技術(shù)中,在長連接建立后,使用連接所承載數(shù)據(jù)層中的私有機(jī)制進(jìn)行控制, 如不符合應(yīng)用接入要求,再斷開連接,以達(dá)到應(yīng)用接入安全管控的目的。這種先建立連接再 斷開的方法,也耗費(fèi)了大量系統(tǒng)資源。
[0007] 如何對長連接通訊進(jìn)行控制來避免上述問題成為本領(lǐng)域技術(shù)人員亟待解決的問 題。
【發(fā)明內(nèi)容】
[0008] 鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種長連接應(yīng)用接入的安 全管控方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中長連接應(yīng)用接入管控占用大量的時(shí)間和內(nèi)存的問 題。
[0009] 為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種長連接應(yīng)用接入的安全管控方 法,應(yīng)用于應(yīng)用客戶端和長連接服務(wù)器在基于TCP協(xié)議進(jìn)行長連接通訊的過程中,所述長 連接應(yīng)用接入的安全管控方法包括:應(yīng)用客戶端在發(fā)起的TCP連接請求中添加預(yù)先定義的 應(yīng)用ID ;長連接服務(wù)器的TCP協(xié)議棧提取所述TCP連接請求中的所述應(yīng)用ID ;所述長連 接服務(wù)器判斷所述應(yīng)用ID是否在所述長連接服務(wù)器內(nèi)預(yù)存的關(guān)系表中,若是,則處理所述 TCP連接請求,與所述應(yīng)用客戶端建立長連接,若否,則拒絕所述TCP連接請求。
[0010] 可選地,所述應(yīng)用客戶端在TCP協(xié)議的Options字段添加所述應(yīng)用ID。
[0011] 可選地,預(yù)先定義所述應(yīng)用ID為8個(gè)字節(jié)的64位無符號整型數(shù)。
[0012] 可選地,所述應(yīng)用ID由長連接服務(wù)方進(jìn)行預(yù)先定義和更新維護(hù)。
[0013] 可選地,添加預(yù)先定義的應(yīng)用ID的具體過程包括:所述長連接服務(wù)方向所述應(yīng)用 客戶端提供包含應(yīng)用開發(fā)包和對應(yīng)應(yīng)用的應(yīng)用ID的許可證書;在所述應(yīng)用客戶端使用所 述應(yīng)用開發(fā)包時(shí),自動讀取所述許可證書中的應(yīng)用ID并存入TCP協(xié)議的Options字段。 [0014] 為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種長連接應(yīng)用接入的安全管控系統(tǒng),應(yīng)用于應(yīng) 用客戶端和長連接服務(wù)器在基于TCP協(xié)議進(jìn)行長連接通訊的過程中,所述長連接應(yīng)用接入 的安全管控系統(tǒng)包括:應(yīng)用ID添加模塊,配置于所述應(yīng)用客戶端內(nèi),用于所述應(yīng)用客戶端 在發(fā)起的TCP連接請求中添加預(yù)先定義的應(yīng)用ID ;應(yīng)用ID提取模塊,配置于所述長連接服 務(wù)器內(nèi),用于所述長連接服務(wù)器的TCP協(xié)議棧提取所述TCP連接請求中的所述應(yīng)用ID ;關(guān) 系表存儲模塊,配置于所述長連接服務(wù)器內(nèi),用于存儲包含所述應(yīng)用ID和對應(yīng)的應(yīng)用名稱 的關(guān)系表;判斷模塊,配置于所述長連接服務(wù)器內(nèi)并與所述關(guān)系表存儲模塊相連,用于判斷 所述應(yīng)用ID是否在所述長連接服務(wù)器內(nèi)預(yù)存的關(guān)系表中;控制模塊,配置于所述長連接服 務(wù)器內(nèi)并與所述判斷模塊相連,用于在所述關(guān)系表中存在所述應(yīng)用ID時(shí)處理所述TCP連接 請求,與所述應(yīng)用客戶端建立長連接,在所述關(guān)系表中不存在所述應(yīng)用ID時(shí)拒絕所述TCP 連接請求。
[0015] 可選地,所述應(yīng)用ID添加模塊在TCP協(xié)議的Options字段添加所述應(yīng)用ID。
[0016] 可選地,預(yù)先定義所述應(yīng)用ID為8個(gè)字節(jié)的64位無符號整型數(shù)。
[0017] 可選地,還包括配置于長連接服務(wù)方處并與所述應(yīng)用ID添加模塊相連,用于對所 述應(yīng)用ID進(jìn)行預(yù)先定義和更新維護(hù)的定義維護(hù)模塊。
[0018] 可選地,所述定義維護(hù)模塊包括:向所述應(yīng)用客戶端提供包含應(yīng)用開發(fā)包和對應(yīng) 應(yīng)用的應(yīng)用ID的許可證書的許可證書單元;在所述應(yīng)用客戶端使用所述應(yīng)用開發(fā)包時(shí),所 述應(yīng)用ID添加模塊自動讀取所述許可證書中的應(yīng)用ID并存入TCP協(xié)議的Options字段。
[0019] 如上所述,本發(fā)明的一種長連接應(yīng)用接入的安全管控方法及系統(tǒng),具有以下有益 效果:
[0020] 本發(fā)明通過在TCP協(xié)議層面中加入對請求接入的應(yīng)用方進(jìn)行檢測,在連接建立之 前進(jìn)行應(yīng)用接入管控,避免了現(xiàn)有技術(shù)所采用的先建立連接,再斷開的方法,節(jié)省了連接建 立和斷開的資源開銷。本發(fā)明簡單高效,具有較強(qiáng)的通用性和實(shí)用性。
【附圖說明】
[0021] 圖1顯示為本發(fā)明的長連接應(yīng)用接入的安全管控方法的流程示意圖。
[0022] 圖2顯示為本發(fā)明的長連接應(yīng)用接入的安全管控方法中添加預(yù)先定義的應(yīng)用ID 的具體過程流程示意圖。
[0023] 圖3顯示為本發(fā)明的長連接應(yīng)用接入的安全管控系統(tǒng)的結(jié)構(gòu)示意圖。
[0024] 圖4顯示為本發(fā)明的長連接應(yīng)用接入的安全管控系統(tǒng)的連接示意圖。
[0025] 元件標(biāo)號說明
[0026] 1 長連接應(yīng)用接入的安全管控系統(tǒng)
[0027] 11 應(yīng)用ID添加模塊
[0028] 12 關(guān)系表存儲模塊
[0029] 13 應(yīng)用ID提取模塊
[0030] 14 判斷模塊
[0031] 15 控制模塊
[0032] 16 定義維護(hù)模塊
[0033] Sll ~S15 步驟
【具體實(shí)施方式】
[0034] 以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書 所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過另外不同的具體實(shí) 施方式加以實(shí)施或應(yīng)用,本說明書中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒有背離 本發(fā)明的精神下進(jìn)行各種修飾或改變。
[0035] 本發(fā)明的目的在于提供一種長連接應(yīng)用接入的安全管控方法及系統(tǒng),用于解決現(xiàn) 有技術(shù)中長連接應(yīng)用接入管控占用大量的時(shí)間和內(nèi)存的問題。以下將詳細(xì)闡述本發(fā)明的一 種長連接應(yīng)用接入的安全管控方法及系統(tǒng)的原理及實(shí)施方式,使本領(lǐng)域技術(shù)人員不需要創(chuàng) 造性勞動即可理解本發(fā)明的一種長連接應(yīng)用接入的安全管控方法及系統(tǒng)。
[0036] 本實(shí)施例提供一種長連接應(yīng)用接入的安全管控方法,要解決的是基于TCP協(xié)議 (Transmission Control Protocol, TCP)的長連接服務(wù)應(yīng)用客戶端接入的安全性問題。
[0037] 本實(shí)施例提供一種長連接應(yīng)用接入的安全管控方法,采用在TCP協(xié)議規(guī)定的字段 中加入應(yīng)用ID (App ID),該應(yīng)用ID由長連接服務(wù)提供方統(tǒng)一定義,維護(hù)和頒發(fā),用于標(biāo)識 其所