數(shù)據(jù)交換平臺(tái)方案v1.1.5_第1頁(yè)
數(shù)據(jù)交換平臺(tái)方案v1.1.5_第2頁(yè)
數(shù)據(jù)交換平臺(tái)方案v1.1.5_第3頁(yè)
數(shù)據(jù)交換平臺(tái)方案v1.1.5_第4頁(yè)
數(shù)據(jù)交換平臺(tái)方案v1.1.5_第5頁(yè)
已閱讀5頁(yè),還剩107頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)交換平臺(tái)設(shè)計(jì)說(shuō)明書(shū)文件編號(hào)TH-DEP-TD-01文件狀態(tài) 草稿 正式發(fā)布 正在修改當(dāng)前版本1.1修訂歷史記錄 A - 增加 M - 修訂 D - 刪除變更版本號(hào)日期變更類型(A*M*D)修改人摘 要目錄1. 引言71.1 編寫目的71.2背景71.3 術(shù)語(yǔ)與縮寫解釋81.4 參考資料82. 概要設(shè)計(jì)82.1 平臺(tái)設(shè)計(jì)與定位82.1.1 概述82.1.2 與現(xiàn)有系統(tǒng)的關(guān)系102.2 硬件與網(wǎng)絡(luò)122.2.1 核心硬件和網(wǎng)絡(luò)122.2.2 外圍硬件與網(wǎng)絡(luò)132.2.3 網(wǎng)絡(luò)互聯(lián)的安全132.2.4 節(jié)點(diǎn)部署說(shuō)明142.2.2 軟件系統(tǒng)152.3 核心軟件系統(tǒng)結(jié)構(gòu)162.3.2 第三方數(shù)據(jù)源1

2、72.3.2 數(shù)據(jù)接口層182.3.3 傳輸控制層192.3.4 數(shù)據(jù)處理層202.3.5 交換數(shù)據(jù)庫(kù)212.3.6 數(shù)據(jù)展現(xiàn)界面212.3.7 數(shù)據(jù)應(yīng)用接口222.3.8 上下級(jí)系統(tǒng)數(shù)據(jù)共享222.3.9 數(shù)據(jù)交換標(biāo)準(zhǔn)222.4 核心軟件系統(tǒng)設(shè)計(jì)原則242.4.1 自動(dòng)化數(shù)據(jù)交換242.4.2 可定制數(shù)據(jù)交換242.4.3 多重方式數(shù)據(jù)的展現(xiàn)與利用252.4.4 數(shù)據(jù)全生命周期管理252.4.5 數(shù)據(jù)字段業(yè)務(wù)標(biāo)準(zhǔn)262.5 數(shù)據(jù)存儲(chǔ)設(shè)計(jì)262.6 數(shù)據(jù)流管理設(shè)計(jì)273. 技術(shù)架構(gòu)設(shè)計(jì)283.1 概述283.2 基礎(chǔ)組件293.2.1 Spring Framework293.2.2 Swim

3、Framework303.2.3 Piston遠(yuǎn)程數(shù)據(jù)交換中間件323.3 領(lǐng)域模型和邏輯設(shè)計(jì)343.3.1 概述343.3.2 任務(wù)調(diào)度引擎343.3.3 規(guī)則處理引擎373.3.4 系統(tǒng)核心功能設(shè)計(jì)概述433.3.5 數(shù)據(jù)導(dǎo)入設(shè)計(jì)433.3.6 數(shù)據(jù)加工設(shè)計(jì)513.3.7 數(shù)據(jù)應(yīng)用設(shè)計(jì)583.3.8 數(shù)據(jù)上傳和下發(fā)設(shè)計(jì)643.3.9 任務(wù)監(jiān)控管理中心設(shè)計(jì)713.3.10 系統(tǒng)權(quán)限設(shè)計(jì)723.3.11 數(shù)據(jù)權(quán)限設(shè)計(jì)753.3.12 數(shù)據(jù)標(biāo)準(zhǔn)設(shè)計(jì)763.3.13 現(xiàn)有系統(tǒng)集成設(shè)計(jì)783.3.14 數(shù)據(jù)使用反饋設(shè)計(jì)794. 系統(tǒng)功能設(shè)計(jì)814.1 概述814.2 數(shù)據(jù)交換部分824.2.1 數(shù)據(jù)

4、交換流程834.2.2 交換項(xiàng)目設(shè)置834.2.3 交換項(xiàng)目調(diào)度894.2.4 交換項(xiàng)目的監(jiān)控894.2.5 數(shù)據(jù)交換的一些原則914.3 數(shù)據(jù)加工部分914.3.1 數(shù)據(jù)加工流程924.3.2自動(dòng)匹配934.3.3 手工匹配984.3.4手工撤銷匹配994.3.5 數(shù)據(jù)匹配綜合管理1004.4 數(shù)據(jù)應(yīng)用部分1014.4.1 數(shù)據(jù)字典查詢1024.4.2 交換項(xiàng)目情況查詢1034.4.3 按交換項(xiàng)目的簡(jiǎn)單數(shù)據(jù)查詢1034.4.4 單戶明細(xì)信息查詢1044.4.5 數(shù)據(jù)輸出接口1044.4.6 對(duì)于異地?cái)?shù)據(jù)交換的說(shuō)明1054.4.7 成果展示1054.4.8數(shù)據(jù)利用反饋展現(xiàn)1064.5 數(shù)據(jù)上傳

5、下發(fā)1074.5.1 數(shù)據(jù)上傳1074.5.2 數(shù)據(jù)下發(fā)1084.5.3系統(tǒng)全景圖查詢1084.6 系統(tǒng)設(shè)置和管理部分1094.6.1 層級(jí)管理1094.6.2 崗位設(shè)置1104.6.3 權(quán)限管理1114.6.4 代碼表設(shè)置1114.6.5 交換項(xiàng)目設(shè)置備份和恢復(fù)1111. 引言1.1 編寫目的根據(jù)江蘇地稅第三方數(shù)據(jù)交換平臺(tái)系統(tǒng)需求思路以及多次需求和技術(shù)討論會(huì),特別是3月份和7月份演示討論會(huì)后,依據(jù)省局領(lǐng)導(dǎo)的意見(jiàn),形成該三方數(shù)據(jù)交換平臺(tái)的技術(shù)設(shè)計(jì)說(shuō)明書(shū)。該文檔把三方數(shù)據(jù)交互平臺(tái)的技術(shù)和功能方面的設(shè)計(jì),通過(guò)文字和圖表明確的表述出來(lái),以供領(lǐng)導(dǎo)審閱。同時(shí),也依據(jù)該設(shè)計(jì)文檔,進(jìn)行下一步的設(shè)計(jì)和開(kāi)發(fā)工作

6、。1.2 背景根據(jù)省局關(guān)于委托常州地方稅務(wù)局開(kāi)發(fā)“第三方數(shù)據(jù)交換平臺(tái)項(xiàng)目”的通知的要求,立足于全省地稅系統(tǒng)應(yīng)用和管理的實(shí)際情況,開(kāi)發(fā)建設(shè)具有通用性、適應(yīng)性強(qiáng)的數(shù)據(jù)交換平臺(tái)。 該平臺(tái)是支撐稅源專業(yè)改革新模式的重要數(shù)據(jù)平臺(tái),為風(fēng)險(xiǎn)管理平臺(tái)和日常稅源監(jiān)控及稅收分析提供了強(qiáng)大的第三方信息庫(kù)。該平臺(tái)的開(kāi)發(fā)立足于第三方信息進(jìn)得來(lái)、管得住、整合得好,為風(fēng)險(xiǎn)平臺(tái)的后期數(shù)據(jù)應(yīng)用及其它業(yè)務(wù)需求提供可靠的信息源,為稅源專業(yè)化改革的深化推進(jìn)提供重要的支撐平臺(tái)。1.3 術(shù)語(yǔ)與縮寫解釋縮寫、術(shù)語(yǔ)解 釋ETLExtract,transform and load. 數(shù)據(jù)處理的三個(gè)環(huán)節(jié):抽取、轉(zhuǎn)換與裝載。MVCModel,vi

7、ew and controller. 一種系統(tǒng)設(shè)計(jì)的常用模式:模型、視圖、控制器。IOCInversion of control. 控制反轉(zhuǎn),面向?qū)ο笤O(shè)計(jì)的一種模式。AOPAspect Oriented Programming. 面向切面編程,軟件設(shè)計(jì)的一種方法。RPCRemote procedure call. 遠(yuǎn)程過(guò)程調(diào)用,一種協(xié)議和程序調(diào)用方式,使得遠(yuǎn)程程序的調(diào)用跟本地程序調(diào)用在調(diào)用者角度沒(méi)有差異。1.4 參考資料江蘇地稅第三方數(shù)據(jù)交換平臺(tái)系統(tǒng)需求思路2. 概要設(shè)計(jì)2.1 平臺(tái)設(shè)計(jì)與定位2.1.1 概述從核心數(shù)據(jù)處理功能來(lái)講,三方數(shù)據(jù)交換平臺(tái)設(shè)計(jì)實(shí)現(xiàn)為一個(gè)數(shù)據(jù)ETL(Extract Tr

8、ansform Load)平臺(tái),該平臺(tái)首先從定義好的第三方數(shù)據(jù)源抽?。‥xtract)數(shù)據(jù),然后經(jīng)過(guò)轉(zhuǎn)換(Transform)處理進(jìn)入平臺(tái)系統(tǒng),最后通過(guò)一定的技術(shù)手段裝載(Load)為可以直接應(yīng)用的數(shù)據(jù),如下圖所示。數(shù)據(jù)ETL過(guò)程圖三方數(shù)據(jù)交換平臺(tái)是一個(gè)專注于數(shù)據(jù)處理的技術(shù)平臺(tái),它將提供豐富的數(shù)據(jù)導(dǎo)入、處理和應(yīng)用方式,充分考慮多種應(yīng)用場(chǎng)合,實(shí)現(xiàn)方便的定制功能,使得操作人員在數(shù)據(jù)處理層面上有多種多樣的選擇方式,可以根據(jù)不同數(shù)據(jù)來(lái)源和去向定制各異的數(shù)據(jù)導(dǎo)入、加工與應(yīng)用規(guī)則。三方數(shù)據(jù)交換平臺(tái)也是一個(gè)相對(duì)獨(dú)立的系統(tǒng),它與其它系統(tǒng)之間沒(méi)有業(yè)務(wù)上的直接耦合關(guān)系,對(duì)外它只提供數(shù)據(jù)的輸入接口和輸出接口,僅僅是

