一种内外网数据传输的方法、装置、设备及可读介质

文档序号:72741 发布日期:2021-10-01 浏览:11次 >En<

阅读说明:本技术 一种内外网数据传输的方法、装置、设备及可读介质 (Method, device, equipment and readable medium for internal and external network data transmission ) 是由 蔺昊天 于 2021-05-14 设计创作,主要内容包括:本发明公开了一种内外网数据传输的方法,包括以下步骤:由部署在网闸外网一侧的外网服务接收客户端的连接请求,并判断连接请求中是否包含队列代码;若是连接请求中不包含队列代码,将连接请求发送至部署在网闸内网一侧的分配服务,由分配服务遍历检测队列当前服务质量指标,并将最优指标队列的队列代码经由外网服务返回客户端;若是连接请求中包含队列代码并且连接请求为发起事务请求,基于队列代码将发起事务请求发送至对应的队列中;以及由内网服务从与其队列代码一致的队列中取出发起事务请求,对发起事务请求进行处理后放回队列并经由外网服务返回客户端。本发明还公开了一种内外网数据传输的装置、计算机设备和可读存储介质。(The invention discloses a method for transmitting data of an internal network and an external network, which comprises the following steps: receiving a connection request of a client by an external network service deployed on one side of an external network of a network gate, and judging whether the connection request contains a queue code; if the connection request does not contain the queue code, the connection request is sent to a distribution service deployed on one side of the intranet of the gatekeeper, the current service quality index of the queue is detected in a traversal mode by the distribution service, and the queue code of the optimal index queue is returned to the client through the extranet service; if the connection request contains the queue code and the connection request is a transaction initiating request, sending the transaction initiating request to a corresponding queue based on the queue code; and the intranet service takes out the transaction request from the queue consistent with the queue code, processes the transaction request, then puts the transaction request back to the queue and returns the transaction request to the client through the extranet service. The invention also discloses a device for transmitting the internal and external network data, computer equipment and a readable storage medium.)

一种内外网数据传输的方法、装置、设备及可读介质

技术领域

本发明涉及计算机安全

技术领域

,尤其涉及一种内外网数据传输的方法、装置、设备及可读介质。

背景技术

在计算机安全领域,为了保证内网数据安全,防止外部攻击,常使用网闸隔断内外网通信,该技术可连接两套独立的网络系统,同时隔绝两端网络系统的一切协议栈和连接会话。

由于目前的安全技术,无论防火墙、UTM等防护系统都不能保证攻击的一定阻断,入侵检测等监控系统也不能保证入侵行为完全捕获,所以最安全的方式就是物理的分开,没有连接,来自外网对内网的攻击就无从谈起。但是网络的物理隔离,给数据的通讯带来很多不便,比如工作人员出差智能接入互联网,要取得内网的文件就没有办法,智能让可以登录内网的人把文件放在外网上;另外,内网办公系统需要从外网获取数据时,由于服务隔离,数据的获取也很困难。因此,随着网络业务的日益成熟,数据交换的需求日益强烈。

最初的解决办法就是人工的“传递”,用U盘或光盘在内外网之间倒换数据。随着业务的增多,数据量的扩大,人工的方式显然成为很多业务的瓶颈,在内外网之间建立一个既符合“物理隔离”安全要求,又能进行数据交换的设备或解决方案,这就诞生了网闸技术。网闸实现的是个安全的概念,与防火墙等网络安全设备不同的地方是他阻断通讯的连接,只完成数据的交换,没有业务的连接,攻击就没有了载体,如同网络的“物理隔离”。网闸其实就是模拟人工数据倒换,利用中间数据倒换区,分时地与内外网连接,但一个时刻只与一个网络连接,保持“物理的分离”,实现数据的倒换。

在网闸的实际应用中,常针对某一种业务在网闸外网端设置服务,由该服务转译客户请求数据为特定数据包并压入消息队列,内网端服务取出队列中数据包处理后再压入另一队列,并由网闸对应服务取出转译发送给客户。然而,系统性能常受限于消息队列性能或内网端服务性能,导致数据包在队列上的积压。

发明内容

