欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種oc數(shù)據(jù)的更新方法

文檔序號:6607676閱讀:231來源:國知局
專利名稱:一種oc數(shù)據(jù)的更新方法
一種OC數(shù)據(jù)的更新方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)字電視領(lǐng)域,尤其涉及一種0C(0bject Carousel,對象輪播)數(shù)據(jù) 的更新方法。
背景技術(shù)
OC(Object Carousel,對象輪播)是數(shù)字電視系統(tǒng)中基于DSM-CC(Digital Storage Media-Command & Control)協(xié)議的,需要對DSM-CC U-U(User to User)對象(目 錄、文件、流、流事件)進(jìn)行周期性廣播的數(shù)據(jù)廣播業(yè)務(wù)。OC主要支持DVB-J(Digital Video Broadcasting-Java) > DVB-H(Digital Video Broadcasting-HTML)應(yīng)用?;緫?yīng)用有陽 光政務(wù),天氣預(yù)報(bào),出行旅游,股票,游戲等。前端廣播的數(shù)據(jù)可能定期有更新,而終端要能快速檢測到更新,并能及時的下載 到更新后的數(shù)據(jù)供用戶使用。OC應(yīng)用是由一個個的文件組成的,這些文件按照它們之間的關(guān)聯(lián)關(guān)系組成目錄樹 的結(jié)構(gòu)。根目錄(Root DIR)中可以包含多個文件(filel,file2, ···)和子目錄(DIR1, DIR2,···)’每一個子目錄也可以包含多個文件和下一級子目錄(如子目錄DIRl中可以包 含filell,filel2,...,DIR11,DIR12,...),一級一級如此循環(huán)下去。這樣最終可以組成 一個樹形結(jié)構(gòu),即目錄樹。在OC中使用消息來封裝數(shù)據(jù)與控制信息。數(shù)據(jù)由DDB^ownloadDataBlock,下載 數(shù)據(jù)塊消息)攜帶,控制信息則由DSI (DownloadServerInitiate,下載服務(wù)器起始消息)、 DlKDownloadlnfoIndication,下載信息指示消息)等攜帶。在OC中,所有數(shù)據(jù)可以分成 一個或多個組,一個組中可包含一個或多個模塊,每個模塊又由多個DDB組成。每個組由一 個DII消息來指示,DII消息描述了一個組中包含的所有模塊的傳輸參數(shù),如模塊版本、模 塊大小、塊大小、時序和廣播通道等。每個DII消息可以用其TransactionId字段來標(biāo)識。TransactionId不僅包含 DII的標(biāo)識部分,還包含DII的版本部分。如果新接收到的DII的標(biāo)識部分與原來的DII 一樣,但是版本號是不同的,則認(rèn)為兩個DII是同一個DII,只是版本號發(fā)生了變化;如果新 接收到的DII的標(biāo)識部分與當(dāng)前存儲的DII都不同,則認(rèn)為新增加了 DII。同時DII里面 還有其描述模塊的標(biāo)識和版本。當(dāng)前DII所在的組中的任何數(shù)據(jù)更新都會使得當(dāng)前DII的 TransactionId字段的版本部分發(fā)生變化,并且DII中描述的對應(yīng)模塊的版本也會產(chǎn)生變 化。如果模塊包含的文件或者目錄有增加或者刪除,則文件或者目錄所在的目錄樹結(jié)構(gòu)一 定發(fā)生了變化。目前,并沒有對OC數(shù)據(jù)進(jìn)行的更新方法的相關(guān)專利或技術(shù)文檔。
發(fā)明內(nèi)容本發(fā)明提供一種OC數(shù)據(jù)的更新方法,使終端能夠快速的檢測到前端服務(wù)器的更 新信息,同時只需要更新所需要更新的數(shù)據(jù),從而提高了終端的更新數(shù)據(jù)的效率。
3
本發(fā)明采用以下技術(shù)方案解決上述技術(shù)問題一種OC數(shù)據(jù)的更新方法,其特征包括以下步驟a.啟動終端的定時器,定時接收DII ;b.將所述接收到的所有DII與所述終端存儲的原有DII進(jìn)行比較;c.若增加了新的DII,則存儲所述新的DII,并把所述新的DII描述的所有模塊下 載到終端;d.若缺少了 DII,則在所述終端刪除所述缺少的DII,并刪除所述缺少的DII描述 的模塊及所述模塊對應(yīng)的文件和目錄;f.若DII的版本發(fā)生了變化,則對所述終端所述版本變化的DII的版本號進(jìn)行更 新并對所述版本變化的DII描述的模塊進(jìn)行處理。如權(quán)利要求1所述的OC數(shù)據(jù)的更新方法,其特征在于所述f步驟還包括fl.將所述版本變化的DII中的模塊與所述原有的DII描述的模塊進(jìn)行比較;f2.若增加了新的模塊,則在輪播中添加所述新的模塊,并向前端服務(wù)器發(fā)送請 求,將所述新的模塊對應(yīng)的DDB下載到所述終端;f3.若缺少了模塊,則在輪播中刪除所述缺少的模塊,并遞歸刪除目錄樹中屬于所 述缺少的模塊的所有文件和目錄;f4.若模塊的版本發(fā)生變化,則對與所述版本變化的模塊對應(yīng)的在所述存儲器中 的模塊的版本號進(jìn)行更新,將所述版本號更新的模板的狀態(tài)設(shè)置為版本變化;若所述版本 號更新的模板包含目錄對象,則下載所述版本號更新的模板對應(yīng)的DDB;再下載終端最近 顯示的頁面所用到的文件所在的模塊。本發(fā)明采用以下技術(shù)方案進(jìn)一步解決上述技術(shù)問題這種OC數(shù)據(jù)的更新方法,其特征在于所述步驟f4還包括在步驟下載所述版 本號更新的模板對應(yīng)的DDB后,判斷所述版本號更新的模塊的標(biāo)識是否為變化;若是則查 看所述版本號更新的模塊是否包含目錄對象如果所述版本號更新的模塊存在所述目錄對 象,則遞歸刪除所述版本號更新的模塊中的目錄樹中有但所述版本變化的模塊的目錄樹中 沒有的文件和目錄;將所述版本號更新的模塊的狀態(tài)設(shè)置為沒有變化。這種OC數(shù)據(jù)的更新方法,其特征在于遞歸刪除目錄樹中屬于模塊的文件或目錄 包括以下步驟gl.判斷當(dāng)前目錄下是否存在文件或者目錄,若不存在,如果所述當(dāng)前目錄屬于所 述模塊則刪除所述當(dāng)前目錄,如果所述當(dāng)前目錄不屬于所述模塊則不刪除所述當(dāng)前目錄, 若存在則執(zhí)行步驟g2 ;g2.獲取所述當(dāng)前目錄下屬于所述模塊的孩子對象,若所述孩子對象為文件,則執(zhí) 行如下操作若所述文件正在被終端使用,將所述文件狀態(tài)設(shè)置為等待刪除,斷開所述文件 在所述目錄樹中的連接,將所述文件加入待刪除鏈表,若所述文件沒有被所述終端使用,則 直接刪除所述文件;若所述孩子對象是目錄則重復(fù)從gl開始執(zhí)行;g3.重復(fù)gl和g2步驟直至所述目錄樹中屬于所述模塊的文件和目錄被刪除為止。本發(fā)明的有益效果是使終端能夠更快的檢測到前端服務(wù)器的更新信息,并對只 需要更新的數(shù)據(jù)進(jìn)行下載,提高了更新數(shù)據(jù)的效率,使終端頁面更新所需的時間更短。

