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

        ?

        海量數(shù)據(jù)下國際空運代理系統(tǒng)的研究和開發(fā)

        2016-12-23 01:45:47周建輝
        關(guān)鍵詞:類庫空運視圖

        周建輝

        (江蘇工程職業(yè)技術(shù)學(xué)院 機電工程學(xué)院,江蘇 南通 226007)

        ?

        海量數(shù)據(jù)下國際空運代理系統(tǒng)的研究和開發(fā)

        周建輝

        (江蘇工程職業(yè)技術(shù)學(xué)院 機電工程學(xué)院,江蘇 南通 226007)

        首先介紹開發(fā)國際空運代理系統(tǒng)的背景和意義,從架構(gòu)設(shè)計、功能設(shè)計、數(shù)據(jù)庫設(shè)計和性能優(yōu)化四個方面闡述系統(tǒng)設(shè)計,重點探討海量數(shù)據(jù)下的性能優(yōu)化技術(shù),分析項目構(gòu)成和三層架構(gòu),詳細探討標簽打印和自動軟件升級的實現(xiàn)。實踐證明,系統(tǒng)運行可靠穩(wěn)定,操作方便,有較好的參考價值。

        海量數(shù)據(jù); 系統(tǒng)設(shè)計; 性能優(yōu)化; 三層架構(gòu)

        國際空運代理系統(tǒng)應(yīng)用在跨境物流企業(yè),目前,國內(nèi)的空運代理軟件研究水平較低,尚未形成成熟的應(yīng)用很廣的軟件。國外空運代理軟件雖然起步較早,研究水平較高,但存在本地化問題。在此背景下,筆者針對以空運為物流方式的國內(nèi)跨國物流企業(yè),在多方了解和熟悉相關(guān)企業(yè)的業(yè)務(wù)流程基礎(chǔ)上,研究和開發(fā)了功能比較全面、性能較高、操作方便、支持海量數(shù)據(jù)的國際空運代理系統(tǒng),以期通過企業(yè)實際運用該系統(tǒng),切實地降低物流成本,促進物流企業(yè)的國際化信息化,產(chǎn)生明顯的經(jīng)濟效益和社會效益。

        1 系統(tǒng)設(shè)計

        依據(jù)瀑布模型軟件開發(fā)方法,分別從系統(tǒng)架構(gòu)、系統(tǒng)功能、數(shù)據(jù)庫、系統(tǒng)性能四個方面對系統(tǒng)進行分析。 設(shè)計過程中重點考慮了功能的全面性、系統(tǒng)的可擴展性、性能的優(yōu)化及良好的用戶體驗。本系統(tǒng)采用VS.Net2010旗艦版開發(fā)工具,數(shù)據(jù)庫采用SQLServer2005,版本管理軟件采用VisualSVN和TortoiseSVN[1]。

        1.1 架構(gòu)設(shè)計

        物流企業(yè)的業(yè)務(wù)量每天成千上萬,需要空運代理系統(tǒng)實時性強,運行穩(wěn)定可靠,故系統(tǒng)主體采用基于存儲過程的三層C/S架構(gòu)??紤]到系統(tǒng)的安全性和可擴充性,系統(tǒng)客戶端不直接訪問數(shù)據(jù)庫,而是通過Web服務(wù)[2]提供的數(shù)據(jù)處理服務(wù)完成業(yè)務(wù)處理。Web服務(wù)還可以為PDA應(yīng)用程序提供數(shù)據(jù)服務(wù)。為了便于系統(tǒng)的維護升級,降低系統(tǒng)的耦合度,子模塊均封裝為DLL。系統(tǒng)架構(gòu)圖如圖1所示。

        圖1 系統(tǒng)架構(gòu)

        圖1中打包和發(fā)布程序?qū)l(fā)布的Windows程序打成壓縮包,并在指定文件寫入最新版本號,便于Windows程序主模塊及時識別是否有新版本,如果有就即時下載、解壓并更新程序,以達到客戶端能自動更新版本的目的。

        1.2 功能設(shè)計

        系統(tǒng)功能比較全面,包含系統(tǒng)用戶管理、基礎(chǔ)數(shù)據(jù)管理、網(wǎng)點管理、出口快件管理、財務(wù)管理、業(yè)務(wù)報表等,操作主界面采用專業(yè)的360殺毒軟件的風格,支持多線程、多任務(wù)操作,使用水晶報表作為報表設(shè)計工具,多種方法實現(xiàn)系統(tǒng)多語言(中英文)支持。功能圖如圖2所示。

        圖2 系統(tǒng)功能

        1.3 數(shù)據(jù)庫設(shè)計

        該系統(tǒng)功能較多,邏輯關(guān)系復(fù)雜,設(shè)計的表總共有65個。設(shè)計數(shù)據(jù)庫重點考慮3點:

        1.3.1 適當保持數(shù)據(jù)的冗余性 表之間的外鍵關(guān)系約束較多時會給數(shù)據(jù)查詢帶來不小的開銷,所以保持適當?shù)娜哂嘈詴p少查詢時表連接的次數(shù),從而提高效率。

        1.3.2 使用全球唯一標識符設(shè)置表的主鍵 在分單業(yè)務(wù)表中,數(shù)據(jù)量隨著系統(tǒng)運行會急劇增大,如果采用普通的自增型整形作為主鍵,可能不夠用,另外該業(yè)務(wù)是分布式的,那么在合并分布式表時可能會產(chǎn)生主鍵沖突,使用全球唯一標識符可以完美地解決以上問題。

        1.3.3 編寫適當?shù)囊晥D和存儲過程 為了簡化SQL語句的編寫,編寫了11個視圖。存儲過程可以有效地防止SQL注入攻擊,提高性能,所以系統(tǒng)基于存儲過程。大部分的存儲過程使用第三方工具自動產(chǎn)生,少部分個性化的存儲過程自行編寫。

        部分表的名稱和作用如表1所示。部分視圖的名稱和作用如表2所示。部分存儲過程的名稱和作用如表3所示。

        表1 部分表

        表2 部分視圖

        表3 部分存儲過程

        1.4 性能優(yōu)化

        1.4.1 設(shè)計恰當?shù)乃饕齕3]索引相當于書的目錄或索引,可以提供對數(shù)據(jù)的快速訪問。索引建立在頻繁使用的、用以縮小范圍的查找字段或排序字段上。例如在AirCargo_AddressCity的AirCargo_AddressPre_Code字段上建立普通索引,可以快速根據(jù)省份查找該省的城市信息。由于聚集索引是唯一的,所以聚集索引應(yīng)該建立在最頻繁使用的字段上。

        1.4.2 使用分區(qū)視圖[4]由于業(yè)務(wù)數(shù)據(jù)每天都產(chǎn)生成千上萬條,日積月累將會對數(shù)據(jù)的查詢和插入產(chǎn)生較大的影響。如果不采用一定的方法,最終會成為系統(tǒng)的瓶頸。根據(jù)自然的時間節(jié)點月和查詢要求,將一些業(yè)務(wù)數(shù)據(jù)表拆分成12張結(jié)構(gòu)相同的表,以分別記錄從1月到12月的業(yè)務(wù)數(shù)據(jù),拆分后的表命名可以使用原表名+月編號,例如AirCargo_HAWBData_01來命名一月份分單業(yè)務(wù)數(shù)據(jù)表,然后在每個表中建立一個只能插入對應(yīng)月數(shù)據(jù)的約束,然后建立分區(qū)視圖,業(yè)務(wù)數(shù)據(jù)還可以設(shè)定最多保存六個月的數(shù)據(jù),每隔一個月將最早的一個月數(shù)據(jù)轉(zhuǎn)儲到歷史數(shù)據(jù)庫中,從而確保業(yè)務(wù)數(shù)據(jù)庫中每個業(yè)務(wù)表中最多只保存一月的數(shù)據(jù)。這樣在插入記錄時,減少了表鎖定的范圍,提高了鎖性能。查詢記錄時可以通過分區(qū)視圖快速并行的在各個分表中查詢,查詢效率大大提高。

        1.4.3其他優(yōu)化方法[5]其他優(yōu)化方法還有很多。例如在本系統(tǒng)中,根據(jù)實際的業(yè)務(wù)規(guī)模適當?shù)夭捎梅植际綌?shù)據(jù)庫技術(shù),可以有效地減輕中央數(shù)據(jù)庫的負擔。分布式數(shù)據(jù)可以根據(jù)不同的地域存儲,存儲格式可以使用簡易數(shù)據(jù)庫管理系統(tǒng),然后在空閑時間段合并分布式數(shù)據(jù)。

        另外,可以單獨編寫一個后臺進程,完成系統(tǒng)所需要的所有統(tǒng)計和計算工作,并將統(tǒng)計和計算結(jié)果寫入到指定的表,可以提高查詢性能。

        2 系統(tǒng)實現(xiàn)

        2.1 項目構(gòu)成

        整個系統(tǒng)在.Net實現(xiàn)時表現(xiàn)為一個解決方案,方案命名為International Air Cargo System,它由多個項目構(gòu)成。項目名稱、項目類型和項目作用如表4所示。

        2.2 三層架構(gòu)[6]實現(xiàn)

        本系統(tǒng)采用三層架構(gòu),項目之間的引用和調(diào)用情況可以用圖3表示。

        圖3 系統(tǒng)三層架構(gòu)

        序號項目名稱項目類型項目作用1AirCargo_LoginWindows窗體應(yīng)用程序客戶端主程序登錄、操作主界面和調(diào)用子模塊DLL2AirCargo_WebServiceWeb服務(wù)程序為客戶端程序提供數(shù)據(jù)服務(wù)3AirCargo_Model類庫程序?qū)嶓w層,為數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層提供數(shù)據(jù)傳輸方式4AirCargo_Dal類庫程序數(shù)據(jù)訪問層類庫5AirCargo_User類庫程序用戶管理子模塊6AirCargo_BaseData類庫程序基礎(chǔ)數(shù)據(jù)管理子模塊7ExpressAndEC_Export類庫程序出口快件子模塊8AirCargo_Report類庫程序報表子模塊9Helper類庫程序提供輔助功能,例如MD5加密、發(fā)送Email、文件上傳和下載等

        本系統(tǒng)的三層架構(gòu)有本身的特點,體現(xiàn)在以下幾個方面:

        ①三層架構(gòu)是分離的。AirCargo_Login是三層架構(gòu)的表示層。AirCargo_WebService是三層架構(gòu)的業(yè)務(wù)邏輯層,它引用實體層和數(shù)據(jù)訪問層對表示層提供服務(wù)。

        ②三層架構(gòu)是C/S程序和Web服務(wù)程序的融合。在該三層架構(gòu)中,既有Windows應(yīng)用程序,又有Web服務(wù)程序,同時具有C/S和B/S的特點,充分利用兩者的各自優(yōu)點。

        ③表示層中的實體類是引用Web服務(wù)程序時映射而成的。Web服務(wù)程序可以直接引用Model項目,但表示層中對應(yīng)的實體類是Web服務(wù)引用中間接產(chǎn)生的。

        2.3 標簽打印[7]

        標簽打印的技術(shù)目前有兩種:水晶報表和CodeSoft插件。水晶報表功能強大,Crystal Report Viewer13.0版本除了支持一般的統(tǒng)計、分組、交叉報表之外,還可以支持條形碼。較好地滿足了本系統(tǒng)中設(shè)計和打印面單、標簽和條碼的需求。缺點是該版本已經(jīng)不與VS.Net2010旗艦版集成,需要手動集成,操作比較麻煩。

        CodeSoft10.0可以輕松靈活地設(shè)計和打印標簽,可以集成在.Net里,標簽可以矢量打印,缺陷是不免費,免費的試用版受到很多限制。本系統(tǒng)使用水晶報表作為制作標簽的工具。

        2.4 軟件自動升級實現(xiàn)[8]

        首先分別在服務(wù)器和客戶端新建兩個XML文件,記錄服務(wù)器端和客戶端的軟件版本號。

        ①服務(wù)器端ServerUpdateFile.XML文件

        ……

        〈rootserver〉

        〈version no="1.0.0.1" remark="服務(wù)器端版本號"〉

        〈/version〉

        〈fileZip filename="down.zip" hash="***" remark="服務(wù)器端升級壓縮包名稱及哈希值"〉

        〈/fileZip〉

        〈/rootserver〉

        ……

        服務(wù)器端使用工具生成一個升級包后,修改該文件中對應(yīng)的版本號

        ②客戶端LocalVersion.xml文件

        〈RootLocal〉

        〈version no="1.0.0.1" remark="本地版本號"〉

        〈/version〉

        〈ServerDownloadUrl ="***" remark="升級地址"〉

        〈/ServerDownloadUrl〉

        〈ApplicationName name="***" remark="宿主程序"〉

        〈/Application〉

        〈RootLocal〉

        用戶登錄之前從服務(wù)器獲取ServerUpdateFile.XML文件,判斷本地XML文件中的版本號是否比服務(wù)器上小,如果小,則殺掉主進程,自動進入更新程序。如果等于,則進入登錄窗口,運行主程序。

        3 總結(jié)

        本系統(tǒng)經(jīng)試運行,運行界面美觀、穩(wěn)定可靠、性能在可以接受的范圍內(nèi),支持月快遞量十萬級。系統(tǒng)能較好地適應(yīng)用戶的可變多樣化的需求,快遞攬件、查詢和統(tǒng)計比較方便,支持面單打印和粘貼,支持條形碼輸入,降低了人工成本,可以快速產(chǎn)生報關(guān)時所需的數(shù)據(jù),縮短了快遞流轉(zhuǎn)時間,可以導(dǎo)出報表數(shù)據(jù)以便與關(guān)系方校核,省去了很多中間環(huán)節(jié),產(chǎn)生了較好的社會價值和經(jīng)濟價值。系統(tǒng)運行成熟后,可向跨國航空物流企業(yè)推廣使用,對于需要開發(fā)Windows程序的應(yīng)用場合具有較好的參考意義。

        [1] 戴楠,閆明星. 用SVN實現(xiàn)軟件的版本控制[J]. 電腦知識與技術(shù),2009(16):4289-4290.

        [2] 羅玲,白曉穎. Web服務(wù)技術(shù)的分析[J]. 計算機科學(xué),2004(4):19-23.

        [3] 于風山,趙衛(wèi)東,田剛. SQL Server數(shù)據(jù)庫設(shè)計優(yōu)化技術(shù)[J]. 福建電腦,2006(2):132-133.

        [4] 馬小麗,姜贊梅. MS SQL Server2000中大數(shù)據(jù)量表的拆分與實現(xiàn)[J]. 電氣傳動自動化,2013(5):46-48.

        [5] 谷震離. SQL Server數(shù)據(jù)庫應(yīng)用程序性能優(yōu)化方法[J]. 計算機工程與設(shè)計,2006(15):2884-2886.

        [6] 高揚. 基于.NET平臺的三層架構(gòu)軟件框架的設(shè)計與實現(xiàn)[J]. 計算機技術(shù)與發(fā)展,2011(2):77-80.

        [7] 薛冰. 基于.NET的標簽打印設(shè)計與實現(xiàn)[J]. 電腦編程技巧與維護,2014(9):57-59.

        [8] 肖江文,廖幼文. C/S結(jié)構(gòu)下客戶端軟件自動升級的方法研究[J]. 計算機工程與應(yīng)用,2005(35):95-97.

        責任編輯 俞林

        The research and development of international air agent system based on mass data

        ZHOUJianhui

        (School of Mechanical and Electrical Engineering, Jiangsu College of Engineering and Technology, Nantong 226007, China)

        Firstly, this paper introduces the background and significance of developing the international air agent system. It then elaborates the system design from the aspects of architecture design、functional design、database design and performance optimization. The performance optimization technology of mass data is discussed in detail in the paper. It also analyzes the project structure and the three tier architecture, discusses the realization of label printing and automatic software upgrading in detail. Practice proves that the system is reliable and stable, easy to operate, and has a good reference value.

        mass data; system design; performance optimization; three tier architecture

        2016-06-24

        項目來源:江蘇工程職業(yè)技術(shù)學(xué)院院級項目(GYKY/2015/16)

        周建輝(1976— ),男,江蘇南通人,副教授,碩士,研究方向:大數(shù)據(jù)處理、軟件工程。

        10.13750/j.cnki.issn.1671-7880.2016.06.016

        TP 311.5

        A

        1671-7880(2016)06-0057-04

        猜你喜歡
        類庫空運視圖
        空運來的桃花節(jié)
        用Java編寫客戶機/服務(wù)器端應(yīng)用程序
        Python在數(shù)據(jù)可視化中的應(yīng)用
        數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革方案和應(yīng)用效果
        軟件工程(2017年12期)2018-01-29 17:35:55
        空運物流監(jiān)控系統(tǒng)設(shè)計
        數(shù)據(jù)結(jié)構(gòu)可視化類庫的設(shè)計與實現(xiàn)
        5.3 視圖與投影
        視圖
        Y—20重型運輸機多視圖
        SA2型76毫米車載高炮多視圖
        国内自拍视频在线观看h| 国产毛片视频一区二区| 国产一区二区三区四区三区| 久久九九国产精品怡红院| jjzz日本护士| 国产一区二区一级黄色片| 中文字幕日本av网站| 久久久精品国产免大香伊| 国产suv精品一区二区6| 欧美日韩国产亚洲一区二区三区| 亚洲AV秘 片一区二区三区 | 最新日本免费一区二区三区| 青青草精品视频在线播放| 骚片av蜜桃精品一区| 亚洲综合色区无码专区| 男女后入式在线观看视频| 四虎影在永久在线观看| 精品日韩欧美一区二区在线播放| 中文字幕乱偷乱码亚洲| 日本女优一区二区在线免费观看| 色综合悠悠88久久久亚洲| 少妇高潮一区二区三区99| 国内久久婷婷激情五月天| 亚洲精品国产一区av| 人妻少妇精品中文字幕专区| av在线亚洲欧洲日产一区二区| 国产精品九九久久一区hh| 中文字幕日本在线乱码| 婷婷综合另类小说色区| 激情欧美日韩一区二区| 91色婷婷成人精品亚洲| 媚药丝袜美女高清一二区| 欧美大屁股xxxx高潮喷水 | 国产女高清在线看免费观看 | 亚洲一区二区三区久久蜜桃| av网站免费观看入口| 97人伦色伦成人免费视频| 亚洲人成综合网站在线| 日韩中文字幕乱码在线| 欧美性猛交99久久久久99按摩| 日本午夜免费福利视频|