用于数据传输和存储的系统和方法与流程

文档序号:21406674发布日期:2020-07-07 14:40阅读:328来源:国知局
用于数据传输和存储的系统和方法与流程

本申请涉及信息技术,更具体地,涉及用于数据传输和存储的系统和方法。



背景技术:

数据传输和存储技术广泛用于各个领域。例如,在用于测试自动行驶的系统中,自主车辆(例如,无人行驶机器人)可以每天生成大量数据(例如,包文件(bagfiles))。因此,至关重要的是,存储和传输此类数据不仅是出于安全目的,而且研究人员可以及时有效地访问和分析数据。此外,最好在过程中节省资源。在一些情况下,数据传输和存储系统可以收集由自动行驶测试生成的数据并将其上载到数据库(例如,hadoop分布式文件系统(hdfs))和/或数据管理系统。用户(例如,工程师)可以从数据库或数据管理系统检索和/或下载数据以进行进一步分析。对自动行驶的深入探索依赖于数据的快速传输和安全存储。因此,需要提供安全有效地传输和存储数据并且不浪费资源的方法和系统。



技术实现要素:

本申请实施例之一提供一种用于数据传输和存储的方法,所述方法可以包括:加密终端设备生成的数据;将所述加密数据的复本分别存储在第一存储设备和第二存储设备中,所述第一存储设备和所述第二存储设备可拆卸地接入所述终端设备;由所述终端设备生成与所述加密数据相关的验证码;将所述验证码发送到第一服务器;将所述第一存储设备物理地运输到所述第一服务器的物理位置;以及在所述第一存储设备被接入所述第一服务器时,使用所述验证码确定所述第一存储设备中存储的所述加密数据是否被损坏;以及在所述第一存储设备中存储的所述加密数据未被损坏的情况下,将所述加密数据从所述第一存储设备传输至所述第一服务器。

本申请实施例之一提供一种用于数据传输和存储的方法,所述方法可以包括:将终端设备生成的数据的复本分别存储在第一存储设备和第二存储设备中,第一存储设备和所述第二存储设备可拆卸地接入所述终端设备;将所述第一存储设备物理地运输到第一服务器的物理位置,以及在所述第一存储设备被接入所述第一服务器时,解密所述第一存储设备;确定所述第一存储设备中存储的所述数据是否被损坏;以及在确定所述第一存储设备中存储的所述数据未被损坏的情况下,将所述数据从所述第一存储设备传输到所述第一服务器。

本申请实施例之一提供一种用于数据传输和存储的系统,所述系统可以包括:第一服务器和终端设备。其中,所述终端设备包括至少一个设备处理器,所述设备处理器包括:加密模块,用于加密所述终端设备生成的数据;存储模块,将所述加密数据的复本分别存储在第一存储设备和第二存储设备中,所述第一存储设备和所述第二存储设备可拆卸地接入所述终端设备;生成模块,用于生成与所述加密数据相关的验证码;和传输模块,将所述验证码发送至所述第一服务器。所述第一服务器包括至少一个第一服务器处理器,所述第一服务器处理器包括:验证模块,使用所述验证码确定所述第一存储设备中存储的所述加密数据是否被损坏,其中,所述第一存储设备被物理地运输到所述第一服务器的物理位置并接入所述第一服务器;以及传输模块,在确定所述第一存储设备中存储的所述加密数据未被损坏的情况下,将所述加密数据从所述第一存储设备传输至所述第一服务器。

本申请实施例之一提供一种用于数据传输和存储的系统,所述系统可以包括:第一服务器和终端设备。其中,所述终端设备包括至少一个设备处理器,所述设备处理器包括:存储模块,将终端设备生成的数据分别存储在第一存储设备和第二存储设备中,所述第一存储设备和所述第二存储设备可拆卸地接入所述终端设备。所述第一服务器包括至少一个第一服务器处理器,所述第一服务器处理器包括:解密模块,用于解密所述第一存储设备;验证模块,用于确定所述第一存储设备中存储的所述数据是否被损坏,其中,所述第一存储设备被物理地运输到第一服务器的物理位置并接入所述第一服务器;以及传输模块,在确定所述第一存储设备中存储的所述数据未被损坏的情况下,将所述数据从所述第一存储设备传输到所述第一服务器。

本申请实施例之一提供一种用于数据传输和存储的装置,包括至少一个存储介质以及至少一个处理器,所述至少一个存储介质用于存储计算机指令,所述至少一个处理器用于执行所述计算机指令以实现数据传输和存储的方法。

本申请实施例之一提供一种计算机可读存储介质,所述存储介质存储有计算机指令,当所述计算机指令被处理器执行时,实现数据传输和存储的方法。

在一些实施例中,所述用于数据传输和存储的方法还包括:在确定存储在所述第一存储设备中的所述加密数据是否被损坏之前,解密所述第一存储设备。

在一些实施例中,所述用于数据传输和存储的方法还包括初始化所述第一存储设备和所述第二存储设备。其中,所述初始化包括:加密所述第一存储设备和所述第二存储设备;将所述第一存储设备和所述第二存储设备配置为独立磁盘冗余阵列raid的存储方式;以及生成两个标识标签,分别与所述第一存储设备和所述第二存储设备的序列号相关联。

在一些实施例中,所述用于数据传输和存储的方法还包括:生成与所述加密数据相关联的一个或以上元文件。

在一些实施例中,所述用于数据传输和存储的方法还包括:自动生成第一运输服务请求,用于将所述第一存储设备运输到所述第一服务器的物理位置。

在一些实施例中,所述用于数据传输和存储的方法还包括:自动生成第二运输服务请求,用于将所述第一存储设备从所述第一服务器的物理位置运输到所述终端设备的位置,其中,生成所述第二运输服务请求由所述加密数据完全传输到所述第一服务器来触发。

在一些实施例中,所述用于数据传输和存储的方法还包括:发送消息以通知操作员从所述第一服务器中移除所述第一存储设备。

在一些实施例中,所述用于数据传输和存储的方法还包括:在所述加密数据从所述第一存储设备完全传输到所述第一服务器后,用第二服务器重置所述第一存储设备和所述第二存储设备。

在一些实施例中,所述用于数据传输和存储的方法还包括:在所述加密数据从所述第一存储设备完全传输到所述第一服务器之后,基于所述验证码验证所述加密数据是否无缺陷传输。

在一些实施例中,所述验证码包括消息摘要md5代码。

在一些实施例中,所述终端设备是无人机器人。

在一些实施例中,所述用于数据传输和存储的方法还包括:初始化所述第一存储设备和所述第二存储设备。其中,所述初始化包括:加密所述第一存储设备和所述第二存储设备;将所述第一存储设备和所述第二存储设备配置为独立磁盘冗余阵列raid的存储方式;以及生成两个标识标签,分别与所述第一存储设备和所述第二存储设备的序列号相关联。

在一些实施例中,所述用于数据传输和存储的方法还包括:自动生成第一运输服务请求,用于将所述第一存储设备运输到所述第一服务器的物理位置。

在一些实施例中,所述用于数据传输和存储的方法还包括:自动生成第二运输服务请求,用于将所述第一存储设备从所述第一服务器的物理位置运输到所述终端设备的位置。

在一些实施例中,所述生成所述第二运输服务请求由所述数据完全传输到所述第一服务器来触发。

一部分的附加特征将在如下描述中详细解释,基于对如下内容和附图的审查或通过实现或操作实施例的学习,一部分的附加特征对本领域技术人员来说是显而易见的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。

附图说明

本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的符号表示相同的部件,其中:

图1是根据本申请的一些实施例所示的示例性数据传输和存储系统的示意图;

图2是根据本申请的一些实施例所示的示例性计算设备的示例性硬件和/或软件组件的示意图;

图3是根据本申请的一些实施例所示的示例性处理设备的框图;

图4是根据本申请的一些实施例所示的示例性处理设备的框图;

图5是根据本申请的一些实施例所示的示例性终端设备的框图;

图6是根据本申请的一些实施例所示的用于将终端设备生成的数据从第一存储设备发送到服务器(或其存储设备)的示例性过程的流程图;

图7是根据本申请的一些实施例所示的用于将终端设备生成的数据从第一存储设备发送到服务器(或其存储设备)的示例性过程的流程图;

图8是根据本申请的一些实施例所示的用于将验证码发送到第一服务器和/或第二服务器的示例性过程的流程图;

图9是根据本申请的一些实施例所示的用于将终端设备生成的数据从第一存储设备发送到服务器(或其存储设备)的示例性过程的流程图;以及

图10是根据本申请的一些实施例所示的用于将终端设备生成的数据从第一存储设备发送到服务器(或其存储设备)的示例性过程的流程图。

具体实施方式

为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。然而,本领域技术人员应该明白,可以在没有这些细节的情况下实施本申请。在其他情况下,为了避免不必要地模糊本申请的一些方面,本申请已经以相对高级别概略地描述了公知的方法、程序、系统、组件和/或电路。对于本领域的普通技术人员来讲,显然可以对所披露的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请不限于所示的实施例,而是符合与权利要求一致的最广泛范围。

本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如本申请使用的单数形式“一”、“一个”及“所述”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解的是,如在本申请说明书中,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。

根据以下对附图的描述,本申请的这些和其他的特征、特点以及相关结构元件的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。

本申请中使用了流程图用来说明根据本申请的一些实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或者同时处理这些步骤。同时,也可以将一个或以上其他操作添加到这些流程图中。一个或以上其他操作也可以从流程图中删除。

