基于STK方式的移动银行系统的设计与实现

时间:2019-05-14 02:35:40下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《基于STK方式的移动银行系统的设计与实现》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《基于STK方式的移动银行系统的设计与实现》。

第一篇:基于STK方式的移动银行系统的设计与实现

第一章 引言

研究背景和方向

近几年来,随着Internet 的迅猛发展,用户接入网络数不断增加,ISP(Internet Service Provider 服务提供商)对用户接入和计费管理变得日益重要。在其它领域,如IP 电话运营商、大规模防火墙等,对用户接入认证的要求也越来越高,原有的简 单认证方式已经不满足当前需要,迫切需要一种能够完成实时用户接入认证、实时 记账、全局漫游、多种计费方式、支持多种认证安全方式、跨越多平台的用户接入 认证系统。

RADIUS(Remote Authentication Dial-In User Service 用户远程拨号验证服 务)协议[1]作为IETF(Internet Engine Tasks Force 互联网工程任务组)定义的 标准协议已经越来越被大多数ISP、ITSP 和安全系统所认可。RADIUS 协议中所规定 的接入认证(Authentication)、用户授权(Authorization)、记账(Accounting)[2]、漫游(Roaming)和属性(Attribute)扩展方式等解决了众多ISP 所面临的问题,成为今后流行的趋势。

这样,开发符合RADIUS 协议的用户接入认证、授权和记账的软件成为构筑ISP、电信运营商、安全网络系统中的必要部分。现行的RADIUS 开发虽然部分满足了用户 的需求,但存在几个关键问题,如开发者不能利用已有存在的系统,重复劳动,开 发周期长;各种系统实现方式差异很大,不利于维护扩充;软件特定平台,不能跨 越平台使用;对协议包理解方式不同,不能互通漫游等,这样就需要一种全新的开 发方法和框架。

我们分析了国际上流行的各种RADIUS 系统实现,依照最新的协议及讨论草案,结合其它系统的先进优点,设计并实现了一个可扩充的AAA 协议栈软件包。根据这 个软件包,用户可以在协议栈的基础之上,选择自己所需要的运行模块和连接方式,编写符合自己需要的用户回调函数和全局设置接口,就可以完成一个标准的RADIUS 系统。

用户使用本协议栈开发RADIUS 系统时,可以脱离编写协议时的各种繁琐过程,无需考虑协议的语法和数据包的结构,并且使系统所覆盖的协议最多。采用这种方 法开发的RADIUS 系统具有符合国际标准协议、使用简便、开发周期短、系统灵活性 高、易于扩充和与系统间可互通漫游的特点。我们采用这种方法已被开发者实际利 用,产生极大的利用价值,具有很好的发展前景。

在本文中,首先介绍RADIUS 协议及其特性,然后给出所设计协议栈的框架原理 及其实现,协议栈所支持的功能和应用方法,最后给出结论和进一步需要完成的工

一个可扩展的AAA 协议栈 2 作。

相关工作

国际上有一个组织和我们工作类似,项目名称为“Stacks of Internet Telephony” [3],开始时间大约为2000 年6 月。以下是我们所开发的RADIUS 协议栈 和这个项目中的关于RADIUS 的栈的比较: 系统实现和功能 本协议栈 Vovida 项目组 继承系统 Livingston RADIUS Merit AAA 系统框架 进程池 单请求派生进程

验证方式 PAP、CHAP、MS-CHAP PAP、CHAP、MS-CHAP 网管接口函数 支持 不支持

用户数据 本地文件、数据库 只支持本地文件 配置管理 本地文件、数据库 只支持本地文件 日志 按时间递进、数据库 简单文本

其它部分 提供客户端和测试程序 无客户端和测试程序

第二章 RADIUS 相关协议及其特性

RADIUS 系统框架

远程拨号用户鉴别服务RADIUS 是朗讯网际互连系统中的一个基于客户端/服务 员的安全协议。在RFC2138[4]和RFC2139[5]中被IETF 定义为标准协议。用户相关信息 存储于一个中心位置,被称为RADIUS 服务员。RADIUS 客户端与RADIUS 服务员通过 通信来验证用户。服务员返回给客户端关于验证用户的操作权限。虽然RADIUS 这个 名词用来说明客户端与服务员进行通信的网络协议,但它经常被用来说明整个客户 端/服务员系统。如图2-1 所示。

一个可扩展的AAA 协议栈 3 RADIUS客户端RADIUS服务员

认证记账请求 认证记账响应

图 2-1:一个简单的RADIUS 客户端/服务员系统框架

基于 RADIUS 的远程接入环境共包括三个部分:用户、远程接入服务员和

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 设备上的请求信息,并选择预先设定的认证 方法来完成请求,并发送响应给RAS。

处于不同位置的RADIUS 服务员还可以连接在一起,组成一个RADIUS 认证环 境。每个RADIUS 可以将发给自己的请求转发给其它RADIUS 服务员来处理。结构 如图2-3。

一个可扩展的AAA 协议栈 4 RADIUS服务员 负责区域A用户 RADIUS服务员 负责区域B用户 RADIUS服务员 负责区域C用户 区域C RADIUS客户端

图 2-3:多个RADIUS 服务员的认证框架

这样就可以组成一个跨越不同地理位置的分布式认证环境,无论从认证用户数 量上,还是在用户分布上都可以实现透明的集中式管理。

RADIUS 基本功能

RADIUS 是一个在用户网络接入设备(例如拨号服务器)和用户信息存放设备 之间交换信息的标准方法。它有三个基本功能。

验证(Authentication):RADIUS 判别一个用户请求服务是否合法。用户鉴别 信息可以存放在本地users 文件,本地数据库、外部数据库中;也可以通过其它验证 方式进行鉴别如UNIX 口令文件、Windows NT 域数据库等。一个简单的典型例子如 下:

一个拨号用户通过 RADIUS 协议试图接入网络的过程如下:

1、用户拨号进入一个远程接入服务员(MODEM池)并开始一个PPP 会话;

2、远程接入服务员把从 PPP 会话中得到的用户验证信息经过处理,打成 RADIUS 协议请求包,传送给RADIUS 服务员;

3、如果 RADIUS 服务员通过了这个验证,它将发送接受响应给RAS,并附加 上其它信息包括用户建立连接所需要的IP 地址、最大连接时间等等;如果 RADIUS 不能验证这个请求或验证没有通过,它将发送拒绝响应给RAS 以 及错误的原因;

4、使用这些信息,RAS 如果受到接受响应包,则它允许用户开始操作网络,如果拒绝则断掉连接并给出错误信息。

