一种跨网闸信息共享的方法及装置与流程

文档序号:11693179阅读:572来源:国知局
一种跨网闸信息共享的方法及装置与流程

本发明涉及数据信息共享技术领域,更具体地说,涉及一种跨网闸信息共享的方法及装置。



背景技术:

当前很多地方党政机关网络是多层隔离,以某市政法机关为例:包括政务网、政法网、外网,隔离手段是物理隔离,通过把网络物理隔绝,保证了网络安全。但是这样的安全措施,造成了网络和网络之间无法传递信息,即使是用户想共享给网络另一侧用户的信息也无法正常传递。为了解决这个既要物理隔离网络,又要实现信息安全共享的问题,it界推出了安全隔离网闸(简称网闸)。网闸可以在不开放端口的情况下,就能把各种信息以文件的形式从网络一侧摆渡到另一侧,而将数据在经过网闸前及经过网闸后的处理经常利用中间件来实现。

目前提供的技术在处理数据量较小、数据传输频度较低、实时性要求低的情况时,一切正常。但是当遇到数据高并发、数据量大、实时性要求高的情况时,往往会出现数据漏传丢失的情况,例如网闸一侧的数据源有50000条消息需要传递,经过中间件产品及网闸的摆渡后,网闸另一侧数据目的地(数据库或者jms消息接收方)可能只收到了40000条,丢失了10000条消息。

综上所述,现有技术中进行跨网闸信息共享的技术方案存在数据量大、并发度高且实时性要求高时经常出现数据丢失的问题。



技术实现要素:

本发明的目的是提供一种跨网闸信息共享的方法及装置,以解决现有技术中进行跨网闸信息共享的技术方案存在的数据量大、并发度高且实时性要求高时经常出现数据丢失的问题。

为了实现上述目的,本发明提供如下技术方案:

一种跨网闸信息共享的方法,包括:

获取待传输的多个数据文件,并将每个数据文件的文件信息注册到文件清单中,所述文件信息包括对应数据文件的文件大小;

利用网闸将多个所述数据文件及所述文件清单由所述网闸左侧的摆渡文件向所述网闸右侧的摆渡文件传输;

由所述网闸右侧的摆渡文件获取所述文件清单,按照所述文件清单中包含的文件信息依次获取对应的数据文件,并在每获取到一个数据文件后判断该数据文件与对应文件信息是否一致,如果是,则确定该数据文件传输完毕,如果否,则经过预设时间段后重新获取该数据文件并执行所述判断该数据文件与对应文件信息是否一致的步骤。

优选的,按照所述文件清单中包含的文件信息依次获取对应的数据文件,包括:

按照所述文件清单中包含的文件序号依次获取对应的数据文件,所述文件序号包含于所述文件信息中。

优选的,获取待传输的多个数据文件,包括:

对数据源进行监控,并当所述数据源发生变化时将该变化产生的增量数据转化成多个数据文件;

或者接收应用程序发送的多个jms消息,并将每个jms消息均转化成对应的数据文件,得到多个与jms消息一一对应的数据文件。

优选的,确定一个数据文件接收完毕之后,还包括:

在所述文件清单中与当前接收完毕的数据文件对应位置处注册该数据文件已被处理完毕的标识。

优选的,确定全部数据文件传输完毕之后,还包括:

清除与所述数据文件对应的文件清单。

一种跨网闸信息共享的装置,包括:

注册模块,用于:获取待传输的多个数据文件,并将每个数据文件的文件信息注册到文件清单中,所述文件信息包括对应数据文件的文件大小;

传输模块,用于:利用网闸将多个所述数据文件及所述文件清单由所述网闸左侧的摆渡文件向所述网闸右侧的摆渡文件传输;

接收模块,用于:由所述网闸右侧的摆渡文件获取所述文件清单,按照所述文件清单中包含的文件信息依次获取对应的数据文件,并在每获取到一个数据文件后判断该数据文件与对应文件信息是否一致,如果是,则确定该数据文件传输完毕,如果否,则经过预设时间段后重新获取该数据文件并执行所述判断该数据文件与对应文件信息是否一致的步骤。

