史延軍
[摘 要]局域網中,不同的工作站之間直接交換屏幕信息,能夠將信息交換速度有效提升。而這一技術則可以應用于相應的系統,并借助于一系列技術,形成基于“前臺可持續操作”的后臺實時收發屏幕信息的相應系統。
[關鍵詞]后臺;點對多點廣播;實時接收;Netibos
1系統組成及工作原理
本系統共計有接收播放、后臺廣播發送、前臺支持三個主體模塊。后兩者在發送工作站運行,前臺支持模塊主要對TC、WPS等DOS應用程序的運行做出保證,后臺廣播發送模塊主要負責廣播發送和打包、壓縮、采集前臺屏幕數據之類;接收播放模塊則在接收工作站運行,主要任務是接收、拆包、解壓縮數據以及前臺播放。其工作原理詳見圖1:
2前臺支持模塊的實現技術
本系統功能的實現要依托一系列任務操作系統,鑒于DOS的局限性,將前臺支持模塊修改DOS作為其首要任務。
本模塊中,主要借助中斷技術實現DOS初始化運行環境并對通往后臺的功能加以建立。
前者主要以捕獲鍵盤操作、解決DOS問題為主,為此主要設置了防止系統中斷的現場數據保存“自用堆棧”。并對相應功能加以修改,同時將PSP切換加以實現。使得本模塊可在鍵盤操作時,直接讀取按鍵并操作。
后者主要以18.2s-1次頻率的“定時中斷”為主,同時也調用相應的系統調用——其又是一條空操作。由此,將后臺廣播發送模塊設置為常駐內存。在調用時僅需條件滿足即可對之加以激活,實現自動發送后臺數據。
3后臺廣播發送和接收模塊
3.1數據采集函數
此方面主要人物為采集屏幕數據。為盡快完成采集,其函數應直接讀取數據于顯示緩沖區中。在此過程中,因為顯示模式會因前臺程序而存在差異,故而應加以區別對待——文本模式多為約4kB的“常數據量”,而圖形模式則有著較大的數據量。應怎樣將后者的數據在不產生較大動畫感的前提下實時發送出去則成為了重大問題——為此,本研究先將屏幕信息劃分為可以分別采集的若干由發送信息幀大小、壓縮方法兩因素決定大小的部分,隨后將之發送到壓縮函數。
3.2壓縮函數
在此方面主要采取的辦法包括RUNLENGTH(行程碼)、JPEG兩種。
因為很多DOS軟件以圖形作為屏幕圖像,故而其數據有著很強的“相鄰相同”特點。本身是一種映射的RUNLENGTH(行程碼)的編碼方法簡單、無損壓縮等特點對之最為適合。若其中具有相同值g存在于l個相鄰數據中,則可體現為(g,l)。以此法對變換變換所有數據(X1,X2,……Xm),即可獲得(g1,l1),(g2,l2)……(gm,lm)這一數據對序列的行程碼。其中圖像中數據串的“重復率”和壓縮率成正比關系,但一旦大部分l小于lm的話,就會發生一定的壓縮問題。JPEG方法具備較高成熟性,在此解說從略。
3.3信息幀數據結構
此方面主要包括打包、后臺發送函數等重要活動,考慮到此后該技術的發展,本系統主要采取以Noibtos支持作為基礎的編程。Neibtos類屬“標準接口”,其和協議無關,提供的功能具備“標準性”,在OSI模型中位居會話、表示兩層間。其數據報長512B——同時也是打包函數包長。由于其長度較小且屏幕數據量大,同時后臺以“無連接發送”為主,往往會發生接收時不按順序的情況。故而本技術中擴充了Neibtos數據報傳輸協議,給每個數據包在打包時加以編號,從而確定其屏幕位置,保證信息實時、完整性。
3.4后臺發送原理
打包函數以NCB形式組織數據包,隨后向Netbios提交。后者將之置入內部待處理隊列。在發送完成后,則在NcbRteCdoe、NcbCmdClpt等處保存最后結果。可以中斷處理程序形式處置POST程序,將之地址在執行非等待命令時“告訴”Neibtos并返回前臺。而在完成后臺命令時則對POST程序自動執行。其Nehtios調用步驟包括構造NCB、在ES:Bx寄存器寫入NCB地址、執行scH中斷等。而調用ST程序時應滿足其他寄存器無特別代碼、有最終返回代碼位于ES:Bx寄存器對、有最終返回代碼位于CPU的AL寄存器、全部中斷被屏蔽四個條件。
3.5實現廣播和接收
在網絡中,NeibtosLAN適配器的區分辦法在于名字。在發送信息時,也只有指定的名字(工作站)才可獲得Neibtos信息。如此,主要將同組工作站組名統一化,便可同時獲得Neibtos的信息,從而將“點對多點”廣播發送加以落實。并且以時鐘中斷激活此后的廣播發送函數。
接收函數方面同樣一以后臺方式為主,以“循環輪詢”這一辦法對信息加以“監聽”,若有則第一時間加以接收。
參考文獻:
[1]鄭迪文,沈立煒,彭鑫,趙文耘.??基于AJAX的Web應用構件組裝技術及工具[J].?計算機科學.?2014(11).
[2]曹永鴻.??基于Web的學校網絡中心空調遠程監控[J].?電腦編程技巧與維護.?2014(15).
[3]高鵬,徐小力,吳國新,蔣章雷.??基于Ajax的四層架構遠程監測系統設計[J].?計算機工程與設計.?2014(02).□(編輯/穆楊)