本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法及裝置。
背景技術(shù):
隨著科技的不斷進(jìn)步,高清電視已經(jīng)成為市場(chǎng)主流。而高清電視在進(jìn)行高清圖像顯示時(shí)需要處理的數(shù)據(jù)量比較大,因此,現(xiàn)今高清電視通常采用主soc(英文:systemonchip,片上系統(tǒng))芯片+后端畫質(zhì)處理芯片(例如,frc(英文:framerateconversion,幀頻轉(zhuǎn)換)芯片)的“1+1”分離方案來(lái)處理高清圖像,即將圖像處理過(guò)程遷移至后端畫質(zhì)處理芯片中進(jìn)行處理。以frc芯片為例,在現(xiàn)有技術(shù)中,高清電視在采用的frc芯片處理高清圖像信號(hào)時(shí),frc芯片在接收主soc芯片發(fā)送的第一命令時(shí)會(huì)產(chǎn)生一個(gè)中斷,并在該中斷中將該命令對(duì)應(yīng)的命令數(shù)據(jù)添加至該frc芯片的數(shù)據(jù)鏈表中,然后按照數(shù)據(jù)鏈表中的邏輯順序依次處理該數(shù)據(jù)鏈表中的每個(gè)數(shù)據(jù)節(jié)點(diǎn)中的命令數(shù)據(jù)。即當(dāng)frc接收一個(gè)命令時(shí),就會(huì)將該命令對(duì)應(yīng)的命令數(shù)據(jù)插入數(shù)據(jù)鏈表中。
但是,當(dāng)frc芯片處理完數(shù)據(jù)鏈表的最后一個(gè)數(shù)據(jù)節(jié)點(diǎn)中的命令數(shù)據(jù)時(shí),通常會(huì)將下一個(gè)新創(chuàng)建的數(shù)據(jù)節(jié)點(diǎn)設(shè)為空,此時(shí),若frc芯片接收到第二命令,則會(huì)將該第二命令對(duì)應(yīng)的命令數(shù)據(jù)存儲(chǔ)至該新創(chuàng)建的數(shù)據(jù)節(jié)點(diǎn)中。由于frc芯片已將該新創(chuàng)建的數(shù)據(jù)節(jié)點(diǎn)設(shè)為空,則frc芯片不能識(shí)別該新創(chuàng)建的數(shù)據(jù)節(jié)點(diǎn)中的第二命令對(duì)應(yīng)的命令數(shù)據(jù),從而導(dǎo)致該新創(chuàng)建的數(shù)據(jù)節(jié)點(diǎn)中的命令數(shù)據(jù)丟失。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例提供一種數(shù)據(jù)處理方法及裝置,解決了現(xiàn)有的frc芯片在處理數(shù)據(jù)鏈表的最后一個(gè)數(shù)據(jù)節(jié)點(diǎn)中的命令數(shù)據(jù)時(shí),由于將下一個(gè)新建的數(shù)據(jù)節(jié)點(diǎn)置空,從而使得frc芯片將新接收命令的命令數(shù)據(jù)存儲(chǔ)至該新建的數(shù)據(jù)節(jié)點(diǎn),導(dǎo)致的命令數(shù)據(jù)丟失問(wèn)題。
為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
第一方面,提供一種數(shù)據(jù)處理方法,包括:
獲取命令的命令參數(shù),所述命令參數(shù)包含命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址;
將獲取的命令的命令數(shù)據(jù)在所述數(shù)據(jù)庫(kù)中的存儲(chǔ)地址存儲(chǔ)至命令隊(duì)列中;
讀取所述命令隊(duì)列中的存儲(chǔ)地址,將所述命令隊(duì)列中的存儲(chǔ)地址在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的命令數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)鏈表中進(jìn)行依次處理。
另一方面,提供一種數(shù)據(jù)處理裝置,包括:
獲取模塊,用于獲取命令的命令參數(shù),所述命令參數(shù)包含命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址;
第一存儲(chǔ)模塊,用于將獲取的命令的命令數(shù)據(jù)在所述數(shù)據(jù)庫(kù)中的存儲(chǔ)地址存儲(chǔ)至命令隊(duì)列中;
處理模塊,用于讀取所述命令隊(duì)列中的存儲(chǔ)地址,將所述命令隊(duì)列中的存儲(chǔ)地址在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的命令數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)鏈表中依次進(jìn)行處理。
本發(fā)明的實(shí)施例提供的數(shù)據(jù)處理方法,數(shù)據(jù)處理裝置通過(guò)獲取命令的命令參數(shù),其中,該命令參數(shù)包含命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址;其次,將獲取的命令的命令數(shù)據(jù)在上述數(shù)據(jù)庫(kù)中的存儲(chǔ)地址存儲(chǔ)至命令隊(duì)列中;最后,讀取該命令隊(duì)列中的存儲(chǔ)地址,將該命令隊(duì)列中的存儲(chǔ)地址在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的命令數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)鏈表中依次進(jìn)行處理。相比于現(xiàn)有技術(shù),本方案通過(guò)預(yù)先將所有命令的命令數(shù)據(jù)緩存至數(shù)據(jù)處理裝置的數(shù)據(jù)庫(kù)中,使得數(shù)據(jù)處理裝置在處理數(shù)據(jù)時(shí)可以根據(jù)命令隊(duì)列中存儲(chǔ)的每個(gè)命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址,將每個(gè)命令的命令數(shù)據(jù)依次插入數(shù)據(jù)鏈表中,使得數(shù)據(jù)鏈表可以將所有命令的命令數(shù)據(jù)一次性全部處理,從而避免了數(shù)據(jù)處理裝置在處理數(shù)據(jù)鏈表的最后一個(gè)數(shù)據(jù)結(jié)點(diǎn)中的命令數(shù)據(jù)時(shí),由于接收到新的命令數(shù)據(jù)的處理請(qǐng)求,而導(dǎo)致的將該命令的命令數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)處理裝置已置空的新建的數(shù)據(jù)節(jié)點(diǎn)中,而導(dǎo)致的命令數(shù)據(jù)丟失問(wèn)題。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理方法的方法流程示意圖;
圖2為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理方法中的命令隊(duì)列的列表圖;
圖3為本發(fā)明實(shí)施例提供的高清電視的主從芯片通信的結(jié)構(gòu)圖;
圖4為本發(fā)明實(shí)施例提供的現(xiàn)有技術(shù)中一種數(shù)據(jù)鏈表丟數(shù)據(jù)的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理方法的方框示意圖;
圖6為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;
圖7為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供的數(shù)據(jù)處理方法的執(zhí)行主體可以為數(shù)據(jù)處理裝置,或者用于執(zhí)行上述數(shù)據(jù)處理方法的終端。具體的,該終端可以為智能電視、智能電視終端、高清機(jī)頂盒、平板電腦、筆記本電腦、超級(jí)移動(dòng)個(gè)人計(jì)算機(jī)(英文:ultra-mobilepersonalcomputer,簡(jiǎn)稱:umpc)、上網(wǎng)本、個(gè)人數(shù)字助理(英文:personaldigitalassistant,簡(jiǎn)稱:pda)等終端。其中,數(shù)據(jù)處理裝置可以為上述終端中的中央處理器(英文:centralprocessingunit,簡(jiǎn)稱:cpu)或者可以為上述終端的中的控制單元或者功能模塊。示例性的,該數(shù)據(jù)處理裝置可以是高清終端中用于處理畫質(zhì)的后端畫質(zhì)處理芯片(例如,frc(英文:framerateconversion,幀頻轉(zhuǎn)換)芯片),且相對(duì)于該高清終端中的主soc(英文:systemonchip,片上系統(tǒng))芯片,該數(shù)據(jù)處理裝置可以稱為該高清終端的從芯片。
本文中術(shù)語(yǔ)“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示 可以存在三種關(guān)系,例如,a和/或b,可以表示:?jiǎn)为?dú)存在a,同時(shí)存在a和b,單獨(dú)存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
為了便于清楚描述本發(fā)明實(shí)施例的技術(shù)方案,在本發(fā)明的實(shí)施例中,采用了“第一”、“第二”等字樣對(duì)功能或作用基本相同的相同項(xiàng)或相似項(xiàng)進(jìn)行區(qū)分,本領(lǐng)域技術(shù)人員可以理解“第一”、“第二”等字樣并不對(duì)數(shù)量和執(zhí)行次序進(jìn)行限定。
本發(fā)明的實(shí)施例提供一種數(shù)據(jù)處理方法,如圖1所示,該方法包括如下步驟:
101、數(shù)據(jù)處理裝置獲取命令的命令參數(shù)。
示例性的,數(shù)據(jù)處理裝置中獲取命令的命令參數(shù),該命令參數(shù)包含命令的命令數(shù)據(jù)在數(shù)據(jù)處理裝置的數(shù)據(jù)庫(kù)中的存儲(chǔ)地址,該命令的命令參數(shù)還包括:該命令的命令數(shù)據(jù)的長(zhǎng)度、該命令的功能參數(shù)以及該命令的命令數(shù)據(jù)校驗(yàn)碼。
示例性的,數(shù)據(jù)處理裝置和主soc芯片在進(jìn)行命令發(fā)送與接收的時(shí)候,該數(shù)據(jù)處理裝置和主soc芯片之間通過(guò)物理接口進(jìn)行連接。具體的,在本實(shí)施例中,該數(shù)據(jù)處理裝置中整個(gè)系統(tǒng)中處于從的地位,其不需要主動(dòng)發(fā)起連接。因此,該數(shù)據(jù)處理裝置和主soc芯片之間可以采取iic、spi接口等同步通信接口或uart這種異步通信接口的通信方式。在該數(shù)據(jù)處理裝置和主soc芯片之間建立好通信方式以后,其可以進(jìn)行相應(yīng)的命令數(shù)據(jù)的處理。
示例性的,數(shù)據(jù)處理裝置獲取命令的命令參數(shù)的過(guò)程可以通過(guò)如下方式來(lái)獲取:
具體的,在第一種實(shí)現(xiàn)方式中,步驟101之前還包括如下具體步驟:
101a1、數(shù)據(jù)處理裝置的接收主芯片發(fā)送的命令消息。
101a2、數(shù)據(jù)處理裝置將所有命令的命令數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)庫(kù)中,并獲取命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址。
在本實(shí)施例中,上述的命令消息包括至少一個(gè)命令的命令數(shù)據(jù),示例性的,數(shù)據(jù)處理裝置在接收到該命令消息時(shí),會(huì)產(chǎn)生對(duì)應(yīng)的命令中斷, 并在該命令中斷中將該命令消息中包含的命令數(shù)據(jù)依次存儲(chǔ)至數(shù)據(jù)庫(kù)中,并獲取每個(gè)命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址。
具體的,在第二種實(shí)現(xiàn)方式中,步驟101之前還包括如下具體步驟:
101b1、數(shù)據(jù)處理裝置接收主芯片發(fā)送的命令消息。
101b2、數(shù)據(jù)處理裝置根據(jù)預(yù)先分配的存儲(chǔ)地址將命令的命令數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)庫(kù)中。
在本實(shí)施例中,上述的命令消息包括命令的命令數(shù)據(jù)以及為命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中預(yù)先分配的存儲(chǔ)地址。具體的,該命令消息中包含的為命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中預(yù)先分配的存儲(chǔ)地址的位置是主芯片根據(jù)實(shí)際應(yīng)用場(chǎng)景以及每個(gè)命令的命令數(shù)據(jù)的大小進(jìn)行分配的。
102、數(shù)據(jù)處理裝置將獲取的命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址存儲(chǔ)至命令隊(duì)列中。
示例性的,如圖2所示為命令隊(duì)列的列表圖。數(shù)據(jù)處理裝置獲取命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中都會(huì)對(duì)應(yīng)一個(gè)存儲(chǔ)地址,數(shù)據(jù)處理裝置在中斷中將該獲取的命令的命令數(shù)據(jù)對(duì)應(yīng)的存儲(chǔ)地址存儲(chǔ)到該命令隊(duì)列的列表中。示例性的,上述的中斷包括:hdmi(英文:highdefinitionmultimediainterface,高清晰度多媒體接口)中斷,用于、osd(on-screendisplay)中斷、vbo(v-by-one圖像傳輸數(shù)字接口標(biāo)準(zhǔn))數(shù)據(jù)收發(fā)中斷、音頻數(shù)據(jù)處理中斷、視頻數(shù)據(jù)處理中斷等命令中斷。
示例性的,數(shù)據(jù)處理裝置在中斷中將接收到的命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址存儲(chǔ)至上述命令隊(duì)列中時(shí),在命令隊(duì)列中分別采取兩個(gè)計(jì)數(shù)值,記錄當(dāng)前的隊(duì)列狀態(tài),該命令隊(duì)列的兩個(gè)計(jì)數(shù)值分別為:隊(duì)列頭計(jì)數(shù)和隊(duì)列尾計(jì)數(shù)。當(dāng)數(shù)據(jù)處理裝置接收到一個(gè)命令消息時(shí)將該命令消息存儲(chǔ)在當(dāng)前命令隊(duì)列尾的位置,此時(shí),隊(duì)列尾計(jì)數(shù)值加一指向下一個(gè)存儲(chǔ)命令消息的位置,當(dāng)隊(duì)列尾計(jì)數(shù)值達(dá)到隊(duì)列最大長(zhǎng)度時(shí),會(huì)返回到隊(duì)列的開(kāi)始位置繼續(xù)存儲(chǔ)。當(dāng)遇到隊(duì)列尾計(jì)數(shù)值加一后等于隊(duì)列頭計(jì)數(shù)的情況,說(shuō)明命令隊(duì)列已滿,不能繼續(xù)存儲(chǔ)命令數(shù)據(jù),在這種情況可以通過(guò)預(yù)估最大命令隊(duì)列長(zhǎng)度來(lái)解決,即提前估算一下數(shù)據(jù)處理裝置所需要接收的所有命令的命令數(shù)據(jù)中的最大個(gè)數(shù),根據(jù)該所有命令的命令數(shù)據(jù)中的最大個(gè)數(shù)來(lái)設(shè)定該命令隊(duì)列的長(zhǎng)度。
103、數(shù)據(jù)處理裝置讀取命令隊(duì)列中的存儲(chǔ)地址,將命令隊(duì)列中的存儲(chǔ)地址在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的命令數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)鏈表中依次進(jìn)行處理。
示例性的,數(shù)據(jù)處理裝置在命令處理任務(wù)中將命令隊(duì)列中的存儲(chǔ)地址在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的命令數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)鏈表中時(shí),仍然采用命令隊(duì)列中的兩個(gè)計(jì)數(shù)值,即隊(duì)列頭計(jì)數(shù)和隊(duì)列尾計(jì)數(shù)。具體的,命令處理任務(wù)中的鏈表處理函數(shù)將命令隊(duì)列中的數(shù)值取出來(lái),具體過(guò)程為:當(dāng)從命令隊(duì)列中取出一個(gè)命令數(shù)據(jù)時(shí),隊(duì)列頭計(jì)數(shù)加一,即每取走一個(gè)數(shù)據(jù)命令時(shí),隊(duì)列頭計(jì)數(shù)都加一。當(dāng)計(jì)數(shù)達(dá)到命令隊(duì)列的最大長(zhǎng)度時(shí),同樣從頭開(kāi)始繼續(xù)計(jì)數(shù)取命令數(shù)據(jù),當(dāng)計(jì)數(shù)過(guò)程中遇到隊(duì)列頭計(jì)數(shù)等于隊(duì)列尾計(jì)數(shù)時(shí),說(shuō)明命令隊(duì)列為空,即命令數(shù)據(jù)已經(jīng)被取完,不能再繼續(xù)取命令數(shù)據(jù)。
具體的,數(shù)據(jù)處理裝置在命令處理任務(wù)中將命令隊(duì)列中的存儲(chǔ)地址在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的命令數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)鏈表中后,鏈表處理函數(shù)從鏈表頭開(kāi)始處理鏈表的每一個(gè)數(shù)據(jù)結(jié)點(diǎn)中的命令數(shù)據(jù),處理完成后將該命令處理結(jié)點(diǎn)刪除,繼續(xù)處理下一個(gè)命令數(shù)據(jù)結(jié)點(diǎn),直到將數(shù)據(jù)鏈表中的命令數(shù)據(jù)結(jié)點(diǎn)處理完成為止。
本發(fā)明的實(shí)施例提供的數(shù)據(jù)處理方法,通過(guò)獲取命令的命令參數(shù),其中,該命令參數(shù)包含命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址;其次,將獲取的命令的命令數(shù)據(jù)在上述數(shù)據(jù)庫(kù)中的存儲(chǔ)地址存儲(chǔ)至命令隊(duì)列中;最后,讀取該命令隊(duì)列中的存儲(chǔ)地址,將該命令隊(duì)列中的存儲(chǔ)地址在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的命令數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)鏈表中依次進(jìn)行處理。相比于現(xiàn)有技術(shù),本方案通過(guò)預(yù)先將所有命令的命令數(shù)據(jù)緩存至數(shù)據(jù)處理裝置的數(shù)據(jù)庫(kù)中,使得數(shù)據(jù)處理裝置在處理數(shù)據(jù)時(shí)可以根據(jù)命令隊(duì)列中存儲(chǔ)的每個(gè)命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址,將每個(gè)命令的命令數(shù)據(jù)依次插入數(shù)據(jù)鏈表中,使得數(shù)據(jù)鏈表可以將所有命令的命令數(shù)據(jù)一次性全部處理,從而避免了數(shù)據(jù)處理裝置在處理數(shù)據(jù)鏈表的最后一個(gè)數(shù)據(jù)結(jié)點(diǎn)中的命令數(shù)據(jù)時(shí),由于接收到新的命令數(shù)據(jù)的處理請(qǐng)求,而導(dǎo)致的將該命令的命令數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)處理裝置已置空的新建的數(shù)據(jù)節(jié)點(diǎn)中,而導(dǎo)致的命令數(shù)據(jù)丟失問(wèn)題。
示例性的,若終端設(shè)備以高清電視為例,而本發(fā)明實(shí)施例中的數(shù)據(jù) 處理裝置以高清電視中的從芯片為例時(shí),該高清電視還包括一個(gè)主soc芯片,該主soc芯片與從芯片間的通信的結(jié)構(gòu)如圖3所示,主soc芯片與從芯片之間通過(guò)一條sda(英文:serialdataline)數(shù)據(jù)線和一條scl(serialclockline)時(shí)鐘線相連。這里從芯片以frc芯片為例進(jìn)行說(shuō)明。
具體的,在現(xiàn)有技術(shù)中,高清電視在進(jìn)行圖像顯示的時(shí)候,該終端設(shè)備的主soc一般都進(jìn)行高清信號(hào)圖像的接收,后端畫質(zhì)的數(shù)據(jù)處理和/或圖像處理都在從芯片中進(jìn)行。因此,高清電視的主soc芯片和frc芯片之間需要密切的配合,才能完成圖像的顯示,但是當(dāng)高清電視的從芯片在進(jìn)行數(shù)據(jù)處理和/或圖像處理的時(shí)候需要有較多的中斷進(jìn)行處理。
如圖4所示,列舉了從芯片在數(shù)據(jù)鏈表中丟失數(shù)據(jù)結(jié)點(diǎn)7的命令數(shù)據(jù)的結(jié)構(gòu)示意圖。當(dāng)高清電視在進(jìn)行圖像顯示時(shí),高清電視的主soc芯片向frc芯片發(fā)送第一命令,首先,frc芯片中的中斷接收該命令,并將該接收命令的命令數(shù)據(jù)全部添加到圖4中的數(shù)據(jù)鏈表中,其次,在命令任務(wù)處理中鏈表處理函數(shù)進(jìn)行數(shù)據(jù)結(jié)點(diǎn)的處理,然后,將處理完的數(shù)據(jù)結(jié)點(diǎn)刪除。當(dāng)鏈表處理函數(shù)處理完數(shù)據(jù)鏈表上的最后一個(gè)數(shù)據(jù)結(jié)點(diǎn)6,進(jìn)行該數(shù)據(jù)結(jié)點(diǎn)6的命令數(shù)據(jù)的刪除時(shí),這時(shí)如果frc芯片接收到第二命令,就會(huì)觸發(fā)第二中斷,因此會(huì)打斷數(shù)據(jù)結(jié)點(diǎn)6的命令數(shù)據(jù)的刪除,跳到中斷處理中,frc芯片的中斷接收命令,并將該命令的命令數(shù)據(jù)插入到數(shù)據(jù)鏈表的數(shù)據(jù)結(jié)點(diǎn)7中,中斷處理完成后回到命令任務(wù)處理中繼續(xù)上述刪除數(shù)據(jù)結(jié)點(diǎn)6的命令數(shù)據(jù)的操作,由于在中斷觸發(fā)之前,數(shù)據(jù)鏈表中正在刪除最后一個(gè)數(shù)據(jù)結(jié)點(diǎn)6的命令數(shù)據(jù),且數(shù)據(jù)鏈表中的指針已將下一個(gè)數(shù)據(jù)結(jié)點(diǎn)7設(shè)為空,這時(shí),在數(shù)據(jù)鏈表中只將未刪除的數(shù)據(jù)結(jié)點(diǎn)6的命令數(shù)據(jù)的刪除,其并不能識(shí)別下一個(gè)數(shù)據(jù)結(jié)點(diǎn)中所插入的新數(shù)據(jù)7,從而導(dǎo)致新添加的命令數(shù)據(jù)丟失。
如圖5所示,為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理方法的方框示意圖,在這里本發(fā)明實(shí)施例以主soc芯片和frc芯片為例進(jìn)行說(shuō)明。具體的,高清電視的主soc芯片向frc芯片發(fā)送第一命令,frc芯片中會(huì)產(chǎn)生一個(gè)中斷,在中斷中接收主soc芯片發(fā)送的第一命令,將該命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址存入到命令隊(duì)列中,直到將所有命令 在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址全部存入到命令隊(duì)列中(假設(shè)該所有命令在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址的命令數(shù)據(jù)總共有6個(gè)),在命令處理任務(wù)中frc芯片將按照命令隊(duì)列中的存儲(chǔ)地址找到對(duì)應(yīng)的所有命令的命令數(shù)據(jù),依次將該所有命令的命令數(shù)據(jù)插入到數(shù)據(jù)鏈表中,然后,數(shù)據(jù)鏈表中的鏈表處理函數(shù)將從表頭開(kāi)始處理每一個(gè)數(shù)據(jù)結(jié)點(diǎn)上的命令數(shù)據(jù),處理完成后進(jìn)行數(shù)據(jù)結(jié)點(diǎn)的刪除操作,當(dāng)鏈表處理函數(shù)處理完最后一個(gè)數(shù)據(jù)節(jié)點(diǎn)6時(shí),說(shuō)明所有的命令數(shù)據(jù)已經(jīng)被處理完,從而避免命令數(shù)據(jù)的丟失。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理裝置,該裝置用于上述的數(shù)據(jù)處理方法,優(yōu)選的,上述的數(shù)據(jù)處理裝置可以為高清電視中的frc芯片。如圖6所示,該數(shù)據(jù)處理裝置2包括:獲取模塊21、第一存儲(chǔ)模塊22和處理模塊23,其中:
獲取模塊21,用于獲取命令的命令參數(shù),該命令參數(shù)包含命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址。
第一存儲(chǔ)模塊22,用于將獲取的命令的命令數(shù)據(jù)在上述數(shù)據(jù)庫(kù)中的存儲(chǔ)地址存儲(chǔ)至命令隊(duì)列中。
處理模塊23,用于讀取上述命令隊(duì)列中的存儲(chǔ)地址,將上述命令隊(duì)列中的存儲(chǔ)地址在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的命令數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)鏈表中依次進(jìn)行處理。
示例性的,上述命令的命令參數(shù)還包括:該命令的命令數(shù)據(jù)的長(zhǎng)度、該命令的功能參數(shù)以及該命令的命令數(shù)據(jù)校驗(yàn)碼。
可選的,如圖7所示,該數(shù)據(jù)處理裝置2還包括:接收模塊24和第二存儲(chǔ)模塊25,其中:
接收模塊24,用于接收主芯片發(fā)送的命令消息,該命令消息包括命令的命令數(shù)據(jù)。
第二存儲(chǔ)模塊25,還用于將所有命令的命令數(shù)據(jù)存儲(chǔ)至上述數(shù)據(jù)庫(kù)中。
獲取模塊21,還用于獲取每個(gè)命令的命令數(shù)據(jù)在上述數(shù)據(jù)庫(kù)中的存儲(chǔ)地址。
可選的,如圖7所示,該數(shù)據(jù)處理裝置2還包括:接收模塊24和 第二存儲(chǔ)模塊25,其中:
接收模塊24,用于接收主芯片發(fā)送的命令消息,該命令消息包括命令的命令數(shù)據(jù)以及為命令的命令數(shù)據(jù)在上述數(shù)據(jù)庫(kù)中預(yù)先分配的存儲(chǔ)地址。
第二存儲(chǔ)模塊25,還用于根據(jù)上述預(yù)先分配的存儲(chǔ)地址將上述命令的命令數(shù)據(jù)存儲(chǔ)至上述數(shù)據(jù)庫(kù)中。
本發(fā)明的實(shí)施例提供的數(shù)據(jù)處理裝置,通過(guò)獲取命令的命令參數(shù),其中,該命令參數(shù)包含命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址;其次,將獲取的命令的命令數(shù)據(jù)在上述數(shù)據(jù)庫(kù)中的存儲(chǔ)地址存儲(chǔ)至命令隊(duì)列中;最后,讀取該命令隊(duì)列中的存儲(chǔ)地址,將該命令隊(duì)列中的存儲(chǔ)地址在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的命令數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)鏈表中依次進(jìn)行處理。相比于現(xiàn)有技術(shù),本方案通過(guò)預(yù)先將所有命令的命令數(shù)據(jù)緩存至數(shù)據(jù)處理裝置的數(shù)據(jù)庫(kù)中,使得數(shù)據(jù)處理裝置在處理數(shù)據(jù)時(shí)可以根據(jù)命令隊(duì)列中存儲(chǔ)的每個(gè)命令的命令數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)地址,將每個(gè)命令的命令數(shù)據(jù)依次插入數(shù)據(jù)鏈表中,使得數(shù)據(jù)鏈表可以將所有命令的命令數(shù)據(jù)一次性全部處理,從而避免了數(shù)據(jù)處理裝置在處理數(shù)據(jù)鏈表的最后一個(gè)數(shù)據(jù)結(jié)點(diǎn)中的命令數(shù)據(jù)時(shí),由于接收到新的命令數(shù)據(jù)的處理請(qǐng)求,而導(dǎo)致的將該命令的命令數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)處理裝置已置空的新建的數(shù)據(jù)節(jié)點(diǎn)中,而導(dǎo)致的命令數(shù)據(jù)丟失問(wèn)題。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的終端和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理包括,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(read-onlymemory,簡(jiǎn)稱rom)、隨機(jī)存取存儲(chǔ)器(randomaccessmemory,簡(jiǎn)稱ram)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。