專利名稱:再現(xiàn)裝置和再現(xiàn)方法
技術領域:
本公開涉及一種再現(xiàn)音頻數(shù)據(jù)和視頻數(shù)據(jù)的再現(xiàn)裝置和再現(xiàn)方法,并具體涉及ー種有效地從存儲器讀取數(shù)據(jù)的技術。
背景技術:
在相關技術中,由文件系統(tǒng)在“文件”的單元中管理累積在存儲器中的諸如視頻數(shù)據(jù)和音頻數(shù)據(jù)的數(shù)據(jù)。幾乎每個操作系統(tǒng)(下文稱為“OS”)中都安裝文件系統(tǒng)作為標準,因此,許多情況下都使用安裝在OS中的文件系統(tǒng)作為標準。
順便提及,近年來存儲在存儲器中的數(shù)據(jù)類型或者指示數(shù)據(jù)讀出的應用的類型增カロ。因此,當安裝在作為標準的OS中的文件系統(tǒng)被原樣使用時,從讀出指令到數(shù)據(jù)被實際讀出的響應有時慢于所需要的響應。作為解決上述問題的方法,JP-A-9-319523(專利文獻I)中公開了通過使用能夠高效地執(zhí)行獨立于計算機裝置的OS中包括的文件系統(tǒng)的視頻信號的記錄/再現(xiàn)的文件系統(tǒng)而控制記錄/再現(xiàn)。
發(fā)明內(nèi)容
在提供專用于上述應用的多個專用文件系統(tǒng)的情況下,需要在使用時可以切換這些系統(tǒng)。還需要可以根據(jù)應用切換文件系統(tǒng)從存儲器讀取數(shù)據(jù)的操作。因此,期望可以根據(jù)應用切換文件系統(tǒng)從存儲器讀取數(shù)據(jù)的操作。本公開的實施例針對ー種再現(xiàn)裝置,包括存儲單元,累積數(shù)據(jù);程序控制單元,控制生成對累積在所述存儲単元中的數(shù)據(jù)的獲取請求的第一程序以及生成對累積在所述存儲單元中的數(shù)據(jù)的獲取請求的第二程序,所述第二程序與所述第一程序不同;以及讀取控制單元,以文件為基礎管理累積在所述存儲単元中的數(shù)據(jù),當從所述程序控制單元輸入所述數(shù)據(jù)獲取請求時,基于所述數(shù)據(jù)獲取請求中指定的所述文件的存儲位置信息,選擇使用適合通過所述第一程序讀取所述數(shù)據(jù)的方法讀取所述文件的第一算法和使用適合通過所述第二程序讀取所述數(shù)據(jù)的方法讀取所述文件的第二算法中的任ー個,并且基于所選擇的第一或第二算法執(zhí)行從所述存儲単元的數(shù)據(jù)的讀出。本公開的另一實施例針對ー種再現(xiàn)方法,包括累積數(shù)據(jù);控制生成對所累積的數(shù)據(jù)的獲取請求的第一程序以及生成對所累積的數(shù)據(jù)的獲取請求的第二程序,所述第二程序于所述第一程序不同;以文件為基礎管理所累積的數(shù)據(jù);以及當輸入所述數(shù)據(jù)獲取請求時,基于所述數(shù)據(jù)獲取請求中指定的所述文件的存儲位置信息,選擇使用適合通過所述第一程序讀取所述數(shù)據(jù)的方法讀取所述文件的第一算法和使用適合通過所述第二程序讀取所述數(shù)據(jù)的方法讀取所述文件的第二算法中的任ー個,并且基于所選擇的第一或第二算法執(zhí)行所累積的數(shù)據(jù)的讀出。通過應用以上構造和處理,通過使用在數(shù)據(jù)獲取請求中指定的存儲位置信息作為進行決定的信息,可以在用于第一程序的第一算法與用于第二程序的第二算法之間切換。
通過應用根據(jù)本公開的實施例的再現(xiàn)裝置和再現(xiàn)方法,可以根據(jù)應用切換文件系統(tǒng)從存儲器的數(shù)據(jù)讀取操作。
圖I是示出根據(jù)本公開的實施例的再現(xiàn)裝置的內(nèi)部構造示例的框圖;圖2是示出根據(jù)本公開的實施 例的讀取控制單元的構造示例的框圖;圖3是示出根據(jù)本公開的實施例的管理高速緩存(cache)空間的方法的示例的說明圖;圖4是示出根據(jù)本公開的實施例的在執(zhí)行打開系統(tǒng)調(diào)用時讀取控制単元中的控制的示例的流程圖;圖5是示出根據(jù)本公開的實施例的當選擇FTP讀取器時讀取控制單元執(zhí)行的從高速緩存的讀取處理的示例的流程圖;圖6是示出根據(jù)本公開的實施例的當選擇FTP讀取器時讀取控制單元執(zhí)行的從存儲器的讀取處理的示例的流程圖;圖7是示出根據(jù)本公開的實施例的由“ ftpd”依據(jù)數(shù)據(jù)獲取請求而執(zhí)行的數(shù)據(jù)讀取處理的示例的說明圖;圖8是示出根據(jù)本公開的實施例的當選擇CIFC讀取器時讀取控制單元執(zhí)行的從高速緩存的讀取處理的示例的流程圖;圖9是示出根據(jù)本公開的實施例的當選擇CIFC讀取器時讀取控制單元執(zhí)行的從高速緩存的讀取處理的示例的流程圖;以及圖10是示出根據(jù)本公開的實施例的由“ Samba”依據(jù)數(shù)據(jù)獲取請求而執(zhí)行的數(shù)據(jù)讀取處理的示例的說明圖。
具體實施例方式下面將參照附圖以以下順序說明根據(jù)本公開的實施例的再現(xiàn)裝置和再現(xiàn)方法。本公開不限于下面的示例。I.再現(xiàn)裝置的構造示例2.讀取控制單元的構造示例3.讀取控制單元的處理的示例〈I.再現(xiàn)裝置的構造示例>圖I是示出根據(jù)本公開的實施例的再現(xiàn)裝置的構造示例的框圖。圖I中所示的再現(xiàn)裝置100包括存儲器101作為存儲単元,并且存儲器101中存儲了數(shù)字化的AV數(shù)據(jù)。存儲器101由SSD (固態(tài)驅動器)、HDD (硬盤驅動器)、光盤驅動器等形成。再現(xiàn)裝置100通過網(wǎng)絡連接到作為外部裝置的外部PC(個人計算機)200。存儲器101被構造為還可用作外部PC的網(wǎng)絡驅動器。通過諸如“Samba”的應用來實現(xiàn)還可以將存儲器101用作外部PC的網(wǎng)絡驅動器的構造。當通過使用Samba在再現(xiàn)裝置100的任意目錄中設置文件共享時,外部PC 200可以訪問該目錄,以讀/寫文件。例如,在外部PC 200上安裝用于非線性編輯的應用,并且基于應用的編輯工作將數(shù)據(jù)獲取請求發(fā)送到再現(xiàn)裝置100。也可以從外部PC 200發(fā)送FTP (文件傳輸協(xié)議)的文件傳輸請求。再現(xiàn)裝置100還包括存儲控制単元102、讀取控制単元103、視頻數(shù)據(jù)高速緩存104、以及PC IF(接ロ)高速緩存105。存儲控制單元102有裝置驅動器的功能,實際操作存儲器101從存儲器101讀取數(shù)據(jù)。讀取控制単元103有文件系統(tǒng)的功能,依據(jù)數(shù)據(jù)獲取請求生成用于指示讀取文件的讀取請求,并將所生成的讀取請求發(fā)送到存儲控制單元102。讀取控制単元103將存儲控制單元102從存儲器101讀出的數(shù)據(jù)臨時寫入FTP/CIFS高速緩存103c。依據(jù)來自后面將描述的數(shù)據(jù)請求處理單元108的數(shù)據(jù)獲取請求,讀取存儲在FTP/CIFS高速緩存103c中的數(shù)據(jù),并將其輸出到視頻數(shù)據(jù)高速緩存104或PC IF(接ロ)高速緩存105。 依據(jù)外部PC 200的數(shù)據(jù)獲取請求而從存儲器101讀出的數(shù)據(jù)被寫入視頻數(shù)據(jù)高速緩存104。依據(jù)通過后面將說明的操作面板106輸入的數(shù)據(jù)獲取請求而從存儲器101讀出的數(shù)據(jù)被寫入PC IF高速緩存105中。外部PC 200不僅做出數(shù)據(jù)獲取請求和數(shù)據(jù)傳輸請求,而且做出數(shù)據(jù)寫入請求。在未示出的寫入控制單元的控制下,將被請求寫入的數(shù)據(jù)寫入存儲器101中。此時,通過使用“Samba”的功能寫入的數(shù)據(jù)被存儲為“CIFS (通用因特網(wǎng)文件系統(tǒng))”的目錄下的文件?!癈IFS”是在Samba中應用的提供文件共享服務的協(xié)議。FTP寫入的數(shù)據(jù)被存儲在“FTP”的目錄下。在根據(jù)本公開的實施例的再現(xiàn)裝置100中,根據(jù)數(shù)據(jù)獲取請求的發(fā)送源的應用而切換讀取控制單元103(文件系統(tǒng))從存儲器101的數(shù)據(jù)讀取操作。即,在通過使用Samba提供的功能而輸入數(shù)據(jù)獲取請求的情況與通過FTP做出數(shù)據(jù)傳輸請求的情況之間,切換文件系統(tǒng)的數(shù)據(jù)讀取操作。下文將參照圖2和后續(xù)
讀取控制單元103的詳細構造和操作。繼續(xù)說明圖I中所示的再現(xiàn)裝置100的構造。再現(xiàn)裝置100包括操作面板106、視頻數(shù)據(jù)再現(xiàn)控制単元107、數(shù)據(jù)請求處理單元108和視頻數(shù)據(jù)再現(xiàn)處理單元109。操作面板106包括從中輸入用戶操作的諸如按鈕的輸入單元以及諸如顯示菜單的顯示面板的顯示單元等。當接收到來自用戶的操作輸入時,將輸入的內(nèi)容發(fā)送到視頻數(shù)據(jù)再現(xiàn)控制單元107作為操作命令。視頻數(shù)據(jù)再現(xiàn)控制單元107解釋從操作面板106發(fā)送的操作命令,并以具體的操作取代命令。接著,視頻數(shù)據(jù)再現(xiàn)控制單元107基于所取代的操作的內(nèi)容,生成諸如數(shù)據(jù)獲取請求的請求,并將該請求發(fā)送到數(shù)據(jù)請求處理單元108。數(shù)據(jù)請求處理單元108調(diào)整從視頻數(shù)據(jù)再現(xiàn)控制單元107輸入的請求以及從后面描述的PC IF控制單元111輸入的請求,并將請求發(fā)送到讀取控制単元103。通過使用由作為標準的OS提供的系統(tǒng)調(diào)用做出發(fā)送到讀取控制単元103的請求。具體地,通過使用打開系統(tǒng)調(diào)用、讀取(read)系統(tǒng)調(diào)用和pread系統(tǒng)調(diào)用做出請求。視頻數(shù)據(jù)再現(xiàn)處理單元109基于存儲在視頻數(shù)據(jù)高速緩存104中的視頻數(shù)據(jù)或者在讀取控制単元103的控制下,對直接從存儲器101讀出的視頻數(shù)據(jù)執(zhí)行D/A轉換,并且輸出獲得的視頻數(shù)據(jù)。再現(xiàn)裝置100還包括網(wǎng)絡控制單元110和PC IF控制單元111。網(wǎng)絡控制單元110控制與外部PC 200的通信。網(wǎng)絡控制單元110還基于PC IF高速緩存105中寫入的數(shù)據(jù)或者在讀取控制単元103的控制下,將直接從存儲器101讀出的數(shù)據(jù)發(fā)送到外部PC 200。在PC IF控制單元111中,存儲了實現(xiàn)FTP的數(shù)據(jù)傳輸?shù)姆Q為“ftpd”的程序(第一程序)以及提供文件共享服務的稱為“Samba”的程序(第二程序)。接著,PC IF控制單元111解釋通過網(wǎng)絡從外部PC 200發(fā)送的命令,并以具體的操作取代該命令。接著,PC IF控制單元111基于所取代的操作的內(nèi)容生成諸如數(shù)據(jù)獲取請求和數(shù)據(jù)傳輸請求的請求,并將請求發(fā)送到數(shù)據(jù)請求處理單元108。PC IF控制單元111還讀取在讀取控制單元103的控制下從存儲器101實際讀出的、并寫入到PC IF高速緩存105中的數(shù)據(jù),并將該數(shù)據(jù)發(fā)送到網(wǎng)絡控制単元110。<2.讀取控制單元的構造示例>接著將參照圖2說明讀取控制單元103的構造示例。讀取控制單元103包括虛擬文件系統(tǒng)1031 (下文稱為VFS 1031)、文件系統(tǒng)控制單元1032、FTP讀取器1033和CIFS讀取器1034。當數(shù)據(jù)請求處理單元108 (見圖I)基于來自ftpd程序或Samba程序的數(shù)據(jù)獲取 /傳輸請求生成系統(tǒng)調(diào)用吋,VFS 1031將系統(tǒng)調(diào)用的內(nèi)容發(fā)送到文件系統(tǒng)控制単元1032。VFS 1031還管理打開系統(tǒng)調(diào)用所調(diào)用的文件的信息,以便與所獲得的文件描述符的值相關聯(lián)。在下文中,將文件描述符的值與文件信息關聯(lián)的數(shù)據(jù)稱為“管理表”。在管理表中管理的文件信息包括例如文件實體的存儲位置信息、文件名、文件大小、諸如文件生成日期的時間信息、上次訪問文件時獲得的偏移地址等項。通過從根目錄的絕對路徑名管理“文件實體的存儲位置信息”。例如,通過使用“Samba”提供的文件共享服務而存儲在存儲器101中的文件的存儲位置信息被顯示為“/CIFS/clipl. MXF”。通過FTP的文件傳輸而寫入存儲器的文件的存儲位置信息被顯示為“/FTP/clip2.MXF”?!吧洗卧L問文件時獲得的偏移地址”顯示基于來自數(shù)據(jù)請求處理單元108的數(shù)據(jù)讀取請求而實際執(zhí)行讀取時文件的邏輯位置。此外,文件在FTP/CIFS高速緩存103c (見圖I)上的寫入位置(寫入點)和讀取位置(讀取點)也被管理為文件信息?!皩懭朦c”表示在FTP/CIFS高速緩存103c中寫入文件時緩存上的寫入位置。當在寫入點寫入值時,意味著某種類型的文件被寫入FTP/CIFS高速緩存103c中?!白x取點”表示從FTP/CIFS高速緩存103c讀取文件時緩存上的讀取位置。通過每次執(zhí)行寫入高速緩存或從高速緩存讀取時更新“寫入點”和“讀取點”,可以管理FTP/CIFS高速緩存103c中的空閑空間。圖3是示出FTP/CIFS高速緩存103c的地址空間的視圖。圖3中所示的示例示出了在矩形中所示的地址空間中,讀取點和寫入點在環(huán)形箭頭所示的垂直方向上移動的圖像。在矩形中所示的地址空間中,地址向下増加。實際執(zhí)行讀取的讀取點在實際執(zhí)行寫入的寫入點之后跟隨并移動。低于寫入點的地址空間Asl被管理為尚未執(zhí)行寫入的空間,即空閑空間。夾在寫入點和讀取點之間的具有斜線的地址空間As2被管理為已經(jīng)寫入文件但尚未讀出該文件的空間。在讀取點之上的具有網(wǎng)格線的地址空間As3被管理為即使實際存儲了數(shù)據(jù)時,數(shù)據(jù)也已經(jīng)被讀出的空閑空間。繼續(xù)進行圖2的說明。作為被管理為上述各項之外的文件信息的項目,存在用于處理(fix)從存儲器101實際讀取數(shù)據(jù)的操作的算法信息。作為算法,準備了用于通過FTP進行數(shù)據(jù)傳輸請求的情況的算法(第一算法)以及用于通過使用由Samba提供的功能而輸入數(shù)據(jù)獲取請求的情況的算法(第二算法)。在圖2中,基于第一算法的從實際存儲器101讀取數(shù)據(jù)的功能被顯示為“FTP讀取器1033”。同樣地,基于第二算法的從存儲器101讀取數(shù)據(jù)的功能被顯示為“CIFS讀取器1034”。文件系統(tǒng)控制單元1032用作文件系統(tǒng)驅動器的功能。即,文件系統(tǒng)控制單元1032依據(jù)從數(shù)據(jù)請求處理單元108 (見圖I)輸入的系統(tǒng)調(diào)用而生成在存儲器101上指定了文件的物理地址的讀取請求,以將請求發(fā)送到存儲控制単元102。具體地,通過使用在系統(tǒng)調(diào)用中指定的文件路徑名作為做出決定的信息 而選擇用于FTP的第一算法和用于Samba的第二算法中的任ー個,以由此基于所選擇的算法生成讀取請求。例如,當在系統(tǒng)調(diào)用中指定的路徑名以“/CIFS”開始,則選擇基于第二算法執(zhí)行讀取的“CIFS讀取器1034”。當系統(tǒng)調(diào)用中指定的路徑名以“/FTP/”開始,則選擇基于第一算法執(zhí)行讀取的FTP讀取器1033。由FTP讀取器從存儲器101讀出的文件被寫入FTP高速緩存103cl,并且由CIFS讀取器1034從存儲器101讀出的文件被寫入CIFS高速緩存103c2。<3.讀取控制單元的處理的示例>[3-1.執(zhí)行打開系統(tǒng)調(diào)用時的處理]接著將參照圖4至圖10說明讀取控制單元103的處理示例。圖4是示出當從數(shù)據(jù)請求處理單元108 (見圖I)接收到打開系統(tǒng)調(diào)用時讀取控制単元103的處理示例的流程圖。打開系統(tǒng)調(diào)用被寫為“fd = open(文件的路徑名)”。當執(zhí)行打開系統(tǒng)調(diào)用時,獲取具有指定的文件名的文件的文件描述符“fd”。首先,讀取控制単元103執(zhí)行打開系統(tǒng)調(diào)用(步驟SI),接著執(zhí)行文件描述符的分配(步驟S2)。隨后,讀取控制単元103判定是否完成了文件描述符的分配(步驟S3),并且如果尚未完成分配,則將錯誤值設置為文件描述符的值,并返回(步驟S4)。接下來,當判定在步驟S3中文件描述符的分配已經(jīng)完成,則進行打開系統(tǒng)調(diào)用中指定的路徑名的判定(步驟S5)。在路徑名包括“CIFS”的情況下,激活CIFS讀取器1034 (見圖2)(步驟S6)。在路徑名包括“FTP”的情況下,激活FTP讀取器1033 (步驟S7)。接著,將所獲取的文件描述符的值設置為變量“fd”,并返回(步驟S8)。雖然在圖4的流程中未示出,但當可以獲得文件描述符時,讀取控制單元103還從存儲器101中獲取打開系統(tǒng)調(diào)用中的路徑名所指示的文件的信息。接著,讀取控制単元103將所獲取的文件信息寫入到未示出的管理表中,以便與步驟S8中返回的文件描述符相關聯(lián)。[3-2.基于FTP的數(shù)據(jù)傳輸請求的數(shù)據(jù)讀取處理]圖5是示出當在打開系統(tǒng)調(diào)用之后從數(shù)據(jù)請求處理單元108 (見圖I)數(shù)據(jù)輸入讀取系統(tǒng)調(diào)用時,讀取控制單元103執(zhí)行的處理示例的流程圖。當打開系統(tǒng)調(diào)用所指定的路徑名包括“FTP”時執(zhí)行圖5中所示的處理。首先,讀取控制単元103執(zhí)行讀取系統(tǒng)調(diào)用(步驟Sll),接著獲取被管理為與打開系統(tǒng)調(diào)用所獲取的文件描述符相關聯(lián)的文件信息(步驟S12)。接著,基于所獲得的文件信息,判定是否將數(shù)據(jù)存儲在FTP高速緩存103cl (見圖2)中(步驟S13)。具體地,基于文件信息中的“讀取點”和“寫入點”(見圖3)進行該判定。當判定在FTP高速緩存103cl中不存在數(shù)據(jù)時,重復步驟13的判定。即,讀取控制単元103等待,直到通過FTP從外部PC 200傳輸了數(shù)據(jù)并且所傳輸?shù)臄?shù)據(jù)被寫入FTP高速緩存103cl中為止。當判定在FTP高速緩存103cl中存在數(shù)據(jù)時,從FTP高速緩存103cl讀取數(shù)據(jù)(步驟S14),并且更新文件信息中的“讀取點”的值(步驟S15)。接著,將讀取的數(shù)據(jù)作為“返回值”返回(步驟S16)。隨后,將參照圖6說明FTP讀取器1033(見圖2)的文件讀取處理的示例。首先,F(xiàn)TP讀取器1033獲取被管理為與打開系統(tǒng)調(diào)用所獲取的文件描述符相關聯(lián)的文件信息(步驟S21)。接著,基于所獲取的文件信息判定FTP高速緩存103cl中是否存在空閑空間(步驟S22)。當判定FTP高速緩存103cI中不存在空閑空間時,重復地執(zhí)行步驟S22的判定。當判定在FTP高速緩存103cl中存在空閑空間吋,將數(shù)據(jù)從存儲器101中讀取到FTP高速緩存103cl中(步驟S23),并且基于讀取位置更新文件信息中的寫入點(步驟S24)。隨后,判定FTP高速緩存103中執(zhí)行寫入的位置(寫入點)是否到達文件的終點位置(步驟S25)。當判定位置已經(jīng)到達文件的終點位置時,將文件信息中的“寫入點”更新為“文件終點”(下文稱為“E0F”),并且處理結束。當判定位置尚未到達文件的終點位置吋,處理返回步驟S22,并繼續(xù)判定。、
S卩,F(xiàn)TP讀取器1033在打開系統(tǒng)調(diào)用的執(zhí)行之后立即從存儲器101中讀取文件,并將文件寫入FTP高速緩存103cl中,而不論是否存在讀取系統(tǒng)調(diào)用的發(fā)布(issue)。SP,通過順序訪問而執(zhí)行基于FTP的數(shù)據(jù)傳輸請求從存儲器101中的數(shù)據(jù)讀出。圖7示出當外部PC 200請求使用FTP進行文件傳輸時執(zhí)行的數(shù)據(jù)讀取處理的示例。在圖7中,水平軸表示時間,各個處理塊中示出的矩形表示各個塊中的處理時間。處理時間表示例如將從高位塊發(fā)送的數(shù)據(jù)讀取請求轉換為關于低位塊的數(shù)據(jù)讀取請求的時段、從低位塊輸出的數(shù)據(jù)返回到高位塊所必須的時段、等等。箭頭表示讀取請求被發(fā)送到低位塊的方向以及從存儲器101讀取的數(shù)據(jù)被發(fā)送到高位塊的方向。通過上述順序訪問而執(zhí)行基于FTP的文件傳輸請求從存儲器101的數(shù)據(jù)讀出。因此,提前讀取將是有效的。因而,如圖7所示,從存儲器101讀出的數(shù)據(jù)Dtl至數(shù)據(jù)Dt3的大小被設置為相對較大。從存儲器101中讀出大數(shù)據(jù),并且當執(zhí)行來自PC IF控制單元111的讀取請求吋,從FTP高速緩存103cI讀出數(shù)據(jù),從而改善讀出響應。通過執(zhí)行如上的處理,可以減少關于存儲器101的訪問次數(shù),因此,當存儲器101不被訪問時,作為多任務執(zhí)行的其它任務可以訪問存儲器101。即,改善了存儲器101的使用效率。甚至當未從高位PC IF控制單元111發(fā)送讀取請求時,讀取控制單元103中的文件系統(tǒng)控制単元1032也生成指示從存儲器101讀出數(shù)據(jù)的讀取請求。接著將所生成的讀取請求發(fā)送到FTP高速緩存103cl。在圖7中將該處理顯示為從文件系統(tǒng)控制單元1032向下延伸到FTP高速緩存103cl的箭頭的左側的第二和第三個箭頭。即,做出指示,使得數(shù)據(jù)從存儲器101讀取到FTP高速緩存103cl中作為預先讀取的數(shù)據(jù)。通過FTP讀取器1033(圖2)執(zhí)行適合FTP的文件傳輸?shù)臄?shù)據(jù)讀取。在圖7所示的示例中,期望從存儲器101中讀出的數(shù)據(jù)大小被設置為相對較大,然而,還優(yōu)選應用逐漸增加大小的方法,而不從第一次讀取起就將大小設置為大。當讀取請求指示讀出的偏移地址不是從上次訪問的偏移地址繼續(xù)時,則優(yōu)選通過以上方法執(zhí)行讀出。當偏移地址不連續(xù)時,難以使用存儲在CIFS高速緩存103c2中的數(shù)據(jù)進行預先讀取。因此,從存儲器101讀出數(shù)據(jù)的時段將直接是讀出響應的延遲時間。因為從存儲器101讀出數(shù)據(jù)的時段與數(shù)據(jù)大小成比例,所以優(yōu)選將讀出大小設置得較小,用于加速響應。隨著每次讀出大小逐漸增加,優(yōu)選應用可以從存儲器101讀出的最大大小,直到PC IF高速緩存105 (見圖I)耗盡為止。可以考慮以下方法作為計算讀出大小的方法。首先,對于數(shù)據(jù)的讀出大小的計算,假設讀取控制単元103的讀出速度是“X”,讀取控制単元103讀取的文件大小為“S”,并且網(wǎng)絡控制単元110讀出具有大小“S”的數(shù)據(jù)的時段是“T”。此外,假設讀取控制單元103從存儲器101第n次讀出數(shù)據(jù)時的幀數(shù)是“j”,并且第(n-1)次讀出數(shù)據(jù)時的幀數(shù)是“i”。在此情況中,第n次讀出的幀數(shù)“ j”被設置為滿足以下兩個表達式的值。T(j) < S(i)/x …(I)j > i…⑵即,根據(jù)表達式(I),第n次讀出的幀數(shù)“ j ”被設置為ー值,使得讀取控制單元讀取j個幀的時間T(j)將小于i個幀的數(shù)據(jù)S(i)除以網(wǎng)絡控制單元110的讀出速度X而獲得的值。根據(jù)該計算,可以計算讀取控制単元103能夠從存儲器101讀出的數(shù)據(jù)大小,直到讀取控制單元103讀取了存儲在PC IF高速緩存105中的所有數(shù)據(jù)為止。此外,根據(jù)表達式 (2),作為由表達式(I)計算的幀數(shù)‘j’,大于已經(jīng)讀取的幀數(shù)“i”的值被縮小。如上所述,通過以以上方式確定讀取大小并通過所確定的大小執(zhí)行讀取,從存儲器101讀出的數(shù)據(jù)大小將從小尺寸逐漸增加。[3-3.通過使用Samba的功能執(zhí)行基于數(shù)據(jù)傳輸請求的數(shù)據(jù)讀取處理]圖8是示出當在打開系統(tǒng)調(diào)用之后數(shù)據(jù)請求處理單元108 (見圖I)數(shù)據(jù)輸入讀取系統(tǒng)調(diào)用時,讀取控制單元103執(zhí)行的處理示例的流程圖。當打開系統(tǒng)調(diào)用所指定的路徑名包括“CIFS”時,執(zhí)行圖8中所示的處理。首先,讀取控制単元103執(zhí)行讀取系統(tǒng)調(diào)用或pread系統(tǒng)調(diào)用(步驟S31),接著,獲取被管理為與打開系統(tǒng)調(diào)用所獲取的文件描述符相關聯(lián)的文件信息(步驟S32)。接著,判定系統(tǒng)調(diào)用中是否指定了偏移(步驟S33)。即,判定所執(zhí)行的系統(tǒng)調(diào)用是讀取系統(tǒng)調(diào)用還是pread系統(tǒng)調(diào)用。Pread系統(tǒng)調(diào)用是用于指示將從文件描述符“fd”管理的文件的頭部偏移的指定字節(jié)數(shù)的數(shù)據(jù)讀取到緩存中的系統(tǒng)調(diào)用。當指定了偏移吋,即當執(zhí)行pread系統(tǒng)調(diào)用時,將位置移動到從文件的頭部移動指定偏移的位置(該位置在下文中被稱為“指定偏移地址”)(步驟S34)。當未指定偏移吋,即當執(zhí)行讀取系統(tǒng)調(diào)用時,從文件信息中獲取“偏移地址”(步驟S35)。隨后,判定CIFS高速緩存103c2中是否存在數(shù)據(jù)(步驟S36),并且當未累積數(shù)據(jù)吋,讀取控制単元103請求CIFS讀取器1034從存儲器101中讀出數(shù)據(jù)(步驟S37)。當在CIFS高速緩存103c2中存在數(shù)據(jù)時,從CIFS高速緩存103c2中讀出數(shù)據(jù)(步驟S38),將所讀取的數(shù)據(jù)作為返回值返回(步驟S39)。圖9是示出CIFS讀取器1034(見圖2)進行的文件讀取處理的示例的流程圖。首先,CIFS讀取器1034獲取被管理為與打開系統(tǒng)調(diào)用所獲取的文件描述符相關聯(lián)的文件信息(步驟S41)。隨后,判定是否已經(jīng)從文件系統(tǒng)控制単元1032(見圖2)接收到數(shù)據(jù)讀取請求(步驟S42)。即,判定是否已經(jīng)執(zhí)行了讀取系統(tǒng)調(diào)用或pread系統(tǒng)調(diào)用。當判定已經(jīng)接收到數(shù)據(jù)讀取請求,則讀取控制單元103刪除CIFS高速緩存103c2上的數(shù)據(jù)(步驟S43),并將數(shù)據(jù)從存儲器101讀取到CIFS高速緩存103c2中(步驟S44)。接著,更新文件信息中的“寫入點”(步驟S45)。當判定尚未接收到數(shù)據(jù)讀取請求時,讀取控制單元103判定文件信息是否是“EOF” (步驟S46)。S卩,判定CIFS高速緩存103c2中的“寫入點”是否到達“EOF”。
當文件信息是“EOF”時,處理返回步驟S42,并且重復判定。當文件信息不是“EOF”時,判定CIFS高速緩存103c2中是否存在空閑空間(步驟S47)。當判定CIFS高速緩存103c2中不存在空閑空間時,處理返回步驟S42,并重復判定。當判定CIFS高速緩存103c2中存在空閑空間時,讀取控制單元103將數(shù)據(jù)從存儲器101讀取到CIFS高速緩存103c2中(步驟S48)并且更新文件信息中的“寫入點”(步驟S49)。步驟S47之后的處理與預先讀取中向CIFS高速緩存103c2的數(shù)據(jù)累積處理的說明一致。S卩,CIFS讀取器1034在接收到數(shù)據(jù)讀取請求時從存儲器101讀取數(shù)據(jù)并將數(shù)據(jù)寫入CIFS高速緩存103c2中。通過Samba提供的文件共享服務執(zhí)行讀取請求,因此,指定了讀出的文件在每個情況中都不同。因此,隨機訪問地執(zhí)行從存儲器101的數(shù)據(jù)讀出。圖10示出了當外部PC 200請求通過Samba提供的文件共享服務的文件讀出時所執(zhí)行的數(shù)據(jù)讀出處理的示例。在圖10中,水平軸表示時間,各個處理塊中所示的矩形表示相應塊中的處理時間。
如上所述,通過隨機訪問執(zhí)行當通過Samba提供的文件共享服務請求文件讀出時所執(zhí)行的數(shù)據(jù)讀出。因此,響應于請求快速讀取數(shù)據(jù)是重要的(快速響應是重要的)。因而,從存儲器101讀取的數(shù)據(jù)Dtl至數(shù)據(jù)Dt3的大小被設置為較小,如圖10所示。如從文件系統(tǒng)控制單元1032向下延伸到CIFS高速緩存103c2的箭頭的左側的第二個箭頭所示,還做出將數(shù)據(jù)讀取到CIFS高速緩存103c2作為預先讀取的指示。然而,很可能下次指定訪問的偏移地址不從此次讀取到CIFS高速緩存103c2的地址連續(xù),因此,作為預先讀取而讀取的數(shù)據(jù)大小被設置為小。由CIFS讀取器1034(圖2)執(zhí)行適合于通過Samba提供的文件共享服務而執(zhí)行的數(shù)據(jù)讀取請求的數(shù)據(jù)讀出。根據(jù)以上實施例,通過使用系統(tǒng)調(diào)用中指定的文件的路徑名作為用于做出決定的信息,可以選擇用于FTP的第一算法和用于Samba的第二算法中的任一個,以由此依據(jù)所選擇的算法讀出數(shù)據(jù)。S卩,針對特定應用創(chuàng)建的、用于處理文件系統(tǒng)的讀取操作的兩個算法在使用時可以切換。通過使用作為標準的OS提供的系統(tǒng)調(diào)用中的路徑名作為用于做出決定的信息而執(zhí)行算法的切換。因此,可以通過滿足程序(應用)做出的請求的方法而執(zhí)行讀出,而不新提供用于發(fā)送表示關于文件系統(tǒng)期望哪個讀取操作的信息的方法。在以上實施例中,通過引用兩個程序(“Samba”和“ftpd”)作為示例進行了說明,然而,本公開不限于此??梢酝ㄟ^形成對應于相應的應用的算法,由關于其它各種應用的最佳方法而執(zhí)行讀出。程序的數(shù)目不限于兩個。已經(jīng)引用了將根據(jù)本公開的實施例的再現(xiàn)裝置應用于僅執(zhí)行再現(xiàn)的再現(xiàn)裝置中的示例,然而,可以將本公開的實施例應用于還可以執(zhí)行記錄的記錄/再現(xiàn)裝置。本公開可以實施為以下構造。(I) 一種再現(xiàn)裝置,包括存儲單元,累積數(shù)據(jù);程序控制單元,控制生成對累積在所述存儲單元中的數(shù)據(jù)的獲取請求的第一程序以及生成對累積在所述存儲單元中的數(shù)據(jù)的獲取請求的第二程序,所述第二程序與所述第一程序不同;以及讀取控制單元,以文件為基礎管理累積在所述存儲單元中的數(shù)據(jù),當從所述程序控制單元輸入所述數(shù)據(jù)獲取請求時,基于所述數(shù)據(jù)獲取請求中指定的所述文件的存儲位置信息,選擇使用適合通過所述第一程序讀取所述數(shù)據(jù)的方法讀取所述文件的第一算法和使用適合通過所述第二程序讀取所述數(shù)據(jù)的方法讀取所述文件的第二算法中的任一個,并且基于所選擇的第一或第二算法執(zhí)行從所述存儲單元的數(shù)據(jù)讀出。(2)如⑴所述的再現(xiàn)裝置,其中由操作系統(tǒng)作為標準提供的系統(tǒng)調(diào)用執(zhí)行所述數(shù)據(jù)獲取請求。
(3)如⑴或⑵所述的再現(xiàn)裝置,其中所述文件的存儲位置信息是寫入到所述文件的存儲位置的路徑的路徑名。(4)如(I)至(3)所述的再現(xiàn)裝置,其中所述第一程序指示從給定地址對累積在所述存儲單元中的數(shù)據(jù)的連續(xù)讀出,并且所述第二程序指示從指定的特定地址對累積在所述存儲單元中的數(shù)據(jù)的讀出。(5)如⑷所述的再現(xiàn)裝置,其中當選擇所述第一算法時,所述讀取控制單元基于所述第一算法將從所述存儲單元讀出的數(shù)據(jù)的量設置為大,并且當選擇所述第二算法時,所述讀取控制單元基于所述第二算法將從所述存儲單元讀出的數(shù)據(jù)的量設置為小。(6) —種再現(xiàn)方法,包括累積數(shù)據(jù);控制生成對所累積的數(shù)據(jù)的獲取請求的第一程序以及生成對所累積的數(shù)據(jù)的獲取請求的第二程序,所述第二程序與所述第一程序不同;以文件為基礎管理所累積的數(shù)據(jù);以及當輸入所述數(shù)據(jù)獲取請求時,基于所述數(shù)據(jù)獲取請求中指定的所述文件的存儲位置信息,選擇使用適合通過所述第一程序讀取所述數(shù)據(jù)的方法讀取所述文件的第一算法和使用適合通過所述第二程序讀取所述數(shù)據(jù)的方法讀取所述文件的第二算法中的任一個,并且基于所選擇的第一或第二算法執(zhí)行所累積的數(shù)據(jù)的讀出。本公開包含與2011年4月7日提交到日本專利局的日本在先專利申請JP2011-085420中公開的主題有關的主題,通過引用將其全部內(nèi)容合并于此。本領域的技術人員應該理解,根據(jù)設計需要和其它因素可以進行各種變形、組合、子組合和改變,它們?nèi)栽谒綑嗬蠡蚺c其等價的范圍內(nèi)。
權利要求
1.一種再現(xiàn)裝置,包括 存儲單元,累積數(shù)據(jù); 程序控制單元,控制生成對累積在所述存儲単元中的數(shù)據(jù)的獲取請求的第一程序以及生成對累積在所述存儲単元中的數(shù)據(jù)的所述獲取請求的第二程序,所述第二程序與所述第一程序不同;以及 讀取控制単元,以文件為基礎管理累積在所述存儲単元中的數(shù)據(jù),當從所述程序控制單元輸入所述數(shù)據(jù)獲取請求時,基于所述數(shù)據(jù)獲取請求中指定的所述文件的存儲位置信息,選擇使用適合通過所述第一程序讀取所述數(shù)據(jù)的方法讀取所述文件的第一算法和使用適合通過所述第二程序讀取所述數(shù)據(jù)的方法讀取所述文件的第二算法中的任ー個,并且基于所選擇的第一或第二算法執(zhí)行從所述存儲単元的數(shù)據(jù)讀出。
2.如權利要求I所述的再現(xiàn)裝置, 其中由操作系統(tǒng)提供的作為標準的系統(tǒng)調(diào)用執(zhí)行所述數(shù)據(jù)獲取請求。
3.如權利要求2所述的再現(xiàn)裝置, 其中所述文件的存儲位置信息是寫入了到所述文件的存儲位置的路徑的路徑名。
4.如權利要求3所述的再現(xiàn)裝置, 其中所述第一程序指示從給定地址對累積在所述存儲単元中的數(shù)據(jù)的連續(xù)讀出,并且所述第二程序指示從指定的特定地址對累積在所述存儲単元中的數(shù)據(jù)的讀出。
5.如權利要求4所述的再現(xiàn)裝置, 其中當選擇所述第一算法時,所述讀取控制單元基于所述第一算法將從所述存儲単元讀出的數(shù)據(jù)的量設置為大,并且當選擇所述第二算法時,所述讀取控制單元基于所述第二算法將從所述存儲單元讀出的數(shù)據(jù)的量設置為小。
6.一種再現(xiàn)方法,包括 累積數(shù)據(jù); 控制生成對所累積的數(shù)據(jù)的獲取請求的第一程序以及生成對所累積的數(shù)據(jù)的獲取請求的第二程序,所述第二程序與所述第一程序不同; 以文件為基礎管理所累積的數(shù)據(jù);以及 當輸入所述數(shù)據(jù)獲取請求時,基于所述數(shù)據(jù)獲取請求中指定的所述文件的存儲位置信息,選擇使用適合通過所述第一程序讀取所述數(shù)據(jù)的方法讀取所述文件的第一算法和使用適合通過所述第二程序讀取所述數(shù)據(jù)的方法讀取所述文件的第二算法中的任ー個,并且基于所選擇的第一或第二算法執(zhí)行所累積的數(shù)據(jù)的讀出。
全文摘要
一種再現(xiàn)裝置包括存儲單元,累積數(shù)據(jù);程序控制單元,控制分別生成對累積在所述存儲單元中的數(shù)據(jù)的獲取請求的第一程序以及生成對累積在所述存儲單元中的數(shù)據(jù)的獲取請求的第二程序,所述第二程序與所述第一程序不同;以及讀取控制單元,以文件為基礎管理所述數(shù)據(jù),當從所述程序控制單元輸入所述數(shù)據(jù)獲取請求時,基于所述數(shù)據(jù)獲取請求中指定的所述文件的存儲位置信息,選擇使用適合通過所述第一程序讀取所述數(shù)據(jù)的方法讀取所述文件的第一算法和使用適合通過所述第二程序讀取所述數(shù)據(jù)的方法讀取所述文件的第二算法中的任一個,并且基于所選擇的第一或第二算法執(zhí)行從所述存儲單元的數(shù)據(jù)讀出。
文檔編號G06F12/08GK102736862SQ201210093009
公開日2012年10月17日 申請日期2012年3月31日 優(yōu)先權日2011年4月7日
發(fā)明者增田博, 若谷茂樹 申請人:索尼公司