9、數(shù)據(jù)的采集和提供者。所有的數(shù)據(jù)業(yè)務(wù)關(guān)系,是通過(guò)平臺(tái)的使用人員通過(guò)不同的數(shù)據(jù)處理規(guī)則去定制實(shí)現(xiàn)的。在這種機(jī)制下,業(yè)務(wù)規(guī)則不是固化在平臺(tái)實(shí)現(xiàn)里,從而提供了極大的靈活性,增強(qiáng)了系統(tǒng)的可使用性。下面的三方數(shù)據(jù)交換平臺(tái)示意圖比較直觀的顯示了上述內(nèi)容。三方數(shù)據(jù)交換平臺(tái)示意圖通俗來(lái)講,三方數(shù)據(jù)交換平臺(tái)可以視作一個(gè)數(shù)據(jù)加工廠和數(shù)據(jù)流橋梁。原始的三方數(shù)據(jù)相當(dāng)于原料,原料進(jìn)工廠(數(shù)據(jù)導(dǎo)入)以后,經(jīng)過(guò)加工過(guò)程(數(shù)據(jù)加工),成為可以發(fā)售的產(chǎn)品(可以應(yīng)用的數(shù)據(jù))。除了數(shù)據(jù)工廠作用以外,它還是數(shù)據(jù)流環(huán)節(jié)中的一個(gè)橋梁,通過(guò)這個(gè)橋梁,數(shù)據(jù)可以在不同的應(yīng)用系統(tǒng)之間進(jìn)行流動(dòng)。2.1.2 與現(xiàn)有信息系統(tǒng)的關(guān)系三方數(shù)據(jù)交換平臺(tái)建設(shè)的

10、初衷不是一個(gè)孤立的系統(tǒng),它是為了加工處理數(shù)據(jù),進(jìn)而為其他系統(tǒng)服務(wù)的。在現(xiàn)階段,可以預(yù)見(jiàn)的跟它有數(shù)據(jù)關(guān)系的系統(tǒng)包括政府公共信息網(wǎng)、省地等級(jí)別的相關(guān)數(shù)據(jù)系統(tǒng)(國(guó)稅、工商、供電、供水、社保、國(guó)土等等)以及地稅內(nèi)部現(xiàn)存的信息系統(tǒng),包括大集中系統(tǒng)、風(fēng)險(xiǎn)管理平臺(tái)等。三方數(shù)據(jù)交換平臺(tái)系統(tǒng)在這樣一種關(guān)系網(wǎng)絡(luò)中,處于中間地位,通過(guò)該平臺(tái)的建設(shè),打通數(shù)據(jù)在現(xiàn)有的這些系統(tǒng)之間的流動(dòng)路徑,使得原本孤立的這些信息孤島能夠連成一片,實(shí)現(xiàn)信息數(shù)據(jù)的共享和應(yīng)用。它是各個(gè)系統(tǒng)之間的紐帶,為建設(shè)綜合治稅這樣的大概念平臺(tái)打下了堅(jiān)實(shí)的基礎(chǔ)。三方數(shù)據(jù)交換平臺(tái)關(guān)系示意圖因?yàn)楝F(xiàn)存的系統(tǒng)各種各樣,對(duì)外的接口也不盡然相同,所以為了盡可能多的適

11、應(yīng)當(dāng)前系統(tǒng),在對(duì)當(dāng)前系統(tǒng)對(duì)外接口不做過(guò)多的改變的前提下(事實(shí)上,要對(duì)現(xiàn)有系統(tǒng)接口做修改在很多情況下沒(méi)有太大的可行性),三方數(shù)據(jù)交換平臺(tái)將會(huì)提供多種形式的數(shù)據(jù)輸入接口和輸出接口,這在后續(xù)將會(huì)詳細(xì)講述。因?yàn)楫?dāng)前需要接入的系統(tǒng)就很多,業(yè)務(wù)規(guī)則也千差萬(wàn)別,未來(lái)也可能有更多的系統(tǒng)接入,所以三方數(shù)據(jù)交換平臺(tái)不可能一開(kāi)始就設(shè)計(jì)好與其它系統(tǒng)之間的業(yè)務(wù)關(guān)系,否則接入一個(gè)新的系統(tǒng),平臺(tái)就要做相應(yīng)修改,這個(gè)工作量是不可想象的。所以,三方數(shù)據(jù)交換平臺(tái)設(shè)計(jì)為和其它系統(tǒng)之間并沒(méi)有直接的業(yè)務(wù)耦合關(guān)系,它只是提供了多種多樣的數(shù)據(jù)處理規(guī)則和方式,讓平臺(tái)系統(tǒng)的操作人員去動(dòng)態(tài)的定制,這樣間接的實(shí)現(xiàn)了業(yè)務(wù)規(guī)則的轉(zhuǎn)換,從而為多種不同業(yè)

12、務(wù)系統(tǒng)的接入,提供了可能性。站在其它系統(tǒng)的角度來(lái)看,三方數(shù)據(jù)交換平臺(tái)僅僅提供了數(shù)據(jù)的輸入和輸出接口。從三方數(shù)據(jù)交換平臺(tái)內(nèi)部來(lái)看,它提供了多種多樣的數(shù)據(jù)處理規(guī)則,通過(guò)這些規(guī)則的靈活定制,實(shí)現(xiàn)了數(shù)據(jù)的業(yè)務(wù)處理。 2.2 硬件與網(wǎng)絡(luò)2.2.1 核心硬件和網(wǎng)絡(luò)核心硬件與網(wǎng)絡(luò)是指本系統(tǒng)在稅務(wù)系統(tǒng)內(nèi)部的硬件與網(wǎng)絡(luò)部分。從宏觀來(lái)講,該平臺(tái)是一個(gè)分布式系統(tǒng),由地理位置上分離的各個(gè)數(shù)據(jù)交換平臺(tái)軟硬件系統(tǒng)節(jié)點(diǎn)組成。從單個(gè)數(shù)據(jù)交換平臺(tái)軟硬件系統(tǒng)節(jié)點(diǎn)來(lái)看,它又是一個(gè)自成體系的系統(tǒng)。所以,網(wǎng)絡(luò)和硬件的設(shè)計(jì)也必須按照數(shù)據(jù)交換業(yè)務(wù)的實(shí)際需求來(lái)設(shè)計(jì),實(shí)現(xiàn)互聯(lián)和安全訪問(wèn)。對(duì)于部署在不同地理位置的數(shù)據(jù)交換平臺(tái)軟硬件系統(tǒng),稱之為節(jié)

13、點(diǎn)。從上下級(jí)關(guān)系來(lái)看,系統(tǒng)的部署可以分為多個(gè)級(jí)次,每一級(jí)次都是由一個(gè)到多個(gè)節(jié)點(diǎn)組成。例如,在省、市兩級(jí)進(jìn)行部署,省、市分別為部署在本地的數(shù)據(jù)交換平臺(tái)軟件系統(tǒng)準(zhǔn)備合適的硬件平臺(tái)和網(wǎng)絡(luò)環(huán)境。另外,在網(wǎng)絡(luò)結(jié)構(gòu)上,具有上下級(jí)關(guān)系的節(jié)點(diǎn)之間的能實(shí)現(xiàn)相互訪問(wèn),而同級(jí)節(jié)點(diǎn)之間,則不一定需要直接進(jìn)行相互訪問(wèn)這樣的功能。在這一級(jí)別上,可以采用專網(wǎng)、防火墻等技術(shù)實(shí)現(xiàn)該平臺(tái)所需的分布式網(wǎng)絡(luò)。2.2.2 外圍硬件與網(wǎng)絡(luò)外圍硬件與網(wǎng)絡(luò)是指和第三方數(shù)據(jù)源直接有干系的硬件和網(wǎng)絡(luò)。因?yàn)榈谌綌?shù)據(jù)源的情況現(xiàn)在并不明朗,只有到具體接入實(shí)施的時(shí)候,才會(huì)知道具體的情況。所以,為了考慮兼容和接入不同的三方數(shù)據(jù)源,網(wǎng)絡(luò)接口的設(shè)計(jì)也需要具

14、有比較大的靈活性。關(guān)于外圍硬件與網(wǎng)絡(luò),需要在幾個(gè)不同的方面加以說(shuō)明。首先,在通信的發(fā)起上,分為主動(dòng)和被動(dòng)方式。主動(dòng)方式是指核心網(wǎng)絡(luò)主動(dòng)去訪問(wèn)第三方數(shù)據(jù)源,這一形式只能在第三方數(shù)據(jù)源提供了網(wǎng)絡(luò)連接支持,并開(kāi)放了訪問(wèn)權(quán)限的前提下,才能實(shí)現(xiàn),那么這需要第三方數(shù)據(jù)源提供接口主機(jī)并保證數(shù)據(jù)安全傳輸?shù)那疤嵯拢詫>W(wǎng)或公網(wǎng)為傳輸媒介進(jìn)行通信。被動(dòng)方式是指在核心網(wǎng)絡(luò)的外圍,提供可以訪問(wèn)的接口主機(jī),提供多種可以訪問(wèn)的手段,讓第三方數(shù)據(jù)源主動(dòng)發(fā)起數(shù)據(jù)通信。其次,在網(wǎng)絡(luò)的接口和互聯(lián)上可能有多種形式,包括直接互聯(lián)走專網(wǎng)的方式以及在公網(wǎng)上間接提供接口主機(jī)的形式。那么接口主機(jī)可能位于核心網(wǎng)絡(luò),也可能位于第三方數(shù)據(jù)源,這要

