999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數學實驗云平臺設計與實現

2017-04-14 11:50:45岑冠軍蔡賢資
中國教育技術裝備 2017年4期
關鍵詞:云平臺

岑冠軍 蔡賢資

摘 要 闡述數學實驗云平臺的設計和實現過程及開發過程中使用的關鍵技術。數學實驗云平臺是支持分布式計算并放置于互聯網上的集成數學實驗環境,具有開放性、即時性和易接觸性,能為學生和教師提供在線數學實驗和科學計算服務,并具備完成大型科學計算任務的能力。該平臺的建立實現了數學實驗室優質計算資源的校內和校際共享,為探索數學實驗室的未來發展做有益的嘗試。

關鍵詞 數學實驗;云平臺;分布式計算;MATLAB

中圖分類號:G642.423 文獻標識碼:B

文章編號:1671-489X(2017)04-0012-03

Abstract This article elaborates design and implementation of the cloud platform of mathematical experiments, and the key technologies used in the process of platform development. The cloud platform is an integrated environment of mathematical experiments on the internet with openness, real-time and accessibility and capable of executing distributed computations. It is able to provide the online service of mathematical experiments and scientific computations for teachers and students, moreover solve complex computation problems. The cloud platform is a way to share the computational resources of high quality in mathematical laboratory within and between campuses, and explore the development road of mathematical laboratory in future.

Key words mathematical experiments; cloud platform; distributed computing; MATLAB

1 前言

目前國內眾多高校的數學實驗室是基于局域網的以微機為主體的機房,難以將其計算資源共享給廣大師生或者科研人員使用,不具備開展大型實驗項目和執行大型計算任務的能力,如大數據的分析處理。如何整合數學實驗室的計算資源,使之能夠提供高性能的計算服務,并將計算服務方便快捷地提供給廣大師生使用,是數學實驗室建設中亟待解決的問題[1]。

因此,一些學者提出基于網絡的虛擬數學實驗室,具有網絡執行MATLAB程序的功能,能進行簡單的數學實驗,具有一定的實驗教學管理功能;還有一些研究提出基于Web和MATLAB的虛擬實驗系統,這些系統針對特定的數學實驗項目編制,允許學生通過網絡修改模型參數進行演示[2-3]。目前這種基于網絡的數學實驗室或者虛擬實驗系統,不能進行分布式計算,難以開展大型的數學實驗項目和完成復雜的科學計算任務,難以處理大規模的并發訪問,離實際應用還有一段距離。

本文應用云計算的技術理念,提出構建基于J2EE(Java 2 Platform, Enterprise Edition)和MATLAB分布式計算技術的數學實驗云平臺,實現數學實驗室的多核、多處理器、多臺微機和大型數值計算軟件等優質計算資源的校內和校際共享,滿足廣大師生日益增長的科學計算需求,特別是在分布式計算和大數據處理方面的計算需求。

2 數學實驗云平臺的設計

系統概述 云計算既指在互聯網上以服務方式提供的應用系統程序,又指在數據中心用來提供這些服務的硬件和系統軟件。云計算可理解為并行計算、分布式計算和網格計算的發展,或者說是這些計算機科學概念的商業實現[4]。

實驗云是遠程實驗技術與云計算技術的融合,將改變傳統的教育模式。數學實驗云平臺應用云計算的技術理念,將數學實驗和科學計算理解為可以提供給用戶的服務,數學實驗室的軟硬件資源為生產該服務的基礎設施。因此,數學實驗云平臺定義為云計算技術下的集成數學實驗環境,為學生、教師和其他用戶提供即時的云端數學實驗和科學計算服務,如并行計算、分布式計算和大數據處理等計算服務,讓傳統數學實驗室的計算和服務能力有質的飛躍。

功能模塊設計 數學實驗云平臺是一個集成的數學實驗環境,在此環境中主要的操作對象有教師、學生、執行特定計算的科研人員和平臺管理人員,該平臺主要功能集中在數學實驗、課程管理、科學計算、協作交流和資源共享等,具體的功能模塊有:

1)數學實驗,用戶通過該模塊接收數學實驗任務、在線進行數學實驗、查看實驗結果及實驗成績、撰寫并提交實驗報告和儲存及查看歷次實驗記錄;

