本發(fā)明涉及信息顯示技術(shù)領(lǐng)域,特別涉及一種存儲(chǔ)系統(tǒng)信息顯示方法及系統(tǒng)。
背景技術(shù):
近年來(lái),隨著電子技術(shù)的發(fā)展,數(shù)據(jù)資源日益豐富,用戶(hù)對(duì)于存儲(chǔ)系統(tǒng)的性能要求也逐漸增高。在影響存儲(chǔ)系統(tǒng)性能的因素中,其維護(hù)與調(diào)試方面是極其重要的一環(huán),而維護(hù)與調(diào)試通常依賴(lài)于存儲(chǔ)系統(tǒng)的數(shù)據(jù)信息。一般情況下,存儲(chǔ)系統(tǒng)的設(shè)備內(nèi)部運(yùn)行情況是難以被用戶(hù)查看的,即使有某些特定設(shè)備能夠給用戶(hù)提供數(shù)據(jù)信息,往往這種數(shù)據(jù)信息也是非常繁雜的。所以一旦設(shè)備出現(xiàn)問(wèn)題,現(xiàn)有技術(shù)中的存儲(chǔ)系統(tǒng)無(wú)法準(zhǔn)確有效地為用戶(hù)提供所需的數(shù)據(jù)信息,難以為后續(xù)的維護(hù)與調(diào)試提供技術(shù)支持。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種存儲(chǔ)系統(tǒng)信息顯示方法及系統(tǒng),能夠準(zhǔn)確有效地為用戶(hù)提供所需的數(shù)據(jù)信息,為后續(xù)的維護(hù)與調(diào)試提供技術(shù)支持。其具體方案如下:
一種存儲(chǔ)信息顯示方法,包括:
獲取用戶(hù)查詢(xún)請(qǐng)求;
從預(yù)設(shè)的顯示模板庫(kù)中篩選出與所述用戶(hù)查詢(xún)請(qǐng)求對(duì)應(yīng)的顯示模板,得到目標(biāo)空模板;
根據(jù)所述目標(biāo)空模板,調(diào)取相應(yīng)的存儲(chǔ)系統(tǒng)信息,得到目標(biāo)信息;
將所述目標(biāo)信息存放于所述目標(biāo)空模板中,得到已填充模板;
顯示所述已填充模板。
優(yōu)選地,所述從預(yù)設(shè)的顯示模板庫(kù)中篩選出與所述用戶(hù)查詢(xún)請(qǐng)求對(duì)應(yīng)的顯示模板的過(guò)程,包括:
解析所述用戶(hù)查詢(xún)請(qǐng)求,獲得所述用戶(hù)查詢(xún)請(qǐng)求的標(biāo)識(shí)符;
從所述顯示模板庫(kù)中匹配與所述標(biāo)識(shí)符對(duì)應(yīng)的顯示模板。
優(yōu)選地,所述方法進(jìn)一步包括:
預(yù)先創(chuàng)建所述顯示模板庫(kù)。
優(yōu)選地,所述顯示模板庫(kù)中任一顯示模板的創(chuàng)建過(guò)程,包括:
確定待顯示的存儲(chǔ)系統(tǒng)信息;
設(shè)定所述待顯示的存儲(chǔ)系統(tǒng)信息的信息樣式,得到相應(yīng)的顯示模板;
其中,所述信息樣式包括行列數(shù)據(jù)框架和數(shù)據(jù)類(lèi)型。
優(yōu)選地,所述確定待顯示的存儲(chǔ)系統(tǒng)信息的過(guò)程,包括:
通過(guò)用戶(hù)選擇的方式來(lái)確定所述待顯示的存儲(chǔ)系統(tǒng)信息。
優(yōu)選地,所述確定待顯示的存儲(chǔ)系統(tǒng)信息的過(guò)程,包括:
將全部的存儲(chǔ)系統(tǒng)信息確定為所述待顯示的存儲(chǔ)系統(tǒng)信息。
優(yōu)選地,所述確定待顯示的存儲(chǔ)系統(tǒng)信息的過(guò)程,包括:
分別統(tǒng)計(jì)每一存儲(chǔ)系統(tǒng)信息的用戶(hù)訪(fǎng)問(wèn)頻率;
將用戶(hù)訪(fǎng)問(wèn)頻率大于預(yù)設(shè)頻率閾值的存儲(chǔ)系統(tǒng)信息確定為待顯示的存儲(chǔ)系統(tǒng)信息。
本發(fā)明還提供一種存儲(chǔ)系統(tǒng)信息顯示系統(tǒng),包括外部配置模塊、內(nèi)部配置不透明緩存模塊與內(nèi)部配置模塊;
所述外部配置模塊,用于獲取用戶(hù)查詢(xún)請(qǐng)求,從預(yù)設(shè)的顯示模板庫(kù)中篩選出與所述用戶(hù)查詢(xún)請(qǐng)求對(duì)應(yīng)的顯示模板,得到目標(biāo)空模板,并發(fā)送到所述內(nèi)部配置模塊,以及顯示所述內(nèi)部配置模塊返回的已填充模板;
所述內(nèi)部配置模塊,用于根據(jù)所述目標(biāo)空模板,從所述內(nèi)部配置不透明緩存模塊中調(diào)取相應(yīng)的存儲(chǔ)系統(tǒng)信息,并存放于所述目標(biāo)空模板中,得到所述已填充模板,并將所述已填充模板發(fā)送給所述外部配置模塊。
優(yōu)選地,所述系統(tǒng)進(jìn)一步包括預(yù)先創(chuàng)建模塊,用于預(yù)先創(chuàng)建所述顯示模板庫(kù)。
優(yōu)選地,所述預(yù)先創(chuàng)建模塊包括:
確定子模塊,用于確定待顯示的存儲(chǔ)系統(tǒng)信息;
設(shè)定子模塊,用于設(shè)定所述待顯示的存儲(chǔ)系統(tǒng)信息的信息樣式,得到相應(yīng)的顯示模板;
其中,所述信息樣式包括行列數(shù)據(jù)框架和數(shù)據(jù)類(lèi)型。
本發(fā)明實(shí)施例存儲(chǔ)系統(tǒng)信息顯示方法及系統(tǒng),在設(shè)備出現(xiàn)問(wèn)題或其他需要查看存儲(chǔ)系統(tǒng)內(nèi)部信息的情況下,根據(jù)用戶(hù)選擇的查詢(xún)請(qǐng)求匹配與所述用戶(hù)查詢(xún)請(qǐng)求對(duì)應(yīng)的顯示模板,并將與所述顯示模板對(duì)應(yīng)的存儲(chǔ)系統(tǒng)信息填入其中,將得到的已填充模板顯示出來(lái)以供用戶(hù)查看。因此,用戶(hù)查看的存儲(chǔ)系統(tǒng)信息是用戶(hù)根據(jù)自身需要而確定的,并非不可查看或是繁雜的,能夠準(zhǔn)確有效地提供所需數(shù)據(jù)信息,為后續(xù)的維護(hù)與調(diào)試等相關(guān)工作提供技術(shù)支持。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例存儲(chǔ)系統(tǒng)信息顯示方法的流程圖;
圖2為本發(fā)明實(shí)施例中從預(yù)設(shè)的顯示模板庫(kù)中篩選出相應(yīng)模板的流程圖;
圖3為本發(fā)明實(shí)施例中預(yù)先創(chuàng)建模板庫(kù)中任一顯示模板的流程圖;
圖4為本發(fā)明實(shí)施例中確定待顯示的存儲(chǔ)系統(tǒng)信息的一種流程圖;
圖5為本發(fā)明實(shí)施例存儲(chǔ)系統(tǒng)信息顯示系統(tǒng)的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例存儲(chǔ)系統(tǒng)信息顯示系統(tǒng)的另一種結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開(kāi)了一種存儲(chǔ)系統(tǒng)信息顯示方法,參見(jiàn)圖1所示,圖1為本發(fā)明實(shí)施例存儲(chǔ)系統(tǒng)信息顯示方法的流程圖,包括以下步驟:
步驟101,獲取用戶(hù)查詢(xún)請(qǐng)求。
當(dāng)存儲(chǔ)系統(tǒng)設(shè)備出現(xiàn)問(wèn)題或其他用戶(hù)需要查看存儲(chǔ)系統(tǒng)內(nèi)部信息的情況下,為了方便用戶(hù)選擇符合需求的查詢(xún)請(qǐng)求,可以設(shè)置一個(gè)大范圍的顯示模板類(lèi)型選擇頁(yè)面,例如“全面視圖(fullview)”,表示提供全面信息的顯示模板,“簡(jiǎn)潔視圖(conciseview)”,表示提供相對(duì)簡(jiǎn)潔的信息的顯示模板。
步驟102,從預(yù)設(shè)的顯示模板庫(kù)中篩選出與所述用戶(hù)查詢(xún)請(qǐng)求對(duì)應(yīng)的顯示模板,得到目標(biāo)空模板。
具體地,其篩選過(guò)程實(shí)際上是將用戶(hù)需求落實(shí)到具體某一空模板的過(guò)程,其具體過(guò)程將在后面詳細(xì)說(shuō)明。
步驟103,根據(jù)所述目標(biāo)空模板,調(diào)取相應(yīng)的存儲(chǔ)系統(tǒng)信息,得到目標(biāo)信息。
具體地,根據(jù)步驟102中獲得的具體某一空模板的信息樣式,即空模板的行列數(shù)據(jù)框架以及數(shù)據(jù)類(lèi)型,調(diào)取目標(biāo)信息,即符合該數(shù)據(jù)類(lèi)型的存儲(chǔ)系統(tǒng)信息。
步驟104,將所述目標(biāo)信息存放于所述目標(biāo)空模板中,得到已填充模塊。
將用戶(hù)所需存儲(chǔ)系統(tǒng)信息,按照模板樣式整理。
步驟105,顯示所述已填充模板。
顯示的已填充模板中的存儲(chǔ)系統(tǒng)信息即為用戶(hù)所需信息,并且經(jīng)過(guò)整理,便于用戶(hù)查看。
參見(jiàn)圖2所示,圖2為本發(fā)明實(shí)施例中從預(yù)設(shè)的顯示模板庫(kù)中篩選出相應(yīng)模板的流程圖,包括以下步驟:
步驟201,解析所述用戶(hù)查詢(xún)請(qǐng)求,獲得所述用戶(hù)查詢(xún)請(qǐng)求的標(biāo)識(shí)符。
具體地,由于查詢(xún)請(qǐng)求是以事件的形式進(jìn)行的,所述查詢(xún)請(qǐng)求的標(biāo)識(shí)符為請(qǐng)求事件id。
步驟202,從所述顯示模板庫(kù)中匹配與所述標(biāo)識(shí)符對(duì)應(yīng)的顯示模板。
具體地,顯示模板同樣是建立在事件的基礎(chǔ)之上,通過(guò)事件傳遞和獲取信息。事件相關(guān)的數(shù)據(jù)結(jié)構(gòu)體包括請(qǐng)求結(jié)構(gòu)體(requeststructure)、自定義結(jié)構(gòu)體(selfdefiningstructure)以及動(dòng)作結(jié)構(gòu)體(actionstructure),所述請(qǐng)求結(jié)構(gòu)體用于填充用戶(hù)的要求數(shù)據(jù),包括請(qǐng)求的狀態(tài)、版本、請(qǐng)求事件id、數(shù)據(jù);所述自定義結(jié)構(gòu)體用于存儲(chǔ)顯示模板的數(shù)據(jù),包括數(shù)據(jù)的類(lèi)型、數(shù)據(jù)值以及數(shù)據(jù)的最大最小值等;所述動(dòng)作結(jié)構(gòu)體包含一系列的自定義結(jié)構(gòu)體,用于為每個(gè)動(dòng)作存儲(chǔ)數(shù)據(jù),包括事件進(jìn)行狀態(tài)、產(chǎn)品版本、請(qǐng)求事件id、目標(biāo)對(duì)象id、自定義結(jié)構(gòu)體數(shù)目以及內(nèi)容。所述請(qǐng)求事件id為請(qǐng)求某種顯示模板這一動(dòng)作的id,同一請(qǐng)求事件id存在于查詢(xún)請(qǐng)求和相應(yīng)的顯示模板中,所以根據(jù)步驟201中所得的查詢(xún)請(qǐng)求的請(qǐng)求事件id,可以在顯示模板庫(kù)中匹配到與所述請(qǐng)求事件id對(duì)應(yīng)的顯示模板。
當(dāng)然在具體應(yīng)用中,還可以采用其他方式進(jìn)行篩選相應(yīng)顯示模板,對(duì)此本發(fā)明實(shí)施例不做限定。
需要說(shuō)明的是,提供給用戶(hù)的可選擇的顯示模板,都來(lái)自于顯示模板庫(kù),而顯示模板庫(kù)是系統(tǒng)或人為預(yù)先創(chuàng)建的。所以在步驟101之前,還可進(jìn)一步包括以下步驟:預(yù)先創(chuàng)建所述顯示模板庫(kù)。
參見(jiàn)圖3所示,圖3為本發(fā)明實(shí)施例中預(yù)先創(chuàng)建模板庫(kù)中任一顯示模板的流程圖,包括以下步驟:
步驟301,確定待顯示的存儲(chǔ)系統(tǒng)信息。
步驟302,設(shè)定所述待顯示的存儲(chǔ)系統(tǒng)信息的信息樣式,得到相應(yīng)的顯示模板。
創(chuàng)建模板庫(kù)需要?jiǎng)?chuàng)建多個(gè)顯示模板,而創(chuàng)建任一顯示模板時(shí),都需要確定其待顯示的存儲(chǔ)系統(tǒng)信息,設(shè)定所述待顯示的存儲(chǔ)系統(tǒng)信息的信息樣式。所述待顯示的存儲(chǔ)系統(tǒng)信息體現(xiàn)在顯示模板中時(shí),為某一具體屬性值的統(tǒng)稱(chēng),以通訊錄為例,通訊錄中的“姓名”和“電話(huà)號(hào)碼”則為某一具體屬性值的統(tǒng)稱(chēng),并不是指代某一具體屬性值,而“姓名”屬性欄中具體的人名“張三”則為具體屬性值。所述待顯示的存儲(chǔ)系統(tǒng)信息的信息樣式包括行列數(shù)據(jù)框架以及數(shù)據(jù)類(lèi)型,再次以通訊錄為例,有m行和n列,即m×n的樣式,為所述行列數(shù)據(jù)框架,某一具體屬性值“張三”的數(shù)據(jù)類(lèi)型為“文字”,某一“電話(huà)號(hào)碼”的具體屬性值“138xxxxxxxx”的數(shù)據(jù)類(lèi)型則為“數(shù)字”。
所述待顯示的存儲(chǔ)系統(tǒng)信息大體可通過(guò)兩種方式來(lái)確定,一方面為用戶(hù)自主選擇方式來(lái)確定,另一方面為系統(tǒng)根據(jù)預(yù)設(shè)規(guī)則來(lái)確定。
用戶(hù)選擇的方式確定的顯示模板可以歸為“簡(jiǎn)潔視圖”一類(lèi)中,完全由用戶(hù)自定義所需存儲(chǔ)系統(tǒng)信息,是靈活性最高的確定方式;“全面視圖”則包括了全部的存儲(chǔ)系統(tǒng)信息,由系統(tǒng)來(lái)整理確定,最后提供給用戶(hù)全面的信息。同時(shí)“簡(jiǎn)潔視圖”也可以由系統(tǒng)根據(jù)預(yù)設(shè)規(guī)則來(lái)確定,下面進(jìn)行具體說(shuō)明。
參見(jiàn)圖4所示,圖4為本發(fā)明實(shí)施例中確定待顯示的存儲(chǔ)系統(tǒng)信息的一種流程圖,包括以下步驟:
步驟401,分別統(tǒng)計(jì)每一存儲(chǔ)系統(tǒng)信息的用戶(hù)訪(fǎng)問(wèn)頻率。
步驟402,將用戶(hù)訪(fǎng)問(wèn)頻率大于預(yù)設(shè)頻率閾值的存儲(chǔ)系統(tǒng)信息確定為待顯示的存儲(chǔ)系統(tǒng)信息。
系統(tǒng)根據(jù)用戶(hù)對(duì)每一存儲(chǔ)系統(tǒng)信息的訪(fǎng)問(wèn)頻率來(lái)判斷用戶(hù)的訪(fǎng)問(wèn)習(xí)慣,通過(guò)預(yù)設(shè)頻率閾值,將訪(fǎng)問(wèn)頻率大于預(yù)設(shè)頻率閾值的存儲(chǔ)系統(tǒng)信息判定為常用存儲(chǔ)系統(tǒng)信息,使選擇常用存儲(chǔ)系統(tǒng)信息的過(guò)程自動(dòng)化,更加方便快捷。通常情況下,所述頻率閾值為用戶(hù)可改變的值,便于用戶(hù)篩選所需存儲(chǔ)系統(tǒng)信息。當(dāng)然,所述規(guī)則也可以是其他可以判斷用戶(hù)使用習(xí)慣的規(guī)則,并不僅限于根據(jù)頻率閾值判斷。
相應(yīng)地,本發(fā)明實(shí)施例還提供一種存儲(chǔ)系統(tǒng)信息顯示系統(tǒng),參見(jiàn)圖5所示,圖5為本發(fā)明實(shí)施例存儲(chǔ)系統(tǒng)信息顯示系統(tǒng)的結(jié)構(gòu)示意圖。
在該實(shí)施例中,所述系統(tǒng)包括:外部配置模塊(externalconfiguration)501、內(nèi)部配置模塊(internalconfiguration)502以及內(nèi)部配置不透明緩存模塊(internalconfigurationopaquecache)503。其中:
所述外部配置模塊501,用于獲取用戶(hù)查詢(xún)請(qǐng)求,從預(yù)設(shè)的顯示模板庫(kù)中篩選出與所述用戶(hù)查詢(xún)請(qǐng)求對(duì)應(yīng)的顯示模板,得到目標(biāo)空模板,并通過(guò)共享內(nèi)存(sharedmemoryinterface)發(fā)送到所述內(nèi)部配置模塊,以及顯示所述內(nèi)部配置模塊返回的已填充模板;
所述內(nèi)部配置模塊502,用于根據(jù)所述目標(biāo)空模板,從所述內(nèi)部配置不透明緩存模塊503中調(diào)取相應(yīng)的存儲(chǔ)系統(tǒng)信息,并存放于所述目標(biāo)空模板中,得到所述已填充模板,并通過(guò)共享內(nèi)存將所述已填充模板發(fā)送給所述外部配置模塊。
在本發(fā)明實(shí)施例中,上述外部配置模塊501的一種優(yōu)選實(shí)施例包括:解析子模塊和匹配子模塊。其中:
所述解析子模塊,用于從所述查詢(xún)請(qǐng)求中獲得所述查詢(xún)請(qǐng)求的標(biāo)識(shí)符;
所述匹配子模塊,用于從所述顯示模板庫(kù)中匹配與所述標(biāo)識(shí)符對(duì)應(yīng)的顯示模板。
需要說(shuō)明的是,上述外部配置模塊501還可以有其他實(shí)現(xiàn)方式,對(duì)此本發(fā)明實(shí)施例不做限定。
參見(jiàn)圖6所示,圖6為本發(fā)明實(shí)施例存儲(chǔ)系統(tǒng)信息顯示系統(tǒng)的另一種結(jié)構(gòu)示意圖。
與圖5所示實(shí)施例不同的是,在該實(shí)施例中,所述系統(tǒng)還進(jìn)一步包括:
預(yù)先創(chuàng)建模塊601,用于預(yù)先創(chuàng)建所述顯示模板庫(kù)。
所述預(yù)先創(chuàng)建模塊601的一種優(yōu)選實(shí)施例包括:確定子模塊和設(shè)定子模塊。其中:
所述確定子模塊,用于確定待顯示的存儲(chǔ)系統(tǒng)信息;
所述設(shè)定子模塊,用于設(shè)定所述待顯示的存儲(chǔ)系統(tǒng)信息的信息樣式,得到相應(yīng)的顯示模板。
所述確定子模塊的一種實(shí)施例包括第一確定單元,用于通過(guò)用戶(hù)選擇的方式來(lái)確定所述待顯示的存儲(chǔ)系統(tǒng)信息。
所述確定子模塊的另一種實(shí)施例包括第二確定單元,用于將全部的存儲(chǔ)系統(tǒng)信息均確定為待顯示的存儲(chǔ)系統(tǒng)信息。
所述確定子模塊的第三種實(shí)施例包括統(tǒng)計(jì)單元和第三確定單元。其中:
所述統(tǒng)計(jì)單元,用于統(tǒng)計(jì)每一存儲(chǔ)系統(tǒng)信息的用戶(hù)訪(fǎng)問(wèn)頻率;
所述第三確定單元,用于將用戶(hù)訪(fǎng)問(wèn)頻率大于預(yù)設(shè)頻率閾值的存儲(chǔ)系統(tǒng)確定為待顯示的存儲(chǔ)系統(tǒng)信息。
需要說(shuō)明的是,上述預(yù)先創(chuàng)建模塊601還可以有其他實(shí)現(xiàn)方式,對(duì)此本發(fā)明實(shí)施例不做限定。
本發(fā)明實(shí)施例存儲(chǔ)系統(tǒng)信息顯示方法及系統(tǒng),在存儲(chǔ)系統(tǒng)信息顯示給用戶(hù)之前,根據(jù)用戶(hù)的選擇和偏好,進(jìn)行了一系列的篩選與整理,最后顯示的存儲(chǔ)系統(tǒng)信息是準(zhǔn)確有效的,便于用戶(hù)了解系統(tǒng)運(yùn)行狀況,為后續(xù)的相關(guān)工作提供技術(shù)支持。
最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對(duì)本發(fā)明所提供的存儲(chǔ)系統(tǒng)信息顯示方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。