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