数据传输方法以及系统与流程

文档序号:31076354发布日期:2022-08-09 21:45阅读:101来源:国知局
数据传输方法以及系统与流程

1.本说明书实施例涉及数据处理技术领域,特别涉及一种数据传输方法。


背景技术:

2.kubernetes系统在边缘计算场景越来越流行,在云管边架构中,kubernetes master部署在云端,kubernetes worker以及项目pods部署在边缘环境(离用户现场比较近),k8s的worker和master通过公网连接。并且由于边缘节点一般没有配置公网地址,因此k8s master无法直接访问worker。当云管边的kubernetes集群超过一定规模时(如:节点》10k,pod》200k,service》10k)时,当边缘项目pod删除重建时,会触发所有边缘节点针对endpoints/endpointslices资源的请求,从而导致云边通信流量大幅度增加。同时边缘节点的上下线,也会触发所有边缘节点对node资源的请求,也会导致云边流量大幅提升。云边流量的瞬时大幅度提升,甚至有可能达到云端流量出口(slb)的流量限制,造成边缘请求的超过和出错。因此如何减少云边的公网通信流量,成为一个急需解决的问题。


技术实现要素:

3.有鉴于此,本说明书实施例提供了一种数据传输方法。本说明书一个或者多个实施例同时涉及一种云端主节点与边缘节点的通信方法,一种数据传输装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
4.根据本说明书实施例的第一方面,提供了一种数据传输方法,所述数据传输系统包括主节点、至少两个工作节点、以及从所述至少两个工作节点中确定的数据获取工作节点和协调工作节点,所述方法包括:
5.所述主节点响应于所述数据获取工作节点发送的第一数据获取指令,向所述数据获取工作节点发送目标数据;
6.所述数据获取工作节点接收所述主节点发送的所述目标数据,并将所述目标数据存储至所述协调工作节点;
7.所述协调工作节点响应于其他工作节点发送的第二数据获取指令,向所述其他节点发送所述目标数据,其中,所述其他工作节点为所述至少两个工作节点中除所述协调工作节点之外的工作节点。
8.根据本说明书实施例的第二方面,提供了一种云端主节点与边缘节点的通信方法,应用于数据传输系统,所述数据传输系统包括云端主节点、至少两个边缘节点、以及从所述至少两个边缘节点中确定的数据获取边缘节点和协调边缘节点,包括:
9.所述云端主节点响应于所述数据获取边缘节点发送的第一数据获取指令,向所述数据获取边缘节点发送目标数据;
10.所述数据获取边缘节点接收所述云端主节点发送的所述目标数据,并将所述目标数据存储至所述协调边缘节点;
11.所述协调边缘节点响应于其他边缘节点发送的第二数据获取指令,向所述其他节
点发送所述目标数据,其中,所述其他边缘节点为所述至少两个边缘节点中除所述协调边缘节点之外的边缘节点。
12.根据本说明书实施例的第三方面,提供了一种数据传输系统,包括主节点、至少两个工作节点、以及从所述至少两个工作节点中确定的数据获取工作节点和协调工作节点,其中,
13.所述主节点,被配置为响应于所述数据获取工作节点发送的第一数据获取指令,向所述数据获取工作节点发送目标数据;
14.所述数据获取工作节点,被配置为接收所述主节点发送的所述目标数据,并将所述目标数据存储至所述协调工作节点;
15.所述协调工作节点,被配置为响应于其他工作节点发送的第二数据获取指令,向所述其他节点发送所述目标数据,其中,所述其他工作节点为所述至少两个工作节点中除所述协调工作节点之外的工作节点。
16.根据本说明书实施例的第四方面,提供了一种数据传输装置,应用于数据传输系统,所述数据传输系统包括主节点、至少两个工作节点、以及从所述至少两个工作节点中确定的数据获取工作节点和协调工作节点,所述装置包括:
17.所述主模块,被配置为响应于所述数据获取工作节点发送的第一数据获取指令,向所述数据获取工作节点发送目标数据;
18.所述数据获取模块,被配置为接收所述主节点发送的所述目标数据,并将所述目标数据存储至所述协调工作节点;
19.所述协调模块,被配置为响应于其他工作节点发送的第二数据获取指令,向所述其他节点发送所述目标数据,其中,所述其他工作节点为所述至少两个工作节点中除所述协调工作节点之外的工作节点。
20.根据本说明书实施例的第五方面,提供了一种计算设备,包括:
21.存储器和处理器;
22.所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据传输方法的步骤。
23.根据本说明书实施例的第六方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述数据传输方法的步骤。
24.根据本说明书实施例的第七方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据传输方法的步骤。
25.本说明书实施例提供一种数据传输方法以及系统,该方法应用于数据传输系统,所述数据传输系统包括主节点、至少两个工作节点、以及从所述至少两个工作节点中确定的数据获取工作节点和协调工作节点,所述方法包括:所述主节点响应于所述数据获取工作节点发送的第一数据获取指令,向所述数据获取工作节点发送目标数据;所述数据获取工作节点接收所述主节点发送的所述目标数据,并将所述目标数据存储至所述协调工作节点;所述协调工作节点响应于其他工作节点发送的第二数据获取指令,向所述其他节点发送所述目标数据,其中,所述其他工作节点为所述至少两个工作节点中除所述协调工作节点之外的工作节点。通过在工作节点中确定一个数据获取工作节点,由数据获取工作节点从主节点获取目标数据并存储至协调工作节点,每个工作节点在获取数据时不用都向主节
点进行数据获取,减少了主节点与工作节点的通信流量。
附图说明
26.图1是本说明书一个实施例提供的一种数据传输方法的流程图;
27.图2是本说明书一个实施例提供的一种云端主节点与边缘节点的通信方法的流程图;
28.图3是本说明书一个实施例提供的一种云端主节点与边缘节点的通信方法的示意图;
29.图4是本说明书一个实施例提供的一种数据传输装置的结构示意图;
30.图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
31.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
32.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
33.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
34.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
35.kubernetes:用于自动部署、扩展和管理容器化应用程序的开源系统。
36.list/watch:kubernetes中的数据访问机制。
37.kubelet:是工作节点上的主要服务,定期从kube-apiserver组件接收新的或修改的pod规范,并确保pod及其容器在期望规范下运行。
38.kube-proxy:维护节点上的网络规则,实现了kubernetes service概念的一部分。它的作用是使发往service的流量(通过clusterip和端口)负载均衡到正确的后端pod。
39.yurthub:是对客户端request的反向代理。
40.传输控制协议(tcp,transmission control protocol):是一种面向连接的、可靠的、基于字节流的传输层通信协议。
41.lease:kubernetes节点发送的心跳以确定每个节点的可用性,是一种轻量级资源。
42.pod:pod是可以在kubernetes中创建和管理的、最小的可部署的计算单元,其中包含一个或多个应用容器。
43.节点池(nodepool):kubernetes集群以及其扩展集群中,具备同一属性特征(如部署在同一物理区域且可互相访问)的多个节点。
44.poolscope data:nodepool中的各个节点从云端获取的数据是相同的。如node,endpointslices,endpoints,service等资源的list请求返回的数据。
45.nodescope data:nodepool中的各个节点从云端获取的数据是本节点独有的。如pods,secrets,configmaps等资源的get请求返回的数据。
46.边缘节点:指在靠近用户的网络边缘侧构建的项目平台,提供存储、计算、网络等资源,将部分关键项目应用下沉到接入网络边缘,以减少网络传输和多级转发带来的宽度和时延损耗。边缘节点位置介于用户和云中心之间。
47.选举:是一种决策过程。
48.为了防止在云边(云端与边缘)网络长时间断连后再恢复时,可能触发边缘的list/watch请求,从而云边流量大幅度提升。在一些云管边架构中,为了减少云边流量,摒弃了kubernetes中原生的list/watch请求,改造为云端主动往边缘推送数据。具体方案如下所述。
49.首先边缘节点接入云端集群时,边缘节点和云端集群构建一条tcp长连接,同时云端集群增加一个控制器(controller),实时监测(list/watch)云端集群的数据变化,当控制器监测到数据变化时,通过云边集群的tcp长连接,把变化数据推送到各个边缘节点。通过云端的数据主动推送,从而减少边缘的主动list操作,达到云边通信数据的消减。
50.该方案虽然可以减少部分场景(云边网络长时间断连再恢复)下list请求的流量,但是存在不足的地方,如,list/watch机制是kubernetes系统中组件间通信的底层机制,摒弃了list/watch机制,意味对kubernetes系统有破坏性的侵入式修改,导致边缘节点上使用list/watch机制的云原生生态的应用都无法运行。并且大部分场景下,当云端的资源(如endpoints)变化时,云端还是需要向每个边缘节点推送数据,因此大部分场景下云边流量并不会减少,只是部分场景下可以减少流量,云边通信数据的消减的效果不好。又因为是云端主动往边缘节点推送数据,意味边缘节点需要什么类型数据,云端并不知情,所以云端需要往边缘节点推送所有类型数据。因此会产生很多无效数据的推送,由此带来云边流量的浪费。
51.基于此,在本说明书中,提供了一种数据传输方法,本说明书同时涉及一种云端主节点与边缘节点的通信方法,一种数据传输装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
52.参见图1,图1示出了根据本说明书一个实施例提供的一种数据传输方法的流程图,应用于数据传输系统,所述数据传输系统包括主节点、至少两个工作节点、以及从所述至少两个工作节点中确定的数据获取工作节点和协调工作节点,其中,本实施例中的主节点可以理解为前述的云端,本实施例中的工作节点可以理解为前述的边缘节点,且其中的协调工作节点为预先配置好的,该数据传输方法包括具体包括以下步骤。
53.步骤102:所述主节点响应于所述数据获取工作节点发送的第一数据获取指令,向所述数据获取工作节点发送目标数据。
54.其中,数据获取工作节点可以为任何一个工作节点,该节点与主节点之间存在通信连接;第一数据获取指令可以为kubernetes中的list/watch请求;目标数据可以为名词
解释中的poolscope data,如,pods,secrets,configmaps等资源的get请求返回的数据。
55.在实际应用中,所有工作节点属于同一个节点池(nodepool),节点池内的各个节点可以相互传输数据,节点池中的数据获取工作节点向主节点发送第一数据获取指令,主节点在收到第一数据获取指令的,向数据获取工作节点发送相应的数据。
56.例如,工作节点包括工作节点a和工作节点b,工作节点b为数据获取工作节点,则工作节点b向主节点发送第一数据获取指令,主节点在接收到第一数据获取指令的情况下,向工作节点b发送目标数据。
57.本说明书实施例通过一个节点获取目标数据,以使后续可以存储目标数据,使其他节点从节点池内获取目标数据,从而不向主节点请求目标数据,减少了通信流量。
58.步骤104:所述数据获取工作节点接收所述主节点发送的所述目标数据,并将所述目标数据存储至所述协调工作节点。
59.在实际应用中,数据获取工作节点在接收到目标数据之后,将目标数据存储在预先配置好的协调工作节点,以便其他工作节点从协调工作节点中获取数据。
60.例如,工作节点包括工作节点a、工作节点b和工作节点c,工作节点b为数据获取工作节点,工作节点c为协调工作节点,则工作节点b向主节点发送第一数据获取指令,主节点在接收到第一数据获取指令的情况下,向工作节点b发送目标数据,工作节点b将目标数据存储至工作节点c。
61.在一种可实现的方式中,数据获取工作节点可以通过选举的方式得到,具体实现方式如下所述。
62.所述至少两个工作节点向所述协调工作节点发送锁指令;
63.所述协调工作节点接收所述至少两个工作节点发送的锁指令,在接收到锁指令的情况下,根据所述锁指令确定所述数据获取工作节点。
64.其中,锁指令可以理解为对数据进行修改以表示锁定的指令,例如,在数据x初始值为0的情况下,将数据x的值修改为1,则表示数据x的值已被锁定,且不可更改,该锁定机制可以使用本领域的常规技术手段,本说明书实施例不进行限定。
65.例如,工作节点包括工作节点a、工作节点b和工作节点c,工作节点c为协调工作节点,则工作节点a、工作节点b向工作节点c发送锁指令,若工作节点b的锁指令先到达工作节点c,且修改了锁机制的数据值,将0变为1,并且工作节点b向主节点发送连接请求,工作节点a的锁指令在到达工作节点c的情况下,发现锁机制的数据值已经为1,则可知已经选举成功,并可以获取到工作节点b为数据获取节点。
66.需要说明的是,为了保证工作节点和云端的网络是连通的,工作节点参加选举的必要条件是和云端网络连通。
67.本说明书实施例通过选举的方式确定数据获取工作节点,可以确定通信延迟较小的工作节点为数据获取工作节点,提高了通信效率。
68.在一种可实现的方式中,在每个工作节点中存在服务模块的基础上,在工作节点中添加代理模块,代理模块用于拦截服务模块的发出的数据获取请求,以实现将各工作节点中的数据请求转发至协调工作节点,具体实现方式如下所述。
69.具体地,所述至少两个工作节点中每个工作节点均包括服务模块和代理模块;
70.所述协调工作节点响应于其他工作节点发送的第二数据获取指令之前,还包括:
71.所述服务模块向所述主节点发送第二数据获取指令;
72.所述代理模块拦截所述第二数据获取指令,并将所述第二数据获取指令发送至所述协调工作节点。
73.其中,服务模块可以为kubelet、kube-proxy等;代理模块可以为yurthub等。
74.在实际应用中,服务模块本应该将第二数据获取指令发送至主节点,向主节点请求目标数据,那么可以在各个工作节点中加入代理模块,代理模块将所在的工作节点中的服务模块本应该向主节点发送的第二数据获取指令拦截下来,并将该第二数据获取指令发送至协调工作节点。
75.例如,工作节点包括工作节点a、工作节点b和工作节点c,工作节点a、工作节点b和工作节点c中均包括服务模块和代理模块,工作节点c为协调工作节点,工作节点b为数据获取节点,工作节点a中的服务模块在需要向主节点请求数据的情况下,向主节点发送第二数据获取指令,工作节点a中代理模块拦截第二数据获取指令,并将第二数据获取指令重定向至工作节点c,以获取目标数据。相应地,工作节点b中的服务模块在需要向主节点请求数据的情况下,向主节点发送第二数据获取指令,工作节点b中代理模块拦截第二数据获取指令,并将第二数据获取指令重定向至工作节点c。工作节点c中的服务模块在需要向主节点请求数据的情况下,向主节点发送第二数据获取指令,工作节点c中代理模块拦截第二数据获取指令,并将第二数据获取指令重定向至本地地址。
76.本说明书实施例在原生kubernetes的架构中,边缘节点上增加一个代理模块,用来接管工作节点和主节点之间的通信流量,对kubernetes的架构未做任何修改,云原生生态的应用可以很好的运行在边缘节点,并且所有请求由数据需求方(边缘节点)自行发起,云边通信不会产生无效的流量。
77.相应地,上述实施例中的数据获取工作节点可以通过选举的方式得到和向主节点发送第一数据获取指令可以为代理模块执行。例如,工作节点包括工作节点a、工作节点b和工作节点c,工作节点c为协调工作节点,则工作节点a的代理模块、工作节点b的代理模块向工作节点c发送锁指令,若工作节点b的代理模块的锁指令先到达工作节点c,且修改了锁机制的数据值,将0变为1,并且工作节点b的代理模块向主节点发送连接请求,工作节点a的代理模块的锁指令在到达工作节点c的情况下,发现锁机制的数据值已经为1,则可知已经选举成功,并可以获取到工作节点b为数据获取节点。
78.在一种可实现的方式中,工作节点除了目标数据之外,会根据自己的内部的服务模块的需求获取数据,那么就需要直接从主节点获取。具体实现方式如下所述。
79.所述至少两个工作节点中的目标工作节点,从所述协调工作节点获取需求数据,在所述协调工作节点中不存在所述需求数据的情况下,向所述主节点发送第三数据获取指令;
80.所述主节点响应于所述第三数据获取指令,向所述目标工作节点发送所述需求数据;
81.所述目标工作节点接收所述需求数据,其中,所述需求数据为所述主节点中除所述目标数据之外的其他数据。
82.其中,需求数据可以为node scope data,例如pods,secrets,configmaps等资源的get请求返回的数据;第三数据获取指令可以为kubernetes中的list/watch请求。
83.例如,工作节点包括工作节点a、工作节点b和工作节点c,工作节点a、工作节点b和工作节点c中均包括服务模块和代理模块,工作节点c为协调工作节点,工作节点b为数据获取节点,工作节点a中的服务模块在需要向主节点请求数据的情况下,向主节点发送第三数据获取指令,工作节点a中代理模块拦截第三数据获取指令,并将第三数据获取指令重定向至工作节点c,以获取相应的数据,工作节点c发现未存储第三数据获取指令相应的数据,则通知工作节点a,工作节点a直接向主节点发送第三数据获取指令,主节点向工作节点a返回第三数据获取指令相应的数据。
84.本说明书实施例在工作节点有单独的需求的情况下,该工作节点直接向主节点请求数据,不占用协调节点的存储空间。
85.在一种可实现的方式中,目标数据可能存在变化的情况,或者工作节点需要主动更新数据,那么就需要向主节点请求更新目标数据,具体实施方式如下所述。
86.所述数据获取工作节点向所述主节点发送数据更新指令;
87.所述主节点响应于所述数据更新指令,向所述数据获取工作节点发送更新数据;
88.所述数据获取工作节点从所述主节点获取更新数据,并将所述更新数据存储至所述协调工作节点,其中,所述更新数据为所述目标数据中变更的数据。
89.例如,工作节点c为协调工作节点,工作节点b为数据获取节点,工作节点b被设置为每隔24小时向主节点发送数据更新指令,主节点响应于数据更新指令,向工作节点b发送目标数据的更新数据,在工作节点b接收到更新数据之后,向工作节点c发送更新数据,工作节点c根据更新数据修改目标数据。
90.本说明书实施例根据更新数据对目标数据进行修改,而不是传输整个目标数据,减少了通信流量。
91.步骤106所述协调工作节点响应于其他工作节点发送的第二数据获取指令,向所述其他节点发送所述目标数据,其中,所述其他工作节点为所述至少两个工作节点中除所述协调工作节点之外的工作节点。
92.其中,第二数据获取指令可以为kubernetes中的list/watch请求。
93.在实际应用中,各个工作节点对目标数据的数据请求经过各个代理模块时,代理模块把请求转发到协调工作节点,从其中获取到写入的最新的目标数据。从而增加云边流量复用的效果,减少云边公网通信流量。
94.在一种可实现的方式中,在每个工作节点中存在服务模块和代理模块的基础上,在工作节点中添加协调模块,以配置该工作节点为协调工作节点,协调模块用于管理目标数据。具体实施方式如下所述。
95.所述协调工作节点还包括所述协调模块;
96.所述协调模块接收任意一个所述代理模块发送的第二数据获取指令,并向所述代理模块发送所述目标数据;
97.所述代理模块在接收到所述目标数据的情况下,将所述目标数据发送至对应的服务模块。
98.其中,协调模块可以理解为管理目标数据的模块,例如,节点池协调器(pool-assistant),需要说明的是,节点池协调器可以部署在任何一个工作节点上,本说明书实施例不进行限定。
99.例如,工作节点包括工作节点a、工作节点b和工作节点c,工作节点a、工作节点b和工作节点c中均包括服务模块和代理模块,工作节点c为协调工作节点,工作节点b为数据获取节点,工作节点a中的服务模块在需要向主节点请求数据的情况下,向主节点发送第二数据获取指令,工作节点a中代理模块拦截第二数据获取指令,并将第二数据获取指令重定向至工作节点c,工作节点c的协调模块在接收到工作节点a的二数据获取指令,向工作节点a发送目标数据,该目标数据经过工作节点a的代理模块,并转发至相应的服务模块。相应地,工作节点c的协调模块在接收到工作节点b的二数据获取指令,向工作节点b发送目标数据,该目标数据经过工作节点b的代理模块,并转发至相应的服务模块。工作节点c的协调模块在接收到工作节点c的代理模块的二数据获取指令,直接向工作节点c的代理模块发送目标数据,该目标数据经过工作节点c的代理模块,并转发至相应的服务模块。
100.本说明书实施例对kubernetes未做任何修改,云原生生态的应用可以很好的运行在边缘,并且共享到流量复用的能力。
101.在一种可实现的方式中,从主节点获取目标数据、存储目标数据以及向节点池内的工作节点提供目标数据均可以通过代理模块和协调模块实现,具体实施方式如下所述。
102.所述数据获取工作节点中的代理模块向所述主节点发送所述第一数据获取指令;
103.所述主节点向所述响应于所述第一数据获取指令,向所述数据获取工作节点中的代理模块发送目标数据;
104.所述数据获取工作节点中的代理模块接收所述主节点发送的所述目标数据,并将所述目标数据存储至所述协调工作节点中的协调模块。
105.例如,工作节点包括工作节点a、工作节点b和工作节点c,工作节点b为数据获取工作节点,工作节点c为协调工作节点,工作节点a、工作节点b和工作节点c中均包括服务模块和代理模块,工作节点c中还包括协调模块。工作节点b的代理模块向主节点发送第一数据获取指令,主节点在接收到第一数据获取指令的情况下,向工作节点b发送目标数据,工作节点b的代理模块将目标数据发送至工作节点c的协调模块。
106.进一步地,所述将所述目标数据存储至所述协调工作节点中的协调模块之后,还包括:
107.所述协调模块接收所述数据获取工作节点中的代理模块发送的所述目标数据,并将所述目标数据写入存储中。
108.其中,存储可以为硬盘,内存等存储介质。
109.沿用上例,工作节点c的协调模块在接收到目标数据之后,协调模块将目标数据写入到硬盘中。
110.需要说明的是,即使在工作节点断网的情况下,所有节点池内的工作节点依然能够从协调节点中获取目标数据。
111.本说明书实施例提供一种数据传输方法,应用于数据传输系统,所述数据传输系统包括主节点、至少两个工作节点、以及从所述至少两个工作节点中确定的数据获取工作节点和协调工作节点,所述方法包括:所述主节点响应于所述数据获取工作节点发送的第一数据获取指令,向所述数据获取工作节点发送目标数据;所述数据获取工作节点接收所述主节点发送的所述目标数据,并将所述目标数据存储至所述协调工作节点;所述协调工作节点响应于其他工作节点发送的第二数据获取指令,向所述其他节点发送所述目标数
据,其中,所述其他工作节点为所述至少两个工作节点中除所述协调工作节点之外的工作节点。通过在工作节点中确定一个数据获取工作节点,由数据获取工作节点从主节点获取目标数据并存储至协调工作节点,每个工作节点在获取数据时不用都向主节点进行数据获取,减少了主节点与工作节点的通信流量。
112.参见图2,图2是本说明书一个实施例提供的一种云端主节点与边缘节点的通信方法的流程图,本说明书实施例还提供了一种云端主节点与边缘节点的通信方法,应用于数据传输系统,所述数据传输系统包括云端主节点、至少两个边缘节点、以及从所述至少两个边缘节点中确定的数据获取边缘节点和协调边缘节点,包括:
113.步骤202:所述云端主节点响应于所述数据获取边缘节点发送的第一数据获取指令,向所述数据获取边缘节点发送目标数据;
114.步骤204:所述数据获取边缘节点接收所述云端主节点发送的所述目标数据,并将所述目标数据存储至所述协调边缘节点;
115.步骤206:所述协调边缘节点响应于其他边缘节点发送的第二数据获取指令,向所述其他节点发送所述目标数据,其中,所述其他边缘节点为所述至少两个边缘节点中除所述协调边缘节点之外的边缘节点。
116.在一种可实现的方式中,还包括:
117.所述至少两个边缘节点向所述协调边缘节点发送锁指令;
118.所述协调边缘节点接收所述至少两个边缘节点发送的锁指令,在接收到锁指令的情况下,根据所述锁指令确定所述数据获取边缘节点。
119.在一种可实现的方式中,还包括:
120.所述至少两个边缘节点中的目标边缘节点,从所述协调边缘节点获取需求数据,在所述协调边缘节点中不存在所述需求数据的情况下,向所述云端主节点发送第三数据获取指令;
121.所述云端主节点响应于所述第三数据获取指令,向所述目标边缘节点发送所述需求数据;
122.所述目标边缘节点接收所述需求数据,其中,所述需求数据为所述云端主节点中除所述目标数据之外的其他数据。
123.在一种可实现的方式中,还包括:
124.所述数据获取边缘节点向所述云端主节点发送数据更新指令;
125.所述云端主节点响应于所述数据更新指令,向所述数据获取边缘节点发送更新数据;
126.所述数据获取边缘节点从所述云端主节点获取更新数据,并将所述更新数据存储至所述协调边缘节点,其中,所述更新数据为所述目标数据中变更的数据。
127.在一种可实现的方式中,所述至少两个边缘节点中每个边缘节点均包括服务模块和代理模块;
128.所述协调边缘节点响应于其他边缘节点发送的第二数据获取指令之前,还包括:
129.所述服务模块向所述云端主节点发送第二数据获取指令;
130.所述代理模块拦截所述第二数据获取指令,并将所述第二数据获取指令发送至所述协调边缘节点。
131.在一种可实现的方式中,所述协调边缘节点还包括所述协调模块;
132.所述协调模块接收任意一个所述代理模块发送的第二数据获取指令,并向所述代理模块发送所述目标数据;
133.所述代理模块在接收到所述目标数据的情况下,将所述目标数据发送至对应的服务模块。
134.在一种可实现的方式中,还包括:
135.所述数据获取边缘节点中的代理模块向所述云端主节点发送所述第一数据获取指令;
136.所述云端主节点向所述响应于所述第一数据获取指令,向所述数据获取边缘节点中的代理模块发送目标数据;
137.所述数据获取边缘节点中的代理模块接收所述云端主节点发送的所述目标数据,并将所述目标数据存储至所述协调边缘节点中的协调模块。
138.在一种可实现的方式中,所述将所述目标数据存储至所述协调边缘节点中的协调模块之后,还包括:
139.所述协调模块接收所述数据获取边缘节点中的代理模块发送的所述目标数据,并将所述目标数据写入存储中。
140.其中,云端主节点可以理解为在云端的kubernetes的master(主节点)。
141.举例来说,参见图3,图3是本说明书一个实施例提供的一种云端主节点与边缘节点的通信方法的示意图,其中,在云端包括云端主节点,云边包括节点池,节点池内包括边缘节点1、边缘节点2、边缘节点3、边缘节点4,边缘节点1为数据获取边缘节点,边缘节点4为协调边缘节点,边缘节点2、边缘节点1和边缘节点4中均包括服务模块和代理模块,边缘节点4中还包括协调模块。边缘节点1的代理模块向主节点发送第一数据获取指令,主节点在接收到第一数据获取指令的情况下,向边缘节点1发送目标数据,边缘节点1的代理模块将目标数据发送至边缘节点4的协调模块。所述协调模块接收所述数据获取边缘节点中的代理模块发送的所述目标数据,并将所述目标数据写入存储中。
142.边缘节点2中的服务模块在需要向主节点请求数据的情况下,向主节点发送第二数据获取指令,边缘节点2中代理模块拦截第二数据获取指令,并将第二数据获取指令重定向至边缘节点4,边缘节点4的协调模块在接收到边缘节点2的二数据获取指令,向边缘节点2发送目标数据,该目标数据经过边缘节点2的代理模块,并转发至边缘节点2的服务模块。
143.本说明书实施例提供一种云端主节点与边缘节点的通信方法,该方法应用于数据传输系统,所述数据传输系统包括云端主节点、至少两个边缘节点、以及从所述至少两个边缘节点中确定的数据获取边缘节点和协调边缘节点,所述方法包括:所述云端主节点响应于所述数据获取边缘节点发送的第一数据获取指令,向所述数据获取边缘节点发送目标数据;所述数据获取边缘节点接收所述云端主节点发送的所述目标数据,并将所述目标数据存储至所述协调边缘节点;所述协调边缘节点响应于其他边缘节点发送的第二数据获取指令,向所述其他节点发送所述目标数据,其中,所述其他边缘节点为所述至少两个边缘节点中除所述协调边缘节点之外的边缘节点。通过在边缘节点中确定一个数据获取边缘节点,由数据获取边缘节点从云端主节点获取目标数据并存储至协调边缘节点,每个边缘节点在获取数据时不用都向云端主节点进行数据获取,减少了云端主节点与边缘节点的通信流
量。
144.与上述方法实施例相对应,本说明书还提供了数据传输装置实施例,图4示出了本说明书一个实施例提供的一种数据传输装置的结构示意图。如图4所示,该装置应用于数据传输系统,所述数据传输系统包括主模块、至少两个子模块、以及从所述至少两个子模块中确定的数据获取子模块和协调子模块,该装置包括:
145.所述主模块402,被配置为响应于所述数据获取子模块发送的第一数据获取指令,向所述数据获取子模块发送目标数据;
146.所述数据获取模块404,被配置为接收所述主模块发送的所述目标数据,并将所述目标数据存储至所述协调子模块;
147.所述协调模块406,被配置为响应于其他子模块发送的第二数据获取指令,向所述其他模块发送所述目标数据,其中,所述其他子模块为所述至少两个子模块中除所述协调子模块之外的子模块。
148.在一种可实现的方式中,所述至少两个子模块,被配置为向所述协调子模块发送锁指令;
149.所述协调子模块,被配置为接收所述至少两个子模块发送的锁指令,在接收到锁指令的情况下,根据所述锁指令确定所述数据获取子模块。
150.在一种可实现的方式中,所述至少两个子模块中的目标子模块,被配置为从所述协调子模块获取需求数据,在所述协调子模块中不存在所述需求数据的情况下,向所述主模块发送第三数据获取指令;
151.所述主模块,被配置为响应于所述第三数据获取指令,向所述目标子模块发送所述需求数据;
152.所述目标子模块,被配置为接收所述需求数据,其中,所述需求数据为所述主模块中除所述目标数据之外的其他数据。
153.在一种可实现的方式中,所述数据获取子模块,被配置为向所述主模块发送数据更新指令;
154.所述主模块,被配置为响应于所述数据更新指令,向所述数据获取子模块发送更新数据;
155.所述数据获取子模块,被配置为从所述主模块获取更新数据,并将所述更新数据存储至所述协调子模块,其中,所述更新数据为所述目标数据中变更的数据。
156.在一种可实现的方式中,所述数据获取子模块中的代理模块向所述主模块发送所述第一数据获取指令;
157.所述主模块,被配置为向所述响应于所述第一数据获取指令,向所述数据获取子模块中的代理模块发送目标数据;
158.所述数据获取子模块中的代理模块,被配置为接收所述主模块发送的所述目标数据,并将所述目标数据存储至所述协调子模块中的协调模块。
159.在一种可实现的方式中,所述将所述目标数据存储至所述协调子模块中的协调模块之后,还包括:
160.所述协调模块,被配置为接收所述数据获取子模块中的代理模块发送的所述目标数据,并将所述目标数据写入存储中。
161.在一种可实现的方式中,所述至少两个子模块中每个子模块均包括服务模块和代理模块;
162.所述协调子模块,被配置为响应于其他子模块发送的第二数据获取指令之前,还包括:
163.所述服务模块,被配置为发送第二数据获取指令;
164.所述代理模块,被配置为拦截所述第二数据获取指令,并将所述第二数据获取指令发送至所述协调子模块。
165.在一种可实现的方式中,所述协调子模块还包括所述协调模块;
166.所述协调模块,被配置为接收任意一个所述代理模块发送的第二数据获取指令,并向所述代理模块发送所述目标数据;
167.所述代理模块,被配置为在接收到所述目标数据的情况下,将所述目标数据发送至对应的服务模块。
168.本说明书实施例提供一种数据传输装置,该装置应用于数据传输系统,所述数据传输系统包括主模块、至少两个子模块、以及从所述至少两个子模块中确定的数据获取子模块和协调子模块,所述方法包括:所述主模块响应于所述数据获取子模块发送的第一数据获取指令,向所述数据获取子模块发送目标数据;所述数据获取子模块接收所述主模块发送的所述目标数据,并将所述目标数据存储至所述协调子模块;所述协调子模块响应于其他子模块发送的第二数据获取指令,向所述其他模块发送所述目标数据,其中,所述其他子模块为所述至少两个子模块中除所述协调子模块之外的子模块。通过在子模块中确定一个数据获取子模块,由数据获取子模块从主模块获取目标数据并存储至协调子模块,每个子模块在获取数据时不用都向主模块进行数据获取,减少了主模块与子模块的通信流量。
169.本说明书实施例还提供了一种数据传输系统,包括主节点、至少两个工作节点、以及从所述至少两个工作节点中确定的数据获取工作节点和协调工作节点,其中,
170.所述主节点,被配置为响应于所述数据获取工作节点发送的第一数据获取指令,向所述数据获取工作节点发送目标数据;
171.所述数据获取工作节点,被配置为接收所述主节点发送的所述目标数据,并将所述目标数据存储至所述协调工作节点;
172.所述协调工作节点,被配置为响应于其他工作节点发送的第二数据获取指令,向所述其他节点发送所述目标数据,其中,所述其他工作节点为所述至少两个工作节点中除所述协调工作节点之外的工作节点。
173.在一种可实现的方式中,所述至少两个工作节点,被配置为向所述协调工作节点发送锁指令;
174.所述协调工作节点,被配置为接收所述至少两个工作节点发送的锁指令,在接收到锁指令的情况下,根据所述锁指令确定所述数据获取工作节点。
175.在一种可实现的方式中,所述至少两个工作节点中的目标工作节点,被配置为从所述协调工作节点获取需求数据,在所述协调工作节点中不存在所述需求数据的情况下,向所述主节点发送第三数据获取指令;
176.所述主节点,被配置为响应于所述第三数据获取指令,向所述目标工作节点发送所述需求数据;
177.所述目标工作节点,被配置为接收所述需求数据,其中,所述需求数据为所述主节点中除所述目标数据之外的其他数据。
178.在一种可实现的方式中,所述数据获取工作节点,被配置为向所述主节点发送数据更新指令;
179.所述主节点,被配置为响应于所述数据更新指令,向所述数据获取工作节点发送更新数据;
180.所述数据获取工作节点,被配置为从所述主节点获取更新数据,并将所述更新数据存储至所述协调工作节点,其中,所述更新数据为所述目标数据中变更的数据。
181.在一种可实现的方式中,所述数据获取工作节点中的代理模块向所述主节点发送所述第一数据获取指令;
182.所述主节点,被配置为向所述响应于所述第一数据获取指令,向所述数据获取工作节点中的代理模块发送目标数据;
183.所述数据获取工作节点中的代理模块,被配置为接收所述主节点发送的所述目标数据,并将所述目标数据存储至所述协调工作节点中的协调模块。
184.在一种可实现的方式中,所述将所述目标数据存储至所述协调工作节点中的协调模块之后,还包括:
185.所述协调模块,被配置为接收所述数据获取工作节点中的代理模块发送的所述目标数据,并将所述目标数据写入存储中。
186.在一种可实现的方式中,所述至少两个工作节点中每个工作节点均包括服务模块和代理模块;
187.所述协调工作节点,被配置为响应于其他工作节点发送的第二数据获取指令之前,还包括:
188.所述服务模块,被配置为发送第二数据获取指令;
189.所述代理模块,被配置为拦截所述第二数据获取指令,并将所述第二数据获取指令发送至所述协调工作节点。
190.在一种可实现的方式中,所述协调工作节点还包括所述协调模块;
191.所述协调模块,被配置为接收任意一个所述代理模块发送的第二数据获取指令,并向所述代理模块发送所述目标数据;
192.所述代理模块,被配置为在接收到所述目标数据的情况下,将所述目标数据发送至对应的服务模块。
193.本说明书实施例提供一种数据传输系统,包括主节点、至少两个工作节点、以及从所述至少两个工作节点中确定的数据获取工作节点和协调工作节点,其中,所述主节点,被配置为响应于所述数据获取工作节点发送的第一数据获取指令,向所述数据获取工作节点发送目标数据;所述数据获取工作节点,被配置为接收所述主节点发送的所述目标数据,并将所述目标数据存储至所述协调工作节点;所述协调工作节点,被配置为响应于其他工作节点发送的第二数据获取指令,向所述其他节点发送所述目标数据,其中,所述其他工作节点为所述至少两个工作节点中除所述协调工作节点之外的工作节点。通过在工作节点中确定一个数据获取工作节点,由数据获取工作节点从主节点获取目标数据并存储至协调工作节点,每个工作节点在获取数据时不用都向主节点进行数据获取,减少了主节点与工作节
点的通信流量。
194.上述为本实施例的一种数据传输装置的示意性方案。需要说明的是,该数据传输装置的技术方案与上述的数据传输方法的技术方案属于同一构思,数据传输装置的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
195.图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
196.计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
197.在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
198.计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
199.其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据传输方法和云端主节点与边缘节点的通信方法的步骤。
200.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据传输方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据传输方法和云端主节点与边缘节点的通信方法的技术方案的描述。
201.本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据传输方法的步骤。
202.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据传输方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据传输方法和云端主节点与边缘节点的通信方法的技术方案的描述。
203.本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据传输方法和云端主节点与边缘节点的通信方法的步骤。
204.上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的数据传输方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述数据传输方法和云端主节点与边缘节点的通信方法的
技术方案的描述。
205.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
206.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
207.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
208.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
209.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1