释放连接的方法、装置及系统与流程

文档序号:12278943阅读:288来源:国知局
释放连接的方法、装置及系统与流程

本发明互联网技术领域,特别是涉及一种释放连接的方法、装置及系统。



背景技术:

随着互联网技术的快速发展及广泛普及,在互联网中进行通信连接的方式也越来越多,例如,对等网络(Peer to Peer,P2P)连接。所谓P2P连接为互联网中的各个计算机拥有相同的功能,通过P2P连接方式连接的两个节点之间可以通过数据交互的方式实现计算机资源、存储及信息服务的共享。

目前,在P2P网络环境中,计算机节点与计算机节点间通过自发建立通路的方式建立通信连接,建立的通信连接具有随机性。当P2P网络环境中未建立过通信关系的两个计算机节点之间,同时向对方发送连接请求时,可能会出现计算机节点之间同时为对方建立信道的问题,即两个相同的计算机节点间存在两条双向通路,称为“对开连接”,而在实际应用中,不同计算机节点之间的通信仅需一条信道即可。在计算机节点发起主动连接时,均会占用一个端口及对应的文件描述符,而两个相同计算机节点之间建立重复的连接,会占用不必要的端口资源,此外,在通过心跳监测等技术维护两个计算机节点间是通信通路时,造成大量系统资源的浪费。

为了解决上述问题,现有技术中提供了如下技术方案一,包括:在建立对开连接的两个计算机节点间进行通信时,优先使用计算机节点其自身作为连接发起方所创建的通信通路,使用连接生存期自动断开对开连接,即计算机节点作为连接发起方如果在预定时间段内未发送任何通信数据(即连接发起方的计算机节点在预定时间段内处于空闲状态),则关闭该条通信通路,能够在一定程度上解决对开连接造成的端口占用及系统资源的大量浪费的情况。虽然连接发起方的计算机节点能够监控其是否空闲状态,但是,只有当连接发起方的计算机节点在超过空闲状态下的预定时间段内未向对方发送通信数据时,才会关闭对开连接,若连接发起方的计算机节点向对方发送通信数据的时间间隔小于处于空闲状态的预定时间间隔,则上述计算机节点之间会持续保持对开连接。

上述现有技术中提供的技术方案一虽然能够在一定程度上解决计算机节点间对开连接造成的端口占用及系统资源的大量浪费的问题,但是,该种方式取决于发起方的计算机节点的空闲状态。为了解决技术方案一存在的确定,现有技术中提供如下技术方案二,包括:在两个计算机节点建立通信时,请求第三方仲裁,即在P2P网络环境中,确定一个计算机节点作为仲裁节点,当两个计算机节点间存在对开连接时,请求第三方仲裁,仲裁过程包括:计算机节点A与计算机节点B在确定存在对开连接后,分别向第三方仲裁发送请求仲裁信息,由第三方仲裁确定断开计算机节点A与计算机节点B间的其中一条通信通路,以解决对开连接时占用不必要的端口资源,及系统资源大量浪费的问题,但是,该种实现方式中,仲裁的过程依赖于第三方节点,仲裁过程中,计算机节点A与计算机节点B必须与第三方节点建立单独连接,若计算机节点A或者计算机节点B与第三方节点的通信存在问题,则仲裁过程中断,继而可能影响计算机节点A与计算机节点B之间的通信;因此,通过请求第三方仲裁的方式仲裁过程复杂,易出错,且效率低。



技术实现要素:

有鉴于此,本发明提供的一种释放连接的方法、装置及系统,主要目的在于解决现有技术中在断开两个计算节点之间的对开连接时,需依赖于第三方仲裁断开对开连接中的一条连接,但是,仲裁过程复杂,易出错,且效率低的问题。

第一方面,本发明提供了一种释放连接的方法,包括:

当两个计算节点之间存在对开连接时,第一计算节点接收第二计算节点发送的第二裁决权值;

将所述第二裁决权值与自身的第一裁决权值进行比对,所述第一裁决权值与所述第二裁决权值分别为所述第一计算节点和所述第二计算节点随机生成的数值;

若所述第二裁决权值与所述第一裁决权值不同,则断开对开连接中的一条连接。

可选的,断开对开连接中的一条连接包括:

若所述第一裁决权值大于所述第二裁决权值,则保留所述第一计算节点向所述第二计算节点发起的连接,并断开所述第二计算节点向第一计算节点发起的连接;

