TWI816574B - 碟符調整方法、電子設備及存儲介質 - Google Patents

碟符調整方法、電子設備及存儲介質 Download PDF

Info

Publication number
TWI816574B
TWI816574B TW111138433A TW111138433A TWI816574B TW I816574 B TWI816574 B TW I816574B TW 111138433 A TW111138433 A TW 111138433A TW 111138433 A TW111138433 A TW 111138433A TW I816574 B TWI816574 B TW I816574B
Authority
TW
Taiwan
Prior art keywords
hard disk
driver
action
slot
letter
Prior art date
Application number
TW111138433A
Other languages
English (en)
Other versions
TW202414248A (zh
Inventor
朱建華
袁傑
Original Assignee
新加坡商鴻運科股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新加坡商鴻運科股份有限公司 filed Critical 新加坡商鴻運科股份有限公司
Application granted granted Critical
Publication of TWI816574B publication Critical patent/TWI816574B/zh
Publication of TW202414248A publication Critical patent/TW202414248A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Coupling Device And Connection With Printed Circuit (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
  • Moving Of The Head To Find And Align With The Track (AREA)

Abstract

一種碟符調整方法,用於調整硬碟之碟符,所述碟符調整方法包括:響應於已識別動作硬碟,獲取所述動作硬碟之系統碟符;識別所述動作硬碟之插接位置;響應於所述動作硬碟插接於拓展槽位,獲取所述動作硬碟對應之槽位值;根據所述槽位值修改所述動作硬碟之所述系統碟符為槽位碟符。本申請還提供一種電子設備及存儲介質。

Description

碟符調整方法、電子設備及存儲介質
本申請涉及電腦技術領域,更具體地涉及一種碟符調整方法、電子設備及存儲介質。
於伺服器領域,伺服器或電腦中設有多個硬碟以進行資料存儲。伺服器或電腦中可設有多個槽位,多個硬碟可插接於多個槽位上。伺服器或電腦之處理器可根據預設規則對插接於槽位上之多個硬碟分配碟符。例如,當處理器運行Linux系統時,可對多個硬碟分配碟符sda、sdb、sdc等。當操作人員需要讀取指定硬碟中存儲之檔案,或系統需要調取指定硬碟中存儲之檔案時,可根據碟符獲取對應硬碟之檔案目錄,並於目錄中獲取對應之檔案。
目前,於硬碟出現從槽位上熱插拔之情況下,存在系統不按照預設規則對硬碟分配碟符之情況,即存在碟符漂移之情況。操作人員或系統無法根據原有碟符對發生碟符漂移之硬碟內之檔案進行查找或調用,存在使用不便之缺陷。
鑒於以上內容,有必要提供一種碟符調整方法、電子設備及存儲介質,可於硬碟發生熱插拔時調整硬碟之碟符為槽位碟符,提高對硬碟內檔案查找及調用之方便性。
第一方面,本申請之實施例提供一種碟符調整方法,用於調整硬碟之碟符,所述碟符調整方法包括:響應於已識別動作硬碟,獲取所述動作硬 碟之系統碟符;識別所述動作硬碟之插接位置;響應於所述動作硬碟插接於拓展槽位,獲取所述動作硬碟對應之槽位值;根據所述槽位值修改所述動作硬碟之所述系統碟符為槽位碟符。
可選地,所述識別所述動作硬碟之插接位置包括:確定所述動作硬碟對應之驅動程式是否為拓展裝置之所述驅動程式,其中,所述拓展裝置上設置有拓展槽位;響應於所述動作硬碟對應之驅動程式是所述拓展裝置之所述驅動程式,獲取所述動作硬碟之插接位置為所述拓展槽位。
可選地,所述獲取所述動作硬碟之插接位置包括:響應於所述動作硬碟對應之驅動程式不是所述拓展裝置之所述驅動程式,獲取所述動作硬碟之插接位置為本體槽位。
可選地,所述確定所述動作硬碟對應之驅動程式是否為拓展裝置之所述驅動程式包括:獲取所述拓展裝置對應之驅動名稱,其中,所述驅動名稱為所述驅動程式之名稱;確定所述動作硬碟對應之識別資訊與所述驅動名稱是否相同,其中,所述識別資訊為所述動作硬碟之硬體資訊中預設位置之資訊;響應於所述識別資訊與所述驅動名稱相同,確定所述動作硬碟對應之所述驅動程式是所述拓展裝置之所述驅動程式。
可選地,所述確定所述動作硬碟對應之驅動程式是否為拓展裝置之所述驅動程式包括:獲取多個所述拓展裝置對應之多個驅動名稱,其中,多個所述驅動名稱分別為多個所述驅動程式之名稱,所述驅動程式之數量大於或等於二;依次確定所述動作硬碟對應之識別資訊與多個所述驅動名稱是否相同,其中,所述識別資訊為所述動作硬碟之硬體資訊中預設位置之資訊;響應於所述識別資訊與一所述驅動名稱相同,確定所述動作硬碟對應之所述驅動程式是所述拓展裝置之所述驅動程式。
可選地,確定所述識別資訊與所述驅動名稱是否相同之方法包括:根據所述驅動名稱生成驅動字串;獲取硬體資訊中包括有所述驅動名稱之部分資訊;獲取所述部分資訊中位於預設位置之資訊為所述識別資訊;響應於所述驅動字串之內容與所述識別資訊之內容相同,確定所述識別資訊與所述驅動名稱相同。
可選地,所述系統碟符包括第一符部與第二符部,多個所述系統碟符之所述第一符部相同,多個所述系統碟符之所述第二符部不同,所述根據所述槽位值修改所述動作硬碟之所述系統碟符為槽位碟符包括:響應於所述動作硬碟不包括分區,以所述槽位值替換所述第二符部,生成所述槽位碟符。
可選地,所述第二符部包括硬碟符部與分區符部,多個所述硬碟符部分別對應於多個硬碟,多個所述分區符部對應於硬碟中之多個分區,所述根據所述槽位值修改所述動作硬碟之所述系統碟符為槽位碟符包括:響應於所述動作硬碟包括分區,獲取所述分區值;以所述槽位值替換所述硬碟符部,並根據預設格式與所述分區值修改所述分區符部,生成所述槽位碟符。
第二方面,本申請之實施例提供一種電子設備,包括:記憶體,用於存儲電腦程式;處理器,用於執行所述記憶體存儲之所述電腦程式,當所述電腦程式被執行時,所述處理器用於執行如上述任一項所述之碟符調整方法。
第三方面,本申請之實施例提供一種存儲介質,所述存儲介質包括電腦程式,當所述電腦程式於電子設備上運行時,使得所述電子設備執行如上述任一項所述之碟符調整方法。
本申請實現方式提供之碟符調整方法、電子設備及存儲介質,可於出現碟符漂移之情況時調整硬碟之碟符為槽位碟符,減少由於碟符漂移情況而導致之無法根據原有碟符對動作硬碟內之檔案進行查找或調用之情況,提高對硬碟內檔案查找與調用之方便性。
100:電子設備
10:處理器
20:記憶體
21:電腦程式
30:本體裝置
40:拓展裝置
S21~S24:步驟
S31、S32:步驟
S41、S42:步驟
S51~S54:步驟
S61~S64:步驟
圖1是本申請實施例中電子設備之結構示意圖。
圖2是本申請實施例中碟符調整方法之流程圖。
圖3是本申請實施例中碟符調整方法之另一流程圖。
圖4是本申請實施例中碟符調整方法之另一流程圖。
圖5是本申請實施例中碟符調整方法之另一流程圖。
圖6是本申請實施例中碟符調整方法之另一流程圖。
下面將結合本申請實現方式中之附圖,對本申請實現方式中之技術方案進行清楚、完整地描述,顯然,所描述之實現方式僅是本申請一部分實現方式,而不是全部之實現方式。
請參閱圖1,圖1為本申請之一個實施例提供之電子設備100之示意圖。可理解,電子設備100可執行碟符調整方法,以於電子設備100中由於硬碟之熱插拔而出現碟符漂移之情況時,調整硬碟之碟符。
本實施例中,電子設備100可包括處理器10、記憶體20、本體裝置30與拓展裝置40。處理器10、記憶體20、本體裝置30與拓展裝置40可藉由通訊匯流排連接並完成相互間之通訊。
處理器10可以為通用中央處理器(CPU)、微處理器、特定應用積體電路(application-specific integrated circuit,ASIC)、或一個或多個用於控制以上方案程式執行之積體電路。
記憶體20可以為唯讀記憶體(read-only memory,ROM)或可存儲靜態資訊與指令之其他類型之靜態存放裝置,隨機存取記憶體(random access memory,RAM)或者可存儲資訊與指令之其他類型之動態儲存裝置設備,亦可 以為電可擦可程式設計唯讀記憶體(Electrically Erasable Programmable Read-Only Memory,EEPROM)、唯讀光碟(Compact Disc Read-Only Memory,CD-ROM)或其他光碟存儲、光碟存儲(包括壓縮光碟、鐳射碟、光碟、數位通用光碟、藍光光碟等)、磁片存儲介質或者其他磁存放裝置、或者能夠用於攜帶或存儲具有指令或資料結構形式之期望之程式碼並能夠由電腦存取之任何其他介質,但不限於此。記憶體20可以為獨立存在,藉由匯流排與處理器10相連接。記憶體20亦可與處理器10集成於一起。
處理器10、記憶體20及拓展裝置40均安裝於本體裝置30上。拓展裝置40上開設有多個拓展插槽,拓展插槽可用於插接硬碟。本體裝置30上開設有至少一個本體插槽,本體插槽可用於插接硬碟。
可理解,本體插槽與拓展裝置40上可同時插接有硬碟。本體插槽上插接之硬碟可存儲有電子設備100之運行系統之運行程式。拓展插槽上插接之硬碟可存儲操作人員需要查看之檔案、需要使運行系統調用之腳本等。
舉例說明,電子設備100可以為伺服器,本體裝置30可以為伺服器之主機板,處理器10可以為伺服器之CPU,記憶體20可以為插接於本體插槽上之硬碟及伺服器之記憶體條,拓展裝置40可以為安裝於伺服器之主機板上之主機匯流排適配器(Host Bus Adapter,HBA)及其附屬裝置。
可理解,電子設備100中可設置有多個硬碟,伺服器之系統運行後,系統可根據預設規則對多個硬碟分配多個系統碟符。操作人員可藉由系統碟符查找硬碟對應之目錄,以查找或調用硬碟中之指定檔案。伺服器亦可於運行程式時,藉由系統碟符調取指定硬碟中之檔案。
舉例說明,伺服器可以為運行Linux系統之伺服器,Linux系統根據掃描到之硬碟順序分配系統碟符。系統碟符可為sda、sdb1、sdb2、......、sdz等,其中,a、b等英文字母之排序對應於系統識別到多個硬碟之順序,1、2等數位 對應硬碟中對各分區預設之分區值。伺服器可根據系統碟符中英文字母之排序及數位由小至大之排序將多個系統碟符分配給多個硬碟。
可理解,系統碟符可包括第一符部與第二符部,多個硬碟對應有多個系統碟符,其中多個系統碟符之多個第一符部相同,多個系統碟符之多個第二符部不同。於Linux系統中,系統碟符可為sda、sdb1、sdb2、......、sdz等,其中,系統碟符sda之第一符部為sd,第二符部為a;系統碟符sdb1之第一符部為sd,第二符部為b1。
可理解,碟符漂移之情況即為伺服器或電腦未按預設順序對多個硬碟分配系統碟符之問題,例如於一硬碟熱插拔後,伺服器或電腦對該已分配過系統碟符之硬碟重新分配另一系統碟符,從而造成之系統碟符混亂之問題。碟符漂移之情況下,伺服器或電腦之運行系統及操作人員均難以根據原有之目錄位址獲取指定硬碟中之檔案。
本申請之實施例中,處理器10可執行碟符調整方法,以於硬碟發生熱插拔且電子設備100之運行系統自動對發生熱插拔之硬碟分配新系統碟符後,調整該硬碟之碟符,以減少電子設備100之運行系統及操作人員根據預設之目錄位址獲取指定硬碟中之檔案時失敗之情況。
請參閱圖2,一實施例中,碟符調整方法可包括以下步驟S21至S24:
步驟S21:響應於已識別動作硬碟,獲取動作硬碟之系統碟符。
可理解,動作硬碟為電子設備100工作時,處理器10識別到新增或變更之硬碟。硬碟之變更即為同一硬碟於拓展槽位或本體槽位上之熱插拔之變更情況。當電子設備100啟動後或電子設備100中之硬碟熱插拔時,處理器10可識別新增或熱插拔之硬碟。
舉例說明,電子設備100之運行系統可以為Linux系統,Linux系統可藉由裝置管理員(udev)監測電子設備100中裝置之動作事件以管理/dev目錄 下之設備目錄,裝置之動作事件可包括新增、變更或減少。裝置管理員於監測硬碟新增或變更後,裝置管理員可對動作硬碟分配系統碟符,並於/dev目錄下生成與系統碟符對應之設備目錄。當硬碟新增或變更後,裝置管理員可根據英文字母之排序,於未分配之英文字母中獲取排序最首位之英文字母作為動作硬碟之系統碟符之英文字母部分,生成動作硬碟之系統碟符。例如,Linux系統已經完成系統碟符sda、sdb及sdc分配後,當系統碟符sdc對應之硬碟發生熱插拔時,裝置管理員獲取該硬碟之動作事件,與原系統碟符sdc對應之硬碟為動作硬碟,裝置管理員對動作硬碟重新分配系統碟符sdd,刪除/dev/sdc目錄並新增/dev/sdd目錄。
響應於裝置管理員對動作硬碟分配了系統碟符,處理器10可獲取動作硬碟之系統碟符。
可理解,當電子設備100開機工作時,裝置管理員識別已插接於電子設備100內之硬碟時,裝置管理員可將識別到之硬碟確定為發生新增之動作事件之硬碟,並對多個硬碟分配系統碟符。
步驟S22:確定動作硬碟之插接位置是否為拓展槽位;響應於動作硬碟之插接位置為拓展槽位,進入步驟S23;響應於動作硬碟之插接位置為本體槽位,結束流程。
可理解,插接位置可包括拓展槽位與本體槽位。當獲取動作硬碟之插接位置為拓展槽位時,可確定動作硬碟插接於拓展裝置40之拓展槽位上。當獲取動作硬碟之插接位置為本體槽位時,可確定動作硬碟插接於拓展裝置40之拓展槽位上。
需要說明,本申請之實施例中,當動作硬碟之插接位置為本體槽位時,處理器10不對動作硬碟之系統碟符進行調整,碟符調整方法結束。碟符 調整方法運行結束後,處理器10可繼續對另一動作硬碟執行碟符調整方法,或待處理器10再次識別到動作硬碟時對識別之動作硬碟執行碟符調整方法。
可理解,本體槽位上之硬碟用於存儲電子設備100之運行系統之系統檔案,本申請之實施例中,本體槽位上之硬碟不存在熱插拔情況。當電子設備100開機工作時,本體槽位上之硬碟被處理器10首次識別且被識別為動作硬碟,處理器10對本體槽位上之動作硬碟分配系統碟符後,處理器10藉由執行步驟S22確定動作硬碟之插接位置,並結束對該動作硬碟繼續執行碟符調整方法。
舉例說明,電子設備100之運行系統可以為Linux系統,處理器10可調用記憶體20中之Linux系統之系統檔案以運行Linux系統。當電子設備100開機工作時,處理器10通電工作,處理器10可運行Linux系統,並藉由裝置管理員識別到本體槽位上之動作硬碟,藉由裝置管理員對本體槽位上之動作硬碟分配系統碟符。處理器10執行步驟S22後,確定動作硬碟之插接位置為本體槽位,且確定動作硬碟可能為存儲Linux系統之系統檔案之硬碟。處理器10不對已分配給動作硬碟之系統碟符進行調整,並繼續識別另一動作硬碟。
一些實施例中,獲取動作硬碟之插接位置之方法可包括:確定動作硬碟對應之驅動程式是否為拓展裝置40之驅動程式,響應於作硬碟對應之驅動程式是拓展裝置40之驅動程式,可確定動作硬碟之插接位置為拓展槽位,進入步驟S23;響應於作硬碟對應之驅動程式是拓展裝置40之驅動程式,可確定動作硬碟之插接位置為本體槽位,結束流程。
一可理解,當處理器10調用硬碟中之檔案或程式時,需要運行拓展裝置40或本體裝置30之驅動程式,以實現處理器10與硬碟之間之資訊傳輸。處理器10可根據確定處理器10識別動作硬碟中存儲之檔案或程式時,運行之驅動程式是否為拓展裝置40之驅動程式,從而確定動作硬碟之插接位置為拓展槽位或本體槽位。
請參閱圖3,一些實施例中,電子設備100中之拓展裝置40之品牌、型號等是工作人員已知拓展裝置40之驅動名稱是已知其中,驅動名稱為驅動程式之名稱。處理器10確定動作硬碟對應之驅動程式是否為拓展裝置40之驅動程式之方法可包括以下步驟:
步驟S31:獲取拓展裝置40對應之驅動名稱。
可理解,當驅動名稱已知時,驅動名稱可預存於記憶體20中,處理器10可從記憶體20中獲取拓展裝置40之驅動名稱。
步驟S32:確定動作硬碟對應之識別資訊與驅動名稱是否相同,響應於識別資訊與驅動名稱相同,確定動作硬碟對應之驅動程式是拓展裝置40之驅動程式,進入步驟S23;響應於識別資訊與驅動名稱不相等,確定動作硬碟對應之驅動程式不是拓展裝置40之驅動程式,結束流程。
可理解,識別資訊為動作硬碟之硬體資訊中預設位置之資訊。處理器10藉由公知之、開源之指令可獲取動作硬碟之硬體資訊,硬體資訊中預設位置之資訊可以為實現處理器10與動作硬碟之間資訊傳輸之驅動程式之名稱。例如,電子設備100之運行系統可以為Linux系統,處理器10運行Linux系統時,可藉由udevadm指令獲取動作硬碟之硬體資訊,預設位置可以為硬體資訊中記錄有驅動名稱之一行資訊中之第二列。
可理解,當確定動作硬碟對應之驅動程式為拓展裝置40之驅動程式時,可確定處理器10藉由拓展裝置40之驅動程式實現與動作硬碟之資訊傳輸,從而可確定動作硬碟之插接位置為拓展槽位。反之則可確定動作硬碟之插接位置為本體槽位。
請參閱圖4,另一些實施例中,多種拓展裝置40具有多種不同之驅動程式,多種不同之驅動程式分別對應有多個不同之驅動名稱。電子設備100中之拓展裝置40之品牌、型號等資訊是工作人員未知拓展裝置40之驅動名稱是工 作人員未知。處理器10確定動作硬碟對應之驅動程式是否為拓展裝置40之驅動程式之方法可包括以下步驟S41、S42:
步驟S41:獲取多個拓展裝置40對應之多個驅動名稱。
步驟S42:依次確定動作硬碟對應之識別資訊與多個驅動名稱是否相同,響應於識別資訊與一驅動名稱相同,確定動作硬碟對應之驅動程式是拓展裝置40之驅動程式,進入步驟S23;響應於識別資訊與多個驅動名稱均不相同,確定動作硬碟對應之驅動程式是本體裝置30之驅動程式,結束流程。
可理解,當工作人員對拓展裝置40之驅動名稱未知時,處理器10可獲取與電子設備100適配之多種拓展裝置40對應之驅動名稱,並將識別資訊與多個驅動名稱逐一對比,當出現一個驅動名稱與識別資訊相同時,可確定動作硬碟之插接位置為拓展槽位,且可根據驅動名稱同時確定拓展裝置40之品牌、型號等資訊。反則可確定動作硬碟之插接位置為本體槽位。
可理解,與電子設備100適配之多種拓展裝置40對應之驅動名稱可存儲於記憶體20中。
請參閱圖5,一些實施例中,確定識別資訊與驅動名稱是否相同之方法可包括一下步驟:
步驟S51:根據驅動名稱生成驅動字串。
可理解,處理器10可根據已知之驅動名稱,生成與一個或多個驅動名稱對應之一個或多個驅動字串。
舉例說明,處理器10可藉由運行代碼lsi="mpt3sas"與pmc="smartpqi",從而執行步驟S51。其中,lsi與pmc分別為兩個驅動字串,驅動字串lsi之內容“mpt3sas”為LSI品牌之主機匯流排適配器之驅動程式之驅動名稱,驅動字串pmc之內容“smartpqi"”為PMC品牌之主機匯流排適配器之驅動程式之驅動名稱。
步驟S52:獲取動作硬碟之硬體資訊中包括有驅動名稱之部分資訊。
可理解,處理器10可藉由開源、公知之指令獲取動作硬碟之硬體資訊。當記憶體20中僅存儲有一個驅動名稱時,處理器10執行步驟S51時生成一個驅動字串,處理器10執行步驟S52時於動作硬碟之硬體資訊中查找與記憶體20中驅動名稱相同之資訊,並獲取硬體資訊中包括有驅動名稱之部分資訊。當記憶體20中存儲有多個驅動名稱時,處理器10執行步驟S51時生成多個驅動字串,處理器10執行步驟S52時於動作硬碟之硬體資訊中依次查找與多個驅動名稱相同之資訊,並獲取硬體資訊中包括有驅動名稱之部分資訊。
可理解,當記憶體20中僅存儲有一個驅動名稱,且處理器10無法於動作硬碟之硬體資訊中查找出驅動名稱時,處理器10獲取部分資訊之結果為空。當記憶體20中存儲有多個驅動名稱,且處理器10無法於動作硬碟之硬體資訊中查找出任一驅動名稱時,處理器10獲取部分資訊之結果為空。
可理解,部分資訊可以為硬體資訊中包括有驅動名稱之一行資訊。本申請之實施例中,當硬體資訊中存在驅動名稱時,硬體資訊僅包括一個驅動名稱。
步驟S53:獲取部分資訊中位於預設位置之資訊為識別資訊。
可理解,預設位置可以為碟符調整方法執行前,工作人員根據硬體資訊之資訊格式確定之位置。例如,預設位置可以為部分資訊中位於第二列之資訊。
可理解,插接於本體槽位與拓展槽位上之多個硬碟之硬體資訊之格式可以相同,即硬碟之硬體資訊中出現驅動名稱之部分資訊中,於該部分資訊預設位置上之內容均為與該硬碟對應之驅動名稱。工作人員可根據驅動名稱出現今硬體資訊中之位置,於碟符調整方法運行前確定預設位置。
可理解,步驟S52中獲取部分資訊之結果為空時,步驟S53中獲取識別資訊之結果為空。
舉例說明,處理器10可藉由運行代碼driver=`udevadm info -a/dev/$SD |grep mpt3sas |awk -F""'{printf $2}'`,執行步驟S52與S53。該代碼對應於驅動名稱“mpt3sas”。“$SD”之內容為動作硬碟之系統碟符中之第二符部。處理器10執行driver對應之指令時,可獲取動作硬碟之硬體資訊,於硬體資訊中查找內容“mpt3sas”之一行資訊,並於存在內容“mpt3sas”之一行資訊中獲取位於第二列之資訊。當硬體資訊中存在內容“mpt3sas”時,處理器10獲取之識別資訊內容為“mpt3sas”;當硬體資訊中不存在內容名“mpt3sas”時,處理器10獲取結果為空。
步驟S54:確定驅動字串之內容與識別資訊之內容是否相同,響應於驅動字串之內容與識別資訊之內容相同,確定識別資訊與驅動名稱相同,進入步驟S23;響應於驅動字串之內容與識別資訊之內容不相同,確定識別資訊與驅動名稱不相同,結束流程。
可理解,當步驟S53中獲取識別資訊之結果不為空時,識別資訊之內容為驅動名稱,識別資訊之內容與驅動字串之內容相同。當步驟S53中獲取識別資訊之結果為空時,識別資訊之內容與驅動字串之內容不相同。
可理解,當記憶體20中存儲有M個驅動名稱時,處理器10根據M個驅動名稱分別執行M次步驟S51至步驟S53,生成M個識別資訊。處理器10可對M個識別資訊逐一分別執行步驟S54,以確定M個識別資訊之內容與M個驅動字串之內容是否相同。當步驟S54執行次數達到M次時,處理器10可確定是否存在一組識別資訊之內容與驅動字串之內容是相同若存在,則處理器10可確定識別資訊與驅動名稱相同;若M組識別資訊之內容與M個驅動字串之內容均不相同,則處理器10可確定識別資訊與驅動名稱不相同。其中,M為大於或等於2之正整數。
可理解,當識別資訊與驅動名稱相同時,可確定動作硬碟之插接位置為拓展裝置40。
請重新參閱圖2,步驟S23:獲取硬碟對應之槽位值。
可理解,槽位值可以為拓展裝置40上之多個拓展插槽之預設序號。拓展裝置40於生產加工過程中可對拓展插槽按預設之順序排序,使多個拓展插槽均對應有不同之序號。例如,主機匯流排適配器上設有多個插槽,且多個插槽之序號分別是0、1、2、......、n,n為正整數。
可理解,處理器10可藉由開源、公知之指令獲取動作硬碟對應之拓展插槽之槽位置。
舉例說明,於Linux系統中,可藉由lsscsi指令獲取主機匯流排適配器上之動作硬碟對應之槽位資訊,並從槽位資訊中獲取槽位置。例如,槽位資訊之內容可以為slot1、slot2、......、slotn等,其中n為常數。槽位資訊內容中之數位部分n為槽位值,代表了槽位資訊對應之槽位是拓展裝置40中之第n個拓展槽位。
步驟S24:根據槽位值修改動作硬碟之系統碟符為槽位碟符。
可理解,於電子設備100開機時,電子設備100之運行系統對電子設備100中之多個硬碟分配系統碟符後,處理器10可執行碟符調整方法以將插接於拓展槽位上之硬碟之系統碟符均修改為槽位碟符。當拓展槽位上新增硬碟或拓展槽位上之硬碟熱插拔時,電子設備100之運行系統對動作硬碟重新分配系統碟符,處理器10可執行碟符調整方法以將拓展槽位上之動作硬碟之系統碟符修改為槽位碟符。於此基礎上,電子設備100持續工作之過程中,位於拓展槽位上之硬碟之碟符均為槽位碟符,工作人員或處理器10調取拓展槽位上之硬碟中存儲之檔案時,可以槽位碟符作為目錄位址查找檔案。例如,處理器10運行Linux系統時,當電子設備100開機或拓展槽位上之硬碟發生熱插拔情況時,處理器10 獲取動作硬碟之系統碟符為sdd,獲取動作硬碟對應之槽位資訊為slot2,其中2為槽位值時,處理器10可動作硬碟之系統碟符sdd修改為sd2。
請參閱圖6,一些實施例中,根據槽位值修改系統碟符為槽位碟符之方法可包括以下步驟:
步驟S61:確定動作硬碟是否存在分區,響應於動作硬碟不存在分區,進入步驟S62;響應於動作硬碟存在分區,進入步驟S63。
可理解,硬碟中可存在分區,多個分區可分別用於存儲不同之檔案。系統碟符之第二符部可包括硬碟符部與分區符部,多個硬碟符部對應於多個硬碟。多個分區符部對應於一個硬碟中之多個分區。
舉例說明,處理器10運行Linux系統時,動作硬碟之系統碟符可為sdd1、sdd2與sdd3,其中sd為第一符部,d1、d2與d3為第二符部。第二符部d1、d2與d3中,d為硬碟符部,1、2與3為分區符部。動作硬碟中存在3個分區。
可理解,處理器10可根據系統碟符查看硬碟之檔案目錄,並藉由於硬碟之檔案目錄下查看是否存在與分區對應之子目錄,從而確定硬碟是否存在分區。當硬碟之檔案目錄下存在與分區對應之子目錄時,硬碟存在分區。
步驟S62:以槽位值替換第二符部,生成槽位碟符。
可理解,當動作硬碟不存在分區時,處理器10可將動作硬碟對應之系統碟符中之第二符部刪除,並將槽位值補充至第二符部之位置,從而生成動作硬碟對應之槽位碟符。
步驟S63:獲取動作硬碟之多個分區值。
可理解,處理器10可藉由識別與動作硬碟對應之系統碟符之數量及分區符部,或根據系統碟符識別動作硬碟之檔案目錄中子目錄之名稱,獲取系統碟符中分區之數量及各個分區對應之分區值。
例如,運行Linux系統之電子設備100中,動作硬碟對應之系統碟符數量為4,4個系統碟符分別為sdd、sdd1、sdd2、sdd3。處理器10根據系統碟符之數量可確定動作硬碟中存在(4-1)個分區,且3個分區之分區值分別為1、2與3。
步驟S64:以槽位值替換硬碟符部,並根據預設格式與分區值修改分區符部,生成槽位碟符。
可理解,於Linux系統中,槽位值與分區至均為阿拉伯數字。為減少槽位碟符中出現多位阿拉伯數字而導致處理器10或工作人員錯誤識別槽位碟符之情況,於生成之槽位碟符中可將根據預設格式調整後之分區值替換分區符部,生成槽位碟符。其中,預設格式可以為碟符調整方法運行前工作人員預設,且與分區符部之格式不相同之格式。
舉例說明,於Linux系統中,預設格式可以為p*,其中*為分區值,*為大於0之正整數。例如,動作硬碟對應有3個系統碟符,分別sdd1、sdd2、sdd3。其中,第一符部為sd,硬碟符部為d,分區符部為1、2與3;動作硬碟對應之槽位值為0,動作硬碟之分區對應之分區值分別為1、2與3,處理器10執行步驟S64後,生成之3個槽位碟符分別為sd0p1,sd0p2與sd0p3。
可理解,本申請之實施例中,碟符調整方法可運行於電子設備100開機工作時及電子設備100中出現硬碟熱插拔之情況時。當電子設備100開機工作時,處理器10首次識別到電子設備內之多個硬碟,於電子設備100之運行系統對多個硬碟分配系統碟符後,處理器10可根據識別到多個硬碟之先後順序逐一獲取多個硬碟為動作硬碟,執行碟符調整方法,以將拓展槽位上插接之硬碟之碟符調整為槽位碟符。其中,處理器10識別到多個硬碟之先後順序可以為先讀取本體槽位上之硬碟,再讀取拓展槽位上之硬碟;當多個本體槽位上插接有多個硬碟時,處理器10根據多個本體槽位之預設序號由小至大之排序,依次識別 多個本體槽位上之硬碟;當多個拓展槽位上插接有多個硬碟時,處理器10根據多個拓展槽位之預設序號由小至大之排序,依次識別多個拓展槽位上之硬碟。
當電子設備100工作,且電子設備100中之硬碟出現熱插拔情況時,處理器10可對動作硬碟執行碟符調整方法。當動作硬碟之插接位置為拓展槽位時,處理器10可將動作硬碟之碟符調整為槽位碟符。當處理器10對一動作硬碟執行碟符調整方法結束後,電子設備100之運行系統持續檢測硬碟之動作時間,當出現另一動作硬碟出現熱插拔情況時,處理器10可對另一動作硬碟執行碟符調整方法。
本申請之實施例中提供之碟符調整方法,可於電子設備100開機工作或拓展槽位上出現動作硬碟熱插拔之情況下,根據動作硬碟插接之拓展槽位之槽位值,將動作硬碟之系統碟符調整為與槽位值對應之槽位碟符。當工作人員或處理器10需要查找或調用動作硬碟中之檔案時,可藉由槽位碟符確定動作硬碟對應之目錄位址後,於目錄中查找所需之檔案。藉由本申請之實施例提供之碟符調整方法,可於出現碟符漂移之情況時調整硬碟之碟符為槽位碟符,減少由於碟符漂移情況而導致之無法根據原有碟符對動作硬碟內之檔案進行查找或調用之情況,提高對硬碟內檔案查找與調用之方便性。
基於同一構思,本申請之實施例還提供了一種存儲介質。可讀存儲介質中存儲有電腦程式21,電腦程式21於電子設備100上運行時,使得電子設備100可執行前述實施例提供之碟符調整方法。
對於本領域技術人員而言,顯然本申請不限於上述示範性實施例之細節,且於不背離本申請之精神或基本特徵之情況下,能夠以其他之具體形式實現本申請。因此,無論從哪一點來看,均應將本申請上述之實施例看作是示範性且是非限制性本申請之範圍由所附請求項而不是上述說明限定,因此旨於將落於請求項之等同要件之含義與範圍內之所有變化涵括於本申請內。
S21~S24:步驟

Claims (8)

  1. 一種碟符調整方法,用於調整硬碟之碟符,其改良在於,所述碟符調整方法包括:響應於已識別動作硬碟,獲取所述動作硬碟之系統碟符;識別所述動作硬碟之插接位置;響應於所述動作硬碟插接於拓展槽位,獲取所述動作硬碟對應之槽位值;根據所述槽位值修改所述動作硬碟之所述系統碟符為槽位碟符;其中,所述識別所述動作硬碟之插接位置包括:確定所述動作硬碟對應之驅動程式是否為拓展裝置之所述驅動程式,所述拓展裝置上設置有所述拓展槽位;響應於所述動作硬碟對應之驅動程式是所述拓展裝置之所述驅動程式,獲取所述動作硬碟之插接位置為所述拓展槽位;響應於所述動作硬碟對應之驅動程式不是所述拓展裝置之所述驅動程式,獲取所述動作硬碟之插接位置為本體槽位。
  2. 如請求項1所述之碟符調整方法,其中,所述確定所述動作硬碟對應之驅動程式是否為拓展裝置之所述驅動程式包括:獲取所述拓展裝置對應之驅動名稱,其中,所述驅動名稱為所述驅動程式之名稱;確定所述動作硬碟對應之識別資訊與所述驅動名稱是否相同,其中,所述識別資訊為所述動作硬碟之硬體資訊中預設位置之資訊;響應於所述識別資訊與所述驅動名稱相同,確定所述動作硬碟對應之所述驅動程式是所述拓展裝置之所述驅動程式。
  3. 如請求項1所述之碟符調整方法,其中,所述確定所述動作硬碟對應之驅動程式是否為拓展裝置之所述驅動程式包括: 獲取多個所述拓展裝置對應之多個驅動名稱,其中,多個所述驅動名稱分別為多個所述驅動程式之名稱,所述驅動程式之數量大於或等於二;依次確定所述動作硬碟對應之識別資訊與多個所述驅動名稱是否相同,其中,所述識別資訊為所述動作硬碟之硬體資訊中預設位置之資訊;響應於所述識別資訊與一所述驅動名稱相同,確定所述動作硬碟對應之所述驅動程式是所述拓展裝置之所述驅動程式。
  4. 如請求項2或3所述之碟符調整方法,其中,確定所述識別資訊與所述驅動名稱是否相同之方法包括:根據所述驅動名稱生成驅動字串;獲取硬體資訊中包括有所述驅動名稱之部分資訊;獲取所述部分資訊中位於預設位置之資訊為所述識別資訊;響應於所述驅動字串之內容與所述識別資訊之內容相同,確定所述識別資訊與所述驅動名稱相同。
  5. 如請求項1所述之碟符調整方法,其中,所述系統碟符包括第一符部與第二符部,多個所述系統碟符之所述第一符部相同,多個所述系統碟符之所述第二符部不同,所述根據所述槽位值修改所述動作硬碟之所述系統碟符為槽位碟符包括:響應於所述動作硬碟不包括分區,以所述槽位值替換所述第二符部,生成所述槽位碟符。
  6. 如請求項5所述之碟符調整方法,其中,所述第二符部包括硬碟符部與分區符部,多個所述硬碟符部分別對應於多個硬碟,多個所述分區符部對應於硬碟中之多個分區,所述根據所述槽位值修改所述動作硬碟之所述系統碟符為槽位碟符包括:響應於所述動作硬碟包括分區,獲取所述分區值; 以所述槽位值替換所述硬碟符部,並根據預設格式與所述分區值修改所述分區符部,生成所述槽位碟符。
  7. 一種電子設備,其改良在於,包括:記憶體,用於存儲電腦程式;處理器,用於執行所述記憶體存儲之所述電腦程式,當所述電腦程式被執行時,所述處理器用於執行如請求項1至6中任一項所述之碟符調整方法。
  8. 一種存儲介質,其改良在於,所述存儲介質包括電腦程式,當所述電腦程式於電子設備上運行時,使得所述電子設備執行如請求項1至6中任一項所述之碟符調整方法。
TW111138433A 2022-09-22 2022-10-11 碟符調整方法、電子設備及存儲介質 TWI816574B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211158741.3 2022-09-22
CN202211158741.3A CN117785017A (zh) 2022-09-22 2022-09-22 盘符调整方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
TWI816574B true TWI816574B (zh) 2023-09-21
TW202414248A TW202414248A (zh) 2024-04-01

Family

ID=88966287

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111138433A TWI816574B (zh) 2022-09-22 2022-10-11 碟符調整方法、電子設備及存儲介質

Country Status (2)

Country Link
CN (1) CN117785017A (zh)
TW (1) TWI816574B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699423A (zh) * 2015-03-13 2015-06-10 华为技术有限公司 Linux系统中绑定盘符的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699423A (zh) * 2015-03-13 2015-06-10 华为技术有限公司 Linux系统中绑定盘符的方法和装置

Also Published As

Publication number Publication date
TW202414248A (zh) 2024-04-01
CN117785017A (zh) 2024-03-29
US20240104044A1 (en) 2024-03-28

Similar Documents

Publication Publication Date Title
US9785370B2 (en) Method and system for automatically preserving persistent storage
US9804855B1 (en) Modification of temporary file system for booting on target hardware
US20090216781A1 (en) Technique for Dynamic Creation of a User Catalog for a Storage System
US20070011445A1 (en) System and method for loading programs from HDD independent of operating system
US8086810B2 (en) Rapid defragmentation of storage volumes
US7330947B2 (en) Method and apparatus for backing up data in virtual storage medium
US10671403B2 (en) Method and apparatus for identifying hardware device in operating system
CN113220242B (zh) 存储管理方法、设备和计算机可读介质
US6658563B1 (en) Virtual floppy diskette image within a primary partition in a hard disk drive and method for booting system with virtual diskette
US10025675B2 (en) Log management method and computer system
KR101478619B1 (ko) 가상화 기술을 이용한 데이터 입출력 방법 및 장치
KR19990036596A (ko) 램디스크 이용 시스템 및 방법
JP4854973B2 (ja) 記憶制御プログラム、記憶制御方法、記憶制御装置および記憶制御システム
TWI816574B (zh) 碟符調整方法、電子設備及存儲介質
TWI803130B (zh) 槽位綁定方法、系統、終端設備及存儲介質
WO2023123896A1 (zh) 一种磁盘加载控制方法、装置、设备及可读存储介质
JP2005108239A (ja) 階層的データ構造体にデータを記憶する記憶システム
JP2009157441A (ja) 情報処理装置、ファイル再配置方法およびプログラム
US7949632B2 (en) Database-rearranging program, database-rearranging method, and database-rearranging apparatus
JPH10260883A (ja) ハンドルに基づくファインド処理のハンドルに基づかないファインド処理への変換方法及び装置
US20200050388A1 (en) Information system
TWI807887B (zh) 磁碟機代號校準方法、系統、電子設備及存儲介質
RU2718233C1 (ru) Способ построения файловой системы на базе иерархии узлов
CN114816542B (zh) 一种系统启动方法及装置
CN113778915B (zh) 生产固态硬盘的方法及计算机可读取存储介质及装置