CN115801767A - 基于单向光闸的文件传输方法、装置及系统 - Google Patents
基于单向光闸的文件传输方法、装置及系统 Download PDFInfo
- Publication number
- CN115801767A CN115801767A CN202211507626.2A CN202211507626A CN115801767A CN 115801767 A CN115801767 A CN 115801767A CN 202211507626 A CN202211507626 A CN 202211507626A CN 115801767 A CN115801767 A CN 115801767A
- Authority
- CN
- China
- Prior art keywords
- file
- redundancy
- transmitted
- optical gate
- files
- 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.)
- Pending
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 230
- 238000000034 method Methods 0.000 title claims abstract description 104
- 230000005540 biological transmission Effects 0.000 title claims abstract description 95
- 238000012545 processing Methods 0.000 claims abstract description 123
- 238000004891 communication Methods 0.000 claims abstract description 23
- 230000000875 corresponding effect Effects 0.000 claims description 96
- 239000012634 fragment Substances 0.000 claims description 64
- 230000008569 process Effects 0.000 claims description 25
- 230000008030 elimination Effects 0.000 claims description 12
- 238000003379 elimination reaction Methods 0.000 claims description 12
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 230000002596 correlated effect Effects 0.000 claims description 4
- 238000003672 processing method Methods 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种基于单向光闸的文件传输方法、装置及系统。方法包括:光闸外网主机对待传输文件进行加冗处理,获得加冗文件,并通过文件隧道向光闸内网主机发送加冗文件;其中,文件隧道为光闸外网主机和光闸内网主机建立通信连接后获得;光闸内网主机对接收到的加冗文件进行去冗余处理,并将去冗余处理后的文件发送至后置服务器。本申请实施例通过在单向光闸中对待传输文件进行冗余处理,实现文件级的冗余传输,提高了单向光闸传输文件的可靠性。
Description
技术领域
本申请涉及信息安全技术领域,具体而言,涉及一种基于单向光闸的文件传输方法、装置及系统。
背景技术
单向光闸是一种架设在两个不连通的网络之间的硬件设备,也称为网络安全隔离设备,按照需求在一定的限制条件下,完成网络间的数据资源的单向传输,因此,很多企业为了进一步保护内部的数据,都会选择使用单向光闸进行安全域的网络隔离。
现有技术中,单向光闸在对数据的传输过程中,容易出现丢包的现象,从而数据在传输过程中可靠性较低。
发明内容
本申请实施例的目的在于提供一种基于单向光闸的文件传输方法、装置及系统,用以提高文件通过单向光闸传输的可靠性。
第一方面,本申请实施例提供一种基于单向光闸的文件传输方法,应用于单向光闸,单向光闸包括光闸外网主机和光闸内网主机,该方法包括:光闸外网主机对待传输文件进行加冗处理,获得加冗文件,并通过文件隧道向光闸内网主机发送加冗文件;其中,文件隧道为光闸外网主机和光闸内网主机建立通信连接后获得;光闸内网主机对接收到的加冗文件进行去冗余处理,并将去冗余处理后的文件发送至后置服务器。
本申请实施例通过在单向光闸中对待传输文件进行冗余,实现文件级的冗余传输,提高了单向光闸传输文件的可靠性。
在任一实施例中,在光闸外网主机对待传输文件进行加冗处理之前,该方法还包括:光闸外网主机接收前置服务器发送的源文件,对源文件进行处理获得待传输文件,并将待传输文件存入外网文件队列中。
本申请实施例通过将源文件以缓存文件的形式存储,可以降低对单向光闸中磁盘的I/O操作次数,降低对CPU的使用率,从而提高了单向光闸的性能。
在任一实施例中,对所述源文件进行处理获得待传输文件,包括:若源文件的文件大小大于第一阈值,则对源文件进行切分,获得源文件对应的文件分片;将文件分片作为待传输文件。
本申请实施例通过将大文件进行分片,可以降低大文件重传的概率,提高文件传输的效率。
在任一实施例中,对源文件进行切分,获得源文件对应的文件分片,包括:按照预设文件大小读取源文件的内容,所述预设文件大小基于文件分片的大小进行确定;
创建第一TAR包文件,并生成第一TAR包文件的包头信息;
在第一TAR包文件中添加文件描述头;
将读取到的内容进行加密,获得加密内容;
将加密内容写入对应的第一TAR包文件中,以获得文件分片。
本申请实施例通过将大文件进行切分,切分后的文件内容写入到第一TAR包文件中,降低了大文件重传的概率,提高了文件传输的效率。
在任一实施例中,在获得文件分片后,该方法还包括:
在文件分片的文件描述头中写入源文件对应的任务号和接收文件分片的外网数据通道的通道号;其中,每一外网数据通道对应光闸外网主机的一个线程。
本申请实施例通过在文件描述头中增加源文件的任务号,当该文件分片在传输过程中,由于部分数据丢失导致该文件分片不可用时,可通过任务号快速定位文件,实现重传,减少网络开销和磁盘开销。
在任一实施例中,对源文件进行处理获得待传输文件,包括:若源文件的文件大小小于第二阈值,则将源文件存储至预先构建的第二TAR包文件中;其中,第二TAR包文件中包括从前置服务器中接收到的多个文件大小小于第二阈值的文件;将第二TAR包文件作为待传输文件进行存储。
本申请实施例通过将小文件进行拼包,降低了磁盘的I/O操作次数,降低CPU的使用率,提高性能。
在任一实施例中,将源文件存储至预先构建的第二TAR包文件中,包括:
创建源文件的文件描述头;
对源文件的内容进行加密,并将加密后的内容写入第二TAR包文件,并将所述源文件对应的临时数据存入临时向量表;其中,所述临时数据包括所述源文件对应的文件发送序号FID和偏移值;所述偏移值用于表征所述源文件的内容在所述第二TAR包文件中的位置;
若第二TAR包文件的文件数量达到预设值,和/或第二TAR包文件的文件大小到达预设包大小,则将预设临时向量表中前预设条数的临时数据写入第二TAR包文件的包头信息中,剩余的临时数据写入第二TAR包文件的扩展表中。
本申请实施例通过将多个小文件拼成第二TAR包文件,即,将多个小文件拼成一个相对大的文件进行传输,提高了传输的效率。
在任一实施例中,光闸外网主机对待传输文件进行加冗处理,获得加冗文件,包括:将预设数量的待传输文件作为文件集合,根据预设的冗余级别生成文件集合的多个冗余集合,其中,冗余集合的数量和冗余级别正相关;根据文件集合和冗余集合获得所述加冗文件。
本申请实施例通过进行文件级的加冗处理,当出现网络抖动,产生一个或几个连续的文件丢失,其能够降低文件无法恢复的可能。
在任一实施例中,通过文件隧道向光闸内网主机发送加冗文件,包括:
通过文件隧道读取加冗文件的内容;
将加冗文件的内容按预设字节数进行组包,获得对应的报文;
在报文对应的报文头中添加对应待传输文件的文件发送序号FID和报文报送序号SID,获得目标报文;
通过与光闸内网主机通信连接的文件隧道将目标报文发送至光闸内网主机。
本申请实施例在将大文件对应的加冗文件进行传输时,在对应的报文头中增加FID和SID,以便于光闸内网主机在接收报文时,进行文件包的校验处理。
在任一实施例中,加冗文件包括多个待传输文件;光闸内网主机对接收到的加冗文件进行去冗余处理,包括:
针对光闸内网主机接收到的加冗文件中的任一待传输文件,判断待传输文件是否已成功接收以及对应的报文发送序号SID是否乱序;
若待传输文件未被成功接收,且SID正常,则将待传输文件作为目标传输文件;
若待传输文件已被成功接收和/或SID乱码,则跳过接收待传输文件的流程,以实现对加冗文件的去冗余处理。
本申请实施例中,光闸内网主机的文件隧道在接收到加冗文件后,可判断待传输文件是否已经被成功接收过,以及判断待传输文件中的报文发送序号SID是否正常,对加冗文件进行去冗余操作,以获得完整且正确的文件。
在任一实施例中,判断待传输文件是否已成功接收,包括:
根据待传输文件对应的报文发送序号FID、文件发送时间和文件大小判断待传输文件是否已存储在成功接收表中,若存在,则确定待传输文件已成功接收;否则确定待传输文件未被成功接收。
本申请实施例通过报文发送序号FID、文件发送时间和文件大小判断传输文件是否已成功接收,从而可以提高对文件去冗余的准确性。
在任一实施例中,判断待传输文件未对应的报文发送序号SID是否乱序,包括:
获取待传输文件对应的报文发送序号SID;
若预先存储的期望报文发送序号与报文发送序号SID相同,则确定待传输文件没有乱序,且将期望报文发送序号自增1,以对加冗文件中的下一待传输文件进行判断;其中,期望报文发送序号的最大值为加冗文件对应的总的文件包数;
若预先存储的期望报文发送序号与报文发送序号SID不相同,则确定待传输文件乱序,重置期望报文发送序号,以对加冗文件中的下一待传输文件进行判断。
本申请实施例通过利用报文发送序号判断待传输文件中的报文包是否有丢包的情况,从而确定对应的待传输文件是否有损坏,以提高文件传输的正确性。
在任一实施例中,将去冗余处理后的文件发送至后置服务器,包括:
光闸内网主机通过与文件描述头中的任务号和通道号相对应的内网数据通道读取去冗余处理后的文件,并将去冗余处理后的文件发送至后置服务器;其中,每一内网数据通道对应光闸内网主机的一个线程。
本申请实施例中,光闸内网主机需要通过与文件描述头中的任务号和通道号相对应的内网数据通道读取去冗余后的文件,降低大文件分片被多个通道竞抢出现文件并发写入、及写入乱序的问题出现的可能性。
在任一实施例中,去冗余处理后的文件为对源文件进行切分后生成的第一TAR包文件;将去冗余处理后的文件发送至后置服务器,包括:
获取第一TAR包文件对应的包头信息,包头信息包括分片总数;
读取去冗余处理后的文件的文件描述头;文件描述头包括分片序号;
开启共享内存锁,并判断去冗余处理后的文件是否能够写入第一目标文件;其中,第一目标文件为在后置服务器创建的;
若能够写入,则读取去冗余处理后的文件的内容,并对去冗余处理后的文件的内容进行解码后写入第一目标文件,并关闭共享内存锁;
若根据分片总数和分片序号确定第一目标文件已完整,则向后置服务器发送关闭指令,以使后置服务器将第一目标文件关闭。
本申请实施例在将去冗余处理后的文件发送给后置服务器时,采用共享内存锁,防止多个通道同时对同一个源文件对应的去冗余处理后的文件进行传输而导致写入乱序的问题出现的可能性。
在任一实施例中,将去冗余处理后的文件发送至后置服务器,包括:
光闸内网主机通过与去冗余处理后的文件中的任务号对应的多个内网数据通道以竞抢的方式读取去冗余处理后的文件,并将去冗余处理后的文件发送至后置服务器。
本申请实施例中,对于小文件拼包后传输到光闸内网主机的情况,通过多通道竞抢的方式读取去冗余处理后的文件,提高了文件传输的效率。
在任一实施例中,去冗余处理后的文件为进行拼包后生成的第二TAR包文件,将所述去冗余处理后的文件发送至后置服务器,包括:
获取第二TAR包文件对应的文件列表,文件列表包括第二TAR包文件中包含的所有源文件对应的文件发送序号FID和偏移值;该偏移值用于表征源文件的内容在第二TAR包文件中的位置;
根据偏移值读取第二TAR包文件中的文件描述头;文件描述头中包括目标文件发送序号FID;
从第二TAR包文件中读取文件描述头对应的文件内容,并对文件内容进行解码,获得解码后文件内容;
将解码后文件内容写入第二目标文件,将文件列表中所述目标文件发送序号FID对应的偏移值置为失效状态,并将第二目标文件发送至后置服务器;
若文件列表中所有的偏移值均为失效状态,则将第二TAR包文件删除。
本申请实施例通过依据文件列表中的目标文件发送序号FID和偏移值对第二TAR包文件进行解包,可以降低解包的错误率。
第二方面,本申请实施例提供一种基于单向光闸的文件传输装置,运行于单向光闸,该装置包括:
加冗模块,用于对待传输文件进行加冗处理,获得加冗文件,并通过文件隧道向光闸内网主机发送加冗文件;其中,文件隧道为光闸外网主机和光闸内网主机建立通信连接后获得;
去冗模块,用于对接收到的加冗文件进行去冗余处理,并将去冗余处理后的文件发送至后置服务器。
第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的方法。
第四方面,本申请实施例提供一种非暂态计算机可读存储介质,包括:
所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法。
第五方面,本申请实施例提供一种文件传输系统,包括前置服务器、后置服务器和单向光闸;其中,所述单向光闸用于执行第一方面所述的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种基于单向光闸的文件传输方法流程示意图;
图2为本申请实施例提供的一种文件传输原理图;
图3为本申请实施例提供的一种对文件大小大于第一阈值的源文件进行切分的方法流程图;
图4为本申请实施例提供的一种对源文件进行切分后的示意图;
图5为本申请实施例提供的一种多通道负载传输文件的示意图;
图6为本申请实施例提供的一种小文件拼包方法流程示意图;
图7为本申请实施例提供的小文件拼包结果示意图;
图8为本申请实施例提供的一种文件加冗示意图;
图9为本申请实施例提供的一种判断是否已成功接收的方法流程示意图;
图10为本申请实施例提供的一种判断SID是否乱序的方法流程示意图;
图11为本申请实施例提供的一种向后置服务器发送该去冗余处理后的文件方法流程图;
图12为本申请实施例提供的一种小文件多通道负载传输示意图;
图13为本申请实施例提供的另一种向后置服务器发送该去冗余处理后的文件方法流程图;
图14为本申请实施例提供的一种文件传输方法的系统示意图;
图15为本申请实施例提供的一种基于单向光闸的文件传输装置结构示意图;
图16为本申请实施例提供的电子设备实体结构示意图。
具体实施方式
下面将结合附图对本申请技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。
在本申请实施例的描述中,技术术语“第一”“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本申请实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本申请实施例的描述中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在本申请实施例的描述中,术语“多个”指的是两个以上(包括两个),同理,“多组”指的是两组以上(包括两组),“多片”指的是两片以上(包括两片)。
在本申请实施例的描述中,技术术语“中心”“纵向”“横向”“长度”“宽度”“厚度”“上”“下”“前”“后”“左”“右”“竖直”“水平”“顶”“底”“内”“外”“顺时针”“逆时针”“轴向”“径向”“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请实施例的限制。
在本申请实施例的描述中,除非另有明确的规定和限定,技术术语“安装”“相连”“连接”“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;也可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请实施例中的具体含义。
单向光闸属于信息单向导入技术,其工作原理类似于“二极管”单向导电的特性,通过安全隔离交换卡和光纤使数据仅能从外网端主机(安全级别较低端)传输至内网端主机(安全级别较高端)。单向光闸在传输数据的时候,由于内网端主机不能向外网端主机发送信息,一旦发生丢包,则无法告知外网端主机令其重传。基于此,为了提高数据传输的可靠性,本申请实施例提出了一种基于单向光闸的文件传输方法,该方法以文件级别进行加冗,并将加冗后获得的加冗文件由光闸外网主机和光闸内网主机进行单向传输,最后传输到后置服务器,从而完成了将前置服务器的文件传输到后置服务器中。
可以理解的是,本申请实施例中执行文件传输方法的主体为单向光闸,该单向光闸包括光闸外网主机和光闸内网主机,光闸外网主机设置在第一安全域,与前置服务器通信连接,光闸内网主机设置在第二安全域,与后置服务器通信连接,光闸外网主机和光闸内网主机之间可通过交换卡(例如:光纤)单向通信连接。
图1为本申请实施例提供的一种基于单向光闸的文件传输方法流程示意图,如图1所示,该方法包括:
步骤101:所述光闸外网主机对待传输文件进行加冗处理,获得加冗文件,并通过外网文件隧道向光闸内网主机发送所述加冗文件;
步骤102:所述光闸内网主机对接收到的所述加冗文件进行去冗余处理,并将去冗余处理后的文件发送至后置服务器。
在步骤101中,待传输文件是指前置服务器通过光闸外网主机和光闸内网主机传输给后置服务器的文件,待传输文件可以为一个,也可以为多个,在具体的实施过程中,为了提高文件传输的效率,光闸外网主机在一次传输过程中会传输多个待传输文件。并且,待传输文件可以是对源文件进行切分后获得的文件,也可以是将多个小的文件进行拼包后获得的文件,还可以是源文件,本申请实施例对此不做具体限定。
前置服务器是与光闸外网主机通信连接的服务器,也是发送待传输文件的服务器。后置服务器是与光闸内网主机通信连接的服务器,也是接收待传输文件的服务器。由于光闸外网主机和光闸内网主机的单向传输的性质,待传输文件只能从前置服务器传输给后置服务器。
加冗处理是指将待传输文件进行冗余,即生成预设数量的待传输文件的副本,将待传输文件和待传输文件的副本一并作为加冗文件。光闸外网主机在获得加冗文件后,通过外网文件隧道向光闸内网主机发送该加冗文件。可以理解的是,生成待传输文件的副本的数量可以预先根据实际情况进行设定,可以为0,1,2,…。若生成副本的数量为0,则说明不进行加冗处理,但为了便于表述,本申请实施例仍将其称为加冗文件。但需要注意的是,副本数量越小,则说明待传输文件在传输过程中丢包的概率越高,副本数量越大,则说明待传输文件丢包的概率越低,相应地,网络负载也相对较高。因此,需要考虑丢包概率和网络负载,以确定副本的数量。此处所说的丢包并不是指加冗文件在传输过程中某一个待传输文件损坏,而是指属于同一种待传输文件全部损坏,导致后置服务器无法获得完整且正确的待传输文件。
隧道技术(Tunneling)是一种通过使用互联网络的基础设施在网络之间传递数据的方式。在光闸外网主机与光闸内网主机通过预设的通信协议建立通信连接后,光闸外网主机和光闸内网主机之间可创建用于传输文件的隧道,即文件隧道。可以理解的是,该文件隧道可以进一步划分为外网文件隧道、数据隧道和内网文件隧道,其中,外网文件隧道处于光闸外网主机侧,用于将待传输文件加冗处理;数据隧道处于光闸外网主机和光闸内网主机之间,用于传输待传输文件对应的数据报文;内网文件隧道处于光闸内网主机侧,用于对加冗文件去冗余处理。
在步骤102中,光闸内网主机在接收到加冗文件后,可以对加冗文件进行去冗余处理,所谓去冗余处理是指对于同一种待传输文件,只保留一个完整的文件。在对加冗文件去冗余后,将去冗余处理后的文件发送至后置服务器。
另外,本申请实施例中通过对文件进行加冗处理,而不是对数据包进行加冗处理,可以提高文件传输的成功率。因为加冗后的数据包在传输的过程中,若只有极少量的数据包丢失,则可对丢失的数据包进行恢复,但如果有连续几个数据包丢失,则无法恢复。加冗文件在传输过程中,如果连续几个文件丢失,则有可能对其进行恢复,从而提高了文件在传输过程中的可靠性。
本申请实施例通过在单向光闸中对待传输文件进行冗余,实现文件级的冗余传输,提高了单向光闸传输文件的可靠性。
在上述实施例的基础上,在光闸外网主机对待传输文件进行加冗处理之前,该方法还包括:光闸外网主机接收外置服务器发送的源文件,对源文件进行处理获得待传输文件,并将待传输文件存入外网文件队列中。
图2为本申请实施例提供的一种文件传输原理图,如图2所示,光闸外网主机属于光闸外网侧,光闸内网主机属于光闸内网侧。光闸外网主机和光闸内网主机通过数据隧道实现数据的传输。光闸外网主机和光闸内网主机中均包含业务模块、文件队列和文件隧道,光闸外网主机的业务模块用于对源文件进行切分或拼包,光闸外网主机的文件隧道(也称为外网文件隧道)用于对从文件队列中获取的待传输文件进行加冗处理。光闸内网主机的文件隧道(也称为内网文件隧道)用于对接收的加冗文件进行去冗余操作,光闸内网主机的业务模块用于对去冗余处理后的文件进行组合或解包,然后发送至后置服务器。
光闸外网主机和光闸内网主机主要通过业务模块与前后置文件存储服务器进行通信,采用的基于TCP的文件协议进行传输。本申请涉及的核心流程从左到右的流程分别为:
S1、光闸外网主机的业务模块负责下载前置服务器的源文件到光闸外网主机上,并根据接收到的源文件生成待传输文件,以缓存文件的形式存储;
S2、光闸外网主机的文件队列排队给文件隧道,将待传输文件通过数据隧道发送至光闸内网,其中包含文件级加冗技术在后续实施例中详细介绍;
S3、数据隧道技术负责数据包发送;
S4、光闸内网主机的文件隧道,对收到的待传输文件进行校验、去冗余,成功后通过光闸内网主机的文件队列通知给业务模块;
S5、光闸内网主机的业务模块负责将文件缓存重组上传给后置服务器,完成整个文件导入流程。
在S1中,光闸外网主机在从外置服务器中获取了源文件后,可以对该源文件进行处理,具体地处理方式可以为对源文件进行分切或将多个源文件进行拼包处理,并将处理后的源文件以缓存文件的形式存储。其中,在将源文件处理获得待传输文件后,可以将待传输文件存储在光闸外网主机的磁盘中,然后根据外网文件队列中的待传输文件的数量,决定是否将磁盘中的待传输文件写入队列中。具体地,若外网文件队列未满,则可将待传输文件写入该外网文件队列中;若外网文件队列已满,则可等待外网文件队列有空余的容量后再将待传输文件写入。
本申请实施例通过将源文件以缓存文件的形式存储,可以降低对单向光闸中磁盘的I/O操作次数,降低对CPU的使用率,从而提高了单向光闸的性能。
在上述实施例的基础上,对源文件进行处理获得待传输文件,包括:
若源文件的文件大小大于第一阈值,则对源文件进行切分,获得源文件对应的文件分片;
将文件分片作为待传输文件。
在具体的实施过程中,光闸外网主机在接收到外置服务器的源文件后,如果该源文件的文件大小大于第一阈值,则说明该源文件较大,为了便于描述,本申请实施例中将文件的大小大于第一阈值的源文件称为大文件。大文件传输过程中,面临的问题是,下载落地缓慢,传输过程中如果出现丢包现象,则整个文件都需要丢弃,既落地时间久,传输风险又大。为了提高文件传输效率,降低风险,大文件采用切片传输处理,例如1GB的源文件可以切片分为10片100MB和1片24MB的文件,将每个分片当作独立文件传输,到目的端后,再进行拼接还原为源文件;这样即使传输过程中出现了丢包现象,导致某片分片传输不完整,也不必整个文件都进行重传,只传输丢失的那片文件即可,提高文件传输效率。
图3为本申请实施例提供的一种对文件大小大于第一阈值的源文件进行切分的方法流程图,如图3所示,包括:
在对源文件进行分片之前,预先配置相关参数,具体如下:
(1)预先设定分片阈值:
通过配置文件,设定文件分片的第一阈值为100MB,可以理解的是,第一阈值的具体取值可根据实际情况设定。因此,预设文件的大小可根据文件分片阈值确定。
(2)增加包头信息(TAR_HEAD),注明文件信息,其中,包头信息中包括以下字段中的至少一项:
Version:用于格式检查;
Valid_nums:tar包中包含的有效文件数量;
Valid_size:tar包中包含有效文件大小(不包含文件文件描述头desc);
Total_num:tar包中包含的实际文件数量;
Total_size:tar包文件总大小(包含包头tar_head和文件描述头desc);
(3)设置文件描述头(desc),存储文件信息:
文件描述头主要用于存储文件的原始信息,包括文件名称、文件原名、文件大小、分片序号,分片个数、创建时间、修改时间等信息。
步骤301:获取源文件,计算分片数。分片数可以通过文件大小切分的预设大小计算获得。
步骤302:创建第一TAR包文件,添加包头信息;
步骤303:添加文件描述头(desc),记录第一TAR包文件的版本号,文件发送序号FID,任务ID,分片序号,分片总数,文件名称,创建时间等信息。
步骤304:按照预设大小读取源文件内容,将读取到的内容进行加密,并写入到第一TAR包文件的包尾,直至读取100MB或者到文件结尾;其中,加密方法为:通过任务号计算出KEY值(如外网的任务1的待传输文件只能内网的任务1解密使用);取到文件内容进行XOR加密操作(desc头部信息不加密);获取加密后的数据,写入到第一TAR包文件中。可以理解的是,还可以采用DES、3DES、AES、RC4、SM4、SEEd、BF等加密方法进行加密。
步骤305:关闭第一TAR包文件,并将第一TAR包文件作为文件分片推送到外网文件队列;
步骤306:判断步骤305中关闭的第一TAR包文件是否为最后一个文件分片,如果是,则结束;否则重复步骤301-步骤305。
图4为本申请实施例提供的一种对源文件进行切分后的示意图,如图4所示。
本申请实施例通过将大文件进行分片,可以降低大文件重传的概率,提高文件传输的效率。
在上述实施例的基础上,在获得文件分片后,在所述文件分片的所述文件描述头中写入所述源文件对应的任务号和接收所述文件分片的通道号。
在具体的实施过程中,图5为本申请实施例提供的一种多通道负载传输文件的示意图,如图5所示。光闸外网主机接收大文件时支持多通道,通道数范围可以为0~99,具体取值根据实际处理能力支持灵活配置。
光闸外网主机可通过多个外网数据通道接收前置服务器发送的大文件,各通道相互独立,每个通道负责相应文件的传输的可靠性、完整性。
光闸外网主机接收大文件成功后,将大文件对应的当前任务号、接收大文件的外网数据通道的通道号存入文件描述头中,保证发送到光闸内网主机后,大文件仍可以被对应任务号、通道号的内网数据通道取走并发送,防止大文件分片被多个通道竞抢出现文件并发写入、及写入乱序等问题。例如:大文件A,由任务1(这里假设当前任务号为1)的通道1传输到外网后被分为A1、A2、A3、A4共4个分片,待各分片传输完成后,更新相应文件分片的文件描述头信息中任务号、通道号后,依次将各文件信息入文件发送队列。可以理解的是,任务号为光闸外网主机根据预先配置的任务号生成规则生成的。
本申请实施例通过在文件描述头中增加源文件的任务号,当该文件分片在传输过程中,由于部分数据丢失导致该文件分片不可用时,可通过任务号快速定位文件,实现重传,减少网络开销和磁盘开销。
在上述实施例的基础上,对源文件进行处理获得待传输文件,包括:
若源文件的文件大小小于第二阈值,则将源文件存储至预先构建的第二TAR包文件中;其中,第二TAR包文件中包括从前置服务器中接收到的多个文件大小小于第二阈值的文件;
将第二TAR包文件作为待传输文件进行存储。
在具体的实施过程中,单向光闸使用场景中,光闸外网主机会从前置服务器中获取到很多几KB,几十KB的小文件,本申请实施例将文件大小小于第二阈值的文件称为小文件,且第二阈值可以为根据实际情况设定。在常规的传输过程中会频繁的读写落地文件,造成大量的磁盘I/O开销、CPU使用率。为了减少磁盘I/O过度使用,提高CPU运行效率,本申请实施例提供了小文件拼包机制,定义了光闸私有文件格式结构,支持将琐碎的小文件拼接为一个文件进行文件缓存,例如1000个1KB的小文件拼接成1MB的第二TAR包文件,然后再进行文件传输。
图6为本申请实施例提供的一种小文件拼包方法流程示意图,如图6所示,该方法包括:
在进行小文件拼包之前,先对拼包的相关参数进行配置,具体如下:
(1)预先设定拼包阈值:
通过配置文件,可以设定拼包文件中包含的小文件总数maxnum和拼包文件总大小maxsize;
增加包头信息(TAR_HEAD),其中,包头信息包括以下字段中的至少一项:
Version:用于格式检查;
Valid_nums:tar包中包含的有效文件数量;
Valid_size:tar包中包含有效文件大小(不包含文件文件描述头desc);
Total_nums:tar包中包含的实际文件数量;
Total_size:tar包文件总大小(包含包头TAR_HEAD和文件描述头desc);
First_set:头部预留16个文件信息,用以存储文件发送序号FID和文件描述头偏移值;
Tail_offset:尾部扩展表偏移值;
(2)设置文件描述头(desc),存储文件信息:
文件描述头主要用于存储文件的原始信息,包括文件名称、文件原名、文件大小、分片序号,分片个数、创建时间、修改时间等信息;
(3)设置扩展表(Tail_offset)
主要用于存储小文件发送序号FID和在拼包文件中文件描述头的偏移值(offset),方便拆解时,精准定位具体文件使用;
步骤601:创建第二TAR包文件,添加包头信息,并记录基础信息;
步骤602:为小文件创建文件描述头(desc),记录版本号,文件发送序号FID,任务ID,文件名称,原文件名称,创建时间等信息。
步骤603:获取小文件内容进行加密(通过任务号映射的Key进行异或操作)并追加tar包尾部,然后将FID和offset记录到临时向量表。其中,offset用于表征源文件(即小文件)的内容在第二TAR包文件中的位置,具体可以是源文件的在第二TAR包文件中的首地址。
步骤604:判断是否触发预设值,未达到预设值,重复步骤601-步骤603操作;若达到预设值,则执行步骤605。可以理解的是,若第二TAR包文件的文件数量达到预设值,和/或第二TAR包文件的文件大小到达预设包大小,则确定触发预设值。
步骤605:触发预设值,则将临时向量表中前16条数据写入包头中的first_set字段;超出16个的内容则追加到tar包包尾—此为扩展表,并将扩展表的偏移值写入包头的tail_offset;
步骤606:更新tar包包头信息,关闭tar包,并将tar包推送到待发队列中。
图7为本申请实施例提供的小文件拼包结果示意图,如图7所示。
本申请实施例通过将小文件进行拼包,降低了磁盘的I/O操作次数,降低CPU的使用率,提高性能。
在上述实施例的基础上,光闸外网主机对待传输文件进行加冗处理,获得加冗文件,包括:
将预设数量的待传输文件作为文件集合,根据预设的冗余级别生成文件集合的多个冗余集合,冗余集合的数量和冗余级别正相关;
根据文件集合和冗余集合获得加冗文件。
在具体的实施过程中,文件加冗操作主要通过光闸外网侧文件冗余发送,光闸内网侧接收、判断并处理冗余文件,解决单向光闸中间无反馈机制出现的小概率丢包、文件损坏问题,从而进一步提升单向光闸文件传输可靠性。
图8为本申请实施例提供的一种文件加冗示意图,如图8所示,待传输文件包括通道1中的A1和A2,以及通道3中的C、D和E。光闸外网主机的外网文件隧道在获取到通道1和通道3中的待传输文件后,将获取到的待传输文件作为一个集合,可以理解的是,集合中待传输文件的排序可以是按照外网文件隧道接收的先后顺序,也可以是乱序。若预先设置的加冗级别N=2,则说明需要生成两个各个待传输文件的副本。假设文件集合为:{A1、C、A2、D、E},那么将该文件集合发送N+1轮,因此,在文件隧道中生成的加冗文件为:{A1、C、A2、D、E、A1、C、A2、D、E、A1、C、A2、D、E}。应当说明的是,在生成加冗文件时,每个副本中待传输文件的顺序可以不一致。并且,加冗级别可预先根据实际情况进行配置,若加冗级别为0,则表示不对待传输文件加冗处理。因此,加冗级别与冗余集合的数量正相关,加冗级别越高,冗余集合的数量越多。
本申请实施例提供的加冗方法相比于{A1、A1、A1}、{C、C、C}、{A2、A2、A2}、{D、D、D}、{E、E、E}的方式,在同样的连续丢包概率条件下,整体的文件损坏率更低(即{A2、A2、A2}都坏了那么整个文件A2失败了,从而导致A文件损坏)。
本申请实施例通过进行文件级的加冗处理,当出现网络抖动,产生一个或几个连续的文件丢失,其能够降低文件无法恢复的可能。并且该文件加冗功能由单向光闸内部实现,前置服务器和后置服务器无感知。且文件加冗功能可灵活配置,如配置是否开启、配置文件加冗级别。经过实验,未开启文件加冗时,文件损坏概率不大于0.01%;开启文件加冗级别为1时,文件损坏概率不大于0.01%*0.01%;开启文件加冗级别为2时,文件损坏概率不大于0.01%*0.01%*0.01%;开启文件加冗级别为3时,文件损坏概率不大于0.01%*0.01%*0.01%*0.01%。
在上述实施例的基础上,通过文件隧道向光闸内网主机所述加冗文件,包括:
通过外网文件隧道读取加冗文件的内容;
将加冗文件的内容按预设字节数进行组包,获得对应的报文;
在报文对应的报文头中添加对应待传输文件的文件发送序号FID和报文报送序号SID,获得目标报文;
通过与光闸内网主机通信连接的文件隧道将目标报文发送至光闸内网主机。
在具体的实施过程中,光闸外网主机通过外网文件隧道获得加冗文件后,在将加冗文件传输给光闸内网主机时,可以将加冗文件中的各个待传输文件转换成数据报文,以报文的形式通过数据隧道发送至光闸内网主机。具体为:将加冗文件中的各个待传输文件,取出该待传输文件的文件信息,打开并读取文件内容,将文件信息、文件内容按照固定大小(例如8192字节)组包发送,获得对应的报文,并且在报文的报文头中添加该待传输文件的文件发送序号FID和报文发送序号SID,获得目标报文,以便于光闸内网主机在接收到目标报文时对其进行校验处理。
当当前的待传输文件内容发送完成后,继续按照前面的方式对加冗文件中的下一个待传输文件进行传输。
在对报文进行发送时,可以根据不同硬件性能可配置发送速率,从而使得发送速率在系统处理能力范围内,减少传输过程中丢包的可能。
在上述实施例的基础上,加冗文件包括多个待传输文件;光闸内网主机对接收到的加冗文件进行去冗余处理,包括:
针对光闸内网主机接收到的加冗文件中的任一待传输文件,判断待传输文件是否已成功接收以及对应的报文发送序号SID是否乱序;
若待传输文件未被成功接收,且SID正常,则将待传输文件作为目标传输文件;
若待传输文件已被成功接收和/或SID乱码,则跳过接收待传输文件的流程,以实现对加冗文件的去冗余处理。
在具体的实施过程中,由于在实际应用中,光闸外网主机可以不对待传输文件进行加冗,即加冗级别N=0,也可以对其进行加冗,即N为大于0的整数。本申请实施例中加冗文件包括多个待传输文件的意思是指N大于0。
光闸内网主机在接收到加冗文件中的一个待传输文件后,判断该待传输文件是否已成功接收及该待传输文件对应的报文是否乱序。可以理解的是,判断待传输文件中的报文是否乱序,可通过SID进行判断。
如果待传输文件没有被成功接收过,并且该待传输文件中的SID正常,则可将待传输文件作为目标传输文件,将目标传输文件写入接收成功的缓存队列中,方便光闸内网主机的业务模块获取并将目标传输文件同步到后置服务器中。可以理解的是,目标传输文件是指用于发送至后置服务器的文件。
如果待传输文件已经被成功接收过,则不需要再次存储该待传输文件,因此,将跳过该待传输文件的接收流程。如果该待传输文件对应的报文的SID乱码,则说明该待传输文件的报文在传输过程中,出现了丢包的情况,表示该待传输文件已损坏,将跳过该待传输文件的接收流程。应当说明的是,对于待传输文件没有被成功接收过,且SID乱码导致未能将待传输文件作为目标传输文件的情况,可以将该待传输文件的相关信息(例如文件发送序号FID和报文发送SID等)存储接收失败的缓存队列中,方便光闸内网主机的业务模块获取并记录文件接收失败记录,后续对文件进行查询、重发。
接收失败的缓存队列以及接收成功的缓存队列的大小可根据光闸内网主机的硬件支持的内存大小、外网发送速率进行灵活配置。
本申请实施例中,如果文件丢失后,可以通过FID快速定位文件,实现重传,无需重新在源端进行文件下载,减少网络开销和磁盘开销成本。
图9为本申请实施例提供的一种判断是否已成功接收的方法流程示意图,如图9所示,该方法包括:
步骤901:接收文件信息头;光闸内网主机在接收到加冗文件中的一个待传输文件后,获取该待传输文件的文件描述头。
步骤902:判断是否为冗余发送;根据文件描述头中的加冗级别N判断是否为冗余发送,其中,若N=0,则说明不是冗余发送,执行步骤904;若N>0,则说明是冗余发送,执行步骤903;
步骤903:是否已成功接收;若该待传输文件为冗余发送,则判断光闸内网主机之前是否已经成功接收过与该待传输文件内容相同的文件,如果已经成功接收过,则执行步骤907;否则执行步骤904;
步骤904;接收文件内容;光闸内网主机将该待传输文件作为目标传输文件,接收该目标传输文件;
步骤905:接收是否完成;判断是否已经完成接收,如果接收完成则执行步骤906,否则继续执行步骤904;
步骤906:标志文件接收成功;在接收完成后,通过写数据库记录的方式将接收成功的文件信息记录在数据库中,并继续执行步骤901,以接收下一待传输文件。
步骤907:跳过当前文件内容处理;如果光闸内网主机在之前已经接收过与待传输文件内容相同的文件,则跳过对该待传输文件的接收流程。
应当说明的是,上述待传输文件可以是对大文件进行切分后的文件分片,也可以是对小文件进行拼包后生成的文件。
其中,针对步骤903,判断待传输文件是否已成功接收的方法如下:
可根据文件发送序号FID+文件发送时间+文件大小信息检索光闸内网主机中存储的成功接收表中是否存在同样的文件,若存在,则说明该文件已成功接收,后续将跳过当前文件的文件包处理,否则,说明该文件还未成功接收。
图10为本申请实施例提供的一种判断SID是否乱序的方法流程示意图,如图10所示,该方法包括:
步骤1001:接收到当前待传输文件的文件描述信息头,文件包发送序号SID为0,并重置期望的文件包发送序号SID_Exp为1,准备接收文件内容。根据报文头中文件大小信息及报文固定大小,可计算出当前待传输文件的总的文件包数。待传输文件的总的文件包数SID_Max=待传输文件的文件大小/文件包固定大小+1。
步骤1002:接收到待传输文件的文件内容,报文发送序号SID从1到SID_Max,当报文发送序号SID与期望的报文发送序号SID_Exp一致时,执行步骤1003;否则执行步骤1007;
步骤1003:检查报文类型是否为文件头报文,在文件隧道中传输的报文类型包括文件头报文、文件内容报文和文件结束报文。当接收数据报文时,首先需要检查报文类型;如果是文件头报文,表示新的文件内容数据即将开始接收处理,重置相关丢包计数及期望发送序号SID_Exp,同时意味着上一个文件如果没有处理结束则说明上一个文件已丢包,执行步骤1009。如果是文件内容报文,表示当前正在处理文件内容数据,需要对文件内容数据包的报文发送序号SID进行检查是否跳号,执行步骤1004。如果跳号则说明该文件内容接收有丢包,作丢包处理。如果是文件结束报文,表示当前文件内容数据已成功接收,可以正常关闭文件;
步骤1004:处理文件内容报文,并SID_Exp自增1,其中,具体的处理方式为将该待传输文件作为目标传输文件存储。
步骤1005:判断该待传输文件对应的所有报文是否接收成功,如果完成接收,则执行步骤1006;否则执行步骤1001;
步骤1006:标记当前待传输文件以完成接收,并重置SID_Exp=0,并返回步骤1001,以准备接收下一个待传输文件;
步骤1007:如果SID与SID_Exp不一致,则说明待传输文件对应的报文丢包,记录丢包数;
步骤1008:检查报文类型是否为文件头报文,如果是,则执行步骤1009,否则执行步骤1010;应当说明的是,步骤1008的判断原理与步骤1003相同,此处不再赘述;
步骤1009:重置丢包计数为0,重置SID_Exp=0,并返回步骤1001,以准备接收下一个待传输文件;
步骤1010:标志该待传输文件接收失败,重置SID_Exp=0,并返回步骤1001,以准备接收下一个待传输文件。
本申请实施例中,光闸内网主机的文件隧道在接收到加冗文件后,可判断待传输文件是否已经被成功接收过,以及判断待传输文件中的报文发送序号SID是否正常,对加冗文件进行去冗余操作,以获得完整且正确的文件。
在上述实施例的基础上,将去冗余处理后的文件发送至后置服务器,包括:
光闸内网主机通过与文件描述头中的任务号和通道号相对应的内网数据通道读取去冗余处理后的文件,并将去冗余处理后的文件发送至后置服务器;其中,每一内网数据通道对应光闸内网主机的一个线程。
在具体的实施过程中,光闸内网主机中的各个内网数据通道分别从文件队列中轮询待传输文件的文件描述信息,各内网数据通道轮询到待传输文件的文件描述信息后独立处理并发送待传输文件的内容。并保证指定任务号的通道只能轮询到相应任务号及通道号的文件描述信息。如图5中大文件A的所有分片(A1、A2、A3及A4)只能由任务1的通道1获取并发送到外网目的服务器上。
在实际应用中,光闸外网主机中配置的外网数据通道数量与光闸内网主机中配置的内网数据通道的数量可以相同,也可以不同。对于相同的情况,则外网数据通道与内网数据通道一一对应;对于不同的情况,针对大文件的传输,如果外网数据通道的数量比内网数据通道的数量少,则内网数据通道的通道号=外网数据通道的通道号。如果外网数据通道的数量比内网数据通道的数量多,则内网数据通道的通道号=外网数据通道的通道号MOD内网数据通道的数量。可以理解的是,单向光闸内部可充分利用多核CPU并行处理能力,有效提升大文件传输速率。
本申请实施例中,光闸内网主机需要通过与文件描述头中的任务号和通道号相对应的内网数据通道读取去冗余后的文件,降低大文件分片被多个通道竞抢出现文件并发写入、及写入乱序的问题出现的可能性。并且,大文件的多通道负载由网闸内部软件实现,无需更新硬件模块,具有较好的硬件兼容性。
在上述实施例的基础上,针对光闸内网主机在对加冗文件进行去冗处理后获得的文件,且该加冗文件中的待传输文件为对大文件进行切分后获得的,其向后置服务器发送该去冗余处理后的文件的具体步骤如图11所示,包括:
步骤1101:获取第一TAR包文件对应的包头信息,包头信息包括分片总数;
步骤1102:读取去冗余处理后的文件的文件描述头;其中,文件描述头包括分片序号,还可以包括去冗余处理后的文件的文件名称、原名、文件大小、创建时间和分片总数等;
步骤1103:开启共享内存锁,并判断去冗余处理后的文件是否能够写入第一目标文件;如果可写,则执行步骤1104;否则执行步骤1109;可以理解的是,第一目标文件为在后置服务器中创建的,可以是光闸内网主机向后置服务器发送文件创建指令,后置服务器在接收到该文件创建指令后,创建第一目标文件;
步骤1104:若能够写入,则判断第一目标文件是否处于打开状态;如果处于打开状态,则表示该第一目标文件可以接收去冗余处理后的文件内容,执行步骤1105;如果关闭,则说明该第一目标文件中已经写入了一个完整的源文件,执行步骤1110。
步骤1105:读取去冗余处理后的文件(即第一TAR包文件)的内容;
步骤1106:对去冗余处理后的文件的内容进行解码后写入第一目标文件,并关闭共享内存锁;
步骤1107:关闭第一TAR包文件,并删除;
步骤1108:判断第一目标文件是否已完整,若根据分片总数和分片序号确定第一目标文件已完整,则向后置服务器发送关闭指令,以使后置服务器将第一目标文件关闭;如果没有写完,则继续执行步骤1101;
步骤1109:如果不可写入,则将该去冗余处理后的文件写入重试队列中,并继续执行步骤1101;可以理解的是,光闸内网主机在空闲的情况下,可以将重试队列中的内容再次推入到光闸内网主机中的业务模块继续执行步骤1101;
步骤1110:光闸内网主机向后置服务器发送创建新的第一目标文件的指令,以使后置服务器创建第一目标文件。
本申请实施例在将去冗余处理后的文件发送给后置服务器时,采用共享内存锁,防止多个通道同时对同一个源文件对应的去冗余处理后的文件进行传输而导致写入乱序的问题出现的可能性。
在上述实施例的基础上,将去冗余处理后的文件发送至后置服务器,包括:
光闸内网主机通过与去冗余处理后的文件中的任务号对应的多个内网数据通道以竞抢的方式读取去冗余处理后的文件,并将去冗余处理后的文件发送至后置服务器。
在具体的实施过程中,小文件的单通道处理时和大文件单通道传输时类似,数量多时也需要排队等待,会造成文件积压、时效性低问题。所以本申请实施例采用多通道负载技术,通过文件传输多通道、通道负载均衡分配实现小文件的并行发送、接收,有效解决上述单通道传输效率低的问题。其通道数范围为0~99,具体取值根据实际处理能力支持灵活配置。外网接收文件多通道传输时,各外网数据通道相互独立,每个外网数据通道负责相应源文件的传输的可靠性、完整性。
光闸外网主机接收文件成功后,将当前待传输文件的任务号信息存入文件描述头中,保证发送到内网后,文件仍可以被对应任务号的内网数据通道取走并发送,防止文件被其他任务获取,但是区别于大文件发送,小文件在内网可以被多通道竞抢写入,以提高并发写入提高效率。图12为本申请实施例提供的一种小文件多通道负载传输示意图,如图12所示,C、D、E均为小文件,其由任务1(这里假设当前任务号为1)的通道3传输,到外网传输完成后,更新相应文件描述头信息中任务号后,将各文件信息发入文件发送队列。当其传输到内网后,光闸内网主机的内网数据通道可通过竞抢的方式接收,例如:C和E被内网数据通道3接收,D则被内网数据通道4接收。
对于外网数据通道的数量与内容数据通道的数量不相同时,不会影响小文件的传输,即,空闲的内网数据通道均可采用公平的机制竞争获取小文件进行处理。
本申请实施例中,对于小文件拼包后传输到光闸内网主机的情况,通过多通道竞抢的方式读取去冗余处理后的文件,提高了文件传输的效率。
在上述实施例的基础上,针对光闸内网主机在对加冗文件进行去冗处理后获得的文件,且该加冗文件中的待传输文件为对多个小文件进行拼包后获得,其向后置服务器发送该去冗余处理后的文件的具体步骤如图13所示,包括:
步骤1301:获取第二TAR包文件对应的文件列表,该文件列表包括所述第二TAR包文件中包含的所有源文件对应的文件发送序号FID和偏移值;可以理解的是,该文件列表可以为在对小文件进行拼包过程中记录生成的;
步骤1302:根据偏移值读取所第二TAR包文件中的文件描述头;文件描述头中包括目标文件发送序号FID,可以理解的是,目标文件发送序号FID是指将要从第二TAR包文件中读取出来的小文件对应的文件发送序号;文件描述头中还包括文件名称和文件大小等信息;
步骤1303:创建新的第二目标文件;
步骤1304:从第二TAR包文件中读取文件描述头对应的文件内容,并对文件内容进行解码,获得解码后文件内容;
步骤1305:将解码后文件内容写入第二目标文件,将文件列表中目标文件发送序号FID对应的偏移值置为失效状态,并将第二目标文件发送至后置服务器;例如:偏移值为“0”可以表示失效,偏移值为“1”可以表示有效,当然,也可以采用其他数字或符号表示有效、失效状态的偏移值,本申请实施例对此不作具体限定。
步骤1306:判断文件列表中的偏移值是否均为失效状态,若文件列表中所有的偏移值均为失效状态,则关闭第二TAR包文件,并将其删除;否则说明第二TAR包文件中还有待传输文件没有解包出来,继续执行步骤1302。
本申请实施例通过依据文件列表中的目标文件发送序号FID和偏移值对第二TAR包文件进行解包,可以降低解包的错误率。
在上述实施例的基础上,图14为本申请实施例提供的一种基于单向光闸的文件传输方法的系统示意图,如图14所示,该系统包括前置服务器、单向光闸和后置服务器。
其中:
前置服务器与单向光闸之间传输源文件的方法可以包括但不限于以下三种方式:
(1)在前置服务器上安装文件同步客户端,通过私有协议与光闸文件客户端模式连接,将源文件同步到光闸外网主机上;
(2)在前置服务器上安装开源或通用的文件同步服务(如SMB/NFS/FTP/SFTP),通过公有协议与光闸内嵌模式连接,将文件同步到外网侧网闸;
(3)在光闸外网主机上开启通用的文件同步服务(如SMB/NFS/FTP/SFTP等),通过公有协议与前置服务器上通用服务(如SMB/NFS/FTP/SFTP等)的客户端连接,将源文件同步到光闸外网主机。
单向光闸包括光闸外网主机和光闸内网主机,单向光闸用于执行上述各实施例提供的文件传输方法,此处不再赘述。
后置服务器与单向光闸之间传输源文件的方法可以包括但不限于以下三种方式:
(1)在后置服务器上安装文件同步客户端,通过私有协议与网闸文件客户端模式连接,将文件同步到光闸内网主机中;
(2)在后置服务器上安装开源或通用的文件同步服务(如SMB/NFS/FTP/SFTP),通过公有协议与网闸内嵌模式连接,将文件同步到光闸内网主机;
(3)在光闸内网主机上开启通用的文件同步服务(如SMB/NFS/FTP/SFTP等),通过公有协议与后置服务器上通用服务(如SMB/NFS/FTP/SFTP等)的客户端连接,将文件同步到后置服务器上。
图15为本申请实施例提供的一种基于单向光闸的文件传输装置结构示意图,该装置可以是电子设备上的模块、程序段或代码。应理解,该装置与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。所述装置包括:加冗模块1501和去冗模块1502,其中:
加冗模块1501用于对待传输文件进行加冗处理,获得加冗文件,并通过文件隧道向光闸内网主机发送所述加冗文件;其中,所述文件隧道为所述光闸外网主机和所述光闸内网主机建立通信连接后获得;
去冗模块1502用于对接收到的所述加冗文件进行去冗余处理,并将去冗余处理后的文件发送至后置服务器。
在上述实施例的基础上,该装置还包括:文件处理模块,用于:接收前置服务器发送的源文件,对源文件进行处理获得待传输文件,并将待传输文件存入外网文件队列中。
在上述实施例的基础上,文件处理模块具体用于:
若源文件的文件大小大于第一阈值,则对源文件进行切分,获得源文件对应的文件分片;
将文件分片作为待传输文件进行存储。
在上述实施例的基础上,文件处理模块具体用于:
按照预设文件大小读取所述源文件的内容;
创建第一TAR包文件,并生成第一TAR包文件的包头信息;
在第一TAR包文件中添加文件描述头;
将读取到的内容进行加密,获得加密内容;
将加密内容写入对应的第一TAR包文件中,以获得文件分片。
在上述实施例的基础上,该装置还包括写入模块,用于:
在所述文件分片的所述文件描述头中写入所述源文件对应的任务号和接收所述文件分片的外网数据通道的通道号;其中,每一外网数据通道对应光闸外网主机的一个线程。
在上述实施例的基础上,文件处理模块具体用于:
若源文件的文件大小小于第二阈值,则将源文件存储至预先构建的第二TAR包文件中;其中,第二TAR包文件中包括从前置服务器中接收到的多个文件大小小于第二阈值的文件;
将第二TAR包文件作为待传输文件进行存储。
在上述实施例的基础上,文件处理模块具体用于:
创建源文件的文件描述头;
对源文件的内容进行加密,并将加密后的内容写入第二TAR包文件,并将所述源文件对应的临时数据存入临时向量表;其中,所述临时数据包括所述源文件对应的文件发送序号FID和偏移值;所述偏移值用于表征所述源文件的内容在所述第二TAR包文件中的位置;
若第二TAR包文件的文件数量达到预设值,和/或第二TAR包文件的文件大小到达预设包大小,则将预设临时向量表中前预设条数的临时数据写入第二TAR包文件的包头信息中,剩余的临时数据写入第二TAR包文件的扩展表中。
在上述实施例的基础上,加冗模块1501具体用于:
将预设数量的待传输文件作为文件集合,根据预设的冗余级别生成文件集合的多个冗余集合;
根据文件集合和冗余集合获得加冗文件。
在上述实施例的基础上,加冗模块1501具体用于:
通过文件隧道读取加冗文件的内容;
将加冗文件的内容按预设字节数进行组包,获得对应的报文;
在报文对应的报文头中添加对应待传输文件的文件发送序号FID和报文报送序号SID,获得目标报文;
通过与光闸内网主机通信连接的文件隧道将目标报文发送至光闸内网主机。
在上述实施例的基础上,加冗文件包括多个待传输文件;去冗模块1502具体用于:
针对光闸内网主机接收到的加冗文件中的一待传输文件,判断待传输文件是否已成功接收以及对应的报文发送序号SID是否乱序;
若待传输文件未被成功接收,且SID正常,则将待传输文件作为目标传输文件;
若待传输文件已被成功接收和/或SID乱码,则跳过接收待传输文件的流程。
在上述实施例的基础上,去冗模块1502具体用于:
根据待传输文件对应的报文发送序号FID、文件发送时间和文件大小判断待传输文件是否已存储在成功接收表中,若存在,则确定待传输文件已成功接收;否则确定待传输文件未被接收过。
在上述实施例的基础上,去冗模块1502具体用于:
获取待传输文件对应的报文发送序号SID;
若预先存储的期望报文发送序号与报文发送序号SID相同,则确定待传输文件没有乱序,且将期望报文发送序号自增1,以对加冗文件中的下一待传输文件进行判断;其中,期望报文发送序号的最大值为加冗文件对应的总的文件包数;
若预先存储的期望报文发送序号与报文发送序号SID不相同,则确定待传输文件乱序,重置期望报文发送序号,以对加冗文件中的下一待传输文件进行判断。
在上述实施例的基础上,去冗模块1502具体用于:
通过与文件描述头中的任务号和通道号相对应的内网数据通道读取去冗余处理后的文件,并将去冗余处理后的文件发送至后置服务器;其中,每一内网数据通道对应光闸内网主机的一个线程。
在上述实施例的基础上,去冗余处理后的文件为对源文件进行切分后生成的第一TAR包文件;去冗模块1502具体用于:
获取第一TAR包文件对应的包头信息,包头信息包括分片总数;
读取去冗余处理后的文件的文件描述头;文件描述头包括分片序号;
开启共享内存锁,并判断去冗余处理后的文件是否能够写入第一目标文件;
若能够写入,则读取去冗余处理后的文件的内容,并对去冗余处理后的文件的内容进行解码后写入第一目标文件,并关闭共享内存锁;
若根据分片总数和分片序号确定第一目标文件已完整,则向后置服务器发送关闭指令,以使后置服务器将第一目标文件关闭。
在上述实施例的基础上,去冗模块1502具体用于:
通过与去冗余处理后的文件中的任务号对应的多个内网数据通道以竞抢的方式读取去冗余处理后的文件,并将去冗余处理后的文件发送至后置服务器。
在上述实施例的基础上,去冗余处理后的文件为进行拼包后生成的第二TAR包文件,去冗模块1502具体用于:
获取第二TAR包文件对应的文件列表,文件列表包括第二TAR包文件中包含的所有源文件对应的文件发送序号FID和偏移值;该偏移值用于表征所述源文件的内容在所述第二TAR包文件中的位置;
根据偏移值读取第二TAR包文件中的文件描述头;文件描述头中包括目标文件发送序号FID;
从第二TAR包文件中读取文件描述头对应的文件内容,并对文件内容进行解码,获得解码后文件内容;
将解码后文件内容写入第二目标文件,并将文件列表中目标文件发送序号FID对应的偏移值置为失效状态;
若文件列表中所有的偏移值均为失效状态,则将第二TAR包文件删除。
图16为本申请实施例提供的电子设备实体结构示意图,如图16所示,所述电子设备,包括:处理器(processor)1601、存储器(memory)1602和总线1603;其中,
所述处理器1601和存储器1602通过所述总线1603完成相互间的通信;
所述处理器1601用于调用所述存储器1602中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:对待传输文件进行加冗处理,获得加冗文件,并通过文件隧道向光闸内网主机发送所述加冗文件;其中,文件隧道为光闸外网主机和光闸内网主机建立通信连接后获得;对接收到的加冗文件进行去冗余处理,并将去冗余处理后的文件发送至后置服务器。
处理器1601可以是一种集成电路芯片,具有信号处理能力。上述处理器1601可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器1602可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)等。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:对待传输文件进行加冗处理,获得加冗文件,并通过文件隧道向光闸内网主机发送所述加冗文件;其中,文件隧道为光闸外网主机和光闸内网主机建立通信连接后获得;对接收到的加冗文件进行去冗余处理,并将去冗余处理后的文件发送至后置服务器。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:对待传输文件进行加冗处理,获得加冗文件,并通过文件隧道向光闸内网主机发送所述加冗文件;其中,文件隧道为光闸外网主机和光闸内网主机建立通信连接后获得;对接收到的加冗文件进行去冗余处理,并将去冗余处理后的文件发送至后置服务器。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种基于单向光闸的文件传输方法,其特征在于,应用于单向光闸,所述单向光闸包括光闸外网主机和光闸内网主机,所述方法包括:
所述光闸外网主机对待传输文件进行加冗处理,获得加冗文件,并通过文件隧道向光闸内网主机发送所述加冗文件;其中,所述文件隧道为所述光闸外网主机和所述光闸内网主机建立通信连接后获得;
所述光闸内网主机对接收到的所述加冗文件进行去冗余处理,并将去冗余处理后的文件发送至后置服务器。
2.根据权利要求1所述的方法,其特征在于,在所述光闸外网主机对待传输文件进行加冗处理之前,所述方法还包括:
所述光闸外网主机接收前置服务器发送的源文件,对所述源文件进行处理获得所述待传输文件,并将所述待传输文件存入外网文件队列中。
3.根据权利要求2所述的方法,其特征在于,所述对所述源文件进行处理获得所述待传输文件,包括:
若所述源文件的文件大小大于第一阈值,则对所述源文件进行切分,获得所述源文件对应的文件分片;
将所述文件分片作为所述待传输文件。
4.根据权利要求3所述的方法,其特征在于,所述对所述源文件进行切分,获得所述源文件对应的文件分片,包括:
按照预设文件大小读取所述源文件的内容,所述预设文件大小基于文件分片的大小进行确定;
创建第一TAR包文件,并生成所述第一TAR包文件的包头信息;
在所述第一TAR包文件中添加文件描述头;
将读取到的内容进行加密,获得加密内容;
将所述加密内容写入对应的第一TAR包文件中,以获得所述文件分片。
5.根据权利要求4所述的方法,其特征在于,在获得所述文件分片后,所述方法还包括:
在所述文件分片的所述文件描述头中写入所述源文件对应的任务号和接收所述文件分片的外网数据通道的通道号;其中,每一外网数据通道对应所述光闸外网主机的一个线程。
6.根据权利要求2所述的方法,其特征在于,所述对所述源文件进行处理获得所述待传输文件,包括:
若所述源文件的文件大小小于第二阈值,则将所述源文件存储至预先构建的第二TAR包文件中;其中,所述第二TAR包文件中包括从前置服务器中接收到的多个文件大小小于所述第二阈值的文件;
将所述第二TAR包文件作为所述待传输文件进行存储。
7.根据权利要求6所述的方法,其特征在于,所述将所述源文件存储至预先构建的第二TAR包文件中,包括:
创建所述源文件的文件描述头;
对所述源文件的内容进行加密,并将加密后的内容写入所述第二TAR包文件,并将所述源文件对应的临时数据存入临时向量表;其中,所述临时数据包括所述源文件对应的文件发送序号FID和偏移值;所述偏移值用于表征所述源文件的内容在所述第二TAR包文件中的位置;
若所述第二TAR包文件的文件数量达到预设值,和/或所述第二TAR包文件的文件大小到达预设包大小,则将预设临时向量表中前预设条数的临时数据写入所述第二TAR包文件的包头信息中,剩余的临时数据写入所述第二TAR包文件的扩展表中。
8.根据权利要求1所述的方法,其特征在于,所述光闸外网主机对待传输文件进行加冗处理,获得加冗文件,包括:
将预设数量的待传输文件作为文件集合,根据预设的冗余级别生成所述文件集合的多个冗余集合,所述冗余集合的数量和所述冗余级别正相关;
根据所述文件集合和所述冗余集合获得所述加冗文件。
9.根据权利要求1-7任一项所述的方法,其特征在于,所述通过文件隧道向光闸内网主机发送所述加冗文件,包括:
通过所述文件隧道读取所述加冗文件的内容;
将所述加冗文件的内容按预设字节数进行组包,获得对应的报文;
在所述报文对应的报文头中添加对应所述待传输文件的文件发送序号FID和报文报送序号SID,获得目标报文;
通过与所述光闸内网主机通信连接的所述文件隧道将所述目标报文发送至所述光闸内网主机。
10.根据权利要求1所述的方法,其特征在于,所述加冗文件包括多个待传输文件;所述光闸内网主机对接收到的所述加冗文件进行去冗余处理,包括:
针对所述光闸内网主机接收到的所述加冗文件中的任一待传输文件,判断所述待传输文件是否已成功接收以及对应的报文发送序号SID是否乱序;
若所述待传输文件未被成功接收,且所述SID正常,则将所述待传输文件作为目标传输文件;
若所述待传输文件已被成功接收和/或所述SID乱码,则跳过接收所述待传输文件的流程,以实现对所述加冗文件的去冗余处理。
11.根据权利要求10所述的方法,其特征在于,所述判断所述待传输文件是否已成功接收,包括:
根据所述待传输文件对应的报文发送序号FID、文件发送时间和文件大小判断所述待传输文件是否已存储在成功接收表中,若存在,则确定所述待传输文件已成功接收;否则确定所述待传输文件未被成功接收。
12.根据权利要求10所述的方法,其特征在于,判断所述待传输文件未对应的报文发送序号SID是否乱序,包括:
获取所述待传输文件对应的所述报文发送序号SID;
若预先存储的期望报文发送序号与所述报文发送序号SID相同,则确定所述待传输文件没有乱序,且将所述期望报文发送序号自增1,以对所述加冗文件中的下一待传输文件进行判断;其中,所述期望报文发送序号的最大值为所述加冗文件对应的总的文件包数;
若预先存储的期望报文发送序号与所述报文发送序号SID不相同,则确定所述待传输文件乱序,重置所述期望报文发送序号,以对所述加冗文件中的下一待传输文件进行判断。
13.根据权利要求5所述的方法,其特征在于,所述将去冗余处理后的文件发送至后置服务器,包括:
所述光闸内网主机通过与所述文件描述头中的任务号和通道号相对应的内网数据通道读取所述去冗余处理后的文件,并将所述去冗余处理后的文件发送至所述后置服务器;其中,每一内网数据通道对应所述光闸内网主机的一个线程。
14.根据权利要求13所述的方法,其特征在于,所述去冗余处理后的文件为对源文件进行切分后生成的第一TAR包文件;所述将所述去冗余处理后的文件发送至所述后置服务器,包括:
获取所述第一TAR包文件对应的包头信息,所述包头信息包括分片总数;
读取所述去冗余处理后的文件的文件描述头;所述文件描述头包括分片序号;
开启共享内存锁,并判断所述去冗余处理后的文件是否能够写入第一目标文件;其中,所述第一目标文件为在所述后置服务器创建的;
若能够写入,则读取所述去冗余处理后的文件的内容,并对所述去冗余处理后的文件的内容进行解码后写入所述第一目标文件,并关闭所述共享内存锁;
若根据所述分片总数和所述分片序号确定所述第一目标文件已完整,则向所述后置服务器发送关闭指令,以使所述后置服务器将所述第一目标文件关闭。
15.根据权利要求6所述的方法,其特征在于,所述将去冗余处理后的文件发送至后置服务器,包括:
所述光闸内网主机通过与所述去冗余处理后的文件中的任务号对应的多个内网数据通道以竞抢的方式读取所述去冗余处理后的文件,并将所述去冗余处理后的文件发送至所述后置服务器。
16.根据权利要求15所述的方法,其特征在于,所述去冗余处理后的文件为进行拼包后生成的第二TAR包文件,所述将所述去冗余处理后的文件发送至后置服务器,包括:
获取所述第二TAR包文件对应的文件列表,所述文件列表包括所述第二TAR包文件中包含的所有源文件对应的文件发送序号FID和偏移值;所述偏移值用于表征所述源文件的内容在所述第二TAR包文件中的位置;
根据所述偏移值读取所述第二TAR包文件中的文件描述头;所述文件描述头中包括目标文件发送序号FID;
从所述第二TAR包文件中读取所述文件描述头对应的文件内容,并对所述文件内容进行解码,获得解码后文件内容;
将所述解码后文件内容写入第二目标文件,将所述文件列表中所述目标文件发送序号FID对应的偏移值置为失效状态,并将所述第二目标文件发送至所述后置服务器;
若所述文件列表中所有的偏移值均为失效状态,则将所述第二TAR包文件删除。
17.一种基于单向光闸的文件传输装置,其特征在于,运行于所述单向光闸,所述装置包括:
加冗模块,用于对待传输文件进行加冗处理,获得加冗文件,并通过文件隧道向光闸内网主机发送所述加冗文件;其中,所述文件隧道为所述光闸外网主机和所述光闸内网主机建立通信连接后获得;
去冗模块,用于对接收到的所述加冗文件进行去冗余处理,并将去冗余处理后的文件发送至后置服务器。
18.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-16任一项所述的方法。
19.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1-16任一项所述的方法。
20.一种文件传输系统,其特征在于,包括前置服务器、后置服务器和单向光闸;其中,所述单向光闸用于执行如权利要求1-16任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211507626.2A CN115801767A (zh) | 2022-11-29 | 2022-11-29 | 基于单向光闸的文件传输方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211507626.2A CN115801767A (zh) | 2022-11-29 | 2022-11-29 | 基于单向光闸的文件传输方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115801767A true CN115801767A (zh) | 2023-03-14 |
Family
ID=85442775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211507626.2A Pending CN115801767A (zh) | 2022-11-29 | 2022-11-29 | 基于单向光闸的文件传输方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115801767A (zh) |
-
2022
- 2022-11-29 CN CN202211507626.2A patent/CN115801767A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7561573B2 (en) | Network adaptor, communication system and communication method | |
US20210011663A1 (en) | High-Speed Data Packet Capture and Storage with Playback Capabilities | |
US9906630B2 (en) | Processing data packets in performance enhancing proxy (PEP) environment | |
US9294589B2 (en) | Header compression with a code book | |
US7813342B2 (en) | Method and apparatus for writing network packets into computer memory | |
US8935336B2 (en) | Optimizing program requests over a wide area network | |
US5946467A (en) | Application-level, persistent packeting apparatus and method | |
KR100850254B1 (ko) | 순서가 어긋난 RDMA Send 메시지들의 전달에관련한 기입 연산들 수의 감소 | |
CN113055127B (zh) | 数据报文去重与传输方法、电子设备及存储介质 | |
TWI382723B (zh) | 傳輸資料封包時用於改善安全性之方法及裝置 | |
WO2019205897A1 (zh) | 一种数据传输方法及相关设备 | |
WO2020019943A1 (zh) | 发送数据的方法和装置,以及接收数据的方法和装置 | |
JP5039292B2 (ja) | ネットワークアダプタ、通信システムおよび通信方法 | |
KR20130046540A (ko) | 데이터 전송 장치 및 방법 | |
CN104025550B (zh) | 从数据项获得信息的方法及装置 | |
CN112153696B (zh) | Rlc sdu分段处理方法、装置及终端 | |
CN108632326B (zh) | 一种协议数据单元传输数据的方法及装置 | |
CN113746692A (zh) | 网络流量统计的方法、电子设备及存储介质 | |
EP3273664A1 (en) | Data processing method and device, server, and controller | |
CN110858790B (zh) | 一种数据包的传输方法、装置、存储介质及电子装置 | |
CN114363320A (zh) | 一种跨网数据回传方法、存储介质和系统 | |
JP6929946B2 (ja) | データ伝送方法、装置、送信端、受信端及びシステム | |
CN115801767A (zh) | 基于单向光闸的文件传输方法、装置及系统 | |
CN114362985A (zh) | 一种报文处理方法及装置 | |
CN114301960B (zh) | 集群非对称流量的处理方法及装置、电子设备及存储介质 |
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 |