一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种CDN通信方法、系统、客户端和服务器与流程

2021-10-24 14:40:00 来源:中国专利 TAG:通信 客户端 服务器 方法 系统

一种cdn通信方法、系统、客户端和服务器
技术领域
1.本技术涉及通信领域,尤其涉及一种cdn通信方法、系统、客户端和服务器。


背景技术:

2.内容分发网络(content deliverynetwork,cdn)是当前较为流行的业务系统,cdn业务系统内部包含多个节点,各个节点分布在各个地区,致使cdn的网络环境变得较为复杂。较为复杂的网络环境,可能会影响各个节点之间的通信,如何确保各个节点之间的通信顺畅,成为了通信领域亟需解决的问题。
3.在现有技术中,各个节点通常使用公网ip建立通信连接,即各个节点通过公网进行通信交互。然而,通过公网进行通信交互的方式,受限于公网网络状态变化(例如公网ip随时更换、公网故障等),其通信的稳定性较差。


技术实现要素:

4.本技术提供了一种cdn通信方法、系统、客户端和服务器,目的在于提高cdn通信的稳定性。
5.为了实现上述目的,本技术提供了以下技术方案:
6.一种cdn通信方法,应用于服务器,包括:
7.依据节点发送的节点信息,生成所述节点的配置信息;所述配置信息包括路由信息;所述路由信息用于指示所述节点与其它节点之间的通信链路;
8.在接收到所述节点发送的访问请求的情况下,将所述配置信息发送给所述节点,触发所述节点依据所述配置信息更新所述节点的配置,并依据更新后的所述配置,配置用于与所述其它节点进行通信交互的通信协议。
9.可选的,所述依据节点发送的节点信息,生成所述节点的配置信息,包括:
10.获取节点发送的节点信息密文;
11.按照预设解密方式,对所述节点信息密文进行解密,得到节点信息;
12.对所述节点信息进行校验;
13.在确定所述节点信息通过校验之后,依据所述节点信息,生成所述节点的配置信息,并将所述配置信息和所述节点信息存储到所述数据库中;
14.按照预设加密方式,对所述配置信息进行加密,得到配置信息密文;
15.所述将所述配置信息发送给所述节点,包括:
16.将所述配置信息密文发送给所述节点,触发所述节点按照所述预设解密方式,对所述配置信息密文进行解密,得到所述配置信息。
17.一种cdn通信方法,应用于客户端,包括:
18.将节点的节点信息发送给服务器;
19.访问所述服务器,获得所述服务器基于所述节点信息生成的配置信息;所述配置信息包括路由信息;所述路由信息用于指示所述节点与其它节点之间的通信链路;
20.依据所述配置信息更新所述节点的配置;
21.依据更新后的所述配置,为所述节点配置用于与所述其它节点进行通信交互的通信协议;
22.在接收到通信指令的情况下,控制所述节点调用预先创建的虚拟网络接口,按照所述通信协议向所述其它节点,发送所述通信指令所示的用户数据。
23.可选的,所述依据更新后的所述配置,为所述节点配置用于与所述其它节点进行通信交互的通信协议之后,还包括:
24.控制所述节点调用预先创建的虚拟网络接口,按照所述通信协议定时向所述其它节点发送探测数据,并记录所述其它节点响应所述探测数据的时间;
25.依据所述时间,确定所述其它节点的网络延迟状态,并向所述服务器发送所述其它节点的网络延迟状态。
26.可选的,所述配置信息包括所述用户数据的加密方式和解密方式;
27.所述控制所述节点调用预先创建的虚拟网络接口,按照所述通信协议向所述其它节点发送所述通信指令所示的用户数据,包括:
28.控制所述节点预先创建一个虚拟网络接口;
29.将所述节点与其它节点之间的通信链路,写入所述节点的系统路由表中;
30.控制所述节点按照所述加密方式,对所述通信指令所示的用户数据进行加密,得到用户数据密文;
31.依据所述系统路由表和所述用户数据密文,为所述节点配置通信协议;
32.控制所述节点调用所述虚拟网络接口,按照所述通信协议向所述其它节点发送所述用户数据密文,触发所述其它节点按照所述解密方式,对所述用户数据密文进行解密,得到所述用户数据。
33.一种服务器,包括:
34.生成单元,用于依据节点发送的节点信息,生成所述节点的配置信息;所述配置信息包括路由信息;所述路由信息用于指示所述节点与其它节点之间的通信链路;
35.发送单元,用于在接收到所述节点发送的访问请求的情况下,将所述配置信息发送给所述节点,触发所述节点依据所述配置信息更新所述节点的配置,并依据更新后的所述配置,配置用于与所述其它节点进行通信交互的通信协议。
36.可选的,所述生成单元具体用于:
37.获取节点发送的节点信息密文;
38.按照预设解密方式,对所述节点信息密文进行解密,得到节点信息;
39.对所述节点信息进行校验;
40.在确定所述节点信息通过校验之后,依据所述节点信息,生成所述节点的配置信息,并将所述配置信息和所述节点信息存储到所述数据库中;
41.按照预设加密方式,对所述配置信息进行加密,得到配置信息密文;
42.所述发送单元还用于:
43.将所述配置信息密文发送给所述节点,触发所述节点按照所述预设解密方式,对所述配置信息密文进行解密,得到所述配置信息。
44.一种客户端,包括:
45.发送单元,用于将节点的节点信息发送给服务器;
46.访问单元,用于访问所述服务器,获得所述服务器基于所述节点信息生成的配置信息;所述配置信息包括路由信息;所述路由信息用于指示所述节点与其它节点之间的通信链路;
47.更新单元,用于依据所述配置信息更新所述节点的配置;
48.配置单元,用于依据更新后的所述配置,为所述节点配置用于与所述其它节点进行通信交互的通信协议;
49.通信单元,用于在接收到通信指令的情况下,控制所述节点调用预先创建的虚拟网络接口,按照所述通信协议向所述其它节点,发送所述通信指令所示的用户数据。
50.可选的,还包括:
51.探测单元;
52.所述探测单元用于:控制所述节点调用预先创建的虚拟网络接口,按照所述通信协议定时向所述其它节点发送探测数据,并记录所述其它节点响应所述探测数据的时间;依据所述时间,确定所述其它节点的网络延迟状态,并向所述服务器发送所述其它节点的网络延迟状态。
53.一种cdn通信系统,包括:
54.配置中心和节点;所述节点的数量为多个;
55.其中,所述配置中心用于:依据所述节点发送的节点信息,生成所述节点的配置信息;所述配置信息包括路由信息;所述路由信息用于指示所述节点与其它节点之间的通信链路;在接收到所述节点发送的访问请求的情况下,将所述配置信息发送给所述节点,触发所述节点依据所述配置信息更新自身的配置,并依据更新后的所述配置,配置用于与所述其它节点进行通信交互的通信协议;
56.所述节点用于:获取自身的节点信息;将所述节点信息发送给所述配置中心,并定时访问所述配置中心,获得所述配置中心基于所述节点信息生成的配置信息;所述配置信息包括路由信息;所述路由信息用于指示自身与其它节点之间的通信链路;依据所述配置信息更新自身的配置;依据更新后的所述配置,配置用于与所述其它节点进行通信交互的通信协议;在接收到通信指令的情况下,调用预先创建的虚拟网络接口,按照所述通信协议向所述其它节点发送所述通信指令所示的用户数据。
57.本技术提供的技术方案,客户端将节点的节点信息发送给服务器,并访问服务器,获得服务器基于节点信息生成的配置信息。其中,配置信息包括路由信息,路由信息用于指示节点与其它节点之间的通信链路。客户端依据配置信息更新节点的配置,并依据更新后的配置,为节点配置用于与其它节点进行通信交互的通信协议。在接收到通信指令的情况下,客户端控制节点调用预先创建的虚拟网络接口,按照通信协议向其它节点,发送通信指令所示的用户数据。利用本技术所示方案,各个节点的配置信息均由服务器统一下发,且各个节点之间直接通过通信协议进行通信交互,形成一个基于通信协议进行通信交互的内网,无需通过公网进行通信交互,从而有效提高cdn通信的稳定性。
附图说明
58.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
59.图1a为本技术实施例提供的一种cdn通信系统的架构示意图;
60.图1b为本技术实施例提供的一种信息交互流程的示意图;
61.图1c为本技术实施例提供的另一种信息交互流程的示意图;
62.图2为本技术实施例提供的又一种信息交互流程的示意图;
63.图3为本技术实施例提供的一种cdn通信方法的示意图;
64.图4为本技术实施例提供的另一种cdn通信方法的示意图;
65.图5为本技术实施例提供的一种服务器的架构示意图;
66.图6为本技术实施例提供的一种客户端的架构示意图。
具体实施方式
67.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
68.如图1a所示,为本技术实施例提供的一种cdn通信系统的架构示意图,包括:
69.配置中心100和多个节点200。
70.在本技术实施例中,每个节点200均能与配置中心100通信,且各个节点200之间可通过通信协议直接进行通信交互。
71.具体的,配置中心100主要用于承担以下用途:
72.1、收集节点的节点信息,节点信息包括但不限于为:节点的主机名、公网ip、内网ip、用户数据的加密方式和解密方式、设备配置等。
73.2、将节点信息存储至数据库中。
74.3、依据节点信息,生成节点的配置信息,并将配置信息发送给与节点对应的节点。
75.节点200主要用于承担以下用途:
76.1、向配置中心发送自身的节点信息。
77.2、访问配置中心,以获取配置中心基于节点信息生成的配置信息,并按照配置信息更新自身的配置。
78.3、通过预先创建的虚拟网络接口(例如tap接口),与其它节点进行心跳探测(即下述提及s115和s116),在心跳探测正常的情况下,确定自身与其它节点之间的通信链路正常。
79.4、将配置信息所示的路由信息,写入系统路由表中。
80.5、在与其它节点进行通信交互时,采用配置信息所示的加密方式对用户数据进行加密。
81.6、利用配置信息所示的解密方式,对其它节点发送的用户数据密文进行解密。
82.需要说明的是,配置中心和节点之间的信息交互流程,如图1b和图1c所示,包括如下步骤:
83.s101:节点获取自身的节点信息。
84.其中,节点信息包括但不限于主机名、公网ip、内网ip、设备配置、操作系统的通用唯一识别码、操作系统所在根分区的识别码信息、其它ip。
85.s102:节点按照预设加密方式,对节点信息进行加密,得到节点信息密文。
86.其中,预设加密方式可以为rc4加密方式,节点信息的数据格式可以为json格式。
87.s103:节点向配置中心发送节点信息密文。
88.s104:配置中心按照预设解密方式,对节点信息密文进行解密,得到节点信息。
89.s105:配置中心对节点信息进行校验。
90.其中,对节点信息进行校验的具体过程,为本领域技术人员所熟悉的公知常识,这里不再赘述。
91.s106:在确定节点信息通过校验之后,配置中心依据节点信息,生成节点的配置信息。
92.其中,配置信息包括路由信息、用户数据的加密方式和解密方式。
93.一般来讲,路由信息用于指示节点所处节点与其它节点之间的通信链路。
94.s107:配置中心将节点信息和配置信息存储到数据库中。
95.s108:节点向配置中心发送访问请求。
96.s109:在接收到访问请求之后,配置中心按照预设加密方式,对配置信息进行加密,得到配置信息密文。
97.其中,配置中心所使用的预设加密方式与节点所使用的预设加密方式是相同的,并且,配置信息的数据格式与节点信息的数据格式也相同。
98.s110:配置中心将配置信息密文发送给节点。
99.s111:节点按照预设解密方式,对配置信息密文进行解密,得到配置信息。
100.s112:节点将自身的配置与配置信息进行比对。
101.s113:在自身的配置与配置信息不相同的情况下,节点依据配置信息更新自身的配置。
102.其中,节点的配置预先设置有一个hash值,配置信息也有设置有一个hash值,对比两者的hash值,若两者的hash值相同,则确定节点的配置与配置信息相同,节点无需更新自身的配置,否则确定节点的配置与配置信息不相同,节点需要更新自身的配置。
103.s114:节点依据更新后的配置,配置用于与其它节点进行通信交互的通信协议。
104.其中,本技术所示的通信协议具体为用户数据报协议(user datagram protocol,udp)。具体的,通信协议的格式可参见表1所示。
105.表1
[0106][0107]
在表1中,源端口和目的端口,均为标准的服务端口,各自的端口号的取值范围均为0

65535。udp长度包括:header长度 totp校验码长度 加密类型长度 加密数据长度。udp
校验和包括伪头部的校验和、头部的校验和和通信数据的校验和。totp校验码,即时序校验码,用于判断客户端是否合法。加密类型用于指示客户端所采用的加密类型代码,具体的,1=aes

128、2=aes

192,3=aes

256。
[0108]
s115:节点调用预先创建的虚拟网络接口,按照通信协议定时向其它节点发送探测数据,并记录其它节点响应探测数据的时间。
[0109]
s116:节点依据时间,确定其它节点的网络延迟状态。
[0110]
s117:节点向配置中心发送其它节点的网络延迟状态。
[0111]
s118:在接收到通信指令的情况下,节点调用预先创建的虚拟网络接口,按照通信协议向其它节点,发送通信指令所示的用户数据。
[0112]
其中,节点调用预先创建的虚拟网络接口,按照通信协议向其它节点,发送通信指令所示的用户数据的具体过程,可参见图2所示的步骤、以及步骤的解释说明。
[0113]
基于上述s101

s118所示流程,本实施例所示的cdn通信系统能够具备以下有益效果:
[0114]
1、避免使用公网ip的使用。公网ip抖动、更换等不良现象,均不再影响各个节点之间的通信,从而有效提高cdn通信的稳定性。
[0115]
2、实现去中心化,降低对中心点(即公网服务器)的依赖,cdn中的各个节点通过通信协议直接进行通信交互,不仅节约带宽成本,还能保证通信的稳定性。
[0116]
3、由配置中心统一生成各个节点的配置信息,新加入的节点进行自动扩展。同时,使配置中心与节点实现功能隔离,当配置中心出现问题时,各个节点之间依然可保持通信、且稳定性较强。
[0117]
4、节点可根据用户需求为用户数据配置多种加密方式。解决不同架构的设备性能区别所带来的问题。
[0118]
5、支持路由信息的自定义,满足各个节点之间的通信链路的定制需求。
[0119]
综上所述,各个节点的配置信息均由配置中心统一下发,且各个节点之间直接通过通信协议进行通信交互,形成一个基于通信协议进行通信交互的内网,无需通过公网进行通信交互,从而有效提高cdn通信的稳定性。此外,节点与配置中心之间的交互信息均进行加密,各个节点之间的交互数据也同样进行加密,从而能够有效提高cdn通信的安全性。
[0120]
如图2所示,为本技术实施例提供的一种节点与其它节点之间信息交互过程的示意图,包括如下步骤:
[0121]
s201:预先创建一个虚拟网络接口。
[0122]
s202:将自身与其它节点之间的通信链路,写入系统路由表中。
[0123]
s203:按照用户数据的加密方式,对通信指令所示的用户数据进行加密,得到用户数据密文。
[0124]
其中,用户数据的加密方式通过解析自身的配置所得到,即配置中心发送的配置信息中包含有用户数据的加密方式,当然,配置信息还包含有用户数据的解密方式。
[0125]
s204:依据系统路由表和用户数据密文,配置通信协议。
[0126]
s205:调用虚拟网络接口,按照通信协议向其它节点发送用户数据密文,触发其它节点按照解密方式,对用户数据密文进行解密,得到用户数据。
[0127]
综上所述,利用本实施例所述方案,各个节点之间可通过通信协议进行直接交互,
无需通过公网进行通信交互,从而有效提高cdn通信的稳定性。此外,各个节点之间的交互数据也同样进行加密,从而能够有效提高cdn通信的安全性。
[0128]
如图3所示,为本技术实施例提供的一种cdn通信方法的示意图,应用于服务器,包括如下步骤:
[0129]
s301:依据节点发送的节点信息,生成节点的配置信息。
[0130]
其中,配置信息包括路由信息,路由信息用于指示节点与其它节点之间的通信链路。
[0131]
s302:在接收到节点发送的访问请求的情况下,将配置信息发送给节点,触发节点依据配置信息更新节点的配置,并依据更新后的配置,配置用于与其它节点进行通信交互的通信协议。
[0132]
综上所述,各个节点的配置信息均由配置中心统一下发,且各个节点之间直接通过通信协议进行通信交互,形成一个基于通信协议进行通信交互的内网,无需通过公网进行通信交互,从而有效提高cdn通信的稳定性。
[0133]
如图4所示,为本技术实施例提供的另一种cdn通信方法的示意图,应用于客户端,包括如下步骤:
[0134]
s401:将节点的节点信息发送给服务器。
[0135]
s402:访问服务器,获得服务器基于节点信息生成的配置信息。
[0136]
其中,配置信息包括路由信息,路由信息用于指示节点与其它节点之间的通信链路。
[0137]
s403:依据配置信息更新节点的配置。
[0138]
s404:依据更新后的配置,为节点配置用于与其它节点进行通信交互的通信协议。
[0139]
s405:在接收到通信指令的情况下,控制节点调用预先创建的虚拟网络接口,按照通信协议向其它节点,发送通信指令所示的用户数据。
[0140]
综上所述,各个节点的配置信息均由服务器统一下发,且各个节点之间直接通过通信协议进行通信交互,形成一个基于通信协议进行通信交互的内网,无需通过公网进行通信交互,从而有效提高cdn通信的稳定性。
[0141]
与上述本技术实施例提供的cdn通信方法相对应,本技术还对应提供了一种服务器和客户端。
[0142]
如图5所示,为本技术实施例提供的一种服务器的架构示意图,包括:
[0143]
生成单元501,用于依据节点发送的节点信息,生成节点的配置信息;配置信息包括路由信息;路由信息用于指示节点与其它节点之间的通信链路。
[0144]
其中,生成单元501具体用于:获取节点发送的节点信息密文;按照预设解密方式,对节点信息密文进行解密,得到节点信息;对节点信息进行校验;在确定节点信息通过校验之后,依据节点信息,生成节点的配置信息,并将配置信息和节点信息存储到数据库中;按照预设加密方式,对配置信息进行加密,得到配置信息密文。
[0145]
发送单元502,用于在接收到节点发送的访问请求的情况下,将配置信息发送给节点,触发节点依据配置信息更新节点的配置,并依据更新后的配置,配置用于与其它节点进行通信交互的通信协议。
[0146]
其中,发送单元502还用于:将配置信息密文发送给节点,触发节点按照预设解密
方式,对配置信息密文进行解密,得到配置信息。
[0147]
综上所述,各个节点的配置信息均由配置中心统一下发,且各个节点之间直接通过通信协议进行通信交互,形成一个基于通信协议进行通信交互的内网,无需通过公网进行通信交互,从而有效提高cdn通信的稳定性。
[0148]
如图6所示,为本技术实施例提供的一种客户端的架构示意图,包括:
[0149]
发送单元601,用于将节点的节点信息发送给服务器。
[0150]
访问单元602,用于访问服务器,获得服务器基于节点信息生成的配置信息;配置信息包括路由信息;路由信息用于指示节点与其它节点之间的通信链路。
[0151]
其中,配置信息还包括用户数据的加密方式和解密方式。
[0152]
更新单元603,用于依据配置信息更新节点的配置。
[0153]
配置单元604,用于依据更新后的配置,为节点配置用于与其它节点进行通信交互的通信协议。
[0154]
通信单元605,用于在接收到通信指令的情况下,控制节点调用预先创建的虚拟网络接口,按照通信协议向其它节点,发送通信指令所示的用户数据。
[0155]
其中,通信单元605具体用于:控制节点预先创建一个虚拟网络接口;将节点与其它节点之间的通信链路,写入预设的系统路由表中;控制节点按照加密方式,对通信指令所示的用户数据进行加密,得到用户数据密文;依据系统路由表和用户数据密文,为节点配置通信协议;控制节点调用虚拟网络接口,按照通信协议向其它节点发送用户数据密文,触发其它节点按照解密方式,对用户数据密文进行解密,得到用户数据。
[0156]
探测单元606,用于控制节点调用预先创建的虚拟网络接口,按照通信协议定时向其它节点发送探测数据,并记录其它节点响应探测数据的时间;依据时间,确定其它节点的网络延迟状态,并向服务器发送其它节点的网络延迟状态。
[0157]
综上所述,各个节点的配置信息均由服务器统一下发,且各个节点之间直接通过通信协议进行通信交互,形成一个基于通信协议进行通信交互的内网,无需通过公网进行通信交互,从而有效提高cdn通信的稳定性。
[0158]
本技术实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本技术实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0159]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
[0160]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一
致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