分布式节点信令传输方法和系统、共享计算节点及信令网关与流程

文档序号:16380727发布日期:2018-12-22 09:27阅读:200来源:国知局
分布式节点信令传输方法和系统、共享计算节点及信令网关与流程

本发明涉及共享计算技术领域,尤其涉及一种分布式节点信令传输方法和系统、共享计算节点及信令网关。

背景技术

现在智能设备发展迅速,数量飞速增长,基于智能设备进行的共享计算也在快速发展中。该共享计算的一个核心技术是如何快速高效地和智能设备进行交互,下发命令,收集状态。而智能设备作为分布式节点,此技术也就等价于分布式设备如何进行高效的信令传输。现有的信令传输方法主要是分布式节点上的应用程序定期向服务器端发起请求,询问是否有命令需要执行。但是,这种方式存在着如下两个问题:

(1)由于命令的下发是一个相对低频的操作,所以应用程序发起的绝大部分请求的返回结果都是空值,即不需要下一步操作。而且分布式节点上一般会运行多个应用程序,每个应用程序都需要信令传输,所以单节点上会发起大量无用的请求。这种方式会大量浪费服务器的计算资源。

(2)由于分布式节点的网络情况多种多样,比较复杂,因此一般只能由分布式节点发起请求,无法由服务器端发起,不够灵活。



技术实现要素:

有鉴于此,本发明提出一种分布式节点信令传输方法和系统、共享计算节点及信令网关,以解决至少一个上述技术问题。

首先,为实现上述目的,本发明提出一种分布式节点信令传输系统,所述系统包括:

共享计算节点,包括本地信令代理和应用程序,所述本地信令代理用于维持和信令网关中的接入服务器之间的信令通道的长连接;所述应用程序用于执行共享计算任务,并且每个所述共享计算节点上的所有应用程序统一由所述信令通道发送和接收信令;

所述信令网关,包括所述接入服务器和信令服务器,所述接入服务器用于维持和所述本地信令代理之间的所述信令通道的长连接,在接收到所述共享计算节点发送的信令时,传递至所述信令服务器;所述信令服务器用于从所述接入服务器中接收来自所述共享计算节点的信令,转发至共享计算服务器;

所述共享计算服务器,用于通过所述信令服务器接收从所述共享计算节点发送的信令。

可选地,所述共享计算服务器还用于通过所述信令服务器向对应的所述共享计算节点发送信令;

所述信令服务器还用于接收来自所述共享计算服务器的信令,定位到对应的所述共享计算节点所属的所述接入服务器,并通过所述接入服务器转发所述信令;

所述接入服务器还用于在接收到所述信令服务器转发的来自所述共享计算服务器的信令时,利用所述信令通道将所述信令发送至对应的所述共享计算节点。

可选地,所述系统还包括:

共享计算管理器,包括任务管理器,所述任务管理器用于通过所述信令服务器分发共享计算任务到所述共享计算节点;

所述信令服务器还用于接收所述任务管理器分发的所述任务,定位到所述任务对应的所述共享计算节点所属的所述接入服务器,将所述任务转发至所述接入服务器;所述接入服务器还用于在接收到所述信令服务器转发的所述任务后,利用所述信令通道将所述任务发送至对应的所述共享计算节点;

所述共享计算节点上的所述本地信令代理还用于从所述信令通道接收到的所述任务,并转发至所述应用程序;

所述应用程序还用于执行接收到的所述任务。

可选地,所述共享计算管理器还包括任务状态管理器;

所述共享计算节点上的所述应用程序还用于通过所述信令通道上报任务状态;

所述接入服务器还用于从所述信令通道接收所述共享计算节点上报的所述任务状态,并传递至所述信令服务器;

所述信令服务器还用于从所述接入服务器接收到所述任务状态后,将所述任务状态上报给所述任务状态管理器;

所述任务状态管理器用于从所述信令服务器接收上报的所述任务状态并进行维护。

可选地,所述接入服务器还用于在对应的所述共享计算节点上线、下线以及超时的时候向所述信令服务器上报节点状态信息;所述信令服务器还用于根据所述接入服务器上报的节点状态信息维护各个所述共享计算节点的节点状态。

可选地,所述信令通道为在所述接入服务器和所述本地信令代理之间以远程过程调用协议和超文本传输协议为基础建立的长连接双向信令传输通道。

此外,为实现上述目的,本发明还提供一种分布式节点信令传输方法,应用于所述分布式节点信令传输系统,所述方法包括:

