專利名稱:數(shù)據(jù)存儲(chǔ)與鑒權(quán)并行的處理方法和終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種數(shù)據(jù)存儲(chǔ)與鑒權(quán)并行的處理方法和終端。
背景技術(shù):
目前,我國的移動(dòng)多媒體廣播手機(jī)電視業(yè)務(wù)(以下稱為CMMB,China Mobile Multimedia Broadcasting,中國移動(dòng)多媒體廣播)逐漸在全國推廣。隨著技術(shù)的成熟,很 多城市已經(jīng)將CMMB節(jié)目進(jìn)行加密。廣電推出一套收費(fèi)方案,該方案采用智能卡進(jìn)行解密鑒 權(quán)。該智能卡為一種特殊的存儲(chǔ)卡,通過在SD (Secure Digital,安全數(shù)碼)卡內(nèi)部集成解 密鑒權(quán)芯片,來實(shí)現(xiàn)存儲(chǔ)與鑒權(quán)解密功能。由于需要保證終端(例如,手機(jī))電視節(jié)目播放的實(shí)時(shí)性及流暢效果,所以鑒權(quán)處 理的優(yōu)先級(jí)高于數(shù)據(jù)拷貝的優(yōu)先級(jí)。如圖1所示的電視播放與數(shù)據(jù)拷貝并行的結(jié)構(gòu)示意 圖,PC側(cè)設(shè)備包括CMMB端口驅(qū)動(dòng),用于將CMMB數(shù)據(jù)發(fā)往終端的數(shù)據(jù)卡側(cè),例如數(shù)據(jù)卡的 CMMB端點(diǎn);U盤驅(qū)動(dòng),用于將需要拷貝的文件數(shù)據(jù)發(fā)往終端的數(shù)據(jù)卡側(cè),例如數(shù)據(jù)卡的U盤 端點(diǎn);終端側(cè)的數(shù)據(jù)卡的CMMB端點(diǎn)及U盤端點(diǎn)收到數(shù)據(jù)后分別通知對(duì)應(yīng)的CMMB數(shù)據(jù)處 理線程和U盤數(shù)據(jù)處理線程,CMMB數(shù)據(jù)處理線程和U盤數(shù)據(jù)處理線程根據(jù)各自的數(shù)據(jù)優(yōu)先 級(jí)將數(shù)據(jù)導(dǎo)入CPU的同步模塊進(jìn)行同步處理,同步處理后將數(shù)據(jù)發(fā)往智能卡。因CMMB數(shù)據(jù)處理線程(也稱電視播放線程)的優(yōu)先級(jí)高于U盤數(shù)據(jù)處理線程(也 稱數(shù)據(jù)拷貝線程)的優(yōu)先級(jí),所以終端的CPU將一直被電視播放線程所占用,而數(shù)據(jù)拷貝線 程將長時(shí)間搶占不到CPU資源,與PC側(cè)的通訊處理超時(shí),PC側(cè)認(rèn)為拷貝文件失敗,中斷文 件拷貝,導(dǎo)致數(shù)據(jù)在智能卡上的存儲(chǔ)失敗。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種數(shù)據(jù)存儲(chǔ)與鑒權(quán)并行的處理方法和終端,以至少 解決上述的數(shù)據(jù)存儲(chǔ)與鑒權(quán)并行時(shí),數(shù)據(jù)存儲(chǔ)失敗的問題。根據(jù)本發(fā)明的一個(gè)方面,提供了一種數(shù)據(jù)存儲(chǔ)與鑒權(quán)并行的處理方法,該方法包 括終端的數(shù)據(jù)處理線程按照數(shù)據(jù)的類型將數(shù)據(jù)存儲(chǔ)到對(duì)應(yīng)的緩沖區(qū);其中,數(shù)據(jù)的類型 包括鑒權(quán)類型和存儲(chǔ)類型,鑒權(quán)類型的數(shù)據(jù)存儲(chǔ)于第一緩沖區(qū),存儲(chǔ)類型的數(shù)據(jù)存儲(chǔ)于第 二緩沖區(qū);終端的調(diào)度處理線程按照與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則交替讀取第一緩沖區(qū)和第 二緩沖區(qū)中的數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到終端的智能卡;該智能卡根據(jù)接收的數(shù)據(jù)的類 型進(jìn)行存儲(chǔ)或鑒權(quán)處理。根據(jù)本發(fā)明的另一方面,提供了一種終端,包括數(shù)據(jù)處理模塊,用于按照數(shù)據(jù)的 類型將數(shù)據(jù)存儲(chǔ)到對(duì)應(yīng)的緩沖區(qū);其中,數(shù)據(jù)的類型包括鑒權(quán)類型和存儲(chǔ)類型,鑒權(quán)類型的 數(shù)據(jù)存儲(chǔ)于第一緩沖區(qū),存儲(chǔ)類型的數(shù)據(jù)存儲(chǔ)于第二緩沖區(qū);調(diào)度處理模塊,用于按照與數(shù) 據(jù)類型關(guān)聯(lián)的讀取規(guī)則交替讀取第一緩沖區(qū)和第二緩沖區(qū)中的數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到終端的智能卡模塊;智能卡模塊,用于根據(jù)接收的數(shù)據(jù)的類型進(jìn)行存儲(chǔ)或鑒權(quán)處理。通過本發(fā)明,采用按照與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則讀取兩個(gè)緩沖區(qū)中的數(shù)據(jù),使 數(shù)據(jù)存儲(chǔ)操作能夠順利完成,解決了在有數(shù)據(jù)鑒權(quán)操作時(shí),數(shù)據(jù)存儲(chǔ)操作失敗的問題,進(jìn)而 達(dá)到了增強(qiáng)終端的性能和用戶體驗(yàn)滿意度的效果。
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā) 明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1是根據(jù)相關(guān)技術(shù)的電視播放與數(shù)據(jù)拷貝并行的結(jié)構(gòu)示意圖;圖2是根據(jù)本發(fā)明實(shí)施例1的數(shù)據(jù)存儲(chǔ)與鑒權(quán)并行的處理方法的流程圖;圖3是根據(jù)本發(fā)明實(shí)施例2的電視播放與數(shù)據(jù)拷貝并行的結(jié)構(gòu)示意圖;圖4是根據(jù)本發(fā)明實(shí)施例2的數(shù)據(jù)存儲(chǔ)與鑒權(quán)并行的處理方法的流程圖;圖5是根據(jù)本發(fā)明實(shí)施例3的終端的結(jié)構(gòu)框圖;圖6是根據(jù)本發(fā)明實(shí)施例3的終端的具體結(jié)構(gòu)框圖。
具體實(shí)施例方式下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的 情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。本發(fā)明實(shí)施例的終端(例如,手機(jī))在出現(xiàn)數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)鑒權(quán)并行的情況時(shí),采 用適時(shí)地使數(shù)據(jù)拷貝線程獲得CPU資源,完成數(shù)據(jù)存儲(chǔ)操作,用以解決該情況下數(shù)據(jù)存儲(chǔ) 操作失敗的問題?;诖?,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)存儲(chǔ)與鑒權(quán)并行的處理方法和終端。實(shí)施例1圖2示出了根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)存儲(chǔ)與鑒權(quán)并行的處理方法的流程圖,該方 法包括以下步驟步驟S202,終端的數(shù)據(jù)處理線程按照數(shù)據(jù)的類型將數(shù)據(jù)存儲(chǔ)到對(duì)應(yīng)的緩沖區(qū);其 中,數(shù)據(jù)的類型包括鑒權(quán)類型和存儲(chǔ)類型,本實(shí)施例鑒權(quán)類型的數(shù)據(jù)存儲(chǔ)于第一緩沖區(qū),存 儲(chǔ)類型的數(shù)據(jù)存儲(chǔ)于第二緩沖區(qū);本發(fā)明實(shí)施例中鑒權(quán)類型的數(shù)據(jù)可以是電視業(yè)務(wù)數(shù)據(jù)、電影業(yè)務(wù)數(shù)據(jù)等經(jīng)過加密 處理的數(shù)據(jù);這類數(shù)據(jù)對(duì)實(shí)時(shí)性要求較高,例如電視業(yè)務(wù)數(shù)據(jù),要求播放該數(shù)據(jù)時(shí)能夠流 暢,所以通常這類數(shù)據(jù)的優(yōu)先級(jí)也比較高;而存儲(chǔ)類型的數(shù)據(jù)通常對(duì)實(shí)時(shí)性要求比較低,所 以通常這類數(shù)據(jù)的優(yōu)先級(jí)比較低。步驟S204,終端的調(diào)度處理線程按照與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則交替讀取第一緩 沖區(qū)和第二緩沖區(qū)中的數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到終端的智能卡;其中,與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則為鑒權(quán)類型的數(shù)據(jù)對(duì)應(yīng)的連續(xù)讀取次數(shù)(例 如,用m表示)大于存儲(chǔ)類型的數(shù)據(jù)對(duì)應(yīng)的連續(xù)讀取次數(shù)N2(例如,用N2表示)??紤]到每類數(shù)據(jù)通常對(duì)應(yīng)不同的優(yōu)先級(jí),本實(shí)施例也可以設(shè)置與數(shù)據(jù)類型關(guān)聯(lián)的 讀取規(guī)則為鑒權(quán)類型的數(shù)據(jù)的優(yōu)先級(jí)高于存儲(chǔ)類型的數(shù)據(jù)的優(yōu)先級(jí),優(yōu)先級(jí)高的數(shù)據(jù)對(duì) 應(yīng)的連續(xù)讀取次數(shù)(例如,用m表示)大于優(yōu)先級(jí)低的數(shù)據(jù)對(duì)應(yīng)的連續(xù)讀取次數(shù)(例如,
5用N2表示)。上述連續(xù)讀取次數(shù)也可以用讀取數(shù)據(jù)的時(shí)長來表示,例如設(shè)置鑒權(quán)類型的數(shù)據(jù)的 讀取時(shí)長大于存儲(chǔ)類型的數(shù)據(jù)的讀取時(shí)長,其他處理方式不變。根據(jù)上述設(shè)置的與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則,終端的調(diào)度處理線程連續(xù)從第一緩 沖區(qū)讀取附次數(shù)據(jù),再連續(xù)從第二緩沖區(qū)讀取N2次數(shù)據(jù),并在每次讀取數(shù)據(jù)后,將讀取的 數(shù)據(jù)發(fā)送到終端的智能卡;重復(fù)執(zhí)行本步驟,直至第一緩沖區(qū)和/或第二緩沖區(qū)為空。優(yōu)選地,上述步驟S204可以按照如下方式實(shí)現(xiàn)步驟A 終端設(shè)置全局變量N,其中N的初始值為上述附,第一緩沖區(qū)中有數(shù)據(jù)時(shí), 終端的調(diào)度處理線程將N置為0 ;步驟B:調(diào)度處理線程從第一緩沖區(qū)中讀取數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到終端的 智能卡,然后將N加1 ;重復(fù)執(zhí)行步驟B,直至N等于附時(shí),將N置為0,并執(zhí)行步驟C;步驟C:調(diào)度處理線程從第二緩沖區(qū)中讀取數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到智能卡, 直至N等于上述N2時(shí),將N置為0,返回步驟B,直至第一緩沖區(qū)和/或第二緩沖區(qū)為空。當(dāng)?shù)谝痪彌_區(qū)或第二緩沖區(qū)為空時(shí),調(diào)度處理線程持續(xù)讀取第一緩沖區(qū)和第二緩 沖區(qū)中不為空的緩沖區(qū)中的數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到智能卡。即這種情況下,不需要再 考慮交替讀取兩個(gè)緩沖區(qū)中的數(shù)據(jù),直接將有數(shù)據(jù)需要讀取的緩沖區(qū)中的數(shù)據(jù)讀出即可。步驟S206,上述智能卡根據(jù)接收的數(shù)據(jù)的類型進(jìn)行存儲(chǔ)或鑒權(quán)處理。例如智能卡確定接收的數(shù)據(jù)的類型為鑒權(quán)類型時(shí),對(duì)接收的數(shù)據(jù)進(jìn)行鑒權(quán)處理; 智能卡確定接收的數(shù)據(jù)的類型為存儲(chǔ)類型時(shí),對(duì)接收的數(shù)據(jù)進(jìn)行存儲(chǔ)處理。本實(shí)施例通過按照與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則讀取兩個(gè)緩沖區(qū)中的數(shù)據(jù),使數(shù)據(jù) 存儲(chǔ)操作能夠順利完成,解決了在有數(shù)據(jù)鑒權(quán)操作時(shí),數(shù)據(jù)存儲(chǔ)操作失敗的問題。這種方式 既保證了鑒權(quán)數(shù)據(jù)的實(shí)時(shí)性,也保證了數(shù)據(jù)拷貝與PC側(cè)的交互不會(huì)超時(shí),從而達(dá)到并發(fā)處 理的效果,增強(qiáng)了終端的性能和用戶體驗(yàn)的滿意度。實(shí)施例2本實(shí)施例以電視播放數(shù)據(jù)作為鑒權(quán)類型的數(shù)據(jù),圖3為電視播放與數(shù)據(jù)拷貝并行 的結(jié)構(gòu)示意圖,其中,PC側(cè)設(shè)備包括CMMB端口驅(qū)動(dòng)和U盤驅(qū)動(dòng);終端的數(shù)據(jù)卡包括CMMB 端點(diǎn)、U盤端點(diǎn)、CMMB數(shù)據(jù)處理線程、U盤數(shù)據(jù)處理線程、CMMB數(shù)據(jù)保存緩沖區(qū)(相當(dāng)于實(shí) 施例1中的第一緩沖區(qū))、U盤數(shù)據(jù)保存緩沖區(qū)(相當(dāng)于實(shí)施例1中的第二緩沖區(qū))、CMMB 及U盤數(shù)據(jù)調(diào)度處理線程和智能卡。本實(shí)施例將“CMMB數(shù)據(jù)處理線程”及“U盤數(shù)據(jù)處理線 程”統(tǒng)稱為“數(shù)據(jù)讀取線程”(對(duì)應(yīng)于實(shí)施例1中的數(shù)據(jù)處理線程)。各模塊的工作如下PC側(cè)設(shè)備的CMMB端口驅(qū)動(dòng)及U盤驅(qū)動(dòng)分別將數(shù)據(jù)發(fā)送到終端側(cè);終端側(cè)對(duì)應(yīng)的 端點(diǎn)(CMMB端點(diǎn)或U盤端點(diǎn))接收到數(shù)據(jù)后通知對(duì)應(yīng)的線程(CMMB數(shù)據(jù)處理線程或U盤數(shù) 據(jù)處理線程),對(duì)應(yīng)的線程將數(shù)據(jù)讀取后,分別保存到各自對(duì)應(yīng)的緩沖區(qū)中,CMMB及U盤數(shù) 據(jù)調(diào)度處理線程(也稱為數(shù)據(jù)調(diào)度處理線程)查詢到緩沖區(qū)中有數(shù)據(jù)后,根據(jù)預(yù)先設(shè)定的 與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則讀取數(shù)據(jù)。其中,與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則可以為實(shí)施例1 中的讀取規(guī)則。CMMB及U盤數(shù)據(jù)調(diào)度處理線程將讀取到的數(shù)據(jù)發(fā)送到智能卡。下面以圖3所示結(jié)構(gòu)為例,具體說明手機(jī)電視數(shù)據(jù)和拷貝數(shù)據(jù)的并行處理方法, 參見圖4,該處理方法包括以下步驟步驟S402,PC側(cè)設(shè)備的CMMB端點(diǎn)和U盤端點(diǎn)分別發(fā)送數(shù)據(jù)給終端;
6
由于終端通過USB在PC側(cè)枚舉出多個(gè)設(shè)備,包括SD卡設(shè)備及手機(jī)電視設(shè)備,這些 設(shè)備是通過USB的端點(diǎn)來枚舉的。一個(gè)USB包括7個(gè)端點(diǎn)。其中端點(diǎn)1用來枚舉電視設(shè)備, 端點(diǎn)2用來枚舉SD卡設(shè)備。PC側(cè)設(shè)備發(fā)送不同的數(shù)據(jù)時(shí)(手機(jī)電視數(shù)據(jù)或者拷貝數(shù)據(jù)), 實(shí)際上是發(fā)送到不同的端點(diǎn),本實(shí)施例為將手機(jī)電視數(shù)據(jù)發(fā)送到CMMB端點(diǎn),將拷貝數(shù)據(jù)發(fā) 送到U盤端點(diǎn)。步驟S404,終端接收到PC側(cè)設(shè)備發(fā)送的數(shù)據(jù)后,進(jìn)行中斷處理,通知數(shù)據(jù)讀取線 程讀取數(shù)據(jù);當(dāng)PC側(cè)軟件向數(shù)據(jù)卡發(fā)送數(shù)據(jù)時(shí),不論是手機(jī)電視數(shù)據(jù)還是需要拷貝的數(shù)據(jù),那 么終端就會(huì)產(chǎn)生一個(gè)硬件的中斷,中斷處理的ISR函數(shù)就會(huì)被系統(tǒng)調(diào)用。此處中斷的ISR 為中斷處理模塊。中斷處理模塊在檢測(cè)到有中斷產(chǎn)生后,根據(jù)硬件寄存器的狀態(tài)位,檢測(cè)出 是那個(gè)端點(diǎn)產(chǎn)生了中斷,由此判斷出是手機(jī)電視數(shù)據(jù)還是拷貝文件的數(shù)據(jù)。當(dāng)中斷處理模 塊檢測(cè)出數(shù)據(jù)類型后,根據(jù)情況分別調(diào)用“CMMB數(shù)據(jù)處理線程”或者“U盤數(shù)據(jù)處理線程”。 本實(shí)施例即調(diào)用數(shù)據(jù)讀取線程;步驟S406,數(shù)據(jù)讀取線程從對(duì)應(yīng)端點(diǎn)的硬件寄存器中讀取PC側(cè)發(fā)送的數(shù)據(jù),將讀 取的數(shù)據(jù)保存到對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū)中,本實(shí)施例為“CMMB數(shù)據(jù)保存緩沖區(qū)”以及“U盤數(shù)據(jù) 保存緩沖區(qū)”。當(dāng)中斷處理模塊通知數(shù)據(jù)讀取線程有數(shù)據(jù)需要讀取時(shí),由于之前已經(jīng)判斷出數(shù)據(jù) 類型是手機(jī)電視數(shù)據(jù)還是文件拷貝的數(shù)據(jù),所以數(shù)據(jù)讀取線程直接從對(duì)應(yīng)端點(diǎn)的硬件寄存 器中將PC側(cè)發(fā)送過來的數(shù)據(jù)讀取出來,然后分別保存到對(duì)應(yīng)的數(shù)據(jù)緩沖中,即"CMMB數(shù)據(jù) 保存緩沖區(qū)”或“U盤數(shù)據(jù)保存緩沖區(qū)”,當(dāng)數(shù)據(jù)讀取線程將數(shù)據(jù)保存到對(duì)應(yīng)的緩沖區(qū)中后, 繼續(xù)等待中斷處理模塊的下次數(shù)據(jù)讀取通知。CMMB數(shù)據(jù)保存緩沖區(qū)和U盤數(shù)據(jù)保存緩沖區(qū)均為全局變量,可以通過操作系統(tǒng)的 隊(duì)列來實(shí)現(xiàn),也可以通過其它方式來實(shí)現(xiàn),主要目的為分別保存對(duì)應(yīng)的手機(jī)電視數(shù)據(jù)及文 件拷貝數(shù)據(jù)。步驟S408,數(shù)據(jù)調(diào)度處理線程檢測(cè)到CMMB數(shù)據(jù)保存緩沖區(qū)及U盤數(shù)據(jù)保存緩沖區(qū) 中有數(shù)據(jù)需要讀取,按照與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則讀取數(shù)據(jù)。步驟S410,數(shù)據(jù)調(diào)度處理線程將讀取的數(shù)據(jù)發(fā)送到智能卡,智能卡根據(jù)接收的數(shù) 據(jù)的類型進(jìn)行存儲(chǔ)或鑒權(quán)處理。本實(shí)施例將CMMB數(shù)據(jù)及U盤數(shù)據(jù)調(diào)度處理線程稱為“數(shù)據(jù)調(diào)用處理線程”,數(shù)據(jù)調(diào) 用處理線程一直不停的檢測(cè)CMMB數(shù)據(jù)保存緩沖區(qū)及U盤數(shù)據(jù)保存緩沖區(qū)中是否有數(shù)據(jù)需 要讀取。假定有手機(jī)電視的數(shù)據(jù)需要讀取,那么數(shù)據(jù)調(diào)用處理線程首先將電視數(shù)據(jù)從CMMB 數(shù)據(jù)保存緩沖區(qū)中讀取出來,然后通過智能卡的接口發(fā)送給智能卡進(jìn)行鑒權(quán)及解密等相關(guān) 的處理,當(dāng)進(jìn)行一系列操作后,數(shù)據(jù)調(diào)用處理線程獲取到手機(jī)電視的清流數(shù)據(jù),也就是解密 后的數(shù)據(jù)。數(shù)據(jù)調(diào)用處理線程將清流數(shù)據(jù)通過USB層提供的接口發(fā)送到PC側(cè)設(shè)備進(jìn)行播 放,這里關(guān)于獲取清流的一系列操作與相關(guān)技術(shù)中的處理相同,不做過多闡述。當(dāng)數(shù)據(jù)調(diào)用處理線程將獲取到的清流數(shù)據(jù)發(fā)送到PC側(cè)以后,對(duì)一個(gè)預(yù)先定義的 全局變量進(jìn)行加1操作,這個(gè)全局變量表示手機(jī)電視數(shù)據(jù)處理的次數(shù)。數(shù)據(jù)調(diào)用處理線程緊接著檢查這個(gè)預(yù)先定義的全局變量N是否等于上述讀取規(guī) 則中的連續(xù)讀取手機(jī)電視數(shù)據(jù)的次數(shù)N1,本實(shí)施例m為6,N2即連續(xù)讀取拷貝數(shù)據(jù)的次數(shù)N2為1。如果N等于6,那么下次就從U盤數(shù)據(jù)保存緩沖區(qū)中讀取一包數(shù)據(jù),然后通過接口 將文件拷貝數(shù)據(jù)發(fā)送到智能卡中,當(dāng)處理完一包文件拷貝數(shù)據(jù)后,將全局變量N置為0。這 樣,以后連續(xù)處理六次手機(jī)電視的數(shù)據(jù)才能處理一次文件拷貝數(shù)據(jù),這就達(dá)到了手機(jī)電視 數(shù)據(jù)處理次數(shù)與文件拷貝處理次數(shù)為6 1的關(guān)系。當(dāng)然,這個(gè)比例關(guān)系是可以修改的,可 以根據(jù)具體情況進(jìn)行調(diào)整。上述方法給出了數(shù)據(jù)調(diào)用處理線程檢測(cè)到電視數(shù)據(jù)保存緩沖區(qū)中有數(shù)據(jù)需要處 理的情況,同樣,當(dāng)數(shù)據(jù)調(diào)用處理線程檢測(cè)到拷貝數(shù)據(jù)對(duì)應(yīng)的緩沖區(qū)中有數(shù)據(jù)時(shí),將會(huì)從對(duì) 應(yīng)的緩沖中將數(shù)據(jù)讀取出來,然后調(diào)用智能卡提供的相關(guān)接口函數(shù),將需要保存的數(shù)據(jù)寫 入到智能卡中,并且將數(shù)據(jù)寫入成功后的應(yīng)答信息通過USB提供的接口函數(shù)發(fā)送到PC側(cè)設(shè) 備,PC側(cè)設(shè)備檢測(cè)到應(yīng)答信息后,將會(huì)繼續(xù)向智能卡寫入下一包文件拷貝數(shù)據(jù)。為了避免只 拷貝數(shù)據(jù)而不播放電視時(shí)出現(xiàn)問題,上述全局變量N在初始化時(shí)設(shè)置成N1,本實(shí)施例為6, 當(dāng)需要進(jìn)行電視業(yè)務(wù)時(shí),再將全局變量N置為0。本實(shí)施例將手機(jī)播放線程與數(shù)據(jù)拷貝線程合二為一,采用一個(gè)線程(數(shù)據(jù)調(diào)用處 理線程)來處理。當(dāng)然,為了保證手機(jī)電視播放的流暢性,手機(jī)電視播放線程的優(yōu)先級(jí)仍然 高于數(shù)據(jù)拷貝線程,但是由于本實(shí)施例采用了一個(gè)線程來處理,所以可以根據(jù)這個(gè)優(yōu)先級(jí) 進(jìn)行控制,本實(shí)施例采用的優(yōu)先級(jí)比例為6 1,當(dāng)電視播放與數(shù)據(jù)拷貝線程并存時(shí),先處 理電視播放數(shù)據(jù),處理六包電視播放數(shù)據(jù)后,處理一包數(shù)據(jù)拷貝數(shù)據(jù)。這樣既保證了電視播 放的流暢性,也保證了數(shù)據(jù)拷貝與PC側(cè)的交互不會(huì)超時(shí),從而達(dá)到并發(fā)的效果。實(shí)施例3圖5示出了根據(jù)本發(fā)明實(shí)施例的終端的結(jié)構(gòu)框圖,該終端包括數(shù)據(jù)處理模塊52,用于按照數(shù)據(jù)的類型將數(shù)據(jù)存儲(chǔ)到對(duì)應(yīng)的緩沖區(qū);其中,數(shù)據(jù)的類型包括鑒權(quán)類型和存儲(chǔ)類型,鑒權(quán)類型的數(shù)據(jù)存儲(chǔ)于第一緩沖區(qū), 存儲(chǔ)類型的數(shù)據(jù)存儲(chǔ)于第二緩沖區(qū);本發(fā)明實(shí)施例中鑒權(quán)類型的數(shù)據(jù)可以是電視業(yè)務(wù)數(shù)據(jù)、電影業(yè)務(wù)數(shù)據(jù)等經(jīng)過加密 處理的數(shù)據(jù);這類數(shù)據(jù)對(duì)實(shí)時(shí)性要求較高,例如電視業(yè)務(wù)數(shù)據(jù),要求播放該數(shù)據(jù)時(shí)能夠流 暢,所以通常這類數(shù)據(jù)的優(yōu)先級(jí)也比較高;而存儲(chǔ)類型的數(shù)據(jù)通常對(duì)實(shí)時(shí)性要求比較低,所 以通常這類數(shù)據(jù)的優(yōu)先級(jí)比較低。調(diào)度處理模塊54,用于按照與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則交替讀取第一緩沖區(qū)和第 二緩沖區(qū)中的數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到終端的智能卡模塊56 ;智能卡模塊56,用于根據(jù)接收的數(shù)據(jù)的類型進(jìn)行存儲(chǔ)或鑒權(quán)處理。參見圖6,為終端的具體結(jié)構(gòu)框圖,其中,調(diào)度處理模塊54包括第一規(guī)則設(shè)置單 元542,用于設(shè)置與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則為鑒權(quán)類型的數(shù)據(jù)對(duì)應(yīng)的連續(xù)讀取次數(shù)(例 如,用m表示)大于存儲(chǔ)類型的數(shù)據(jù)對(duì)應(yīng)的連續(xù)讀取次數(shù)(例如,用N2表示)。或者,考慮到每類數(shù)據(jù)通常對(duì)應(yīng)不同的優(yōu)先級(jí),本實(shí)施例的調(diào)度處理模塊54也可 以包括第二規(guī)則設(shè)置單元,用于設(shè)置與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則為鑒權(quán)類型的數(shù)據(jù)的 優(yōu)先級(jí)高于存儲(chǔ)類型的數(shù)據(jù)的優(yōu)先級(jí),優(yōu)先級(jí)高的數(shù)據(jù)對(duì)應(yīng)的連續(xù)讀取次數(shù)(例如,用m 表示)大于優(yōu)先級(jí)低的數(shù)據(jù)對(duì)應(yīng)的連續(xù)讀取次數(shù)(例如,用N2表示)。上述連續(xù)讀取次數(shù)也可以用讀取數(shù)據(jù)的時(shí)長來表示,例如設(shè)置鑒權(quán)類型的數(shù)據(jù)的 讀取時(shí)長大于存儲(chǔ)類型的數(shù)據(jù)的讀取時(shí)長,其他處理方式不變。
優(yōu)選地,調(diào)度處理模塊54還包括第一讀取單元544,與第一規(guī)則設(shè)置單元542相連,用于連續(xù)從第一緩沖區(qū)讀取附 次數(shù)據(jù),并在每次讀取數(shù)據(jù)后,將讀取的數(shù)據(jù)發(fā)送到智能卡模塊56 ;第二讀取單元546,與第一規(guī)則設(shè)置單元542和第一讀取單元544相連,用于第一 讀取單元連續(xù)讀取m次數(shù)據(jù)后,連續(xù)從第二緩沖區(qū)讀取N2次數(shù)據(jù),并在每次讀取數(shù)據(jù)后, 將讀取的數(shù)據(jù)發(fā)送到智能卡模塊56 ;重復(fù)觸發(fā)單元548,分別與第一讀取單元544和第二讀取單元546相連,用于第二 讀取單元546連續(xù)讀取N2次數(shù)據(jù)后,觸發(fā)第一讀取單元544讀取數(shù)據(jù),直至第一緩沖區(qū)和 /或第二緩沖區(qū)為空。優(yōu)選地,上述調(diào)度處理模塊54可以按照如下方式讀取數(shù)據(jù)步驟A 設(shè)置全局變量N,其中N的初始值為上述N1,第一緩沖區(qū)中有數(shù)據(jù)時(shí),將N 置為0;步驟B:從第一緩沖區(qū)中讀取數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到智能卡模塊56,然后將 N加1 ;重復(fù)執(zhí)行步驟B,直至N等于附時(shí),將N置為0,并執(zhí)行步驟C ;步驟C 從第二緩沖區(qū)中讀取數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到智能卡模塊56,直至N 等于上述N2時(shí),將N置為0,返回步驟B,直至第一緩沖區(qū)和/或第二緩沖區(qū)為空。優(yōu)選地,調(diào)度處理模塊54包括第三讀取單元,用于第一緩沖區(qū)或第二緩沖區(qū)為 空時(shí),持續(xù)讀取第一緩沖區(qū)和第二緩沖區(qū)中不為空的緩沖區(qū)中的數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā) 送到智能卡模塊56。即這種情況下,不需要再考慮交替讀取兩個(gè)緩沖區(qū)中的數(shù)據(jù),直接將有 數(shù)據(jù)需要讀取的緩沖區(qū)中的數(shù)據(jù)讀出即可。優(yōu)選地,智能卡模塊56包括鑒權(quán)處理單元,用于確定接收的數(shù)據(jù)的類型為鑒權(quán)類型時(shí),對(duì)接收的數(shù)據(jù)進(jìn)行鑒 權(quán)處理;存儲(chǔ)處理單元,用于確定接收的數(shù)據(jù)的類型為存儲(chǔ)類型時(shí),對(duì)接收的數(shù)據(jù)進(jìn)行存 儲(chǔ)處理。上述調(diào)度處理模塊54將鑒權(quán)類型的數(shù)據(jù)從第一緩沖區(qū)中讀取出來后,通過智能 卡模塊56的接口發(fā)送給智能卡模塊56進(jìn)行鑒權(quán)及解密等相關(guān)的處理,當(dāng)進(jìn)行一系列操作 后,數(shù)據(jù)調(diào)用處理模塊54獲取到清流數(shù)據(jù),也就是解密后的數(shù)據(jù)。數(shù)據(jù)調(diào)用處理模塊54將 清流數(shù)據(jù)通過USB層提供的接口發(fā)送到PC側(cè)設(shè)備進(jìn)行播放,這里關(guān)于獲取清流的一系列操 作與相關(guān)技術(shù)中的處理相同,不做過多闡述。當(dāng)數(shù)據(jù)調(diào)用處理模塊54檢測(cè)到第二緩沖區(qū)中有數(shù)據(jù)時(shí),將會(huì)從對(duì)應(yīng)的緩沖區(qū)中 將數(shù)據(jù)讀取出來,然后調(diào)用智能卡模塊56提供的相關(guān)接口函數(shù),將需要保存的數(shù)據(jù)寫入到 智能卡模塊56中,并且將數(shù)據(jù)寫入成功后的應(yīng)答信息通過USB提供的接口函數(shù)發(fā)送到PC 側(cè)設(shè)備,PC側(cè)設(shè)備檢測(cè)到應(yīng)答信息后,將會(huì)繼續(xù)向智能卡模塊56寫入下一包文件拷貝數(shù) 據(jù)。為了避免只拷貝數(shù)據(jù)而不播放電視時(shí)出現(xiàn)問題,上述全局變量N在初始化時(shí)設(shè)置成m, 當(dāng)有鑒權(quán)類型的數(shù)據(jù)需要處理時(shí),再將全局變量N置為1。本實(shí)施例通過按照與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則讀取兩個(gè)緩沖區(qū)中的數(shù)據(jù),使數(shù)據(jù) 存儲(chǔ)操作能夠順利完成,解決了在有數(shù)據(jù)鑒權(quán)操作時(shí),數(shù)據(jù)存儲(chǔ)操作失敗的問題。這種方式 既保證了鑒權(quán)數(shù)據(jù)的實(shí)時(shí)性,也保證了數(shù)據(jù)拷貝與PC側(cè)的交互不會(huì)超時(shí),從而達(dá)到并發(fā)處理的效果,增強(qiáng)了終端的性能和用戶體驗(yàn)的滿意度。以上實(shí)施例采用鑒權(quán)處理與存儲(chǔ)處理交叉進(jìn)行,有效地解決了優(yōu)先級(jí)不同時(shí),僅 處理高優(yōu)先級(jí)的數(shù)據(jù),而導(dǎo)致低優(yōu)先級(jí)數(shù)據(jù)處理失敗的問題,提高了終端的實(shí)用性,又保證 了高優(yōu)先級(jí)數(shù)據(jù)的處理及時(shí)性。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成 的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ) 在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示 出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或 步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種數(shù)據(jù)存儲(chǔ)與鑒權(quán)并行的處理方法,其特征在于,包括終端的數(shù)據(jù)處理線程按照數(shù)據(jù)的類型將數(shù)據(jù)存儲(chǔ)到對(duì)應(yīng)的緩沖區(qū);其中,所述數(shù)據(jù)的類型包括鑒權(quán)類型和存儲(chǔ)類型,所述鑒權(quán)類型的數(shù)據(jù)存儲(chǔ)于第一緩沖區(qū),所述存儲(chǔ)類型的數(shù)據(jù)存儲(chǔ)于第二緩沖區(qū);所述終端的調(diào)度處理線程按照與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則交替讀取所述第一緩沖區(qū)和所述第二緩沖區(qū)中的數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到所述終端的智能卡;所述智能卡根據(jù)接收的數(shù)據(jù)的類型進(jìn)行存儲(chǔ)或鑒權(quán)處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則為所 述鑒權(quán)類型的數(shù)據(jù)對(duì)應(yīng)的連續(xù)讀取次數(shù)m大于所述存儲(chǔ)類型的數(shù)據(jù)對(duì)應(yīng)的連續(xù)讀取次數(shù)N2。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則為所述 鑒權(quán)類型的數(shù)據(jù)的優(yōu)先級(jí)高于所述存儲(chǔ)類型的數(shù)據(jù)的優(yōu)先級(jí),優(yōu)先級(jí)高的數(shù)據(jù)對(duì)應(yīng)的連續(xù) 讀取次數(shù)m大于優(yōu)先級(jí)低的數(shù)據(jù)對(duì)應(yīng)的連續(xù)讀取次數(shù)N2。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述終端的調(diào)度處理線程按照與數(shù)據(jù) 類型關(guān)聯(lián)的讀取規(guī)則交替讀取所述第一緩沖區(qū)和所述第二緩沖區(qū)中的數(shù)據(jù),并將讀取的數(shù) 據(jù)發(fā)送到所述終端的智能卡包括所述終端的調(diào)度處理線程連續(xù)從所述第一緩沖區(qū)讀取m次數(shù)據(jù),再連續(xù)從所述第二 緩沖區(qū)讀取N2次數(shù)據(jù),并在每次讀取數(shù)據(jù)后,將讀取的數(shù)據(jù)發(fā)送到所述終端的智能卡;重 復(fù)執(zhí)行本步驟,直至所述第一緩沖區(qū)和/或第二緩沖區(qū)為空。
5.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述終端的調(diào)度處理線程按照與數(shù)據(jù) 類型關(guān)聯(lián)的讀取規(guī)則交替讀取所述第一緩沖區(qū)和所述第二緩沖區(qū)中的數(shù)據(jù),并將讀取的數(shù) 據(jù)發(fā)送到所述終端的智能卡包括步驟A 所述終端設(shè)置全局變量N,其中N的初始值為N1,所述第一緩沖區(qū)中有數(shù)據(jù)時(shí), 所述終端的調(diào)度處理線程將N置為0 ;步驟B 所述調(diào)度處理線程從所述第一緩沖區(qū)中讀取數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到所 述終端的智能卡,然后將N加1 ;重復(fù)執(zhí)行所述步驟B,直至N等于m時(shí),將N置為0,并執(zhí) 行步驟C ;步驟C 所述調(diào)度處理線程從所述第二緩沖區(qū)中讀取數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到所 述智能卡,直至N等于N2時(shí),將N置為0,返回所述步驟B,直至所述第一緩沖區(qū)和/或第二 緩沖區(qū)為空。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一緩沖區(qū)或第二緩沖區(qū)為空時(shí),所 述調(diào)度處理線程持續(xù)讀取所述第一緩沖區(qū)和第二緩沖區(qū)中不為空的緩沖區(qū)中的數(shù)據(jù),并將 讀取的數(shù)據(jù)發(fā)送到所述智能卡。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述智能卡根據(jù)接收的數(shù)據(jù)的類型進(jìn)行 存儲(chǔ)或鑒權(quán)處理包括所述智能卡確定接收的數(shù)據(jù)的類型為鑒權(quán)類型時(shí),對(duì)所述接收的數(shù)據(jù)進(jìn)行鑒權(quán)處理;所述智能卡確定接收的數(shù)據(jù)的類型為存儲(chǔ)類型時(shí),對(duì)所述接收的數(shù)據(jù)進(jìn)行存儲(chǔ)處理。
8.—種終端,其特征在于,包括數(shù)據(jù)處理模塊,用于按照數(shù)據(jù)的類型將數(shù)據(jù)存儲(chǔ)到對(duì)應(yīng)的緩沖區(qū);其中,所述數(shù)據(jù)的類型包括鑒權(quán)類型和存儲(chǔ)類型,所述鑒權(quán)類型的數(shù)據(jù)存儲(chǔ)于第一緩 沖區(qū),所述存儲(chǔ)類型的數(shù)據(jù)存儲(chǔ)于第二緩沖區(qū);調(diào)度處理模塊,用于按照與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則交替讀取所述第一緩沖區(qū)和所述 第二緩沖區(qū)中的數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到所述終端的智能卡模塊; 所述智能卡模塊,用于根據(jù)接收的數(shù)據(jù)的類型進(jìn)行存儲(chǔ)或鑒權(quán)處理。
9.根據(jù)權(quán)利要求8所述的終端,其特征在于,所述調(diào)度處理模塊包括第一規(guī)則設(shè)置單元,用于設(shè)置與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則為所述鑒權(quán)類型的數(shù)據(jù)對(duì) 應(yīng)的連續(xù)讀取次數(shù)m大于所述存儲(chǔ)類型的數(shù)據(jù)對(duì)應(yīng)的連續(xù)讀取次數(shù)N2。
10.根據(jù)權(quán)利要求8所述的終端,其特征在于,所述調(diào)度處理模塊包括第二規(guī)則設(shè)置單元,用于設(shè)置所述與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則為所述鑒權(quán)類型的數(shù) 據(jù)的優(yōu)先級(jí)高于所述存儲(chǔ)類型的數(shù)據(jù)的優(yōu)先級(jí),優(yōu)先級(jí)高的數(shù)據(jù)對(duì)應(yīng)的連續(xù)讀取次數(shù)m 大于優(yōu)先級(jí)低的數(shù)據(jù)對(duì)應(yīng)的連續(xù)讀取次數(shù)N2。
11.根據(jù)權(quán)利要求9或10所述的終端,其特征在于,所述調(diào)度處理模塊包括 第一讀取單元,用于連續(xù)從所述第一緩沖區(qū)讀取m次數(shù)據(jù),并在每次讀取數(shù)據(jù)后,將讀取的數(shù)據(jù)發(fā)送到所述智能卡模塊;第二讀取單元,用于所述第一讀取單元連續(xù)讀取m次數(shù)據(jù)后,連續(xù)從所述第二緩沖區(qū) 讀取N2次數(shù)據(jù),并在每次讀取數(shù)據(jù)后,將讀取的數(shù)據(jù)發(fā)送到所述智能卡模塊;重復(fù)觸發(fā)單元,用于所述第二讀取單元連續(xù)讀取N2次數(shù)據(jù)后,觸發(fā)所述第一讀取單元 讀取數(shù)據(jù),直至所述第一緩沖區(qū)和/或第二緩沖區(qū)為空。
12.根據(jù)權(quán)利要求8所述的終端,其特征在于,所述調(diào)度處理模塊包括第三讀取單元,用于所述第一緩沖區(qū)或第二緩沖區(qū)為空時(shí),持續(xù)讀取所述第一緩沖區(qū) 和第二緩沖區(qū)中不為空的緩沖區(qū)中的數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到所述智能卡模塊。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)存儲(chǔ)與鑒權(quán)并行的處理方法和終端。其中,該方法包括終端的數(shù)據(jù)處理線程按照數(shù)據(jù)的類型將數(shù)據(jù)存儲(chǔ)到對(duì)應(yīng)的緩沖區(qū);其中,數(shù)據(jù)的類型包括鑒權(quán)類型和存儲(chǔ)類型,鑒權(quán)類型的數(shù)據(jù)存儲(chǔ)于第一緩沖區(qū),存儲(chǔ)類型的數(shù)據(jù)存儲(chǔ)于第二緩沖區(qū);終端的調(diào)度處理線程按照與數(shù)據(jù)類型關(guān)聯(lián)的讀取規(guī)則交替讀取第一緩沖區(qū)和第二緩沖區(qū)中的數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送到終端的智能卡;該智能卡根據(jù)接收的數(shù)據(jù)的類型進(jìn)行存儲(chǔ)或鑒權(quán)處理。通過本發(fā)明,解決了在有數(shù)據(jù)鑒權(quán)操作時(shí),數(shù)據(jù)存儲(chǔ)操作失敗的問題,進(jìn)而達(dá)到了增強(qiáng)終端的性能和用戶體驗(yàn)滿意度的效果。
文檔編號(hào)G06F12/08GK101950261SQ201010279170
公開日2011年1月19日 申請(qǐng)日期2010年9月9日 優(yōu)先權(quán)日2010年9月9日
發(fā)明者劉亮, 姜承志, 廉殿斌 申請(qǐng)人:中興通訊股份有限公司