若确定所述第一裁决权值小于所述第二裁决权值,则保留所述第二计算节点向所述第一计算节点发起的连接,并断开所述第一计算节点向所述第二计算节点发起的连接。

可选的,所述方法还包括:

若确定所述第二裁决权值等于所述第一裁决权值,则接收所述第二计算节点发送的第四裁决权值,并将所述第四裁决权值与自身的第三裁决值进行比对,直到确定第二计算节点发送的裁决权值与自身的裁决权值不相同为止。

可选的,在第一计算节点接收第二计算节点发送的第二裁决权值之前,所述方法还包括:

获取主动连接列表,所述主动连接列表中所述第一计算节点作为连接发起方,用于记录所述第一计算节点向第二计算节点发送建立连接请求中,第二计算节点的信息;

获取被动连接列表,所述被动连接列表中所述第一计算节点作为被连接方,用于记录接收所述第二计算节点发送所述建立连接请求中,第二计算节点的信息;

分别从所述主动连接列表及所述被动连接列表中获取第二计算节点的信息;

若确定从所述主动连接列表及所述被动连接列表中获取第二计算节点的信息一致,则确定所述第一计算节点与所述第二计算节点之间存在对开连接。

可选的,断开对开连接中的一条连接,包括:

接收断开操作指令,所述断开操作指令用于指示由所述第一计算节点断开对开连接中的一条连接;

或者,向所述第二计算节点发送断开连接通知消息,所述断开连接通知消息用于指示由所述第二计算节点执行断开对开连接中的一条连接。

可选的,将所述第二裁决权值与自身的第一裁决权值进行比对包括:

分别对所述第一裁决权值及所述第二裁决权值进行解析;

获取所述第一裁决权值对应的第一当前裁决ID,并获取所述第二裁决权值对应的第二当前裁决ID;其中,裁决ID用于标识当前裁决权值的比对次数;

将所述第一当前裁决ID与所述第二当前裁决ID进行比对;

若确定所述第一当前裁决ID与所述第二当前裁决ID相同,则将所述第一裁决权值与所述第二裁决权值比对;

若确定所述第一当前裁决ID与所述第二当前裁决ID不相同,则分别获取当前最大裁决ID对应的裁决权值,并比对获取后的裁决权值。

第二方面,本发明提供了一种释放连接的装置,该装置包括:

第一接收单元,用于当两个计算节点之间存在对开连接时,第一计算节点接收第二计算节点发送的第二裁决权值;

比对单元,用于将所述接收单元接收到的所述第二裁决权值与自身的第一裁决权值进行比对,所述第一裁决权值与所述第二裁决权值分别为所述第一计算节点和所述第二计算节点随机生成的数值;

断开单元,用于当所述比对单元比对所述第二裁决权值与所述第一裁决权值不同时,断开对开连接中的一条连接。

可选的,所述断开单元包括:

第一处理模块,用于当所述第一裁决权值大于所述第二裁决权值时,保留所述第一计算节点向所述第二计算节点发起的连接,并断开所述第二计算节点向第一计算节点发起的连接;

第二处理模块,用于当确定所述第一裁决权值小于所述第二裁决权值时,保留所述第二计算节点向所述第一计算节点发起的连接,并断开所述第一计算节点向所述第二计算节点发起的连接。

可选的,所述装置还包括:

第二接收单元,用于当所述比对单元确定所述第二裁决权值等于所述第一裁决权值时,接收所述第二计算节点发送的第四裁决权值;

处理单元,用于将所述第二接收单元接收到的所述第四裁决权值与自身的第三裁决值进行比对,直到确定第二计算节点发送的裁决权值与自身的裁决权值不相同为止。

可选的,所述装置还包括:

第一获取单元,用于在所述第一接收单元接收第二计算节点发送的第二裁决权值之前,获取主动连接列表,所述主动连接列表中所述第一计算节点作为连接发起方,用于记录所述第一计算节点向第二计算节点发送建立连接请求中,第二计算节点的信息;

第二获取单元,用于获取被动连接列表,所述被动连接列表中所述第一计算节点作为被连接方,用于记录接收所述第二计算节点发送所述建立连接请求中,第二计算节点的信息;

第三获取单元,用于分别从所述第一获取单元获取的所述主动连接列表及所述第二获取单元获取的所述被动连接列表中获取第二计算节点的信息;

