一种CDN配置分发网络系统的制作方法

文档序号:21926652发布日期:2020-08-21 14:47阅读:174来源:国知局
一种CDN配置分发网络系统的制作方法

本发明涉及网络配置技术领域,特别是涉及一种cdn配置分发网络系统。



背景技术:

随着it技术的发展,系统使用的技术越来越多,相关的配置文件也越来越庞大,不同的环境需要对应不同的配置项,因此增加了系统大包发布的难度,且容易出错,为了解决这个问题,需要建设统一的配置管理系统来托管配置文件。

一般配置管理系统中的所有数据都存储在一个统一的数据存储中,现有的配置管理系统由客户端和服务端组成。分布在不同地理区域的数据中心承载着数百万台服务器,每天还会向服务器推送数千个配置更改,服务器执行数万亿次配置检查是相当常见的。然而,随着基础设施发展到数百万台机器,配置管理系统就变成了瓶颈。



技术实现要素:

本发明实施例的目的在于提供一种cdn配置分发网络系统,以提高配置管理系统的效率。具体技术方案如下:

本发明实施例提供了一种cdn配置分发网络系统,包括:当前服务器、服务器;所述当前服务器为所述服务器中的主节点服务器;

所述当前目标服务器包括:配置模块,其配置为获取用户的操作指令,并将所述操作指令发送至存储模块;

存储模块,其配置为接收并根据所述控制指令处理数据库里的配置信息;并将配置信息返回给所述配置模块;

接口模块,其配置为接收所述配置模块发送的操作指令,并将所述操作指令发送至目标服务器,其中,所述目标服务器为服务器中,除所述当前服务器外的其他服务器;所述接口模块连接所述存储模块,接到操作指令后发送给存储模块由存储模块根据所述控制指令处理数据库里的配置信息;

数据库,其配置为存储所述配置信息。

可选的,包括至少多个所述接口模块,各所述接口模块与所述服务器一一对应设置,每一个服务器均对应设置有一个所述接口模块。

可选的,所述目标服务器与所述当前服务器的结构相同。

可选的,所述当前服务器中的配置模块按照预设频率向接口模块发送配置信息;接口模块将所述配置信息发送至所述目标服务器中的接口模块;所述目标服务器中的接口模块根据所述配置信息进行各自配置。

可选的,所述预设频率为1-5分钟/次。

可选的,所述数据库为数据云。

可选的,所述数据云包括预定数量的可用性区域,其中,所述预定数量范围为1-16。

可选的,所述用户通过restful协议在所述配置模块内进行控制指令写入。

可选的,所述控制指令包括:配置的添加、删除、修改中的至少一种。

本发明实施例提供的一种cdn配置分发网络系统,当前服务器、服务器;当前服务器为服务器中的主节点服务器;所述当前目标服务器包括:配置模块,其配置为获取用户的操作指令,并将所述操作指令发送至存储模块;存储模块,其配置为接收并根据所述控制指令处理数据库里的配置信息;并将配置信息返回给所述配置模块;接口模块,其配置为接收所述配置模块发送的操作指令,并将所述操作指令发送至目标服务器,其中,所述目标服务器为服务器中,除所述当前服务器外的其他服务器;所述接口模块连接所述存储模块,接到操作指令后发送给存储模块由存储模块根据所述控制指令处理数据库里的配置信息;每一个节点服务器均设置有接口模块、存储模块、配置模块,在实际实现过程中,用户通过配置模块在主节点输入配置更改时,设置在主节点的存储模块将上述配置更改的相关信息通过主节点接口模块发送至该可用性区域的其他节点的接口模块,其他模块的每一个接口模块分别接收上述配置更改,并根据上述配置更改,分别自行进行配置更换,以实现每一个节点的服务器拥有相同的配置,进而保证系统的正常运行,综上所述,采用本发明实施例所提供的cdn配置分发网络系统可以扩展到数十万个计算节点,不会将大量的计算配置集中在主服务器上,进而避免了主服务器配置系统一旦出现问题,导致整个系统瘫痪的问题,采用本发明实施例提供的cdn配置分发网络系统,可以实现横向扩展,进而可以实现将cdn配置系统分布在数百个数据中心,托管数十亿个物联网设备。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的一种cdn配置分发网络系统的模块连接图。

