嚴(yán) 志
(長沙民政職業(yè)技術(shù)學(xué)院軟件學(xué)院,湖南長沙410004)
隨著網(wǎng)絡(luò)信息技術(shù)不斷發(fā)展,網(wǎng)絡(luò)信息服務(wù)逐步融入到人們的日常生活中,人們的衣、食、住、行都通過網(wǎng)絡(luò)信息系統(tǒng)解決。而其中分類信息系統(tǒng)正在加速行進(jìn),比如趕集網(wǎng)、58同城網(wǎng)等等,人們通過使用分類信息系統(tǒng)檢索信息及分享信息,最終實(shí)現(xiàn)信息交易。如何迅速布局分類信息系統(tǒng),分布式數(shù)據(jù)庫技術(shù)是其中最關(guān)鍵的技術(shù)之一,而數(shù)據(jù)同步技術(shù)是實(shí)現(xiàn)分布式數(shù)據(jù)共享的有效解決方案。
分布式數(shù)據(jù)庫系統(tǒng)由分布于多個(gè)計(jì)算機(jī)結(jié)點(diǎn)上的若干個(gè)數(shù)據(jù)庫子系統(tǒng)組成,它提供有效的信息存取和信息檢索來操縱這些結(jié)點(diǎn)上的子數(shù)據(jù)庫。分布式數(shù)據(jù)庫在使用上可視為一個(gè)完整的數(shù)據(jù)庫,而實(shí)際上它是物理分散、邏輯上關(guān)聯(lián)的系統(tǒng)。
為保持?jǐn)?shù)據(jù)的一致性,必須運(yùn)用數(shù)據(jù)同步技術(shù),實(shí)現(xiàn)物理上完全不同的數(shù)據(jù)庫之間的數(shù)據(jù)共享。當(dāng)應(yīng)用程序在集群數(shù)據(jù)庫中共享數(shù)據(jù)時(shí),其它數(shù)據(jù)庫將會(huì)作相同的修改,經(jīng)過同步,確保數(shù)據(jù)庫中數(shù)據(jù)的一致。
許多大型數(shù)據(jù)庫軟件供應(yīng)商,如Oracle、Sybase、DB2、Microsoft等都提出了自己的數(shù)據(jù)復(fù)制方案。這種方案可以滿足分布式同類型數(shù)據(jù)庫之間的同步,而對(duì)于異構(gòu)數(shù)據(jù)庫之間的數(shù)據(jù)同步則缺乏有效手段。
為實(shí)現(xiàn)分類信息系統(tǒng)數(shù)據(jù)一致,本文提出了一種適合中小型信息系統(tǒng)的數(shù)據(jù)同步方案。
分類信息系統(tǒng)以信息分類、分類檢索、信息發(fā)布、信息交易作為主要的功能,實(shí)現(xiàn)信息服務(wù)。具體功能圖如下圖1所示。
系統(tǒng)從邏輯上依次分布在瀏覽器、UI層、業(yè)務(wù)邏輯層、數(shù)據(jù)服務(wù)層。從程序分布位置角度分布在瀏覽層、應(yīng)用服務(wù)層、數(shù)據(jù)訪問層,如圖2所示:
在瀏覽器層面,分為用戶界面、界面處理服務(wù),用戶界面由Web元素組成,界面處理服務(wù)由JavaEE程序組成。表格、表單、樹等界面元素封裝成Web應(yīng)用組件,應(yīng)用到不同的功能模塊中。應(yīng)用服務(wù)器層程序分為Web請(qǐng)求與響應(yīng)服務(wù)程序、業(yè)務(wù)規(guī)則組件、數(shù)據(jù)訪問組件。Web請(qǐng)求與響應(yīng)程序?yàn)轳v留在Web容器的程序,負(fù)責(zé)接受來自瀏覽器的請(qǐng)求,并調(diào)用業(yè)務(wù)規(guī)則組件,并將處理結(jié)果返回給瀏覽器程序。數(shù)據(jù)服務(wù)層由關(guān)系數(shù)據(jù)庫系統(tǒng)、存儲(chǔ)過程組成,業(yè)務(wù)規(guī)則處理程序通過調(diào)用存儲(chǔ)過程或執(zhí)行SQL來存儲(chǔ)或查詢數(shù)據(jù)。
層次間的調(diào)用接口體現(xiàn)了相互間調(diào)用關(guān)系:
1.瀏覽器訪問:1為JavaEE及Web組件提供的屬性、方法、事件;
2.瀏覽器反饋:2為JavaEE及Web組件提供的屬性、方法、事件返回信息;
3.應(yīng)用層處理:3為Web請(qǐng)求,傳輸?shù)臄?shù)據(jù)格式為XML和URL;
4.應(yīng)用層反饋:4為Web響應(yīng),傳輸?shù)臄?shù)據(jù)格式為XML、類似XML的HTML和純文本;
5.數(shù)據(jù)層處理:5、6、7、8駐留在應(yīng)用服務(wù)器內(nèi)的 Web服務(wù)頁面、業(yè)務(wù)組件、數(shù)據(jù)訪問組件間的方法、屬性調(diào)用。
6.數(shù)據(jù)層反饋:9、10通過執(zhí)行數(shù)據(jù)存儲(chǔ)過程或SQL命令,維護(hù)數(shù)據(jù)庫查詢結(jié)果集。
7.數(shù)據(jù)同步操作:通過sql命令觸發(fā)數(shù)據(jù)同步執(zhí)行數(shù)據(jù)庫集群更新。
在分類信息系統(tǒng)中,系統(tǒng)最核心的業(yè)務(wù)是信息發(fā)布、信息審核、信息交易功能,其主要的工作流模型如下圖3所示:
信息發(fā)布之后,不能夠立即顯示到相關(guān)的類別中去,需要由系統(tǒng)管理員審核信息發(fā)布的內(nèi)容,為實(shí)現(xiàn)信息的自動(dòng)過濾和快捷發(fā)布,特設(shè)計(jì)信息審核自動(dòng)審核模型。
信息審核特征模型可用一個(gè)九元組表達(dá):
信息審批流程配置不僅包含審批流程名,還包括審批規(guī)則定義、流程管理、權(quán)限管理、系統(tǒng)安全及監(jiān)控機(jī)制及業(yè)務(wù)歸檔,詳細(xì)功能包含以下方面:
(1)業(yè)務(wù)定義:審批業(yè)務(wù)必須事先定義好業(yè)務(wù)規(guī)則名稱,為方便動(dòng)態(tài)審批的建立,先定義好審批流程中的各種角色,而且提供增刪改角色功能;
(2)審批流程配置:確定業(yè)務(wù)規(guī)則的起始點(diǎn),設(shè)定具體的角色映射,將具體的審批流程按照角色提交執(zhí)行下去,當(dāng)業(yè)務(wù)執(zhí)行到某中間節(jié)點(diǎn),在規(guī)定的時(shí)間內(nèi)沒有響應(yīng)時(shí)候,可以設(shè)置代理功能繼續(xù)提交;
(3)權(quán)限管理配置:由于企業(yè)內(nèi)部信息的保密性,使得某些信息必須在某些時(shí)刻不可見,必須對(duì)用戶的角色權(quán)限進(jìn)行明確的管理,特定的角色對(duì)應(yīng)特定的業(yè)務(wù)條件;
(4)流程監(jiān)控配置:審批提交按照預(yù)先設(shè)置好的業(yè)務(wù)規(guī)則,在多級(jí)審批業(yè)務(wù)中,對(duì)于上下級(jí)的提交或者查看為自動(dòng)激活提交者,使得信息的提交按照預(yù)先的執(zhí)行順序執(zhí)行下去;
(5)審批業(yè)務(wù)歸檔:各種審批業(yè)務(wù)文件按照一定的文件分類保存起來,以便以后查詢統(tǒng)計(jì)。
系統(tǒng)涉及的表比較多,針對(duì)核心功能、信息發(fā)布、信息審核、信息發(fā)布工作流過程,設(shè)計(jì)數(shù)據(jù)庫如下,主要包含用戶信息表userinfo,用戶發(fā)布信息表infoList、發(fā)布信息審核流程表infoChk、信息回復(fù)表infoReply。用戶登錄系統(tǒng)后,將發(fā)布的信息保存在表infoList中,然后由系統(tǒng)自動(dòng)加載審核,并將審核記錄保存在infoChk表,當(dāng)審核結(jié)束后,發(fā)布信息能夠公開發(fā)布到所在信息類別表中,用戶瀏覽該信息,并且提交該信息的回復(fù)。邏輯視圖如4所示。
本文研究了分類信息系統(tǒng)的核心架構(gòu),并對(duì)其中核心功能諸如信息發(fā)布、信息審核、信息公布作了深入分析,完成了對(duì)分類信息的研究,設(shè)計(jì)了分類信息系統(tǒng)架構(gòu)。
[1]徐晨.分類信息網(wǎng)站,下一個(gè)互聯(lián)網(wǎng)金礦[J].企業(yè)雜志,2009,33(44):56-57.
[2]汪榮榮.分類信息的數(shù)據(jù)倉庫平臺(tái)設(shè)計(jì)及實(shí)施[J].科技傳播,2010,22(5):153-155.
[3]王成良,鄭皎凌.基于分類信息單元模型的二次Web檢索[J].計(jì)算機(jī)應(yīng)用,2005,25(12):132-135.
[4]沈敏,許華虎,季永華,萬杰.基于XML的分布式異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步系統(tǒng)的研究[J].計(jì)算機(jī)工程,2005,21(5):184-186.
[5]丁軍平,蔡皖東.面向元信息分類的支持向量機(jī)改進(jìn)技術(shù)[J].西安交通大學(xué)學(xué)報(bào),2011,45(8):38-42.