网闸的数据传输方法、设备、系统和介质与流程

文档序号:17147720发布日期:2019-03-19 23:07阅读:1226来源:国知局
网闸的数据传输方法、设备、系统和介质与流程

本公开涉及一种网闸的数据传输方法、设备、系统和介质。



背景技术:

视频专网是指专用于支撑视频监控服务的汇接视频监控系统的网络。高密级专网(如政府部门、国防安全部门等的私有网络)通过网闸获取视频专网内的视频数据。网闸由外端主机和内端主机构成,其主要部署在两个不同的安全域之间,实现不同密级网络域的视频图像调取需求。

目前,所有的视频监控厂家(如科达、大华、海康、华三等)均使用自定义的私有协议来实现实时监控图像的业务接入,没有统一的协议应用标准。因此,当前的安全隔离厂家均采取开放端口区间的方式来实现业务接入,由于其端口区间范围较大,而且端口长久处于开放状态,所以极易被第三方攻击,由此也就带来了一定的安全隐患。



技术实现要素:

本公开鉴于上述问题,提供了一种网闸的数据传输方法、设备、系统和介质。通过网闸对接入的视频专网的视频数据采用的协议进行自动识别,并采用预设协议将视频专网的视频数据从网闸内端主机安全传输到网闸内端主机,经内端主机转发至高密级专网,在高密级专网接收到视频数据后,网闸即刻关闭其传输视频数据的端口,保证网闸不受第三方攻击。

本公开的一个方面提供了一种网闸的数据传输方法,所述网闸包括外端主机与内端主机,该网闸用于源终端与目的终端之间的数据传输,方法包括:s1,启动所述网闸的一预设端口;s2,所述外端主机通过所述预设端口接收所述源终端的第一报文,若所述第一报文满足预设规则,解析所述第一报文,根据预设协议对解析后的所述第一报文重新进行封装,生成第二报文,将所述第二报文发送至所述内端主机,否则,丢弃所述第一报文;s3,所述内端主机通过所述预设端口将所述第二报文发送至所述目的终端;s4,关闭所述预设端口。

可选地,所述根据预设协议对解析后的所述第一报文重新进行封装还包括:将所述第一报文中的第一目的地址修改为第二目的地址,其中,所述第一目的地址为所述网闸的地址,所述第二目的地址为所述目的终端的地址。

可选地,所述丢弃所述第一报文还包括:所述外端主机生成第三报文,将所述第三报文经所述内端主机转发至所述目的终端。

可选地,所述预设规则为一种及以上的应用协议。

可选地,所述步骤s1之前还包括:s0,所述网闸设置一启动标识,当所述源终端或目的终端向所述网闸发出连接请求时,所述网闸根据所述启动标识为所述源终端分配一预设端口。

可选地,所述步骤s3还包括:所述目的终端接收到所述第二报文后,判断所述第二报文的目的地址是否为所述目的终端的地址,若不是,所述目的终端丢弃所述第二报文。

可选地,所述方法还包括:所述内端主机通过所述预设端口接收所述目的终端的第一请求报文,解析所述第一请求报文,根据上述预设协议对解析后的所述第一请求报文进行重新封装,生成第二请求报文,所述第二请求报文经所述外端主机转发至所述源终端。

本公开另一方面还提供了一种网闸的数据传输电子设备,包括:处理器;存储器,其存储有计算机可执行程序,所述程序在被所述处理器执行时,使得所述处理器执行上述网闸的数据传输方法。

本公开另一方面还提供了一种网闸的数据传输系统,所述网闸包括外端主机与内端主机,该网闸用于源终端与目的终端之间的数据传输,所述网闸的数据传输系统包括:启动模块,用于通过网闸设置一启动标识,当所述源终端或目的终端向所述网闸发出连接请求时,所述网闸为所述源终端分配一预设端口,并启动所述预设端口;判断模块,用于通过外端主机利用所述预设端口接收所述源终端的第一报文,若所述第一报文满足预设规则,解析所述第一报文,根据预设协议对解析后的所述第一报文重新进行封装,生成第二报文,将所述第二报文发送至所述内端主机,否则,丢弃所述第一报文;转发模块,用于通过所述内端主机利用所述预设端口将所述第二报文转发至所述目的终端;关闭模块,用于关闭所述预设端口。

