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

基于LAMP的高性能計算用戶組織架構管理系統設計與實現*

2021-03-01 03:33:36吳君楠
計算機工程與科學 2021年2期
關鍵詞:頁面用戶系統

吳君楠,歐 洋,李 琰

(國防科技大學計算機學院,湖南 長沙 410073)

1 引言

高性能計算HPC(High Performance Computing)水平代表一個國家的計算戰略能力,成為社會發展、科學進步和國民經濟的一種生產力,也是衡量一個國家核心競爭力的重要指標[1]。通常在高性能計算機上需要部署多種應用,每種應用針對不同的用戶,形成了多對多的情形。隨著HPC系統規模的不斷擴大,高性能計算機上的應用也隨之增多,使得高性能計算機面臨著用戶群體復雜、海量數據的存儲和維護等問題[2]。日志功能在故障檢測中發揮著越來越重要的作用[3]。為了給高性能計算機提供安全可靠的信息保障,需要在高性能計算機中形成一套統一的用戶組織架構管理系統,來解決用戶管理分散、應用信息孤島、海量數據存儲和維護等問題。

用戶組織架構管理系統(User Organization Management System)針對不同用戶角色提供不同的訪問權限和訪問頁面,同時給角色分配任務、職責和權限等,使得用戶管理更加便捷高效[4]。傳統的用戶組織架構管理系統采用基于瀏覽器/服務器B/S(Browser/Server)的架構模式,雖然簡化了客戶端的工作,但是加重了服務端的工作,使得服務端負載大,給用戶帶來的體驗差;傳統的用戶組織架構管理系統日志數據訪問采用簡單對象訪問協議SOAP(Simple Object Access Protocol)[5]和安全斷言標記語言SAML(Security Assertion Markup Language)[6]等重量型Web服務技術,使得利用日志信息對應用進行診斷的難度大且效率低[7],同時海量的日志信息查詢占據著客戶端大量的內存,網絡開銷大;傳統的用戶組織架構管理系統采用線性表來進行數據存取,線性表雖然邏輯結構簡單,同時便于實現和操作,但是這種簡單的邏輯結構也帶來了修改效率低和可擴展性差等問題。

目前,已有一些主流的用戶組織架構管理系統。自由聯盟計劃Liberty Alliance Project[8]采用的是基于SAML標準的一個開放協議,該協議中每個Web應用維護的列表需手動設定,用戶體驗差,且SAML需通過安全套接字協議SSL(Security Sockets Layer)加密,離開SSL環境易受網絡攻擊,安全性不高;耶魯大學的CAS(Central Authentication Server)系統[9]使用SpringMVC和Webflow等重量級網絡架構,在用戶訪問并發量很大的情況下系統效率低,網絡開銷大;Microsoft.NET Passport[10]采用類似 Kerberos[11]集中認證分布授權的方式,僅適用于.Net應用服務器,擴展性差,同時用戶信息共享控制只向全部加盟網站共享,缺乏靈活性??偠灾?,當前的用戶組織架構管理系統存在用戶體驗差、網絡開銷大和擴展性差等問題。

本文針對當前用戶組織架構管理系統存在的問題,提出了一種基于Linux操作系統、Apache服務器、MySQL數據庫和PHP后臺腳本編程語言組合的軟件開發平臺LAMP[12]的高性能計算用戶組織架構管理系統的實現方法,該方法采用B/S架構,Twig與HTML相結合的方式減輕了服務端的負擔,改善了用戶體驗;采用表述性狀態轉移REST(Representational State Transfer)框架[13]與Cache機制[14]對海量臨時數據進行緩存,降低了開發難度和網絡開銷;采用樹形結構對分層數據進行存取,提高了數據存取效率,且可擴展性好。

2 關鍵技術

2.1 B/S架構,Twig與HTML相結合的Web前端

高性能計算用戶組織架構管理系統Web前端的實現采用B/S架構,簡化了客戶端的工作,同時采用Twig與HTML相結合。Twig是一種PHP語言編程模板引擎,它在堅持PHP語言編程原則的同時,添加了很多有用的功能,使其具有開發友好性。Twig將模板編譯為簡單的、最優化的PHP代碼,極大地降低了PHP代碼的開銷;Twig具有靈活的詞法分析器和解析器驅動,開發者可以自定義標簽和過濾器,并創建自己的領域特定語言DSL(Domain-Specific Language);Twig還擁有沙盒模式,用于評估未受信任的模板代碼。高性能計算用戶組織架構管理系統Web前后端均部署在Web服務器中,前端使用Twig模板,采用HTML、JavaScript和CSS(Cascading Style Sheets)語言進行開發,用于生成圖形頁面,后端采用PHP語言進行開發,根據前端的請求做出響應。一個簡單的Twig模板如下所示:

〈!DOCTYPE html〉

〈html〉

〈head〉

〈title〉NUDT〈/title〉

〈/head〉

〈/body〉

〈ul id="navigation"〉

{% for item in navigation%}

〈li〉〈a href="{{item.href}}"〉{{ktem.caption}}〈/a〉〈/li〉

〈%endfor%〉

〈/ul〉

〈hl〉NUDT〈/hl〉

{{hello}}

〈/body〉

〈/html〉

其中,{%…%} 和 {{…}}為2種不同形式的分隔符,前者用于執行for循環語句,后者用于將表達式的變量輸出到模板中。由于Twig具有快速、靈活和安全的特點,為服務端減輕了負擔,極大改善了用戶體驗。

2.2 REST框架與Cache機制相結合的日志管理

高性能計算用戶組織架構管理系統的日志管理模塊采用REST框架與Cache機制相結合的方式。REST是一種輕量級的軟件架構風格,它提供一些軟件設計的原則和約束條件,使用CRUD原則,即創建(Create)、獲取(Read)、更新(Update)和刪除(Delete),這4種簡單的操作可以組合成其他無數操作,REST使得軟件設計簡潔,降低了開發難度。海量臨時數據通過Cache機制進行緩存,日志事件通過后端的事件函數將日志事件類型、創建時間和事件描述等進行相應的記錄,并存入后端數據庫中。如圖1所示,查詢用戶日志時,用戶通過前端發送AJAX(Asynchronous Javascript And XML)請求調用后端PHP函數,生成對應的SQL語句到數據庫中進行查詢,通過遍歷用戶日志表后將所有日志事件提取出來,放在后端Cache中進行臨時存儲。然后根據前端的分頁情況直接到Cache中查找并動態加載緩存數據,以便在使用時快速調用,而不需要多次重新去系統中查詢,這樣減少了系統調用次數,減小了服務器負載,降低了網絡開銷。日志管理為日后系統管理員對系統行為操作的查看和維護提供了便利,同時利用日志信息能有效地排除系統錯誤,提高系統管理效率。

Figure 1 Query user log process

2.3 樹形結構存取分層數據的組織架構

系統組織架構通常是分層的數據結構,如何存取分層結構成為組織架構的關鍵問題。傳統的數據存取方式采用線性表這一數據結構,因其邏輯結構簡單,便于實現和操作。對于每一個查詢結果,理想期望是只需一次查詢,而使用線性表因其嵌套遞歸,需要反復進行多次查詢,平均需要移動一半的元素來保持其原有排序,且當數據結構很大時,其查詢效率低,可擴展性差。另一種對分層數據進行存取的方式是采用二叉樹,這種方式從樹的根部開始遍歷,將待查詢關鍵字與每個節點的關鍵字進行比較后,再決定繼續查詢左子樹還是右子樹,這樣平均減少了一半的查詢量,降低了存取復雜度,提高了查詢效率,且由于其遞歸的特性,易于擴展。高性能計算用戶組織架構管理系統的組織架構模塊采用樹形結構來存取分類分層數據,不僅計算量小、查詢速度快,而且可擴展性好,易于存儲和維護。

在分層結構中一共有父節點、兄弟節點和子節點3種節點。圖2所示為二叉樹遍歷算法示例,數字1~8表示二叉樹遍歷的先后順序,在遍歷二叉樹時,先從根節點出發,再按照從左至右的順序依次對二叉樹進行遍歷。

Figure 2 Example of binary tree traversal algorithm

二叉樹遍歷算法的偽代碼如下所示:

SEARCH(X,K)

1 IFX==NULL ORX=X.KEY

2 RETURNX;

3 IFK

4 RETURN SEARCH(X.LEFT,K);

5 ELSE RETURN SEARCH(X.RIGHT,K);