此外,尽管本申请中公开的系统和方法主要涉及陆地中的运输系统,但应该理解,这仅是一个示例性实施例。本申请的系统和方法可以应用于任何其他类型的运输系统。例如,本申请的系统和方法可以应用于不同环境的运输系统,包括海洋、航空航天等,或其任何组合。运输系统的车辆可包括汽车、公共汽车、火车、地铁、船只、飞机、宇宙飞船、热气球等,或其任何组合。

本申请中使用的定位技术可以包括全球定位系统(gps)、全球卫星导航系统(glonass)、北斗导航系统(compass)、伽利略定位系统、准天顶卫星系统(qzss)、无线保真(的wi-网络连接)定位技术等或其任意组合。上述定位技术中的一种或以上可以在本申请中互换使用。

本申请的一个方面涉及用于数据传输和存储的系统和方法。根据本申请的一些系统和方法,终端设备(例如,无人机器人)可以加密由终端设备生成的数据;将加密数据的复本分别存储在第一存储设备和第二存储设备中,它们可拆卸地(或可移除地)接入(例如,插入)终端设备;生成与加密数据相关的验证码(或称“校验码”);并将验证码发送到第一服务器。此外,根据本申请的一些系统和方法,第一服务器可以使用验证码确定存储在第一存储设备中的加密数据是否被损坏,其中,第一存储设备被物理地运输到第一服务器的物理位置并接入(例如,插入)第一服务器;并且当确定存储在第一存储设备中的加密数据没有被损坏时,将加密数据从第一存储设备传输到第一服务器。根据本申请的系统和方法,终端设备生成的数据可以快速安全地传输到第一服务器,这可以提高数据传输和存储的效率和安全性。

图1是根据本申请的一些实施例所示的示例性数据传输和存储系统的示意图。在一些实施例中,数据传输和存储系统100可以包括第一服务器110、网络120、第二服务器130、终端设备140和存储设备150。数据传输和存储系统100中的组件可以以一种或以上的不同方式连接。仅作为示例,第一服务器110和/或第二服务器130可以通过网络120连接到终端设备140的至少一部分。又如,第一服务器110和/或第二服务器130可以直接连接到终端设备140的至少一部分,如虚线中的双向箭头所连接的第一服务器110(或者第二服务器130)和终端设备140。作为又一示例,存储设备150可以直接或通过网络120连接到第一服务器110。

作为又一示例,第一服务器110可以直接连接到第二服务器130(如虚线中的双向箭头所连接的第一服务器110和第二服务器130)或通过网络120。在一些实施例中,第一服务器110可以是单个服务器或服务器组。服务器组可以是集中的或分布式的(例如,第一服务器110可以是分布式系统)。在一些实施例中,第一服务器110可以是本地的或远程的。例如,第一服务器110可以经由网络120访问存储在第二服务器130、终端设备140和/或存储设备150中的信息和/或数据。又例如,第一服务器110可以直接连接到第二服务器130、终端设备140和/或存储设备150以访问存储信息和/或数据。在一些实施例中,第一服务器110可以在云平台或车载计算机上实现。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,第一服务器110可以在计算设备200上实现,该计算设备200包括本申请中的图2中所示的一个或以上组件。

在一些实施例中,第一服务器110可包括至少一个处理设备112。处理设备112(也称为第一服务器处理器)可以处理由终端设备140生成的信息和/或数据,以执行本申请中描述的一个或多个功能。例如,处理设备112可以在第一存储设备被接入第一服务器110时解密第一存储设备。又例如,处理设备112可以使用验证码,确定存储在第一存储设备中的加密数据是否被损坏。作为又一示例,当确定存储在第一存储设备中的加密数据被损坏时,处理设备112生成运输服务请求,用于将第一存储设备从第一服务器110的位置运输到第二服务器130的位置或终端设备140的位置。作为又一示例,处理设备112可以在确定存储在第一存储设备中的加密数据未被损坏时,将加密数据从第一存储设备传输到第一服务器110。作为又一示例,处理设备112可以基于验证码,验证加密数据是否无缺陷传输。作为又一示例,处理设备112可以生成与加密数据相关联的一个或以上元文件。作为又一示例,处理设备112可以发送消息以通知操作员从第一服务器110移除第一存储设备。在一些实施例中,所述处理引擎112可包括一个或以上处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。仅作为范例,处理设备112可以包括中央处理单元(cpu)、特定应用集成电路(asic)、特定应用一组指令处理器(asip)、图形处理单元(gpu)、物理处理单元(ppu)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑装置(pld)、控制器、微控制器单元、精简指令集计算机(risc)、微处理器等或其任意组合。

在一些实施例中,第一服务器110可以是在因特网数据中心(idc)中设置的服务器。如这里所使用的,数据中心可以指为家用计算机系统和相关组件配置的专用空间,例如,电信设备和存储设备(例如,存储设备150)。idc可以指由服务提供者或idc公司建立的数据中心,以提供稳定的和宽带的网络服务,高性能计算服务和/或主机服务。在一些实施例中,第一服务器110可以控制或管理idc中的计算设备和/或存储设备的操作。

在一些实施例中,第一服务器110可以连接到网络120,以与数据传输和存储系统100的一个或以上组件(例如,第二服务器130、终端设备140、存储设备150)通信。在一些实施例中,第一服务器110可以直接连接到数据传输和存储系统100的一个或以上组件(例如,第二服务器130、终端设备140、存储设备150)或与之通信。

网络120可以促进信息和/或数据的交换。在一些实施例中,数据传输和存储系统100的一个或以上组件(例如,第一服务器110、第二服务器130、终端设备140或存储设备150)可以发送信息和/或数据到经由网络120的数据传输和存储系统100的其他组件。例如,终端设备140可以经由网络120,将验证码发送到第一服务器110和/或第二服务器130。又例如,处理设备112可以通过网络120,接收由终端设备140生成的验证码。作为又一示例,终端设备140或第二服务器130的处理设备132可以经由网络120,将加密数据从第一存储设备传输到第一服务器110。作为又一示例,处理设备112可以发送消息以通知操作员经由网络120从第一服务器110移除第一存储设备。在一些实施例中,网络120可以为任意形式的有线或无线网络,或其任意组合。仅作为示例,网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(lan)、广域网络(wan)、无线局域网络(wlan)、城域网(man)、公共交换电话网络(pstn)、蓝牙网络、紫蜂网络、近场通讯(nfc)网络等,或其任意组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括有线或无线网络接入点,通过该接入点,数据传输和存储系统100的一个或多个组件可以连接到网络120以交换数据和/或信息。

在一些实施例中,第二服务器130可以是单个服务器或服务器组。服务器组可以是集中的或分布式的(例如,第二服务器130可以是分布式系统)。在一些实施例中,第二服务器130可以是本地的或远程的。例如,第二服务器130可以经由网络120访问存储在第一服务器110、终端设备140和/或存储设备150中的信息和/或数据。又例如,第二服务器130可以直接连接到第一服务器110、终端设备140和/或存储设备150,以访问存储信息和/或数据。在一些实施例中,第二服务器130可以在云平台或车载计算机上实现。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,第二服务器130可以在计算设备200上实现,该计算设备200包括本申请中的图2中所示的一个或以上组件。

在一些实施例中,第二服务器130可包括至少一个处理设备132。处理设备132(也称为第二服务器处理器)可以处理由终端设备140生成的信息和/或数据,以执行本申请中描述的一个或以上功能。例如,处理设备132可以初始化第一存储设备和第二存储设备。又例如,处理设备132可以加密第一存储设备和/或第二存储设备。又例如,处理设备132可以在第一存储设备接入第二服务器130时解密第一存储设备。作为另一示例,处理设备132可以使用验证码,确定存储在第一存储设备中的加密数据是否被损坏。作为又一个例子,当确定存储在第一存储设备中的加密数据被损坏时,处理设备132可以基于第二存储设备恢复第一存储设备中的加密数据。作为又一个例子,处理设备132可以在确定存储在第一存储设备中的加密数据没有被损坏时,将加密数据从第一存储设备传输到第一服务器110。作为又一示例,处理设备132可以基于验证码验证加密数据是否无缺陷传输。作为又一示例,处理设备132可以生成与加密数据相关联的一个或以上元文件。作为又一示例,处理设备132可以重置第一存储设备和第二存储设备。在一些实施例中,处理设备132可以包括一个或以上处理引擎(例如,单核处理引擎或多核处理器)。仅作为示例,处理设备132可以包括中央处理单元(cpu)、特定应用集成电路(asic)、特定应用一组指令处理器(asip)、图形处理单元(gpu)、物理处理单元(ppu)、数字信号处理器(dsp)、现场可程序门阵列(fpga)、可程序逻辑设备(pld)、控制器、微控制器单元、精简指令集计算机(risc)、微处理器等,或其任意组合。

在一些实施例中,第二服务器130可以连接到网络120,以与数据传输和存储系统100的一个或以上组件(例如,第一服务器110、终端设备140、存储设备150)通信。在一些实施例中,第二服务器130可以直接连接到数据传输和存储系统100的一个或以上组件(例如,第一服务器110、终端设备140、存储设备150)或与之通信。

在一些实施例中,第二服务器130可以位于相对远离第一服务器130的位置,并且相对靠近终端设备140。如这里所使用的,“远离”可以指第二服务器130的位置与第一服务器110的位置之间的距离大于第一距离阈值。例如,第一距离阈值可以是500千米、1000千米、1500千米、2000千米或任何其他合适的值。如这里所使用的,“接近”可以指第二服务器130的位置与终端设备140的位置之间的距离小于第二距离阈值。例如,第二距离阈值可以是10千米,100千米,200千米或任何其他合适的值。在一些实施例中,第二服务器130可以设置在终端设备140的测试站处。

