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

基于自動機的多租戶應用平臺的設計與實現

2010-04-17 01:51:52楊正球
電信科學 2010年1期
關鍵詞:信息系統

楊正球,竇 偉

(北京郵電大學智能通信軟件與多媒體技術研究中心 北京 100876)

基于自動機的多租戶應用平臺的設計與實現

楊正球,竇 偉

(北京郵電大學智能通信軟件與多媒體技術研究中心 北京 100876)

有限狀態自動機是為研究有限內存的計算過程和某些語言類而抽象出的一種計算模型,它是具有離散輸入和輸出系統的一種數學模型,只需配置業務流程就可以實現租戶所需的特定的業務功能。本文在研究SaaS應用平臺、自動機模型、軟件開發形式化、SOA核心技術的基礎上,提出了基于自動機的多租戶應用平臺,并將其劃分為幾個基于自動機的獨立模塊,實現了業務邏輯和業務數據的分離,解決了業務邏輯和安全操作間的問題,運用靈活的結構組織租戶和站點。基于自動機的多租戶應用平臺已經初步完備,能夠很好地滿足多租戶應用平臺的管理,并可作為自適應的租戶管理模型。

軟件即服務;自動機;租戶應用平臺

1 引言

自動機是基于有限計算、離散輸入輸出數學模型的,將功能模塊或者子模塊拼裝組合就可以生成用戶所需的特定業務需求。用戶對于軟件功能的需求不是千篇一律的,所以某些軟件的定制消費了大量資源,去開發功能相近或相似的系統和軟件,基于自動機的多租戶應用平臺很好地解決了這一問題。基于自動機的軟件體系開發將為軟件開發流程帶來重大變革,程序員面向的不再是由用戶提出的需求,而是由專業人士提供的原子的基于整體性的需求。軟件提供商再面對業務相近的軟件需求時,將不再需要程序員重新編寫代碼,只需要將業務邏輯進行排序組合即可,定制的軟件就可以輕松地滿足用戶需要。

SaaS是一種軟件布局模型,它將企業信息化所需的軟、硬件交由SaaS提供商去搭建和維護,企業只需通過互聯網即可使用已租賃的信息系統。SaaS模式已成為軟件產業的重要力量,不過它的品質和可信度仍未得到完美的解決,基于自動機的多租戶應用平臺將進一步解決SaaS模式的數據安全性問題。將業務交由租戶業務系統管理,將數據交由租戶管理,將自動機擴展出權限控制。當用戶使用業務時,只需將自己保護的私有數據連接到自動機,由業務管理系統將用戶定制的業務注入到自動機,用戶就可以輕松使用定制的業務。

2 基于自動機的控制模型

有限狀態自動機是有限計算的基本模型,也是許多形式化規格、驗證方法的基礎模型。例如,一個鐘表就是一個有限狀態系統,共有12×60×60種狀態,秒針每走一步,就從一種狀態轉移到另外一種狀態;飲料自動售貨機也是一個有限狀態系統,售貨機根據客戶的按鍵輸入以及投入硬幣的面值和枚數來指導客戶操作,并提供不同規格的飲料。一個有限狀態自動機是一個五元組,如下:

其中,Q={q0,q1,…,qn}是有限狀態集合,在任何一個確定的時刻,有限狀態機只能處于一個確定的狀態qi;∑={σ1,σ2,…,σm}是有限輸入字符的集合,在任一確定的時刻,有限狀態機只能接受一個確定的輸入σj;δ:Q×∑→Q是狀態轉移函數,如果在某個確定的時刻,有限狀態機處于某一狀態qi∈Q,并接受一個輸入字符σj∈∑,那么下一個時刻將處于一個確定的狀態 q′=δ(0i,σj)∈Q;q0∈Q是初始狀態,有限狀態機由此狀態開始接受輸入;F∝Q是終結狀態集合,有限狀態機在到達此狀態之后不再接受輸入。

通過將一個系統抽象為狀態和動作的集合,可以很好地描述系統的行為。在實際的系統中,可以包含若干個并發執行的自動機,其中每個自動機用來描述系統某一方面的行為。將這些自動機復合起來,可以描述整個系統的行為。也可以用一個狀態機來表示一個系統的行為,用狀態表示一個系統當前的狀況,用動作表示狀態之間的遷移關系。