有鉴于此,本发明实施例的目的在于提出一种内外网数据传输的方法、装置、设备及可读介质,通过多队列、分布式的内网端架构和在网闸端设置分配服务,根据服务质量向客户分配特定队列对客户请求进行处理,实现在网闸间维持大量用户会话和业务事务,以及对大量用户会话的分配处理,可以有效提升内外网间应用穿透网闸传输数据的效率。

基于上述目的,本发明实施例的一方面提供了一种内外网数据传输的方法,包括以下步骤:由部署在网闸外网一侧的外网服务接收客户端的连接请求,并判断连接请求中是否包含队列代码;若是连接请求中不包含队列代码,将连接请求发送至部署在网闸内网一侧的分配服务,由分配服务遍历检测队列当前服务质量指标,并将最优指标队列的队列代码经由外网服务返回客户端;若是连接请求中包含队列代码并且连接请求为发起事务请求,基于队列代码将发起事务请求发送至对应的队列中;以及由内网服务从与其队列代码一致的队列中取出发起事务请求,对发起事务请求进行处理后放回队列并经由外网服务返回客户端。

在一些实施方式中,还包括在客户端执行以下步骤:通过TCP与外网服务建立TCP连接,并基于TCP连接与外网服务进行通信;响应于接收到返回的队列代码,基于队列代码发送发起事务请求。

在一些实施方式中,由内网服务从与其队列代码一致的队列中取出发起事务请求,对发起事务请求进行处理后放回队列并经由外网服务返回客户端包括:由内网服务从与其队列代码一致的队列中取出发起事务请求,基于发起事务请求创建事务代码,并将事务代码放回队列中经由外网服务返回客户端;由客户端基于事务代码和队列代码向外网服务发送数据包,并由外网服务基于队列代码将数据包添加到对应的队列中;由内网服务从队列中取出数据包,基于事务代码对数据包进行处理并将处理结果放回队列中经由外网服务返回客户端。

在一些实施方式中,若是连接请求中不包含队列代码,将连接请求发送至部署在网闸内网一侧的分配服务包括:若是连接请求不包含队列代码,将连接请求的数据包头部替换为客户端代码,并发送至部署在网闸内网一侧的分配服务;由分配服务遍历检测队列当前服务质量指标,并将最优指标队列的队列代码经由外网服务返回客户端包括:由分配服务遍历检测队列当前服务质量指标,并将最优指标队列的队列代码发送至外网服务;由外网服务基于客户端代码将队列代码返回客户端。

在一些实施方式中,若是连接请求中包含队列代码并且连接请求为发起事务请求,基于队列代码将发起事务请求发送至对应的队列中包括:若是连接请求中包含队列代码并且连接请求为发起事务请求,进一步判断队列代码是否有效;若是队列代码有效,将发起事务请求中的队列代码替换为客户端代码并发送至对应的队列中。

在一些实施方式中,还包括:若是队列代码无效,发送错误回执至客户端以提示客户端重新申请队列代码。

在一些实施方式中,还包括:响应于队列代码经由所述外网服务返回所述客户端后预设时间内未收到客户端基于队列代码的数据包,将对应的队列代码无效。

本发明实施例的另一方面,还提供了一种内外网数据传输的装置,包括:第一模块,配置用于由部署在网闸外网一侧的外网服务接收客户端的连接请求,并判断连接请求中是否包含队列代码;第二模块,配置用于若是连接请求中不包含队列代码,将连接请求发送至部署在网闸内网一侧的分配服务,由分配服务遍历检测队列当前服务质量指标,并将最优指标队列的队列代码经由外网服务返回客户端;第三模块,配置用于第三模块,配置用于若是连接请求中包含队列代码并且连接请求为发起事务请求,基于队列代码将发起事务请求发送至对应的队列中;以及第四模块,配置用于由内网服务从与其队列代码一致的队列中取出发起事务请求,对发起事务请求进行处理后放回队列并经由外网服务返回客户端。

本发明实施例的再一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述方法的步骤。

本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。

本发明具有以下有益技术效果:通过多队列、分布式的内网端架构和在网闸端设置分配服务,根据服务质量向客户分配特定队列对客户请求进行处理,实现在网闸间维持大量用户会话和业务事务,以及对大量用户会话的分配处理,可以有效提升内外网间应用穿透网闸传输数据的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为本发明提供的内外网数据传输的方法的实施例的示意图;

