一种数据处理方法及数据处理装置与流程

文档序号:17601400发布日期:2019-05-07 20:22阅读:148来源:国知局
一种数据处理方法及数据处理装置与流程

本申请涉及数据还原领域,特别是一种数据处理方法及数据处理装置。



背景技术:

目前,在实现对报文中的文件数据信息进行还原的时候,一种是先从网卡队列上抓取一个数据报文,然后进行协议解析,还原出一个承载数据,然后将承载数据写入到存储介质上;处理完一个报文后,继续从网卡队列上抓取下一个数据报文,再进行协议解析还原出承载数据,并将承载数据写入存储介质,具体步骤是打开文件、写入承载数据、关闭文件,每解析一个数据报文,写入一个承载数据都要进行这三个步骤。文件还原进程不停地进行文件打开和关闭,需要不停地进行数据的读取与写入操作,严重影响还原效率。同时,由于网卡队列能缓存的报文个数有限,如果网卡队列数满了,后续到达网卡的数据报文将会被丢弃,而文件还原进程由于是串行处理报文的,当承载数据写入速度较慢时,来不及从网卡队列采集数据报文,会导致由于网卡队列满了而进行的丢包处理,进而导致文件还原不完整。

另一种文件写入方式是,在第一个承载数据写入的时候打开文件,在写入数据块后,不关闭文件,仅在所有承载数据写完后关闭文件。但是,这种方式需要文件还原系统为每个打开的文件维护一个文件描述符,这需要更多的耗用文件还原进程的资源。同时,操作系统对其所属进程打开文件描述符的个数是有限制的,当文件还原进程打开文件个数达到上限后,操作系统不允许文件还原进程再创建新的文件,这也会导致文件还原进程进而丢失还原文件。



技术实现要素:

有鉴于现有技术中存在的上述问题,本申请提供了一种将还原出的承载数据另行存储以形成完整的还原文件,进而提高文件还原效率的数据处理方法及数据处理装置。

本申请实施例提供了一种数据处理方法,包括:

获取数据报文;

还原所述数据报文中的承载数据;

基于所述承载数据,生成传输数据;

将所述传输数据传输至预先创建的数据管理模块,其中,所述数据管理模块接收并将所述传输数据写入至映射内存,并在接收的传输数据形成一完整的还原文件后,将所述还原文件存储至所述映射内存对应的存储介质。

在本申请的一些实施例中,所述基于所述承载数据,生成传输数据,包括:

基于所述承载数据,生成包括有文件描述信息、文件数据信息或文件关闭信息中的一种或几种的传输数据,以在将所述传输数据传输至预先创建的数据管理模块后,使所述数据管理模块依据接收到的传输数据的信息进行相应处理,其中,所述文件描述信息、所述文件数据信息以及所述文件关闭信息中均包含有标识信息。

在本申请的一些实施例中,所述基于所述承载数据,生成传输数据,包括:

若所述承载数据是还原文件的第一个承载数据,则基于所述承载数据,生成文件描述信息,以在将所述文件描述信息传输至预先创建的数据管理模块后,通过所述文件描述信息在所述映射内存对应的存储目录里创建包含有所述标识信息的还原文件;

若所述承载数据不是还原文件的第一个承载数据,也不是所述还原文件的最后一个承载数据,则基于所述承载数据,生成文件数据信息,以在将所述文件数据信息传输至所述预先创建的数据管理模块后,通过将所述文件数据信息添加至与所述文件数据信息中的标识信息相匹配的还原文件中;

若所述承载数据是还原文件的最后一个承载数据,则基于所述承载数据,生成文件关闭信息,以在将所述文件关闭信息传输至所述预先创建的数据管理模块后,通过所述文件关闭信息关闭与所述文件关闭信息中的标识信息相匹配的还原文件。

在本申请的一些实施例中,所述将所述传输数据传输至预先创建的数据管理模块,包括:

将所述传输数据写入至无锁队列,通过所述无锁队列将所述传输数据传输至所述预先创建的数据管理模块,其中,所述无锁队列为所述数据管理模块通过共享内存创建,且所述无锁队列的数量与所述还原所述数据报文中的承载数据的还原文件进程的数量相同。

在本申请的一些实施例中,所述方法应用于第一电子设备,所述第一电子设备与第二电子设备通信连接,在所述预先创建的数据管理模块设于所述第二电子设备上时,所述将所述传输数据传输至预先创建的数据管理模块,包括:

将所述传输数据传输至数据通道,通过所述数据通道将所述传输数据传输至所述预先创建的数据管理模块,其中,所述数据通道用以使所述第一电子设备和所述第二电子设备之间进行数据交互。