授权(Authorization):RADIUS 协议可以控制用户会话中使用特定的网络设备 服务。在RAS 发送的验证请求信息中,除基本信息外,还可以有用户期望连接类型 等,RADIUS 服务员可以根据请求完成验证。RADIUS 服务员可以将验证通过的其 它参数发送给RAS 以规定用户连接。所有的属性交换由用户配置文件控制。配置文 件中包括两种属性:检查属性和返回属性。检查属性定义了一些连接所需请求。RAS 在向RADIUS 服务员发送验证请求时必须具备这些属性,否则验证不会成功。返回 一个可扩展的AAA 协议栈 5 属性为验证成功后 RADIUS 服务员发送给RAS 的附加信息,例如定义连接的一些参 数。一旦用户通过认证,RADIUS 服务员根据系统预先设置的用户配置文件,附加 用户可以使用的资源能力,如IP 地址、连接协议、连接速率等。通过这种方式,可 以集中管理用户的不同访问能力,比如用户普通电话拨号接入网络时应该获取的速 率和连接方式和通过ISDN 拨入网络的速率和连接方式,以及两种方式的口令可以 是不同的。

记账(Accounting):RADIUS 协议可以记录会话开始记录、会话结束记录。包 括本次连接的用户名、开始连接时间、结束连接时间、用户使用协议、用户使用带 宽、传输数据量、连接断开原因和出错信息等。RADIUS 客户端在连接开始的时候 向RADIUS 服务员发送会话开始记录,在连接结束的时候发送会话结束记录。通常 情况下RADIUS 服务员只记录会话结束记录;对于会话开始记录一般用于用户超时 监测和切断控制。

RADIUS 扩充功能

RADIUS 协议除了基本功能以外,为了适应Internet 的不断扩大,增强了几个功 能:

代理(漫游):为了能够使用户能在异地通过认证使用服务,RADIUS 协议支持 服务员之间转发代理请求和响应。请求和响应的转发根据RADIUS 服务员存放在本 地的proxy 文件或数据库中存放的外部RADIUS 服务员信息进行。如图2-3,当一个 用户在C 地要求使用服务时,C 地RADIUS 服务员首先判断该用户是否是本地用户,如果不是,根据用户特征查找代理表,看是否和用户开户地RADIUS A 有代理关系,如果有那么就转发该请求到A地RADIUS 服务员,A地RADIUS 服务员完成验证后,将响应结果发回C 地RADIUS 服务员,C 地RADIUS 再将结果发回给用户。记账签名和时间戳:记账请求/响应包必须签名。根据包的内容,使用客户端与

服务员之间的共享密钥,通过MD5 算法计算包的摘要,这样保证了记账包不被窃听 者篡改。时间戳也保证了记账记录的唯一性,保证记录的准确性,防止窃听者破环。用户自定义属性:RADIUS 协议除了规定的属性外,用户可以自行添加所需要 的属性。在添加用户自定义属性时,需要注明用户ID 等标志。这样不同运营商之间 除了协议规定的属性外,还可以互通其它属性,交换信息。

地址绑定:RADIUS 协议规定可以将RADIUS 服务员与指定的IP 地址绑定,这 样可以在多宿主主机上使用RADIUS。

RADIUS 配置

RADIUS 配置主要在RADIUS 服务员部分,通过各种配置文件进行。RADIUS 服务

一个可扩展的AAA 协议栈 6 员所需要的配置文件全部放在名为 raddb 的目录下。它的组织形式如下: 图 2-4 RADIUS 目录结构

字典文件 dictionary:RADIUS 服务员使用字典文件来建立检查属性列表和返回 属性列表。字典文件包括可能用到的属性名称、属性号、属性值等。用户文件users:存储用户的配置信息,包括鉴别和授权信息。

客户文件clients:存储RADIUS 所有的本服务员对应的客户端地址及共享密钥。代理文件proxy:存储所有远程RADIUS 服务员的地址和共享密钥等。菜单文件menus:存储各种用户通过认证后可以选择的服务类型。

RADIUS 特性

基于RADIUS 协议的接入认证/计费系统提供以下特性:

客户机/服务员模式:要求对用户进行认证的设备被称为客户端,要求RADIUS 服务员进行服务,而一个RADIUS 服务员也可以是其它服务员的客户端。

安全:在大型网络中,安全信息分散于网络不同设备上。RADIUS 协议可以允许 用户信息保存于一台主机之上,最小化安全漏洞的危险。RADIUS 服务员管理所有鉴 别和接入网络服务的功能。RADIUS 服务员与客户端之间使用共享密钥进行通信。可适应性:RADIUS 软件可以安装在任何通信环境之中。也可以和其它安全系统 和协议融合为一体。对用户可以使用多种验证方法。

可扩展性:所有传输的信息被组织为称为三元组(属性、长度、值)中,新的 属性可以随时添加。

管理简便:RADIUS 服务员将安全信息存储于中心位置,只需要维护这一处信息 即可。对不同厂商的远程接入设备可以按统一的安全模式维护和管理。

广泛的审计能力:RADIUS 提供一种审计跟踪能力,称为RADIUS 记账。收集来 的信息可以用来分析安全效果和计费。

一个可扩展的AAA 协议栈 7 第三章协议栈框架

协议栈包含协议框架

本协议栈所覆盖的协议主要有以下几个。

1、RADIUS 协议:定义于RFC2138 中,是RADIUS 体系的主要部分,主要对验证 和授权、包格式、语法和漫游等进行了规定。

2、RADIUS Accouting 协议:定义于RFC2139 中,主要对记账、记账包格式等 进行了规定。

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 主要系统。RFC2618-RFC2621 主要实现协议栈具 有网络管理功能,示意图如下。协议栈系统软件包

RFC2618 RFC2619 RFC2620 RFC2621 RFC2138 Authentication RFC2139 Accounting UDP IP 框图3-1 协议栈包含的协议

协议栈功能框架

本协议栈的功能框架如图3-2 所示。

一个可扩展的AAA 协议栈 8 AAA协议栈

包处理回调函数、用户全局设置、接口函数 网管模块 端口绑定监听 数据库访问模块 多种验证方式 包加密解密 包接收发送 漫游代理 配置管理

图 3-2 RADIUS 协议栈功能框架 各部分主要功能如下:

配置管理:负责从本地配置文件或数据库中读取系统的参数设置,包括地 址、端口号、认证协议、超时控制时间等。

多种验证方式:负责根据预先配置的方式对请求进行认证,包括PAP、CHAP、MS-CHAP 方式等。

包加密解密:对认证请求包的口令字段进行加密和解密,生成所需的请求 和响应验证字。

包接收发送:接收请求包,并将其组织成结构体形式;把结构体形式的数 据结构打成二进制包。

漫游代理:根据请求包内容,应用设置条件,判断其是否需要代理。如果 需要代理,则处理后转发出去。接收代理响应,并转发给RADIUS 客户端。端口绑定监听:根据配置主机和端口信息,申请socket 并绑定于指定端口。监听来自客户端以及其它RADIUS 服务员的请求和响应。

网管模块:对RADIUS 系统的各个状态和参数进行监控,并在SNMP 代理调 用时将这些参数返回给调用者。

数据库访问模块:在对用户认证和记账时访问用户数据,访问方式可以支 持多种数据库形式。

包处理回调函数、用户全局设置、接口函数:是用户使用本协议栈时需要 编写的代码部分,具体使用方法见第五章。

第四章协议栈实现

开发环境及工具