终端设备140可包括汽车141、公共汽车142、卡车143、火车144、直升机145、飞机146、船舶147等,或其任何组合。在一些实施例中,终端设备140可包括自主车辆(例如,无人机器人)。自主车辆能够在无人操纵的情况下感测环境信息和导航。终端设备140(例如,无人机器人)可包括传统车辆的结构,例如,底盘、悬架、转向装置(例如,方向盘)、制动装置(例如,制动踏板)和加速器。

在一些实施例中,终端设备140(例如,无人机器人)还可以包括至少两个检测单元,用于检测与终端设备140相关联的行驶信息。至少两个检测单元可包括相机、全球定位系统(gps)模块、加速度传感器(例如,压电传感器)、速度传感器(例如,霍尔传感器)、距离传感器(例如,雷达、lidar、红外传感器)、转向角传感器(例如,倾斜传感器)、牵引相关传感器(例如,力传感器)等。在一些实施例中,与终端设备140相关联的行驶信息可包括道路状况信息(例如,道路宽度、道路长度、道路类型、交通标志、交通车道信息、交通信号灯信息)、地图信息、终端设备140的状态,例如,终端设备140的位置、终端设备140的速度(例如,瞬时速度,预定时间段内的平均速度)、加速度(例如,瞬时)终端设备140的加速度、预定时间段内的平均加速度、终端设备140的驱动路径等,或其任何组合。

在一些实施例中,终端设备140还可以包括集成在终端设备140中的至少一个本地服务器(也称为设备处理器)。例如,本地服务器可以是安装在终端设备140中的计算设备(例如,机载计算机)。在一些实施例中,终端设备140可以生成与行驶信息相关联的数据,和/或与终端设备140的性能或操作相关联的数据。在一些实施例中,终端设备140(即,终端设备140的本地服务器)可以处理所生成的数据以执行本申请中描述的一个或以上功能。例如,终端设备140可以加密所生成的数据。又例如,在第一存储设备和第二存储设备接入终端设备140后,终端设备140可以解密第一存储设备和第二存储设备。作为又一示例,终端设备140可以分别在第一存储设备和第二存储设备中存储加密数据的复本。作为又一示例,终端设备140可以生成与加密数据相关联的验证码。

