專利名稱:客戶端界面可定制的即時(shí)通信的方法與系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電通信技術(shù),特別是涉及一種客戶端界面可定制的即時(shí)通信方法與系統(tǒng)。
背景技術(shù):
隨著社會及科技的發(fā)展,人們越來越重視信息交流和溝通的及時(shí)性,因此,可以使得人們之間互相聯(lián)絡(luò)和溝通更為方便的即時(shí)通信系統(tǒng)逐漸被用戶所認(rèn)可接受。作為通過互聯(lián)網(wǎng)即時(shí)和他人聯(lián)系的一種方式,即時(shí)通信系統(tǒng)具有互動性強(qiáng)、價(jià)格便宜等特點(diǎn)。一般的,IM服務(wù)是有諸如騰訊、Microsoft等公司提供的。連接至因特網(wǎng)的計(jì)算機(jī)可以使用客戶機(jī)應(yīng)用程序訪問IM服務(wù)。客戶機(jī)應(yīng)用程序可以被實(shí)現(xiàn)為本地客戶端或基于瀏覽器的客戶端。本地客戶端是存儲在計(jì)算機(jī)上并允許客戶訪問IM的界面的程序?;跒g覽器的客戶端一般是由Web服務(wù)器提供的程序,從網(wǎng)絡(luò)服務(wù)器裝載的界面允許用戶訪問IM服務(wù)。
即時(shí)通信系統(tǒng)包括服務(wù)端和至少一個(gè)客戶端,其中,用戶可以與其他用戶形成好友關(guān)系。所述的客戶端需要有兩個(gè)基本構(gòu)成部分主窗體,用于顯示聯(lián)系人(好友列表),并通過菜單、按鈕等界面元素為系統(tǒng)其他可以進(jìn)行的操作提供入口;會話窗口,用于實(shí)現(xiàn)與特定的一個(gè)或多個(gè)即時(shí)通信聯(lián)系人進(jìn)行會話。對于私有協(xié)議的即時(shí)通信系統(tǒng),如騰訊公司的QQ,其客戶端由騰訊公司提供;對于協(xié)議開放的即時(shí)通信系統(tǒng),如Jabber(XMPP)、Microsoft MSN Messenger等,其客戶端存在多種實(shí)現(xiàn)。然而,現(xiàn)有的即時(shí)通信系統(tǒng)中,客戶端與服務(wù)器、客戶端與客戶端之間,無論采取何種通信協(xié)議都只能使用客戶端預(yù)先定義好的通信的界面進(jìn)行即時(shí)消息的交換;當(dāng)通信對方為應(yīng)用系統(tǒng)時(shí),采用現(xiàn)有的客戶端預(yù)先定義好的界面,通信雙方難以進(jìn)行業(yè)務(wù)系統(tǒng)密切相關(guān)的會話。
更進(jìn)一步的,應(yīng)用系統(tǒng)需要通過即時(shí)通信客戶端為客戶提供額外的增值服務(wù),而采用現(xiàn)有技術(shù)模型,應(yīng)用系統(tǒng)很難對即時(shí)通信客戶端主界面進(jìn)行增強(qiáng)。雖然微軟MSN Messenger、騰訊QQ的支持通過Web對即時(shí)通信客戶端的主界面進(jìn)行修改,但此種修改僅限于在主界面上增加一個(gè)或多個(gè)選項(xiàng)卡(tab),在新增的選項(xiàng)卡中嵌入瀏覽器控件,并使用該控件訪問網(wǎng)絡(luò)來增加對新功能的訪問方式,而不能對主界面本身進(jìn)行修改,如增加新的菜單欄等;淘寶旺旺等專用客戶端則將應(yīng)用系統(tǒng)的某些功能固化到通信客戶端主界面上,不能根據(jù)使用的應(yīng)用進(jìn)行動態(tài)定制。
發(fā)明內(nèi)容
本發(fā)明提供了一種客戶端界面可定制的即時(shí)通信的方法和系統(tǒng),使得即時(shí)通信的客戶端,其主界面可以根據(jù)其登陸不同的即時(shí)通信系統(tǒng)以及其處理的不同消息而有不同的呈現(xiàn)方式;其即時(shí)通信界面根據(jù)其處理的會話內(nèi)容的不同而有不同的呈現(xiàn)方式。采用本發(fā)明所述的即時(shí)通信的方法與系統(tǒng),用戶可以實(shí)現(xiàn)復(fù)雜的控制。例如,在一個(gè)與辦公自動化系統(tǒng)集成的即時(shí)通信系統(tǒng)中,用戶可以在即時(shí)通信客戶端中完成文件的上傳、審核的操作,而無需對客戶端進(jìn)行針對具體業(yè)務(wù)系統(tǒng),在本例中為辦公自動化系統(tǒng)的定制。
本發(fā)明的目的是通過如下技術(shù)手段實(shí)現(xiàn)的本發(fā)明公開了客戶端界面可定制的即時(shí)通信的方法,通信對方為自然人或某種程序,包括如下步驟a)即時(shí)通信客戶端收到通信對方發(fā)來的消息,所述的消息含有如何處理其自身的說明;b)即時(shí)通信客戶端根據(jù)所述的處理說明,確定具體的消息處理界面;c)將所述的消息使用所述的界面展現(xiàn)給使用即時(shí)通信客戶端的用戶;d)用戶通過所述的界面與通信對方進(jìn)行即時(shí)通信會話。
所述的即時(shí)通信的方法,其中,步驟a)中所述的處理說明可以是實(shí)際的用于描述界面計(jì)算機(jī)可解析的數(shù)據(jù);也可以是存儲實(shí)際用于描述界面的計(jì)算機(jī)可解析的數(shù)據(jù)的網(wǎng)絡(luò)位置,包括但不限于URL;也可以是某種表示消息類型的標(biāo)記字段,即時(shí)通信客戶端根據(jù)所述的標(biāo)記字段的取值與處理界面的映射關(guān)系確定用于描述界面的計(jì)算機(jī)可解析的數(shù)據(jù)。
所述的即時(shí)通信的方法,其中,所述的用于描述界面的計(jì)算機(jī)可解析的數(shù)據(jù),可以是某種標(biāo)記語言,包括但不限于HTML、XUL等;也可以是其他二進(jìn)制形式,如Flash的swf格式等。
所述的即時(shí)通信的方法,其中,所述的用于描述界面的計(jì)算機(jī)可解析的數(shù)據(jù),不但包括用于描述界面的部分,還包括對用戶操作界面元素的事件響應(yīng)。
所述的即時(shí)通信的方法,其中,步驟a)中所述的處理說明可以是某種Hash算法計(jì)算出的數(shù)值,客戶端通過該數(shù)值可以快速的確定所收到消息使用的界面是否在本地有緩存。
所述的即時(shí)通信的方法,其中,步驟a)中所述的處理說明有多個(gè)推薦的界面處理方案,方案的優(yōu)先級可以通過某字段指定或通過方案出現(xiàn)的先后順序隱式的指定??蛻舳税凑諆?yōu)先級的指示,由高到低嘗試對指明的界面顯示方案進(jìn)行處理,當(dāng)有某界面顯示方案能夠被客戶端支持,則使用該界面而不再進(jìn)行進(jìn)一步的嘗試。當(dāng)客戶端對全部的界面處理方案全部嘗試過而都無法支持時(shí),顯示收到的消息中的用于顯示在客戶端默認(rèn)消息會話界面的內(nèi)容,在此種情況下,客戶端應(yīng)向用戶說明出現(xiàn)該消息時(shí)因?yàn)樗龅目蛻舳瞬恢С直景l(fā)明所述的自定義界面處理方法。
所述的即時(shí)通信的方法,其中,所述的客戶端收到的消息還包括用戶操作界面元素時(shí),所需要的事件響應(yīng)。這允許消息針對某種消息模板進(jìn)行定制。當(dāng)消息顯示時(shí),所述的客戶端將消息處理界面與消息中包括的事件響應(yīng)組合在一起。
所述的即時(shí)通信的方法,其中,所述的客戶端可以根據(jù)收到的處理說明,對客戶端內(nèi)置的消息處理界面進(jìn)行修改(例如,通信對方可以根據(jù)當(dāng)前的通信內(nèi)容,在當(dāng)前用戶的聊天窗口上增加發(fā)表文章的按鈕)。
所述的即時(shí)通信的系統(tǒng),用于定義即時(shí)通信主界面的方法包括i)當(dāng)客戶端登入即時(shí)通信服務(wù)器時(shí),服務(wù)主動將需要對主界面做出的修改發(fā)送到客戶端;或ii)當(dāng)客戶端登入即時(shí)通信服務(wù)器后,客戶端主動向服務(wù)器發(fā)起請求,請求對主界面做出的修改,當(dāng)服務(wù)器收到客戶機(jī)的請求時(shí),返回需要對主界面做出的修改;所述的對主界面做出的修改是所述的即時(shí)通信客戶端可以執(zhí)行的命令序列;所述的用于描述界面的計(jì)算機(jī)可解析的數(shù)據(jù)是所述的即時(shí)通信客戶端可以執(zhí)行的命令序列;所述的對主界面做出的修改以及所述的用于描述界面的計(jì)算機(jī)可解析的數(shù)據(jù),當(dāng)客戶端實(shí)際執(zhí)行時(shí),控制其對計(jì)算機(jī)資源的訪問。
所述的處理說明(包括對消息處理界面的描述與對主界面的修改)運(yùn)行于受限的計(jì)算環(huán)境,所述的環(huán)境對前述的對界面的修改使用本地計(jì)算機(jī)資源的能力進(jìn)行限制,以保證客戶端計(jì)算機(jī)的安全;所述的即時(shí)通信系統(tǒng)的方法,其中,所述的客戶端可以發(fā)出含有如何顯示其自身的處理說明的消息;本發(fā)明提供了一種實(shí)現(xiàn)所述的客戶端界面可定制的即時(shí)通信系統(tǒng),其中該系統(tǒng)包括一服務(wù)器;以及至少一運(yùn)行即時(shí)通信客戶端的計(jì)算機(jī),網(wǎng)絡(luò)連接所述的服務(wù)器;在所述服務(wù)器運(yùn)行即時(shí)通信的服務(wù)器程序;客戶端根據(jù)收到的對界面進(jìn)行修改的命令后,執(zhí)行收到的命令,使得其用戶界面發(fā)生變化;當(dāng)客戶端收到含有如何處理指示的即時(shí)消息時(shí),通過網(wǎng)絡(luò)或本地緩存,獲取消息指定的處理界面,用獲取到的界面處理收到的消息。
本發(fā)明的有益效果在于,與現(xiàn)有技術(shù)相比,即時(shí)通訊服務(wù)供應(yīng)商可以使用本發(fā)明隨時(shí)修改即時(shí)通訊客戶端的界面,而無需對客戶端本身進(jìn)行升級,便于推廣即時(shí)通訊服務(wù)供應(yīng)商的新功能;客戶端根據(jù)消息內(nèi)容的不同顯示不同的處理界面,為即時(shí)通訊客戶端與應(yīng)用系統(tǒng)進(jìn)行緊密集成提供了通用的技術(shù)方案,典型的,以辦公自動化系統(tǒng)為例,采用本發(fā)明所述的技術(shù)方案,用戶可以在即時(shí)通訊客戶端中完成公文審批等操作,而現(xiàn)有技術(shù)方案則要求用戶必須登錄到辦公自動化系統(tǒng)中進(jìn)行公文審批,即時(shí)通訊客戶端僅能起到提醒的作用。因此,本發(fā)明所述的客戶端界面可定制的即時(shí)通信方法和系統(tǒng),增加了系統(tǒng)的實(shí)用性。
圖1為根據(jù)本發(fā)明的一種實(shí)施方式的即時(shí)通信系統(tǒng)的框架2A示出了本發(fā)明的一種實(shí)施方式的引發(fā)主叫業(yè)務(wù)流程圖2B示出了本發(fā)明的一種實(shí)施方式的引發(fā)被叫業(yè)務(wù)流程圖3示出了本發(fā)明的一種實(shí)施方式的即時(shí)消息傳輸格式圖4A示出了本發(fā)明的一種實(shí)施方式,在處理主叫業(yè)務(wù)時(shí)確定消息處理界面的流程圖4B示出了本發(fā)明的一種實(shí)施方式,在處理被叫業(yè)務(wù)時(shí)確定消息處理界面的流程具體實(shí)施方式
下面根據(jù)附圖和實(shí)施例對本發(fā)明做進(jìn)一步詳細(xì)說明。
請參閱圖1,是一種采用本發(fā)明通訊方法的即時(shí)通信系統(tǒng)。所述即時(shí)通信系統(tǒng)中包括客戶端100和服務(wù)端120。其中,所述客戶端100與服務(wù)端120之間可以采用現(xiàn)有的各種通信協(xié)議、交互邏輯和數(shù)據(jù)狀態(tài)等,此不贅述。
所述的客戶端100,包括客戶端主體101和消息處理界面渲染模塊102、以及數(shù)據(jù)存儲單元103。其中,所述的消息處理界面渲染模塊用于將消息指明的消息處理界面的描述顯示為用戶實(shí)際可以操作的交互界面,典型的,所述的渲染模塊可以是網(wǎng)頁瀏覽器的渲染核心、Flash的渲染核心、XUL渲染器等(當(dāng)然也可以采用其他界面渲染器);所述的客戶端主體用于處理由界面渲染模塊渲染的操作界面?zhèn)鬟f來的用戶的各種業(yè)務(wù)請求和操作,與服務(wù)端進(jìn)行相應(yīng)的數(shù)據(jù)交互;所述數(shù)據(jù)存儲單元可以采用數(shù)據(jù)庫的方式(當(dāng)然也可采用其他方式)存儲客戶端主體工作時(shí)需要查詢的各類數(shù)據(jù),如其他用戶(包括“好友”、“黑名單”)的標(biāo)識(包括“姓名”、“昵稱”等比較接近唯一標(biāo)識特定用戶的信息)、狀態(tài)信息、消息處理界面的緩存等。
本發(fā)明即時(shí)通訊的方法采用消息處理界面渲染模塊渲染出至少一種消息處理界面,渲染出的消息處理界面作為用戶與客戶端主體交互的通道,引發(fā)各種業(yè)務(wù)。包括步驟所述的消息處理界面接收來自用戶的業(yè)務(wù)請求消息;所述的客戶端主體從消息處理界面獲取前述業(yè)務(wù)請求消息;所述客戶端主體解析并響應(yīng)前述業(yè)務(wù)請求消息。
其中,在引發(fā)主叫業(yè)務(wù)時(shí),用戶可以通過在已呈現(xiàn)的好友分組中進(jìn)行選擇,也可以通過自主輸入目標(biāo)用戶的特征標(biāo)識(如姓名、昵稱、電子郵件地址等),并選擇主叫業(yè)務(wù)類型,如發(fā)送即時(shí)消息、傳送文件、發(fā)送電子郵件、手機(jī)短信、語音聊天、視頻聊天等,用戶可以更進(jìn)一步的選擇進(jìn)行主叫業(yè)務(wù)所采用的處理界面,并且對主叫業(yè)務(wù)類型進(jìn)行擴(kuò)充,典型的在一個(gè)與辦公自動化系統(tǒng)集成的即時(shí)通訊系統(tǒng)中,主叫業(yè)務(wù)可以是文件發(fā)布、通知傳達(dá)等;再由客戶端再數(shù)據(jù)庫中或通過即時(shí)通訊服務(wù)端進(jìn)行標(biāo)識驗(yàn)證、匹配,找出符合特征標(biāo)識內(nèi)容的單一或若干目標(biāo)用戶,然后引發(fā)用戶所要的主叫服務(wù),向服務(wù)端發(fā)送主叫業(yè)務(wù)通知消息。
在引發(fā)被叫業(yè)務(wù)時(shí),客戶端接收到被叫請求(消息),調(diào)用被叫請求(消息)中指示的處理界面,對收到的被叫請求(消息)進(jìn)行處理(展現(xiàn)給用戶),用戶通過前述的處理界面,對進(jìn)行回應(yīng)。在由界面渲染模塊將回應(yīng)結(jié)果傳遞至客戶端主體,由客戶端主體引發(fā)被叫業(yè)務(wù)。
所述的客戶端,還包括客戶端主界面(可以是一個(gè)窗口;也可以是一個(gè)通知區(qū)域圖標(biāo)或兩者的復(fù)合),客戶端通過客戶端主界面向用戶展示其聯(lián)系人、個(gè)人信息等;客戶端通過客戶端主界面向用戶提供所述的客戶端的各種功能調(diào)用的操作入口。所述的客戶端在與服務(wù)端連通后,從服務(wù)端獲得對前述主界面修改的指令或指令的序列,客戶端通過執(zhí)行(或解釋)前述指令或指令的序列實(shí)現(xiàn)主界面元素的修改(包括增加或修改菜單、菜單項(xiàng),增加或修改按鈕、增加或修改選項(xiàng)卡等)。所述的修改可以包括增加至少一種消息處理界面的啟動方式,以使得客戶端可以使用定制的消息處理界面發(fā)起主叫業(yè)務(wù)。
請參閱圖2A,是本發(fā)明即時(shí)通訊方法引發(fā)主叫業(yè)務(wù)的流程圖。
首先,用戶通過客戶端主界面,選擇特定的主叫業(yè)務(wù)類型以及目標(biāo)用戶的特征標(biāo)識。
其次,客戶端主體接收來自客戶端主界面的請求,根據(jù)主叫業(yè)務(wù)類型確定并獲取消息處理界面,并通知界面渲染模塊對顯示消息處理界面。
然后,消息處理界面接收用戶的輸入,將目標(biāo)用戶特征標(biāo)識、主叫業(yè)務(wù)類型、用戶的輸入內(nèi)容等傳遞給客戶端主體,客戶端主體根據(jù)前述主叫業(yè)務(wù)類型向服務(wù)端發(fā)送主叫業(yè)務(wù)通知,引發(fā)主叫業(yè)務(wù)。
請參閱圖2A,是本發(fā)明即時(shí)通訊方法引發(fā)被叫業(yè)務(wù)的流程圖。
當(dāng)客戶端接收到即時(shí)通信消息時(shí)(所述的即時(shí)通信消息來自通信對方,通信對方可以是其他客戶端,也是即時(shí)通訊服務(wù)端),客戶端根據(jù)消息的業(yè)務(wù)類型或消息中含有的其他描述性信息,確認(rèn)并獲取消息處理界面,將確定的特定的消息處理界面以及收到的消息傳遞給界面渲染模塊進(jìn)行顯示。
用戶通過消息處理界面對所述的消息進(jìn)行處理,如用戶可以對所述消息進(jìn)行回復(fù),或針對所述消息描述的情況,通知通信對方進(jìn)行進(jìn)一步動作,如公文審批通過等。
客戶端主體收到用戶對前述消息的處理結(jié)果,將其發(fā)送至通信對方。
消息處理界面可以有多種方式進(jìn)行描述,參考圖3。為便于說明本發(fā)明之具體實(shí)施例,此處的即時(shí)消息采用某種基于標(biāo)記語言的消息格式。
其中包括四部分消息數(shù)據(jù)部分本實(shí)施例中為body節(jié)點(diǎn),為實(shí)際消息處理界面需要處理的數(shù)據(jù)或進(jìn)行對應(yīng)數(shù)據(jù)處理的句柄。典型的,文件審批消息中,此處可以為實(shí)際的文件正文,也可以為實(shí)際文件的鏈接。
錯(cuò)誤提示部分用于當(dāng)用戶當(dāng)前使用客戶端不支持本發(fā)明所述的方法時(shí),對用戶進(jìn)行的提示。在一個(gè)具體實(shí)施例中,此部分應(yīng)該給出等價(jià)的替代方法。例如,在文件審批的流程中,此處可以是實(shí)際進(jìn)行公文審批的鏈接,用戶可以通過點(diǎn)擊前述的鏈接進(jìn)入實(shí)際業(yè)務(wù)系統(tǒng)進(jìn)行操作。在具體的消息中,錯(cuò)誤提示部分可能不出現(xiàn)。
界面描述部分描述用于處理其所在的消息界面。
在一個(gè)具體實(shí)施例中,界面描述部分是標(biāo)記其所在消息類型的字段,參考圖3中,<type>節(jié)點(diǎn);在一個(gè)具體實(shí)施例中,界面描述部分是存儲消息處理界面描述數(shù)據(jù)的網(wǎng)絡(luò)地址,客戶端可以通過該地址獲取對應(yīng)的消息處理界面,參考圖3中<html>、<flash>節(jié)點(diǎn);在一個(gè)具體實(shí)施例中,界面描述部分是具體的消息處理界面的描述數(shù)據(jù),參考圖3中<xul>節(jié)點(diǎn);在一個(gè)具體實(shí)施例中,界面描述部分可以是某種界面編號,參考圖3中的<hashui>節(jié)點(diǎn),實(shí)例中使用界面內(nèi)容的md5值,客戶端通過前述的界面編號,確定消息處理界面描述數(shù)據(jù),當(dāng)客戶端沒有前述界面編號所代表的消息處理界面描述數(shù)據(jù)時(shí),客戶端向服務(wù)器請求前述界面編號對應(yīng)的界面描述數(shù)據(jù)。易知的,所述的界面編號可以是任何一種可以唯一確定特定界面描述數(shù)據(jù)的編號。
在一個(gè)具體實(shí)施例中,界面描述部分存在多種可選的處理方式,受到前述消息的客戶端,可以根據(jù)自身的能力選擇處理一個(gè)合適的界面處理方式;可以通過可選界面出現(xiàn)的順序進(jìn)行選擇或者界面處理方式指明的順序(在圖3所示的實(shí)施例中為order屬性)進(jìn)行選擇;腳本部分消息可以通過該部分對現(xiàn)有的處理界面描述部分進(jìn)行修改。在圖3所示的實(shí)施例中,腳本中定義了點(diǎn)擊按鈕ok應(yīng)該執(zhí)行的動作;在具體的消息中,腳本部分可能不出現(xiàn)。
當(dāng)客戶端不能處理前述的即時(shí)消息時(shí),可以將錯(cuò)誤處理部分的信息通過標(biāo)準(zhǔn)的會話窗口顯示給用戶,也可以將前述的消息轉(zhuǎn)發(fā)給服務(wù)端,并通知用戶受到了當(dāng)前客戶端不能處理的消息,服務(wù)端對消息進(jìn)行緩存。當(dāng)用戶再次登入即時(shí)通信系統(tǒng)中時(shí),在將前述的消息發(fā)送給用戶。
本領(lǐng)域的專業(yè)技術(shù)人員應(yīng)該很容易對前述的消息格式進(jìn)行變動,包括但不限于,將所述的消息采用某種二進(jìn)制的記錄等價(jià)信息的格式存儲或傳輸、引入新的界面描述方式(如.net或java的類等)、去掉本實(shí)例格式的某些非必要內(nèi)容(如腳本塊)、將本實(shí)例格式用壓縮后存儲或傳輸(典型的壓縮算法有bz2、zip,可能是為本應(yīng)用專門開發(fā)的壓縮算法)。一般的,只要在消息中包括消息正文以及如何處理前述消息正文的指示,客戶端通過前述的指示向用戶展示非預(yù)置在客戶端程序中的消息處理界面,應(yīng)視為本發(fā)明的等同技術(shù)方案。
無論主叫業(yè)務(wù)、被叫業(yè)務(wù),都需要“確認(rèn)并獲取消息處理界面”,獲取消息處理界面的方法有多種實(shí)施例,具體說明如下1、由主叫業(yè)務(wù)引發(fā)時(shí)參考圖4A,根據(jù)接收到的主叫業(yè)務(wù)類型,確定消息處理的界面。具體步驟如下接收到主叫業(yè)務(wù)類型401;判斷前述的主叫業(yè)務(wù)是否應(yīng)由客戶端內(nèi)置的消息處理界面處理402;是,啟動內(nèi)置的消息處理界面403,引發(fā)主叫業(yè)務(wù)404否,根據(jù)主叫業(yè)務(wù)類型,確定采用的消息處理界面的描述406;獲取消息處理界面407,如不存在所述的消息處理界面,或前述的消息處理界面的描述當(dāng)前不可用,則返回錯(cuò)誤408;如成功獲得,則返回消息處理界面的描述或前述描述的地址409。
2、由被叫業(yè)務(wù)引發(fā)時(shí)參考圖4B,根據(jù)從通信對方接收到的消息中指明的消息處理界面,對收到的消息進(jìn)行處理。具體步驟如下可選的,檢查當(dāng)前客戶端是否存在用指明的消息處理界面顯示的窗口420,且前述的窗口的通信方中存在發(fā)出前述消息的通信對方,則通知前述的窗口,收到新消息,并將新收到的消息數(shù)據(jù)傳遞給前述的窗口,前述的窗口可以根據(jù)其自身業(yè)務(wù)邏輯的需要選擇在當(dāng)前窗口處理前述的新消息,或啟動一新窗口處理該消息,或?qū)⑶笆龅男孪骰亟o客戶端主體,客戶端主體可以等待前述的窗口不可視后,在對前述的消息進(jìn)行處理。
根據(jù)從通信對方接收到的消息419中指明的消息處理界面,判斷前述的消息是否應(yīng)由客戶端內(nèi)置的消息處理界面處理402;是,啟動內(nèi)置的消息處理界面403,進(jìn)行消息處理421;否,根據(jù)消息指明的消息處理界面,確定消息處理界面的描述406;如不存在所述的消息處理界面,或前述的消息處理界面的描述當(dāng)前不可用,則返回錯(cuò)誤;如成功獲得,則返回消息處理界面的描述或前述描述的地址409。
前述具體的消息處理界面確定后,將被傳遞給前述的界面渲染模塊。如前所述,界面渲染模塊有多種可能的實(shí)施方式,在此不在贅述。
為加快界面訪問速度,在步驟407中,前述的界面描述數(shù)據(jù)可以再客戶端本地進(jìn)行緩存,存儲在所述的數(shù)據(jù)存儲單元中。在一個(gè)實(shí)施例中,界面描述數(shù)據(jù)采用URL進(jìn)行描述時(shí),可以參考瀏覽器的緩存控制方案,在此不贅述,當(dāng)無法獲取URL指明的界面描述數(shù)據(jù)時(shí),客戶端可以立即向用戶報(bào)告無法獲取消息指定的處理界面,或根據(jù)前述的消息中處理界面的使用順序,嘗試使用下一個(gè)界面描述數(shù)據(jù),或進(jìn)行重試;在一個(gè)實(shí)施例中,界面描述數(shù)據(jù)采用界面編號或消息類型字段時(shí),首先檢查本地緩存是否存在對應(yīng)的界面描述數(shù)據(jù),當(dāng)本地緩存不存在對應(yīng)的界面描述數(shù)據(jù)時(shí),向服務(wù)端請求對應(yīng)的界面描述數(shù)據(jù);如果服務(wù)器端成功返回,則將前述的界面編號或消息類型字段與收到的界面描述數(shù)據(jù)關(guān)聯(lián)起來,存儲在所述的數(shù)據(jù)存儲單元中;如果服務(wù)器端未成功返回,客戶端可以立即向用戶報(bào)告無法獲取消息指定的處理界面,或根據(jù)前述的消息中處理界面的使用順序,嘗試使用下一個(gè)界面描述數(shù)據(jù),或進(jìn)行重試。
在一個(gè)實(shí)施例中,前述的具體的消息處理界面顯示在一獨(dú)立窗口,或顯示在一窗口的獨(dú)立的標(biāo)簽頁中(Tab)。易知的,在前述的窗口或標(biāo)簽頁中增加消息處理界面中為描述的界面元素應(yīng)視為本發(fā)明的等同技術(shù)方案。
在一個(gè)實(shí)施例中,前述具體的消息處理界面可以客戶端現(xiàn)有的消息處理界面上進(jìn)行修改。例如A在當(dāng)前會話或前述客戶端的標(biāo)準(zhǔn)會話窗口擴(kuò)展出額外的區(qū)域,在前述的區(qū)域顯示前述的消息處理界面;或者B為當(dāng)前會話或前述客戶端的標(biāo)準(zhǔn)會話窗口增加按鈕、菜單項(xiàng)或其他等價(jià)的界面元素。
根據(jù)前述的界面渲染模塊的具體實(shí)施例不同,被渲染出的消息處理界面與客戶端主體有多種通信方式。按具體方面而言,消息數(shù)據(jù)的獲取方面I.前述的消息處理界面通過客戶端主體的特定屬性或方法訪問前述的消息數(shù)據(jù);或者II.客戶端主體將前述的消息數(shù)據(jù)作為消息處理界面的特定方法的參數(shù),或?qū)⑶笆龅南⑻幚頂?shù)據(jù)設(shè)置為消息處理界面的特定屬性后,再調(diào)用消息處理界面的特定方法;或者III.將前述的消息數(shù)據(jù)與其他可以標(biāo)識出前述消息通信各方的數(shù)據(jù)發(fā)送到特定的服務(wù)端,前述的服務(wù)端將收到的數(shù)據(jù)與消息處理界面進(jìn)行組合,并將組合后的結(jié)果顯示在客戶端。
消息數(shù)據(jù)發(fā)送方面
IV.前述的消息處理界面通過客戶端主體的特定屬性或方法向一個(gè)或多個(gè)通信對方發(fā)送消息數(shù)據(jù);V.將要發(fā)送的數(shù)據(jù)以及一個(gè)或多個(gè)通信對方保存在前述消息處理界面的特定屬性中,當(dāng)前述消息處理界面關(guān)閉后,客戶端主體讀取前述的特定屬性,發(fā)送消息數(shù)據(jù)。
VI.特別的當(dāng)使用前述方法III時(shí),所述的服務(wù)端通過客戶端顯示組件的特定屬性或方法向一個(gè)或多個(gè)通信對方發(fā)送消息數(shù)據(jù),或者與前述客戶端登錄到的服務(wù)端進(jìn)行通信,由客戶端登錄的服務(wù)端向一個(gè)或多個(gè)通信對方發(fā)送消息數(shù)據(jù)。
在具體實(shí)施本發(fā)明的過程中,消息數(shù)據(jù)處理方法I~VI可以組合使用。
下面結(jié)合具體實(shí)施方式
進(jìn)行進(jìn)一步闡述在一個(gè)實(shí)施例中,界面渲染模塊為微軟IE瀏覽器內(nèi)核,前述的消息處理界面為瀏覽器可顯示的格式(例如HTML/XHTML等)。消息處理界面可以通過window.external.xxxx與客戶端主體通信,其中Window.external是微軟公司提供的對IE瀏覽器內(nèi)核功能進(jìn)行擴(kuò)展的接口之一,xxxx為客戶端主體自定制的方法或?qū)傩?;類似的,客戶端主體可以在渲染消息處理界面的瀏覽器內(nèi)核運(yùn)行實(shí)例中,增加一個(gè)或多個(gè)腳本方法,前述的腳本方法封裝了對客戶端主體的操作方法(如通過ActiveX技術(shù)與客戶端主體通信),前述的消息處理界面通過調(diào)用前述的操作方法實(shí)現(xiàn)與客戶端主體的通信。
類似的,本領(lǐng)域工程師可以容易的實(shí)現(xiàn)采用Flash播放器或XUL渲染器作為界面渲染模塊的實(shí)施例。
在一個(gè)實(shí)施例中,界面渲染模塊為瀏覽器內(nèi)核,前述的消息處理界面為網(wǎng)頁,且通過URL指明其存儲位置。客戶端可以通過HTTP規(guī)范中定義的POST或GET的方式,將通信各方的標(biāo)識符以及前述消息傳遞給存儲前述消息處理界面的服務(wù)端;前述的服務(wù)端將收到的數(shù)據(jù)與消息處理界面復(fù)合后,形成新的網(wǎng)頁的傳遞給客戶端;客戶端通過操作網(wǎng)頁激活前述服務(wù)端的特定功能,由前述服務(wù)端與客戶端使用的即時(shí)通信服務(wù)端通信,實(shí)現(xiàn)消息的發(fā)送。
本發(fā)明所述的客戶端主界面的定制方法,具體步驟如下客戶端與服務(wù)端建立連接,客戶端從服務(wù)端獲得對主界面修改的指令,客戶端執(zhí)行收到的指令,對主界面進(jìn)行修改。
在一個(gè)實(shí)施例中,客戶端通過主動向服務(wù)端發(fā)起請求,服務(wù)端收到請求后向客戶端返回需要對主界面的定制;在一個(gè)實(shí)施例中,客戶端登錄進(jìn)入服務(wù)端后,服務(wù)端主動推送對主界面的定制;在一個(gè)實(shí)施例中,服務(wù)端返回的不但包括對主界面的定制,還包括對客戶端內(nèi)置消息處理界面的定制。
處于安全的考慮,所述的對界面的修改運(yùn)行于受限的計(jì)算環(huán)境,所述的環(huán)境對前述的對界面的修改使用本地計(jì)算機(jī)資源的能力進(jìn)行限制,以保證客戶端計(jì)算機(jī)的安全;在一個(gè)實(shí)施例中,客戶端的界面渲染模塊為微軟IE瀏覽器,則通過window.external進(jìn)行的擴(kuò)展不應(yīng)提供訪問本地文件以及注冊表的功能;所述客戶端收到界面修改請求時(shí),想用戶詢問使用依據(jù)前述的請求對界面進(jìn)行修改,如果用戶同意,則進(jìn)行修改;如果不同意,則顯示消息中的前述用于顯示在不支持定制消息處理界面客戶端上的提示信息或同時(shí)通知通信對方客戶不同意進(jìn)行界面定制;在客戶端,可存儲用戶針對特定通信對方發(fā)出包含界面修改請求的消息是否依據(jù)其請求的進(jìn)行界面渲染的應(yīng)答,可以在客戶端的數(shù)據(jù)存儲單元存儲用戶的應(yīng)答設(shè)置,當(dāng)再次收到同一通信對方發(fā)出的消息時(shí),依據(jù)預(yù)先存儲的應(yīng)答進(jìn)行回復(fù)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出對于本發(fā)明技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原來的前提下,可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種客戶端界面可定制的即時(shí)通信的方法,通信對方為自然人或某中程序,其特征在于,包括如下步驟a)客戶端收到通信對方發(fā)來的消息,所述的消息含有如何處理其自身的說明;b)客戶端根據(jù)所述的處理說明,確定具體的消息處理界面;c)將所述的消息使用所述的界面展現(xiàn)給使用客戶端的用戶;d)用戶通過所述的界面與通信對方進(jìn)行即時(shí)通信會話。
2.根據(jù)權(quán)利要求1所述的客戶端界面可定制的即時(shí)通信的方法,其特征在于所述的客戶端發(fā)出含有如何顯示其自身的處理說明的消息。
3.根據(jù)權(quán)利要求1所述的客戶端界面可定制的即時(shí)通信的方法,其特征在于步驟a)中所述的處理說明是實(shí)際的用于描述界面計(jì)算機(jī)可解析的數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的客戶端界面可定制的即時(shí)通信的方法,其特征在于步驟a)中所述的處理說明是存儲實(shí)際用于描述界面的計(jì)算機(jī)可解析的數(shù)據(jù)的網(wǎng)絡(luò)位置。
5.根據(jù)權(quán)利要求1所述的客戶端界面可定制的即時(shí)通信的方法,其特征在于步驟a)中所述的處理說明是某種表示消息類型的標(biāo)記字段,即時(shí)通信客戶端根據(jù)所述的標(biāo)記字段的取值與處理界面的映射關(guān)系確定用于描述界面的計(jì)算機(jī)可解析的數(shù)據(jù)。
6.根據(jù)權(quán)利要求3所述的客戶端界面可定制的即時(shí)通信的方法,其特征在于所述的即時(shí)通信系統(tǒng)的方法,其中,所述的用于描述界面的計(jì)算機(jī)可解析的數(shù)據(jù),不但包括用于描述界面的部分,還包括對用戶操作界面元素的事件響應(yīng)。
7.根據(jù)權(quán)利要求1所述的客戶端界面可定制的即時(shí)通信的方法,其特征在于步驟a)中所述的處理說明可以是唯一的編號,客戶端通過該編號可以快速的確定所收到消息使用的界面是否在本地有緩存,所述的編號包括但不限于URL、用于描述界面的計(jì)算機(jī)可解析的數(shù)據(jù)的MD5值或其他等價(jià)的將一段較長文本映射到一段較短文本的算法計(jì)算出的結(jié)果。
8.根據(jù)權(quán)利要求1所述的客戶端界面可定制的即時(shí)通信的方法,其特征在于步驟a)中所述的處理說明有多個(gè)推薦的界面處理方案,方案的優(yōu)先級可以通過某字段指定或通過方案出現(xiàn)的先后順序隱式的指定;客戶端按照優(yōu)先級的指示,由高到低嘗試對指明的界面顯示方案進(jìn)行處理,當(dāng)有某界面顯示方案能夠被客戶端支持,則使用該界面而不再進(jìn)行進(jìn)一步的嘗試;當(dāng)客戶端對全部的界面處理方案全部嘗試過而都無法支持時(shí),顯示收到的消息中的用于顯示在客戶端默認(rèn)消息會話界面的內(nèi)容,在此種情況下,客戶端應(yīng)向用戶說明出現(xiàn)該消息時(shí)因?yàn)樗龅目蛻舳瞬恢С直景l(fā)明所述的自定義界面處理方法。
9.根據(jù)權(quán)利要求1所述的客戶端界面可定制的即時(shí)通信的方法,其特征在于所述的消息中,還包括用于顯示在不支持定制消息處理界面客戶端上的提示信息。
10.根據(jù)權(quán)利要求1所述的客戶端界面可定制的即時(shí)通信的方法,其特征在于在步驟b)中,客戶端根據(jù)所述的處理說明,對客戶端內(nèi)置的消息處理界面進(jìn)行修改。
11.根據(jù)權(quán)利要求1所述的客戶端界面可定制的即時(shí)通信的方法,其特征在于用于定義即時(shí)通信主界面的方法包括i)當(dāng)客戶端登入服務(wù)器時(shí),服務(wù)器主動將需要對主界面做出的修改發(fā)送到客戶端;或ii)當(dāng)客戶端登入服務(wù)器后,客戶端主動向服務(wù)器發(fā)起請求,請求對主界面做出的修改,當(dāng)服務(wù)器收到客戶機(jī)的請求時(shí),返回需要對主界面做出的修改;所述的對主界面做出的修改是所述的即時(shí)通信客戶端可以執(zhí)行的命令序列;所述的用于描述界面的計(jì)算機(jī)可解析的數(shù)據(jù)是所述的即時(shí)通信客戶端可以執(zhí)行的命令序列;所述的對主界面做出的修改以及所述的用于描述界面的計(jì)算機(jī)可解析的數(shù)據(jù),當(dāng)客戶端實(shí)際執(zhí)行時(shí),控制其對計(jì)算機(jī)資源的訪問。
12.根據(jù)權(quán)利要求1所述的客戶端界面可定制的即時(shí)通信的方法,其特征在于所述的處理說明運(yùn)行于受限的計(jì)算環(huán)境,所述的環(huán)境對前述的對界面的修改使用本地計(jì)算機(jī)資源的能力進(jìn)行限制,以保證客戶端計(jì)算機(jī)的安全。
13.根據(jù)權(quán)利要求1所述的客戶端界面可定制的即時(shí)通信的方法,其特征在于所述客戶端收到處理說明時(shí),向用戶詢問使用依據(jù)前述的處理說明對界面進(jìn)行修改,如果用戶同意,則進(jìn)行修改;如果不同意,則顯示消息中的前述用于顯示在不支持定制消息處理界面客戶端上的提示信息或同時(shí)通知通信對方客戶不同意進(jìn)行界面定制;對于服務(wù)器發(fā)來的或用戶其他指明的通信對方發(fā)來的處理說明,客戶端不進(jìn)行重復(fù)提示,而直接執(zhí)行用戶預(yù)先定義好的回答分支,同意修改界面或不同意。
14.一種實(shí)現(xiàn)所述的終端界面可定制的即時(shí)通信系統(tǒng),其特征在于其中該系統(tǒng)包括一服務(wù)器;以及至少一運(yùn)行即時(shí)通信終端的計(jì)算機(jī),網(wǎng)絡(luò)連接所述的服務(wù)器;在所述服務(wù)器運(yùn)行即時(shí)通信的服務(wù)器程序;客戶端根據(jù)收到的對界面進(jìn)行修改的命令后,執(zhí)行收到的命令,使得其用戶界面發(fā)生變化;當(dāng)客戶端收到含有如何處理指示的即時(shí)消息時(shí),通過網(wǎng)絡(luò)或本地緩存,獲取消息指定的處理界面,用獲取到的界面處理收到的消息。
全文摘要
本發(fā)明涉及一種客戶端界面可定制的即時(shí)通信方法與系統(tǒng),通信對方為自然人或某種程序,包括如下步驟即時(shí)通信客戶端收到通信對方發(fā)來的消息,所述的消息含有如何處理其自身的說明;即時(shí)通信客戶端根據(jù)所述的處理說明,確定具體的消息處理界面;將所述的消息使用所述的界面展現(xiàn)給使用即時(shí)通信客戶端的用戶;用戶通過所述的界面與通信對方進(jìn)行即時(shí)通信會話。使用本發(fā)明可以隨時(shí)修改即時(shí)通訊客戶端的界面,而無需對客戶端本身進(jìn)行升級,便于推廣即時(shí)通訊服務(wù)供應(yīng)商的新功能,增加了系統(tǒng)的實(shí)用性。
文檔編號G06F17/00GK101026596SQ200710064160
公開日2007年8月29日 申請日期2007年3月2日 優(yōu)先權(quán)日2007年3月2日
發(fā)明者李沫南 申請人:李沫南