專利名稱:響應(yīng)于對(duì)相同文件的多個(gè)請(qǐng)求對(duì)數(shù)據(jù)進(jìn)行分配的裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)分配裝置、存儲(chǔ)裝置、控制這些裝置的方法、數(shù)據(jù)傳送系統(tǒng),更具體地涉及能夠用于處理比如電影圖象、語音和音樂數(shù)據(jù)等這樣的大量順序數(shù)據(jù)的系統(tǒng)的方法。
最近,對(duì)存儲(chǔ)比如圖象、語音,音樂等等這樣的順序多媒體數(shù)據(jù)使得多個(gè)用戶能夠檢索和使用數(shù)據(jù)的系統(tǒng)的需求不斷增長(zhǎng)。
這種系統(tǒng)具有下述優(yōu)點(diǎn)。
(1)能夠同時(shí)發(fā)出對(duì)存儲(chǔ)裝置中同一文件的多個(gè)讀請(qǐng)求。
(2)幾乎沒有對(duì)存儲(chǔ)裝置的寫請(qǐng)求,因此數(shù)據(jù)讀請(qǐng)求對(duì)數(shù)據(jù)寫請(qǐng)求的比率高。
(3)在信號(hào)讀請(qǐng)求下從存儲(chǔ)裝置讀的數(shù)據(jù)量大,并且是順序讀的。
因此,系統(tǒng)應(yīng)該對(duì)同時(shí)從多個(gè)用戶對(duì)同一文件發(fā)出的讀請(qǐng)求進(jìn)行快速應(yīng)答。
圖1示出常規(guī)存儲(chǔ)裝置和數(shù)據(jù)傳送系統(tǒng)的結(jié)構(gòu)。
在圖1中,121、122和123分別是客戶1、客戶2和客戶N。
服務(wù)器124在客戶121、122和123的請(qǐng)求下從存儲(chǔ)設(shè)備130讀數(shù)據(jù)和向其寫數(shù)據(jù)。
存儲(chǔ)設(shè)備130是一個(gè)存儲(chǔ)裝置,保存有大量比如圖象、語音、音樂等等這樣的順序多媒體數(shù)據(jù)。
服務(wù)器接口裝置131是存儲(chǔ)設(shè)備130與服務(wù)器124之間的接口。
存儲(chǔ)裝置接口單元132與存儲(chǔ)設(shè)備130和存儲(chǔ)裝置136進(jìn)行接口。
存儲(chǔ)控制裝置133對(duì)從存儲(chǔ)裝置136讀和向其寫進(jìn)行控制。
控制裝置134對(duì)從存儲(chǔ)控制裝置133讀和向其寫進(jìn)行控制。
控制存儲(chǔ)器135保存一個(gè)用于從存儲(chǔ)裝置136讀和向其寫的程序。
存儲(chǔ)裝置136存儲(chǔ)每個(gè)文件的數(shù)據(jù)。例如,文件A存儲(chǔ)電影A,而文件B存儲(chǔ)電影B。
下面描述圖1所示的結(jié)構(gòu)的工作。
在客戶121、122和123的讀請(qǐng)求下,服務(wù)器124通知存儲(chǔ)設(shè)備130讀所請(qǐng)求的文件。該通知通過服務(wù)器接口裝置131發(fā)送到控制裝置134,并且控制裝置134指示存儲(chǔ)裝置接口單元132根據(jù)控制存儲(chǔ)器135的讀控制程序去讀所指定的數(shù)據(jù)。
存儲(chǔ)裝置接口單元132在來自存儲(chǔ)裝置136的文件中檢索指定數(shù)據(jù),并且將該數(shù)據(jù)傳送到服務(wù)器接口裝置131。服務(wù)器接口裝置131從存儲(chǔ)裝置接口單元132接收所發(fā)送的數(shù)據(jù),并且將其傳送到服務(wù)器124。服務(wù)器124將所接收的數(shù)據(jù)傳送到請(qǐng)求客戶121、122和123。
如果存儲(chǔ)裝置136處于正在寫或讀數(shù)據(jù)而不能立即開始讀所指定的數(shù)據(jù)的期間,則存儲(chǔ)裝置接口單元132通知控制裝置134存儲(chǔ)裝置136忙。控制裝置134通知服務(wù)器接口裝置131存儲(chǔ)裝置136忙。該通知從服務(wù)器接口裝置131發(fā)送到服務(wù)器124,服務(wù)器124指示已經(jīng)發(fā)出讀請(qǐng)求的客戶121、122和123等待讀數(shù)據(jù)。
下面描述從客戶121、122和123向存儲(chǔ)裝置136寫數(shù)據(jù)的情形。
客戶121、122和123向服務(wù)器124發(fā)出寫數(shù)據(jù)的請(qǐng)求。服務(wù)器124向服務(wù)器接口裝置131發(fā)出寫請(qǐng)求。來自服務(wù)器124的寫請(qǐng)求從服務(wù)器接口裝置131發(fā)送到控制裝置134,控制裝置134根據(jù)控制存儲(chǔ)器135的寫控制程序訪問存儲(chǔ)裝置接口單元132,向存儲(chǔ)裝置接口單元132要求寫能力。
如果存儲(chǔ)裝置136等待寫數(shù)據(jù),則存儲(chǔ)裝置接口單元132通知控制裝置134能夠向存儲(chǔ)裝置136寫數(shù)據(jù),并且該通知經(jīng)過服務(wù)器接口裝置131發(fā)送到服務(wù)器124。服務(wù)器124向已經(jīng)發(fā)出寫請(qǐng)求的客戶121、122和123通知能夠成功地寫數(shù)據(jù)。
已經(jīng)發(fā)出寫請(qǐng)求的客戶121、122和123將待寫數(shù)據(jù)傳送到服務(wù)器124。服務(wù)器124在從客戶121、122和123收到數(shù)據(jù)后將待寫數(shù)據(jù)傳送到服務(wù)器接口裝置131。待寫數(shù)據(jù)被傳送到存儲(chǔ)裝置接口單元132,并寫入存儲(chǔ)裝置136。
當(dāng)存儲(chǔ)裝置136正忙并且不能寫數(shù)據(jù)時(shí),存儲(chǔ)裝置接口單元132通知控制裝置134存儲(chǔ)裝置136忙,并且控制裝置134通知服務(wù)器接口裝置131存儲(chǔ)裝置136忙。服務(wù)器接口裝置131通知服務(wù)器124存儲(chǔ)裝置136忙,并且服務(wù)器124通知客戶121、122和123存儲(chǔ)裝置136忙。
然而,即使常規(guī)數(shù)據(jù)傳送系統(tǒng)從多個(gè)客戶(客戶1(121),2(122)和N(133))同時(shí)接收對(duì)同一文件的讀請(qǐng)求,它也根據(jù)各個(gè)客戶121、122和123的請(qǐng)求從存儲(chǔ)裝置136檢索所請(qǐng)求文件中的數(shù)據(jù),并且按發(fā)出請(qǐng)求的順序?qū)⒃摂?shù)據(jù)傳送到每個(gè)請(qǐng)求客戶121、122和123。
例如,幾乎同時(shí)從客戶1(122)、2(122)和N(123)按這種順序接收對(duì)文件A的讀請(qǐng)求。服務(wù)器124向服務(wù)器接口裝置131發(fā)出對(duì)文件A的讀請(qǐng)求。在上述控制下,從存儲(chǔ)設(shè)備130的存儲(chǔ)裝置136檢索文件A中的數(shù)據(jù),并傳送到服務(wù)器124。服務(wù)器124將文件A中的數(shù)據(jù)傳送到第一個(gè)請(qǐng)求客戶(客戶1(121))。
當(dāng)傳送結(jié)束時(shí),服務(wù)器124類似地請(qǐng)求服務(wù)器接口裝置131再次讀文件A。在上述讀控制下,從存儲(chǔ)設(shè)備130的存儲(chǔ)裝置136檢索文件A中的數(shù)據(jù),并且傳送到服務(wù)器124。服務(wù)器124將數(shù)據(jù)傳送到下一個(gè)客戶2(122)。
當(dāng)完成向客戶2(122)傳送數(shù)據(jù)時(shí),服務(wù)器請(qǐng)求服務(wù)器接口裝置131再次讀文件A。根據(jù)上述讀控制方法,從存儲(chǔ)設(shè)備130的存儲(chǔ)裝置136檢索文件A中的數(shù)據(jù),并且傳送到服務(wù)器124。服務(wù)器124將數(shù)據(jù)傳送到第三個(gè)請(qǐng)求客戶N(123)。
這樣,即使常規(guī)數(shù)據(jù)傳送系統(tǒng)從多個(gè)客戶121、122和123幾乎同時(shí)接收對(duì)同一文件的讀請(qǐng)求,也通過存儲(chǔ)裝置136從同一文件重復(fù)的讀數(shù)據(jù),并且傳送到服務(wù)器124,而且服務(wù)器124在每次讀數(shù)據(jù)時(shí)順序傳送文件中的數(shù)據(jù),因此傳送效率不高。
尤其是當(dāng)文件的內(nèi)容涉及比如包括畫面、語音、音樂等電影數(shù)據(jù)這樣的大量順序多媒體數(shù)據(jù)時(shí),需要長(zhǎng)時(shí)問從存儲(chǔ)裝置136讀數(shù)據(jù)。因此,客戶121、122和123必須長(zhǎng)時(shí)間等待,并且不能立即回答客戶121、122和123的請(qǐng)求。
本發(fā)明目的在于提供一種數(shù)據(jù)分配裝置、存儲(chǔ)裝置和用于控制這些裝置的方法,以及數(shù)據(jù)傳送系統(tǒng),以便當(dāng)多個(gè)客戶發(fā)出對(duì)于相同文件的讀請(qǐng)求時(shí),有效地檢索所請(qǐng)求的數(shù)據(jù)以便于傳送。
為解決上述問題,本發(fā)明包括一個(gè)讀請(qǐng)求頻率計(jì)數(shù)單元,用于對(duì)每個(gè)文件對(duì)來自請(qǐng)求客戶的讀請(qǐng)求的頻率進(jìn)行計(jì)數(shù);一個(gè)讀請(qǐng)求頻率確定單元,用于確定是否有一個(gè)其讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定值的文件;以及文件發(fā)送指示單元,用于指定傳送其讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定時(shí)間的文件。
這樣,經(jīng)常對(duì)其做出讀請(qǐng)求的文件能夠在做出請(qǐng)求之后的短時(shí)間內(nèi)同時(shí)被傳送到多個(gè)請(qǐng)求客戶。因此,不必在短時(shí)間內(nèi)重復(fù)地讀取經(jīng)常對(duì)其做出讀請(qǐng)求的同一文件,并且能夠降低請(qǐng)求客戶的裝置上的負(fù)載,將等待時(shí)間縮短直到得到所請(qǐng)求文件。
本發(fā)明的第二方面還包括第一存儲(chǔ)單元,用于存儲(chǔ)文件;第二存儲(chǔ)單元,具有比第一存儲(chǔ)單元更高的讀速度;以及一個(gè)存儲(chǔ)器控制單元,用于優(yōu)先存儲(chǔ)以較高頻率對(duì)其做出讀請(qǐng)求的文件。
這樣,能夠快速地從第二存儲(chǔ)單元讀并且發(fā)送經(jīng)常被讀的文件,從而縮短了獨(dú)占第一存儲(chǔ)單元以讀文件所需的時(shí)間,并且也縮短了不能訪問第一存儲(chǔ)單元的時(shí)間。因此,能夠成功地降低請(qǐng)求客戶的等待時(shí)間。
根據(jù)本發(fā)明第三方面,存儲(chǔ)裝置包括存儲(chǔ)單元,以文件為單位保存大量順序數(shù)據(jù);以及存儲(chǔ)器控制單元,用于控制在存儲(chǔ)單元中所保存的數(shù)據(jù)的輸入和輸出。該存儲(chǔ)器控制單元包括控制單元,用于控制讀存儲(chǔ)單元內(nèi)的數(shù)據(jù);讀請(qǐng)求確定單元,用于確定對(duì)存儲(chǔ)單元中所保存的同一文件的數(shù)據(jù)的讀請(qǐng)求;讀請(qǐng)求頻率計(jì)數(shù)單元,用于每次做出讀請(qǐng)求時(shí)對(duì)讀文件的請(qǐng)求的頻率進(jìn)行計(jì)數(shù),或者用于在預(yù)定時(shí)間間隔更新每個(gè)文件的計(jì)數(shù)值;以及讀開始確定單元,用于在該文件的讀請(qǐng)求頻率計(jì)數(shù)值達(dá)到預(yù)定常量時(shí)指示控制單元讀相應(yīng)文件。利用該結(jié)構(gòu),在讀該文件的請(qǐng)求的頻率達(dá)到預(yù)定頻率時(shí)或者在從第一個(gè)讀請(qǐng)求已經(jīng)過去預(yù)定時(shí)間之后,讀文件。
這樣,能夠在做出讀請(qǐng)求之后的短時(shí)間內(nèi),同時(shí)向多個(gè)請(qǐng)求客戶發(fā)送對(duì)其頻繁做出讀請(qǐng)求的文件。另一方面,在已經(jīng)過去預(yù)定時(shí)間之后,能夠同時(shí)向多個(gè)請(qǐng)求客戶發(fā)送對(duì)其極少做出讀請(qǐng)求的文件。因此,不必不顧讀請(qǐng)求的頻率在短時(shí)間內(nèi)重復(fù)讀同一文件,并且能夠降低發(fā)送裝置上的負(fù)載,使等待時(shí)間縮短直到得到所請(qǐng)求的文件。
根據(jù)本發(fā)明第四方面,存儲(chǔ)裝置包括請(qǐng)求客戶信息讀單元,用于從服務(wù)器讀讀請(qǐng)求接收表的內(nèi)容;以及數(shù)據(jù)傳送單元,用于根據(jù)讀請(qǐng)求接收表的內(nèi)容向請(qǐng)求客戶傳送文件的串行數(shù)據(jù)。
這樣,因?yàn)槟軌蛑苯訌拇鎯?chǔ)裝置向請(qǐng)求客戶傳送所請(qǐng)求的文件中的串行數(shù)據(jù),所以能夠縮短向請(qǐng)求客戶發(fā)送所請(qǐng)求文件中的串行數(shù)據(jù)所需的時(shí)間,并且能夠成功地降低服務(wù)器上的負(fù)載。
根據(jù)本發(fā)明第五方面,在管理高速緩沖存儲(chǔ)器的存儲(chǔ)區(qū)時(shí)所使用的高速緩沖存儲(chǔ)器管理表包括文件管理表,在管理高速緩沖存儲(chǔ)器中所存儲(chǔ)的文件的優(yōu)先權(quán)時(shí)使用;以及塊管理表,在管理每個(gè)文件的塊存儲(chǔ)器優(yōu)先權(quán)時(shí)使用。
因此,能夠以文件為單位將數(shù)據(jù)存儲(chǔ)在高速緩沖存儲(chǔ)器中或從高速緩沖存儲(chǔ)器中刪除,從而在高速緩沖存儲(chǔ)器中所存儲(chǔ)的數(shù)據(jù)不致在文件中不連續(xù),并且順利地讀已經(jīng)對(duì)其做出從高速緩沖存儲(chǔ)器讀請(qǐng)求的文件。
圖1示出常規(guī)存儲(chǔ)裝置和數(shù)據(jù)傳送系統(tǒng);圖2是顯示根據(jù)本發(fā)明第一實(shí)施方式的數(shù)據(jù)分配裝置的結(jié)構(gòu)的框圖;圖3是顯示根據(jù)本發(fā)明第一實(shí)施方式的存儲(chǔ)裝置的結(jié)構(gòu)的框圖;圖4是顯示根據(jù)本發(fā)明第二實(shí)施方式的存儲(chǔ)裝置的結(jié)構(gòu)的框圖;圖5是顯示根據(jù)本發(fā)明第一實(shí)施方式的接收裝置的結(jié)構(gòu)的框圖;圖6示出根據(jù)本發(fā)明第一實(shí)施方式控制高速緩沖存儲(chǔ)器的方法;圖7是顯示根據(jù)本發(fā)明第一實(shí)施方式的數(shù)據(jù)傳送系統(tǒng)的結(jié)構(gòu)的框圖;圖8是顯示根據(jù)本發(fā)明第二實(shí)施方式的數(shù)據(jù)傳送系統(tǒng)的結(jié)構(gòu)的框圖;圖9示出根據(jù)本發(fā)明第一實(shí)施方式的讀請(qǐng)求頻率計(jì)數(shù)單元和讀請(qǐng)求表;圖10示出圖8所示的數(shù)據(jù)傳送系統(tǒng)的工作;圖11是示出根據(jù)本發(fā)明第一實(shí)施方式的圖8中所示的數(shù)據(jù)傳送系統(tǒng)的工作的流程圖;圖12是示出根據(jù)本發(fā)明第二實(shí)施方式的圖8中所示的數(shù)據(jù)傳送系統(tǒng)的工作的流程圖;圖13是示出根據(jù)本發(fā)明第三實(shí)施方式的圖8中所示的數(shù)據(jù)傳送系統(tǒng)的工作的流程圖;圖14是顯示根據(jù)本發(fā)明第二實(shí)施方式的數(shù)據(jù)傳送系統(tǒng)的結(jié)構(gòu)的框圖;圖15是示出根據(jù)本發(fā)明第一實(shí)施方式的圖14中所示的數(shù)據(jù)傳送系統(tǒng)的工作的流程圖;圖16是示出根據(jù)本發(fā)明第二實(shí)施方式的圖14中所示的數(shù)據(jù)傳送系統(tǒng)的工作的流程圖;圖17示出根據(jù)本發(fā)明第一實(shí)施方式控制高速緩沖存儲(chǔ)器的方法;圖18示出根據(jù)本發(fā)明第一實(shí)施方式控制高速緩沖存儲(chǔ)器的方法;圖19是示出根據(jù)本發(fā)明第一實(shí)施方式控制高速緩沖存儲(chǔ)器的方法的流程圖(1);圖20是示出根據(jù)本發(fā)明第一實(shí)施方式控制高速緩沖存儲(chǔ)器的方法的流程圖(2);圖21A示出根據(jù)本發(fā)明第一實(shí)施方式在高速緩沖存儲(chǔ)器中存儲(chǔ)一塊的方法;圖21B示出根據(jù)本發(fā)明第二實(shí)施方式在高速緩沖存儲(chǔ)器中存儲(chǔ)一塊的方法;圖21C示出根據(jù)本發(fā)明第三實(shí)施方式在高速緩沖存儲(chǔ)器中存儲(chǔ)一塊的方法;圖22是顯示根據(jù)本發(fā)明第三實(shí)施方式的數(shù)據(jù)傳送系統(tǒng)的結(jié)構(gòu)的框圖;圖23是顯示根據(jù)本發(fā)明第四實(shí)施方式的數(shù)據(jù)傳送系統(tǒng)的結(jié)構(gòu)的框圖。
下面參照附圖描述根據(jù)本發(fā)明實(shí)施方式的數(shù)據(jù)分配裝置。
圖2是顯示根據(jù)本發(fā)明一個(gè)實(shí)施方式的數(shù)據(jù)分配裝置的結(jié)構(gòu)的框圖。
在圖2中,讀請(qǐng)求頻率計(jì)數(shù)單元1001為每個(gè)文件對(duì)來自請(qǐng)求客戶的文件讀請(qǐng)求頻率進(jìn)行計(jì)數(shù)。讀請(qǐng)求頻率確定單元1002確定是否有其讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定值的文件。如果有讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定值的文件,則文件發(fā)送指示單元1003發(fā)出一個(gè)向請(qǐng)求客戶發(fā)送其讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定值的的文件的指示。
因此,因?yàn)樽x請(qǐng)求頻率計(jì)數(shù)單元1001指示對(duì)于對(duì)其經(jīng)常做出讀請(qǐng)求的文件由讀請(qǐng)求頻率計(jì)數(shù)單元1001所計(jì)數(shù)的讀請(qǐng)求頻率在短時(shí)間內(nèi)達(dá)到預(yù)定值,所以文件發(fā)送指示單元1003快速發(fā)出一個(gè)向請(qǐng)求客戶發(fā)送文件的指示,并且能夠在已經(jīng)做出讀請(qǐng)求之后的短時(shí)間內(nèi)對(duì)多個(gè)請(qǐng)求客戶同時(shí)發(fā)送該文件。
另外,因?yàn)槟軌蛲ㄟ^只讀一次文件而向多個(gè)請(qǐng)求客戶發(fā)送文件,所以不必在短時(shí)間內(nèi)重復(fù)地讀對(duì)其經(jīng)常做出讀請(qǐng)求的同一文件,從而降低了發(fā)送裝置上的負(fù)載。
下面,參照附圖描述根據(jù)本發(fā)明實(shí)施方式的存儲(chǔ)裝置。
圖3是示出根據(jù)本發(fā)明第一實(shí)施方式的存儲(chǔ)裝置的結(jié)構(gòu)的框圖。
在圖3中,存儲(chǔ)設(shè)備1包括一個(gè)存儲(chǔ)數(shù)據(jù)的存儲(chǔ)裝置2和一個(gè)用于對(duì)從存儲(chǔ)裝置2讀數(shù)據(jù)和向其寫數(shù)據(jù)進(jìn)行控制的存儲(chǔ)器控制單元3。
存儲(chǔ)裝置2以文件為單位存儲(chǔ)比如視頻程序這樣的大量串行數(shù)據(jù)。
存儲(chǔ)器控制單元3對(duì)從存儲(chǔ)裝置2讀數(shù)據(jù)和向其寫數(shù)據(jù)進(jìn)行控制。
數(shù)據(jù)輸入/輸出單元11輸入和輸出讀請(qǐng)求、寫請(qǐng)求、數(shù)據(jù)等。
讀請(qǐng)求確定單元12確定讀請(qǐng)求。
讀請(qǐng)求頻率計(jì)數(shù)單元13對(duì)于每個(gè)文件對(duì)在存儲(chǔ)裝置2中所存儲(chǔ)的同一文件的讀請(qǐng)求的頻率進(jìn)行計(jì)數(shù),或者即使沒有讀請(qǐng)求也以預(yù)定時(shí)間間隔更新計(jì)數(shù)值。
讀請(qǐng)求頻率保持單元13’保存指示每個(gè)文件的讀請(qǐng)求的頻率。
讀開始確定單元14確定在讀請(qǐng)求頻率保持單元13’中所保存的計(jì)數(shù)值是否已到達(dá)預(yù)定值,并且確定開始讀其計(jì)數(shù)值已經(jīng)達(dá)到預(yù)定值的文件。
讀控制單元16控制從存儲(chǔ)裝置2讀數(shù)據(jù)。
圖3中所示的存儲(chǔ)器控制單元3由只讀數(shù)據(jù)所需的結(jié)構(gòu)代表,省略了寫數(shù)據(jù)所需的結(jié)構(gòu)。
下面描述圖3中所示的存儲(chǔ)裝置的工作。描述限于數(shù)據(jù)讀請(qǐng)求的操作。
數(shù)據(jù)輸入/輸出單元11接收由數(shù)據(jù)請(qǐng)求客戶向存儲(chǔ)設(shè)備1發(fā)出的請(qǐng)求。讀請(qǐng)求確定單元12從數(shù)據(jù)輸入/輸出單元11所收到的請(qǐng)求中確定數(shù)據(jù)讀請(qǐng)求。讀請(qǐng)求頻率計(jì)數(shù)單元13對(duì)每個(gè)所請(qǐng)求文件的讀請(qǐng)求進(jìn)行計(jì)數(shù),并且將計(jì)數(shù)值存儲(chǔ)在讀請(qǐng)求頻率保持單元13’中。即使沒有讀請(qǐng)求,讀請(qǐng)求頻率計(jì)數(shù)單元13也以預(yù)定時(shí)間間隔更新所有文件的計(jì)數(shù)值。讀開始確定單元14確定由讀請(qǐng)求頻率計(jì)數(shù)單元13所獲得的計(jì)數(shù)值是否已經(jīng)達(dá)到預(yù)定值。如果該值已經(jīng)達(dá)到預(yù)定值,則讀開始確定單元14確定讀相應(yīng)文件,并且指示讀控制單元16讀相應(yīng)文件中的數(shù)據(jù)。
讀控制單元16從存儲(chǔ)裝置2讀指定文件中的數(shù)據(jù),并且向數(shù)據(jù)輸入/輸出單元11傳送數(shù)據(jù)。數(shù)據(jù)輸入/輸出單元11將從存儲(chǔ)裝置2讀的數(shù)據(jù)傳送到請(qǐng)求客戶。如果從存儲(chǔ)裝置2讀的數(shù)據(jù)是由多個(gè)客戶請(qǐng)求的數(shù)據(jù),則向每個(gè)客戶傳送該數(shù)據(jù)。
如上所述,根據(jù)本發(fā)明第一實(shí)施方式的存儲(chǔ)裝置在單個(gè)讀操作中讀由多個(gè)客戶幾乎同時(shí)請(qǐng)求的文件中的數(shù)據(jù),并且向每個(gè)請(qǐng)求客戶傳送該數(shù)據(jù)。因此,能夠降低從存儲(chǔ)裝置2讀數(shù)據(jù)的頻率,并且顯著提高讀數(shù)據(jù)的效率。
圖4是顯示根據(jù)本發(fā)明第二實(shí)施方式的存儲(chǔ)裝置的結(jié)構(gòu)的框圖,圖4中所述的實(shí)施方式涉及控制高速緩沖存儲(chǔ)器5的方法。
如圖4所示,當(dāng)通過設(shè)置高速緩沖存儲(chǔ)器5來傳送數(shù)據(jù)時(shí),存儲(chǔ)器控制單元3的物理或邏輯塊可以是高速緩沖存儲(chǔ)器5中的替換單位。當(dāng)新的塊存儲(chǔ)在高速緩沖存儲(chǔ)器5中時(shí),如果高速緩沖存儲(chǔ)器5可用則將該塊存儲(chǔ)在其中。如果高速緩沖存儲(chǔ)器5不可用,則由一個(gè)新塊替換現(xiàn)有塊中的一個(gè)。
然而,如果簡(jiǎn)單地以塊為單位在高速緩沖存儲(chǔ)器5中對(duì)文件中串行數(shù)據(jù)的塊進(jìn)行管理,則從前導(dǎo)塊(最早的塊)去除各塊。如果文件讀請(qǐng)求是在去除塊之后做出的,則所去除的塊中的一個(gè)可能是對(duì)其已經(jīng)做出讀請(qǐng)求的文件的塊。在這種情形下,不能執(zhí)行命中傳送,從而降低數(shù)據(jù)提供效率。
為避免這種無效性,圖4所示的第二實(shí)施方式包括一個(gè)高速緩沖存儲(chǔ)器管理表22,并且既以文件為單位又以塊為單位在高速緩沖存儲(chǔ)器5中對(duì)空白區(qū)域進(jìn)行管理。
在本發(fā)明第二實(shí)施方式中將要處理的數(shù)據(jù)更易于受到對(duì)存儲(chǔ)設(shè)備1的訪問請(qǐng)求的讀,并且數(shù)據(jù)是大量串行數(shù)據(jù)。因此,在存儲(chǔ)設(shè)備1中設(shè)置高速緩沖存儲(chǔ)器5是有效的。當(dāng)與其中只設(shè)置一個(gè)高速緩沖存儲(chǔ)器5的情形相比,既以文件為單位又以塊為單位對(duì)高速緩沖存儲(chǔ)器5的空白區(qū)域進(jìn)行控制能夠進(jìn)一步提高高速緩沖存儲(chǔ)器5的數(shù)據(jù)傳送能力。
也就是說,根據(jù)本發(fā)明第二實(shí)施方式,在利用存儲(chǔ)設(shè)備1對(duì)讀文件中的數(shù)據(jù)進(jìn)行控制的方法中,存儲(chǔ)器控制單元3包括高速緩沖存儲(chǔ)器5和高速緩沖存儲(chǔ)器管理表22,存儲(chǔ)設(shè)備1包括用于以文件為單位保存大量串行數(shù)據(jù)的存儲(chǔ)裝置2和用于對(duì)存儲(chǔ)裝置2所保存的數(shù)據(jù)的輸入和輸出進(jìn)行控制的存儲(chǔ)器控制單元3。
高速緩沖存儲(chǔ)器管理表22包括一個(gè)在對(duì)高速緩沖存儲(chǔ)器5中所存儲(chǔ)的文件的優(yōu)先權(quán)進(jìn)行管理中所用的文件管理表23;以及一個(gè)在對(duì)每個(gè)文件的塊存儲(chǔ)器的優(yōu)先權(quán)進(jìn)行管理中所用的塊管理表24。
高速緩沖存儲(chǔ)器控制程序21在文件管理表23上為所請(qǐng)求的文件定義將要存儲(chǔ)在高速緩沖存儲(chǔ)器5中的最高優(yōu)先權(quán)。
高速緩沖存儲(chǔ)器控制程序21在塊管理表24上也對(duì)對(duì)其已經(jīng)做出讀請(qǐng)求的塊定義最高優(yōu)先權(quán),并且以從最近請(qǐng)求的塊開始的順序依次遞減優(yōu)先權(quán)。如果高速緩沖存儲(chǔ)器5中沒有區(qū)域以寫新的塊,則高速緩沖存儲(chǔ)器控制程序21以向文件分配的最低優(yōu)先權(quán)開始的順序確定將要去除的文件,并且以文件中所分配的最低優(yōu)先權(quán)開始的順序去除各塊。
當(dāng)存儲(chǔ)順序受到訪問的串行數(shù)據(jù)時(shí),檢查串行數(shù)據(jù)的可訪問性。如果串行數(shù)據(jù)塊中的某些塊存儲(chǔ)在高速緩沖存儲(chǔ)器5中并且如果獲得對(duì)上述塊之前一個(gè)塊的訪問,則對(duì)該文件分配最高優(yōu)先權(quán),不從高速緩沖存儲(chǔ)器5中去除各塊,并且從對(duì)其已經(jīng)做出訪問請(qǐng)求的塊之后一點(diǎn)的一個(gè)塊開始,到存儲(chǔ)在高速緩沖存儲(chǔ)器5中的塊緊接其前的一個(gè)塊,都存儲(chǔ)在高速緩沖存儲(chǔ)器5。
在圖4中,1示出存儲(chǔ)裝置,2示出用于以文件為單位保存大量串行數(shù)據(jù)的存儲(chǔ)裝置。例如,串行數(shù)據(jù)可以是電影數(shù)據(jù)等等,并且存儲(chǔ)單元2以文件為單位存儲(chǔ)比如電影、音樂和語音數(shù)據(jù)這樣的大量串行多媒體數(shù)據(jù)。
5示出高速緩沖存儲(chǔ)器。控制單元6控制存儲(chǔ)裝置2和高速緩沖存儲(chǔ)器5??刂拼鎯?chǔ)器20保存控制單元6的控制程序等。高速緩沖存儲(chǔ)器控制程序21利用控制單元6控制高速緩沖存儲(chǔ)器5。
高速緩沖存儲(chǔ)器管理表22包括在管理高速緩沖存儲(chǔ)器5的文件中所用的文件管理表23;以及在管理各塊中所用的塊管理表24。
文件管理表23用于對(duì)高速緩沖存儲(chǔ)器5中所存儲(chǔ)的文件的管理,并且當(dāng)去除一個(gè)塊時(shí)保存存儲(chǔ)文件時(shí)的優(yōu)先權(quán)。
塊管理表24保存存儲(chǔ)每個(gè)文件的塊時(shí)的優(yōu)先權(quán)。
圖5是示出根據(jù)本發(fā)明一個(gè)實(shí)施方式的接收裝置的結(jié)構(gòu)的框圖。
在圖5中,接收裝置25設(shè)置在數(shù)據(jù)請(qǐng)求客戶中,并且接口26將通信電路與接收裝置25連接起來。緩沖器27存儲(chǔ)從數(shù)據(jù)請(qǐng)求目的地所發(fā)送的數(shù)據(jù)。讀單元28以預(yù)定讀速度讀存儲(chǔ)在緩沖器27中的數(shù)據(jù)。29是一個(gè)CRT。一個(gè)操作單元30是一個(gè)用于請(qǐng)求向數(shù)據(jù)請(qǐng)求目的地發(fā)送數(shù)據(jù)、或者發(fā)出快進(jìn)、倒退、暫停數(shù)據(jù)等指令的操作單元。
例如,接收裝置25在緩沖器27中存儲(chǔ)在以高速從圖4所示的高速緩沖存儲(chǔ)器5讀之后所發(fā)送的數(shù)據(jù)。當(dāng)讀單元28以預(yù)定讀速度讀存儲(chǔ)在緩沖器27中的數(shù)據(jù)時(shí),可以以正常速度再現(xiàn)比如電影畫面這樣的圖象,并且可以執(zhí)行比如快進(jìn)處理、倒退處理、暫停等等的特定再現(xiàn)操作。
圖6示出控制圖4中所示的高速緩沖存儲(chǔ)器5的方法。
在圖6中,23和23’示出文件管理表。文件管理表23存儲(chǔ)文件i,文件j,…,文件k,各文件中含有將要基于優(yōu)先極存儲(chǔ)在高速緩沖存儲(chǔ)器5中的數(shù)據(jù)。例如,當(dāng)對(duì)文件管理表23中的文件k做出讀請(qǐng)求時(shí),則產(chǎn)生文件管理表23’,向文件k分配最高的優(yōu)先權(quán)。這樣,最后作為含有一塊的文件所讀的文件被分配最高的優(yōu)先權(quán),并且最早所讀的文件被分配最低的優(yōu)先權(quán)(最近最少使用(LRU)方法)。
24-1、24-2和24-3是塊管理表。
塊管理表24-1為文件i所用,并且存儲(chǔ)在高速緩沖存儲(chǔ)器5中所存儲(chǔ)的文件i的數(shù)據(jù)塊,為每塊分配優(yōu)先權(quán)以適當(dāng)?shù)厝コ鲏K。也就是說,塊管理表24-1示出高速緩沖存儲(chǔ)器5中所存儲(chǔ)的塊m、…和塊n的狀態(tài)。塊m的優(yōu)先權(quán)最高,塊n的優(yōu)先權(quán)最低。一個(gè)文件中的各塊由先入先出(FIFO)方法或者LRU方法管理。為最新的塊分配最高的優(yōu)先權(quán),使得能夠首先去除最老的塊。
塊管理表24-2為文件j所用,并且示出高速緩沖存儲(chǔ)器5中所存儲(chǔ)的塊o、…和塊p的狀態(tài)。塊o的優(yōu)先權(quán)最高,塊p的優(yōu)先權(quán)最低。
塊管理表24-3為文件k所用,并且示出高速緩沖存儲(chǔ)器5中所存儲(chǔ)的塊q、…和塊r的狀態(tài)。塊q的優(yōu)先權(quán)最高,塊r的優(yōu)先權(quán)最低。
以下所述是圖4所示的存儲(chǔ)裝置的工作。
在圖6中,文件管理表23記錄文件i、文件j和文件k。為文件i分配最高優(yōu)先權(quán),為文件k分配最低優(yōu)先權(quán)。
在文件管理表23的狀態(tài)下,當(dāng)在做出讀文件k的請(qǐng)求時(shí),如在文件管理表23’中那樣為文件k分配最高優(yōu)先權(quán)。這樣,以LRU方法對(duì)文件進(jìn)行管理,為最近讀的文件分配最高的優(yōu)先權(quán),為最早讀的文件分配最低的優(yōu)先權(quán)。
當(dāng)去除一塊時(shí),參照文件管理表23,使得能夠從被分配最低優(yōu)先權(quán)的文件中的塊開始順序去除各塊。
例如,當(dāng)參照?qǐng)D6中所示的文件管理表23時(shí),順序去除文件k中的塊q、…和塊r。
文件是以FIFO方法從被分配最低優(yōu)先權(quán)的塊開始順序去除的。也可以LRU方法去除它們。
例如,當(dāng)去除文件k中的塊q、…和塊r時(shí),首先去除塊r,最后去除塊q。
這樣,通過結(jié)合使用文件管理表23和塊管理表24對(duì)高速緩沖存儲(chǔ)器5進(jìn)行管理,降低了可能去除被頻繁使用的文件中的塊的概率,從而提高命中傳送的概率。
當(dāng)連續(xù)受到訪問的串行數(shù)據(jù)存儲(chǔ)在高速緩沖存儲(chǔ)器5中時(shí),檢查串行數(shù)據(jù)訪問狀態(tài)。如果串行數(shù)據(jù)中的某些塊存儲(chǔ)在高速緩沖存儲(chǔ)器5中,并且訪問在這些塊之前的串行數(shù)據(jù)中的數(shù)據(jù),則為該文件分配最高優(yōu)先權(quán)而不去除各塊,并且從對(duì)其已經(jīng)做出訪問請(qǐng)求的塊開始到緊接在高速緩沖存儲(chǔ)器5中所存儲(chǔ)的塊之前的各塊得到存儲(chǔ)。因此,能夠增大命中傳送的概率。
參照附圖對(duì)根據(jù)本發(fā)明的一個(gè)實(shí)施方式的數(shù)據(jù)傳送系統(tǒng)進(jìn)行描述。
圖7(A)示出將從存儲(chǔ)裝置所讀的數(shù)據(jù)從服務(wù)器傳送到客戶的結(jié)構(gòu)。
圖7(B)示出該存儲(chǔ)裝置包括一個(gè)與客戶的接口,并且示出用于將從存儲(chǔ)裝置所讀的數(shù)據(jù)直接從存儲(chǔ)裝置傳送到客戶的結(jié)構(gòu)。
在圖7中,31、32和33分別示出客戶1、2和N。
35是服務(wù)器,36是讀請(qǐng)求接收表,用于存儲(chǔ)所請(qǐng)求的文件名和請(qǐng)求文件的相應(yīng)客戶31、32和33。37是一個(gè)存儲(chǔ)設(shè)備,在存儲(chǔ)設(shè)備37中設(shè)置一個(gè)客戶接口模塊38,用作與客戶31、32和33的接口。
圖8詳細(xì)示出圖7(A)所示的數(shù)據(jù)傳送系統(tǒng)的服務(wù)器35和存儲(chǔ)設(shè)備37的結(jié)構(gòu)。
在圖8中,35是服務(wù)器,36是讀請(qǐng)求接收表。數(shù)據(jù)緩沖器36’暫時(shí)存儲(chǔ)傳送數(shù)據(jù)。37是存儲(chǔ)設(shè)備。例如,在讀請(qǐng)求接收表36上記錄到客戶1已經(jīng)做了對(duì)存儲(chǔ)裝置41中所存儲(chǔ)的文件A的讀請(qǐng)求,客戶2已經(jīng)做出對(duì)存儲(chǔ)裝置41中所存儲(chǔ)的文件B的讀請(qǐng)求,客戶3已經(jīng)做出對(duì)存儲(chǔ)裝置4中所存儲(chǔ)的文件A的讀請(qǐng)求,客戶N已經(jīng)做出對(duì)存儲(chǔ)裝置41中所存儲(chǔ)的文件A的讀請(qǐng)求。
在存儲(chǔ)設(shè)備37中,40是一個(gè)存儲(chǔ)器控制單元,并且41是比如磁盤裝置、光學(xué)讀取數(shù)據(jù)存儲(chǔ)部件、CD-ROM等的存儲(chǔ)裝置,用于存儲(chǔ)大量數(shù)據(jù),與圖3所示的存儲(chǔ)裝置2相應(yīng)。
在存儲(chǔ)器控制單元40中,服務(wù)器接口模塊45從服務(wù)器35接收對(duì)存儲(chǔ)裝置41的讀或?qū)懻?qǐng)求。在讀過程中,從裝置接口模塊46接收從存儲(chǔ)裝置41所讀的數(shù)據(jù),并且輸出到服務(wù)器35。在寫過程中,向裝置接口模塊46傳送從服務(wù)器35接收的寫數(shù)據(jù)。服務(wù)器接口模塊45與圖3中所示的數(shù)據(jù)輸入/輸出單元11相應(yīng)。
數(shù)據(jù)緩沖器45’暫時(shí)存儲(chǔ)傳送數(shù)據(jù)。
在收到來自接口模塊45的讀請(qǐng)求后,裝置接口模塊46從存儲(chǔ)裝置41檢索由服務(wù)器接口模塊45所請(qǐng)求的數(shù)據(jù),將該數(shù)據(jù)傳送到服務(wù)器接口模塊45,并且在來自服務(wù)器接口模塊45的寫請(qǐng)求下,將從服務(wù)器35所傳送的數(shù)據(jù)寫入存儲(chǔ)裝置41。
數(shù)據(jù)緩沖器46’暫時(shí)保存?zhèn)魉蛿?shù)據(jù)。
控制裝置47是微處理器單元(MPU)。
控制存儲(chǔ)器51保存控制單元50的控制程序等等。
讀請(qǐng)求確定程序52確定來自服務(wù)器35的請(qǐng)求是否是數(shù)據(jù)讀請(qǐng)求。
讀指示程序53指示裝置接口模塊46去讀數(shù)據(jù)。
讀開始確定程序54確定開始讀數(shù)據(jù)。
讀請(qǐng)求頻率計(jì)數(shù)程序55包括計(jì)數(shù)器,定時(shí)器等等,對(duì)每個(gè)文件的讀請(qǐng)求頻率進(jìn)行計(jì)數(shù),并且當(dāng)沒有讀請(qǐng)求時(shí)以預(yù)定時(shí)間間隔更新每個(gè)文件的計(jì)數(shù)值。
讀請(qǐng)求表56保存每個(gè)文件的讀請(qǐng)求的頻率。
圖9示出讀請(qǐng)求頻率計(jì)數(shù)單元的一個(gè)實(shí)施方式和讀請(qǐng)求表56。
在圖9中,讀請(qǐng)求頻率計(jì)數(shù)單元55’存儲(chǔ)讀請(qǐng)求頻率計(jì)數(shù)程序55。
讀請(qǐng)求表56保存指示每個(gè)文件的讀請(qǐng)求的頻率的值(每次做出一個(gè)請(qǐng)求時(shí),從初值減1)。例如,‘3’保存為指示文件A的讀請(qǐng)求的頻率的值,‘4’保存為指示文件B的讀請(qǐng)求的頻率的值。
在讀請(qǐng)求頻率計(jì)數(shù)單元55’中,在每次做出對(duì)所請(qǐng)求的文件的一個(gè)讀請(qǐng)求時(shí),讀請(qǐng)求表更新單元61從指示所請(qǐng)求文件的讀請(qǐng)求頻率的初值上減1。即使沒有讀請(qǐng)求,讀請(qǐng)求表更新單元61也以預(yù)定時(shí)間間隔更新在表上所記錄的每個(gè)文件的計(jì)數(shù)值。
在每次讀文件時(shí),讀請(qǐng)求文件數(shù)更新單元62對(duì)所請(qǐng)求的文件的讀請(qǐng)求的頻率進(jìn)行計(jì)數(shù),并且不為已經(jīng)請(qǐng)求的文件更新讀請(qǐng)求文件數(shù)保持單元64的值,而是僅為在做出讀請(qǐng)求時(shí)除所請(qǐng)求文件之外的文件更新讀請(qǐng)求文件數(shù)保持單元64的值。
讀請(qǐng)求頻率初值保持單元63’保存指示每個(gè)文件的讀請(qǐng)求的頻率的初值。
讀請(qǐng)求文件數(shù)保持單元64保存一個(gè)文件的讀請(qǐng)求的頻率。
圖10示出圖8所示的數(shù)據(jù)傳送系統(tǒng)的工作,并且示出圖9所示的讀請(qǐng)求表56和讀請(qǐng)求文件數(shù)保持單元64內(nèi)容的改變。
在圖10中,假定從存儲(chǔ)裝置41讀文件的數(shù)據(jù),并且當(dāng)讀文件三次時(shí)向服務(wù)器35傳送。在讀請(qǐng)求頻率初值保持單元63’中,例如,將‘2’設(shè)置為指示文件A的讀請(qǐng)求的頻率的初值,并且將‘2’設(shè)置為指示文件B的讀請(qǐng)求的頻率的初值。
在圖10中,56是讀請(qǐng)求表,64是讀請(qǐng)求文件數(shù)保持單元。
圖10中的(0)示出讀請(qǐng)求表56和讀請(qǐng)求文件數(shù)保持單元64的初始狀態(tài)。即,在讀請(qǐng)求表56上將指示文件A和B的讀請(qǐng)求的頻率的值設(shè)置為0,并且也將讀請(qǐng)求文件數(shù)保持單元64中的受到讀請(qǐng)求的文件數(shù)設(shè)置為0。
圖10中的(1)示出當(dāng)在圖10中所示的(0)狀態(tài)中在預(yù)定時(shí)間做出對(duì)文件A的讀請(qǐng)求時(shí),讀請(qǐng)求表56和讀請(qǐng)求文件數(shù)保持單元64的狀態(tài)。
在這種情形下,在讀請(qǐng)求表56上將讀請(qǐng)求頻率初值保持單元63’的初值2設(shè)置為文件A的讀請(qǐng)求頻率。以減法對(duì)讀請(qǐng)求的頻率進(jìn)行計(jì)數(shù)。每次讀文件時(shí),將指示讀請(qǐng)求頻率的值減1。當(dāng)指示讀請(qǐng)求頻率的值指示‘0’時(shí),假定已經(jīng)做了三次讀請(qǐng)求并且讀數(shù)據(jù)。于是,將讀請(qǐng)求文件數(shù)保持單元64設(shè)置為1。在讀請(qǐng)求表56上文件B的讀請(qǐng)求頻率保持為‘0’。
圖10中的(2)示出當(dāng)在圖10中所示的(1)狀態(tài)中在預(yù)定時(shí)間做出對(duì)文件B的讀請(qǐng)求時(shí),讀請(qǐng)求表56和讀請(qǐng)求文件數(shù)保持單元64的狀態(tài)。
在這種情形下,在讀請(qǐng)求表56上將讀請(qǐng)求頻率初值保持單元63’的初值2設(shè)置為文件B的讀請(qǐng)求頻率。將讀請(qǐng)求文件數(shù)保持單元64的值1增為2。在讀請(qǐng)求表56上文件A的讀請(qǐng)求頻率保持為‘2’。
圖10中的(3)示出當(dāng)在圖10中所示的(2)狀態(tài)中在預(yù)定時(shí)間做出對(duì)文件A的讀請(qǐng)求時(shí),讀請(qǐng)求表56和讀請(qǐng)求文件數(shù)保持單元64的狀態(tài)。
在這種情形下,在讀請(qǐng)求表56上將文件A的讀請(qǐng)求頻率設(shè)置為1,這是從初值2上減1獲得的。讀請(qǐng)求文件數(shù)保持單元64保持為2,并且讀請(qǐng)求表56上文件B的讀請(qǐng)求頻率保持為2。
圖10中的(4)示出當(dāng)在圖10中所示的(3)狀態(tài)中在預(yù)定時(shí)間做出對(duì)文件A的讀請(qǐng)求時(shí),讀請(qǐng)求表56和讀請(qǐng)求文件數(shù)保持單元64的狀態(tài)。
在這種情形下,文件A的讀請(qǐng)求頻率設(shè)置為0,這是從文件A的讀請(qǐng)求的頻率1上減1獲得的。在該例中,當(dāng)讀請(qǐng)求的頻率變?yōu)?時(shí),從存儲(chǔ)裝置41讀文件A中的數(shù)據(jù),并且傳送到服務(wù)器35。然后,從讀請(qǐng)求文件數(shù)保持單元64’的值2上減1,獲得差1。在讀請(qǐng)求表56上文件B的讀請(qǐng)求頻率保持為2。
此時(shí),服務(wù)器35通過參照?qǐng)D8所示的讀請(qǐng)求接收表36,檢索已經(jīng)對(duì)文件A做出讀請(qǐng)求的三個(gè)客戶1、3和N。然后,服務(wù)器35將文件A中的數(shù)據(jù)同時(shí)傳送到做出對(duì)文件A的請(qǐng)求的三個(gè)客戶1、3和N。
這樣,客戶1、3和N能夠接收文件A中的數(shù)據(jù),即使對(duì)于讀請(qǐng)求的頻率達(dá)到預(yù)定值時(shí)還沒有超過預(yù)定時(shí)間,從而將等待時(shí)間縮短至已經(jīng)收到文件A中的數(shù)據(jù)。因?yàn)橥ㄟ^從存儲(chǔ)裝置41讀一次數(shù)據(jù)就能夠向做出讀文件A請(qǐng)求的三個(gè)客戶1、3和N發(fā)送文件A中的數(shù)據(jù),所以能夠成功地降低存儲(chǔ)器控制單元40或存儲(chǔ)裝置41上的負(fù)載。
圖10中的(5)示出當(dāng)在圖10中所示的(4)狀態(tài)中沒有讀請(qǐng)求時(shí),讀請(qǐng)求表56和讀請(qǐng)求文件數(shù)保持單元64的狀態(tài)。
在這種情形下,因?yàn)樽x請(qǐng)求文件數(shù)保持單元64的值未設(shè)為0,則識(shí)別出有已經(jīng)對(duì)其做出讀請(qǐng)求的文件B,但還沒有實(shí)際地讀。在預(yù)定時(shí)間之后,在讀請(qǐng)求表56上從文件B的讀請(qǐng)求頻率上減1,該頻率自動(dòng)更新為1。讀請(qǐng)求文件數(shù)保持單元63的值1保持為1。讀請(qǐng)求文件數(shù)保持單元64中的讀請(qǐng)求頻率保持為1,并且在讀請(qǐng)求表56上的文件A的讀請(qǐng)求頻率保持為0。
圖10中的(6)示出當(dāng)在圖1 0中所示的(5)狀態(tài)中沒有讀請(qǐng)求時(shí),讀請(qǐng)求表56和讀請(qǐng)求文件數(shù)保持單元64的狀態(tài)。
在這種情形下,在預(yù)定時(shí)間之后,從文件B的讀請(qǐng)求頻率上減1,該頻率自動(dòng)更新為0。因?yàn)槲募﨎的讀請(qǐng)求頻率置為0,所以從存儲(chǔ)裝置41讀文件B中的數(shù)據(jù)并傳送至服務(wù)器35。
然后,通過從讀請(qǐng)求文件數(shù)保持單元64的值1上減1得到0。因?yàn)樽x請(qǐng)求文件數(shù)保持單元64的值變?yōu)?,所以識(shí)別出沒有對(duì)其已經(jīng)做出請(qǐng)求而未讀的文件。
當(dāng)服務(wù)器35收到文件B中的數(shù)據(jù)時(shí),它通過參照?qǐng)D8所示的讀請(qǐng)求接收表36來檢索請(qǐng)求讀文件B的客戶2。然后,服務(wù)器35將文件B中的數(shù)據(jù)發(fā)送至已經(jīng)做出對(duì)文件B的讀請(qǐng)求的客戶2。
這樣,在已經(jīng)過了預(yù)定時(shí)間之后,客戶2能夠收到其讀請(qǐng)求頻率尚未達(dá)到預(yù)定值的文件B中的數(shù)據(jù)。
在圖10所示的例子中,文件A和B的讀請(qǐng)求頻率的初值設(shè)為2。如果假設(shè)文件A的讀請(qǐng)求頻率高而文件B的讀請(qǐng)求頻率低,則可以將文件A的讀請(qǐng)求頻率的初值設(shè)為較大,而將文件B的讀請(qǐng)求頻率的初值設(shè)為較小。
例如,如果文件B的讀請(qǐng)求頻率的初值設(shè)為0,則請(qǐng)求客戶能夠立即接收文件B中的數(shù)據(jù),而不等待通過預(yù)定時(shí)間。當(dāng)在預(yù)定時(shí)間之內(nèi)只有一個(gè)讀請(qǐng)求的文件時(shí),這是尤其有效的。
下面參照?qǐng)D10所示的讀請(qǐng)求作為例子詳細(xì)描述圖8所示的數(shù)據(jù)傳送系統(tǒng)的工作。
假設(shè)圖7(A)所示的客戶1已經(jīng)對(duì)圖8所示的存儲(chǔ)裝置41中所存儲(chǔ)的文件A做出讀請(qǐng)求。響應(yīng)于來自客戶1的對(duì)于文件A的讀請(qǐng)求,服務(wù)器35在讀請(qǐng)求接收表36上記錄與客戶1相應(yīng)的文件A。服務(wù)器35向存儲(chǔ)設(shè)備37的服務(wù)器接口模塊45傳送文件A的讀請(qǐng)求。服務(wù)器接口模塊45接收文件A的讀請(qǐng)求。
控制裝置47確定控制單元50和讀請(qǐng)求確定程序52已經(jīng)做出對(duì)文件A的讀請(qǐng)求。讀請(qǐng)求頻率計(jì)數(shù)程序55(即,圖9所示的讀請(qǐng)求頻率計(jì)數(shù)單元55’)在讀請(qǐng)求表56上將文件A的讀頻率值的初值設(shè)為2。通過將初值設(shè)為2,在做出第三個(gè)讀請(qǐng)求時(shí)可以讀數(shù)據(jù)。然后,在讀請(qǐng)求文件數(shù)保持單元64中設(shè)置1。上述操作與圖10所示的(1)所指的狀態(tài)相應(yīng)。
下面,假定客戶2在來自客戶1的讀請(qǐng)求過去預(yù)定時(shí)間之前做出對(duì)文件B的讀請(qǐng)求。響應(yīng)于來自客戶2的對(duì)文件B的讀請(qǐng)求,服務(wù)器35將與客戶2相應(yīng)的文件B記錄在讀請(qǐng)求接收表36上。該對(duì)文件B的讀請(qǐng)求從服務(wù)器35傳送到存儲(chǔ)設(shè)備37的服務(wù)器接口模塊45。服務(wù)器接口模塊45接收對(duì)于文件B的讀請(qǐng)求。
控制裝置47確定已經(jīng)從控制單元50和讀請(qǐng)求確定程序52做出對(duì)文件B的讀請(qǐng)求。讀請(qǐng)求頻率計(jì)數(shù)程序55(即圖9中所示的讀請(qǐng)求頻率計(jì)數(shù)單元55’)在讀請(qǐng)求表56上將文件B的讀頻率值的初值設(shè)為2。然后,向讀請(qǐng)求文件數(shù)保持單元64的值加1,并且設(shè)置結(jié)果2。上述操作與圖10中(2)所示的狀態(tài)相應(yīng)。
下面,假定客戶3在來自客戶2的對(duì)于文件B的讀請(qǐng)求過去預(yù)定時(shí)間之前做出對(duì)文件A的讀請(qǐng)求。響應(yīng)于來自客戶3的對(duì)于文件A的讀請(qǐng)求,服務(wù)器35在讀請(qǐng)求接收表36上記錄與客戶3相應(yīng)的文件A。該對(duì)于文件A的讀請(qǐng)求從服務(wù)器35傳送到存儲(chǔ)設(shè)備37的服務(wù)器接口模塊45。服務(wù)器接口模塊45接收該對(duì)于文件A的讀請(qǐng)求。
控制裝置47確定已經(jīng)從控制單元50和讀請(qǐng)求確定程序52做出讀請(qǐng)求。讀請(qǐng)求頻率計(jì)數(shù)程序55(即圖9中所示的讀請(qǐng)求頻率計(jì)數(shù)單元55’)在讀請(qǐng)求表56上將文件A的讀頻率值設(shè)為通過從2上減1得到的1。因?yàn)橐呀?jīng)做出對(duì)于文件A的讀請(qǐng)求,所以不改變讀請(qǐng)求文件數(shù)保持單元64的值。上述操作與圖10中(3)所示的狀態(tài)相應(yīng)。
下面,假定客戶N在來自客戶3的對(duì)于文件A的讀請(qǐng)求過去預(yù)定時(shí)間之前做出對(duì)文件A的讀請(qǐng)求。響應(yīng)于來自客戶N的對(duì)于文件A的讀請(qǐng)求,服務(wù)器35在讀請(qǐng)求接收表36上記錄與客戶N相應(yīng)的文件A。該對(duì)于文件A的讀請(qǐng)求從服務(wù)器35傳送到存儲(chǔ)設(shè)備37的服務(wù)器接口模塊45。服務(wù)器接口模塊45接收該對(duì)于文件A的讀請(qǐng)求。
控制裝置47確定已經(jīng)從控制單元50和讀請(qǐng)求確定程序52做出讀請(qǐng)求。讀請(qǐng)求頻率計(jì)數(shù)程序55(即圖9中所示的讀請(qǐng)求頻率計(jì)數(shù)單元55’)在讀請(qǐng)求表56上將文件A的讀頻率值設(shè)為通過從1上減1而得到的0。
讀開始確定程序54確定讀請(qǐng)求表上的對(duì)于文件A的讀請(qǐng)求頻率值已經(jīng)變?yōu)?,并且通知讀指示程序53該確定。然后,激活讀指示程序53,控制單元50指示裝置接口模塊46去讀存儲(chǔ)裝置41中的文件A。從讀請(qǐng)求文件數(shù)保持單元64的值2上減1,獲得差1。上述操作與圖10中(4)所示的狀態(tài)相應(yīng)。
當(dāng)裝置接口模塊46從控制裝置47接收指示去讀文件A時(shí),它從存儲(chǔ)裝置41讀文件A的數(shù)據(jù),并將數(shù)據(jù)傳送至服務(wù)器接口模塊45。服務(wù)器接口模塊45接收文件A的數(shù)據(jù)并將數(shù)據(jù)傳送到服務(wù)器35。
服務(wù)器35從服務(wù)器接口模塊45收到的文件A的數(shù)據(jù)后,將數(shù)據(jù)保存在數(shù)據(jù)緩沖器36’中。然后,服務(wù)器35參照讀請(qǐng)求接收表36,并將文件A的數(shù)據(jù)傳送至在讀請(qǐng)求接收表36上所記錄的客戶1、2和N。當(dāng)完全將數(shù)據(jù)傳送至每個(gè)客戶時(shí),清除數(shù)據(jù)緩沖器36’中的數(shù)據(jù),并且清除讀請(qǐng)求接收表36上的文件A的接收記錄。
假設(shè)在過去預(yù)定時(shí)間之后沒有做出下一個(gè)讀請(qǐng)求。因?yàn)樽x請(qǐng)求文件數(shù)保持單元64的值不為0,所以讀請(qǐng)求頻率計(jì)數(shù)單元55(即,圖9所示的讀請(qǐng)求頻率計(jì)數(shù)單元55’)識(shí)別到有一個(gè)已經(jīng)對(duì)其做出讀請(qǐng)求且尚未讀的文件B,并且在讀請(qǐng)求表56上從讀頻率值2上減1,獲得差1。上述操作與圖10中(5)所示的狀態(tài)相應(yīng)。
假設(shè)在過去預(yù)定時(shí)間之后沒有做出下一個(gè)讀請(qǐng)求。因?yàn)樽x請(qǐng)求文件數(shù)保持單元64的值不為0,所以讀請(qǐng)求頻率計(jì)數(shù)單元55(即,在圖9所示的讀請(qǐng)求頻率計(jì)數(shù)單元55’)識(shí)別到有一個(gè)已經(jīng)對(duì)其做出讀請(qǐng)求且尚未讀的文件B,并且在讀請(qǐng)求表56上從讀頻率值1上減1,獲得差0。
讀開始確定程序54確定讀請(qǐng)求表56上的對(duì)于文件B的讀請(qǐng)求頻率值已經(jīng)變?yōu)?,并且通知讀指示程序53文件B的讀請(qǐng)求頻率已經(jīng)變?yōu)?。然后,激活讀指示程序53,控制單元50指示裝置接口模塊46去讀文件B。從讀請(qǐng)求文件數(shù)保持單元64的值1上減1,獲得差0。上述操作與圖10中(6)所示的狀態(tài)相應(yīng)。
當(dāng)裝置接口模塊46接收指令去讀文件B時(shí),它從存儲(chǔ)裝置41讀文件B的數(shù)據(jù),并將數(shù)據(jù)傳送至服務(wù)器接口模塊45。服務(wù)器接口模塊45接收文件B的數(shù)據(jù)并將數(shù)據(jù)傳送到服務(wù)器35。
服務(wù)器35從服務(wù)器接口模塊45收到文件B的數(shù)據(jù)后,將數(shù)據(jù)保存在數(shù)據(jù)緩沖器36’中。然后,服務(wù)器35參照讀請(qǐng)求接收表36,并將從服務(wù)器接口模塊45收到的文件B的數(shù)據(jù)傳送至請(qǐng)求客戶2。當(dāng)完全傳送了文件B的數(shù)據(jù)時(shí),清除數(shù)據(jù)緩沖器36’中的數(shù)據(jù),并且清除讀請(qǐng)求接收表36上的文件B的接收記錄。
圖11是示出圖8所示的數(shù)據(jù)傳送系統(tǒng)的工作的第一實(shí)施方式的流程圖,并且示出做出讀請(qǐng)求的情形。在圖11所示的實(shí)施方式中,在已經(jīng)過去預(yù)定時(shí)間時(shí)發(fā)送所有所請(qǐng)求的文件,而不管讀請(qǐng)求的頻率值。
在圖11中,在步驟S1設(shè)置N=0,作為初值。N是指已經(jīng)對(duì)其做出讀請(qǐng)求的文件的個(gè)數(shù),它存儲(chǔ)在圖9所示的讀請(qǐng)求文件數(shù)保持單元64中。
然后,在步驟S2,確定圖7所示的客戶31、32和33是否已經(jīng)做出讀請(qǐng)求。如果有讀請(qǐng)求,則控制轉(zhuǎn)到步驟S3。如果沒有任何讀請(qǐng)求,控制轉(zhuǎn)到步驟S12。
在步驟S3,確定當(dāng)前所請(qǐng)求的文件是否與任何一個(gè)已經(jīng)請(qǐng)求的文件相同。如果有相同的文件,則控制轉(zhuǎn)到步驟S7。如果沒有相同文件,則控制轉(zhuǎn)到步驟S4。
在步驟S4,因?yàn)楫?dāng)前所請(qǐng)求的文件從未被請(qǐng)求過,所以讀請(qǐng)求文件的個(gè)數(shù)N增1。
在步驟S5和S6,將初值C0設(shè)置為文件的讀請(qǐng)求頻率值Cj。將在讀數(shù)據(jù)之前的請(qǐng)求頻率+1設(shè)定為初值C0(該值比參照?qǐng)D8所述的初值大1)。
因?yàn)樵诓襟ES7中確定已經(jīng)在步驟S3請(qǐng)求了相同的文件,所以控制轉(zhuǎn)到步驟S8。
在步驟S8,從所有文件的讀請(qǐng)求的頻率值Ci上減1。
然后,在步驟S9,確定讀請(qǐng)求的任何頻率值Ci是否指示0。如果有一個(gè)指示0的讀請(qǐng)求頻率值Ci,則控制轉(zhuǎn)到步驟S10。如果沒有指示0的讀請(qǐng)求頻率值Ci,則重復(fù)執(zhí)行步驟S2以及其后的處理。
然后,在步驟S10,從存儲(chǔ)裝置41讀其讀請(qǐng)求頻率值Ci為0的文件的數(shù)據(jù)。
在步驟S11,從受到讀請(qǐng)求的文件的個(gè)數(shù)N減1。
在步驟S2中如果沒有讀請(qǐng)求,則在步驟S12確定在讀請(qǐng)求文件數(shù)保持單元64中所保存的受到讀請(qǐng)求的文件的個(gè)數(shù)N是否為0。如果受到讀請(qǐng)求的文件的個(gè)數(shù)N大于0(即,如果受到讀請(qǐng)求的文件的個(gè)數(shù)N不為0),則重復(fù)執(zhí)行步驟S8以及其后的處理。如果受到讀請(qǐng)求的文件的個(gè)數(shù)N為0,則重復(fù)執(zhí)行步驟S2以及其后的處理。
圖12是示出圖8所示數(shù)據(jù)傳送系統(tǒng)的操作的第二實(shí)施方式的流程圖。在圖12所示的實(shí)施方式中,如果文件被頻繁請(qǐng)求,則在讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定值時(shí)發(fā)送所請(qǐng)求的文件。如果不被頻繁請(qǐng)求,則如果已經(jīng)過去預(yù)定時(shí)間,即使讀請(qǐng)求頻率尚未達(dá)到預(yù)定值,也發(fā)送所請(qǐng)求的文件。
在圖12中,在步驟S21設(shè)置N=0,作為初值。N是指已經(jīng)對(duì)其做出讀請(qǐng)求的文件的個(gè)數(shù),它存儲(chǔ)在圖9所示的讀請(qǐng)求文件數(shù)保持單元64中。
然后,在步驟S22,確定圖7所示的客戶31、32和33是否已經(jīng)做出讀請(qǐng)求。如果有讀請(qǐng)求,則控制轉(zhuǎn)到步驟S23。如果沒有任何讀請(qǐng)求,控制轉(zhuǎn)到步驟S33。
在步驟S23,確定當(dāng)前所請(qǐng)求的文件是否與任何一個(gè)已經(jīng)請(qǐng)求的文件相同。如果有相同的文件,則控制轉(zhuǎn)到步驟S27。如果沒有相同文件,則控制轉(zhuǎn)到步驟S24。
在步驟S24,因?yàn)楫?dāng)前所請(qǐng)求的文件從未被請(qǐng)求過,所以讀請(qǐng)求文件的個(gè)數(shù)N增1。
在步驟S25和S26,將初值C0設(shè)置為文件的讀請(qǐng)求頻率值Cj,并且控制轉(zhuǎn)到步驟S27。將在讀數(shù)據(jù)之前的請(qǐng)求頻率+1設(shè)定為初值C0。
在步驟S27,所有文件的讀請(qǐng)求頻率值Ci減1,控制轉(zhuǎn)到步驟S30。
因?yàn)樵诓襟ES28中確定在步驟S23上已經(jīng)請(qǐng)求了相同的文件,所以控制轉(zhuǎn)到S29。
在步驟S29,已經(jīng)接受對(duì)其的讀請(qǐng)求的相同文件的讀請(qǐng)求頻率值Ci減1,控制轉(zhuǎn)到步驟S30。
然后,在步驟S30,確定讀請(qǐng)求的任何頻率值Ci是否指示0。如果有一個(gè)指示0的讀請(qǐng)求頻率值Ci,則控制轉(zhuǎn)到步驟S31。如果沒有指示0的讀請(qǐng)求頻率值Ci,則重復(fù)執(zhí)行步驟S22以及其后的處理。
然后,在步驟S31,從存儲(chǔ)裝置41讀其讀請(qǐng)求頻率值Ci為0的文件的數(shù)據(jù)。
在步驟S32,從受到讀請(qǐng)求的文件的個(gè)數(shù)N減1。
在步驟S22中如果沒有讀請(qǐng)求,則在步驟S33確定在讀請(qǐng)求文件數(shù)保持單元64中所保存的受到讀請(qǐng)求的文件的個(gè)數(shù)N是否為0。如果受到讀請(qǐng)求的文件的個(gè)數(shù)N大于0,則重復(fù)執(zhí)行步驟S27以及其后的處理。如果受到讀請(qǐng)求的文件的個(gè)數(shù)N為0,則重復(fù)執(zhí)行步驟S22以及其后的處理。
圖13是示出圖8中所示的數(shù)據(jù)傳送系統(tǒng)的操作的第三實(shí)施方式的流程圖。
在圖13所示的例子中,除了參照?qǐng)D12所解釋的方法之外,可以選擇完全視頻點(diǎn)播方法或者近似視頻點(diǎn)播方法。
在視頻點(diǎn)播(VOD)方法中,在所發(fā)送的請(qǐng)求下,通過設(shè)置在每家的頂置盒(set top box-STB)從積累了具有多個(gè)標(biāo)題的影像的有線電視中心(CATV中心)向請(qǐng)求用戶發(fā)送所請(qǐng)求的視頻數(shù)據(jù)。
視頻點(diǎn)播可以是完全視頻點(diǎn)播(FVOD)或者是近似視頻點(diǎn)播(NVOD)。
在完全視頻點(diǎn)播方法中,在用戶請(qǐng)求時(shí)可以立即獲得所請(qǐng)求的視頻節(jié)目。當(dāng)用戶請(qǐng)求一個(gè)視頻節(jié)目時(shí),立即廣播所請(qǐng)求的視頻節(jié)目。該用戶能夠獨(dú)占地觀看該視頻節(jié)目,不僅能再播放該視頻節(jié)目而且能夠快進(jìn)、倒退和暫停該視頻節(jié)目,就象操作盒式錄象機(jī)或視頻盤那樣。為了實(shí)現(xiàn)這些功能,在完全視頻點(diǎn)播方法中,每個(gè)用戶各自使用專用信道。
另一方面,近似視頻點(diǎn)播方法也稱為時(shí)移(time-shift)業(yè)務(wù),在不同時(shí)間以預(yù)定時(shí)間間隔沿多個(gè)信道廣播單個(gè)視頻節(jié)目。例如,以1分鐘間隔利用120個(gè)信道的流提供一個(gè)兩小時(shí)的視頻節(jié)目。這樣,用戶在等待至多一分鐘后能夠從開始觀看所請(qǐng)求的視頻節(jié)目。
在圖13中,在步驟S41設(shè)置N=0,作為初值。N是指已經(jīng)對(duì)其做出讀請(qǐng)求的文件的個(gè)數(shù),它存儲(chǔ)在圖9所示的讀請(qǐng)求文件數(shù)保持單元64中。設(shè)置初值C0,選擇一種方法。該方法可以從方法1至3中選擇。方法1是完全視頻點(diǎn)播方法。方法2是近似視頻點(diǎn)播方法。方法3發(fā)送讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定值的文件。當(dāng)選擇方法1時(shí),即選擇完全視頻點(diǎn)播時(shí),將初值C0設(shè)為1。當(dāng)選擇方法2時(shí),即選擇近似視頻點(diǎn)播時(shí),將初值C0設(shè)為與一個(gè)在讀數(shù)據(jù)之前的預(yù)定時(shí)間相應(yīng)的值。當(dāng)選擇方法3時(shí),將初值C0設(shè)為在讀數(shù)據(jù)之前的讀請(qǐng)求的頻率+1。
然后,在步驟S42,確定圖7中所示的客戶31、32和33是否已經(jīng)做出讀請(qǐng)求。如果有讀請(qǐng)求,則控制轉(zhuǎn)到步驟S43。如果沒有任何讀請(qǐng)求,則控制轉(zhuǎn)到步驟S54。
在步驟S43,確定當(dāng)前所請(qǐng)求的文件是否與任何一個(gè)已經(jīng)請(qǐng)求的文件相同。如果有相同的文件,則控制轉(zhuǎn)到步驟S47。如果沒有相同文件,則控制轉(zhuǎn)到步驟S44。
在步驟S44,因?yàn)楫?dāng)前所請(qǐng)求的文件從未被請(qǐng)求過,所以讀請(qǐng)求文件的個(gè)數(shù)N增1。
在步驟S45和S46,將初值C0設(shè)置為文件的讀請(qǐng)求頻率值Cj,并且控制轉(zhuǎn)到步驟S50。
在步驟S50,所有文件的讀請(qǐng)求頻率值Ci減1,控制轉(zhuǎn)到步驟S51。
因?yàn)樵诓襟ES47中確定在步驟S43上已經(jīng)請(qǐng)求了相同的文件,所以控制轉(zhuǎn)到S48。
在步驟S48,確定是否已經(jīng)在步驟S41選擇了方法2。如果選擇了方法2,則控制轉(zhuǎn)到步驟S50。如果選擇了方法1或3,則控制轉(zhuǎn)到步驟S49。
在步驟S49,從已經(jīng)接受了對(duì)其的讀請(qǐng)求的相同文件的讀請(qǐng)求的頻率值Ci上減1,控制轉(zhuǎn)到步驟S51。
然后,在步驟S51,確定讀請(qǐng)求的任何頻率值Ci是否指示為0。如果有指示為0的讀請(qǐng)求頻率值Ci,則控制轉(zhuǎn)到步驟S51。如果沒有指示為0的讀請(qǐng)求頻率值Ci,則重復(fù)執(zhí)行步驟S42以及其后的處理。
如果在步驟S41選擇了方法1,則將初值C0設(shè)為1,并且在步驟S50中從讀請(qǐng)求的頻率Ci上減1,獲得差0。因此,在步驟S51恒定地確定為“是”。如果選擇了方法1,則在步驟S52總是從存儲(chǔ)裝置41讀新請(qǐng)求的文件,并且能夠立即發(fā)送新請(qǐng)求的文件。
然后,在步驟S52,從存儲(chǔ)裝置41讀其讀請(qǐng)求頻率值Ci為0的文件的數(shù)據(jù)。
在步驟S53,從受到讀請(qǐng)求的文件的個(gè)數(shù)N上減1。
如果在步驟S42中沒有讀請(qǐng)求,則在步驟S54確定在讀請(qǐng)求文件數(shù)保持單元64中所保存的受到讀請(qǐng)求的文件的個(gè)數(shù)N是否為0。如果受到讀請(qǐng)求的文件的個(gè)數(shù)N大于0,則重復(fù)執(zhí)行步驟S50以及其后的處理。如果受到讀請(qǐng)求的文件的個(gè)數(shù)N為0,則重復(fù)執(zhí)行步驟S42以及其后的處理。
圖14是示出根據(jù)本發(fā)明第二實(shí)施方式的數(shù)據(jù)傳送系統(tǒng)的結(jié)構(gòu)的框圖。
根據(jù)圖14所示的實(shí)施方式,當(dāng)做出訪問存儲(chǔ)設(shè)備37的請(qǐng)求時(shí),將以高的概率讀大量串行數(shù)據(jù)。因此,在存儲(chǔ)設(shè)備37中設(shè)置高速緩沖存儲(chǔ)器48,從高速緩沖存儲(chǔ)器48傳送數(shù)據(jù)(命中傳送),從而提高數(shù)據(jù)提供能力。
因此,根據(jù)圖14所示的實(shí)施方式,將高速緩沖存儲(chǔ)器48加到圖8所示的結(jié)構(gòu)中。
即,在圖14中,35是服務(wù)器,36是讀請(qǐng)求接收受表,36’是數(shù)據(jù)緩沖器,40是存儲(chǔ)器控制單元,41是存儲(chǔ)裝置,45是服務(wù)器接口模塊,46是裝置接口模塊,48是高速緩沖存儲(chǔ)器,50是控制單元(MPU),51是控制存儲(chǔ)器,52是讀請(qǐng)求確定程序,54是讀開始確定程序,55是讀請(qǐng)求頻率計(jì)數(shù)程序,56是讀請(qǐng)求表,57是用于控制高速緩沖存儲(chǔ)器46的高速緩沖存儲(chǔ)器控制程序,以及60是用于管理高速緩沖存儲(chǔ)器48的高速緩沖存儲(chǔ)器管理表。
根據(jù)圖14所示的實(shí)施方式的操作與根據(jù)圖8所示的實(shí)施方式的操作相同,所不同的是與高速緩沖存儲(chǔ)器48有關(guān)的操作。即,高速緩沖存儲(chǔ)器管理表60包括一個(gè)在對(duì)將要存儲(chǔ)在高速緩沖存儲(chǔ)器48中的文件的優(yōu)先權(quán)進(jìn)行管理中所用的文件管理表60;以及一個(gè)在存儲(chǔ)每個(gè)文件的塊時(shí)對(duì)優(yōu)先權(quán)進(jìn)行管理中所用的塊管理表。
在從客戶收到對(duì)于一個(gè)文件的讀請(qǐng)求后,服務(wù)器35將與請(qǐng)求客戶相應(yīng)的對(duì)其已做出讀請(qǐng)求的文件記錄在讀請(qǐng)求接收表36上。然后,該文件讀請(qǐng)求從服務(wù)器35傳送到存儲(chǔ)設(shè)備37的服務(wù)器接口模塊45。服務(wù)器接口模塊45接收該文件讀請(qǐng)求。
控制裝置47通過控制單元50和讀請(qǐng)求確定程序52確定已經(jīng)做出讀請(qǐng)求,激活高速緩沖存儲(chǔ)器控制程序57,并且在由文件管理表所管理的所有文件之中,對(duì)由客戶所請(qǐng)求的文件分配最高優(yōu)先權(quán),以便在高速緩沖存儲(chǔ)器48中存儲(chǔ)。在由塊管理表24所管理的文件中各塊中,對(duì)最近受到讀請(qǐng)求的塊分配最高優(yōu)先權(quán),對(duì)最早受到讀請(qǐng)求的塊分配最低優(yōu)先權(quán)。
當(dāng)在高速緩沖存儲(chǔ)器48中沒有塊區(qū)域?qū)懶聰?shù)據(jù)時(shí),從最低優(yōu)先權(quán)開始選擇其塊將要被刪除的文件。因此,從最低優(yōu)先權(quán)開始去除將要?jiǎng)h除的文件的各塊。
控制裝置47激活讀請(qǐng)求頻率計(jì)數(shù)程序55,并且更新請(qǐng)求文件的讀頻率。讀開始確定程序54確定是否有一個(gè)其讀頻率已經(jīng)達(dá)到一個(gè)預(yù)定值的文件或者有一個(gè)自從對(duì)其做出讀請(qǐng)求開始已經(jīng)過去預(yù)定時(shí)間的文件。將其讀頻率已經(jīng)達(dá)到一個(gè)預(yù)定值的文件或者自從對(duì)其做出讀請(qǐng)求開始已經(jīng)過去預(yù)定時(shí)間的文件定義為讀開始文件。如果已經(jīng)定義了讀開始文件,參照高速緩沖存儲(chǔ)器管理表60的文件管理表,并且檢查是否將讀開始文件輸入到文件管理表中。
當(dāng)將讀開始文件輸入文件管理表中時(shí),控制單元50指示服務(wù)器接口模塊45從高速緩沖存儲(chǔ)器48讀該讀開始文件。服務(wù)器接口模塊45從高速緩沖存儲(chǔ)器48讀該讀開始文件,并且將該文件發(fā)送到服務(wù)器35。
如果讀開始文件尚未輸入到文件管理表,則控制單元50指示裝置接口模塊46從存儲(chǔ)裝置41讀該讀開始文件。裝置接口模塊46從存儲(chǔ)裝置41讀該讀開始文件,并且將該文件發(fā)送到服務(wù)器接口模塊45。服務(wù)器接口模塊45將從裝置接口模塊46收到的讀開始文件發(fā)送到服務(wù)器35。
因?yàn)楦咚倬彌_存儲(chǔ)器控制程序57在高速緩沖存儲(chǔ)器48按照優(yōu)先權(quán)存儲(chǔ)對(duì)其已經(jīng)做出最近讀請(qǐng)求的文件,所以對(duì)其頻繁地做出讀請(qǐng)求的文件總是頻繁地從高速緩沖存儲(chǔ)器48中讀。另一方面,沒有對(duì)其做出讀請(qǐng)求的文件或者只做出一次讀請(qǐng)求而沒有后續(xù)請(qǐng)求的文件不存儲(chǔ)在高速緩沖存儲(chǔ)器48中。因此,這樣的文件很可能是從存儲(chǔ)裝置41讀。
服務(wù)器35將從服務(wù)器接口模塊45收到的讀開始文件的數(shù)據(jù)保存在數(shù)據(jù)緩沖器36’中。然后,服務(wù)器35參照讀請(qǐng)求接收表36,并且將讀開始文件的數(shù)據(jù)傳送到在讀請(qǐng)求接收表36上所記錄的客戶。當(dāng)已經(jīng)完全將所有數(shù)據(jù)傳送到每個(gè)客戶時(shí),清除數(shù)據(jù)緩沖器36’中的數(shù)據(jù),并且清除讀請(qǐng)求接收表36上的讀請(qǐng)求文件的接收記錄。
當(dāng)高速緩沖存儲(chǔ)器48存儲(chǔ)將要串行訪問的串行數(shù)據(jù)時(shí),高速緩沖存儲(chǔ)器控制程序57檢查串行數(shù)據(jù)的訪問狀態(tài)。如果高速緩沖存儲(chǔ)器48存儲(chǔ)含有將要串行訪問的串行數(shù)據(jù)的文件的一部分塊時(shí),并且如果訪問在由高速緩沖存儲(chǔ)器48所存儲(chǔ)的塊之前的一個(gè)塊時(shí),則對(duì)受到訪問的文件分配最高優(yōu)先權(quán)。
另外,在高速緩沖存儲(chǔ)器48中存儲(chǔ)從受到訪問請(qǐng)求的塊之后預(yù)定數(shù)目塊的一塊開始到在高速緩沖存儲(chǔ)器48中所存儲(chǔ)的塊之前的一塊的各塊,而不刪除在高速緩沖存儲(chǔ)器48中所存儲(chǔ)的塊。
這樣,如果高速緩沖存儲(chǔ)器48未存儲(chǔ)受到訪問請(qǐng)求的塊,則預(yù)先讀在受到訪問請(qǐng)求的塊之后的塊,并且存儲(chǔ)存儲(chǔ)在高速緩沖存儲(chǔ)器48中。因此,對(duì)于比如電影和音樂數(shù)據(jù)這樣的多媒體數(shù)據(jù),在讀受到訪問請(qǐng)求的塊時(shí),能夠以高的概率一起讀在受到訪問請(qǐng)求的塊之后的各塊。因此,能夠高速緩沖存儲(chǔ)器命中在受到訪問請(qǐng)求的塊之后的各塊,從而提高數(shù)據(jù)傳送效率。
圖15是示出根據(jù)圖14所示的數(shù)據(jù)傳送系統(tǒng)的第一實(shí)施方式的操作的流程圖。圖15中所示的實(shí)施方式是通過將高速緩沖存儲(chǔ)器48所執(zhí)行的讀操作加到圖12所示的實(shí)施方式而實(shí)現(xiàn)的。
在圖15中,在步驟S61將受讀請(qǐng)求的文件的個(gè)數(shù)N設(shè)為0。
然后,在步驟S62,確定客戶是否已經(jīng)做出讀請(qǐng)求。如果有對(duì)文件的讀請(qǐng)求,則控制轉(zhuǎn)到步驟S63。如果沒有對(duì)文件的讀請(qǐng)求,控制轉(zhuǎn)到步驟S74。
在步驟S63,確定所請(qǐng)求的文件是否與一個(gè)已經(jīng)對(duì)其做出讀請(qǐng)求的文件匹配。如果已經(jīng)對(duì)相同的文件做出讀請(qǐng)求,則控制轉(zhuǎn)到步驟S68。如果沒有對(duì)相同文件做出讀請(qǐng)求,則控制轉(zhuǎn)到步驟S64。
在步驟S64,因?yàn)樵诓襟ES63確定當(dāng)前所請(qǐng)求的文件從未被請(qǐng)求過,所以受讀請(qǐng)求的文件的個(gè)數(shù)N增1。
在步驟S65和S66,將初值C0設(shè)置為文件的讀請(qǐng)求頻率值Cj,并且控制轉(zhuǎn)到步驟S67。將初值C0設(shè)置為在讀數(shù)據(jù)之前的讀請(qǐng)求頻率+1。
在步驟S67,指示在高速緩沖存儲(chǔ)器48中讀對(duì)其做出新的讀請(qǐng)求的文件。此時(shí),對(duì)新近受到讀請(qǐng)求的文件分配最高優(yōu)先權(quán),以便于在高速緩沖存儲(chǔ)器48中存儲(chǔ)。如果在高速緩沖存儲(chǔ)器48中沒有對(duì)于新受到讀請(qǐng)求的文件的存儲(chǔ)區(qū)域,則首先從高速緩沖存儲(chǔ)器48中去除被分配了最低優(yōu)先權(quán)的文件,然后將新受到讀請(qǐng)求的文件存儲(chǔ)在高速緩沖存儲(chǔ)器48中。
在步驟S68,對(duì)于所有文件從讀請(qǐng)求的頻率值Ci上減1,并且控制轉(zhuǎn)到步驟S71。
因?yàn)樵诓襟ES69確定已經(jīng)在步驟S63請(qǐng)求的同一文件,所以控制轉(zhuǎn)到步驟S70。
在步驟S70,對(duì)于已經(jīng)接受讀請(qǐng)求的相同文件的讀請(qǐng)求的頻率值Ci減1,控制轉(zhuǎn)到步驟S71。
然后,在步驟S71,確定讀請(qǐng)求的任何一個(gè)頻率值Ci是否指示為0。如果有指示為0的讀請(qǐng)求的頻率值Ci,則控制轉(zhuǎn)到步驟S72。如果沒有指示為0的讀請(qǐng)求的頻率值Ci,重復(fù)執(zhí)行步驟S62以及其后的處理。
然后,在步驟S72,從高速緩沖存儲(chǔ)器48讀其讀請(qǐng)求頻率值Ci為0的文件的數(shù)據(jù)。如果其讀請(qǐng)求頻率值Ci為0的文件的數(shù)據(jù)未保存在高速緩沖存儲(chǔ)器48中,則從存儲(chǔ)裝置41讀其讀請(qǐng)求頻率值Ci為0的文件的數(shù)據(jù)。
在步驟S73,從受到讀請(qǐng)求的文件的個(gè)數(shù)N上減1。
如果在步驟S62中沒有讀請(qǐng)求,則在步驟S74確定受到讀請(qǐng)求的文件的個(gè)數(shù)N是否為0。如果受到讀請(qǐng)求的文件的個(gè)數(shù)N大于0,則重復(fù)執(zhí)行步驟S68以及其后的處理。如果受到讀請(qǐng)求的文件的個(gè)數(shù)N為0,則重復(fù)執(zhí)行步驟S62以及其后的處理。
圖16是示出根據(jù)圖14所示的數(shù)據(jù)傳送系統(tǒng)的第二實(shí)施方式的操作的流程圖。圖16中所示的實(shí)施方式是通過將高速緩沖存儲(chǔ)器48所執(zhí)行的讀操作加到圖13所示的實(shí)施方式而實(shí)現(xiàn)的。
在圖16中,在步驟S81,將受到讀請(qǐng)求的文件的個(gè)數(shù)N設(shè)為0,作為初值。設(shè)置初值C0,選擇一種方法。該方法可以從方法1至3中選擇。方法1是完全視頻點(diǎn)播方法。方法2是近似視頻點(diǎn)播方法。方法3發(fā)送讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定值的文件。當(dāng)選擇方法1時(shí),即選擇完全視頻點(diǎn)播時(shí),將初值C0設(shè)為1。當(dāng)選擇方法2時(shí),即選擇近似視頻點(diǎn)播時(shí),將初值C0設(shè)為與一個(gè)在讀數(shù)據(jù)之前的預(yù)定時(shí)間相應(yīng)的值。當(dāng)選擇方法3時(shí),將初值C0設(shè)為在讀數(shù)據(jù)之前的讀請(qǐng)求的頻率+1。
然后,在步驟S82,確定客戶是否已經(jīng)做出讀請(qǐng)求。如果有讀請(qǐng)求,則控制轉(zhuǎn)到步驟S83。如果沒有任何讀請(qǐng)求,則控制轉(zhuǎn)到步驟S95。
在步驟S83,確定當(dāng)前所請(qǐng)求的文件是否與任何一個(gè)已經(jīng)請(qǐng)求的文件相同。如果有相同的文件,則控制轉(zhuǎn)到步驟S88。如果沒有相同文件,則控制轉(zhuǎn)到步驟S84。
在步驟S84,因?yàn)樵诓襟ES83中當(dāng)前所請(qǐng)求的文件從未被請(qǐng)求過,所以讀請(qǐng)求文件的個(gè)數(shù)N增1。
在步驟S85和S86,將初值C0設(shè)置為文件的讀請(qǐng)求頻率值Cj,并且控制轉(zhuǎn)到步驟S87。
在步驟S87,指示在高速緩沖存儲(chǔ)器48中讀對(duì)其做出新的讀請(qǐng)求的文件。此時(shí),對(duì)新近受到讀請(qǐng)求的文件分配最高優(yōu)先權(quán),以便于在高速緩沖存儲(chǔ)器48中存儲(chǔ)。如果在高速緩沖存儲(chǔ)器48中沒有對(duì)于新受到讀請(qǐng)求的文件的存儲(chǔ)區(qū)域,則首先從高速緩沖存儲(chǔ)器48中去除被分配了最低優(yōu)先權(quán)的文件,然后將新受到讀請(qǐng)求的文件存儲(chǔ)在高速緩沖存儲(chǔ)器48中。
在步驟S88,對(duì)于所有文件從讀請(qǐng)求的頻率值Ci上減1,并且控制轉(zhuǎn)到步驟S51。
因?yàn)樵诓襟ES89確定已經(jīng)在步驟S83請(qǐng)求的同一文件,所以控制轉(zhuǎn)到步驟S90。
在步驟S90,確定是否已經(jīng)在步驟S81選擇了方法2。如果選擇了方法2,則控制轉(zhuǎn)到步驟S88。如果選擇了方法1或3,則控制轉(zhuǎn)到步驟S91。
在步驟S91,從已經(jīng)接受了對(duì)其的讀請(qǐng)求的相同文件的讀請(qǐng)求的頻率值Ci上減1,控制轉(zhuǎn)到步驟S92。
然后,在步驟S92,確定讀請(qǐng)求的任何頻率值Ci是否指示為0。如果有指示為0的讀請(qǐng)求頻率值Ci,則控制轉(zhuǎn)到步驟S93。如果沒有指示為0的讀請(qǐng)求頻率值Ci,則重復(fù)執(zhí)行步驟S82以及其后的處理。
然后,在步驟S93,從高速緩沖存儲(chǔ)器48讀其讀請(qǐng)求頻率值Ci為0的文件的數(shù)據(jù)。如果其讀請(qǐng)求頻率值Ci為0的文件的數(shù)據(jù)未保存在高速緩沖存儲(chǔ)器48中,則從存儲(chǔ)裝置41讀其讀請(qǐng)求頻率值Ci為0的文件的數(shù)據(jù)。
在步驟S94,從受到讀請(qǐng)求的文件的個(gè)數(shù)N上減1。
如果在步驟S82中沒有讀請(qǐng)求,則在步驟S95確定受到讀請(qǐng)求的文件的個(gè)數(shù)N是否為0。如果受到讀請(qǐng)求的文件的個(gè)數(shù)N大于0,則重復(fù)執(zhí)行步驟S88以及其后的處理。如果受到讀請(qǐng)求的文件的個(gè)數(shù)N為0,則重復(fù)執(zhí)行步驟S82以及其后的處理。
圖17示出根據(jù)本發(fā)明一個(gè)實(shí)施方式控制高速緩沖存儲(chǔ)器的方法。圖17(A)示出以LRU方法管理文件的方法,圖17(B)示出以FIFO方法管理文件的方法。
在圖17(A)中,71和71’是文件管理表。在圖17(B)中,72和72’是塊管理表。
文件管理表71存儲(chǔ)文件i,文件j,…,文件k,…,以及文件l。為文件i分配最高優(yōu)先權(quán),為文件l分配最低優(yōu)先權(quán)。如果在文件管理表71的這種狀態(tài)下做出文件k的讀請(qǐng)求,則產(chǎn)生文件管理表71’,為文件k分配最高優(yōu)先權(quán)。
這樣,以LRU方法管理文件,為最近被讀的文件分配最高優(yōu)先權(quán),為第一個(gè)被讀的文件分配最低優(yōu)先權(quán)。
當(dāng)從高速緩沖存儲(chǔ)器中刪除塊時(shí),參照文件管理表71,從最少使用的文件l的前導(dǎo)塊順序刪除塊。即,在圖17(B)中,文件l的塊管理表72存儲(chǔ)塊p、…、塊d、塊c、…、塊b和塊n。為塊p分配最高優(yōu)先權(quán),為塊n分配最低優(yōu)先權(quán)。當(dāng)刪除塊時(shí),從被分配了最低優(yōu)先權(quán)的塊n、然后是被分配了第二最低優(yōu)先權(quán)的塊b開始順序刪除它們。
這樣,刪除頻繁使用的文件中的塊的概率低,從而提高了命中傳送的概率。
以FIFO方法或者LRU方法從高速緩沖存儲(chǔ)器刪除各塊。如果在高速緩沖存儲(chǔ)器中只有最后半部分文件,并且如果做出對(duì)前半部分文件的讀請(qǐng)求,則在高速緩沖存儲(chǔ)器中按照優(yōu)先權(quán)存儲(chǔ)在受到讀請(qǐng)求的塊之后的文件前半部分中的塊,從而提高了命中傳送的概率。
當(dāng)利用FIFO方法管理塊時(shí),為最后一個(gè)受到讀請(qǐng)求的文件的表項(xiàng)(記錄)分配最高優(yōu)先權(quán)。當(dāng)利用LRU方法管理塊時(shí),受到讀請(qǐng)求的塊的表項(xiàng)被移到具有最高優(yōu)先權(quán)的位置。
下面參照?qǐng)D17(B)描述利用FIFO方法的塊管理方法。
以下所述是從高速緩沖存儲(chǔ)器刪除一塊以及在高速緩沖存儲(chǔ)器中存儲(chǔ)一個(gè)受到讀請(qǐng)求的文件的N個(gè)塊的方法。
首先,在N個(gè)塊的讀請(qǐng)求下,參照?qǐng)D17(A)中所示的文件管理表71,在高速緩沖存儲(chǔ)器中檢測(cè)被分配了最低優(yōu)先權(quán)的文件的表項(xiàng)。
然后參照用于以塊為單位對(duì)分配了最低優(yōu)先權(quán)的并通過參照文件管理表71而獲得的文件進(jìn)行管理的塊管理表72,使得能夠選擇被分配了較低優(yōu)先權(quán)的N個(gè)塊。在圖17(B)所示的例子中,選擇了塊c、…、塊b以及塊n。從高速緩沖存儲(chǔ)器中順序刪除所選擇的塊c、…、塊b以及塊n。
然后,在曾經(jīng)存儲(chǔ)所刪除的N個(gè)塊的高速緩沖存儲(chǔ)器中存儲(chǔ)受到讀請(qǐng)求的N個(gè)塊的內(nèi)容。在圖17(B)所示例子中,在高速緩沖存儲(chǔ)器中存儲(chǔ)塊塊e、…以及塊g。此時(shí),將文件l的塊管理表72更新為塊管理表72’,其中為塊e、…以及塊g分配高優(yōu)先權(quán),而為塊p、…以及塊d分配低優(yōu)先權(quán)。
圖18示出根據(jù)本發(fā)明一個(gè)實(shí)施方式對(duì)高速緩沖存儲(chǔ)器中的塊進(jìn)行管理的方法。圖18所示的實(shí)施方式是為了使將要受到使用的文件中的塊避免從高速緩沖存儲(chǔ)器中無意地刪除。
在圖18中,71和71’是文件管理表,72是文件k的塊管理表。
當(dāng)從高速緩沖存儲(chǔ)器刪除文件時(shí),首先檢查文件的訪問狀態(tài)。
如果獲得對(duì)將要?jiǎng)h除的塊之前的塊的訪問,則停止刪除文件中的塊。例如,假設(shè)文件k中的塊存儲(chǔ)在高速緩沖存儲(chǔ)器中,在圖18(A)中從文件k的中間到結(jié)尾,并且將要從高速緩沖存儲(chǔ)器中刪除文件k的從中間到結(jié)尾的塊。此時(shí),如果做出對(duì)文件k的前導(dǎo)塊A的訪問請(qǐng)求,則停止從高速緩沖存儲(chǔ)器中刪除文件k的從中間到結(jié)尾的塊。
如果暫停塊的刪除,則在用于管理文件單元的文件管理表上將該文件的表項(xiàng)移到被分配了最高優(yōu)先權(quán)的位置。例如,在圖18(B)中,文件管理表71存儲(chǔ)文件i、…、文件j以及文件k,為文件i分配最高優(yōu)先權(quán),為文件k分配最低優(yōu)先權(quán)。當(dāng)暫停從高速緩沖存儲(chǔ)器中刪除文件k中的塊時(shí),將文件管理表71更新為文件管理表71’,在文件管理表71上為文件k分配最高優(yōu)先權(quán),如圖18(C)所示。
如果沒有做出對(duì)將要?jiǎng)h除的塊之前的塊的訪問請(qǐng)求,則實(shí)際刪除將要?jiǎng)h除的塊,例如,假設(shè)在圖18(A)中,文件k的塊存儲(chǔ)在高速緩沖存儲(chǔ)器中,從文件k的中間到結(jié)尾,并且將要從高速緩沖存儲(chǔ)器中刪除文件k的從中間到結(jié)尾的塊。此時(shí),如果沒有做出對(duì)文件k的前導(dǎo)塊A的訪問請(qǐng)求,則從高速緩沖存儲(chǔ)器中刪除文件k的從中間到結(jié)尾的塊。
圖19和圖20是示出根據(jù)本發(fā)明一個(gè)實(shí)施方式的控制高速緩沖存儲(chǔ)器的方法的流程圖。
在圖19中,當(dāng)在步驟S101中做出對(duì)文件的讀請(qǐng)求時(shí),在文件管理表上為受到讀請(qǐng)求的文件分配最高優(yōu)先權(quán)。
然后,在步驟S102確定將要讀的文件的整個(gè)數(shù)據(jù)是否存儲(chǔ)在高速緩沖存儲(chǔ)器中。如果“是”,則處理終止。如果“否”,則控制轉(zhuǎn)到步驟S103。
然后在步驟S103確定是否只要將要讀的文件的整個(gè)數(shù)據(jù)的后半部存儲(chǔ)在高速緩沖存儲(chǔ)器中。如果“是”,則控制轉(zhuǎn)到步驟S104,并且將要存儲(chǔ)的塊的個(gè)數(shù)M設(shè)為將要讀的文件的前半部的塊的個(gè)數(shù)。
如果在步驟S103中為“否”,則控制轉(zhuǎn)到步驟S105,并且將要存儲(chǔ)的塊的個(gè)數(shù)M設(shè)為將要讀的文件的塊的個(gè)數(shù)。
接著,在步驟S106,設(shè)置高速緩沖存儲(chǔ)器中空白塊的個(gè)數(shù)N。
然后,在步驟S107,對(duì)高速緩沖存儲(chǔ)器中空白塊的個(gè)數(shù)N與將要存儲(chǔ)在高速緩沖存儲(chǔ)器中的塊的個(gè)數(shù)M進(jìn)行比較。如果高速緩沖存儲(chǔ)器中的空白塊的個(gè)數(shù)N等于或大于將要存儲(chǔ)到高速緩沖存儲(chǔ)器中的塊的個(gè)數(shù)M,則控制轉(zhuǎn)到步驟S108,并且從高速緩沖存儲(chǔ)器中的空白塊的個(gè)數(shù)N上減去將要存儲(chǔ)到高速緩沖存儲(chǔ)器中的塊的個(gè)數(shù)M獲得值,將該值設(shè)置為高速緩沖存儲(chǔ)器中空白塊的個(gè)數(shù)N。然后,控制轉(zhuǎn)到如圖20所示的步驟S113。
另一方面,如果在步驟S107中高速緩沖存儲(chǔ)器中空白塊的個(gè)數(shù)N小于將要存儲(chǔ)到高速緩沖存儲(chǔ)器中的塊的個(gè)數(shù)M,則控制轉(zhuǎn)到步驟S109,并且從將要存儲(chǔ)到高速緩沖存儲(chǔ)器中的塊的個(gè)數(shù)M上減去高速緩沖存儲(chǔ)器中空白塊的個(gè)數(shù)N獲得值,將該值設(shè)置為將要?jiǎng)h除的塊的個(gè)數(shù)K。然后,控制轉(zhuǎn)到步驟S110。
然后,在步驟S110,將高速緩沖存儲(chǔ)器中空白塊的個(gè)數(shù)N設(shè)為0。
接著,在步驟S111,參照文件管理表,確定被分配了最低優(yōu)先權(quán)的文件。
在步驟S112,通過在被分配了最低優(yōu)先權(quán)的文件中從最低優(yōu)先權(quán)開始順序選擇K個(gè)塊,并且從高速緩沖存儲(chǔ)器中刪除所選擇的K個(gè)塊,將空白塊保留在高速緩沖存儲(chǔ)器中。
然后,在圖20所示的步驟S113中,將M個(gè)塊存儲(chǔ)在高速緩沖存儲(chǔ)器中的空白塊中。
在步驟S114,將N設(shè)置為高速緩沖存儲(chǔ)器中空白塊的個(gè)數(shù)。
圖21A示出根據(jù)本發(fā)明第一實(shí)施方式在高速緩沖存儲(chǔ)器中存儲(chǔ)塊的方法。根據(jù)圖21A所示的實(shí)施方式,如果將一個(gè)塊中的數(shù)據(jù)存儲(chǔ)在高速緩沖存儲(chǔ)器中并且當(dāng)存儲(chǔ)了順序訪問的串行數(shù)據(jù)時(shí)獲得對(duì)含有該數(shù)據(jù)的塊之前的塊的訪問,則存儲(chǔ)從受到訪問請(qǐng)求的塊之后的下一塊開始到存儲(chǔ)在高速緩沖存儲(chǔ)器中的塊之前的一塊的各塊。
當(dāng)只有后一半讀文件存儲(chǔ)在高速緩沖存儲(chǔ)器中時(shí),對(duì)文件的前一半做出讀請(qǐng)求。例如,在圖21A中,文件k中的數(shù)據(jù)包括一個(gè)存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分C和一個(gè)未存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分F。未存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分F與文件k的前半部分相應(yīng),而存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分C與文件k的后半部分相應(yīng)。
假定對(duì)文件k第一塊A做出訪問請(qǐng)求。利用對(duì)文件k的塊A的讀請(qǐng)求,存儲(chǔ)在高速緩沖存儲(chǔ)器中的文件k的部分C可能受到讀請(qǐng)求的概率高。因此,不刪除存儲(chǔ)在高速緩沖存儲(chǔ)器中文件k的部分C。
然后,按照優(yōu)先權(quán)將從受到讀請(qǐng)求的塊到部分C之前的塊存儲(chǔ)在高速緩沖存儲(chǔ)器中。例如,在圖21A中,當(dāng)文件k中的塊A中的比如電影和音樂數(shù)據(jù)這樣的多媒體數(shù)據(jù)受到讀請(qǐng)求時(shí),從文件k中塊A之后的塊B開始到緊接存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分C之前的塊受到讀請(qǐng)求的概率高。因此,順序讀從文件k中塊B開始到緊接存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分C之前的各塊,并且存儲(chǔ)在高速緩沖存儲(chǔ)器中。
圖21B示出根據(jù)本發(fā)明第二實(shí)施方式在高速緩沖存儲(chǔ)器中存儲(chǔ)各塊的方法。根據(jù)圖21B所示的實(shí)施方式,如果將一個(gè)塊中的數(shù)據(jù)存儲(chǔ)在高速緩沖存儲(chǔ)器中并且當(dāng)存儲(chǔ)了順序訪問的串行數(shù)據(jù)時(shí)獲得對(duì)含有該數(shù)據(jù)的塊之前的塊的訪問,則存儲(chǔ)從受到訪問請(qǐng)求的塊之后的預(yù)定數(shù)目的塊開始到存儲(chǔ)在高速緩沖存儲(chǔ)器中的塊之前的一塊的各塊。
當(dāng)只有后一半讀文件存儲(chǔ)在高速緩沖存儲(chǔ)器中時(shí),對(duì)文件的前一半做出讀請(qǐng)求。例如,在圖21B中,文件k中的數(shù)據(jù)包括一個(gè)存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分C和一個(gè)未存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分F。未存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分F與文件k的前半部分相應(yīng),而存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分C與文件k的后半部分相應(yīng)。
假定對(duì)文件k的塊A做出訪問請(qǐng)求。利用對(duì)文件k的塊A的讀請(qǐng)求,存儲(chǔ)在高速緩沖存儲(chǔ)器中的文件k的部分C可能受到讀請(qǐng)求的概率高。因此,不刪除存儲(chǔ)在高速緩沖存儲(chǔ)器中文件k的部分C。
然后,按照優(yōu)先權(quán)將從受到讀請(qǐng)求的塊到部分C之前的塊存儲(chǔ)在高速緩沖存儲(chǔ)器中。例如,在圖21B中,當(dāng)文件k中的塊A中的比如電影和音樂數(shù)據(jù)這樣的多媒體數(shù)據(jù)受到讀請(qǐng)求時(shí),從文件k中塊A之后的塊B開始到緊接存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分C之前的塊受到讀請(qǐng)求的概率高。立即讀取和發(fā)送文件k中塊A之后的某些塊。因此,順序讀從緊接文件k中塊A之后的塊D開始到緊接存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分C之前的各塊,并且存儲(chǔ)在高速緩沖存儲(chǔ)器中。
圖21C示出根據(jù)本發(fā)明第三實(shí)施方式在高速緩沖存儲(chǔ)器中存儲(chǔ)各塊的方法。根據(jù)圖21C所示的實(shí)施方式,如果將一個(gè)塊中的數(shù)據(jù)存儲(chǔ)在高速緩沖存儲(chǔ)器中并且當(dāng)存儲(chǔ)了順序訪問的串行數(shù)據(jù)時(shí)獲得對(duì)含有該數(shù)據(jù)的塊之前的塊的訪問,則以相反的方向?qū)?shù)據(jù)順序存儲(chǔ)在從已經(jīng)存儲(chǔ)的塊之前的塊開始到受到讀請(qǐng)求的塊的各塊中。
當(dāng)只有后一半讀文件存儲(chǔ)在高速緩沖存儲(chǔ)器中時(shí),對(duì)文件的前一半做出讀請(qǐng)求。例如,在圖21C中,文件k中的數(shù)據(jù)包括一個(gè)存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分C和一個(gè)未存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分F。未存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分F與文件k的前半部分相應(yīng),而存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分C與文件k的后半部分相應(yīng)。
假定對(duì)文件k的第一塊A做出訪問請(qǐng)求。利用對(duì)文件k的塊A的讀請(qǐng)求,存儲(chǔ)在高速緩沖存儲(chǔ)器中的文件k的部分C可能受到讀請(qǐng)求的概率高。因此,不刪除存儲(chǔ)在高速緩沖存儲(chǔ)器中文件k的部分C。
然后,按照優(yōu)先權(quán)將從受到讀請(qǐng)求的塊到部分C之前的塊存儲(chǔ)在高速緩沖存儲(chǔ)器中。例如,在圖21C中,當(dāng)文件k中的塊A中的比如電影和音樂數(shù)據(jù)這樣的多媒體數(shù)據(jù)受到讀請(qǐng)求時(shí),從文件k中塊A之后的塊B開始到緊接存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分C之前的塊受到讀請(qǐng)求的概率高。因此,將從文件k中塊B開始到緊接存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分C之前的各塊存儲(chǔ)在高速緩沖存儲(chǔ)器中。因?yàn)閺奈募中的塊B順序發(fā)送各塊,所以從緊接存儲(chǔ)在高速緩沖存儲(chǔ)器中的部分C之前的塊E開始到文件k中的前導(dǎo)塊A的相反方向讀取預(yù)先讀的塊并存儲(chǔ)在高速緩沖存儲(chǔ)器中。
圖22是示出根據(jù)本發(fā)明第三實(shí)施方式的數(shù)據(jù)傳送系統(tǒng)的結(jié)構(gòu)的框圖。圖22所示的結(jié)構(gòu)是通過將客戶接口模塊49加到圖8所示的結(jié)構(gòu)以便將從存儲(chǔ)裝置31所讀的數(shù)據(jù)直接傳送至客戶來實(shí)現(xiàn)的。
在圖22中,35是服務(wù)器,36是讀請(qǐng)求接收表,36’、45’和46’是數(shù)據(jù)緩沖器,37是存儲(chǔ)設(shè)備,41是存儲(chǔ)裝置,45是服務(wù)器接口模塊,46是裝置接口模塊,47是控制裝置,49是客戶接口模塊,50是控制單元(MPU),51是控制存儲(chǔ)器,80是目的客戶通知單元,81是數(shù)據(jù)輸出單元,82是目的客戶確定單元,而83是數(shù)據(jù)輸入單元。
在從一個(gè)客戶收到對(duì)文件的讀請(qǐng)求時(shí),服務(wù)器35將與請(qǐng)求客戶相應(yīng)的已經(jīng)對(duì)其做出讀請(qǐng)求的文件記錄在讀請(qǐng)求接收表36上。然后,從服務(wù)器35向存儲(chǔ)設(shè)備37的服務(wù)器接口模塊45發(fā)送該文件讀請(qǐng)求。服務(wù)器接口模塊45接收該文件讀請(qǐng)求。
控制裝置47確定是否有一個(gè)其讀頻率已經(jīng)達(dá)到預(yù)定值的文件或者有一個(gè)對(duì)其自從做出對(duì)文件的讀請(qǐng)求開始已經(jīng)過去預(yù)定時(shí)間的文件。將其讀頻率已經(jīng)達(dá)到預(yù)定值的文件或者對(duì)其自從做出讀請(qǐng)求開始已經(jīng)過去預(yù)定時(shí)間的文件定義為讀開始文件。如果已經(jīng)定義了讀開始文件,則控制單元50指示裝置接口模塊46從存儲(chǔ)裝置41讀一個(gè)讀開始文件。裝置接口模塊46從存儲(chǔ)裝置41讀該讀開始文件,將所讀數(shù)據(jù)發(fā)送到客戶接口模塊49的數(shù)據(jù)輸入單元83。
控制單元50指示服務(wù)器接口模塊45的目的客戶通知單元80通知客戶接口模塊49讀請(qǐng)求接收表36的內(nèi)容。
客戶接口模塊49從目的客戶通知單元80接收讀請(qǐng)求接收表36的內(nèi)容,并且通過目的客戶確定單元82確定讀開始文件的目的客戶。通過數(shù)據(jù)輸出單元81將讀開始文件發(fā)送到請(qǐng)求該讀開始文件的客戶。
這樣,根據(jù)圖22所示的實(shí)施方式,能夠通過客戶接口模塊49將從存儲(chǔ)裝置41所讀的數(shù)據(jù)直接傳送到每個(gè)客戶,從而降低服務(wù)器35上的負(fù)載,并且縮短將從存儲(chǔ)裝置41所讀的數(shù)據(jù)傳送到每個(gè)客戶所需的時(shí)間。
圖23是示出根據(jù)本發(fā)明第四實(shí)施方式的數(shù)據(jù)傳送系統(tǒng)的結(jié)構(gòu)的框圖。圖23所示結(jié)構(gòu)是通過將高速緩沖存儲(chǔ)器48加到圖22中所示的結(jié)構(gòu)而獲得的。當(dāng)利用高速緩沖存儲(chǔ)器48傳送數(shù)據(jù)時(shí),可以使用存儲(chǔ)裝置41中的物理或邏輯塊作為高速緩沖存儲(chǔ)器48中的替換單位。當(dāng)將新的數(shù)據(jù)存儲(chǔ)在高速緩沖存儲(chǔ)器48中時(shí),如果高速緩沖存儲(chǔ)器48可用,則將其存儲(chǔ)在其中。如果高速緩沖存儲(chǔ)器48中沒有空白塊,則從高速緩沖存儲(chǔ)器48中刪除一個(gè)適當(dāng)?shù)膲K以為新的塊保留空白區(qū)域。
如果在高速緩沖存儲(chǔ)器48中簡(jiǎn)單地以塊為單位管理塊中的串行數(shù)據(jù)(文件),則從文件中的前導(dǎo)塊開始刪除各塊。因此,如果在已經(jīng)做出文件讀請(qǐng)求之后刪除一塊,則可能刪除受到讀請(qǐng)求的文件的塊。在這種情形下,不能進(jìn)行命中傳送,從而降低了數(shù)據(jù)提供能力。為了避免這種情形,根據(jù)圖23所示實(shí)施方式設(shè)置一個(gè)高速緩沖存儲(chǔ)器管理表85,既可以以文件為單位也可以以塊為單位對(duì)高速緩沖存儲(chǔ)器48中的空白區(qū)域進(jìn)行管理。
如果一個(gè)塊中的數(shù)據(jù)存儲(chǔ)在高速緩沖存儲(chǔ)器48中并且在存儲(chǔ)順序訪問的串行數(shù)據(jù)以及檢查串行數(shù)據(jù)的訪問狀態(tài)時(shí)獲得對(duì)含有該數(shù)據(jù)的塊之前的一塊的訪問,則為當(dāng)前文件分配最高優(yōu)先權(quán)。
從在緊接受到訪問的塊之后的塊開始或者在受到訪問的塊之后預(yù)定數(shù)目塊的塊開始到存儲(chǔ)在高速緩沖存儲(chǔ)器48中的塊之前的一塊為止將各塊存儲(chǔ)在高速緩沖存儲(chǔ)器48中,而不刪除在受到訪問的文件中的塊。否則,以相反的次序存儲(chǔ)從存儲(chǔ)在高速緩沖存儲(chǔ)器48中的塊之前的開始一塊到受到讀請(qǐng)求的塊為止的各塊。
在圖23中,35是服務(wù)器,36是讀請(qǐng)求接收表,36’、45’和46’是數(shù)據(jù)緩沖器,37是存儲(chǔ)設(shè)備,41是存儲(chǔ)裝置,45是服務(wù)器接口模塊,46是裝置接口模塊,48是高速緩沖存儲(chǔ)器,49是客戶接口模塊,50是控制單元(MPU),51是控制存儲(chǔ)器,80是目的客戶通知單元,81是數(shù)據(jù)輸出單元,82是目的客戶確定單元,83是數(shù)據(jù)輸入單元,84是高速緩沖存儲(chǔ)器控制程序,而85是高速緩沖存儲(chǔ)器管理表。
在從一個(gè)客戶收到對(duì)文件的讀請(qǐng)求時(shí),服務(wù)器35將與請(qǐng)求客戶相應(yīng)的已經(jīng)對(duì)其做出讀請(qǐng)求的文件記錄在讀請(qǐng)求接收表36上。然后,從服務(wù)器35向存儲(chǔ)設(shè)備37的服務(wù)器接口模塊45發(fā)送該文件讀請(qǐng)求。服務(wù)器接口模塊45接收該文件讀請(qǐng)求。
控制裝置47確定已經(jīng)由控制裝置50做出讀請(qǐng)求,激活高速緩沖存儲(chǔ)器控制程序84,并且在高速緩沖存儲(chǔ)器管理表85所管理的文件中為由客戶所請(qǐng)求的文件分配最高優(yōu)先權(quán),以便在高速緩沖存儲(chǔ)器84中存儲(chǔ)。在由高速緩沖存儲(chǔ)器管理表85所管理的每個(gè)文件中的各塊中,為最近受到讀請(qǐng)求的塊分配最高優(yōu)先權(quán),而為第一個(gè)受到讀請(qǐng)求的塊分配最低優(yōu)先權(quán)。
當(dāng)高速緩沖存儲(chǔ)器48中沒有塊區(qū)域?qū)懭胄聰?shù)據(jù)時(shí),從最低優(yōu)先權(quán)到最高優(yōu)先權(quán)確定文件塊刪除次序。根據(jù)所確定的文件刪除次序,按次序從最低優(yōu)先權(quán)刪除塊。
控制裝置47確定是否有一個(gè)其讀頻率已經(jīng)達(dá)到預(yù)定值的文件或者有一個(gè)對(duì)其自從做出對(duì)文件的讀請(qǐng)求開始已經(jīng)過去預(yù)定時(shí)間的文件。將其讀頻率已經(jīng)達(dá)到預(yù)定值的文件或者對(duì)其自從做出讀請(qǐng)求開始已經(jīng)過去預(yù)定時(shí)間的文件定義為讀開始文件。如果已經(jīng)定義了讀開始文件,則控制單元47參照高速緩沖存儲(chǔ)器管理表85,并且檢查是否將一個(gè)讀開始文件輸入到高速緩沖存儲(chǔ)器管理表85中。
如果將一個(gè)讀開始文件輸入到高速緩沖存儲(chǔ)器管理表85中,則控制單元50指示客戶接口模塊49從高速緩沖存儲(chǔ)器48讀該讀開始文件??蛻艚涌谀K49從高速緩沖存儲(chǔ)器48讀該讀開始文件,并且將該文件輸入到數(shù)據(jù)輸入單元83中。
控制單元50指示服務(wù)器接口模塊45的目的客戶通知單元80通知客戶接口模塊49讀請(qǐng)求接收表36的內(nèi)容。
客戶接口模塊49從目的客戶通知單元80接收讀請(qǐng)求接收表36的內(nèi)容,并且通過目的客戶確定單元82確定讀開始文件的目的客戶。通過數(shù)據(jù)輸出單元81將讀開始文件發(fā)送到請(qǐng)求該讀開始文件的客戶。
如果未將讀開始文件輸入高速緩沖存儲(chǔ)器管理表85中,則控制單元50指示裝置接口模塊46從存儲(chǔ)裝置41讀該讀開始文件。裝置接口模塊46從存儲(chǔ)裝置41讀該讀開始文件,將文件發(fā)送到客戶接口模塊49的數(shù)據(jù)輸入單元83。
控制單元50指示服務(wù)器接口模塊45的目的客戶通知單元80通知客戶接口模塊49讀請(qǐng)求接收表36的內(nèi)容。
當(dāng)客戶接口模塊49從目的客戶通知單元80收到讀請(qǐng)求接收表36的內(nèi)容時(shí),通過目的客戶確定單元82確定讀開始文件的目的客戶。然后,客戶接口模塊49將讀開始文件通過數(shù)據(jù)輸出單元81發(fā)送到請(qǐng)求該讀開始文件的客戶。
通過激活高速緩沖存儲(chǔ)器控制程序85,控制單元50檢查將數(shù)據(jù)存儲(chǔ)在高速緩沖存儲(chǔ)器48中的受到順序訪問的串行數(shù)據(jù)的訪問狀態(tài)。
如果含有順序受到訪問的串行數(shù)據(jù)的文件中的一部分塊存儲(chǔ)在高速緩沖存儲(chǔ)器48中,并且如果獲得對(duì)存儲(chǔ)在高速緩沖存儲(chǔ)器48中的塊之前的塊的訪問,則為受到訪問的文件分配最高優(yōu)先權(quán)。然后,在不刪除存儲(chǔ)在高速緩沖存儲(chǔ)器48中的塊的情況下,從在所請(qǐng)求訪問的塊之后預(yù)定數(shù)目塊的一塊開始到存儲(chǔ)在高速緩沖存儲(chǔ)器48中的塊之前的一塊止,將各塊存儲(chǔ)在高速緩沖存儲(chǔ)器48中。
這樣,根據(jù)圖23所示的實(shí)施方式,能夠經(jīng)過客戶接口模塊49將所讀數(shù)據(jù)直接從高速緩沖存儲(chǔ)器48傳送到每個(gè)客戶,從而降低了服務(wù)器35、存儲(chǔ)裝置41、服務(wù)器接口模塊45以及裝置接口模塊46上的負(fù)載,并且縮短了將所讀數(shù)據(jù)從高速緩沖存儲(chǔ)器48傳送到每個(gè)客戶所需的時(shí)間。
如上述,即使同時(shí)做出多個(gè)請(qǐng)求以訪問存儲(chǔ)大量串行數(shù)據(jù)的存儲(chǔ)裝置中的同一文件中的數(shù)據(jù),根據(jù)本發(fā)明的實(shí)施方式,也能夠通過單個(gè)讀操作將數(shù)據(jù)傳送至每個(gè)請(qǐng)求客戶。因此,能夠極大地提高從存儲(chǔ)裝置讀數(shù)據(jù)的效率。
根據(jù)本發(fā)明的一個(gè)方面,當(dāng)讀大量串行數(shù)據(jù)時(shí),當(dāng)在高速緩沖存儲(chǔ)器中處理大量串行數(shù)據(jù)時(shí),考慮到各種特點(diǎn)和傾向?qū)Σ僮鬟M(jìn)行控制。因此,通過設(shè)置高速緩沖存儲(chǔ)器,能夠極大地提高數(shù)據(jù)傳送能力。
權(quán)利要求
1.存儲(chǔ)設(shè)備,具有用于以文件為單位保存串行數(shù)據(jù)的存儲(chǔ)裝置和用于對(duì)存儲(chǔ)裝置中所保存的串行數(shù)據(jù)的輸入和輸出進(jìn)行控制的存儲(chǔ)器控制單元,所述存儲(chǔ)器控制單元包括讀控制單元,用于對(duì)讀所述存儲(chǔ)裝置的串行數(shù)據(jù)進(jìn)行控制;讀請(qǐng)求確定單元,用于確定對(duì)存儲(chǔ)在所述存儲(chǔ)裝置中的相同文件中的串行數(shù)據(jù)的多個(gè)讀請(qǐng)求;讀請(qǐng)求頻率計(jì)數(shù)單元,用于在每次做出讀請(qǐng)求時(shí)對(duì)文件讀請(qǐng)求頻率進(jìn)行計(jì)數(shù);以及讀開始確定單元,用于當(dāng)文件讀請(qǐng)求的頻率計(jì)數(shù)值達(dá)到預(yù)定值時(shí)指示所述讀控制單元去讀該文件中的串行數(shù)據(jù)。
2.根據(jù)權(quán)利要求1的存儲(chǔ)設(shè)備,其中所述讀請(qǐng)求頻率計(jì)數(shù)單元在每次做出讀請(qǐng)求時(shí)對(duì)文件讀請(qǐng)求頻率進(jìn)行計(jì)數(shù),并且以預(yù)定時(shí)間間隔對(duì)每個(gè)文件的計(jì)數(shù)進(jìn)行更新;以及當(dāng)文件讀請(qǐng)求頻率達(dá)到預(yù)定頻率或從第一個(gè)讀請(qǐng)求開始已經(jīng)過去了預(yù)定時(shí)間后,所述讀開始確定單元指定讀該文件中的串行數(shù)據(jù)。
3.利用存儲(chǔ)設(shè)備控制數(shù)據(jù)讀取的方法,該存儲(chǔ)設(shè)備具有用于以文件為單位保存串行數(shù)據(jù)的存儲(chǔ)裝置和用于對(duì)存儲(chǔ)單元中所保存的串行數(shù)據(jù)的輸入和輸出進(jìn)行控制的存儲(chǔ)器控制單元,所述方法包括步驟對(duì)讀取存儲(chǔ)裝置的串行數(shù)據(jù)進(jìn)行控制;確定對(duì)存儲(chǔ)單元中所存儲(chǔ)的相同文件中串行數(shù)據(jù)的多個(gè)讀請(qǐng)求;在每次做出讀請(qǐng)求時(shí)對(duì)文件讀請(qǐng)求頻率進(jìn)行計(jì)數(shù);以確定時(shí)間間隔對(duì)每個(gè)文件的計(jì)數(shù)值進(jìn)行更新;當(dāng)文件的讀請(qǐng)求頻率計(jì)數(shù)值達(dá)到預(yù)定值時(shí)指定讀取該文件;以及當(dāng)文件的讀請(qǐng)求頻率計(jì)數(shù)達(dá)到預(yù)定值或者在從該文件的第一個(gè)讀請(qǐng)求開始已經(jīng)過去預(yù)定時(shí)間之后時(shí)讀取文件。
4.根據(jù)權(quán)利要求3的方法,其中所速存儲(chǔ)控制單元包括高速緩沖存儲(chǔ)器和高速緩沖存儲(chǔ)器管理表;所述高速緩沖存儲(chǔ)器管理表包括在對(duì)所述高速緩沖存儲(chǔ)器中所存儲(chǔ)的文件的優(yōu)先權(quán)進(jìn)行管理中所用的文件管理表,以及在對(duì)每個(gè)文件的存儲(chǔ)塊的優(yōu)先權(quán)進(jìn)行管理中所用的塊管理表;以及所述方法包括步驟在所述文件管理表上對(duì)所請(qǐng)求的文件分配最高優(yōu)先權(quán);對(duì)最近受到讀請(qǐng)求的塊分配最高優(yōu)先權(quán),對(duì)最先受到讀請(qǐng)求的塊分配最低優(yōu)先權(quán);確定當(dāng)高速緩沖存儲(chǔ)器中沒有塊的存儲(chǔ)區(qū)域以供寫新數(shù)據(jù)時(shí)將要按照從文件的最低優(yōu)先權(quán)開始的次序?qū)ζ鋲K進(jìn)行刪除的文件,然后按照從文件中塊的最低優(yōu)先權(quán)開始的次序刪除塊;以及當(dāng)存儲(chǔ)了順序受到訪問的串行數(shù)據(jù)時(shí)對(duì)串行數(shù)據(jù)的訪問狀態(tài)進(jìn)行檢查,當(dāng)文件中的塊含有在高速緩沖存儲(chǔ)器所存儲(chǔ)的數(shù)據(jù)以及獲得對(duì)含有該數(shù)據(jù)的塊之前的塊的訪問時(shí),對(duì)該文件分配最高優(yōu)先權(quán),并且存儲(chǔ)從受到訪問請(qǐng)求的塊之后預(yù)定數(shù)目塊的一塊開始到存儲(chǔ)在高速緩沖存儲(chǔ)器中的塊止的各塊,而不刪除含有該數(shù)據(jù)的塊。
5.根據(jù)權(quán)利要求4的方法,其中當(dāng)將串行數(shù)據(jù)存儲(chǔ)在高速緩沖存儲(chǔ)器中時(shí),從在受到訪問請(qǐng)求的塊之后的下一塊開始或者從在受到訪問請(qǐng)求的塊之后預(yù)定數(shù)目塊的一塊開始到存儲(chǔ)在高速緩沖存儲(chǔ)器中的塊之前的一塊止,按照串行數(shù)據(jù)的次序存儲(chǔ)各塊。
6.根據(jù)權(quán)利要求4的方法,其中當(dāng)將未存儲(chǔ)在高速緩沖存儲(chǔ)器中的一部分受到訪問請(qǐng)求的串行數(shù)據(jù)存儲(chǔ)在高速緩沖存儲(chǔ)器中時(shí),從存儲(chǔ)在高速緩沖存儲(chǔ)器中的塊之前的一塊開始按照串行數(shù)據(jù)的相反次序存儲(chǔ)各塊。
7.用于利用存儲(chǔ)裝置對(duì)文件中的數(shù)據(jù)進(jìn)行控制的存儲(chǔ)器控制裝置,該存儲(chǔ)裝置具有用于以文件為單位保存串行數(shù)據(jù)的存儲(chǔ)裝置和用于對(duì)存儲(chǔ)裝置中所保存的串行數(shù)據(jù)的輸入和輸出進(jìn)行控制的存儲(chǔ)器控制單元,包括高速緩沖存儲(chǔ)器管理表,在對(duì)高速緩沖存儲(chǔ)器的存儲(chǔ)區(qū)域進(jìn)行管理中所用,其中所述高速緩沖存儲(chǔ)器管理表包括文件管理表,在對(duì)將要從存儲(chǔ)裝置存儲(chǔ)到高速緩沖存儲(chǔ)器的文件優(yōu)先權(quán)進(jìn)行管理中所用;以及塊管理表,在對(duì)文件管理表中所管理的每個(gè)文件的塊存儲(chǔ)優(yōu)先權(quán)進(jìn)行管理中所用。
8.利用存儲(chǔ)裝置控制文件數(shù)據(jù)讀取的方法,該存儲(chǔ)裝置具有用于以文件為單位保存串行數(shù)據(jù)的存儲(chǔ)單元和用于對(duì)存儲(chǔ)單元中所保存的串行數(shù)據(jù)的輸入和輸出進(jìn)行控制的存儲(chǔ)器控制單元,其中所述存儲(chǔ)控制單元包括高速緩沖存儲(chǔ)器和高速緩沖存儲(chǔ)器管理表;所述高速緩沖存儲(chǔ)器管理表包括在對(duì)所述高速緩沖存儲(chǔ)器中所存儲(chǔ)的文件的優(yōu)先權(quán)進(jìn)行管理中所用的文件管理表,以及在對(duì)每個(gè)文件的存儲(chǔ)塊的優(yōu)先權(quán)進(jìn)行管理中所用的塊管理表;以及所述方法包括步驟在所述文件管理表上對(duì)所請(qǐng)求的文件分配最高優(yōu)先權(quán),以便于在高速緩沖存儲(chǔ)器中存儲(chǔ);對(duì)最近受到讀請(qǐng)求的塊分配最高優(yōu)先權(quán),對(duì)最先受到讀請(qǐng)求的塊分配最低優(yōu)先權(quán);確定當(dāng)高速緩沖存儲(chǔ)器中沒有塊的存儲(chǔ)區(qū)域以供寫新數(shù)據(jù)時(shí)將要按照從文件的最低優(yōu)先權(quán)開始的次序?qū)ζ鋲K進(jìn)行刪除的文件,然后按照從文件中塊的最低優(yōu)先權(quán)開始的次序刪除塊;以及當(dāng)存儲(chǔ)了順序受到訪問的串行數(shù)據(jù)時(shí)對(duì)串行數(shù)據(jù)的訪問狀態(tài)進(jìn)行檢查,當(dāng)文件中的塊含有在高速緩沖存儲(chǔ)器所存儲(chǔ)的數(shù)據(jù)以及獲得對(duì)含有該數(shù)據(jù)的塊之前的塊的訪問時(shí),對(duì)該文件分配最高優(yōu)先權(quán),并且存儲(chǔ)從受到訪問請(qǐng)求的塊之后預(yù)定數(shù)目塊的一塊開始到存儲(chǔ)在高速緩沖存儲(chǔ)器中的塊止的各塊,而不刪除含有該數(shù)據(jù)的塊。
9.根據(jù)權(quán)利要求8的方法,其中當(dāng)將串行數(shù)據(jù)存儲(chǔ)在高速緩沖存儲(chǔ)器中時(shí),從在受到訪問請(qǐng)求的塊之后的下一塊開始或者從在受到訪問請(qǐng)求的塊之后預(yù)定數(shù)目塊的一塊開始到存儲(chǔ)在高速緩沖存儲(chǔ)器中的塊之前的一塊止,按照串行數(shù)據(jù)的次序存儲(chǔ)各塊。
10.根據(jù)權(quán)利要求8的方法,其中當(dāng)將未存儲(chǔ)在高速緩沖存儲(chǔ)器中的一部分受到訪問請(qǐng)求的串行數(shù)據(jù)存儲(chǔ)在高速緩沖存儲(chǔ)器中時(shí),從存儲(chǔ)在高速緩沖存儲(chǔ)器中的塊之前的一塊開始按照串行數(shù)據(jù)的相反次序存儲(chǔ)各塊。
11.數(shù)據(jù)傳送系統(tǒng),具有一個(gè)服務(wù)器,用于在來自請(qǐng)求客戶的讀請(qǐng)求下向存儲(chǔ)設(shè)備發(fā)出讀請(qǐng)求、接收所請(qǐng)求的數(shù)據(jù)并且將該數(shù)據(jù)傳送到請(qǐng)求客戶,以及與該服務(wù)器連接的存儲(chǔ)設(shè)備,所述服務(wù)器包括讀請(qǐng)求接收表,存儲(chǔ)與請(qǐng)求客戶相應(yīng)的受到讀請(qǐng)求的文件,其中所述存儲(chǔ)設(shè)備包括用于以文件為單位保存串行數(shù)據(jù)的存儲(chǔ)裝置和用于對(duì)存儲(chǔ)裝置中所保存的串行數(shù)據(jù)的輸入和輸出進(jìn)行控制的存儲(chǔ)器控制單元,所述存儲(chǔ)控制單元包括讀控制單元,用于對(duì)讀所述存儲(chǔ)單元的串行數(shù)據(jù)進(jìn)行控制;讀請(qǐng)求確定單元,用于確定存儲(chǔ)在所述存儲(chǔ)單元中的相同文件中的串行數(shù)據(jù)的多個(gè)讀請(qǐng)求;讀請(qǐng)求頻率計(jì)數(shù)單元,用于在每次做出讀請(qǐng)求時(shí)對(duì)文件讀請(qǐng)求頻率進(jìn)行計(jì)數(shù);讀開始確定單元,用于當(dāng)文件讀請(qǐng)求的頻率計(jì)數(shù)值達(dá)到預(yù)定值時(shí)指示所述讀開始確定單元去讀該文件中的串行數(shù)據(jù);以及所述服務(wù)器通過在讀指令下從存儲(chǔ)設(shè)備的讀操作中讀串行數(shù)據(jù),將串行數(shù)據(jù)傳送到多個(gè)請(qǐng)求客戶。
12.根據(jù)權(quán)利要求11的數(shù)據(jù)傳送系統(tǒng),其中所述存儲(chǔ)控制單元包括高速緩沖存儲(chǔ)器和高速緩沖存儲(chǔ)器管理表;所述高速緩沖存儲(chǔ)器管理表包括在對(duì)將要存儲(chǔ)在所述高速緩沖存儲(chǔ)器中的文件優(yōu)先權(quán)進(jìn)行管理中所用的文件管理表,以及在對(duì)每個(gè)文件的存儲(chǔ)塊的優(yōu)先權(quán)進(jìn)行管理中所用的塊管理表;在所述文件管理表上對(duì)所請(qǐng)求的文件分配最高優(yōu)先權(quán);對(duì)最近受到讀請(qǐng)求的塊分配最高優(yōu)先權(quán),對(duì)最先受到讀請(qǐng)求的塊分配最低優(yōu)先權(quán);確定當(dāng)高速緩沖存儲(chǔ)器中沒有塊的存儲(chǔ)區(qū)域以供寫新數(shù)據(jù)時(shí)將要按照從文件的最低優(yōu)先權(quán)開始的次序?qū)ζ鋲K進(jìn)行刪除的文件,然后按照從文件中塊的最低優(yōu)先權(quán)開始的次序刪除塊;以及當(dāng)存儲(chǔ)了順序受到訪問的串行數(shù)據(jù)時(shí)對(duì)串行數(shù)據(jù)的訪問狀態(tài)進(jìn)行檢查,當(dāng)文件中的塊含有在高速緩沖存儲(chǔ)器所存儲(chǔ)的數(shù)據(jù)以及獲得對(duì)含有該數(shù)據(jù)的塊之前的塊的訪問時(shí),對(duì)該文件分配最高優(yōu)先權(quán),并且存儲(chǔ)從受到訪問請(qǐng)求的塊之后預(yù)定數(shù)目塊的一塊開始到存儲(chǔ)在高速緩沖存儲(chǔ)器中的塊止的各塊,而不刪除含有該數(shù)據(jù)的塊。
13.根據(jù)權(quán)利要求11的數(shù)據(jù)傳送系統(tǒng),其中所述存儲(chǔ)設(shè)備包括請(qǐng)求客戶信息讀單元,用于從所述服務(wù)器讀所述讀請(qǐng)求接收表的內(nèi)容;以及數(shù)據(jù)傳送單元,用于根據(jù)讀請(qǐng)求接收表的內(nèi)容將文件的串行數(shù)據(jù)傳送到請(qǐng)求客戶。
14.數(shù)據(jù)分配裝置,包括讀請(qǐng)求頻率計(jì)數(shù)裝置,用于為每個(gè)文件對(duì)來自請(qǐng)求客戶的對(duì)于文件的讀請(qǐng)求的頻率進(jìn)行計(jì)數(shù);讀請(qǐng)求頻率確定裝置,用于確定是否有其讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定值的文件;以及文件發(fā)送指示裝置,用于指定將其讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定值的文件發(fā)送到讀請(qǐng)求客戶。
15.根據(jù)權(quán)利要求14的數(shù)據(jù)分配裝置,其中所述讀請(qǐng)求頻率確定單元將頻繁受到讀請(qǐng)求的文件的預(yù)定值設(shè)定為大值,將極少頻繁受到讀請(qǐng)求的文件的預(yù)定值設(shè)定為小值。
16.根據(jù)權(quán)利要求14的數(shù)據(jù)分配裝置,還包括第一存儲(chǔ)裝置,對(duì)文件進(jìn)行存儲(chǔ);第二存儲(chǔ)裝置,具有比所述第一存儲(chǔ)裝置更高讀速度;以及存儲(chǔ)控制裝置,在所述第二存儲(chǔ)裝置中按照優(yōu)先權(quán)存儲(chǔ)頻繁受到讀請(qǐng)求的文件。
17.根據(jù)權(quán)利要求15的數(shù)據(jù)分配裝置,還包括用于選擇第一方法、第二方法或第三方法的選擇裝置;完全視頻點(diǎn)播執(zhí)行裝置,用于當(dāng)選擇第一方法時(shí)通過將預(yù)定值設(shè)定為1來執(zhí)行完全視頻點(diǎn)播方法;近似視頻點(diǎn)播執(zhí)行裝置,用于當(dāng)選擇第二方法時(shí)通過在文件讀請(qǐng)求開始的預(yù)定時(shí)間之后指定向請(qǐng)求客戶發(fā)送文件來執(zhí)行近似視頻點(diǎn)播方法;以及初值設(shè)定裝置,用于當(dāng)選擇第三方法時(shí)將預(yù)定值設(shè)置為等于或大于2的值。
18.用于指示計(jì)算機(jī)執(zhí)行以下功能的計(jì)算機(jī)可讀介質(zhì)為每個(gè)文件對(duì)來自請(qǐng)求客戶的文件讀請(qǐng)求頻率進(jìn)行計(jì)數(shù);確定是否有文件讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定值的文件;以及指定向請(qǐng)求客戶發(fā)送其文件讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定值的文件。
19.存儲(chǔ)設(shè)備,具有用于在文件中保存數(shù)據(jù)的存儲(chǔ)裝置和用于對(duì)保存在存儲(chǔ)裝置中的數(shù)據(jù)的輸入和輸出進(jìn)行控制的存儲(chǔ)器控制單元,所述存儲(chǔ)器控制單元包括用于對(duì)存儲(chǔ)在所述存儲(chǔ)裝置中的相同文件中的數(shù)據(jù)確定多個(gè)讀請(qǐng)求的裝置;用于在每次做出讀請(qǐng)求時(shí)對(duì)文件讀請(qǐng)求頻率進(jìn)行計(jì)數(shù)的裝置;以及用于在文件讀請(qǐng)求頻率計(jì)數(shù)值達(dá)到預(yù)定值時(shí)或者在自從第一個(gè)讀請(qǐng)求過去預(yù)定時(shí)間之后讀文件中的數(shù)據(jù)的裝置。
20.對(duì)從存儲(chǔ)裝置中的文件中讀取數(shù)據(jù)進(jìn)行控制的方法,包括步驟對(duì)存儲(chǔ)在存儲(chǔ)單元中的相同文件中的數(shù)據(jù)確定多個(gè)讀請(qǐng)求;每次做出讀請(qǐng)求時(shí)對(duì)文件讀請(qǐng)求頻率進(jìn)行計(jì)數(shù);以及在文件讀請(qǐng)求頻率計(jì)數(shù)值達(dá)到預(yù)定值時(shí)或者在自從該文件的第一個(gè)讀請(qǐng)求過去預(yù)定時(shí)間之后讀文件中的數(shù)據(jù)。
全文摘要
讀請(qǐng)求頻率計(jì)數(shù)單元對(duì)來自請(qǐng)求客戶的對(duì)于每個(gè)文件的讀請(qǐng)求的頻率進(jìn)行計(jì)數(shù)。讀請(qǐng)求頻率確定單元確定是否有其讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定值的文件。當(dāng)有其讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定值的文件時(shí),文件發(fā)送指示單元向請(qǐng)求客戶發(fā)送其讀請(qǐng)求頻率已經(jīng)達(dá)到預(yù)定值的文件。
文檔編號(hào)G06F12/00GK1167946SQ9710103
公開日1997年12月17日 申請(qǐng)日期1997年1月22日 優(yōu)先權(quán)日1996年1月23日
發(fā)明者矢代光彥 申請(qǐng)人:富士通株式會(huì)社