一个可扩展的AAA 协议栈 9 本协议栈的开发环境有多种,可以是 WinNT,Linux,HP-UX,Solaris 等UNIX 操作系统。如果使用专用数据库的话,还需要在所用操作系统上安装ORACLE 等数据 库服务器及客户端。工具是UNIX 上的C 编译系统或者是WINDOWS 上的VC 编译系统。本协议栈采用标准ANSI C 语言编写,因为C 语言执行速度快,兼容性和跨平台 性好。

系统逻辑流程

使用本协议栈开发的RADIUS 服务员系统在处理请求包时采用的算法如图4-1 所示。

打开预先定义端口或知名端口,申请网络数据报套接字绑定到端 口上,便于以后主动监听。

预先创建若干RADIUS子进程,并建立父子间通信的全双工管道等 待处理主进程发送给它们的处理请求。

主进程读取RADIUS代理表和RADIUS客户端表,以后检验客户端合 法性和查找远端代理地址。

将网络套接字和管道描述符全部放入一个SELECT描述字段中,该 字段中的项对应可以进行I/O的描述符。通过监控这个字段可以获 知那个I/O端口上有数据达到。求出包括网络套接字和父子进程间 管道描述字的最大值。

SELECT监听I/O。一旦数据到达,进行一下处理

如果表中网络套接字有数据发到,则调用处理子程序,该子程序 首先判断该请求的源是否合法,是否需要漫游处理,然后选择预 先分配的一个空闲进程处理请求。

如果管道描述字有数据发到,则表示对应子进程处理请求完毕,子程序恢复空闲状态。

图 4-1 系统网络通信算法

一个可扩展的AAA 协议栈 10 使用本协议栈开发的 RADIUS 服务员系统的系统逻辑流程如下。

初 始 化 配 置(是 否 派 生 子 进 程、字 典 文 件 和 日 志 文 件 路 径、终端参数)

登记各种信号处理例程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(),准备监听

派生指定个数的子进程c h i l d _ m a k e(),并监控父子进程间通 信的读写管道

申请表空间,调用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()将监控描述符字段清零并置位F D _ Z E R O()循环非阻塞监控以上端口S E L E C T(),根据情况分别执行以下 子程序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()子进程发送信号,处理子进程完毕。子进程空闲置位。

图4-2 系统逻辑流程

一个可扩展的AAA 协议栈 11 RADIUS 服务员中采用基于数据报的并发无连接网络通信算法、进程处理采用主 进程循环处理,子进程顺序处理算法。并且为提高效率,采用进程预分配的方法。系统运行时,由空闲子进程组成一个空闲进程池,当有请求时,主进程顺序选 择一个空闲子进程完成请求。子进程完成请求后通知父进程。示意见图4-3。RADIUS主进程 子进程池 空闲子进程

接收新请求的子进程 正在处理请求的子进程 完成子进程通知父亲

图4-3 系统运行时进程关系图

包处理逻辑流程

协议栈中的主进程在处理请求包时所作处理如图4-4 所示。

接 收 数 据 包 到 缓 冲 区 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()将缓冲区打成请求头结构r a d r e c v()判断是否需要代理h a n d l e _ p r o x y()需要代理,调用代理模块保 存漫游状态p u s h _ p r o x y()发送到远端

s e n d p r o x y 2 s e r v e r()不需要代理,判断是否是重 包

查找空闲子进程

登记包特性到子进程结构中 将请求包放入缓冲区 通过F I F O 发送给子进程

图4-4 主进程处理请求包流程

一个可扩展的AAA 协议栈 12 协议栈中对于代理漫游包的处理如图 4-5 所示。

接收数据包到缓冲区recvfrom()判断包源服务员的合法性find_server()将缓冲区打成请求头结构radrecv()找出包对应的描述符

查找发送时记的请求头pop_proxy()转发响应给最初的客户端sendproxy2client()图 4-5 漫游请求包流程

协议栈中子进程处理请求包的流程图如图 4-6 所示。

循环等待父进程发送处理消息read()将接收到的缓冲区打成请求头结构radrecv()根据不同请求包类型,调用用户自定义回调函数响应模块 如认证处理rad_authenticate()等 处理完毕,返回继续等待下一个请求

图 4-6 子进程处理请求包流程

从图中可以看出,协议栈的用户只需要编写用户处理请求包的回调函数,对于 其它过程则可以不用关心。

测试环境和方法

一个可扩展的AAA 协议栈 13 本协议栈的测试环境可以象开发环境一样,有多种组合。下面选取其中一种,以协议栈为基础的RADIUS 系统,如图4-7 所示。本地RADIUS服务员 ORACLE 数据库

远端RADIUS服务员 RADIUS 客户端 测试程序

图 4-7 协议栈测试环境

其中本地 RADIUS 服务员接收发自RADIUS 客户端的请求,ORACLE 数据库作为存 储用户数据和配置信息的服务器。远程RADIUS 服务员接收漫游用户的认证请求。测 试程序负责产生测试呼叫。

测试分为两个部分:功能测试和性能测试。功能测试包括对RADIUS 服务员中是 否满足RFC2138 和RFC2139 中规定功能的测试;性能测试包括在大并发用户量下系 统的响应时间和正确率。需要编写一个能完成测试要求的测试程序。此测试程序运 行于RADIUS 客户端,通过进程间通信模仿调用方程序。测试前还要编写一个模拟数 据生成程序,它负责从数据库中抽取数据,模仿呼叫数据。

接口回调函数

开发者通过回调函数来使用本协议栈,在请求包处理回调函数中,开发者可以 使用协议栈提供的各种实用函数,包括属性提取函数、加密解密函数、包发送接收 函数、打包函数和访问数据库函数。一个典型的回调函数例子的流程图如下。

一个可扩展的AAA 协议栈 14 判断用户名长度是否合法 判断是否有属性getattribute()抽取SESSION_INDEX属性放入响应链表中抽取相应请求属性 getattribute()应用客户端口令解密请求口令decrypt_password()调TUXEDO访问数据库取口令get_password()判断为正确,并发送响应send_accept()判断为错误,并发送响应send_reject()图 4-8 典型回调函数流程图

第五章协议栈功能特点

协议实现全、互通性较高:本协议栈基本全部实现了IETF 中关于RADIUS 的相 关协议。由于本协议栈完全遵守IEFT 的关于RADIUS 的各个协议,所以在以本协议 栈为基础开发的RADIUS 系统可以完全实现互通,在和其它标准RADIUS 系统也可以 实现较大程度上的互通。

多种验证类型:在验证过程中,RAS 和RADIUS 服务员传送口令信息,这个口令 信息通过RAS 和RADIUS 服务员之间的共享密钥加密。口令信息源于用户输入,根据 用户选择可以有以下三种:

1、PAP(Password Authentication Protocol 口令验 证协议)非常简单,用户发送口令给RADIUS 服务员,RADIUS 服务员通过数据库或 操作系统来验证。用户发送口令给RAS 的过程中,口令以明文方式传送。RAS 传送 口令给RADIUS 的过程中,使用共享密钥加密。最后RADIUS 服务员以口令明文的方 式进行验证。

