亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于嵌入式關(guān)系數(shù)據(jù)庫存儲的貨運雜費收繳管理系統(tǒng)的設(shè)計與實現(xiàn)

        2012-11-26 07:10:40李大明
        鐵路計算機應(yīng)用 2012年9期
        關(guān)鍵詞:頁面嵌入式數(shù)據(jù)庫

        李大明

        (鐵道部 信息技術(shù)中心,北京 100844)

        隨著嵌入式系統(tǒng)的廣泛應(yīng)用及用戶對數(shù)據(jù)處理和數(shù)據(jù)管理能力的不斷提高,嵌入式數(shù)據(jù)庫技術(shù)得到快速發(fā)展。嵌入式數(shù)據(jù)庫不僅具有傳統(tǒng)數(shù)據(jù)庫的主要功能,還具有操作簡單、快捷靈活等特性。該技術(shù)屏蔽了傳統(tǒng)數(shù)據(jù)庫需要與服務(wù)器配置相關(guān)的資源開銷,可以直接嵌入到應(yīng)用進程中,對數(shù)據(jù)庫進行處理?;谇度胧疥P(guān)系數(shù)據(jù)庫存儲的貨運雜費收繳管理系統(tǒng)可以提高貨運雜費收繳的效率,加快鐵路貨運管理信息化的進程,已成為鐵路貨運現(xiàn)代化管理的中堅力量。

        1 貨運雜費收繳管理系統(tǒng)總體設(shè)計概述

        1.1 關(guān)于貨運雜費

        鐵路貨物運輸雜費是鐵路貨物運輸費用的組成部分。貨物自承運至交付的全過程中,鐵路運輸企業(yè)向托運人、收貨人提供的輔助作業(yè)和勞務(wù),以及托運人或收貨人額外占用鐵路設(shè)備,使用用具、備品所發(fā)生的費用等,均屬貨運雜費。

        鐵路貨運雜費收繳系統(tǒng)具有到達貨票接收、發(fā)送雜費補收、到達貨物交付、雜費核收、客戶預(yù)付款管理、催領(lǐng)通知打印、進款結(jié)賬、分類統(tǒng)計等功能。對裝卸費的核收,貨車使用費的核收,取送車費的核收、內(nèi)外勤交接等提供專用處理模塊。滿足車站多樣化的需求。

        1.2 體系結(jié)構(gòu)

        貨運雜費收繳系統(tǒng)作為基礎(chǔ)雜費收繳工具,在基層分為單機工作模式和服務(wù)器工作模式,同時對鐵路局、鐵道部層次具有傳輸接口,其體系結(jié)構(gòu)如圖1。

        1.3 功能結(jié)構(gòu)

        1.3.1 軟件登陸

        進入本系統(tǒng)的接口,校驗用戶名稱、口令,用戶登錄需要選擇工作日期,校驗成功后進入系統(tǒng)。

        1.3.2 系統(tǒng)設(shè)置模塊

        系統(tǒng)設(shè)置模塊完成一組與本系統(tǒng)運行信息相關(guān)的功能,包括:業(yè)務(wù)崗位設(shè)置、操作員設(shè)置、系統(tǒng)運行車站設(shè)置、系統(tǒng)運行模式設(shè)置、修改當前操作員口令、變更操作員和系統(tǒng)日志查詢等功能。

        1.3.3 到達處理模塊

        完成到達貨票接收、到達貨票錄入、到達貨票確認、到達貨票催領(lǐng)和到達貨物交接等操作。

        1.3.4 業(yè)務(wù)處理模塊

        在貨票完成到達處理作業(yè)環(huán)節(jié)后,即進入業(yè)務(wù)處理環(huán)節(jié),包括:到達運雜費核收、發(fā)送運雜費核收、中間運雜費交付、貨車使用費交付。

        1.3.5 統(tǒng)計報告模塊

        該模塊完成各種統(tǒng)計報表,包括:各種業(yè)務(wù)的瀏覽和統(tǒng)計。

        1.3.6 預(yù)付款處理模塊

        該模塊處理的是在到達運雜費核收模塊中付款方式選擇預(yù)付款交付產(chǎn)生的雜費信息。預(yù)付款管理包括預(yù)付款存入、支付明細查詢、預(yù)付款扣款、預(yù)付款退補和預(yù)付款結(jié)帳等內(nèi)容。

        1.3.7 參數(shù)維護模塊

        參數(shù)字典維護是本系統(tǒng)中所涉及到的所有字典參數(shù)的維護。

        2 貨運雜費收繳管理系統(tǒng)數(shù)據(jù)庫設(shè)計

        貨運雜費收繳管理系統(tǒng)的本地存儲采用開放源代碼的嵌入式關(guān)系數(shù)據(jù)庫SQLite,整個數(shù)據(jù)庫(定義、表、索引和數(shù)據(jù)本身)都存儲在一個單一的文件中,不需要管理員進行數(shù)據(jù)庫軟件的維護。而網(wǎng)絡(luò)存儲采用Oracle8i同時支持Oracle7、Oracle9i版本數(shù)據(jù)庫。下面重點介紹本系統(tǒng)中本地存儲的嵌入式關(guān)系數(shù)據(jù)庫設(shè)計。

        2.1 關(guān)于嵌入式關(guān)系數(shù)據(jù)庫

        嵌入式數(shù)據(jù)庫在某些方面與大型關(guān)系數(shù)據(jù)庫相似,它最大的特性是無須擁有獨立運行的數(shù)據(jù)庫引擎,具有占用磁盤小,占有內(nèi)存少的特點。實際上嵌入式數(shù)據(jù)庫是一種具備了基本數(shù)據(jù)庫特性的若干數(shù)據(jù)文件。嵌入式數(shù)據(jù)庫編譯后的產(chǎn)品所占內(nèi)存一般不超過幾十kbit。

        2.2 嵌入式數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)

        嵌入式數(shù)據(jù)庫將數(shù)據(jù)庫系統(tǒng)與操作系統(tǒng)和具體應(yīng)用集成在一起,運行在各種智能嵌入式設(shè)備上。與傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)相比,它體積小,有較強的便攜性和易用性,以及較為完備的功能來實現(xiàn)用戶對數(shù)據(jù)的管理操作。在實際應(yīng)用中,嵌入式數(shù)據(jù)庫存儲容量較小、穩(wěn)定性和可靠性比較低,我們可以在PC機上配置嵌入式數(shù)據(jù)庫來實現(xiàn)大容量數(shù)據(jù)的存儲和管理。

        從結(jié)構(gòu)上可以將嵌入式數(shù)據(jù)庫管理系統(tǒng)分為外殼和內(nèi)核兩大部分。

        2.2.1 外 殼

        嵌入式數(shù)據(jù)庫提供可直接調(diào)用的內(nèi)部接口函數(shù),開發(fā)人員可以通過接口函數(shù)對數(shù)據(jù)庫直接進行管理和訪問。數(shù)據(jù)庫應(yīng)用程序是數(shù)據(jù)管理體系與終端的中間層,數(shù)據(jù)庫應(yīng)用開發(fā)人員在本層進行編碼工作,完成對嵌入式數(shù)據(jù)庫的訪問鏈接。

        開發(fā)人員在使用數(shù)據(jù)庫系統(tǒng)向上提供的接口函數(shù)時,只需要調(diào)用標準的接口,不需要考慮下層的實現(xiàn)細節(jié)。其主要工作是對接口函數(shù)的輸入項進行處理,然后將需要處理的輸入項轉(zhuǎn)化為數(shù)據(jù)庫內(nèi)部可處理的數(shù)據(jù)結(jié)構(gòu)。

        2.2.2 內(nèi) 核

        這部分是嵌入式數(shù)據(jù)庫的內(nèi)核,包含了嵌入式數(shù)據(jù)庫的核心功能。主要有:系統(tǒng)管理、事務(wù)管理器等。具體內(nèi)容本文不做詳細介紹。

        2.3 雜費收繳管理系統(tǒng)的數(shù)據(jù)庫設(shè)計概要

        本系統(tǒng)存儲工具采用了開放源代碼的SQLite嵌入式關(guān)系數(shù)據(jù)庫,在基于源代碼的基礎(chǔ)上定義了一些結(jié)構(gòu)性的宏,這樣既可以支持中間層的接口定義,也方便調(diào)用管理。而在數(shù)據(jù)存儲中采用壓縮、加密技術(shù),通過中間層對原始數(shù)據(jù)進行壓縮及加密。上層的應(yīng)用進程通過調(diào)用中間層實現(xiàn)對數(shù)據(jù)的訪問,保護原始數(shù)據(jù)不被惡意篡改,因而保證了數(shù)據(jù)的安全性和完整性。數(shù)據(jù)結(jié)構(gòu)如圖2。

        圖2 數(shù)據(jù)結(jié)構(gòu)

        2.3.1 設(shè)計策略

        整個數(shù)據(jù)存儲涉及到的兩種數(shù)據(jù):字典數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)。設(shè)計策略包含數(shù)據(jù)存儲策略、數(shù)據(jù)訪問策略等。

        2.3.1.1 數(shù)據(jù)存儲策略

        針對不同的數(shù)據(jù)采取不同的存儲方案:(1)對于字典數(shù)據(jù),按照不同的維護層次(部級字典、局級字典、站段級字典(含地鐵公司)、窗口級字典)分別存儲到相對獨立的本地數(shù)據(jù)文件中,窗口級字典不上傳到網(wǎng)絡(luò),其他字典在網(wǎng)絡(luò)上分開存放,每一級維護的參數(shù)原則上存儲在一個該級對應(yīng)的本地數(shù)據(jù)庫中。(2)對于雜費業(yè)務(wù)數(shù)據(jù),本地按照工作日分開存儲,網(wǎng)絡(luò)按工作庫/歷史庫存儲,工作庫保存1個月~2個月,歷史庫保存1年~2年。為保證數(shù)據(jù)的安全性和完整性,本地數(shù)據(jù)存儲在兩個不同的目錄下,每次寫數(shù)據(jù)時同時寫入兩個本地數(shù)據(jù)庫,如果網(wǎng)絡(luò)存儲狀態(tài)正常,同步寫入網(wǎng)絡(luò)數(shù)據(jù)庫,有服務(wù)器而網(wǎng)絡(luò)不通時,把數(shù)據(jù)的變化寫入日志,待網(wǎng)絡(luò)連通時,自動實現(xiàn)數(shù)據(jù)上傳到網(wǎng)絡(luò)服務(wù)器。本地數(shù)據(jù)與工作庫由接口程序?qū)崿F(xiàn)同步,工作庫到歷史庫由具有管理權(quán)限的操作員控制數(shù)據(jù)倒庫。

        2.3.1.2 數(shù)據(jù)訪問策略

        字典數(shù)據(jù)每個維護層次只能修改自己負責(zé)的數(shù)據(jù),對于由其他層次維護的字典數(shù)據(jù)只能讀取。

        業(yè)務(wù)數(shù)據(jù)來自最基層,所以只能由車站級雜費軟件建立和修改,其他授權(quán)系統(tǒng)只能讀取,未授權(quán)系統(tǒng)不能讀取。業(yè)務(wù)數(shù)據(jù)只能從窗口本地上傳到服務(wù)器,不允許服務(wù)器數(shù)據(jù)覆蓋本地數(shù)據(jù),恢復(fù)客戶機時應(yīng)有管理員權(quán)限。

        查詢數(shù)據(jù)時,根據(jù)系統(tǒng)運行模式確定所要查詢的數(shù)據(jù)庫是本地數(shù)據(jù)庫還是網(wǎng)絡(luò)數(shù)據(jù)庫。

        貨票本地數(shù)據(jù)庫文件、雜費本地數(shù)據(jù)庫、字典本地數(shù)據(jù)庫分別在不同的目錄中存儲。

        網(wǎng)絡(luò)數(shù)據(jù)庫中數(shù)據(jù)表名稱由電報碼和標識符號組成(不按時間區(qū)分表名)。本地數(shù)據(jù)庫中表名與網(wǎng)絡(luò)服務(wù)器表名相同。

        2.3.2 數(shù)據(jù)元素

        貨票數(shù)據(jù)包含本站發(fā)送貨票和到達貨票,也包括地鐵公司運行的貨物在到站填制的貨票。

        接收電子票直接存入工作庫,接收時比較數(shù)據(jù)狀態(tài),如果庫中數(shù)據(jù)已經(jīng)做過處理,不能直接進行覆蓋。數(shù)據(jù)元素主要包括貨票數(shù)據(jù)、雜費數(shù)據(jù)、部級字典、局級字典、站段字典、操作日志。具體數(shù)據(jù)結(jié)構(gòu)省略。

        3 基于嵌入式關(guān)系數(shù)據(jù)庫的雜費系統(tǒng)的實現(xiàn)

        3.1 數(shù)據(jù)表示與存儲功能實現(xiàn)

        3.1.1 數(shù)據(jù)結(jié)構(gòu)

        貨運雜費收繳管理系統(tǒng)根據(jù)嵌入式數(shù)據(jù)庫基本功能的特點,將系統(tǒng)中所有的數(shù)據(jù)分為數(shù)據(jù)表、數(shù)據(jù)表索引和資源隊列。并由此定義了相應(yīng)的數(shù)據(jù)對象:二維表對象、表索引對象和隊列對象。對于每一種對象,都有相應(yīng)的特征描述來規(guī)定該對象的共有特性以及實現(xiàn)的基本方法。

        3.1.2 存儲管理實現(xiàn)

        貨運雜費收繳管理系統(tǒng)的數(shù)據(jù)庫由若干表組成,每個表對應(yīng)的表空間在內(nèi)存中采用虛擬文件來存儲,通過對存儲空間的起始地址、結(jié)束地址及鏈表的記錄管理,實現(xiàn)對這些表的存儲空間進行有效的管理。把這些虛擬文件的連續(xù)存儲空間按頁面存儲,每個頁面可以存儲多條記錄。對于頁面大小的處理,可以根據(jù)記錄的大小及記錄數(shù)來控制。因此,當對數(shù)據(jù)庫中一條記錄進行修改操作時,只需要將虛擬文件中這條記錄所在的頁面修改即可。

        3.1.3 提供的接口函數(shù)

        cache_init 緩沖初始化:為表分配頁面,并將該表加入到緩沖表中,同時初始化。

        cache_free 清空緩沖區(qū):釋放表的所存在的頁面,然后釋放表所占的緩存。

        cache_load 文件裝載:從磁盤中將表對應(yīng)的文件數(shù)據(jù)全部讀到表的相應(yīng)頁面中。

        cache_write 寫入文件:將表中的節(jié)點鏈表中數(shù)據(jù)寫到對應(yīng)磁盤的文件。

        cache_addpg 擴展節(jié)點:添加一個新節(jié)點。cache_delpg 刪除節(jié)點:刪除節(jié)點。

        cache_redpg 讀取一頁:從數(shù)據(jù)中讀取指定一頁內(nèi)容。

        cache_outpg 寫入一頁:將指定一頁數(shù)據(jù)寫到文件中。

        3.2 基于SQLite技術(shù)實現(xiàn)對數(shù)據(jù)庫訪問

        嵌入式數(shù)據(jù)庫SQLite的C語言API以下面3個核心函數(shù)為基礎(chǔ):

        sqlite *sqlite_open(const char *dbname,int mode,char **errmsg);

        Void sqlite_close(sqlite *db);

        Int sqlite_exec(sqlite *db,char *sql,int(*callback)(void *,int,char **,char**),void *parg,char**errmsg);

        其中,前兩個函數(shù)用于打開與關(guān)閉數(shù)據(jù)庫,sqlite_exec函數(shù)用來處理sql查詢,所用callback函數(shù)由用戶編寫,用來接收查詢結(jié)果,查詢結(jié)果的每一條記錄都會調(diào)用一次callback函數(shù),正常返回0,如果非0,則查詢失敗。

        雜費收繳管理系統(tǒng)基于SQLite提供的接口函數(shù)封裝了一個中間層,該層完成了對數(shù)據(jù)的壓縮和編碼加密,然后存入數(shù)據(jù)庫。所以,用標準SQL語言從數(shù)據(jù)庫中查尋的結(jié)果是亂碼,只有通過中間層訪問,解壓縮再解密后才能得到原始數(shù)據(jù),這樣就保證了數(shù)據(jù)的安全性和完整性。其中,編碼采用Base64編碼,Base64編碼把任意序列的字節(jié)描述為一種不易被人直接識別的形式。通過編碼和加密后的數(shù)據(jù)所占的存儲空間變大,所以利用壓縮技術(shù)減少數(shù)據(jù)所占的空間。

        中間層分別定義了壓縮和加密函數(shù),如下:

        compress(Bytef *dest,uLongf *destLen,const Bytef *source,uLong sourceLen);

        int Base64Encode(const unsigned char *src,int srclen, unsigned char *dest);

        使用Base64Encode函數(shù)時,應(yīng)注意要分別記錄數(shù)據(jù)壓縮前后的長度,否則在解壓時無法還原。

        中間層中還定義了數(shù)據(jù)庫相關(guān)類CppSQLite3DB和CppSQLite3Statement。類中的方法基于SQLite提供的API函數(shù),構(gòu)造了對數(shù)據(jù)庫訪問的實現(xiàn)。

        舉例說明插入表的代碼如下:

        通過以上代碼就完成了雜費收繳管理系統(tǒng)中對原始數(shù)據(jù)進行壓縮、編碼再插入到數(shù)據(jù)庫表的功能實現(xiàn)。同樣,可以完成對嵌入式數(shù)據(jù)庫中數(shù)據(jù)的刪除和更新等功能的實現(xiàn)。

        3.3 事務(wù)管理實現(xiàn)

        3.3.1 事務(wù)管理的實現(xiàn)

        貨運雜費收繳管理系統(tǒng)將所有任務(wù)的事務(wù)狀態(tài)分為3種:開始提交(向系統(tǒng)文件提交修改過的數(shù)據(jù)頁面)、正在提交(向數(shù)據(jù)文件提交修改過的數(shù)據(jù)頁面)和事務(wù)空閑(沒有開始事務(wù))。事務(wù)處理包括開始事務(wù)、提交事務(wù)、事務(wù)回滾等功能。當事務(wù)回滾時,將任務(wù)日志中所有修改過的數(shù)據(jù)頁面回退,把修改的記錄還原。當提交事務(wù)時,將任務(wù)日志中修改過的數(shù)據(jù)頁面寫入到系統(tǒng)日志文件中。多個任務(wù)的事務(wù)同時提交時,事物彼此間是互斥的,優(yōu)先處理優(yōu)先級高的事物。

        3.3.2 日志設(shè)計與實現(xiàn)

        貨運雜費收繳管理系統(tǒng)中存在兩種日志:系統(tǒng)日志文件和任務(wù)日志,系統(tǒng)日志文件只有一個,用于處理并發(fā)事物時使用;而任務(wù)日志文件每個任務(wù)生成一個,用于記錄本任務(wù)的修改操作。對于每一個事物,都有一個日志記錄任務(wù)所修改過的虛擬文件和數(shù)據(jù)頁面號。當提交事務(wù)時,依據(jù)任務(wù)日志記錄的內(nèi)容記入系統(tǒng)日志文件,當回滾事務(wù)時,依據(jù)任務(wù)日志恢復(fù)所有修改過的數(shù)據(jù)頁面。

        4 結(jié)束語

        基于嵌入式關(guān)系數(shù)據(jù)庫存儲的貨運雜費管理系統(tǒng)技術(shù)先進、結(jié)構(gòu)合理、功能完善、安全可靠。該系統(tǒng)的使用有助于降低鐵路運營成本、強化精細管理、提高作業(yè)效率,為鐵路貨運服務(wù)提供了強有力的保障。

        [1]鐵道部. 鐵路貨物運輸規(guī)程[M]. 北京:中國鐵道出版社,2011,4.

        [2]鐵道部. 鐵路貨物運輸管理規(guī)則[M]. 北京:中國鐵道出版社,2000,9.

        [3]鐵道部. 鐵路運輸收入票據(jù)管理工作規(guī)則[M]. 北京:中國鐵道出版社,2003,1.

        [4]解 輝. 嵌入式數(shù)據(jù)庫實現(xiàn)原理[DB/OL]. http://www.docin.com/p-332516826.html, 2008-07-01.

        猜你喜歡
        頁面嵌入式數(shù)據(jù)庫
        大狗熊在睡覺
        刷新生活的頁面
        搭建基于Qt的嵌入式開發(fā)平臺
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        Altera加入嵌入式視覺聯(lián)盟
        倍福 CX8091嵌入式控制器
        自動化博覽(2014年4期)2014-02-28 22:31:15
        久久精品国产亚洲av热明星| av网站免费线看精品| 国产精品无码dvd在线观看| 99在线精品视频在线观看| 波多野结衣中文字幕久久| 精品久久综合亚洲伊人| 免费毛片视频网站| 色综合色综合久久综合频道| 强d乱码中文字幕熟女1000部| 最近更新中文字幕一区二区| 一区二区三区视频| 内射后入在线观看一区| 亚洲欧洲精品成人久久曰不卡| 一区二区三区在线观看视频免费 | 亚洲中文字幕久久精品品| 国产熟妇与子伦hd| 亚洲日韩国产一区二区三区在线| 激情内射亚州一区二区三区爱妻| 欧美自拍区| 久久国产精品老人性| 中文字幕人妻少妇精品| 久久久亚洲免费视频网| 国产女人精品视频国产灰线| 国产美女自慰在线观看| 91精品国产91| 久久久国产熟女综合一区二区三区| 国产一区二区三区久久悠悠色av| 精品国产乱码久久久久久郑州公司| 无码av无码天堂资源网| 在教室伦流澡到高潮hnp视频 | 丰满少妇一区二区三区专区 | 鲁一鲁一鲁一鲁一曰综合网| 少妇人妻真实偷人精品视频| 国产精品无码Av在线播放小说| av在线免费观看你懂的| 国产午夜三级精品久久久| av免费在线免费观看| 亚洲国色天香卡2卡3卡4| 国产成人精品三级在线影院| 精品国产乱来一区二区三区| 国产亚洲成人av一区|