确定单元,用于当确定从所述主动连接列表及所述被动连接列表中获取第二计算节点的信息一致时,确定所述第一计算节点与所述第二计算节点之间存在对开连接。

可选的,所述断开单元还包括:

接收模块,用于接收断开操作指令,所述断开操作指令用于指示由所述第一计算节点断开对开连接中的一条连接;

发送模块,用于向所述第二计算节点发送断开连接通知消息,所述断开连接通知消息用于指示由所述第二计算节点执行断开对开连接中的一条连接。

可选的,所述比对单元包括:

解析模块,用于分别对所述第一裁决权值及所述第二裁决权值进行解析;

获取模块,用于在所述解析模块分别对所述第一裁决权值及所述第二裁决权值进行解析过程中,获取所述第一裁决权值对应的第一当前裁决ID,并获取所述第二裁决权值对应的第二当前裁决ID;其中,裁决ID用于标识当前裁决权值的比对次数;

第一比对模块,用于将所述获取模块获取的所述第一当前裁决ID与所述第二当前裁决ID进行比对;

第二比对模块,用于当所述第一比对模块确定所述第一当前裁决ID与所述第二当前裁决ID相同时,将所述第一裁决权值与所述第二裁决权值比对;

处理模块,用于当所述第一比对模块确定所述第一当前裁决ID与所述第二当前裁决ID不相同时,分别获取当前最大裁决ID对应的裁决权值,并比对获取后的裁决权值。

第三方面,本发明提供一种释放连接的系统,包括:第一计算节点及第二计算节点;其中,

所述第二计算节点,用于当所述第一计算节点与所述第二计算节点存在对来连接时,向所述第一计算节点发送第二裁决权值;

所述第一计算节点,用于接收所述第二计算节点发送的所述第二裁决权值,并将所述第二裁决权值与自身的第一裁决权值进行比对,当所述第二裁决权值与所述第一裁决权值不同时,断开对开连接中的一条连接;其中,所述第一裁决权值与所述第二裁决权值分别为所述第一计算节点和所述第二计算节点随机生成的数值。

可选的,所述系统还包括:

所述第一计算节点,还用于接收并执行断开操作指令,所述断开操作指令用于断开对开连接中的一条连接;

所述第一计算节点,还用于向所述第二计算节点发送断开连接通知消息,所述断开连接通知消息用于指示由所述第二计算节点执行断开对开连接中的一条连接;

所述第二计算节点,还用于接收所述第一计算节点发送的所述断开连接通知消息,并执行断开对开连接中的一条连接。

借由上述技术方案,本发明提供的释放连接的方法、装置及系统,当确定两个计算节点之间存在对开连接时,第一计算节点接收第二计算节点发送的第二裁决权值,将第二裁决权值与自身的第一裁决权值进行比对,若确定第二裁决权值与第一裁决权值不同,则断开对开连接中的一条连接,与现有技术相比,本发明在确定两个计算节点存在对开连接的情况下,可以在该两个计算节点之间自行协商,断开对开连接中任一条连接,实现两个计算节点之间通过一条连接进行通信,该自行协商的过程简单、高效且易实现,从而能够减少对开连接对系统资源及网络资源的消耗。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种释放连接的方法的流程图;

图2示出了本发明实施例提供的一种两个计算节点间的对开连接的示意图;

图3示出了本发明实施例提供的一种计算节点之间执行裁决过程的示意图;

图4示出了本发明实施例提供的一种断开对开连接中的一条连接的示意图;

图5示出了本发明实施例一种释放连接的装置的组成框图;

图6示出了本发明实施例另一种释放连接的装置的组成框图;

图7示出了本发明实施例一种释放连接的系统的组成框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供一种释放连接的方法,如图1所示,所述方法包括:

101、当两个计算节点之间存在对开连接时,第一计算节点接收第二计算节点发送的第二裁决权值。

本发明实施例应用于对等网络(Peer to Peer,P2P)环境中,存在多个计算节点,该些计算节点具体相同的功能,无主次之分,即P2P网络环境中的所有计算节点都处于对等地位,任意两个计算节点之间可直接共享计算机资源和服务。

