表;對所述接入節(jié)點(diǎn)列表進(jìn)行去重處理以獲取目標(biāo)接入節(jié)點(diǎn)列表;將所述待分發(fā)內(nèi)容發(fā)送至目標(biāo)接入節(jié)點(diǎn)列表中的每個接入節(jié)點(diǎn)。例如,上述的實(shí)例中,經(jīng)過此步驟后,去重后的接入節(jié)點(diǎn)列表,即目標(biāo)接入節(jié)點(diǎn)列表內(nèi)只包括兩個接入節(jié)點(diǎn)(標(biāo)識分別為2與3)。因此,執(zhí)行兩次推送操作即可,相比于圖7所示的方式,推送次數(shù)降低了一半,推送效率進(jìn)一步提高,而且可節(jié)省網(wǎng)絡(luò)帶寬。
[0073]假設(shè)接收者列表的長度是M,第一次聚合(去除與發(fā)送者同接入節(jié)點(diǎn)的接收者)后去掉的推送長度為N,第二次聚合后去掉的推送長度是L,推送的文件平均流量大小是F,流量的成本是X,流量成本計算如下:
[0074]傳統(tǒng)推送:Costl= M*F*X ; (I)
[0075]本實(shí)施例:Cost2= M*F*X-N*F*X-L*F*X ;其中 N e [O, M] ;L e [O, Μ];(N+L) e [O, Μ];
[0076]由上式整理可得:
[0077]Cost2 = (l-N/M_L/M)*Costl
[0078]根據(jù)Cost2的計算公式,作圖如圖9所示,從圖9中可看出由于聚合效果的影響,聚合后的成本在O到傳統(tǒng)流量成本之間浮動,根據(jù)歷史統(tǒng)計結(jié)果,在即時通訊應(yīng)用(如微信)中,上傳者和接收者在同分布點(diǎn)的比率在50%以上,推送成本大多集中在途中格子陰影區(qū)。
[0079]此外,可以理解,上述的推送過程僅僅是將待分發(fā)內(nèi)容推送到接入節(jié)點(diǎn)內(nèi),內(nèi)容還未發(fā)送至用戶終端內(nèi)。因此,在將內(nèi)容推送至相應(yīng)的接入節(jié)點(diǎn)后,可由接入節(jié)點(diǎn)主動將內(nèi)容推送給用戶終端,或者僅僅向用戶終端推送一條通知消息,用戶終端可在特定條件下(例如,接收到用戶查閱內(nèi)容的指令時)主動向接入節(jié)點(diǎn)請求內(nèi)容,然后接入節(jié)點(diǎn)根據(jù)用戶終端的請求返回內(nèi)容。
[0080]根據(jù)上述的內(nèi)容分發(fā)網(wǎng)絡(luò),可以提升即時通訊系統(tǒng)中內(nèi)容分發(fā)的效率,而上述的內(nèi)容分發(fā)網(wǎng)絡(luò)的進(jìn)一步細(xì)節(jié),結(jié)合其他實(shí)施例描述如下。
[0081]參閱圖10,其為第一實(shí)施例提供的內(nèi)容分發(fā)方法,其用于在圖1所示的內(nèi)容分發(fā)網(wǎng)絡(luò)中將待分發(fā)內(nèi)容進(jìn)行分發(fā),本實(shí)施的方法包括以下步驟:
[0082]步驟S101,接收第一用戶終端發(fā)送的數(shù)據(jù)發(fā)送請求,所述數(shù)據(jù)發(fā)送請求內(nèi)包括記數(shù)據(jù)上傳者以及第一接收者列表。
[0083]在一個應(yīng)用場景中,第一用戶301通過第一用戶終端201登入即時通訊服務(wù)。第一用戶301通過即時通訊應(yīng)用程序提供的界面,可以選擇將某一多媒體內(nèi)容(例如圖片、音樂、視頻、或者其他格式的文檔)發(fā)送給多個用戶(例如,上述的第二用戶302、第三用戶
303、以及第四用戶304)。
[0084]相應(yīng)地,在接收到用戶的發(fā)送指令后,一方面,第一用戶終端201會將待發(fā)送的內(nèi)容上傳至接入節(jié)點(diǎn)內(nèi)的存儲服務(wù)器111中;另一方面,第一用戶終端201會將上傳者以及所有接收者的信息(第一接收者列表)發(fā)送給內(nèi)容分發(fā)服務(wù)器112。
[0085]步驟S102,獲取所述上傳者以及第一接收者列表內(nèi)每個接收者所屬的接入節(jié)點(diǎn)。
[0086]例如,可以向一個地理位置信息服務(wù)器(如圖1所示的服務(wù)器103)發(fā)送查詢請求,將上傳者以及所有接收者的標(biāo)識上傳給地理位置信息服務(wù)器以進(jìn)行查詢。一個用戶(或者說對應(yīng)的用戶終端)的地理位置可以是通過以下方式采集的:根據(jù)IP地址與地理位置的映射關(guān)系數(shù)據(jù)庫將用戶終端的IP地址映射為其地理位置;或者直接接收用戶終端上傳的地理位置信息??梢岳斫?,目前的移動電子終端內(nèi)可包括定位模塊,通地全球定位系統(tǒng)或者無線定位技術(shù)實(shí)現(xiàn)地理位置的定位,在獲取用戶的授權(quán)后,應(yīng)用程序可以獲取用戶終端的地理位置,并將地下位置上傳至地理位置信息服務(wù)器中。
[0087]在一個實(shí)例中,地理位置信息服務(wù)器返回的是上傳者以及接收者的地理位置信息。此時,可以進(jìn)一步判定上傳者或者接收者所屬的接入節(jié)點(diǎn)。
[0088]在另一個實(shí)例中,地理位置信息服務(wù)器還提供查詢一個用戶所屬的接入節(jié)點(diǎn)的服務(wù),也就是說,通過將接入節(jié)點(diǎn)的地理位置信息以及服務(wù)范圍等信息存儲在地理位置信息服務(wù)器內(nèi),可將查詢一個用戶終端屬于哪個接入節(jié)點(diǎn)的操作置于地理位置信息服務(wù)器內(nèi)進(jìn)行。在此種情形下,可直接接收到上傳者或者接收者所屬的接入節(jié)點(diǎn)的信息。
[0089]步驟S103,根據(jù)所述第一接收者列表獲取第二接收者列表,所述第二接收者列表內(nèi)每個接收者所屬的接入節(jié)點(diǎn)均不同于所述第一用戶終端的接入節(jié)點(diǎn)。
[0090]對于所有的接收者,判斷其所屬的接入節(jié)點(diǎn)是否與上傳者相同,若相同,則可忽略該接收者,否則,均保留該接收者。經(jīng)過此步驟,得到第二接收者列表。
[0091]步驟S104,將所述待分發(fā)內(nèi)容發(fā)送至第二接收者列表中每個接收者所屬的接入節(jié)點(diǎn)。
[0092]在獲取第二接收者列表后,可獲取待分發(fā)的內(nèi)容。具體地,可將待分發(fā)內(nèi)容的存儲索引上傳給存儲模塊224,存儲模塊224在接收到存儲索引后,根據(jù)存儲索引讀取對應(yīng)的記錄,并返回讀取的數(shù)據(jù),即待分發(fā)的內(nèi)容。在獲取待分發(fā)的內(nèi)容后,將待推送的內(nèi)容分發(fā)給第二接收者列表中每個接收者所屬的接入節(jié)點(diǎn)。
[0093]根據(jù)本實(shí)施例的方法,可以避免針對位于同一接入節(jié)點(diǎn)內(nèi)的接收者進(jìn)行內(nèi)容推送操作,可以提升推送效率,降低網(wǎng)絡(luò)流量。
[0094]參閱圖11,其為第二實(shí)施例提供的內(nèi)容分發(fā)方法的流程圖,本實(shí)施例的方法與圖10的方法相似,其不同之處在于,在步驟S103之后還包括以下步驟:
[0095]步驟S105,獲取所述第二接收者列表內(nèi)每個接收者所屬的接入節(jié)點(diǎn)以得到一個接入節(jié)點(diǎn)列表。
[0096]在步驟S102中已經(jīng)查詢得到所有接收者的所屬的接入節(jié)點(diǎn)列表,因此在步驟S105中,可以根據(jù)步驟S102中的查詢結(jié)果直接獲取接入節(jié)點(diǎn)列表。參閱圖7,接入節(jié)點(diǎn)列表內(nèi)包括的接入節(jié)點(diǎn)為2、2、2、3。
[0097]步驟S106,對所述接入節(jié)點(diǎn)列表進(jìn)行去重處理以獲取目標(biāo)接入節(jié)點(diǎn)列表。
[0098]如圖7所示,接入節(jié)點(diǎn)列表內(nèi)的四個接入節(jié)點(diǎn),實(shí)質(zhì)上只有兩個不同的接入節(jié)點(diǎn)2與3。參閱圖8,在經(jīng)過去重的步驟后,目標(biāo)接入節(jié)點(diǎn)列表內(nèi)包括的接入節(jié)點(diǎn)為2與3。
[0099]步驟S104a,將所述待分發(fā)內(nèi)容發(fā)送至目標(biāo)接入節(jié)點(diǎn)列表中的每個接入節(jié)點(diǎn)。
[0100]本步驟實(shí)質(zhì)上與步驟S104相似,不同之處僅在于要發(fā)送到的接入節(jié)點(diǎn)不同而已。
[0101]相比于第一實(shí)施例,本實(shí)施例的方法,可進(jìn)一步提升內(nèi)容分發(fā)的效率,節(jié)省網(wǎng)絡(luò)帶寬及流量。
[0102]參閱圖12,其為第三實(shí)施例提供的內(nèi)容分發(fā)方法的流程圖,本實(shí)施例的方法與圖11的方法相似,其不同之處在于,在步驟S104a之后還包括:
[0103]步驟S107,所述目標(biāo)接入節(jié)點(diǎn)將所述待分發(fā)內(nèi)容發(fā)送給所述第二接收者列表中屬于所述目標(biāo)接入節(jié)點(diǎn)的接收者。
[0104]在一個實(shí)例中,目標(biāo)接入節(jié)點(diǎn)將待分發(fā)內(nèi)容主動推送至屬于該接入節(jié)點(diǎn)的所有接收者(用戶終端)。例如,在圖7所示的場景中,接入節(jié)點(diǎn)2需要向3個接收者推送待分發(fā)內(nèi)容。
[0105]在另一個實(shí)例中,可先向用戶終端推送一條通知消息,用戶終端可在特定條件下(例如,接收到用戶查閱內(nèi)容的指令時)主動向接入節(jié)點(diǎn)請求內(nèi)容,然后接入節(jié)點(diǎn)根據(jù)用戶終端的請求返回內(nèi)容。
[0106]根據(jù)本實(shí)施例的方法,可將待發(fā)分的內(nèi)容分發(fā)至接收者的用戶終端中,提升內(nèi)容分發(fā)效率。
[0107]參閱圖13,其為第四實(shí)施例提供的內(nèi)容分發(fā)方法的流程圖,本實(shí)施例的方法與圖10的方法相似,其不同之處在于,在步驟S103之后還包括:
[0108]步驟S108,判斷所述第二接收者列表是否為空表,若為空表則內(nèi)容分發(fā)流程結(jié)束;若不為空表,即第二接收者列表內(nèi)至少包括一個接收者,才執(zhí)行步驟S104。
[0109]根據(jù)本實(shí)施例的方法,可以避免在第二接收者列表時啟動內(nèi)容分發(fā)流程以造成網(wǎng)絡(luò)資源占用。
[0110]參閱圖14,其為第五實(shí)施例提供的內(nèi)容分發(fā)方法的流程圖,本實(shí)施例的方法與圖10的方法相似,其不同之處在于,在步驟SlOl之前還包括:
[0111]步驟S109,接收及存儲用戶終端上傳的位置信息。
[0112]上述位置信息例如可包括直接的定位信息(例如GPS定位信息)或者其他任意可用來進(jìn)行間接定位的信息(如IP地址)。
[0113]在一個實(shí)例中,用戶終端內(nèi)具有定位模塊(全GPS定位模塊或者基于無線網(wǎng)絡(luò)的定位模塊),在獲取用戶的授權(quán)后,用戶終端內(nèi)的應(yīng)用程序(如上述的即時通訊應(yīng)用程序)可將用戶終端的當(dāng)前位置上傳給地理位置服務(wù)器。
[0114]在另一個實(shí)例中,用戶終端在進(jìn)行登陸操作時會將自身的IP地址發(fā)送給登陸服務(wù)器,相應(yīng)地,登陸服務(wù)器可以記錄用戶終端的當(dāng)前IP地址。進(jìn)一步地,可根據(jù)IP地址與地理位置的映射關(guān)系數(shù)據(jù)庫獲取到用戶終端的大概地理位置??梢岳斫猓鶕?jù)IP地下獲取到的地理位置精確度較低,但是由于一個接入節(jié)點(diǎn)所服務(wù)范圍一般較廣,因此,將根據(jù)IP地址得到的地理位置用來判斷其屬于哪個接入節(jié)點(diǎn)來說已經(jīng)足夠。
[0115]步驟S110,根據(jù)所述上傳的位置信息以及每個接入節(jié)點(diǎn)的預(yù)定義的位置范圍獲取用戶終端所屬于接入節(jié)點(diǎn)。
[0116]每個接入節(jié)點(diǎn)都具有預(yù)定義的服務(wù)范圍,例如,給每個接入節(jié)點(diǎn)定義一個服務(wù)半徑,一個該接入節(jié)點(diǎn)之間距離小于接入節(jié)點(diǎn)的服務(wù)半徑的用戶終端,