本公开的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述网闸的数据传输方法。

附图说明

为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:

图1示意性示出了根据本公开实施例提供的网闸的数据传输方法的流程图。

图2示意性示出了根据本公开的电子设备的框图。

图3示意性示出了本公开实施例的网闸的数据传输系统的框图。

具体实施方式

根据结合附图对本公开示例性实施例的以下详细描述,本公开的其它方面、优势和突出特征对于本领域技术人员将变得显而易见。

在本公开中,术语“包括”和“含有”及其派生词意为包括而非限制;术语“或”是包含性的,意为和/或。

在本说明书中,下述用于描述本公开原理的各种实施例只是说明,不应该以任何方式解释为限制公开的范围。参照附图的下述描述用于帮助全面理解由权利要求及其等同物限定的本公开的示例性实施例。下述描述包括多种具体细节来帮助理解,但这些细节应认为仅仅是示例性的。因此,本领域普通技术人员应认识到,在不背离本公开的范围和精神的情况下,可以对本文中描述的实施例进行多种改变和修改。此外,为了清楚和简洁起见,省略了公知功能和结构的描述。此外,贯穿附图,相同参考数字用于相似功能和操作。

图1示意性示出了根据本公开实施例提供的网闸的数据传输方法的流程图。如图1所示,该方法包括如下操作。

s1,当源终端或目的终端请求连接时,网闸启动一预设端口。

源终端为视频专网内的终端,其具有较低密级。目的终端为高密级专网内的终端。

首先,为网闸软件配置一xml格式的文件,文件中含有具体应用协议、监听的终端的地址与端口、替换数据内容、动态启动标识等配置信息,并根据这些配置信息生成功能代码。

具体应用协议,例如http、sip、ftp、oracle等,用于对源终端数据进行筛选,如源终端数据采用具体应用协议发送数据,则该数据为合法数据,否则,该数据为非法数据。监听的终端的地址与端口为视频专网内的终端的ip地址与端口号。替换数据内容可以为高密级专网内终端的ip地址与端口号,例如,外端主机接收到的源终端的数据中的目的地址为该外端主机的ip地址与端口号,当外端主机将该数据经内端主机转发至目的终端时,需要将该数据中的目的地址修改为目的终端的ip地址与端口号。动态启动标识用于标识是否启动或关闭预设端口。

然后,网闸对源终端和目的终端进行监听,当源终端或目的终端发出连接请求时,网闸启动一个固定的端口。该端口用于传输源终端与目的终端之间的数据,具体地传输视频图像数据,并且该端口在数据传输结束后即刻关闭。

s2,外端主机通过预设端口接收源终端的第一报文,若第一报文满足预设规则,解析第一报文,根据预设协议对解析后的第一报文进行重新封装,生成第二报文,将第二报文发送至内端主机,否则,丢弃第一报文。

预设规则为一种及以上的应用协议,具体地,预设规则为xml文件中配置的具体应用协议,例如http、sip、ftp、oracle等。

预设协议为外端主机与内端主机之间进行数据传输的一种协议,具体地,包括2字节的协议标识、2字节的任务id、4字节的客户端ip地址、2字节的客户端端口、4字节的服务端ip地址、2字节的服务端端口、2字节的平台标识、1字节的ip池标识、1字节的端口池标识、4字节的数据长度以及4字节的校验码。

具体地,操作s2包括以下子操作:

s21,目的终端向源终端发起视频数据请求,具体地,内端主机通过预设端口接收目的终端的第一请求报文,内端主机解析第一请求报文,根据预设协议对解析后的第一请求报文进行重新封装,生成第二请求报文,第二请求报文经外端主机转发至源终端。

