本发明涉及边缘计算技术领域,具体涉及一种云边协同的集群构建方法和系统。
背景技术
边缘计算,是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供近端服务。应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。边缘计算处于物理实体和工业连接之间,或处于物理实体的顶端;云端计算,仍然可以访问边缘计算的历史数据。
在云边协同中,云节点具有提供持久化存储和为需要大计算量的应用提供资源的能力,但是离设备端较远,边缘节点(普通节点)靠近设备没有传输时延压力,但资源短缺的压力比较大,边云协同包含了边缘节点与云节点的计算资源、安全策略、应用管理、业务管理等方面的协同,使边缘计算具有更好的应用体验。
对于传统的边缘集群来说,云节点和边缘节点的角色是相对固定的,在集群的常规运行过程中,节点的角色和任务不会改变,同时边缘节点归属的集群也不会自动更改,这种情况下,当云节点遭遇故障或者云边网络环境恶劣的情况下,集群所提供的服务就会瘫痪。除此之外,当涉及到节点自身会移动的场景,固定的集群会让节点与云的之间的通讯质量变得非常不稳定,因此,现有的云边协同集群构建方式已经不能适应某些特殊的边缘计算场景,更需要一种更加智能的、灵活的集群构建方法。
技术实现要素:
针对现有技术中存在的上述技术问题,本发明提供一种云边协同的集群构建方法和系统,云节点出现故障后,普通节点仍可持续提供服务。
本发明公开了一种基于云边协同的集群构建方法,所述集群构建方法包括:判断云节点是否故障,集群包括多个集群簇,所述集群簇的节点包括云节点和普通节点;若是,所述普通节点采用以下任一措施或它们的组合:自主自治、加入现有集群簇和重建集群簇。
优选的,所述自主自治包括普通节点根据本地缓存维持服务运行;
加入现有集群簇的方法包括:
获得现有集群簇的信息,所述信息包括集群簇状态、连接情况、资源情况和带宽情况;
根据所述集群簇的信息,获得集群簇的优先级;
根据所述优先级,选择并加入现有集群簇。
优选的,根据以下公式计算优先级:
Z=Pcpu*Ci+Pstore*Ri+Pconn*Ci+Pwidth*Wi+Pdelay*Di (2)
其中,Z表示为优先级,Ci是集群簇云节点i的连接数,Pcpu表示为CPU的权重,Pstore表示为资源可用量的权重,Ri表示为资源可用量,Pwidth为届时带宽的权重,Wi是云节点i的届时带宽,Pdelay为届时延时的权重,Di是集群簇管理节点i的届时时延。
优选的,判断所述集群簇的普通节点是否正常连接;
若正常连接,采用重建集群簇的措施,所述重建集群簇的方法包括:
获得普通节点的选举条件信息,所述选举条件信息包括CPU信息、内存资源信息、届时宽带和届时时延;
根据选举条件信息,获得选举得分;
根据所述选举得分,从普通节点中选择第二云节点;
所述第二云节点重构集群簇,获得第二集群簇;
所述普通节点加入所述第二集群簇。
优选的,选举得分的计算公式为:
Sj=Pupu*Cj+Pstore*Rj+Pwidth*Wj+Pdelay*Dj (1)
其中,Sj表示为选举得分,Cj是普通节点j的连接数,Pcpu表示为CPU的权重,Pstore表示为资源可用量的权重,Rj表示为资源可用量,Pwidth为届时带宽的权重,Wj是普通点j的届时带宽,Pdelay为届时延时的权重,Dj是普通节点j的届时时延。
优选的,从普通节点中选择第二云节点的方法包括:
判断最优选举得分的普通节点是否为多个;
若是,随机选择一个普通节点作为第二节点;
若否,将最优选举得分的普通节点作为第二节点;
所述第二节点向普通节点发送要约请求;
判断同意所述要约请求的普通节点比例是否超过第二域值;
若超过第二域值,所述第二节点作为第二云节点重构集群簇;
若没有超过第二域值,所述第二节点放弃选举。
优选的,多个集群簇构建的方法包括:
集群的节点依据自身的选举条件信息,获得选举得分;
通过集群广播,同步所述选举得分;
所述节点根据所述选举得分,选择多个第一节点,并向第一节点发送同意信息;
判断所述第一节点的同意信息是否超过第一域值;
若超过第一域值,所述第一节点作为第一云节点构建集群簇;
普通节点随机加入集群簇,或根据优先级加入集群簇;
若没有超过第一域值,所述第一节点放弃选举。
优选的,所述云节点用于保持集群簇之间的信息同步。
本发明还提供一种用于实现上述集群构建方法的系统,包括故障检测模块,所述故障检测模块用于判断云节点是否故障;若是,所述普通节点采用以下任一措施或它们的组合:所述普通节点自主自治、通过自主选主模块加入现有集群簇、通过选举模块重建集群簇。
优选的,所述系统还包括云边通信模块、日志监控模块、信息广播模块、容器运行时模块和传感器接入模块,
所述云边通信模块用于云节点和普通节点的通信;
容器运行时模块用于管理容器运行;
日志监控模块用于容器运行日志的收集和处理;
信息广播模块用于维护集群簇中的信息同步;
传感器接入模块用于管理接入设备;
所述自主选主模块用于获得现有集群簇的信息,所述信息包括集群簇状态、连接情况、资源情况和带宽情况;根据所述集群簇的信息,获得集群簇的优先级;根据所述优先级,选择并加入现有集群簇;
所述选举模块用于获得普通节点的选举条件信息,所述选举条件信息包括CPU信息、内存资源信息、届时宽带和届时时延;根据选举条件信息,获得选举得分;根据所述选举得分,选择云节点;所述云节点构建集群簇。
与现有技术相比,本发明的有益效果为:云节点故障时,维持普通节点,使普通节点持续提供服务;通过加入现有集群簇或重建集群簇,普通节点在云边协同下提高边缘节点的资源,提高普通节点的服务体验;避免普通节点无法提供服务的情况,使集群的具有高可用性、提供高质量的服务。
附图说明
图1是本发明的云边协同的集群构建方法流程图;
图2是加入现有集群簇的方法流程图;
图3是构建集群簇的方法流程图;
图4是本发明的系统逻辑框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
一种基于云边协同的集群构建方法,如图1所示,所述集群构建方法包括:
步骤101:构建集群簇,集群包括多个集群簇,所述集群簇的节点包括云节点和普通节点。
云节点用于维持各个集群簇之间的信息同步,最终同步到普通节点(边缘节点)。
步骤102:判断云节点是否故障。可以通过与云节点的连接是否正常来判断云节点是否故障。
若是,执行步骤103:所述普通节点采用以下任一措施或它们的组合:自主自治、加入现有集群簇和重建集群簇。普通节点在自主自治中,通过根据本地缓存数据维持服务运行,而不会退出集群。
若否,持续检测云节点的状态。
云节点故障时,维持普通节点,使普通节点持续提供服务;通过加入现有集群簇或重建集群簇,普通节点在云边协同下提高边缘节点的资源,提高普通节点的服务体验。
尤其是在网络环境恶劣或节点位置经常移动的情况下,如节点处于无人机或移动车,避免普通节点无法提供服务的情况,使集群的具有高可用性、提供高质量的服务和云边协同下的集群对称性。集群内普通节点具有快速脱离/纳入集群簇的能力,且可以灵活切换角色,节点上的应用可以以yaml的形式由云节点统一下发部署至边缘节点。
在一个具体实施例中,云节点短暂断开连接时,普通节点自主自治,云节点恢复连接后,普通节点恢复与原集群簇的连接;云节点长时间断开时间时,普通节点加入现有集群簇或重建集群簇。其中,若重建集群簇失败,则加入现有集群簇。
步骤103中,如图2所示,加入现有集群簇的方法包括:
步骤201:获得现有集群簇的信息,所述信息包括集群簇状态、连接情况、资源情况和带宽情况。
步骤202:根据所述集群簇的信息,获得集群簇的优先级。在一个具体实施例中,通过公式2计算集群簇的优先级:
Z=Pcpu*Ci+Pstore*Ri+Pconn*Ci+Pwidth*Wi+Pdelay*Di (2)
其中,Z表示为优先级,Ci是集群簇云节点i的连接数,Pcpu表示为CPU的权重,Pstore表示为资源可用量的权重,Ri表示为资源可用量,Pwidth为届时带宽的权重,Wi是云节点i的届时带宽,Pdelay为届时延时的权重,Di是集群簇管理节点i的届时时延。
步骤203:根据所述优先级,选择并加入现有集群簇。
通过上述自主选主的方法,普通节点可以选择并加入更优的集群簇,避免连接时延大幅增加而服务质量降低的问题。
步骤103中,在云节点故障、而普通节点正常连接时,可以重建集群簇,所述重建集群簇的方法包括:
步骤301:获得普通节点的选举条件信息,所述选举条件信息包括CPU信息、内存资源信息、届时宽带和届时时延。
步骤302:根据选举条件信息,获得选举得分。在一个具体实施例中,采用公式1计算选举得分:
Sj=Pcpu*Cj+Pstore*Rj+Pwidth*Wj+Pdelay*Dj (1)
其中,Sj表示为选举得分,Cj是普通节点j的连接数,Pcpu表示为CPU的权重,Pstore表示为资源可用量的权重,Rj表示为资源可用量,Pwidth为届时带宽的权重,Wj是普通点j的届时带宽,Pdelay为届时延时的权重,Dj是普通节点j的届时时延。
步骤303:根据所述选举得分,从普通节点中选择第二云节点。
步骤304:所述第二云节点重构集群簇,获得第二集群簇。
步骤305:所述普通节点加入所述第二集群簇。
在集群簇重构中,改变了以往节点角色相对固定的常态,称为对称式集群簇构建方法。针对窄带宽情况,和完全对称式的集群相比,对称式集群簇拥有云中心的集群通讯效率更高,节点间数据集中在云节点间传输,总体传输压力更小。
步骤303中,从普通节点中选择第二云节点的方法包括:
步骤311:判断最优选举得分的普通节点是否为多个。
若是,执行步骤312:随机选择一个普通节点作为第二节点,执行步骤314。
若否,执行步骤313:将最优选举得分的普通节点作为第二节点,执行步骤314。
步骤314:所述第二节点向普通节点发送要约请求。
步骤315:判断同意所述要约请求的普通节点比例是否超过第二域值,如R2%。
若超过第二域值,执行步骤316:将所述第二节点作为第二云节点重构集群簇;
若没有超过第二域值,执行步骤317:所述第二节点放弃选举。
步骤101中,如图3所示,多个集群簇构建的方法包括:
步骤401:集群的节点依据自身的选举条件信息,获得选举得分。选举得分可以根据公式1计算获得。
步骤402:通过集群广播,同步所述选举得分,其中选举得分可以记录在ScoreMap中。集群广播的方式进行信息同步,提高了集群信息传递的透明度,集群广播还可以同步以下信息:云中心纳管节点信息、云中心资源利用情况、云中心网络情况、本集群IP及token信息等。
步骤403:所述节点根据所述选举得分,选择N个第一节点,并向所述第一节点发送同意信息。若存在平票情况,则随机选择前N个节点。
步骤404:判断所述第一节点的同意信息量是否超过第一域值,如同意信息占比超过R1%。
若超过第一域值,执行步骤405:所述第一节点作为第一云节点构建集群簇,向普通节点发送加入集群簇的信息,包括集群簇的masterIP和token信息,执行步骤406。必要时,第一节点先卸载普通节点环境后,组建云节点环境,并向普通腻了点广播IP信息和token信息。
执行步骤406:普通节点随机加入集群簇,或根据优先级加入集群簇。普通节点根据IP和token信息加入集群簇,优先极可以根据公式2计算得到。
若没有超过第一域值,执行步骤407:所述第一节点放弃选举。
集群簇构建后,云节点和普通节点启动相应的工作,如云边通信、信息广播、日志监控、容器管理、设备端接入等。集群簇管理节点维护集群间的信息同步,在建立集群成功之后,向各集群master发送自身集群的信息,包括masterIP、token信息、节点连接情况。
集群中,云边通过云边通信模块进行信息同步,全局集群信息通过configmap保存,下发至边缘节点,configmap内容具体如下:
本发明还提供一种用于实现上述集群构建方法的系统,如图4所示,包括故障检测模块1、自主选主模块2和选举模块3,
故障检测模块1用于判断云节点11是否故障;
若是,普通节点12采用以下任一措施或它们的组合:
普通节点12自主自治、通过自主选主模块2加入现有集群簇13、通过选举模块3重建集群簇。
所述系统还可以包括云边通信模块4、日志监控模块5、信息广播模块6、容器运行时模块7和传感器接入模块8,
云边通信模块4用于云节点和普通节点的通信,云节点和普通节点都可以部署云边通信模块;
容器运行时模块5用于管理容器运行;
日志监控模块6用于容器运行日志的收集和处理;
信息广播模块7用于维护集群簇中的信息同步;
传感器接入模块8用于管理接入设备。
其中,自主选主模块2用于获得现有集群簇的信息,所述信息包括集群簇状态、连接情况、资源情况和带宽情况;根据所述集群簇的信息,获得集群簇的优先级;根据所述优先级,选择并加入现有集群簇。
选举模块3用于获得普通节点的选举条件信息,所述选举条件信息包括CPU信息、内存资源信息、届时宽带和届时时延;根据选举条件信息,获得选举得分;根据所述选举得分,选择云节点;所述云节点构建集群簇。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。