其中,X為指向根節點的一個指針,K為關鍵字,遍歷時從根節點開始,如果該節點不存在,則返回NULL值,否則返回一個指向關鍵字K的指針。遍歷節點X時,將X.KEY與關鍵字K進行比較,如果二者相等,則終止查找;如果KX.KEY,則在X的右子樹中繼續進行遍歷,如此可以方便快速地找到該節點,提高了存取效率[4]。

3 系統設計與實現

3.1 LAMP架構

用戶組織架構管理系統基于LAMP平臺進行軟件開發。LAMP是指采用Linux操作系統、Apache服務器、MySQL數據庫和PHP后臺腳本編程語言進行組合的一個軟件開發平臺[14]。相比J2EE[15]和ASP.NET[16]等商業軟件開發平臺,LAMP平臺使用開源的方式,不僅成本低、兼容度高,而且操作簡單,安全可靠,成為當今主流的開發模式?;贚AMP的架構設計如圖3所示。其中FireFox前端瀏覽器、Apache服務器、PHP開發語言和MySQL數據庫分別對應系統的用戶層、服務層、管理層和數據層。用戶層是面向用戶的,主要提供用戶可以瀏覽操作的瀏覽器頁面;服務層為用戶層提供Web服務,同時為管理層提供操作系統硬件支撐;管理層主要是對頁面瀏覽模塊、后臺管理模塊和系統管理模塊3大模塊進行管理,其中頁面瀏覽模塊主要是對前端頁面的管理,后臺管理模塊是對后端數據的管理,系統管理模塊主要是對系統用戶、應用和日志等信息的管理;數據層包含數據庫,主要提供數據查詢和數據存儲等功能。

Figure 3 LAMP architecture

3.2 軟件架構

用戶組織架構管理系統采用B/S架構實現,包含用戶管理、應用管理、日志管理、組織架構和訪問控制等多種功能,為用戶提供了一套高效可靠的用戶組織架構管理方案?;贚AMP架構設計的軟件架構如圖4所示。其中,用戶層主要進行人機交互,向用戶提供可視化的瀏覽頁面;服務層主要是對用戶進行訪問控制,為不同的用戶提供不同的訪問頁面和訪問權限;管理層主要是對用戶管理、應用管理、日志管理和組織架構等功能模塊進行管理;數據層提供數據庫中底層數據的操作服務,如增刪改查等操作服務。

Figure 4 Software architecture

3.3 模塊設計

根據系統架構的需求,用戶組織架構管理系統主要包含5大模塊:訪問控制、用戶管理、應用管理、日志管理和組織架構,如圖5所示。其中訪問控制模塊是對用戶使用系統的控制,主要對用戶訪問權限進行控制,即針對不同的用戶需求,實現用戶與不同應用之間的綁定授權;用戶管理模塊主要是用戶管理員對用戶賬號進行增加、刪除、修改和查詢等操作的管理;應用管理主要是對應用進行增加、刪除、修改和查詢等操作的管理;日志管理模塊主要是記錄系統中用戶操作和系統報錯等日志信息,方便后期維護;組織架構模塊是提供多層用戶組織構架,方便系統管理員對用戶進行分類分層的管理。

Figure 5 System block

3.4 數據庫配置

由于大量的數據需要查詢和保存,本文采用數據庫對數據進行統一管理和存儲,根據系統需求,主要分為以下5個數據表:user、app、con、log、org。

(1)user是用戶信息表,主要記錄用戶ID、用戶名、用戶全稱、電子郵箱、用戶標題、用戶組、用戶登錄時間和用戶注冊時間等信息。其中用戶ID為用戶注冊時自動生成的唯一編號,用戶名為用戶設置的用戶登錄名稱,用戶全稱為用戶的真實名,用戶標題為用戶組織架構的名稱,用戶組分為2種:系統用戶admin和普通用戶組。

(2)app是應用信息表,主要用來記錄應用ID、應用名稱、應用版本、應用注冊時間、應用更新時間和應用URL地址等信息。應用ID為每個應用注冊時自動生成的唯一編號,系統管理員對用戶應用授權時,主要通過應用名稱和應用版本對其授權。

(3)con是訪問授權表,主要記錄用戶ID、應用ID、用戶應用授權綁定ID等信息。每一個用戶應用授權綁定ID對應一對用戶ID和應用ID,通過查詢用戶應用授權綁定ID可以快速查找該ID下對應的用戶ID和應用ID,再通過用戶ID和應用ID分別在user表和app表中查找相關條目,便可以獲取對應的用戶信息和應用信息。