2)科學計算,用戶通過該模塊提交計算任務、編寫計算程序、上傳相關數據和獲取計算結果,進行項目管理;

3)課程管理,該模塊使用者主要為數學實驗教師,主要功能有發布實驗任務、收集并查看實驗報告、評定實驗成績等;

4)協作圈子,該模塊幫助用戶完成需要團隊合作的實驗或者科研項目,在一個圈子里,圈子成員共享實驗空間、代碼空間,在線討論交流等;

5)文件管理與共享,該模塊提供講義、輔助材料、課程錄音、錄像等課程資源的存儲和共享;

6)人員管理,該模塊用于管理教師、學生和其他人員的個人信息,包括所上課程、所屬班級實驗小組或者科研機構、參與項目、項目角色等信息。

3 數學實驗云平臺的技術實現

系統架構 數學實驗平云臺基于J2EE和MATLAB集群技術開發,采用B/S(Browser/Server,瀏覽器/服務器)架構,如圖1所示。Web服務器負責業務邏輯控制,MATLAB集群負責數學實驗和科學計算,數據庫負責存儲用戶信息、實驗和計算代碼、計算結果、分析報告等。用戶從網頁上發出計算請求,用戶的請求給Web服務器處理之后,將發往MATLAB集群管理器,集群管理器給各計算機分配作業,完成計算任務后將收集計算結果并通過Web服務器返回給用戶,其他需要存儲的信息發往數據庫。服務器端軟件包括J2EE Server(Apache Tomcat 7.0.52)、MATLAB 2012a和SQL Sever2005。

MATLAB分布式計算集群的搭建 MATLAB分布式計算環境由其并行計算工具箱(Parallel Computing Toolbox)、分布式計算服務器軟件(MATLAB Distributed Computing Server)和計算機集群構成(Math Works. 2012. MATLAB Reference guide. Natick, MA, USA)。在MATLAB集群架構中有3種角色:客戶端(Client)、作業管理器(Job Manager)、Worker??蛻舳耸前l起計算任務的MATLAB線程,客戶端發起的計算任務稱為作業(job),作業是運行在MATLAB上的大型運算,客戶端在并行計算工具箱的支持下定義作業并將其分割成若干個可以同時進行的小的運算,這些小的運算稱為任務(task);客戶端將作業發送給作業管理器,作業管理器是服務端應用程序的一部分,用來協調管理作業及其任務的執行;作業管理器將任務分配給服務端獨立的MATLAB線程進行計算,這些MATLAB線程稱為Worker;Worker運行結束返回結果給作業管理器,再由分布式計算工具箱對其結果進行合并,得出最終結果發送給客戶。

在一臺計算機上,MATLAB并行工具箱只允許最多12個Worker同時運行,要使用更多的Worker,需要通過MATLAB的分布式計算服務器軟件組建MATLAB集群。MATLAB集群的搭建分為四大步驟:MATLAB軟件的安裝、搭建集群局域網、分布式引擎的安裝(MATLAB Distributed Computing Engine,

MDCE)、作業管理器和Worker的啟動配置。MDCE是MATLAB的分布式計算服務器軟件的一部分,用以維護Worker之間、Worker與作業管理器之間的通信,打開集群內各計算機的終端界面,進入MATLAB的安裝路徑“/toolbox/distcomp/bin”下,輸入命令“mdce install”安裝MDCE。安裝完畢后,輸入“mdce-version”,出現MDCE版本信息則說明安裝成功,此時,輸入“mdce start”,開啟分布式計算服務。啟動

MDCE服務后,輸入“startjobmanager-name”命令創建作業管理器。

學生的數學實驗程序較簡單,計算量小,但是面臨大量學生并發訪問的問題;科學計算則針對大型計算或者大數據處理,用戶數較少,但每次計算需要占用大量計算資源。為利用MATLAB集群高效完成這兩項功能,在MATLAB集群中建立兩類作業管理器:一類是數學實驗作業管理器,名為EJobManager,擁有80個Worker;一類是科學計算作業管理器,名為SJobManager,擁有120個Worker,分別接受數學實驗和科學計算任務。

