第一篇:基于STK方式的移動銀行系統(tǒng)的設計與實現
第一章 引言
研究背景和方向
近幾年來,隨著Internet 的迅猛發(fā)展,用戶接入網絡數不斷增加,ISP(Internet Service Provider 服務提供商)對用戶接入和計費管理變得日益重要。在其它領域,如IP 電話運營商、大規(guī)模防火墻等,對用戶接入認證的要求也越來越高,原有的簡 單認證方式已經不滿足當前需要,迫切需要一種能夠完成實時用戶接入認證、實時 記賬、全局漫游、多種計費方式、支持多種認證安全方式、跨越多平臺的用戶接入 認證系統(tǒng)。
RADIUS(Remote Authentication Dial-In User Service 用戶遠程撥號驗證服 務)協議[1]作為IETF(Internet Engine Tasks Force 互聯網工程任務組)定義的 標準協議已經越來越被大多數ISP、ITSP 和安全系統(tǒng)所認可。RADIUS 協議中所規(guī)定 的接入認證(Authentication)、用戶授權(Authorization)、記賬(Accounting)[2]、漫游(Roaming)和屬性(Attribute)擴展方式等解決了眾多ISP 所面臨的問題,成為今后流行的趨勢。
這樣,開發(fā)符合RADIUS 協議的用戶接入認證、授權和記賬的軟件成為構筑ISP、電信運營商、安全網絡系統(tǒng)中的必要部分。現行的RADIUS 開發(fā)雖然部分滿足了用戶 的需求,但存在幾個關鍵問題,如開發(fā)者不能利用已有存在的系統(tǒng),重復勞動,開 發(fā)周期長;各種系統(tǒng)實現方式差異很大,不利于維護擴充;軟件特定平臺,不能跨 越平臺使用;對協議包理解方式不同,不能互通漫游等,這樣就需要一種全新的開 發(fā)方法和框架。
我們分析了國際上流行的各種RADIUS 系統(tǒng)實現,依照最新的協議及討論草案,結合其它系統(tǒng)的先進優(yōu)點,設計并實現了一個可擴充的AAA 協議棧軟件包。根據這 個軟件包,用戶可以在協議棧的基礎之上,選擇自己所需要的運行模塊和連接方式,編寫符合自己需要的用戶回調函數和全局設置接口,就可以完成一個標準的RADIUS 系統(tǒng)。
用戶使用本協議棧開發(fā)RADIUS 系統(tǒng)時,可以脫離編寫協議時的各種繁瑣過程,無需考慮協議的語法和數據包的結構,并且使系統(tǒng)所覆蓋的協議最多。采用這種方 法開發(fā)的RADIUS 系統(tǒng)具有符合國際標準協議、使用簡便、開發(fā)周期短、系統(tǒng)靈活性 高、易于擴充和與系統(tǒng)間可互通漫游的特點。我們采用這種方法已被開發(fā)者實際利 用,產生極大的利用價值,具有很好的發(fā)展前景。
在本文中,首先介紹RADIUS 協議及其特性,然后給出所設計協議棧的框架原理 及其實現,協議棧所支持的功能和應用方法,最后給出結論和進一步需要完成的工
一個可擴展的AAA 協議棧 2 作。
相關工作
國際上有一個組織和我們工作類似,項目名稱為“Stacks of Internet Telephony” [3],開始時間大約為2000 年6 月。以下是我們所開發(fā)的RADIUS 協議棧 和這個項目中的關于RADIUS 的棧的比較: 系統(tǒng)實現和功能 本協議棧 Vovida 項目組 繼承系統(tǒng) Livingston RADIUS Merit AAA 系統(tǒng)框架 進程池 單請求派生進程
驗證方式 PAP、CHAP、MS-CHAP PAP、CHAP、MS-CHAP 網管接口函數 支持 不支持
用戶數據 本地文件、數據庫 只支持本地文件 配置管理 本地文件、數據庫 只支持本地文件 日志 按時間遞進、數據庫 簡單文本
其它部分 提供客戶端和測試程序 無客戶端和測試程序
第二章 RADIUS 相關協議及其特性
RADIUS 系統(tǒng)框架
遠程撥號用戶鑒別服務RADIUS 是朗訊網際互連系統(tǒng)中的一個基于客戶端/服務 員的安全協議。在RFC2138[4]和RFC2139[5]中被IETF 定義為標準協議。用戶相關信息 存儲于一個中心位置,被稱為RADIUS 服務員。RADIUS 客戶端與RADIUS 服務員通過 通信來驗證用戶。服務員返回給客戶端關于驗證用戶的操作權限。雖然RADIUS 這個 名詞用來說明客戶端與服務員進行通信的網絡協議,但它經常被用來說明整個客戶 端/服務員系統(tǒng)。如圖2-1 所示。
一個可擴展的AAA 協議棧 3 RADIUS客戶端RADIUS服務員
認證記賬請求 認證記賬響應
圖 2-1:一個簡單的RADIUS 客戶端/服務員系統(tǒng)框架
基于 RADIUS 的遠程接入環(huán)境共包括三個部分:用戶、遠程接入服務員和
RADIUS 服務員。每個用戶是RAS 的一個客戶,而每個RAS 是用戶的服務員和 RADIUS 服務員的客戶。結構如圖2-2。
數據庫本地RADIUS服務員 遠端RADIUS服務員 RAS ISDN RAS MODEMS RAS FIREWALL RAS 需認證端 網絡計算機 移動用戶 Internet用戶 請求接入者 本地認證方法 UNIX password WinNT Domain Text 圖 2-2:一個RADIUS 服務員結構說明
RAS 設備將不同連接用戶的請求轉換為RADIUS 認證請求或記賬請求。
RADIUS 服務員可以接收來自不同RAS 設備上的請求信息,并選擇預先設定的認證 方法來完成請求,并發(fā)送響應給RAS。
處于不同位置的RADIUS 服務員還可以連接在一起,組成一個RADIUS 認證環(huán) 境。每個RADIUS 可以將發(fā)給自己的請求轉發(fā)給其它RADIUS 服務員來處理。結構 如圖2-3。
一個可擴展的AAA 協議棧 4 RADIUS服務員 負責區(qū)域A用戶 RADIUS服務員 負責區(qū)域B用戶 RADIUS服務員 負責區(qū)域C用戶 區(qū)域C RADIUS客戶端
圖 2-3:多個RADIUS 服務員的認證框架
這樣就可以組成一個跨越不同地理位置的分布式認證環(huán)境,無論從認證用戶數 量上,還是在用戶分布上都可以實現透明的集中式管理。
RADIUS 基本功能
RADIUS 是一個在用戶網絡接入設備(例如撥號服務器)和用戶信息存放設備 之間交換信息的標準方法。它有三個基本功能。
驗證(Authentication):RADIUS 判別一個用戶請求服務是否合法。用戶鑒別 信息可以存放在本地users 文件,本地數據庫、外部數據庫中;也可以通過其它驗證 方式進行鑒別如UNIX 口令文件、Windows NT 域數據庫等。一個簡單的典型例子如 下:
一個撥號用戶通過 RADIUS 協議試圖接入網絡的過程如下:
1、用戶撥號進入一個遠程接入服務員(MODEM池)并開始一個PPP 會話;
2、遠程接入服務員把從 PPP 會話中得到的用戶驗證信息經過處理,打成 RADIUS 協議請求包,傳送給RADIUS 服務員;
3、如果 RADIUS 服務員通過了這個驗證,它將發(fā)送接受響應給RAS,并附加 上其它信息包括用戶建立連接所需要的IP 地址、最大連接時間等等;如果 RADIUS 不能驗證這個請求或驗證沒有通過,它將發(fā)送拒絕響應給RAS 以 及錯誤的原因;
4、使用這些信息,RAS 如果受到接受響應包,則它允許用戶開始操作網絡,如果拒絕則斷掉連接并給出錯誤信息。
授權(Authorization):RADIUS 協議可以控制用戶會話中使用特定的網絡設備 服務。在RAS 發(fā)送的驗證請求信息中,除基本信息外,還可以有用戶期望連接類型 等,RADIUS 服務員可以根據請求完成驗證。RADIUS 服務員可以將驗證通過的其 它參數發(fā)送給RAS 以規(guī)定用戶連接。所有的屬性交換由用戶配置文件控制。配置文 件中包括兩種屬性:檢查屬性和返回屬性。檢查屬性定義了一些連接所需請求。RAS 在向RADIUS 服務員發(fā)送驗證請求時必須具備這些屬性,否則驗證不會成功。返回 一個可擴展的AAA 協議棧 5 屬性為驗證成功后 RADIUS 服務員發(fā)送給RAS 的附加信息,例如定義連接的一些參 數。一旦用戶通過認證,RADIUS 服務員根據系統(tǒng)預先設置的用戶配置文件,附加 用戶可以使用的資源能力,如IP 地址、連接協議、連接速率等。通過這種方式,可 以集中管理用戶的不同訪問能力,比如用戶普通電話撥號接入網絡時應該獲取的速 率和連接方式和通過ISDN 撥入網絡的速率和連接方式,以及兩種方式的口令可以 是不同的。
記賬(Accounting):RADIUS 協議可以記錄會話開始記錄、會話結束記錄。包 括本次連接的用戶名、開始連接時間、結束連接時間、用戶使用協議、用戶使用帶 寬、傳輸數據量、連接斷開原因和出錯信息等。RADIUS 客戶端在連接開始的時候 向RADIUS 服務員發(fā)送會話開始記錄,在連接結束的時候發(fā)送會話結束記錄。通常 情況下RADIUS 服務員只記錄會話結束記錄;對于會話開始記錄一般用于用戶超時 監(jiān)測和切斷控制。
RADIUS 擴充功能
RADIUS 協議除了基本功能以外,為了適應Internet 的不斷擴大,增強了幾個功 能:
代理(漫游):為了能夠使用戶能在異地通過認證使用服務,RADIUS 協議支持 服務員之間轉發(fā)代理請求和響應。請求和響應的轉發(fā)根據RADIUS 服務員存放在本 地的proxy 文件或數據庫中存放的外部RADIUS 服務員信息進行。如圖2-3,當一個 用戶在C 地要求使用服務時,C 地RADIUS 服務員首先判斷該用戶是否是本地用戶,如果不是,根據用戶特征查找代理表,看是否和用戶開戶地RADIUS A 有代理關系,如果有那么就轉發(fā)該請求到A地RADIUS 服務員,A地RADIUS 服務員完成驗證后,將響應結果發(fā)回C 地RADIUS 服務員,C 地RADIUS 再將結果發(fā)回給用戶。記賬簽名和時間戳:記賬請求/響應包必須簽名。根據包的內容,使用客戶端與
服務員之間的共享密鑰,通過MD5 算法計算包的摘要,這樣保證了記賬包不被竊聽 者篡改。時間戳也保證了記賬記錄的唯一性,保證記錄的準確性,防止竊聽者破環(huán)。用戶自定義屬性:RADIUS 協議除了規(guī)定的屬性外,用戶可以自行添加所需要 的屬性。在添加用戶自定義屬性時,需要注明用戶ID 等標志。這樣不同運營商之間 除了協議規(guī)定的屬性外,還可以互通其它屬性,交換信息。
地址綁定:RADIUS 協議規(guī)定可以將RADIUS 服務員與指定的IP 地址綁定,這 樣可以在多宿主主機上使用RADIUS。
RADIUS 配置
RADIUS 配置主要在RADIUS 服務員部分,通過各種配置文件進行。RADIUS 服務
一個可擴展的AAA 協議棧 6 員所需要的配置文件全部放在名為 raddb 的目錄下。它的組織形式如下: 圖 2-4 RADIUS 目錄結構
字典文件 dictionary:RADIUS 服務員使用字典文件來建立檢查屬性列表和返回 屬性列表。字典文件包括可能用到的屬性名稱、屬性號、屬性值等。用戶文件users:存儲用戶的配置信息,包括鑒別和授權信息。
客戶文件clients:存儲RADIUS 所有的本服務員對應的客戶端地址及共享密鑰。代理文件proxy:存儲所有遠程RADIUS 服務員的地址和共享密鑰等。菜單文件menus:存儲各種用戶通過認證后可以選擇的服務類型。
RADIUS 特性
基于RADIUS 協議的接入認證/計費系統(tǒng)提供以下特性:
客戶機/服務員模式:要求對用戶進行認證的設備被稱為客戶端,要求RADIUS 服務員進行服務,而一個RADIUS 服務員也可以是其它服務員的客戶端。
安全:在大型網絡中,安全信息分散于網絡不同設備上。RADIUS 協議可以允許 用戶信息保存于一臺主機之上,最小化安全漏洞的危險。RADIUS 服務員管理所有鑒 別和接入網絡服務的功能。RADIUS 服務員與客戶端之間使用共享密鑰進行通信。可適應性:RADIUS 軟件可以安裝在任何通信環(huán)境之中。也可以和其它安全系統(tǒng) 和協議融合為一體。對用戶可以使用多種驗證方法。
可擴展性:所有傳輸的信息被組織為稱為三元組(屬性、長度、值)中,新的 屬性可以隨時添加。
管理簡便:RADIUS 服務員將安全信息存儲于中心位置,只需要維護這一處信息 即可。對不同廠商的遠程接入設備可以按統(tǒng)一的安全模式維護和管理。
廣泛的審計能力:RADIUS 提供一種審計跟蹤能力,稱為RADIUS 記賬。收集來 的信息可以用來分析安全效果和計費。
一個可擴展的AAA 協議棧 7 第三章協議??蚣?/p>
協議棧包含協議框架
本協議棧所覆蓋的協議主要有以下幾個。
1、RADIUS 協議:定義于RFC2138 中,是RADIUS 體系的主要部分,主要對驗證 和授權、包格式、語法和漫游等進行了規(guī)定。
2、RADIUS Accouting 協議:定義于RFC2139 中,主要對記賬、記賬包格式等 進行了規(guī)定。
3、RADIUS Authentication Client MIB:定義于RFC2618[6]中,主要定義了用 戶在RADIUS 認證客戶端中SNMP 代理需要的管理信息庫。
4、RADIUS Authentication Server MIB:定義于RFC2619[7]中,主要定義了用 戶在RADIUS 認證服務員中SNMP 代理需要的管理信息庫。
5、RADIUS Accounting Client MIB:定義于RFC2620[8]中,主要定義了用戶在 RADIUS 記賬客戶端中SNMP 代理需要的管理信息庫。
6、RADIUS Accounting Server MIB:定義于RFC2621[9]中__________,主要定義了用戶在
RADIUS 記賬服務員中SNMP 代理需要的管理信息庫。
本協議棧以TCP/IP 協議為基礎,使用UDP 為主要傳輸手段。協議棧的核心為
RFC2138 和RFC2139 組成的RADIUS 主要系統(tǒng)。RFC2618-RFC2621 主要實現協議棧具 有網絡管理功能,示意圖如下。協議棧系統(tǒng)軟件包
RFC2618 RFC2619 RFC2620 RFC2621 RFC2138 Authentication RFC2139 Accounting UDP IP 框圖3-1 協議棧包含的協議
協議棧功能框架
本協議棧的功能框架如圖3-2 所示。
一個可擴展的AAA 協議棧 8 AAA協議棧
包處理回調函數、用戶全局設置、接口函數 網管模塊 端口綁定監(jiān)聽 數據庫訪問模塊 多種驗證方式 包加密解密 包接收發(fā)送 漫游代理 配置管理
圖 3-2 RADIUS 協議棧功能框架 各部分主要功能如下:
配置管理:負責從本地配置文件或數據庫中讀取系統(tǒng)的參數設置,包括地 址、端口號、認證協議、超時控制時間等。
多種驗證方式:負責根據預先配置的方式對請求進行認證,包括PAP、CHAP、MS-CHAP 方式等。
包加密解密:對認證請求包的口令字段進行加密和解密,生成所需的請求 和響應驗證字。
包接收發(fā)送:接收請求包,并將其組織成結構體形式;把結構體形式的數 據結構打成二進制包。
漫游代理:根據請求包內容,應用設置條件,判斷其是否需要代理。如果 需要代理,則處理后轉發(fā)出去。接收代理響應,并轉發(fā)給RADIUS 客戶端。端口綁定監(jiān)聽:根據配置主機和端口信息,申請socket 并綁定于指定端口。監(jiān)聽來自客戶端以及其它RADIUS 服務員的請求和響應。
網管模塊:對RADIUS 系統(tǒng)的各個狀態(tài)和參數進行監(jiān)控,并在SNMP 代理調 用時將這些參數返回給調用者。
數據庫訪問模塊:在對用戶認證和記賬時訪問用戶數據,訪問方式可以支 持多種數據庫形式。
包處理回調函數、用戶全局設置、接口函數:是用戶使用本協議棧時需要 編寫的代碼部分,具體使用方法見第五章。
第四章協議棧實現
開發(fā)環(huán)境及工具
一個可擴展的AAA 協議棧 9 本協議棧的開發(fā)環(huán)境有多種,可以是 WinNT,Linux,HP-UX,Solaris 等UNIX 操作系統(tǒng)。如果使用專用數據庫的話,還需要在所用操作系統(tǒng)上安裝ORACLE 等數據 庫服務器及客戶端。工具是UNIX 上的C 編譯系統(tǒng)或者是WINDOWS 上的VC 編譯系統(tǒng)。本協議棧采用標準ANSI C 語言編寫,因為C 語言執(zhí)行速度快,兼容性和跨平臺 性好。
系統(tǒng)邏輯流程
使用本協議棧開發(fā)的RADIUS 服務員系統(tǒng)在處理請求包時采用的算法如圖4-1 所示。
打開預先定義端口或知名端口,申請網絡數據報套接字綁定到端 口上,便于以后主動監(jiān)聽。
預先創(chuàng)建若干RADIUS子進程,并建立父子間通信的全雙工管道等 待處理主進程發(fā)送給它們的處理請求。
主進程讀取RADIUS代理表和RADIUS客戶端表,以后檢驗客戶端合 法性和查找遠端代理地址。
將網絡套接字和管道描述符全部放入一個SELECT描述字段中,該 字段中的項對應可以進行I/O的描述符。通過監(jiān)控這個字段可以獲 知那個I/O端口上有數據達到。求出包括網絡套接字和父子進程間 管道描述字的最大值。
SELECT監(jiān)聽I/O。一旦數據到達,進行一下處理
如果表中網絡套接字有數據發(fā)到,則調用處理子程序,該子程序 首先判斷該請求的源是否合法,是否需要漫游處理,然后選擇預 先分配的一個空閑進程處理請求。
如果管道描述字有數據發(fā)到,則表示對應子進程處理請求完畢,子程序恢復空閑狀態(tài)。
圖 4-1 系統(tǒng)網絡通信算法
一個可擴展的AAA 協議棧 10 使用本協議棧開發(fā)的 RADIUS 服務員系統(tǒng)的系統(tǒng)邏輯流程如下。
初 始 化 配 置(是 否 派 生 子 進 程、字 典 文 件 和 日 志 文 件 路 徑、終端參數)
登記各種信號處理例程s i g n a l()讀取配置文件r a d c o n f i g _ i n i t(),讀入主機地址、端口號、最大請求個數、代理服務超時時間、最大請求超時時間)
讀取字典文件d i c t _ i n i t(),將字典內容放入內存組織成為鏈 表,以后使用
派生后臺進程f o r k(),退出當前會話,這樣脫離命令行 關閉終端c l o s e(),顯示軟件版本
打開知名端口o p e n _ u d p s o c k()綁定端口 清空所有網絡套接字端口F D _ C L E A R(),準備監(jiān)聽
派生指定個數的子進程c h i l d _ m a k e(),并監(jiān)控父子進程間通 信的讀寫管道
申請表空間,調用T U X E D O,讀取客戶端列表和代理服務員列
表放入內存表中u p d a t e _ c l i e n t s()u p d a t e _ p r o x y()將監(jiān)控描述符字段清零并置位F D _ Z E R O()循環(huán)非阻塞監(jiān)控以上端口S E L E C T(),根據情況分別執(zhí)行以下 子程序F D _ I S S E T()認證記賬端口請求,調用認證處理r a d _ r e q u e s t()代理認證 記賬端口請求,調用代理處理R a d _ p r o x y()子進程發(fā)送信號,處理子進程完畢。子進程空閑置位。
圖4-2 系統(tǒng)邏輯流程
一個可擴展的AAA 協議棧 11 RADIUS 服務員中采用基于數據報的并發(fā)無連接網絡通信算法、進程處理采用主 進程循環(huán)處理,子進程順序處理算法。并且為提高效率,采用進程預分配的方法。系統(tǒng)運行時,由空閑子進程組成一個空閑進程池,當有請求時,主進程順序選 擇一個空閑子進程完成請求。子進程完成請求后通知父進程。示意見圖4-3。RADIUS主進程 子進程池 空閑子進程
接收新請求的子進程 正在處理請求的子進程 完成子進程通知父親
圖4-3 系統(tǒng)運行時進程關系圖
包處理邏輯流程
協議棧中的主進程在處理請求包時所作處理如圖4-4 所示。
接 收 數 據 包 到 緩 沖 區(qū) r e c v f r o m()判斷包源客戶端的合法性
如果是認證包系列用f i n d _ c l i e n t()如果是記賬包系列用c a l c _ a c c t r e q()將緩沖區(qū)打成請求頭結構r a d r e c v()判斷是否需要代理h a n d l e _ p r o x y()需要代理,調用代理模塊保 存漫游狀態(tài)p u s h _ p r o x y()發(fā)送到遠端
s e n d p r o x y 2 s e r v e r()不需要代理,判斷是否是重 包
查找空閑子進程
登記包特性到子進程結構中 將請求包放入緩沖區(qū) 通過F I F O 發(fā)送給子進程
圖4-4 主進程處理請求包流程
一個可擴展的AAA 協議棧 12 協議棧中對于代理漫游包的處理如圖 4-5 所示。
接收數據包到緩沖區(qū)recvfrom()判斷包源服務員的合法性find_server()將緩沖區(qū)打成請求頭結構radrecv()找出包對應的描述符
查找發(fā)送時記的請求頭pop_proxy()轉發(fā)響應給最初的客戶端sendproxy2client()圖 4-5 漫游請求包流程
協議棧中子進程處理請求包的流程圖如圖 4-6 所示。
循環(huán)等待父進程發(fā)送處理消息read()將接收到的緩沖區(qū)打成請求頭結構radrecv()根據不同請求包類型,調用用戶自定義回調函數響應模塊 如認證處理rad_authenticate()等 處理完畢,返回繼續(xù)等待下一個請求
圖 4-6 子進程處理請求包流程
從圖中可以看出,協議棧的用戶只需要編寫用戶處理請求包的回調函數,對于 其它過程則可以不用關心。
測試環(huán)境和方法
一個可擴展的AAA 協議棧 13 本協議棧的測試環(huán)境可以象開發(fā)環(huán)境一樣,有多種組合。下面選取其中一種,以協議棧為基礎的RADIUS 系統(tǒng),如圖4-7 所示。本地RADIUS服務員 ORACLE 數據庫
遠端RADIUS服務員 RADIUS 客戶端 測試程序
圖 4-7 協議棧測試環(huán)境
其中本地 RADIUS 服務員接收發(fā)自RADIUS 客戶端的請求,ORACLE 數據庫作為存 儲用戶數據和配置信息的服務器。遠程RADIUS 服務員接收漫游用戶的認證請求。測 試程序負責產生測試呼叫。
測試分為兩個部分:功能測試和性能測試。功能測試包括對RADIUS 服務員中是 否滿足RFC2138 和RFC2139 中規(guī)定功能的測試;性能測試包括在大并發(fā)用戶量下系 統(tǒng)的響應時間和正確率。需要編寫一個能完成測試要求的測試程序。此測試程序運 行于RADIUS 客戶端,通過進程間通信模仿調用方程序。測試前還要編寫一個模擬數 據生成程序,它負責從數據庫中抽取數據,模仿呼叫數據。
接口回調函數
開發(fā)者通過回調函數來使用本協議棧,在請求包處理回調函數中,開發(fā)者可以 使用協議棧提供的各種實用函數,包括屬性提取函數、加密解密函數、包發(fā)送接收 函數、打包函數和訪問數據庫函數。一個典型的回調函數例子的流程圖如下。
一個可擴展的AAA 協議棧 14 判斷用戶名長度是否合法 判斷是否有屬性getattribute()抽取SESSION_INDEX屬性放入響應鏈表中抽取相應請求屬性 getattribute()應用客戶端口令解密請求口令decrypt_password()調TUXEDO訪問數據庫取口令get_password()判斷為正確,并發(fā)送響應send_accept()判斷為錯誤,并發(fā)送響應send_reject()圖 4-8 典型回調函數流程圖
第五章協議棧功能特點
協議實現全、互通性較高:本協議棧基本全部實現了IETF 中關于RADIUS 的相 關協議。由于本協議棧完全遵守IEFT 的關于RADIUS 的各個協議,所以在以本協議 棧為基礎開發(fā)的RADIUS 系統(tǒng)可以完全實現互通,在和其它標準RADIUS 系統(tǒng)也可以 實現較大程度上的互通。
多種驗證類型:在驗證過程中,RAS 和RADIUS 服務員傳送口令信息,這個口令 信息通過RAS 和RADIUS 服務員之間的共享密鑰加密??诹钚畔⒃从谟脩糨斎?,根據 用戶選擇可以有以下三種:
1、PAP(Password Authentication Protocol 口令驗 證協議)非常簡單,用戶發(fā)送口令給RADIUS 服務員,RADIUS 服務員通過數據庫或 操作系統(tǒng)來驗證。用戶發(fā)送口令給RAS 的過程中,口令以明文方式傳送。RAS 傳送 口令給RADIUS 的過程中,使用共享密鑰加密。最后RADIUS 服務員以口令明文的方 式進行驗證。
2、CHAP(Challenge Handshake Authentication Protocol 挑戰(zhàn)握 手驗證協議)避免在任何通信連接中使用口令明文。在CHAP 中,RAS 首先生成一個 隨機數(稱為挑戰(zhàn))并發(fā)送給用戶,用戶的PPP 端生成一個由口令和挑戰(zhàn)組成的單 向摘要并發(fā)送給RAS,由于摘要是單向加密,RADIUS 服務員不能從摘要中恢復口令,所以它使用本地數據庫中存儲的用戶口令用同樣方法計算出摘要和接收的摘要比 較,如果相同則驗證通過。
3、MS-CHAP(Microsoft Challenge Handshake 一個可擴展的AAA 協議棧 15 Authentication Protocol 微軟挑戰(zhàn)握手驗證協議)是微軟提出的類似于CHAP 而 整合入微軟操作系統(tǒng)中的驗證方法,它可以在操作系統(tǒng)之上采用不同級別:本地 用戶、域用戶、域組、主機用戶、主機組合外部數據庫等來驗證用戶。
二次開發(fā)工作量少,容易擴充:由于協議棧已經完成了開發(fā)RADIUS 系統(tǒng)所需的 大部分工作,用戶只需要開發(fā)少量的回調函數,完成自己的特定需要,所以可以快 速開發(fā)。由于協議棧的實現是基于協議的包處理過程,所以用戶可以根據協議的變 化和需求的變更,不斷改進實現,而不需要太多工作量。
運行穩(wěn)定:由于協議棧采用進程池的方式實現,所占用的內存一定,系統(tǒng)開銷
最小。所以不會大量占用系統(tǒng)資源(CPU 處理時間和內存),不會出現因請求數量變 化而使系統(tǒng)資源的占用發(fā)生顛簸。更不會出現內存泄漏等錯誤。
性能:由于我們對協議棧的實現做到精益求精,采用高效的實現方法,優(yōu)化代
碼的設計,所以使用本協議棧開發(fā)的RADIUS 系統(tǒng)在同檔次的服務器上運行效率比其 它系統(tǒng)要高。一般來說,在主頻為300MHz 的主機上,其它系統(tǒng)可以實現500 個/秒 的認證速度,而使用本協議棧開發(fā)的RADIUS 系統(tǒng)可以實現1000 個每秒。
多種用戶驗證手段:本協議棧有多個模塊支持多種數據庫訪問方式,用戶數據 可以存放在以下幾個形式中,文本文件、UNIX DBM、MYSQL、ORACLE、MS-SQL 等。多種日志方法:詳細錯誤信息輸出到本地日志、系統(tǒng)日志、數據庫中??梢詭?助管理員和開發(fā)人員迅速找到錯誤原因,實時掌握系統(tǒng)狀態(tài)。
跨平臺運行:本協議??梢赃\行在多個平臺之上。由于是基于進程實現,所以
不會因為各個操作系統(tǒng)對線程實現不同而引發(fā)差異。本協議棧在 HP-UX 1 1.00、IBM RS6000 AIX 4.2、Redhat Linux 5.2、Slackware Linux 2.0.30、Solaris 2.7.1、Solaris x86 2.7.1、SunOS 4.1.3、WindowsNT/2000 上測試成功。
第六章 協議棧應用方法
本協議棧的應用可以分為以下幾個步驟:
1、了解RADIUS 協議概況:開發(fā)者必須對RFC2138、RFC2139 有所了解,雖 然不用了解包的發(fā)送和接收、加密解密細節(jié),但對協議的使用步驟和包 的格式定義必須了解。
2、了解協議棧和實用函數:開發(fā)者必須掌握本協議棧的邏輯流程,了解函 數的定義和調用的順序。
3、編寫用戶回調接口函數:根據自定義的不同需要,對每個類型的請求進 行處理。
4、連接編譯整個協議棧:選擇不同運行模塊,包括不同的驗證方式、訪問 數據庫的類型等,在操作系統(tǒng)上運行編譯器。
一個可擴展的AAA 協議棧 16
5、配置RADIUS 系統(tǒng):在系統(tǒng)運行之前,需要根據不同的系統(tǒng)組成部分,選擇適當方式來配置系統(tǒng),例如:主機地址、端口、代理員的列表、客 戶端的列表等。
在使用本協議棧時應注意以下幾個問題:
1、字典文件和屬性的定義:由于不同廠商對屬性和屬性值的定義值不同,所 以應注意區(qū)別,防止屬性數據類型不匹配。
2、確定操作系統(tǒng)參數如最大打開文件數、信號燈數等符合需要。
3、盡量在用戶回調函數中使用靜態(tài)內存,防止動態(tài)內存使用不慎而引起的內 存泄漏和系統(tǒng)崩潰。
4、根據不同需要,連接不同模塊,防止占用系統(tǒng)過多。
5、減少用戶處理執(zhí)行時間,以利于系統(tǒng)整體的運行性能。
第七章 結論
協議棧實現系統(tǒng)與相關系統(tǒng)比較
采用本協議棧編寫的AAA 系統(tǒng)與其它典型RADIUS 實現系統(tǒng)比較如下表: 系統(tǒng) 本實現 Livingston[1] Merit[10] Ascend[11] Freeradius[12] 協議實現 全部 全部 全部 全部 全部 認證方式 一般 一般 一般 一般 多 功能 多 一般 一般 一般 多 兼容性 一般 好 一般 一般 一般 性能 好 一般 一般 一般 好 擴展性 好 一般 一般 一般 好 測試工具 全面 簡單 簡單 簡單 簡單
結論
由于Internet 不斷發(fā)展,用戶的接入越來越為人們關注。而防火墻和VPN 中的 不斷使用,使RADIUS 協議也日益成為工業(yè)事實標準。
隨著網絡協議不斷增多,使用協議棧來開發(fā)網絡通信程序是近年來流行的趨勢。開發(fā)一個可供快速組建RADIUS 系統(tǒng)的協議棧是一個必不可少的基礎工具。
一個可擴展的AAA 協議棧 17 本文通過集成關于 RADIUS 的若干協議,實現一個AAA 協議棧,使得開發(fā)基于 RADIUS 協議的安全認證系統(tǒng)變得更加容易。
通過測試,本協議棧在同等環(huán)境條件下,系統(tǒng)的功能和性能達到相近系統(tǒng)的前 列。
不足之處和進一步的工作
雖然我們做了大量工作,但在以下幾個方面還存在著不足:
1、對不同系統(tǒng)的各種屬性的處理還不夠全面。
2、認證中的驗證類型還需擴充。
3、與其它安全認證系統(tǒng)的互通性有待提高。今后進一步的工作是:
1、實現最新的RADIUS 協議RFC2865[13]、RFC2866[14]。
2、改進協議棧,使之能運行于集群之上,提高系統(tǒng)性能。
3、對數據庫的訪問中增加LDAP(輕型目錄訪問協議)的支持。
4、加入負載平衡算法,使系統(tǒng)不同進程能發(fā)揮更大效率。
5、增強與其它RADIUS 系統(tǒng)的互通性。
6、支持TACACS+協議[15],TACACS 終端訪問控制器接入控制系統(tǒng)協議。定義于 RFC1492 中。TACACS+增強型。類似于RADIUS 的AAA 協議,與RADIUS 不同 之處在于:傳輸協議使用TCP 而不是UDP。RADIUS 只加密口令字段,而 TACACS+加密整個包凈荷。TACACS+允許驗證和授權分離,而RADIUS 中驗證 和授權是集成的。
7、支持Diameter 協議[16]。IETF 著眼的下一代AAA 協議。一個全新輕量級的,基于端點的。提供可擴展的基礎來引進新策略和AAA 服務。繼承RADIUS 的 機能。突破RADIUS 協議限制,允許服務員向客戶端發(fā)送統(tǒng)一消息。使用重 傳和失敗恢復算法。提供端到端的安全機制。支持漫游和移動IP 網絡。
參考文獻
[1].Lucent, “Remote Authentication Dial-In User Service”, http://.charters/aaa-charter.html.[3].“Stacks of Internet Telephony”, http://004km.cn, 2000 [4].C.Rigney, A.Rubens, W.Simpson, and S.Willens, “Remote Authentication Dial In User Service”, IETF Network Working Group, April 1997.RFC2138.[5].C.Rigney, “RADIUS Accounting”, IETF Network Working Group, April 1997.RFC2139.[6].B.Aboba, G.Zorn “RADIUS Authentication Client MIB”, IETF Network Working Group, June 1999.RFC2618.[7].B.Aboba, G.Zorn “RADIUS Authentication Server MIB”, IETF Network Working Group, June 1999.RFC2619.[8].B.Aboba, G.Zorn “ RADIUS Accounting Client MIB”, IETF Network Working Group, June 1999.RFC2620.[9].B.Aboba, G.Zorn “ RADIUS Accounting Server MIB”, IETF Network Working Group, June 1999.RFC2621.[10].University of Michigan and Merit Network, Inc.“Merit AAA Server”, 1992 [11].Ascend Communications, Inc.“Ascend RADIUS”, 1996 [12].“Free RADIUS Project”, http://004km.cn, 2000 [13].C.Rigney, A.Rubens, W.Simpson, and S.Willens, “Remote Authentication Dial In User Service”, IETF Network Working Group, June 2000.RFC2865.[14].C.Rigney, “RADIUS Accounting”, IETF Network Working Group, June 2000.RFC2866.[15].C.Finseth, “An Access Control Protocol, Sometimes Called TACACS,” IETF RFC 1492, July 1993;available at ftp://ftp.isi.edu/in-notes/rfc1492.txt.[16].P.R.Calhoun, A.C.Rubens, and H.Akhtar, “Diameter Base Protocol,” IETF AAA Working Group, Internet draft, Oct.1999, work in progress.一個可擴展的AAA 協議棧 19 致謝
在此,首先向我的導師鞠九濱教授表示深深的謝意!從本科論文開始,鞠九濱 教授以他嚴謹的治學態(tài)度、淵博的學識、敏銳的思維和孜孜不倦的工作作風對我進 行了悉心的教誨,使我受益終生。
同時還要向李春陽高級工程師表示感謝,李老師一絲不茍的工作作風非常值得 我的學習。
向師兄張鈳、張猛表示衷心的感謝。他們在科研上幫我攻克難關,給了我許多 無私的關心和幫助。
感謝研究小組成員劉靜、張廣艷、于海超,是他們使我在團結協作中不斷成長。特別感謝于秀峰老師、胡成全老師、胡亮老師和房至一老師對我的幫助。
一個可擴展的AAA 協議棧 20 論文摘要 認證(Authentication)、授權(Authorization)、記賬(Accounting)是網絡接入 的三個重要需求。滿足這些要求的RADIUS(Remote Authentication Dial-In User Service 用戶遠程撥號驗證服務)協議作為IETF(Internet Engine Tasks Force 互聯網工程任務組)定義的標準協議已經越來越被大多數ISP、ITSP 和安全系統(tǒng)所 認可。
這樣,開發(fā)符合RADIUS 協議的用戶接入認證、授權和記賬的軟件成為構筑ISP、電信運營商、安全網絡系統(tǒng)中的必要部分?,F行的RADIUS 開發(fā)雖然部分滿足了用戶 的需求,但存在幾個關鍵問題,如開發(fā)者不能利用已有存在的系統(tǒng),重復勞動,開 發(fā)周期長;各種系統(tǒng)實現方式差異很大,不利于維護擴充;軟件特定平臺,不能跨 越平臺使用;對協議包理解方式不同,不能互通漫游。
作為一個可擴充的AAA 協議棧軟件包,用戶可以在AAA 協議棧的基礎之上,選 擇自己所需要的運行模塊和連接方式,編寫符合自己需要的用戶回調函數和全局設 置接口,就可以完成一個標準的RADIUS 系統(tǒng)。用戶使用本協議棧開發(fā)AAA 系統(tǒng)時,可以脫離編寫協議時的各種繁瑣過程,無需考慮協議的語法和數據包的結構,并且 使系統(tǒng)所覆蓋的協議最多。采用這種方法開發(fā)的RADIUS 系統(tǒng)具有符合國際標準協 議、使用簡便、開發(fā)周期短、系統(tǒng)靈活性高、易于擴充和與系統(tǒng)間可互通漫游的特 點。
一個可擴展的AAA 協議棧 21 Abstract Authentication, Authorization and Accounting are three crucial requirements for network access.To meet those requirements, RADIUS is introduced.As a standard protocol specified by IETF(Internet Engine Tasks Force), RADIUS(Remote Authentication Dial-In User Service)is widely accepted by most ISP, ITSP and security systems.Hence, developing RADIUS-compliant software for user access Authentication, Authorization and Accounting becomes a must-solve problem for constructing ISP, telecommunication commerce and secured network system.Though the present RADIUS development techniques satisfy the user demand to some extent, there still exist several critical undesired points, such as impossibility to reuse some existing systems, recursive labor, too long developing life cycle.Additionally, the difficulty in system maintenances and expansion due to the big difference in system implementation, software platform dependence, as well as inconvenience for inter-roaming because of various interpretation for a protocol packet.Our package is an extendable AAA protocol stack package, on which users could select their own modules and linking approaches, write their own user-defined routines and global configuration interface, thus finish a well-defined RADIUS system on the fly.Using our protocol stack package, users are able to get rid of the tedious processes of writing protocols, without considering protocol syntax or the frame structure of the packet, and are even able to cover more underlying protocols.The systems built by the means of this will have superior features such as complying with international standard, simpler manipulation, shorter developing life cycle, higher system flexibility, easier extendibility and facilitating system inter-roaming.__
第二篇:人事管理系統(tǒng)設計與實現
人事管理系統(tǒng)設計與實現
目 錄
前 言....1 1 需求分析....2 1.1 系統(tǒng)需求...2 1.1 功能需求...2 1.3 可靠性要求...3 1.4 性能需求...3 2 開發(fā)環(huán)境簡介....4 2.1 Delphi簡介...4
2.1.1 Delphi7的集成開發(fā)環(huán)境(IDE)...5 2.1.2 Pascal簡介...9
2.2 SQL Server 2000 簡介...10 2.2.1 SQL Server 數據平臺...10 2.3 TQuery部件在SQL編程中的運用...12 3 總體設計....14 3.1 基本設計...14 3.1.1 設計概念...14 3.1.2 功能分析...14 3.1.3 數據流圖...14 3.1.4 系統(tǒng)模塊...16 3.2 用例圖...18 4 數據庫設計....21 4.1 數據庫概念設計...21 4.2 數據庫邏輯結構設計...23 5 詳細設計....30 5.1 系統(tǒng)主窗體...30 5.2 數據庫連接...31 5.3 用戶登陸界面...32 5.4 用戶功能選擇...34 5.5 用戶信息錄入...34 5.6 查詢功能窗體...36 5.7 數據備份和還原窗體...37 5.8 工作日記及工作日記管理...39 5.9 用戶管理及用戶密碼修改...41 5.10 打印報表模塊...43 5.11 數據公用模塊...45 5.12 其它模塊...46 6 總 結....47 參考文獻....49 致謝....50
人事管理系統(tǒng)
網絡工程 雷靈明 指導老師:曹步青
摘要:隨著企業(yè)自身人力資源的日益龐大、復雜程度逐漸增強,人機作坊再也無法適應如今企業(yè)的人事管理了,取代的是運用各種領域的知識,結合計算機科學而開發(fā)的人事管理系統(tǒng)。人事管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數據庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的數據庫。而對于后者則要求應用程序功能完備,易使用等特點。人事管理系統(tǒng)是對工作人員進行統(tǒng)一的管理,可以方便的進行錄入,查詢,修改,刪除,退出。經過以上分析,本系統(tǒng)使用Delphi 7.0作為界面和功能開發(fā)工具和SQL Sever 2000作為后臺數據庫,利用其提供的各種面向對象的開發(fā)工具進行界面和數據庫開發(fā)。軟件過程結合了快速原型模型與增量模型的優(yōu)點:首先在短時間內建立系統(tǒng)應用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成可行系統(tǒng)。關鍵詞:人事管理;DEPHI;ADO;SQL server 2000
Personnel Management System Network engineering Lei Lingming Teacher:Cao Buqing
Abstract: Along with their own human resources increasing, complexity growing, the man-machine workshop also is unable adapt the present enterprise’s personnel management again, but the personnel management system that make use of knowledge in different fields and computer science and technology.Personnel management system is a typical management information system(MIS), including the establishment and maintenance of the background-database and front-end application development.To the former, the request for the data which is powerful in consistency and integrity, database which is good in security.For the latter, the request for the applications program which is integrity and easy to easy, Personnel management system can manage the staff and admit input, enquiries, modify, delete, and exit.Through such analysis, the system use Delphi 7.0 as the interface and functions of development tools and take SQL Sever 2000 database as background-database, the development of the interface and database which made use of its object-oriented tools, the software process is formed which is combine the advantage of rapid prototype models and incremental model, as follows: At first application prototype of system is built in a short time, Secondly, the initial prototype system needs to be revised and improved, Finally, it is feasible that the system is built.Key words: human resource management;DEPHI;ADO;SQL server 2000
前 言 背景
在競爭越來越激烈的社會里,企業(yè)人事管理就越顯示出其不可缺性,成為企業(yè)一個非常重要的模塊。企業(yè)人事管理系統(tǒng)主要是用于員工個人相關信息的管理。使用人事管理系統(tǒng),便于公司領導掌握人員的動向和人員的綜合素質,及時調整人才的分配,使用計算機對人事勞資信息進行管理,具有檢索迅速、查找方便、可靠性高、存儲量大、保密性好、成本低等優(yōu)點,能夠極大地提高人事資源管理的效率,也是企業(yè)科學化、正規(guī)化管理的重要條件。目標
設計一個企業(yè)人事信息管理系統(tǒng),此系統(tǒng)要以人為中心,為企業(yè)提供全面的人事管理解決方案;
a)為企業(yè)建立規(guī)范化、實時化人事管理機制;
b)提高企業(yè)人事管理的效率、節(jié)約相關的管理成本,增強人事管理的安全性;
c)滿足企業(yè)管理層,人事業(yè)務操作層和全體員工的不同層次和不同方面的需要;
d)對企業(yè)將來的整體信息化建設提供必要的支持。需求分析
需求分析是系統(tǒng)開發(fā)必要環(huán)節(jié),也是重中之重。作為該過程的結果,需求規(guī)格說明書是對系統(tǒng)的功能和行為完整的描述。系統(tǒng)設計將來自于需求分析的抽象規(guī)格說明轉變?yōu)槊嫦蛘鎸嵤澜绲脑O計。一旦構建完成,該系統(tǒng)就會投入使用,同時會不可避免地產生更多的新需求。同時,需求過程與分析活動之間有相當程度的重疊,分析建模對于設定工作的范圍和其他一些事來說是必要的,所以我們利用分析模型來描述需求過程,隨著開發(fā)工作的繼續(xù),分析活動在工作中占的比例將變得越來越大,直到所有需求都已知。[1]
1.1 系統(tǒng)需求
企業(yè)的人事管理職能主要分為人事檔案信息管理、人事變動管理、員工培訓管理、獎懲管理等內容。
a)在人事系統(tǒng)開發(fā)時應考慮以下需求: b)滿足人事管理職能的基本要求;
c)進行多層次數據匯總,為各層次管理者的決策分析提供數據; d)具有完整的系統(tǒng)接口,滿足靈活的數據導入與導出; e)對操作人員的技能要求比較低,操作方便; f)能夠實現方便的擴展,滿足企業(yè)發(fā)展的需要; g)能夠保障人事管理數據的安全、準確。
1.1 功能需求
基于系統(tǒng)需求分析,該系統(tǒng)需要實現以下基本功能:
a)用戶管理:管理系統(tǒng)操作人員,設置操作人員口令和權限。在滿足不同系統(tǒng)用戶的操作需求的基礎上,提高系統(tǒng)的安全性。
b)人事檔案管理:完成企業(yè)對員工個人檔案(包括員工的基本檔案和在職信息)的管理及相關操作。操作員進行員工檔案信息錄入及更改,其中包括員工的基本信息、工作經歷、家庭關系、獎懲記錄和培訓經歷,要求對這些員工檔案信息進行新增、修改、刪除操作,同時可以進行查詢和瀏覽操作。該模塊是本系統(tǒng)的重點,用戶可以通過該模塊為單位建立一個比較完整的人事檔案系統(tǒng),同時可以對檔案進行查看。
c)基礎數據管理:維護人事管理相關的一些基礎數據。主要包括以下功能:
(a)民族檔案設置:維護職工中民族檔案信息;
(b)職工類型設置:維護當前企業(yè)職工與企業(yè)的關系的類別信息;(c)文化程度設置:維護企業(yè)職工的文化程度類別信息;(d)政治面貌設置:維護企業(yè)職工的政治面貌類別信息;(e)部門類別設置:維護企業(yè)中設立的部門類別信息;(f)職務類別設置:維護企業(yè)中設立的職務類別信息;(h)職稱類別設置:維護企業(yè)職工的職稱類別信息;
d)人事變動管理:對于人事上的變動調整進行管理,對人員檔案的信息進行更新(如:員工職務、員工職稱、員工性質等的變動)。
e)工作日志管理:記錄部門或系統(tǒng)用戶的一些備忘信息,包括日常的一些事件記錄,以及工作日記的管理維護。
f)數據庫管理:對現有的數據庫進行管理,包括數據備份和恢復,以方便用戶對數據庫的管理和維護工作,提高系統(tǒng)的數據安全性。1.3 可靠性要求
a)計算機穩(wěn)定可靠,網絡服務和數據庫服務穩(wěn)定可靠;
b)網絡通暢、穩(wěn)定;軟件運行穩(wěn)定;數據計算及數據傳輸無誤;提供數據備份和數據恢復方案。1.4 性能需求 1)硬件環(huán)境
在最低配置的情況下,系統(tǒng)的性能往往不盡如人意,現在的硬件性能已經相當出色,且
價格也很便宜,因此通常給服務器端配置高性能硬件。推薦配置為: ·處理器:Intel 奔騰Ⅲ 或更高 ·內存:128MB ·硬盤空間:40GB ·顯卡:Geforce系列顯示適配器或更高。2)軟件環(huán)境
·操作系統(tǒng):windows 98/ME/2000/N ·數據庫:Microsoft SQL server 2000 開發(fā)環(huán)境簡介 2.1 Delphi簡介
Delphi這個名字源于古希臘的城市名。它集中了第三代語言的優(yōu)點。以Object Pascal為基礎,擴充了面向對象的能力,并且完美地結合了可視化的開發(fā)手段。Delphi自1995年3月一推出就受到了人們的關注,并在當年一舉奪得了多項大獎。
Delphi的出現打破了Visual系列可視化編程領域一統(tǒng)天下的局面。并且Delphi使用了本地編譯器直接生成技術,使程序的執(zhí)行性能遠遠高于其它產品生成的程序。它還是真正的面向對象的編程語言。PASCAL語言的嚴謹加上可視化的優(yōu)勢和強大的數據庫功能使得它有充分的資本和微軟的VB叫板。許多人當時都認為Pascal 是最有前途的程序設計語言,并預測Delphi將會成為可視化編程的主流環(huán)境。
Delphi在你編好程序后自動轉換成。EXE文件它運行時速度比VB快,而且編譯后不需要其他的支持庫就能運行。它的數據庫功能也挺強的,是開發(fā)中型數據庫軟件理想的編程工具。Delphi適用于應用軟件、數據庫系統(tǒng)、系統(tǒng)軟件等類型的開發(fā)。而且它擁有和VB差不多一樣的功能,而且一樣能應用API函數,這在控制Windows很有用。
Delphi是全新的可視化編程環(huán)境,為我們提供了一種方便、快捷的Windows應用程序開發(fā)工具。它使用了Microsoft Windows圖形用戶界面的許多先進特性和設計思想,采用了彈性可重復利用的完整的面向對象程序語言(Object-Oriented Language)、當今世界上最快的編輯器、最為領先的數據庫技術。對于廣大的程序開發(fā)人員來講,使用Delphi開發(fā)應用軟件,無疑會大大地提高編程效率,而且隨著應用的深入,您將會發(fā)現編程不再是枯燥無味的工作——Delphi的每一個設計細節(jié),都將帶給您一份欣喜。
Delphi實際上是Pascal語言的一種版本,但它與傳統(tǒng)的Pascal語言有天壤之別。一個Delphi程序首先是應用程序框架,而這一框架正是應用程序的“骨架”。在骨架上即使沒有附著任何東西,仍可以嚴格地按照設計運行。您的工作只是在“骨架”中加入您的程序。缺省的應用程序是一個空白的窗體(Form),您可以運行它,結果得到一個空白的窗口。這個窗口具有Windows窗口的全部性質:可以被放大縮小、移動、最大最小化等,但您卻沒有編寫一行程序。因此,可以說應用程序框架通過提供所有應用程序共有的東西,為用戶應用程序的開發(fā)打下了良好的基礎。
Delphi已經為您做好了一切基礎工作——程序框架就是一個已經完成的可運行應用程序,只是不處理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代碼而已。在空白窗口的背后,應用程序的框架正在等待用戶的輸入。由于您并未告訴它接收到用戶輸入后作何反應,窗口除了響應所有Windows的基本操作(移動、縮放等)外,它只是接受用戶的輸入,然后再忽略。Delphi把Windows編程的回調、句柄處理等繁復過程都放在一個不可見的Romulam覆蓋物下面,這樣您可以不為它們所困擾,輕松從容地對可視部件進行編程。
面向對象的程序設計(Object-Oriented Programming,簡記為OOP)是Delphi誕生的基礎。OOP立意于創(chuàng)建軟件重用代碼,具備更好地模擬現實世界環(huán)境的能力,這使它被公認為是自上而下編程的優(yōu)勝者。它通過給程序中加入擴展語句,把函數“封裝”進Windows編程所必需的“對象”中。面向對象的編程語言使得復雜的工作條理清晰、編寫容易。
說它是一場革命,不是對對象本身而言,而是對它們處理工作的能力而言。對象并不與傳統(tǒng)程序設計和編程方法兼
其中多媒體音頻視頻播放器是通過TMediaPlayer組件來實現的,支持的格式與系統(tǒng)已安裝的解碼器有關。
總 結
6.1 程序設計風格
在設計的時候采用了增量模型的思想:把軟件作為一系列的構件來設計,編碼,集成和測試。
用戶管理,密碼修改,用戶登陸,萬年歷,這些模塊都有高度的獨立性,因此他們的可重用性比較高,基本上是一個單元完成一個功能,模塊規(guī)模也比較小,模塊的作用域在控制域之內,只使用了兩個全局變量來存儲用戶名和用戶權限。[1] 在人機界面設計方面,本系統(tǒng)做到了以下幾點: a)保持一致性(界面,背景的致性);
b)提供有意義的反饋(用戶驗證和用戶管理,提供了比較精確的反饋信息);
c)在執(zhí)行有較大破壞性的動作之前要求用戶確認(數據備份與還原); d)允許大多數取消操作(大多數單元有取消操作功能);
e)允許犯錯誤(由于權限的限制,系統(tǒng)能保護自己不受嚴重錯誤的破壞);
f)按功能對動作分類(在主窗口就是按動作類型組織菜單的); 6.2 有待加強項
a)幫助的制作 一個完整的應用程序必須具有完整的幫助系統(tǒng);幫助系統(tǒng)可以在必要的時候給用戶信息提示和一些系統(tǒng)相關服務。
b)聲音制作在這里主要是對聲音的加載,我們可以加載一些一般的聲音;主要來源有:音頻CD盤;波形音頻文件;MP3文件等等。其中波形音頻文件以WAV作為文件的后綴,我們可以播放現成的,也可以播放自己錄制的文件。c)我們還可以使用各種組件和ActiveX控件等技術來完善系統(tǒng)。利用一些做好的activeX組件,會縮短開發(fā)周期。
由于在開發(fā)工程方面缺少經驗,所以這個系統(tǒng)還存在著許多不足之處,在測試過程中總結如下:
a)數據表的設計還不是很合理;
b)數據異常處理要更加人性化,錯誤信息的反饋要更加精確; 6.3 心得
經過一個月的設計和開發(fā),人事管理系統(tǒng)基本開發(fā)完畢,其基本功能符合用戶需求,能夠完成基礎數據錄入,數據查詢等基本功能,以及相關報表的打印。在這次畢業(yè)設計中,我獲益良多。首先我明白了需求分析對于一個系統(tǒng)的開發(fā)的重要性。其次我還學到了如何把一個軟件作為一個工程來做,在真正的軟件開發(fā)中,一個軟件系統(tǒng)的開發(fā)不是一個人來做,而是很多人合作來完成的,另外還有軟件的后期維護等等,這時就顯現出了把軟件作為一個工程來做的優(yōu)越性,而這些都離不開數據流圖和模塊的分解。
Delphi是一個非常強大的開發(fā)工具,它具有運行速度快、易于學習和使用以及開發(fā)效率高的特點,使用起來真的是很順手。學習好一門編程語言以后可以為今后的學習和工作帶來很大的便利。
雖然本系統(tǒng)實現了基本的用戶需求功能,但是還有待于完善和加強,總之通過這次設計和開發(fā)過程,我對軟件開發(fā)有了進一步的了解。
參考文獻
[1] 張海藩編著.軟件工程導論[M].清華大學出版社出版,2003,1-173. [2] 宋一兵,趙景波,李春艷著.Delphi 7.0基礎教程[M].機械工業(yè)出版社,2003,2-30.
[3] 劉瑤儒著.新概念SQL Server2000教程[M].北京科海集團公司出,2001,12-23.
[4] 韓強編著.SQL SERVER 2000 程序員手冊[M].機械工業(yè)出版社出版,2000,4-35.
[5] 薩師煊著.數據庫系統(tǒng)概論(第二版)[M].高等教育出版社,1991,8-40. [6] 施伯樂,丁寶康,汪衛(wèi)著.數據庫系統(tǒng)教程[M].高等教育出版社,2002,1-202.
[7] 肖健著.SQL Server2000實踐與提高[M].中國電子出版社,2002,13-53. [8] 林金霖著.Delphi6 實務經典[M].中國鐵道出版社,2002年5月,6-110. [9] 黃超,王志偉著.Delphi企業(yè)經營管理系統(tǒng)開發(fā)實例導航[M].人民郵電出版社,2003,20-90.
[10] 程文剛主編.Delphi數據庫實用編程100例[M].中國鐵道出版社,2004,8-63.
[11] 王晟,萬科著.Delphi數據庫開發(fā)經典案例解析[M].清華大學出版社,2005,85-89.
[12] 王惠剛,唐晨光彭為著.delphi7/8程序設計[M].清華大學出版社, 2002,42-63.
[13] 瀟湘工作室,邢增平著.Delphi 6.0最佳專輯[M].人民郵電出版社,2003,1-404.
[14] 心鈴.Delphi問答.軟件報[N],2004-07-5.
[15] 高永惠.淺談Delphi中的異常處理方法[J].湖南輕工業(yè)高等專科學校學報,2002-04,9-10.
[16] 徐萌飛.在Delphi中使用ADO技術對數據庫操作[J].中國學術期刊(光盤版)電子雜志社,2001,12-13.
[17] 陳建兵.Delphi中基于安全靈活的動態(tài)連接遠程數據庫SQL的實現[J].福建電腦,2005,12-13.
[18] 孫育紅.關于地方法院管理信息系統(tǒng)分析設計與實施[D].中國學術期刊電子雜志社,2001,8-9. [19] 岳冰.南部引嫩工程信息管理系統(tǒng)開發(fā)[D].中國學術期刊電子雜志社,2003,20-21.
[20] 龐芳,王麗玫.南寧市自動氣象站業(yè)務服務數據庫系統(tǒng)[D].中國學術期刊電子雜志社,2004,21-23.
[21] 徐軍.研究生院綜合管理信息系統(tǒng)的研究與實現[D].中國學術期刊)電子雜志社,2004,32-33.
[22] 魯媛媛.碩士生導師綜合素質能力評價指標體系的研究[D].中國學術期刊電子雜志社,2005,18-19.
第三篇:基于智能移動終端的工廠監(jiān)控系統(tǒng)設計與實現
基于智能移動終端的工廠監(jiān)控系統(tǒng)設計與實現
張川 蔡其星
浙江中控技術股份有限公司,浙江杭州,310053
摘要:工業(yè)自動化監(jiān)控系統(tǒng)在各種工業(yè)生產領域廣泛應用,大大提高了工業(yè)生產效率和生產安全性,節(jié)省了生產成本。傳統(tǒng)的監(jiān)控系統(tǒng)多為基于專用設備和PC實現,便攜性差,價格昂貴。近年來,電力、油氣傳輸、化工等行業(yè)對移動數據監(jiān)控的需求越來越強烈,移動工廠的理念也逐漸形成。針對以上問題,本文設計了能夠運行在IOS智能移動終端上的監(jiān)控系統(tǒng),利用移動終端遠程無線傳輸、攜帶方便等優(yōu)勢,實現現場數據遠程傳輸和數據查詢,降低產品價格,減少投資成本,提高競爭力。從而,使得移動工廠實施成為可能。
關鍵字:IOS、監(jiān)控系統(tǒng)、移動終端、報警推送
Design and Implementation of Plant Monitoring System Based on Intelligent
Mobile Terminal
Chuan Zhang Qixing Cai
Zhejiang SUPCON Technology Co., Ltd., Hangzhou, Zhejiang, 310053
Abstract: Industrial automatic monitoring system is wildly applied in various industry production fields, which largely improves the efficiency and security of industry production and reduces production cost.Most traditional monitoring systems are implemented basing on special device and PC, which have poor portability and high price.Nowadays, industries such as electric power, oil and gas transportation and chemical industry increase their requirements for mobile data monitoring, and the theory of mobile plant is formed gradually.Thus, this article introduces the monitoring system for IOS intelligent mobile terminal.With the advantages of mobile terminal like remote wireless transmission and good portability, it realizes field data remote transmission and data query, reduces product price and investment cost and improves competitiveness.Thereby, the mobile plant implementation can be achieved.Keywords: IOS, monitoring system, mobile terminal, alarm push 引言
現有的工廠數據監(jiān)控系統(tǒng)多基于PC運行,數據傳輸基于專用封閉式網絡,便攜式式差,成本高,難以實現異地數據查看。隨著移動網絡及智能移動終端硬件設備的日益發(fā)展,采用智能移動終端隨時隨地查看工廠生產實時數據的技術成為研究的熱點和趨勢。本文對基于移動智能終端的數據監(jiān)控系統(tǒng)作了初步研究和探討,設計了一款基于IOS移動終端平臺的數據監(jiān)控系統(tǒng)(SIMField)。實現了無需專用PC,只需通過智能移動終端即可查看工廠生產的實時數據。
本文闡述了移動終端數據監(jiān)控系統(tǒng)在移動設備中(主要是IOS設備)流程圖、報警、報表等功能的設計與實現,利用移動設備獨特的圖形處理技術進行研究與開發(fā)。本系統(tǒng)同時支持與已有運行于PC的監(jiān)控系統(tǒng)進行數據互聯,達到在手機中展示數據和報表的目標,從而滿足企業(yè)中管理層用戶的需求。移動監(jiān)控系統(tǒng)方案
SIMField系統(tǒng)的主要功能是結合企業(yè)的生產監(jiān)控系統(tǒng)(如SCADA系統(tǒng),企業(yè)生產管理系統(tǒng)等)實現移動式監(jiān)控,可以跟原有的PC生產監(jiān)控系統(tǒng)無縫結合,共享數據、報警、流程圖、報表等。
系統(tǒng)架構采用B/S系統(tǒng)的一般架構模式,采用Web服務器和瀏覽器客戶端結合的體系結構。Web服務器主要功能是提供數據、文件服務、身份認證服務,通過OPC驅動獲取異構系統(tǒng)的數據,移動客戶端采用APP內部嵌入WEB頁面的技術,從Web服務器獲取頁面數據。移動終端監(jiān)控軟件設計與實現 3.1 系統(tǒng)網絡部署
SIMField系統(tǒng)的網絡部署如圖3-1所示。
圖3-1 網絡部署圖
上圖展現了企業(yè)生產監(jiān)控系統(tǒng)典型的網絡架構。其中PIMS[1]指某一實時監(jiān)控系統(tǒng),它對生產區(qū)上實行監(jiān)控和生產管理;實時監(jiān)控系統(tǒng)OPC服務器向第三方系統(tǒng)(如SCADA系統(tǒng)、SIMField服務器)提供實時數據;SIMField服務器對內作為組態(tài)轉存服務,將PIMS監(jiān)控系統(tǒng)組態(tài)信息(流程圖、報表等)進行轉存,轉換為自身格式組態(tài)存檔,對外為SIMField移動終端提供數據。移動終端使用Internet公網或內部無線網接入生產監(jiān)控網絡,訪問SIMFIeld服務器獲取組態(tài)信息和實時數據。
SIMField移動服務器在整套系統(tǒng)中的主要作用是數據中轉,文件解析,將生產管理系統(tǒng)中的數據和報表、流程圖解析為移動設備可以顯示的格式。選用OPC作為數據傳輸協議的目的是保證移動服務器的兼容性。
3.2 數據流圖
SIMField服務器接入三方監(jiān)控系統(tǒng)的組態(tài)數據流及實時數據流如圖3-2所示。
注[1] PIMS: 企業(yè)生產管理系統(tǒng),在此處用于給移動監(jiān)控軟件提供數據。
圖3-2 數據流圖
SIMField服務器從三方監(jiān)控系統(tǒng)獲取流程圖、報表等組態(tài)信息文件,并進行轉化為自身特定格式組態(tài)信息并存儲。通過OPC方式從三方監(jiān)控系統(tǒng)獲取實時監(jiān)控數據。
3.3 SIMField主要功能模塊
3.3.1 服務器管理模塊
服務器管理模塊實現服務器可視化的管理配置界面,具備數據庫設置、報警設置、流程圖管理、報表管理、設備管理等功能。界面如圖3-3所示。
圖3-3 服務器管理配置界面
移動監(jiān)控服務器的主要功能是為移動設備接入數據,而服務器配置的目的就是為數據接入和管理做一個可視化的配置工具。主要包含的功能是:可以監(jiān)控和啟停數據服務,配置組態(tài)和運行環(huán)境,設置報警,管理流程圖,管理報表,管理設備。
3.3.2 報警模塊
由于移動監(jiān)控一般用于企業(yè)管理層,只會關注特別重要的報警點。本系統(tǒng)的報警獨立于第三方接入系統(tǒng),需要專門針對移動設備進行報警配置。報警在服務器進行配置,每一條報警配置都對應一個位號,并且需要輸入報警類型、報警臨界值、報警等級、報警描述、聯系人、聯系人號碼。報警配置存儲到數據庫,同時可以進行修改和刪除。在服務器上有一個專門處理報警的線程,根據報警配置中的臨界值和相應的規(guī)則來生成報警。每次新報警產生時放入實時報警隊列并且存儲到歷史報警數據庫。
當報警產生時,服務器采用IOS的推送技術,將報警主動推送到IOS移動終端。移動終端在同一個界面中查看實時報警和歷史報警。客戶端在收到報警推送信息后,登錄SIMField客戶端軟件,對報警信息進行閱讀、確認等操作,同時可根據該報警關聯的聯系方式呼叫報警聯系人。報警工作流程如圖3-4所示。
圖3-4 報警工作流程
3.3.3 監(jiān)控流程圖
SIMField系統(tǒng)的監(jiān)控動態(tài)流程圖采用XML標準格式來描述。流程圖的圖形繪制和動畫效果使用第三方庫“Raphael.js”,根據不同的瀏覽器類型,自動采用SVG或者VML來繪制矢量圖形,通過JavaScript腳本改變圖形對象屬性實現圖形的動畫。流程圖模塊運行時,周期性從WEB服務器請求獲取數據,將獲取到的新值轉換成流程圖對象的動態(tài)屬性值,然后把屬性設置到圖形對象,實現圖形對象的動態(tài)效果。動態(tài)流程圖運行截圖如圖3-5所示。
圖3-5 流程圖效果
3.3.4 報表模塊
報表模塊從第三方系統(tǒng)中獲取報表組態(tài)信息,并進行轉換,存儲,供SIMField移動終端客戶端調用,瀏覽。
運行時,報表模塊從SIMField獲取數據,根據組態(tài)配置動態(tài)更新到報表頁面中,實現報表數據瀏覽。
本系統(tǒng)可以支持的報表文件類型有 Word 文檔,Excel文檔,PowerPoint文檔,PDF文檔,CSV文檔,并且可以擴展支持HTML文檔和TXT文檔。
3.3.5 用戶認證模塊
本系統(tǒng)的用戶認證方式采用密碼和移動終端設備編號結合的方式,服務器管理員將移動終端設備的唯一編碼審核后在SIMField服務器上進行注冊,并且給該終端設備分配用戶名和密碼,該終端設備即可通過該用戶名、密碼登錄SIMField監(jiān)控系統(tǒng)。總結
本文設計的智能終端移動監(jiān)控系統(tǒng)(SIMField)能夠運行于IOS智能移動終端,利用移動終端WIFI或者3G網絡,實現現場數據遠程傳輸和數據查詢。本系統(tǒng)可以緊密結合傳統(tǒng)的工廠監(jiān)控系統(tǒng),可以隨時隨地獲得現場運行狀況,關鍵數據,報警信息等。它利用幾乎每個人都配備的手機為載體,不但可以讓企業(yè)管理人員快速及時地獲取信息,提高效率,還可以減少網絡和報警設備的投資,降低系統(tǒng)的成本,提高競爭力。
參考文獻
[1] David Mark,Jack Nutting,Jeff LaMarche.Beginning iOS 5 Development Exploring the iOS SDK.Apress [2] Rapha?l Reference 作者簡介:
張川,1981年出生,男,浙江浦江人,2003年畢業(yè)于浙江大學計算機系,學士學位,工程師,從事工業(yè)控制軟件開發(fā)工作。通訊地址:浙江杭州市濱江區(qū)六和路309號A3研發(fā)大廳0-*** 電子郵箱: zhangchuan@supcon.com
310053 聯系電話: 郵政編碼:
第四篇:移動辦公OA系統(tǒng)如何實現管理
移動辦公OA系統(tǒng)如何實現管理
移動互聯網使用方便,不受地區(qū)等的限制,8Manage移動互聯網辦公自動化也構建起了不同組織之間緊密的橋梁紐帶,透過系統(tǒng)移動端的綜合應用,實現了消息的編輯、審批和發(fā)布和反饋的全過程管理,方便了企業(yè)更好的展開工作和做好工作總結,提升整體工作效率。
我需留意模塊
我需留意是用戶自定義的工作臺,可以有詳細的工作任務指派、日歷及提醒等,對實時狀況任務的查詢和問題的管理。
個性導航模塊
這個模塊是管理員根據用戶的角色,為用戶設置的個性化導航視圖,用戶根據系統(tǒng)功能設置符合實際需要的功能導航圖,點擊導航即可進入相關工作的系統(tǒng)頁面,方便簡潔開展工作。
機構管理模塊
這個模塊是8Manage提供的對企業(yè)進行的樹狀組織架構圖,用戶一目了然看到架構的情況和負責人,方便查閱。另外,還可以在系統(tǒng)中建立完整的服務對象或者管轄對象數據庫,及時更新企業(yè)信息,保證了信息的時效性,機構通訊錄也可以隨時提供搜索查詢。
公告管理模塊
公告管理是下發(fā)的重要政策等信息,通過8Manage平臺提供了信息發(fā)布和文件傳達。如果是要特意傳達給指定人員,那么通過系統(tǒng)會將信息直接反饋到指定人員的工作臺上,并提醒相關人員進行查看,可支持回復或者評論等功能。
表單及流程管理
移動互聯網辦公自動化的公文流轉,可以幫助用戶查詢、評論、審批等各種溝通與請求的表格,并對表單進行查詢和統(tǒng)計,對于金額、數量等字段,還能實現求和、平均、最大、最小等的統(tǒng)計,方便查閱。
會議管理模塊
會議管理模塊包括了流程管理、任務管理,考勤管理,文檔管理,預算管理,溝通管理和物資管理等。8Manage系統(tǒng)支持全面會議管理的流程,完成會議的各個環(huán)節(jié)功能。
即時通訊模塊
8Manage移動互聯網辦公自動化也是個動態(tài)化的實時通訊工具,一對一或者一對多的討論方式等,可以針對性實現發(fā)送文字和圖片消息,進行服務支持,疑問解答等工作。并且,用戶可以實現權限操作,阻擋不必要的騷擾信息,可管可控,維護機構溝通的秩序和信息安全。
文檔管理
8Manage移動互聯網辦公自動化提供完善的文檔管理體系,可以實現檢入、檢出、版本控制機制,支持用戶登錄系統(tǒng)查閱文檔內容以達到資料共享的目的。
留言通告模塊
留言通告是答疑交流的溝通途徑,使得溝通更有針對性并解決實際工作中的問題。移動終端
8Manage移動互聯網辦公自動化移動端可以實現消息審批、查閱、回復等,支持查閱即時通訊錄,實現了不受時間和空間束縛的工作模式。
第五篇:辦公自動化系統(tǒng)的設計與實現
辦公自動化系統(tǒng)的設計與實現
1、摘要
多年以來人們都使用傳統(tǒng)的人工方式管理企業(yè)內部信息。這種管理方式不僅讓企業(yè)信息管理者感到非常的厭倦,也存在著不可避免的缺點,如效率太低、保密性太差。時間一長,伴隨著企業(yè)規(guī)模的壯大,企業(yè)所需要管理的信息就會越來越多,就會產生大量的文件和數據,這樣就會對查閱、更新、保存等方面都產生不少的困難。隨著科學技術的不斷提高,計算機科學日漸成熟, 其強大的功能已逐漸被人們認識并掌握。如果使用計算機對企業(yè)信息進行管理,具有傳統(tǒng)的手工管理所沒法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、保密性好、更新方便等。這些優(yōu)點能夠極大地提高企業(yè)信息管理的效率,大大降低企業(yè)在信息管理上的投入,使企業(yè)獲得更大的利潤空間。因此,開發(fā)一個能夠管理企業(yè)各種信息的辦公自動化管理系統(tǒng)是一件十分必要的事情。
關鍵詞:文件,數據,科學技術,信息管理,自動化管理
第一章,導論
第二章,主要研究內容
要求實現一個比較完整的網上辦公系統(tǒng),該系統(tǒng)可以采B/S結構實現,能夠通過網絡進行辦公及信息交互功能?;竟δ馨ǎ弘娮余]件、公告通知、日程安排、通訊簿、工作計劃、討論區(qū)、電話區(qū)號查詢、郵政編碼查詢等。
第三章,擬解決的關鍵性問題。
(1)界面簡單可操作性強
(2)安全性
(3)簡便有效的維護手段
(4)可擴充性
(5)功能性強大
(6)強大的糾錯能力
第四章,立論根據及研究創(chuàng)新之處
第五章,參考文獻目錄