2、CHAP(Challenge Handshake Authentication Protocol 挑战握 手验证协议)避免在任何通信连接中使用口令明文。在CHAP 中,RAS 首先生成一个 随机数(称为挑战)并发送给用户,用户的PPP 端生成一个由口令和挑战组成的单 向摘要并发送给RAS,由于摘要是单向加密,RADIUS 服务员不能从摘要中恢复口令,所以它使用本地数据库中存储的用户口令用同样方法计算出摘要和接收的摘要比 较,如果相同则验证通过。

3、MS-CHAP(Microsoft Challenge Handshake 一个可扩展的AAA 协议栈 15 Authentication Protocol 微软挑战握手验证协议)是微软提出的类似于CHAP 而 整合入微软操作系统中的验证方法,它可以在操作系统之上采用不同级别:本地 用户、域用户、域组、主机用户、主机组合外部数据库等来验证用户。

二次开发工作量少,容易扩充:由于协议栈已经完成了开发RADIUS 系统所需的 大部分工作,用户只需要开发少量的回调函数,完成自己的特定需要,所以可以快 速开发。由于协议栈的实现是基于协议的包处理过程,所以用户可以根据协议的变 化和需求的变更,不断改进实现,而不需要太多工作量。

运行稳定:由于协议栈采用进程池的方式实现,所占用的内存一定,系统开销

最小。所以不会大量占用系统资源(CPU 处理时间和内存),不会出现因请求数量变 化而使系统资源的占用发生颠簸。更不会出现内存泄漏等错误。

性能:由于我们对协议栈的实现做到精益求精,采用高效的实现方法,优化代

码的设计,所以使用本协议栈开发的RADIUS 系统在同档次的服务器上运行效率比其 它系统要高。一般来说,在主频为300MHz 的主机上,其它系统可以实现500 个/秒 的认证速度,而使用本协议栈开发的RADIUS 系统可以实现1000 个每秒。

多种用户验证手段:本协议栈有多个模块支持多种数据库访问方式,用户数据 可以存放在以下几个形式中,文本文件、UNIX DBM、MYSQL、ORACLE、MS-SQL 等。多种日志方法:详细错误信息输出到本地日志、系统日志、数据库中。可以帮 助管理员和开发人员迅速找到错误原因,实时掌握系统状态。

跨平台运行:本协议栈可以运行在多个平台之上。由于是基于进程实现,所以

不会因为各个操作系统对线程实现不同而引发差异。本协议栈在 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 协议概况:开发者必须对RFC2138、RFC2139 有所了解,虽 然不用了解包的发送和接收、加密解密细节,但对协议的使用步骤和包 的格式定义必须了解。

2、了解协议栈和实用函数:开发者必须掌握本协议栈的逻辑流程,了解函 数的定义和调用的顺序。

3、编写用户回调接口函数:根据自定义的不同需要,对每个类型的请求进 行处理。

4、连接编译整个协议栈:选择不同运行模块,包括不同的验证方式、访问 数据库的类型等,在操作系统上运行编译器。

一个可扩展的AAA 协议栈 16

5、配置RADIUS 系统:在系统运行之前,需要根据不同的系统组成部分,选择适当方式来配置系统,例如:主机地址、端口、代理员的列表、客 户端的列表等。

在使用本协议栈时应注意以下几个问题:

1、字典文件和属性的定义:由于不同厂商对属性和属性值的定义值不同,所 以应注意区别,防止属性数据类型不匹配。

2、确定操作系统参数如最大打开文件数、信号灯数等符合需要。

3、尽量在用户回调函数中使用静态内存,防止动态内存使用不慎而引起的内 存泄漏和系统崩溃。

4、根据不同需要,连接不同模块,防止占用系统过多。

5、减少用户处理执行时间,以利于系统整体的运行性能。

第七章 结论

协议栈实现系统与相关系统比较

采用本协议栈编写的AAA 系统与其它典型RADIUS 实现系统比较如下表: 系统 本实现 Livingston[1] Merit[10] Ascend[11] Freeradius[12] 协议实现 全部 全部 全部 全部 全部 认证方式 一般 一般 一般 一般 多 功能 多 一般 一般 一般 多 兼容性 一般 好 一般 一般 一般 性能 好 一般 一般 一般 好 扩展性 好 一般 一般 一般 好 测试工具 全面 简单 简单 简单 简单

结论

由于Internet 不断发展,用户的接入越来越为人们关注。而防火墙和VPN 中的 不断使用,使RADIUS 协议也日益成为工业事实标准。

随着网络协议不断增多,使用协议栈来开发网络通信程序是近年来流行的趋势。开发一个可供快速组建RADIUS 系统的协议栈是一个必不可少的基础工具。

一个可扩展的AAA 协议栈 17 本文通过集成关于 RADIUS 的若干协议,实现一个AAA 协议栈,使得开发基于 RADIUS 协议的安全认证系统变得更加容易。

通过测试,本协议栈在同等环境条件下,系统的功能和性能达到相近系统的前 列。

不足之处和进一步的工作

虽然我们做了大量工作,但在以下几个方面还存在着不足:

1、对不同系统的各种属性的处理还不够全面。

2、认证中的验证类型还需扩充。

3、与其它安全认证系统的互通性有待提高。今后进一步的工作是:

1、实现最新的RADIUS 协议RFC2865[13]、RFC2866[14]。

2、改进协议栈,使之能运行于集群之上,提高系统性能。

3、对数据库的访问中增加LDAP(轻型目录访问协议)的支持。

4、加入负载平衡算法,使系统不同进程能发挥更大效率。

5、增强与其它RADIUS 系统的互通性。

6、支持TACACS+协议[15],TACACS 终端访问控制器接入控制系统协议。定义于 RFC1492 中。TACACS+增强型。类似于RADIUS 的AAA 协议,与RADIUS 不同 之处在于:传输协议使用TCP 而不是UDP。RADIUS 只加密口令字段,而 TACACS+加密整个包净荷。TACACS+允许验证和授权分离,而RADIUS 中验证 和授权是集成的。

7、支持Diameter 协议[16]。IETF 着眼的下一代AAA 协议。一个全新轻量级的,基于端点的。提供可扩展的基础来引进新策略和AAA 服务。继承RADIUS 的 机能。突破RADIUS 协议限制,允许服务员向客户端发送统一消息。使用重 传和失败恢复算法。提供端到端的安全机制。支持漫游和移动IP 网络。

参考文献

[1].Lucent, “Remote Authentication Dial-In User Service”, http://.charters/aaa-charter.html.[3].“Stacks of Internet Telephony”, http://www.xiexiebang.com, 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://www.xiexiebang.com, 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 致谢

在此,首先向我的导师鞠九滨教授表示深深的谢意!从本科论文开始,鞠九滨 教授以他严谨的治学态度、渊博的学识、敏锐的思维和孜孜不倦的工作作风对我进 行了悉心的教诲,使我受益终生。

同时还要向李春阳高级工程师表示感谢,李老师一丝不苟的工作作风非常值得 我的学习。

