一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

节点联合建模的方法和节点与流程

2021-10-24 03:54:00 来源:中国专利 TAG:节点 多个 信息技术 建模 说明书


1.本说明书一个或多个实施例涉及通信信息技术,尤其涉及节点联合建模的方法和节点。


背景技术:

2.在深度学习领域,当两个节点需要合作,比如参与多方安全计算时,该两个节点会利用深度计算学习框架作为联合建模的基础框架,并进行动态建模。
3.目前在两个节点之间联合建模的方式是:将该两个节点组成一个集群,节点以集群为单位,开通每一个节点映射到的可访问的外网地址和端口,之后,该两个节点通过集群完成基于深度计算学习框架的建模过程。
4.随着业务的复杂化,一个节点可以位于多个集群中。在目前,当一个节点位于多个集群中时,会为该节点开通多个外网地址和端口。然而,外网地址和端口资源稀缺,当节点所在的集群数量众多时,节点开通的外网地址和端口的数量也会过多。


技术实现要素:

5.本说明书一个或多个实施例描述了节点联合建模的方法和节点,能够减少外网地址的开销。
6.根据第一方面,提出了一种节点联合建模的方法,所述联合建模的节点包括第一节点和第二节点,所述第一节点位于第一网络,所述第二节点位于第二网络,第一节点中设置有第一代理进程,第二节点中设置有第二代理进程,所述第一节点和所述第二节点位于第一集群,该第一集群具有第一集群id,所述方法包括:
7.在第一节点与第二节点联合建模时,第一节点将建模请求同步到第一代理进程;其中,所述建模请求包括:所述第一集群id及模型算法参数;
8.第一代理进程根据接收到建模请求的端口以及预先建立的节点与端口的映射关系,将该建模请求发送给第二代理进程;
9.第二代理进程根据预先建立的节点与端口的映射关系,将所述建模请求同步给第二节点;
10.第二节点根据所述建模请求中的第一集群id及模型算法参数,在第一集群中与第一节点进行建模。
11.所述第一节点和所述第二节点利用深度计算学习框架作为所述联合建模的基础框架;
12.所述第一节点中设置有第一学习框架处理进程,该第一学习框架处理进程与所述第一代理进程交互基于所述深度计算学习框架的建模请求;
13.所述第二节点中设置有第二学习框架处理进程,该第二学习框架处理进程与所述第二代理进程交互基于所述深度计算学习框架的建模请求。
14.所述深度计算学习框架为tensorflow。
15.所述第一节点将建模请求同步到第一代理进程,包括:所述第一学习框架处理进程将建模请求发送到与所述第二节点存在映射关系的对外映射端口上;所述第一代理进程通过监听该对外映射端口得到所述建模请求;与所述第二节点存在映射关系的对外映射端口为所述第一节点中的端口。
16.所述第二代理进程根据预先建立的节点与端口的映射关系将所述建模请求同步给第二节点,包括:所述第二代理进程将建模请求发送到与第二节点存在映射关系的本机映射端口上;所述第二学习框架处理进程通过监听该本机映射端口得到所述建模请求;其中,所述本机映射端口为所述第二节点中的端口。
17.在所述第一学习框架处理进程将建模请求发送到与第二节点存在映射关系的对外映射端口之前,进一步包括:
18.向第一学习框架处理进程传入预先设置的本地地址及与第二节点存在映射关系的对外映射端口,使得该第一学习框架处理进程将建模请求发送到该对外映射端口;
19.或者,
20.向第一学习框架处理进程传入第二节点的外网地址和端口;由第一节点中预先设置的地址转换模块接收第一学习框架处理进程发送的建模请求,并由地址转换模块根据预先设置的本地地址及与第二节点存在映射关系的对外映射端口,对建模请求进行地址转换后,发送到该对外映射端口。
21.其中,所述第一代理进程根据接收到建模请求的端口以及预先建立的节点与端口的映射关系将该建模请求发送给第二代理进程,包括:
22.第一代理进程从与第二节点存在映射关系的对外映射端口上,监听到建模请求后,确定该建模请求的接收方为第二节点;
23.利用预先获取的第二节点的外网地址,将建模请求发送给第二代理进程;其中所述第二节点的外网地址为:在包括所述第一集群的至少两个集群中复用的外网地址。
24.在第一节点与第二节点联合建模之前,进一步包括:
25.第一节点生成第一集群建立信息;所述第一集群建立信息包括:第一集群id、与第一节点存在映射关系的本机映射端口的端口号及与第二节点存在映射关系的对外映射端口的端口号;
26.第一节点将第一集群建立信息同步到第一代理进程,启动所述第一集群;
27.第一代理进程将第一集群建立信息发送给第二代理进程;
28.第二代理进程将第一集群建立信息同步到第二节点;
29.第二节点启动所述第一集群,并设置第一集群id、与第一节点存在映射关系的对外映射端口以及与第二节点存在映射关系的本机映射端口。
30.根据第二方面,提出了一种节点,该节点与对端节点位于第一集群中,并进行联合建模;该节点包括:
31.第一建模请求处理模块,配置为在本节点与所述对端节点联合建模时,将建模请求同步到第一代理进程;其中,所述建模请求包括:所述第一集群的id及模型算法参数;
32.第一代理进程模块,配置为根据接收到建模请求的端口以及预先建立的节点与端口的映射关系,将该建模请求发送给对端节点中的第二代理进程。
33.根据第三方面,提出了另一种节点,该节点与对端节点位于第一集群中,并进行联
合建模;该节点包括:
34.第二代理进程模块,配置为接收对端节点发来的建模请求,根据预先建立的节点与端口的映射关系,将所述建模请求同步给第二建模请求处理模块;
35.第二建模请求处理模块,配置为根据所述建模请求中的第一集群id及模型算法参数,在第一集群中与对端节点进行建模。
36.根据第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
37.本说明书实施例提出的联合建模的方法以及节点,使用一个节点内部的各个端口来映射各个集群中的各个节点。因为本地地址和端口可以根据需要随时开通,数量不受限制,并且不会出现对网关和防火墙的配置要求过高的问题。同时,一个节点在各集群中对外映射的是本地地址和端口,而不是外网地址,因此外网地址则可以在不同集群中复用,从而避免了对外网地址的过度开销。
附图说明
38.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1示出了现有技术中联合建模的各节点之间的连接示意图。
40.图2示出了本说明书一个实施例中节点联合建模的方法流程图。
41.图3示出了本说明书一个实施例中建立第一集群的方法流程图。
42.图4示出了本说明书一个实施例中联合建模的各节点之间的连接示意图。
43.图5示出了本说明书另一个实施例中联合建模的各节点之间的连接示意图。
44.图6示出了本说明书一个实施例中联合建模的一种节点的结构的示意性框图。
45.图7示出了本说明书一个实施例中联合建模的另一种节点的结构的示意性框图。
具体实施方式
46.如前所述,现有技术中,在为节点动态建模时,如果一个节点需要与多个节点分别建模,从而位于多个不同的集群中时,会在该节点中为不同的集群分别开通不同的外网地址和端口。参见图1,在现有技术中,节点l(比如为一个商家)与节点m(比如为另一个商家)组成集群1,并基于深度计算学习框架进行建模;同时节点l与节点n(比如为又一个商家)组成集群2,也基于深度计算学习框架进行建模。那么,根据深度计算学习框架比如tensorflow的要求,节点l必须为集群1开通外网地址1,并且为集群2开通外网地址2。
47.但是,此种处理方式,一个节点在各集群中对外映射的是外网地址,因此外网地址在不同集群中不能进行复用,导致每一个节点所开通的外网地址的数量等于该节点开通的集群的数量。当集群数量众多时,在一个节点中开通的外网地址的数量众多。而外网地址资源稀缺,并且对网关和防火墙的配置要求过高,开通一个外网地址需要走很长的申请和审批链路,因此会导致业务造价过高,甚至对于很多业务,比如银行系统的业务,会使得业务无法实现。
48.如果要节省外网地址的开销,就要避免使用外网地址来映射一个集群中的节点。因此,可以考虑使用节点内部的本地地址和端口来映射一个集群中的节点。因为本地地址和端口可以根据需要随时开通,数量不受限制,并且不会出现对网关和防火墙的配置要求过高的问题。同时,一个节点在各集群中对外映射的是本地地址和端口,而不是外网地址,因此外网地址则可以在不同集群中复用,从而避免了对外网地址的过度开销。
49.下面描述以上构思的具体实现方式。
50.图2示出了本说明书一个实施例中的节点联合建模的方法流程图。该方法应用于联合建模的节点,包括节点a和节点b,节点a位于第一网络,节点b位于第二网络,节点a中设置有第一代理进程,节点b中设置有第二代理进程,节点a和节点b位于第一集群,该第一集群具有第一集群id。
51.参见图2,该方法包括:
52.步骤200:在节点a与节点b联合建模时,节点a将建模请求同步到第一代理进程;其中,所述建模请求包括:所述第一集群id及模型算法参数。
53.步骤202:第一代理进程根据接收到建模请求的端口以及预先建立的节点与端口的映射关系,将该建模请求发送给第二代理进程。
54.步骤204:第二代理进程根据预先建立的节点与端口的映射关系,将所述建模请求同步给节点b。
55.步骤206:节点b根据所述建模请求中的第一集群id及模型算法参数,在第一集群中与节点a进行建模。
56.在上述图2所示的过程中,需要利用节点与端口的映射关系来完成转发,因此,在上述步骤200之前,可以预先通过建立第一集群的过程来设置节点与端口的映射关系。参见图3,该建立第一集群的过程包括:
57.步骤301:节点a生成第一集群建立信息;所述第一集群建立信息包括:第一集群id、与节点a存在映射关系的本机映射端口的端口号以及与节点b存在映射关系的对外映射端口的端口号。
58.其中,该本机映射端口以及该对外映射端口均为节点a中的端口。
59.本步骤301的处理可以参见图4所示,比如,节点a需要与节点b建立第一集群。假如,节点a还需要与节点c建立另一个集群记为第二集群。那么,在建立第一集群时,节点a首先会为第一集群分配第一集群id,并且,会生成一个本地地址(比如本地ip 127.0.0.1)和节点a中的两个端口,其中一个端口记为端口a作为本机映射端口,即端口a与节点a存在映射关系,另一个端口记为端口b作为对外映射端口,即端口b与外部的节点b存在映射关系。在建立第二集群时,节点a也会使用一个本地地址和节点a中的两个端口,其中一个端口即本机映射端口a,与本机即节点a存在映射关系,另一个端口记为端口c作为对外映射端口,与外部的节点c存在映射关系。从图4可以看出,虽然建立两个集群,但是节点在一个集群中不再通过外网地址映射,而是可以通过节点中的端口映射各个节点,这样,两个集群就可以复用节点a的外网地址。
60.步骤303:节点a将第一集群建立信息同步到第一代理进程,启动所述第一集群。
61.执行到本步骤303,第一代理进程则获得了在节点a中的各端口的映射关系:即端口a映射节点a,端口b映射节点b,端口c映射节点c。
62.步骤305:第一代理进程将第一集群建立信息发送给第二代理进程;
63.步骤307:第二代理进程将第一集群建立信息同步到节点b;
64.步骤309:节点b启动所述第一集群,并设置第一集群id、与节点a存在映射关系的对外映射端口的端口号以及与节点b存在映射关系的本机映射端口的端口号。
65.本步骤309中,当节点b接收到第一集群建立信息后,也会在本节点中执行与节点a对应的处理,即设置第一集群id,并且,会生成一个本地地址(比如本地ip 127.0.0.1)和节点b中的两个端口,其中一个端口记为端口a’作为对外映射端口,即端口a’与外部的节点a存在映射关系,另一个端口记为端口b’作为本机映射端口,即端口b’与节点b存在映射关系。
66.节点b根据第一集群建立信息,可以将节点b中本机映射端口的端口号与节点a本机映射端口的端口号设置为相同,将节点b中对外映射端口的端口号与节点a对外映射端口的端口号设置为相同。
67.至此,则通过上述图3所示的集群建立过程,完成了在一个集群的两个节点之间设置各个节点与本节点中各个端口的映射关系的处理。
68.在本说明书的其他实施例中,也可以通过其他方式,而不是上述图3所示的集群建立过程,来设置各个节点与各个端口的映射关系。
69.在一个集群中的各个节点均获取了本节点中的各个端口与集群中各个节点的映射关系之后,每一个节点会监听各个端口,通过监听确定信息的接收方,这样,可以执行上述图2所示的建模过程。
70.下面针对图2所示的每一个步骤详细说明。
71.首先,在步骤200中,在节点a与节点b联合建模时,节点a将建模请求同步到第一代理进程;其中,所述建模请求包括:所述第一集群id及模型算法参数。
72.这里,在基于深度计算学习框架比如tensorflow进行建模时,即节点a和所述节点b利用深度计算学习框架作为联合建模的基础框架时,在节点a中设置有第一学习框架处理进程,在节点a内部,该第一学习框架处理进程与第一代理进程交互基于深度计算学习框架的建模请求。节点b中设置有第二学习框架处理进程,在节点b内部,该第二学习框架处理进程与第二代理进程交互基于深度计算学习框架的建模请求。因此,在步骤200中,可以是由第一学习框架处理进程将建模请求同步到第一代理进程。
73.具体地,参见图5,第一学习框架处理进程会监听节点a中的本机映射端口,即端口a,如果从端口a上接收到数据,则认为是集群中的其他节点发给本节点a的基于深度计算学习框架的信息。并且,在节点a中,第一代理进程也会监听各个对外映射端口,如果从对外映射端口如端口b上接收到第一学习框架处理进程发出的数据,则可以确定该数据需要发给第一集群中的节点b,如果从对外映射端口如端口c上接收到第一学习框架处理进程发出的数据,则可以确定该数据需要发给第二集群中的节点c,可见,可以通过节点a内部对不同端口的监听来进行数据的不同路径的传输。因此,在本说明书的一个实施例中,参见图5,本步骤200的实现过程包括:
74.步骤2001:在节点a中,第一学习框架处理进程将建模请求发送到与节点b存在映射关系的对外映射端口,即端口b上。
75.步骤2002:第一代理进程监听端口b得到建模请求。
76.在上述步骤2001中,第一学习框架处理进程将建模请求发送到对外映射端口b上,而不是如现有技术中的处理(根据节点b的外网地址将建模请求发送到节点b)。为了保证第一学习框架处理进程能够将建模请求发送到对外映射端口b,在本说明书一个实施例中,可以采用如下两种方式实现:
77.方式1、在第一学习框架处理进程需要向节点b发送建模请求时,向该第一学习框架处理进程传入该节点b映射到的本地地址及端口b,使得该第一学习框架处理进程根据该本地地址及端口b,将建模请求发送到端口b。
78.方式2、在第一学习框架处理进程需要向节点b发送建模请求时,向该第一学习框架处理进程传入该节点b的外网地址和端口;节点a中的地址转换模块接收第一学习框架处理进程根据该外网地址及端口发送的建模请求,地址转换模块根据节点b映射到本节点中的本地地址及端口b,将地址转换后的该建模请求发送到端口b。
79.在方式1中,是将本地地址及端口b传入了第一学习框架处理进程,相当于“欺骗”了该进程,使得该第一学习框架处理进程误认为传入的是节点b的外网地址和端口,从而将建模请求发送到了端口b。
80.而在该方式2中,相当于“未欺骗”该进程,第一学习框架处理进程还可以执行现有的处理,即利用节点b的外网地址和端口向外发出建模请求,避免了对第一学习框架处理进程进行实质改动。但是,为了保证该发出的建模请求仍然能够到达端口b,因此,增加了上述地址转换模块及其处理。
81.接下来,在步骤202中,节点a中的第一代理进程根据接收到建模请求的端口以及预先建立的节点与端口的映射关系,将该建模请求发送给节点b中的第二代理进程。
82.参见图5,在本说明书的一个实施例中,本步骤202的实现过程包括:第一代理进程从端口b上监听到建模请求后,确定该建模请求的接收方为与端口b存在映射关系的节点b;第一代理进程利用预先获取的节点b的外网地址,将建模请求发送给节点b;其中节点b的外网地址为:在包括所述第一集群的至少两个集群中复用的外网地址;节点b通过外网地址接收到建模请求后,将该建模请求发送给第二代理进程。
83.其中,无论第一集群中的节点a还是其他集群中的一个节点如节点d,在给节点b发送建模请求时,都可以由本节点中的学习框架处理进程将建模请求发送到与节点b存在映射关系的对外映射端口上,也就是说,通过与节点b存在映射关系的对外映射端口来区分该建模请求需要发给本集群中的节点b,而无需利用节点b对应本集群的外网地址来进行区分,因此,节点b在不同集群中使用的外网地址就可以复用,从而节约了外网地址资源。
84.接下来,在步骤204中第二代理进程接收到所述建模请求后同步给节点b。
85.在本说明书的一个实施例中,参见图5,本步骤204的过程包括:在节点b中,第二代理进程接收到建模请求后,确定需要发送给第二学习框架处理进程,则将建模请求发送到与本节点b存在映射关系的本机映射端口上,即端口b’上;节点b中的第二学习框架处理进程通过监听该端口b’得到建模请求;如前所述,本机映射端口即端口b’为节点b中的端口。
86.接下来,在步骤206中节点b根据建模请求中的第一集群id及模型算法参数,在第一集群中与节点a进行建模。
87.至此,则完成了在节点a与节点b之间联合建模的过程。
88.在本说明书一个实施例中,在联合建模过程中,建模请求中会携带节点所属的集
群的编号,从而使每一个节点都能确定当前的建模请求对应哪一个集群。
89.在本说明书一个实施例中,提出了一种节点,该节点与对端节点位于第一集群中,并进行联合建模;该节点为联合建模的发起方。参见图6,该节点600包括:
90.第一建模请求处理模块601,配置为在本节点与所述对端节点联合建模时,将建模请求同步到第一代理进程;其中,所述建模请求包括:所述第一集群的id及模型算法参数;
91.第一代理进程模块602,配置为根据接收到建模请求的端口以及预先建立的节点与端口的映射关系,将该建模请求发送给对端节点中的第二代理进程。
92.在本说明书装置的一个实施例中,节点600利用深度计算学习框架作为联合建模的基础框架;则所述第一建模请求处理模块601包括:第一学习框架处理进程,该第一学习框架处理进程与所述第一代理进程模块602交互基于所述深度计算学习框架的建模请求。
93.其中,深度计算学习框架可以为tensorflow。
94.在本说明书装置的一个实施例中,第一学习框架处理进程被配置为执行:将建模请求发送到与对端节点存在映射关系的对外映射端口上;与对端节点存在映射关系的对外映射端口为本节点中的端口;
95.第一代理进程模块602被配置为通过监听该对外映射端口得到所述建模请求。
96.在本说明书装置的一个实施例中,第一建模请求处理模块601包括上述的第一学习框架处理进程以及第一建模触发子模块;
97.该第一建模触发子模块,配置为向第一学习框架处理进程传入预先设置的本地地址及与对端节点存在映射关系的对外映射端口;
98.该第一学习框架处理进程,配置为将建模请求直接发送到该对外映射端口。
99.在本说明书装置的一个实施例中,节点600进一步包括:地址转换模块;
100.并且,第一建模请求处理模块601包括上述的第一学习框架处理进程以及第二建模触发子模块;
101.该第二建模触发子模块,配置为向第一学习框架处理进程传入对端节点的外网地址和端口;
102.第一学习框架处理进程,配置为利用该外网地址和端口发送建模请求;
103.地址转换模块,配置为接收第一学习框架处理进程发送的建模请求,并根据预先设置的本地地址及与对端节点存在映射关系的对外映射端口,对建模请求进行地址转换后,发送到该对外映射端口。
104.在本说明书装置的一个实施例中,第一代理进程模块602被配置为:如果从与对端节点存在映射关系的对外映射端口上,监听到建模请求,则确定该建模请求的接收方为对端节点;利用预先获取的对端节点的外网地址,将建模请求发送给对端节点中的第二代理进程模块;其中对端节点的外网地址为:在包括所述第一集群的至少两个集群中复用的外网地址。
105.在本说明书装置的一个实施例中,节点600进一步包括:集群建立模块;
106.该集群建立模块,配置为生成第一集群建立信息;所述第一集群建立信息包括:第一集群id、与本节点存在映射关系的本机映射端口的端口号及与对端节点存在映射关系的对外映射端口的端口号;将第一集群建立信息同步到第一代理进程模块602,启动所述第一集群;
107.第一代理进程模块602,进一步被配置为将第一集群建立信息发送给对端节点中的第二代理进程模块。
108.在本说明书又一个实施例中,提出了一种节点,该节点与对端节点位于第一集群中,并进行联合建模;该节点根据接收到的联合建模的发起方的建模请求,进行建模。参见图7,该节点700包括:
109.第二代理进程模块701,配置为接收对端节点发来的建模请求,根据预先建立的节点与端口的映射关系,将所述建模请求同步给第二建模请求处理模块;
110.第二建模请求处理模块702,配置为根据所述建模请求中的第一集群id及模型算法参数,在第一集群中与对端节点进行建模。
111.在本说明书装置的一个实施例中,节点700利用深度计算学习框架作为联合建模的基础框架;则所述第二建模请求处理模块702包括:第二学习框架处理进程,该第二学习框架处理进程与所述第二代理进程模块701交互基于深度计算学习框架的建模请求。
112.在本说明书装置的一个实施例中,第二代理进程模块701将建模请求发送到与本节点存在映射关系的本机映射端口上;第二学习框架处理进程通过监听该本机映射端口得到所述建模请求;其中,所述本机映射端口为本节点中的端口。
113.在本说明书装置的一个实施例中,节点700进一步包括:集群设置模块;
114.第二代理进程模块701进一步被配置为将第一集群建立信息同步到集群设置模块;
115.集群设置模块启动所述第一集群,设置第一集群id、与对端节点存在映射关系的对外映射端口的端口号及与本节点存在映射关系的本机映射端口的端口号。
116.根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合本说明书任一实施例的方法。
117.根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合本说明书任一实施例的方法。
118.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
119.本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
120.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