表的用戶和頻道列表的頻道的指定位置顯示各自對應的浮層圖標。在服務端的支持與配合下,由于浮層圖標代表頻道或用戶參與的業務或表示頻道或用戶的預定身份,通過這種方式,能夠在頻道列表或好友列表指定位置顯示對應的浮層圖標,增加曝光機會,從而使其它用戶即時快速地了解這些有浮層圖標的頻道或用戶。
[0102]其中,在另一實施方式中,該方法還包括:
[0103](I)響應客戶端的請求,向客戶端發送頻道或用戶的浮層圖標的配置信息數據包。
[0104](2)接收客戶端發送的獲取頻道或用戶的浮層圖標ID的請求,并根據頻道ID或用戶ID的信息查找并獲取到對應的浮層圖標ID。
[0105](3)返回頻道或用戶的對應的浮層圖標ID至客戶端,以供客戶端根據返回的對應的浮層圖標ID,在其所獲取的配置信息數據包中查找并獲取到對應的浮層圖標信息。
[0106]其中,該方法還包括:
[0107](11)管理頻道或用戶浮層圖標的相關信息,生成并更新浮層圖標的配置信息數據包。
[0108]進一步地,生成并更新頻道或用戶浮層圖標的配置信息數據包是生成可擴展標記語言XML的配置信息數據包,并更新至內容分發網絡⑶N,以供客戶端獲取最新的XML的配置信息數據包。浮層圖標的配置信息數據包既包括浮層圖標的配置信息,也還可以包括浮層的配置信息。
[0109](22)管理并更新浮層圖標ID、業務ID以及頻道ID或用戶ID之間的關系,并將最新的浮層圖標ID、業務ID以及頻道ID或用戶ID之間關系的數據包存儲至服務端的即時通訊服務器。
[0110]其中,最新的浮層圖標ID、業務ID以及頻道ID或用戶ID之間關系的數據包在存儲至后天服務器或即時通訊服務器的同時,進一步存儲至后臺端的用戶關系鏈數據存儲服務器中。
[0111]通過這種方式,以防止在即時通訊服務器出現問題,不能提供服務時,通過后臺端的用戶關系鏈數據存儲服務器,仍然能夠保證服務的正常運作。
[0112]其中,浮層圖標是針對頻道或用戶參與的活動,而用于主面板列表區域的個性化裝飾的展示。
[0113]進一步地,服務端的服務器在存儲數據時,可以采用如圖9所示的三層設計的數據緩存模型,以便于為客戶端提供數據訪問服務:
[0114]一層緩存11:應用進程內內存緩存,用以提供最直接、高速的熱度數據緩存訪問
511;
[0115]二層緩存12:使用Memcached作為全量緩存,提供大規模、高速的數據緩存訪問
512;
[0116]三層緩存13:使用MySQL作為持久化的數據存儲層,存儲全網用戶數據;提供一層緩存、二層緩存的數據來源;以及一層、二層數據緩存訪問失敗的情況下的數據訪問保障S13。
[0117]服務器在接受客戶端的數據請求時,依次在各層緩存中查找需要的數據。
[0118]通過這種方式,可以保證不同數據請求的不同訪問速度,同時保證數據訪問的成功率。
[0119]進一步地,在服務器中存儲的數據的數據模型可以是:使用C++數據結構map表達每個頻道或用戶的浮層圖標數據;合理設計map,使浮層圖標數據系統能夠靈活擴展。
[0120]在業務擴展方面,使用uintl6_t作為map的索引,代表特定的浮層圖標業務。索引的唯一性,保證不同頻道或用戶的浮層圖標之間的隔離性與安全性;uintl6_t足以保證在可以預見的未來,能夠滿足所有的用戶增長;同時因為索引是可以動態添加刪除的,因此浮層圖標的上下架操作亦能得到靈活的支持。
[0121]在數據格式擴展方面,使用二進制字符串存儲map索引的值,代表特定浮層圖標業務的對應業務數據。平臺存儲并不會對業務數據格式作限定,因此每項業務可以根據自身需求,設計合理的應用數據結構,應用業務保持對用戶數據的靈活控制與擴展。
[0122]進一步地,在網絡拓撲方面,參見圖10。
[0123]宏觀上采用對等的、多機房部署,使整套服務端系統可以靈活地水平擴展,以滿足日益增長的業務訪問需求。
[0124]在每個機房,可以分為幾大模塊:數據接入層、數據訪問層、數據存儲層、數據更新層,具體端口及數據接口方面,請參見圖11。
[0125]數據接入層:數據接入層是用戶請求的服務訪問前端26,組織主要的數據邏輯、業務邏輯等,提供一定時間內的熱度數據,并提供數據訪問層的路由;
[0126]數據訪問層:提供Memcached24及MySQL23的訪問代理25,提供高并發的數據訪問接口 ;
[0127]數據存儲層:MemCaChed24提供全量的數據緩存,提高高速數據訪問;MySQL23提供持久化的數據存儲;
[0128]數據更新層:提供thrift及私有協議更新接口 21,當用戶數據更新時,通過同步隊列22將更新數據同步到各級緩存。
[0129]通過上述方式,三層緩存模型提供大規模、高并發的數據訪問的可能。使用良好設計的map數據結構,能夠為系統及業務提供足夠的靈活性與擴展性;業務可以靈活、自由擴展而無需涉及后端服務改動,這樣非常有利于業務開展、推廣及提高開發效率。基于機房部署的模塊化的網絡拓撲設計,無論在宏觀(機房間)或微觀(機房內)都能夠做到靈活的水平擴展,因應訪問量及業務的需求擴展部署。
[0130]參見圖12,圖12是本發明在主面板顯示信息的客戶端裝置一實施方式的結構示意圖,本實施方式的客戶端裝置可以執行上述客戶端方法中的步驟,相關內容的詳細說明請參見客戶端方法部分,在此不再贅敘。
[0131]該裝置包括:第一接收模塊101、第一發送模塊102、第二發送模塊103、第二接收模塊104以及第一顯示模塊105。
[0132]第一接收模塊101用于接受頻道或用戶參與業務的指令。
[0133]第一發送模塊102用于將指令發送給服務端,以供服務端綁定頻道或用戶ID與業務ID的對應關系。
[0134]第二發送模塊103用于在用戶登錄客戶端時,獲取好友列表中的用戶ID及頻道列表中的頻道ID,并向服務端發送頻道或用戶ID,以供服務端確定與頻道或用戶ID綁定的業務ID,并進一步確定與業務ID綁定的浮層圖標ID,服務端預先已綁定業務ID與浮層圖標ID之間的對應關系。
[0135]第二接收模塊104用于接收服務端發送的與頻道或用戶ID關聯的浮層圖標ID。
[0136]第一顯示模塊105用于根據浮層圖標ID,在好友列表的用戶和頻道列表的頻道的指定位置顯示各自對應的浮層圖標。
[0137]本發明實施方式接受頻道或用戶參與業務的指令;將指令發送給服務端,以供服務端綁定頻道或用戶ID與業務ID的對應關系;在用戶登錄客戶端時,獲取好友列表中的用戶ID及頻道列表中的頻道ID,并向服務端發送頻道或用戶ID,以供服務端確定與頻道或用戶ID綁定的業務ID,并進一步確定與業務ID綁定的浮層圖標ID,服務端預先已綁定業務ID與浮層圖標ID之間的對應關系;接收服務端發送的與頻道或用戶ID關聯的浮層圖標ID ;根據浮層圖標ID,在好友列表的用戶和頻道列表的頻道的指定位置顯示各自對應的浮層圖標。由于浮層圖標代表頻道或用戶參與的業務或表示頻道或用戶的預定身份,通過這種方式,能夠在頻道列表或好友列表的指定位置顯示對應的浮層圖標,增加曝光機會,從而使其它用戶即時快速地了解這些有浮層圖標的頻道或用戶。
[0138]其中,第一顯示模塊還用于當用戶點擊浮層圖標時,顯示浮層圖標對應的靜態浮層圖片或動態浮層、跳轉到對應的業務的鏈接。
[0139]裝置還包括:第二顯示模塊。
[0140]第二顯示模塊用于在用戶參與多個業務,當用戶點擊浮層圖標時,向用戶顯示與多個業務分別對應的浮層。
[0141]第一顯示模塊還用于顯示用戶選中的浮層。
[0142]裝置還包括:獲取模塊。
[0143]獲取模塊用于在用戶登錄客戶端時,從服務端的后臺服務器獲取頻道或用戶的浮層圖標的配置信息數據包,并存儲在客戶端。
[0144]第一顯示模塊還用于根據服務端所返回的浮層圖標ID,在配置信息數據包中查找并獲取對應的浮層圖標信息;根據浮層圖標信息,在好友列表的用戶和頻道列表的頻道的指定位置顯示各自對應的浮層圖標。
[014