向师兄张钶、张猛表示衷心的感谢。他们在科研上帮我攻克难关,给了我许多 无私的关心和帮助。

感谢研究小组成员刘静、张广艳、于海超,是他们使我在团结协作中不断成长。特别感谢于秀峰老师、胡成全老师、胡亮老师和房至一老师对我的帮助。

一个可扩展的AAA 协议栈 20 论文摘要 认证(Authentication)、授权(Authorization)、记账(Accounting)是网络接入 的三个重要需求。满足这些要求的RADIUS(Remote Authentication Dial-In User Service 用户远程拨号验证服务)协议作为IETF(Internet Engine Tasks Force 互联网工程任务组)定义的标准协议已经越来越被大多数ISP、ITSP 和安全系统所 认可。

这样,开发符合RADIUS 协议的用户接入认证、授权和记账的软件成为构筑ISP、电信运营商、安全网络系统中的必要部分。现行的RADIUS 开发虽然部分满足了用户 的需求,但存在几个关键问题,如开发者不能利用已有存在的系统,重复劳动,开 发周期长;各种系统实现方式差异很大,不利于维护扩充;软件特定平台,不能跨 越平台使用;对协议包理解方式不同,不能互通漫游。

作为一个可扩充的AAA 协议栈软件包,用户可以在AAA 协议栈的基础之上,选 择自己所需要的运行模块和连接方式,编写符合自己需要的用户回调函数和全局设 置接口,就可以完成一个标准的RADIUS 系统。用户使用本协议栈开发AAA 系统时,可以脱离编写协议时的各种繁琐过程,无需考虑协议的语法和数据包的结构,并且 使系统所覆盖的协议最多。采用这种方法开发的RADIUS 系统具有符合国际标准协 议、使用简便、开发周期短、系统灵活性高、易于扩充和与系统间可互通漫游的特 点。

一个可扩展的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.__

第二篇:人事管理系统设计与实现

人事管理系统设计与实现

目 录

前 言....1 1 需求分析....2 1.1 系统需求...2 1.1 功能需求...2 1.3 可靠性要求...3 1.4 性能需求...3 2 开发环境简介....4 2.1 Delphi简介...4

2.1.1 Delphi7的集成开发环境(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 系统模块...16 3.2 用例图...18 4 数据库设计....21 4.1 数据库概念设计...21 4.2 数据库逻辑结构设计...23 5 详细设计....30 5.1 系统主窗体...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

人事管理系统

网络工程 雷灵明 指导老师:曹步青

摘要:随着企业自身人力资源的日益庞大、复杂程度逐渐增强,人机作坊再也无法适应如今企业的人事管理了,取代的是运用各种领域的知识,结合计算机科学而开发的人事管理系统。人事管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。人事管理系统是对工作人员进行统一的管理,可以方便的进行录入,查询,修改,删除,退出。经过以上分析,本系统使用Delphi 7.0作为界面和功能开发工具和SQL Sever 2000作为后台数据库,利用其提供的各种面向对象的开发工具进行界面和数据库开发。软件过程结合了快速原型模型与增量模型的优点:首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成可行系统。关键词:人事管理;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

前 言 背景

在竞争越来越激烈的社会里,企业人事管理就越显示出其不可缺性,成为企业一个非常重要的模块。企业人事管理系统主要是用于员工个人相关信息的管理。使用人事管理系统,便于公司领导掌握人员的动向和人员的综合素质,及时调整人才的分配,使用计算机对人事劳资信息进行管理,具有检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等优点,能够极大地提高人事资源管理的效率,也是企业科学化、正规化管理的重要条件。目标

设计一个企业人事信息管理系统,此系统要以人为中心,为企业提供全面的人事管理解决方案;

a)为企业建立规范化、实时化人事管理机制;

b)提高企业人事管理的效率、节约相关的管理成本,增强人事管理的安全性;

c)满足企业管理层,人事业务操作层和全体员工的不同层次和不同方面的需要;

d)对企业将来的整体信息化建设提供必要的支持。需求分析

需求分析是系统开发必要环节,也是重中之重。作为该过程的结果,需求规格说明书是对系统的功能和行为完整的描述。系统设计将来自于需求分析的抽象规格说明转变为面向真实世界的设计。一旦构建完成,该系统就会投入使用,同时会不可避免地产生更多的新需求。同时,需求过程与分析活动之间有相当程度的重叠,分析建模对于设定工作的范围和其他一些事来说是必要的,所以我们利用分析模型来描述需求过程,随着开发工作的继续,分析活动在工作中占的比例将变得越来越大,直到所有需求都已知。[1]

1.1 系统需求

企业的人事管理职能主要分为人事档案信息管理、人事变动管理、员工培训管理、奖惩管理等内容。

a)在人事系统开发时应考虑以下需求: b)满足人事管理职能的基本要求;

c)进行多层次数据汇总,为各层次管理者的决策分析提供数据; d)具有完整的系统接口,满足灵活的数据导入与导出; e)对操作人员的技能要求比较低,操作方便; f)能够实现方便的扩展,满足企业发展的需要; g)能够保障人事管理数据的安全、准确。

1.1 功能需求

基于系统需求分析,该系统需要实现以下基本功能:

a)用户管理:管理系统操作人员,设置操作人员口令和权限。在满足不同系统用户的操作需求的基础上,提高系统的安全性。

b)人事档案管理:完成企业对员工个人档案(包括员工的基本档案和在职信息)的管理及相关操作。操作员进行员工档案信息录入及更改,其中包括员工的基本信息、工作经历、家庭关系、奖惩记录和培训经历,要求对这些员工档案信息进行新增、修改、删除操作,同时可以进行查询和浏览操作。该模块是本系统的重点,用户可以通过该模块为单位建立一个比较完整的人事档案系统,同时可以对档案进行查看。

c)基础数据管理:维护人事管理相关的一些基础数据。主要包括以下功能:

(a)民族档案设置:维护职工中民族档案信息;

(b)职工类型设置:维护当前企业职工与企业的关系的类别信息;(c)文化程度设置:维护企业职工的文化程度类别信息;(d)政治面貌设置:维护企业职工的政治面貌类别信息;(e)部门类别设置:维护企业中设立的部门类别信息;(f)职务类别设置:维护企业中设立的职务类别信息;(h)职称类别设置:维护企业职工的职称类别信息;

d)人事变动管理:对于人事上的变动调整进行管理,对人员档案的信息进行更新(如:员工职务、员工职称、员工性质等的变动)。

e)工作日志管理:记录部门或系统用户的一些备忘信息,包括日常的一些事件记录,以及工作日记的管理维护。

f)数据库管理:对现有的数据库进行管理,包括数据备份和恢复,以方便用户对数据库的管理和维护工作,提高系统的数据安全性。1.3 可靠性要求

a)计算机稳定可靠,网络服务和数据库服务稳定可靠;

b)网络通畅、稳定;软件运行稳定;数据计算及数据传输无误;提供数据备份和数据恢复方案。1.4 性能需求 1)硬件环境

在最低配置的情况下,系统的性能往往不尽如人意,现在的硬件性能已经相当出色,且

