動態(tài)信息發(fā)送的方法和設(shè)備、動態(tài)信息查詢的方法和設(shè)備的制作方法
【專利摘要】本發(fā)明的實施方式提供了一種動態(tài)信息發(fā)送的方法和設(shè)備,以及一種動態(tài)信息查詢的方法和設(shè)備。該發(fā)送方法包括:依據(jù)預(yù)先設(shè)置的準(zhǔn)則,基于源用戶的用戶信息來判斷所述源用戶所屬的分組;響應(yīng)于所述源用戶屬于第一分組,以推送方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息;響應(yīng)于所述源用戶屬于第二分組,以拉取方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息。通過對不同分組的源用戶選擇不同的方式發(fā)送動態(tài)信息,本發(fā)明的方法使得整個系統(tǒng)中瞬時需要發(fā)送的動態(tài)信息數(shù)量減少,從而顯著地縮短了動態(tài)信息的發(fā)送時間,為用戶帶來了更好的體驗。此外,本發(fā)明的實施方式提供了一種動態(tài)信息發(fā)送的設(shè)備,以及一種動態(tài)信息查詢的方法和設(shè)備。
【專利說明】動態(tài)信息發(fā)送的方法和設(shè)備、動態(tài)信息查詢的方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的實施方式涉及信息處理領(lǐng)域,更具體地,本發(fā)明的實施方式涉及一種動態(tài)信息發(fā)送的方法和設(shè)備,以及,一種動態(tài)信息查詢的方法和設(shè)備。
【背景技術(shù)】
[0002]本部分旨在為權(quán)利要求書中陳述的本發(fā)明的實施方式提供背景或上下文。此處的描述可包括可以探究的概念,但不一定是之前已經(jīng)想到或者已經(jīng)探究的概念。因此,除非在此指出,否則在本部分中描述的內(nèi)容對于本申請的說明書和權(quán)利要求書而言不是現(xiàn)有技術(shù),并且并不因為包括在本部分中就承認是現(xiàn)有技術(shù)。
[0003]在整個互聯(lián)網(wǎng)中,社交網(wǎng)絡(luò)正日益成為人們?nèi)粘=涣鳒贤ǖ囊环N常用方式,例如常見的社交網(wǎng)絡(luò)有微博、人人網(wǎng)、facebook等。在社交網(wǎng)絡(luò)中,用戶彼此之間可以分享各自發(fā)布的動態(tài)信息,從而使得用戶可以查看到其所關(guān)心的其他用戶的動態(tài)信息。在分享動態(tài)信息時,用戶可以建立分享動態(tài)信息的關(guān)聯(lián)關(guān)系(即分享關(guān)系),社交網(wǎng)絡(luò)系統(tǒng)會按照用戶之間所建立的分享關(guān)系,將源用戶的動態(tài)信息發(fā)送給目標(biāo)用戶,以使得目標(biāo)用戶可以查看到源用戶的動態(tài)信息。例如,互相添加關(guān)注成為粉絲,或者互相添加好友,都可以形成分享關(guān)系,進而實現(xiàn)動態(tài)信息的分享。
[0004]在現(xiàn)有技術(shù)中的社交網(wǎng)絡(luò),已經(jīng)出現(xiàn)一些將源用戶的動態(tài)信息發(fā)送給目標(biāo)用戶的實現(xiàn)方式。例如,一種現(xiàn)有的推送方式,每個用戶都有其對應(yīng)的存儲空間,在源用戶產(chǎn)生動態(tài)信息時,就可以將該動態(tài)信息從源用戶的源存儲空間中推送到目標(biāo)用戶的目標(biāo)存儲空間中,而目標(biāo)用戶在查詢時可以直接調(diào)取其目標(biāo)存儲空間中的動態(tài)信息提供給目標(biāo)用戶。
【發(fā)明內(nèi)容】
[0005]但是,由于社交網(wǎng)絡(luò)中用戶數(shù)量往往比較龐大,很多情況下所有源用戶在產(chǎn)生動態(tài)信息時都將源用戶的動態(tài)信息推送給目標(biāo)用戶,會造成整個系統(tǒng)中瞬時需要發(fā)送的動態(tài)信息數(shù)量相對于系統(tǒng)資源來說過大,這樣對于整個系統(tǒng)中所需發(fā)送的動態(tài)信息都會延長發(fā)送時間,從而導(dǎo)致整個社交網(wǎng)絡(luò)中當(dāng)前正在查詢動態(tài)信息的目標(biāo)用戶都無法及時查看到剛剛產(chǎn)生的動態(tài)信息。例如,有些源用戶與大量的目標(biāo)用戶建立了分享關(guān)系,在這種情況下,采用推送方式的現(xiàn)有技術(shù)中,源用戶產(chǎn)生動態(tài)信息時,由于目標(biāo)用戶數(shù)量過大,這一時刻系統(tǒng)就需要將這一條動態(tài)信息從源存儲空間推送到大量的目標(biāo)存儲空間中,進而就會造成系統(tǒng)中瞬時需要發(fā)送的動態(tài)信息數(shù)量過大,從而延長了整個系統(tǒng)中所需發(fā)送的動態(tài)信息的發(fā)送時間,從而導(dǎo)致整個社交網(wǎng)絡(luò)中當(dāng)前正在查詢動態(tài)信息的所有目標(biāo)用戶都無法及時查看到剛剛產(chǎn)生的動態(tài)信息。又如,有些源用戶所在區(qū)域的網(wǎng)絡(luò)系統(tǒng)資源較少,這些源用戶的動態(tài)信息如果都在產(chǎn)生時推送也可能會造成系統(tǒng)中瞬時需要發(fā)送的動態(tài)信息數(shù)量超過其網(wǎng)絡(luò)系統(tǒng)資源的承受范圍,從而大幅延長動態(tài)信息的發(fā)送時間。
[0006]因此在現(xiàn)有技術(shù)中,由于所有源用戶在產(chǎn)生動態(tài)信息時都會將其動態(tài)信息以推送方式發(fā)送給目標(biāo)用戶,整個系統(tǒng)中常常出現(xiàn)瞬時需要發(fā)送的動態(tài)信息數(shù)量相對于系統(tǒng)資源來說過大的情況,這不僅導(dǎo)致動態(tài)信息推送時間過長,而且還使得當(dāng)前在線的目標(biāo)用戶不能及時查詢到源用戶剛剛產(chǎn)生的動態(tài)信息,這是非常令人煩惱的過程。
[0007]為此,非常需要一種改進的社交網(wǎng)絡(luò)中動態(tài)信息發(fā)送的方法和設(shè)備以及動態(tài)信息查詢的方法和設(shè)備,以解決按照現(xiàn)有技術(shù)中所有源用戶在產(chǎn)生動態(tài)信息時都將其動態(tài)信息發(fā)送給目標(biāo)用戶而導(dǎo)致的發(fā)送時間延長以及當(dāng)前在線的目標(biāo)用戶無法及時查看到該源用戶剛剛產(chǎn)生的動態(tài)信息的技術(shù)問題。
[0008]在本上下文中,本發(fā)明的實施方式期望提供一種動態(tài)信息發(fā)送的方法和設(shè)備,以及,動態(tài)信息查詢的方法和設(shè)備。
[0009]在本發(fā)明實施方式的第一方面中,提供了一種動態(tài)信息發(fā)送的方法,包括:依據(jù)預(yù)先設(shè)置的準(zhǔn)則,基于源用戶的用戶信息來判斷所述源用戶所屬的分組;響應(yīng)于所述源用戶屬于第一分組,以推送方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息;響應(yīng)于所述源用戶屬于第二分組,以拉取方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息。
[0010]在本發(fā)明實施方式的第二方面中,提供了一種動態(tài)信息查詢的方法,包括:響應(yīng)于當(dāng)前目標(biāo)用戶查詢動態(tài)信息的請求,確定所述當(dāng)前目標(biāo)用戶的分享關(guān)系中各個源用戶所屬的分組;獲取屬于第一分組的源用戶以推送方式發(fā)送的動態(tài)信息,并獲取屬于第二分組的源用戶以拉取方式發(fā)送的動態(tài)信息;合并所述第一分組源用戶的動態(tài)信息和所述第二分組源用戶的動態(tài)信息提供給所述當(dāng)前目標(biāo)用戶。
[0011]在本發(fā)明實施方式的第三方面,提供了一種動態(tài)信息發(fā)送的設(shè)備,包括:第一判斷模塊,用于依據(jù)預(yù)先設(shè)置的準(zhǔn)則,基于源用戶的用戶信息來判斷所述源用戶所屬的分組;推送發(fā)送模塊,用于響應(yīng)于所述源用戶屬于第一分組,以推送方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息;拉取發(fā)送模塊,用于響應(yīng)于所述源用戶屬于第二分組,以拉取方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息。
[0012]在本發(fā)明實施方式的第四方面,提供了一種動態(tài)信息查詢的設(shè)備,包括:分組確定模塊,用于響應(yīng)于當(dāng)前目標(biāo)用戶查詢動態(tài)信息的請求,根據(jù)預(yù)先設(shè)置的準(zhǔn)則,確定所述當(dāng)前目標(biāo)用戶的分享關(guān)系中各個源用戶的分組;推送獲取模塊,用于獲取屬于第一分組的源用戶以推送方式發(fā)送的動態(tài)信息;拉取獲取模塊,用于獲取屬于第二分組的源用戶以拉取方式發(fā)送的動態(tài)信息;合并模塊,用于合并所述第一源用戶的動態(tài)信息和所述第二源用戶的動態(tài)信息提供給所述當(dāng)前目標(biāo)用戶。
[0013]根據(jù)本發(fā)明實施方式的動態(tài)信息發(fā)送的方法和設(shè)備以及動態(tài)信息查詢的方法和設(shè)備,依據(jù)預(yù)先設(shè)置的準(zhǔn)則對分享關(guān)系中的源用戶進行分組,當(dāng)源用戶屬于第一分組時以推送方式發(fā)送該源用戶產(chǎn)生的動態(tài)信息,當(dāng)源用戶屬于第二分組時以拉取方式發(fā)送該源用戶產(chǎn)生的動態(tài)信息,這樣,由于基于一定的準(zhǔn)則對源用戶進行了分組,對于屬于第二分組的源用戶所產(chǎn)生的動態(tài)信息,在產(chǎn)生時不推送該動態(tài)信息,而是在其目標(biāo)用戶查詢時再拉取該動態(tài)信息,從而避免了所有源用戶在產(chǎn)生動態(tài)信息時都將動態(tài)信息推送給目標(biāo)用戶,減少了整個系統(tǒng)中瞬時需要發(fā)送的動態(tài)信息數(shù)量,從而減少了整個系統(tǒng)中所需發(fā)送的動態(tài)信息的發(fā)送時間,從而使得整個社交網(wǎng)絡(luò)中當(dāng)前正在查詢動態(tài)信息的用戶能夠更加及時地查看到剛剛產(chǎn)生的動態(tài)信息。例如,可以依據(jù)準(zhǔn)則將分享關(guān)系中目標(biāo)用戶過多的源用戶作為第二分組,或者,可以依據(jù)準(zhǔn)則將所在區(qū)域網(wǎng)絡(luò)系統(tǒng)資源過少的源用戶作為第二分組,使這些源用戶的動態(tài)信息在產(chǎn)生時不推送,而是在其目標(biāo)用戶查詢時再拉取,從而可以避免所有源用戶的動態(tài)信息在產(chǎn)生時都推送而導(dǎo)致的系統(tǒng)中瞬時需要發(fā)送的動態(tài)信息數(shù)量相對系統(tǒng)資源來說過大,從而縮短了動態(tài)信息的發(fā)送時間。
【專利附圖】
【附圖說明】
[0014]通過參考附圖閱讀下文的詳細描述,本發(fā)明示例性實施方式的上述以及其他目的、特征和優(yōu)點將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發(fā)明的若干實施方式,其中:
[0015]圖1示意性地示出了適于實現(xiàn)本發(fā)明實施方式的示例性計算系統(tǒng)100的框圖;
[0016]圖2示意性地示出了本發(fā)明的實施方式的一個示例性應(yīng)用場景的框架示意圖;
[0017]圖3示意性地示出了本發(fā)明中動態(tài)信息發(fā)送的方法一實施例的流程圖;
[0018]圖4示意性地示出了圖3所示的實施例中步驟302 —實施方式的流程圖;
[0019]圖5示意性地示出了圖4所示的實施方式中步驟401 —實施方式的流程圖;
[0020]圖6示意性地示出了圖3所示的實施例中步驟303 —實施方式的流程圖;
[0021]圖7示意性地示出了本發(fā)明中動態(tài)信息查詢的方法一實施例的流程圖;
[0022]圖8示意性地示出了本發(fā)明中動態(tài)信息發(fā)送的方法又一實施例的流程圖;
[0023]圖9示意性地示出了本發(fā)明中動態(tài)信息查詢的方法又一實施例的流程圖;
[0024]圖10示意性地示出了本發(fā)明中動態(tài)信息發(fā)送的設(shè)備一實施例的結(jié)構(gòu)圖;
[0025]圖11示意性地示出了圖10所示實施例中一實施方式的第一判斷模塊1001的結(jié)構(gòu)圖;
[0026]圖12示意性地示出了圖10所示實施例中另一實施方式的第一判斷模塊1001的結(jié)構(gòu)圖;
[0027]圖13示意性地示出了圖10所示實施例中又一實施方式的推送發(fā)送模塊1002的結(jié)構(gòu)圖;
[0028]圖14示意性地示出了圖10所示實施例中再一實施方式的第一集合推送子模塊1302的結(jié)構(gòu)圖;
[0029]圖15示意性地示出了圖10所示實施例中又再一實施方式的結(jié)構(gòu)圖;
[0030]圖16示意性地示出了圖10所示實施例中又再一實施方式的拉取發(fā)送模塊1003的結(jié)構(gòu)圖;
[0031]圖17示意性地示出了本發(fā)明中動態(tài)信息查詢的設(shè)備一實施例的結(jié)構(gòu)圖。
[0032]在附圖中,相同或?qū)?yīng)的標(biāo)號表不相同或?qū)?yīng)的部分。
【具體實施方式】
[0033]下面將參考若干示例性實施方式來描述本發(fā)明的原理和精神。應(yīng)當(dāng)理解,給出這些實施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進而實現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達給本領(lǐng)域的技術(shù)人員。
[0034]圖1示出了適于實現(xiàn)本發(fā)明實施方式的示例性計算系統(tǒng)100的框圖。如圖1所示,計算系統(tǒng)100可以包括:中央處理單元(CPU) 101、隨機存取存儲器(RAM) 102、只讀存儲器(ROM) 103、系統(tǒng)總線104、硬盤控制器105、鍵盤控制器106、串行接口控制器107、并行接口控制器108、顯示控制器109、硬盤110、鍵盤111、串行外部設(shè)備112、并行外部設(shè)備113和顯示器114。這些設(shè)備中,與系統(tǒng)總線104耦合的有CPU101、RAM102、R0M103、硬盤控制器105、鍵盤控制器106、串行控制器107、并行控制器108和顯示控制器109。硬盤110與硬盤控制器105耦合,鍵盤111與鍵盤控制器106耦合,串行外部設(shè)備112與串行接口控制器107耦合,并行外部設(shè)備113與并行接口控制器108耦合,以及顯示器114與顯示控制器109耦合。應(yīng)當(dāng)理解,圖1所述的結(jié)構(gòu)框圖僅僅是為了示例的目的,而不是對本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況增加或減少某些設(shè)備。
[0035]本領(lǐng)域技術(shù)技術(shù)人員知道,本發(fā)明的實施方式可以實現(xiàn)為一種系統(tǒng)、方法或計算機程序產(chǎn)品。因此,本公開可以具體實現(xiàn)為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結(jié)合的形式,本文一般稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實施例中,本發(fā)明還可以實現(xiàn)為在一個或多個計算機可讀介質(zhì)中的計算機程序產(chǎn)品的形式,該計算機可讀介質(zhì)中包含計算機可讀的程序代碼。
[0036]可以采用一個或多個計算機可讀的介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是,但不限于,電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉示例)例如可以包括:具有一個或多個導(dǎo)線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0037]計算機可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)還可以是計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0038]計算機可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于無線、電線、光纜、RF等等,或者上述的任意合適的組合。
[0039]可以以一種或多種程序設(shè)計語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計算機程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言一諸如Java、Smalltalk、C++,還包括常規(guī)的過程式程序設(shè)計語言一諸如“C”語言或類似的程序設(shè)計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務(wù)器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)(包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN))連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
[0040]下面將參照本發(fā)明實施例的方法的流程圖和設(shè)備(或系統(tǒng))的框圖描述本發(fā)明的實施方式。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,這些計算機程序指令通過計算機或其它可編程數(shù)據(jù)處理裝置執(zhí)行,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。
[0041]也可以把這些計算機程序指令存儲在能使得計算機或其它可編程數(shù)據(jù)處理裝置以特定方式工作的計算機可讀介質(zhì)中,這樣,存儲在計算機可讀介質(zhì)中的指令就產(chǎn)生出一個包括實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置的產(chǎn)品。
[0042]也可以把計算機程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計算機、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機實現(xiàn)的過程,從而使得在計算機或其它可編程裝置上執(zhí)行的指令能夠提供實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。
[0043]根據(jù)本發(fā)明的實施方式,提出了一種動態(tài)信息發(fā)送的方法和設(shè)備,以及一種動態(tài)信息查詢的方法和設(shè)備。
[0044]在本文中,需要理解的是,所涉及的術(shù)語“發(fā)送”表示的是動態(tài)信息由源用戶分享給目標(biāo)用戶的過程,動態(tài)信息發(fā)送是為了使目標(biāo)用戶查看到該動態(tài)信息,但動態(tài)信息發(fā)送的目標(biāo)位置在不同的場景下可以是不同的,本發(fā)明在這方面不做限制,具體將在下面的本發(fā)明實施例中做詳細說明。另外,“源用戶”與“目標(biāo)用戶”是兩個相互對應(yīng)的概念。在一個分享關(guān)系中,提供動態(tài)信息來源的稱之為“源用戶”,而接收動態(tài)信息的稱之為“目標(biāo)用戶”。實際上,在任意兩個用戶建立的分享關(guān)系中,可以只是單向的分享,即動態(tài)信息只由第一用戶分享給第二用戶,而第二用戶的動態(tài)信息不會分享給第一用戶;或者,也可以是雙向的分享,即第一用戶的動態(tài)信息可以分享給第二用戶,而第二用戶的動態(tài)信息也可以分享給第一用戶。關(guān)于分享關(guān)系中“源用戶”與“目標(biāo)用戶”的確定,可以是各個用戶彼此在建立分享關(guān)系時自主去完成,本發(fā)明在這方面也不做限定。
[0045]此外,附圖中的任何元素數(shù)量均用于示例而非限制,以及任何命名都僅用于區(qū)分,而不具有任何限制含義。
[0046]下面參考本發(fā)明的若干代表性實施方式,詳細闡釋本發(fā)明的原理和精神。
[0047]發(fā)明概沭
[0048]本發(fā)明人發(fā)現(xiàn),對所有源用戶產(chǎn)生的動態(tài)信息都采用推送方式發(fā)送之所以會造成系統(tǒng)瞬時需要發(fā)送動態(tài)信息相對系統(tǒng)資源來說過大而延長各動態(tài)信息的發(fā)送時間,是因為系統(tǒng)中所有的動態(tài)信息在產(chǎn)生時都需要推送給其對應(yīng)的所有目標(biāo)用戶。實際上,一個源用戶的分享關(guān)系中對應(yīng)的目標(biāo)用戶一般都有多個,其中大部分目標(biāo)用戶一般在源用戶產(chǎn)生動態(tài)信息時都不需要查詢該動態(tài)信息,甚至很多目標(biāo)用戶在此時都不在線,因此,實際應(yīng)用中并不需要將所有動態(tài)信息在產(chǎn)生時就發(fā)送給目標(biāo)用戶?;谏鲜龅目紤],本發(fā)明的基本思想在于:依據(jù)一定的準(zhǔn)則對源用戶進行分組,對于第一分組的源用戶所產(chǎn)生的動態(tài)信息以推送方式在產(chǎn)生時推送給目標(biāo)用戶,對于屬于第二分組的源用戶所產(chǎn)生的動態(tài)信息,在產(chǎn)生時不推送該動態(tài)信息,而是在其目標(biāo)用戶查詢時再拉取該動態(tài)信息。這樣就避免了所有源用戶在產(chǎn)生動態(tài)信息時都將動態(tài)信息推送給目標(biāo)用戶,從而減少了整個系統(tǒng)中瞬時需要發(fā)送的動態(tài)信息數(shù)量,從而縮短了動態(tài)信息的發(fā)送時間,使得整個社交網(wǎng)絡(luò)中當(dāng)前正在查詢動態(tài)信息的用戶能夠更加及時地查看到剛剛產(chǎn)生的動態(tài)信息。
[0049]在介紹了本發(fā)明的基本原理之后,下面具體介紹本發(fā)明的各種非限制性實施方式。[0050]應(yīng)用場景總覽
[0051]首先參考圖2,圖2是本發(fā)明的實施方式的一個示例性應(yīng)用場景的框架示意圖。其中,用戶通過用戶界面交互設(shè)備(例如客戶端202)與動態(tài)信息服務(wù)器201進行交互。本領(lǐng)域技術(shù)人員可以理解,圖2所示的框架示意圖僅是本發(fā)明的實施方式可以在其中得以實現(xiàn)的一個示例。本發(fā)明實施方式的適用范圍不受到該框架任何方面的限制。
[0052]需要注意的是,此處的客戶端202可以是現(xiàn)有的、正在研發(fā)的或?qū)硌邪l(fā)的、能夠通過任何形式的有線或無線連接(例如,W1-F1、LAN、WAN、因特網(wǎng)等)與動態(tài)信息服務(wù)器201交互的任何客戶端,包括但不限于:現(xiàn)有的、正在研發(fā)的或?qū)硌邪l(fā)的、臺式計算機、膝上型計算機、移動終端(包括智能手機、非智能手機、各種平板電腦)等。
[0053]還需要注意的是,此處的動態(tài)信息服務(wù)器201僅是現(xiàn)有的、正在研發(fā)的或?qū)硌邪l(fā)的、能夠向用戶提供動態(tài)信息分享應(yīng)用的設(shè)備的一個示例。本發(fā)明的實施方式在此方面不受任何限制。
[0054]在圖2所示的示例性應(yīng)用場景中,動態(tài)信息服務(wù)器201可以依據(jù)預(yù)先設(shè)置的準(zhǔn)則,基于源用戶的用戶信息來判斷所述源用戶所屬的分組。然后動態(tài)信息服務(wù)器201可以響應(yīng)于所述源用戶屬于第一分組,以推送方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息,或者,動態(tài)信息服務(wù)器201可以響應(yīng)于所述源用戶屬于第二分組,以拉取方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息。需要說明的是,動態(tài)信息服務(wù)器201以推送方式發(fā)送源用戶產(chǎn)生的動態(tài)信息,可以是響應(yīng)于源用戶產(chǎn)生動態(tài)信息而執(zhí)行的,其中動態(tài)信息例如可以是源用戶在客戶端202上輸入而產(chǎn)生并發(fā)送至動態(tài)信息服務(wù)器201的,或者,又如可以是源用戶通過點擊客戶端202提供的、用于轉(zhuǎn)換或分享其他用戶的動態(tài)信息的快捷鏈接而在動態(tài)信息服務(wù)器201上產(chǎn)生的;動態(tài)信息服務(wù)器201以拉取方式發(fā)送源用戶產(chǎn)生的動態(tài)信息,可以是響應(yīng)于目標(biāo)用戶查詢動態(tài)信息的請求而執(zhí)行的,其中查詢動態(tài)信息的請求例如可以是用戶通過點擊客戶端202提供的、用于觸發(fā)查詢動態(tài)信息的快捷方式而發(fā)送至動態(tài)信息服務(wù)器201的。根據(jù)本發(fā)明的某些示例性實施方式,快捷方式界面或輸入界面例如可以作為社交網(wǎng)絡(luò)交互界面中的浮層而顯示在客戶端202上。
[0055]本發(fā)明的應(yīng)用場景中,雖然此處將本發(fā)明實施方式的動作描述為由動態(tài)信息服務(wù)器201執(zhí)行,但是這些動作也可以由客戶端設(shè)備202執(zhí)行,當(dāng)然也可以部分由客戶端202執(zhí)行、部分由動態(tài)信息服務(wù)器201執(zhí)行。本發(fā)明在執(zhí)行主體方面不受限制,只要執(zhí)行了本發(fā)明實施方式所公開的動作即可。
[0056]示例性方法
[0057]下面結(jié)合圖2的應(yīng)用場景,參考圖3來描述根據(jù)本發(fā)明示例性實施方式的用于動態(tài)信息發(fā)送的方法和用于動態(tài)信息查詢的方法。需要注意的是,上述應(yīng)用場景僅是為了便于理解本發(fā)明的精神和原理而示出,本發(fā)明的實施方式在此方面不受任何限制。相反,本發(fā)明的實施方式可以應(yīng)用于適用的任何場景。
[0058]參見圖3,示出了本發(fā)明中動態(tài)信息發(fā)送的方法一實施例的流程圖,本實施例例如可以包括以下步驟:
[0059]步驟301、依據(jù)預(yù)先設(shè)置的準(zhǔn)則,基于源用戶的用戶信息來判斷所述源用戶所屬的分組。
[0060]其中,作為步驟301中判斷依據(jù)的是預(yù)先設(shè)置的準(zhǔn)則,該準(zhǔn)則可以是以用戶信息來進行設(shè)置;在實際執(zhí)行步驟301時,可以是通過分析用戶信息與預(yù)設(shè)準(zhǔn)則之間的關(guān)系來確定判斷結(jié)果。
[0061]需要說明的是,在不同的應(yīng)用場景下,可以采用不同的準(zhǔn)則對源用戶進行分組,以實現(xiàn)將動態(tài)信息產(chǎn)生時推送會造成需要發(fā)送的動態(tài)信息數(shù)量相對于網(wǎng)絡(luò)資源來說過大的源用戶區(qū)分出來,從而對不同分組的源用戶產(chǎn)生的動態(tài)信息采用不同的發(fā)送方式。
[0062]例如,本實施例的第一種可能的應(yīng)用場景,可以是將分享關(guān)系中擁有目標(biāo)用戶較多的源用戶作為一個單獨的分組,采用推送方式發(fā)送其產(chǎn)生的動態(tài)信息。在本應(yīng)用場景下,本實施例步驟301的一種實施方式,可以是采用源用戶的分享關(guān)系中的目標(biāo)用戶數(shù)量作為用戶信息,其中,步驟301例如可以具體包括:判斷所述目標(biāo)用戶數(shù)量是否不低于預(yù)設(shè)的目標(biāo)數(shù)閾值;響應(yīng)于所述目標(biāo)用戶數(shù)量低于所述目標(biāo)數(shù)閾值,確定所述源用戶屬于第一分組;響應(yīng)于所述目標(biāo)用戶數(shù)量不低于所述目標(biāo)數(shù)閾值,確定所述源用戶屬于第二分組。其中,目標(biāo)數(shù)閾值可以是一個固定的預(yù)設(shè)值,或者也可以是根據(jù)應(yīng)用場景而固定設(shè)置的對應(yīng)關(guān)系,例如網(wǎng)絡(luò)資源數(shù)量與目標(biāo)數(shù)閾值之間的對應(yīng)關(guān)系,此時在判斷目標(biāo)用戶數(shù)量之前則需要先根據(jù)網(wǎng)絡(luò)資源數(shù)量確定目標(biāo)數(shù)閾值。
[0063]又如,本實施例的第二種可能的應(yīng)用場景,可以是將所在區(qū)域的網(wǎng)絡(luò)系統(tǒng)資源較少的源用戶作為一個單獨的分組,采用推送方式發(fā)送其產(chǎn)生的動態(tài)信息。在本應(yīng)用場景下,本實施例步驟301的另一實施方式,可以是采用源用戶所在區(qū)域的網(wǎng)絡(luò)資源作為用戶信息,網(wǎng)絡(luò)資源例如可以是網(wǎng)絡(luò)帶寬等,其中,步驟301例如可以具體包括:判斷所述源用戶所在區(qū)域的網(wǎng)絡(luò)資源是否不高于預(yù)設(shè)的網(wǎng)絡(luò)資源閾值;響應(yīng)于所述源用戶所在區(qū)域的網(wǎng)絡(luò)資源高于所述網(wǎng)絡(luò)資源閾值,確定所述源用戶屬于第一分組;響應(yīng)于所述源用戶所在區(qū)域的網(wǎng)絡(luò)資源不高于所述網(wǎng)絡(luò)資源閾值,確定所述源用戶屬于第二分組。其中,與前述目標(biāo)數(shù)閾值相似,網(wǎng)絡(luò)資源閾值可以是一個固定的預(yù)設(shè)值,或者也可以是根據(jù)應(yīng)用場景而固定設(shè)置的對應(yīng)關(guān)系,例如該區(qū)域網(wǎng)絡(luò)內(nèi)在線源用戶數(shù)量與網(wǎng)絡(luò)資源閾值之間的對應(yīng)關(guān)系,此時在判斷目標(biāo)用戶數(shù)量之前則需要先根據(jù)該區(qū)域網(wǎng)絡(luò)內(nèi)在線源用戶數(shù)量確定網(wǎng)絡(luò)資源閾值。
[0064]此外,本實施例的第三種應(yīng)用場景,可以是將指定的源用戶或者指定分類的源用戶作為一個單獨的分組,采用推送的方式發(fā)送其產(chǎn)生的動態(tài)信息。在本應(yīng)用場景中下,本實施例步驟301的又一實施方式,可以是采用源用戶的身份標(biāo)識作為用戶信息,例如源用戶的用戶ID,其中,步驟301例如可以具體包括:判斷所述身份標(biāo)識是否屬于預(yù)設(shè)的用戶身份標(biāo)識;響應(yīng)于所述身份標(biāo)識不屬于預(yù)設(shè)的用戶身份標(biāo)識,確定所述源用戶屬于第一分組;響應(yīng)于所述身份標(biāo)識屬于預(yù)設(shè)的用戶身份標(biāo)識,確定所述源用戶屬于第二分組??梢岳斫獾氖?,本應(yīng)用場景中的預(yù)設(shè)身份標(biāo)識所對應(yīng)的源用戶,可以是預(yù)先根據(jù)一定的條件進行設(shè)置的,例如預(yù)設(shè)身份標(biāo)識的源用戶可以是分享關(guān)系中目標(biāo)用戶數(shù)量不低于某一閾值的源用戶,又如預(yù)設(shè)身份標(biāo)識的源用戶也可以是所在區(qū)域的網(wǎng)絡(luò)資源低于某一閾值的源用戶,再如預(yù)設(shè)身份標(biāo)識的源用戶還可以是開通了會員或VIP的用戶,又再如預(yù)設(shè)身份表示的源用戶還可以是上述各種用戶中某幾種的組合。
[0065]基于以上的三種應(yīng)用場景,本實施例步驟301還可以同時采用其中的多種實施方式組合來實現(xiàn)。例如,對用戶信息中目標(biāo)用戶數(shù)量和身份標(biāo)識都進行判斷,而將目標(biāo)用戶數(shù)量不低于目標(biāo)數(shù)閾值以及身份標(biāo)識屬于預(yù)設(shè)身份標(biāo)識的源用戶都作為第二分組而采用拉取方式發(fā)送其產(chǎn)生的動態(tài)信息。[0066]另外,步驟301可以是響應(yīng)于源用戶產(chǎn)生動態(tài)信息而執(zhí)行,也即在每次產(chǎn)生動態(tài)信息時基于用戶信息判斷該源用戶屬于第一分組還是第二分組,從而確定本次產(chǎn)生的動態(tài)信息采用推送方式還是拉取方式來發(fā)送;或者,步驟301也可以是一個預(yù)先執(zhí)行的步驟,預(yù)先將網(wǎng)絡(luò)中的源用戶分為第一分組和第二分組,而在第一分組的源用戶產(chǎn)生動態(tài)信息時采用推送方式發(fā)送,而在第二分組的源用戶產(chǎn)生動態(tài)信息時則不發(fā)送,而是在其目標(biāo)用戶查詢時再發(fā)送給目標(biāo)用戶。
[0067]步驟302、響應(yīng)于所述源用戶屬于第一分組,以推送方式發(fā)送所述源用戶產(chǎn)生的動態(tài)息。
[0068]其中,推送方式指的是動態(tài)信息服務(wù)器在具有待發(fā)送的動態(tài)信息時主動將動態(tài)信息發(fā)送出去。一般地,各個用戶都具有各自對應(yīng)的存儲空間,用于存儲各個用戶自己產(chǎn)生的動態(tài)信息以及該用戶分享關(guān)系中的源用戶所產(chǎn)生的動態(tài)信息,其中其對應(yīng)的源用戶產(chǎn)生的動態(tài)信息是從源用戶的源存儲空間發(fā)送過來的。
[0069]基于各個用戶具有各自的存儲空間,步驟302中以推送方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息的過程可以包括:響應(yīng)于源用戶產(chǎn)生動態(tài)信息,將所述動態(tài)信息從所述源用戶的源存儲空間中推送至目標(biāo)用戶的目標(biāo)存儲空間中,以便在所述目標(biāo)用戶查詢時從所述目標(biāo)用戶的目標(biāo)存儲空間中提取所述動態(tài)信息;其中,所述目標(biāo)用戶為所述源用戶分享關(guān)系中的目標(biāo)用戶。
[0070]可以理解的是,本實施例中可以不對各個用戶的存儲空間所在設(shè)備做限定;存儲空間既可以位于動態(tài)信息服務(wù)器上,也可以是用戶的客戶端和動態(tài)信息服務(wù)器上都具有的,甚至還可以是位于用戶的客戶端上。其中,動態(tài)信息推送的起始位置,即源用戶的存儲空間,可以是在源用戶的客戶端上,或者,也可以是在動態(tài)信息服務(wù)器上;如果在動態(tài)信息產(chǎn)生時目標(biāo)用戶當(dāng)前在線,則動態(tài)信息可以是直接推送至在目標(biāo)用戶的客戶端上的目標(biāo)存儲空間,或者,也可以是推送至目標(biāo)用戶在動態(tài)信息服務(wù)器上的目標(biāo)存儲空間。但是,由于各個用戶都難以保證一直處于在線狀態(tài),所以必然會出現(xiàn)目標(biāo)用戶查詢動態(tài)時源用戶不在線的情況,因此,社交網(wǎng)絡(luò)中動態(tài)信息一般會存儲在網(wǎng)絡(luò)側(cè)的動態(tài)信息服務(wù)器中,因此一般在動態(tài)信息服務(wù)器上都會為各個用戶設(shè)置存儲空間,這樣可以避免存儲在客戶端上時各個用戶在線時間的不同步而導(dǎo)致的分享時間受限。
[0071]需要說明的是,對于第一分組的源用戶來說,其都具有多個目標(biāo)用戶。一般地,在該源用戶產(chǎn)生動態(tài)信息時其中一部分目標(biāo)用戶是當(dāng)前在線的,而另一部分目標(biāo)用戶當(dāng)前并不在線。為了使當(dāng)前在線的目標(biāo)用戶可以及時查看到剛產(chǎn)生的動態(tài)信息,可以優(yōu)先將動態(tài)信息推送給當(dāng)前在線的目標(biāo)用戶。
[0072]參見圖4,示出了本實施例中步驟302 —實施方式的流程圖,本實施方式中優(yōu)先將源用戶產(chǎn)生的動態(tài)信息推送給當(dāng)前在線的目標(biāo)用戶,本實施方式例如具體可以包括:
[0073]步驟401、獲取目標(biāo)用戶中的當(dāng)前在線用戶組成第一推送用戶集合,將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述第一推送用戶集合中目標(biāo)用戶的目標(biāo)存儲空間中;其中,所述目標(biāo)用戶為所述源用戶分享關(guān)系中的目標(biāo)用戶。
[0074]步驟402、獲取所述目標(biāo)用戶中未完成推送的用戶組成第二推送用戶集合,將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述第二推送用戶集合中目標(biāo)用戶的目標(biāo)存儲空間中。[0075]其中,為了使當(dāng)前在線的目標(biāo)用戶能夠更快地得到推送來的動態(tài)信息,并且盡量減少系統(tǒng)為推送該動態(tài)信息整體耗費的傳輸資源,可以采用線上處理來完成所述將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述第一推送用戶集合中目標(biāo)用戶的目標(biāo)存儲空間中,并采用線下處理來完成所述將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述第二推送用戶集合中目標(biāo)用戶的目標(biāo)存儲空間中,其中,所述線上處理的線程資源大于所述線下處理的線程資源。其中,所述線程資源可以包括:線程數(shù)量,和/或,單個線程的消息處理速度。這樣,由于使得當(dāng)前在線目標(biāo)用戶推送的線程資源大于當(dāng)前不在線的目標(biāo)用戶,從而使得當(dāng)前在線用戶能夠更快地獲得動態(tài)信息,而為當(dāng)前不在線的目標(biāo)用戶推送動態(tài)信息時又不消耗過多的線程資源。
[0076]可以理解的是,如果目標(biāo)用戶當(dāng)前都在線,而步驟401執(zhí)行完成之后可以不再具有需要推送動態(tài)信息的目標(biāo)用戶,此時則可以不再執(zhí)行步驟402。
[0077]需要說明的是,在為第一推送用戶集合中的目標(biāo)用戶推送動態(tài)信息時,步驟401中可以是將動態(tài)信息推送給第一推送用戶集合中的所有目標(biāo)用戶,即所有當(dāng)前在線的目標(biāo)用戶。但是,如果當(dāng)前在線的目標(biāo)用戶過多,則可以只為部分當(dāng)前在線的目標(biāo)用戶在同一過程中推送動態(tài)信息,其余當(dāng)前在線的目標(biāo)用戶則與當(dāng)前不在線的目標(biāo)用戶在之后的同一過程中推送動態(tài)信息。參見圖5,示出了本實施方式中步驟401 —實施方式的流程圖,步驟401例如具體可以包括:
[0078]步驟501、從所述第一推送用戶集合中選取一個未推送的目標(biāo)用戶作為當(dāng)前推送用戶;
[0079]步驟502、將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述當(dāng)前推送用戶的目標(biāo)存儲空間中;
[0080]步驟503、判斷已完成推送的目標(biāo)用戶是否匹配完成條件:如果是,進入步驟402 ;如果否,返回步驟501。
[0081]其中,所述完成條件為:所述已完成推送的目標(biāo)用戶數(shù)量達到推送數(shù)量閾值,或,所述第一推送用戶集合中的目標(biāo)用戶都已完成推送。
[0082]可以理解的是,上述兩個完成條件中只要有一個匹配,則進入步驟402。如果已完成推送的目標(biāo)用戶數(shù)量達到推送數(shù)量閾值,則即使第一推送用戶集合中仍具有目標(biāo)用戶未推送,也將第一推送用戶集合中未推送的目標(biāo)用戶和其余當(dāng)前不在線的目標(biāo)用戶一起組成第二推送用戶集合來執(zhí)行步驟402的推送。而如果第一推送用戶集合中目標(biāo)用戶都已完成推送,則即使此時已完成推送的目標(biāo)用戶數(shù)量未達到推送數(shù)量閾值,也將其余所有的當(dāng)前不在線的目標(biāo)用戶組成第二推送用戶集合來執(zhí)行步驟402的推送;進一步而言,如果目標(biāo)用戶全部都在線,并且全部目標(biāo)用戶的數(shù)量也未達到推送數(shù)量閾值,則實際上當(dāng)對最后一個在線的目標(biāo)用戶執(zhí)行完成步驟502之后就不再有目標(biāo)用戶需要推送了,因此,此時可以不再執(zhí)行步驟402。
[0083]需要說明的是,采用線上處理完成第一推送用戶集合的推送而采用線下處理完成第二推送用戶集合的推送時,由于線上處理會占用過多的線程資源,因此,采用圖5所示的實施方式來執(zhí)行步驟401可以避免由于當(dāng)前在線的目標(biāo)用戶數(shù)量過大而導(dǎo)致的線上處理完成的動態(tài)信息推送數(shù)量過大,從而進一步避免消耗過多線程資源的情況發(fā)生。
[0084]接著返回圖3,在源用戶屬于第二分組時,進入步驟303的執(zhí)行。[0085]步驟303、響應(yīng)于所述源用戶屬于第二分組,以拉取方式發(fā)送所述源用戶產(chǎn)生的動態(tài)息。
[0086]其中,拉取方式指的是動態(tài)信息服務(wù)器只在接收到目標(biāo)用戶主動觸發(fā)的查詢請求時才向該目標(biāo)用戶發(fā)送動態(tài)信息,因此,對第二分組的源用戶產(chǎn)生的動態(tài)信息采用拉取方式發(fā)送,就可以使得第二分組的源用戶產(chǎn)生的動態(tài)信息不必同時發(fā)送給所有的目標(biāo)用戶,而只在接收到查詢請求時向發(fā)出查詢請求的目標(biāo)用戶發(fā)送動態(tài)信息。具體地,在各個用戶具有各自的存儲空間時,步驟303中以拉取方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息的過程可以包括:響應(yīng)于當(dāng)前目標(biāo)用戶查詢動態(tài)信息的請求,從所述源用戶的源存儲空間中拉取所述動態(tài)信息給所述目標(biāo)用戶;所述當(dāng)前目標(biāo)用戶屬于所述源用戶分享關(guān)系中的目標(biāo)用戶。其中,源用戶的源存儲空間可以是在源用戶客戶端上,或者也可以是在動態(tài)信息服務(wù)器上;而動態(tài)信息拉取的目的地可以是目標(biāo)用戶客戶端上的目標(biāo)存儲空間,或者也可以是在動態(tài)服務(wù)器上的目標(biāo)存儲空間。
[0087]在目標(biāo)用戶每次拉取時可以將拉取的源用戶動態(tài)信息存儲在其目標(biāo)存儲空間中,這樣目標(biāo)用戶每次拉取時實際上只需要拉取該源用戶自上一次拉取至本次拉取的這個時間段內(nèi)產(chǎn)生的動態(tài)信息?;谶@一考慮,為了減少每次所需拉取的動態(tài)信息數(shù)量,本實施例中可以采用如圖6所示的實施方式來完成步驟303,本實施方式例如具體可以包括:
[0088]步驟601、響應(yīng)于當(dāng)前目標(biāo)用戶查詢動態(tài)信息的請求,獲取所述當(dāng)前目標(biāo)用戶上一次拉取所述源用戶的動態(tài)信息時的拉取時間以及所述源用戶最近產(chǎn)生動態(tài)信息的產(chǎn)生時間;其中,所述當(dāng)前目標(biāo)用戶屬于所述源用戶分享關(guān)系中的目標(biāo)用戶。
[0089]其中,對于獲取當(dāng)前目標(biāo)用戶上一次拉取的拉取時間,一種具體的實現(xiàn)方式,可以為各個目標(biāo)用戶對應(yīng)各個源用戶設(shè)置一個拉取時間信息,在目標(biāo)用戶每次拉取源用戶動態(tài)信息時在對應(yīng)的拉取時間信息中記錄下拉取的時間,這樣,在該目標(biāo)用戶下一次發(fā)送查詢動態(tài)的請求時,就可以根據(jù)對應(yīng)的拉取時間信息,從而獲取到該目標(biāo)用戶上一次拉取該源用戶動態(tài)信息時的拉取時間。當(dāng)然,對于一個目標(biāo)用戶來說,拉取時間信息中記錄的拉取時間,也可以是該目標(biāo)用戶拉取的動態(tài)信息中最近產(chǎn)生的動態(tài)信息的產(chǎn)生時間。
[0090]另外,當(dāng)前目標(biāo)用戶查詢動態(tài)信息的請求,可以是當(dāng)前目標(biāo)用戶在客戶端上登陸社交網(wǎng)絡(luò)時觸發(fā)的,或者,也可以是當(dāng)前目標(biāo)用戶在客戶端上點擊表示查詢請求的快捷方式而觸發(fā)的。
[0091]步驟602、判斷所述拉取時間是否滯后于所述產(chǎn)生時間,如果否,進入步驟603。
[0092]如果上一次拉取的拉取時間未滯后于最近產(chǎn)生的動態(tài)信息的產(chǎn)生時間,也即拉取時間在產(chǎn)生時間之后,則表明源用戶自上一次拉取之后未產(chǎn)生新的動態(tài)信息,此時可以不需要執(zhí)行拉取動態(tài)信息的動作。而如果拉取時間滯后于產(chǎn)生時間,也即拉取時間在產(chǎn)生時間之前,則表明源用戶自上一次拉取之后產(chǎn)生了新的動態(tài)信息,此時進入步驟603,執(zhí)行拉取動態(tài)信息的動作。
[0093]步驟603、從所述源用戶的源存儲空間中拉取所述拉取時間之后產(chǎn)生的動態(tài)信息給所述當(dāng)前目標(biāo)用戶。
[0094]在拉取完成時,可以將源用戶存儲空間中該目標(biāo)用戶對應(yīng)的拉取時間信息進行修改,記錄本次拉取的拉取時間,以便下一次拉取時使用。
[0095]接著返回圖3。[0096]需要說明的是,各個用戶作為目標(biāo)用戶來說分享關(guān)系中都對應(yīng)多個源用戶,這些源用戶中部分屬于第一分組而部分屬于第二分組,因此,在目標(biāo)用戶查詢時,所要提供該目標(biāo)用戶的動態(tài)信息一部分是預(yù)先以推送方式發(fā)送來的,而另一部則是以拉取方式在查詢時才發(fā)送來的。為了使以不同方式在不同時間發(fā)送的動態(tài)信息集合到一起便于向用戶提供,可以將各個用戶的存儲空間分成兩個部分,例如推式動態(tài)時間線和拉式動態(tài)時間線,其中,推式動態(tài)時間線可以保存其對應(yīng)的源用戶以推送方式發(fā)送的動態(tài)信息,拉式動態(tài)時間線可以保存其對應(yīng)的源用戶以拉取方式發(fā)送來的動態(tài)信息;此外,推式動態(tài)時間線還可以保存該用戶自己產(chǎn)生的動態(tài)信息。
[0097]另外,在本實施例中,發(fā)送源用戶產(chǎn)生的動態(tài)信息時,還可以進一步考慮源用戶對該動態(tài)信息的權(quán)限設(shè)置。例如,動態(tài)信息中包含有源用戶的權(quán)限設(shè)置,如全部用戶可見、源用戶對應(yīng)的目標(biāo)用戶可見或指定目標(biāo)用戶可見等等,當(dāng)源用戶屬于第一分組時,只將該動態(tài)信息推送給其權(quán)限許可的目標(biāo)用戶,當(dāng)源用戶屬于第二分組時,只允許其權(quán)限許可的目標(biāo)用戶拉取該動態(tài)信息。此外,在本實施例中,還可以進一步考慮源用戶對動態(tài)信息刪除的操作,源用戶產(chǎn)生的動態(tài)信息可以是表示對之前產(chǎn)生的某一動態(tài)信息執(zhí)行刪除操作的信息,而該動態(tài)信息產(chǎn)生時可以在源用戶的源存儲空間中執(zhí)行該動態(tài)信息表示的刪除操作,當(dāng)該動態(tài)信息被推送至或拉取至目標(biāo)用戶的目標(biāo)存儲空間時,則在目標(biāo)存儲空間中也執(zhí)行該動態(tài)信息表不的刪除操作。此外,動態(tài)信息也可以是表不對之前產(chǎn)生的某一動態(tài)信息內(nèi)容的修改。
[0098]通過本實施例的技術(shù)方案,依據(jù)一定的準(zhǔn)則對源用戶進行分組,對于第一分組的源用戶所產(chǎn)生的動態(tài)信息以推送方式在產(chǎn)生時推送給目標(biāo)用戶,對于屬于第二分組的源用戶所產(chǎn)生的動態(tài)信息,在產(chǎn)生時不推送該動態(tài)信息,而是在其目標(biāo)用戶查詢時再拉取該動態(tài)信息。這樣,避免了所有源用戶在產(chǎn)生動態(tài)信息時都將動態(tài)信息推送給目標(biāo)用戶,從而減少了整個系統(tǒng)中瞬時需要發(fā)送的動態(tài)信息數(shù)量并縮短了動態(tài)信息的發(fā)送時間,從而使得整個社交網(wǎng)絡(luò)中當(dāng)前正在查詢動態(tài)信息的用戶能夠更加及時地查看到剛剛產(chǎn)生的動態(tài)信息。
[0099]需要說明的,如果對于所有源用戶都采用拉取方式發(fā)送其產(chǎn)生的動態(tài)信息,則系統(tǒng)中將存在很多時候需要發(fā)送的動態(tài)信息數(shù)量過少,從而造成這些時候的系統(tǒng)資源被浪費,并且,采用拉取方式發(fā)送動態(tài)信息時,由于動態(tài)信息是在目標(biāo)用戶查詢時才從各個源用戶拉取而不是直接獲取各個源用戶預(yù)先已經(jīng)推送來的,所以拉取方式中系統(tǒng)響應(yīng)查詢來向目標(biāo)用戶提供動態(tài)信息的時間相對于推送方式較長,這樣也會使用戶等待查看動態(tài)信息的時間過長,從而帶來不好的用戶體驗。因此,本實施例采用的是對源用戶進行分組,對屬于不同分組的源用戶產(chǎn)生的動態(tài)信息采用不同的方式發(fā)送,這樣可以同時在一定程度上避免推送方式和拉取方式的不足,不僅縮短了推送方式動態(tài)信息所需的發(fā)送時間,而且減少了目標(biāo)用戶在查詢時拉取動態(tài)信息所需的時間。
[0100]在社交網(wǎng)絡(luò)中,通常一個源用戶都會對應(yīng)著多個目標(biāo)用戶,因此,對于一個源用戶產(chǎn)生的動態(tài)信息時,需要發(fā)送給多個目標(biāo)用戶。前述實施例即是對應(yīng)于動態(tài)信息產(chǎn)生時的發(fā)送過程。而且,在社交網(wǎng)絡(luò)中,通常一個目標(biāo)用戶也都會對應(yīng)著多個源用戶,因此,對于一個目標(biāo)用戶查詢動態(tài)信息時,需要查詢多個源用戶的動態(tài)信息。為了使本領(lǐng)域技術(shù)人員更清楚地了解在動態(tài)信息采用前述實施例發(fā)送時目標(biāo)用戶如何查詢到其所有源用戶的動態(tài)信息,下面將詳細說明目標(biāo)用戶查詢動態(tài)信息的過程。[0101]參見圖7,示出了本發(fā)明中動態(tài)信息查詢的方法一實施例的流程圖,本實施例例如可以包括以下步驟:
[0102]步驟701、響應(yīng)于當(dāng)前目標(biāo)用戶查詢動態(tài)信息的請求,確定所述當(dāng)前目標(biāo)用戶的分享關(guān)系中各個源用戶的分組。
[0103]其中,各個源用戶的分組,可以根據(jù)預(yù)先設(shè)置的準(zhǔn)則,基于所述當(dāng)前目標(biāo)用戶的分享關(guān)系中源用戶的用戶信息來確定。
[0104]需要說明的是,對于當(dāng)前目標(biāo)用戶來說,可以在響應(yīng)當(dāng)前目標(biāo)用戶的查詢請求之后,再去根據(jù)預(yù)設(shè)準(zhǔn)則基于其分享關(guān)系中各個源用戶的用戶信息來對源用戶進行分組,來確定各個源用戶的分組。但是這樣就導(dǎo)致每次查詢時都要執(zhí)行一次對所有源用戶的分組。因此,也可以預(yù)先根據(jù)準(zhǔn)則并基于其分享關(guān)系中各個源用戶的用戶信息對所有源用戶進行分組,確定各個源用戶屬于哪一分組,而在響應(yīng)當(dāng)前目標(biāo)用戶的查詢請求時,直接獲取預(yù)先得到的分組結(jié)果,來直接確定各個源用戶的分組。這樣就不再需要每次查詢時都去執(zhí)行對所有源用戶的分組,從而可以減少查詢時系統(tǒng)所需執(zhí)行的動作,減少查詢所需要的時間。
[0105]步驟702、獲取屬于第一分組的源用戶以推送方式發(fā)送的動態(tài)信息,并獲取屬于第二分組的源用戶以拉取方式發(fā)送的動態(tài)信息。
[0106]其中,推送方式和拉取方式可以是前述實施例中所描述的任意一種實施方式,本實施例在此不再贅述。
[0107]需要說明的是,推送方式發(fā)送來的動態(tài)信息是響應(yīng)查詢請求之前,在動態(tài)信息產(chǎn)生時就發(fā)送到目標(biāo)存儲空間中的,因此對于第一分組的源用戶的動態(tài)信息可以直接從目標(biāo)存儲空間中提?。欢》绞桨l(fā)送來的動態(tài)信息是響應(yīng)查詢請求之后才去源用戶的源存儲空間中拉取來的。
[0108]另外,如果當(dāng)前目標(biāo)用戶的目標(biāo)存儲空間被分成推式動態(tài)時間線和拉式動態(tài)時間線來分別保存推送方式發(fā)送的動態(tài)信息和拉取方式發(fā)送的動態(tài)信息,則對于第一分組的源用戶可以直接從目標(biāo)存儲空間的推式動態(tài)時間線中提取動態(tài)信息,而對于第二分組的源用戶則可以先從該源用戶的源存儲空間中拉取動態(tài)信息到目標(biāo)存儲空間中的拉式動態(tài)時間線,然后再從拉式動態(tài)時間線中提取動態(tài)信息。
[0109]步驟703、合并所述第一分組源用戶的動態(tài)信息和所述第二分組源用戶的動態(tài)信息提供給所述當(dāng)前目標(biāo)用戶。
[0110]合并時,可以是按照各個動態(tài)信息的產(chǎn)生時間來進行排序,或者,也可以按照各個動態(tài)信息所屬的源用戶或源用戶分類來進行排序,或者,還可以是隨機排序。具體地排序方式可以是用戶自主去進行設(shè)定的,本實施例在此不做限定。
[0111]通過本實施例的技術(shù)方案,由于部分動態(tài)信息在產(chǎn)生時推送而部分動態(tài)信息在查詢時拉取,不僅可以減少整個系統(tǒng)中瞬時需要發(fā)送的動態(tài)信息數(shù)量并縮短動態(tài)信息的發(fā)送時間,也可以減少目標(biāo)用戶在查詢時需要拉取的動態(tài)信息數(shù)量而減少查詢所需要的時間,從而使得整個社交網(wǎng)絡(luò)中當(dāng)前正在查詢動態(tài)信息的用戶能夠更加及時地查看到剛剛產(chǎn)生的動態(tài)信息。
[0112]為了使本領(lǐng)域技術(shù)人員更清楚地了解本發(fā)明技術(shù)方案在實際應(yīng)用中的實施方式,下面將應(yīng)用場景為例,對本發(fā)明技術(shù)方案的實施方式進行說明。在該應(yīng)用場景中,社交網(wǎng)絡(luò)為一個微博網(wǎng)絡(luò)平臺,建立分享關(guān)系為用戶之間互相完成加關(guān)注的操作,其中源用戶為被關(guān)注用戶,目標(biāo)用戶為關(guān)注用戶,預(yù)先設(shè)置的準(zhǔn)則為用戶性質(zhì),第一分組的用戶為非名人用戶,第二分組的用戶為名人用戶,動態(tài)信息中具有產(chǎn)生該動態(tài)信息的用戶的用戶信息,用戶信息包括有用戶ID、關(guān)注者用戶數(shù)量、會員標(biāo)識等。各個用戶的存儲空間包括推式動態(tài)時間線和拉式動態(tài)時間線,推式動態(tài)時間線用于保存該用戶自己產(chǎn)生的動態(tài)信息以及以推送方式發(fā)送來其他用戶產(chǎn)生的動態(tài)信息,拉式動態(tài)時間線用于保存以拉取方式發(fā)送來其他用戶產(chǎn)生的動態(tài)信息。該應(yīng)用場景對應(yīng)的動態(tài)信息發(fā)送過程如圖8所示,動態(tài)信息查詢過程如圖9所示。
[0113]參見圖8,示出了本發(fā)明中動態(tài)信息發(fā)送的方法又一實施例的流程圖。本實施例中,微博網(wǎng)絡(luò)平臺內(nèi)各個用戶產(chǎn)生的動態(tài)信息依次進行處理,各個被關(guān)注用戶產(chǎn)生動態(tài)信息時都將該動態(tài)信息發(fā)送到線上消息隊列中等待線上處理模塊進行處理,其中,線上處理模塊只將動態(tài)信息推送給全部或部分當(dāng)前在線的關(guān)注用戶,而其余線上處理模塊未推送的關(guān)注用戶則通過線下消息隊列由線下處理模塊推送。本實施例例如可以包括:
[0114]步驟801、從線上消息隊列中提取一個動態(tài)信息,確定產(chǎn)生該動態(tài)信息的被關(guān)注用戶。
[0115]其中,可以根據(jù)該動態(tài)信息中的用戶信息來確定產(chǎn)生該動態(tài)信息的被關(guān)注用戶。另外,在提取該動態(tài)信息以后可以將該動態(tài)信息從線上隊列中刪除。
[0116]步驟802、將該動態(tài)信息存儲到該被關(guān)注用戶的推式動態(tài)時間線中。
[0117]步驟803、判斷該被關(guān)注用戶是否屬于名人用戶:如果是,進入步驟804;如果否,進入步驟805。
[0118]其中,判斷是基于用戶信息來進行的。具體地,可以將用戶信息中關(guān)注用戶數(shù)量不低于預(yù)設(shè)目標(biāo)數(shù)閾值的被關(guān)注用戶確定為名人用戶,也可以將用戶信息中具有會員標(biāo)識的被關(guān)注用戶確定為名人用戶,還可以將用戶信息中具有預(yù)設(shè)設(shè)定的名人標(biāo)識的被關(guān)注用戶確定為名人用戶,或者,還可以將上述三種被關(guān)注用戶中的任意兩種或三種都確定為名人用戶。
[0119]步驟804、拒絕以推送方式發(fā)送該動態(tài)信息,以便在關(guān)注用戶查詢該動態(tài)信息時以拉取方式發(fā)送該動態(tài)信息:同時,返回步驟801對線上消息隊列中的下一個待處理的動態(tài)信息進行發(fā)送處理。
[0120]步驟805、獲取該被關(guān)注用戶當(dāng)前在線的關(guān)注用戶組成第一推送用戶集合。
[0121]其中,第一推送用戶集合可以是一個在線關(guān)注用戶的列表。
[0122]步驟806、從第一推送用戶集合中選取一個未推送的關(guān)注用戶作為當(dāng)前推送用戶。
[0123]步驟807、將該動態(tài)信息推送到該當(dāng)前推送用戶的推式動態(tài)時間線中。
[0124]步驟808、判斷已完成推送的關(guān)注用戶是否匹配完成條件:如果是,進入步驟809,如果否,返回步驟806。
[0125]其中,完成條件為:已完成推送的關(guān)注用戶數(shù)量達到推送數(shù)量閾值,或,第一推送用戶集合中的關(guān)注用戶都已完成推送。
[0126]步驟809、封裝該動態(tài)信息并發(fā)送到線下消息隊列:完成之后,返回步驟801,并進入步驟810。
[0127]其中,將已完成推送的關(guān)注用戶的列表封裝在該動態(tài)信息中。
[0128]需要說明的是,步驟801?809是對線上消息隊列中動態(tài)信息的處理過程,采用線上處理模塊來執(zhí)行和完成的。而在步驟809將動態(tài)信息發(fā)送到線下消息隊列之后,后續(xù)步驟則是對線下消息隊列中動態(tài)信息的處理過程,采用線下處理模塊來執(zhí)行和完成。其中,線上處理模塊相對于線下處理模塊,具有更多的網(wǎng)絡(luò)資源來執(zhí)行處理,例如線程的數(shù)量更多和/或單個線程的容量更多。
[0129]可以理解的是,線上處理模塊和線下處理模塊的處理過程是兩個獨立的過程,線上處理模塊將動態(tài)信息發(fā)送給線下消息隊列時線下處理模塊并不需要立即對該動態(tài)信息進行處理,而是可以對線下消息隊列中的各個動態(tài)信息依次進行處理。另外,如果該動態(tài)信息的全部關(guān)注用戶都在線,并且線上處理模塊已將該動態(tài)信息推送全部給關(guān)注用戶,則可以不再進入步驟810。
[0130]步驟810、從線下消息隊列中提取一個動態(tài)信息,確定產(chǎn)生該動態(tài)信息的被關(guān)注用戶。
[0131]步驟811、獲取動態(tài)信息中該被關(guān)注用戶未完成推送的關(guān)注用戶組成第二推送用
P隹A
廠:? 口 O
[0132]其中,可以根據(jù)動態(tài)信息中封裝的已完成推送的關(guān)注用戶列表以及該被關(guān)注用戶的所有關(guān)注用戶的列表,來生成未完成推送的關(guān)注用戶列表。
[0133]步驟812、獲取動態(tài)信息中該被關(guān)注用戶未完成推送的關(guān)注用戶組成第二推送用
廠:? 口 O
[0134]在第二推送用戶集合中的所有關(guān)注用戶都推送完畢之后,返回步驟810,線下處理模塊執(zhí)行對下一個動態(tài)信息 的處理。
[0135]對應(yīng)于圖8所示的動態(tài)信息發(fā)送過程,參見圖9,示出了本發(fā)明中動態(tài)信息查詢的方法又一實施方式的流程圖。本實施例例如可以包括:
[0136]步驟901、響應(yīng)于關(guān)注用戶對動態(tài)信息的查詢請求,確定該關(guān)注用戶的被關(guān)注用戶中的名人用戶和非名人用戶。
[0137]其中,對于被關(guān)注用戶的分組可以是預(yù)先基于被關(guān)注用戶的用戶信息來確定的。對于每個關(guān)注用戶的各個被關(guān)注用戶來說,其中名人用戶可以組成一個名人列表,非名人用戶可以組成一個列表,在該關(guān)注用戶發(fā)起查詢請求時,可以依據(jù)預(yù)先組成的兩個列表來確定被關(guān)注用戶的性質(zhì)。
[0138]步驟902、將名人用戶的各個被關(guān)注用戶產(chǎn)生的動態(tài)信息從該被關(guān)注用戶的推式動態(tài)時間線中拉取到該關(guān)注用戶的拉取動態(tài)時間線中。
[0139]其中,可以為各個名人用戶對應(yīng)各個關(guān)注用戶設(shè)置拉取時間信息和產(chǎn)生時間信息,分別記載該關(guān)注用戶上一次拉取該名人用戶動態(tài)信息時的拉取時間和該名人用戶最近一次產(chǎn)生動態(tài)信息的產(chǎn)生時間。在該關(guān)注用戶拉取名人用戶的動態(tài)信息時,只拉取在拉取時間之后產(chǎn)生的動態(tài)信息,如果產(chǎn)生時間在拉取時間之前,則說明自上一次拉取之后該名人用戶未產(chǎn)生新的動態(tài)信息,則不執(zhí)行對該名人用戶的拉取。
[0140]步驟903、提取出該關(guān)注用戶的推式動態(tài)時間線和拉式動態(tài)時間線中符合查詢條件的動態(tài)信息。
[0141]其中,查詢條件可以是從查詢請求中獲得。
[0142]步驟904、合并提取出的動態(tài)信息并按照查詢條件排序。
[0143]在步驟904完成以后,可以將查詢結(jié)果返回給該關(guān)注用戶。[0144]通過上述兩個應(yīng)用場景實施例,由于對于擁有較多關(guān)注用戶的名人用戶所產(chǎn)生的動態(tài)信息采用拉取方式發(fā)送,而對于擁有較少關(guān)注用戶的非名人用戶所產(chǎn)生的動態(tài)信息采用推送方式發(fā)送,這樣不僅大大減少了整個系統(tǒng)中瞬時需要發(fā)送的動態(tài)信息數(shù)量而縮短了動態(tài)信息的發(fā)送時間,也減少了關(guān)注用戶在查詢時需要拉取的動態(tài)信息數(shù)量而減少了查詢所需要的時間,從而使得整個社交網(wǎng)絡(luò)中當(dāng)前正在查詢動態(tài)信息的用戶能夠更加及時地查看到剛剛產(chǎn)生的動態(tài)信息。
[0145]示例性設(shè)備
[0146]在介紹了本發(fā)明示例性實施方式的方法之后,接下來,參考圖10對本發(fā)明示例性實施方式的設(shè)備、用于動態(tài)信息發(fā)送的一實施例的結(jié)構(gòu)示意圖,本實施例例如可以包括:
[0147]第一判斷模塊1001,用于依據(jù)預(yù)先設(shè)置的準(zhǔn)則,基于源用戶的用戶信息來判斷所述源用戶所屬的分組;
[0148]推送發(fā)送模塊1002,用于響應(yīng)于所述源用戶屬于第一分組,以推送方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息;
[0149]拉取發(fā)送模塊1003,用于響應(yīng)于所述源用戶屬于第二分組,以拉取方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息。
[0150]在本實施例的一實施方式中,如圖11所示,所述用戶信息可以為所述源用戶的分享關(guān)系中的目標(biāo)用戶數(shù)量;所述第一判斷模塊1001例如可以具體包括:
[0151]數(shù)量判斷子模塊1101,用于判斷所述目標(biāo)用戶數(shù)量是否不低于預(yù)設(shè)的目標(biāo)數(shù)閾值;
[0152]第一確定子模塊1102,用于響應(yīng)于所述目標(biāo)用戶數(shù)量低于所述目標(biāo)數(shù)閾值,確定所述源用戶屬于第一分組;
[0153]第二確定子模塊1103,用于響應(yīng)于所述目標(biāo)用戶數(shù)量不低于所述目標(biāo)數(shù)閾值,確定所述源用戶屬于第二分組。
[0154]在本實施例的另一實施方式中,如圖12所示,所述用戶信息為所述源用戶的身份標(biāo)識;所述第一判斷模塊1001例如可以具體包括:
[0155]標(biāo)識判斷子模塊1201,用于判斷所述身份標(biāo)識是否屬于預(yù)設(shè)的用戶身份標(biāo)識;
[0156]第三確定子模塊1202,用于響應(yīng)于所述身份標(biāo)識不屬于預(yù)設(shè)的用戶身份標(biāo)識,確定所述源用戶屬于第一分組;
[0157]第四確定子模塊1203,用于響應(yīng)于所述身份標(biāo)識屬于預(yù)設(shè)的用戶身份標(biāo)識,確定所述源用戶屬于第二分組。
[0158]在本實施例的又一實施方式中,如圖13所示,所述推送發(fā)送模塊1002例如可以具體包括:
[0159]第一集合獲取子模塊1301,用于獲取所述目標(biāo)用戶中的當(dāng)前在線用戶組成第一推送用戶集合;其中,所述目標(biāo)用戶為所述源用戶分享關(guān)系中的目標(biāo)用戶;
[0160]第一集合推送子模塊1302,用于將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述第一推送用戶集合中目標(biāo)用戶的目標(biāo)存儲空間中;
[0161]第二集合獲取子模塊1303,用于獲取所述目標(biāo)用戶中未完成推送的用戶組成第二推送用戶集合;
[0162]第二集合推送子模塊1304,用于將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述第二推送用戶集合中目標(biāo)用戶的目標(biāo)存儲空間中。
[0163]在本實施例的再一實施方式中,在上述圖13所示的實施方式基礎(chǔ)上,如圖14所示,所述第一集合推送子模塊1302具體包括:
[0164]用戶選取子模塊1401,用于從所述第一推送用戶集合中選取一個未推送的目標(biāo)用戶作為當(dāng)前推送用戶;
[0165]當(dāng)前推送子模塊1402,用于將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述當(dāng)前推送用戶的目標(biāo)存儲空間中;
[0166]完成判斷子模塊1403,用于判斷已完成推送的目標(biāo)用戶是否匹配完成條件;所述完成條件為:所述已完成推送的目標(biāo)用戶數(shù)量達到推送數(shù)量閾值,或,所述第一推送用戶集合中的目標(biāo)用戶都已完成推送;
[0167]第一觸發(fā)子模塊1404,用于在所述完成判斷子模塊的判斷結(jié)果為是的情況下,觸發(fā)所述第二集合獲取子模塊1303 ;
[0168]第二觸發(fā)子模塊1405,用于在所述完成判斷子模塊的判斷結(jié)果為否的情況下,觸發(fā)所述用戶選取子模塊1401。
[0169]在本實施例的又再一實施方式中,在上述圖13所示的實施方式基礎(chǔ)上,如圖15所示,所述設(shè)備還可以包括:
[0170]線上處理模塊1501,用于采用線上處理來完成第一集合推送子模塊1302執(zhí)行的動作;
[0171]線下處理模塊1502,用于采用線下處理來完成第二集合推送子模塊1304執(zhí)行的動作;
[0172]所述線上處理的線程資源大于所述線下處理的線程資源;所述線程資源包括:線程數(shù)量,和/或,單個線程的消息處理速度。
[0173]在本實施例的又再一實施方式中,如圖16所示,所述拉取發(fā)送模塊1003例如可以具體包括:
[0174]時間獲取子模塊1601,用于響應(yīng)于當(dāng)前目標(biāo)用戶查詢動態(tài)信息的請求,獲取所述當(dāng)前目標(biāo)用戶上一次拉取所述源用戶的動態(tài)信息時的拉取時間以及所述源用戶最近產(chǎn)生動態(tài)信息的產(chǎn)生時間;其中,所述當(dāng)前目標(biāo)用戶屬于所述源用戶分享關(guān)系中的目標(biāo)用戶;
[0175]時間判斷子模塊1602,用于判斷所述拉取時間是否滯后于所述產(chǎn)生時間;
[0176]執(zhí)行拉取子模塊1603,用于在所述時間判斷子模塊1602的判斷結(jié)果為否的情況下,從所述源用戶的源存儲空間中拉取所述拉取時間之后產(chǎn)生的動態(tài)信息給所述當(dāng)前目標(biāo)用戶。
[0177]對應(yīng)于示例性方法的實施例,參考圖17對本發(fā)明示例性實施方式的設(shè)備、用于動態(tài)信息查詢的一實施例的結(jié)構(gòu)示意圖,本實施例例如可以包括:
[0178]分組確定模塊1701,用于響應(yīng)于當(dāng)前目標(biāo)用戶查詢動態(tài)信息的請求,根據(jù)預(yù)先設(shè)置的準(zhǔn)則,確定所述當(dāng)前目標(biāo)用戶的分享關(guān)系中各個源用戶的分組;
[0179]推送獲取模塊1702,用于獲取屬于第一分組的源用戶以推送方式發(fā)送的動態(tài)信息;
[0180]拉取獲取模塊1703,用于獲取屬于第二分組的源用戶以拉取方式發(fā)送的動態(tài)信息;[0181]合并模塊1704,用于合并所述第一源用戶的動態(tài)信息和所述第二源用戶的動態(tài)信息提供給所述當(dāng)前目標(biāo)用戶。
[0182]通過本發(fā)明示例性實施方式的設(shè)備實施例,由于部分動態(tài)信息在產(chǎn)生時推送而部分動態(tài)信息在查詢時拉取,不僅可以減少整個系統(tǒng)中瞬時需要發(fā)送的動態(tài)信息數(shù)量并縮短動態(tài)信息的發(fā)送時間,也可以減少查詢所需要的時間,從而使得整個社交網(wǎng)絡(luò)中當(dāng)前正在查詢動態(tài)信息的用戶能夠更加及時地查看到剛剛產(chǎn)生的動態(tài)信息。
[0183]應(yīng)當(dāng)注意,盡管在上文詳細描述中提及了動態(tài)信息發(fā)送的設(shè)備以及動態(tài)信息查詢的設(shè)備的若干裝置或子裝置,但是這種劃分僅僅并非強制性的。實際上,根據(jù)本發(fā)明的實施方式,上文描述的兩個或更多裝置的特征和功能可以在一個裝置中具體化。反之,上文描述的一個裝置的特征和功能可以進一步劃分為由多個裝置來具體化。
[0184]此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實現(xiàn)期望的結(jié)果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或?qū)⒁粋€步驟分解為多個步驟執(zhí)行。
[0185]申請文件中提及的動詞“包括”、“包含”及其詞形變化的使用不排除除了申請文件中記載的那些元素或步驟之外的元素或步驟的存在。元素前的冠詞“一”或“一個”不排除多個這種元素的存在。
[0186]雖然已經(jīng)參考若干【具體實施方式】描述了本發(fā)明的精神和原理,但是應(yīng)該理解,本發(fā)明并不限于所公開的【具體實施方式】,對各方面的劃分也不意味著這些方面中的特征不能組合以進行受益,這種劃分僅是為了表述的方便。本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。所附權(quán)利要求的范圍符合最寬泛的解釋,從而包含所有這樣的修改及等同結(jié)構(gòu)和功能。
【權(quán)利要求】
1.一種方法,包括: 依據(jù)預(yù)先設(shè)置的準(zhǔn)則,基于源用戶的用戶信息來判斷所述源用戶所屬的分組; 響應(yīng)于所述源用戶屬于第一分組,以推送方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息; 響應(yīng)于所述源用戶屬于第二分組,以拉取方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息。
2.根據(jù)權(quán)利要求1所述的方法,所述用戶信息為所述源用戶的分享關(guān)系中的目標(biāo)用戶數(shù)量;所述依據(jù)預(yù)先設(shè)置的準(zhǔn)則,基于用戶信息來判斷源用戶所屬的分組,包括: 判斷所述目標(biāo)用戶數(shù)量是否不低于預(yù)設(shè)的目標(biāo)數(shù)閾值; 響應(yīng)于所述目標(biāo)用戶數(shù)量低于所述目標(biāo)數(shù)閾值,確定所述源用戶屬于第一分組; 響應(yīng)于所述目標(biāo)用戶數(shù)量不低于所述目標(biāo)數(shù)閾值,確定所述源用戶屬于第二分組。
3.根據(jù)權(quán)利要求1所述的方法,所述用戶信息為所述源用戶的身份標(biāo)識;依據(jù)預(yù)先設(shè)置的準(zhǔn)則,基于用戶信息來判斷源用戶所屬的分組,包括: 判斷所述身份標(biāo)識是否屬于預(yù)設(shè)的用戶身份標(biāo)識; 響應(yīng)于所述身份標(biāo)識不屬于預(yù)設(shè)的用戶身份標(biāo)識,確定所述源用戶屬于第一分組; 響應(yīng)于所述身份標(biāo)識屬于預(yù)設(shè)的用戶身份標(biāo)識,確定所述源用戶屬于第二分組。
4.根據(jù)權(quán)利要求1所述的方法,所述以推送方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息,包括: 獲取目標(biāo)用戶中的當(dāng)前在線用戶組成第一推送用戶集合,將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述 第一推送用戶集合中目標(biāo)用戶的目標(biāo)存儲空間中;其中,所述目標(biāo)用戶為所述源用戶分享關(guān)系中的目標(biāo)用戶; 獲取所述目標(biāo)用戶中未完成推送的用戶組成第二推送用戶集合,將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述第二推送用戶集合中目標(biāo)用戶的目標(biāo)存儲空間中。
5.根據(jù)權(quán)利要求4所述的方法,所述將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述第一推送用戶集合中目標(biāo)用戶的目標(biāo)存儲空間中,包括: 從所述第一推送用戶集合中選取一個未推送的目標(biāo)用戶作為當(dāng)前推送用戶; 將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述當(dāng)前推送用戶的目標(biāo)存儲空間中; 判斷已完成推送的目標(biāo)用戶是否匹配完成條件;所述完成條件為:所述已完成推送的目標(biāo)用戶數(shù)量達到推送數(shù)量閾值,或,所述第一推送用戶集合中的目標(biāo)用戶都已完成推送; 如果是,進入所述獲取所述目標(biāo)用戶中未完成推送的用戶組成第二推送用戶集合;如果否,返回所述從所述第一推送用戶集合中選取一個未推送的目標(biāo)用戶作為當(dāng)前推送用戶。
6.根據(jù)權(quán)利要求4所述的方法,采用線上處理來完成所述將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述第一推送用戶集合中目標(biāo)用戶的目標(biāo)存儲空間中,采用線下處理來完成所述將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述第二推送用戶集合中目標(biāo)用戶的目標(biāo)存儲空間中; 所述線上處理的線程資源大于所述線下處理的線程資源;所述線程資源包括:線程數(shù)量,和/或,單個線程的消息處理速度。
7.根據(jù)權(quán)利要求1所述的方法,所述以拉取方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息,包括: 響應(yīng)于當(dāng)前目標(biāo)用戶查詢動態(tài)信息的請求,獲取所述當(dāng)前目標(biāo)用戶上一次拉取所述源用戶的動態(tài)信息時的拉取時間以及所述源用戶最近產(chǎn)生動態(tài)信息的產(chǎn)生時間;其中,所述當(dāng)前目標(biāo)用戶屬于所述源用戶分享關(guān)系中的目標(biāo)用戶; 判斷所述拉取時間是否滯后于所述產(chǎn)生時間,如果否,從所述源用戶的源存儲空間中拉取所述拉取時間之后產(chǎn)生的動態(tài)信息給所述當(dāng)前目標(biāo)用戶。
8.一種方法,包括: 響應(yīng)于當(dāng)前目標(biāo)用戶查詢動態(tài)信息的請求,確定所述當(dāng)前目標(biāo)用戶的分享關(guān)系中各個源用戶所屬的分組; 獲取屬于第一分組的源用戶以推送方式發(fā)送的動態(tài)信息,并獲取屬于第二分組的源用戶以拉取方式發(fā)送的動態(tài)信息; 合并所述第一分組源用戶的動態(tài)信息和所述第二分組源用戶的動態(tài)信息提供給所述當(dāng)前目標(biāo)用戶。
9.一種設(shè)備,包括: 第一判斷模塊,用于依據(jù)預(yù)先設(shè)置的準(zhǔn)則,基于源用戶的用戶信息來判斷所述源用戶所屬的分組; 推送發(fā)送模塊,用于響應(yīng)于所述源用戶屬于第一分組,以推送方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息; 拉取發(fā)送模塊,用于響應(yīng)于所述`源用戶屬于第二分組,以拉取方式發(fā)送所述源用戶產(chǎn)生的動態(tài)信息。
10.根據(jù)權(quán)利要求9所述的設(shè)備,所述用戶信息為所述源用戶的分享關(guān)系中的目標(biāo)用戶數(shù)量;所述第一判斷模塊具體包括: 數(shù)量判斷子模塊,用于判斷所述目標(biāo)用戶數(shù)量是否不低于預(yù)設(shè)的目標(biāo)數(shù)閾值; 第一確定子模塊,用于響應(yīng)于所述目標(biāo)用戶數(shù)量低于所述目標(biāo)數(shù)閾值,確定所述源用戶屬于第一分組; 第二確定子模塊,用于響應(yīng)于所述目標(biāo)用戶數(shù)量不低于所述目標(biāo)數(shù)閾值,確定所述源用戶屬于第二分組。
11.根據(jù)權(quán)利要求9所述的設(shè)備,所述用戶信息為所述源用戶的身份標(biāo)識;所述第一判斷模塊具體包括: 標(biāo)識判斷子模塊,用于判斷所述身份標(biāo)識是否屬于預(yù)設(shè)的用戶身份標(biāo)識; 第三確定子模塊,用于響應(yīng)于所述身份標(biāo)識不屬于預(yù)設(shè)的用戶身份標(biāo)識,確定所述源用戶屬于第一分組; 第四確定子模塊,用于響應(yīng)于所述身份標(biāo)識屬于預(yù)設(shè)的用戶身份標(biāo)識,確定所述源用戶屬于第二分組。
12.根據(jù)權(quán)利要求9所述的設(shè)備,所述推送發(fā)送模塊具體包括: 第一集合獲取子模塊,用于獲取所述目標(biāo)用戶中的當(dāng)前在線用戶組成第一推送用戶集合;其中,所述目標(biāo)用戶為所述源用戶分享關(guān)系中的目標(biāo)用戶; 第一集合推送子模塊,用于將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述第一推送用戶集合中目標(biāo)用戶的目標(biāo)存儲空間中;第二集合獲取子模塊,用于獲取所述目標(biāo)用戶中未完成推送的用戶組成第二推送用戶集合; 第二集合推送子模塊,用于將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述第二推送用戶集合中目標(biāo)用戶的目標(biāo)存儲空間中。
13.根據(jù)權(quán)利要求12所述的設(shè)備,所述第一集合推送子模塊具體包括: 用戶選取子模塊,用于從所述第一推送用戶集合中選取一個未推送的目標(biāo)用戶作為當(dāng)前推送用戶; 當(dāng)前推送子模塊,用于將所述動態(tài)消息從所述源用戶的源存儲空間中推送到所述當(dāng)前推送用戶的目標(biāo)存儲空間中; 完成判斷子模塊,用于判斷已完成推送的目標(biāo)用戶是否匹配完成條件;所述完成條件為:所述已完成推送的目標(biāo)用戶數(shù)量達到推送數(shù)量閾值,或,所述第一推送用戶集合中的目標(biāo)用戶都已完成推送; 第一觸發(fā)子模塊 ,用于在所述完成判斷子模塊的判斷結(jié)果為是的情況下,觸發(fā)所述第二集合獲取子模塊; 第二觸發(fā)子模塊,用于在所述完成判斷子模塊的判斷結(jié)果為否的情況下,觸發(fā)所述用戶選取子模塊。
14.根據(jù)權(quán)利要求12所述的設(shè)備,還包括: 線上處理模塊,用于采用線上處理來完成第一集合推送子模塊執(zhí)行的動作; 線下處理模塊,用于采用線下處理來完成第二集合推送子模塊執(zhí)行的動作; 所述線上處理的線程資源大于所述線下處理的線程資源;所述線程資源包括:線程數(shù)量,和/或,單個線程的消息處理速度。
15.根據(jù)權(quán)利要求9所述的設(shè)備,所述拉取發(fā)送模塊具體包括: 時間獲取子模塊,用于響應(yīng)于當(dāng)前目標(biāo)用戶查詢動態(tài)信息的請求,獲取所述當(dāng)前目標(biāo)用戶上一次拉取所述源用戶的動態(tài)信息時的拉取時間以及所述源用戶最近產(chǎn)生動態(tài)信息的產(chǎn)生時間;其中,所述當(dāng)前目標(biāo)用戶屬于所述源用戶分享關(guān)系中的目標(biāo)用戶; 時間判斷子模塊,用于判斷所述拉取時間是否滯后于所述產(chǎn)生時間; 執(zhí)行拉取子模塊,用于在所述時間判斷子模塊的判斷結(jié)果為否的情況下,從所述源用戶的源存儲空間中拉取所述拉取時間之后產(chǎn)生的動態(tài)信息給所述當(dāng)前目標(biāo)用戶。
16.—種設(shè)備,包括: 分組確定模塊,用于響應(yīng)于當(dāng)前目標(biāo)用戶查詢動態(tài)信息的請求,根據(jù)預(yù)先設(shè)置的準(zhǔn)則,確定所述當(dāng)前目標(biāo)用戶的分享關(guān)系中各個源用戶的分組; 推送獲取模塊,用于獲取屬于第一分組的源用戶以推送方式發(fā)送的動態(tài)信息; 拉取獲取模塊,用于獲取屬于第二分組的源用戶以拉取方式發(fā)送的動態(tài)信息; 合并模塊,用于合并所述第一源用戶的動態(tài)信息和所述第二源用戶的動態(tài)信息提供給所述當(dāng)前目標(biāo)用戶。
【文檔編號】G06F17/30GK103440241SQ201310256079
【公開日】2013年12月11日 申請日期:2013年6月24日 優(yōu)先權(quán)日:2013年6月24日
【發(fā)明者】汪源 申請人:杭州朗和科技有限公司