專利名稱:數(shù)據(jù)廣播系統(tǒng)讀取文件的方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)廣播系統(tǒng)。具體地說(shuō),本發(fā)明涉及從數(shù)據(jù)廣播中迅速讀取文件的方法及設(shè)備。
背景技術(shù):
一般來(lái)說(shuō),數(shù)據(jù)廣播系統(tǒng)由廣播電視局、機(jī)頂盒(set-top box)和電視機(jī)組成,機(jī)頂盒從廣播電視局所提供的廣播數(shù)據(jù)流中提取出文件,并使之在電視機(jī)中播放。
這里,上述機(jī)頂盒也可以設(shè)置于電視機(jī)內(nèi)。
數(shù)字廣播提供了比以前模擬廣播更高畫質(zhì)和更高音質(zhì)的視頻和音頻輸出,此外還提供了數(shù)據(jù)廣播和交互式(interactive)通信等多種便利的功能。
DVB-MHP中使用的數(shù)字廣播協(xié)議基本支持所有服務(wù)提供者和目標(biāo)傳送帶(OCobject carousel)。這種目標(biāo)傳送帶是廣播電視局周期性地反復(fù)發(fā)出數(shù)據(jù)流數(shù)據(jù),并從此種數(shù)據(jù)流數(shù)據(jù)中查找必要的文件,提供給應(yīng)用程序。
圖1為現(xiàn)有讀取文件方法簡(jiǎn)圖。如圖1所示,現(xiàn)在,如果應(yīng)用程序1要申請(qǐng)調(diào)用文件,這種申請(qǐng)要經(jīng)過(guò)JAVA虛擬機(jī)2(Java VirtualMachine,以下稱JVM)傳輸給目標(biāo)傳送帶3。目標(biāo)傳送帶3依據(jù)應(yīng)用程序1的申請(qǐng),向服務(wù)信息(Service Information,以下稱SI)4申請(qǐng)必要的模塊。SI4以模塊為單位接受廣播電視局所提供的廣播數(shù)據(jù)流,這種模塊被傳輸給上述目標(biāo)傳送帶3。上述目標(biāo)傳送帶3對(duì)各模塊進(jìn)行分析(parsing),提取并輸出上述應(yīng)用程序1所調(diào)用的文件。即,從上述目標(biāo)傳送帶3中提取出的文件經(jīng)由上述JVM2又被傳輸給應(yīng)用程序1。
在此,JVM2作為JAVA虛擬機(jī)是能將用JAVA語(yǔ)言編程的程序轉(zhuǎn)換成計(jì)算機(jī)所能讀取的機(jī)器語(yǔ)言的程序。JVM中存在著只能存儲(chǔ)類文件(class file)的被稱為堆棧存儲(chǔ)器(HEAP)的存儲(chǔ)媒介。因此,如果應(yīng)用程序1所調(diào)用的文件是類文件的話,從目標(biāo)傳送帶3中查找到的類文件經(jīng)由JVM2被傳輸給應(yīng)用程序1的過(guò)程中,相關(guān)類文件便被存儲(chǔ)在JVM2的堆棧存儲(chǔ)器中。
目標(biāo)傳送帶3是利用目錄(directory),文件(file)和數(shù)據(jù)流(stream)目標(biāo),由數(shù)據(jù)廣播服務(wù)器向各廣播接收方傳輸結(jié)構(gòu)化的目標(biāo)集團(tuán)。
如上所述現(xiàn)有讀取文件方法可以參照?qǐng)D2進(jìn)行詳細(xì)說(shuō)明。
圖2為現(xiàn)有讀取文件方法流程圖。
參照?qǐng)D2,首先,為獲取應(yīng)用程序1所需的文件,向JVM2提出調(diào)用文件申請(qǐng)(S11),JVM2將這種申請(qǐng)機(jī)械地進(jìn)行轉(zhuǎn)換,并向目標(biāo)傳送帶3申請(qǐng)文件(S12)。
目標(biāo)傳送帶3以SI4從上述廣播數(shù)據(jù)流中按照一定單位分離出來(lái)的模塊為對(duì)象來(lái)檢索文件,即分析各模塊,確認(rèn)其中是否存儲(chǔ)有應(yīng)用程序1所申請(qǐng)調(diào)用的文件(S13)。
如果檢索出應(yīng)用程序1所申請(qǐng)調(diào)用的文件,目標(biāo)傳送帶3便輸出相關(guān)文件,并打開該文件(S14)。
如果應(yīng)用程序1仍需繼續(xù)調(diào)用文件,只要反復(fù)進(jìn)行上述過(guò)程,便可以找出相關(guān)文件,否則應(yīng)用程序1將結(jié)束(S15)。
但是,如上所述,現(xiàn)有的讀取文件方法,每當(dāng)應(yīng)用程序需要文件時(shí),必須經(jīng)由JVM向目標(biāo)傳送帶調(diào)用,目標(biāo)傳送帶每次都要以各模塊為對(duì)象進(jìn)行分析,在查找到相關(guān)文件后還得經(jīng)由JVM傳輸?shù)綉?yīng)用程序。因此,每當(dāng)應(yīng)用程序提出申請(qǐng)調(diào)用時(shí),目標(biāo)傳送帶都要查找文件才能提供,具有相當(dāng)大的額外開銷,并且也存在著增加讀取時(shí)間等問(wèn)題。同時(shí),這種查找文件的過(guò)程不斷進(jìn)行,存在著明顯降低了應(yīng)用程序運(yùn)行速度等問(wèn)題。如果文件越大,這些問(wèn)題就越嚴(yán)重。
發(fā)明內(nèi)容
因而,為解決現(xiàn)存的上述問(wèn)題,本發(fā)明便應(yīng)運(yùn)而生。本發(fā)明的目的在于提供一種廣播系統(tǒng)讀取文件方法和設(shè)備,以便能由JVM直接輸出文件,并能迅速讀取出相關(guān)文件。
為實(shí)現(xiàn)上述目的,依據(jù)本發(fā)明的實(shí)例,數(shù)據(jù)廣播系統(tǒng)讀取文件方法包括如下階段目標(biāo)傳送帶從廣播數(shù)據(jù)流中提取文件階段;JVM存儲(chǔ)上述被提取出文件階段;應(yīng)用程序申請(qǐng)調(diào)用文件及執(zhí)行被調(diào)用文件階段。上述被調(diào)用的文件由上述JVM提供。
依據(jù)本發(fā)明的另一個(gè)優(yōu)選實(shí)例,數(shù)據(jù)廣播系統(tǒng)文件讀取設(shè)備包括以下部分從廣播數(shù)據(jù)流中提取文件的目標(biāo)傳送帶;對(duì)上述提取出的文件進(jìn)行存儲(chǔ)的JVM;申請(qǐng)調(diào)用文件并執(zhí)行文件的應(yīng)用程序。上述被申請(qǐng)調(diào)用的文件由上述JVM提供。
如上所述,本發(fā)明數(shù)據(jù)廣播系統(tǒng)的讀取文件方法和設(shè)備在應(yīng)用程序提出讀取文件調(diào)用時(shí),將從JVM中查找相關(guān)文件,并進(jìn)行傳輸,與過(guò)去從目標(biāo)傳送帶中查找并經(jīng)由JVM向應(yīng)用程序傳輸?shù)倪^(guò)程相比,能更迅速讀取文件。
同時(shí),依據(jù)本發(fā)明的數(shù)據(jù)廣播系統(tǒng)讀取文件方法和設(shè)備,每當(dāng)應(yīng)用程序申請(qǐng)調(diào)用文件的時(shí)候,JVM就迅速地將與相關(guān)文件相應(yīng)的指針提供給應(yīng)用程序,這樣就能以更快的速度提供服務(wù)。
并且,如果依據(jù)本發(fā)明的數(shù)據(jù)廣播系統(tǒng)讀取文件方法及設(shè)備,既便不設(shè)立高速緩存或高速緩存管理器,也能發(fā)揮很好的緩存作用,在節(jié)約存儲(chǔ)器的同時(shí),減少了目標(biāo)傳送裝置的額外開銷。
圖1為現(xiàn)有讀取方法樣式簡(jiǎn)圖。
圖2為現(xiàn)有讀取文件方法流程圖。
圖3為依據(jù)本發(fā)明優(yōu)選實(shí)例的文件讀取設(shè)備的構(gòu)成圖。
圖4為說(shuō)明依據(jù)本發(fā)明的優(yōu)選實(shí)例讀取文件方法的流程圖。
附圖主要部分符號(hào)說(shuō)明31目標(biāo)傳送帶32JVM33堆棧存儲(chǔ)器34應(yīng)用程序
具體實(shí)施例方式
下面就參照附圖對(duì)本發(fā)明的廣播系統(tǒng)讀取文件方法及設(shè)備予以詳細(xì)說(shuō)明。
圖3為本發(fā)明優(yōu)選實(shí)例的文件讀取設(shè)備的構(gòu)成圖。
參照?qǐng)D3,依據(jù)本發(fā)明的文件讀取設(shè)備包括如下幾部分從廣播數(shù)據(jù)流中提取文件的目標(biāo)傳送帶31;將上述目標(biāo)傳送帶31提取出的文件存儲(chǔ)到指定空間中的JVM32;申請(qǐng)調(diào)用文件,并執(zhí)行與之相應(yīng)文件的應(yīng)用程序34。其中,上述JVM32中存在著僅存儲(chǔ)上述被提取出文件堆棧存儲(chǔ)器33。
上述目標(biāo)傳送帶31以廣播數(shù)據(jù)流為對(duì)象提取出文件,此時(shí),廣播數(shù)據(jù)流以一定單位被分離出來(lái)的模塊形態(tài)存儲(chǔ)于SI中。上述目標(biāo)傳送帶31便以存儲(chǔ)在SI中的模塊為對(duì)象進(jìn)行分析,并提取出各文件,傳輸?shù)絁VM32中。因此,上述目標(biāo)傳送帶31不受應(yīng)用程序34調(diào)用文件的影響,無(wú)條件從廣播數(shù)據(jù)流中提取出文件,并傳輸給JVM32。
上述JVM32將由目標(biāo)傳送帶31輸出的文件存儲(chǔ)在堆棧存儲(chǔ)器33中。與存儲(chǔ)文件的同時(shí)生成了針對(duì)相關(guān)文件的指針,指針對(duì)應(yīng)相關(guān)文件。并且,被存儲(chǔ)的文件以指定路徑的形式被儲(chǔ)存。舉個(gè)例子,如果t.gif圖片文件被存儲(chǔ)到堆棧存儲(chǔ)器33中,那么針對(duì)這個(gè)圖片文件的路徑也一起被指定,并以a/b/c/t.gif的形態(tài)進(jìn)行存儲(chǔ)。另外,在上述堆棧存儲(chǔ)器33中,不僅是與原來(lái)不同的類文件,包含一般文件(如,圖片文件、文本文件等)的任何文件也都能被儲(chǔ)存。因此,如果應(yīng)用程序34提出文件調(diào)用申請(qǐng),JVM32就將存儲(chǔ)的文件中與應(yīng)用程序34申請(qǐng)的文件相應(yīng)的指針傳送給應(yīng)用程序34,這樣應(yīng)用程序34就能通過(guò)接收到的指針執(zhí)行相關(guān)的文件了。這時(shí),應(yīng)用程序34提出調(diào)用所定文件的申請(qǐng)的時(shí)候,同時(shí)也提示了針對(duì)相關(guān)文件的路徑信息。
上述應(yīng)用程序34調(diào)用所要執(zhí)行的特定文件,從JVM32中接收針對(duì)申請(qǐng)文件的指針,這樣就執(zhí)行了與指針相應(yīng)的文件。
下面將說(shuō)明上述文件讀取設(shè)備讀取文件的方法。
圖4為本發(fā)明的優(yōu)選實(shí)例讀取文件方法的流程圖。
參照?qǐng)D4,首先目標(biāo)傳送帶31不受是否運(yùn)行應(yīng)用程序34的影響,如果接收到廣播數(shù)據(jù)流,便從廣播數(shù)據(jù)流中提取出文件(S41)。具體地說(shuō),如果接收到廣播數(shù)據(jù)流,廣播數(shù)據(jù)流將以模塊為單位被分離后存儲(chǔ)在SI中。上述目標(biāo)傳送帶31對(duì)上述存儲(chǔ)在SI中的模塊按順序進(jìn)行分析處理,提取出文件后,傳輸給JVM32。
上述JVM32在將上述傳送來(lái)的文件和路徑一起存儲(chǔ)在堆棧存儲(chǔ)器中(S42)。這時(shí)不僅類文件被存儲(chǔ),一般文件也都能被存儲(chǔ)。并且,存儲(chǔ)文件的時(shí)候,能夠生成針對(duì)相關(guān)文件的指針,并針對(duì)相關(guān)文件進(jìn)行指定。
這時(shí),應(yīng)用程序34開始運(yùn)行,并向JVM32提出調(diào)用所定文件的申請(qǐng)(S43)。這時(shí),一提出調(diào)用文件申請(qǐng),路徑信息也一起被提供了。
JVM32通過(guò)路徑信息,在堆棧存儲(chǔ)器33存儲(chǔ)的文件中搜索是否存在應(yīng)用程序34所申請(qǐng)調(diào)用的文件(S44)。
如果應(yīng)用程序34申請(qǐng)調(diào)用的文件存在,則針對(duì)相關(guān)文件的指針就被傳送到應(yīng)用程序34中(S45)。
通過(guò)傳送來(lái)的指針,應(yīng)用程序34就能執(zhí)行相關(guān)文件了(S48)。
如果應(yīng)用程序34申請(qǐng)調(diào)用的文件在堆棧存儲(chǔ)器33中不存在的話,JVM32就再向目標(biāo)傳送帶31提出文件調(diào)用申請(qǐng)(S46)。
如上所述,目標(biāo)傳送帶31分析由SI提供的模塊,并查找應(yīng)用程序34所申請(qǐng)調(diào)用的文件。然后,找出的文件經(jīng)由JVM32通過(guò)應(yīng)用程序34被執(zhí)行(S47)。
如果應(yīng)用程序34再申請(qǐng)調(diào)用其他文件,就返回到S43,向JVM32申請(qǐng)調(diào)用文件。如果應(yīng)用程序34不再申請(qǐng)調(diào)用其他文件,應(yīng)用程序34的運(yùn)行就結(jié)束了(S49)。
因此,本發(fā)明在播放數(shù)據(jù)流中包含的文件都被儲(chǔ)存到JVM中之后,如果應(yīng)用程序提出調(diào)用文件的申請(qǐng),就在JVM存儲(chǔ)的文件中進(jìn)行查找,并直接把相關(guān)的指針提供給應(yīng)用程序,并使其運(yùn)行。這就解決了原來(lái)每當(dāng)應(yīng)用程序申請(qǐng)調(diào)用文件的時(shí)候,在目標(biāo)傳送帶中一個(gè)一個(gè)地查找相關(guān)文件,再輸出給應(yīng)用程序,導(dǎo)致了時(shí)間的延長(zhǎng)。
并且,本發(fā)明通過(guò)使用JVM中的堆棧存儲(chǔ)器,能夠簡(jiǎn)單地解決原來(lái)在目標(biāo)傳送帶中產(chǎn)生的額外開銷的問(wèn)題。
綜上所述,本領(lǐng)域技術(shù)人員完全可以在不偏離本發(fā)明技術(shù)思想范圍的前提下,進(jìn)行多種多樣的變更或修改。因此,本發(fā)明的技術(shù)范圍并不局限于說(shuō)明書上詳細(xì)說(shuō)明的內(nèi)容,必須要根據(jù)專利申請(qǐng)的范圍來(lái)確定其技術(shù)性范圍。
權(quán)利要求
1.一種數(shù)據(jù)廣播系統(tǒng)讀取文件的方法,其特征在于包括如下階段目標(biāo)傳送帶從廣播數(shù)據(jù)流中提取文件的階段;JVM將上述提取出的文件進(jìn)行存儲(chǔ)的階段;應(yīng)用程序調(diào)用文件及執(zhí)行被調(diào)用的文件的階段;上述被申請(qǐng)調(diào)用的文件由上述JVM提供。
2.按照權(quán)利要求1所述的數(shù)據(jù)廣播系統(tǒng)讀取文件的方法,其特征在于所述的提取文件階段包括以模塊單位分離上述廣播數(shù)據(jù)流的階段;分析上述被分離的模塊并提取文件的階段。
3.按照權(quán)利要求1所述的數(shù)據(jù)廣播系統(tǒng)讀取文件的方法,其特征在于所述存儲(chǔ)上述被提取出的文件的階段包括儲(chǔ)存上述提取文件的階段;生成指定上述提取文件的指針的階段;將上述提取的文件同上述生成的指針一起進(jìn)行儲(chǔ)存的階段。
4.按照權(quán)利要求1所述的數(shù)據(jù)廣播系統(tǒng)讀取文件的方法,其特征在于將上述被提取文件實(shí)際數(shù)據(jù)和路徑一起存儲(chǔ)。
5.按照權(quán)利要求1所述的數(shù)據(jù)廣播系統(tǒng)讀取文件的方法,其特征在于執(zhí)行上述被調(diào)用文件的階段包括上述應(yīng)用程序申請(qǐng)調(diào)用文件的階段;在上述JVM中搜索是否存在所調(diào)用的文件的階段;如果存在上述文件,上述JVM將與上述申請(qǐng)調(diào)用文件相應(yīng)的文件指針指向上述應(yīng)用程序傳輸?shù)碾A段;上述應(yīng)用程序執(zhí)行上述指針?biāo)赶虻奈募碾A段。
6.按照權(quán)利要求5所述的數(shù)據(jù)廣播系統(tǒng)讀取文件的方法,其特征在于包括如果,應(yīng)用程序申請(qǐng)調(diào)用的文件不存在于堆棧存儲(chǔ)器中,JVM就再向目標(biāo)傳送帶提出文件調(diào)用申請(qǐng)的階段;目標(biāo)傳送帶分析由SI提供的模塊,并提取應(yīng)用程序所申請(qǐng)調(diào)用的文件的階段;提取的文件經(jīng)由JVM,傳送給上述應(yīng)用程序。
7.按照權(quán)利要求6所述的數(shù)據(jù)廣播系統(tǒng)讀取文件的方法,其特征在于上述提取的文件經(jīng)由上述JVM輸出。
8.按照權(quán)利要求1所述的數(shù)據(jù)廣播系統(tǒng)讀取文件的方法,其特征在于上述被儲(chǔ)存的文件包含類文件和一般文件。
9.按照權(quán)利要求1所述的數(shù)據(jù)廣播系統(tǒng)讀取文件的方法,其特征在于還包括如下階段應(yīng)用程序提出調(diào)用上述文件申請(qǐng)的時(shí)候,將路徑信息一起提供給JVM。
10.按照權(quán)利要求1所述的數(shù)據(jù)廣播系統(tǒng)讀取文件的方法,其特征在于還包括上述申請(qǐng)調(diào)用的文件與路徑一起被儲(chǔ)存。
11.一種數(shù)據(jù)廣播系統(tǒng)文件讀取設(shè)備,其特征在于包含以下部件從廣播數(shù)據(jù)流中提取文件的目標(biāo)傳送帶;將上述目標(biāo)傳送帶提取出的文件存儲(chǔ)在所定空間中的JVM;申請(qǐng)調(diào)用文件,并執(zhí)行與之相應(yīng)文件的應(yīng)用程序,上述申請(qǐng)調(diào)用的文件從JVM中提供。
12.按照權(quán)利要求11所述的數(shù)據(jù)廣播系統(tǒng)文件讀取設(shè)備,其特征在于上述JVM包含能夠儲(chǔ)存上述提取的文件的堆棧存儲(chǔ)器。
13.按照權(quán)利要求11所述的數(shù)據(jù)廣播系統(tǒng)文件讀取設(shè)備,其特征在于包含將上述廣播數(shù)據(jù)流以模塊為單位進(jìn)行分割的SI。
14.按照權(quán)利要求11或13所述的數(shù)據(jù)廣播系統(tǒng)文件讀取設(shè)備,其特征在于上述目標(biāo)傳送帶對(duì)在上述SI中被分割的模塊進(jìn)行分析,并提取文件。
15.按照權(quán)利要求11所述的數(shù)據(jù)廣播系統(tǒng)文件讀取設(shè)備,其特征在于上述JVM將提取的文件同路徑一起儲(chǔ)存。
16.按照權(quán)利要求11所述的數(shù)據(jù)廣播系統(tǒng)文件讀取設(shè)備,其特征在于在儲(chǔ)存上述被提取的文件時(shí),上述JVM生成相關(guān)指針,并將其與被提取的文件一起儲(chǔ)存。
17.按照權(quán)利要求11所述的數(shù)據(jù)廣播系統(tǒng)文件讀取設(shè)備,其特征在于當(dāng)上述應(yīng)用程序申請(qǐng)調(diào)用的文件存在時(shí),上述JVM將相關(guān)的指針輸出給應(yīng)用程序。
18.按照權(quán)利要求17所述的數(shù)據(jù)廣播系統(tǒng)文件讀取設(shè)備,其特征在于上述應(yīng)用程序執(zhí)行上述相關(guān)指針?biāo)傅奈募?br>
19.按照權(quán)利要求11所述的數(shù)據(jù)廣播系統(tǒng)文件讀取設(shè)備,其特征在于當(dāng)上述應(yīng)用程序申請(qǐng)調(diào)用的文件不存在時(shí),上述JVM再次向目標(biāo)傳送帶申請(qǐng)調(diào)用文件。
20.按照權(quán)利要求19所述的數(shù)據(jù)廣播系統(tǒng)文件讀取設(shè)備,其特征在于上述目標(biāo)傳送帶再次在廣播數(shù)據(jù)流中提取與申請(qǐng)調(diào)用文件相應(yīng)的文件,并輸出給上述應(yīng)用程序。
21.按照權(quán)利要求20所述的數(shù)據(jù)廣播系統(tǒng)文件讀取設(shè)備,其特征在于將從上述廣播數(shù)據(jù)流中提取的文件經(jīng)由上述JVM進(jìn)行輸出。
22.按照權(quán)利要求11所述的數(shù)據(jù)廣播系統(tǒng)文件讀取設(shè)備,其特征在于上述被儲(chǔ)存的文件包含類文件和一般文件。
23.按照權(quán)利要求11所述的數(shù)據(jù)廣播系統(tǒng)文件讀取設(shè)備,其特征在于上述應(yīng)用程序提出調(diào)用文件申請(qǐng)時(shí),一起提供路徑信息。
全文摘要
本發(fā)明涉及能更迅速提供數(shù)字電視廣播服務(wù)的數(shù)據(jù)廣播系統(tǒng)讀取文件的方法及設(shè)備。依據(jù)本發(fā)明的數(shù)據(jù)廣播文件讀取設(shè)備將從目標(biāo)傳送帶提取出的所有文件存儲(chǔ)到JVM的堆棧存儲(chǔ)器中,應(yīng)用程序提出文件調(diào)用申請(qǐng)時(shí),直接將相關(guān)文件的指針移動(dòng)到JVM的堆棧存儲(chǔ)器上,執(zhí)行相關(guān)文件。因?yàn)椴粡哪繕?biāo)傳送帶中查找與應(yīng)用程序所調(diào)用文件相關(guān)的文件,而直接在JVM中查找并傳輸,因此可以迅速讀取文件。同時(shí),可以明顯減少目前在每次調(diào)用應(yīng)用程序所需文件時(shí)都要從目標(biāo)傳送帶查找相關(guān)文件所引起的處理方面額外開銷。
文檔編號(hào)G06F9/06GK1738421SQ20041005389
公開日2006年2月22日 申請(qǐng)日期2004年8月20日 優(yōu)先權(quán)日2004年8月20日
發(fā)明者權(quán)真郁, 崔美愛 申請(qǐng)人:上海樂金廣電電子有限公司