价格也很便宜,因此通常给服务器端配置高性能硬件。推荐配置为: ·处理器:Intel 奔腾Ⅲ 或更高 ·内存:128MB ·硬盘空间:40GB ·显卡:Geforce系列显示适配器或更高。2)软件环境

·操作系统:windows 98/ME/2000/N ·数据库:Microsoft SQL server 2000 开发环境简介 2.1 Delphi简介

Delphi这个名字源于古希腊的城市名。它集中了第三代语言的优点。以Object Pascal为基础,扩充了面向对象的能力,并且完美地结合了可视化的开发手段。Delphi自1995年3月一推出就受到了人们的关注,并在当年一举夺得了多项大奖。

Delphi的出现打破了Visual系列可视化编程领域一统天下的局面。并且Delphi使用了本地编译器直接生成技术,使程序的执行性能远远高于其它产品生成的程序。它还是真正的面向对象的编程语言。PASCAL语言的严谨加上可视化的优势和强大的数据库功能使得它有充分的资本和微软的VB叫板。许多人当时都认为Pascal 是最有前途的程序设计语言,并预测Delphi将会成为可视化编程的主流环境。

Delphi在你编好程序后自动转换成。EXE文件它运行时速度比VB快,而且编译后不需要其他的支持库就能运行。它的数据库功能也挺强的,是开发中型数据库软件理想的编程工具。Delphi适用于应用软件、数据库系统、系统软件等类型的开发。而且它拥有和VB差不多一样的功能,而且一样能应用API函数,这在控制Windows很有用。

Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。

Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。

Delphi已经为您做好了一切基础工作——程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。在空白窗口的背后,应用程序的框架正在等待用户的输入。由于您并未告诉它接收到用户输入后作何反应,窗口除了响应所有Windows的基本操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。Delphi把Windows编程的回调、句柄处理等繁复过程都放在一个不可见的Romulam覆盖物下面,这样您可以不为它们所困扰,轻松从容地对可视部件进行编程。

面向对象的程序设计(Object-Oriented Programming,简记为OOP)是Delphi诞生的基础。OOP立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进Windows编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。

说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼

其中多媒体音频视频播放器是通过TMediaPlayer组件来实现的,支持的格式与系统已安装的解码器有关。

总 结

6.1 程序设计风格

在设计的时候采用了增量模型的思想:把软件作为一系列的构件来设计,编码,集成和测试。

用户管理,密码修改,用户登陆,万年历,这些模块都有高度的独立性,因此他们的可重用性比较高,基本上是一个单元完成一个功能,模块规模也比较小,模块的作用域在控制域之内,只使用了两个全局变量来存储用户名和用户权限。[1] 在人机界面设计方面,本系统做到了以下几点: a)保持一致性(界面,背景的致性);

b)提供有意义的反馈(用户验证和用户管理,提供了比较精确的反馈信息);

c)在执行有较大破坏性的动作之前要求用户确认(数据备份与还原); d)允许大多数取消操作(大多数单元有取消操作功能);

e)允许犯错误(由于权限的限制,系统能保护自己不受严重错误的破坏);

f)按功能对动作分类(在主窗口就是按动作类型组织菜单的); 6.2 有待加强项

a)帮助的制作 一个完整的应用程序必须具有完整的帮助系统;帮助系统可以在必要的时候给用户信息提示和一些系统相关服务。

b)声音制作在这里主要是对声音的加载,我们可以加载一些一般的声音;主要来源有:音频CD盘;波形音频文件;MP3文件等等。其中波形音频文件以WAV作为文件的后缀,我们可以播放现成的,也可以播放自己录制的文件。c)我们还可以使用各种组件和ActiveX控件等技术来完善系统。利用一些做好的activeX组件,会缩短开发周期。

由于在开发工程方面缺少经验,所以这个系统还存在着许多不足之处,在测试过程中总结如下:

a)数据表的设计还不是很合理;

b)数据异常处理要更加人性化,错误信息的反馈要更加精确; 6.3 心得

经过一个月的设计和开发,人事管理系统基本开发完毕,其基本功能符合用户需求,能够完成基础数据录入,数据查询等基本功能,以及相关报表的打印。在这次毕业设计中,我获益良多。首先我明白了需求分析对于一个系统的开发的重要性。其次我还学到了如何把一个软件作为一个工程来做,在真正的软件开发中,一个软件系统的开发不是一个人来做,而是很多人合作来完成的,另外还有软件的后期维护等等,这时就显现出了把软件作为一个工程来做的优越性,而这些都离不开数据流图和模块的分解。

Delphi是一个非常强大的开发工具,它具有运行速度快、易于学习和使用以及开发效率高的特点,使用起来真的是很顺手。学习好一门编程语言以后可以为今后的学习和工作带来很大的便利。

虽然本系统实现了基本的用户需求功能,但是还有待于完善和加强,总之通过这次设计和开发过程,我对软件开发有了进一步的了解。

参考文献

[1] 张海藩编著.软件工程导论[M].清华大学出版社出版,2003,1-173. [2] 宋一兵,赵景波,李春艳著.Delphi 7.0基础教程[M].机械工业出版社,2003,2-30.

[3] 刘瑶儒著.新概念SQL Server2000教程[M].北京科海集团公司出,2001,12-23.

[4] 韩强编著.SQL SERVER 2000 程序员手册[M].机械工业出版社出版,2000,4-35.

[5] 萨师煊著.数据库系统概论(第二版)[M].高等教育出版社,1991,8-40. [6] 施伯乐,丁宝康,汪卫著.数据库系统教程[M].高等教育出版社,2002,1-202.

[7] 肖健著.SQL Server2000实践与提高[M].中国电子出版社,2002,13-53. [8] 林金霖著.Delphi6 实务经典[M].中国铁道出版社,2002年5月,6-110. [9] 黄超,王志伟著.Delphi企业经营管理系统开发实例导航[M].人民邮电出版社,2003,20-90.

[10] 程文刚主编.Delphi数据库实用编程100例[M].中国铁道出版社,2004,8-63.

[11] 王晟,万科著.Delphi数据库开发经典案例解析[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].湖南轻工业高等专科学校学报,2002-04,9-10.

[16] 徐萌飞.在Delphi中使用ADO技术对数据库操作[J].中国学术期刊(光盘版)电子杂志社,2001,12-13.

[17] 陈建兵.Delphi中基于安全灵活的动态连接远程数据库SQL的实现[J].福建电脑,2005,12-13.

[18] 孙育红.关于地方法院管理信息系统分析设计与实施[D].中国学术期刊电子杂志社,2001,8-9. [19] 岳冰.南部引嫩工程信息管理系统开发[D].中国学术期刊电子杂志社,2003,20-21.

[20] 庞芳,王丽玫.南宁市自动气象站业务服务数据库系统[D].中国学术期刊电子杂志社,2004,21-23.

[21] 徐军.研究生院综合管理信息系统的研究与实现[D].中国学术期刊)电子杂志社,2004,32-33.

[22] 鲁媛媛.硕士生导师综合素质能力评价指标体系的研究[D].中国学术期刊电子杂志社,2005,18-19.

