王 宇,王淑營
(西南交通大學(xué)CAD 工程中心,四川 成都610031)
軟件即服務(wù) (software as a service,SaaS)是隨著網(wǎng)絡(luò)技術(shù)和分布式計算技術(shù)的發(fā)展而產(chǎn)生的一種新的軟件服務(wù)模式,特點是軟件通過Internet進行部署和運營。汽車產(chǎn)業(yè)鏈協(xié)同SaaS平臺作為服務(wù)平臺,針對汽車產(chǎn)業(yè)鏈上下游企業(yè)間的業(yè)務(wù)協(xié)同需求搭建,為企業(yè)群提供以制造業(yè)為核心的零部件采購、產(chǎn)品銷售和產(chǎn)品售后服務(wù)業(yè)務(wù)協(xié)同服務(wù),與核心制造企業(yè)內(nèi)部既有的ERP/PDM 等系統(tǒng)集成,形成以制造廠為核心的內(nèi)外部集成一體化的業(yè)務(wù)協(xié)同體系,已成為汽車產(chǎn)業(yè)鏈上下游8000余家企業(yè)群的業(yè)務(wù)協(xié)同解決方案,滿足企業(yè)群的業(yè)務(wù)協(xié)同需求。
數(shù)據(jù)即服務(wù)(data as a service,DaaS)是繼SaaS、PaaS之后有一個新的服務(wù)概念。國內(nèi)外很多公司和專家學(xué)者對其做了研究和試驗。文獻[1]基于Feldman(t,n)Vss協(xié)議,提出了一個隱私保護訪問控制的DaaS,保護用戶數(shù)據(jù)集的安全。文獻[2]提出了DaaS在數(shù)據(jù)方面的5個主要技術(shù):數(shù)據(jù)機密性、數(shù)據(jù)完整性、數(shù)據(jù)健全性、查詢隱私保護以及訪問控制策略。給出了DaaS研究中現(xiàn)有問題和挑戰(zhàn),在安全和隱私方面要進行保護,沒有明確的定義DaaS及其數(shù)據(jù)資產(chǎn)?,F(xiàn)有的DaaS模型提供者基本通過Html文檔來描述服務(wù),不適合對DaaS建模,文獻[3]中提出了DEMON 描述模型,用來對DaaS模型進行描述。這些研究都集中在公共服務(wù)領(lǐng)域,主要包括數(shù)據(jù)安全性、DaaS模型的建立等。
針對汽車產(chǎn)業(yè)鏈協(xié)同SaaS平臺針對以龍頭企業(yè)為核心的上下游企業(yè)群對數(shù)據(jù)即服務(wù)的需求,提出了面向產(chǎn)業(yè)協(xié)同SaaS平臺的DaaS解決方案,并對其實現(xiàn)的關(guān)鍵技術(shù)進行了研究。
聯(lián)盟,不同企業(yè)聯(lián)盟企業(yè)群的業(yè)務(wù)數(shù)據(jù)相互隔離,同一聯(lián)盟內(nèi)的業(yè)務(wù)需要按業(yè)務(wù)的關(guān)聯(lián)性需要在多個企業(yè)間共享。數(shù)據(jù)安全性的要求較高,在汽車產(chǎn)業(yè)鏈協(xié)同SaaS平臺上,以制造廠為核心的產(chǎn)業(yè)聯(lián)盟,采用以獨立數(shù)據(jù)庫為主,與共享數(shù)據(jù)庫相結(jié)合的存儲策略,每個企業(yè)聯(lián)盟的業(yè)務(wù)數(shù)據(jù)存儲在自己的數(shù)據(jù)庫中,確保數(shù)據(jù)的安全隔離;但是一些用戶的權(quán)限信息、SaaS定制的信息以及用戶的登錄信息等,存儲在平臺的共享數(shù)據(jù)庫中。
產(chǎn)業(yè)鏈協(xié)同SaaS平臺多租戶模型如圖1所示。
目前汽車產(chǎn)業(yè)鏈協(xié)同服務(wù)平臺,憑借自身的資源和成本等優(yōu)勢,服務(wù)制造廠聯(lián)盟的8000余家協(xié)作企業(yè),這些企業(yè)的銷售、采購、售后服務(wù)等各類業(yè)務(wù)數(shù)據(jù)通過平臺進行集成和中轉(zhuǎn),使平臺成為數(shù)據(jù)中心,對數(shù)據(jù)的安全高效管理是平臺面臨的最重要問題。如果將數(shù)據(jù)按照使用進行劃分,可以大致分為三類:正在處理業(yè)務(wù)單據(jù)生命周期中的業(yè)務(wù)數(shù)據(jù)、生命周期已經(jīng)結(jié)束的業(yè)務(wù)數(shù)據(jù)以及生命周期已經(jīng)結(jié)束并且長時間未被查看調(diào)用的數(shù)據(jù):
圖1 產(chǎn)業(yè)鏈協(xié)同SaaS平臺多租戶模型
(1)當單據(jù)審批、結(jié)算完成后,認為該業(yè)務(wù)處理完成,不會再有其它的審批和更改操作。服務(wù)器定期進行檢查,把所有的生命周期已經(jīng)完成的單據(jù)數(shù)據(jù)遷移到近線數(shù)據(jù)庫服務(wù)器中存儲,來減輕在線數(shù)據(jù)庫服務(wù)器的負荷,提高單據(jù)的處理速度。
(2)由于時間的積累,近線數(shù)據(jù)庫中的數(shù)據(jù)會變的越來越舊,查詢和訪問的頻率會越來越低。數(shù)據(jù)的使用頻率低于一定的程度后,將這部分數(shù)據(jù)從近線數(shù)據(jù)庫中分離,保存到離線文件中。
產(chǎn)業(yè)鏈協(xié)同SaaS平臺數(shù)據(jù)歸檔方案如圖2所示。
圖2 產(chǎn)業(yè)鏈協(xié)同SaaS平臺數(shù)據(jù)歸檔方案
汽車產(chǎn)業(yè)鏈協(xié)同SaaS平臺作為企業(yè)群的業(yè)務(wù)處理與數(shù)據(jù)托管中心,其每天要處理和交換的數(shù)據(jù)量巨大。一方面,大量的數(shù)據(jù)存儲在服務(wù)器集群中會帶來服務(wù)器集群計算資源的消耗,影響到服務(wù)器的響應(yīng)時間,造成數(shù)據(jù)查詢、審批等業(yè)務(wù)處理速度的降低,影響用戶體驗,從企業(yè)間業(yè)務(wù)協(xié)同的角度分析,業(yè)務(wù)數(shù)據(jù)大多具有生命周期,如車輛的三包理賠單據(jù),一旦理賠結(jié)算完成,對此單據(jù)的業(yè)務(wù)協(xié)同處理即告以完畢,可以做數(shù)據(jù)歸檔處理;但另一方面,從汽車產(chǎn)業(yè)鏈協(xié)同平臺的協(xié)作企業(yè)用戶的角度看,這些完成了業(yè)務(wù)生命周期的數(shù)據(jù)是其工作核心的體現(xiàn),對其進行后期服務(wù)質(zhì)量的分析、問題追溯、員工的考核等具有非常重要的意義。協(xié)作企業(yè)對DaaS的需求具體體現(xiàn)在:
(1)協(xié)作企業(yè)通過Web使用平臺,沒有本地副本,業(yè)務(wù)數(shù)據(jù)一旦歸檔,需要追溯時,需要向SaaS平臺運營商提供申請。作為服務(wù)商為了提高售后服務(wù)的質(zhì)量,保證庫存配件的及時供應(yīng)等,需要對歷史數(shù)據(jù)進行稽查,這些操作需要將歸檔的數(shù)據(jù)還原,再進行查詢。
(2)協(xié)作企業(yè)業(yè)務(wù)數(shù)據(jù)本地沒有副本,雖然平臺提供了一些數(shù)據(jù)分析的工具,但相對于各個協(xié)作企業(yè)對服務(wù)質(zhì)量分析、員工考核、員工培訓(xùn)等的各種個性化需求而言是不夠的,協(xié)作企業(yè)需要能獲得這部分業(yè)務(wù)數(shù)據(jù)的本地化副本,用于后期的分析與應(yīng)用。
因此需要針對汽車產(chǎn)業(yè)鏈協(xié)同SaaS平臺多租戶業(yè)務(wù)數(shù)據(jù)隔離與管理模型,建立一套面向協(xié)作企業(yè)的DaaS解決方案,為協(xié)作企業(yè)提供業(yè)務(wù)相關(guān)數(shù)據(jù)的提取、安全傳輸與本地化展示等支持。
以汽車制造廠為核心的汽車產(chǎn)業(yè)鏈協(xié)同SaaS平臺中,為了滿足服務(wù)商、供應(yīng)商和經(jīng)銷商操作和獲取歷史數(shù)據(jù)的需求,設(shè)計以文件作為數(shù)據(jù)存儲介質(zhì),以企業(yè)間協(xié)作關(guān)系和業(yè)務(wù)關(guān)聯(lián)算法相結(jié)合的方式實現(xiàn)數(shù)據(jù)服務(wù)功能。
同企業(yè)聯(lián)盟企業(yè)群的業(yè)務(wù)數(shù)據(jù)相互隔離,同一聯(lián)盟內(nèi)的業(yè)務(wù)需要按業(yè)務(wù)的關(guān)聯(lián)性在多個企業(yè)間共享,數(shù)據(jù)關(guān)系如圖3所示。根據(jù)SaaS平臺多租戶的特點以及協(xié)作企業(yè)對DaaS需求,需要建立基于聯(lián)盟協(xié)作關(guān)系和業(yè)務(wù)關(guān)聯(lián)關(guān)系的數(shù)據(jù)分片模型,建立數(shù)據(jù)分片、數(shù)據(jù)獲取與協(xié)作企業(yè)間的數(shù)據(jù)隔離機制。其具體實現(xiàn)和描述如下:
產(chǎn)業(yè)鏈企業(yè)群的業(yè)務(wù)協(xié)同是建立在以龍頭企業(yè)為核心的上下游業(yè)務(wù)協(xié)作關(guān)系的基礎(chǔ)上,因此數(shù)據(jù)分片模型也是以企業(yè)間協(xié)作關(guān)系為基礎(chǔ)的,為了描述企業(yè)間的協(xié)作關(guān)系,引入定義1。
定義1 企業(yè)聯(lián)盟為Ui=(EUi,F(xiàn)Ui,E→R(FUi)),其中:
企業(yè)為EUi;
企業(yè)協(xié)作關(guān)系為FUi;
圖3 產(chǎn)業(yè)鏈協(xié)同SaaS平臺數(shù)據(jù)與企業(yè)數(shù)據(jù)關(guān)系
E→R(FUi)表示關(guān)系集[4]。
具體分析SaaS平臺業(yè)務(wù)數(shù)據(jù)的存儲方式,發(fā)現(xiàn)不同單據(jù)的業(yè)務(wù)數(shù)據(jù)在數(shù)據(jù)庫中的存儲結(jié)構(gòu)不都是單表存儲。比如特殊問題申請單據(jù)的信息存儲在多張表中;鑒定單的數(shù)據(jù)存儲在多張表,并且和特殊問題單中的數(shù)據(jù)關(guān)聯(lián),所涉及到的數(shù)據(jù)結(jié)構(gòu)更加復(fù)雜。作為DaaS服務(wù),應(yīng)保證在一次數(shù)據(jù)服務(wù)過程中關(guān)聯(lián)的數(shù)據(jù)一起提供給企業(yè),滿足其對應(yīng)業(yè)務(wù)關(guān)聯(lián)分析查詢的需求。為此引入定義2。
定義2 Tm=(EUi,Bm(P),F(xiàn)pl→Bm(P),time,Bm→D(Tj))表示業(yè)務(wù)m 的數(shù)據(jù)集,其中:
m 表示具體的某項業(yè)務(wù)。
Bm(P )表示存儲業(yè)務(wù)m 單據(jù)信息唯一標識,即Bm(P )唯一確定。
Fpl→Bm(P )= (Fp1,F(xiàn)p2,…,F(xiàn)pl)表示業(yè)務(wù)m 的從表數(shù)據(jù)標識。
time表示數(shù)據(jù)錄入的時間,作為數(shù)據(jù)分離的篩選條件之一。
Bm→D (Tj)表示在業(yè)務(wù)m 中,與業(yè)務(wù)j模型Tj的依賴關(guān)系。
由定義1和定義2,在產(chǎn)業(yè)群企業(yè)聯(lián)盟框架下,業(yè)務(wù)單據(jù)和企業(yè)的特性如下:
(1)Ex,Ex∈EUi。即聯(lián)盟Ui中包括了多家供應(yīng)商,服務(wù)商和經(jīng)銷商。
(2)Tm→ EUi( ),… ,即業(yè)務(wù)m 相關(guān)的數(shù)據(jù)模型Tm,其中包括了聯(lián)盟Ui中所有與業(yè)務(wù)m 相關(guān)企業(yè)EUi的數(shù)據(jù)。
(3)FUik,F(xiàn)Uik∈FUi且E→R (FUi),即聯(lián)盟中的企業(yè)根據(jù)協(xié)作關(guān)系FUik的不同,對業(yè)務(wù)單據(jù)中字段信息的查看和操作有不同的權(quán)限。
比如,在三包鑒定的業(yè)務(wù)流程中,參與企業(yè)包括服務(wù)商、供應(yīng)商和經(jīng)銷商等多家企業(yè)。整個業(yè)務(wù)流程中的數(shù)據(jù)來源根據(jù)聯(lián)盟中企業(yè)間的協(xié)作關(guān)系確定,配件的相關(guān)信息屬于供應(yīng)商、客戶的信息屬于經(jīng)銷商等。三包鑒定單中存儲的業(yè)務(wù)數(shù)據(jù)中,按照企業(yè)的協(xié)作關(guān)系為各個的企業(yè)商家提供可查看的數(shù)據(jù)信息,其中數(shù)據(jù)字段隔離方式根據(jù)協(xié)作關(guān)系FUi確定。
對業(yè)務(wù)單據(jù)信息在數(shù)據(jù)庫中的存儲結(jié)構(gòu)進行分析,單據(jù)的存儲結(jié)構(gòu)主要分為:單一表的存儲結(jié)構(gòu),多表級聯(lián)的存儲結(jié)構(gòu)以及多表級聯(lián)且單據(jù)間存在依賴關(guān)系的存儲結(jié)構(gòu)。為了防止數(shù)據(jù)的冗余和保證數(shù)據(jù)的完整性。引入定義3。
定義3 t (m )s表示業(yè)務(wù)m 中具有協(xié)作關(guān)系FUik企業(yè)的數(shù)據(jù)字段集,t(m)s=(tc→(Bm(P),F(xiàn)pl),td→(Tj))。
其中:tc→ (Bm(P ),F(xiàn)pl)=(t1,t2,…,tc)表示m單據(jù)中數(shù)據(jù)表字段集合。Bm(P )表示業(yè)務(wù)m 在主表中的數(shù)據(jù)字段。Fpl∈ (Fp1,F(xiàn)p2…,F(xiàn)pl)表示業(yè)務(wù)m 在從表中的數(shù)據(jù)字段。td→ (Tj)表示與單據(jù)m 在依賴業(yè)務(wù)j 中的字段集合。
按照單據(jù)的存儲結(jié)構(gòu)和企業(yè)的協(xié)作關(guān)系FUik∈FUi,采用垂直分片的方式,獲取不同協(xié)作關(guān)系企業(yè)業(yè)務(wù)單據(jù)的完整字段集合。為了清楚描述業(yè)務(wù)單據(jù)的模型,引入定義4。
定義4 用vm表示聯(lián)盟Ui里,業(yè)務(wù)m 單據(jù)中具有FUik協(xié)作關(guān)系企業(yè)的數(shù)據(jù)集模型。其中
通過垂直分片獲取到的數(shù)據(jù)集,包含該聯(lián)盟中所有的企業(yè)的單據(jù)數(shù)據(jù),確保企業(yè)數(shù)據(jù)的隔離性,要根據(jù)企業(yè)ID進行數(shù)據(jù)的分離,所以采用水平分片的方式將不同企業(yè)數(shù)據(jù)按照時間范圍進行分離。
定義5 hx表示通過水平分片分離企業(yè)單據(jù)數(shù)據(jù)的集合,hx= (Ex,time) ,其中:Ex∈EUi表示企業(yè)Ex屬于Ui聯(lián)盟中的任一企業(yè)。
time表示要分離數(shù)據(jù)的時間范圍。
最終通過混合分片方式后得到聯(lián)盟Ui中,協(xié)作關(guān)系為FUik的企業(yè)Ex,業(yè)務(wù)m 單據(jù)的數(shù)據(jù)集DS (m ,Ex)
式中:vm和hx通過定義4和定義5獲取。在企業(yè)聯(lián)盟Ui中,當企業(yè)Ex確定之后,Ex的協(xié)作關(guān)系也是唯一確定的,即FUik=FUix。則
聯(lián)盟Ui中協(xié)作關(guān)系為FUix的企業(yè)Ex在time 時間范圍內(nèi)業(yè)務(wù)m 的單據(jù)數(shù)據(jù)集合。即,企業(yè)數(shù)據(jù)的分離通過用戶登錄時獲取到的用戶身份Ex確定,數(shù)據(jù)的分離區(qū)間根據(jù)參數(shù)time確定。
產(chǎn)業(yè)鏈協(xié)同SaaS 平臺數(shù)據(jù)庫分片過程中參與對象眾多,參照企業(yè)間的協(xié)作關(guān)系,單據(jù)的存儲結(jié)構(gòu)等特點,需要定制不同的分片規(guī)則。分析聯(lián)盟企業(yè)的活動以及平臺對數(shù)據(jù)的處理策略,分片規(guī)則的觸發(fā)采用兩種方式,如圖4所示。一種是按照數(shù)據(jù)歸檔事件進行觸發(fā),當數(shù)據(jù)進行歸檔操作時,獲取歸檔數(shù)據(jù)的時間范圍以及數(shù)據(jù)庫中的企業(yè)標識,加載各類單據(jù)的分片規(guī)則,按照規(guī)則實現(xiàn)數(shù)據(jù)隔離的操作,并把這些數(shù)據(jù)從近線數(shù)據(jù)庫中移除;另一種是企業(yè)主動請求下載數(shù)據(jù),企業(yè)要對數(shù)據(jù)庫中業(yè)務(wù)單據(jù)數(shù)據(jù)進行下載,而這部分數(shù)據(jù)未歸檔時,則對請求下載時間范圍內(nèi)的數(shù)據(jù)加載相應(yīng)業(yè)務(wù)的分片規(guī)則,提取時間和企業(yè)標識參數(shù),完成對請求數(shù)據(jù)的隔離,這部分數(shù)據(jù)不會從數(shù)據(jù)庫中移除。
圖4 數(shù)據(jù)分片規(guī)則驅(qū)動過程
面向產(chǎn)業(yè)協(xié)同SaaS平臺上數(shù)據(jù)庫集群服務(wù)會定期處理近線數(shù)據(jù)庫中的數(shù)據(jù),把使用頻率低的數(shù)據(jù)從近線數(shù)據(jù)庫中移除,并加載分片規(guī)則向離線服務(wù)器進行遷移。因為同一個制造廠聯(lián)盟業(yè)務(wù)單據(jù)格式相同,所以一個聯(lián)盟采用同一套分片規(guī)則,具體業(yè)務(wù)單據(jù)加載相應(yīng)的分片規(guī)則。實現(xiàn)過程如圖5所示。
因為xml成為網(wǎng)絡(luò)中不同類型的數(shù)據(jù)交互的開發(fā)標準,并且xml通過標記描述文檔的結(jié)構(gòu)和內(nèi)容,有樹形和結(jié)構(gòu)化的特點。所以采用xml文件作為數(shù)據(jù)的存儲介質(zhì),將關(guān)系型數(shù)據(jù)轉(zhuǎn)換為xml格式保持在離線文件中。
產(chǎn)業(yè)鏈協(xié)同SaaS平臺是以制造廠為核心的服務(wù)平臺,同一制造廠聯(lián)盟的上下游企業(yè)的業(yè)務(wù)核心是制造廠,因此數(shù)據(jù)分片的規(guī)制由制造廠定制。
圖5 面向產(chǎn)業(yè)協(xié)同SaaS平臺的DaaS的實現(xiàn)
數(shù)據(jù)庫中的數(shù)據(jù)包括了制造廠和其他盟員企業(yè)的數(shù)據(jù),制造廠內(nèi)部的核心機密字段是不能讓其他的服務(wù)商、供應(yīng)商和經(jīng)銷商獲取的,所有要在轉(zhuǎn)換為xml文件之前要屏蔽制造廠內(nèi)部的核心機密字段(價格信息等);不同的業(yè)務(wù)單據(jù)數(shù)據(jù)的存儲結(jié)構(gòu)也存在差異,有些是采用單表結(jié)構(gòu)存儲,有一些是多表級聯(lián)存儲,還有的單據(jù)與其它的單據(jù)存在關(guān)聯(lián),要對這些單據(jù)數(shù)據(jù)進行整合,需要采用垂直分片的方式對這些單據(jù)數(shù)據(jù)進行整合,消除數(shù)據(jù)的冗余和保證數(shù)據(jù)的完整性。
同一業(yè)務(wù)單據(jù)數(shù)據(jù)包含參與業(yè)務(wù)流程的所有的服務(wù)商、供應(yīng)商和經(jīng)銷商,每個企業(yè)只能獲取自己的數(shù)據(jù),不能得到其他企業(yè)的業(yè)務(wù)數(shù)據(jù),防止企業(yè)的商業(yè)機密泄漏,因此為防止企業(yè)的商業(yè)機密泄漏,采用數(shù)據(jù)水平分片的策略實現(xiàn)企業(yè)數(shù)據(jù)的隔離,歸檔的數(shù)據(jù)分片處理后保存在不同文件中。
SaaS平臺數(shù)據(jù)服務(wù)器集群中的數(shù)據(jù)分片規(guī)則由核心制造廠的內(nèi)部操作員進行定制,將數(shù)據(jù)庫表中的字段按照企業(yè)的協(xié)作關(guān)系進行篩選和選擇,分配盟員企業(yè)獲取到業(yè)務(wù)單據(jù)字段的權(quán)限。
算法1:業(yè)務(wù)數(shù)據(jù)分片驅(qū)動過程
輸入:汽車產(chǎn)業(yè)聯(lián)盟Ui,業(yè)務(wù)數(shù)據(jù)庫,平臺業(yè)務(wù)功能關(guān)系FUi和企業(yè)身份標識Ex
輸出:業(yè)務(wù)數(shù)據(jù)集
BEGIN
步驟1 操作員登錄平臺,驗證身份,連接所在聯(lián)盟Ui的數(shù)據(jù)庫。
步驟2 DS (m ,Ex)=vm×hx;//建立業(yè)務(wù)分片模型,由式 (1),式 (2)得。
(1)vm= (EUi,t (m )s→ (FUik));//垂直模型,由定義4得。
(2)hx= (Ex,time) ;//水平分片,由定義5得。
步驟3 DS (m ,Ex)//對業(yè)務(wù)m 進行歸檔處理,加載m 的分片模型。
(1)m=GetType(Ex);//即Ex業(yè)務(wù)類型m;
(2)FUik=Ex→R(FUi);//即協(xié)作關(guān)系FUik;
(3)DataSet=DS (m ,Ex);//分片過后的數(shù)據(jù)集合;
步驟4 //導(dǎo)出到離線文件中:
(1)DataSet.ToXML()//獲取的數(shù)據(jù)轉(zhuǎn)換為xml格式;
(2)SaveToXML(DataSet);//動態(tài)創(chuàng)建xml文件,把xml數(shù)據(jù)存入到xml文件;
(3)Map(Ex,XmlFile);//數(shù)據(jù)庫表存儲xml文件和企業(yè)的映射關(guān)系。
END
采用水平分片的方式,把不同服務(wù)商、供應(yīng)商和經(jīng)銷商之間的數(shù)據(jù)進行分離。根據(jù)每個企業(yè)的唯一標識 “企業(yè)ID”和查詢時間范圍,從垂直分片整合后的數(shù)據(jù)中分離具體時間范圍內(nèi)的某個企業(yè)的業(yè)務(wù)數(shù)據(jù),保證具有系統(tǒng)協(xié)作關(guān)系的企業(yè)數(shù)據(jù)都是獨立的。
數(shù)據(jù)庫中的單據(jù)數(shù)據(jù)按照不同服務(wù)商、供應(yīng)商和經(jīng)銷商分片后保存到離線xml文件存儲,要為企業(yè)用戶提供下載服務(wù)。每個文件要設(shè)定用戶的下載權(quán)限,保證每個企業(yè)可以并且只能下載到包含自己數(shù)據(jù)的xml文件,同時防止每個企業(yè)的業(yè)務(wù)數(shù)據(jù)的泄漏。
動態(tài)建立離線xml數(shù)據(jù)文件和企業(yè)的映射關(guān)系,在數(shù)據(jù)庫中建立數(shù)據(jù)表保存企業(yè)和數(shù)據(jù)文件的映射關(guān)系。保證用戶可以下載自己的數(shù)據(jù)文件,防止數(shù)據(jù)文件被其他用戶下載。
xml文件中包含了各個服務(wù)商的業(yè)務(wù)數(shù)據(jù),通過權(quán)限對xml文件的下載進行驗證,只能保證服務(wù)商之間的數(shù)據(jù)隔離。網(wǎng)絡(luò)數(shù)據(jù)的傳輸存在被截取的危險,所以對文件內(nèi)容進行加密,即使文件被截獲之后,不會造成業(yè)務(wù)數(shù)據(jù)的泄漏。本文采用混合加密的方法加密xml文件,加密和解密過程如圖6所示。
圖6 對xml文檔加密和解密算法
BEGIN
步驟1 企業(yè)的操作員登錄平臺,驗證身份,選擇要下載的數(shù)據(jù)文件,并且生成一對非對稱密鑰,把公鑰發(fā)送到服務(wù)器端。
步驟2 在服務(wù)器端利用接受的公鑰,并生成一個秘密的對稱密鑰。
步驟3 在服務(wù)器上使用對稱密鑰加密xml中的特殊元素。
步驟4 服務(wù)器端使用接受到的公鑰加密該對稱密鑰。
步驟5 服務(wù)器把加密的數(shù)據(jù)、加密的對稱密鑰組合在一起生成一個新的xml文件。按照在xml加密規(guī)范中定義的標準進行的。
步驟6 客戶端獲取到xml文件,析取加密的數(shù)據(jù)、加密的對稱密鑰。
步驟7 客戶使用正確的非對稱算法和保存的私鑰解密對稱密鑰,再利用得到的對稱密鑰解密xml文檔中加密的元素內(nèi)容。
END
企業(yè)下載的數(shù)據(jù)是以xml文件為介質(zhì)存儲的,對于非專業(yè)的人員很難讀懂其中的含義。而且業(yè)務(wù)單據(jù)的結(jié)構(gòu)比較復(fù)雜,企業(yè)用戶無法理解xml文件中的內(nèi)容。所以要將xml文件中的數(shù)據(jù)還原為報表的格式,方便用戶進行查閱。
作為各個企業(yè)用戶對于單據(jù)中數(shù)據(jù)內(nèi)容的關(guān)心重點不一樣,所以在用戶的本地開發(fā)可配置報表的工具,將xml數(shù)據(jù)還原為報表的同時還可以配置單據(jù)的顯示樣式,更好的為企業(yè)服務(wù)。
面向產(chǎn)業(yè)鏈系統(tǒng)SaaS平臺中有十幾家制造廠聯(lián)盟,同一個聯(lián)盟中的企業(yè)商家共用一個數(shù)據(jù)庫。所以一個聯(lián)盟的數(shù)據(jù)庫中數(shù)據(jù)字段的分片規(guī)則只能通過制造廠內(nèi)部的管理員進行控制。
設(shè)計可視化的配置工具供制造廠內(nèi)部的管理員使用,定制數(shù)據(jù)的分片規(guī)則,實現(xiàn)制造廠內(nèi)部數(shù)據(jù)的隔離,并且保證了數(shù)據(jù)的完整性。垂直分片的定制工具如圖7 所示,水平分片后的數(shù)據(jù)集如圖8所示,通過混合分片后導(dǎo)出的數(shù)據(jù)如圖9所示。
圖7 分片定制工具
圖8 水平分片后的數(shù)據(jù)集
對xml文件中的<ProductName>元素進行非對稱加密處理。加密后使用<P>代替該元素的標識,如圖10所示。
最終的顯示工具通過對下載的xml文件進行解析,把xml數(shù)據(jù)還原為報表的格式。如圖11所示。
圖9 導(dǎo)出后的xml數(shù)據(jù)片段
圖10 加密后的xml文件片段
圖11 數(shù)據(jù)呈現(xiàn)解密
本文根據(jù)當前產(chǎn)業(yè)鏈協(xié)同SaaS平臺中的現(xiàn)有優(yōu)點和不足,分析SaaS平臺中建立數(shù)據(jù)服務(wù)的必要性,并且提出了產(chǎn)業(yè)鏈協(xié)同SaaS平臺中數(shù)據(jù)服務(wù)建立的具體流程。通過數(shù)據(jù)分片的技術(shù)對企業(yè)的不同的業(yè)務(wù)單進行整合,并把整合后的數(shù)據(jù)保存在xml文件,同時采用混合加密的方式對xml文件加密保證數(shù)據(jù)傳輸?shù)陌踩?。最后售后服?wù)系統(tǒng)進行結(jié)合進行驗證。既保證了平臺中數(shù)據(jù)歸檔處理策略,同時也滿足了企業(yè)用戶對平臺數(shù)據(jù)庫中歷史數(shù)據(jù)查看和操作的要求。
未來的工作中在XML加密、解密以及文件解析,數(shù)據(jù)本地化的呈現(xiàn)方面進行研究,將數(shù)據(jù)以可配置報表的形式展現(xiàn)給用戶。
[1]Jia Zhe,Pang Lei,Luo Shoushan,et al.A privacy-preserving access control protocol database as a service [C]//International Conference on Computer Science and Service System,2012:849-54.
[2]Tian X,Wang X,Gao M,et al.Database as a service–security and privacy preserving [J].Journal of Software,2010,21 (5):991-1006.
[3]Vu Q H,Pham T V,Truong H L,et al.DEMODS:A description model for data-as-a-service[C]//IEEE 26th International Conference on Advanced Information Networking and Applications,2012:605-612.
[4]Zhang K,Zhang X,Sun W,et al.A policy-driven approach for software-as-services customization[C]//The 9th IEEE International Conference on E-Commerce Technology and the 4th IEEE International Conference on Enterprise Computing,ECommerce,and E-Services,2007:123-130.
[5]Wang X,Zhou A,Ng W.A cooperative framework for XML database-as-a-service[J].International Journal of Business Process Integration and Management,2009,4 (4):266-273.
[6]Sellami M,Gaaloul W,Defude B.Data mapping web services for composite DaaS mediation [C]//Enabling Technologies:IEEE 21st International Workshop on Infrastructure for Collaborative Enterprises,2012:36-41.
[7]Jurczyk P,Xiong L.Dynamic query processing for p2p data services in the cloud [C]//Database and Expert Systems Applications.Springer Berlin Heidelberg,2009:396-411.
[8]WANG Shuying.Adaptive SaaS platform supporting industrial chain collaboration evolution technology [J].Journal of Southwest Jiao Tong University,2012,47 (1):39-45 (in Chinese).[王淑營.支撐產(chǎn)業(yè)鏈協(xié)同的SaaS平臺自適應(yīng)演化技術(shù) [J].西南交通大學(xué)學(xué)報,2012,47 (1):39-45.]
[9]ZHAO Jun,ZHANG Chunhai,LI Hua.Distributed database middleware XML data partitioning strategy[J].Computer Engineering and Design,2006,27 (3):466-468(in Chinese).[趙君,張春海,李華.基于XML中間件的分布式數(shù)據(jù)庫的數(shù)據(jù)分片策略[J].計算機工程與設(shè)計,2006,27 (3):466-468.]
[10]FAN Jie,SHANG Zengguang.The application of XML security technology in electronic document exchange [J].Computer Engineering and Design,2010,30 (18):4214-4216 (in Chinese). [范潔,尚增光.XML 安全技術(shù)在電子公文交換系統(tǒng)中的應(yīng)用 [J].計算機工程與設(shè)計,2010,30 (18):4214-4216.]
[11]CHEN Kang,ZHENG Weimin.Cloud computing:Examples and the present research situation of system [J].Journal of Software,2009,20 (5):97-100 (in Chinese). [陳康,鄭緯民.云計算:系統(tǒng)實例與研究現(xiàn)狀 [J].軟件學(xué)報,2009,20 (5):97-100.]