CN102065136B - 一种p2p网络安全数据传输方法及其系统 - Google Patents
一种p2p网络安全数据传输方法及其系统 Download PDFInfo
- Publication number
- CN102065136B CN102065136B CN201010595163.0A CN201010595163A CN102065136B CN 102065136 B CN102065136 B CN 102065136B CN 201010595163 A CN201010595163 A CN 201010595163A CN 102065136 B CN102065136 B CN 102065136B
- Authority
- CN
- China
- Prior art keywords
- node
- ordinary node
- data
- server
- resource
- 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
Abstract
本发明公开了一种P2P网络安全数据传输方法及其系统,属于网络通信领域。本方法为:1)命名服务器分配普通节点的ID,并将其发送给数据库服务器;2)普通节点经文件服务器和命名服务器将节点信息发送给数据库服务器;3)文件服务器生成节点资源文件块编号并将编号存储到数据库服务器中;4)文件服务器根据搜索条件查询数据库服务器,并为该节点与资源所在节点建立传输连接。本系统包括数据库服务器、文件服务器、命名服务器以及多个普通节点;其中,所述普通节点之间连接为chord环,文件服务器、命名服务器通过网络分别与普通节点、数据库服务器连接。本发明可以进行大量数据、文件的传输,使得文件和数据可以安全、可靠、高效的传输到目的节点。
Description
技术领域
本发明涉及一种P2P网络安全数据传输方法及其系统,属于网络通信领域;本发明是以P2P网络为基础,能够传输大量数据的系统,具有高安全性、高传输率、高可靠性等优点。
背景技术
随着计算机技术和网络技术的高速发展和应用的普及,越来越多的企业依靠信息化系统进行日常生产和管理来提高企业效益。由于计算机技术发展迅速,以及企业对信息处理和整合提出更多的需求,而企业现存着大量孤立的系统,它们之间各自独立,无法对接,不仅造成企业数据孤立,无法共享,增加系统操作性和维护性的复杂度,同时造成了资源的浪费。
目前系统集成技术的发展呈现出分布式和多元化的趋势。具体表现在,要求系统能在异构信息的整合;各个遗留系统在不重新开发的基础上实现企业信息化整合。随着信息技术与网络技术的持续发展,以及对构建越来越复杂的信息整合、资源共享平台的需要,中间件技术势必成为这些应用最具竞争的解决方案。
数据传输中间件是目前中间件技术发展的热点。目前,大多数数据传输中间件都是以集中式为基础,即所有的数据传输服务由中心服务器来提供,各个通信节点通过中心服务器来实现数据间的传输。集中式数据传输中间件的一个主要问题是低效,易造成中心服务器“单点拥挤”和“单点失败”等弊病,严重影响整个数据传输系统传输效率和数据传输安全性。一旦中心服务器崩溃,整个数据传输系统也随之瘫痪。
对于另外的一些基于DHT结构化分布式的数据传输的安全问题也越来越引起重视。DHT查找目的节点时首先向所处网络的其它节点发出路由查询请求,其它接收到查询请求的节点需要通过查询路由表来找到下一跳的节点,并转发查询请求,直到找到目的节点为止。当正常运行时网络节点性能都很高,但假如网络中存在恶意节点时,其恶意节点散播虚假路由信息使查整个网络系统受到攻击,网络其他节点必然受到严重威胁。
本发明在对P2P技术和现代互联网技术的优缺点进行比较的基础上,以P2P为基础,提高了传统的基于DHT结构化分布式的安全性,避免了上述弊病,确保了数据可以安全高效的传输。
发明内容
本发明的目的在于提供一种P2P网络安全数据传输方法及其系统,可以实现进行大量数据、文件的传输,使得文件和数据可以安全、可靠、高效的传输到目的节点。
本发明采用如下技术方案:
一种P2P网络安全数据传输方法,其步骤为:
1)将普通节点连接为chord环;同时设置一命名服务器和一文件服务器;
2)所述命名服务器分配所述普通节点的ID,并将ID分配信息发送给数据库服务器;
3)所述普通节点向所述文件服务器和所述命名服务器发送节点信息,所述文件服务器、命名服务器将接收的节点信息发送给所述数据库服务器;
4)所述文件服务器对所述普通节点上的文件资源生成文件块编号并将编号存储到数据库服务器中;
5)所述文件服务器根据普通节点的搜索条件查询所述数据库服务器,检索资源所在节点及其完成情况,并为该普通节点与资源所在节点建立连接、进行资源或数据传输。
进一步的,所述节点信息包括:IP地址、端口号、MAC地址、资源列表、资源传输完成情况、数据列表和数据传输完成情况。
进一步的,所述命名服务器根据普通节点的MAC地址,使用哈希算法得出其哈希值,作为该普通节点的ID。
进一步的,所述数据库服务器上存储一资源节点列表,所述数据库服务器根据搜索条件对所述资源节点列表进行检索,得到资源所在节点及其完成情况。
进一步的,所述命令服务器将所述普通节点的ID及其IP进行绑定,当某普通节点接收到路由更新请求时,查询所述命令服务器,通过请求节点的ID和IP来验证请求节点的身份。
进一步的,所述文件服务器根据普通节点的搜索条件查询所述数据库服务器,将该普通节点与资源所在节点的路由通过多条不相交的路径转发给该普通节点。
进一步的,所述普通节点发送数据时,对发送数据进行封装并加上一MD5校验码,普通节点接收数据时根据封装数据的MD5码验证接收数据的完整性。
进一步的,所述普通节点发送数据时,对发送数据进行编号,普通节点检测接收数据的编号是否连续,验证接收数据的完整性。
进一步的,所述普通节点记录发送节点提供给本节点的数据下载速率,优先为数据下载速率大的节点提供数据下载。
进一步的,所述普通节点退出系统时分别向所述文件服务器和所述命名服务器发出退出消息,所述文件服务器和所述命名服务器通知正在从该普通节点传输数据的各个普通节点更新路由和数据列表信息。
进一步的,所述数据库服务器、文件服务器、命名服务器的ID分别为预设定的ID;所述普通节点包括一缓存池模块,用于将本节点的资源或需要转发的资源进行存储。
一种P2P网络安全数据传输系统,其特征在于包括数据库服务器、文件服务器、命名服务器以及多个普通节点;其中所述普通节点之间连接为chord环,每一所述普通节点分别与所述文件服务器、命名服务器通过网络连接,所述文件服务器、命名服务器通过网络分别与所述数据库服务器连接;其中:
所述命名服务器用于控制所述普通节点的ID分配,并将ID分配信息发送给所述数据库服务器;
所述文件服务器用于生成普通节点上文件资源的文件块编号并将编号存储到数据库服务器中;以及根据普通节点的搜索条件查询所述数据库服务器,检索资源所在节点及其完成情况,并为该普通节点与资源所在节点建立连接、进行资源或数据传输;
所述数据库服务器用于存储文件块编号信息以及所述命名服务器发送的普通节点ID分配信息;
所述普通节点用于数据的接收与发送,并向所述文件服务器和所述命名服务器发送节点信息,所述文件服务器、命名服务器将接收的节点信息发送给所述数据库服务器。
本发明的基本功能模块可分为:系统管理模块、数据处理模块、消息队列模块、缓存池模块、资源服务管理模块和数据传输模块。
1系统管理模块
从系统角度配置当前节点,并起到内核的作用,调控各个模块之间的交流。所包括的主要功能有:提供可扩展的消息处理机制,对不同种类型的消息,各个节点可以使用系统的消息处理接口-Message Handler来定义自己的消息器。除去这两个主要功能外,系统管理模块的功能还包括:
(1)读取配置文件,获得当前节点的配置信息。包括的内容:当前节点的类型、指定的共享目录等。
(2)保存当前内核的状态:启动中、运行中、关闭中。
(3)初始化内核。根据不同的节点类型来进行初始化,节点类型包括微型节点(minipeer)一仅包含数据的传输功能的节点,不具备数据处理能力、完全节点(full-featuredpeer)一包含数据传输和数据处理的节点和聚合节点(rendezvous peer)一负责将微型节点的数据汇集的节点。
(4)重启内核。
(5)关闭内核。
(6)内核的功能:根据从消息队列中接收到的消息,产生特定类型的xml消息,如:心跳消息,发现请求消息,发现响应消息等系统消息。
(7)内核可以获得当前节点的全局ID。
(8)加入组,隶属哪些组的标识信息只保存在rendezvous peer中。
(9)退出组。
(10)支持微型节点加入某聚合节点的管理。
(11)支持微型节点退出某聚合节点的管理。
(12)连接管理。管理当前建立的连接。
(13)对各个模块提供日志支持。
2消息队列
消息队列包含发送队列、接收队列和死信队列。主要功能是:提供消息接收队列和消息发送队列,使得节点可以接收其他节点发送过来的消息,同时本节点向其他节点发送消息;提供死信队列来保存消息的生存期过期或消息传递失败的消息。具体地,该模块包含下面的功能:
(1)从系统管理模块得到运行时需要的各个参数,包括发送队列、接收队列和死信队列的长度;消息的失效时间;消息失败重发的尝试次数等。
(2)对于发送队列而言,当待发送的消息被封装好之后,由发送队列调用数据传输模块的接口,将封装好的消息发送出去。
(3)对于接收队列而言,当待接收消息被封装好之后,由接收队列调用数据传输模块的接口,对封装好的消息进行接收处理。
(4)从本节点上收集不同终端或设备待发送的数据,如果数据存放于内存中,则将相应内存中的数据转换为xml消息格式,放入发送队列等待发送。
(5)从本节点上收集不同终端或设备待发送的数据,如果数据存放于文件中,则将相应文件中的数据转换为xml消息格式,放入发送队列等待发送。
(6)如果消息长期错误或者不完整,死信队列通过调用数据传输模块的接口,将错误或者不完整的消息接收过来,试图解析不完整消息的内容,如果成功则转入发送队列进行再次尝试发送;否则做删除处理
(7)使用多个发送接收队列来支持不同的优先级,以保证高优先级的消息先行发送或处理。
(8)支持备份,软件系统做出的任何动作将会记录在备份文件上。
(9)支持恢复,当软件系统出现异常错误时,可以从备份文件上进行事务回滚,来恢复系统。
3数据处理模块
提供对系统数据的各种处理。数据来源包括本节点内部产生的数据和从其他对等节点传输过来的数据。处理的流程为:如果数据需要在本节点进行处理,就利用本节点的消息处理器进行处理;否则直接转发到其他对等节点。具体地,该模块包含下面的功能:
(1)从系统管理模块得到运行时需要的各个参数(如:消息处理器的类名,消息处理器的初始化变量值等),用来初始化本节点的各个消息处理器。
(2)判断从消息队列的接收队列中取出的某个消息是否属于自己处理,如果不属于自己处理,则通过消息队列模块将消息发送出去。否则,如果该消息属于自己处理,则进行步骤(3)。
(3)判断该消息是否完整,如果不完整或者有错误,则产生出错消息,放入发送队列,等待重新发送。如果到了时间周期,消息仍然不完整或者有错误,则按照相应的算法将该消息放入到死信队列当中。
(4)处理接收队列中接收到的消息,根据消息中的标识,如果接收到的数据原来的形式是内存中的数据,则将xml消息格式转换为内存中的数据。
(5)处理接收队列中接收到的消息,根据消息中的标识,如果接收到的数据原来的形式是文件中的数据,将xml消息格式转换为文件块。
(6)如果从另一节点发送过来消息并且该消息需要回执消息,则会产生回执消息。
(7)对将要进行传输的数据进行加密处理,以确保数据传输的安全性。
(8)按照一定的解密算法,对传输过来的数据进行数据的解密处理,以确保数据传输的安全性。
(9)对(4)或者(5)步骤产生的数据根据系统管理模块中配置的消息处理器进行处理。
4缓冲池模块
缓冲池模块缓存了当前运行时暂存的数据,这些数据的来源可以是本节点产生的数据,也可以是从其他对等节点传输过来的数据,本模块的作用是将一些需要反复发送和接受的数据缓存下来,减少与其他对等节点的通讯次数,这样的数据包括但不局限于:本节点所拥有的资源块编号列表,本节点的说明性信息,本节点的邻接节点编号列表等。具体包括:
(1)从系统管理模块得到运行时需要的各个参数来对缓冲池进行初始化。读取的参数包括:缓冲池大小、内存中创建对象的最大值、某个元素消亡前的停顿时间等。
(2)支持多种可见度的缓存数据。分为私有,公有,组公有等。私有的数据只能本节点自己可以读取、改写和更新。公有的数据可以供所有的节点和服务器进行读取、改写和更新。组公有的数据可以供本组的所有节点进行读取、改写和更新。有的节点公布出的资源只能部分被可见,在资源公布的时候会设定权限。如果权限设定为私有,则只能是自己来查看该资源的基本信息。如果权限设定为组,则同一组内的节点可以查看并拥有该资源,如果权限是完全公开的,则连网的所有机器节点都可以查询并拥有该资源。
(3)支持多种类型的缓存数据,包括路由表的信息、节点描述信息等。
(4)包括已知的其他节点资源服务的公告。在本节点上可以看到网络上的所有节点公告信息。
(5)包括本节点的资源服务的公告。本节点在公布资源时,会将相应的描述公布出去。
(6)管理公布,支持对公布进行增删改查。拥有资源的节点可以随时对公布出去的资源进行增加、删除、修改和查询。
(7)缓冲池支持备份。
(8)缓冲池支持恢复。
5资源服务管理模块
包括资源管理和服务管理。本模块的主要功能是对本节点所能提供的资源和服务进行管理。其中服务是本节点能够提供给其他节点的基于本节点的资源的操作。如:FileService里面有一个操作是GetFileSectionBySectionID(long sectionID)指的是通过资源的编号得到本地资源。本模块具体的功能如下:
(1)从系统管理模块得到运行时需要的各个参数来对本模块进行初始化。具体地,读取参数包括:本节点服务的类的名称、资源编号的算法的名称(目前支持MD5、SHA1和SHA2三种编码方式)等。
(2)获取本地所有指定目录下的资源列表,包括内存中的和文件中的。
(3)对资源进行编号。
(4)对系统服务进行编号。
(5)对非系统服务进行编号。
(6)获取本地所有的服务列表。
(7)构造资源描述公告。
(8)构造服务描述公告。
(9)根据缓存池模块提供的接口,对缓存池中的公告信息有增加、删除、修改和查询的功能。
(10)读取指定内存中的数据。
(11)读取指定文件的指定分块的数据,并修改与其对应的缓存池中的公告信息。
(12)修改指定内存中的数据,并修改与其对应的缓存池中的公告信息。
(13)修改指定文件的指导分块的数据,并修改与其对应的缓存池中的公告信息。
(14)增加一个文件,并修改与其对应的缓存池中的公告信息。
(15)增加一个内存数据,并修改与其对应的缓存池中的公告信息。
(16)删除指定内存中的数据,并修改与其对应的缓存池中的公告信息。
(17)删除指定文件的指定分块的数据,并修改与其对应的缓存池中的公告信息。
(18)资源的加密;
(19)资源的解密;
(20)判断联网节点是否为合法节点,如果发现节点被篡改,则将该篡改节点与网络断开。
6数据传输模块
数据传输模块负责使用不同的传输方式进行数据传递。本模块的主要功能是提供各个对等节点之间的通讯,可以支持TCP的通讯方式也可以支持UDP的通讯方式;同时对于处在不同的NAT之后的对等节点提供了NAT穿越的功能,保证各个节点的通讯可以正常进行。
(1)从系统管理模块得到运行时需要的各个参数。
(2)发送消息。
(3)接收消息。
(4)身份认证。
(5)支持不同的传输协议。
(6)路由选择。
与现有技术相比,本发明的积极效果是提高了基于P2P的数据传输的服务质量(QoS)和安全性。具体的体现在下面几个方面:
1.数据及时性和完整性监测。由于本数据传输系统支持多种传输协议,而在使用无连接的UDP协议进行数据传输的时候,数据的及时性和完整性检测就是必不可少的。本发明对于数据及时性的具体检测方法为:首先给节点间传输的消息打上时间戳。其次,当当前节点(peer)和其他节点通过UDP发送数据后,立即启动对数据的及时性检测。第一个检测周期只记录数据,不计算延迟,也就是记下当前发送数据的时间点。在这个周期内,计算得出发送消息的最大时间戳备用。在接下来的检测中,用当前的周期的最大时间戳减去上一个周期的最大时间戳,便可以得到当前周期内数据可以到达特定节点的时间长度。用这个时间长度减去QoS检测周期,就得到当前周期的两个节点之间数据传输的时延。通过时延的大小,来判断两个节点间数据传输的及时性。本发明对于数据完整性的检测分为两个方面:一个是在发送节点对数据进行消息封装的时候,就在消息内部加上一个MD5的校验码,如果在接收节点检验正确,那么就验证了数据的完整性;另一个是对发送的消息进行消息编号,如果接收节点收到的消息是连续的编号,那么就验证了消息的发送接收的完整性。
2.负载均衡机制。随着节点的增多,由于待传输的数据可能在不同的节点上都存在,因此如何选择合适的节点就决定了是否数据能够在网络中顺利的传输。本发明提出的方法是一个改进的阻塞算法:由于采用了Chord环作为本系统的拓扑结构,因此节点能够一直与固定数量的节点保持连接。每个节点会给其他若干节点提供上次服务,这些节点是曾经提供给此节点最大下载速率的节点。并拒绝那些之前提供给此节点下载速率较慢的节点。然后,每隔10秒钟,对这两种类型的节点列表进行更新。该算法可以使每个参与的节点尽量地给其他节点提供数据传输服务,只有这样它才能从其他节点处得到更好的服务。因此,既激励了共享的节点,也惩罚了自私的节点,使得数据可以顺利的在本发明所提出的系统中进行传输,不会因为节点的增多而崩溃。
3.ID分配安全。ID分配是节点加入本发明的数据传输系统的重要步骤。ID的获取关系着节点身份的获取、传输数据的恢复、资源存储位置和控制权等重要因素。因此,ID分配安全是其他安全机制的基础。本发明采用的是改进后Chord的ID生成算法,输入采用了节点的MAC地址,然后使用SHA-512得出其哈希值,作为输出得到一个512位的串。一个MAC地址对应一个512的哈希串。全网使用统一的ID分配算法,防止出现ID碰撞,具有统一性;生成算法由本发明中的命名服务器控制,普通数据传输的节点不能控制,具有封闭性;由于引入了服务器来分配ID,因此对于重要ID可以控制获取该ID的节点,具有可控性;节点不能通过频繁运行ID分配算法得到自己想要的ID,具有不可重复性。
4.路由安全算法。本系统的路由信息均是通过普通节点与命名服务器之间的消息交换完成。当普通节点A将与普通节点B建立连接的时候,通过向命名服务器发送路由查询消息,从而得到需要的路由信息。路由攻击一般指的是攻击者作为DHT查找系统的参与者,冒充正常节点把通过它的查找请求转发至不正确或不存在的节点,同时向其他节点发送不正确的路由信息来破坏其他节点的路由表,从而导致整个网络系统不能进行正确的路由操作。本发明的路由安全算法包括两个部分:路由更新消息的安全和路由查询消息的安全。
a)本发明的路由更新消息安全算法:为了避免节点伪造其他节点身份向被攻击节点发送路由更新信息,本发明采用了通过命名服务器将节点512位的字符串ID和节点IP进行绑定的方式,因此当被攻击节点接收到路由更新的时候,可以通过ID和IP来验证身份,避免了伪造的可能;为了避免恶意节点生成错误的路由更新消息毒害被攻击节点的路由表,本发明采用了通过多个节点获取路由信息,即通过命名服务器,将路由信息(比如普通节点A到普通节点B的路由信息)不仅仅传送到A和B上,也传送到从A到B的路径节点上并在这些节点上缓存起来(比如普通节点C和普通节点D);这样下次从C到D建立连接的时候,就不仅可以从命名服务器获得路由信息,也可以从缓存的A到B的路由信息中得到C到D的路由信息,并对这些消息进行比对,从而避免了恶意节点的路由更新消息的攻击。
b)本发明的路由查询消息安全算法:本算法的目的是节点根据路由转发规则,将接收到的路由信息进行正确的转发。为此,本发明提出路由查询消息安全算法:将普通节点发送至命名服务器的路由查询消息,通过多条不相交的路径转发至命名服务器上,从而避免了路由查询消息被拦截或者冒充的攻击。
附图说明
图1本发明系统部署图;
图2为系统整体功能框架;
图3节点加入网络;
图4节点进行资源搜索;
图5节点进行数据传输;
图6节点退出网络。
具体实施方式
1.本发明系统部署图
如附图1所示,本系统部署一般包含三个服务器和多个节点。服务器之间通过消息进行交互。节点之间构成一个chord环。数据库服务器、文件服务器和命名服务器与普通节点的构成都如附图2所示,不同之处在于,数据库服务器中的消息处理所处理的消息均为与数据的操作相关的消息处理,如:DataSaveMessage消息里面包含有需要存储的数据;DataDeleteMessage消息里面包含有需要删除的数据等。文件服务器中的消息处理所处理的消息均为文件的定位,查找,传输相关的消息,如:FileSectionSearchMessage消息里面包含有需要查询的消息块编号;FileSectionTransferMessage消息里面包含有需要传输消息块等。命名服务器的消息处理所处理的消息均为节点或者文件块的命名消息,使用一个512位的字符串来标识节点或者文件块。处理的消息如:NodeIDGenMessage消息用来请求得到当前节点的编号;FileSectionGenMessage消息用来请求得到当前文件块的编号等。普通节点根据功能不同将会加载不同的消息处理。
服务器及节点构成,如附图2所示,包括六个模块:系统管理模块、消息传输模块、消息队列模块、数据处理模块、缓存池模块和资源服务管理模块。
2.节点启动
节点启动的过程也就是加入本发明的P2P的网络过程。每个节点需要向文件服务器和命名服务器发送节点节点的信息,包括:IP地址、端口号、MAC地址、资源列表、资源传输完成情况、数据列表和数据传输完成情况。具体流程如附图3所示:节点向文件服务器和命名服务器发出连接请求,如果成功连接,就将本地的这些信息分别发送到两个服务器上。
这里本发明的系统管理模块的职责是:收集本节点的信息(包括IP地址、端口号、MAC地址、资源列表、资源传输完成情况、数据列表和数据传输完成情况等)。输入为节点配置文件;输出为上述信息。
数据处理模块在这里的职责是:将系统管理模块收集到的信息组装成系统消息NodeInfoMessage。输入为系统管理模块收集到的信息;输出为包含这些信息的两份目标地址分别为文件服务器和命名服务器的消息--NodeInfoMessage。
消息队列模块在这里的职责是:将两个NodeInfoMessage放入到发送队列。输入为:两个NodeInfoMessage消息;输出无。
消息传输模块在这里的职责是:将消息发送队列中的消息发送出去。由于消息传输模块是自动到发送队列中获取消息。因此输入为:发送队列。输出为:消息发送成功与否的标识。
3.资源搜索
资源搜索的过程是节点连接文件服务器,查找资源所在节点ID的过程。由于本发明对资源采用了文件服务器对各个节点的资源进行管理,生成普通节点上文件资源的文件块编号并将编号存储到数据库服务器中,因此本过程的第一步是节点和文件服务器建立连接。然后,是根据搜索条件对文件服务器上存储在数据库服务器中的资源节点列表进行检索,得到资源分布地存储在哪些节点上,及其完成情况。接着,就是将文件服务器的查询结果构造成消息返回给节点。最后一步就是与资源所在的节点建立连接,进行资源或者数据传输。
这里本发明的系统管理模块的职责是:读取缓存模块的大小等配置参数,初始化缓冲池。输入为节点配置文件;输出为配置参数。
数据处理模块在这里的职责是:将搜索条件构造成查询消息-QueryMessage。输入为用户输入的查询条件;输出为包含这些条件的查询消息-QueryMessage。
另外,数据处理模块也负责将文件服务器返回的查询结果消息-QueryResultMessage进行解析,得到资源所在节点的ID和各个节点上的资源完成情况。输入为QueryResultMessage;输出为资源所在节点的ID和各个节点上的资源完成情况。
消息队列模块在这里的职责是:将QueryMessage放入到发送队列。输入为:QueryMessage消息;输出无。
另外,消息队列模块也负责接收文件服务器发送回来的QueryResultMessage。
消息传输模块在这里的职责是:将消息发送队列中的消息发送出去。由于消息传输模块是自动到发送队列中获取消息。因此输入为:发送队列。输出为:消息发送成功与否的标识。
另外,消息传输模块也负责将文件服务器的消息传输到消息队列模块的接收队列中。缓存池模块这里负责将本节点的资源或者需要转发的资源缓存下来的作用。
4.数据传输
数据传输的过程如附图5所示。本发明将资源进行了分片处理,每4KB作为一片,每50片作为一个簇。因此,在进行数据或者资源传输之前,需要通过文件服务器确定普通节点所拥有的资源或者数据所在的位置,然后得到需要传输的数据或者资源所在的节点ID,与他们建立连接,传输数据。
这里本发明的系统管理模块的职责是:读取分片信息和簇信息(比如:4KB每片,50片作为一簇)。输入为节点配置文件;输出为配置参数。
数据处理模块在这里的职责是:对普通节点的数据进行处理得到未完成的片数和簇数。同时,对从其他对等节点传输过来的消息进行解析,得到其中的数据。最后在数据或者资源的片段接收完毕,需要将所有的数据进行组合得到完整的数据。
消息队列模块在这里的职责是:将待发送的数据放入到发送队列。将接收到的数据放入到接收队列。
消息传输模块在这里的职责是:将消息发送队列中的消息发送出去。由于消息传输模块是自动到发送队列中获取消息。因此输入为:发送队列。输出为:消息发送成功与否的标识。
5.退出网络
退出网络的过程如附图6所示。主要流程为:节点分别向文件服务器和命名服务器发出退出消息QuitMessage。然后,两个服务器负责通知正在从该节点传输数据的各个节点,使得他们能够更新路由和数据列表信息。最后,该节点退出。
Claims (15)
1.一种P2P网络安全数据传输方法,其步骤为:
1)将普通节点连接为chord环;同时设置一命名服务器和一文件服务器;
2)所述命名服务器分配所述普通节点的ID,并将ID分配信息发送给数据库服务器;
3)所述普通节点向所述文件服务器和所述命名服务器发送节点信息,所述文件服务器、命名服务器将接收的节点信息发送给所述数据库服务器;
4)所述文件服务器对所述普通节点上的文件资源生成文件块编号并将编号存储到数据库服务器中;
5)所述文件服务器根据普通节点的搜索条件查询所述数据库服务器,检索资源所在节点及其资源或数据传输的完成情况,并为该普通节点与资源所在节点建立连接、进行资源或数据传输;
其中,所述命名服务器将所述普通节点的ID及其IP进行绑定,当某普通节点接收到路由更新请求时,查询所述命名服务器,通过请求节点的ID和IP来验证请求节点的身份;所述命名服务器将路由信息AB不仅传送到普通节点A、B上,也传送并缓存到从普通节点A到普通节点B路径上的中间普通节点上,当建立中间普通节点C到中间普通节点D的路由时,从所述命名服务器获得路由信息CD并将其与缓存的路由信息AB中得到的路由信息CD进行比对;路由信息AB为从普通节点A到普通节点B的路由信息,路由信息CD为从普通节点C到普通节点D的路由信息。
2.如权利要求1所述的方法,其特征在于所述节点信息包括:IP地址、端口号、MAC地址、资源列表、资源传输完成情况、数据列表和数据传输完成情况。
3.如权利要求2所述的方法,其特征在于所述命名服务器根据普通节点的MAC地址,使用哈希算法得出其哈希值,作为该普通节点的ID。
4.如权利要求1或2或3所述的方法,其特征在于所述数据库服务器上存储一资源节点列表,所述数据库服务器根据搜索条件对所述资源节点列表进行检索,得到资源所在节点及其完成情况。
5.如权利要求1或2或3所述的方法,其特征在于所述文件服务器根据普通节点的搜索条件查询所述数据库服务器,将该普通节点与资源所在节点的路由通过多条不相交的路径转发给该普通节点。
6.如权利要求1所述的方法,其特征在于所述普通节点发送数据时,对发送数据进行封装并加上一MD5校验码,普通节点接收数据时根据封装数据的MD5码验证接收数据的完整性。
7.如权利要求1所述的方法,其特征在于所述普通节点发送数据时,对发送数据进行编号,普通节点检测接收数据的编号是否连续,验证接收数据的完整性。
8.如权利要求1或6或7所述的方法,其特征在于所述普通节点记录发送节点提供给本节点的数据下载速率,优先为数据下载速率大的节点提供数据下载。
9.如权利要求1所述的方法,其特征在于所述普通节点退出系统时分别向所述文件服务器和所述命名服务器发出退出消息,所述文件服务器和所述命名服务器通知正在从该普通节点传输数据的各个普通节点更新路由和数据列表信息。
10.如权利要求1所述的方法,其特征在于所述数据库服务器、文件服务器、命名服务器的ID分别为预设定的ID;所述普通节点包括一缓存池模块,用于将本节点的资源或需要转发的资源进行存储。
11.一种P2P网络安全数据传输系统,其特征在于包括数据库服务器、文件服务器、命名服务器以及多个普通节点;其中所述普通节点之间连接为chord环,每一所述普通节点分别与所述文件服务器、命名服务器通过网络连接,所述文件服务器、命名服务器通过网络分别与所述数据库服务器连接;其中:
所述命名服务器用于控制所述普通节点的ID分配,并将ID分配信息发送给所述数据库服务器;
所述文件服务器用于生成普通节点上文件资源的文件块编号并将编号存储到数据库服务器中;以及根据普通节点的搜索条件查询所述数据库服务器,检索资源所在节点及其资源或数据传输的完成情况,并为该普通节点与资源所在节点建立连接、进行资源或数据传输;
所述数据库服务器用于存储文件块编号信息以及所述命名服务器发送的普通节点ID分配信息;
所述普通节点用于数据的接收与发送,并向所述文件服务器和所述命名服务器发送节点信息,所述文件服务器、命名服务器将接收的节点信息发送给所述数据库服务器;
其中,所述命名服务器将所述普通节点的ID及其IP进行绑定,当某普通节点接收到路由更新请求时,查询所述命名服务器,通过请求节点的ID和IP来验证请求节点的身份;所述命名服务器将路由信息AB不仅传送到普通节点A、B上,也传送并缓存到从普通节点A到普通节点B路径上的中间普通节点上,当建立中间普通节点C到中间普通节点D的路由时,从所述命名服务器获得路由信息CD并将其与缓存的路由信息AB中得到的路由信息CD进行比对;路由信息AB为从普通节点A到普通节点B的路由信息,路由信息CD为从普通节点C到普通节点D的路由信息。
12.如权利要求11所述的系统,其特征在于所述节点信息包括:IP地址、端口号、MAC地址、资源列表、资源传输完成情况、数据列表和数据传输完成情况。
13.如权利要求11或12所述的系统,其特征在于所述命名服务器将所述普通节点的ID及其IP进行绑定,当某普通节点接收到路由更新请求时,查询所述命名服务器,通过请求节点的ID和IP来验证请求节点的身份。
14.如权利要求13所述的系统,其特征在于所述文件服务器根据普通节点的搜索条件查询所述数据库服务器,将该普通节点与资源所在节点的路由通过多条不相交的路径转发给该普通节点。
15.如权利要求13所述的系统,其特征在于所述普通节点退出系统时分别向所述文件服务器和所述命名服务器发出退出消息,所述文件服务器和所述命名服务器通知正在从该普通节点传输数据的各个普通节点更新路由和数据列表信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010595163.0A CN102065136B (zh) | 2010-12-10 | 2010-12-10 | 一种p2p网络安全数据传输方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010595163.0A CN102065136B (zh) | 2010-12-10 | 2010-12-10 | 一种p2p网络安全数据传输方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102065136A CN102065136A (zh) | 2011-05-18 |
CN102065136B true CN102065136B (zh) | 2014-11-05 |
Family
ID=44000235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010595163.0A Expired - Fee Related CN102065136B (zh) | 2010-12-10 | 2010-12-10 | 一种p2p网络安全数据传输方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102065136B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9148478B2 (en) * | 2011-10-25 | 2015-09-29 | Alcatel Lucent | Verification of integrity of peer-received content in a peer-to-peer content distribution system |
CN103259866B (zh) * | 2013-05-23 | 2016-01-27 | 中国科学院计算机网络信息中心 | 一种多点传输dns区文件的方法和系统 |
WO2016138611A1 (en) * | 2015-03-02 | 2016-09-09 | Microsoft Technology Licensing, Llc | Monitoring and reporting transmission and completeness of data upload from a source location to a destination location |
CN105631269B (zh) * | 2015-12-30 | 2018-11-27 | 成都广达新网科技股份有限公司 | 一种缓存服务器数据库资源可用性检测方法及装置 |
CN109165503B (zh) * | 2018-06-22 | 2021-09-24 | 湖南鼎源蓝剑信息科技有限公司 | 基于rasp区分后台线程权限与ui线程权限的方法 |
CN110191146A (zh) * | 2019-03-21 | 2019-08-30 | 北京北信源软件股份有限公司 | 一种基于浏览器的文件远程调阅方法及系统 |
CN110417913A (zh) * | 2019-08-09 | 2019-11-05 | 浪潮云信息技术有限公司 | 一种基于Rabbit MQ的云服务器异步创建方法 |
CN111597058B (zh) * | 2020-04-17 | 2023-10-17 | 微梦创科网络科技(中国)有限公司 | 一种数据流处理方法及系统 |
CN111614546A (zh) * | 2020-04-30 | 2020-09-01 | 南京南瑞信息通信科技有限公司 | 用于oa系统的实时信息交互方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1672416A (zh) * | 2002-07-24 | 2005-09-21 | 纳格拉卡德股份有限公司 | 用于安全数据传输的方法和电子模块 |
CN101286176A (zh) * | 2008-06-03 | 2008-10-15 | 江西省电力信息通讯有限公司 | 基于分布式哈希表的静态网页保护方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101304385A (zh) * | 2008-07-09 | 2008-11-12 | 南京邮电大学 | 一种大型对等网络流媒体系统的改进方法 |
JP4488094B2 (ja) * | 2008-07-28 | 2010-06-23 | ソニー株式会社 | 通信ノードと通信方法およびコンピュータ・プログラム |
-
2010
- 2010-12-10 CN CN201010595163.0A patent/CN102065136B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1672416A (zh) * | 2002-07-24 | 2005-09-21 | 纳格拉卡德股份有限公司 | 用于安全数据传输的方法和电子模块 |
CN101286176A (zh) * | 2008-06-03 | 2008-10-15 | 江西省电力信息通讯有限公司 | 基于分布式哈希表的静态网页保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102065136A (zh) | 2011-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102065136B (zh) | 一种p2p网络安全数据传输方法及其系统 | |
CN105247529B (zh) | 在目录服务之间同步凭证散列 | |
CN101371237B (zh) | 在网络元件中代表应用执行消息有效载荷处理功能 | |
CN104767834B (zh) | 用于加速计算环境到远程用户的传送的系统和方法 | |
KR100488672B1 (ko) | 메일 처리 시스템 | |
CN102769529A (zh) | Dnssec签名服务器 | |
CN104011701A (zh) | 内容传送网络 | |
MXPA04005736A (es) | Sistema y metodo para descargar informacion usando un representante. | |
WO2002076003A2 (en) | System and method for peer-to-peer file exchange mechanism from multiple sources | |
JP2005316993A (ja) | ネットワーク上においてコンピュータ間でオブジェクトを共有するためのシステムおよび方法 | |
JP2006506877A (ja) | ピアツーピア環境におけるネットワーク・トラフィック制御 | |
CN102130838A (zh) | 一种基于阿瑞斯协议的对等网络缓存系统的实现方法 | |
CN104219327A (zh) | 一种分布式缓存系统 | |
CN101426019A (zh) | 手机系统的数据文件传输方法 | |
CN102438042A (zh) | 一种多点接入设备的动态参数同步方法及系统 | |
JP4356693B2 (ja) | メッセージ配信装置及びその方法並びにシステム及びプログラム | |
CN110519212A (zh) | 一种基于匿名推断的通信转发系统 | |
EP1565839B1 (en) | Index server support to file sharing applications | |
CN102316154A (zh) | 优化对基于联盟基础结构的资源的访问 | |
CN103138961B (zh) | 服务器控制方法、被控服务器及中心控制服务器 | |
CN102037711A (zh) | 在对等网络中限制存储消息 | |
US5996017A (en) | Method for information exchange in the customer/server mode between stations connected by a communication network | |
JP3930516B2 (ja) | サーバ装置、サーバシステムおよびサーバシステムの負荷分散方法 | |
JP2008065611A (ja) | ソフトウェア更新方式及びソフトウェア更新プログラム | |
CN1889418B (zh) | 一种网络存储方法与网络存储系统 |
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: 20141105 Termination date: 20171210 |