專利名稱:移動多媒體廣播系統(tǒng)中的數(shù)據(jù)文件接收方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動多媒體廣播技術(shù),特別涉及一種移動多媒體廣播系統(tǒng)中 的數(shù)據(jù)文件接收方法和裝置。
背景技術(shù):
中國移動多媒體廣播技術(shù)聯(lián)盟簡稱為中國移動多媒體廣播(CMMB, China Mobile Multimedia Broadcasting ),其作為服務(wù)于中國移動多媒體廣播 的技術(shù)體系,旨在發(fā)展適合移動應(yīng)用的多媒體接收技術(shù)與設(shè)備。
在目前的CMMB系統(tǒng)中,當(dāng)需要進(jìn)行文件模式的數(shù)據(jù)業(yè)務(wù)傳輸時,數(shù) 據(jù)業(yè)務(wù)的發(fā)送端會將文件屬性表(FAT, File Attribute Table )和數(shù)據(jù)文件依 次以循環(huán)播放的方式在CMMB廣播信道上進(jìn)行發(fā)送。其中,F(xiàn)AT文件用于 描述數(shù)據(jù)文件的屬性信息,包括數(shù)據(jù)文件的構(gòu)成、路徑以及分割參數(shù)等。終 端接收完整的FAT文件以及相應(yīng)的數(shù)據(jù)文件并解析完成數(shù)據(jù)文件的接收。
在實(shí)際應(yīng)用中,F(xiàn)AT文件和數(shù)據(jù)文件都是以片為單位進(jìn)行廣播的。
其中,F(xiàn)AT文件被分割成一個以上的FAT片,如
圖1所示,圖1為現(xiàn) 有FAT文件的分割情況示意圖,并可將不同的FAT片分別編號為FAT片0、 FAT片l........ FAT片n-l, n的取值范圍為1 ~ 256。
每個FAT片被封裝在圖2所示的FAT片數(shù)據(jù)包中進(jìn)行傳輸,其中,"資 源標(biāo)識"字段固定取值為0;"當(dāng)前片序號"字段用于標(biāo)識當(dāng)前封裝的FAT 片在整個FAT文件中的編號;"更新序號"字段用于標(biāo)識FAT片的版本號; "最后片序號"字段用于標(biāo)識圖1所示第n-1個FAT片的編號;"片長度" 字段用于標(biāo)識所封裝的FAT片的長度;"編碼類型"字段用于標(biāo)識終端解 析以得到FAT文件時所需采用的編碼類型。同樣,數(shù)據(jù)文件被分割為一個以上的等長的文件片,最后一個文件片長
度不足時可填充0x00補(bǔ)全;多個文件片組成一個文件塊。并且,根據(jù)組成 文件塊的文件片數(shù)量的不同,可將文件塊分為A、 B兩種類型;當(dāng)然,若所 有的文件塊中的文件片數(shù)量均相同,則只有類型A。如圖3所示,圖3為現(xiàn) 有數(shù)據(jù)文件分割方式示意圖,并可對不同的文件塊以及每個文件塊中的不同 文件片分別進(jìn)行編號。
每個文件片被封裝在圖4所示的文件片數(shù)據(jù)包中進(jìn)行傳輸。其中,"資 源標(biāo)識"字段用于標(biāo)識所封裝的文件片所屬的數(shù)據(jù)文件;"塊序號"字段用 于標(biāo)識所封裝的文件片所屬文件塊的編號;"片序號"字段用于標(biāo)識所封裝 的文件片在所屬文件塊中的編號;"更新序號"字段用于標(biāo)識所封裝的文件 片的版本號,應(yīng)與FAT文件中針對該文件片所在數(shù)據(jù)文件的版本描述一致; 文件片的長度由FAT文件指定。
在現(xiàn)有CMMB系統(tǒng)中,終端在接收到完整的FAT文件后,需要根據(jù)其 中描述的數(shù)據(jù)文件屬性信息,動態(tài)分配足夠存儲待接收到的數(shù)據(jù)文件的所有 文件片的內(nèi)存空間,以便后續(xù)將接收到的文件片填入該內(nèi)存空間中的相應(yīng)位 置。但是,在實(shí)際應(yīng)用中,由于傳輸信道的不穩(wěn)定性, 一些文件片在傳輸過 程中可能會丟失,這樣,終端可能需要經(jīng)過多個播放周期才能接收到所需的 所有文件片,也就是說,在接收到所有的文件片之前,上述所分配的內(nèi)存空 間將一直被占用,這樣,就導(dǎo)致了內(nèi)存資源的浪費(fèi),而且,當(dāng)需要同時接收 多個數(shù)據(jù)文件時,由于終端中大量的內(nèi)存資源被占用,使得內(nèi)存資源不足, 那么就會導(dǎo)致無法正常完成數(shù)據(jù)文件的接收,或者影響終端中其它程序的正 常運(yùn)行0
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供兩種移動多媒體廣播系統(tǒng)中的數(shù) 據(jù)文件接收方法,能夠節(jié)省內(nèi)存資源。
本發(fā)明的另 一 目的在于提供兩種移動多媒體廣播系統(tǒng)中的數(shù)據(jù)文件接收裝置,能夠節(jié)省內(nèi)存資源。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的
一種移動多媒體廣播系統(tǒng)中的數(shù)據(jù)文件接收方法,包括
A、 完整接收文件屬性表FAT文件,根據(jù)所述FAT文件為待接收數(shù)據(jù)文件 建立臨時文件以及索引輔助文件;所述索引輔助文件用于標(biāo)識所述待接收數(shù)據(jù) 文件中的不同文件片是否已經(jīng)寫入到所述臨時文件中;
B、 接收所述待接收數(shù)據(jù)文件的文件片;
C、 根據(jù)所述索引輔助文件,判斷接收到的文件片是否已經(jīng)寫入到所述臨 時文件中,如果是,則丟棄所述接收到的文件片,并執(zhí)行步驟D;否則,將所 述接收到的文件片寫入到所述臨時文件中,并在所述索?I輔助文件中進(jìn)行記錄, 然后執(zhí)行步驟D;
D、 判斷是否已經(jīng)接收完所述待接收數(shù)據(jù)文件的所有文件塊,如果是,結(jié) 束流程;否則,執(zhí)行步驟B。
一種移動多媒體廣播系統(tǒng)中的數(shù)據(jù)文件接收方法,包括
A、 完整接收文件屬性表FAT文件,根據(jù)所述FAT文件為待接收數(shù)據(jù)文 件建立臨時文件以及索引輔助文件,所述索引輔助文件用于標(biāo)識所述待接收數(shù) 據(jù)文件中不同的文件塊是否已經(jīng)寫入到所述臨時文件;
B、 接收待接收數(shù)據(jù)文件的文件片,根據(jù)所述索引輔助文件判斷接收到的 文件片所屬的文件塊是否已經(jīng)寫入到所述臨時文件中,如果否,則緩存所述接 收到的文件片,然后執(zhí)行步驟C,如果是,則丟棄所述接收到的文件片,并繼 續(xù)執(zhí)行步驟B;
C、 判斷緩存中的文件片是否足夠組成一個文件塊,如果是,則將所組成 的文件塊寫入到所述臨時文件中,并在所述索引輔助文件中進(jìn)行記錄,然后執(zhí) 行步驟D,否則,執(zhí)行步驟B;
D、判斷是否已經(jīng)接收完所述待接收數(shù)據(jù)文件的所有文件塊,如果是, 結(jié)束流程;否則,執(zhí)行步驟B。
一種移動多々某體廣播系統(tǒng)中的數(shù)據(jù)文件接收裝置,包括第一建立單元,用于完整接收文件屬性表FAT文件,根據(jù)所述FAT文件為 待接收數(shù)據(jù)文件建立臨時文件以及索引輔助文件;所述索引輔助文件用于標(biāo)識 所述待接收數(shù)據(jù)文件中的不同文件片是否已經(jīng)寫入到所述臨時文件中;
第 一接收單元,用于接收所述待接收數(shù)據(jù)文件的文件片;
第一判斷單元,用于根據(jù)所述索引輔助文件,判斷接收到的文件片是否已 經(jīng)寫入到所述臨時文件中,如果是,則丟棄所述接收到的文件片,并通知第二 判斷單元執(zhí)行自身功能;否則,將所述接收到的文件片寫入到所述臨時文件中, 并在所述索引輔助文件中進(jìn)行記錄,然后通知所述第二判斷單元執(zhí)行自身功能;
所述第二判斷單元,用于判斷是否已經(jīng)接收完所述待接收數(shù)據(jù)文件的所有 文件塊,如果是,結(jié)束處理;否則,通知所述第一接收單元執(zhí)行自身功能。
一種移動多媒體廣播系統(tǒng)中的數(shù)據(jù)文件接收裝置,包括
第二建立單元,用于完整接收文件屬性表FAT文件,根據(jù)所述FAT文件為 待接收數(shù)據(jù)文件建立臨時文件以及索引輔助文件,所述索引輔助文件用于標(biāo)識 所述待接收數(shù)據(jù)文件中不同的文件塊是否已經(jīng)寫入到所述臨時文件中;
第二接收單元,用于接收待接收數(shù)據(jù)文件的文件片;
第三判斷單元,根據(jù)所述索引輔助文件,判斷接收到的文件片所屬的文件 塊是否已經(jīng)寫入到所述臨時文件中,如果否,則緩存所述接收到的文件片,并 通知第四判斷單元執(zhí)行自身功能,如果是,則丟棄所述接收到的文件片,并通 知所述第二接收單元執(zhí)行自身功能;
第四判斷單元,用于判斷緩存的文件片是否足夠組成一個文件塊,如果是, 則將所組成的文件塊寫入到所述臨時文件中,并在所述索? 1輔助文件中進(jìn)行記 錄,然后通知所述第五判斷單元執(zhí)行自身功能;否則,通知所述第二接收單元 執(zhí)行自身功能;
所述第五判斷單元,用于判斷是否已經(jīng)接收完所述待接收數(shù)據(jù)文件的所有 文件塊,如果是,結(jié)束處理;否則,通知所述第二接收單元執(zhí)行自身功能。
可見,采用本發(fā)明的技術(shù)方案,在接收到完整的FAT文件后,根據(jù)該FAT 文件中所描述的數(shù)據(jù)文件屬性信息,為待接收的數(shù)據(jù)文件建立臨時文件以及索引輔助文件,所述索引輔助文件用于標(biāo)識待接收數(shù)據(jù)文件中的不同文件塊/文件
片是否已經(jīng)寫入到臨時文件中;并根據(jù)該索引輔助文件,將接收到的文件塊/ 文件片以非重復(fù)的方式寫入到臨時文件中。與現(xiàn)有技術(shù)相比,本發(fā)明所述方案 無需長時間占用為待接收數(shù)據(jù)文件分配的內(nèi)存空間,從而節(jié)省了內(nèi)存資源。
附圖il明
圖1為現(xiàn)有FAT文件的分割情況示意圖。
圖2為現(xiàn)有FAT片的封裝方式示意圖。
圖3為現(xiàn)有數(shù)據(jù)文件的分割方式示意圖。
圖4為現(xiàn)有文件片的封裝方式示意圖。
圖5為本發(fā)明實(shí)施例中的索引輔助文件的格式示意圖。
圖6為本發(fā)明方法第一實(shí)施例的流程圖。
圖7為本發(fā)明方法第二實(shí)施例的流程圖。
圖8為本發(fā)明裝置第一實(shí)施例的組成結(jié)構(gòu)示意圖。
圖9為本發(fā)明裝置第二實(shí)施例的組成結(jié)構(gòu)示意圖。
具體實(shí)施例方式
針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明中提出 一種全新的移動多媒體廣播系 統(tǒng)中的數(shù)據(jù)文件接收方案。
在完整接收到FAT文件后,根據(jù)FAT文件中針對待接收數(shù)據(jù)文件的屬性描 述,為待接收數(shù)據(jù)文件在^f茲盤上開辟出一塊待接收數(shù)據(jù)文件大小的臨時空間, 用該臨時空間來存放所建立的臨時文件,并在同級目錄下,建立與該臨時文件 相對應(yīng)的索引輔助文件,索引輔助文件用于標(biāo)識其對應(yīng)的臨時文件中索引位置 對應(yīng)的文件塊/文件片是否已經(jīng)被接收。其中,臨時文件的命名方式可以為在 待接收數(shù)據(jù)文件的文件名(可從FAT文件中獲取)后加上后綴.ltmp;索引輔助 文件的命名方式可以為在待接收數(shù)據(jù)文件的文件名后加上后綴.lfbi (即Large File Block Index )。這里所述提到的待接收數(shù)據(jù)文件的文件名,是指包括擴(kuò)展名的文件名,因?yàn)檫@樣可以防止擴(kuò)展名不同,但文件名相同的數(shù)據(jù)文件造成的混
淆。比如,數(shù)據(jù)文件A和B的文件名均為a,但擴(kuò)展名分別為.txt和.bmp,如 果不考慮擴(kuò)展名,那么數(shù)據(jù)文件A和B所對應(yīng)的臨時文件的文件名將均為 A.ltmp,無法區(qū)分,^旦如果加上擴(kuò)展名,則^t據(jù)文件A和B所對應(yīng)的臨時文件 的文件名將分別為a.txt.ltmp和a.bmp.ltmp。后續(xù)類似情況將不再贅述。
另夕卜,如圖5所示,圖5為本發(fā)明實(shí)施例中的索引輔助文件的格式示意圖。 其中的"資源標(biāo)識"字段(占16位)用于唯一標(biāo)識待接收的數(shù)據(jù)文件;"更新 序號"字段(占4位)用于標(biāo)識待接收數(shù)據(jù)文件的版本號;"塊/片標(biāo)志"字段 (占l位)用于標(biāo)識是按塊方式進(jìn)行索引還是按片方式進(jìn)行索引,即其后的"塊 /片*接收標(biāo)志"為"塊*接收標(biāo)志"還是"片*接收標(biāo)志",比如,可用0代表按 塊方式進(jìn)行索引,1代表按片方式進(jìn)行索引,當(dāng)然,反過來也可以,只要預(yù)先 規(guī)定好即可;"塊/片總數(shù)"字段(占24位)用于標(biāo)識待接收數(shù)據(jù)文件中的文件 塊/文件片總數(shù),其中文件塊總數(shù)的取值范圍為1~ 1024,文件片總數(shù)的取值范 圍為1 - 16777215;隨后即為N個用于標(biāo)識不同文件塊/文件片是否已經(jīng)被寫入 到臨時文件中的"塊/片*接收標(biāo)志"字段,N的取值范圍由"塊/片總數(shù)"字段 決定,每個"塊/片*接收標(biāo)志"字段對應(yīng)一個文件塊/文件片,即"塊/片0接 收標(biāo)志"字段對應(yīng)編號為0的文件塊/文件片,"塊/片l接收標(biāo)志"字段對應(yīng)編 號為1的文件塊/文件片,其它不再一一贅述;在實(shí)際應(yīng)用中,可通過將"塊/ 片*接收標(biāo)志"字段設(shè)置為0或1,來表示其對應(yīng)的文件塊/文件片是否已經(jīng)被寫 入到臨時文件中;如果N的取值不是8的整數(shù)倍,可通過填充O補(bǔ)齊所需字節(jié)。
后續(xù)過程中,即可借助該索引輔助文件,對待接收數(shù)據(jù)文件中的文件塊/ 文件片按預(yù)定方式進(jìn)行接收。
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí) 施例,對本發(fā)明作進(jìn)一步地詳細(xì)說明。
圖6為本發(fā)明方法第一實(shí)施例的流程圖。如圖6所示,包括以下步驟
步驟601:完整接收FAT文件。
如何完整接收到FAT文件為現(xiàn)有技術(shù),不再贅述。步驟602:判斷是否已經(jīng)存在與待接收數(shù)據(jù)文件相對應(yīng)的臨時文件以及索 引輔助文件,如果是,則執(zhí)行步驟603;否則,執(zhí)行步驟605。
步驟603:判斷FAT文件中所攜帶的待接收數(shù)據(jù)文件的更新序號與已經(jīng)存 在的索引輔助文件中的更新序號是否一致,如果是,則執(zhí)行步驟606;否則, 執(zhí)4亍步驟604。
步驟604:刪除已經(jīng)存在的臨時文件和索引輔助文件,并執(zhí)行步驟605。 如果更新序號不一致,那么則說明文件內(nèi)容發(fā)生了變化,所以需要重新進(jìn) 行數(shù)據(jù)文件的接收。
步驟605:為待接收數(shù)據(jù)文件建立臨時文件以及索引輔助文件。 需要說明的是,如果待接收數(shù)據(jù)文件為多個,那么則需要針對每個不同的 數(shù)據(jù)文件,分別為其建立臨時文件以及索引輔助文件;本實(shí)施例中為便于描述, 假設(shè)只有一個待接收數(shù)據(jù)文件;再有,臨時文件在磁盤中的存儲位置可根據(jù)FAT 文件中所攜帶的待接收數(shù)據(jù)文件的存儲路徑信息設(shè)置,具體實(shí)現(xiàn)為本領(lǐng)域公知, 不再贅述。
其中,臨時文件的命名方式為在待接收數(shù)據(jù)文件的文件名后加上后 綴.ltmp;索引輔助文件的命名方式為在待接收數(shù)據(jù)文件的文件名后加上后 綴.lfbi。另外,所建立的索引輔助文件的格式如圖5所示,并可通過將其中的 "塊/片標(biāo)志"字段設(shè)置為0或1,來表示后續(xù)是需要按塊方式進(jìn)行索引還是按 片方式進(jìn)行索引,假設(shè)本實(shí)施例中需要按片方式進(jìn)行索引,那么圖5中所示的 "塊/片總數(shù)"字段和"塊/片*接收標(biāo)志"字段將為"片總數(shù)"字段和"片*接收 標(biāo)志"字段。
步驟606:接收待接收數(shù)據(jù)文件的文件片。 如何接收文件片為現(xiàn)有技術(shù),不再贅述。
步驟607:判斷接收到的文件片是否已經(jīng)寫入到臨時文件中,如果是,則 執(zhí)行步驟608;否則,執(zhí)行步驟609。
基于之前的介紹可知,可通過將索引輔助文件中的"片*接收標(biāo)志"字段設(shè) 置為0或1 (假設(shè)本實(shí)施例中用l表示),來表示其對應(yīng)的文件片是否已經(jīng)被寫入到臨時文件中,所以本步驟中,可通過查詢索引輔助文件中與接收到的文件 片相對應(yīng)的"片*接收標(biāo)志"字段的設(shè)置情況,來確定接收到的文件片是否已經(jīng) 被寫入到臨時文件中。
需要說明的是,從圖5可以看出,"片*接收標(biāo)志"字段的編號為從0到N-1 的連續(xù)編號,4旦從圖3可以看出,屬于不同文件塊的文件片之間的編號并不連 續(xù),如圖3所示,其中的文件塊O和文件塊n-l中均按照0~n-l的順序?yàn)樽约?所包括的文件片進(jìn)行編號。所以本步驟中,在查詢索引輔助文件之前,需要首 先計(jì)算一下接收到的文件片在待接收數(shù)據(jù)文件所對應(yīng)的所有文件片中的總體編 號,具體計(jì)算方式舉例說明如下假設(shè)接收到的文件片屬于文件塊3,該文件 片的編號為4,又假設(shè)文件塊0、文件塊1和文件塊2中均包括10個文件片, 那么則可計(jì)算出接收到的文件片的總體編號為3 x 10 + 2 = 32。
步驟608:丟棄接收到的文件片,并執(zhí)行步驟610。
步驟609:將接收到的文件片寫入到臨時文件中,并在索引輔助文件中進(jìn) 行記錄,然后執(zhí)行步驟610。
即將接收到的文件片寫入到臨時文件中,并將索引輔助文件中與該接收到 的文件片相對應(yīng)的"片*接收標(biāo)志"字段設(shè)置為l。
步驟610:判斷是否已經(jīng)接收完待接收數(shù)據(jù)文件的所有文件塊,如果是, 則執(zhí)行步驟611;否則,執(zhí)行步驟606。
步驟611:刪除臨時文件的文件名中的后綴,即.ltmp,并刪除索引輔助文 件,結(jié)束流程。
圖7為本發(fā)明方法第二實(shí)施例的流程圖。如圖7所示,包括以下步驟
步驟701:完整接收FAT文件。
如何完整接收到FAT文件為現(xiàn)有技術(shù),不再贅述。
步驟702:判斷是否已經(jīng)存在與待接收數(shù)據(jù)文件相對應(yīng)的臨時文件以及索 引輔助文件,如果是,則執(zhí)行步驟703;否則,執(zhí)行步驟705。
步驟703:判斷FAT文件中所攜帶的待接收數(shù)據(jù)文件的更新序號與已經(jīng)存 在的索引輔助文件中的更新序號是否一致,如果是,則執(zhí)行步驟706;否則,執(zhí)行步驟704。
步驟704:刪除已經(jīng)存在的臨時文件和索引輔助文件,并執(zhí)行步驟705。 如果更新序號不一致,那么則說明文件內(nèi)容發(fā)生了變化,所以需要重新進(jìn) 行數(shù)據(jù)文件的接收。
步驟705:為待接收數(shù)據(jù)文件建立臨時文件以及索引輔助文件。 所建立的索引輔助文件的格式可如圖5所示,并可通過將其中的"塊/片標(biāo) 志"字段設(shè)置為0或1,來表示后續(xù)是需要按塊方式進(jìn)行索引還是按片方式進(jìn) 行索引,假設(shè)本實(shí)施例中需要按塊方式進(jìn)行索引,那么圖5中所示的"塊/片總 數(shù)"字段和"塊/片*接收標(biāo)志"字段將為"塊總數(shù)"字段和"塊*接收標(biāo)志"字 段。
步驟706:接收待接收數(shù)據(jù)文件的文件片。
步驟707:判斷接收到的文件片所屬的文件塊是否已經(jīng)寫入到臨時文件中, 如果是,則執(zhí)行步驟708;否則,執(zhí)行步驟709。
基于之前的介紹可知,可通過將索引輔助文件中的"塊*接收標(biāo)志"字段設(shè) 置為0或1 (假設(shè)本實(shí)施例中設(shè)置為1),來表示對應(yīng)的文件塊是否已經(jīng)寫入到 臨時文件中,所以本步驟中,可通過查詢索引輔助文件中的"塊*接收標(biāo)志"字 段的設(shè)置情況,來判斷接收到的文件片所屬的文件塊是否已經(jīng)寫入到臨時文件 中。
步驟708:丟棄接收到的文件片,然后執(zhí)行步驟706。 步驟709:緩存接收到的文件片,并執(zhí)行步驟710。
步驟710:判斷緩存中的文件片是否足夠組成一個文件塊,如果是,則執(zhí) 行步驟711;否則,執(zhí)行步驟706。
由于FAT文件中攜帶有關(guān)于待接收數(shù)據(jù)文件中所包括的文件塊個數(shù),每個 文件塊中的文件片數(shù)等詳細(xì)信息,而且,每個接收到的文件片中均攜帶有"塊 序號"和"片序號,,(如圖4所示)等信息,所以本步驟中,可以很容易地判斷 出緩存中的文件片是否足夠組成一個文件塊。
步驟711:將所組成的文件塊寫入到臨時文件中,并在索引輔助文件中進(jìn)行記錄。
即將所組成的文件塊寫入到臨時文件中,并將索引輔助文件中與所組成的 文件塊相對應(yīng)的"塊*接收標(biāo)志"字段設(shè)置為1。
步驟712:判斷是否已經(jīng)接收完待接收數(shù)據(jù)文件的所有文件塊,如果是, 則4丸行步驟713;否則,執(zhí)行步驟706。
步驟713:刪除臨時文件的文件名中的后綴,即.ltmp,并刪除索引輔助文 件,結(jié)束流程。
基于上述方法,圖8為本發(fā)明裝置第一實(shí)施例的組成結(jié)構(gòu)示意圖。如圖8 所示,包括
第一建立單元81,用于完整接收FAT文件,根據(jù)FAT文件為待接收數(shù)據(jù) 文件建立臨時文件以及索引輔助文件;索引輔助文件用于標(biāo)識待接收數(shù)據(jù)文件 中的不同文件片是否已經(jīng)寫入到臨時文件中;
第 一接收單元82,用于接收待接收數(shù)據(jù)文件的文件片;
第一判斷單元83,用于根據(jù)索引輔助文件,判斷接收到的文件片是否已經(jīng) 寫入到臨時文件中,如果是,則丟棄接收到的文件片,并通知第二判斷單元84 執(zhí)行自身功能;否則,將接收到的文件片寫入到臨時文件中,并在索引輔助文 件中進(jìn)行記錄,然后通知第二判斷單元84執(zhí)行自身功能;
第二判斷單元84,用于判斷是否已經(jīng)接收完待接收數(shù)據(jù)文件的所有文件 塊,如果是,結(jié)束處理;否則,通知第一接收單元82執(zhí)行自身功能。
其中,臨時文件的命名方式為在待接收數(shù)據(jù)文件的文件名后加上后 綴.ltmp;索引輔助文件的命名方式為在待接收數(shù)據(jù)文件的文件名后加上后 綴.lfbi。臨時文件和索引輔助文件位于同級目錄下。
索引輔助文件中包括用于標(biāo)識待接收數(shù)據(jù)文件的資源標(biāo)識字段、用于標(biāo) 識待接收數(shù)據(jù)文件版本號的更新序號字段、用于標(biāo)識待接收數(shù)據(jù)文件中的文件 片總數(shù)的片總數(shù)字段,以及用于標(biāo)識不同文件片是否已經(jīng)寫入到臨時文件中的 N個片接收標(biāo)志字段;N的取值與文件片總數(shù)相同。
另外,第一建立單元81還可進(jìn)一步用于,在完整接收FAT文件之后,判斷是否已經(jīng)存在與待接收數(shù)據(jù)文件相對應(yīng)的臨時文件以及索引輔助文件,如果
不存在,則根據(jù)FAT文件為待接收數(shù)據(jù)文件建立臨時文件以及索引輔助文件; 如果存在,則進(jìn)一步判斷已存在的索引輔助文件中的更新序號與FAT文件中攜 帶的待接收數(shù)據(jù)文件的更新序號是否一致,如果否,則刪除已存在的臨時文件 以及索引輔助文件,并根據(jù)FAT文件為待接收數(shù)據(jù)文件建立臨時文件以及索引 輔助文件,如果是,則直接通知第一接收單元82執(zhí)行自身功能。
第二判斷單元84還可進(jìn)一步用于,在判斷出已經(jīng)接收完待接收數(shù)據(jù)文件的 所有文件塊之后,刪除臨時文件的文件名中的后綴.ltmp,并刪除索引輔助文件。
圖9為本發(fā)明裝置第二實(shí)施例的組成結(jié)構(gòu)示意圖。如圖9所示,包括
第二建立單元91,用于完整接收FAT文件,根據(jù)FAT文件為待接收數(shù)據(jù) 文件建立臨時文件以及索引輔助文件,索引輔助文件用于標(biāo)識待接收數(shù)據(jù)文件 中不同的文件塊是否已經(jīng)寫入到臨時文件中;
第二接收單元92 ,用于接收待接收數(shù)據(jù)文件的文件片;
第三判斷單元93,根據(jù)索引輔助文件,判斷接收到的文件片所屬的文件塊 是否已經(jīng)寫入到臨時文件中,如果否,則緩存接收到的文件片,并通知第四判 斷單元94執(zhí)行自身功能,如果是,則丟棄接收到的文件片,并通知第二接收單 元92執(zhí)行自身功能;
第四判斷單元94,用于判斷緩存的文件片是否足夠組成一個文件塊,如果 足夠,則將所組成的文件塊寫入到臨時文件中,并在索引輔助文件中進(jìn)行記錄, 然后通知第五判斷單元95執(zhí)行自身功能;否則,通知第二接收單元92執(zhí)行自 身功能;
第五判斷單元95,用于判斷是否已經(jīng)接收完待接收數(shù)據(jù)文件的所有文件 塊,如果是,結(jié)束處理;否則,通知第二接收單元92執(zhí)行自身功能。
其中,臨時文件的命名方式為在待接收數(shù)據(jù)文件的文件名后加上后 綴.ltmp;索引輔助文件的命名方式為在待接收數(shù)據(jù)文件的文件名后加上后 綴.lfbi。臨時文件和索引輔助文件位于同級目錄下。
索引輔助文件中包括用于標(biāo)識待接收數(shù)據(jù)文件的資源標(biāo)識字段、用于標(biāo)識待接收數(shù)據(jù)文件版本號的更新序號字段、用于標(biāo)識待接收數(shù)據(jù)文件中的文件 塊總數(shù)的塊總數(shù)字段,以及用于標(biāo)識不同文件塊是否已經(jīng)寫入到臨時文件中的
N個塊接收標(biāo)志字段;N的取值與文件塊總數(shù)相同。
另外,第二建立單元91可進(jìn)一步用于,在完整接收FAT文件之后,判斷 是否已經(jīng)存在與待接收數(shù)據(jù)文件相對應(yīng)的臨時文件以及索引輔助文件,如果不 存在,則根據(jù)FAT文件為待接收數(shù)據(jù)文件建立臨時文件以及索引輔助文件;如
的待接收數(shù)據(jù)文件的更新序號是否一致,如果否,則刪除已存在的臨時文件以 及索引輔助文件,并根據(jù)FAT文件為待接收數(shù)據(jù)文件建立臨時文件以及索引輔 助文件,如果是,則直接通知第二接收單元92執(zhí)行自身功能。
第五判斷單元95可進(jìn)一步用于,在判斷出已經(jīng)接收完待接收數(shù)據(jù)文件的所 有文件塊之后,刪除臨時文件的文件名中的后綴.ltmp,并刪除索引輔助文件。
圖8和9所示裝置實(shí)施例的具體工作流程請分別參照圖6和7所示方法實(shí) 施例中的相應(yīng)說明,此處不再贅述。
總之,采用本發(fā)明的技術(shù)方案,將接收到的文件塊/文件片直接寫入到臨時 文件中,而無需長時間地占用為待接收數(shù)據(jù)文件分配的內(nèi)存空間,從而節(jié)省了 內(nèi)存資源。而且,采用本發(fā)明的技術(shù)方案,即使在數(shù)據(jù)文件接收過程中終端突 然發(fā)生故障,比如突然關(guān)才幾,當(dāng)重新開機(jī)后,之前接收到的數(shù)據(jù)文件仍可保留, 即本發(fā)明所述方案能夠支持?jǐn)帱c(diǎn)傳輸。
綜上所述,以上僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的 保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改 進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種移動多媒體廣播系統(tǒng)中的數(shù)據(jù)文件接收方法,其特征在于,該方法包括A、完整接收文件屬性表FAT文件,根據(jù)所述FAT文件為待接收數(shù)據(jù)文件建立臨時文件以及索引輔助文件;所述索引輔助文件用于標(biāo)識所述待接收數(shù)據(jù)文件中的不同文件片是否已經(jīng)寫入到所述臨時文件中;B、接收所述待接收數(shù)據(jù)文件的文件片;C、根據(jù)所述索引輔助文件,判斷接收到的文件片是否已經(jīng)寫入到所述臨時文件中,如果是,則丟棄所述接收到的文件片,并執(zhí)行步驟D;否則,將所述接收到的文件片寫入到所述臨時文件中,并在所述索引輔助文件中進(jìn)行記錄,然后執(zhí)行步驟D;D、判斷是否已經(jīng)接收完所述待接收數(shù)據(jù)文件的所有文件塊,如果是,結(jié)束流程;否則,執(zhí)行步驟B。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述臨時文件的命名方式為 在所述待接收數(shù)據(jù)文件的文件名后加上后綴.ltmp;所述索;1輔助文件的命名方 式為在所述待接收數(shù)據(jù)文件的文件名后加上后綴.lfbi;所述待接收數(shù)據(jù)文件 的文件名為包括擴(kuò)展名的文件名。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述臨時文件和所述索引輔 助文件位于同級目錄下。
4、 根據(jù)權(quán)利要求1~3中任一項(xiàng)所述的方法,其特征在于,所述索引輔助文件中包括用于標(biāo)識待接收數(shù)據(jù)文件的資源標(biāo)識字段、用 于標(biāo)識待接收數(shù)據(jù)文件版本號的更新序號字段、用于標(biāo)識待接收數(shù)據(jù)文件中的 文件片總數(shù)的片總數(shù)字段,以及用于標(biāo)識不同文件片是否已經(jīng)寫入到所述臨時 文件中的N個片接收標(biāo)志字段;所述N的取值與文件片總數(shù)相同。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述完整接收FAT文件之 后,進(jìn)一步包括判斷是否已經(jīng)存在與所述待接收數(shù)據(jù)文件相對應(yīng)的臨時文件以及索引輔助文件,如果不存在,則根據(jù)所述FAT文件為待接收數(shù)據(jù)文件建立臨時文件以及 索引輔助文件;如果存在,則進(jìn)一步判斷所述已存在的索引輔助文件中的更新序號與所述 FAT文件中攜帶的待接收數(shù)據(jù)文件的更新序號是否一致,如果否,則刪除所述 已存在的臨時文件以及索引輔助文件,并根據(jù)所述FAT文件為待接收數(shù)據(jù)文件 建立臨時文件以及索引輔助文件,如果是,則扭J亍步驟B。
6、 根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述步驟D中判斷出 已經(jīng)接收完所述待接收數(shù)據(jù)文件的所有文件塊之后,進(jìn)一步包括刪除所述臨時文件的文件名中的后綴.ltmp,并刪除所述索引輔助文件。
7、 一種移動多媒體廣播系統(tǒng)中的數(shù)據(jù)文件接收方法,其特征在于,該方法 包括A、 完整接收文件屬性表FAT文件,根據(jù)所述FAT文件為待接收數(shù)據(jù)文件 建立臨時文件以及索引輔助文件,所述索引輔助文件用于標(biāo)識所述待接收數(shù)據(jù) 文件中不同的文件塊是否已經(jīng)寫入到所述臨時文件;B、 接收待接收數(shù)據(jù)文件的文件片,根據(jù)所述索引輔助文件判斷接收到的 文件片所屬的文件塊是否已經(jīng)寫入到所述臨時文件中,如果否,則緩存所述接 收到的文件片,然后執(zhí)行步驟C,如果是,則丟棄所述接收到的文件片,并繼 續(xù)執(zhí)行步驟B;C、 判斷緩存中的文件片是否足夠組成一個文件塊,如果是,則將所組成 的文件塊寫入到所述臨時文件中,并在所述索引輔助文件中進(jìn)行記錄,然后執(zhí) 行步驟D,否則,執(zhí)行步驟B;D、 判斷是否已經(jīng)接收完所述待接收數(shù)據(jù)文件的所有文件塊,如果是,結(jié) 束流程;否則,執(zhí)行步驟B。
8、 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述臨時文件的命名方式為 在所述待接收數(shù)據(jù)文件的文件名后加上后綴.ltmp;所述索引輔助文件的命名方 式為在所述待接收數(shù)據(jù)文件的文件名后加上后綴.lfbi;所述待接收數(shù)據(jù)文件的文件名為包括擴(kuò)展名的文件名。
9、 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述臨時文件和所述索引輔助文件位于同級目錄下。
10、 根據(jù)權(quán)利要求7 9中任一項(xiàng)所述的方法,其特征在于, 所述索引輔助文件中包括用于標(biāo)識待接收數(shù)據(jù)文件的資源標(biāo)識字段、用于標(biāo)識待接收數(shù)據(jù)文件版本號的更新序號字段、用于標(biāo)識待接收數(shù)據(jù)文件中的 文件塊總數(shù)的塊總數(shù)字段,以及用于標(biāo)識不同文件塊是否已經(jīng)寫入到所述臨時 文件中的N個塊接收標(biāo)志字段;所述N的取值與文件塊總數(shù)相同。
11、 根據(jù)權(quán)利要求10所述的方法,其特征在于,所述完整接收FAT文件 之后,進(jìn)一步包括判斷是否已經(jīng)存在與所述待接收數(shù)據(jù)文件相對應(yīng)的臨時文件以及索引輔助 文件,如果不存在,則根據(jù)所述FAT文件為待接收數(shù)據(jù)文件建立臨時文件以及 索引輔助文件;如果存在,則進(jìn)一步判斷所述已存在的索?I輔助文件中的更新序號與所述 FAT文件中攜帶的待接收數(shù)據(jù)文件的更新序號是否一致,如果否,則刪除所述 已存在的臨時文件以及索引輔助文件,并根據(jù)所述FAT文件為待接收數(shù)據(jù)文件 建立臨時文件以及索引輔助文件,如果是,則執(zhí)行步驟B。
12、 根據(jù)權(quán)利要求8或9所述的方法,其特征在于,所述步驟D中判斷出 已經(jīng)接收完所述待接收數(shù)據(jù)文件的所有文件塊之后,進(jìn)一步包括刪除所述臨時文件的文件名中的后綴.ltmp,并刪除所述索引輔助文件。
13、 一種移動多媒體廣播系統(tǒng)中的數(shù)據(jù)文件接收裝置,其特征在于,該裝 置包括第一建立單元,用于完整接收文件屬性表FAT文件,根據(jù)所述FAT文件為 待接收數(shù)據(jù)文件建立臨時文件以及索引輔助文件;所述索引輔助文件用于標(biāo)識 所述待接收數(shù)據(jù)文件中的不同文件片是否已經(jīng)寫入到所述臨時文件中; 第一接收單元,用于接收所述待接收數(shù)據(jù)文件的文件片; 第一判斷單元,用于根據(jù)所述索引輔助文件,判斷接收到的文件片是否已經(jīng)寫入到所述臨時文件中,如果是,則丟棄所述接收到的文件片,并通知第二判斷單元執(zhí)行自身功能;否則,將所述接收到的文件片寫入到所述臨時文件中, 并在所述索引輔助文件中進(jìn)行記錄,然后通知所述第二判斷單元執(zhí)行自身功能; 所述第二判斷單元,用于判斷是否已經(jīng)接收完所述待接收數(shù)據(jù)文件的所有 文件塊,如果是,結(jié)束處理;否則,通知所述第一接收單元執(zhí)行自身功能。
14、 根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述臨時文件的命名方式 為在所述待接收數(shù)據(jù)文件的文件名后加上后綴.ltmp;所述索引輔助文件的命 名方式為在所述待接收數(shù)據(jù)文件的文件名后加上后綴.lfbi;所述待接收數(shù)據(jù) 文件的文件名為包括擴(kuò)展名的文件名。
15、 根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述臨時文件和所述索引 輔助文件位于同級目錄下。
16、 根據(jù)權(quán)利要求13-15中任一項(xiàng)所述的裝置,其特征在于,所述索引輔 助文件中包括用于標(biāo)識待接收數(shù)據(jù)文件的資源標(biāo)識字段、用于標(biāo)識待接收數(shù) 據(jù)文件版本號的更新序號字段、用于標(biāo)識待接收數(shù)據(jù)文件中的文件片總數(shù)的片 總數(shù)字段,以及用于標(biāo)識不同文件片是否已經(jīng)寫入到所述臨時文件中的N個片 接收標(biāo)志字段;所述N的取值與文件片總數(shù)相同。
17、 根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述第一建立單元進(jìn)一步 用于,在完整接收FAT文件之后,判斷是否已經(jīng)存在與所述待接收數(shù)據(jù)文件相 對應(yīng)的臨時文件以及索引輔助文件,如果不存在,則根據(jù)所述FAT文件為待接 收數(shù)據(jù)文件建立臨時文件以及索引輔助文件;如果存在,則進(jìn)一步判斷所述已 存在的索引輔助文件中的更新序號與所述FAT文件中攜帶的待接收數(shù)據(jù)文件的 更新序號是否一致,如果否,則刪除所述已存在的臨時文件以及索引輔助文件, 并根據(jù)所述FAT文件為待接收數(shù)據(jù)文件建立臨時文件以及索引輔助文件,如果 是,則直接通知所述第一接收單元執(zhí)行自身功能。
18、 對艮據(jù)權(quán)利要求14或15所述的裝置,其特征在于,所述第二判斷單元 進(jìn)一步用于,在判斷出已經(jīng)接收完所述待接收數(shù)據(jù)文件的所有文件塊之后,刪 除所述臨時文件的文件名中的后綴.ltmp,并刪除所述索引輔助文件。
19、 一種移動多媒體廣播系統(tǒng)中的數(shù)據(jù)文件接收裝置,其特征在于,該裝 置包括第二建立單元,用于完整接收文件屬性表FAT文件,根據(jù)所述FAT文件為 待接收數(shù)據(jù)文件建立臨時文件以及索引輔助文件,所述索引輔助文件用于標(biāo)識 所述待^接收數(shù)據(jù)文件中不同的文件塊是否已經(jīng)寫入到所述臨時文件中;第二接收單元,用于接收待接收數(shù)據(jù)文件的文件片;第三判斷單元,根據(jù)所述索引輔助文件,判斷接收到的文件片所屬的文件 塊是否已經(jīng)寫入到所述臨時文件中,如果否,則緩存所述接收到的文件片,并 通知第四判斷單元執(zhí)行自身功能,如果是,則丟棄所述接收到的文件片,并通知所述第二接收單元執(zhí)行自身功能;第四判斷單元,用于判斷緩存的文件片是否足夠組成一個文件塊,如果是, 則將所組成的文件塊寫入到所述臨時文件中,并在所述索引輔助文件中進(jìn)行記 錄,然后通知所述第五判斷單元執(zhí)行自身功能;否則,通知所述第二接收單元 執(zhí)行自身功能;所述第五判斷單元,用于判斷是否已經(jīng)接收完所述待接收數(shù)據(jù)文件的所有 文件塊,如果是,結(jié)束處理;否則,通知所述第二接收單元執(zhí)行自身功能。
20、 根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述臨時文件的命名方式 為在所述待接收數(shù)據(jù)文件的文件名后加上后綴.ltmp;所述索引輔助文件的命 名方式為在所述待接收數(shù)據(jù)文件的文件名后加上后綴.lfbi;所述待接收數(shù)據(jù) 文件的文件名為包括擴(kuò)展名的文件名。
21、 根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述臨時文件和所述索引 輔助文件位于同級目錄下。
22、 根據(jù)權(quán)利要求19 21中任一項(xiàng)所述的裝置,其特征在于,所述索引輔 助文件中包括用于標(biāo)識待接收數(shù)據(jù)文件的資源標(biāo)識字段、用于標(biāo)識待接收數(shù) 據(jù)文件版本號的更新序號字段、用于標(biāo)識待接收數(shù)據(jù)文件中的文件塊總數(shù)的塊 總數(shù)字段,以及用于標(biāo)識不同文件塊是否已經(jīng)寫入到所述臨時文件中的N個塊 接收標(biāo)志字段;所述N的取值與文件塊總數(shù)相同。
23、 根據(jù)權(quán)利要求22所述的裝置,其特征在于,所述第二建立單元進(jìn)一步 用于,在完整接收FAT文件之后,判斷是否已經(jīng)存在與所述待接收數(shù)據(jù)文件相 對應(yīng)的臨時文件以及索引輔助文件,如果不存在,則根據(jù)所述FAT文件為待接 收數(shù)據(jù)文件建立臨時文件以及索引輔助文件;如果存在,則進(jìn)一步判斷所述已更新序號是否一致,如果否,則刪除所述已存在的臨時文件以及索引輔助文件, 并根據(jù)所述FAT文件為待接收數(shù)據(jù)文件建立臨時文件以及索引輔助文件,如果 是,則直接通知所述第二接收單元執(zhí)行自身功能。
24、 根據(jù)權(quán)利要求20或21所述的裝置,其特征在于,所述第五判斷單元 進(jìn)一步用于,在判斷出已經(jīng)接收完所述待接收數(shù)據(jù)文件的所有文件塊之后,刪 除所述臨時文件的文件名中的后綴.ltmp,并刪除所述索引輔助文件。
全文摘要
本發(fā)明公開了移動多媒體廣播系統(tǒng)中的數(shù)據(jù)文件接收方法和裝置,在接收到完整的文件屬性表(FAT)文件后,根據(jù)該FAT文件中所描述的文件屬性信息,為待接收的數(shù)據(jù)文件建立臨時文件以及索引輔助文件,所述索引輔助文件用于標(biāo)識待接收數(shù)據(jù)文件中的不同文件塊或文件片是否已經(jīng)寫入到臨時文件中;根據(jù)該索引輔助文件,將接收到的文件塊或文件片以非重復(fù)的方式寫入到所述臨時文件中。應(yīng)用本發(fā)明所述的方法和裝置,能夠節(jié)省內(nèi)存資源。
文檔編號H04L29/06GK101552646SQ200910076279
公開日2009年10月7日 申請日期2009年1月8日 優(yōu)先權(quán)日2009年1月8日
發(fā)明者輝 張, 剛 李, 王西強(qiáng) 申請人:北京創(chuàng)毅視訊科技有限公司