15、看通信由誰(shuí)發(fā)起來(lái)決定。2.2.3 網(wǎng)絡(luò)互聯(lián)的安全因?yàn)閿?shù)據(jù)交互牽涉到大量的保密數(shù)據(jù)的交換,所以在硬件互聯(lián)層面上,安全性也是非常核心的一環(huán)。在本系統(tǒng)設(shè)計(jì)和部署的時(shí)候,將嚴(yán)格按照地稅和相關(guān)其它部門的安全規(guī)范和規(guī)定,確保萬(wàn)無(wú)一失。另外一點(diǎn)就是,本系統(tǒng)只部署在安全網(wǎng)絡(luò)環(huán)境內(nèi),不考慮直接通過(guò)Internet和第三方數(shù)據(jù)源進(jìn)行交互,系統(tǒng)可以提供間接的方式,例如對(duì)外的Web上傳界面,F(xiàn)tp等,實(shí)現(xiàn)數(shù)據(jù)的采集,采集的數(shù)據(jù)通過(guò)異步方式轉(zhuǎn)移到核心系統(tǒng)內(nèi)。2.2.4 節(jié)點(diǎn)部署說(shuō)明如下圖所示,該數(shù)據(jù)交換平臺(tái)系統(tǒng)在宏觀上由部署在不同地理位置的多個(gè)節(jié)點(diǎn)組成,這些節(jié)點(diǎn)位于不同的層級(jí),一個(gè)層級(jí)對(duì)應(yīng)有一個(gè)到多個(gè)節(jié)點(diǎn)。所謂節(jié)點(diǎn)也就

16、是在一定的地理位置實(shí)際部署的軟硬件系統(tǒng)。層級(jí)分為省級(jí)和地市級(jí),所有在地域行政級(jí)別相同的節(jié)點(diǎn)屬于同一個(gè)層級(jí),例如南京市與常州市的市級(jí)部署節(jié)點(diǎn)它都屬于市一級(jí)的三方數(shù)據(jù)交換平臺(tái)系統(tǒng)。節(jié)點(diǎn)部署只是一個(gè)宏觀的概念,在實(shí)際部署中,對(duì)于要部署幾層、多少節(jié)點(diǎn),這個(gè)根據(jù)省局的安排和當(dāng)?shù)貙?shí)際業(yè)務(wù)情況來(lái)進(jìn)行。比如說(shuō)一個(gè)區(qū)(縣)可以選擇部署和不部署這樣的數(shù)據(jù)交換平臺(tái)系基于節(jié)點(diǎn)的網(wǎng)絡(luò)部署圖統(tǒng)。在不部署平臺(tái)系統(tǒng)的情況下,它可以直接訪問(wèn)上級(jí)機(jī)構(gòu)部署的節(jié)點(diǎn),實(shí)現(xiàn)數(shù)據(jù)的交換和數(shù)據(jù)利用。當(dāng)然這需要有一些前提條件:首先網(wǎng)絡(luò)要互聯(lián);另外還需在上級(jí)機(jī)構(gòu)的系統(tǒng)里進(jìn)行用戶設(shè)置和訪問(wèn)權(quán)限的設(shè)置。2.2.2 軟件系統(tǒng)軟件系統(tǒng)的主要包括操作系統(tǒng)

17、平臺(tái)、數(shù)據(jù)庫(kù)管理系統(tǒng)、Web及應(yīng)用服務(wù)器軟件,以及需要接下來(lái)設(shè)計(jì)和開(kāi)發(fā)完成數(shù)據(jù)導(dǎo)入、處理、應(yīng)用的核心軟件系統(tǒng)。這些軟件系統(tǒng)根據(jù)需求,依據(jù)硬件和網(wǎng)絡(luò)設(shè)置進(jìn)行分布式部署。操作系統(tǒng)可以為Windows的服務(wù)器版本或者Linux的服務(wù)器版本,但是本著效率、穩(wěn)定性等方面的考慮,推薦以Linux相關(guān)操作系統(tǒng)版本為主。數(shù)據(jù)庫(kù)軟件以O(shè)racle系列數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)進(jìn)行構(gòu)建。Web服務(wù)器推薦使用Nginx高性能服務(wù)器,另外包括Tomcat等Java應(yīng)用服務(wù)器以及所需要的Ftp服務(wù)器。以上的軟件只需部署安裝,按照系統(tǒng)實(shí)際運(yùn)行所需進(jìn)行相應(yīng)的配置即可。真正完成數(shù)據(jù)交換的核心軟件需要接下來(lái)開(kāi)發(fā)完成。從宏觀角度來(lái)看,它主

18、要由后臺(tái)數(shù)據(jù)自動(dòng)化處理組件和Web操作控制系統(tǒng)及數(shù)據(jù)展現(xiàn)應(yīng)用系統(tǒng)組成。 后臺(tái)數(shù)據(jù)自動(dòng)化處理組件將會(huì)被設(shè)計(jì)成后臺(tái)自動(dòng)運(yùn)行的模式,通過(guò)提前定義好的標(biāo)準(zhǔn)接口以及標(biāo)準(zhǔn)業(yè)務(wù)處理規(guī)則,完成數(shù)據(jù)交換、處理以及生成可應(yīng)用數(shù)據(jù)接口。在編程實(shí)現(xiàn)上,將會(huì)充分利用Java企業(yè)編程所提供的基礎(chǔ)技術(shù)框架結(jié)合相關(guān)的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)以及充分考慮各種因素,實(shí)現(xiàn)最大程度上的數(shù)據(jù)自動(dòng)化交換。Web操作控制系統(tǒng)和數(shù)據(jù)展現(xiàn)系統(tǒng)包含兩部分內(nèi)容,一部分是對(duì)數(shù)據(jù)交換過(guò)程進(jìn)行操作和控制,它主要完成數(shù)據(jù)交換的過(guò)程管理。另一部分是數(shù)據(jù)展現(xiàn)應(yīng)用系統(tǒng),主要是把獲取和處理好的數(shù)據(jù),以各種形式展現(xiàn)出來(lái),提供不同方式的展現(xiàn)形式,支持固定和可定制的信息查詢。另

19、外還提供可編程或非編程方式的數(shù)據(jù)訪問(wèn)接口。2.3 核心軟件系統(tǒng)結(jié)構(gòu)核心軟件系統(tǒng)結(jié)構(gòu)圖如上圖所示,以模塊化分層的方式表述了數(shù)據(jù)交換系統(tǒng)的軟件架構(gòu),從大的方面來(lái)講,主要包含第三方數(shù)據(jù)源、數(shù)據(jù)接口層、傳輸控制層、數(shù)據(jù)處理層、交換數(shù)據(jù)庫(kù)、數(shù)據(jù)應(yīng)用接口和數(shù)據(jù)展現(xiàn)界面等分層模塊。從2.2所述可以知道,軟件系統(tǒng)由位于不同層級(jí)的節(jié)點(diǎn)組成。但是從軟件架構(gòu)上來(lái)講,部署在不同層級(jí)的軟件系統(tǒng),除了在上下級(jí)系統(tǒng)之間,具有不同的數(shù)據(jù)流的處理(數(shù)據(jù)的上傳和下發(fā)),除此之外,各個(gè)節(jié)點(diǎn)的數(shù)據(jù)交換軟件系統(tǒng)在軟件架構(gòu)上是一致的。2.3.2 第三方數(shù)據(jù)源第三方數(shù)據(jù)源是整個(gè)系統(tǒng)所要交換數(shù)據(jù)的原始采集地,由于各個(gè)數(shù)據(jù)源的情況差別很大,存

20、在很大的不確定性,所以就要求系統(tǒng)要支持多種類別的數(shù)據(jù)源。在綜合分析以后,確定系統(tǒng)支持以下一些方式的數(shù)據(jù)源:數(shù)據(jù)庫(kù)直連、FTP方式,手工文本。數(shù)據(jù)庫(kù)直連是信任度最高的一種數(shù)據(jù)源提供方式。假定第三方機(jī)構(gòu)以某種方式,對(duì)其數(shù)據(jù)庫(kù)訪問(wèn),提供了一定權(quán)限的訪問(wèn)接口。在這樣一種方式下,系統(tǒng)以事先約定好的訪問(wèn)規(guī)則,去對(duì)數(shù)據(jù)源進(jìn)行自動(dòng)訪問(wèn),實(shí)現(xiàn)數(shù)據(jù)的采集。FTP方式可能包括兩種類型,一種是在數(shù)據(jù)接口層提供FTP服務(wù)器,以供第三方數(shù)據(jù)源的相關(guān)操作人員或自動(dòng)運(yùn)行的程序?qū)⑺杞粨Q的數(shù)據(jù)按事先約定好的文本格式,以一定的頻率進(jìn)行進(jìn)行文件上傳。另外一種方式是第三方數(shù)據(jù)源在其網(wǎng)絡(luò)接口層提供可以訪問(wèn)的FTP服務(wù)器,本系統(tǒng)根據(jù)事先

21、的約定,來(lái)完成FTP服務(wù)器的定時(shí)訪問(wèn),獲取到固定格式的文本數(shù)據(jù)。手工文本方式是指通過(guò)其它渠道,以人工方式獲取到的固定格式的第三方數(shù)據(jù),它文本方式存儲(chǔ)。在這一層面,需要確定通信和數(shù)據(jù)采集的一些基本協(xié)議。例如,所要采集數(shù)據(jù)的格式、頻率等。2.3.2 數(shù)據(jù)接口層數(shù)據(jù)接口層和第三方數(shù)據(jù)源示意圖本層主要負(fù)責(zé)對(duì)外接口,提供數(shù)據(jù)庫(kù)訪問(wèn)程序、FTP數(shù)據(jù)訪問(wèn)程序,F(xiàn)TP服務(wù)器、WEB操作界面等具體功能來(lái)實(shí)現(xiàn)和第三方數(shù)據(jù)源的連接,實(shí)現(xiàn)數(shù)據(jù)的采集。數(shù)據(jù)庫(kù)訪問(wèn)程序直接連接第三方數(shù)據(jù)源提供的數(shù)據(jù)庫(kù)訪問(wèn)接口,按照接口協(xié)議,實(shí)現(xiàn)數(shù)據(jù)的直接讀取。FTP服務(wù)器提供給第三方機(jī)構(gòu),使其可以按照訪問(wèn)協(xié)議,上傳本系統(tǒng)所需數(shù)據(jù)。FTP數(shù)