MATLAB分布式計算集群的Web調用 Matlabcontrol是讓Java程序與MATLAB交互的API,可以實現從Java程序向MATLAB發送命令,讓MATLAB執行某個M文件等,其jar包可以在goole code中下載。Matlabcontrol調用MATLAB分為四大步驟:設置獲取MATLAB代理時的相關參數,通過MatlabProxy的工廠方法獲取代理,運行代碼獲取結果,關閉代理。在實際應用中獲取和關閉MATLAB代理要消耗大量的系統資源,運行起來也非常慢。為此,筆者建立一個MATLAB代理池。代理池在服務器開啟之時初始化,創建一定默認數量的MATLAB代理,并且設置一定的限制規則:設置代理池內最大代理數,達到這個數目后,新增用戶需要等待其他用戶釋放代理。在這個機制下,用戶可以直接在池中獲得空閑的代理,而不是每次連接時新建一個代理;使用完了代理之后也不是直接關閉它,而是將代理放入代理池中。同時在Servlet中還設置了一個監聽器來監聽每個代理所使用的連接數,可以標記一個代理MATLAB進程同時被多少個用戶所使用。本文系統以每個代理同時最多由20個客戶使用作為限制。

用戶向Web服務器發送請求,Web服務器通過Matlab-control建立與服務端的MATLAB鏈接,用戶通過此鏈接向MATLAB集群上的作業管理器注入作業,從而實現調用集群計算機完成計算任務。開啟Tomcat服務器之后,自動加載InitServlet,InServlet中的Init()方法自動初始化MATLAB代理池,并且默認開啟1個MATLAB進程,把MATLAB的代理池對象放入Application中。

數學實驗與科學計算模塊的實現 每個用戶所編寫的MATLAB程序執行時間不一樣,用戶通過MATLAB代理提交作業并等待作業管理器返回計算結果,需要占用MATLAB代理較長時間,在大量用戶并發訪問時會導致MATLAB代理資源不足。其解決方案是將作業提交和獲取計算結果異步執行,這樣不僅可以克服因某個用戶程序執行較慢而阻塞MATLAB代理進程的問題,而且由于用戶提交作業后即釋放對MATLAB代理的占用,可以讓一個MATLAB代理響應更多的用戶請求,減少系統開銷。

該解決方案的具體做法是將用戶MATLAB程序封裝成指定名字的作業,通過MATLAB代理提交給相應的作業管理器,由作業管理器調度MATLAB集群處理。同時采用MATLAB定時器技術在集群端間隔一定時間掃描作業管理器中的作業狀態,對狀態為完成的作業,取回其結果并以文本形式保存到指定目錄下,客戶通過文件監聽和Ajax技術獲取該文本文件中的結果。這樣使得作業提交、作業計算和輸出結果分別在不同的計算機上完成。

通過MATLAB定時器輸出已完成作業的計算結果的MATLAB函數如下:

function getResult(savepath,jobmanager)

[p q r jobM]=findJob(jobmanager);

for i=1:length(jobM)

directory=get(jobM(i),UserName);

filename=[directory,datestr(now,30)];

result=getAllOutputArguments(jobM(i));

xlswrite([savepath ‘\ directory ‘\ filename],result)

destroy(jobM(i))

end

前端頁面的實現 數學實驗云平臺采用J2EE中的Jsp+

Servlet+Bean的MVC(Model View Controller)設計模式,前端頁面采用Bootstrap框架開發,會根據顯示器大小自動調整頁面顯示,用戶可以在電腦、移動設備上登錄該平臺。用戶成功登錄系統后,進入數學實驗或者科學計算模塊之后,可以新建實驗(科研)項目,或者進入已有的實驗(科研)項目,編寫計算程序提交作業,保存計算程序到數據庫,方便下次調用查看,科學計算模塊允許用戶上傳計算需要的數據和其他M文件。

4 結語

本研究基于云計算的技術理念,在J2EE環境下開發基于MATLAB分布式計算技術的數學實驗云平臺,具有開放性、即時性、易接觸性,能夠方便快捷地為廣大師生提供數學實驗和科學計算服務。該平臺將數學實驗室軟硬件計算資源組建成集群,可以進行大型科學計算,充分發揮實驗室資源的潛在效能。用戶通過瀏覽器即可向該平臺提交計算任務獲取計算結果,實現實驗室資源的校內校際共享,有利于提高實驗教學水平。因此,本研究為高校利用現有實驗室構建云計算實驗室及實現其資源共享做了有益嘗試,并為數學實驗室的未來發展拓展了道路,符合教育技術信息化的未來發展方向。

