【技术实现步骤摘要】
镜像数据处理方法、装置、设备以及介质
[0001]本申请涉及云计算
,尤其涉及一种镜像数据处理方法、装置、设备以及介质。
技术介绍
[0002]目前,在云应用场景下,每个用户均可以与云服务器建立连接,以在各自的用户终端上操作并运行某个云应用(例如,云游戏X)。其中,应当理解,当这些用户在各用户终端上运行该云应用(例如,云游戏X)时,该云应用(例如,云游戏X)会以容器的方式运行在云服务器上,这里的云服务器可以为与这些用户所在地理位置区域(简称为区域)最近的边缘计算集群中的边缘计算节点。
[0003]基于此,专利技术人在实践中发现,当同一区域中的这些用户(例如,游戏用户A和游戏用户B)并发访问该云应用(例如,云游戏X)时,会在离这些用户(游戏用户A和用户B)所在的区域(即同一区域)最近的边缘计算集群中实时启动相应边缘计算节点上的容器,进而会在实时启动相应边缘计算节点上的容器时,并发向中心仓库请求对该云游戏X的游戏镜像的实时下载。由此可见,在同一区域中,若离游戏用户A最近的边缘计算节点为边缘计算节点C1,且在离游戏用户B最近的边缘计算节点为边缘计算节点C2,则在边缘计算节点C1和边缘计算节点C2中并发启动相应容器时,均会通过外网向中心仓库实时下载到云游戏X的游戏镜像。由于边缘计算集群部署在独立于数据中心网络(即IDC网络)的边缘计算网络中,故而在通过现有的镜像拉取方案让这些边缘计算节点实时从中心仓库并发拉取该云游戏X的游戏镜像时,势必会增加额外的带宽成本,且需要并发拉取镜像的边缘计算节点越多,也会造成更高的带 ...
【技术保护点】
【技术特征摘要】
1.一种镜像数据处理方法,其特征在于,所述方法由第一子区域对应的第一镜像缓存代理执行,所述第一子区域为目标区域中的子区域,所述方法包括:获取所述第一子区域中的多个边缘计算节点针对第一云应用的第一镜像并发发送的多个第一镜像拉取请求;一个第一镜像拉取请求是一个边缘计算节点在启动所述第一云应用对应的云容器之前所生成且发送的;根据所述多个第一镜像拉取请求,在所述第一镜像缓存代理的第一本地存储中对所述第一镜像进行查找,得到第一镜像查找结果;若所述第一镜像查找结果指示在所述第一本地存储中未查找到所述第一镜像,则在所述多个边缘计算节点中,将竞争到全局锁的边缘计算节点作为具备镜像拉取权限的第一边缘计算节点,并将所述多个边缘计算节点中除所述第一边缘计算节点之外的边缘计算节点作为锁定所述镜像拉取权限的第二边缘计算节点;在所述第一镜像缓存代理与所述目标区域相关联的中心仓库建立第一通信连接时,获取所述中心仓库的存储地址,通知所述第一边缘计算节点通过所述存储地址从所述中心仓库拉取所述第一镜像;接收所述第一边缘计算节点上传的从所述中心仓库拉取到的所述第一镜像,将所述第一镜像存储至所述第一本地存储,且允许所述第二边缘计算节点从存储有所述第一镜像的第一本地存储拉取所述第一镜像。2.根据权利要求1所述的方法,其特征在于,所述第一镜像缓存代理包含第一代理服务组件;所述多个边缘计算节点中的每个边缘计算节点均在建立的云容器中采用双网卡策略,所述双网卡策略包含虚拟出的用于进行镜像拉取的第一网卡;所述每个边缘计算节点与所述第一镜像缓存代理均处于所述第一子区域对应的局域网络中;所述获取所述第一子区域中的多个边缘计算节点针对第一云应用的第一镜像并发发送的多个第一镜像拉取请求,包括:在所述第一子区域对应的局域网络中,当所述第一镜像缓存代理分别与每个边缘计算节点建立局域连接时,调用所述第一代理服务组件,基于各局域连接分别接收对应边缘计算节点针对第一云应用的第一镜像所并发发送的第一镜像拉取请求;一个局域连接为一个边缘计算节点通过对应云容器中的第一网卡与所述第一镜像缓存代理所建立的网络连接关系。3.根据权利要求2所述的方法,其特征在于,所述第一镜像缓存代理包含独立于所述第一代理服务组件的第一容器注册服务组件;所述方法还包括:在所述第一子区域对应的局域网络中,当所述第一镜像缓存代理分别与所述每个边缘计算节点建立局域连接时,调用所述第一容器注册服务组件,基于各局域连接分别接收所述每个边缘计算节点通过所述第一网卡发送的节点注册请求;一个节点注册请求中携带一个边缘计算节点的节点注册信息;通过所述第一容器注册服务组件从接收到的各节点注册请求中获取对应边缘计算节点的节点注册信息,在将获取到的各边缘计算节点的节点注册信息写入所述第一容器注册服务组件对应的容器注册表时,生成用于返回给所述各边缘计算节点的注册成功响应信息;所述各边缘计算节点的注册成功响应信息用于表征对应边缘计算节点具备在所述第一
镜像缓存代理的第一本地存储中查找所述第一镜像的权限;调用所述第一容器注册服务组件,将所述各边缘计算节点的注册成功响应信息返回给对应边缘计算节点。4.根据权利要求1所述的方法,其特征在于,所述第一镜像缓存代理包含第一代理服务组件和独立于所述第一代理服务组件的第一容器注册服务组件;所述第一容器注册服务组件所对应的容器注册表中记录有所述多个边缘计算节点中的每个边缘计算节点的节点注册信息;所述根据所述多个第一镜像拉取请求,在所述第一镜像缓存代理的第一本地存储中对所述第一镜像进行查找,得到第一镜像查找结果,包括:通过所述第一代理服务组件从所述多个第一镜像拉取请求中获取所述多个边缘计算节点的节点标识;在通过所述第一代理服务组件调用所述第一容器注册服务组件获取到所述容器注册表时,在所述容器注册表中查找与所述多个边缘计算节点的节点标识相匹配的节点注册信息,并在所述容器注册表中查找到与所述多个边缘计算节点的节点标识相匹配的节点注册信息时,将查找到的节点注册信息所对应的边缘计算节点,作为具备在所述第一镜像缓存代理的第一本地存储中查找所述第一镜像的权限的注册边缘计算节点;接收所述注册边缘计算节点在所述第一本地存储中对所述第一镜像进行查找所生成的镜像查找结果,并将接收到的镜像查找结果作为所述第一镜像查找结果。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述第一镜像查找结果指示在所述第一本地存储中查找到所述第一镜像,则将在所述第一本地存储中查找到所述第一镜像时的本地镜像查找成功结果作为所述多个第一镜像拉取请求的请求响应信息,将所述请求响应信息分发给所述多个边缘计算节点中的每个边缘计算节点,以使所述每个边缘计算节点基于所述请求响应信息获取到所述第一镜像,且在启动所述第一云应用对应的云容器时,在启动的所述第一云应用对应的云容器中部署所述第一镜像。6.根据权利要求1所述的方法,其特征在于,所述第一镜像缓存代理包含第一代理服务组件;所述第一代理服务组件包含用于为部署在所述第一子区域中的所述多个边缘计算节点配置全局锁的全局锁服务进程;所述若所述第一镜像查找结果指示在所述第一本地存储中未查找到所述第一镜像,则在所述多个边缘计算节点中,将竞争到全局锁的边缘计算节点作为具备镜像拉取权限的第一边缘计算节点,并将所述多个边缘计算节点中除所述第一边缘计算节点之外的边缘计算节点作为锁定所述镜像拉取权限的第二边缘计算节点,包括:若所述第一镜像查找结果指示在所述第一本地存储中未查找到所述第一镜像,则将在所述第一本地存储中未查找到所述第一镜像时的镜像查找结果作为本地镜像查找失败结果,基于所述本地镜像查找失败结果启动所述第一代理服务组件中的所述全局锁服务进程;在通过所述全局锁服务进程为所述多个边缘计算节点中配置所述全局锁时,向所述多个边缘计算节点中的每个边缘计算节点发送针对所述全局锁的竞争请求,以使所述每个边缘计算节点基于所述竞争请求竞争所述全局锁;
接收所述每个边缘计算节点中竞争到所述全局锁的边缘计算节点返回的竞争成功响应信息,基于所述竞争成功响应消息,将竞争到所述全局锁的边缘计算节点作为具备镜像拉取权限的第一边缘计算节点,并将所述多个边缘计算节点中除所述第一边缘计算节点之外的边缘计算节点作为锁定所述镜像拉取权限的第二边缘计算节点。7.根据权利要求1所述的方法,其特征在于,所述目标区域包含独立于所述第一子区域的多个待处理子区域;所述多个待处理子区域为所述目标区域中除所述第一子区域之外的子区域;一个待处理子区域对应一个镜像缓存代理,且所述多个待处理子区域对应的多个镜像缓存代理的代理地址,均存储在与所述第一镜像缓存代理相关联的镜像元数据中心; 一个代理地址用于映射一个镜像缓存代理;所述方法还包括:在所述第一本地存储中未查找到所述第一镜像时,通过所述镜像元数据中心在所述多个镜像缓存代理的代理地址中请求第二镜像缓存代理的代理地址;所述第二镜像缓存代理的代理地址为所述镜像元数据中心基于网络延时策略所确定的;所述网络延时策略用于指示所述第二镜像缓存代理的代理地址为在所述多个镜像缓存代理的代理地址中,所查找到的处于所述目标区域中、且与所述第一镜像缓存代理具有最小距离的镜像缓存代理的代理地址;在所述第一镜像缓存代理通过所述第二镜像缓存代理的代理地址与所述第二镜像缓存代理建立第二通信连接时,基于所述第二通信连接获取所述第二镜像缓存代理的第一缓存地址,通知所述第一边缘计算节点通过所述第一缓存地址在所述第二镜像缓存代理对应的第二本地存储中查找所述第一镜像,且接收所述第一边缘计算节点返回的第二镜像查找结果。8.根据权利要求7所述的方法,其特征在于,所述第一镜像缓存代理包含第一代理服务组件和独立于所述第一代理服务组件的第一容器注册服务组件;所述第二镜像缓存代理包含第二容器注册服务组件;所述镜像元数据中心中存储的所述第二镜像缓存代理的代理地址是由所述第二镜像缓存代理中的所述第二容器注册服务组件所发送的;所述在所述第一本地存储中未查找到所述第一镜像时,通过所述镜像元数据中心在所述多个镜像缓存代理的代理地址中请求第二镜像缓存代理的代理地址,包括:在所述第一本地存储中未查找到所述第一镜像时,调用所述第一代理服务组件向所述镜像元数据中心发送地址获取请求;所述地址获取请求用于指示所述镜像元数据中心基于所述网络延时策略,将在所述多个镜像缓存代理的代理地址中,查找到的处于所述目标区域中、且与所述第一镜像缓存代理具有最小距离的镜像缓存代理的代理地址,作为第二镜像缓存代理的代理地址;调用所述第一代理服务组件接收所述镜像元数据中心基于所述地址获取请求返回的所述第二镜像缓存代理的代理地址。9.根据权利要求8所述的方法,其特征在于,所述第二镜像缓存代理包含不同于所述第二容器注册服务组件的第二代理服务组件;所述方法还包括:调用所述第一镜像缓存代理中的所述第一代理服务组件,基于所述第二镜像缓存代理的代理地址,向所述第二镜像缓存代理发送连接建立请求,以使所述第二镜像缓存代理在
调用所述第二代理服务组件对所述连接建立请求进行解析,得到所述第一镜像缓存代理的代理地址时,根据所述第一镜像缓存代理的代理地址生成用于向所述第一镜像缓存代理发送的连接响应信息;通过所述第一代理服务组件接收所述第二镜像缓存代理中的所述第二代理服务组件返回的所述连接响应信息,基于所述连接响应信息建立用于在所述第一代理服务组件与所述第二代理服务组件之间进行数据交互的长连接,将建立的长连接作为所述第一镜像缓存代理与所述第二镜像缓存代理之间的第二通信连接。10.根据权利要求9所述的方法,其特征在于,所述基于所述第二通信连接获取所述第二镜像缓存代理的第一缓存地址,通知所述第一边缘计算节点通过所述第一缓存地址在所述第二镜像缓存代理对应的第二本地存储中查找所述第一镜像,且接收所述第一边缘计算节点返回的第二镜像查找结果,包括:调用所述第一代理服务组件通过所述第二通信连接,接收所述第二代理服务组件返回的所述第二镜像缓存代理的第一缓存地址;调用所述第一代理服务组件将所述第二镜像缓存代理的所述第一缓存地址添加到第一缓存地址通知消息,将所述第一缓存地址通知消息下发给具备所述镜像拉取权限的所述第一边缘计算节点,以使所述第一边缘计算节点基于第一缓存地址通知消息解析到所述第二镜像缓存代理的所述第一缓存地址时,通过所述第二镜像缓存代理的所述第一缓存地址从所述第二镜像缓存代理的第二本地存储中查找所述第一镜像,...
【专利技术属性】
技术研发人员:傅志长,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。