CN114513524A - 一种资源同步方法、装置、电子设备和存储介质 - Google Patents

一种资源同步方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN114513524A
CN114513524A CN202210137703.3A CN202210137703A CN114513524A CN 114513524 A CN114513524 A CN 114513524A CN 202210137703 A CN202210137703 A CN 202210137703A CN 114513524 A CN114513524 A CN 114513524A
Authority
CN
China
Prior art keywords
resource
target
edge
cluster
information
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.)
Granted
Application number
CN202210137703.3A
Other languages
English (en)
Other versions
CN114513524B (zh
Inventor
韩鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202210137703.3A priority Critical patent/CN114513524B/zh
Publication of CN114513524A publication Critical patent/CN114513524A/zh
Priority to EP23151085.0A priority patent/EP4227805A1/en
Priority to US18/157,523 priority patent/US20230259396A1/en
Application granted granted Critical
Publication of CN114513524B publication Critical patent/CN114513524B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

本公开提供了一种资源同步方法、装置、电子设备和存储介质,涉及计算机技术领域,尤其涉及云计算技术和边缘计算技术。具体实现方案包括:响应于监听到资源变更事件,将目标资源添加到预设缓存区中;根据所述目标资源携带的部署信息,从与所述云端建立连接的边缘集群中确定至少两个目标边缘集群;将缓存区中的所述目标资源推送到所述至少两个目标边缘集群中进行部署。本公开方案实现了跨边缘集群同步资源的效果。

Description

一种资源同步方法、装置、电子设备和存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及云计算技术和边缘计算技术,具体涉及一种资源同步方法、装置、电子设备、存储介质和计算机程序产品。
背景技术
随着移动互联网和物联网的发展,能够接入互联网的设备数量和其计算能力也有了指数级的增长。边缘计算的兴起,使得未来超过70%的数据都会由边缘设备的应用产生。与此同时,云计算也迅速发展,为了统一边缘和云的应用计算架构,边缘也由原来的进程应用部署逐步转向容器应用部署。
发明内容
本公开提供了资源同步方法、装置、电子设备、存储介质和计算机程序产品。
根据本公开的一方面,提供了一种资源同步方法,应用于边缘计算系统的云端,包括:
响应于监听到资源变更事件,将目标资源添加到预设缓存区中;
根据所述目标资源携带的部署信息,从与所述云端建立连接的边缘集群中确定至少两个目标边缘集群;
将缓存区中的所述目标资源推送到所述至少两个目标边缘集群中进行部署。
根据本公开的一方面,提供了一种资源同步方法,应用于边缘集群,包括
通过所述边缘集群中的代理服务,建立所述边缘集群与边缘计算系统的云端之间的通信连接;
基于所述代理服务接收并部署所述云端推送的目标资源。
根据本公开的一方面,一种资源同步装置,应用于边缘计算系统的云端,包括:
响应添加模块,用于响应于监听到资源变更事件,将目标资源添加到预设缓存区中;
集群确定模块,用于根据所述目标资源携带的部署信息,从与所述云端建立连接的边缘集群中确定至少两个目标边缘集群;
同步模块,用于将缓存区中的所述目标资源推送到所述至少两个目标边缘集群中进行部署。
根据本公开的一方面,一种资源同步装置,应用于边缘集群,包括
连接模块,用于通过所述边缘集群中的代理服务,建立所述边缘集群与边缘计算系统的云端之间的通信连接;
接收部署模块,用于基于所述代理服务接收并部署所述云端推送的目标资源。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开任意实施例的资源同步方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行本公开任意实施例的资源同步方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开任意实施例的资源同步方法。
根据本公开的技术,实现了跨边缘集群同步资源的效果。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例提供的一种资源同步方法的流程示意图;
图2是根据本公开实施例提供的又一种资源同步方法的流程示意图;
图3是根据本公开实施例提供的又一种资源同步方法的流程示意图;
图4是根据本公开实施例提供的又一种资源同步方法的流程示意图;
图5是根据本公开实施例提供的在云端与各边缘集群组成的示意图;
图6是根据本公开实施例提供的一种资源同步装置的结构示意图;
图7是根据本公开实施例提供的另一种资源同步装置的结构示意图;
图8是用来实现本公开实施例的资源同步方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开实施例中,为了统一边缘和云的应用计算架构,边缘由原来的进程应用部署逐步转向容器应用部署。在此基础上,如何使得在云端创建资源后,例如创建一个Nginx应用的Deployment后,并将其同步到多个边缘集群中,已成为一个亟需解决的问题。基于此,本公开提出一种针对边缘多集群的资源同步的方法,具体的流程参见如下实施例。
图1为本公开实施例的一种资源同步方法的流程示意图,本实施例可适用于多边缘设备集群需要通过云端来同步资源的情况。该方法可由一种资源同步装置来执行,该装置采用软件和/或硬件的方式实现,并集成在电子设备上,例如集成在边缘计算系统的云端集群设备中。
具体的,参见图1,资源同步方法如下:
S101、响应于监听到资源变更事件,将目标资源添加到预设缓存区中。
S102、根据目标资源携带的部署信息,从与云端建立连接的边缘集群中确定至少两个目标边缘集群。
S103、将缓存区中的目标资源推送到至少两个目标边缘集群中进行部署。
本公开实施例中,边缘计算系统的云端集群设备中至少包括控制器、预设缓存区,资源同步模块。其中,控制器用于监听用户期望部署的k8s资源,其中,k8s资源可选的是边缘集群中的边缘设备需要运行的应用资源。控制器在监听到因资源变更而产生资源变更事件时,例如监听到用户新建一个应用资源的事件时,将用户新建的应用资源作为目标资源,并保存在预设缓存区中。也即预设缓存区作为控制器和资源同步模块之间的缓冲层,用以存储控制器监听到的资源变更导致边缘集群需要重新同步的资源。需要说明的是,云端的控制器使可选的用k8s的watch/list机制,监听用户资源的变更;将目标资源缓存在预设缓存区中,资源同步模块后续从预设缓存区中获取目标资源并推送,由此预设缓存区的设置实现了控制器和资源同步模块的解耦。
进一步的,以用户创建一个Nginx应用需要同时部署到边缘集群A和B为例,对步骤S101进行说明。创建Nginx应用过程如下:响应于接收到部署资源的请求,创建与请求对应的目标资源;其中,目标资源中包括该资源的部署信息(即资源需要下发到的边缘集群的信息)。示例性的,云端集群中创建一个原生k8s名为Nginx的deployment后,再创建一个自定义资源,关联对应的资源并指定该资源的部署信息,也即是指定该资源需要下发的边缘集群A和B。在创建完Nginx应用后,控制器会将该资源缓存在预设缓存区中。
本公开实施例中,边缘集群的数量是多个,且每个边缘集群是由至少一个边缘设备组成的设备集合,边缘集群预先注册在云端并与云端建立通信连接,可选的,利用预设的通信协议(例如websocket协议)建立连接。如此,可直接将目标资源的部署信息所包括的边缘集群作为目标边缘集群。
进一步的,资源同步模块中包括推送子模块和连接池,其中,连接池用于维持云端和边缘集群的连接,如此,推送子模块在从预设缓存区中获得目标资源后,根据连接池中维护的集群连接关系信息,将目标资源同时推送到至少两个目标边缘集群中进行部署,以实现目标资源的同步。在此需要说明的是,常用的资源同步方案有SuperEdge(极度边缘)的方案,通过云端管理多个边缘设备,完成云端资源同步到多个边缘设备的需求。其实现思路中,将整个云端和所有连接的设备看成一个大的集群,云端是这个集群的Master节点。因此,这种方案中边缘设备并不能直接组成边缘集群,也即是无法实现跨边缘集群完成资源同步。
本公开实施例中,云端部署控制器监听资源的变更,并将变更的资源同步到多个边缘集群中,由此实现了跨边缘集群同步资源的效果。
图2是根据本公开实施例的又一资源同步方法的流程示意图,本实施例在上述实施例的基础上进行优化,参见图2,资源同步方法具体如下
S201、响应于监听到资源变更事件,将目标资源添加到预设缓存区中。
S202、根据目标资源携带的部署信息,从与云端建立连接的边缘集群中确定至少两个目标边缘集群。
在一种可选的实施方式中,根据目标资源包括的集群名称字段信息,确定部署信息;其中,集群名称字段可选的为cluster字段,用于指定需要部署目标资源的边缘集群的名称,如此可直接根据集群名称字段所包括的边缘集群名称作为部署信息;进而根据部署信息,从与云端建立连接的边缘集群中确定至少两个目标边缘集群。如此可以快速精准的确定目标边缘集群。
S203、获取目标边缘集群关联的资源信息。
其中,资源信息包括目标边缘集群中已部署的资源列表和资源版本信息。
S204、根据目标资源,更新并保存资源列表和资源版本信息。
可选的,将目标资源添加到目标边缘集群关联资源列表中,以实现资源列表的更新,也即更新后的资源列表用于表征目标边缘集群应该部署的应用资源;由于要向目标边缘集群部署新的目标资源,因此需要根据目标资源和原来部署的资源生成一个资源版本信息,如此可实现不同版本信息下,目标边缘集群中部署的资源不同。需要说明的是,S202-S204的步骤可以在将目标资源添加到预设缓存区之前执行,由此可将目标资源和更新后的资源版本信息整合后,一起添加到预设缓存区中。
S205、将缓存区中的目标资源和目标边缘集群关联的更新后的资源信息,推送到至少两个目标边缘集群中进行部署。
本公开实施例中,通过更新目标边缘集群的资源信息,可保证云端准确记录部署的目标边缘集群中资源的情况,为后续动态决定是否进行资源同步提供了保证。
图3是根据本公开实施例的又一资源同步方法的流程示意图,本公开实施例中,由于边缘集群的网络状况存在不确定性,有时会因为网络问题,导致资源同步模块未能成功将最新的目标资源推送到对应的目标边缘集群,使得出现资源同步失败的情况。基于此,提出了动态决定是否进行重新推送资源的方案,具体的,参见图3,资源同步方法具体如下:
S301、接收目标边缘集群上报的本地资源版本信息。
S302、将本地资源版本信息与云端保存的目标边缘集群的资源版本信息进行比较,并在比较结果不一致的情况下,重新向目标边缘集群发送缺失的资源。
本公开实施例中,资源同步模块中还包括上报子模块,用于执行上述步骤。目标边缘集群设置有代理服务,通过代理服务可定时获取目标边缘集群的本地数据,例如获取目标边缘集群中资源的名称、本地资源版本信息以及资源状态等,并将获取的信息上报给上报子模块。进而,上报子模块将本地资源版本信息与云端保存的目标边缘集群的最新资源版本信息进行比较,若比较结果不一致,则表明存在资源因为网络故障原因未成功同步到目标边缘集群中,此时重新向目标边缘集群发送缺失的资源。实现时,可向预设缓存区插入一条目标边缘集群需要变更的请求,进而资源同步模块中的推送子模块会将目标边缘集群需要的资源重新推送给目标边缘集群。
本公开实施例中,通过比对目标边缘集群在本地的资源版本信息和云端的资源版本信息,动态决定是否继续向目标边缘集群推送资源,解决了因为边缘集群网络故障导致资源同步失败的问题。
图4为本公开实施例的一种资源同步方法的流程示意图,本实施例可适用于多边缘设备集群需要通过云端来同步资源的情况。该方法可由一种资源同步装置来执行,该装置采用软件和/或硬件的方式实现,并集成在电子设备上,例如集成在边缘集群设备中,参见图4,资源同步方法具体如下:
S401、通过边缘集群中的代理服务,建立边缘集群与边缘计算系统的云端之间的通信连接。
针对边缘集群未暴露公网IP,无法连接云端的场景,本公开实施例在每个边缘集群中部署了代理服务,其中代理服务可以部署在集群中的任一边缘设备中,也可以用一个单独的设备部署代理服务。代理服务可根据云端的固定IP地址与云端建立连接,示例性的,代理服务主动向云端发出websocket连接请求。如此解决了边缘集群无法拥有公网IP,不能由云端主动发起请求的问题。
S402、基于代理服务接收并部署云端推送的目标资源。
本公开实施例中,云端被配置为:响应于监听到资源变更事件,将目标资源添加到预设缓存区中。根据目标资源携带的部署信息,从与云端建立连接的边缘集群中确定至少两个目标边缘集群。将缓存区中的目标资源推送到至少两个目标边缘集群中进行部署。如此,目标边缘设备可通过自身的代理服务接收云端发送的目标资源并执行。
进一步的,边缘集群的代理服务还与边缘集群的控制节点连接,使得代理服务可以通过控制节点获取边缘集群的本地信息,例如通过代理服务获取边缘集群的本地资源版本信息,并上报到云端,使得云端将本地资源版本信息与云端保存的该边缘集群的资源版本信息进行比较。并在比较结果不一致的情况下,重新向边缘集群发送缺失的资源。
本公开实施例,通过在每个边缘集群部署代理服务,通过代理服务与云端连接,解决了边缘集群无法拥有公网IP,不能由云端主动发起请求的问题;而且通过代理服务定时上报本地资源版本信息,以便解决因为边缘集群断网导致资源同步失败的问题。
图5是根据本公开实施例的在云端与各边缘集群组成的示意图,参见图5,云端包括控制器Controller、预设缓存区WorkQueue和资源同步模块Sync。
其中,控制器Controller用于负责监听用户期望部署的k8s资源,在监听到用户有资源变更时,触发对应的事件变更,根据用户期望的部署集群,获取对应的集群资源信息。每个集群生成一个新的资源版本信息resource version。将整合好的资源内容推送到预设缓存区Work queue中。
预设缓存区WorkQueue,在控制器Controller和资源同步模块Sync模块之间充当缓冲层,用以存储Controller监听到的资源变更导致边缘节点需要重新同步的资源内容。
资源同步模块Sync包括推送子模块push、连接池和上报子模块report,连接池维持和边缘集群的连接,push子模块不断从Work queue中获取需要部署的资源内容,将其推送到不同的边缘集群中。同时,report子模块接收边缘集群的应用状态上报信息,在发现上报的本地资源版本信息resource version与云端最新版本不一致时,主动向work queue中插入一条节点需要变更的请求。
边缘集群包括:代理服务Agent,对接边缘集群,主动与云端建立连接。将云端下发的资源在边缘端集群中直接应用。收集边缘集群下发应用的状态,并定时上报应用状态。
本公开实施例中,Controller与Sync中的push子模块使得资源有变更时,能快速更新多个边缘集群中的相同内容。同时,report模块通过比较本地和云端版本信息,决定是否重新进行资源推送,保证了即便边缘集群短时间断网,再次连接后也能快速收到最新变更的要求。
图6是根据本公开实施例的资源同步装置的结构示意图,本实施例可适用于多边缘设备集群需要通过云端来同步资源的情况。该装置配置于边缘计算系统的云端,如图6所示,该装置具体包括:
响应添加601,用于响应于监听到资源变更事件,将目标资源添加到预设缓存区中;
集群确定模块602,用于根据目标资源携带的部署信息,从与云端建立连接的边缘集群中确定至少两个目标边缘集群;
同步模块603,用于将缓存区中的目标资源推送到至少两个目标边缘集群中进行部署。
在上述实施例的基础上,可选的,集群确定模块包括:
部署信息确定单元,用于根据所述目标资源包括的集群名称字段信息,确定所述部署信息;
集群确定单元,用于根据所述部署信息,从与所述云端建立连接的边缘集群中确定至少两个目标边缘集群。
在上述实施例的基础上,可选的,还包括:
资源信息获取模块,用于获取目标边缘集群关联的资源信息;其中,资源信息包括目标边缘集群中已部署的资源列表和资源版本信息;
更新模块,用于根据目标资源,更新并保存资源列表和资源版本信息。
在上述实施例的基础上,可选的,同步模块还用于:
将缓存区中的目标资源和目标边缘集群关联的更新后的资源信息,推送到至少两个目标边缘集群中进行部署。
在上述实施例的基础上,可选的,还包括:
信息接收模块,用于接收目标边缘集群上报的本地资源版本信息;
比较模块,用于将本地资源版本信息与云端保存的目标边缘集群的资源版本信息进行比较,并在比较结果不一致的情况下,重新向目标边缘集群发送缺失的资源。
在上述实施例的基础上,可选的,还包括:
资源创建模块,用于响应于接收到部署资源的请求,创建与请求对应的目标资源;其中,目标资源中包括该资源的部署信息。
本公开实施例提供的资源同步装置可执行本公开任意实施例提供的资源同步方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本公开任意方法实施例中的描述。
图7是根据本公开实施例的资源同步装置的结构示意图,本实施例可适用于多边缘设备集群需要通过云端来同步资源的情况。该装置配置于边缘集群,如图7所示,该装置具体包括:
连接模块701,用于通过边缘集群中的代理服务,建立边缘集群与边缘计算系统的云端之间的通信连接;
接收部署模块702,用于基于代理服务接收并部署云端推送的目标资源。
在上述实施例的基础上,可选的,还包括:
上报模块,用于通过代理服务获取边缘集群的本地资源版本信息,并上报到云端,使得云端将本地资源版本信息与云端保存的该边缘集群的资源版本信息进行比较。
本公开实施例提供的资源同步装置可执行本公开任意实施例提供的资源同步方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本公开任意方法实施例中的描述。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如资源同步方法。例如,在一些实施例中,资源同步方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM803并由计算单元801执行时,可以执行上文描述的资源同步方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行资源同步方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (19)

1.一种资源同步方法,应用于边缘计算系统的云端,包括:
响应于监听到资源变更事件,将目标资源添加到预设缓存区中;
根据所述目标资源携带的部署信息,从与所述云端建立连接的边缘集群中确定至少两个目标边缘集群;
将缓存区中的所述目标资源推送到所述至少两个目标边缘集群中进行部署。
2.根据权利要求1所述的方法,其中,所述根据所述目标资源携带的部署信息,从与所述云端建立连接的边缘集群中确定至少两个目标边缘集群包括:
根据所述目标资源包括的集群名称字段信息,确定所述部署信息;
根据所述部署信息,从与所述云端建立连接的边缘集群中确定至少两个目标边缘集群。
3.根据权利要求1所述的方法,还包括:
获取所述目标边缘集群关联的资源信息;其中,所述资源信息包括目标边缘集群中已部署的资源列表和资源版本信息;
根据所述目标资源,更新并保存所述资源列表和资源版本信息。
4.根据权利要求3所述的方法,其中,所述将缓存区中的所述目标资源推送到所述至少两个目标边缘集群中进行部署,包括:
将缓存区中的所述目标资源和所述目标边缘集群关联的更新后的资源信息,推送到所述至少两个目标边缘集群中进行部署。
5.根据权利要求4所述的方法,还包括:
接收所述目标边缘集群上报的本地资源版本信息;
将所述本地资源版本信息与云端保存的所述目标边缘集群的资源版本信息进行比较,并在比较结果不一致的情况下,重新向所述目标边缘集群发送缺失的资源。
6.根据权利要求1所述的方法,还包括:
响应于接收到部署资源的请求,创建与所述请求对应的目标资源;其中,所述目标资源中包括该资源的部署信息。
7.一种资源同步方法,应用于边缘集群,包括
通过所述边缘集群中的代理服务,建立所述边缘集群与边缘计算系统的云端之间的通信连接;
基于所述代理服务接收并部署所述云端推送的目标资源。
8.根据权利要求7所述的方法,还包括:
通过代理服务获取所述边缘集群的本地资源版本信息,并上报到云端,使得所述云端将所述本地资源版本信息与云端保存的该边缘集群的资源版本信息进行比较。
9.一种资源同步装置,应用于边缘计算系统的云端,包括:
响应添加模块,用于响应于监听到资源变更事件,将目标资源添加到预设缓存区中;
集群确定模块,用于根据所述目标资源携带的部署信息,从与所述云端建立连接的边缘集群中确定至少两个目标边缘集群;
同步模块,用于将缓存区中的所述目标资源推送到所述至少两个目标边缘集群中进行部署。
10.根据权利要求9所述的装置,其中,所述集群确定模块包括:
部署信息确定单元,用于根据所述目标资源包括的集群名称字段信息,确定所述部署信息;
集群确定单元,用于根据所述部署信息,从与所述云端建立连接的边缘集群中确定至少两个目标边缘集群。
11.根据权利要求9所述的装置,还包括:
资源信息获取模块,用于获取所述目标边缘集群关联的资源信息;其中,所述资源信息包括目标边缘集群中已部署的资源列表和资源版本信息;
更新模块,用于根据所述目标资源,更新并保存所述资源列表和资源版本信息。
12.根据权利要求11所述的装置,所述同步模块还用于:
将缓存区中的所述目标资源和所述目标边缘集群关联的更新后的资源信息,推送到所述至少两个目标边缘集群中进行部署。
13.根据权利要求12所述的装置,还包括:
信息接收模块,用于接收所述目标边缘集群上报的本地资源版本信息;
比较模块,用于将所述本地资源版本信息与云端保存的所述目标边缘集群的资源版本信息进行比较,并在比较结果不一致的情况下,重新向所述目标边缘集群发送缺失的资源。
14.根据权利要求9所述的装置,还包括:
资源创建模块,用于响应于接收到部署资源的请求,创建与所述请求对应的目标资源;其中,所述目标资源中包括该资源的部署信息。
15.一种资源同步装置,应用于边缘集群,包括
连接模块,用于通过所述边缘集群中的代理服务,建立所述边缘集群与边缘计算系统的云端之间的通信连接;
接收部署模块,用于基于所述代理服务接收并部署所述云端推送的目标资源。
16.根据权利要求15所述的装置,还包括:
上报模块,用于通过代理服务获取所述边缘集群的本地资源版本信息,并上报到云端,使得所述云端将所述本地资源版本信息与云端保存的该边缘集群的资源版本信息进行比较。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6或7-8中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6或7-8中任一项所述的方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6或7-8中任一项所述的方法。
CN202210137703.3A 2022-02-15 2022-02-15 一种资源同步方法、装置、电子设备和存储介质 Active CN114513524B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202210137703.3A CN114513524B (zh) 2022-02-15 2022-02-15 一种资源同步方法、装置、电子设备和存储介质
EP23151085.0A EP4227805A1 (en) 2022-02-15 2023-01-11 Resource synchronization method and apparatus, electronic device and storage medium
US18/157,523 US20230259396A1 (en) 2022-02-15 2023-01-20 Resource synchronization method, electronic device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210137703.3A CN114513524B (zh) 2022-02-15 2022-02-15 一种资源同步方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN114513524A true CN114513524A (zh) 2022-05-17
CN114513524B CN114513524B (zh) 2023-08-29

Family

ID=81551575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210137703.3A Active CN114513524B (zh) 2022-02-15 2022-02-15 一种资源同步方法、装置、电子设备和存储介质

Country Status (3)

Country Link
US (1) US20230259396A1 (zh)
EP (1) EP4227805A1 (zh)
CN (1) CN114513524B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111405055A (zh) * 2020-03-23 2020-07-10 北京达佳互联信息技术有限公司 多集群管理方法、系统、服务器、存储介质
CN112925652A (zh) * 2021-04-06 2021-06-08 北京百度网讯科技有限公司 应用资源部署方法、装置、电子设备和介质
CN112925651A (zh) * 2021-04-06 2021-06-08 北京百度网讯科技有限公司 应用资源部署方法、装置、电子设备和介质
US20210344556A1 (en) * 2020-12-21 2021-11-04 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for updating an edge node, device, medium and program product
CN113849266A (zh) * 2021-08-19 2021-12-28 新浪网技术(中国)有限公司 多Kubernetes集群的业务部署方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737442B (zh) * 2019-09-24 2021-06-22 厦门网宿有限公司 一种边缘应用管理方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111405055A (zh) * 2020-03-23 2020-07-10 北京达佳互联信息技术有限公司 多集群管理方法、系统、服务器、存储介质
US20210344556A1 (en) * 2020-12-21 2021-11-04 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for updating an edge node, device, medium and program product
CN112925652A (zh) * 2021-04-06 2021-06-08 北京百度网讯科技有限公司 应用资源部署方法、装置、电子设备和介质
CN112925651A (zh) * 2021-04-06 2021-06-08 北京百度网讯科技有限公司 应用资源部署方法、装置、电子设备和介质
CN113849266A (zh) * 2021-08-19 2021-12-28 新浪网技术(中国)有限公司 多Kubernetes集群的业务部署方法及装置

Also Published As

Publication number Publication date
CN114513524B (zh) 2023-08-29
EP4227805A1 (en) 2023-08-16
US20230259396A1 (en) 2023-08-17

Similar Documents

Publication Publication Date Title
US9912538B2 (en) Synchronization of configuration file of virtual application distribution chassis
CN113742031B (zh) 节点状态信息获取方法、装置、电子设备及可读存储介质
CN109245908B (zh) 一种主从集群切换的方法和装置
CN108696581B (zh) 分布式信息的缓存方法、装置、计算机设备以及存储介质
GB2502408A (en) File synchronization using timestamp data
CN107729176B (zh) 一种配置文件管理系统的容灾方法及容灾系统
US11824714B2 (en) Method and apparatus for updating an edge node, device, medium and program product
EP3817338B1 (en) Method and apparatus for acquiring rpc member information, electronic device and storage medium
CN113656147B (zh) 一种集群部署方法、装置、设备及存储介质
CN113079098B (zh) 路由更新的方法、装置、设备和计算机可读介质
US9703646B2 (en) Centralized database system
CN114070889B (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
CN114513524B (zh) 一种资源同步方法、装置、电子设备和存储介质
CN115629909A (zh) 业务数据处理的方法、装置、电子设备和存储介质
CN113760469A (zh) 分布式计算的方法和装置
US9880855B2 (en) Start-up control program, device, and method
CN112749042B (zh) 一种应用运行方法和装置
CN113596172B (zh) 分布式集群中节点更新方法和装置
CN113872808B (zh) 应用处理方法及装置
CN114925052A (zh) 重启数据库的方法、装置、设备和计算机可读介质
CN117251285A (zh) 配置信息的动态加载方法、装置、设备及存储介质
CN113329044A (zh) 一种监控代理程序的升级方法和升级装置
CN116112437A (zh) 流量调度方法、装置、电子设备及介质
CN115203334A (zh) 数据处理方法、装置、电子设备和存储介质
CN114598743A (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
GR01 Patent grant
GR01 Patent grant