CN114338612B - 一种组播地址的动态分配方法、系统、设备及存储介质 - Google Patents
一种组播地址的动态分配方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN114338612B CN114338612B CN202111580004.8A CN202111580004A CN114338612B CN 114338612 B CN114338612 B CN 114338612B CN 202111580004 A CN202111580004 A CN 202111580004A CN 114338612 B CN114338612 B CN 114338612B
- Authority
- CN
- China
- Prior art keywords
- multicast address
- target cluster
- multicast
- interval
- cluster
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种组播地址的动态分配方法,包括:实时监控所述集群的配置状态是否发生变化;当监控到一个所述集群的配置状态发生变化时,将配置状态发生变化的所述集群作为目标集群,根据所述目标集群的配置状态的变化情况,判断是否需要为所述目标集群重新分配组播地址;若是则获取所述目标集群重新分配组播地址前的组播地址区间Cn,并根据所述目标集群的配置状态的变化情况,确定所述目标集群所需重新分配的组播地址数量num;根据所述组播地址区间Cn和所述组播地址数量num,在所述连续区间内确定所述目标集群所需重新分配的组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间。
Description
技术领域
本发明涉及组播地址分配技术领域,更具体地,涉及一种组播地址的动态分配方法、系统、设备及存储介质。
背景技术
通常情况下,多套物理上的拼接墙都搭建在同一个场地内,并且都有“互联互通”的需求,所以它们也经常处于同一个网络中。另外,为了保证窗口跨屏的同步性、以及减少处理器的发送负载,在拼接墙系统内都以“组播”方式发送码流。
由此可见,当多套拼接系统同时存在一个网络中时,必须要保证所使用的组播地址在整个局域网中是唯一的,否则会出现地址冲突的问题。在以往的拼接系统中,通常采用预先分配固定的组播地址的方法,这种方法往往会引起组播地址的浪费以及带来一系列专业复杂的配置操作等问题,因此,如何合理地分配组播地址来解决地址冲突问题外,还要保证所分配的地址能够满足墙规模发生变化的使用场景,并且要尽可能地节约使用组播地址,已经成为拼接墙系统中必须解决的难题。
发明内容
本发明旨在克服上述现有技术的至少一种缺陷,提供一种组播地址的动态分配方法、系统、设备及存储介质,用于解决同一网络内多套拼接系统的组播地址冲突问题。
本发明采取的技术方案是,一种组播地址的动态分配方法,用于为多个集群分配组播地址,一个所述集群对应设有一个组播地址区间且多个所述组播地址区间组成连接区间,所述方法包括:
实时监控所述集群的配置状态是否发生变化;
当监控到一个所述集群的配置状态发生变化时,将配置状态发生变化的所述集群作为目标集群,
根据所述目标集群的配置状态的变化情况,判断是否需要为所述目标集群重新分配组播地址;
若是则获取所述目标集群重新分配组播地址前的组播地址区间Cn,并根据所述目标集群的配置状态的变化情况,确定所述目标集群所需重新分配的组播地址数量num;
根据所述组播地址区间Cn和所述组播地址数量num,在所述连续区间内确定所述目标集群所需重新分配的组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间。
本发明通过监控集群的配置状态的变化情况来判断是否为变化的目标集群重新分配组播地址,实现尽可能地避免频繁地进行组播地址的分配,节约组播地址的使用;在判定为目标集群分配组播地址后,确定目标集群所需重新分配的组播地址数量num和组播地址区间Ct,以及其它集群的组播地址区间,动态地分配组播地址以适应集群的变化、满足最大开窗数,而且组播地址区间采用连续区间,可以减少组播地址碎片的产生,进一步节约组播地址的使用。
进一步地,根据所述目标集群的配置状态的变化情况,确定所述目标集群所需重新分配的组播地址数量num,包括:
根据配置状态发生变化后的所述目标集群的拼接显示节点数量和每个拼接显示节点的最大开窗数量,确定所述目标集群所需重新分配的组播地址数量num。
本发明根据目标集群的配置状态的变化情况判定需要为目标集群重新分配组播地址时,根据配置状态发生变化后的目标集群的拼接显示节点的数量、目标集群中每个拼接显示节点的最大开窗数量,可以计算得到目标集群所需分配的组播地址数量num。
进一步地,根据所述组播地址区间Cn和所述组播地址数量num,在所述连续区间内确定所述目标集群所需重新分配的组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间,包括:
记所述组播地址区间的Cn的起始地址为Cn1和结束地址Cn2;所述目标集群重新分配组播地址区间前所述连续区间内第一个组播地址区间Cfirst的起始地址为Cfirst1和结束地址为Cfirst2、最后一个组播地址区间Clast的起始地址为Clast1和结束地址为Clast2;所述连续区间的最小组播地址为Start,
当所述组播地址区间Cn等于所述组播地址区间Cfirst时,根据所述结束地址Cfirst2、所述组播地址数量num和最小组播地址Start,确定所述组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间;
当所述组播地址区间Cn等于所述组播地址区间Clast时,根据所述结束地址Clast1、所述组播地址数量num,确定所述组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间;
当所述组播地址区间Cn不等于所述组播地址区间Cfirst且不等于所述组播地址区间Clast时,根据所述起始地址Cn1、所述结束地址Cn2,和所述组播地址数量num,确定所述组播地址Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间。
进一步地,当所述组播地址区间Cn等于所述组播地址区间Cfirst时,根据所述结束地址Cfirst2、所述组播地址数量num和最小组播地址Start,确定所述组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间,包括:
当所述组播地址区间Cn等于所述组播地址区间Cfirst时,根据所述结束地址Cfirst2和所述组播地址数量num,确定所述组播地址区间Ct的起始地址Ct1为Cfirst2–num+1,
若所述起始地址Ct1大于等于所述最小组播地址Start,则所述目标集群所需分配的组播地址区间Ct为[Cfirst2–num+1,Cfirst2],除所述目标集群以外的其它所述集群的组播地址区间保持不变,
若所述起始地址Ct1小于所述最小组播地址Start,则所述目标集群所需分配的所述组播地址区间Ct为[Start,Start+num-1],除所述目标集群以外的其它所述集群的组播地址区间从Start+num开始在所述连续区间向上分配;
当所述组播地址区间Cn等于所述组播地址区间Clast时,根据所述结束地址Clast1、所述组播地址数量num,确定所述组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间,包括:
当所述组播地址区间Cn等于所述组播地址区间Clast时,根据所述结束地址Clast1、所述组播地址数量num,确定所述目标集群所需分配的所述组播地址区间Ct为[Clast1,Clast1+num-1],除所述目标集群以外的其它所述集群的组播地址区间保持不变;
当所述组播地址区间Cn不等于所述组播地址区间Cfirst且不等于所述组播地址区间Clast时,根据所述起始地址Cn1、所述结束地址Cn2,和所述组播地址数量num,确定所述组播地址Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间,包括:
当所述组播地址区间Cn不等于所述组播地址区间Cfirst且不等于所述组播地址区间Clast时,根据所述起始地址Cn1、所述结束地址Cn2和所述组播地址数量num,确定所述起始地址Ct1为Cn2–num+1,
若所述起始地址Ct1小于所述起始地址Cn1,则所述目标集群所需分配的组播地址区间Ct为[Cn1,Cn1+num-1],所述目标集群的后一个所述集群至最后一个所述集群的组播地址区间从Cn1+num开始在所述连续区间向上分配,所述目标集群的前一个所述集群至第一个所述集群的组播地址区间保持不变,
若所述起始地址Ct1大于等于所述起始地址Cn1,则所述目标集群所需分配的组播地址区间Ct为[Cn2-num+1,Cn2],所述目标集群的前一个所述集群至第一个所述集群的组播地址区间从Cn2-num开始在连续区间向下分配,所述目标集群的后一个所述集群至最后一个所述集群的组播地址区间保持不变。
本发明采用组播地址连续的原则,根据目标集群所需分配的组播地址数量和重新分配前的集群的组播地址区间,来确定目标集群重新分配的组播地址区间,目标集群重新分配的组播地址区间内的多个组播地址为连续地址,可以减少组播地址碎片的产生,节约组播地址的使用。
进一步地,所述目标集群的配置状态的变化情况包括建立集群、删除集群、集群的拼接显示节点数量增加、集群的拼接显示节点数量减少,
根据所述目标集群的配置状态的变化情况,判断是否需要为所述目标集群重新分配组播地址,包括:
当所述目标集群的配置状态的变化情况为建立集群和删除集群时,判定需要为所述目标集群重新分配组播地址;
当所述目标集群的配置状态的变化情况为集群的拼接显示节点数量增加时,根据所述目标集群的配置状态发生变化前的拼接显示节点数量、所述目标集群的配置状态发生变化后的拼接显示节点数量、所述目标集群重新分配组播地址前的组播地址数量、所述目标集群的配置状态发生变化后的拼接显示节点的开窗数量,继续判断是否需要为所述目标集群重新分配组播地址;
当所述目标集群的配置状态的变化情况为集群的拼接显示节点数量减少时,根据所述目标集群的配置状态发生变化前的所述目标集群的拼接显示节点数量、所述目标集群的配置状态发生变化后的拼接显示节点数量,继续判断是否需要为所述目标集群重新分配组播地址。
本发明通过目标集群四种配置状态的变化情况,判断是否为目标集群重新分配组播地址,目的是为了尽可能避免频繁地组播地址的分配,而是尽量使用原来的组播地址。
进一步地,当所述目标集群的配置状态的变化情况为集群的拼接显示节点数量增加时,根据所述目标集群的配置状态发生变化前的拼接显示节点数量、所述目标集群的配置状态发生变化后的拼接显示节点数量、所述目标集群重新分配组播地址前的组播地址数量、所述目标集群的配置状态发生变化后的拼接显示节点的开窗数量,继续判断是否需要为所述目标集群重新分配组播地址,包括:
若所述目标集群的配置状态发生变化后的拼接显示节点数量大于所述目标集群的配置状态发生变化前的拼接显示节点数量的两倍,则判定需要为所述目标集群重新分配组播地址;
或者若所述目标集群的配置状态发生变化前的组播地址数量小于所述目标集群的配置状态发生变化后的拼接显示节点的开窗数量,则判定需要为所述目标集群重新分配组播地址;
否则判定不需要为所述目标集群重新分配组播地址。
进一步地,当所述目标集群的配置状态的变化情况为集群的拼接显示节点数量减少时,根据所述目标集群的配置状态发生变化前的所述目标集群的拼接显示节点数量、所述目标集群的配置状态发生变化后的拼接显示节点数量,继续判断是否需要为所述目标集群重新分配组播地址,包括:
若所述目标集群的配置状态发生变化后的所述目标集群的拼接显示节点数量小于所述目标集群的配置状态发生变化前的所述目标集群的拼接显示节点数量的四分之一,则判定需要为所述目标集群重新分配组播地址,否则判定为不需要为所述目标集群重新分配组播地址。
本发明采取的另一种技术方案是,一种组播地址的动态分配系统,用于为多个集群分配组播地址,一个所述集群对应设有一个组播地址区间且多个所述组播地址区间组成连续区间,包括:
实时监控模块,用于实时监控所述集群的配置状态是否发生变化;
变化判断模块,用于当监控到一个所述集群的配置状态发生变化时,将配置状态发生变化的所述集群作为目标集群,根据所述目标集群的配置状态的变化情况,判断是否需要为所述目标集群重新分配组播地址;
确定数量模块,用于若是则获取所述目标集群重新分配组播地址区间前的组播地址区间Cn,并根据所述目标集群的配置状态的变化情况,确定所述目标集群所需重新分配的组播地址数量num;
确定区间模块,用于根据所述组播地址区间Cn以及所述组播地址数量num,在所述连续区间确定所述目标集群所需重新分配的组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间。
本发明采取的另一种技术方案是,一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述的一种组播地址的动态分配方法的步骤。
本发明采取的另一种技术方案是,一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现所述的一种组播地址的动态分配方法的步骤。
与现有技术相比,本发明的有益效果为:本发明一种组播地址的动态分配方法、系统、设备及存储介质,可以动态地分配组播地址,无需用户进行任何配置;通过监控集群的配置状态的变化情况来判断是否为变化的目标集群重新分配组播地址,实现尽可能地避免频繁地进行组播地址的分配,节约组播地址的使用;在判定为目标集群分配组播地址后,确定目标集群所需重新分配的组播地址数量num和组播地址区间Ct,以及其它集群的组播地址区间,解决同一网络中多套拼接墙系统的组播地址冲突的问题,保证所分配的地址满足拼接墙规模变化后的使用场景、满足最大的开窗数。
附图说明
图1为本发明一种组播地址的动态分配方法的流程图。
图2为本发明一种组播地址的动态分配系统的结构图。
图3为当Cn=Cfirst且Ct1大于等于Start时组播地址区间Ct的一种计算说明图。
图4为当Cn=Cfirst且Ct1小于Start时组播地址区间Ct的一种计算说明图。
图5为当Cn=Clast时组播地址区间Ct的一种计算说明图。
图6为当Cn不等于Cfirst且不等于Clast,Ct1小于Cn1时组播地址区间Ct的一种计算说明图。
图7为当Cn不等于Cfirst且不等于Clast,Ct1大于等于Cn1时组播地址区间Ct的一种计算说明图。
图8为本发明一种电子设备的结构示意图。
具体实施方式
本发明附图仅用于示例性说明,不能理解为对本发明的限制。
在控制室的拼接应用场景中,一般会对拼接墙的应用功能进行定义,然后根据每个不同功能应用来配套不同的规模的拼接墙系统。每套拼接墙系统对应有一个集群,集群具体指的是一套拼接墙系统中所有拼接显示节点的集合,一个集群对应有一个组播地址段,组播地址段也称为组播地址区间,一个组播地址区间可以包括一个或多个组播地址。在本发明中,多套拼接墙系统对应有多个集群,多个集群对应有多个组播地址区间,多个组播地址区间组成连续区间,每个组播地址区间内的多个组播地址为连续的组播地址,且从默认的起始地址进行连续分配。
本发明提出的一种组播地址的动态分配方法,可以动态地分配组播地址,无需用户进行任何配置;可以解决同一网络中多套拼接墙系统的组播地址冲突的问题,保证所分配的地址满足拼接墙规模变化后的使用场景、满足最大的开窗数;而且采用组播地址连续的思想,可以减少组播地址碎片的产生,尽可能地节约使用组播地址,方便将其它连续的组播地址分配给其它应用系统。
实施例1
如图1所示为本实施例一种组播地址的动态分配方法的流程图,本实施例用于为多个集群分配组播地址,一个所述集群对应设有一个组播地址区间且多个所述组播地址区间组成连接区间,所述方法包括:
步骤S101、实时监控所述集群的配置状态是否发生变化;
步骤S102、当监控到一个所述集群的配置状态发生变化时,将配置状态发生变化的所述集群作为目标集群,根据所述目标集群的配置状态的变化情况,判断是否需要为所述目标集群重新分配组播地址;
步骤S103、若是则获取所述目标集群重新分配组播地址前的组播地址区间Cn,并根据所述目标集群的配置状态的变化情况,确定所述目标集群所需重新分配的组播地址数量num;
步骤S104、根据所述组播地址区间Cn和所述组播地址数量num,在所述连续区间内确定所述目标集群所需重新分配的组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间。
从本实施例整体的方法流程来看,首先,实时监控多套拼接墙系统中集群的配置状态是否发生变化;其次,当监控到一个集群的配置状态发生变化时,根据目标集群的配置状态的变化情况,判断是否需要为目标集群重新分配组播地址;然后,若判定为需要重新分配组播地址时,确定目标集群所需重新分配的组播地址数量num;最后,确定目标集群所需重新分配的组播地址区间Ct,再根据连续组播地址区间的原则,确定其它集群的组播地址区间。
对于步骤S101,具体的监控过程为:在拼接墙系统内,广播搜索同一个网络内所有集群的配置信息,并保存所有集群的配置信息,集群的配置信息包括拼接墙系统的配置信息、拼接墙的系统标识和当前使用的组播地址段等。其中,拼接墙的系统标识是全局唯一,也就是每个集群都有一个唯一的标识,该标识在之前的配墙环节中产生。搜索并保存多套拼接墙系统中所有集群的配置信息,其目的是为了实现实时监控集群的配置状态是否发生变化。
对于步骤S102,所述目标集群的配置状态的变化情况包括四种,分别为建立集群、删除集群、集群的拼接显示节点数量增加、集群的拼接显示节点数量减少。因此,当监控到一个集群的配置状态发生变化时,将配置状态发生变化的集群定义为目标集群,根据所述目标集群的配置状态的变化情况,判断是否需要为所述目标集群重新分配组播地址,具体的判断过程为:
当所述目标集群的配置状态的变化情况为建立集群和删除集群时,判定需要为所述目标集群重新分配组播地址;
当所述目标集群的配置状态的变化情况为集群的拼接显示节点数量增加时,根据所述目标集群的配置状态发生变化前的拼接显示节点数量u1、所述目标集群的配置状态发生变化后的拼接显示节点数量u2、所述目标集群重新分配组播地址前的组播地址数量num1、所述目标集群的配置状态发生变化后的拼接显示节点的开窗数量wincount,继续判断是否需要为所述目标集群重新分配组播地址;
更加具体地,当所述目标集群的配置状态的变化情况为集群的拼接显示节点数量增加时,继续判断是否需要为所述目标集群重新分配组播地址,主要有以下两种判断情况:
其一,若所述目标集群的配置状态发生变化后的拼接显示节点数量u2大于所述目标集群的配置状态发生变化前的拼接显示节点数量u1的两倍,则判定需要为所述目标集群重新分配组播地址,也即是当u2>2*u1时,需要为目标集群重新分配组播地址;
其二,若所述目标集群的配置状态发生变化前的组播地址数量num1小于所述目标集群的配置状态发生变化后的拼接显示节点的开窗数量wincount,则判定需要为所述目标集群重新分配组播地址,也即是当num<winCount时,需要为目标集群重新分配组播地址。
当所述目标集群的配置状态的变化情况为集群的拼接显示节点数量减少时,根据所述目标集群的配置状态发生变化前的所述目标集群的拼接显示节点数量u1、所述目标集群的配置状态发生变化后的拼接显示节点数量u2,继续判断是否需要为所述目标集群重新分配组播地址。
更加具体地,当所述目标集群的配置状态的变化情况为集群的拼接显示节点数量减少时,继续判断是否需要为所述目标集群重新分配组播地址,主要有以下一种判断情况:
若所述目标集群的配置状态发生变化后的所述目标集群的拼接显示节点数量u2小于所述目标集群的配置状态发生变化前的所述目标集群的拼接显示节点数量u1的四分之一,则判定需要为所述目标集群重新分配组播地址,也即是当u2<u1/4时,需要为目标集群重新分配组播地址,否则判定不需要为所述目标集群重新分配组播地址。
对于步骤S3,当判定需要为目标集群重新分配组播地址时,根据以上四种目标集群的配置状态的变化情况,确定所述目标集群所需重新分配的组播地址数量num,具体组播地址数量的计算过程为:
根据配置状态发生变化后的所述目标集群的拼接显示节点数量u和每个拼接显示节点的最大开窗数量n,确定所述目标集群所需重新分配的组播地址数量num。更加具体地,所需分配的组播地址数量mun=u*n。
对于步骤S4,
分别记所述组播地址区间的Cn的起始地址为Cn1和结束地址Cn2;
所述目标集群重新分配组播地址区间前所述连续区间内第一个组播地址区间Cfirst的起始地址为Cfirst1和结束地址为Cfirst2;
所述目标集群重新分配组播地址区间前所述连续区间内最后一个组播地址区间Clast的起始地址为Clast1和结束地址为Clast2;
所述连续区间的最小组播地址为Start。
确定所述目标集群所需重新分配的组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间的具体计算过程包括以下三种方法:
第一,当所述组播地址区间Cn等于所述组播地址区间Cfirst时,根据所述结束地址Cfirst2、所述组播地址数量num和最小组播地址Start,确定所述组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间;
更加具体地,当所述组播地址区间Cn等于所述组播地址区间Cfirst时,根据所述结束地址Cfirst2和所述组播地址数量num,确定所述组播地址区间Ct的起始地址Ct1为Cfirst2–num+1,
若所述起始地址Ct1大于等于所述最小组播地址Start,则所述目标集群所需分配的组播地址区间Ct为[Cfirst2–num+1,Cfirst2],除所述目标集群以外的其它所述集群的组播地址区间保持不变,
若所述起始地址Ct1小于所述最小组播地址Start,则所述目标集群所需分配的所述组播地址区间Ct为[Start,Start+num-1],除所述目标集群以外的其它所述集群的组播地址区间从Start+num开始在所述连续区间向上分配;
当Cn=Cfirst时,且Ct1大于等于Start时,如图3所示为计算目标集群所需重新分配的组播地址区间所作的一种示例性说明:
现假设目标集群所需重新分配的组播地址数量num=16,最小组播地址start=234.0.0.0,目标集群重新分配组播地址区间前所述连续区间内第一个组播地址区间Cfirst为[234.0.0.0,234.0.0.31],起始地址Cfirst1为234.0.0.0,结束地址Cfirst2为234.0.0.31,
首先,计算组播地址区间Ct的起始地址Ct1=Cfirst2–num+1=234.0.0.16;
其次,起始地址Ct1=234.0.0.16大于最小组播地址start=234.0.0.0,则目标集群所需分配的组播地址区间为Ct为[234.0.0.16,234.0.0.31],除所述目标集群以外的其它集群的组播地址区间保持不变。
当Cn=Cfirst时,且Ct1小于Start时,如图4所示为计算目标集群所需重新分配的组播地址区间所作的一种示例性说明:
现假设目标集群所需重新分配的组播地址数量num=64,最小组播地址start=234.0.0.0,目标集群重新分配组播地址区间前所述连续区间内第一个组播地址区间Cfirst为[234.0.0.0,234.0.0.31],起始地址Cfirst1为234.0.0.0,结束地址Cfirst2为234.0.0.31,
首先,计算组播地址区间Ct的起始地址Ct1=Cfirst2–num+1;
其次,起始地址Ct1小于最小组播地址start=234.0.0.0,则Ct1=234.0.0.0,目标集群所需分配的组播地址区间为Ct为[234.0.0.0,234.0.0.63],除所述目标集群以外的其它集群的组播地址区间从Start+num开始在连续区间向上分配,也即是从234.0.0.64向上分配给其它集群。
第二,当所述组播地址区间Cn等于所述组播地址区间Clast时,根据所述结束地址Clast1、所述组播地址数量num,确定所述组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间;
更加具体地,当所述组播地址区间Cn等于所述组播地址区间Clast时,根据所述结束地址Clast1、所述组播地址数量num,确定所述目标集群所需分配的所述组播地址区间Ct为[Clast1,Clast1+num-1],除所述目标集群以外的其它所述集群的组播地址区间保持不变;
当Cn=Clast时,如图5所示为计算目标集群所需重新分配的组播地址区间所作的一种示例性说明:
现假设目标集群所需重新分配的组播地址数量num=16,最小组播地址start=234.0.0.0,目标集群重新分配组播地址区间前所述连续区间内最后一个组播地址区间Clast为[234.0.0.64,234.0.0.95],起始地址Clast1为234.0.0.64,结束地址Clast2为234.0.0.95,
计算得到目标集群所需分配的组播地址区间Ct为[234.0.0.64,234.0.0.79],除所述目标集群以外的其它集群的组播地址区间保持不变。
第三,当所述组播地址区间Cn不等于所述组播地址区间Cfirst且不等于所述组播地址区间Clast时,根据所述起始地址Cn1、所述结束地址Cn2,和所述组播地址数量num,确定所述组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间。
更加具体地,当所述组播地址区间Cn不等于所述组播地址区间Cfirst且不等于所述组播地址区间Clast时,根据所述起始地址Cn1、所述结束地址Cn2和所述组播地址数量num,确定所述起始地址Ct1为Cn2–num+1,
若所述起始地址Ct1小于所述起始地址Cn1,则所述目标集群所需分配的组播地址区间Ct为[Cn1,Cn1+num-1],所述目标集群的后一个所述集群至最后一个所述集群的组播地址区间从Cn1+num开始在所述连续区间向上分配,所述目标集群的前一个所述集群至第一个所述集群的组播地址区间保持不变,
若所述起始地址Ct1大于等于所述起始地址Cn1,则所述目标集群所需分配的组播地址区间Ct为[Cn2-num+1,Cn2],所述目标集群的前一个所述集群至第一个所述集群的组播地址区间从Cn2-num开始在连续区间向下分配,所述目标集群的后一个所述集群至最后一个所述集群的组播地址区间保持不变。
当Cn不等于Cfirst且不等于Clast时,且Ct1小于Cn1时,如图6所示为计算目标集群所需重新分配的组播地址区间所作的一种示例性说明:
现假设目标集群所需重新分配的组播地址数量num=64,最小组播地址start=234.0.0.0,目标集群重新分配组播地址区间前的组播地址区间Cn为[234.0.0.32,234.0.0.63],目标集群重新分配组播地址区间前所述连续区间内第一个组播地址区间Cfirst为[234.0.0.0,234.0.0.31],目标集群重新分配组播地址区间前所述连续区间内最后一个组播地址区间Clast为[234.0.0.64,234.0.0.95],
首先,计算组播地址区间Ct的起始地址Ct1=Cn2–num+1=234.0.0.0;
其次,起始地址Ct1=234.0.0.0小于起始地址Cn1=234.0.0.32,则目标集群所需分配的组播地址区间为Ct为[234.0.0.32,234.0.0.95],目标集群的后一个集群至最后一个集群的组播地址区间从Cn1+num=234.0.0.96开始在连续区间向上分配,目标集群的前一个集群至第一个集群的组播地址区间保持不变。
当Cn不等于Cfirst且不等于Clast时,且Ct1大于等于Cn1时,如图7所示为计算目标集群所需重新分配的组播地址区间所作的一种示例性说明:
现假设目标集群所需重新分配的组播地址数量num=8,最小组播地址start=234.0.0.0,目标集群重新分配组播地址区间前的组播地址区间Cn为[234.0.0.32,234.0.0.63],目标集群重新分配组播地址区间前所述连续区间内第一个组播地址区间Cfirst为[234.0.0.0,234.0.0.31],目标集群重新分配组播地址区间前所述连续区间内最后一个组播地址区间Clast为[234.0.0.64,234.0.0.95],
首先,计算组播地址区间Ct的起始地址Ct1=Cn2–num+1=234.0.0.56;
其次,起始地址Ct1=234.0.0.56大于起始地址Cn1=234.0.0.32,则目标集群所需分配的组播地址区间为Ct为[234.0.0.56,234.0.0.63],目标集群的前一个集群至第一个集群的组播地址区间从Cn2-num=234.0.0.55开始在连续区间向上分配,目标集群的后一个集群至最后一个集群的组播地址区间保持不变。
最后,接收所有集群的组播地址更新消息后,通过广播消息通知所有集群更新组播地址,并保存最新的集群的配置信息,并使用最新的组播地址进行数据的发送与接收。
实施例2
如图2所示为本发明一种组播地址的动态分配系统的结构图,本实施例是实施例1所述方法通过模块实现其功能的系统,具体原理可参照实施例1方法内容,其系统包括以下模块:
一种组播地址的动态分配系统,用于为多个集群分配组播地址,一个所述集群对应设有一个组播地址区间且多个所述组播地址区间组成连续区间,包括:
实时监控模块201,用于实时监控所述集群的配置状态是否发生变化;
变化判断模块202,用于当监控到一个所述集群的配置状态发生变化时,将配置状态发生变化的所述集群作为目标集群,根据所述目标集群的配置状态的变化情况,判断是否需要为所述目标集群重新分配组播地址;
确定数量模块203,用于若是则获取所述目标集群重新分配组播地址区间前的组播地址区间Cn,并根据所述目标集群的配置状态的变化情况,确定所述目标集群所需重新分配的组播地址数量num;
确定区间模块204,用于根据所述组播地址区间Cn以及所述组播地址数量num,在所述连续区间确定所述目标集群所需重新分配的组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间。
如图8所示,本发明实施例还提供一种电子设备,可以包括:处理器(processor)310、通信接口(Communication Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以执行存储器330中的计算机程序,以实现一种组播地址的动态分配方法的步骤。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明采取的另一种优选实施方式是,一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现所述的一种组播地址的动态分配方法的步骤。
另一方面,本申请实施例还提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述各实施例提供的一种组播地址的动态分配方法的步骤。
所述可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
显然,本发明的上述实施例仅仅是为清楚地说明本发明技术方案所作的举例,而并非是对本发明的具体实施方式的限定。凡在本发明权利要求书的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (8)
1.一种组播地址的动态分配方法,用于为多个集群分配组播地址,一个所述集群对应设有一个组播地址区间且多个所述组播地址区间组成连续区间,其特征在于,所述方法包括:
实时监控所述集群的配置状态是否发生变化;
当监控到一个所述集群的配置状态发生变化时,将配置状态发生变化的所述集群作为目标集群;
根据所述目标集群的配置状态的变化情况,判断是否需要为所述目标集群重新分配组播地址;
若是则获取所述目标集群重新分配组播地址前的组播地址区间Cn,并根据所述目标集群的配置状态的变化情况,确定所述目标集群所需重新分配的组播地址数量num;
根据所述组播地址区间Cn以及所述组播地址数量num,在所述连续区间确定所述目标集群所需重新分配的组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间;
根据所述目标集群的配置状态的变化情况,确定所述目标集群所需重新分配的组播地址数量num,包括:
根据配置状态发生变化后的所述目标集群的拼接显示节点数量和每个所述拼接显示节点的最大开窗数量,确定所述目标集群所需重新分配的组播地址数量num;
根据所述组播地址区间Cn以及所述组播地址数量num,在所述连续区间确定所述目标集群所需重新分配的组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间,包括:
记所述组播地址区间Cn的起始地址为Cn1和结束地址Cn2;所述目标集群重新分配组播地址区间前所述连续区间内第一个组播地址区间Cfirst的起始地址为Cfirst1和结束地址为Cfirst2、最后一个组播地址区间Clast的起始地址为Clast1和结束地址为Clast2,所述连续区间的最小组播地址为Start,
当所述组播地址区间Cn等于所述组播地址区间Cfirst时,根据所述结束地址Cfirst2、所述组播地址数量num和最小组播地址Start,确定所述组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间;
当所述组播地址区间Cn等于所述组播地址区间Clast时,根据所述结束地址Clast1、所述组播地址数量num,确定所述组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间;
当所述组播地址区间Cn不等于所述组播地址区间Cfirst且不等于所述组播地址区间Clast时,根据所述起始地址Cn1、所述结束地址Cn2,和所述组播地址数量num,确定所述组播地址Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间。
2.根据权利要求1所述的一种组播地址的动态分配方法,其特征在于,
当所述组播地址区间Cn等于所述组播地址区间Cfirst时,根据所述结束地址Cfirst2、所述组播地址数量num和最小组播地址Start,确定所述组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间,包括:
当所述组播地址区间Cn等于所述组播地址区间Cfirst时,根据所述结束地址Cfirst2和所述组播地址数量num,确定所述组播地址区间Ct的起始地址Ct1为Cfirst2–num+1,
若所述起始地址Ct1大于等于所述最小组播地址Start,则所述目标集群所需分配的组播地址区间Ct为[Cfirst2–num+1,Cfirst2],除所述目标集群以外的其它所述集群的组播地址区间保持不变,
若所述起始地址Ct1小于所述最小组播地址Start,则所述目标集群所需分配的所述组播地址区间Ct为[Start,Start+num-1],除所述目标集群以外的其它所述集群的组播地址区间从Start+num开始在所述连续区间向上分配;
当所述组播地址区间Cn等于所述组播地址区间Clast时,根据所述结束地址Clast1、所述组播地址数量num,确定所述组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,
除所述目标集群以外其它所述集群的组播地址区间,包括:
当所述组播地址区间Cn等于所述组播地址区间Clast时,根据所述结束地址Clast1、所述组播地址数量num,确定所述目标集群所需分配的所述组播地址区间Ct为[Clast1,Clast1+num-1],除所述目标集群以外的其它所述集群的组播地址区间保持不变;
当所述组播地址区间Cn不等于所述组播地址区间Cfirst且不等于所述组播地址区间Clast时,根据所述起始地址Cn1、所述结束地址Cn2,和所述组播地址数量num,确定所述组播地址Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间,包括:
当所述组播地址区间Cn不等于所述组播地址区间Cfirst且不等于所述组播地址区间Clast时,根据所述起始地址Cn1、所述结束地址Cn2和所述组播地址数量num,确定所述起始地址Ct1为Cn2–num+1,
若所述起始地址Ct1小于所述起始地址Cn1,则所述目标集群所需分配的组播地址区间Ct为[Cn1,Cn1+num-1],所述目标集群的后一个所述集群至最后一个所述集群的组播地址区间从Cn1+num开始在所述连续区间向上分配,所述目标集群的前一个所述集群至第一个所述集群的组播地址区间保持不变,
若所述起始地址Ct1大于等于所述起始地址Cn1,则所述目标集群所需分配的组播地址区间Ct为[Cn2-num+1,Cn2],所述目标集群的前一个所述集群至第一个所述集群的组播地址区间从Cn2-num开始在连续区间向下分配,所述目标集群的后一个所述集群至最后一个所述集群的组播地址区间保持不变。
3.根据权利要求1所述的一种组播地址的动态分配方法,其特征在于,所述目标集群的配置状态的变化情况包括建立集群、集群的拼接显示节点数量增加、集群的拼接显示节点数量减少、删除集群,
所述根据所述目标集群的配置状态的变化情况,判断是否需要为所述目标集群重新分配组播地址,包括:
当所述目标集群的配置状态的变化情况为建立集群和删除集群时,判定需要为所述目标集群重新分配组播地址;
当所述目标集群的配置状态的变化情况为集群的拼接显示节点数量增加时,根据所述目标集群的配置状态发生变化前的拼接显示节点数量、所述目标集群的配置状态发生变化后的拼接显示节点数量、所述目标集群重新分配组播地址前的组播地址数量和所述目标集群的配置状态发生变化后的拼接显示节点的开窗数量,继续判断是否需要为所述目标集群重新分配组播地址;
当所述目标集群的配置状态的变化情况为集群的拼接显示节点数量减少时,根据所述目标集群的配置状态发生变化前的所述目标集群的拼接显示节点数量、所述目标集群的配置状态发生变化后的拼接显示节点数量,继续判断是否需要为所述目标集群重新分配组播地址。
4.根据权利要求3所述的一种组播地址的动态分配方法,其特征在于,根据所述目标集群的配置状态发生变化前的拼接显示节点数量、所述目标集群的配置状态发生变化后的拼接显示节点数量、所述目标集群重新分配组播地址前的组播地址数量和所述目标集群的配置状态发生变化后的拼接显示节点的开窗数量,继续判断是否需要为所述目标集群重新分配组播地址,包括:
若所述目标集群的配置状态发生变化后的拼接显示节点数量大于所述目标集群的配置状态发生变化前的拼接显示节点数量的两倍,则判定需要为所述目标集群重新分配组播地址;
或者若所述目标集群的配置状态发生变化前的组播地址数量小于所述目标集群的配置状态发生变化后的拼接显示节点的开窗数量,则判定需要为所述目标集群重新分配组播地址;
否则判定不需要为所述目标集群重新分配组播地址。
5.根据权利要求4所述的一种组播地址的动态分配方法,其特征在于,根据所述目标集群的配置状态发生变化前的所述目标集群的拼接显示节点数量、所述目标集群的配置状态发生变化后的拼接显示节点数量,继续判断是否需要为所述目标集群重新分配组播地址,
包括:
若所述目标集群的配置状态发生变化后的所述目标集群的拼接显示节点数量小于所述目标集群的配置状态发生变化前的所述目标集群的拼接显示节点数量的四分之一,则判定需要为所述目标集群重新分配组播地址,否则判定为不需要为所述目标集群重新分配组播地址。
6.一种组播地址的动态分配系统,用于为多个集群分配组播地址,一个所述集群对应设有一个组播地址区间且多个所述组播地址区间组成连续区间,其特征在于,包括:
实时监控模块,用于实时监控所述集群的配置状态是否发生变化;
变化判断模块,用于当监控到一个所述集群的配置状态发生变化时,将配置状态发生变化的所述集群作为目标集群,根据所述目标集群的配置状态的变化情况,判断是否需要为所述目标集群重新分配组播地址;
确定数量模块,用于若是则获取所述目标集群重新分配组播地址区间前的组播地址区间Cn,并根据所述目标集群的配置状态的变化情况,确定所述目标集群所需重新分配的组播地址数量num;
确定区间模块,用于根据所述组播地址区间Cn以及所述组播地址数量num,在所述连续区间确定所述目标集群所需重新分配的组播地址区间Ct,以及所述目标集群重新分配组播地址区间后,除所述目标集群以外其它所述集群的组播地址区间。
7.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现权利要求1-5中任一项所述的一种组播地址的动态分配方法的步骤。
8.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的一种组播地址的动态分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111580004.8A CN114338612B (zh) | 2021-12-22 | 2021-12-22 | 一种组播地址的动态分配方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111580004.8A CN114338612B (zh) | 2021-12-22 | 2021-12-22 | 一种组播地址的动态分配方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114338612A CN114338612A (zh) | 2022-04-12 |
CN114338612B true CN114338612B (zh) | 2023-03-24 |
Family
ID=81054709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111580004.8A Active CN114338612B (zh) | 2021-12-22 | 2021-12-22 | 一种组播地址的动态分配方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338612B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452971A (zh) * | 2016-10-27 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种基于分布式集群系统的监控网口检测方法及系统 |
WO2017084618A1 (zh) * | 2015-11-18 | 2017-05-26 | 中兴通讯股份有限公司 | 共享存储式集群文件系统节点通信的监控方法及监控节点 |
CN107993589A (zh) * | 2018-01-18 | 2018-05-04 | 威创集团股份有限公司 | Dlp显示单元、拼接墙系统及拼接墙系统的ip地址分配方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7251698B2 (en) * | 2002-05-28 | 2007-07-31 | Newisys, Inc. | Address space management in systems having multiple multi-processor clusters |
CN101673534B (zh) * | 2009-09-28 | 2012-06-06 | 广东威创视讯科技股份有限公司 | 多屏显示方法及多屏显示装置 |
CN102737616B (zh) * | 2012-06-28 | 2015-07-08 | 广东威创视讯科技股份有限公司 | 大屏幕拼接墙单元位置自动识别方法及装置 |
CN103716418B (zh) * | 2013-12-20 | 2017-10-10 | 广东威创视讯科技股份有限公司 | 拼接墙系统显示单元地址信息的配置方法与装置 |
JP6561656B2 (ja) * | 2015-07-29 | 2019-08-21 | 株式会社リコー | 端末およびマルチキャスト・アドレス配布サーバ |
RU2019102666A (ru) * | 2019-01-31 | 2020-07-31 | ИЭмСи АйПи ХОЛДИНГ КОМПАНИ, ЛЛС | Подход к организации сети диспетчеризации для кластеризованных и федеративных систем хранения |
US11349807B2 (en) * | 2020-04-02 | 2022-05-31 | Cisco Technology, Inc. | Directed multicast based on multi-dimensional addressing relative to identifiable LLN properties |
-
2021
- 2021-12-22 CN CN202111580004.8A patent/CN114338612B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017084618A1 (zh) * | 2015-11-18 | 2017-05-26 | 中兴通讯股份有限公司 | 共享存储式集群文件系统节点通信的监控方法及监控节点 |
CN106452971A (zh) * | 2016-10-27 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种基于分布式集群系统的监控网口检测方法及系统 |
CN107993589A (zh) * | 2018-01-18 | 2018-05-04 | 威创集团股份有限公司 | Dlp显示单元、拼接墙系统及拼接墙系统的ip地址分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114338612A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108810100B (zh) | 一种主节点的选举方法、装置及设备 | |
CN104238712B (zh) | 分布式功率输送 | |
US8056084B2 (en) | Method and system for dynamically reallocating a resource among operating systems without rebooting of the computer system | |
CN110244901B (zh) | 任务分配方法及装置、分布式存储系统 | |
CN105245912A (zh) | 一种缓存视频数据及读取视频数据的方法及装置 | |
CN106484528A (zh) | 分布式框架中用于实现集群动态伸缩的方法及装置 | |
EP2193472A2 (en) | System and method for managing license capacity in a telecommunication network | |
CN102857370A (zh) | 一种分配资源的方法及装置 | |
CN107533435A (zh) | 存储空间的分配方法及存储设备 | |
CN104243405A (zh) | 一种请求处理方法、装置及系统 | |
US20220156115A1 (en) | Resource Allocation Method And Resource Borrowing Method | |
CN109788325B (zh) | 视频任务分配方法及服务器 | |
WO2017050064A1 (zh) | 共享内存数据库的内存管理方法及装置 | |
WO2021208147A1 (zh) | 一种有界增量图划分方法和系统 | |
WO2023284722A1 (zh) | 一种租户的资源管理方法及租户管理系统 | |
CN114518955A (zh) | 一种基于kubernetes的Flink云原生部署架构方法及系统 | |
CN114338612B (zh) | 一种组播地址的动态分配方法、系统、设备及存储介质 | |
CN114531373A (zh) | 节点状态检测方法、节点状态检测装置、设备及介质 | |
CN111190719A (zh) | 优化集群资源分配的方法、装置、介质及电子设备 | |
CN114828235A (zh) | 一种带宽分配方法、带宽分配装置及计算机可读存储介质 | |
CN104363175A (zh) | 一种资源表构建方法和装置 | |
CN111143071A (zh) | 基于mcs系统的缓存分区管理方法、系统及相关组件 | |
CN100340112C (zh) | 在使用数字接口联结的网络系统中管理系统资源的方法 | |
CN114780201A (zh) | 资源调整方法、装置、电子设备及存储介质 | |
CN112511662B (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 |