CN109981461B - 一种数据传输方法、装置及系统 - Google Patents
一种数据传输方法、装置及系统 Download PDFInfo
- Publication number
- CN109981461B CN109981461B CN201711448757.7A CN201711448757A CN109981461B CN 109981461 B CN109981461 B CN 109981461B CN 201711448757 A CN201711448757 A CN 201711448757A CN 109981461 B CN109981461 B CN 109981461B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- nodes
- hop
- requirement
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 148
- 238000000034 method Methods 0.000 title claims abstract description 115
- 238000009826 distribution Methods 0.000 claims abstract description 79
- 238000013480 data collection Methods 0.000 claims description 210
- 230000015654 memory Effects 0.000 claims description 79
- 238000012545 processing Methods 0.000 description 44
- 230000006870 function Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 17
- 238000004590 computer program Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 238000007493 shaping process Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- 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/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种数据传输方法、装置及系统,以提高网络传输效率。其中,数据分发方法包括:CO节点接收第一设备发送的数据发布需求,根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定各CF节点中能够满足数据发布需求的N个CF节点,并分别设置所述N个CF节点的路由信息,将设置的路由信息分别发送到对应的CF节点,将第二CF节点的信息发送给第一设备,第二CF节点为所述N个CF节点中用于接收第一设备发送的待发布数据的CF节点;所述N个CF节点中的第一CF节点接收并保存第一设备或第一CF节点的上一跳CF节点发送的待发布数据,并根据CO节点发送的路由信息将接收到的数据发送到第一CF节点的下一跳CF节点。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据传输方法、装置及系统。
背景技术
近年来,随着互联网的快速发展,以视频点播、视频直播、增强现实(augmentedreality,AR)/虚拟现实(virtual reality,VR)等为代表的网络新应用大量涌现,对网络传输性能(如带宽、延迟等)提出了更高的要求。尽管网络基础设施的升级换代可以提升网络的传输性,但是这种方式成本较高,且无法满足流量爆炸式增长带来的传输需求。因此,学术界和工业界一直在研究在给定的网络基础设施条件下如何提升网络传输效率的技术方案。
目前,互联网中主要采用的数据传输方式为分组交换,分组交换采用存储转发的传输方式,将所要发送的内容分割成包括目的地址的数据包,使得该数据包可以按照该目的地址在网络中传输。然而分组交换采用易失性缓存(用后即弃)的方式,导致存在大量的内容传输冗余。
为了尽可能避开网络中可能影响数据传输速率和稳定性的瓶颈和环节,内容分发网络(content delivery network,CDN)技术应运而生。CDN技术通过在网络各处放置服务节点,在现有的互联网基础之上构建一层智能虚拟网络,实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息,将用户的请求重新导向离用户最近的服务节点上,将该服务节点上保存的内容发送给用户。但是,CDN技术基于应用层进行传输效率优化,仍然存在大量的传输冗余,并且CDN中缓存节点的数量有限,限制了内容分发的效率。
发明内容
本申请提供了一种数据传输方法、装置及系统,以减少传输冗余,提高网络传输效率。
第一方面,本申请提供了一种数据分发方法,所述方法包括:集中化编排调度CO节点接收第一设备发送的数据发布需求,根据所述数据发布需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据发布需求的N个CF节点,并分别设置所述N个CF节点的路由信息,针对第一CF节点,所述第一CF节点的路由信息包括所述第一CF节点的下一跳CF节点的信息,所述第一CF节点为所述N个CF节点中的任意一个CF节点,N为大于或等于1的正整数;所述CO节点将设置的所述N个CF节点的路由信息分别发送到对应的CF节点,将第二CF节点的信息发送给所述第一设备,所述第二CF节点为所述N个CF节点中用于接收所述第一设备发送的所述待发布数据的第一跳CF节点;所述第一CF节点接收所述CO节点发送的所述第一CF节点的路由信息;所述第一CF节点接收并保存所述第一设备或所述N个CF节点中所述第一CF节点的上一跳CF节点发送的所述待发布数据;所述第一CF节点根据所述路由信息将接收到的数据发送到所述第一CF节点的下一跳CF节点。
通过上述数据分发方法,所述CO节点接收第一设备发送的数据发布需求,根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定所述各CF节点中能够满足所述数据发布需求的N个CF节点,并分别设置所述N个CF节点的路由信息,所述N个CF节点的路由信息包括所述N个CF节点各自的下一跳CF节点的信息;所述CO节点将设置的所述N个CF节点的路由信息分别发送到对应的CF节点,将第二CF节点的信息发送给所述第一设备,所述第二CF节点为所述N个CF节点中用于接收所述第一设备发送的所述待发布数据的第一跳CF节点,使得所述第一设备通过所述第二CF节点将所述待发布数据上传到网络中,并通过所述N个CF节点中的其它CF节点按照所述第一设备的数据发布需求完成所述待发布数据的推送。所述CO节点根据数据发布需求对网络资源进行统一调度管理,可以有效提高数据分发的效率,能够满足不同数据发布者的定制化需求。并且,本申请实施例将所述第一设备的待发布数据可以通过所述N个CF节点提前推送到网络中的边缘CF节点,在用户请求所述待发布数据时能够及时响应用户发送的数据传输请求,进一步提高了数据传输的效率。另外,相较于CDN技术中设置有限个用于数据分发的服务节点,本申请实施例中CF节点可以为分布在网络中的所述CO节点管理的任意CF节点,相当于增加了网络中进行数据发布的服务节点的个数,进而提高了数据传输的效率。
一种可能的实施方式中,所述CO节点将设置的所述N个CF节点的路由信息分别发送到对应的CF节点之前,还可以为所述N个CF节点组成的数据发布通道分配数据发布通道标识,所述第一CF节点的路由信息还包括所述数据发布通道标识。所述CO节点为所述N个CF节点组成的数据发布通道分配数据发布通道标识之后,还将所述数据发布通道标识发送给所述第一设备。
通过上述方法,所述第一设备在发布具有相同数据发布需求的新数据时,不需要再次向所述CO节点发送数据发布需求以建立数据发布通道,只需在所要发布的新数据中携带所述数据发布通道标识,所述N个CF节点在接收到携带所述数据发布通道标识的数据时,按照所述N个CF节各自的路由信息传输所述新数据,可以实现数据发布通道的复用,进而能够有效地利用网络资源。
一种可能的实施方式中,所述第一CF节点的路由信息还可以包括所述第一CF节点的接收周期、所述第一CF节点的等待周期以及所述第一CF节点的发送周期;
其中,所述第一CF节点的接收周期为所述第一CF节点接收所述第一设备或接收所述N个CF节点中所述第一CF节点的上一跳CF节点发送的数据的周期;所述第一CF节点的发送周期为所述第一CF节点将所述接收期内接收到的数据发送给所述N个CF节点中所述第一CF节点的下一跳CF节点的周期,或为所述第一CF节点将所述接收期内接收到的数据发送给向所述第一CF节点请求所述待发布数据的设备的周期;所述第一CF节点的等待周期为所述第一CF节点不接收所述第一设备或所述N个CF节点中所述第一CF节点的上一跳CF节点发送的数据、且不向所述N个CF节点中所述第一CF节点的下一跳CF节点或向所述第一CF节点请求所述待发布数据的设备发送所述接收期内接收到的数据的周期。
一种可能的实施方式中,所述第一CF节点在所述接收周期内接收并保存所述第一设备或所述N个CF节点中所述第一CF节点的上一跳CF节点发送的数据;所述第一CF节点在所述发送周期内将所述接收期内接收到的数据发送给所述N个CF节点中所述第一CF节点的下一跳CF节点;所述第一CF节点在所述等待周期内不接收所述第一设备或所述N个CF节点中所述第一CF节点的上一跳CF节点发送的数据,且不向所述N个CF节点中所述第一CF节点的下一跳CF节点或向所述第一CF节点请求所述待发布数据的设备发送所述接收期内接收到的数据。
通过上述方法,当所述第一CF节点的上游带宽与所述第一CF节点的下游带宽不匹配时,所述CO节点可以灵活配置所述第一CF节点的接收周期、发送周期以及等待周期,实现对网络资源的精确分配与调度,进而可以准确地进行流量整形与拥塞控制,最大化利用网络资源,避免网络瓶颈对数据传输的影响(如丢包、传输延迟)。
一种可能的实施方式中,所述CO节点在所述待发布数据的传输过程中,若确定所述N个CF节点中一个或多个CF节点的状态发生变化(如可用带宽变小),根据所述一个或多个CF节点当前的状态分别调整所述一个或多个CF节点的发送周期、接收期和等待周期,并将调整后的所述一个或多个CF节点的发送周期、接收期以及等待周期分别发送到对应的CF节点。
一种可能的实施方式中,所述CO节点接收第一设备发送的数据发布需求之后,还可以根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定所述待发布数据的上传速率,将所确定的上传速率发送给所述第一设备,使得所述第一设备按照所述上传速率将所述待发布数据发送给所述第二CF节点,以减少所述第一设备上传所述待发布数据的速率对所述待发布数据的发布所需时长的影响,进一步提高数据传输的效率。
一种可能的实施方式中,所述CO节点接收第一设备发送的数据发布需求之后,还可以根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定第一数据块的大小,将所述第一数据块的大小发送给所述第一设备,使得所述第一设备根据所述第一数据块的大小将所述待发布数据划分为多个第一数据块后,发送到所述第二CF节点,所述第一数据块为用于传输所述待发布数据的最小数据单元。
通过上述方法,所述CO节点能够灵活控制每次传输的所述待发布数据的大小,进而在满足所述第一设备的数据发布需求的基础上,进一步减小传输延迟,达到提高网络传输效率的目的。
一种可能的实施方式中,所述数据发布需求包括所述待发布数据的大小、需要获取所述待发布数据的设备以及所述待发布数据的服务质量QoS需求,所述QoS需求用于表征所述第一设备对所述待发布数据的传输要求。
一种可能的实施方式中,所述数据发布需求包括所述待发布数据的大小、需要获取所述待发布数据的设备、所述待发布数据的服务质量QoS需求以及第一数据块的大小,其中,所述QoS需求用于表征所述第一设备对所述待发布数据的传输要求,所述第一数据块为用于传输所述待发布数据的最小数据单元。
一种可能的实施方式中,需要获取所述待发布数据的设备为设定区域内的设备或者设定接收列表中的设备。
一种可能的实施方式中,若需要获取所述待发布数据的设备为设定接收列表中的设备,所述CO节点根据所述数据发布需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据发布需求的N个CF节点之后,还可以将所述设定接收列表发送到所述N个CF节点中的最后一跳CF节点,使得所述N个CF节点中的最后一跳CF节点获得所述待发布数据后,根据所述设定接收列表将所述待发布数据发送给对应的设备。
一种可能的实施方式中,若所述第一CF节点为所述N个CF节点中的最后一跳CF节点,所述第一CF节点接收并保存所述第一设备的待发布数据之后,还可以接收第二设备发送的数据传输请求,所述数据传输请求用于获取所述待发布数据;根据所述数据传输请求,将所述待发布数据发送给所述第二设备。
第二方面,本申请提供了一种数据收集方法,所述方法包括:集中化编排调度CO节点接收第三设备发送的数据收集需求,根据所述数据收集需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据收集需求的M个CF节点,分别设置所述M个CF节点的路由信息,并将设置的所述M个CF节点的路由信息分别发送到对应的CF节点,将第四CF节点的信息发送给所述第三设备;所述第三CF节点接收所述CO节点发送的所述第三CF节点的路由信息,接收并保存至少一个第四设备或所述第三CF节点的上一跳CF节点发送的所述待收集数据,根据所述第三CF节点的路由信息将接收到的所述待收集数据发送到所述第三CF节点的下一跳CF节点;
其中,所述数据收集需求用于表征所述第三设备待收集数据的需求信息,针对第三CF节点,所述第三CF节点的路由信息包括所述M个CF节点中所述第三CF节点的下一跳CF节点,所述第三CF节点为所述M个CF节点中的任意一个CF节点,M为大于或等于1的正整数,所述第四CF节点为所述M个CF节点中用于所述第三设备下载所述待收集数据的CF节点,所述第四设备为需要反馈所述待收集数据的设备。
通过上述数据收集方法,所述CO节点接收第三设备发送的数据收集需求,根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定所述各CF节点中能够满足所述数据收集需求的M个CF节点,并分别设置所述M个CF节点的路由信息,所述M个CF节点的路由信息包括所述M个CF节点各自的下一跳CF节点的信息;所述CO节点将设置的所述M个CF节点的路由信息分别发送到对应的CF节点,将第四CF节点的信息发送给所述第三设备,所述第四CF节点为所述M个CF节点中用于所述第三设备下载所述待收集数据的CF节点,使得需要反馈所述待收集数据的至少一个第四设备通过所述M个CF节点按照所述第三设备的数据收集需求完成所述待收集数据的收集。也就是说,本申请实施例中,所述CO节点根据数据收集需求对网络资源进行统一调度管理,可以有效提高数据收集的效率,还能够满足不同数据收集者的定制化需求,并且数据收集者(所述第三设备)不需要通过多次与被收集对象(所述至少一个第四设备)建立连接来获取所述待收集数据,能够有效降低数据收集时的通信代价。另外,所述CO节点确定的M个CF节点将所述至少一个四设备反馈的数据保存到所述第四CF节点,使得数据收集者(所述第三设备)不需要实时在线,在上线时从所述第四CF节点下载所述待收集数据即可。
一种可能的实施方式中,所述CO节点将设置的所述M个CF节点的路由信息分别发送到对应的CF节点之前,还可以为所述M个CF节点组成的数据收集通道分配数据收集通道标识,所述第三CF节点的路由信息还包括所述数据收集通道标识。所述CO节点为所述M个CF节点组成的数据收集通道分配数据收集通道标识之后,还将所述数据收集通道标识发送给所述第三设备。
通过上述方法,所述第三设备在收集具有相同数据收集需求的新数据时,不需要再次向所述CO节点发送数据收集需求以建立数据收集通道,只需在需要反馈的新数据的设备发送的数据中携带所述数据收集通道标识,所述M个CF节点在接收到携带所述数据收集通道标识的数据时,按照所述M个CF节各自的路由信息传输所述新数据,可以实现数据收集通道的复用,进而能够有效地利用网络资源。
一种可能的实施方式中,所述第三CF节点的路由信息还可以包括所述第三CF节点的接收周期、所述第三CF节点的等待周期以及所述第三CF节点的发送周期;
其中,所述第三CF节点的接收周期为所述第三CF节点接收所述M个CF节点中所述第三CF节点的上一跳CF节点的周期,或所述第三CF节点接收向所述第三CF节点反馈所述待收集数据的设备发送的数据的周期;所述第三CF节点的发送周期为所述第三CF节点将所述接收期内接收到的数据发送给所述第三设备的周期,或所述第三CF节点将所述接收期内接收到的数据发送给所述M个CF节点中所述第三CF节点的下一跳CF节点发送的数据的周期;所述第三CF节点的等待周期为所述第三CF节点不接收所述M个CF节点中所述第三CF节点的上一跳CF节点或向所述第三CF节点反馈所述待收集数据的设备发送的数据,且不向所述M个CF节点中所述第三CF节点的下一跳CF节点或所述第三设备发送所述接收期内接收到的数据的周期。
一种可能的实施方式中,所述第三CF节点在所述接收周期内接收至少一个第四设备或所述第三CF节点的上一跳CF节点发送的数据;所述第三CF节点在所述发送周期内将所述接收期内接收到的数据发送给所述M个CF节点中所述第三CF节点的下一跳CF节点或所述第三设备;所述第三CF节点在所述等待周期内不接收所述至少一个第四设备或所述M个CF节点中所述第三CF节点的上一跳CF节点发送的数据,且不向所述M个CF节点中所述第三CF节点的下一跳CF节点或所述第三设备发送所述接收期内接收到的数据。
通过上述方法,当所述第三CF节点的上游带宽与所述第三CF节点的下游带宽不匹配时,所述CO节点可以灵活配置所述第三CF节点的接收周期、发送周期以及等待周期,实现对网络资源的精确分配与调度,进而可以准确地进行流量整形与拥塞控制,最大化利用网络资源,避免网络瓶颈对数据传输的影响(如丢包、传输延迟)。
一种可能的实施方式中,所述CO节点接收第三设备发送的数据收集需求之后,还可以根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定所述待收集数据的上传速率,并将所确定的上传速率发送给所述第三设备或者所述M个CF节点中的第一跳CF节点,使得所述第三设备或者所述M个CF节点中的第一跳CF节点通知至少一个第四设备按照所述上传速率将所述待收集数据发送给所述M个CF节点中的第一跳CF节点,所述第四设备为向所述M个CF节点中的第一跳CF节点反馈所述待收集数据的设备,以降低所述第四设备上述所述待收集数据所需时间对数据收集过程中数据传输的影响,进一步提高数据传输的效率。
一种可能的实施方式中,CO节点接收第三设备发送的数据收集需求之后,还根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定第二数据块的大小,将所述第二数据块大小发送给所述第三CF节点,使得所述第三CF节点根据所述第二数据块的大小将接收到的所述待收集数据划分为多个第二数据块后,发送到所述第三CF节点的下一跳节点或所述第三设备,其中,所述第二数据块为用于传输所述待收集数据的最小数据单元。
一种可能的实施方式中,所述数据收集需求包括需要反馈所述待收集数据的设备以及所述待收集数据的服务质量QoS需求,所述QoS需求用于表征所述第三设备对所述待收集数据的传输要求。
一种可能的实施方式中,所述数据收集需求包括需要反馈所述待收集数据的设备、所述待收集数据的服务质量QoS需求以及第二数据块的大小,其中,所述QoS需求用于表征所述第三设备对所述待收集数据的传输要求,所述第二数据块为用于传输所述待收集数据的最小数据单元;
所述CO节点根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定所述各CF节点中能够满足所述数据收集需求的M个CF节点之后,还将所述第二数据块的大小发送给所述第三CF节点,使得所述第三CF节点根据所述数据块的大小将接收到的所述待收集数据划分为多个数据块后,发送到所述第三CF节点的下一跳节点。
一种可能的实施方式中,所述第三CF节点在所述第三节点的等待周期内根据所述数据块的大小将接收到的所述待收集数据划分为多个数据块后,发送到所述第三CF节点的下一跳节点。
一种可能的实施方式中,需要反馈所述待收集数据的设备为设定区域内的设备或者设定收集列表中的设备。
一种可能的实施方式中,若需要反馈所述待收集数据的设备为设定收集列表中的设备,所述CO节点根据所述数据收集需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据收集请求的M个CF节点之后,还可以将所述设定收集列表发送到所述M个CF节点中的第一跳CF节点。
一种可能的实施方式中,若所述第三CF节点为所述M个CF节点中的第一跳CF节点,且需要反馈所述待收集数据的设备为设定收集列表中的设备,所述第三CF节点根据所述第三CF节的路由信息,将所述第三设备的待收集数据传输到所述第三CF节点的下一跳CF节点之前,还接收所述CO节点发送的所述设定收集列表。
第三方面,本申请提供了一种CO节点,所述CO节点具有实现上述第一方面方法实例中CO节点行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实施方式中,所述CO节点的结构中包括接收单元、处理单元和发送单元,这些单元可以执行上述第一方面的方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
一种可能的实施方式中,所述CO节点的结构中包括收发器、存储器以及处理器,该处理器被配置为支持所述CO节点执行上述第一方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述协调器必要的程序指令和数据。
第四方面,本申请提供了一种CF节点,所述CF节点具有实现上述第一方面方法实例中CF节点行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实施方式中,所述CF节点的结构中包括接收单元、处理单元和发送单元,这些单元可以执行上述第一方面的方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
一种可能的实施方式中,所述CF节点的结构中包括收发器、存储器以及处理器,该处理器被配置为支持所述CF节点执行上述第一方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述协调器必要的程序指令和数据。
第五方面,本申请还提供了一种CO节点,所述CO节点具有实现上述第二方面方法实例中CO节点行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实施方式中,所述CO节点的结构中包括接收单元、处理单元和发送单元,这些单元可以执行上述第二方面的方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
一种可能的实施方式中,所述CO节点的结构中包括收发器、存储器以及处理器,该处理器被配置为支持所述CO节点执行上述第二方法中相应的功能。所述存储器与所述处理器耦合,其保存所述协调器必要的程序指令和数据。
第六方面,本申请还提供了一种CF节点,所述CF节点具有实现上述第二方面方法实例中CF节点行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实施方式中,所述CF节点的结构中包括接收单元、处理单元和发送单元,这些单元可以执行上述第二方面的方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
一种可能的实施方式中,所述CF节点的结构中包括收发器、存储器以及处理器,该处理器被配置为支持所述CF节点执行上述第二方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述协调器必要的程序指令和数据。
第七方面,本申请还提供了一种数据分发系统,所述数据分发系统包括上述第三方面所述的CO节点以及至少一个所述第四方面所述的CF节点。
第八方面,本申请还提供了一种数据收集系统,所述数据收集系统包括上述第五方面所述的CO节点以及至少一个所述第六方面所述的CF节点。
第九方面,本申请还提供一种计算机存储介质,该存储介质中存储有软件程序,该软件程序在被一个或多个处理器读取并执行时可实现任一方面的任意一种设计提供的方法。
第十方面,本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一方面中的任一种方法。
附图说明
图1为本申请实施例提供的一种数据传输系统的结构示意图;
图2为本申请实施例提供的一种数据分发方法流程示意图;
图3为本申请实施例中CO节点建立数据发布通道的方法流程示意图;
图4为本申请实施例中第一设备通过数据发布通道发布数据的具体方法流程示意图;
图5为本申请实施例提供的一种数据收集方法流程示意图;
图6为本申请实施例中CO节点建立数据收集通道的方法流程示意图;
图7为本申请实施例中IoT设备通过数据收集通道向物联网云端服务器反馈数据的方法流程示意图;
图8为本申请实施例提供的一种CO节点的结构示意图;
图9为本申请实施例提供的一种CO节点的结构示意图;
图10为本申请实施例提供的一种CF节点的结构示意图;
图11为本申请实施例提供的一种CF节点的结构示意图;
图12为本申请实施例提供的一种CO节点的结构示意图;
图13为本申请实施例提供的一种CO节点的结构示意图;
图14为本申请实施例提供的一种CF节点的结构示意图;
图15为本申请实施例提供的一种CF节点的结构示意图。
具体实施方式
本申请提供了一种数据传输方法、装置及系统,以解决现有网络传输方法中传输冗余较多,传输效率不高的问题。其中,本申请所述方法和装置基于同一发明构思,由于所述方法和所述装置解决问题的原理相似,因此所述装置与方法的实施可以相互参见,重复之处不再赘述。
本申请提供的数据传输方法应用于单一控制实体的网络,可以部署在网络层或应用层,所述数据传输方法包括数据分发方法和数据收集方法,其中,数据分发方法可以应用于数据发布者通过网络向用户设备发布数据的场景,数据收集方法可以应用于数据收集者通过网络从相应设备收集数据的场景。具体地,本申请实施例中集中化编排调度节点(centralized orchestrator,CO)根据数据发布者或者数据收集者发送的数据传输需求(数据发布需求或数据收集需求),以及CO节点所管理的缓存与转发节点(caching andforwarding,CF)节点当前的状态,确定至少一个用于传输待传输数据(待发布数据或待收集数据)的CF节点,并分别为所述至少一个CF节点设置路由信息,然后将所述至少一个CF节点中用于数据发布者上传待发布数据的CF节点的信息发送给数据发布者,使得所确定的至少一个CF节点可以在满足所述数据发布者的数据发布需求的条件下,快速高效完成数据发布,或者将所述至少一个CF节点中用于数据收集者下载待收集数据的CF节点的信息发送给数据收集者,使得所确定的至少一个CF节点可以在满足所述数据收集者的数据收集需求的条件下,快速高效完成数据收集。
以下,对本申请实施例涉及部分用语进行解释说明,以便于本领域技术人员理解。
(1)下一跳CF节点,指在数据传输的方向上用于接收当前CF节点发送的数据的下一个CF节点;
(2)上一跳CF节点,指在数据传输的方向上用于向当前CF节点发送数据的上一个CF节点;
(3)多个,是指两个或两个以上。
要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面将结合附图对本申请实施例作进一步地详细描述。
本申请实施例提供了一种数据传输系统100,包括CO节点101以及所述CO节点101管理的至少一个CF节点102。其中,所述CO节点101为所述数据传输系统中的集中控制节点,可以根据不同的数据传输需求以及所述多个CF节点102的状态,确定所述多个CF节点102中能够满足数据传输需求的至少一个CF节点,并分别为所述至少一个CF节点设置路由信息;所述数据传输系统100中的CF节点102用于根据CO节点设置的路由信息进行数据缓存与转发。
在数据发布过程中,所述CO节点101用于:接收第一设备发送的数据发布需求,所述数据发布需求用于表征所述第一设备待发布数据的需求信息;根据所述数据发布需求以及所述CO节点管理的各缓存与转发CF节点102当前的状态,确定所述各CF节点102中能够满足所述数据发布需求的N个CF节点,N为大于或等于1的正整数;分别设置所述N个CF节点的路由信息,针对第一CF节点,所述第一CF节点的路由信息包括所述第一CF节点的下一跳CF节点的信息,所述第一CF节点为所述N个CF节点中的任意一个CF节点;将设置的所述N个CF节点的路由信息分别发送到对应的CF节点;将第二CF节点的标识发送给所述第一设备,所述第二CF节点为所述N个CF节点中用于接收所述第一设备发送的所述待发布数据的第一跳CF节点。
所述第一CF节点用于:接收CO节点101发送的所述第一CF节点102的路由信息;接收并保存所述第一设备或所述N个CF节点中所述第一CF节点的上一跳CF节点发送的所述待发布数据;根据所述路由信息将接收到的数据发送到所述第一CF节点的下一跳CF节点。
在数据收集过程中,所述CO节点101用于:接收第三设备发送的数据收集需求,所述数据收集需求用于表征所述第三设备待收集数据的需求信息;根据所述数据收集需求以及所述CO节点管理的各缓存与转发CF节点102当前的状态,确定所述各CF节点102中能够满足所述数据收集需求的M个CF节点,M为大于或等于1的正整数;分别设置所述M个CF节点的路由信息,针对第三CF节点,所述第三CF节点的路由信息包括所述M个CF节点中所述第三CF节点的下一跳CF节点,所述第三CF节点102为所述M个CF节点中的任意一个CF节点;将设置的所述M个CF节点的路由信息分别发送到对应的CF节点;将第四CF节点的信息发送给所述第三设备,其中,所述第四CF节点为所述M个CF节点中用于所述第三设备下载所述待收集数据的CF节点。
所述第三CF节点用于:接收所述CO节点101发送的所述第三CF节点的路由信息;接收并保存至少一个第四设备或所述第三CF节点102的上一跳CF节点发送的所述待收集数据,所述第四设备为需要反馈所述待收集数据的设备;根据所述路由信息将接收到的所述待收集数据发送到所述第三CF节点的下一跳CF节点。
基于上述数据传输系统100,本申请实施例提供了一种数据分发方法,参阅图2所示,所述方法包括以下步骤:
S201:第一设备向所述CO节点101发送数据发布需求。其中,所述数据发布需求用于表征所述第一设备待发布数据的需求信息。
相应地,所述CO节点101接收所述第一设备发送的数据发布需求。
具体地,所述数据发布需求包括所述待发布数据的大小、需要获取所述待发布数据的设备以及所述待发布数据的服务质量QoS需求,所述QoS需求用于表征所述第一设备对所述待发布数据的传输要求。所述QoS需求包括但不限于以下的一种或多种:传输所述待发布数据的最大完成时间、所述待发布数据的属性(如延时敏感程度)、吞吐量要求、所述待收集数据的缓存数量和边缘化程度等。
一个具体的实施方式中,所述第一设备发送的数据发布需求还包括第一数据块大小,其中,所述第一数据块为用于传输所述待发布数据的最小数据单元。
当所述第一设备发送的数据发布需求中对所述待发布数据的传输完成时间要求较高(如及时发布)时,所述第一设备将所述待发布数据发送到所述第二CF节点的速率也会影响所述待发布数据的传输完成时间,因此,所述CO节点101还需要确定所述待发布数据的上传速率,以满足所述第一设备的数据发布需求。具体地,所述CO节点101接收第一设备发送的数据发布需求之后,还根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定所述待发布数据的上传速率;将所确定的上传速率发送给所述第一设备,使得所述第一设备按照所述上传速率将所述待发布数据发送给所述第二CF节点。
可选地,需要获取所述待发布数据的设备为设定区域内的设备或者设定接收列表中的设备。其中,所述设定区域内的设备可以是网络协议(internet protocol,IP)前缀所定义的目的网络范围内的设备,也可以是设定地域内的设备,如深圳南山地区内的用户设备。
可选地,所述CO节点101接收第一设备发送的数据发布需求之后,还根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定第一数据块的大小,将所述第一数据块的大小发送给所述第一设备,使得所述第一设备根据所述第一数据块的大小将所述待发布数据划分为多个第一数据块后,发送到所述第二CF节点。所述CO节点101根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定所述第一数据块的大小,使得所述CO节点101能够灵活控制每次传输的所述待发布数据的大小,进而在满足所述第一设备的数据发布需求的基础上,进一步减小传输延迟,达到提高网络传输效率的目的。
在数据发布过程中,所述CO节点101所确定的N个CF节点在接收到完整的第一数据块后才会将接收到的数据转发给下一跳CF节点,同时缓存接收到的数据,第一数据块较小能够减小传输延迟,但是第一数据块太小会导致CO节点101对所述N个CF节点的调度复杂以及所述N个CF节点传输数据时的调度复杂,第一数据块较大有利于CO节点101对所述N个CF节点的高效调度以及所述N个CF节点传输数据时的高效调度,但是第一数据块太大会导致数据发布过程中传输延时较大。因此,所述第一数据块的大小对数据传输性能具有关键性的影响。
S202:所述CO节点101根据所述数据发布需求以及所述CO节点管理的各CF节点102当前的状态,确定所述各CF节点102中能够满足所述数据发布需求的N个CF节点。
其中,所述CO节点管理的各CF节点102当前的状态包括所述各CF节点的负载情况、可用带宽以及所述各CF节点上的其它数据传输需求等。所述CO节点101根据所述数据发布需求以及所述CO节点管理的各CF节点102当前的状态,确定所述各CF节点102中能够满足所述数据发布请求的N个CF节点时,在满足所述数据发布需求的前提下,按照设定的网络资源调度目标对网络资源进行编排调度,例如所述网络资源调度目标可以是网络吞吐量最大化,或者是数据传输的平均完成时间最小化等等。
可选地,若需要获取所述待发布数据的设备为设定接收列表中的设备,所述CO节点101根据所述数据发布需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据发布请求的N个CF节点之后,还将所述设定接收列表发送到所述N个CF节点中的最后一跳CF节点,使得所述N个CF节点中的最后一跳CF节点获得所述待发布数据后,根据所述设定接收列表将所述待发布数据发送给对应的设备,使得网络能够支持特定应用或者特定的待传输数据的高效传输,例如所述第一设备是为交互式网络电视用户(internet protocol television,IPTV)提供用户所购买的相应TV节目的设备的场景。
S203:所述CO节101分别设置所述N个CF节点的路由信息。针对第一CF节点,所述第一CF节点的路由信息包括所述第一CF节点的下一跳CF节点的信息,所述第一CF节点为所述N个CF节点中的任意一个CF节点。
可选地,所述CO节点101将设置的所述N个CF节点的路由信息分别发送到对应的CF节点之前,还为所述N个CF节点组成的数据发布通道分配数据发布通道标识,并将所述数据发布通道标识携带在所述N个CF节的路由信息中,分别发送给所述N个CF节点。所述CO节点101为所述N个CF节点组成的数据发布通道分配数据发布通道标识之后,还将所述数据发布通道标识发送给所述第一设备,使得所述第一设备在发布具有相同数据发布需求的新数据时,不需要再次向所述CO节点发送数据发布需求以建立数据发布通道,只需在所要发布的新数据中携带所述数据发布通道标识,所述N个CF节点在接收到携带所述数据发布通道标识的数据时,按照所述N个CF节各自的路由信息传输所述新数据,可以实现数据发布通道的复用,进而能够有效地利用网络资源。
可选地,所述第一CF节点的路由信息还包括所述第一CF节点的接收周期、所述第一CF节点的等待周期以及所述第一CF节点的发送周期,使得当所述第一CF节点的上游带宽与所述第一CF节点的下游带宽不匹配时,所述CO节点101可以灵活配置所述第一CF节点的接收周期、发送周期以及等待周期,实现对网络资源的精确分配与调度,进而可以准确地进行流量整形与拥塞控制,最大化利用网络资源,避免网络瓶颈对数据传输的影响(如丢包、传输延迟)。其中,所述第一CF节点的接收周期为所述第一CF节点接收所述第一设备或接收所述N个CF节点中所述第一CF节点的上一跳CF节点发送的数据的周期;所述第一CF节点的发送周期为所述第一CF节点将所述接收期内接收到的数据发送给所述N个CF节点中所述第一CF节点的下一跳CF节点的周期,或为所述第一CF节点将所述接收期内接收到的数据发送给向所述第一CF节点请求所述待发布数据的设备的周期;所述第一CF节点的等待周期为所述第一CF节点不接收所述第一设备或所述N个CF节点中所述第一CF节点的上一跳CF节点发送的数据、且不向所述N个CF节点中所述第一CF节点的下一跳CF节点或向所述第一CF节点请求所述待发布数据的设备发送所述接收期内接收到的数据的周期。
具体地,所述第一CF节点在所述第一CF节点的接收周期内接收并保存所述第一设备或所述N个CF节点中所述第一CF节点的上一跳CF节点发送的数据;所述第一CF节点在所述第一CF节点的发送周期内将所述接收期内接收到的数据发送给所述N个CF节点中所述第一CF节点的下一跳CF节点或者向所述第一CF节点请求所述待发布数据的设备;所述第一CF节点在所述第一CF节点的等待周期内不接收所述第一设备或所述N个CF节点中所述第一CF节点的上一跳CF节点发送的数据,且不向所述N个CF节点中所述第一CF节点的下一跳CF节点或向所述CF节点请求所述待发布数据的设备发送所述接收期内接收到的数据,例如当所述第一CF节点在所述等待周期内用于传输优先级较高的其它数据,或者在所述等待周期内网络带宽不足以传输所述第一设备的待发布数据。
可选地,所述CO节点101在所述待发布数据的传输过程中,若确定所述N个CF节点中一个或多个CF节点的状态发生变化(如可用带宽变小),根据所述一个或多个CF节点当前的状态分别调整所述一个或多个CF节点的发送周期、接收期和等待周期,并将调整后的所述一个或多个CF节点的发送周期、接收期以及等待周期分别发送到对应的CF节点。
例如,若在t到t+20s时间段内网络中CF节点A、C、F的传输能力如下:在t到t+10s时间段内节点A与节点C之间的带宽为30Mbps,节点C与节点F之间的带宽为20Mbps;在t+10s到t+20s时间段内,节点A与节点C之间的带宽为20Mbps,节点C与节点F之间的带宽为30Mbps。当前存在三个视频直播流F1、F2和F3都需要依次经过节点A、节点C以及节点F到达相应的用户群,且三个直播视频流F1、F2和F3的码率都是10Mbps,直播视频流F1和F2持续时间为t到t+20s,F3的持续时间为t+10s到t+20s。因此,在时间段t+10s到t+20s,节点A与节点C之间存在传输瓶颈,无法支撑上述三个直播视频流的并行传输。
此时,在t到t+10s阶段,所述CO节点101可以通过设置节点A针对视频流F1、F2的接收周期、发送周期,以及节点C针对视频流F1、F2的接收周期使得节点A和节点C之间按照15Mbps的速度推送F1和F2的第一数据块,可以通过设置节点C的发送周期以及节点F的接收周期使得节点C和节点F之间按照10Mbps的速度推送F1和F2的第一数据块,F1和F2的多余视频流的第一数据块缓存在节点C。在t到t+10s阶段,节点C分别为F1和F2缓存50M的视频数据。从t+10s开始,所述CO节点101可以通过设置节点A针对视频流F3的接收周期、发送周期,以及节点C针对视频流F3的接收周期使得节点A和节点C之间按照10Mbps的速度推送F3的第一数据块,并调整节点A针对视频流F1、F2的接收周期、发送周期,以及节点C针对视频流F1、F2的接收周期,使得在t+10s到t+20s阶段节点A和节点C之间F1和F2按照5Mbps推送F1和F2,所述CO节点101可以通过设置节点C针对视频流F1、F2以及F3的发送周期,以及节点F针对视频流F1、F2以及F3的接收周期针对视频流F3的接收周期,使得节点A与节点C之间以及节点C与节点F之间都按照10Mbps推送F1、F2和F3。
这样节点A和节点C在t+10s到t+20s阶段也可以在允许带宽范围内正常传输F1、F2以及F3,并且不会增加F1、F2以及F3的传输延迟,根据网络状况实现了削峰去谷,有效避免了网络瓶颈造成的影响(如数据丢包或者传输延迟),完成了用户视频数据的传递。
S204:所述CO节点101将设置的所述N个CF节点的路由信息分别发送到对应的CF节点。
相应地,所述N个CF节点分别接收所述CO节点101发送的各自的路由信息。
S205:所述CO节点101将第二CF节点的信息发送给所述第一设备。
其中,所述第二CF节点为所述N个CF节点中用于接收所述第一设备发送的所述待发布数据的第一跳CF节点,所述第二CF节点的信息可以为所述第二节点的标识。
实施中,所述CO节点101将第二CF节点的信息发送给所述第一设备时,还可以将所述待发布数据的预计完成时间发送给所述第一设备,所述预计完成时间为所述CO节点101根据所述N个CF节点的接收周期、发送周期以及等待周期,以及所述待发布数据的大小确定的。
S206:所述第一设备将所述待发布数据发送到所述第二CF节点。
一个具体的实施方式中,所述第一设备按照所述第一数据块的大小,将所述待发布数据划分为多个第一数据块,将所述多个第一数据块发送给所述第二CF节点。所述第一设备按照所述第一数据块的大小,将所述待发布数据划分为多个第一数据块的过程中,若剩余的所述待发布数据小于所述第一数据块的大小,则将剩余的所述待发布数据作为一个第一数据块。
S207:所述第二CF节点接收并保存所述第一设备发送的待发布数据。
S208:所述第二CF节点根据所述第二CF节点的路由信息,将接收到的数据发送到所述第二CF节点的下一跳CF节点。
S209:所述第二CF节点的下一跳CF节点接收并保存所述第二CF节点发送的数据,并根据自身的路由信息将接收到的数据转发给下一跳CF节点,直到所述N个CF节点中的最后一跳节点接收并保存所述待发布数据。
可选地,所述N个CF节点中除了最后一跳CF节点外其它CF节点,将接收到的所述待发布数据转发给下一跳CF节点后,可以删除接收到的所述待发布数据,以释放CF节点的资源,也可以保留继续所述待发布数据,使得当所述N个CF节点中最后一跳CF节点无法为请求所述待发布数据的用户提供所述待发布数据时(如所述最后一跳CF节点负载大于所述最后一跳CF节点的最大负载),可以由所述其他CF节点为请求所述待发布数据的用户提供所述待发布数据。
实施中,所述N个CF节点中的最后一跳节点接收并保存所述待发布数据之后,所述N个CF节点中的最后一跳CF节点接收第二设备发送的数据传输请求,所述数据传输请求用于获取所述待发布数据;所述最后一跳CF节点根据所述数据传输请求,将所述待发布数据发送给所述第二设备,其中,所述第二设备为向所述最后一跳CF节点请求所述待发布数据的任意一个设备。
具体地,所述第二设备向所述最后一跳CF节点发送数据传输请求之前,向所述第一设备请求所述数据通道标识,将所述数据发布通道标识携带在所述数据传输请求中发送给所述最后一跳CF节点,使得所述CF节点接收到所述数据传输请求后,根据所述数据发布通道标识查询其缓存,将所述数据发布通道标识对应的数据发送给所述第二设备。其中,所述第二设备可以直接将所述数据传输请求发送给所述最后一跳CF节点,也可以通过基站等设备以间接的方式将所述数据传输请求发送给所述最后一跳CF节点,所述最后一跳CF节点发送所述第二设备请求的所述待发布数据时的速率可以根据当前的网络带宽确定。
进一步地,所述第二设备可以向所述最后一跳CF节点请求所述待发布数据中的部分数据。具体地,所述第二设备向所述第一设备请求所述数据通道标识时,还将所要其请求的所述待发布数据中的部分数据发送给所述第一设备,所述第一设备将所述部分数据对应的第一数据块标识(如所述部分数据对应的第一数据块相对于第一个第一数据块的偏移量)返回给所述第二设备,所述第二设备将所述部分数据对应的第一数据块标识也携带在所述数据传输请求中发送给所述最后一跳CF节点,使得根据所述数据发布通道标识以及所述部分数据对应的第一数据块标识查询其缓存,将所述部分数据发送给所述第二设备。
实施中,若所述最后一跳CF节点只支持单播传输方式,所述最后一跳CF节点接收到所述第二设备发送的数据传输请求后,所述最后一跳CF节点发起端到端传输,将所述第二设备请求的数据发给所述第二设备;如果所述最后一跳CF节点支持组播传输方式,所述最后一跳CF节点接收到多个第二设备发送的到达时间之差小于设定阈值、且所请求的数据相同的数据传输请求,可以将所述多个第二设备发送的数据传输请求合并形成一个接收列表,通过组播的方式为所述多个第二设备同时发送数据,从而能够实现异步组播,进一步提升数据传输效率。
通过上述数据分发方法,所述CO节点接收第一设备发送的数据发布需求,根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定所述各CF节点中能够满足所述数据发布需求的N个CF节点,并分别设置所述N个CF节点的路由信息,所述N个CF节点的路由信息包括所述N个CF节点各自的下一跳CF节点的信息;所述CO节点将设置的所述N个CF节点的路由信息分别发送到对应的CF节点,将第二CF节点的信息发送给所述第一设备,所述第二CF节点为所述N个CF节点中用于接收所述第一设备发送的所述待发布数据的第一跳CF节点,使得所述第一设备通过所述第二CF节点将所述待发布数据上传到网络中,并通过所述N个CF节点中的其它CF节点按照所述第一设备的数据发布需求完成所述待发布数据的推送。所述CO节点根据数据发布需求对网络资源进行统一调度管理,可以有效提高数据分发的效率,能够满足不同数据发布者的定制化需求。并且,本申请实施例将所述第一设备的待发布数据可以通过所述N个CF节点提前推送到网络中的边缘CF节点,在用户请求所述待发布数据时能够及时响应用户发送的数据传输请求,进一步提高了数据传输的效率。另外,相较于CDN技术中设置有限个用于数据分发的服务节点,本申请实施例中CF节点可以为分布在网络中的所述CO节点管理的任意CF节点,相当于增加了网络中进行数据发布的服务节点的个数,进而提高了数据传输的效率。
以下通过一个具体实施例对本申请实施例提供的数据分发方法进行详细说明。其中,所述第一设备为VR视频点播系统中的内容提供者,所述第一设备需要将VR数据通过网络中的CO节点以及CF节点提前发布到网络中,以提高用户体验。
如图3所示,所述CO节点通过以下步骤建立数据发布通道:
(1)所述第一设备向所述CO节点发送数据发布需求,其中,所述数据发布需求中待发布VR数据大小为X,第一数据块大小为s,需要获取所述待发布数据的设备为设定区域Ω1内的设备,所述待发布数据的QoS需求为传输所述待发布数据的最大完成时间T。
由于将第一设备的VR数据通过网络中的CO节点以及CF节点提前发布到网络中时,对待发布VR数据的传输延迟要求不是很高,因此所述第一数据块大小s可以比较大。
(2)所述CO节点根据所述数据发布需求以及所述CO节点所管理的各CF节点当前的状态,确定所述各CF节点中节点A、节点B、节点C、节点D、节点E以及节点F能够满足所述数据发布需求。
其中,所述节点A的下一跳CF节点为节点B和节点C,所述节点B的下一条CF节点为节点E和节点F,所述节点C的下一跳CF节点为节点F,所述节点D、节点E以及节点F为所确定的6个CF节点中的最后一跳CF节点。所述节点D、节点E以及节点F可以覆盖所述设定区域Ω1内的设备。
(3)所述CO节点分别为节点A、节点B、节点C、节点D、节点E以及节点F设置路由信息,并为所确定的6个CF节点组成的数据发布通道分配数据发布通道标识α,将所述6个CF节点的路由信息以及所述数据发布通道标识α分别发送给对应的CF节点。
其中,所述节点A的路由信息包括所述节点A的下一跳CF节点节点B和节点C的标识以及节点A的接收周期、发送周期和等待周期;所述节点B的路由信息包括所述节点B的下一条CF节点节点E和节点F的标识以及节点B的接收周期、发送周期和等待周期;所述节点C的路由信息包括节点C的下一跳CF节点为节点F的标识以及节点C的接收周期、发送周期和等待周期;节点D、节点E以及节点F的路由信息中下一跳CF节点的信息为空,只包括节点D、节点E以及节点F的接收周期、发送周期和等待周期。例如所述节点的A接收周期为t1到t1+10s,等待周期为t1+10s到t1+12s,发送周期为t1+12s到t1+17s,所述节点C的接收周期为t1+12s到t1+17s,等待周期为t1+17s到t+19s,发送周期为t1+19s到t1+21s,所述节点F的接收周期为t1+19s到t1+21s,等待期和发送期为t1+21s到t1+∞,即从t1+21s开始,若有用户设备通过所述F节点请求所述待发布数据,则所述F节点处于发送周期,进入发送状态,否则所述F节点处于等待周期,其中,t1为所述节点A开始接收所述待发布数据的时刻。
(4)所述CO节点将所述数据发布通道标识α、节点A的标识、所述待发布VR数据的上传速率s/10bps以及预计传输完成时间发送给所述第一设备。
其中,所述待发布VR数据的上传速率是所述CO节点根据所述数据发布需求以及所述CO节点所管理的各CF节点当前的状态确定的,所述预计传输完成时间是所述CO节点根据所述6个CF节点的接收周期、发送周期以及等待周期,和所述待发布VR数据的大小确定的。
所述CO节点根据所述数据发布需求以及所述CO节点所管理的各CF节点当前的状态,建立所述数据发布通道之后,所述第一设备通过以下步骤进行数据发布,如图4所示:
(5)所述第一设备从t时刻开始,以s/10bps向节点A发送大小为s的第一数据块,其中,所述第一设备的发送周期与节点A的接收周期相同。
(6)所述节点A在所述节点A的接收周期内接收所述第一设备发送的数据,并在所述节点A的发送周期内将接收到的数据发送给所述节点B和所述节点C。
(7)所述节点B在所述节点B的接收周期内接收所述节点A发送的数据,并在所述节点B的发送周期内将接收到的数据发送给所述节点D和所述节点E。所述节点C在所述节点C的接收周期内接收所述节点A发送的数据,并在所述节点C的发送周期内将接收到的数据发送给所述节点F。
通过循环执行上述步骤(5)-(7),所述第一设备将待发布的所有VR数据转发并缓存到所述节点D、E、F中。
(8)所述第一设备将待发布的所有VR数据转发并缓存到所述节点D、E、F中之后,用户设备G、H通过基站向所述节点F发送数据传输请求,所述数据传输请求中携带所述数据发布通道标识α。
其中,所述数据传输请求中携带的所述数据发布通道标识α是所述用户设备G、H向所述第一设备请求得到的。
(9)所述节点F接收所述数据传输请求,获取所述数据发布通道标识α对应的数据,并根据当前网络带宽,按照合适的速率将获得的数据发送给所述用户设备G、H。
基于上述图1所示的数据传输系统100,本申请实施例还提供了一种数据收集方法,可以应用于数据收集场景或者上传数据到特定设备的场景,参阅图5所示,所述方法包括以下步骤:
S501:第三设备向所述CO节点101发送数据收集需求。其中,所述数据收集需求用于表征所述第三设备待收集数据的需求信息。
相应地,所述CO节点101接收所述第三设备发送的数据收集请求。
具体地,所述数据收集需求包括需要反馈所述待收集数据的设备以及所述待收集数据的服务质量QoS需求,所述QoS需求用于表征所述第三设备对所述待收集数据的传输要求。所述QoS需求可以为数据收集周期(收集所述待收集数据的周期)、所述待收集数据的属性(如延时敏感程度)、吞吐量要求和/或内容缓存等级等。
一个具体的实施方式中,所述第三设备发送的数据收集需求还包括第二数据块大小,其中,所述第二数据块为用于传输所述待收集数据的最小数据单元。
可选地,需要反馈所述待发布数据的设备为设定区域内的设备或者设定收集列表中的设备。其中,所述设定区域内的设备可以是IP前缀所定义的目的网络范围内的设备,也可以是设定地域内的设备,如深圳南山地区内的用户设备。
S502:所述CO节101根据所述数据收集需求以及所述CO节点管理的各CF节点102当前的状态,确定所述各CF节点102中能够满足所述数据收集需求的M个CF节点。
其中,所述CO节点管理的各CF节点102当前的状态包括所述各CF节点的负载情况、可用带宽以及所述各CF节点上的其它数据传输需求等。所述CO节点101根据所述数据收集需求以及所述CO节点管理的各CF节点102当前的状态,确定所述各CF节点102中能够满足所述数据收集需求的M个CF节点时,在满足所述数据收集需求的前提下,按照设定的网络资源调度目标对网络资源进行编排调度,例如所述网络资源调度目标可以是网络吞吐量最大化,或者是数据传输的平均完成时间最小化等等。
可选地,若所述第三设备发送的数据收集需求中需要反馈所述待收集数据的设备为设定收集列表中的设备,所述CO节101根据所述数据收集需求以及所述CO节点管理的各CF节点102当前的状态,确定所述各CF节点102中能够满足所述数据收集需求的M个CF节点之后,将所述设定收集列表发送给所述M个CF节点中的第一跳CF节点,使得所述M个CF节点中的第一跳CF节点接收所述设定收集列表中的设备反馈的所述待收集数据。
需要说明的是,若所述QoS需求为数据收集周期,所述CO节点在确定所述各CF节点102中能够满足所述数据收集需求的M个CF节点时,可以选择能够保证所述待收集数据传输到所述第三设备所需的时长与所述数据收集周期之差小与设定值的M个CF节点,即所述CO节点可以选择能够保证所述待收集数据在所述数据收集周期内传输到所述第三设备的M个CF节点,也可以选择所述待收集数据传输到所述第三设备的所需时长大于所述数据收集周期的M个CF节点,尤其在所述数据收集周期远大于所述待收集数据在所述CO节点所管理的CF节点之间传输所需的时长以及需要收集所述待收集数据的设备与所述CF节点之间传输所需的时长的场景下,所述设定值根据所述第三设备的传输延迟容忍度确定。
S503:所述CO节点101分别设置所述M个CF节点的路由信息。其中,针对第三CF节点,所述第三CF节点的路由信息包括所述M个CF节点中所述第三CF节点的下一跳CF节点,所述第三CF节点为所述M个CF节点中的任意一个CF节点。
可选地,所述CO节点101接收所述第三设备发送的数据收集需求之后,若确定所述数据收集需求中包括所述第二数据块大小,则在确定所述各CF节点中能够满足所述数据收集需求的M个CF节点之后,将所述第二数据块的大小发送给所述第三CF节点,使得所述第三CF节点根据所述第二数据块的大小将接收到的所述待收集数据划分为多个第二数据块后,发送到所述第三CF节点的下一跳节点或所述第三设备;若确定所述数据收集需求中不包括所述第二数据块大小,则可以根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定第二数据块的大小;将确定的数据块大小发送给所述第三CF节点,使得所述第三CF节点根据所述第二数据块的大小将接收到的所述待收集数据划分为多个第二数据块后,发送到所述第三CF节点的下一跳CF节点或所述第三设备。所述第三CF节点按照所述第二数据块的大小,将接收到的所述待收集数据划分为多个第二数据块的过程中,若剩余的所述待收集数据小于所述第二数据块的大小,则将剩余的所述待收集数据作为一个第二数据块。
可选地,所述CO节点101将设置的所述M个CF节点的路由信息分别发送到对应的CF节点之前,还为所述M个CF节点组成的数据收集通道分配数据收集通道标识,将所述数据收集通道标识携带在所述M个CF节点的路由信息中,分别发送给所述M个CF节点,即所述第三CF节点的路由信息还包括所述数据收集通道标识。所述CO节点101为所述M个CF节点组成的数据收集通道分配数据收集通道标识之后,还将所述数据收集通道标识发送给所述第三设备,使得所述第三设备在收集具有相同数据收集需求的新数据时,不需要再次向所述CO节点101发送数据收集需求以建立数据收集通道,只需在需要反馈的新数据的设备发送的数据中携带所述数据收集通道标识,所述M个CF节点在接收到携带所述数据收集通道标识的数据时,按照所述M个CF节各自的路由信息传输所述新数据,可以实现数据收集通道的复用,进而能够有效地利用网络资源。
可选地,所述第三设备接收到所述CO节点发送的所述数据收集通道标识之后,通过广播或者端到端连接的方式将所述数据收集通道标识通知给需要反馈所述待收集数据的设备,或者触发需要反馈所述待收集数据的设备中配置的数据收集通道标识的更新。
可选地,所述第三CF节点的路由信息还包括所述第三CF节点的接收周期、所述第三CF节点的等待周期以及所述第三CF节点的发送周期,使得当所述第三CF节点的上游带宽与所述第三CF节点的下游带宽不匹配时,所述CO节点101可以灵活配置所述第三CF节点的接收周期、发送周期以及等待周期,实现对网络资源的精确分配与调度,进而可以准确地进行流量整形与拥塞控制,最大化利用网络资源,避免网络瓶颈对数据传输的影响(如丢包、传输延迟)。其中,所述第三CF节点的接收周期为所述第三CF节点接收所述M个CF节点中所述第三CF节点的上一跳CF节点的周期,或所述第三CF节点接收向所述第三CF节点反馈所述待收集数据的设备发送的数据的周期;所述第三CF节点的发送周期为所述第三CF节点将所述接收期内接收到的数据发送给所述第三设备的周期,或所述第三CF节点将所述接收期内接收到的数据发送给所述M个CF节点中所述第三CF节点的下一跳CF节点发送的数据的周期;所述第三CF节点的等待周期为所述第三CF节点不接收所述M个CF节点中所述第三CF节点的上一跳CF节点或向所述第三CF节点反馈所述待收集数据的设备发送的数据,且不向所述M个CF节点中所述第三CF节点的下一跳CF节点或所述第三设备发送所述接收期内接收到的数据的周期。
具体地,所述第三CF节点在所述第三CF节点的接收周期内接收至少一个第四设备或所述第三CF节点的上一跳CF节点发送的数据;所述第三CF节点在所述第三CF节点的发送周期内将所述接收期内接收到的数据发送给所述M个CF节点中所述第三CF节点的下一跳CF节点或所述第三设备;所述第三CF节点在所述第三CF节点的等待周期内不接收所述至少一个第四设备或所述M个CF节点中所述CF节点的上一跳CF节点发送的数据,且不向所述M个CF节点中所述第三CF节点的下一跳CF节点或所述第三设备发送所述接收期内接收到的数据。
可选地,所述CO节点101在所述待收集数据的传输过程中,若确定所述M个CF节点中一个或多个CF节点的状态发生变化(如可用带宽变小),根据所述一个或多个CF节点当前的状态分别调整所述一个或多个CF节点的发送周期、接收期和等待周期,并将调整后的所述一个或多个CF节点的发送周期、接收期以及等待周期分别发送到对应的CF节点。
一个具体的实施方式中,所述第三CF节点在所述第三CF节点的等待周期内,根据所述第二数据块的大小将接收到的所述待收集数据划分为多个第二数据块。
S504:所述CO节101将设置的所述M个CF节点的路由信息分别发送到对应的CF节点。
相应地,所述M个CF节点分别接收所述CO节点101发送的各自对应的路由信息。
S505:所述CO节101将第四CF节点的信息发送给所述第三设备。
其中,所述第四CF节点为所述M个CF节点中用于所述第三设备下载所述待收集数据的CF节点。所述第四CF节点的信息可以为所述第四CF节点的标识。
S506:至少一个第四设备将所述待收集数据发送给所述M个CF节点中的第五CF节点。其中,所述第四设备为需要反馈所述待收集数据的设备,所述第五CF节点为所述M个CF节点中的任意一个第一跳节点。
实施中,当所述第三设备发送的数据收集请求中收集所述待收集数据的周期较短(如即时收集上报)时,所述至少一个第四设备将所述待收集数据发送到所述第五CF节点的速率也会影响所述待收集数据每个周期内的传输完成时间,此时,所述CO节点101接收所述第三设备发送的数据收集需求之后,还需要确定所述待收集数据的上传速率,以满足所述第三设备的数据收集需求。具体地,所述CO节点101接收所述第三设备发送的数据收集需求之后,还根据所述数据收集需求以及所述CO节点101管理的各CF节点当前的状态,确定所述待收集数据的上传速率;将所述待收集数据的上传速率发送给所述第三设备,以使所述第三设备通知所述至少一个第四设备按照所述上传速率将所述待收集数据发送给所述第五CF节点。
S507:所述第五CF节点接收并保存所述至少一个第四设备发送的所述待收集数据。
S508:所述第五CF节点根据所述第五CF节点的路由信息,将接收到的所述待收集数据发送到所述第五CF节点的下一跳CF节点。
S509:所述第五CF节点的下一跳CF节点接收并保存所述第五CF节点发送的数据,并根据自身的路由信息将接收到的数据转发给下一跳CF节点,直到所述第四CF节点接收并保存所述待发布数据。
通过上述数据收集方法,所述CO节点接收第三设备发送的数据收集需求,根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定所述各CF节点中能够满足所述数据收集需求的M个CF节点,并分别设置所述M个CF节点的路由信息,所述M个CF节点的路由信息包括所述M个CF节点各自的下一跳CF节点的信息;所述CO节点将设置的所述M个CF节点的路由信息分别发送到对应的CF节点,将第四CF节点的信息发送给所述第三设备,所述第四CF节点为所述M个CF节点中用于所述第三设备下载所述待收集数据的CF节点,使得需要反馈所述待收集数据的至少一个第四设备通过所述M个CF节点按照所述第三设备的数据收集需求完成所述待收集数据的收集。也就是说,本申请实施例中,所述CO节点根据数据收集需求对网络资源进行统一调度管理,可以有效提高数据收集的效率,还能够满足不同数据收集者的定制化需求,并且数据收集者(所述第三设备)不需要通过多次与被收集对象(所述至少一个第四设备)建立连接来获取所述待收集数据,能够有效降低数据收集时的通信代价。另外,所述CO节点确定的M个CF节点将所述至少一个四设备反馈的数据保存到所述第四CF节点,使得数据收集者(所述第三设备)不需要时时在线,在上线时从所述第四CF节点下载所述待收集数据即可。
下面以物联网(internet of things,IoT)中多个IoT设备向物联网云端服务器上传数据为例,对本申请实施例提供的数据收集方法进行详细说明。其中,所述IoT设备为所述第四设备,所述物联网云端服务器为所述三设备。
如图6所示,所述CO节点通过以下步骤建立数据收集通道:
(1)所述物联网云端服务器向所述CO节点发送数据收集需求,其中,所述数据收集需求中第二数据块大小为a,需要反馈所述待收集数据的设备为设定区域Ω2内的IoT设备,收集周期(所述待收集数据的QoS需求)为1周。
(2)所述CO节点根据所述数据收集需求以及所述CO节点所管理的各CF节点当前的状态,确定所述各CF节点中节点A、节点C、节点E以及节点F能够满足所述数据收集需求。
其中,所述节点E、节点F的下一跳CF节点为节点C,所述节点C的下一条CF节点为节点A,所述节点E、节点F为所确定的4个CF节点中的第一跳CF节点。所述节点E和节点F可以覆盖所述设定区域Ω2内的IoT设备,所述节点A为所述物联网云端服务器下载所述待收集数据的CF节点。
(3)所述CO节点分别为所述节点A、节点C、节点E以及节点F设置路由信息,并为所确定的4个CF节点组成的数据收集通道分配数据发布通道标识β,将所述4个CF节点的路由信息以及所述数据收集通道标识β分别发送给对应的CF节点。
其中,所述节点F的路由信息包括所述节点F的下一跳CF节点节点C的标识以及节点F的接收周期、发送周期和等待周期;所述节点E的路由信息包括节点E的下一条CF节点节点C的标识以及节点E的接收周期、发送周期和等待周期;所述节点C的路由信息包括节点C的下一跳CF节点节点A的标识以及节点C的接收周期、发送周期和等待周期;由于所述节点A为所述CO节点确定的4个CF节点中的最后一跳CF节点,所述节点A的路由信息中节点A的下一条CF节点的信息为空,只包括所述节点A的接收周期、发送周期和等待周期。例如所述节点F的接收周期为t2到t2+1w,等待周期为0,发送周期为t2+1w到t2+1w+2s,所述节点C的接收周期为t2到t2+1w+10s,等待周期为t2+1w+10s到t2+1w+1d,发送周期为t2+1w+1d到t2+1w+1d+10s,所述节点A的接收周期为t2到t2+1w+2d,等待周期为0,发送周期为0,其中,t2为所述节点F开始接收所述待收集数据的时刻,1w表示1周,1d表示1天。
(4)所述CO节点将所述数据收集通道标识β和所述节点A的标识发送给所述物联网云端服务器。
实施中,所述物联网云端服务器接收到所述数据收集通道标识β和所述节点A的标识后,可以将所述数据收集通道标识β通知给所述多个IoT设备。
所述CO节点根据所述数据收集请求以及所述CO节点所管理的各CF节点当前的状态,建立所述数据收集通道之后,如图7所示,所述多个IoT设备通过以下步骤向所述物联网云端服务器反馈所述待收集数据:
(6)所述多个IoT设备中的第一IoT设备每天向所述节点F发送携带所述数据收集通道标识β的4字节(byte)数据,所述多个IoT设备中的第二IoT设备在第一天向所述节点F发送携带所述数据收集通道标识β的2byte数据,所述多个IoT设备中的第三IoT设备在第二天向所述节点F发送携带所述数据收集通道标识β的2byte数据。
(7)所述节点F根据所述节点F的发送周期以及第二数据块大小a确定的发送速率,将1w内接收到的数据转发给所述节点C。
例如,当所述节点F的发送周期为t+1w到t+1w+2s时,所述节点F的发送速率为a/2。
(8)所述节点C在所述节点C的等待周期中,根据所述第二数据块大小a将1周内接收到数据划分为多个第二数据块。
(9)所述节点C在所述节点C的发送周期内将所述多个第二数据块发送给所述节点A,等待所述物联网云端服务器下载。
实施中,若所述节点A中保存有当前数据收集周期之前收集的所述多个IoT设备反馈的数据,所述节点A根据所述第二数据块大小a,将当前收集到的所述多个IoT设备反馈的数据重新划分为多个第二数据块,等待所述物联网云端服务器下载。
物联网中IoT设备较多,且IoT设备能耗敏感,每次传输的数据量较小而传输次数较多,采用上述方法收集IoT设备的数据时,由于所述CO节点所确定的节点A、节点C、节点E以及节点F距离IoT设备较近,且所述节点A、节点C、节点E以及节点F与IoT设备属于同一个单一控制实体控制的网络,使得IoT设备向所述节点E以及节点F反馈数据时,不需要跨越复杂的互联网络,传输路径可靠,传输延迟小,不需要IoT设备与CF节点建立连接,可以有效降低IoT设备的能耗,延长IoT设备的寿命。
基于以上实施例,本申请实施例提供了一种CO节点,所述CO节点用于实现如图2所示的数据分发方法,参阅图8所示,所述CO节点800中包括:接收单元801、处理单元802和发送单元803。
所述接收单元801,用于接收第一设备发送的数据发布需求,所述数据发布需求用于表征所述第一设备待发布数据的需求信息。
所述处理单元802,用于根据所述数据发布需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据发布需求的N个CF节点;以及分别设置所述N个CF节点的路由信息,针对第一CF节点,所述第一CF节点的路由信息包括所述第一CF节点的下一跳CF节点的信息,所述第一CF节点为所述N个CF节点中的任意一个CF节点,N为大于或等于1的正整数。
所述发送单元803,用于将设置的所述N个CF节点的路由信息分别发送到对应的CF节点;以及将第二CF节点的信息发送给所述第一设备,所述第二CF节点为所述N个CF节点中用于接收所述第一设备发送的所述待发布数据的第一跳CF节点。
可选地,所述处理单元802还用于:在所述发送单元803将设置的所述N个CF节点的路由信息分别发送到对应的CF节点之前,为所述N个CF节点组成的数据发布通道分配数据发布通道标识;所述第一CF节点的路由信息还包括所述数据发布通道标识;
所述处理单元802为所述N个CF节点组成的数据发布通道分配数据发布通道标识之后,所述发送单元还用于:将所述数据发布通道标识发送给所述第一设备。
可选地,所述第一CF节点的路由信息还包括所述第一CF节点的接收周期、所述第一CF节点的等待周期以及所述第一CF节点的发送周期;
其中,所述第一CF节点的接收周期为所述第一CF节点接收所述第一设备或接收所述N个CF节点中所述第一CF节点的上一跳CF节点发送的数据的周期;所述第一CF节点的发送周期为所述第一CF节点将所述接收期内接收到的数据发送给所述N个CF节点中所述第一CF节点的下一跳CF节点的周期,或为所述第一CF节点将所述接收期内接收到的数据发送给向所述第一CF节点请求所述待发布数据的设备的周期;所述第一CF节点的等待周期为所述第一CF节点不接收所述第一设备或所述N个CF节点中所述第一CF节点的上一跳CF节点发送的数据、且不向所述N个CF节点中所述第一CF节点的下一跳CF节点或向所述第一CF节点请求所述待发布数据的设备发送所述接收期内接收到的数据的周期。
可选地,所述处理单元802还用于:在接收第一设备发送的数据发布需求之后,根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定所述待发布数据的上传速率;
所述发送单元803还用于:将所确定的上传速率发送给所述第一设备,使得所述第一设备按照所述上传速率将所述待发布数据发送给所述第二CF节点。
可选地,所述处理单元802还用于:在所述接收单元801接收第一设备发送的数据发布需求之后,根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定第一数据块的大小,所述第一数据块为用于传输所述待发布数据的最小数据单元;
所述发送单元803还用于:将所述第一数据块的大小发送给所述第一设备,使得所述第一设备根据所述第一数据块的大小将所述待发布数据划分为多个第一数据块后,发送到所述第二CF节点。
可选地,所述处理单元803还用于:在所述接收单元801接收第一设备发送的数据发布需求之后,还可以根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定所述待发布数据的上传速率;
所述发送单元803还用于:将所确定的上传速率发送给所述第一设备,使得所述第一设备按照所述上传速率将所述待发布数据发送给所述第二CF节点。
可选地,所述处理单元803还用于:在所述接收单元801接收第一设备发送的数据发布需求之后,根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定第一数据块的大小;
所述发送单元803还用于:将所述第一数据块的大小发送给所述第一设备,使得所述第一设备根据所述第一数据块的大小将所述待发布数据划分为多个第一数据块后,发送到所述第二CF节点,所述第一数据块为用于传输所述待发布数据的最小数据单元。
可选地,所述数据发布需求包括所述待发布数据的大小、需要获取所述待发布数据的设备以及所述待发布数据的服务质量QoS需求,所述QoS需求用于表征所述第一设备对所述待发布数据的传输要求。
可选地,所述数据发布需求包括所述待发布数据的大小、需要获取所述待发布数据的设备、所述待发布数据的服务质量QoS需求以及第一数据块的大小,其中,所述QoS需求用于表征所述第一设备对所述待发布数据的传输要求,所述第一数据块为用于传输所述待发布数据的最小数据单元。
可选地,需要获取所述待发布数据的设备为设定区域内的设备或者设定接收列表中的设备。
可选地,若需要获取所述待发布数据的设备为设定接收列表中的设备,所述发送单元803还用于:在所述处理单元802根据所述数据发布需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据发布需求的N个CF节点之后,将所述设定接收列表发送到所述N个CF节点中的最后一跳CF节点,使得所述N个CF节点中的最后一跳CF节点获得所述待发布数据后,根据所述设定接收列表将所述待发布数据发送给对应的设备。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本申请实施例还提供了一种CO节点,所述CO节点用于实现如图2所示的数据分发方法,具有如图8所示的CO节点800的功能。参阅图9所示,所述CO节点900包括:存储器901和处理器902,存储器901和处理器902之间相互连接。
所述存储器901,用于存储程序指令;
所述处理器902,用于调用所述存储器901中存储的程序指令,执行:
接收第一设备发送的数据发布需求,所述数据发布需求用于表征所述第一设备待发布数据的需求信息;
根据所述数据发布需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据发布需求的N个CF节点,N为大于或等于1的正整数;
分别设置所述N个CF节点的路由信息,针对第一CF节点,所述第一CF节点的路由信息包括所述第一CF节点的下一跳CF节点的信息,所述第一CF节点为所述N个CF节点中的任意一个CF节点;
将设置的所述N个CF节点的路由信息分别发送到对应的CF节点;
将第二CF节点的信息发送给所述第一设备,所述第二CF节点为所述N个CF节点中用于接收所述第一设备发送的所述待发布数据的第一跳CF节点。
可选地,所述存储器901可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);所述存储器901也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory,也称闪存),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);所述存储器901还可以包括上述种类的存储器的组合。
可选地,所述处理器902可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。所述处理器1002还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
可选地,所述处理器902与存储器901可以通过总线903相互连接。所述总线903可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线903可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选地,所述存储器901可能包含RAM,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
可选地,所述处理器902还用于:将设置的所述N个CF节点的路由信息分别发送到对应的CF节点之前,为所述N个CF节点组成的数据发布通道分配数据发布通道标识;所述第一CF节点的路由信息还包括所述数据发布通道标识;
在为所述N个CF节点组成的数据发布通道分配数据发布通道标识之后,将所述数据发布通道标识发送给所述第一设备。
可选地,所述第一CF节点的路由信息还包括所述第一CF节点的接收周期、所述第一CF节点的等待周期以及所述第一CF节点的发送周期;
其中,所述第一CF节点的接收周期为所述第一CF节点接收所述第一设备或接收所述N个CF节点中所述第一CF节点的上一跳CF节点发送的数据的周期;所述第一CF节点的发送周期为所述第一CF节点将所述接收期内接收到的数据发送给所述N个CF节点中所述第一CF节点的下一跳CF节点的周期,或为所述第一CF节点将所述接收期内接收到的数据发送给向所述第一CF节点请求所述待发布数据的设备的周期;所述第一CF节点的等待周期为所述第一CF节点不接收所述第一设备或所述N个CF节点中所述第一CF节点的上一跳CF节点发送的数据、且不向所述N个CF节点中所述第一CF节点的下一跳CF节点或向所述第一CF节点请求所述待发布数据的设备发送所述接收期内接收到的数据的周期。
可选地,所述处理器902还用于:在接收第一设备发送的数据发布需求之后,根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定所述待发布数据的上传速率;以及将所确定的上传速率发送给所述第一设备,使得所述第一设备按照所述上传速率将所述待发布数据发送给所述第二CF节点。
可选地,所述处理器902还用于:在接收第一设备发送的数据发布需求之后,根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定第一数据块的大小,所述第一数据块为用于传输所述待发布数据的最小数据单元;以及将所述第一数据块的大小发送给所述第一设备,使得所述第一设备根据所述第一数据块的大小将所述待发布数据划分为多个第一数据块后,发送到所述第二CF节点。
可选地,所述处理器902还用于:在接收第一设备发送的数据发布需求之后,根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定所述待发布数据的上传速率;以及将所确定的上传速率发送给所述第一设备,使得所述第一设备按照所述上传速率将所述待发布数据发送给所述第二CF节点。
可选地,所述处理器902还用于:在接收第一设备发送的数据发布需求之后,还可以根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定第一数据块的大小;以及将所述第一数据块的大小发送给所述第一设备,使得所述第一设备根据所述第一数据块的大小将所述待发布数据划分为多个第一数据块后,发送到所述第二CF节点,所述第一数据块为用于传输所述待发布数据的最小数据单元。
可选地,所述数据发布需求包括所述待发布数据的大小、需要获取所述待发布数据的设备以及所述待发布数据的服务质量QoS需求,所述QoS需求用于表征所述第一设备对所述待发布数据的传输要求。
可选地,若需要获取所述待发布数据的设备为设定接收列表中的设备,所述处理器902还用于:在根据所述数据发布需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据发布需求的N个CF节点之后,将所述设定接收列表发送到所述N个CF节点中的最后一跳CF节点,使得所述N个CF节点中的最后一跳CF节点获得所述待发布数据后,根据所述设定接收列表将所述待发布数据发送给对应的设备。
本申请实施例提供了一种CO节点,所述CO节点可以根据所述第一设备发送的数据发布需求,对所述CO节点管理的各个CF节点进行统一调度管理,确定能够满足所述数据发布需求的N个CF节点,并分别为所述N个CF节点设置路由信息,将所述N个CF节点的路由信息分别发送给对应的CF节点,将所述第二CF节点的信息发送给所述第一设备,可以有效提高数据分发的效率,能够满足不同数据发布者的定制化需求。
基于以上实施例,本申请实施例提供了一种CF节点,所述CF节点用于实现如图2所示的数据分发方法,参阅图10所示,所述CF节点1000中包括:接收单元1001、处理单元1002和发送单元1003。
所述接收单元1001,用于接收集中化编排调度CO节点发送的所述CF节点的路由信息;以及接收所述第一设备或所述N个CF节点中所述CF节点的上一跳CF节点发送的所述待发布数据;其中,所述CF节点为所述CO节点根据第一设备发送的数据发布需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定的所述各CF节点中能够满足所述数据发布需求的N个CF节点中的任意一个CF节点,N为大于或等于1的正整数,所述路由信息包括所述N个CF节点中所述CF节点的下一跳CF节点的信息。
所述处理单元1002,用于保存所述第一设备或所述N个CF节点中所述CF节点的上一跳CF节点发送的所述待发布数据;以及根据所述路由信息指示所述发送单元1003将接收到的数据发送到所述CF节点的下一跳CF节点。
所述发送单元1003,用于根据所述处理单元1002的指示将接收到的数据发送到所述CF节点的下一跳CF节点。
可选地,所述CF节点的路由信息还包括所述CO节点分配的数据发布通道标识,所述数据发布通道由所述N个CF节点组成。
可选地,所述CF节点的路由信息还包括所述CF节点的接收周期、所述CF节点的等待周期以及所述CF节点的发送周期;
所述接收单元1001在接收所述第一设备发或所述N个CF节点中所述CF节点的上一跳CF节点发送的所述待发布数据时,具体用于:在所述接收周期内接收所述第一设备或所述N个CF节点中所述CF节点的上一跳CF节点发送的数据;
所述发送单元1003根据所述处理单元1002的指示将接收到的数据发送到所述CF节点的下一跳CF节点时,具体用于:在所述发送周期内将所述接收期内接收到的数据发送给所述N个CF节点中所述CF节点的下一跳CF节点;
所述接收单元1001在所述等待周期内不接收所述第一设备或所述N个CF节点中所述CF节点的上一跳CF节点发送的数据,且所述发送单元1003在所述等待周期内不向所述N个CF节点中所述CF节点的下一跳CF节点或向所述CF节点请求所述待发布数据的设备发送所述接收期内接收到的数据。
可选地,所述数据发布需求包括所述待发布数据的大小、需要获取所述待发布数据的设备以及所述待发布数据的服务质量QoS需求,所述QoS需求用于表征所述第一设备对所述待发布数据的传输要求。
可选地,若所述CF节点为所述N个CF节点中的最后一跳CF节点,且需要获取所述待发布数据的设备为设定接收列表中的设备,所述处理单元1002根据所述CF节的路由信息指示所述发送单元1003将接收到的数据发送到所述CF节点的下一跳CF节点之前,所述接收单元1001还用于:接收所述CO节点发送的所述设定接收列表。
可选地,若所述CF节点为所述N个CF节点中的最后一跳CF节点,所述处理单元1002保存所述第一设备的待发布数据之后,所述接收单元还用于:接收第二设备发送的数据传输请求,所述数据传输请求用于获取所述待发布数据;
所述处理单元1002还用于:根据所述数据传输请求,指示所述发送单元1103将所述待发布数据发送给所述第二设备。
基于以上实施例,本申请实施例还提供了一种CF节点,所述CF节点用于实现如图2所示的数据分发方法,具有如图10所示的CF节点1000的功能。参阅图11所示,所述CF节点1100包括:存储器1101和处理器1102,存储器1101和处理器1102之间相互连接。
所述存储器1101,用于存储程序指令;
所述处理器1102,用于调用所述存储器1101中存储的程序指令,执行:
接收集中化编排调度CO节点发送的所述CF节点的路由信息;其中,所述CF节点为所述CO节点根据第一设备发送的数据发布需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定的所述各CF节点中能够满足所述数据发布需求的N个CF节点中的任意一个CF节点,N为大于或等于1的正整数,所述路由信息包括所述N个CF节点中所述CF节点的下一跳CF节点的信息;
接收并保存所述第一设备或所述N个CF节点中所述CF节点的上一跳CF节点发送的所述待发布数据;
根据所述路由信息将接收到的数据发送到所述CF节点的下一跳CF节点。
可选地,所述存储器1101可以包括易失性存储器,例如RAM;所述存储器1101也可以包括非易失性存储器,例如快闪存储器,HDD或SSD;所述存储器1101还可以包括上述种类的存储器的组合。
可选地,所述处理器1102可以是CPU,NP或者CPU和NP的组合。所述处理器1102还可以进一步包括硬件芯片。上述硬件芯片可以是ASIC,PLD或其组合。上述PLD可以是CPLD,FPGA,GAL或其任意组合。
可选地,所述处理器1102与所述存储器1101可以通过总线1103相互连接。所述总线1103可以是PCI总线或EISA总线等。所述总线1103可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选地,所述CF节点的路由信息还包括所述CO节点分配的数据发布通道标识,所述数据发布通道由所述N个CF节点组成。
可选地,所述CF节点的路由信息还包括所述CF节点的接收周期、所述CF节点的等待周期以及所述CF节点的发送周期;
所述在接收所述第一设备发或所述N个CF节点中所述CF节点的上一跳CF节点发送的所述待发布数据时,具体用于:在所述接收周期内接收并保存所述第一设备或所述N个CF节点中所述CF节点的上一跳CF节点发送的数据;
所述处理器1102根据所述路由信息将接收到的数据发送到所述CF节点的下一跳CF节点时,具体用于:在所述发送周期内将所述接收期内接收到的数据发送给所述N个CF节点中所述CF节点的下一跳CF节点;
所述处理器1102在所述等待周期内不接收所述第一设备或所述N个CF节点中所述CF节点的上一跳CF节点发送的数据,且不向所述N个CF节点中所述CF节点的下一跳CF节点或向所述CF节点请求所述待发布数据的设备发送所述接收期内接收到的数据。
可选地,所述数据发布需求包括所述待发布数据的大小、需要获取所述待发布数据的设备以及所述待发布数据的服务质量QoS需求,所述QoS需求用于表征所述第一设备对所述待发布数据的传输要求。
可选地,若所述CF节点为所述N个CF节点中的最后一跳CF节点,且需要获取所述待发布数据的设备为设定接收列表中的设备,所述处理器1102根据所述CF节的路由信息将接收到的数据发送到所述CF节点的下一跳CF节点之前,还用于:接收所述CO节点发送的所述设定接收列表。
可选地,若所述CF节点为所述N个CF节点中的最后一跳CF节点,所述处理器1202保存所述第一设备的待发布数据之后,还用于:接收第二设备发送的数据传输请求,所述数据传输请求用于获取所述待发布数据;根据所述数据传输请求,将所述待发布数据发送给所述第二设备。
本申请实施例提供了一种CF节点,能够接收并保存所述第一设备或所述CO节点根所述第一设备的据数据发布需求确定的N个CF节点中所述CF节点的上一跳CF节点发送的所述待发布数据,并根据CO节点发送的所述CF节点的路由信息将接收到的数据发送到所述CF节点的下一跳CF节点,以完成所述待发布数据的传输,且满足所述据数据发布需求。
基于以上实施例,本申请实施例提供了一种CO节点,所述CO节点用于实现如图5所示的数据收集方法,参阅图12所示,所述CO节点1200中包括:接收单元1201、处理单元1202和发送单元1203。
所述接收单元1201用于:接收第三设备发送的数据收集需求,所述数据收集需求用于表征所述第三设备待收集数据的需求信息。
所述处理单元1202用于:根据所述数据收集需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据收集需求的M个CF节点,M为大于或等于1的正整数;以及分别设置所述M个CF节点的路由信息,针对第三CF节点,所述第三CF节点的路由信息包括所述M个CF节点中所述第三CF节点的下一跳CF节点,所述第三CF节点为所述M个CF节点中的任意一个CF节点。
所述发送单元1203用于:将设置的所述M个CF节点的路由信息分别发送到对应的CF节点;以及,将第四CF节点的信息发送给所述第三设备,其中,所述第四CF节点为所述M个CF节点中用于所述第三设备下载所述待收集数据的CF节点。
可选地,在所述发送单元1202将设置的所述M个CF节点的路由信息分别发送到对应的CF节点之前,所述处理单元1202还用于:为所述M个CF节点组成的数据收集通道分配数据收集通道标识;所述第三CF节点的路由信息还包括所述数据收集通道标识;
在所述处理单元1202为所述M个CF节点组成的数据收集通道分配数据收集通道标识之后,所述发送单元还用于:将所述数据收集通道标识发送给所述第三设备。
可选地,所述第三CF节点的路由信息还包括所述第三CF节点的接收周期、所述第三CF节点的等待周期以及所述第三CF节点的发送周期;
其中,所述第三CF节点的接收周期为所述第三CF节点接收所述M个CF节点中所述第三CF节点的上一跳CF节点的周期,或所述第三CF节点接收向所述第三CF节点反馈所述待收集数据的设备发送的数据的周期;
所述第三CF节点的发送周期为所述第三CF节点将所述接收期内接收到的数据发送给所述第三设备的周期,或所述第三CF节点将所述接收期内接收到的数据发送给所述M个CF节点中所述第三CF节点的下一跳CF节点发送的数据的周期;
所述第三CF节点的等待周期为所述第三CF节点不接收所述M个CF节点中所述第三CF节点的上一跳CF节点或向所述第三CF节点反馈所述待收集数据的设备发送的数据,且不向所述M个CF节点中所述第三CF节点的下一跳CF节点或所述第三设备发送所述接收期内接收到的数据的周期。
可选地,在所述接收单元1201接收第三设备发送的数据收集需求之后,所述处理单元1202还用于:根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定所述待收集数据的上传速率;
所述发送单元1203还用于:将所确定的上传速率发送给所述第三设备或者所述M个CF节点中的第一跳CF节点,使得所述第三设备或者所述M个CF节点中的第一跳CF节点通知至少一个第四设备按照所述上传速率将所述待收集数据发送给所述M个CF节点中的第一跳CF节点,所述第四设备为向所述M个CF节点中的第一跳CF节点反馈所述待收集数据的设备。
可选地,在所述接收单元1201接收第三设备发送的数据收集需求之后,所述处理单元1202还用于:根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定第二数据块的大小,所述第二数据块为用于传输所述待收集数据的最小数据单元;
所述发送单元1203还用于:将所述第二数据块大小发送给所述第三CF节点,使得所述第三CF节点根据所述第二数据块的大小将接收到的所述待收集数据划分为多个第二数据块后,发送到所述第三CF节点的下一跳节点或所述第三设备。
可选地,所述数据收集需求包括需要反馈所述待收集数据的设备以及所述待收集数据的服务质量QoS需求,所述QoS需求用于表征所述第三设备对所述待收集数据的传输要求。
可选地,所述数据收集需求包括需要反馈所述待收集数据的设备、所述待收集数据的服务质量QoS需求以及第二数据块的大小,其中,所述QoS需求用于表征所述第三设备对所述待收集数据的传输要求,所述第二数据块为用于传输所述待收集数据的最小数据单元;
在所述处理单元1202根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定所述各CF节点中能够满足所述数据收集需求的M个CF节点之后,所述发送单元1203还用于:将所述第二数据块的大小发送给所述第三CF节点,使得所述第三CF节点根据所述数据块的大小将接收到的所述待收集数据划分为多个数据块后,发送到所述第三CF节点的下一跳节点。
可选地,需要反馈所述待收集数据的设备为设定区域内的设备或者设定收集列表中的设备。
可选地,若需要反馈所述待收集数据的设备为设定收集列表中的设备,所述发送单元1203还用于:在所述处理单元1202根据所述数据收集需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据收集请求的M个CF节点之后,将所述设定收集列表发送到所述M个CF节点中的第一跳CF节点。
基于以上实施例,本申请实施例还提供了一种CO节点,所述CO节点用于实现如图5所示的数据收集方法,具有如图12所示的CO节点1200的功能。参阅图13所示,所述CO节点1300包括:存储器1301和处理器1302,存储器1301和处理器1302之间相互连接。
所述存储器1301,用于存储程序指令;
所述处理器1302,用于调用所述存储器1301中存储的程序指令,执行:
接收第三设备发送的数据收集需求,所述数据收集需求用于表征所述第三设备待收集数据的需求信息;
根据所述数据收集需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据收集需求的M个CF节点,M为大于或等于1的正整数;
分别设置所述M个CF节点的路由信息,针对第三CF节点,所述第三CF节点的路由信息包括所述M个CF节点中所述第三CF节点的下一跳CF节点,所述第三CF节点为所述M个CF节点中的任意一个CF节点;
将设置的所述M个CF节点的路由信息分别发送到对应的CF节点;以及,将第四CF节点的信息发送给所述第三设备,其中,所述第四CF节点为所述M个CF节点中用于所述第三设备下载所述待收集数据的CF节点。
可选地,所述存储器1301可以包括易失性存储器,例如RAM;所述存储器1301也可以包括非易失性存储器,例如快闪存储器,HDD或SSD;所述存储器1301还可以包括上述种类的存储器的组合。
可选地,所述处理器1302可以是CPU,NP或者CPU和NP的组合。所述处理器1302还可以进一步包括硬件芯片。上述硬件芯片可以是ASIC,PLD或其组合。上述PLD可以是CPLD,FPGA,GAL或其任意组合。
可选地,所述处理器1302与所述存储器1301可以通过总线1303相互连接。所述总线1303可以是PCI总线或EISA总线等。所述总线1303可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选地,所述处理器1302将设置的所述M个CF节点的路由信息分别发送到对应的CF节点之前,还用于:为所述M个CF节点组成的数据收集通道分配数据收集通道标识;所述第三CF节点的路由信息还包括所述数据收集通道标识;以及,在为所述M个CF节点组成的数据收集通道分配数据收集通道标识之后,将所述数据收集通道标识发送给所述第三设备。
可选地,所述第三CF节点的路由信息还包括所述第三CF节点的接收周期、所述第三CF节点的等待周期以及所述第三CF节点的发送周期;
其中,所述第三CF节点的接收周期为所述第三CF节点接收所述M个CF节点中所述第三CF节点的上一跳CF节点的周期,或所述第三CF节点接收向所述第三CF节点反馈所述待收集数据的设备发送的数据的周期;
所述第三CF节点的发送周期为所述第三CF节点将所述接收期内接收到的数据发送给所述第三设备的周期,或所述第三CF节点将所述接收期内接收到的数据发送给所述M个CF节点中所述第三CF节点的下一跳CF节点发送的数据的周期;
所述第三CF节点的等待周期为所述第三CF节点不接收所述M个CF节点中所述第三CF节点的上一跳CF节点或向所述第三CF节点反馈所述待收集数据的设备发送的数据,且不向所述M个CF节点中所述第三CF节点的下一跳CF节点或所述第三设备发送所述接收期内接收到的数据的周期。
可选地,所述处理器1302在接收第三设备发送的数据收集需求之后,还用于:根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定所述待收集数据的上传速率;以及,将所确定的上传速率发送给所述第三设备或者所述M个CF节点中的第一跳CF节点,使得所述第三设备或者所述M个CF节点中的第一跳CF节点通知至少一个第四设备按照所述上传速率将所述待收集数据发送给所述M个CF节点中的第一跳CF节点,所述第四设备为向所述M个CF节点中的第一跳CF节点反馈所述待收集数据的设备。
可选地,所述处理器1302还用于:在接收第三设备发送的数据收集需求之后,根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定第二数据块的大小,所述第二数据块为用于传输所述待收集数据的最小数据单元;以及,将所述第二数据块大小发送给所述第三CF节点,使得所述第三CF节点根据所述第二数据块的大小将接收到的所述待收集数据划分为多个第二数据块后,发送到所述第三CF节点的下一跳节点或所述第三设备。
可选地,所述数据收集需求包括需要反馈所述待收集数据的设备以及所述待收集数据的服务质量QoS需求,所述QoS需求用于表征所述第三设备对所述待收集数据的传输要求。
可选地,所述数据收集需求包括需要反馈所述待收集数据的设备、所述待收集数据的服务质量QoS需求以及第二数据块的大小,其中,所述QoS需求用于表征所述第三设备对所述待收集数据的传输要求,所述第二数据块为用于传输所述待收集数据的最小数据单元;
所述处理器1302还用于:在根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定所述各CF节点中能够满足所述数据收集需求的M个CF节点之后,将所述第二数据块的大小发送给所述第三CF节点,使得所述第三CF节点根据所述数据块的大小将接收到的所述待收集数据划分为多个数据块后,发送到所述第三CF节点的下一跳节点。
可选地,需要反馈所述待收集数据的设备为设定区域内的设备或者设定收集列表中的设备。
可选地,若需要反馈所述待收集数据的设备为设定收集列表中的设备,所述处理器1302还用于:在根据所述数据收集需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据收集请求的M个CF节点之后,将所述设定收集列表发送到所述M个CF节点中的第一跳CF节点。
本申请实施例提供了一种CO节点,所述CO节点可以根据所述第三设备发送的数据收集需求,对所述CO节点管理的各个CF节点进行统一调度管理,确定能够满足所述数据收集需求的M个CF节点,并分别为所述M个CF节点设置路由信息,将所述M个CF节点的路由信息分别发送给对应的CF节点,将所述第四CF节点的信息发送给所述第三设备,可以有效提高数据分发的效率,能够满足不同数据收集者的定制化需求。
基于以上实施例,本申请实施例提供了一种CF节点,所述CF节点用于实现如图5所示的数据分发方法,参阅图14所示,所述CF节点1400中包括:接收单元1401、处理单元1402和发送单元1403。
所述接收单元1401,用于接收集中化编排调度CO节点发送的所述CF节点的路由信息;以及接收至少一个第四设备或所述CF节点的上一跳CF节点发送的所述待收集数据,所述第四设备为需要反馈所述待收集数据的设备;其中,所述CF节点为所述CO节点根据第三设备发送的数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定的所述各CF节点中能够满足所述数据收集请求的M个CF节点中的任意一个CF节点,M为大于或等于1的正整数,所述路由信息包括所述M个CF节点中所述CF节点的下一跳CF节点的信息。
所述处理单元1402,用于保存至少一个第四设备或所述CF节点的上一跳CF节点发送的所述待收集数据;以及根据所述路由信息指示所述发送单元1403将接收到的所述待收集数据发送到所述CF节点的下一跳CF节点。
所述发送单元1403,用于根据所述处理单元1402的指示将接收到的所述待收集数据发送到所述CF节点的下一跳CF节点。
可选地,所述CF节点的路由信息还包括所述CO节点分配的数据收集通道标识,所述数据收集通道由所述M个CF节点组成。
可选地,所述CF节点的路由信息还包括所述CF节点的接收周期、所述CF节点的等待周期以及所述CF节点的发送周期;
所述接收单元1401接收至少一个第四设备或所述CF节点的上一跳CF节点发送的所述待收集数据时,具体用于:在所述接收周期内接收至少一个第四设备或所述CF节点的上一跳CF节点发送的数据;
所述发送单元1403根据所述处理单元1402的指示将接收到的所述待收集数据发送到所述CF节点的下一跳CF节点时,具体用于:在所述发送周期内将所述接收期内接收到的数据发送给所述M个CF节点中所述CF节点的下一跳CF节点或所述第三设备;
所述接收单元1401在所述等待周期内不接收所述至少一个第四设备或所述M个CF节点中所述CF节点的上一跳CF节点发送的数据,且所述发送单元1403在所述等待周期内不向所述M个CF节点中所述CF节点的下一跳CF节点或所述第三设备发送所述接收期内接收到的数据。
可选地,所述接收单元1401在所述处理单元1402保存至少一个第四设备或所述CF节点的上一跳CF节点发送的所述待收集数据之前,还用于:接收所述CO节点发送的第二数据块大小,所述第二数据块为用于传输所述待收集数据的最小数据单元;
所述处理单元1402根据所述路由信息指示所述发送单元1403将接收到的所述待收集数据发送到所述CF节点的下一跳CF节点时,具体用于:根据所述第二数据块的大小将接收到的所述待收集数据划分为多个第二数据块后,根据所述路由信息指示所述发送单元1403将划分的多个第二数据块发送到所述CF节点的下一跳节点。
可选地,所述处理单元1402根据所述第二数据块的大小将接收到的所述待收集数据划分为多个第二数据块时,具体用于:在所述CF节点的等待周期内,根据所述第二数据块的大小将接收到的所述待收集数据划分为多个第二数据块。
可选地,所述数据收集需求包括所述待收集数据的收集周期、需要反馈所述待收集数据的设备以及所述待收集数据的服务质量QoS需求,所述QoS需求用于表征所述第三设备对所述待收集数据的传输要求。
可选地,若所述CF节点为所述M个CF节点中的第一跳CF节点,且需要反馈所述待收集数据的设备为设定收集列表中的设备,所述接收单元1401还用于:在所述处理单元1402根据所述CF节的路由信息,指示所述发送单元1403将所述第三设备的待收集数据传输到所述CF节点的下一跳CF节点之前,接收所述CO节点发送的所述设定收集列表。
基于以上实施例,本申请实施例还提供了一种CF节点,所述CF节点用于实现如图5所示的数据收集方法,具有如图14所示的CF节点1400的功能。参阅图15所示,所述CF节点1500包括:存储器1501和处理器1502,存储器1501和处理器1502之间相互连接。
所述存储器1501,用于存储程序指令;
所述处理器1502,用于调用所述存储器1501中存储的程序指令,执行:
接收集中化编排调度CO节点发送的所述CF节点的路由信息;其中,所述CF节点为所述CO节点根据第三设备发送的数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定的所述各CF节点中能够满足所述数据收集请求的M个CF节点中的任意一个CF节点,M为大于或等于1的正整数,所述路由信息包括所述M个CF节点中所述CF节点的下一跳CF节点的信息;
接收并保存至少一个第四设备或所述CF节点的上一跳CF节点发送的所述待收集数据,所述第四设备为需要反馈所述待收集数据的设备;
根据所述路由信息将接收到的所述待收集数据发送到所述CF节点的下一跳CF节点。
可选地,所述存储器1501可以包括易失性存储器,例如RAM;所述存储器1501也可以包括非易失性存储器,例如快闪存储器,HDD或SSD;所述存储器1301还可以包括上述种类的存储器的组合。
可选地,所述处理器1502可以是CPU,NP或者CPU和NP的组合。所述处理器1502还可以进一步包括硬件芯片。上述硬件芯片可以是ASIC,PLD或其组合。上述PLD可以是CPLD,FPGA,GAL或其任意组合。
可选地,所述处理器1502与所述存储器1501可以通过总线1503相互连接。所述总线1503可以是PCI总线或EISA总线等。所述总线1503可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选地,所述CF节点的路由信息还包括所述CO节点分配的数据收集通道标识,所述数据收集通道由所述M个CF节点组成。
可选地,所述CF节点的路由信息还包括所述CF节点的接收周期、所述CF节点的等待周期以及所述CF节点的发送周期;
所述处理器1502接收并保存至少一个第四设备或所述CF节点的上一跳CF节点发送的所述待收集数据时,具体用于:在所述接收周期内接收至少一个第四设备或所述CF节点的上一跳CF节点发送的数据;
所述处理器1502根据所述路由信息将接收到的所述待收集数据发送到所述CF节点的下一跳CF节点时,具体用于:在所述发送周期内将所述接收期内接收到的数据发送给所述M个CF节点中所述CF节点的下一跳CF节点或所述第三设备;
所述处理器1502在所述等待周期内不接收所述至少一个第四设备或所述M个CF节点中所述CF节点的上一跳CF节点发送的数据,且不向所述M个CF节点中所述CF节点的下一跳CF节点或所述第三设备发送所述接收期内接收到的数据。
可选地,所述处理器1502在接收并保存至少一个第四设备或所述CF节点的上一跳CF节点发送的所述待收集数据之前,还用于:接收所述CO节点发送的第二数据块大小,所述第二数据块为用于传输所述待收集数据的最小数据单元;
所述处理器1502根据所述路由信息将接收到的所述待收集数据发送到所述CF节点的下一跳CF节点时,具体用于:根据所述第二数据块的大小将接收到的所述待收集数据划分为多个第二数据块后,根据所述路由信息将划分的多个第二数据块发送到所述CF节点的下一跳节点。
可选地,所述处理器1502根据所述第二数据块的大小将接收到的所述待收集数据划分为多个第二数据块时,具体用于:在所述CF节点的等待周期内,根据所述第二数据块的大小将接收到的所述待收集数据划分为多个第二数据块。
可选地,所述数据收集需求包括所述待收集数据的收集周期、需要反馈所述待收集数据的设备以及所述待收集数据的服务质量QoS需求,所述QoS需求用于表征所述第三设备对所述待收集数据的传输要求。
可选地,若所述CF节点为所述M个CF节点中的第一跳CF节点,且需要反馈所述待收集数据的设备为设定收集列表中的设备,所述处理器1502还用于:在根据所述CF节的路由信息将所述第三设备的待收集数据传输到所述CF节点的下一跳CF节点之前,接收所述CO节点发送的所述设定收集列表。
本申请实施例提供了一种CF节点,能够接收并保存所述至少一个第四设备或所述CO节点根所述第三设备发送的据数据收集需求确定的M个CF节点中所述CF节点的上一跳CF节点发送的所述待收集数据,并根据CO节点发送的所述CF节点的路由信息将接收到的数据转发到所述CF节点的下一跳CF节点,以完成所述待收集数据的传输,且满足所述据数据收集需求。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (30)
1.一种数据分发方法,其特征在于,包括:
集中化编排调度CO节点接收第一设备发送的数据发布需求,所述数据发布需求用于表征所述第一设备待发布数据的需求信息;
所述CO节点根据所述数据发布需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据发布需求的N个CF节点,N为大于或等于1的正整数;
所述CO节点分别设置所述N个CF节点的路由信息,针对第一CF节点,所述第一CF节点的路由信息包括所述第一CF节点的下一跳CF节点的信息,所述第一CF节点为所述N个CF节点中的任意一个CF节点;
所述CO节点将设置的所述N个CF节点的路由信息分别发送到对应的CF节点;
所述CO节点将第二CF节点的信息发送给所述第一设备,所述第二CF节点为所述N个CF节点中用于接收所述第一设备发送的所述待发布数据的第一跳CF节点。
2.如权利要求1所述的方法,其特征在于,所述CO节点将设置的所述N个CF节点的路由信息分别发送到对应的CF节点之前,还包括:
所述CO节点为所述N个CF节点组成的数据发布通道分配数据发布通道标识;
所述第一CF节点的路由信息还包括所述数据发布通道标识;
所述CO节点为所述N个CF节点组成的数据发布通道分配数据发布通道标识之后,还包括:
所述CO节点将所述数据发布通道标识发送给所述第一设备。
3.如权利要求1所述的方法,其特征在于,所述第一CF节点的路由信息还包括所述第一CF节点的接收周期、所述第一CF节点的等待周期以及所述第一CF节点的发送周期;
其中,所述第一CF节点的接收周期为所述第一CF节点接收所述第一设备或接收所述N个CF节点中所述第一CF节点的上一跳CF节点发送的数据的周期;
所述第一CF节点的发送周期为所述第一CF节点将所述接收期内接收到的数据发送给所述N个CF节点中所述第一CF节点的下一跳CF节点的周期,或为所述第一CF节点将所述接收期内接收到的数据发送给向所述第一CF节点请求所述待发布数据的设备的周期;
所述第一CF节点的等待周期为所述第一CF节点不接收所述第一设备或所述N个CF节点中所述第一CF节点的上一跳CF节点发送的数据、且不向所述N个CF节点中所述第一CF节点的下一跳CF节点或向所述第一CF节点请求所述待发布数据的设备发送所述接收期内接收到的数据的周期。
4.如权利要求1所述的方法,其特征在于,集中化编排调度CO节点接收第一设备发送的数据发布需求之后,还包括:
所述CO节点根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定所述待发布数据的上传速率;
所述CO节点将所确定的上传速率发送给所述第一设备,使得所述第一设备按照所述上传速率将所述待发布数据发送给所述第二CF节点。
5.如权利要求1所述的方法,其特征在于,集中化编排调度CO节点接收第一设备发送的数据发布需求之后,还包括:
所述CO节点根据所述数据发布需求以及所述CO节点管理的各CF节点当前的状态,确定第一数据块的大小,所述第一数据块为用于传输所述待发布数据的最小数据单元;
所述CO节点将所述第一数据块的大小发送给所述第一设备,使得所述第一设备根据所述第一数据块的大小将所述待发布数据划分为多个第一数据块后,发送到所述第二CF节点。
6.如权利要求1-5任意一项所述的方法,其特征在于,所述数据发布需求包括所述待发布数据的大小、需要获取所述待发布数据的设备以及所述待发布数据的服务质量QoS需求,所述QoS需求用于表征所述第一设备对所述待发布数据的传输要求。
7.如权利要求1-4任意一项所述的方法,其特征在于,所述数据发布需求包括所述待发布数据的大小、需要获取所述待发布数据的设备、所述待发布数据的服务质量QoS需求以及第一数据块的大小,其中,所述QoS需求用于表征所述第一设备对所述待发布数据的传输要求,所述第一数据块为用于传输所述待发布数据的最小数据单元。
8.一种集中化编排调度CO节点,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的程序指令,执行如权利要求1-7任意一项所述的数据分发方法。
9.一种数据分发方法,其特征在于,包括:
缓存与转发CF节点接收集中化编排调度CO节点发送的所述CF节点的路由信息;其中,所述CF节点为所述CO节点根据第一设备发送的数据发布需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定的所述各CF节点中能够满足所述数据发布需求的N个CF节点中的任意一个CF节点,N为大于或等于1的正整数,所述路由信息包括所述N个CF节点中所述CF节点的下一跳CF节点的信息;
所述CF节点接收并保存所述第一设备或所述N个CF节点中所述CF节点的上一跳CF节点发送的待发布数据;
所述CF节点根据所述路由信息将接收到的数据发送到所述CF节点的下一跳CF节点。
10.如权利要求9所述的方法,其特征在于,所述CF节点的路由信息还包括所述CO节点分配的数据发布通道标识,所述数据发布通道由所述N个CF节点组成。
11.如权利要求10所述的方法,其特征在于,所述CF节点的路由信息还包括所述CF节点的接收周期、所述CF节点的等待周期以及所述CF节点的发送周期;
所述CF节点接收并保存所述第一设备发或所述N个CF节点中所述CF节点的上一跳CF节点发送的所述待发布数据,包括:
所述CF节点在所述接收周期内接收并保存所述第一设备或所述N个CF节点中所述CF节点的上一跳CF节点发送的数据;
所述CF节点根据所述路由信息将接收到的数据发送到所述CF节点的下一跳CF节点,包括:
所述CF节点在所述发送周期内将所述接收期内接收到的数据发送给所述N个CF节点中所述CF节点的下一跳CF节点;
所述CF节点在所述等待周期内不接收所述第一设备或所述N个CF节点中所述CF节点的上一跳CF节点发送的数据,且不向所述N个CF节点中所述CF节点的下一跳CF节点或向所述CF节点请求所述待发布数据的设备发送所述接收期内接收到的数据。
12.如权利要求9-11任意一项所述的方法,其特征在于,所述数据发布需求包括所述待发布数据的大小、需要获取所述待发布数据的设备以及所述待发布数据的服务质量QoS需求,所述QoS需求用于表征所述第一设备对所述待发布数据的传输要求。
13.如权利要求12所述的方法,其特征在于,若所述CF节点为所述N个CF节点中的最后一跳CF节点,且需要获取所述待发布数据的设备为设定接收列表中的设备,所述CF节点根据所述CF节的路由信息将接收到的数据发送到所述CF节点的下一跳CF节点之前,还包括:
所述CF节点接收所述CO节点发送的所述设定接收列表。
14.一种缓存与转发CF节点,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的程序指令,执行如权利要求8-13任意一项所述的数据分发方法。
15.一种数据收集方法,其特征在于,包括:
集中化编排调度CO节点接收第三设备发送的数据收集需求,所述数据收集需求用于表征所述第三设备待收集数据的需求信息;
所述CO节点根据所述数据收集需求以及所述CO节点管理的各缓存与转发CF节点当前的状态,确定所述各CF节点中能够满足所述数据收集需求的M个CF节点,M为大于或等于1的正整数;
所述CO节点分别设置所述M个CF节点的路由信息,针对第三CF节点,所述第三CF节点的路由信息包括所述M个CF节点中所述第三CF节点的下一跳CF节点,所述第三CF节点为所述M个CF节点中的任意一个CF节点;
所述CO节点将设置的所述M个CF节点的路由信息分别发送到对应的CF节点;
所述CO节点将第四CF节点的信息发送给所述第三设备,其中,所述第四CF节点为所述M个CF节点中用于所述第三设备下载所述待收集数据的CF节点。
16.如权利要求15所述的方法,其特征在于,所述CO节点将设置的所述M个CF节点的路由信息分别发送到对应的CF节点之前,还包括:
所述CO节点为所述M个CF节点组成的数据收集通道分配数据收集通道标识;
所述第三CF节点的路由信息还包括所述数据收集通道标识;
所述CO节点为所述M个CF节点组成的数据收集通道分配数据收集通道标识之后,还包括:
所述CO节点将所述数据收集通道标识发送给所述第三设备。
17.如权利要求15所述的方法,其特征在于,所述第三CF节点的路由信息还包括所述第三CF节点的接收周期、所述第三CF节点的等待周期以及所述第三CF节点的发送周期;
其中,所述第三CF节点的接收周期为所述第三CF节点接收所述M个CF节点中所述第三CF节点的上一跳CF节点的周期,或所述第三CF节点接收向所述第三CF节点反馈所述待收集数据的设备发送的数据的周期;
所述第三CF节点的发送周期为所述第三CF节点将所述接收期内接收到的数据发送给所述第三设备的周期,或所述第三CF节点将所述接收期内接收到的数据发送给所述M个CF节点中所述第三CF节点的下一跳CF节点发送的数据的周期;
所述第三CF节点的等待周期为所述第三CF节点不接收所述M个CF节点中所述第三CF节点的上一跳CF节点或向所述第三CF节点反馈所述待收集数据的设备发送的数据,且不向所述M个CF节点中所述第三CF节点的下一跳CF节点或所述第三设备发送所述接收期内接收到的数据的周期。
18.如权利要求15所述的方法,其特征在于,集中化编排调度CO节点接收第三设备发送的数据收集需求之后,还包括:
所述CO节点根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定所述待收集数据的上传速率;
所述CO节点将所确定的上传速率发送给所述第三设备或者所述M个CF节点中的第一跳CF节点,使得所述第三设备或者所述M个CF节点中的第一跳CF节点通知至少一个第四设备按照所述上传速率将所述待收集数据发送给所述M个CF节点中的第一跳CF节点,所述第四设备为向所述M个CF节点中的第一跳CF节点反馈所述待收集数据的设备。
19.如权利要求15所述的方法,其特征在于,集中化编排调度CO节点接收第三设备发送的数据收集需求之后,还包括:
所述CO节点根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定第二数据块的大小,所述第二数据块为用于传输所述待收集数据的最小数据单元;
所述CO节点将所述第二数据块大小发送给所述第三CF节点,使得所述第三CF节点根据所述第二数据块的大小将接收到的所述待收集数据划分为多个第二数据块后,发送到所述第三CF节点的下一跳节点或所述第三设备。
20.如权利要求15-19任意一项所述的方法,其特征在于,所述数据收集需求包括需要反馈所述待收集数据的设备以及所述待收集数据的服务质量QoS需求,所述QoS需求用于表征所述第三设备对所述待收集数据的传输要求。
21.如权利要求15-19任意一项所述的方法,其特征在于,所述数据收集需求包括需要反馈所述待收集数据的设备、所述待收集数据的服务质量QoS需求以及第二数据块的大小,其中,所述QoS需求用于表征所述第三设备对所述待收集数据的传输要求,所述第二数据块为用于传输所述待收集数据的最小数据单元;
所述CO节点根据所述数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定所述各CF节点中能够满足所述数据收集需求的M个CF节点之后,还包括:
所述CO节点将所述第二数据块的大小发送给所述第三CF节点,使得所述第三CF节点根据所述数据块的大小将接收到的所述待收集数据划分为多个数据块后,发送到所述第三CF节点的下一跳节点。
22.一种集中化编排调度CO节点,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的程序指令,执行如权利要求15-21任意一项所述的数据收集方法。
23.一种数据收集方法,其特征在于,包括:
缓存与转发CF节点接收集中化编排调度CO节点发送的所述CF节点的路由信息;其中,所述CF节点为所述CO节点根据第三设备发送的数据收集需求以及所述CO节点管理的各CF节点当前的状态,确定的所述各CF节点中能够满足所述数据收集请求的M个CF节点中的任意一个CF节点,M为大于或等于1的正整数,所述路由信息包括所述M个CF节点中所述CF节点的下一跳CF节点的信息;
所述CF节点接收并保存至少一个第四设备或所述CF节点的上一跳CF节点发送的待收集数据,所述第四设备为需要反馈所述待收集数据的设备;
所述CF节点根据所述路由信息将接收到的所述待收集数据发送到所述CF节点的下一跳CF节点。
24.如权利要求23所述的方法,其特征在于,所述CF节点的路由信息还包括所述CO节点分配的数据收集通道标识,所述数据收集通道由所述M个CF节点组成。
25.如权利要求23所述的方法,其特征在于,所述CF节点的路由信息还包括所述CF节点的接收周期、所述CF节点的等待周期以及所述CF节点的发送周期;
所述CF节点接收并保存至少一个第四设备或所述CF节点的上一跳CF节点发送的所述待收集数据,包括:
所述CF节点在所述接收周期内接收至少一个第四设备或所述CF节点的上一跳CF节点发送的数据;
所述CF节点根据所述路由信息将接收到的所述待收集数据发送到所述CF节点的下一跳CF节点,包括:
所述CF节点在所述发送周期内将所述接收期内接收到的数据发送给所述M个CF节点中所述CF节点的下一跳CF节点或所述第三设备;
所述CF节点在所述等待周期内不接收所述至少一个第四设备或所述M个CF节点中所述CF节点的上一跳CF节点发送的数据,且不向所述M个CF节点中所述CF节点的下一跳CF节点或所述第三设备发送所述接收期内接收到的数据。
26.如权利要求23所述的方法,其特征在于,所述CF节点接收并保存至少一个第四设备或所述CF节点的上一跳CF节点发送的所述待收集数据之前,还包括:
所述CF节点接收所述CO节点发送的第二数据块大小,所述第二数据块为用于传输所述待收集数据的最小数据单元;
所述CF节点根据所述路由信息将接收到的所述待收集数据发送到所述CF节点的下一跳CF节点,包括:
所述CF节点根据所述第二数据块的大小将接收到的所述待收集数据划分为多个第二数据块后,发送到所述CF节点的下一跳节点。
27.如权利要求23-26任意一项所述的方法,其特征在于,所述数据收集需求包括所述待收集数据的收集周期、需要反馈所述待收集数据的设备以及所述待收集数据的服务质量QoS需求,所述QoS需求用于表征所述第三设备对所述待收集数据的传输要求。
28.一种缓存与转发CF节点,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的程序指令,执行如权利要求23-26任意一项所述的数据收集方法。
29.一种数据分发系统,其特征在于,包括:集中化编排调度CO节点和至少一个缓存与转发CF节点;
所述CO节点,用于接收第一设备发送的数据发布需求,所述数据发布需求用于表征所述第一设备待发布数据的需求信息;根据所述数据发布需求以及所述CO节点管理的所述至少一个CF节点当前的状态,确定所述至少一个CF节点中能够满足所述数据发布需求的N个CF节点,N为大于或等于1的正整数;分别设置所述N个CF节点的路由信息,针对第一CF节点,所述第一CF节点的路由信息包括所述第一CF节点的下一跳CF节点的信息,所述第一CF节点为所述N个CF节点中的任意一个CF节点;将设置的所述N个CF节点的路由信息分别发送到对应的CF节点;将第二CF节点的信息发送给所述第一设备,所述第二CF节点为所述N个CF节点中用于接收所述第一设备发送的所述待发布数据的第一跳CF节点;
所述第一CF节点,用于接收所述CO节点设置的所述第一CF的路由信息;接收并保存所述第一设备发或所述N个CF节点中所述第一CF节点的上一跳CF节点发送的所述待发布数据;根据所述路由信息将接收到的数据发送到所述第一CF节点的下一跳CF节点。
30.一种数据收集系统,其特征在于,包括:集中化编排调度CO节点和至少一个缓存与转发CF节点;
所述CO节点,接收第三设备发送的数据收集需求,所述数据收集需求用于表征所述第三设备待收集数据的需求信息;根据所述数据收集需求以及所述CO节点管理的所述至少一个CF节点当前的状态,确定所述至少一个CF节点中能够满足所述数据收集需求的M个CF节点,M为大于或等于1的正整数;分别设置所述M个CF节点的路由信息,针对第三CF节点,所述第三CF节点的路由信息包括所述M个CF节点中所述第三CF节点的下一跳CF节点,所述第三CF节点为所述M个CF节点中的任意一个CF节点;将设置的所述M个CF节点的路由信息分别发送到对应的CF节点;将第四CF节点的信息发送给所述第三设备,其中,所述第四CF节点为所述M个CF节点中用于所述第三设备下载所述待收集数据的CF节点;
所述第三CF节点,用于接收所述CO节点发送的所述第三CF节点的路由信息;接收并保存至少一个第四设备或所述第三CF节点的上一跳CF节点发送的所述待收集数据;根据所述路由信息将接收到的所述待收集数据发送到所述第三CF节点的下一跳CF节点;其中,所述第四设备为需要反馈所述待收集数据的设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711448757.7A CN109981461B (zh) | 2017-12-27 | 2017-12-27 | 一种数据传输方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711448757.7A CN109981461B (zh) | 2017-12-27 | 2017-12-27 | 一种数据传输方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109981461A CN109981461A (zh) | 2019-07-05 |
CN109981461B true CN109981461B (zh) | 2020-10-09 |
Family
ID=67072517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711448757.7A Expired - Fee Related CN109981461B (zh) | 2017-12-27 | 2017-12-27 | 一种数据传输方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109981461B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114374677B (zh) * | 2020-10-15 | 2023-12-26 | 中国移动通信集团浙江有限公司 | 跨平台在线发布方法、装置、计算设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7305479B1 (en) * | 2003-05-13 | 2007-12-04 | Cisco Technology, Inc. | Methods and apparatus for delivery of content requests within a content delivery network |
CN101309201A (zh) * | 2007-05-14 | 2008-11-19 | 华为技术有限公司 | 路由处理方法、路由处理器及路由器 |
CN101742554A (zh) * | 2010-01-15 | 2010-06-16 | 南京邮电大学 | 无线多媒体传感器网络多路径传输机制的拥塞控制方法 |
US7826482B1 (en) * | 2006-11-17 | 2010-11-02 | Juniper Networks, Inc. | Service-specific forwarding in an LDP-RSVP hybrid network |
CN103546559A (zh) * | 2013-10-24 | 2014-01-29 | 网宿科技股份有限公司 | 数据分发方法和装置 |
CN104639552A (zh) * | 2015-02-13 | 2015-05-20 | 李明 | 链型网络无线高速通讯协议 |
CN105357024A (zh) * | 2015-09-23 | 2016-02-24 | 清华大学 | 用于sdn网络的区域控制设备、域控制设备和控制系统 |
CN105577714A (zh) * | 2014-10-13 | 2016-05-11 | 中兴通讯股份有限公司 | 基于软件定义网络实现内容分发网络的方法及系统 |
CN107277561A (zh) * | 2016-04-08 | 2017-10-20 | 北京优朋普乐科技有限公司 | 内容分发网络 |
-
2017
- 2017-12-27 CN CN201711448757.7A patent/CN109981461B/zh not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7305479B1 (en) * | 2003-05-13 | 2007-12-04 | Cisco Technology, Inc. | Methods and apparatus for delivery of content requests within a content delivery network |
US7826482B1 (en) * | 2006-11-17 | 2010-11-02 | Juniper Networks, Inc. | Service-specific forwarding in an LDP-RSVP hybrid network |
CN101309201A (zh) * | 2007-05-14 | 2008-11-19 | 华为技术有限公司 | 路由处理方法、路由处理器及路由器 |
CN101742554A (zh) * | 2010-01-15 | 2010-06-16 | 南京邮电大学 | 无线多媒体传感器网络多路径传输机制的拥塞控制方法 |
CN103546559A (zh) * | 2013-10-24 | 2014-01-29 | 网宿科技股份有限公司 | 数据分发方法和装置 |
CN105577714A (zh) * | 2014-10-13 | 2016-05-11 | 中兴通讯股份有限公司 | 基于软件定义网络实现内容分发网络的方法及系统 |
CN104639552A (zh) * | 2015-02-13 | 2015-05-20 | 李明 | 链型网络无线高速通讯协议 |
CN105357024A (zh) * | 2015-09-23 | 2016-02-24 | 清华大学 | 用于sdn网络的区域控制设备、域控制设备和控制系统 |
CN107277561A (zh) * | 2016-04-08 | 2017-10-20 | 北京优朋普乐科技有限公司 | 内容分发网络 |
Non-Patent Citations (2)
Title |
---|
CORAL-SDN: A software-defined networking solution for the Internet of Things;Tryfon Theodorou;《2017 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN)》;20171108;全文 * |
交互式数字电视媒资注入与分发系统的设计与实现;王丹;《CNKI》;20110114;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109981461A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109787921B (zh) | Cdn带宽调度方法、采集及调度服务器和存储介质 | |
CN106201356B (zh) | 一种基于链路可用带宽状态的动态数据调度方法 | |
EP2754272B1 (en) | Method, device and system for providing and selecting candidate nodes for live streaming services | |
US20200021859A1 (en) | Multicast implementation method and related network device | |
CN109412977B (zh) | 一种域名带宽调节方法及相关设备 | |
CN109561022B (zh) | 一种组播转发方法及组播路由器 | |
WO2016192138A1 (zh) | 组播/广播技术中发送速率的设置方法及装置 | |
CN105340237A (zh) | 内容分发系统和方法 | |
US11245618B2 (en) | Multicast traceroute facility with batch query processing for multiple flows and reservation of resources for requested link metrics | |
CN101841485A (zh) | 组播流量分担的方法及相关装置 | |
WO2022166593A1 (zh) | 点对点网络调度方法和系统 | |
CN105340216A (zh) | 内容分发系统和方法 | |
CN113225253A (zh) | 一种报文转发方法及装置 | |
CN109981461B (zh) | 一种数据传输方法、装置及系统 | |
CN108184175B (zh) | 基于mc节点受限的弹性光网络组播路由和频谱分配方法 | |
CN105359537A (zh) | 内容分发系统和方法 | |
US10560359B2 (en) | Method and device for reducing multicast flow joint latency | |
CN102404368A (zh) | 混合对等与主从式的数据传输架构与方法 | |
KR20130103687A (ko) | 네트워크 디바이스에서의 오디오/비디오 채널 트랜스본딩 | |
Dong et al. | INADS: In-network aggregation and distribution of IoT data subscription in ICN | |
CN109688421A (zh) | 请求消息处理方法、装置及系统、服务器、存储介质 | |
US10404617B2 (en) | Method and apparatus for resource allocation in communication system | |
US8145781B2 (en) | Data distribution system | |
CN110971531B (zh) | 一种数据传输方法、通信设备及存储介质 | |
CN112929272B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201009 |
|
CF01 | Termination of patent right due to non-payment of annual fee |