22、據(jù)訪問(wèn)程序連接第三方數(shù)據(jù)源提供的FTP服務(wù)器或者本系統(tǒng)FTP服務(wù)器,按照訪問(wèn)協(xié)議,獲取數(shù)據(jù)并將其解析成可以利用的原始數(shù)據(jù)。WEB操作界面提供數(shù)據(jù)導(dǎo)入功能,可以實(shí)現(xiàn)格式化數(shù)據(jù)的導(dǎo)入。除了這些對(duì)外的功能性接口以外,本層還負(fù)責(zé)數(shù)據(jù)安全傳輸、數(shù)據(jù)有效性檢測(cè)等。2.3.3 傳輸控制層傳輸控制層示意圖傳輸控制層是實(shí)現(xiàn)自動(dòng)化數(shù)據(jù)采集的關(guān)鍵,它根據(jù)事先定義好的協(xié)議,去自動(dòng)處理用戶定制的數(shù)據(jù)采集任務(wù),同時(shí)處理數(shù)據(jù)采集中產(chǎn)生的異常情況,并進(jìn)行反饋和預(yù)警。自動(dòng)數(shù)據(jù)采集采用監(jiān)聽(tīng)任務(wù)腳本的方式去進(jìn)行處理。首先,用戶通過(guò)WEB界面去進(jìn)行數(shù)據(jù)采集任務(wù)的定制,定制完成以后,會(huì)在后臺(tái)形成一定格式的任務(wù)腳本的描述。其次,傳輸控制

23、層得監(jiān)聽(tīng)模塊如果獲取到了新增或修改過(guò)的任務(wù)描述腳本,則對(duì)腳本進(jìn)行解析,按照腳本描述的規(guī)則,去驅(qū)動(dòng)相應(yīng)的程序模塊進(jìn)行通信,完成數(shù)據(jù)的自動(dòng)化采集。另外,傳輸控制層還會(huì)反饋一些預(yù)警信息,比如定制的數(shù)據(jù)采集任務(wù)沒(méi)有完成或者采集過(guò)程中發(fā)生了異常,傳輸控制層都會(huì)對(duì)此過(guò)程進(jìn)行記錄,通過(guò)WEB界面把預(yù)警信息反饋給用戶。2.3.4 數(shù)據(jù)處理層數(shù)據(jù)處理層示意圖數(shù)據(jù)處理層實(shí)現(xiàn)了原始采集數(shù)據(jù)的存儲(chǔ)以及數(shù)據(jù)的預(yù)處理等環(huán)節(jié)。原始數(shù)據(jù)以數(shù)據(jù)的原始結(jié)構(gòu)進(jìn)行保存,并記錄操作時(shí)間,操作人員等信息。數(shù)據(jù)的處理包括宏觀數(shù)據(jù)和微觀數(shù)據(jù)的處理,宏觀數(shù)據(jù)直接處理存儲(chǔ),微觀數(shù)據(jù)則要和納稅戶信息進(jìn)行有效的關(guān)聯(lián),使其和地稅戶管建立對(duì)照表,進(jìn)行自

24、動(dòng)匹配以及手工匹配。自動(dòng)匹配建立在關(guān)聯(lián)字段信息一致性上,根據(jù)一定規(guī)則進(jìn)行匹配,通過(guò)程序遍歷,來(lái)自動(dòng)生成匹配數(shù)據(jù)自動(dòng)裝載到對(duì)照表中,包含的字段有稅務(wù)管理碼、納稅人名稱、第三方唯一標(biāo)識(shí)碼、企業(yè)名稱、主關(guān)聯(lián)字段、次關(guān)聯(lián)字段等。如果部分關(guān)聯(lián)信息一致或沒(méi)有一致的關(guān)聯(lián)信息,則需要提供界面去進(jìn)行手工匹配,手工操作后,該部分?jǐn)?shù)據(jù)也自動(dòng)進(jìn)入對(duì)照表。數(shù)據(jù)處理層除了需要制定完備的數(shù)據(jù)匹配規(guī)則以外,還需進(jìn)行多重邏輯校驗(yàn),實(shí)現(xiàn)一定的容錯(cuò)性,以最大可能來(lái)反映數(shù)據(jù)的準(zhǔn)確性。2.3.5 交換數(shù)據(jù)庫(kù)交換數(shù)據(jù)庫(kù)是交換系統(tǒng)所有數(shù)據(jù)的存儲(chǔ)地,包括系統(tǒng)初始化數(shù)據(jù)、系統(tǒng)管理數(shù)據(jù)、原始采集數(shù)據(jù)、預(yù)處理后的正式交換數(shù)據(jù)等。根據(jù)需求,數(shù)據(jù)庫(kù)進(jìn)

25、行良好的設(shè)計(jì)。2.3.6 數(shù)據(jù)展現(xiàn)界面本層主要實(shí)現(xiàn)數(shù)據(jù)的展現(xiàn),包括各種查詢分析功能。主要有固定查詢、自主定制組合查詢、信息交換統(tǒng)計(jì)查詢、單戶明細(xì)信息查詢、適用稅種查詢分析、交換數(shù)據(jù)質(zhì)量跟蹤監(jiān)控情況查詢、可利用數(shù)據(jù)信息查詢等內(nèi)容。2.3.7 數(shù)據(jù)應(yīng)用接口本層提供編程與非編程數(shù)據(jù)接口,使得交換系統(tǒng)的最終數(shù)據(jù),可以為其它系統(tǒng)和部門所用。根據(jù)實(shí)際的需求情況,可考慮提供各種訪問(wèn)途徑,例如:數(shù)據(jù)庫(kù)直接訪問(wèn)方式、FTP文本數(shù)據(jù)共享、可編程遠(yuǎn)程接口、人工導(dǎo)出文本等。2.3.8 上下級(jí)系統(tǒng)數(shù)據(jù)共享本系統(tǒng)除了第三方數(shù)據(jù)交換功能以外,在級(jí)別上有省、市、縣(區(qū))三個(gè)級(jí)別,所以數(shù)據(jù)除了從本層第三方數(shù)據(jù)源進(jìn)入本層交換系統(tǒng)

26、以外,還可能存在數(shù)據(jù)的跨級(jí)別訪問(wèn)。比如,上級(jí)部門的交換數(shù)據(jù)可提供給下級(jí)部門進(jìn)行展現(xiàn)和應(yīng)用,而下級(jí)部門的數(shù)據(jù)交換情況,也可以提供給上級(jí)部門查看,比如提供數(shù)據(jù)交換總覽圖這樣的功能,使得上級(jí)部門可以直接獲知數(shù)據(jù)交換系統(tǒng)各個(gè)地方的部署實(shí)施情況等。上下級(jí)數(shù)據(jù)的共享可以考慮兩種方式,一種是直接操作上級(jí)或下級(jí)的交換平臺(tái)系統(tǒng),另外一種是提供數(shù)據(jù)的上傳或下發(fā),根據(jù)用戶的實(shí)際需要,會(huì)同時(shí)提供兩種方式。2.3.9 數(shù)據(jù)交換標(biāo)準(zhǔn)因?yàn)楸鞠到y(tǒng)可能會(huì)涉及到眾多的第三方數(shù)據(jù)源,可能包含海量數(shù)據(jù)的交換處理與存儲(chǔ),而且數(shù)據(jù)的交換和處理環(huán)節(jié)也很多,所以為了更好的對(duì)數(shù)據(jù)進(jìn)行交換和處理,使得數(shù)據(jù)最終能得到有效的利用,我們就需要制定各個(gè)

27、環(huán)節(jié)的標(biāo)準(zhǔn)、規(guī)范和協(xié)議。而標(biāo)準(zhǔn)、規(guī)范、協(xié)議也是自動(dòng)化數(shù)據(jù)處理的一個(gè)前提,否則很多環(huán)節(jié)必須通過(guò)人工干預(yù)才能進(jìn)行。首先關(guān)于數(shù)據(jù)源的標(biāo)準(zhǔn)化,也就是本系統(tǒng)都支持哪些類型的數(shù)據(jù)源,某種特定的數(shù)據(jù)源都必須要提供哪些參數(shù)。比如,如果支持?jǐn)?shù)據(jù)庫(kù)直連方式,那么就需要確定IP地址、端口、數(shù)據(jù)庫(kù)、表(視圖,存儲(chǔ)過(guò)程等)、字段等參數(shù),在用戶進(jìn)行數(shù)據(jù)采集任務(wù)定制的時(shí)候,如果選定了這種方式,那么上述所列的參數(shù)就必須提供。其次是數(shù)據(jù)格式的標(biāo)準(zhǔn)化。只有采集到標(biāo)準(zhǔn)格式的數(shù)據(jù),才能被后續(xù)環(huán)節(jié)所自動(dòng)化處理。在進(jìn)行數(shù)據(jù)采集之前,必須要確定數(shù)據(jù)以什么樣的載體存在,在載體中以什么樣一種格式存在。比如以數(shù)據(jù)庫(kù)直連方式,那么數(shù)據(jù)應(yīng)該就是以數(shù)

28、據(jù)庫(kù)表的方式存在。如果是以文本方式,那么就必須確定是什么樣的文本格式:自定義文本格式、csv、excel等。這個(gè)還可以繼續(xù)延伸下去,比如自定義格式是怎樣的自定義規(guī)則,數(shù)據(jù)字段間以什么樣方式分隔,數(shù)據(jù)字段的名字采用什么樣的存儲(chǔ)方式等等。最后,是數(shù)據(jù)源和數(shù)據(jù)存儲(chǔ)的標(biāo)準(zhǔn)化。因?yàn)椴杉脑紨?shù)據(jù)可能是多樣性的,而這樣的原始數(shù)據(jù)是不能為后續(xù)的系統(tǒng)例如風(fēng)險(xiǎn)評(píng)估系統(tǒng)來(lái)應(yīng)用的,所以在數(shù)據(jù)的預(yù)處理階段必須遵循數(shù)據(jù)源和數(shù)據(jù)存儲(chǔ)的標(biāo)準(zhǔn)化,使得處理過(guò)的正式數(shù)據(jù)可以被其它第三方系統(tǒng)所識(shí)別,從而成為真正可以利用的數(shù)據(jù)。系統(tǒng)將根據(jù)稅務(wù)系統(tǒng)制定的數(shù)據(jù)源或數(shù)據(jù)存儲(chǔ)標(biāo)準(zhǔn),去建立數(shù)據(jù)源,包括表的命名、字段的命名、字段的類型、字段的含