优选的,所述接收模块包括:

接收单元,用于:按照所述文件清单中包含的文件序号依次获取对应的数据文件,所述文件序号包含于所述文件信息中。

优选的,所述注册模块包括:

获取单元,用于:对数据源进行监控,并当所述数据源发生变化时将该变化产生的增量数据转化成多个数据文件;或者接收应用程序发送的多个jms消息,并将每个jms消息均转化成对应的数据文件,得到多个与jms消息一一对应的数据文件。

优选的,还包括:

标识模块,用于:确定一个数据文件接收完毕之后,在所述文件清单中与当前接收完毕的数据文件对应位置处注册该数据文件已被处理完毕的标识。

优选的,还包括:

清除模块,用于:确定全部数据文件传输完毕之后,清除与所述数据文件对应的文件清单。

本发明提供了一种跨网闸信息共享的方法及装置,其中该方法包括:获取待传输的多个数据文件,并将每个数据文件的文件信息注册到文件清单中,所述文件信息包括对应数据文件的文件大小;利用网闸将多个所述数据文件及所述文件清单由所述网闸左侧的摆渡文件向所述网闸右侧的摆渡文件传输;由所述网闸右侧的摆渡文件获取所述文件清单,按照所述文件清单中包含的文件信息依次获取对应的数据文件,并在每获取到一个数据文件后判断该数据文件与对应文件信息是否一致,如果是,则确定该数据文件传输完毕,如果否,则经过预设时间段后重新获取该数据文件并执行所述判断该数据文件与对应文件信息是否一致的步骤。本发明提供的技术方案中,在对数据文件利用网闸进行传输前,先在文件清单中注册包含有数据文件的文件大小的文件信息,由此利用网闸实现对数据文件及文件清单的传输后,可以由文件清单中获取到文件信息,并按照获取到的文件信息依次获取到对应的数据文件,接收每个数据文件时,均需要判断获取到的数据文件与对应文件信息是否一致,如果一致,说明数据文件的文件大小与传输前的文件大小一致,进一步说明该数据文件已经完成传输,如果不一致,则说明数据文件的文件大小与传输前的文件大小不一致,进一步说明该数据文件还未传输完毕,此时等待预设时间段后重新获取该数据文件并执行上述判断数据文件及对应文件信息是否一致的步骤,从而保证了获取到的数据文件为传输完毕的数据文件,也即保证了数据文件传输前后的一致性,解决了现有技术中进行跨网闸信息共享的技术方案存在的数据量大、并发度高且实时性要求高时经常出现数据丢失的问题。

附图说明

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

图1为本发明实施例提供的一种跨网闸信息共享的方法的流程图;

图2为本发明实施例提供的一种跨网闸信息共享的装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,其示出了本发明实施例提供的一种跨网闸信息共享的方法的流程图,可以包括:

s11:获取待传输的多个数据文件,并将每个数据文件的文件信息注册到文件清单中,文件信息包括对应数据文件的文件大小。

其中待传输的数据文件即为需要通过网闸进行传输的数据文件,将每个数据文件的文件信息注册到文件清单中可以是每个数据文件对应一条文件信息,而文件信息可以包括数据文件的相关属性,如文件大小、文件名称等,当然还可以根据实际需要进行其他具体设定,均在本发明的保护范围之内。另外该文件清单可以是获取到待传输的多个数据文件后自动生成的,也可以是预先生成的,具体可根据实际需要进行设定。

s12:利用网闸将多个数据文件及文件清单由网闸左侧的摆渡文件向网闸右侧的摆渡文件传输。