图2为本发明实施例提供的一种cdn配置分发网络系统的工作流程图。

图3为本发明实施例提供的一种摄像机进行配置表格。

图4为本发明实施例提供的一种磁盘插槽位置图。

图5为本发明实施例提供的一种新节点安装位置图。

图6为本发明实施例提供的一种cdn对象数据库中数据记录格式的示意图。

图7为本发明实施例提供的一种配置分发网络调节的示意图。

图8为本发明实施例提供的一种每个计算节点在cdn的存储位置示意图;

图9为本发明实施例提供的一种配置锁的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

为了提高配置管理系统的效率,本发明实施例提供了一种cdn配置分发网络系统。

实施例1

请参见图1,本发明实施例所提供的本发明实施例提供了一种cdn配置分发网络系统,包括:当前服务器、服务器;所述当前服务器为所述服务器中的主节点服务器;

所述当前目标服务器包括:配置模块,其配置为获取用户的操作指令,并将所述操作指令发送至存储模块;

存储模块,其配置为接收并根据所述控制指令处理数据库里的配置信息;并将配置信息返回给所述配置模块;

接口模块,其配置为接收所述配置模块发送的操作指令,并将所述操作指令发送至目标服务器,其中,所述目标服务器为服务器中,除所述当前服务器外的其他服务器;所述接口模块连接所述存储模块,接到操作指令后发送给存储模块由存储模块根据所述控制指令处理数据库里的配置信息;

数据库,其配置为存储所述配置信息。

具体的,本发明实施例提供的一种cdn配置分发网络系统,当前服务器、服务器;当前服务器为服务器中的主节点服务器;所述当前目标服务器包括:配置模块,其配置为获取用户的操作指令,并将所述操作指令发送至存储模块;存储模块,其配置为接收并根据所述控制指令处理数据库里的配置信息;并将配置信息返回给所述配置模块;接口模块,其配置为接收所述配置模块发送的操作指令,并将所述操作指令发送至目标服务器,其中,所述目标服务器为服务器中,除所述当前服务器外的其他服务器;所述接口模块连接所述存储模块,接到操作指令后发送给存储模块由存储模块根据所述控制指令处理数据库里的配置信息;每一个节点服务器均设置有接口模块、存储模块、配置模块,在实际实现过程中,用户通过配置模块在主节点输入配置更改时,设置在主节点的存储模块将上述配置更改的相关信息通过主节点接口模块发送至该可用性区域的其他节点的接口模块,其他模块的每一个接口模块分别接收上述配置更改,并根据上述配置更改,分别自行进行配置更换,以实现每一个节点的服务器拥有相同的配置,进而保证系统的正常运行,综上所述,采用本发明实施例所提供的cdn配置分发网络系统可以扩展到数十万个计算节点,不会将大量的计算配置集中在主服务器上,进而避免了主服务器配置系统一旦出现问题,导致整个系统瘫痪的问题,采用本发明实施例提供的cdn配置分发网络系统,可以实现横向扩展,进而可以实现将cdn配置系统分布在数百个数据中心,托管数十亿个物联网设备。

进一步的,包括至少多个所述接口模块,各所述接口模块与所述服务器一一对应设置,每一个服务器均对应设置有一个所述接口模块。

需要说明的是,在本发明实施例中,利用在一个可用性区域中自定义一个主节点服务器,并在可用性区域中的每一个服务器都设置配置系统,当主节点服务器接收到用户输入的配置信息后,主节点服务器通过设置在主节点服务器的接口模块将上述配置信息分别发送至可用性区域中的每一个服务器中,可用性区域中的每一个服务器根据上述配置信息,分别对各自系统进行重新配置,完全垫付了现有的通过主服务器分别配置其他节点服务器的方法,采用本发明实施例提供的cdn配置分发网络系统,由于在一个可用性区域内的每一个服务器中均配置有接口模块、存储模块,因此,在一个可用性区域内,每一个服务器均自己处理可用性区域内主节点服务器发送的配置信息,避免服务器拥堵所造成的服务器瘫痪。

进一步的,所述目标服务器与所述当前服务器的结构相同。