在P2P网络环境中,计算节点与计算节点自发的建立通信通路,及节点之间的通信具有随机性,以下以P2P网络环境中的任意两个计算节点:第一计算节点与第二计算节点为例进行说明。第一计算节点作为连接发起方,向第二计算节点发送建立连接请求,建立第一计算节点与第二计算节点之间的通路;此时,第二计算节点作为连接发起方,向第一计算节点发送建立连接的请求,建立第二计算节点与第一计算节点之间的通路。此时,第一计算节点与第二计算节点之后存在两条通信通路,即第一计算节点与第二计算节点之间存在对开连接,而在实际应用中,两个节点之间的通信,只需一条通信通路即可,若两个相同的计算节点之间存在两条通信通路,则会造成系统资源的浪费。

由上述可以得出,两个计算节点存在对开连接的条件为:两个计算节点之间从未通信,并且两个计算节点同时向对方发送建立网络通信连接的请求,该种连接方式会出现两个计算节点同时向对方建立通信信道,即两个计算节点之间存在对开连接。

需要说明的是,这里的第一计算节点与第二计算阶段仅是为了描述上的方便,其并不是指一个P2P网络环境中只有两个节点,而是可以包括者多个计算节点,且每个计算节点均具有相同的功能。

在现有技术中,假设,一个对等网络(Peer to Peer,P2P)环境中,包含N=30个计算节点,理论上,两个计算节点之间建立N(N-1)/2=435个连接即可实现P2P网络环境中所有节点之间的通信,但是,在实际应用中,最坏的情况下可能会产生N(N-1)=870个连接,实际建立的连接个数比理论上建立的连接个数多出一倍,计算节点与计算节点之间建立了无用的连接,造成计算节点上端口的占用,此外,将无畏浪费大量的系统资源及网络资源。

为了解决上述问题,本发明实施例中,当确定两个计算节点之间存在对开连接时,第一计算节点接收第二计算节点发送的第二裁决权值,第二计算节点接收第一计算节点发送的第一裁决权值,其中,裁决权值为计算节点随机生成的数值,且该数值有一个数值范围,例如,数值范围为0-65535等等,具体的,在设定裁决权值的数值范围时,数值范围越大,一次性裁决成功的机率越大,数值范围设置的越小,一次性裁决成功的机率越小,具体的本发明实施例对裁决权值的数值范围不作限定。

作为本发明实施例的另一种实现方式,在第一计算节点与第二计算节点建立对开网络后,第一计算节点与第二计算节点首次发送裁决权值时,可以直接使用连接发起方占用的本地端口号,该本地端口号为建立传输控制协议(Transmission Control Protocol,TCP)连接时,连接发起方会随机占用本地一个端口,将该本地端口号作为裁决权值,能够加快裁决速度。该种说明方式并非意在限定裁决权值仅能为连接发起方占用的本地端口号。

在实际应用中,第一计算节点与第二计算节点建立对开连接后,两者均要向对方发送其自身的裁决权值,以便将两者的裁决权值进行比对,即第一计算节点接收第二计算节点发送的第二裁决权值,第二计算节点接收第一计算节点发送的第一裁决权值。以下,将以第一计算节点为例对裁决的过程进行说明。

102、第一计算节点将所述第二裁决权值与自身的第一裁决权值进行比对。

所述第一裁决权值与所述第二裁决权值分别为所述第一计算节点和所述第二计算节点随机生成的数值。

由于裁决权值实质为一个数值,其具有大小之分,在第一计算节点将第一裁决权值与第二裁决权值进行比对时,比对第一裁决权值与第二裁决权值的数值大小即可。示例性的,假设,第一裁决权值为36,第二裁决权值为50,则第一计算节点确定第一裁决权值与第二裁决权值不同,且第一裁决权值小于第二裁决权值,以上仅为示例性的举例,本发明实施例对裁决权值的具体大小不作限定。

103、若所述第二裁决权值与所述第一裁决权值不同,则第一计算节点断开对开连接中的一条连接。

当第二裁决权值与第一裁决权值不同时,包括:第二裁决权值大于第一裁决权值、第二裁决权值小于第一裁决权值两种情况,上述两种情况中的任一比对结果确定时,第一计算节点主动断开对开连接中的其中一条连接,或者,第一计算节点向第二计算节点发送指示信息,由第二计算节点断开对开连接中的其中一条连接。

本发明实施例提供的释放连接的方法,当确定两个计算节点之间存在对开连接时,第一计算节点接收第二计算节点发送的第二裁决权值,将第二裁决权值与自身的第一裁决权值进行比对,若确定第二裁决权值与第一裁决权值不同,则断开对开连接中的一条连接,与现有技术相比,本发明实施例在确定两个计算节点存在对开连接的情况下,可以在该两个计算节点之间自行协商,断开对开连接中任一条连接,实现两个计算节点之间通过一条连接进行通信,该自行协商的过程简单、高效且易实现,从而能够减少对开连接对系统资源及网络资源的消耗。

