專利名稱:抓取第三方開(kāi)放平臺(tái)中用戶動(dòng)態(tài)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種抓取第三方開(kāi)放平臺(tái)中用戶動(dòng)態(tài)的方法和裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)的發(fā)展,越來(lái)越多的互聯(lián)網(wǎng)應(yīng)用出現(xiàn),微博、社交網(wǎng)絡(luò)等新興的產(chǎn)品已經(jīng)在近幾年來(lái)成為網(wǎng)民生活的一部分。在中國(guó),幾家大的互聯(lián)網(wǎng)公司,例如新浪、百度、淘寶和騰訊等也在一些關(guān)鍵領(lǐng)域競(jìng)爭(zhēng),而合作共贏已經(jīng)成為ー種新的發(fā)展趨勢(shì)。合作的深度發(fā)展就是將自己已有的資源開(kāi)放出去,相互利用對(duì)方的優(yōu)勢(shì)來(lái)發(fā)展自己的業(yè)務(wù),從而達(dá)到利潤(rùn)最大化。資源開(kāi)放的主要形式就是基于開(kāi)放平臺(tái)的各種應(yīng)用。一方開(kāi)放平臺(tái)中的某些互聯(lián)網(wǎng)應(yīng)用,會(huì)需要基于合作方開(kāi)放平臺(tái)提供的海量?jī)?nèi)容 進(jìn)行深度加工處理,例如,社交平臺(tái)中的一些互聯(lián)網(wǎng)應(yīng)用會(huì)需要對(duì)微博平臺(tái)中的用戶動(dòng)態(tài)(Feed)進(jìn)行深度加工處理。現(xiàn)有絕大多數(shù)開(kāi)放平臺(tái)都是基于調(diào)用者拉(Pull)的模式實(shí)現(xiàn)海量?jī)?nèi)容的傳遞,由調(diào)用者發(fā)出請(qǐng)求,被請(qǐng)求方根據(jù)請(qǐng)求將數(shù)據(jù)發(fā)送給調(diào)用者。現(xiàn)有的這種處理方式,合作方反饋的內(nèi)容通常包含了過(guò)多的無(wú)效信息,不但導(dǎo)致資源浪費(fèi),且增加了數(shù)據(jù)傳輸?shù)碾y度;并且,如果在用戶使用合作方的內(nèi)容時(shí)再去獲取這些內(nèi)容,造成延遲性比較大,如果對(duì)所有用戶的內(nèi)容實(shí)時(shí)抓取,性能要求又過(guò)高,在實(shí)際中的可行性較小。
發(fā)明內(nèi)容
本發(fā)明提供的一種抓取第三方開(kāi)放平臺(tái)中用戶動(dòng)態(tài)的方法和裝置,以解決現(xiàn)有方案中信息獲取延遲性較大、資源浪費(fèi)較嚴(yán)重的問(wèn)題等。為達(dá)到上述目的,本發(fā)明實(shí)施例采用了如下技術(shù)方案本發(fā)明實(shí)施例提供了一種抓取第三方開(kāi)放平臺(tái)中用戶動(dòng)態(tài)的方法,建立用戶的用戶標(biāo)識(shí)和用戶信息之間的對(duì)應(yīng)關(guān)系,利用輪詢隊(duì)列存儲(chǔ)所述用戶標(biāo)識(shí),井根據(jù)所述對(duì)應(yīng)關(guān)系存儲(chǔ)所述用戶信息,所述方法還包括對(duì)所述輪詢隊(duì)列進(jìn)行輪詢,在輪詢隊(duì)列中利用用戶標(biāo)識(shí)提取用戶信息,并根據(jù)抓取調(diào)度策略和用戶信息確定當(dāng)前所需抓取的用戶,其中,所述用戶信息包括用戶綁定在第三方開(kāi)放平臺(tái)上的授權(quán)信息;利用當(dāng)前所需抓取的用戶的授權(quán)信息,通過(guò)調(diào)用第三方開(kāi)放平臺(tái)的API,在第三方開(kāi)放平臺(tái)抓取相應(yīng)的用戶動(dòng)態(tài)。本發(fā)明實(shí)施例還提供了ー種抓取引擎裝置,所述抓取引擎裝置包括抓取緩存器,用于建立用戶的用戶標(biāo)識(shí)和用戶信息之間的對(duì)應(yīng)關(guān)系,利用輪詢隊(duì)列存儲(chǔ)所述用戶標(biāo)識(shí),井根據(jù)所述對(duì)應(yīng)關(guān)系存儲(chǔ)所述用戶信息;抓取調(diào)度單元,用于對(duì)所述輪詢隊(duì)列進(jìn)行輪詢,在輪詢隊(duì)列中利用用戶標(biāo)識(shí)提取用戶信息,并根據(jù)抓取調(diào)度策略和用戶信息確定當(dāng)前所需抓取的用戶,其中,所述用戶信息包括用戶綁定在第三方開(kāi)放平臺(tái)上的授權(quán)信息;抓取執(zhí)行單元,用于利用當(dāng)前所需抓取的用戶的授權(quán)信息,通過(guò)調(diào)用第三方開(kāi)放平臺(tái)的API,在第三方開(kāi)放平臺(tái)抓取相應(yīng)的用戶動(dòng)態(tài)。本發(fā)明實(shí)施例的有益效果是本發(fā)明實(shí)施例通過(guò)在開(kāi)放平臺(tái)已經(jīng)建立起來(lái)的用戶綁定關(guān)系來(lái)實(shí)現(xiàn)對(duì)開(kāi)放平臺(tái)中用戶動(dòng)態(tài)的抓取,解決了百萬(wàn)級(jí)綁定用戶的用戶動(dòng)態(tài)抓取問(wèn)題。并且,本方案通過(guò)抓取調(diào)度策略和用戶信息對(duì)所需抓取的用戶進(jìn)行篩選,能夠在保證實(shí)時(shí)性的同時(shí),降低對(duì)性能的要求,且避免了抓取時(shí)出現(xiàn)過(guò)多無(wú)效信息,提高了數(shù)據(jù)抓取的效率。
圖I為本發(fā)明實(shí)施例一提供的一種抓取第三方開(kāi)放平臺(tái)中用戶動(dòng)態(tài)的方法流程圖;圖2為本發(fā)明實(shí)施例ニ提供的一種本開(kāi)放平臺(tái)從微博開(kāi)放平臺(tái)抓取海量?jī)?nèi)容的流程示意圖;圖3為本發(fā)明實(shí)施例ニ提供的用戶信息的結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例ニ提供的輪詢隊(duì)列結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例ニ提供的抓取引擎的邏輯架構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例三提供的抓取引擎裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)ー步地詳細(xì)描述。參見(jiàn)圖1,為本發(fā)明實(shí)施例一提供的一種抓取第三方開(kāi)放平臺(tái)中用戶動(dòng)態(tài)的方法流程圖,包括如下處理100 :建立用戶的用戶標(biāo)識(shí)和用戶信息之間的對(duì)應(yīng)關(guān)系,利用輪詢隊(duì)列存儲(chǔ)所述用戶標(biāo)識(shí),井根據(jù)所述對(duì)應(yīng)關(guān)系存儲(chǔ)所述用戶信息。具體的,該對(duì)應(yīng)關(guān)系可以采用哈希(Hash)關(guān)系。101 :對(duì)所述輪詢隊(duì)列進(jìn)行輪詢,在輪詢隊(duì)列中利用用戶標(biāo)識(shí)提取用戶信息,井根據(jù)抓取調(diào)度策略和用戶信息確定當(dāng)前所需抓取的用戶,其中,所述用戶信息包括用戶綁定在第三方開(kāi)放平臺(tái)上的授權(quán)信息。本方案中對(duì)輪詢到的用戶,根據(jù)抓取調(diào)度策略和用戶信息判斷當(dāng)前是否需要該用戶的用戶動(dòng)態(tài)進(jìn)行抓取(即是否需要對(duì)該用戶繼續(xù)實(shí)時(shí)抓取),若是,執(zhí)行實(shí)時(shí)抓取操作,若否,暫不對(duì)該用戶進(jìn)行抓取操作,將該用戶的用戶標(biāo)識(shí)回收至輪詢隊(duì)列的隊(duì)尾。這種操作方式既避免了抓取過(guò)多無(wú)效信息,又同時(shí)滿足了用戶的實(shí)時(shí)性需求。102:利用當(dāng)前所需抓取的用戶的授權(quán)信息,通過(guò)調(diào)用第三方開(kāi)放平臺(tái)的應(yīng)用程序接ロ(API),在第三方開(kāi)放平臺(tái)抓取相應(yīng)的用戶動(dòng)態(tài)(Feed)。上述開(kāi)放平臺(tái)主要指提供開(kāi)放接ロ(Open API)的平臺(tái)。在互聯(lián)網(wǎng)時(shí)代,把網(wǎng)站的服務(wù)封裝成一系列計(jì)算機(jī)易識(shí)別的數(shù)據(jù)接ロ開(kāi)放出去,供開(kāi)發(fā)者使用,這種行為就叫做OpenAPI0通過(guò)開(kāi)放平臺(tái),網(wǎng)站不僅能提供對(duì)網(wǎng)絡(luò)(Web)網(wǎng)頁(yè)的簡(jiǎn)單訪問(wèn),還可以進(jìn)行復(fù)雜的數(shù)據(jù)交互,將Web網(wǎng)站轉(zhuǎn)換為與操作系統(tǒng)等價(jià)的開(kāi)發(fā)平臺(tái)。開(kāi)發(fā)者可以基于這些已經(jīng)存在的、公開(kāi)的Web網(wǎng)站而開(kāi)發(fā)豐富多彩的應(yīng)用。上述第三方開(kāi)放平臺(tái)可以為各種微博或社交網(wǎng)絡(luò)平臺(tái)。下面對(duì)本發(fā)明實(shí)施例ニ提供的一種抓取第三方開(kāi)放平臺(tái)中用戶動(dòng)態(tài)的方法進(jìn)行說(shuō)明。參見(jiàn)圖2,本實(shí)施例以所關(guān)注的開(kāi)放平臺(tái)(稱之為本開(kāi)放平臺(tái))從微博開(kāi)放平臺(tái)抓取海量?jī)?nèi)容的場(chǎng)景為例說(shuō)明,本開(kāi)放平臺(tái)中已經(jīng)有上百萬(wàn)的用戶與微博開(kāi)放平臺(tái)綁定(如通過(guò)OAuth協(xié)議實(shí)現(xiàn)的綁定),即建立用戶和微博開(kāi)放平臺(tái)的授權(quán)關(guān)系。在本開(kāi)放平臺(tái)上設(shè)置抓取引擎功能,來(lái)完成對(duì)這百萬(wàn)級(jí)用戶動(dòng)態(tài)的抓取。本實(shí)施例考慮到抓取是針對(duì)每個(gè)授權(quán)用戶的反復(fù)不斷的重復(fù)過(guò)程,所以將抓取中所需的信息設(shè)置在用戶信息中并全部緩存起來(lái),以便多次使用,提高抓取的效率。具體包括 如下處理100 :建立用戶的用戶標(biāo)識(shí)和用戶信息之間的對(duì)應(yīng)關(guān)系,利用輪詢隊(duì)列存儲(chǔ)所述用戶標(biāo)識(shí),井根據(jù)所述對(duì)應(yīng)關(guān)系存儲(chǔ)所述用戶信息。上述用戶標(biāo)識(shí)(UserId)為對(duì)用戶設(shè)置的唯一性識(shí)別信息,上述用戶信息主要包括用戶在第三方開(kāi)放平臺(tái)的授權(quán)信息,如接入標(biāo)識(shí)(AccessToken)和接入密碼(AccessSecret)。用戶信息的來(lái)源可以有兩種,一種是已經(jīng)穩(wěn)定地綁定在第三方開(kāi)放平臺(tái)的用戶的用戶信息,另ー種是新綁定至第三方開(kāi)放平臺(tái)中的用戶的信息。本實(shí)施例使用Redis緩存服務(wù)器實(shí)現(xiàn)對(duì)上述用戶標(biāo)識(shí)和用戶信息的存儲(chǔ),并且采用了基于鏈表(List)和哈希(Hash)相結(jié)合的存儲(chǔ)方式。其中,利用Redis的鏈表形成ー個(gè)或多個(gè)輪詢隊(duì)列,對(duì)用戶的用戶標(biāo)識(shí)進(jìn)行存儲(chǔ),通過(guò)使用隊(duì)列的方式,可以保證必要的緩沖和不丟失數(shù)據(jù);利用Redis的鍵值對(duì)機(jī)制實(shí)現(xiàn)哈希結(jié)構(gòu),將用戶標(biāo)識(shí)對(duì)應(yīng)于哈希結(jié)構(gòu)中的鍵(Key),將用戶信息對(duì)應(yīng)于哈希結(jié)構(gòu)中的值(Value)。本方案針對(duì)不同的合作方開(kāi)放平臺(tái)可以配備不同的進(jìn)程數(shù)和輪詢隊(duì)列數(shù)以避免相互影響,同時(shí)可以將對(duì)內(nèi)容較小的合作方的抓取處理統(tǒng)一配置到一組進(jìn)程中以節(jié)省系統(tǒng)資源。進(jìn)ー步的,參見(jiàn)圖3,除了授權(quán)信息上述用戶信息還可以包括抓取上下文信息,該抓取上下文信息包括抓取優(yōu)先級(jí)、上一次抓取的動(dòng)態(tài)數(shù)量、上一次抓取的時(shí)間和抓取偏移量,所述抓取偏移量指示上一次抓取的用戶動(dòng)態(tài)的位置,具體描述如下I)授權(quán)信息(AccessToken和AccessSecret):是通過(guò)OAuth協(xié)議將用戶綁定至開(kāi)放平臺(tái)的信息,通過(guò)該授權(quán)信息獲得在開(kāi)放平臺(tái)訪問(wèn)某一用戶的用戶動(dòng)態(tài)的權(quán)限。2)抓取偏移量(FetchOffset):是上次抓取該用戶動(dòng)態(tài)時(shí)的位置(偏移量),例如對(duì)用戶標(biāo)識(shí)為1001的用戶,在微博開(kāi)放平臺(tái)上次抓取到的最后的用戶動(dòng)態(tài)的唯一標(biāo)識(shí)(FeedId)為10001112,則將10001112記錄在用戶信息的抓取偏移量中,下次對(duì)該用戶進(jìn)行抓取時(shí),就會(huì)從10001112這個(gè)偏移處繼續(xù)抓取以保證返回的數(shù)據(jù)不會(huì)重復(fù),從而避免了無(wú)效信息的出現(xiàn),降低所需抓取和傳輸?shù)臄?shù)據(jù)量。3)上一次抓取的動(dòng)態(tài)數(shù)量(LastFetchedCount):為上次抓取到的動(dòng)態(tài)條數(shù)。由于上次抓取和本次抓取存在時(shí)間差,此時(shí)用戶可能已經(jīng)有新動(dòng)態(tài)產(chǎn)生,那么本次抓取時(shí)只要把大于FetchOffset的動(dòng)態(tài)條數(shù)存儲(chǔ)在LastFetchedCount中即可,姆次抓取進(jìn)行迭代。
4)上一次抓取的時(shí)間(LastFetchTime):為執(zhí)行上次抓取的時(shí)間戳。上述3)和4)為抓取結(jié)果反饋信息的示例,抓取結(jié)果反饋信息可以由合作方的開(kāi)放平臺(tái)提供,根據(jù)需要用戶信息中還可以設(shè)置其它的抓取結(jié)果反饋信息,如第三方開(kāi)放平臺(tái)對(duì)所抓取用戶動(dòng)態(tài)的內(nèi)容進(jìn)行分析并反饋至抓取引擎,在用戶信息中設(shè)置上一次的抓取內(nèi)容來(lái)記錄這一反饋信息。5)抓取優(yōu)先級(jí)用于記錄用戶的優(yōu)先級(jí)。用戶信息內(nèi)容的設(shè)置可以結(jié)合抓取調(diào)度策略來(lái)實(shí)現(xiàn),例如,當(dāng)不需要根據(jù)用戶的上一次抓取的時(shí)間實(shí)現(xiàn)抓取調(diào)度時(shí),用戶信息中也可以不包含上一次抓取的時(shí)間,從而提高了調(diào)度的靈活性。
101 :對(duì)所述輪詢隊(duì)列進(jìn)行輪詢,利用輪詢隊(duì)列中的用戶標(biāo)識(shí)提取用戶信息,井根據(jù)抓取調(diào)度策略和用戶信息確定當(dāng)前所需抓取的用戶,其中,所述用戶信息包括用戶綁定在第三方開(kāi)放平臺(tái)上的授權(quán)信息。從隊(duì)頭開(kāi)始對(duì)所述輪詢隊(duì)列中的用戶標(biāo)識(shí)進(jìn)行輪詢,根據(jù)當(dāng)前輪詢的用戶標(biāo)識(shí)提取用戶信息,根據(jù)抓取調(diào)度策略和提取到的用戶信息,確定是否需要對(duì)該用戶的用戶動(dòng)態(tài)進(jìn)行抓取,是則對(duì)該用戶的用戶動(dòng)態(tài)進(jìn)行抓取操作,并在抓取操作后將輪詢后的該用戶標(biāo)識(shí)歸還至隊(duì)尾,繼續(xù)從隊(duì)頭開(kāi)始輪詢;否則直接將該用戶標(biāo)識(shí)歸還至隊(duì)尾,繼續(xù)從隊(duì)頭開(kāi)始輪詢。參見(jiàn)圖4,本實(shí)施例從隊(duì)頭(Head)開(kāi)始對(duì)所述輪詢隊(duì)列中的用戶標(biāo)識(shí)進(jìn)行輪詢,并將輪詢后的用戶標(biāo)識(shí)歸還至隊(duì)尾(Tail)。圖3中將用戶標(biāo)識(shí)分別設(shè)置為1001、1002、1003等。即對(duì)隊(duì)頭的用戶標(biāo)識(shí)1001輪詢處理后,將1001移至隊(duì)尾,然后對(duì)此時(shí)位于隊(duì)頭的用戶標(biāo)識(shí)1002進(jìn)行輪詢,輪詢處理完畢后再將1002移至隊(duì)尾,重復(fù)操作,依次對(duì)位于隊(duì)頭的用戶標(biāo)識(shí)進(jìn)行輪詢。這種從隊(duì)頭輪詢后歸還隊(duì)尾的處理方式,在采用多個(gè)輪詢進(jìn)程時(shí),有助于多個(gè)輪詢進(jìn)程之間不會(huì)相互干擾,避免了不同輪詢進(jìn)程同時(shí)對(duì)同一用戶重復(fù)輪詢,提高了輪詢效率。抓取引擎功能利用輪詢隊(duì)列中的用戶標(biāo)識(shí)從哈希表中查找得到相應(yīng)的用戶信息,然后調(diào)用抓取調(diào)度策略決定是否對(duì)該用戶進(jìn)行抓取。本方案提供的抓取調(diào)度策略包括優(yōu)先級(jí)調(diào)度和優(yōu)先級(jí)跳躍。優(yōu)先級(jí)調(diào)度本實(shí)施例為用戶設(shè)置不同的抓取優(yōu)先級(jí),根據(jù)用戶的抓取優(yōu)先級(jí)確定用戶是否屬于當(dāng)前所需抓取的用戶。例如,可以按照優(yōu)先級(jí)從高到底設(shè)置三種等級(jí)的優(yōu)先級(jí)第一優(yōu)先級(jí)(高優(yōu)先級(jí))、第二優(yōu)先級(jí)(正常優(yōu)先級(jí))和第三優(yōu)先級(jí)(低優(yōu)先級(jí))。
若當(dāng)前所輪詢用戶的抓取優(yōu)先級(jí)為第一優(yōu)先級(jí)吋,確定該用戶屬于當(dāng)前所需抓取的用戶,即每當(dāng)輪詢到第一優(yōu)先級(jí)的用戶時(shí),都對(duì)該用戶的用戶動(dòng)態(tài)進(jìn)行實(shí)時(shí)抓??;若當(dāng)前所輪詢用戶的抓取優(yōu)先級(jí)為第二優(yōu)先級(jí)時(shí),判斷當(dāng)前所輪詢用戶的上一次抓取的時(shí)間距離當(dāng)前時(shí)刻的間隔是否大于第二時(shí)間閾值(如是否大于5分鐘),若是,確定該用戶屬于當(dāng)前所需抓取的用戶,若否,該用戶不屬于當(dāng)前所需抓取的用戶,繼續(xù)執(zhí)行輪詢,即對(duì)于第二優(yōu)先級(jí)的用戶,每隔第二時(shí)間閾值(如5分鐘)抓取一次;若當(dāng)前所輪詢用戶的抓取優(yōu)先級(jí)為第三優(yōu)先級(jí)時(shí),判斷當(dāng)前所輪詢用戶的上一次抓取的時(shí)間距離當(dāng)前時(shí)刻的間隔是否大于第三時(shí)間閾值(如是否大于10分鐘),若是,確定該用戶屬于當(dāng)前所需抓取的用戶,若否,該用戶不屬于當(dāng)前所需抓取的用戶,繼續(xù)執(zhí)行輪詢,即對(duì)于第三優(yōu)先級(jí)的用戶,每隔第三時(shí)間閾值(如10分鐘)抓取一次。優(yōu)先級(jí)跳躍本實(shí)施例參考用戶在本開(kāi)放平臺(tái)和第三方開(kāi)放平臺(tái)的活躍度,通過(guò)如下方式設(shè)置抓取優(yōu)先級(jí)設(shè)置一、當(dāng)用戶為剛加入輪詢隊(duì)列的新用戶時(shí),將該用戶的抓取優(yōu)先級(jí)設(shè)置為第ー優(yōu)先級(jí)。將新綁定用戶的抓取優(yōu)先級(jí)設(shè)置為高優(yōu)先級(jí),且可以將新用戶的用戶標(biāo)識(shí)添加至輪詢隊(duì)列的隊(duì)頭。設(shè)置ニ、當(dāng)已有用戶為第三方開(kāi)放平臺(tái)的綁定用戶且為所關(guān)注開(kāi)放平臺(tái)的在線用戶時(shí),將該用戶的抓取優(yōu)先級(jí)設(shè)置為第一優(yōu)先級(jí)。當(dāng)用戶為本開(kāi)放平臺(tái)的在線用戶時(shí),認(rèn)為 該用戶在本開(kāi)放平臺(tái)的活躍度較高,將該用戶加入高優(yōu)先級(jí)并保持直至該用戶離線為止。設(shè)置三、當(dāng)已有用戶不是所關(guān)注開(kāi)放平臺(tái)的在線用戶吋,判斷該用戶的上一次抓取的動(dòng)態(tài)數(shù)量是否大于活躍度閾值(如大于2條),若是,將該用戶的抓取優(yōu)先級(jí)設(shè)置為第二優(yōu)先級(jí),若否,將該用戶的抓取優(yōu)先級(jí)設(shè)置為第三優(yōu)先級(jí)。當(dāng)上一次在第三方開(kāi)放平臺(tái)抓取用戶的用戶動(dòng)態(tài)條數(shù)較多時(shí),認(rèn)為該用戶在第三方開(kāi)放平臺(tái)(外站)的活躍度較高,將滿足這ー條件的用戶加入正常優(yōu)先級(jí)。設(shè)置四、當(dāng)用戶不滿足上述四種設(shè)置的條件吋,將用戶的優(yōu)先級(jí)設(shè)置為第三優(yōu)先級(jí)(低優(yōu)先級(jí))。上述劃分為三種等級(jí)的優(yōu)先級(jí),設(shè)定為5分鐘的第二時(shí)間閾值、設(shè)定為10分鐘的第三時(shí)間閾值僅是示例性說(shuō)明,抓取引擎功能可以根據(jù)抓取要求對(duì)具體的數(shù)值進(jìn)行調(diào)整。通過(guò)上述四種設(shè)置方式,可以使用戶的優(yōu)先級(jí)在不同的等級(jí)之間跳躍,從而針對(duì)不同的合作方或者同一合作方的不同場(chǎng)景進(jìn)行抓取調(diào)度的優(yōu)化。102:利用當(dāng)前所需抓取的用戶的授權(quán)信息,通過(guò)調(diào)用第三方開(kāi)放平臺(tái)的應(yīng)用程序接ロ(API),在第三方開(kāi)放平臺(tái)抓取相應(yīng)的用戶動(dòng)態(tài)。參見(jiàn)圖2,通過(guò)上述步驟101確定下當(dāng)前所需抓取的用戶后,抓取引擎功能調(diào)用微博推送進(jìn)程根據(jù)所需抓取的用戶的授權(quán)信息,通過(guò)微博開(kāi)放平臺(tái)的接ロ,訪問(wèn)微博開(kāi)放平臺(tái)服務(wù)器,從微博開(kāi)放平臺(tái)服務(wù)器抓取用戶的用戶動(dòng)態(tài)。一個(gè)或多個(gè)微博抓取進(jìn)程接收第三方開(kāi)放平臺(tái)返回的用戶動(dòng)態(tài),并傳遞至動(dòng)態(tài)處理服務(wù)器(處理目的端)進(jìn)行深度處理。參見(jiàn)圖5,顯示了抓取引擎(Engine)的邏輯架構(gòu),抓取引擎中運(yùn)行著針對(duì)ー個(gè)合作方(Partner)所部署的進(jìn)程組(Processors),優(yōu)先級(jí)調(diào)度、優(yōu)先級(jí)跳躍和同步接ロ抽象為邏輯架構(gòu)中的核心模塊,對(duì)邏輯架構(gòu)中的各單元說(shuō)明如下加載器(D Loader):主要完成將合作方的綁定用戶的授權(quán)信息從數(shù)據(jù)庫(kù)中加載到Redis緩存服務(wù)器中,以便快速輪詢服務(wù);引導(dǎo)器(Director):提供ー個(gè)函數(shù)庫(kù)以支持整個(gè)系統(tǒng)中其他模塊的運(yùn)行,并完成新綁定用戶插入輪詢隊(duì)列和推送動(dòng)態(tài)到合作方的隊(duì)列(也就是下行動(dòng)態(tài)隊(duì)列);輪詢隊(duì)列(User Q):存儲(chǔ)用戶標(biāo)識(shí)的輪詢隊(duì)列;上行動(dòng)態(tài)隊(duì)列(Mo Feed Q):用于將抓取到的用戶動(dòng)態(tài)輸出到處理目的端,即動(dòng)態(tài)處理器(Feed Worker);動(dòng)態(tài)處理器(Feed Worker):用于處理抓取到的用戶動(dòng)態(tài),也就是本系統(tǒng)對(duì)于抓取到的動(dòng)態(tài)的輸出目的地;用來(lái)完成對(duì)于抓取到的動(dòng)態(tài)的后續(xù)處理;下行動(dòng)態(tài)隊(duì)列(Mt Feed Q):用于將本開(kāi)放平臺(tái)產(chǎn)生的動(dòng)態(tài)同步給合作方的開(kāi)放平臺(tái),本實(shí)施例主要對(duì)上行動(dòng)態(tài)隊(duì)列的情況進(jìn)行了說(shuō)明,下行的處理與上行的處理相同;優(yōu)先級(jí)調(diào)度(Dispatch Policy):完成針對(duì)不同優(yōu)先級(jí)用戶的調(diào)度;優(yōu)先級(jí)跳躍(PrioSkipper):優(yōu)先級(jí)調(diào)整模塊,針對(duì)不同用戶調(diào)整用戶的優(yōu)先級(jí);同步接ロ抽象(SyncProvider):將第三方開(kāi)放平臺(tái)的API封裝成本開(kāi)放平臺(tái)可以使用的接ロ函數(shù),包括協(xié)議轉(zhuǎn)換,請(qǐng)求簽名,同步或異步調(diào)用等,通過(guò)調(diào)用本開(kāi)放平臺(tái)的函數(shù)即可實(shí)現(xiàn)對(duì)第三方開(kāi)放平臺(tái)的API的調(diào)用。并且,可以針對(duì)不同的合作方封裝不同的接 ロ函數(shù),實(shí)現(xiàn)可擴(kuò)展性的開(kāi)發(fā)模式。即所述接ロ函數(shù)為將第三方開(kāi)放平臺(tái)的應(yīng)用程序接ロ(API)針對(duì)本開(kāi)放平臺(tái)可使用的形式封裝得到的。優(yōu)選的,上述抓取引擎功能中的加載器和核心模塊都可以采用插件方式實(shí)現(xiàn)。由上所述,本發(fā)明實(shí)施例至少能達(dá)到如下有益效果I)解決了百萬(wàn)級(jí)綁定用戶的抓取問(wèn)題;2)通過(guò)用戶優(yōu)先級(jí)的調(diào)度算法避免了大量無(wú)效信息的抓取并同時(shí)滿足用戶的實(shí)時(shí)性需求,具有高效的抓取性能;3)系統(tǒng)可伸縮強(qiáng)只需針對(duì)不同的開(kāi)放平臺(tái)實(shí)現(xiàn)不同的同步接ロ抽象,可實(shí)現(xiàn)對(duì)不同合作方的信息抓取,針對(duì)不同的合作方可以配備不同的進(jìn)程數(shù)和隊(duì)列數(shù)以避免相互影響;4)能夠同時(shí)將內(nèi)容較小的合作方的用戶抓取統(tǒng)ー配置到一組進(jìn)程中,節(jié)省了系統(tǒng)資源;5)以插件形式提供調(diào)度算法,以便針對(duì)不同的合作方進(jìn)行抓取調(diào)度調(diào)優(yōu);6)通過(guò)使用隊(duì)列方式,可以保證必要的緩沖和數(shù)據(jù)不丟失。本發(fā)明實(shí)施例三還提供了ー種抓取引擎裝置,參見(jiàn)圖6,所述抓取引擎裝置包括抓取緩存器61,用于建立用戶的用戶標(biāo)識(shí)和用戶信息之間的對(duì)應(yīng)關(guān)系,利用輪詢隊(duì)列存儲(chǔ)所述用戶標(biāo)識(shí),井根據(jù)所述對(duì)應(yīng)關(guān)系存儲(chǔ)所述用戶信息;抓取調(diào)度單元62,用于對(duì)所述輪詢隊(duì)列進(jìn)行輪詢,在輪詢隊(duì)列中利用用戶標(biāo)識(shí)提取用戶信息,并根據(jù)抓取調(diào)度策略和用戶信息確定當(dāng)前所需抓取的用戶,其中,所述用戶信息包括用戶綁定在第三方開(kāi)放平臺(tái)上的授權(quán)信息;抓取執(zhí)行單元63,用于利用當(dāng)前所需抓取的用戶的授權(quán)信息,通過(guò)調(diào)用第三方開(kāi)放平臺(tái)的應(yīng)用程序接ロ(API ),在第三方開(kāi)放平臺(tái)抓取相應(yīng)的用戶動(dòng)態(tài)。具體的,所述抓取緩存器61為Redis服務(wù)器,該Redis服務(wù)器存儲(chǔ)的用戶信息還包括抓取上下文信息,該抓取上下文信息包括抓取優(yōu)先級(jí)、上一次抓取的動(dòng)態(tài)數(shù)量、上一次抓取的時(shí)間和抓取偏移量,所述抓取偏移量指不上一次抓取的用戶動(dòng)態(tài)的位置;所述Redis服務(wù)器所建立的用戶標(biāo)識(shí)和用戶信息之間的對(duì)應(yīng)關(guān)系為哈希關(guān)系。進(jìn)ー步的,所述抓取調(diào)度策略包括根據(jù)用戶的抓取優(yōu)先級(jí)確定用戶是否屬于當(dāng)前所需抓取的用戶,所述抓取調(diào)度單元62包括優(yōu)先級(jí)調(diào)度模塊,所述優(yōu)先級(jí)調(diào)度模塊,用于當(dāng)根據(jù)用戶信息獲知當(dāng)前所輪詢用戶的抓取優(yōu)先級(jí)為第一優(yōu)先級(jí)吋,確定該用戶屬于當(dāng)前所需抓取的用戶;當(dāng)根據(jù)用戶信息獲知當(dāng)前所輪詢用戶的抓取優(yōu)先級(jí)為第二優(yōu)先級(jí)時(shí),判斷當(dāng)前所輪詢用戶的上一次抓取的時(shí)間距離當(dāng)前時(shí)刻的間隔是否大于第二時(shí)間閾值,若是,確定該用戶屬于當(dāng)前所需抓取的用戶,若否,該用戶不屬于當(dāng)前所需抓取的用戶,繼續(xù)執(zhí)行輪詢;當(dāng)根據(jù)用戶信息獲知當(dāng)前所輪詢用戶的抓取優(yōu)先級(jí)為第三優(yōu)先級(jí)時(shí),判斷當(dāng)前所輪詢用戶的上一次抓取的時(shí)間距離當(dāng)前時(shí)刻的間隔是否大于第三時(shí)間閾值,若是,確定該用戶屬于當(dāng)前所需抓取的用戶,若否,該用戶不屬于當(dāng)前所需抓取的用戶,繼續(xù)執(zhí)行輪詢;其中,所述第一優(yōu)先級(jí)大于所述第二優(yōu)先級(jí),所述第二優(yōu)先級(jí)大于所述第三優(yōu)先級(jí)。所述優(yōu)先級(jí)跳躍模塊,用于通過(guò)如下方式設(shè)置抓取優(yōu)先級(jí)當(dāng)用戶為剛加入輪詢隊(duì)列的新用戶時(shí),將該用戶的抓取優(yōu)先級(jí)設(shè)置為第一優(yōu)先級(jí);當(dāng)已有用戶為第三方開(kāi)放平臺(tái)的綁定用戶且為所關(guān)注開(kāi)放平臺(tái)的在線用戶時(shí),將該用戶的抓取優(yōu)先級(jí)設(shè)置為第一優(yōu)先級(jí);當(dāng)已有用戶不是所關(guān)注開(kāi)放平臺(tái)的在線用戶吋,判斷該用戶的上一次抓取的動(dòng)態(tài)數(shù)量是否大于活躍度閾值,若是,將該用戶的抓取優(yōu)先級(jí)設(shè)置為第二優(yōu)先級(jí),若否,將該用戶的抓取優(yōu)先級(jí)設(shè)置為第三優(yōu)先級(jí)。進(jìn)ー步的,所述抓取執(zhí)行單元63包括同步接ロ抽象模塊,用于當(dāng)需要抓取多個(gè)第三方開(kāi)放平臺(tái)中的用戶動(dòng)態(tài)時(shí),為每ー個(gè)第三方開(kāi)放平臺(tái)封裝一個(gè)接ロ函數(shù),以及,通過(guò)調(diào)用各接ロ函數(shù),來(lái)抓取相應(yīng)的用戶動(dòng)態(tài)。所述接ロ函數(shù)為將第三方開(kāi)放平臺(tái)的應(yīng)用程序接ロ(API)針對(duì)本開(kāi)放平臺(tái)可使用的形式封裝得到的本發(fā)明裝置實(shí)施例中各單元和模塊的具體工作方式參見(jiàn)本發(fā)明的方法實(shí)施例。由上所述,本發(fā)明實(shí)施例通過(guò)在開(kāi)放平臺(tái)已經(jīng)建立起來(lái)的用戶綁定關(guān)系來(lái)實(shí)現(xiàn)對(duì)開(kāi)放平臺(tái)中用戶動(dòng)態(tài)的抓取,解決了百萬(wàn)級(jí)綁定用戶的用戶動(dòng)態(tài)抓取問(wèn)題。并且,本方案通過(guò)抓取調(diào)度策略和用戶信息對(duì)所需抓取的用戶進(jìn)行篩選,能夠在保證實(shí)時(shí)性的同時(shí),降低 對(duì)性能的要求,且避免了抓取時(shí)出現(xiàn)過(guò)多無(wú)效信息,提高了數(shù)據(jù)抓取的效率。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種抓取第三方開(kāi)放平臺(tái)中用戶動(dòng)態(tài)的方法,其特征在于,建立用戶的用戶標(biāo)識(shí)和用戶信息之間的對(duì)應(yīng)關(guān)系,利用輪詢隊(duì)列存儲(chǔ)所述用戶標(biāo)識(shí),井根據(jù)所述對(duì)應(yīng)關(guān)系存儲(chǔ)所述用戶信息,所述方法還包括 對(duì)所述輪詢隊(duì)列進(jìn)行輪詢,在輪詢隊(duì)列中利用用戶標(biāo)識(shí)提取用戶信息,并根據(jù)抓取調(diào)度策略和用戶信息確定當(dāng)前所需抓取的用戶,其中,所述用戶信息包括用戶綁定在第三方開(kāi)放平臺(tái)上的授權(quán)信息; 利用當(dāng)前所需抓取的用戶的授權(quán)信息,通過(guò)調(diào)用第三方開(kāi)放平臺(tái)的應(yīng)用程序接ロ API,在第三方開(kāi)放平臺(tái)抓取相應(yīng)的用戶動(dòng)態(tài)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述用戶信息還包括抓取上下文信息,該抓取上下文信息包括抓取優(yōu)先級(jí)、上一次抓取的動(dòng)態(tài)數(shù)量、上一次抓取的時(shí)間和抓取偏移量,所述抓取偏移量指示上一次抓取的用戶動(dòng)態(tài)的位置; 所建立的用戶標(biāo)識(shí)和用戶信息之間的對(duì)應(yīng)關(guān)系為哈希關(guān)系。
3.根據(jù)權(quán)利要求2所述的方法,其特征在干,所述抓取調(diào)度策略包括根據(jù)用戶的抓取優(yōu)先級(jí)確定用戶是否屬于當(dāng)前所需抓取的用戶,所述根據(jù)抓取調(diào)度策略和用戶信息確定當(dāng)前所需抓取的用戶包括 當(dāng)根據(jù)用戶信息獲知當(dāng)前所輪詢用戶的抓取優(yōu)先級(jí)為第一優(yōu)先級(jí)吋,確定該用戶屬于當(dāng)前所需抓取的用戶; 當(dāng)根據(jù)用戶信息獲知當(dāng)前所輪詢用戶的抓取優(yōu)先級(jí)為第二優(yōu)先級(jí)時(shí),判斷當(dāng)前所輪詢用戶的上一次抓取的時(shí)間距離當(dāng)前時(shí)刻的間隔是否大于第二時(shí)間閾值,若是,確定該用戶屬于當(dāng)前所需抓取的用戶,若否,該用戶不屬于當(dāng)前所需抓取的用戶,繼續(xù)執(zhí)行輪詢; 當(dāng)根據(jù)用戶信息獲知當(dāng)前所輪詢用戶的抓取優(yōu)先級(jí)為第三優(yōu)先級(jí)時(shí),判斷當(dāng)前所輪詢用戶的上一次抓取的時(shí)間距離當(dāng)前時(shí)刻的間隔是否大于第三時(shí)間閾值,若是,確定該用戶屬于當(dāng)前所需抓取的用戶,若否,該用戶不屬于當(dāng)前所需抓取的用戶,繼續(xù)執(zhí)行輪詢; 其中,所述第一優(yōu)先級(jí)大于所述第二優(yōu)先級(jí),所述第二優(yōu)先級(jí)大于所述第三優(yōu)先級(jí)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,通過(guò)如下方式設(shè)置抓取優(yōu)先級(jí) 當(dāng)用戶為剛加入輪詢隊(duì)列的新用戶時(shí),將該用戶的抓取優(yōu)先級(jí)設(shè)置為第一優(yōu)先級(jí); 當(dāng)已有用戶為第三方開(kāi)放平臺(tái)的綁定用戶且為所關(guān)注開(kāi)放平臺(tái)的在線用戶時(shí),將該用戶的抓取優(yōu)先級(jí)設(shè)置為第一優(yōu)先級(jí); 當(dāng)已有用戶不是所關(guān)注開(kāi)放平臺(tái)的在線用戶時(shí),判斷該用戶的上一次抓取的動(dòng)態(tài)數(shù)量是否大于活躍度閾值,若是,將該用戶的抓取優(yōu)先級(jí)設(shè)置為第二優(yōu)先級(jí),若否,將該用戶的抓取優(yōu)先級(jí)設(shè)置為第三優(yōu)先級(jí)。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對(duì)所述輪詢隊(duì)列進(jìn)行輪詢,在輪詢隊(duì)列中利用用戶標(biāo)識(shí)提取用戶信息,并根據(jù)抓取調(diào)度策略和用戶信息確定當(dāng)前所需抓取的用戶包括 從隊(duì)頭開(kāi)始對(duì)所述輪詢隊(duì)列中的用戶標(biāo)識(shí)進(jìn)行輪詢,根據(jù)當(dāng)前輪詢的用戶標(biāo)識(shí)提取用戶信息,根據(jù)抓取調(diào)度策略和提取到的用戶信息,確定是否需要對(duì)該用戶的用戶動(dòng)態(tài)進(jìn)行抓取,是則對(duì)該用戶的用戶動(dòng)態(tài)進(jìn)行抓取操作,并在抓取操作后將輪詢后的該用戶標(biāo)識(shí)歸還至隊(duì)尾,繼續(xù)從隊(duì)頭開(kāi)始輪詢;否則直接將該用戶標(biāo)識(shí)歸還至隊(duì)尾,繼續(xù)從隊(duì)頭開(kāi)始輪詢。
6.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述方法還包括 當(dāng)需要抓取多個(gè)第三方開(kāi)放平臺(tái)中的用戶動(dòng)態(tài)時(shí),為每ー個(gè)第三方開(kāi)放平臺(tái)的綁定用戶設(shè)置ー個(gè)輪詢隊(duì)列并為姆ー個(gè)第三方開(kāi)放平臺(tái)封裝一個(gè)接ロ函數(shù),所述接ロ函數(shù)為將第三方開(kāi)放平臺(tái)的應(yīng)用程序接ロ API針對(duì)本開(kāi)放平臺(tái)可使用的形式封裝得到的; 通過(guò)分別對(duì)各輪詢隊(duì)列進(jìn)行輪詢以及調(diào)用各接ロ函數(shù),來(lái)抓取相應(yīng)的用戶動(dòng)態(tài)。
7.ー種抓取引擎裝置,其特征在于,所述抓取引擎裝置包括 抓取緩存器,用于建立用戶的用戶標(biāo)識(shí)和用戶信息之間的對(duì)應(yīng)關(guān)系,利用輪詢隊(duì)列存儲(chǔ)所述用戶標(biāo)識(shí),井根據(jù)所述對(duì)應(yīng)關(guān)系存儲(chǔ)所述用戶信息; 抓取調(diào)度單元,用于對(duì)所述輪詢隊(duì)列進(jìn)行輪詢,在輪詢隊(duì)列中利用用戶標(biāo)識(shí)提取用戶信息,并根據(jù)抓取調(diào)度策略和用戶信息確定當(dāng)前所需抓取的用戶,其中,所述用戶信息包括用戶綁定在第三方開(kāi)放平臺(tái)上的授權(quán)信息; 抓取執(zhí)行單元,用于利用當(dāng)前所需抓取的用戶的授權(quán)信息,通過(guò)調(diào)用第三方開(kāi)放平臺(tái)的應(yīng)用程序接ロ API,在第三方開(kāi)放平臺(tái)抓取相應(yīng)的用戶動(dòng)態(tài)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述抓取緩存器為Redis服務(wù)器, 所述Redis服務(wù)器存儲(chǔ)的用戶信息還包括抓取上下文信息,該抓取上下文信息包括抓取優(yōu)先級(jí)、上一次抓取的動(dòng)態(tài)數(shù)量、上一次抓取的時(shí)間和抓取偏移量,所述抓取偏移量指示上一次抓取的用戶動(dòng)態(tài)的位置; 所述Redis服務(wù)器所建立的用戶標(biāo)識(shí)和用戶信息之間的對(duì)應(yīng)關(guān)系為哈希關(guān)系。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在干,所述抓取調(diào)度策略包括根據(jù)用戶的抓取優(yōu)先級(jí)確定用戶是否屬于當(dāng)前所需抓取的用戶,所述抓取調(diào)度單元包括優(yōu)先級(jí)調(diào)度模塊和優(yōu)先級(jí)跳躍模塊, 所述優(yōu)先級(jí)調(diào)度模塊,用于當(dāng)根據(jù)用戶信息獲知當(dāng)前所輪詢用戶的抓取優(yōu)先級(jí)為第一優(yōu)先級(jí)吋,確定該用戶屬于當(dāng)前所需抓取的用戶;當(dāng)根據(jù)用戶信息獲知當(dāng)前所輪詢用戶的抓取優(yōu)先級(jí)為第二優(yōu)先級(jí)時(shí),判斷當(dāng)前所輪詢用戶的上一次抓取的時(shí)間距離當(dāng)前時(shí)刻的間隔是否大于第二時(shí)間閾值,若是,確定該用戶屬于當(dāng)前所需抓取的用戶,若否,該用戶不屬于當(dāng)前所需抓取的用戶,繼續(xù)執(zhí)行輪詢;當(dāng)根據(jù)用戶信息獲知當(dāng)前所輪詢用戶的抓取優(yōu)先級(jí)為第三優(yōu)先級(jí)時(shí),判斷當(dāng)前所輪詢用戶的上一次抓取的時(shí)間距離當(dāng)前時(shí)刻的間隔是否大于第三時(shí)間閾值,若是,確定該用戶屬于當(dāng)前所需抓取的用戶,若否,該用戶不屬于當(dāng)前所需抓取的用戶,繼續(xù)執(zhí)行輪詢;其中,所述第一優(yōu)先級(jí)大于所述第二優(yōu)先級(jí),所述第二優(yōu)先級(jí)大于所述第三優(yōu)先級(jí); 所述優(yōu)先級(jí)跳躍模塊,用于通過(guò)如下方式設(shè)置抓取優(yōu)先級(jí) 當(dāng)用戶為剛加入輪詢隊(duì)列的新用戶時(shí),將該用戶的抓取優(yōu)先級(jí)設(shè)置為第一優(yōu)先級(jí);當(dāng)已有用戶為第三方開(kāi)放平臺(tái)的綁定用戶且為所關(guān)注開(kāi)放平臺(tái)的在線用戶時(shí),將該用戶的抓取優(yōu)先級(jí)設(shè)置為第一優(yōu)先級(jí);當(dāng)已有用戶不是所關(guān)注開(kāi)放平臺(tái)的在線用戶吋,判斷該用戶的上一次抓取的動(dòng)態(tài)數(shù)量是否大于活躍度閾值,若是,將該用戶的抓取優(yōu)先級(jí)設(shè)置為第二優(yōu)先級(jí),若否,將該用戶的抓取優(yōu)先級(jí)設(shè)置為第三優(yōu)先級(jí)。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述抓取執(zhí)行單元包括同步接ロ抽象模塊,用于當(dāng)需要抓取多個(gè)第三方開(kāi)放平臺(tái)中的用戶動(dòng)態(tài)時(shí),為每ー個(gè)第三方開(kāi)放平臺(tái)封裝一個(gè)接ロ函數(shù),所述接ロ函數(shù)為將第三方開(kāi)放平臺(tái)的應(yīng)用程序接ロ API針對(duì)本開(kāi)放平臺(tái)可使用的形式封 裝得到的,以及,通過(guò)調(diào)用各接ロ函數(shù),來(lái)抓取相應(yīng)的用戶動(dòng)態(tài)。
全文摘要
本發(fā)明公開(kāi)一種抓取第三方開(kāi)放平臺(tái)中用戶動(dòng)態(tài)的方法和裝置。本發(fā)明實(shí)施例提供的一種抓取第三方開(kāi)放平臺(tái)中用戶動(dòng)態(tài)的方法包括建立用戶的用戶標(biāo)識(shí)和用戶信息之間的對(duì)應(yīng)關(guān)系,利用輪詢隊(duì)列存儲(chǔ)用戶標(biāo)識(shí),并根據(jù)所述對(duì)應(yīng)關(guān)系存儲(chǔ)所述用戶信息,對(duì)輪詢隊(duì)列進(jìn)行輪詢,在輪詢隊(duì)列中利用用戶標(biāo)識(shí)提取用戶信息,并根據(jù)抓取調(diào)度策略和用戶信息確定當(dāng)前所需抓取的用戶,其中,所述用戶信息包括用戶綁定在第三方開(kāi)放平臺(tái)上的授權(quán)信息;利用當(dāng)前所需抓取的用戶的授權(quán)信息,通過(guò)調(diào)用第三方開(kāi)放平臺(tái)的API,在第三方開(kāi)放平臺(tái)抓取相應(yīng)的用戶動(dòng)態(tài)。本方案能夠在保證實(shí)時(shí)性的同時(shí),降低對(duì)性能的要求,且避免了抓取時(shí)出現(xiàn)過(guò)多無(wú)效信息,提高了數(shù)據(jù)抓取的效率。
文檔編號(hào)H04L29/08GK102694847SQ201210135768
公開(kāi)日2012年9月26日 申請(qǐng)日期2012年5月3日 優(yōu)先權(quán)日2012年5月3日
發(fā)明者國(guó)興旺 申請(qǐng)人:北京新媒傳信科技有限公司