进一步的,所述当前服务器中的配置模块按照预设频率向接口模块发送配置信息;接口模块将所述配置信息发送至所述目标服务器中的接口模块;所述目标服务器中的接口模块根据所述配置信息进行各自配置。

需要说明的是,上述数据库为数据云,数据云可以由4到64个数据中心组成,以4为单位递增,每组4个数据中心有一个cdn。在每个数据中心(也称为可用性区域)内,前3台服务器(节点id0-3)承载cdn。每个云资源都与单个可用性区域有亲缘关系,但是对象也可以存储在4个可用性区域的集群中的其他3个可用性区域中;配置是基于每个az来控制的,这意味着只有资源中指定的az才能更新该资源的配置。为了广泛应用更改,有一个配置级联机制,它将配置复制到各个节点。

本发明实施例所提供的一种cdn配置分发网络系统的目标是创建一个简单的配置管理系统,扩展到数十万个计算节点,分布在数百个数据中心,托管数十亿个物联网设备。

进一步的,所述预设频率为1-5分钟/次。

进一步的,所述数据库为数据云。

进一步的,所述数据云包括预定数量的可用性区域,其中,所述预定数量范围为1-16。

进一步的,所述用户通过restful协议在所述配置模块内进行控制指令写入。

进一步的,所述控制指令包括:配置的添加、删除、修改中的至少一种。

请参见图2,本发明实施例所提供的cdn配置分发网络系统的工作流程为cdn配置分发网络包括配置模块,接口模块和存储模块,用户通过restful协议与cdn的配置模块进行交互;用户将配置的添加、删除、修改操作与配置范围一同发送给配置模块;配置模块与存储模块相连,存储模块的后端连接着数据库;存储模块根据配置模块的操作处理数据库里的配置信息,或者将配置信息返回给配置模块。

如果用户操作指令涉及异地操作,即操作对象不为本级服务器,则配置模块将操作指令发给接口模块,由接口模块负责与对应的异地服务器接口模块交互。接口模块与存储模块相连,接到操作指令后发送给存储模块由存储模块处理操作信息。

cdn的接口模块负责可用性区域内cdn的同步。一个可用性区域内定义一个主节点服务器,主节点的cdn的接口模块每分钟发送请求给其他节点的cdn接口模块,接口模块连接存储模块,得到最新配置记录的序列号,返还给主节点的cdn。当有节点返回的序列号小于主节点自身的配置记录序列号时,主节点cdn接口模块推送最新配置给该节点进行配置同步。

cdn的接口模块同时负责可用性区域之间的cdn的同步。

本发明实施例提供的一种cdn配置分发网络系统,当前服务器、服务器;当前服务器为服务器中的主节点服务器;所述当前目标服务器包括:配置模块,其配置为获取用户的操作指令,并将所述操作指令发送至存储模块;存储模块,其配置为接收并根据所述控制指令处理数据库里的配置信息;并将配置信息返回给所述配置模块;接口模块,其配置为接收所述配置模块发送的操作指令,并将所述操作指令发送至目标服务器,其中,所述目标服务器为服务器中,除所述当前服务器外的其他服务器;所述接口模块连接所述存储模块,接到操作指令后发送给存储模块由存储模块根据所述控制指令处理数据库里的配置信息;每一个节点服务器均设置有接口模块、存储模块、配置模块,在实际实现过程中,用户通过配置模块在主节点输入配置更改时,设置在主节点的存储模块将上述配置更改的相关信息通过主节点接口模块发送至该可用性区域的其他节点的接口模块,其他模块的每一个接口模块分别接收上述配置更改,并根据上述配置更改,分别自行进行配置更换,以实现每一个节点的服务器拥有相同的配置,进而保证系统的正常运行,综上所述,采用本发明实施例所提供的cdn配置分发网络系统可以扩展到数十万个计算节点,不会将大量的计算配置集中在主服务器上,进而避免了主服务器配置系统一旦出现问题,导致整个系统瘫痪的问题,采用本发明实施例提供的cdn配置分发网络系统,可以实现横向扩展,进而可以实现将cdn配置系统分布在数百个数据中心,托管数十亿个物联网设备。

实施例2

在上述实施例1的基础上,本发明实施例提供了一种以摄像机配置为例,进行详细描述。