在本申请的一些实施例中,所述数据管理模块依据接收到的传输数据的信息进行相应处理,包括:

若接收的传输数据的信息中包含有所述文件描述信息,则表征所述传输数据是还原文件的第一个传输数据,根据所述文件描述信息在所述映射内存对应的存储目录里创建包含有所述标识信息的还原文件;

若接收的传输数据的信息中仅包含有所述文件数据信息,则将所述文件数据信息添加至与所述文件数据信息中的标识信息相匹配的还原文件中;

若接收的传输数据的信息中包含有所述文件关闭信息,则表征所述传输数据是还原文件的最后一个传输数据,根据所述文件关闭信息关闭所述还原文件,以表征所述还原文件已还原完毕,并将所述还原文件存储至所述存储介质。

本申请实施例还提供了一种数据处理装置,包括:

获取模块,其用于获取数据报文

还原模块,其用于还原所述数据报文中的承载数据;

生成模块,其用于基于所述承载数据,生成传输数据;

传输模块,其用于将所述传输数据传输至预先创建的数据管理模块,其中,所述数据管理模块接收并将所述传输数据写入至映射内存,并在接收的传输数据形成一完整的还原文件后,将所述还原文件存储至所述映射内存对应的存储介质。

在本申请的一些实施例中,所述生成模块具体用于:

基于所述承载数据,生成包括有文件描述信息、文件数据信息或文件关闭信息中的一种或几种的传输数据,以在将所述传输数据传输至预先创建的数据管理模块后,使所述数据管理模块依据接收到的传输数据的信息进行相应处理,其中,所述文件描述信息、所述文件数据信息以及所述文件关闭信息中均包含有标识信息。

在本申请的一些实施例中,所述传输模块具体用于:

将所述传输数据写入至无锁队列,通过所述无锁队列将所述传输数据传输至所述预先创建的数据管理模块,其中,所述无锁队列为所述数据管理模块通过共享内存创建,且所述无锁队列的数量与所述还原所述数据报文中的承载数据的还原文件进程的数量相同。

在本申请的一些实施例中,所述数据处理装置与第二电子设备通信连接,所述数据管理模块设于所述第二电子设备上时,所述传输模块具体用于:

将所述传输数据传输至数据通道,通过所述数据通道将所述传输数据传输至所述预先创建的数据管理模块,其中,所述数据通道用以使所述第一电子设备和所述第二电子设备之间进行数据交互。

与现有技术相比,本申请的有益效果在于:根据从获取的数据报文中还原出的承载数据,生成传输数据,进而将传输数据传输至预先创建的数据管理模块,而并非将还原出的承载数据直接写入存储介质,能够将对数据报文的还原解析操作与还原出的承载数据的存储操作分开进行,能够为获取数据报文以及还原所述数据报文中的承载数据时提供更佳的性能,提高作业效率,而通过数据管理模块对生成的所述传输数据存储本身并不会对获取操作以及还原操作造成过多的影响,同时,还能够保证数据报文不会丢失,保证了还原文件的完整性。

附图说明

图1为本申请实施例中的数据处理方法的流程图;

图2为本申请实施例中的数据处理装置的框图。

具体实施方式

为使本领域技术人员更好的理解本申请的技术方案,下面结合附图和具体实施方式对本申请作详细说明。

此处参考附图描述本申请的各种方案以及特征。

通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。

还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。

当结合附图时,鉴于以下详细说明,本申请的上述和其它方面、特征和优势将变得更为显而易见。

此后参照附图描述本申请的具体实施例;然而,应当理解,所发明的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以根据用户的历史的操作,判明真实的意图,避免不必要或多余的细节使得本申请模糊不清。因此,本文所发明的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。

本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其它实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。

本申请实施例提供了一种数据处理方法,包括:

获取数据报文;

还原所述数据报文中的承载数据;

基于所述承载数据,生成传输数据;

将所述传输数据传输至预先创建的数据管理模块,其中,所述数据管理模块接收并将所述传输数据写入至映射内存,并在接收的传输数据形成一完整的还原文件后,将所述还原文件存储至所述映射内存对应的存储介质。

通过上述的方法可以看出,根据从获取的数据报文中还原出的承载数据,生成传输数据,进而将传输数据传输至预先创建的数据管理模块,而并非将还原出的承载数据直接写入存储介质,能够将对数据报文的还原解析操作与还原出的承载数据的存储操作分开进行,能够为获取数据报文以及还原所述数据报文中的承载数据时提供更佳的性能,提高作业效率,而通过数据管理模块对生成的所述传输数据存储本身并不会对获取操作以及还原操作造成过多的影响,同时,还能够保证数据报文不会丢失,保证了还原文件的完整性。

