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

高職院校大數據業務流程資源優化研究

2024-12-31 00:00:00彭飛
現代信息科技 2024年21期
關鍵詞:云計算

摘" 要:為支持智慧校園和數據服務能力的提升,高職院校開始進行大數據平臺建設,隨著大數據平臺業務流程數量的增加,越來越需要高容量計算處理能力,而云計算成為滿足此類需求的關鍵技術,其中云資源調度優化又成了新的亟待解決的問題。根據某高職院校學生綜合預警大數據處理流程,提出一種基于BPMN的云資源分配模型并進行優化,開發了相應的仿真模塊進行驗證,測試了模型的有效性和可行性,最終表明該模型對進一步提升高職院校大數據平臺的運行效率具有參考價值。

關鍵詞:大數據平臺;BPMN;資源優化;業務流程;云計算

中圖分類號:TP301 文獻標識碼:A 文章編號:2096-4706(2024)21-0114-06

Research on Resource Optimization of Big Data Business Process in Higher Vocational Colleges

PENG Fei

(Yangzhou Polytechnic College, Yangzhou" 225009, China)

Abstract: To support the improvement of smart campus and data service capability, higher vocational colleges begin to carry out the construction of Big Data platform. With the increase in the number of business processes on the Big Data platform, there is an increasing need for high-capacity computing and processing capabilities, and cloud computing has become a key technology to meet such needs. Among them, cloud resource scheduling optimization has become a new and urgent problem to be solved. According to the Big Data processing process of students' comprehensive early warning in a higher vocational college, a cloud resource allocation model based on BPMN is proposed and optimized. The corresponding simulation module is developed for verification, and the validity and feasibility of the model are tested. Finally, it shows that the model has reference value for further improving the operation efficiency of Big Data platform in higher vocational colleges.

Keywords: Big Data platform; BPMN; resource optimization; business process; cloud computing

0" 引" 言

隨著信息化水平的不斷提升,高職院校積累了大量數據,并逐步建設了大數據平臺。大數據平臺的建設使得學校能夠完成全量數據采集、管理與共享,從而提升了智慧校園的數據服務能力,為學校提供全面、高效、精準的數據支撐,如圖1所示。

在技術層面上,大數據平臺通常依賴Hadoop、Spark、Flume等工具來處理和驅動(半)自動化流程,即工作流[1]。大數據平臺的數據收集和轉換過程會需要很多工作流,亟待開發業務流程模型進行系統化管理,此外針對底層支撐平臺的大量計算和存儲資源的需求是大數據處理過程中的又一個難點。本文以某高職院校大數據平臺中學生綜合預警為例進行研究,旨在提出一種框架,統一大數據平臺的業務流程和資源分配工作,以業務流程建模符號(BPMN)[2]作為業務流程建模標準,對大數據平臺業務流程的資源分配進行優化,同時使得學校管理層能夠直觀掌握業務流程運行時間和成本。

1" 學生綜合預警大數據處理流程

某高職院校建設完成學生綜合預警大數據平臺[3],如圖2所示。該平臺巧妙地結合了大數據挖掘、人工智能和規則引擎技術,與高校日常業務運作無縫對接,整合了學生在不同系統內的分散數據,并進行了深度分析和統計,以便全方位地展現學生在校的學習、生活狀態以及多方面的行為特征。該平臺基于復雜的算法模型,提前識別出學生可能存在的風險行為,發出預警,為學院管理者提供精準、及時的決策支持,助力實現對學生群體的精細化、個性化管理。

學生綜合預警工作流程與典型的數據科學流程類似,分為數據收集、處理和清理,根據可用數據進行

預測,并生成報告以指導相關學生管理方面的業務決策。該流程由學校的大數據平臺團隊在每周一啟動。團隊分為數據分析師和項目負責人。數據分析師從各種數據倉庫中獲取學生消費等相關數據,利用新獲得的數據,數據分析師會在云中啟動大數據處理,然后對生成的報告進行評估。當新設計的活動最終完成時,項目負責人會批準報告,批準率為80%,隨后報告發布。如果報告未獲批準時,數據分析師必須重復利用給定數據尋找最優解決方案。本文重點優化云中處理大數據流程(圖2虛框內標注的重點優化的流程),由于包含該子流程的路徑在大約90%的實例中出現,因此找到執行該子流程的最佳解決方案至關重要。

圖3所示的云中處理大數據的工作流程(以下簡稱工作流程)可分為以下四大類:1)更新大型數據集(訓練和人群池);2)尋找合適的目標人群;3)選擇并運行機器學習模型[4];4)根據結果生成報告。

工作流程模型設計為BPMN模型,為每個任務指定了執行時間和計算資源要求,如表1列舉了所使用模型中每個任務參數。第一組更新大型數據集為表1中的前六項任務,第二組尋找合適的目標人群為表1中的第7到第10項任務,第三大組為表1中的第11到第13項任務,第四組根據結果創建報告為表1中第14項任務。

第一組任務包括基本的提取、轉換和加載(ETL)[5]步驟,準備數據并增加訓練數據集的規模。第二組任務是根據預定義的業務規則映射數據集,以進行相關操作,特殊的數據程序會確定不同的測試組和控制組,這些測試組和控制組在十幾個關鍵指標上是沒有統計學差異,屬于計算密集型任務。還有一些任務具有多模態分布[6],必須為每個基礎分布定義額外權重,從而觀察多模態任務中每種分布(混合系數)的概率。

此外,工作流程有獨占網關(Exclusive gateways)[7],需要為每個分支建立概率模型。表2列出了每個BPMN元素的權重。例如,控制組網關在平衡路徑上的權重為30%,在不平衡路徑上的權重為70%。

2" 基于BPMN的資源調度框架模型

本文框架模型支持使用與Flowable Modeler[8]兼容的相關軟件創建,通過RESTful API進行操作。模型從創建BPMN對象實例開始,通過在RESTful API調用指定BPMN模型文件,為每個任務指定屬性(如運行時分布參數)作為key-value屬性。在模型對象的初始化過程中,整個BPMN文件都會被解析,其中的所有信息都會被保存以備后用。模型對象初始化成功后,就可以執行有向無環圖(DAG)仿真工作流的驗證和初始化。

BPMN模型驗證和DAG對象初始化,如算法1所示。

Algorithm 1 Validation of BPMN model and initialization of a DAG object

# Input: BPMN model

# Output: Initialized DAG object

# Define variables

1 flows = model.get_flows()" # Get sequence flows in the model

2 pending_tasks = model.get_pending_tasks()" # Get pending tasks

3 processed_tasks = []" # List to track processed tasks

4 # Main loop to process pending tasks

5 while pending_tasks is not empty

6" " new_pending_tasks = []" # Initialize new list for pending tasks

7" " for current_task in pending_tasks

8" " " " if current_task.type == \"Task\"

9" " " " " " process_task_information(current_task)

10" " " " " "processed_tasks.append(current_task)

11" " " "for next_task in flows[current_task]

12" " " " " "if next_task.type == \"Gateway\"

13" " " " " " " "handle_gateway(next_task)

14" " " " " "else

15" " " " " " " "handle_activity(next_task)

16" " " " " "new_pending_tasks.append(next_task)

17" "pending_tasks = 0" # Update pending tasks list

18" "# Refill pending_tasks elements from new_pending_tasks

19" "for new_task in new_pending_tasks

20" " " "if new_task not in processed_tasks" # Validate model to ensure it's a DAG

21" " " " " "pending_tasks = new_task

22" " " "else