利用网闸实现数据文件及文件清单的传输具体可以包括:将数据文件及文件清单传输到网闸对应数据文件发送端一侧(即左侧)的摆渡文件下,由网闸将数据文件及文件清单将其一侧摆渡文件下的数据文件及文件清单传输到其另一侧(对应数据文件的接收端一侧,即右侧)摆渡文件下供获取,从而完成对数据文件及文件清单的传输。另外左侧和右侧是相对而言的,也即与数据文件发送端对应一侧均可以称之为左侧,与数据文件接收端对应一侧均可以称之为右侧,而网闸的同一侧可能对应发送端,也可能对应接收端。

s13:由网闸右侧的摆渡文件获取文件清单,按照文件清单中包含的文件信息依次获取对应的数据文件,并在每获取到一个数据文件后判断该数据文件与对应文件信息是否一致,如果是,则确定该数据文件传输完毕,如果否,则经过预设时间段后重新获取该数据文件并执行所述判断该数据文件与对应文件信息是否一致的步骤。

为什么现有技术中网闸两侧出现数据文件不一致的问题,尤其是在各个模块均正常运行的情况下?发明人发现,根本原因是由于网闸在将数据文件由其一侧摆渡到另一侧时,如果信息较大对应生产的数据文件数量很多,那么摆渡的时间会比较长,但是如果这时(即在该文件摆渡尚未完成之前)去解析这个文件,那么获得的信息就是不完整的,把这个信息推送到目的端(数据库或数据接收程序)就出现了数据漏传的情况。因此本申请中由网闸右侧的摆渡文件中获取文件清单,按照该清单中包含的文件信息依次获取对应的数据文件,并且每获取到一个数据文件后判断该数据文件与对应文件信息是否一致,如果一致,则说明获取到的数据文件的文件大小与文件信息中的文件大小一致,此时确定该数据文件传输完毕,如果还有未获取的数据文件,则获取下一数据文件,如果没有未获取的数据文件,则确定全部数据文件均传输完毕;如果不一致,则说明获取到的数据文件的文件大小与文件信息中的文件大小不一致,此时确定该数据文件未传输完毕,待经过预先根据实际需要设定的预设时间段后再重新获取该数据文件并判断其与文件信息的一致性,从而保证了最终获取到的数据文件为传输完毕的数据文件,也即保证了数据文件的完整性。

本发明提供的技术方案中,在对数据文件利用网闸进行传输前,先在文件清单中注册包含有数据文件的文件大小的文件信息,由此利用网闸实现对数据文件及文件清单的传输后,可以由文件清单中获取到文件信息,并按照获取到的文件信息依次获取到对应的数据文件,接收每个数据文件时,均需要判断获取到的数据文件与对应文件信息是否一致,如果一致,说明数据文件的文件大小与传输前的文件大小一致,进一步说明该数据文件已经完成传输,如果不一致,则说明数据文件的文件大小与传输前的文件大小不一致,进一步说明该数据文件还未传输完毕,此时等待预设时间段后重新获取该数据文件并执行上述判断数据文件及对应文件信息是否一致的步骤,从而保证了获取到的数据文件为传输完毕的数据文件,也即保证了数据文件传输前后的一致性,解决了现有技术中进行跨网闸信息共享的技术方案存在的数据量大、并发度高且实时性要求高时经常出现数据丢失的问题。

另外本申请中利用文件清单实现数据一致性,文件清单的体积很小,从而保证了自身传输的高效性,

本发明实施例提供的一种跨网闸信息共享的方法,按照文件清单中包含的文件信息依次获取对应的数据文件,可以包括:

按照文件清单中包含的文件序号依次获取对应的数据文件,文件序号包含于文件信息中。

需要说明的是,在向文件清单中注册对应文件信息时,可以将为数据文件进行排序得到的文件序号包含于文件信息中,其中文件序号即对应数据文件的顺序,从而按照文件序号依次获取对应的数据文件能够保证接收到的数据文件的顺序为数据文件中包含的信息应具备的顺序,从而保证了网闸两侧信息的顺序一致性,进一步保证了数据文件的顺利传授。

