处理数据的方法、装置及系统的制作方法

文档序号:7651029阅读:85来源:国知局
专利名称:处理数据的方法、装置及系统的制作方法
技术领域
本发明涉及计算机及通信技术领域,尤其涉及处理数据的方法、装置及系统。
背景技术
随着社会信息化进程的推进,人们将越来越多的信息以数据的形式在网络 上传输,而在数据传输的过程中,数据的完整性非常重要。当由于各种原因导 致数据不能正常传输至目的设备时,可能的情况是,造成数据的丢失,严重影 响目的设备接收数据的完整性,不利于后续对接收数据进行正确的处理。现有技术中,为了保证凄t据的完整性,提供了以下几种不同的解决方案一、 把多个应用程序放在同一设备上,这样,在处理该多个应用程序时, 无需数据传输,当然,也就不会出现数据传输时发生中断导致数据丢失的问题。 但是,随着应用程序的扩大,单一设备在性能、容量等方面无法满足实际需要。二、 增加传输时的链路数目,这样,在其中一条链路中断的情况下,其他 链路仍能进行正常的数据传输。但是,这样处理不能从根本上解决数据丢失的 问题,例如,当出现最坏的情况,即所有的链路均发生中断,仍然会导致数据 丢失。三、 将异常情况下未能成功传输的数据转移到数据库进行存储,这样可以 避免数据在传输至目的设备时发生丢失的问题,但是,由于整个系统引入了数 据库,因此会造成系统复杂度的增加,从而增加了系统的维护成本。综上,现有技术提供的解决方案的不足在于,不能从根本上解决数据传输 过程中由于链路中断而导致数据丢失的问题;或者,虽然解决了数l居丢失的问 题,^旦造成系统复杂度和维护成本的增加。发明内容本发明实施例提供一种处理数据的方法及系统,用以保证数据传输过程中 发生链路中断时数据的完整性,并降低系统复杂度和维护成本。本发明实施例提供一种处理数据的方法,该方法包括步骤 确认数才居传输过程中发生链路中断;将未成功传输的数据以数据块形式存入包含文件头的本地文件,其中,将 与数据块对应的数据块描述信息依次存入所述文件头内,并按数据块描述信息 包含的位置信息将数据块存入所述本地文件中的相应位置。 本发明实施例还提供一种数据处理装置,包括 第一确认模块,用于确认数据传输过程中发生链路中断; 存储模块,用于将未成功传输的数据以数据块形式存入包含文件头的本地 文件,其中,将与数据块对应的数据块描述信息依次存入所述文件头内,并按 数据块描述信息包含的位置信息将凝:据块存入所述本地文件中的相应位置。 本发明实施例还提供一种数据处理系统,包括数据处理装置,用于在确认lt提传输过程中发生链路中断时,将未成功传 输的数据以凝:据块形式存入包含文件头的本地文件,其中,将与数据块对应的 数据块描述信息依次存入所述文件头内,并按数据块描述4言息包含的位置信息 将数据块存入所述本地文件中的相应位置;以及,在确认中断的链路已恢复时, 在所述丈件头中查找需要重新传输的数据块对应的数据块描述信息,按数据块 描述信息包含的位置信息从所述本地文件中提取数据块,并向其它设备提供数 据块描述信息及数据块;数据传输装置,用于接收并在本地存储所述数据处理装置提供的数据块描 述信息,从所述数据处理装置获取本地存储的数据块描述信息指向的数据块并 进行传输。本发明实施例中,当数据传输过程中发生链路中断时,将未成功传输的数据以数据块形式存入包含文件头的本地文件,其中,将与数据块对应的数据块 描述信息依次存入文件头内,并按数据块描述信息包含的位置信息将数据块存 入本地文件中的相应位置,可以避免由于链路中断造成的数据丢失,保证数据的完整性;由于采用文件方式进行数据存储,可以降低系统复杂度和維护成本; 另外,通过文件头中的数据块描述信息可以快速定位数据块在本地文件中的位 置,特别是在存储有大量数据时,方便数据的读取。


