應(yīng)用軟件設(shè)計(jì)和功能實(shí)現(xiàn)說明文檔_第1頁
應(yīng)用軟件設(shè)計(jì)和功能實(shí)現(xiàn)說明文檔_第2頁
應(yīng)用軟件設(shè)計(jì)和功能實(shí)現(xiàn)說明文檔_第3頁
應(yīng)用軟件設(shè)計(jì)和功能實(shí)現(xiàn)說明文檔_第4頁
應(yīng)用軟件設(shè)計(jì)和功能實(shí)現(xiàn)說明文檔_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1車載監(jiān)控系統(tǒng)概述整套監(jiān)控系統(tǒng)將包括車載設(shè)備、網(wǎng)絡(luò)服務(wù)器、客戶端三大組成部分??蛻舳?通過服務(wù)器的中轉(zhuǎn)與車載設(shè)備間接通信,以實(shí)現(xiàn)從車載設(shè)備接收監(jiān)控信息和向車 載設(shè)備發(fā)送控制指令等。所預(yù)計(jì)的主要功能將包括視頻音頻監(jiān)控, 酒精檢測,傳感器報(bào)警,語音對講,遠(yuǎn)程云臺控制等。車載設(shè)備通過3G無線數(shù)據(jù)模塊無線接入網(wǎng)絡(luò),以實(shí)現(xiàn)車載移動(dòng)監(jiān)控。外接設(shè)備攝像機(jī)酒精檢測傳感器車載處理設(shè)備流媒體采集處理模塊數(shù)據(jù)存儲模塊監(jiān)測報(bào)警模塊流媒體播放模塊遠(yuǎn)程視頻 監(jiān)控模塊遠(yuǎn)程控制 模塊語音對講 模塊服務(wù)器流媒體接收模塊指令轉(zhuǎn)發(fā)模塊語音流轉(zhuǎn)發(fā)模塊數(shù)據(jù)庫管理模塊用戶管理模塊流媒體轉(zhuǎn)發(fā)模塊指令轉(zhuǎn)發(fā)模塊語音流接收模塊y客戶端Du流媒體

2、接 收模塊遠(yuǎn)程控制 模塊語音對講 模塊流媒體播 放模塊音頻采集 處理模塊系統(tǒng)部署圖整個(gè)系統(tǒng)部署結(jié)構(gòu)如圖,其中:車載設(shè)備連接模擬攝像機(jī), 并通過 3G 數(shù)據(jù)模塊撥號連接網(wǎng)絡(luò)。 實(shí)現(xiàn)視頻音頻采集,可以把實(shí)時(shí)音頻視頻發(fā)送至服務(wù)器。并且可以掛接硬盤存儲設(shè)備,把采集的視頻和音頻存儲至硬盤。存儲的視頻可通過網(wǎng)絡(luò)點(diǎn)播,并可以通過模擬輸出端口直接把存儲的視頻音頻輸出到電視機(jī)進(jìn)行播放,播放時(shí)有圖形操作界面。車載設(shè)備的通過帶酒精度傳感器的外接設(shè)備進(jìn)行酒精檢測。酒精檢測后將檢測數(shù)值傳到服務(wù)器,并發(fā)送提醒短信到用戶手機(jī)。在本地對酒精值進(jìn)行分析 和聲音播報(bào)。車載設(shè)備的報(bào)警傳感器安裝在需要的位置, 檢測到非法入侵時(shí), 可