本发明实施例提供的一种跨网闸信息共享的方法,应用范围包括但不限于跨网闸的数据库同步场景,跨网闸的jms消息同步场景,具体来说,获取待传输的多个数据文件,可以包括:

对数据源进行监控,并当数据源发生变化时将该变化产生的增量数据转化成多个数据文件;

或者接收应用程序发送的多个jms消息,并将每个jms消息均转化成对应的数据文件,得到多个与jms消息一一对应的数据文件。

其中跨网闸的数据库同步场景对应对数据源进行监控并将监控得到的增量数据转化成对应多个数据文件,具体来说,在该应用场景下,本发明实施例提供的技术方案可以包括以下步骤:

通过定时扫描数据源的变动得到对应的增量数据,把增量数据转化为数据文件;如果定时扫描的间隔周期很短,且数据源新增数据量很大,这时往往会生成多个数据文件;

在文件清单里里注册数据文件的文件信息,可以包括文件序号、文件名称、文件大小,每条注册信息对应一个数据文件的文件信息;

把文件清单和数据文件传送到网闸左侧的摆渡文件夹下;

网闸定时把文件清单和数据文件传送到网闸右侧的摆渡文件夹下;

订阅文件清单,从中获取数据文件的文件信息;

按照文件序号及文件名称去摆渡过来的数据文件中查找对应的数据文件。

比较文件清单注册的文件信息(如文件大小)和读取数据文件获得的文件大小是否一致,如果一致,则说明该数据文件已经传输完成,准许对该数据文件继续下一步处理(包括解析入库等操作),然后继续按照文件清单中注册的文件序号去查找并比较其余的数据文件;如果不一致,则说明该数据文件尚未传输完成,目前还不能处理该数据文件,进行线程等待,目的是等待该文件的继续传输,然后使用定时循环判断机制,即:每隔预设时间段(如60s)再读取一次该数据文件的文件信息,和清单中注册的该数据文件的文件信息进行比对,以判定该数据文件是否已传输完成,一旦一致,则表明数据文件传输完成,就可以继续按照文件清单中注册的文件序号去查找并比较其余的数据文件。

其中跨网闸的jms消息同步场景对应接收应用程序发送的多个jms消息并将其转化成对应多个数据文件,具体来说,在该应用场景下,本发明实施例提供的技术方案可以包括以下步骤:

定时接收网闸左侧的应用程序发送的jms消息,然后把每条消息转换为一个数据文件;如果应用程序批量发送jms消息,那么会生成多个数据文件;

在文件清单里注册数据文件的文件信息,可以包括文件序号、名称、大小,每条注册信息对应一个数据文件的文件信息;

把文件清单和数据文件传送到网闸左侧的摆渡文件夹下;

网闸定时把文件清单和数据文件传送到网闸右侧的摆渡文件夹下;

订阅文件清单,从中获取数据文件的文件信息;

按照文件序号及文件名称去摆渡过来的数据文件中查找对应的数据文件。

比较文件清单注册的文件信息(主要包括文件大小)和读取数据文件获得的文件大小是否一致,如果一致,则说明该数据文件已经传输完成,准许对该数据文件继续下一步处理(包括把消息读入到jmsserver等操作),然后继续按照文件清单中注册的文件序号去查找并比较其余的数据文件;如果不一致,则说明该数据文件尚未传输完成,目前还不能处理该数据文件,进行线程等待,目的是等待该文件的继续传输,然后使用定时循环判断机制,即:每隔预设时间段(如60s)再读取一次该数据文件的文件信息,和清单中注册的该数据文件的文件信息进行比对,以判定该数据文件是否已传输完成,一旦一致,则表明数据文件传输完成,就可以继续按照文件清单中注册的文件序号去查找并比较其余的数据文件。

可见对于不同的应用场景均可以使用本申请公开的上述技术方案实现对应的操作,从而保证了不同应用场景下数据传输的一致性。