共享计算节点中的本地信令代理与信令网关中的接入服务器建立信令通道;

所述共享计算节点中的应用程序统一由所述信令通道发送第一信令;

所述接入服务器通过所述信令通道接收所述第一信令,传递至所述信令网关中的信令服务器;

所述信令服务器从所述接入服务器中接收所述第一信令,转发至共享计算服务器;及

所述共享计算服务器从所述信令服务器中接收所述第一信令。

可选地,所述方法还包括:

所述共享计算服务器通过所述信令服务器向对应的所述共享计算节点发送第二信令;

所述信令服务器接收来自所述共享计算服务器的所述第二信令,定位到所述第二信令对应的所述共享计算节点所属的所述接入服务器,并将所述第二信令转发至所述接入服务器;

所述接入服务器在接收到所述信令服务器转发的所述第二信令时,利用所述信令通道将所述第二信令发送至对应的所述共享计算节点;及

所述共享计算节点中的所述应用程序通过所述信令通道接收所述第二信令。

可选地,所述方法还包括:

共享计算管理器中的任务管理器通过所述信令服务器分发共享计算任务到对应的所述共享计算节点;

所述信令服务器接收所述任务管理器分发的所述任务后,定位到所述任务对应的所述共享计算节点所属的所述接入服务器,将所述任务转发至所述接入服务器;

所述接入服务器在接收到所述信令服务器转发的所述任务后,利用所述信令通道将所述任务发送至对应的所述共享计算节点;

所述共享计算节点上的所述本地信令代理从所述信令通道接收到的所述任务,并转发至所述应用程序,所述应用程序执行所述任务。

可选地,所述方法还包括:

所述共享计算节点上的所述应用程序通过所述信令通道上报任务状态;

所述接入服务器从所述信令通道接收所述共享计算节点上报的所述任务状态,并传递至所述信令服务器;

所述信令服务器从所述接入服务器接收到所述任务状态后,上报给所述共享计算管理器中的任务状态管理器;

所述任务状态管理器从所述信令服务器中接收上报的所述任务状态并进行维护。

可选地,所述信令通道为在所述接入服务器和所述本地信令代理之间以远程过程调用协议和超文本传输协议为基础建立的长连接双向信令传输通道。

可选地,所述方法还包括:

当所述共享计算节点通过所述信令通道所连接的所述接入服务器出现异常时,所述共享计算节点立即重连至正常的接入服务器。

可选地,所述方法还包括:

每个机房的各个所述共享计算节点在连接所述接入服务器时使用独立的域名,所述接入服务器通过域名轮询发现出现异常的机房,并快速连接到正常机房的共享计算节点。

可选地,所述方法还包括:

每个所述共享计算节点同时与多个所述接入服务器建立多条所述信令通道,并监控所有信令通道的质量,当检查到当前的信令通道不稳定时,立即启动新的信令通道;或者,所述共享计算节点在每次发送信令时,按照所监控的各个信令通道的质量优先级,使用质量最优的信令通道进行信令传输。

进一步地,为实现上述目的,本发明还提供一种共享计算节点,所述共享计算节点包括:

本地信令代理,用于与信令网关中的接入服务器建立信令通道;

应用程序,用于由所述信令通道发送第一信令,以使所述第一信令通过所述信令网关转发至共享计算服务器;

所述本地信令代理还用于通过所述信令通道接收来自所述共享计算服务器的第二信令,并转发至所述应用程序。

进一步地,为实现上述目的,本发明还提供一种分布式节点信令传输方法,应用于共享计算节点,所述方法包括:

所述共享计算节点中的本地信令代理与信令网关中的接入服务器建立信令通道;

所述共享计算节点中的应用程序统一由所述信令通道发送第一信令,以使所述第一信令通过所述信令网关转发至共享计算服务器;及

所述本地信令代理通过所述信令通道接收来自所述共享计算服务器的第二信令,并转发至所述应用程序。

进一步地,为实现上述目的,本发明还提供一种信令网关,所述信令网关包括:

接入服务器,用于与共享计算节点中的本地信令代理建立信令通道,通过所述信令通道接收所述共享计算节点中的应用程序发送的第一信令,并传递至所述信令网关中的信令服务器;

所述信令服务器,用于从所述接入服务器中接收所述第一信令,转发至共享计算服务器;以及接收来自所述共享计算服务器的所述第二信令,定位到所述第二信令对应的所述共享计算节点所属的所述接入服务器,并将所述第二信令转发至所述接入服务器;

