例如內(nèi)存管理、存儲(chǔ)設(shè)備控制、電源管理等)的軟件組件和/或驅(qū)動(dòng),并可與各種硬件或軟件組件相互通訊,從而提供其他軟件組件的運(yùn)行環(huán)境。即時(shí)通訊模塊124用于在操作系統(tǒng)122的基礎(chǔ)上實(shí)現(xiàn)即時(shí)通訊的功能,即實(shí)現(xiàn)文字、圖片、視頻、音樂、文檔等內(nèi)容的發(fā)送。具體地,即時(shí)通訊模塊124可為各公司開發(fā)的即時(shí)通訊應(yīng)用程序,如騰訊公司的微信或者手機(jī)QQ應(yīng)用程序。
[0047]可以理解,第二用戶端202、第三用戶終端203、以及第四用戶終端204可與第一用戶終端201具有相似的結(jié)構(gòu)。第一用戶終端201、第二用戶終端202、第三用戶終端203、第四用戶終端204內(nèi)分別安裝有同一款即時(shí)通訊應(yīng)用程序。
[0048]在一個(gè)應(yīng)用場(chǎng)景中,第一用戶301通過第一用戶終端201登入即時(shí)通訊服務(wù),第二用戶302通過第二用戶終端202登入即時(shí)通訊服務(wù),第三用戶303通過第三用戶終端203登入即時(shí)通訊服務(wù),第四用戶304通過第四用戶終端204登入即時(shí)通訊服務(wù)。
[0049]第一用戶301通過即時(shí)通訊應(yīng)用程序提供的界面,可以選擇將某一多媒體內(nèi)容(例如圖片、音樂、視頻、或者其他格式的文檔)發(fā)送給多個(gè)用戶(例如,上述的第二用戶
302、第三用戶303、以及第四用戶304)??梢岳斫?,在接收到用戶的發(fā)送指令后,一方面,上傳模塊126會(huì)將待發(fā)送的內(nèi)容上傳至接入節(jié)點(diǎn)內(nèi)的存儲(chǔ)服務(wù)器111中;另一方面,上傳模塊126會(huì)將上傳者以及所有接收者的信息發(fā)送給內(nèi)容分發(fā)服務(wù)器112。
[0050]在一個(gè)實(shí)例中,待分發(fā)的內(nèi)容是存儲(chǔ)在第一終端內(nèi)的本機(jī)文件,此時(shí),上傳模塊126需要將本機(jī)文件上傳至存儲(chǔ)服務(wù)器111中。存儲(chǔ)服務(wù)器111將待分發(fā)內(nèi)容的存儲(chǔ)索引返回給上傳模塊126。
[0051]在另一個(gè)實(shí)例中,待分發(fā)的內(nèi)容是存儲(chǔ)在互聯(lián)網(wǎng)內(nèi)其他服務(wù)器內(nèi)的公開文件,此時(shí),上傳模塊126可以將待分的內(nèi)容的資源定位符上傳至存儲(chǔ)服務(wù)器111,由存儲(chǔ)服務(wù)器111直接根據(jù)資源定符抓取內(nèi)容并存儲(chǔ);另外,上傳模塊126也可以按照本機(jī)文件相同的方式直接上傳待分享內(nèi)容。存儲(chǔ)服務(wù)器111將待分發(fā)內(nèi)容的存儲(chǔ)索引返回給上傳模塊126。
[0052]在另一個(gè)實(shí)例中,待分的內(nèi)容已經(jīng)緩存在存儲(chǔ)服務(wù)器111中,此時(shí)上傳模塊126無須再進(jìn)行上傳操作。
[0053]參閱圖4,其為存儲(chǔ)服務(wù)器111的一個(gè)實(shí)施例的結(jié)構(gòu)框圖。如圖4所示,存儲(chǔ)服務(wù)器111包括:存儲(chǔ)器202、處理器204、存儲(chǔ)控制器206、外設(shè)接口 208、以及網(wǎng)絡(luò)模塊210??梢岳斫?,圖4所示的結(jié)構(gòu)僅為示意,其并不對(duì)接入服務(wù)器111的結(jié)構(gòu)造成限定。例如,接入服務(wù)器111還可包括比圖4所示更多或者更少的組件,或者具有與圖4所示不同的配置。
[0054]存儲(chǔ)器202可用于存儲(chǔ)軟件程序以及模塊,如本發(fā)明實(shí)施例中的即使通訊會(huì)話的方法及裝置對(duì)應(yīng)的程序指令/模塊,處理器204通過運(yùn)行存儲(chǔ)在存儲(chǔ)器202內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的方法。
[0055]存儲(chǔ)器202可包括高速隨機(jī)存儲(chǔ)器,還可包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器202可進(jìn)一步包括相對(duì)于處理器206遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至接入服務(wù)器111。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。處理器206以及其他可能的組件對(duì)存儲(chǔ)器202的訪問可在存儲(chǔ)控制器204的控制下進(jìn)行。
[0056]外設(shè)接口 208將各種輸入/輸入裝置耦合至處理器206。處理器206運(yùn)行存儲(chǔ)器202內(nèi)的各種軟件、指令接入服務(wù)器111執(zhí)行各種功能以及進(jìn)行數(shù)據(jù)處理。在一些實(shí)施例中,外設(shè)接口 208、處理器206以及存儲(chǔ)控制器204可以在單個(gè)芯片中實(shí)現(xiàn)。在其他一些實(shí)例中,他們可以分別由獨(dú)立的芯片實(shí)現(xiàn)。
[0057]網(wǎng)絡(luò)模塊210用于接收以及發(fā)送網(wǎng)絡(luò)信號(hào)。上述網(wǎng)絡(luò)信號(hào)可包括無線信號(hào)或者有線信號(hào)。在一個(gè)實(shí)例中,上述網(wǎng)絡(luò)信號(hào)為有線網(wǎng)絡(luò)信號(hào)。此時(shí),網(wǎng)絡(luò)模塊210可包括處理器、隨機(jī)存儲(chǔ)器、轉(zhuǎn)換器、晶體振蕩器等元件。
[0058]上述的軟件程序以及模塊包括:操作系統(tǒng)222以及存儲(chǔ)模塊224。操作系統(tǒng)222其可包括各種用于管理系統(tǒng)任務(wù)(例如內(nèi)存管理、存儲(chǔ)設(shè)備控制、電源管理等)的軟件組件和/或驅(qū)動(dòng),并可與各種硬件或軟件組件相互通訊,從而提供其他軟件組件的運(yùn)行環(huán)境。存儲(chǔ)模塊224用于根據(jù)客戶端(包括用戶終端以及接入節(jié)點(diǎn)內(nèi)的其他服務(wù)器)的請(qǐng)求存儲(chǔ)數(shù)據(jù)或者返回查詢的數(shù)據(jù)。
[0059]參閱圖5,內(nèi)容分發(fā)服務(wù)器112結(jié)構(gòu)與存儲(chǔ)服務(wù)器11相似,其不同之處在于其內(nèi)運(yùn)行的軟件模塊。內(nèi)容分發(fā)服務(wù)器112包括內(nèi)容分發(fā)模塊226。內(nèi)容分發(fā)模塊226用于根據(jù)用戶終端內(nèi)的上傳模塊126上傳的上傳者及接收者的信息進(jìn)行內(nèi)容的分發(fā)操作。
[0060]參閱圖6,其為在上述的內(nèi)容分發(fā)過程中,用戶終端、存儲(chǔ)服務(wù)器、內(nèi)容分發(fā)服務(wù)器之間的交互示意圖。首先,第一用戶301通過即時(shí)通訊模塊124提供的界面選擇要發(fā)送的內(nèi)容以及多個(gè)接收者(步驟I),在接收到第一用戶301的用戶指令后,一方面,上傳模塊126將待分發(fā)的內(nèi)容上傳至接入節(jié)點(diǎn)內(nèi)的存儲(chǔ)服務(wù)器中,并獲取待分發(fā)的內(nèi)容在存儲(chǔ)服務(wù)器中的索引;另一方面,上傳模塊126將上傳模塊126將上傳者(如第一用戶301)以及所有接收者的信息發(fā)送給內(nèi)容分發(fā)模塊226。
[0061]內(nèi)容分發(fā)模塊226在獲取上傳者以及接收者的信息后,解析接收到的信息可以獲取第一接收者列表,第一接收者列表內(nèi)包含待攝像頭內(nèi)容被指定的接收者的識(shí)別信息。然后,內(nèi)容分發(fā)模塊226需要根據(jù)第一接收者列表獲取第二接收者列表,第二接收者列表內(nèi)每個(gè)接收者所屬的接入節(jié)點(diǎn)均不同于所述第一用戶終端的接入節(jié)點(diǎn)。
[0062]具體地,內(nèi)容分發(fā)模塊226查詢上傳者以及所有接收者所屬的接入節(jié)點(diǎn)(步驟3及步驟4)。具體地,可以向一個(gè)地理位置信息服務(wù)器(如圖1所示的服務(wù)器103)發(fā)送查詢請(qǐng)求,將上傳者以及所有接收者的標(biāo)識(shí)上傳給地理位置信息服務(wù)器以進(jìn)行查詢。一個(gè)用戶(或者說對(duì)應(yīng)的用戶終端)的地理位置可以是通過以下方式采集的:根據(jù)IP地址與地理位置的映射關(guān)系數(shù)據(jù)庫將用戶終端的IP地址映射為其地理位置;或者直接接收用戶終端上傳的地理位置信息??梢岳斫?,目前的移動(dòng)電子終端內(nèi)可包括定位模塊,通地全球定位系統(tǒng)或者無線定位技術(shù)實(shí)現(xiàn)地理位置的定位,在獲取用戶的授權(quán)后,應(yīng)用程序可以獲取用戶終端的地理位置,并將地下位置上傳至地理位置信息服務(wù)器中。
[0063]在一個(gè)實(shí)例中,地理位置信息服務(wù)器返回的是上傳者以及接收者的地理位置信息。此時(shí),內(nèi)容分發(fā)模塊226可以自行判定上傳者或者接收者所屬的接入節(jié)點(diǎn)。
[0064]例如,由于接入節(jié)點(diǎn)的位置是固定的,因此根據(jù)每個(gè)用戶終端距各接入節(jié)點(diǎn)的距離即可判定其屬于哪個(gè)接入節(jié)點(diǎn)。例如,選擇距離最近的接入節(jié)點(diǎn)作為該用戶終端的所屬接入節(jié)點(diǎn)。當(dāng)然,由于在實(shí)際的互聯(lián)網(wǎng)中,訪問的快速并不直接等同于物理上的距離,因此,判定用戶終端屬于哪個(gè)接入節(jié)點(diǎn)并不限于只根據(jù)地理距離。例如,還可根據(jù)網(wǎng)絡(luò)架構(gòu)以及具體經(jīng)驗(yàn)給每個(gè)接入節(jié)點(diǎn)定義服務(wù)范圍,若一個(gè)用戶終端的地理位置落上述一個(gè)接入節(jié)點(diǎn)的服務(wù)范圍內(nèi),則該用戶終端屬于該接入節(jié)點(diǎn)。
[0065]在另一個(gè)實(shí)例中,地理位置信息服務(wù)器還提供查詢一個(gè)用戶所屬的接入節(jié)點(diǎn)的服務(wù),也就是說,通過將接入節(jié)點(diǎn)的地理位置信息以及服務(wù)范圍等信息存儲(chǔ)在地理位置信息服務(wù)器內(nèi),可將查詢一個(gè)用戶終端屬于哪個(gè)接入節(jié)點(diǎn)的操作置于地理位置信息服務(wù)器內(nèi)進(jìn)行。在此種情形下,內(nèi)容分發(fā)模塊226可直接接收到上傳者或者接收者所屬的接入節(jié)點(diǎn)的信息。
[0066]在查詢到上傳者以及接收者所屬的接入節(jié)點(diǎn)的信息后,內(nèi)容分發(fā)模塊226進(jìn)行接收者列表的第一次聚合操作,對(duì)于所有的接收者,判斷其所屬的接入節(jié)點(diǎn)是否與上傳者相同,若相同,則可忽略該接收者,否則,均保留該接收者。經(jīng)過此步驟,得到第二接收者列表,第二接收者列表內(nèi)每個(gè)接收者所屬的接入節(jié)點(diǎn)均不同于所述第一用戶終端的接入節(jié)點(diǎn)。
[0067]參閱圖7,在一個(gè)實(shí)例中,具有5個(gè)接收者,其中,I個(gè)接收者所屬的接入節(jié)點(diǎn)(標(biāo)識(shí)符為I)與上傳者所屬的接入節(jié)點(diǎn)(標(biāo)識(shí)符為I)相同,其余4個(gè)接收者所屬的接入節(jié)點(diǎn)與上傳者所屬的接入節(jié)點(diǎn)不同,因此,在經(jīng)過上次的聚合操作后,第二接收者列表中的接收者只有4個(gè)接收者。
[0068]在獲取第二接收者列表后,內(nèi)容分發(fā)模塊226可從存儲(chǔ)模塊224中獲取待分發(fā)的內(nèi)容(步驟5及步驟6)。具體地,內(nèi)容分發(fā)模塊226可將待分發(fā)內(nèi)容的存儲(chǔ)索引上傳給存儲(chǔ)模塊224,存儲(chǔ)模塊224在接收到存儲(chǔ)索引后,根據(jù)存儲(chǔ)索引讀取對(duì)應(yīng)的記錄,并返回讀取的數(shù)據(jù),即待分發(fā)的內(nèi)容。
[0069]在獲取待分發(fā)的內(nèi)容后,內(nèi)容分發(fā)模塊226將待推送的內(nèi)容分發(fā)給第二接收者列表中每個(gè)接收者所屬的接入節(jié)點(diǎn)。
[0070]根據(jù)上述的過程,可以避免針對(duì)位于同一接入節(jié)點(diǎn)內(nèi)的接收者進(jìn)行內(nèi)容推送操作,可以提升推送效率,降低網(wǎng)絡(luò)流量。
[0071]然而,可以理解,根據(jù)此種方式,第二接收者列表中的每個(gè)接收者都執(zhí)行一次推送操作,當(dāng)有超過一個(gè)接收者屬于同一接入節(jié)點(diǎn)時(shí),會(huì)對(duì)同一接入節(jié)點(diǎn)進(jìn)行多次推送操作。
[0072]為了進(jìn)一步提升推送效率,在獲取第二接收者列表后,參閱圖8,還可獲取第二接收者列表內(nèi)每個(gè)接收者所屬的接入節(jié)點(diǎn)以得到一個(gè)接入節(jié)點(diǎn)列