一种分布式文件上传方法及系统与流程

文档序号:24551473发布日期:2021-04-06 12:03阅读:93来源:国知局
一种分布式文件上传方法及系统与流程

本发明涉及互联网技术领域,特别是涉及一种分布式文件上传方法及系统。



背景技术:

在c/s(client/server;客户机/服务器)与b/s(browser/server;浏览器/服务器)混合架构的互联网应用系统中,常常需要上传文件至web(worldwideweb;全球广域网)服务器。目前大多数网站和app(应用程序,application)的接口都是采用http(应用层协议)协议,但是http是无状态的,也就是服务器没法自己判断两个请求是否有联系。如何将客户端输入的口令用于http传输验证,客户端又如何得知文件传输是否完成,这是一个技术难点。

这种系统中,mico(微型)客户端需上传文件到服务器,通过http协议上传文件至客户端设置web服务器。因为mico分为应用服务器(使用udp和tcp协议)和上传文件的web服务器,两个服务器分开。所以此方案应用服务器无法确定是否上传成功,无法限制用户是否有权限上传。



技术实现要素:

本发明的目的在于,提出一种分布式文件上传方法及系统,解决现有方法无法确定是否上传成功,无法限制用户是否有权限上传的技术问题。

一方面,提供一种分布式文件上传方法,包括以下步骤:

步骤s1,响应于客户端的用户输入的文件上传请求,应用服务器获取客户端信息,并根据所述客户端信息检测对应的用户的上传权限,生成上传权限结果;并根据所述上传权限结果加密生成第一上传令牌;其中,所述上传权限结果包括有权限或无权限;

步骤s2,所述应用服务器获取相连的web服务器的状态信息,根据所述web服务器的状态信息确定可调用的web服务器,作为上传目标服务器,并将所述第一上传令牌发送给所述上传目标服务器;以及,将所述上传目标服务器的地址信息和所述第一上传令牌发送给所述客户端;

步骤s3,所述客户端接收所述上传目标服务器的地址信息和所述第一上传令牌,解析所述第一上传令牌生成第二上传令牌,通过https协议上传文件和所述第二上传令牌到所述上传目标服务器;

步骤s4,所述上传目标服务器将接收的第二令牌与接收的第一令牌进行相互验证,生成验证结果;根据所述验证结果接收上传的文件,并生成上传结果;将所述上传结果返回给所述客户端;其中,所述验证结果包括有权限或无权限;所述上传结果包括成功或未成功;

步骤s5,所述客户端将接收的所述上传结果发送给所述应用服务器。

优选地,所述客户端信息至少包括用户登录场景信息、客户端的id信息、用户信息及上传文件列表。

优选地,所述步骤s1包括:获取客户端登录的用户信息,根据所述用户信息从预设的用户与文件关系表中查询该用户是否具有上传所述上传文件列表的权限,

当查询该用户具有上传所述上传文件列表的权限时,判定该用户有上传权限,生成上传权限结果为有权限;

当查询该用户不具有上传所述上传文件列表的权限时,判定该用户无上传权限,生成上传权限结果为无权限。

优选地,所述第一上传令牌至少包括用户的帐号、密码和上传文件列表的url地址;所述第二上传令牌至少包括用户的帐号、密码和上传文件列表的url地址。

优选地,所述步骤s4包括:当接收的第二令牌与接收的第一令牌记录的用户的帐号、密码及上传文件列表的url地址全部相同时,判定客户端的用户有权限上传文件,生成验证结果为有权限;

当接收的第二令牌与接收的第一令牌记录的用户的帐号、密码及上传文件列表的url地址其中一项不同时,判定客户端的用户无权限上传文件,生成验证结果为无权限。

优选地,所述步骤s4还包括:接收上传文件,将接收的上传文件与所述第二令牌内的上传文件列表对比,若接收的上传文件与所述上传文件列表相同,则判定上传成功,生成上传结果为成功;

若接收的上传文件与所述上传文件列表不同,则判定上传未成功,生成上传结果为未成功。

另一方面,还提供一种分布式文件上传系统,依靠所述的分布式文件上传方法,包括:相互连接的客户端、应用服务器及web服务器;

所述客户端,用以接收所述上传目标服务器的地址信息和所述第一上传令牌,解析所述第一上传令牌生成第二上传令牌,通过https协议上传文件和所述第二上传令牌到所述上传目标服务器;

所述应用服务器,用以响应于客户端的用户输入的文件上传请求,应用服务器获取客户端信息,并根据所述客户端信息检测对应的用户的上传权限,生成上传权限结果;并根据所述上传权限结果加密生成第一上传令牌;其中,所述上传权限结果包括有权限或无权限;