图2为本发明提供的内外网数据传输的方法的实施例的架构示意图;

图3为本发明提供的内外网数据传输的方法的实施例的流程示意图;

图4为本发明提供的内外网数据传输的装置的实施例的示意图;

图5为本发明提供的计算机设备的实施例的示意图;

图6为本发明提供的计算机可读存储介质的实施例的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

基于上述目的,本发明实施例的第一个方面,提出了内外网数据传输的方法的实施例。图1示出的是本发明提供的内外网数据传输的方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:

S01、由部署在网闸外网一侧的外网服务接收客户端的连接请求,并判断连接请求中是否包含队列代码;

S02、若是连接请求中不包含队列代码,将连接请求发送至部署在网闸内网一侧的分配服务,由分配服务遍历检测队列当前服务质量指标,并将最优指标队列的队列代码经由外网服务返回客户端;

S03、若是连接请求中包含队列代码并且连接请求为发起事务请求,基于队列代码将发起事务请求发送至对应的队列中;以及

S04、由内网服务从与其队列代码一致的队列中取出发起事务请求,对发起事务请求进行处理后放回队列并经由外网服务返回客户端。

在本实施例中,基于多消息队列的内外网数据传输架构进行内外网数据传输,如图2所示,该架构由单网闸、多消息队列、分布式服务器端组成,由多台服务器处理外网客户请求。网闸在收到客户的事务请求后,选择并指派一个空闲的队列-服务器组,由该队列处理客户的这次请求。

在本实施例中,客户端连接到网闸指定的外网服务端口,建立TCP连接,发送和接收数据。外网服务部署在网闸外网一侧,服务接收到任意客户端发起的连接后,检查连接中携带的队列ID;如果有队列ID,则将其转发到指定队列;如果没有,则检查是否是获取队列ID的请求,如果是则转发给分配服务,如果否则丢弃。分配服务接收到客户端获取队列ID的请求后,检测各队列当前服务质量指标,选取最好的一个返回给客户端。内网服务运行在分布式的服务器上,每个服务器实例维护一个与网闸之间的队列,并具有队列ID,内网服务从队列里取出客户端数据,然后处理并返回给客户端。

在本实施例中,基于多消息队列的内外网数据传输架构的内外数据传输流程如图3所示,客户端通过TCP连接到外网服务,外网服务将与客户端建立的TCP连接标记为ID:X;客户端从该TCP连接发送数据包,数据包头部为关键字分配请求。外网服务解析关键字,将数据包头部替换为客户端ID:X,发送给分配服务;分配服务遍历所有队列,选取当前服务质量最好的一个队列N,返回给外网服务,数据包头部为客户端ID:X,内容为队列ID:N;外网服务解析出数据包头部的客户端ID,从当前已连接的TCP连接中找出该客户端,将内容队列ID:N发送给客户端;客户端从该TCP连接传输发起事务的数据包,数据包头部为关键字:发起事务,队列ID:N。外网服务解析关键字,将数据包头部替换为关键字:发起事务,客户端ID:X,添加到队列N;当队列N的服务器端内网服务N从队列取出该数据包后,解析出发起事务关键字,并为该客户端创建一个事务T。然后发送回执,添加到队列N,数据包头部为关键字:发起事务,客户端ID:X,内容为事务:T;外网服务从队列N中取出该回执数据包,从当前已连接的TCP连接中找出对应客户端X,将内容事务:T发送给客户端;客户端开始进行事务T,即不断发送数据包,头部为事务:T,队列ID:N;外网服务将头部替换为事务:T,客户端ID:X后添加到队列N;内网服务找到对应事务T并根据数据包内容进行处理,回执以数据包头部事务:T,客户端ID:X添加回队列N;外网服务找出对应客户端X将回执内容发送给客户端,该过程不断循环进行,直至事务处理结束。

在本实施例中,一个客户端在短时间内连续或并行执行多个事务,可重复利用已分配的队列ID N,处理T1 T2…Tn等多个事务。若长时间未创建事务,则下次创建事务前需重新从分配队列开始执行。

