專利名稱:一種查詢即時通訊客戶端能力信息的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機網(wǎng)絡(luò)技木,特別涉及ー種查詢即時通訊(IM,InstantMessaging)客戶端能力信息的方法及裝置。
背景技術(shù):
隨著計算機網(wǎng)絡(luò)技術(shù)的發(fā)展,通過點對點的技術(shù)來實現(xiàn)互聯(lián)網(wǎng)上的即時溝通的即時通訊工具應用越來越普遍,IM已經(jīng)被大多數(shù)的用戶所接受并成為用戶日常生活以及工作中必不可少的一部分。隨著用戶越來越多的利用安裝有IM工具軟件的IM客戶端進行日常的交流與溝通,用戶對IM客戶端的易用性以及個性化服務(wù)等方面提出了越來越高的要求。由于IM客戶端中安裝的IM工具軟件類型多祥,各自能兼容不同的應用功能,但即使是對于同一應用功能,不同的IM客戶端之間,由于安裝的IM軟件不同,或者,安裝的IM軟件版本不同,或者,同一 IM軟件選擇安裝的內(nèi)容不同,均可能導致對該應用功能的不兼容。例如,在發(fā)送方(IM客戶端)具有交互功能的IM軟件中,向接收方(對方IM客戶端)發(fā)送ー個魔法表情,如果接收方不支持該應用功能,將調(diào)用通用邏輯,通知發(fā)送方自身不支持該應用功能。因而,在IM客戶端相互交互中,為了有效節(jié)約不兼容應用功能導致的資源開銷,在IM客戶端相互交互之前,發(fā)送方需要首先查詢獲取接收方的能力信息,根據(jù)接收方的能力信息確定接收方不支持待交互的應用功能,則取消應用功能交互,以有效節(jié)約資源,降低用戶成本。當然,對于其他非頂客戶端,也可以通過相互查詢能力信息的方法獲取對方相關(guān)能力信息。圖I為現(xiàn)有查詢即時通訊客戶端能力信息的方法流程示意圖。參見圖1,該流程包括步驟101,發(fā)送方向接收方發(fā)送待交互的應用功能所屬軟件版本信息獲取請求;本步驟中,一般地,如果通過IM軟件安裝某一應用功能,則假定該應用功能在該IM軟件后續(xù)改進的軟件中一直得到支持,也就是說,安裝該應用功能的當前IM軟件版本的所有后續(xù)版本都能夠支持該應用功能。實際應用中,發(fā)送方如果需要與接收方進行多個應用功能的交互,則可以向接收方發(fā)送版本信息獲取請求,攜帯所有待交互的應用功能信息。步驟102,接收方接收應用功能所屬軟件版本信息獲取請求,將應用功能所屬的軟件版本信息向發(fā)送發(fā)返回;本步驟中,接收方根據(jù)接收的獲取請求中的應用功能信息,查詢獲取自身該應用功能對應的軟件版本信息。步驟103,發(fā)送方判斷接收的應用功能所屬的軟件版本信息中包含的版本號是否不小于自身存儲的該應用功能所屬的軟件版本號,如果是,執(zhí)行步驟104,如果小于,執(zhí)行步驟 105 ;本步驟中,通過獲取接收方安裝該應用功能的軟件版本信息,與自身安裝該應用功能的軟件版本信息進行對比,如果獲取的軟件版本號不小于自身存儲的該應用功能的軟件版本號,則表明接收方能夠兼容該應用功能。例如,如果發(fā)送方安裝了軟件版本V3中增加的魔法表情功能,如果接收方返回的該魔法表情功能對應的軟件版本號為V3. 1,則表明接收方能夠兼容該魔法表情功能;而如果收方返回的該魔法表情功能對應的軟件版本號為V2或沒有軟件版本號信息,則表明接收方不支持該魔法表情功能。步驟104,與接收方進行應用功能交互;步驟105,取消與接收方的應用功能交互。由上述可見,現(xiàn)有的查詢即時通訊客戶端能力信息的方法,一方面,該方法基于在后的軟件能夠兼容在前的軟件安裝的應用功能,使得應用功能在軟件中只能増加,不能刪減,造成在后軟件容量越來越大,占用較多的存儲空間,而如果在后版本的軟件將在前版本的應用功能下架,則發(fā)送方會發(fā)生誤判,導致資源浪費,増加用戶成本,查詢可靠性較低;而且,同一版本的軟件,由于用戶選擇安裝的內(nèi)容不同,也可能造成不同頂客戶端的同一版本的軟件對同一應用功能的不兼容;進ー步地,軟件具有某一應用功能的能力信息,并不表示該能力當前可用,因為有些能力需要依賴特定平臺服務(wù),例如,如果該能力對應的應用功 能需要即時通訊客戶端平臺的服務(wù),而該平臺沒有提供該服務(wù),則該能力在即時通訊客戶端中當前處于不可用狀態(tài),因而,雖然接收方該應用功能對應的軟件版本號大于發(fā)送方對應應用功能的版本號,也會導致應用功能不兼容;另一方面,隨著基于平臺加插件模型的客戶端的軟件升級技術(shù)的出現(xiàn),即通過只升級插件的方式實現(xiàn)輕量級的軟件升級的插件升級等技術(shù)的應用,應用功能會與頂客戶端軟件版本脫鉤,在該情況下,現(xiàn)有查詢即時通訊客戶端能力信息的方法顯然不能適用。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提出一種查詢即時通訊客戶端能力信息的方法,擴展查詢適用范圍、提高查詢可靠性。本發(fā)明的另一目的在于提出一種查詢即時通訊客戶端能力信息的裝置,擴展查詢適用范圍、提高查詢可靠性。為達到上述目的,本發(fā)明提供了一種查詢即時通訊客戶端能力信息的方法,該方法包括查詢IM客戶端中安裝的插件/軟件,獲取插件/軟件的能力信息并存儲;根據(jù)接收的能力查詢請求中攜帶的能力標識,查詢存儲的插件/軟件能力信息,獲取查詢結(jié)果;向發(fā)送能力查詢請求的頂客戶端返回查詢結(jié)果以便該頂客戶端根據(jù)查詢結(jié)果執(zhí)行相應操作。所述查詢IM客戶端中安裝的插件/軟件,獲取插件/軟件的能力信息具體包括預先在每ー插件中設(shè)置用于描述對應插件具備的能力信息的初始能力配置文件;在IM客戶端中安裝插件時,根據(jù)插件中設(shè)置的初始能力配置文件獲取安裝的插件對應的能力信息并存儲為安裝能力配置文件。進ー步包括遍歷各個插件的安裝能力配置文件,形成能力列表。
所述初始能力配置文件中包含以能力標識進行區(qū)別的多種能力信息。所述安裝能力配置文件中包含區(qū)分能力信息是否需要依賴特定平臺服務(wù)的能力狀態(tài)標識,并存儲能力狀態(tài)標識為不可用時該能力對應的能力提供者信息。所述初始以及安裝能力配置文件包括可擴展標記語言格式的文件、文本格式的文件以及記事本格式的文件。通過客戶端對客戶端的自定義網(wǎng)絡(luò)協(xié)議發(fā)起所述能力查詢請求。所述根據(jù)接收的能力查詢請求中攜帶的能力標識,查詢存儲的插件/軟件能力信息,獲取查詢結(jié)果具體包括 根據(jù)接收的能力查詢請求中攜帶的能力標識,查詢能力列表如果能力列表中有相同的能力標識且能力狀態(tài)標識為可用,則查詢結(jié)果中包含可用イ目息;如果能力列表中有相同的能力標識且能力狀態(tài)標識為不可用,判斷該IM客戶端是否具備該能力,根據(jù)判斷結(jié)果生成查詢結(jié)果;如果能力列表中沒有相同的能力標識,則查詢結(jié)果中包含未查詢到相關(guān)能力信
o所述判斷該頂客戶端是否具備該能力,根據(jù)判斷結(jié)果生成查詢結(jié)果具體包括根據(jù)能力狀態(tài)標識對應的能力提供者信息,查詢該能力提供者是否提供了該能力需要的服務(wù),如果是,判斷該IM客戶端用戶是否具備享有該服務(wù)的權(quán)限,如果是,則查詢結(jié)果中包含可用信息;如果該能力提供者沒有提供該能力需要的服務(wù)、或,該即時通訊客戶端用戶不具備享有該服務(wù)的權(quán)限,則查詢結(jié)果中包含不可用信息。所述獲取查詢結(jié)果之后,向發(fā)送能力查詢請求的頂客戶端返回查詢結(jié)果之前,進ー步包括設(shè)置能力發(fā)送策略,判斷當前狀態(tài)是否滿足能力發(fā)送策略,如果是,執(zhí)行所述向發(fā)送能力查詢請求的頂客戶端返回查詢結(jié)果的步驟,否則,結(jié)束該流程。所述能力發(fā)送策略包括如果用戶向發(fā)送能力查詢請求對應的頂客戶端設(shè)置了隱身,則不發(fā)送查詢結(jié)果,如果用戶當前在線且不隱身,則發(fā)送查詢結(jié)果。ー種查詢即時通訊M客戶端能力信息的裝置,該裝置包括平臺模塊以及插件模塊,其中, 平臺模塊,用于接收能力查詢請求,根據(jù)能力查詢請求中攜帶的能力標識,查詢插件模塊存儲的插件能力信息,獲取查詢結(jié)果,向發(fā)送能力查詢請求的頂客戶端返回查詢結(jié)果以便該IM客戶端根據(jù)查詢結(jié)果執(zhí)行相應操作;插件模塊,查詢即時通訊客戶端中安裝的插件,獲取插件的能力信息并存儲。所述平臺模塊包括能力中心単元以及圖形用戶接ロ単元,其中,能力中心單元接收能力查詢請求,根據(jù)能力查詢請求中攜帶的能力標識,查詢插件模塊存儲的插件能力信息,獲取查詢結(jié)果,通過圖形用戶接ロ単元向用戶展示,并向發(fā)送能力查詢請求的即時通訊客戶端返回查詢結(jié)果以便該即時通訊客戶端根據(jù)查詢結(jié)果執(zhí)行相應操作。所述平臺模塊進一歩包括能力發(fā)送策略単元,用于存儲能力發(fā)送策略,將用戶當前狀態(tài)對應的能力發(fā)送策略輸出至能力中心単元,以便能力中心単元根據(jù)用戶當前狀態(tài)對應的能力發(fā)送策略處理查詢結(jié)果。所述平臺模塊進一歩包括能力列表存儲單元,用于在IM客戶端初始化時,遍歷插件模塊存儲的插件能力信息并存儲。相應地,能力中心單元,用于接收能力查詢請求,根據(jù)能力查詢請求中攜帶的能力標識,查詢能力列表存儲單元,獲取查詢結(jié)果。所述插件模塊包括安裝能力配置文件單元以及能力提供者単元,其中,安裝能力配置文件単元,用于在IM客戶端中安裝插件時,根據(jù)插件中設(shè)置的初始能力配置文件,獲取安裝的插件對應的能力信息并存儲,接收能力查詢請求,如果能力查詢請求中攜帯的能力標識對應的存儲的能力狀態(tài)標識為不可用,向能力提供者單元輸出能力標識;接收能力提供者単元返回的查詢結(jié)果,向能力中心單元發(fā)送;如果能力查詢請求中攜帯的能力標識對應的存儲的能力狀態(tài)標識為可用,向能力中心單元發(fā)送包含可用信息的查詢結(jié)果;能力提供者単元,用于存儲即時通訊客戶端提供的能力所需的服務(wù)信息以及即時通訊客戶端用戶享有該服務(wù)的權(quán)限信息,接收能力標識,如果存儲有該能力所需的服務(wù)信息、且該即時通訊客戶端用戶享有該服務(wù)的權(quán)限,輸出包含可用信息的查詢結(jié)果;否則,輸出包含不可用信息的查詢結(jié)果。由上述的技術(shù)方案可見,本發(fā)明提供的一種查詢即時通訊客戶端能力信息的方法及裝置,通過查詢頂客戶端中安裝的插件/軟件,獲取插件/軟件的能力信息并存儲;根據(jù)接收的能力查詢請求中攜帯的能力標識,查詢存儲的插件/軟件能力信息,獲取查詢結(jié)果;向發(fā)送能力查詢請求的頂客戶端返回查詢結(jié)果以便該頂客戶端根據(jù)查詢結(jié)果執(zhí)行相應操作。這樣,通過對IM客戶端中安裝的插件/軟件具備的能力信息進行統(tǒng)一的管理,可以避免通過版本信息查詢能力導致的誤判以及資源浪費,有效提高了查詢可靠性;同時,通過安裝軟件具備的能力信息進行查詢,適用于應用功能與IM客戶端軟件版本脫鉤的情形,擴展了查詢適用范圍。
圖I為現(xiàn)有查詢即時通訊客戶端能力信息的方法流程示意圖。圖2為本發(fā)明實施例查詢即時通訊客戶端能力信息的方法流程示意圖。圖3為本發(fā)明實施例查詢即時通訊客戶端能力信息的裝置結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例對本發(fā)明作進ー步地詳細描述。現(xiàn)有技術(shù)中,基于在后軟件能夠兼容在前軟件安裝的應用功能前提的查詢即時通訊客戶端能力信息的方法,在后軟件如果為了降低自身安裝容量而將在前軟件中的應用功能下架,將降低查詢的可靠性;進ー步地,該方法不能適用于應用功能與頂客戶端軟件版本脫鉤的情形。本發(fā)明實施例中,通過獲取安裝的插件(軟件)具備的能力信息,在頂客戶端中設(shè)置統(tǒng)一管理頂客戶端能力信息的客戶端能力中心,對客戶端具有的能力信息進行統(tǒng)ー的管理,從而可以動態(tài)靈活地查詢客戶端是否具備哪些能力,以提高客戶端間交互應用功能的開發(fā)效率。圖2為本發(fā)明實施例查詢即時通訊客戶端能力信息的方法流程示意圖。參見圖2,該流程包括步驟201,查詢即時通訊客戶端中安裝的插件/軟件,獲取插件/軟件的能力信息并存儲;本步驟中,插件(軟件)提供各種應用業(yè)務(wù)邏輯,插件(軟件)具有的應用功能能カ通過應用業(yè)務(wù)邏輯體現(xiàn)。以下以插件為例進行說明。本發(fā)明實施例中,在每ー插件中設(shè)置初始能力配置文件,用于描述對應插件具備 的能力信息。
實際應用中,ー個插件可以具有多種能力,則在初始能力配置文件中,每種能力信息以能力標識進行區(qū)別,該能力標識具有唯一性。如前所述,有些能力需要依賴特定平臺服務(wù),在該情況下,設(shè)置能力信息的狀態(tài)標識(ID, Identification)以區(qū)分該能力信息是否需要依賴特定平臺服務(wù)。如果能力信息的狀態(tài)ID為可用,表示該能力信息不依賴于特定平臺服務(wù),如果能力信息的狀態(tài)ID為不可用,表示該能力信息需依賴于特定平臺服務(wù),對于能力狀態(tài)ID為不可用的情形,存儲該能力對應的能力提供者信息。實際應用中,對于同一插件,在安裝過程中,由于用戶選擇的不同,使得安裝后的插件對同一應用功能具有不同的兼容模式,因而,本發(fā)明實施例中,在頂客戶端中安裝插件時,根據(jù)插件中設(shè)置的初始能力配置文件獲取安裝的插件對應的能力信息并存儲為安裝能力配置文件。在后續(xù)插件的更新或升級中,只需要根據(jù)更新的能力信息更新安裝能力配置文件中相應內(nèi)容即可,可以動態(tài)靈活地存儲頂客戶端中安裝的插件具有的能力信息。能力配置文件包括可擴展標記語言(XML,Extensible Markup Language)格式的文件、文本格式的文件以及記事本格式的文件等。每一安裝的插件可以對應一個安裝能力配置文件。較佳地,在即時通訊客戶端初始化時,遍歷各個插件的安裝能力配置文件,獲取插件的能力信息,形成能力列表并存儲。在能力列表中,各插件的能力信息以插件ID進行區(qū)另U,當然,在能力列表中,各插件的能力信息也可以分別以能力ID進行區(qū)別。這樣,通過在插件中設(shè)置初始能力配置文件,用以描述插件具備的能力信息,在IM客戶端中安裝插件時,根據(jù)插件中設(shè)置的初始能力配置文件獲取安裝的插件對應的能力信息并存儲為安裝能力配置文件,并在即時通訊客戶端初始化時,遍歷獲取各插件對應的安裝能力配置文件中包含的能力信息,形成能力列表,避免了在后軟件將在前軟件中的應用功能下架導致的應用功能查詢發(fā)生錯誤的情形;同時,在應用功能與即時通訊客戶端軟件版本脫鉤后,通過安裝能力配置文件,可以獲取該安裝的插件支持的應用功能,從而可以進行能力信息查詢。步驟202,根據(jù)接收的能力查詢請求中攜帶的能力標識,查詢存儲的插件/軟件能力信息,獲取查詢結(jié)果; 本步驟中,如果即時通訊客戶端A需要查詢即時通訊客戶端B是否具備某一能力,可以通過客戶端對客戶端的自定義網(wǎng)絡(luò)協(xié)議向即時通訊客戶端B發(fā)起能力查詢請求,攜帯待查詢的能力標識。如果需要查詢多項能力,則可以在能力查詢請求中攜帶該待查詢的多項能力對應的標識。也可以在能力查詢請求中,不攜帶有任何能力標識,則默認為查詢該即時通訊客戶端A的所有能力信息。如前所述,安裝配置文件中描述的插件具備的能力信息,并不表示該能力當前可用,舉例來說,對于QQShow,如果即時通訊客戶端平臺沒有播放flash的功能,則該即時通訊客戶端中,應用功能QQShow當前不可用。本發(fā)明實施例中,如果在即時通訊客戶端初始化時,已遍歷各個插件的安裝能力配置文件形成能力列表,則根據(jù)能力查詢請求中攜帯的能力標識,查詢能力列表;如果未形成能力列表,則遍歷各個插件的安裝能力配置文件如果有相同的能力標識且能力狀態(tài)標識為可用,則表明該IM客戶端支持該應用功能能力;
·
如果有相同的能力標識且能力狀態(tài)標識為不可用,需要進ー步判斷該即時通訊客戶端是否具備該能力,具體步驟包括根據(jù)能力狀態(tài)標識對應的能力提供者信息,查詢該能力提供者是否提供了該能力需要的服務(wù),例如,查詢頂客戶端平臺是否能播放flash,如果是,判斷該即時通訊客戶端用戶是否具備享有該服務(wù)的權(quán)限,如果是,表示該即時通訊客戶端具備該能力,如果該能力提供者沒有提供該能力需要的服務(wù)、或,該即時通訊客戶端用戶不具備享有該服務(wù)的權(quán)限,則表明該即時通訊客戶端不具備該能力。步驟203,向發(fā)送能力查詢請求的即時通訊客戶端返回查詢結(jié)果以便該即時通訊客戶端根據(jù)查詢結(jié)果執(zhí)行相應操作。本步驟中,如果即時通訊客戶端B存儲的能力列表中包含能力查詢請求中攜帯的能力標識對應的能力,則進一歩獲取該能力的能力狀態(tài)標識,如果該能力狀態(tài)標識為可用,則向即時通訊客戶端A返回包含該能力可用信息的查詢結(jié)果;如果該能力狀態(tài)標識為不可用,則進一歩判斷該即時通訊客戶端是否具備該能力,如果具備,向即時通訊客戶端A返回包含該能力可用信息的查詢結(jié)果;如果即時通訊客戶端B存儲的能力列表中不包含能力查詢請求中攜帯的能力標識對應的能力、或,在該能力狀態(tài)標識為不可用時,判斷該即時通訊客戶端不具備該能力,向即時通訊客戶端A返回包含該能力不可用信息的查詢結(jié)果。可以通過客戶端對客戶端的自定義網(wǎng)絡(luò)協(xié)議返回查詢結(jié)果。實際應用中,對于即時通訊客戶端B來說,當接收到即時通訊客戶端A發(fā)送的能力查詢請求前,如果一直處于隱身狀態(tài),而在接收到即時通訊客戶端A發(fā)送的能力查詢請求后,也不希望與該即時通訊客戶端A進行應用功能交互,如果自動將查詢結(jié)果向即時通訊客戶端A發(fā)送,則即時通訊客戶端A可以知道該即時通訊客戶端B處于在線狀態(tài),則可以通過發(fā)送應用功能交互信息與即時通訊客戶端B進行聯(lián)系,使得即時通訊客戶端B不得不被動應答,為了避免此類尷尬,進一歩地,在向發(fā)送能力查詢請求的即時通訊客戶端返回查詢結(jié)果之前,包括設(shè)置能力發(fā)送策略,判斷當前狀態(tài)是否滿足能力發(fā)送策略,如果是,執(zhí)行步驟203,否則,結(jié)束該流程。能力發(fā)送策略可以是如果設(shè)置了隱身,則不發(fā)送查詢結(jié)果,而如果用戶當前在線且不隱身,則可以發(fā)送查詢結(jié)果。這樣,即時通訊客戶端B在得到查詢結(jié)果后,判斷用戶當前所處的狀態(tài),如果用戶對該發(fā)送能力查詢請求的即時通訊客戶端設(shè)置了隱身,則不發(fā)送查詢結(jié)果或返回用戶未在線信息,以避免被動應答的情形。由上述可見,本發(fā)明實施例的查詢即時通訊客戶端能力信息的方法,查詢即時通訊客戶端中安裝的插件/軟件,獲取插件/軟件的能力信息并存儲;根據(jù)接收的能力查詢請求中攜帯的能力標識,查詢存儲的插件/軟件能力信息,獲取查詢結(jié)果;向發(fā)送能力查詢請求的即時通訊客戶端返回查詢結(jié)果以便該即時通訊客戶端根據(jù)查詢結(jié)果執(zhí)行相應操作。這樣,通過對IM客戶端安裝的插件/軟件具備的能力信息進行統(tǒng)一的管理,避免了通過版本信息查詢能力導致的在后版本的軟件將在前版本的應用功能下架,使得發(fā)送方發(fā)生誤判造成的資源浪費,用戶成本増加,查詢可靠性較低的技術(shù)問題,提高了查詢可靠性;而且,也避免了通過版本信息查詢能力導致的由于用戶選擇安裝的內(nèi)容不同,造成不同IM客戶端的同一版本的軟件對同一應用功能不兼容的現(xiàn)象;進ー步地,可以解決有些能力需要依賴特定平臺服務(wù)來確定是否可用的缺陷;此外,通過安裝軟件具備的能力信息進行查詢,適用于應用功能與頂客戶端軟件版本脫鉤的情形,擴展了查詢適用范圍;還可以動態(tài)靈活地查詢IM客戶端是否具備哪些能力,滿足了交互功能中問詢對方能力的通用需求,極大地提高了 此類需求的用戶體驗。圖3為本發(fā)明實施例查詢即時通訊客戶端能力信息的裝置結(jié)構(gòu)示意圖。參見圖3,該裝置包括平臺(Platform)模塊以及一個或多個插件(Plugin)模塊,其中,平臺模塊,用于接收能力查詢請求,根據(jù)能力查詢請求中攜帶的能力標識,查詢插件模塊存儲的插件能力信息,獲取查詢結(jié)果,向發(fā)送能力查詢請求的即時通訊客戶端返回查詢結(jié)果以便該即時通訊客戶端根據(jù)查詢結(jié)果執(zhí)行相應操作;插件模塊,查詢即時通訊客戶端中安裝的插件,獲取插件的能力信息并存儲。本發(fā)明實施例中,平臺模塊提供通用的、基礎(chǔ)的邏輯,插件提供各種業(yè)務(wù)邏輯,能力通過業(yè)務(wù)邏輯體現(xiàn)。查詢結(jié)果中可以包括該能力可用信息,表示該IM客戶端具備該能力,可以進行應用功能交互、該能力不可用信息,表示該IM客戶端雖然具備該能力,但不能進行應用功能交互、以及未查詢到相關(guān)能力信息,表示該頂客戶端不具備該能力。平臺模塊包括能力中心(Ability Center)單元以及圖形用戶接ロ(⑶I,Graphic User Interface)單兀,其中,能力中心單元,用于接收能力查詢請求,根據(jù)能力查詢請求中攜帶的能力標識,查詢插件模塊存儲的插件能力信息,獲取查詢結(jié)果,通過圖形用戶接ロ単元向用戶展示,井向發(fā)送能力查詢請求的即時通訊客戶端返回查詢結(jié)果以便該即時通訊客戶端根據(jù)查詢結(jié)果執(zhí)行相應操作。 本發(fā)明實施例中,能力中心単元用于控制能力查詢邏輯。進ー步包括能力發(fā)送策略単元,用于存儲能力發(fā)送策略,將用戶當前狀態(tài)對應的能力發(fā)送策略輸出至能力中心単元,以便能力中心単元根據(jù)用戶當前狀態(tài)對應的能力發(fā)送策略處理查詢結(jié)果。本發(fā)明實施例中,如果用戶當前狀態(tài)為隱身,對應的能力發(fā)送策略為不發(fā)送查詢結(jié)果或返回用戶未在線信息,則能力中心単元根據(jù)該能力發(fā)送策略,不發(fā)送查詢結(jié)果或返回用戶未在線信息;如果用戶當前狀態(tài)為在線且未隱身,對應的能力發(fā)送策略為發(fā)送查詢結(jié)果,則能力中心単元根據(jù)該能力發(fā)送策略發(fā)送查詢結(jié)果。進ー步包括能力列表存儲單元,用于在IM客戶端初始化時,遍歷插件模塊存儲的插件能力信息并存儲。相應地,能力中心單元,用于接收能力查詢請求,根據(jù)能力查詢請求中攜帶的能力標識,查詢能力列表存儲單元,獲取查詢結(jié)果。插件模塊包括安裝能力配置文件單元以及能力提供者単元,其中,安裝能力配置文件単元,用于在IM客戶端中安裝插件時,根據(jù)插件中設(shè)置的初始 能力配置文件,獲取安裝的插件對應的能力信息并存儲,接收能力查詢請求,如果能力查詢請求中攜帯的能力標識對應的存儲的能力狀態(tài)標識為不可用,向能力提供者單元輸出能力標識;接收能力提供者単元返回的查詢結(jié)果,向能力中心單元發(fā)送;如果能力查詢請求中攜帯的能力標識對應的存儲的能力狀態(tài)標識為可用,向能力中心單元發(fā)送包含可用信息的查詢結(jié)果;本發(fā)明實施例中,安裝能力配置文件単元可以與插件一一對應,即ー個插件對應于ー個安裝能力配置文件単元,能力配置文件用于描述對應插件具備哪些能力,井指明能力對應的能力提供者信息。如前所述,如果平臺模塊中未包含能力列表存儲單元,則能力中心單元將接收的能力查詢請求同時向各安裝能力配置文件單元發(fā)送,或,依序向各安裝能力配置文件単元發(fā)送,即向某一安裝能力配置文件單元發(fā)送能力查詢請求后,如果返回的查詢結(jié)果為未查詢到相關(guān)能力信息,則依序向下一安裝能力配置文件單元發(fā)送能力查詢請求。當然,如前所述,實際應用中,即時通訊客戶端在初始化的時候,能力列表存儲單元可以遍歷各個插件的安裝能力配置文件単元,生成或初始化能力列表,這樣,能力中心單元就可以直接從能力列表單元獲取能力查詢請求相關(guān)的信息。也就是說,在初始化時,能力列表存儲單元遍歷各個插件的安裝能力配置文件単元,初始化能力列表,能力中心単元根據(jù)能力列表単元確定是否有插件支持該能力,如果沒有,則認為即時通訊客戶端B沒有該能力;如果有且能力列表単元明確不需要向能力提供者単元求證(能力狀態(tài)標識為可用),則認為即時通訊客戶端B具有該能力;如果有且能力列表単元明確需要向能力提供者単元求證(能力狀態(tài)標識為不可用),則調(diào)用對應的能力提供者単元的IsAvailable方法,求證該能力是否可用。能力提供者単元,用于存儲即時通訊客戶端提供的能力所需的服務(wù)信息以及即時通訊客戶端用戶享有該服務(wù)的權(quán)限信息,接收能力標識,如果存儲有該能力所需的服務(wù)信息、且該即時通訊客戶端用戶享有該服務(wù)的權(quán)限,輸出包含可用信息的查詢結(jié)果;否則,輸出包含不可用信息的查詢結(jié)果。本發(fā)明實施例中,安裝配置文件或能力列表中描述了插件具備某項能力,并不代表該能力當前可用,因而,該能力當前是否可用由能力提供者單元來評判。如果是安裝能力配置文件單元發(fā)送能力標識,則向安裝能力配置文件單元發(fā)送包含可用信息或不可用信息的查詢結(jié)果;如果是能力列表存儲單元發(fā)送能力標識,則向能力列表存儲單元發(fā)送包含可用信息或不可用信息的查詢結(jié)果。以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在 本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.ー種查詢即時通訊IM客戶端能力信息的方法,其特征在于,該方法包括 查詢IM客戶端中安裝的插件/軟件,獲取插件/軟件的能力信息并存儲; 根據(jù)接收的能力查詢請求中攜帯的能力標識,查詢存儲的插件/軟件能力信息,獲取查詢結(jié)果; 向發(fā)送能力查詢請求的頂客戶端返回查詢結(jié)果以便該頂客戶端根據(jù)查詢結(jié)果執(zhí)行相應操作。
2.如權(quán)利要求I所述的方法,其特征在于,所述查詢M客戶端中安裝的插件/軟件,獲取插件/軟件的能力信息具體包括 預先在每ー插件中設(shè)置用于描述對應插件具備的能力信息的初始能力配置文件; 在IM客戶端中安裝插件時,根據(jù)插件中設(shè)置的初始能力配置文件獲取安裝的插件對應的能力信息并存儲為安裝能力配置文件。
3.如權(quán)利要求I所述的方法,其特征在干,進ー步包括 遍歷各個插件的安裝能力配置文件,形成能力列表。
4.如權(quán)利要求2或3所述的方法,其特征在于,所述初始能力配置文件中包含以能力標識進行區(qū)別的多種能力信息。
5.如權(quán)利要求4所述的方法,其特征在干,所述安裝能力配置文件中包含區(qū)分能力信息是否需要依賴特定平臺服務(wù)的能力狀態(tài)標識,并存儲能力狀態(tài)標識為不可用時該能力對應的能力提供者信息。
6.如權(quán)利要求4所述的方法,其特征在于,所述初始以及安裝能力配置文件包括可擴展標記語言格式的文件、文本格式的文件以及記事本格式的文件。
7.如權(quán)利要求4所述的方法,其特征在于,通過客戶端對客戶端的自定義網(wǎng)絡(luò)協(xié)議發(fā)起所述能力查詢請求。
8.如權(quán)利要求4所述的方法,其特征在于,所述根據(jù)接收的能力查詢請求中攜帯的能力標識,查詢存儲的插件/軟件能力信息,獲取查詢結(jié)果具體包括 根據(jù)接收的能力查詢請求中攜帶的能力標識,查詢能力列表 如果能力列表中有相同的能力標識且能力狀態(tài)標識為可用,則查詢結(jié)果中包含可用信息; 如果能力列表中有相同的能力標識且能力狀態(tài)標識為不可用,判斷該頂客戶端是否具備該能力,根據(jù)判斷結(jié)果生成查詢結(jié)果; 如果能力列表中沒有相同的能力標識,則查詢結(jié)果中包含未查詢到相關(guān)能力信息。
9.如權(quán)利要求8所述的方法,其特征在于,所述判斷該IM客戶端是否具備該能力,根據(jù)判斷結(jié)果生成查詢結(jié)果具體包括 根據(jù)能力狀態(tài)標識對應的能力提供者信息,查詢該能力提供者是否提供了該能力需要的服務(wù),如果是,判斷該IM客戶端用戶是否具備享有該服務(wù)的權(quán)限,如果是,則查詢結(jié)果中包含可用信息;如果該能力提供者沒有提供該能力需要的服務(wù)、或,該即時通訊客戶端用戶不具備享有該服務(wù)的權(quán)限,則查詢結(jié)果中包含不可用信息。
10.如權(quán)利要求9所述的方法,其特征在于,所述獲取查詢結(jié)果之后,向發(fā)送能力查詢請求的IM客戶端返回查詢結(jié)果之前,進ー步包括 設(shè)置能力發(fā)送策略,判斷當前狀態(tài)是否滿足能力發(fā)送策略,如果是,執(zhí)行所述向發(fā)送能力查詢請求的頂客戶端返回查詢結(jié)果的步驟,否則,結(jié)束該流程。
11.如權(quán)利要求10所述的方法,其特征在于,所述能力發(fā)送策略包括如果用戶向發(fā)送能力查詢請求對應的頂客戶端設(shè)置了隱身,則不發(fā)送查詢結(jié)果,如果用戶當前在線且不隱身,則發(fā)送查詢結(jié)果。
12.—種查詢即時通訊IM客戶端能力信息的裝置,其特征在于,該裝置包括平臺模塊以及插件模塊,其中, 平臺模塊,用于接收能力查詢請求,根據(jù)能力查詢請求中攜帯的能力標識,查詢插件模塊存儲的插件能力信息,獲取查詢結(jié)果,向發(fā)送能力查詢請求的頂客戶端返回查詢結(jié)果以便該IM客戶端根據(jù)查詢結(jié)果執(zhí)行相應操作; 插件模塊,查詢即時通訊客戶端中安裝的插件,獲取插件的能力信息并存儲。
13.如權(quán)利要求12所述的裝置,其特征在于,所述平臺模塊包括能力中心単元以及圖形用戶接ロ單元,其中, 能力中心單元接收能力查詢請求,根據(jù)能力查詢請求中攜帶的能力標識,查詢插件模塊存儲的插件能力信息,獲取查詢結(jié)果,通過圖形用戶接ロ単元向用戶展示,并向發(fā)送能力查詢請求的即時通訊客戶端返回查詢結(jié)果以便該即時通訊客戶端根據(jù)查詢結(jié)果執(zhí)行相應操作。
14.如權(quán)利要求13所述的裝置,其特征在于,所述平臺模塊進一歩包括 能力發(fā)送策略単元,用于存儲能力發(fā)送策略,將用戶當前狀態(tài)對應的能力發(fā)送策略輸出至能力中心単元,以便能力中心単元根據(jù)用戶當前狀態(tài)對應的能力發(fā)送策略處理查詢結(jié)果。
15.如權(quán)利要求14所述的裝置,其特征在于,所述平臺模塊進一歩包括 能力列表存儲單元,用于在IM客戶端初始化時,遍歷插件模塊存儲的插件能力信息并存儲。相應地, 能力中心單元,用于接收能力查詢請求,根據(jù)能力查詢請求中攜帶的能力標識,查詢能力列表存儲單元,獲取查詢結(jié)果。
16.如權(quán)利要求15所述的裝置,其特征在于,所述插件模塊包括安裝能力配置文件單元以及能力提供者單元,其中, 安裝能力配置文件単元,用于在IM客戶端中安裝插件時,根據(jù)插件中設(shè)置的初始能力配置文件,獲取安裝的插件對應的能力信息并存儲,接收能力查詢請求,如果能力查詢請求中攜帯的能力標識對應的存儲的能力狀態(tài)標識為不可用,向能力提供者單元輸出能力標識;接收能力提供者単元返回的查詢結(jié)果,向能力中心單元發(fā)送;如果能力查詢請求中攜帶的能力標識對應的存儲的能力狀態(tài)標識為可用,向能力中心單元發(fā)送包含可用信息的查詢結(jié)果; 能力提供者単元,用于存儲即時通訊客戶端提供的能力所需的服務(wù)信息以及即時通訊客戶端用戶享有該服務(wù)的權(quán)限信息,接收能力標識,如果存儲有該能力所需的服務(wù)信息、且該即時通訊客戶端用戶享有該服務(wù)的權(quán)限,輸出包含可用信息的查詢結(jié)果;否則,輸出包含不可用信息的查詢結(jié)果。
全文摘要
本發(fā)明公開了一種查詢即時通訊IM客戶端能力信息的方法及裝置。該方法包括查詢IM客戶端中安裝的插件/軟件,獲取插件/軟件的能力信息并存儲;根據(jù)接收的能力查詢請求中攜帶的能力標識,查詢存儲的插件/軟件能力信息,獲取查詢結(jié)果;向發(fā)送能力查詢請求的IM客戶端返回查詢結(jié)果以便該IM客戶端根據(jù)查詢結(jié)果執(zhí)行相應操作。應用本發(fā)明,可以擴展查詢適用范圍、提高查詢可靠性。
文檔編號H04L12/58GK102790753SQ20111013178
公開日2012年11月21日 申請日期2011年5月20日 優(yōu)先權(quán)日2011年5月20日
發(fā)明者吳祖榕, 欒濤 申請人:騰訊科技(深圳)有限公司