所述接入服务器还用于在接收到所述信令服务器转发的所述第二信令时,利用所述信令通道将所述第二信令发送至对应的所述共享计算节点。

进一步地,为实现上述目的,本发明还提供一种分布式节点信令传输方法,应用于信令网关,所述方法包括:

所述信令网关中的接入服务器与共享计算节点中的本地信令代理建立信令通道;

所述接入服务器通过所述信令通道接收所述共享计算节点中的应用程序发送的第一信令,并传递至所述信令网关中的信令服务器;

所述信令服务器从所述接入服务器中接收所述第一信令,转发至共享计算服务器;

所述信令服务器接收来自所述共享计算服务器的所述第二信令,定位到所述第二信令对应的所述共享计算节点所属的所述接入服务器,并将所述第二信令转发至所述接入服务器;及

所述接入服务器在接收到所述信令服务器转发的所述第二信令时,利用所述信令通道将所述第二信令发送至对应的所述共享计算节点。

相较于现有技术,本发明所提出的分布式节点信令传输方法和系统、共享计算节点及信令网关,可以在接入服务器和共享计算节点之间实现基于rpc协议和http协议的长连接通道,在通道两端都提供了插件化支持,新的装置只要符合协议要求,即可快速接入,利用通道实现实时信令通信。并且,该通道可用性高,可以通过快速识别断连和通道自动冗余化,保证信令传输成功率。

附图说明

图1是本发明第一实施例提出的一种分布式节点信令传输系统的架构示意图;

图2是本发明第二实施例提出的一种分布式节点信令传输方法的流程示意图;

图3是本发明第三实施例提出的一种分布式节点信令传输方法的部分流程示意图;

图4是本发明第四实施例提出的一种分布式节点信令传输方法的流程示意图;

图5是本发明第五实施例提出的一种分布式节点信令传输方法的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

第一实施例

参阅图1所示,本发明第一实施例提出一种分布式节点信令传输系统。

在本实施例中,分布式节点信令传输系统1包括共享计算节点2、信令网关4、共享计算服务器6。

共享计算节点2为一个智能设备,可以贡献存储、带宽和cpu资源,承担计算任务。共享计算节点2包括本地信令代理20和多个应用程序22。本地信令代理20用于维持和信令网关4中的接入服务器40之间的信令通道的长连接。应用程序22为运行在分布式共享计算节点2上的计算程序,用于利用共享计算节点2上的存储、带宽和cpu资源,执行共享计算任务。每个共享计算节点2上的所有应用程序22统一由上述信令通道发送和接收信令。因为该信令通道是长连接的,所以任何信令都可以立即发送出去,降低延迟。

上述信令通道为在接入服务器40和本地信令代理20之间以远程过程调用(remoteprocedurecall,rpc)协议和超文本传输协议(hypertexttransferprotocol,http)为基础建立的长连接双向信令传输通道。本地信令代理20为该信令通道的客户端,接入服务器40为该信令通道的服务端。

信令网关4包括接入服务器40和信令服务器42。其中,接入服务器40用于维持和本地信令代理20之间的信令通道的长连接,在接收到共享计算节点2的信令时,进行鉴权和过滤,将有效信令传递到信令服务器42,以及在接收到信令服务器42转发的来自共享计算服务器6的信令时,利用该信令通道将该信令发送至对应共享计算节点2。信令服务器42用于从接入服务器40接收来自共享计算节点2的信令,转发至共享计算服务器6,以及接收来自共享计算服务器6的信令,快速定位到对应共享计算节点2所属的接入服务器40,并通过该接入服务器40转发该信令。

共享计算服务器6为共享计算服务的服务器端,用于通过信令服务器42和上述信令通道向对应的共享计算节点2发送信令,同时接收从共享计算节点2发送的信令。

进一步地,上述分布式节点信令传输系统1还包括共享计算管理器8,用于分发共享计算任务和维护任务状态。共享计算管理器8包括任务管理器80和任务状态管理器82。任务管理器80用于通过信令服务器42和上述信令通道分发共享计算任务到共享计算节点2。任务状态管理器82用于从信令服务器42接收来自共享计算节点2的任务上报,维护任务状态。

信令服务器42还用于接收任务管理器80推送的共享计算任务,快速定位到对应共享计算节点2所属的接入服务器40,将该任务转发至该接入服务器40。接入服务器40还用于在接收到信令服务器42转发的任务后,利用上述信令通道将该任务发送至对应共享计算节点2。

