一种地理分布式系统通信方法、装置及设备

摘要: 本发明涉及分布式通信领域,尤其涉及一种地理分布式系统通信方法、装置及设备。背景技术:1、在全球化的信息技术发展趋势下,地理分布式系统的应用范围日益广泛,地理分布...
一种地理分布式系统通信方法、装置及设备

本发明涉及分布式通信领域,尤其涉及一种地理分布式系统通信方法、装置及设备。

背景技术:

1、在全球化的信息技术发展趋势下,地理分布式系统的应用范围日益广泛,地理分布式系统的作用愈发提高。

2、随着数据中心地理分布范围的不断扩大,频繁的跨域通信可能导致性能瓶颈。例如,在事务处理过程中,跨域事务需在多个数据中心协调,广域网的高时延使得通信延迟剧增,直接影响事务提交时间,导致系统吞吐量大幅下降,用户体验恶化。

3、当前,亟需一种可以有效提高地理分布式系统通信效率的方法。

技术实现思路

1、本发明提供一种地理分布式系统通信方法、装置及设备,用以解决相关技术中地理分布式系统通信效率较低的缺陷,提高地理分布式系统通信效率。

2、第一方面,本发明提供一种地理分布式系统通信方法,包括:

3、创建与地理分布式系统中多个物理节点一一对应的多个拓扑节点;以及,根据两两所述物理节点间的通信时延,创建两两所述拓扑节点间的边,所述边的长度为对应两个所述物理节点间的通信时延;

4、根据两两所述拓扑节点间的边,确定两两所述拓扑节点间的最短通信路径;

5、基于每个所述拓扑节点和每个所述最短通信路径构建目标拓扑结构,所述目标拓扑结构中包括每个所述拓扑节点和每个所述最短通信路径中的所述边;

6、根据所述目标拓扑结构对所述多个拓扑节点进行分组,以得到至少一个拓扑节点组,每个所述拓扑节点组中包括组长节点和组员节点;

7、基于每个所述拓扑节点组中的所述组长节点和所述组员节点,控制每个所述物理节点间的通信。

8、可选的,所述根据两两所述拓扑节点间的边,确定两两所述拓扑节点间的最短通信路径,包括:

9、根据每个所述拓扑节点和两两所述拓扑节点间的边构建初始拓扑结构,所述初始拓扑结构中包括每个所述拓扑节点和两两所述拓扑节点间的边;

10、对于所述初始拓扑结构中的任意两个所述拓扑节点,确定两个所述拓扑节点间的每个通信路径,分别根据每个所述通信路径中所述边的长度,统计每个所述通信路径的长度,根据每个所述通信路径的长度确定两个所述拓扑节点间的最短通信路径;

11、所述基于每个所述拓扑节点和每个所述最短通信路径构建目标拓扑结构,包括:

12、在所述初始拓扑结构中确定所有所述最短通信路径均未经过的所述边,并作为目标边;

13、在所述初始拓扑结构中对每个所述目标边进行剪枝,得到所述目标拓扑结构。

14、可选的,所述根据所述目标拓扑结构对所述多个拓扑节点进行分组,以得到至少一个拓扑节点组,包括:

15、分别确定所述目标拓扑结构的每个所述最短通信路径中的每个中间节点;

16、统计所述中间节点的总数,若所述中间节点的总数大于0,则根据所述中间节点的总数确定至少一个组长节点数量,并遍历每个所述中间节点;

17、对于遍历到的任一所述中间节点,在每个所述最短通信路径中确定经过所述中间节点的第一通信路径,确定每个所述第一通信路径的长度,在每个所述第一通信路径的长度中确定出最大长度,并将所述最大长度作为所述中间节点的重要度;

18、对于任一所述组长节点数量m,在每个所述中间节点的重要度中确定出最大的m个重要度,将所述m个重要度对应的所述中间节点分别作为初始组长节点,分别根据每个所述初始组长节点确定对应的初始拓扑节点组,每个所述初始拓扑节点组中均包括所述初始组长节点和对应的初始组员节点,将每个所述初始拓扑节点组整体作为所述组长节点数量对应的初始分组方案;

19、根据每个所述初始分组方案的通信时延确定最终分组方案,并将所述最终分组方案中的每个所述初始拓扑节点组确定为所述拓扑节点组,将每个所述拓扑节点组中的所述初始组长节点和所述初始组员节点分别确定为所述组长节点和所述组员节点。

20、可选的,所述根据所述中间节点的总数确定至少一个组长节点数量,包括:

21、对所述中间节点的总数进行开平方,得到相应的开平方值;

22、若所述开平方值为整数,则直接确定所述开平方值为所述组长节点数量m;

23、若所述开平方值非整数,则分别对所述开平方值进行向上取整和向下取整,得到上取整数和下取整数,将所述上取整数和所述下取整数均确定为所述组长节点数量m。

24、可选的,所述分别根据每个所述初始组长节点确定对应的初始拓扑节点组,包括:

25、对于除每个所述初始组长节点之外的任一第一拓扑节点:若从所述第一拓扑节点至任一第二拓扑节点的最短通信路径均为直达路径,则将所述第一拓扑节点确定为所述初始组长节点,并单独作为一个所述初始拓扑节点组;其中,所述第二拓扑节点为除所述第一拓扑节点之外的所述拓扑节点;