29、義。因?yàn)楫?dāng)前階段標(biāo)準(zhǔn)化工作還在進(jìn)行中,所以系統(tǒng)的設(shè)計(jì)上要考慮多種方式的標(biāo)準(zhǔn)化接入。現(xiàn)階段可以預(yù)見(jiàn)到的有:標(biāo)準(zhǔn)以文檔的方式提供;標(biāo)準(zhǔn)以可編程接口提供。在數(shù)據(jù)源建立或數(shù)據(jù)存儲(chǔ)建立的時(shí)候,根據(jù)一定的關(guān)鍵字去查詢?cè)摌?biāo)準(zhǔn),如果有匹配的標(biāo)準(zhǔn)定義,則遵循標(biāo)準(zhǔn)執(zhí)行。如果沒(méi)有標(biāo)準(zhǔn),則可以自定義構(gòu)建。另外,還需要制定詳盡的數(shù)據(jù)比對(duì)規(guī)則,只有這樣,才能最大程度的進(jìn)行數(shù)據(jù)的自動(dòng)化匹配,進(jìn)行有效數(shù)據(jù)的篩選與存儲(chǔ)。當(dāng)然,還有很多的處理環(huán)節(jié)需要標(biāo)準(zhǔn)化,這將會(huì)在后續(xù)的詳細(xì)設(shè)計(jì)中一一實(shí)現(xiàn)。2.4 核心軟件系統(tǒng)設(shè)計(jì)原則2.4.1 自動(dòng)化數(shù)據(jù)交換在數(shù)據(jù)交換平臺(tái)的軟件體系內(nèi),處于最核心的部件是數(shù)據(jù)交換控制組件,該組件自動(dòng)運(yùn)行在后臺(tái),

30、依據(jù)既定的標(biāo)準(zhǔn)交換協(xié)議對(duì)數(shù)據(jù)交換的各個(gè)環(huán)節(jié)進(jìn)行監(jiān)聽(tīng),一旦監(jiān)聽(tīng)到有需要處理的任務(wù),則在后臺(tái)自動(dòng)化的完成數(shù)據(jù)的處理過(guò)程,這一過(guò)程不需要人工干預(yù)。如果某一過(guò)程的處理中,存在問(wèn)題,則會(huì)自動(dòng)預(yù)警。例如,原本定義好每天需要有新的交換文本上傳到FTP進(jìn)行交換,但是自動(dòng)化處理過(guò)程在自動(dòng)處理過(guò)程中,沒(méi)有發(fā)現(xiàn)當(dāng)天需要交換的新文本,則會(huì)向系統(tǒng)發(fā)一條預(yù)警通知,該通知會(huì)以某種方式,在WEB操作界面展現(xiàn)出來(lái)。2.4.2 可定制數(shù)據(jù)交換軟件系統(tǒng)將實(shí)現(xiàn)數(shù)據(jù)交換的可定制化。在Web操作控制界面上,具有一定權(quán)限的操作人員,可以根據(jù)數(shù)據(jù)交換的需要,在既定的標(biāo)準(zhǔn)交換協(xié)議框架之內(nèi),實(shí)現(xiàn)靈活的的可定制數(shù)據(jù)交換操作??梢远ㄖ茢?shù)據(jù)源、數(shù)據(jù)采

31、集方式、采集頻率等等。當(dāng)操作人員按照規(guī)則進(jìn)行了數(shù)據(jù)交換的可定制操作以后,系統(tǒng)會(huì)生成一定的流程描述腳本提供給數(shù)據(jù)交換控制組件來(lái)自動(dòng)運(yùn)行。2.4.3 多重方式數(shù)據(jù)的展現(xiàn)與利用數(shù)據(jù)交換的最終目的是為了對(duì)數(shù)據(jù)進(jìn)行管理和應(yīng)用。那么,經(jīng)過(guò)數(shù)據(jù)的采集與預(yù)處理,得到了可以利用的數(shù)據(jù),我們最終需要以某種方式將數(shù)據(jù)加以展現(xiàn)和利用。本系統(tǒng)中,我們將會(huì)以兩種方式來(lái)進(jìn)行數(shù)據(jù)的展現(xiàn)與利用。對(duì)于本系統(tǒng)的最終用戶,系統(tǒng)將會(huì)提供基于Web的操作界面,來(lái)進(jìn)行數(shù)據(jù)的查詢與展現(xiàn)。根據(jù)業(yè)務(wù)需求,將會(huì)提供固定條件的數(shù)據(jù)查詢與展現(xiàn),以及在一定的業(yè)務(wù)范疇之內(nèi)的可定制的數(shù)據(jù)查詢與展現(xiàn)。當(dāng)然除了提供Web操作界面提供給最終用戶來(lái)進(jìn)行數(shù)據(jù)的查詢與

32、展現(xiàn),還需提供基于不同方式的數(shù)據(jù)查詢與展現(xiàn)接口以供第三方系統(tǒng)或用戶來(lái)對(duì)數(shù)據(jù)進(jìn)行查詢和應(yīng)用。那么根據(jù)需求,我們可以提供可編程數(shù)據(jù)訪問(wèn)接口、數(shù)據(jù)庫(kù)直連、FTP自動(dòng)交換以及文本導(dǎo)出等不同方式的接口。這個(gè)要在保證數(shù)據(jù)存儲(chǔ)、傳輸?shù)陌踩珬l件下,根據(jù)具體的需求來(lái)確定最終采用哪些方式。2.4.4 數(shù)據(jù)全生命周期管理本系統(tǒng)的核心著眼點(diǎn)是數(shù)據(jù)的交換處理和利用,所以對(duì)于數(shù)據(jù)的管理是最核心的一環(huán)?;谶@一問(wèn)題,需要設(shè)計(jì)完備的數(shù)據(jù)生命周期管理,從數(shù)據(jù)抽取到系統(tǒng)的第一步起,到數(shù)據(jù)最終的展現(xiàn)和應(yīng)用。每個(gè)環(huán)節(jié),都會(huì)提供相應(yīng)的管理功能和操作界面,供具有權(quán)限的操作人員去對(duì)數(shù)據(jù)進(jìn)行控制和處理。另外,對(duì)于數(shù)據(jù)每個(gè)環(huán)節(jié)的操作和管理,系

33、統(tǒng)都會(huì)提供詳盡日志,以供后期分析查詢使用,提供數(shù)據(jù)交換成果的統(tǒng)計(jì)與分析功能。2.4.5 數(shù)據(jù)字段業(yè)務(wù)標(biāo)準(zhǔn)本系統(tǒng)自動(dòng)化成分很高,自動(dòng)建表,索引,存儲(chǔ)過(guò)程等工作都是由系統(tǒng)腳本自動(dòng)生成。例如在創(chuàng)建數(shù)據(jù)交換項(xiàng)的時(shí)候,數(shù)據(jù)進(jìn)入系統(tǒng)采用的數(shù)據(jù)字段都是要滿足數(shù)據(jù)標(biāo)準(zhǔn)平臺(tái)的標(biāo)準(zhǔn)的,新字段要通過(guò)數(shù)據(jù)標(biāo)準(zhǔn)平臺(tái)審核。2.5 數(shù)據(jù)存儲(chǔ)設(shè)計(jì)在本系統(tǒng)中,數(shù)據(jù)存儲(chǔ)的設(shè)計(jì)包括兩方面的內(nèi)容,首先是數(shù)據(jù)庫(kù)的部署設(shè)計(jì),其次是數(shù)據(jù)庫(kù)表的設(shè)計(jì)。因?yàn)楸鞠到y(tǒng)跨地域、跨部門、跨業(yè)務(wù),跨上下級(jí)關(guān)系,所以要實(shí)現(xiàn)數(shù)據(jù)的采集處理和共享,決定了本系統(tǒng)是一個(gè)分布式系統(tǒng)。數(shù)據(jù)庫(kù)的部署也必須分地區(qū),分層次,各個(gè)地方部署各自的數(shù)據(jù)庫(kù)進(jìn)行交換數(shù)據(jù)的存儲(chǔ)。省級(jí)的

34、交換數(shù)據(jù)存儲(chǔ)在省級(jí)的數(shù)據(jù)庫(kù)服務(wù)器中,市級(jí)的交換數(shù)據(jù)存儲(chǔ)在市級(jí)的數(shù)據(jù)庫(kù)服務(wù)器中,縣(區(qū))級(jí)的交換數(shù)據(jù)存儲(chǔ)在縣(區(qū))級(jí)的數(shù)據(jù)庫(kù)服務(wù)中。另外,因?yàn)橐?jīng)過(guò)數(shù)據(jù)的ETL,才能得到可以利用的數(shù)據(jù),所以在數(shù)據(jù)庫(kù)的設(shè)計(jì)上,要考慮到包括原始數(shù)據(jù)數(shù)據(jù)表和經(jīng)過(guò)數(shù)據(jù)轉(zhuǎn)換和清洗后的正式數(shù)據(jù)表。關(guān)于數(shù)據(jù)表的設(shè)計(jì),要包括系統(tǒng)初始化所需的支撐表、權(quán)限控制表以及處于核心的業(yè)務(wù)數(shù)據(jù)表等不同類型的數(shù)據(jù)表。另外,因?yàn)橄到y(tǒng)中存在各地各個(gè)級(jí)別的數(shù)據(jù),所以要設(shè)計(jì)合理的數(shù)據(jù)關(guān)聯(lián)關(guān)系,設(shè)定一定的訪問(wèn)控制標(biāo)志,以保證數(shù)據(jù)的安全共享與訪問(wèn)。因?yàn)楸鞠到y(tǒng)涉及到海量數(shù)據(jù)的處理,所以要充分發(fā)揮分布式存儲(chǔ)和運(yùn)算技術(shù),利用Oracle數(shù)據(jù)庫(kù)管理技術(shù)為中心的各