所述web服务器,用以将接收的第二令牌与接收的第一令牌进行相互验证,生成验证结果;根据所述验证结果接收上传的文件,并生成上传结果;将所述上传结果返回给所述客户端;其中,所述验证结果包括有权限或无权限;所述上传结果包括成功或未成功;

其中,所述应用服务器还用于获取相连的web服务器的状态信息,根据所述web服务器的状态信息确定可调用的web服务器,作为上传目标服务器,并将所述第一上传令牌发送给所述上传目标服务器;以及,将所述上传目标服务器的地址信息和所述第一上传令牌发送给所述客户端;

所述客户端还用于将接收的所述上传结果发送给所述应用服务器。

优选地,所述第一上传令牌至少包括用户的帐号、密码和上传文件列表的url地址;所述第二上传令牌至少包括用户的帐号、密码和上传文件列表的url地址。

优选地,所述应用服务器获取客户端信息中的用户信息,根据所述用户信息从预设的用户与文件关系表中查询该用户是否具有上传所述上传文件列表的权限,

当查询该用户具有上传所述上传文件列表的权限时,判定该用户有上传权限,生成上传权限结果为有权限;

当查询该用户不具有上传所述上传文件列表的权限时,判定该用户无上传权限,生成上传权限结果为无权限;

其中,所述客户端信息至少包括用户登录场景信息、客户端的id信息、用户信息及上传文件列表。

优选地,所述上传目标服务器将接收的第二令牌与接收的第一令牌记录的用户的帐号、密码及上传文件列表的url地址全部相同时,判定客户端的用户有权限上传文件,生成验证结果为有权限;

当接收的第二令牌与接收的第一令牌记录的用户的帐号、密码及上传文件列表的url地址其中一项不同时,判定客户端的用户无权限上传文件,生成验证结果为无权限;

以及,所述上传目标服务器接收上传文件,将接收的上传文件与所述第二令牌内的上传文件列表对比,若接收的上传文件与所述上传文件列表相同,则判定上传成功,生成上传结果为成功;

若接收的上传文件与所述上传文件列表不同,则判定上传未成功,生成上传结果为未成功。

综上,实施本发明的实施例,具有如下的有益效果:

本发明提供的分布式文件上传方法及系统,通过添加上传token(令牌)解决上传权限的问题,并且上传的web服务器url由应用服器生成可以控制具体的上传服务器,通过客户端发送上传结果到应用服务器确保上传结果的正确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其他的附图仍属于本发明的范畴。

图1为本发明实施例中一种分布式文件上传方法的主流程示意图。

图2为本发明实施例中一种分布式文件上传方法的逻辑示意图。

图3为本发明实施例中一种分布式文件上传系统的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。

如图1和图2所示,为本发明提供的一种分布式文件上传方法的一个实施例的示意图。在该实施例中,所述方法包括以下步骤:

步骤s1,响应于客户端的用户输入的文件上传请求,应用服务器获取客户端信息,并根据所述客户端信息检测对应的用户的上传权限,生成上传权限结果;并根据所述上传权限结果加密生成第一上传令牌;其中,所述上传权限结果包括有权限或无权限;可以理解的是,所述客户端信息至少包括用户登录场景信息、客户端的id信息、用户信息及上传文件列表。所述第一上传令牌至少包括用户的帐号、密码和上传文件列表的url地址。

具体实施例中,获取客户端登录的用户信息,根据所述用户信息从预设的用户与文件关系表中查询该用户是否具有上传所述上传文件列表的权限,当查询该用户具有上传所述上传文件列表的权限时,判定该用户有上传权限,生成上传权限结果为有权限;当查询该用户不具有上传所述上传文件列表的权限时,判定该用户无上传权限,生成上传权限结果为无权限。可以理解的是,服务器的数据库里有一个用户与文件关系表,到数据表里去查询该用户有没有上传文件的权限),并检查该用户的剩余云空间(每个用户分配有300m的云存储空间),如果条件不满足,返回错误码给客户端;条件满足,生成上传令牌。

步骤s2,所述应用服务器获取相连的web服务器的状态信息,根据所述web服务器的状态信息确定可调用的web服务器,作为上传目标服务器,并将所述第一上传令牌发送给所述上传目标服务器;以及,将所述上传目标服务器的地址信息和所述第一上传令牌发送给所述客户端;可以理解的是,应用服务器查找可用的web服务器,发送令牌到web服务器;应用服务器回复客户端web服务器地址和上传令牌。