进一步的,作为对上述实施例的细化和扩展,在步骤103执行断开对开连接中的一条连接,由于对开连接中包含两个计算节点之间的两条连接,以下,将详细说明如何确定断开对开连接中的哪一条连接。

第一种情况:当所述第一裁决权值大于所述第二裁决权值时,断开所述第二计算节点向第一计算节点发起的连接。

图2示出了本发明实施例提供的一种两个计算节点间的对开连接的示意图,如图2所示,第一计算节点作为连接发起方,第二计算节点作为被连接方时,第一计算节点与第二计算节点的连接为连接I,当第二计算节点作为连接发起方,第一计算节点作为被连接方时,第一计算节点与第二计算节点的连接为连接II。

将所述第二裁决权值与自身的第一裁决权值进行比对,当所述第一裁决权值大于所述第二裁决权值时,保留所述第一计算节点向所述第二计算节点发起的连接I,并断开所述第二计算节点向第一计算节点发起的连接II;即第一计算节点对应的裁决权值与第二计算节点对应的裁决权值存在大小不同时,保留裁决权值相对较大一侧的计算节点所主动发起的连接。

在实际应用中,若确定第一裁决权值大于所述第二裁决权值时,保留所述第二计算节点向第一计算节点发起的连接II,断开所述第一计算节点向所述第二计算节点发起的连接I,具体的,本发明实施例对此不作限定。

第二种情况:当确定所述第一裁决权值小于所述第二裁决权值时,断开所述第一计算节点向所述第二计算节点发起的连接。

请继续参阅图2,将所述第二裁决权值与自身的第一裁决权值进行比对若确定所述第一裁决权值小于所述第二裁决权值,则保留所述第二计算节点向所述第一计算节点发起的连接II,并断开所述第一计算节点向所述第二计算节点发起的连接I。

进一步的,以上已说明所述第一裁决权值小于或者大于所述第二裁决权值的情况,若确定所述第一裁决权值等于所述第二裁决权值,则接收第二计算节点发送的第四裁决权值,并将第四裁决权值与自身的第三裁决权值进行比对,直到确定第二计算节点发送的裁决权值与自身的裁决权值不相同为止。

进一步的,在第一计算节点将所述第二裁决权值与自身的第一裁决权值进行比对时,可以采用但不局限于以下方式实现,分别对所述第一裁决权值及所述第二裁决权值进行解析,获取所述第一裁决权值对应的第一当前裁决ID,并获取所述第二裁决权值对应的第二当前裁决ID;其中,裁决ID用于标识当前裁决权值的比对次数;将所述第一当前裁决ID与所述第二当前裁决ID进行比对;若确定所述第一当前裁决ID与所述第二当前裁决ID相同,则将所述第一裁决权值与所述第二裁决权值比对;若确定所述第一当前裁决ID与所述第二当前裁决ID不相同,则分别获取当前最大裁决ID对应的裁决权值,并比对获取后的裁决权值。

示例性的,图3示出了本发明实施例提供的一种计算节点之间执行裁决过程的示意图,如图3所示,图3所示的实线流程均为第一计算节点执行的流程,虚线部分均为第二计算节点执行的流程,在P2P网络环境中,第一计算节点与第二计算节点在进行裁决过程中双方同时执行,其双方执行的步骤一致。为了叙述上的方便,本发明实施例以第一计算节点为例进行说明。在第一计算节点与第二计算节点执行第一轮裁决时,第一计算节点生成第一当前裁决ID:1,并生成第一裁决权值:50,第一计算节点接收第二计算节点发送的第二裁决权值,该第二裁决权值中包含第二当前裁决ID,在第一计算节点执行第一裁决权值与第二裁决权值的比对时,首先,将第一当前裁决ID与第二当前裁决ID进行比对,其目的在于,确定两个节点之间比对的次数是否相同,当确定第一当前裁决ID(1)与第二当前裁决ID(1)相同时,则继续比对第一裁决权值与所述第二裁决权值,确定第一裁决权值与所述第二裁决权值相同,则继续执行第二轮裁决;当且仅当确定第一裁决权值与所述第二裁决权值不同时,才能终止裁决过程。第二轮裁决过程与第一轮裁决过程相同,本发明实施例在此不再进行一一赘述。