第三篇:基于智能移动终端的工厂监控系统设计与实现

基于智能移动终端的工厂监控系统设计与实现

张川 蔡其星

浙江中控技术股份有限公司,浙江杭州,310053

摘要:工业自动化监控系统在各种工业生产领域广泛应用,大大提高了工业生产效率和生产安全性,节省了生产成本。传统的监控系统多为基于专用设备和PC实现,便携性差,价格昂贵。近年来,电力、油气传输、化工等行业对移动数据监控的需求越来越强烈,移动工厂的理念也逐渐形成。针对以上问题,本文设计了能够运行在IOS智能移动终端上的监控系统,利用移动终端远程无线传输、携带方便等优势,实现现场数据远程传输和数据查询,降低产品价格,减少投资成本,提高竞争力。从而,使得移动工厂实施成为可能。

关键字:IOS、监控系统、移动终端、报警推送

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 引言

现有的工厂数据监控系统多基于PC运行,数据传输基于专用封闭式网络,便携式式差,成本高,难以实现异地数据查看。随着移动网络及智能移动终端硬件设备的日益发展,采用智能移动终端随时随地查看工厂生产实时数据的技术成为研究的热点和趋势。本文对基于移动智能终端的数据监控系统作了初步研究和探讨,设计了一款基于IOS移动终端平台的数据监控系统(SIMField)。实现了无需专用PC,只需通过智能移动终端即可查看工厂生产的实时数据。

本文阐述了移动终端数据监控系统在移动设备中(主要是IOS设备)流程图、报警、报表等功能的设计与实现,利用移动设备独特的图形处理技术进行研究与开发。本系统同时支持与已有运行于PC的监控系统进行数据互联,达到在手机中展示数据和报表的目标,从而满足企业中管理层用户的需求。移动监控系统方案

SIMField系统的主要功能是结合企业的生产监控系统(如SCADA系统,企业生产管理系统等)实现移动式监控,可以跟原有的PC生产监控系统无缝结合,共享数据、报警、流程图、报表等。

系统架构采用B/S系统的一般架构模式,采用Web服务器和浏览器客户端结合的体系结构。Web服务器主要功能是提供数据、文件服务、身份认证服务,通过OPC驱动获取异构系统的数据,移动客户端采用APP内部嵌入WEB页面的技术,从Web服务器获取页面数据。移动终端监控软件设计与实现 3.1 系统网络部署

SIMField系统的网络部署如图3-1所示。

图3-1 网络部署图

上图展现了企业生产监控系统典型的网络架构。其中PIMS[1]指某一实时监控系统,它对生产区上实行监控和生产管理;实时监控系统OPC服务器向第三方系统(如SCADA系统、SIMField服务器)提供实时数据;SIMField服务器对内作为组态转存服务,将PIMS监控系统组态信息(流程图、报表等)进行转存,转换为自身格式组态存档,对外为SIMField移动终端提供数据。移动终端使用Internet公网或内部无线网接入生产监控网络,访问SIMFIeld服务器获取组态信息和实时数据。

SIMField移动服务器在整套系统中的主要作用是数据中转,文件解析,将生产管理系统中的数据和报表、流程图解析为移动设备可以显示的格式。选用OPC作为数据传输协议的目的是保证移动服务器的兼容性。

3.2 数据流图

SIMField服务器接入三方监控系统的组态数据流及实时数据流如图3-2所示。

注[1] PIMS: 企业生产管理系统,在此处用于给移动监控软件提供数据。

图3-2 数据流图

SIMField服务器从三方监控系统获取流程图、报表等组态信息文件,并进行转化为自身特定格式组态信息并存储。通过OPC方式从三方监控系统获取实时监控数据。

3.3 SIMField主要功能模块

3.3.1 服务器管理模块

服务器管理模块实现服务器可视化的管理配置界面,具备数据库设置、报警设置、流程图管理、报表管理、设备管理等功能。界面如图3-3所示。

图3-3 服务器管理配置界面

移动监控服务器的主要功能是为移动设备接入数据,而服务器配置的目的就是为数据接入和管理做一个可视化的配置工具。主要包含的功能是:可以监控和启停数据服务,配置组态和运行环境,设置报警,管理流程图,管理报表,管理设备。

3.3.2 报警模块

由于移动监控一般用于企业管理层,只会关注特别重要的报警点。本系统的报警独立于第三方接入系统,需要专门针对移动设备进行报警配置。报警在服务器进行配置,每一条报警配置都对应一个位号,并且需要输入报警类型、报警临界值、报警等级、报警描述、联系人、联系人号码。报警配置存储到数据库,同时可以进行修改和删除。在服务器上有一个专门处理报警的线程,根据报警配置中的临界值和相应的规则来生成报警。每次新报警产生时放入实时报警队列并且存储到历史报警数据库。

当报警产生时,服务器采用IOS的推送技术,将报警主动推送到IOS移动终端。移动终端在同一个界面中查看实时报警和历史报警。客户端在收到报警推送信息后,登录SIMField客户端软件,对报警信息进行阅读、确认等操作,同时可根据该报警关联的联系方式呼叫报警联系人。报警工作流程如图3-4所示。

图3-4 报警工作流程

3.3.3 监控流程图

SIMField系统的监控动态流程图采用XML标准格式来描述。流程图的图形绘制和动画效果使用第三方库“Raphael.js”,根据不同的浏览器类型,自动采用SVG或者VML来绘制矢量图形,通过JavaScript脚本改变图形对象属性实现图形的动画。流程图模块运行时,周期性从WEB服务器请求获取数据,将获取到的新值转换成流程图对象的动态属性值,然后把属性设置到图形对象,实现图形对象的动态效果。动态流程图运行截图如图3-5所示。

图3-5 流程图效果

3.3.4 报表模块

报表模块从第三方系统中获取报表组态信息,并进行转换,存储,供SIMField移动终端客户端调用,浏览。

运行时,报表模块从SIMField获取数据,根据组态配置动态更新到报表页面中,实现报表数据浏览。

本系统可以支持的报表文件类型有 Word 文档,Excel文档,PowerPoint文档,PDF文档,CSV文档,并且可以扩展支持HTML文档和TXT文档。

3.3.5 用户认证模块

本系统的用户认证方式采用密码和移动终端设备编号结合的方式,服务器管理员将移动终端设备的唯一编码审核后在SIMField服务器上进行注册,并且给该终端设备分配用户名和密码,该终端设备即可通过该用户名、密码登录SIMField监控系统。总结

本文设计的智能终端移动监控系统(SIMField)能够运行于IOS智能移动终端,利用移动终端WIFI或者3G网络,实现现场数据远程传输和数据查询。本系统可以紧密结合传统的工厂监控系统,可以随时随地获得现场运行状况,关键数据,报警信息等。它利用几乎每个人都配备的手机为载体,不但可以让企业管理人员快速及时地获取信息,提高效率,还可以减少网络和报警设备的投资,降低系统的成本,提高竞争力。

参考文献