为了能够更加简单、详细的了解上述技术方案,下面结合实施例和附图对上述的数据处理方法进行详细阐述。

如图1所示,图1为本申请实施例中数据处理方法的流程图,所述数据处理方法包括如下步骤:

步骤101:获取数据报文.具体地,可以是从网卡队列中读取原始的数据报文。

步骤102:还原所述数据报文中的承载数据。在获取到数据报文后,便对数据报文进行解析,进而还原出数据报文中的承载数据,其中,所述承载数据为数据报文所包含的还原文件的部分文件信息,当然,也可以还原文件的全部的文件信息。在上述对所述数据报文进行解析以及生成承载数据过程中,所需要使用的内存均从共享内存中获得,其中,该共享内存的大小取决于该方法应用于的电子设备的物理内存的大小,电子和设备的物理内存越大,该共享内存也可以越大,同时,该共享内存可以在进行承载数据的获取、解析以及还原时使用。

步骤103:基于所述承载数据,生成传输数据。具体地,可以是依据还原出的承载数据具体为还原文件的哪一部分,进而生成相应的传输数据。

在本申请的一些实施例中,所述基于所述承载数据,生成传输数据,包括:基于所述承载数据,生成包括有文件描述信息、文件数据信息或文件关闭信息中的一种或几种的传输数据,以在将所述传输数据传输至预先创建的数据管理模块后,使所述数据管理模块依据接收到的传输数据的信息进行相应处理,其中,所述文件描述信息、所述文件数据信息以及所述文件关闭信息中均包含有标识信息。具体地,所述文件描述信息中包括有标识信息、还原文件名以及附属信息,其中,所述附属信息可以依实际需要进行设置;所述文件数据信息中包括有标识信息和文件块,其中,文件块可以为所述承载数据中的部分数据;所述文件关闭信息中仅包括有标识信息。

在本申请的一些实施例中,所述基于所述承载数据,生成传输数据,包括:若所述承载数据是还原文件的第一个承载数据,则基于所述承载数据,生成文件描述信息,具体地,可以是基于承载数据的附加属性生成文件描述信息,其中,附加属性可以为如标识信息、文件真实文件名、传输协议等,以在将所述文件描述信息传输至预先创建的数据管理模块后,通过所述文件描述信息在所述映射内存对应的存储目录里创建包含有所述标识信息的还原文件,当然,在基于承载数据的附加属性生成文件描述信息的时候,还会基于所述承载数据生成文件数据信息,以在创建完包含有所述标识信息的还原文件后,还可以将基于所述承载数据生成文件数据信息添加至该还原文件中;若所述承载数据不是还原文件的第一个承载数据,也不是所述还原文件的最后一个承载数据,则基于所述承载数据,生成文件数据信息,以在将所述文件数据信息传输至所述预先创建的数据管理模块后,通过将所述文件数据信息添加至与所述文件数据信息中的标识信息相匹配的还原文件中;若所述承载数据是还原文件的最后一个承载数据,则基于所述承载数据,生成文件关闭信息,具体地,可以是基于承载数据的附加属性(这里只有标识信息)生成一个文件关闭信息,以在将所述文件关闭信息传输至所述预先创建的数据管理模块后,通过所述文件关闭信息关闭与所述文件关闭信息中的标识信息相匹配的还原文件。

步骤104:将所述传输数据传输至预先创建的数据管理模块,其中,所述数据管理模块接收并将所述传输数据写入至映射内存,并在接收的传输数据形成一完整的还原文件后,将所述还原文件存储至所述映射内存对应的存储介质。具体地,所述映射内存可以是与存储介质中的目录相对应。且在接收的传输数据形成一完整的还原文件并将该还原文件存储至所述映射内存对应的存储介质后,还可以将存储在所述映射内存中的所述还原文件进行删除,进而释放所述映射内存的空间,以便后续对其它还原文件进行存储及还原。

在本申请的一些实施例中,所述将所述传输数据传输至预先创建的数据管理模块,包括:将所述传输数据写入至无锁队列,通过所述无锁队列将所述传输数据传输至所述预先创建的数据管理模块,其中,所述无锁队列为所述数据管理模块通过共享内存创建,且所述无锁队列的数量与所述还原所述数据报文中的承载数据的还原文件进程的数量相同,进而使得每个还原文件进程均对应于一个无锁队列,以使得每个还原文件均能够通过同一个无锁队列进行传输,提高传输效率,且保证还原文件的准确性。

