一种长连接应用接入的安全管控方法及系统的制作方法

文档序号:9276714阅读:495来源:国知局
一种长连接应用接入的安全管控方法及系统的制作方法
【技术领域】
[0001] 本发明涉及通讯技术领域,特别是涉及长连接通讯技术领域,具体为一种长连接 应用接入的安全管控方法及系统。
【背景技术】
[0002] 长连接通讯是指通讯双方在整个通讯过程中始终保持通讯链路,是一种面向连接 的,可靠的通讯方式。长连接的实现方法多种多样,其中基于TCP协议的实现应用最为广 泛。
[0003] 长连接服务器需在网络(通常为互联网)上使用固定的域名和固定端口号,提供 长连接服务,以供对应的应用客户端接入服务器端。介于长连接服务器自身的性能和带宽 等一系列资源因素,服务器所能承受的应用服务连接数是有限的,同时由于服务所需的固 定域名和端口长期开放在网络(通常为互联网)上,任何符合TCP协议的应用连接均可随 意接入占用服务器和带宽资源,无法服务所对应的应用客户端。
[0004] 基于TCP协议的长连接通讯是指通讯双方在整个过程中始终保持和维护连 接的通讯方式,是一种点对点的,可靠的通讯方式。长连接通讯双方分为服务器方 (Server-Side)和客户端方(Client-Side)。服务器方负责提供长连接接入服务,客户端方 发起连接请求至服务器,完成TCP协议规定的三次握手后,建立连接即开始通讯。
[0005] 为提供长连接服务,服务器需在网络(通常为互联网)上长时间开放固定的域名 和端口号,任何基于TCP协议的应用客户端均可接入。由于长连接服务本身依赖于服务器 计算和带宽等有限资源,大量的非法连接的接入和断开占用了资源,使合法应用的接入请 求无法得到响应,或响应缓慢。
[0006] 在现有技术中,在长连接建立后,使用连接所承载数据层中的私有机制进行控制, 如不符合应用接入要求,再断开连接,以达到应用接入安全管控的目的。这种先建立连接再 断开的方法,也耗费了大量系统资源。
[0007] 如何对长连接通讯进行控制来避免上述问题成为本领域技术人员亟待解决的问 题。

【发明内容】

[0008] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种长连接应用接入的安 全管控方法及系统,用于解决现有技术中长连接应用接入管控占用大量的时间和内存的问 题。
[0009] 为实现上述目的及其他相关目的,本发明提供一种长连接应用接入的安全管控方 法,应用于应用客户端和长连接服务器在基于TCP协议进行长连接通讯的过程中,所述长 连接应用接入的安全管控方法包括:应用客户端在发起的TCP连接请求中添加预先定义的 应用ID ;长连接服务器的TCP协议栈提取所述TCP连接请求中的所述应用ID ;所述长连 接服务器判断所述应用ID是否在所述长连接服务器内预存的关系表中,若是,则处理所述 TCP连接请求,与所述应用客户端建立长连接,若否,则拒绝所述TCP连接请求。
[0010] 可选地,所述应用客户端在TCP协议的Options字段添加所述应用ID。
[0011] 可选地,预先定义所述应用ID为8个字节的64位无符号整型数。
[0012] 可选地,所述应用ID由长连接服务方进行预先定义和更新维护。
[0013] 可选地,添加预先定义的应用ID的具体过程包括:所述长连接服务方向所述应用 客户端提供包含应用开发包和对应应用的应用ID的许可证书;在所述应用客户端使用所 述应用开发包时,自动读取所述许可证书中的应用ID并存入TCP协议的Options字段。 [0014] 为实现上述目的,本发明还提供一种长连接应用接入的安全管控系统,应用于应 用客户端和长连接服务器在基于TCP协议进行长连接通讯的过程中,所述长连接应用接入 的安全管控系统包括:应用ID添加模块,配置于所述应用客户端内,用于所述应用客户端 在发起的TCP连接请求中添加预先定义的应用ID ;应用ID提取模块,配置于所述长连接服 务器内,用于所述长连接服务器的TCP协议栈提取所述TCP连接请求中的所述应用ID ;关 系表存储模块,配置于所述长连接服务器内,用于存储包含所述应用ID和对应的应用名称 的关系表;判断模块,配置于所述长连接服务器内并与所述关系表存储模块相连,用于判断 所述应用ID是否在所述长连接服务器内预存的关系表中;控制模块,配置于所述长连接服 务器内并与所述判断模块相连,用于在所述关系表中存在所述应用ID时处理所述TCP连接 请求,与所述应用客户端建立长连接,在所述关系表中不存在所述应用ID时拒绝所述TCP 连接请求。
[0015] 可选地,所述应用ID添加模块在TCP协议的Options字段添加所述应用ID。
[0016] 可选地,预先定义所述应用ID为8个字节的64位无符号整型数。
[0017] 可选地,还包括配置于长连接服务方处并与所述应用ID添加模块相连,用于对所 述应用ID进行预先定义和更新维护的定义维护模块。
[0018] 可选地,所述定义维护模块包括:向所述应用客户端提供包含应用开发包和对应 应用的应用ID的许可证书的许可证书单元;在所述应用客户端使用所述应用开发包时,所 述应用ID添加模块自动读取所述许可证书中的应用ID并存入TCP协议的Options字段。
[0019] 如上所述,本发明的一种长连接应用接入的安全管控方法及系统,具有以下有益 效果:
[0020] 本发明通过在TCP协议层面中加入对请求接入的应用方进行检测,在连接建立之 前进行应用接入管控,避免了现有技术所采用的先建立连接,再断开的方法,节省了连接建 立和断开的资源开销。本发明简单高效,具有较强的通用性和实用性。
【附图说明】
[0021] 图1显示为本发明的长连接应用接入的安全管控方法的流程示意图。
[0022] 图2显示为本发明的长连接应用接入的安全管控方法中添加预先定义的应用ID 的具体过程流程示意图。
[0023] 图3显示为本发明的长连接应用接入的安全管控系统的结构示意图。
[0024] 图4显示为本发明的长连接应用接入的安全管控系统的连接示意图。
[0025] 元件标号说明
[0026] 1 长连接应用接入的安全管控系统
[0027] 11 应用ID添加模块
[0028] 12 关系表存储模块
[0029] 13 应用ID提取模块
[0030] 14 判断模块
[0031] 15 控制模块
[0032] 16 定义维护模块
[0033] Sll ~S15 步骤
【具体实施方式】
[0034] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书 所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实 施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离 本发明的精神下进行各种修饰或改变。
[0035] 本发明的目的在于提供一种长连接应用接入的安全管控方法及系统,用于解决现 有技术中长连接应用接入管控占用大量的时间和内存的问题。以下将详细阐述本发明的一 种长连接应用接入的安全管控方法及系统的原理及实施方式,使本领域技术人员不需要创 造性劳动即可理解本发明的一种长连接应用接入的安全管控方法及系统。
[0036] 本实施例提供一种长连接应用接入的安全管控方法,要解决的是基于TCP协议 (Transmission Control Protocol, TCP)的长连接服务应用客户端接入的安全性问题。
[0037] 本实施例提供一种长连接应用接入的安全管控方法,采用在TCP协议规定的字段 中加入应用ID (App ID),该应用ID由长连接服务提供方统一定义,维护和颁发,用于标识 其所
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1