23" " " " " "raise Exception(\"Model is not a DAG\")

2.1" 初始化變量和迭代處理任務

算法首先定義主要變量(第1~3行)。Flows為模型中序列流程的所有執行邏輯,pending_tasks存儲待執行任務,processed_tasks跟蹤已經處理過的任務,在算法1里沒有加入一些不重要的附加變量。從第5行開始循環迭代處理任務,為了存儲當前任務之后的所有項目,第6行每次迭代中都會創建new_pending_tasks。第8行通過process_task_information處理每一個任務,該函數主要獲取任務信息,創建所需的分配模式,并存儲與任務相關的優化指令,該任務會在第9行被添加到processed_tasks中。

2.2" 處理網關

無論網關的類型是什么,都必須進行特殊邏輯處理。在第13行handle_gateway函數首先檢查待處理元素中是否包含網關,以及網關之前的元素是否都已處理過,與該網關相關的順序流(Sequence Flow)數量進行比較,計算每個next網關出現的次數,從而確保元素順序與BPMN文件中指定的保持一致。當第一項檢查通過時,接下來需要決定網關是否進一步拆分或合并,這一步通過檢查網關出口順序流(Outgoing Sequence Flow)的數量來完成,如果有一個以上的出口順序流,網關就會被歸類為拆分,否則就會被歸類為合并。網關作為參數傳遞給相應處理程序,這些處理程序會找到相關路徑,映射分割和合并網關,并管理深嵌套網關。handle_gateway函數結束時會在new_pending_tasks里將網關標記為including。第15行,當next為任務或事件時,handle_activity函數將處理next,根據處理結果,handle_activity函數會檢查current_task,并將next分配到正確的網關和路徑,最后next會被添加new_pending_tasks中。

2.3" 迭代結束

每次迭代結束時,第17行就會把pending_tasks重新初始化,并從new_pending_tasks中重新填充元素。第20行包含關鍵的驗證,以確保模型是DAG,驗證的方法是從new_pending_tasks中檢索new_task,并檢查new_task是否存在于processed_tasks中,如果驗證失敗,系統會發出錯誤信息,指出導致問題的元素,并建議BPMN設計人員更改圖表。在成功驗證整個模型并收集其元素的所有基本信息后,DAG對象將被初始化,并可進一步優化。

3" 模型優化

為了使學校管理層清楚地掌握工作流程的運行時間和成本[9],模型需要能夠創建總周期時間和成本分布,并將其可視化,為了實現這一功能,需要對整體執行時間分布進行分析,為每個任務的執行時間建模,也要處理模型內部深度嵌套網關(即三層或更深),如算法2所示。

算法1在process_task_information收集的任務數據,這些數據存儲在tasks_distributions變量中。在算法1第13行的handle_gateway函數中,為每個分割網關在tasks_distributions中添加了占位符。此外,在handle_gateway函數中,還添加了一個path_probability變量,用于存儲拆分網關時每條路徑的概率,對于獨占網關來說,可以在每次執行時根據拆分條件選擇不同的可用路徑,對于并行網關(Parallel Gateway),也稱為AND網關[10]則必須合并所有路徑的執行結果。

創建總分布時,如果模型中包含規則的、嵌套的,甚至是深度嵌套的網關,就會出現復雜性。該過程首先創建一個網關列表,按照它們在模型中出現的順序排列。該列表將傳遞給算法2中的resolve_complexity函數。

Algorithm 2 Resolve Complexity

# Input: gateway_list

# Output: Complex distributions samples

# Define variables

1" all_paths = []" # List to store all possible paths

2" probabilities = []" # List to store probabilities for each path

3" complex_samples_list = []" #List to store complex distributions samples

4" # Main loop to process each gateway

5" for gateway in gateway_list

6" " " if gateway not in tasks_distributions

7" " " " " return

8" " " # Traverse each path in the gateway

9" " " for key, path in gateway_list[gateway]

10" " " " "single_path = []" # Initialize list for a single path

11" " " " "# Process each element in the path

12" " " " "for element in path

13" " " " " " "if element is Gateway

14" " " " " " " " "distributions = resolve_complexity(gateway_list, element)

15" " " " " " "else if element is Task

16" " " " " " " " "distributions = tasks_distributions [element]

17" " " " " " "del tasks_distributions [element]

18" " " " " " "single_path.append(distributions)

19" " " " "all_paths.append(sum(single_path))

20" " " " "if gateway is XOR_Gateway

21" " " " " " "probabilities.append(path_probability(key))

22" " "# Determine the distribution type based on the type of gateway

23" " "if gateway is XOR_Gateway

24" " " " complex_samples = mix_distributions(all_paths, probabilities)

25" " "else if gateway is AND_Gateway

26" " " " "complex_samples = max_distributions(all_paths)

27" " "complex_samples_list.append(complex_samples)

28 return complex_samples_list

3.1" 初始化變量

算法首先定義主要變量(第1~3行),主要包含了所有可能的分割路徑的分布值,以及在獨占網關情況下每條路徑的概率,在第5行開始遍歷流程網關。

3.2" 處理網關路徑

算法第9行開始遍歷分割網關后的所有路徑。必須跟蹤每條路徑,因此初始化了single_path變量,然后遍歷路徑上的每個元素,從tasks_distributions變量中獲取其分布值,并將其添加到single_path中。第14行是確保每個嵌套網關(無論深度如何)處理的關鍵步驟。resolve_complexity函數被遞歸調用于路徑上的每個網關元素,并傳遞當前元素作為網關參數。此外,在第17行中刪除tasks_distributions中的每個已處理元素,這個對算法的正常運行至關重要,因為這樣可以消除對同一元素進行多次處理的可能性。由于所有元素都在一條路徑上進行管理,可以將它們的分布求和,并將其添加到all_paths變量中。在第21行,獨占網關每條路徑的概率在path_probability函數中收集,并在變量probabilities中存儲。

3.3" 處理分布結果

算法第23~26行,在處理完分割網關每條路徑后將all_paths填入所需的分布值。在獨占網關中,混合分布是根據all_paths和probabilities變量創建的,而并行網關以不同的方式處理時間和成本分布,在管理時間分布時,需要關心執行每條路徑所需的最長時間,從all_paths中取最大值。

3.4" 返回模型的總體分布

算法在第28行結束,該行返回第27行經過迭代的complex_samples_list。網關的占位符分布將更新為task_distributions變量中的分布值,由于每個網關都被簡化為一個任務,最終得到一個任務序列,將其相加就能得到模型的總體分布。

4" 框架測試

學生綜合預警業務流程由14個任務組成,但實際任務數量會更多。因此,框架測試分別創建了包含56個和112個任務的附加模型,測試框架在更多任務模型上的性能,這兩個附加型具有表1和表2中指定的相同屬性,區別在于分別具有原來4倍和8倍的任務數量。

本次測試初始化DAG對象、優化流程的資源分配,使用標準Python庫time和tracemalloc來獲取峰值內存消耗。由于tracemalloc會影響執行時間,故分別進行了時間和內存測量,框架測試結果如圖4所示。優化小型工作流程需要10.5分鐘,中型工作流程需要38.2分鐘,大型工作流程需要73.6分鐘,其中資源分配是優化過程中的主要瓶頸。在14個任務的工作流中,優化步驟占總持續時間的99.66%,而在56個任務中為99.75%,在112個任務中為99.76%。對于具有112個任務的工作流程,本文框架的執行時間和峰值內存消耗屬于可接受范疇。

5" 結" 論

本文提出了一種高職院校大數據工作流系統云計算資源優化框架,通過建立BPMN模型和DAG對象,結合優化算法,實現對工作流的資源分配和可視化。通過測試驗證了算法的有效性和性能,結果表明,即使在任務數量較多的情況下,本文框架仍然具有可接受的執行時間和內存消耗。

未來將進一步探索基于大數據技術的資源優化方法,優化算法的效率和性能,提高系統的整體執行效率,還將研究如何應對更加復雜和多樣化的工作流場景,提供更加靈活和智能的資源分配方案。隨著技術的不斷進步和研究的深入,本文將為高職院校大數據業務流程系統的優化和發展提供重要參考。

參考文獻:

[1] 劉智慧,張泉靈.大數據技術研究綜述 [J].浙江大學學報:工學版,2014,48(6):957-972.

[2] 陳廣智,潘嶸,李磊.工作流建模技術綜述及其研究趨勢 [J].計算機科學,2014,41(S1):11-17+23.

[3] 安洋,李軍懷,王懷軍,等.基于大數據的學生行為綜合分析與服務平臺設計與實現 [J].四川職業技術學院學報,2021,31(4):153-157.

[4] 黃立威,江碧濤,呂守業,等.基于深度學習的推薦系統研究綜述 [J].計算機學報,2018,41(7):1619-1647.

[5] 于起超,韓旭,馬丹璇,等.流式大數據數據清洗系統設計與實現 [J].計算機時代,2021(9):1-5.

[6] 劉建偉,丁熙浩,羅雄麟.多模態深度學習綜述 [J].計算機應用研究,2020,37(6):1601-1614.

[7] 趙瑩,趙川,黃苾,等.BPMN2.0過程模型的語義和分析 [J].計算機科學,2018,45(S2):558-563.

[8] 徐進東.大數據工作流系統的關鍵技術研究與實現 [D].北京:北方工業大學,2023.

[9] 杜清華,張凱.一種高效的跨平臺工作流優化方法 [J].計算機工程,2022,48(7):13-21+28.

[10] 代飛,趙文卓,楊云,等.BPMN 2.0編排的形式語義和分析 [J].軟件學報,2018,29(4):1094-1114.

作者簡介:彭飛(1982—),男,漢族,江蘇徐州人,高級工程師,碩士,研究方向:教育信息化。

基金項目:江蘇省現代教育技術研究2021年度智慧校園專項課題(2021-R-96762)

猜你喜歡
云計算
云計算虛擬化技術在電信領域的應用研究
基于云計算的醫院信息系統數據安全技術的應用探討
談云計算與信息資源共享管理
志愿服務與“互聯網+”結合模式探究
云計算與虛擬化
基于云計算的移動學習平臺的設計
基于云計算環境下的ERP教學改革分析
科技視界(2016年22期)2016-10-18 14:33:46
基于MapReduce的故障診斷方法
實驗云:理論教學與實驗教學深度融合的助推器
大學教育(2016年9期)2016-10-09 08:54:03
云計算中的存儲虛擬化技術應用
科技視界(2016年20期)2016-09-29 13:34:06
主站蜘蛛池模板: 亚洲中文在线看视频一区| 日韩不卡高清视频| 婷婷六月综合| 在线观看亚洲精品福利片| 国产精品综合久久久| 亚洲av无码牛牛影视在线二区| 亚洲一区二区三区中文字幕5566| 久久99蜜桃精品久久久久小说| 国产午夜看片| 亚洲男人的天堂网| 五月天综合婷婷| 国产福利拍拍拍| 极品私人尤物在线精品首页 | 国产丰满大乳无码免费播放| 福利一区三区| 热99re99首页精品亚洲五月天| 国产精品不卡片视频免费观看| 欧美日韩一区二区在线播放 | 成人一级黄色毛片| 日韩不卡免费视频| 91伊人国产| 亚洲精品777| 亚洲一级毛片在线观| 老司机精品99在线播放| 亚欧成人无码AV在线播放| 77777亚洲午夜久久多人| 国产精品毛片在线直播完整版 | 欧美日韩国产精品va| 99久久无色码中文字幕| 成人一区在线| 亚洲精品不卡午夜精品| 欧美国产另类| 久久婷婷色综合老司机| 日韩毛片在线视频| 亚洲天堂久久久| 亚洲无码不卡网| 欧美日韩北条麻妃一区二区| 成人无码一区二区三区视频在线观看| 成人日韩欧美| 欧美伦理一区| 国产日韩丝袜一二三区| 青青青视频蜜桃一区二区| 久久永久免费人妻精品| 久久动漫精品| 国产午夜看片| 国产成年女人特黄特色毛片免| 四虎国产精品永久在线网址| 2021国产v亚洲v天堂无码| 在线无码私拍| 色婷婷亚洲十月十月色天| 日本成人不卡视频| 98超碰在线观看| 欧美专区在线观看| 国产青榴视频| 自拍中文字幕| 狠狠色丁婷婷综合久久| 国产无码性爱一区二区三区| 亚洲日本中文字幕天堂网| 亚欧成人无码AV在线播放| 99re精彩视频| 国产亚洲美日韩AV中文字幕无码成人 | 国产视频a| 国产黄网站在线观看| 亚洲成人在线免费| 四虎在线观看视频高清无码| 成人在线综合| 婷婷色婷婷| AV在线麻免费观看网站| 99热这里只有精品国产99| 在线另类稀缺国产呦| 日韩大片免费观看视频播放| 亚洲成人精品在线| 国产男女免费视频| 91青草视频| 97人人做人人爽香蕉精品| 欧美成人二区| 亚洲成a人片7777| 另类欧美日韩| 老汉色老汉首页a亚洲| 日本人妻丰满熟妇区| 色婷婷天天综合在线| 国产欧美日韩资源在线观看|