s22,外端主机对接收到的来自源终端的第一报文进行协议识别,确定该第一报文采用何种协议进行数据传输,例如http、sip、二进制协议等。

s23,外端主机对接收到的第一报文进行协议过滤,即判断该第一报文采用的协议是否在具体应用协议中。若第一报文采用的协议不在具体应用协议中时,执行子操作s24,否则,执行子操作s25。

s24,外端主机丢弃该第一报文,同时生成第三报文,将第三报文经内端主机转发至目的终端,第三报文用于通知目的终端其请求的源终端数据为非法数据,进而确保高密网的安全性。

s25,源终端对第一报文进行解析,得到第一报文的各个字段,如报文头、源端地址、目的地址、源端端口、目的端口、数据包长度、校验和、数据等字段,此时第一报文的目的地址为外端主机的ip地址,目的端口为外端主机的端口号。

s26,外端主机将目的地址字段修改为目的终端的ip地址,将目的端口字段修改为目的终端的端口号。

s27,外端主机根据预设协议,对修改后的第一终报文相关字段的信息进行重新封装,生成第二报文,该第二报文采用预设协议,外端主机将该第二报文发送至内端主机。

s3、内端主机通过预设端口将第二报文发送至目的终端,网闸关闭该预设端口。

目的终端接收到第二报文后,判断该第二报文中的目的地址和目的端口是否为该目的终端的ip地址和端口号,若是,该第二报文为合法数据包,目的终端可对该第二报文中的视频数据进行存储显示灯,否则,该第二报文为非法数据包,目的终端丢弃该第二报文。

目的终端接收到第二报文后,网闸即刻关闭预设端口,即关闭了视频数据传输的通道。

如图2所示,电子设备200包括处理器210、计算机可读存储介质220。该电子设备200可以执行上面参考图1描述的方法,以进行消息处理。

具体地,处理器210例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器210还可以包括用于缓存用途的板载存储器。处理器210可以是用于执行参考图1描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

计算机可读存储介质220,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;和/或有线/无线通信链路。

计算机可读存储介质220可以包括计算机程序221,该计算机程序221可以包括代码/计算机可执行指令,其在由处理器210执行时使得处理器210执行例如上面结合图1所描述的方法流程及其任何变形。

计算机程序221可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序221中的代码可以包括一个或多个程序模块,例如包括221a、模块221b……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器210执行时,使得处理器210可以执行例如上面结合图1所描述的方法流程及其任何变形。

根据本公开的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。

图3示意性示出了本公开实施例的网闸的数据传输系统的框图。

如图3所示,网闸的数据传输系统包括启动模块310、判断模块320、转发模块330、关闭模块340。

具体地,启动模块310,用于通过为网闸软件配置xml格式文件,文件中包含具体应用协议、监听的终端的地址与端口、替换数据内容、动态启动标识等配置信息,通过外端主机监听源终端,当源终端发出连接请求时,启动一预设端口。

判断模块320,用于通过外端主机对接收到的源终端的第一报文进行协议识别,并判断该第一报文是否满足预设规则,即判断该第一报文采用的协议是否在具体应用协议中,若该第一报文采用具体应用协议中的协议,外端主机对第一报文进行解析,将第一报文中的目的地址字段数据更改为目的终端的ip地址,利用预设协议将解析及更改后的第一报文的相关字段重新进行封装,生成第二报文,将第二报文发送至内端主机,否则,丢弃该第一报文,并通知目的终端。

转发模块330,用于通过内端主机利用预设端口将第二报文转发至目的终端。

关闭模块340,用于在视频数据传输完成之后关闭预设端口。

可以理解的是,启动模块310、判断模块320、转发模块330、关闭模块340可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,启动模块310、判断模块320、转发模块330、关闭模块340中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,启动模块310、判断模块320、转发模块330、关闭模块340中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

尽管已参照本公开的特定示例性实施例示出并描述本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

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