35、項(xiàng)技術(shù)手段,來(lái)實(shí)現(xiàn)數(shù)據(jù)的安全存儲(chǔ),高效處理。2.6 數(shù)據(jù)流管理設(shè)計(jì)從宏觀方面講,數(shù)據(jù)的流向大體有兩個(gè)方向。一個(gè)是橫向的數(shù)據(jù)流動(dòng),也就是數(shù)據(jù)從第三方數(shù)據(jù)源獲取,經(jīng)過(guò)處理后進(jìn)入本系統(tǒng)數(shù)據(jù)庫(kù)中進(jìn)行存儲(chǔ)和利用。這是本系統(tǒng)所需處理的核心問(wèn)題,也就是數(shù)據(jù)從第三方數(shù)據(jù)源怎樣進(jìn)入本系統(tǒng),并成為有效可利用的數(shù)據(jù),并且可以提供給其它系統(tǒng)進(jìn)行擴(kuò)展應(yīng)用。這在前邊基本上已經(jīng)過(guò)闡述。另一個(gè)方向是數(shù)據(jù)的縱向流動(dòng),也就是處于行政關(guān)系的上下級(jí)單位間數(shù)據(jù)存儲(chǔ)之間的數(shù)據(jù)流動(dòng)。主要是上級(jí)部門的交換數(shù)據(jù),可以共享給下級(jí)部門。下級(jí)部門的數(shù)據(jù)交換部署實(shí)施情況、數(shù)據(jù)利用成果等可以共享給上級(jí)部門。這里有兩種方案可以選擇:一種是上級(jí)(下級(jí))部門

36、的交換數(shù)據(jù)存儲(chǔ)在上級(jí)(下級(jí))部門的數(shù)據(jù)庫(kù)中,給下級(jí)(上級(jí))部門開(kāi)發(fā)訪問(wèn)權(quán)限,根據(jù)訪問(wèn)規(guī)則,下級(jí)(上級(jí))部門可以訪問(wèn)具有權(quán)限的數(shù)據(jù)。另外一種是上級(jí)(下級(jí))部門交換數(shù)據(jù)下發(fā)(上傳)到下級(jí)(上級(jí))部門。第一種方式的好處是數(shù)據(jù)沒(méi)有冗余,集中存儲(chǔ)。但是由于要開(kāi)放下級(jí)(上級(jí))訪問(wèn)接口,這就涉及到這些接口怎么去設(shè)計(jì)、數(shù)據(jù)怎樣控制、Web系統(tǒng)通過(guò)怎么樣方式的去訪問(wèn)、怎么樣去部署都提出了一些技術(shù)挑戰(zhàn)。另外由于增加了下級(jí)(上級(jí))訪問(wèn),那么一方面數(shù)據(jù)庫(kù)訪問(wèn)壓力會(huì)增大,另外一方面遠(yuǎn)程數(shù)據(jù)訪問(wèn)的效率如何,也不得而知。第二種方式的好處是數(shù)據(jù)本地存儲(chǔ),這對(duì)數(shù)據(jù)的訪問(wèn)效率以及減輕上級(jí)(下級(jí))部門數(shù)據(jù)庫(kù)的壓力是有很大好處的。但

37、是,這一方式就帶來(lái)了海量數(shù)據(jù)的遠(yuǎn)程傳輸控制問(wèn)題,怎樣保證數(shù)據(jù)能夠高效安全的傳輸?shù)较录?jí)(上級(jí))部門,這是需要首要解決的技術(shù)問(wèn)題。在實(shí)際系統(tǒng)的設(shè)計(jì)和部署中,根據(jù)上下級(jí)所要交互的數(shù)據(jù)的類型、規(guī)模等因素,同時(shí)提供這兩種方式的數(shù)據(jù)共享和交換方式,用戶可針對(duì)不同情況,酌情選擇使用。3. 技術(shù)架構(gòu)設(shè)計(jì)3.1 概述系統(tǒng)架構(gòu)示意圖系統(tǒng)以Java和數(shù)據(jù)庫(kù)技術(shù)為依托,采用JEE相關(guān)技術(shù),以MVC模式為核心,采用分層思想,構(gòu)建健壯、靈活的Web應(yīng)用程序。在數(shù)據(jù)庫(kù)訪問(wèn)層,使用高效的Swim Sql映射框架,實(shí)現(xiàn)數(shù)據(jù)的獲取和持久化。在領(lǐng)域邏輯層,使用Spring框架,通過(guò)IOC和AOP,實(shí)現(xiàn)業(yè)務(wù)模塊的可配置和靈活增加、刪

38、減,另外也可以在面的基礎(chǔ)上,對(duì)業(yè)務(wù)實(shí)現(xiàn)代碼進(jìn)行功能增強(qiáng)。在表現(xiàn)層,綜合使用各種Web2.0技術(shù),以Jquery框架為核心,構(gòu)建具有良好用戶體驗(yàn)的GUI。3.2 基礎(chǔ)組件3.2.1 Spring Framework【框架描述】Spring為編寫企業(yè)應(yīng)用程序提供了輕量的解決方案,同時(shí)仍然支持使用聲明式事務(wù)、 用RMI或web service遠(yuǎn)程調(diào)用、以及使用多種方式來(lái)將數(shù)據(jù)持久化到數(shù)據(jù)庫(kù)。Spring框架包含許多特性,并被很好地組織在下圖所示的六個(gè)模塊中。Spring框架架構(gòu)圖【框架引用目的】1. Spring 的 Core 封裝包Spring 的 Core 封裝包是框架的最基礎(chǔ)部分,提供IoC和

39、依賴注入特性。這里的基礎(chǔ)概念是BeanFactory,它提供對(duì)Factory模式的經(jīng)典實(shí)現(xiàn)來(lái)消除對(duì)程序性單例模式的需要,并真正地允許我們從程序邏輯中分離出依賴關(guān)系和配置。2. Spring的 AOP 封裝包Spring的 AOP 封裝包提供了符合 AOP Alliance規(guī)范的面向方面的編程(aspect-oriented programming)實(shí)現(xiàn),讓你可以定義,例如方法攔截器(method-interceptors)和切點(diǎn)(pointcuts),從邏輯上講,從而減弱代碼的功能耦合,清晰的被分離開(kāi)。而且,利用source-level的元數(shù)據(jù)功能,還可以將各種行為信息合并到你的代碼中。我們主

40、要用于對(duì)Java數(shù)據(jù)庫(kù)操作的事務(wù)配置、任務(wù)異常監(jiān)控。3. Spring中的 MVC 封裝包Spring中的 MVC 封裝包提供了Web應(yīng)用的Model-View-Controller(MVC)實(shí)現(xiàn)。Spring的MVC框架并不是僅僅提供一種傳統(tǒng)的實(shí)現(xiàn),它提供了一種清晰的分離模型,在領(lǐng)域模型代碼和web form之間。3.2.2 Swim Framework【框架描述】Swim 框架是江蘇同和軟件技術(shù)有限公司為了JAVA的數(shù)據(jù)庫(kù)快速編程而開(kāi)發(fā)的一個(gè)O/R和sql映射編程框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的操作封裝,使得JAVA程序員可以方便地使用SQL來(lái)操縱數(shù)據(jù)庫(kù),可以應(yīng)用在任何可以使用JDBC

41、的場(chǎng)合,既可以在JAVA的客戶端使用,也可以在Servlet/JSP的Web應(yīng)用中使用。SWIM框架技術(shù)架構(gòu)圖基于Spring和Swim的應(yīng)用架構(gòu)圖【框架引用目的】系統(tǒng)與數(shù)據(jù)庫(kù)的交互多而雜,有第三方數(shù)據(jù)交換平臺(tái)自身的數(shù)據(jù)庫(kù),有第三方數(shù)據(jù)源的數(shù)據(jù)庫(kù)。Swim框架對(duì)于JDBC操作是做過(guò)許多優(yōu)化的,兼容主流的數(shù)據(jù)庫(kù)類型,具有非常高的數(shù)據(jù)操作效率。對(duì)于動(dòng)態(tài)數(shù)據(jù)源的處理也是Swim框架的強(qiáng)項(xiàng),用于應(yīng)對(duì)連接不同的第三方數(shù)據(jù)源。Swim提供的O/R映射能滿足系統(tǒng)領(lǐng)域邏輯模式的設(shè)計(jì)。3.2.3 Piston遠(yuǎn)程數(shù)據(jù)交換中間件【框架描述】Piston 遠(yuǎn)程數(shù)據(jù)交換中間件 ,為江蘇同和軟件技術(shù)有限公司研發(fā)的此類中

42、間件的Java版本,在不同的應(yīng)用系統(tǒng)之間,經(jīng)常會(huì)有數(shù)據(jù)交換的現(xiàn)象出現(xiàn),為了讓異構(gòu)信息系統(tǒng)集成技術(shù)平臺(tái)實(shí)現(xiàn)數(shù)據(jù)的共享和交換,并且實(shí)現(xiàn)高效的通信、安全的數(shù)據(jù)傳輸和編程的透明性,Piston遠(yuǎn)程數(shù)據(jù)交換中間件是必不可少的高性能中間件。Piston工作原理示意圖該中間件包含了數(shù)據(jù)交換的服務(wù)器端組件和客戶端組件,它在底層實(shí)現(xiàn)了數(shù)據(jù)加密、壓縮、傳輸?shù)认到y(tǒng)級(jí)的功能,對(duì)外提供了一系列的數(shù)據(jù)遠(yuǎn)程交換接口,開(kāi)發(fā)人員只需要根據(jù)數(shù)據(jù)交換的需求,調(diào)用相應(yīng)的編程接口,并把組件和開(kāi)發(fā)的程序正確的部署在需要交換數(shù)據(jù)的系統(tǒng)中,就可以方便的實(shí)現(xiàn)不同地理位置的信息系統(tǒng)之間的數(shù)據(jù)交互和共享?!究蚣芤迷颉?)Piston采用自定義