3、通過 3G 模塊以發(fā)送手機(jī)短信的方法通知用戶。車載設(shè)備可從服務(wù)器接收音頻數(shù)據(jù)并且進(jìn)行播放。服務(wù)器可將車載設(shè)備的視頻音頻數(shù)據(jù)轉(zhuǎn)發(fā)至客戶端,可以把來自客戶端的指 令信息和音頻數(shù)據(jù)轉(zhuǎn)發(fā)至車載設(shè)備??蛻舳丝山邮找曨l音頻數(shù)據(jù)并進(jìn)行播放,可以控制車載設(shè)備的攝像機(jī)云臺, 可以通過話筒向車載設(shè)備講話??蛻舳伺c網(wǎng)絡(luò)服務(wù)器邏輯分開, 服務(wù)器可以同時(shí)連接多個(gè)車載設(shè)備和多個(gè)客戶端。并把每個(gè)客戶端與該客戶的若干設(shè)備對應(yīng)。根據(jù)實(shí)際需要,PC客戶端也可以并入服務(wù)器系統(tǒng)。1.1 系統(tǒng)功能流程1.服務(wù)器監(jiān)聽連接請求,服務(wù)器分別通過針對雙方的 TCP空制端口監(jiān)聽來自監(jiān) 控前端和來自客戶端的TCP連接。2. 前端設(shè)備注冊,當(dāng)有監(jiān)控

4、前端連接到服務(wù)器后,監(jiān)控前端會發(fā)送注冊指令信息到服務(wù)器,指令信息中的數(shù)據(jù)區(qū)包含設(shè)備號信息。 并連接到語音流轉(zhuǎn)發(fā) TCP端口。服務(wù)器將該設(shè)備注冊為在線設(shè)備。.7.8.9.客戶端登陸,當(dāng)客戶端連接到服務(wù)器后,客戶端會發(fā)送指令信息到服務(wù)器,指令信息中的數(shù)據(jù)區(qū)包含用戶名和密碼。服務(wù)器需對登陸請求進(jìn)行處理,發(fā) 送應(yīng)答信息,接受或者拒絕。若拒絕,應(yīng)答指令中數(shù)據(jù)區(qū)包含錯(cuò)誤信息,用 戶名密碼錯(cuò)誤或者設(shè)備被占用等。登陸成功后向服務(wù)器連接視音頻流接收TCP端口,此端口校驗(yàn)成功后連接。并開啟一個(gè) UDP端口監(jiān)聽來自該客戶端的語音流。用戶設(shè)備列表,用戶成功登陸后,服務(wù)器需對該用戶有權(quán)限訪問的在線設(shè)備列表

5、,并將列表發(fā)送至客戶端。指令信息中的數(shù)據(jù)區(qū)中存放設(shè)備列表信息。用戶指令轉(zhuǎn)發(fā),用戶對某個(gè)前端發(fā)送控制指令時(shí),將指令轉(zhuǎn)發(fā)到對應(yīng)的監(jiān)控 前端。視音頻傳輸,當(dāng)服務(wù)器接收到視頻請求指令后,服務(wù)器開啟TCP端口監(jiān)聽來自前端的連接請求。前端設(shè)備通過此 TCP端口連接服務(wù)器,服務(wù)器接收到來自監(jiān)控前端的音頻、視頻流時(shí),通過視頻音頻流轉(zhuǎn)發(fā)專用TCP端 口,將數(shù)據(jù)轉(zhuǎn)發(fā)至對應(yīng)的客戶端。用戶指令處理,當(dāng)從客戶端對服務(wù)器發(fā)送指令時(shí),服務(wù)器接收并處理。例如 用戶修改密碼,數(shù)據(jù)區(qū)會包括新的密碼,服務(wù)器需要進(jìn)行數(shù)據(jù)庫更新。語音對講,當(dāng)收到語音對講指令時(shí),服務(wù)器開啟一個(gè)UDP端口監(jiān)聽來自客戶 端的數(shù)據(jù)流,并通過語音流轉(zhuǎn)發(fā)專用 T

