【发明内容】
基于此,有必要提供一种能使用户操作更方便的文件管理方法。
一种文件管理方法,包括以下步骤:
获取对在文件或文件夹的右键菜单中设置的云复制按钮的点击操作;
根据所述点击操作调用与所述云复制按钮对应的文件发送命令;
执行所述文件发送命令,将用户选择的文件和/或文件夹上传到服务器。
在优选的实施例中,所述执行所述文件发送命令,将用户选择的文件和/或文件夹上传到服务器的步骤为:
执行所述预设的客户端的文件发送命令,通过所述客户端调用进程使用网络通信协议从客户端将用户选择的文件和/或文件夹上传到服务器。
在优选的实施例中,所述方法还包括:
通过所述客户端获取用户标识和所述选择的文件或文件夹的文件标识,将所述用户标识和文件标识关联存储在所述服务器中。
在优选的实施例中,所述文件标识包括文件名、文件大小、文件哈希值。
在优选的实施例中,所述方法还包括:
所述服务器获取客户端提交的用户标识;
获取存储的与所述用户标识关联的文件标识;
将与获取的文件标识对应的文件列表下发到所述客户端。
此外,还有必要提供一种能使用户操作更方便的文件管理系统。
一种文件管理系统,包括客户端及与所述客户端进行交互的服务器,所述客户端包括:
菜单设置模块,用于在文件和/或文件夹的右键菜单中设置云复制按钮;
操作获取模块,用于获取用户对所述云复制按钮的点击操作;
操作处理模块,用于调用与所述云复制按钮对应的文件发送命令,执行所述文件发送命令,将用户选择的文件和/或文件夹上传到所述服务器。
在优选的实施例中,所述操作处理模块用于执行所述预设的客户端的文件发送命令,通过所述客户端调用进程使用网络通信协议从客户端将用户选择的文件和/或文件夹上传到所述服务器。
在优选的实施例中,所述服务器包括:
数据库,用于获取用户标识和所述选择的文件或文件夹的文件标识,并将所述用户标识和文件标识关联存储起来。
在优选的实施例中,所述文件标识包括文件名、文件大小、文件哈希值。
在优选的实施例中,所述服务器还包括:文件下发模块,用于获取客户端提交的用户标识,并获取所述数据库中存储的与所述用户标识关联的文件标识,将与获取的文件标识对应的文件列表下发到所述客户端。
上述文件管理方法和系统,通过在文件和/或文件夹的右键菜单中设置云复制按钮,当用户选择某个文件或文件夹时,可直接从该文件/文件夹的右键菜单中点击云复制按钮,当获取到用户对云复制按钮的点击操作时,可调用与云复制按钮对应的文件发送命令并执行,直接将用户选择的文件和/或文件夹上传到服务器。这样,不需要在客户端或网站上设置文件上传入口,也不需要用户通过客户端或网站来选择需要上传的文件,因此能够节省用户操作,使用户通过网络管理文件更加方便。
【具体实施方式】
如图1所示,在一个实施例中,一种文件管理方法,包括以下步骤:
步骤S102,在文件和/或文件夹的右键菜单中设置云复制按钮。
在一个实施例中,可通过修改注册表中的相应子键来将云复制按钮设置在文件和/或文件夹的右键菜单中。具体的,可在注册表中建立与云复制按钮对应的子键,并设置与该子键对应的命令为预设的客户端的文件发送命令。
例如,在操作系统中运行regedit,打开注册表编辑器,并定位到“HKEY_LOCAL_MACHINE\Software\CLASSES\Directory\shell,在该位置下建立一个名为“QQCloudCopy”的子键,双击右侧窗口中的“默认”,将数值设为“QQ云复制”,则在文件或文件夹的右键菜单中会显示“QQ云复制”按钮。如图2所示,设置的“QQ云复制”按钮位于文件/文件夹的右键菜单的中间位置。
由于云复制按钮对应了预设的客户端的文件发送命令,在点击了该云复制按钮则执行相应的命令。例如,点击云复制按钮,则通过预设的客户端将选择的文件/文件夹上传到服务器。
步骤S104,获取用户对云复制按钮的点击操作。
在一个实施例中,如图2所示,用户选择某个文件或文件夹,打开右键菜单,在右键菜单中点击云复制按钮,则获取用户对云复制按钮的点击操作。
步骤S106,根据点击操作将用户选择的文件和/或文件夹上传到服务器。
具体的,步骤S106中,根据点击操作调用与云复制按钮对应的文件发送命令;执行该文件发送命令,将用户选择的文件和/或文件夹上传到服务器。
在一个实施例中,可执行预设的客户端的文件发送命令,通过该客户端调用进程使用网络通信协议从客户端将用户选择的文件和/或文件夹上传到服务器。进一步的,可使用http协议post方式从客户端将用户选择的文件和/或文件夹上传到服务器。
预设的客户端可以是即时通信客户端、电脑管家客户端或其他可上传文件的应用程序客户端。如上所述,“command”的数值预先设置为某个客户端的文件发送命令,则获取到对云复制按钮的点击操作后,执行该文件发送命令,从客户端将用户选择的文件和/或文件夹上传到服务器。
在一个实施例中,上述文件管理方法还包括:通过客户端获取用户标识和选择的文件或文件夹的文件标识,将用户标识和文件标识关联存储在服务器中。
进一步的,通过客户端获取用户标识的步骤包括:通过客户端获取用户登录信息,若获取到用户登录信息,则根据用户登录信息获取用户标识;若获取不到用户登录信息,则弹出登录框,通过该登录框获取输入的用户登录信息,并根据输入的用户登录信息获取用户标识。
用户标识可以是用户登录客户端的帐号或客户端为用户分配的用于唯一标识某个用户的号码等。当客户端不能获取到当前登录客户端的用户的用户标识,则表明当前用户未登录客户端,可提醒用户进行登录后获取用户标识。
进一步的,文件标识包括文件名、文件大小、文件哈希值等。服务器可将接收到的用户标识和对应的文件标识进行关联存储。对于同一用户标识,可在服务器关联存储与该用户标识对应的多个文件标识,以实现对某个用户上传的文件和/或文件夹进行有效管理。
另外,还可采用云存储的方式存储上传的文件,即通过集群应用、网格技术或分布式文件系统来存储上传的文件,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能。
在一个实施例中,在将用户选择的文件或/文件夹上传到服务器前,还可根据文件哈希值对文件进行校验,以判断是否在服务器中已经存在相应的文件,如果存在,则不需要上传已在服务器中存在的文件,并返回提示信息提示用户该文件已存在。
在另一个实施例中,上述文件管理方法还包括:服务器获取客户端提交的用户标识,获取存储的与用户标识关联的文件标识,将与获取的文件标识对应的文件列表下发到客户端。本实施例中,在文件上传成功后,根据用户标识可以从服务器下载对应该用户标识的文件,以实现文件的共享。
具体的,可由客户端将用户标识提交到服务器,服务器根据用户标识获取与该用户标识关联的文件标识,将与获取的文件标识对应的文件组成列表,下发到客户端。这样,用户可以通过客户端下载选择的文件。
如图3所示,在一个实施例中,一种文件管理系统,包括客户端100及与客户端100进行交互的服务器200,其中,客户端100包括菜单设置模块102、操作获取模块104和操作处理模块106,其中:
菜单设置模块102用于在文件和/或文件夹的右键菜单中设置云复制按钮。
在一个实施例中,菜单设置模块102可通过修改注册表中的相应子键来将云复制按钮设置在文件和/或文件夹的右键菜单中。具体的,菜单设置模块102可用于在注册表中建立与云复制按钮对应的子键,并设置与该子键对应的命令为预设的客户端的文件发送命令。
由于云复制按钮对应了特预设的客户端的文件发送命令,在点击了该云复制按钮则执行相应的命令。如图2所示,菜单设置模块102设置的“QQ云复制”按钮位于文件/文件夹的右键菜单的中间位置。
进一步的,云复制按钮对应了特定的命令,在点击了该云复制按钮则执行相应的命令。例如,点击云复制按钮,则将选择的文件/文件夹上传到服务器200。
操作获取模块104用于获取用户对云复制按钮的点击操作。
在一个实施例中,用户选择某个文件或文件夹,打开右键菜单,在右键菜单中点击云复制按钮,则操作获取模块104获取用户对云复制按钮的点击操作。
操作处理模块106用于根据点击操作调用与云复制按钮对应的文件发送命令,将用户选择的文件和/或文件夹上传到服务器200。
具体的,操作处理模块106用于执行预设的客户端的文件发送命令,通过该客户端调用进程使用网络通信协议从客户端100将用户选择的文件和/或文件夹上传到服务器200。进一步的,操作处理模块106可使用http协议post方式从客户端100将用户选择的文件和/或文件夹上传到服务器200。
预设的客户端可以是即时通信客户端、电脑管家客户端或其他可上传文件的应用程序客户端。操作处理模块106可以设置在这些客户端中,操作处理模块106执行预设的文件发送命令,从客户端将用户选择的文件和/或文件夹上传到服务器200。在一个实施例中,操作处理模块106还用于获取用户标识和选择的文件或文件夹的文件标识,将用户标识和文件标识对应发送至服务器200。
进一步的,操作处理模块106用于获取用户登录信息,若获取到用户登录信息,则根据用户登录信息获取用户标识;若获取不到用户登录信息,则弹出登录框,通过该登录框获取输入的用户登录信息,并根据输入的用户登录信息获取用户标识。
用户标识可以是用户登录客户端的帐号或客户端为用户分配的用于唯一标识某个用户的号码等。当操作处理模块106不能获取到当前登录客户端的用户的用户标识,则表明当前用户未登录客户端,可提醒用户进行登录后获取用户标识。
在一个实施例中,如图4所示,服务器200包括数据库202,用于获取用户标识和文件标识,并将用户标识和文件标识关联存储起来。
即数据库202存储了用户标识和文件标识的对应关系。具体的,文件标识包括文件名、文件大小、文件哈希值等。
另外,还可采用云存储的方式存储上传的文件,即通过集群应用、网格技术或分布式文件系统来存储上传的文件,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能。
在一个实施例中,服务器200还可包括校验模块(图中未示出),用于在将用户选择的文件或/文件夹上传到服务器200前,根据文件哈希值对文件进行校验,以判断是否在数据库202中已经存在相应的文件,如果存在,则不需要上传已在数据库202中存在的文件,并返回提示信息提示用户该文件已存在。
在另一个实施例中,如图4所示,服务器200还包括文件下发模块204,用于获取用户标识,并获取与用户标识关联的文件标识,将与获取的文件标识对应的文件列表下发到客户端100。本实施例中,在文件上传成功后,客户端100根据用户标识可以从服务器200下载对应该用户标识的文件,以实现文件的共享。
具体的,可由客户端100将用户标识提交到服务器200,服务器200的文件下发模块204用于根据用户标识获取与该用户标识关联的文件标识,将与获取的文件标识对应的文件组成列表,下发到客户端100。这样,用户可以通过客户端100下载选择的文件。
上述文件管理方法和系统,通过在文件和/或文件夹的右键菜单中设置云复制按钮,当用户选择某个文件或文件夹时,可直接从该文件/文件夹的右键菜单中点击云复制按钮,当获取到用户对云复制按钮的点击操作时,可调用与云复制按钮对应的文件发送命令并执行,直接将用户选择的文件和/或文件夹上传到服务器。这样,不需要在客户端或网站上设置文件上传入口,也不需要用户通过客户端或网站来选择需要上传的文件,因此能够节省用户操作,使用户通过网络管理文件更加方便。
此外,在获取到云复制按钮的点击操作后,通过客户端提交用户标识,并在服务器将用户标识和文件标识关联存储起来,可以通过用户标识对文件进行有效管理,方便通过其他平台下载通过网络存储的文件,实现不同平台间的文件共享。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。