畢云星
【摘要】? ? 協(xié)同辦公平臺是將信息發(fā)布、任務(wù)管理、業(yè)務(wù)系統(tǒng)集成等功能進行整合,使得員工使用與操作更加方便,極大的提高企業(yè)內(nèi)部的辦公效率。隨著人工智能的到來,如何將先進的智能技術(shù)與傳統(tǒng)的協(xié)同辦公平臺相結(jié)合,進一步提高企業(yè)的辦公效率,實現(xiàn)決策的智能化支撐,是一個具有重要意義的研究課題。本文將設(shè)計OA智能分布式工作流引擎,對實現(xiàn)智能化辦公進行探索。
【關(guān)鍵詞】? ? 協(xié)同辦公平臺? ? 智能分布式? ? 工作流引擎? ? 人工智能
一、研究背景
隨著中海油石化工程有限公司的發(fā)展壯大,協(xié)同辦公平臺已經(jīng)成為企業(yè)內(nèi)部辦公不可缺少的信息瓶體。公司協(xié)同辦公平臺具有統(tǒng)一登錄、信息系統(tǒng)集成、任務(wù)待辦集成、信息發(fā)布、流程審批等功能,實現(xiàn)了公司主要業(yè)務(wù)流程的信息化。這些功能的實現(xiàn)方便了企業(yè)員工的日常辦公,降低了企業(yè)的內(nèi)部運營成本,提升了公司日常管理水平和效率。
在協(xié)同辦公平臺中,要實現(xiàn)流程的靈活定義與電子化,工作流引擎是其中同的核心模塊。只有通過工作流引擎,各個部門才能將日常的流程進行定義,實現(xiàn)自動化的電子流程審批。隨著企業(yè)業(yè)務(wù)擴展,工作流的增多,傳統(tǒng)的集中式工作流引擎很難適應(yīng)業(yè)務(wù)的發(fā)展,同時工作流引擎應(yīng)當(dāng)結(jié)合人工智能技術(shù),對流程數(shù)據(jù)進行分析,并建立流程優(yōu)化模型。其中,實現(xiàn)OA智能化的重要基礎(chǔ)是研發(fā)智能分布式工作流引擎,該引擎為傳統(tǒng)的OA實現(xiàn)智能提供基石。
二、智能分布式工作流引擎設(shè)計
智能分布式工作流引擎分為智能代理引擎、分布式控制引擎、狀態(tài)跟蹤引擎和執(zhí)行引擎,通過不同的引擎管理OA系統(tǒng)中的不同功能,采用分布式架構(gòu)提供可擴展的系統(tǒng)組織,降低系統(tǒng)各部分的耦合程度。本文設(shè)計的智能分布式工作流引擎架構(gòu)如圖1所示。
如圖1所示,通過不同子系統(tǒng)引擎之間的管理與交互,完整的實現(xiàn)了智能工作流引擎的各個功能。各個引擎可以獨立運行,也可以對外提供調(diào)用接口,將服務(wù)提供給需要該功能的其他引擎。其中,通過狀態(tài)跟蹤引擎可以維護系統(tǒng)中各個功能模塊的執(zhí)行狀態(tài),并通過消息機制反饋到控制引擎。執(zhí)行引擎負(fù)責(zé)完成系統(tǒng)具體的業(yè)務(wù)功能模塊,而智能代理引擎具有機器學(xué)習(xí)功能,對外提供機器學(xué)習(xí)的服務(wù)接口??刂埔尕?fù)責(zé)各個引擎間的協(xié)調(diào)與調(diào)度,通過簡單對象訪問協(xié)議(SOAP)與各個引擎與模塊之間進行通信,并傳輸信息。
通過對象訪問協(xié)議,控制引擎與執(zhí)行引擎之間交互控制信息、執(zhí)行信息??刂埔姘l(fā)送控制信息到執(zhí)行引擎,執(zhí)行引擎收到信息后,判斷信息類別,并執(zhí)行對應(yīng)的操作,然后將執(zhí)行狀態(tài)以及執(zhí)行結(jié)果信息返回給控制引擎,控制引擎搜集執(zhí)行引擎返回的執(zhí)行信息后,根據(jù)不同執(zhí)行引擎的情況進行調(diào)度,并綜合各執(zhí)行引擎的執(zhí)行結(jié)果,返回最終的執(zhí)行結(jié)果。
在系統(tǒng)內(nèi)部,智能代理引擎提供各類參數(shù)初始化的接口,通過該接口可以對系統(tǒng)中各個模塊進行初始化,同時集中進行各引擎的實例創(chuàng)建。對于控制引擎而言,提供狀態(tài)監(jiān)聽服務(wù),通過監(jiān)聽器跟蹤執(zhí)行引擎的執(zhí)行流程以及返回的執(zhí)行信息,通過執(zhí)行信息判斷執(zhí)行狀態(tài)。同時,該引擎維護兩個狀態(tài)列表,這兩個列表是跟蹤系統(tǒng)狀態(tài)的關(guān)鍵,用于記錄系統(tǒng)的執(zhí)行情況,通過維護兩個列表的狀態(tài)信息保持一致,可以判斷系統(tǒng)的執(zhí)行是否保持一致。當(dāng)執(zhí)行引擎的模塊狀態(tài)發(fā)生改變時,執(zhí)行引擎發(fā)送消費給控制引擎,控制引擎同步更新兩個列表的記錄狀態(tài)。根據(jù)記錄狀態(tài),控制引擎進行上下文判斷,通過上下文執(zhí)行信息,優(yōu)化引擎的執(zhí)行流程,提高執(zhí)行效率。狀態(tài)跟蹤引擎中提供系統(tǒng)服務(wù)注冊功能,系統(tǒng)中的各個功能模塊需要在注冊中心進行注冊,該注冊中心維護服務(wù)列表目錄,各引擎通過檢索服務(wù)目錄,調(diào)用對應(yīng)的業(yè)務(wù)功能。同時,狀態(tài)引擎負(fù)責(zé)處理狀態(tài)列表的同步工作,保持系統(tǒng)執(zhí)行數(shù)據(jù)的一致性。
三、智能分布式工作流引擎實現(xiàn)
智能分布式工作流引擎的類圖如圖2所示:
其中StateLister用于監(jiān)聽工作流引擎中狀態(tài)的變化,當(dāng)觸發(fā)數(shù)據(jù)引發(fā)狀態(tài)變更時,調(diào)用updateState()更新狀態(tài),updateState()更新狀態(tài)以后返回最新的狀態(tài)信息。InfoModify用于通知各分布式引擎實例系統(tǒng)狀態(tài)的變更,該接口通過繼承notifyEngine接口,可以實現(xiàn)不同的消息機制。RigsterCenter用于注冊工作流引擎中的各項服務(wù),通過該接口注冊服務(wù)的Token,通過使用不同的Token可以讓其他引擎使用該服務(wù)。exeEngine用于監(jiān)督執(zhí)行工作流的狀態(tài)變化,該對象定義了一組方法接口,通過繼承該接口,可以使用自定義的工作流程,通過該接口可以搜集工作流狀態(tài)信息,監(jiān)督流程執(zhí)行情況。evacostEngie用于搜集及估算各個工作流所耗費的資源以及時間,并將數(shù)據(jù)傳遞給coreInvoker。coInvoker是核心調(diào)度器,用于調(diào)度各個工作流實例,并使用learn接口學(xué)習(xí)各個工作流的狀態(tài),其中l(wèi)earn接口集成Weka的學(xué)習(xí)接口,可以調(diào)用各類學(xué)習(xí)模型,以LSTM模型為例,通過以下代碼所示可以學(xué)習(xí)工作流引擎的性能數(shù)據(jù),并進行性能預(yù)測:
Instances newData=Filter.useFilter(data, filter);//收集工作流引擎訓(xùn)練數(shù)據(jù)
Enumeration
NeuralNetworkModel lstm=new NeuralNetworkModel(tpye=lstem);
lstm.build (newData);//用經(jīng)過特征選擇的訓(xùn)練數(shù)據(jù)訓(xùn)練LSTM模型
Evaluation val=new Evaluation(lstm);
通過調(diào)用以上機器學(xué)習(xí)的代碼,可以對分布式工作流引擎實例的各類性能數(shù)據(jù)進行學(xué)習(xí),并對性能進行預(yù)測,通過機器學(xué)習(xí)對數(shù)據(jù)進行分析,讓引擎具備一定的智能化功能。
四、智能分布式工作流引擎特點
分布式工作流引擎改進了原有工作流引擎的效率,解決原有引擎的性能問題,擴展了系統(tǒng)的功能,提供了更為強大的業(yè)務(wù)支持能力,其主要特點如下。
(1)由于控制引擎采用分布式架構(gòu),能夠進行橫向擴展,并且容錯功能也得到提升。分布式集群中可以對集群服務(wù)器進行擴展,在用戶規(guī)模增加以及對性能要求提高時,可以擴展分布式集群服務(wù)器的規(guī)模,進行無縫的擴展,不影響系統(tǒng)原有功能,保障系統(tǒng)平穩(wěn)運行前提下提升系統(tǒng)性能。
(2)在控制引擎中,通過最小代價調(diào)度算法協(xié)調(diào)不同引擎的執(zhí)行,并且提供智能功能,避免隨機并發(fā)引擎的效率降低問題。最小代價調(diào)度算法對系統(tǒng)調(diào)度性能進行最優(yōu)化,當(dāng)控制引擎調(diào)度執(zhí)行引擎執(zhí)行指令時,減少隨機并發(fā)執(zhí)行帶來的不確定影響,保障各個引擎在最優(yōu)序列下執(zhí)行指令。
(3)在狀態(tài)引擎以及執(zhí)行引擎中,通過觀察者對象提供消息通知與維護機制,將核心數(shù)據(jù)分布存儲在集群中進行緩存,同時采用內(nèi)存與文件方式降低對數(shù)據(jù)庫的讀寫壓力,通過多重備份方式避免核心數(shù)據(jù)的損失。同時,由于采用集群管理,核心數(shù)據(jù)存放文件分布在不同服務(wù)器上進行備份,當(dāng)遇到突發(fā)情況或者單一服務(wù)器崩潰時,不會影響核心數(shù)據(jù)的完整性,保障了系統(tǒng)的運行安全。
(4)提供機器學(xué)習(xí)、人工智能算法接口,可以對工作流引擎進行學(xué)習(xí)能力的自定義,通過對工作流程數(shù)據(jù)的學(xué)習(xí)提升工作流的效率。由于工作流程中每個環(huán)節(jié)的耗時、流程效率不一定滿足最優(yōu)流程效率,通過機器學(xué)習(xí)、人工智能算法接口,定義損失函數(shù),通過歷史流程數(shù)據(jù),對流程的執(zhí)行環(huán)節(jié)進行優(yōu)化,對流程執(zhí)行時間以及可能存在的阻礙進行預(yù)測,有利于優(yōu)化工作流程,提高工作效率。
五、總結(jié)
本文設(shè)計了OA智能分布式工作流引擎,能夠進一步提升工作流引擎的執(zhí)行效率,同時增加機器學(xué)習(xí)、人工智能算法接口,為工作流引擎賦予了一定的智能化功能。通過智能接口的引入,支持各類模型算法,賦予了工作流一定的學(xué)習(xí)能力,有效的提高了工作流引擎的效率。
參? 考? 文? 獻
[1]張華 .智能代理在辦公自動化系統(tǒng)中的應(yīng)用研究[D]. 西南交通大學(xué), 2016.
[2] Zheng H, Yang J. Functional Modules Sharing and Blockchain Based Validation in Office Automation Systems[J]. IOP Conference Series Materials Science and Engineering, 2018, 466:012007.
[3] Li Z , Guo W , Wang W . The design and research based on office automation system[J]. Journal of Physics: Conference Series, 2019, 1345(6):06-11.
[4] Chouki S , Anh-Tu N , Amir B M , et al. Driver-Automation Cooperation Oriented Approach for Shared Control of Lane Keeping Assist Systems[J]. IEEE Transactions on Control Systems Technology, 2019, 27:1962-1978.
[5]鄒晶, 劉毅敏. 基于有限狀態(tài)機的工作流引擎的設(shè)計[J]. 計算機應(yīng)用與軟件, 2018(8):60-65.
[6]車宇, 羅釗航. 辦公自動化系統(tǒng)的開發(fā)引擎平臺設(shè)計[J]. 電子技術(shù)與軟件工程, 2019, 155(09):167-167.
[7]包曉安, 常浩浩, 徐海,等. 基于LSTM的辦公自動化學(xué)習(xí)系統(tǒng)預(yù)測模型研究[J]. 浙江理工大學(xué)學(xué)報(自然科學(xué)版), 2018, 39(002):224-231.
[8]李為, 劉寶琦. 基于改進LSTM模型的運維異常行為分析[J]. IT經(jīng)理世界, 2019, 022(005):70-71.