參考文獻

[1]孫蘇菁,白占兵.關于數學實驗室建設的若干思考[J].科技視界,2013(11):41.

[2]宋紹云,師紅.基于Matlab Web Server的數學實驗室體系結構的建立[J].玉溪師范學院學報,2007(12):38-42.

[3]謝治州,羅曉賓,嚴忠權.基于MATLAB網絡數學實驗室的構建[J].黔南民族師范學院學報,2010(6):9-15.

[4]Sosinsky B. Cloud Computing Bible[M].北京:電子工業出版社,2013.

猜你喜歡
云平臺
“云平臺+大數據”在高校檔案管理中的應用研究
東方教育(2016年13期)2017-01-12 23:14:14
云計算環境下的微課移動云平臺設計
智慧城市電子政務云平臺構建
軟件導刊(2016年11期)2016-12-22 21:53:04
基于云平臺MapReduce的Apriori算法研究
Docker技術在Web服務系統中的應用研究
云環境下混合式協作學習教學模式研究
科技視界(2016年23期)2016-11-04 23:13:16
高職院校開展基于云平臺網絡教學的探索與思考
中國市場(2016年36期)2016-10-19 04:43:09
企業云平臺建設研究
基于體域網的移動醫療系統的設計
科技視界(2016年17期)2016-07-15 10:15:56
基于云平臺的微信互聯式教學法的探索與實踐
企業導報(2016年11期)2016-06-16 15:36:34
主站蜘蛛池模板: 国产美女人喷水在线观看| jizz亚洲高清在线观看| 国产精品大尺度尺度视频| www.日韩三级| 三上悠亚精品二区在线观看| 日韩专区欧美| 99精品视频九九精品| 日韩久久精品无码aV| 香蕉伊思人视频| 亚洲日本中文字幕乱码中文 | 国内黄色精品| 一区二区三区成人| 国产高清色视频免费看的网址| 秋霞国产在线| 黄色网页在线播放| 美女免费精品高清毛片在线视| 国产一级精品毛片基地| 亚洲欧美自拍一区| 自拍偷拍欧美日韩| 中国一级特黄大片在线观看| 久久男人视频| 激情综合图区| 91亚洲视频下载| 性色一区| 亚洲午夜天堂| 欧美国产日韩另类| a亚洲天堂| 先锋资源久久| 亚洲AV无码久久精品色欲| 亚洲欧美极品| 欧美午夜视频| 国产一级毛片yw| 嫩草国产在线| 麻豆国产在线观看一区二区| 99色亚洲国产精品11p| 亚洲精品日产AⅤ| 97精品久久久大香线焦| 激情亚洲天堂| 国产成年女人特黄特色大片免费| 粉嫩国产白浆在线观看| 国产欧美亚洲精品第3页在线| 91九色国产在线| 美女潮喷出白浆在线观看视频| a级毛片免费播放| 亚洲男人在线天堂| 国产无码精品在线播放| 午夜视频www| 日本成人精品视频| 婷婷激情亚洲| 欧美综合在线观看| 国产精品无码影视久久久久久久| 国产色婷婷| 国产精品欧美在线观看| 亚洲IV视频免费在线光看| 97久久免费视频| 免费在线成人网| 四虎永久免费地址| 国产精品欧美日本韩免费一区二区三区不卡| 亚洲中文无码av永久伊人| 无码AV高清毛片中国一级毛片| 91免费国产高清观看| 伊人色在线视频| 久久久精品无码一区二区三区| 久久国产成人精品国产成人亚洲 | 亚洲第一成年人网站| 在线精品亚洲一区二区古装| 国产成年无码AⅤ片在线| 日韩少妇激情一区二区| 一级全黄毛片| 国产免费久久精品99re丫丫一| 久久久久人妻一区精品色奶水| 国产91在线|日本| 玖玖精品视频在线观看| 69免费在线视频| 欧美日韩午夜视频在线观看| 国产精品无码一区二区桃花视频| 久久免费成人| 中文毛片无遮挡播放免费| 日本www在线视频| 国产96在线 | 免费久久一级欧美特大黄| 无码丝袜人妻|