CN113810463B - 一种下发cdn服务器配置方法及系统 - Google Patents
一种下发cdn服务器配置方法及系统 Download PDFInfo
- Publication number
- CN113810463B CN113810463B CN202110902345.6A CN202110902345A CN113810463B CN 113810463 B CN113810463 B CN 113810463B CN 202110902345 A CN202110902345 A CN 202110902345A CN 113810463 B CN113810463 B CN 113810463B
- Authority
- CN
- China
- Prior art keywords
- configuration
- configuration file
- cdn server
- server
- rpc
- 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
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012544 monitoring process Methods 0.000 claims abstract description 8
- 230000000977 initiatory effect Effects 0.000 claims abstract description 7
- 230000000694 effects Effects 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 10
- 239000003795 chemical substances by application Substances 0.000 description 12
- 238000013461 design Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种下发CDN服务器配置方法及系统,包括:为内容分发网络CDN内服务器生成相应的配置文件和对应于配置文件的配置任务;通过唯一id标识该CDN服务器的配置文件,将配置文件唯一id按主机名发布到etcd存储系统的第一目录内;自etcd存储系统获取Subscriber地址作为rpc服务端地址;在获取到rpc服务端地址后监听etcd的第一目录;当在第一目录内监听到新下发的配置文件唯一id时,获取新下发的配置文件唯一id;使用rpc服务端地址作为目标地址向订阅者Subscriber发起rpc请求;Subscriber根据rpc请求自mysql数据库中获取该配置文件唯一id相应的配置任务;执行Subscriber获取的配置任务以对CDN服务器的配置更新。自动操作、过程简单,所以配置文件下发速度快。
Description
技术领域
本发明涉及CDN配置下发,具体计及一种下发CDN服务器配置方法及系统。
背景技术
因公司业务变更、idc割接等各种因素,导致需要经常对服务器的配置变更。在现有技术中,经常使用开源软件puppet,中心运维人员手动编写puppet模板文件,更新业务配置文件,然后手动执行agent程序去拉取puppet任务来判断是否要更新配置。所以存在人为操作缓慢、过程繁琐,导致更新配置效率低下的问题。
发明内容
本发明实施例提供一种下发CDN服务器配置方法及系统,自动操作、过程简单,所以配置文件下发速度快。
为达上述目的,一方面,本发明实施例提供一种下发CDN服务器配置方法,包括:
为内容分发网络CDN内服务器生成相应的配置文件和对应于配置文件的配置任务,并将配置文件和对应于配置文件的配置任务写入mysql数据库;通过唯一id标识该CDN服务器的配置文件,将配置文件唯一id按主机名发布到etcd存储系统的第一目录内;
自etcd存储系统获取Subscriber地址作为rpc服务端地址;
在获取到rpc服务端地址后监听etcd存储系统的第一目录;当在第一目录内监听到新下发的配置文件唯一id时,获取新下发的配置文件唯一id;使用rpc服务端地址作为目标地址向订阅者Subscriber发起rpc请求,所述rpc请求携带该配置文件唯一id;
Subscriber根据rpc请求自mysql数据库中获取该配置文件唯一id相应的配置任务;
执行Subscriber获取的配置任务以对CDN服务器的配置更新。
另一方面,本发明实施例提供一种下发CDN服务器配置系统,包括:
配置文件设置单元,用于为内容分发网络CDN内服务器生成相应的配置文件和对应于配置文件的配置任务,并将配置文件和对应于配置文件的配置任务写入mysql数据库;通过唯一id标识该CDN服务器的配置文件,将配置文件唯一id按主机名发布到etcd存储系统的第一目录内;
配置发现单元,用于自etcd存储系统获取Subscriber地址作为rpc服务端地址;在获取到rpc服务端地址后监听etcd存储系统的第一目录;当在第一目录内监听到新下发的配置文件唯一id时,获取新下发的配置文件唯一id;使用rpc服务端地址作为目标地址向订阅者Subscriber发起rpc请求,所述rpc请求携带该配置文件唯一id;
订阅者Subscriber,用于根据rpc请求自mysql数据库中获取该配置文件唯一id相应的配置任务;
配置执行单元,用于执行Subscriber获取的配置任务以对CDN服务器的配置更新。
上述技术方案具有如下有益效果:自动操作、过程简单,配置文件下发速度快。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种下发CDN服务器配置方法的流程图;
图2是本发明实施例的一种下发CDN服务器配置系统的结构图;
图3是本发明实施例的另一种下发CDN服务器配置系统的架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,结合本发明的实施例,提供一种下发CDN服务器配置方法,包括:
S101:为内容分发网络CDN内服务器生成相应的配置文件和对应于配置文件的配置任务,并将配置文件和对应于配置文件的配置任务写入mysql数据库;通过唯一id标识该CDN服务器的配置文件,将配置文件唯一id按主机名发布到etcd存储系统的第一目录内;
S102:自etcd存储系统获取Subscriber地址作为rpc服务端地址;在获取到rpc服务端地址后监听etcd存储系统的第一目录;当在第一目录内监听到新下发的配置文件唯一id时,获取新下发的配置文件唯一id;使用rpc服务端地址作为目标地址向订阅者Subscriber发起rpc请求,所述rpc请求携带该配置文件唯一id;
S103:Subscriber根据rpc请求自mysql数据库中获取该配置文件唯一id相应的配置任务;
S104:执行Subscriber获取的配置任务以对CDN服务器的配置更新。
优选地,在步骤101中,所述为内容分发网络CDN服务器生成相应的配置文件和对应于配置文件的配置任务,具体包括:
S1011:设置CDN服务器的配置文件模板、设置配置文件模板内变量的调用,根据CDN服务器的主机名调用配置文件模板,根据配置文件模板内变量填入相应的变量值,生成该CDN服务器的配置文件,并设定该CDN服务器的配置文件的任务状态为准备下发;
S1012:为该CDN服务器的配置文件生成相应的配置任务,所述配置任务包括:配置文件唯一id、CDN服务器的主机名、配置文件的任务状态、配置文件的创建时间、配置文件模板名称、配置文件的具体内容、以及配置文件生效所需的命令。
优选地,还包括:
S105:多个订阅者Subscriber启动时将自己的地址分别写入到etcd存储系统的第二目录内;
在步骤102中,所述自etcd存储系统获取Subscriber地址作为rpc服务端地址,具体包括:
获取etcd存储系统的第二目录内的所有Subscriber地址;根据负载均衡算法自所有Subscriber地址中进行选择,将满足负载均衡预设要求的Subscriber地址内、指标条件第一的Subscriber地址作为rpc服务端地址,所述rpc服务端地址用于生成rpc请求。
优选地,步骤104具体包括:
S1041:将Subscriber获取的配置任务里配置文件的创建时间与CDN服务器当前配置的创建时间进行比对;
S1042:当该配置文件的创建时间小于CDN服务器当前配置的创建时间时,不对CDN服务器的配置更新,并直接上报成功;
S1043:当该配置文件的创建时间大于CDN服务器当前配置的创建时间时,执行Subscriber获取的配置任务中配置文件生效所需的命令,通过加载该配置文件实现对相应CDN服务器的配置更新;以及在执行命令完成后上报成功,或者在执行命令失败后上报失败。
优选地,还包括:
S105:在完成对相应CDN服务器的配置更新之后,将该CDN服务器当前版本配置文件的唯一id、配置文件模板的名称、配置文件的创建时间记录到本地硬盘和内存。
如图2所示,结合本发明的实施例,提供一种下发CDN服务器配置系统,包括:
配置文件设置单元21,用于为内容分发网络CDN内服务器生成相应的配置文件和对应于配置文件的配置任务,并将配置文件和对应于配置文件的配置任务写入mysql数据库;通过唯一id标识该CDN服务器的配置文件,将配置文件唯一id按主机名发布到etcd存储系统的第一目录内;
配置发现单元22,用于自etcd存储系统获取Subscriber地址作为rpc服务端地址;在获取到rpc服务端地址后监听etcd存储系统的第一目录;当在第一目录内监听到新下发的配置文件唯一id时,获取新下发的配置文件唯一id;使用rpc服务端地址作为目标地址向订阅者Subscriber发起rpc请求,所述rpc请求携带该配置文件唯一id;
订阅者Subscriber23,用于根据rpc请求自mysql数据库中获取该配置文件唯一id相应的配置任务;
配置执行单元24,用于执行Subscriber获取的配置任务以对CDN服务器的配置更新。
优选地,所述配置文件设置单元21包括:
配置文件生成子单元211,用于设置CDN服务器的配置文件模板、设置配置文件模板内变量的调用,根据CDN服务器的主机名调用配置文件模板,根据配置文件模板内变量填入相应的变量值,生成该CDN服务器的配置文件,并设定该CDN服务器的配置文件的任务状态为准备下发;
配置任务生成子单元212,用于为该CDN服务器的配置文件生成相应的配置任务,所述配置任务包括:配置文件唯一id、CDN服务器的主机名、配置文件的任务状态、配置文件的创建时间、配置文件模板名称、配置文件的具体内容、以及配置文件生效所需的命令。
优选地,所述配置发现单元22包括服务端地址筛选子单元221,其中:
所述订阅者Subscriber23,还用于多个订阅者Subscriber启动时将自己的地址分别写入到etcd存储系统的第二目录内;
所述服务端地址筛选子单元221,用于获取etcd存储系统的第二目录内的所有Subscriber地址;根据负载均衡算法自所有Subscriber地址中进行选择,将满足负载均衡预设要求的Subscriber地址内、指标条件第一的Subscriber地址作为rpc服务端地址,所述rpc服务端地址用于生成rpc请求。
优选地,所述配置执行单元24包括:
比对子单元241,用于将Subscriber获取的配置任务里配置文件的创建时间与CDN服务器当前配置的创建时间进行比对;
第一执行子单元242,用于当该配置文件的创建时间小于CDN服务器当前配置的创建时间时,不对CDN服务器的配置更新,并直接上报成功;
第二执行子单元243,用于当该配置文件的创建时间大于CDN服务器当前配置的创建时间时,执行Subscriber获取的配置任务中配置文件生效所需的命令,通过加载该配置文件实现对相应CDN服务器的配置更新;以及在执行命令完成后上报成功,或者在执行命令失败后上报失败。
优选地,还包括:
存储单元25,用于在完成对相应CDN服务器的配置更新之后,将该CDN服务器当前版本配置文件的唯一id、配置文件模板的名称、配置文件的创建时间记录到本地硬盘和内存。
本发明实施例所取得有益效果如下:
1.自动操作、过程简单,所以配置文件下发速度快,采用分布式部署的方式,每个客户端agent都可以自己独立选择网络更好的节点,保证了网络链路;
2.整个系统无核心单点,易运维,易部署,可水平扩展。
下面结合具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。
本发明为CDN服务器配置下发的一种方法,本发明所要解决的技术问题是:通过采取全新的技术考量和全新的方案设计,使操作更简单,同时把puppet使用配置模板的方式变更为模板+变量的方式(前端网页调用api),并且各个环节都可以采用分布式的方式,保证高可用和更快的查询和操作效率。本发明技术方案的架构图如图3所示,具体如下:
1.配置生成
1)技术人员通过编写配置文件模板,以及设定好的模板变量(变量是模板内的变量)的调用(变量的调用过程是通过解析模板,判断变量的特殊字符拿到变量,然后给变量赋值),根据不同设备的主机名,填入变量,从而生成配置文件,并且写入mysql库中;对每个生成的配置文件设定唯一id(唯一id是已经生成好的配置文件)、以及设定任务状态为“准备下发”,mysql库中的每条数据包含id、主机名、下发状态(下发状态也是任务状态)、配置文件创建时间、模板名、具体配置文件的内容、以及要生效的命令(真实的命令)。其中,配置文件的内容是指在调用配置文件模板对变量进行赋值后生成的内容;根据配置文件所要形成的生效命令是指通过执行生效命令达到触发对配置文件进行更新的目的,比如重启或者重载程序。
2)当技术人员通过api(通过页面点击下发按钮)执行下发时,把需要下发配置文件的唯一id按主机名发布到etcd存储系统中,这样的存储方式,当客户端(agent)拿到配置文件的唯一id后能够通过subscriber获取配置文件,通过监听不同目录路径下的数据变化实现获取变更的配置文件。其中,etcd保存的路径为/task/主机名/任务id,数据举例如/task/agent2/101。通过api与etcd建立连接达到了发布任务id的目的。
2.配置发现
1)Subscriber(订阅者程序)作用是给agent提供rpc服务,读取mysql的内容。rpc是subscriber程序的一部分,subscriber启动时rpc一起启动,程序启动时把自己的地址写入到etcd的一个目录下。agent通过读取etcd的这个目录的内容选择一个链路较好的地址,这样subscriber就实现了分布式部署,实现高可用。即通过subscriber与etcd建立连接达到了服务发现、实现高可用。
2)配置发现单元:当agent(客户端程序,真正使用配置文件的服务器上部署)启动时,首先与etcd建立连接,在etcd中获取到所有的subscriber地址,然后通过ping所有的地址等方式获取最好的rpc地址(ping只是其中一种选择,还有其他方式,如轮询、哈希、权重、根据cpu空闲选择等方式的某一种)。rpc的地址在这是等于subscriber的地址的,最好的rpc地址是根据不同负载均衡算法得出来的,例如首先,比如可以采用ping、轮询、哈希、权重得到空闲rpc地址,也可以根据cpu空闲,或者网络延迟(比如网络延迟A为30,B为50,C为80;则会选择A)等。
只有拿到对应的rpc地址才能发送rpc请求。拿到rpc的目标地址后,监听api写入任务id的目录,当有任务时,把任务id拿下来,然后发起rpc请求到subscriber,subscriber通过请求body中的id去mysql中获取对应配置,body是rpc请求携带的数据。
也就是,agent与etcd建立了两条连接,一是获取api发布的任务id,二是获取subscriber的地址后建立rpc。
3.任务执行(配置执行单元)
1)agent拿到任务(subscriber的作用只是agent获取库中任务的代理,真正使用这个任务的是agent)之后,首先判断任务的创建时间戳是不是比当前该配置的时间戳小,如果小则不更新,直接上报成功,如果大则执行生效命令更新,这样就保证了配置文件是最新版本,更新完成后记录当前版本id、模板名、创建时间到本地硬盘和内存,完成后上报成功,如果执行生效命令失败,则上报任务失败。
4.前端展示
1)技术人员通过前端页面api调用,获取任务执行状态判断任务是否成功。虽然库里已经有任务状态:成功或失败;但是当遇到失败的时候,技术人员还需要把失败的任务根据不同原因手动处理。
综上,本发明能够实现.通过etcd发布任务id,根据id读取库中数据,以及,agent通过rpc服务的方式获取自身需要的配置。
本发明所取得有益效果如下:
1.自动操作、过程简单,所以配置文件下发速度快,采用分布式部署的方式,每个agent都可以自己独立选择网络更好的节点,保证了网络链路;
2.整个系统无核心单点,易运维,易部署,可水平扩展。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种下发CDN服务器配置方法,其特征在于,包括:
为内容分发网络CDN服务器生成相应的配置文件和对应于配置文件的配置任务,并将配置文件和对应于配置文件的配置任务写入mysql数据库;通过唯一id标识该CDN服务器的配置文件,将配置文件唯一id按主机名发布到etcd存储系统的第一目录内;
自etcd存储系统获取Subscriber地址作为rpc服务端地址;
在获取到rpc服务端地址后监听etcd存储系统的第一目录;当在第一目录内监听到新下发的配置文件唯一id时,获取新下发的配置文件唯一id;使用rpc服务端地址作为目标地址向订阅者Subscriber发起rpc请求,所述rpc请求携带该配置文件唯一id;
Subscriber根据rpc请求自mysql数据库中获取该配置文件唯一id相应的配置任务;
执行Subscriber获取的配置任务以对CDN服务器的配置更新。
2.根据权利要求1所述的下发CDN服务器配置方法,其特征在于,所述为内容分发网络CDN服务器生成相应的配置文件和对应于配置文件的配置任务,具体包括:
设置CDN服务器的配置文件模板、设置配置文件模板内变量的调用,根据CDN服务器的主机名调用配置文件模板,根据配置文件模板内变量填入相应的变量值,生成该CDN服务器的配置文件,并设定该CDN服务器的配置文件的任务状态为准备下发;
为该CDN服务器的配置文件生成相应的配置任务,所述配置任务包括:配置文件唯一id、CDN服务器的主机名、配置文件的任务状态、配置文件的创建时间、配置文件模板名称、配置文件的具体内容、以及配置文件生效所需的命令。
3.根据权利要求1所述的下发CDN服务器配置方法,其特征在于,还包括:
多个订阅者Subscriber启动时将自己的地址分别写入到etcd存储系统的第二目录内;
所述自etcd存储系统获取Subscriber地址作为rpc服务端地址,具体包括:
获取etcd存储系统的第二目录内的所有Subscriber地址;根据负载均衡算法自所有Subscriber地址中进行选择,将满足负载均衡预设要求的Subscriber地址内、指标条件第一的Subscriber地址作为rpc服务端地址,所述rpc服务端地址用于生成rpc请求。
4.根据权利要求2所述的下发CDN服务器配置方法,其特征在于,所述执行Subscriber获取的配置任务以对CDN服务器的配置更新,具体包括:
将Subscriber获取的配置任务里配置文件的创建时间与CDN服务器当前配置的创建时间进行比对;
当该配置文件的创建时间小于CDN服务器当前配置的创建时间时,不对CDN服务器的配置更新,并直接上报成功;
当该配置文件的创建时间大于CDN服务器当前配置的创建时间时,执行Subscriber获取的配置任务中配置文件生效所需的命令,通过加载该配置文件实现对相应CDN服务器的配置更新;以及在执行命令完成后上报成功,或者在执行命令失败后上报失败。
5.根据权利要求4所述的下发CDN服务器配置方法,其特征在于,还包括:
在完成对相应CDN服务器的配置更新之后,将该CDN服务器当前版本配置文件的唯一id、配置文件模板的名称、配置文件的创建时间记录到本地硬盘和内存。
6.一种下发CDN服务器配置系统,其特征在于,包括:
配置文件设置单元,用于为内容分发网络CDN服务器生成相应的配置文件和对应于配置文件的配置任务,并将配置文件和对应于配置文件的配置任务写入mysql数据库;通过唯一id标识该CDN服务器的配置文件,将配置文件唯一id按主机名发布到etcd存储系统的第一目录内;
配置发现单元,用于自etcd存储系统获取Subscriber地址作为rpc服务端地址;在获取到rpc服务端地址后监听etcd存储系统的第一目录;当在第一目录内监听到新下发的配置文件唯一id时,获取新下发的配置文件唯一id;使用rpc服务端地址作为目标地址向订阅者Subscriber发起rpc请求,所述rpc请求携带该配置文件唯一id;
订阅者Subscriber,用于根据rpc请求自mysql数据库中获取该配置文件唯一id相应的配置任务;
配置执行单元,用于执行Subscriber获取的配置任务以对CDN服务器的配置更新。
7.根据权利要求6所述的下发CDN服务器配置系统,其特征在于,所述配置文件设置单元包括:
配置文件生成子单元,用于设置CDN服务器的配置文件模板、设置配置文件模板内变量的调用,根据CDN服务器的主机名调用配置文件模板,根据配置文件模板内变量填入相应的变量值,生成该CDN服务器的配置文件,并设定该CDN服务器的配置文件的任务状态为准备下发;
配置任务生成子单元,用于为该CDN服务器的配置文件生成相应的配置任务,所述配置任务包括:配置文件唯一id、CDN服务器的主机名、配置文件的任务状态、配置文件的创建时间、配置文件模板名称、配置文件的具体内容、以及配置文件生效所需的命令。
8.根据权利要求6所述的下发CDN服务器配置系统,其特征在于,所述配置发现单元包括服务端地址筛选子单元,其中:
所述订阅者Subscriber,还用于多个订阅者Subscriber启动时将自己的地址分别写入到etcd存储系统的第二目录内;
所述服务端地址筛选子单元,用于获取etcd存储系统的第二目录内的所有Subscriber地址;根据负载均衡算法自所有Subscriber地址中进行选择,将满足负载均衡预设要求的Subscriber地址内、指标条件第一的Subscriber地址作为rpc服务端地址,所述rpc服务端地址用于生成rpc请求。
9.根据权利要求7所述的下发CDN服务器配置系统,其特征在于,所述配置执行单元包括:
比对子单元,用于将Subscriber获取的配置任务里配置文件的创建时间与CDN服务器当前配置的创建时间进行比对;
第一执行子单元,用于当该配置文件的创建时间小于CDN服务器当前配置的创建时间时,不对CDN服务器的配置更新,并直接上报成功;
第二执行子单元,用于当该配置文件的创建时间大于CDN服务器当前配置的创建时间时,执行Subscriber获取的配置任务中配置文件生效所需的命令,通过加载该配置文件实现对相应CDN服务器的配置更新;以及在执行命令完成后上报成功,或者在执行命令失败后上报失败。
10.根据权利要求8所述的下发CDN服务器配置系统,其特征在于,还包括:
存储单元,用于在完成对相应CDN服务器的配置更新之后,将该CDN服务器当前版本配置文件的唯一id、配置文件模板的名称、配置文件的创建时间记录到本地硬盘和内存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110902345.6A CN113810463B (zh) | 2021-08-06 | 2021-08-06 | 一种下发cdn服务器配置方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110902345.6A CN113810463B (zh) | 2021-08-06 | 2021-08-06 | 一种下发cdn服务器配置方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113810463A CN113810463A (zh) | 2021-12-17 |
CN113810463B true CN113810463B (zh) | 2024-03-05 |
Family
ID=78942800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110902345.6A Active CN113810463B (zh) | 2021-08-06 | 2021-08-06 | 一种下发cdn服务器配置方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113810463B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2569903A2 (en) * | 2010-05-13 | 2013-03-20 | Huawei Technologies Co., Ltd. | System, apparatus for content delivery for internet traffic and methods thereof |
CN105144725A (zh) * | 2012-12-21 | 2015-12-09 | 阿卡麦科技公司 | 可伸缩的内容交付网络请求处理机制 |
CN112039726A (zh) * | 2020-08-25 | 2020-12-04 | 新浪网技术(中国)有限公司 | 一种内容分发网络cdn设备的数据监控方法及系统 |
CN112486544A (zh) * | 2020-12-16 | 2021-03-12 | 网宿科技股份有限公司 | 一种软件升级方法及装置 |
CN112804289A (zh) * | 2020-12-17 | 2021-05-14 | 航天信息股份有限公司 | 一种资源同步方法、装置、设备及存储介质 |
-
2021
- 2021-08-06 CN CN202110902345.6A patent/CN113810463B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2569903A2 (en) * | 2010-05-13 | 2013-03-20 | Huawei Technologies Co., Ltd. | System, apparatus for content delivery for internet traffic and methods thereof |
CN105144725A (zh) * | 2012-12-21 | 2015-12-09 | 阿卡麦科技公司 | 可伸缩的内容交付网络请求处理机制 |
CN112039726A (zh) * | 2020-08-25 | 2020-12-04 | 新浪网技术(中国)有限公司 | 一种内容分发网络cdn设备的数据监控方法及系统 |
CN112486544A (zh) * | 2020-12-16 | 2021-03-12 | 网宿科技股份有限公司 | 一种软件升级方法及装置 |
CN112804289A (zh) * | 2020-12-17 | 2021-05-14 | 航天信息股份有限公司 | 一种资源同步方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113810463A (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105099988B (zh) | 用于支持灰度发布的方法、访问方法以及装置和系统 | |
EP3709603A1 (en) | Method for internet of things device to access network, apparatus, and system | |
US11249744B2 (en) | Application deployment method, apparatus, and system | |
CN112637346A (zh) | 代理方法、装置、代理服务器及存储介质 | |
CN110399267B (zh) | 一种服务器pcie设备监控方法、系统、设备及可读存储介质 | |
KR102166589B1 (ko) | 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법 및 장치, 그리고 전자 디바이스 | |
JP5753629B2 (ja) | モバイルブロードバンドデバイスを管理する方法、デバイス及びシステム | |
CN110445841B (zh) | 一种云物理机挂载云盘的方法、设备以及存储介质 | |
US20220326940A1 (en) | Service Upgrade Method, Apparatus, and System | |
CN112003963B (zh) | 一种裸金属服务器挂载卷的方法、系统、设备以及介质 | |
WO2018082079A1 (zh) | 数据对接动态管理方法及装置 | |
CN112148206A (zh) | 一种数据读写方法、装置、电子设备及介质 | |
CN109714208B (zh) | 一种设备纳入网管的方法、存储介质及电子设备 | |
CN111865676B (zh) | 配置文件的更新检查方法、装置、服务器及存储介质 | |
CN114138961A (zh) | 有声电子书的播放处理方法、计算设备及计算机存储介质 | |
CN113810463B (zh) | 一种下发cdn服务器配置方法及系统 | |
CN114296909A (zh) | 一种根据kubernetes事件的节点自动扩容缩容方法及系统 | |
CN110798358B (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 | |
CN112087327A (zh) | 信息状态获取方法和装置、存储介质和电子装置 | |
US9374437B2 (en) | Schema validation proxy | |
CN110730197B (zh) | 一种服务发现方法和系统 | |
CN112711466B (zh) | 悬挂事务巡检方法和装置、电子设备和存储介质 | |
CN113810513B (zh) | 一种弹性公网ip的配置管理方法及系统 | |
CN110851411B (zh) | 一种基于文件同步的dns动态变更系统及方法 | |
CN114356456A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230419 Address after: Room 501-502, 5/F, Sina Headquarters Scientific Research Building, Block N-1 and N-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193 Applicant after: Sina Technology (China) Co.,Ltd. Address before: 100193 7th floor, scientific research building, Sina headquarters, plot n-1, n-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193 Applicant before: Sina.com Technology (China) Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |