孙 毅
摘 要:本文提出了基于C/S和P2P综合模式的分布式资源共享的概念,构建共享群组和群组联盟,使群组内和群组之间的节点实现多层次、多通道的资源共享;分析了共享群组的系统模型,并研究了相关技术。该技术可应用在教学资源、图书资源、企业资源等的共享服务上。
关键词:C/S模式 P2P模式 分布式资源 资源共享
中图分类号:TP391 文献标识码:A 文章编号:1673-8454(2009)03-0044-03
一、引言
目前,资源的共享主要有两种模式,一种是基于C/S(客户机/服务器)模式的共享,一种是基于P2P(点对点)模式的共享。[1] C/S模式是一对多的模式,服务器是资源汇集的中心,客户机通过“请求-响应”模式从服务器得到所需的资源,它的优点是资源储存和管理比较规范、安全性好,其缺点是投资和维护成本较高、资源难以实现动态更新且负荷过大时会造成网络的阻塞。P2P模式是指不通过中枢服务器,而是直接在客户机之间实现资源交换的一种新技术,其优点是每个节点都向网络贡献自己的资源,资源存储和传输是以分散、异步的方式进行,各种负荷得以合理的均衡,资源的版本具有实时性,其缺点是缺乏有效的资源管理和搜索机制。
本文针对资源的分布式特点,提出基于C/S和P2P综合模式的资源共享概念,研究了共享群组和群组联盟系统模型、资源搜索技术等,提供了实现多层次、多通道资源共享的有效途径。
二、基于C/S和P2P综合模式的资源共享原理
资源共享是否有效取决于三个指标:资源丰富性;资源搜索的效率和获得率;资源传输效率和可靠性。本文提出基于C/S和P2P综合模式的资源共享模型来实现以上要求。
1.共享群组模型
指定网络中的一台服务器作为一个共享群组的中心,客户机用户通过注册登录的方式成为该共享群组的用户,它们围绕服务器组成了一个共享群组,数目越多,则资源的丰富性越能得到保证。群组构建的前提条件是客户机能对服务器进行访问,与它们之间的物理位置无关。用户可在服务器数据库上发布自己的资源,其中资源信息(包括资源名称、大小、所属用户和保存位置等)是必需的,而资源文件本身可选择是否上传到服务器。用户登录服务器,可以获得该群组的分类资源信息,也可按关键字搜索,找到满足自己需要的资源信息,然后根据该资源的保存位置,选择以下两种模式之一进行下载:(1)如果资源未上传到服务器,则连接该资源所在的客户机进行P2P下载;(2)如果资源已经上传到服务器,则可根据当前服务器下载的负荷大小以及资源所在的客户机是否在线,自动在C/S和P2P模式中进行选择,一般优先选择P2P模式。在这种综合模式中,P2P模式分担了资源下载的大部分负荷,从而大大减轻了服务器的负担,保证了资源下载的高效率,这个特点称为多通道。如图1所示为共享群组的原理和共享流程。
2.群组联盟模型
一个群组内所包含的客户机数量和资源总是有限的。本文提出构建群组联盟以实现更大范围的资源共享,其模型如图2所示。为网络中存在的多个群组设定一个中枢服务器,各群组的服务器将自己的数据库登记信息等发布到中枢服务器上,同时将中枢服务器的登记信息保存到自己的数据库。群组内的客户机通过访问中枢服务器获得了其他群组服务器的登记信息,进而可以访问其他群组获得其中的资源。中枢服务器与在其上注册自身信息的共享群组构成了一个群组联盟,通过它用户可以获得更加广泛的资源。中枢服务器上不保存资源,负荷很小,因此群组联盟几乎可以无限扩充而不会导致负荷过大;也可考虑将各群组的资源信息定期发布到中心服务器,而客户机可通过访问中心服务器获得其它群组的资源信息。根据实际需要可以设置多个中枢服务器,在更大范围联盟,一个群组也可注册到多个中枢服务器。中枢服务器也可是某个共享群组的服务器,以节约硬件的成本。
3.资源管理
资源具有许多不同于普通文件的特点。资源管理的功能除了普通文件的管理功能(如移动、更名等)外,还应包括以下功能:
(1)版本管理和属性管理功能。随着时间的推移,资源的开发者可能会对资源进行升级或更改,则资源版本号也应更新。相对于普通文件,资源具有更多的属性,如资源名称、开发者等相关资源等,它们也应得到有效管理和利用。(2)分类管理功能。资源总是应用于某些具体领域,或者具有某些特定功用,根据这些特点对资源进行分类,将有效提高资源浏览和搜索的效率。(3)共享的层次性。根据资源的重要性和公开范围的不同,可将共享划分为完全共享、群组内共享和指定用户共享三个层次。(4)共享的激励机制。应采取适当措施激励用户提供更多的资源参与共享,以满足资源的丰富性要求。例如可以采用积分制,用户提供资源能够赢得积分,而资源的索取则消耗积分,用户为了有足够的积分可下载更多的资源,必须提供更多的自身资源参与共享。
4.资源搜索
资源搜索功能让用户快速定位所需资源。与一般的互联网搜索相比,本文的资源管理功能按照统一规范管理资源,因此搜索结果中的垃圾数据将大大减小。根据实际的共享群组和群组联盟的构成特点,搜索的范围包括群组内的搜索和群组联盟搜索。
群组内搜索指根据用户输入的关键字,在群组服务器上搜索本群组名称、文件名和简介等包含该关键字的资源记录,搜索结果具有实时性。
群组联盟搜索指在群组联盟范围内搜索资源,可以有四种搜索方式:a)客户机同时连接联盟中的所有或部分群组服务器进行搜索;b)群组服务器定期访问其它群组服务器,检索其资源信息并保存到数据库中供本群组的成员搜索;c)群组服务器定期将自身资源信息发布到群组联盟的中枢服务器,客户机访问中枢服务器获得群组联盟中的资源信息;d)群组服务器定期将资源信息发布到中枢服务器,并从中枢服务器获得其他群组的资源信息,客户机访问本群组服务器获得联盟中其他服务器的资源信息。搜索原理如图3所示。
这四种方式各有优缺点。假设联盟中包含的群组数目为Q,平均每个群组包含C台客户机,每台客户机平均每天进行N次搜索,服务器每天更新信息的次数为U,T为一台服务器一天的总负荷(被客户机搜索和更新自身信息的总次数),则有:
方式a:群组服务器负荷Ta=Q×C×N
方式b:群组服务器负荷Tb=C×N+2×(Q-1)×U
方式c:群组服务器负荷Tc=C×N+U,中枢服务器负荷Tc′=Q×C×N+Q×U
方式d:群组服务器负荷Td=C×N+2U,中枢服务器负荷Td′=2×Q×U
方式a的优点是搜索结果具有实时性,但在客户机总数较多的情况下,会导致服务器负荷过重,因此只适用于企事业单位的中小型局域网;方式b无固定中枢服务器,各群组之间组成松散联盟,依靠友邻许可实现群组间共享;方式c适用于需要采用中枢服务器对群组资源共享进行控制的场合,但中枢服务器负荷较大;方式d同样可实现对群组间资源共享的控制,且中枢服务器负荷小,但资源信息的实时性稍差。
三、应用实例和关键技术的实现
该技术已应用于浙江机电职业技术学院的教学资源管理和共享系统的开发。图4所示为其试验系统的实例。随着计算机和网络技术在教学中的普及,教师需要开发和收集大量的教学资源,并且这些资源呈分布状态存在于教师的手提电脑和台式机上。该系统的应用,将为教师提供一个教学资源共享的平台,减小重复劳动的时间,使之精力集中在教学水平的提高上,具有较大的现实意义。
1.系统的体系结构
该系统包括资源管理系统和资源共享系统两大模块。资源管理系统又包含资源入库、导出和版本控制等子模块,使用户对本机上的资源进行管理;资源共享系统包括资源上传、下载和搜索等子模块,使用户参与网络共享。本地资源库采用Access桌面数据库,而群组服务器采用SQL Server 2000网络数据库。Access数据库无需安装数据库管理系统,以方便用户安装系统。开发环境采用PowerBuilder 11。系统体系结构如图5所示。
2.资源的数据库保存
资源可以二进制类型的字段导入数据库进行保存,也可以保存在文件夹中,数据库中仅保存其路径。资源文件的入库和导出采用PowerBuilder中的SQL脚本语言实现。资源的数据结构如图6所示。
3.资源P2P传输
资源的P2P传输可采用WinSocket控件实现。用户登录到群组服务器后,将本机的IP地址和端口号信息提交到服务器数据库,其他用户在下载该用户的资源时,根据这些信息通过WinSocket控件连接该用户,然后进行资源的P2P下载。
四、结束语
本文提出了基于C/S和P2P综合模式的分布式资源共享概念,通过构建共享群组和群组联盟,结合数据库技术和P2P技术,提供了一种实现分布式资源共享的有效途径,规范了资源管理,提高了网络传输的效率。该技术已应用于教学资源共享系统,具有较大的现实意义。随着后续研究的深入,该技术有望推广至更广泛的领域。?筅
参考文献:
[1]郭清蓉.基于C/S和P2P模式的信息资源共享与交流比较[J].图书馆学研究, 2007(2): 23-25.
[2]冯向兵,莫蓉,桂元坤,常智勇.基于设计知识的广义版本管理研究及实现方法[J].中国制造业信息化, 2006(3):17-21.
[3]林晶意.网格环境下资源共享的关键技术[J].微计算机信息, 2007,23(2-3):133-134.