一种动态连接建立方法和设备 【技术领域】
本发明涉及通信技术领域, 尤其涉及一种动态连接建立方法和设备。背景技术 随着网络技术的发展, 各种业务和应用被广泛应用到网络中, 比如, 视频点播、 存 储备份等。这些业务都通过业务源发送端将模拟或数字数据转换成 IP 报文, 经过网络的转 发, 发送到请求业务的客户端。 为了有效的管理这些业务, 应用系统中会存在一个核心的管 理服务器。
如图 1 所示, 为现有典型的应用系统网络图, 包括管理服务器、 业务源发送端 ( 以 下简称 “业务源端” )、 业务请求客户端 ( 以下简称 “客户端” ) 以及相应的软件管理系统。其 中,
在现有应用方案中, 客户端向管理服务器申请建立与业务源端的业务关系, 管理 服务器通知业务源端将业务流发往客户端, 客户端接收到业务流之后, 进行应用转发, 实现 实时应用。其流程示意图可以如图 2 所示, 可以步骤以下步骤 :
步骤 201、 客户端向管理服务器请求业务源端的业务资源。
步骤 202、 管理服务器指示对应的业务源端发送相应业务流到指定客户端。
步骤 203、 管理服务器指示客户端打开相应端口, 准备接收业务流。
步骤 204、 业务源端发送相应业务流到请求的客户端。
在实现本发明的过程中, 发明人发现现有技术中至少存在以下问题 :
在现有应用中, 业务连接都是预先手动建立的, 即用户在客户端通过业务源端列 表中, 对业务源端 ID( 或者名称 ) 的确认, 找到需要的业务源端, 并向管理服务器发起连接 申请。
发明内容
本发明提供了一种动态连接建立方法和设备, 以实现业务连接的动态建立, 提高 资源利用率。
为了达到上述目的, 本发明提供一种动态连接建立方法, 包括 :
管理服务器接收客户端发送的连接建立请求消息, 其中携带有所请求建立连接的 业务源端的第一属性信息 ;
所述管理服务器向业务源端发送携带所述客户端标识信息以及所述第一属性信 息的连接指导消息, 以使所述业务源端根据所述第一属性信息确定是否与所述客户端建立 连接。
其中, 所述管理服务器中对应业务源端的标识信息存储有各业务源端的第二属性 信息 ; 所述连接建立请求消息中还包括请求建立连接的业务源端的第二属性信息 ;
所述管理服务器向业务源端发送携带所述客户端标识信息以及所述第一属性信 息的连接指导消息, 具体为 :所述管理服务器根据所述连接建立请求消息中携带的第二属性信息, 以及自身存 储的各业务源端的第二属性信息, 查询对应的业务源端 ;
所述管理服务器向所述查询到的业务源端发送携带所述客户端标识信息以及所 述第一属性信息的连接指导消息。
其中, 所述业务源端根据所述第一属性信息确定是否与所述客户端建立连接, 具 体为 :
所述业务源端判断自身是否满足所述第一属性信息, 并当判断为是时, 与所述客 户端建立连接, 并向所述客户端发送业务流 ; 否则, 不与所述客户端建立连接。
其中, 所述业务源端中记录自身与所述客户端之间的连接信息以及对应所述客户 端的第一属性信息 ;
该方法还包括 :
当所述业务源端根据所述连接信息确定自身与所述客户端建立连接, 且判断自身 不满足对应所述客户端的第一属性信息时, 停止向所述客户端发送业务流 ;
当所述业务源端根据所述连接信息确定自身与所述客户端未建立连接, 且判断自 身满足对应所述客户端的第一属性信息时, 与所述客户端建立连接, 并向所述客户端发送 业务流。 本发明实施例还提供一种动态连接建立方法, 包括 :
业务源端接收管理服务器发送的连接指导信息, 其中携带客户端请求建立连接的 业务源端的第一属性信息 ;
所述业务源端根据所述第一属性信息确定是否与所述客户端建立连接。
其中, 所述业务源端根据所述第一属性信息确定是否与所述客户端建立连接, 具 体为 :
所述业务源端判断自身是否满足所述第一属性信息, 并当判断为是时, 与所述客 户端建立连接, 并向所述客户端发送业务流 ; 否则, 不与所述客户端建立连接。
其中, 所述业务源端中记录自身与所述客户端之间的连接信息以及对应所述客户 端的第一属性信息 ;
该方法还包括 :
当所述业务源端根据所述连接信息确定自身与所述客户端建立连接, 且判断自身 不满足对应所述客户端的第一属性信息时, 停止向所述客户端发送业务流 ;
当所述业务源端根据所述连接信息确定自身与所述客户端未建立连接, 且判断自 身满足对应所述客户端的第一属性信息时, 与所述客户端建立连接, 并向所述客户端发送 业务流。
本发明实施例提供一种管理服务器, 包括 :
接收模块, 用于接收客户端发送的连接建立请求消息, 其中携带有请求建立连接 的业务源端的第一属性信息 ;
发送模块, 用于向业务源端发送携带所述客户端标识信息以及所述第一属性信息 的连接指导消息, 以使所述业务源端根据所述第一属性信息确定是否与所述客户端建立连 接。
其中, 所述连接建立请求消息中还包括请求建立连接的业务源端的第二属性信
息; 所述管理服务器还包括 :
存储模块, 用于对应业务源端的标识信息存储有各业务源端的第二属性信息 ;
确定模块, 用于根据所述接收模块接收到的连接建立请求消息中携带的第二属性 信息, 以及所述存储模块存储的各业务源端的第二属性信息, 确定对应的业务源端 ;
所述发送模块具体用于, 向所述确定模块确定的业务源端发送携带所述客户端标 识信息以及所述第一属性信息的连接指导消息。
本发明实施例还提供一种业务源端, 包括 :
接收模块, 用于接收管理服务器发送的连接指导信息, 其中携带客户端请求建立 连接的业务源端的第一属性信息 ;
连接建立模块, 用于根据所述第一属性信息确定是否与所述客户端建立连接。
其中, 所述连接建立模块具体用于, 判断所述业务源端是否满足所述第一属性信 息, 并当判断为是时, 与所述客户端建立连接 ; 否则, 不与所述客户端建立连接 ;
所述业务源端还包括 :
发送模块, 用于当所述连接建立模块判断所述业务源端满足所述第一属性信息 时, 向所述客户端发送业务流。
其中, 还包括 :
存储模块, 用于存储所述业务源端中记录自身与所述客户端之间的连接信息以及 对应所述客户端的第一属性信息 ;
所述连接建立模块还用于, 当根据所述存储模块中存储的连接信息确定所述业务 源端未与所述客户端建立连接, 且判断所述业务源端满足对应所述客户端的第一属性时, 与所述客户端建立连接, 并由所述发送模块向所述客户端发送业务流。
所述发送模块还用于, 当所述连接建立模块根据所述存储模块中存储的连接信息 确定所述业务源端与所述客户端建立连接, 且所述连接建立模块判断所述业务源端不满足 对应所述客户端的第一属性信息时, 停止向所述客户端发送业务流。
本发明的有益技术效果包括 :
本发明中, 客户端发送的业务连接请求消息中携带有请求建立连接的业务源端的 第一属性信息 ; 管理服务器接收到客户端发送的业务连接请求消息后, 向业务源端发送携 带客户端标识信息和第一属性信息的连接指导消息, 由业务源端根据该第一属性信息确定 是否与相应的客户端建立连接, 实现了业务连接的动态建立, 提高了资源利用率。
附图说明
图 1 为现有典型的应用系统网络架构示意图 ; 图 2 为现有技术中的业务连接建立方法的流程示意图 ; 图 3 为本发明实施例提供的一种动态连接建立方法的流程示意图 ; 图 4 为本发明实施例提供的一种动态连接建立方法的流程示意图 ; 图 5 为本发明实施例提供的一种管理服务器的结构示意图 ; 图 6 为本发明实施例提供的一种业务源端的结构示意图。具体实施方式
针对现有技术中存在的问题, 本发明实施例提供一种动态连接建立的技术方案。 在本发明实施例中, 客户端发送的业务连接请求消息中携带有请求建立连接的业务源端的 第一属性信息 ; 管理服务器接收到客户端发送的业务连接请求消息后, 向业务源端发送携 带客户端标识信息和第一属性信息的连接指导消息, 由业务源端根据该第一属性信息确定 是否与相应的客户端建立连接, 实现了业务连接的动态建立, 提高了资源利用率。
下面将结合本申请中的附图, 对本申请中的技术方案进行清楚、 完整的描述, 显 然, 所描述的实施例是本申请的一部分实施例, 而不是全部的实施例。 基于本申请中的实施 例, 本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例, 都属 于本申请保护的范围。
如图 3 所示, 为本发明实施例提供的一种动态连接建立方法的流程示意图, 可以 包括以下步骤 :
步骤 301、 管理服务器接收客户端发送的连接建立请求消息, 其中携带有请求建立 连接的业务源端的第一属性信息。
具体的, 在本发明实施例中, 为了使客户端可以根据业务源端的具体情况与不同 的业务源端建立动态的连接, 客户端发送的连接建立请求消息中可以携带请求建立连接的 业务源端的第一属性信息, 以请求与满足该第一属性信息的业务源端建立连接。 其中, 该第 一属性信息可以是可定量物 ( 如人, 车辆 ) 的数量的条件信息, 也可以是可定性动作 ( 如闯 红灯、 闯警戒线等 ) 的属性等。 相应地, 与现有技术中通过列表选择业务源端的实现方式不同的是, 在本发明实 施例中, 客户端展示的用户界面上可以包括输入框, 以使用户根据自身需求在输入框中输 入动态属性需求并发起连接建立请求。
例如, 在视频监控系统中, 该第一属性信息可以是业务源端 ( 监控摄像头 ) 所监控 的画面中人数超过一定阈值 ( 如 10 人 ), 即客户端请求与监控画面中人数超过 10 人的业务 源端建立连接。
步骤 302、 管理服务器向业务源端发送携带客户端标识信息以及第一属性信息的 连接指导消息。
具体的, 管理服务器接收到客户端发送的连接建立请求消息后, 可以向系统内所 有的业务源端发送携带该客户端标识信息以及第一属性信息的连接指导消息, 以使业务源 端根据该第一属性信息确定是否与客户端建立连接。
为了提高系统安全性, 管理服务器中可以对应客户端的标识信息存储各客户端的 访问权限信息。当管理服务器接收到客户端发送的连接建立请求消息后, 确定该客户端的 有权限访问的业务源端, 并向该客户端有权限访问的业务源端发送连接指导消息。
进一步地, 在本发明实施例提供的技术方案中, 客户端发送的连接建立请求消息 中还可以携带请求建立连接的业务源端的第二属性。 该第二属性可以为业务源端预先配置 的信息, 如业务源端的地址信息 ( 某市某街道等 ), 业务源端的地点类型信息 ( 如道路、 室 内、 广场等 )。
相应地, 管理服务器在管理注册的业务源端时, 可以对应业务源端的标识信息记 录 ( 存储 ) 各业务源端的第二属性信息。当管理服务器接收到客户端发送的连接建立请求
消息后, 根据其中携带的第二属性信息以及自身存储的各业务源端的第二属性信息, 查询 到对应的业务源端, 并向查询到的业务源端发送连接指导消息。
以图 1 所示的应用场景为例, 假设业务源端 1 的第二属性为道路, 业务源端 2、 3、 4 的第二属性为广场。当管理服务器接收到的连接建立请求中携带的属性信息为人数超过 10( 第一属性信息 ) 的广场 ( 第二属性信息 ) 时, 管理服务器向业务源端 2、 3、 4 发送连接指 导信息, 其中携带客户端请求建立连接的业务源端的第一属性信息 ( 人数超过 10)。
步骤 303、 业务源端接收到管理服务器发送的连接指导消息后, 根据其中携带的第 一属性信息确定是否与相应客户端建立连接。
具体的, 业务源端接收到管理服务器发送的连接指导消息后, 获取其中携带的第 一属性信息, 判断自身是否满足该第一属性信息, 并当判断结果为满足时, 则向相应客户端 返回连接建立确认消息, 以建立连接。
在本发明实施例提供的技术方案中, 可以将业务源端划分为 3 种状态。当业务源 端未与客户端建立连接, 且未接收到连接指导消息时, 业务源端处于初始状态 ; 当业务源端 未与客户端建立连接, 但接收到连接指导消息时, 业务源端处于待命状态 ; 当业务源端与客 户端建立连接后, 业务源端处于转发状态。 业务源端接收到连接指导消息后, 从初始状态进入到待命状态, 并判断自身是否 满足第一属性信息, 若判断为满足, 则进入转发状态, 并向客户端返回连接建立确认消息, 从而与客户端建立连接, 进行实时业务 ; 如果业务源端判断自身不满足第一属性信息, 则业 务源端仍处于待命状态, 并继续 ( 如周期性地, 或定期 ) 判断是否满足第一属性信息 ; 当业 务源端处于转发状态, 但发现自身不满足第一属性信息时, 则返回到待命状态。
相应地, 在本发明实施例提供的技术方案中, 业务源端中可以记录自身与客户端 之间的连接信息以及对应客户端的第一属性信息, 以根据相应的连接信息判断自身是否与 对应的客户端连接, 以及自身是否满足对应该客户端的第一属性信息。
客户端接收到业务源端返回的连接建立确认消息后, 与业务源端建立连接, 并接 收业务源端发送的业务流。 其中, 如果存在多个业务源端设备满足客第一属性时, 则客户端 在收到多个业务源端返回的连接申请确认后, 可以打开多个本地窗口, 同时接收业务流, 或 者是将多个业务流进行拼接, 在一个窗口上接收, 也可以依次向业务源端返回延时申请, 在 一个窗口上实现顺序业务切换。
进一步地, 在本发明实施例提供的技术方案中, 当客户端要结束与业务源端的连 接时, 可以向管理服务器发送连接停止消息 ; 管理服务器接收到客户端发送的连接停止消 息后, 向相应业务源端转发该连接停止消息。 业务源端接收到连接停止消息后, 断开与客户 端的连接, 并停止向客户端发送业务流。此时, 无论业务源端处于待命状态还是转发状态, 均返回初始状态。其中, 客户端可以在连接停止消息中携带需要停止连接的业务源端的标 识信息, 以使管理服务器向相应的业务源端发送连接停止消息 ; 也可以在管理服务器中对 应客户端标识存储满足该客户端发送的连接建立请求中携带的第一属性信息的业务源端 的信息, 当接收到连接停止消息时, 向相应的业务源端发送连接停止消息。
下面结合具体的应用场景对本发明实施例提供的技术方案进行更加详细地描述。 在该实施例中, 仍以图 1 所示的网络架构为例。其中, 业务源端 1-4 为监控摄像头 ; 管理服 务器中存储有业务源端 1-4 的第二属性信息 : 业务源端 1 的第二属性信息为道路, 业务源端
2-4 的第二属性信息为广场 ; 管理服务器中存储的客户端 A 的访问权限为业务源端 1-3。
如图 4 所示, 为本发明实施例提供的一种动态连接建立的方法流程示意图, 可以 包括以下步骤 :
步骤 401、 客户端 A 向管理服务器发送连接建立请求消息, 其中携带属性信息为监 控画面中人数超过 10( 第一属性信息 ) 的广场 ( 第二属性信息 )。
步骤 402、 管理服务器根据自身存储的访问权限信息确定客户端 A 能访问的业务 源端。即业务源端 1-3。
步骤 403、 管理服务器根据接收到的连接建立请求消息中携带的第二属性信息以 及自身存储的各业务源端的第二属性信息确定对应的业务源端。即业务源端 2 和 3。
步骤 404、 管理服务器向业务源端 2 和 3 发送连接指导消息。其中, 携带第一属性 信息。
步骤 405、 业务源端 2(3) 判断自身是否满足第一属性信息。即监控画面中的人数 是否超过 10。若判断为是, 则转至步骤 406 ; 否则, 转至步骤 407。
步骤 406、 业务源端 2(3) 向客户端返回连接建立确认消息, 进入转发状态, 并向客 户端发送业务流。 步骤 407、 业务源端 2(3) 向客户端保持待命状态。
其中, 当业务源端处于待命状态或转发状态时, 业务源端可以定期 ( 如每 2S) 判断 自身是否满足第一属性信息, 并当判断为是时, 进入 ( 保持 ) 转发状态 ; 否则, 保持 ( 进入 ) 待命状态。
步骤 408、 客户端接收到业务源端返回的连接建立确认消息后, 接收业务端发送的 业务流。
其中, 当业务源端 2 和 3 同时向客户端发送业务流时, 客户端同时接收业务源端 2 和 3 发送的业务流 ( 通过两个本地窗口 )。
步骤 409、 客户端向管理服务器发送连接停止消息。
步骤 410、 管理服务器向业务源端 2 和 3 转发该连接停止消息。
步骤 411、 业务源端 2 和 3 进入初始状态。
通过以上描述可以看出, 在本发明实施例提供的技术方案中, 客户端发送的业务 连接请求消息中携带有请求建立连接的业务源端的第一属性信息 ; 管理服务器接收到客户 端发送的业务连接请求消息后, 向业务源端发送携带客户端标识信息和第一属性信息的连 接指导消息, 由业务源端根据该第一属性信息确定是否与相应的客户端建立连接, 实现了 业务连接的动态建立, 提高了资源利用率。
基于上述方法流程相同的技术构思, 本发明实施例还提供了一种管理服务器, 可 以应用于上述方法流程。
如图 5 所示, 为本发明实施例提供的一种管理服务器的结构示意图, 可以包括 :
接收模块 51, 用于接收客户端发送的连接建立请求消息, 其中携带有请求建立连 接的业务源端的第一属性信息 ;
发送模块 52, 用于向业务源端发送携带所述客户端标识信息以及所述第一属性信 息的连接指导消息, 以使所述业务源端根据所述第一属性信息确定是否与所述客户端建立 连接。
其中, 所述连接建立请求消息中还可以包括请求建立连接的业务源端的第二属性信息 ; 相应的, 本发明实施例提供的管理服务器还可以包括 :
存储模块 53, 用于对应业务源端的标识信息存储有各业务源端的第二属性信息 ;
确定模块 54, 用于根据所述接收模块 51 接收到的连接建立请求消息中携带的第 二属性信息, 以及所述存储模块 53 存储的各业务源端的第二属性信息, 确定对应的业务源 端;
所述发送模块 52 具体用于, 向所述确定模块 54 确定的业务源端发送携带所述客 户端标识信息以及所述第一属性信息的连接指导消息。
其中, 所述业务源端接收到连接指导消息后, 判断自身是否满足所述第一属性信 息, 并当判断为是时, 与所述客户端建立连接, 并向所述客户端发送业务流 ; 否则, 不与所述 客户端建立连接。
进一步地, 当所述业务源端与所述客户端建立连接, 且判断自身不满足所述第一 属性信息时, 停止向所述客户端发送业务流 ;
当所述业务源端与所述客户端未建立连接, 且判断自身满足所述第一属性信息 时, 与所述客户端建立连接, 并向所述客户端发送业务流。
基于上述方法流程相同的技术构思, 本发明实施例还提供了一种业务源端, 可以 应用于上述方法流程。
如图 6 所示, 为本发明实施例提供的一种业务源端的结构示意图, 可以包括 :
接收模块 61, 用于接收管理服务器发送的连接指导信息, 其中携带客户端请求建 立连接的业务源端的第一属性信息 ;
连接建立模块 62, 用于根据所述第一属性信息确定是否与所述客户端建立连接。
其中, 所述连接建立模块 62 可以具体用于, 判断所述业务源端是否满足所述第一 属性信息, 并当判断为是时, 与所述客户端建立连接 ; 否则, 不与所述客户端建立连接 ;
相应地, 所述业务源端还可以包括 :
发送模块 63, 用于当所述连接建立模块判断所述业务源端满足所述第一属性信息 时, 向所述客户端发送业务流。
其中, 在本发明实施例提供的业务源端还可以包括 :
存储模块 64, 用于存储所述业务源端中记录自身与所述客户端之间的连接信息以 及对应所述客户端的第一属性信息 ;
所述连接建立模块 62 还用于, 当根据所述存储模块 64 中存储的连接信息确定所 述业务源端未与所述客户端建立连接, 且判断所述业务源端满足对应所述客户端的第一属 性时, 与所述客户端建立连接, 并由所述发送模块 63 向所述客户端发送业务流 ;
所述发送模块 63 还用于, 当所述连接建立模块 62 根据所述存储模块 64 中存储的 连接信息确定所述业务源端与所述客户端建立连接, 且所述连接建立模块 62 判断所述业 务源端不满足对应所述客户端的第一属性信息时, 停止向所述客户端发送业务流。
其中, 本发明装置的各个模块可以集成于一体, 也可以分离部署。 上述模块可以合 并为一个模块, 也可以进一步拆分成多个子模块。
通过以上的实施方式的描述, 本领域的技术人员可以清楚地了解到本发明可借助
软件加必需的通用硬件平台的方式来实现, 当然也可以通过硬件, 但很多情况下前者是更 佳的实施方式。基于这样的理解, 本发明的技术方案本质上或者说对现有技术做出贡献的 部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中, 包括若 干指令用以使得一台终端设备 ( 可以是手机, 个人计算机, 服务器, 或者网络设备等 ) 执行 本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式, 应当指出, 对于本技术领域的普通技术人 员来说, 在不脱离本发明原理的前提下, 还可以做出若干改进和润饰, 这些改进和润饰也应 视本发明的保护范围。