版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Google三大核心技術(shù)之一:Mabiner函數(shù)被執(zhí)行一般的,相同的代碼被用函數(shù)的輸出被保存最終輸出文件里biner函數(shù)的輸出被寫到中間文件里,然后被發(fā)送給reduce任務(wù)函數(shù)的例子輸入輸出類型Maaaaaaaaster動態(tài)的分配工作給幾千臺機(jī)器為了簡化調(diào)試和測試,我們開發(fā)了一個可替換的實現(xiàn),這個實現(xiàn)在本地執(zhí)行所有的Maaaster運行一個HTTaae,Stringcontents:
foreachwordwincontents:
ifIsCaent;
EmitIntermediatew,"1";來自不同worer機(jī)器上的計數(shù)器值被周期性的傳送給master在aster把來自成功的maaster狀態(tài)頁里,以便人們可以查看實際的計算進(jìn)度當(dāng)計算計數(shù)器值的時候消除重復(fù)執(zhí)行的影響,防止數(shù)據(jù)的累加在備用任務(wù)的使用,和由于出錯的重新執(zhí)行,可以產(chǎn)生重復(fù)執(zhí)行有些計數(shù)器值被Ma2G2000Gar的最高紀(jì)錄1057秒差不多需要注意的事情是:因此位置優(yōu)化的原因,很多數(shù)據(jù)都是從本地磁盤讀取的而沒有通過我們有限帶寬的網(wǎng)絡(luò),所以輸入速度比排序速度和輸出速度都要快排序速度比輸出速度快的原因是輸出階段寫兩個排序后數(shù)據(jù)的拷貝我們寫兩個副本的原因是為了可靠性和可用性我們寫兩份的原因是因為底層文件系統(tǒng)的可靠性和可用性的要求如果底層文件系統(tǒng)用類似容錯編碼erasurecoding的方式,而不采用復(fù)制寫的方式,在寫盤階段可以降低網(wǎng)絡(luò)帶寬的要求。備用任務(wù)的影響在圖3b中,顯示我們不用備用任務(wù)的排序程序的執(zhí)行情況除了它有一個很長的幾乎沒有寫動作發(fā)生的尾巴外,執(zhí)行流程和圖3a相似在960秒后,只有5個reduce任務(wù)沒有完成然而,就是這最后幾個落后者知道300秒后才完成全部的計算任務(wù)執(zhí)行了1283秒,多花了44%的時間機(jī)器失效在圖3c中,程序因為僅僅程序被停止,而機(jī)器仍然在正常運行因為已經(jīng)完成的maaming以及一些Mitives提供了更高級別的抽象,系統(tǒng)的不同之處在,Maaae,Shun-TaLeung,和JoshRedstone,LiangOlcanSercinogluBurrows,WilsonHsieh,JoshLevenberg,Sharona_tass100;
out->set_format"tet";
out->set_reducer_class"Adder";
果要支持更大的文件系統(tǒng),那么增加一些內(nèi)存的方法對于我們將元數(shù)據(jù)〔metadata〕保存在內(nèi)存種所獲得的簡單性、可靠性、高性能和靈活性來說,這只是一個很小的代價。
B、塊位置:
master并不為chunserver所擁有的塊的副本的保存一個不變的記錄。它在啟動時通過簡單的查詢來獲得這些信息。Master可以保持這些信息的更新,因為它控制所有塊的放置并通過HeartBeat消息來監(jiān)控chunserver的狀態(tài)。
這樣做的好處:因為chunserver可能參加或離開集群、改變路徑名、崩潰、重啟等,一個集群重有成百個server,這些事件經(jīng)常發(fā)生,這種方法就排除了master與chunserver之間的同步問題。
另一個原因是:只有chunserver才能確定它自己到底有哪些塊,由于錯誤,chunserver中的一些塊可能會很自然的消失,這樣在master中就沒有必要為此保存一個不變的記錄。
C、操作日志:
操作日志包含了對metadata所作的修改的歷史記錄。它作為邏輯時間線定義了并發(fā)操作的執(zhí)行順序。文件、塊以及它們的版本號都由它們被創(chuàng)立時的邏輯時間而唯一地、永久地被標(biāo)識。
操作日志是如此的重要,我們必須要將它可靠地保存起來,并且只有在metadata的改變固定下來之后才將變化呈現(xiàn)給用戶。所以我們將操作日志復(fù)制到數(shù)個遠(yuǎn)程的機(jī)器上,并且只有在將相應(yīng)的日志記錄寫到本地和遠(yuǎn)程的磁盤上之后才答復(fù)用戶的請求。
Master可以用操作日志來恢復(fù)它的文件系統(tǒng)的狀態(tài)。為了將啟動時間減至最小,日志就必須要比擬小。每當(dāng)日志的長度增長到超過一定的規(guī)模后,master就要檢查它的狀態(tài),它可以從本地磁盤裝入最近的檢查點來恢復(fù)狀態(tài)。
創(chuàng)建一個檢查點比擬費時,master的狀態(tài)是以一種在創(chuàng)立一個檢查點時并不耽誤即將到來的修改操作的方式來組織的。Master切換到一個新的日子文件并在一個單獨的線程中創(chuàng)立檢查點。這個新的檢查點記錄了切換前所有的修改。在一個有數(shù)十萬文件的集群中用一分鐘左右就能完成。創(chuàng)立完后,將它寫入本地和遠(yuǎn)程的磁盤。
〔7〕數(shù)據(jù)完整性
名字空間的修改必須是原子性的,它們只能有master處理:名字空間鎖保證了操作的原子性和正確性,而master的操作日志在全局范圍內(nèi)定義了這些操作的順序。
文件區(qū)間的狀態(tài)在修改之后依賴于修改的類型,不管操作成功還是失敗,也不管是不是并發(fā)操作。如果不管從哪個副本上讀,所有的客戶都看到同樣的數(shù)據(jù),那么文件的這個區(qū)域就是一致的。如果文件的區(qū)域是一致的并且用戶可以看到修改操作所寫的數(shù)據(jù),那么它就是已定義的。如果修改是在沒有并發(fā)寫操作的影響下完成的,那么受影響的區(qū)域是已定義的,所有的client都能看到寫的內(nèi)容。成功的并發(fā)寫操作是未定義但卻是一致的。失敗的修改將使區(qū)間處于不一致的狀態(tài)。
Write操作在應(yīng)用程序指定的偏移處寫入數(shù)據(jù),而recordaaster和chunserver間定期的handshae,借助校驗和來檢測對數(shù)據(jù)的破壞。一旦檢測到,就從一個有效的副本盡快重新存儲。只有在GFS檢測前,所有的副本都失效,這個塊才會喪失。2、系統(tǒng)交互
〔1〕租約〔lease〕和修改順序:
〔2〕數(shù)據(jù)流
我們的目標(biāo)是充分利用每個機(jī)器的網(wǎng)絡(luò)帶寬,防止網(wǎng)絡(luò)瓶頸和延遲
為了有效的利用網(wǎng)絡(luò),我們將數(shù)據(jù)流和控制流別離。數(shù)據(jù)是以流水線的方式在選定的chunerserver鏈上線性的傳遞的。每個機(jī)器的整個對外帶寬都被用作傳遞數(shù)據(jù)。為防止瓶頸,每個機(jī)器在收到數(shù)據(jù)后,將它收到數(shù)據(jù)盡快傳遞給離它最近的機(jī)器。
〔3〕原子性的recordAary上多了一些邏輯判斷。首先,client將數(shù)據(jù)發(fā)送到文件最后一塊的所有副本上。然后向ary發(fā)送請求。ary檢查添加操作是否會導(dǎo)致該塊超過最大的規(guī)?!?4M〕。如果這樣,它將該塊擴(kuò)充到最大規(guī)模,并告訴其它副本做同樣的事,同時通知client該操作需要在下一個塊上重新嘗試。如果記錄滿足最大規(guī)模的要求,ary就會將數(shù)據(jù)添加到它的副本上,并告訴其它的副本在在同樣的偏移處寫數(shù)據(jù),最后ary向client報告寫操作成功。如果在任何一個副本上recordaary。根據(jù)一致性保證,成功的recordaaster受到一個snaaster交互以找到擁有l(wèi)ease的副本。這就給master一個創(chuàng)立這個塊的副本的機(jī)會。
副本被撤銷或終止后,master在磁盤上登記執(zhí)行的操作,然后復(fù)制源文件或目錄樹的metadata以對它的內(nèi)存狀態(tài)實施登記的操作。這個新創(chuàng)立的snaetadata〕指向相同的塊〔chun〕。
Snaaster以找到擁有l(wèi)ease的副本。Master注意到chunc的引用記數(shù)比1大,它延遲對用戶的響應(yīng),選擇一個chunhandleC’,然后要求每一有chunc的副本的chunserver創(chuàng)立一個塊C’。每個chunserver在本地創(chuàng)立chunC’防止了網(wǎng)絡(luò)開銷。從這以后和對別的塊的操作沒有什么區(qū)別。
3、MASTER操作
MASTER執(zhí)行所有名字空間的操作,除此之外,他還在系統(tǒng)范圍管理數(shù)據(jù)塊的復(fù)制:決定數(shù)據(jù)塊的放置方案,產(chǎn)生新數(shù)據(jù)塊并將其備份,和其他系統(tǒng)范圍的操作協(xié)同來確保數(shù)據(jù)備份的完整性,在所有的數(shù)據(jù)塊效勞器之間平衡負(fù)載并收回沒有使用的存儲空間。
名字空間管理和加鎖
與傳統(tǒng)文件系統(tǒng)不同的是,GFS沒有與每個目錄相關(guān)的能列出其所有文件的數(shù)據(jù)結(jié)構(gòu),它也不支持別名〔uni中的硬連接或符號連接〕,不管是對文件或是目錄。GFS的名字空間邏輯上是從文件元數(shù)據(jù)到路徑名映射的一個查用表。
MASTER在執(zhí)行某個操作前都要獲得一系列鎖,例如,它要對/d1/d2…/dn/leaf執(zhí)行操作,那么它必須獲得/d1,/d1/d2,…,/d1/d2/…/dn的讀鎖,/d1/d2…/dn/leaf的讀鎖或?qū)戞i〔其中l(wèi)eaf可以使文件也可以是目錄〕。MASTER操作的并行性和數(shù)據(jù)的一致性就是通過這些鎖來實現(xiàn)的。
備份存儲放置策略
一個GFS集群文件系統(tǒng)可能是多層分布的。一般情況下是成千上萬個文件塊效勞器分布于不同的機(jī)架上,而這些文件塊效勞器又被分布于不同機(jī)架上的客戶來訪問。因此,不同機(jī)架上的兩臺機(jī)器之間的通信可能通過一個或多個交換機(jī)。數(shù)據(jù)塊冗余配置策略要到達(dá)連個目的:最大的數(shù)據(jù)可靠性和可用性,最大的網(wǎng)絡(luò)帶寬利用率。因此,如果僅僅把數(shù)據(jù)的拷貝置于不同的機(jī)器上很難滿足這兩個要求,必須在不同的機(jī)架上進(jìn)行數(shù)據(jù)備份。這樣即使整個機(jī)架被毀或是掉線,也能確保數(shù)據(jù)的正常使用。這也使數(shù)據(jù)傳輸,尤其是讀數(shù)據(jù),可以充分利用帶寬,訪問到多個機(jī)架,而寫操作,那么不得不涉及到更多的機(jī)架。
產(chǎn)生、重復(fù)制、重平衡數(shù)據(jù)塊
當(dāng)MASTER產(chǎn)生新的數(shù)據(jù)塊時,如何放置新數(shù)據(jù)塊,要考慮如下幾個因素:〔1〕盡量放置在磁盤利用率低的數(shù)據(jù)塊效勞器上,這樣,慢慢地各效勞器的磁盤利用率就會到達(dá)平衡?!?〕盡量控制在一個效勞器上的“新創(chuàng)立〞的次數(shù)?!?〕由于上一小節(jié)討論的原因,我們需要把數(shù)據(jù)塊放置于不同的機(jī)架上。
MASTER在可用的數(shù)據(jù)塊備份低于用戶設(shè)定的數(shù)目時需要進(jìn)行重復(fù)制。這種情況源于多種原因:效勞器不可用,數(shù)據(jù)被破壞,磁盤被破壞,或者備份數(shù)目被修改。每個被需要重復(fù)制的數(shù)據(jù)塊的優(yōu)先級根據(jù)以下幾項確定:第一是現(xiàn)在的數(shù)目距目標(biāo)的距離,對于能阻塞用戶程序的數(shù)據(jù)塊,我們也提高它的優(yōu)先級。最后,MASTER按照產(chǎn)生數(shù)據(jù)塊的原那么復(fù)制數(shù)據(jù)塊,并把它們放到不同的機(jī)架內(nèi)的效勞器上。
MASTER周期性的平衡各效勞器上的負(fù)載:它檢查chun分布和負(fù)載平衡,通過這種方式來填充一個新的效勞器而不是把其他的內(nèi)容統(tǒng)統(tǒng)放置到它上面帶來大量的寫數(shù)據(jù)。數(shù)據(jù)塊放置的原那么與上面討論的相同,此外,MASTER還決定那些數(shù)據(jù)塊要被移除,原那么上他會去除那些空閑空間低于平均值的那些效勞器。
垃圾收集
在一個文件被刪除之后,GFS并不立即收回磁盤空間,而是等到垃圾收集程序在文件和數(shù)據(jù)塊級的的檢查中收回。
當(dāng)一個文件被應(yīng)用程序刪除之后,MASTER會立即記錄下這些變化,但文件所占用的資源卻不會被立即收回,而是重新給文件命了一個隱藏的名字,并附上了刪除的時間戳。在MASTER定期檢查名字空間時,它刪除超過三天〔可以設(shè)定〕的隱藏的文件。在此之前,可以以一個新的名字來讀文件,還可以以前的名字恢復(fù)。當(dāng)隱藏的文件在名字空間中被刪除以后,它在內(nèi)存中的元數(shù)據(jù)即被擦除,這就有效地切斷了他和所有數(shù)據(jù)塊的聯(lián)系。
在一個相似的定期的名字空間檢查中,MASTER確認(rèn)孤兒數(shù)據(jù)塊〔不屬于任何文件〕并擦除他的元數(shù)據(jù),在和MASTER的心跳信息交換中,每個效勞器報告他所擁有的數(shù)據(jù)塊,MASTER返回元數(shù)據(jù)不在內(nèi)存的數(shù)據(jù)塊,效勞器即可以刪除這些數(shù)據(jù)塊。
過時數(shù)據(jù)的探測
在數(shù)據(jù)更新時如果效勞器停機(jī)了,那么他所保存的數(shù)據(jù)備份就會過時。對每個數(shù)據(jù)塊,MASTER設(shè)置了一個版本號來區(qū)別更新過的數(shù)據(jù)塊和過時的數(shù)據(jù)塊。
當(dāng)MASTER一個新的lease時,他會增加數(shù)據(jù)塊的版本號并會通知更新數(shù)據(jù)備份。MASTER和備份都會記錄下當(dāng)前的版本號,如果一個備份當(dāng)時不可用,那么他的版本號不可能提高,當(dāng)ChunServer重新啟動并向MASTER報告他的數(shù)據(jù)塊集時,MASTER就會發(fā)現(xiàn)過時的數(shù)據(jù)。
MASTER在定期的垃圾收集程序中去除過時的備份,在此以前,處于效率考慮,在各客戶及英大使,他會認(rèn)為根本不存在過時的數(shù)據(jù)。作為另一個平安措施,MASTER在給客戶及關(guān)于數(shù)據(jù)塊的應(yīng)答或是另外一個讀取數(shù)據(jù)的效勞器數(shù)據(jù)是都會帶上版本信息,在操作前客戶機(jī)和效勞器會驗證版本信息以確保得到的是最新的數(shù)據(jù)。4、容錯和診斷
高可靠性
快速恢復(fù)
不管如何終止效勞,MASTER和數(shù)據(jù)塊效勞器都會在幾秒鐘內(nèi)恢復(fù)狀態(tài)和運行。實際上,我們不對正常終止和不正常終止進(jìn)行區(qū)分,效勞器進(jìn)程都會被切斷而終止。客戶機(jī)和其他的效勞器會經(jīng)歷一個小小的中斷,然后它們的特定請求超時,重新連接重啟的效勞器,重新請求。
數(shù)據(jù)塊備份
如上文所討論的,每個數(shù)據(jù)塊都會被備份到放到不同機(jī)架上的不同效勞器上。對不同的名字空間,用戶可以設(shè)置不同的備份級別。在數(shù)據(jù)塊效勞器掉線或是數(shù)據(jù)被破壞時,MASTER會按照需要來復(fù)制數(shù)據(jù)塊。
MASTER備份
為確保可靠性,MASTER的狀態(tài)、操作記錄和檢查點都在多臺機(jī)器上進(jìn)行了備份。一個操作只有在數(shù)據(jù)塊效勞器硬盤上刷新并被記錄在MASTER和其備份的上之后才算是成功的。如果MASTER或是硬盤失敗,系統(tǒng)監(jiān)視器會發(fā)現(xiàn)并通過改變域名啟動它的一個備份機(jī),而客戶機(jī)那么僅僅是使用標(biāo)準(zhǔn)的名稱來訪問,并不會發(fā)現(xiàn)MASTER的改變。
數(shù)據(jù)完整性
每個數(shù)據(jù)塊效勞器都利用校驗和來檢驗存儲數(shù)據(jù)的完整性。原因:每個效勞器隨時都有發(fā)生崩潰的可能性,并且在兩個效勞器間比擬數(shù)據(jù)塊也是不現(xiàn)實的,同時,在兩臺效勞器間拷貝數(shù)據(jù)并不能保證數(shù)據(jù)的一致性。
每個Chun按64B的大小分成塊,每個塊有32位的校驗和,校驗和和日志存儲在一起,和用戶數(shù)據(jù)分開。
在讀數(shù)據(jù)時,效勞器首先檢查與被讀內(nèi)容相關(guān)局部的校驗和,因此,效勞器不會傳播錯誤的數(shù)據(jù)。如果所檢查的內(nèi)容和校驗和不符,效勞器就會給數(shù)據(jù)請求者返回一個錯誤的信息,并把這個情況報告給MASTER??蛻魴C(jī)就會讀其他的效勞器來獲取數(shù)據(jù),而MASTER那么會從其他的拷貝來復(fù)制數(shù)據(jù),等到一個新的拷貝完成時,MASTER就會通知報告錯誤的效勞器刪除出錯的數(shù)據(jù)塊。
附加寫數(shù)據(jù)時的校驗和計算優(yōu)化了,因為這是主要的寫操作。我們只是更新增加局部的校驗和,即使末尾局部的校驗和數(shù)據(jù)已被損壞而我們沒有檢查出來,新的校驗和與數(shù)據(jù)會不相符,這種沖突在下次使用時將會被檢查出來。
相反,如果是覆蓋現(xiàn)有數(shù)據(jù)的寫,在寫以前,我們必須檢查第一和最后一個數(shù)據(jù)塊,然后才能執(zhí)行寫操作,最后計算和記錄校驗和。如果我們在覆蓋以前不先檢查首位數(shù)據(jù)塊,計算出的校驗和那么會因為沒被覆蓋的數(shù)據(jù)而產(chǎn)生錯誤。
在空閑時間,效勞器會檢查不活潑的數(shù)據(jù)塊的校驗和,這樣可以檢查出不經(jīng)常讀的數(shù)據(jù)的錯誤。一旦錯誤被檢查出來,效勞器會拷貝一個正確的數(shù)據(jù)塊來代替錯誤的。
診斷工具
廣泛而細(xì)致的診斷日志以微小的代價換取了在問題隔離、診斷、性能分析方面起到了重大的作用。GFS效勞器用日志來記錄顯著的事件〔例如效勞器停機(jī)和啟動〕和遠(yuǎn)程的應(yīng)答。遠(yuǎn)程日志記錄機(jī)器之間的請求和應(yīng)答,通過收集不同機(jī)器上的日志記錄,并對它們進(jìn)行分析恢復(fù),我們可以完整地重現(xiàn)活動的場景,并用此來進(jìn)行錯誤分析。
6測量
測試環(huán)境
一臺主控機(jī),兩臺主控機(jī)備份,16臺數(shù)據(jù)塊效勞器,16臺客戶機(jī)。
每臺機(jī)器:2塊1.4G2G80G的硬盤,1塊100Mb1G
首先,BigTable從2021年初就開始研發(fā)了,到現(xiàn)在為止已經(jīng)用了將近8個月?!?021年2月〕目前大概有100個左右的效勞使用BigTable,比方:amutable的SSTables,一臺機(jī)器一個日志文件。當(dāng)系統(tǒng)的內(nèi)存滿后,系統(tǒng)會壓縮一些Tablets。由于Jeff在論述這點的時候說的很快,所以我沒有時間把聽到的都記錄下來,因此下面是一個大概的說明:壓縮分為:主要和次要的兩局部。次要的壓縮僅僅包括幾個Tablets,而主要的壓縮時關(guān)于整個系統(tǒng)的壓縮。主壓縮有回收硬盤空間的功能。Tablets的位置實際上是存儲在幾個特殊的BigTable的存儲單元cell中??雌饋磉@是一個三層的系統(tǒng)。客戶端有一個指向METAO的Tablets的指針。如果METAO的Tablets被頻繁使用,那個這臺機(jī)器就會放棄其他的tablets專門支持METAO這個Tablets。METAOtablets保持著所有的META1的tablets的記錄。這些tablets中包含著查找tablets的實際位置。〔老實說翻譯到這里,我也不太明白?!吃谶@個系統(tǒng)中不存在大的瓶頸,因為被頻繁調(diào)用的數(shù)據(jù)已經(jīng)被提前獲得并進(jìn)行了緩存?,F(xiàn)在我們返回到對列的說明:列是類似下面的形式:family:ol頁面的代碼?!癮nchor:news〞中包含著相對應(yīng)的url,〞anchor:包含著鏈接的文字局部。列中包含著類型信息。翻譯到這里我
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025品牌營銷策劃服務(wù)合同范本
- 綠色農(nóng)業(yè)發(fā)展與教育普及的雙重重要性
- 疫情背景下病患支持體系變革及其在未來的應(yīng)用展望分析報告
- 商業(yè)實戰(zhàn)中學(xué)生的創(chuàng)新思維與實踐能力鍛煉
- 二零二四年外墻保溫材料環(huán)保認(rèn)證與施工合同3篇
- 二零二五年度企事業(yè)單位炊事員服務(wù)合同3篇
- 部編語文六年級上冊:全冊單元、期中期末試卷文檔
- 2025年人教版PEP八年級地理上冊階段測試試卷含答案
- 2025年湘教新版必修3生物下冊階段測試試卷
- 2025年外研版七年級物理上冊階段測試試卷
- 乳腺癌的綜合治療及進(jìn)展
- 【大學(xué)課件】基于BGP協(xié)議的IP黑名單分發(fā)系統(tǒng)
- 2025年八省聯(lián)考高考語文試題真題解讀及答案詳解課件
- 信息安全意識培訓(xùn)課件
- 2024年山東省泰安市初中學(xué)業(yè)水平生物試題含答案
- 美的MBS精益管理體系
- 中國高血壓防治指南(2024年修訂版)解讀課件
- 2024安全員知識考試題(全優(yōu))
- 2024年衛(wèi)生資格(中初級)-中醫(yī)外科學(xué)主治醫(yī)師考試近5年真題集錦(頻考類試題)帶答案
- 中國大百科全書(第二版全32冊)08
- 醫(yī)院出入口安檢工作記錄表范本
評論
0/150
提交評論