TWI725791B - 伺服器及相關的電腦程式產品 - Google Patents
伺服器及相關的電腦程式產品 Download PDFInfo
- Publication number
- TWI725791B TWI725791B TW109109791A TW109109791A TWI725791B TW I725791 B TWI725791 B TW I725791B TW 109109791 A TW109109791 A TW 109109791A TW 109109791 A TW109109791 A TW 109109791A TW I725791 B TWI725791 B TW I725791B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- storage device
- server
- processor
- request
- Prior art date
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本發明揭露一種伺服器,其包含有一網路介面、一處理器以及一第一儲存裝置,其中該處理器係透過該網路介面與一電子裝置進行溝通,且該第一儲存裝置儲存了一資料。在該伺服器的操作中,該處理器會對該資料進行檢查以判斷該資料是否屬於冷資料,且當該資料被判斷為冷資料時,該處理器將該資料的一第一部分保留在該第一儲存裝置中,並將該資料的一第二部分搬移至一第二儲存裝置,其中該第一部分的資料量小於該第二部分的資料量,而該第一儲存裝置的存取速度高於該第二儲存裝置的存取速度。
Description
本發明係有關於伺服器及安裝在伺服器上之電腦程式產品。
在一般的網頁伺服器中,由於儲存裝置的容量有限,因此會將一些較少使用的冷資料搬移到其他的儲存裝置中,以避免冷資料占用過多網頁伺服器內部的儲存空間。然而,當一外部電子裝置要求網頁伺服器讀取上述的冷資料時,由於冷資料已經被搬移到其他的儲存裝置,故網頁伺服器需要連線到其他的儲存裝置以讀取該冷資料,之後再將所讀取的該冷資料傳送至該外部電子裝置。由於網頁伺服器需要連線到其他的儲存裝置以取得該冷資料,故需要花較多的起始準備時間才能夠開始傳送該冷資料給該外部電子裝置,且甚至會因為時間過長而造成請求逾時(request time out)的情形發生,造成使用者的不便。
因此,本發明的目的之一在於提供一種伺服器及相關的電腦程式產品,以解決上述的問題。
在本發明的一個實施例中,揭露了一種伺服器,其包含有一網路介
面、一處理器以及一第一儲存裝置,其中該處理器係透過該網路介面與一電子裝置進行溝通,且該第一儲存裝置儲存了一資料。在該伺服器的操作中,該處理器會對該資料進行檢查以判斷該資料是否屬於冷資料,且當該資料被判斷為冷資料時,該處理器將該資料的一第一部分保留在該第一儲存裝置中,並將該資料的一第二部分搬移至一第二儲存裝置,其中該第一部分的資料量小於該第二部分的資料量,而該第一儲存裝置的存取速度高於該第二儲存裝置的存取速度;其中當該處理器透過該網路介面自該電子裝置接收一請求指令以要求讀取該資料時,該處理器直接將該資料的該第一部分透過該網路介面傳送給該電子裝置,且該資料的該第一部分的傳送速度低於該伺服器與該電子裝置之間的一允許傳送速度。
在本發明的另一個實施例中,揭露了一種電腦程式產品,其用以安裝在一伺服器中,且當該伺服器中的一處理器執行該電腦程式產品時,會致使該伺服器與一電子裝置進行互動運作,其中該互動運作包含有:對該伺服器中之一第一儲存裝置內的一資料進行檢查以判斷該資料是否屬於冷資料;以及當該資料被判斷為冷資料時,將該資料的一第一部分保留在該第一儲存裝置中,並將該資料的一第二部分搬移至一第二儲存裝置,其中該第一部分的資料量小於該第二部分的資料量,而該第一儲存裝置的存取速度高於該第二儲存裝置的存取速度;以及當該處理器自該電子裝置接收一請求指令以要求讀取該資料時,該處理器直接將該資料的該第一部分傳送給該電子裝置,且該資料的該第一部分的傳送速度低於該伺服器與該電子裝置之間的一允許傳送速度。
在本發明的另一個實施例中,揭露了一種伺服器,其包含有一網路介面、一處理器以及一第一儲存裝置,其中該處理器係透過該網路介面與一電
子裝置進行溝通,且該第一儲存裝置儲存了一資料的一第一部分。在該伺服器的操作中,當該處理器透過該網路介面自該電子裝置接收一請求指令以要求讀取該資料時,該處理器直接將該資料的該第一部分透過該網路介面傳送給該電子裝置,且該資料的該第一部分的傳送速度低於該伺服器與該電子裝置之間的一允許傳送速度。
100:伺服器
102:電子裝置
104:第二儲存裝置
110:處理器
120,130:網路介面
140:第一儲存裝置
142:電腦程式產品
144:資料
210_1~210_N:組塊
220:元資料
400~408:步驟
第1圖為根據本發明一實施例之伺服器的示意圖。
第2圖為將資料分割儲存在第一儲存裝置與第二儲存裝置的示意圖。
第3圖為上述實施例之伺服器與電子裝置以及第二儲存裝置之間之資料傳遞的時序圖。
第4圖為根據本發明一實施例之一伺服器之資料存取的流程圖。
第1圖為根據本發明一實施例之伺服器100的示意圖。如第1圖所示,伺服器100包含了一處理器110、至少兩個網路介面120、130以及一第一儲存裝置140,其中儲存裝置140包含了一電腦程式產品142以及至少一資料144。在本實施例中,伺服器100係作為一檔案伺服器,且電腦程式產品142可包含一檔案伺服器軟體(例如但不限於CEPH,其中的radosgw係作為與外部裝置的聯繫接口)之至少一部分(例如一部分或全部),且處理器110透過執行電腦程式產品142以執行伺服器100的操作。此外,伺服器100可藉由網路介面120接收來自一電子裝置102所傳送來的一讀取請求,例如接收來自使用者端(即,電子裝置102)的一超文字傳輸協定(HyperText Transfer Protocol,HTTP)讀取請求,並對該讀取請求進行
處理,以提供HTTP回覆給使用者端。
伺服器100另可透過網路介面130連接到一第二儲存裝置104,其中第二儲存裝置104係具有較大的容量及較慢的存取速度,且用來儲存伺服器100中的冷資料。在一實施例中,第二儲存裝置104為一磁帶櫃(tape library)儲存裝置,網路介面130為一光纖網路介面,而伺服器100透過光纖來存取第二儲存裝置104。在另一實施例中,第一儲存裝置140為一固態硬碟(Solid State Disk,SSD),且該第二儲存裝置104為一硬碟(Hard Disk Drive,HDD)。需注意的是,上述兩個實施例只是作為範例說明,而非是本發明的說明,只要第二儲存裝置104的容量大於第一儲存裝置140,且第一儲存裝置140的存取速度高於第二儲存裝置104,第一儲存裝置140與第二儲存裝置104可以採用他形式的儲存裝置來實現。
在伺服器100的操作中,首先,處理器110會週期性地或是在伺服器100的空閒時段檢查第一儲存裝置140內的資料,並決定出哪些資料是冷資料。舉例來說,處理器110可以判斷第一儲存裝置140中每一筆資料是否已經有一段時間沒有被電子裝置102以及其他的電子裝置所讀取過,而若是該筆資料沒有被讀取的時間已超過一預設期間的話,則判斷該筆資料是冷資料。
在本實施例中係假設處理器110判斷資料144為冷資料,接著參考第2圖,處理器110會將資料144分割為多個部分,例如第2圖所示之組塊210_1~210_N,而處理器110會將第一個組塊210_1保留在第一儲存裝置140中,並將其餘的組塊210_2~210_N搬移到第二儲存裝置104中。此外,在組塊210_2~210_N搬移至第二儲存裝置104後,處理器110在第一儲存裝置140中新增一元資料220,其記錄了資料144的大部分內容已經搬移至第二儲存裝置104,且
也記錄了組塊210_2~210_N在第二儲存裝置104內的位址,元資料220記錄了儲存在第一儲存裝置140的第一個組塊210_1以及儲存在第二儲存裝置104的其餘組塊210_2~210_N之間的鏈結關係。在本實施例中,資料144係具有很大的資料量,例如十億位元組(Gigabyte,GB)以上的資料量,而組塊210_1係具有很小的資料量,例如4百萬位元組(megabyte,MB)。
透過上述操作,由於資料144的大部分內容都已經搬移至第二儲存裝置104,故可以大幅降低伺服器100之第一儲存裝置140的負擔。
接著,當處理器110透過網路介面120自電子裝置102接收一請求指令以要求讀取資料144的全部內容時,由於資料144的大部分內容都已經被搬移到第二儲存裝置104,故此時處理器110會先發送一讀取請求至第二儲存裝置104以要求讀取資料144的組塊210_2~210_N,而為了避免讀取第二儲存裝置104的時間過長,處理器110會立即將儲存在第一儲存裝置140內的組塊210_1分割為多個區段,並使用很慢的速度依序將組塊210_1的該多個區段傳送至電子裝置102以避免請求逾時(request time out)。
在處理器110將組塊210_1的該多個區段傳送至電子裝置102的過程中,其傳輸速度低於伺服器100與電子裝置102之間的一允許傳送速度,且特別地,處理器110係在不超過請求逾時的情形下故意延長每個區段傳送給電子裝置102的時間間隔。更具體來說,由於處理器110使用很慢的速度傳送組塊210_1的目的是為了避免伺服器100讀取第二儲存裝置104的時間過長而造成請求逾時,因此處理器110傳送組塊210_1只要不會造成請求逾時的情形就好,因此可以盡可能貼近請求逾時的時間,亦即組塊210_1之傳送速度的決定並無關於目前伺服
器100允許的傳送速度、或是其他的電子裝置所佔用伺服器100的頻寬程度。舉例來說,假設請求逾時的時間為60秒,而處理器110可以每隔30~50秒傳送組塊210_1中的一部分內容(很少的資料量,例如56KB、128KB...等等)給電子裝置102。
由於使用很慢的速度傳送組塊210_1給電子裝置102的目的僅是為了拖延時間以等待第二儲存裝置104回傳組塊210_2~210_N,因此,一旦處理器110開始接收到組塊210_2的內容,則處理器110便可以提升傳送組塊210_1之剩餘區段的速度,例如使用可允許的最高速度傳送給電子裝置102,並接著將來自第二儲存裝置104之組塊210_2~210_N的內容依序傳給電子裝置102。第3圖為上述實施例之伺服器100與電子裝置102以及第二儲存裝置104之間之資料傳遞的時序圖。
在一實施例中,在處理器110將組塊210_1的第一區段傳送給電子裝置102時會另在標頭資訊內加入請求逾時的時間,例如60秒或是120秒,以供電子裝置102參考使用。
第4圖為根據本發明一實施例之一伺服器之資料存取的流程圖。參考以上實施例所述內容,該伺服器之資料存取的流程如下所述。
步驟400:流程開始。
步驟402:自一電子裝置接收一讀取命令,其中該讀取命令係要求讀取一檔案。
步驟404:傳送一讀取請求至一第二儲存裝置以要求讀取該資料的一第二部分。
步驟406:將該伺服器內部的一第一儲存裝置中所儲存的該檔案的一第一部分分割為多個區段,並在不超過請求逾時的情形下刻意降低每個區段傳送給該電子裝置的速度。
步驟408:在開始接收到來自該第二儲存裝置的該資料的該第二部分時,加速傳送該檔案的該第一部分至該電子裝置。
步驟410:將該資料的該第二部分傳送至該電子裝置。
簡要歸納本發明,在本發明之伺服器及相關的電腦程式產品中,其可以在判斷伺服器之第一儲存裝置內的一資料是冷資料時,將該資料的一第一部分保留在第一儲存裝置內,並將該資料的一第二部分搬移至具有大容量但存取速慢的第二儲存裝置;之後等到接收到一電子裝置的一讀取請求時,可以先慢慢地將該第一部分傳送給該電子裝置,以避免讀取第二儲存裝置的時間過久而造成請求逾時,之後等到第二儲存裝置回傳該資料的該第二部分之後再提升傳送該資料給電子裝置的速度。因此,本發明可以在有效率地利用伺服器之儲存空間的情形下避免電子裝置的該讀取請求失效(亦即,請求逾時)。以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:伺服器
102:電子裝置
104:第二儲存裝置
110:處理器
120,130:網路介面
140:第一儲存裝置
142:電腦程式產品
144:資料
Claims (10)
- 一種伺服器,包含有:一網路介面;一處理器,用以透過該網路介面與一電子裝置進行溝通;以及一第一儲存裝置,用以儲存一資料;其中該處理器對該資料進行檢查以判斷該資料是否屬於冷資料,且當該資料被判斷為冷資料時,該處理器將該資料的一第一部分保留在該第一儲存裝置中,並將該資料的一第二部分搬移至一第二儲存裝置,其中該第一部分的資料量小於該第二部分的資料量,而該第一儲存裝置的存取速度高於該第二儲存裝置的存取速度;其中當該處理器透過該網路介面自該電子裝置接收一請求指令以要求讀取該資料時,該處理器直接將該資料的該第一部分透過該網路介面傳送給該電子裝置,並發送一讀取請求至該第二儲存裝置以要求讀取該資料的該第二部分。
- 如申請專利範圍第1項所述之伺服器,其中該第二儲存裝置為一磁帶櫃(tape library)儲存裝置。
- 如申請專利範圍第1項所述之伺服器,其中該第一儲存裝置為一固態硬碟(Solid State Disk,SSD),且該第二儲存裝置為一硬碟(Hard Disk Drive,HDD)。
- 如申請專利範圍第1項所述之伺服器,其中在將該資料的該第二部分搬移至該第二儲存裝置的過程中,該處理器在該第一儲存裝置中建立 一元資料,以記錄該第一儲存裝置之該資料的該第一部分以及儲存在該第二儲存裝置之該資料的該第二部分之間的鏈結關係。
- 如申請專利範圍第1項所述之伺服器,其中當該處理器透過該網路介面自該電子裝置接收該請求指令以要求讀取該資料時,該處理器將該資料的該第一部分切割為多個區段,並在不超過請求逾時(request time out)的情形下延長每個區段傳送給該電子裝置的時間間隔。
- 一種電腦程式產品,用以安裝在一伺服器中,且當該伺服器中的一處理器執行該電腦程式產品時,會致使該伺服器與一電子裝置進行互動運作,其中該互動運作包含有:對該伺服器中之一第一儲存裝置內的一資料進行檢查以判斷該資料是否屬於冷資料;當該資料被判斷為冷資料時,將該資料的一第一部分保留在該第一儲存裝置中,並將該資料的一第二部分搬移至一第二儲存裝置,其中該第一部分的資料量小於該第二部分的資料量,而該第一儲存裝置的存取速度高於該第二儲存裝置的存取速度;以及當該處理器自該電子裝置接收一請求指令以要求讀取該資料時,直接將該資料的該第一部分傳送給該電子裝置,並發送一讀取請求至該第二儲存裝置以要求讀取該資料的該第二部分。
- 如申請專利範圍第6項所述之電腦程式產品,其中該第二儲存裝置為一磁帶櫃(tape library)儲存裝置。
- 如申請專利範圍第6項所述之電腦程式產品,其中該第一儲存裝置為一固態硬碟(Solid State Disk,SSD),且該第二儲存裝置為一硬碟(Hard Disk Drive,HDD)。
- 如申請專利範圍第6項所述之電腦程式產品,另包含有:其中在將該資料的該第二部分搬移至該第二儲存裝置的過程中,在該第一儲存裝置中建立一元資料,以記錄該第一儲存裝置之該資料的該第一部分以及儲存在該第二儲存裝置之該資料的該第二部分之間的鏈結關係。
- 如申請專利範圍第6項所述之電腦程式產品,其中直接將該資料的該第一部分透過該網路介面傳送給該電子裝置的步驟包含有:將該資料的該第一部分切割為多個區段,並在不超過請求逾時(request time out)的情形下延長每個區段傳送給該電子裝置的時間間隔。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109109791A TWI725791B (zh) | 2019-01-16 | 2019-01-16 | 伺服器及相關的電腦程式產品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109109791A TWI725791B (zh) | 2019-01-16 | 2019-01-16 | 伺服器及相關的電腦程式產品 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202029696A TW202029696A (zh) | 2020-08-01 |
TWI725791B true TWI725791B (zh) | 2021-04-21 |
Family
ID=73002762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109109791A TWI725791B (zh) | 2019-01-16 | 2019-01-16 | 伺服器及相關的電腦程式產品 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI725791B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801690A (zh) * | 2011-05-25 | 2012-11-28 | 华为技术有限公司 | 流媒体的处理方法、分发服务器、客户端及*** |
CN105653524A (zh) * | 2014-11-10 | 2016-06-08 | 阿里巴巴集团控股有限公司 | 一种数据存储方法、装置和*** |
CN106547477A (zh) * | 2015-09-22 | 2017-03-29 | 伊姆西公司 | 用于在线地减少缓存设备的方法和装置 |
-
2019
- 2019-01-16 TW TW109109791A patent/TWI725791B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801690A (zh) * | 2011-05-25 | 2012-11-28 | 华为技术有限公司 | 流媒体的处理方法、分发服务器、客户端及*** |
CN105653524A (zh) * | 2014-11-10 | 2016-06-08 | 阿里巴巴集团控股有限公司 | 一种数据存储方法、装置和*** |
CN106547477A (zh) * | 2015-09-22 | 2017-03-29 | 伊姆西公司 | 用于在线地减少缓存设备的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
TW202029696A (zh) | 2020-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8364645B2 (en) | Data management system and data management method | |
US7272687B2 (en) | Cache redundancy for LSI raid controllers | |
US9146684B2 (en) | Storage architecture for server flash and storage array operation | |
CN111124301A (zh) | 一种对象存储设备的数据一致性存储方法及*** | |
US9063945B2 (en) | Apparatus and method to copy data | |
US8838840B1 (en) | Method and apparatus for recovering from slow or stuck SCSI commands at a SCSI target | |
CN101566927A (zh) | 存储***和存储控制器以及数据缓存方法 | |
JP5611889B2 (ja) | データ転送装置、データ送信システムおよびデータ送信方法 | |
US20020161982A1 (en) | System and method for implementing a storage area network system protocol | |
US11966614B2 (en) | Object tiering in a distributed storage system | |
WO2023226314A1 (zh) | 应用的缓存可伸缩处理方法、装置、设备及介质 | |
US10318196B1 (en) | Stateless storage system controller in a direct flash storage system | |
US9984112B1 (en) | Dynamically adjustable transaction log | |
TWI692955B (zh) | 伺服器及相關的電腦程式產品 | |
TWI725791B (zh) | 伺服器及相關的電腦程式產品 | |
JP2004362146A (ja) | ストレージ制御装置の制御方法及びストレージ制御装置 | |
US7873963B1 (en) | Method and system for detecting languishing messages | |
KR20240011609A (ko) | 원격 서버로부터 읽은 낮은 레이턴시 데이터를 위한 데이터 프리패칭 시스템 및 방법 | |
US9235450B2 (en) | Method and apparatus for reducing slow or stuck SCSI commands in a multi-service environment at a SCSI target | |
US20080250201A1 (en) | Information processing system and control method thereof | |
CN116594551A (zh) | 一种数据存储方法及装置 | |
CN115878580A (zh) | 一种日志管理方法及装置 | |
CN113946577A (zh) | 对象归并方法及装置 | |
CN111443865A (zh) | 服务器及相关的计算机程序产品 | |
US11100050B1 (en) | Dense file reservation in thinly provisioned file system |