




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、用XML和ASP實現(xiàn)分布式信息查詢系統(tǒng)信息中心 臧 磊摘 要:隨著江蘇省電力信息系統(tǒng)的發(fā)展,各種數(shù)據(jù)也在不斷地積累和豐富,對信息的查詢和分析變得越來越重要。但是由于數(shù)據(jù)分布在異地異種服務(wù)器上,想獲得這些數(shù)據(jù)變得十分困難。現(xiàn)有的信息查詢手段已經(jīng)不能適應(yīng)當(dāng)前的需要,如何方便、快捷地獲取信息已經(jīng)成為了一個急待解決的問題。近年來,隨著XML技術(shù)的出現(xiàn)和發(fā)展,為解決以上的問題,提供了一種良好的途徑。本文提出了一種基于XML和ASP技術(shù)的分布式信息查詢系統(tǒng)的框架,并用實例詳細分析了該系統(tǒng)的實現(xiàn)方法。關(guān)鍵詞:XML;ASP;信息查詢;0 引言隨著江蘇省電力信息系統(tǒng)的發(fā)展,各種數(shù)據(jù)也在不斷地積累和豐富,對信息
2、的查詢和分析變得越來越重要。但是由于數(shù)據(jù)分布在異地異種服務(wù)器上,想獲得這些數(shù)據(jù)變得十分困難。目前,為解決該問題,通常采用的方法有兩種:數(shù)據(jù)集中式查詢和基于數(shù)據(jù)庫的分布式查詢。數(shù)據(jù)集中式查詢是指下級單位定時地將本地數(shù)據(jù)通過專用的上報程序發(fā)送到上級中心數(shù)據(jù)庫中。然后所有的查詢數(shù)據(jù)都從這個中心數(shù)據(jù)服務(wù)器中獲取。這種方法的缺點是明顯的,上級數(shù)據(jù)庫只能被動的接受數(shù)據(jù),無法實時地進行信息查詢,且對中心服務(wù)器的要求較高。另一種方式是基于數(shù)據(jù)庫的分布式查詢,指的是查詢程序主動到多個遠程數(shù)據(jù)庫中獲取數(shù)據(jù)。這種方式的優(yōu)點是可以隨時地對分布數(shù)據(jù)進行查詢,但是這種方式也有其局限性。一是所有的查詢?nèi)蝿?wù)都由一臺服務(wù)器完成
3、,這將加重服務(wù)器的負(fù)荷,且服務(wù)器端的程序開發(fā)也顯得復(fù)雜;二是不利于異種環(huán)境數(shù)據(jù)的收集。由于種種原因,有些應(yīng)用是由不同的部門完成的,因此在設(shè)計思想、數(shù)據(jù)庫結(jié)構(gòu)以及數(shù)據(jù)庫系統(tǒng)的選用上都有著較大的區(qū)別。顯然傳統(tǒng)的方式對于解決這種情況將非常麻煩;三是這種方式一般需要在遠程數(shù)據(jù)庫中設(shè)立一個用戶身份,而且有時為了方便,往往都要采用同一個用戶名和密碼,顯然這對系統(tǒng)的安全造成了一定的威脅。從上面的分析可以看出,現(xiàn)有的信息查詢手段已經(jīng)不能適應(yīng)當(dāng)前的需要,如何方便、快捷地獲取信息已經(jīng)成為了一個急待解決的問題。近年來,隨著XML技術(shù)的出現(xiàn)和發(fā)展,為解決以上的問題,提供了一種良好的途徑。1 相關(guān)技術(shù)概述1.1 XML
4、及相關(guān)技術(shù)XML是eXtensible Markup Language(可擴展的標(biāo)記語言)的縮寫,是W3C組織于1998年2月發(fā)布的標(biāo)準(zhǔn)。W3C組織制定XML標(biāo)準(zhǔn)的初衷是,定義一種互聯(lián)網(wǎng)上交換數(shù)據(jù)的標(biāo)準(zhǔn)。W3C采取了簡化SGML的策略,在SGML基礎(chǔ)上,去掉語法定義部分,適當(dāng)簡化DTD部分,并增加了部分互聯(lián)網(wǎng)的特殊成分。因此,XML也是一種標(biāo)記語言,基本上是SGML的一個子集。因為XML也有DTD,所以XML也可以作為派生其它標(biāo)記語言的元語言。XML文檔需要有嚴(yán)格的格式,而且更好的是,我們可以通過文檔類型定義(DTD)來對XML的內(nèi)容格式做嚴(yán)格的規(guī)定。這樣的好處是在一個特定的領(lǐng)域中,我們可以定
5、義一種統(tǒng)一的數(shù)據(jù)交換格式,不同的企業(yè)之間可以用這種統(tǒng)一的格式進行數(shù)據(jù)和信息的交互而不管它們使用的是什么操作系統(tǒng)和數(shù)據(jù)庫。從以上的描述可以看出,XML具有標(biāo)準(zhǔn)化、平臺無關(guān)、格式良好等優(yōu)點,而這些優(yōu)點正是信息收集和交換所必須具備的基本條件。1.2 ASP簡介ASP(Active Server Pages)是微軟建立的一種“服務(wù)器端腳本編寫”環(huán)境,可用于創(chuàng)建和運行動態(tài)的交互式 Web 服務(wù)器應(yīng)用程序。它實際上是一種腳本語言,可以用VBScript,JavaScript,Jscript來實現(xiàn)。使用 ASP,可以合并 HTML 頁、腳本命令以及 COM 組件創(chuàng)建交互式 Web 頁和功能強大的 Web 應(yīng)
6、用程序。ASP最大的優(yōu)點在于它和微軟的COM技術(shù)的結(jié)合,使用各種各樣的com組件,ASP可以完成無比強大的功能。例如我們使用FileSystemObject,可以對服務(wù)器上的文件進行操作,瀏覽、復(fù)制、移動、刪除等等。有ADO(Active Database Object,動態(tài)數(shù)據(jù)庫對象)的支持,ASP對數(shù)據(jù)庫的操作非常得心應(yīng)手。你甚至可以像使用本地數(shù)據(jù)庫那樣,管理遠程主機上的數(shù)據(jù)庫,對表格、記錄進行各種操作。2 實現(xiàn)方案2.1系統(tǒng)總體框架描述基于XML技術(shù)的查詢系統(tǒng)采用了多層結(jié)構(gòu),包括用戶服務(wù)層、業(yè)務(wù)邏輯層和數(shù)據(jù)服務(wù)層,如圖1所示。主業(yè)務(wù)用戶接口數(shù)據(jù)訪問業(yè)務(wù)邏輯層用戶服務(wù)數(shù)據(jù)服務(wù)圖1 三層服務(wù)
7、模型用戶服務(wù)層 提供應(yīng)用程序界面,保證用戶界面的一致性、完整性和友好性,通常采用的是瀏覽器界面。業(yè)務(wù)邏輯層 提供所有業(yè)務(wù)規(guī)則的實現(xiàn)。業(yè)務(wù)邏輯層處于用戶服務(wù)層和數(shù)據(jù)服務(wù)層之間,它接收用戶的請求,對用戶的請求進行分析,根據(jù)業(yè)務(wù)邏輯的需要從數(shù)據(jù)庫服務(wù)層提取數(shù)據(jù)并對數(shù)據(jù)進行過濾、整理和匯總,在格式化以后,發(fā)送給用戶服務(wù)層。業(yè)務(wù)邏輯層也可以采用多層結(jié)構(gòu),根據(jù)各個業(yè)務(wù)邏輯層間所屬關(guān)系及數(shù)據(jù)的傳遞形式,將一個具體的業(yè)務(wù)處理細化為幾個步驟的調(diào)用,每一個步驟都隸屬于業(yè)務(wù)邏輯層的某一個層次。如可以劃分為用戶接口層、主業(yè)務(wù)層、數(shù)據(jù)訪問層等。數(shù)據(jù)服務(wù)層 提供業(yè)務(wù)所需的數(shù)據(jù),通常情況下是數(shù)據(jù)庫系統(tǒng),也可以是其他形式,如
8、XML文檔、音頻、視頻等。為了描述基于XML和ASP的信息收集方案的框架結(jié)構(gòu),我們通過構(gòu)造一個簡單的例子來說明,該網(wǎng)站的基本功能是實時地查詢基層各單位的變電設(shè)備缺陷情況。其過程描述如下:用戶通過瀏覽器訪問市公司網(wǎng)站(中心服務(wù)器),網(wǎng)站顯示一個查詢表單的界面,提示用戶輸入搜索條件,然后用戶提交搜索表單,將查詢條件(如缺陷性質(zhì),時間范圍等)傳遞給中心服務(wù)器;搜索程序根據(jù)它所保存的縣公司服務(wù)器地址,把用戶的請求發(fā)送給每個縣公司網(wǎng)站(子服務(wù)器);每一個子服務(wù)器查詢程序根據(jù)用戶提供的參數(shù)來查詢本地數(shù)據(jù)庫,然后把結(jié)果以XML的形式發(fā)送回中心服務(wù)器。中心服務(wù)器對這些結(jié)果進行分析、整理,返回給用戶,并以網(wǎng)頁的
9、形式展現(xiàn)各用戶,過程如圖2所示。圖2 基于XML的缺陷查詢體系結(jié)構(gòu)的系統(tǒng)流程圖2.2 信息傳遞格式我們在信息傳遞中采用的是XML格式,當(dāng)然這個XML文檔并不是任何格式都可以的,為了能夠準(zhǔn)確的對數(shù)據(jù)進行匯總和處理,我們需要定義XML文檔的DTD格式,所有的輸出的XML文檔必須遵守這個格式。DTD通常和數(shù)據(jù)庫結(jié)構(gòu)有著密切聯(lián)系,因此我們除了可以手工生成DTD外,也可以利用一些工具根據(jù)數(shù)據(jù)庫結(jié)構(gòu)來自動生產(chǎn)DTD,如XMLSPY等。以缺陷查詢系統(tǒng)為例,查詢條件(數(shù)據(jù)請求)的DTD格式定義為:<?xml version="1.0" encoding="gb2312&qu
10、ot;?><!ELEMENT cxtj ( qxxz,sj)><!ELEMENT qxxz (#PCDATA)><!ELEMENT sj (#PCDATA)>查詢結(jié)果(數(shù)據(jù)返回)的DTD格式定義為:<?xml version="1.0" encoding="gb2312"?><!ELEMENT 缺陷記錄集合 ( 缺陷記錄* )><!ELEMENT 缺陷記錄 ( 發(fā)現(xiàn)時間,設(shè)備編號,設(shè)備名稱,缺陷內(nèi)容,缺陷性質(zhì),發(fā)現(xiàn)人,匯報日期,接收人,消缺時間,消缺工作負(fù)責(zé)人,備注)><
11、!ATTLIST 缺陷記錄 單位代碼 CDATA #REQUIRED 變電所代碼 CDATA #REQUIRED 缺陷編號 CDATA #REQUIRED><!ELEMENT 發(fā)現(xiàn)時間 (#PCDATA)><!ELEMENT 設(shè)備編號 (#PCDATA)><!ELEMENT 消缺工作負(fù)責(zé)人 (#PCDATA)><!ELEMENT 備注 (#PCDATA)>2.3 用戶服務(wù)層用戶服務(wù)層主要有兩個作用:一個是和用戶進行交互,比如用戶輸入相關(guān)的要查詢的信息等,另外一個目的就是顯示結(jié)果信息,比如顯示根據(jù)用戶的查詢參數(shù)返回的結(jié)果。為了方便用戶進行查詢
12、,我們需要建立一個網(wǎng)頁讓用戶輸入需要查詢的信息。比如在本例中,這里我們考慮的是一個關(guān)于查詢變電缺陷的應(yīng)用。所以我們需要的查詢參數(shù)主要是和變電缺陷有關(guān)的參數(shù):比如:缺陷性質(zhì)、缺陷發(fā)現(xiàn)時間、發(fā)生缺陷的設(shè)備、消缺時間等等。這個網(wǎng)頁可以用標(biāo)準(zhǔn)的HTML語言制作,并可以用CSS來對其顯示形式進行打扮,一般來說該用戶端的Web頁面并不需要使用任何腳本,但是也可以增加腳本進行一些基礎(chǔ)的數(shù)據(jù)的合法性判斷,比如判斷用戶在需要輸入時間的文本框中是否按合法的格式輸入數(shù)據(jù)等等。這個網(wǎng)頁除了用來收集用戶查詢條件外,另一個重要的作用是把用戶的條件提交給中心服務(wù)器,采用的是如下的方式:form method=”post”
13、action="中心服務(wù)器網(wǎng)頁.asp"<select size="1" name="qxxz"> <option value="一類缺陷">一類缺陷</option></select><select size="1" name="sj"><option value="2001">2001</option></select>年 <input type=&q
14、uot;submit" name="B1" value=" 查 詢" size="2"></form>在用戶按下提交按鈕以后,相關(guān)的參數(shù)就會傳遞給"中心服務(wù)器網(wǎng)頁.asp"這個網(wǎng)頁。然后該網(wǎng)頁就對該查詢字符串進行分析,當(dāng)然這就是屬于業(yè)務(wù)邏輯層的工作了。用戶服務(wù)層的另外一個目的就是將查詢結(jié)果返回給用戶,并以某種形式顯示出來,在這里我們采用了XSL的方式。相關(guān)的細節(jié),我們稍后再詳細論述。 2.4 業(yè)務(wù)邏輯層業(yè)務(wù)邏輯層是系統(tǒng)最重要、最復(fù)雜、也最核心的部分。用戶服務(wù)層的工作實際上可以理解為是界面
15、的設(shè)計和表示,更多的是考慮用戶界面友好的問題。而業(yè)務(wù)邏輯層則是應(yīng)用系統(tǒng)核心、每一種應(yīng)用的最大的區(qū)別嚴(yán)格的說也就是在業(yè)務(wù)邏輯層上。業(yè)務(wù)邏輯層即可以用COM或者JAVA語言來實現(xiàn),但是實際上,我們也可以采用ASP來實現(xiàn)復(fù)雜的業(yè)務(wù)邏輯。在本例中我們就采用了ASP。在我們這個示例框架系統(tǒng)中,業(yè)務(wù)邏輯層由被劃分為用戶接口層、主業(yè)務(wù)層和數(shù)據(jù)訪問層三個層次,我們將逐一加以描述。2.4.1 用戶接口層用戶接口層的作用就是從用戶處提取關(guān)于用戶想要的和缺陷相關(guān)參數(shù),對請求數(shù)據(jù)進行分析,然后把請求給它所有已知的子服務(wù)器,從子服務(wù)器處獲得數(shù)據(jù)并進行整合,然后對結(jié)果進行格式化并返回給用戶。不同的服務(wù)器可以采用不同的方法
16、來和自己的數(shù)據(jù)庫進行交互,也就是說,用戶接口層只負(fù)責(zé)把參數(shù)和參數(shù)值傳遞給各個相關(guān)的頁面,該頁面如何進行處理,用戶接口層并不關(guān)心,但是它要求子服務(wù)器返回的結(jié)果必須符合XML的DTD定義。在本例中,該層位于中心服務(wù)器上。具體的操作流程如下:首先,我們需要提取用戶傳遞的參數(shù)的值,在ASP中,可以通過Request組件來提取。然后,我們依據(jù)這些參數(shù),生成一個XML格式的請求信息,并發(fā)送到不同的子服務(wù)器,所以這里問題的關(guān)鍵是要構(gòu)造符合DTD定義的XML文檔。子服務(wù)器的URL列表保存在一個文件中,可以使用FileSystem服務(wù)組件讀取。然后我們將該字符串用HTTP POST方法發(fā)送給列表中的服務(wù)器,并將
17、返回的結(jié)果發(fā)送給用戶。該部分的代碼如下:<% postdata=postdata&"<cxtj>"postdata=postdata&"<qxxz>"&request(“qxxz”)&"</qxxz>"postdata=postdata&"<sj>"&request(“sj”)&"</sj>"postdata=postdata&"</cxtj>&
18、quot;Set xmlHttp = Server.CreateObject("msxml2.XMLHTTP")set objVendorFileSystem=server.createObject("Scripting.FileSystemObject")set objVendorFile=objVendorFileSystem.OpenTextFile(server.mappath("qx.txt")response.write "<缺陷記錄集合>"strURL = objVendorFile.Re
19、adLine()do while (not objVendorFile.AtEndOfStream)xmlhttp.Open "POST", strURL, falsexmlhttp.setRequestHeader "Content-Length",Len(postdata)xmlhttp.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"xmlhttp.Send postdata response.write bytes2bst
20、r(xmlhttp.responsebody) strURL = objVendorFile.ReadLine()loopresponse.write "</缺陷記錄集合>"%></缺陷查詢結(jié)果>其中,XMLHTTP是一個ASP組件,它可以使用Http協(xié)議來傳輸信息。在這里我們利用它在服務(wù)器之間進行通信,傳遞查詢參數(shù)和返回查詢結(jié)果。文件“qx.txt”保存的是子服務(wù)器的URL列表,內(nèi)容形式如下所示:http:/WebServer1/CreateXML1.asphttp:/WebServer2/CreateXML2.asphttp:/WebSer
21、ver3/CreateXML3.asp“CreateXML*.asp”是表示某個服務(wù)器處理用戶請求的文件。不同的應(yīng)用可能有自己不同的對用戶請求的處理方式和自己不同的數(shù)據(jù)庫結(jié)構(gòu)和從數(shù)據(jù)庫中提取記錄的方法。2.4.2 主業(yè)務(wù)層主業(yè)務(wù)層是業(yè)務(wù)邏輯層的核心,它實現(xiàn)主要規(guī)則和邏輯。在本例中,主業(yè)務(wù)層的作用就是根據(jù)用戶的XML信息解析查詢條件,然后查詢生產(chǎn)系統(tǒng)數(shù)據(jù)庫,提取出符合條件的缺陷記錄,并根據(jù)缺陷的DTD定義以XML的形式返回結(jié)果。對不同的數(shù)據(jù)庫系統(tǒng)可能有不同的形式,可以有不同的實現(xiàn)方法。在這里,我們使用ASP來實現(xiàn),該部分代碼如下:<% /利用DOM對XML文檔進行分析set xmldoc
22、= Server.CreateObject("Microsoft.XMLDOM")xmldoc.async=falsexmldoc.load request qxxz=xmlDoc.getElementsByTagName("qxxz").item(0).textsj=xmlDoc.getElementsByTagName("sj").item(0).textset conn=Server.CreateObject("ADODB.Connection")conn.open "DATABASE=scgdb;
23、dsn=scgdb;"set rs=server.CreateObject("adodb.recordset")sql=" select * from userid.sb_quexian where qxxz='"qxxz&"' and year(fxsj)="&sjrs.open sql,conn,1,1do while not rs.eof response.write "<缺陷記錄 單位代碼="""&trim(rs("dwd
24、m")&""" 變電所代碼="""&trim(rs("bdsdm")&""" 缺陷編號="""&rs("qxbh")&""">"response.write "<發(fā)現(xiàn)時間>"&rs("fxsj")&"</發(fā)現(xiàn)時間>"response.write
25、 "<設(shè)備編號>"&rs("wybm")&"</設(shè)備編號>"response.write "<設(shè)備名稱>I"&trim(rs("sbmc")&"</設(shè)備名稱>"response.write "<消缺工作負(fù)責(zé)人>"&trim(rs("xqgzfzr")&"</消缺工作負(fù)責(zé)人>"response.wri
26、te "<備注>"&trim(rs("bz")&"</備注>"response.write "</缺陷記錄>"rs.movenextlooprs.closeset rs=nothing%> 在這里我們使用了微軟的解析器來解析XML文檔。我們知道,在安裝了IE 5.0以后的版本后,系統(tǒng)就自動安裝了XML解析器,它實際上是一個dll文件,名稱為MSXML.DLL。該解析器提供了兩種解析方法,一種是通過文檔對象模型(DOM)進行XML文檔的解析,另外就是通過Sim
27、ple API for XML(SAX)的方法進行文檔的解析,這里我們采用的是DOM的方法進行文檔的解析。利用DOM,開發(fā)人員可以動態(tài)地創(chuàng)建XML文檔,遍歷結(jié)構(gòu),添加、修改、刪除內(nèi)容等等。在本例中,我們利用DOM來獲取信息查詢的參數(shù),如發(fā)現(xiàn)時間、缺陷性質(zhì)等。2.4.3 數(shù)據(jù)訪問層 數(shù)據(jù)訪問層專門負(fù)責(zé)于數(shù)據(jù)服務(wù)器層打交道,在這里我們使用的是ADO。首先,我們可以用connection對象建立與數(shù)據(jù)庫的連接,然后,我們可以Recordset對象返回符合條件的記錄集,相關(guān)代碼見上。 2.5 數(shù)據(jù)服務(wù)層 數(shù)據(jù)服務(wù)層主要是用來存儲和管理數(shù)據(jù),一般是關(guān)系型數(shù)據(jù)庫系統(tǒng),如DB2、Oracle、SQL Ser
28、ver等。2.6 查詢結(jié)果的表現(xiàn)形式 前面我們預(yù)留了一個問題,就是查詢結(jié)果的表現(xiàn)形式問題。在業(yè)務(wù)邏輯層收集好XML數(shù)據(jù),在將結(jié)果到發(fā)送客戶端前,我們需要確定結(jié)果的表示形式。事實上,我們可以通過幾種方法呈現(xiàn)給用戶。首先,它可以使用平常的文本來顯示XML,在IE瀏覽器顯示為樹狀目錄。由于該種方法不夠直觀,一般不采用。另一種選擇就是先在服務(wù)器端把XML轉(zhuǎn)換成HTML,然后再把轉(zhuǎn)換后生成的HTML返回到用戶處,該種方法對服務(wù)器的要求較高。最后一種方式是使用XSL或CSS來格式化XML文檔,其中XSL功能更強大,也更靈活。XML文檔和XSL文檔被同時發(fā)送到用戶的計算機上,由瀏覽器使用XSL來決定XML文檔的表現(xiàn)形式。該種方法對服務(wù)器要求不高,且可以充分利用客戶端的計算能力,因此我們采用了這種方式。如以下的代碼就是將查詢結(jié)果以表格的形式顯示在瀏覽器中: <?xml version="1.0" encoding="gb2312"?><xsl:stylesheet xmlns:xsl="/TR/WD-xsl"><xsl:template match="/"> <xsl:apply-templates select="缺陷記錄集合
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆河北省石家莊市藁城第五中學(xué)高二下化學(xué)期末經(jīng)典試題含解析
- 吉林省白城市通榆縣一中2025年高二化學(xué)第二學(xué)期期末檢測試題含解析
- 2025屆北京專家化學(xué)高二下期末學(xué)業(yè)水平測試模擬試題含解析
- 四川省雅安市2025屆化學(xué)高一下期末聯(lián)考模擬試題含解析
- 醫(yī)用設(shè)備銷售管理辦法
- 華為營運資金管理辦法
- 辦公區(qū)域門禁管理辦法
- 村級電站確權(quán)管理辦法
- 佛山耕地流轉(zhuǎn)管理辦法
- 材料合同如何管理辦法
- 《DNS域名解析原理》課件
- DB4401∕T 11-2018 建筑廢棄物運輸 車輛標(biāo)志與監(jiān)控終端、車廂規(guī)格與密閉
- 《慢性阻塞性肺疾病的診斷與治療》課件
- 衛(wèi)生院用電安全知識培訓(xùn)
- 七八年級的英語單詞
- 舞臺使用合同范例
- 2024年面向社會公開招聘警務(wù)輔助人員報名信息表
- 《地區(qū)智能電網(wǎng)調(diào)度技術(shù)支持系統(tǒng)應(yīng)用功能規(guī)范》
- 2024中國類風(fēng)濕關(guān)節(jié)炎診療指南
- 11294營銷管理-國家開放大學(xué)2023年1月至7月期末考試真題及答案(共2套)
- 12-重點幾何模型-手拉手模型-專題訓(xùn)練
評論
0/150
提交評論