另外需要说明的是,本发明实施例提供的上述技术方案中涉及到对数据进行的处理均可以通过对应中间件来实现,如从数据源(数据库、发送jms消息的应用程序等)获取数据或消息,将其转化成数据文件以及将数据文件放到网闸左侧的摆渡文件下;从网闸右侧的摆渡文件下获取数据文件,将数据文件转化为对应数据或消息并将其送入目的地(数据库、jms消息接收方等),从而高效准确的实现对应操作,进一步满足业务对信息时效性和准确性的需求。

本发明实施例提供的一种跨网闸信息共享的方法,确定一个数据文件接收完毕之后,还可以包括:

在文件清单中与当前接收完毕的数据文件对应位置处注册该数据文件已被处理完毕的标识。

其中已被处理完毕的标识可以根据实际需要进行设定,如“已处理”字样等,从而通过文件清单的标识即可获知对应数据文件是否已经处理完毕,从而在获取数据文件时发生遗漏,同时避免了重复获取数据文件的情况出现。

本发明实施例提供的一种跨网闸信息共享的方法,确定全部数据文件传输完毕之后,还可以包括:

清除与数据文件对应的文件清单。

清除与多个数据文件对应的文件清单,不仅避免了对文件清单的重复处理,而且能够节省存储资源,从而使得本发明实施例提供的上述技术方案能够高效顺利的进行。

另外如果有多个文件清单存在(例如前一个文件清单尚没有处理完毕,下一个文件清单已经通过网闸摆渡过来),则按照文件清单摆渡生成时间来排序,越早通过网闸摆渡过来的文件清单越优先处理,从而保证了对多个文件清单的有序处理。

本发明实施例还提供了一种跨网闸信息共享的装置,如图2所示,可以包括:

注册模块11,用于:获取待传输的多个数据文件,并将每个数据文件的文件信息注册到文件清单中,文件信息包括对应数据文件的文件大小;

传输模块12,用于:利用网闸将多个数据文件及文件清单由网闸左侧的摆渡文件向网闸右侧的摆渡文件传输;

接收模块13,用于:由网闸右侧的摆渡文件获取文件清单,按照文件清单中包含的文件信息依次获取对应的数据文件,并在每获取到一个数据文件后判断该数据文件与对应文件信息是否一致,如果是,则确定该数据文件传输完毕,如果否,则经过预设时间段后重新获取该数据文件并执行所述判断该数据文件与对应文件信息是否一致的步骤。

本发明实施例提供的一种跨网闸信息共享的装置,接收模块可以包括:

接收单元,用于:按照文件清单中包含的文件序号依次获取对应的数据文件,文件序号包含于文件信息中。

本发明实施例提供的一种跨网闸信息共享的装置,注册模块可以包括:

获取单元,用于:对数据源进行监控,并当数据源发生变化时将该变化产生的增量数据转化成多个数据文件;或者接收应用程序发送的多个jms消息,并将每个jms消息均转化成对应的数据文件,得到多个与jms消息一一对应的数据文件。

本发明实施例提供的一种跨网闸信息共享的装置,注册模块可以包括:

获取单元,用于:对数据源进行监控,并当数据源发生变化时将该变化产生的增量数据转化成多个数据文件;或者接收应用程序发送的多个jms消息,并将每个jms消息均转化成对应的数据文件,得到多个与jms消息一一对应的数据文件。

本发明实施例提供的一种跨网闸信息共享的装置,还可以包括:

标识模块,用于:确定一个数据文件接收完毕之后,在文件清单中与当前接收完毕的数据文件对应位置处注册该数据文件已被处理完毕的标识。

本发明实施例提供的一种跨网闸信息共享的装置,还可以包括:

清除模块,用于:确定全部数据文件传输完毕之后,清除与数据文件对应的文件清单。

本发明实施例提供的一种跨网闸信息共享的装置中相关部分的说明请参见本发明实施例提供的一种跨网闸信息共享的方法中对应部分的详细说明,在此不再赘述。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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