本發(fā)明涉及受控?zé)岷司圩円约凹磿r消息發(fā)布領(lǐng)域,尤其涉及一種能夠應(yīng)用至核聚變試驗的即時消息發(fā)布系統(tǒng)。
背景技術(shù):
受控核聚變研究的一個主要的目的是為了實現(xiàn)能夠商用的聚變電站,為了達(dá)到這個目標(biāo),必須掃除與等離子體聚變反應(yīng)相關(guān)的物理和工程上的障礙,這些物理上的理論和工程上的方案必須要在聚變裝置上的等離子體實驗中加以更新和驗證,因此受控核聚變的研究從某種意義上講是一種實驗驅(qū)動的學(xué)科。
無論是在傳統(tǒng)的常規(guī)導(dǎo)體聚變裝置中,還是在可以實現(xiàn)時間內(nèi)約束的超導(dǎo)聚變裝置中,實現(xiàn)成功的等離子體放電實驗,需要將所有的子系統(tǒng)同時協(xié)調(diào)的參與進(jìn)來,需要工程操作人員和物理研究人員協(xié)力配合。因為系統(tǒng)眾多,例如典型的存在電機系統(tǒng)、電源系統(tǒng)、診斷系統(tǒng)、真空系統(tǒng)、中性束系統(tǒng)、電子回旋系統(tǒng)、等離子體控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、真空系統(tǒng)、送氣系統(tǒng)等等,每個系統(tǒng)之中均包含了大量的子系統(tǒng)和設(shè)備,這些數(shù)量龐大的系統(tǒng)、子系統(tǒng)和設(shè)備的存在導(dǎo)致了一個事實:對于一個無論工程人員還是物理研究人員,只可能對一個或者多個系統(tǒng)或者領(lǐng)域非常熟悉,這就導(dǎo)致了在等離子體放電實驗期間,特別是在兩次實驗之間短暫的時間間隔內(nèi),有了解其他系統(tǒng)的狀況、信息和數(shù)據(jù)的需求,然后結(jié)合自身的系統(tǒng)或者領(lǐng)域,做出下一個實驗的工程決定或者物理研究提案。
為了達(dá)到這個目的,目前通用的解決方案是在控制大廳放置多個投影屏幕或者大屏幕的電視機,上面將各個系統(tǒng)的曲線進(jìn)行顯示,然后參與實驗的人員需要從一個屏幕走到另外一個屏幕,了解到整個裝置的放電實驗狀況。
這種技術(shù)方案存在幾個固有的缺點:
1、參與實驗的人員無法離開中控大廳,來獲得當(dāng)前的全局狀態(tài)和數(shù)據(jù);
2、展示內(nèi)容,受大屏幕的數(shù)量的限制,隨著實驗內(nèi)容越來越豐富,必須持續(xù)投資大屏幕和對應(yīng)的軟件開發(fā),擴(kuò)展性非常差;
3、參與實驗的人員根據(jù)所負(fù)責(zé)的系統(tǒng)和研究的內(nèi)容不同,感興趣的內(nèi)容并不相同,這種技術(shù)方案無法提供個性化的定制內(nèi)容。
4、很多內(nèi)容,特別是物理研究相關(guān)的,必須通過大規(guī)模的代碼迭代計算才能夠得到,這種技術(shù)方案單純用于展示,并不能滿足這種要求。
5、很多內(nèi)容,特別是需要幾個系統(tǒng)的數(shù)據(jù)進(jìn)行綜合分析才能得出的結(jié)論,這類內(nèi)容無法在顯示曲線的大屏方案上實現(xiàn);
6、一些內(nèi)容,例如突發(fā)事件、某個系統(tǒng)的重要參數(shù),這些無法用曲線表示的內(nèi)容無法展現(xiàn);
7、無法隨時得到某些不熟悉系統(tǒng)的背景知識;
技術(shù)實現(xiàn)要素:
本發(fā)明解決的技術(shù)問題是現(xiàn)有的用于展示聚變試驗結(jié)果的系統(tǒng)只能在固定展示場合進(jìn)行展示、擴(kuò)展性差、無法滿足大規(guī)模的代碼迭代計算需求、展示內(nèi)容受限等問題,進(jìn)而提供一種能夠解決前述問題的即時消息發(fā)布系統(tǒng),該即時消息發(fā)布系統(tǒng)應(yīng)用于在聚變實驗期間,能夠使所有對實驗感興趣的人員無論在何地均可以在第一時間內(nèi)得到其想要的所有的信息。
為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案如下:
即時消息發(fā)布系統(tǒng),包括消息收集和處理系統(tǒng)、云計算平臺、存儲系統(tǒng)、即時信息發(fā)布后臺系統(tǒng)和至少一個客戶端。
所述消息收集和處理系統(tǒng),通過設(shè)置相應(yīng)的通訊手段和協(xié)議接收來自所有受監(jiān)控設(shè)備的消息,其一直處于監(jiān)聽狀態(tài),并在接收到預(yù)先設(shè)定的消息且滿足對應(yīng)的條件時向所述云計算平臺發(fā)送消息處理的計算請求;
所述云計算平臺上預(yù)置有計算策略,在接收到上述計算請求后,所述云計算平臺根據(jù)預(yù)置的計算策略啟動相應(yīng)的計算線程進(jìn)行計算、在計算完成后將計算結(jié)果生成預(yù)設(shè)的各種展現(xiàn)形式存入所述存儲系統(tǒng),并向所述即時信息發(fā)布后臺系統(tǒng)發(fā)送消息;
所述即時信息發(fā)布后臺系統(tǒng)解析所述云計算平臺發(fā)送的消息,并根據(jù)解析結(jié)果獲取本條消息對應(yīng)的上述各種展現(xiàn)形式的計算結(jié)果并以消息方式向至少一個所述客戶端推送;
所述客戶端包括消息對話框接口模塊,所述消息對話框接口模塊接收并向用戶展示所述即時信息發(fā)布后臺系統(tǒng)推送過來的消息。
所述云計算平臺將計算結(jié)果的各種展現(xiàn)形式中的非結(jié)構(gòu)化數(shù)據(jù)存儲至所述存儲子系統(tǒng)中,并將結(jié)構(gòu)化數(shù)據(jù)以及非結(jié)構(gòu)化數(shù)據(jù)的存儲地址存儲至所述結(jié)構(gòu)化數(shù)據(jù)庫系統(tǒng),所述云計算平臺向所述即時信息發(fā)布后臺系統(tǒng)發(fā)送的消息中包括結(jié)構(gòu)化數(shù)據(jù)以及非結(jié)構(gòu)化數(shù)據(jù)的存儲地址,所述即時信息發(fā)布后臺系統(tǒng)解析收到的消息得到非結(jié)構(gòu)化數(shù)據(jù)的存儲地址以及結(jié)構(gòu)化數(shù)據(jù),并從該存儲地址讀取非結(jié)構(gòu)化數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)一起發(fā)送至所述客戶端。
所述即時消息發(fā)布系統(tǒng)還包括網(wǎng)站系統(tǒng),所述網(wǎng)站系統(tǒng)上設(shè)置有若干應(yīng)用模塊;
所述客戶端還包括定制模塊,所述定制模塊中設(shè)置與所述網(wǎng)站系統(tǒng)的應(yīng)用模塊對應(yīng)的配置接口模塊;
所述配置接口模塊經(jīng)用戶觸發(fā)調(diào)用所述網(wǎng)站系統(tǒng)的相應(yīng)應(yīng)用模塊完成功能。
所述應(yīng)用模塊包括消息配置模塊,與之對應(yīng),所述配置接口模塊包括消息配置接口模塊,所述消息配置接口模塊受用戶觸發(fā)調(diào)用所述消息配置模塊,同時將當(dāng)前用戶信息發(fā)送至所述消息配置模塊,所述消息配置模塊將接收到的用戶信息嵌入消息配置窗口文件返回至當(dāng)前用戶所在客戶端,接收用戶配置信息,并將接收的配置信息存入所述結(jié)構(gòu)化數(shù)據(jù)庫;
所述即時信息發(fā)布后臺系統(tǒng)在接收到來自所述云計算平臺的消息后,從所述結(jié)構(gòu)化數(shù)據(jù)庫中調(diào)取對相應(yīng)的配置信息獲取定制該消息的用戶的信息,并將解析后獲取的各種展現(xiàn)形式的計算結(jié)果以消息方式向定制該消息的用戶所在的所述客戶端推送。
所述應(yīng)用模塊還包括自助計算服務(wù)模塊,所述自助計算服務(wù)模塊內(nèi)預(yù)設(shè)有對應(yīng)若干自助運算程序;
與之對應(yīng),所述配置接口模塊包括自助計算服務(wù)接口模塊,所述自助計算服務(wù)接口模塊受用戶觸發(fā)調(diào)用所述自助計算服務(wù)模塊,同時將當(dāng)前用戶信息發(fā)送至所述自助計算服務(wù)模塊;
所述自助計算服務(wù)模塊接收用戶輸入的計算參數(shù),并向所述云計算平臺發(fā) 送包含用戶信息的計算請求,所述云計算平臺完成計算后將計算結(jié)果以及用戶信息以消息方式發(fā)送至所述即時信息發(fā)布后臺系統(tǒng),所述即時信息發(fā)布后臺系統(tǒng)解析消息中包含的當(dāng)前用戶的用戶信息并將接收到的消息返回當(dāng)前用戶所在的所述客戶端。
所述即時信息發(fā)布后臺系統(tǒng)設(shè)置有隊列機制,所述云計算平臺發(fā)送過來的消息根據(jù)優(yōu)先級和到達(dá)的先后順序進(jìn)行排隊,按排隊順序取出消息進(jìn)行解析。
在所述網(wǎng)站系統(tǒng)上設(shè)置有歷史消息查詢模塊,所述即時信息發(fā)布后臺系統(tǒng)將解析之后的消息保存到所述結(jié)構(gòu)化數(shù)據(jù)庫中,所述歷史消息查詢模塊接收用戶的查詢指令從所述結(jié)構(gòu)化數(shù)據(jù)庫中找到符合條件的歷史消息,對于帶有鏈接地址的消息,按照地址從所述存儲系統(tǒng)中獲取相應(yīng)的文件,并顯示在當(dāng)前查詢用戶所在的所述客戶端的網(wǎng)頁中。。
在所述即時消息發(fā)布后臺系統(tǒng)上設(shè)置有第三方程序接口模塊,所述即時消息發(fā)布后臺系統(tǒng)接收用戶的第三方程序通過該第三方程序接口模塊發(fā)布的內(nèi)容,并根據(jù)其預(yù)設(shè)的消息發(fā)送規(guī)則,將消息發(fā)送到對應(yīng)的所述客戶端。
所述結(jié)構(gòu)化數(shù)據(jù)包括文字、鏈接信息,所述非結(jié)構(gòu)化數(shù)據(jù)包括圖片、動畫,所述鏈接信息包括所述網(wǎng)站上背景知識的鏈接信息,所述云計算平臺在接收到計算請求后,找到與當(dāng)前消息相關(guān)的背景知識的鏈接和其它信息一起發(fā)送至所述即時信息發(fā)布后臺系統(tǒng)。
所述云計算平臺向所述即時消息發(fā)布后臺系統(tǒng)發(fā)送的消息采用JSON格式,所述客戶端包括Windows客戶端、iOS客戶端和Andriod客戶端,所述即時信息發(fā)布后臺系統(tǒng)根據(jù)當(dāng)前登錄用戶的客戶端種類選擇推送至客戶端進(jìn)行顯示的即時消息的內(nèi)容,所述云計算平臺采用基于Matlab的并行計算和分布式計算策略。
本發(fā)明的有益效果如下:
本發(fā)明的即時消息發(fā)布系統(tǒng)應(yīng)用至受控?zé)岷司圩冊囼炛?,利用云計算、分布式控制、并行計算和以及網(wǎng)絡(luò)通訊技術(shù),能夠在托卡馬克核聚變裝置運行期間,根據(jù)實驗的進(jìn)展情況,即時向參與實驗的工程師和物理學(xué)家發(fā)送其感興趣的與整個裝置的當(dāng)前實驗或者最近一段時間實驗的工程運行分析和物理分析相關(guān)的信息,信息的格式可以根據(jù)需要預(yù)設(shè),例如可以是帶格式的文字、鏈接、 圖片以及動畫,并且不受地理范圍的限制,從而為在全球范圍內(nèi)的實現(xiàn)聚變裝置的遠(yuǎn)程監(jiān)控提供了一種解決方案。
附圖說明
圖1為本發(fā)明的即時消息發(fā)布系統(tǒng)的結(jié)構(gòu)框圖。
具體實施方式
下面結(jié)合附圖和具體實施例對本發(fā)明的技術(shù)方案和有益效果進(jìn)一步進(jìn)行說明。
參見附圖1,本發(fā)明的即時消息發(fā)布系統(tǒng),包括消息收集和處理系統(tǒng)、云計算平臺、存儲系統(tǒng)、即時信息發(fā)布后臺系統(tǒng)和至少一個客戶端,其中:
消息收集和處理系統(tǒng),通過設(shè)置相應(yīng)的通訊手段和協(xié)議接收來自所有受監(jiān)控設(shè)備的消息,其一直處于監(jiān)聽狀態(tài),并在接收到預(yù)先設(shè)定的消息且滿足對應(yīng)的條件時向云計算平臺發(fā)送消息處理的計算請求;
云計算平臺上預(yù)置有計算策略,在接收到上述計算請求后,云計算平臺根據(jù)預(yù)置的計算策略啟動相應(yīng)的計算線程進(jìn)行計算、在計算完成后將計算結(jié)果生成預(yù)設(shè)的各種展現(xiàn)形式存入存儲系統(tǒng),并向即時信息發(fā)布后臺系統(tǒng)發(fā)送消息;
即時信息發(fā)布后臺系統(tǒng)解析云計算平臺發(fā)送的消息,并根據(jù)解析結(jié)果獲取本條消息對應(yīng)的上述各種展現(xiàn)形式的計算結(jié)果并以消息方式向至少一個客戶端推送;
客戶端包括消息對話框接口模塊,消息對話框接口模塊接收并向用戶展示即時信息發(fā)布后臺系統(tǒng)推送過來的消息。
當(dāng)本發(fā)明的系統(tǒng)應(yīng)用至聚變試驗時,系統(tǒng)后臺所面向的對象是所有參與聚變工程和物理實驗的運行和分析、并能夠被實時監(jiān)控或能夠主動提供信息的設(shè)備和子系統(tǒng),系統(tǒng)前臺所面向的對象是所有關(guān)心聚變工程和物理實驗運行和分析的工程師和科學(xué)家。。本發(fā)明的即時消息發(fā)布系統(tǒng)可以是面向全球從事聚變工程和物理研究人員,在全球任何一個位置,在聚變實驗期間,均可以通過互聯(lián)網(wǎng)接入到本系統(tǒng)中,獲取所有的實驗即時信息。
本發(fā)明的存儲系統(tǒng)包括存儲子系統(tǒng)和結(jié)構(gòu)化數(shù)據(jù)庫系統(tǒng),以便將結(jié)構(gòu)化數(shù) 據(jù)和非結(jié)構(gòu)化數(shù)據(jù)按照分別存儲,方便后續(xù)過程根據(jù)不同根據(jù)數(shù)據(jù)種類部分分別進(jìn)行處理和傳送,提高消息傳送效率:
云計算平臺將計算結(jié)果的各種展現(xiàn)形式中的非結(jié)構(gòu)化數(shù)據(jù)存儲至存儲子系統(tǒng)中,并將結(jié)構(gòu)化數(shù)據(jù)以及非結(jié)構(gòu)化數(shù)據(jù)的存儲地址存儲至結(jié)構(gòu)化數(shù)據(jù)庫系統(tǒng),云計算平臺向即時信息發(fā)布后臺系統(tǒng)發(fā)送的消息中包括結(jié)構(gòu)化數(shù)據(jù)以及非結(jié)構(gòu)化數(shù)據(jù)的存儲地址,即時信息發(fā)布后臺系統(tǒng)解析收到的消息得到非結(jié)構(gòu)化數(shù)據(jù)的存儲地址以及結(jié)構(gòu)化數(shù)據(jù),并從該存儲地址讀取非結(jié)構(gòu)化數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)一起發(fā)送至客戶端。
為了適應(yīng)不同用戶的個性化需求,本發(fā)明的即時消息發(fā)布系統(tǒng)還設(shè)置有網(wǎng)站系統(tǒng),并在網(wǎng)站系統(tǒng)上設(shè)置有若干應(yīng)用模塊;
客戶端還包括定制模塊,定制模塊中設(shè)置與網(wǎng)站系統(tǒng)的應(yīng)用模塊對應(yīng)的配置接口模塊;
配置接口模塊經(jīng)用戶觸發(fā)調(diào)用網(wǎng)站系統(tǒng)的相應(yīng)應(yīng)用模塊完成功能。
應(yīng)用模塊可以根據(jù)用戶的需求設(shè)置,本發(fā)明中,為了滿足用戶的消息定制需求,設(shè)置了消息配置模塊,為了滿足用戶的自定義計算需要,設(shè)置了自助計算服務(wù)模塊,具體如下:
應(yīng)用模塊包括消息配置模塊,與之對應(yīng),配置接口模塊包括消息配置接口模塊,消息配置接口模塊受用戶觸發(fā)調(diào)用消息配置模塊,同時將當(dāng)前用戶信息發(fā)送至消息配置模塊,消息配置模塊將接收到的用戶信息嵌入消息配置窗口文件返回至當(dāng)前用戶所在客戶端,接收用戶配置信息,并將接收的配置信息存入結(jié)構(gòu)化數(shù)據(jù)庫;
即時信息發(fā)布后臺系統(tǒng)在接收到來自云計算平臺的消息后,從結(jié)構(gòu)化數(shù)據(jù)庫中調(diào)取對相應(yīng)的配置信息獲取定制該消息的用戶的信息,并將解析后獲取的各種展現(xiàn)形式的計算結(jié)果以消息方式向定制該消息的用戶所在的客戶端推送。
應(yīng)用模塊還包括自助計算服務(wù)模塊,自助計算服務(wù)模塊內(nèi)預(yù)設(shè)有對應(yīng)若干自助運算程序;
與之對應(yīng),配置接口模塊包括自助計算服務(wù)接口模塊,自助計算服務(wù)接口模塊受用戶觸發(fā)調(diào)用自助計算服務(wù)模塊,同時將當(dāng)前用戶信息發(fā)送至自助計算服務(wù)模塊;
自助計算服務(wù)模塊接收用戶輸入的計算參數(shù),并向云計算平臺發(fā)送包含用戶信息的計算請求,云計算平臺完成計算后將計算結(jié)果以及用戶信息以消息方式發(fā)送至即時信息發(fā)布后臺系統(tǒng),即時信息發(fā)布后臺系統(tǒng)解析消息中包含的當(dāng)前用戶的用戶信息并將接收到的消息返回當(dāng)前用戶所在的客戶端。
因為云計算平臺是一個高性能計算集群,其進(jìn)行的是大量的并發(fā)運算,會導(dǎo)致很多信息在同一個時刻到達(dá)即時信息發(fā)布后臺系統(tǒng),為了快速高效的處理這些信息,本發(fā)明在即時信息發(fā)布后臺系統(tǒng)設(shè)置有隊列機制,云計算平臺發(fā)送過來的消息根據(jù)優(yōu)先級和到達(dá)的先后順序進(jìn)行排隊,按排隊順序取出消息進(jìn)行解析。
為了方便用戶查看歷史消息,本發(fā)明在網(wǎng)站系統(tǒng)上設(shè)置有歷史消息查詢模塊,即時信息發(fā)布后臺系統(tǒng)將解析之后的消息保存到結(jié)構(gòu)化數(shù)據(jù)庫中,歷史消息查詢模塊接收用戶的查詢指令從結(jié)構(gòu)化數(shù)據(jù)庫中找到符合條件的歷史消息,對于帶有鏈接地址的消息,按照地址從存儲系統(tǒng)中獲取相應(yīng)的文件,并顯示在當(dāng)前查詢用戶所在的客戶端的網(wǎng)頁中。。
在聚變試驗中,有需要有一些臨時參加進(jìn)行來的設(shè)備需要在系統(tǒng)中發(fā)送消息,本發(fā)明在即時消息發(fā)布后臺系統(tǒng)上設(shè)置有第三方程序接口模塊作為這些設(shè)備的接入口,即時消息發(fā)布后臺系統(tǒng)接收用戶的第三方程序通過該第三方程序接口模塊發(fā)布的內(nèi)容,并根據(jù)其預(yù)設(shè)的消息發(fā)送規(guī)則,將消息發(fā)送到對應(yīng)的客戶端。
本發(fā)明中的數(shù)據(jù)表現(xiàn)形式可以根據(jù)實際的試驗數(shù)據(jù)表現(xiàn)需求確定,其中結(jié)構(gòu)化數(shù)據(jù)可以包括文字、鏈接信息,非結(jié)構(gòu)化數(shù)據(jù)可以包括圖片、動畫,鏈接信息包括網(wǎng)站上背景知識的鏈接信息,云計算平臺在接收到計算請求后,找到與當(dāng)前消息相關(guān)的背景知識的鏈接和其它信息一起發(fā)送至即時信息發(fā)布后臺系統(tǒng)。
本發(fā)明中的云計算平臺向即時消息發(fā)布后臺系統(tǒng)發(fā)送的消息可以采用JSON格式。
本發(fā)明中的客戶端可以是Windows客戶端、iOS客戶端和Andriod客戶端的任何一種,考慮到移動平臺的內(nèi)存、存儲空間和計算能力,在Andriod和iOS版本的客戶端中只顯示文字和鏈接兩種消息,但是通過點擊鏈接可以看到圖片和動畫 即時信息發(fā)布后臺系統(tǒng)根據(jù)當(dāng)前登錄用戶的客戶端種類選擇推送至客戶端進(jìn)行顯示的即時消息的內(nèi)容。
本發(fā)明的云計算平臺可以采用基于Matlab的并行計算和分布式計算策略。
下面結(jié)合本發(fā)明在我國第一個實現(xiàn)偏濾器放電實驗的常規(guī)托卡馬克實驗裝置HL-2A上的應(yīng)用實例進(jìn)一步進(jìn)行說明,HL-2A上的本發(fā)明的即時消息發(fā)布系統(tǒng)運行時間周期設(shè)置為8~15分鐘:
本發(fā)明的即時消息發(fā)布系統(tǒng)應(yīng)用到聚變實驗中時,需要首先對各子系統(tǒng)的消息接口進(jìn)行規(guī)范,在聚變實驗期間,各個子系統(tǒng)將各自產(chǎn)生的消息和事件按照預(yù)先設(shè)定的標(biāo)準(zhǔn)接口規(guī)范進(jìn)行轉(zhuǎn)化,并發(fā)送到指定的位置進(jìn)行發(fā)布共享,典型的發(fā)布和共享的方式是:UDP消息、EPICS消息以及各種監(jiān)控事件消息;
消息收集和處理系統(tǒng)一直處于監(jiān)聽的狀態(tài),通過一系列的通訊手段和協(xié)議(包括UDP,EPCIS等等)接收聚變實驗各子系統(tǒng)發(fā)送的消息,參與聚變實驗的所有子系統(tǒng)、子系統(tǒng)和設(shè)備的消息和事件都可以通過網(wǎng)絡(luò)消息的方式自由的傳送到此系統(tǒng),每一類消息均對應(yīng)一個線程,一旦接收到預(yù)先設(shè)定的消息并且滿足對應(yīng)的條件,則立即向作為云計算平臺的高性能云計算集群發(fā)送消息處理的計算請求;
高性能云計算集群擁有多個大容量內(nèi)存和多CPU的計算資源,采用了基于Matlab的并行計算和分布式計算策略。可以同時處理多個計算請求。計算請求根據(jù)計算量的大小,計算代碼執(zhí)行的分為兩種策略,一種是計算量較小的,直接使用一個線程一個CPU進(jìn)行計算,一種計算量較大的,需要進(jìn)行多核并行計算的優(yōu)化。在計算完畢后,高性能計算集群根據(jù)預(yù)先設(shè)置的策略,將包括各種工程和物理判斷結(jié)論在內(nèi)的計算結(jié)果生成各種展現(xiàn)形式,包括指定格式的文字消息、鏈接信息、指定像素大小的圖片信息以及將一系列的圖片生成動畫等;
高性能云計算集群將生成的圖片和動畫保存到存儲系統(tǒng)的指定位置上,并將文字、鏈接、圖片和動畫的信息按照指定的JSON格式發(fā)送到即時信息發(fā)布后臺系統(tǒng);
具體的,可以在存儲系統(tǒng)上建有一個http服務(wù)器,上述圖片、動畫等非結(jié)構(gòu)化數(shù)據(jù)的存儲地址既是一個網(wǎng)站的地址,當(dāng)消息被生成的時候,消息附帶的文件存儲地址就已經(jīng)生成了,例如http//4.4.4.4/3.jpg,這個地址隨著文本消息打 包成一個json格式的消息;
文字可以作為字符串的形式存儲,例如mysql數(shù)據(jù)庫,文字可以以varchar的類型(字符串)作為一個字段進(jìn)行存儲;
因為高性能計算集群進(jìn)行的是大量的并發(fā)運算,會導(dǎo)致很多JSON信息在同一個時刻到達(dá),即時信息發(fā)布后臺系統(tǒng)將收到的JSON格式消息排成隊列,并根據(jù)先后順序和優(yōu)先級從隊列中取出消息進(jìn)行解析,首先通過查詢數(shù)據(jù)庫,找到訂閱此條消息的所有用戶,然后解析出信息所包含的文字、鏈接地址、圖片和動畫的等內(nèi)容;
即時信息發(fā)布后臺系統(tǒng)將解析之后的消息按照特定的格式保存到數(shù)據(jù)庫中,以供后期的查詢;
即時信息發(fā)布后臺系統(tǒng)將本條消息對應(yīng)的文字、鏈接地址、圖片和動畫依次發(fā)送給所有訂閱了此條消息的客戶端。其中文字和鏈接地址直接按照指定的格式發(fā)送出去,而圖片和動畫則首先是從存儲系統(tǒng)的指定位置讀出,然后按照與客戶端約定的格式,以流的形式發(fā)送到客戶端;
對應(yīng)最常見的操作系統(tǒng),客戶端存在三種版本:Windows、Andriod和iOS??蛻舳耸钦麄€系統(tǒng)與參與聚變實驗人員之間的唯一接口。接口分為兩種,一種是消息對話框接口,可以在其中直接顯示系統(tǒng)后臺推送過來用戶訂閱的各種消息。消息分為四種,均直接在對話框中顯示:
1)帶格式的文本消息,后臺根據(jù)消息的種類不同(例如普通、錯誤、警報、特色、參數(shù)、結(jié)論等等),生成不同顏色和字體的消息,使得參與聚變實驗的人員可以直觀地進(jìn)行區(qū)分;
2)鏈接,給出文本、圖片或者動畫的補充和背景知識的鏈接,直接在對話框中點擊,即可以在瀏覽器中顯示對應(yīng)的頁面
3)靜態(tài)圖片,最典型的格式是PNG和JPG,圖片比文字可以更直觀的顯示某個或者多個參數(shù)在實驗中演化過程以及對比;
4)動畫,最典型的格式是GIF,動畫可以直觀的顯示二維圖像在實驗過程中的演化過程,例如等離子的圖像和剖面等等;
在Windows版本中,所有的內(nèi)容均會顯示出來,但是在Andriod和iOS版本中,考慮到移動平臺的內(nèi)存、存儲空間和計算能力,只顯示文字和鏈接兩種消息, 但是通過點擊鏈接可以看到圖片和動畫;
第二種接口是帶有用戶信息的配置應(yīng)用,集成在客戶端中。當(dāng)用戶點擊相關(guān)應(yīng)用圖標(biāo)的時候,會彈出對應(yīng)的網(wǎng)頁,網(wǎng)頁中帶有用戶的信息,為單個用戶提供個性化的服務(wù),主要的服務(wù)有:
1)客戶端接收消息種類的自定義配置。用戶可以選中其感興趣的消息,從而用其賬號登陸的客戶端只會接收用戶選中的消息;
2)自定義計算。云計算平臺提供了一系列的后臺計算服務(wù)程序及其接口,只需要在網(wǎng)頁中提交計算的輸入?yún)?shù),云計算平臺就會自動進(jìn)入計算,計算的過程和結(jié)果以各種消息的形式發(fā)送到客戶端,特別是計算的結(jié)果在客戶端對話框中以圖片和鏈接的方式供直觀查看和下載;Windows客戶端接收并顯示所有的即時消息,iOS客戶端和Andriod客戶端只接收和顯示文字和鏈接地址;
客戶端通過點擊應(yīng)用圖標(biāo),可以跳轉(zhuǎn)到對應(yīng)的網(wǎng)站,網(wǎng)址帶有用戶的信息;
用戶在帶有用戶信息的網(wǎng)站上,進(jìn)行消息訂閱選擇操作,網(wǎng)站將用戶特定的訂閱消息種類保存到數(shù)據(jù)庫中;
用戶在帶有用戶信息的網(wǎng)站上,進(jìn)行自助計算操作,網(wǎng)站處理自助計算的消息,并立即向高性能云計算集群發(fā)送消息處理的請求,高性能云計算集群接收到這個請求后,根據(jù)計算量進(jìn)行資源的分配并進(jìn)行計算,將計算的過程和計算的結(jié)果,通過JSON格式的消息發(fā)送到即時消息發(fā)布后臺系統(tǒng),即時消息發(fā)布后臺系統(tǒng)按照消息發(fā)送的方式直接發(fā)給對應(yīng)用戶的客戶端;
用戶直接點擊客戶端中的鏈接地址時,會在瀏覽器中顯示存儲系統(tǒng)中對應(yīng)的圖片、動畫,或者網(wǎng)站上的背景知識和其他信息。
用戶的第三方程序通過消息接口發(fā)布的內(nèi)容,會自動轉(zhuǎn)化為JSON格式的消息發(fā)送到即時消息發(fā)布后臺系統(tǒng),即時消息發(fā)布后臺系統(tǒng)根據(jù)其內(nèi)在的消息發(fā)送規(guī)則,將消息發(fā)送到對應(yīng)的客戶端。
綜上,本發(fā)明的優(yōu)點可以總結(jié)如下:
1、參與實驗的人員只需要一個賬號和一個客戶端,無論在局域網(wǎng)還是在廣域網(wǎng)都可以與在中控大廳的實驗人員同時獲得當(dāng)前的實驗信息;
2、展示內(nèi)容,沒有限制,全部都顯示在客戶端中;
3、可以只顯示感興趣的內(nèi)容;
4、提供各種格式的消息,內(nèi)容豐富,格式多樣,直觀性強;
5、可以顯示各種現(xiàn)有的方案不能顯示的內(nèi)容,例如經(jīng)過大規(guī)模的計算后得到的物理信息、綜合分析信息等等;
6、擴(kuò)展性極強,增加一個新的消息內(nèi)容,只需要將算法放入集群中即可,無需額外的硬件投資。
7、開放性強,利用二次開發(fā)接口,用戶可以自定義消息并且發(fā)給指定的用戶;
8、提供通用化和個性化的計算服務(wù)。除了接收系統(tǒng)內(nèi)置的實驗實時消息外,系統(tǒng)還提供了一系列的自助計算的接口,在實驗期間,用戶可以通過此接口,將特定的計算提交到云計算平臺,云計算平臺將計算過程和結(jié)果發(fā)送到用戶的客戶端上。
本領(lǐng)域的普通技術(shù)人員將會意識到,這里所述的實施例是為了幫助讀者理解本發(fā)明的原理,應(yīng)被理解為本發(fā)明的保護(hù)范圍并不局限于這樣的特別陳述和實施例。本領(lǐng)域的普通技術(shù)人員科研根據(jù)本發(fā)明公開的這些技術(shù)啟示做出各種不脫離本發(fā)明實質(zhì)的其它各種具體變形和組合,這些變形和組合仍然在本發(fā)明的保護(hù)范圍內(nèi)。