如图4所示,图4示出了本发明实施例提供的一种断开对开连接中的一条连接的示意图,承由图3所示,第一计算节点确定第三裁决权值大于第四裁决权值,即关闭第二计算节点到第一计算节点的通路。

在实际应用中,两个节点在网络通信过程中,可能会存在网络延迟的情况,可能会导致第一计算节点生成的裁决ID与第二计算节点发送的裁决ID不一致的情况。假设,计算节点在生成裁决ID时,按照阿拉巴数字大小进行排序,第一计算节点在执行裁决过程中,若第一计算节点获取的裁决ID为2,而接收到的第二计算节点发送的裁决ID为3,即第一计算节点生成的裁决ID与第二计算节点发送的裁决ID不一致,此时,第一计算节点应获取裁决ID为3对应的裁决权值,以确保第一计算节点比对的裁决权值与第二计算节点发送的裁决权值为同一论的比较,确保裁决过程的准确性。

进一步的,本发明实施例用于在两个计算节点存在对开连接时,通过两个计算节点之间的协商,确定断开对开连接中的其中一条,因此,在执行裁决前,首先,需确定两个计算节点之间是否存在对开连接,具体实施过程可以采用但不局限于以下方式实现,包括:获取主动连接列表,所述主动连接列表中所述第一计算节点作为连接发起方,用于记录所述第一计算节点向第二计算节点发送建立连接请求中,第二计算节点的信息;获取被动连接列表,所述被动连接列表中所述第一计算节点作为被连接方,用于记录接收所述第二计算节点发送所述建立连接请求中,第二计算节点的信息;分别从所述主动连接列表及所述被动连接列表中获取第二计算节点的信息;若确定从所述主动连接列表及所述被动连接列表中获取第二计算节点的信息一致,则确定所述第一计算节点与所述第二计算节点之间存在对开连接。在实际应用中,所述第二计算节点的信息包括但不局限于MAC地址(Media Access Control)、互联网协议地址(Internet Protocol Address,IP)、中央处理器(Central Processing Unit,CPU)编码等等,具体的,本发明实施例对被动连接列表以及主动连接列表中记录的第二计算节点的信息不作具体限定。

进一步的,第一计算节点与第二计算节点在进行通信时,通过TCP协议进行传输数据,该传输协议具有双向可传输性,因此,在两个计算节点建立通信时,依靠一条通信连接即可完成不同计算节点之间的数据通信。若两个计算节点间存在对开连接时,需断开对开连接中的一条连接。在具体实施时,可由第一计算节点主动断开连接,即第一计算节点接收断开操作指令,该断开操作指令用于指示断开对开连接中的任意一条连接;或者,也可以由第二计算节点断开连接,即第一计算节点向第二计算节点发送断开连接通知消息,该断开连接通知消息用于指示第二计算节点执行断开对开连接中的一条连接。有关断开TCP连接的具体实现过程,请参考现有技术中相关的详细描述,本发明实施例在此不再进行赘述。

进一步的,作为对上述图1所示方法的实现,本发明另一实施例还提供了一种释放连接的装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

进一步的,本发明实施例一种释放连接的装置,如图5所示,该装置包括:

第一接收单元51,用于当两个计算节点之间存在对开连接时,第一计算节点接收第二计算节点发送的第二裁决权值;

比对单元52,用于将所述接收单元51接收到的所述第二裁决权值与自身的第一裁决权值进行比对,所述第一裁决权值与所述第二裁决权值分别为所述第一计算节点和所述第二计算节点随机生成的数值;

断开单元53,用于当所述比对单元52比对所述第二裁决权值与所述第一裁决权值不同时,断开对开连接中的一条连接。

进一步的,如图6所示,所述断开单元53包括:

第一处理模块531,用于当所述第一裁决权值大于所述第二裁决权值时,保留所述第一计算节点向所述第二计算节点发起的连接,并断开所述第二计算节点向第一计算节点发起的连接;

第二处理模块532,用于当确定所述第一裁决权值小于所述第二裁决权值时,保留所述第二计算节点向所述第一计算节点发起的连接,并断开所述第一计算节点向所述第二计算节点发起的连接。

进一步的,如图6所示,所述装置还包括:

