分布式系统网元控制方法及其装置与流程

文档序号:31538591发布日期:2022-09-16 23:14阅读:130来源:国知局
分布式系统网元控制方法及其装置与流程

1.本发明涉及通信技术领域,具体地,涉及分布式系统网元控制方法及其装置。


背景技术:

2.基于互联网的视频通信技术被广泛应用于工作和生活的视频会议场景。其中分布式会议系统解决方案应用于多会议室场所,而相较于传统的音视频解决方案来说,其更便捷、实用、安全。分布式系统中一个最重要的特点就是多网元架构,由于单系统架构的业务支撑能力有限,因此需要在一个系统中使用多个网元协同完成一项具体的业务,从而达到业务负载可以无限扩容的目的。
3.有了多个网元,自然也存在多个网元的组网、路由、管理等问题,因此多个网元在一个系统中需要各自拥有一个唯一标识以便业务层面能根据唯一标识进行网元识别以及区分。现有技术中分布式系统多网元结构的实现方案如图1所示。该场景存在3个元素,分别为网元、单板和业务,三者有包含关系,其中每个网关中可以包含多个单板,每个单板上又可以有多条业务。现有技术中对业务、单板及网元的唯一标识设计都是分开的,彼此独立的,例如网元id为1、2、3;单板id为1、2、3......,业务id为9034214333、9034214334、9034214335......。
4.在进行业务实现的时候需要人为创建和分配网元id,且这些不能重复,单板id也是创建的时候人为指定的,业务id则是每个单板基于一个通用的算法自己生成的,否则分布式系统其他的网元上的单板就会生成同样的业务id,导致系统出现错乱。
5.上述现有技术在系统构成中多个元素标识,即网元id、单板id和业务id之间彼此都是独立的,没有关联性。这将导致如下问题的产生:首先,逻辑上这些元素之间有包含关系,但是元素标识设计没有体现出它们之间的包含关系,因此这些元素标识设计与逻辑设计不匹配;其次,在进行软件开发时需要管理一大批元素标识,各个业务及模块之间都需要像查找数据库一样进行索引,一条业务的处理,网元id、单板id和业务id都需要分别被查找,一方面浪费机器性能以及程序运行时间,另一方面在存储上也是一个问题;最后是系统扩展性不强,如果有新加属性或者业务的话,需要重新设计交互协议,添加字段或者减少字段,费时费力。
6.综上,现有技术中多个元素标识相互独立,导致存储浪费、查找低效以及扩展性差等问题。


技术实现要素:

