1 引言
在企業(yè)信息化發(fā)展過程中,面向車間信息管理的制造執(zhí)行系統(tǒng)(Manufacturing Execution System,MES)已經(jīng)成為企業(yè)信息系統(tǒng)實現(xiàn)集成的關(guān)鍵,是企業(yè)信息化發(fā)展的重要方向之一?芍貥(gòu)性是制造執(zhí)行系統(tǒng)的基本特性之一,近年來已成為研究的熱點。目前對MES的可重構(gòu)性研究主要集中在基于SOA、模型驅(qū)動架構(gòu)、多agent機(jī)制等方面,但是對MES權(quán)限控制系統(tǒng)進(jìn)行系統(tǒng)研究還比較少。而一個合理完善的權(quán)限控制系統(tǒng),是實現(xiàn)MES可重構(gòu)的重要基礎(chǔ)。訪問控制技術(shù)提供了信息系統(tǒng)權(quán)限控制的解決方案,解決了信息的完整性和信息的機(jī)密性。
傳統(tǒng)的訪問控制技術(shù)是美國國防部提出的自主訪問控制(Discretionary Access Controls,DAC)和強(qiáng)制訪問控制(Mandatory Access Controls,MAC)。主要適用于軍用項目。Ferraiolo D、Sandhu R等對基于角色的訪問控制(Role Based Access Controls,RBAC)方案,進(jìn)行了系統(tǒng)的研究。國內(nèi)對權(quán)限控制方案的研究主要是從授權(quán)模式、授權(quán)驗證等方面對RBAC模型進(jìn)行擴(kuò)展。RBAC提供的是一種信息安全的解決方案,不僅能實現(xiàn)信息的機(jī)密性控制。更重要的是對信息的完整性控制。目前在訪問控制方面的研究工作,大多從技術(shù)角度,對RBAC模型進(jìn)行擴(kuò)展;谶@種情況,從企業(yè)組織模型的角度,研究MES系統(tǒng)的訪問控制原理,在信息訪問控制機(jī)制的基礎(chǔ)上,提出功能可重構(gòu)MES系統(tǒng)構(gòu)建方案。
2 離敬企業(yè)車間組織建模
組織是現(xiàn)代管理中的基礎(chǔ)概念。組織是企業(yè)功能的實際承載者,通過組織機(jī)構(gòu)的合理設(shè)置,組織功能的合理劃分。企業(yè)各種活動才能有條不紊的進(jìn)行,企業(yè)才能正常運作。為了實現(xiàn)企業(yè)的目標(biāo),組織成員具有一定的職責(zé)、權(quán)利和技能。組織成員之間根據(jù)組織結(jié)構(gòu),還產(chǎn)生一定的權(quán)利和義務(wù)關(guān)系。在企業(yè)信息系統(tǒng)中,組織機(jī)構(gòu)是系統(tǒng)的實際使用者,組織成員的各種操作是企業(yè)實際運行過程中組織機(jī)構(gòu)功能的映射。在企業(yè)信息系統(tǒng)中,組織成員通過系統(tǒng)授權(quán)訪問系統(tǒng),實現(xiàn)組織在企業(yè)中的權(quán)責(zé)。組織模型是企業(yè)的重要業(yè)務(wù)模型,組織建模是建立企業(yè)信息系統(tǒng)訪問控制方案的基礎(chǔ)。訪問控制系統(tǒng)通過權(quán)限控制組織成員訪問企業(yè)信息系統(tǒng),一方面保護(hù)企業(yè)的機(jī)密信息的安全性,另一方面保證不同組織成員之間的權(quán)責(zé)互不沖突,實現(xiàn)信息的一致性。
某企業(yè)主要從事航空發(fā)動機(jī)的制造,其裝配車間組織結(jié)構(gòu)如圖1所示。
圖1 離散制造企業(yè)裝配車間組織結(jié)構(gòu)圖
企業(yè)產(chǎn)品裝配活動由多部門協(xié)調(diào)完成。裝配車間是產(chǎn)品裝配任務(wù)的主要承擔(dān)部門,根據(jù)業(yè)務(wù)性質(zhì)的不同,在車間下面又分工藝室、調(diào)度室、部件班、總裝班等分別承擔(dān)工藝、調(diào)度、裝配等工作。軍代表室負(fù)責(zé)軍檢,質(zhì)檢處負(fù)責(zé)產(chǎn)品的質(zhì)量檢驗,總師辦負(fù)責(zé)重大技術(shù)問題,中央倉庫負(fù)責(zé)物料的管理。信息中心負(fù)責(zé)軟件安裝調(diào)試。組織結(jié)構(gòu)中,各部門相對獨立又有一定的關(guān)系。不同層之間的父子部門之間存在一定的偏序關(guān)系,使得整個組織結(jié)構(gòu)體現(xiàn)為一種層次結(jié)構(gòu)。下面給出組織的形式化定義:
定義1 職責(zé)(Responsibilities,Rsps):企業(yè)管理中的概念,是對組織目標(biāo)進(jìn)行分解形成的子功能,由組織機(jī)構(gòu)、組織單元等承擔(dān)。如果各級組織都實現(xiàn)自己的職責(zé),則組織目標(biāo)可以達(dá)到。Rsps使用BNF(下文定義表示方法同此)可以形式化地表示為:
Rsps∷={(op,obj)}
其中,op表示操作,obj表示對象。Rsps是op和obj的二元關(guān)系集合。
定義2 組織單元(Organization Unit,OU):企業(yè)管理中的概念,是對企業(yè)部門和人員的抽象,作為完成企業(yè)目標(biāo)的主體,具有共性的屬性和行為。組織單元具有明確的職責(zé)和權(quán)限,組織單元之間存在一定的偏序關(guān)系。OU可以形式化地表示為:
OU∷=(oid,fou,rel,orsps)
you∷=NULL|OU
rel∷={(DU,OU))
orsps∷=Rsps
其中oid是組織單元的標(biāo)識符,*fou是組織單元的父組織單元,rel代表組織單元之間的協(xié)作關(guān)系,orsps是屬于該組織單元的職責(zé)。
定義3 組織機(jī)構(gòu)(Organization,Or):企業(yè)管理中的概念。組織單元按照偏序關(guān)系組成的具有一定結(jié)構(gòu)的組織單元集合,是企業(yè)功能的載體,實現(xiàn)企業(yè)的目標(biāo)。Or可以形式化地表示為:
Or∷=(ous,prel)
ous∷={OU}
prel∷={(fou,OU)}
其中ous表示所有組織單元OU的集合,prel代表組織單元之間的偏序關(guān)系集合,fou表示OU的父組織單元。
定義4 崗位(Position,Po):企業(yè)管理中的概念,是具有相同職責(zé)和權(quán)限的一類組織成員的稱謂。通常按照崗位對組織目標(biāo)進(jìn)行分解,完成組織的功能。Po可以形式化地表示為:
Po∷=(poid,ou,prsps)
ou∷=OU
prsps∷=Rsps
其中,poid表示崗位的標(biāo)識符。ou是崗位所隸屬的組織。prsps是屬于該崗位的職責(zé)。
定義5 組織成員(Member,Me):企業(yè)管理中的概念,是組織中的個體,具有某個或某些崗位,是組織功能的實際執(zhí)行者。Me可以形式化地表示為:
Me∷=(meid,ou,pos)
ou∷=OU
pos∷={Po}
其中,meid是組織成員的標(biāo)識符。ou表示所在組織。pos表示組織成員的崗位列表。
根據(jù)定義,組織成員和崗位之間、崗位與職責(zé)之間存在二元的叉乘關(guān)系,組織機(jī)構(gòu)、組織單元、組織成員之間構(gòu)成樹形結(jié)構(gòu)。圖2是發(fā)動機(jī)裝配車間的組織機(jī)構(gòu)、崗位、職責(zé)的關(guān)系模型。
圖2 組織、崗位和職責(zé)的關(guān)系模型圖
在圖中,組織機(jī)構(gòu)通過崗位設(shè)置,對組織功能進(jìn)行分解。組織成員通過承擔(dān)—個或多個崗位,而獲得對應(yīng)的職責(zé)。
3 基于組織的RBAC模型
在MES系統(tǒng)中,權(quán)限控制的實質(zhì)就是指定組織成員的職責(zé)。傳統(tǒng)的DAC權(quán)限控制方法,采用用戶直接授權(quán),控制用戶對資源的訪問。根據(jù)圖2所示的組織、崗位、職責(zé)之間的關(guān)系,DAC權(quán)限控制方法的缺陷在于沒有將崗位與具體的組織相分離,而是將職責(zé)直接賦予了具體的組織成員,因而給系統(tǒng)安全和管理帶來隱患。Ferraiolo D等人將角色引入傳統(tǒng)的訪問控制方法中,提出了基于角色的權(quán)限控制方法。在該模型中,角色擁有權(quán)限,用戶和權(quán)限不直接關(guān)聯(lián),而是通過角色獲得相應(yīng)的權(quán)限。通過角色授權(quán),減小了用戶和操作權(quán)限之間的耦合度,提高了系統(tǒng)的安全性和管理的便捷性。
在MES系統(tǒng)中,同一組織的成員通常擁有相同的權(quán)限。采用RBAC機(jī)制,在權(quán)限管理過程中。對組織成員賦予相同角色的操作要重復(fù)執(zhí)行多次。對RBAC機(jī)制進(jìn)行擴(kuò)展,引入組織的概念,簡化了權(quán)限管理操作。擴(kuò)展后的基于組織的RBAC(Group-RBAC)模型如圖3所示。
圖3 Group-RBAC模型
圖3中的角色,根據(jù)ANSI INCITS 359-2004標(biāo)準(zhǔn),可以定義為:角色是一種工作職能,在組織中,相應(yīng)的工作職能會授予給分配角色的用戶。角色除了賦予用戶之外,還能賦予組織。賦予Group的角色由屬于Group的Users共享,相當(dāng)于企業(yè)模型中組織單元中定義的所有組織成員的共同職責(zé)。用戶的權(quán)限有兩部分組成。一部分由直接賦予的角色授予,另一部分則由所屬的組織授予的角色賦予。組織(Group)、用戶(Users)、角色(Roles)、權(quán)限(PRMS),分別與上文企業(yè)模型中的組織單元、組織成員、崗位、職責(zé)相對應(yīng),是企業(yè)業(yè)務(wù)模型在信息系統(tǒng)中的抽象。通過Group、Users、Roles、PRMS之間的關(guān)系,表示了定義1~5中描述的企業(yè)組織模型。
圖3中,用戶和組織之間存在多對多關(guān)系,描述的是用戶不僅屬于它的直接父組織,也是組織關(guān)系樹上其祖先組織的成員。
Group、Users、Roles、PRMS代表相應(yīng)的元素有限集。它們之間二元叉乘關(guān)系,可以使用數(shù)據(jù)庫中的關(guān)系模式進(jìn)行表示:
RUO=Users×Group
ROR=Group×Roles
RUR=Users×Roles
RRP=Roles×PRMS
通過關(guān)系運算,用戶權(quán)限關(guān)系可以由公式(1)進(jìn)行計算:
4 功能可配置的MES系統(tǒng)結(jié)構(gòu)及權(quán)限系統(tǒng)設(shè)計
根據(jù)上文的理論模型,構(gòu)建了功能可配置的MES系統(tǒng)結(jié)構(gòu),并對其權(quán)限控制系統(tǒng)進(jìn)行了設(shè)計和實現(xiàn)。
4.1 MES系統(tǒng)結(jié)構(gòu)
基于Group-RBAC模型,設(shè)計了多層封裝的功能可重構(gòu)MES系統(tǒng)結(jié)構(gòu)。其總體架構(gòu)如圖4所示。
圖4 功能可配置的MES系統(tǒng)緒構(gòu)圖
圖中,在業(yè)務(wù)對象層封裝系統(tǒng)中的工藝、設(shè)備、物料、人員等各種業(yè)務(wù)數(shù)據(jù),直接和數(shù)據(jù)庫層進(jìn)行交互。功能模塊層,封裝業(yè)務(wù)對象的不同操作,形成獨立的功能組件。角色功能模塊配置層,將各個功能組件動態(tài)指派給不同的角色,構(gòu)建角色功能模塊。用戶Portal層。將不間的角色指派給相應(yīng)的用戶。實現(xiàn)個性化的用戶界面。在Croup-RBAC的機(jī)制下,通過角色功能的動態(tài)配置,實現(xiàn)了MES系統(tǒng)的功能可重構(gòu)。
4.2 訪問控制系統(tǒng)的對象和存儲結(jié)構(gòu)
使用面向?qū)ο蠹夹g(shù)對MES的訪問控制機(jī)制進(jìn)行了設(shè)計和實現(xiàn)。使用UML,對上文訪問控制中的主要元素進(jìn)行面向?qū)ο蠼,通過類圖描述了系統(tǒng)結(jié)構(gòu)。系統(tǒng)的類圖如圖5所示。
圖5 訪問控制系統(tǒng)類圖
圖中用例類Usecase是MES系統(tǒng)中的功能模塊,Usecase封裝了業(yè)務(wù)對象BusinessObject的各種操作。通過角色Role和相應(yīng)Usecase之間的關(guān)聯(lián),實現(xiàn)Role的授權(quán)。類RoleUsecase、UserRole、GroupRole是關(guān)聯(lián)類,表示相應(yīng)類之間的多對多關(guān)系。將User、Role、Usecase類中的相關(guān)操作和數(shù)據(jù)分離,形成管理類UserUtility、RoleUtility、UsecaseUtility。以便開發(fā)管理。
根據(jù)上文定義1~5,結(jié)合訪問控制系統(tǒng)類圖,完成數(shù)據(jù)庫設(shè)計。這里給出主要關(guān)系的邏輯設(shè)計模式。
用戶:User(uid,uname,gid)
組織:Group(rid,gname,fatherid)
角色:Role(rid,rname)
用例:Usecase(ucid,sesame,fn_dscp)
用戶角色:UserRole(uid,rid)
組織角色:GroupRole(gid,rid)
角色用例:RoleUsecase(rid,ucid)
4.3 用戶權(quán)限計算模塊實現(xiàn)
用戶的權(quán)限,可以按照公式(1)計算。在這里關(guān)系RUR、ROR、RRP和數(shù)據(jù)庫中的UserRole、GroupRole、RoleUsecase關(guān)系相對應(yīng)。關(guān)系User中的gid表示用戶的直接父組織。表示了部分RUO;另外一部分RUO關(guān)系通過自關(guān)聯(lián)的關(guān)系Group來體現(xiàn)。計算用戶的權(quán)限,實質(zhì)是求關(guān)系RUP中對應(yīng)當(dāng)前用戶的權(quán)限列表。下面將公式(1)中的關(guān)系運算用SQL語句實現(xiàn),并給出計算用戶權(quán)限的關(guān)鍵算法步驟。
輸入:用戶userid;輸出:用戶權(quán)限列表UsecaseArray
Step1:初始化權(quán)限列表數(shù)組UsecaseArray,將每個元素置空;
Step 2:連接數(shù)據(jù)庫。執(zhí)行SQL查詢select gid as groupid from User where uid=userid,得到用戶的組織groupid;
Step 3:執(zhí)行SQL語句select ucid from User Role as a join Role Usecase as b on a.rid=b.rid where uid=userid.獲得直接授予用戶的權(quán)限列表;
Step 4:for each uciditem in ucid
if(UsecaseArray中不包含uciditem)
將uciditem添加到UsecaseArrsy中;
圖6 ADS系境配置模塊
Step 5:執(zhí)行SQL語句select ucid from Group Role as a join Role Usecase as b on a.rid=b.rid where gid=groupid,獲得用戶從組織繼承的權(quán)限列表;
Step 6:執(zhí)行SQL查詢select fathcrid from Group where gid=groupid;
Step 7:if(fatherid=null)轉(zhuǎn)向Step 8:
else令groupid=fatherid,轉(zhuǎn)向Step 4;
Step8:for each uciditem in ucid
if(UsecaseArray中不包含uciditem)
將uciditem添加到UsecaaeArray中:
Step 9:結(jié)束。
根據(jù)G-RBAC模型和功能可配置的MES系統(tǒng)結(jié)構(gòu),使用Visual Studio.NET開發(fā)了基于Windows平臺的裝配數(shù)字化系統(tǒng)(Assembly Digital System,ADS),實現(xiàn)裝配過程的數(shù)字化管理。系統(tǒng)分成配置模塊和運行模塊兩個部分。圖6是ADS系統(tǒng)的配置模塊。系統(tǒng)實施和管理人員根據(jù)企業(yè)業(yè)務(wù)需求,對用例、角色、用戶等系統(tǒng)功能進(jìn)行動態(tài)配置,實現(xiàn)不同用戶不同的界面展示和操作權(quán)限控制。圖7是系統(tǒng)運行時,裝配員的工作界面。裝配員工登錄后,進(jìn)入該界面,首先查看技術(shù)文件,然后按工序開始裝配工作。
圖7 ADS系統(tǒng)運行界面
5 結(jié)論
MES是企業(yè)信息系統(tǒng)集成化深入發(fā)展的重要基礎(chǔ),結(jié)合企業(yè)業(yè)務(wù),開發(fā)可重構(gòu)的MES系統(tǒng),是亟待解決的課題。分析了離散制造企業(yè)裝配車間的組織機(jī)構(gòu),在企業(yè)組織和RBAC訪問控制理論方面進(jìn)行了探索,提出了Group-RBAC訪問控制模型。結(jié)合發(fā)動機(jī)裝配車問的具體業(yè)務(wù)流程,構(gòu)建了功能可重構(gòu)的裝配MES系統(tǒng)結(jié)構(gòu),使用面向?qū)ο蠹夹g(shù)設(shè)計實現(xiàn)了MES的權(quán)限控制系統(tǒng);诒疚哪P烷_發(fā)的ADS系統(tǒng),在某航空企業(yè)數(shù)字化車間已經(jīng)上線使用,取得了一定的經(jīng)濟(jì)效益。企業(yè)信息系統(tǒng)集成是企業(yè)信息化的發(fā)展方向,本文目前沒有涉及基于Croup-RBAC的MES系統(tǒng)的集成問題。權(quán)限控制系統(tǒng)提高了系統(tǒng)的安全性,但在不同系統(tǒng)之間集成時,組織結(jié)構(gòu)和角色范圍擴(kuò)大,可能產(chǎn)生授權(quán)沖突問題,這是本文下一步的主要工作方向。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:功能可重構(gòu)MES系統(tǒng)的訪問控制機(jī)制研究