freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于云協(xié)作平臺(tái)的客戶(hù)端設(shè)計(jì)與實(shí)現(xiàn)本科畢業(yè)論文-在線(xiàn)瀏覽

2024-08-10 11:37本頁(yè)面
  

【正文】 2 課題設(shè)計(jì)的關(guān)鍵技術(shù)2 課題設(shè)計(jì)的關(guān)鍵技術(shù)云協(xié)作平臺(tái)是通過(guò)資源調(diào)度管理系統(tǒng),統(tǒng)一對(duì)用戶(hù)作業(yè)需求進(jìn)行動(dòng)態(tài)管理、分配資源的協(xié)作的系統(tǒng)。云協(xié)作平臺(tái)的主要功能是:分工合作、資源控制、作業(yè)管理等功能。它可以監(jiān)控、調(diào)度、管理網(wǎng)絡(luò)上的10臺(tái)到上千臺(tái)不同操作系統(tǒng)的服務(wù)器、工作站和虛擬機(jī),把它們作為云計(jì)算資源集中管理起來(lái)為多種類(lèi)型的應(yīng)用軟件提供統(tǒng)一服務(wù)平臺(tái)。 JH Scheduler支持多種類(lèi)型應(yīng)用軟件的通用中間件,包括CAD/CAE軟件、制造業(yè)設(shè)計(jì)軟件、石油勘探分析軟件、模擬仿真軟件、科學(xué)計(jì)算軟件等,這些不同類(lèi)型的應(yīng)用軟件可以同時(shí)使用JH Scheduler管理的應(yīng)用集群,從而實(shí)現(xiàn)計(jì)算資源的充分共享。 為了使計(jì)算資源得到高效使用,JH Scheduler內(nèi)置多種高效的管理調(diào)度策略,包括先來(lái)先服務(wù)、用戶(hù)/用戶(hù)組資源配額管理、基于隊(duì)列的優(yōu)先級(jí)設(shè)置、資源公平共享調(diào)度、獨(dú)占式作業(yè)調(diào)度、搶占式作業(yè)調(diào)度等,基于這些策略,JH Scheduler把應(yīng)用軟件的每一次執(zhí)行實(shí)例作為一個(gè)作業(yè)來(lái)進(jìn)行調(diào)度和管理,并為管理員和作業(yè)的用戶(hù)提供方便的作業(yè)狀態(tài)監(jiān)控和友好的用戶(hù)界面。 由JH Scheduler管理的應(yīng)用集群系統(tǒng)具有高可靠性,作業(yè)在沒(méi)有資源的情況下將在系統(tǒng)中排隊(duì)等待資源。 作為云計(jì)算基礎(chǔ)架構(gòu)產(chǎn)品,JH Scheduler與其基礎(chǔ)之上的Web portal產(chǎn)品提供安全友好的用戶(hù)管理和使用界面;通過(guò)與JH License Manager集成管理應(yīng)用集群系統(tǒng)的許可證資源,并提供專(zhuān)門(mén)針對(duì)許可證資源的先進(jìn)調(diào)度;通過(guò)與JH Analytics集成為用戶(hù)提供豐富的資源使用和作業(yè)調(diào)度報(bào)表功能,以及詳盡靈活的計(jì)費(fèi)系統(tǒng)。 JH scheduler 總體結(jié)構(gòu)圖 觀(guān)察者模式簡(jiǎn)介 概述  觀(guān)察者模式有時(shí)被稱(chēng)作發(fā)布/訂閱模式,觀(guān)察者模式定義了一種一對(duì)多的依賴(lài)關(guān)系,讓多個(gè)觀(guān)察者對(duì)象同時(shí)監(jiān)聽(tīng)某一個(gè)主題對(duì)象。 解決的問(wèn)題  將一個(gè)系統(tǒng)分割成一個(gè)一些類(lèi)相互協(xié)作的類(lèi)有一個(gè)不好的副作用,那就是需要維護(hù)相關(guān)對(duì)象間的一致性。觀(guān)察者就是解決這類(lèi)的耦合關(guān)系的。抽象主題提供一個(gè)接口,可以增加和刪除觀(guān)察者對(duì)象?! 〕橄笥^(guān)察者(Observer):為所有的具體觀(guān)察者定義一個(gè)接口,在得到主題通知時(shí)更新自己。 模式解讀實(shí)現(xiàn)觀(guān)察者模式有很多形式,比較直觀(guān)的一種是使用一種“注冊(cè)——通知——撤銷(xiāo)注冊(cè)”的形式。被觀(guān)察 被觀(guān)察對(duì)象發(fā)生了某種變化(如圖中的SomeChange),從容器中得到所有注冊(cè)過(guò)的觀(guān)察者,將變化通知觀(guān)察者。觀(guān)察者將自己注冊(cè)到被觀(guān)察者的容器中時(shí),被觀(guān)察者不應(yīng)該過(guò)問(wèn)觀(guān)察者的具體類(lèi)型,而是應(yīng)該使用觀(guān)察者的接口。一個(gè)被觀(guān)察者可以對(duì)應(yīng)多個(gè)觀(guān)察者,當(dāng)被觀(guān)察者發(fā)生變化的時(shí)候,他可以將消息 一一通知給所有的觀(guān)察者。 模式總結(jié)優(yōu)點(diǎn)  觀(guān)察者模式解除了主題和具體觀(guān)察者的耦合,讓耦合的雙方都依賴(lài)于抽象,而不是依賴(lài)具體。缺點(diǎn)依賴(lài)關(guān)系并未完全解除,抽象通知者依舊依賴(lài)抽象的觀(guān)察者。一個(gè)抽象某型有兩個(gè)方面,當(dāng)其中一個(gè)方面依賴(lài)于另一個(gè)方面,這時(shí)用觀(guān)察者模式可以將這兩者封裝在獨(dú)立的對(duì)象中使它們各自獨(dú)立地改變和復(fù)用。Thrift通過(guò)一個(gè)中 間語(yǔ)言(IDL, 接口定義語(yǔ)言)來(lái)定義RPC的接口和數(shù)據(jù)類(lèi)型,然后通過(guò)一個(gè)編譯器生成不同語(yǔ)言的代碼(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C, Cocoa, Smalltalk和OCaml),并由生成的代碼負(fù)責(zé)RPC協(xié)議層和傳輸層的實(shí)現(xiàn)。用戶(hù)在Thrift描述文件中聲明自己的服務(wù),這些服務(wù)經(jīng)過(guò)編譯后會(huì)生成相應(yīng)語(yǔ)言的代碼文件,然后用戶(hù)實(shí)現(xiàn)服務(wù)(客戶(hù)端調(diào)用服務(wù),服務(wù)器端提服務(wù))便可以了。 支持的數(shù)據(jù)傳輸格式、數(shù)據(jù)傳輸方式和服務(wù)模型(1)支持的傳輸格式TBinaryProtocol – 二進(jìn)制格式.TCompactProtocol – 壓縮格式TJSONProtocol – JSON格式TSimpleJSONProtocol –提供JSON只寫(xiě)協(xié)議, 生成的文件很容易通過(guò)腳本語(yǔ)言解析。TFileTransport – 以文件形式進(jìn)行傳輸。TZlibTransport – 使用zlib進(jìn)行壓縮, 與其他傳輸方式聯(lián)合使用。(3)支持的服務(wù)模型TSimpleServer – 簡(jiǎn)單的單線(xiàn)程服務(wù)模型,常用于測(cè)試TThreadPoolServer – 多線(xiàn)程服務(wù)模型,使用標(biāo)準(zhǔn)的阻塞式IO。a).thrift文件編寫(xiě),服務(wù)的編寫(xiě)語(yǔ)法與C語(yǔ)言語(yǔ)法基本一致,:變量聲明、數(shù)據(jù)聲明(struct)和服務(wù)接口聲明(service, 可以繼承其他接口)。在client端,用戶(hù)自定義CalculatorClient類(lèi)型的對(duì)象(,則生成的中間代碼中的主類(lèi)為CalculatorClient),該對(duì)象中封裝了各種服務(wù),可以直接調(diào)用(()),然后thrift會(huì)通過(guò)封裝的rpc調(diào)用server端同名的函數(shù)。 client端和server端的書(shū)寫(xiě) Boost庫(kù) Boost庫(kù)簡(jiǎn)介Boost庫(kù)是一個(gè)可移植、提供源代碼的C++庫(kù),作為標(biāo)準(zhǔn)庫(kù)的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開(kāi)發(fā)引擎之一。在C++社區(qū)中影響甚大,是不折不扣的“準(zhǔn)”標(biāo)準(zhǔn)庫(kù)。大部分Boost庫(kù)功能的使用只需包括相應(yīng)頭文件即可,少數(shù)(如正則表達(dá)式庫(kù),文件系統(tǒng)庫(kù)等)需要鏈接庫(kù)。 日志記錄:一個(gè)獨(dú)立的消息包,這個(gè)消息包還不是實(shí)際寫(xiě)到日志里的消息,它只是一個(gè)候選的消息。 屬性:日志記錄中的一個(gè)消息片。 屬性值:那就是上面所說(shuō)的屬性的值了,可以是各種數(shù)據(jù)類(lèi)型。 日志槽(LOG SINK):日志寫(xiě)向的目標(biāo),它要定義日志被寫(xiě)向什么地方,以及如何寫(xiě)。 日志源:應(yīng)用程序?qū)懭罩緯r(shí)的入口,其實(shí)質(zhì)是一個(gè)logger對(duì)象的實(shí)例。 日志過(guò)濾器:決定日志記錄是否要被記錄的一組判斷。 日志格式化:決定日志記錄輸出的實(shí)際格式。 日志核心:維護(hù)者日志源、日志槽、日志過(guò)濾器等之間的關(guān)系的一個(gè)全局中的實(shí)體。 (2)框架結(jié)構(gòu) Boost : Boost log的框架結(jié)構(gòu)A)應(yīng)用程序在圖的右側(cè),通過(guò)一個(gè)或多個(gè)logger實(shí)例發(fā)送日志消息。C)一個(gè)日志記錄的數(shù)據(jù)中會(huì)包括許多屬性。比如時(shí)間不僅是一個(gè)函數(shù)(也是一個(gè)屬性)。前兩個(gè)是由logging core來(lái)維護(hù)的,所以不用再初始化。線(xiàn)程屬性集中的屬性會(huì)連接到把它注冊(cè)到屬性集時(shí)的那個(gè)線(xiàn)程。當(dāng)一個(gè)源初始化日志對(duì)象的時(shí)候,它會(huì)從上述的三個(gè)屬性集的所有屬性中得到屬性值。如果在不同的屬性集中有相同的屬性名字的時(shí)候就會(huì)造成沖突,解決沖突的方法是全局屬性集的優(yōu)先級(jí)最低,源屬性集的優(yōu)先級(jí)最高。E)當(dāng)組合屬性值的時(shí)候,logging core來(lái)決定一個(gè)屬性是否要被送到sink中,這就是過(guò)濾。然后 就是sink指定的過(guò)濾了。sink過(guò)濾器允許將一個(gè)日志記錄定向到一個(gè)指定的sink。這時(shí)候就是日志消息格式化的時(shí)候了。G)如上圖所示,sink被分為前端和后端兩個(gè)部分。前端由日志庫(kù)提供,用戶(hù)不大可能再去實(shí)現(xiàn)它。如寫(xiě)文件,發(fā)送到網(wǎng)絡(luò)等。 QT GUI簡(jiǎn)介 QT GUI簡(jiǎn)介和功能特點(diǎn)QT提供了設(shè)計(jì)師工具,可以很方便的使用鼠標(biāo)拖拽的方式繪制界面。這個(gè)函數(shù)會(huì)自動(dòng)在傳入的QWidget或QMainWindow上根據(jù)設(shè)計(jì)師繪制的界面創(chuàng)建可視化控件。這時(shí)已經(jīng)可以在自定義部件子類(lèi)中顯示繪制的界面了。 信號(hào)和槽在圖形界面編程中,很多時(shí)候我們希望一個(gè)可視對(duì)象發(fā)生某種變化時(shí)通知另一個(gè)或幾個(gè)對(duì)象,再一個(gè)地說(shuō),我們希望任何一類(lèi)的對(duì)象能和其他對(duì)象進(jìn)行通訊。 對(duì)于類(lèi)似以上的問(wèn)題,較早的工具包使用“回調(diào)”的方式來(lái)實(shí)現(xiàn)。處理函數(shù)在適當(dāng)?shù)臅r(shí)候會(huì)調(diào)用回調(diào)函數(shù)。在QT開(kāi)發(fā)環(huán)境中,實(shí)現(xiàn)對(duì)象間的通訊我們有一種稱(chēng)為“信號(hào)和槽”的機(jī)制可以代替回調(diào)函數(shù)。 信號(hào)和槽機(jī)制就是:當(dāng)一個(gè)特定的事件發(fā)生時(shí),一個(gè)或幾個(gè)被指定的信號(hào)就被發(fā)射,槽就是一個(gè)返回值為void的函數(shù),如果存在一個(gè)或幾個(gè)槽和該信號(hào)相連接,那在該信號(hào)被發(fā)射后,這個(gè)(些)槽(函數(shù))就會(huì)立刻被執(zhí)行。信號(hào)和槽是很寬松的聯(lián)系在一起的,一個(gè)發(fā)射信號(hào)的對(duì)象不用考慮哪個(gè)槽會(huì)接收這個(gè)信號(hào),接收信號(hào)的槽的所在對(duì)象也不知道要連接的信號(hào)是哪個(gè)對(duì)象發(fā)射的。 QT的窗口部件已經(jīng)有很多預(yù)定義的信號(hào),也有很多預(yù)定義的槽,但我們總是通過(guò)繼承來(lái)加入我們自己的信號(hào)和自己的槽,這樣我們就可以處理感興趣的信號(hào) 了。當(dāng)某個(gè)事件發(fā)生后,被指定的信號(hào)就會(huì)被發(fā)射,它不知道也沒(méi)有必要知道是否有 槽連接了該信號(hào),這就是信息封裝??梢园岩粋€(gè)信號(hào)和一個(gè)槽進(jìn)行單獨(dú)連接,這時(shí)槽會(huì)因?yàn)樵撔盘?hào)被發(fā)射 而被執(zhí)行;也可以把幾個(gè)信號(hào)連接在同一個(gè)槽上,這樣任何一個(gè)信號(hào)被發(fā)射都會(huì)使得該槽被執(zhí)行;也可以把一個(gè)信號(hào)和多個(gè)槽連接在一起,這樣該信號(hào)一旦被發(fā)射,與之相連接的槽都會(huì)被馬上執(zhí)行,但執(zhí)行的順序不確定,也不可以指定;也可以把一個(gè)信號(hào)和另一個(gè)信號(hào)進(jìn)行連接,這樣,只要第一個(gè)信號(hào)被發(fā)射,第二個(gè)信號(hào)立刻就被發(fā)射。因?yàn)镠TML CSS的靈活性,可以很方便的為QT界面設(shè)計(jì)自己需要的外觀(guān)。borderradius:3px。})。需要注意的就是,當(dāng)后面再次使用setStyleSheet函數(shù)對(duì)boBox設(shè)置樣式表時(shí),之前設(shè)置的樣式表就不起作用了,也即樣式被現(xiàn)在定義效果的取代了。(2)使用qApp設(shè)置樣式表qApp是一個(gè)全局對(duì)象,使用其設(shè)置樣式表之后,部件就固定樣式了,當(dāng)然,后面使用某個(gè)子對(duì)象調(diào)用setStyleSheet函數(shù)時(shí),會(huì)只改變函數(shù)中設(shè)置的樣式,其他的樣式不會(huì)發(fā)生改變。borderradius:6px。minwidth:80px。borderradius:3px。}QLineEdit{border:1pxsolidgray。padding:08px。})。如果后面要對(duì)其中一個(gè)子部件的樣式進(jìn)行修改,可以直接調(diào)用setStyleSheet,將需要的樣式覆蓋覆蓋掉之前的,其他的保留,例如pushButtonsetStyleSheet(QPushButton{backgroundcolor:red。這樣就只改變按鈕的背景色,邊框大小那些qApp定義好的還是不變。 QtWebKitQtWebkit模塊提供了一個(gè)在QT中使用web browser的engine,這使得我們?cè)赒T的應(yīng)用程序中使用萬(wàn)維網(wǎng)上的內(nèi)容變得很容易,而且對(duì)其網(wǎng)頁(yè)內(nèi)容的控制也可以通過(guò)native controls 實(shí)現(xiàn)。在JavaScript 運(yùn)行環(huán)境和Qt object model直接的橋接技術(shù)使得自定義的QObject可以在JavaScript代碼中使用。另外為了提供渲染特性,可以使用HTML元素的contenteditable屬性,使HTML文檔可以被用戶(hù)編輯。QWebView主要用來(lái)查看網(wǎng)頁(yè),一個(gè)QWebView的實(shí)例中有一個(gè)QWebPage。HTML文檔可以嵌套到一個(gè)frameset中個(gè)frame中。這個(gè)類(lèi)中包含了到JS window object的bridge和用于刷新的QPainter。每一個(gè)的Frame都有一個(gè)自己的JavaScript Context。QWebFrame::evaluateJavaScript()可以使用戶(hù)在C++代碼中直接運(yùn)行JavaScript代碼。對(duì)應(yīng)的類(lèi)是QWebElement。sQWebSetting提供了對(duì)瀏覽器常用的各種屬性,和各種設(shè)置的配置。通過(guò)其默認(rèn)設(shè)置可以顯示所有QWebPage實(shí)例的默認(rèn)配置。全局的Setting使用QWebSetting::globalSettings(),某個(gè)頁(yè)面的settings用QWebPage::settings()。QWebHistoryInterface提供了一個(gè)實(shí)現(xiàn)訪(fǎng)問(wèn)歷史連接的接口。為了使plugin的支持性可用,用戶(hù)必須安裝對(duì)應(yīng)的plugin,并且當(dāng)前應(yīng)用程序的QWebSetting::PluginEnabled設(shè)置為可用。它可以看做是post/put/get/head API。3 系統(tǒng)需求分析3 系統(tǒng)需求分析云協(xié)作平臺(tái)的客戶(hù)端是整個(gè)云協(xié)作平臺(tái)與用戶(hù)交互的工具,是連接前端操作與后端處理的樞紐。 用戶(hù)需求分析云協(xié)作平臺(tái)是在資源調(diào)度管理系統(tǒng)的基礎(chǔ)上,將加入集群中各個(gè)節(jié)點(diǎn)的資源,例如Windows節(jié)點(diǎn)上的辦公軟件,專(zhuān)用型開(kāi)發(fā)軟件,Linux機(jī)器上的Fluent等,集成到服務(wù)器上,用戶(hù)通過(guò)客戶(hù)端上的相應(yīng)操作,實(shí)現(xiàn)對(duì)由用戶(hù)通過(guò)客戶(hù)端直接操作管理。登陸客戶(hù)端的用戶(hù)是在服務(wù)器端的數(shù)據(jù)庫(kù)中配置,增刪改查可通過(guò)對(duì)服務(wù)器端對(duì)應(yīng)數(shù)據(jù)表的相應(yīng)操作,完成相關(guān)配置。因此客戶(hù)端必須包含以下功能:文件上傳和下載用戶(hù)可通過(guò)文件上傳和下載功能實(shí)現(xiàn)服務(wù)端和客戶(hù)端之間的文件共享,以及遠(yuǎn)程桌面的登陸。除此之外,提交作業(yè),啟動(dòng)桌面也會(huì)較多的用到執(zhí)行遠(yuǎn)端命令這一功能。啟動(dòng)遠(yuǎn)程桌面在服務(wù)器端的JH scheduler上配置資源,資
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1