6、CP端 口轉(zhuǎn)發(fā)至對應(yīng)的前端。斷開連接,TCP連接斷開后,注銷設(shè)備,并通過該端口繼續(xù)監(jiān)聽。1.2數(shù)據(jù)流程圖灰色底紋字體表示的數(shù)據(jù)服務(wù)器不做處理,只轉(zhuǎn)發(fā)數(shù)據(jù)。監(jiān)控前端服務(wù)器發(fā)送注冊信息 接收控制指令TCP監(jiān)控前端注冊 轉(zhuǎn)發(fā)控制指令接收語音流TCP轉(zhuǎn)發(fā)語音流輸出接收視頻流TCP視頻流音頻流音頻流、八、.山、1_- 刖端父互設(shè)備ID客戶端交互客戶端用戶校驗(yàn)登陸用戶管理發(fā)送設(shè)備列表接收控制指令TCP登陸服務(wù)器發(fā)送用戶指令接收設(shè)備列表發(fā)送控制指令轉(zhuǎn)發(fā)視頻流音頻流TCP接收視頻流音頻流接收語音流UDP發(fā)送語音流數(shù)據(jù)庫用戶信息:用戶ID登陸密碼所有權(quán)限車載視頻監(jiān)控系統(tǒng)的數(shù)據(jù)流程圖應(yīng)用軟件層車載監(jiān)控前端系統(tǒng)架構(gòu)

7、硬件平臺硬件層視頻音頻處理芯片傳感器模擬攝像機(jī)2車載前端方案概述車載設(shè)備配備視音頻處理芯片,可以連接最多4路攝像機(jī),可連接GPS設(shè)備和報(bào)警傳感器等設(shè)備,在Linux系統(tǒng)上運(yùn)行車載監(jiān)控端的應(yīng)用程序,實(shí)現(xiàn)各功能模塊。通過3G無線數(shù)據(jù)模塊聯(lián)網(wǎng),與服務(wù)器進(jìn)行連接。并通過服務(wù)器把與客戶 端進(jìn)行數(shù)據(jù)交互,包括音視頻流的發(fā)送,指令消息的收發(fā),音頻數(shù)據(jù)的接收。車 載設(shè)備在客戶端請求任一路或多路實(shí)時(shí)視頻音頻時(shí),將視頻音頻編碼后進(jìn)行封 裝,通過服務(wù)器轉(zhuǎn)發(fā)給客戶端;也可應(yīng)客戶端請求查找并調(diào)用本地存儲的視頻音頻數(shù)據(jù),發(fā)送至客戶端??蛻舳丝山邮諄碜钥蛻舳说囊纛l數(shù)據(jù)并解碼播放。設(shè)備啟動(dòng)時(shí)或接受到客戶端指令時(shí),會進(jìn)行酒精檢

8、測。系 統(tǒng) 軟 件 層3G數(shù)據(jù)傳輸設(shè)備車載設(shè)備系統(tǒng)架構(gòu)圖.5.6.8.前端軟件功能模塊視頻處理模塊,實(shí)現(xiàn)多路實(shí)時(shí)視頻數(shù)據(jù)采集、圖像處理、基于 H.264 技術(shù)的編解碼壓縮與數(shù)據(jù)存儲;可進(jìn)行存儲數(shù)據(jù)的查找和調(diào)用??赏ㄟ^模擬視頻輸 出端口對存儲的視頻進(jìn)行播放。車載設(shè)備從攝像機(jī)采集視頻音頻數(shù)據(jù),并將 每一個(gè)攝像機(jī)獲取的視頻數(shù)據(jù)縮放為 2 種分辨率視頻流, 一路高清視頻數(shù)據(jù) 壓縮后的數(shù)據(jù)保存在本地硬盤, 另外一路較低分辨率的可壓縮后通過網(wǎng)絡(luò)傳 輸?shù)椒?wù)器。音頻處理模塊,實(shí)現(xiàn)多路實(shí)時(shí)音頻數(shù)據(jù)采集,基于 G.711-u 技術(shù)的編解碼壓 縮,編碼后的數(shù)據(jù)進(jìn)行本地存儲,也可通過網(wǎng)絡(luò)傳輸;存儲數(shù)據(jù)

