本發(fā)明涉及信息處理技術(shù)領(lǐng)域,尤其涉及一種分布式流程引擎系統(tǒng)。
背景技術(shù):
由于電信系統(tǒng)的業(yè)務(wù)交易的數(shù)據(jù)量非常龐大,業(yè)務(wù)處理過程環(huán)節(jié)繁多,需要復(fù)雜的流程引擎支撐業(yè)務(wù)處理過程,傳統(tǒng)單機(jī)模式的流程引擎能支持的業(yè)務(wù)處理量受限于機(jī)器性能,難以承受日益龐大的業(yè)務(wù)處理請求量。并且業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)處理按照業(yè)務(wù)歸屬地市劃分了多個不同管理節(jié)點,但有相當(dāng)多的業(yè)務(wù)需跨地市協(xié)同處理,業(yè)務(wù)處理系統(tǒng)應(yīng)用需要復(fù)雜的交互方式或者人工方式處理跨管理節(jié)點的流程協(xié)同,造成處理效率的低下和流程處理的不暢。所以為了解決受限機(jī)器單機(jī)性能瓶頸,以及解決跨管理地域的流程協(xié)同,需要一種實現(xiàn)分布式流程引擎系統(tǒng)。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的缺陷,提供一種分布式流程引擎系統(tǒng),通過本發(fā)明能夠快速搭建易于業(yè)務(wù)應(yīng)用對接的分布式協(xié)同處理流程引擎,彈性支持處理高峰值請求量,而且能夠便捷在線不停機(jī)擴(kuò)容流程引擎服務(wù)節(jié)點,提升流程處理能力,實現(xiàn)跨管理節(jié)點流程間的協(xié)同處理。
為實現(xiàn)上述目的,本發(fā)明提供了一種分布式流程引擎系統(tǒng),該系統(tǒng)包括四個層,分別為業(yè)務(wù)應(yīng)用層、接入訪問層、流程引擎應(yīng)用服務(wù)層和數(shù)據(jù)存儲層。
業(yè)務(wù)應(yīng)用層,專門開發(fā)了給業(yè)務(wù)應(yīng)用對接使用的客戶端SDK,只需通過接口即可完美對接使用流程引擎能力。
接入訪問層,利用硬件負(fù)載均衡器或軟負(fù)載均衡器接入業(yè)務(wù)應(yīng)用的訪問,均衡分發(fā)請求以及提高服務(wù)可用性。
流程引擎應(yīng)用服務(wù)層,包括三個部分:
流程引擎集群,集群的流程引擎節(jié)點無狀態(tài)運行,整合負(fù)載均衡器可支持橫向不停機(jī)擴(kuò)展節(jié)點。
協(xié)同控制中心集群,使用Zookeeper中間件搭建協(xié)同控制中心集群,協(xié)同控制中心集群負(fù)責(zé)流程分布式協(xié)同處理。
消息中間件集群,結(jié)合消息中間件集群,分布式消息隊列解耦模塊間的處理鏈,支持大規(guī)模服務(wù)請求。
數(shù)據(jù)存儲層,按大數(shù)據(jù)思路分片存儲,支撐大規(guī)模的數(shù)據(jù)存儲。
進(jìn)一步地,業(yè)務(wù)應(yīng)用層的接口包括流程啟動、環(huán)節(jié)回單、掛起解掛、撤單、回滾和重派。
進(jìn)一步地,流程引擎節(jié)點包括業(yè)務(wù)組件、引擎內(nèi)核、規(guī)則框架和配置管控。
進(jìn)一步地,數(shù)據(jù)存儲層支持多種主流關(guān)系數(shù)據(jù)庫,包括MySQL、Oracle、DB2。
進(jìn)一步地,流程引擎節(jié)點通過統(tǒng)一數(shù)據(jù)訪問層訪問數(shù)據(jù)庫,統(tǒng)一數(shù)據(jù)訪問層可讓流程引擎節(jié)點無需關(guān)心數(shù)據(jù)如何存儲。
本發(fā)明技術(shù)方案帶來的有益效果:
第一、采用本發(fā)明能夠快速搭建易于業(yè)務(wù)應(yīng)用對接的分布式協(xié)同處理流程引擎,彈性支持處理高峰值請求量。
第二、采用本發(fā)明能夠便捷在線不停機(jī)擴(kuò)容流程引擎服務(wù)節(jié)點,提升流程處理能力。
第三、采用本發(fā)明能夠解決跨管理節(jié)點流程間的協(xié)同處理。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1是本發(fā)明的系統(tǒng)架構(gòu)圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明提出了基于分布式消息隊列和分布式協(xié)同作業(yè)實現(xiàn)分布式流程引擎。參考WFMC與BPMN2.0規(guī)范,簡化和補(bǔ)充模型,基于分布式消息隊列、分布式協(xié)同和數(shù)據(jù)庫分片實現(xiàn)分布式流程引擎,支撐大規(guī)模數(shù)據(jù)的流程流轉(zhuǎn)與全局管控,同時配套提供圖形化流程設(shè)計界面和管控界面,易于按業(yè)務(wù)編制流程和進(jìn)行流程管控,并提供客戶端SDK包,透明化處理業(yè)務(wù)系統(tǒng)與流程引擎之間的交互。
一種分布式流程引擎系統(tǒng)如圖1所示為其整體架構(gòu)圖:
整個系統(tǒng)架構(gòu)包括四個層:業(yè)務(wù)應(yīng)用層、接入訪問層、流程引擎應(yīng)用服務(wù)層和數(shù)據(jù)存儲層。
業(yè)務(wù)應(yīng)用層專門開發(fā)了給業(yè)務(wù)應(yīng)用對接使用的客戶端SDK,只需通過幾個簡單接口即可完美對接使用流程引擎能力,包括流程啟動、環(huán)節(jié)回單、掛起解掛、撤單、回滾和重派。
接入訪問層利用硬件負(fù)載均衡器或軟負(fù)載均衡器接入業(yè)務(wù)應(yīng)用的訪問,均衡分發(fā)請求以及提高服務(wù)可用性。
流程引擎應(yīng)用服務(wù)層,包括三個部分:
流程引擎集群,集群的流程引擎節(jié)點無狀態(tài)運行,整合負(fù)載均衡器可支持橫向不停機(jī)擴(kuò)展節(jié)點。流程引擎節(jié)點包括業(yè)務(wù)組件、引擎內(nèi)核、規(guī)則框架和配置管控。
協(xié)同控制中心集群,使用Zookeeper中間件搭建協(xié)同控制中心集群,協(xié)同控制中心集群負(fù)責(zé)流程分布式協(xié)同處理。
消息中間件集群,結(jié)合消息中間件集群,分布式消息隊列解耦模塊間的處理鏈,支持大規(guī)模服務(wù)請求。
數(shù)據(jù)存儲層,按大數(shù)據(jù)思路分片存儲,支撐大規(guī)模的數(shù)據(jù)存儲。支持MySQL、Oracle、DB2等多種主流關(guān)系數(shù)據(jù)庫。
流程引擎節(jié)點通過統(tǒng)一數(shù)據(jù)訪問層訪問數(shù)據(jù)庫,統(tǒng)一數(shù)據(jù)訪問層可讓流程引擎節(jié)點無需關(guān)心數(shù)據(jù)如何存儲。
以上對本發(fā)明實施例進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。