43、通信協(xié)議,在二進(jìn)制流上做了高效的數(shù)據(jù)壓縮。2)Piston采用基于HTTP協(xié)議之上的應(yīng)用協(xié)議,為遠(yuǎn)程數(shù)據(jù)的交換提供了方便的通道。3)Piston采用MD5、RSA、Blowfish等多種加密手段,確保數(shù)據(jù)交換的安全。4)Piston采用類似于數(shù)字證書(shū)的客戶端驗(yàn)證機(jī)制,保證數(shù)據(jù)交換的客戶端身份不被偽造。5) Piston支持多客戶端,服務(wù)器端使用java編程語(yǔ)言實(shí)現(xiàn),客戶端可以是任何語(yǔ)言實(shí)現(xiàn)的組件,只要遵循協(xié)議就可。6)Piston提供了web控制臺(tái),可以對(duì)服務(wù)器端中間件的一些參數(shù)進(jìn)行管理,web控制臺(tái)的登錄采用了用戶名、密碼、驗(yàn)證碼和數(shù)字口令碼結(jié)合的方式,采用ssl進(jìn)行通信,確保web控制臺(tái)的

44、安全。3.3 領(lǐng)域模型和邏輯設(shè)計(jì)3.3.1 概述此部分文檔用于說(shuō)明該平臺(tái)相關(guān)領(lǐng)域邏輯在技術(shù)上的設(shè)計(jì),為了方便描述后續(xù)的實(shí)現(xiàn)機(jī)理,首先介紹領(lǐng)域邏輯層核心的兩個(gè)組件:任務(wù)調(diào)度引擎;規(guī)則處理引擎。然后講述核心功能(數(shù)據(jù)導(dǎo)入、數(shù)據(jù)加工、數(shù)據(jù)應(yīng)用)相關(guān)主要領(lǐng)域邏輯設(shè)計(jì)、權(quán)限設(shè)計(jì)、數(shù)據(jù)上傳和下發(fā)設(shè)計(jì)等。數(shù)據(jù)交換、數(shù)據(jù)加工都涉及到了一個(gè)任務(wù)的概念。為了更好地控制、管理這些任務(wù),我們?cè)O(shè)計(jì)了一套任務(wù)調(diào)度引擎,負(fù)責(zé)任務(wù)的定時(shí)調(diào)度、修改、刪除、宕機(jī)后任務(wù)狀態(tài)恢復(fù)等。數(shù)據(jù)加工部分引入了一個(gè)規(guī)則的概念,我們對(duì)規(guī)則的第一印象就是量多、相互獨(dú)立。應(yīng)對(duì)不同業(yè)務(wù)需求肯定就需要很多種規(guī)則去控制數(shù)據(jù)匹配的過(guò)程,所以系統(tǒng)預(yù)定的頂級(jí)規(guī)

45、則肯定數(shù)量不少;每種規(guī)則都有自己特有的處理方式,否則也不需要使用多種規(guī)則了,所以系統(tǒng)對(duì)每一種規(guī)則都必須有對(duì)應(yīng)的獨(dú)立的處理過(guò)程。面對(duì)這種復(fù)雜的處理要求,我們?cè)O(shè)計(jì)了一套規(guī)則處理引擎,負(fù)責(zé)對(duì)用戶定制的規(guī)則作出解析,映射出相應(yīng)的處理程序,再配合任務(wù)調(diào)度引擎,就能靈活的在平臺(tái)中執(zhí)行復(fù)雜的匹配任務(wù)。3.3.2 任務(wù)調(diào)度引擎 概述任務(wù)調(diào)度引擎工作原理圖本系統(tǒng)為實(shí)現(xiàn)自動(dòng)化的數(shù)據(jù)采集、匹配,則必然涉及到這個(gè)任務(wù)可能每天或每周星期二晚上11:30,或許僅僅每個(gè)月的最后一天執(zhí)行。一個(gè)自動(dòng)執(zhí)行而無(wú)須干預(yù)的任務(wù)在執(zhí)行過(guò)程中如果發(fā)生一個(gè)嚴(yán)重錯(cuò)誤,應(yīng)用能夠知到其執(zhí)行失敗并嘗試重新執(zhí)行。為了解決這些難題,本系統(tǒng)

46、特引入了任務(wù)調(diào)度引擎工具的設(shè)計(jì),底層開(kāi)發(fā)語(yǔ)言為JAVA,與整個(gè)應(yīng)用無(wú)縫連接。整體的工作原理如上圖所示,為了便于理解,圖中主要展現(xiàn)了幾個(gè)重要的模塊。整個(gè)引擎引入以下幾個(gè)概念:1.任務(wù)適配器 2.任務(wù)管理器 3.任務(wù)驅(qū)動(dòng)核心 4.任務(wù)線程池。下面我們就分別討論他們的作用。 任務(wù)適配器任務(wù)適配器是整個(gè)任務(wù)調(diào)度引擎的耳朵,是任務(wù)調(diào)度引擎的入口。在設(shè)計(jì)上采用了策略模式。一旦有任務(wù)模型請(qǐng)求連接,立即抽取、校驗(yàn)任務(wù)的執(zhí)行配置信息,獲取到任務(wù)實(shí)例,需要執(zhí)行的任務(wù)腳本方法名。通過(guò)一系列預(yù)處理,通知任務(wù)管理器做下一步的處理。 任務(wù)管理器任務(wù)管理器是整個(gè)任務(wù)調(diào)度引擎的大腦,由他來(lái)初始化未

47、完成的任務(wù)、裝載任務(wù)腳本、監(jiān)控任務(wù)線程池、發(fā)出異常警告。初始化未完成的任務(wù):在服務(wù)器宕機(jī)或者服務(wù)器重啟的情況下,JAVA進(jìn)程關(guān)閉,服務(wù)器內(nèi)存中所有的任務(wù)線程肯定都會(huì)丟失。當(dāng)下一次平臺(tái)啟動(dòng)后為了繼續(xù)之前的任務(wù),任務(wù)管理器就提供了一個(gè)初始化的功能,從數(shù)據(jù)庫(kù)讀取出未完成的任務(wù)信息,自動(dòng)化地啟動(dòng)所有任務(wù)。裝載任務(wù)腳本: 由任務(wù)適配器傳遞過(guò)來(lái)的任務(wù)模型提供了相應(yīng)的需要執(zhí)行的任務(wù)腳本,這些腳本定義了具體的任務(wù)內(nèi)容,任務(wù)管理器就負(fù)責(zé)把腳本裝備進(jìn)任務(wù)驅(qū)動(dòng)核心,由任務(wù)驅(qū)動(dòng)核心去驅(qū)動(dòng)一個(gè)新的任務(wù)線程。監(jiān)控任務(wù)線程池:任務(wù)線程一旦開(kāi)啟就必須有一個(gè)良好的管理機(jī)制,以便于平臺(tái)更好的控制任務(wù)。這個(gè)控制的過(guò)程對(duì)于用戶是不可

48、見(jiàn)的,由系統(tǒng)去處理。但是會(huì)暴露響應(yīng)的控制接口給用戶,主要功能設(shè)定在交換項(xiàng)目的監(jiān)控功能中,后文會(huì)具體介紹。發(fā)出異常警告:當(dāng)任務(wù)的執(zhí)行遇到問(wèn)題,比如第三方數(shù)據(jù)源的意外關(guān)閉,網(wǎng)閘的重啟等意外情況導(dǎo)致的不能執(zhí)行數(shù)據(jù)采集等情況,任務(wù)管理器馬上會(huì)給平臺(tái)一個(gè)警告信息,通知平臺(tái)做出相應(yīng)的處理,比如生成異常日志文件,Web操作界面的通知,Email的通知等等機(jī)制。 任務(wù)驅(qū)動(dòng)核心任務(wù)驅(qū)動(dòng)核心接收到任務(wù)管理器的指令后,會(huì)根據(jù)要求生成一條線程或使一條空閑的線程,去執(zhí)行任務(wù)腳本。它擁有多個(gè)任務(wù)開(kāi)啟端口,以滿足各種執(zhí)行方式的任務(wù)執(zhí)行,并且是可擴(kuò)展的,比如這個(gè)任務(wù)是周期執(zhí)行還是延遲執(zhí)行,是任務(wù)管理器識(shí)別用戶任

49、務(wù)定制信息后,向任務(wù)驅(qū)動(dòng)核心命令需要從哪個(gè)端口開(kāi)啟任務(wù)線程。 任務(wù)線程池任務(wù)線程池是整個(gè)任務(wù)調(diào)度引擎的任務(wù)清單,上面記載了任務(wù)的來(lái)源、執(zhí)行信息等等,并且為每一個(gè)任務(wù)提供了一個(gè)開(kāi)展作業(yè)的場(chǎng)地。每一個(gè)任務(wù)都將會(huì)開(kāi)啟一個(gè)線程去執(zhí)行,所有的線程組就是我們這里所指的任務(wù)線程池,任務(wù)線程池在概念上分為內(nèi)存線程池和外存線程池。內(nèi)存線程池指的是在服務(wù)器內(nèi)存中的一組隊(duì)列數(shù)據(jù)結(jié)構(gòu),包含了任務(wù)線程的先關(guān)信息,便于平臺(tái)程序監(jiān)控;外存線程池指的是持久化到數(shù)據(jù)庫(kù)的任務(wù)執(zhí)行信息,只有形態(tài)上與內(nèi)存線程池有差別,在邏輯上他們是保持一致的。外存線程池可以用來(lái)保證在斷電或JAVA進(jìn)程殺死的情況下保存任務(wù)內(nèi)存信息,以便