9、的查找和調(diào) 用。可通過模擬音頻輸出端口對存儲的音頻進(jìn)行播放。網(wǎng)絡(luò)通信模塊,設(shè)備啟動(dòng)時(shí)通過 3G 數(shù)據(jù)模塊使用 ppp 協(xié)議撥號接入網(wǎng)絡(luò), 與網(wǎng)絡(luò)服務(wù)器進(jìn)行連接。把數(shù)據(jù)進(jìn)行封裝,通過服務(wù)器與客戶端間接通信, 進(jìn)行數(shù)據(jù)交互。并可通過 AT 指令發(fā)送手機(jī)短信。網(wǎng)絡(luò)指令處理模塊,系統(tǒng)啟動(dòng)后采用 TCP 協(xié)議向服務(wù)器連接,建立 TCP 指 令通道,通道建立后先向服務(wù)器發(fā)送注冊信息。之后進(jìn)行監(jiān)聽,從服務(wù)器接 收轉(zhuǎn)發(fā)自客戶端的指令,并進(jìn)行處理。云臺控制模塊,接受到云臺控制指令后, 進(jìn)行處理。采用 RS485 通信接口通 信控制云臺,實(shí)現(xiàn)云臺控制。酒精檢測模塊,在設(shè)備啟動(dòng)后或接到客戶端的指令后,進(jìn)行酒精檢測。

10、酒精檢測后將檢測數(shù)值傳到服務(wù)器,并發(fā)送提醒短信到用戶手機(jī)。并在本地對酒 精值進(jìn)行分析和聲音播報(bào)。自動(dòng)報(bào)警模塊,紅外傳感器被觸發(fā)后,系統(tǒng)可檢測到并經(jīng)由 3G 模塊發(fā)送報(bào) 警手機(jī)短信。語音對講模塊,可接收來自客戶端的語音流,采用 G.711-u 算法解碼并實(shí)現(xiàn)播放。7.4. 軟件結(jié)構(gòu)與功能實(shí)現(xiàn)說明PC客戶端功能概述應(yīng)用軟件采用多線程實(shí)現(xiàn), Xxx_tsk.c 中包含每個(gè)獨(dú)立線程。1.int xxx_tskCreate( CAPTURE_CreatePrm *prm) 創(chuàng)建線程結(jié)構(gòu),為線程分配內(nèi)存。OSA_cmemAlloc() 申請內(nèi)存空間。OSA_cmemAllocCached () 申請內(nèi)存空

11、間 (緩存模式 )。OSA_cmemGetPhysAddr() 映射物理地址。2.int xxx_tskDelete() 清除線程占用的內(nèi)存。OSA_cmemFree() 釋放內(nèi)存區(qū)。3.int xxx_tskRun() 線程處理入口函數(shù)Int xxx_tskMain() 線程的主函數(shù)OSA_msgGetPrm() 讀取指令存儲隊(duì)列OSA_tskWaitMsg() 監(jiān)聽線程控制指令OSA_tskAckOrFreeMsg() 清空指令存儲區(qū)當(dāng)前指令4.Int xxx_sendCmd() 發(fā)送線程控制指令OSA_mbxSendMsg() 發(fā)送指令到指令存儲區(qū)5.int xxx_create(xxx

12、_CreatePrm *prm) 創(chuàng)建線程OSA_tskCreate() 創(chuàng)建線程,運(yùn)行處理主函數(shù)OSA_mbxCreate() 創(chuàng)建線程指令存儲隊(duì)列int xxx_delete() 刪除線程OSA_tskDelete() 刪除線程6.OSA_mbxDelete()刪除線程指令存儲區(qū)視頻米集視頻處理的實(shí)現(xiàn)涉及3個(gè)線程。視頻采集線程、視頻編碼線程和存儲處理線程。圖4-1視頻處理模塊流程圖1.2.3.Cap ture_tsk.c中是視頻采集線程的實(shí)現(xiàn),包括視頻數(shù)據(jù)采集和縮放。通過 MCVIP_getBuf(),MCVIP_getBuflnfo()兩個(gè)函數(shù)獲取經(jīng) tvp5158 芯片采集得到的yuv