26、若从所述第一拓扑节点至任一所述第二拓扑节点的最短通信路径中,存在至少一个非直达路径,且至少一个所述非直达路径中包括有属于中间节点的所述初始组长节点,则确定所述第一拓扑节点为组员身份节点,将每个包括有属于中间节点的所述初始组长节点的所述非直达路径确定为第二通信路径,并统计所述第二通信路径的数量;

27、当所述第二通信路径的数量为1个,所述第二通信路径中属于中间节点的所述初始组长节点的数量为1时,直接将所述第一拓扑节点作为所述第二通信路径中所述初始组长节点的所述初始组员节点;

28、当所述第二通信路径的数量为多个,每个所述第二通信路径中属于中间节点的所述初始组长节点的数量均为1时,在每个所述第二通信路径中确定出长度最大的所述第二通信路径,并将所述第一拓扑节点作为长度最大的所述第二通信路径中所述初始组长节点的所述初始组员节点;

29、当所述第二通信路径的数量为n,至少一个所述第二通信路径中包括多个属于中间节点的所述初始组长节点时,在每个所述第二通信路径的每个属于中间节点的所述初始组长节点中,确定出与所述第一拓扑节点距离最近的目标初始组长节点,将所述第一拓扑节点作为所述目标初始组长节点的所述初始组员节点;其中,n为大于等于1的整数;

30、若每个所述非直达路径中未包括属于中间节点的所述初始组长节点,则将所述第一拓扑节点确定为所述初始组长节点,并单独作为一个所述初始拓扑节点组;

31、对于任一所述初始组长节点,将所述初始组长节点和对应的每个所述初始组员节点整体作为一个所述初始拓扑节点组。

32、可选的,所述根据每个所述初始分组方案的通信时延确定最终分组方案,包括:

33、设置每个所述初始分组方案中每个所述初始拓扑节点组的通信策略;其中,所述通信策略为同一所述初始拓扑节点组中的所述拓扑节点间可直接通信,不同所述初始拓扑节点组中所述拓扑节点间需经过对应所述初始组长节点进行间接通信;

34、在遵循所述通信策略的情况下,分别确定每个所述初始分组方案中的最长通信路径,以及确定每个所述最长通信路径的目标路径长度;

35、在每个所述目标路径长度中确定最小长度,并将所述最小长度对应的所述初始分组方案,确定为所述最终分组方案。

36、可选的,所述基于每个所述拓扑节点组中的所述组长节点和所述组员节点,控制每个所述物理节点间的通信,包括:

37、基于每个所述拓扑节点组中的所述组长节点和所述组员节点,对所述多个物理节点进行分组,得到至少一个物理节点组,每个所述物理节点组中包括所述组长节点对应的聚合节点以及所述组员节点对应的普通节点;

38、向每个所述物理节点组中的所述聚合节点和所述普通节点发送通信指令;

39、当所述至少一个物理节点组中包括第一物理节点组和第二物理节点组,所述第一物理节点组中包括第一聚合节点和第一普通节点,所述第二物理节点组中包括第二聚合节点和第二普通节点,所述通信指令用于触发所述第一普通节点待与所述第二普通节点进行数据交互时,依次通过所述第一聚合节点和所述第二聚合节点与所述第二普通节点进行数据交互,还用于触发所述第一聚合节点接收所述第一物理节点组中每个普通节点发送的子数据,对所有所述子数据进行白数据过滤处理,得到处理后数据并发送至目标设备。

40、可选的,所述地理分布式系统为地理分布式数据库或地理分布式训练系统。

41、第二方面,本发明提供一种地理分布式系统通信装置,包括:

42、节点创建单元,用于创建与地理分布式系统中多个物理节点一一对应的多个拓扑节点;以及,根据两两所述物理节点间的通信时延,创建两两所述拓扑节点间的边,所述边的长度为对应两个所述物理节点间的通信时延;

43、路径确定单元,用于根据两两所述拓扑节点间的边,确定两两所述拓扑节点间的最短通信路径;

44、拓扑构建单元,用于基于每个所述拓扑节点和每个所述最短通信路径构建目标拓扑结构,所述目标拓扑结构中包括每个所述拓扑节点和每个所述最短通信路径中的所述边;

45、节点分组单元,用于根据所述目标拓扑结构对所述多个拓扑节点进行分组,以得到至少一个拓扑节点组,每个所述拓扑节点组中包括组长节点和组员节点;

46、通信控制单元,用于基于每个所述拓扑节点组中的所述组长节点和所述组员节点,控制每个所述物理节点间的通信。

47、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的地理分布式系统通信方法。

48、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的地理分布式系统通信方法。

49、本发明提供的地理分布式系统通信方法、装置及设备,可以创建与地理分布式系统中多个物理节点一一对应的多个拓扑节点;以及,根据两两物理节点间的通信时延,创建两两拓扑节点间的边,边的长度为对应两个物理节点间的通信时延。根据两两拓扑节点间的边,确定两两拓扑节点间的最短通信路径。基于每个拓扑节点和每个最短通信路径构建目标拓扑结构,目标拓扑结构中包括每个拓扑节点和每个最短通信路径中的边。根据目标拓扑结构对多个拓扑节点进行分组,以得到至少一个拓扑节点组,每个拓扑节点组中包括组长节点和组员节点。基于每个拓扑节点组中的组长节点和组员节点,控制每个物理节点间的通信。本发明可以有效提高地理分布式系统中不同物理节点之间的通信效率。