本申請(qǐng)實(shí)施例涉及計(jì)算機(jī)領(lǐng)域,具體而言,涉及一種空間優(yōu)化能力的測(cè)試方法和裝置、存儲(chǔ)介質(zhì)及電子設(shè)備。
背景技術(shù):
1、固態(tài)硬盤(pán)(solid?state?drive,簡(jiǎn)稱ssd)的trim原理主要是基于一個(gè)技術(shù)指令,即trim指令。trim的主要作用是高速nand閃存固態(tài)存儲(chǔ)設(shè)備需要擦除哪些數(shù)據(jù)。
2、具體來(lái)說(shuō),當(dāng)我們?cè)诓僮飨到y(tǒng)中刪除一個(gè)文件時(shí),系統(tǒng)并不會(huì)真正刪除文件的數(shù)據(jù),而是將這些數(shù)據(jù)占用的地址標(biāo)記為″空″,意味著這些地址可以被新的數(shù)據(jù)覆蓋使用。然而,這只是在文件系統(tǒng)層面的操作,硬盤(pán)本身并不知道哪些地址的數(shù)據(jù)已經(jīng)″無(wú)效″,除非系統(tǒng)通知它要在這些地址寫(xiě)入新的數(shù)據(jù)。
3、這時(shí),trim指令就發(fā)揮了作用。當(dāng)相關(guān)頁(yè)面的數(shù)據(jù)可以被覆蓋時(shí),操作系統(tǒng)會(huì)發(fā)送trim指令給ssd。ssd控制器在接收到這個(gè)指令后,會(huì)等待主機(jī)開(kāi)始刪除和再次寫(xiě)入操作的時(shí)候,執(zhí)行安全擦除操作。這樣,在寫(xiě)入新的數(shù)據(jù)時(shí),就不需要再花費(fèi)時(shí)間去擦除原有的數(shù)據(jù),從而大大提高了寫(xiě)入速度。
4、通常情況下,對(duì)ssd盤(pán)的trim測(cè)試智能單向測(cè)試且需要借助工具(如fio或nvme工具),很難實(shí)現(xiàn)讀寫(xiě)的同時(shí)進(jìn)行trim,現(xiàn)實(shí)應(yīng)用場(chǎng)景中不可避免可能會(huì)存在符合上述場(chǎng)景下的trim操作,而現(xiàn)有技術(shù)難以實(shí)現(xiàn)復(fù)雜情況下的trim測(cè)試過(guò)程。
5、針對(duì)相關(guān)技術(shù)中,人工的trim測(cè)試無(wú)法覆蓋ssd復(fù)雜的應(yīng)用場(chǎng)景,測(cè)試效果不佳的技術(shù)問(wèn)題,尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供了一種空間優(yōu)化能力的測(cè)試方法和裝置、存儲(chǔ)介質(zhì)及電子設(shè)備,以至少解決相關(guān)技術(shù)中人工的trim測(cè)試無(wú)法覆蓋ssd復(fù)雜的應(yīng)用場(chǎng)景,測(cè)試效果不佳的問(wèn)題。
2、根據(jù)本申請(qǐng)的一個(gè)實(shí)施例,提供了一種空間優(yōu)化能力的測(cè)試方法,包括:在接收到測(cè)試開(kāi)始指令的情況下,隨機(jī)生成多個(gè)第一地址段信息,其中,所述測(cè)試開(kāi)始指令用于指示對(duì)所述固態(tài)硬盤(pán)進(jìn)行空間優(yōu)化能力測(cè)試,所述多個(gè)第一地址段信息用于指示所述固態(tài)硬盤(pán)的地址空間,每一個(gè)第一地址段信息用于指示至少一個(gè)地址段;根據(jù)所述多個(gè)第一地址段信息對(duì)所述固態(tài)硬盤(pán)進(jìn)行讀寫(xiě)操作;隨機(jī)生成多個(gè)第二地址段信息,并根據(jù)所述多個(gè)第二地址段信息對(duì)所述固態(tài)硬盤(pán)進(jìn)行空間優(yōu)化操作,得到空間優(yōu)化結(jié)果,其中,所述多個(gè)第一地址段信息與所述多個(gè)第二地址段信息一一對(duì)應(yīng),所述空間優(yōu)化結(jié)果用于確定所述固態(tài)硬盤(pán)的空間優(yōu)化能力。
3、在一個(gè)示例性實(shí)施例中,所述隨機(jī)生成多個(gè)第一地址段信息,包括以下之一:在所述固態(tài)硬盤(pán)的地址空間中按照地址順序依次截取至少一個(gè)地址段,得到所述第一地址段信息,其中,所述至少一個(gè)地址段的地址段大小隨機(jī);在所述固態(tài)硬盤(pán)的地址空間中隨機(jī)截取至少一個(gè)地址段,得到所述第一地址段信息。
4、在一個(gè)示例性實(shí)施例中,所述根據(jù)所述多個(gè)第一地址段信息對(duì)所述固態(tài)硬盤(pán)進(jìn)行讀寫(xiě)操作,包括:對(duì)所述至少一個(gè)地址段執(zhí)行讀操作,和/或?qū)λ鲋辽僖粋€(gè)地址段執(zhí)行寫(xiě)操作。
5、在一個(gè)示例性實(shí)施例中,所述根據(jù)所述多個(gè)第二地址段信息對(duì)所述固態(tài)硬盤(pán)進(jìn)行空間優(yōu)化操作,包括:對(duì)于每一個(gè)第二地址段信息,隨機(jī)生成空間優(yōu)化觸發(fā)時(shí)間,其中,所述空間優(yōu)化觸發(fā)時(shí)間用于指示對(duì)所述固態(tài)硬盤(pán)進(jìn)行空間優(yōu)化操作的執(zhí)行時(shí)間;根據(jù)所述空間優(yōu)化觸發(fā)時(shí)間和所述第二地址段信息對(duì)所述固態(tài)硬盤(pán)進(jìn)行空間優(yōu)化操作。
6、在一個(gè)示例性實(shí)施例中,所述根據(jù)所述空間優(yōu)化觸發(fā)時(shí)間和所述第二地址段信息對(duì)所述固態(tài)硬盤(pán)進(jìn)行空間優(yōu)化操作,包括:根據(jù)所述空間優(yōu)化觸發(fā)時(shí)間生成計(jì)時(shí)器;在開(kāi)始對(duì)所述固態(tài)硬盤(pán)進(jìn)行所述讀寫(xiě)操作的情況下,啟動(dòng)所述計(jì)時(shí)器;在所述計(jì)時(shí)器到達(dá)所述空間優(yōu)化觸發(fā)時(shí)間的情況下,根據(jù)所述第二地址段信息對(duì)所述固態(tài)硬盤(pán)進(jìn)行空間優(yōu)化操作。
7、在一個(gè)示例性實(shí)施例中,所述方法還包括:所述空間優(yōu)化觸發(fā)時(shí)間,滿足以下條件之一:所述空間優(yōu)化觸發(fā)時(shí)間大于執(zhí)行所述讀寫(xiě)操作的執(zhí)行時(shí)間;所述空間優(yōu)化觸發(fā)時(shí)間等于執(zhí)行所述執(zhí)行時(shí)間;所述空間優(yōu)化觸發(fā)時(shí)間小于執(zhí)行所述執(zhí)行時(shí)間。
8、在一個(gè)示例性實(shí)施例中,所述根據(jù)所述多個(gè)第二地址段信息對(duì)所述固態(tài)硬盤(pán)進(jìn)行空間優(yōu)化操作之后,所述方法還包括:通過(guò)串口實(shí)時(shí)生成所述空間優(yōu)化操作對(duì)應(yīng)的空間優(yōu)化日志,其中,所述空間優(yōu)化日志至少包括:所述第一地址段信息,所述第二地址段信息,所述空間優(yōu)化結(jié)果;在確定所述空間優(yōu)化日志中存在空間優(yōu)化結(jié)果指示所述空間優(yōu)化操作執(zhí)行失敗的情況下,對(duì)所述空間優(yōu)化日志進(jìn)行分析,以確定失敗原因;根據(jù)所述失敗原因?qū)λ龉虘B(tài)硬盤(pán)中的目標(biāo)軟件進(jìn)行修正,其中,所述目標(biāo)軟件用于支持執(zhí)行所述空間優(yōu)化操作。
9、根據(jù)本申請(qǐng)的另一個(gè)實(shí)施例,提供了一種空間優(yōu)化能力的測(cè)試裝置,包括:生成模塊,用于在接收到測(cè)試開(kāi)始指令的情況下,隨機(jī)生成多個(gè)第一地址段信息,其中,所述測(cè)試開(kāi)始指令用于指示對(duì)固態(tài)硬盤(pán)進(jìn)行空間優(yōu)化能力測(cè)試,所述多個(gè)第一地址段信息用于指示所述固態(tài)硬盤(pán)的地址空間,每一個(gè)第一地址段信息用于指示至少一個(gè)地址段;讀寫(xiě)模塊,用于根據(jù)所述多個(gè)第一地址段信息對(duì)所述固態(tài)硬盤(pán)進(jìn)行讀寫(xiě)操作;優(yōu)化模塊,用于隨機(jī)生成多個(gè)第二地址段信息,并根據(jù)所述多個(gè)第二地址段信息對(duì)所述固態(tài)硬盤(pán)進(jìn)行空間優(yōu)化操作,得到空間優(yōu)化結(jié)果,其中,所述多個(gè)第一地址段信息與所述多個(gè)第二地址段信息一一對(duì)應(yīng),所述空間優(yōu)化結(jié)果用于確定所述固態(tài)硬盤(pán)的空間優(yōu)化能力。
10、根據(jù)本申請(qǐng)的又一個(gè)實(shí)施例,還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,其中,所述計(jì)算機(jī)程序被設(shè)置為運(yùn)行時(shí)執(zhí)行上述任一項(xiàng)方法實(shí)施例中的步驟。
11、根據(jù)本申請(qǐng)的又一個(gè)實(shí)施例,還提供了一種電子設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)程序,所述處理器被設(shè)置為運(yùn)行所述計(jì)算機(jī)程序以執(zhí)行上述任一項(xiàng)方法實(shí)施例中的步驟。
12、根據(jù)本申請(qǐng)的又一個(gè)實(shí)施例,還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)本申請(qǐng)各個(gè)實(shí)施例中所述方法的步驟。
13、通過(guò)本申請(qǐng),提供了一種空間優(yōu)化能力的測(cè)試方法,在接收到用于指示對(duì)固態(tài)硬盤(pán)進(jìn)行空間優(yōu)化能力測(cè)試的測(cè)試開(kāi)始指令后,隨機(jī)生成多個(gè)第一地址段信息,然后根據(jù)多個(gè)第一地址段信息對(duì)固態(tài)硬盤(pán)進(jìn)行讀寫(xiě)操作;隨機(jī)生成多個(gè)用于執(zhí)行空間優(yōu)化操作的第二地址段信息,并根據(jù)這些第二地址段信息對(duì)固態(tài)硬盤(pán)進(jìn)行空間優(yōu)化操作,得到空間優(yōu)化結(jié)果,第一地址段信息與第二地址段信息一一對(duì)應(yīng),空間優(yōu)化結(jié)果用于確認(rèn)固態(tài)硬盤(pán)的空間優(yōu)化能力;采用上述方案,通過(guò)隨機(jī)化大量生成測(cè)試用例,使得測(cè)試用例全面覆蓋ssd的各種復(fù)雜應(yīng)用場(chǎng)景,令測(cè)試結(jié)果全面反映ssd的trim能力;從而解決了相關(guān)技術(shù)中人工的trim測(cè)試無(wú)法覆蓋ssd復(fù)雜的應(yīng)用場(chǎng)景,導(dǎo)致測(cè)試效果不佳的問(wèn)題。
1.一種空間優(yōu)化能力的測(cè)試方法,其特征在于,應(yīng)用于固態(tài)硬盤(pán),
2.根據(jù)權(quán)利要求1所述的空間優(yōu)化能力的測(cè)試方法,其特征在于,
3.根據(jù)權(quán)利要求2所述的空間優(yōu)化能力的測(cè)試方法,其特征在于,
4.根據(jù)權(quán)利要求1所述的空間優(yōu)化能力的測(cè)試方法,其特征在于,
5.根據(jù)權(quán)利要求4所述的空間優(yōu)化能力的測(cè)試方法,其特征在于,
6.根據(jù)權(quán)利要求5所述的空間優(yōu)化能力的測(cè)試方法,其特征在于,
7.根據(jù)權(quán)利要求1所述的空間優(yōu)化能力的測(cè)試方法,其特征在于,
8.一種空間優(yōu)化能力的測(cè)試裝置,其特征在于,
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,
10.一種電子設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,