CN101668029B - 一种网络设备和网络通讯的方法 - Google Patents
一种网络设备和网络通讯的方法 Download PDFInfo
- Publication number
- CN101668029B CN101668029B CN2008101983194A CN200810198319A CN101668029B CN 101668029 B CN101668029 B CN 101668029B CN 2008101983194 A CN2008101983194 A CN 2008101983194A CN 200810198319 A CN200810198319 A CN 200810198319A CN 101668029 B CN101668029 B CN 101668029B
- Authority
- CN
- China
- Prior art keywords
- distributed resources
- expanded http
- response message
- information
- expanded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种网络设备和网络通讯的方法,其中,该网络设备包括:客户端单元,用于向其他网络设备发送扩展的HTTP请求消息,以请求获得相应的分发资源,所述扩展的HTTP请求消息中包括本地网络设备的P2P意愿和能力;服务器单元,用于接收并处理来自其他网络设备的扩展的HTTP请求消息;资源库,用于存储客户端单元获得的分发资源,以及存储服务器单元可向其他网络设备提供的被分发资源。采用本发明所提供的方案,既兼容现有的Web网,又充分利用对等化技术的优点。能够真正减轻服务器侧的负载,提高客户端的下载速度。
Description
技术领域
本发明涉及通讯领域,尤其涉及一种网络设备和网络通讯的方法。
背景技术
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是万维网(Web)的传输协议。HTTP为客户端/服务器(Client/Server,C/S)模式的协议,即客户端发起请求,服务器处理请求并返回应答。
C/S模式的协议客户端和服务器彼此独立、实现截然不同的功能。客户端都向服务器请求资源,导致服务器负载巨大,对服务器的性能和可靠性有很高的要求。
为了提高服务器方的处理能力,人们发展了服务器集群(Computer Cluster)的服务方式。服务器集群是指多台服务器通过网络(通常是高速局域网)互联起来,统一向外部客户端提供服务,看起来就像是一台服务器。集群中每台服务器分担一定的负载,当部分服务器故障时,负载会自动转移到其他的服务器上。
服务器集群利用集群管理软件,当一台服务器故障时,其他服务器能自动接管该服务器的工作,实现对客户端的不间断服务,可以实现高可靠性(HighAvailability);同时,其可利用集群中每一台服务器的资源,实现复杂运算的并行处理,并且整个服务器集群的负载压力可根据某种算法合理分配到集群中每一台服务器上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。
但是在实现本发明过程中,发明人发现不论是C/S模式下的普通的服务器还是服务器集群都存在相同的缺陷,即客户端都向服务器请求资源,导致服务器负载巨大,对服务器的性能和可靠性有很高的要求。即使是服务器集群的方式也并没有真正减轻服务器端的负载,只是把负载从一台服务器分散到多台服务器,架设服务器集群,需要维护大量的服务器,引入专门的集群管理软件,成本仍然较高,不适合中小型站点。而且,当今的Web正在向用户创造的内容(User-Generated Content,UGC),比如土豆网的视频上传和分享,用户编写的程序(User-Generated Application,UGA),如诺基亚维信平台上的精灵,方向(即以用户及用户数据为中心)发展,C/S模式则可能成为其发展的瓶颈。
发明内容
本发明实施例提供一种网络设备和网络通讯的方法,可以在Web网中实现对等化通讯。
为此,一方面,本发明的实施例提供了一种网络设备,包括:客户端单元,用于向其他网络设备发送扩展的HTTP请求消息,以请求获得相应的分发资源,所述扩展的HTTP请求消息中包括本地网络设备的点到点(point to point,P2P)意愿和能力;服务器单元,用于接收并处理来自其他网络设备的扩展的HTTP请求消息,所述扩展的HTTP请求消息中包括所述其他网络设备的P2P意愿和能力;资源库,用于存储客户端单元获得的分发资源,以及存储服务器单元可向其他网络设备提供的被分发资源,并可将所述客户端单元获得的分发资源的部分或全部提供给服务器单元共享使用。
本发明的实施例还提供了一种网络设备,包括:服务器单元,用于接收并处理来自其他网络设备的扩展的HTTP请求消息,所述扩展的HTTP请求消息用于请求获得相应的分发资源,所述扩展的HTTP请求消息中包括发送所述扩展的HTTP请求消息的网络设备的P2P意愿和能力;资源库,用于存储服务器单元可向其他网络设备提供的被分发资源。。
另一方面,本发明的实施例提供了一种网络通讯的方法,包括:向网络设备发送扩展的HTTP请求消息,以请求获得相应的分发资源,所述扩展的HTTP请求消息中包括所述网络设备的P2P意愿和能力;接收相应的扩展的HTTP应答消息,所述扩展的HTTP应答消息可包括接收应答的网络设备应如何保存分发资源的信息、保存相同分发资源的其他网络设备的信息、分发资源的其他信息中的一种或多种;根据所述扩展的HTTP应答消息进行扩展的HTTP处理。
本发明的实施例还提供了一种网络通讯的方法,包括:接收来自其他网络设备的扩展的HTTP请求消息,所述扩展的HTTP请求消息中包括所述其他网络设备的P2P意愿和能力;对所述扩展的HTTP请求消息进行扩展的HTTP处理;根据处理结果向所述网络设备发送扩展的HTTP应答消息,所述扩展的HTTP应答消息可包括接收应答的网络设备应如何保存被分发资源的信息、保存相同分发资源的其他网络设备的信息、被分发资源的其他信息中的一种或多种。
在本发明实施例中,将对等化思想引入到HTTP协议中,即兼容现有的Web网,又充分利用对等化技术的优点。能够真正减轻服务器侧的负载,提高客户端的下载速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明中的网络设备的一个具体实施例的组成示意图;
图2是图1中的客户端单元的一个具体实施例的组成示意图;
图3是图2中的处理模块的一个具体实施例的组成示意图;
图4是图1中的服务器单元的一个具体实施例的组成示意图;
图5是图4中的服务处理模块的一个具体实施例的组成示意图;
图6是本发明中的网络设备的另一具体实施例的组成示意图;
图6a是本发明中的网络设备仅具有服务端功能时的一个具体实施例的组成示意图;
图7是本发明中的网络通讯方法的一个具体实施例的流程示意图;
图8是本发明中的网络通讯方法的另一具体实施例的流程示意图;
图9是本发明实施例中的数据分发流程的示意图;
图10是本发明实施例中的重定向流程的示意图;
图11是发明实施例中的分发资源的刷新流程的示意图;
图12是网络中有多个具有本发明实施例所描述的功能的节点相互连接的情况。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术的问题,本发明实施例中提出了一种基于对等化思想的web网网络设备和相应的网络通讯的方法。在说明本发明实施例之前,先介绍现有的基于对等化思想的一种通讯模式,以帮助理解本发明实施例中的相关方案。
在现有技术中,有别于传统的C/S模式,网络传输中还有一种节点到节点(Peerto Peer,P2P)的传输模式。在P2P网络中,每个结点的地位都是对等的,既充当服务器为其它结点提供服务,也享用其他结点提供的服务。
P2P技术广泛应用于对等计算、协同工作、即时通讯和文件交换等领域。在文件交换领域,常见的协议有BitTorrent Protocol(BT软件使用)、MFTP(Multisource File Transfer Protocol,eMule/eDonkey软件使用),常见的算法有DHT(Distributed Hash Table)和Chord(由MIT提出)。
以BitTorrent协议为例说明现有P2P模式下,网络传输的过程:
首先,资源的发布者必须为资源生成相应的种子文件(后缀名为torrent的文件),文件中包含了资源的某些信息。
然后,资源的发布者将种子文件放到某个服务器上,并在网页中给出该种子文件的超链接地址(URL)。网页内容还可能包括对资源的文字介绍、图片描述、用户评论等。
接着,浏览该网页的某个用户对资源感兴趣,下载种子文件。
最后,该用户启动BT软件(比如BitComet),加载种子文件,开始下载资源。
BT软件会根据种子文件中的信息,使用BitTorrent协议,查找拥有该资源的节点,然后同时从这些节点下载资源。
在上述过程中,下载资源的所有节点都有可能既是客户端(从其他网络节点中获取资源)也是服务端(向其他网络节点提供资源,该资源可能是已经下载的资源)。
但是,现有的P2P模式的协议和算法,都使用资源的Hash值作为资源的标识,通过各自独特的查询机制,找到拥有特定资源的多个节点,然后同时向多个节点发起请求以提高资源的下载速度。使用Hash值而不是统一资源定位符(Uniform Resource Locator,URL)作为资源的标识,导致P2P网络不兼容Web网(Web网中采用URL作为资源的标识),用户在上网冲浪过程中只能使用专门的P2P软件下载特定的资源,割裂了资源间的超链接联系。同时,P2P协议的查询开销较大,不适合传输小文件,比如网页、图片等等。
本发明实施例中所指的分发资源可包括从其他网络设备中获得或接收的分发资源,或发送给其他网络设备的被分发资源,或包括上述两种类型的分发资源。
为此,本发明实施例中提供了一种网络设备,采用扩展的HTTP协议进行网络通讯,该网络设备既可以实现服务端的功能,也可以实现客户端的功能,如图1所示,该网络设备包括客户端单元1、服务器单元2以及资源库3。
其中,客户端单元1用于实现网络设备作为客户端时的各项功能,具体包括向其他网络设备发送扩展的HTTP请求消息,以请求获得相应的分发资源,所述扩展的HTTP请求消息中包括本地网络设备的P2P意愿和能力,如是否愿意保存分发资源、保存后分发资源的标识、应该保存时间等。
客户端单元1具体可包括生成模块10,用于根据接收策略生成并发送扩展的HTTP请求消息,以请求获得分发资源,所述接收策略是指接收和处理所述分发资源的策略,如接收的分发资源可以保存多久、可以接收网络中哪些网络设备发送的分发资源等;处理模块12,用于接收相应的扩展的HTTP应答消息,并根据所述扩展的HTTP应答消息进行扩展的HTTP处理,所述扩展的HTTP应答消息可包括接收应答的网络设备应如何保存分发资源的信息、保存相同分发资源的其他网络设备的信息、分发资源的其他信息中的一种或多种。其中,借助保存相同分发资源的其他网络设备的信息,网络设备就可以同时向其他多个网络设备请求相同的资源,加快下载速度;而分发资源的其他信息可包括分发资源的原始发布者信息、有权访问该分发资源的网络设备等。
根据处理类型的不同,上述处理模块12具体又可包括下述模块中的一个或两个:
接收处理子模块120,用于根据扩展的HTTP应答消息接收和保存所述分发资源,并保存所述分发资源的相关信息,比如发送该分发资源的网络设备的标识、分发资源的统一资源定位符、分发资源的权限等。可以使用接收表记录本地保存的其他网络设备发来的分发资源的相关信息。
重定向处理子模块122,用于根据所述扩展的HTTP应答消息和接收策略生成新的扩展的HTTP请求消息,以便向另一网络设备获取所述请求的分发资源,所述扩展的HTTP应答消息中包括所述另一网络设备的标识。
另一方面,可以对已经获得的分发资源进行刷新,以保持整个网络同一个数据对象的一致性。如图2所示,客户端单元1还应包括刷新请求模块14,用于根据客户端刷新策略生成并发送扩展的HTTP请求消息,以请求刷新分发资源,所述客户端刷新策略包括确定刷新时间、刷新的对象以及刷新的机制的策略,在该扩展的HTTP请求消息中可以带上分发数据的Hash值,保存分发资源的网络设备还愿意保存该资源多长时间等。
如图3所示,处理模块12还包括刷新处理子模块124,用于根据所述扩展的HTTP应答消息刷新所述分发资源,并相应的更新本地存储的所述分发资源的相关信息,所述扩展的HTTP应答消息中包括所述分发资源继续有效的信息。同时,可采用刷新表保存本地保存的其他网络设备发送来的分发资源的有效性信息,比如保存时间、刷新时间等。
同时,客户端单元1还可包括客户端管理模块,用以所述生成模块10和处理模块12的具体操作,比如对接收策略和客户端刷新策略等进行设定。
其中,服务器单元2,用于接收并处理来自其他网络设备的扩展的HTTP请求消息。如图4所示,该服务器单元2具体可包括:接收模块20,用于接收来自其他网络设备的扩展的HTTP请求消息;服务处理模块22,用于对所述扩展的HTTP请求消息进行扩展的HTTP处理;返回模块24,用于根据所述服务处理模块的处理结果向所述网络设备发送扩展的HTTP应答消息。其中相关消息的定义与客户端单元中的定义一致。
根据处理类型的不同,服务处理模块22可包括下述子模块中的一个或多个,如图5所示,为包括全部子模块的情况:
当需要具有分发功能时,包括分发子模块220,用于根据分发策略将所述请求的被分发资源分发给所述网络设备,保存所述被分发资源的信息,并生成扩展的HTTP应答消息;所述扩展的HTTP应答消息中包括指示允许保存所述被分发资源的信息,所述分发策略包括确定所述请求的被分发资源是否可分发给所述网络设备,所述被分发资源的信息包括接收所述被分发资源的网络设备的标识、所述被分发资源的有效性信息,可以用分发表记录与被分发资源有关的情况,如分发资源,分发目标地址,有效期等等。
当需要具有刷新功能时,包括刷新子模块222,用于根据刷新策略生成扩展的HTTP应答消息,更新本地保存的被分发资源的信息,并生成扩展的HTTP应答消息,所述扩展的HTTP应答消息包括指示被分发资源继续有效的信息。
当需要具有重定向功能时,包括重定向子模块224,用于根据重定向策略生成扩展的HTTP应答消息,所述扩展的HTTP应答消息中包括重定向指示,接收所述扩展的HTTP应答消息的网络设备可以根据所述重定向指示和本地的接收策略生成新的扩展的HTTP请求消息,以便向另一网络设备获取所述请求的被分发资源。其中,所述重定向策略可包括哪些资源应该重定向、本地负载过大时是否重定向等。可以用重定向表记录与重定向有关的信息,如哪些资源的请求被重定向了,重定向到了哪个网络设备等。
同时,所述服务器单元2还包括服务器管理模块,用于管理服务处理模块的操作,如管理所述分发策略、重定向策略以及服务器刷新策略的确定等。
资源库3,用于存储客户端单元1获得的分发资源,以及存储服务器单元2可向其他网络设备提供的分发资源。其中,客户端单元1和服务器单元2可以共享存储的分发资源。
如图6所示,为本发明中一种网络设备的具体实施例。在该例中,将客户端管理模块和服务器管理模块合成一个管理模块并独立于客户端单元和服务器单元存在,实现对网络设备中相应组成模块的共同管理。
另外,网络设备还可包括:浏览引擎单元,用于对所述分发资源进行解析和呈现。比如解析网页,以图文并茂的形式进行呈现。浏览引擎单元的功能类似当前浏览器的解析引擎(Layout Engine),支持的媒体类型包括超文本标记语言(Hyper Text Markup Language,HTML)、可扩展的超文本标记语言(eXtensibleHyper Text Markup Language,XHTML)、层叠样式表(Cascading Style Sheet,CSS)、文档结构模型(Document Object Model,DOM)、可扩展标记语言(eXtensible Markup Language,XML)、JavaScript(一种运行在浏览器上的脚本语言,常常用来控制HTML文档)等;以及用户接口,用于向用户提供所述网络设备的操作接口,用户可通过该接口使用该网络设备的各项功能。
上述实施例中的服务器单元还可以作为一个单独的网络设备4。该网络设备4可在采用扩展的HTTP协议进行通讯的网络中实现服务器的功能,如图6a所示,该设备包括:服务器单元,用于接收并处理来自其他网络设备的扩展的HTTP请求消息,所述扩展的HTTP请求消息用于请求获得相应的被分发资源;资源库,用于存储服务器单元可向其他网络设备提供的被分发资源。
其中,本例中的服务器单元的具体组成和功能与图1中所示的服务器单元2一致,此处不做赘述。
在本发明实施例中,将对等化思想引入到HTTP协议中,即兼容现有的Web网,又充分利用对等化技术的优点。能够真正减轻服务器侧的负载,提高客户端的下载速度。同时,在保持资源间的超链接关系的基础上,使得用户既能够方便地浏览他人的资源,也能够方便地发布自己的资源。
另一方面,本发明实施例还提供了一种网络通讯方法,如图7所示,该方法包括流程(在本方法中的相关名词定义与上述实施例中的一致,此处不做一一描述):
701、根据接收策略或客户端刷新策略生成扩展的HTTP请求消息。其中接收策略是指收到所述分发资源后的处理策略,客户端刷新策略包括确定刷新时间、刷新的对象以及刷新的机制的策略;扩展的HTTP请求消息中包括所述网络设备的P2P意愿和能力
702、向第一网络设备发送扩展的HTTP请求消息,以请求获得相应的分发资源。
703、接收相应的扩展的HTTP应答消息。
704、根据所述扩展的HTTP应答消息进行扩展的HTTP处理。
其中,根据处理类型的不同步骤704具体可包括:
当在之前是根据接收策略生成并发送扩展的HTTP请求消息时,步骤704具体包括根据扩展的HTTP应答消息接收并保存所述分发资源,并保存发送所述分发资源的网络设备的标识、分发资源的统一资源定位符、分发资源的权限、或分发资源的有效性信息中的一个或多个信息。
当在之前是根据客户端刷新策略生成并发送扩展的HTTP请求消息时,步骤704具体包括,根据所述扩展的HTTP应答消息刷新所述分发资源,并相应的更新本地存储的所述分发资源的相关信息,所述扩展的HTTP应答消息中包括所述分发资源继续有效的信息。
当在之前是根据接收策略生成并发送扩展的HTTP请求消息时,步骤704具体包括,根据所述扩展的HTTP应答消息和接收策略生成新的扩展的HTTP请求消息,以便向第二网络设备获取所述请求的分发资源,所述扩展的HTTP应答消息中包括所述第二网络设备的标识。
同时,当用于实现服务器功能时,如图8所示,本发明实施例中的网络通讯的方法还包括流程:
801、接收来自其他网络设备的扩展的HTTP请求消息;
802、根据所述扩展的HTTP请求消息进行扩展的HTTP处理;
803、根据处理结果向所述网络设备发送扩展的HTTP应答消息。
根据处理类型的不同,步骤802具体可为:
当收到的扩展的HTTP请求消息中包括请求发送被分发资源时,步骤802包括:根据分发策略将所述请求的被分发资源分发给所述网络设备,保存所述被分发资源的信息,并生成扩展的HTTP应答消息,所述扩展的HTTP应答消息中包括指示允许保存所述被分发资源的信息,所述分发策略包括确定所述请求的被分发资源是否可分发给所述网络设备,所述被分发资源的信息包括接收所述被分发资源的网络设备的标识,所述被分发资源的有效性信息。
当收到的扩展的HTTP请求消息中包括请求刷新分发资源时,步骤802包括:根据刷新策略生成扩展的HTTP应答消息,并更新保存的被分发资源的信息,所述扩展的HTTP应答消息包括指示被分发资源继续有效的信息。
当收到的扩展的HTTP请求消息中包括请求发送被分发资源时,步骤802包括:根据重定向策略生成扩展的HTTP应答消息,所述扩展的HTTP应答消息中包括重定向指示,接收所述扩展的HTTP应答消息的网络设备可以根据所述重定向指示和本地的接收策略生成新的扩展的HTTP请求消息,以便向另一网络设备获取所述请求的被分发资源。
为了进一步说明上述流程,下面分别给出几个具体的实施例,在下述各实施例中网络设备均用节点表示。
如图9所示,为本发明实施例中的数据分发流程,包括:
901、节点B根据接收策略向节点A发送扩展的HTTP请求,以获得请求的分发资源,并根据“接收策略”在请求中增加扩展的信息,比如节点B是否愿意保存分发的数据、该分发的数据在节点B中保存时的标识、该分发的数据可以在节点B保存多久等。
902、节点A收到该扩展的HTTP请求后,查找该请求中请求获得分发资源,并在查找到该分发资源后,返回扩展的HTTP应答,并根据“分发策略”在应答中增加扩展的信息。该分发策略包括该分发资源是否可以分发给节点B等。节点A可以维护一分发表,用来记录目前已经分发出去的相关数据的情况,比如哪些资源被分发了,分发给谁了、分发的数据的有效期有多长等。
903、节点B收到扩展的HTTP应答,从应答的扩展信息中得知允许保存收到的数据,于是将数据保存到资源库,并更新本地保存的分发资源的相关信息,可以通过维护接收表来实时保存相关的信息,如本地保存的其他网络设备发来的数据属性,包括发送该数据的网络设备的标识、分发资源的URL、权限等;同时节点B可解析资源并进行呈现。
如图10所示,本发明实施例中的重定向流程,包括:
1001、节点C根据接收策略向节点A发送扩展的HTTP请求,以请求资源,并根据“接收策略”在请求中增加扩展的信息。
1002、节点A根据重定向策略决定不发送资源,根据“分发表”找到节点B保存有该资源,于是返回扩展的HTTP应答,通知节点C向节点B请求该资源。节点A更新“重定向表”,重定向表中可保存有访问本节点的请求被重定向的信息,如哪些资源的请求被重定向了、重定向到哪个节点了。在制定具体某一请求的重定向策略时,可以参考重定向表中的信息。
1003、节点C接收到包含重定向指示的扩展的HTTP应答后,向节点B发送扩展的HTTP请求,以请求相应的资源,并根据“接收策略”在请求中增加扩展的信息。
1004、节点B查找到资源后,根据分发策略和“接收表”,决定不允许节点C保存该资源,于是返回普通的HTTP应答。
1005、节点C收到HTTP应答,直接解析、呈现给用户。
在本例中,节点C也可以采用普通的浏览器(比如Mozilla Firefox),基于现有的不扩展的HTTP协议,进行通讯,则上述流程中的相应的扩展的HTTP请求采用普通的HTTP请求即可,这也是本发明兼容标准HTTP协议的例子。
如图11所示,本发明实施例中的分发资源的刷新流程包括:
1101、节点B根据客户端刷新策略以及其他一些相关信息(如保存的接收表和刷新表中的相关信息)决定对某资源进行刷新,则节点B向该资源的发布者节点A发起扩展的HTTP请求,该请求中增加了相应的扩展信息。
1102、节点A查找到资源后,根据服务器的刷新策略,决定允许节点B继续保持该资源,于是返回扩展的HTTP应答,在该应答中增加相应的扩展信息以指示节点B可以继续保持该资源;或者是节点A根据服务器的刷新策略决定不允许节点B继续保持该资源,则返回的扩展的HTTP应答中指示节点B不可以继续保持该资源。同时,节点A相应的更新“分发表”。
1103、节点B收到扩展的HTTP应答,从扩展信息中得知节点A允许自己继续保存该资源;或者是,节点B获知节点A不允许自己继续保存该资源,则删除节点B上保存的该资源。并相应的更新“刷新表”。
下面描述网络中有多个具有本发明实施例所描述的功能的节点相互通讯时,使用的扩展的HTTP协议的具体情况,如图12所示,为这些节点的连接情况。
具体情况为:节点A上有网页资源a。节点B和节点C先后向节点A请求了该资源(网页a)。节点A与节点B、C间采用本发明实施例中的网络通讯方法进行通讯,节点B、C声明自己愿意且能够保存分发资源,节点A指示节点B、C保存收到的网页a。节点B、C将网页a呈现给用户的同时将网页a保存到自己的资源库中。节点D也向节点A请求网页a,节点A决定将节点D重定向到节点B、C上。节点D同时向节点B、C请求网页a(可能是网页a的不同部分),从而迅速的获得资源(网页a)。带括号的数字表示执行的各步骤的序号。
步骤1的扩展的HTTP的请求格式可以是:
GET/page_a.html HTTP/1.1
Host:node_A.example.com
Localhost:node_B.example.com
Accept-Distribution:Basic expires=”Mon,29Dec200820:57:00GMT”
其中,斜体部分是符合本发明的扩展内容(以下类同),直体部分是HTTP标准定义的内容。”Localhost”头域的作用是标识请求节点自己(本例中的节点B);”Accept-Distribution”头域的作用是声明节点B的P2P意愿和能力(本例中节点B表示P2P机制是”Basic”,能够保存到2008年12月)。
步骤2的扩展的HTTP的应答格式可以是:
HTTP/1.1200OK
Date:Thu,03Jan200810:27:00GMT
Server;Apache/2.2.6(Linux)
Last-Modified:Sat,29Dec200614:57:00GMT
Etag:“2f5cd-964-381e1bd6”
Content-Distribution:Basic expires=“Mon,29Sep200820:57:00GMT“
Content-Length:12000
Content-Type:text/html
Connection:close
“page_a.html中的内容”
其中,”Content-Distribution”头域的作用是指示数据接收者如何保存数据(本例中节点A指示节点B采用”Basic,,机制保存数据,保存到2008年9月)。节点A需要更新“分发表”以记录资源分发的情况,“分发表”的内容会用到步骤1请求中的信息。“分发表”可以是如下形式:
Resource URI | Distributed URI | Expires |
xxx | xxx | xxx |
/page_a.html | http://node_B.example.com/page_a.html | Mon,29Sep200820:57:00GMT |
节点B需要更新“接收表”以记录收到的分发资源的属性,“接收表”的内容会用到应答中相关头域的信息。“接收表”可以是如下形式:
DistributedURI | Original URI | Expires |
xxx | xxx | xxx |
http://node_B.example.com/page_a.html | http://node_A.example.com/page_a.html | Mon, 29Sep 200820:57:00GMT |
步骤3的请求格式类似步骤1的请求格式。
步骤4的应答格式类似步骤2的请求格式。
步骤5的请求格式类似步骤1的请求格式。
步骤6的应答格式可以是:
HTTP/1.1302Found
Date:Thu,03Jan200810:28:00GMT
Server:Apache/2.2.6(Linux)
See-Other:http://node_B.example.com/page_a.html
See-Other:http://node_C.example.com/page_a.html;q=0.8
其中,”See-Other”头域的作用是告诉应答接收者还有哪些节点具有相同的资源(本例中节点A告诉节点D可以向节点B、C请求网页a)。可选的”q”参数的作用是指明这多个节点的优先顺序(本例中节点A告诉节点D可以优先向节点B请求网页a)。
步骤7的请求格式可以是:
(发向节点B的请求)
GET/page_a.html HTTP/1.1
Host:node_B.example.com
Range:bytes0-5999/12000
(发向节点C的请求)
GET/page_a.html HTTP/1.1
Host:node_C.example.com
Range:bytes6000-11999/12000
其中,节点可以选择发送标准的HTTP请求,表示不愿意保存分发资源(本例中节点D同时向节点B、C发起请求)。”Range”头域的意思是请求资源的特定部分(本例中节点D分别向节点B、C请求资源的前半部分和后半部分)。
步骤8的应答格式可以是:
(来自节点B的应答)
HTTP/1.1200OK
Date:Thu,03Jan200811:27:00GMT
Server:Apache/2.2.6(Linux)
Last-Modified:Sat,29Dec200614:57:00GMT
Etag:“2f5cd-964-381e1bd6”
Content-Range:bytes0-5999/12000
Content-Length:6000
Content-Type:text/html
Connection:close
“page_a.htm1中前半部分的内容”
(来自节点C的应答)
HTTP/1.1200OK
Date:Thu,03Jan200810:27:00GMT
Server:Apache/2.2.6(Linux)
Last-Modified:Sat,29Dec200614:57:00GMT
Etag:“2f5cd-964-381e1bd6”
Content-Range:bytes6000-11999/12000
Content-Length:6000
Content-Type:text/html
Connection:close
“page_a.html中后半部分的内容”
其中,节点B、C收到的请求是标准的HTTP请求,所以节点B、C返回的应答也是标准的HTTP应答。
在本发明实施例中,将对等化思想引入到HTTP协议中,即兼容现有的Web网,又充分利用对等化技术的优点。能够真正减轻服务器侧的负载,提高客户端的下载速度。同时,在保持资源间的超链接关系的基础上,使得用户既能够方便地浏览他人的资源,也能够方便地发布自己的资源。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。
Claims (23)
1.一种网络设备,其特征在于,所述设备包括:
客户端单元,用于向其他网络设备发送扩展的超文本传输协议HTTP请求消息,以请求获得分发资源,所述扩展的HTTP请求消息中包括本地网络设备的点到点P2P意愿和P2P能力;
服务器单元,用于接收并处理来自其他网络设备的扩展的HTTP请求消息,所述扩展的HTTP请求消息中包括所述其他网络设备的P2P意愿和P2P能力;
资源库,用于存储客户端单元获得的分发资源,以及存储服务器单元可向其他网络设备提供的被分发资源,并可将所述客户端单元获得的分发资源的部分或全部提供给服务器单元共享使用。
2.如权利要求1所述的设备,其特征在于,所述客户端单元包括:
生成模块,用于根据接收策略生成并发送扩展的HTTP请求消息,以请求获得分发资源,所述接收策略是指接收和处理所述分发资源的策略;
处理模块,用于接收相应的扩展的HTTP应答消息,并根据所述扩展的HTTP应答消息进行扩展的HTTP处理,所述扩展的HTTP应答消息包括下述信息中的一个或多个:接收应答的网络设备保存分发资源的信息、保存相同分发资源的其他网络设备的信息。
3.如权利要求2所述的设备,其特征在于,所述处理模块包括:
接收处理子模块,用于根据扩展的HTTP应答消息接收和保存所述分发资源,并保存所述分发资源的相关信息,所述相关信息包括下述信息中的一个或多个:发送所述分发资源的网络设备的标识、分发资源的统一资源定位符、分发资源的权限、分发资源的有效性信息。
4.如权利要求3所述的设备,其特征在于,所述客户端单元还包括:
刷新请求模块,用于根据客户端刷新策略生成并发送扩展的HTTP请求消息,以请求刷新分发资源,所述客户端刷新策略包括确定刷新时间、刷新的对象以及刷新的机制的策略。
5.如权利要求4所述的设备,其特征在于,所述处理模块还包括:
刷新处理子模块,用于根据所述扩展的HTTP应答消息刷新所述分发资源,并相应的更新本地存储的所述分发资源的相关信息,所述扩展的HTTP应答消息中包括所述分发资源继续有效的信息。
6.如权利要求3所述的设备,其特征在于,所述处理模块还包括:
重定向处理子模块,用于根据所述扩展的HTTP应答消息和接收策略生成新的扩展的HTTP请求消息,以便向另一网络设备获取所述请求的分发资源,所述扩展的HTTP应答消息中包括所述另一网络设备的标识。
7.如权利要求2至6中任一项所述的设备,其特征在于,所述客户端单元还包括:
客户端管理模块,用于管理所述生成模块和处理模块的具体操作。
8.如权利要求1至6中任一项所述的设备,其特征在于,所述设备还包括下述组成部分中的一种或两种:
浏览引擎单元,用于对所述分发资源进行解析和呈现;
用户接口,用于向用户提供所述网络设备的操作接口。
9.如权利要求1至6中任一项所述的设备,其特征在于,所述服务器单元包括:
接收模块,用于接收来自其他网络设备的扩展的HTTP请求消息;
服务处理模块,用于对所述扩展的HTTP请求消息进行扩展的HTTP处理;
返回模块,用于根据所述服务处理模块的处理结果向所述其他网络设备发送扩展的HTTP应答消息,所述扩展的HTTP应答消息包括下述信息中的一个或多个:接收应答的网络设备应如何保存其获得的分发资源的信息、保存相同分发资源的其他网络设备的信息。
10.如权利要求9所述的设备,其特征在于,所述服务处理模块包括:
分发子模块,用于根据分发策略将所述请求的被分发资源分发给所述其他网络设备,保存所述分发资源的信息,并生成扩展的HTTP应答消息;
所述扩展的HTTP应答消息中包括指示允许保存所述被分发资源的信息,所述分发策略包括确定所述请求的被分发资源是否可分发给所述其他网络设备,所述被分发资源的信息包括接收所述被分发资源的网络设备的标识,所述被分发资源的有效性信息。
11.如权利要求10所述的设备,其特征在于,所述服务处理模块还包括:
刷新子模块,用于根据刷新策略生成扩展的HTTP应答消息,更新本地保存的被分发资源的信息,并生成扩展的HTTP应答消息,所述扩展的HTTP应答消息包括指示被分发资源继续有效的信息。
12.如权利要求11所述的设备,其特征在于,所述服务处理模块还包括:
重定向子模块,用于根据重定向策略生成扩展的HTTP应答消息,并保存重定向信息,所述扩展的HTTP应答消息中包括重定向指示,接收所述扩展的HTTP应答消息的网络设备可以根据所述重定向指示和本地的接收策略生成新的扩展的HTTP请求消息,以便向另一网络设备获取所述请求的被分发资源。
13.如权利要求12所述的设备,其特征在于,所述服务器单元包括:
服务器管理模块,用于管理所述服务处理模块的操作。
14.一种网络设备,其特征在于,所述网络设备包括:
服务器单元,用于接收并处理来自其他网络设备的扩展的HTTP请求消息,所述扩展的HTTP请求消息用于请求获得相应的分发资源,所述扩展的HTTP请求消息中包括发送所述扩展的HTTP请求消息的网络设备的P2P意愿和P2P能力;
资源库,用于存储服务器单元可向其他网络设备提供的被分发资源。
15.如权利要求14所述的设备,其特征在于,所述服务器单元包括:
接收模块,用于接收来自其他网络设备的扩展的HTTP请求消息;
服务处理模块,用于根据分发策略将请求的所述被分发资源分发给所述其他网络设备,保存所述被分发资源的信息,并生成扩展的HTTP应答消息,所述扩展的HTTP应答消息中包括指示允许保存所述分发资源的信息,所述分发策略包括确定所述请求的被分发资源是否可分发给所述其他网络设备,所述被分发资源的信息包括接收所述被分发资源的网络设备的标识,所述被分发资源的有效性信息;
和/或根据刷新策略生成扩展的HTTP应答消息,更新本地保存的被分发资源的信息,并生成扩展的HTTP应答消息,所述扩展的HTTP应答消息中包括所述被分发资源继续有效的信息;
和/或根据重定向策略生成扩展的HTTP应答消息,并保存重定向信息,所述扩展的HTTP应答消息中包括重定向指示,接收所述扩展的HTTP应答消息的网络设备可以根据所述重定向指示和本地的接收策略生成新的扩展的HTTP请求消息,以便向另一网络设备获取所述请求的被分发资源;
返回模块,用于根据所述服务处理模块的处理结果向所述网络设备发送扩展的HTTP应答消息,所述扩展的HTTP应答消息包括下述信息中的一个或多个接收应答的网络设备应如何保存被分发资源的信息、保存相同分发资源的其他网络设备的信息。
16.如权利要求15所述的设备,其特征在于,所述服务器单元包括:
管理模块,用于管理所述服务处理模块的操作。
17.一种网络通讯的方法,其特征在于,所述方法包括:
向网络设备发送扩展的HTTP请求消息,以请求获得相应的分发资源,所述扩展的HTTP请求消息中包括所述网络设备的P2P意愿和P2P能力;
接收相应的扩展的HTTP应答消息,所述扩展的HTTP应答消息包括下述信息中的一个或多个:接收应答的网络设备应如何保存分发资源的信息、保存相同分发资源的其他网络设备的信息;
根据所述扩展的HTTP应答消息进行扩展的HTTP处理。
18.如权利要求17所述的方法,其特征在于,所述根据所述扩展的HTTP应答消息进行扩展的HTTP处理,具体包括:
当向网络设备发送的是根据接收策略生成的扩展的HTTP请求消息且返回的扩展的HTTP应答消息中包括指示允许保存所述被分发资源的信息时,根据扩展的HTTP应答消息接收并保存所述分发资源,并保存发送下述信息中的一个或多个:所述分发资源的网络设备的标识、分发资源的统一资源定位符、分发资源的权限、或分发资源的有效性信息;
当向网络设备发送的是根据客户端刷新策略生成的扩展的HTTP请求消息时,根据所述扩展的HTTP应答消息刷新所述分发资源,并相应的更新本地存储的所述分发资源的相关信息,所述扩展的HTTP应答消息中包括所述分发资源继续有效的信息;
当向网络设备发送的是根据接收策略生成的扩展的HTTP请求消息且返回的扩展的HTTP应答消息中包括重定向指示时,根据所述扩展的HTTP应答消息和接收策略生成新的扩展的HTTP请求消息,以便向其他网络设备获取所述请求的分发资源,所述扩展的HTTP应答消息中包括所述其他网络设备的标识。
19.如权利要求18所述的方法,其特征在于,所述向其他网络设备发送扩展的HTTP请求消息之前还包括:
根据接收策略生成扩展的HTTP请求消息,所述接收策略是指收到所述分发资源后的处理策略。
20.如权利要求17至19中任一项所述的方法,其特征在于,所述方法还包括:
接收来自其他网络设备的扩展的HTTP请求消息;
根据所述扩展的HTTP请求消息进行扩展的HTTP处理;
根据处理结果向所述其他网络设备发送扩展的HTTP应答消息。
21.如权利要求20的方法,其特征在于,所述对所述扩展的HTTP请求消息进行扩展的HTTP处理至少包括下述处理中的一个:
当收到的扩展的HTTP请求消息中包括请求发送被分发资源且判定根据分发策略进行处理时,根据分发策略将请求的被分发资源分发给所述其他网络设备,保存所述被分发资源的信息,并生成扩展的HTTP应答消息,所述扩展的HTTP应答消息中包括指示允许保存所述分发资源的信息,所述分发策略包括确定所述请求的被分发资源是否可分发给所述其他网络设备,所述被分发资源的信息包括接收所述被分发资源的网络设备的标识,所述被分发资源的有效性信息;
当收到的扩展的HTTP请求消息中包括请求刷新分发资源时,根据刷新策略生成扩展的HTTP应答消息,并更新保存的被分发资源的信息,所述扩展的HTTP应答消息包括指示被分发资源继续有效的信息;
当收到的扩展的HTTP请求消息中包括请求发送被分发资源且判定根据重定向策略进行处理时,根据重定向策略生成扩展的HTTP应答消息,并保存重定向信息,所述扩展的HTTP应答消息中包括重定向指示,接收所述扩展的HTTP应答消息的网络设备可以根据所述重定向指示和本地的接收策略生成新的扩展的HTTP请求消息,以便向其他网络设备获取所述请求的被分发资源。
22.一种网络通讯的方法,其特征在于,所述方法包括:
接收来自其他网络设备的扩展的HTTP请求消息,所述扩展的HTTP请求消息中包括所述其他网络设备的P2P意愿和P2P能力;
根据所述扩展的HTTP请求消息进行扩展的HTTP处理;
根据处理结果向所述其他网络设备发送扩展的HTTP应答消息,所述扩展的HTTP应答消息包括下述信息中的一个或多个:接收应答的网络设备应如何保存被分发资源的信息、保存相同分发资源的其他网络设备的信息、被分发资源的其他信息中的一种或多种。
23.如权利要求22所述的方法,其特征在于,所述对所述扩展的HTTP请求消息进行扩展的HTTP处理,具体包括:
当收到的扩展的HTTP请求消息中包括请求发送被分发资源且判定根据分发策略进行处理时,根据分发策略将请求的被分发资源分发给所述其他网络设备,保存所述被分发资源的信息,并生成扩展的HTTP应答消息,所述扩展的HTTP应答消息中包括允许保存所述被分发资源的信息,所述分发策略包括确定所述请求的被分发资源是否可分发给所述其他网络设备,所述被分发资源的信息包括接收所述被分发资源的网络设备的标识,所述被分发资源的有效性信息;
当收到的扩展的HTTP请求消息中包括请求刷新分发资源时,根据刷新策略生成扩展的HTTP应答消息,并更新保存的被分发资源的信息,所述扩展的HTTP应答消息包括指示被分发资源继续有效的信息;
当收到的扩展的HTTP请求消息中包括请求发送被分发资源且判定根据重定向策略进行处理时,根据重定向策略生成扩展的HTTP应答消息,并保存重定向信息,所述扩展的HTTP应答消息中包括重定向指示,接收所述扩展的HTTP应答消息的网络设备可以根据所述重定向指示和本地的接收策略生成新的扩展的HTTP请求消息,以便向其他网络设备获取所述请求的被分发资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101983194A CN101668029B (zh) | 2008-09-04 | 2008-09-04 | 一种网络设备和网络通讯的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101983194A CN101668029B (zh) | 2008-09-04 | 2008-09-04 | 一种网络设备和网络通讯的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101668029A CN101668029A (zh) | 2010-03-10 |
CN101668029B true CN101668029B (zh) | 2012-08-08 |
Family
ID=41804470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101983194A Expired - Fee Related CN101668029B (zh) | 2008-09-04 | 2008-09-04 | 一种网络设备和网络通讯的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101668029B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9949305B2 (en) | 2009-10-02 | 2018-04-17 | Blackberry Limited | Methods and apparatus for peer-to-peer communications in a wireless local area network |
US20110082939A1 (en) * | 2009-10-02 | 2011-04-07 | Michael Peter Montemurro | Methods and apparatus to proxy discovery and negotiations between network entities to establish peer-to-peer communications |
KR101267983B1 (ko) * | 2011-04-21 | 2013-05-27 | 아이테크 도쿄 코포레이션 | 무선랜 기반 피어투피어 응용간 연결 방법, 무선랜 기반 피어투피어 응용간 연결성 유지 방법 및 무선랜 기반 피어 단말 |
US8966131B2 (en) * | 2012-01-06 | 2015-02-24 | Qualcomm Incorporated | System method for bi-directional tunneling via user input back channel (UIBC) for wireless displays |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075242A (zh) * | 2006-12-25 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 获取网页中网页元素的系统及方法 |
CN101141459A (zh) * | 2007-10-25 | 2008-03-12 | 南京远古科技有限公司 | 使用http与p2p相结合实现数据传输或流媒体传输的方法 |
CN101163156A (zh) * | 2007-09-27 | 2008-04-16 | 腾讯科技(深圳)有限公司 | 获取网络资源的方法、客户端与系统 |
CN101232415A (zh) * | 2007-01-22 | 2008-07-30 | 华为技术有限公司 | 对等网络节点访问装置、方法和系统 |
-
2008
- 2008-09-04 CN CN2008101983194A patent/CN101668029B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075242A (zh) * | 2006-12-25 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 获取网页中网页元素的系统及方法 |
CN101232415A (zh) * | 2007-01-22 | 2008-07-30 | 华为技术有限公司 | 对等网络节点访问装置、方法和系统 |
CN101163156A (zh) * | 2007-09-27 | 2008-04-16 | 腾讯科技(深圳)有限公司 | 获取网络资源的方法、客户端与系统 |
CN101141459A (zh) * | 2007-10-25 | 2008-03-12 | 南京远古科技有限公司 | 使用http与p2p相结合实现数据传输或流媒体传输的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101668029A (zh) | 2010-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9282141B2 (en) | Method and system for loading file in webgame | |
CN104063460B (zh) | 一种在浏览器中加载网页的方法和装置 | |
US8533296B2 (en) | Schema-based feed generation for media syndication | |
US20100115613A1 (en) | Cacheable Mesh Browsers | |
US9204180B2 (en) | Method, server and terminal for audio and video on demand | |
US20090006538A1 (en) | Automatic Distributed Downloading | |
EP2057823B1 (en) | Cache structure | |
US20080040420A1 (en) | Content distribution network | |
US20120072541A1 (en) | Dynamic application programming interface | |
CN103455439B (zh) | 本地缓存装置以及用于提供内容缓存服务的系统和方法 | |
JP6485980B2 (ja) | ネットワークアドレスの解決 | |
US20140143339A1 (en) | Method, apparatus, and system for resource sharing | |
CN102542858B (zh) | 课程播放方法和系统 | |
CN101668029B (zh) | 一种网络设备和网络通讯的方法 | |
CN103369002B (zh) | 一种资源下载的方法及系统 | |
CN105872856A (zh) | 一种流媒体文件分发方法及系统 | |
CN105934930A (zh) | 用于从媒体服务器获得内容的方法和设备 | |
WO2008017502A1 (en) | Content distribution network | |
CN102170456A (zh) | 对等网络中获取内容的方法、装置和系统 | |
Meyn | Browser to browser media streaming with HTML5 | |
Bieri | An overview into the InterPlanetary File System (IPFS): use cases, advantages, and drawbacks | |
CN115883657A (zh) | 一种云盘服务加速调度的方法及系统 | |
CN108810070A (zh) | 一种资源共享方法、装置、智能设备和存储介质 | |
KR101363164B1 (ko) | 변조된 url을 사용하는 미디어 콘텐츠 공유 방법 및 장치 | |
KR100545744B1 (ko) | 클러스터링 환경에서의 모바일 비즈니스 응용 서버간 콘텐츠 캐시 동기화 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120808 Termination date: 20190904 |