CN112261055B - 一种实时数据定向推送的方法、系统及其网关设备 - Google Patents

一种实时数据定向推送的方法、系统及其网关设备 Download PDF

Info

Publication number
CN112261055B
CN112261055B CN202011152289.0A CN202011152289A CN112261055B CN 112261055 B CN112261055 B CN 112261055B CN 202011152289 A CN202011152289 A CN 202011152289A CN 112261055 B CN112261055 B CN 112261055B
Authority
CN
China
Prior art keywords
real
time data
information
identification code
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011152289.0A
Other languages
English (en)
Other versions
CN112261055A (zh
Inventor
余培军
何春林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Xiehong Software Technology Co ltd
Original Assignee
Nanjing Xiehong Software Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Xiehong Software Technology Co ltd filed Critical Nanjing Xiehong Software Technology Co ltd
Priority to CN202011152289.0A priority Critical patent/CN112261055B/zh
Publication of CN112261055A publication Critical patent/CN112261055A/zh
Application granted granted Critical
Publication of CN112261055B publication Critical patent/CN112261055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls

Abstract

本发明公开了一种实时数据定向推送的方法、系统及其网关设备。该系统中,位于内网的推送者终端向外网推送数据时,首先在连接网关设备的内网模块时,由内网模块根据授权识别码对推送者终端进行是否具备向外网发送数据的权限的鉴权,鉴权通过后,推送者终端将数据识别码经网关设备和缓存服务器发送至接收者终端,接收者终端连接网关设备时,经网关设备的鉴权后与推送者终端构建一个实时数据通道,通过该实时数据通道,推送者终端将实时数据发送至接收者终端,同时通过网关设备的转发处理实现实时数据的多播发送。

Description

一种实时数据定向推送的方法、系统及其网关设备
技术领域
本发明涉及内网和外网之间数据交互的安全技术。
背景技术
专利文献CN 107018154A公开了一种基于应用层用于连接内网和外网的路由器和路由方法。专利文献CN 107018155A公开了一种外网终端安全访问内网特定数据的方法和系统。这两篇专利文献均涉及了外网终端如何访问内网服务器的问题。若内网中某台缓存服务器需要向特定用户发送实时数据,根据上述技术方案,通常的方法是将一个即时消息发送至用户,由用户的外网终端通过上述技术方案中的方法连接内网服务器建立实时数据连接通道接收实时数据。但上述方法存在以下几个问题:
第一个问题是如何将即时消息发送至用户的问题。上述专利文献记载的技术方案中,所有的数据连接通道均要求由外网终端发起请求。而内网服务器向外发送即时消息需要由内网服务器发起。一方面,内网服务器甚至可能并不知道最终的用户,最终的目标用户可能需要由外网的服务器所确定。另一方面,即时消息通常需要通过移动网络短消息的方式发送至目标用户,而内网服务器无法发送移动网络短消息。再者,之所以设置独立于公共网络的内网以及在内网和外网之间设置网关很大的原因在于保证内网中信息的安全问题,内网服务器向外发送即时消息存在需要授权的问题。
第二个问题是上述技术方案中,外网终端连接内网服务器时,权限由外网的可信服务器鉴权。这存在逻辑上的问题。因为这是由内网服务器主导的操作,而缺陷最终却是由外网服务器确定,逻辑上就不合理。容易出现逻辑错误而产生不可预知的风险。
第三个问题是实时数据发送时存在需要将同一数据同时发送至多个外网终端的情形。根据上述技术方案存在同一实时数据在内网中需要发送至多个连接通道,对于视频类实时数据而言,这种技术方案件将占用太多的内网网络资源。
发明内容
本发明所要解决的问题:内网中的机器将实时数据主动推送至用户终端。
为解决上述问题,本发明采用的方案如下:
根据本发明的一种实时数据定向推送的方法,该方法涉及推送者终端、网关设备、缓存服务器和接收者终端;其中,所述推送者终端位于内网,所述缓存服务器和接收者终端位于外网,所述网关设备设置于外网和内网之间;所述推送者终端和所述网关设备通过内网网络相连;所述缓存服务器、接收者终端和网关设备通过外网网络相连;所述网关设备配置有内网模块和外网模块;所述内网模块和外网模块分别连接内网网络和外网网络;所述内网模块和外网模块相连;该方法包括如下步骤:
S1:所述推送者终端和所述内网模块之间通过鉴权交互构建所述推送者终端和所述内网模块之间的消息推送通道;
S2:当推送者终端存在被推送的实时数据时,根据被推送的实时数据生成实时概要信息,然后将所述实时概要信息组成第一推送信息,通过所述消息推送通道将第一推送信息向所述内网模块发送;
所述第一推送信息至少包括授权识别码、目标者信息、数据识别码和实时概要信息;
所述实时概要信息至少包括概要标题;
S3:所述内网模块通过所述消息推送通道接收到所述第一推送信息后,根据所述第一推送信息中的授权识别码找到对应的缓冲服务器地址信息,组成第二推送信息提交至所述外网模块;
所述第二推送信息至少包括缓存服务器地址信息、数据识别码、目标者信息和实时概要信息;
S4:所述外网模块接收到所述第二推送信息后,生成连接许可码,然后生成第三推送信息,并将所述第三推送信息发送至所述第二推送信息中的所述缓存服务器地址信息所对应的缓存服务器;所述缓存服务器以缓存的方式将第四推送信息发送至所述第三推送信息中的所述目标者信息对应的接收者终端;所述外网模块等待所述接收者终端连接;
所述第三推送信息至少包括网关地址信息、连接许可码、数据识别码、目标者信息和实时概要信息;
所述第四推送信息至少包括网关地址信息、连接许可码、数据识别码和实时概要信息;
S5:所述接收者终端通过所述缓存服务器获取所述第四推送信息,然后根据所述第四推送信息中的所述网关地址信息连接所述外网模块,并根据所述连接许可码和数据识别码组成第一实时数据请求向所述外网模块发送;
S6:所述外网模块接收到所述第一实时数据请求后,将所述第一实时数据请求中的所述数据识别码组成第二实时数据请求转发至所述内网模块;所述内网模块根据所述数据识别码连接所述推送者终端构建所述推送者终端和所述内网模块之间的实时数据通道,并根据所述数据识别码通过所述实时数据通道向所述推送者终端发送第三实时数据请求;
S7:所述推送者终端通过所述实时数据通道接收到所述第三实时数据请求后,提取所述第三实时数据请求中的数据识别码,然后将所述数据识别码对应的被推送的实时数据通过所述实时数据通道发送至所述内网模块;所述内网模块将所述被推送的实时数据转发至所述外网模块,由所述外网模块将所述被推送的实时数据发送至所述接收者终端。
进一步,根据本发明的实时数据定向推送的方法,所述步骤S4包括步骤:
S41:所述外网模块接收到所述第二推送信息后,生成连接许可码,然后生成第三推送信息,并将所述第三推送信息发送至所述第二推送信息中的所述缓存服务器地址信息所对应的缓存服务器;
S42:所述缓存服务器接收到所述第三推送信息后,根据所述第三推送信息中的目标者信息找到对应的接收者,并根据所述第三推送信息生成第四推送信息缓存于接收者缓存空间,同时将所述第三推送信息中所述实时概要信息的概要标题通过移动网络短消息的方式发送至对应接收者的移动终端;
S43:当所述接收者终端连接所述缓存服务器时,所述缓存服务器将所述第四推送信息发送至所述接收者终端。
进一步,根据本发明的实时数据定向推送的方法,
所述第四推送信息还包括许可验证信息;
所述第一实时数据请求包括接收者识别码、连接许可码、数据识别码和许可验证信息;
所述许可验证信息为由缓存服务器私钥对连接许可信息进行签名后再由网关公钥加密所形成;
所述连接许可信息包括接收者识别码、连接许可码和数据识别码;
所述步骤S6包括步骤:
S61:所述外网模块接收到所述第一实时数据请求后,通过网关私钥和缓存服务器公钥对所述第一实时数据请求中所述许可验证信息进行解密后鉴权验证;鉴权验证通过后,将接收者会话识别码和数据识别码组成第二实时数据请求;然后将所述第二实时数据请求提交至所述内网模块。
进一步,根据本发明的实时数据定向推送的方法,
所述步骤S4中:生成连接许可码后,连接许可码和对应的数据识别码加入至连接许可表;
所述步骤S61中:接收到第一实时数据请求后,判断连接许可表中是否存在第一实时数据请求中的连接许可码和数据识别码。
进一步,根据本发明的实时数据定向推送的方法,
所述第一推送信息和第二推送信息包括连接有效期;
所述步骤S4中,连接许可码和对应的数据识别码加入至连接许可表时,还将所述第二推送信息中数据识别码对应的连接有效期加入至连接许可表;
该方法还包括步骤:
所述外网模块按照一定的时间间隔遍历连接许可表判定是否存在连接许可码对应的连接有效期逾期;若连接许可码所对应的连接有效期逾期,则将该连接许可码从连接许可表中删除,同时断开与该连接许可码对应的与接收者终端之间的连接。
进一步,根据本发明的实时数据定向推送的方法,所述步骤S6还包括步骤:
S62:所述内网模块根据所述第二实时数据请求中的所述数据识别码查找是否存在所述数据识别码对应的实时数据通道;
S63:若存在所述数据识别码对应的实时数据通道,所述内网模块将所述第二实时数据请求中的所述接收者会话识别码加入至所对应的实时数据通道的接收者列表中;
S64:若不存在所述数据识别码对应的实时数据通道,所述内网模块连接所述推送者终端构建所述数据识别码对应的实时数据通道,并为所述实时数据通道初始化接收者列表,然后根据所述第二实时数据请求中的所述数据识别码组成第三实时数据请求通过所述实时数据通道发送至所述推送者终端;
所述接收者列表是接收者会话识别码的集合。
进一步,根据本发明的实时数据定向推送的方法,
所述步骤S7包括步骤:
S71:所述推送者终端接收到所述第三实时数据请求后,将所述第三实时数据请求中的所述数据识别码对应的被推送的实时数据通过所述实时数据通道向所述内网模块发送;
S72:所述内网模块通过所述实时数据通道接收到被推送的实时数据后,结合所述实时数据通道所对应的接收者列表组成第二实时数据转发至所述外网模块;
S73:所述外网模块接收到所述第二实时数据后,根据所述第二实时数据中所述接收者列表中各个所述接收者会话识别码对应的连接会话向对应的接收者终端发送被推送的实时数据。
进一步,根据本发明的实时数据定向推送的方法,
所述步骤S2中,组成第一推送信息时,将数据识别码和其对应的连接有效期加入至待推送数据表;
所述步骤S7中,接收到第三实时数据请求时,判断所述待推送数据表中是否存在所述第三实时数据请求中的数据识别码;
该方法还包括步骤:
所述推送者终端按照一定的时间间隔检测所述待推送数据表中数据识别码对应的连接有效期是否逾期,若数据识别码逾期,则在待推送数据表中删除该数据识别码,并断开与该数据识别码相关的实时数据通道连接。
进一步,根据本发明的实时数据定向推送的方法,
所述步骤S1包括如下步骤:
S11:所述推送者终端连接所述内网模块作为消息推送通道,并通过所述消息推送通道向所述内网模块发送授权验证请求;
所述授权验证请求至少包括推送者识别码、授权识别码集合和签名验证信息;
所述签名验证信息由推送者私钥对授权验证信息进行签名后再由网关公钥加密所形成;
所述授权验证信息至少包括授权识别码集合;
S12:所述内网模块接收到所述授权验证请求后,提取所述授权验证请求中的推送者识别码、授权识别码集合和签名验证信息;通过网关私钥和推送者公钥对所述签名验证信息进行解密后鉴权验证;鉴权验证通过后,生成授权验证许可,通过所述消息推送通道将所述授权验证许可发送至所述推送者终端。
进一步,根据本发明的实时数据定向推送的方法,
所述步骤S12中,在鉴权验证通过后,还包括步骤:
S123:根据授权识别码集合中的授权识别码找出授权识别码对应的服务器地址信息,组成服务授权表;
所述服务授权表是服务授权信息的集合;
所述服务授权信息至少包括授权识别码和服务器地址信息;
所述步骤S3中,所述内网模块通过所述消息推送通道接收到所述第一推送信息后,根据所述第一推送信息中的授权识别码从所述服务授权表中找到对应的服务授权信息,以所找到的所述服务授权信息中的服务器地址信息作为缓存服务器地址信息。
进一步,根据本发明的实时数据定向推送的方法,
所述服务授权信息还包括推送数据类型;
所述步骤S3还包括判断所找到的所述服务授权信息中的推送数据类型是否为实时数据类型;若所述推送数据类型为实时数据类型,则提取所述第一推送信息中的数据识别码存入待连实时数据表;
所述步骤S6中,所述内网模块接收到所述第二实时数据请求后首先判定所述待连实时数据表中是否存在所述第二实时数据请求中的所述数据识别码。
进一步,根据本发明的实时数据定向推送的方法,
所述步骤S12还包括步骤:
S124:根据所述服务授权表中的授权识别码组成授权验证许可;
所述步骤S1还包括步骤:
S13:所述推送者终端将所述授权验证许可中的授权识别码组成授权许可表;
所述步骤S2还包括判断所述授权许可表是否存在所述第一推送信息对应的授权识别码。
进一步,根据本发明的实时数据定向推送的系统,
所述第一推送信息还包括连接有效期;
所述待连实时数据表中还包括由数据识别码对应的连接有效期;
该方法还包括步骤:
所述内网模块按照一定的时间间隔检测待连实时数据表中的数据识别码对应的连接有效期是否逾期,若数据识别码逾期,则在待连实时数据表中删除该数据识别码,并断开与该数据识别码相关的实时数据通道连接。
根据本发明的一种实时数据定向推送的系统,该系统包括推送者终端、网关设备和缓存服务器;其中,所述推送者终端位于内网,所述缓存服务器位于外网,所述网关设备设置于外网和内网之间;所述推送者终端和所述网关设备通过内网网络相连;所述缓存服务器和网关设备通过外网网络相连;所述网关设备配置有内网模块和外网模块;所述内网模块和外网模块分别连接内网网络和外网网络;所述内网模块和外网模块相连;所述推送者终端配置有推送者模块;所述缓存服务器配置有缓存服务模块;该系统用于位于内网的推送者终端向位于外网的接收者终端推送实时数据;
所述推送者模块包括如下模块:
MP1,用于:和所述内网模块之间通过鉴权交互构建和所述内网模块之间的消息推送通道;
MP2,用于:当存在被推送的实时数据时,根据被推送的实时数据生成实时概要信息,然后将所述实时概要信息组成第一推送信息,通过所述消息推送通道将第一推送信息向所述内网模块发送;
所述第一推送信息至少包括授权识别码、目标者信息、数据识别码和实时概要信息;
所述实时概要信息至少包括概要标题;
MP3,用于:通过实时数据通道接收到第三实时数据请求后,提取所述第三实时数据请求中的数据识别码,然后将所述数据识别码对应的被推送的实时数据通过所述实时数据通道发送至所述内网模块;
所述内网模块包括如下模块:
MGA1,用于:和所述推送者终端之间通过鉴权交互构建和所述推送者终端之间的消息推送通道;
MGA2,用于:通过所述消息推送通道接收到所述第一推送信息后,根据所述第一推送信息中的授权识别码找到对应的缓冲服务器地址信息,组成第二推送信息提交至所述外网模块;
所述第二推送信息至少包括缓存服务器地址信息、数据识别码、目标者信息和实时概要信息;
MGA3,用于:接收到第二实时数据请求后,根据所述第二实时数据请求中的数据识别码连接所述推送者终端构建所述推送者终端和所述内网模块之间的实时数据通道,并根据所述数据识别码通过所述实时数据通道向所述推送者终端发送第三实时数据请求;
MGA4,用于:将所述推送者终端所发送的被推送的实时数据转发至所述外网模块;
所述外网模块包括如下模块:
MGB1,用于:接收到所述第二推送信息后,生成连接许可码,然后生成第三推送信息,并将所述第三推送信息发送至所述第二推送信息中的所述缓存服务器地址信息所对应的缓存服务器;
所述第三推送信息至少包括网关地址信息、连接许可码、数据识别码、目标者信息和实时概要信息;
MGB2,用于:接收到第一实时数据请求后,将所述第一实时数据请求中的所述数据识别码组成第二实时数据请求转发至所述内网模块;
MGB3,用于:等待所述接收者终端连接;
MGB4,用于:将所述内网模块所转发的所述被推送的实时数据发送至所述接收者终端;
所述缓存服务模块包括如下模块:
MS1,用于:接收到第三推送信息后,以缓存的方式将第四推送信息发送至所述第三推送信息中的所述目标者信息对应的接收者终端;
所述第四推送信息至少包括网关地址信息、连接许可码、数据识别码和实时概要信息。
进一步,根据本发明的实时数据定向推送的系统,
所述模块MS1包括如下模块:
MS11,用于:接收到所述第三推送信息后,根据所述第三推送信息中的目标者信息找到对应的接收者,并根据所述第三推送信息生成第四推送信息缓存于接收者缓存空间,同时将所述第三推送信息中所述实时概要信息的概要标题通过移动网络短消息的方式发送至对应接收者的移动终端;
MS12,用于:当所述接收者终端连接所述缓存服务器时,将所述第四推送信息发送至所述接收者终端。
进一步,根据本发明的实时数据定向推送的系统,
所述第四推送信息还包括许可验证信息;
所述第一实时数据请求包括接收者识别码、连接许可码、数据识别码和许可验证信息;
所述许可验证信息为由缓存服务器私钥对连接许可信息进行签名后再由网关公钥加密所形成;
所述连接许可信息包括接收者识别码、连接许可码和数据识别码;
所述模块MGB2中,接收到所述第一实时数据请求后,通过网关私钥和缓存服务器公钥对所述第一实时数据请求中所述许可验证信息进行解密后鉴权验证;鉴权验证通过后,将接收者会话识别码和数据识别码组成第二实时数据请求;然后将所述第二实时数据请求提交至所述内网模块。
进一步,根据本发明的实时数据定向推送的系统,
所述模块MGB1还用于:生成连接许可码后,连接许可码和对应的数据识别码加入至连接许可表;
所述模块MGB2还用于:接收到第一实时数据请求后,判断连接许可表中是否存在第一实时数据请求中的连接许可码和数据识别码。
进一步,根据本发明的实时数据定向推送的系统,
所述第一推送信息和第二推送信息包括连接有效期;
所述模块MGB1中,连接许可码和对应的数据识别码加入至连接许可表时,还将所述第二推送信息中数据识别码对应的连接有效期加入至连接许可表;
所述外网模块还包括模块MGB9;
MGB9,用于:按照一定的时间间隔遍历连接许可表判定是否存在连接许可码对应的连接有效期逾期;若连接许可码所对应的连接有效期逾期,则将该连接许可码从连接许可表中删除,同时断开与该连接许可码对应的与接收者终端之间的连接。
进一步,根据本发明的实时数据定向推送的系统,
所述模块MGA3包括模块:
MGA31:根据所述第二实时数据请求中的所述数据识别码查找是否存在所述数据识别码对应的实时数据通道;
MGA32:若存在所述数据识别码对应的实时数据通道,所述内网模块将所述第二实时数据请求中的所述接收者会话识别码加入至所对应的实时数据通道的接收者列表中;
MGA33:若不存在所述数据识别码对应的实时数据通道,所述内网模块连接所述推送者终端构建所述数据识别码对应的实时数据通道,并为所述实时数据通道初始化接收者列表,然后根据所述第二实时数据请求中的所述数据识别码组成第三实时数据请求通过所述实时数据通道发送至所述推送者终端;
所述接收者列表是接收者会话识别码的集合。
进一步,根据本发明的实时数据定向推送的系统,
所述模块MGA4中,通过所述实时数据通道接收到被推送的实时数据后,结合所述实时数据通道所对应的接收者列表组成第二实时数据转发至所述外网模块;
所述模块MGB4中,所述外网模块接收到所述第二实时数据后,根据所述第二实时数据中所述接收者列表中各个所述接收者会话识别码对应的连接会话向对应的接收者终端发送被推送的实时数据。
进一步,根据本发明的实时数据定向推送的系统,
所述模块MP2还用于:组成第一推送信息时,将数据识别码和其对应的连接有效期加入至待推送数据表;
所述推送者模块还包括模块MP9;
MP9,用于:按照一定的时间间隔检测所述待推送数据表中数据识别码对应的连接有效期是否逾期,若数据识别码逾期,则在待推送数据表中删除该数据识别码,并断开与该数据识别码相关的实时数据通道连接;
所述模块MP3还用于:接收到第三实时数据请求时,判断所述待推送数据表中是否存在所述第三实时数据请求中的数据识别码。
进一步,根据本发明的实时数据定向推送的系统,
所述模块MP1包括如下模块:
MP11,用于:连接所述内网模块作为消息推送通道,并通过所述消息推送通道向所述内网模块发送授权验证请求;
MP12,用于:接收所述内网模块发送的授权验证许可;
所述授权验证请求至少包括推送者识别码、授权识别码集合和签名验证信息;
所述签名验证信息由推送者私钥对授权验证信息进行签名后再由网关公钥加密所形成;
所述授权验证信息至少包括授权识别码集合;
所述模块MGA1包括如下模块:
MGA11,用于:接收到所述授权验证请求后,提取所述授权验证请求中的推送者识别码、授权识别码集合和签名验证信息;通过网关私钥和推送者公钥对所述签名验证信息进行解密后鉴权验证;
MGA19,用于:生成授权验证许可,通过所述消息推送通道将所述授权验证许可发送至所述推送者终端。
进一步,根据本发明的实时数据定向推送的系统,
所述模块MGA1还包括模块:
MGA12,用于:在鉴权验证通过后,根据授权识别码集合中的授权识别码找出授权识别码对应的服务器地址信息,组成服务授权表;
所述服务授权表是服务授权信息的集合;
所述服务授权信息至少包括授权识别码和服务器地址信息;
所述模块MGA2中,通过所述消息推送通道接收到所述第一推送信息后,根据所述第一推送信息中的授权识别码从所述服务授权表中找到对应的服务授权信息,以所找到的所述服务授权信息中的服务器地址信息作为缓存服务器地址信息。
进一步,根据本发明的实时数据定向推送的系统,
所述服务授权信息还包括推送数据类型;
所述模块MGA2还用于:判断所找到的所述服务授权信息中的推送数据类型是否为实时数据类型;若所述推送数据类型为实时数据类型,则提取所述第一推送信息中的数据识别码存入待连实时数据表;
所述模块MGA3中,接收到所述第二实时数据请求后首先判定所述待连实时数据表中是否存在所述第二实时数据请求中的所述数据识别码。
进一步,根据本发明的实时数据定向推送的系统,
所述模块MGA19中,根据所述服务授权表中的授权识别码组成授权验证许可;
所述模块MP12中,接收到所述授权验证许可后,所述授权验证许可中的授权识别码组成授权许可表;
所述模块MP2还用于:判断所述授权许可表是否存在所述第一推送信息对应的授权识别码。
进一步,根据本发明的实时数据定向推送的系统,
所述第一推送信息还包括连接有效期;
所述待连实时数据表中还包括由数据识别码对应的连接有效期;
所述内网模块包括模块MGA9;
MGA9,用于:按照一定的时间间隔检测待连实时数据表中的数据识别码对应的连接有效期是否逾期,若数据识别码逾期,则在待连实时数据表中删除该数据识别码,并断开与该数据识别码相关的实时数据通道连接。
根据本发明的一种实时数据定向推送的网关设备,该网关设备配置有内网模块和外网模块;所述内网模块和外网模块分别连接内网网络和外网网络;所述内网模块和外网模块相连;该网关设备的所述内网模块和外网模块用于位于内网的推送者终端向位于外网的接收者终端推送实时数据;
所述内网模块包括如下模块:
MGA1,用于:和所述推送者终端之间通过鉴权交互构建和所述推送者终端之间的消息推送通道;
MGA2,用于:通过所述消息推送通道接收到第一推送信息后,根据所述第一推送信息中的授权识别码找到对应的缓冲服务器地址信息,组成第二推送信息提交至所述外网模块;
所述第一推送信息至少包括授权识别码、目标者信息、数据识别码和实时概要信息;
所述第二推送信息至少包括缓存服务器地址信息、数据识别码、目标者信息和实时概要信息;
MGA3,用于:接收到第二实时数据请求后,根据所述第二实时数据请求中的数据识别码连接所述推送者终端构建所述推送者终端和所述内网模块之间的实时数据通道,并根据所述数据识别码通过所述实时数据通道向所述推送者终端发送第三实时数据请求;
MGA4,用于:将所述推送者终端所发送的被推送的实时数据转发至所述外网模块;
所述外网模块包括如下模块:
MGB1,用于:接收到所述第二推送信息后,生成连接许可码,然后生成第三推送信息,并将所述第三推送信息发送至所述第二推送信息中的所述缓存服务器地址信息所对应的缓存服务器;
所述第三推送信息至少包括网关地址信息、连接许可码、数据识别码、目标者信息和实时概要信息;
MGB2,用于:接收到第一实时数据请求后,将所述第一实时数据请求中的所述数据识别码组成第二实时数据请求转发至所述内网模块;
MGB3,用于:等待所述接收者终端连接;
MGB4,用于:将所述内网模块所转发的所述被推送的实时数据发送至所述接收者终端。
进一步,根据本发明的实时数据定向推送的网关设备,
所述第一实时数据请求包括接收者识别码、连接许可码、数据识别码和许可验证信息;
所述许可验证信息为由缓存服务器私钥对连接许可信息进行签名后再由网关公钥加密所形成;
所述连接许可信息包括接收者识别码、连接许可码和数据识别码;
所述模块MGB2中,接收到所述第一实时数据请求后,通过网关私钥和缓存服务器公钥对所述第一实时数据请求中所述许可验证信息进行解密后鉴权验证;鉴权验证通过后,将接收者会话识别码和数据识别码组成第二实时数据请求;然后将所述第二实时数据请求提交至所述内网模块。
进一步,根据本发明的实时数据定向推送的网关设备,
所述模块MGB1还用于:生成连接许可码后,连接许可码和对应的数据识别码加入至连接许可表;
所述模块MGB2还用于:接收到第一实时数据请求后,判断连接许可表中是否存在第一实时数据请求中的连接许可码和数据识别码。
进一步,根据本发明的实时数据定向推送的网关设备,
所述第一推送信息和第二推送信息包括连接有效期;
所述模块MGB1中,连接许可码和对应的数据识别码加入至连接许可表时,还将所述第二推送信息中数据识别码对应的连接有效期加入至连接许可表;
所述外网模块还包括模块MGB9;
MGB9,用于:按照一定的时间间隔遍历连接许可表判定是否存在连接许可码对应的连接有效期逾期;若连接许可码所对应的连接有效期逾期,则将该连接许可码从连接许可表中删除,同时断开与该连接许可码对应的与接收者终端之间的连接。
进一步,根据本发明的实时数据定向推送的网关设备,
所述模块MGA3包括模块:
MGA31:根据所述第二实时数据请求中的所述数据识别码查找是否存在所述数据识别码对应的实时数据通道;
MGA32:若存在所述数据识别码对应的实时数据通道,所述内网模块将所述第二实时数据请求中的所述接收者会话识别码加入至所对应的实时数据通道的接收者列表中;
MGA33:若不存在所述数据识别码对应的实时数据通道,所述内网模块连接所述推送者终端构建所述数据识别码对应的实时数据通道,并为所述实时数据通道初始化接收者列表,然后根据所述第二实时数据请求中的所述数据识别码组成第三实时数据请求通过所述实时数据通道发送至所述推送者终端;
所述接收者列表是接收者会话识别码的集合。
进一步,根据本发明的实时数据定向推送的网关设备,
所述模块MGA4中,通过所述实时数据通道接收到被推送的实时数据后,结合所述实时数据通道所对应的接收者列表组成第二实时数据转发至所述外网模块;
所述模块MGB4中,所述外网模块接收到所述第二实时数据后,根据所述第二实时数据中所述接收者列表中各个所述接收者会话识别码对应的连接会话向对应的接收者终端发送被推送的实时数据。
进一步,根据本发明的实时数据定向推送的网关设备,
所述模块MGA1包括如下模块:
MGA11,用于:接收到授权验证请求后,提取所述授权验证请求中的推送者识别码、授权识别码集合和签名验证信息;通过网关私钥和推送者公钥对所述签名验证信息进行解密后鉴权验证;
所述签名验证信息由推送者私钥对授权验证信息进行签名后再由网关公钥加密所形成;
所述授权验证信息至少包括授权识别码集合;
MGA19,用于:生成授权验证许可,通过所述消息推送通道将所述授权验证许可发送至所述推送者终端。
进一步,根据本发明的实时数据定向推送的网关设备,
所述模块MGA1还包括模块:
MGA12,用于:在鉴权验证通过后,根据授权识别码集合中的授权识别码找出授权识别码对应的服务器地址信息,组成服务授权表;
所述服务授权表是服务授权信息的集合;
所述服务授权信息至少包括授权识别码和服务器地址信息;
所述模块MGA2中,通过所述消息推送通道接收到所述第一推送信息后,根据所述第一推送信息中的授权识别码从所述服务授权表中找到对应的服务授权信息,以所找到的所述服务授权信息中的服务器地址信息作为缓存服务器地址信息。
进一步,根据本发明的实时数据定向推送的网关设备,
所述服务授权信息还包括推送数据类型;
所述模块MGA2还用于:判断所找到的所述服务授权信息中的推送数据类型是否为实时数据类型;若所述推送数据类型为实时数据类型,则提取所述第一推送信息中的数据识别码存入待连实时数据表;
所述模块MGA3中,接收到所述第二实时数据请求后首先判定所述待连实时数据表中是否存在所述第二实时数据请求中的所述数据识别码。
进一步,根据本发明的实时数据定向推送的网关设备,
所述第一推送信息还包括连接有效期;
所述待连实时数据表中还包括由数据识别码对应的连接有效期;
所述内网模块包括模块MGA9;
MGA9,用于:按照一定的时间间隔检测待连实时数据表中的数据识别码对应的连接有效期是否逾期,若数据识别码逾期,则在待连实时数据表中删除该数据识别码,并断开与该数据识别码相关的实时数据通道连接。
本发明的技术效果如下:
1、即时消息和实时数据发送的通道分开,使得实时数据的传输在网关设备能够实现数据多播发送,节约内网的网络资源。
2、在某些情形下,该方法不要求内网服务器知道最终用户。
3、对外发送即时消息的权限由内网所确定,而发送实时数据的权限最终由内网和外网服务器所确定,系统权限配置逻辑合理,不容易出现不可预知的风险。
附图说明
图1是本发明实时数据定向推送的系统实施例的逻辑结构示意图。
图2是本发明实时数据定向推送的方法实施例的整体步骤示意图。
其中,100是推送者终端,200是网关设备,210是内网模块,220是外网模块,300是缓存服务器,400是接收者终端,800是被监控的设备,901是外网网络,902是内网网络。
实施方式
下面结合附图对本发明做进一步详细说明。
如图1所示,一种实时数据定向推送的系统,包括推送者终端100、网关设备200、缓存服务器300以及接收者终端400。其中,推送者终端100位于内网,通常是内网中的某台缓存服务器,通过内网网络902和网关设备200相连。接收者终端400位于外网,是由用户掌握的终端,可以是个人电脑、工作站、甚至还可以是比如手机、掌上电脑等移动终端。网关设备200设置在内网和外网之间。网关设备200、缓存服务器300和接收者终端400通过外网网络901相连。推送者终端100配置有通过执行计算机程序指令所实现的推送者模块。网关设备200配置有通过执行计算机程序指令所实现的内网模块210和外网模块220。缓存服务器300配置有通过执行计算机程序指令所实现的缓存服务模块。接收者终端400配置有通过执行计算机程序指令所实现的接收者模块。
本实施例中,网关设备200采用了专利文献CN 107018154A所公开的路由器技术,设有内网计算单元和外网计算单元。内网计算单元和外网计算单元是两个相对独立的计算单元,包括有相对独立的处理器、随机存储器、只读存储器、以太网接口。内网计算单元的以太网接口连接内网网络902,外网计算单元的以太网接口则连接外网网络901。有关网关设备200更为详细的细节可参照相应的专利文献,本说明书不再赘述。本发明中,内网模块210和外网模块220分别由内网计算单元和外网计算单元执行计算机程序指令所实现。
本实施例的实时数据定向推送的系统用于将推送者终端100所需被推送的实时数据向外网推送某台接收者终端400。比如推送者终端100是一台内网中的设备监控服务器,连接有若干被监控的设备800。当某被监控的设备800出现故障时,需要将该设备的一些实时运行数据以及该被监控的设备800上安装的摄像头所采集的实时视频发送至外网中某个专家,通过专家对这些实时数据的分析进行故障诊断和定位。本实施例将实时数据推送至接收者终端400时,数据传递主要分成两个步骤:第一个步骤是即时消息推送步骤,即向接收者发送即时消息,以通知接收者连接网络接收实时消息;第二个步骤是当接收者终端400连接网络后,推送者终端100向接收者终端400发送实时消息。在数据传递之前还需要进行一些初始配置。因此整体而言,系统整体的交互过程分成如图2所示的三个步骤:初始配置步骤、即时消息推送步骤和实时数据传输步骤。即时消息的推送是为实时数据传输时建立连接而服务。
即时消息推送步骤中,即时消息根据在推送者终端100根据被推送的实时数据产生,主要包括对应被推送实时数据的数据识别码,即时消息首先被发送至内网模块210,内网模块210对即时消息的发送存在一个鉴权过程,即确认即时消息是否具备向外网发送的权限,然后内网模块210将即时消息传递至外网模块220。外网模块220为该即时消息生成一个连接许可码并等待接收者终端的连接,即时消息和连接许可码发送至缓存服务器300,缓存服务器300根据即时消息确定最终的接收者,同时生成许可验证信息,将即时消息和连接许可码以及许可验证信息一并缓存发送至接收者终端400。需要指出的是,缓存服务器300确定的最终的接收者可能不止一个。
在实时数据传输步骤中,接收者终端400根据数据识别码和连接许可码以及许可验证消息连接外网模块220。外网模块220根据连接许可码和许可验证消息对接收者终端400的连接进行鉴权,之后将消息转发至内网模块210,内网模块210构建与推送者终端100之间的实时数据通道。实时数据通过该通道传送至内网模块210,由内网模块210转发至外网模块220,外网模块220将实时数据以多播的方式发送至连接的各个接收者终端400。
下面对上述过程做更为具体的描述。
初始配置步骤中,配置内网模块210、外网模块220、缓存服务器300以及推送者终端100所需的配置信息。内网模块210所需的配置信息包括:网关私钥、推送密钥配置信息和推送权限配置信息。外网模块220所需的配置信息包括:网关私钥和缓存服务器公钥。缓存服务器300的配置信息包括网关公钥。推送者终端100所需的配置信息包括:推送者识别码、推送者私钥、网关公钥、授权识别码。内网模块210和外网模块220均属于网关设备,因此,内网模块210和外网模块220中的网关私钥实际上是网关设备自身的网关私钥。
推送密钥配置信息用于表示推送者识别码和推送者公钥的对应关系,包括推送者识别码和推送者公钥。每个推送者终端100对应有推送者识别码和推送者公钥。如图1所示,网关设备200对应有内网中的多个推送者终端100,每个推送者终端100对应有一个推送者识别码。推送者识别码用于唯一识别推送者终端100,可以是某个配置的用户ID,也可以是推送者终端100在内网中的IP地址,或者推送者终端100的MAC地址等。内网模块210所需的配置信息中,各个推送者终端100对应的推送密钥配置信息组成推送者密钥表。推送者密钥表通常持续化存储于网关设备200的所连接数据库中或本地文件中。
推送权限配置信息用于表示授权识别码和服务器地址信息的对应关系,包括授权识别码、推送数据类型和服务器地址信息。授权识别码用于对应某种特定的向外网推送的消息。服务器地址信息包括IP地址和端口号。本实施例中,服务器地址信息不仅仅限于图1所示的缓存服务器300的地址信息,还包括其他服务器的地址信息。这些服务器是所有内网推送者终端需要将数据主动推送的服务器。每个授权识别码对应于某项功能的服务器端口。因此,不同授权识别码对应的IP地址可能相同,但端口号并不相同。内网模块210所需的配置信息中,各个不同授权识别码对应的推送权限配置信息组成推送权限表。推送权限表通常持续化存储于网关设备200的所连接数据库中或本地文件中。推送者终端100所需的配置信息中,各个不同授权识别码组成授权识别码表,每个授权识别码对应于不同的功能模块。推送者终端100存储授权识别码表。
推送者私钥和推送者公钥、缓存服务器私钥和缓存服务器公钥、以及网关私钥和网关公钥是非对称加密中的密钥对。非对称加密比如ECC加密、RSA加密,为本领域技术人员所熟悉。密钥对可以由可信认证机构发布,也可以由机器自主生成。由机器自主生成的情形下,具体来说,网关私钥和网关公钥可以由网关设备200生成,网关私钥存储于网关设备200,网关公钥则可以通过内网网络902和外网网络901分别传输至推送者终端100和缓存服务器300,推送者终端100和缓存服务器300则存储网关公钥;推送者私钥和推送者公钥可以由推送者终端100生成,推送者私钥存储于推送者终端100,推送者公钥则可以通过内网网络902传输至网关设备200的内网模块210;缓存服务器私钥和缓存服务器公钥则由缓存服务器300生成,缓存服务器公钥则可以通过外网络901传输至外网模块220,并由外网模块220所存储。
本实施例中,授权识别码对应了各种不同推送类型的消息,此即为前述推送数据类型,推送数据类型包括实时数据类型、终端即时消息类型、服务器即时消息类型。实时数据类型的即时消息用于为实时数据传输服务。终端即时消息类型的即时消息是最终发送至某个终端的即时消息。服务器即时消息类型的即时消息是最终发送至某个服务器的即时消息。此时推送权限配置信息还包括推送数据类型。本发明所讨论的即时消息为实时数据传输服务的即时消息,也即是推送数据类型为实时数据类型。
在另外一种实施方式下,授权识别码和服务器地址信息的对应关系可以与推送者识别码绑定。此时,推送权限配置信息还包括推送者识别码。
上述配置的数据具体到模块中,内网模块210包括有用于接收并存储网关私钥、推送密钥配置信息和推送权限配置信息的模块;外网模块220包括有用于接收并存储网关私钥和缓存服务器公钥的模块;推送者终端100配置有用于接收并存储推送者识别码、推送者私钥、网关公钥和授权识别码的模块;缓存服务器300配置有用于接收并存储网关公钥的模块。上述模块中的“接收”可以是指接收人工输入的信息,也可以是自己生产的信息,或者也可以是接收其他设备所发送的信息。
即时消息推送步骤,包括推送者终端100和内网模块210之间的交互、内网模块210和外网模块220之间的交互、外网模块220和缓存服务器300之间的交互以及缓存服务器300和接收者终端400之间的交互。所推送的即时消息根据被推送的实时数据生成。推送者终端100和内网模块210之间的交互包括推送者终端100和内网模块210之间的鉴权连接步骤和即时消息传输步骤。
推送者终端100和内网模块210之间的鉴权连接步骤中,由推送者终端100发起,建立连接后构建了推送者终端100和内网模块210之间的消息推送通道。具体过程如下:
首先推送者终端100连接内网模块210,连接成功后,向内网模块210发送授权验证请求。授权验证请求至少包括推送者识别码、授权识别码集合和签名验证信息。该步骤即为前述步骤S11,也就是模块MP11所实现的功能。其中,推送者识别码由前述初始配置步骤中存储于推送者终端100。授权识别码集合是授权识别码的集合,该集合中的授权识别码来自于前述初始配置步骤中存储于推送者终端100的授权识别码表。签名验证信息由推送者私钥对授权验证信息进行签名后再由网关公钥加密所形成。本实施例中,授权验证信息由授权识别码集合和随机数所组成。本步骤推送者终端100与内网模块210之间所构建的连接即为前述的消息推送通道。
内网模块210接收到授权验证请求后,根据授权验证请求判断是否具备向外网发送数据的权限。若具备向外发送数据的权限,则向推送者终端100发送授权验证许可,否则向推送者终端100发送不具备向外网发送数据权限的信息,同时断开连接。该步骤即为前述步骤S12,也就是前述模块MGA11所实现的功能。内网模块210根据授权验证请求判断是否具备向外网发送数据的权限的具体过程包括如下步骤:
步骤S121:接收授权验证请求,并提取授权验证请求中的推送者识别码、授权识别码集合和签名验证信息,然后根据推送者识别码找出推送者公钥。其中,推送者公钥通过查找前述内网模块210所存储的推送者密钥表并匹配推送者识别码得到。本步骤中,若找不到推送者识别码所对应的推送者公钥,则向推送者终端100返回不具备向外网发送数据权限的信息,然后断开连接。
步骤S122:根据网关私钥和推送者公钥将签名验证信息解密出授权验证信息,并比较授权验证信息中的授权识别码集合和授权验证请求中的授权识别码集合是否一致。若两者不一致,则向推送者终端100返回不具备向外网发送数据权限的信息,然后断开连接。该步骤即为前述的对签名验证信息的鉴权验证。
步骤S123:根据授权识别码集合中的授权识别码找出授权识别码对应的服务器地址信息,组成服务授权表。授权识别码对应的服务器地址信息通过查找前述内网模块210所存储的推送权限表并匹配授权识别码得到。服务授权表是服务授权信息的集合。服务授权信息表示了授权识别码和服务器地址信息的对应关系,包括授权识别码、推送数据类型、服务器地址信息。服务授权表是临时存储于内存的表单,对应于推送者终端100与内网模块210之间的连接。当内网模块210与推送者终端100之间的连接断开后,服务授权表被释放。需要指出的是,对于授权识别码和服务器地址信息的对应关系与推送者识别码绑定的情形,查找前述推送权限表时需要匹配授权识别码和推送者识别码。
步骤S124:根据服务授权表中的授权识别码组成授权验证许可,向推送者终端100发送。需要指出的是步骤123中,服务授权表中所包含的授权识别码并不完全与授权验证请求所包含的授权识别码相同,也就是若授权验证请求的某个授权识别码找不到对应的服务器地址信息,则该授权识别码并不加入至服务授权表。因此,服务授权表可能存在为空的情形。若服务授权表为空,则向推送者终端100返回不具备向外网发送数据权限的信息,然后断开连接,否则将服务授权表中的授权识别码组成授权验证许可,然后向推送者终端100返回授权验证许可。由此可见,授权验证许可包含了授权识别码的集合。
内网模块210对授权验证请求鉴权成功后,推送者终端100将接收到授权验证许可。本实施例中,推送者终端100接收到授权验证许可后,将授权验证许可中的授权识别码组成授权许可表。授权许可表是存储于内存中的表单,包括了授权识别码集合。本步骤即为前述步骤S13,也就是前述模块MP12所实现的功能。
至此,鉴权连接步骤结束,之后是信息推送步骤。信息推送步骤中,当推送者终端100存在被推送的实时数据需要向外网的接收者终端400推送时,根据被推送的实时数据生成实时概要信息,然后将实时概要信息组成第一推送信息,再通过消息推送通道向内网模块210发送第一推送信息。本步骤即为前述步骤S2,也就是模块MP2所实现的功能。此外,上述过程也意味着,推送者终端100和内网模块210之间的连接为长连接,即一次鉴权连接后,只要连接还保持即可发送消息或数据。
第一推送信息,本实施例中,包括授权识别码、目标者信息、数据识别码、实时概要信息以及连接有效期。实时概要信息包括概要标题、概要内容等信息。目标者信息用于指向接收者的信息,可以是用户名或者用户ID。在某些应用的场合中,目标者信息可能只限定了一个用户群体的范围,最终的接收者需要由服务器300最终分别确定。比如在一个设备的维护网络中,被推送的实时数据是某个故障设备的实时数据,而目标者信息则是该故障设备的型号信息,缓存服务器300由此可以根据目标者信息确定该故障设备所对应的专家为该设备的故障进行诊断。实时概要信息是和被推送的实时数据相关的一些数据,由本系统应用环境所确定。其中,概要标题通常是被推送的实时数据的文字性描述说明。
数据识别码用于对应某个实时数据。比如对应于某个特定的摄像头或者某个设备特定的运行数据。需要指出的是,第一推送信息中的数据识别码可能有多个,各个数据识别码分别对应于不同的实时数据。比如在一个设备的维护网络中,被推送的实时数据是某个故障设备的实时数据,被推送的实时数据包括几个摄像头的视频以及某些特定的设备实时运行数据。这些不同的实时数据分别被标记成数据识别码。
连接有效期用于表示在指定的时间内可连接,与数据识别码相对应。连接有效期通常预先设定。推送者终端100保存有待推送数据表。待推送数据表中保存了数据识别码和其对应的连接有效期的对应关系。推送者终端100中,当组成第一推送信息时,将第一推送信息中的数据识别码和连接有效期加入至待推送数据表。推送者终端100按照一定的时间间隔检测待推送数据表中数据识别码对应的连接有效期是否逾期,若数据识别码逾期,则在待推送数据表中删除该数据识别码,并断开与该数据识别码相关的实时数据通道连接。
内网模块210接收到第一推送信息后,首先根据第一推送信息中的授权识别码查找前述内网模块210所存储的服务授权表找到授权识别码对应的服务授权信息,然后判断服务授权信息中的推送数据类型是否为实时数据类型。对于不是实时数据类型的第一推送信息不属于本发明所讨论的范畴,不再赘述。若授权识别码对应的推送数据类型是为实时数据类型,则提取第一推送信息中的数据识别码和连接有效期存入待连实时数据表。然后提取服务授权信息中的服务器地址信息作为该授权识别码对应的缓存服务器地址信息,再将缓存服务器地址信息和第一推送信息中的数据识别码、目标者信息、实时概要信息以及连接有效期组成第二推送信息提交至网关设备200的外网模块220。本步骤即为前述步骤S3,也就是模块MGA2所实现的功能。
内网模块210中,待连实时数据表的作用与前述推送者终端100的待推送的实时数据表的作用是一样的。内网模块210按照一定的时间间隔检测待连实时数据表中的数据识别码对应的连接有效期是否逾期,若数据识别码逾期,则在待连实时数据表中删除该数据识别码,并断开与该数据识别码相关的实时数据通道连接。
前述步骤中,若第一推送信息中的授权识别码找不到对应的服务授权信息,则不对该第一推送信息做进一步处理,而向推送者终端100返回拒绝推送的信息。也就是,此时,第一推送信息被抛弃。为避免此种情形浪费内网网络资源,本实施例中,在推送者终端100组成第一推送信息时或者在向内网模块210发送数据推送信息时,还包括判断授权许可表是否存在第一推送信息对应的授权识别码。若授权许可表中不存在第一推送信息对应的授权识别码,则不组成第一推送信息或者不向内网模块210发送第一推送信息。此时意味着实时数据推送失败。
外网模块220接收到第二推送信息后,生成连接许可码,然后生成第三推送信息,并将第三推送信息发送至第二推送信息中的缓存服务器地址信息所对应的缓存服务器300。本实施例中,外网模块220与缓存服务器300之间的连接为长连接。也就是外网模块220和缓存服务器300一次连接后可以持续发送第三推送信息。为此,本实施例中,外网模块220接收到第二推送信息后,根据第二推送信息中的缓存服务器地址信息判断是否存在与对应缓存服务器300的连接会话;若不存在缓存服务器地址信息对应的缓存服务器300的连接会话,则根据缓存服务器地址信息缓存连接服务器300,和缓存服务器连接建立后向缓存服务器300第三推送信息;否则直接根据连接会话向缓存服务器300发送第三推送信息。该步骤即为前述步骤S41,也就是模块MGB1所实现的功能。
第三推送信息包括网关地址信息、连接许可码、数据识别码、目标者信息、实时概要信息和连接有效期。其中,网关地址信息通常包括网关设备的IP地址以及进行连接的端口号。连接许可码通常是随机生成的字符串。外网模块220生成连接许可码后和对应的数据识别码、连接有效期加入至连接许可表。由于第二推送信息、第三推送信息中的数据识别码有多个。因此,连接许可表中,每个连接许可码对应多个数据识别码。
外网模块220向缓存服务器300发送第三推送信息后等待接收者终端400的连接。该步骤对应了前述模块MGB3所实现的功能。
此外,外网模块220还按照一定的时间间隔遍历连接许可表判定是否存在连接许可码对应的连接有效期逾期。若连接许可码所对应的连接有效期逾期,则将该连接许可码从连接许可表中删除,同时断开与该连接许可码对应的与接收者终端400之间的连接。
缓存服务器300接收到第三推送信息后,根据第三推送信息中的目标者信息找到对应的接收者,并根据第三推送信息生成第四推送信息缓存于接收者缓存空间,同时将第三推送信息中实时概要信息的概要标题通过移动网络短消息的方式发送至对应接收者的移动终端。该步骤即为前述的步骤S42,也就是模块MS11所实现的功能。
第四推送信息包括网关地址信息、连接许可码、数据识别码、实时概要信息、连接有效期以及许可验证信息。其中,许可验证信息为由缓存服务器私钥对连接许可信息进行签名后再由网关公钥加密所形成。连接许可信息包括接收者识别码、连接许可码和数据识别码。需要指出的是每个许可验证信息对应于一个数据识别码,因此,第四推送信息中的许可验证信息存在多个,并与相应的数据识别码相对应。
当接收者终端400连接缓存服务器300时,缓存服务器300将第四推送信息发送至接收者终端400。接收者终端400通过缓存服务器300获得第四推送信息后,首先判定当前时间是否在第四推送信息的连接有效期内,若当前时间在连接有效期内,则根据第四推送信息中的网关地址信息连接外网模块220。连接成功后,根据第四推送信息中连接许可码和数据识别码组成第一实时数据请求向外网模块220发送。
第一实时数据请求包括接收者识别码、连接许可码、数据识别码和许可验证信息。需要指出的是,第一实时数据请求中的数据识别码仅有一个,而不是多个;许可验证信息与数据识别码相对应。若接收者终端400需要同时获取多个数据识别码对应的实时数据时,需要为每个数据识别码分别连接外网模块220。接收者识别码用于识别区分接收者,可以是比如用户ID或者用户名。
外网模块220接收到第一实时数据请求后,首先判断连接许可表中是否存在第一实时数据请求中的连接许可码和数据识别码,若不存在,则向接收者终端400返回获取实时数据失败的信息,同时断开与接收者终端400之间的连接。若连接许可表中存在第一实时数据请求中的连接许可码和数据识别码,则对许可验证信息进行鉴权验证。也就是,通过网关私钥和缓存服务器公钥对第一实时数据请求中许可验证信息进行解密得到接收者识别码、连接许可码和数据识别码,然后将解密得到的接收者识别码、连接许可码和数据识别码与第一实时数据请求中的接收者识别码、连接许可码和数据识别码比较是否一致,若两者一致则对许可验证信息进行鉴权验证通过,否则向接收者终端400返回获取实时数据失败的信息,同时断开与接收者终端400之间的连接。对许可验证信息进行鉴权验证通过后,外网模块220将接收者会话识别码和数据识别码组成第二实时数据请求,然后将第二实时数据请求提交至内网模块。也就是,第二实时数据请求包括接收者会话识别码和数据识别码。其中,接收者会话识别码是外网模块220与接收者终端400之间连接的唯一识别码。上述步骤即为前述步骤S61,也就是模块MGB2所实现的功能。
内网模块210接收到第二实时数据请求后,首先判断待连实时数据表中是否存在第二实时数据请求中的数据识别码,若不存在,则向接收者终端400返回获取实时数据失败的信息,并断开与该数据识别码相对应的实时数据通道。若待连实时数据表中存在第二实时数据请求中的数据识别码,则第二实时数据请求中的数据识别码查找是否存在数据识别码对应的实时数据通道。实时数据通道是内网模块210和推送者终端100之间的专门用于传输实时数据的连接。若存在数据识别码对应的实时数据通道,则通过连接推送者终端100构建数据识别码对应的实时数据通道,并为实时数据通道初始化接收者列表,然后根据第二实时数据请求中的数据识别码组成第三实时数据请求通过实时数据通道发送至推送者终端100。初始化接收者列表时,将将第二实时数据请求中的接收者会话识别码加入接收者列表。若存在数据识别码对应的实时数据通道,内网模块将第二实时数据请求中的接收者会话识别码加入至所对应的实时数据通道的接收者列表中。接收者列表是接收者会话识别码的集合。接收者会话识别码对应了外网模块220与接收者终端400之间的连接。因此,这意味着每个内网模块210和推送者终端100之间的专门用于传输实时数据的连接对应了多个外网模块220与接收者终端400之间的连接。上述步骤即为前述步骤S62、S63以及S64中的步骤,对应了前述模块MGA3所实现的功能。
推送者终端100通过实时数据通道接收到第三实时数据请求后,提取第三实时数据请求中的数据识别码,首先判断待推送数据表是否存在该数据识别码。若待推送数据表中不存在该数据识别码,则向接收者终端400返回获取实时数据失败的信息,同时断开该数据识别码对应的实时数据通道。若待推送数据表中存在第三实时数据请求中的数据识别码,则将数据识别码对应的被推送的实时数据通过实时数据通道发送至内网模块210。该步骤即为前述的步骤S71,对应了前述模块MP3所实现的功能。
内网模块210通过实时数据通道接收到被推送的实时数据后,结合所述实时数据通道所对应的接收者列表组成第二实时数据转发至外网模块220。也就是第二实时数据包括接收者列表和被推送的实时数据。该步骤即为前述步骤S72,对应前述模块MGA4所实现的功能。
外网模块220接收到第二实时数据后,提取第二实时数据中的接收者列表,然后根据接收者列表中的接收者会话识别码所对应的与接收者终端400的会话连接,逐个向接收者终端400发送第二实时数据中被推送的实时数据。该步骤即为前述的步骤S73,对应了模块MGB4所实现的功能。

Claims (33)

1.一种实时数据定向推送的方法,其特征在于,该方法涉及推送者终端、网关设备、缓存服务器和接收者终端;其中,所述推送者终端位于内网,所述缓存服务器和接收者终端位于外网,所述网关设备设置于外网和内网之间;所述推送者终端和所述网关设备通过内网网络相连;所述缓存服务器、接收者终端和网关设备通过外网网络相连;所述网关设备配置有内网模块和外网模块;所述内网模块和外网模块分别连接内网网络和外网网络;所述内网模块和外网模块相连;该方法包括如下步骤:
S1:所述推送者终端和所述内网模块之间通过鉴权交互构建所述推送者终端和所述内网模块之间的消息推送通道;
S2:当推送者终端存在被推送的实时数据时,根据被推送的实时数据生成实时概要信息,然后将所述实时概要信息组成第一推送信息,通过所述消息推送通道将第一推送信息向所述内网模块发送;
所述第一推送信息至少包括授权识别码、目标者信息、数据识别码和实时概要信息;
所述实时概要信息至少包括概要标题;
S3:所述内网模块通过所述消息推送通道接收到所述第一推送信息后,根据所述第一推送信息中的授权识别码找到对应的缓冲服务器地址信息,组成第二推送信息提交至所述外网模块;
所述第二推送信息至少包括缓存服务器地址信息、数据识别码、目标者信息和实时概要信息;
S4:所述外网模块接收到所述第二推送信息后,生成连接许可码,然后生成第三推送信息,并将所述第三推送信息发送至所述第二推送信息中的所述缓存服务器地址信息所对应的缓存服务器;所述缓存服务器以缓存的方式将第四推送信息发送至所述第三推送信息中的所述目标者信息对应的接收者终端;所述外网模块等待所述接收者终端连接;
所述第三推送信息至少包括网关地址信息、连接许可码、数据识别码、目标者信息和实时概要信息;
所述第四推送信息至少包括网关地址信息、连接许可码、数据识别码和实时概要信息;
S5:所述接收者终端通过所述缓存服务器获取所述第四推送信息,然后根据所述第四推送信息中的所述网关地址信息连接所述外网模块,并根据所述连接许可码和数据识别码组成第一实时数据请求向所述外网模块发送;
S6:所述外网模块接收到所述第一实时数据请求后,将所述第一实时数据请求中的所述数据识别码组成第二实时数据请求转发至所述内网模块;所述内网模块根据所述数据识别码连接所述推送者终端构建所述推送者终端和所述内网模块之间的实时数据通道,并根据所述数据识别码通过所述实时数据通道向所述推送者终端发送第三实时数据请求;
S7:所述推送者终端通过所述实时数据通道接收到所述第三实时数据请求后,提取所述第三实时数据请求中的数据识别码,然后将所述数据识别码对应的被推送的实时数据通过所述实时数据通道发送至所述内网模块;所述内网模块将所述被推送的实时数据转发至所述外网模块,由所述外网模块将所述被推送的实时数据发送至所述接收者终端;
所述第四推送信息还包括许可验证信息;
所述第一实时数据请求包括接收者识别码、连接许可码、数据识别码和许可验证信息;
所述许可验证信息为由缓存服务器私钥对连接许可信息进行签名后再由网关公钥加密所形成;
所述连接许可信息包括接收者识别码、连接许可码和数据识别码;
所述步骤S6包括步骤:
S61:所述外网模块接收到所述第一实时数据请求后,通过网关私钥和缓存服务器公钥对所述第一实时数据请求中所述许可验证信息进行解密后鉴权验证;鉴权验证通过后,将接收者会话识别码和数据识别码组成第二实时数据请求;然后将所述第二实时数据请求提交至所述内网模块。
2.如权利要求1所述的实时数据定向推送的方法,其特征在于,所述步骤S4包括步骤:
S41:所述外网模块接收到所述第二推送信息后,生成连接许可码,然后生成第三推送信息,并将所述第三推送信息发送至所述第二推送信息中的所述缓存服务器地址信息所对应的缓存服务器;
S42:所述缓存服务器接收到所述第三推送信息后,根据所述第三推送信息中的目标者信息找到对应的接收者,并根据所述第三推送信息生成第四推送信息缓存于接收者缓存空间,同时将所述第三推送信息中所述实时概要信息的概要标题通过移动网络短消息的方式发送至对应接收者的移动终端;
S43:当所述接收者终端连接所述缓存服务器时,所述缓存服务器将所述第四推送信息发送至所述接收者终端。
3.如权利要求1所述的实时数据定向推送的方法,其特征在于,
所述步骤S4中:生成连接许可码后,连接许可码和对应的数据识别码加入至连接许可表;
所述步骤S61中:接收到第一实时数据请求后,判断连接许可表中是否存在第一实时数据请求中的连接许可码和数据识别码。
4.如权利要求3所述的实时数据定向推送的方法,其特征在于,
所述第一推送信息和第二推送信息包括连接有效期;
所述步骤S4中,连接许可码和对应的数据识别码加入至连接许可表时,还将所述第二推送信息中数据识别码对应的连接有效期加入至连接许可表;
该方法还包括步骤:
所述外网模块按照一定的时间间隔遍历连接许可表判定是否存在连接许可码对应的连接有效期逾期;若连接许可码所对应的连接有效期逾期,则将该连接许可码从连接许可表中删除,同时断开与该连接许可码对应的与接收者终端之间的连接。
5.如权利要求1所述的实时数据定向推送的方法,其特征在于,所述步骤S6还包括步骤:
S62:所述内网模块根据所述第二实时数据请求中的所述数据识别码查找是否存在所述数据识别码对应的实时数据通道;
S63:若存在所述数据识别码对应的实时数据通道,所述内网模块将所述第二实时数据请求中的所述接收者会话识别码加入至所对应的实时数据通道的接收者列表中;
S64:若不存在所述数据识别码对应的实时数据通道,所述内网模块连接所述推送者终端构建所述数据识别码对应的实时数据通道,并为所述实时数据通道初始化接收者列表,然后根据所述第二实时数据请求中的所述数据识别码组成第三实时数据请求通过所述实时数据通道发送至所述推送者终端;
所述接收者列表是接收者会话识别码的集合。
6.如权利要求5所述的实时数据定向推送的方法,其特征在于,
所述步骤S7包括步骤:
S71:所述推送者终端接收到所述第三实时数据请求后,将所述第三实时数据请求中的所述数据识别码对应的被推送的实时数据通过所述实时数据通道向所述内网模块发送;
S72:所述内网模块通过所述实时数据通道接收到被推送的实时数据后,结合所述实时数据通道所对应的接收者列表组成第二实时数据转发至所述外网模块;
S73:所述外网模块接收到所述第二实时数据后,根据所述第二实时数据中所述接收者列表中各个所述接收者会话识别码对应的连接会话向对应的接收者终端发送被推送的实时数据。
7.如权利要求1所述的实时数据定向推送的方法,其特征在于,
所述步骤S2中,组成第一推送信息时,将数据识别码和其对应的连接有效期加入至待推送数据表;
所述步骤S7中,接收到第三实时数据请求时,判断所述待推送数据表中是否存在所述第三实时数据请求中的数据识别码;
该方法还包括步骤:
所述推送者终端按照一定的时间间隔检测所述待推送数据表中数据识别码对应的连接有效期是否逾期,若数据识别码逾期,则在待推送数据表中删除该数据识别码,并断开与该数据识别码相关的实时数据通道连接。
8.如权利要求1至7任一项所述的实时数据定向推送的方法,其特征在于,
所述步骤S1包括如下步骤:
S11:所述推送者终端连接所述内网模块作为消息推送通道,并通过所述消息推送通道向所述内网模块发送授权验证请求;
所述授权验证请求至少包括推送者识别码、授权识别码集合和签名验证信息;
所述签名验证信息由推送者私钥对授权验证信息进行签名后再由网关公钥加密所形成;
所述授权验证信息至少包括授权识别码集合;
S12:所述内网模块接收到所述授权验证请求后,提取所述授权验证请求中的推送者识别码、授权识别码集合和签名验证信息;通过网关私钥和推送者公钥对所述签名验证信息进行解密后鉴权验证;鉴权验证通过后,生成授权验证许可,通过所述消息推送通道将所述授权验证许可发送至所述推送者终端。
9.如权利要求8所述的实时数据定向推送的方法,其特征在于,
所述步骤S12中,在鉴权验证通过后,还包括步骤:
S123:根据授权识别码集合中的授权识别码找出授权识别码对应的服务器地址信息,组成服务授权表;
所述服务授权表是服务授权信息的集合;
所述服务授权信息至少包括授权识别码和服务器地址信息;
所述步骤S3中,所述内网模块通过所述消息推送通道接收到所述第一推送信息后,根据所述第一推送信息中的授权识别码从所述服务授权表中找到对应的服务授权信息,以所找到的所述服务授权信息中的服务器地址信息作为缓存服务器地址信息。
10.如权利要求9所述的实时数据定向推送的方法,其特征在于,
所述服务授权信息还包括推送数据类型;
所述步骤S3还包括判断所找到的所述服务授权信息中的推送数据类型是否为实时数据类型;若所述推送数据类型为实时数据类型,则提取所述第一推送信息中的数据识别码存入待连实时数据表;
所述步骤S6中,所述内网模块接收到所述第二实时数据请求后首先判定所述待连实时数据表中是否存在所述第二实时数据请求中的所述数据识别码。
11.如权利要求10所述的实时数据定向推送的方法,其特征在于,
所述步骤S12还包括步骤:
S124:根据所述服务授权表中的授权识别码组成授权验证许可;
所述步骤S1还包括步骤:
S13:所述推送者终端将所述授权验证许可中的授权识别码组成授权许可表;
所述步骤S2还包括判断所述授权许可表是否存在所述第一推送信息对应的授权识别码。
12.如权利要求10所述的实时数据定向推送的方法,其特征在于,
所述第一推送信息还包括连接有效期;
所述待连实时数据表中还包括由数据识别码对应的连接有效期;
该方法还包括步骤:
所述内网模块按照一定的时间间隔检测待连实时数据表中的数据识别码对应的连接有效期是否逾期,若数据识别码逾期,则在待连实时数据表中删除该数据识别码,并断开与该数据识别码相关的实时数据通道连接。
13.一种实时数据定向推送的系统,其特征在于,该系统包括推送者终端、网关设备和缓存服务器;其中,所述推送者终端位于内网,所述缓存服务器位于外网,所述网关设备设置于外网和内网之间;所述推送者终端和所述网关设备通过内网网络相连;所述缓存服务器和网关设备通过外网网络相连;所述网关设备配置有内网模块和外网模块;所述内网模块和外网模块分别连接内网网络和外网网络;所述内网模块和外网模块相连;所述推送者终端配置有推送者模块;所述缓存服务器配置有缓存服务模块;该系统用于位于内网的推送者终端向位于外网的接收者终端推送实时数据;
所述推送者模块包括如下模块:
MP1,用于:和所述内网模块之间通过鉴权交互构建和所述内网模块之间的消息推送通道;
MP2,用于:当存在被推送的实时数据时,根据被推送的实时数据生成实时概要信息,然后将所述实时概要信息组成第一推送信息,通过所述消息推送通道将第一推送信息向所述内网模块发送;
所述第一推送信息至少包括授权识别码、目标者信息、数据识别码和实时概要信息;
所述实时概要信息至少包括概要标题;
MP3,用于:通过实时数据通道接收到第三实时数据请求后,提取所述第三实时数据请求中的数据识别码,然后将所述数据识别码对应的被推送的实时数据通过所述实时数据通道发送至所述内网模块;
所述内网模块包括如下模块:
MGA1,用于:和所述推送者终端之间通过鉴权交互构建和所述推送者终端之间的消息推送通道;
MGA2,用于:通过所述消息推送通道接收到所述第一推送信息后,根据所述第一推送信息中的授权识别码找到对应的缓冲服务器地址信息,组成第二推送信息提交至所述外网模块;
所述第二推送信息至少包括缓存服务器地址信息、数据识别码、目标者信息和实时概要信息;
MGA3,用于:接收到第二实时数据请求后,根据所述第二实时数据请求中的数据识别码连接所述推送者终端构建所述推送者终端和所述内网模块之间的实时数据通道,并根据所述数据识别码通过所述实时数据通道向所述推送者终端发送第三实时数据请求;
MGA4,用于:将所述推送者终端所发送的被推送的实时数据转发至所述外网模块;
所述外网模块包括如下模块:
MGB1,用于:接收到所述第二推送信息后,生成连接许可码,然后生成第三推送信息,并将所述第三推送信息发送至所述第二推送信息中的所述缓存服务器地址信息所对应的缓存服务器;
所述第三推送信息至少包括网关地址信息、连接许可码、数据识别码、目标者信息和实时概要信息;
MGB2,用于:接收到接收者终端所发的第一实时数据请求后,将所述第一实时数据请求中的所述数据识别码组成第二实时数据请求转发至所述内网模块;
MGB3,用于:等待所述接收者终端连接;
MGB4,用于:将所述内网模块所转发的所述被推送的实时数据发送至所述接收者终端;
所述缓存服务模块包括如下模块:
MS1,用于:接收到第三推送信息后,以缓存的方式将第四推送信息发送至所述第三推送信息中的所述目标者信息对应的接收者终端;
所述第四推送信息至少包括网关地址信息、连接许可码、数据识别码和实时概要信息;
所述第四推送信息还包括许可验证信息;
所述第一实时数据请求包括接收者识别码、连接许可码、数据识别码和许可验证信息;
所述许可验证信息为由缓存服务器私钥对连接许可信息进行签名后再由网关公钥加密所形成;
所述连接许可信息包括接收者识别码、连接许可码和数据识别码;
所述模块MGB2中,接收到所述第一实时数据请求后,通过网关私钥和缓存服务器公钥对所述第一实时数据请求中所述许可验证信息进行解密后鉴权验证;鉴权验证通过后,将接收者会话识别码和数据识别码组成第二实时数据请求;然后将所述第二实时数据请求提交至所述内网模块。
14.如权利要求13所述的实时数据定向推送的系统,其特征在于,
所述模块MS1包括如下模块:
MS11,用于:接收到所述第三推送信息后,根据所述第三推送信息中的目标者信息找到对应的接收者,并根据所述第三推送信息生成第四推送信息缓存于接收者缓存空间,同时将所述第三推送信息中所述实时概要信息的概要标题通过移动网络短消息的方式发送至对应接收者的移动终端;
MS12,用于:当所述接收者终端连接所述缓存服务器时,将所述第四推送信息发送至所述接收者终端。
15.如权利要求13所述的实时数据定向推送的系统,其特征在于,
所述模块MGB1还用于:生成连接许可码后,连接许可码和对应的数据识别码加入至连接许可表;
所述模块MGB2还用于:接收到第一实时数据请求后,判断连接许可表中是否存在第一实时数据请求中的连接许可码和数据识别码。
16.如权利要求15所述的实时数据定向推送的系统,其特征在于,
所述第一推送信息和第二推送信息包括连接有效期;
所述模块MGB1中,连接许可码和对应的数据识别码加入至连接许可表时,还将所述第二推送信息中数据识别码对应的连接有效期加入至连接许可表;
所述外网模块还包括模块MGB9;
MGB9,用于:按照一定的时间间隔遍历连接许可表判定是否存在连接许可码对应的连接有效期逾期;若连接许可码所对应的连接有效期逾期,则将该连接许可码从连接许可表中删除,同时断开与该连接许可码对应的与接收者终端之间的连接。
17.如权利要求14所述的实时数据定向推送的系统,其特征在于,
所述模块MGA3包括模块:
MGA31:根据所述第二实时数据请求中的所述数据识别码查找是否存在所述数据识别码对应的实时数据通道;
MGA32:若存在所述数据识别码对应的实时数据通道,所述内网模块将所述第二实时数据请求中的所述接收者会话识别码加入至所对应的实时数据通道的接收者列表中;
MGA33:若不存在所述数据识别码对应的实时数据通道,所述内网模块连接所述推送者终端构建所述数据识别码对应的实时数据通道,并为所述实时数据通道初始化接收者列表,然后根据所述第二实时数据请求中的所述数据识别码组成第三实时数据请求通过所述实时数据通道发送至所述推送者终端;
所述接收者列表是接收者会话识别码的集合。
18.如权利要求17所述的实时数据定向推送的系统,其特征在于,
所述模块MGA4中,通过所述实时数据通道接收到被推送的实时数据后,结合所述实时数据通道所对应的接收者列表组成第二实时数据转发至所述外网模块;
所述模块MGB4中,所述外网模块接收到所述第二实时数据后,根据所述第二实时数据中所述接收者列表中各个所述接收者会话识别码对应的连接会话向对应的接收者终端发送被推送的实时数据。
19.如权利要求13所述的实时数据定向推送的系统,其特征在于,
所述模块MP2还用于:组成第一推送信息时,将数据识别码和其对应的连接有效期加入至待推送数据表;
所述推送者模块还包括模块MP9;
MP9,用于:按照一定的时间间隔检测所述待推送数据表中数据识别码对应的连接有效期是否逾期,若数据识别码逾期,则在待推送数据表中删除该数据识别码,并断开与该数据识别码相关的实时数据通道连接;
所述模块MP3还用于:接收到第三实时数据请求时,判断所述待推送数据表中是否存在所述第三实时数据请求中的数据识别码。
20.如权利要求13至19任一项所述的实时数据定向推送的系统,其特征在于,
所述模块MP1包括如下模块:
MP11,用于:连接所述内网模块作为消息推送通道,并通过所述消息推送通道向所述内网模块发送授权验证请求;
MP12,用于:接收所述内网模块发送的授权验证许可;
所述授权验证请求至少包括推送者识别码、授权识别码集合和签名验证信息;
所述签名验证信息由推送者私钥对授权验证信息进行签名后再由网关公钥加密所形成;
所述授权验证信息至少包括授权识别码集合;
所述模块MGA1包括如下模块:
MGA11,用于:接收到所述授权验证请求后,提取所述授权验证请求中的推送者识别码、授权识别码集合和签名验证信息;通过网关私钥和推送者公钥对所述签名验证信息进行解密后鉴权验证;
MGA19,用于:鉴权验证通过后,生成授权验证许可,通过所述消息推送通道将所述授权验证许可发送至所述推送者终端。
21.如权利要求20所述的实时数据定向推送的系统,其特征在于,
所述模块MGA1还包括模块:
MGA12,用于:在鉴权验证通过后,根据授权识别码集合中的授权识别码找出授权识别码对应的服务器地址信息,组成服务授权表;
所述服务授权表是服务授权信息的集合;
所述服务授权信息至少包括授权识别码和服务器地址信息;
所述模块MGA2中,通过所述消息推送通道接收到所述第一推送信息后,根据所述第一推送信息中的授权识别码从所述服务授权表中找到对应的服务授权信息,以所找到的所述服务授权信息中的服务器地址信息作为缓存服务器地址信息。
22.如权利要求21所述的实时数据定向推送的系统,其特征在于,
所述服务授权信息还包括推送数据类型;
所述模块MGA2还用于:判断所找到的所述服务授权信息中的推送数据类型是否为实时数据类型;若所述推送数据类型为实时数据类型,则提取所述第一推送信息中的数据识别码存入待连实时数据表;
所述模块MGA3中,接收到所述第二实时数据请求后首先判定所述待连实时数据表中是否存在所述第二实时数据请求中的所述数据识别码。
23.如权利要求22所述的实时数据定向推送的系统,其特征在于,
所述模块MGA19中,根据所述服务授权表中的授权识别码组成授权验证许可;
所述模块MP12中,接收到所述授权验证许可后,所述授权验证许可中的授权识别码组成授权许可表;
所述模块MP2还用于:判断所述授权许可表是否存在所述第一推送信息对应的授权识别码。
24.如权利要求22所述的实时数据定向推送的系统,其特征在于,
所述第一推送信息还包括连接有效期;
所述待连实时数据表中还包括由数据识别码对应的连接有效期;
所述内网模块包括模块MGA9;
MGA9,用于:按照一定的时间间隔检测待连实时数据表中的数据识别码对应的连接有效期是否逾期,若数据识别码逾期,则在待连实时数据表中删除该数据识别码,并断开与该数据识别码相关的实时数据通道连接。
25.一种实时数据定向推送的网关设备,其特征在于,该网关设备配置有内网模块和外网模块;所述内网模块和外网模块分别连接内网网络和外网网络;所述内网模块和外网模块相连;该网关设备的所述内网模块和外网模块用于位于内网的推送者终端向位于外网的接收者终端推送实时数据;
所述内网模块包括如下模块:
MGA1,用于:和所述推送者终端之间通过鉴权交互构建和所述推送者终端之间的消息推送通道;
MGA2,用于:通过所述消息推送通道接收到第一推送信息后,根据所述第一推送信息中的授权识别码找到对应的缓冲服务器地址信息,组成第二推送信息提交至所述外网模块;
所述第一推送信息至少包括授权识别码、目标者信息、数据识别码和实时概要信息;
所述第二推送信息至少包括缓存服务器地址信息、数据识别码、目标者信息和实时概要信息;
MGA3,用于:接收到第二实时数据请求后,根据所述第二实时数据请求中的数据识别码连接所述推送者终端构建所述推送者终端和所述内网模块之间的实时数据通道,并根据所述数据识别码通过所述实时数据通道向所述推送者终端发送第三实时数据请求;
MGA4,用于:将所述推送者终端所发送的被推送的实时数据转发至所述外网模块;
所述外网模块包括如下模块:
MGB1,用于:接收到所述第二推送信息后,生成连接许可码,然后生成第三推送信息,并将所述第三推送信息发送至所述第二推送信息中的所述缓存服务器地址信息所对应的缓存服务器;
所述第三推送信息至少包括网关地址信息、连接许可码、数据识别码、目标者信息和实时概要信息;
MGB2,用于:接收所述接收者终端所发送的第一实时数据请求,将所述第一实时数据请求中的所述数据识别码组成第二实时数据请求转发至所述内网模块;
MGB3,用于:等待所述接收者终端连接;
MGB4,用于:将所述内网模块所转发的所述被推送的实时数据发送至所述接收者终端;
所述第一实时数据请求包括接收者识别码、连接许可码、数据识别码和许可验证信息;
所述许可验证信息为由缓存服务器私钥对连接许可信息进行签名后再由网关公钥加密所形成;
所述连接许可信息包括接收者识别码、连接许可码和数据识别码;
所述模块MGB2中,接收到所述第一实时数据请求后,通过网关私钥和缓存服务器公钥对所述第一实时数据请求中所述许可验证信息进行解密后鉴权验证;鉴权验证通过后,将接收者会话识别码和数据识别码组成第二实时数据请求;然后将所述第二实时数据请求提交至所述内网模块。
26.如权利要求25所述的实时数据定向推送的网关设备,其特征在于,
所述模块MGB1还用于:生成连接许可码后,连接许可码和对应的数据识别码加入至连接许可表;
所述模块MGB2还用于:接收到第一实时数据请求后,判断连接许可表中是否存在第一实时数据请求中的连接许可码和数据识别码。
27.如权利要求26所述的实时数据定向推送的网关设备,其特征在于,
所述第一推送信息和第二推送信息包括连接有效期;
所述模块MGB1中,连接许可码和对应的数据识别码加入至连接许可表时,还将所述第二推送信息中数据识别码对应的连接有效期加入至连接许可表;
所述外网模块还包括模块MGB9;
MGB9,用于:按照一定的时间间隔遍历连接许可表判定是否存在连接许可码对应的连接有效期逾期;若连接许可码所对应的连接有效期逾期,则将该连接许可码从连接许可表中删除,同时断开与该连接许可码对应的与接收者终端之间的连接。
28.如权利要求27所述的实时数据定向推送的网关设备,其特征在于,
所述模块MGA3包括模块:
MGA31:根据所述第二实时数据请求中的所述数据识别码查找是否存在所述数据识别码对应的实时数据通道;
MGA32:若存在所述数据识别码对应的实时数据通道,所述内网模块将所述第二实时数据请求中的所述接收者会话识别码加入至所对应的实时数据通道的接收者列表中;
MGA33:若不存在所述数据识别码对应的实时数据通道,所述内网模块连接所述推送者终端构建所述数据识别码对应的实时数据通道,并为所述实时数据通道初始化接收者列表,然后根据所述第二实时数据请求中的所述数据识别码组成第三实时数据请求通过所述实时数据通道发送至所述推送者终端;
所述接收者列表是接收者会话识别码的集合。
29.如权利要求28所述的实时数据定向推送的网关设备,其特征在于,
所述模块MGA4中,通过所述实时数据通道接收到被推送的实时数据后,结合所述实时数据通道所对应的接收者列表组成第二实时数据转发至所述外网模块;
所述模块MGB4中,所述外网模块接收到所述第二实时数据后,根据所述第二实时数据中所述接收者列表中各个所述接收者会话识别码对应的连接会话向对应的接收者终端发送被推送的实时数据。
30.如权利要求25至29任一项所述的实时数据定向推送的网关设备,其特征在于,
所述模块MGA1包括如下模块:
MGA11,用于:接收所述推送者终端所发送的授权验证请求,提取所述授权验证请求中的推送者识别码、授权识别码集合和签名验证信息;通过网关私钥和推送者公钥对所述签名验证信息进行解密后鉴权验证;
所述签名验证信息由推送者私钥对授权验证信息进行签名后再由网关公钥加密所形成;
所述授权验证信息至少包括授权识别码集合;
MGA19,用于:鉴权验证通过后,生成授权验证许可,通过所述消息推送通道将所述授权验证许可发送至所述推送者终端。
31.如权利要求30所述的实时数据定向推送的网关设备,其特征在于,
所述模块MGA1还包括模块:
MGA12,用于:在鉴权验证通过后,根据授权识别码集合中的授权识别码找出授权识别码对应的服务器地址信息,组成服务授权表;
所述服务授权表是服务授权信息的集合;
所述服务授权信息至少包括授权识别码和服务器地址信息;
所述模块MGA2中,通过所述消息推送通道接收到所述第一推送信息后,根据所述第一推送信息中的授权识别码从所述服务授权表中找到对应的服务授权信息,以所找到的所述服务授权信息中的服务器地址信息作为缓存服务器地址信息。
32.如权利要求31所述的实时数据定向推送的网关设备,其特征在于,
所述服务授权信息还包括推送数据类型;
所述模块MGA2还用于:判断所找到的所述服务授权信息中的推送数据类型是否为实时数据类型;若所述推送数据类型为实时数据类型,则提取所述第一推送信息中的数据识别码存入待连实时数据表;
所述模块MGA3中,接收到所述第二实时数据请求后首先判定所述待连实时数据表中是否存在所述第二实时数据请求中的所述数据识别码。
33.如权利要求32所述的实时数据定向推送的网关设备,其特征在于,
所述第一推送信息还包括连接有效期;
所述待连实时数据表中还包括由数据识别码对应的连接有效期;
所述内网模块包括模块MGA9;
MGA9,用于:按照一定的时间间隔检测待连实时数据表中的数据识别码对应的连接有效期是否逾期,若数据识别码逾期,则在待连实时数据表中删除该数据识别码,并断开与该数据识别码相关的实时数据通道连接。
CN202011152289.0A 2020-10-26 2020-10-26 一种实时数据定向推送的方法、系统及其网关设备 Active CN112261055B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011152289.0A CN112261055B (zh) 2020-10-26 2020-10-26 一种实时数据定向推送的方法、系统及其网关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011152289.0A CN112261055B (zh) 2020-10-26 2020-10-26 一种实时数据定向推送的方法、系统及其网关设备

Publications (2)

Publication Number Publication Date
CN112261055A CN112261055A (zh) 2021-01-22
CN112261055B true CN112261055B (zh) 2023-12-12

Family

ID=74261109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011152289.0A Active CN112261055B (zh) 2020-10-26 2020-10-26 一种实时数据定向推送的方法、系统及其网关设备

Country Status (1)

Country Link
CN (1) CN112261055B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104901928A (zh) * 2014-03-07 2015-09-09 中国移动通信集团浙江有限公司 一种数据交互方法、装置及系统
CN106101144A (zh) * 2016-08-10 2016-11-09 山东中磁视讯股份有限公司 基于内外网交互的信息收发方法
CN107018155A (zh) * 2017-05-31 2017-08-04 南京燚麒智能科技有限公司 一种外网终端安全访问内网特定数据的方法和系统
CN107018154A (zh) * 2017-05-31 2017-08-04 南京燚麒智能科技有限公司 一种基于应用层用于连接内网和外网的路由器和路由方法
CN107277026A (zh) * 2017-06-29 2017-10-20 福建天泉教育科技有限公司 一种内网访问方法及终端

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1395015B1 (en) * 2002-08-30 2005-02-02 Errikos Pitsos Method, gateway and system for transmitting data between a device in a public network and a device in an internal network
CA2457368C (en) * 2004-02-11 2013-01-08 Solutioninc Limited A server, system and method for providing access to a public network through an internal network of a multi-system operator

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104901928A (zh) * 2014-03-07 2015-09-09 中国移动通信集团浙江有限公司 一种数据交互方法、装置及系统
CN106101144A (zh) * 2016-08-10 2016-11-09 山东中磁视讯股份有限公司 基于内外网交互的信息收发方法
CN107018155A (zh) * 2017-05-31 2017-08-04 南京燚麒智能科技有限公司 一种外网终端安全访问内网特定数据的方法和系统
CN107018154A (zh) * 2017-05-31 2017-08-04 南京燚麒智能科技有限公司 一种基于应用层用于连接内网和外网的路由器和路由方法
CN107277026A (zh) * 2017-06-29 2017-10-20 福建天泉教育科技有限公司 一种内网访问方法及终端

Also Published As

Publication number Publication date
CN112261055A (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
CN101465735B (zh) 网络用户身份验证方法、服务器及客户端
JP3937475B2 (ja) アクセス制御システムおよびその方法
JP3845086B2 (ja) 制御されたマルチキャストのシステム及び実行方法
KR101038124B1 (ko) 데이터 전송 제어 방법, 콘텐트 전송 제어 방법, 콘텐트처리 정보 획득 방법 및 콘텐트 전송 시스템
US20070294753A1 (en) Adaptor or ic card for encrypted communication on network
CN101534192B (zh) 一种提供跨域令牌的系统和方法
JP3599552B2 (ja) パケットフィルタ装置、認証サーバ、パケットフィルタリング方法及び記憶媒体
WO2012100677A1 (zh) 用于移动终端的身份管理方法及装置
US20040186880A1 (en) Management apparatus, terminal apparatus, and management system
US20130227660A1 (en) Registration server, gateway apparatus and method for providing a secret value to devices
JP2001265729A (ja) マルチキャストシステム、認証サーバ端末、マルチキャスト受信者端末管理方法、並びに記録媒体
CN104967590A (zh) 一种传输通信消息的方法、装置和系统
US20230239294A1 (en) Access processing method and device for remotely controlling terminal and storage medium
CN111082929A (zh) 一种加密即时通讯的实现方法
JP2001186122A (ja) 認証システム及び認証方法
US8014406B2 (en) System and method of inserting a node into a virtual ring
CN101841445B (zh) 共享上网用户识别方法及装置
CN110213232B (zh) 一种指纹特征和密钥双重验证方法和装置
WO2013055037A1 (ko) 위치정보 기반 인증 관제 시스템 및 방법
CN112261055B (zh) 一种实时数据定向推送的方法、系统及其网关设备
CN113965425A (zh) 物联网设备的接入方法、装置、设备及计算机可读存储介质
CN114338132B (zh) 免密登录方法、客户端应用、运营商服务器及电子设备
CN112367365A (zh) 一种数据定向推送的方法和系统
US11659384B2 (en) Data center 5G network encrypted multicast-based authority authentication method and system
JP2001186186A (ja) パケット交換装置、ネットワークシステム、およびパケット交換方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant