1.本发明涉及通信技术领域,更具体地说,涉及一种避免网络节点间通道浪费的方法、装置、电子设备及介质。
背景技术:2.互联网中的两个节点间通信的话,只需要一个通道就可以了,但在实际应用中,会存在两个节点间存在两条通道的情况,这会造成通道的浪费。为了避免通道浪费,现有的解决方案是设立一个时间期限,通道建立后如果一定时长内没有传输信息,则自动销毁,另一种实现方式是由主节点统一控制通道的建立,这种方式虽然不会出现两条通道的情况,但有通道建立不即时的问题,还有一种实现方式是,由主节点监测节点间是否存在两条通道,如果是,则协商两个节点进行通道销毁,这会存在通道销毁不即时的问题。
技术实现要素:3.本发明的目的是提供一种避免网络节点间通道浪费的方法、装置、电子设备及介质,以至少部分地解决现有技术中存在的问题。包括如下技术方案:
4.一种避免网络节点间通道浪费的方法,应用于第一网络节点,所述方法包括:
5.创建所述第一网络节点到第二网络节点的第一通道;
6.在存在所述第二网络节点创建的所述第二网络节点到所述第一网络节点的第二通道的情况下,通过所述第一通道或所述第二通道与所述第二网络节点交互协商信息,以便与所述第二网络节点协商确定并删除目标通道;所述目标通道为所述第一通道或所述第二通道。
7.上述方法,优选的,所述协商信息为随机数。
8.上述方法,优选的,所述在存在所述第二网络节点创建的所述第二网络节点到所述第一网络节点第二通道的情况下,通过所述第一通道或所述第二通道与所述第二网络节点交互协商信息,包括:
9.检测是否存在所述第二通道;
10.若检测到存在所述第二通道,生成第一随机数;
11.通过所述第一通道向所述第二网络节点发送所述第一随机数,以便所述第二网络节点将本地生成的第二随机数与所述第一随机数进行比较,若比较结果为第一结果,将所述第二通道作为目标通道删除。
12.上述方法,优选的,还包括:
13.通过所述第一通道或所述第二通道接收所述第二网络节点发送的所述第二随机数;所述第二随机数由所述第二网络节点在所述比较结果为第二结果时发送;
14.将所述第一随机数与所述第二随机数进行比较,在比较结果为所述第二结果时,将所述第一通道作为目标通道删除。
15.上述方法,优选的,还包括:
16.若所述第一随机数和所述第二随机数的比较结果为第三结果,结束协商流程。
17.上述方法,优选的,还包括:
18.如果接收到所述第二网络节点通过所述第二通道发送的第三随机数,将本地生成的第四随机数与所述第三随机数进行比较,若比较结果为第四结果,将所述第一通道作为目标通道删除;
19.所述第三随机数由所述第二网络节点创建所述第二通道后,检测到存在所述第一通道时发送。
20.上述方法,优选的,所述第四随机数为所述第一随机数;或者
21.所述第四随机数在接收到所述第三随机数时生成。
22.一种避免网络节点间通道浪费的装置,包括:
23.创建模块,用于创建所述第一网络节点到第二网络节点的第一通道;
24.协商模块,用于在存在所述第二网络节点创建的所述第二网络节点到所述第一网络节点第二通道的情况下,通过所述第一通道或所述第二通道与所述第二网络节点交互协商信息,以便所述第一网络节点和所述第二网络节点协商确定并删除目标通道;所述目标通道为所述第一通道或所述第二通道。
25.一种电子设备,包括:
26.存储器,用于存储程序;
27.处理器,用于调用并执行所述存储器中的所述程序,通过执行所述程序实现如上任一项所述的避免网络节点间通道浪费的方法的各个步骤。
28.一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上任一项所述的避免网络节点间通道浪费的方法的各个步骤。
29.通过以上方案可知,本发明提供的一种避免网络节点间通道浪费的方法、装置、电子设备及介质,第一网络节点在创建到第二网络节点的第一通道后,在存在第二网络节点创建的第二网络节点到第一网络节点的第二通道的情况下,通过第一通道或第二通道与第二网络节点交互协商信息,以便与第二网络节点协商确定并删除第一通道或第二通道。基于本发明的方案,通道建立过程不需要第三方(比如主节点)参与,因而网络节点间可以随时建立网络通道,在第一网络节点创建到第二网络节点的第一通道后,在存在第二网络节点创建的第二网络节点到第一网络节点的第二通道的情况下,由第一网络节点和第二网络节点自行通过第一通道或第二通道进行协商以确定需要删除的通道,而无需第三方参与协商过程,从而既保证了通道创建的即时性,又保证了多余通道删除的即时性,实现了在即时创建通道和即时删除冗余通道的同时避免了通道浪费。
附图说明
30.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1为本发明实施例提供的避免网络节点间通道浪费的方法的一种实现流程图;
32.图2为本发明实施例提供的在存在第二网络节点创建的第二网络节点到第一网络
节点的第二通道的情况下,通过第一通道或第二通道与第二网络节点交互协商信息的一种实现流程图;
33.图3为本发明实施例提供的避免网络节点间通道浪费的装置的一种结构示意图;
34.图4为本发明实施例提供的电子设备的硬件结构框图。
35.说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
36.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.本发明实施例中提及的网络节点是指互联网中的节点,互联网中可以建立通道的两个节点(分别记为第一网络节点和第二网络节点),可以是互联网中的物理节点,比如,服务器、终端等,也可以是虚拟节点。两个网络节点可以全部是物理节点,也可以是全部是虚拟节点,或者,一个物理节点,一个虚拟节点。
38.第一网络节点在创建到第二网络节点的通道(为便于叙述,记为第一通道)过程中,会与第二网络节点进行交互,因此,在第一网络节点创建第一通道后,第二网络节点可以知道第一网络节点已经创建了第一通道。同理,在第二网络节点在创建到第一网络节点的通道(为便于叙述,记为第二通道)后,第一网络节点也可以知道第二网络节点创建了第二通道。但是在第一网络节点在想创建第一通道时,有可能第二网络节点正在创建第二通道,但第一网络节点还未收到第二网络节点发送的用于建立第二通道的交互信息,此种情况下,第一网络节点和第二网络节点就会不知道对方正在建立到自己的通道,加上互联网整个传输环境的影响,就会出现第一网络节点和第二网络节点先后建立到对方的通道,或同时建立到对方的通道的情况,即第一网络节点和第二网络节点间存在冗余通道的情况,造成通道浪费。
39.为了避免网络节点间通道浪费,提出本发明实施例。
40.本发明实施例提供的避免网络节点间通道浪费的方法的一种实现流程图如图1所示,可以包括:
41.步骤s101:创建第一网络节点到第二网络节点的第一通道。
42.当第一网络节点需要与第二网络节点通信时,可以建立到第二网络节点的通道(为便于叙述,记为第一通道)。
43.步骤s102:在存在第二网络节点创建的第二网络节点到第一网络节点的第二通道的情况下,通过第一通道或第二通道与第二网络节点交互协商信息,以便与第二网络节点协商确定并删除目标通道;目标通道为第一通道或第二通道。
44.其中,第一网络节点和第二网络节点间是否存在第二通道,可以由第一网络节点检测得到,同理,第一网络节点和第二网络节点间是否存在第一通道也可以由第二网络节
点检测得到。
45.在第一网络节点创建第一通道之前,可能第二网络节点已经建立了第二网络节点到第一网络节点的通道(为便于叙述,记为第二通道),但第一网络节点不知道。或者,在第一网络节点创建第一通道的同时,第二网络节点也创建了第二通道,即第一通道和第二通道是同时创建的。在这两种情况下,第一网络节点可以检测到第二通道的存在,此时由于第一网络节点和第二网络节点间存在两条通道,因此,需要删除一条通道。
46.还有一种情况是,第一网络节点在创建第一通道后,第二网络节点才创建第二通道,这种情况下,虽然第一网络节点无法检测到第二通道,但第二网络节点可以检测到第一通道,这种情况下,第一网络节点和第二网络节点间仍然存在两条通道,需要删除一条通道。
47.基于本发明实施例,通道建立过程不需要第三方(比如主节点)参与,因而网络节点间可以随时建立网络通道,在第一网络节点创建第一通道后,如果第一网络节点和第二网络节点间同时存在第一通道和第二通道,由第一网络节点和第二网络节点通过第一通道或第二通道进行协商信息的交互,以便二者自行协商需要删除的通道。由于该方案无需第三方(比如主节点)参与协商过程,从而既保证了通道创建的即时性,又保证了多余通道删除的即时性,实现了在即时创建通道和即时删除冗余通道的同时避免了通道浪费。
48.在一可选的实施例中,第一网络节点和第二网络节点间交互的协商信息可以是随机数。通过随机数进行交互协商,使得第一网络节点和第二网络节点间的交互数据量小,交互数据传输速度快,保证节点间协商的即时性。
49.可选的,可以是第一网络节点检测到第二通道存在时,将第一网络节点的随机数发送给第二网络节点以启动协商过程,或者,可以由第二网络节点检测到第一通道存在时,将第二网络节点的随机数发送给第一网络节点以启动协商过程。
50.可选的,上述在存在第二网络节点创建的第二网络节点到第一网络节点的第二通道的情况下,通过第一通道或第二通道与第二网络节点交互协商信息的一种实现流程图如图2所示,可以包括:
51.步骤s201:检测是否存在第二通道。
52.可选的,由于在第二网络节点创建到第一网络节点的第二通道时,会与第一网络节点交互,因此,在第二通道创建完成后,第一网络节点可以生成并存储通道记录信息,以便第一网络节点创建第一通道后检测是否存在第二通道。
53.后续如果第二网络节点删除了第二通道,也会与第一网络节点交互,此时第一网节点也可以知道第二网络节点删除了第二通道,因此,第一网络节点可以将上述通道记录信息删除。
54.步骤s202:若检测到存在第二通道,生成一随机数(为便于叙述,记为第一随机数)。
55.步骤s203:通过第一通道向第二网络节点发送第一随机数,以便第二网络节点将本地生成的第二随机数与第一随机数进行比较,若比较结果为第一结果,将第二通道作为目标通道删除。
56.第二网络节点在接收到第一随机数后,会利用第二网络节点本地生成的随机数(为便于叙述,记为第二随机数)与第一随机数进行比较,根据比较结果确定目标通道。
57.本发明实施例中,第一网络节点和第二网络节点的协商过程基于随机数比较实现,而随机数比较的实现逻辑简单,因此,能够快速获得协商结果,进而能够快速确定目标通道,实现快速删除冗余通道的目的。
58.可选的,如果第一随机数大于第二随机数,需要将第一通道作为目标通道进行删除,如果第一随机数小于第二随机数,需要将第二通道作为目标通道进行删除。即哪个网络节点生成的随机数大,就删除哪个网络节点创建的通道。
59.或者,
60.如果第一随机数大于第二随机数,需要将第二通道作为目标通道进行删除,如果第一随机数小于第二随机数,需要将第一通道作为目标通道进行删除。即哪个网络节点生成的随机数小,就删除哪个网络节点创建的通道。
61.可选的,在第二网络节点接收到第一随机数时,有可能第二网络节点还没有生成第二随机数,则第二网络节点先生成第二随机数,然后再将第二随机数与第一随机数进行比较。或者,在第二网络节点接收到第一随机数时,有可能第二网络节点已存在第二随机数,则第二网络节点直接读取第二随机数并将第二随机数与第一随机数进行比较即可。
62.在一可选的实施例中,如果第二网络节点将第一随机数和第二随机数进行比较的比较结果为第二结果,则第二网络节点通过第一通道或第二通道将第二随机数发送给第一网络节点,基于此,本发明实施例提供的避免网络节点间通道浪费的方法还可以包括:
63.第一网络节点通过第一通道或第二通道接收第二网络节点发送的第二随机数;第二随机数由第二网络节点在上述比较结果为第二结果时发送;
64.第一网络节点将第一随机数与第二随机数进行比较,在比较结果为第二结果时,将第一通道作为目标通道删除。
65.可选的,如果第一结果为第一随机数大于第二随机数,则第二结果为第一随机数小于第二随机数;
66.或者,如果第一结果为第一随机数小于第二随机数,则第二结果为第一随机数大于第二随机数。
67.在一可选的实施例中,若第一随机数和第二随机数的比较结果为第三结果,即第一随机数等于第二随机数,则结束协商流程,即不删除任何一个通道,此时,第一网络节点和第二网络节点可以通过其中任意一条通道进行通信,另一条通道可以在空闲时长达到阈值时,由该条通道的创建者删除。比如,第一网络节点和第二网络节点通过第一通道进行通信,则第二网络节点在第二通道的空闲时长达到阈值时,删除第二通道。或者,第一网络节点和第二网络节点通过第二通道进行通信,则第一网络节点在第一通道的空闲时长达到阈值时,删除第一通道。
68.可选的,第一网络节点在向第二网络节点发送第一随机数后,如果预设时长内未接收到第二网络节点发送的第二随机数,也未检测到第二通道被删除,则通过第一通道与第一网络节点通信,当然,第一网络节点也可以通过第二通道与第一网络节点通信,本发明实施例不做具体限定。
69.可选的,在生成随机数时,是随机生成目标范围内的数,为了使得第一随机数和第二随机数相等的概率尽可能低,可以将目标范围设置得尽可能大,比如,作为示例,目标范围为1亿个数的范围。当然,本发明实施例不对该目标范围做具体限定,还可以是其它范围。
70.在实际的应用场景中,有可能第一通道先创建完成时,第二通道还没创建完成,过了一段时间第二通道才建立,此时,第一网络节点无法检测到第二通道,但第二网络节点可以检测到第一通道,此时,第二网络节点可以生成随机数(为便于叙述,记为第三随机数)并通过第二通道发送给第一网络节点。也就是说,第三随机数由第二网络节点创建第二通道后,检测到存在第一通道时发送。
71.第一网络节点接收到第二网络节点通过第二通道发送的第三随机数后,生成随机数(为便于叙述,记为第四随机数)与第三随机数进行比较,若比较结果为第四结果,将第一通道作为目标通道删除。
72.可选的,如果第一随机数大于第二随机数,需要将第一通道作为目标通道进行删除,则如果第四结果为第四随机数据大于第三随机数,将第一通道作为目标通道删除。
73.如果第一随机数小于第二随机数,需要将第一通道作为目标通道进行删除,则如果第四结果为第四随机数据小于第三随机数,将第一通道作为目标通道删除。
74.在第一通道和第二通道基本同时创建完成的情况下,第一网络节点可以检测到第二通道,第二网络节点也可以检测到第一通道,此种情况下,第一网络节点可以生成第四随机数(此时的第四随机数即为第一随机数),并通过第一通道向第二网络节点发送第四随机数,同时,第二网络节点也可以生成第三随机数,并通过第二通道向第一网络节点发送第三随机数。
75.第一网络节点接收到第二网络节点通过第二通道发送的第三随机数后,将本地的第四随机数与第三随机数进行比较,若比较结果为第四结果,将第一通道作为目标通道删除。
76.第二网络节点接收到第一网络节点通过第一通道发送的第四随机数后,将第四随机数与第三随机数进行比较,若比较结果为第五结果,将第二通道作为目标通道删除。
77.如果第一随机数小于第二随机数,需要将第二通道作为目标通道进行删除。则第五结果为第四随机数小于第三随机数,将第二通道作为目标通道删除。
78.或者,
79.如果第一随机数大于第二随机数,需要将第二通道作为目标通道进行删除。则第五结果为第四随机数大于第三随机数,将第二通道作为目标通道删除。
80.与方法实施例相对应,本发明实施例还提供一种避免网络节点间通道浪费的装置,本发明实施例提供的避免网络节点间通道浪费的装置的一种结构示意图如图3所示,可以包括:
81.创建模块301和协商模块302;其中,
82.创建模块301用于创建所述第一网络节点到第二网络节点的第一通道;
83.协商模块302用于在存在所述第二网络节点创建的所述第二网络节点到所述第一网络节点第二通道的情况下,通过所述第一通道或所述第二通道与所述第二网络节点交互协商信息,以便所述第一网络节点和所述第二网络节点协商确定并删除目标通道;所述目标通道为所述第一通道或所述第二通道。
84.本发明实施例提供的避免网络节点间通道浪费的装置,通道建立过程不需要第三方(比如主节点)参与,因而网络节点间可以随时建立网络通道,在第一网络节点创建到第二网络节点的第一通道后,在存在第二网络节点创建的第二网络节点到第一网络节点的第
二通道的情况下,由第一网络节点和第二网络节点自行通过第一通道或第二通道进行协商以确定需要删除的通道,而无需第三方(比如主节点)参与协商过程,从而既保证了通道创建的即时性,又保证了多余通道删除的即时性,实现了在即时创建通道和即时删除冗余通道的同时避免了通道浪费。
85.在一可选的实施例中,所述协商信息为随机数。通过随机数进行交互协商,使得第一网络节点和第二网络节点间的交互数据量小,交互数据量传输速度快,保证节点间协商的即时性。
86.在一可选的实施例中,所述协商模块包括:
87.检测单元,用于检测是否存在所述第二通道;
88.随机数生成单元,用于若检测到存在所述第二通道,生成第一随机数;
89.协商单元,用于通过所述第一通道向所述第二网络节点发送所述第一随机数,以便所述第二网络节点将本地生成的第二随机数与所述第一随机数进行比较,若比较结果为第一结果,将所述第二通道作为目标通道删除。
90.本发明实施例中,第一网络节点和第二网络节点的协商过程基于随机数比较实现,而随机数比较的实现逻辑简单,因此,能够快速获得协商结果,进而能够快速确定目标通道,实现快速删除冗余通道的目的。
91.在一可选的实施例中,所述协商单元还用于:
92.通过所述第一通道或所述第二通道接收所述第二网络节点发送的所述第二随机数;所述第二随机数由所述第二网络节点在所述比较结果为第二结果时发送;
93.将所述第一随机数与所述第二随机数进行比较,在比较结果为所述第二结果时,将所述第一通道作为目标通道删除。
94.在一可选的实施例中,所述协商单元还用于:
95.若所述第一随机数和所述第二随机数的比较结果为第三结果,结束协商流程。
96.在一可选的实施例中,所述协商单元还用于:
97.如果接收到所述第二网络节点通过所述第二通道发送的第三随机数,将本地生成的第四随机数与所述第三随机数进行比较,若比较结果为第四结果,将所述第一通道作为目标通道删除;
98.所述第三随机数由所述第二网络节点创建所述第二通道后,检测到存在所述第一通道时发送。
99.在一可选的实施例中,所述第四随机数为所述第一随机数;或者
100.所述第四随机数在接收到所述第三随机数时生成。
101.本发明实施例提供的避免网络节点间通道浪费的装置可应用电子设备中。可选的,图4示出了电子设备的硬件结构框图,参照图4,电子设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
102.在本发明实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
103.处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
104.存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non
‑
volatile memory)等,例如至少一个磁盘存储器;
105.其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
106.创建所述第一网络节点到第二网络节点的第一通道;
107.在存在所述第二网络节点创建的所述第二网络节点到所述第一网络节点的第二通道的情况下,通过所述第一通道或所述第二通道与所述第二网络节点交互协商信息,以便与所述第二网络节点协商确定并删除目标通道;所述目标通道为所述第一通道或所述第二通道。
108.可选的,所述程序的细化功能和扩展功能可参照上文描述。
109.本发明实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
110.创建所述第一网络节点到第二网络节点的第一通道;
111.在存在所述第二网络节点创建的所述第二网络节点到所述第一网络节点的第二通道的情况下,通过所述第一通道或所述第二通道与所述第二网络节点交互协商信息,以便与所述第二网络节点协商确定并删除目标通道;所述目标通道为所述第一通道或所述第二通道。
112.可选的,所述程序的细化功能和扩展功能可参照上文描述。
113.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
114.在本发明所提供的几个实施例中,应该理解到,所揭露的系统(若存在)、装置和方法,可以通过其它的方式实现。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
115.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
116.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
117.应当理解,本发明实施例中,从权、各个实施例、特征可以互相组合结合,都能实现解决前述技术问题。
118.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read
‑
onlymemory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
119.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。