通過擴展自動機來表示系統的權限控制。抽象出來的自動機可以表現為若干狀態,其中在每個狀態下可以接受一些特定的動作。我們對每個自動機所涉及的角色進行抽象,并規定出在某個狀態下,哪些角色可以執行何種操作。可以通過將自動機的操作角色分成實例角色和類角色來達到完美控制權限。

通過對系統進行擴展的自動機建模,不僅可以描述系統的行為特征,而且可以描述系統的權限控制特征。對于一個比較復雜的系統,可以同時采用多個自動機來描述。在實際系統運行的時候,會將系統的角色賦給某個具體的操作人員。當某個操作人員對系統進行某種操作的時候,系統將根據自身的狀態及其所承擔角色的操作許可情況進行綜合分析,從而得出該操作員是否可以對系統實施某種具體的操作。這樣的控制方式既靈活又精確,非常適合需要多種角色參與的數據加工和處理流程。

3 基于自動機的多租戶應用的設計思路

基于自動機的多租戶應用系統模型主要由6個部分構成:租戶系統、租戶站點系統、租戶業務系統、站點管理系統、租戶管理系統以及門戶系統。

3.1 租戶系統

租戶系統包括控制域系統、租戶信息、操作員信息、實例信息以及自動機信息。其中,控制域系統是自動機和租戶相結合的產物,表示一個自動機邏輯注入到租戶內的控制邏輯。實例信息表示租戶內的系統信息部分,實例信息和操作員信息屬于一個企業的內部數據。這樣的設計將系統的業務邏輯和業務數據分開,就可以將整個業務邏輯放在網絡的通用節點上供租戶注入域系統,而將各個租戶自己私有的信息放在租戶所信任的地方。

3.2 站點系統

一個租戶系統是一個邏輯上獨立的系統,隨著租戶數量的增多,假如每個租戶都獨占一個系統資源,對于系統的資源開銷是很大的。事實上并不是所有的租戶對數據安全性和保密性的要求都一樣高,所以我們可以提供一種方式,將對數據安全性和保密性要求不太高的租戶放置在一個系統上,讓他們共享一個機器和數據庫系統。根據租戶對數據安全性、業務的數據流量等要求,將租戶分成幾個等級,按照對應等級分配系統資源、制定數據安全方案的租戶信息控制系統,我們稱之為站點系統。

站點是租戶的載體,也是一個承載業務的載體,隨著租戶體驗的不斷深入,該用戶可以在原有的基礎上增加新的業務,增加的過程實際上是業務邏輯不斷注入到租戶系統中的過程。所以在這種站點上運行的租戶系統的業務存在一個不斷成長的可能性。當業務成長到一定的程度時,租戶所占用的資源將會隨之增加,由于采用站點這種方式給租戶分配資源非常靈活,可以通過配置系統將一個站點中的租戶遷移到別的站點,或為一個成長性較好的租戶分配獨立的資源。在這種業務成長的過程中,系統的性能不會波及其他站點的租戶,從而保證了系統整體擴容的情況,能非常方便地控制整個SaaS系統的成本。

站點系統是本系統的核心部分。一個站點是一個獨立的運行單位,它有自己的存儲系統和自動機控制系統。一個站點內可能會包含一個或多個租戶的信息,其中每個租戶內部也是相對獨立的一個邏輯單位。在一個站點內部采用規則引擎的方法來完成操作員、角色、自動機邏輯、自動機實例等之間相容關系的維護和計算。站點內存放的對象包括租戶、自動機邏輯、自動機實例、租戶、操作員及控制域系統,這些對象在站點內以知識庫的形式存放。當站點接收到某個操作員對某個實例的操作請求時,相當于向知識庫中添加了新的事實,這將會觸發知識庫系統的推理規則,該規則按照知識庫中自動機的邏輯自動地判斷該操作是否可以進行以及如何進行。

3.3 租戶業務系統