在本申请的一些实施例中,所述方法应用于第一电子设备,所述第一电子设备与第二电子设备通信连接,当然,所述方法也可以同时应用于多个第一电子设备,且多个所述第一电子设备均与所述第二电子设备通信连接,在所述预先创建的数据管理模块设于所述第二电子设备上时,所述将所述传输数据传输至预先创建的数据管理模块,包括:将所述传输数据传输至数据通道,通过所述数据通道将所述传输数据传输至所述预先创建的数据管理模块,其中,所述数据通道用以使所述第一电子设备和所述第二电子设备之间进行数据交互。具体地,可以是通过所述数据通道将多个第一电子设备上的传输数据均传输至第二电子设备,在本实施例中,所述数据通道可以为socket通道,或是其它读写通道等等。

本申请实施例还提供了一种数据处理装置,如图2所示,包括:

获取模块1,其用于获取数据报文

还原模块2,其用于还原所述数据报文中的承载数据;

生成模块3,其用于基于所述承载数据,生成传输数据;

传输模块4,其用于将所述传输数据传输至预先创建的数据管理模块,其中,所述数据管理模块接收并将所述传输数据写入至映射内存,并在接收的传输数据形成一完整的还原文件后,将所述还原文件存储至所述映射内存对应的存储介质。

在本申请的一些实施例中,所述生成模块3具体用于:

基于所述承载数据,生成包括有文件描述信息、文件数据信息或文件关闭信息中的一种或几种的传输数据,以在将所述传输数据传输至预先创建的数据管理模块后,使所述数据管理模块依据接收到的传输数据的信息进行相应处理,其中,所述文件描述信息、所述文件数据信息以及所述文件关闭信息中均包含有标识信息。

在本申请的一些实施例中,所述生成模块3具体用于:

若所述承载数据是还原文件的第一个承载数据,则基于所述承载数据,生成文件描述信息,以在将所述文件描述信息传输至预先创建的数据管理模块后,通过所述文件描述信息在所述映射内存对应的存储目录里创建包含有所述标识信息的还原文件;

若所述承载数据不是还原文件的第一个承载数据,也不是所述还原文件的最后一个承载数据,则基于所述承载数据,生成文件数据信息,以在将所述文件数据信息传输至所述预先创建的数据管理模块后,通过将所述文件数据信息添加至与所述文件数据信息中的标识信息相匹配的还原文件中;

若所述承载数据是还原文件的最后一个承载数据,则基于所述承载数据,生成文件关闭信息,以在将所述文件关闭信息传输至所述预先创建的数据管理模块后,通过所述文件关闭信息关闭与所述文件关闭信息中的标识信息相匹配的还原文件。

在本申请的一些实施例中,所述传输模块4具体用于:

将所述传输数据写入至无锁队列,通过所述无锁队列将所述传输数据传输至所述预先创建的数据管理模块,其中,所述无锁队列为所述数据管理模块通过共享内存创建,且所述无锁队列的数量与所述还原所述数据报文中的承载数据的还原文件进程的数量相同。

在本申请的一些实施例中,所述数据处理装置与第二电子设备通信连接,所述数据管理模块设于所述第二电子设备上时,所述传输模块4具体用于:

将所述传输数据传输至数据通道,通过所述数据通道将所述传输数据传输至所述预先创建的数据管理模块,其中,所述数据通道用以使所述第一电子设备和所述第二电子设备之间进行数据交互。

在本申请的一些实施例中,所述数据管理模块依据接收到的传输数据的信息进行相应处理,包括:

若接收的传输数据的信息中包含有所述文件描述信息,则表征所述传输数据是还原文件的第一个传输数据,根据所述文件描述信息在所述映射内存对应的存储目录里创建包含有所述标识信息的还原文件;

若接收的传输数据的信息中仅包含有所述文件数据信息,则将所述文件数据信息添加至与所述文件数据信息中的标识信息相匹配的还原文件中;

若接收的传输数据的信息中包含有所述文件关闭信息,则表征所述传输数据是还原文件的最后一个传输数据,根据所述文件关闭信息关闭所述还原文件,以表征所述还原文件已还原完毕,并将所述还原文件存储至所述存储介质。

由于本实施例所介绍的存储介质、电子设备为本申请实施例中指令处理的方法所对应的存储介质、电子设备,故而,基于本申请实施例中指令处理方法,本领域的技术人员能够了解本申请实施例中存储介质、电子设备的具体实施方式以及其各种变化形式,所以在此对于该存储介质、电子设备不再详细介绍。只要本领域所述技术人员实施本申请实施例中指令处理方法的存储介质、电子设备,都属于本申请所欲保护的范围。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理模块以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理模块执行的指令产生用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。

以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。

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