50、于系統(tǒng)重啟時(shí)任務(wù)執(zhí)行狀態(tài)的恢復(fù)。3.3.3 規(guī)則處理引擎 概述數(shù)據(jù)規(guī)則處理引擎是整個(gè)數(shù)據(jù)匹配加工的核心架構(gòu)。主要由三個(gè)部分組成:規(guī)則解析器、規(guī)則分發(fā)器、規(guī)則處理器。規(guī)則解析器:負(fù)責(zé)把操作員在界面配置的信息,轉(zhuǎn)化成程序可識(shí)別的數(shù)據(jù)描述語(yǔ)言格式;負(fù)責(zé)把規(guī)則描述數(shù)據(jù)格式(xml或json格式)轉(zhuǎn)化成操作員可視別的規(guī)則參數(shù)配置界面。規(guī)則分發(fā)器:檢查交換項(xiàng)目規(guī)則列表的處理器類型,識(shí)別出該規(guī)則組應(yīng)該由哪個(gè)規(guī)則處理器執(zhí)行,動(dòng)態(tài)加載對(duì)應(yīng)規(guī)則處理器,調(diào)用并執(zhí)行。規(guī)則處理器:是負(fù)責(zé)數(shù)據(jù)匹配加工的實(shí)際數(shù)據(jù)操作程序。解析規(guī)則描述數(shù)據(jù),針對(duì)規(guī)則描述的不同,程序自動(dòng)識(shí)別匹配加工條件,完成數(shù)據(jù)匹配加工處理。3

51、.3.3.1 處理流程圖規(guī)則分發(fā)器規(guī)則處理流程圖 設(shè)計(jì)原則從系統(tǒng)平臺(tái)的穩(wěn)定、效率、安全、可靠、可維護(hù)性的角度出發(fā),設(shè)計(jì)了一套規(guī)則設(shè)置和規(guī)則處理在功能上完全獨(dú)立、在業(yè)務(wù)邏輯上相聯(lián)系的機(jī)制 “數(shù)據(jù)規(guī)則處理引擎”。這套機(jī)制的主要特點(diǎn)主要體現(xiàn)在:1. 系統(tǒng)平臺(tái)對(duì)操作員開(kāi)放的只有規(guī)則設(shè)置功能和任務(wù)時(shí)間的設(shè)置。所有的加工匹配規(guī)則都有程序自動(dòng)識(shí)別規(guī)則處理,減少由于人為操作造成的錯(cuò)誤。2. 操作員對(duì)交換項(xiàng)目的設(shè)置完成后,只需填寫任務(wù)引擎的開(kāi)啟時(shí)間和周期,由“任務(wù)調(diào)度引擎”(詳細(xì)說(shuō)明見(jiàn)任務(wù)調(diào)度引擎說(shuō)明部分)去調(diào)用規(guī)則處理引擎,無(wú)需等待,不耽誤操作員進(jìn)行平臺(tái)其他功能的操作。3. 采用松耦合的設(shè)計(jì)原則

52、,在以后的項(xiàng)目維護(hù)過(guò)程中,規(guī)則處理器的實(shí)現(xiàn)修改不會(huì)影響到前臺(tái)操作員的操作,同樣有新規(guī)則需求擴(kuò)充時(shí),規(guī)則解析器和規(guī)則處理器都采用策略匹配設(shè)計(jì)原則,新增規(guī)則時(shí),只需針對(duì)新規(guī)則添加新的解析器和處理器,不需要對(duì)原有代碼結(jié)構(gòu)做任何調(diào)整。 規(guī)則解析器規(guī)則解析器示意圖 為了能讓程序去識(shí)別規(guī)則,系統(tǒng)必須對(duì)每個(gè)規(guī)則有個(gè)預(yù)定義的數(shù)據(jù)描述格式。規(guī)則解析器由兩個(gè)解析部分組成:正向解析:是程序把操作員填寫輸入的各種參數(shù),根據(jù)當(dāng)前設(shè)置的規(guī)則類型,按照預(yù)定義的數(shù)據(jù)描述格式,把參數(shù)插入到數(shù)據(jù)格式中,形成規(guī)則處理器能識(shí)別的規(guī)則數(shù)據(jù)描述。反向解析:是程序根據(jù)規(guī)則數(shù)據(jù)描述和預(yù)定義的數(shù)據(jù)描述格式,掃描出規(guī)則的各種參數(shù),

53、并把這些參數(shù)重新填寫到用戶界面中,讓操作員可以直觀的看懂規(guī)則內(nèi)容。操作員在頁(yè)面上設(shè)置的規(guī)則有各種各樣的參數(shù)包括表名、字段、字段值等,這些參數(shù)只有單獨(dú)的含義,程序是無(wú)法通過(guò)這些參數(shù)自動(dòng)識(shí)別并轉(zhuǎn)化成數(shù)據(jù)加工的數(shù)據(jù)庫(kù)條件的,所以我們需要把這些參數(shù)先轉(zhuǎn)換成程序可識(shí)別的一種描述語(yǔ)言。針對(duì)規(guī)則定義一個(gè)規(guī)則描述格式,參數(shù)值預(yù)留。在程序獲取用戶輸入?yún)?shù)后,把參數(shù)自動(dòng)填寫進(jìn)預(yù)留位置,形成程序可識(shí)別的規(guī)則描述。現(xiàn)在比較流行有的有XML和JSON兩種數(shù)據(jù)描述格式。 規(guī)則分發(fā)器規(guī)則分發(fā)器示意圖此功能主要提供根據(jù)規(guī)則或規(guī)則組的處理器類型,分別動(dòng)態(tài)去調(diào)用相符合的規(guī)則處理器去處理這條規(guī)則或規(guī)則組。每個(gè)交換項(xiàng)目

54、的規(guī)則或規(guī)則組數(shù)量和類型都不會(huì)相同,為了靈活適應(yīng)這種變化,規(guī)則分發(fā)器提供了一個(gè)統(tǒng)一的入口。可以接受任意數(shù)量和任意類型的規(guī)則或規(guī)則組。在規(guī)則分發(fā)器內(nèi)部去遍歷傳入的規(guī)則組列表,根據(jù)規(guī)則組的處理類型,動(dòng)態(tài)創(chuàng)建規(guī)則處理器的實(shí)例,來(lái)處理這條規(guī)則組。 規(guī)則處理器此功能主要負(fù)責(zé)去識(shí)別規(guī)則的描述語(yǔ)言格式動(dòng)態(tài)生成sql并完成數(shù)據(jù)處理部分的功能。規(guī)則處理器都是由規(guī)則分發(fā)器負(fù)責(zé)實(shí)例化,不同類型的規(guī)則或規(guī)則組都有自己專屬的規(guī)則處理器。所有的規(guī)則處理器都繼承自同一個(gè)父類,每個(gè)規(guī)則處理器都有自己特定的實(shí)現(xiàn)功能。例如新建最終數(shù)據(jù)表結(jié)構(gòu)規(guī)則處理器,根據(jù)新建最終數(shù)據(jù)表規(guī)則描述去動(dòng)態(tài)建立最終數(shù)據(jù)表;數(shù)據(jù)匹配處理器,

55、根據(jù)匹配規(guī)則組動(dòng)態(tài)生成sql select、update、insert語(yǔ)句,然后再根據(jù)這些sql語(yǔ)句去查詢數(shù)據(jù)進(jìn)行匹配。3.3.4 系統(tǒng)核心功能設(shè)計(jì)概述系統(tǒng)最核心的功能主要分為三個(gè)部分:數(shù)據(jù)導(dǎo)入,數(shù)據(jù)加工,數(shù)據(jù)應(yīng)用。具體流程如下圖所示:系統(tǒng)核心功能圖系統(tǒng)通過(guò)這三個(gè)部分,可以達(dá)到數(shù)據(jù)進(jìn)的來(lái),能加工,出的去的過(guò)程。下面針對(duì)每個(gè)環(huán)節(jié)作出更加詳細(xì)的描述。3.3.5 數(shù)據(jù)導(dǎo)入設(shè)計(jì) 概述【導(dǎo)入方式分類】導(dǎo)入方式分類圖導(dǎo)入方式根據(jù)數(shù)據(jù)來(lái)源的不同可以分為三種:數(shù)據(jù)庫(kù)直連;FTP自動(dòng)導(dǎo)入;界面手工導(dǎo)入。其中數(shù)據(jù)庫(kù)直連和FTP自動(dòng)導(dǎo)入屬于自動(dòng)導(dǎo)入,只需人為設(shè)置一次,之后的周期性任務(wù)都可由系統(tǒng)自動(dòng)完成

56、?!緦?dǎo)入流程】所有類型的導(dǎo)入流程如下圖所示:數(shù)據(jù)導(dǎo)入流程圖首先操作人員選擇是何種類型的導(dǎo)入方式,定義導(dǎo)入?yún)?shù),不同的導(dǎo)入方式需要以不同的參數(shù)設(shè)置,后續(xù)內(nèi)容會(huì)詳細(xì)描述。所有的參數(shù)都定制完成后系統(tǒng)會(huì)生成一條數(shù)據(jù)導(dǎo)入任務(wù)。任務(wù)調(diào)度引擎的任務(wù)適配器會(huì)監(jiān)測(cè)到此條任務(wù),此時(shí)任務(wù)管理器發(fā)出指令利用任務(wù)驅(qū)動(dòng)核心驅(qū)動(dòng)此條任務(wù),并且推入任務(wù)線程池。系統(tǒng)會(huì)對(duì)任務(wù)進(jìn)行管理和監(jiān)控。在任務(wù)執(zhí)行的過(guò)程中若出現(xiàn)異常(比如第三方數(shù)據(jù)源突然連接不上,交換平臺(tái)本身服務(wù)器環(huán)境異常等)操作人員在監(jiān)控中心會(huì)得到相應(yīng)的反饋信息,給出后續(xù)操作的建議。關(guān)于任務(wù)調(diào)度引擎以及其內(nèi)部組件的概念在3.3.2節(jié)中已經(jīng)給出詳細(xì)的解釋。執(zhí)行的任務(wù):根據(jù)導(dǎo)入?yún)?shù)的設(shè)置,后臺(tái)自動(dòng)建表,該表稱作原始數(shù)據(jù)表。執(zhí)行數(shù)據(jù)導(dǎo)入,將導(dǎo)入的數(shù)據(jù)存儲(chǔ)在原始數(shù)據(jù)表中。對(duì)于一個(gè)定制的導(dǎo)入,只對(duì)應(yīng)一張?jiān)紨?shù)據(jù)表,如果三方數(shù)據(jù)源涉及多張表達(dá)的情況,則需定制多個(gè)導(dǎo)入,或者將多張表在導(dǎo)入環(huán)節(jié)處理成一張表。導(dǎo)入界

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論