站點系統使得每個租戶的私有數據得到了有效的存放和管理,但是租戶并不能直接訪問站點系統完成其所必需的業務邏輯過程。原因是每個站點不擁有業務邏輯的解釋執行系統,我們將這個解釋執行業務邏輯系統稱為租戶業務系統。當一個租戶的操作員進行了某業務的某項操作時,業務操作的指令通過某種方式傳遞到租戶業務系統,該業務系統根據業務操作指令中所指明的租戶信息,找到擁有該租戶的站點并調用該站點的基本業務操作服務,完成該業務操作的執行過程,如圖1所示。

在圖1中,一個租戶業務系統與兩個站點系統相聯系。其中站點1包含租戶T1和T2,站點2包含租戶T3和T4。租戶業務系統通過接口I1與站點進行互動,并向外提供接口I2。接口I1是各站點提供的服務,供租戶業務系統調用。需要說明的是,接口I1的內容和具體的業務邏輯沒有關系,它所涉及的是關于一個租戶內部自動機實例、租戶、租戶內操作員、域系統等創建、刪除、屬性改變等通用操作接口。接口I2的內容與具體的業務有關系。接口I2的提供實際上是租戶業務系統利用各站點系統提供的接口I1進行組合而成的。租戶業務系統的主要功能是利用站點提供與業務無關的接口I1來實現與業務相關業務邏輯過程。

如果在一個SaaS系統中,租戶的數量很多,一個業務系統往往成為操作的瓶頸,在這種情況下,可以提供若干個業務系統,每個業務系統分別管理一部分租戶,從而可以構成一個負荷分擔的業務組合方案。也可以采用一個租戶同時連接到兩個業務系統,其中一個為主業務系統,一個為從業務系統。這兩個業務系統同時向上提供接口I2。一旦其中一個業務系統發生故障,另外一個業務系統仍然能夠完成業務操作。可以根據用戶對業務需求的不同配置不同的方案,使整個系統保持足夠的靈活性。

我們可以采用BPEL的業務計算和組合的方法來實現。這樣,所有的業務邏輯只存在于租戶的業務系統中,而站點系統僅僅作為用戶一個基本服務的計算平臺,對所有的業務都適用。這實際上是將業務系統分成兩個獨立的層次,一個是以邏輯為核心的業務邏輯平臺,一個是以業務數據為核心的租戶業務數據平臺。業務邏輯平臺和業務數據平臺可以分別配置,結合在一起構成一個完整的業務。

租戶業務邏輯的實現主要依靠BPEL技術實現,一個租戶業務就是一個BPEL流程。在該BPEL流程中,所有的站點提供的接口I1作為其伙伴鏈接備用。在一個租戶業務中,其基本的活動就是接口I1所提供的基本任務,這部分內容對于每個租戶業務來說是不可再分的執行單元。由于租戶業務向外提供的業務 (也以伙伴鏈接的方式提供)是針對某個具體的租戶和操作員的,所以在組成業務的過程中一般采用串行方式。

一個租戶業務邏輯通過BPEL來描述,經BPEL引擎解釋執行,如圖2所示,其向調用各站點提供的接口I1的Web service服務,向上給門戶或其他的租戶業務邏輯提供接口I2的Web service服務。

3.4 站點管理系統

站點系統和租戶業務系統的配合從邏輯上能夠保證系統業務的正常開展。但如果要讓站點系統和業務系統能夠高性能工作,還需要很多部署、配置和管理的工作要做。這些工作包括站點管理類別、業務系統管理類別、連接管理等。站點和業務系統的管理工作需要由一個單獨的實體來完成,這個實體就是站點管理系統(PM)。站點管理系統監控這個SaaS系統的各個實體(包括業務系統實體、站點實體)的節點運行情況和網絡的運行情況,及時向SaaS管理員發出故障報警信息和性能報警信息,協助SaaS管理員采取適當的配置方案來緩解乃至解決各租戶可能會遇到的業務瓶頸問題。管理實體和業務實體、站點實體、租戶的關系如圖3所示。

在圖3中,S1、S2為兩個業務系統,P1、P2為兩個站點系統。其中,P1中包含租戶T1和T2,P2包含租戶T3和T4。S1、T1、T2 構成了業務系統 1,S2、T3、T4 構成了業務系統 2。PM 通過管理總線對 S1、S2、P1、P2 實施管理。S1、S2通過I1接口對T1、T2、T3、T4實施業務層的控制。

