數(shù)據(jù)交互方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種數(shù)據(jù)交互方法和系統(tǒng)。所述方法包括:一種數(shù)據(jù)交互方法,包括如下步驟:接收由客戶端發(fā)起的鏈接請求;根據(jù)所述鏈接請求中包含的客戶端所在網(wǎng)絡(luò)地址就近定位得到對應(yīng)的節(jié)點(diǎn)服務(wù)器;建立所述客戶端與所述節(jié)點(diǎn)服務(wù)器之間的長連接,以使得所述客戶端通過所述長連接將數(shù)據(jù)發(fā)布至所述節(jié)點(diǎn)服務(wù)器。采用本發(fā)明能提高數(shù)據(jù)交互的實(shí)時性。
【專利說明】數(shù)據(jù)交互方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機(jī)應(yīng)用技術(shù),特別是涉及一種數(shù)據(jù)交互方法和系統(tǒng)。
【背景技術(shù)】
[0002] 隨著計算機(jī)應(yīng)用技術(shù)的發(fā)展,越來越多的用戶常常隨時隨地進(jìn)行各種數(shù)據(jù)的發(fā)布 和獲取。具體的,發(fā)布者可通過網(wǎng)絡(luò)將一定的數(shù)據(jù)發(fā)布至后臺的服務(wù)器中,進(jìn)而使得其它用 戶得以進(jìn)行該數(shù)據(jù)的獲取。
[0003] 發(fā)布的數(shù)據(jù)通常采用http的形式進(jìn)行傳輸,然而,在通過http的形式進(jìn)行數(shù)據(jù)傳 輸?shù)倪^程中,數(shù)據(jù)交互鏈接的建立將需要耗費(fèi)過長的時間,嚴(yán)重影響了數(shù)據(jù)的實(shí)時性,并且 后臺的服務(wù)器將是根據(jù)客戶端的請求響應(yīng)并返回的,只能進(jìn)行數(shù)據(jù)拉取操作,存在著缺乏 實(shí)時性的缺陷。
【發(fā)明內(nèi)容】
[0004] 基于此,有必要提供一種能提高實(shí)時性的數(shù)據(jù)交互方法。
[0005] 此外,還有必要提供一種能提高實(shí)時性的數(shù)據(jù)交互系統(tǒng)。
[0006] 一種數(shù)據(jù)交互方法,包括如下步驟:
[0007] 接收由客戶端發(fā)起的鏈接請求;
[0008] 根據(jù)所述鏈接請求中包含的客戶端所在網(wǎng)絡(luò)地址就近定位得到對應(yīng)的節(jié)點(diǎn)服務(wù) 器;
[0009] 建立所述客戶端與所述節(jié)點(diǎn)服務(wù)器之間的長連接,以使得所述客戶端通過所述長 連接將數(shù)據(jù)發(fā)布至所述節(jié)點(diǎn)服務(wù)器。
[0010] 在其中一個實(shí)施例中,所述根據(jù)所述鏈接請求中包含的客戶端所在網(wǎng)絡(luò)地址就近 定位得到對應(yīng)的節(jié)點(diǎn)服務(wù)器的步驟包括:
[0011] 由所述客戶端發(fā)起的鏈接請求提取所述客戶端所在網(wǎng)絡(luò)地址;
[0012] 根據(jù)所述客戶端所在網(wǎng)絡(luò)地址進(jìn)行域名解析,以將所述客戶端所發(fā)起的數(shù)據(jù)發(fā)布 指向就近對應(yīng)的節(jié)點(diǎn)服務(wù)器。
[0013] 在其中一個實(shí)施例中,所述建立所述客戶端與所述節(jié)點(diǎn)服務(wù)器之間的長連接,以 使得所述客戶端通過所述長連接將數(shù)據(jù)發(fā)布至所述節(jié)點(diǎn)服務(wù)器的步驟之后,所述方法還包 括:
[0014] 根據(jù)所述鏈接請求中目標(biāo)客戶端所在網(wǎng)絡(luò)地址分配所述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn) 服務(wù)器;
[0015] 分別建立中央數(shù)據(jù)交互服務(wù)器與兩個節(jié)點(diǎn)服務(wù)器之間的長連接以及所述目標(biāo)客 戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器與所述目標(biāo)客戶端之間的長連接;
[0016] 通過所述中央數(shù)據(jù)交互服務(wù)器、目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器以及建立的長連接 將所述發(fā)布的數(shù)據(jù)傳輸至所述目標(biāo)客戶端。
[0017] 在其中一個實(shí)施例中,所述通過所述中央數(shù)據(jù)交互服務(wù)器、目標(biāo)客戶端對應(yīng)的節(jié) 點(diǎn)服務(wù)器以及建立的長連接將所述發(fā)布的數(shù)據(jù)傳輸至所述目標(biāo)客戶端的步驟包括:
[0018] 通過所述中央數(shù)據(jù)交互服務(wù)器與目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器之間的長連接將 發(fā)布至所述節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)由所述中央數(shù)據(jù)交互服務(wù)器傳輸至所述目標(biāo)客戶端對應(yīng)的 節(jié)點(diǎn)服務(wù)器;
[0019] 通過所述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器與目標(biāo)客戶端之間的長連接將傳輸至所 述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)發(fā)送至目標(biāo)客戶端。
[0020] 在其中一個實(shí)施例中,所述根據(jù)所述鏈接請求中目標(biāo)客戶端所在網(wǎng)絡(luò)地址分配所 述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器的步驟包括:
[0021] 從所述鏈接請求提取目標(biāo)客戶端所在網(wǎng)絡(luò)地址;
[0022] 根據(jù)所述目標(biāo)客戶端所在網(wǎng)絡(luò)地址進(jìn)行域名解析以為所述目標(biāo)客戶端分配對應(yīng) 的節(jié)點(diǎn)服務(wù)器。
[0023] -種數(shù)據(jù)交互系統(tǒng),包括:
[0024] 請求接收模塊,用于接收由客戶端發(fā)起的鏈接請求;
[0025] 就近定位模塊,用于根據(jù)所述鏈接請求中包含的客戶端所在網(wǎng)絡(luò)地址就近定位得 到對應(yīng)的節(jié)點(diǎn)服務(wù)器;
[0026] 發(fā)布模塊,用于建立所述客戶端與所述節(jié)點(diǎn)服務(wù)器之間的長連接,以使得所述客 戶端通過所述長連接將數(shù)據(jù)發(fā)布至所述節(jié)點(diǎn)服務(wù)器。
[0027] 在其中一個實(shí)施例中,所述就近定位模塊包括:
[0028] 地址提取單元,用于由所述客戶端發(fā)起的鏈接請求提取所述客戶端所在網(wǎng)絡(luò)地 址;
[0029] 域名解析單元,用于根據(jù)所述客戶端所在網(wǎng)絡(luò)地址進(jìn)行域名解析,以將所述客戶 端所發(fā)起的數(shù)據(jù)發(fā)布指向到就近對應(yīng)的節(jié)點(diǎn)服務(wù)器。
[0030] 在其中一個實(shí)施例中,所述系統(tǒng)還包括:
[0031] 分配模塊,用于根據(jù)所述鏈接請求中目標(biāo)客戶端所在網(wǎng)絡(luò)地址分配所述目標(biāo)客戶 端對應(yīng)的節(jié)點(diǎn)服務(wù)器;
[0032] 連接建立模塊,用于分別建立中央數(shù)據(jù)交互服務(wù)器與兩個節(jié)點(diǎn)服務(wù)器之間的長連 接以及所述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器與目標(biāo)客戶端之間的長連接;
[0033] 數(shù)據(jù)傳輸模塊,用于通過所述中央數(shù)據(jù)交互服務(wù)器、目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù) 器以及建立的長連接將所述發(fā)布的數(shù)據(jù)傳輸至所述目標(biāo)客戶端。
[0034] 在其中一個實(shí)施例中,所述數(shù)據(jù)傳輸模塊包括:
[0035] 轉(zhuǎn)發(fā)單元,運(yùn)行于所述中央數(shù)據(jù)交互服務(wù)器中,用于通過所述中央數(shù)據(jù)交互服務(wù) 器與目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器之間的長連接將發(fā)布至所述節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)由所述 中央數(shù)據(jù)交互服務(wù)器傳輸至所述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器;
[0036] 數(shù)據(jù)發(fā)送單元,運(yùn)行于所述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器中,用于通過所述目標(biāo) 客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器與目標(biāo)客戶端之間的長連接將傳輸至所述目標(biāo)客戶端對應(yīng)的節(jié) 點(diǎn)服務(wù)器的數(shù)據(jù)發(fā)送至目標(biāo)客戶端。
[0037] 在其中一個實(shí)施例中,所述分配模塊包括:
[0038] 目標(biāo)地址提取單元,用于從所述鏈接請求提取目標(biāo)客戶端所在網(wǎng)絡(luò)地址;
[0039] 服務(wù)器分配單元,用于根據(jù)所述目標(biāo)客戶端所在網(wǎng)絡(luò)地址進(jìn)行域名解析以為目標(biāo) 客戶端分配對應(yīng)的節(jié)點(diǎn)服務(wù)器。
[0040] 上述數(shù)據(jù)交互方法和系統(tǒng),在觸發(fā)進(jìn)行數(shù)據(jù)的發(fā)布時,將接收得到由客戶端發(fā)起 的鏈接請求,根據(jù)鏈接請求中包含的客戶端所在網(wǎng)絡(luò)地址就近定位得到對應(yīng)的節(jié)點(diǎn)服務(wù) 器,以建立客戶端與節(jié)點(diǎn)服務(wù)器之間的長連接,以使得客戶端得以通過建立的長連接將數(shù) 據(jù)發(fā)布到節(jié)點(diǎn)服務(wù)器中,以在長連接的作用下提高數(shù)據(jù)交互的實(shí)時性。
【專利附圖】
【附圖說明】
[0041] 圖1為一個實(shí)施例中數(shù)據(jù)交互方法的流程圖;
[0042] 圖2為圖1中根據(jù)鏈接請求中包含的客戶端所在網(wǎng)絡(luò)地址就近定位得到對應(yīng)的節(jié) 點(diǎn)服務(wù)器的方法流程圖;
[0043] 圖3為另一個實(shí)施例中數(shù)據(jù)交互方法的流程圖;
[0044] 圖4為圖3中通過中央數(shù)據(jù)交互服務(wù)器、目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器以及建立 的長連接將發(fā)布的數(shù)據(jù)傳輸至目標(biāo)客戶端的方法流程圖;
[0045] 圖5為圖3中根據(jù)鏈接請求中目標(biāo)客戶端所在網(wǎng)絡(luò)地址分配目標(biāo)客戶端對應(yīng)的節(jié) 點(diǎn)服務(wù)器的方法流程圖;
[0046] 圖6為本發(fā)明所運(yùn)行的計算機(jī)系統(tǒng)架構(gòu)圖;
[0047] 圖7為一個實(shí)施例中數(shù)據(jù)交互系統(tǒng)的結(jié)構(gòu)示意圖;
[0048] 圖8為圖7中就近定位模塊的結(jié)構(gòu)示意圖;
[0049] 圖9為另一個實(shí)施例中數(shù)據(jù)交互系統(tǒng)的結(jié)構(gòu)示意圖;
[0050] 圖10為圖9中數(shù)據(jù)傳輸模塊的結(jié)構(gòu)示意圖;
[0051] 圖11為圖9中分配模塊的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0052] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
[0053] 如圖1所示,在一個實(shí)施例中,一種數(shù)據(jù)交互方法,包括如下步驟:
[0054] 步驟110,接收由客戶端發(fā)起的鏈接請求。
[0055] 本實(shí)施例中,需要進(jìn)行數(shù)據(jù)發(fā)布的客戶端將發(fā)起鏈接請求,其中,該鏈接請求中包 括了客戶端所在網(wǎng)絡(luò)地址,此時,后臺的服務(wù)器將接收得到運(yùn)行于電腦或者智能手機(jī)等終 端設(shè)備的客戶端所發(fā)起的鏈接請求。
[0056] 步驟130,根據(jù)鏈接請求中包含的客戶端所在網(wǎng)絡(luò)地址就近定位得到對應(yīng)的節(jié)點(diǎn) 服務(wù)器。
[0057] 本實(shí)施例中,節(jié)點(diǎn)服務(wù)器為多個,并且被分別部署于各種地區(qū)各運(yùn)營商機(jī)房中,以 保證不會出現(xiàn)單點(diǎn)故障。將根據(jù)接收得到的鏈接請求中包含的客戶端所在網(wǎng)絡(luò)地址進(jìn)行就 近定位,以將發(fā)布數(shù)據(jù)的客戶端對節(jié)點(diǎn)服務(wù)器的訪問指向就近對應(yīng)的節(jié)點(diǎn)服務(wù)器。該節(jié)點(diǎn) 服務(wù)器將與發(fā)起鏈接請求的客戶端處于同一地區(qū),并且所采用的網(wǎng)絡(luò)也是由同一運(yùn)營商提 供的,以有效地避免了因?yàn)榫W(wǎng)絡(luò)互聯(lián)互通而引起的問題,很好的保證了連接的穩(wěn)定性和可 控性。
[0058] 步驟150,建立客戶端與節(jié)點(diǎn)服務(wù)器之間的長連接,以使得客戶端通過長連接將數(shù) 據(jù)發(fā)布至節(jié)點(diǎn)服務(wù)器。
[0059] 本實(shí)施例中,就近定位得到發(fā)起鏈接請求的客戶端所對應(yīng)的節(jié)點(diǎn)服務(wù)器之后,將 建立該客戶端與其所對應(yīng)的節(jié)點(diǎn)服務(wù)器之間的長鏈接,通過建立的長連接使得客戶端得以 將數(shù)據(jù)發(fā)布至對應(yīng)的節(jié)點(diǎn)服務(wù)器中。
[0060] 由于客戶端和節(jié)點(diǎn)服務(wù)器之間是通過建立的長連接進(jìn)行數(shù)據(jù)傳輸?shù)模瑢⒆畲蟪潭?上保證了傳數(shù)據(jù)傳輸?shù)姆€(wěn)定性和實(shí)時性。
[0061] 如上所述的過程將運(yùn)行于架構(gòu)的源服務(wù)器中,以便于實(shí)現(xiàn)基礎(chǔ)的數(shù)據(jù)和業(yè)務(wù)處 理。
[0062] 如圖2所示,在一個實(shí)施例中,上述步驟130包括:
[0063] 步驟131,由客戶端發(fā)起的鏈接請求提取客戶端所在網(wǎng)絡(luò)地址。
[0064] 步驟133,根據(jù)客戶端所在網(wǎng)絡(luò)地址進(jìn)行域名解析,以將客戶端所發(fā)起的數(shù)據(jù)發(fā)布 指向就近對應(yīng)的節(jié)點(diǎn)服務(wù)器。
[0065] 本實(shí)施例中,進(jìn)行域名解析并獲知為客戶端提供網(wǎng)絡(luò)的運(yùn)營商,進(jìn)而將客戶端所 發(fā)起的數(shù)據(jù)發(fā)布指向就近對應(yīng)的,為客戶端提供網(wǎng)絡(luò)的運(yùn)營商所屬的節(jié)點(diǎn)服務(wù)器中,以得 到最佳數(shù)據(jù)傳輸效率。
[0066] 如圖3所示,在另一個實(shí)施例中,上述步驟150之后,如上所述的方法還包括: [0067] 步驟310,根據(jù)鏈接請求中目標(biāo)客戶端所在網(wǎng)絡(luò)地址分配目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn) 服務(wù)器。
[0068] 本實(shí)施例中,相應(yīng)的,鏈接請求還包括了目標(biāo)客戶端所在網(wǎng)絡(luò)地址,該目標(biāo)客戶端 即為分享客戶端所發(fā)布的數(shù)據(jù)的任一客戶端。
[0069] 根據(jù)目標(biāo)客戶端所在網(wǎng)絡(luò)地址進(jìn)行就近定位,以為目標(biāo)客戶端分配就近對應(yīng)的節(jié) 點(diǎn)服務(wù)器,該節(jié)點(diǎn)服務(wù)器將與目標(biāo)客戶端處于同一地區(qū),并且所采用的網(wǎng)絡(luò)也是由同一運(yùn) 營商提供的。
[0070] 步驟330,分別建立中央數(shù)據(jù)交互服務(wù)器與兩個節(jié)點(diǎn)服務(wù)器之間的長連接以及目 標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器與目標(biāo)客戶端之間的長連接。
[0071] 本實(shí)施例中,預(yù)先架構(gòu)了中央數(shù)據(jù)交互服務(wù)器,將用于實(shí)現(xiàn)數(shù)據(jù)交互過程中的數(shù) 據(jù)分發(fā)。其中,該中央數(shù)據(jù)交互服務(wù)器將是搭建在多線機(jī)房中的核心服務(wù)器,以保證各個運(yùn) 營商的訪問是有效、穩(wěn)定和實(shí)時的。
[0072] 中央數(shù)據(jù)交互服務(wù)器將分別與后端的兩個節(jié)點(diǎn)服務(wù)器建立長連接,目標(biāo)客戶端對 應(yīng)的節(jié)點(diǎn)服務(wù)器也將與目標(biāo)客戶端建立長連接,以便于將客戶端發(fā)布的數(shù)據(jù)傳輸至目標(biāo)客 戶端中。
[0073] 步驟350,通過中央數(shù)據(jù)交互服務(wù)器、目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器以及建立的長 連接將發(fā)布的數(shù)據(jù)傳輸至目標(biāo)客戶端。
[0074] 本實(shí)施例中,在中央數(shù)據(jù)交互服務(wù)器的作用下,將對發(fā)布至客戶端就近對應(yīng)的節(jié) 點(diǎn)服務(wù)器的數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),以通過目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器和建立的長連接將客戶端 發(fā)布的數(shù)據(jù)傳輸?shù)侥繕?biāo)客戶端,實(shí)現(xiàn)客戶端和目標(biāo)客戶端之間的數(shù)據(jù)分享。
[0075] 如圖4所示,在一個實(shí)施例中,上述步驟350的具體過程為:
[0076] 步驟351,通過中央數(shù)據(jù)交互服務(wù)器與目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器之間的長連 接將發(fā)布至節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)由中央數(shù)據(jù)交互服務(wù)器傳輸至目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù) 器。
[0077] 本實(shí)施例中,中央數(shù)據(jù)交互服務(wù)器通過其與客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器之間的長連 接,以及與目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器之間的長連接將客戶端發(fā)布至對應(yīng)節(jié)點(diǎn)服務(wù)器的 數(shù)據(jù)轉(zhuǎn)發(fā)至目標(biāo)客戶端所對應(yīng)的節(jié)點(diǎn)服務(wù)器中。
[0078] 步驟353,通過目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器與目標(biāo)客戶端之間的長連接將傳輸 至目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)發(fā)送至目標(biāo)客戶端。
[0079] 如圖5所示,在一個實(shí)施例中,上述步驟310的具體過程為:
[0080] 步驟311,從鏈接請求提取目標(biāo)客戶端所在網(wǎng)絡(luò)地址。
[0081] 步驟313,根據(jù)目標(biāo)客戶端所在網(wǎng)絡(luò)地址進(jìn)行域名解析以為目標(biāo)客戶端分配對應(yīng) 的節(jié)點(diǎn)服務(wù)器。
[0082] 本實(shí)施例中,根據(jù)目標(biāo)客戶端所在網(wǎng)絡(luò)地址進(jìn)行域名解析,并獲知為目標(biāo)客戶端 提供網(wǎng)絡(luò)的運(yùn)營商,進(jìn)而為目標(biāo)客戶端分配就近對應(yīng)的節(jié)點(diǎn)服務(wù)器,以優(yōu)化數(shù)據(jù)傳輸效果。
[0083] 通過如上所述的數(shù)據(jù)交互過程,通過建立長連接的方式,即穩(wěn)定的TCP鏈接避免 了 http協(xié)議中延時影響嚴(yán)重以及數(shù)據(jù)丟包嚴(yán)重的問題,實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時推送。
[0084] 并且由于只需要采用少量的服務(wù)器部署中央數(shù)據(jù)交互服務(wù)器即可,降低了大量多 線機(jī)房的部署支持,降低了部署成本。
[0085] 在一個實(shí)施例中,如上所述的數(shù)據(jù)交互方法,該方法所運(yùn)行的計算機(jī)系統(tǒng)如圖6 所示,該計算機(jī)系統(tǒng)包括了進(jìn)行數(shù)據(jù)發(fā)布的電腦客戶端610、分享發(fā)布的數(shù)據(jù)的目標(biāo)客戶端 620,即運(yùn)行于智能手機(jī)中的客戶端、源服務(wù)器630、中央數(shù)據(jù)交互服務(wù)器640以及若干個節(jié) 點(diǎn)服務(wù)器,該節(jié)點(diǎn)服務(wù)器包括了節(jié)點(diǎn)服務(wù)器1、節(jié)點(diǎn)服務(wù)器2和節(jié)點(diǎn)服務(wù)器3。
[0086] 如圖7所示,在一個實(shí)施例中,一種數(shù)據(jù)交互系統(tǒng),包括請求接收模塊710、就近定 位模塊730和發(fā)布模塊750。
[0087] 請求接收模塊710,用于接收由客戶端發(fā)起的鏈接請求。
[0088] 本實(shí)施例中,需要進(jìn)行數(shù)據(jù)發(fā)布的客戶端將發(fā)起鏈接請求,其中,該鏈接請求中包 括了客戶端所在網(wǎng)絡(luò)地址,此時,后臺的服務(wù)器中請求接收模塊710將接收得到運(yùn)行于電 腦或者智能手機(jī)等終端設(shè)備的客戶端所發(fā)起的鏈接請求。
[0089] 就近定位模塊730,用于根據(jù)鏈接請求中包含的客戶端所在網(wǎng)絡(luò)地址就近定位得 到對應(yīng)的節(jié)點(diǎn)服務(wù)器。
[0090] 本實(shí)施例中,節(jié)點(diǎn)服務(wù)器為多個,并且被分別部署于各種地區(qū)各運(yùn)營商機(jī)房中,以 保證不會出現(xiàn)單點(diǎn)故障。就近定位模塊730將根據(jù)接收得到的鏈接請求中包含的客戶端所 在網(wǎng)絡(luò)地址進(jìn)行就近定位,以將發(fā)布數(shù)據(jù)的客戶端對節(jié)點(diǎn)服務(wù)器的訪問指向就近對應(yīng)的節(jié) 點(diǎn)服務(wù)器。該節(jié)點(diǎn)服務(wù)器將與發(fā)起鏈接請求的客戶端處于同一地區(qū),并且所采用的網(wǎng)絡(luò)也 是由同一運(yùn)營商提供的,以有效地避免了因?yàn)榫W(wǎng)絡(luò)互聯(lián)互通而引起的問題,很好的保證了 連接的穩(wěn)定性和可控性。
[0091] 發(fā)布模塊750,用于建立客戶端與節(jié)點(diǎn)服務(wù)器之間的長連接,以使得客戶端通過長 連接將數(shù)據(jù)發(fā)布至節(jié)點(diǎn)服務(wù)器。
[0092] 本實(shí)施例中,發(fā)布模塊750就近定位得到發(fā)起鏈接請求的客戶端所對應(yīng)的節(jié)點(diǎn)服 務(wù)器之后,將建立該客戶端與其所對應(yīng)的節(jié)點(diǎn)服務(wù)器之間的長鏈接,通過建立的長連接使 得客戶端得以將數(shù)據(jù)發(fā)布至對應(yīng)的節(jié)點(diǎn)服務(wù)器中。
[0093] 由于客戶端和節(jié)點(diǎn)服務(wù)器之間是通過建立的長連接進(jìn)行數(shù)據(jù)傳輸?shù)模瑢⒆畲蟪潭?上保證了傳數(shù)據(jù)傳輸?shù)姆€(wěn)定性和實(shí)時性。
[0094] 如上所述的過程將運(yùn)行于架構(gòu)的源服務(wù)器中,以便于實(shí)現(xiàn)基礎(chǔ)的數(shù)據(jù)和業(yè)務(wù)處 理。
[0095] 如圖8所示,在一個實(shí)施例中,如上所述的就近定位模塊730包括地址提取單元 731和域名解析單元733。
[0096] 地址提取單元731,用于由客戶端發(fā)起的鏈接請求提取客戶端所在網(wǎng)絡(luò)地址。
[0097] 域名解析單元733,用于根據(jù)客戶端所在網(wǎng)絡(luò)地址進(jìn)行域名解析,以將客戶端所發(fā) 起的數(shù)據(jù)發(fā)布指向到就近對應(yīng)的節(jié)點(diǎn)服務(wù)器。
[0098] 本實(shí)施例中,域名解析單元733進(jìn)行域名解析并獲知為客戶端提供網(wǎng)絡(luò)的運(yùn)營 商,進(jìn)而將客戶端所發(fā)起的數(shù)據(jù)發(fā)布指向就近對應(yīng)的,為客戶端提供網(wǎng)絡(luò)的運(yùn)營商所屬的 節(jié)點(diǎn)服務(wù)器中,以得到最佳數(shù)據(jù)傳輸效率。
[0099] 如圖9所示,在一個實(shí)施例中,如上所述的系統(tǒng)還包括分配模塊910、連接建立模 塊930和數(shù)據(jù)傳輸模塊950。
[0100] 分配模塊910,用于根據(jù)鏈接請求中目標(biāo)客戶端所在網(wǎng)絡(luò)地址分配目標(biāo)客戶端對 應(yīng)的節(jié)點(diǎn)服務(wù)器。
[0101] 本實(shí)施例中,相應(yīng)的,鏈接請求還包括了目標(biāo)客戶端所在網(wǎng)絡(luò)地址,該目標(biāo)客戶端 即為分享客戶端所發(fā)布的數(shù)據(jù)的任一客戶端。
[0102] 分配模塊910根據(jù)目標(biāo)客戶端所在網(wǎng)絡(luò)地址進(jìn)行就近定位,以為目標(biāo)客戶端分配 就近對應(yīng)的節(jié)點(diǎn)服務(wù)器,該節(jié)點(diǎn)服務(wù)器將與目標(biāo)客戶端處于同一地區(qū),并且所采用的網(wǎng)絡(luò) 也是由同一運(yùn)營商提供的。
[0103] 連接建立模塊930,用于分別建立中央數(shù)據(jù)交互服務(wù)器與兩個節(jié)點(diǎn)服務(wù)器之間的 長連接以及目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器與目標(biāo)客戶端之間的長連接。
[0104] 本實(shí)施例中,預(yù)先架構(gòu)了中央數(shù)據(jù)交互服務(wù)器,將用于實(shí)現(xiàn)數(shù)據(jù)交互過程中的數(shù) 據(jù)分發(fā)。其中,該中央數(shù)據(jù)交互服務(wù)器將是搭建在多線機(jī)房中的核心服務(wù)器,以保證各個運(yùn) 營商的訪問是有效、穩(wěn)定和實(shí)時的。
[0105] 中央數(shù)據(jù)交互服務(wù)器將分別與后端的兩個節(jié)點(diǎn)服務(wù)器建立長連接,目標(biāo)客戶端對 應(yīng)的節(jié)點(diǎn)服務(wù)器也將與目標(biāo)客戶端建立長連接,以便于將客戶端發(fā)布的數(shù)據(jù)傳輸至目標(biāo)客 戶端中。
[0106] 數(shù)據(jù)傳輸模塊950,用于通過中央數(shù)據(jù)交互服務(wù)器、目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器 以及建立的長連接將發(fā)布的數(shù)據(jù)傳輸至目標(biāo)客戶端。
[0107] 本實(shí)施例中,在中央數(shù)據(jù)交互服務(wù)器的作用下,數(shù)據(jù)傳輸模塊950將對發(fā)布至客 戶端就近對應(yīng)的節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),以通過目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器和建立 的長連接將客戶端發(fā)布的數(shù)據(jù)傳輸?shù)侥繕?biāo)客戶端,實(shí)現(xiàn)客戶端和目標(biāo)客戶端之間的數(shù)據(jù)分 享。
[0108] 如圖10所示,在一個實(shí)施例中,數(shù)據(jù)傳輸模塊950包括轉(zhuǎn)發(fā)單元951和數(shù)據(jù)發(fā)送 單元955。
[0109] 轉(zhuǎn)發(fā)單元951,運(yùn)行于中央數(shù)據(jù)交互服務(wù)器中,用于通過中央數(shù)據(jù)交互服務(wù)器與目 標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器之間的長連接將發(fā)布至節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)由中央交互服務(wù)器 傳輸至目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器。
[0110] 本實(shí)施例中,中央數(shù)據(jù)交互服務(wù)器中的轉(zhuǎn)發(fā)單元951通過其與客戶端對應(yīng)的節(jié)點(diǎn) 服務(wù)器之間的長連接,以及與目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器之間的長連接將客戶端發(fā)布至 對應(yīng)節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)轉(zhuǎn)發(fā)至目標(biāo)客戶端所對應(yīng)的節(jié)點(diǎn)服務(wù)器中。
[0111] 數(shù)據(jù)發(fā)送單元955,運(yùn)行于目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器中,用于通過目標(biāo)客戶端 對應(yīng)的節(jié)點(diǎn)服務(wù)器與目標(biāo)客戶端之間的長連接將傳輸至目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器的 數(shù)據(jù)發(fā)送至目標(biāo)客戶端。
[0112] 如圖11所示,在一個實(shí)施例中,上述分配模塊910包括目標(biāo)地址提取單元911和 服務(wù)器分配單元913。
[0113] 目標(biāo)地址提取單元911,用于從鏈接請求提取目標(biāo)客戶端所在網(wǎng)絡(luò)地址。
[0114] 服務(wù)器分配單元913,用于根據(jù)目標(biāo)客戶端所在網(wǎng)絡(luò)地址進(jìn)行域名解析以為目標(biāo) 客戶端分配對應(yīng)的節(jié)點(diǎn)服務(wù)器。
[0115] 本實(shí)施例中,服務(wù)器分配單元913根據(jù)目標(biāo)客戶端所在網(wǎng)絡(luò)地址進(jìn)行域名解析, 并獲知為目標(biāo)客戶端提供網(wǎng)絡(luò)的運(yùn)營商,進(jìn)而為目標(biāo)客戶端分配就近對應(yīng)的節(jié)點(diǎn)服務(wù)器, 以優(yōu)化數(shù)據(jù)傳輸效果。
[0116] 通過如上所述的數(shù)據(jù)交互過程,通過建立長連接的方式,即穩(wěn)定的TCP鏈接避免 了 http協(xié)議中延時影響嚴(yán)重以及數(shù)據(jù)丟包嚴(yán)重的問題,實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時推送。
[0117] 并且由于只需要采用少量的服務(wù)器部署中央數(shù)據(jù)交互服務(wù)器即可,降低了大量多 線機(jī)房的部署支持,降低了部署成本。
[0118] 本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以 通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述程序可存儲于一計算機(jī)可讀取存儲介質(zhì) 中,如本發(fā)明實(shí)施例中,該程序可存儲于計算機(jī)系統(tǒng)的存儲介質(zhì)中,并被該計算機(jī)系統(tǒng)中的 至少一個處理器執(zhí)行,以實(shí)現(xiàn)包括如上述各方法的實(shí)施例的流程。其中,所述存儲介質(zhì)可為 磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機(jī)存儲記憶體(Random Access Memory,RAM)等。
[0119] 以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并 不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保 護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1. 一種數(shù)據(jù)交互方法,包括如下步驟: 接收由客戶端發(fā)起的鏈接請求; 根據(jù)所述鏈接請求中包含的客戶端所在網(wǎng)絡(luò)地址就近定位得到對應(yīng)的節(jié)點(diǎn)服務(wù)器; 建立所述客戶端與所述節(jié)點(diǎn)服務(wù)器之間的長連接,以使得所述客戶端通過所述長連接 將數(shù)據(jù)發(fā)布至所述節(jié)點(diǎn)服務(wù)器。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述鏈接請求中包含的客戶端 所在網(wǎng)絡(luò)地址就近定位得到對應(yīng)的節(jié)點(diǎn)服務(wù)器的步驟包括: 由所述客戶端發(fā)起的鏈接請求提取所述客戶端所在網(wǎng)絡(luò)地址; 根據(jù)所述客戶端所在網(wǎng)絡(luò)地址進(jìn)行域名解析,以將所述客戶端所發(fā)起的數(shù)據(jù)發(fā)布指向 就近對應(yīng)的節(jié)點(diǎn)服務(wù)器。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述建立所述客戶端與所述節(jié)點(diǎn)服務(wù)器 之間的長連接,以使得所述客戶端通過所述長連接將數(shù)據(jù)發(fā)布至所述節(jié)點(diǎn)服務(wù)器的步驟之 后,所述方法還包括: 根據(jù)所述鏈接請求中目標(biāo)客戶端所在網(wǎng)絡(luò)地址分配所述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù) 器; 分別建立中央數(shù)據(jù)交互服務(wù)器與兩個節(jié)點(diǎn)服務(wù)器之間的長連接以及所述目標(biāo)客戶端 對應(yīng)的節(jié)點(diǎn)服務(wù)器與所述目標(biāo)客戶端之間的長連接; 通過所述中央數(shù)據(jù)交互服務(wù)器、目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器以及建立的長連接將所 述發(fā)布的數(shù)據(jù)傳輸至所述目標(biāo)客戶端。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述通過所述中央數(shù)據(jù)交互服務(wù)器、目標(biāo) 客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器以及建立的長連接將所述發(fā)布的數(shù)據(jù)傳輸至所述目標(biāo)客戶端的 步驟包括: 通過所述中央數(shù)據(jù)交互服務(wù)器與目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器之間的長連接將發(fā)布 至所述節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)由所述中央數(shù)據(jù)交互服務(wù)器傳輸至所述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn) 服務(wù)器; 通過所述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器與目標(biāo)客戶端之間的長連接將傳輸至所述目 標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)發(fā)送至目標(biāo)客戶端。
5. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述鏈接請求中目標(biāo)客戶端所 在網(wǎng)絡(luò)地址分配所述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器的步驟包括: 從所述鏈接請求提取目標(biāo)客戶端所在網(wǎng)絡(luò)地址; 根據(jù)所述目標(biāo)客戶端所在網(wǎng)絡(luò)地址進(jìn)行域名解析以為所述目標(biāo)客戶端分配對應(yīng)的節(jié) 點(diǎn)服務(wù)器。
6. -種數(shù)據(jù)交互系統(tǒng),其特征在于,包括: 請求接收模塊,用于接收由客戶端發(fā)起的鏈接請求; 就近定位模塊,用于根據(jù)所述鏈接請求中包含的客戶端所在網(wǎng)絡(luò)地址就近定位得到對 應(yīng)的節(jié)點(diǎn)服務(wù)器; 發(fā)布模塊,用于建立所述客戶端與所述節(jié)點(diǎn)服務(wù)器之間的長連接,以使得所述客戶端 通過所述長連接將數(shù)據(jù)發(fā)布至所述節(jié)點(diǎn)服務(wù)器。
7. 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述就近定位模塊包括: 地址提取單元,用于由所述客戶端發(fā)起的鏈接請求提取所述客戶端所在網(wǎng)絡(luò)地址; 域名解析單元,用于根據(jù)所述客戶端所在網(wǎng)絡(luò)地址進(jìn)行域名解析,以將所述客戶端所 發(fā)起的數(shù)據(jù)發(fā)布指向到就近對應(yīng)的節(jié)點(diǎn)服務(wù)器。
8. 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 分配模塊,用于根據(jù)所述鏈接請求中目標(biāo)客戶端所在網(wǎng)絡(luò)地址分配所述目標(biāo)客戶端對 應(yīng)的節(jié)點(diǎn)服務(wù)器; 連接建立模塊,用于分別建立中央數(shù)據(jù)交互服務(wù)器與兩個節(jié)點(diǎn)服務(wù)器之間的長連接以 及所述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器與目標(biāo)客戶端之間的長連接; 數(shù)據(jù)傳輸模塊,用于通過所述中央數(shù)據(jù)交互服務(wù)器、目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器以 及建立的長連接將所述發(fā)布的數(shù)據(jù)傳輸至所述目標(biāo)客戶端。
9. 根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述數(shù)據(jù)傳輸模塊包括: 轉(zhuǎn)發(fā)單元,運(yùn)行于所述中央數(shù)據(jù)交互服務(wù)器中,用于通過所述中央數(shù)據(jù)交互服務(wù)器與 目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器之間的長連接將發(fā)布至所述節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)由所述中央 數(shù)據(jù)交互服務(wù)器傳輸至所述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器; 數(shù)據(jù)發(fā)送單元,運(yùn)行于所述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服務(wù)器中,用于通過所述目標(biāo)客戶 端對應(yīng)的節(jié)點(diǎn)服務(wù)器與目標(biāo)客戶端之間的長連接將傳輸至所述目標(biāo)客戶端對應(yīng)的節(jié)點(diǎn)服 務(wù)器的數(shù)據(jù)發(fā)送至目標(biāo)客戶端。
10. 根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述分配模塊包括: 目標(biāo)地址提取單元,用于從所述鏈接請求提取目標(biāo)客戶端所在網(wǎng)絡(luò)地址; 服務(wù)器分配單元,用于根據(jù)所述目標(biāo)客戶端所在網(wǎng)絡(luò)地址進(jìn)行域名解析以為目標(biāo)客戶 端分配對應(yīng)的節(jié)點(diǎn)服務(wù)器。
【文檔編號】H04L29/06GK104092682SQ201410317639
【公開日】2014年10月8日 申請日期:2014年7月4日 優(yōu)先權(quán)日:2014年7月4日
【發(fā)明者】張朝裕, 龍付成, 段雪峰 申請人:深圳深訊和科技有限公司