论文部分内容阅读
摘要:网络虚拟社区是各种动态网站技术的综合应用,集多种休闲娱乐功能于一身,能够提供各种交流和服务手段。ASP、ASP.NET、JSP、PHP等是虚拟社区设计常用的技术,它们各有优缺点。新兴的P2P技术具有网络可伸缩性好、健壮性强、资源的利用率较高、节省投资等优点。本文介绍如何利用基于JXTA平台的P2P技术去构建一个虚拟网络社区,虚拟校园的过程。
关键词:P2P;JXTA;虚拟校园
中图分类号:TP393.18文献标识码:A文章编号:1009-3044(2007)04-11179-02
1 引言
虚拟社区的流行已经影响到校园网,许多功能和模式渐渐地被应用到校园网站的建设中,比如公告栏、讨论区、社区通信、社区成员查询、在线聊天、游戏等功能。基于虚拟社区的虚拟校园设计已经在许多学校尤其是高等院校运用开来。虚拟社区设计采用的常见技术有ASP、ASP.NET、JSP、PHP等,这些技术都各有优缺点,此处不做讨论。
2 P2P与JXTA简介
JXTA是SUN 公司提出的一个P2P的网络底层支撑平台,目标是允许用户在其上开发各种P2P 应用。
P2P的英文为peer to peer,简称为 P2P,中文称为对等网络,它是基于分布式计算技术之上的。P2P的目的就是将网络中不同的计算机以对等身份进行连接,以充分利用互联网中闲置资源的一种技术。
所有接入P2P网络的设备都作为对等点组成了一个对等网,各对等点之间地位平等。而P2P这种可任意通讯而不需通过服务器中转的模式,和现实校园社区中的学生与学生、学生与教师、教师与教师之间平等的、并发的、多边的交流完全一致与吻合。
因此,如何将上述两点结合起来,构建一个基于利用JXTA平台采用P2P技术来开发一个虚拟校园社区系统具有重要的现实意义。
P2P 是一种完全分散式的体系结构,系统中的任何一个实体都处于同等的地位,它既可以请求得到服务,同时又可以提供服务,功能与职责对等,我们称之为对等体(peer)。对等体构成全连通图的各个顶点,彼此之间的交互直接而对称,结果可以直接返回给请求者。在P2P 系统中,对等体是动态和即席的,可随时上线或离开,它们的行为也不可预测。在P2P 模型中,每个对等体都是主动参与者,都贡献一定的资源(如存储空间、CPU 执行周期等),各个实体因互为服务而共存,不依赖特定的集中控制。
JXTA用支持P2P应用的基本功能来建立一个P2P系统,其架构由三层组成。第一层是JXTA核心层,它包含了服务所需要的核心功能;第二层是服务层,它提供了访问JXTA协议的接口;第三层是应用层,它使用第二层提供的服务来访问JXTA网络和JXTA提供的功能。这样的设计和一个标准的操作系统比较相似,标准的操作系统包括核心操作系统、服务和应用程序。JXTA专为特定的、分布式的、对等的网络计算而设计了一套协议体系,JXTA协议共包含六种协议,使用这些协议,Peer可以互相合作来建立自我组织、自我管理的对等组,而不必关心它们在网络中所处的位置(在网络边缘或者防火墙的后面),并且也不需要集中的管理机构。
3 虚拟校园社区的构建
3.1 需求分析
要构建一个基于P2P的虚拟校园社区。用户加入该社区首先要进行登录,登录成功后即成为基本活动组中的一员。
作为用户基本活动组的一员,用户可使用即时短讯形式面向全体或特定成员发布一些简短的、临时性的通知、公告之类的东西;可以对基本活动组中的成员进行本地或远程查找;可以查找基本活动组中已存在的活动组,也可创建、加入各子活动组。
专题讨论组,是基本活动组的一个子活动组。用户加入后,可以就某一专题申请发言,展开论述;也可接收别人的发言,学习领会;还可对有关发言记录进行整理。当由于网络故障等意外情况,造成发言权(令牌)丢失或存在不只一个发言权时,系统要能自动恢复。
作业管理组,是基本活动组的一个子活动组。因为作业管理组要完成作业的收发管理等较重要的活动,用户加入时,要进行成员资格认证,以保证活动组的安全。只有通过认证才容许加入。加入活动组后,用户可以进行作业的发布和搜索。根据作业的安全性要求,可以对作业进行加密、签名等处理。对活动组中各成员的公开密钥要保证可靠传递,防止恶意欺骗。
3.2 新通信机制的分析
3.2.1 成员间的相互信任问题
在C/S模式下,成员间的信任关系是一个简单问题,人们通常只需信任集中式的中央服务器的授权。而基于P2P的分布式环境、成员的随意加入/退出网络,使如何构筑一个合适的信任模型成为一个难点。
为此可设计一简单的信任模型。在该模型中,如果一个成员的密钥被其他用户签名过,而其他用户身份的合法性得到了认证,则认为这个密钥是可信任的,由该密钥加密过的信息是安全的。简而言之,被我所信任的密钥签名过的密钥是我所信任的。
如果不采用信任管理,则任何人可以冒充别人先发布一个公钥,并用该公钥/私钥对对数据进行恶意处理,存在安全隐患。采用该信任模型后,如果活动组中有人想单独行骗,则由于无人为其提供信任担保,无法得逞。但当两人以上合伙行骗时,该模型无法保证安全。
3.2.2 专题讨论中的发言权问题
基于P2P和JXTA技术的校园虚拟社区中的专题讨论不同于通常的聊天室。在公共聊天室中,大家可随便发言,没有任何发言限制。当聊天室发言人较多时,大家根本无法有效交流、讨论。在校园虚拟社区的专题讨论中引入发言权(令牌)的概念。发言者有发言权;每个人要发言要先申请发言权,加入发言队列;发言者发完言后,向优先权最高的申请者交出发言权;发言者有发言的时间限制,到期后自动失去发言权。这样较好地保证了大家能够就某一专题进行深入论述、认真思考。
3.2.3 虚拟社区中子活动组的划分
基于P2P和JXTA技术的校园虚拟社区为了有着较好的扩展能力和良好的升级能力,为此,在虚拟社区中引入子活动组的概念。虚拟社区整体作为一个基本活动组。成员作为基本活动组的一员,还可根据自己的爱好、兴趣加入相关的子活动组。子活动组还可有自己的子活动组。这样方便了成员的交流。而且随着社区中成员的增加,对成员之间的相互交流也不会带来负面影响。
3.2.4 网络结构
基于P2P和JXTA技术的校园虚拟社区的网络结构采用纯P2P模型,位于系统中的每一个对等点(Peer)与其它对等点都有着相同的能力,各点之间不存在主从关系。每一个对等点都是一个供用户使用的系统实例。每一个PC机可以运行多个对等点,只要各个对等点的端口设置不同即可。每一个对等点可自行设置自身是否为中继点或集合点。
4 虚拟校园社区的体系结构
基于P2P和JXTA技术的校园虚拟社区的设计可将整个系统分为三大快,即GUI部分、P2P部分和消息管理部分。
GUI部分主要完成系统与用户的人机交互。系统提供的所有功能都通过GUI体现,用户的所有操作都通过GUI传递给系统。
P2P部分是系统的主要部分,它实现了系统的具体功能。整个校园虚拟社区构成一个对等组,叫基本管理对等组。任何加入虚拟社区的用户都是且必须是该对等组的成员,作为一个对等点。专题讨论、作业管理等功能由该对等组创建子对等组(专题讨论对等组、作业管理对等组等)来实现。
消息管理部分实现了各种消息格式的定义和存储。它保存了P2P部分的处理结果。
上述体系结构的划分较好地体现了分层设计的设计思想,这有效降低了系统的复杂性,降低了设计难度,也有利于系统的扩充和升级。
5 总结
当前,基于P2P的成熟应用主要局限于即时通讯、文件共享等单功能、单系统的应用。在科教兴国的今天,将P2P和JXTA等新技术应用于教育教学领域,对加速教育教学领域的网络化、信息化进程有重大意义。使用虚拟校园社区,将有利于打破现实校园社区中时间、空间的束缚,使学生-学生、教师-学生以及教师-教师人群间可以 “多边、并行、直接”地探讨问题,进行学习交流。本文构建的虚拟社区在深化P2P的应用方面作了一种有益尝试。
参考文献:
[1]奥克斯(OAKS,S.),切沃萨特(TRAVERSAT,B.),宫力(GONG,L.),技桥译.JXTA技术手册[M].北京:清华大学出版社,2004,4.
[2]许斌.JXTA---Java P2P网络编程技术[M].北京:清华大学出版社,2003.6.
[3][美]DANIEL BROOKSHIER等,常晓波等译,Java P2P程序设计[M].北京:中国电力出版社,2003.1.
[4] ROBERT FLENNER,MICHAEL ABBOTT等,高岭等译,Java P2P技术内幕[M].北京:人民邮电出版社,2003.10.
[5]P2P技术/P2P编程[EB/OL].http://www.ppcn.net.
[6]乔士强.基于P2P的虚拟校园社区的研究与实现[D].苏州大学,2005.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:P2P;JXTA;虚拟校园
中图分类号:TP393.18文献标识码:A文章编号:1009-3044(2007)04-11179-02
1 引言
虚拟社区的流行已经影响到校园网,许多功能和模式渐渐地被应用到校园网站的建设中,比如公告栏、讨论区、社区通信、社区成员查询、在线聊天、游戏等功能。基于虚拟社区的虚拟校园设计已经在许多学校尤其是高等院校运用开来。虚拟社区设计采用的常见技术有ASP、ASP.NET、JSP、PHP等,这些技术都各有优缺点,此处不做讨论。
2 P2P与JXTA简介
JXTA是SUN 公司提出的一个P2P的网络底层支撑平台,目标是允许用户在其上开发各种P2P 应用。
P2P的英文为peer to peer,简称为 P2P,中文称为对等网络,它是基于分布式计算技术之上的。P2P的目的就是将网络中不同的计算机以对等身份进行连接,以充分利用互联网中闲置资源的一种技术。
所有接入P2P网络的设备都作为对等点组成了一个对等网,各对等点之间地位平等。而P2P这种可任意通讯而不需通过服务器中转的模式,和现实校园社区中的学生与学生、学生与教师、教师与教师之间平等的、并发的、多边的交流完全一致与吻合。
因此,如何将上述两点结合起来,构建一个基于利用JXTA平台采用P2P技术来开发一个虚拟校园社区系统具有重要的现实意义。
P2P 是一种完全分散式的体系结构,系统中的任何一个实体都处于同等的地位,它既可以请求得到服务,同时又可以提供服务,功能与职责对等,我们称之为对等体(peer)。对等体构成全连通图的各个顶点,彼此之间的交互直接而对称,结果可以直接返回给请求者。在P2P 系统中,对等体是动态和即席的,可随时上线或离开,它们的行为也不可预测。在P2P 模型中,每个对等体都是主动参与者,都贡献一定的资源(如存储空间、CPU 执行周期等),各个实体因互为服务而共存,不依赖特定的集中控制。
JXTA用支持P2P应用的基本功能来建立一个P2P系统,其架构由三层组成。第一层是JXTA核心层,它包含了服务所需要的核心功能;第二层是服务层,它提供了访问JXTA协议的接口;第三层是应用层,它使用第二层提供的服务来访问JXTA网络和JXTA提供的功能。这样的设计和一个标准的操作系统比较相似,标准的操作系统包括核心操作系统、服务和应用程序。JXTA专为特定的、分布式的、对等的网络计算而设计了一套协议体系,JXTA协议共包含六种协议,使用这些协议,Peer可以互相合作来建立自我组织、自我管理的对等组,而不必关心它们在网络中所处的位置(在网络边缘或者防火墙的后面),并且也不需要集中的管理机构。
3 虚拟校园社区的构建
3.1 需求分析
要构建一个基于P2P的虚拟校园社区。用户加入该社区首先要进行登录,登录成功后即成为基本活动组中的一员。
作为用户基本活动组的一员,用户可使用即时短讯形式面向全体或特定成员发布一些简短的、临时性的通知、公告之类的东西;可以对基本活动组中的成员进行本地或远程查找;可以查找基本活动组中已存在的活动组,也可创建、加入各子活动组。
专题讨论组,是基本活动组的一个子活动组。用户加入后,可以就某一专题申请发言,展开论述;也可接收别人的发言,学习领会;还可对有关发言记录进行整理。当由于网络故障等意外情况,造成发言权(令牌)丢失或存在不只一个发言权时,系统要能自动恢复。
作业管理组,是基本活动组的一个子活动组。因为作业管理组要完成作业的收发管理等较重要的活动,用户加入时,要进行成员资格认证,以保证活动组的安全。只有通过认证才容许加入。加入活动组后,用户可以进行作业的发布和搜索。根据作业的安全性要求,可以对作业进行加密、签名等处理。对活动组中各成员的公开密钥要保证可靠传递,防止恶意欺骗。
3.2 新通信机制的分析
3.2.1 成员间的相互信任问题
在C/S模式下,成员间的信任关系是一个简单问题,人们通常只需信任集中式的中央服务器的授权。而基于P2P的分布式环境、成员的随意加入/退出网络,使如何构筑一个合适的信任模型成为一个难点。
为此可设计一简单的信任模型。在该模型中,如果一个成员的密钥被其他用户签名过,而其他用户身份的合法性得到了认证,则认为这个密钥是可信任的,由该密钥加密过的信息是安全的。简而言之,被我所信任的密钥签名过的密钥是我所信任的。
如果不采用信任管理,则任何人可以冒充别人先发布一个公钥,并用该公钥/私钥对对数据进行恶意处理,存在安全隐患。采用该信任模型后,如果活动组中有人想单独行骗,则由于无人为其提供信任担保,无法得逞。但当两人以上合伙行骗时,该模型无法保证安全。
3.2.2 专题讨论中的发言权问题
基于P2P和JXTA技术的校园虚拟社区中的专题讨论不同于通常的聊天室。在公共聊天室中,大家可随便发言,没有任何发言限制。当聊天室发言人较多时,大家根本无法有效交流、讨论。在校园虚拟社区的专题讨论中引入发言权(令牌)的概念。发言者有发言权;每个人要发言要先申请发言权,加入发言队列;发言者发完言后,向优先权最高的申请者交出发言权;发言者有发言的时间限制,到期后自动失去发言权。这样较好地保证了大家能够就某一专题进行深入论述、认真思考。
3.2.3 虚拟社区中子活动组的划分
基于P2P和JXTA技术的校园虚拟社区为了有着较好的扩展能力和良好的升级能力,为此,在虚拟社区中引入子活动组的概念。虚拟社区整体作为一个基本活动组。成员作为基本活动组的一员,还可根据自己的爱好、兴趣加入相关的子活动组。子活动组还可有自己的子活动组。这样方便了成员的交流。而且随着社区中成员的增加,对成员之间的相互交流也不会带来负面影响。
3.2.4 网络结构
基于P2P和JXTA技术的校园虚拟社区的网络结构采用纯P2P模型,位于系统中的每一个对等点(Peer)与其它对等点都有着相同的能力,各点之间不存在主从关系。每一个对等点都是一个供用户使用的系统实例。每一个PC机可以运行多个对等点,只要各个对等点的端口设置不同即可。每一个对等点可自行设置自身是否为中继点或集合点。
4 虚拟校园社区的体系结构
基于P2P和JXTA技术的校园虚拟社区的设计可将整个系统分为三大快,即GUI部分、P2P部分和消息管理部分。
GUI部分主要完成系统与用户的人机交互。系统提供的所有功能都通过GUI体现,用户的所有操作都通过GUI传递给系统。
P2P部分是系统的主要部分,它实现了系统的具体功能。整个校园虚拟社区构成一个对等组,叫基本管理对等组。任何加入虚拟社区的用户都是且必须是该对等组的成员,作为一个对等点。专题讨论、作业管理等功能由该对等组创建子对等组(专题讨论对等组、作业管理对等组等)来实现。
消息管理部分实现了各种消息格式的定义和存储。它保存了P2P部分的处理结果。
上述体系结构的划分较好地体现了分层设计的设计思想,这有效降低了系统的复杂性,降低了设计难度,也有利于系统的扩充和升级。
5 总结
当前,基于P2P的成熟应用主要局限于即时通讯、文件共享等单功能、单系统的应用。在科教兴国的今天,将P2P和JXTA等新技术应用于教育教学领域,对加速教育教学领域的网络化、信息化进程有重大意义。使用虚拟校园社区,将有利于打破现实校园社区中时间、空间的束缚,使学生-学生、教师-学生以及教师-教师人群间可以 “多边、并行、直接”地探讨问题,进行学习交流。本文构建的虚拟社区在深化P2P的应用方面作了一种有益尝试。
参考文献:
[1]奥克斯(OAKS,S.),切沃萨特(TRAVERSAT,B.),宫力(GONG,L.),技桥译.JXTA技术手册[M].北京:清华大学出版社,2004,4.
[2]许斌.JXTA---Java P2P网络编程技术[M].北京:清华大学出版社,2003.6.
[3][美]DANIEL BROOKSHIER等,常晓波等译,Java P2P程序设计[M].北京:中国电力出版社,2003.1.
[4] ROBERT FLENNER,MICHAEL ABBOTT等,高岭等译,Java P2P技术内幕[M].北京:人民邮电出版社,2003.10.
[5]P2P技术/P2P编程[EB/OL].http://www.ppcn.net.
[6]乔士强.基于P2P的虚拟校园社区的研究与实现[D].苏州大学,2005.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。