13、422圖像數(shù)據(jù)。實(shí)現(xiàn)VIDIOC_DQBUF,出隊(duì)列以取得已采集數(shù) 據(jù)的幀緩沖,取得原始采集數(shù)據(jù)。再通過MCVIP_putBufO實(shí)現(xiàn)VIDIOC_QBUF,將緩沖重新入隊(duì)列尾,這樣可以循環(huán)采集。CAP TURE_tsk ProcessFrame(中做的是視頻圖像的縮放。通過ENCODE_getEmptyBuf()申請視頻編碼緩沖隊(duì)列中的空 buffer,將輸出buffer設(shè)置為編碼壓縮的輸入?yún)^(qū)。ENCODE_putFullBuf()將存儲有處理后數(shù)據(jù)的buffer入視頻編碼隊(duì)列。4. 支持 2 路輸出縮放,可做雙碼流輸出。5. CAPTURE_tskCalcReszClkDiv() 傳入?yún)?shù)

14、。6. DRV_reszRun()進(jìn)行縮放??s放后的數(shù)據(jù)在 ENCODE_getEmptyBuf()申請的buffer 中等待壓縮。視頻壓縮En code_tsk.c中為視頻壓縮線程的實(shí)現(xiàn)。En code_tsk.c中采集縮放后通過Encode_sendCmd(發(fā)送ENCODE_CMD_RUN指令,控制壓縮函數(shù)的執(zhí)行壓縮多幀圖像。1.設(shè)置壓縮分辨率vidEncCreatePrm.widthvidEncCreatePrm.height vidEncCreatePrm.offsetHvidEncCreatePrm.offsetV2.3.設(shè)置壓縮比特率,即編碼碼率pChInfo->newBit

15、rate =通過OSA_bufGetFull()和OSA_bufGetBuflnfo()申請視頻編碼緩沖隊(duì)列內(nèi)的一個(gè)buffer出隊(duì)列,作為編碼器輸入buffer。編碼后OSA_bufPutEmpty()將緩沖區(qū)入編碼緩沖隊(duì)列。4.WRITER_getEmptyBuf()申請存儲緩沖隊(duì)列中的空 buffer,將輸出buffer設(shè)置 為存儲的輸入?yún)^(qū)。 WRITER_putFullBuf() 將存儲有處理后數(shù)據(jù)的 buffer 入存儲隊(duì)列。5.ALG_vidEncRun()進(jìn)行壓縮。壓縮后的數(shù)據(jù)在 WRITER_getEmptyBuf()申請的buffer 中等待存儲和網(wǎng)傳。音頻米集壓縮1.2.3

16、.4.音頻米用G.711-方式編碼。在Audio_tsk.c中為音頻米集編碼線程。 gAUDIO_ctrl.pCreatePrm()為 MCVIP_CreatePrm()類型的結(jié)構(gòu)體,其中包含了 聲音參數(shù)設(shè)置。AUDIO_Record()調(diào)用 MCVIP_audioRecord()獲取音頻數(shù)據(jù)。AudioWRITER_getEmptyBuf()申請音頻存儲緩沖隊(duì)列中的空 buffer,將輸出 buffer設(shè)置為存儲的輸入?yún)^(qū)。AudioWRITER_putFullBuf()將存儲有處理后數(shù) 據(jù)的buffer入音頻存儲隊(duì)列。AUDIO_audioE ncode()壓縮音頻數(shù)據(jù)。編碼后的數(shù)據(jù)在 Au

17、dioWRITER_getEmptyBuf()申請的buffer中等待壓縮。流媒體存儲Writer_tsk.c中為視頻和音頻的存儲線程的實(shí)現(xiàn)。En code_tsk.c中編碼結(jié)束后通過 WRITER_sendCmd()發(fā)送 WRITER_CMD_RUNAUDWRITER_CMD_RUN指令控制流媒體存儲線程中存儲函數(shù)的執(zhí)行。1.每一幀視頻編碼后 WRITER_putFullBuf()調(diào)用WRITER_sendCmd()發(fā)送指令WRITER_CMD_RUN 到指令隊(duì)列。WRITER_tskRun()中通過OSA_bufGetFull()和OSA_bufGetBuflnfo()申請視頻存儲緩沖隊(duì)列

