一种基于CDN系统的边缘分布式KV系统的制作方法

文档序号:37643827发布日期:2024-04-18 18:08阅读:10来源:国知局
一种基于CDN系统的边缘分布式KV系统的制作方法

本发明涉及边缘函数计算,尤其是涉及一种基于cdn系统的边缘分布式kv系统。


背景技术:

1、内容分发网络(contentdeliverynetwork,简称cdn)是一种将内容分发到靠近客户的边缘服务器,从而实现客户就近访问的方法,cdn通过大规模的服务器设备,满足客户就近接入的同时,具备大规模内容存储的能力;

2、分布式kv存储技术是一套解决海量数据资源存储的方法,它一般包含存储单元、计算单元和接入网关部分;

3、边缘计算是一种有效的将计算能力分散到海量服务器的解决方案。它将需要收敛到数据中心的庞大计算任务,分散为较小的计算任务,在海量服务器资源中执行,再汇聚计算后的结果。这样可以有效的降低数据中心的计算压力,提高整体服务器资源的利用率。

4、上述中的现有技术方案存在以下缺陷:传统的方法没有提供一种符合cdn网络海量边缘服务器资源、大规模存储能力和低访问延迟的网络能力特点,又符合kv键值系统存储海量数据、快速检索查询的特点的系统,不满足边缘计算领域场景的需求。


技术实现思路

1、本发明的目的是提供一种符合cdn网络海量边缘服务器资源、大规模存储能力和低访问延迟的网络能力特点,又符合kv键值系统存储海量数据、快速检索查询特点的基于cdn系统的边缘分布式kv系统。

2、为实现上述目的,本发明提供了如下技术方案:

3、一种基于cdn系统的边缘分布式kv系统,系统包含三个部分:

4、s1:专用于kv系统的存储单元替换cdn原生的存储单元kv-agent,基于lsm-tree技术,加快kv键值内容的访问速度,降低存储资源的占用,kv-agent部署在每台cdn的边缘服务器和父层服务器,管理本机的kv存储资源;

5、s2:改造cdn网关,利用http协议,提供针对kv系统的访问优化,操作优化的解决方案;

6、s3:利用cdn存储和操作能力满足数据冗余和数据迁移的解决方案。

7、进一步地,所述s1中专用于kv系统的存储单元kv-agent使用lsm-tree进行kv键值的存储。

8、进一步地,所述s1中存储kv键值时,从key中按照字符-分割,第一个字段作为键值的租户属性,每个租户的kv键值数据写入同一个或同一组本地文件中,降低文件系统中小文件的规模,将key对应的键值数据,以及对应的过期时间信息ttl写入文件,lsm-tree使用日志追加的模式顺序写入。

9、进一步地,所述s1中lsm-tree使用日志追加的模式顺序写入后,当文件被写入超过一定大小时,触发lsm-tree的压缩流程:重新遍历数据、将重复的、删除的、过期的数据删除,建立新的文件,并利用lsm-tree本身内存lru机制,加速最新的kv键值访问速度,不需要访问磁盘。

10、进一步地,所述s1中当单个租户的压缩后仍然超过一定大小时,创建第二个文件进行写入,后续的新数据只操作第二个文件,第一个文件归档,且当单个租户多文件存储的总量超过一点大小时进行多文件的压缩,清理历史过期的数据,降低资源消耗。

11、进一步地,所述s1中kv-agent部署在每台cdn的边缘服务器和父层服务器的具体步骤为:

12、a1:部署内置域名kv.domain于cdn网络中;

13、a2:父层服务器配置域名回源不会到客户源站,而是本机部署的kv-agent,当父层服务器访问kv资源时由本级kv-agent提供,即本机存储;

14、a3:边缘服务器的cdn网关提供接口暴露kv.domain域名的父层服务器节点;

15、a4:将kv键值对的请求转化为kv.domain下的http请求地址如kv.domain/key;

16、a5:边缘服务器的cdn对请求地址使用一致性hash的方式,决策访问向上层访问的父层服务器节点;

17、a6:kv-agent利用相同的方式一致性hash访问父层服务器部署的kv-agent,获取资源。保证针对同一个资源,cdn和kv-agent访问到相同的父层服务器。

18、进一步地,所述s2中针对kv系统的访问优化的具体操作为使用restfulhttpapi获取和操作kv键值内容:

19、b1:定义httpget读取kv资源。get请求访问边缘服务器,cdn转发到本机的kv-agent,本机kv-agent访问本地文件获取键值内容,返回客户,如果本机kv-agent没有内容,访问父层服务器的kv-agent获取内容,如果内容不存在或过期,返回404;

20、b2:定义httppost写入kv资源,post请求访问边缘服务器,cdn转发到本机kv-agent,本机kv-agent访问父层服务器的kv-agent执行写入,父层服务器kv-agent写入成功后返回成功,边缘服务器kv-agent再写入数据到本地文件,并返回客户写入成功,边缘服务器kv-agent相对于父层服务器有较快的过期时间,边缘服务器kv-agent过期后会访问父层服务器获取最新的资源,通过自动的过期机制保障边缘服务器数据的最终一致性;

21、b3:定义httpdelete删除kv资源,delete请求访问边缘服务器,cdn转发到本机kv-agent,本机kv-agent删除在本地文件中删除kv数据,返回删除成功,本机kv-agent访问父层服务器kv-agent执行删除。

22、进一步地,所述s2中将不同租户的kv操作统一为针对内置域名的操作。

23、进一步地,所述s2中kv操作统一具体为:

24、c1:不同的租户分配不同的id;

25、c2:租户发出的kv操作请求中的key完整编码内置域名的地址为kv.domain/id-key;

26、c3:kv-agent根据id-key解析出租户的id,操作租户对应的本地文件存储。

27、进一步地,所述s3的具体步骤为:

28、d1:配置冗余备份域名kv.domain2,关联与kv.domain不同的cdn资源;

29、d2:kv-agent执行kv.domain包含的kv键值操作时,记录操作指令,定时统一触发kv.domain2的kv键值操作;

30、d3:kv.domain2在上述流程执行是kv-agent根据指令,通过cdn网络访问kv.domain的资源,同步到本机上,完成kv键值数据的冗余备份或数据迁移。

31、综上所述,本发明的有益技术效果为:

32、1、本发明结合cdn网络的能力和kv存储系统的特点,满足边缘计算的需求,快速搭建分布式kv存储系统的技术底座,实现kv-agent优化cdn网络存储小数据内容的能力,满足kv系统存储海量数据的需求,同时将kv系统数据分散到cdn的存储容量中,提高机器容量使用率;

33、2、本发明利用cdn网络,就近访问边缘服务器,明显降低kv系统操作延迟,通过内部定义的http操作,复用cdn网络的http的资源缓存、地址改写、回溯上层的功能,大大简化kv系统的接口;

34、3、本发明利用cdn服务不同客户域名的机制,实现kv数据在cdn系统中冗余备份和快速迁移。

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