專利名稱:一種監(jiān)控集群存儲接口節(jié)點負載的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體地說是一種監(jiān)控集群存儲接口節(jié)點負載的方法。本發(fā)明應用于海量存儲領(lǐng)域的分布式文件系統(tǒng)外部訪問請求分配系統(tǒng)中。在云計算浪潮的推動下,高性能計算、網(wǎng)格計算、流媒體文件存儲與訪問等越來越多的依賴于大容量存儲系統(tǒng),其中以分布式文件系統(tǒng)為基礎(chǔ)的分布式存儲系統(tǒng)逐漸成為海量存儲系統(tǒng)的 主流應用。針對外部訪問請求任務(wù)在分布式文件系統(tǒng)成百上千臺接口節(jié)點服務(wù)器中的合理分配成為云環(huán)境中的一個重要問題。這種問題的出現(xiàn)影響到接口節(jié)點服務(wù)器提供訪問服務(wù)的效率、甚至造成訪問服務(wù)的中斷以至于影響到應用層的功能實現(xiàn),特別是在接口節(jié)點服務(wù)器負載不堪重負時更加嚴重。
背景技術(shù):
隨著云計算以及海量存儲系統(tǒng)的發(fā)展,分布式文件系統(tǒng)在存儲后端應用越來越廣泛,分布式文件系統(tǒng)的直接訪問節(jié)點(接口節(jié)點服務(wù)器或訪問網(wǎng)關(guān))的規(guī)模也迅速擴大,針對成百上千的接口節(jié)點服務(wù)器的管理及訪問請求任務(wù)在接口節(jié)點服務(wù)器集群的合理分配成為云業(yè)務(wù)環(huán)境中的一個重要問題。解決此問題的關(guān)鍵則要實現(xiàn)以性能參數(shù)收集、負載實時監(jiān)控為基礎(chǔ)數(shù)據(jù)來源,負載變化率評測為中心的接口節(jié)點服務(wù)器可繼續(xù)承擔訪問負載能力的評測功能。目前針對分布式文件系統(tǒng)接口節(jié)點負載的監(jiān)控還較多的依賴于單個監(jiān)控項(如CPU、內(nèi)存等),而且沒有考慮接口節(jié)點服務(wù)器系統(tǒng)負載變化率因素、更沒有進行可繼續(xù)承擔負載能力的評測。隨著云計算和高性能應用對存儲系統(tǒng)的容量和性能要求越來越高,作為分布式海量存儲系統(tǒng)核心的分布式文件系統(tǒng)獲得了較大的發(fā)展和應用。分布式文件系統(tǒng)以提供文件系統(tǒng)統(tǒng)一命名空間的形式提供存儲空間給接口節(jié)點服務(wù)器,接口節(jié)點服務(wù)器承擔來自系統(tǒng)外部針對分布式文件系統(tǒng)的訪問請求。在云業(yè)務(wù)環(huán)境中,將呈現(xiàn)出的長時間持續(xù)訪問請求、特定時間段的爆發(fā)式訪問請求,以及多業(yè)務(wù)的不同級別的訪問請求合理的分配到不同接口節(jié)點服務(wù)器(或服務(wù)器集群)等問題將影響到存儲系統(tǒng)的運行效率,以及系統(tǒng)上層業(yè)務(wù)應用的可靠性、一致性,以至于文件系統(tǒng)數(shù)據(jù)的一致性。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種監(jiān)控集群存儲接口節(jié)點負載的方法。本發(fā)明的方法是按以下方式實現(xiàn)的,本方法包含三個部分接口節(jié)點服務(wù)器的性能參數(shù)收集模塊,接口節(jié)點服務(wù)器實時負載監(jiān)測模塊,融合接口節(jié)點服務(wù)器性能參數(shù)閾值、實時負載監(jiān)控以及最大負載變化率的負載評測模塊。接口節(jié)點服務(wù)器性能參數(shù)收集模塊是部署在接口節(jié)點服務(wù)器上的系統(tǒng)設(shè)備性能參數(shù)收集模塊,用于定時循環(huán)獲取接口節(jié)點服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)的性能參數(shù)信息,作為實時負載監(jiān)控以及最大負載變化率的負載評測模塊進行系統(tǒng)負載評測模塊的數(shù)據(jù)來源之一。接口節(jié)點服務(wù)器實時負載監(jiān)測模塊是部署在接口節(jié)點服務(wù)器上針對系統(tǒng)各種設(shè)備的負載監(jiān)控和最大負載變化率監(jiān)控評測模塊,用于實時監(jiān)控接口節(jié)點服務(wù)器CPU負載、內(nèi)存負載、網(wǎng)絡(luò)負載、訪問請求任務(wù)負載;并根據(jù)歷史負載的監(jiān)控信息生成系統(tǒng)負載的變化率以及最大變化率信息,作為實時負載監(jiān)控以及最大負載變化率的負載評測模塊模塊進行系統(tǒng)負載評測模塊的數(shù)據(jù)關(guān)鍵來源。實時負載監(jiān)控以及最大負載變化率的負載評測模塊是部署在接口節(jié)點服務(wù)器上用于整體評測接口節(jié)點服務(wù)器“空閑”程度的判決模塊,此模塊通過接口節(jié)點服務(wù)器的性能參數(shù)收集模塊輸出的系統(tǒng)設(shè)備性能參數(shù)信息以及接口節(jié)點服務(wù)器實時負載監(jiān)測模塊輸出的實時絕對負載信息、負載變化率以及最大負載變化率信息,依照系統(tǒng)設(shè)定的負載評測策略生成接口節(jié)點服務(wù)器可繼續(xù)承載外部訪問負載的判決信息。此判決信息提供給分布式文件系統(tǒng)的入口服務(wù)器,入口服務(wù)器根據(jù)接口節(jié)點服務(wù)器集群中處于“活動”狀態(tài)的接口節(jié)點 服務(wù)器提供的判決信息選擇較為“空閑”的接口節(jié)點服務(wù)器承擔新增的訪問請求。在分布式文件系統(tǒng)的接口節(jié)點服務(wù)器設(shè)立性能參數(shù)收集模塊、負載監(jiān)測模塊、負載測評模塊,通過設(shè)置不同的監(jiān)控評測策略,實現(xiàn)對接口節(jié)點服務(wù)器的可繼續(xù)承擔訪問負載能力的整體評測,評測結(jié)果作為分布式文件系統(tǒng)入口服務(wù)器分配訪問請求到“空閑”接口節(jié)點的重要依據(jù),具體步驟如下
通過在接口節(jié)點服務(wù)器設(shè)定可配置的系統(tǒng)負載評測策略,包括I)收集接口節(jié)點服務(wù)器的CPU、內(nèi)存、帶寬三種設(shè)備性能參數(shù);2)針對接口節(jié)點服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)、訪問負載的實時監(jiān)控以及最大負載變化率的監(jiān)測,3)將兩部分信息通過負載測評模塊生成接口節(jié)點服務(wù)器,繼續(xù)承擔系統(tǒng)訪問負載的評測;
1)接口節(jié)點服務(wù)器的CPU、內(nèi)存、帶寬三種設(shè)備性能參數(shù)的收集,是通過獲取設(shè)備的性能參數(shù)確定接口節(jié)點服務(wù)器硬件設(shè)備能夠提供的最大負載性能閾值,接口節(jié)點服務(wù)器系統(tǒng)運行過程中承載的訪問負載受限于三種設(shè)備的“公共”性能閾值,對于不同的訪問負載任務(wù),三種設(shè)備性能的消耗有著不同側(cè)重點,其中任何一個最先接近其最大性能閾值則限制另兩個設(shè)備負載的繼續(xù)增加,因此在影響系統(tǒng)性能閾值的因素中綜合考慮三種設(shè)備的性能閾值是較為合理的方法;
2)針對接口節(jié)點服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)、訪問負載的實時監(jiān)控以及最大負載變化率的監(jiān)測,是本方法應用的核心,接口節(jié)點服務(wù)器的負載監(jiān)測模塊同時監(jiān)控系統(tǒng)CPU負載、內(nèi)存負載、網(wǎng)絡(luò)負載以及任務(wù)請求負載,并提供針對系統(tǒng)設(shè)備和訪問任務(wù)的可配置監(jiān)控選項實現(xiàn)針對各種訪問任務(wù)及應用業(yè)務(wù)的監(jiān)控策略設(shè)定,實現(xiàn)接口節(jié)點系統(tǒng)的實時監(jiān)控信息;在監(jiān)控接口節(jié)點服務(wù)器性能負載的過程中,根據(jù)所承載請求任務(wù)數(shù)目的變化,在時間維度上生成系統(tǒng)所承載的最大負載和最大負載變化率,此部分的數(shù)據(jù)信息是判斷接口節(jié)點服務(wù)器負載的核心依據(jù);
3)將兩部分信息通過負載測評模塊生成接口節(jié)點服務(wù)器,繼續(xù)承擔系統(tǒng)訪問負載的評測;判斷接口節(jié)點服務(wù)器系統(tǒng)“空閑”程度的負載測評模塊是對接口節(jié)點服務(wù)器的CPU、內(nèi)存、帶寬三種設(shè)備性能參數(shù)收集的數(shù)據(jù)和針對接口節(jié)點服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)、訪問負載的實時監(jiān)控以及最大負載變化率輸出數(shù)據(jù)的應用,根據(jù)接口節(jié)點服務(wù)器的CPU、內(nèi)存、帶寬三種設(shè)備性能參數(shù)的收集收集的系統(tǒng)性能最大閾值和針對接口節(jié)點服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)、訪問負載的實時監(jiān)控以及最大負載變化率監(jiān)測的系統(tǒng)實時負載以及最大負載變化率信息,綜合設(shè)定的系統(tǒng)監(jiān)控評測策略可以更加客觀的整體評價接口節(jié)點服務(wù)器是否可繼續(xù)承擔外部訪問負載請求,此部分產(chǎn)生的評測數(shù)據(jù)作為分布式文件系統(tǒng)入口服務(wù)器判決是否分配訪問請求的一個輸入,入口服務(wù)器根據(jù)不同接口節(jié)點服務(wù)器的負載評測信息,選擇相對“空閑”的接口節(jié)點服務(wù)器承擔 來自系統(tǒng)外部的訪問請求。本發(fā)明的有益效果是隨著云計算以及海量存儲系統(tǒng)的發(fā)展,分布式文件系統(tǒng)在存儲后端應用越來越廣泛,分布式文件系統(tǒng)的直接訪問節(jié)點(接口節(jié)點服務(wù)器或訪問網(wǎng)關(guān))的規(guī)模也迅速擴大,針對成百上千的接口節(jié)點服務(wù)器的管理及訪問請求任務(wù)在接口節(jié)點服務(wù)器集群的合理分配成為云業(yè)務(wù)環(huán)境中的一個重要問題。解決此問題的關(guān)鍵則要實現(xiàn)以性能參數(shù)收集、負載實時監(jiān)控為基礎(chǔ)數(shù)據(jù)來源,負載變化率評測為中心的接口節(jié)點服務(wù)器可繼續(xù)承擔訪問負載能力的評測功能。目前針對分布式文件系統(tǒng)接口節(jié)點負載的監(jiān)控還較多的依賴于單個監(jiān)控項(如CPU、內(nèi)存等),而且沒有考慮接口節(jié)點服務(wù)器系統(tǒng)負載變化率因素、更沒有進行可繼續(xù)承擔負載能力的評測。該方法通過在接口節(jié)點服務(wù)器設(shè)定可配置的系統(tǒng)負載評測策略,收集接口節(jié)點服務(wù)器的CPU、內(nèi)存、帶寬三種設(shè)備性能參數(shù),實時監(jiān)控接口節(jié)點服務(wù)器的CPU、內(nèi)存、網(wǎng)絡(luò)、訪問任務(wù)的負載以及最大負載變化率,將兩部分信息通過負載測評模塊生成接口節(jié)點服務(wù)器可繼續(xù)承擔系統(tǒng)訪問負載的評測。
圖I分布式文件系統(tǒng)監(jiān)控部署結(jié)構(gòu);
圖2實時負載監(jiān)測模塊流程 圖3負載評測模塊流程圖。
具體實施例方式參照說明書附圖對本發(fā)明的方法作以下詳細地說明。本發(fā)明提出在分布式文件系統(tǒng)的接口節(jié)點服務(wù)器中引入設(shè)備性能信息收集模塊、實時負載監(jiān)測模塊以及負載測評模塊,實現(xiàn)在接口節(jié)點服務(wù)器中收集系統(tǒng)的設(shè)備最大性能閾值、系統(tǒng)實時訪問承載、統(tǒng)計系統(tǒng)的最大負載變化率。根據(jù)上述信息評判的接口節(jié)點服務(wù)器“空閑”程度,作為分布式系統(tǒng)入口服務(wù)器為其分配訪問任務(wù)的判決依據(jù),從而避免傳統(tǒng)方式只根據(jù)訪問數(shù)目或者只根據(jù)單個設(shè)備的絕對負載分配的不合理性。本方法包含三個部分接口節(jié)點服務(wù)器的性能參數(shù)收集模塊,接口節(jié)點服務(wù)器實時負載監(jiān)測模塊,融合接口節(jié)點服務(wù)器性能參數(shù)閾值、實時負載監(jiān)控以及最大負載變化率的負載評測模塊。接口節(jié)點服務(wù)器性能參數(shù)收集模塊是部署在接口節(jié)點服務(wù)器上的系統(tǒng)設(shè)備性能參數(shù)收集模塊,用于定時循環(huán)獲取接口節(jié)點服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)的性能參數(shù)信息,作為實時負載監(jiān)控以及最大負載變化率的負載評測模塊進行系統(tǒng)負載評測模塊的數(shù)據(jù)來源之一。接口節(jié)點服務(wù)器實時負載監(jiān)測模塊是部署在接口節(jié)點服務(wù)器上針對系統(tǒng)各種設(shè)備的負載監(jiān)控和最大負載變化率監(jiān)控評測模塊,用于實時監(jiān)控接口節(jié)點服務(wù)器CPU負載、內(nèi)存負載、網(wǎng)絡(luò)負載、訪問請求任務(wù)負載;并根據(jù)歷史負載的監(jiān)控信息生成系統(tǒng)負載的變化率以及最大變化率信息,作為實時負載監(jiān)控以及最大負載變化率的負載評測模塊模塊進行系統(tǒng)負載評測模塊的數(shù)據(jù)關(guān)鍵來源。實時負載監(jiān)控以及最大負載變化率的負載評測模塊是部署在接口節(jié)點服務(wù)器上用于整體評測接口節(jié)點服務(wù)器“空閑”程度的判決模塊,此模塊通過接口節(jié)點服務(wù)器的性能參數(shù)收集模塊輸出的系統(tǒng)設(shè)備性能參數(shù)信息以及接口節(jié)點服務(wù)器實時負載監(jiān)測模塊輸出的實時絕對負載信息、負載變化率以及最大負載變化率信息,依照系統(tǒng)設(shè)定的負載評測策略生成接口節(jié)點服務(wù)器可繼續(xù)承載外部訪問負載的判決信息。此判決信息提供給分布式文件系統(tǒng)的入口服務(wù)器,入口服務(wù)器根據(jù)接口節(jié)點服務(wù)器集群中處于“活動”狀態(tài)的接口節(jié)點服務(wù)器提供的判決信息選擇較為“空閑”的接口節(jié)點服務(wù)器承擔新增的訪問請求。建立分布式文件系統(tǒng)的存儲集群、接口節(jié)點服務(wù)器集群,設(shè)定接口節(jié)點服務(wù)器中性能參數(shù)收集模塊、實時負載監(jiān)測模塊和負載評測模塊。建立分布式文件系統(tǒng)的訪問請求入口服務(wù)器、設(shè)定其模塊運行的信息來源接口節(jié)點服務(wù)器信息、系統(tǒng)可承載最大負載閾值信息、參數(shù)收集信息、實時負載檢測信息等。 除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
權(quán)利要求
1.一種監(jiān)控集群存儲接口節(jié)點負載的方法,其特征在于包含三個部分接口節(jié)點服務(wù)器的性能參數(shù)收集模塊,接口節(jié)點服務(wù)器實時負載監(jiān)測模塊,融合接口節(jié)點服務(wù)器性能參數(shù)閾值、實時負載監(jiān)控以及最大負載變化率的負載評測模塊,其中 接口節(jié)點服務(wù)器性能參數(shù)收集模塊是部署在接口節(jié)點服務(wù)器上的系統(tǒng)設(shè)備性能參數(shù)收集模塊,用于定時循環(huán)獲取接口節(jié)點服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)的性能參數(shù)信息,作為實時負載監(jiān)控以及最大負載變化率的負載評測模塊進行系統(tǒng)負載評測模塊的數(shù)據(jù)來源之一; 接口節(jié)點服務(wù)器實時負載監(jiān)測模塊是部署在接口節(jié)點服務(wù)器上針對系統(tǒng)各種設(shè)備的負載監(jiān)控和最大負載變化率監(jiān)控評測模塊,用于實時監(jiān)控接口節(jié)點服務(wù)器CPU負載、內(nèi)存負載、網(wǎng)絡(luò)負載、訪問請求任務(wù)負載;并根據(jù)歷史負載的監(jiān)控信息生成系統(tǒng)負載的變化率以及最大變化率信息,作為實時負載監(jiān)控以及最大負載變化率的負載評測模塊模塊進行系統(tǒng)負載評測模塊的數(shù)據(jù)關(guān)鍵來源; 實時負載監(jiān)控以及最大負載變化率的負載評測模塊是部署在接口節(jié)點服務(wù)器上用于整體評測接口節(jié)點服務(wù)器“空閑”程度的判決模塊,此模塊通過接口節(jié)點服務(wù)器的性能參數(shù)收集模塊輸出的系統(tǒng)設(shè)備性能參數(shù)信息以及接口節(jié)點服務(wù)器實時負載監(jiān)測模塊輸出的實時絕對負載信息、負載變化率以及最大負載變化率信息,依照系統(tǒng)設(shè)定的負載評測策略生成接口節(jié)點服務(wù)器可繼續(xù)承載外部訪問負載的判決信息,此判決信息提供給分布式文件系統(tǒng)的入口服務(wù)器,入口服務(wù)器根據(jù)接口節(jié)點服務(wù)器集群中處于“活動”狀態(tài)的接口節(jié)點服務(wù)器提供的判決信息選擇較為“空閑”的接口節(jié)點服務(wù)器承擔新增的訪問請求; 在分布式文件系統(tǒng)的接口節(jié)點服務(wù)器設(shè)立性能參數(shù)收集模塊、負載監(jiān)測模塊、負載測評模塊,通過設(shè)置不同的監(jiān)控評測策略,實現(xiàn)對接口節(jié)點服務(wù)器的可繼續(xù)承擔訪問負載能力的整體評測,評測結(jié)果作為分布式文件系統(tǒng)入口服務(wù)器分配訪問請求到“空閑”接口節(jié)點的重要依據(jù),具體步驟如下 通過在接口節(jié)點服務(wù)器設(shè)定可配置的系統(tǒng)負載評測策略,包括I)收集接口節(jié)點服務(wù)器的CPU、內(nèi)存、帶寬三種設(shè)備性能參數(shù);2)針對接口節(jié)點服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)、訪問負載的實時監(jiān)控以及最大負載變化率的監(jiān)測,3)將兩部分信息通過負載測評模塊生成接口節(jié)點服務(wù)器,繼續(xù)承擔系統(tǒng)訪問負載的評測; 1)接口節(jié)點服務(wù)器的CPU、內(nèi)存、帶寬三種設(shè)備性能參數(shù)的收集,是通過獲取設(shè)備的性能參數(shù)確定接口節(jié)點服務(wù)器硬件設(shè)備能夠提供的最大負載性能閾值,接口節(jié)點服務(wù)器系統(tǒng)運行過程中承載的訪問負載受限于三種設(shè)備的“公共”性能閾值,對于不同的訪問負載任務(wù),三種設(shè)備性能的消耗有著不同側(cè)重點,其中任何一個最先接近其最大性能閾值則限制另兩個設(shè)備負載的繼續(xù)增加,因此在影響系統(tǒng)性能閾值的因素中綜合考慮三種設(shè)備的性能閾值是較為合理的方法; 2)針對接口節(jié)點服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)、訪問負載的實時監(jiān)控以及最大負載變化率的監(jiān)測,是本方法應用的核心,接口節(jié)點服務(wù)器的負載監(jiān)測模塊同時監(jiān)控系統(tǒng)CPU負載、內(nèi)存負載、網(wǎng)絡(luò)負載以及任務(wù)請求負載,并提供針對系統(tǒng)設(shè)備和訪問任務(wù)的可配置監(jiān)控選項實現(xiàn)針對各種訪問任務(wù)及應用業(yè)務(wù)的監(jiān)控策略設(shè)定,實現(xiàn)接口節(jié)點系統(tǒng)的實時監(jiān)控信息;在監(jiān)控接口節(jié)點服務(wù)器性能負載的過程中,根據(jù)所承載請求任務(wù)數(shù)目的變化,在時間維度上生成系統(tǒng)所承載的最大負載和最大負載變化率,此部分的數(shù)據(jù)信息是判斷接口節(jié)點服務(wù)器負載的核心依據(jù);3)將兩部分信息通過負載測評模塊生成接口節(jié)點服務(wù)器,繼續(xù)承擔系統(tǒng)訪問負載的評測;判斷接口節(jié)點服務(wù)器系統(tǒng)“空閑”程度的負載測評模塊是對接口節(jié)點服務(wù)器的CPU、內(nèi)存、帶寬三種設(shè)備性能參數(shù)收集的數(shù)據(jù)和針對接口節(jié)點服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)、訪問負載的實時監(jiān)控以及最大負載變化率輸出數(shù)據(jù)的應用,根據(jù)接口節(jié)點服務(wù)器的CPU、內(nèi)存、帶寬三種設(shè)備性能參數(shù)的收集收集的系統(tǒng)性能最大閾值和針對接口節(jié)點服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)、訪問負載的實時監(jiān)控以及最大負載變化率監(jiān)測的系統(tǒng)實時負載以及最大負載變化率信息,綜合設(shè)定的系統(tǒng)監(jiān)控評測策略可以更 加客觀的整體評價接口節(jié)點服務(wù)器是否可繼續(xù)承擔外部訪問負載請求,此部分產(chǎn)生的評測數(shù)據(jù)作為分布式文件系統(tǒng)入口服務(wù)器判決是否分配訪問請求的一個輸入,入口服務(wù)器根據(jù)不同接口節(jié)點服務(wù)器的負載評測信息,選擇相對“空閑”的接口節(jié)點服務(wù)器承擔來自系統(tǒng)外部的訪問請求。
全文摘要
本發(fā)明提供一種監(jiān)控集群存儲接口節(jié)點負載的方法,該方法包含三個部分接口節(jié)點服務(wù)器的性能參數(shù)收集模塊,接口節(jié)點服務(wù)器實時負載監(jiān)測模塊,融合接口節(jié)點服務(wù)器性能參數(shù)閾值、實時負載監(jiān)控以及最大負載變化率的負載評測模塊,其中接口節(jié)點服務(wù)器性能參數(shù)收集模塊是部署在接口節(jié)點服務(wù)器上的系統(tǒng)設(shè)備性能參數(shù)收集模塊,用于定時循環(huán)獲取接口節(jié)點服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)的性能參數(shù)信息,作為實時負載監(jiān)控以及最大負載變化率的負載評測模塊進行系統(tǒng)負載評測模塊的數(shù)據(jù)來源之一。
文檔編號H04L12/26GK102710465SQ20121018498
公開日2012年10月3日 申請日期2012年6月7日 優(yōu)先權(quán)日2012年6月7日
發(fā)明者郭鵬 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司