论文部分内容阅读
信息网络的基本结构
在信息发布与接收架构方面,经常采用的有传统的客户/服务器2层结构(即C/S结构)和Web浏览器/Web服务器/数据库(DB)服务器3层结构(即B/S结构)。这2种结构中后者是从前者发展而来的,它们的本质都是C/S,数据库服务的核心也是一致的,只是由于结构的不同,两者适宜的用户对象不同。但是2层结构C/S模式存在诸多问题,例如开发和维护成本高,客户端负载重,灵活性差,缺乏开放性,难以与Internet/Intranet接轨等,造成系统使用和维护中的许多难题。
P2P技术及其前景
P2P,英文Peer—to—peer的缩写,中译为对等互联或点对点技术。在国外,P2P发展已经如火如荼,Intel、Sun、Microsoft等公司已经在制定P2P的标准。在基于P2P技术进行文件共享方面,国内有多家公司已经推出了自己的产品,目前主要的几款中文P2P软件有Workslink、Ezpeer、Jelawat、Kuro、Toperson等。目前,P2P技术主要集中在四大类型的应用上:集群计算、协同工作、搜索引擎、文件交换。简单地说,P2P就是一种用于不同PC用户之间,不经过中继设备直接交换数据或服务的技术,它允许Intemet用户直接使用对方的文件。每个人可以直接连接到其他用户的计算机,并进行文件的交换,而不需要连接到服务器上再进行浏览与下载。因为消除了中间环节,P2P技术使得网络上的沟通变得更容易、更直接。P2P改变了Intemet现在的以太网站为中心的状态、重返“非中心化”,并把权力交还给用户。从某种意义上讲,P2P体现了Intemet的本质。与传统C/S结构的网络相比,P2P网络的成本较低,首先基于Intemet网络,省去了租用专线的巨大运营成本,其次中心资源如服务器要求降低,也节约了成本。
P2P技术前景是:
首先,某些新技术与软件工程结合,形成了一种将工作分散的趋势。P2P计算正是这种分散工作趋势的自然结果。
其次,从工程的角度看来,在企业应用集成等因素的驱动下,过去十年渐渐形成一种从集中的单机系统转向分布式系统的趋势。在集中式的应用中进行控制是相对容易的,这一点在一定程度上抑制了分布式潮流的发展。然而随着互联网的发展,以及BtoB商务交易方式的日益流行,全面的分布式计算也就成为一种商业需求。
对功能强大的网络计算机的需求以及昂贵的带宽开销,是对这种趋势影响最大的两个因素。为了提高效率,P2P计算由许多互相连接的同位体组成。
这两种趋势导致了P2P应用技术研究的迅速发展。
P2P编程思想在信息网络中的应用
在很大程度上,P2P计算与那些分布计算所面临的问题是重叠的——调整并监控网络中独立节点的动作,并确保节点间的可靠通讯,这些计算必需考虑网络节点中的对等交互。
1.P2P应用的主体设计框图
尽管有许多P2P网络不需要索引服务器或中央服务器,各客户机之间就可以互相直接通讯。一般来说,P2P概念中包含一台中央索引服务9S,这台服务器并不存储有任何文件,它只存储有登录到该网络上的所有用户的信息、客户端的IP地址以及用户提供的共享文件。客户机和服务器之间使用简单的通过报路命令进行通讯。
2.用C#语言来编写P2P程序
程序建立在TcpListener和TcpClient这两个类基础上,应用P2P技术“非中心化”的原则,可以在网络中发送、接受信息,任何一台计算机既可以作为服务器,又可以作为客户端。程序是建立在四个类基础之上的:
Listener类:用来监听新的连接。当它的一个对象被建立并开启后,该对象开始监听来自网络中的连接请求。一旦有了一个连接请求,该对象就设法建立连接并取得它的字节流进而转化成字符串显示在控制台中。当一个连接结束后,该对象就继续进行监听来自网络中的连接请求。
Sender类:这是一个函数。它将一个数组作为参数,数组的第一个元素必须包含“send”这个字,第二个元素包含了目标计算机的IP地址。
InputHandler类:该类主要用来控制用户输入。其核心部分是一个switch case语句系列,通过不同的操作,可以使计算机扮演不同的角色,“send”操作表明该计算机相对目的计算机而言成了客户端,而“start”操作就将计算机自身置为服务器端。
Initialize类:该类进行程序的初始化工作,它新建了一个InputHandle对象,只要对象的布尔值appRun为true,就一直运行程序,直到该值为false,程序退出。
讲到P2P,人们就会想起Napster。Napster的音乐文件交换功能是P2P的一个主要应用,一方面Napster让人们认识到了P2P技术的威力,另一方面法律上败诉的Napster反映了这一技术对于保护知识产权、防止病毒传播方面还有其先天不足。然而,位于美国加州圣迭戈的Akonix系统公司推出了一种名叫“AkonixL7”的软件,旨在通过阻止病毒,预防数据泄漏,以及防止安装后门等措施,来确保即时讯息传递(IM)和文件共享应用程序的安全。
在大多数人眼中,P2P仅仅是一种局限于文件共享的应用,或是由互联网介入给计算方法带来的新发展。事实上,P2P计算成功地将许多有趣的分布计算技术重新拉回到人们视线中。人们希望能够将精力集中在P2P技术本身,主要包括内容和资源的管理、信赖和安全、属主和权限、通讯模型、分布式计算以及搜索和查询等,从而使P2P计算应用到更广阔的技术领域。▲
参考文献
1.叶风.自由交流P2P.网络与信息,2002,16(4):10—14
2.王志强。P2P在企业中的应用.开放系统世界,2002(5):20—23
3.毛薇,李涛等.基于P2P的高效搜素引擎的研究.武汉理工大学学报:信息与管理工程版,2002,24(4):43—45
4.刘沙.P2P畅想曲。网络与信息,2002,16(4):15—17
5.陈蛛,周永林等.P2P技术的研究与应用.计算机工程与应用,2002,38(13):20—23
6.王凯明.浅析C#-F的P2P编程.中文信息工程春秋,2002 (6):97—100
7.王水,余光莉等.P2P式下分布协作式名字解析系统。计算机与网络,2002(13):51—52
8.韩松.P2P也有困惑.网络与信息,2002,16(4):17—19
(作者单位:南华大学 湖南衡阳 421001)
在信息发布与接收架构方面,经常采用的有传统的客户/服务器2层结构(即C/S结构)和Web浏览器/Web服务器/数据库(DB)服务器3层结构(即B/S结构)。这2种结构中后者是从前者发展而来的,它们的本质都是C/S,数据库服务的核心也是一致的,只是由于结构的不同,两者适宜的用户对象不同。但是2层结构C/S模式存在诸多问题,例如开发和维护成本高,客户端负载重,灵活性差,缺乏开放性,难以与Internet/Intranet接轨等,造成系统使用和维护中的许多难题。
P2P技术及其前景
P2P,英文Peer—to—peer的缩写,中译为对等互联或点对点技术。在国外,P2P发展已经如火如荼,Intel、Sun、Microsoft等公司已经在制定P2P的标准。在基于P2P技术进行文件共享方面,国内有多家公司已经推出了自己的产品,目前主要的几款中文P2P软件有Workslink、Ezpeer、Jelawat、Kuro、Toperson等。目前,P2P技术主要集中在四大类型的应用上:集群计算、协同工作、搜索引擎、文件交换。简单地说,P2P就是一种用于不同PC用户之间,不经过中继设备直接交换数据或服务的技术,它允许Intemet用户直接使用对方的文件。每个人可以直接连接到其他用户的计算机,并进行文件的交换,而不需要连接到服务器上再进行浏览与下载。因为消除了中间环节,P2P技术使得网络上的沟通变得更容易、更直接。P2P改变了Intemet现在的以太网站为中心的状态、重返“非中心化”,并把权力交还给用户。从某种意义上讲,P2P体现了Intemet的本质。与传统C/S结构的网络相比,P2P网络的成本较低,首先基于Intemet网络,省去了租用专线的巨大运营成本,其次中心资源如服务器要求降低,也节约了成本。
P2P技术前景是:
首先,某些新技术与软件工程结合,形成了一种将工作分散的趋势。P2P计算正是这种分散工作趋势的自然结果。
其次,从工程的角度看来,在企业应用集成等因素的驱动下,过去十年渐渐形成一种从集中的单机系统转向分布式系统的趋势。在集中式的应用中进行控制是相对容易的,这一点在一定程度上抑制了分布式潮流的发展。然而随着互联网的发展,以及BtoB商务交易方式的日益流行,全面的分布式计算也就成为一种商业需求。
对功能强大的网络计算机的需求以及昂贵的带宽开销,是对这种趋势影响最大的两个因素。为了提高效率,P2P计算由许多互相连接的同位体组成。
这两种趋势导致了P2P应用技术研究的迅速发展。
P2P编程思想在信息网络中的应用
在很大程度上,P2P计算与那些分布计算所面临的问题是重叠的——调整并监控网络中独立节点的动作,并确保节点间的可靠通讯,这些计算必需考虑网络节点中的对等交互。
1.P2P应用的主体设计框图
尽管有许多P2P网络不需要索引服务器或中央服务器,各客户机之间就可以互相直接通讯。一般来说,P2P概念中包含一台中央索引服务9S,这台服务器并不存储有任何文件,它只存储有登录到该网络上的所有用户的信息、客户端的IP地址以及用户提供的共享文件。客户机和服务器之间使用简单的通过报路命令进行通讯。
2.用C#语言来编写P2P程序
程序建立在TcpListener和TcpClient这两个类基础上,应用P2P技术“非中心化”的原则,可以在网络中发送、接受信息,任何一台计算机既可以作为服务器,又可以作为客户端。程序是建立在四个类基础之上的:
Listener类:用来监听新的连接。当它的一个对象被建立并开启后,该对象开始监听来自网络中的连接请求。一旦有了一个连接请求,该对象就设法建立连接并取得它的字节流进而转化成字符串显示在控制台中。当一个连接结束后,该对象就继续进行监听来自网络中的连接请求。
Sender类:这是一个函数。它将一个数组作为参数,数组的第一个元素必须包含“send”这个字,第二个元素包含了目标计算机的IP地址。
InputHandler类:该类主要用来控制用户输入。其核心部分是一个switch case语句系列,通过不同的操作,可以使计算机扮演不同的角色,“send”操作表明该计算机相对目的计算机而言成了客户端,而“start”操作就将计算机自身置为服务器端。
Initialize类:该类进行程序的初始化工作,它新建了一个InputHandle对象,只要对象的布尔值appRun为true,就一直运行程序,直到该值为false,程序退出。
讲到P2P,人们就会想起Napster。Napster的音乐文件交换功能是P2P的一个主要应用,一方面Napster让人们认识到了P2P技术的威力,另一方面法律上败诉的Napster反映了这一技术对于保护知识产权、防止病毒传播方面还有其先天不足。然而,位于美国加州圣迭戈的Akonix系统公司推出了一种名叫“AkonixL7”的软件,旨在通过阻止病毒,预防数据泄漏,以及防止安装后门等措施,来确保即时讯息传递(IM)和文件共享应用程序的安全。
在大多数人眼中,P2P仅仅是一种局限于文件共享的应用,或是由互联网介入给计算方法带来的新发展。事实上,P2P计算成功地将许多有趣的分布计算技术重新拉回到人们视线中。人们希望能够将精力集中在P2P技术本身,主要包括内容和资源的管理、信赖和安全、属主和权限、通讯模型、分布式计算以及搜索和查询等,从而使P2P计算应用到更广阔的技术领域。▲
参考文献
1.叶风.自由交流P2P.网络与信息,2002,16(4):10—14
2.王志强。P2P在企业中的应用.开放系统世界,2002(5):20—23
3.毛薇,李涛等.基于P2P的高效搜素引擎的研究.武汉理工大学学报:信息与管理工程版,2002,24(4):43—45
4.刘沙.P2P畅想曲。网络与信息,2002,16(4):15—17
5.陈蛛,周永林等.P2P技术的研究与应用.计算机工程与应用,2002,38(13):20—23
6.王凯明.浅析C#-F的P2P编程.中文信息工程春秋,2002 (6):97—100
7.王水,余光莉等.P2P式下分布协作式名字解析系统。计算机与网络,2002(13):51—52
8.韩松.P2P也有困惑.网络与信息,2002,16(4):17—19
(作者单位:南华大学 湖南衡阳 421001)