本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種信息發(fā)送方法、獲取方法、裝置及界面系統(tǒng)。
背景技術(shù):
用戶在使用即時(shí)通信客戶端進(jìn)行交流的過程中,可以通過發(fā)送不同類型的信息給其他用戶來表達(dá)意圖。其中,這里所說的類型,一般是根據(jù)信息的表現(xiàn)形式對(duì)信息進(jìn)行劃分而得到的,比如可以包括但不限于文字、圖片、音頻、動(dòng)畫或者視頻等。
按照現(xiàn)有技術(shù),用戶之間在使用即時(shí)通信工具進(jìn)行交流時(shí),單次信息發(fā)送只能發(fā)送一種類型的信息。比如,當(dāng)用戶A期望向用戶B發(fā)送文本“你好”、圖片“微笑的頭像”和音頻“你好”時(shí),需要對(duì)這三種類型的信息分別進(jìn)行發(fā)送。
上述信息發(fā)送方式存在的缺陷在于,效率較低。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例提供一種信息發(fā)送方法,用以解決現(xiàn)有即時(shí)通信中,在發(fā)送不同類型的信息的場(chǎng)景下所采取的信息發(fā)送方式存在的效率較低的問題。
本申請(qǐng)實(shí)施例還提供一種信息發(fā)送裝置,以及一種信息獲取方法及裝置。
本申請(qǐng)實(shí)施例還提供一種界面系統(tǒng)。
本申請(qǐng)實(shí)施例采用下述技術(shù)方案:
一種信息發(fā)送方法,包括:發(fā)送端確定待發(fā)送給接收端的至少兩種類型的信息;
按照與接收端預(yù)先約定的編碼方式,將待編碼的信息編碼為具備預(yù)定格式的目標(biāo)文件;其中,所述待編碼的信息,至少包括所述至少兩種類型的信息;
將所述具備預(yù)定格式的目標(biāo)文件封裝到數(shù)據(jù)包中,并將所述數(shù)據(jù)包發(fā)送給接收端。
一種信息獲取方法,包括:
接收端接收發(fā)送端發(fā)送的數(shù)據(jù)包;所述數(shù)據(jù)包,包含預(yù)定格式的目標(biāo)文件;所述目標(biāo)文件包含至少兩種類型的信息;
按照與發(fā)送端預(yù)先約定的解碼方式,對(duì)所述具備預(yù)定格式的目標(biāo)文件進(jìn)行解碼,以獲得所述至少兩種類型的信息。
一種信息發(fā)送裝置,包括:
信息確定單元,用于確定待發(fā)送給接收端的至少兩種類型的信息;
編碼單元,用于按照與接收端預(yù)先約定的編碼方式,將待編碼的信息編碼為具備預(yù)定格式的目標(biāo)文件;其中,所述待編碼的信息,包括所述至少兩種類型的信息;
發(fā)送單元,用于將所述具備預(yù)定格式的目標(biāo)文件封裝到數(shù)據(jù)包中,并將所述數(shù)據(jù)包發(fā)送給接收端。
一種信息獲取裝置,包括:
數(shù)據(jù)包接收單元,用于接收發(fā)送端發(fā)送的數(shù)據(jù)包;所述數(shù)據(jù)包,包含具備預(yù)定格式的目標(biāo)文件;所述目標(biāo)文件包含至少兩種類型的信息;
解碼單元,用于按照與發(fā)送端預(yù)先約定的解碼方式,對(duì)所述具備預(yù)定格式的目標(biāo)文件進(jìn)行解碼,以獲得所述至少兩種類型的信息。
一種界面系統(tǒng),包括:
待發(fā)送信息確定單元,用于確定待發(fā)送給接收端的至少兩種類型的信息;
信息發(fā)送控件,用于檢測(cè)信息發(fā)送指令;在檢測(cè)到所述信息發(fā)送指令后,按照預(yù)先與信息接收端約定的編碼方式,將待編碼的信息編碼為具備預(yù)定格式的目標(biāo)文件;將所述具備預(yù)定格式的目標(biāo)文件封裝到數(shù)據(jù)包中,并將所述數(shù)據(jù)包發(fā)送給接收端;其中,所述待編碼的信息,包括待發(fā)送信息確定單元確定出的所述至少兩種類型的信息。
本申請(qǐng)實(shí)施例采用的上述至少一個(gè)技術(shù)方案能夠達(dá)到以下有益效果:
由于發(fā)送端可以按照與接收端預(yù)先約定的編碼方式,將待發(fā)送給接收端的至少兩種類型的信息編碼為具備預(yù)定格式的目標(biāo)文件,并發(fā)送給接收端,從而可以實(shí)現(xiàn)在一個(gè)數(shù)據(jù)包中攜帶至少兩種不同類型的信息,提高了在發(fā)送不同類型的信息的場(chǎng)景下的信息發(fā)送效率。
附圖說明
此處所說明的附圖用來提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
圖1為本申請(qǐng)實(shí)施例提供的一種信息發(fā)送方法的具體實(shí)現(xiàn)流程示意圖;
圖2為第一客戶端和第二客戶端進(jìn)行即時(shí)通信的示意圖;
圖3為手機(jī)1中的第一客戶端所顯示的一種界面的示意圖;
圖4為手機(jī)1中的第一客戶端所顯示的另一種界面的示意圖;
圖5為本申請(qǐng)實(shí)施例中的第二客戶端獲取所述至少兩種類型的信息的實(shí)現(xiàn)流程圖;
圖6為本申請(qǐng)實(shí)施例提供的一種信息發(fā)送裝置的具體結(jié)構(gòu)示意圖;
圖7為本申請(qǐng)實(shí)施例提供的一種信息獲取裝置的具體結(jié)構(gòu)示意圖;
圖8為本申請(qǐng)實(shí)施例提供的一種界面系統(tǒng)的具體結(jié)構(gòu)示意圖;
圖9為本申請(qǐng)實(shí)施例提供的一種用戶界面的示意圖;
圖10為本申請(qǐng)實(shí)施例提供的另一種用戶界面的示意圖。
具體實(shí)施方式
為使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請(qǐng)具體實(shí)施例及相應(yīng)的附圖對(duì)本申請(qǐng)技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
以下結(jié)合附圖,詳細(xì)說明本申請(qǐng)各實(shí)施例提供的技術(shù)方案。
實(shí)施例1
為解決現(xiàn)有即時(shí)通信中,在發(fā)送不同類型的信息的場(chǎng)景下所采取的信息發(fā)送方式存在的效率較低的問題,本申請(qǐng)實(shí)施例提供一種信息發(fā)送方法。該信息發(fā)送方法的執(zhí)行主體,可以是各種用戶終端,比如可以是個(gè)人電腦(Personal Computer,PC)、智能手機(jī)、平板電腦、可穿戴式設(shè)備(如智能手表或智能頭盔等)。該信息發(fā)送方法,具體可以是由所述用戶終端上安裝的客戶端來完成的。這里所說的客戶端,比如可以是即時(shí)通信客戶端;或者,也可以是其他類型的客戶端,如社交平臺(tái)客戶端或者網(wǎng)購類客戶端,等。所述的執(zhí)行主體并不構(gòu)成對(duì)本申請(qǐng)的限定。
為便于描述,本申請(qǐng)實(shí)施例以該方法的執(zhí)行主體為即時(shí)通信客戶端為例,對(duì)該方法的具體實(shí)現(xiàn)方式進(jìn)行詳細(xì)說明。
請(qǐng)參見圖1,為本申請(qǐng)實(shí)施例提供的一種信息發(fā)送方法的具體實(shí)現(xiàn)流程示意圖。該方法主要包括下述步驟:
步驟11,即時(shí)通信客戶端(后稱第一客戶端)確定待發(fā)送給接收端(第二客戶端)的至少兩種類型的信息;
以下結(jié)合附圖2和附圖3,說明步驟11的一些可選的實(shí)現(xiàn)方式。
如圖2所示,為進(jìn)行即時(shí)通信的第一客戶端和第二客戶端的示意圖。圖2中,使用安裝有第一客戶端的手機(jī)1的用戶A,與使用安裝有第二客戶端的手機(jī)2的用戶B正在通過服務(wù)端(也稱服務(wù)器)進(jìn)行即時(shí)通信。
如圖3所示,為手機(jī)1中的第一客戶端所顯示的界面的示意圖。圖3中的該界面中,包含下述顯示區(qū)域:
聊天內(nèi)容顯示區(qū)31:用于顯示用戶A和用戶B的聊天內(nèi)容。其中,圖3中,聊天內(nèi)容顯示區(qū)31中當(dāng)前顯示內(nèi)容包括:用戶A的卡通形象311、用戶B的卡通形象312,以及用戶A和用戶B進(jìn)行即時(shí)通信所交互的信息,如文本“你好”。
文本輸入?yún)^(qū)32:用于接收并展示由用戶A輸入的、待發(fā)送給用戶B的文本,如圖中的文本“吃飯了嗎”。
動(dòng)畫選擇區(qū)33:用于顯示設(shè)置在第一客戶端中的動(dòng)畫文件的名稱。其中,這里所說的動(dòng)畫文件,可以是第一客戶端和第二客戶端均可以打開的動(dòng)畫文件。第一客戶端若打開用戶A選取的動(dòng)畫文件的名稱對(duì)應(yīng)的動(dòng)畫文件(后文簡(jiǎn)稱為選取的動(dòng)畫文件),則圖3中的用戶A的卡通形象311會(huì)產(chǎn)生相應(yīng)的動(dòng)畫效果——比如,第一客戶端若打開用戶A選取的動(dòng)畫文件“心花怒放”,則用戶A的卡通形象311,會(huì)做出比較夸張的表示非常開心的行為,以表示“心花怒放”這種情緒。用戶A選取的動(dòng)畫文件也可以發(fā)送給用戶B所使用的第二客戶端,第二客戶端通過打開該動(dòng)畫文件,會(huì)使得第二客戶端所顯示的用戶A的卡通形象311產(chǎn)生相應(yīng)的動(dòng)畫效果。
處于動(dòng)畫選擇區(qū)33中的動(dòng)畫文件的名稱所在位置設(shè)置有控件。第一客戶端可以利用所述控件,監(jiān)測(cè)用戶A對(duì)于動(dòng)畫文件的名稱的點(diǎn)擊行為。若監(jiān)測(cè)到用戶A對(duì)某個(gè)動(dòng)畫文件的名稱發(fā)生了點(diǎn)擊行為,則第一客戶端可以將被點(diǎn)擊的動(dòng)畫文件的名稱對(duì)應(yīng)的動(dòng)畫文件,確定為用戶A選定的動(dòng)畫文件。用戶A選定的動(dòng)畫文件,即可以作為待發(fā)送給第二客戶端的動(dòng)畫文件。
需要說明的是,當(dāng)用戶選定動(dòng)畫選擇區(qū)33中顯示的動(dòng)畫文件的名稱后,為使得用戶A獲知已選定的動(dòng)畫文件具體是哪個(gè),第一客戶端還可以確定與已選定的動(dòng)畫文件對(duì)應(yīng)的文本,并顯示在文本輸入?yún)^(qū)32中。如圖3所示,文本輸入?yún)^(qū)32中的文本“[憨笑動(dòng)畫]”,即為用戶A已選定的動(dòng)畫文件對(duì)應(yīng)的文本。第一客戶端可以根據(jù)字符“[]”,判定文本輸入?yún)^(qū)32中的文本是否為對(duì)應(yīng)于動(dòng)畫的文本。具體地,若文本處于該字符[]內(nèi),則說明該文本為對(duì)應(yīng)于動(dòng)畫文件的文本;而若文本沒有處于字符[]內(nèi),則說明文本不是對(duì)應(yīng)于動(dòng)畫文件的文本。
此外,圖3所示界面中,還包含一個(gè)“動(dòng)畫選擇和文字輸入切換按鈕”34,該按鈕,是第一客戶端提供的一個(gè)控件。視實(shí)際需求,圖3所示界面中,也可以不包含該按鈕。
若用戶點(diǎn)擊圖3所示的該按鈕34,會(huì)觸發(fā)第一客戶端由顯示圖3所示的該界面,切換為顯示如圖4所示的界面。圖4所示的該界面,主要包括:
觸發(fā)第一客戶端錄制語音的按鈕41——即,顯示有“按住說話”的按鈕;
各種動(dòng)畫文件的名稱,如微笑、翩翩起舞、憨笑等;
不同情緒的動(dòng)畫文件的名稱的切換顯示按鈕——即,界面底部顯示有開心、生氣或平靜等文字的按鈕。
基于如圖4所示的界面,若用戶按住錄制語音的按鈕41,則可以觸發(fā)第一客戶端進(jìn)行語音錄制。第一客戶端可以對(duì)錄制好的音頻數(shù)據(jù)進(jìn)行保存,并將保存的音頻數(shù)據(jù),作為待發(fā)送給第二客戶端的信息之一。
本申請(qǐng)實(shí)施例中,若按照信息的表現(xiàn)形式的不同對(duì)信息進(jìn)行分類,則文本輸入?yún)^(qū)32中的文本,屬于“文本”這一類型,動(dòng)畫選擇區(qū)33中的動(dòng)畫文件的名稱所對(duì)應(yīng)的動(dòng)畫文件,屬于“動(dòng)畫”這一類型,而第一客戶端錄制的音頻數(shù)據(jù),則屬于“音頻”這一類型。本申請(qǐng)實(shí)施例中,主要是以“信息的類型是按照信息的表現(xiàn)形式劃分得到的”這種情況為例,進(jìn)行介紹。
本申請(qǐng)實(shí)施例中,第一客戶端確定待發(fā)送給第二客戶端的信息的時(shí)機(jī),一般說來,是“第一客戶端在完成一次信息發(fā)送后,在進(jìn)行另一次信息發(fā)送前”的這個(gè)時(shí)間段。在這個(gè)時(shí)間段確定出的待發(fā)送給第二客戶端的信息,會(huì)在進(jìn)行所述另一次信息發(fā)送時(shí),發(fā)送給客戶端。
比如,本申請(qǐng)實(shí)施例中,假設(shè)在第一客戶端完成一次信息發(fā)送后,用戶A在文本輸入?yún)^(qū)32中輸入了文本“你好”,并在動(dòng)畫選擇區(qū)33中選定了動(dòng)畫文件的名稱“憨笑”,如圖3所示。那么,在用戶A點(diǎn)擊圖3中的“發(fā)送”按鈕,而觸發(fā)第一客戶端進(jìn)行另一次信息發(fā)送前,第一客戶端可以將文本“你好”和名稱為“憨笑”的動(dòng)畫文件中的信息這兩種類型的信息,確定為待發(fā)送給第二客戶端(接收端)的信息。
又比如,若假設(shè)在第一客戶端完成一次信息發(fā)送后,用戶A在文本輸入?yún)^(qū)32中輸入了文本“你好”,并在動(dòng)畫選擇區(qū)33中選定了動(dòng)畫文件的名稱“憨笑”,如圖3所示,此外,用戶A還觸發(fā)第一客戶端切換到如圖4所示的界面,并觸發(fā)第一客戶端錄制了音頻數(shù)據(jù)。那么,在用戶A點(diǎn)擊圖4中的“發(fā)送”按鈕,而觸發(fā)第一客戶端進(jìn)行另一次信息發(fā)送前,第一客戶端可以將文本“你好”、名稱為“憨笑”的動(dòng)畫文件中的信息和音頻數(shù)據(jù)這三種類型的信息,確定為待發(fā)送給第二客戶端的信息。
本申請(qǐng)實(shí)施例中,在第一客戶端完成一次信息發(fā)送后,進(jìn)行另一次信息發(fā)送前,第一客戶端還可以在用戶A的控制下,獲取手機(jī)1的攝像頭拍攝的圖片文件或視頻文件等,作為待發(fā)送給第二客戶端的信息。
第一客戶端確定出的待發(fā)送給第二客戶端的信息,均可以保存在內(nèi)存中,以便進(jìn)行后續(xù)處理。
以下介紹所述后續(xù)處理的具體實(shí)現(xiàn)方式。
步驟12,第一客戶端按照與接收端預(yù)先約定的編碼方式,將待編碼的信息編碼為具備預(yù)定格式的目標(biāo)文件;
其中,所述待編碼的信息,包括通過執(zhí)行步驟11確定出的所述至少兩種類型的信息。
若待發(fā)送給第二客戶端的信息,包括兩種類型的信息,則所述具備預(yù)定格式的目標(biāo)文件中包含所述兩種類型的信息;若待發(fā)送給第二客戶端的信息,包括三種類型的信息,則所述具備預(yù)定格式的目標(biāo)文件中包含所述三種類型的信息;依此類推。
由于本申請(qǐng)實(shí)施例提供的方法,主要是針對(duì)確定出的待發(fā)送給第二客戶端的信息包括至少兩種類型的信息的情況,因此,為了便于描述,后文將確定出的待發(fā)送給第二客戶端的信息,稱為“至少兩種類型的信息”。
本申請(qǐng)實(shí)施例中,為了使得第二客戶端后續(xù)在獲取到所述具備預(yù)定格式的目標(biāo)文件后,能夠采用與信息類型相匹配的信息讀取方式,對(duì)所述具備預(yù)定格式的目標(biāo)文件中的所述至少兩種類型的信息進(jìn)行讀取,還可以將“用于表征所述至少兩種類型的信息各自類型的類型信息”,編碼到所述具備預(yù)定格式的目標(biāo)文件中。為便于描述,后文將用于表征所述至少兩種類型的信息各自類型的類型信息,簡(jiǎn)稱為類型信息。
這里所說的用于表征所述至少兩種類型的信息各自類型的類型信息,可以是所述至少兩種類型的信息各自的正確讀取方式的標(biāo)識(shí);或,所述至少兩種類型的信息各自的類型標(biāo)識(shí);或,也可以是其他任何能夠表征所述至少兩種類型的信息各自的類型的信息。
當(dāng)用于表征所述至少兩種類型的信息各自類型的類型信息,是所述至少兩種類型的信息各自的正確讀取方式的標(biāo)識(shí)時(shí),針對(duì)第二客戶端而言,第二客戶端根據(jù)該類型信息,可以調(diào)用相應(yīng)的正確讀取方式,對(duì)所述至少兩種類型的信息進(jìn)行讀取。
比如,若所述至少兩種類型的信息中,存在“圖片”類型的信息,那么,所述數(shù)據(jù)包中“圖片”類型的信息的正確讀取方式的標(biāo)識(shí),可以是按照?qǐng)D片文件的讀取方式正確讀取所述“圖片”類型的信息的讀取方法的標(biāo)識(shí)x,根據(jù)該標(biāo)識(shí)x,第二客戶端可以調(diào)用相應(yīng)的讀取方法,對(duì)所述“圖片”類型的信息進(jìn)行正確讀?。蝗羲鲋辽賰煞N類型的信息中,存在“文本”類型的信息,那么,所述數(shù)據(jù)包中“文本”類型的信息的正確讀取方式的標(biāo)識(shí),可以是按照文本文件的讀取方式正確讀取“文本”類型的信息的讀取方法的標(biāo)識(shí)y,根據(jù)該標(biāo)識(shí)y,第二客戶端可以調(diào)用相應(yīng)的讀取方法,對(duì)所述“文本”類型的信息進(jìn)行正確讀取。上述讀取方法x、y,均可以預(yù)先設(shè)置在第二客戶端中。
當(dāng)所述類型信息,是所述至少兩種類型的信息各自的類型標(biāo)識(shí)時(shí),針對(duì)第二客戶端而言,第二客戶端根據(jù)該類型信息,可以調(diào)用相應(yīng)的正確讀取方式,對(duì)所述至少兩種類型的信息進(jìn)行讀取。
比如,若所述至少兩種類型的信息中,存在“視頻”類型的信息,那么,第二客戶端根據(jù)所述數(shù)據(jù)包中的“視頻”類型的信息的類型標(biāo)識(shí)p,通過查找信息的類型標(biāo)識(shí)和讀取方法的映射關(guān)系,可以確定與類型標(biāo)識(shí)p相映射的讀取方法,并根據(jù)確定出的讀取方法,對(duì)“視頻”類型的信息進(jìn)行正確讀??;若所述至少兩種類型的信息中,存在“文本”類型的信息,那么,第二客戶端根據(jù)所述數(shù)據(jù)包中的“文本”類型的信息的類型標(biāo)識(shí)q,通過查找信息的類型標(biāo)識(shí)和讀取方法的映射關(guān)系,可以確定與類型標(biāo)識(shí)q相映射的讀取方法,并根據(jù)確定出的讀取方法,對(duì)“文本”類型的信息進(jìn)行正確讀取。上述映射關(guān)系以及讀取方法p、q,均可以預(yù)先設(shè)置在第二客戶端中。
以下詳細(xì)介紹如何將類型信息和所述至少兩種類型的信息,編碼為具備預(yù)定格式的目標(biāo)文件。
本申請(qǐng)實(shí)施例中,提供以下兩種編碼方式:
方式一:打包方式的編碼。該方式主要包括下述步驟:
步驟Ⅰ:第一客戶端將所述至少兩種類型的信息,保存為相應(yīng)的不同類型的信息文件;
具體地,第一客戶端可以對(duì)確定出的所述至少兩種類型的信息進(jìn)行歸類,并將歸類得到的同一類型的信息,保存為相應(yīng)類型的文件。比如將音頻類型的信息存儲(chǔ)為音頻文件,動(dòng)畫類型的信息存儲(chǔ)為動(dòng)畫文件,等。這里所說的音頻文件和動(dòng)畫文件,可以統(tǒng)稱為信息文件。
步驟Ⅱ:第一客戶端按照與第二客戶端約定的信息編碼方式(如壓縮編碼方式),將包含類型信息的信息配置文件,以及執(zhí)行步驟Ⅰ保存得到的所述不同類型的信息文件,編碼為壓縮文件。該壓縮文件,即為具備預(yù)定格式的目標(biāo)文件。以示區(qū)分,這里所說的預(yù)定格式可稱為第一預(yù)定格式。
其中,所述信息配置文件,比如可以是采用下述方式生成的:
根據(jù)確定出的所述至少兩種類型的信息各自的類型,確定所述至少兩種類型的信息的讀取方式的標(biāo)識(shí)(或所述至少兩種類型的信息的類型標(biāo)識(shí));將確定出的所述至少兩種類型的信息的讀取方式的標(biāo)識(shí)(或所述至少兩種類型的信息的類型標(biāo)識(shí))作為類型信息,并將類型信息保存為信息配置文件。
該信息配置文件,可以是一個(gè)文本文件。該文本文件,可以包含若干項(xiàng)記錄。所述若干項(xiàng)記錄的數(shù)量,可以與所述至少兩種類型的類型數(shù)量相同。所述若干項(xiàng)記錄中的每項(xiàng)記錄,分別記錄有所述至少兩種類型的信息中的一種類型的信息對(duì)應(yīng)的類型信息,此外,還可以記錄該類型的信息的唯一識(shí)別碼。
其中,單項(xiàng)記錄中記錄的某種類型的信息的唯一識(shí)別碼,可以是利用消息摘要算法第五版(Message Digest Algorithm 5,MD5)對(duì)該類型的信息進(jìn)行計(jì)算而產(chǎn)生的信息摘要(MD5值)。基于信息配置文件中的唯一識(shí)別碼,可以實(shí)現(xiàn)對(duì)于所述目標(biāo)文件中的相應(yīng)信息的完整性校驗(yàn)。比如,第二客戶端在接收到所述目標(biāo)文件后,針對(duì)所述目標(biāo)文件中某類型的信息,第二客戶端可以計(jì)算該類型的信息對(duì)應(yīng)的MD5值,并比較計(jì)算出的MD5值與所述目標(biāo)文件中的對(duì)應(yīng)于該類型的信息的MD5值是否一致;若一致,則確定該類型的信息是完整的;若不一致,則確定該類型的信息是不完整的。針對(duì)不完整的信息,第二客戶端可以放棄對(duì)它的讀取。
本申請(qǐng)實(shí)施例中,為了使得第二客戶端在接收到所述目標(biāo)文件后,能夠確定出所述至少兩種類型的信息分別對(duì)應(yīng)信息配置文件中的哪項(xiàng)記錄,可以在所述具備預(yù)定格式的目標(biāo)文件中,建立所述至少兩種類型的信息與所述信息配置文件中相應(yīng)的記錄的映射關(guān)系。比如,可以使得所述至少兩種類型的信息在所述目標(biāo)文件中的排列順序,與所述信息配置文件中各項(xiàng)記錄的排列順序相對(duì)應(yīng),這種順序上的對(duì)應(yīng)關(guān)系,就可以作為所述至少兩種類型的信息與所述信息配置文件中相應(yīng)的記錄的映射關(guān)系。
當(dāng)然,所述映射關(guān)系,也可以就直接記錄在信息配置文件中。比如,某個(gè)信息配置文件中的內(nèi)容可以如下:
{"audio":"file1.mp3","text":"desc.txt"}
這是一份json格式的內(nèi)容,該內(nèi)容具體包括兩個(gè)鍵值對(duì),“鍵”是信息文件在系統(tǒng)中的標(biāo)識(shí),也即為信息文件的類型,如音頻“audio”或者文本“text”,“值”是信息文件的文件名。根據(jù)該信息配置文件,接收端可以根據(jù)“鍵”所表示的類型,從接收到的具備預(yù)定格式的目標(biāo)文件中,讀取以與“鍵”對(duì)應(yīng)的“值”——file1.mp3作為文件名的信息文件,作為音頻文件。需要說明的是,本申請(qǐng)實(shí)施例中所述的“讀取”,也是一種解碼。比如,針對(duì)以目標(biāo)文件中的以file1.mp3作為文件名的該信息文件為例,“讀取”該信息文件,是指按照與文件名的后綴相匹配的解碼方式,解碼該信息文件。具體而言,可以根據(jù)該文件名的后綴“.mp3”,按照針對(duì)mp3這種格式的文件的解碼方式,解碼該信息文件file1.mp3。類似地,針對(duì)其他格式的信息文件,也可以采用相應(yīng)的解碼方式進(jìn)行解碼,本申請(qǐng)實(shí)施例不再舉例說明。
接上文,為了使得第二客戶端在接收到所述目標(biāo)文件后,能夠確定出所述至少兩種類型的信息分別對(duì)應(yīng)信息配置文件中的哪項(xiàng)記錄,第一客戶端和第二客戶端也可以預(yù)先約定所述目標(biāo)文件中不同類型的信息的排列順序。比如,第一客戶端和第二客戶端可以約定所述目標(biāo)文件中不同類型的信息的排序依次為:“圖片”、“文本”和“視頻”,在這種情況下,若第一客戶端確定出的所述至少兩種類型的信息僅包括“文本”和“視頻”類型的信息,則可以以預(yù)先約定的某種信息作為“圖片”類型的信息,與確定出的“文本”和“視頻”類型的信息進(jìn)行排序,并利用信息配置文件和排序后的所有信息,生成所述目標(biāo)文件。
本申請(qǐng)實(shí)施例中,第一客戶端按照與第二客戶端約定的信息編碼方式,也可以是除壓縮編碼方式以外的其他方式,本申請(qǐng)實(shí)施例對(duì)此不進(jìn)行限定。
方式二:信息綜合方式的編碼
該方式主要包括下述步驟:
步驟Ⅰ:第一客戶端將所述至少兩種類型的信息,保存為相應(yīng)的不同類型的信息文件;
具體地,第一客戶端可以對(duì)確定出的所述至少兩種類型的信息進(jìn)行歸類,并將歸類得到的同一類型的信息,保存為相應(yīng)類型的文件。比如將音頻類型的信息存儲(chǔ)為音頻文件,動(dòng)畫類型的信息存儲(chǔ)為動(dòng)畫文件,等。這里所說的音頻文件和動(dòng)畫文件,可以統(tǒng)稱為信息文件。
步驟Ⅱ:第一客戶端按照與第二客戶端約定的第一編碼方式,將所述至少兩種類型的信息分別對(duì)應(yīng)的信息文件以及相應(yīng)的類型信息,保存為指定文件(比如可以是一個(gè)二進(jìn)制文件);然后,再按照與第二客戶端約定的第二編碼方式,將所述指定文件編碼為具備預(yù)定格式的目標(biāo)文件。以示區(qū)分,這里所說的預(yù)定格式可稱為第二預(yù)定格式。
所述第一編碼方式和第二編碼方式,共同構(gòu)成第一客戶端和第二客戶端約定的信息編碼方式。
考慮到對(duì)計(jì)算機(jī)來說,每一個(gè)文件都可以被認(rèn)為是二進(jìn)制文件,因此,可以把通過執(zhí)行步驟Ⅰ得到的所有信息文件,綜合存儲(chǔ)到同一個(gè)二進(jìn)制文件F中。以下對(duì)根據(jù)該思路來實(shí)施步驟Ⅱ的一種方式進(jìn)行詳細(xì)說明:
該方式具體可以包括如下步驟:
步驟一:創(chuàng)建用于保存信息文件的二進(jìn)制文件F;
步驟二:確定通過執(zhí)行步驟Ⅰ得到的一個(gè)信息文件的二進(jìn)制長(zhǎng)度值,并將確定的二進(jìn)制長(zhǎng)度值進(jìn)行二進(jìn)制編碼后,寫入通過執(zhí)行步驟一創(chuàng)建的二進(jìn)制文件F;
假設(shè)通過執(zhí)行步驟Ⅰ得到的所有信息文件包括File1、File2和File3,那么,通過執(zhí)行步驟二,比如可以確定信息文件File1的二進(jìn)制長(zhǎng)度值。其中,F(xiàn)ile1、File2和File3,是信息文件的名稱。
File1的二進(jìn)制長(zhǎng)度值,一般是指File1的總字節(jié)數(shù)。假設(shè)File1的二進(jìn)制長(zhǎng)度值是512個(gè)字節(jié),那么,可以對(duì)512進(jìn)行二進(jìn)制編碼,得到相應(yīng)的32位的二進(jìn)制數(shù)“0000 0000 0000 0000 0000 0010 0000 0000”,并將該二進(jìn)制數(shù)寫入所述二進(jìn)制文件F。
步驟三:將步驟二中所述的一個(gè)信息文件對(duì)應(yīng)的讀取方式的標(biāo)識(shí)進(jìn)行二進(jìn)制編碼后,寫入所述二進(jìn)制文件F;
比如將File1對(duì)應(yīng)的讀取方式的標(biāo)識(shí)進(jìn)行二進(jìn)制編碼后,寫入所述二進(jìn)制文件F。
步驟四:將步驟二中所述的一個(gè)信息文件的類型標(biāo)識(shí)進(jìn)行二進(jìn)制編碼后,寫入所述二進(jìn)制文件F;
比如將File1的類型標(biāo)識(shí)進(jìn)行二進(jìn)制編碼后,寫入所述二進(jìn)制文件F。
本申請(qǐng)實(shí)施例中,可以將信息文件的類型標(biāo)識(shí),保存在用于保存類型標(biāo)識(shí)的“歸類表”這個(gè)表格中,并建立信息文件與信息文件的類型標(biāo)識(shí)的映射關(guān)系,比如,可以建立信息文件的名稱“File1”與該信息文件的類型標(biāo)識(shí)的映射關(guān)系。以“File1”為例,基于建立的該映射關(guān)系,可以根據(jù)“File1”,確定出與“File1”相映射的類型標(biāo)識(shí)。
步驟五:將步驟二中所述的某個(gè)信息文件本身,寫入所述二進(jìn)制文件F。
分別對(duì)各個(gè)信息文件執(zhí)行步驟二~步驟五,可以實(shí)現(xiàn)將各個(gè)信息文件以及相應(yīng)的二進(jìn)制長(zhǎng)度、讀取方式的標(biāo)識(shí)和類型標(biāo)識(shí),均寫入所述二進(jìn)制文件F。
通過執(zhí)行上述步驟得到的二進(jìn)制文件F(以示區(qū)分,后文稱為二進(jìn)制文件F')中,各種內(nèi)容的排列方式比如如下:
File1的二進(jìn)制長(zhǎng)度值對(duì)應(yīng)的二進(jìn)制數(shù)->File1的讀取方式的標(biāo)識(shí)對(duì)應(yīng)的二進(jìn)制數(shù)->File1的類型標(biāo)識(shí)對(duì)應(yīng)的二進(jìn)制數(shù)->File1本身->File2的二進(jìn)制長(zhǎng)度值對(duì)應(yīng)的二進(jìn)制數(shù)->File2的讀取方式的標(biāo)識(shí)對(duì)應(yīng)的二進(jìn)制數(shù)->File2的類型標(biāo)識(shí)對(duì)應(yīng)的二進(jìn)制數(shù)->File2本身->File3的二進(jìn)制長(zhǎng)度值對(duì)應(yīng)的二進(jìn)制數(shù)->File3的讀取方式的標(biāo)識(shí)對(duì)應(yīng)的二進(jìn)制數(shù)->File3的類型標(biāo)識(shí)對(duì)應(yīng)的二進(jìn)制數(shù)->File3本身。
本申請(qǐng)實(shí)施例中對(duì)上述步驟二~步驟四的執(zhí)行順序不進(jìn)行限定,只要第一客戶端和第二客戶端預(yù)先對(duì)所述執(zhí)行順序進(jìn)行約定,也即約定二進(jìn)制文件F'中各種內(nèi)容的排列順序,以便第二客戶端能夠確定二進(jìn)制文件F'中各種內(nèi)容的排列順序即可。
在得到二進(jìn)制文件F'后,第一客戶端可以按照第二編碼方式對(duì)所述二進(jìn)制文件F'進(jìn)行編碼,從而得到具備預(yù)定格式的目標(biāo)文件。當(dāng)?shù)诙幋a方式為壓縮編碼方式時(shí),得到的具備預(yù)定格式的目標(biāo)文件是一個(gè)壓縮文件。
所述第二編碼方式,也可以是除壓縮編碼方式以外的其他方式,本申請(qǐng)實(shí)施例對(duì)此不進(jìn)行限定。
采用信息綜合方式的編碼,由于第一編碼方式一般說來只有客戶端和服務(wù)器能夠獲知,因此具有一定程度的保密性。在這樣的情況下,當(dāng)封裝有具備預(yù)定格式的目標(biāo)文件的數(shù)據(jù)包被第三方攔截后,由于第三方難以獲知所述第一編碼方式,因此數(shù)據(jù)包中的內(nèi)容比較不容易被破解??梢姡捎眯畔⒕C合方式的編碼,可以使得后續(xù)生成的數(shù)據(jù)包的抗破解能力較高,從而保證信息發(fā)送過程的安全性。
第一客戶端在成功生成具備預(yù)定格式的目標(biāo)文件后,執(zhí)行下述步驟13。
步驟13,第一客戶端將通過執(zhí)行步驟12獲得的具備預(yù)定格式的目標(biāo)文件封裝到數(shù)據(jù)包中,并將所述數(shù)據(jù)包發(fā)送給接收端。
一般地,為了向第二客戶端發(fā)送信息,用戶A往往會(huì)向第一客戶端輸入信息發(fā)送指令,以觸發(fā)第一客戶端響應(yīng)于該指令,向第二客戶端發(fā)送信息。比如,用戶A可以通過點(diǎn)擊如圖3中的“發(fā)送”按鈕,向第一客戶端輸入信息發(fā)送指令;第一客戶端在接收到該信息發(fā)送指令后,會(huì)向第二客戶端發(fā)送封裝有具備預(yù)定格式的目標(biāo)文件的數(shù)據(jù)包。
本申請(qǐng)實(shí)施例中,第一客戶端可以是在接收到該信息發(fā)送指令后,根據(jù)第一客戶端和第二客戶端采用的通信協(xié)議,將所述具備預(yù)定格式的目標(biāo)文件封裝稱包含所述目標(biāo)文件的數(shù)據(jù)包,然后再向第二客戶端發(fā)送所述數(shù)據(jù)包。其中,該目標(biāo)文件可以作為所述數(shù)據(jù)包的信息體。
特別地,當(dāng)?shù)谝豢蛻舳撕偷诙蛻舳司鶠榧磿r(shí)通信客戶端時(shí),第一客戶端響應(yīng)于信息發(fā)送指令,將所述數(shù)據(jù)包作為即時(shí)通信消息,發(fā)送給第二客戶端。
采用本申請(qǐng)實(shí)施例提供的上述方案,由于第一客戶端可以按照與第二客戶端預(yù)先約定的編碼方式,將待發(fā)送給第二客戶端的至少兩種類型的信息編碼為具備預(yù)定格式的目標(biāo)文件,并發(fā)送給第二客戶端,從而可以實(shí)現(xiàn)在一個(gè)數(shù)據(jù)包中攜帶至少兩種不同類型的信息,提高了在發(fā)送不同類型的信息的場(chǎng)景下的信息發(fā)送效率。
并且,由于除了發(fā)送所述至少兩種類型的信息外,還將所述類型信息發(fā)送給第二客戶端,從而可以使得第二客戶端可以根據(jù)所述類型信息,確定用于正確讀取所述至少兩種類型的信息的讀取方式,進(jìn)而利用所述讀取方式對(duì)所述至少兩種類型的信息進(jìn)行讀取,以便進(jìn)行信息展示。
以下進(jìn)一步對(duì)第二客戶端如何對(duì)所述至少兩種類型的信息進(jìn)行讀取和展示,進(jìn)行詳細(xì)介紹。
請(qǐng)參考圖5,為本申請(qǐng)實(shí)施例中的第二客戶端獲取所述至少兩種類型的信息的實(shí)現(xiàn)流程圖,主要包括下述步驟:
步驟51,第二客戶端接收第一客戶端發(fā)送的數(shù)據(jù)包;
所述數(shù)據(jù)包,由前文所述可知,包含具備預(yù)定格式的目標(biāo)文件;所述目標(biāo)文件包含至少兩種類型的信息。
若第一客戶端和第二客戶端均為即時(shí)通信客戶端,則第二客戶端具體可以是接收第一客戶端發(fā)送的、作為即時(shí)通信消息的所述數(shù)據(jù)包。
步驟52,第二客戶端按照與發(fā)送端預(yù)先約定的解碼方式,對(duì)所述具備預(yù)定格式的目標(biāo)文件進(jìn)行解碼,以獲得所述至少兩種類型的信息。
第二客戶端在接收到所述數(shù)據(jù)包后,首先按照第一客戶端和第二客戶端之間采用的通信協(xié)議,對(duì)所述數(shù)據(jù)包進(jìn)行解封裝,從而獲取到所述具備預(yù)定格式的目標(biāo)文件;而后,可以采用所述預(yù)先約定的解碼方式,對(duì)所述具備預(yù)定格式的目標(biāo)文件進(jìn)行解碼,以獲得所述至少兩種類型的信息。
由前文的介紹可知,第一客戶端在生成所述具備預(yù)定格式的目標(biāo)文件時(shí),至少可以采用兩種方式。方式一是打包方式的編碼,方式二是信息綜合方式的編碼。
當(dāng)?shù)谝豢蛻舳瞬捎玫氖欠绞揭粫r(shí),第二客戶端對(duì)所述具備預(yù)定格式的目標(biāo)文件進(jìn)行解碼后,可以直接獲取到所述信息文件和相應(yīng)的配置文件。比如,當(dāng)?shù)谝豢蛻舳瞬捎玫木幋a方式是某種壓縮編碼方式時(shí),則第二客戶端可以利用相應(yīng)的壓縮解碼方式,對(duì)所述目標(biāo)文件進(jìn)行解壓縮,從而獲取到所述信息文件和相應(yīng)的配置文件。
而當(dāng)?shù)谝豢蛻舳瞬捎玫氖欠绞蕉r(shí),第二客戶端可以按照與前文所述的第二編碼方式相對(duì)應(yīng)的解碼方式(可稱為第二解碼方式),對(duì)所述目標(biāo)文件進(jìn)行解碼,得到待進(jìn)一步解碼的文件,具體而言比如可以是所述二進(jìn)制文件F';而后,再進(jìn)一步采用與前文所說的第一編碼方式相對(duì)應(yīng)的解碼方式(可稱為第一解碼方式),對(duì)所述待進(jìn)一步解碼的文件進(jìn)行解碼,比如,對(duì)所述二進(jìn)制文件F'進(jìn)行解碼,從而得到各個(gè)信息文件。
當(dāng)?shù)谝豢蛻舳瞬捎玫氖欠绞揭粫r(shí),第二客戶端可以從所述數(shù)據(jù)包中獲取到信息配置文件,以及所述至少兩種類型的信息對(duì)應(yīng)的信息文件。由于所述信息配置文件中包含類型信息,并且,所述信息配置文件中的類型信息與所述信息文件的信息具備映射關(guān)系,因此,第二客戶端在獲取到類型信息后,后續(xù)若要對(duì)所述至少兩種類型的信息進(jìn)行展示,則可以根據(jù)配置文件中的各類型信息,對(duì)相應(yīng)的信息文件中的信息進(jìn)行讀取,并對(duì)讀取得到的信息進(jìn)行展示。
具體來說,當(dāng)?shù)诙蛻舳藦乃瞿繕?biāo)文件中,獲取到的一個(gè)類型信息為“圖片”類型的信息的讀取方式的標(biāo)識(shí)x時(shí),根據(jù)該類型信息,第二客戶端可以調(diào)用與該標(biāo)識(shí)x相映射的讀取方式,對(duì)獲取到的與該標(biāo)識(shí)x相映射的“圖片”類型的信息進(jìn)行讀取,得到相應(yīng)的圖片文件,并進(jìn)行顯示;當(dāng)?shù)诙蛻舳藦乃瞿繕?biāo)文件中,獲取到的另一個(gè)類型信息為“文本”類型的信息的正確讀取方式的標(biāo)識(shí)y時(shí),根據(jù)該類型信息,第二客戶端可以調(diào)用與該標(biāo)識(shí)y相映射的讀取方法,對(duì)獲取到的與該標(biāo)識(shí)y相映射的“文本”類型的信息進(jìn)行讀取,得到相應(yīng)的文本文件,并進(jìn)行顯示。其中,上述各讀取方式,均可以預(yù)先設(shè)置在第二客戶端中,并且,第二客戶端中一般還設(shè)置有所述各讀取方式的調(diào)用路徑和相應(yīng)的標(biāo)識(shí)(如上述x、y等)的映射關(guān)系,以便根據(jù)標(biāo)識(shí)正確調(diào)用讀取方式。
需要說明的是,若第二客戶端還從所述目標(biāo)文件中,獲取到諸如信息文件的MD5值的唯一識(shí)別碼,則第二客戶端在對(duì)信息文件中的信息進(jìn)行讀取前,還可以按照與第一客戶端預(yù)先約定的唯一識(shí)別碼計(jì)算方式,分別計(jì)算信息文件的唯一識(shí)別碼;然后,比較計(jì)算出的唯一識(shí)別碼和從所述數(shù)據(jù)包中獲取到的相應(yīng)的唯一識(shí)別碼是否一致;若一致,則可以確定該信息文件是完整的,從而對(duì)該信息文件進(jìn)行讀取;若不一致,則可以確定該信息文件不完整,從而不對(duì)該信息文件進(jìn)行讀取。
當(dāng)?shù)诙蛻舳瞬捎玫氖欠绞蕉r(shí),第二客戶端可以從所述目標(biāo)文件中,獲取到包含所述至少兩種類型的信息分別對(duì)應(yīng)的信息文件以及相應(yīng)的類型信息的指定文件,如前文所述的二進(jìn)制文件F'。以二進(jìn)制文件F'為例,由于二進(jìn)制文件F'中,包含所述至少兩種類型的信息分別對(duì)應(yīng)的信息文件以及相應(yīng)的類型信息,并且,第二客戶端與第一客戶端可以預(yù)先約定不同類型的信息以及相應(yīng)的類型信息在二進(jìn)制文件F'中的排列順序,因此,第二客戶端在獲取到二進(jìn)制文件F'后,后續(xù)若要對(duì)所述至少兩種類型的信息進(jìn)行展示,則可以從二進(jìn)制文件中獲取類型信息,并根據(jù)類型信息對(duì)相應(yīng)的信息文件中的信息進(jìn)行讀取,以及對(duì)讀取到的信息進(jìn)行展示。
以下以從所述目標(biāo)文件中獲取到所述二進(jìn)制文件F'為例,介紹第二客戶端對(duì)二進(jìn)制文件F'的處理步驟:
步驟一:第二客戶端在采用第二解碼方式對(duì)所述目標(biāo)文件進(jìn)行解碼,從而得到二進(jìn)制文件F'后,創(chuàng)建一份文本文件(或一份內(nèi)存數(shù)據(jù))用于存放信息配置表;
步驟二:第二客戶端從二進(jìn)制文件F'的指定讀取位置開始,按順序讀取信息體的中的二進(jìn)制數(shù),并將讀取到的除信息文件外的二進(jìn)制數(shù),按讀取順序依次保存到信息配置表中;
比如,沿用前例,當(dāng)二進(jìn)制文件F'中的內(nèi)容如下:
File1的二進(jìn)制長(zhǎng)度值對(duì)應(yīng)的二進(jìn)制數(shù)->File1的讀取方式的標(biāo)識(shí)對(duì)應(yīng)的二進(jìn)制數(shù)->File1的類型標(biāo)識(shí)對(duì)應(yīng)的二進(jìn)制數(shù)->File1本身->File2的二進(jìn)制長(zhǎng)度值對(duì)應(yīng)的二進(jìn)制數(shù)->File2的讀取方式的標(biāo)識(shí)對(duì)應(yīng)的二進(jìn)制數(shù)->File2的類型標(biāo)識(shí)對(duì)應(yīng)的二進(jìn)制數(shù)->File2本身->File3的二進(jìn)制長(zhǎng)度值對(duì)應(yīng)的二進(jìn)制數(shù)->File3的讀取方式的標(biāo)識(shí)對(duì)應(yīng)的二進(jìn)制數(shù)->File3的類型標(biāo)識(shí)對(duì)應(yīng)的二進(jìn)制數(shù)->File3本身。
并且,除各信息文件本身外,其他各二進(jìn)制數(shù)分別為32位時(shí),第二客戶端可以從二進(jìn)制文件F'的第一位二進(jìn)制數(shù)開始,提取前32位二進(jìn)制數(shù),作為二進(jìn)制文件F'中的第一個(gè)信息文件(即File1)的二進(jìn)制長(zhǎng)度;提取第33位~第64位,作為二進(jìn)制文件F'中的第一個(gè)信息文件的讀取方式的標(biāo)識(shí);提取第65位~第96位,作為二進(jìn)制文件F'中的第一個(gè)信息文件的類型標(biāo)識(shí)。提取到的該些數(shù)據(jù),可以保存在信息配置表中。對(duì)應(yīng)于同一信息文件的數(shù)據(jù),保存到信息配置表的同一項(xiàng)中。
需要說明的是,根據(jù)第一個(gè)信息文件的二進(jìn)制長(zhǎng)度,在提取出作為二進(jìn)制文件F'中的第一個(gè)信息文件(即File1)的類型標(biāo)識(shí)的二進(jìn)制數(shù)后,可以根據(jù)該二進(jìn)制長(zhǎng)度(如512位),確定二進(jìn)制文件F'中的、排列在該類型標(biāo)識(shí)后的該二進(jìn)制長(zhǎng)度(如512位)的二進(jìn)制數(shù),作為二進(jìn)制文件F'中的第一個(gè)信息文件。
步驟三:第二客戶端分別計(jì)算二進(jìn)制文件F'中各個(gè)信息文件的唯一識(shí)別碼(如MD5值),并記錄到信息配置表中;
通過執(zhí)行步驟二和步驟三,信息配置表中的各項(xiàng)分別對(duì)應(yīng)一個(gè)信息文件。單項(xiàng)中記錄的信息包括:二進(jìn)制文件F'中的某個(gè)信息文件(如File1)的二進(jìn)制長(zhǎng)度、該信息文件的讀取方式的標(biāo)識(shí)、該信息文件的類型標(biāo)識(shí)。
步驟四:當(dāng)?shù)诙蛻舳艘獙?duì)所述二進(jìn)制文件F'中的各類型的信息進(jìn)行展示時(shí),第二客戶端讀取信息配置表,并根據(jù)信息配置表中的信息,實(shí)現(xiàn)對(duì)所述二進(jìn)制文件F'中的信息文件的讀取。
比如,在第二客戶端接收到針對(duì)所述二進(jìn)制文件F'的信息展示指令后,第二客戶端從信息配置表中,依次讀取各項(xiàng)中的二進(jìn)制長(zhǎng)度,以及作為類型信息的數(shù)據(jù)(如讀取方式的標(biāo)識(shí)或信息文件的類型標(biāo)識(shí)),并根據(jù)所述二進(jìn)制長(zhǎng)度,從所述二進(jìn)制文件F'中確定出信息文件,進(jìn)而利用類型信息對(duì)確定出的信息文件進(jìn)行讀取。
步驟五:第二客戶端對(duì)讀取到的信息文件進(jìn)行展示。
本申請(qǐng)實(shí)施例中,可以采用多種展示方式。
具體地,可以對(duì)讀取到的不同類型的信息文件分別獨(dú)立地進(jìn)行展示。比如,當(dāng)讀取到的信息文件包括圖片文件和音頻文件時(shí),可以將讀取到的圖片文件,顯示在第二客戶端的界面中,同時(shí),將讀取到的音頻文件進(jìn)行播放。或者,將讀取到的圖片文件,顯示在第二客戶端的界面中,并在完成對(duì)所述圖片文件的顯示后的第2秒后,對(duì)讀取到的音頻文件進(jìn)行播放。
或者,可以對(duì)讀取到的不同類型的信息文件進(jìn)行關(guān)聯(lián)展示,也稱復(fù)合展示。比如,當(dāng)讀取到的信息文件包括動(dòng)畫文件和音頻文件時(shí),第二客戶端可以根據(jù)音頻文件,確定動(dòng)畫文件中的動(dòng)畫形象相應(yīng)地應(yīng)該如何進(jìn)行口型變化,即根據(jù)音頻文件確定動(dòng)畫形象的口型變化方式;在確定出口型變化方式后,第二客戶端可以在播放音頻文件的同時(shí),可以播放動(dòng)畫文件,并根據(jù)所述口型變化方式,改變所述動(dòng)畫文件中動(dòng)畫形象的口型。
需要說明的是,本申請(qǐng)實(shí)施例中,第一客戶端在對(duì)信息文件進(jìn)行編碼之前,或者第二客戶端在對(duì)信息文件進(jìn)行成功讀取后,均可以進(jìn)行信息的類型轉(zhuǎn)化。比如,針對(duì)第一客戶端而言,第一客戶端在對(duì)信息文件進(jìn)行編碼之前,可以將用戶輸入的某類型的信息(如“文本”類型的信息),轉(zhuǎn)化為另一類型的信息(如“音頻”類型的信息),然后再將轉(zhuǎn)化得到的信息作為所述至少兩種類型的信息中的一種,與其他類型的信息以及類型信息,一起編碼為具備預(yù)定格式的目標(biāo)文件。而針對(duì)第二客戶端而言,第二客戶端在對(duì)信息文件進(jìn)行讀取后,可以將讀取到的某種類型的文件,轉(zhuǎn)化為其他類型的文件。比如,將讀取到的音頻文件,轉(zhuǎn)化為文本文件,并對(duì)轉(zhuǎn)化得到的文本信息進(jìn)行顯示。
實(shí)施例2
出于與本申請(qǐng)實(shí)施例1相同的發(fā)明構(gòu)思,本申請(qǐng)實(shí)施例2提供一種信息發(fā)送裝置,用以解決現(xiàn)有即時(shí)通信中,在發(fā)送不同類型的信息的場(chǎng)景下所采取的信息發(fā)送方式存在的效率較低的問題。該裝置的具體結(jié)構(gòu)示意圖如圖6所示,包括下述功能單元:
信息確定單元61,用于確定待發(fā)送給接收端的至少兩種類型的信息。
編碼單元62,用于按照與接收端預(yù)先約定的編碼方式,將待編碼的信息編碼為具備預(yù)定格式的目標(biāo)文件。其中,所述待編碼的信息,包括信息確定單元61確定出的所述至少兩種類型的信息。
發(fā)送單元63,用于將編碼單元62得到的所述具備預(yù)定格式的目標(biāo)文件封裝到數(shù)據(jù)包中,并將所述數(shù)據(jù)包發(fā)送給接收端。
為了使得接收端可以準(zhǔn)確地讀取所述至少兩種類型的信息,在一種實(shí)施方式中,所述待編碼的信息中,還包括用于表征所述至少兩種類型的信息各自類型的類型信息。
在一種實(shí)施方式中,編碼單元62具體可以用于:將所述至少兩種類型的信息,保存為相應(yīng)的不同類型的信息文件;按照所述信息編碼方式,將所述不同類型的信息文件以及所述類型信息,編碼為具備預(yù)定格式的目標(biāo)文件。
可選的,編碼單元62按照所述信息編碼方式,將所述不同類型的信息文件以及所述類型信息,編碼為具備預(yù)定格式的目標(biāo)文件,具體可以包括:根據(jù)所述信息編碼方式,將所述不同類型的信息文件以及包含所述類型信息的信息配置文件,編碼為具備預(yù)定格式的目標(biāo)文件。若這里所說的信息編碼方式包括壓縮編碼方式,則編碼單元62具體可以用于:根據(jù)所述信息編碼方式,將所述不同類型的信息文件以及包含所述類型信息的信息配置文件,編碼為作為所述目標(biāo)文件的壓縮文件。
在一種實(shí)施方式中,所述信息編碼方式,可以包括第一編碼方式和第二編碼方式。在這樣的情況下,編碼單元62具體可以用于:按照所述第一編碼方式,將所述不同類型的信息文件以及所述類型信息保存為待處理文件;按照所述第二編碼方式,將所述待處理文件編碼為具備預(yù)定格式的目標(biāo)文件。
當(dāng)所述第二編碼方式包括壓縮編碼方式時(shí),編碼單元62可以用于:按照所述第二編碼方式,將所述待處理文件編碼為作為所述目標(biāo)文件的壓縮文件。
可選的,前文所述的至少兩種類型的信息,包括下述信息中的至少兩種:
文本;圖片;音頻;動(dòng)畫;視頻。
可選的,本申請(qǐng)實(shí)施例所述的該信息發(fā)送裝置和所述的接收端,均可以為即時(shí)通信客戶端。
采用本申請(qǐng)實(shí)施例提供的該裝置,由于該裝置可以按照與接收端預(yù)先約定的編碼方式,將待發(fā)送給接收端的至少兩種類型的信息編碼為具備預(yù)定格式的目標(biāo)文件,并發(fā)送給接收端,從而可以實(shí)現(xiàn)在一個(gè)數(shù)據(jù)包中攜帶至少兩種不同類型的信息,提高了在發(fā)送不同類型的信息的場(chǎng)景下的信息發(fā)送效率。
出于與本申請(qǐng)實(shí)施例1相同的發(fā)明構(gòu)思,本申請(qǐng)實(shí)施例還提供一種信息獲取裝置,用于對(duì)采用本申請(qǐng)實(shí)施例1提供的方法發(fā)送的信息進(jìn)行獲取。具體地,該信息獲取裝置的具體結(jié)構(gòu)示意圖如圖7所示,包括下述功能單元:
數(shù)據(jù)包接收單元71,用于接收發(fā)送端發(fā)送的數(shù)據(jù)包。
所述數(shù)據(jù)包,包含具備預(yù)定格式的目標(biāo)文件;所述目標(biāo)文件包含至少兩種類型的信息。
解碼單元72,用于按照與發(fā)送端預(yù)先約定的解碼方式,對(duì)所述具備預(yù)定格式的目標(biāo)文件進(jìn)行解碼,以獲得所述至少兩種類型的信息。
可選的,所述具備預(yù)定格式的目標(biāo)文件中,還包括用于表征所述至少兩種類型的信息各自類型的類型信息。
在一種實(shí)施方式中,所述裝置還可以包括信息讀取單元。該信息讀取單元,用于在解碼單元72按照與發(fā)送端預(yù)先約定的解碼方式,對(duì)所述具備預(yù)定格式的目標(biāo)文件進(jìn)行解碼,以獲得所述至少兩種類型的信息后,根據(jù)對(duì)所述目標(biāo)文件進(jìn)行解碼得到的所述類型信息,采用與所述至少兩種類型的信息各自的類型分別相匹配的信息讀取方式,讀取獲得的所述至少兩種類型的信息。
為了對(duì)信息讀取單元讀取到的信息進(jìn)行展示,本申請(qǐng)實(shí)施例提供的該信息獲取裝置還可以包括:展示單元,用于在信息讀取單元采用與所述至少兩種類型的信息各自的類型分別相匹配的信息讀取方式,讀取獲得的所述至少兩種類型的信息后,展示讀取到的所述至少兩種類型的信息。
具體地,展示單元,可以用于復(fù)合展示讀取到的所述至少兩種類型的信息。
采用本申請(qǐng)實(shí)施例提供的該信息獲取裝置,由于針對(duì)數(shù)據(jù)包接收單元71接收到的由發(fā)送端發(fā)送的數(shù)據(jù)包中包含的預(yù)定格式的目標(biāo)文件,該裝置可以按照與發(fā)送端預(yù)先約定的解碼方式,對(duì)所述具備預(yù)定格式的目標(biāo)文件進(jìn)行解碼,以獲得所述至少兩種類型的信息,從而成功實(shí)現(xiàn)了從一個(gè)數(shù)據(jù)包中獲取到至少兩種類型的信息,提升了信息的獲取效率,解決現(xiàn)有即時(shí)通信中,在發(fā)送不同類型的信息的場(chǎng)景下所采取的信息發(fā)送方式存在的效率較低的問題。
實(shí)施例3
出于與本申請(qǐng)實(shí)施例1和實(shí)施例2相同的發(fā)明構(gòu)思,本申請(qǐng)實(shí)施例還提供一種界面系統(tǒng),用以解決現(xiàn)有即時(shí)通信中,在發(fā)送不同類型的信息的場(chǎng)景下所采取的信息發(fā)送方式存在的效率較低的問題。該界面系統(tǒng)的具體結(jié)構(gòu)示意圖如圖8所示,包括如下功能單元:
待發(fā)送信息確定單元81,用于確定待發(fā)送給接收端的至少兩種類型的信息;
信息發(fā)送控件82,用于檢測(cè)信息發(fā)送指令;在檢測(cè)到所述信息發(fā)送指令后,按照預(yù)先與信息接收端約定的編碼方式,將待編碼的信息編碼為具備預(yù)定格式的目標(biāo)文件;將所述具備預(yù)定格式的目標(biāo)文件封裝到數(shù)據(jù)包中,并將所述數(shù)據(jù)包發(fā)送給接收端。該信息發(fā)送控件82,在用戶界面中的表現(xiàn)形式可以是一個(gè)按鈕,如圖9所示的用戶界面90中的顯示有“發(fā)送”的按鈕93。
其中,所述待編碼的信息,包括待發(fā)送信息確定單元81確定出的所述至少兩種類型的信息。
在一種實(shí)施方式中,所述待編碼的信息,還包括用于表征所述至少兩種類型的信息各自類型的類型信息。
本申請(qǐng)實(shí)施例3中,信息發(fā)送控件82如何實(shí)現(xiàn)將待編碼的信息編碼為具備預(yù)定格式的目標(biāo)文件,進(jìn)而將所述目標(biāo)封裝為數(shù)據(jù)包進(jìn)行發(fā)送,可以參見本申請(qǐng)實(shí)施例1中的相關(guān)描述,此處不再贅述。
在一種實(shí)施方式中,所述待發(fā)送信息確定單元81,具體可以包括如圖8所示的候選信息顯示子單元811和信息選取控件812。其中:
候選信息顯示子單元811,用于在用戶界面中顯示可供用戶選取的候選信息。
信息選取控件812,用于檢測(cè)針對(duì)候選信息顯示子單元811顯示的所述候選信息的選取指令;在檢測(cè)到所述選取指令后,根據(jù)所述選取指令對(duì)應(yīng)的被選取的候選信息,確定待發(fā)送給接收端的信息。信息選取控件812,可以設(shè)置在候選信息顯示區(qū)91。比如,當(dāng)候選信息為動(dòng)畫文件的名稱時(shí),信息選取控件812在檢測(cè)到針對(duì)所述動(dòng)畫文件的名稱的選取指令后,可以根據(jù)所述選取指令對(duì)應(yīng)的動(dòng)畫文件的名稱,確定相應(yīng)的動(dòng)畫文件作為待發(fā)送給接收端的信息;當(dāng)候選信息為動(dòng)態(tài)表情文件時(shí),信息選取控件812在檢測(cè)到針對(duì)所述動(dòng)態(tài)表情文件的選取指令后,可以直接確定所述選取指令對(duì)應(yīng)的動(dòng)態(tài)表情文件,作為待發(fā)送給接收端的信息。
針對(duì)候選信息顯示子單元811而言,候選信息顯示子單元811,比如可以在如圖9所示的用戶界面90中的候選信息顯示區(qū)91中,顯示候選信息,這里所說的候選信息,比如可以是動(dòng)態(tài)表情文件,也可以是動(dòng)畫文件的名稱,等等。
本申請(qǐng)實(shí)施例3中,顯示在候選信息顯示區(qū)91中顯示的候選信息,可以是同一類型的信息,也可以包括不同類型的信息。當(dāng)顯示在候選信息顯示區(qū)91的候選信息是同一類型的信息(或候選信息對(duì)應(yīng)同一類型的信息)時(shí),信息選取控件812確定所述被選取的候選信息(或候選信息對(duì)應(yīng)的同一類型的信息),作為待發(fā)送給接收端的所述至少兩種不同類型的信息中的一種類型的信息;當(dāng)顯示在候選信息顯示區(qū)91的候選信息包括不同類型的信息,且所述被選取的候選信息包括(或?qū)?yīng))不同類型的信息時(shí),信息選取控件812確定所述被選取的候選信息所包括(或?qū)?yīng))的不同類型的信息,作為待發(fā)送接收端的所述至少兩種不同類型的信息中不同類型的信息。
本申請(qǐng)實(shí)施例3中,為了便于用戶能自主輸入待發(fā)送給接收端的信息,所述待發(fā)送信息確定單元81,也可以包括輸入信息獲取子單元813。該輸入信息獲取子單元813,用于獲取通過信息輸入裝置輸入的信息。
這里所說的信息輸入裝置,一般是指該界面系統(tǒng)所安裝在的設(shè)備的信息輸入裝置。該信息輸入裝置比如可以包括但不限于觸摸屏、鍵盤、麥克風(fēng)和攝像頭中的至少一種。
本申請(qǐng)實(shí)施例中,待發(fā)送信息確定單元81,可以既包括候選信息顯示子單元811和信息選取控件812,又包括輸入信息獲取子單元813;或者,待發(fā)送信息確定單元81,也可以僅包括候選信息顯示子單元811和信息選取控件812,而不包括輸入信息獲取子單元813;或者,待發(fā)送信息確定單元81,也可以不包括候選信息顯示子單元811和信息選取控件812,而僅包括輸入信息獲取子單元813。本申請(qǐng)實(shí)施例只要求待發(fā)送信息確定單元81能滿足獲取到至少兩種不同類型的信息即可,對(duì)待發(fā)送信息確定單元81的具體結(jié)構(gòu)不做限定。
針對(duì)上文所述的信息輸入裝置而言,當(dāng)所述信息輸入裝置包括鍵盤或者觸摸屏?xí)r,所述輸入信息獲取子單元813,具體可以用于:在用戶界面中顯示文本輸入框;以及,獲取通過所述文本輸入框輸入的文本信息。以圖9所示的用戶界面為例,比如,該用戶界面90中的文本輸入框92,即為輸入信息獲取子單元813所顯示的文本輸入框。
當(dāng)所述信息輸入裝置包括麥克風(fēng)時(shí),所述輸入信息獲取子單元813,具體用于:在用戶界面中顯示語音錄制按鈕控件;以及,在所述語音錄制按鈕控件被執(zhí)行第一指定操作后,獲取對(duì)通過麥克風(fēng)輸入的音頻信號(hào)進(jìn)行轉(zhuǎn)化得到的音頻數(shù)據(jù),作為所述輸入的信息。該第一指定操作,比如可以是用戶長(zhǎng)按用戶界面中顯示的該語音錄制按鈕控件,等。
當(dāng)所述信息輸入裝置包括攝像頭時(shí),所述輸入信息獲取子單元813,具體用于:在用戶界面中顯示視頻錄制按鈕控件;以及,在所述視頻錄制按鈕控件被執(zhí)行第二指定操作后,獲取通過攝像頭拍攝到的圖像數(shù)據(jù),作為所述輸入的信息。這里所說的第二指定操作,比如可以是用戶單擊或者長(zhǎng)按用戶界面中顯示的該語音錄制按鈕控件,等。
本申請(qǐng)實(shí)施例中,考慮到用戶界面的面積有限,若輸入信息獲取子單元81同時(shí)在一個(gè)用戶界面中既顯示所述文本輸入框,又顯示所述語音錄制按鈕控件和所述視頻錄制按鈕控件,可能導(dǎo)致用戶界面中的內(nèi)容顯得比較擁擠,不利用于用戶準(zhǔn)確操作,因此,輸入信息獲取子單元81可以在不同用戶界面中分別顯示所述文本輸入框和所述語音錄制按鈕控件(或所述視頻錄制按鈕控件)。
比如,當(dāng)所述信息輸入裝置包括鍵盤或者觸摸屏?xí)r,所述輸入信息獲取子單元813,具體可以用于:在如圖9所示的用戶界面90中顯示文本輸入框92;以及,獲取通過所述文本輸入框92輸入的文本信息。此外,輸入信息獲取子單元813還可以在用戶界面90中,顯示動(dòng)畫選擇和文字輸入切換控件94。動(dòng)畫選擇和文字輸入切換控件94的主要作用,是用于檢測(cè)界面切換指令。該界面切換指令,比如是通過單擊動(dòng)畫選擇和文字輸入切換控件94而觸發(fā)的。
所述輸入信息獲取子單元813,可以用于在動(dòng)畫選擇和文字輸入切換控件94檢測(cè)到所述界面切換指令后,由顯示如圖9所示的用戶界面90,切換為顯示如圖10所示的用戶界面100。所述輸入信息獲取子單元813可以在該用戶界面100中,隱藏所述文本輸入框92。另一方面,候選信息顯示子單元811,可以用于將候選信息,顯示在原本用于顯示所述文本輸入框92的顯示區(qū)域。具體地,用戶界面100中用戶顯示候選信息的顯示區(qū)域,為圖10中所示的候選信息顯示區(qū)101。相應(yīng)地,在用戶界面100中,信息選取控件812用于檢測(cè)顯示在該候選信息顯示區(qū)101內(nèi)的所述候選信息的選取指令;在檢測(cè)到所述選取指令后,根據(jù)所述選取指令對(duì)應(yīng)的被選取的候選信息,確定待發(fā)送給接收端的信息。在用戶界面100中,該信息選取控件812,可以處于如圖10所示的候選信息顯示區(qū)101內(nèi)。
此外,輸入信息獲取子單元813可以在用戶界面100中顯示語音錄制按鈕控件102。語音錄制按鈕控件102,用于檢測(cè)用戶針對(duì)語音錄制按鈕控件是否執(zhí)行了第一指定操作。輸入信息獲取子單元813,可以在語音錄制按鈕控件102檢測(cè)到用戶針對(duì)該語音錄制按鈕執(zhí)行了第一指定操作時(shí),獲取對(duì)通過麥克風(fēng)輸入的音頻信號(hào)進(jìn)行轉(zhuǎn)化得到的音頻數(shù)據(jù),作為所述輸入的信息。
或者,輸入信息獲取單元813也可以在用戶界面100中顯示視頻錄制按鈕控件(圖10中未示出)。視頻錄制按鈕控件,用于檢測(cè)用戶針對(duì)視頻錄制按鈕控件是否執(zhí)行了第二指定操作。輸入信息獲取子單元813,可以在視頻錄制按鈕控件檢測(cè)到用戶針對(duì)該語音錄制按鈕執(zhí)行了第二指定操作時(shí),獲取對(duì)通過攝像頭輸入的視頻信號(hào)進(jìn)行轉(zhuǎn)化得到的視頻數(shù)據(jù),作為所述輸入的信息。
為了實(shí)現(xiàn)對(duì)用戶選取的信息進(jìn)行顯示,所述界面系統(tǒng)還可以包括:
復(fù)合信息顯示單元83,用于對(duì)所述待編碼的信息中包括的所述至少兩種類型的信息進(jìn)行復(fù)合顯示。用于對(duì)待編碼的信息中包括的不同類型的信息進(jìn)行復(fù)合顯示的區(qū)域,可以參見圖9和圖10中的復(fù)合信息顯示區(qū)95。
復(fù)合信息顯示單元83,還可以用于對(duì)發(fā)送端發(fā)送的不同類型的信息進(jìn)行復(fù)合顯示。如何對(duì)不同類型的信息進(jìn)行復(fù)合顯示,可以參見實(shí)施例1和實(shí)施例2中相關(guān)描述,此處不再贅述。
關(guān)于本申請(qǐng)實(shí)施例提供的該界面系統(tǒng)所包含的功能單元的功能實(shí)現(xiàn)方式,未詳盡之處,可以參見實(shí)施例1和實(shí)施例2中的相關(guān)的介紹,此處不再贅述。
采用本申請(qǐng)實(shí)施例提供的該界面系統(tǒng),可以實(shí)現(xiàn)為用戶提供可以選取或輸入不同類型的信息的用戶界面,并基于用戶對(duì)于信息的輸入和/或選取,按照預(yù)先與信息接收端約定的編碼方式,將待編碼的信息編碼為具備預(yù)定格式的目標(biāo)文件后發(fā)送給接收端,從而提供了一種高效率的信息發(fā)送方式,解決了現(xiàn)有即時(shí)通信中,在發(fā)送不同類型的信息的場(chǎng)景下所采取的信息發(fā)送方式存在的效率較低的問題。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(ROM)或閃存(flash RAM)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、其他類型的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號(hào)和載波。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
以上僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來說,本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。