一種數(shù)據(jù)更新方法及web服務(wù)器的制造方法
【專利摘要】本發(fā)明實(shí)施例公開了一種數(shù)據(jù)更新方法及web服務(wù)器。本發(fā)明實(shí)施例方法包括:若web服務(wù)器接收到用戶的數(shù)據(jù)更新請求,確定用戶所屬的極大團(tuán),極大團(tuán)中的用戶兩兩互為好友;web服務(wù)器向極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息;web服務(wù)器接收極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù),用于實(shí)現(xiàn)請求數(shù)據(jù)更新的用戶的數(shù)據(jù)更新,因?qū)υ撚脩羲鶎俚臉O大團(tuán)中的N個(gè)好友,只需要發(fā)送一個(gè)數(shù)據(jù)查詢消息或者進(jìn)行一次數(shù)據(jù)傳送,能夠有效地減少web服務(wù)器在數(shù)據(jù)更新或者數(shù)據(jù)上傳中占用的資源,有效地節(jié)約系統(tǒng)資源。
【專利說明】一種數(shù)據(jù)更新方法及web服務(wù)器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種數(shù)據(jù)更新方法及web服務(wù)器。
【背景技術(shù)】
[0002]近幾年,社交網(wǎng)絡(luò)得到了快速的發(fā)展,并日益成為人們?nèi)粘I畹囊徊糠?。美國InSites Consulting公司發(fā)布的2011年全球社交媒體報(bào)告顯示:目前全球有超過10億人在使用社交網(wǎng)絡(luò),占網(wǎng)民人數(shù)的大約70%。并且超過6億用戶每天都在使用社交網(wǎng)絡(luò)。同時(shí),另一項(xiàng)資料顯示,全球最大的社交網(wǎng)Facebook(臉譜)在今年6月的全球訪問量為7.342億,目前注冊用戶數(shù)超過7.5億,覆蓋了全球總?cè)丝诘?0%。對于這種大型系統(tǒng),如何進(jìn)行部署和維護(hù)直接影響了系統(tǒng)的性能、穩(wěn)定性以及用戶體驗(yàn),所以對社交網(wǎng)絡(luò)內(nèi)容分發(fā)機(jī)制的研究具有很重要的意義。
[0003]在社交網(wǎng)絡(luò)中,用戶會頻繁獲取好友用戶的內(nèi)容更新。比如在人人網(wǎng)中,用戶會獲取好友的“新鮮事”,“新鮮事”可以包括狀態(tài)更新、圖片、文檔、視頻等。用戶獲取好友內(nèi)容更新的流程通常如下:
[0004]I)用戶登錄社交網(wǎng)站的頁面或客戶端,系統(tǒng)自動或用戶手動(如點(diǎn)擊“更新”按鈕等)向web服務(wù)器發(fā)送更新請求;
[0005]2) web服務(wù)器得到請求后向該用戶好友所在的數(shù)據(jù)庫服務(wù)器發(fā)送查詢(query)消息;
[0006]3)web服務(wù)器獲取由數(shù)據(jù)庫服務(wù)器查詢到的內(nèi)容更新,并反回給用戶終端,使得用戶可以在網(wǎng)站頁面上瀏覽好友的內(nèi)容更新。
[0007]由于用戶的數(shù)據(jù)保存在數(shù)據(jù)庫中,隨著數(shù)據(jù)量增大、訪問集中,就會出現(xiàn)數(shù)據(jù)庫負(fù)載加重、響應(yīng)惡化的問題,并由此帶來內(nèi)容顯示延時(shí)等不佳的用戶體驗(yàn)。因此,在實(shí)際部署中,通常使用緩存技術(shù)來解決用戶數(shù)據(jù)庫瓶頸。緩存服務(wù)器將數(shù)據(jù)庫中的內(nèi)容緩存在內(nèi)存中,在大多數(shù)情況下,web服務(wù)器只需要訪問緩存服務(wù)器即可獲得查詢結(jié)果,只有當(dāng)查詢的內(nèi)容未被緩存時(shí),才會去查詢數(shù)據(jù)庫服務(wù)器。又由于緩存服務(wù)器中的數(shù)據(jù)是保存在內(nèi)存中,可以提供比訪問保存在本地硬盤中的數(shù)據(jù)庫快幾個(gè)數(shù)量級的訪問速度,所以采用緩存方案可以減少數(shù)據(jù)庫的訪問次數(shù),提高查詢的響應(yīng)速度,為用戶帶來更好的用戶體驗(yàn)。
[0008]目前,絕大多數(shù)的大規(guī)模社交網(wǎng)站都采用了緩存方案,facebook和mixi (日本最大的社交網(wǎng)站)都采用memcached搭建其緩存服務(wù)器集群。memcached是一個(gè)高性能的分布式內(nèi)存對象緩存系統(tǒng),用于動態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫負(fù)載。它通過在內(nèi)存中緩存數(shù)據(jù)和對象來減少讀取數(shù)據(jù)庫的次數(shù),從而提供動態(tài)、數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度。
[0009]其中,基于memcached的“pull-on-demand”機(jī)制是在用戶查詢好友內(nèi)容更新時(shí),向web服務(wù)器發(fā)送請求,web服務(wù)器先從該用戶社會關(guān)系緩存獲取該用戶的好友信息,再向該用戶所有好友所在的緩存服務(wù)器發(fā)送查詢消息,在用戶的好友的數(shù)據(jù)分步在N各緩存服務(wù)器中時(shí),web服務(wù)器就得發(fā)送N條查詢消息,當(dāng)好友數(shù)據(jù)量很大且內(nèi)容更新頻繁時(shí),該N值將很大,導(dǎo)致查詢的開銷很大,占用大量系統(tǒng)資源;[0010]其中,基于memcached“push-on-change”機(jī)制是是一旦某個(gè)用戶進(jìn)行了內(nèi)容更新,該用戶將主動更新的內(nèi)容推送到所有好友的內(nèi)容緩存上,然而,若該用戶有N個(gè)好友,就要推送N次,當(dāng)用戶的好友數(shù)目眾多時(shí),將占用大量的系統(tǒng)資源,給后端服務(wù)器帶來很大的負(fù)載。
【發(fā)明內(nèi)容】
[0011]本發(fā)明實(shí)施例提供了一種數(shù)據(jù)更新方法及web服務(wù)器,web服務(wù)器在接收到用戶的數(shù)據(jù)更新請求或者用戶當(dāng)前的上傳數(shù)據(jù)之后,通過向用戶所屬的極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息或者用戶當(dāng)前的上傳數(shù)據(jù),以實(shí)現(xiàn)數(shù)據(jù)更新或者數(shù)據(jù)上傳,使得對該用戶所屬的極大團(tuán)中的N個(gè)好友,只需要發(fā)送一個(gè)數(shù)據(jù)查詢消息或者進(jìn)行一次數(shù)據(jù)傳送,能夠有效地減少web服務(wù)器在數(shù)據(jù)更新或者數(shù)據(jù)上傳中占用的資源,有效地節(jié)約系統(tǒng)資源。
[0012]本發(fā)明一方面提供了一種數(shù)據(jù)更新方法,包括:
[0013]若web服務(wù)器接收到用戶的數(shù)據(jù)更新請求,確定所述用戶所屬的極大團(tuán),所述極大團(tuán)中的用戶兩兩互為好友;
[0014]所述web服務(wù)器向所述極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息;
[0015]所述web服務(wù)器接收所述極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù),用于實(shí)現(xiàn)請求數(shù)據(jù)更新的所述用戶的數(shù)據(jù)更新。
[0016]在第一種可能的實(shí)現(xiàn)方式中,更新數(shù)據(jù)中包含所述用戶的好友最后一次上傳數(shù)據(jù)的版本號。
[0017]結(jié)合第一方面或第一方面第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述接收所述極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù)之后還包括:
[0018]若所述更新數(shù)據(jù)中所述用戶的好友包含至少兩份更新數(shù)據(jù),則從所述至少兩份更新數(shù)據(jù)中選擇并保存一份版本號最新的更新數(shù)據(jù),丟棄其他版本號的更新數(shù)據(jù)。
[0019]結(jié)合第一方面或者第一方面第一種可能的實(shí)現(xiàn)方式或者第一方面第二可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述數(shù)據(jù)更新方法還包括:
[0020]獲取所述用戶的好友集合;
[0021]根據(jù)所述用戶所屬的極大團(tuán)及所述用戶的好友集合確定所述用戶的非極大團(tuán)好友集合,所述非極大團(tuán)好友集合包含在所述用戶的好友集合中且不在所述用戶所屬的極大團(tuán)中的好友集合;
[0022]若所述非極大團(tuán)好友集合不是空集,則向所述非極大團(tuán)好友集合中的好友對應(yīng)的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息;
[0023]接收所述用戶緩存服務(wù)器發(fā)送的的更新數(shù)據(jù)。
[0024]結(jié)合第一方面第三種可能的實(shí)現(xiàn)方式中,所述數(shù)據(jù)查詢消息中包含所述用戶上一次請求更新的時(shí)間,使得接收到所述數(shù)據(jù)查詢消息的極大團(tuán)緩存服務(wù)器和/或所述用戶緩存服務(wù)器根據(jù)所述用戶上一次請求更新的時(shí)間向web服務(wù)器發(fā)送更新數(shù)據(jù)。
[0025]本發(fā)明第二方面提供了一種數(shù)據(jù)上傳方法,包括:
[0026]若web服務(wù)器接收到用戶當(dāng)前上傳的數(shù)據(jù),確定所述用戶所屬的極大團(tuán),所述極大團(tuán)中的用戶兩兩互為好友;
[0027]向所述用戶所屬的極大團(tuán)對應(yīng)的極大團(tuán)緩存服務(wù)器發(fā)送所述用戶當(dāng)前上傳的數(shù)據(jù),使得所述極大團(tuán)緩存服務(wù)器將所述用戶當(dāng)前上傳的數(shù)據(jù)保存至所述極大團(tuán)對應(yīng)的緩存中。
[0028]在第二方面第一種可能的實(shí)現(xiàn)方式中,所述數(shù)據(jù)上傳方法還包括:
[0029]將所述用戶當(dāng)前上傳的數(shù)據(jù)發(fā)送給所述用戶的用戶緩存所在的用戶緩存服務(wù)器,使得所述用戶緩存服務(wù)器將所述用戶當(dāng)前上傳的數(shù)據(jù)保存至所述用戶的用戶緩存中。
[0030]結(jié)合第二方面或者第二方面的第一種可能的實(shí)現(xiàn)方式,第二種可能的實(shí)現(xiàn)方式中,所述用戶當(dāng)前上傳的數(shù)據(jù)中包含版本號,使得接收到所述用戶當(dāng)前上傳的數(shù)據(jù)的極大團(tuán)緩存服務(wù)器根據(jù)所述版本號確定是否保存所述用戶當(dāng)前上傳的數(shù)據(jù)。
[0031]本發(fā)明第三方面提供了一種web服務(wù)器,包括:
[0032]確定單元,用于若接收到用戶的數(shù)據(jù)更新請求,確定所述用戶所屬的極大團(tuán),所述極大團(tuán)中的用戶兩兩互為好友;
[0033]發(fā)送單元,用于在所述確定單元確定所述用戶所屬的極大團(tuán)之后,向所述極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息;
[0034]接收單元,用于在發(fā)送單元發(fā)送所述數(shù)據(jù)查詢消息之后,接收所述極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù),用于實(shí)現(xiàn)所述用戶的數(shù)據(jù)更新。
[0035]在第三方面第一種可能的實(shí)現(xiàn)方式中,更新數(shù)據(jù)中包含所述用戶的好友最后一次上傳數(shù)據(jù)的版本號;則所述web服務(wù)器還包括:
[0036]優(yōu)化單元,用于在接收單元接收到更新數(shù)據(jù)之后,若所述更新數(shù)據(jù)中所述用戶的好友包含至少兩份更新數(shù)據(jù),則從所述至少兩份更新數(shù)據(jù)中選擇并保存一份版本號最新的更新數(shù)據(jù),丟棄其他版本號的更新數(shù)據(jù)。
[0037]結(jié)合第三方面或者第三方面第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述web服務(wù)器還包括:
[0038]獲取單元,用戶在所述確定單元確定所述用戶所屬的極大團(tuán)之后,獲取所述用戶的好友集合;
[0039]集合確定單元,用于在所述獲取單元確定獲取所述用戶的好友集合之后,根據(jù)所述用戶所屬的極大團(tuán)及所述用戶的好友集合確定所述用戶的非極大團(tuán)好友集合,所述非極大團(tuán)好友集合包含在所述用戶的好友集合中且不在所述用戶所屬的極大團(tuán)的集合中的好友的集合;
[0040]消息發(fā)送單元,用于在所述非極大團(tuán)好友集合不是空集時(shí),向所述非極大團(tuán)好友集合中的好友對應(yīng)的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息;
[0041]數(shù)據(jù)接收單元,在所述消息發(fā)送單元發(fā)送數(shù)據(jù)查詢消息之后,接收所述用戶緩存服務(wù)器發(fā)送的的更新數(shù)據(jù)。
[0042]本發(fā)明第四方面提供了一種web服務(wù)器,包括:
[0043]極大團(tuán)確定單元,用于若接收到用戶當(dāng)前上傳的數(shù)據(jù),確定所述用戶所屬的極大團(tuán),所述極大團(tuán)中的用戶兩兩互為好友;
[0044]第一發(fā)送單元,用于在所述極大團(tuán)確定單元確定所述極大團(tuán)之后,向所述極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送所述用戶當(dāng)前上傳的數(shù)據(jù),使得所述極大團(tuán)緩存服務(wù)器將所述用戶當(dāng)前上傳的數(shù)據(jù)保存至所述極大團(tuán)對應(yīng)的緩存中。
[0045]在第四方面第一種可能的實(shí)現(xiàn)方式中,所述web服務(wù)器還包括:
[0046]第二發(fā)送單元,用于將所述用戶當(dāng)前上傳的數(shù)據(jù)發(fā)送給所述用戶的用戶緩存所在的用戶緩存服務(wù)器,使得所述用戶緩存服務(wù)器將所述用戶當(dāng)前上傳的數(shù)據(jù)保存至所述用戶的用戶緩存中。
[0047]從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
[0048]若web服務(wù)器接收到用戶發(fā)送的數(shù)據(jù)更新請求,則確定該用戶所屬的極大團(tuán),向用戶所屬的極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,接收極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù),實(shí)現(xiàn)用戶的數(shù)據(jù)更新,或者,web服務(wù)器可將接收到的用戶當(dāng)前上傳的數(shù)據(jù)發(fā)送給該用戶所屬的極大團(tuán)對應(yīng)的緩存所在的緩存服務(wù)器,以實(shí)現(xiàn)數(shù)據(jù)上傳,由于極大團(tuán)中的用戶均為該用戶的好友,使得向用戶所屬的極大團(tuán)對應(yīng)的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息或者用戶當(dāng)前上傳的數(shù)據(jù)時(shí),對一個(gè)極大團(tuán)中的多個(gè)好友的更新數(shù)據(jù)的查詢只需要發(fā)送一個(gè)數(shù)據(jù)查詢消息,且對一個(gè)極大團(tuán)中的多個(gè)好友的數(shù)據(jù)上傳只需要進(jìn)行一次數(shù)據(jù)上傳,能夠有效地減少web服務(wù)器在數(shù)據(jù)更新或者數(shù)據(jù)上傳中占用的資源,有效地節(jié)約系統(tǒng)資源。
【專利附圖】
【附圖說明】
[0049]圖1為本發(fā)明實(shí)施例中一種數(shù)據(jù)更新方法的一個(gè)示意圖;
[0050]圖2為本發(fā)明實(shí)施例中極大團(tuán)的示意圖;
[0051]圖3為本發(fā)明實(shí)施例中一種數(shù)據(jù)更新方法的另一示意圖;
[0052]圖4為本發(fā)明實(shí)施例中一種數(shù)據(jù)上傳方法的一個(gè)示意圖;
[0053]圖5為本發(fā)明實(shí)施例中web服務(wù)器的結(jié)構(gòu)的一個(gè)示意圖;
[0054]圖6為本發(fā)明實(shí)施例中web服務(wù)器的結(jié)構(gòu)的另一示意圖;
[0055]圖7為本發(fā)明實(shí)施例中web服務(wù)器的結(jié)構(gòu)的一個(gè)示意圖;
[0056]圖8為本發(fā)明實(shí)施例中web服務(wù)器的結(jié)構(gòu)的一個(gè)示意圖。
【具體實(shí)施方式】
[0057]本發(fā)明實(shí)施例提供了一種數(shù)據(jù)更新方法及web服務(wù)器,用于實(shí)現(xiàn)用戶數(shù)據(jù)的更新,能夠有效的減少web服務(wù)器發(fā)送的數(shù)據(jù)查詢消息的數(shù)目,節(jié)約系統(tǒng)資源。
[0058]請參閱圖1,為本發(fā)明實(shí)施例中一種數(shù)據(jù)更新方法的實(shí)施例,包括:
[0059]101、若web服務(wù)器接收到用戶的數(shù)據(jù)更新請求,則確定用戶所屬的極大團(tuán),極大團(tuán)中的用戶兩兩互為好友;
[0060]在本發(fā)明實(shí)施例中,用戶在使用社交網(wǎng)絡(luò)時(shí),可手動點(diǎn)擊發(fā)出數(shù)據(jù)更新請求,或者用戶在登陸社交網(wǎng)絡(luò)后,系統(tǒng)自動生成數(shù)據(jù)更新請求,該數(shù)據(jù)更新請求用于請求更新用戶所有好友的內(nèi)容,web服務(wù)器在接收到該數(shù)據(jù)更新請求之后,則確定該用戶所屬的極大團(tuán)的集合,其中,極大團(tuán)中的用戶兩兩互為好友。
[0061]在本發(fā)明實(shí)施例中,后端服務(wù)器將周期性的計(jì)算社交網(wǎng)絡(luò)中存在的極大團(tuán),并將計(jì)算得到的極大團(tuán)發(fā)送給多個(gè)極大團(tuán)緩存服務(wù)器,該多個(gè)極大團(tuán)緩存服務(wù)器將為極大團(tuán)分配緩存,其中,極大團(tuán)緩存服務(wù)器為極大團(tuán)分配緩存的大小可根據(jù)具體情況確定,此處不做限定,例如:若后臺服務(wù)器計(jì)算得到9個(gè)極大團(tuán),編號分別為I至9,有2個(gè)極大團(tuán)緩存服務(wù)器分別為A,B,則可由極大團(tuán)緩存服務(wù)器A為極大團(tuán)I至4分配緩存,由極大圖緩存服務(wù)器B為極大團(tuán)5至9分配緩存,或者,由極大團(tuán)緩存服務(wù)器A為極大團(tuán)I和9分配緩存,由極大團(tuán)緩存服務(wù)器B為極大團(tuán)2至8分配緩存。
[0062]此外,后端服務(wù)器還將建立極大團(tuán)緩存服務(wù)器與極大團(tuán)之間的對應(yīng)關(guān)系,及用戶與其所屬極大團(tuán)之間的對應(yīng)關(guān)系,其中,極大團(tuán)緩存服務(wù)器與極大團(tuán)之間的對應(yīng)關(guān)系可保存在數(shù)據(jù)庫中或者緩存服務(wù)器中,用戶與其所屬極大團(tuán)之間的對應(yīng)關(guān)系也可保存在數(shù)據(jù)庫中或者緩存服務(wù)器中,web服務(wù)器可從數(shù)據(jù)庫中或者通過緩存服務(wù)器確定用戶所屬的極大團(tuán),及用戶所屬的極大團(tuán)的緩存所在的極大團(tuán)緩存服務(wù)器。
[0063]在本發(fā)明實(shí)施例中,極大團(tuán)的定義如下:請參參閱2,為本發(fā)明實(shí)施例中的極大團(tuán)的示意圖,該圖可以表示為G=(V,E),其中,V={1,2,3,……,14}是圖中的節(jié)點(diǎn)的集合,E是圖的邊集,圖中的團(tuán)是指一個(gè)兩兩之間連接的節(jié)點(diǎn)的集合,如果一個(gè)團(tuán)不是其他任何一個(gè)團(tuán)的真子集,則該團(tuán)稱為極大團(tuán),在圖2中,節(jié)點(diǎn)1,2,3,4構(gòu)成一個(gè)極大團(tuán),節(jié)點(diǎn)7,8,9構(gòu)成一個(gè)極大團(tuán),節(jié)點(diǎn)1,10,11構(gòu)成一個(gè)極大團(tuán),節(jié)點(diǎn)8,13,14構(gòu)成一個(gè)極大團(tuán)。
[0064]在本發(fā)明實(shí)施例中,后臺服務(wù)器利用極大團(tuán)的原理根據(jù)用戶之間的好友關(guān)系劃分極大團(tuán),并建立用戶與其所屬的極大團(tuán)之間的對應(yīng)關(guān)系,且將用戶與其所屬的極大團(tuán)之間的對應(yīng)關(guān)系保存在緩存服務(wù)器中,此外,后臺服務(wù)器還可將用戶與其所屬的極大團(tuán)之間的對應(yīng)關(guān)系保存在數(shù)據(jù)庫中。
[0065]在本發(fā)明實(shí)施例中,web服務(wù)器接收到用戶的數(shù)據(jù)更新請求之后,可根據(jù)該用戶的身份標(biāo)識(ID,Identity)查找數(shù)據(jù)庫中已保存的用戶與其所屬的極大團(tuán)之間的對應(yīng)關(guān)系確定該用戶所屬的極大團(tuán),例如,以圖2為例,若web服務(wù)器接收到用戶發(fā)送的數(shù)據(jù)更新請求,該用戶為節(jié)點(diǎn)8,則可從數(shù)據(jù)庫中的用戶與其所屬的極大團(tuán)之間的對應(yīng)關(guān)系中確定節(jié)點(diǎn)8所屬的極大團(tuán)的集合包含兩個(gè)`極大團(tuán),即節(jié)點(diǎn)7,8,9構(gòu)成的極大團(tuán)及節(jié)點(diǎn)8,13,14構(gòu)成的極大團(tuán),則用戶所屬的極大團(tuán)的集合包括:{ (7,8,9),(8,13,14)}。
[0066]此外,web服務(wù)器還可向保存了用戶與其所屬的極大團(tuán)之間的對應(yīng)關(guān)系的緩存服務(wù)器發(fā)送查詢請求,在該請求中攜帶用戶的ID,使得緩存服務(wù)器接收到web服務(wù)器發(fā)送的查詢請求之后,在保存的用戶與其所屬的極大團(tuán)之間的對應(yīng)關(guān)系中查找與該用戶的ID對應(yīng)的極大團(tuán),并將查找到的用戶所屬的極大團(tuán)的集合發(fā)送給web服務(wù)器,其中,用戶所屬的極大團(tuán)是指所有包含該用戶的極大團(tuán),且極大團(tuán)中包含構(gòu)成極大團(tuán)的所有用戶的ID。
[0067]在本發(fā)明實(shí)施例中,用戶與其好友之間的對應(yīng)關(guān)系保存在數(shù)據(jù)庫中或者緩存服務(wù)器中,web服務(wù)器可以根據(jù)用戶的ID從數(shù)據(jù)庫中查找該用戶的好友集合,也可以通過向緩存服務(wù)器發(fā)送查詢請求獲得該用戶的好友集合。
[0068]102、向極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息;
[0069]在本發(fā)明實(shí)施例中,web服務(wù)器在確定用戶所屬的極大圖之后,將向用戶所屬的極大團(tuán)對應(yīng)的的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,且該數(shù)據(jù)查詢消息中至少包含請求查詢的極大團(tuán)的編號,例如:若用戶所屬的極大團(tuán)為極大團(tuán)A和極大團(tuán)B,且極大團(tuán)A所在的極大團(tuán)緩存服務(wù)器為C,極大團(tuán)B所在的極大團(tuán)緩存服務(wù)器為D,則web服務(wù)器向極大團(tuán)緩存服務(wù)器C發(fā)送包含極大團(tuán)A的編號的數(shù)據(jù)查詢消息,向極大團(tuán)緩存服務(wù)器D發(fā)送包含極大團(tuán)B的編號的數(shù)據(jù)查詢消息,以獲得極大團(tuán)A和極大團(tuán)B中的用戶的更新數(shù)據(jù)。
[0070]103、接收極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù),用于實(shí)現(xiàn)用戶的數(shù)據(jù)更新。
[0071]在本發(fā)明實(shí)施例中,極大團(tuán)緩存服務(wù)器在接收到數(shù)據(jù)查詢消息之后,將根據(jù)該數(shù)據(jù)查詢消息中包含的極大團(tuán)的編號查找對應(yīng)的緩存,獲得該極大團(tuán)中的更新數(shù)據(jù),并將更新數(shù)據(jù)發(fā)送給web服務(wù)器,因此,web服務(wù)器可接收到極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù),用于實(shí)現(xiàn)用戶的數(shù)據(jù)更新。
[0072]在本發(fā)明實(shí)施例中,web服務(wù)器通過向用戶所屬的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,可獲得該用戶的更新數(shù)據(jù),由于用戶所屬的極大團(tuán)中的用戶均為該用戶的好友,因此,對該極大團(tuán)中的多個(gè)好友的數(shù)據(jù)更新只需要發(fā)送一個(gè)數(shù)據(jù)查詢消息,即可獲得該極大團(tuán)中的多個(gè)好友的更新數(shù)據(jù),有效的減少了 web服務(wù)器發(fā)送的數(shù)據(jù)查詢消息的數(shù)量,避免用戶的數(shù)據(jù)更新占用過多的資源,節(jié)約系統(tǒng)資源。
[0073]為了更好的理解本發(fā)明實(shí)施例中的數(shù)據(jù)更新方法,請參閱圖3,為本發(fā)明實(shí)施例中數(shù)據(jù)更新方法的實(shí)施例,包括:
[0074]301、若web服務(wù)器接收到用戶的數(shù)據(jù)更新請求,則確定用戶所屬的極大團(tuán),極大團(tuán)中的用戶兩兩互為好友,分別執(zhí)行步驟302和步驟303 ;
[0075]在本發(fā)明實(shí)施例中,步驟301描述的內(nèi)容與圖1所示實(shí)施例中的步驟101描述的內(nèi)容相似,此處不再贅述。
[0076]302、向用戶所屬的極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,繼續(xù)執(zhí)行步驟306 ;
[0077]本發(fā)明實(shí)施例中,步驟302描述的內(nèi)容與圖1所示實(shí)施例中的步驟102描述的內(nèi)容相似,此處不再贅述。
[0078]303、獲取用戶的好友集合;
[0079]在本發(fā)明實(shí)施例中,web服務(wù)器在確定用戶所屬的極大團(tuán)之后,還將獲取用戶的好友集合,其中,web服務(wù)器可從保存了用戶與其好友之間的對應(yīng)關(guān)系的緩存服務(wù)器或者數(shù)據(jù)庫中獲得用戶的好友集合,具體的,web服務(wù)器可向保存了用戶與其好友的對應(yīng)關(guān)系的緩存服務(wù)器發(fā)送好友查詢消息,該緩存服務(wù)器利用接收到的好友查詢消息中的用戶ID查詢與其對應(yīng)的好友集合,并將查詢到的好友集合發(fā)送給web服務(wù)器,或者,web服務(wù)器可根據(jù)用戶ID查詢數(shù)據(jù)庫,獲得與該用戶對應(yīng)的好友集合。
[0080]304、根據(jù)用戶所屬的極大團(tuán)及用戶的好友集合確定用戶的非極大團(tuán)好友集合,非極大團(tuán)好友集合包含在用戶的好友集合中且不在用戶所屬的極大團(tuán)的集合中的好友的集合;
[0081]本發(fā)明實(shí)施例中,web服務(wù)器獲取用戶所屬的極大團(tuán)及用戶的好友集合之后,可根據(jù)該用戶所屬的極大團(tuán)及用戶的好友集合確定用戶的非極大團(tuán)好友集合,其中,非極大團(tuán)好友集合中包含在用戶的好友集合中且不在用戶所屬的極大團(tuán)中的好友的集合。以圖2為例,若發(fā)送數(shù)據(jù)查詢消息的用戶為節(jié)點(diǎn)1,節(jié)點(diǎn)I所屬的的極大團(tuán)為(1,2,3,4)和(1,10,
11),節(jié)點(diǎn)I的好友集合為{1,2,3,4,6,10,11,12},則在節(jié)點(diǎn)I的好友集合中且不在節(jié)點(diǎn)I的所屬的極大團(tuán)中的好友的非極大團(tuán)好友集合為{6,12}。
[0082]305、若非極大團(tuán)好友集合不是空集,則向非極大團(tuán)好友集合中的好友對應(yīng)的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,繼續(xù)執(zhí)行步驟308 ;[0083]在本發(fā)明實(shí)施例中,若用戶的非極大團(tuán)好友集合不是空集,則web服務(wù)器還將向該非極大團(tuán)好友集合中的好友對應(yīng)的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,且該數(shù)據(jù)查詢消息中至少包含請求查詢的好友的ID,使得接收到該數(shù)據(jù)查詢消息的用戶緩存服務(wù)器可按照該好友的ID查詢對應(yīng)的用戶緩存,獲取該好友的更新數(shù)據(jù)。
[0084]需要說明的是,在本發(fā)明實(shí)施例中,若用戶的非極大團(tuán)好友集合是空集,則說明該用戶的所有好友都在其所屬的極大團(tuán)之中,通過向該用戶所屬的極大團(tuán)發(fā)送數(shù)據(jù)查詢消息即可獲得該用戶的所有好友的更新數(shù)據(jù)。
[0085]306、接收極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù);
[0086]在本發(fā)明實(shí)施例中,極大團(tuán)緩存服務(wù)器將獲取更新數(shù)據(jù)并將獲取到的更新數(shù)據(jù)發(fā)送給web服務(wù)器,因此,web服務(wù)器可接收到極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù)。
[0087]需要說明的是,數(shù)據(jù)查詢消息中還包含用戶上一次請求更新的時(shí)間,使得接收到該數(shù)據(jù)查詢消息的極大團(tuán)緩存服務(wù)器可根據(jù)該用戶上一次請求更新的時(shí)間獲取請求查詢的極大團(tuán)對應(yīng)的緩存中的更新數(shù)據(jù),并將獲取到的數(shù)據(jù)發(fā)送給web服務(wù)器,具體的包括:極大團(tuán)緩存服務(wù)器計(jì)算用戶上一次請求更新的時(shí)間與當(dāng)前時(shí)間之間的時(shí)間差,若該時(shí)間差小于或等于預(yù)置的時(shí)間長,則極大團(tuán)緩存服務(wù)器從數(shù)據(jù)查詢消息中包含的極大團(tuán)的編號對應(yīng)的緩存中,將在用戶上一次請求更新的時(shí)間點(diǎn)之后上傳的更新數(shù)據(jù)發(fā)送給web服務(wù)器,若該時(shí)間差大于預(yù)置的時(shí)間長,則確定數(shù)據(jù)獲取時(shí)間點(diǎn),該數(shù)據(jù)獲取時(shí)間點(diǎn)等于當(dāng)前時(shí)間減去預(yù)置的時(shí)間長,例如,若當(dāng)前時(shí)間為2012年10月12日8:00,預(yù)置的時(shí)間長為48小時(shí),則確定數(shù)據(jù)獲取時(shí)間點(diǎn)為2012年10月10日8:00,獲取極大團(tuán)對應(yīng)的緩存中在該數(shù)據(jù)獲取時(shí)間點(diǎn)之后上傳的更新數(shù)據(jù),并發(fā)送給web服務(wù)器。例如:若數(shù)據(jù)查詢消息中包含的用戶E上一次請求更新的時(shí)間為2012年10月12日8:00,極大團(tuán)的編號為極大團(tuán)A,則極大團(tuán)緩存服務(wù)器計(jì)算得到當(dāng)前時(shí)間2012年10月12日12:00與2012年10月12日8:00之間的時(shí)間差為4個(gè)小時(shí)長,該4個(gè)小時(shí)小于預(yù)置的時(shí)間長48個(gè)小時(shí),則極大團(tuán)緩存服務(wù)器獲取極大團(tuán)A中的與用戶E為好友的用戶在2012年10月12日8:00之后上傳的更新數(shù)據(jù),將獲得的更新數(shù)據(jù)發(fā)送給web服務(wù)器。若數(shù)據(jù)查詢消息中包含的用戶E上一次請求更新的時(shí)間為2012年10月5日12:00,極大團(tuán)的編號為極大團(tuán)A,則極大團(tuán)緩存服務(wù)器計(jì)算得到當(dāng)前時(shí)間2012年10月12日12:00與2012年10月5日12:00之間的時(shí)間差為168小時(shí),由于168小時(shí)大于預(yù)置的時(shí)間長48個(gè)小時(shí),因此,確定獲取時(shí)間點(diǎn)為2012年10月10日12:00,極大團(tuán)緩存服務(wù)器獲取極大團(tuán)A中與用戶E為好友的用戶在2012年10月10日12:00之后上傳的更新數(shù)據(jù),將獲得的更新數(shù)據(jù)發(fā)送給web服務(wù)器。
[0088]307、若更新數(shù)據(jù)中用戶的好友包含至少兩份更新數(shù)據(jù),則從至少兩份更新數(shù)據(jù)中選擇并保存一份版本號最新的更新數(shù)據(jù),丟棄其他版本號的更新數(shù)據(jù);
[0089]在本發(fā)明實(shí)施例中,用戶在上傳數(shù)據(jù)時(shí),web服務(wù)器將為其此次上傳數(shù)據(jù)分配一個(gè)版本號,且得到該上傳數(shù)據(jù)的極大團(tuán)對應(yīng)的緩存將更新該用戶的版本號,因此更新數(shù)據(jù)中包含用戶的好友最后一次上傳數(shù)據(jù)的版本號。例如,用戶E上傳數(shù)據(jù)到極大團(tuán)A對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器中,極大團(tuán)緩存服務(wù)器將保存該用戶E的上傳數(shù)據(jù)到極大團(tuán)A對應(yīng)的緩存中,并將此次上傳的版本號設(shè)置為用戶E最后一次上傳數(shù)據(jù)的版本號。
[0090]在本發(fā)明實(shí)施例中,web服務(wù)器在接收到極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù)之后,還將對接收到的更新數(shù)據(jù)進(jìn)行處理,因?yàn)橛脩舻哪硞€(gè)好友可能屬于該用戶所屬的至少兩個(gè)極大團(tuán)中,則在web服務(wù)器接收到的更新數(shù)據(jù)中,某個(gè)好友可能具有至少兩份更新數(shù)據(jù),web服務(wù)器則從該至少兩份更新數(shù)據(jù)中選擇并保存一份版本號最新的更新數(shù)據(jù),丟棄其他版本號的更新數(shù)據(jù),例如:若更新數(shù)據(jù)中,用戶E的好友F包含3份更新數(shù)據(jù),版本號分別為1001,1005,1007,則web服務(wù)器選擇并保存版本號為1007的更新數(shù)據(jù),丟棄版本號為1001, 1005的更新數(shù)據(jù);若更新數(shù)據(jù)中,用戶E的好友F包含4份更新數(shù)據(jù),版本號分別為1001,1005,1007,1007,則有兩份版本號最新的更新數(shù)據(jù),web服務(wù)器選擇任意一份版本號為1007的更新數(shù)據(jù),丟棄另一份版本號為1007的數(shù)據(jù),及丟棄版本號為1001及1005的更新數(shù)據(jù)。
[0091]需要說明的是,在本發(fā)明實(shí)施例中,若用戶的好友只有一個(gè)版本號的更新數(shù)據(jù),則web服務(wù)器將保存該用戶該版本號的更新數(shù)據(jù)。
[0092]308、接收用戶緩存服務(wù)器發(fā)送的的更新數(shù)據(jù)。
[0093]在本發(fā)明實(shí)施例中,web服務(wù)器向用戶的非極大團(tuán)好友集合中的好友對應(yīng)的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息之后,web服務(wù)器將接收用戶緩存服務(wù)器發(fā)送的更新數(shù)據(jù)。
[0094]其中,web服務(wù)器向用戶的非極大團(tuán)好友集合中的好友對應(yīng)的用戶緩存所在的用戶緩存服務(wù)器發(fā)送的數(shù)據(jù)查詢消息中包含該用戶上一次請求更新的時(shí)間及查詢的好友的ID,用戶緩存服務(wù)器利用好友的ID確定該好友的用戶緩存,并根據(jù)用戶上一次請求更新的時(shí)間獲取該用戶緩存中的更新數(shù)據(jù),將獲得的更新數(shù)據(jù)發(fā)送給web服務(wù)器,使得web服務(wù)器將接收到用戶緩存服務(wù)器發(fā)送的更新數(shù)據(jù),實(shí)現(xiàn)對用戶的非極大團(tuán)好友集合中的好友的數(shù)據(jù)更新。
[0095]需要說明的是,在本發(fā)明實(shí)施例中,步驟306與步驟308并沒有先后順序。
[0096]例如:以圖2為例,若發(fā)送數(shù)據(jù)查詢消息的用戶為節(jié)點(diǎn)1,節(jié)點(diǎn)I所屬的的極大團(tuán)為(1,2,3,4)和(1,10,11),節(jié)點(diǎn)I的好友集合為{1,2,3,4,6,10,11,12},則在節(jié)點(diǎn)I的好友集合中且不在節(jié)點(diǎn)I的所屬的極大團(tuán)中的好友的非極大團(tuán)好友集合為{6,12},則web服務(wù)器將分別向極大團(tuán)(1,2,3,4)和(1,10,11)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,及分別向節(jié)點(diǎn)6和節(jié)點(diǎn)12對應(yīng)的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,以獲得更新數(shù)據(jù)。
[0097]在本發(fā)明實(shí)施例中,若web服務(wù)器接收到用戶的數(shù)據(jù)更新請求,則確定該用戶所屬的極大團(tuán)及用戶的非極大團(tuán)好友集合,向用戶所屬的極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,該數(shù)據(jù)查詢消息中包含用戶上一次請求更新的時(shí)間及請求查詢的極大團(tuán)的編號,使得極大團(tuán)緩存服務(wù)器根據(jù)用戶上一次請求更新的時(shí)間及請求查詢的極大團(tuán)的編號獲得更新數(shù)據(jù),并發(fā)送給web服務(wù)器,且在用戶的非極大團(tuán)好友集合不是空集時(shí),向該非極大團(tuán)好友集合中的好友的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,以獲得用戶的非極大團(tuán)好友集合中的好友的更新數(shù)據(jù),實(shí)現(xiàn)用戶的數(shù)據(jù)更新。由于用戶所屬的極大團(tuán)中的用戶均為該用戶的好友,因此,對該極大團(tuán)中的好友的數(shù)據(jù)更新只需要發(fā)送一次數(shù)據(jù)查詢消息,而不需要發(fā)送多個(gè)數(shù)據(jù)查詢消息,能夠有效的減少數(shù)據(jù)查詢消息的發(fā)送數(shù)目,避免占用大量的資源,節(jié)約資源。
[0098]在圖1及圖3所示實(shí)施例中描述了 web服務(wù)器進(jìn)行數(shù)據(jù)更新的方法,在實(shí)際應(yīng)用中,用戶還可上傳數(shù)據(jù),下面將詳細(xì)介紹基于極大團(tuán)的數(shù)據(jù)上傳方法,請參閱圖4,包括:[0099]401、若web服務(wù)器接收到用戶當(dāng)前上傳的數(shù)據(jù),則確定用戶所屬的極大團(tuán),極大團(tuán)中的用戶兩兩互為好友;
[0100]在本發(fā)明實(shí)施例中,用戶在使用社交網(wǎng)絡(luò)時(shí)可上傳數(shù)據(jù),例如,若用戶使用微博發(fā)布了一條消息,則該條消息即為用戶當(dāng)前上傳的數(shù)據(jù)。若Web服務(wù)器接收到用戶當(dāng)前上傳的數(shù)據(jù),則將確定用戶所屬的極大團(tuán)的集合及用戶的好友集合,其中,web服務(wù)器可通過查找數(shù)據(jù)庫中用戶與極大團(tuán)之間的對應(yīng)關(guān)系確定用戶所屬的極大團(tuán),或者web服務(wù)器向緩存服務(wù)器發(fā)送極大團(tuán)查詢消息,該極大團(tuán)查詢消息中包含用戶的ID,緩存服務(wù)器可利用該用戶的ID查詢已保存的用戶與極大團(tuán)之間的對應(yīng)關(guān)系確定該用戶所屬的極大團(tuán),并將確定的該用戶所屬的極大團(tuán)發(fā)送給web服務(wù)器。
[0101]402、向用戶的極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送用戶當(dāng)前上傳的數(shù)據(jù),使得極大團(tuán)對應(yīng)的緩存中保存用戶當(dāng)前上傳的數(shù)據(jù)。
[0102]在本發(fā)明實(shí)施例中,web服務(wù)器在確定用戶所屬的極大團(tuán)之后,將向該用戶所屬的極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送用戶當(dāng)前上傳的數(shù)據(jù),使得極大團(tuán)緩存服務(wù)器將用戶當(dāng)前上傳的數(shù)據(jù)保存至用戶所屬的極大團(tuán)對應(yīng)的緩存中,例如,若用戶E所屬的極大團(tuán)為A和B,極大團(tuán)A的緩存在極大團(tuán)緩存服務(wù)器C上,極大團(tuán)B的緩存在極大團(tuán)緩存服務(wù)器D上,因此,web服務(wù)器將用戶E當(dāng)前上傳的數(shù)據(jù)分別發(fā)送給極大團(tuán)緩存服務(wù)器C和D,使得極大團(tuán)緩存服務(wù)器C將用戶E當(dāng)前上傳的數(shù)據(jù)保存至極大團(tuán)A對應(yīng)的緩存中,極大團(tuán)緩存服務(wù)器D將用戶E當(dāng)前上傳的數(shù)據(jù)保存至極大團(tuán)B對應(yīng)的緩存中。
[0103]需要說明的是,在本發(fā)明實(shí)施例中,用戶當(dāng)前上傳的數(shù)據(jù)中包含當(dāng)前上傳數(shù)據(jù)的版本號,極大團(tuán)緩存服務(wù)器接收到該用戶當(dāng)前上傳的數(shù)據(jù)之后,將根據(jù)其中包含的版本號確定是否保存此次更新,若當(dāng)前上傳的數(shù)據(jù)的版本號大于該用戶上次上傳數(shù)據(jù)的版本號,則保存該用戶當(dāng)前上傳的數(shù)據(jù),若用戶當(dāng)前上傳的數(shù)據(jù)的版本號小于用戶上次上傳數(shù)據(jù)的版本號,則丟棄該用戶當(dāng)前上傳的數(shù)據(jù)。
[0104]優(yōu)選的,在本發(fā)明實(shí)施例中,web服務(wù)器還可執(zhí)行以下步驟:
[0105]403、將用戶當(dāng)前上傳的數(shù)據(jù)發(fā)送給用戶的用戶緩存所在的用戶緩存服務(wù)器,使得用戶緩存服務(wù)器將用戶當(dāng)前上傳的數(shù)據(jù)保存至用戶的用戶緩存中。
[0106]在本發(fā)明實(shí)施例中,web服務(wù)器還將用戶當(dāng)前上傳的數(shù)據(jù)發(fā)送給用戶的緩存所在的用戶緩存服務(wù)器,使得用戶緩存服務(wù)器將用戶當(dāng)前上傳的數(shù)據(jù)保存至該用戶對應(yīng)的用戶緩存中。
[0107]需要說明的是,在本發(fā)明實(shí)施例中,通過在用戶的用戶緩存中保存用戶當(dāng)前上傳的數(shù)據(jù),使得若web服務(wù)器從用戶所屬的極大團(tuán)緩存服務(wù)器獲取更新數(shù)據(jù)失敗,則web服務(wù)器可確定用戶的好友集合,分別向用戶的好友集合中的好友的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,從用戶的用戶緩存中獲取更新數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)更新。
[0108]在本發(fā)明實(shí)施例中,web服務(wù)器接收到用戶當(dāng)前上傳的數(shù)據(jù)之后,可確定該用戶所屬的極大團(tuán),并向該用戶所屬的極大團(tuán)所在的極大團(tuán)緩存服務(wù)器發(fā)送該用戶當(dāng)前上傳的數(shù)據(jù),使得極大團(tuán)緩存服務(wù)器可在用戶所屬的極大團(tuán)對應(yīng)的緩存中保存用戶當(dāng)前上傳的數(shù)據(jù),由于極大團(tuán)中的用戶互為好友,因此,向極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送用戶當(dāng)前上傳的數(shù)據(jù),能夠有效的節(jié)約用戶當(dāng)前上傳的數(shù)據(jù)推送的占用的資源。
[0109]請參閱圖5,為本發(fā)明實(shí)施例中web服務(wù)器的結(jié)構(gòu)的實(shí)施例,包括:[0110]確定單元501,用于若接收到用戶的數(shù)據(jù)更新請求,確定用戶所屬的極大團(tuán),極大團(tuán)中的用戶兩兩互為好友;
[0111]發(fā)送單元502,用于在確定單元501確定用戶所屬的極大團(tuán)之后,向用戶所屬的極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息;
[0112]接收單元503,用于在發(fā)送單元502發(fā)送數(shù)據(jù)查詢消息之后,接收極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù),用于實(shí)現(xiàn)用戶的數(shù)據(jù)更新。
[0113]在本發(fā)明實(shí)施例中,web服務(wù)器若接收到用戶的數(shù)據(jù)更新請求,則確定單元501將確定用戶所屬的極大團(tuán),接著發(fā)送單元502向用戶所屬的極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,最后,由接收單元503接收極大團(tuán)緩存服務(wù)器返回的更新數(shù)據(jù),實(shí)現(xiàn)用戶的數(shù)據(jù)更新。
[0114]在本發(fā)明實(shí)施例中,web服務(wù)器通過向用戶所屬的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,可獲得該用戶的更新數(shù)據(jù),由于用戶所屬的極大團(tuán)中的用戶均為該用戶的好友,因此,對該極大團(tuán)中的多個(gè)好友的數(shù)據(jù)更新只需要發(fā)送一個(gè)數(shù)據(jù)查詢消息即可獲得該極大團(tuán)中的多個(gè)好友的更新數(shù)據(jù),有效的減少了 web服務(wù)器發(fā)送的數(shù)據(jù)查詢消息的數(shù)量,避免用戶的數(shù)據(jù)更新占用過多的資源,節(jié)約系統(tǒng)資源。
[0115]為了更好的理解本發(fā)明實(shí)施例中的web服務(wù)器,請參閱圖6,為本發(fā)明實(shí)施例中web服務(wù)器的另一結(jié)構(gòu)的實(shí)施例,包括:
[0116]如圖5所示實(shí)施例中的確定單元501,發(fā)送單元502,接收單元503,且與圖5所示實(shí)施例中描述的內(nèi)容相似,此處不再贅述。
[0117]在本發(fā)明實(shí)施例中,接收單元503接收的更新數(shù)據(jù)中包含用戶的好友最后一次上傳數(shù)據(jù)的版本號;
[0118]則該web服務(wù)器還包括:
[0119]優(yōu)化單元601,用于在接收單元503接收到更新數(shù)據(jù)之后,若所述更新數(shù)據(jù)中所述用戶的好友包含至少兩份更新數(shù)據(jù),則從所述至少兩份更新數(shù)據(jù)中選擇并保存一份版本號最新的更新數(shù)據(jù),丟棄其他版本號的更新數(shù)據(jù)。
[0120]在本發(fā)明實(shí)施例中,web服務(wù)器還包括:
[0121]獲取單元602,用戶在確定單元501確定用戶所屬的極大團(tuán)之后,獲取用戶的好友集合;
[0122]集合確定單元603,用于在獲取單元602確定獲取用戶的好友集合之后,根據(jù)用戶所屬的極大團(tuán)及用戶的好友集合確定用戶的非極大團(tuán)好友集合,非極大團(tuán)好友集合包含在用戶的好友集合中且不在用戶所屬的極大團(tuán)的集合中的好友的集合;
[0123]消息發(fā)送單元604,用于在非極大團(tuán)好友集合不是空集時(shí),向非極大團(tuán)好友集合中的好友對應(yīng)的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息;
[0124]數(shù)據(jù)接收單元605,在消息發(fā)送單元604發(fā)送數(shù)據(jù)查詢消息之后,接收用戶緩存服務(wù)器發(fā)送的的更新數(shù)據(jù)。
[0125]在本發(fā)明實(shí)施例中,web服務(wù)器若接收到用戶的數(shù)據(jù)更新請求,則確定單元501將確定用戶所屬的極大團(tuán),發(fā)送單元502向用戶所屬的極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,若極大團(tuán)緩存服務(wù)器向web服務(wù)器反饋更新數(shù)據(jù),則接收單元503將接收極大團(tuán)緩存服務(wù)器返回的更新數(shù)據(jù),此外,獲取單元602將獲取用戶的好友集合;接著,集合確定單元603根據(jù)用戶所屬的極大團(tuán)及用戶的好友集合確定用戶的非極大團(tuán)好友集合,若非極大團(tuán)好友集合不是空集,則消息發(fā)送單元604向非極大團(tuán)好友集合中的好友對應(yīng)的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息;最后,數(shù)據(jù)接收單元605,接收用戶緩存服務(wù)器發(fā)送的的更新數(shù)據(jù),因此,web服務(wù)器可接收大極大團(tuán)緩存服務(wù)器,或者,接收到極大團(tuán)緩存服務(wù)器和用戶緩存服務(wù)器發(fā)送的更新數(shù)據(jù),用于實(shí)現(xiàn)用戶的數(shù)據(jù)更新。
[0126]在本發(fā)明實(shí)施例中,web服務(wù)器在接收單元503接收到更新數(shù)據(jù)之后,若所述更新數(shù)據(jù)中所述用戶的好友包含至少兩份更新數(shù)據(jù),則優(yōu)化單元601從所述至少兩份更新數(shù)據(jù)中選擇并保存一份版本號最新的更新數(shù)據(jù),丟棄其他版本號的更新數(shù)據(jù)。
[0127]在本發(fā)明實(shí)施例中,若web服務(wù)器接收到用戶的數(shù)據(jù)更新請求,則確定該用戶所屬的極大團(tuán)及用戶的非極大團(tuán)好友集合,向用戶所屬的極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,該數(shù)據(jù)查詢消息中包含用戶上一次請求更新的時(shí)間及請求查詢的極大團(tuán)的編號,使得極大團(tuán)緩存服務(wù)器根據(jù)用戶上一次請求更新的時(shí)間及請求查詢的極大團(tuán)的編號獲得更新數(shù)據(jù),并發(fā)送給web服務(wù)器,且在用戶的非極大團(tuán)好友集合不是空集時(shí),向該非極大團(tuán)好友集合中的好友的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,以獲得用戶的非極大團(tuán)好友集合中的好友的更新數(shù)據(jù),實(shí)現(xiàn)用戶的數(shù)據(jù)更新。由于用戶所屬的極大團(tuán)中的用戶均為該用戶的好友,因此,對該極大團(tuán)中的好友的數(shù)據(jù)更新只需要發(fā)送一次數(shù)據(jù)查詢消息,而不需要發(fā)送多個(gè)數(shù)據(jù)查詢消息,能夠有效的減少數(shù)據(jù)查詢消息的發(fā)送數(shù)目,避免占用大量的資源,節(jié)約資源。
[0128]請參閱圖7,為本發(fā)明實(shí)施例中web服務(wù)器的另一結(jié)構(gòu)的實(shí)施例,包括:
[0129]極大團(tuán)確定單元701,用于若接收到用戶當(dāng)前上傳的數(shù)據(jù),則確定用戶所屬的極大團(tuán),極大團(tuán)中的用戶兩兩互為好友;
[0130]第一發(fā)送單元702,用于在極大團(tuán)確定單元701確定用戶所屬的極大團(tuán)之后,向用戶所屬的極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送用戶當(dāng)前上傳的數(shù)據(jù),使得極大團(tuán)緩存服務(wù)器將用戶當(dāng)前上傳的數(shù)據(jù)保存至極大團(tuán)對應(yīng)的緩存中。
[0131]優(yōu)選的,在本發(fā)明實(shí)施例中,web服務(wù)器還可包含:
[0132]第二發(fā)送單元703,用于將用戶當(dāng)前上傳的數(shù)據(jù)發(fā)送給用戶的用戶緩存所在的用戶緩存服務(wù)器,使得用戶緩存服務(wù)器將用戶當(dāng)前上傳的數(shù)據(jù)保存至用戶的用戶緩存中。
[0133]在本發(fā)明實(shí)施例中,若web服務(wù)器接收到用戶當(dāng)前上傳的數(shù)據(jù),則極大團(tuán)確定單元701確定用戶所屬的極大團(tuán),接著,第一發(fā)送單元702向用戶所屬的極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送用戶當(dāng)前上傳的數(shù)據(jù)。需要說明的是,web服務(wù)器在接收到用戶當(dāng)前上傳的數(shù)據(jù)之后,還可由第二發(fā)送單元703將用戶當(dāng)前上傳的數(shù)據(jù)發(fā)送給用戶的用戶緩存所在的用戶緩存服務(wù)器,使得用戶緩存服務(wù)器將用戶當(dāng)前上傳的數(shù)據(jù)保存至用戶的用戶緩存中。
[0134]在本發(fā)明實(shí)施例中,web服務(wù)器接收到用戶當(dāng)前上傳的數(shù)據(jù)之后,可確定該用戶所屬的極大團(tuán),并向該用戶所屬的極大團(tuán)所在的極大團(tuán)緩存服務(wù)器發(fā)送該用戶當(dāng)前上傳的數(shù)據(jù),使得極大團(tuán)緩存服務(wù)器可在用戶所屬的極大團(tuán)對應(yīng)的緩存中保存用戶當(dāng)前上傳的數(shù)據(jù),由于極大團(tuán)中的用戶互為好友,因此,向極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送用戶當(dāng)前上傳的數(shù)據(jù),能夠有效的節(jié)約用戶當(dāng)前上傳的數(shù)據(jù)推送的占用的資源。[0135]請參閱圖8,為本發(fā)明實(shí)施例中web服務(wù)器的結(jié)構(gòu)的實(shí)施例,包括:
[0136]處理器801,存儲器802,接收裝置803,發(fā)送裝置804 ;
[0137]其中,接收裝置803用于接收用戶的數(shù)據(jù)更新請求,處理器801則用于在接收裝置803接收用戶的數(shù)據(jù)更新請求之后,確定所述用戶所屬的極大團(tuán),所述極大團(tuán)中的用戶兩兩互為好友;
[0138]其中,發(fā)送裝置804則用于在所述處理器801確定用戶所屬的極大團(tuán)之后,向所述極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息;且可由接收裝置803接收所述極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù),用于實(shí)現(xiàn)所述用戶的數(shù)據(jù)更新。
[0139]此外,處理器801還用于在接收裝置803接收到更新數(shù)據(jù)之后,若更新數(shù)據(jù)中所述用戶的好友包含至少兩份更新數(shù)據(jù),則從該至少兩份更新數(shù)據(jù)中選擇并保存一份版本號最新的更新數(shù)據(jù),丟棄其他版本號的更新數(shù)據(jù)。
[0140]在本發(fā)明實(shí)施例中,處理器801還用于在確定用于所屬的極大團(tuán)之后,獲取用戶的好友集合;根據(jù)用戶所屬的極大團(tuán)及用戶的好友集合確定用戶的非極大團(tuán)好友集合,其中,非極大團(tuán)好友集合包含在用戶的好友集合中且不在用戶所屬的極大團(tuán)的集合中的好友的集合,在非極大團(tuán)好友的集合不是空集時(shí),發(fā)送裝置804向非極大團(tuán)好友集合中的好友對應(yīng)的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,以獲得非極大團(tuán)好友集合中的好友的更新數(shù)據(jù)。
[0141]以上描述的web服務(wù)器實(shí)現(xiàn)數(shù)據(jù)更新的方式,此外,在本發(fā)明實(shí)施例中,web服務(wù)器還可實(shí)現(xiàn)數(shù)據(jù)上傳,其中,接收裝置803在接收到用戶當(dāng)前上傳的數(shù)據(jù)之后,處理器801將確定用戶所屬的極大團(tuán),其中,極大團(tuán)中的用戶兩兩互為好友,接著,發(fā)送裝置804向用戶所屬的極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送用戶當(dāng)前上傳的數(shù)據(jù),使得極大團(tuán)緩存服務(wù)器將用戶當(dāng)前上傳的數(shù)據(jù)保存至極大團(tuán)對應(yīng)的緩存中。此外,發(fā)送裝置804還將用戶當(dāng)前上傳的數(shù)據(jù)發(fā)送給用戶的用戶緩存所在的用戶緩存服務(wù)器,使得用戶緩存服務(wù)器將用戶當(dāng)前上傳的數(shù)據(jù)保存至該用戶的用戶緩存中。
[0142]本發(fā)明實(shí)施例中,若web服務(wù)器接收到用戶的數(shù)據(jù)更新請求,則確定該用戶所屬的極大團(tuán)及用戶的非極大團(tuán)好友集合,則向用戶所屬的極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,使得極大團(tuán)緩存服務(wù)器將更新數(shù)據(jù)反饋給web服務(wù)器,且在用戶的非極大團(tuán)好友集合不是空集時(shí),向該非極大團(tuán)好友集合中的好友的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息,以獲得用戶的非極大團(tuán)好友集合中的好友的更新數(shù)據(jù),實(shí)現(xiàn)用戶的數(shù)據(jù)更新。由于用戶所屬的極大團(tuán)中的用戶均為該用戶的好友,因此,對該極大團(tuán)中的好友的數(shù)據(jù)更新只需要發(fā)送一次數(shù)據(jù)查詢消息,而不需要發(fā)送多個(gè)數(shù)據(jù)查詢消息,能夠有效的減少數(shù)據(jù)查詢消息的發(fā)送數(shù)目,避免占用大量的資源,節(jié)約資源。
[0143]此外,web服務(wù)器接收到用戶當(dāng)前上傳的數(shù)據(jù)之后,可確定該用戶所屬的極大團(tuán),并向該用戶所屬的極大團(tuán)所在的極大團(tuán)緩存服務(wù)器發(fā)送該用戶當(dāng)前上傳的數(shù)據(jù),使得極大團(tuán)緩存服務(wù)器可在用戶所屬的極大團(tuán)對應(yīng)的緩存中保存用戶當(dāng)前上傳的數(shù)據(jù),由于極大團(tuán)中的用戶互為好友,因此,向極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送用戶當(dāng)前上傳的數(shù)據(jù),能夠有效的節(jié)約用戶當(dāng)前上傳的數(shù)據(jù)推送的占用的資源。
[0144]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計(jì)算機(jī)可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0145]以上對本發(fā)明所提供的一種數(shù)據(jù)更新方法及web服務(wù)器進(jìn)行了詳細(xì)介紹,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實(shí)施例的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種數(shù)據(jù)更新方法,其特征在于,包括: 若web服務(wù)器接收到用戶的數(shù)據(jù)更新請求,確定所述用戶所屬的極大團(tuán),所述極大團(tuán)中的用戶兩兩互為好友; 所述web服務(wù)器向所述極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息; 所述web服務(wù)器接收所述極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù),用于實(shí)現(xiàn)請求數(shù)據(jù)更新的所述用戶的數(shù)據(jù)更新。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)更新方法,其特征在于,所述更新數(shù)據(jù)中包含所述用戶的好友最后一次上傳數(shù)據(jù)的版本號; 則所述接收所述極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù)之后還包括: 若所述更新數(shù)據(jù)中所述用戶的好友包含至少兩份更新數(shù)據(jù),則從所述至少兩份更新數(shù)據(jù)中選擇并保存一份版本號最新的更新數(shù)據(jù),丟棄其他版本號的更新數(shù)據(jù)。
3.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)更新方法,其特征在于,所述數(shù)據(jù)更新方法還包括: 獲取所述用戶的好友集合; 根據(jù)所述用戶所屬的極大團(tuán)及所述用戶的好友集合確定所述用戶的非極大團(tuán)好友集合,所述非極大團(tuán)好友集合包含在所述用戶的好友集合中且不在所述用戶所屬的極大團(tuán)中的好友集合; 若所述非極大團(tuán)好友集合不是空集,則向所述非極大團(tuán)好友集合中的好友對應(yīng)的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息;` 接收所述用戶緩存服務(wù)器發(fā)送的的更新數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)更新方法,其特征在于,所述數(shù)據(jù)查詢消息中包含所述用戶上一次請求更新的時(shí)間,使得接收到所述數(shù)據(jù)查詢消息的極大團(tuán)緩存服務(wù)器和/或所述用戶緩存服務(wù)器根據(jù)所述用戶上一次請求更新的時(shí)間向web服務(wù)器發(fā)送更新數(shù)據(jù)。
5.一種數(shù)據(jù)上傳方法,其特征在于,包括: 若web服務(wù)器接收到用戶當(dāng)前上傳的數(shù)據(jù),確定所述用戶所屬的極大團(tuán),所述極大團(tuán)中的用戶兩兩互為好友; 向所述用戶所屬的極大團(tuán)對應(yīng)的極大團(tuán)緩存服務(wù)器發(fā)送所述用戶當(dāng)前上傳的數(shù)據(jù),使得所述極大團(tuán)緩存服務(wù)器將所述用戶當(dāng)前上傳的數(shù)據(jù)保存至所述極大團(tuán)對應(yīng)的緩存中。
6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)上傳方法,其特征在于,所述方法還包括: 將所述用戶當(dāng)前上傳的數(shù)據(jù)發(fā)送給所述用戶的用戶緩存所在的用戶緩存服務(wù)器,使得所述用戶緩存服務(wù)器將所述用戶當(dāng)前上傳的數(shù)據(jù)保存至所述用戶的用戶緩存中。
7.根據(jù)權(quán)利要求5或6所述的數(shù)據(jù)上傳方法,其特征在于,所述用戶當(dāng)前上傳的數(shù)據(jù)中包含版本號,使得接收到所述用戶當(dāng)前上傳的數(shù)據(jù)的極大團(tuán)緩存服務(wù)器根據(jù)所述版本號確定是否保存所述用戶當(dāng)前上傳的數(shù)據(jù)。
8.—種web服務(wù)器,其特征在于,包括: 確定單元,用于若接收到用戶的數(shù)據(jù)更新請求,確定所述用戶所屬的極大團(tuán),所述極大團(tuán)中的用戶兩兩互為好友; 發(fā)送單元,用于在所述確定單元確定所述用戶所屬的極大團(tuán)之后,向所述極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息;接收單元,用于在發(fā)送單元發(fā)送所述數(shù)據(jù)查詢消息之后,接收所述極大團(tuán)緩存服務(wù)器發(fā)送的更新數(shù)據(jù),用于實(shí)現(xiàn)所述用戶的數(shù)據(jù)更新。
9.根據(jù)權(quán)利要去8所述的web服務(wù)器,其特征在于,所述更新數(shù)據(jù)中包含所述用戶的好友最后一次上傳數(shù)據(jù)的版本號; 則所述web服務(wù)器還包括: 優(yōu)化單元,用于在接收單元接收到更新數(shù)據(jù)之后,若所述更新數(shù)據(jù)中所述用戶的好友包含至少兩份更新數(shù)據(jù),則從所述至少兩份更新數(shù)據(jù)中選擇并保存一份版本號最新的更新數(shù)據(jù),丟棄其他版本號的更新數(shù)據(jù)。
10.根據(jù)權(quán)利要求8或9所述的web服務(wù)器,其特征在于,所述web服務(wù)器還包括: 獲取單元,用戶在所述確定單元確定所述用戶所屬的極大團(tuán)之后,獲取所述用戶的好友集合; 集合確定單元,用于在所述獲取單元確定獲取所述用戶的好友集合之后,根據(jù)所述用戶所屬的極大團(tuán)及所述用戶的好友集合確定所述用戶的非極大團(tuán)好友集合,所述非極大團(tuán)好友集合包含在所述用戶的好友集合中且不在所述用戶所屬的極大團(tuán)的集合中的好友的集合; 消息發(fā)送單元,用于在所述非極大團(tuán)好友集合不是空集時(shí),向所述非極大團(tuán)好友集合中的好友對應(yīng)的用戶緩存所在的用戶緩存服務(wù)器發(fā)送數(shù)據(jù)查詢消息; 數(shù)據(jù)接收單元,在所 述消息發(fā)送單元發(fā)送數(shù)據(jù)查詢消息之后,接收所述用戶緩存服務(wù)器發(fā)送的的更新數(shù)據(jù)。
11.一種web服務(wù)器,其特征在于,包括: 極大團(tuán)確定單元,用于若接收到用戶當(dāng)前上傳的數(shù)據(jù),確定所述用戶所屬的極大團(tuán),所述極大團(tuán)中的用戶兩兩互為好友; 第一發(fā)送單元,用于在所述極大團(tuán)確定單元確定所述極大團(tuán)之后,向所述極大團(tuán)對應(yīng)的緩存所在的極大團(tuán)緩存服務(wù)器發(fā)送所述用戶當(dāng)前上傳的數(shù)據(jù),使得所述極大團(tuán)緩存服務(wù)器將所述用戶當(dāng)前上傳的數(shù)據(jù)保存至所述極大團(tuán)對應(yīng)的緩存中。
12.根據(jù)權(quán)利要求11所述的web服務(wù)器,其特征在于,所述web服務(wù)器還包括: 第二發(fā)送單元,用于將所述用戶當(dāng)前上傳的數(shù)據(jù)發(fā)送給所述用戶的用戶緩存所在的用戶緩存服務(wù)器,使得所述用戶緩存服務(wù)器將所述用戶當(dāng)前上傳的數(shù)據(jù)保存至所述用戶的用戶緩存中。
【文檔編號】H04L29/08GK103825922SQ201210467886
【公開日】2014年5月28日 申請日期:2012年11月19日 優(yōu)先權(quán)日:2012年11月19日
【發(fā)明者】李華飛, 何秀強(qiáng) 申請人:華為技術(shù)有限公司