建立連接的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種建立連接的方法及裝置,屬于計(jì)算機(jī)領(lǐng)域。所述方法包括:獲取應(yīng)用程序所提供的服務(wù)對(duì)應(yīng)的連接請(qǐng)求;在預(yù)先構(gòu)建的連接池中確定與連接請(qǐng)求攜帶的連接標(biāo)識(shí)相匹配的連接標(biāo)識(shí);在相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的至少一個(gè)連接中獲取連接請(qǐng)求對(duì)應(yīng)的連接,并將獲取到的連接發(fā)送給用戶終端,使得用戶終端的應(yīng)用程序根據(jù)獲取到的連接與服務(wù)器建立服務(wù)對(duì)應(yīng)的連接。本發(fā)明通過在連接池中確定與連接請(qǐng)求攜帶的連接標(biāo)識(shí)相匹配的連接標(biāo)識(shí),并獲取連接請(qǐng)求對(duì)應(yīng)的連接后,將獲取到的連接發(fā)送給應(yīng)用程序,使得連接池可以為多個(gè)應(yīng)用程序提供連接,避免了服務(wù)器連接資源的浪費(fèi),提高了連接池的利用率,降低了構(gòu)建連接池的成本。
【專利說明】建立連接的方法及裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別涉及一種建立連接的方法及裝置。
【背景技術(shù)】
[0002] 在計(jì)算機(jī)領(lǐng)域中,用戶終端的應(yīng)用程序能夠?yàn)橛脩籼峁┒鄠€(gè)服務(wù),在提供每個(gè)服 務(wù)時(shí),通常都會(huì)向服務(wù)器讀/寫數(shù)據(jù)。在讀/寫數(shù)據(jù)之前,應(yīng)用程序需要與服務(wù)器的一個(gè)端 口建立連接。因此,每個(gè)連接可以由服務(wù)器的IP (Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址 和端口 ID (Identifier,標(biāo)識(shí))唯一確定。有些連接在建立時(shí)所需的時(shí)間較長(zhǎng),例如,在建 立TCP連接時(shí),應(yīng)用程序與服務(wù)器要進(jìn)行"三次握手"(three-way handshake),即應(yīng)用程序 與服務(wù)器在進(jìn)行三次確認(rèn)后才能建立TCP連接。因此,如何快速建立連接,是提高應(yīng)用程序 與服務(wù)器之間的數(shù)據(jù)通信速度的關(guān)鍵。
[0003] 現(xiàn)有技術(shù)在建立連接時(shí),針對(duì)用戶終端的每個(gè)應(yīng)用程序,建立連接的裝置預(yù)先創(chuàng) 建多個(gè)連接,根據(jù)每個(gè)應(yīng)用程序?qū)?yīng)的多個(gè)連接構(gòu)建每個(gè)應(yīng)用程序?qū)?yīng)的連接池;當(dāng)用戶 終端的應(yīng)用程序需要與服務(wù)器建立連接時(shí),該建立連接的裝置獲取應(yīng)用程序的連接請(qǐng)求, 并確定該應(yīng)用程序?qū)?yīng)的連接池;從該應(yīng)用程序?qū)?yīng)的連接池中獲取連接請(qǐng)求對(duì)應(yīng)的連 接,并將獲取到的連接發(fā)送給用戶終端,使得該用戶終端上的應(yīng)用程序根據(jù)獲取到的連接 與服務(wù)器建立連接。
[0004] 在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
[0005] 現(xiàn)有技術(shù)建立連接的方式中,需要為每個(gè)應(yīng)用程序預(yù)先創(chuàng)建多個(gè)連接,從而組成 每個(gè)應(yīng)用程序?qū)?yīng)的連接池,即使不同應(yīng)用程序的連接請(qǐng)求對(duì)應(yīng)相同的連接,仍然需要重 復(fù)執(zhí)行為不同應(yīng)用程序構(gòu)建對(duì)應(yīng)連接池的過程,重復(fù)創(chuàng)建的連接導(dǎo)致服務(wù)器連接資源的浪 費(fèi);且每個(gè)應(yīng)用程序?qū)?yīng)的連接池僅為該應(yīng)用程序提供連接,導(dǎo)致連接池的利用率不高,成 本較高。
【發(fā)明內(nèi)容】
[0006] 為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實(shí)施例提供了一種建立連接的方法及裝置。所 述技術(shù)方案如下:
[0007] 一方面,提供了一種建立連接的方法,所述方法包括:
[0008] 獲取應(yīng)用程序所提供的服務(wù)對(duì)應(yīng)的連接請(qǐng)求,所述連接請(qǐng)求中攜帶有與所述服務(wù) 相對(duì)應(yīng)的連接標(biāo)識(shí);
[0009] 在預(yù)先構(gòu)建的連接池中確定與所述連接請(qǐng)求攜帶的連接標(biāo)識(shí)相匹配的連接標(biāo)識(shí), 所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)至少一個(gè)連接;
[0010] 從所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的至少一個(gè)連接中獲取所述連接請(qǐng)求對(duì)應(yīng)的連接, 并將獲取到的連接發(fā)送給用戶終端,使得所述用戶終端上的應(yīng)用程序根據(jù)所述獲取到的連 接與服務(wù)器建立所述服務(wù)對(duì)應(yīng)的連接。
[0011] 另一方面,提供了一種建立連接的裝置,所述裝置包括:
[0012] 第一獲取模塊,用于獲取應(yīng)用程序所提供的服務(wù)對(duì)應(yīng)的連接請(qǐng)求,所述連接請(qǐng)求 中攜帶有與所述服務(wù)相對(duì)應(yīng)的連接標(biāo)識(shí);
[0013] 確定模塊,用于在預(yù)先構(gòu)建的連接池中確定與所述第一獲取模塊獲取到的連接請(qǐng) 求攜帶的連接標(biāo)識(shí)相匹配的連接標(biāo)識(shí),所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)至少一個(gè)連接;
[0014] 第二獲取模塊,用于從所述確定模塊確定的相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的至少一個(gè)連 接中獲取所述連接請(qǐng)求對(duì)應(yīng)的連接;
[0015] 第一發(fā)送模塊,用于將所述第二獲取模塊獲取到的連接發(fā)送給用戶終端,使得所 述用戶終端上的應(yīng)用程序根據(jù)所述獲取到的連接與服務(wù)器建立所述服務(wù)對(duì)應(yīng)的連接。
[0016] 本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是:
[0017] 通過在預(yù)先構(gòu)建的連接池中確定與獲取到的連接請(qǐng)求攜帶的連接標(biāo)識(shí)相匹配的 連接標(biāo)識(shí),并在相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接中獲取連接請(qǐng)求對(duì)應(yīng)的連接后,將獲取到的 連接發(fā)送給用戶終端,使得用戶終端的應(yīng)用程序與服務(wù)器建立連接,當(dāng)應(yīng)用程序的連接請(qǐng) 求對(duì)應(yīng)的連接已預(yù)先創(chuàng)建在連接池中時(shí),無需重復(fù)創(chuàng)建連接,使得預(yù)先構(gòu)建的連接池可以 為多個(gè)應(yīng)用程序提供連接,避免了服務(wù)器連接資源的浪費(fèi),提高了連接池的利用率,降低了 構(gòu)建連接池的成本。
【專利附圖】
【附圖說明】
[0018] 為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使 用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于 本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他 的附圖。
[0019] 圖1是本發(fā)明實(shí)施例提供的一種建立連接的實(shí)施環(huán)境的示意圖;
[0020] 圖2是本發(fā)明實(shí)施例一提供的一種建立連接的方法流程圖;
[0021] 圖3是本發(fā)明實(shí)施例二提供的一種建立連接的方法流程圖;
[0022] 圖4是本發(fā)明實(shí)施例三提供的第一種建立連接的裝置結(jié)構(gòu)示意圖;
[0023] 圖5是本發(fā)明實(shí)施例三提供的第二種建立連接的裝置結(jié)構(gòu)示意圖;
[0024] 圖6是本發(fā)明實(shí)施例三提供的第三種建立連接的裝置結(jié)構(gòu)示意圖;
[0025] 圖7是本發(fā)明實(shí)施例三提供的第四種建立連接的裝置結(jié)構(gòu)示意圖;
[0026] 圖8是本發(fā)明實(shí)施例三提供的第五種建立連接的裝置結(jié)構(gòu)示意圖;
[0027] 圖9是本發(fā)明實(shí)施例三提供的第六種建立連接的裝置結(jié)構(gòu)示意圖;
[0028] 圖10是本發(fā)明實(shí)施例三提供的第七種建立連接的裝置結(jié)構(gòu)示意圖;
[0029] 圖11是本發(fā)明實(shí)施例四提供的一種終端的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0030] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方 式作進(jìn)一步地詳細(xì)描述。
[0031 ] 本發(fā)明實(shí)施例提供了 一種建立連接的方法,請(qǐng)參考圖1,其示出了本發(fā)明實(shí)施例提 供的建立連接的方法所涉及的實(shí)施環(huán)境的結(jié)構(gòu)示意圖。該實(shí)施環(huán)境包括建立連接的裝置 101、用戶終端102及服務(wù)器103。
[0032] 其中,建立連接的裝置101如下面實(shí)施例三所述的建立連接的裝置。另外,建立連 接的裝置101可以配置在用戶終端102中,也可以配置在服務(wù)器103中,還可以將建立連接 的裝置101配置為除了用戶終端101和服務(wù)器103之外的其他設(shè)備等。當(dāng)建立連接的裝置 101配置為除了用戶終端101和服務(wù)器103之外的其他設(shè)備時(shí),建立連接的裝置101與用戶 終端102、用戶終端102與服務(wù)器103均通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信。建立連接的裝置101用于 從預(yù)先構(gòu)建的連接池中獲取到連接后,發(fā)送給用戶終端102 ;用戶終端102的應(yīng)用程序根據(jù) 建立連接的裝置101獲取到的連接與服務(wù)器103建立連接。
[0033] 實(shí)施例一
[0034] 結(jié)合上述實(shí)施環(huán)境,本發(fā)明實(shí)施例提供了一種建立連接的方法,參見圖2,方法流 程包括:
[0035] 201 :獲取應(yīng)用程序所提供的服務(wù)對(duì)應(yīng)的連接請(qǐng)求,連接請(qǐng)求中攜帶有與服務(wù)相對(duì) 應(yīng)的連接標(biāo)識(shí)。
[0036] 優(yōu)選地,將獲取到的連接發(fā)送給用戶終端之后,還包括:
[0037] 如果用戶終端的應(yīng)用程序根據(jù)獲取到的連接與服務(wù)器建立服務(wù)對(duì)應(yīng)的連接失敗, 則從連接池中刪除獲取到的連接。
[0038] 202 :在預(yù)先構(gòu)建的連接池中確定與連接請(qǐng)求攜帶的連接標(biāo)識(shí)相匹配的連接標(biāo)識(shí), 相匹配的連接標(biāo)識(shí)對(duì)應(yīng)至少一個(gè)連接。
[0039] 其中,每個(gè)連接請(qǐng)求攜帶的連接標(biāo)識(shí)用于標(biāo)識(shí)應(yīng)用程序的每個(gè)服務(wù)。
[0040] 優(yōu)選地,從預(yù)先構(gòu)建的連接池中確定與連接請(qǐng)求攜帶的連接標(biāo)識(shí)相匹配的連接標(biāo) 識(shí)之后,還包括:
[0041] 如果從相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的至少一個(gè)連接中未獲取到連接請(qǐng)求對(duì)應(yīng)的連接, 則創(chuàng)建連接請(qǐng)求對(duì)應(yīng)的連接,并將創(chuàng)建的連接發(fā)送給用戶終端,使得用戶終端的應(yīng)用程序 根據(jù)創(chuàng)建的連接與服務(wù)器建立所述服務(wù)對(duì)應(yīng)的連接。
[0042] 優(yōu)選地,創(chuàng)建連接請(qǐng)求對(duì)應(yīng)的連接之后,還包括:
[0043] 將創(chuàng)建的連接作為與相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接,并添加到預(yù)先構(gòu)建的連接池 中。
[0044] 優(yōu)選地,將創(chuàng)建的連接作為與相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接,并添加到預(yù)先構(gòu)建 的連接池中之前,還包括:
[0045] 判斷相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接的數(shù)量是否達(dá)到預(yù)設(shè)閾值;
[0046] 如果相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接的數(shù)量未達(dá)到預(yù)設(shè)閾值,則執(zhí)行將創(chuàng)建的連接 作為與相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接,并添加到預(yù)先構(gòu)建的連接池中的步驟。
[0047] 優(yōu)選地,判斷相匹配的連接標(biāo)識(shí)所對(duì)應(yīng)的連接的數(shù)量是否達(dá)到預(yù)設(shè)閾值之后,還 包括:
[0048] 如果相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接的數(shù)量達(dá)到預(yù)設(shè)閾值,則從連接池中刪除相匹 配的連接標(biāo)識(shí)對(duì)應(yīng)的至少一個(gè)連接,并執(zhí)行將創(chuàng)建的連接作為與相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的 連接,并添加到預(yù)先構(gòu)建的連接池中的步驟。
[0049] 優(yōu)選地,在預(yù)先構(gòu)建的連接池中確定與連接請(qǐng)求攜帶的連接標(biāo)識(shí)相匹配的連接標(biāo) 識(shí)之前,還包括:
[0050] 為應(yīng)用程序的每個(gè)服務(wù)分配對(duì)應(yīng)的連接標(biāo)識(shí),并為每個(gè)連接標(biāo)識(shí)預(yù)先創(chuàng)建對(duì)應(yīng)的 至少一個(gè)連接;
[0051] 根據(jù)每個(gè)連接標(biāo)識(shí)及其對(duì)應(yīng)的至少一個(gè)連接構(gòu)建連接池。
[0052] 203 :從相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的至少一個(gè)連接中獲取連接請(qǐng)求對(duì)應(yīng)的連接,并將 獲取到的連接發(fā)送給用戶終端,使得用戶終端上的應(yīng)用程序根據(jù)獲取到的連接與服務(wù)器建 立服務(wù)對(duì)應(yīng)的連接。
[0053] 綜上所述,本發(fā)明實(shí)施例提供的方法,通過在預(yù)先構(gòu)建的連接池中確定與獲取到 的連接請(qǐng)求攜帶的連接標(biāo)識(shí)相匹配的連接標(biāo)識(shí),并在相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接中獲取 連接請(qǐng)求對(duì)應(yīng)的連接后,將獲取到的連接發(fā)送給用戶終端,使得用戶終端的應(yīng)用程序與服 務(wù)器建立連接,當(dāng)應(yīng)用程序的連接請(qǐng)求對(duì)應(yīng)的連接已預(yù)先創(chuàng)建在連接池中時(shí),無需重復(fù)創(chuàng) 建連接,使得預(yù)先構(gòu)建的連接池可以為多個(gè)應(yīng)用程序提供連接,避免了服務(wù)器連接資源的 浪費(fèi),提高了連接池的利用率,降低了構(gòu)建連接池的成本。
[0054] 實(shí)施例二
[0055] 為了提高連接池的利用率,降低成本,本發(fā)明實(shí)施例提供了一種建立連接的方法, 執(zhí)行本發(fā)明實(shí)施例的方法的主體為建立連接的裝置,該建立連接的裝置可以為終端、服務(wù) 器或其他設(shè)備等。結(jié)合上述實(shí)施例一的內(nèi)容,參見圖3,本實(shí)施例提供的方法流程包括:
[0056] 301 :獲取應(yīng)用程序所提供的服務(wù)對(duì)應(yīng)的連接請(qǐng)求,連接請(qǐng)求中攜帶有與該服務(wù)相 對(duì)應(yīng)的連接標(biāo)識(shí)。
[0057] 針對(duì)該步驟,通常一個(gè)應(yīng)用程序能夠提供多個(gè)服務(wù),在提供每個(gè)服務(wù)時(shí),都需要向 對(duì)應(yīng)的服務(wù)器讀/寫數(shù)據(jù)。為了向?qū)?yīng)的服務(wù)器讀/寫數(shù)據(jù),首先需要與服務(wù)器建立連接。 由于應(yīng)用程序通常運(yùn)行在用戶終端上,可以通過用戶終端發(fā)送應(yīng)用程序所提供的服務(wù)對(duì)應(yīng) 的連接請(qǐng)求給建立連接的裝置,建立連接的裝置在接收到用戶終端發(fā)送的應(yīng)用程序的連接 請(qǐng)求后,獲取應(yīng)用程序所提供的服務(wù)對(duì)應(yīng)的連接請(qǐng)求。除了連接標(biāo)識(shí)之外,連接請(qǐng)求中還可 以攜帶有應(yīng)用程序的用戶ID等信息,對(duì)于連接請(qǐng)求中攜帶的信息,本發(fā)明實(shí)施例在此不進(jìn) 行具體限定。
[0058] 302 :在預(yù)先構(gòu)建的連接池中確定與連接請(qǐng)求攜帶的連接標(biāo)識(shí)相匹配的連接標(biāo)識(shí)。
[0059] 為了能夠更快速地建立連接,需要預(yù)先構(gòu)建連接池,具體包括:為應(yīng)用程序的每個(gè) 服務(wù)分配對(duì)應(yīng)的連接標(biāo)識(shí),并為每個(gè)連接標(biāo)識(shí)預(yù)先創(chuàng)建對(duì)應(yīng)的至少一個(gè)連接;根據(jù)每個(gè)連 接標(biāo)識(shí)及其對(duì)應(yīng)的至少一個(gè)連接構(gòu)建連接池。
[0060] 其中,由于應(yīng)用程序可以提供多個(gè)服務(wù),需要為應(yīng)用程序的每個(gè)服務(wù)分配對(duì)應(yīng)的 連接標(biāo)識(shí),用于標(biāo)識(shí)該服務(wù)。除了預(yù)先為上述步驟301中發(fā)送連接請(qǐng)求的應(yīng)用程序的服務(wù) 分配標(biāo)識(shí)之外,還可以根據(jù)實(shí)際應(yīng)用的需要,預(yù)先為其他應(yīng)用程序的服務(wù)分配對(duì)應(yīng)的標(biāo)識(shí), 本發(fā)明實(shí)施例對(duì)此不進(jìn)行具體限定。由于多個(gè)應(yīng)用程序所能提供的服務(wù)可以相同,在為應(yīng) 用程序的每個(gè)服務(wù)分配對(duì)應(yīng)的連接標(biāo)識(shí)時(shí),可以為相同的服務(wù)分配同一個(gè)連接標(biāo)識(shí)。當(dāng)然, 也可以為相同的服務(wù)分配兩個(gè)以上的連接標(biāo)識(shí),本發(fā)明實(shí)施例在此不對(duì)為每個(gè)服務(wù)分配的 連接標(biāo)識(shí)的數(shù)量進(jìn)行具體限定,保證每個(gè)連接標(biāo)識(shí)能夠標(biāo)識(shí)一個(gè)服務(wù)即可。
[0061] 在為每個(gè)服務(wù)分配對(duì)應(yīng)的連接標(biāo)識(shí)之后,為每個(gè)連接標(biāo)識(shí)預(yù)先創(chuàng)建對(duì)應(yīng)的至少一 個(gè)連接。預(yù)先創(chuàng)建連接的方式與現(xiàn)有技術(shù)相同,在此不再贅述。預(yù)先創(chuàng)建的連接的類型可 以根據(jù)實(shí)際情況選定,例如,可以為TCP連接等。由于每個(gè)連接標(biāo)識(shí)對(duì)應(yīng)于應(yīng)用終端的每個(gè) 服務(wù),因而在為每個(gè)連接標(biāo)識(shí)預(yù)先創(chuàng)建對(duì)應(yīng)的至少一個(gè)連接時(shí),可以根據(jù)應(yīng)用終端的每個(gè) 服務(wù)創(chuàng)建每個(gè)連接標(biāo)識(shí)對(duì)應(yīng)的至少一個(gè)連接。
[0062] 在具體應(yīng)用中,用戶終端的應(yīng)用程序與服務(wù)器建立連接時(shí),都是通過與服務(wù)器的 一個(gè)端口建立連接,從而向服務(wù)器讀/寫數(shù)據(jù)。由于服務(wù)器的數(shù)量可以為多個(gè),且每個(gè)服務(wù) 器的端口也可以為多個(gè),可以用(IP,Port) 二元組標(biāo)識(shí)一個(gè)連接,其中,IP表示服務(wù)器的IP 地址,Port (端口)表示服務(wù)器的端口 ID。通常,應(yīng)用程序的一個(gè)服務(wù)可以向服務(wù)器的至少 兩個(gè)端口中的任一端口讀/寫數(shù)據(jù),或者向多個(gè)服務(wù)器的相同端口讀/寫數(shù)據(jù),因此,可以 為應(yīng)用終端的每個(gè)服務(wù)創(chuàng)建對(duì)應(yīng)的多個(gè)連接(IP,Port),也即為每個(gè)連接標(biāo)識(shí)創(chuàng)建對(duì)應(yīng)的 多個(gè)連接(IP,Port)。
[0063] 在分配得到連接標(biāo)識(shí)并建立對(duì)應(yīng)的連接之后,根據(jù)每個(gè)連接標(biāo)識(shí)及其對(duì)應(yīng)的至少 一個(gè)連接構(gòu)建連接池。其中,構(gòu)建的連接池可以存儲(chǔ)在建立連接的裝置中,還可以存儲(chǔ)在其 他的數(shù)據(jù)庫(kù)中,本發(fā)明實(shí)施例在此不對(duì)構(gòu)建的連接池的存儲(chǔ)位置進(jìn)行具體限定。在每次建 立連接時(shí),并不需要每次都執(zhí)行預(yù)先構(gòu)建連接池的操作。連接池構(gòu)建完畢后,后續(xù)每次建立 連接時(shí),都可以使用該連接池。
[0064] 通過上述方式構(gòu)建連接池后,由于優(yōu)先構(gòu)建的連接池中對(duì)應(yīng)用程序的每個(gè)服務(wù)分 配對(duì)應(yīng)的連接標(biāo)識(shí),并為每個(gè)連接標(biāo)識(shí)創(chuàng)建至少一個(gè)連接,當(dāng)其他應(yīng)用程序所能提供的服 務(wù)對(duì)應(yīng)的連接在預(yù)先構(gòu)建的連接池中已經(jīng)創(chuàng)建時(shí),可以根據(jù)與該服務(wù)相對(duì)應(yīng)的連接標(biāo)識(shí)從 預(yù)先構(gòu)建的連接池中獲取到該服務(wù)對(duì)應(yīng)的連接,而無需重復(fù)創(chuàng)建該服務(wù)的連接,避免了服 務(wù)器連接資源的浪費(fèi),且預(yù)先構(gòu)建的連接池可以為多個(gè)應(yīng)用程序提供服務(wù),其利用率也大 大提聞了。
[0065] 舉例來說,以應(yīng)用程序1能夠提供3個(gè)服務(wù),分別為服務(wù)1、服務(wù)2和服務(wù)3,應(yīng)用 程序2能夠提供2個(gè)服務(wù),分別為服務(wù)1和服務(wù)4為例進(jìn)行說明,為應(yīng)用程序1和應(yīng)用程序 2的服務(wù)1至服務(wù)4分配對(duì)應(yīng)的連接標(biāo)識(shí)Net ID 1至NetID4 ;并分別為Net ID 1至NetID4創(chuàng) 建對(duì)應(yīng)的至少一個(gè)連接,并根據(jù)每個(gè)連接標(biāo)識(shí)及其對(duì)應(yīng)的連接構(gòu)建連接池,如下表1所示。
[0066]表 1
[0067]
【權(quán)利要求】
1. 一種建立連接的方法,其特征在于,所述方法包括: 獲取應(yīng)用程序所提供的服務(wù)對(duì)應(yīng)的連接請(qǐng)求,所述連接請(qǐng)求中攜帶有與所述服務(wù)相對(duì) 應(yīng)的連接標(biāo)識(shí); 在預(yù)先構(gòu)建的連接池中確定與所述連接請(qǐng)求攜帶的連接標(biāo)識(shí)相匹配的連接標(biāo)識(shí),所述 相匹配的連接標(biāo)識(shí)對(duì)應(yīng)至少一個(gè)連接; 從所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的至少一個(gè)連接中獲取所述連接請(qǐng)求對(duì)應(yīng)的連接,并將 獲取到的連接發(fā)送給用戶終端,使得所述用戶終端上的應(yīng)用程序根據(jù)所述獲取到的連接與 服務(wù)器建立所述服務(wù)對(duì)應(yīng)的連接。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將獲取到的連接發(fā)送給用戶終端之 后,還包括: 如果所述用戶終端的應(yīng)用程序根據(jù)所述獲取到的連接與服務(wù)器建立所述服務(wù)對(duì)應(yīng)的 連接失敗,則從所述連接池中刪除所述獲取到的連接。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從預(yù)先構(gòu)建的連接池中確定與所述 連接請(qǐng)求攜帶的連接標(biāo)識(shí)相匹配的連接標(biāo)識(shí)之后,還包括: 如果從所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的至少一個(gè)連接中未獲取到所述連接請(qǐng)求對(duì)應(yīng)的 連接,則創(chuàng)建所述連接請(qǐng)求對(duì)應(yīng)的連接,并將所述創(chuàng)建的連接發(fā)送給所述用戶終端,使得所 述用戶終端的應(yīng)用程序根據(jù)所述創(chuàng)建的連接與服務(wù)器建立所述服務(wù)對(duì)應(yīng)的連接。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述創(chuàng)建所述連接請(qǐng)求對(duì)應(yīng)的連接之后, 還包括: 將所述創(chuàng)建的連接作為與所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接,并添加到所述預(yù)先構(gòu)建 的連接池中。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將所述創(chuàng)建的連接作為與所述相匹 配的連接標(biāo)識(shí)對(duì)應(yīng)的連接,并添加到所述預(yù)先構(gòu)建的連接池中之前,還包括: 判斷所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接的數(shù)量是否達(dá)到預(yù)設(shè)閾值; 如果所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接的數(shù)量未達(dá)到預(yù)設(shè)閾值,則執(zhí)行將所述創(chuàng)建 的連接作為與所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接,并添加到所述預(yù)先構(gòu)建的連接池中的步 驟。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述判斷所述相匹配的連接標(biāo)識(shí)所對(duì)應(yīng) 的連接的數(shù)量是否達(dá)到預(yù)設(shè)閾值之后,還包括: 如果所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接的數(shù)量達(dá)到預(yù)設(shè)閾值,則從所述連接池中刪除 所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的至少一個(gè)連接,并執(zhí)行將所述創(chuàng)建的連接作為與所述相匹配 的連接標(biāo)識(shí)對(duì)應(yīng)的連接,并添加到所述預(yù)先構(gòu)建的連接池中的步驟。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在預(yù)先構(gòu)建的連接池中確定與所述 連接請(qǐng)求攜帶的連接標(biāo)識(shí)相匹配的連接標(biāo)識(shí)之前,還包括: 為所述應(yīng)用程序的每個(gè)服務(wù)分配對(duì)應(yīng)的連接標(biāo)識(shí),并為每個(gè)連接標(biāo)識(shí)預(yù)先創(chuàng)建對(duì)應(yīng)的 至少一個(gè)連接; 根據(jù)每個(gè)連接標(biāo)識(shí)及其對(duì)應(yīng)的至少一個(gè)連接構(gòu)建連接池。
8. 一種建立連接的裝置,其特征在于,所述裝置包括: 第一獲取模塊,用于獲取應(yīng)用程序所提供的服務(wù)對(duì)應(yīng)的連接請(qǐng)求,所述連接請(qǐng)求中攜 帶有與所述服務(wù)相對(duì)應(yīng)的連接標(biāo)識(shí); 確定模塊,用于在預(yù)先構(gòu)建的連接池中確定與所述第一獲取模塊獲取到的連接請(qǐng)求攜 帶的連接標(biāo)識(shí)相匹配的連接標(biāo)識(shí),所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)至少一個(gè)連接; 第二獲取模塊,用于從所述確定模塊確定的相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的至少一個(gè)連接中 獲取所述連接請(qǐng)求對(duì)應(yīng)的連接; 第一發(fā)送模塊,用于將所述第二獲取模塊獲取到的連接發(fā)送給用戶終端,使得所述用 戶終端上的應(yīng)用程序根據(jù)所述獲取到的連接與服務(wù)器建立所述服務(wù)對(duì)應(yīng)的連接。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 第一刪除模塊,用于在所述用戶終端的應(yīng)用程序根據(jù)所述獲取到的連接與服務(wù)器建立 所述服務(wù)對(duì)應(yīng)的連接失敗時(shí),從所述連接池中刪除所述獲取到的連接。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 第一創(chuàng)建模塊,用于在從所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的至少一個(gè)連接中未獲取到所述 連接請(qǐng)求對(duì)應(yīng)的連接時(shí),創(chuàng)建所述連接請(qǐng)求對(duì)應(yīng)的連接; 第二發(fā)送模塊,用于將所述第一創(chuàng)建模塊創(chuàng)建的連接發(fā)送給所述用戶終端,使得所述 用戶終端的應(yīng)用程序根據(jù)所述創(chuàng)建的連接與服務(wù)器建立所述服務(wù)對(duì)應(yīng)的連接。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述裝置還包括: 添加模塊,用于將所述第一創(chuàng)建模塊創(chuàng)建的連接作為與所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的 連接,并添加到所述預(yù)先構(gòu)建的連接池中。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括: 判斷模塊,用于判斷所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接的數(shù)量是否達(dá)到預(yù)設(shè)閾值,并 在所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接的數(shù)量未達(dá)到預(yù)設(shè)閾值時(shí),則所述添加模塊。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括: 第二刪除模塊,用于所述判斷模塊判斷相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的連接的數(shù)量達(dá)到預(yù)設(shè) 閾值時(shí),從所述連接池中刪除所述相匹配的連接標(biāo)識(shí)對(duì)應(yīng)的至少一個(gè)連接,并執(zhí)行所述添 加模塊。
14.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 分配模塊,用于為所述應(yīng)用程序的每個(gè)服務(wù)分配對(duì)應(yīng)的連接標(biāo)識(shí); 第二創(chuàng)建模塊,用于為所述分配模塊分配的每個(gè)連接標(biāo)識(shí)預(yù)先創(chuàng)建對(duì)應(yīng)的至少一個(gè)連 接; 構(gòu)建模塊,用于根據(jù)所述分配模塊分配的每個(gè)連接標(biāo)識(shí)及所述第二創(chuàng)建模塊創(chuàng)建的每 個(gè)連接標(biāo)識(shí)對(duì)應(yīng)的至少一個(gè)連接構(gòu)建連接池。
【文檔編號(hào)】G06F9/54GK104142868SQ201310172564
【公開日】2014年11月12日 申請(qǐng)日期:2013年5月10日 優(yōu)先權(quán)日:2013年5月10日
【發(fā)明者】周齡 申請(qǐng)人:騰訊科技(深圳)有限公司