存储设备150可以存储数据和/或指令。在一些实施例中,存储设备150可以存储从终端设备140获取得数据,例如,从多个检测单元获取的与终端设备140相关联的行驶信息、终端设备140的性能或操作信息。在一些实施例中,存储设备150可以存储第一服务器110和/或第二服务器130可以执行或使用的数据和/或指令,以执行本申请中描述的示例性方法。在一些实施例中,存储设备150可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(rom)等,或其任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性易失性读写内存可以包括随机存取内存(ram)。示例性ram可包括动态随机存取存储器(dram)、双倍数据速率同步动态随机存取存储器(ddrsdram)、静态随机存取存储器(sram)、晶闸管随机存取存储器(t-ram)和零电容随机存取存储器(z-ram)等。示例性只读存储器可以包括掩模型只读存储器(mrom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、光盘只读存储器(cd-rom)和数字多功能磁盘只读存储器等。在一些实施例中,所述存储设备150可以在云平台上实现。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。

在一些实施例中,存储设备150可以连接到网络120,与数据传输和存储系统100的一个或以上组件(例如,第一服务器110、第二服务器130、终端设备140)通信。数据传输和存储系统100的一个或以上组件可以经由网络120访问存储设备150中存储的数据或指令。在一些实施例中,存储设备150可以直接连接到数据传输和存储系统100的一个或以上组件(例如,第一服务器110、第二服务器130和终端设备140)或与之通信。在一些实施例中,存储设备150的至少一部分可以是第一服务器110的一部分。在一些实施例中,存储设备150的至少一部分可以集成在终端设备140中。在一些实施例中,可以在idc中设置存储设备150。仅用于说明,在数据传输和存储系统100中仅示出了一个存储设备。然而,应该注意,本申请中的数据传输和存储系统100还可以包括多个存储设备。

应当注意数据传输和存储系统100仅仅是为了说明的目的而提供的,并不意图限制本申请的范围。对于本领域普通技术人员而言,在本申请内容的指导下,可作出多种变化和修改。然而,这些变化和修改不会背离本申请的范围。例如,数据传输和存储系统100还可以包括数据库(例如,hadoop分布式文件系统(hdfs))、信息源等。数据库可以被用于组织存储设备150或idc中存储的数据,并且便于存储和检索数据。又例如,数据传输和存储系统100可以在其他设备上实现,以实现类似或不同的功能。作为又一个示例,可以从数据传输和存储系统100中省略存储设备150。

在一些实施例中,数据传输和存储系统100还可以包括(或与之通信)数据管理系统。在一些实施例中,数据管理系统可以被用于管理由终端设备140生成和/或存储在存储设备150或idc中的数据。在一些实施例中,数据管理系统可以为一个或以上的用户提供数据访问接口,使得用户可以经由数据管理系统检索或下载感兴趣的数据以进一步使用数据。例如,数据传输和存储系统100的操作员(例如,工程师)可以登录数据管理系统,筛选、检索和/或下载存储在数据转移和存储系统100中的一个或以上存储设备中的数据和/或信息。可以在本申请的其他地方找到对数据管理系统的更多描述。

图2是根据本申请的一些实施例所示的示例性计算设备的示例性硬件和/或软件组件的示意图。在一些实施例中,第一服务器110和/或第二服务器130可以在计算设备200上实现。例如,处理设备112和/或处理设备132可以在计算设备200上实现,并且被用于执行本申请中公开的处理设备112和/或处理设备132的功能。

计算设备200可用于实现本申请的数据传输和存储系统100的任何组件。例如,数据传输和存储系统100的处理设备112和/或处理设备132可以通过其硬件、软件程序、固件或其组合在计算设备200上实现。尽管为了方便仅示出了一个这样的计算机,但是如本文所述的与数据传输和存储系统100相关的计算机功能可以在多个类似平台上以分布式方式实现,以分配处理负载。

例如,计算设备200可以包括连接到与其连接的网络(例如,网络120)的通信(comm)端口250,以促进数据通信。计算设备200还可以包括处理器(例如,处理器220),其形式为一个或以上处理器(例如,逻辑电路),用于执行程序指令。例如,处理器可以包括接口电路和其中的处理电路。接口电路可以被用于从总线210接收电信号,其中,电信号编码用于处理电路的结构化数据和/或指令。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码确定为电信号。然后,接口电路可以经由总线210从处理电路发出电信号。

计算设备200还可以包括不同形式的程序存储和数据存储,例如,磁盘270、以及只读存储器(rom)230、或随机存取存储器(ram)240,用于存储各种数据文件,由计算设备200处理和/或传输。计算设备200还可以包括存储在rom230、ram240和/或由处理器220执行的其他类型的非暂时性存储介质中的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备200还可以包括i/o组件260,其支持计算设备200与其中的其他组件之间的输入/输出。计算设备200也可以通过网络通信接收编程和数据。

仅仅为了说明,在计算设备200中仅描述了一个处理器。然而,应该注意的是,本申请中的计算设备200还可以包括多个处理器,因此由本申请中描述的一个处理器执行的操作也可以由多个处理器联合或单独执行。例如,计算设备200的处理器执行操作a和操作b。如在另一示例中,操作a和操作b也可以由计算设备200中的两个不同的处理器联合或单独地执行(例如,第一处理器执行操作a并且第二处理器执行操作b,或者第一和第二处理器联合执行操作a和b)。

图3是根据本申请的一些实施例所示的示例性处理设备的框图。第一服务器110的处理设备112可以包括获取模块310、解密模块320、验证模块330、生成模块340、传输模块350和存储模块360。

获取模块310可以被用于获取与数据传输和存储系统100相关联的数据和/或信息。例如,获取模块310可以接收由终端设备140生成的验证码(例如,消息摘要5(md5)代码)。在一些实施例中,获取模块310可以经由网络120接收由终端设备140生成的验证码。

解密模块320可以被用于解密数据传输和存储系统100的一个或多个组件,和/或与数据传输和存储系统100相关联的数据和/或信息。例如,解密模块320可以解密第一存储设备和/或第二存储设备。又例如,解密模块320可以解密存储在第一存储设备和/或第二存储设备中的数据。

验证模块330可以被用于验证与数据传输和存储系统100相关联的信息。例如,在第一存储设备被传送到第一服务器110的位置之后,在第一存储设备被接入第一服务器110时,验证模块330可以使用验证码来确定存储在第一存储设备中的(加密的)数据是否被损坏。又例如,在将(加密的)数据从第一存储设备发送到第一服务器110之后,验证模块330可以基于验证码验证加密数据是否无缺陷传输。

生成模块340可以用于生成与数据传输和存储系统100相关联的信息。例如,生成模块340可以生成用于将第一存储设备从第一位置(例如,第一服务器110的位置)运输到第二位置(例如,第二服务器130的位置、终端设备140的位置)的运输服务请求。又例如,生成模块340可以生成与(加密)数据相关联的一个或以上元文件。作为又一示例,生成模块340可以生成消息以通知操作员从第一服务器110移除第一存储设备。作为又一示例,生成模块340可以生成消息以通知操作员将第一存储设备接入第一服务器110。

传输模块350可以用于传输与数据传输和存储系统100相关联的数据和/或信息。例如,传输模块350可以向快递公司传输运输服务请求。又例如,传输模块350可以在确定存储在第一存储设备中的(加密)数据未被损坏时,将第一存储设备中的(加密的)数据传输到第一服务器110。作为又一示例,传输模块350可以发送消息以通知操作员从第一服务器110移除第一存储设备。作为又一示例,传输模块350可以发送消息以通知操作员将第一存储设备接入第一服务器110。

存储模块360可以用于存储与数据传输和存储系统100相关联的数据和/或信息。例如,存储模块360可以将(加密的)数据存储在hadoop分布式文件系统(hdfs)中。又例如,存储模块360可以将(加密的)数据存储在第一服务器110的存储设备中。

处理设备112中的模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(lan)、广域网络(wan)、蓝牙、紫蜂网络、近场通讯(nfc)等,或其任意组合。两个或以上模块可以被组合为单个模块,且所述模块中的任一可以被分成两个或以上单元。例如,处理设备112还可以包括初始化模块(未示出),该初始化模块被用于初始化第一存储设备和第二存储设备。

图4是根据本申请的一些实施例所示的示例性处理设备的框图。第二服务器130的处理设备132可以包括获取模块410、初始化模块420、加密模块430、解密模块440、验证模块450、生成模块460、传输模块470、恢复模块480以及重置模块490。

获取模块410可以用于获取与数据传输和存储系统100相关联的数据和/或信息。例如,获取模块410可以接收由终端设备140生成的验证码(例如,消息摘要5(md5)代码)。在一些实施例中,获取模块410可以经由网络120接收由终端设备140生成的验证码。

初始化模块420可以用于初始化一个或者以上存储设备(例如,第一存储设备和/或第二存储设备)。在一些实施例中,初始化模块420可以将第一存储设备和第二存储设备配置为独立磁盘冗余阵列(raid)的存储方式。例如,初始化模块420可以将第一存储设备和第二存储设备配置为raid-1存储方式。在一些实施例中,初始化模块420可以生成分别与第一存储设备和第二存储设备的序列号相关联的两个标识标签。

加密模块430可以用于加密一个或以上存储设备(例如,第一存储设备和/或第二存储设备)。例如,加密模块430可以基于密码设置工具对第一存储设备和/或第二存储设备进行加密。关于第一存储设备和第二存储设备的加密的更多描述可以在本申请的其他地方找到(例如,图7及其描述)。

解密模块440可以用于解密数据传输和存储系统100的一个或多个组件,和/或与数据传输和存储系统100相关联的数据和/或信息。例如,解密模块440可以解密第一存储设备和/或第二存储设备。又例如,解密模块440可以解密存储在第一存储设备和/或第二存储设备中的数据。

验证模块450可以用于验证与数据传输和存储系统100相关联的信息。例如,在将第一存储设备传送到第二服务器130的位置之后,在将第一存储设备接入第二服务器130时,验证模块450可以使用验证码,确定存储在第一存储设备中的(加密的)数据是否被损坏。又例如,在将(加密的)数据从第一存储设备传输到第一服务器110之后,验证模块450可以基于验证码验证加密数据是否无缺陷传输。

生成模块460可以用于生成与数据传输和存储系统100相关联的信息。例如,生成模块460可以生成与(加密的)数据相关联的一个或以上元文件。

传输模块470可以用于传输与数据传输和存储系统100相关联的数据和/或信息。例如,传输模块350可以在确定存储在第一存储设备中的(加密的)数据没有被损坏的情况下,从第一存储设备向第一服务器110传输(加密的)数据。

恢复模块480可以用于为第一存储设备恢复(加密)数据。在一些实施例中,恢复模块480可以基于第二存储设备中的数据来恢复第一存储设备中的(加密的)数据。在一些实施例中,恢复模块480可以用于恢复或修复第一存储设备和/或第二存储设备。关于恢复第一存储设备中加密数据的更多描述可以在本申请的其他地方找到(例如,图10及其描述)。

重置模块490可以重置一个或以上存储设备(例如,第一存储设备和/或第二存储设备)。在一些实施例中,重置模块490可以基于由操作员(例如,工程师)编写的脚本程序来重置第一存储设备和/或第二存储设备。关于第一存储设备和/或第二存储设备的重置的更多描述可以在本申请的其他地方找到(例如,图10及其描述)。

处理设备132中的模块可以通过有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等,或其任意组合。无线连接可以包括局域网络(lan)、广域网络(wan)、蓝牙、紫蜂网络、近场通讯(nfc)等,或其任意组合。两个或以上模块可以被组合为单个模块,且所述模块中的任一个可以被分成两个或以上单元。例如,初始化模块420和加密模块430可以组合为单个模块,其可以初始化和加密第一存储设备和/或第二存储设备。又例如,可以省略验证模块450,生成模块460和/或传输模块470。作为又一示例,可以省略初始化模块420。第一存储设备和第二存储设备可以由第一服务器110和/或终端设备140初始化。作为又一示例,处理设备132还可包括用于存储由终端设备140生成的信息和/或数据的存储模块(未示出)。

图5是根据本申请的一些实施例所示的示例性终端设备的框图。终端设备140可以包括解密模块510、加密模块520、生成模块530、传输模块540和存储模块550。

解密模块510可以用于解密一个或以上存储设备(例如,第一存储设备和/或第二存储设备)。在一些实施例中,解密模块510可以通过使用密钥来解密第一存储设备和/或第二存储设备。关于第一存储设备和/或第二存储设备的解密的更多描述可以在本申请的其他地方找到(例如,图8及其描述)。

加密模块520可以用于加密与数据传输和存储系统100相关联的数据/信息。例如,加密模块520可以加密由终端设备140生成的数据。在一些实施例中,加密模块520可以基于一个或以上加密算法来加密由终端设备140生成的数据。

生成模块530可以用于生成与数据传输和存储系统100相关联的数据和/或信息。例如,生成模块530可以生成与终端设备140相关联的数据。又例如,生成模块530可以生成与(加密)数据相关联的验证码。

传输模块540可以用于传输与数据传输和存储系统100相关联的数据和/或信息。例如,传输模块540可以将验证码发送到第一服务器110和/或第二服务器130。

存储模块550可以用于存储与数据传输和存储系统100相关联的数据和/或信息。例如,存储模块550可以将加密数据的复本分别存储在可移除地接入终端设备140中的第一存储设备和第二存储设备中。

终端设备140中的模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(lan)、广域网络(wan)、蓝牙、紫蜂网络、近场通讯(nfc)等,或其任意组合。两个或以上模块可以被组合为单个模块,且所述模块中的任一个可以被分成两个或以上单元。例如,终端设备140还可以包括用于初始化第一存储设备和第二存储设备的初始化模块(未示出)。

图6是根据本申请的一些实施例所示的用于将终端设备生成的数据从第一存储设备发送到服务器(或其存储设备)的示例性过程的流程图。过程600可以由数据传输和存储系统100执行。例如,过程600可以实现为存储在存储rom230或ram240中的一组指令。处理器220和/或图3-5中的模块可以执行一组指令,并且当执行指令时,处理器220和/或模块可以用于执行过程600。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程600在实现时可以添加一个或以上未描述的额外操作,和/或删减一个或以上此处所描述的操作。另外,图6中示出并在下面描述的过程600的操作的顺序不意味着限制性的。

在601中,终端设备140(例如,加密模块520)可以加密由终端设备生成的数据。

在一些实施例中,终端设备(例如,终端设备140)可以是无人机器人(例如,自动行驶汽车)。由终端设备生成的数据可以包括与终端设备相关联的行驶信息。在一些实施例中,与终端设备相关联的行驶信息可包括道路状况信息(例如,道路宽度、道路长度、道路类型、交通标志、交通车道信息、交通信号灯信息)、地图信息、行驶中的终端设备的状态(例如,终端设备的操作信息、表现信息)、终端设备的位置、终端设备的速度(例如,瞬时速度、预定时间段内的平均速度)、加速度(例如,终端设备的瞬时加速度、预定时间段内的平均加速度)、终端设备的行驶路径等,或其任何组合。

在一些实施例中,终端设备生成的数据可以是包文件(或“包”)的格式。如这里所使用的,包可以指机器人操作系统(ros)中用于存储ros消息数据的文件格式。ros可以指机器人中间件(即,用于机器人软件开发的软件框架的集合)。在一些实施例中,可以通过在终端设备140上实现的包工具(例如,rosbag)来创建一个或以上的包。

如这里所使用的,“数据加密”可以指将数据(也称为“明文”)转换成编码格式(也称为“密文”)的过程,该编码格式只能在解密后才能被读取或处理。在一些实施例中,终端设备140可以基于一个或以上加密算法来加密由终端设备140生成的数据。示例性加密算法可以包括数据加密标准(des)算法、公钥加密算法、河豚算法、双鱼算法、高级加密标准算法等。

在602中,终端设备140(例如,存储模块550)可以将加密数据的复本分别存储在第一存储设备和第二存储设备中。

第一存储设备和第二存储设备可以包括能够存储数据的任何存储介质。在一些实施例中,第一存储设备和/或第二存储设备可包括大容量存储器、可移除存储设备等,或其任何组合。示例性大容量存储器可以包括磁盘、光盘、硬盘驱动器、固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩磁盘、磁带等。

在一些实施例中,第一存储设备和第二存储设备可以安装(或接入)在终端设备140中。在一些实施例中,第一存储设备和第二存储设备可以是硬盘。在终端设备140的行驶期间,第一存储设备和/或第二存储设备的一个或以上组件可能由于碰撞和/或碰撞而被损坏。例如,如果硬盘驱动器被击中、掉落或振动,则硬盘驱动器的磁头可能会崩渍,这可能导致硬盘损坏。在一些实施例中,第一存储设备和第二存储设备可以是固态驱动器。固态驱动器的使用可以在终端设备行驶期间防止或减少存储设备的损坏。

在一些实施例中,终端设备140可以将加密数据的复本分别存储在第一存储设备和第二存储设备中。在一些实施例中,终端设备140可以通过分别在第一存储设备和第二存储设备中写入加密数据的复本,将加密数据的复本分别存储在第一存储设备和第二存储设备中。在一些实施例中,终端设备140可以同时或交替地或依次将加密数据的复本分别存储在第一存储设备和第二存储设备中。

在一些实施例中,可选地,终端设备140可以首先将由终端设备140生成的数据存储在第一存储设备和第二存储设备中,然后加密存储在第一存储设备和第二存储设备中的数据。

在603中,终端设备140(例如,生成模块530)可以生成与加密数据相关联的验证码。

如这里所使用的,验证码可以指用于认证消息(或数据)的短信息。在一些实施例中,验证码可以是消息的消息摘要(例如,加密数据)。验证码可以用于验证来自发送者(即,消息的真实性)并且没有被改变(即,消息的完整性)的消息(例如,加密数据)。也就是说,验证码可以保证加密数据的完整性和真实性。在一些实施例中,验证码可以包括消息摘要5(md5)代码。如这里所使用的,md5代码可以是与基于散列函数生成的加密数据相关联的128位散列值。

在604中,终端设备140(例如,传输模块540)可以将验证码发送到第一服务器(例如,第一服务器110)。在一些实施例中,终端设备140可以经由网络120将验证码发送到第一服务器(例如,第一服务器110)的处理设备(例如,处理设备112)。在一些实施例中,终端设备140还可以将验证码发送到第二服务器130。

在605中,可以将第一存储设备物理地运输到第一服务器(例如,第一服务器110)的物理位置。例如,第一存储设备可以通过陆地运输(例如,铁路运输、公路运输)、航空运输、海运等或其任何组合运输到第一服务器的物理位置。注意,在一些实施例中,存储在第一存储设备中的数据可以被传输到第一服务器而无需第一存储设备的物理运输。然而,在某些情况下,物理传输可以节省网络资源,并可能节省时间。

如这里所使用的,“远程”可以指终端设备140的位置与第一服务器的位置之间的距离大于距离阈值。例如,距离阈值可以是500千米、1000千米、1500千米、2000千米或任何其他合适的值。在一些实施例中,远程可以意味着请求运输服务是有效的和/或成本有效的,这可以由专业递送服务或通过为当前手头的任务设计的服务来提供。

在一些实施例中,终端设备140、处理设备112或处理设备132可以自动生成第一运输服务请求,用于将第一存储设备运输到第一服务器的物理位置。第一运输服务请求可以是对运输服务的请求。仅出于说明目的,运输服务可包括陆地运输(例如,铁路运输、公路运输)、航空运输、海运等,或其任何组合。在一些实施例中,第一运输服务请求可包括出发地点、目的地、开始时间、估计到达时间等。出发地点可以指代运输开始的位置(例如,终端设备140或第二服务器130的位置)。目的地可以指代运输结束的位置(例如,第一服务器的位置)。处理设备112可以将第一运输服务请求提交给快递公司。快递公司可以基于第一运输服务请求将第一存储设备从出发地点(例如,终端设备的位置)运输到目的地(例如,第一服务器的位置)。在一些实施例中,第一运输服务请求可以由运营商发起和/或提交。

在606中,处理设备112(例如,验证模块330)可以在将第一存储设备接入第一服务器(例如,第一服务器110)中时使用验证码,确定存储在第一存储设备中的加密数据是否被损坏。在一些实施例中,可以通过使用其他手段来确定第一存储设备中的数据是否被损坏,或者仅仅通过在排除其他可能性(例如,未解密)之后能否完全访问这些数据来确定。

在一些实施例中,在将第一存储设备运输到第一服务器的位置之后,数据传送和存储系统100的操作员可以将第一存储设备接入第一服务器。在一些实施例中,由于意外情况(例如,撞击、碰撞等),第一存储设备可能在605中所示的物理运输过程中被损坏,这可能导致第一存储设备的数据损坏。因此,在一些实施例中,在将加密数据从第一存储设备发送到第一服务器之前,处理设备112可以通过校验验证码来确定存储在第一存储设备中的加密数据是否被损坏。例如,在将第一存储设备接入第一服务器之后,处理设备112可以生成与存储在第一存储设备中的加密数据相关联的第二md5代码。处理设备112可以通过比较第二md5代码和与终端设备140生成的加密数据相关联的第一md5代码(如结合操作603(例如,从终端设备140接收的md5代码)所描述的),来确定存储在第一存储设备中的加密数据是否被损坏。在一些实施例中,处理设备112可以确定与处理设备112生成的加密数据相关联的第二md5代码是否与由终端设备140生成的与加密数据相关联的第一md5代码相同。在确定第二md5代码与第一md5代码相同情况下,处理设备112可以确定存储在第一存储设备中的加密数据未被损坏。在确定第二md5代码与第一md5代码不同情况下,处理设备112可以确定存储在第一存储设备中的加密数据被损坏。

在607中,在确定存储在第一存储设备中的加密数据没有损坏的情况下,处理设备112(例如,传输模块350)可以将加密数据从第一存储设备传输到第一服务器(例如,第一服务器110)。在一些实施例中,处理设备112可以经由连接第一存储设备和第一服务器的一条或以上数据线缆,将加密数据从第一存储设备直接传输到第一服务器。在一些实施例中,处理设备112可以经由网络120,将加密数据从第一存储设备发送到第一服务器。例如,处理设备112可以经由有线网络,将加密数据从第一存储设备发送到第一服务器。在一些实施例中,处理设备112(例如,存储模块360)可以将加密数据存储在一个或以上存储设备(例如,存储设备150)中。在一些实施例中,处理设备112可以在hadoop分布式文件系统(hdfs)中组织加密数据。如这里所使用的,hdfs可以指用java编写的用于hadoop框架的分布式,可扩展和可移植文件系统。

在一些实施例中,数据传输和存储系统100的操作员(例如,工程师)可以经由数据管理系统检索和/或下载存储在hdfs中的加密数据。例如,数据传输和存储系统110的操作员可以登录数据管理系统。登录操作员可以经由数据管理系统的(或与之相关联的)hdfs代理进一步检索和/或下载存储在hdfs中的加密数据。如这里所使用的,hdfs代理可以指代存储在数据管理系统中的协议。在一些实施例中,登录操作员可以发起下载存储在hdfs中的特定数据文件的请求,例如,在数据管理系统的接口上选择或确认一个或多个选项(例如,动作按钮、功能菜单等)。在一些实施例中,数据管理系统可以基于与特定数据文件相关联的一个或以上元文件来生成统一资源标识符(uri)(例如,统一资源定位符(url))。数据管理系统可以基于请求返回uri(例如,url)。如果登录操作员单击url,则数据管理系统可以调用hdfs代理。hdfs代理可以通过解析url来确定与特定数据文件相关联的信息(例如,文件类型、文件名、文件位置、文件大小等)。hdfs代理可以基于与特定数据文件相关联的信息,来检索hdfs中的特定数据文件。然后,hdfs代理可以将特定数据文件返回给登录操作员。在一些实施例中,hdfs代理的使用可以确保hdfs的数据安全性。如这里所使用的,uri可以指明确标识特定资源的字符串。如这里所使用的,url(也称为网址)可以指对指定其在计算机网络上的位置的网址资源的引用以及用于检索它的机制。url可以是特定类型的uri。

在一些实施例中,在登录操作员发起下载存储在hdfs中的特定数据文件的请求之后,数据管理系统可以加密与特定数据文件相关联的访问路径。如这里所使用的,访问路径可以指系统(例如,数据管理系统)在执行请求之后检索数据(例如,特定数据文件)所选择的路径。在一些实施例中,数据管理系统可以通过使用时间戳来加密访问路径。如这里所使用的,时间戳协议可以指使用例如x.509证书和公钥基础结构来验证时间戳的加密协议。例如,数据管理系统可以基于登录操作员发起请求的时间,来确定与url相关联的时间戳。hdfs代理可以基于登录操作员点击url的时间来验证与url相关联的时间戳。也就是说,url可能在时间戳到期之前有效。如果时间戳到期,即url无效,则可能拒绝该请求。如果时间戳未到期,即url有效,则hdfs代理可以检索hdfs中的特定数据文件,并将特定数据文件发送给登录操作员。

应当注意以上描述仅用于说明的目的,而不是旨在限制本申请的范围。对于本领域的普通技术人员来说,根据本申请的教导可以做出多种变化和修改。然而,变化和修改不会背离本申请的范围。在一些实施例中,可以在过程600中的其他地方添加一个或以上操作。例如,可以在操作607之后添加存储操作。在存储操作中,处理设备112(例如,存储模块360)可以将加密数据存储在第一服务器110(或与第一服务器110相关联)的存储设备中。又例如,可以在操作607之后,基于验证码,添加验证是否无缺陷地传输加密数据的操作。作为又一示例,可以在操作607之后,添加发送消息以通知操作员从第一服务器移除第一存储设备的操作。作为又一示例,可以在操作607之后,添加自动生成第二运输服务请求的操作,用于将第一存储设备从第一服务器的位置运输到终端设备或第二服务器130的位置。作为又一示例,可以在操作607之后添加用第二服务器(例如,第二服务器130)重置第一存储设备和第二存储设备的操作。作为又一示例,可以在操作601之前添加初始化第一存储设备和第二存储设备的操作。可选操作的更多描述可以在本申请的其他地方找到(例如,图7-10及其描述)。

图7是根据本申请的一些实施例所示的用于将终端设备生成的数据从第一存储设备发送到服务器(或其存储设备)的示例性过程的流程图。过程700可以由数据传输和存储系统100执行。例如,过程700可以实现为存储在存储rom230或ram240中的一组指令。处理器220和/或图3-5中的模块可以执行一组指令,并且当执行指令时,处理器220和/或模块可以用于执行过程700。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程700在实施时可以添加一个或以上本申请未描述的额外操作,和/或删减一个或以上此处所描述的操作。另外,图7中示出并在下面描述的过程700的操作的顺序不意味是限制性的。

在701中,第二服务器130的处理设备132(例如,初始化模块420)可以初始化第一存储设备和第二存储设备。在一些实施例中,第一服务器110的处理设备112可以初始化第一存储设备和第二存储设备。

在一些实施例中,处理设备132可以在将第一存储设备和第二存储设备接入第二服务器130中之后,对第一存储设备和第二存储设备进行加密。如本文所使用的,“加密存储设备”可以指加密存储设备上的每一位数据的过程,包括交换空间、临时文件和/或元数据(例如,目录结构、文件名、修改时间戳或大小)。在一些实施例中,处理设备132可以通过使用加密软件或硬件来加密第一存储设备和第二存储设备。例如,处理设备132可以通过使用透明加密算法,来加密第一存储设备和第二存储设备。如本文所使用的,“透明加密”(也称为实时加密和即时加密)可以指在将数据加载或保存在存储设备上时,自动加密或解密数据的过程(例如,在第一存储设备中、第二存储设备)。

在一些实施例中,处理设备132可以基于密码设置工具对第一存储设备和/或第二存储设备进行加密。如这里所使用的,密码设置工具可以指用于加密存储设备(例如,第一存储设备、第二存储设备)中的分区的命令行工具。在通过密码设置工具加密之后,如果不使用密钥,则不能识别第一存储设备和/或第二存储设备。如这里所使用的,密钥可以指代确定密码算法(例如,加密算法、解密算法)的函数输出的一条信息(参数)。

在一些实施例中,处理设备132可以将第一存储设备和第二存储设备配置为独立磁盘冗余阵列(raid)的存储方式。如本文所使用的,raid可以指数据存储虚拟化技术,其将多个物理磁盘驱动器组件组合成一个或以上逻辑单元,以用于数据冗余,性能改进等目的。在一些实施例中,处理设备132可将第一存储设备和第二存储设备配置为raid-1方式。如这里所使用的,raid-1方式可以在两个或以上存储设备上生成一组数据的精确复本(或镜像)。

在一些实施例中,处理设备132还可以生成分别与第一存储设备和第二存储设备的序列号相关联的两个标识标签。如这里所使用的,序列号可以指代标识存储设备(例如,第一存储设备、第二存储设备)的唯一数字或字符串。在一些实施例中,标识标签可以与存储设备(例如,第一存储设备、第二存储设备)的序列号相关联。例如,每个存储设备(例如,第一存储设备、第二存储设备)可以具有唯一的标识标签。标识标签可以由数据传输和存储系统100的操作员手动设置,或者由数据传输和存储系统100的一个或以上组件基于一个或以上预设算法确定。在一些实施例中,标识标签可以是包括一个或以上字母、一个或以上数字和/或一个或以上符号的字符串。存储设备(例如,第一存储设备、第二存储设备)的标识标签可以是任何形式,例如“123”、“a12b”。在一些实施例中,第一存储设备和第二存储设备的标识标签可以具有一定的相关性,例如,第一存储设备的标识标签可以是“id123a”,而第二存储设备的标识标签可以是“id123b”,以便数据传输和存储系统100可以识别第一存储设备和第二存储设备之间的raid的存储方式。

在一些实施例中,在初始化第一存储设备和第二存储设备之后,处理设备132可以将与初始化的第一存储设备和初始化的第二存储设备的序列号相关联的标识标签记录在数据管理系统中。数据管理系统如本申请中其他地方所述(例如,图6中描述的数据管理系统)。

在702中,终端设备140(例如,生成模块530)可以生成数据。可以在本申请的其他地方找到关于数据生成的更多描述(例如,图6中的操作601及其描述)。

在703中,终端设备140(例如,加密模块520)可以加密所生成的数据。可以在本申请的其他地方找到对生成数据的加密的更多描述(例如,图6中的操作601及其描述)。

在704中,终端设备(例如,存储模块550)可以分别在第一存储设备和第二存储设备中,存储加密数据的复本。在本申请的其它地方(例如,图6中的操作602及其描述)中可以找到分别在第一存储设备和第二存储设备中存储加密数据的复本的更多描述。

在705中,处理设备112(和/或处理设备132、和/或数据传输和存储系统100的运营商)可以确定第一服务器(例如,第一服务器110)是否正常运行。例如,处理设备112可以确定第一服务器的一个或以上组件是否运行良好。在确定第一服务器的一个或以上组件运行良好的情况下,处理设备112可以确定第一服务器正常运行。在确定第一服务器的一个或以上组件运行不正常(例如,第一服务器所在的idc正在遭遇设备故障,第一服务器已关闭,第一服务器正在升级等等)的情况下,处理设备112可以确定第一服务器不能正常工作。

在确定第一服务器正常运行的情况下,过程700可以进行到操作706。在706中,第一存储设备可以物理地运输到第一服务器(例如,第一服务器110)的物理位置。

在一些实施例中,数据传输和存储系统100的操作员(例如,终端设备140或第二服务器130的操作员)可以记录用于将第一存储设备运输到数据管理系统中的第一服务器的位置的第一运输服务请求。在第一存储设备被运输到第一服务器的位置之后,第一服务器的操作员可以在数据管理系统中将运输的状态设置为“完成”。关于第一存储设备到第一服务器的物理位置的运输的更多描述可以在本申请的其他地方找到(例如,图6中的操作605及其描述)。

在707中,处理设备112(例如,传输模块350)可以将加密数据从第一存储设备传输到第一服务器(例如,第一服务器110)。加密数据从第一存储设备到第一服务器的传输的更多描述可以在本申请的其他地方找到(例如,图6中的操作607及其描述)。

在708中,第一存储设备可以物理地运输到第二服务器(例如,第二服务器130)的位置。

例如,处理设备112(例如,生成模块340)可以自动生成第二运输服务请求,用于将第一存储设备从第一服务器的位置运输到第二服务器的位置。在一些实施例中,处理设备112可以将第二运输服务请求提交给快递公司。在一些实施例中,快递公司可以基于第二运输服务请求,将第一存储设备从第一服务器的位置运输到第二服务器的位置。

在一些实施例中,第一服务器的操作员可以在数据管理系统中记录用于将第一存储设备运输到第二服务器的位置的第二运输服务请求。在第一存储设备被运输到第二服务器的位置之后,第二服务器的操作员可以在数据管理系统中将运输的状态设置为“完成”。

在705中确定第一服务器不能正常工作的情况下,过程700可以进行到操作709。在709中,处理设备132(例如,传输模块470)可以将加密数据从第一存储设备传输到第一服务器。在一些实施例中,处理设备132可以经由网络120将加密数据从第一存储设备传输到第一服务器。例如,处理设备132可以经由无线网络,将加密数据从第一存储设备传输到第一服务器。在一些实施例中,使用第二服务器将加密数据从第一存储设备传输到第一服务器可能比使用第一服务器更慢。

在710中,处理设备132(例如,重置模块490)可以重置第一存储设备和第二存储设备。

如本文所用,“重置存储设备”可以指清除存储设备中存储的数据和/或使存储设备处于其初始状态(即,在701中获得的初始化状态)的过程。在处理设备132重置第一存储设备和第二存储设备之后,可以移除存储在第一存储设备和第二存储设备上的数据。在一些实施例中,处理设备132可以基于由操作员(例如,工程师)编程的脚本来重置第一存储设备和第二存储设备。如这里所使用的,脚本可以使用编程语言来编程,该编程语言支持为特定运行环境编写的脚本程序,该脚本程序自动执行原本由操作员逐个执行的任务。

应当注意以上描述仅用于说明的目的,而不是用于限制本申请的范围。对于本领域的普通技术人员来说,根据本申请的教导可以做出多种变化和修改。然而,变化和修改不会背离本申请的范围。在一些实施例中,终端设备140可以执行一个或以上附加操作,如图8所示。在一些实施例中,第一服务器112可以执行如图9所示的一个或以上附加操作。在一些实施例中,第二服务器132可以执行如图10所示的一个或以上附加操作。在一些实施例中,在操作710之后,可以将第一存储设备和第二存储设备进一步接入到终端设备140中,并且可以将其他加密数据的复本分别存储在第一存储设备和第二存储设备中。

图8是根据本申请的一些实施例所示的用于将验证码发送到第一服务器和/或第二服务器的示例性过程的流程图。过程800可以由数据传输和存储系统100的终端设备140执行。例如,过程800可以实现为存储在存储rom230或ram240中的一组指令。处理器220和/或图5中的模块可以执行一组指令,并且当执行指令时,处理器220和/或模块可以用于执行过程800。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程800在实施时可以添加一个或以上本申请未描述的额外操作,和/或删减一个或以上此处所描述的操作。另外,图8中示出并在下面描述的过程800的操作的顺序不意味是限制性的。在一些实施例中,可以在过程700中执行过程800的一个或以上操作。

在801中,终端设备140(例如,生成模块530)可以生成数据。可以在本申请的其他地方找到对数据生成的更多描述(例如,图6中的操作601、图7中的操作702及其描述)。

在802中,终端设备140(例如,加密模块520)可以加密所生成的数据。可以在本申请的其他地方找到对生成数据的加密的更多描述(例如,图6中的操作601、图7中的操作703及其描述)。

在803中,在将第一存储设备和第二存储设备接入终端设备140之后,终端设备140(例如,解密模块510)可以解密第一存储设备和第二存储设备。

在一些实施例中,终端设备140可以通过使用密钥来解密第一存储设备和第二存储设备。如这里所使用的,密钥可以指代确定密码算法(例如,加密算法、解密算法)的函数输出的一条信息(参数)。在一些实施例中,密钥可以由终端设备140从加密第一存储设备和第二存储设备的第二服务器132获得。在一些实施例中,密钥可以由终端设备140基于与第二服务器130用于加密第一存储设备和第二存储设备的密码设置工具相关联的算法来生成。在使用密钥解密之后,第一存储设备和第二存储设备可以安装在终端设备140上。因此,终端设备140可以识别第一存储设备和第二存储设备,第一存储设备和第二存储设备中的数据可以由终端设备140读取,并且(加密的)数据和/或由终端设备140生成的文件可以写入第一存储设备和/或第二存储设备。

在804中,终端设备140(例如,存储模块550)可以分别在第一存储设备和第二存储设备中存储加密数据的复本。在第一存储设备和第二存储设备中分别存储加密数据的复本的更多描述可以在本申请的其他地方找到(例如,图6中的操作602、图7中的操作704以及其描述)。

在805中,终端设备140(例如,生成模块530)可以生成与加密数据相关联的验证码。与加密数据相关联的验证码的生成的更多描述可以在本申请的其他地方找到(例如,图6中的操作603及其描述)。

在806中,终端设备140(例如,传输模块540)可以将验证码发送到第一服务器和/或第二服务器。在一些实施例中,终端设备140可以经由网络120,将消息沿证码发送到第一服务器(例如,第一服务器110)的处理设备(例如,处理设备112)和/或第二服务器(例如,第二服务器130)的处理设备(例如,处理设备132)。

应当注意以上描述仅用于说明的目的,而不是用于限制本申请的范围。对于本领域的普通技术人员来说,根据本申请的教导可以做出多种变化和修改。然而,变化和修改不会背离本申请的范围。在一些实施例中,可以同时执行一个或以上操作。例如,可以同时执行操作801和操作802。在一些实施例中,可以在操作801和802之前执行操作803。在一些实施例中,可以省略一个或以上操作。例如,如果第一存储设备和第二存储设备尚未加密,则可以省略操作803。

图9是根据本申请的一些实施例所示的用于将终端设备生成的数据从第一存储设备发送到服务器(或其存储设备)的示例性过程的流程图。过程900可以由数据传输和存储系统100的第一服务器110执行。例如,过程900可以实现为存储在存储rom230或ram240中的一组指令。处理器220和/或图3中的模块可以执行一组指令,并且当执行指令时,处理器220和/或模块可以用于执行过程900。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程900在实施时可以添加一个或以上本申请未描述的额外操作,和/或删减一个或以上此处所描述的操作。另外,图9中示出并在下面描述的过程900的操作的顺序不意味是限制性的。在一些实施例中,可以在过程700中执行过程900的一个或以上操作。

在901中,处理设备112(例如,获取模块310)可以接收由终端设备(例如,终端设备140)生成的验证码。在一些实施例中,处理设备112可以经由网络120接收由终端设备140生成的第一md5代码。

在902中,在加密数据的复本分别存储在第一存储设备和第二存储设备中之后,在第一存储设备被接入第一服务器时,处理设备112(例如,解密模块320)可以解密第一存储设备。

在一些实施例中,在将加密数据的复本分别存储在第一存储设备和第二存储设备中之后,第一存储设备可以从终端设备140中移除,并物理地运输到第一服务器的位置。在一些实施例中,在第一存储设备被物理地运输到第一服务器的位置之后,第一存储设备可以由数据传送和存储系统100的操作者接入第一服务器中。在一些实施例中,处理设备112可以通过使用本申请中其他地方描述的密钥,来解密第一存储设备。在一些实施例中,密钥可以由处理设备112从加密第一存储设备的第二服务器130获取。在一些实施例中,密钥可以由处理设备112基于与第二服务器132用于加密第一存储设备的密码设置工具相关联的算法来生成。在通过密钥解密之后,第一存储设备可以安装在第一服务器上。因此,处理设备112可以识别第一存储设备,第一存储设备中的数据可以由处理设备112读取(即,(加密的)数据和/或存储在第一存储设备上的文件可以由处理设备112访问)。

在903中,处理设备112(例如,验证模块330)可以使用验证码(即,在901中接收的验证码),来确定存储在第一存储设备中的加密数据是否被损坏。

例如,在将第一存储设备接入第一服务器和/或解密之后,处理设备112可以生成与加密数据相关联的第二md5代码。处理设备112可以通过比较第二md5代码和第一md5代码来确定存储在第一存储设备中的加密数据是否被损坏。用于确定存储在第一存储设备中的加密数据是否被损坏的更多描述可以在本申请的其他地方找到(例如,图6中的操作606及其描述)。

在确定存储在第一存储设备中的加密数据被损坏的情况下,过程900可以进行到操作904。在904中,处理设备112(例如,生成模块340)可以生成运输服务请求,用于将第一存储设备从第一服务器(例如,第一服务器110)的位置运输到第二服务器(例如,第二服务器130)或终端设备(例如,终端设备140)的位置。

例如,处理设备112可以自动生成运输服务请求,用于将第一存储设备从第一服务器的位置运输到第二服务器的位置(或终端设备的位置)。处理设备112可以将运输服务请求提交给快递公司。快递公司可以根据运输服务请求将第一存储设备从第一服务器的位置运输到第二服务器的位置(或终端设备的位置)。

在确定存储在第一存储设备中的加密数据未被损坏的情况下,过程900可以进行到操作905。在905中,处理设备112(例如,传输模块350)可以将加密数据从第一存储设备传输到第一服务器。加密数据传输的更多描述可以在本申请的其他地方找到(例如,图6中的操作607、图7中的操作707及其描述)。

在906中,处理设备112(例如,验证模块330)可以基于验证码(即,在901中接收的验证码)来验证加密数据是否无缺陷传输。

在一些实施例中,处理设备112可以通过校验验证码来确定是否无缺陷传输加密数据。例如,在将加密数据从第一存储设备传输到第一服务器之后,处理设备112可以生成与加密数据相关联的第三md5代码。处理设备112可以通过比较第三md5代码和第一md5代码,来验证加密数据是否无缺陷传输。处理设备112可以确定与发送到第一服务器的加密数据相关联的第三md5代码是否与由终端设备140生成的加密数据相关联的第一md5代码相同。在确定第三md5代码与第一md5代码相同的情况下,处理设备112可以确定加密数据从第一存储设备传输到第一服务器而没有缺陷。在确定第三md5代码与第一md5代码不同的情况下,处理设备112可以确定加密数据的传输是有缺陷的。

在一些实施例中,在确定加密数据的传输是有缺陷的情况下,过程900可以返回到操作905以再次将加密数据从第一存储设备传输到第一服务器。在一些实施例中,可以重复操作905到906,直到加密数据的传输无缺陷。

在确定加密数据的传输无缺陷的情况下,过程900可以进行到操作907。在907中,处理设备112(例如,生成模块340)可以生成与加密数据相关联的一个或以上元文件。

如这里所使用的,元文件可以指描述或说明一个或以上其他文件的文件。元文件可以包含元数据,元数据定义其他文件并给出其他文件包含的数据的摘要。如这里所使用的,元数据可以指提供关于其他文件的数据的一个或以上方面的信息的数据。在一些实施例中,元数据可以包括数据创建的方法、数据的目的、创建的时间和日期、数据的创建者或作者、创建数据的计算机网络上的位置、使用的标准、文件大小、数据质量、数据源、用于创建数据的过程等。

在908中,处理设备112(例如,传输模块350)可以发送消息以通知操作员从第一服务器移除第一存储设备。该消息可以包括电子邮件、文本消息、语音消息等。

在处理设备112发送消息之后,或者从第一服务器移除第一存储设备后,过程900可以进行到操作904以生成运输服务请求,用于将第一存储设备从第一服务器的位置运输到第二服务器的位置。

应当注意以上描述仅用于说明的目的,而不是用于限制本申请的范围。对于本领域的普通技术人员来说,根据本申请的教导可以做出多种变化和修改。然而,变化和修改不会背离本申请的范围。在一些实施例中,可以省略一个或以上操作。例如,可以省略操作907和/或操作908。又例如,可以省略操作902。在一些实施例中,可以在907之前执行操作908。

图10是根据本申请的一些实施例所示的用于将终端设备生成的数据从第一存储设备发送到服务器(或其存储设备)的示例性过程的流程图。过程1000可以由数据传输和存储系统100的第二服务器130执行。例如,过程1000可以实现为存储在存储rom230或ram240中的一组指令。处理器220和/或图4中的模块可以执行一组指令,并且当执行指令时,处理器220和/或模块可以用于执行过程1000。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程1000在实施时可以添加一个或以上本申请未描述的额外操作,和/或删减一个或以上此处所描述的操作。另外,图10中示出并在下面描述的过程1000的操作的顺序不意味着是限制性的。在一些实施例中,可以在过程700中执行过程1000的一个或以上操作。

在1001中,处理设备132(例如,初始化模块420)可以初始化第一存储设备和第二存储设备。第一存储和第二存储设备的初始化的更多描述可以在本申请的其他地方找到(例如,图7中的操作701及其描述)。

在1002中,处理设备132(例如,获取模块410)可以接收由终端设备(例如,终端设备140)生成的验证码。在一些实施例中,处理设备132可以经由网络120,接收由终端设备140生成的第一md5代码。

在1003中,在加密数据的复本分别存储在第一存储设备和第二存储设备中之后,在第一存储设备被接入第二服务器中时,处理设备132(例如,解密模块440)可以解密第一存储设备。在一些实施例中,在将加密数据的复本分别存储在第一存储设备和第二存储设备中之后,可以从终端设备140移除第一存储设备,并且物理地运输或传送到第二服务器的位置。在一些实施例中,在第一存储设备被物理地运输或传送到第二服务器的位置之后,第一存储设备可以由数据传输和存储系统100的操作员接入第二服务器中。在一些实施例中,处理设备132可以通过使用本申请中其他地方描述的密钥来解密第一存储设备。在一些实施例中,密钥可以由处理设备132基于与第二服务器用于加密第一存储设备的密码设置工具相关联的算法来生成。在通过密钥解密之后,第一存储设备可以安装在第二服务器上。因此,处理设备132可以识别第一存储设备,第一存储设备中的数据可以由处理设备132读取(即,(加密的)数据和/或存储在第一存储设备上的文件可以由处理设备132访问)。

在1004中,处理设备132(例如,验证模块450)可以使用验证码(即,在1002中接收的验证码)来确定存储在第一存储设备中的加密数据是否被损坏。例如,在将第一存储设备接入第二服务器和/或解密之后,处理设备132可以生成与加密数据相关联的第四md5代码。处理设备132可以通过比较第四md5代码和第一md5代码来确定存储在第一存储设备中的加密数据是否被损坏。在一些实施例中,处理设备132可以确定由处理设备132生成的第四md5代码是否与终端设备140生成的第一md5代码相同。在确定第四md5代码与第一md5代码相同的情况下,处理设备132可确定存储在第一存储设备中的加密数据未被损坏。在确定第四md5代码与第一md5代码不同的情况下,处理设备132可以确定存储在第一存储设备中的加密数据被损坏。

在确定存储在第一存储设备中的加密数据被损坏的情况下,过程1000可以进行到操作1005。在1005中,处理设备132(例如,恢复模块480)可以基于第二存储设备中的数据来恢复第一存储设备中的加密数据。

如这里所使用的,“数据恢复”可以指如果不能以正常方式访问数据,则修复(或检索)不可访问、丢失、崩渍、损坏或格式化的数据的过程。在一些实施例中,处理设备132可以基于一个或以上修复软件算法来恢复第一存储设备中的加密数据。在一些实施例中,因为加密数据的复本分别存储在第一存储设备和第二存储设备中,处理设备132可以获取第二存储设备中与第一存储设备中的损坏数据(和/或文件)对应的数据(和/或文件),以便处理设备132可以修复损坏数据和/或文件。

在一些实施例中,处理设备132可以修复第一存储设备。例如,处理设备132可以将第一存储设备的驱动器成像为新驱动器或磁盘映像文件。在一些实施例中,处理设备132可以逻辑地恢复第一存储设备的文件、分区、主引导记录(mbr)和/或文件系统结构。在一些实施例中,在处理设备132恢复第一存储设备和/或第一存储设备中的加密数据之后,可以将第一存储设备物理地运输到第一服务器(例如,第一服务器110)的位置。因此,处理设备112可以将恢复的(和/或加密的)数据从第一存储设备传输到第一服务器。在一些实施例中,在处理设备132恢复第一存储设备和/或第一存储设备中的加密数据之后,第一存储设备可以不被物理地运输到第一服务器(例如,第一服务器110)的位置,使得处理设备132可以将恢复的(和/或加密的)数据从第一存储设备传输到第一服务器(例如,经由网络120)。

在确定存储在第一存储设备中的加密数据未被损坏的情况下,过程1000可以进行到操作1006。在1006中,处理设备132(例如,传输模块470)可以将加密数据(或恢复的加密数据)从第一存储设备传输到第一服务器(例如,经由网络120)。在一些实施例中,如果加密数据被传输到第一服务器,则第一服务器(例如,处理设备112)可以将加密数据存储在一个或以上存储设备(例如,存储设备150)中。加密数据传输的更多描述可以在本申请的其他地方找到(例如,图7中的操作709及其描述)。

在1007中,处理设备132(例如,验证模块450)可以基于验证码(即,在1002中接收的验证码)来验证加密数据是否无缺陷传输。

在一些实施例中,处理设备132可以通过校验验证码来确定加密数据是否无缺陷传输。例如,在加密数据从第一存储设备传输到第一服务器之后,处理设备112可以生成与加密数据相关联的第五md5代码。处理设备112可以将第五md5代码发送到处理设备132。处理设备132可以通过比较第五md5代码和第一md5代码来验证加密数据是否无缺陷传输。处理设备132可以确定与发送到第一服务器加密数据相关联的第五md5代码是否与由终端设备140生成的与加密数据相关联的第一md5代码相同。在确定第五md5代码与第一md5代码相同的情况下,处理设备132可以确定加密数据从第一存储设备传输到第一服务器而没有缺陷。在确定第五md5代码与第一md5代码不同的情况下,处理设备132可以确定加密数据的传输是有缺陷的。

在一些实施例中,在确定加密数据的传输有缺陷的情况下,过程1000可以返回到操作1006以再次将加密数据从第一存储设备传输到第一服务器。在一些实施例中,可以重复操作1006到1007,直到加密数据的传输没有缺陷。

在一些实施例中,在确定加密数据的传输没有缺陷的情况下,过程1000可以进行到操作1008。在1008中,处理设备132(例如,生成模块460)可以生成与加密数据相关联的一个或以上元文件。与加密数据相关联的元文件的更多描述可以在本申请的其他地方找到(例如,图9中的操作907及其描述)。

在1009中,在将加密数据从第一存储设备完全传输到第一服务器之后,处理设备132(例如,重置模块490)可以重置第一存储设备和第二存储设备。关于第一存储设备和第二存储设备的重置的更多描述可以在本申请的其他地方找到(例如,图7中的操作710及其描述)。

应当注意以上描述仅用于说明的目的,而不是用于限制本申请的范围。对于本领域的普通技术人员来说,根据本申请的教导可以做出多种变化和修改。然而,变化和修改不会背离本申请的范围。在一些实施例中,可以省略一个或以上操作。例如,可以省略操作1002至1008。如果第一服务器功能正常,则第一存储设备可以物理地运输到第一服务器的位置,并且操作1002至操作1008可以由第一服务器的处理设备112执行。如果操作1002至1008由第一服务器的处理设备112执行,则在将加密数据从第一存储设备完全传输到第一服务器之后,并且在加密数据的传输没有缺陷的情况下,第一存储设备可以从第一服务器的位置物理地运输到第二服务器的位置,然后处理设备132可以重置第一存储设备和第二存储设备。在一些实施例中,在1006中,处理设备132可以首先将加密数据从第一存储设备发送到第二服务器(例如,通过连接第一存储设备和第二服务器的一条或多条数据线)。然后,将加密数据从第二服务器发送到第一服务器(例如,通过网络120)。

在一些实施例中,可以省略过程600到1000中的一个或以上操作。例如,存储在第一存储设备和/或第二存储设备中的数据可以不被加密。在一些实施例中,由终端设备(例如,终端设备140)生成的数据的复本可以分别存储在第一存储设备和第二存储设备中。第一存储设备和第二存储设备可以可拆卸地接入终端设备中。在一些实施例中,第一存储设备可以物理地运输到第一服务器(例如,第一服务器110)的物理位置。在一些实施例中,如果第一存储设备接入第一服务器,则第一服务器的处理设备(例如,处理设备112)可以解密第一存储设备,并确定存储在第一存储设备中的数据是否被损坏。在一些实施例中,在确定存储在第一存储设备中的数据未被损坏的情况下,第一服务器的处理设备可以将数据从第一存储设备传输到第一服务器。

上文已对基本概念做了描述,显然,对于已阅读此详细披露的本领域的普通技术人员来讲,上述详细披露仅作为示例,而并不构成对本申请的限制。虽然此处并没有明确说明,本领域具有通常知识者可以对本申请进行各种变化、改进和修改。该类变化、改进和修改在本申请中被建议,所以该类变化、改进和修改仍属于本申请示范实施例的精神和范围。

同时,本申请使用了特定词语来描述本申请的实施例。例如,“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应当强调并注意的是,本说明书中在不同位置两次或以上次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。

此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行,以上硬件或软件均可以被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。

计算机可读信号介质可能包含一个内含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。所述传播信号可以有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、设备或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf等,或任何上述介质的组合。

本申请各方面操作所需的计算机程序码可以用一种或多种程序语言的任意组合编写,包括面向对象编程语言,如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net,python或类似物,常规程序化编程语言,如“c”编程语言、visualbasic、fortran2103、per1、cobol2102、php、abap,动态编程语言如python、ruby和groovy或其它编程语言。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan)、或连接至外部计算机(例如通过因特网)、或在云计算环境中、或作为服务使用如软件即服务(saas)。

此外,除非申请专利范围中明确说明,本申请所述处理元件和序列的顺序、数位字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,尽管上述各种组件的实现可以体现在硬件设备中,但是它也可以实现为仅软件解决方案,例如,在现有服务器或移动设备上的安装。

同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请的实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所声称的待扫描对象物质需要比每个权利要求中明确记载的更多特征的意图。相反,发明的主体应具备比上述单一实施例更少的特征。

在一些实施例中,用于描述和要求保护本申请的某些实施例的数量、性质等,应被理解为在一些情况下被术语“约”、“近似”或“基本上”修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应计算规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。

本文中提及的所有专利、专利申请、专利申请公布和其他材料(如论文、书籍、说明书、出版物、记录、事物和/或类似的东西)均在此通过引用的方式全部并入本文以达到所有目的,与上述文件相关的任何起诉文档记录、与本文件不一致或冲突的任何上述文件或对迟早与本文件相关的权利要求书的广泛范畴有限定作用的任何上述文件除外。举例来说,如果任何并入材料相关的与本文件相关的描述、定义和/或术语使用之间有任何不一致或冲突,那么本文件中的描述、定义和/或术语使用应当优先。

最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。

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