第一步,对摄像机进行配置,请参见图3,该配置以excel格式显示了云的构建方式。所有配置元素共享一个共同的数字命理(列a-h)、共同的属性(列i-l)以及操作特定元素(列m-o),在本发明实施例中,列a-h表示对象数据库(rocksdb)中的键,其余列是对象值的一部分;底层数据库按列从左到右排序,因此可以使用标准迭代器枚举各个配置组件。

具体的,nid对象类型是计算节点(服务器)的定义。它有以下主要组成部分:az–托管服务器的数据中心;节点号–列gh(0-65535)的组合;节点类–列k,可以有值核心、合并器或外部(0、1、2);路由器到当前服务器的消息流量的ip地址。单个可用性区域最多可由65535*3台服务器组成,这些服务器执行不同的功能。例如,图形用户界面服务器不在存储设备核心中,而是整合器。外部服务器可以是受信任类别中的任何服务器,它有一个特定的已发布的ip地址,并且被云配置所知。

边界的地理区域的确定:每个物联网对象都有一个区域边界,它也对应于一个存储单位:区域内对象的数据存储在该区域的数据扇区池中;除了nid之外的所有对象都从属于一个区域。

根据地理区域,确定一个地理区域,例如一个城市的中央商务区:扇区中对象的入/最大值,因为每个物联网对象都有扇区边界。并非所有扇区都是如此,因为数据扇区只是一个共享存储池,cdn本身没有几何结构,但对于托管对象机柜的元类扇区,该规则适用。就存储而言,一个扇区,明确地说是一个扇区的丛,对应于一个磁盘驱动器。

丛是磁盘驱动器,代表复制扇区的镜像副本,或数据扇区的池成员。丛可以是两种物理格式之一:一种是符合sql的myrocks数据库;另一种是rocksdb对象数据库;丛由丛号定义,复制扇区为0-2,池扇区为1-65534。在任一时间点,丛安装在服务器上,当前安装由列n和列o标识,其中nid是当前服务器的节点标识,插槽是几个中的磁盘驱动器位置。将详细描述狭槽机构。

在本发明实施例中是摄像机。这里,使用了整个数字命理学e地区——建筑物或类似结构,如街道、花园或隧道。结构类型由k(g)定义,k(g)将其定义为室外花园摄像机,而gpu类由l(face)定义,这意味着要执行人脸检测。

f楼层–摄像机所在的楼层(1至n,-1至n)。在当前实现中,地板显示为4米;g区-对于大面积区域,该区域的哪一部分;h区-efg内物联网设备的id号;在一个区域、扇区或区域内,cam条目的物理边界定义了一个区域的物理边界,因此一个区域从其物联网设备组件继承语义含义;出现以下特征:

可以确定区域、扇区和区域边界,并将其添加到2d地图中;可以确定3d中的区域,并将其添加到3d模型中;多租户是显而易见的;可以简化安全模型;在添加新服务器之前,必须在cdn中定义nid,这也意味着必须分配一个ip地址。要引导新服务器,还必须在服务器上安装cdn的最新副本,其中包括该服务器的nid。

nids最初是空的,但cdn除外,根据定义,cdn位于插槽0,不需要显式配置。cdn的丛号也是固定的,因为它与nid号相匹配。

第二步,磁盘插槽,请参见图4,云服务器最多可以接受32个装载的磁盘目录。插槽0(2,1)始终包含cdn的副本,它将是一个对象数据库。插槽2-9(2,2)最多可装载8个sql数据库。插槽10-31(2,3)通常用于数据结构。

服务的初始配置包括$dchome(2,4)环境变量,它是插槽的父目录,插槽必须使用图示的命名约定进行装载。

具体的,云服务器最多可以接受32个装载的磁盘目录。插槽0(2,1)始终包含cdn的副本,它将是一个对象数据库。插槽2-9(2,2)最多可装载8个sql数据库。插槽10-31(2,3)通常用于数据模式。

服务的初始配置包括$dchome(2,4)环境变量,它是插槽的父目录,插槽必须使用图示的命名约定进行装载。

请注意,使用固定路径名,通常,相同的路径名将用于所有云服务器,并且在配置中,当配置丛时,它们由插槽号而不是路径名引用。