共享计算节点2上的本地信令代理20还用于从上述信令通道接收到的该任务,并转发至应用程序22。应用程序22还用于执行接收到的共享计算任务,并且上报任务状态。

接入服务器40还用于从上述信令通道接收共享计算节点2上报的任务状态,并传递至信令服务器42。

信令服务器42还用于从接入服务器40接收到该任务状态后,上报给任务状态管理器82。

另外,上述接入服务器40还用于在对应的共享计算节点2上线、下线以及超时的时候向信令服务器42上报节点状态信息。信令服务器42还用于根据接入服务器40上报的节点状态信息维护各个共享计算节点2的节点状态。

值得注意的是,在上述分布式节点信令传输系统1中,接入服务器40可以有多台,同时跨地域部署,因此上述信令通道可以实现单点容灾和跨机房容灾。其中,单点容灾是指,当共享计算节点2所连接的接入服务器40出现异常时,该共享计算节点2可以立即重连至正常的接入服务器40。跨机房容灾是指,每个机房的各个共享计算节点2在连接接入服务器40时使用独立的域名,该接入服务器40通过域名轮询发现出现异常的机房,并快速连接到正常机房的共享计算节点2。

另外,每个共享计算节点2可以同时与多个接入服务器40建立多条上述信令通道,并监控所有信令通道的质量,当检查到当前的信令通道不稳定时,可以立即启动新的信令通道。或者,共享计算节点2在每次发送信令时,按照所监控的各个信令通道的质量优先级,使用质量最优的信令通道进行信令传输。

第二实施例

参阅图2所示,本发明第二实施例提出一种分布式节点信令传输方法,应用于上述分布式节点信令传输系统1。在本实施例中,根据不同的需求,图2所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。此外,有关共享计算的常规处理步骤,可以根据实际应用场景纳入本发明。该方法包括:

s10,共享计算节点2中的本地信令代理20与信令网关4中的接入服务器40建立信令通道。

上述信令通道为在接入服务器40和本地信令代理20之间以rpc协议和http协议为基础建立的长连接双向信令传输通道。本地信令代理20为该信令通道的客户端,接入服务器40为该信令通道的服务端。

值得注意的是,当共享计算节点2所连接的接入服务器40出现异常时,该共享计算节点2可以立即重连至正常的接入服务器40。并且,每个机房的各个共享计算节点2在连接接入服务器40时使用独立的域名,该接入服务器40通过域名轮询发现出现异常的机房,并快速连接到正常机房的共享计算节点2。

另外,每个共享计算节点2可以同时与多个接入服务器40建立多条上述信令通道,并监控所有信令通道的质量,当检查到当前的信令通道不稳定时,可以立即启动新的信令通道。或者,共享计算节点2在每次发送信令时,按照所监控的各个信令通道的质量优先级,使用质量最优的信令通道进行信令传输。

s11,共享计算节点2中的应用程序22统一由上述信令通道发送第一信令。

上述第一信令为从共享计算节点2发送至共享计算服务器6的信令,可以用于询问是否有命令需要执行。因为该信令通道是长连接的,所以任何信令都可以立即发送出去,降低延迟。

s12,信令网关4中的接入服务器40通过上述信令通道接收共享计算节点2发送的第一信令,传递至信令网关4中的信令服务器42。

s13,信令服务器42从接入服务器40接收来自共享计算节点2的第一信令,转发至共享计算服务器6。

s14,共享计算服务器6从信令服务器42接收来自共享计算节点2的第一信令,并通过信令服务器42向对应的共享计算节点2发送第二信令。

上述第二信令为从共享计算服务器6发送至共享计算节点2的信令,可以用于根据该第一信令返回该共享计算节点2需要执行的命令,下发至对应的共享计算节点,当没有命令需要执行时,所述第二信令的返回结果为空值。

s15,信令服务器42接收来自共享计算服务器6的第二信令,快速定位到对应共享计算节点2所属的接入服务器40,并将该第二信令转发至该接入服务器40。

s16,接入服务器40在接收到信令服务器42转发的来自共享计算服务器6的第二信令时,利用上述信令通道将该第二信令发送至对应共享计算节点2。

s17,共享计算节点2中的应用程序22通过上述信令通道接收来自共享计算服务器6的该第二信令。

若该第二信令中下发了需要执行的命令,则应用程序22执行该命令。