在本实施例中,在网闸间维持大量用户会话和业务事务,可以有效提升内外网间应用穿透网闸传输数据的效率。目前各行业应用中对内网安全、数据隔离越发重视,故本发明具有较好的应用前景。

在本发明的一些实施例中,还包括在客户端执行以下步骤:通过TCP与外网服务建立TCP连接,并基于TCP连接与外网服务进行通信;响应于接收到返回的队列代码,基于队列代码发送发起事务请求。

在本实施例中,TCP(Transmission Control Protocol,传输控制协议)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。

在本发明的一些实施例中,由内网服务从与其队列代码一致的队列中取出发起事务请求,对发起事务请求进行处理后放回队列并经由外网服务返回客户端包括:由内网服务从与其队列代码一致的队列中取出发起事务请求,基于发起事务请求创建事务代码,并将事务代码放回队列中经由外网服务返回客户端;由客户端基于事务代码和队列代码向外网服务发送数据包,并由外网服务基于队列代码将数据包添加到对应的队列中;由内网服务从队列中取出数据包,基于事务代码对数据包进行处理并将处理结果放回队列中经由外网服务返回客户端。

在本发明的一些实施例中,若是连接请求中不包含队列代码,将连接请求发送至部署在网闸内网一侧的分配服务包括:若是连接请求不包含队列代码,将连接请求的数据包头部替换为客户端代码,并发送至部署在网闸内网一侧的分配服务;由分配服务遍历检测队列当前服务质量指标,并将最优指标队列的队列代码经由外网服务返回客户端包括:由分配服务遍历检测队列当前服务质量指标,并将最优指标队列的队列代码发送至外网服务;由外网服务基于客户端代码将队列代码返回客户端。

在本发明的一些实施例中,若是连接请求中包含队列代码并且连接请求为发起事务请求,基于队列代码将发起事务请求发送至对应的队列中包括:若是连接请求中包含队列代码并且连接请求为发起事务请求,进一步判断队列代码是否有效;若是队列代码有效,将发起事务请求中的队列代码替换为客户端代码并发送至对应的队列中。

在本发明的一些实施例中,还包括:若是队列代码无效,发送错误回执至客户端以提示客户端重新申请队列代码。

在一些实施方式中,还包括:响应于队列代码经由外网服务返回客户端后预设时间内未收到客户端基于队列代码的数据包,将对应的队列代码无效。

需要特别指出的是,上述内外网数据传输的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于内外网数据传输的方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。

基于上述目的,本发明实施例的第二个方面,提出了一种内外网数据传输的装置。图2示出的是本发明提供的内外网数据传输的装置的实施例的示意图。如图2所示,本发明实施例包括如下模块:第一模块S11,配置用于由部署在网闸外网一侧的外网服务接收客户端的连接请求,并判断连接请求中是否包含队列代码;第二模块S12,配置用于若是连接请求中不包含队列代码,将连接请求发送至部署在网闸内网一侧的分配服务,由分配服务遍历检测队列当前服务质量指标,并将最优指标队列的队列代码经由外网服务返回客户端;第三模块S13,配置用于第三模块,配置用于若是连接请求中包含队列代码并且连接请求为发起事务请求,基于队列代码将发起事务请求发送至对应的队列中;以及第四模块S14,配置用于由内网服务从与其队列代码一致的队列中取出发起事务请求,对发起事务请求进行处理后放回队列并经由外网服务返回客户端。

基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备。图3示出的是本发明提供的计算机设备的实施例的示意图。如图3所示,本发明实施例包括如下装置:至少一个处理器S21;以及存储器S22,存储器S22存储有可在处理器上运行的计算机指令S23,指令由处理器执行时实现以上方法的步骤。

本发明还提供了一种计算机可读存储介质。图4示出的是本发明提供的计算机可读存储介质的实施例的示意图。如图4所示,计算机可读存储介质存储S31有被处理器执行时执行如上方法的计算机程序S32。

最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,内外网数据传输的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

此外,根据本发明实施例公开的方法还可以被实现为由处理器执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被处理器执行时,执行本发明实施例公开的方法中限定的上述功能。

此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。

上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:边缘设备的数据处理方法、装置及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类