一种终端设备和对等网络中选择种子终端的方法与流程
未命名
09-24
阅读:79
评论:0
1.本公开涉及对等网络技术领域,尤其涉及一种终端设备和对等网络中选择种子终端的方法。
背景技术:
2.对等网络(peer to peer,p2p)是一种在对等者(peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。p2p中包括一个服务器和多个终端,每个终端既是资源、服务和内容的提供者(server),又是资源、服务和内容的获取者(client),为保证p2p中资源、服务和内容的高效流通,现有技术通过服务器对多个终端进行甄选,从中找出数据传输速度快、数据传输量大的终端作为“种子”,然而p2p中的终端数量庞大,仅依靠一个服务器进行甄选效率低下,并且“种子”的质量也难以保障。
技术实现要素:
3.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种终端设备和对等网络中选择种子终端的方法,可以提高对等网络中选择种子终端的质量和效率。
4.为了实现上述目的,本公开实施例提供的技术方案如下:
5.第一方面,本公开提供一种终端设备,该终端设备包括:
6.控制器,被配置为:通过通信器从对等网络p2p的服务器获取核心参数,核心参数包括以下至少一项:无传输保持时长、传输量保持时长、传输速度保持时长、传输大小门限、传输速度门限;
7.确定向p2p中任一终端传输数据的初始时刻、数据传输量以及当前时刻;
8.根据初始时刻、数据传输量以及当前时刻,计算传输参数,传输参数包括以下至少一项:数据传输变化量、第一时长、第二时长、传输速度;其中,第一时长为当前时刻与数据传输量最后一次变化的时刻之间的时长;第二时长为当前时刻与数据传输量不变的时刻之间的时长;
9.根据传输参数与核心参数确定终端设备是否为种子终端。
10.第二方面,本公开提供一种对等网络中选择种子终端的方法,该方法包括:
11.通过通信器从对等网络p2p的服务器获取核心参数,核心参数包括以下至少一项:无传输保持时长、传输量保持时长、传输速度保持时长、传输大小门限、传输速度门限;
12.确定向p2p中任一终端传输数据的初始时刻、数据传输量以及当前时刻;
13.根据初始时刻、数据传输量以及当前时刻,计算传输参数,传输参数包括以下至少一项:数据传输变化量、第一时长、第二时长、传输速度;其中,第一时长为当前时刻与数据传输量最后一次变化的时刻之间的时长;第二时长为当前时刻与数据传输量不变的时刻之间的时长;
14.根据传输参数与核心参数确定终端设备是否为种子终端。
15.第三方面,本公开提供了一种计算机可读存储介质,包括:计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第二方面所示的对等网络中选择种子终端的方法。
16.第四方面,本公开提供了一种计算机程序产品,该计算机程序产品包括计算机程序,当该计算机程序在计算机上运行时,使得计算机实现如第二方面所示的对等网络中选择种子终端的方法。
17.本公开实施例提供的一种终端设备和对等网络中选择种子终端的方法,其中,该终端设备控制器通过通信器从p2p的服务器获取核心参数,再确定向p2p中任一终端传输数据的初始时刻、数据传输量和当前时刻,然后根据初始时刻、数据传输量、当前时刻计算传输参数,进一步的根据传输参数和核心参数确定终端设备本身是否为种子终端。实现了p2p中的每个终端设备能够主动的判断自身是否为目标终端,一方面减小了服务器的压力,另一方面提升了选择效率,保障了种子质量,进而提升了p2p数据传输效率。
附图说明
18.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
19.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1为对等网络的架构示意图;
21.图2a为本公开实施例提供的一些实施例中的场景示意图一;
22.图2b为本公开实施例提供的一些实施例中的场景示意图二;
23.图3示例性示出了根据示例性实施例中控制装置100的配置框图;
24.图4示出了根据示例性实施例中终端设备200的硬件配置框图;
25.图5为根据本公开一个或多个实施例的终端设备200中软件配置示意图;
26.图6为本公开实施例中提供的一种对等网络中选择终端的方法流程示意图一;
27.图7为本公开实施例提供的终端之间建立通信连接的示意图;
28.图8为本公开实施例提供的计算数据传输变化量的示意图一;
29.图9为本公开实施例提供的计算数据传输变化量的示意图二;
30.图10为本公开实施例中提供的第一时长的示意图;
31.图11为本公开实施例中提供的第二时长的示意图;
32.图12为本公开实施例中提供的一种对等网络中选择终端的方法流程示意图二。
具体实施方式
33.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
34.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采
用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
35.目前,在对等网络中包括一个追踪者(tracker)服务器和数量众多的终端,其中,tracker服务器保存了关于资源、服务和内容的提供终端和获取终端的ip地址以及路由信息、完成度等,每个终端既可以提供资源、服务和内容,也可以从其他终端获取资源、服务和内容。相关技术中,为保证对等网络中资源、服务和内容的高效流通,主要通过tracker服务器根据每个终端上报的数据传输参数来进行对比,从众多终端中选择数据传输速度快、数据量大的终端作为种子终端。但是,由于同一对等网络中存在众多的终端,仅依靠一个tracker服务器来挑选种子终端,效率低、且难以保证种子终端的传输速度和传输量是最优的。
36.需要说明的是,种子终端是本领域技术人员知晓的p2p种子,p2p种子拥有完整共享文件备份,能够高效、高质量的为其他终端提供共享文件。
37.示例性的,如图1所示,图1为对等网络的架构示意图。图中包括tracker服务器101、提供终端a102、提供终端a103、提供终端a104、获取终端b105、获取终端b106、获取终端b107。提供终端a102、提供终端a103、提供终端a104分别向tracker服务器101上报各自的数据传输参数,然后由tracker服务器101对这些数据传输参数进行比较,从中确定传输速度快和传输量大的提供终端a102作为种子终端,进而tracker服务器101将提供终端a102的ip地址、路由信息以及完成度等信息发送至获取终端b105、获取终端b106、获取终端b107,这些终端能够根据提供终端a102的ip地址、路由信息以及完成度等信息与提供终端a102建立通信连接,满足这些获取终端获取资源、服务和内容的需求。但是按照这种方式选择种子终端需要将提供终端进行两两比较,效率较低,且难以保障种子终端的质量,从而影响对等网络中数据的高效流通。
38.为解决上述问题,本公开实施例提供一种终端设备和对等网络中选择种子终端的方法,其中,该终端设备控制器通过通信器从p2p的服务器获取核心参数,再确定向p2p中任一终端传输数据的初始时刻、数据传输量和当前时刻,然后根据初始时刻、数据传输量、当前时刻计算传输参数,进一步的根据传输参数和核心参数确定终端设备本身是否为种子终端。实现了p2p中的每个终端设备能够主动的判断自身是否为目标终端,一方面减小了服务器的压力,另一方面提升了选择效率,保障了种子质量,进而提升了p2p数据传输效率。
39.图2a为本公开实施例提供的一些实施例中的场景示意图一。图中示出服务器400、第一终端201、第二终端202、第三终端203。服务器400与第一终端201、第二终端202、第三终端203保持心跳,基于各个终端的地址信息建立两两终端之间的通信连接。以第一终端201为例,第一终端201从服务器400获取核心参数,核心参数用于评判对等网络中的终端是否为种子终端。在第一终端201向第二终端202传输数据时,确定传输数据的初始时刻、数据传输量和当前时刻。然后根据初始时刻、数据传输量和当前时刻计算传输参数,根据传输参数和核心参数确定第一终端201是否为种子终端。
40.图2b为本公开实施例提供的一些实施例中的场景示意图二。如图2b所示,用户可通过智能设备300或控制装置100操作终端设备200从对等网络获取种子资源,终端设备200可以是电视、手机、电脑等。
41.在一些实施例中,控制装置100可以是遥控器,遥控器和终端设备200的通信包括
红外协议通信、蓝牙协议通信,无线或其他有线方式来控制终端设备200。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制终端设备200。在一些实施例中,也可以使用移动终端、平板电脑、计算机、笔记本电脑、和其他智能设备以控制终端设备200。
42.在一些实施例中,智能设备300可与终端设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。也可以将智能设备300上显示音视频内容传输到终端设备200上,实现同步显示功能终端设备200还与服务器400通过多种通信方式进行数据通信。可允许终端设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以向终端设备200提供各种内容和互动。终端设备200,可以液晶显示器、oled显示器、投影终端设备200。终端设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能。
43.图3示例性示出了根据示例性实施例中控制装置100的配置框图。如图3所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为终端设备200可识别和响应的指令,起用用户与终端设备200之间交互中介作用。通信接口130用于和外部通信,包含wifi芯片,蓝牙模块,nfc或可替代模块中的至少一种。用户输入/输出接口140包含麦克风,触摸板,传感器,按键或可替代模块中的至少一种。
44.图4示出了根据示例性实施例中终端设备200的硬件配置框图。如图4所示终端设备200包括:调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源等。其中,控制器250包括中央处理器,视频处理器,音频处理器,图形处理器,ram,rom,用于输入/输出的第一接口至第n接口。显示器260可为液晶显示器、oled显示器、触控显示器以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及epg数据信号。检测器230用于采集外部环境或与外部交互的信号。控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
45.在一些实施例中,上述终端设备200是具有显示功能的终端设备,例如电视机、手机、电脑、学习机等。
46.在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制终端设备200的工作和响应用户的操作。控制器250控制终端设备200的整体操作。用户可在显示器260上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
47.输出接口(显示器260,和/或,音频输出接口270),被配置为输出用户交互信息;
48.通信器220,用于与服务器400或其它设备进行通信。
49.本公开实施例提供一种终端设备,该终端设备包括:
50.控制器250,被配置为:通过通信器从对等网络p2p的服务器获取核心参数,核心参数包括以下至少一项:无传输保持时长、传输量保持时长、传输速度保持时长、传输大小门限、传输速度门限;确定向p2p中任一终端传输数据的初始时刻、数据传输量以及当前时刻;
根据初始时刻、数据传输量以及当前时刻,计算传输参数,传输参数包括以下至少一项:数据传输变化量、第一时长、第二时长、传输速度;其中,第一时长为当前时刻与数据传输量最后一次变化的时刻之间的时长;第二时长为当前时刻与数据传输量不变的时刻之间的时长;根据传输参数与核心参数确定终端设备是否为种子终端。
51.上述终端设备通过服务器下发的核心参数,以及数据传输过程中计算得到的传输参数来自行判断本机是否为种子终端,从而减小了服务器端的计算压力,也提升了选择种子终端的效率,另外核心参数是可调整的,从对等网络的多个终端中挑选出数据传输速度快、数据传输量大的,符合种子终端标准的终端。
52.在一些实施例中,传输参数包括数据传输变化量,控制器250,根据初始时刻、数据传输量以及当前时刻,计算传输参数,被配置为:根据初始时刻和当前时刻计算数据传输时长;根据数据传输量,计算数据传输时长内的数据传输变化量。
53.在一些实施例中,传输参数包括数据传输变化量,控制器250,根据初始时刻、数据传输量以及当前时刻,计算传输参数,被配置为:根据预设偏移时长、当前时刻和数据传输量,计算在当前时刻之前的预设偏移时长内的数据传输变化量。
54.在一些实施例中,核心参数还包括传输大小门限、传输量保持时长;传输参数还包括:第一时长;控制器250,根据数据传输量,计算数据传输时长内的数据传输变化量,或者,根据预设偏移时长、当前时刻和数据传输量,计算在当前时刻之前的预设偏移时长内的数据传输变化量之后,还被配置为:在数据传输变化量小于传输大小门限的情况下,确定第一时刻,第一时刻为数据传输量最后一次变化的时刻,并根据第一时刻和当前时刻计算第一时长;在第一时长小于或等于传输量保持时长的情况下,确定终端设备为种子终端;在数据传输变化量大于或等于传输大小门限的情况下,确定终端设备为种子终端。
55.在一些实施例中,核心参数还包括:传输速度门限、传输量保持时长;传输参数还包括:传输速度、第一时长;控制器250,根据数据传输量,计算数据传输时长内的数据传输变化量,或者,根据预设偏移时长、当前时刻和数据传输量,计算在当前时刻之前的预设偏移时长内的数据传输变化量之后,还被配置为:在数据传输变化量小于传输大小门限的情况下,数据传输量变化的情况下,根据数据传输变化量以及数据传输时长或预设偏移时长,和数据传输量计算传输速度;在传输速度小于传输速度门限的情况下,确定第一时刻,计算第一时长;在第一时长小于或等于传输量保持时长的情况下,确定终端设备为种子终端;在传输速度大于或等于传输速度门限的情况下,确定终端设备为种子终端。
56.在一些实施例中,核心参数还包括:无传输保持时长,传输参数还包括:第二时长;控制器250,根据数据传输量,计算数据传输时长内的数据传输变化量,或者,根据预设偏移时长、当前时刻和数据传输量,计算在当前时刻之前的预设偏移时长内的数据传输变化量之后,还被配置为:在数据传输变化量小于传输大小门限的情况下,在数据传输量未变化的情况下,确定第二时刻,第二时刻为数据传输量不变的时刻;根据第二时刻和当前时刻,计算第二时长。
57.在一些实施例中,控制器250,根据传输参数与核心参数确定终端设备是否为种子终端,被配置为:判断第二时长是否小于无传输保持时长;在第二时长小于无传输保持时长的情况下,确定终端设备为种子终端。
58.在一些实施例中,控制器250,确定向p2p中任一终端传输数据的初始时刻、数据传
输量以及当前时刻之前,还被配置为:通过通信器从服务器获取任一终端的地址信息,地址信息包括公网互连协议地址、内网互连协议地址、端口;根据任一终端的地址信息,建立终端设备与任一终端之间的通信连接,以向任一终端传输数据。
59.如图5所示,图5为根据本公开一个或多个实施例的终端设备200中软件配置示意图,如图5所示,将系统分为四层,从上至下分别为应用程序(applications)层(简称“应用层”),应用程序框架(application framework)层(简称“框架层”),安卓运行时(android runtime)和系统库层(简称“系统运行库层”),以及内核层。内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、wifi驱动、usb驱动、hdmi驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。为了更加详细的说明本方案,以下将以示例性的方式结合图6进行说明,可以理解的是,图6中所涉及的步骤在实际实现时可以包括更多的步骤,或者更少的步骤,并且这些步骤之间的顺序也可以不同,以能够实现本公开实施例中提供的对等网络中选择种子终端的方法为准。
60.如图6所示,图6为本公开实施例中提供的一种对等网络中选择终端的方法流程示意图一。该方法包括以下步骤s601~s604:
61.s601、通过通信器从对等网络p2p的服务器获取核心参数。
62.其中,核心参数包括以下至少一项:无传输保持时长、传输量保持时长、传输速度保持时长、传输大小门限、传输速度门限。核心参数作为评判标准,用于判断终端是否为种子终端。核心参数中包括的各项参数的数值大小根据对等网络中实际数据传输参数的统计分析结果进行设置,本公开对此不做限定。
63.无传输保持时长是指没有数据传输所经历的时长。若终端没有数据传输的时长大于或等于无传输时长,则该终端不是种子终端,可以理解为终端长时间不进行数据传输,则不能作为种子终端;若终端没有数据传输的时长小于无传输时长,则可以确定该终端为种子终端。
64.传输量保持时长是指数据传输量保持在一定值所经历的时长。若终端长时间数据传输量保持在一定值,变化不大,则确定该终端不是种子终端。
65.传输速度保持时长是指数据的传输速度保持在一定值所经历的时长。若终端长时间数据传输速度保持在小于传输速度门限情况下,则确定该终端不是种子终端。
66.传输大小门限是指终端作为种子终端,其数据传输量应该达到的下限,传输大小门限包括第一传输大小门限、第二传输大小门限。第一传输大小门限可以设置为0,用于筛除无数据传输的终端;第二传输大小门限可根据历史统计分析结果进行设置,用于筛除数据传输量小的终端。
67.传输速度门限是指终端作为种子终端,其传输速度应该达到的下限。
68.在服务器一侧,提供核心参数的下发接口。终端根据该下发接口周期性的获取核心参数。
69.一些实施例中,终端和服务器之间保持心跳数据的传输,以便服务器记录终端的状态信息进行相应的维护。对等网络中各个终端会将各自的地址信息发送至服务器,服务器将地址信息在对等网络中进行分享,使得终端能够建立与对等网络中其他终端的通信连接,实现p2p打洞,进而实现终端点对点传输数据。
70.s602、确定向p2p中任一终端传输数据的初始时刻、数据传输量以及当前时刻。
71.一些实施例中,在终端向p2p中任一终端传输数据之前,需要通过服务器建立终端与任一终端之间的通信连接。本公开实施例中提供一种实施方式,该终端通过通信器从服务器获取任一终端的地址信息,其中,地址信息包括公网互连协议地址、内网互连协议地址、端口。终端根据该地址信息建立与任一终端设备之间的通信连接。
72.示例性的,如图7所示,图7为本公开实施例提供的终端之间建立通信连接的示意图。图中示出服务器400、第一终端201、第二终端202、第三终端203。以第一终端201为例,第一终端201从服务器400获取第二终端202和第三终端203的地址信息,然后第一终端201根据这些地址信息分别建立与第二终端202和第三终端203之间的通信连接,实现p2p打洞。第二终端202、第三终端203也可以从服务器400获取除自身之外的其他终端的地址信息,并建立通信连接,本公开在不做赘述。
73.在终端建立与对等网络中任一终端之间的通信连接之后,向任一终端传输数据,确定传输数据的初始时刻、数据传输量以及当前时刻。
74.s603、根据初始时刻、数据传输量以及当前时刻,计算传输参数。
75.传输参数包括以下至少一项:数据传输变化量、第一时长、第二时长、传输速度;其中,第一时长为当前时刻与数据传输量最后一次变化的时刻之间的时长;第二时长为当前时刻与数据传输量不变的时刻之间的时长。
76.s604、根据传输参数与核心参数确定终端设备是否为种子终端。
77.在计算得到传输参数之后,利用各项传输参数与对应的核心参数进行比较,从而确定终端设备是否为种子终端。
78.下述将根据不同的传输参数说明确定终端设备是否为种子终端的过程:
79.(1)传输参数包括数据传输变化量
80.一些实施例中,传输参数包括数据传输变化量,首先根据初始时刻、当前时刻计算数据传输时长,然后根据数据传输量计算在该数据传输时长内数据传输变化量。
81.如图8所示,图8为本公开实施例提供的计算数据传输变化量的示意图一。在确定初始时刻t0、数据传输量s、当前时刻t之后,根据初始时刻t0和当前时刻t计算数据传输时长t=t-t0,然后计算数据传输变化量,初始时刻t0对应的数据传输量为0,当前时刻t对应的数据传输量为s,则数据传输变化量δs=s。
82.进一步的,利用第一传输大小门限,确定终端的传输变化量是否为0。在数据传输变化量等于第一传输大小门限的情况下,表示数据传输变化量为零,表示终端在数据传输的初始时刻至当前时刻的这段数据传输时长内并未传进行数据传输,则确定终端不是种子终端。另外,在数据传输变化量等于第一传输大小门限的情况下,还可以计算无数据传输的时长,具体实施方式参考后续“(4)传输参数包括数据传输变化量、第二时长”的实施方式,在此不做赘述。
83.在数据传输变化量不等于第一传输大小门限,根据数据传输变化量和第二传输大小门限进行比较,在数据传输变化量大于或等于第二传输大小门限的情况下,表示从数据传输的初始时刻到当前时刻的这段数据传输时长内,数据传输变化量已经达到种子终端对应的数据变化量,则确定终端为种子终端。
84.在数据传输变化量小于第二传输大小门限的情况下,进一步计算第一时长,从而确终端是否为种子终端,具体实施方式参考(2)传输参数包括数据传输变化量、第一时长包
括的实施方式,在此不做赘述。
85.另一些实施例中,为获取更加准确的数据传输参数,本公开实施例提供一种实施方式,终端时刻记录数据传输量,获取预设偏移时长,根据预设偏移时长、当前时刻和数据传输量,确定当前时刻之前预设偏移时长内的数据传输变化量,其中,预设偏移时长是预先设置的时长。
86.示例性的,如图9所示,图9为本公开实施例提供的计算数据传输变化量的示意图二,终端每秒一次确定数据传输量并记录,可以根据预设偏移时长δt、当前时刻t,确定当前时刻t之前预设偏移时长δt对应的时刻为t1,查找t1对应的数据传输量为s1,并根据当前时刻对应的数据传输量为s,计算得到当前时刻t之前预设偏移时长δt内数据传输变化量δs=s-s1。
87.进一步的,利用第一传输大小门限,确定当前时刻之前预设偏移时长内的数据传输变化量是否为零。在数据传输变化量等于第一传输大小门限的情况下,表示终端在当前时刻之前预设偏移时长内并未传进行数据传输,则确定终端不是种子终端。另外,在数据传输变化量等于第一传输大小门限的情况下,还可以计算无数据传输的时长,具体实施方式参考后续“(4)传输参数包括数据传输变化量、第二时长”的实施方式,在此不做赘述。
88.在数据传输变化量不等于第一传输大小门限情况下,根据数据传输变化量和第二传输大小门限进行比较,在数据传输变化量大于或等于第二传输大小门限的情况下,表示在当前时刻之前预设偏移时长内,数据传输变化量已经达到种子终端应具备的数据变化量,则确定终端为种子终端。
89.在数据传输变化量小于传输大小门限的情况下,进一步计算第一时长,从而确终端是否为种子终端,具体实施方式参考(2)传输参数包括数据传输变化量、第一时长包括的实施方式,在此不做赘述。
90.(2)传输参数包括数据传输变化量、第一时长
91.其中,第一时长为当前时刻与数据传输量最后一次变化的时刻之间的时长。由于终端时刻记录数据传输量,在多个变化时刻中,最后一次变化时刻是与当前时刻最近的变化时刻,记作第一时刻。
92.示例性的,如图10所示,图10为本公开实施例中提供的第一时长的示意图,终端每秒一次确定数据传输量并记录,从当前时刻t开始查询之前某一时刻的数据传输量与当前时刻的数据传输量相同,查询得到与当前时刻t最近的变化时刻为t2,则第一时刻为t2。
93.在数据传输变化量小于第二传输大小门限的情况下,确定第一时刻,然后根据第一时刻和当前时刻计算第一时长,得到当前时刻与数据传输量最后一次变化的时刻之间的时长,进一步的,将第一时长与核心参数中传输量保持时长进行比较。
94.在第一时长大于或等于传输量保持时长的情况下,表示终端长时间数据传输变化量较小,可确定该终端不是种子终端。
95.在第一时长小于传输量保持时长的情况下,进一步计算其他传输参数,从而确终端是否为种子终端。
96.(3)传输参数包括数据传输变化量、传输速度、第一时长
97.在数据传输变化量不等于第一传输大小门限的情况下,还可以计算传输速度。首先根据数据传输变化量以及数据传输时长或预设偏移时长,计算传输速度。根据数据传输
变化量和数据传输时长计算得到终端从数据传输的初始时刻到当前时刻,数据传输的平均速度;或者,根据数据传输变化量和预设偏移时长,计算得到终端在当前时刻之前预设偏移时长内的数据传输速度。
98.沿用前例,在确定从初始时刻t0至当前时刻t的这段数据传输时长t内,数据传输变化量为δs=s,则根据数据传输时长t和数据传输变化量δs计算得到传输速度v1:
[0099][0100]
在确定预设偏移时长δt内数据传输变化量δs=s-s1,则计算得到传输速度v2:
[0101][0102]
进一步的,将计算得到的传输速度与核心参数中的传输速度门限进行比较。
[0103]
在传输速度大于或等于传输速度门限的情况下,表示数据传输变化量虽然小于传输大小门限,但传输速度较大满足种子终端的标准,则将终端作为种子终端。
[0104]
在传输速度小于传输速度门限的情况下,表示数据传输量小、传输速度也不满足种子终端的标准,需要进一步判断终端是否长时间保持低速传输。首先确定第一时刻,也就是数据传输量最后一次变化的时刻,并根据第一时刻和当前时刻计算第一时长。然后,将第一时长和传输量保持时长进行比较。
[0105]
在第一时长小于或等于传输保持时长的情况下,表示终端处于短时间低速传输的状态,可确定为种子终端。
[0106]
在第一时长大于传输保持时长的情况下,表示终端长时间保持低速传输,不满足作为种子终端的条件,因此确定终端不是种子终端。
[0107]
(4)传输参数包括数据传输变化量、第二时长
[0108]
其中,第二时长为当前时刻与数据传输量不变的时刻之间的时长,某一时刻的数据传输量与当前时刻的数据传输量相同,则确定该时刻为数据量不变的时刻,记作第二时刻。
[0109]
示例性的,如图11所示,图11为本公开实施例中提供的第二时长的示意图,终端每秒一次确定数据传输量并记录,从当前时刻t开始查询之前某一时刻的数据传输量与当前时刻相同,查询得到数据传输量不变的时刻为t3,则确定第二时刻为t3。
[0110]
在数据传输变化量等于第一传输大小门限的情况下,由于终端时刻记录数据传输量,确定距离当前时刻最远的第二时刻,然后根据第二时刻计算第二时长,进一步的,判断第二时长是否小于核心参数中的无传输保持时长。
[0111]
在第二时长大于或等于无传输保持时长的情况下,表示终端长时间处于无数据传输的状态,不具备成为种子终端的条件。
[0112]
在第二时长小于无传输保持时长的情况下,表示终端短时间处于无数据传输的状态,可以确定终端为种子终端。
[0113]
在确定终端为种子终端之后,将传输参数上传至服务器,以由服务器根据各个终端的传输参数进行统计分析,计算分享率,然后根据分享率调整核心参数,进而下发至对等网络用于下一次选择种子终端,进一步提升了种子终端的质量。
[0114]
进一步的,上述通过传输参数和核心参数确定终端为种子终端之后,向服务器发送通知消息,以通知服务器该终端根据核心参数自行评判确定该终端为种子终端,从而便于对等网络中数据进行高效、高质量的传输。在确定终端为种子终端之后,可将传输参数发送至服务器,以由服务器根据终端发送的传输参数进行统计分析,进一步调整核心参数,从而提升种子终端的质量,提升对等网络中数据传输的效率。
[0115]
另外,在确定终端不是种子终端的情况下,可以等待终端此次与任一终端之间完成数据传输,终端变成空闲状态不再给任一终端提供种子文件,处于空闲状态的终端长时间无数据传输,则断开该终端与任一终端之间的通信连接,从而在保证数据完整传输的基础上,减小服务器的压力,或者,在确定终端不是种子终端的情况下,直接断开终端与任一终端之间的通信连接,不再由该终端向其他终端传输数据,以减少服务器将该终端作为预备种子终端进行维护所消耗的资源,减小服务器的压力。
[0116]
综上,本公开实施例提供一种对等网络中选择种子终端的方法,其中,该方法由终端通过通信器从p2p的服务器获取核心参数,再确定向p2p中任一终端传输数据的初始时刻、数据传输量和当前时刻,然后根据初始时刻、数据传输量、当前时刻计算传输参数,进一步的根据传输参数和核心参数确定终端设备本身是否为种子终端。实现了p2p中的每个终端设备能够主动的判断自身是否为目标终端,一方面减小了服务器的压力,另一方面提升了选择效率,保障了种子质量,进而提升了p2p数据传输效率。
[0117]
如图12所示,图12为本公开实施例中提供的一种对等网络中选择终端的方法流程示意图二,该方法包括以下步骤s1201~s1208:
[0118]
s1201、通过通信器从对等网络p2p的服务器获取核心参数。
[0119]
s1202、确定向p2p中任一终端传输数据的初始时刻、数据传输量以及当前时刻。
[0120]
可选的,终端在执行步骤s1202之前,从服务器获取对等网络中任一终端的地址信息,并根据地址信息建立与任一终端的通信连接,进而进行数据传输。
[0121]
执行步骤s1203a或s1203b。
[0122]
s1203a、根据初始时刻、当前时刻计算数据传输时长。
[0123]
s1203b、获取预设偏移时长。
[0124]
s1204、计算数据传输变化量。
[0125]
可选的,在执行步骤s1203a之后,根据数据传输时长、数据传输量,计算得到从初始时刻到当前时刻这段时间内的数据传输变化量。
[0126]
可选的,在执行步骤s1203b之后,根据当前时刻、预设偏移时长、数据传输量,计算得到当前时刻之前预设偏移时长内的数据传输变化量。
[0127]
s1205、判断数据传输变化量是否等于第一传输大小门限。
[0128]
其中,第一传输门限设置为0。
[0129]
若在数据传输时长内数据传输变化量不等于第一传输门限,表示从初始时刻至当前时刻,终端设备与任一终端之间存在数据传输,执行步骤s1206a,或者,执行s1206b。
[0130]
若在数据传输时长内数据传输变化量等于第一传输门限,表示从初始时刻至当前时刻,终端设备并未向任一终端传输数据,执行步骤s1206c。
[0131]
s1206a、判断数据传输变化量是否小于第二传输大小门限。
[0132]
若数据传输变化量小于第二传输大小门限,则执行步骤s1207a;
[0133]
若数据传输变化量大于或等于第二传输大小门限,表示终端与任一终端之间的数据传输量已经达到成为种子终端的标准,确定终端为种子终端。
[0134]
s1207、计算第一时长,并判断第一时长是否小于传输量保持时长。
[0135]
若第一时长大于或等于传输保持时长,表示终端处于长时间传输少量数据的状态,则执行步骤s1208;
[0136]
若第一时长小于传输保持时长,表示终端短时间内传输少量数据,可作为种子终端。
[0137]
s1206b、计算传输速度,并判断传输速度是否大于或等于传输速度门限。
[0138]
可选的,根据数据传输变化量、数据传输时长计算得到从当前初始时刻到当前时刻这段时间内的传输速度;
[0139]
可选的,根据数据传输变化量、预设偏移时长计算当前时刻之前预设偏移时长内的传输速度。
[0140]
若传输速度大于或等于传输速度门限,表示终端满足种子终端的数据传输速度条件,则可确定该终端为种子终端;
[0141]
若传输速度小于传输速度门限,表示终端的数据传输速度未达到成为种子终端的要求,则执行步骤s1207。
[0142]
可选的,若第一时长大于或等于传输保持时长,表示终端处于长时间低速传输数据的状态,则执行步骤s1208确定该终端不是种子终端;
[0143]
若第一时长小于传输保持时长,表示终端短时间内低速传输数据,可作为种子终端。
[0144]
s1206c、计算第二时长,并判断第二时长是否小于无传输保持时长。
[0145]
若第二时长大于或等于无传输保持时长,表示终端处于长时间无数据传输的状态,则执行步骤s1208。
[0146]
若第二时长小于无传输保持时长,表示终端短时间内无数据传输,可确定为种子终端。
[0147]
s1208、确定终端不是种子终端。
[0148]
可选的,在确定终端不是种子终端的情况下,等待该终端与任一终端之间的数据传输完成之后,断开该终端与任一终端之间的通信连接,以保证在该终端与任一终端所传输的数据完整的情况下,避免该终端作为种子终端向其他终端传输数据,影响到整个对等网络的数据传输效率。
[0149]
可选的,在确定终端不是种子终端的情况下,直接断开与任一终端之间的通信连接,减少了服务器的维护压力,提升对等网络的结构稳定性。需要说明的是,任一终端仍能够从其他的种子终端获取需要的种子文件,因此直接断开该终端与任一终端之间的通信连接,不会对任一终端获取数据产生影响,较大程度上减少服务器维护该终端所消耗的资源。
[0150]
通过上述步骤,由终端设备在数据传输过程中计算传输参数,并将传输参数与核心参数进行比较,核心参数是终端能否成为种子终端的评判标准,从而终端主动确定自身是否为种子终端,从对等网络德尔众多终端中剔除了长时间不传输数据的终端、长时间传输少量数据的终端以及长时间数据传输速度慢的终端,减小了服务器的运算压力,提升了对等网络中选择种子终端的效率,并且种子终端的质量也有所保障,有利于对等网络中资
源、服务和内容的高效流通。
[0151]
本公开实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现上述对等网络中选择种子终端的方法执行的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0152]
其中,该计算机可读存储介质可以为只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0153]
本公开提供一种计算机程序产品,该计算机程序产品中包括计算机程序,当该计算机程序在计算机上运行时,使得所述计算机实现上述的对等网络中选择种子终端的方法。
[0154]
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述在一些实施例中讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
技术特征:
1.一种终端设备,其特征在于,包括:控制器,被配置为:通过通信器从对等网络p2p的服务器获取核心参数,所述核心参数包括以下至少一项:无传输保持时长、传输量保持时长、传输速度保持时长、传输大小门限、传输速度门限;确定向所述p2p中任一终端传输数据的初始时刻、数据传输量以及当前时刻;根据所述初始时刻、所述数据传输量以及所述当前时刻,计算传输参数,所述传输参数包括以下至少一项:数据传输变化量、第一时长、第二时长、传输速度;其中,第一时长为当前时刻与所述数据传输量最后一次变化的时刻之间的时长;第二时长为当前时刻与所述数据传输量不变的时刻之间的时长;根据所述传输参数与所述核心参数确定所述终端设备是否为种子终端。2.根据权利要求1所述的终端设备,其特征在于,所述传输参数包括所述数据传输变化量,所述控制器,根据所述初始时刻、所述数据传输量以及所述当前时刻,计算传输参数,被配置为:根据所述初始时刻和所述当前时刻计算数据传输时长;根据所述数据传输量,计算所述数据传输时长内的所述数据传输变化量。3.根据权利要求1所述的终端设备,其特征在于,所述传输参数包括所述数据传输变化量,所述控制器,根据所述初始时刻、所述数据传输量以及所述当前时刻,计算传输参数,被配置为:根据预设偏移时长、所述当前时刻和所述数据传输量,计算在所述当前时刻之前的所述预设偏移时长内的数据传输变化量。4.根据权利要求2或3所述的终端设备,其特征在于,所述核心参数还包括所述传输大小门限、所述传输量保持时长;所述传输参数还包括:所述第一时长;所述控制器,根据所述数据传输量,计算所述数据传输时长内的所述数据传输变化量,或者,根据预设偏移时长、所述当前时刻和所述数据传输量,计算在所述当前时刻之前的所述预设偏移时长内的数据传输变化量之后,还被配置为:在所述数据传输变化量小于所述传输大小门限的情况下,确定第一时刻,所述第一时刻为所述数据传输量最后一次变化的时刻,并根据所述第一时刻和所述当前时刻计算所述第一时长;在所述第一时长小于或等于所述传输量保持时长的情况下,确定所述终端设备为所述种子终端;在所述数据传输变化量大于或等于传输大小门限的情况下,确定所述终端设备为所述种子终端。5.根据权利要求2或3所述的终端设备,其特征在于,所述核心参数还包括:所述传输速度门限、所述传输量保持时长;所述传输参数还包括:所述传输速度、所述第一时长;所述控制器,根据所述数据传输量,计算所述数据传输时长内的所述数据传输变化量,或者,根据预设偏移时长、所述当前时刻和所述数据传输量,计算在所述当前时刻之前的所述预设偏移时长内的数据传输变化量之后,还被配置为:在所述数据传输变化量小于所述传输大小门限的情况下,根据所述数据传输变化量以及所述数据传输时长或预设偏移时长,计算所述传输速度;在所述传输速度小于所述传输速度门限的情况下,确定第一时刻,计算所述第一时长;
在所述第一时长小于或等于所述传输量保持时长的情况下,确定所述终端设备为所述种子终端;在传输速度大于或等于传输速度门限的情况下,确定所述终端设备为所述种子终端。6.根据权利要求2或3所述的终端设备,其特征在于,所述核心参数还包括:所述无传输保持时长,所述传输参数还包括:所述第二时长;所述控制器,根据所述数据传输量,计算所述数据传输时长内的所述数据传输变化量,或者,根据预设偏移时长、所述当前时刻和所述数据传输量,计算在所述当前时刻之前的所述预设偏移时长内的数据传输变化量之后,还被配置为:在所述数据传输变化量小于所述传输大小门限的情况下,确定第二时刻,所述第二时刻为所述数据传输量不变的时刻;根据所述第二时刻和所述当前时刻,计算所述第二时长。7.根据权利要求6所述的终端设备,其特征在于,所述控制器,根据所述传输参数与所述核心参数确定所述终端设备是否为种子终端,被配置为:判断所述第二时长是否小于所述无传输保持时长;在所述第二时长小于所述无传输保持时长的情况下,确定所述终端设备为种子终端。8.根据权利要求1所述的终端设备,其特征在于,所述控制器,确定向所述p2p中任一终端传输数据的初始时刻、数据传输量以及当前时刻之前,还被配置为:通过所述通信器从所述服务器获取所述任一终端的地址信息,所述地址信息包括公网互连协议地址、内网互连协议地址、端口;根据所述任一终端的地址信息,建立所述终端设备与所述任一终端之间的通信连接,以向所述任一终端传输数据。9.一种对等网络中选择种子终端的方法,其特征在于,包括:通过通信器从对等网络p2p的服务器获取核心参数,所述核心参数包括以下至少一项:无传输保持时长、传输量保持时长、传输速度保持时长、传输大小门限、传输速度门限;确定向所述p2p中任一终端传输数据的初始时刻、数据传输量以及当前时刻;根据所述初始时刻、所述数据传输量以及所述当前时刻,计算传输参数,所述传输参数包括以下至少一项:数据传输变化量、第一时长、第二时长、传输速度;其中,第一时长为当前时刻与所述数据传输量最后一次变化的时刻之间的时长;第二时长为当前时刻与所述数据传输量不变的时刻之间的时长;根据所述传输参数与所述核心参数确定所述终端设备是否为种子终端。10.根据权利要求9所述的方法,其特征在于,所述传输参数包括所述数据传输变化量,所述根据所述初始时刻、所述数据传输量以及所述当前时刻,计算传输参数,包括:根据所述初始时刻和所述当前时刻计算数据传输时长;根据所述数据传输量,计算所述数据传输时长内的所述数据传输变化量。
技术总结
本公开涉及一种终端设备和对等网络中选择种子终端的方法,涉及对等网络技术领域。其中,该终端设备包括:控制器,被配置为:通过通信器从对等网络P2P的服务器获取核心参数;确定向P2P中任一终端传输数据的初始时刻、数据传输量以及当前时刻;根据初始时刻、数据传输量以及当前时刻,计算传输参数;根据传输参数与核心参数确定终端设备是否为种子终端。本公开实施例减小了服务器端的计算压力,也提升了选择种子终端的效率。选择种子终端的效率。选择种子终端的效率。
技术研发人员:马宇坚 罗士新 徐延霞
受保护的技术使用者:聚好看科技股份有限公司
技术研发日:2022.08.30
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/