(4)log是日志表,主要記錄系統日志信息,包括日志ID、用戶ID、日志創建時間、日志事件類型和日志事件描述等信息。日志ID為每一條日志記錄信息的編號,只要得到日志ID便可以獲取相應的日志信息。日志事件類型包括用戶注冊事件、用戶登錄事件、應用注冊事件和應用版本更新事件等所有系統內操作的事件。日志事件描述主要是對日志事件的用戶、時間、操作等詳細信息的記錄。

(5)org是組織架構表,主要記錄用戶的組織架構關系,包括組織架構條碼ID、節點ID、父節點ID、子節點ID、兄弟節點ID、節點名稱、節點創建時間和節點更新時間。其中節點ID為當前節點所在的ID,父節點ID為當前節點的上一層節點的ID,兄弟ID為當前節點的同一層節點的ID,子節點ID為當前節點的下一層節點的ID。

3.5 頁面實現

(1)用戶管理頁面。

用戶管理頁面為系統管理員創建用戶并對用戶進行增刪改查等操作的頁面,如圖6所示,系統管理員可以對用戶名、用戶全稱、電子郵箱和用戶標題等進行設置和管理,同時也可以創建新的用戶,此頁面對用戶不可視,只有系統管理員才可登錄此頁面進行操作。

Figure 6 User management page

(2)日志管理頁面。

日志管理頁面用于呈現系統日志信息,包括用戶操作、應用操作和系統的報錯信息等,便于系統管理員對系統的維護和查詢,每條日志消息將以時間軸的形式呈現,如圖7所示,圖中下方的第1、2條記錄分別記錄了用戶注冊成功和用戶登錄成功的日志歷史消息。管理員也可以通過頁面左上角的搜索按鈕對日志進行搜索查詢,過濾掉不需要的日志信息。

Figure 7 Log management page

(3)組織架構頁面。

組織架構頁面為用戶組織架構頁面,用于系統管理員查看和編輯組織架構,其中編輯欄目可以添加和刪除父節點、子節點和兄弟節點,必須選擇節點后,才能對該節點進行添加和刪除等操作。頁面右上角的Export為輸出按鈕,點擊此按鈕便可將當前的組織架構以圖像的形式輸出保存,組織架構查詢和編輯頁面分別如圖8和圖9所示。

Figure 8 Organization query page

Figure 9 Organization edit page

4 系統測試

4.1 功能測試

本節通過運行程序和模擬訪問等方法,對用戶組織架構管理系統的用戶管理、應用管理、日志管理和組織架構等4個模塊的功能進行測試,確認該系統各個模塊的功能是否能正常運行。測試結果如表1所示,所有界面均能正常訪問,所有功能均達到預期效果,且測試過程中沒有出現任何功能錯誤的問題。

Table 1 Functional test results of user organization structure management system

4.2 性能測試

本節利用測試工具LoadRunner 11.0[17]對并發用戶登錄用戶組織架構管理系統界面以及用戶行為操作進行模擬測試,通過測試不同并發用戶數量的訪問,確認用戶組織架構管理系統處理用戶請求的能力。通過LoadRunner自動負載測試工具,模擬不同的并發用戶數量,對整個系統進行模擬測試,生成的測試腳本如圖10所示。在性能測試過程中,將系統并發用戶數量分別設定為100人和200人2種情況,每秒增加的用戶數量均為2人,測試時間均為5 min。測試過程中均未發生系統卡頓和崩潰的現象,且隨著訪問用戶數量的增加和并發用戶數量的增加,系統性能均保持良好。

Figure 10 Test script diagram

2種并發用戶數量的性能測試對比結果如表2所示。

Table 2 Performance comparison with different concurrent users

通過測試結果可知,隨著并發用戶數量的增多,系統的響應時間稍有增加,但響應時間很短,均不影響用戶體驗。同時隨著并發用戶數量的增多,在系統并發用戶持續訪問5 min內,系統性能保持良好,沒有出現任何異常。由此可見,系統效率高,網絡開銷小,且能穩定運行,達到了設計目的。

4.3 結果對比

