• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于表驅(qū)動(dòng)的動(dòng)態(tài)數(shù)據(jù)上報(bào)管理系統(tǒng)研究

    2018-01-17 08:00:33鄭海寧顧進(jìn)鋒陸書涵張大紅
    關(guān)鍵詞:數(shù)據(jù)庫結(jié)構(gòu)用戶

    李 林 鄭海寧 彭 帆 顧進(jìn)鋒 陸書涵 張大紅

    (1.中國(guó)農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院, 北京 100083; 2.俄亥俄州立大學(xué)計(jì)算機(jī)與信息科學(xué), 哥倫布市 43210;3.北京林業(yè)大學(xué)經(jīng)濟(jì)管理學(xué)院, 北京 100083)

    引言

    隨著計(jì)算機(jī)信息技術(shù)的飛速發(fā)展,信息管理系統(tǒng)廣泛應(yīng)用于各個(gè)領(lǐng)域[1-6],相比于傳統(tǒng)人工管理方式,使用計(jì)算機(jī)進(jìn)行信息管理具有無法比擬的優(yōu)勢(shì):數(shù)據(jù)處理效率高、數(shù)據(jù)查詢快速準(zhǔn)確以及信息便于長(zhǎng)期保存等。信息管理系統(tǒng)種類較多,包含辦公自動(dòng)化系統(tǒng)、通信系統(tǒng)、交易處理系統(tǒng)、決策支持系統(tǒng)和數(shù)據(jù)填報(bào)及統(tǒng)計(jì)系統(tǒng)等,其中數(shù)據(jù)填報(bào)及統(tǒng)計(jì)系統(tǒng)在生態(tài)環(huán)境監(jiān)測(cè)和農(nóng)業(yè)生產(chǎn)信息管理中廣泛應(yīng)用[5-9]。

    數(shù)據(jù)填報(bào)及統(tǒng)計(jì)系統(tǒng)的一般業(yè)務(wù)流程為:填報(bào)人員填寫并上報(bào)數(shù)據(jù),在數(shù)據(jù)中心集中進(jìn)行數(shù)據(jù)管理、統(tǒng)計(jì)和計(jì)算工作,統(tǒng)計(jì)與計(jì)算的結(jié)果供各級(jí)用戶查詢?yōu)g覽。在傳統(tǒng)的數(shù)據(jù)填報(bào)及統(tǒng)計(jì)系統(tǒng)實(shí)現(xiàn)過程中,存在許多實(shí)際問題需要解決:反復(fù)從零開始,開發(fā)各種不同應(yīng)用目的的數(shù)據(jù)填報(bào)及統(tǒng)計(jì)系統(tǒng),使得單個(gè)系統(tǒng)的開發(fā)速度慢、周期長(zhǎng),開發(fā)效率低下,同時(shí)造成數(shù)據(jù)填報(bào)及統(tǒng)計(jì)類系統(tǒng)領(lǐng)域中代碼冗余量很大;將已完成的系統(tǒng)更換不同數(shù)據(jù)庫類型運(yùn)行,需要大量修改程序,系統(tǒng)本身無法靈活適應(yīng)不同的數(shù)據(jù)庫環(huán)境;當(dāng)系統(tǒng)需求改變時(shí),需要不斷修改代碼和測(cè)試程序,系統(tǒng)維護(hù)困難,不易擴(kuò)充。

    表驅(qū)動(dòng)法是改善系統(tǒng)可維護(hù)性和提高系統(tǒng)可擴(kuò)展性的有效手段之一,研究者多建立在具體需求結(jié)構(gòu)化分析的基礎(chǔ)上,對(duì)其研究以簡(jiǎn)化復(fù)雜任務(wù),提高工作效率[10-12]。軟件復(fù)用是提高軟件開發(fā)效率的通用思想,也是提高軟件可維護(hù)性的高效手段??蓮?fù)用軟件的應(yīng)用可極大降低相關(guān)領(lǐng)域內(nèi)軟件重復(fù)設(shè)計(jì)帶來的資源浪費(fèi),提高同領(lǐng)域內(nèi)軟件的規(guī)范化和標(biāo)準(zhǔn)化[13-17]。

    本文針對(duì)傳統(tǒng)的數(shù)據(jù)填報(bào)及統(tǒng)計(jì)系統(tǒng)實(shí)現(xiàn)過程中存在的問題,在表驅(qū)動(dòng)思想下,進(jìn)行相關(guān)數(shù)據(jù)庫設(shè)計(jì),并在此基礎(chǔ)上設(shè)計(jì)可復(fù)用軟件——?jiǎng)討B(tài)數(shù)據(jù)上報(bào)管理系統(tǒng),完成基于表驅(qū)動(dòng)的動(dòng)態(tài)數(shù)據(jù)上報(bào)管理系統(tǒng),并將其應(yīng)用到中國(guó)林業(yè)生態(tài)資源環(huán)境承載力:數(shù)據(jù)投放器和中國(guó)生態(tài)安全指數(shù)系統(tǒng)中,以測(cè)試該可復(fù)用軟件的有效性和實(shí)用性。

    1 數(shù)據(jù)填報(bào)及統(tǒng)計(jì)系統(tǒng)

    在數(shù)據(jù)填報(bào)及統(tǒng)計(jì)系統(tǒng)中,數(shù)據(jù)的輸入、運(yùn)算和輸出是其基本功能。在數(shù)據(jù)輸入時(shí),數(shù)據(jù)校驗(yàn)是重要的基礎(chǔ)性功能;進(jìn)行統(tǒng)計(jì)分析時(shí),填補(bǔ)缺失數(shù)據(jù)是首先要解決的問題;統(tǒng)計(jì)分析后,統(tǒng)計(jì)結(jié)果查詢輸出是必不可少的部分。為此,設(shè)計(jì)基于表驅(qū)動(dòng)的DDTMS,可以解決信息管理系統(tǒng)中數(shù)據(jù)填報(bào)及統(tǒng)計(jì)類系統(tǒng)的共性問題。

    數(shù)據(jù)填報(bào)及統(tǒng)計(jì)系統(tǒng)中基于表驅(qū)動(dòng)的DDTMS與應(yīng)用間的關(guān)系如圖1所示。數(shù)據(jù)層的指標(biāo)結(jié)構(gòu)表是數(shù)據(jù)庫的核心,包含系統(tǒng)所需收集的指標(biāo)體系,是指標(biāo)和指標(biāo)基礎(chǔ)數(shù)據(jù)以及指標(biāo)和指標(biāo)填報(bào)數(shù)據(jù)間的橋梁。而統(tǒng)計(jì)項(xiàng)結(jié)構(gòu)表是系統(tǒng)的輔助結(jié)構(gòu)表,包含系統(tǒng)所需統(tǒng)計(jì)的內(nèi)容項(xiàng),是統(tǒng)計(jì)項(xiàng)和統(tǒng)計(jì)數(shù)據(jù)間的橋梁。兩個(gè)結(jié)構(gòu)表共同驅(qū)動(dòng)上層的DDTMS完成其相應(yīng)功能。DDTMS位于中間層,受數(shù)據(jù)層2個(gè)結(jié)構(gòu)表驅(qū)動(dòng)服務(wù)于應(yīng)用層中的各應(yīng)用?;诒眚?qū)動(dòng)的數(shù)據(jù)上報(bào)管理系統(tǒng)動(dòng)態(tài)提供數(shù)據(jù)訪問、數(shù)據(jù)校驗(yàn)、空缺數(shù)據(jù)填補(bǔ)以及統(tǒng)計(jì)結(jié)果查詢輸出功能,通用于數(shù)據(jù)填報(bào)及統(tǒng)計(jì)系統(tǒng)中。

    圖1 DDTMS與應(yīng)用間的關(guān)系示意圖Fig.1 Sketch of relationship between DDTMS and application

    2 表驅(qū)動(dòng)及數(shù)據(jù)庫設(shè)計(jì)

    在不同的數(shù)據(jù)填報(bào)及統(tǒng)計(jì)系統(tǒng)中,所需收集的指標(biāo)和指標(biāo)描述參數(shù)不同,并且需提供具體選項(xiàng)以供用戶選擇的描述參數(shù)在不同指標(biāo)間存在差異。將指標(biāo)及其相關(guān)數(shù)據(jù)校驗(yàn)和空缺數(shù)據(jù)填補(bǔ)通過具體的程序?qū)崿F(xiàn),同時(shí)將指標(biāo)、指標(biāo)描述參數(shù)和具體選項(xiàng)內(nèi)容以固定的格式和內(nèi)容在數(shù)據(jù)填報(bào)及查詢界面中顯示,開發(fā)效率低,同時(shí)系統(tǒng)難以靈活適應(yīng)各種條件的變化,在不同的數(shù)據(jù)填報(bào)及統(tǒng)計(jì)系統(tǒng)間更缺乏普適性。

    圖2 數(shù)據(jù)庫表間關(guān)系圖Fig.2 Relationship diagram between database tables

    針對(duì)上述問題,基于表驅(qū)動(dòng)法[10-12]設(shè)計(jì)可擴(kuò)展數(shù)據(jù)庫[18-19],表間關(guān)系圖如圖2所示。其中T_ZBB是指標(biāo)結(jié)構(gòu)表(以下簡(jiǎn)稱結(jié)構(gòu)表)。結(jié)構(gòu)表是建立在具體需求結(jié)構(gòu)化分析的基礎(chǔ)上,形成的指標(biāo)與不同功能中具體信息的對(duì)應(yīng)關(guān)系表,是系統(tǒng)的驅(qū)動(dòng)表,也是整個(gè)數(shù)據(jù)庫的核心表。T_ZB0_LY、T_ZB0_DW 和T_ZB0_KQ這3個(gè)表是基礎(chǔ)數(shù)據(jù)表,分別存放供用戶選擇的指標(biāo)數(shù)據(jù)來源單位、數(shù)值單位和數(shù)據(jù)空缺原因3個(gè)指標(biāo)描述參數(shù)的具體選項(xiàng)內(nèi)容。T_ZB0_SJ_LY、T_ZB0_SJ_DW、T_ZB0_SJ_KQ和T_ZB0_SJ_YS這4個(gè)表是填報(bào)數(shù)據(jù)表,分別存放已收集的不同地區(qū)不同年份的來源單位、數(shù)值單位、數(shù)據(jù)空缺原因和數(shù)值數(shù)據(jù)。表T_ZB0_SJ與表T_ZB0_SJ_YS相對(duì)應(yīng),存放將表T_ZB0_SJ_YS中數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)單位后的數(shù)據(jù)。T_TJB表是統(tǒng)計(jì)項(xiàng)結(jié)構(gòu)表,是系統(tǒng)的輔助結(jié)構(gòu)表,存放統(tǒng)計(jì)的內(nèi)容項(xiàng)。T_ZB0_SJ_TJ是統(tǒng)計(jì)結(jié)果表,存放填報(bào)后的統(tǒng)計(jì)數(shù)據(jù)。

    數(shù)據(jù)校驗(yàn)分為單指標(biāo)校驗(yàn)和多指標(biāo)校驗(yàn)兩部分。在結(jié)構(gòu)表中,ZBB_JY字段中存放正則表達(dá)式,作為對(duì)應(yīng)指標(biāo)的單指標(biāo)校驗(yàn)條件;ZBB_DJY字段中存放指標(biāo)間的關(guān)系表達(dá)式,作為多指標(biāo)校驗(yàn)條件;ZBB_ZB字段用于存放指標(biāo)相對(duì)應(yīng)的填補(bǔ)方式。實(shí)現(xiàn)了指標(biāo)與不同功能的具體實(shí)現(xiàn)方式間的相互對(duì)應(yīng),邏輯關(guān)系結(jié)構(gòu)清晰,便于后續(xù)調(diào)用。在具體功能實(shí)現(xiàn)時(shí),如圖3所示,將具體業(yè)務(wù)處理程序中變化頻繁的部分從程序中抽離,存放到結(jié)構(gòu)表中,將業(yè)務(wù)處理程序轉(zhuǎn)換為可動(dòng)態(tài)改變的結(jié)構(gòu)表和抽象控制程序[12]。抽象控制程序通過調(diào)用結(jié)構(gòu)表中的數(shù)據(jù)實(shí)現(xiàn)具體功能,不隨具體需求的改變而變化。當(dāng)需要收集的指標(biāo)發(fā)生變化時(shí),只需要增減結(jié)構(gòu)表中的記錄,并通過ZBB_JY、ZBB_DJY和ZBB_ZB字段調(diào)配具體指標(biāo)對(duì)應(yīng)的單指標(biāo)校驗(yàn)條件、多指標(biāo)校驗(yàn)條件和空缺數(shù)據(jù)填補(bǔ)方式即可,無需修改程序,極大地提高了系統(tǒng)的可擴(kuò)展性和易維護(hù)性。

    圖3 在表驅(qū)動(dòng)思想下實(shí)現(xiàn)相關(guān)功能Fig.3 Realizing function through table-driven methods

    受橋接模式[20]設(shè)計(jì)思想的啟發(fā),將一個(gè)指標(biāo)所對(duì)應(yīng)的多個(gè)描述參數(shù)看作多個(gè)實(shí)體,每個(gè)實(shí)體對(duì)應(yīng)多個(gè)選項(xiàng)內(nèi)容。每個(gè)實(shí)體對(duì)應(yīng)一張數(shù)據(jù)庫表,通過增減表的個(gè)數(shù)實(shí)現(xiàn)描述參數(shù)的有效擴(kuò)展,通過增減實(shí)體所對(duì)應(yīng)的選項(xiàng)內(nèi)容實(shí)現(xiàn)相應(yīng)描述參數(shù)下具體選項(xiàng)內(nèi)容的有效擴(kuò)展。對(duì)于部分描述參數(shù),提供具體選項(xiàng)以供用戶選擇,在一定程度上保障了數(shù)據(jù)錄入的規(guī)范性。具體設(shè)計(jì)時(shí),在結(jié)構(gòu)表中,通過ZBB_LY、ZBB_DW 和ZBB_KQ 3個(gè)字段實(shí)現(xiàn)指標(biāo)與每個(gè)描述參數(shù)的具體選項(xiàng)內(nèi)容間的關(guān)聯(lián)。當(dāng)指標(biāo)的描述參數(shù)發(fā)生變化時(shí),可增減基礎(chǔ)數(shù)據(jù)表和結(jié)構(gòu)表中相應(yīng)字段;當(dāng)指標(biāo)描述參數(shù)中的具體選項(xiàng)內(nèi)容發(fā)生變化時(shí),可直接修改相應(yīng)基礎(chǔ)數(shù)據(jù)表中的具體內(nèi)容。與數(shù)據(jù)校驗(yàn)和空缺數(shù)據(jù)填補(bǔ)類似,數(shù)據(jù)填報(bào)及查詢界面中的指標(biāo)、指標(biāo)描述參數(shù)和具體選項(xiàng)內(nèi)容均通過抽象控制程序從數(shù)據(jù)庫中動(dòng)態(tài)獲取并顯示。通過這種可靈活擴(kuò)展的設(shè)計(jì)方式,系統(tǒng)可很好地適應(yīng)指標(biāo)、指標(biāo)描述參數(shù)和具體選項(xiàng)內(nèi)容的變化。

    在結(jié)構(gòu)表中,ZBB_YX字段中的內(nèi)容用于控制指標(biāo)的有效性。ZBB_ZD字段的內(nèi)容建立了指標(biāo)與具體填報(bào)數(shù)據(jù)表和統(tǒng)計(jì)結(jié)果表中ZB0_SJ_001、ZB0_SJ_002,…,ZB0_SJ_160字段的對(duì)應(yīng)關(guān)系,節(jié)省了大量指標(biāo)名稱的存儲(chǔ)開銷;同時(shí)代表相應(yīng)指標(biāo)的變量表示,構(gòu)建了ZBB_DJY字段中指標(biāo)間的關(guān)系表達(dá)式。同樣,統(tǒng)計(jì)項(xiàng)結(jié)構(gòu)表中TJB_ZD字段內(nèi)容建立統(tǒng)計(jì)項(xiàng)與統(tǒng)計(jì)結(jié)果表中字段的對(duì)應(yīng)關(guān)系。通過基礎(chǔ)數(shù)據(jù)表將指標(biāo)描述參數(shù)的具體選項(xiàng)內(nèi)容編碼,在存儲(chǔ)指標(biāo)數(shù)據(jù)時(shí),以數(shù)字編碼代替冗長(zhǎng)的選項(xiàng)內(nèi)容存儲(chǔ)于填報(bào)數(shù)據(jù)表,實(shí)現(xiàn)數(shù)據(jù)壓縮,從而節(jié)省傳輸與存儲(chǔ)開銷?;诒眚?qū)動(dòng)法的可擴(kuò)展數(shù)據(jù)庫極大改善了系統(tǒng)的靈活性與普適性,為后續(xù)設(shè)計(jì)和實(shí)現(xiàn)DDTMS奠定基礎(chǔ)。

    3 動(dòng)態(tài)數(shù)據(jù)上報(bào)管理系統(tǒng)

    3.1 系統(tǒng)設(shè)計(jì)

    本文所設(shè)計(jì)的DDTMS位于操作系統(tǒng)之上,通過網(wǎng)絡(luò)為上層分布式應(yīng)用軟件——數(shù)據(jù)填報(bào)及統(tǒng)計(jì)系統(tǒng)提供數(shù)據(jù)訪問、數(shù)據(jù)校驗(yàn)、空缺數(shù)據(jù)填補(bǔ)以及統(tǒng)計(jì)結(jié)果查詢輸出服務(wù)。

    3.1.1系統(tǒng)框架體系結(jié)構(gòu)

    分析數(shù)據(jù)填報(bào)及統(tǒng)計(jì)系統(tǒng)業(yè)務(wù)模式,同時(shí)考慮客戶端操作方便、簡(jiǎn)單,本文設(shè)計(jì)的DDTMS采用B/S3層體系結(jié)構(gòu)即Browser/Web Server/DataBase Server。DDTMS整個(gè)系統(tǒng)框架如圖4所示。其中數(shù)據(jù)訪問構(gòu)件、多指標(biāo)校驗(yàn)構(gòu)件、空缺數(shù)據(jù)填補(bǔ)構(gòu)件和統(tǒng)計(jì)結(jié)果查詢輸出構(gòu)件通過C#語言實(shí)現(xiàn),運(yùn)行于Web服務(wù)器的操作系統(tǒng)上;而單指標(biāo)校驗(yàn)構(gòu)件基于jQuery框架研發(fā),運(yùn)行于客戶端操作系統(tǒng)上,提供單指標(biāo)即時(shí)校驗(yàn)服務(wù)[21]。DDTMS通過數(shù)據(jù)訪問構(gòu)件與數(shù)據(jù)庫交互,利用HTTP協(xié)議借助Internet與客戶端瀏覽器進(jìn)行信息通信,數(shù)據(jù)以JSON形式傳輸。

    圖4 DDTMS框架體系結(jié)構(gòu)圖Fig.4 DDTMS framework architecture

    3.1.2系統(tǒng)功能設(shè)計(jì)

    圖5 DDTMS功能模塊組織結(jié)構(gòu)圖Fig.5 Structure diagram of DDTMS functional modules

    圖5是DDTMS功能模塊組織結(jié)構(gòu),DDTMS主要?jiǎng)澐譃閿?shù)據(jù)庫接口管理模塊、數(shù)據(jù)庫訪問模塊、單指標(biāo)數(shù)據(jù)校驗(yàn)?zāi)K、多指標(biāo)數(shù)據(jù)校驗(yàn)?zāi)K、空缺數(shù)據(jù)填補(bǔ)模塊、統(tǒng)計(jì)結(jié)果查詢模塊和統(tǒng)計(jì)結(jié)果輸出模塊。數(shù)據(jù)庫接口管理負(fù)責(zé)對(duì)DDTMS中與不同數(shù)據(jù)庫交互的接口進(jìn)行管理及調(diào)用;數(shù)據(jù)庫訪問實(shí)現(xiàn)對(duì)數(shù)據(jù)庫中具體表及字段的操作;單指標(biāo)數(shù)據(jù)校驗(yàn)和多指標(biāo)數(shù)據(jù)校驗(yàn)負(fù)責(zé)對(duì)填報(bào)的指標(biāo)數(shù)據(jù)進(jìn)行指標(biāo)及指標(biāo)間的校驗(yàn);空缺數(shù)據(jù)填補(bǔ)根據(jù)具體指標(biāo)的性質(zhì)對(duì)具有可填補(bǔ)性質(zhì)的指標(biāo)進(jìn)行空缺數(shù)據(jù)填補(bǔ);統(tǒng)計(jì)結(jié)果查詢和統(tǒng)計(jì)結(jié)果輸出是針對(duì)于統(tǒng)計(jì)完成后的結(jié)果數(shù)據(jù),實(shí)現(xiàn)根據(jù)用戶的查詢條件,從數(shù)據(jù)庫中查詢并輸出到查詢顯示界面。

    3.2 主要構(gòu)件設(shè)計(jì)

    3.2.1數(shù)據(jù)訪問構(gòu)件

    圖6 數(shù)據(jù)訪問構(gòu)件設(shè)計(jì)模型Fig.6 Design model of data access component

    數(shù)據(jù)訪問構(gòu)件支持DDTMS對(duì)不同數(shù)據(jù)庫訪問,支撐上層業(yè)務(wù)邏輯的實(shí)現(xiàn)。分析其內(nèi)部具體的業(yè)務(wù)實(shí)現(xiàn),筆者將數(shù)據(jù)訪問構(gòu)件分為訪問層、工廠層和DAL應(yīng)用層。數(shù)據(jù)訪問構(gòu)件的設(shè)計(jì)模型如圖6所示。

    訪問層將不同數(shù)據(jù)庫中連接關(guān)閉數(shù)據(jù)庫、執(zhí)行SQL語句和執(zhí)行存儲(chǔ)過程等操作方法分別進(jìn)行封裝,形成一系列對(duì)不同數(shù)據(jù)庫的訪問類。支持SQL Server、MySQL、Oracle、Access等基本數(shù)據(jù)庫。為使數(shù)據(jù)訪問構(gòu)件可以自動(dòng)靈活地與不同數(shù)據(jù)庫交互,在工廠層采用工廠模式[22-23]與反射相結(jié)合的方式。采用工廠模式的工廠層類圖如圖7所示。SQLServerDbHelper、OracleDbHelper和AccessDbHelper等為不同數(shù)據(jù)庫的訪問類。接口IDbHelper中包含一系列抽象方法以定義所需要的訪問功能:連接和關(guān)閉數(shù)據(jù)庫,執(zhí)行一條或多條SQL語句、執(zhí)行存儲(chǔ)過程等等,由于包含的方法很多,在類圖中以省略號(hào)表示。每個(gè)訪問類都實(shí)現(xiàn)接口IDbHelper,提供各自具體的數(shù)據(jù)庫訪問方法。根據(jù)配置文件中選擇的數(shù)據(jù)庫,工廠類DbFactory的構(gòu)造方法通過反射機(jī)制將相應(yīng)數(shù)據(jù)庫對(duì)應(yīng)的訪問類實(shí)例化,生成數(shù)據(jù)庫訪問對(duì)象,實(shí)現(xiàn)對(duì)其它數(shù)據(jù)庫訪問類的屏蔽。在DAL應(yīng)用層中,為了將業(yè)務(wù)邏輯與數(shù)據(jù)庫之間解耦合,以使數(shù)據(jù)庫層對(duì)于業(yè)務(wù)邏輯透明,實(shí)現(xiàn)真正的完全面向?qū)ο螅疚臄?shù)據(jù)訪問構(gòu)件將數(shù)據(jù)庫中的表映射為實(shí)體對(duì)象Model。在對(duì)象-關(guān)系映射引擎中[24],通過工廠類調(diào)用GetDbHelper方法直接獲取當(dāng)前數(shù)據(jù)庫所對(duì)應(yīng)的數(shù)據(jù)庫訪問對(duì)象,實(shí)現(xiàn)對(duì)相應(yīng)實(shí)體對(duì)象Model的持久化。

    圖7 工廠層類圖Fig.7 Class diagram of factory layer

    3.2.2數(shù)據(jù)校驗(yàn)構(gòu)件

    數(shù)據(jù)校驗(yàn)[25-26]是指標(biāo)數(shù)據(jù)填報(bào)的關(guān)鍵環(huán)節(jié)之一。數(shù)據(jù)填報(bào)時(shí),多出現(xiàn)數(shù)值格式錯(cuò)誤、數(shù)值空缺、數(shù)值精度不統(tǒng)一、數(shù)值大小不符合邏輯和指標(biāo)數(shù)值間的關(guān)系不滿足業(yè)務(wù)規(guī)則等情況。為了保障所收集數(shù)據(jù)的可用性,在數(shù)據(jù)錄入時(shí),對(duì)數(shù)據(jù)進(jìn)行了嚴(yán)格的“過濾”,保障數(shù)據(jù)庫中數(shù)據(jù)的準(zhǔn)確性、可用性和完整性。為此,在DDTMS中設(shè)計(jì)數(shù)據(jù)校驗(yàn)構(gòu)件,數(shù)據(jù)校驗(yàn)構(gòu)件的架構(gòu)如圖8所示。按照檢驗(yàn)實(shí)現(xiàn)的邏輯復(fù)雜度,將幾種數(shù)值出現(xiàn)錯(cuò)誤的情況進(jìn)行劃分,分別設(shè)計(jì)單指標(biāo)校驗(yàn)構(gòu)件和多指標(biāo)校驗(yàn)構(gòu)件,單指標(biāo)校驗(yàn)構(gòu)件負(fù)責(zé)處理邏輯復(fù)雜度低的檢驗(yàn),而多指標(biāo)校驗(yàn)構(gòu)件負(fù)責(zé)檢驗(yàn)較為復(fù)雜的指標(biāo)間的業(yè)務(wù)邏輯??紤]到網(wǎng)絡(luò)傳輸開銷,單指標(biāo)校驗(yàn)構(gòu)件在客戶端通過輕量級(jí)的jQuery方式實(shí)現(xiàn),以加快檢驗(yàn)的速度,提高系統(tǒng)交互性[21]。

    圖8 數(shù)據(jù)校驗(yàn)構(gòu)件架構(gòu)Fig.8 Architecture of data verification component

    圖10 多指標(biāo)檢驗(yàn)?zāi)J紽ig.10 Multi-index logic test

    圖9 單指標(biāo)檢驗(yàn)?zāi)J紽ig.9 Single index test

    單指標(biāo)校驗(yàn)構(gòu)件中的單指標(biāo)檢驗(yàn)用于檢驗(yàn)數(shù)據(jù)格式、空缺和精度,并將問題數(shù)據(jù)及錯(cuò)誤提示返回給用戶,通過用戶核對(duì)修改完成校驗(yàn)。單指標(biāo)檢驗(yàn)?zāi)J绞疽鈭D如圖9所示。需要用戶錄入的指標(biāo)來自于結(jié)構(gòu)表。結(jié)構(gòu)表ZBB_JY字段中存放相應(yīng)指標(biāo)數(shù)值檢驗(yàn)的正則表達(dá)式,與用戶輸入的指標(biāo)數(shù)值形成一一對(duì)應(yīng)的關(guān)系。以此為基礎(chǔ),通過jQuery抽象控制程序?qū)崿F(xiàn)客戶端單指標(biāo)檢驗(yàn)。當(dāng)指標(biāo)或者具體指標(biāo)的檢驗(yàn)條件發(fā)生變化時(shí),通過增減結(jié)構(gòu)表中的記錄或更改ZBB_JY字段中相應(yīng)正則表達(dá)式式進(jìn)行維護(hù),無需更改jQuery抽象控制程序,方便維護(hù)的同時(shí),可實(shí)現(xiàn)指標(biāo)的快速擴(kuò)展。針對(duì)無法嚴(yán)格限定其數(shù)值具體值域范圍的指標(biāo),設(shè)計(jì)波動(dòng)檢驗(yàn)。通過分析數(shù)據(jù)庫中的歷史數(shù)據(jù),給出預(yù)期的指標(biāo)數(shù)值。將其與用戶輸入的指標(biāo)數(shù)值比較,若相差過大,則僅僅給予用戶提醒,并不對(duì)指標(biāo)數(shù)值進(jìn)行“過濾”操作。通過波動(dòng)檢驗(yàn),一方面規(guī)避了極端因素影響的問題,另一方面也有效解決了因用戶失誤導(dǎo)致的指標(biāo)數(shù)值過大或過小問題。多指標(biāo)檢驗(yàn)時(shí),以表達(dá)式的形式描述指標(biāo)間的業(yè)務(wù)規(guī)則,其中表達(dá)式以字符串的形式存儲(chǔ)于結(jié)構(gòu)表中的ZBB_DJY字段。考慮多指標(biāo)檢驗(yàn)的具體實(shí)現(xiàn),多指標(biāo)校驗(yàn)構(gòu)件需要在Web服務(wù)器完成。多指標(biāo)檢驗(yàn)設(shè)計(jì)如圖10所示,其中DBcheck類中的ZD、ZBName和GS屬性分別與結(jié)構(gòu)表中ZBB_ZD、ZBB_MC和ZBB_DJY字段對(duì)應(yīng)。圖10中的抽象控制程序內(nèi)包含了多指標(biāo)檢驗(yàn)實(shí)現(xiàn)的過程及方法。為了執(zhí)行字符串類型的關(guān)系表達(dá)式同時(shí)判斷并給出相應(yīng)指標(biāo)的錯(cuò)誤信息提示,動(dòng)態(tài)創(chuàng)建多指標(biāo)檢驗(yàn)代碼,經(jīng)過代碼的動(dòng)態(tài)編譯并執(zhí)行[27],實(shí)現(xiàn)多指標(biāo)檢驗(yàn)功能。與單指標(biāo)校驗(yàn)構(gòu)件類似,當(dāng)指標(biāo)體系或其內(nèi)部關(guān)系發(fā)生改變時(shí),只需要更改結(jié)構(gòu)表內(nèi)容,無需改動(dòng)抽象控制程序便可實(shí)現(xiàn)相應(yīng)內(nèi)容及多指標(biāo)檢驗(yàn)功能的動(dòng)態(tài)改變。數(shù)據(jù)校驗(yàn)構(gòu)件為可復(fù)用構(gòu)件,將校驗(yàn)的具體需求內(nèi)容與功能實(shí)現(xiàn)解耦合,為DDTMS提供數(shù)據(jù)校驗(yàn)功能。

    3.2.3空缺數(shù)據(jù)填補(bǔ)構(gòu)件

    由于數(shù)據(jù)采集能力有限或數(shù)據(jù)丟失等各種原因,使得用戶填報(bào)時(shí)有空缺數(shù)據(jù)存在,造成系統(tǒng)收集的數(shù)據(jù)不全。為此,根據(jù)指標(biāo)性質(zhì)和具體的特性,采取合理的方式填補(bǔ)[28-29]。

    分析所需收集的指標(biāo)性質(zhì),將可填補(bǔ)的指標(biāo)抽象為類——可填補(bǔ)指標(biāo),將其中可通過相同方法填補(bǔ)的指標(biāo)抽象為一類??筛鶕?jù)不同類指標(biāo)實(shí)際填補(bǔ)需求,創(chuàng)建并擴(kuò)展可填補(bǔ)指標(biāo)的子類。類圖如圖11所示,人口型空間類指標(biāo)、面積型空間類指標(biāo)等均繼承自可填補(bǔ)指標(biāo),作為可填補(bǔ)指標(biāo)的子類,它們根據(jù)各自的填補(bǔ)算法實(shí)現(xiàn)了可填補(bǔ)指標(biāo)的抽象方法:空缺數(shù)據(jù)填補(bǔ)方法。在明確類及類間關(guān)系的基礎(chǔ)上,設(shè)計(jì)并完成空缺數(shù)據(jù)填補(bǔ)構(gòu)件。其內(nèi)部工作模式如圖12所示。結(jié)構(gòu)表中的ZBB_ZB字段給出了具體指標(biāo)的填補(bǔ)方式,填補(bǔ)方式與可填補(bǔ)指標(biāo)子類之間為一一對(duì)應(yīng)關(guān)系。在空缺數(shù)據(jù)填補(bǔ)時(shí),通過抽象控制程序確定具體指標(biāo)的所屬類,并調(diào)用相應(yīng)類的空缺數(shù)據(jù)填補(bǔ)方法實(shí)現(xiàn)具體的數(shù)據(jù)填補(bǔ)。當(dāng)指標(biāo)發(fā)生變化時(shí),只需更改結(jié)構(gòu)表;當(dāng)需要增添新的填補(bǔ)方式時(shí),可通過創(chuàng)建可填補(bǔ)指標(biāo)子類,并在子類中實(shí)現(xiàn)其空缺數(shù)據(jù)填補(bǔ)方法。將不同指標(biāo)及其填補(bǔ)方法與填補(bǔ)功能的具體實(shí)現(xiàn)解耦合,提高了空缺數(shù)據(jù)填補(bǔ)構(gòu)件的可擴(kuò)展性,良好的可擴(kuò)展性支撐其可進(jìn)行指標(biāo)及空缺數(shù)據(jù)填補(bǔ)方法的快速擴(kuò)充,進(jìn)而提高DDTMS的普適性。

    圖11 可填補(bǔ)指標(biāo)類圖Fig.11 Class diagram of index

    圖12 空缺數(shù)據(jù)填補(bǔ)構(gòu)件內(nèi)部工作模式Fig.12 Internal working model of vacancy data filling component

    3.2.4統(tǒng)計(jì)結(jié)果查詢輸出構(gòu)件

    在數(shù)據(jù)填報(bào)及統(tǒng)計(jì)類系統(tǒng)中,查詢并查看指標(biāo)統(tǒng)計(jì)結(jié)果是必不可少的部分。本文總結(jié)其實(shí)現(xiàn)的一般過程,提取出統(tǒng)計(jì)結(jié)果查詢輸出部分,設(shè)計(jì)統(tǒng)計(jì)結(jié)果查詢輸出構(gòu)件,作為解決查詢查看統(tǒng)計(jì)結(jié)果問題的通用構(gòu)件。

    在統(tǒng)計(jì)結(jié)果查詢輸出構(gòu)件中,將用戶選擇的查詢條件作為輸入?yún)?shù),根據(jù)輸入?yún)?shù)查詢統(tǒng)計(jì)結(jié)果數(shù)據(jù)庫,將查詢出的數(shù)據(jù)封裝于業(yè)務(wù)實(shí)體對(duì)象中并輸出。如圖13所示。分析用戶查詢條件,將輸入?yún)?shù)分為3類,第1類為一個(gè)地區(qū)一個(gè)年份統(tǒng)計(jì)項(xiàng)查詢,參數(shù)包括用戶查詢的地區(qū)、查詢的年份和查詢的統(tǒng)計(jì)項(xiàng)信息;第2類為多個(gè)地區(qū)一個(gè)年份統(tǒng)計(jì)項(xiàng)查詢,參數(shù)包括用戶查詢的地區(qū)數(shù)組、查詢的年份和查詢的統(tǒng)計(jì)項(xiàng)信息;第3類為一個(gè)地區(qū)多個(gè)年份統(tǒng)計(jì)項(xiàng)查詢,參數(shù)包括用戶查詢的年份數(shù)組、查詢的地區(qū)和查詢的統(tǒng)計(jì)項(xiàng)信息。抽象控制程序接收客戶端傳來的查詢參數(shù),根據(jù)用戶查詢的統(tǒng)計(jì)項(xiàng)參數(shù),查詢統(tǒng)計(jì)項(xiàng)結(jié)構(gòu)表返回相應(yīng)統(tǒng)計(jì)項(xiàng)及其在統(tǒng)計(jì)結(jié)果表中的對(duì)應(yīng)字段,并將此字段作為統(tǒng)計(jì)項(xiàng)查詢字段,將返回的信息裝載于統(tǒng)計(jì)項(xiàng)對(duì)象集合。根據(jù)輸入?yún)?shù)中的地區(qū)信息、年份信息以及統(tǒng)計(jì)項(xiàng)對(duì)象集合,查詢統(tǒng)計(jì)結(jié)果表返回查詢結(jié)果數(shù)據(jù)集。為接收并傳輸查詢的結(jié)果數(shù)據(jù),構(gòu)建ZBValue類作為業(yè)務(wù)實(shí)體類,ZBValue類承擔(dān)數(shù)據(jù)載體的任務(wù),用于封裝并傳輸查詢的結(jié)果數(shù)據(jù)。根據(jù)查詢結(jié)果數(shù)據(jù)集的具體條數(shù),多次實(shí)例化ZBValue類,生成ZBValue對(duì)象集合。將查詢的數(shù)據(jù)封裝于對(duì)象集合中,并將其輸出。

    圖13 統(tǒng)計(jì)結(jié)果查詢輸出構(gòu)件工作模式Fig.13 Working model of statistical result query component

    4 動(dòng)態(tài)數(shù)據(jù)上報(bào)管理系統(tǒng)的實(shí)現(xiàn)與測(cè)試

    4.1 動(dòng)態(tài)數(shù)據(jù)上報(bào)管理系統(tǒng)的實(shí)現(xiàn)

    DDTMS基于Visual Studio 2013平臺(tái)開發(fā),分別使用SQL Server 2008、Oracle和Access數(shù)據(jù)庫實(shí)現(xiàn)表驅(qū)動(dòng)及相關(guān)數(shù)據(jù)庫設(shè)計(jì),DDTMS中不同構(gòu)件分別采用了不同的技術(shù)和插件進(jìn)行開發(fā)。

    4.1.1數(shù)據(jù)訪問構(gòu)件的實(shí)現(xiàn)

    數(shù)據(jù)訪問構(gòu)件中,為了獲取更好的數(shù)據(jù)庫訪問性能,本文根據(jù)不同數(shù)據(jù)庫采用有針對(duì)性的數(shù)據(jù)庫接口,對(duì)于SQL Server數(shù)據(jù)庫,用SqlConnection類連接數(shù)據(jù)庫;用SqlCommand類執(zhí)行Transact-SQL語句或存儲(chǔ)過程;使用SqlDataAdapter類作為DataSet和 SQL Server之間的橋接器。而對(duì)于Oracle數(shù)據(jù)庫,分別采用OracleConnection、OracleCommand和OracleDataAdapter,對(duì)于Access數(shù)據(jù)庫分別采用OleDblConnection、OleDbCommand和OleDbDataAdapter。除了數(shù)據(jù)庫連接接口不同,不同數(shù)據(jù)庫在SQL語法上有很多差別。為此,采用面向接口的方式解決。在接口IDbHelper中,定義所需要的訪問功能,包括一系列重載的方法:執(zhí)行SQL語句的方法ExecuteSql、GetDataTable等,執(zhí)行存儲(chǔ)過程的方法GetDataTableByProcedure、GetDataReaderByProcedure等,以及執(zhí)行多條SQL語句實(shí)現(xiàn)事務(wù)處理的方法ExecuteSqlTran。針對(duì)于不同數(shù)據(jù)庫,分別在SQLServerDbHelper、OracleDbHelper和AccessDbHelper等類中,給出IDbHelper接口中方法的具體實(shí)現(xiàn)。在數(shù)據(jù)訪問構(gòu)件DAL應(yīng)用層中,由于數(shù)據(jù)庫表及字段數(shù)目眾多,對(duì)數(shù)據(jù)庫表進(jìn)行映射時(shí),通過開發(fā)的代碼生成器進(jìn)行批量生產(chǎn),生成與數(shù)據(jù)庫表及表中字段具有對(duì)應(yīng)關(guān)系的Model類:T_ZBB、T_ZBO_LY和T_ZB0_SJ_LY等,以及完成相應(yīng)類到數(shù)據(jù)庫映射的對(duì)象-關(guān)系映射引擎:T_ZBBDAL.cs、T_ZBO_LYDAL.cs和T_ZB0_SJ_LYDAL.cs等。

    4.1.2數(shù)據(jù)校驗(yàn)構(gòu)件的實(shí)現(xiàn)

    數(shù)據(jù)校驗(yàn)構(gòu)件中,為改善校驗(yàn)時(shí)用戶的體驗(yàn),提高校驗(yàn)速度,單指標(biāo)檢驗(yàn)和波動(dòng)檢驗(yàn)均通過jQuery抽象控制程序?qū)崿F(xiàn),并分別封裝于singlecheck.js和fluctuationcheck.js中。用戶每輸入一項(xiàng)數(shù)據(jù),系統(tǒng)立刻校驗(yàn)并給出錯(cuò)誤提示。多指標(biāo)檢驗(yàn)在服務(wù)器端實(shí)現(xiàn),由于校驗(yàn)針對(duì)結(jié)構(gòu)表中多指標(biāo)校驗(yàn)條件進(jìn)行,因此將其從數(shù)據(jù)庫中取出并封裝于業(yè)務(wù)實(shí)體類中,方便后續(xù)校驗(yàn)操作。具體實(shí)現(xiàn)時(shí),創(chuàng)建業(yè)務(wù)實(shí)體類DBcheck,通過對(duì)象-關(guān)系映射引擎T_ZBBDAL.cs操作結(jié)構(gòu)表,獲取結(jié)構(gòu)表中記錄依次裝載于業(yè)務(wù)實(shí)體類T_ZBB,選取ZBB_DJY字段值非空的記錄,依次將數(shù)據(jù)裝載于DBcheck;同時(shí)接收客戶端傳來的指標(biāo)及其在瀏覽器頁面中的位置信息,依次裝載于相應(yīng)的DBcheck對(duì)象中,最終生成DBcheck對(duì)象集合。DBcheck對(duì)象中GS屬性與Message屬性內(nèi)容相同,均為使用結(jié)構(gòu)表ZBB_ZD字段值表示的指標(biāo)間的關(guān)系表達(dá)式。遍歷T_ZBB對(duì)象集合,將DBcheck對(duì)象Message屬性中內(nèi)容替換為指標(biāo)名稱表示的關(guān)系表達(dá)式。將用戶前臺(tái)輸入的指標(biāo)數(shù)據(jù)裝載于業(yè)務(wù)實(shí)體類T_ZB0_SJ_YS。通過反射機(jī)制,獲取對(duì)象T_ZB0_SJ_YS中與DBcheck對(duì)象GS屬性中變量對(duì)應(yīng)的屬性值,并進(jìn)行替換。之后進(jìn)行一系列過程:將對(duì)象GS屬性中的關(guān)系表達(dá)式創(chuàng)建為動(dòng)態(tài)代碼,動(dòng)態(tài)編譯并執(zhí)行,返回關(guān)系表達(dá)式運(yùn)行結(jié)果。數(shù)據(jù)校驗(yàn)構(gòu)件把上述過程的實(shí)現(xiàn)封裝于DynCompilation類的靜態(tài)方法Calc(string expression)中。遍歷DBcheck對(duì)象集合,取對(duì)象GS屬性值作為方法Calc(string expression)的參數(shù),通過DynCompilation類直接調(diào)用靜態(tài)方法Calc(string expression),返回關(guān)系表達(dá)式運(yùn)行結(jié)果。當(dāng)運(yùn)行結(jié)果錯(cuò)誤時(shí),記錄DBcheck對(duì)象中Row屬性值(Row屬性給出指標(biāo)在瀏覽器頁面所處位置)與Message屬性值(Message屬性給出具體錯(cuò)誤信息提示),從而將錯(cuò)誤信息準(zhǔn)確地返回到瀏覽器頁面相應(yīng)位置。

    4.1.3空缺數(shù)據(jù)填補(bǔ)構(gòu)件的實(shí)現(xiàn)

    空缺數(shù)據(jù)填補(bǔ)構(gòu)件中,由于用戶填報(bào)的數(shù)據(jù)單位不一致,在填補(bǔ)空缺數(shù)據(jù)前,首先要將所有數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)單位數(shù)據(jù)。數(shù)據(jù)庫T_ZB0_DW表的ZB0_DW_GS字段給出當(dāng)前單位的數(shù)據(jù)轉(zhuǎn)化為標(biāo)準(zhǔn)單位的數(shù)據(jù)所需要乘以的系數(shù)。遍歷用戶填報(bào)的數(shù)據(jù),確定數(shù)據(jù)單位在T_ZB0_DW表中的ZB0_DW_GS值,將其與填報(bào)數(shù)據(jù)相乘得到標(biāo)準(zhǔn)單位數(shù)據(jù)。將標(biāo)準(zhǔn)單位的數(shù)據(jù)存放于T_ZB0_SJ表中。為保證填補(bǔ)數(shù)據(jù)的有效性,填補(bǔ)的指標(biāo)數(shù)據(jù)不作為填補(bǔ)其他指標(biāo)的依據(jù)。在填補(bǔ)空缺數(shù)據(jù)前,將所依據(jù)的指標(biāo)數(shù)據(jù)為空的指標(biāo)數(shù)據(jù)統(tǒng)一去除,不進(jìn)行填補(bǔ)。根據(jù)不同類指標(biāo)的性質(zhì),確定各類指標(biāo)的填補(bǔ)算法,人口型空間類指標(biāo)和面積型空間類指標(biāo)均采取加權(quán)空間插值[29]的方法。具體算法如下:

    對(duì)于數(shù)據(jù)缺失年份,假設(shè)縣b指標(biāo)數(shù)據(jù)缺失且缺失數(shù)據(jù)為Wb,縣b的年末總?cè)丝跀?shù)為Nb;與縣b同市的不同區(qū)縣為縣1,縣2,…,縣k,與縣b同省不同市的區(qū)縣為縣k+1,縣k+2,…,縣k+h,Wi為縣i的指標(biāo)數(shù)據(jù),Ni為縣i的年末總?cè)丝跀?shù),q為同市臨近縣指標(biāo)數(shù)據(jù)與人口數(shù)比所占的權(quán)重(權(quán)重q的具體值在配置文件中配置)。人口型空間類指標(biāo)填補(bǔ)算法公式為

    (1)

    對(duì)于數(shù)據(jù)缺失年份,假設(shè)縣a指標(biāo)數(shù)據(jù)缺失且缺失數(shù)據(jù)為Va,縣a的縣域國(guó)土面積為Sa;與縣a同市的不同區(qū)縣為縣1,縣2,…,縣k,與縣a同省不同市的區(qū)縣為縣k+1,縣k+2,…,縣k+h,Vi為縣i的指標(biāo)數(shù)據(jù),Si為縣i的縣域國(guó)土面積,p為同市臨近縣指標(biāo)數(shù)據(jù)與面積比所占的權(quán)重(權(quán)重p的具體值在配置文件中配置)。面積型空間類指標(biāo)填補(bǔ)算法公式為

    (2)

    4.1.4統(tǒng)計(jì)結(jié)果查詢輸出構(gòu)件的實(shí)現(xiàn)

    在統(tǒng)計(jì)結(jié)果查詢輸出構(gòu)件的抽象控制程序中,通過方法重載解決因用戶查詢條件不同所產(chǎn)生的不同類參數(shù)接收問題。查詢統(tǒng)計(jì)結(jié)果表時(shí),也使用方法重載,重載的方法分別為L(zhǎng)ist〈ZBValue〉 GetZBValues(List〈T_TJB〉 tjbs, string cAreaID, int searchdate),List〈ZBValue〉 GetZBValues(List〈T_TJB〉 tjbs, List〈string〉 cAreaIDs, int searchdate)和List〈ZBValue〉 GetZBValues(List〈T_TJB〉 tjbs, string cAreaID, int[] searchdates),方法返回ZBValue對(duì)象集合。以JSON形式將最終的對(duì)象集合向客戶端瀏覽器輸出。

    4.2 動(dòng)態(tài)數(shù)據(jù)上報(bào)管理系統(tǒng)的測(cè)試

    為了驗(yàn)證DDTMS的普適性和實(shí)用性,將已通過.NET實(shí)現(xiàn)的DDTMS分別應(yīng)用在兩個(gè)不同的實(shí)際項(xiàng)目中,即中國(guó)林業(yè)生態(tài)資源環(huán)境承載力:數(shù)據(jù)投放器和中國(guó)生態(tài)安全指數(shù)系統(tǒng)。

    4.2.1中國(guó)林業(yè)生態(tài)資源環(huán)境承載力:數(shù)據(jù)投放器

    系統(tǒng)開發(fā)時(shí),在初期需求分析階段,未得到確定的填報(bào)指標(biāo)項(xiàng),同時(shí)在有限的人力物力條件下,需要在較短的開發(fā)周期內(nèi)設(shè)計(jì)并實(shí)現(xiàn)中國(guó)林業(yè)生態(tài)資源環(huán)境承載力:數(shù)據(jù)投放器。系統(tǒng)每五年進(jìn)行一次指標(biāo)收集工作,需要滿足的基本要求:對(duì)用戶填報(bào)的指標(biāo)數(shù)據(jù)進(jìn)行嚴(yán)格的校驗(yàn),以保障所收集數(shù)據(jù)的準(zhǔn)確性、可用性和完整性;為充分利用數(shù)據(jù)資源進(jìn)行數(shù)據(jù)分析,對(duì)具有可填補(bǔ)性質(zhì)的指標(biāo),采取合理的填補(bǔ)方式填補(bǔ)缺失數(shù)據(jù);將經(jīng)過統(tǒng)計(jì)與計(jì)算的最終評(píng)價(jià)結(jié)果供用戶查詢?yōu)g覽。

    針對(duì)上述問題,DDTMS給出了很好的解決方案。將DDTMS應(yīng)用到系統(tǒng)開發(fā)時(shí),使用SQL Server 2008數(shù)據(jù)庫。由于系統(tǒng)收集周期為5年,需增加描述指標(biāo)數(shù)據(jù)采集時(shí)間的參數(shù):數(shù)據(jù)年度。為此擴(kuò)展數(shù)據(jù)庫,增加基礎(chǔ)數(shù)據(jù)表T_ZB0_ND(ZB0_ND_ID,ZB0_ND_MC),同時(shí)新增T_ZBB表字段ZBB_ND,作為外鍵以實(shí)現(xiàn)指標(biāo)結(jié)構(gòu)表與基礎(chǔ)數(shù)據(jù)表T_ZB0_ND的關(guān)聯(lián)。此外,只需做如下工作:配置指標(biāo)結(jié)構(gòu)表、基礎(chǔ)數(shù)據(jù)表及統(tǒng)計(jì)項(xiàng)結(jié)構(gòu)表,完成簡(jiǎn)單的相關(guān)前端頁面開發(fā)。配置指標(biāo)結(jié)構(gòu)表時(shí),在ZBB_JY字段中填寫用于相應(yīng)指標(biāo)檢驗(yàn)的正則表達(dá)式;在ZBB_DJY字段中填寫多指標(biāo)檢驗(yàn)的關(guān)系表達(dá)式,由于多指標(biāo)檢驗(yàn)條件涉及多個(gè)指標(biāo),只需在任一指標(biāo)對(duì)應(yīng)的字段中配置即可;在ZBB_ZB字段中填寫可填補(bǔ)指標(biāo)的填補(bǔ)方式。配置統(tǒng)計(jì)項(xiàng)結(jié)構(gòu)表時(shí),在TJB_MC字段中填寫統(tǒng)計(jì)項(xiàng)名稱,在TJB_ZD字段中,填寫統(tǒng)計(jì)結(jié)果表中存儲(chǔ)統(tǒng)計(jì)項(xiàng)值的字段名稱。通過簡(jiǎn)單的配置,同時(shí)配合開發(fā)簡(jiǎn)單的相關(guān)前端頁面,便可實(shí)現(xiàn)系統(tǒng)的基本要求,完成中國(guó)林業(yè)生態(tài)資源環(huán)境承載力:數(shù)據(jù)投放器。表驅(qū)動(dòng)法及相關(guān)數(shù)據(jù)庫設(shè)計(jì)支持指標(biāo)及其相關(guān)功能配置的快速擴(kuò)展與修改,當(dāng)有新增指標(biāo)或者指標(biāo)體系發(fā)生變化時(shí),只需要簡(jiǎn)單修改指標(biāo)結(jié)構(gòu)表和統(tǒng)計(jì)項(xiàng)結(jié)構(gòu)表的內(nèi)容。DDTMS的使用極大提高了系統(tǒng)開發(fā)的效率和可維護(hù)性,實(shí)現(xiàn)了中國(guó)林業(yè)生態(tài)資源環(huán)境承載力:數(shù)據(jù)投放器的快速開發(fā)。

    在實(shí)際的指標(biāo)收集工作中,DDTMS應(yīng)用到中國(guó)林業(yè)生態(tài)資源環(huán)境承載力:數(shù)據(jù)投放器后,所收集數(shù)據(jù)的質(zhì)量得到了保障,同時(shí)針對(duì)不同可填補(bǔ)指標(biāo)的特性,分別使用合理的填補(bǔ)方法對(duì)缺失數(shù)據(jù)進(jìn)行了有效的填補(bǔ)。單指標(biāo)校驗(yàn)構(gòu)件校驗(yàn)效果如圖14所示,用戶每輸入一項(xiàng)指標(biāo)數(shù)據(jù),系統(tǒng)進(jìn)行單指標(biāo)檢驗(yàn)和波動(dòng)檢驗(yàn),給予用戶即時(shí)信息提醒;用戶填報(bào)完成所有數(shù)據(jù)時(shí),系統(tǒng)集中進(jìn)行多指標(biāo)檢驗(yàn),如圖15所示;填報(bào)工作結(jié)束后,由管理員統(tǒng)一進(jìn)行空缺數(shù)據(jù)填補(bǔ)工作,填補(bǔ)時(shí)給予用戶友好提示:“正在填補(bǔ)空缺數(shù)據(jù),請(qǐng)耐心等待…”,效果如圖16所示;對(duì)填補(bǔ)后的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)與計(jì)算,計(jì)算結(jié)果供用戶查詢?yōu)g覽,效果如圖17所示。

    圖14 單指標(biāo)校驗(yàn)構(gòu)件效果界面Fig.14 Effect drawing of single index verification component

    圖15 多指標(biāo)檢驗(yàn)效果界面Fig.15 Effect drawing of multi-index test

    圖16 空缺數(shù)據(jù)填補(bǔ)效果界面Fig.16 Effect drawing of filling vacancy data

    圖17 用戶查詢?yōu)g覽統(tǒng)計(jì)與計(jì)算結(jié)果界面Fig.17 Results drawing of querying and browsing

    4.2.2中國(guó)生態(tài)安全指數(shù)系統(tǒng)

    中國(guó)生態(tài)安全指數(shù)系統(tǒng)所需收集的指標(biāo)包含土壤有機(jī)質(zhì)含量、年降水量、年平均氣溫和日照時(shí)數(shù)等98個(gè)指標(biāo),指標(biāo)數(shù)目眾多;同時(shí),指標(biāo)體系中出現(xiàn)需要通過新算法填補(bǔ)空缺數(shù)據(jù)的可填補(bǔ)指標(biāo);系統(tǒng)每年進(jìn)行一次指標(biāo)收集工作,由于不同指標(biāo)全國(guó)統(tǒng)一采集的周期存在差異,因此不同年份需要收集的指標(biāo)變化較大。系統(tǒng)需要滿足的3個(gè)基本要求:①嚴(yán)格校驗(yàn)用戶填報(bào)的指標(biāo)數(shù)據(jù)。②對(duì)不同類別的可填補(bǔ)指標(biāo)采取不同的填補(bǔ)方式進(jìn)行缺失數(shù)據(jù)填補(bǔ)。③提供用戶查詢?yōu)g覽統(tǒng)計(jì)與計(jì)算的中間結(jié)果和最終評(píng)價(jià)結(jié)果。

    對(duì)于上述問題,DDTMS也給出了很好的解決方案。將DDTMS應(yīng)用到系統(tǒng)開發(fā)時(shí),選用Oracle數(shù)據(jù)庫。由于出現(xiàn)新一類可填補(bǔ)指標(biāo),故需要增添新的填補(bǔ)方式。創(chuàng)建可填補(bǔ)指標(biāo)的子類:時(shí)序類指標(biāo),在填補(bǔ)空缺數(shù)據(jù)時(shí),使用回歸[28-29]的方法。其具體算法如下:

    假設(shè)m年數(shù)據(jù)空缺且缺失數(shù)據(jù)為tm,取距離m年最近的5年,設(shè)最后有數(shù)據(jù)兩年為n1年、n2年,數(shù)據(jù)分別為tn1、tn2,且n1

    (3)

    創(chuàng)建時(shí)序類指標(biāo)并實(shí)現(xiàn)父類的抽象方法空缺數(shù)據(jù)填補(bǔ)方法后,只需通過配置結(jié)構(gòu)表中指標(biāo)的ZBB_ZB字段值即可實(shí)現(xiàn)填補(bǔ)功能的有效擴(kuò)展。由于中國(guó)生態(tài)安全指數(shù)系統(tǒng)的總體指標(biāo)體系是確定的,供用戶查詢?yōu)g覽的統(tǒng)計(jì)結(jié)果也是確定的,因此可快速配置完成指標(biāo)結(jié)構(gòu)表、基礎(chǔ)數(shù)據(jù)表及統(tǒng)計(jì)項(xiàng)結(jié)構(gòu)表。配置指標(biāo)結(jié)構(gòu)表時(shí),將所有指標(biāo)的ZBB_YX字段值設(shè)為0(0代表指標(biāo)為無效指標(biāo),1代表指標(biāo)有效指標(biāo)),進(jìn)行指標(biāo)收集工作時(shí),通過改動(dòng)指標(biāo)的ZBB_YX字段值,來設(shè)定當(dāng)前年度要收集的指標(biāo),從而解決了每年大批量轉(zhuǎn)換指標(biāo)所帶來的一系列問題。配置統(tǒng)計(jì)項(xiàng)結(jié)構(gòu)表時(shí),將統(tǒng)計(jì)與計(jì)算過程中產(chǎn)生的統(tǒng)計(jì)項(xiàng)和最終產(chǎn)生的統(tǒng)計(jì)項(xiàng)均配置于統(tǒng)計(jì)項(xiàng)結(jié)構(gòu)表中。之后完成簡(jiǎn)單的相關(guān)前端頁面開發(fā)。在實(shí)際的項(xiàng)目中,DDTMS應(yīng)用到中國(guó)生態(tài)安全指數(shù)系統(tǒng)后,保障了所收集數(shù)據(jù)的質(zhì)量,同時(shí)針對(duì)不同類別的可填補(bǔ)指標(biāo),采取不同的填補(bǔ)方法,有效填補(bǔ)了缺失的指標(biāo)數(shù)據(jù)。用戶查詢?yōu)g覽中間結(jié)果和最終評(píng)價(jià)結(jié)果效果如圖18所示。

    DDTMS的使用使得系統(tǒng)擴(kuò)展空缺數(shù)據(jù)填補(bǔ)功能變得簡(jiǎn)單易行,極大地提高了系統(tǒng)的可擴(kuò)展性;對(duì)于大批量指標(biāo)的變化,也只通過簡(jiǎn)單修改結(jié)構(gòu)表中ZBB_YX字段內(nèi)容即可,極大地提高了系統(tǒng)的可維護(hù)性;另外,DDTMS的使用使得系統(tǒng)可以適應(yīng)不同的數(shù)據(jù)庫環(huán)境,極大提高了系統(tǒng)的靈活性與健壯性。

    圖18 用戶查詢?yōu)g覽效果界面Fig.18 Effect drawing of querying and browsing

    5 結(jié)束語

    闡述了數(shù)據(jù)填報(bào)及統(tǒng)計(jì)類信息管理系統(tǒng)的一般業(yè)務(wù)流程,提取此類應(yīng)用的共性業(yè)務(wù)需求,設(shè)計(jì)并實(shí)現(xiàn)基于表驅(qū)動(dòng)的動(dòng)態(tài)數(shù)據(jù)上報(bào)管理系統(tǒng)(DDTMS)。將DDTMS應(yīng)用到中國(guó)林業(yè)生態(tài)資源環(huán)境承載力:數(shù)據(jù)投放器和中國(guó)生態(tài)安全指數(shù)系統(tǒng),以充分測(cè)試該可復(fù)用軟件的實(shí)用性、穩(wěn)定性和普適性。測(cè)試表明:DDTMS縮短了應(yīng)用的開發(fā)周期,極大地提高了系統(tǒng)開發(fā)效率;DDTMS的使用使系統(tǒng)通用于不同類型的數(shù)據(jù)庫,同時(shí)有效改善了系統(tǒng)在指標(biāo)、指標(biāo)描述參數(shù)等內(nèi)容上以及在數(shù)據(jù)校驗(yàn)、空缺數(shù)據(jù)填補(bǔ)和統(tǒng)計(jì)結(jié)果查詢輸出等功能上的易擴(kuò)展性。DDTMS具有良好的通用性,減少了數(shù)據(jù)填報(bào)及統(tǒng)計(jì)類系統(tǒng)領(lǐng)域中代碼冗余,并且使得此類系統(tǒng)的開發(fā)變得更加標(biāo)準(zhǔn)化。

    1 黃湫堯.一個(gè)通用信息管理系統(tǒng)模板的設(shè)計(jì)與實(shí)例化應(yīng)用[D].北京:北京郵電大學(xué),2013.

    HUANG Qiuyao.Design of universal information management model system and the application of instantiation[D].Beijing:Beijing University of Posts and Telecommunications,2013.(in Chinese)

    2 王玲,鄒小昱,劉思瑤,等.基于RFID與ZigBee的羊場(chǎng)養(yǎng)殖信息管理系統(tǒng)[J/OL].農(nóng)業(yè)機(jī)械學(xué)報(bào),2014,45(9):247-253.http:∥www.j-csam.org/jcsam/ch/reader/view_abstract.aspx?flag=1&file_no=20140940&journal_id=jcsam.DOI:10.6041/j.issn.1000-1298.2014.09.040.

    WANG Ling,ZOU Xiaoyu,LIU Siyao, et al.Development of handheld terminal for sheep breeding information management based on RFID and ZigBee[J/OL].Transactions of the Chinese Society for Agricultural Machinery,2014,45(9):247-253. (in Chinese)

    3 趙國(guó)安,王曉軍,劉興淼,等.管理信息系統(tǒng)通用模塊的設(shè)計(jì)[J].計(jì)算機(jī)工程,2008,34(14):49-51.

    ZHAO Guoan, WANG Xiaojun, LIU Xingmiao, et al. General module design of management information systems[J].Computer Engineering,2008,34(14):49-51. (in Chinese)

    4 童小華,程效軍,劉世杰,等.基于J2EE高速公路網(wǎng)絡(luò)地理信息系統(tǒng)平臺(tái)研究[J].同濟(jì)大學(xué)學(xué)報(bào):自然科學(xué)版,2006,34(12):1627-1631.

    TONG Xiaohua,CHENG Xiaojun,LIU Shijie, et al.Development of J2EE and WebGIS based highway management system[J].Journal of Tongji University:Natural Science,2006,34(12):1627-1631.(in Chinese)

    5 戴建國(guó),王克如,李少昆,等.基于國(guó)營(yíng)農(nóng)場(chǎng)的作物生產(chǎn)信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)農(nóng)業(yè)科學(xué),2012,45(11):2159-2167.

    DAI Jianguo,WANG Keru,LI Shaokun, et al.Designing and implementation of crop production management information system based on state-operated farm[J].Scientia Agricultura Sinica,2012,45(11):2159-2167. (in Chinese)

    6 何勇,余心杰.基于Web GIS的農(nóng)機(jī)化信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2005,36(10):88-90.

    HE Yong,YU Xinjie.Design and implementation of agricultural mechanization information management system based on Web GIS[J].Transactions of the Chinese Society for Agricultural Machinery,2005,36(10):88-90. (in Chinese)

    7 吳才聰,蔡亞平,羅夢(mèng)佳,等.基于時(shí)間窗的農(nóng)機(jī)資源時(shí)空調(diào)度模型[J/OL].農(nóng)業(yè)機(jī)械學(xué)報(bào),2013,44(5):237-241. http:∥www.j-csam.org/jcsam/ch/reader/view_abstract.aspx?flag=1&file_no=20130541&journal_id=jcsam.DOI:10.6041/j.issn.1000-1298.2013.05.041.

    WU Caicong,CAI Yaping,LUO Mengjia,et al.Time-windows based temporal and spatial scheduling model for agricultural machinery resources[J/OL].Transactions of the Chinese Society for Agricultural Machinery, 2013,44(5):237-241. (in Chinese)

    8 陳智芳,宋妮,王景雷.節(jié)水灌溉管理與決策支持系統(tǒng)[J].農(nóng)業(yè)工程學(xué)報(bào), 2009,25(增刊2):1-6.

    CHEN Zhifang,SONG Ni,WANG Jinglei. Water-saving irrigation management and decision support system[J].Transactions of the CSAE, 2009,25(Supp.2):1-6. (in Chinese)

    9 趙玉杰,高懷友,師榮光.全國(guó)基本農(nóng)田環(huán)境質(zhì)量監(jiān)測(cè)信息填報(bào)及統(tǒng)計(jì)系統(tǒng)功能與設(shè)計(jì)[J].農(nóng)業(yè)環(huán)境科學(xué)學(xué)報(bào),2004,23(6):1241-1243.

    ZHAO Yujie,GAO Huaiyou,SHI Rongguang.Design and realization of agro-environmental monitoring information collection and statistic system for basic farmland[J]. Journal of Agro-Environment Science,2004,23(6):1241-1243. (in Chinese)

    10 ZHANG J, YONG Q, DI H, et al. A table-driven programming paradigm for context-aware application development[C]∥Annual International Symposium on Applications & the Internet, 2009:121-124.

    11 YANG H C, JR D S P. Table-driven programming in SQL for enterprise information systems[C]∥ICEIS 2005,Proceedings of the Seventh International Conference on Enterprise Information Systems, 2005:424-427.

    12 李訂芳.管理軟件設(shè)計(jì)中的表驅(qū)動(dòng)思想與軟件重用[J].微型機(jī)與應(yīng)用,1997(3):20-28.

    LI Dingfang. The table driving idea and software reusing in the course of management software design[J]. Microcomputer & Its Applications,1997(3):20-28. (in Chinese)

    13 李林,王竹,呼延正勇,等.田間數(shù)據(jù)傳輸同步策略與中間件研究[J].農(nóng)業(yè)機(jī)械學(xué)報(bào), 2016,47(1):279-288. http:∥www.j-csam.org/jcsam/ch/reader/view_abstract.aspx?flag=1&file_no=20160138&journal_id=jcsam.DOI:10.6041/j.issn.1000-1298.2016.01.038.

    LI Lin,WANG Zhu,HUYAN Zhengyong,et al.Research on field data transmission synchronization strategy and middleware [J]. Transactions of the Chinese Society for Agricultural Machinery, 2016,47(1):279-288. (in Chinese)

    14 王孝明,胡健,陸坤,等.基于.NET平臺(tái)可復(fù)用軟件框架的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程, 2004, 30(22):76-78.

    WANG Xiaoming,HU Jian,LU Kun,et al. Design and implementation of reusable software framework based on .NET[J]. Computer Engineering, 2004, 30(22):76-78. (in Chinese)

    15 YAO H, ETZKORN L H, VIRANI S. Automated classification and retrieval of reusable software components[J]. Journal of the Association for Information Science and Technology, 2008, 59(4):613-627.

    16 SCHMIDT D C, BUSCHMANN F. Patterns, frameworks, and middleware: their synergistic relationships[C]∥2003 International Conference on Software Engineering, 2003:694-704.

    17 吳泉源. 網(wǎng)絡(luò)計(jì)算中間件[J]. 軟件學(xué)報(bào), 2013, 24(1):67-76.

    WU Quanyuan.Network computing middleware[J]. Journal of Software, 2013,24(1):67-76.(in Chinese)

    18 王珊,薩師煊.?dāng)?shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2006:172-182.

    19 劉洋,高連生,王斌.一種面向應(yīng)用擴(kuò)展的樹狀數(shù)據(jù)庫設(shè)計(jì)模型[J].計(jì)算機(jī)工程與設(shè)計(jì),2006, 27(21):4074-4077.

    LIU Yang, GAO Liansheng, WANG Bin. Tree-like database design model for expansible application[J].Computer Engineering and Design,2006, 27(21):4074-4077. (in Chinese)

    20 QIU W, ZOU W, SUN Y. Design patterns applied in power system analysis software package[C]∥2012 International Conference on Industrial Control and Electronics Engineering, 2012:836-840.

    21 DHAND R. Reducing web page post backs through jQuery ajax call in a trust based framework[C]∥2012 International Conference on Computing Sciences, 2012:217-219.

    22 柴晟,李明富,羅莉娟,等.基于設(shè)計(jì)模式構(gòu)建數(shù)據(jù)訪問中間件[J].計(jì)算機(jī)工程與設(shè)計(jì),2007, 28(17):4102-4104.

    CHAI Sheng, LI Mingfu, LUO Lijuan, et al. Building data access middleware based on design pattern[J]. Computer Engineering and Design,2007, 28(17):4102-4104. (in Chinese)

    23 王彬,靳大尉,郝文寧,等.設(shè)計(jì)模式在數(shù)據(jù)庫訪問權(quán)限系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2012,32(增刊2):113-115.

    WANG Bin,JIN Dawei,HAO Wenning,et al. Application of design patterns in database access permission system[J]. Journal of Computer Applications,2012,32(Supp.2):113-115. (in Chinese)

    24 周源. 對(duì)象關(guān)系映射引擎的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:東南大學(xué),2005.

    ZHOU Yuan.Object relational mapping engine design and implementation[D].Nanjing: Southeast University,2005. (in Chinese)

    25 LING Y, AN Y, LIU M, et al. An error detecting and tagging framework for reducing data entry errors in electronic medical records (EMR) system[C]∥IEEE International Conference on Bioinformatics and Biomedicine, 2013:249-254.

    26 劉成,張凱,陳建勛.混合方式數(shù)據(jù)驗(yàn)證方案的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(1):366-371.

    LIU Cheng,ZHANG Kai,CHEN Jianxun.Mixed-mode data validation program research[J]. Computer Engineering and Design,2013,34(1):366-371. (in Chinese)

    27 廖柯.基于動(dòng)態(tài)編譯的泵業(yè)電子商務(wù)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[D].上海:復(fù)旦大學(xué),2011.

    LIAO Ke.Design and implementation of pump e-commerce platform based on dynamic compilation[D].Shanghai: Fudan University,2011. (in Chinese)

    28 武森,馮小東,單志廣.基于不完備數(shù)據(jù)聚類的缺失數(shù)據(jù)填補(bǔ)方法[J].計(jì)算機(jī)學(xué)報(bào),2012,35(8):1726-1738.

    WU Sen, FENG Xiaodong,SHAN Zhiguang.Missing data imputation approach based on incomplete data clustering[J]. Chinese Journal of Computers,2012,35(8):1726-1738. (in Chinese)

    29 劉愛利,王培法,丁園圓.地統(tǒng)計(jì)學(xué)概論[M].北京:科學(xué)出版社,2012.

    猜你喜歡
    數(shù)據(jù)庫結(jié)構(gòu)用戶
    《形而上學(xué)》△卷的結(jié)構(gòu)和位置
    論結(jié)構(gòu)
    中華詩詞(2019年7期)2019-11-25 01:43:04
    數(shù)據(jù)庫
    關(guān)注用戶
    商用汽車(2016年11期)2016-12-19 01:20:16
    論《日出》的結(jié)構(gòu)
    關(guān)注用戶
    商用汽車(2016年6期)2016-06-29 09:18:54
    數(shù)據(jù)庫
    關(guān)注用戶
    商用汽車(2016年4期)2016-05-09 01:23:12
    數(shù)據(jù)庫
    數(shù)據(jù)庫
    黄网站色视频无遮挡免费观看| 黑人操中国人逼视频| 久9热在线精品视频| 国内毛片毛片毛片毛片毛片| 亚洲精品粉嫩美女一区| 亚洲片人在线观看| 我的亚洲天堂| 国产aⅴ精品一区二区三区波| 大码成人一级视频| 老鸭窝网址在线观看| 久久久精品欧美日韩精品| 欧美午夜高清在线| 国产精品,欧美在线| 日韩欧美国产一区二区入口| 久久 成人 亚洲| 国产精品香港三级国产av潘金莲| 又黄又爽又免费观看的视频| 日韩国内少妇激情av| 欧美乱色亚洲激情| 色播在线永久视频| 国产亚洲精品av在线| 亚洲av成人一区二区三| 国产精品亚洲av一区麻豆| 精品一区二区三区四区五区乱码| 成年人黄色毛片网站| 一级作爱视频免费观看| 一进一出抽搐动态| 国产亚洲欧美98| 色av中文字幕| www.精华液| 一级毛片女人18水好多| 少妇的丰满在线观看| 99久久综合精品五月天人人| 两人在一起打扑克的视频| 禁无遮挡网站| 日韩大码丰满熟妇| 久久久久国内视频| 亚洲精华国产精华精| 免费看十八禁软件| 午夜免费激情av| 大香蕉久久成人网| 人人妻人人澡人人看| 免费在线观看黄色视频的| 桃色一区二区三区在线观看| 欧美色欧美亚洲另类二区 | 精品一区二区三区av网在线观看| 国产精品永久免费网站| 久久草成人影院| 成人亚洲精品av一区二区| 亚洲欧美精品综合久久99| 久久这里只有精品19| 亚洲一区高清亚洲精品| 久久久久国产一级毛片高清牌| 桃色一区二区三区在线观看| 女人精品久久久久毛片| 欧美成人免费av一区二区三区| 成年女人毛片免费观看观看9| 法律面前人人平等表现在哪些方面| 可以免费在线观看a视频的电影网站| 免费不卡黄色视频| 中出人妻视频一区二区| 正在播放国产对白刺激| 级片在线观看| 亚洲第一电影网av| 国产欧美日韩一区二区精品| 男人操女人黄网站| 一进一出抽搐动态| 三级毛片av免费| 亚洲人成伊人成综合网2020| 午夜精品在线福利| 搡老妇女老女人老熟妇| 精品免费久久久久久久清纯| 99国产综合亚洲精品| 久久久水蜜桃国产精品网| 国产精品香港三级国产av潘金莲| 午夜视频精品福利| 女人被躁到高潮嗷嗷叫费观| 亚洲人成网站在线播放欧美日韩| 亚洲最大成人中文| 无限看片的www在线观看| 天堂影院成人在线观看| 国产激情久久老熟女| 久久久久国产一级毛片高清牌| 免费久久久久久久精品成人欧美视频| 久久久久国产一级毛片高清牌| 可以免费在线观看a视频的电影网站| 法律面前人人平等表现在哪些方面| 亚洲精品国产色婷婷电影| 国产精品亚洲av一区麻豆| 成人国语在线视频| 操出白浆在线播放| 欧美乱妇无乱码| 国产麻豆成人av免费视频| 热99re8久久精品国产| 午夜免费激情av| 日韩大码丰满熟妇| 欧美色视频一区免费| 99在线视频只有这里精品首页| 精品国产一区二区久久| 国内精品久久久久久久电影| 国产精品亚洲av一区麻豆| 亚洲欧美精品综合久久99| 国产精品 欧美亚洲| 黄色a级毛片大全视频| 啦啦啦观看免费观看视频高清 | av天堂在线播放| 色在线成人网| 久热这里只有精品99| 欧美黑人欧美精品刺激| 变态另类丝袜制服| 国产精品自产拍在线观看55亚洲| 午夜福利免费观看在线| √禁漫天堂资源中文www| 99久久国产精品久久久| 日本撒尿小便嘘嘘汇集6| 无人区码免费观看不卡| 精品无人区乱码1区二区| 成年女人毛片免费观看观看9| 一卡2卡三卡四卡精品乱码亚洲| 欧美大码av| 亚洲情色 制服丝袜| 国产精品久久电影中文字幕| 午夜久久久在线观看| 午夜免费鲁丝| 亚洲色图综合在线观看| 91大片在线观看| 亚洲色图综合在线观看| 9色porny在线观看| 国产在线精品亚洲第一网站| 中文字幕高清在线视频| 女性被躁到高潮视频| 国产精品国产高清国产av| 国产精品国产高清国产av| 一级黄色大片毛片| 一级黄色大片毛片| 亚洲 欧美 日韩 在线 免费| 在线观看舔阴道视频| 国产免费男女视频| 夜夜看夜夜爽夜夜摸| 国产亚洲精品久久久久久毛片| 天天躁夜夜躁狠狠躁躁| 欧美日韩黄片免| 亚洲国产高清在线一区二区三 | 国产成人精品无人区| 欧美在线一区亚洲| 午夜精品在线福利| 欧美丝袜亚洲另类 | 久久久久久人人人人人| 日韩免费av在线播放| 天天躁狠狠躁夜夜躁狠狠躁| 午夜福利一区二区在线看| 亚洲,欧美精品.| 国产精品二区激情视频| 亚洲无线在线观看| 国内毛片毛片毛片毛片毛片| 亚洲五月天丁香| 十八禁人妻一区二区| 亚洲色图 男人天堂 中文字幕| 99riav亚洲国产免费| 久久久精品国产亚洲av高清涩受| 久久久国产成人精品二区| 国产精品一区二区在线不卡| 麻豆一二三区av精品| 久久 成人 亚洲| 在线十欧美十亚洲十日本专区| 久久精品91蜜桃| 亚洲国产毛片av蜜桃av| 国产精品二区激情视频| 久久人妻熟女aⅴ| 视频在线观看一区二区三区| 黄色片一级片一级黄色片| www.精华液| 91精品国产国语对白视频| 欧美乱色亚洲激情| 国产精品亚洲美女久久久| 动漫黄色视频在线观看| 久久欧美精品欧美久久欧美| 国产真人三级小视频在线观看| 国产91精品成人一区二区三区| 精品国产乱码久久久久久男人| 18禁美女被吸乳视频| 久久香蕉激情| 成人三级做爰电影| 国内精品久久久久精免费| 精品福利观看| 天天躁夜夜躁狠狠躁躁| 午夜福利一区二区在线看| 亚洲性夜色夜夜综合| 香蕉国产在线看| 操美女的视频在线观看| 免费在线观看日本一区| 97人妻天天添夜夜摸| 麻豆久久精品国产亚洲av| 国产在线观看jvid| 90打野战视频偷拍视频| 久久久久九九精品影院| 女人被狂操c到高潮| 国产成人av激情在线播放| 一边摸一边抽搐一进一出视频| 天天躁夜夜躁狠狠躁躁| 国产成年人精品一区二区| 老鸭窝网址在线观看| 欧美黄色淫秽网站| 一级毛片精品| 亚洲成人免费电影在线观看| 亚洲精品在线观看二区| 天堂√8在线中文| a级毛片在线看网站| 亚洲成国产人片在线观看| 日日爽夜夜爽网站| 夜夜看夜夜爽夜夜摸| 亚洲国产精品999在线| or卡值多少钱| 成年人黄色毛片网站| 成人亚洲精品av一区二区| 久久精品亚洲精品国产色婷小说| 悠悠久久av| 欧美在线黄色| 波多野结衣av一区二区av| 亚洲,欧美精品.| 国产伦人伦偷精品视频| 国产熟女午夜一区二区三区| 正在播放国产对白刺激| 亚洲最大成人中文| 国产免费男女视频| 精品国产一区二区久久| 757午夜福利合集在线观看| 嫩草影院精品99| 精品国产乱子伦一区二区三区| 两性夫妻黄色片| 一进一出抽搐动态| 欧美国产日韩亚洲一区| 不卡av一区二区三区| av天堂在线播放| 深夜精品福利| 日韩大码丰满熟妇| 美女扒开内裤让男人捅视频| 久久精品国产综合久久久| 精品不卡国产一区二区三区| 午夜福利欧美成人| 国产av精品麻豆| 操出白浆在线播放| 精品日产1卡2卡| 亚洲 欧美一区二区三区| 又紧又爽又黄一区二区| 无遮挡黄片免费观看| av有码第一页| 1024视频免费在线观看| 国产成人欧美在线观看| 亚洲av片天天在线观看| 一进一出抽搐gif免费好疼| 国产精品免费一区二区三区在线| 欧美激情高清一区二区三区| 三级毛片av免费| 看片在线看免费视频| 亚洲专区中文字幕在线| 天堂√8在线中文| 欧美成狂野欧美在线观看| 天堂影院成人在线观看| 国产亚洲精品综合一区在线观看 | 色综合站精品国产| av超薄肉色丝袜交足视频| www国产在线视频色| 99久久99久久久精品蜜桃| 午夜福利高清视频| 日本精品一区二区三区蜜桃| 亚洲一码二码三码区别大吗| 国产精品秋霞免费鲁丝片| 成人18禁高潮啪啪吃奶动态图| 黄色成人免费大全| 国产真人三级小视频在线观看| 国产一区二区在线av高清观看| 亚洲九九香蕉| 最新在线观看一区二区三区| 91在线观看av| 久久久久亚洲av毛片大全| 天堂√8在线中文| 禁无遮挡网站| 人人澡人人妻人| 亚洲三区欧美一区| 欧美激情 高清一区二区三区| 久久久久国内视频| 国产aⅴ精品一区二区三区波| 中文亚洲av片在线观看爽| 久久精品国产清高在天天线| 中亚洲国语对白在线视频| 伦理电影免费视频| 9热在线视频观看99| 美女午夜性视频免费| 久久久精品欧美日韩精品| 国产单亲对白刺激| 老司机深夜福利视频在线观看| 精品人妻1区二区| 免费高清在线观看日韩| 亚洲人成伊人成综合网2020| 国产亚洲精品一区二区www| 波多野结衣av一区二区av| 成人亚洲精品一区在线观看| 国产麻豆69| 在线国产一区二区在线| 成人三级黄色视频| 国产成人精品无人区| 黄色丝袜av网址大全| 亚洲人成网站在线播放欧美日韩| 亚洲激情在线av| 男人的好看免费观看在线视频 | 男女床上黄色一级片免费看| 国产成人影院久久av| 成熟少妇高潮喷水视频| 欧美日韩精品网址| 国产主播在线观看一区二区| 18美女黄网站色大片免费观看| 自拍欧美九色日韩亚洲蝌蚪91| 97人妻天天添夜夜摸| 亚洲成人国产一区在线观看| 在线观看免费日韩欧美大片| 50天的宝宝边吃奶边哭怎么回事| 国产午夜福利久久久久久| 国产欧美日韩精品亚洲av| 久久这里只有精品19| 91九色精品人成在线观看| 欧美在线黄色| 满18在线观看网站| 国产激情久久老熟女| 久久精品91蜜桃| 变态另类丝袜制服| 久久久精品国产亚洲av高清涩受| 女人爽到高潮嗷嗷叫在线视频| 97人妻精品一区二区三区麻豆 | 精品久久久久久,| 母亲3免费完整高清在线观看| 成人18禁在线播放| 一级a爱视频在线免费观看| 他把我摸到了高潮在线观看| 无人区码免费观看不卡| 欧美绝顶高潮抽搐喷水| 日本五十路高清| 国产精品精品国产色婷婷| 国产麻豆69| 美国免费a级毛片| 一a级毛片在线观看| 午夜免费激情av| 人妻丰满熟妇av一区二区三区| 国产欧美日韩一区二区三区在线| 成人亚洲精品一区在线观看| 国产成人欧美在线观看| 精品少妇一区二区三区视频日本电影| 99国产精品免费福利视频| 国产精品秋霞免费鲁丝片| av电影中文网址| 婷婷六月久久综合丁香| 国产熟女午夜一区二区三区| 热re99久久国产66热| 91成人精品电影| 满18在线观看网站| 久久伊人香网站| 12—13女人毛片做爰片一| 国产一区二区激情短视频| 非洲黑人性xxxx精品又粗又长| 亚洲专区字幕在线| 国产又色又爽无遮挡免费看| 欧美成人一区二区免费高清观看 | 首页视频小说图片口味搜索| 女性被躁到高潮视频| 天堂动漫精品| 波多野结衣一区麻豆| 在线国产一区二区在线| 国产成人系列免费观看| 亚洲av熟女| 高清在线国产一区| 久久婷婷成人综合色麻豆| 91成年电影在线观看| 99久久综合精品五月天人人| 少妇 在线观看| 亚洲精品粉嫩美女一区| 免费在线观看黄色视频的| 一本大道久久a久久精品| 免费av毛片视频| 精品欧美国产一区二区三| 欧美日本视频| 97碰自拍视频| 日本a在线网址| 亚洲avbb在线观看| 激情视频va一区二区三区| 天堂√8在线中文| aaaaa片日本免费| 色老头精品视频在线观看| 国产欧美日韩一区二区三| 在线观看免费午夜福利视频| 欧美精品啪啪一区二区三区| 宅男免费午夜| 精品一区二区三区四区五区乱码| 国产精品98久久久久久宅男小说| 亚洲第一青青草原| 国产区一区二久久| av免费在线观看网站| 中文字幕人妻丝袜一区二区| 亚洲欧美激情综合另类| 黄色成人免费大全| 亚洲中文av在线| 国产精品久久电影中文字幕| 12—13女人毛片做爰片一| 亚洲精品中文字幕一二三四区| 中文字幕久久专区| 午夜福利欧美成人| 别揉我奶头~嗯~啊~动态视频| 一本大道久久a久久精品| 国产精品免费一区二区三区在线| av片东京热男人的天堂| 在线观看免费视频日本深夜| 久久久久久国产a免费观看| 欧美日韩亚洲国产一区二区在线观看| 欧美日韩黄片免| 久久精品国产亚洲av高清一级| 看免费av毛片| 啦啦啦免费观看视频1| 国产成人影院久久av| 亚洲国产欧美网| 日韩精品免费视频一区二区三区| 日本 欧美在线| 啦啦啦韩国在线观看视频| 亚洲国产看品久久| av福利片在线| 黄色成人免费大全| 亚洲人成77777在线视频| 亚洲第一电影网av| 波多野结衣高清无吗| av超薄肉色丝袜交足视频| 脱女人内裤的视频| 国产在线观看jvid| 亚洲一卡2卡3卡4卡5卡精品中文| 国产伦一二天堂av在线观看| 欧美黑人欧美精品刺激| 91麻豆av在线| 国产高清视频在线播放一区| 黄频高清免费视频| 午夜免费鲁丝| 日本 av在线| 国产区一区二久久| 亚洲国产高清在线一区二区三 | 午夜影院日韩av| 一边摸一边抽搐一进一小说| 又黄又粗又硬又大视频| 长腿黑丝高跟| 日本在线视频免费播放| 国产精品影院久久| 午夜福利在线观看吧| 精品久久久精品久久久| 男女床上黄色一级片免费看| 国产成人啪精品午夜网站| 黑人巨大精品欧美一区二区蜜桃| 日韩大码丰满熟妇| 黑人操中国人逼视频| 免费av毛片视频| 十分钟在线观看高清视频www| 一区二区三区激情视频| 国产伦人伦偷精品视频| 成人欧美大片| 国产精品免费一区二区三区在线| 欧美一级毛片孕妇| 一进一出抽搐gif免费好疼| 日韩高清综合在线| 欧美精品啪啪一区二区三区| 欧美激情极品国产一区二区三区| 婷婷丁香在线五月| 91成人精品电影| 变态另类丝袜制服| 91麻豆精品激情在线观看国产| 好男人在线观看高清免费视频 | 精品免费久久久久久久清纯| 免费在线观看亚洲国产| 美女国产高潮福利片在线看| 午夜福利,免费看| 精品国产一区二区久久| 在线国产一区二区在线| 97人妻精品一区二区三区麻豆 | 不卡av一区二区三区| 亚洲欧美日韩无卡精品| 男女之事视频高清在线观看| 高清在线国产一区| 少妇 在线观看| 久久精品国产亚洲av香蕉五月| 免费高清在线观看日韩| 欧美日韩一级在线毛片| 人妻久久中文字幕网| 91大片在线观看| 亚洲精品国产色婷婷电影| 在线国产一区二区在线| 身体一侧抽搐| 婷婷精品国产亚洲av在线| 国产精品精品国产色婷婷| 欧美另类亚洲清纯唯美| 亚洲 欧美 日韩 在线 免费| 国产黄a三级三级三级人| 三级毛片av免费| 久久久久国产精品人妻aⅴ院| 深夜精品福利| 国产成人av教育| 成人永久免费在线观看视频| 日韩欧美一区二区三区在线观看| 香蕉国产在线看| 国产亚洲精品综合一区在线观看 | 亚洲国产欧美一区二区综合| 欧美一级a爱片免费观看看 | 精品国产美女av久久久久小说| 亚洲 欧美一区二区三区| 精品国产乱码久久久久久男人| av免费在线观看网站| 欧美人与性动交α欧美精品济南到| 久久欧美精品欧美久久欧美| 欧洲精品卡2卡3卡4卡5卡区| 99国产精品免费福利视频| 精品高清国产在线一区| 国产精品久久久久久人妻精品电影| 精品一区二区三区视频在线观看免费| e午夜精品久久久久久久| 国产蜜桃级精品一区二区三区| 日韩大尺度精品在线看网址 | 变态另类成人亚洲欧美熟女 | 99re在线观看精品视频| 淫妇啪啪啪对白视频| 大陆偷拍与自拍| 亚洲精品一卡2卡三卡4卡5卡| 中文字幕人妻熟女乱码| 亚洲第一av免费看| 我的亚洲天堂| 搡老妇女老女人老熟妇| 精品一区二区三区视频在线观看免费| 夜夜夜夜夜久久久久| 精品国产美女av久久久久小说| 91精品国产国语对白视频| 国产成人精品久久二区二区91| 亚洲中文字幕日韩| 两人在一起打扑克的视频| 久热这里只有精品99| 国产成人免费无遮挡视频| 99国产精品一区二区蜜桃av| 免费在线观看影片大全网站| 精品欧美一区二区三区在线| 99国产精品免费福利视频| 美国免费a级毛片| 十八禁人妻一区二区| 99国产极品粉嫩在线观看| 国产av一区在线观看免费| 91成年电影在线观看| 黄色成人免费大全| 精品一区二区三区四区五区乱码| 黄色女人牲交| 亚洲国产欧美网| 在线观看午夜福利视频| 精品人妻1区二区| 国产人伦9x9x在线观看| 国产精品精品国产色婷婷| 欧美成人午夜精品| 夜夜夜夜夜久久久久| 国产精品免费一区二区三区在线| 91在线观看av| 桃红色精品国产亚洲av| 色在线成人网| 亚洲欧美日韩高清在线视频| 欧美成人性av电影在线观看| 身体一侧抽搐| 欧美另类亚洲清纯唯美| 色综合站精品国产| 黑人巨大精品欧美一区二区mp4| 老司机午夜十八禁免费视频| 国产私拍福利视频在线观看| 国产成+人综合+亚洲专区| 国产亚洲av嫩草精品影院| 亚洲国产精品sss在线观看| 夜夜躁狠狠躁天天躁| 日本免费a在线| 亚洲五月色婷婷综合| 两人在一起打扑克的视频| 岛国视频午夜一区免费看| 不卡av一区二区三区| 午夜精品久久久久久毛片777| 国产精品香港三级国产av潘金莲| 91精品国产国语对白视频| 视频在线观看一区二区三区| 国产野战对白在线观看| 我的亚洲天堂| 亚洲黑人精品在线| 神马国产精品三级电影在线观看 | 中出人妻视频一区二区| 在线天堂中文资源库| 国产精品99久久99久久久不卡| 亚洲人成伊人成综合网2020| 免费av毛片视频| 国产熟女xx| 在线观看免费日韩欧美大片| 亚洲五月色婷婷综合| 老鸭窝网址在线观看| 欧美国产精品va在线观看不卡| 一本大道久久a久久精品| 宅男免费午夜| 久久久久久久久免费视频了| 色在线成人网| 欧美一级毛片孕妇| 久久久久亚洲av毛片大全| 在线观看日韩欧美| 一边摸一边抽搐一进一出视频| а√天堂www在线а√下载| 老司机深夜福利视频在线观看| 黄色视频不卡| 人人澡人人妻人| 欧美在线黄色| 亚洲免费av在线视频| 亚洲av五月六月丁香网| 亚洲精品粉嫩美女一区| 多毛熟女@视频| 成人三级黄色视频| 熟女少妇亚洲综合色aaa.| 美女免费视频网站| 97超级碰碰碰精品色视频在线观看|