7.为了上述现有技术中存在的问题,本发明提供了一种分布式系统网元控制方法及其装置,有效实现了元素标识存储占用少、查找效率高以及会议的强扩展性。
8.第一方面,本发明提供了一种分布式系统网元控制方法,其特征在于,所述方法包括:
9.控制单元向网元提供唯一的网元索引;
10.所述控制单元向节点提供节点索引;
11.所述控制单元将所述节点分配给所述网元;
12.所述网元中的所述节点发起业务,并向所述发起的业务提供业务索引;
13.利用所述节点所在的网元的网元索引、所述节点的节点索引以及所述业务的业务索引构成所述业务的业务id;
14.将所述业务的业务id附加在其业务数据上发送至下一个节点;
15.接收业务的节点通过解析所述业务id获得所述业务的所述业务索引、所述节点索引以及所述网元索引,从而获得所述业务数据的来源。
16.第二方面,本发明还提供了一种分布式系统网元控制装置,其特征在于,所述装置包括:
17.控制单元,其用于向网元提供唯一的网元索引,向节点提供节点索引,并将所述节点分配给所述网元;
18.所述网元中包含多个节点,所述节点用于发起业务,并向所述发起的业务提供业务索引;
19.当所述节点发起业务时,利用所述节点所在的网元的网元索引、所述节点的节点索引以及所述业务的业务索引构成所述业务的业务id;
20.附加单元,其用于将所述业务的业务id附加在其业务数据上发送至下一个节点;
21.解析单元,其用于通过解析所述业务id获得所述业务的所述业务索引、所述节点索引以及所述网元索引,从而获得所述业务数据的来源。
22.本发明提供的分布式系统网元控制方法及其装置实现了:第一,会议容量的量级扩展,例如,1个32位的业务id划分出其中的16位作为网元索引的话,最多能存在65535个网元,业务id再划分出剩余的10位作为节点索引,则每个网关最多有1023个节点,在分布式系统中1个节点对应1位参会者,因此最多能支持65535*1023个人参会,最后把剩余的6位分配给业务索引,每个节点最多有63个不同的业务;第二,由于业务id作为整型存储,存储占用少,网元索引、节点索引和业务索引都是业务id的一部分,因此业务id在计算机中的处理速度非常快,查找效率高,一条业务只需查找一条业务id即可,从业务id解析出其对应的网元索引、节点索引和业务索引的过程均为一些简单高效的位的操作;第三、完美适配网络传输,1个业务id即可做出很多的业务逻辑,标识很多的信息,非常适合当前分布式架构业务逻辑的处理及传输。
附图说明
23.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
24.图1是现有技术中分布式系统多网元结构原理示意图;
25.图2是本发明实施例提供的分布式系统网元控制方法流程图;
26.图3是本发明中网元、节点和业务的关系示意图;
27.图4是本发明中32位无符号整型数据业务id的组成示意图;
28.图5是本发明中业务id的位域扩展示意图;
29.图6是图3中网元1{节点1}上的三条业务的业务id;
30.图7是本发明实施例提供的分布式系统网元控制方法实际使用场景图;
31.图8是本发明实施例提供的分布式系统网元控制装置示意图。
具体实施方式
32.下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
33.发明概述
34.如前所述,本发明提供了一种强扩展性的分布式系统网元控制方法及其装置,能显著的提升对业务的查找效率,降低业务标识的存储量。
35.示例性方法
36.图2是本发明实施例提供的分布式系统网元控制方法流程图,该实施例包括:
37.s201:控制单元向网元提供唯一的网元索引。
38.s202:所述控制单元向节点提供节点索引。
39.s203:所述控制单元将所述节点分配给所述网元。
40.s204:所述网元中的所述节点发起业务,并向所述发起的业务提供业务索引。
41.s205:利用所述节点所在的网元的网元索引、所述节点的节点索引以及所述业务的业务索引构成所述业务的业务id。
42.本发明的基本架构为多个网元和一个总的控制单元。在多网元的系统内,业务会从一个网元流转到另外一个网元,也可能由一个网元做路由跳转,如从网元1跳转到网元2,再从网元2跳转到网元3,实际的业务场景会有很多,拓扑会有树形,链状,网状等,都需要通过控制单元来解决多个网元的组网、路由以及管理问题。
43.其中,网元、节点和业务的关系如图3所示,节点从属于网元,节点是网元上的一个元素,每个网元上可以有多个节点,业务又从属于节点,每个节点上可以有多个业务。
44.多个网元在一个系统里面需要有一个唯一索引进行识别,在一个网元中的多个节点需要有一个唯一索引进行识别,在每个节点发起的多个业务之间需要有唯一的索引进行识别,这样控制单元和业务层面能根据由网元索引、节点索引和业务索引共同组成的唯一标识进行区分,具体可以选用一个32位无符号整型数据作为业务id来对业务的网元、节点和业务进行唯一标识。如图4所示,将32位数据内部划分为多个位域,可选的,前16位为网元索引,中间7位为节点索引,最后9位为业务索引。每个位域都代表一个业务级别,整个系统均使用同一个划分规则,如整个系统的业务id均为32位,且前16位为网元索引,中间7位为节点索引,最后9位为业务索引。这样一个业务在进行传输时,系统可以直接基于业务id解析出的网元索引和节点索引进行下一步操作,方便快速。
45.其中位域的划分可以按照系统的架构,来设置不同元素所占的位数,如系统的网元数量较多,则可以分配更多位给网元;网元上节点数量很多,则可以分给节点更多位,同样也适用与业务。具体需要根据实际的业务场景做适当的位域划分。
46.本发明中网元索引和节点索引均由控制单元产生,并且控制单元将网元索引和节点索引分别分配给网元和节点,以及将节点分配给网元。业务索引则在节点发起业务时,由节点产生。
47.如果当前的划分满足不了业务需求,可以再细分位域,如图5所示,将业务id增加为4个位域、5个位域或更多,例如业务id可以由网元索引、节点索引、单板索引和业务索引组成,其中节点从属于网元,单板从属于节点,业务从属于单板。总之,根据实际使用场景的业务需求,将位域扩展,即将其他一个或多个索引加入业务id,可以表示的元素从属就会更多。与此同时,业务id划分的位域越多,单个位域所占的位数相对越少,若32位无符号整型数据的位数不能满足业务需求,可以将业务id扩展成64位或更多位。同理,根据实际业务需求,也可以从业务id中删除一个或多个索引,如业务id中只保留网元索引和业务索引。
48.s206:将所述业务的业务id附加在其业务数据上发送至下一个节点。
49.s207:接收业务的节点通过解析所述业务id获得所述业务的所述业务索引、所述节点索引以及所述网元索引,从而获得所述业务数据的来源。
50.控制单元还负责下发路由策略到网元中的节点,控制单元能够控制整个业务的流向。
51.网元中的节点基于从业务id中解析出的网元索引以及节点索引在所述路由策略中查找到一个选定路由策略,进一步基于选定路由策略将接收到的业务数据转发给下一个节点。
52.根据业务id能够解析出此业务发起的网元的网元索引,发起的节点的节点索引和本身的业务索引。为了方便描述,举例图6为图3中网元1{节点1}上的三条业务的业务id。每个元素都独占一块位域,在一个系统内部,网元索引的范围是1~2
16-1=65535个,节点索引的范围是1~2
7-1=127个,业务索引范围是1~2
9-1=511个,则这个系统里面可以同时存在的业务有1~65535*127*511个,并且每个业务只用1个32位的整数就可以标识出来。
53.图中三个业务id均为32位二进制数,将三个二进制数转换为十六进制数,得到:0x00010201、0x00010202和0x00010203,上述十六进制数即为最终计算出来的业务id。进一步,根据业务id解析其中具体包含的元素信息方法如下,以0x00010201为例:
54.0x00010201&0xffff0000》》16=1得到网元索引为1
55.0x00010201&0xfe00》》9=1得到节点索引为1
56.0x00010201&0x1ff=1得到业务索引为1
57.在分布式系统中任何位置接收到这个业务id,就能解析出来它的来源,再根据系统中的其他信息就能实现各种各样的业务。
58.其中,选定路由策略决定业务数据在所述节点中进行定向流转、分发、组播或广播。
59.在此给出一个具体的实际使用场景,如图7所示。首先系统中存在一个控制单元,负责网元和节点的分配,给每个网元和节点分配一个索引,如网元1{节点1}、网元1{节点2}、网元2{节点3}、网元2{节点4}。同时控制单元下发众多路由策略给图中四个节点,其中本场景即将用到的路由策略为:
60.网元1{节点1}发起的业务数据路由策略为:网元1{节点1}——》网元1{节点2}——》网元2{节点3}——》网元2{节点4};
61.网元1{节点2}发起的业务数据路由策略为:网元1{节点2}——》网元2{节点4};
62.网元2{节点3}发起的业务数据路由策略为:网元2{节点3}——》网元2{节点4}。
63.网元1{节点1}、网元1{节点2}、网元2{节点3}和网元2{节点4}接收到业务1的业务数据和业务id后,根据前述算法从其业务id中解析出来网元索引为1,业务索引为1,再根据控制单元下发的路由策略则会将业务1按照先后顺序依次传递给网元1{节点2}、网元2{节点3}、网元2{节点4}。
64.网元1{节点2}和网元2{节点4}接收到业务2的业务数据和业务id后,根据前述算法从业务id中解析出来网元索引是1,业务索引为2,再根据控制单元下发的路由策略则会将业务2传递给网元2{节点4}。
65.网元2{节点3}和网元2{节点4}接收到业务3的业务数据和业务id后,根据前述算法从业务id中解析出来网元索引是2,业务索引为3,再根据控制单元下发的路由策略则会将业务3传递给网元2{节点4}。
66.需要说明的是具体某个节点不仅能接收到由该节点传输的业务,还能接收到无需该节点传输的业务,如图中的网元1{节点1}不仅能接收到业务1,还能接收到业务2、3、4等,因此网元1{节点1}接收到业务后,首先需要根据所述算法解析业务id中的网元索引和节点索引,以确定该条业务是否需要传输以及传输路径。
67.网元2{节点4}再把接收到的业务3和业务1、2转发给用户2。
68.用户2接收到3条业务后可以分别解析出来每条业务的网元索引和节点索引,则可以识别接收到的不同业务的最初来源。
69.总之,业务id在业务的整个发送过程中始终保持不变,如业务1传输至图中四个节点中的任一节点,其业务id都是最初在网元1{节点1}产生的业务id,即业务1的业务id在任一节点解析后的网元索引为1,节点索引为1。因此任何节点接收到了一条业务后,都能知道此条业务最初是从哪个网元的哪个节点发出来的,即业务的最初来源。并且传输过程中的中间节点不做存储只转发,如业务1在网元1{节点2}、网元2{节点3}和网元2{节点4}中并不需要存储。
70.再加上控制单元负责下发业务整体的路由策略,接收到业务的节点基于从其业务id中解析出的网元索引和节点索引在众多路由策略中查找到一个路由策略,即所述选定路由策略。该选定路由策略决定业务数据在节点中进行定向流转、分发、组播或广播。如图7中的选定路由策略即为定向流转,网元1和2的选定路由策略如下:
71.route1
72.{
73.ꢀꢀꢀꢀꢀꢀ
policy:ne1.node1-》ne1.node2-》ne2.node3-》ne2.node4;
74.ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
ne1.node2-》ne2.node4;
75.ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
ne2.node3-》ne2.node4
76.}
77.如果将选定路由策略调整为:
78.policy:ne1.all《-》ne2.all;ne2.all《-》ne2.all
79.则业务数据在节点中进行广播。
80.但是同一时刻只会有一种选定路由策略,不能有多种,否则容易造成节点不能确定唯一的选定路由策略,例如最终导致实际场景的视频会议中用户看到对方的音视频错乱。
81.只要确定选定路由策略,即可实现业务的定向流转,分发,组播,广播等。这种实现方式的好处是不需要在业务数据中嵌入网元的信息,节点的信息等复杂的数据,只用1个业务id就能知道业务所有的来源信息,存储和查询的效率都会成倍的增长,同时控制单元的管理和路由控制也都变得非常容易。
82.例如本发明采用一个32位无符号整型数据进行查找和存储,相较现有技术中对一个数据集合的查找和存储,效率必然会高很多。
83.现有技术中各级元素标识彼此独立,具体如下:
84.struct busmetadata
85.{
86.ꢀꢀꢀꢀꢀ
uint32_t netid;
87.ꢀꢀꢀꢀꢀ
uint32_t nodeid;
88.ꢀꢀꢀꢀꢀ
uint32_t businessid;
89.}
90.而本发明中元素标识为1个32位无符号整型数据:
91.uint32_t businessid;
92.两者存储和查找效率一目了然。并且是单一的一个32位整数可以很好的嵌入到现有网络传输协议当中去,像rtp协议里面的ssrc、csrc字段,就是32位整数,因此可以使用本发明进行扩展,另外网络上很多的终端都不需要感知内部的数据就能完全兼容。而现有技术则需对网络协议进行私有扩展,只有确定私有协议才能接入,扩展性很差。
93.示例性装置
94.相应地,本发明实施例还提供了一种分布式系统网元控制装置。图8是本发明实施例提供的分布式系统网元控制装置100示意图,如图8所示,本实施例提供的装置包括:
95.控制单元101,其用于向网元102提供唯一的网元索引,向节点103提供节点索引,并将所述节点103分配给所述网元102;
96.所述网元102中包含多个节点103,所述节点103用于发起业务,并向所述发起的业务提供业务索引;
97.当所述节点103发起业务时,利用所述节点103所在的网元102的网元索引、所述节点103的节点索引以及所述业务的业务索引构成所述业务的业务id;
98.附加单元104,其用于将所述业务的业务id附加在其业务数据上发送至下一个节点103;
99.解析单元105,其用于通过解析所述业务id获得所述业务的所述业务索引、所述节点索引以及所述网元索引,从而获得所述业务数据的来源。解析单元105可以被配置在网元102或节点103中。
100.其中,所述业务id在发送过程中保持不变。所述业务id可以是32位无符号整型数据,根据业务需求由32位扩展到64位或更多位。
101.所述控制单元101还用于下发路由策略到所述网元102中的所述节点103;
102.所述节点103还用于基于从所述业务id中解析出的所述网元索引和所述节点索引在所述路由策略中查找到一个选定路由策略,以及基于所述选定路由策略将接收到的业务数据转发给下一个节点103。
103.其中,所述选定路由策略决定业务数据在所述节点103中进行定向流转、分发、组播或广播。
104.所述装置还包括索引增减单元106,其用于根据业务需求,将其他一个或多个索引加入所述业务id,或者从所述业务id中删除一个或多个索引。
105.应当注意,尽管在附图中以特定顺序描述了本发明分布式系统网元控制方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
106.此外,尽管在上文详细描述中提及了分布式系统网元控制装置的若干单元或模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
107.虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。本发明提供了:1、一种分布式系统网元控制方法,其特征在于,所述方法包括:控制单元向网元提供唯一的网元索引;所述控制单元向节点提供节点索引;所述控制单元将所述节点分配给所述网元;所述网元中的所述节点发起业务,并向所述发起的业务提供业务索引;利用所述节点所在的网元的网元索引、所述节点的节点索引以及所述业务的业务索引构成所述业务的业务id;将所述业务的业务id附加在其业务数据上发送至下一个节点;接收业务的节点通过解析所述业务id获得所述业务的所述业务索引、所述节点索引以及所述网元索引,从而获得所述业务数据的来源。2、根据第1项所述的网元控制方法,其特征在于,所述业务id在发送过程中保持不变。3、根据第1项或第2项所述的网元控制方法,其特征在于,所述方法还包括:所述控制单元下发路由策略到所述网元中的所述节点;所述网元中的所述节点基于从所述业务id中解析出的所述网元索引以及所述节点索引在所述路由策略中查找到一个选定路由策略;基于所述选定路由策略将接收到的业务数据转发给下一个节点。4、根据第3项所述的网元控制方法,其特征在于,所述选定路由策略决定业务数据在所述节点中进行定向流转、分发、组播或广播。5、根据第1-4项中任意一项所述的网元控制方法,其特征在于,所述方法还包括:根据业务需求,将其他一个或多个索引加入所述业务id,或者
从所述业务id中删除一个或多个索引。6、根据第1-5项中任意一项所述的网元控制方法,其特征在于,所述业务id是32位无符号整型数据。7、根据第6项所述的网元控制方法,其特征在于,所述业务id根据业务需求由32位扩展到64位或更多位。8、一种分布式系统网元控制装置,其特征在于,所述装置包括:控制单元,其用于向网元提供唯一的网元索引,向节点提供节点索引,并将所述节点分配给所述网元;所述网元中包含多个节点,所述节点用于发起业务,并向所述发起的业务提供业务索引;当所述节点发起业务时,利用所述节点所在的网元的网元索引、所述节点的节点索引以及所述业务的业务索引构成所述业务的业务id;附加单元,其用于将所述业务的业务id附加在其业务数据上发送至下一个节点;解析单元,其用于通过解析所述业务id获得所述业务的所述业务索引、所述节点索引以及所述网元索引,从而获得所述业务数据的来源。9、根据第8项所述的网元控制装置,其特征在于,所述业务id在发送过程中保持不变。10、根据第8项或第9项所述的网元控制装置,其特征在于,所述控制单元还用于下发路由策略到所述网元中的所述节点;所述节点还用于基于从所述业务id中解析出的所述网元索引和所述节点索引在所述路由策略中查找到一个选定路由策略,以及基于所述选定路由策略将接收到的业务数据转发给下一个节点。11、根据第10项所述的网元控制装置,其特征在于,所述选定路由策略决定业务数据在所述节点中进行定向流转、分发、组播或广播。12、根据第8-11项中任意一项所述的网元控制装置,其特征在于,所述装置还包括索引增减单元,其用于根据业务需求,将其他一个或多个索引加入所述业务id,或者从所述业务id中删除一个或多个索引。13、根据第8-12项中任意一项所述的网元控制装置,其特征在于,所述业务id是32位无符号整型数据。14、根据第13项所述的网元控制装置,其特征在于,所述业务id根据业务需求由32位扩展到64位或更多位。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1