步骤s3,所述客户端接收所述上传目标服务器的地址信息和所述第一上传令牌,解析所述第一上传令牌生成第二上传令牌,通过https协议上传文件和所述第二上传令牌到所述上传目标服务器;可以理解的是,客户端解析令牌,通过https协议上传文件到web服务器。其中,所述第二上传令牌至少包括用户的帐号、密码和上传文件列表的url地址。

步骤s4,所述上传目标服务器将接收的第二令牌与接收的第一令牌进行相互验证,生成验证结果;根据所述验证结果接收上传的文件,并生成上传结果;将所述上传结果返回给所述客户端;其中,所述验证结果包括有权限或无权限;所述上传结果包括成功或未成功;可以理解的是,web服务器检查令牌权限,并将上传结果发回给客户端。

具体实施例中,当接收的第二令牌与接收的第一令牌记录的用户的帐号、密码及上传文件列表的url地址全部相同时,判定客户端的用户有权限上传文件,生成验证结果为有权限;

当接收的第二令牌与接收的第一令牌记录的用户的帐号、密码及上传文件列表的url地址其中一项不同时,判定客户端的用户无权限上传文件,生成验证结果为无权限。

再具体地,接收上传文件,将接收的上传文件与所述第二令牌内的上传文件列表对比,若接收的上传文件与所述上传文件列表相同,则判定上传成功,生成上传结果为成功;

若接收的上传文件与所述上传文件列表不同,则判定上传未成功,生成上传结果为未成功。

步骤s5,所述客户端将接收的所述上传结果发送给所述应用服务器。

如图3所示,本发明的另一实施例还提供一种分布式文件上传系统,依靠所述的分布式文件上传方法,包括:相互连接的客户端、应用服务器及web服务器;

所述客户端,用以接收所述上传目标服务器的地址信息和所述第一上传令牌,解析所述第一上传令牌生成第二上传令牌,通过https协议上传文件和所述第二上传令牌到所述上传目标服务器;

所述应用服务器,用以响应于客户端的用户输入的文件上传请求,应用服务器获取客户端信息,并根据所述客户端信息检测对应的用户的上传权限,生成上传权限结果;并根据所述上传权限结果加密生成第一上传令牌;其中,所述上传权限结果包括有权限或无权限;

所述web服务器,用以将接收的第二令牌与接收的第一令牌进行相互验证,生成验证结果;根据所述验证结果接收上传的文件,并生成上传结果;将所述上传结果返回给所述客户端;其中,所述验证结果包括有权限或无权限;所述上传结果包括成功或未成功;

其中,所述应用服务器还用于获取相连的web服务器的状态信息,根据所述web服务器的状态信息确定可调用的web服务器,作为上传目标服务器,并将所述第一上传令牌发送给所述上传目标服务器;以及,将所述上传目标服务器的地址信息和所述第一上传令牌发送给所述客户端;

所述客户端还用于将接收的所述上传结果发送给所述应用服务器。

具体地,所述第一上传令牌至少包括用户的帐号、密码和上传文件列表的url地址;所述第二上传令牌至少包括用户的帐号、密码和上传文件列表的url地址。

再具体地,所述应用服务器获取客户端信息中的用户信息,根据所述用户信息从预设的用户与文件关系表中查询该用户是否具有上传所述上传文件列表的权限,

当查询该用户具有上传所述上传文件列表的权限时,判定该用户有上传权限,生成上传权限结果为有权限;

当查询该用户不具有上传所述上传文件列表的权限时,判定该用户无上传权限,生成上传权限结果为无权限;

其中,所述客户端信息至少包括用户登录场景信息、客户端的id信息、用户信息及上传文件列表。

再具体地,所述上传目标服务器将接收的第二令牌与接收的第一令牌记录的用户的帐号、密码及上传文件列表的url地址全部相同时,判定客户端的用户有权限上传文件,生成验证结果为有权限;

当接收的第二令牌与接收的第一令牌记录的用户的帐号、密码及上传文件列表的url地址其中一项不同时,判定客户端的用户无权限上传文件,生成验证结果为无权限;

以及,所述上传目标服务器接收上传文件,将接收的上传文件与所述第二令牌内的上传文件列表对比,若接收的上传文件与所述上传文件列表相同,则判定上传成功,生成上传结果为成功;

若接收的上传文件与所述上传文件列表不同,则判定上传未成功,生成上传结果为未成功。

综上,实施本发明的实施例,具有如下的有益效果:

本发明提供的分布式文件上传方法及系统,通过添加上传token(令牌)解决上传权限的问题,并且上传的web服务器url由应用服器生成可以控制具体的上传服务器,通过客户端发送上传结果到应用服务器确保上传结果的正确性。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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