这种机制有助于并行sql服务(如mysql_multi)的运行,因为这种服务需要在启动服务之前定义一组固定的可能的数据库。因此,插槽2-9将始终被定义为底层sql服务中的sql数据库,但是各个数据库将在数据云的控制下显式启动。这种机制允许磁盘在服务器之间迁移,而不会中断服务。

第三步,新节点安装,请参见图5,在添加新服务器之前,必须将未来节点的nid记录添加到cdn中,如图5中,表格的第3-5行所示。这建立了服务的节点号和ip。

接下来,克隆节点0(3,1)的cdn插槽0(3,2)。将克隆的介质或备份映像迁移到新节点(3,2),以创建cdn的最新映像。

具体的,在插槽0中有了cdn,并且该节点有了ip和nid,现在可以启动服务,并且该节点还可以作为应用程序的配置服务器。

第四步,记录格式,请参见图6,数据云事务日志记录由两个或多个段组成,每个段更新cdn对象数据库中的单个键值。它以一个日志片(4,1)开始,然后是一个可变长度键(4,2),最后是一个可变长度值(4,3)。最后一个条目总是mstamp(4,5),它是事务标识。日志记录本身(4,6)有一个由az加mstamp组成的索引,数据就是所描述的日志记录。

具体的,日志记录长度可变,但限制在大约60k个日志条目,这可能包括数百个不同的键,以便于批量上传。

日志和各种密钥安装在一个事务中,因此日志记录本身在本地机器上没有任何用途。它只是用来提供一种机制来支持陈旧的复制丛协调。

第五步,配置分发网络调节,请参见图7,每个节点上的cdn数据库(插槽0)包括一个mstamp记录(5,1),标识应用于日志的最后一个事务。当一个节点启动时,它联系cdn主机nid0,以获得当前的mstamp(5,2),如果它们不同,加载并应用丢失的更新(5,3),之后,本地mstamp(5,4)将是最新的。

具体的,如果nids0由于某种原因不可用,nids1和2也可以用于此目的。

该机制集中了nid为0的az的配置更新,并实现了丛3-n的最终一致性语义,因此每个节点都可以响应配置查询。配置更改流量将很小,但很有规律,可能每5分钟更新一次。

从(4,6)开始,注意实际上有4组日志条目,每个az合作伙伴一个。每个az上的nid0也执行级联功能。

nid0使用与此图中描述的相同的mstamp协调机制定期查询其他3个az。当更新到达时,它们存储在本地nids0、1、2上,nids3-n的定期协调将捕获这些更新。

假设对配置更新的查询大约为每分钟一次,因此对本地azcdn的更改将在一分钟内应用于本地az,来自伙伴az的更新将在2分钟内应用。

第六步,查找磁盘安装,请参见图8,每个计算节点在cdn(h3-h6)中都有一个nid条目,每个磁盘在cdn(h10-h12,h15-h17)中都有一个丛条目。启动时,节点必须读取reg、sect和plex条目,才能找到它承载的服务。一个节点将托管meta(k9)和data(k14)服务。如果一个节点为一个区域托管元服务,它还必须映射一个区域的数据服务。

具体的,对于每个区域,元数据存储在元丛上,数据存储在数据丛上。元扇区的数据均匀分布在数据丛中,以实现有效的负载平衡和简单的空闲空间管理。

找到元磁盘后,在启动相关服务之前,它们需要在各个扇区上使用cdn协调(5,5)机制,以确保介质是最新的。

根据以上原理,新插入硬盘第一次启动时,从本服务器的cdn得到配置信息并自动建立相应服务而不需要人工配置。

第七步,配置锁,请参见图9,写视频块等操作需要稳定的配置视图,因此它们是配置读取器。添加、删除或迁移资源的管理操作是配置编写器。如果有挂起的写入器(7,2),配置读取器(7,1)会阻止。如果存在活动读取器(7,4),配置写入器(7,3)会阻止。

具体的,在实现中,服务节点上的每个操作都被分类为配置读取器或写入器。如果没有待定的配置更改,所有读者都将安排。当接收到配置更改时,更多的读取器将在配置更改后排队,并且配置更改将等到活动读取器操作完成。一旦配置更改完成,将安排被阻止的读取器。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1