上传文件的管理方法、系统和客户端的制作方法

文档序号:7866722阅读:210来源:国知局
专利名称:上传文件的管理方法、系统和客户端的制作方法
技术领域
本发明涉及互联网技术领域,尤其涉及一种上传文件的管理方法、系统和客户端。
技术背景
云端服务器为用户提供数据存储服务,例如网盘,用户可以通过客户端访问网盘, 例如上传文件或下载文件等,为用户提供方便。目前,用户上传文件到自己的云端服务器空间时,需要实际上传文件到云端服务器,云端服务器再将上传的实际文件存储到用户的个人空间中,同一份文件可能被多个用户保存在各自的个人空间中,不仅占用云端服务器的存储空间,而且浪费用户的网络流量,造成资源浪费。
为了减少重复上传多份文件造成资源浪费,通常采用以下两种方式进行管理(I)云端服务器引入引用计数值,可以在云端服务器中避免多份完全相同的文件被拷贝多次,节省云端服务器存储资源,但是,存在的问题是不能解决用户在上传文件时造成的流量浪费的问题;(2)在用户上传文件时要求用户提供数据指纹等唯一标识文件的信息,然后云端服务器端判断是否存在相同的数据指纹,如果存在时用户可以不用再上传文件至云端服务器,但是,存在的问题是,出于安全和隐私的考虑,云端服务器需要用户输入身份认证才可以授权用户获得服务器上已经存在的文件,同样存在多份文件被多份存储的问题,且如果文件被用户设为私有时,其他用户在上传该文件时还需要重新上传,同样造成资源的浪费。发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的第一个目的在于提出一种上传文件的管理方法,该方法可在云端服务器中避免多份相同文件被拷贝多次,节省存储资源,又有效防止用户重复上传文件。
本发明的第二个目的在于提出一种上传文件的管理系统。
本发明的第三个目的在于提出一种客户端。
为了实现上述目的,本发明第一方面实施例的上传文件的管理方法包括以下步骤a、客户端中的应用程序接收用户的第一文件上传请求和上传文件;b、所述客户端中的加速引擎截获所述第一文件上传请求和上传文件;C、所述加速引擎根据所述第一文件上传请求对所述客户端和所述云端服务器的身份进行验证;d、验证通过之后,所述加速引擎生成所述上传文件的签名信息,并向所述云端服务器发送第二文件上传请求,其中,所述第二文件上传请求包括所述签名信息;e、所述云端服务器根据所述签名信息判断所述上传文件是否已存在于所述云端服务器中;以及f、如果所述上传文件已存在于所述云端服务器中, 则所述云端服务器获得所述上传文件在所述云端服务器中的地址信息,并将所述地址信息写入至所述用户在所述云端服务器中的空间。
根据本发明实施例的上传文件的管理方法,加速引擎通过身份验证可以确保客户端和云端服务器之间的安全交互,同时加速引擎根据上传文件重新获取签名信息,可以防止他人不断的尝试伪造不同的签名信息尝试访问云端服务器上已经存在的文件而造成用户数据的泄露,由此,既可以在云端服务器中避免多份完全相同的文件被拷贝多次,节省云端服务器存储资源,又可以有效防止用户重复上传文件,节省用户流量,且可以确保安全,保护用户隐私。为了实现上述目的,本发明第二方面实施例的上传文件的管理系统包括客户端和云端服务器,所述客户端中运行有应用程序和加速引擎,其中,所述应用程序,用于接收用户的第一文件上传请求和上传文件;所述加速引擎,用于截获所述第一文件上传请求和上传文件,并根据所述第一文件上传请求对所述客户端和所述云端服务器的身份进行验证,以及验证通过之后,生成所述上传文件的签名信息,并向所述云端服务器发送第二文件上传请求,其中,所述第二文件上传请求包括所述签名信息;所述云端服务器,用于根据所述签名信息判断所述上传文件是否已存在于所述云端服务器中,以及在所述上传文件已存在于所述云端服务器中时,获得所述上传文件在所述云端服务器中的地址信息,并将所述 地址信息写入至所述用户在所述云端服务器中的空间。根据本发明实施例的上传文件的管理系统,加速引擎通过身份验证可以确保客户端和云端服务器之间的安全交互,同时加速引擎根据上传文件重新获取签名信息,可以防止他人不断的尝试伪造不同的签名信息尝试访问云端服务器上已经存在的文件而造成用户数据的泄露,由此,既可以在云端服务器中避免多份完全相同的文件被拷贝多次,节省云端服务器存储资源,又可以有效防止用户重复上传文件,节省用户流量,且可以确保安全,保护用户隐私。为了实现上述目的,本发明第三方面实施例的客户端包括应用程序模块和加速引擎模块,其中,所述应用程序模块,用于接收用户的第一文件上传请求和上传文件;所述加速引擎模块,用于截获所述第一文件上传请求和上传文件,并根据所述第一文件上传请求对客户端和云端服务器的身份进行验证,并在验证通过之后,生成所述上传文件的签名信息,并向所述云端服务器发送第二文件上传请求,其中,所述第二文件上传请求包括所述签名信息。根据本发明实施例的客户端,加速引擎通过身份验证可以确保客户端和云端服务器之间的安全交互,同时加速引擎根据上传文件重新获取签名信息,可以防止他人不断的尝试伪造不同的签名信息尝试访问云端服务器上已经存在的文件而造成用户数据的泄露,可以确保安全,保护用户隐私。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。


