本发明属于数据传输技术领域,特别涉及一种多串口安全网闸调度算法。
背景技术:
网闸是一组具有多种控制功能的软硬件组成的网络安全设备,通过专用交换通道、高速硬件通信卡等机制来实现高速、安全的内外网数据交换。为了保证内部信息的安全,都会建立一个网闸单元,通过物理隔离的方式,和外部的网络相隔绝。这样,对于内部网络的安全保障有了很大的提高,但是对于内外网的信息交互带来了很大的不便。
网闸一般由外部处理单元、内部处理单元、隔离硬件三部分组成,主要通过外部处理单元和内部处理单元之间的数据摆渡实现物理隔离的功能,目前网闸技术路线多采用硬盘文件摆渡或光纤通道单向传输两种模式,但存在造价高的问题,所以在某些数据量并不太大的场合,使用串口作为传输通道可以降低网闸的成本,而使用串口传输数据的过程中,往往会遇到网络带宽不足的情况,因此会影响网络数据传输的数据量和效率。
技术实现要素:
本发明的目的就在于为了解决上述网闸内的数据摆渡容易因网络带宽不足导致数据传输量和效率变低的问题提出一种多串口安全网闸调度算法,具有多串口传输数据,满足高及时性要求,数据传输完整、连贯且安全的优点。
本发明通过以下技术方案来实现上述目的,一种多串口安全网闸调度算法,包括以下步骤:
s1、数据源与网闸之间建立及时性约定,确定及时性要求;
s2、通过网闸发送单元检测待转发数据的及时性,并根据及时性要求将数据切分为多个数据包,切分规则为:
及时性越高,则数据包的切分数量越少;
s3、将切分后的数据包通过数据传输串口发送给网闸接收单元,同时将数据包切分情况及包头和包尾信息打包成校验包,通过校验串口发送给网闸接收单元,数据传输串口和校验串口的分配规则为:
及时性越高,则越多分配串口用于传输校验包;
s4、网闸接收单元根据校验包将数据包合成完整数据,再转发出去。
优选的,所述待转发数据检测及时性要求之前对数据安全性检测,安全性检测规则为:
数据不符合安全性要求,丢弃并终止操作;
数据符合安全性要求,分析及时性要求并记录。
优选的,所述步骤s1中的及时性要求分为极高、高、中、低四档。
优选的,所述步骤s3中,网闸发送单元切分数据包时,在每个数据包的包头和包尾加上唯一标识符,用于表示数据包的起始和终止,并标明数据包的序号;
所述步骤s4中,网闸接收单元合成根据校验包将切分后的数据包合成完整数据时,先解开数据包并切除包头和包尾,再按照校验包提供的合成规则将解开后的数据包合成完整数据。
优选的,多个串口用于传输校验包时,数据合成前先将不同校验串口收到的校验数据进行比对,若不一致,直接丢弃本次传输的所有数据,若一致,再开始数据合成。
与现有技术相比,本发明的有益效果是:
1、通过检测待转发数据的及时性要求,来选择数据包的切分数量,从而有效地避免带宽被占用过多,保证数据传输的及时性和完整性。
2、在划分数据包时将每个数据包分为校验数据和内容数据,因此网闸接收单元收到数据包后可根据校验规则进行合成,保证数据的连贯性,在及时性较高的数据传输中,还可以选择多个校验串口进行校验数据比对,增强数据传输的安全性。
附图说明
图1为本发明的多串口调度方法流程图。
图2为本发明的数据安全性检测流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种多串口安全网闸调度算法,包括以下步骤:
s1、数据源与网闸之间建立及时性约定,确定及时性要求;及时性要求分为极高、高、中、低四档。
s2、通过网闸发送单元检测待转发数据的及时性,并根据及时性要求将数据切分为多个数据包,切分规则为:及时性越高,则数据包的切分数量越少。具体切分如下:
假设硬件串口的物理数量n(n>=2),对符合要求的数据进行拆分,将及时性要求定义为数据包划分因子p,由于及时要求分为四档,其取值按及时性由高到底分别是(p=1.0,1.2,1.5,2.0),为明确数据包切分的数量,数据包大小为v,以10kb为基础数据包单元(通用的串口带宽为10kb/s),切分出的数据包数量记为m,m=pv/10;即,及时性要求越高,切分后的单元可以将带宽占满,因此数据包的数量较少,反之,及时性要求越低,数据包切分单元越小,数据包的数量较多。
s3、将切分后的数据包通过数据传输串口发送给网闸接收单元,同时将数据包切分情况及包头和包尾信息打包成校验包,通过校验串口发送给网闸接收单元,数据传输串口和校验串口的分配规则为:及时性越高,则越多分配串口用于传输校验包。数据传输串口和校验串口至少包含两个,校验包的校验数据通过校验串口单独输送给网闸接收单元,数据包的内容数据通过数据传输串口同时输送给网闸接收单元,使网闸接收单元收到内容数据后可通过校验数据的规则检验数据的完整性和连贯性。将总串口数量记为n,将多个串口分为校验串口及数据传输串口,其中校验串口仅传输校验数据,数据传输串口传输实际数据,校验数据包含数据包校验数据及数据包发送波次等信息,用于在网闸外侧单元合成数据包时进行校验。若将校验串口数量记为n1,数据串口的数量记为n2,则数据串口的数量表示为n2=n-n1。所述校验串口的数量根据及时性要求可分为:串口总量一定,及时性要求越高,校验串口的数量越多。当及时性高时,数据包切分的单元大,因此数据容易在传输过程中出错,通过较多的校验串口来传输校验数据,可防止校验数据出错。
s4、网闸接收单元将接收的多个数据包合成为完整数据,并转发出去。网闸发送单元切分数据包时,在每个数据包的包头和包尾加上唯一标识符,用于表示数据包的起始和终止,并标明数据包的序号;步骤s4中,网闸接收单元合成根据校验包将切分后的数据包合成完整数据时,先解开数据包并切除包头和包尾,再按照校验包提供的合成规则将解开后的数据包合成完整数据。合成多个切分数据包时:
若校验串口为单个,依照校验数据包内的合成规则进行,明确各数据包顺序,解开并切除期内的包头和包尾,依顺序重新组合成新的数据包,由网闸单元向外转发;
若校验串口为多个,首先将不同校验串口收到的校验数据包进行比对,若不一致,直接丢弃本次传输的所有数据;若一致,则开始合成收到的多个切分数据包,重复单个校验串口的合成步骤。
网闸一般包含发送内网处理单元和外网处理单元,上述的网闸发送单元和网闸接收单元分别可根据网闸使用场景来定义,如:在内网向外网发送数据时,内网处理单元为网闸发送单元,外网处理单元为网闸接收单元,而外网向内网发送数据则正好相反,数据源与网闸之间建立的及时性约定,用来响应数据传输的及时性要求,对于及时性要求高的数据,可通过减少数据包的切分数量,使数据传输过程中占用的带宽较少,从而提高了数据的传输效率,使其满足及时性要求,该数据传输为单向传输,可避免数据源中的数据受到外部病毒的攻击。
如图2所示,所述待转发检测及时性要求之前需要对数据安全性检测,安全性检测规则为:
数据不符合安全性要求,丢弃并终止操作;
数据符合安全性要求,分析及时性要求并记录。
安全性检测可起到安全筛选作用,首先,数据源与网闸建立安全性和及时性约定,数据源发送的数据传递给网闸发送单元进行安全性检测,判断该数据是否符合安全性要求,若不符合要求,则丢弃数据并终止流程,若符合要求,则分析及时性并记录,只有通过安全性检测的数据,才能被网闸单元传输,大大提高了数据传输的安全性。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。