[1] David Mark,Jack Nutting,Jeff LaMarche.Beginning iOS 5 Development Exploring the iOS SDK.Apress [2] Raphaël Reference 作者简介:

张川,1981年出生,男,浙江浦江人,2003年毕业于浙江大学计算机系,学士学位,工程师,从事工业控制软件开发工作。通讯地址:浙江杭州市滨江区六和路309号A3研发大厅0-*** 电子邮箱: zhangchuan@supcon.com

310053 联系电话: 邮政编码:

第四篇:移动办公OA系统如何实现管理

移动办公OA系统如何实现管理

移动互联网使用方便,不受地区等的限制,8Manage移动互联网办公自动化也构建起了不同组织之间紧密的桥梁纽带,透过系统移动端的综合应用,实现了消息的编辑、审批和发布和反馈的全过程管理,方便了企业更好的展开工作和做好工作总结,提升整体工作效率。

我需留意模块

我需留意是用户自定义的工作台,可以有详细的工作任务指派、日历及提醒等,对实时状况任务的查询和问题的管理。

个性导航模块

这个模块是管理员根据用户的角色,为用户设置的个性化导航视图,用户根据系统功能设置符合实际需要的功能导航图,点击导航即可进入相关工作的系统页面,方便简洁开展工作。

机构管理模块

这个模块是8Manage提供的对企业进行的树状组织架构图,用户一目了然看到架构的情况和负责人,方便查阅。另外,还可以在系统中建立完整的服务对象或者管辖对象数据库,及时更新企业信息,保证了信息的时效性,机构通讯录也可以随时提供搜索查询。

公告管理模块

公告管理是下发的重要政策等信息,通过8Manage平台提供了信息发布和文件传达。如果是要特意传达给指定人员,那么通过系统会将信息直接反馈到指定人员的工作台上,并提醒相关人员进行查看,可支持回复或者评论等功能。

表单及流程管理

移动互联网办公自动化的公文流转,可以帮助用户查询、评论、审批等各种沟通与请求的表格,并对表单进行查询和统计,对于金额、数量等字段,还能实现求和、平均、最大、最小等的统计,方便查阅。

会议管理模块

会议管理模块包括了流程管理、任务管理,考勤管理,文档管理,预算管理,沟通管理和物资管理等。8Manage系统支持全面会议管理的流程,完成会议的各个环节功能。

即时通讯模块

8Manage移动互联网办公自动化也是个动态化的实时通讯工具,一对一或者一对多的讨论方式等,可以针对性实现发送文字和图片消息,进行服务支持,疑问解答等工作。并且,用户可以实现权限操作,阻挡不必要的骚扰信息,可管可控,维护机构沟通的秩序和信息安全。

文档管理

8Manage移动互联网办公自动化提供完善的文档管理体系,可以实现检入、检出、版本控制机制,支持用户登录系统查阅文档内容以达到资料共享的目的。

留言通告模块

留言通告是答疑交流的沟通途径,使得沟通更有针对性并解决实际工作中的问题。移动终端

8Manage移动互联网办公自动化移动端可以实现消息审批、查阅、回复等,支持查阅即时通讯录,实现了不受时间和空间束缚的工作模式。

第五篇:办公自动化系统的设计与实现

办公自动化系统的设计与实现

1、摘要

多年以来人们都使用传统的人工方式管理企业内部信息。这种管理方式不仅让企业信息管理者感到非常的厌倦,也存在着不可避免的缺点,如效率太低、保密性太差。时间一长,伴随着企业规模的壮大,企业所需要管理的信息就会越来越多,就会产生大量的文件和数据,这样就会对查阅、更新、保存等方面都产生不少的困难。随着科学技术的不断提高,计算机科学日渐成熟, 其强大的功能已逐渐被人们认识并掌握。如果使用计算机对企业信息进行管理,具有传统的手工管理所没法比拟的优点。例如:检索迅速、查找方便、可靠性高、保密性好、更新方便等。这些优点能够极大地提高企业信息管理的效率,大大降低企业在信息管理上的投入,使企业获得更大的利润空间。因此,开发一个能够管理企业各种信息的办公自动化管理系统是一件十分必要的事情。

关键词:文件,数据,科学技术,信息管理,自动化管理

第一章,导论

第二章,主要研究内容

要求实现一个比较完整的网上办公系统,该系统可以采B/S结构实现,能够通过网络进行办公及信息交互功能。基本功能包括:电子邮件、公告通知、日程安排、通讯簿、工作计划、讨论区、电话区号查询、邮政编码查询等。

第三章,拟解决的关键性问题。

(1)界面简单可操作性强

(2)安全性

(3)简便有效的维护手段

(4)可扩充性

(5)功能性强大

(6)强大的纠错能力

第四章,立论根据及研究创新之处

第五章,参考文献目录

下载基于STK方式的移动银行系统的设计与实现word格式文档
下载基于STK方式的移动银行系统的设计与实现.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    企业人事管理系统设计与实现

    企业人事管理系统设计与实现     2011-3-2 您是第 1013 位阅读者 页面文字: [小] [中] [大] 一、概述 企业人事管理是企业管理的一项重要内容,在整个企业的管理中具有重要地......

    公交查询系统设计与实现论文

    公交查询系统设计与实现论文 1引言 随着城市经济的发展、规模的扩大以及人口的增长,城市交通问题日益突出。降低出行时间将使所有的公交利用者产生效益,快速的交通、更好的信......

    网络教学系统设计与实现

    智能化网络教学系统设计与实现 石河子大学信息科学与技术学院 高攀 郭理* 郑鸿英 摘 要:基于Web的智能教学系统综合传统的ITS系统优势,同时又结合Web的特点,系统具有智能性,能够......

    人事管理系统的设计与实现

    龙源期刊网 http://www.xiexiebang.com 人事管理系统的设计与实现 作者:张仕乔 来源:《科技创新导报》2011年第14期 摘 要:伴随着计算机技术的应用普及,利用计算机推动人事管理......

    校园导游系统设计与实现

    校园导游系统设计与实现 目录 1.设计要求 2.1需求分析 2.2概要设计 2.3各个模块名称和功能 2.4 系统导游主界面 2.4.1前台系统 2.4.2后台系统 2.4.3退出系统 3实验总结 参......

    SSH构建的银行管理系统设计与实现论文(范文模版)

    随着电子信息技术的飞速进步与高速发展,人们已经开始逐渐接受与应用电子信息技术,同时使用电子信息技术也成为了金融行业的一种发展趋势。目前基于SSH构建的银行管理系统已......

    基于微信公众平台的高校移动图书馆系统的设计与实现

    基于微信公众平台的高校移动图书馆系统的设计与实现 摘 要:微信公从平台的兴起为图书馆提供了更广阔的发展空间,使移动图书馆服务得到长足发展和应用。本文基于微信公众平台的......

    毕业论文--校园网络安全系统设计与实现

    xx大学 本科毕业设计(论文) (题 目:校园网络安全问题及对策 学生姓名:xx 系 别:计算机系 专 业:计算机科学与技术 2011年2月 摘要 网络安全的本质是网络信息的安全性,包括信息的......