CN108683728B - 数据传输方法、服务器、终端、网络***和存储介质 - Google Patents
数据传输方法、服务器、终端、网络***和存储介质 Download PDFInfo
- Publication number
- CN108683728B CN108683728B CN201810450835.5A CN201810450835A CN108683728B CN 108683728 B CN108683728 B CN 108683728B CN 201810450835 A CN201810450835 A CN 201810450835A CN 108683728 B CN108683728 B CN 108683728B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- server
- client
- client server
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了数据传输方法、服务器、终端、网络***和存储介质,其中该方法包括从多个节点设备获取节点反馈信息,节点设备从客户服务器或另一节点设备获取了数据,且节点设备均内置有与客户服务器交互的程序;从客户终端获取数据请求;根据数据请求以及节点反馈信息确定源节点设备,并生成源节点列表;发送源节点列表至客户终端,以使客户终端从源节点列表中的至少部分源节点设备获取数据。通过在节点设备内置与客户服务器交互的程序,使得节点设备获取到数据时可以向客户服务器发送反馈,便于客户服务器统计哪个节点存储了什么信息;从而客户终端可以根据客户服务器的统计从相应的节点设备获取需要的数据。
Description
技术领域
本发明涉及网络技术领域,尤其涉及数据传输方法、服务器、终端、网络***和存储介质。
背景技术
近年来以P2P、P2P与客户/服务器两种模式结合(P2SP,Peer to Server andPeer)联网为代表的多源下载技术被广泛采用。所谓多源下载是指从网络中多个数据源同时并发下载目标数据的下载方式。
但是由于网络中节点的不稳定性,以及海量节点管理上的难度,因此对于数据管理者,如何确定哪个节点存储了什么信息是需要解决的问题;对于数据需求者,如何寻找需要的数据源是需要解决的问题。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供数据传输方法,用于客户服务器,其能解决数据管理者如何确定哪个节点存储了什么信息,以及数据需求者如何寻找需要的数据源的问题。
本发明的目的之二在于提供数据传输方法,用于客户终端,其能解决数据管理者如何确定哪个节点存储了什么信息,以及数据需求者如何寻找需要的数据源的问题。
本发明的目的之三在于提供客户服务器,其能解决数据管理者如何确定哪个节点存储了什么信息,以及数据需求者如何寻找需要的数据源的问题。
本发明的目的之四在于提供客户终端,其能解决数据管理者如何确定哪个节点存储了什么信息,以及数据需求者如何寻找需要的数据源的问题。
本发明的目的之五在于提供网络***,其能解决数据管理者如何确定哪个节点存储了什么信息,以及数据需求者如何寻找需要的数据源的问题。
本发明的目的之六在于提供存储介质,存储有计算机程序,其能解决数据管理者如何确定哪个节点存储了什么信息,以及数据需求者如何寻找需要的数据源的问题。
本发明的目的之一采用以下技术方案实现:
数据传输方法,包括以下步骤:
从多个节点设备获取节点反馈信息,所述节点设备从客户服务器或另一节点设备获取了数据,且所述节点设备均内置有与所述客户服务器交互的程序;
从客户终端获取数据请求;
根据所述数据请求以及所述节点反馈信息确定所述多个节点设备中的至少一个为源节点设备,并生成源节点列表,所述源节点列表包括所述源节点设备的网络地址;
发送所述源节点列表至所述客户终端,以使所述客户终端从所述源节点列表中的至少部分源节点设备获取数据。
进一步地,所述从节点设备获取节点反馈信息之前,还包括以下步骤:
发送业务请求至业务服务器;
从所述业务服务器获取目标节点列表,所述目标节点列表包括多个节点设备的网络地址;
向所述目标节点列表中的节点设备分发数据。
进一步地,所述从所述业务服务器获取目标节点列表之前或之后,还包括以下步骤:
所述业务服务器向所述目标节点列表中的节点设备发送开放通知。
进一步地,所述开放通知包括节点扩展指令,以使获取到所述开放通知的节点设备根据所述节点扩展指令向扩展节点设备发送从所述客户服务器获取的数据,所述扩展节点设备为所述目标节点列表之外的节点设备。
进一步地,所述目标节点列表中节点设备的数量小于所述需求节点数量。
进一步地,所述从多个节点设备获取节点反馈信息,具体为:
从所述目标节点列表中的节点设备,以及所述扩展节点设备获取节点反馈信息。
进一步地,所述节点反馈信息包括第一节点信息;所述从多个节点设备获取节点反馈信息之后,还包括以下步骤:
根据所述多个节点设备的第一节点信息分析所述数据的第一业务能力。
进一步地,所述第一节点信息包括存储空间、节点带宽、节点位置中的至少一项。
进一步地,所述发送所述源节点列表至所述客户终端,以使所述客户终端从所述源节点列表中的至少部分源节点设备获取数据之后,还包括以下步骤:
从所述客户终端获取第一质量信息,所述第一质量信息包括网络延时、终端位置、网络需求中的至少一项。
进一步地,所述从所述客户终端获取第一质量信息之后,还包括以下步骤:
根据所述第一质量信息,以及所述数据的第一业务能力,判断是否发送新的业务请求至业务服务器。
进一步地,
本发明的目的之二采用以下技术方案实现:
数据传输方法,包括以下步骤:
向客户服务器发送数据请求;所述客户服务器用于向节点设备发送数据,以及从获取所述数据的节点设备接收节点反馈信息,所述节点设备内置有与所述客户服务器交互的程序;
从所述客户服务器获取源节点列表,所述源节点列表包括至少一个源节点设备的网络地址,所述源节点设备是由所述客户服务器根据所述数据请求以及所述节点反馈信息确定的;
从所述源节点列表中的至少部分源节点设备获取数据。
进一步地,所述从所述源节点列表中的至少部分源节点设备获取数据之后,还包括以下步骤:
发送第一质量信息至所述客户服务器,以使所述客户服务器判断是否需要向业务服务器发送新的业务请求。
进一步地,所述节点反馈信息包括第一节点信息,所述第一节点信息包括存储空间、节点带宽、节点位置中的至少一项。
进一步地,所述第一质量信息包括网络延时、终端位置、网络需求中的至少一项。
本发明的目的之三采用以下技术方案实现:
客户服务器,包括存储器、处理器以及存储在存储器中的程序,所述程序被配置成由处理器执行,处理器执行所述程序时实现上述的数据传输方法的步骤。
本发明的目的之四采用以下技术方案实现:
客户终端,包括存储器、处理器以及存储在存储器中的程序,所述程序被配置成由处理器执行,处理器执行所述程序时实现上述的数据传输方法的步骤。
本发明的目的之五采用以下技术方案实现:
网络***,包括上述的客户服务器、上述的客户终端,以及业务服务器和多个节点设备;所述业务服务器、客户服务器均与各节点设备通讯连接,所述业务服务器和客户服务器通讯连接,所述客户终端用于从所述节点设备获取数据。
本发明的目的之六采用以下技术方案实现:
存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现:上述的数据传输方法的步骤。
相比现有技术,本发明的有益效果在于:通过在节点设备内置与客户服务器交互的程序,使得节点设备获取到数据时可以向客户服务器发送反馈,便于客户服务器统计哪个节点存储了什么信息;从而客户终端可以根据客户服务器的统计从相应的节点设备获取需要的数据。
附图说明
图1为本发明实施例一的网络***的结构示意图;
图2为图1中业务服务器、客户服务器的结构示意图;
图3为本发明实施例二的网络业务方法的流程示意图;
图4为本发明实施例三的网络业务方法的流程示意图;
图5为本发明实施例四的网络业务方法的流程示意图;
图6为节点设备内置有与客户服务器交互的程序时,数据传输方法的示意图;
图7为客户终端内置有与业务服务器交互的程序时,数据传输方法的示意图;
图8为本发明实施例五的网络业务方法的流程示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
实施例一
如图1为网络***的结构示意图。该网络***包括业务服务器、客户服务器、以及多个节点设备和多个客户终端。业务服务器、客户服务器均与各节点设备通讯连接,业务服务器和客户服务器通讯连接,客户终端用于从所述节点设备获取数据;作为优选的实施方式,业务服务器、客户服务器、节点设备、客户终端均接入了因特网。
在本实施例中,节点设备可以是接入网络***的通用计算设备,也可以是专用的网络设备如玩客云,此类设备均具有一定的存储空间、一定的计算能力以及接入因特网的通讯功能。节点设备组成了对等网络,业务服务器负责对各节点设备的在线状态,硬件能力、网络能力等进行统计。
客户终端主要是指从某个或某些节点设备获取数据的设备,如安装了视频播放器、直播软件等的手机、平板、电视、电脑等。客户服务器为数据的提供方,可以是提供影视、直播数据的服务器,如爱奇艺服务器等。在本实施例中,客户服务器所有者通过业务服务器所有者允许后,可以将数据分发至业务服务器管理的节点设备,从而借助海量节点设备的存储能力和带宽为客户终端提供更快的数据下载等服务。需要注意的是,客户服务器可以将一完整的文件分别分发至各节点设备,也可以将该文件分为多个数据块后分别分发至不同的节点设备。
如图2所示,业务服务器、客户服务器均包括存储器101、处理器102以及存储在存储器101中的程序,所述程序被配置成由处理器102执行,处理器102执行各自程序时实现业务服务器、客户服务器的网络业务方法和/或数据传输方法的步骤。
本发明实施例的业务服务器、客户服务器可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、机顶盒、可编程的消费业务服务器、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
实施例二
如图3所示,网络业务方法包括以下步骤:
步骤S110、客户服务器发送业务请求至业务服务器,以及业务服务器获取客户服务器发送的业务请求。
当客户服务器需要将某数据分发至节点设备时,先向业务服务器发送业务请求,以使业务服务器向其提供可存储数据以及可进行数据传输的节点设备的信息。
作为优选的实施方式,所述业务请求包括需求节点数量和节点条件要求。例如,客户服务器需要将某数据分发至5万个符合某节点条件的节点设备。
作为优选的实施方式,所述节点条件要求包括存储空间、节点带宽、地域分布中的至少一项。
例如,若某数据大小为100Mb,那么节点条件要求中的存储空间可以为大于100Mb,节点带宽可以要求较大一些,如果某数据大小为10Mb,那么节点条件要求中的存储空间可以为大于10Mb,节点带宽可以要求较小一些。另外由于不同地区使用某数据的客户终端数量不同,因此,可以要求业务服务器在客户终端数量较多的地方多分配节点设备,在客户终端数量较少的地方少分配节点设备。例如,地域分布可以为广东1万个节点设备,西藏500个节点设备等。
步骤S120、业务服务器根据所述业务请求获取目标节点列表,以及客户服务器从所述业务服务器获取目标节点列表;所述目标节点列表包括多个节点设备的网络地址。
某节点设备开机接入网络后,业务服务器可以获取到该节点设备入网的信息,还可以获取该节点设备的存储空间、带宽、所处的地域等信息。因此,当业务服务器收到客户服务器的业务请求,就可以根据业务请求确定一些符合该请求的节点设备为用于存放相应数据的目标节点设备,并生成目标节点列表。目标节点列表包括这些目标节点设备的网络地址。
步骤S130、业务服务器向所述客户服务器发送所述目标节点列表,以使所述客户服务器向所述目标节点列表中的节点设备分发数据;以及客户服务器向所述目标节点列表中的节点设备分发数据。
客户服务器接收到目标节点列表,就可以根据目标节点设备的网络地址将数据分发至这些节点设备。
本发明实施例提供的网络业务方法,以及应用了该网络业务方法的网络***、业务服务器、客户服务器,通过业务服务器对各节点设备的在线状、硬件能力、网络能力等进行统计,并根据客户服务器的业务请求获取目标节点列表,目标节点列表包括可用于客户服务器存储数据的节点设备的网络地址;从而业务服务器可以向客户服务器提供支持,使其可以借助海量节点设备的存储能力和带宽为客户终端提供更快的数据下载等服务。
作为优选的实施方式,步骤S130之前或之后,网络业务方法还包括以下步骤:
步骤S101、业务服务器向所述客户服务器发送分发许可。
即客户服务器还需要从业务服务器获取分发许可,才有权限根据该分发许可向相应的节点设备写入数据。
因此,步骤S130中客户服务器向所述目标节点列表中的节点设备分发数据,具体为:客户服务器依据所述分发许可向所述目标节点列表中的节点设备分发数据。
从而可以保证客户服务器向节点设备存储数据的流程可控,避免客户服务器随意向节点设备写入数据。
实施例三
如图4所示的网络业务方法,包括以下步骤:
步骤S210、客户服务器发送业务请求至业务服务器,以及业务服务器获取客户服务器发送的业务请求。
步骤S220、业务服务器根据所述业务请求获取目标节点列表,以及客户服务器从所述业务服务器获取目标节点列表;所述目标节点列表包括多个节点设备的网络地址。
步骤S230、业务服务器向所述客户服务器发送所述目标节点列表,以使所述客户服务器向所述目标节点列表中的节点设备分发数据;以及客户服务器向所述目标节点列表中的节点设备分发数据。
步骤S310、S320和S330,分别对应实施例一中的S110、S120和S130,不再赘述。
在本实施例中,步骤S230中业务服务器向所述客户服务器发送所述目标节点列表之前或之后,还包括以下步骤:
步骤S240、业务服务器向所述目标节点列表中的节点设备发送开放通知。
在本实施例中,开放通知包括与客户服务器相应的信息,因此节点设备可以根据该信息识别出该客户服务器可以向节点设备存储数据。因此,客户服务器需要业务服务器向目标节点列表中的节点设备发送开放通知,才可以向目标节点列表中的节点设备分发数据。从而可以保证客户服务器向节点设备存储数据的流程可控,避免客户服务器随意向节点设备写入数据。
作为优选的实施方式,所述开放通知还包括节点扩展指令,以使获取到所述开放通知的节点设备根据所述节点扩展指令向扩展节点设备发送从所述客户服务器获取的数据,所述扩展节点设备为所述目标节点列表之外的节点设备。
业务服务器向某一节点设备发送了带有节点扩展指令的开放通知,表示该节点设备需要将从客户服务器获取的数据转发至网络***中的至少一个其他的节点设备,通过转发获得数据的节点设备即为扩展节点设备。作为优选的实施方式,扩展节点设备获取到数据后会向业务服务器或客户服务器反馈信息。
作为优选的实施方式,节点扩展指令可以指定获取到所述开放通知的节点设备向指定数量、指定地域的节点设备转发从客户服务器获取的数据。
由于获取到所述开放通知的节点设备可以根据所述节点扩展指令向所述目标节点列表之外的节点设备发送从所述客户服务器获取的数据,因此,所述目标节点列表中节点设备的数量可以小于所述需求节点数量。客户服务器可以向较少数目的节点设备分发数据,然后接收到数据的节点设备根据节点扩展指令继续转发数据,由此,客户服务器所需的带宽较少,可以更快的将数据分发至需求节点数量的节点设备。
实施例四
如图5所示的网络业务方法,包括以下步骤:
步骤S310、客户服务器发送业务请求至业务服务器,以及业务服务器获取客户服务器发送的业务请求。
步骤S320、业务服务器根据所述业务请求获取目标节点列表,以及客户服务器从所述业务服务器获取目标节点列表,所述目标节点列表包括多个节点设备的网络地址。
步骤S330、业务服务器向所述客户服务器发送所述目标节点列表,以使所述客户服务器向所述目标节点列表中的节点设备分发数据;以及客户服务器向所述目标节点列表中的节点设备分发数据。
步骤S310、S320和S330,分别对应实施例一中的S110、S120和S130,不再赘述。
在本实施例中,步骤S330业务服务器向所述客户服务器发送所述目标节点列表之后,客户服务器向所述目标节点列表中的节点设备分发数据,获取到数据的节点设备会向业务服务器发送第一反馈信息。
作为本发明实施例的进一步改进,节点设备内置有与客户服务器交互的程序。因此,获取到数据的节点设备也可以向客户服务器发送节点反馈信息。网络业务方法还包括以下步骤:
步骤S340、业务服务器获取各节点设备的第一反馈信息,和/或客户服务器获取各节点设备的节点反馈信息,所述客户终端用于从所述节点设备获取数据。
作为优选的实施方式,由于获取到所述开放通知的节点设备可以根据所述节点扩展指令向所述目标节点列表之外的一些节点设备,即扩展节点设备发送从所述客户服务器获取的数据,因此业务服务器从节点设备获取第一反馈信息,具体为:业务服务器从所述目标节点列表中的节点设备,以及所述扩展节点设备获取第一反馈信息。
作为优选的实施方式,由于获取到所述开放通知的节点设备可以根据所述节点扩展指令向扩展节点设备发送从所述客户服务器获取的数据,所述扩展节点设备为所述目标节点列表之外的节点设备发送从所述客户服务器获取的数据,因此客户服务器获取各节点设备的节点反馈信息,具体为从所述目标节点列表中的节点设备,以及所述扩展节点设备获取节点反馈信息。
因此,业务服务器可以通过第一反馈信息统计哪些节点设备中存储了客户服务器的哪些数据;以及客户服务器可以通过节点反馈信息统计哪些数据存放在哪些节点设备中;从而为客户终端从节点设备获取数据提供便利。
作为优选的实施方式,节点设备内置有与所述客户服务器交互的程序。该程序可以以插件形式安装在节点设备,具体可以为客户服务器管理者提供的插件,可以运行于节点设备的沙盒中。
如图6所示为节点设备内置有与所述客户服务器交互的程序时,客户终端从节点设备获取数据的数据传输方法的示意图。该数据传输方法包括以下步骤:
步骤S301、客户服务器从多个节点设备获取节点反馈信息。如前所述,客户服务器用于向节点设备发送数据,节点设备从客户服务器或另一节点设备获取数据后,可以通过节点设备内置的与所述客户服务器交互的程序向客户服务器发送节点反馈信息;相应的,客户服务器可以从获取所述数据的节点设备接收节点反馈信息。客户服务器可以通过节点反馈信息统计哪些数据存放在哪些节点设备中,从而为客户终端从节点设备获取数据提供便利。
作为优选的实施方式,节点设备从客户服务器获取了数据,具体为所述目标节点列表中的节点设备从客户服务器获取了数据;节点设备从另一节点设备获取了数据,具体为扩展节点设备从目标节点列表中的节点设备获取了数据。因此,客户服务器从多个节点设备获取节点反馈信息,具体为:客户服务器从所述目标节点列表中的节点设备,以及所述扩展节点设备获取节点反馈信息。
步骤S302、客户终端向客户服务器发送数据请求,以及客户服务器从客户终端获取数据请求。
客户终端装设有与客户服务器相应的程序,例如爱奇艺播放器、数据下载器等。在客户终端需要某一数据时,可以向客户服务器发送数据请求;数据请求可以包括该数据的哈希值。
由于客户服务器通过节点反馈信息统计了哪些数据存放在哪些节点设备中,因此可以指导客户终端从相应的节点设备获取该数据。
步骤S303、客户服务器根据所述数据请求以及所述节点反馈信息确定所述多个节点设备中的至少一个为源节点设备,并生成源节点列表,以及客户终端从所述客户服务器获取源节点列表;所述源节点列表包括所述源节点设备的网络地址。
客户服务器通过节点反馈信息统计了哪些数据存放在哪些节点设备中,在获取到某一终端设备的数据请求后,根据数据请求指定一个或多个节点设备作为源节点设备。作为优选的方式,数据请求包括终端设备的位置信息,客户服务器优先指定距离该终端设备距离近的节点设备为源节点设备,根据源节点设备可以生成源节点列表。
步骤S304、客户服务器发送所述源节点列表至所述客户终端,以及客户终端从所述源节点列表中的至少部分源节点设备获取数据。
源节点列表包括源节点设备的网络地址,因此客户终端就可以根据源节点设备的网络地址向源节点设备获取所需数据,以便后续操作,如播放视频等。
本发明实施例提供的数据传输方法,通过在节点设备内置与客户服务器交互的程序,使得节点设备获取到数据时可以向客户服务器发送反馈,便于客户服务器统计哪个节点存储了什么信息;从而客户终端可以根据客户服务器的统计从相应的节点设备获取需要的数据。此时,业务服务器负责对客户服务器向节点设备分发数据提供业务支持,即响应客户服务器的业务请求。
作为优选的实施方式,所述节点反馈信息包括第一节点信息。步骤S301客户服务器从多个节点设备获取节点反馈信息之后,还包括以下步骤:
步骤S3011、客户服务器根据所述多个节点设备的第一节点信息分析所述数据的第一业务能力。
作为优选的实施方式,所述第一节点信息包括存储空间、节点带宽、节点位置中的至少一项。根据这些信息可以统计网络***中节点设备实际为客户服务器提供的存储容量、网络带宽等支持;也可以根据节点位置分析各地域的节点设备可以提供的存储容量、带宽等数据,即第一业务能力。客户服务器根据第一业务能力,可以分析网络***中节点设备可以为其提供的服务,进而预测是否可以满足客户终端的需求,以及是否需要向业务服务器再请求新的节点设备供其分发数据。
作为优选的实施方式,步骤S304客户服务器发送所述源节点列表至所述客户终端,以使所述客户终端从所述源节点列表中的至少部分源节点设备获取数据之后,还包括以下步骤:
步骤S3041、客户终端发送第一质量信息至所述客户服务器,以及客户服务器从所述客户终端获取第一质量信息,所述第一质量信息包括网络延时、终端位置、网络需求中的至少一项。
客户终端在下载数据或观看视频时,可以将数据下载的情况,即第一质量信息反馈至客户服务器,以便于客户服务器判断节点设备提供的服务是否可以满足客户终端的需求,以及是否需要向业务服务器再请求新的节点设备供其分发数据。
作为优选的实施方式,第一节点信息包括节点带宽和节点位置,步骤S304客户服务器从所述客户终端获取第一质量信息之后,还包括以下步骤:
步骤S3042、根据所述第一质量信息,以及所述数据的第一业务能力,判断是否向业务服务器发送新的业务请求,若需要,则客户服务器向业务服务器发送新的业务请求。
第一节点信息包括节点带宽和节点位置,客户服务器就可以统计可以为客户终端提供数据的节点设备出口带宽的地域分布,如深圳可以提供1GB的带宽。如果根据历史数据或经验,1GB的带宽并不能满足深圳及附近客户终端的流畅实用,就需要业务服务器发送新的业务请求,以请求位于深圳的新的节点设备供其分发数据。
作为本发明实施例的进一步改进,在另一实施例中,客户终端内置有与所述业务服务器交互的程序。该程序可以以插件形式安装在客户终端,具体可以为业务服务器管理者提供的插件。
由于客户终端内置有与所述业务服务器交互的程序。因此客户终端从节点设备获取数据之后可以向业务服务器发送第二反馈信息。
作为优选的实施方式,网络业务方法还可以包括以下步骤:
步骤S350、业务服务器获取各客户终端的第二反馈信息,所述客户终端用于从所述节点设备获取数据。
客户终端从节点设备获取数据之后可以向业务服务器发送第二反馈信息。第二反馈信息包括为该客户终端提供数据的节点设备的信息,还可以包括该节点设备提供数据的大小、网速等信息。
作为本发明实施例的进一步改进,步骤S340或者步骤S350之后,网络业务方法还包括以下步骤:
步骤S360、业务服务器根据所述第一反馈信息或者所述第二反馈信息计算各节点设备的贡献值。
如果某节点设备提供数据规模较大,网速较快,那么该节点设备的贡献值就较大。
步骤S370、业务服务器关联的账户根据所述贡献值向所述节点设备关联的账户分配凭证。
本发明实施例中,凭证包括虚拟卡劵、积分、虚拟货币、区块链代币、工作量证明(Proof of Work,POW)、权益证明(Proof of Stake,POS)及或其他电子记帐单位中的一种或多种。
若某节点设备的贡献值较大,就向该节点设备关联的账户分配更多的凭证。各账户所有的凭证可以转移给客户服务器,客户服务器可以给相应账户关联的客户终端一定的账号权限去获取特定的数据。例如,某节点设备关联的账户同时具有一视频网站的账号,该账户可以向视频网站转移一定的凭证,该视频网站可以将该账号升级为会员,会员有权限观看一些会员专属的视频。
作为优选的实施例,客户服务器关联的账户可以将从节点设备关联的账户获取的凭证再次转移给业务服务器关联的账户;以向业务服务器方订购业务,从而业务服务器会响应客户服务器的业务请求,以及相应的节点设备可以向客户终端提供数据和带宽。从而形成了凭证的闭环流通,同时对节点设备所有者也是一种激励,从而网络***中会持续加入节点设备,更多的节点设备也可以为客户服务器提供更好的数据支撑,为客户终端提供更流畅的数据下载或视频播放,形成网络***的良好生态。
作为优选的实施方式,如图7所示为客户终端内置有与所述业务服务器交互的程序时,客户终端从节点设备获取数据的数据传输方法的示意图。如图7所示数据传输方法包括以下步骤:
步骤S305、业务服务器从多个节点设备获取第一反馈信息,所述节点设备均从客户服务器或另一节点设备获取了数据。
如前所述,节点设备可以从客户服务器或另一节点设备获取数据;节点设备从客户服务器或另一节点设备获取数据之后,会向业务服务器发送第一反馈信息,相应的,业务服务器从节点设备接收第一反馈信息,从而可以使业务服务器掌控各节点设备存储了什么数据,进而为客户终端从节点设备获取数据提供便利。
作为优选的实施方式,节点设备从客户服务器获取了数据,具体为所述目标节点列表中的节点设备从客户服务器获取了数据;节点设备从另一节点设备获取了数据,具体为扩展节点设备从目标节点列表中的节点设备获取了数据。因此,业务服务器从多个节点设备获取第一反馈信息,具体为:业务服务器从所述目标节点列表中的节点设备,以及所述扩展节点设备获取第一反馈信息。
步骤S306、客户终端向业务服务器发送数据请求,以及业务服务器从客户终端获取数据请求。
客户终端内置有与所述业务服务器交互的程序,例如爱奇艺播放器、数据下载器等内置了与节点设备、业务服务器交互的插件。在客户终端需要某一数据时,可以向业务服务器发送数据请求;数据请求可以包括该数据的哈希值。
步骤S307、业务服务器根据所述数据请求以及所述第一反馈信息确定所述多个节点设备中的至少一个为源节点设备,并生成源节点列表,以及客户终端从所述业务服务器获取源节点列表,所述源节点列表包括所述源节点设备的网络地址。
业务服务器通过第一反馈信息统计了哪些节点设备存储了哪些数据,在获取到某一终端设备的数据请求后,根据数据请求指定一个或多个节点设备作为源节点设备。作为优选的方式,数据请求包括终端设备的位置信息,业务服务器优先指定距离该终端设备距离近的节点设备为源节点设备,并根据源节点设备可以生成源节点列表。
步骤S308、业务服务器发送所述源节点列表至所述客户终端,以及客户终端从所述源节点列表中的至少部分源节点设备获取数据。
源节点列表包括源节点设备的网络地址,因此客户终端就可以根据源节点设备的网络地址向源节点设备获取所需数据,以便后续操作,如播放视频等。
本发明实施例提供的数据传输方法,通过在客户终端内置与业务服务器交互的程序,节点设备获取到数据时向业务服务器发送反馈;以便于业务服务器统计哪个节点存储了什么信息;从而客户终端可以根据业务服务器的统计从相应的节点设备获取需要的数据。此时,客户服务器负责向节点设备分发数据,客户服务器负责对客户服务器向节点设备分发数据提供业务支持,以及向客户终端提供数据源的信息。
作为优选的实施方式,所述第一反馈信息包括第二节点信息。步骤S305业务服务器从多个节点设备获取第一反馈信息之后,还包括以下步骤:
步骤S3051、业务服务器根据所述第二节点信息分析所述数据的第二业务能力。
作为优选的实施方式,第二节点信息可以包括存储空间、节点带宽、节点位置中的至少一项。根据这些信息业务服务器可以统计网络***中节点设备实际为客户服务器和终端设备提供的存储容量、网络带宽等支持;也可以根据节点位置分析各地域的节点设备可以提供的存储容量、带宽等数据,即第二业务能力。业务服务器根据第二业务能力,可以分析网络***中节点设备可以为客户服务器和终端设提供的服务,进而预测是否可以满足客户终端的需求。
在另一实施例中,则可以根据第一反馈信息计算节点设备的贡献值,从而为向节点设备提供激励提供依据。
作为优选的实施方式,步骤S3051业务服务器根据所述第二节点信息分析所述数据的第二业务能力之后,还包括以下步骤:
步骤S3052、业务服务器发送所述数据的第二业务能力至客户服务器,以使所述客户服务器判断是否发送新的业务请求至所述业务服务器。
业务服务器还可以将第二业务能力发送给客户服务器,客户服务器根据第二业务能力,可以分析网络***中节点设备可以为其或终端设备提供的服务,进而预测是否可以满足客户终端的需求,以及是否需要向业务服务器再请求新的节点设备供其分发数据。
作为优选的实施方式,步骤S308客户终端从所述源节点列表中的至少部分源节点设备获取数据之后,还包括以下步骤:
步骤S3081、客户终端发送第二质量信息至所述客户服务器,以使所述客户服务器判断是否发送新的业务请求至所述业务服务器,若需要,则发送新的业务请求至业务服务器。
作为优选的实施方式,第二质量信息包括网络延时、终端位置、网络需求中的至少一项。
客户终端在下载数据或观看视频时,可以将数据下载的情况,即第二质量信息反馈至客户服务器,以便于客户服务器判断节点设备提供的服务是否可以满足客户终端的需求,以及是否需要向业务服务器再请求新的节点设备供其分发数据;若需要,则发送新的业务请求至业务服务器。
本领域技术人员应当理解,上述网络业务方法与数据传输方法可以分别于不同的网络***实现。例如在某一网络***中,客户服务器向节点设备分发数据可以采用本发明实施例的网络业务方法,而在客户终端从节点设备获取数据时采用现有技术中的方法实现;又例如在另一网络***中,客户服务器向节点设备分发数据可以采用现有技术中的方法,而在客户终端从节点设备获取数据时采用本发明实施例的数据传输方法实现。当然也可以在某一网络***中,客户服务器向节点设备分发数据时采用本发明实施例的网络业务方法,在客户终端从节点设备获取数据时采用本发明实施例的数据传输方法实现。
实施例五
如图8所示的网络业务方法,包括以下步骤:
步骤S410、客户服务器发送业务请求至业务服务器,以及业务服务器获取客户服务器发送的业务请求。
步骤S420、业务服务器根据所述业务请求获取目标节点列表,以及客户服务器从所述业务服务器获取目标节点列表;所述目标节点列表包括多个节点设备的网络地址。
步骤S430、业务服务器向所述客户服务器发送所述目标节点列表,以使所述客户服务器向所述目标节点列表中的节点设备分发数据;以及客户服务器向所述目标节点列表中的节点设备分发数据。
步骤S410、S420和S430,分别对应实施例一中的S310、S320和S330,不再赘述。
步骤S430之后,获取到数据的节点设备会向业务服务器发送第一反馈信息,因此业务服务器可以获取多个节点设备的第一反馈信息。另外,由于节点设备内置有与客户服务器交互的程序,因此,获取到数据的节点设备也可以向客户服务器发送节点反馈信息。
因此,网络业务方法还包括以下步骤:
步骤S440、业务服务器获取各节点设备的第一反馈信息,和/或客户服务器获取各节点设备的节点反馈信息。
作为优选的实施方式,由于客户终端内置有与所述业务服务器交互的程序。因此客户终端从节点设备获取数据之后可以向业务服务器发送第二反馈信息。另外,客户终端从节点设备获取数据之后,也可以发送第三反馈信息至客户服务器。
因此,网络业务方法还包括以下步骤:
步骤S450、业务服务器获取各客户终端的第二反馈信息,和/或客户服务器获取各客户终端的第三反馈信息;所述客户终端用于从所述节点设备获取数据。
作为优选的实施方式,在本实施例中,步骤S440和/或步骤S450之后,还包括以下步骤:
步骤S460、业务服务器根据所述第一反馈信息或者所述第二反馈信息计算所述客户服务器的第一业务计量值。和/或
步骤S470、客户服务器根据所述节点反馈信息或者所述第三反馈信息计算第二业务计量值。
第一反馈信息是获取到数据的节点设备向业务服务器发送的,因此业务服务器根据所述第一反馈信息计算客户服务器的第一业务计量值,具体为:节点设备存储了客户服务器的数据,业务服务器就对客户服务器的业务进行计费,多台节点设备多次储存客户服务器的数据,可以累积得到客户服务器的第一业务计量值。
第二反馈信息是客户终端从节点设备获取数据之后向业务服务器发送的,因此业务服务器根据所述第二反馈信息计算客户服务器的第一业务计量值,具体为:客户终端从某节点设备获取了数据,即节点设备确实对客户终端获取设备做了贡献,则业务服务器对客户服务器的业务进行计费,多台客户终端多次从节点设备获取数据,也可以累积得到客户服务器的第一业务计量值。
节点反馈信息是获取到数据的节点设备向客户服务器发送的,因此,客户服务器根据所述节点反馈信息计算第二业务计量值,具体为:节点设备存储了客户服务器的数据,客户服务器就对该业务进行计费,多台节点设备多次储存客户服务器的数据,客户服务器可以统计业务服务器和节点设备为其提供的第二业务计量值。
第三反馈信息是客户终端从节点设备获取数据之后发送至客户服务器的,因此,客户服务器根据所述第三反馈信息计算第二业务计量值,具体为:客户终端从某节点设备获取了数据,即节点设备确实对客户终端获取设备做了贡献,则客户服务器对该业务进行计费,多台节点设备多次储存客户服务器的数据,客户服务器可以统计业务服务器和节点设备为其提供的第二业务计量值。
作为本发明实施例的进一步改进,步骤S460业务服务器根据所述第一反馈信息或者所述第二反馈信息计算所述客户服务器的第一业务计量值之后,网络业务方法还包括以下步骤:
步骤S480、业务服务器根据所述第一业务计量值计算所述客户服务器的业务余量。
作为优选的实施方式,步骤S410中的业务请求还包括客户服务器的业务余量。网络业务方法还包括以下步骤:
步骤S490、若所述业务余量小于余量阈值,则向监控设备、所述客户服务器、所述客户服务器关联的设备中的至少一个发送余量提醒。
作为优选的实施方式,客户服务器方可以事先向业务服务器方支付费用,也可以将从节点设备关联的账户获取的凭证转移给业务服务器关联的账户,以订购一定量的业务。根据订购的业务和第一业务计量值可以得到业务余量。业务服务器实时监控客户服务器的业务余量,当业务余量小于余量阈值时,向监控设备、客户服务器、客户服务器关联的设备中的至少一个发送余量提醒,从而提示客户服务器方向业务服务器方支付费用或转移凭证。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法,如:
存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述网络业务方法和/或数据传输方法的步骤。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
Claims (18)
1.数据传输方法,其特征在于,包括以下步骤:
从业务服务器获取目标节点列表,所述目标节点列表包括多个节点设备的网络地址;从多个节点设备获取节点反馈信息,所述节点设备从客户服务器或另一节点设备获取了数据,具体为所述目标节点列表中的节点设备从客户服务器获取了数据;节点设备从另一节点设备获取了数据,具体为扩展节点设备从目标节点列表中的节点设备获取了数据;且所述节点设备均内置有与所述客户服务器交互的程序;客户服务器通过所述节点反馈信息统计存放在节点设备中的数据以用于指导客户终端从相应的节点设备获取该数据;
从客户终端获取数据请求;
根据所述数据请求以及所述节点反馈信息确定所述多个节点设备中的至少一个为源节点设备,并生成源节点列表,所述源节点列表包括所述源节点设备的网络地址;
发送所述源节点列表至所述客户终端,以使所述客户终端从所述源节点列表中的至少部分源节点设备获取数据。
2.如权利要求1所述的数据传输方法,其特征在于:从节点设备获取节点反馈信息之前,还包括以下步骤:
发送业务请求至业务服务器;
从所述业务服务器获取目标节点列表,所述目标节点列表包括多个节点设备的网络地址;
向所述目标节点列表中的节点设备分发数据。
3.如权利要求2所述的数据传输方法,其特征在于:所述从所述业务服务器获取目标节点列表之前或之后,还包括以下步骤:
所述业务服务器向所述目标节点列表中的节点设备发送开放通知。
4.如权利要求3所述的数据传输方法,其特征在于:所述开放通知包括节点扩展指令,以使获取到所述开放通知的节点设备根据所述节点扩展指令向扩展节点设备发送从所述客户服务器获取的数据,所述扩展节点设备为所述目标节点列表之外的节点设备。
5.如权利要求4所述的数据传输方法,其特征在于:所述目标节点列表中节点设备的数量小于需求节点数量。
6.如权利要求5所述的数据传输方法,其特征在于:所述从多个节点设备获取节点反馈信息,具体为:
从所述目标节点列表中的节点设备,以及所述扩展节点设备获取节点反馈信息。
7.如权利要求1-6中任一项所述的数据传输方法,其特征在于:所述节点反馈信息包括第一节点信息;所述从多个节点设备获取节点反馈信息之后,还包括以下步骤:
根据所述多个节点设备的第一节点信息分析所述数据的第一业务能力。
8.如权利要求7所述的数据传输方法,其特征在于:所述第一节点信息包括存储空间、节点带宽、节点位置中的至少一项。
9.如权利要求7所述的数据传输方法,其特征在于:所述发送所述源节点列表至所述客户终端,以使所述客户终端从所述源节点列表中的至少部分源节点设备获取数据之后,还包括以下步骤:
从所述客户终端获取第一质量信息,所述第一质量信息包括网络延时、终端位置、网络需求中的至少一项。
10.如权利要求9所述的数据传输方法,其特征在于:所述从所述客户终端获取第一质量信息之后,还包括以下步骤:
根据所述第一质量信息,以及所述数据的第一业务能力,判断是否发送新的业务请求至业务服务器。
11.数据传输方法,其特征在于,包括以下步骤:
向客户服务器发送数据请求;所述客户服务器用于向节点设备发送数据,以及从获取所述数据的节点设备接收节点反馈信息,所述节点设备内置有与所述客户服务器交互的程序;客户服务器通过所述节点反馈信息统计存放在节点设备中的数据以用于指导客户终端从相应的节点设备获取该数据;
从所述客户服务器获取源节点列表,所述源节点列表包括至少一个源节点设备的网络地址,所述源节点设备是由所述客户服务器根据所述数据请求以及所述节点反馈信息确定的;
从所述源节点列表中的至少部分源节点设备获取数据。
12.如权利要求11所述的数据传输方法,其特征在于:所述从所述源节点列表中的至少部分源节点设备获取数据之后,还包括以下步骤:
发送第一质量信息至所述客户服务器,以使所述客户服务器判断是否需要向业务服务器发送新的业务请求。
13.如权利要求12所述的数据传输方法,其特征在于:所述节点反馈信息包括第一节点信息,所述第一节点信息包括存储空间、节点带宽、节点位置中的至少一项。
14.如权利要求12或13所述的数据传输方法,其特征在于:所述第一质量信息包括网络延时、终端位置、网络需求中的至少一项。
15.客户服务器,其特征在于:包括存储器、处理器以及存储在存储器中的程序,所述程序被配置成由处理器执行,处理器执行所述程序时实现如权利要求1-10中任一项所述的数据传输方法的步骤。
16.客户终端,其特征在于:包括存储器、处理器以及存储在存储器中的程序,所述程序被配置成由处理器执行,处理器执行所述程序时实现如权利要求11-14中任一项所述的数据传输方法的步骤。
17.网络***,其特征在于:包括如权利要求15所述的客户服务器、如权利要求16所述的客户终端,以及业务服务器和多个节点设备;所述业务服务器、客户服务器均与各节点设备通讯连接,所述业务服务器和客户服务器通讯连接,所述客户终端用于从所述节点设备获取数据。
18.存储介质,所述存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现:
如权利要求1-10中任一项所述的数据传输方法的步骤,或者
如权利要求11-14中任一项所述的数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810450835.5A CN108683728B (zh) | 2018-05-11 | 2018-05-11 | 数据传输方法、服务器、终端、网络***和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810450835.5A CN108683728B (zh) | 2018-05-11 | 2018-05-11 | 数据传输方法、服务器、终端、网络***和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108683728A CN108683728A (zh) | 2018-10-19 |
CN108683728B true CN108683728B (zh) | 2022-02-25 |
Family
ID=63805549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810450835.5A Active CN108683728B (zh) | 2018-05-11 | 2018-05-11 | 数据传输方法、服务器、终端、网络***和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108683728B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11122110B2 (en) | 2019-06-11 | 2021-09-14 | Advanced New Technologies Co., Ltd. | Blockchain-based file processing method, apparatus, and device, and storage medium |
CN110298194B (zh) * | 2019-06-11 | 2024-02-02 | 创新先进技术有限公司 | 基于区块链的文件处理方法、装置、设备及存储介质 |
CN111460028A (zh) * | 2020-03-09 | 2020-07-28 | 拉扎斯网络科技(上海)有限公司 | 数据传输方法、数据传输装置、存储介质和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610162A (zh) * | 2008-06-16 | 2009-12-23 | 华为技术有限公司 | 一种基于对等存储网络提供内容的方法、***和设备 |
CN102833293A (zh) * | 2011-06-17 | 2012-12-19 | 腾讯科技(深圳)有限公司 | P2sp网络中资源下载的方法及客户端 |
CN103581245A (zh) * | 2012-07-30 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种内容分发网络内容分发的方法及*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090168752A1 (en) * | 2007-12-31 | 2009-07-02 | Jonathan Segel | Method and apparatus for distributing content |
US20130283097A1 (en) * | 2012-04-23 | 2013-10-24 | Yahoo! Inc. | Dynamic network task distribution |
WO2014021914A1 (en) * | 2012-08-01 | 2014-02-06 | Whisper Innovations, Llc | System and method for providing and managing multiple content feeds and supplemental content by information provider using an on-screen interactive interface |
US9705907B2 (en) * | 2015-02-04 | 2017-07-11 | Cisco Technology, Inc. | Inspected content delivery with peer-to-peer streaming |
CN105450535B (zh) * | 2015-11-10 | 2018-11-27 | 深圳市网心科技有限公司 | 一种海量的cdn节点资源部署***和方法 |
-
2018
- 2018-05-11 CN CN201810450835.5A patent/CN108683728B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610162A (zh) * | 2008-06-16 | 2009-12-23 | 华为技术有限公司 | 一种基于对等存储网络提供内容的方法、***和设备 |
CN102833293A (zh) * | 2011-06-17 | 2012-12-19 | 腾讯科技(深圳)有限公司 | P2sp网络中资源下载的方法及客户端 |
CN103581245A (zh) * | 2012-07-30 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种内容分发网络内容分发的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN108683728A (zh) | 2018-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108683730B (zh) | 资源调度方法、业务服务器、客户终端、网络***和介质 | |
EP3143540B1 (en) | Distributing content in managed wireless distribution networks | |
CN104539977B (zh) | 直播预览方法及装置 | |
CN108683728B (zh) | 数据传输方法、服务器、终端、网络***和存储介质 | |
EP3143541B1 (en) | Content delivery prioritization in managed wireless distribution networks | |
EP3143748B1 (en) | Managed wireless distribution network | |
EP3143539A1 (en) | Content discovery in managed wireless distribution networks | |
US8565263B2 (en) | Dynamic adjustment of bandwidth for providing increased bandwidth during business hours | |
Um et al. | Dynamic Resource Allocation and Scheduling for Cloud‐Based Virtual Content Delivery Networks | |
CN108616600B (zh) | 资源调度方法、客户服务器、节点设备、网络***和介质 | |
EP2583435A1 (en) | Improved peer-to-peer system | |
CN108667935A (zh) | 网络业务方法、服务器、网络***和存储介质 | |
CN104394221B (zh) | 利用边缘服务节点为流媒体应用进行加速处理的方法和*** | |
CN104506884A (zh) | 一种利用虚拟cdn进行流媒体点播的*** | |
JP2017126983A (ja) | 生中継データを共有する方法およびシステム | |
US20200068236A1 (en) | Augmenting Dynamic Ad Insertion Inventory With Unused Inventory | |
CN108683726B (zh) | 数据传输方法、服务器、终端、网络***和存储介质 | |
US20230239347A1 (en) | Assisted delivery service for networks | |
US9124914B2 (en) | Credit/penalty-based network-guidance of bitrates for clients | |
EP3457633A1 (en) | Bandwith policy management in a self-corrected content delivery network | |
CN108737121B (zh) | 费用核算方法、节点设备、客户服务器、网络***和介质 | |
CN108683515B (zh) | 费用核算方法、客户终端、业务服务器、网络***和介质 | |
CN105593837B (zh) | 用于在内容递送网络中递送内容的***和方法 | |
US8301775B2 (en) | Affiliate bandwidth management | |
CN110213619B (zh) | 带宽分配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |