【正文】
library 時用到。 ? 日志格式化 :決定日志記錄輸出的實際格式。 ? 日志源 :應用程序寫日志時的入口,其實質(zhì)是一個 logger 對象的實例。 9 ? 屬性值 :那就是上面所說的屬性的值了,可以是各種數(shù)據(jù)類型。 Boost 的 log 庫 ( 1) 相關概念 ? 日志記錄 :一個獨立的消息包,這個消息包還不是實際寫到日志里的消息,它只是一個候選的消息。 Boost 由于其對跨平臺的強調(diào),對標準 C++的強調(diào),與編寫平臺無關。 Boost 庫由 C++標準委員會庫工作組成員發(fā)起,其中有些內(nèi)容有望成為下一代 C++標準庫內(nèi)容。 如圖 所示 。 在 client 端,用戶自定義 CalculatorClient 類型的對象(用戶在 .thrift 文件中聲明的服務名稱是 Calculator,則生成的中間代碼中的主類為 CalculatorClient),該對象中封裝了各種服務,可以直接調(diào)用(如 ()) ,然后 thrift 會通過封裝的 rpc 調(diào)用 server 端同名的函數(shù)。 a) .thrift 文件編寫 一般將服務放到一個 .thrift 文件中,服務的編寫語法與 C 語言語法基本一致,在 .thrift 文件中有主要有以下幾個內(nèi)容:變量聲明、數(shù)據(jù)聲明( struct)和服務接口聲明( service, 可以繼承其他接口)。 ( 3)支持的服務模型 TSimpleServer – 簡單的單線程服務模型,常用于測試 TThreadPoolServer – 多線程服務模型,使用標準的阻塞式 IO。 TZlibTransport – 使用 zlib 進行壓縮, 與其他傳輸方式聯(lián)合使用。 TFileTransport – 以文件形式進行傳輸。 7 支持的數(shù)據(jù)傳輸格式、數(shù)據(jù)傳輸方式和服務模型 ( 1)支持的傳輸格式 TBinaryProtocol – 二進制格式 . TCompactProtocol – 壓縮格式 TJSONProtocol – JSON 格式 TSimpleJSONProtocol –提供 JSON 只寫協(xié)議 , 生成的文件很容易通過腳本語言解析。用戶在 Thrift 描述文件中聲明自己的服務,這些服務經(jīng) 過編譯后會生成相應語言的代碼文件,然后用戶實現(xiàn)服務(客戶端調(diào)用服務,服務器端提服務)便可以了。 Thrift 通過一個中 間語言 (IDL, 接口定義語言 )來定義RPC 的接口和數(shù)據(jù)類型,然后通過一個編譯器生成不同語言的代碼(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C, Cocoa, Smalltalk 和OCaml) ,并由生成的代碼負責 RPC 協(xié)議層和傳輸層的實現(xiàn)。 一個抽象某型有兩個方面,當其中一個方面依賴于另一個方面,這時用觀察者模式可以將這兩者封裝在獨立的對象中使它們各自獨立地改變和復用。 缺點 依賴關系并未完全解除,抽象通知者依舊依賴抽象的觀察者。 模式總結 優(yōu)點 觀察者模式解除了主題和具體觀察者的耦合,讓耦合的 雙方都依賴于抽象,而不是依賴具體。一個被觀察者可以對應多個觀察者,當被觀察者發(fā)生變化的時候,他可以將消息 一一通知給所有的觀察者。 觀察者將自己注冊到被觀察者的容器中時,被觀察者不應該過問觀察者的具體類型,而是應該使用觀察者的接口。 被觀察 被觀察對象發(fā)生了某種變化(如圖中的 SomeChange),從容器中得到所有注冊過的觀察者,將變 化通知觀察者。 模式解讀 實現(xiàn)觀察者模式有很多形式,比較直觀的一種是使用一種 ―注冊 ——通知——撤銷注冊 ‖的形式。 抽象觀察者( Observer):為所有的具體觀察者定義一個接口,在得到主題通知時更新自己。抽象主題提供一個接口,可以增加和刪除觀察者對象。觀察者就是解決這類的耦合關系的。 解決的問題 將一個系統(tǒng)分割成一個一些類相互協(xié)作的類有一個不好的副作用,那就是需要維護相關對象間的一致性。 4 圖 JH scheduler 總體結構圖 觀察者模式簡介 概述 觀察者模式 有時被稱作發(fā)布 /訂閱模式,觀察者模式定義了一種一對多的依賴關系,讓多個觀察者對象同時監(jiān)聽某一個主題對象。 作為云計算基礎架構產(chǎn)品, JH Scheduler 與其基礎之上的 Web portal 產(chǎn)品提供安全友好的用戶管理和使用界面;通過與 JH License Manager 集成管理應用集 群系統(tǒng)的許可證資源,并提供專門針對許可證資源的先進調(diào)度;通過與 JH Analytics 集成為用戶提供豐富的資源使用和作業(yè)調(diào)度報表功能,以及詳盡靈活的計費系統(tǒng)。 由 JH Scheduler 管理的應用 集群系統(tǒng)具有高可靠性,作業(yè)在沒有資源的情況下將在系統(tǒng)中排隊等待資源。 為了使計算資源得到高效使用, JH Scheduler 內(nèi)置多種高效的管理調(diào)度策略,包括先來先服務、用戶 /用戶組資源配額管理、基于隊列的優(yōu)先級設置、資源公平共享調(diào)度、獨占式作業(yè)調(diào)度、搶占式作業(yè)調(diào)度等,基于這些策略, JH Scheduler把應用軟件的每一次執(zhí)行實例作為一個作業(yè)來進行調(diào)度和管理,并為管理員和作業(yè)的用戶提供方便的作業(yè)狀態(tài)監(jiān)控和友好的用戶界面。 JH Scheduler 支持多種類型應用軟件的通用中間件,包括 CAD/CAE 軟件、制造業(yè)設計軟件、石油勘探分析軟件、模擬仿真軟件、科學計算軟件等,這些不同類型的應用軟件可以同時使用 JH Scheduler 管理的應用集群,從而實現(xiàn)計算資源的充分共享。它可以監(jiān)控、調(diào)度、管理網(wǎng)絡上的 10 臺到上千臺不同操作系統(tǒng)的服務器、工作站和虛擬機,把它們作為云計算資源集中管理起來為多種類型的應用軟件提供統(tǒng)一服務平臺。云協(xié)作平臺的主要功能是:分工合作、資源控制、作業(yè)管理等功能。 第六章:系統(tǒng)測試 第七章:總結 2 課題設計的關鍵技術 3 2 課題設計的關鍵技術 云協(xié)作平臺 是通過資源調(diào)度管理系統(tǒng),統(tǒng)一對用戶作業(yè)需求進行動態(tài)管理、分配資源的協(xié)作的系統(tǒng)。 第四章 : 系統(tǒng)概要設計 ,從軟件體系結構,數(shù)據(jù)庫設計,系統(tǒng)功能模塊設計等方面敘述。 第二章:主要介紹 資源調(diào)度管理系統(tǒng)( JH scheduler)和 開發(fā)本系統(tǒng)所采用的相關技術,包括 設計模式中的 觀察 者 模式, Thrift 庫 、 Boost 庫 以及 QT GUI 編程等。除此之外,從服務器端拿到的數(shù)據(jù)列表需要顯示在客戶端的對話框頁面,而這些數(shù)據(jù)列表是在瀏覽器端已經(jīng) 2 實現(xiàn)的,在對話框上能夠 直接顯示 web 頁面,就使得開 發(fā)工作量減輕許多,這樣也為客戶端節(jié)省了響應時間。 課題的主要研究工作 由于云協(xié)作平臺的瀏覽器版已經(jīng)實現(xiàn),而客戶端版是盡量和瀏覽器版保持一致,因此, 熟悉服務器端運行機制 和瀏覽器版的基本結構使得開發(fā)客戶端 變得有的放矢,也就相對容易的多了??蛻舳?/服務器結構能充分發(fā)揮客戶端 PC 的處理能力,很多工作可以在客戶端處理后再提交給服務器,這樣可以提高工作效率,縮短工作時間,使云平臺能夠更高效 、快捷的工作。 課題設計的目的和意義 瀏覽器能夠實現(xiàn)的功能,客戶端同樣也可以實現(xiàn),但這并不是說,客戶端就可以完全取代瀏覽器來實現(xiàn)與云平臺的交互,完成生產(chǎn)實踐?,F(xiàn)如今,瀏覽器種類繁多,良莠不齊,這樣,就引發(fā)了一個很難做到平衡的問題 ——瀏覽器的兼容性問題,還有一個 更為 重要的是:如果要將本地的一些應用程序集成到 云 協(xié)作 平臺,瀏覽器就顯得捉襟見肘了。云協(xié)作平臺通常提供通用的通過瀏覽器訪問的應用,軟件和數(shù)據(jù)可存儲在數(shù)據(jù)中心。云計算理論逐步成熟和結構趨于完整,基于云計算的產(chǎn)品應運而生,云協(xié)作平臺就是其中的一個典型。施密特 (Eric Schmidt)在搜索引擎大會 (SES San Jose 2020)首次提出 ―云計算 ‖(Cloud Computing)的概念。 附錄 .......................................................................... 錯誤 !未定義書簽。The client。 關鍵詞 :云協(xié)作平臺; JH scheduler; 客戶端; QT GUI V Design and Implementation of the Client On Cloud Collaboration Platform Abstract Cloud collaboration platform the theoretical basis from the cloud puting, Inter based, will be shared hardware and software resources and information be provided to puters and other equipment, and management of these devices. Cloud collaboration platforms usually provide generic application through the browser, software and data can be stored in the data center. The browser and the server mechanism while simplifying the client puter load, reduce the cost and the workload of system maintenance and upgrading, reducing the overall cost of the user, but the browser and server structure also has some can not overe its own shortings. Nowadays, the browser types, uneven, some good and some bad, so, it raises a very difficult problem the browser balance patibility issues, there is a root to ask important: if some applications into the cloud platform local, the browser is tightly elbow. The client has solved above problems. In this paper, cloud based collaboration platform, the browser functions as a design reference, Through resource scheduling management system (JH scheduler), focused on saving the system software and hardware resources, avoid browser patibility problems caused by cloud browser, enhanced collaboration platform frontend scalability, and to increase the number of interactive tools for the client and server, improve the recognition of cloud cooperation platform user experience and product the. The client is realized by the observer pattern is a design pattern, using the Thrift to QT GUI as the development framework, Boost, and three party tool library. To do with the browser and the server is highly consistent, patible interface, user front end software cloud collaboration platform and client characteristics. Through several months of study and work, familiar with the operation mechanism of the server, and the server and browser interaction process, the user operation interface on the basis of browser implementation, achieved with the same client browser functio