站點管理系統是整個SaaS系統的配置系統,主要完成的任務包括對所有的站點進行監控、提供給站點管理員資源查詢的功能、對站點進行配置。要完成這三個部分的任務,站點管理系統需要與站點之間進行頻繁的信息交互。對于站點管理系統來說,每個站點可以分為下面幾種狀態:start、running、suspended、disconnected、excluded;站點管理系統需要發布一些管理命令給各個站點,這些命令主要有status、include、exclude、connect、disconnect、fill、suspend、restore、clear。站點管理的命令只有在合適的狀態下,才能發布到站點中去。

3.5 租戶管理系統

租戶內部的管理員對各租戶的內部數據統一進行管理,這樣才能保證租戶內部數據的安全性和保密性。租戶內的實體包括一個或多個域系統、操作員集合,而操作員分為普通操作員和租戶管理員。普通操作員通過域系統的類角色和實例角色的指配確定和自動機實例之間的操作關系:在自動機實例的特點狀態下,每個具有一定角色的操作員,可以對該實例進行某種特定的操作。每個角色對實例的操作關系由自動機的邏輯確定,而操作員到角色的指派關系主要是由租戶管理員來決定。

3.6 門戶系統

在一個SaaS系統中存在著很多的業務,每個業務包含一個或多個業務系統實體,這些業務系統實體負責解釋某個業務邏輯的執行,向外部提供接口I2。這些接口I2所提供的信息最終要以業務表格和業務圖表的方式呈現給操作員。在理想的情況下,SaaS中的各個租戶操作員可以登錄一個公共的網址。操作員在進行操作之前需要輸入身份信息,這些身份信息包括下面幾個方面:操作員的登錄信息、操作員的口令、所屬租戶的名稱、業務系統名稱。當SaaS系統收集到這些信息之后,將會自動地將該操作員導入到相應的業務系統平臺中,操作員就可以接入到某個具體的業務系統平臺所提供的功能,也可以看到其所在租戶內部能被允許接入的信息。利用這些信息,操作員可以進一步發起新的命令,這些命令在自動機邏輯的控制下被業務系統和站點系統解釋執行,如果操作合法,操作員可以看到其所發出指令的結果。這個能夠將操作員自動地導入租戶業務系統和站點系統的接入裝置就是門戶系統。

操作員通過門戶系統接入SaaS服務,門戶系統將提供三種用戶視圖。

第一種是業務視圖,普通操作員登錄系統之后,門戶系統會自動將其導入到租戶的業務系統。一個SaaS平臺可以同時支撐很多業務,每個業務可以由一個或多個業務平臺系統同時提供;

第二種是管理視圖,SaaS平臺的運營方通過該視圖可以瀏覽整個SaaS平臺范圍內的所有業務節點和站點系統的節點,對其網絡連接情況、負荷情況進行監控,并能通過一些配置手段來調整租戶和站點之間的關系;

第三種是租戶視圖,每個租戶的管理員可以通過門戶系統看到其所在租戶的域系統信息、操作員信息、租戶信息和自動機實例信息,也可以通過門戶系統來調整它們之間的關系。

4 結束語

本文描述了一個基于自動機的SaaS平臺架構,該平臺架構具有以下技術特點。

· 業務邏輯和業務數據分開。在這樣的SaaS平臺上,可以在原來的站點里,通過建立新的租戶業務系統和注入反映租戶業務邏輯的自動機,站點將自動地獲得業務邏輯,這使得整個架構擁有了一個較好的擴展性和靈活性。

·采用了基于知識庫的規則引擎來處理業務邏輯和安全操作的問題。可以在這樣的框架下,每個租戶可以通過給操作員指定角色,使得操作員只能夠進行符合自己身份特征和實例狀態的操作,這使得系統的安全性得到了很大的保障,也使業務邏輯變得非常清晰。

·采用BPEL流程來構建業務邏輯。BPEL是新的服務計算和服務組合的工具,BPEL中有很多流程制作工具,業務開發人員可以采用這些工具直觀、迅速和有效地構建新的業務。

