湖南省煙草專賣局經(jīng)濟(jì)信息中心 劉業(yè)鴻
湖南煙草內(nèi)部專賣管理信息系統(tǒng)技術(shù)架構(gòu)設(shè)計(jì)
湖南省煙草專賣局經(jīng)濟(jì)信息中心 劉業(yè)鴻
【摘要】本文通過對(duì)湖南煙草內(nèi)部專賣管理信息系統(tǒng)的現(xiàn)狀進(jìn)行分析,按照系統(tǒng)設(shè)計(jì)原則,從應(yīng)用架構(gòu)、邏輯架構(gòu)、系統(tǒng)部署、系統(tǒng)配置、運(yùn)行環(huán)境五方面進(jìn)行技術(shù)架構(gòu)設(shè)計(jì),提出了數(shù)據(jù)庫性能設(shè)計(jì)與程序性能優(yōu)化方案。
【關(guān)鍵詞】湖南煙草;內(nèi)部專場管理;信息系統(tǒng);技術(shù)架構(gòu)
湖南省2009年開發(fā)使用“湖南煙草內(nèi)部專賣管理監(jiān)督系統(tǒng)”,包括卷煙監(jiān)管模塊和煙葉監(jiān)管模塊,在過去的幾年,內(nèi)部專賣管理監(jiān)督信息系統(tǒng)對(duì)湖南省兩煙生產(chǎn)經(jīng)營內(nèi)部監(jiān)管工作的開展起到了重要的支撐作用。2013年,國家局頒布專賣內(nèi)管工作新規(guī)范和新要求,行業(yè)專賣內(nèi)管工作的職責(zé)范圍和工作流程都已經(jīng)發(fā)生很大的變化。針對(duì)專賣內(nèi)管工作中出現(xiàn)的監(jiān)管措施的設(shè)置同現(xiàn)階段生產(chǎn)經(jīng)營實(shí)際不符、針對(duì)性不強(qiáng),省市縣三級(jí)局缺乏層級(jí)間的督促指導(dǎo)、工作質(zhì)量沒保障等問題,為貫徹執(zhí)行行業(yè)內(nèi)部專賣管理監(jiān)督工作新要求和新規(guī)范,抓好全省行業(yè)監(jiān)管重點(diǎn),加強(qiáng)湖南省內(nèi)部專賣管理監(jiān)督,建立一個(gè)符合新的內(nèi)管工作要求同時(shí)兼顧湖南省專賣內(nèi)管工作實(shí)際需求,并按時(shí)與國家局專賣內(nèi)管系統(tǒng)對(duì)接成功的內(nèi)管信息系統(tǒng)已迫在眉睫。
省內(nèi)管信息系統(tǒng)的實(shí)現(xiàn)目標(biāo)包括:實(shí)現(xiàn)對(duì)兩煙生產(chǎn)經(jīng)營的動(dòng)態(tài)監(jiān)督,對(duì)關(guān)鍵環(huán)節(jié)進(jìn)行重點(diǎn)監(jiān)督;實(shí)現(xiàn)專賣內(nèi)管工作的委派管理,實(shí)現(xiàn)縱向管理和橫向溝通;實(shí)現(xiàn)與國家局內(nèi)管信息系統(tǒng)的無縫對(duì)接,準(zhǔn)確高效地上傳和接收信息;按照“平臺(tái)+應(yīng)用”的模式,搭建智能型業(yè)務(wù)監(jiān)管平臺(tái)。
本文針對(duì)省局內(nèi)管系統(tǒng)進(jìn)行技術(shù)架構(gòu)設(shè)計(jì),包括技術(shù)架構(gòu)、系統(tǒng)部署、系統(tǒng)管理設(shè)計(jì)、系統(tǒng)性能設(shè)計(jì)等內(nèi)容。
2.1 設(shè)計(jì)原則
系統(tǒng)設(shè)計(jì)堅(jiān)持“大集中,大協(xié)同、一體化”的技術(shù)路線,系統(tǒng)間的交互采用面向服務(wù)(SOA)架構(gòu)的設(shè)計(jì)思想,采用組件式開發(fā)模式,保證各功能模塊間是低耦合、高內(nèi)聚模式,本系統(tǒng)建設(shè)遵循以下的系統(tǒng)設(shè)計(jì)原則包括:先進(jìn)性原則、實(shí)用性原則、前瞻性、整體性和集成性原則、適應(yīng)性和擴(kuò)展性原則、可靠性和安全性原則等。
2.2 設(shè)計(jì)思路
按照“保障標(biāo)準(zhǔn)落地、掌握行業(yè)動(dòng)態(tài)、促進(jìn)內(nèi)管履職、改善監(jiān)管效能,全面推進(jìn)專賣內(nèi)管上水平”的業(yè)務(wù)總體思路,省局專賣內(nèi)管系統(tǒng)的核心技術(shù)思路和訴求是:綜合考慮行業(yè)安全保障體系、行業(yè)標(biāo)準(zhǔn)體系和運(yùn)維保障體系,對(duì)接行業(yè)系統(tǒng)、匯集行業(yè)資源、貫徹標(biāo)準(zhǔn)規(guī)范、監(jiān)測行業(yè)動(dòng)態(tài)和有效督導(dǎo)溝通。
3.1 應(yīng)用架構(gòu)
湖南內(nèi)管系統(tǒng)設(shè)計(jì)采用分層設(shè)計(jì)的方法,將整個(gè)系統(tǒng)劃分為接入層,應(yīng)用層,公共服務(wù)層及數(shù)據(jù)層。
■ 接入層:通過PC終端,登錄到內(nèi)管系統(tǒng)進(jìn)行日常工作的處理。
■ 應(yīng)用層:此層主要是系統(tǒng)的各項(xiàng)業(yè)務(wù)分類。匯集行業(yè)數(shù)據(jù)、掌握省內(nèi)動(dòng)態(tài);動(dòng)態(tài)監(jiān)測,推動(dòng)各級(jí)人員履職;強(qiáng)化督辦的針對(duì)性改善監(jiān)管效能。形成專賣內(nèi)管信息資源庫,實(shí)現(xiàn)統(tǒng)一資源管理、監(jiān)測與分析。
■ 服務(wù)組件:此層主要是整個(gè)系統(tǒng)的技術(shù)支撐層,包括電子表單、報(bào)表工具、流程管理、智能預(yù)警。這些組件支撐著整個(gè)系統(tǒng)業(yè)務(wù)的正常運(yùn)行。
■ 數(shù)據(jù)層:此層主要是整個(gè)系統(tǒng)的使用的數(shù)據(jù),包括內(nèi)管系統(tǒng)本身的數(shù)據(jù)庫外以及從其它業(yè)務(wù)系統(tǒng)的數(shù)據(jù)抽取。
3.2 邏輯架構(gòu)(見圖1)
圖1 系統(tǒng)邏輯架構(gòu)圖
湖南省內(nèi)管系統(tǒng)按照三大體系、一中心一平臺(tái)的方案進(jìn)行總體設(shè)計(jì)。
■ 三大體系:按照省局的信息化標(biāo)準(zhǔn)規(guī)范體系、信息化安全體系、運(yùn)維保障體系的標(biāo)準(zhǔn)來進(jìn)行架構(gòu)設(shè)計(jì)。
■ 一中心一平臺(tái):與數(shù)據(jù)中心進(jìn)行數(shù)據(jù)交互、獲取數(shù)據(jù);與一體化平臺(tái)進(jìn)行集成,實(shí)現(xiàn)單點(diǎn)登錄、待辦任務(wù)推送、服務(wù)集成、基礎(chǔ)數(shù)據(jù)同步。
3.3 系統(tǒng)部署
部署架構(gòu)包括:兩臺(tái)WAS服務(wù)器進(jìn)行群集部署,分散訪問壓力并保證系統(tǒng)的不間斷性。兩臺(tái)數(shù)據(jù)庫服務(wù)器做雙機(jī)熱備,用來完成數(shù)據(jù)的抽取及運(yùn)算加工。
3.4 運(yùn)行環(huán)境
應(yīng)用服務(wù)器操作系統(tǒng):Linux;數(shù)據(jù)庫服務(wù)器操作系統(tǒng):AIX;數(shù)據(jù)庫:DB2;應(yīng)用服務(wù)器:Webshere Application Server。
4.1 數(shù)據(jù)分區(qū)
在系統(tǒng)中有一部分?jǐn)?shù)據(jù)表由于業(yè)務(wù)的頻繁,其數(shù)據(jù)增長非常快。針對(duì)這種情況采用數(shù)據(jù)庫分區(qū)的方式進(jìn)行解決。依據(jù)時(shí)間段不同,每半年或是每季度進(jìn)行一次分區(qū)。
4.2 歷史數(shù)據(jù)表
隨著時(shí)間的積累,業(yè)務(wù)的增長,數(shù)據(jù)表中的數(shù)據(jù)越來越多,增長到一定數(shù)量時(shí)將嚴(yán)重影響性能,針對(duì)這種情況,系統(tǒng)設(shè)計(jì)時(shí)在業(yè)務(wù)流程全部完成后將已經(jīng)完成的相關(guān)數(shù)據(jù)實(shí)時(shí)遷移到歷史數(shù)據(jù)表中。這樣將數(shù)據(jù)劃分為2類:運(yùn)行中的實(shí)例數(shù)據(jù)和歷史的實(shí)例數(shù)據(jù)。只有當(dāng)前正在運(yùn)行的數(shù)據(jù)放在運(yùn)行表中。
4.3 數(shù)據(jù)預(yù)計(jì)算
對(duì)于較大的預(yù)警數(shù)據(jù)量,在后臺(tái)進(jìn)行預(yù)計(jì)算放到統(tǒng)計(jì)表中,客戶查詢時(shí)直接查看最終的統(tǒng)計(jì)結(jié)果。
4.4 表結(jié)構(gòu)設(shè)計(jì)
數(shù)據(jù)訪問功能分區(qū)設(shè)計(jì):配合工作流的數(shù)據(jù)訪問功能分區(qū)設(shè)計(jì),將系統(tǒng)的業(yè)務(wù)主表也進(jìn)行分區(qū)設(shè)計(jì),建立工作區(qū)、結(jié)果區(qū)、歷史區(qū);以保證運(yùn)行時(shí)數(shù)據(jù)庫表的讀取、更新速度。
適當(dāng)降低數(shù)據(jù)庫設(shè)計(jì)范式:為了在提升效率,在關(guān)鍵的數(shù)據(jù)庫表中適當(dāng)增加冗余字段,以減少數(shù)據(jù)庫表之間的關(guān)聯(lián)。
建立業(yè)務(wù)數(shù)據(jù)表:為了滿足不斷增加新的流程、新的業(yè)務(wù)的需
求,設(shè)計(jì)一個(gè)比較通用的數(shù)據(jù)庫表,類似于數(shù)據(jù)字典表,當(dāng)有新的業(yè)務(wù)需求,需要增加字段時(shí),只需要在頁面上配置一下屬性就可以完成。
針對(duì)并發(fā)性要求,從多線程設(shè)計(jì)、文件操作設(shè)計(jì)和代碼性能設(shè)計(jì)三方面說明。
5.1 多線程設(shè)計(jì)
在實(shí)現(xiàn)某個(gè)功能的時(shí)候,這個(gè)功能可能包含若干方法,所以當(dāng)程序順序執(zhí)行的時(shí)候,執(zhí)行的速度取決于每個(gè)方法執(zhí)行時(shí)間的總和,但是如果其中某些方法對(duì)頁面的展示及跳轉(zhuǎn)不會(huì)產(chǎn)生影響時(shí),這時(shí)我們可以采取多線程的策略,提升用戶體驗(yàn)。
5.2 文件操作設(shè)計(jì)
由于內(nèi)管系統(tǒng)文件數(shù)量比較少,所有文件操作都保存在數(shù)據(jù)庫里,為方便數(shù)據(jù)傳輸,與國家局文件存儲(chǔ)方式進(jìn)行統(tǒng)一。為符合集成要求,向門戶推送二進(jìn)制流的方式進(jìn)行文件傳輸??紤]到數(shù)據(jù)庫的穩(wěn)定性,可靠性,易于數(shù)據(jù)備份,數(shù)據(jù)遷移等多方面特點(diǎn),采用了通過數(shù)據(jù)庫大字段的形式存儲(chǔ)文件。
5.3 代碼性能設(shè)計(jì)
頁面提交采用Ajax技術(shù),主要體現(xiàn)在:把表單內(nèi)容都提交到后臺(tái)進(jìn)行處理,而不用刷新整個(gè)前臺(tái)頁面,只需要刷新更新的部分;在加載頁面時(shí),先把關(guān)鍵部分的內(nèi)容查詢出來顯示,提升用戶體驗(yàn),其他的內(nèi)容可以通過Ajax加載。對(duì)關(guān)鍵部分的數(shù)據(jù)庫操作,直接用SQL進(jìn)行處理。能獲得比較理想的速度。在編程實(shí)現(xiàn)上,應(yīng)盡量避免一些操作會(huì)占用大量的資源和CPU時(shí)間的編碼習(xí)慣。
5.4 系統(tǒng)緩存設(shè)計(jì)
為了提高、改善系統(tǒng)的整體性能,在web開發(fā)中使用Java提供的MemoryCache對(duì)一些數(shù)據(jù)進(jìn)行內(nèi)存緩存和通訊共享。我們將系統(tǒng)中的標(biāo)準(zhǔn)數(shù)據(jù)和系統(tǒng)管理數(shù)據(jù)緩存到Memcached中。Memcached客戶端采用觀察者模式監(jiān)控系統(tǒng)中的數(shù)據(jù)變化,當(dāng)發(fā)現(xiàn)系統(tǒng)緩存的數(shù)據(jù)變化時(shí),自動(dòng)同步更新Memcached所有集群服務(wù)中的對(duì)應(yīng)數(shù)據(jù),包括增加、修該、刪除。
本文對(duì)內(nèi)管系統(tǒng)進(jìn)行了技術(shù)架構(gòu)設(shè)計(jì),在開發(fā)過程中,還應(yīng)考慮數(shù)據(jù)流、數(shù)據(jù)集成、數(shù)據(jù)接口以及數(shù)據(jù)效驗(yàn)機(jī)制等,結(jié)合系統(tǒng)的功能以及需求全方位地進(jìn)行實(shí)現(xiàn)。
作者簡介:
劉業(yè)鴻(1973—),女,碩士,研究方向:信息管理與IT技術(shù)。