當(dāng)前位置:工程項目OA系統(tǒng) > 泛普各地 > 四川OA系統(tǒng) > 成都OA系統(tǒng) > 成都OA信息化
集團企業(yè)ERP數(shù)據(jù)集中系統(tǒng)設(shè)計與實現(xiàn)
引言
集團企業(yè)是現(xiàn)代市場經(jīng)濟發(fā)展到一定階段的必然產(chǎn)物。隨著中國經(jīng)濟的迅速發(fā)展和企業(yè)大規(guī)模的兼并重組。出現(xiàn)了一大批具有較強市場競爭能力的大型集團企業(yè)。這些企業(yè)是中國經(jīng)濟發(fā)展的中堅力量,掌握著國家的經(jīng)濟命脈。
集團企業(yè)一般具有下述特征:
(1)以產(chǎn)權(quán)關(guān)系為紐帶,以母子公司為主體;
(2)金字塔式的層級組織結(jié)構(gòu);
(3)地域分散的多法人聯(lián)合體。
ERP軟件是現(xiàn)代管理技術(shù)和現(xiàn)代信息技術(shù)結(jié)合的產(chǎn)物,是集團企業(yè)實現(xiàn)信息集成、有效規(guī)范管理的重要使能技術(shù)。目前的集團企業(yè)ERP主要有兩種系統(tǒng)結(jié)構(gòu):集中式和分布式。集中式ERP一般是基于B/S結(jié)構(gòu)的多層應(yīng)用系統(tǒng),具有管理維護簡單、便于監(jiān)控下屬企業(yè)、數(shù)據(jù)集中、管理集中以及便于數(shù)據(jù)挖掘分析等優(yōu)點,相比分布式系統(tǒng)其缺點是可靠性相對較低,系統(tǒng)一旦出現(xiàn)問題會影響整個企業(yè)集團的業(yè)務(wù)運行。與集中式的B/S結(jié)構(gòu)的應(yīng)用系統(tǒng)相比,分布式的C/S系統(tǒng)可充分利用客戶機強大的處理能力,應(yīng)用功能更加豐富,運行效率也較高,但其缺點是數(shù)據(jù)相對分散,難以在整個集團企業(yè)范圍內(nèi)實現(xiàn)無重復(fù)、無沖突的共享,集團管理層也很難站在整個集團的高度對數(shù)據(jù)進行深度挖掘分析以作為輔助決策的依據(jù)。
從上面的分析可見,在分布式系統(tǒng)的基礎(chǔ)上實現(xiàn)數(shù)據(jù)集中可較好的結(jié)合二者的優(yōu)點,解決分布和集中的矛盾,使集團企業(yè)ERP在保持較高可靠性和運行效率的基礎(chǔ)上實現(xiàn)數(shù)據(jù)集中,更好的發(fā)揮ERP對企業(yè)管理的提升作用。為實現(xiàn)此目的,筆者設(shè)計了一個基于通訊中間件的數(shù)據(jù)集中應(yīng)用系統(tǒng),該系統(tǒng)主要運行于ERP的后臺數(shù)據(jù)庫服務(wù)器上。
1、總體設(shè)計
erp系統(tǒng)的數(shù)據(jù)可分為三類:公有基礎(chǔ)字典、私有基礎(chǔ)字典、一般業(yè)務(wù)數(shù)據(jù)。公有基礎(chǔ)字典需要在整個企業(yè)集團內(nèi)共享,比如集團企業(yè)的組織機構(gòu)信息、集團公有會計科目、集團公有報表格式和公式等。公有基礎(chǔ)字典是集團實現(xiàn)規(guī)范管理的基礎(chǔ),在整個集團企業(yè)內(nèi)保持一致,一般由集團總部統(tǒng)一維護,然后統(tǒng)一下發(fā)到各下屬單位,除非總部授權(quán),一般下屬單位沒有維護權(quán)限。私有基礎(chǔ)字典是需要各分支單位根據(jù)其業(yè)務(wù)特點和經(jīng)營范圍自行維護的基礎(chǔ)數(shù)據(jù),比如本單位組織結(jié)構(gòu)、人員信息、私有會計科目、往來單位、設(shè)備、BOM、工藝路線、能力參數(shù)等信息。私有基礎(chǔ)字典雖然由各單位自行維護,但需要遵守集團統(tǒng)一的編碼和命名規(guī)范。同時部分私有基礎(chǔ)字典也可能被其他單位所引用,也需要在整個集團內(nèi)共享。公有基礎(chǔ)字典和私有基礎(chǔ)字典的共同特點是數(shù)據(jù)量小、更新頻率低。一般業(yè)務(wù)數(shù)據(jù)是企業(yè)日常經(jīng)營活動所產(chǎn)生的數(shù)據(jù),比如企業(yè)的生產(chǎn)、物流、財務(wù)等信息。這類數(shù)據(jù)的特點是數(shù)據(jù)量大、更新頻率高,除在有經(jīng)濟往來的單位外,一般不需要在各同級的單位之間共享,但需要匯總到上級單位和集團總部進行數(shù)據(jù)挖掘和數(shù)據(jù)分析,以作為決策支持的依據(jù)。
針對不同的數(shù)據(jù),系統(tǒng)采用不同的數(shù)據(jù)復(fù)制策略。對于公有基礎(chǔ)字典數(shù)據(jù)采用只下載不上傳的策略;對于需要全局共享的私有基礎(chǔ)字典定時的上傳和下載,以保持?jǐn)?shù)據(jù)在整個集團的一致性,對不需要全局共享的私有基礎(chǔ)數(shù)據(jù)處理方法等同于一般業(yè)務(wù)數(shù)據(jù);對業(yè)務(wù)數(shù)據(jù)一般采取只上傳不下載的策略,有業(yè)務(wù)往來的單位之間采用定點傳輸?shù)姆绞綄崿F(xiàn)數(shù)據(jù)共享。對于部分業(yè)務(wù)數(shù)據(jù)比如物流、庫存等數(shù)據(jù),需要通過廣域網(wǎng)的方式到其他單位查詢相關(guān)數(shù)據(jù),如果這種異地請求過于頻繁,將會嚴(yán)重影響數(shù)據(jù)庫服務(wù)器的處理性能和業(yè)務(wù)處理的響應(yīng)時間,因此對庫存等部分業(yè)務(wù)數(shù)據(jù)也采用全局復(fù)制的方式,即在所有數(shù)據(jù)庫服務(wù)器之間進行同步復(fù)制。
系統(tǒng)還采用了通訊中間件以實現(xiàn)地域分散的各子(分)公司之間以及他們與集團總部的通訊。通訊中間件可采用IBM的MQ消息中間件或國內(nèi)廠商的一些成熟產(chǎn)品。通訊中間件運行于系統(tǒng)中所有的數(shù)據(jù)庫服務(wù)器和部分進行業(yè)務(wù)處理的微機上,其作用是屏蔽硬件和網(wǎng)絡(luò)傳輸機制以及操作系統(tǒng)的差異,為軟件系統(tǒng)間的通信建立一個基于命名服務(wù)的虛擬網(wǎng)絡(luò)。
根據(jù)集團企業(yè)呈典型的樹狀結(jié)構(gòu)的組織機構(gòu)特點,對每個子(分)公司給予邏輯上統(tǒng)一的上下級節(jié)點編碼,不同單位之間的數(shù)據(jù)復(fù)制只針對其直接上下級節(jié)點進行,這樣逐級進行,最終在全網(wǎng)內(nèi)實現(xiàn)數(shù)據(jù)復(fù)制。在增加一個網(wǎng)絡(luò)節(jié)點時,只需按統(tǒng)一的編碼規(guī)則對其進行編碼,在接入網(wǎng)絡(luò)后,即可實現(xiàn)對該節(jié)點的復(fù)制。
對于某些特定業(yè)務(wù),比如統(tǒng)計查詢,如果涉及到對海量數(shù)據(jù)的處理,直接通過前臺軟件來處理可能需要很長的時間,因此有必要利用服務(wù)器強大的處理能力,根據(jù)具體需要對數(shù)據(jù)進行一定的預(yù)處理(包括及時或定時處理)得到一些中間處理結(jié)果,這樣有利于縮短系統(tǒng)對這些特定業(yè)務(wù)的響應(yīng)時間。
2、系統(tǒng)實現(xiàn)技術(shù)
數(shù)據(jù)集中系統(tǒng)的實現(xiàn)技術(shù)主要包括兩方面:數(shù)據(jù)報文的組成和數(shù)據(jù)復(fù)制方法。
2.1、數(shù)據(jù)報文
數(shù)據(jù)報文格式的定義對數(shù)據(jù)集中程序的編碼和維護起著至關(guān)重要的作用,它決定了對數(shù)據(jù)的打包和解包的方式以及對數(shù)據(jù)處理的各個方面。
在報文的壓縮和加密方面,系統(tǒng)將直接利用通訊中間件提供的壓縮機制和安全管理功能。數(shù)據(jù)加密是通過某種算法對數(shù)據(jù)進行編碼防止信息被非法獲取,比較常用的方法都是基于復(fù)雜的算法,通過密鑰來對進行數(shù)據(jù)加密,主要的算法有DESTriple、DES、RC2/RC4/RC5、RSA等。
在報文格式方面,由于ERP中需要復(fù)制業(yè)務(wù)數(shù)據(jù)類型較多,有大量的基礎(chǔ)數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)在各分支機構(gòu)數(shù)據(jù)庫服務(wù)器之間進行復(fù)制,因此有必要對報文格式采用統(tǒng)一的編碼規(guī)則,以便于數(shù)據(jù)集中系統(tǒng)中報文處理模塊的維護。
下面對報文格式中各個部分作用加以詳細(xì)說明:
(1)業(yè)務(wù)類型:指明報文的業(yè)務(wù)類型,它決定了對哪一個數(shù)據(jù)表進行操作,由4個字節(jié)構(gòu)成:第一個字節(jié):表示子系統(tǒng)編號,如:①生產(chǎn)系統(tǒng);②物流系統(tǒng);③財務(wù)系統(tǒng);④人事系統(tǒng)等。第二個字節(jié):表示子系統(tǒng)中的業(yè)務(wù)類編號,如:①公有基礎(chǔ)字典;②私有基礎(chǔ)字典;③一般業(yè)務(wù)數(shù)據(jù)。第三、四兩個字節(jié):表示子系統(tǒng)中的某種業(yè)務(wù)類中具體數(shù)據(jù)類型的編號:0l一50為需要全網(wǎng)復(fù)制的數(shù)據(jù);51—70為逐級向上復(fù)制的數(shù)據(jù);71—80為需要逐級向下復(fù)制的數(shù)據(jù);81—99為定點復(fù)制的數(shù)據(jù)。
例如,如果報文頭為1301,則說明報文數(shù)據(jù)為生產(chǎn)系統(tǒng)中的需要全網(wǎng)復(fù)制的業(yè)務(wù)數(shù)據(jù)中某個數(shù)據(jù)表的編號。
(2)消息類型:指明報文內(nèi)容是需要復(fù)制的原始數(shù)據(jù)信息還是返回的確認(rèn)信息,用以表明對報文的處理方式,由一個字節(jié)構(gòu)成:
s:表示需要復(fù)制的原始數(shù)據(jù)信息(Source)。
R:表示返回確認(rèn)信息(Resu]t),指數(shù)據(jù)接收方對成功處理的數(shù)據(jù)返回數(shù)據(jù)發(fā)送方的確認(rèn)信息。
數(shù)據(jù)集中系統(tǒng)在通信環(huán)節(jié)中采用了消息中間件,在進行數(shù)據(jù)復(fù)制的過程中,大致需要經(jīng)過以下環(huán)節(jié):數(shù)據(jù)提取一數(shù)據(jù)打包一調(diào)用中間件通訊函數(shù)發(fā)送消息一數(shù)據(jù)接收方中間件接收到消息一后臺守護進程從中間件消息隊列中檢索到消息一數(shù)據(jù)解包一保存數(shù)據(jù)一返回確認(rèn)信息一發(fā)送方接收并處理確認(rèn)信息。在上述環(huán)節(jié)中任一環(huán)節(jié)出現(xiàn)錯誤就會導(dǎo)致復(fù)制的失敗,其最終表現(xiàn)為對數(shù)據(jù)的復(fù)制沒有得到確認(rèn),必須x,l-相應(yīng)的數(shù)據(jù)進行重新復(fù)制。因此,在數(shù)據(jù)接收方處理數(shù)據(jù)后,對處理不成功的數(shù)據(jù)就沒有必要返回確認(rèn)信息,因為數(shù)據(jù)的復(fù)制沒有收到確認(rèn)信息,必然會重新復(fù)制。
(3)操作類型:指明對報文進行操作的類型,由1個字節(jié)構(gòu)成。yj,-為以下幾種類型:I:表示插入操作(Insert),指新增一條新的數(shù)據(jù)信息。
U:表示更新操作(Update),指更新原有的一條數(shù)據(jù)信息。
D:表示刪除操作(Delete),指刪除原有的一條數(shù)據(jù)信息。
(4)報文長度:指明報文的總長度,由6個字節(jié)構(gòu)成。即能標(biāo)識的最大報文長度為999.999K字節(jié)。
(5)記錄數(shù):指明報文中的總記錄數(shù),由2個字節(jié)構(gòu)成。
增加該部分內(nèi)容主要是為了便于系統(tǒng)解包模塊的處理:可以根據(jù)該信息很容易地從報文中分離出各條單項記錄數(shù)據(jù)。每個報文最多能包含99條記錄。如果報文包含BINARY、IMAGE和TEXT數(shù)據(jù)類型,由于這種數(shù)據(jù)信息量一般較大,所以每個報文只包含一條記錄。雖然可以不包含這部分內(nèi)容,但為了報文格式的統(tǒng)一,仍予以保留,只是其內(nèi)容恒為“01”。
(6)報文數(shù)據(jù):包含報文中的有效數(shù)據(jù)。具有以下特點:
(1)報文數(shù)據(jù)按字節(jié)順序存儲。
(2)每條記錄前包含6個字節(jié),用來表示該記錄的實際長度。因此,每條記錄的最大長度為999.999K字節(jié)。
對BINARY、IMAGE和TEXT等BLOB數(shù)據(jù)類型而言,不能也不必用4個字節(jié)來表示其長度,但為了報文格式的統(tǒng)一,仍予以保留,只是其內(nèi)容恒為“0000”。如果解包程序檢測到記錄數(shù)為1且記錄長度為“0000”,即可知該記錄包含BLOB數(shù)據(jù)類型。
2.2、數(shù)據(jù)復(fù)制方法
為了實現(xiàn)數(shù)據(jù)的高效、安全、完整的復(fù)制,根據(jù)業(yè)務(wù)類型的特點,采用以下方式:
(1)針對每個需要復(fù)制的數(shù)據(jù)表建立一個任務(wù)分發(fā)表;
(2)用觸發(fā)器適時生成分發(fā)任務(wù);
(3)用守護進程定時或定點對分發(fā)表中的分發(fā)任務(wù)進行分發(fā)。
2.2.1、任務(wù)分發(fā)表
由于絕大多數(shù)數(shù)據(jù)都需進行多路分發(fā),即需要分發(fā)到多個網(wǎng)絡(luò)節(jié)點,而且對各節(jié)點的分發(fā)不可能一次性地分發(fā)成功,很可能只是部分分發(fā)成功,因此必須跟蹤每條信息對每個節(jié)點的分發(fā)狀態(tài)。同時為了減少對原數(shù)據(jù)表的操作量(大部分業(yè)務(wù)數(shù)據(jù)表的數(shù)據(jù)量較大,如果經(jīng)常對原數(shù)據(jù)表進行掃描,將嚴(yán)重影響數(shù)據(jù)庫的性能),針對每個需要進行多路分發(fā)的數(shù)據(jù)表建立一個任務(wù)分發(fā)表,在任務(wù)分發(fā)表中存放原數(shù)據(jù)表的全部字段信息,并增加一個機構(gòu)節(jié)點標(biāo)識字段,表示需要對哪些目標(biāo)單位進行分發(fā)。任務(wù)表中應(yīng)包含需要分發(fā)的節(jié)點信息和數(shù)據(jù)信息。數(shù)據(jù)集中系統(tǒng)直接從任務(wù)分發(fā)表中按節(jié)點標(biāo)識分組提取分發(fā)信息并進行打包發(fā)送。為了統(tǒng)一操作,對任務(wù)分發(fā)表采用統(tǒng)一的命名規(guī)范,即任務(wù)分發(fā)表的表名統(tǒng)一由原數(shù)據(jù)表的表名加上后綴“-RW”構(gòu)成。
2.2.2、分發(fā)任務(wù)的形成和任務(wù)分發(fā)
任務(wù)分發(fā)表中存放著所有需要進行分發(fā)的數(shù)據(jù)信息,因此,如何正確形成分發(fā)任務(wù)是整個復(fù)制過程中非常重要的一個環(huán)節(jié)。在設(shè)計中采用的方法是通過觸發(fā)器來產(chǎn)生分發(fā)任務(wù)的,它建立在插入操作(Insert)和更新操作(Update)基礎(chǔ)之上。
觸發(fā)器通過以下步驟確定需要對哪些節(jié)點產(chǎn)生分發(fā)并生成分發(fā)任務(wù)表:
(1)獲取本地數(shù)據(jù)庫服務(wù)器通訊中間件節(jié)點名稱;
(2)通過本地節(jié)點名稱獲取上下級節(jié)點名稱。如果本地機構(gòu)代碼等于上級機構(gòu)代碼,則說明該節(jié)點為頂級節(jié)點,觸發(fā)器將不對上級節(jié)點產(chǎn)生分發(fā)信息。
(3)觸發(fā)器根據(jù)所操作的數(shù)據(jù)需要復(fù)制的范圍(全網(wǎng)、向上、向下、定點復(fù)制)生成相應(yīng)的記錄到任務(wù)分發(fā)表。
2.2.3、數(shù)據(jù)復(fù)制流程
數(shù)據(jù)復(fù)制流程包括數(shù)據(jù)分發(fā)處理流程和數(shù)據(jù)接收處理流程,流程圖如下:
(1)數(shù)據(jù)分發(fā)處理流程圖
數(shù)據(jù)復(fù)制前應(yīng)首先設(shè)定固定的開始時間和輪循次數(shù),開始時間一般設(shè)在零點,從而減輕數(shù)據(jù)復(fù)制對業(yè)務(wù)系統(tǒng)的影響。達(dá)到設(shè)定的開始H,1間后,系統(tǒng)開始檢索分發(fā)任務(wù)表,如果分發(fā)任務(wù)表存在需要分發(fā)的數(shù)據(jù)并且尚未達(dá)到設(shè)定的輪循次數(shù)的上限,系統(tǒng)則按分發(fā)目的地址檢索出分發(fā)信息并按報文格式進行打包分發(fā)。如果沒有分發(fā)任務(wù)或超過輪循次數(shù)的上限則結(jié)束數(shù)據(jù)分發(fā)流程等待下次開始時間。
(2)數(shù)據(jù)接收處理流程圖
數(shù)據(jù)接收端程序為一后臺守護進程,當(dāng)守護進程檢測到通訊中間件發(fā)過來的數(shù)據(jù)報文時,首先提取報文頭并根據(jù)報文頭確定報文類型、報文長度等信息,從而調(diào)用相應(yīng)的報文處理模塊。如果消息類型是接收端數(shù)據(jù)更新成功后發(fā)過來的確認(rèn)信息,則刪除分發(fā)任務(wù)表中已經(jīng)發(fā)送成功的數(shù)據(jù)并等待新的數(shù)據(jù)報文。如果消息類型是需要復(fù)制的原始數(shù)據(jù),則調(diào)用數(shù)據(jù)更新模塊將數(shù)據(jù)報文中的數(shù)據(jù)逐條更新到相應(yīng)的數(shù)據(jù)庫表,如果更新成功則生成確認(rèn)信息并將確認(rèn)信息打包成數(shù)據(jù)報文發(fā)送回數(shù)據(jù)發(fā)送端,出現(xiàn)異常更新不成功則放棄該報文,數(shù)據(jù)發(fā)送端在沒有收到確認(rèn)消息的情況下會重新發(fā)送數(shù)據(jù),直到成功。
3、結(jié)束語
分布式集團企業(yè)ERP數(shù)據(jù)集中系統(tǒng)可實現(xiàn)集團公司總部與下屬公司的ERP軟件數(shù)據(jù)復(fù)制,以保持它們之間數(shù)據(jù)的一致性和完整性;另外,針對海量數(shù)據(jù)查詢業(yè)務(wù),系統(tǒng)還提供一定的預(yù)處理功能,以提高查詢效率。在分布式系統(tǒng)的基礎(chǔ)上實現(xiàn)數(shù)據(jù)集中可較好的解決分布和集中的矛盾,使集團企業(yè)ERP在保持較高可靠性和高運行效率的基礎(chǔ)上實現(xiàn)數(shù)據(jù)集中、應(yīng)用集中、管理集中,更好的發(fā)揮ERP作為企業(yè)管理信息平臺的作用。
- 1家居裝修定制木門:應(yīng)嚴(yán)格把關(guān)各個環(huán)節(jié)
- 2如何選定流程績效評價切入點
- 3云計算改變外包服務(wù)模式
- 4佛山將量產(chǎn)LED芯片 5年內(nèi)產(chǎn)值或超10億
- 5賽德水泥擬建設(shè)5000t/d熟料水泥生產(chǎn)線
- 6建材選購:如何巧選油漆?簡易挑選3招
- 7淺談:歐盟反傾銷案對佛山陶瓷行業(yè)影響
- 8vSphere安全策略之許可、角色分配、權(quán)限管理
- 9精益生產(chǎn)模式的最大優(yōu)勢
- 10衛(wèi)浴五金重劃準(zhǔn)入門檻 六升以上座便器將退出
- 11誰來主導(dǎo)ERP實施?
- 122011年涂料經(jīng)銷商正在面臨“四大困局”
- 13IT運營管理如何才能變高效?
- 14由櫥柜的發(fā)展試論中國櫥柜的發(fā)展方向
- 15寧波象山漁山島綠化造林項目啟動
- 162010年酒鋼本部已基本實現(xiàn)節(jié)水800萬m3
- 17訂單下滑 寶鋼股份下調(diào)5月份鋼材出廠價
- 18LED道路照明是否節(jié)能 還需具備一定條件
- 19大部分沒漲價木門企業(yè)五一過后可能提價
- 20墻面涂料環(huán)保面面觀 能讓你家遠(yuǎn)離污染
- 21XX公司OA實施項目6月第一周例會會議紀(jì)要
- 22城鄉(xiāng)一體化使陶瓷衛(wèi)浴企業(yè)孕育新契機
- 23家具經(jīng)銷存在潛規(guī)則 消費者需謹(jǐn)慎的4個地方
- 242010年天津水泥使用量增長率約為兩成
- 25實木家具銷量持續(xù)上升 板式家具面臨挑戰(zhàn)
- 26讓BI中讓收入利潤的反應(yīng)更直觀
- 27節(jié)能灶當(dāng)屬紅外線燃?xì)庠罹咦罟?jié)能環(huán)保
- 28BI部署中不可或缺的三大要素
- 29石材出口遭不當(dāng)索賠 呼吁建驗貨及標(biāo)準(zhǔn)
- 30福建省今年綠化投資40多億 讓城市更綠更美
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