图1为本发明实施例中一种数据处理的流程图; 图2为本发明实施例中一种本地文件的结构图;图3为本发明实施例中一种将原本未成功传输的数据块重新进行传输的处 理流程图;图4为本发明实施例中其它设备进行数据处理的流程图;图5、图6、图7为本发明实施例中一种数据处理装置的结构示意图;图8、图9、图IO为本发明实施例中一种数据处理装置的结构示意图。
具体实施方式
本发明实施例中,当数据传输过程中发生链路中断时,将未成功传输的数 据以数据块形式存入包含文件头的本地文件,其中,将与数据块对应的数据块 描述信息依次存入文件头内,并按数据块描述信息包含的位置信息将数据块存 入本地文件中的相应位置,可以保证数据的完整性,并降低系统复杂度和维护 成本。本发明实施例中一种数据处理流程如图1所示,包括步骤100、确认彩:才居传输过程中发生链路中断。在一种实施例中,可以通 过监控数据传输过程的方式确认是否发生链路中断,监控时可以定期或不定期 的记录监控获得的数据传输的状态信息,根据记录的状态信息可以确认是否发生链路中断。步骤101 、将未成功传输的数据以数据块形式存入包含文件头的本地文件, 其中,将与数据块对应的数据块描述信息依次存入文件头内,并4安数据块描述 信息包含的位置信息将数据块存入本地文件中的相应位置。数据块描述信息包含的位置信息指示数据块存入本地文件中的位置,该位置可以是连续的,也可以是不连续的。 一个具体实例为第一个数据块存放在 文件头之后,对应的位置信息为整个文件头长度的后一字节的相应位置,第二 个数据块存方文在第一个数据块之后,对应的位置信息为第一个数据块长度的后 一字节的相应位置,即第一个数块所在位置加上第一个数据块的大小,以此类 推。当然,第一个数据块之后可以保留一部分空字节,不存放第二个数据块, 第二个数据块在这部分空字节之后存放,这部分空字节可以用于后续数据块的 存放。在一种实施例中,数据块描述信息还包含有本地文件标识、数据块大小、 数据块序号、数据块访问状态之一或任意组合。其中,本地文件标识指示数据 块存入的本i也文件,该本地文件标识与本地文件对应。数据块大小指示数据块 的长度。数据块序号指示数据块存入文件时的先后顺序。由于数据块描述信息被依 次存入文件头,按数据块描述信息将数据块存入本地文件时也为依次存入,数 据块序号也依次增加,数据块可以根据数据块序号进行存取,从而以队列形式 实现先进先出。数据块访问状态指示数据块描述信息是否已指向数据块、指向的数据块是 否已写入、指向的数据块是否已读出、指向的数据块是否已成功传输之一或任 意组合。例如,数据块访问状态可以包括空、已写、已读、已确认。当数据 块描述信息在没有指向任何数据块时,数据块描述信息中数据块访问状态为 "空";当数据块写入本地文件时,数据块描述信息中数据块访问状态为"已 写";当数据块从本地文件中被读取时,数据块描述信息中数据块描述信息状态为"已读";当确认数据块已成功传输时,数据块描述信息中数据块描述信 息状态为"已确认"。数据块描述信息的 一个具体实例如下第 一个数据块存入本地文件时数据块描述信息->数据块序号=0数据块描述信息->位置信息=整个文件头长度的后一字节的相应位置数据块描述信息->数据块大小=当前数据块的长度数据块描述信息->数据块访问状态=已写第N个数据块存入本地文件时数据块描述信息->数据块序号=当前最大的序号+1数据块描述信息->位置信息=第N-l个的数据块描述信息->位置信息+第 N-l个的数据块描述信息->数据块大小数据块描述信息->数据块大小=当前数据块的长度 数据块描述信息->数据块访问状态=已写本发明实施例中一种本地文件的结构如图2所示,该本地文件包括文件头 和数据内容。文件头中依次存放与数据块对应的数据块描述信息,数据内容中 按数据块描述信息包含的位置信息在相应位置存放数据块。当中断的链路已恢复时,可以从本地文件中提取数据块重新进行传输。本 发明实施例中一种将原本未成功传输的数据块重新进行传输的处理流程如图3 所示,包括步骤300、确认数据传输过程中发生中断的链路已恢复。在一种实施例中, 可以通过监控数据传输过程的方式确认发生中断的链路是否已恢复,监控时可 以定期或不定期的记录监控获得的数据传输的状态信息,根据记录的状态信息 可以确认发生中断的链路是否已恢复。步骤301、在本地文件的文件头中查找需要重新传输的数据块对应的数据块描述4言息。在一种实施例中,可以根据数据块序号在文件头中查找需要重新传输的数据块对应的数据块描述信息,这里可以通过查哈希(Hash)表的方式 实现,在Hash表中保存所有的数据块描述信息,Hash表的key为数据块序号, value为对应的萄:据块描述信息。步骤302、按查找到的数"t居块描述信息包含的位置信息从本地文件中的相 应位置提取数据块重新进行传输。在数据块重新进行传输时仍未能成功传输的情况下,本地文件中仍然保留 该数据块及对应的数据块描述信息以便后续传输,从而避免了数据块的丢失。 在数据块成功传输完成时,该婆史据块对应的数据块描述信息包含的数据块访问 状态指示指向的数据块已成功传输,此时可以删除本地文件中的数据块描述信 息和对应的数据块。在一种较佳的实施例中,为了避免频繁的数据读取,此时 可以不删除本地文件中的数据块描述信息和对应的数据块,而是在文件头中全 部数据块描述信息包含的数据块访问状态指示指向的数据块已成功传输时,删 除整个本地文件。另夕卜,将数据块存入本地文件和/或从本地文件中提取数据块时,可以根据 本地文件在内存中映射的文件头和数据块的长度调整本地文件在内存中映射 的区域。例如,本地文件队列在内存中初始化时,内存中映射的内容包括文件 头,此时内存中映射的区域^交小。向本地文件存入凄史据块时,需要先判断内存 中待映射的区域是否足够写入当前数据块,若不够,则可以动态增大内存映射 区(映射区-先前的衍射区+当前的数据块长度+预分配长度)。又如,内存 中本地文件队列可以包含一用于整理内存映射对象的线程,这里的对象包括文 件头和数据块,若一个本地文件队列已写满对象,并且这些对象对应的凄t提块 描述信息包含的数据块访问状态为已成功传输,此时该线程可以将该对象从内 存中取消映射。在另外的实施例中,可以将数据块描述信息提供给其它设备进行存储。当 中断的链路已恢复时,其它设备可以根据其存储的数据块描述信息,从本地文件获取该数据块描述信息指向的数据块并进行传输。其它设备可以是队列服务 器,也可以是其它能够进行数据处理的服务器或设备。其它设备可以存储数据块,但在较佳的实施例中,其它设备不存储数据块, 而仅存储数据块描述信息以节省资源。在将数据块重新进行传输时仍未能成功 传输的情况下,其它设备丢弃该未能成功传输的数据块,在本地保留该数据块 对应的数据块描述信息以便后续传输,此时由于该数据块仍保留在本地文件 中,/人而避免了数据块的丟失。在数据块成功传输完成时,其它设备存储的该 数据块对应的数据块描述信息包含的数据块访问状态指示指向的数据块已成功传输,此时可以删除其它i殳备存储的该数据块描述信息。此种情况下,本地 文件的文件头中的数据块描述信息和对应的数据块可以删除,但在一种较佳的 实施例中,为了避免频繁的凄t据读取,此时可以不删除本地文件中的数据块描 述信息和对应的数据块,而是在文件头中全部数据块描述信息包含的数据块访 问状态指示指向的数据块已成功传输时,删除整个本地文件。本发明实施例中,将数据块描述信息提供给其它设备进行存储,其它设备 进行凄丈据处理的流程如图4所示,包括步骤400、将数据块描述信息提供给其它设备进4亍存储。 步骤401 、确认数据传输过程中发生中断的链路已恢复。 步骤402、其它设备根据其存储的数据块描述信息从本地文件获取该数据 块描述信息指向的数据块并进行传输。步骤403、判断数据块是否已成功传输,若是,则执行步骤404,否则执 行步骤405。步骤404、数据块对应的数据块描述信息包含的数据块访问状态指示指向 的数据块已成功传输,删除其它设备存储的该数据块描述信息。步骤405、其它设备丢弃未能成功传输的数据块,仍然在本地保留该凄t才居 块对应的数据块描述信息。^部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括ROM、 RAM、磁盘或光盘等。基于同一发明构思,本发明实施例还提供了一种数据处理装置,其结构如 图5所示,该数据处理装置包括第一确认模块500、存储模块501;其中, 第一确认模块500,用于确认数据传输过程中发生链路中断;存储模块501, 用于^1夸未成功传输的数据以凄丈据块形式存入包含文件头的本地文件,其中,4夸 与数据块对应的数据块描述信息依次存入文件头内,并按数据块描述信息包含 的位置信息将数据块存入本地文件中的相应位置。如图6所示,本发明实施例中的一种数据处理装置在图5所示数据处理装 置的基础上,还可以包括第二确认模块502、查找模块503、提取模块504; 其中,第二确认模块502,用于确认数据传输过程中发生中断的链路已恢复; 查找模块503,用于在文件头中查找需要重新传输的数据块对应的数据块描述 信息;提取模块504,用于按数据块描述信息包含的位置信息从本地文件中提 取所述数据块重新进行传输。如图7所示,本发明实施例中的一种数据处理装置在图6所示数据处理装 置的基础上,还可以包括第一删除模块505,用于在本地文件的文件头中全 部数据块描述信息包含的数据块访问状态指示指向的数据块已成功传输时,删 除该本地文件。基于同一发明构思,本发明实施例还提供了一种数据处理系统,其结构如 图8所示,该凄t据处理系统包括数据处理装置800、数据传输装置801。数据处理装置800,用于在确认数据传输过程中发生链路中断时,将未成 功传输的数据以数据块形式存入包含文件头的本地文件,其中,将与数据块对 应的数据块描述信息依次存入文件头内,并按数据块描述信息包含的位置信息 将数据块存入本地文件中的相应位置;以及,在确认中断的链路已恢复时,在 文件头中查找需要重新传输的数据块对应的数据块描述信息,按数据块描述信 息包含的位置信息从本地文件中提取数据块,并向其它设备提供数据块描述信息及数据块。数据传输装置801 ,用于接收并在本地存储数据处理装置800提供的数据 块描述信息,从数据处理装置800获取本地存储的数据块描述信息指向的数据 块并进行传输。如图9所示,本发明实施例中的一种数据处理系统在图8所示数4居处理系 统的基础上,其中的数据处理装置800还可以包括第一删除模块8000,用于在 本地文件的文件头中全部数据块描述信息包含的数据块访问状态指示指向的 数据块已成功传输时,删除该本地文件。如图IO所示,本发明实施例中的一种数据处理系统在图8所示数据处理 系统的基础上,其中的数据传输装置801还可以包括第二删除模块8010,用于 在本地存储的数据块描述信息包含的数据块访问状态指示指向的数据块已成 功传输时,删除所述本地存储的数据块描述信息。本发明实施例中,当数据传输过程中发生链路中断时,将未成功传输的数 据以数据块形式存入包含文件头的本地文件,其中,将与数据块对应的凄丈据块 描述信息依次存入文件头内,并按数据块描述信息包含的位置信息将数据块存 入本地文件中的相应位置,可以避免由于链路中断造成的数据丢失,保证数据 的完整性;由于采用文件方式进行数据存储,可以降低系统复杂度和维护成本; 另夕卜,通过文件头中的凄t据块描述信息可以快速定位数据块在本地文件中的位 置,特别是在存储有大量数据时,方便数据的读取。明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求 及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1. 一种处理数据的方法,其特征在于,该方法包括步骤确认数据传输过程中发生链路中断;将未成功传输的数据以数据块形式存入包含文件头的本地文件,其中,将与数据块对应的数据块描述信息依次存入所述文件头内,并按数据块描述信息包含的位置信息将数据块存入所述本地文件中的相应位置。
2、 如权利要求1所述的方法,其特征在于,将未成功传输的数据以数据 块形式存入包含文件头的本地文件后进一步包括步骤确认数据传输过程中发生中断的链路已恢复; 在所述文件头中查找需要重新传输的数据块对应的数据块描述信息; 按所述数据块描述信息包含的位置信息从所述本地文件中提取所述数据 块重新进行传输。
3、 如权利要求2所述的方法,其特征在于,确认数据传输过程中是否发 生链路中断和/或发生中断的链路是否已恢复包括步骤对数据传输过程进行监控,并记录监控获得的数据传输的状态信息; 根据所述状态信息确认数据传输过程中是否发生链路中断和/或发生中断 的链路是否已恢复。
4、 如权利要求1至3任一项所述的方法,其特征在于,所述数据块描述 信息还包含有本地文件标识、数据块序号、数据块访问状态、数据块大小之一 或任意组合。
5、 如权利要求4所述的方法,其特征在于,所述数据块序号指示数据块 存入文件时的先后顺序。
6、 如权利要求5所述的方法,其特征在于,根据所述数据块序号在所述 文件头中查找需要重新传输的数据块对应的数据块描述信息。
7、 如权利要求4所述的方法,其特征在于,所述数据块访问状态指示数据块描述信息是否已指向数据块、指向的数据块是否已写入、指向的数据块是 否已读出、指向的数据块是否已成功传输之一或任意组合。
8、 如权利要求7所述的方法,其特征在于,所述文件头中全部数据块描 述信息包含的数据块访问状态指示指向的数据块已成功传输时,邻']除所述本地 文件。
9、 如权利要求7所述的方法,其特征在于,将数据块描述信息提供给其 它设备进行存储,由所述其它设备从所述本地文件获取存储的数据块描述信息 指向的数据块并进行传输;在所述数据块描述信息包含的数据块访问状态指示 指向的数据块已成功传输时,删除所述其它设备存储的所述数据块描述信息。
10、 如权利要求1至3任一项所述的方法,其特征在于,将数据块存入所 述本地文件和/或从所述本地文件中提取数据块时,根据所述本地文件在内存中 映射的文件头和数据块的长度调整所述本地文件在内存中映射的区域。
11、 一种凝:据处理装置,其特;f正在于,包括 第一确i人才莫块,用于确"i人数据传输过程中发生链路中断;存储模块,用于将未成功传输的数据以数据块形式存入包含文件头的本地 文件,其中,将与数据块对应的数据块描述信息依次存入所述文件头内,并按 数据块描述信息包含的位置信息将数据块存入所迷本地文件中的相应位置。
12、 如权利要求ll所述的装置,其特征在于,还包括 第二确认模块,用于确认数据传输过程中发生中断的链路已恢复; 查找模块,用于在所迷文件头中查找需要重新传输的数据块对应的数据块描述信息;提取模块,用于按所述数据块描述信息包含的位置信息从所述本地文件中 提取所述数据块重新进行传输。
13、 如权利要求12所述的装置,其特征在于,还包括 第一删除模块,用于在所述文件头中全部数据块描述信息包含的数据块访问状态指示指向的数据块已成功传输时,删除所述本地文件。
14、 一种数据处理系统,其特征在于,包括数据处理装置,用于在确认数据传输过程中发生链路中断时,将未成功传 输的数据以数据块形式存入包含文件头的本地文件,其中,将与数据块对应的 数据块描述信息依次存入所述文件头内,并按数据块描述信息包含的位置信息 将数据块存入所述本地文件中的相应位置;以及,在确认中断的链路已恢复时, 在所述文件头中查找需要重新传输的数据块对应的数据块描述信息,按数据块 描述信息包含的位置信息从所述本地文件中提取数据块,并向其它设备提供数 据块描述信息及数据块;数据传输装置,用于接收并在本地存储所述数据处理装置提供的数据块描 述信息,从所述数据处理装置获取本地存储的数据块描述信息指向的数据块并 进行传输。
15、 如^l利要求14所述的系统,其特征在于,所述数据处理装置包括 第一删除才莫块,用于在所述文件头中全部凝:据块描述信息包含的数据块访问状态指示指向的数>^居块已成功传l命时,删除所述本地文件。
16、 如权利要求14所述的系统,其特征在于,所述数据传输装置包括 第二删除模块,用于在本地存储的数据块描述信息包含的数据块访问状态指示指向的数据块已成功传输时,删除所述本地存储的数据块描述信息。
全文摘要
本发明公开了一种处理数据的方法,该方法包括确认数据传输过程中发生链路中断;将未成功传输的数据以数据块形式存入包含文件头的本地文件,其中,将与数据块对应的数据块描述信息依次存入所述文件头内,并按数据块描述信息包含的位置信息将数据块存入所述本地文件中的相应位置。本发明同时公开一种数据处理装置及数据处理系统。采用本发明可以保证数据传输过程中发生链路中断时数据的完整性,并降低系统复杂度和维护成本。
文档编号H04L12/24GK101282235SQ20071009083
公开日2008年10月8日 申请日期2007年4月6日 优先权日2007年4月6日
发明者超 钱, 陈思儒 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1