本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,图1是根据本发明一个实施例的上传文件的管理方法的流程图;图2是根据本发明另一个实施例的上传文件的管理方法的流程图;图3是根据本发明一个具体实施例的上传文件的管理方法的流程图;图4是根据本发明另一个具体实施例的上传文件的管理方法的流程图5是根据本发明又一个具体实施例的上传文件的管理方法的流程图6是根据本发明再一个具体实施例的上传文件的管理方法的流程图7是根据本发明又再一个具体实施例的上传文件的管理方法的流程图8是根据本发明又一个具体实施例的搜索结果分享方法的流程图8是根据本发明一个实施例的上传文件的管理系统的结构框图;以及
图9是本发明一个实施例的客户端的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反, 本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接, 或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所 涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
下面参考附图描述根据本发明实施例的上传文件的管理方法、系统和客户端。
一种上传文件的管理方法,包括以下步骤a、客户端中的应用程序接收用户的第一文件上传请求和上传文件;b、客户端中的加速引擎截获第一文件上传请求和上传文件;C、加速引擎根据第一文件上传请求对客户端和云端服务器的身份进行验证;d、验证通过之后,加速引擎生成上传文件的签名信息,并向云端服务器发送第二文件上传请求,其中,第二文件上传请求包括签名信息;e、云端服务器根据签名信息判断上传文件是否已存在于云端服务器中;以及f、在上传文件已存在于云端服务器中时,云端服务器获得上传文件在云端服务器中的地址信息,并将地址信息写入至用户在云端服务器中的空间。
图1是根据本发明一个实施例的上传文件的管理方法的流程图。
如图1所示,上传文件的管理方法包括下述步骤。
步骤S101,客户端中的应用程序接收用户的第一文件上传请求和上传文件。例如, 用户可通过浏览器或客户端软件发送第一文件上传请求和上传文件。
步骤S102,客户端中的加速引擎截获第一文件上传请求和上传文件。
具体地,加速引擎为运行在客户端下层的软件模块,可以实时监测应用程序,每当应用程序将要发送第一文件上传请求时将其截获,无需修改应用程序。
步骤S103,加速引擎根据第一文件上传请求对客户端和云端服务器的身份进行验证。在本发明的一个实施例中,加速引擎根据第一文件上传请求在客户端和云存储服务器之间建立加密验证通道,并通过加密验证通道对客户端和云存储服务器的身份进行验证。具体地,通过加密验证通道客户端可以确保连接到正确的云端服务器,且云端服务器端可以确保是正确的客户端发起文件上传请求,其中,可以通过数字签名证书机制来实现,例如数字签名证书等,如果身份认证失败,则加速引擎不再继续执行后续的步骤,客户端可以直接通过应用程序进行文件全部内容的传输。步骤S104,验证通过之后,加速引擎生成上传文件的签名信息,并向云端服务器发送第二文件上传请求,其中,第二文件上传请求包括签名信息。 步骤S105,云端服务器根据签名信息判断上传文件是否已存在于云端服务器中。其中,签名信息可以使得上传文件在任何场景下都是唯一的,云端服务器根据签名信息可以判断是否有相同的文件已经存在云端服务器。步骤S106,如果上传文件已存在于云端服务器中,则云端服务器获得上传文件在云端服务器中的地址信息,并将地址信息写入至用户在云端服务器中的空间。具体地,云端服务器中所有文件都存储在一个存储空间中,每个用户的个人空间中存储的文件指向实际存储位置。其中,当不存在时可以将上传该文件。根据本发明实施例的上传文件的管理方法,加速引擎通过身份验证可以确保客户端和云端服务器之间的安全交互,同时加速引擎根据上传文件重新获取签名信息,可以防止他人不断的尝试伪造不同的签名信息尝试访问云端服务器上已经存在的文件而造成用户数据的泄露,由此,既可以在云端服务器中避免多份完全相同的文件被拷贝多次,节省云端服务器存储资源,又可以有效防止用户重复上传文件,节省用户流量,且可以确保安全,保护用户隐私。图2是根据本发明另一个实施例的上传文件的管理方法的流程图。如图2所示,上传文件的管理方法包括下述步骤。步骤S201,客户端中的应用程序接收用户的第一文件上传请求和上传文件。例如,用户可通过浏览器或客户端软件发送第一文件上传请求和上传文件。步骤S202,客户端中的加速引擎截获第一文件上传请求和上传文件。具体地,加速引擎为运行在客户端下层的软件模块,可以实时监测应用程序,每当应用程序将要发送第一文件上传请求时将其截获,无需修改应用程序。步骤S203,加速引擎根据第一文件上传请求对客户端和云端服务器的身份进行验证。在本发明的一个实施例中,加速引擎根据第一文件上传请求在客户端和云存储服务器之间建立加密验证通道,并通过加密验证通道对客户端和云存储服务器的身份进行验证。具体地,通过加密验证通道客户端可以确保连接到正确的云端服务器,且云端服务器端可以确保是正确的客户端发起文件上传请求,其中,可以通过数字签名证书机制来实现,例如数字签名证书等,如果身份认证失败,则加速引擎不再继续执行后续的步骤,客户端可以直接通过应用程序进行文件全部内容的传输。步骤S204,验证通过之后,加速引擎生成上传文件的签名信息,并向云端服务器发送第二文件上传请求,其中,第二文件上传请求包括签名信息。
步骤S205,云端服务器根据签名信息判断上传文件是否已存在于云端服务器中。 其中,签名信息可以使得上传文件在任何场景下都是唯一的,云端服务器根据签名信息可以判断是否有相同的文件已经存在云端服务器。
步骤S206,在上传文件已存在于云端服务器中时,云端服务器获得上传文件在云端服务器中的地址信息,并将地址信息写入至用户在云端服务器中的空间。
具体地,云端服务器中所有文件都存储在一个存储空间中,每个用户的个人空间中存储的文件指向实际存储位置。其中,当不存在时可以将上传该文件。
步骤S207,云端服务器发送上传成功信息至客户端中的加速引擎。
步骤S208,客户端中的加速引擎将上传成功信息传送至客户端中的应用程序。
根据本发明实施例的上传文件的管理方法,通过加速引擎反馈上传成功信息至客户端的应用程序。
图3是根据本发明一个具体实施例的上传文件的管理方法的流程图。
如图3所示,上传文件的管理方法包括下述步骤。
步骤S301,客户端中的应用程序接收用户的第一文件上传请求和上传文件。例如, 用户可通过浏览器或客户端软件发送第一文件上传请求和上传文件。
步骤S302,客户端中的加速引擎截获第一文件上传请求和上传文件。
具体地,加速引擎为运行在客户端下层的软件模块,可以实时监测应用程序,每当应用程序将要发送第一文件上传请求时将其截获,无需修改应用程序。
步骤S303,加速引擎根据第一文件上传请求对客户端和云端服务器的身份进行验证。
在本发明的一个实施例中,加速引擎根据第一文件上传请求在客户端和云存储服务器之间建立加密验证通道,并通过加密验证通道对客户端和云存储服务器的身份进行验证。具体地,通过加密验证通道客户端可以确保连接到正确的云端服务器,且云端服务器端可以确保是正确的客户端发起文件上传请求,其中,可以通过数字签名证书机制来实现,例如数字签名证书等,如果身份认证失败,则加速引擎不再继续执行后续的步骤,客户端可以直接通过应用程序进行文件全部内容的传输。
步骤S304,验证通过之后,加速引擎生成上传文件的签名信息,并向云端服务器发送第二文件上传请求,其中,第二文件上传请求包括签名信息。
在本发明的一个实施例中,签名信息可以包括文件指纹信息和/或文件大小信息和/或文件类型信息等。具体地,文件指纹信息可以作为鉴别文件的唯一标准,可以采用 MD5 (Message Digest Algorithm 5,消息摘要算法 5)、SHA (SecureHash Algorithm,安全散列算法)256、SHA512等算法计算获取,由于文件指纹信息的计算可能存在一些漏洞,加入文件大小信息和/或文件类型信息以辅助签名文件,文件大小可以精确到字节,文件类型信息可以采用国际标准定义。
步骤S305,云端服务器根据文件指纹信息在指纹信息索引表中进行查找以获取对应文件,并获取文件大小信息和/或文件类型信息。
步骤S306,云端服务器判断对应文件的文件大小信息和/或文件类型信息与上传文件的文件大小信息和/或文件类型信息是否一致。
步骤S307,如果云端服务器判断一致时,云端服务器确定上传文件已存在于云端服务器中,云端服务器获得上传文件在云端服务器中的地址信息,并将地址信息写入至用户在云端服务器中的空间。具体地,云端服务器中所有文件都存储在一个存储空间中,每个用户的个人空间中存储的文件指向实际存储位置。其中,当不存在时可以将上传该文件。步骤S308,云端服务器发送上传成功信息至客户端中的加速引擎。步骤S309,客户端中的加速引擎将上传成功信息传送至客户端中的应用程序。在本发明的一个实施例中,步骤S308和S309是可选的。根据本发明实施例的上传文件的管理方法,可以使用文件大小信息和/或文件类型信息辅助文件指纹信息签名上传文件,进一步确保安全。图4是根据本发明另一个具体实施例的上传文件的管理方法的流程图。如图4所示,上传文件的管理方法包括下述步骤。步骤S401,客户端中的应用程序接收用户的第一文件上传请求和上传文件。例如,用户可通过浏览器或客户端软件发送第一文件上传请求和上传文件。步骤S402,客户端中的加速引擎截获第一文件上传请求和上传文件。具体地,加速引擎为运行在客户端下层的软件模块,可以实时监测应用程序,每当应用程序将要发送第一文件上传请求时将其截获,无需修改应用程序。步骤S403,加速引擎根据第一文件上传请求对客户端和云端服务器的身份进行验证。在本发明的一个实施例中,加速引擎根据第一文件上传请求在客户端和云存储服务器之间建立加密验证通道,并通过加密验证通道对客户端和云存储服务器的身份进行验证。具体地,通过加密验证通道客户端可以确保连接到正确的云端服务器,且云端服务器端可以确保是正确的客户端发起文件上传请求,其中,可以通过数字签名证书机制来实现,例如数字签名证书等,如果身份认证失败,则加速引擎不再继续执行后续的步骤,客户端可以直接通过应用程序进行文件全部内容的传输。步骤S404,验证通过之后,加速引擎生成上传文件的签名信息,并向云端服务器发送第二文件上传请求,其中,第二文件上传请求包括签名信息。在本发明的一个实施例中,签名信息可以包括文件指纹信息和/或文件大小信息和/或文件类型信息等。具体地,文件指纹信息可以作为鉴别文件的唯一标准,可以采用MD5 (Message Digest Algorithm 5,消息摘要算法 5)、SHA (SecureHash Algorithm,安全散列算法)256、SHA512等算法计算获取,由于文件指纹信息的计算可能存在一些漏洞,加入文件大小信息和/或文件类型信息以辅助签名文件,文件大小可以精确到字节,文件类型信息可以采用国际标准定义。步骤S405,云端服务器根据文件指纹信息在指纹信息索引表中进行查找以获取对应文件,并获取文件大小信息和/或文件类型信息。步骤S406,云端服务器判断对应文件的文件大小信息和/或文件类型信息与上传文件的文件大小信息和/或文件类型信息是否一致。步骤S407,如果云端服务器判断一致时,云 端服务器确定上传文件已存在于所述云端服务器中,云端服务器获得上传文件在云端服务器中的地址信息,并将地址信息写入至用户在云端服务器中的空间。
具体地,云端服务器中所有文件都存储在一个存储空间中,每个用户的个人空间中存储的文件指向实际存储位置。
步骤S408,云端服务器将上传文件的引用计数值加I。
步骤S409,云端服务器发送上传成功信息至客户端中的加速引擎。
步骤S410,客户端中的加速引擎将上传成功信息传送至客户端中的应用程序。
根据本发明实施例的上传文件的管理方法,利用引用计数值计算文件被上传的次数。
图5是根据本发明又一个具体实施例的上传文件的管理方法的流程图。
如图5所示,上传文件的管理方法包括下述步骤。
步骤S501,客户端中的应用程序接收用户的第一文件上传请求和上传文件。例如, 用户可通过浏览器或客户端软件发送第一文件上传请求和上传文件。
步骤S502,客户端中的加速引擎截获第一文件上传请求和上传文件。
具体地,加速引擎为运行在客户端下层的软件模块,可以实时监测应用程序,每当应用程序将要发送第一文件上传请求时将其截获,无需修改应用程序。
步骤S503,加速引擎根据第一文件上传请求对客户端和云端服务器的身份进行验证。
在本发明的一个实施例中,加速引擎根据第一文件上传请求在客户端和云存储服务器之间建立加密验证通道,并通过加密验证通道对客户端和云存储服务器的身份进行验证。具体地,通过加密验证通道客户端可以确保连接到正确的云端服务器,且云端服务器端可以确保是正确的客户端发起文件上传请求,其中,可以通过数字签名证书机制来实现,例如数字签名证书等,如果身份认证失败,则加速引擎不再继续执行后续的步骤,客户端可以直接通过应用程序进行文件全部内容的传输。
步骤S504,验证通过之后,加速引擎生成上传文件的签名信息,并向云端服务器发送第二文件上传请求,其中,第二文件上传请求包括签名信息。
在本发明的一个实施例中,签名信息可以包括文件指纹信息和/或文件大小信息和/或文件类型信息等。具体地,文件指纹信息可以作为鉴别文件的唯一标准,可以采用 MD5 (Message Digest Algorithm 5,消息摘要算法 5)、SHA (SecureHash Algorithm,安全散列算法)256、SHA512等算法计算获取,由于文件指纹信息的计算可能存在一些漏洞,加入文件大小信息和/或文件类型信息以辅助签名文件,文件大小可以精确到字节,文件类型信息可以采用国际标准定义。
步骤S505,云端服务器根据文件指纹信息在指纹信息索引表中进行查找以获取对应文件,并获取文件大小信息和/或文件类型信息。
步骤S506,云端服务器判断对应文件的文件大小信息和/或文件类型信息与上传文件的文件大小信息和/或文件类型信息是否一致。
步骤S507,如果云端服务器判断一致时,云端服务器确定上传文件已存在于云端服务器中,云端服务器获得上传文件在云端服务器中的地址信息,并将地址信息写入至用户在云端服务器中的空间。
步骤S508,云端服务器将上传文件的引用计数值加I。
步骤S509,云端服务器发送上传成功信息至客户端中的加速引擎。步骤S510,客户端中的加速引擎将上传成功信息传送至客户端中的应用程序。步骤S511,如果云端服务器判断不一致时,云端服务器确定上传文件不存在于云端服务器中,云端服务器接收客户端发送的上传文件,并将上传文件的引用计数值赋值为
I。 根据本发明实施例的上传文件的管理方法,在上传文件不存在的情况下可以重新上传文件。图6是根据本发明再一个具体实施例的上传文件的管理方法的流程图。如图6所示,上传文件的管理方法包括下述步骤。步骤S601,客户端中的应用程序接收用户的第一文件上传请求和上传文件。例如,用户可通过浏览器或客户端软件发送第一文件上传请求和上传文件。步骤S602,客户端中的加速引擎截获第一文件上传请求和上传文件。具体地,加速引擎为运行在客户端下层的软件模块,可以实时监测应用程序,每当应用程序将要发送第一文件上传请求时将其截获,无需修改应用程序。步骤S603,加速引擎根据第一文件上传请求对客户端和云端服务器的身份进行验证。在本发明的一个实施例中,加速引擎根据第一文件上传请求在客户端和云存储服务器之间建立加密验证通道,并通过加密验证通道对客户端和云存储服务器的身份进行验证。具体地,通过加密验证通道客户端可以确保连接到正确的云端服务器,且云端服务器端可以确保是正确的客户端发起文件上传请求,其中,可以通过数字签名证书机制来实现,例如数字签名证书等,如果身份认证失败,则加速引擎不再继续执行后续的步骤,客户端可以直接通过应用程序进行文件全部内容的传输。步骤S604,验证通过之后,加速引擎生成上传文件的签名信息,并向云端服务器发送第二文件上传请求,其中,第二文件上传请求包括签名信息。在本发明的一个实施例中,签名信息可以包括文件指纹信息和/或文件大小信息和/或文件类型信息等。具体地,文件指纹信息可以作为鉴别文件的唯一标准,可以采用MD5 (Message Digest Algorithm 5,消息摘要算法 5)、SHA (SecureHash Algorithm,安全散列算法)256、SHA512等算法计算获取,由于文件指纹信息的计算可能存在一些漏洞,加入文件大小信息和/或文件类型信息以辅助签名文件,文件大小可以精确到字节,文件类型信息可以采用国际标准定义。步骤S605,云端服务器根据文件指纹信息在指纹信息索引表中进行查找以获取对应文件,并获取文件大小信息和/或文件类型信息。步骤S606,云端服务器判断对应文件的文件大小信息和/或文件类型信息与上传文件的文件大小信息和/或文件类型信息是否一致。步骤S607,如果云端服务器判断一致时,云端服务器确定上传文件已存在于云端服务器中,云端服务器获得上传文件在云端服务器中的地址信息,并将地址信息写入至用户在云端服务器中的空间。步骤S608,云端服务器将上传文件的引用计数值加I。步骤S609,云端服务器发送上传成功信息至客户端中的加速引擎。
步骤S610,客户端中的加速引擎将上传成功信息传送至客户端中的应用程序。
步骤S611,如果云端服务器判断不一致时,云端服务器确定上传文件不存在于云端服务器中,云端服务器接收客户端发送的上传文件,并将上传文件的引用计数值赋值为 I。
步骤S612,如果用户删除上传文件时,则云端服务器将上传文件的引用计数值减 I。
根据本发明实施例的上传文件的管理方法,当用户删除文件时将引用计数值减I。
图7是根据本发明又再一个具体实施例的上传文件的管理方法的流程图。
如图7所示,上传文件的管理方法包括下述步骤。
步骤S701,客户端中的应用程序接收用户的第一文件上传请求和上传文件。例如, 用户可通过浏览器或客户端软件发送第一文件上传请求和上传文件。
步骤S702,客户端中的加速引擎截获第一文件上传请求和上传文件。
具体地,加速引擎为运行在客户端下层的软件模块,可以实时监测应用程序,每当应用程序将要发送第一文件上传请求时将其截获,无需修改应用程序。
步骤S703,加速引擎根据第一文件上传请求对客户端和云端服务器的身份进行验证。
在本发明的一个实施例中,加速引擎根据第一文件上传请求在客户端和云存储服务器之间建立加密验证通道,并通过加密验证通道对客户端和云存储服务器的身份进行验证。具体地,通过加密验证通道客户端可以确保连接到正确的云端服务器,且云端服务器端可以确保是正确的客户端发起文件上传请求,其中,可以通过数字签名证书机制来实现,例如数字签名证书等,如果身份认证失败,则加速引擎不再继续执行后续的步骤,客户端可以直接通过应用程序进行文件全部内容的传输。
步骤S704,验证通过之后,加速引擎生成上传文件的签名信息,并向云端服务器发送第二文件上传请求,其中,第二文件上传请求包括签名信息。
在本发明的一个实施例中,签名信息可以包括文件指纹信息和/或文件大小信息和/或文件类型信息等。具体地,文件指纹信息可以作为鉴别文件的唯一标准,可以采用 MD5 (Message Digest Algorithm 5,消息摘要算法 5)、SHA (SecureHash Algorithm,安全散列算法)256、SHA512等算法计算获取,由于文件指纹信息的计算可能存在一些漏洞,加入文件大小信息和/或文件类型信息以辅助签名文件,文件大小可以精确到字节,文件类型信息可以采用国际标准定义。
步骤S705,云端服务器根据文件指纹信息在指纹信息索引表中进行查找以获取对应文件,并获取文件大小信息和/或文件类型信息。
步骤S706,云端服务器判断对应文件的文件大小信息和/或文件类型信息与上传文件的文件大小信息和/或文件类型信息是否一致。
步骤S707,如果云端服务器判断一致时,云端服务器确定上传文件已存在于云端服务器中,云端服务器获得上传文件在云端服务器中的地址信息,并将地址信息写入至用户在云端服务器中的空间。
步骤S708,云端服务器将上传文件的引用计数值加I。
步骤S709,云端服务器发送上传成功信息至客户端中的加速引擎。
步骤S710,客户端中的加速引擎将上传成功信息传送至客户端中的应用程序。步骤S711,如果云端服务器判断不一致时,云端服务器确定上传文件不存在于云端服务器中,云端服务器接收客户端发送的上传文件,并将上传文件的引用计数值赋值为I。步骤S712,如果用户删除上传文件时,则云端服务器将上传文件的引用计数值减I。步骤S713,云端服务器判断上传文件的引用计数值是否为O。步骤S714,如果上传文件的引用计数值为0,则云端服务器删除上传文件。根据本发明实施例的上传文件的管理方法,利用引用计数值可以避免云端服务器多份相同文件的拷贝。为了实现上述实施例,本发明还提出一种上传文件的管理系统。一种上传文件的管理系统,包括客户端和云端服务器,客户端中运行有应用程序和加速引擎,其中,应用程序,用于接收用户的第一文件上传请求和上传文件;加速引擎,用于截获第一文件上传请求和上传文件,并根据第一文件上传请求对客户端和云端服务器的身份进行验证,以及验证通过之后,生成上传文件的签名信息,并向云端服务器发送第二文件上传请求,其中,第二文件上传请求包括签名信息;云端服务器,用于根据签名信息判断上传文件是否已存在于云端服务器中,以及在上传文件已存在于云端服务器中时,获得上传文件在云端服务器中的地址信息,并将地址信息写入至用户在云端服务器中的空间。图8是根据本发明一个实施例的上传文件的管理系统的结构框图。如图8所示,上传文件的管理系统包括客户端10和云端服务器20,客户端中运行有应用程序11和加速引擎12。具体地,应用程序10用于接收用户的第一文件上传请求和上传文件,例如,用户可通过浏览器或客户端软件发送第一文件上传请求和上传文件。 加速引擎12用于截获第一文件上传请求和上传文件,并根据第一文件上传请求对客户端10和云端服务器20的身份进行验证,以及验证通过之后,生成上传文件的签名信息,并向云端服务器20发送第二文件上传请求,其中,第二文件上传请求包括签名信息。更具体地,加速引擎12为运行在客户端10下层的软件模块,可以实时监测应用程序11,每当应用程序11将要发送第一文件上传请求时将其截获,无需修改应用程序11。云端服务器20用于根据签名信息判断上传文件是否已存在于云端服务器20中,以及在上传文件已存在于云端服务器20中时,获得上传文件在云端服务器20中的地址信息,并将地址信息写入至用户在云端服务器20中的空间。其中,签名信息可以使得上传文件在任何场景下都是唯一的,云端服务器20根据签名信息可以判断是否有相同的文件已经存在云端服务器20。根据本发明实施例的上传文件的管理系统,加速引擎通过身份验证可以确保客户端和云端服务器之间的安全交互,同时加速引擎根据上传文件重新获取签名信息,可以防止他人不断的尝试伪造不同的签名信息尝试访问云端服务器上已经存在的文件而造成用户数据的泄露,由此,既可以在云端服务器中避免多份完全相同的文件被拷贝多次,节省云端服务器存储资源,又可以有效防止用户重复上传文件,节省用户流量,且可以确保安全,保护用户隐私。
在本发明的一个实施例中,加速引擎12还用于根据第一文件上传请求在客户端 10和云存储服务器20之间建立加密验证通道,并通过加密验证通道对客户端10和云存储服务器20的身份进行验证。具体地,通过加密验证通道客户端10可以确保连接到正确的云端服务器20,且云端服务器端20可以确保是正确的客户端10发起文件上传请求,其中, 可以通过数字签名证书机制来实现,例如数字签名证书等,如果身份认证失败,则加速引擎不再继续执行后续的步骤,客户端10可以直接通过应用程序11进行文件全部内容的传输。
在本发明的一个实施例中,云端服务器20还用于发送上传成功信息至加速引擎 12,其中加速引擎12将上传成功信息传送至应用程序11。由此向客户端10的用户反馈上传成功信息。
在本发明的一个实施例中,签名信息可以包括文件指纹信息和/或文件大小信息和/或文件类型信息等。具体地,文件指纹信息可以作为鉴别文件的唯一标准,可以采用 MD5 (Message Digest Algorithm 5,消息摘要算法 5)、SHA (SecureHash Algorithm,安全散列算法)256、SHA512等算法计算获取,由于文件指纹信息的计算可能存在一些漏洞,加入文件大小信息和/或文件类型信息以辅助签名文件,文件大小可以精确到字节,文件类型信息可以采用国际标准定义。
更具体地,云端服务器20还用于根据文件指纹信息在指纹信息索引表中进行查找以获取对应文件 ,并获取文件大小信息和/或文件类型信息,以及判断对应文件的文件大小信息和/或文件类型信息与上传文件的文件大小信息和/或文件类型信息是否一致, 其中,当云端服务器20判断一致时,云端服务器20确定上传文件已存在于云端服务器中 20。由此,可以使用文件大小信息和/或文件类型信息辅助文件指纹信息签名上传文件,进一步确保安全。
在本发明的一个实施例中,云端服务器20将上传文件的引用计数值加1,利用引用计数值计算文件被上传的次数。具体地,云端服务器20还用于在上传文件不存在于云端服务器20中时,接收客户端10发送的上传文件,并将上传文件的引用计数值赋值为I ; 云端服务器20还用于在用户删除上传文件时,将上传文件的引用计数值减I ;云端服务器 20还用于判断上传文件的引用计数值是否为0,以及在上传文件的引用计数值为O时,删除上传文件。由此,利用引用计数值可以避免云端服务器多份相同文件的拷贝。
为了实现上述实施例,本发明还提出一种客户端。
一种客户端,包括应用程序模块和加速引擎模块,其中,应用程序模块,用于接收用户的第一文件上传请求和上传文件;加速引擎模块,用于截获第一文件上传请求和上传文件,并根据第一文件上传请求对客户端和云端服务器的身份进行验证,并在验证通过之后,生成上传文件的签名信息,并向云端服务器发送第二文件上传请求,其中,第二文件上传请求包括签名信息。
图9是本发明一个实施例的客户端的结构框图。
如图9所示,根据本发明实施例的客户端包括应用程序模块110和加速引擎模块 120。
具体地,应用程序模块110用于接收用户的第一文件上传请求和上传文件。例如, 用户可通过浏览器或客户端软件发送第一文件上传请求和上传文件。
加速引擎模块120用于截获第一文件上传请求和上传文件,并根据第一文件上传请求对客户端和云端服务器的身份进行验证,并在验证通过之后,生成上传文件的签名信息,并向云端服务器发送第二文件上传请求,其中,第二文件上传请求包括签名信息。其中,加速引擎120为运行在客户端下层的软件模块,可以实时监测应用程序110,每当应用程序110将要发送第一文件上传请求时将其截获,无需修改应用程序110。根据本发明实施例的客户端,加速引擎通过身份验证可以确保客户端和云端服务器之间的安全交互,同时加速引擎根据上传文件重新获取签名信息,可以防止他人不断的尝试伪造不同的签名信息尝试访问云端服务器上已经存在的文件而造成用户数据的泄露,可以确保安全,保护用户隐私。在本发明的一个实施例中,加速引擎模块120还用于接收云端服务器发送的上传成功信息,并将上传成功信息传送至应用程序模块110。由此向客户端的用户反馈上传成功信息。在本发明的一个实施例中,加速引擎模块120还用于根据第一文件上传请求在 客户端和云存储服务器之间建立加密验证通道,并通过加密验证通道对客户端和云存储服务器的身份进行验证。具体地,通过加密验证通道客户端可以确保连接到正确的云端服务器,且云端服务器端可以确保是正确的客户端发起文件上传请求,其中,可以通过数字签名证书机制来实现,例如数字签名证书等,如果身份认证失败,则加速引擎不再继续执行后续的步骤,客户端可以直接通过应用程序110进行文件全部内容的传输。在本发明的一个实施例中,签名信息包括文件指纹信息和/或文件大小信息和/或文件类型信息。具体地,文件指纹信息可以作为鉴别文件的唯一标准,可以采用MD5(Message Digest Algorithm 5,消息摘要算法 5)、SHA (Secure HashAlgorithm,安全散列算法)256、SHA512等算法计算获取,由于文件指纹信息的计算可能存在一些漏洞,加入文件大小信息和/或文件类型信息以辅助签名文件,文件大小可以精确到字节,文件类型信息可以采用国际标准定义。应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
权利要求
1.一种上传文件的管理方法,其特征在于,包括以下步骤a、客户端中的应用程序接收用户的第一文件上传请求和上传文件;b、所述客户端中的加速引擎截获所述第一文件上传请求和上传文件;C、所述加速引擎根据所述第一文件上传请求对所述客户端和所述云端服务器的身份进行验证;d、验证通过之后,所述加速引擎生成所述上传文件的签名信息,并向所述云端服务器发送第二文件上传请求,其中,所述第二文件上传请求包括所述签名信息;e、所述云端服务器根据所述签名信息判断所述上传文件是否已存在于所述云端服务器中;以及f、如果所述上传文件已存在于所述云端服务器中,则所述云端服务器获得所述上传文件在所述云端服务器中的地址信息,并将所述地址信息写入至所述用户在所述云端服务器中的空间。
2.根据权利要求1所述的方法,其特征在于,还包括以下步骤所述云端服务器发送上传成功信息至所述客户端中的加速引擎;以及所述客户端中的加速引擎将所述上传成功信息传送至所述客户端中的应用程序。
3.根据权利要求1所述的方法,其特征在于,所述步骤c具体包括以下步骤所述加速引擎根据所述第一文件上传请求在所述客户端和所述云存储服务器之间建立加密验证通道,并通过所述加密验证通道对所述客户端和所述云存储服务器的身份进行验证。
4.根据权利要求1所述的方法,其特征在于,所述签名信息包括文件指纹信息和/或文件大小信息和/或文件类型信息。
5.根据权利要求4所述的方法,其特征在于,所述步骤e具体包括以下步骤所述云端服务器根据所述文件指纹信息在指纹信息索引表中进行查找以获取对应文件,并获取所述文件大小信息和/或文件类型信息;以及所述云端服务器判断所述对应文件的所述文件大小信息和/或文件类型信息与所述上传文件的所述文件大小信息和/或文件类型信息是否一致,其中,当所述云端服务器判断一致时,所述云端服务器确定所述上传文件已存在于所述云端服务器中。
6.根据权利要求1-5任一项所述的方法,其特征在于,还包括以下步骤所述云端服务器将所述上传文件的引用计数值加I。
7.根据权利要求6所述的方法,其特征在于,还包括以下步骤在所述上传文件不存在于所述云端服务器中时,所述云端服务器接收所述客户端发送的所述上传文件,并将所述上传文件的引用计数值赋值为I。
8.根据权利要求6所述的方法,其特征在于,还包括以下步骤如果所述用户删除所述上传文件时,则所述云端服务器将所述上传文件的引用计数值减I。
9.根据权利要求6所述的方法,其特征在于,还包括以下步骤所述云端服务器判断所述上传文件的引用计数值是否为O ;以及如果所述上传文件的引用计数值为0,则所述云端服务器删除所述上传文件。
10.一种上传文件的管理系统,其特征在于,包括客户端和云端服务器,所述客户端中运行有应用程序和加速引擎,其中,所述应用程序,用于接收用户的第一文件上传请求和上传文件;所述加速引擎,用于截获所述第一文件上传请求和上传文件,并根据所述第一文件上传请求对所述客户端和所述云端服务器的身份进行验证,以及验证通过之后,生成所述上传文件的签名信息,并向所述云端服务器发送第二文件上传请求,其中,所述第二文件上传请求包括所述签名信息;所述云端服务器,用于根据所述签名信息判断所述上传文件是否已存在于所述云端服务器中,以及在所述上传文件已存在于所述云端服务器中时,获得所述上传文件在所述云端服务器中的地址信息,并将所述地址信息写入至所述用户在所述云端服务器中的空间。
11.根据权利要求10所述的系统,其特征在于,所述云端服务器还用于发送上传成功信息至所述加速引擎,其中所述加速引擎将所述上传成功信息传送至所述应用程序。
12.根据权利要求10所述的系统,其特征在于,所述加速引擎还用于根据所述第一文件上传请求在所述客户端和所述云存储服务器之间建立加密验证通道,并通过所述加密验证通道对所述客户端和所述云存储服务器的身份进行验证。
13.根据权利要求10所述的系统,其特征在于,所述签名信息包括文件指纹信息和/或文件大小信息和/或文件类型信息。
14.根据权利要求13所述的系统,其特征在于,所述云端服务器还用于根据所述文件指纹信息在指纹信息索引表中进行查找以获取对应文件,并获取所述文件大小信息和/或文件类型信息,以及判断所述对应文件的所述文件大小信息和/或文件类型信息与所述上传文件的所述文件大小信息和/或文件类型信息是否一致,其中,当所述云端服务器判断一致时,所述云端服务器确定所述上传文件已存在于所述云端服务器中。
15.根据权利要求10-14任一项所述的系统,其特征在于,所述云端服务器将所述上传文件的引用计数值加I。
16.根据权利要求15所述的系统,其特征在于,所述云端服务器还用于在所述上传文件不存在于所述云端服务器中时,接收所述客户端发送的所述上传文件,并将所述上传文件的引用计数值赋值为I。
17.根据权利要求15所述的系统,其特征在于,所述云端服务器还用于在所述用户删除所述上传文件时,将所述上传文件的引用计数值减I。
18.根据权利要求15所述的系统,其特征在于,所述云端服务器还用于判断所述上传文件的引用计数值是否为0,以及在所述上传文件的引用计数值为O时, 删除所述上传文件。
19.一种客户端,其特征在于,包括应用程序模块和加速引擎模块,其中,所述应用程序模块,用于接收用户的第一文件上传请求和上传文件;所述加速引擎模块,用于截获所述第一文件上传请求和上传文件,并根据所述第一文件上传请求对客户端和云端服务器的身份进行验证,并在验证通过之后,生成所述上传文件的签名信息,并向所述云端服务器发送第二文件上传请求,其中,所述第二文件上传请求包括所述签名信息。
20.根据权利要求19所述的客户端,其特征在于,所述加速引擎模块还用于接收所述云端服务器发送的上传成功信息,并将所述上传成功信息传送至所述应用程序模块。
21.根据权利要求19所述的客户端,其特征在于,所述加速引擎模块还用于根据所述第一文件上传请求在所述客户端和所述云存储服务器之间建立加密验证通道,并通过所述加密验证通道对所述客户端和所述云存储服务器的身份进行验证。
22.根据权利要求19所述的客户端,其特征在于,所述签名信息包括文件指纹信息和/ 或文件大小信息和/或文件类型信息。
全文摘要
本发明提出一种上传文件的管理方法、系统和客户端,其中方法包括以下步骤应用程序接收用户的第一文件上传请求和上传文件;加速引擎截获第一文件上传请求和上传文件;加速引擎根据第一文件上传请求对客户端和云端服务器的身份进行验证;验证通过之后,加速引擎生成上传文件的签名信息,并向云端服务器发送第二文件上传请求;云端服务器根据签名信息判断上传文件是否已存在于云端服务器中;以及,在上传文件已存在于云端服务器中时,云端服务器获得上传文件在云端服务器中的地址信息,并将地址信息写入至用户在云端服务器中的空间。本发明的实施例可在云端服务器中避免多份相同文件被拷贝多次,节省存储资源,又有效防止用户重复上传文件。
文档编号H04L29/08GK103002029SQ20121048935
公开日2013年3月27日 申请日期2012年11月26日 优先权日2012年11月26日
发明者巫国忠 申请人:北京百度网讯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1