关键词 即时通信系统;Intranet;P2P技术; ADO技术
1 引言
为了实现协会之间的业务沟通和联系渠道,畅通协会对会员的教育、管理、服务的渠道,更有效的提高协会的工作效率,根据各级协会工作的实际情况和现代办公的特点及要求,开发了协会信息管理系统。将以Internet网络及有线、无线网络为基础的实时通信方式加入到协会信息管理系统,可以改变传统的交流方式。
协会即时通信不同于个人即时通信,协会IM主要面向协会内部成员之间协同即时通信,不会让与工作无关的人进入办公室工作,是一种低成本的、集成多种沟通方式(文字,语音,视频,文件传输,文件共享)的企业内部通讯工具。这样,开发的协会管理系统会更加方便、沟通便捷。
2 协会信息管理系统架构
2.1 协会信息管理系统结构选择
Intranet模型是C/S模型上发展而来的,即浏览器/Web服务器/数据库服务器(B/W/D)三层模型。B/W/D三层模型的各层次都有较强的独立性,在系统软、硬件环境发生变化时,比二层C/S模型有更强的适应能力,即具有更强的可伸缩性。
协会信息管理系统采用B/W/D模型,把友好图形界面交客户端处理,而服务器只处理数据管理。把C/S模型中的服务器(S)进一步分解成一个Web服务器(W)和一个或多个数据库服务器(D),而在客户机(C)上则通过浏览器(B)来存放和显示服务器端的数据。系统低端用户采用ACCESS数据库,可大大降低成本。在省级和国家级采用ORACLE底层数据库,保证了数据量大时系统的安全和可靠。
2.2 应用系统整体结构
协会管理信息系统拓扑结构如图1,企业内网(Intranet)用户使用企业的网络设施进行即时通信,利用认证方式进行控制;Intranet同时用接入设备与Internet相通,在与Internet的接入时,Intranet设置严格的“防火墙”机制来制约企业外部数据访问和传入。采用Internet协议标准和全球信息网技术与设备来构筑Web信息服务应用及连接数据库等其它服务应用的内部网络,企业内网在表现形式上和Internet一致, Web服务器与浏览器的组合。
3 即时通信技术及其工作原理
3.1 即时通信工作原理
即时通信在各个用户之间采用的是P2P技术进行通信。每一个对等点具有相同的地位,既可以请求服务也可以提供服务,同时扮演着C/S模式中的服务器和客户端两个角色,还可以具有路由器和高速缓冲存储器的功能,从而弱化了服务器的功能,甚至取消了服务器。采用P2P技术有许多优点见文献[1]。
3.2 采用的P2P关键技术
P2P 通信时需要解决的最基本的问题即是如何连接其它的终端获得信息、资源和服务。该问题可分为:①P2P 网络的拓扑结构和Peer节点的功能角色划分;②进行资源查找时如何进行Peer定位;③P2P 网络中Peer节点的动态变化的处理;④如何穿越NAT(Network Address Translation)和防火墙进行Peer 节点之间的直接通信。
采用有中间服务器的网络拓扑结构,通过集中认证,建立索引机制,各节点之间可以直接建立连接。中间服务器仅用于辅助对等点之间建立连接,各节点之间直接进行通信,通过分布式文件系统,建立完全开放的可共享文件目录,运用相对的自由来兼顾安全和可管理性。根据拓扑结构,相应的Peer定位方式采用服务器模型间接定位方式,该模型是基于混杂型的P2P拓扑结构。充当服务器的peer节点提供资源查询,采用动态DNS查找用户的IP地址。
在服务器模型的P2P网络中,由于Peer节点的状态信息和管理的资源信息直接记录在服务器中,Peer节点的登录和退出仅需和服务器进行交互,由服务器进行协调处理。在本系统中,Peer节点往往是与用户绑定的。服务器接收到用户的登录消息或退出消息后,通知订阅该用户在线状态的所有在线用户。

图 1 协会管理信息系统拓扑结构图

图 2 穿越防火墙的通信过程图
在实际的网络通信中,Peer节点往往位于防火墙之后。这样,Peer与Peer之间直接通信需要解决的一个关键问题是穿越防火墙和NAT。由于防火墙会对IP进行过滤,限制了墙内外的连接,而NAT技术虽然可以使得内部网络地址映射到外部网络地址,但要求内部网络首先发起对外连接,否则外部网络机器无法达到内部网络。
处于防火墙之后的双方通信,需要有防火墙外的转发节点进行消息转发。Client A通过防火墙和两个服务器建立链接的过程如图2。
4 软件即时通信实现
4.1 即时通信的解决方案
协会即时通信软件界面如图3,按功能分为以下几部分:① 收发即时、离线消息,与其它联系人进行工作交流;②收发文件资料,与其它状态为在线的联系人进行文件资料收发;③添加、删除联系人,添加您想与之交流的联系人或者删除不想交流的联系人;④查看联系人资料,查看指定联系人的详细资料(基本信息、联系方式信息等);⑤召开网络会议,在网络上快速召开会议;⑥收发系统广播,具有域管理员身份的帐号可以发送广播信息给全部用户。所有用户均可以接收来自于系统或域管理员发送的广播信息;⑦发送电子邮件,发送电子邮件给指定的联系人;⑧管理本地联系人组,建立个性化的组来分类管理本地联系人;⑨管理个人资料,维护互联网上的个人信息(基本信息、联系方式、安全信息等)。