第二接收单元54,用于当所述比对单元52确定所述第二裁决权值等于所述第一裁决权值时,接收所述第二计算节点发送的第四裁决权值;

处理单元55,用于将所述第二接收单元54接收到的所述第四裁决权值与自身的第三裁决值进行比对,直到确定第二计算节点发送的裁决权值与自身的裁决权值不相同为止。

进一步的,如图6所示,所述装置还包括:

第一获取单元56,用于在所述第一接收单元51接收第二计算节点发送的第二裁决权值之前,获取主动连接列表,所述主动连接列表中所述第一计算节点作为连接发起方,用于记录所述第一计算节点向第二计算节点发送建立连接请求中,第二计算节点的信息;

第二获取单元57,用于获取被动连接列表,所述被动连接列表中所述第一计算节点作为被连接方,用于记录接收所述第二计算节点发送所述建立连接请求中,第二计算节点的信息;

第三获取单元58,用于分别从所述第一获取单元56获取的所述主动连接列表及所述第二获取单元57获取的所述被动连接列表中获取第二计算节点的信息;

确定单元59,用于当确定从所述主动连接列表及所述被动连接列表中获取第二计算节点的信息一致时,确定所述第一计算节点与所述第二计算节点之间存在对开连接。

进一步的,如图6所示,所述断开单元53还包括:

接收模块533,用于接收断开操作指令,所述断开操作指令用于指示由所述第一计算节点断开对开连接中的一条连接;

发送模块534,用于向所述第二计算节点发送断开连接通知消息,所述断开连接通知消息用于指示由所述第二计算节点执行断开对开连接中的一条连接。

进一步的,如图6所示,所述比对单元52包括:

解析模块521,用于分别对所述第一裁决权值及所述第二裁决权值进行解析;

获取模块522,用于在所述解析模块521分别对所述第一裁决权值及所述第二裁决权值进行解析过程中,获取所述第一裁决权值对应的第一当前裁决ID,并获取所述第二裁决权值对应的第二当前裁决ID;其中,裁决ID用于标识当前裁决权值的比对次数;

第一比对模块523,用于将所述获取模块522获取的所述第一当前裁决ID与所述第二当前裁决ID进行比对;

第二比对模块524,用于当所述第一比对模块523确定所述第一当前裁决ID与所述第二当前裁决ID相同时,将所述第一裁决权值与所述第二裁决权值比对;

处理模块525,用于当所述第一比对模块523确定所述第一当前裁决ID与所述第二当前裁决ID不相同时,分别获取当前最大裁决ID对应的裁决权值,并比对获取后的裁决权值。

进一步的,本发明实施例还提供一种释放连接的系统,如图7所示,所述系统包括:第一计算节点71及第二计算节点72;其中,

所述第二计算节点72,用于当所述第一计算节点71与所述第二计算节点72存在对来连接时,向所述第一计算节点71发送第二裁决权值;

所述第一计算节点71,用于接收所述第二计算节点72发送的所述第二裁决权值,并将所述第二裁决权值与自身的第一裁决权值进行比对,当所述第二裁决权值与所述第一裁决权值不同时,断开对开连接中的一条连接;其中,所述第一裁决权值与所述第二裁决权值分别为所述第一计算节点71和所述第二计算节点72随机生成的数值。

进一步的,所述系统还包括:

所述第一计算节点71,还用于接收并执行断开操作指令,所述断开操作指令用于断开对开连接中的一条连接;

所述第一计算节点71,还用于向所述第二计算节点72发送断开连接通知消息,所述断开连接通知消息用于指示由所述第二计算节点72执行断开对开连接中的一条连接;

所述第二计算节点72,还用于接收所述第一计算节点71发送的所述断开连接通知消息,并执行断开对开连接中的一条连接。

本发明实施例提供的释放连接的装置及系统,当确定两个计算节点之间存在对开连接时,第一计算节点接收第二计算节点发送的第二裁决权值,将第二裁决权值与自身的第一裁决权值进行比对,若确定第二裁决权值与第一裁决权值不同,则断开对开连接中的一条连接,与现有技术相比,本发明实施例在确定两个计算节点存在对开连接的情况下,可以在该两个计算节点之间自行协商,断开对开连接中任一条连接,实现两个计算节点之间通过一条连接进行通信,该自行协商的过程简单、高效且易实现,从而能够减少对开连接对系统资源及网络资源的消耗。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的发明名称(如确定网站内链接等级的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1