圖1為OC數(shù)據(jù)更新的檢測的流程圖;圖2為DII版本變化情況的處理流程圖;圖3為解析完某個模塊后的處理流程圖;圖4為遞歸刪除目錄樹中的文件和目錄流程圖。
具體實(shí)施方式以下結(jié)合具體實(shí)施例進(jìn)一步說明。前端服務(wù)器所存儲的OC應(yīng)用放在根目錄Root DIR下面,其中根目錄Root DIR中 包含有兩個文件filel,file2,和子目錄DIRl ;其中子目錄DIRl中包含兩個文件filell, filel2,和一個子目錄DIR11。這樣便形成了一個目錄樹。前端服務(wù)器對上述應(yīng)用進(jìn)行打包 時,將filel打包成模塊Module_filel,其版本號為1 ;將file2打包成模塊Module_file2, 其版本號為1 ;將DIRl目錄下的兩個文件filel和file2打包成模塊Module_DIRl,其版本 號為1 ;將目錄樹信息打包成模塊M0dUle_R00t,其版本號為1。DIIl用以描述模塊Module_ filel ;DII2 用以描述模塊 Module_file2、模塊 Module_DIRl、模塊 Module_Root,其 DII 版 本號為1?,F(xiàn)在由于應(yīng)用要進(jìn)行更新,服務(wù)器在根目錄Root DIR下面所存儲的文件發(fā)生了變 化根目錄下刪除了 filel,增加了 file3 ;對file2進(jìn)行了一些內(nèi)容的修改;同時刪除了目 錄DIRl,增加了另一個子目錄DIR2。服務(wù)器重新對應(yīng)用的所有文件進(jìn)行打包,將fi le2打 包成模塊Module_file2,其版本號為2 ;將file3打包成模塊Module_f ile3 ;將DIR2打包 成模塊Module_DIR2 ;將目錄樹信息打包成模塊Module_R00t,其版本號為2。DII3用以描 述模塊 Module_file3 ;DII2 用以描述模塊 Module_file2、模塊 Module_DIR2、模塊 Module_ Root,其DII版本號為2。終端已經(jīng)存儲了該應(yīng)用的部分或全部文件,包括原來的模塊信息、DII信息等?,F(xiàn) 在服務(wù)器更新了應(yīng)用的數(shù)據(jù),并開始向終端發(fā)送更新后的數(shù)據(jù)。終端在一開始進(jìn)入OC時就 已經(jīng)啟動定時器,接收DII。如圖1所示,終端接收到DII2、DII3后,與原來存儲在終端存儲器里的DII1、DII2 進(jìn)行比較,通過DII中的transactionld字段標(biāo)識判斷出所收到的DII中,少了 DII1,并 將存儲器里DIIl描述的模塊ModUle_filel刪除;增加了 DII3,并將加載其對應(yīng)的模塊 Module_file3 ;對于新收到的DII2,判斷出ransactionld字段中版本部分發(fā)生了變化。接下來的步驟如圖2所示,具體如下(下面幾段文字很多標(biāo)點(diǎn)的都是半角的,請 改成全角的。)步驟Si,把原來終端存儲器里的DII2的版本號改為2,然后將原來終端存儲器里 的DII2描述的模塊與剛接收到的DII2描述的模塊一一比較(即是遍歷);步驟S2-S4 步驟S2,發(fā)現(xiàn)新收到的DII2描述的模塊中,多了模塊Module_DIR2 ; 步驟S3,在輪播中添加此模塊;步驟S4,發(fā)送請求,加載此模塊對應(yīng)的DDB ;步驟S5-S7 步驟S5,發(fā)現(xiàn)少了模塊Module_DIRl,步驟S6,在輪播中刪除此模塊, 步驟S7,遞歸刪除此模塊下的所有文件和目錄;步驟S8-S12 步驟S8,發(fā)現(xiàn)模塊Module_file2和模塊Module_Root的版本都發(fā)生了變化;步驟S9,對終端存儲器內(nèi)兩個模塊Module_f ile2和Module_R00t的版本號分別 更新為2,同時將這兩個模塊的版本狀態(tài)改為變化;步驟S10,判斷終端存儲的模塊Module_ Root和Module_f ile2中有無目錄對象;步驟S11,因?yàn)镸odule_Root有目錄對象,則加載模 塊Module_Root對應(yīng)的DDB,由于模塊Module_file2沒有目錄對象,則不加載對應(yīng)DDB ;步 驟S12,由于終端最近顯示的頁面使用過文件file2,所以加載file2所在的模塊Module_ file20接下來的步驟如圖3所示,具體如下步驟S13,判斷模塊的更新標(biāo)識是否為變化,(在此只對ModUle_file2的接收進(jìn)行 分析,終端對其它模塊的處理方法與此相同)在接收模塊ModUle_file2時,由于終端已將 此模塊的狀態(tài)設(shè)置為改變;步驟S14,終端將進(jìn)一步判斷此模塊有無目錄信息,由于模塊ModUle_file2沒有 目錄信息,終端執(zhí)行步驟S16,重新把此模塊的狀態(tài)設(shè)置為未改變。假如模塊ModUle_f ile2含有目錄信息,則執(zhí)行步驟S15,終端要將終端目錄樹中 有但模塊ModUle_file2里沒有的文件和目錄遞歸刪除后,再執(zhí)行步驟S16,將模塊Module_ file2的狀態(tài)設(shè)置為未改變。這樣是為了防止更新后的應(yīng)用,目錄樹出現(xiàn)變化的情況。在對屬于模塊ModUle_DIRl的目錄DIRl下的文件進(jìn)行遞歸刪除的時候,按照以下 步驟進(jìn)行g(shù)l.判斷當(dāng)前目錄DIRl下是否存在文件或者目錄,由于存在則執(zhí)行步驟g2 ;g2.獲取所述當(dāng)前目錄DIRl下的孩子對象,由于孩子對象filell和filel2是 文件且filell正在被終端使用,而filel2則沒有被終端使用,則對其進(jìn)行執(zhí)行如下操作 將文件filell的狀態(tài)設(shè)置為等待刪除,斷開其在此目錄樹中的連接,并將其加入待刪除鏈 表,在關(guān)閉所述當(dāng)前文件時對其進(jìn)行刪除,對文件filel2則直接刪除文件;由于孩子對象 DIRll是目錄,則重復(fù)從gl開始執(zhí)行,此時當(dāng)前目錄變?yōu)镈IRll ;g3.重復(fù)gl和g2步驟直至目錄DIRl被刪除為止。假設(shè)目錄DIRll下只有一個文件filelll且沒有被終端所使用,則在將filelll 刪除后又返回gl步驟,此時目錄DIRll下已經(jīng)沒有文件或者目錄,DIRll被刪除。此時由 于目錄DIRl還沒有被刪,則要繼續(xù)執(zhí)行g(shù)l,由于目錄DIR下已經(jīng)沒有文件或目錄,將目錄 DIRl刪掉。至此,目錄DIRl被完整的刪除。如圖4所示,上述刪除模塊Module_DIRl的目錄DIRl下的文件的具體步驟如下步驟S17,判斷當(dāng)前目錄DIRl下是否存在文件或者目錄;步驟S18,由于當(dāng)前目錄DIRl存在文件和目錄,則獲取其第一個孩子對象 filell (此處第一個孩子對象也可以是filel2或者DIR11);步驟S19,判斷對象filell是文件還是目錄;步驟S20,由于filell,判斷filell是否包含在Module_DIRl下;步驟S21,由于filell包含在Module_DIRl下,判斷filell是否正在被終端使用;步驟S23,由于filell是正在被終端使用,將文件filell的狀態(tài)設(shè)置為等待刪除, 斷開其在此目錄樹中的連接,并將其加入待刪除鏈表,在關(guān)閉所述當(dāng)前文件時對其進(jìn)行刪 除;
步驟S24,判斷filell有無兄弟對象;步驟S27,由于filell有兄弟對象filel2和DIR11,獲取其兄弟對象filel2(也 可以是DIR11);此時,步驟回到S19,由于filel2是文件且沒有正在被終端使用,則執(zhí)行步驟S22, 將filel2刪除;步驟回到S24 ;由于filel2有兄弟對象DIR11,步驟回到S19 ;由于DIRll是目錄,執(zhí)行步驟S26 ;假設(shè)目錄DIRll下只有一個文件filelll且沒有被終端所使用,則步驟回到S17, 則順序執(zhí)行步驟 S18、S19、S20、S21、S22、S24 ;步驟S25,由于filelll沒有其他兄弟對象,則判斷目錄DIRll是否包含在所要刪 除的模塊Module_DIRl中;步驟S28,由于目錄DIRll包含在所要刪除的模塊Module_DIRl中,將目錄DIRll 刪除;此時回到步驟S24,由于目錄DIRll沒有其他兄弟對象(filell和filel2此時已 經(jīng)被刪),執(zhí)行步驟S25,判斷目錄DIRl是否包含在所要刪除的模塊Module_DIRl中;步驟S28,由于目錄DIRl包含在所要刪除的模塊Module_DIRl中,刪除目錄DIRl。 至此包含在模塊Module_DIRl中的文件和目錄已經(jīng)完全被刪除了。假設(shè)目錄DIRl下面沒有任何文件或者目錄,則執(zhí)行由步驟S17執(zhí)行到步驟S29,由 于目錄DIRl包含在所要刪除的模塊Module_DIRl中,執(zhí)行步驟S30,將目錄DIRl刪除。以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定 本發(fā)明的具體實(shí)施只局限于這些說明。對于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在 不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的 保護(hù)范圍。
權(quán)利要求
一種OC數(shù)據(jù)的更新方法,其特征包括以下步驟a.啟動終端的定時器,定時接收DII;b.將所述接收到的所有DII與所述終端存儲的原有DII進(jìn)行比較;c.若增加了新的DII,則存儲所述新的DII,并把所述新的DII描述的所有模塊下載到終端;d.若缺少了DII,則在終端刪除所述缺少的DII,并遞歸刪除目錄樹中所有屬于所述缺少的DII描述的模塊對應(yīng)的文件和目錄;f.若DII的版本發(fā)生了變化,則對所述終端所述版本變化的DII的版本號進(jìn)行更新并對所述版本變化的DII描述的模塊進(jìn)行處理。
2.如權(quán)利要求1所述的OC數(shù)據(jù)的更新方法,其特征在于所述f步驟還包括 fl.將所述版本變化的DII中的模塊與所述原有的DII描述的模塊進(jìn)行比較;f2.若增加了新的模塊,則在輪播中添加所述新的模塊,并向前端服務(wù)器發(fā)送請求,將 所述新的模塊對應(yīng)的DDB下載到所述存儲器中;f3.若缺少了模塊,則在輪播中刪除所述缺少的模塊,并遞歸刪除目錄樹中屬于所述缺 少的模塊的所有文件和目錄;f4.若模塊的版本發(fā)生變化,則對與所述版本變化的模塊對應(yīng)的所述終端存儲的模塊 的版本號進(jìn)行更新,將所述版本號更新的模塊的狀態(tài)設(shè)置為版本變化;若所述版本號更新 的模塊包含目錄對象,則下載所述版本號更新的模塊對應(yīng)的DDB;再下載所述終端最近顯 示的頁面用到的文件所在的模塊。
3.如權(quán)利要求2所述的OC數(shù)據(jù)的更新方法,其特征在于所述步驟f4還包括在步 驟下載所述版本號更新的模塊對應(yīng)的DDB后,判斷所述版本號更新的模塊的標(biāo)識是否為變 化;若是則查看所述版本號更新的模塊是否包含目錄對象如果所述版本號更新的模塊存 在所述目錄對象,則遞歸刪除所述版本號更新的模塊中的目錄樹中有但所述版本變化的模 塊的目錄樹中沒有的文件和目錄;將所述版本號更新的模塊的狀態(tài)設(shè)置為沒有變化。
4.如權(quán)利要求2或3的任何一項(xiàng)所述的OC數(shù)據(jù)的更新方法,其特征在于遞歸刪除目 錄樹中屬于模塊的文件或目錄包括以下步驟gl.判斷當(dāng)前目錄下是否存在文件或者目錄,若不存在,如果所述當(dāng)前目錄屬于所述模 塊則刪除所述當(dāng)前目錄并執(zhí)行步驟g3,如果所述當(dāng)前目錄不屬于所述模塊則執(zhí)行步驟g3, 如果存在則執(zhí)行步驟g2 ;g2.獲取所述當(dāng)前目錄下屬于所述模塊的孩子對象,若所述孩子對象為文件,則執(zhí)行如 下操作若所述文件正在被終端使用,將所述文件狀態(tài)設(shè)置為等待刪除,斷開所述文件在所 述目錄樹中的連接,將所述文件加入待刪除鏈表并執(zhí)行步驟g3,若所述文件沒有被所述終 端使用,則直接刪除所述文件;若所述孩子對象是目錄則重復(fù)從步驟gl開始執(zhí)行,其中,所 述被加入待刪除鏈表的文件在被所述終端關(guān)閉后被所述終端刪除;g3.重復(fù)步驟gl至g3直至所述目錄樹中屬于所述模塊的文件和目錄被刪除為止。
全文摘要
本發(fā)明公開了一種OC數(shù)據(jù)的更新方法,包括以下步驟a.啟動終端的定時器,定時接收DII;b.將所述接收到的所有DII與終端存儲的原有DII進(jìn)行比較;c.若增加了新的DII,則存儲所述新的DII;d.若缺少了DII,則在終端刪除所述缺少的DII,并刪除所述缺少的DII描述的模塊及所述模塊對應(yīng)的文件和目錄;f.若DII的版本發(fā)生了變化,則對終端所述版本變化的DII的版本號進(jìn)行更新并對所述版本變化的DII描述的模塊進(jìn)行處理。本發(fā)明的有益效果是使終端能夠更快的檢測到前端服務(wù)器的更新信息,并對只需要更新的數(shù)據(jù)進(jìn)行下載,提高了更新數(shù)據(jù)的效率,使終端頁面更新所需的時間更短。
文檔編號G06Q40/00GK101951362SQ20101025301
公開日2011年1月19日 申請日期2010年8月13日 優(yōu)先權(quán)日2010年8月13日
發(fā)明者楊匯源 申請人:深圳市同洲電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
南陵县| 子长县| 汶川县| 霍林郭勒市| 临沭县| 丰宁| 安国市| 精河县| 盐津县| 绥中县| 富民县| 穆棱市| 深水埗区| 资源县| 呼伦贝尔市| 拉孜县| 新营市| 南城县| 合川市| 汉寿县| 辽阳市| 左云县| 宁德市| 禹州市| 德惠市| 仁寿县| 吉安市| 福州市| 柳州市| 新闻| 平邑县| 科技| 页游| 定陶县| 博兴县| 松桃| 黎城县| 唐海县| 翁牛特旗| 体育| 四平市|