本節將本文提出的方法(以下簡稱“方法1”)與基于Kerberos技術的方法(以下簡稱“方法2”)[18]進行性能結果對比。主要對系統每秒點擊數和系統平均吞吐量2個指標分別進行了比較。系統每秒點擊數指用戶每秒向服務器提交HTTP請求的次數,通過該指標可以評估用戶在系統運行過程中產生的負載量,從而判斷系統的穩定性;系統平均吞吐量指服務器每秒處理的數據量,通過該指標可以評估服務器處理數據的能力,從而判斷系統的健壯性。對比結果如表3所示,相比方法2,方法1系統每秒點擊數和系統平均吞吐量2項指標均有所提高,且分別提高了8.7%和7.3%以上[19]。由此可見,相比于Kerberos繁瑣復雜的管理機制,本文提出的方法,不僅系統穩定,而且減輕了服務端的負擔,降低了網絡開銷,提高了數據存取效率。

Table 3 Performance comparison of two methods

5 結束語

本文針對高性能計算用戶組織架構管理系統面臨的幾個關鍵問題,提出了一種基于LAMP的高性能計算用戶組織架構管理系統的實現方法,同時對該系統進行了設計實現和系統測試。測試結果表明,系統各項功能均能正常訪問,且系統性能穩定良好,為用戶提供了一套高效可靠的用戶組織架構管理方案,改善了用戶體驗,降低了網絡開銷,提高了數據存取效率。未來的E級計算將為高性能計算帶來新的機遇和挑戰,如何對用戶組織架構管理系統實現智能化的管理,以及利用區塊鏈去中心化的思想加強數據傳輸的安全問題等將作為下一步的研究方向,以期為用戶帶來更好的使用體驗,提供更安全的數據訪問。

猜你喜歡
頁面用戶系統
大狗熊在睡覺
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 亚洲视频四区| 久热精品免费| 欧美视频在线第一页| AV老司机AV天堂| 伊人激情综合网| 国产免费怡红院视频| 日韩福利在线视频| 亚洲天堂日韩在线| 日本人又色又爽的视频| 国产簧片免费在线播放| 久久黄色影院| 超清人妻系列无码专区| 爽爽影院十八禁在线观看| 亚洲色成人www在线观看| A级全黄试看30分钟小视频| 国产97视频在线| 国产产在线精品亚洲aavv| 亚洲天堂视频在线观看免费| 国产原创演绎剧情有字幕的| 国产无码精品在线播放 | 国产xxxxx免费视频| 国产成人8x视频一区二区| 成人亚洲国产| 欧美在线三级| 国产午夜看片| 国产97色在线| 国产成人高清亚洲一区久久| 亚洲视频a| 国产女人18水真多毛片18精品 | 欧美全免费aaaaaa特黄在线| 中文字幕久久波多野结衣 | 色综合中文字幕| 亚洲成人免费看| 日韩福利在线观看| 色综合天天操| 71pao成人国产永久免费视频| 国产毛片久久国产| 啪啪免费视频一区二区| 超碰91免费人妻| 久久精品中文字幕免费| 亚洲欧美自拍中文| 精品撒尿视频一区二区三区| 2020亚洲精品无码| 亚洲国产成熟视频在线多多| 欧美一区二区福利视频| 亚洲国产清纯| 国产又爽又黄无遮挡免费观看 | 四虎国产精品永久在线网址| 国产资源站| 91午夜福利在线观看| 国产精品女人呻吟在线观看| 国产又黄又硬又粗| 秋霞一区二区三区| 狠狠五月天中文字幕| 亚洲欧美成人在线视频| aaa国产一级毛片| 亚洲精品777| 欧美区日韩区| 亚洲人成电影在线播放| 亚洲精品视频免费看| 欧美国产中文| 色丁丁毛片在线观看| 婷婷六月激情综合一区| 国内精品一区二区在线观看| 国产91色在线| 久精品色妇丰满人妻| 国产黄色爱视频| 伊人久久久久久久久久| 日韩精品中文字幕一区三区| 福利在线不卡| 欧美日韩北条麻妃一区二区| 国产精品福利尤物youwu| 日韩毛片在线视频| 中文精品久久久久国产网址| 亚洲国产清纯| 日韩成人在线网站| 欧美成人手机在线观看网址| 一本大道香蕉中文日本不卡高清二区 | 欧美日韩一区二区三| 亚洲 日韩 激情 无码 中出| 好久久免费视频高清| 亚洲最大福利网站|