本实施例提供的分布式节点信令传输方法,可以在接入服务器和共享计算节点之间实现基于rpc协议和http协议的长连接通道,在通道两端都提供了插件化支持,新的装置只要符合协议要求,即可快速接入,利用通道实现实时信令通信。并且,该通道可用性高,可以通过快速识别断连和通道自动冗余化,保证信令传输成功率。

第三实施例

参阅图3所示,本发明第三实施例提出一种分布式节点信令传输方法。在本实施例中,根据不同的需求,图3所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。本实施例中,该分布式节点信令传输方法在上述第二实施例的基础上,还可以包括:

s20,共享计算管理器8中的任务管理器80通过信令服务器42分发共享计算任务到对应共享计算节点2。

s21,信令服务器42接收任务管理器80推送的该共享计算任务后,快速定位到对应共享计算节点2所属的接入服务器40,将该任务转发至该接入服务器40。

s22,接入服务器40在接收到信令服务器42转发的任务后,利用上述信令通道将该任务发送至对应共享计算节点2。

s23,共享计算节点2上的本地信令代理20从上述信令通道接收该任务,并转发至应用程序22,应用程序22执行该共享计算任务,并且上报任务状态。

s24,接入服务器40从上述信令通道接收共享计算节点2上报的任务状态,并传递至信令服务器42,信令服务器42从接入服务器40接收到该任务状态后,上报给共享计算管理器8中的任务状态管理器82。

s25,任务状态管理器82从信令服务器42中接收上报的任务状态并进行维护。

本实施例提供的分布式节点信令传输方法,可以进一步利用上述信令通道进行任务分发和任务状态上报,保障共享计算任务的顺利执行和维护。

第四实施例

参阅图4所示,本发明第四实施例提出一种分布式节点信令传输方法,应用于上述共享计算节点2。在本实施例中,根据不同的需求,图4所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。此外,有关共享计算的常规处理步骤,可以根据实际应用场景纳入本发明。该方法包括:

s30,共享计算节点2中的本地信令代理20与信令网关4中的接入服务器40建立信令通道。

s31,共享计算节点2中的应用程序22统一由上述信令通道发送第一信令,以使该第一信令通过上述信令网关转发至共享计算服务器6。

s32,本地信令代理20通过上述信令通道接收来自共享计算服务器6的第二信令,并转发至应用程序22。

s33,本地信令代理20通过上述信令通道接收共享计算管理器8中的任务管理器80分发的共享计算任务,并转发至应用程序22。

s34,应用程序22执行接收到的该任务。

s35,应用程序22通过上述信令通道上报任务状态,以使该任务状态通过信令网关4转发至共享计算管理器8中的任务状态管理器82。

上述步骤的详细说明请参见上述第一实施例至第三实施例,在此不再赘述。

第五实施例

参阅图5所示,本发明第五实施例提出一种分布式节点信令传输方法,应用于上述信令网关4。在本实施例中,根据不同的需求,图5所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。此外,有关共享计算的常规处理步骤,可以根据实际应用场景纳入本发明。该方法包括:

s40,信令网关4中的接入服务器40与共享计算节点2中的本地信令代理20建立信令通道。

s41,接入服务器40通过上述信令通道接收共享计算节点2中的应用程序22发送的第一信令,并传递至信令网关4中的信令服务器42。

s42,信令服务器42从接入服务器40中接收该第一信令,转发至共享计算服务器6。

s43,信令服务器42接收来自共享计算服务器6的第二信令,定位到该第二信令对应的共享计算节点2所属的接入服务器40,并将该第二信令转发至该接入服务器40。

s44,接入服务器40在接收到信令服务器42转发的该第二信令时,利用上述信令通道将该第二信令发送至对应的共享计算节点2。

s45,信令服务器42接收共享计算管理器8中的任务管理器80分发的共享计算任务,定位到该任务对应的共享计算节点2所属的接入服务器40,将该任务转发至该接入服务器40。

s46,接入服务器40在接收到信令服务器42转发的该任务后,利用上述信令通道将该任务发送至对应的共享计算节点2。

s47,接入服务器40从上述信令通道接收共享计算节点2上报的任务状态,并传递至信令服务器42。

s48,信令服务器42从接入服务器40接收到该任务状态后,上报给共享计算管理器8中的任务状态管理器82。

上述步骤的详细说明请参见上述第一实施例至第三实施例,在此不再赘述。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台客户端(可以是手机,计算机,电子装置,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1