·采用SaaS的整體架構,使得系統軟件的提供性得到了很大的提高。讓使用者僅僅需要關注自己的需求,將一些復雜的安裝、配置等需要計算機專業人員參與的工作完全交給軟件提供商,這將是一個成功的商業模式。

·采用靈活的站點式結構來組織租戶。租戶可以根據自己對安全性和保密性的實際需求來選擇恰當的服務,保證了系統部署的靈活性。

1 葉偉.互聯網時代的軟件革命SaaS架構設計.北京:電子工業出版社,2009

2 古天龍.軟件開發的形式化方法.北京:高等教育出版社,2005

3 王紫瑤.SOA核心技術及應用.北京:電子工業出版社,2008

Multi-tenant Application Platform Based on Automata

Yang Zhengqiu,Dou Wei
(Beijing University of Posts and Telecommunication,Beijing 100876,China)

Finite State Machine is an

computational model for the computation of the limited memory and the research of language class,it is a mathematical model with discrete input and output and able to achieve specific business functions after configuring the business process.Based on the research of SaaS,automaton,Formal Software Development and SOA,the multi-tenant application platform is proposed.In our platform,we divide our system into several independent modules based on automata,separate the business logic and business data,solve the problems between safe operation and business logic,and use flexible structure to organize our tenants and websites.The multi-tenant application platform is coming to be complete,could satisfy the management of multi-tenant application platform and can serve as an adaptive management model tenant.

software as a service,automata,application platform

2010-08-06)

猜你喜歡
信息系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 亚洲欧州色色免费AV| 国产91视频免费| 色国产视频| 国产精品永久在线| 亚洲欧美在线看片AI| 欧美a√在线| 亚洲中文无码h在线观看| 久久婷婷色综合老司机| 国产凹凸视频在线观看| 欧美日韩va| 亚洲精品桃花岛av在线| 黑色丝袜高跟国产在线91| 国内精品小视频在线| 久久久久亚洲Av片无码观看| 露脸国产精品自产在线播| 婷婷色婷婷| 亚洲另类色| 九色视频一区| 丰满的少妇人妻无码区| 好久久免费视频高清| 欧美成人第一页| 免费高清a毛片| 波多野结衣无码视频在线观看| 中文国产成人久久精品小说| 在线观看网站国产| 国产成人亚洲精品色欲AV | 色欲国产一区二区日韩欧美| 国产欧美日韩va| 最新无码专区超级碰碰碰| 91福利在线看| 香蕉eeww99国产在线观看| av在线手机播放| 色综合成人| 国产美女丝袜高潮| 久久99精品久久久久纯品| 国产精品99r8在线观看| 中美日韩在线网免费毛片视频| 亚洲动漫h| 国产在线拍偷自揄拍精品| 成人亚洲国产| 亚洲国产欧美中日韩成人综合视频| 国产aⅴ无码专区亚洲av综合网| 国产精品自在自线免费观看| 免费精品一区二区h| 51国产偷自视频区视频手机观看| 沈阳少妇高潮在线| 久久特级毛片| 久热精品免费| 国产精品极品美女自在线| 日本免费a视频| 亚洲视频四区| 国产黄色视频综合| 免费av一区二区三区在线| 人人看人人鲁狠狠高清| 亚洲美女一区二区三区| 国产在线视频二区| 亚洲综合经典在线一区二区| 美女无遮挡被啪啪到高潮免费| 国产欧美日本在线观看| 91区国产福利在线观看午夜| 久久综合丝袜长腿丝袜| 2022国产无码在线| 毛片视频网址| 精品久久久久无码| 国产精品密蕾丝视频| 欧美精品成人| 国产精品露脸视频| 久久99热这里只有精品免费看| 国产欧美在线| 91口爆吞精国产对白第三集| 国产乱子伦精品视频| 四虎影视库国产精品一区| 亚洲高清资源| 国产成人高清在线精品| 欧美精品1区| 伊人久久久大香线蕉综合直播| 在线观看国产黄色| 九九视频免费在线观看| 亚洲一区二区无码视频| 亚洲区第一页| 三级毛片在线播放| 囯产av无码片毛片一级|