前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的插件技術(shù)論文主題范文,僅供參考,歡迎閱讀并收藏。
1、防水防潮處理
精密電子儀器對工作環(huán)境的要求都很高,交換機(jī)的工作環(huán)境要求機(jī)房環(huán)境必須干燥、不潮濕。要通風(fēng)條件良好,溫度適宜。最好能配備相應(yīng)的恒溫恒濕和通風(fēng)設(shè)備,盡量擴(kuò)大交換機(jī)工作空間,以利于交換機(jī)工作時散發(fā)熱量。同時要嚴(yán)禁安裝在陽光直射的環(huán)境下。
2、防塵防雷處理
要有專人進(jìn)行維護(hù),經(jīng)常擦拭交換機(jī)上的灰塵,以防止雜物進(jìn)入交換機(jī)機(jī)體內(nèi)部引起短路而引發(fā)系統(tǒng)故障。要保證交換機(jī)防雷設(shè)施完好,接地線牢固。同時交換機(jī)工作環(huán)境內(nèi)不能有腐蝕氣體或強(qiáng)電磁干擾。工作環(huán)境內(nèi)要避免經(jīng)常振動,避免接近高頻機(jī)器,避免接近電子焊接器或收音機(jī)以及手機(jī)天線類,這樣對于交換機(jī)使用壽命來說有很大的幫助。
3、注意細(xì)節(jié)
交換機(jī)一般來說,其設(shè)計都是長期持續(xù)工作的,無異常情況下沒必要進(jìn)行定期斷電。交換機(jī)經(jīng)常斷電反而會實則其反,因為開機(jī)瞬間的沖擊電流會大大高于平時工作穩(wěn)定電流,開機(jī)時大電流的沖擊下。反而提高了電子原件損壞的機(jī)率,這是所有電器都有的共性,所以沒必要經(jīng)常斷電。同時應(yīng)該注意,盡可能不要在機(jī)房做維護(hù)外的其他事件,嚴(yán)禁在機(jī)房里吃東西或抽煙等。
二、對交換機(jī)進(jìn)行隨時檢查和定期維護(hù)是保證交換機(jī)長期穩(wěn)定工作的前提
隨時悉心觀察交換機(jī)的工作狀態(tài)是作為維護(hù)人員必須具備的職業(yè)素質(zhì)。只有細(xì)心觀察,才能及時發(fā)現(xiàn)問題,及時采取處置措施。
1、經(jīng)常性觀察交換機(jī)運(yùn)行狀態(tài)和運(yùn)行環(huán)境
首先從查看后臺服務(wù)器及維護(hù)終端界面開始,看是否有當(dāng)前報警或歷史報警,細(xì)心觀察界面切換能否做到準(zhǔn)確及時。同時要認(rèn)真檢查機(jī)架溫度,看是否存在明顯過高等現(xiàn)象。機(jī)房內(nèi)有沒有異味和線路燒焦等。每次檢查要做好相應(yīng)的設(shè)備工作狀態(tài)記錄,以便于在維修上提供參考。
2、經(jīng)常性觀察和檢查前后臺通訊設(shè)備運(yùn)行工作狀況
首先要檢查前臺MP主備狀態(tài),查看界面是否存在通訊中斷、通訊斷斷續(xù)續(xù)等現(xiàn)象。MP文件顯示返回結(jié)果應(yīng)該準(zhǔn)確和及時,如果輸入命令超時或者返回的結(jié)果緩慢,則需要進(jìn)一步進(jìn)行診斷。這就要在后臺報警界面的機(jī)架狀態(tài)圖中點擊備用MP,在彈出的狀態(tài)圖中連續(xù)多次點擊狀態(tài)顯示按鈕,觀察顯示工作狀態(tài)確定是否存在異常。其次是查看后臺服務(wù)器和各終端工作狀態(tài),簡單修改服務(wù)器和操作維護(hù)終端,檢查命令執(zhí)行情況是否存在異常。同時要經(jīng)常對報警狀況和其他部位工作狀況進(jìn)行測試檢查,這樣才能有效保證交換機(jī)工作的穩(wěn)定。
三、交換機(jī)常見故障及排除方法
交換機(jī)發(fā)生故障,我們要認(rèn)真分析原因,不能盲目地在情況不明的情況下下猛藥,要找到故障原因,明確維修步驟后再采取修理措施。通常運(yùn)用的檢查確定故障的方法有排除法,即盡可能羅列出故障原因并逐一排除;對比法,即對比同類正常運(yùn)行的設(shè)備,找出帶病設(shè)備的異常之處;替換法,用相同品牌型號設(shè)備替換下帶病設(shè)備,找出設(shè)備的故障點。三種方法各有所長,最常用的是替換法,有時需要三種方法并用,會取得很好的診斷效果,這要我們維修人員因地制宜,靈活運(yùn)用。交換機(jī)故障主要分兩大類,一類是硬件故障,一類是軟件故障。其中硬件故障大致有以下幾種:包括電源線纜、電路板、端口和背板故障。軟件上大致包括系統(tǒng)錯誤、配置不當(dāng)或其他外部因素諸如病毒入侵這幾類故障。
1、電源故障診斷與排除
在排除插頭電源線連接問題后,如果開啟交換機(jī)出現(xiàn)風(fēng)扇和指示燈不工作,基本可以斷定為電源故障,產(chǎn)生此故障的原因大致為線路老化、電壓不穩(wěn)等,這樣就只能用更換或維修電源來排除故障。
2、電路板故障診斷與排除
由于電路板元器件受損導(dǎo)致局域網(wǎng)內(nèi)部分設(shè)備不能訪問服務(wù)器,或出現(xiàn)連接斷續(xù)情況,在排除網(wǎng)卡布線等故障后,基本可以確定為電路板故障,出現(xiàn)此情況,多數(shù)要返廠維修或廠家派專業(yè)人員進(jìn)行排除。
3、端口故障診斷與排除
由于端口松動或臟蝕,導(dǎo)致局部端口不能聯(lián)網(wǎng),但整個網(wǎng)絡(luò)工作正常,這樣基本上可以斷定為端口故障,清除端口贓物或更換端口即可,同時要注意保持好交換機(jī)工作環(huán)境衛(wèi)生。
4、背板故障診斷與排除
因為潮濕、高溫、雷擊造成電路板斷路,癥狀表現(xiàn)為外部供電環(huán)境正常,而機(jī)體內(nèi)各模塊都不能正常工作了,這種現(xiàn)象多數(shù)為背板故障,要在平時維護(hù)中保持交換機(jī)工作環(huán)境的溫濕度,加強(qiáng)防雷等措施。
5、系統(tǒng)錯誤故障診斷與排除
由于設(shè)計等原因,出現(xiàn)的交換機(jī)丟包、錯包或滿載等現(xiàn)象,導(dǎo)致交換機(jī)系統(tǒng)全方位常見故障,影響整個局域網(wǎng)運(yùn)行,這就是明顯的系統(tǒng)錯誤故障。這通常要維護(hù)人員注意關(guān)注相關(guān)生產(chǎn)廠家的升級信息,隨時對軟件進(jìn)行升級。
6、配置不當(dāng)故障診斷與排除
配置不當(dāng)通常是由于未詳盡通讀使用說明而導(dǎo)致的,明顯表現(xiàn)在連接交換機(jī)端口,無法接通局域網(wǎng),但電腦桌面圖標(biāo)仍顯示網(wǎng)絡(luò)連通。只要按說明進(jìn)行配置即可。
江西省根據(jù)標(biāo)準(zhǔn)文本先預(yù)撥30%啟動資金,項目實施中根據(jù)執(zhí)行進(jìn)度憑實際支出有效單據(jù)撥付30%資金,項目驗收合格后撥付30%資金;預(yù)留的10%作為質(zhì)量保證金,待區(qū)市級財政驗收后再行撥付。江蘇省根據(jù)簽訂后的項目合同書先撥付60%資金,中期考評合格后撥付30%資金,驗收合格后再撥付尾款。需要說明的是,該省規(guī)定企業(yè)對項目的投入必須高于財政投入,企業(yè)承諾的資金到位后,財政才撥付尾款。四是重點式投入。為了解決支持項目多而散、資金規(guī)模小的問題,遼寧省通過調(diào)研和專家論證,結(jié)合本地農(nóng)業(yè)產(chǎn)業(yè)發(fā)展實際,確立了支持的主推技術(shù),改變了過去由市縣財政申報,省級部門組織專家評審的做法,使有限的財政資金發(fā)揮了集聚效應(yīng)。2010年遼寧省通過重點式投入方式,確立了糧食生產(chǎn)、畜禽養(yǎng)殖和特色產(chǎn)業(yè)三大類14項主推技術(shù),申報的項目數(shù)比改革前減少了23個。管理機(jī)制不斷完善。一是建立項目資金管理辦法。多數(shù)省份根據(jù)中央財政的要求,結(jié)合本地實際,制定了省級農(nóng)技推廣資金管理辦法,對資金使用和項目管理等提出了明確要求,形成了“制度管錢、制度管事、制度管人”的“三管”局面,開創(chuàng)了農(nóng)技推廣工作有法可依、有章可循的良好環(huán)境。湖北省要求項目縣(市)制定相應(yīng)的管理辦法,進(jìn)一步明確了項目縣(市)的工作規(guī)程。黑龍江省創(chuàng)建了“鄉(xiāng)財鄉(xiāng)用縣監(jiān)管”的管理平臺,實行涉農(nóng)專項由鄉(xiāng)鎮(zhèn)財政統(tǒng)一撥付、統(tǒng)一管理的運(yùn)行機(jī)制,制定了資金管理辦法,強(qiáng)化了鄉(xiāng)鎮(zhèn)財政的監(jiān)管力度。此外,還建立了“部門提、財政審、政府批”齊抓共管的管理模式,充分利用業(yè)務(wù)部門專業(yè)優(yōu)勢,開展農(nóng)技推廣工作。山東省實行了財政資金直撥到縣的管理方式,通過特設(shè)專戶將農(nóng)技推廣資金直接撥付到縣級財政,減少了資金撥付環(huán)節(jié),避免了資金擠占、挪用和滯留的現(xiàn)象發(fā)生。二是科學(xué)規(guī)劃項目實施方案。多數(shù)省份確立了省級立項的管理機(jī)制,根據(jù)本省農(nóng)業(yè)優(yōu)勢產(chǎn)業(yè)發(fā)展規(guī)劃和區(qū)域布局,研究制定項目實施方案,明確當(dāng)年農(nóng)技推廣資金項目支持的方向、補(bǔ)助對象、實施范圍等內(nèi)容,建立起科學(xué)設(shè)計、統(tǒng)籌規(guī)劃的項目事前管理模式。江西、湖北等省份將制約當(dāng)?shù)剞r(nóng)業(yè)優(yōu)勢產(chǎn)業(yè)發(fā)展的薄弱環(huán)節(jié)作為支持的重點,實現(xiàn)了項目上下游完整銜接、無痕接縫的目標(biāo)。江西省支持當(dāng)?shù)啬毘缺ur技術(shù)推廣應(yīng)用,有效促進(jìn)了臍橙產(chǎn)業(yè)鏈的持續(xù)延伸。遼寧省還在實施方案中進(jìn)一步明確了支持的主推技術(shù),這種做法既明確了支持的重點,又降低了項目評審的工作成本,使財政資金花得更明白、用得更放心。三是嚴(yán)格監(jiān)管項目實施過程。各地高度重視開展農(nóng)技推廣項目的責(zé)任制,采取多種措施,調(diào)動項目承擔(dān)單位等多方面積極性,對項目實施過程進(jìn)行嚴(yán)格監(jiān)管,確保財政資金使用的安全性和有效性。湖北省建立了嚴(yán)格的項目管理責(zé)任制,按照“誰審批、誰建設(shè)、誰負(fù)責(zé)”的原則,對項目建設(shè)和資金管理出現(xiàn)問題的單位和個人從嚴(yán)處罰,并執(zhí)行處罰登記制度,在安排其他涉農(nóng)資金時,予以控制,切實做到了“管錢”“用錢”的責(zé)任風(fēng)險并存。遼寧省實行分級管理責(zé)任制,省財政廳與省直農(nóng)技推廣部門,省直農(nóng)技推廣部門與有關(guān)市、縣農(nóng)技推廣部門,有關(guān)市、縣農(nóng)技推廣部門與所涉及的農(nóng)民,分別簽訂了項目實施協(xié)議,形成了以農(nóng)技推廣部門為紐帶,財政資金與農(nóng)民有效銜接的聯(lián)動局面,確保農(nóng)技推廣工作的順利開展。黑龍江省通過項目監(jiān)理的管理方式,對農(nóng)技推廣項目實行全程監(jiān)理,由工程監(jiān)理擔(dān)負(fù)法定的質(zhì)量監(jiān)督責(zé)任人,確保工程質(zhì)量和發(fā)揮財政資金的使用效益。同時,還建立了招投標(biāo)、公示等制度,提高了財政資金項目管理的科學(xué)化、精細(xì)化,確保了項目實施的公開透明。四是有序開展項目績效考評。開展農(nóng)技推廣工作的終極目標(biāo)是農(nóng)民通過使用先進(jìn)適用安全的農(nóng)業(yè)技術(shù),增收致富。因此,各地高度重視農(nóng)技推廣項目取得的成效,強(qiáng)化以結(jié)果為導(dǎo)向的管理模式,建立績效考評機(jī)制,組織各級財政部門和農(nóng)技推廣部門對農(nóng)技推廣項目進(jìn)行考核驗收,并作為下年資金分配時的參考依據(jù),整體帶動了參與農(nóng)技推廣項目工作主體的積極性。江蘇省、吉林省還引入了第三方監(jiān)管單位,通過財政監(jiān)察部門、中介機(jī)構(gòu)對農(nóng)技推廣項目進(jìn)行考核驗收,體現(xiàn)了績效考評的公正性和公平性,扎實推進(jìn)了各地開展農(nóng)技推廣工作。此外,各地還認(rèn)真思考,在農(nóng)技推廣的方式方法、技術(shù)路線和經(jīng)營模式等方面大膽嘗試,一些地區(qū)從中摸索出了不少好的做法。遼寧省建立了財政、農(nóng)技推廣等部門與新聞媒體的聯(lián)席會議制度,通過電視、報刊等新聞媒體,將主推技術(shù)與媒體欄目有效對接,充分發(fā)揮媒體的社會影響力,推廣農(nóng)業(yè)技術(shù)。湖北省為加速農(nóng)業(yè)科技成果轉(zhuǎn)化,總結(jié)出從“區(qū)域試驗”到“基地示范”再到“大面積推廣應(yīng)用”的“三步走”模式,制定了“縣(市)首席專家—鄉(xiāng)鎮(zhèn)技術(shù)指導(dǎo)員—科技示范戶—輻射帶動戶”的農(nóng)技傳播路線,將先進(jìn)的農(nóng)業(yè)技術(shù)推廣普及到千家萬戶。江西省以農(nóng)民受益作為農(nóng)技推廣應(yīng)用的落腳點,通過扶持經(jīng)濟(jì)實力好、帶動能力強(qiáng)的省級龍頭企業(yè),按照“公司+農(nóng)戶”的經(jīng)營模式,采取示范的方式,帶動農(nóng)戶增收致富。
主要成效
(一)農(nóng)技推廣面不斷擴(kuò)大。科技是第一生產(chǎn)力。“十一五”時期,各地不斷探索研究先進(jìn)的農(nóng)業(yè)新技術(shù),擴(kuò)大農(nóng)業(yè)新技術(shù)的覆蓋面,提高了耕地單位面積產(chǎn)出效益,節(jié)約了人、財、物的投入,為促進(jìn)農(nóng)業(yè)增產(chǎn)、農(nóng)民增收提供了有力的技術(shù)支撐。遼寧省“十一五”時期推廣農(nóng)業(yè)新技術(shù)600項,推廣面積3000萬畝,覆蓋作物面積60%以上,農(nóng)業(yè)科技貢獻(xiàn)率達(dá)56%,對農(nóng)業(yè)總產(chǎn)值的貢獻(xiàn)率達(dá)40%。2010年,通過推廣土壤深松整地技術(shù),實施面積15萬畝,有效改善了土壤結(jié)構(gòu),提高了土壤肥力,玉米畝均增產(chǎn)18%~20%,糧食增產(chǎn)930萬公斤,取得經(jīng)濟(jì)效益1180余萬元。通過推廣馬鈴薯單膜、雙膜、三膜覆蓋高效復(fù)種糧食、油料和蔬菜作物等6項綜合技術(shù),提高馬鈴薯單產(chǎn)水平15%以上,畝均增收800~1500元。湖北省“十一五”時期加快推進(jìn)農(nóng)業(yè)新技術(shù)的推廣應(yīng)用,農(nóng)業(yè)科技貢獻(xiàn)率達(dá)54%,比2005年提高了4個百分點,加快了農(nóng)業(yè)現(xiàn)代化建設(shè)進(jìn)程。通過推廣地膜覆蓋技術(shù),每年推廣面積達(dá)5500萬畝以上,占農(nóng)作物種植面積的46.6%,平均畝產(chǎn)增加20%以上;通過推廣輕型簡化栽培技術(shù),有效適應(yīng)了農(nóng)村勞動力機(jī)構(gòu)變化的新形式,推廣面積7000萬畝,畝均節(jié)省用工15個,降低生產(chǎn)成本50元,畝均增收達(dá)180元。2010年,累計推廣各類種養(yǎng)模式、間套模式等面積3800萬畝,其中推廣稻蝦連作技術(shù)336萬畝,產(chǎn)蝦29萬噸,產(chǎn)值46.6億元;推廣稻鴨共育300萬畝,畝均增收152元,累計增收4.5億元。河南省“十一五”時期改革耕作制度,推廣間作套種技術(shù),提高土地周年生產(chǎn)力,糧食作物復(fù)種指數(shù)達(dá)到190%,為提升糧食綜合生產(chǎn)能力提供了有力的技術(shù)支撐。(二)良種覆蓋率不斷提高。種源是農(nóng)業(yè)生產(chǎn)的基礎(chǔ)?!笆晃濉睍r期,各地高度重視農(nóng)業(yè)新品種推廣應(yīng)用工作,不斷擴(kuò)大優(yōu)良品種的覆蓋率,加快新品種的更新?lián)Q代,推進(jìn)了農(nóng)業(yè)規(guī)?;a(chǎn)發(fā)展、優(yōu)勢產(chǎn)業(yè)向適宜地區(qū)定向聚集,促進(jìn)了農(nóng)業(yè)生產(chǎn)發(fā)展。河南省“十一五”時期主要農(nóng)作物良種覆蓋率達(dá)到95%。其中,優(yōu)質(zhì)糧食品種種植面積占糧食種植面積的70%以上(小麥、玉米、水稻的優(yōu)質(zhì)化率分別為71%、82%和94%)。此外,通過新品種的引進(jìn)、繁育和推廣普及,推動了畜牧業(yè)規(guī)模化生產(chǎn)發(fā)展,生豬、蛋雞和肉雞的規(guī)模養(yǎng)殖比重分別達(dá)69%、75%和97%。遼寧省“十一五”時期,通過推廣玉米、水稻、大豆等農(nóng)作物新品種1500個,推廣面積4570萬畝,更新面積4116萬畝,良種覆蓋率達(dá)到96.6%,實現(xiàn)了新增糧食、蔬菜、水果生產(chǎn)能力分別為150萬噸、350萬噸、60萬噸,新增經(jīng)濟(jì)效益達(dá)365.6億元,農(nóng)民人均增收800元。黑龍江省“十一五”時期以推廣應(yīng)用農(nóng)業(yè)新品種作為發(fā)展農(nóng)業(yè)的主要抓手,加速農(nóng)業(yè)科技成果轉(zhuǎn)化應(yīng)用,選育出農(nóng)作物新品種、新組合400個,主要農(nóng)作物良種覆蓋率由2005年的93%提高到98%以上,品種更新至少實現(xiàn)兩次,有效提高了糧食產(chǎn)量、改善了糧食的品質(zhì),為提高農(nóng)業(yè)綜合生產(chǎn)能力奠定了物質(zhì)基礎(chǔ)。(三)農(nóng)業(yè)綜合生產(chǎn)能力顯著提升。農(nóng)業(yè)綜合生產(chǎn)能力是衡量國家農(nóng)業(yè)發(fā)展水平的重要標(biāo)準(zhǔn)。各地“十一五”時期通過不斷提高農(nóng)業(yè)新品種的覆蓋率和擴(kuò)大農(nóng)業(yè)新技術(shù)的推廣面積,調(diào)整優(yōu)化了農(nóng)業(yè)內(nèi)部結(jié)構(gòu),提升農(nóng)業(yè)綜合生產(chǎn)能力,確保了農(nóng)產(chǎn)品有效供給、國家糧食安全和農(nóng)民持續(xù)增收。2010年,河南省糧食產(chǎn)量達(dá)到1087億斤,連續(xù)5年穩(wěn)定在1000億斤以上,連續(xù)7年創(chuàng)歷史新高,連續(xù)11年居全國首位;肉類、禽蛋、奶產(chǎn)量均居全國前列;農(nóng)機(jī)化水平顯著提高,農(nóng)機(jī)總動力達(dá)到10195.88萬千瓦,比2005年增長28.5%;農(nóng)民人均純收入5524元,比2005年增長69.3%。黑龍江省“十一五”時期,高度重視農(nóng)業(yè)技術(shù)推廣應(yīng)用和改善農(nóng)業(yè)生產(chǎn)環(huán)境,實現(xiàn)了糧食產(chǎn)量首次突破1000億斤大關(guān)。2010年,全省農(nóng)機(jī)總動力達(dá)到3784萬千瓦,比2005年增長69%。湖北省“十一五”時期實現(xiàn)了糧食連續(xù)5年增產(chǎn)豐收,2010年,全省糧食產(chǎn)量達(dá)到463.16億斤,比2005年增長6.4%;實現(xiàn)農(nóng)業(yè)增加值1969億元,比2005年增長82%;農(nóng)林牧漁業(yè)總產(chǎn)值3257億元,比2005年增長83.42%;農(nóng)民人均純收入5832.27元,比2005年增長88.2%;全省農(nóng)業(yè)機(jī)械化綜合應(yīng)用水平達(dá)到54%,耕地機(jī)整率超過75%。(四)農(nóng)村生態(tài)環(huán)境逐步改善。農(nóng)村生態(tài)環(huán)境好壞直接影響農(nóng)民的生產(chǎn)和生活?!笆晃濉睍r期,各地通過推廣應(yīng)用先進(jìn)適用的農(nóng)業(yè)技術(shù),不斷改善農(nóng)村生態(tài)環(huán)境。湖北省“十一五”時期通過推廣測土配方施肥技術(shù),提高了肥料利用率,減少了面源污染,累計推廣面積2.7億畝(次),受益農(nóng)戶800萬戶,實現(xiàn)小麥畝產(chǎn)增加24.6公斤、增長10.5%,水稻畝產(chǎn)增加45.3公斤、增長10%以上,每畝節(jié)約用肥3.6公斤,為農(nóng)民節(jié)本增收34億元。通過推進(jìn)沼氣建設(shè),促進(jìn)生態(tài)農(nóng)業(yè)發(fā)展,從1979年開始進(jìn)行沼氣建設(shè),截止到2010年累計建設(shè)沼氣300余萬戶,覆蓋率30%,每年為農(nóng)民節(jié)約燃料支出8億多元,利用沼渣、沼液減少農(nóng)本3.2億元,促進(jìn)農(nóng)民增收20元以上。通過利用沼氣和改廚房、廁所、畜禽圈舍等,凈化了農(nóng)村環(huán)境,使200多萬個農(nóng)村婦女?dāng)[脫了煙熏火燎的炊事環(huán)境。每年有效減排二氧化碳等氣體300萬噸,減排二氧化硫3萬噸。遼寧省“十一五”時期通過推廣設(shè)施蔬菜秸稈生物反應(yīng)堆技術(shù),使設(shè)施內(nèi)二氧化碳濃度提高2-4倍,氣溫提高1-2度,地溫提高2-3度,產(chǎn)品提前上市7-10天,收獲期延期15-20天,減少農(nóng)藥化肥使用量30%以上,畝產(chǎn)增加1311公斤,畝均節(jié)支300元,產(chǎn)值提高23%。通過推廣發(fā)酵床養(yǎng)豬技術(shù),2009-2010年養(yǎng)豬51.8萬頭,每年節(jié)省治理污水費777萬元,降低了養(yǎng)殖業(yè)對環(huán)境的污染,減少了疫病的發(fā)生,取得了顯著成效。(五)農(nóng)業(yè)標(biāo)準(zhǔn)化生產(chǎn)水平不斷提高。“十一五”時期多數(shù)省份充分發(fā)揮農(nóng)業(yè)技術(shù)的示范帶動效應(yīng),采取多種形式,提升農(nóng)業(yè)生產(chǎn)標(biāo)準(zhǔn)化水平。吉林省靖宇縣2009年組織實施了平貝母藥林糧間套作栽培技術(shù)項目,通過1000畝的基地示范建設(shè),帶動了周邊標(biāo)準(zhǔn)化種植面積6000畝,帶動農(nóng)戶600戶,戶均增收2.5萬元。吉林省汪清縣2010年組織實施了1800噸冷凍保鮮蔬菜加工項目,引進(jìn)先進(jìn)技術(shù)設(shè)備,通過“公司+農(nóng)戶”的方式,為市場提供優(yōu)質(zhì)速凍保鮮蔬菜,帶動周邊300多農(nóng)戶,戶均年增收4600元。遼寧省通過對每個項目制定技術(shù)要點和技術(shù)規(guī)程,提升了農(nóng)業(yè)標(biāo)準(zhǔn)化生產(chǎn)水平,朝陽市“十一五”時期,無公害農(nóng)產(chǎn)品、綠色食品和有機(jī)食品生產(chǎn)面積達(dá)到260萬畝;申報全國綠色食品原料標(biāo)準(zhǔn)化生產(chǎn)基地2個,基地面積達(dá)到60萬畝,有效地增強(qiáng)農(nóng)產(chǎn)品品質(zhì)和附加值。(六)農(nóng)民科技素質(zhì)顯著增強(qiáng)?!笆晃濉睍r期,各地積極采取集中培訓(xùn)、現(xiàn)場指導(dǎo)、技術(shù)咨詢等模式,開展農(nóng)民培訓(xùn)工作,有效增強(qiáng)了農(nóng)民學(xué)技術(shù)、用技術(shù)、懂技術(shù)的技能,提高了先進(jìn)適用農(nóng)業(yè)技術(shù)的普及率。黑龍江省“十一五”期間,通過入戶指導(dǎo),在備春耕生產(chǎn)、播種、田間管理、收獲、銷售五個重要農(nóng)業(yè)生產(chǎn)環(huán)節(jié)中,組織技術(shù)人員對核心農(nóng)戶進(jìn)行巡回指導(dǎo),解決生產(chǎn)中遇到的技術(shù)問題;通過發(fā)放培訓(xùn)卡、明白紙、技術(shù)手冊和技術(shù)光盤的培訓(xùn)模式,使農(nóng)民能夠隨時學(xué)到相關(guān)技術(shù),經(jīng)統(tǒng)計,“十一五”時期開展農(nóng)民培訓(xùn)三百余次,直接培訓(xùn)農(nóng)民10萬人,輻射群眾達(dá)到1000余萬人。吉林省2010開展了綜合性農(nóng)業(yè)科技示范園區(qū),示范輻射作用效果顯著。經(jīng)統(tǒng)計,示范區(qū)建設(shè)各類農(nóng)業(yè)科技示范場100余個,展示品種400多個,接待國家、省市農(nóng)業(yè)科技人員、技術(shù)人員、專業(yè)管理人員及農(nóng)民共計4100多人,已經(jīng)成為先進(jìn)技術(shù)的聚集地和輻射源,使新品種、新技術(shù)與農(nóng)民實現(xiàn)了“零距離”接觸,真正發(fā)揮了“作給農(nóng)民看、引導(dǎo)農(nóng)民干、給農(nóng)民做示范”的示范引導(dǎo)作用。江蘇省“十一五”時期累計開展農(nóng)業(yè)實用技術(shù)培訓(xùn)1123.4萬人、農(nóng)民創(chuàng)業(yè)培訓(xùn)53.8萬人,培養(yǎng)現(xiàn)代職業(yè)農(nóng)民7萬人,農(nóng)民科技素質(zhì)和就業(yè)技能不斷提高,為現(xiàn)代農(nóng)業(yè)發(fā)展和新農(nóng)村建設(shè)提供了人才支持和智力支撐。(七)基層農(nóng)技推廣體系逐步建全?;鶎愚r(nóng)技推廣體系是政府為農(nóng)民群眾技術(shù)咨詢與推廣服務(wù)的公益性組織和平臺,是統(tǒng)籌農(nóng)科教協(xié)作、科教興農(nóng)戰(zhàn)略的重要載體,是提高基層農(nóng)技人員素質(zhì)、推動農(nóng)業(yè)技術(shù)進(jìn)步、發(fā)展現(xiàn)代農(nóng)業(yè)的重要力量和有力支撐。江蘇省“十一五”時期大部分縣鄉(xiāng)鎮(zhèn)農(nóng)技推廣體系改革已經(jīng)完成,農(nóng)業(yè)科技入戶實現(xiàn)了村村全覆蓋。同時,農(nóng)技推廣體系服務(wù)效能明顯提升,隊伍結(jié)構(gòu)不斷優(yōu)化。目前,全省農(nóng)業(yè)行業(yè)擁有各類專業(yè)人才近14萬人,其中涉農(nóng)科研人員1.2萬人,占全國農(nóng)業(yè)科研人員總數(shù)的10%以上。全省基層農(nóng)技推廣人員3.4萬余人,具有大專及以上學(xué)歷技術(shù)人員占53%。黑龍江省“十一五”時期,37個縣基本明確了縣鄉(xiāng)農(nóng)技推廣機(jī)構(gòu)的公益性職能,理順了以縣級農(nóng)業(yè)行政主管部門直接管理為主的管理體制;實行了鄉(xiāng)鎮(zhèn)農(nóng)技推廣機(jī)構(gòu)獨立設(shè)置和區(qū)域設(shè)置形式,明確了人員編制和保障措施、實行了全員競聘上崗等。遼寧省“十一五”時期基層農(nóng)技推廣體系的改革與建設(shè)逐步完成。目前,全省74個涉農(nóng)縣中,已有54個完成了改革與建設(shè)。此外,專業(yè)隊伍素質(zhì)也得到有效提升。全省16201名農(nóng)技推廣人員中,具有專業(yè)技術(shù)職稱的1.1萬人,占農(nóng)技推廣人員總數(shù)的70%。
主要問題
有些資金的性質(zhì)和用途基本相近,但卻分散在幾個部門管理,缺乏總體規(guī)劃和通盤考慮,導(dǎo)致一些領(lǐng)域資金重復(fù)投入,另一些領(lǐng)域卻無人問津,技術(shù)推廣速度和效率不高。同時,由于項目歸口管理部門較多,具體要求和做法各不相同,農(nóng)技推廣資金的政策標(biāo)準(zhǔn)不銜接,管理流程不統(tǒng)一,制度約束力不夠,增加資金監(jiān)管的難度。分散經(jīng)營阻礙農(nóng)技推廣。規(guī)模化生產(chǎn)、產(chǎn)業(yè)化經(jīng)營是發(fā)展現(xiàn)代農(nóng)業(yè)的必然要求,農(nóng)業(yè)技術(shù)推廣若能以此為基礎(chǔ),更能發(fā)揮其優(yōu)勢。目前,我國農(nóng)村仍主要以家庭承包經(jīng)營為基本經(jīng)營單位,點多面廣、個體分散、規(guī)模較小,導(dǎo)致農(nóng)民組織化程度低,土地難以集約化經(jīng)營,不能形成集中連片的規(guī)模化推廣應(yīng)用優(yōu)勢,難以適應(yīng)新時期農(nóng)業(yè)發(fā)展的客觀需要。同時,由于小規(guī)模經(jīng)營,難以帶來科技比較效益,既影響了農(nóng)民采用先進(jìn)技術(shù)進(jìn)行農(nóng)業(yè)生產(chǎn)的積極性,又給農(nóng)業(yè)科技成果的推廣應(yīng)用帶來困難和阻力。農(nóng)民素質(zhì)有待繼續(xù)提高。當(dāng)前,進(jìn)一步提高農(nóng)民素質(zhì),還面臨以下兩大問題。一是部分農(nóng)民仍然固守傳統(tǒng)的農(nóng)業(yè)理念,對新的農(nóng)業(yè)科學(xué)技術(shù)缺乏認(rèn)識,接受起來需要一個過程。二是由于大量有一定文化、有一定素質(zhì)的年輕勞動力向城市轉(zhuǎn)移,導(dǎo)致留在農(nóng)村的勞動力大都是年齡較大,文化素質(zhì)較低的群體,這部分人組織化程度不高,實施農(nóng)業(yè)技術(shù)推廣的自身能力和經(jīng)驗嚴(yán)重不足,影響著農(nóng)業(yè)勞動生產(chǎn)率的提高和農(nóng)業(yè)技術(shù)推廣的實際效果?;鶎愚r(nóng)技推廣體系還需完善?,F(xiàn)階段,基層農(nóng)技推廣體系建設(shè)面臨的以下兩個主要問題。一是基層農(nóng)技推廣體系仍不健全。鄉(xiāng)鎮(zhèn)農(nóng)技推廣體系存在著體制不順、機(jī)制不活、職責(zé)不清的問題,鄉(xiāng)鎮(zhèn)農(nóng)技人員的大量時間和精力都用于行政工作,沒有時間和精力從事真正的農(nóng)技推廣工作,導(dǎo)致基層農(nóng)技推廣體系仍然存在著“線斷、網(wǎng)破、人散”的現(xiàn)象,制約著農(nóng)業(yè)的發(fā)展。二是基層農(nóng)技人員技術(shù)水平有待提高。目前,我國基層農(nóng)技人員業(yè)務(wù)知識老化,技術(shù)推廣能力不強(qiáng),不能滿足現(xiàn)代農(nóng)業(yè)發(fā)展需求。同時,農(nóng)業(yè)科技人才結(jié)構(gòu)不盡合理,高層次農(nóng)業(yè)科技創(chuàng)新人才不足,復(fù)合型、跨領(lǐng)域領(lǐng)軍人才缺乏,農(nóng)業(yè)科技創(chuàng)新團(tuán)隊較少。農(nóng)業(yè)科技成果轉(zhuǎn)化率依然不高。一是科研、教育單位和推廣部門銜接不夠緊密,科研成果與實際應(yīng)用脫節(jié),不能解決農(nóng)業(yè)生產(chǎn)中的實際問題,農(nóng)業(yè)科技成果轉(zhuǎn)化“最后一公里”問題遠(yuǎn)未徹底解決。二是農(nóng)業(yè)科技運(yùn)行機(jī)制還不完善,農(nóng)業(yè)科技創(chuàng)新資源整合力度不大,不能共享,重大項目研究的系統(tǒng)性、連續(xù)性不強(qiáng),科技創(chuàng)新資源有待整合優(yōu)化。三是農(nóng)業(yè)科技創(chuàng)新評價機(jī)制亟待完善,科技創(chuàng)新的前瞻性、超前性不夠,科研人員急于求成現(xiàn)象不同程度存在。
關(guān)鍵詞:插件,軟件復(fù)用,游戲引擎,CrystalSpace
1.Crystal Space及其核心SCF
1.1 Crystal Space
在介紹Crystal Space之前,首先介紹一下游戲引擎和3D游戲引擎,游戲引擎是用于控制所有游戲功能的主程序,從計算碰撞、物理系統(tǒng)和物體的相對位置,到接受玩家的輸入,以及按照正確的音量輸出聲音等等,它是一個處理事務(wù)的系統(tǒng),同時它也是一個控制模塊,向所有的子系統(tǒng)發(fā)出命令[1]。而3D游戲引擎,除了包含游戲引擎的所有功能外,它還負(fù)責(zé)處理3D世界的數(shù)據(jù)結(jié)構(gòu)(包括所有的光源、行動)以及從玩家或相機(jī)所在的視點渲染3D世界[1]。
Crystal Space(以下簡稱CS)是一個開源的3D游戲引擎。除了具備3D游戲引擎應(yīng)有的功能外,其自身還包含許多獨有的特點。首先,CS的框架是一個高度模塊化的框架,該框架能更好的為用戶提供服務(wù),并且使用戶使用CS更方便。其次,CS是一個由構(gòu)件和庫組成的包,雖然它很多的功能都偏向于3D游戲的處理,但是它同樣也適用于其他方面的應(yīng)用,這主要是得益于CS中的大部分插件和庫的相互獨立性,這使得用戶在CS中,可以只使用自己需要的插件以及自定義插件,而不會與其他插件相關(guān)聯(lián)或受到其他插件的影響??萍颊撐?,游戲引擎。最后,CS廣泛的支持各種不同類型的硬件和軟件平臺,具有很好的跨平臺性[2]??萍颊撐模螒蛞?。
1.2 SCF
由于CS高度模塊化的框架,而作為其框架核心的SCF(Share Class Facility,共享類工具)為用戶設(shè)計與開發(fā)基于CS的自定義插件提供了便利??萍颊撐?,游戲引擎。SCF與COM(Component Object Model,組件對象模型)[4]類似,但只是一個輕量級的COM。SCF與COM相比,其使用更加簡單、方便,并且SCF屏蔽了COM中很多繁瑣的部分,卻同時具備COM的大部分優(yōu)勢[3]。
在Crystal Space中SCF用來管理引用計數(shù)、系統(tǒng)插件、自定義插件和抽象接口。在插件的開發(fā)中,SCF技術(shù)實現(xiàn)了類接口與類實現(xiàn)的分離,這一方面,使插件使用者只用關(guān)心類接口的功能及接口的使用方法,而不用關(guān)心它的具體實現(xiàn);另一方面,它對類實現(xiàn)進(jìn)行了很好的封裝,不會將類實現(xiàn)的任何細(xì)節(jié)暴露給用戶,并且插件開發(fā)者對類實現(xiàn)的修改不會對插件的使用造成影響[2]。另外,SCF還提供了插件對象注冊器和插件管理器使CS能自動的完成對插件的管理,用戶只需要書寫少量的代碼就能實現(xiàn)對插件的加載、使用及卸載。
2.設(shè)計和使用自定義插件
自定義插件的設(shè)計、實現(xiàn)及使用流程如圖1所示,用戶自定義插件設(shè)計時,必須在SCF中的對象注冊器中注冊,并由插件管理器統(tǒng)一管理,而應(yīng)用程序?qū)Σ寮恼{(diào)用及加載也必須通過對象注冊器和插件管理器來完成。
圖1 自定義插件的設(shè)計、實現(xiàn)及使用流程
2.1 設(shè)計自定義插件
用戶自定義插件的實現(xiàn)包括定義插件的API,自定義插件的具體實現(xiàn),自定義插件的編譯及自定義插件的注冊四個部分。
1)定義用戶自定義插件的API
在Crystal Space中,使用SCF定義插件的API,其優(yōu)勢在于,將接口的定義和實現(xiàn)進(jìn)行明確的分離。操作步驟包括:
Ⅰ. 定義插件API所在文件“Myapi.h”
Ⅱ. 定義API的版本號;
Ⅲ. 定義抽象類“iMyApi”,類名以“i”開頭,用于標(biāo)識該類是一個SCF接口。
Ⅳ. 定義兩個純虛函數(shù)DoSomthing( )和GetSomething()用于設(shè)置/獲得一個3D坐標(biāo)。下面是API定義的具體代碼:
struct iMyApi : publicvirtual iBase
{ SCF_INTERFACE(iMyApi, 1, 0, 0);
virtual void DoSomething (intparam, const csVector3&) = 0;
virtual int GetSomething ()const = 0; };
2)創(chuàng)建自定義插件的實現(xiàn)(頭文件)
下面是用戶自定義插件具體實現(xiàn)的頭文件“myplug.h”的定義。其操作步驟包括:
Ⅰ. 實現(xiàn)類必須同時繼承iMyApi和iComponent接口,以保證能使用插件管理器來管理插件。
Ⅱ. 定義初始化函數(shù),用于完成插件的初始化工作。具體代碼如下:
class MyPlugin : publicscfImplementation2 <MyPlugin, iMyApi,iComponent>
{ …………
virtual boolInitialize (iObjectRegistry*);
virtual voidDoSomething (int param, const csVector3&);
virtual intGetSomething () const; };
3)創(chuàng)建自定義插件的實現(xiàn)(源文件)
下面為用戶自定義插件具體實現(xiàn)的源文件“myplugin.cpp”,操作步驟包括:
Ⅰ. 使用CS_IMPLEMENT_PLUGIN通知CS本模塊是一個插件
Ⅱ. 申明在CS中,允許使用SCF初始化MyPlugin類的對象,部分代碼如下:
…………
CS_IMPLEMENT_PLUGIN
SCF_IMPLEMENT_FACTORY(MyPlugin)
…………
bool MyPlugin::Initialize(iObjectRegistry* r)
{ object_reg= r; returntrue; }
…………
4)在SCF中注冊自定義插件
SCF能夠自動且動態(tài)的查找已定義的插件,并通過查詢每個插件的meta-Information來判定插件實現(xiàn)的細(xì)節(jié)??萍颊撐?,游戲引擎。Meta-information是結(jié)構(gòu)化的XML文檔,其中包含插件在SCF中的注冊信息,及本插件與其他插件的關(guān)聯(lián)等。科技論文,游戲引擎。插件的meta-Information文檔在插件被編譯時,將被嵌入插件模塊中,方便對插件的查詢。科技論文,游戲引擎。下面是自定義插件的meta-Information的設(shè)置,內(nèi)容包括:
Ⅰ. 設(shè)置插件的名稱
Ⅱ. 指明實現(xiàn)該自定義插件的類的名稱
Ⅲ. 對插件的一般描述及設(shè)置與該插件相關(guān)聯(lián)的其他插件的名稱。具體代碼如下:
<plugin> <scf><classes> <class>
<name>crystalspace.mygame.myplugin</name>
<implementation>MyPlugin</implementation>
<description>My Special Game Plugin</description>
<requires> <class>crystalspace.graphics3d.</class></requires>
</class></classes></scf></plugin>
5)編譯自定義插件
插件模塊的編譯取決開發(fā)時所使用的開發(fā)工具,這里使用Microsoft visual studio 2005進(jìn)行編譯。
2.2 自定義插件在應(yīng)用程序中的使用
完成自定義插件的設(shè)計與實現(xiàn)后,就可以使用了,自定義插件的使用包括加載及調(diào)用。
1)在應(yīng)用程序中加載自定義插件
在應(yīng)用程序中加載自定義插件的操作步驟包括:
Ⅰ. 導(dǎo)入自定義插件API的頭文件,插件使用者通過調(diào)用插件API實現(xiàn)對插件的使用。
Ⅱ. 調(diào)用對象注冊器。對象注冊器查詢已注冊的插件中是否包含應(yīng)用程序指定的插件。
Ⅲ. 使用csQueryRegistry調(diào)用插件管理器,利用插件管理器實現(xiàn)自定義插件的加載(或從應(yīng)用程序中卸載)。具體代碼如下所示:
#include <myapi.h>
csRef<iPluginManager>plugin_mgr = csQueryRegistry <iPluginManager> (object_reg);
csRef<iMyApi> myapi =csLoadPlugin<iMyApi> (plugin_mgr,'crystalspace.mygame.myplugin');
if (myapi.IsValid()){ ... }
2)在應(yīng)用程序中使用自定義插件
最后一個步驟就是使用用戶自定義插件,在應(yīng)用程序中,通過調(diào)用自定義插件的API來實現(xiàn)對插件提供的功能的使用,具體代碼如下:
myapi->DoSomething (1,csVector3 (2, 3, 4));
printf ('%d ',myapi->GetSomething ());
3.小結(jié)
本文設(shè)計和實現(xiàn)了一個基于Crystal Space的自定義插件的實例,從中發(fā)現(xiàn),基于Crystal Space技術(shù)設(shè)計和實現(xiàn)的自定義插件與使用其他方法實現(xiàn)的插件相比具有很多優(yōu)勢,首先,基于CS的插件具有很好的跨平臺性;其次,插件的開發(fā)實現(xiàn)了類接口與類實現(xiàn)的分離,從而使插件的開發(fā)和插件的使用相分離;再次,用戶自定義插件的功能不會受到任何限制,能最大限度發(fā)揮插件開發(fā)者的能動性;最后,SCF提供了插件對象注冊器和插件管理器,使CS能自動完成對插件的管理,減輕了插件開發(fā)者和插件使用者的開發(fā)負(fù)擔(dān)。因此,在實際開發(fā)過程中,開發(fā)者可以設(shè)計及使用符合自己需要的自定義插件,從而使基于CS的游戲開發(fā)或軟件開發(fā)更加便利、快捷。
[參考文獻(xiàn)]
[1][美]Andre Lamothe著. 李祥瑞,陳武譯.3D編程大師技巧[M].人民郵電出版社,2005.
[2][美]Box.D 著. 潘愛民譯.COM本質(zhì)論[M]. 中國電力出版社,2001.
1.Word2003軟件
Office2003是微軟公司推出的辦公應(yīng)用套裝軟件,而Word2003是一種功能強(qiáng)大、具有多種用途的文字處理程序,同時也是Office2003中最主要的程序之一,它也被廣大的電腦愛好者所熟悉,是一個大眾化的應(yīng)用軟件,應(yīng)用這個軟件可以繪制表格,插入圖片,特殊的字符以及制作一個簡單的主頁等等,它還具有的功能就是,在數(shù)學(xué)論文中插入一些復(fù)雜的數(shù)學(xué)公式和數(shù)學(xué)方程。
要想用Word編輯數(shù)學(xué)公式,在安裝Word時要選"自定義安裝"中Office工具里的公式編輯器Microsoft公式3.0,若選"典型安裝",則需要在安裝后從控制面板中選"添加/刪除程序"再把公式編輯器添加上去。
圖2浮動在文本中的公式窗口
安裝完成之后就可以在Word文檔中編輯復(fù)雜的數(shù)學(xué)公式,具體的操作就是用鼠標(biāo)單擊"插入"菜單,選擇"對象"選項,在"新建"選項卡中選擇的"對象類型"為"Microsoft公式3.0",單擊"確定"按鈕,就可以調(diào)出公式編輯器,公式窗口浮動在文本中,其中囊括了幾乎所有數(shù)學(xué)符號,例如:關(guān)系符號、運(yùn)算符號、修飾符號、邏輯符號、各種集合符號以及希臘字母等。光標(biāo)閃動處為輸入框,我們可以在里面輸入各種復(fù)雜的公式。輸入時,輸入框隨著輸入公式長短而發(fā)生變化,整個數(shù)學(xué)表達(dá)式都被放置在公式編輯框中。公式就輸完了。單擊公式編輯器外的任意位置,就退出了公式編輯環(huán)境,返回到Word中。
MathType5.2是一個強(qiáng)大的數(shù)學(xué)公式編輯器,實現(xiàn)所見即所得的工作模式,它可以將編輯好的公式保存成多種圖片格式或透明圖片模式,可以很方便的添加或移除符號、表達(dá)式等模板(只需要簡單地用鼠標(biāo)拖進(jìn)拖出即可),也可以很方便地修改模板,Mathtype5.2數(shù)學(xué)公式編輯器是當(dāng)前讀者用的最多一種編輯數(shù)學(xué)公式的軟件。
要使用這個編輯器,先要安裝Mathtype5.2,因為它支持OLE(對象的鏈接與嵌入),可以在任何支持OLE的文字處理系統(tǒng)中調(diào)用(從主菜單中選擇"插入-對象"在新對象中選擇"MathType5.0Equation"),也就是1中所介紹的情況,這個版本對Word文字處理系統(tǒng)支持的相當(dāng)好,一般情況下是將它同Word結(jié)合起來一起使用,安裝完成之后,Mathtype5.2公式編輯器就作為插件自動加載到Word軟件的工具欄中,同時,該編輯器被安裝到"桌面--開始-程序-Mathtype5.2"下,在用word軟件編輯數(shù)學(xué)論文的時候有兩種方法來啟動這個編輯器,第一種方法是從"桌面--開始-程序-Mathtype5.2"直接啟動,第二種方法點擊word軟件工具欄中的Mathtype5.2的插件來啟動,這樣就會彈出Mathtype5.2公式編輯器的編輯窗口供讀者編輯數(shù)學(xué)論文中的所有復(fù)雜的數(shù)學(xué)公式,公式編輯完之后將其插入到論文中。
3.LATEX排版軟件
TEX最初由美國斯坦福大學(xué)的DonaldKnuth開發(fā),后來LeslieLamport在TEX的基礎(chǔ)上開發(fā)出LATEX[1]版本,中文LA-TEX(CCT)[2]是LATEX的漢化版本,由于LATEX可以得到標(biāo)準(zhǔn)漂亮的數(shù)學(xué)公式,對于數(shù)學(xué)格式、專有符號處理等方面也有杰出表現(xiàn),現(xiàn)已經(jīng)成為數(shù)學(xué)論文排版的標(biāo)準(zhǔn)語言,同時,它是目前國內(nèi)流行的中英文排版軟件,因為它具有強(qiáng)大的科技排版功能,特別適合于科技文章、書籍的制作。在國外,LATEX軟件早已廣泛地用于科技文章、書籍、檔案、學(xué)位論文以及各種復(fù)雜的符號公式、外文(英文之外的字母,例如法文、德文、意文、希臘文等等)、目錄、參考文獻(xiàn)、索引和腳注。
LATEX為讀者設(shè)定了數(shù)學(xué)論文的版面格式,這使得我們不用具體考慮文章的版面設(shè)置,只需完成簡單的輸人工作就行,當(dāng)然也可以利用所提供的命令定制合適的文章格式,以適應(yīng)不同的排版需要。文章的版面設(shè)置,只需完成簡單的輸人工作就行。
在對數(shù)學(xué)公式的排版效果上LATEX要明顯優(yōu)于Word,利用Word的公式編輯器編排出的段落總是難以達(dá)到預(yù)期的文章格式,在文章字體格式、字體大小設(shè)置以及數(shù)學(xué)公式的修改上工作量很大,然而LATEX配備有豐富的字符集,采用統(tǒng)一的格式處理有關(guān)字體和公式的設(shè)置,而且非常方便后繼的修改工作。
LATEX還具有靈活的自動編號功能,可以對文章中出現(xiàn)的數(shù)學(xué)公式、參考文獻(xiàn)、圖表等自動編號,以方便文中對這些編號的引用,這在引用較多的文章編排中非常實用.另外,LATEX可以自動生成文章目錄及索引。
LATEX系統(tǒng)實際上是一種編程語言,首先要建立源文件,也就是說,LATEX軟件是一種敘述標(biāo)記系統(tǒng),不是可視標(biāo)記系統(tǒng),不能直接看到輸出的結(jié)果,而是要調(diào)用編譯命令得到我們想要的排版結(jié)果,對于源程序的編輯可以采用任何不會向文件增加不可見控制字符的文本編輯器,例如EditPlus,U1traEdit,WinEdt等,利用這些軟件自身的對外接口模塊,我們只要對其作一系列設(shè)置,便可以得到一個集成的編譯環(huán)境.目前國內(nèi)最流行的兩種LATEX排版軟件是EMTEX和CTEX2.0。這兩種軟件都可以實現(xiàn)不同文件格式的相互轉(zhuǎn)換,而源文件的擴(kuò)展名英文文章是.tex,中文文章是.ctx。
下面以CTEX2.0為例,它是一種"中文TEX快捷系統(tǒng)",是不需插圖的、初學(xué)LATEX排版的讀者較容易掌握的一種系統(tǒng),系統(tǒng)安裝完成后,就可在電腦的桌面上出現(xiàn)"WinEdit"的快捷方式,雙擊該快捷方式,就可以打開一個編輯LATEX源文件的窗口。在工具欄上有各種各樣的按鈕,如果編輯的是"中文TEX"(即CTX文件),只要單擊"CCTLATEX"按鈕,就可以編譯成"DVI文件";如果編譯的文件是"英文TEX"(即TEX文件),只要單擊"TEX"按鈕,就可以編譯成"DVI文件"。再單擊"PS"按鈕,就可以"DVI文件"轉(zhuǎn)換成"PS文件",對于數(shù)學(xué)論文中的的數(shù)學(xué)符號和希臘字母,只要在工具欄中單擊∑和按鈕就可以找到你需要的字符和字母,但注意要按數(shù)學(xué)狀態(tài)使用這些符號和字母。
4.方正書版
北大方正書刊排版系統(tǒng)是國內(nèi)出版印刷業(yè)使用非常廣泛的專業(yè)排版軟件,書版在排版領(lǐng)域里使用最多的版本有:DOS平臺下的書版6.0、書版7.0以及中文WIN95/98/XP下的書版9.0,方正當(dāng)時開發(fā)的目標(biāo)十分明確,就是面向中文電子出版系統(tǒng),它以批處理為主的專業(yè)排版軟件,實現(xiàn)排版功能需要一系列的命令來完成,不像交互式的排版軟件比較易于掌握;同時,讀解命令格式也有一定的難度。因此它的特點是具有很強(qiáng)的專業(yè)性和規(guī)范性,而它的局限性也因為與此,由于過于專業(yè),使其范圍僅限于出版社和期刊社,并不被廣大的用戶掌握。
論文關(guān)鍵詞:評教系統(tǒng),分析,插件控件設(shè)計,實現(xiàn)
1 引言
當(dāng)前我國高職教育規(guī)模的日益擴(kuò)大,高職院校的教學(xué)管理任務(wù)日趨繁重,多層次、信息網(wǎng)絡(luò)化的教學(xué)質(zhì)量評價及數(shù)據(jù)分析系統(tǒng)在各院校的教務(wù)管理工作中顯得十分重要。我院的學(xué)生網(wǎng)上評教系統(tǒng)采用流行的ASP.NET2.0技術(shù)開發(fā),該系統(tǒng)方便廣大學(xué)生,只要可以上Internet,則可以對其任課教師進(jìn)行評教;同時快速集中收集各方面的評教信息,輔助教務(wù)人員完成繁瑣的資料統(tǒng)計工作,并對信息進(jìn)行快速的分析和相關(guān)報表的輸出,節(jié)省大量的人力和物力,為學(xué)校領(lǐng)導(dǎo)提供相關(guān)決策支持。
隨著學(xué)院網(wǎng)上評教系統(tǒng)的長期運(yùn)行,各種相應(yīng)的不足已漸漸暴露出來,那就是不能隨著業(yè)務(wù)的修訂而進(jìn)行自由擴(kuò)展,例如:由于每年的評教結(jié)果的計算方法都會因各種不同的原因發(fā)生變化(學(xué)生參評人數(shù)的百分比控制、統(tǒng)計成績時上下扣除的比例等)。為了提升系統(tǒng)的性能,網(wǎng)上評教系統(tǒng)通過編譯在學(xué)院網(wǎng)絡(luò)中心的Web服務(wù)器上,每次修改源代碼都需要重新實現(xiàn),其中包括數(shù)據(jù)庫的附加與分離,稍不留意,就會形成新的錯誤。為此,決定對學(xué)院網(wǎng)上評教系統(tǒng)進(jìn)行重構(gòu),利用插件式框架設(shè)計完成對新需求的擴(kuò)展,而不是每次都去修訂源代碼。
2 分析設(shè)計
按照面向?qū)ο蟮脑O(shè)計原則,要想實現(xiàn)系統(tǒng)的功能擴(kuò)展,各個類之間應(yīng)該是高內(nèi)聚低耦合的,同時由于總評成績的計算方法是一個可變的因素,而界面是依賴于這個方法而顯示其結(jié)果,要想實現(xiàn)動態(tài)更改其計算方法,必須將其泛化為一個抽象類或接口,讓界面依賴其抽象的類,我們知道,抽象的東西才是穩(wěn)定的,而實現(xiàn)是千變?nèi)f化的,這就是所謂的“依賴反轉(zhuǎn)”原則,通過這種方法可有效的解決上面提到的問題,系統(tǒng)框架的結(jié)構(gòu)設(shè)計方案如下:
圖1 框架設(shè)計圖
由于要實現(xiàn)動態(tài)擴(kuò)展系統(tǒng)的功能,即不改變系統(tǒng)的原始代碼結(jié)構(gòu)的基礎(chǔ)上更改系統(tǒng)的功能,而原有的系統(tǒng)已經(jīng),其內(nèi)部的代碼現(xiàn)已為動態(tài)鏈接庫的形式而存在。根據(jù).NET的引用機(jī)制,可將計算方法實現(xiàn)類實現(xiàn)為DLL動態(tài)鏈接庫形式,然而實現(xiàn)類是實現(xiàn)教師總評成績計算接口的類,因此必須將接口類也實現(xiàn)為DLL動態(tài)鏈接庫形式雜志網(wǎng)。
通過這樣的分析后發(fā)現(xiàn),整個系統(tǒng)有三部分組成,分別是網(wǎng)站界面部門,接口DLL和計算方法實現(xiàn)類DLL。這樣框架布局使得評教系統(tǒng)在編譯之后,如果想要進(jìn)行教師總評成績計算功能的擴(kuò)充,不必要修改代碼重新編譯。只需按照預(yù)先定義好系統(tǒng)的總評成績計算接口進(jìn)行插件的編寫?yīng)毩⒌膭討B(tài)鏈接庫文件,就可以實現(xiàn)系統(tǒng)的擴(kuò)展功能。
3 實現(xiàn)過程
在.NET框架中實現(xiàn),要實現(xiàn)上述框架,如果想讓教師總評成績計算方法用成績計算方法2類實現(xiàn),用newCtotal_Cal2()的方法實現(xiàn)肯定是不行的,因為實現(xiàn)類的名字出現(xiàn)在系統(tǒng)代碼上,并已經(jīng)編譯到目標(biāo)代碼中。必須采用一種靈活的方式去實現(xiàn),否則上述的框架只是起到了代碼模塊化的作用,根本不能擔(dān)負(fù)起插件式自動擴(kuò)展的功能。這時可采用.NET的配置文件和反射機(jī)制來完成。
.NET中提供了一種便捷的保存項目配置信息的辦法,那就是利用配置文件基于XML的Web.config配置文件。在Web應(yīng)用程序時web.config文件并不編譯進(jìn)dll文件中。如果將來客戶端發(fā)生了變化,僅僅需要用記事本打開web.config文件編輯相關(guān)設(shè)置就可以重新正常使用,非常方便。同時.NET框架對于配置文件進(jìn)行了封裝,形成了以Configuration為基本類一系列類,從而方便對配置文件的管理。比如可以將插件動態(tài)庫的文件名和對應(yīng)的類名稱分別保存到<appSettings>中,這樣就可利用ConfigurationSettings.AppSettings進(jìn)行訪問。
.NET還提供了審查元數(shù)據(jù)并收集關(guān)于它的類型信息的能力的反射機(jī)制,動態(tài)發(fā)現(xiàn)類型信息的能力。有助于在程序運(yùn)行時利用一些信息去動態(tài)地使用類型,這些信息在設(shè)計時是未知的,這種能力類型相當(dāng)于程序設(shè)計語言的后期綁定,同時反射還能在運(yùn)行時動態(tài)創(chuàng)建新類型,并且對這些新類型的操作進(jìn)行調(diào)用。結(jié)合程序集Assembly的相關(guān)方法進(jìn)行動態(tài)加載動態(tài)庫控件和Activator類的CreateInstance 方法等動態(tài)生成插件類對象,從而調(diào)用插件實現(xiàn)類的方法,到達(dá)擴(kuò)展系統(tǒng)功能的功效雜志網(wǎng)。
為了使代碼更簡潔,在下述的實現(xiàn)過程中,省略了具體實現(xiàn)教師總評成績的計算算法過程,只是顯示框架的構(gòu)建過程。具體如下:
(1)創(chuàng)建報表接口的類庫文件Itotal_Cal,其代碼如下:
namespace Itotal_Cal
{public interfaceTotal_Cal()
{Table Total_Cal();}
}
將其編譯成Itotal_Cal.dll動態(tài)鏈接庫文件。
(2)創(chuàng)建報表實現(xiàn)類的類庫文件Ctotal_Cal2,其關(guān)鍵代碼如下:
using Itotal_Cal;
namespace Ctotal_Cal2
{public class Ctotal_Cal2:Itotal_Cal
{public Table Total_Cal ()
{//省略其實現(xiàn)代碼}
}}
在實現(xiàn)過程中,要添加對報表接口Itotal_Cal.dll的引用,將其編譯成Ctotal_Cal2動態(tài)鏈接庫文件。
(3)系統(tǒng)代碼布局:在學(xué)院網(wǎng)上評教系統(tǒng)中,添加對Itotal_Cal.dll文件的引用,同時在使用教師總評成績計算功能的頁面文件中using Itotal_Cal引用報表的名字空間,以方便代碼的書寫。為了實現(xiàn)自動找到對應(yīng)的擴(kuò)展動態(tài)庫文件,可以將編譯生成的擴(kuò)展動態(tài)庫文件拷貝到評教系統(tǒng)的bin目錄下實現(xiàn),同時修改web.config文件如下:
<appSettings>
<addkey='ass_name' value=' Ctotal_Cal2'/>
//其中Ctotal_Cal2為插件動態(tài)庫文件名稱
<addkey='class_name' value= Ctotal_Cal2. Ctotal_Cal2'/>
//其中Ctotal_Cal2. Ctotal_Cal2的形式是:名字空間.類名
</appSettings>
在代碼實現(xiàn)上,關(guān)鍵代碼如下:
string ass_name= ConfigurationSettings.AppSettings['ass_name'];
stringclass_name = ConfigurationSettings.AppSettings['class_name'];
//訪問系統(tǒng)配置文件中存放的插件動態(tài)庫文件名和具體實現(xiàn)類名稱
Assembly ass =System.Reflection.Assembly.Load(ass_name);
//動態(tài)加載插件動態(tài)庫文件
Type type =ass.GetType(class_name);
Total_Cal obj =(Total_Cal)Activator.CreateInstance(type);
//調(diào)用obj.Total_Cal (),實現(xiàn)系統(tǒng)的動態(tài)更新。
4 小結(jié)
通過上述插件式框架的設(shè)計和實現(xiàn),如果要更新教師總評成績的計算方法,只需要按照框架規(guī)定的接口編寫新的總評成績計算方法實現(xiàn)類,將其編譯成動態(tài)鏈接庫,然后將其發(fā)送給系統(tǒng)管理員,拷貝到系統(tǒng)的bin目錄下,同時對系統(tǒng)配置文件web.config文件進(jìn)行必要的更改,從而實現(xiàn)不重新編譯原來的系統(tǒng)代碼,即可實現(xiàn)系統(tǒng)的擴(kuò)展。當(dāng)然,也可以此為鍥機(jī),將評教系統(tǒng)的各種需求進(jìn)行深入的分析,估計其風(fēng)險,對相關(guān)類進(jìn)行泛化提升,抽象出接口,對相應(yīng)模塊進(jìn)行重構(gòu),從而全面提升系統(tǒng)的擴(kuò)展性,靈活地應(yīng)對系統(tǒng)需求的變化。
作者:方黨生
論文關(guān)鍵詞:HTML5,WEB開發(fā),網(wǎng)頁技術(shù),離線存儲,網(wǎng)頁插件
一、 使網(wǎng)絡(luò)更加的安全。
計算機(jī)網(wǎng)絡(luò)一直是計算機(jī)世界里不安全因素之一。計算機(jī)很多病毒都是通過網(wǎng)絡(luò)技術(shù)的漏洞來傳播。然而新的HTML5技術(shù)標(biāo)準(zhǔn)的出現(xiàn),使得網(wǎng)絡(luò)技術(shù)更加完善,設(shè)計了更多計算機(jī)安全方面的功能,這將會大大的降低病毒在網(wǎng)絡(luò)里傳播的機(jī)率。新的HTML5技術(shù)標(biāo)準(zhǔn)提供了離線存儲功能。離線存儲(OffStore)主要用于對在線存儲的數(shù)據(jù)進(jìn)行備份,以防范可能發(fā)生的數(shù)據(jù)災(zāi)難,因此又稱備份級的存儲離線存儲介質(zhì)上的數(shù)據(jù)在讀寫時是順序進(jìn)行的。當(dāng)需要讀取數(shù)據(jù)時,需要重新定位。當(dāng)需要對已寫入的數(shù)據(jù)進(jìn)行修改時,很多情況下都需要將數(shù)據(jù)全部進(jìn)行改寫。離線存儲使數(shù)據(jù)更不容易丟失。同時,新的HTML5技術(shù)標(biāo)準(zhǔn)減少了大量插件的使用。這樣就減少了因病毒偽裝成第三方插件程序運(yùn)行在本地計算機(jī)上,也大大的提高了網(wǎng)絡(luò)中的安全。HTML5技術(shù)標(biāo)準(zhǔn)針對iframe元素增加sandbox屬性,可以防止不信任的Web頁面執(zhí)行我們不希望的操作。具體的可以防止如下操作:
訪問父頁面的DOM。
執(zhí)行腳本。
通過腳本嵌入自己的表單或是操縱表單對cookie、本地存儲或本地SQL數(shù)據(jù)庫的讀寫。
禁用插件禁止其他瀏覽上下文的導(dǎo)航。
禁止彈出窗口和模式對話框。
二、美觀和更加的人性化界面。
在HTML5技術(shù)標(biāo)準(zhǔn)里面增加了許多智能表單,來滿足用戶的需求,并且同時減少了開發(fā)人員的編程。經(jīng)常上網(wǎng)的人都會因不停的輸入驗證碼、郵箱地址等正則表達(dá)式而麻煩。新的HTML5標(biāo)準(zhǔn)卻很好的解決相關(guān)問題。例如,新增加的Email輸入框,我們中要入名字就可以了,還有功能強(qiáng)大的日期輸入框,它更加體現(xiàn)出了人性化的設(shè)計。智能表單搜索框,文本輸入和其它類型的字段可以獲得更好的控制,如焦點處理,數(shù)據(jù)驗證,與其它頁面元素的交互,通過電子郵件發(fā)送等,聽起來可能不是很吸引人,但它可以大大減少用戶的煩擾,使用戶不用再不停的通過移動鼠標(biāo)來填寫完成輸入了。HTML5技術(shù)的內(nèi)建3D技術(shù)的支持對用戶來說就是視覺大餐,它使得界面更加的美觀。在此之前,3D技術(shù)應(yīng)用于網(wǎng)頁上少之又少,主要原因是之前的技術(shù)支持力度不夠,影響網(wǎng)頁的瀏覽,而新有HTML5卻能很好的支持3D,用戶再也不用忍受偽3D的煎熬了。HTML5支持文件拖放上傳,這更加的符合人們的習(xí)慣,使用戶都加好的享受網(wǎng)絡(luò);用戶也可以編輯網(wǎng)頁的部分內(nèi)容并實現(xiàn)同網(wǎng)頁的交互,在HTML 5 中用content editable屬來支持用戶的交互,content editable屬性允許你設(shè)定網(wǎng)頁的哪一部分可以編輯,在基于 Wiki 的 站點,這非常實用,這個功能可以讓手機(jī)上網(wǎng)的用戶選擇自己喜歡的內(nèi)容出現(xiàn),而對于自己不喜歡的東西,就可以不用下載,這就為用戶節(jié)省了大量的流量。HTML 5中的Web應(yīng)用程序集中化功能可以更容易地建立Wiki,拖放工具,討論版,實時聊天,前端搜索和其它現(xiàn)代網(wǎng)站元素,并讓它們可以跨瀏覽器使用。這些功能都使的網(wǎng)站更加的人性化。
三、更加完美的視聽體驗。
在HTML5之前的視頻網(wǎng)站標(biāo)準(zhǔn)不一,觀看Youtube視頻需要安裝Flash Player插件,觀看蘋果網(wǎng)站的視頻需要安裝Quick Time插件,在觀看Microsoft網(wǎng)站時,要安裝Sliverlight。不同的視頻網(wǎng)站要不同的視頻插件,這使用戶不能很好的享受網(wǎng)絡(luò)中視聽的震撼,感受不到原來態(tài)的視頻和音頻流。而HTML5技術(shù)的出現(xiàn),可以利用HTML 5中的視頻和音頻標(biāo)記功能,使得Youtube和Pandora等視聽網(wǎng)站可以會跳過Flash、Sliverlight插件,為你帶來全新的視頻和音頻體驗,HTML5還可以制作定時播放和其它貼心的功能,讓你有更加完美的視聽體驗。
四、對于WEB程序員開發(fā)更省時省力。
所以WEB程序員都知道要開發(fā)一個復(fù)雜的同時包括音樂播放功能、繪圖功能的WEB應(yīng)用程序通常是采用美國Adobe Systems的“Flash”或者通過采用Microsoft公司的Sliverlight是來實現(xiàn)。Flash、Sliverlight等需要將一種特殊插件安裝到Web瀏覽器中,對用戶而言這將增加他們的風(fēng)險,而對于程序員來說,程序員除了學(xué)習(xí)WEB開發(fā)技術(shù)之外還要學(xué)習(xí)Flash或者Sliverlight,這將耗費大量的時間和精力?,F(xiàn)在新的HTML5技術(shù)改進(jìn)了這一點,HTML5中提供了“canvas”標(biāo)簽構(gòu)就可以完成繪圖功能,而它提供的“audio”標(biāo)簽就可以輕松的完成播放音樂。當(dāng)然還有很多,如video標(biāo)簽、details標(biāo)簽、command標(biāo)簽等,這些都能很好的實現(xiàn)復(fù)雜網(wǎng)站所需要的功能。
五、HTML5也在改變著各種終端數(shù)碼設(shè)備。
HTML5不僅改變了網(wǎng)絡(luò),也改變著各種終端數(shù)碼設(shè)備。以智能手機(jī)為例,美國蘋果的“iPhone”中就采用了一些HTML 5的性能指標(biāo)。美國Palm的“Palm Pre”也是如此。另外,美國Google公司的手機(jī)平臺“Android”平臺中也采用了HTML 5的元素。 HTML 5得以在智能手機(jī)上普及的理由之一,在于HTML5技術(shù)的功能。特別是由于HTML5技術(shù)可在本地數(shù)據(jù)庫中保存數(shù)據(jù),因此,即便在未接入網(wǎng)絡(luò)的情況下,應(yīng)用程序仍可運(yùn)行,這樣對于手機(jī)用戶在沒有信號的情況下也可以玩轉(zhuǎn)手機(jī),再也不會覺得無聊了。手機(jī)中充分利用了這一特性的產(chǎn)品,當(dāng)屬Palm Pre。在Palm Pre所采用的“Palm webOS”中,僅借助HTML與JavaScript的組合來描述應(yīng)用程序。iPhone最初也同樣打算將應(yīng)用程序的開發(fā)僅限于Web技術(shù),但2007年推出時沒有得到消費者的理解。而Palm公司的做法則被認(rèn)為是技術(shù)先進(jìn)。 如今的時代變化日新月異。HTML 5由于是標(biāo)準(zhǔn)技術(shù),因此,不僅是PC及智能手機(jī)、還很可能被其他大多數(shù)設(shè)備所采用。這樣一來,如果面向HTML 5開發(fā)應(yīng)用程序,那么幾乎不費勁就能支持大多數(shù)設(shè)備。這對于內(nèi)容及應(yīng)用程序的開發(fā)者而言,非常有吸引力。這是因為,像那些追求復(fù)雜視覺效果的網(wǎng)站,將不僅可在PC上瀏覽,還可在智能手機(jī)、普通手機(jī)乃至預(yù)裝了HTML 5支持瀏覽器的家里的電視上進(jìn)行瀏覽。 而HTML5這種技術(shù)的改變更貼近我們的生活,也更有趣。也能更好促進(jìn)我國的三網(wǎng)合一的發(fā)展!
HTML5技術(shù)標(biāo)準(zhǔn)將為我們的生活帶來更多的變化,讓我們生活變的更加的安全、舒適。而我們也應(yīng)該借助這次WEB領(lǐng)域技術(shù)的巨大改變,來發(fā)展我們的WEB技術(shù)!特別是現(xiàn)在我國正在進(jìn)行三網(wǎng)合一的試行,如果能夠很好的利用HTML5技術(shù)的特點,這將對我們的生活和生產(chǎn)帶來更的發(fā)展和改變。
參考文獻(xiàn):
[1] 黃永兵 .從零開始構(gòu)建HTML 5[J]. 計算機(jī)應(yīng)用.2010.2(5)34-36
[2] Kevin Purdy. How HTML5 Will Change the Way You Use the Web [J] . IEEE Journal.2009,56(3)113-114
[3] 蔣博.使用HTML5構(gòu)建下一代的Web Form.[J].互聯(lián)網(wǎng)周刊. 2009.6(25).67-68
關(guān)鍵詞:C語言;展開形式;識別技術(shù);反匯編
中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2011)12-2829-02
1 庫函數(shù)展開形式的出現(xiàn)
現(xiàn)代編譯器為了加快程序的運(yùn)行速度,避免調(diào)用庫函數(shù)所帶來的開銷,在調(diào)用庫函數(shù)時,直接出現(xiàn)庫函數(shù)的展開形式。編譯器有時也出于對所編程序優(yōu)化的目的,為了提高程序運(yùn)行時的效率經(jīng)常在目標(biāo)代碼中出現(xiàn)展開的庫函數(shù)形式,而且不同的編譯器對同一個庫函數(shù)編譯出的匯編指令并不相同,即使是相同的編譯器在不同的優(yōu)化層次上編譯出的匯編指令也不相同。展開庫函數(shù)也有副作用,那就是使目標(biāo)文件的大小有所增加,所以在C語言中具有這種展開庫函數(shù)的函數(shù)不多,常見的有strcpy、strcat、memset和memcpy,本文只研究對它們的識別。
2 庫函數(shù)展開形式的識別
2.1 庫函數(shù)展開形式的特征
選用IDA Pro反匯編工具,IDA Pro是DataRescue公司出品的功能強(qiáng)大的專業(yè)級反匯編工具,IDA(The InteractiveDisassembler)的全名是交互式反匯編工具[ ]。首先把要識別的二進(jìn)制文件進(jìn)行反匯編,然后對反匯編后的代碼進(jìn)行識別。對于展開庫函數(shù)的精確識別,是比較復(fù)雜的問題,但這些函數(shù)的反匯編后具有明顯的特征,如strcpy()的展開形式的反匯編為:
1. mov edi,[esp+arg_4]
2. or ecx,0FFFFFFFFh
3. xor eax,eax
4. repne scasb
5. not ecx
6. sub edi,ecx
7. moveax,ecx
8. movesi,edi
9. movedi,[esp+arg_0]
10.shr ecx,2
11.rep movsd
12.movecx,eax
13.and ecx,3
14.repmovsb
此處strcpy()展開后有14條指令,而且隨著不同編譯器的不同優(yōu)化,strcpy()展開后的指令條數(shù)各不相同。但經(jīng)過對不同的編譯器編譯后的指令分析,有些指令是必須出現(xiàn)的指令,如上面提到的2、3、4、7、11和14指令,將展開庫函數(shù)中必然出現(xiàn)的指令稱為必然指令,其余指令稱為普通指令。必然指令可以作為識別展開庫函數(shù)的特征,故將展開庫函數(shù)的識別轉(zhuǎn)化為必然指令的識別。
2.2 庫函數(shù)展開形式的識別方法
在具體實現(xiàn)過程中,利用IDA Pro的腳本語言IDC編寫檢測插件。編寫前要先配置編譯環(huán)境,然后套用模板編寫IDA插件,最后復(fù)制編譯好的插件(確定它在Windows下的擴(kuò)展名為.plw,Linux下為.plx)到IDA的plugins目錄,然后IDA將自動加載它。在VC++中編寫一般分以下五部分:預(yù)處理、初始化函數(shù)、清除函數(shù)、主體運(yùn)行函數(shù)和輔助說明[ ]。strcpy、strcat、memset和memcpy的必然指令可以查閱MSDN獲知。把所有必然指令放在二維字符型數(shù)組中,每一行存放一個函數(shù)的必然指令集,中間用星號分隔,其中每個函數(shù)我們抽象出四條指令,二維數(shù)組的初始化如下:
mustorder[4][80]=
{“repne scasb*mov esi,edi*repmovesd*repmovesb”_//strcpy函數(shù)的必然指令
“movsw*rep movsd*movsb*mov edi,eax”//memcpy函數(shù)的必然指令
“repne scasb*rep movsd*movs*mov esi,eax”//strcat函數(shù)的必然指令
“movse*repne scasb*movsb*mov esi edi” //memset函數(shù)的必然指令
};
int flag[4]=0;
char funarray[4][10]={“strcpy”,”strcat”,”memset”,”memcpy”};
同時設(shè)置一個標(biāo)志數(shù)組flag[4],其初始值為0。在程序運(yùn)行過程中,如果所查找的必然指令存在mustorder數(shù)組中的一行,就讓flag數(shù)組中相應(yīng)下標(biāo)所對應(yīng)的數(shù)組元素加1,如果檢查完程序后flag數(shù)組中有值為4的元素,則存在必然函數(shù)的展開形式,同時設(shè)置數(shù)組funarray存放函數(shù)名。
void findlongfun (int arg)
{ // 在所有段中查找
FILE *fp;
//打開存庫函數(shù)的文件
if((fp=fopen(“需要檢測得庫函數(shù)文件”,”w+”))= =NULL{
printf(“ Buffer flow vulnerability file cannot be open\n”);
Exit(1);}
for (int s = 0; s < get_segm_qty(); s++) {
segment_t *seg = getnseg(s);
//僅查找代碼段
if (seg->type == SEG_CODE)
{ // 反復(fù)執(zhí)行循環(huán),在所有的調(diào)用函數(shù)中查找
for (int x = 0; x < get_func_qty(); x++) {
//對標(biāo)志數(shù)組初始化
for(i=0;i
flags[i]=0;
func_t *f = getn_func(x);
//在選中函數(shù)中從前到后循環(huán)查找
for (ea_t addr = f->startEA; addr < f->endEA; addr++) {
flags_t flags = getFlags(addr);
//僅僅從一行的開頭并且這行標(biāo)記是函數(shù)代碼所在的行查找
if (isHead(flags) && isCode(flags)) {
char mnem[MAXSTR];
//記下我們這一行所在的匯編代碼,放在字符數(shù)組mnem中,然后和存放必然指令的數(shù)組比較,看是否存在
ua_mnem(addr, mnem, sizeof(mnem)-1);
// 查看是否存在必然指令。
for (int i=0;i
{
//把查到的匯編代碼通過match( )函數(shù)在mustorder數(shù)組的每一行查找
if(match(mnem, mustorder[i])= =0)label[i]++;
}
for(int i = 0;i
if(label[i]= =4){
strcpy(vulervar.funname,funarray [i]);
strcpy(vulervar.linefun,arr);
get_func_name(arr, vulervar.infun,sizeof(vulervar.infun));
ua_mnem(arr, vulervar.linedisa, sizeof(vulervar.linedisa));
fprintf(fp,“第%d個庫函數(shù)地址:%10s函數(shù)名:%10s
所在行匯編代碼:%20s所屬函數(shù):%10s\n”,n,vulervar.linefun,
vulervar.funname,vulervar.linedisa,vulervar.infun);
n++;
for(int j=0;j
label[j]=0;} } } } }
//關(guān)閉漏洞文件
if(fclose(fp)!=0)
{printf(“\n vulnerfile cannot be closed”);
exit(1);}
return; }
3 總結(jié)
論文對二進(jìn)制文件中的庫函數(shù)的展開形式進(jìn)行識別,首先對二進(jìn)制文件進(jìn)行反匯編,然后對反匯編代碼中的必然指令進(jìn)行識別。最后利用IDA Pro的腳本語言IDC編寫代碼進(jìn)行驗證。論文的不足點是只對常用庫函數(shù)進(jìn)行識別,如何對所有C語言中存在的所有庫函數(shù)的展開形式進(jìn)行識別,是今后研究的一個重點。
參考文獻(xiàn):
論文摘要:本文說明了各種變電站綜合自動化裝置的硬件具有相同的典型結(jié)構(gòu),討論了模擬量的輸入/輸出回路,開關(guān)量輸入及輸出電路,微型機(jī)系統(tǒng)和變電站綜合自動化算法,人機(jī)對話、、通信和電源插件,操作回路等各部分培訓(xùn)的內(nèi)容、作用和培訓(xùn)方法,并具體介紹了測控裝置。
在變電站綜合自動化培訓(xùn)教學(xué)中,學(xué)員要熟悉變壓器、線路、電容器等設(shè)備的保護(hù)裝置、測控裝置、保護(hù)測控裝置及各種自動控制裝置。若在每個具體裝置中都全面介紹裝置的結(jié)構(gòu)和工作原理,不但重復(fù)太多,浪費時間,而且也不容易全面深人地介紹清楚,且不利于學(xué)員理解掌握。因此在培訓(xùn)中,都要對各種裝置的共性部分進(jìn)行統(tǒng)一介紹,即介紹裝置的基本結(jié)構(gòu)、原理與接線。下面就裝置部分教學(xué)培訓(xùn)工作進(jìn)行IV"結(jié),與大家分享。
一、裝置的典型硬件結(jié)構(gòu)
裝置部分教學(xué)培訓(xùn)中,首先要把裝置的典型硬件結(jié)構(gòu)弄清楚。成套的綜合自動化系統(tǒng)中微機(jī)保護(hù)系統(tǒng)、監(jiān)控系統(tǒng)、自動控制系統(tǒng)等裝置都是由若干模塊組成的,它們的硬件結(jié)構(gòu)都是大同小異,所不同的是軟件及硬件模塊化的組合與數(shù)量不同。一個變電站綜合自動化系統(tǒng)中各種子系統(tǒng)的典型硬件結(jié)構(gòu)主要包括模擬量輸人/輸出回路、開關(guān)量輸人/輸出回路、微機(jī)系統(tǒng)、人機(jī)對話接口回路、通信回路和電源,如圖1所示。
裝置采用統(tǒng)一硬件平臺,變電站綜合自動化裝置硬件采用整體面板、國際標(biāo)準(zhǔn)機(jī)箱。裝置強(qiáng)弱電徹底分離,CPU板采用印刷板、表面裝貼技術(shù),提高了裝置的可靠性??勺詸z和互檢,同時減少各部分的關(guān)聯(lián)性。通信接口方式選擇靈活,與變電站自動化系統(tǒng)配合,可實現(xiàn)遠(yuǎn)方定值修改和切換、事件記錄及錄波數(shù)據(jù)上傳、壓板遙控投退和遙測、遙信、遙控跳合閘。可通過變電站監(jiān)控系統(tǒng)對保護(hù)裝置所具有的功能實施全遙控操作。裝置采用統(tǒng)一軟件平臺,縮短了產(chǎn)品的研發(fā)周期,延長了產(chǎn)品的市場生命周期,從“作坊生產(chǎn)階段”進(jìn)人到“大規(guī)模生產(chǎn)階段”。裝置采用統(tǒng)一數(shù)據(jù)庫處理,在設(shè)計裝置功能模塊時提煉不同功能應(yīng)用信息的共性,建立一個統(tǒng)一的應(yīng)用功能數(shù)據(jù)機(jī)構(gòu)模塊,包含每種功能所需的一切信息,形成功能程序的統(tǒng)一的開發(fā)平臺,降低了功能模塊程序開發(fā)的難度,提高了功能模塊程序的可靠性。
二、模擬量的輸入/輸出回路
1.模擬量的輸入電路
變電站綜合自動化系統(tǒng)采集的一次設(shè)備的電流、電壓、有功功率、無功功率、溫度等都是屬于模擬量,由于微機(jī)只能識別數(shù)字量,故模擬信號必須轉(zhuǎn)換成數(shù)字信號才能輸人到微機(jī)中進(jìn)行處理。典型的模擬量輸人電路的結(jié)構(gòu)框圖如圖2所示,主要包括電壓形成電路、低通濾波電路、采樣電路、多路轉(zhuǎn)換開關(guān)及A/D變換芯片五部執(zhí)電壓形成電路除了起電量變換作用外,另一個重要作用是將一次設(shè)備的電流互感器TA、電壓互感器TV的二次回路與微機(jī)A/D轉(zhuǎn)換系統(tǒng)完全隔離,提高抗干擾能力。通過低通濾波器與采樣定理、采樣保持器、模擬量多路轉(zhuǎn)換開關(guān)、模/數(shù)變換(A/D)的詳細(xì)講解,使學(xué)員熟悉模擬量輸人電路如何隔離、規(guī)范輸入電壓及完成模/數(shù)變換、與CPU接口,完成數(shù)據(jù)采集任務(wù)。
為了使學(xué)員更好地理解和掌握培訓(xùn)內(nèi)容,講變換器時向?qū)W員展示變換器插件實物,講清楚變換器的輸人信號和輸出信號。講解低通濾波時也將實物插件展示給學(xué)員,理論聯(lián)系實際,可取得很好的培訓(xùn)效果。
2模擬量輸出電路
培訓(xùn)中簡要說明模擬量輸出電路的組成、數(shù)/模(D/A)轉(zhuǎn)換器工作原理。模擬量輸出電路的作用是把微型機(jī)系統(tǒng)輸出的數(shù)字量轉(zhuǎn)換成模擬量輸出,該任務(wù)主要由數(shù)/模(D/A)變換器來完成。由于D/A轉(zhuǎn)換器需要一定的轉(zhuǎn)換時間,在轉(zhuǎn)換期間,輸人待轉(zhuǎn)換的數(shù)字量應(yīng)該保持不變,而微型機(jī)系統(tǒng)輸出
的數(shù)據(jù)在數(shù)據(jù)總線上穩(wěn)定的時間很短,因此在微機(jī)系統(tǒng)與D/A換器間必須用鎖存器來保持?jǐn)?shù)字量的穩(wěn)定,經(jīng)過D/A轉(zhuǎn)換器得到的模擬信號一般要經(jīng)過低通濾波器,使其輸出波形平滑,同時為了能驅(qū)動受控設(shè)備,可以采用功率放大器作為模擬量輸出的驅(qū)動電踐 D/A轉(zhuǎn)換器的作用是將二進(jìn)制的數(shù)字量轉(zhuǎn)換為相應(yīng)的模擬量,其主要部件是電阻開關(guān)網(wǎng)絡(luò)和集成運(yùn)算放大器。
三、開關(guān)量輸入及輸出電路
開關(guān)量輸人、輸出電路是非常重要的教學(xué)內(nèi)容。學(xué)員只有明白了斷路器、變壓器分接頭的位置狀態(tài)是如何被采集和輸出后才能更好地工作。
在變電站綜合自動化系統(tǒng)的數(shù)據(jù)采集中,除模擬信號外,還有大量的以二進(jìn)制數(shù)字變化為特點的信號,如隔離開關(guān)、斷路器的狀態(tài),按鈕、普通的開關(guān)、刀閘、斷路器的觸點以及人機(jī)聯(lián)系的功能鍵的狀態(tài)等,稱為開關(guān)量。
1.開關(guān)量輸入電路
開關(guān)量輸入電路的基本功能就是將變電站內(nèi)需要的狀態(tài)信號引人微機(jī)系統(tǒng),如斷路器狀態(tài)、繼電保護(hù)信號等。開關(guān)量輸人電路由消抖濾波電路、信號調(diào)節(jié)電路、控制邏輯電路、驅(qū)動電路、地址譯碼電路、隔離電路等組成。培訓(xùn)中講清消抖濾波電路與信號調(diào)節(jié)電路、電隔離技術(shù)的應(yīng)用、驅(qū)動控制與端口地址譯碼問題,特別是要了解簡單的開關(guān)量輸人電路。開關(guān)量信號都是成組并行輸人(出)微機(jī)系統(tǒng)的,每組一般為微機(jī)系統(tǒng)的字節(jié),即8, 16或32位,對于斷路器、隔離開關(guān)等開關(guān)量的狀態(tài),體現(xiàn)在開關(guān)量信號的每一位上,如斷路器的分、合兩種工作狀態(tài),可用0, 1表示。簡單的開關(guān)量輸人電路包括斷路器和隔離開關(guān)的輔助觸點、跳合閘位置繼電器觸點、有載調(diào)壓變壓器的分接頭位置等輸入、外部裝置閉鎖重合閘觸點輸人、裝置上連接片位置輸入等回路。
2開關(guān)量輸出回路
開關(guān)量輸出電路主要是將CPU送出的數(shù)字信號或數(shù)據(jù)進(jìn)行顯示、控制或調(diào)節(jié),如斷路器跳閘命令和屏幕顯示、報警信號等。開關(guān)量輸出電路與輸人電路基本一樣。簡單的開關(guān)量輸出主要包括保護(hù)的跳閘出口以及本地和中央信號等,一般都采用并行接口的輸出來控制有觸點繼電器(干簧或密封小中間繼電器)的方法,但為提高抗干擾能力,最好也經(jīng)過一級光電隔離。
四、微型機(jī)系統(tǒng)和變電站綜合自動化算法
微型機(jī)系統(tǒng)的CPU是由一片大規(guī)模集成電路芯片制成,不僅能進(jìn)行算法邏輯運(yùn)算,還能執(zhí)行各種控制功能。配備一定容量的存儲器、輸人/輸出設(shè)備的接口電路及系統(tǒng)總線。計算機(jī)監(jiān)控系統(tǒng)都應(yīng)具有數(shù)據(jù)采集和輸出控制部分,這兩個部分構(gòu)成了基本測控單元的主要內(nèi)容。數(shù)字信號處理器(DSP)是一種經(jīng)過優(yōu)化后用于處理實時信號的微控制器。
在變電站綜合自動化系統(tǒng)中,計算機(jī)對采樣值進(jìn)行分析、計算得到所需的電流、電壓的有效值和相位以及有功功率、無功功率等量,或者算出它們的序分量,或者線路和元件的視在阻抗,或者某次諧波的大小和相位等,并根據(jù)這些參數(shù)的計算結(jié)果以及定值,通過比較判斷決定裝置的動作行為,而完成上述分析計算和比較判斷以實現(xiàn)各種預(yù)期功能的方法就稱為變電站綜合自動化系統(tǒng)算法。其主要任務(wù)是如何從包含有噪聲分量的輸入信號中快速、準(zhǔn)確地計算出所需的各種電氣量參數(shù)。培訓(xùn)中要說明研究算法的目的主要是提高運(yùn)算的精確度和提高運(yùn)算的速度。算法的運(yùn)算速度將影響自動化裝置檢測量的檢測和自動化裝置的動作速度。變電站綜合自動化系統(tǒng)中保護(hù)和監(jiān)控對算法有不同要求。 五、人機(jī)對話、通信和電源插件
1.人機(jī)時話
人機(jī)對話的主要內(nèi)容有顯示畫面與數(shù)據(jù)(包括時間、日期);單線圖的狀態(tài)、潮流信息;報警畫面與提示信息;事件順序記錄。事故記錄;趨勢記錄;裝置工況狀態(tài)顯示;保護(hù)整定值;控制系統(tǒng)的配置顯示,包括退出運(yùn)行的裝置的顯示以及信號流程圖表;值班記錄;控制系統(tǒng)的設(shè)定顯示等。主要介紹人機(jī)對話微型機(jī)系統(tǒng)的硬件原理、鍵盤響應(yīng)電路、屏幕(液晶)顯示電路、打印機(jī)的接口電路、多機(jī)通信和巡檢開關(guān)、人機(jī)對話插件等。重點講清人機(jī)界面操作和命令菜單使用說明。
2.通信插件
通信插件承擔(dān)著裝置的管理和通信任務(wù),是承接裝置與夕卜界通信及交換信息的管理插件,如與面板、PC調(diào)試軟件、監(jiān)控后臺、工程師站、遠(yuǎn)動、打印機(jī)等的聯(lián)系,根據(jù)保護(hù)的配置組織上送遙測、遙信、SOE、事件報文和錄波信息等。通信插件可根據(jù)需要設(shè)置有Lan網(wǎng)口、以太網(wǎng)口、RS485口和RS232口,滿足不同監(jiān)控和遠(yuǎn)動系統(tǒng)的要求。另外,還設(shè)置有GPS對時功能,可滿足網(wǎng)絡(luò)對時和脈沖對時方式的要求。
3.電源插件
每個裝置均有一個獨立的開關(guān)電源,向其他插件供電,此開關(guān)電源與插件面板構(gòu)成電源插件(又叫電源模件)。培訓(xùn)中要重點說明輸出電壓的作用。輸出電壓十SV為CPU及其外圍芯片提供工作電源;15V為模擬輸人回路運(yùn)放提供工作電源;+24V為開出、開人回路提供電源。
六、操作回路
培訓(xùn)中分兩個方面介紹操作回路。一是介紹斷路器操作回路的原理框圖,讓學(xué)員明白操作回路的基本原理;二是讓學(xué)員看懂實際的操作回路。
1斷路器操作回路的原理框圖
首先介紹斷路器操作回路總體上分為合閘回路和跳閘回路兩大部分,介紹合閘回路和跳閘回路的工作過程。手動操作時可選擇遙控操作或就地操作。當(dāng)就地/遙控選擇開關(guān)打至遙控”位置時在后臺機(jī)上手動遙控操作;當(dāng)就地/遙控選擇開關(guān)打至“就地”位置時工作人員在裝置上就地操作斷路器。然后介紹自動操作時保護(hù)接點通過連接壓板直接接人控制電源進(jìn)行斷路器操作,并介紹防跳回路的作用和原理。最后介紹位置信號、控制回路斷線和事故信號。
2.斷路器操作回路實例
斷路器操作回路的原理框圖與實際操作回路還有一些距離,為了學(xué)員更好地工作,還需要講解斷路器實例操作回路,如南瑞繼保電氣有限公司RSC-941A型裝置操作回路和南自IOKV線路保護(hù)測控柜斷路器操作回路。
七、測控裝置
測控裝置用于各種電壓等級的變電站中,綜合考慮變電站對數(shù)據(jù)采集、處理的要求,以微機(jī)技術(shù)實現(xiàn)數(shù)據(jù)采集、控制、信號等功能。采用現(xiàn)場測控網(wǎng)絡(luò)與安裝于控制室的中心設(shè)備連接,依靠變電站自動化系統(tǒng)的間隔測控單元實現(xiàn)全變電站的監(jiān)控。裝置完全按照間隔單元實現(xiàn)測量、記錄、監(jiān)視、控制等功能,能夠滿足各種電壓等級的變電站綜合自動化系統(tǒng)的要求。
1.測控裝置硬件結(jié)構(gòu)與功能
測控裝置主要由交流變換插件、CPU插件、顯示面板、通訊插件、開入開出插件、電源插件等模塊構(gòu)成。測控裝置功能有開關(guān)量變位遙信;電壓、電流的模擬量輸入;斷路器遙控分合,空接點輸出,出口動作保持時間可程序設(shè)定;脈沖累加單元,空接點開入;遙控事件記錄及事件SOE;支持行業(yè)標(biāo)準(zhǔn)通訊接口。
2.PSR650系列數(shù)字式綜合測控裝置
PSR650系列數(shù)字式綜合測控裝置適用于各電壓等級變電站等測量控制領(lǐng)域,實現(xiàn)四遙及同期合閘等自動功能。
PSR650系列數(shù)字式綜合測控裝置為19英寸機(jī)箱裝置配置,2一3塊交流采集模件(AC),共采集12路電流、12路電壓、1塊直流溫度采集模件(DC, TDC)可選,共12路采集、2塊數(shù)字量采集模件(DI),共40路采集(包括脈沖量采集);2塊智能控制模件(OUT),共20路開接點輸出;CPU模件、POWER模件各一塊。該裝置插件圖如圖3所示。
PSR652數(shù)字式綜合測控單元面板由液晶顯示屏、二級管指示灶復(fù)歸按鈕和鍵盤等四部分組成。PSR 650系列數(shù)字式綜合測控裝置的鍵盤操作和液晶顯示界面采用對話框結(jié)合菜單式操作方式。
八、總結(jié)
關(guān)鍵詞:虛擬現(xiàn)實;Quest3d;3D技術(shù)
中圖分類號:TP393 文獻(xiàn)標(biāo)志碼:A 文章編號:1673-8454(2017)14-0087-05
虛擬現(xiàn)實技術(shù)是創(chuàng)建和體驗虛擬世界的計算機(jī)仿真系統(tǒng)技術(shù),伴隨新技術(shù)的迅猛發(fā)展,虛擬現(xiàn)實技術(shù)作為新型技術(shù)引起人們的高度關(guān)注,虛擬現(xiàn)實技術(shù)創(chuàng)建出的虛擬環(huán)境,使用戶產(chǎn)生視、聽、觸、嗅等真實的感受,其強(qiáng)大的功能已經(jīng)被廣泛應(yīng)用于各個領(lǐng)域,對中小學(xué)教育信息化的發(fā)展產(chǎn)生了一定的影響,其在教育應(yīng)用中亦起到了很大的作用,校園是這項未來技術(shù)的著陸點,在教育領(lǐng)域中,以虛擬現(xiàn)實技術(shù)為支撐的3D 打印技術(shù)正逐漸步入人們的視野。特別是中小學(xué)基礎(chǔ)教育領(lǐng)域。3D 打印技術(shù)在學(xué)校社團(tuán)活動中嶄露頭角,但3D 打印在虛擬現(xiàn)實中的應(yīng)用還是一個嶄新的領(lǐng)域,虛擬現(xiàn)實應(yīng)用過程中有許多技術(shù)問題值得我們深究。
本文就虛擬現(xiàn)實交互實現(xiàn)平臺Quest3d進(jìn)行了研究和探討,提出了基于Quest3d虛擬現(xiàn)實教學(xué)系統(tǒng)的設(shè)計框架,對在學(xué)習(xí)中遇到的Quest3d技術(shù)難點進(jìn)行了探討,并對平時實踐研究中收集到的資源進(jìn)行了分析和總結(jié),提出了一些自己的想法,以期為增強(qiáng)學(xué)習(xí)者的真實體驗、主動學(xué)習(xí)及創(chuàng)客教育在教學(xué)中的有效開展和實施起到一定的推動作用。
一、虛擬現(xiàn)實技術(shù)概述
1.虛擬現(xiàn)實技術(shù)
虛擬現(xiàn)實(Virtual Reality,簡稱VR),也稱為靈境技術(shù),是一種可以創(chuàng)建和體驗虛擬世界的計算機(jī)系統(tǒng)[1]。它的主要特征有沉浸性(Immersion)、交互性(Interaction)和想象性(Imagination)[2]。
在虛擬現(xiàn)實中,使用者不僅能夠感受到在實體世界中所經(jīng)歷的“身臨其境”的逼真性,而且能夠突破地點、空間、時間以及其他客觀限制,感受到真實世界中無法經(jīng)歷的交互體驗[3]。虛擬現(xiàn)實技術(shù)的應(yīng)用非常廣泛,它最開始用于軍事和航空航天領(lǐng)域,近年來,虛擬現(xiàn)實技術(shù)大步走進(jìn)教育培訓(xùn)、文化娛樂、交通模擬、工業(yè)設(shè)計、建筑設(shè)計、空間展示設(shè)計、城市規(guī)劃以及新媒體設(shè)計等領(lǐng)域,并逐漸改變著我們的生活[4]。
2.虛擬現(xiàn)實互動開發(fā)平臺
在交互媒體中,國內(nèi)外有多種實現(xiàn)虛擬現(xiàn)實開發(fā)系統(tǒng)的平臺,國外的主要有:瑞典Cycore公司研發(fā)的Cult3D,主要支持線上瀏覽和操作交互設(shè)置的三維模型[5];美國Multi Gen-Paradigm公司研發(fā)的Multigen VEGA,在實時視覺模擬和數(shù)據(jù)分析方面效果顯著[6];法國研發(fā)的Virtools是虛擬現(xiàn)實平臺中應(yīng)用較多的一款引擎,Virtools 制作的沉浸感的虛擬環(huán)境非常逼真,廣泛應(yīng)用于實時3D環(huán)境虛擬實境編輯、計算機(jī)游戲開發(fā)、教育訓(xùn)練等各個領(lǐng)域[7];Unity3D是由Unity Technologies開發(fā)的一款支持三維視頻游戲、實時三維動畫等多種類型互動的多平臺虛擬現(xiàn)實開發(fā)工具[8]。
另外國內(nèi)比較有代表性的是深圳希技數(shù)碼科技自主開發(fā)的HD(House Designer)平臺,主要用于室內(nèi)三維空間展示,還有北京中視典數(shù)字科技公司開發(fā)的VR-Platform三維互動仿真平臺[9]。
3.Quest3d 平臺介紹
本文主要介紹荷蘭Act-3D B.V.公司開發(fā)的Quest3d虛擬現(xiàn)實開發(fā)平臺。筆者對Unity3d和Quest3d兩款虛擬現(xiàn)實制作平臺進(jìn)行了比較分析:Unity3d應(yīng)用領(lǐng)域和功能更加強(qiáng)大,但是需要開發(fā)者具有深厚的編譯程序和編寫底層代碼的能力;而Quest3d使用者可以用系統(tǒng)中自帶的多種元件模塊為基礎(chǔ),通過Channel元件組塊“搭積木”的方式,直接鼠標(biāo)拖過來就可以了,如圖1所示,不需要像Unity3d一樣要編寫上千行的復(fù)雜代碼,高效完成了虛擬現(xiàn)實系統(tǒng)的開發(fā),降低了門檻,更易上手和學(xué)習(xí)使用。
二、基于 Quest3d虛擬現(xiàn)實系統(tǒng)平臺構(gòu)建的優(yōu)勢及不足
1.Quest3d軟件的優(yōu)勢
(1)易用性。在Quest3d里,所有的編輯器都是視覺化、圖形化的,真正所見即所得。它封裝了很多可視化的模塊,編程界面可視化程度高,用戶不需要花費時間去編譯程序和復(fù)雜的底層代碼及運(yùn)算圖形,大部分程序操作可以采用“搭積木”的方法實現(xiàn)。
(2)高效便捷。正由于Quest3d軟件通過函數(shù)的封裝、采用元件模塊去實現(xiàn)函數(shù)功能的可視化,所以使用者只需要將所需的功能模塊通過鼠標(biāo)拖拽的方式就可以搭建虛擬現(xiàn)實系統(tǒng),提高了工作效率,高效地實現(xiàn)虛擬系統(tǒng)的開發(fā)。
(3)Quest3d價格相對低廉,適用性廣。
(4)Quest3d中內(nèi)建有許多的物體,如:具有逼真的人物、植物、光照、陰影、山林、火及煙的特效,還有真實的水波紋效果,可以輕易地加入Quest3d場景中。
(5)Quest3d比較適合做小的場景,效果和美工方面較好。
2.Quest3d軟件的不足
(1)和其它相關(guān)軟件配合不太流暢,和其它三維軟件兼容性不是太好。
(2)Quest3d支持平臺沒有Unity3d軟件廣,插件、格式限制較嚴(yán)格,且不適合做大的場景。
(3)Quest3d可利用的資源較少,在網(wǎng)上可查找到的Quest3d方面的籍、視頻教程、論壇相較于其它三維軟件少。
(4)Quest3d對模型的數(shù)據(jù)量有很多的限制,碰撞捕捉也不是很精確。
三、基于Quest3d虛擬現(xiàn)實教學(xué)系統(tǒng)的設(shè)計
基于Quest3d虛擬現(xiàn)實教學(xué)系統(tǒng)的設(shè)計主要包括前期準(zhǔn)備階段、3D建模階段、交互設(shè)置階段、階段。如圖2所示。
前期準(zhǔn)備階段:先要對虛擬現(xiàn)實教學(xué)系統(tǒng)進(jìn)行需求分析,即最終要實現(xiàn)的目的和效果,教學(xué)設(shè)計包括學(xué)習(xí)內(nèi)容選擇、學(xué)習(xí)內(nèi)容分析、教學(xué)目標(biāo)分析、學(xué)習(xí)對象分析,根據(jù)教學(xué)設(shè)計內(nèi)容進(jìn)行素材收集,確定各環(huán)節(jié)具體顯示效果。
3D建模階段:先要進(jìn)行三維模型的建模,如比較常用的3dsMax、Maya,在Photoshop中修正的紋理貼圖等賦予3D模型,設(shè)置正確UV,在3dsMax中布置燈光、烘焙貼圖后進(jìn)行場景的集成。
交互設(shè)置階段:場景集成后,通過PandaDirectXMaxExporter_x86_6.2012.72.0.插件將三維模型轉(zhuǎn)換成Quest3D所支持的.X 格式,順利導(dǎo)入Quest3D編輯器中,然后通過元件模塊即Channel開發(fā)實現(xiàn)場景的漫游、人機(jī)交互、特效編輯,完成系統(tǒng)的各項功能。
階段:平臺搭建完成后,經(jīng)過不斷的測試和優(yōu)化,生成QuestViewer能夠播放的*.Q3D文件或成可獨立執(zhí)行的 *.exe 文件。
四、基于Quest3d平臺核心技術(shù)的實踐應(yīng)用
1.外部三維模型的導(dǎo)入
因為Quest3d平臺本身對建模的限制,故在Quest3d平臺中的模型搭建基本上都是從外部建模軟件導(dǎo)入,而要將外部的三維模型(如3dmax、maya中所做的模型)順利導(dǎo)入到Quest3d中,在實踐操作中,首先要解決一個技術(shù)問題,即插件的問題,從網(wǎng)上下載的插件PandaDirectXMaxExporter_x86_6.2012.72.0,在3dsMax的插件當(dāng)中加載一下,加載完成之后在3dsMax導(dǎo)出對話框中就會有Quest3d所支持的.X格式文件選項,解決了插件問題,就能將自己在三維軟件中所做的模型保存成Quest3d所支持的格式,順利導(dǎo)入到Quest3d中。不過在實踐的過程中,所下載的插件PandaDirectXMaxExporter_x86_6.2012.72.0.只是針對3dMax平臺的插件,而且它僅支持3dMax2012及之前的版本,而對于2012之后的3dMax版本則不支持,故在實踐操作應(yīng)用中,對不同的平臺和建模軟件加載的插件版本要求不一。
2.“.x”和“.cgr”格式導(dǎo)入貼圖區(qū)別
在使用過程中,可以將3dmax中所做出的三維模型分別保存成.x和.cgr格式導(dǎo)入到Quest3d中。
首先,對于.x格式,如何將3dMax中經(jīng)過復(fù)雜貼圖和3d烘焙后的三維模型導(dǎo)入到Quest3d中是實踐中的一個技術(shù)難點,在虛擬現(xiàn)實平臺制作的過程中,筆者曾經(jīng)嘗試兩種方法導(dǎo)入物體,一種是在3dMax中導(dǎo)入一個最原始的未加任何貼圖和渲染的模型,則能順利導(dǎo)入,另一種導(dǎo)入經(jīng)過渲染的三維模型,則能將模型導(dǎo)入,但之前的渲染和貼圖則消失,解決辦法就是要將3dMax中所做的三維模型存放到同一個文件夾下,再導(dǎo)入到Quest3d中進(jìn)行勾選。所以.x格式導(dǎo)入到Quest3d中要一直指定貼圖的路徑,這時候Quest3d會自動掃描文件夾,尋找場景中所用的貼圖。
其次,用同樣的兩種方法將保存成.cgr格式的三維模型導(dǎo)入到Quest3d中,則3dMax中所做的三維模型和貼圖即使沒有存放到同一個文件夾下,也能導(dǎo)入到Quest3d中,這是和.x格式導(dǎo)入Quest3d不一樣的地方。
3.貼圖烘焙問題
因為筆者在3dsMax中學(xué)過渲染烘焙,所以在Quest3d中也想實踐下如何烘焙,于是在學(xué)習(xí)制作過程中對二者的烘焙進(jìn)行了一些嘗試和比較,一種是直接在Quest3d中運(yùn)用其自身程序?qū)ξ矬w進(jìn)行貼圖烘焙。另外一種是在3dsMax中通過“Render to tecture”命令進(jìn)行貼圖烘焙,完成后導(dǎo)入Quest3d中,實現(xiàn)貼圖烘焙。結(jié)果通過Quest3d直接進(jìn)行貼圖烘焙效果不佳,其自身燈光系統(tǒng)不完善導(dǎo)致光影關(guān)系較弱,得不到最佳效果,而通過在3dsMax中烘焙后再導(dǎo)入Quest3d中則完美地解決了這一問題。
所以實踐操作中,針對烘焙這個難題,筆者認(rèn)為,一方面,Quest3d貼圖烘焙一定要在3dsMax中最大程度完成,減少Q(mào)uest3d中后期的修改;另外一方面,在3D中烘焙,由于計算量大,可能會因為軟件性能的瓶頸而導(dǎo)致出錯和死機(jī),因此,應(yīng)該盡量減少烘焙時候的面數(shù)或者進(jìn)行分段烘焙。另外,受限于Quest3d軟件自身,單純依靠貼圖烘焙技術(shù)并不能完全模擬所有特效,需在Quest3d中加載其他模塊進(jìn)行特效的模擬。
4.光照陰影
在Quest3d中光照和陰影也是實踐操作中一大難點,模型上有了陰影才有更強(qiáng)的立體感,然而在Quest3d中制作實時的陰影是相當(dāng)耗費資源的,而模型一旦很大,陰影就會計算錯誤,這是一個困難點,比如在利用光照和陰影來做房子的光照映射時,如圖3所示,當(dāng)做到將“Width”和“Height”都設(shè)置為1024時,結(jié)果并不能顯示物體的陰影,所以這個設(shè)置的數(shù)據(jù)是不對的,當(dāng)設(shè)置這個“Width”為1024“Height”為512時,則物體陰影顯示出來,但物體顯示的陰影卻是不規(guī)則的,方向各不相同,如何將這些陰影都按照光線的方向規(guī)則的顯示是一個難題,所以實時陰影的顯示需要后續(xù)進(jìn)一步的研究和深入探討。
5.聲音導(dǎo)入
聲音是一個虛擬現(xiàn)實場景中不可或缺的元素,真實的聲音可以烘托場景氛圍,使用戶獲得身臨其境般的聽覺、視覺體驗。Quest3d軟件中有多個元件可以支持聲音的播放、調(diào)節(jié)等操作,目前Quest3d軟件中可以支持wav、MP3、MIDI格式的外部音文件。
在Quest3d中進(jìn)行聲音的導(dǎo)入主要有兩點:①在Quest3d4.2.2版本中小汽車聲音不能導(dǎo)入,卻在Quest3d4.3.2中導(dǎo)入了小汽車的聲音,這個不是軟件版本的問題,應(yīng)該是小汽車的聲音文件的問題,因為在網(wǎng)上下載的MP3格式的音樂經(jīng)過格式工廠進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成.wav格式的音樂,再導(dǎo)入到Quest3d中,無論是Quest3d4.2.2版本還是Quest3d4.3.2版本的都能夠正常進(jìn)行播放。②在虛擬現(xiàn)實場景中“關(guān)于音頻時間長短的問題”,虛擬現(xiàn)實場景中插入聲音文件之后如何設(shè)置音頻時間,使用Sound File Channel將聲音文件導(dǎo)入到系統(tǒng)中去,根據(jù)相機(jī)和聲源的相對位置自動調(diào)整聲音的音量、左右聲道和頻率效果,即可以實現(xiàn)修改音頻時間長短的問題。
五、基于Quest3d軟件虛擬現(xiàn)實技術(shù)的資源建設(shè)及思考
1.Quest3d平臺資源庫
(1)期刊文獻(xiàn)資源
在中國知網(wǎng)CNKI數(shù)據(jù)庫中,通過查閱眾多文獻(xiàn),發(fā)現(xiàn)虛擬現(xiàn)實方向研究所用到的虛擬現(xiàn)實實現(xiàn)方法最多的是Multigen Vega和VRML,專門研究這兩個方法的期刊論文和博士碩士論文也最多。而對于“Quest3d”方面的文,大多是如何用Quest3d來做一個虛擬漫游場景,或者是“基于Quest3d的某方面的設(shè)計和實現(xiàn)”。
(2)書籍
通過閱讀一些“虛擬現(xiàn)實”方面的書籍,從圖書館和網(wǎng)上進(jìn)行搜集,主要閱讀了《虛擬現(xiàn)實案例教程:基于Quest3D/VR-Platform/Virtools項目》(隨書有光盤),以及《中國高校動畫專業(yè)系列教材――Quest3D虛擬現(xiàn)實設(shè)計》和復(fù)印的講義《Quest3D教程指南》。同時,在當(dāng)當(dāng)網(wǎng)、亞馬遜中查找,發(fā)現(xiàn)目前我國現(xiàn)在出版的“Quest3d”方面的書籍還是較少的,主要是這三本:《虛擬現(xiàn)實案例教程:基于Quest3D/VR-Platform/Virtools項目》(隨書有光盤)、《Quest3D從入門到精通》(隨書有光盤),以及《中國高校動畫專業(yè)系列教材――Quest3D虛擬現(xiàn)實設(shè)計》。關(guān)于“虛擬現(xiàn)實”方面的書籍雖然很多,但關(guān)于Quest3d在虛擬現(xiàn)實中應(yīng)用的書籍較少,有的書籍中或多或少提及Quest3d,但關(guān)于Quest3d的介紹,很多書籍只是把它作為虛擬現(xiàn)實實現(xiàn)平臺的一個引擎,或一筆帶過,或只是重點介紹了一下軟件的概況,并沒有全面介紹,而有針對性的通過一些案例的示范來對Quest3d進(jìn)行講解的更是少之又少。
(3)網(wǎng)絡(luò)視頻、論壇資源
搜集到的網(wǎng)上的視頻,免費的有“Quest3d官方八集視頻教程”、“Quest3d手把手教學(xué)”“Quest3d基礎(chǔ)教程”,這些免費教程在百度和一些論壇里面都可以下載,但都只是簡單的小案例的實現(xiàn),而且視頻中的素材貼圖都無法獲取,只是一些基礎(chǔ)。
而收費的教程比較有權(quán)威和全面的是parrot錄制的視頻教程,有:parrot主講 《Quest3d系列教程》10小時視頻教程、《Quest3d系列》10小時教程(不是書籍)、parrot主講《玄武招商》7.5小時教程(不是書籍)、 parrot主講《Quest3d大揭秘系列教程之boat Visualization》。這些收費的視頻教程一方面內(nèi)容很全,比如在parrot主講 《Quest3d系列教程》10小時視頻教程中,它的內(nèi)容就包括基礎(chǔ)界面、模型貼圖、漫游控制、邏輯程序、邏輯強(qiáng)化練習(xí)、界面定制、燈光陰影、動畫控制、動畫技巧練習(xí)、粒子系統(tǒng)、角色動畫、For 循環(huán)與數(shù)組、內(nèi)置 Shader、種植系統(tǒng)、有限狀態(tài)機(jī)、尋徑、實時反射、全局特效、聲音控制、動態(tài)加載等很多方面的知識,包括“Quest3d軟件中撤銷(undo)的問題”都有解決答案。但是另一方面這樣的視頻課程又是很昂貴的。所以現(xiàn)在整體而言,Quest3d方面的視頻資源還是很匱乏的。
Quest3d的論壇資源在網(wǎng)上則比較多樣化,論壇比較活躍和資源較多的網(wǎng)站有很多,比如Quest3d論壇-建筑可視化虛擬現(xiàn)實、Quest3d資訊作品教程-SketchUp中國論壇、Quest3d官方論壇等等。
2.基于Quest3d軟件資源建設(shè)的思考
(1)學(xué)習(xí)形式多樣化
僅僅學(xué)習(xí)Quest3d軟件是不夠的,Quest3d作為后期的組裝加工固然重要,但是素材的收集、二維貼圖制作、三維建模這些前期的準(zhǔn)備是極其重要的,特別是3dsMax尤其重要,由于Quest3d自身不具備三維建模的能力,在Quest3d中復(fù)雜的三維模型都需要從外部導(dǎo)入,因此3dsMax這樣的三維軟件在虛擬現(xiàn)實設(shè)計過程中就發(fā)揮著很重要的作用,如果這些不會,就沒有可以組裝的原料,所以,如果要完成一個漫游類虛擬現(xiàn)實項目的設(shè)計與制作,則要學(xué)懂Photoshop和3dmax,沒有這樣的基礎(chǔ),Quest3d場景制作是不可能的。
(2)外部資源優(yōu)化
首先,Quest3d現(xiàn)有資源應(yīng)加強(qiáng)和外部一些軟件的契合,比如在講到3dmax或Maya中三維模型導(dǎo)入到Quest3d中,有些書籍中并沒有講清楚“插件從哪可以下載到”、“插件對于各種版本的要求是怎樣的”,“.x和.cgr不同的保存格式導(dǎo)入到Quest3d中效果實現(xiàn)哪個更好”,只是很籠統(tǒng)的讓讀者自己可以在“F1幫助”中下載(這只是針對正版軟件),但是具體操作過程卻并沒有那么簡單,需要自己好好琢磨。
其次,現(xiàn)有參考書籍中如果能夠講到貫穿于整本書中到底用的是什么版本的MAX和Quest3d,使用者用起來更加高效,因為不同的版本可能對插件和一些參數(shù)的設(shè)置會有不同的要求,有時即使按照這些書上的案例照著做,也沒有實現(xiàn)最終的效果,有沒有是版本的問題?而對于很新版本的比如Quest3d5.0有什么功能和進(jìn)步之處,書籍中也鮮有提及,如果在講解的同時能夠結(jié)合最新的軟件版本和功能進(jìn)行比對,應(yīng)該會更方便學(xué)習(xí)和使用。
(3)分享交流
在資源建設(shè)中所推薦的論壇中與學(xué)習(xí)者進(jìn)行交流和分享,還是很受益的。論壇中的資源很多都是最新的,通過回答別人的疑問,或者提出問題,大家可以共同進(jìn)步。所以筆者認(rèn)為要想學(xué)到更多的Quest3d知識,就應(yīng)該多多上論壇,和大家一起分享交流。
六、總結(jié)和展望
虛擬現(xiàn)實技術(shù)是教育信息化發(fā)展的一個趨勢,通過對教學(xué)場景在虛擬現(xiàn)實中的三維構(gòu)建,營造逼真的學(xué)習(xí)情境,可以更好地發(fā)揮教育信息化的作用,目前在中小學(xué)社團(tuán)活動中,3D打印很受學(xué)生歡迎,3D 打印技術(shù)本質(zhì)上就是虛擬現(xiàn)實技術(shù)的延伸,它將學(xué)生奇特的想法變成現(xiàn)實,3D打印技術(shù)以虛擬現(xiàn)實技術(shù)為依托,在教學(xué)中的應(yīng)用提高了學(xué)生的動手能力,促進(jìn)了學(xué)生思維能力的進(jìn)一步發(fā)展,相信在未來的幾年,虛擬現(xiàn)實技術(shù)必將大面積走進(jìn)中小學(xué)課堂,必將對現(xiàn)有教學(xué)產(chǎn)生深刻的影響和變革。
參考文獻(xiàn):
[1]高飛.虛擬現(xiàn)實應(yīng)用系統(tǒng)設(shè)計與開發(fā)[M].北京:清華大學(xué)出版社,2012.
[2]劉光然.虛擬現(xiàn)實設(shè)計[M].北京:清華大學(xué)出版社,2011.
[3]柳純. Quest3D 虛擬現(xiàn)實設(shè)計[M].上海:東方出版中心,2010.
[4]劉向群,吳彬.虛擬現(xiàn)實案例教程:基于Quest3D/VR-Platform/Virtools項目[M].北京:中國鐵道出版社,2012.
[5]趙蔚,段紅.虛擬現(xiàn)實軟件研究[J].計算機(jī)技術(shù)與發(fā)展,2012(2):228-231.
[6]趙建民,何林知.基于Quest 3D 虛擬漫游的探索與實踐[J].浙江大學(xué)學(xué)報(自然科學(xué)版),2013(8):24-28.
[7]王濟(jì)軍,魏雪峰.虛擬實驗的“熱”現(xiàn)狀與“冷”思考[J].中國電化教育,2011(13):12-15.