18、內(nèi)的一個(gè)2.buffer出隊(duì)列,存儲后調(diào)用 OSA_bufPutEmpty()將存儲緩沖區(qū)入視頻存儲隊(duì) 列。每一幀視頻編碼后 AudioWRITER_putFullBuf()調(diào)用 WRITER_sendCmd()發(fā) 送指令 AUDWRITER_CMD_RUN 到指令隊(duì)列。AudWRITER_tskRun()中通 過OSA_bufGetFull()和OSA_bufGetBuflnfo()申請音頻存儲緩沖隊(duì)列內(nèi)的一 個(gè)buffer出隊(duì)列,存儲后調(diào)用OSA_bufPutEmpty()將存儲緩沖區(qū)入音頻存儲 隊(duì)列。3.WRITER_fileSaveRu n()進(jìn)行流媒體存儲。在存儲的同時(shí),調(diào)用函數(shù) v

19、ideostreamFu nc(進(jìn)行網(wǎng)絡(luò)視頻傳輸,audiostreamFu nc(進(jìn)行網(wǎng)絡(luò)音頻傳輸。網(wǎng)絡(luò)通信流媒體通信線程執(zhí)行待指令、*向服務(wù)器指定端口連接”連接到服務(wù)、 、器/是音視頻處理線程 通過此socket發(fā)送數(shù)據(jù)”接到停止0/等待指令接到指令*向服務(wù)器指定 端口連接語音通信線 程執(zhí)行1否接到服接收音頻數(shù)據(jù)并解碼播放否”接到停止指 令圖5-4指令通信處理流程圖Rawsockio.c中是網(wǎng)絡(luò)通信的實(shí)現(xiàn)。LSOCK為指令通信通道。CSOCK為語音接收通道。 DSOCK 為流媒體發(fā)送通道。1. MainSocketConnect()中創(chuàng)建了 3個(gè)TCP套接字。設(shè)置 3個(gè)套接字的參數(shù)。con

20、n ect_to_server(中實(shí)現(xiàn)了本地向服務(wù)器的連接。2. ReadSocketData(為建立連接后對數(shù)據(jù)接收處理的實(shí)現(xiàn)。LSOCK對接收的數(shù)DSOCK 不做據(jù)進(jìn)行處理,通過*msgfunccmd函數(shù)指針調(diào)用指令處理函數(shù)。CSOCK調(diào)用AUDIO_tskTalkBack() 對語音流數(shù)據(jù)進(jìn)行循環(huán)接收,解碼播放。接受,建立后等待通過該通道發(fā)送流媒體數(shù)據(jù)。指令處理Msghandler.c 中定 義了網(wǎng)絡(luò)指令 與指令處 理入口函數(shù) 的映射表 。通過 *msgfu nccmd調(diào)用指令對應(yīng)的指令處理函數(shù)。 P rocess.c中是各指令處理函數(shù)的 實(shí)現(xiàn)。流媒體傳輸1.2.Vstream.c 文

21、件 中 videostreamFunc() 為 視 頻 網(wǎng) 絡(luò) 傳 輸 的 實(shí) 現(xiàn) 。SystemI nfo.StreamE nable為視頻網(wǎng)絡(luò)傳輸?shù)臉?biāo)識開關(guān)。當(dāng)接受到視頻網(wǎng)絡(luò)傳 輸?shù)闹噶畈⒔鬏斖ǖ揽?,變開啟視頻傳輸。Astream.c 文件中 audiostreamFu nc()為音頻網(wǎng)絡(luò)傳輸?shù)?實(shí)現(xiàn)。SystemI nfo.aStreamE nable為音頻網(wǎng)絡(luò)傳輸?shù)臉?biāo)識開關(guān)。當(dāng)接受到音頻網(wǎng)絡(luò)傳 輸?shù)闹噶畈⒔鬏斖ǖ揽?,便開啟音頻傳輸。3.數(shù)據(jù)包格式數(shù)據(jù)包頭為 3 字節(jié):typedef struct _TEST_PACK_HEADunsigned char FrameType; /幀格式 視頻 I 幀、 P 幀、音頻幀unsigned short PackLoadLength;/載荷數(shù)據(jù)長度TEST_PACK_HEAD;載荷數(shù)據(jù)長度最大為 1024字節(jié)。載荷數(shù)據(jù)超過 1021 字節(jié)的

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論