基于AWS云服务的图片下载方法技术

技术编号:19751571 阅读:25 留言:0更新日期:2018-12-12 05:49
本发明专利技术公开了基于AWS云服务的图片下载方法,步骤为:A.把下载服务拆分成查询和下载两个服务;B.web前端发送包含需要下载的图片的条件的图片下载请求;C.将web请求被转发到后台接口对应的controller层并封装请求参数,再请求远程的下载服务,所述请求参数包含访问密钥信息和图片标识符;D.下载服务收到请求后解析访问密钥,并对访问密钥进行匹配校验,且校验通过后再请求远程的查询服务,并根据图片标识符获得图片相对路径;E.若图片相对路径存在,AWS云服务的下载服务会下载图片信息,并通过http请求方式返回图片信息。本发明专利技术的基于AWS云服务的图片下载方法其处理逻辑是减少不必要的下载访问,将查询和数据库的拆分开来,实现高耦合、低内聚、负载均衡。

【技术实现步骤摘要】
基于AWS云服务的图片下载方法
本专利技术涉及计算机网络
,特别涉及基于AWS云服务的图片下载方法。
技术介绍
随着互联网传输速度的提升,人们已经不仅限于浏览文字了,图片和视频在网页和各类应用中的占比也越来越大。传统图片存储方式采用数据库存储图片相对路径,文件服务器存储图片本身,下载时拼接完整路径,从服务器上获取图片。上述传统的下载图片方式在应用中存在较多问题,如人们可以根据页面展示的图片直接获取图片的完整的下载地址,从而暴露了文件服务器域名和下载格式,存在安全隐患,其次下载时,只要在浏览器输入完整地址即可,不存在用户身份信息验证。综上所述,传统的下载图片方式存在的问题主要有:图像的下载缺少用户认证,存在安全风险,图片的url无额外保护,存在泄露滥用的风险。单据下载时未先确认MySQL中的元信息是否存在,而访问直接压到了FastDFS存储端,存在性能风险。MySQL管理表中存有单据的元信息,且没有join等复杂的查询操作,如上传或下载并发量大时,查询性能会受到影响,且具有较大的安全隐患。
技术实现思路
本专利技术的目的是克服上述
技术介绍
中不足,提供基于AWS云服务的图片下载方法,用NoSQL数据库DynamoDB代替关系型数据库MySQL,用AWS云服务的S3文件服务器代替FastDFS文件服务器,将查询和数据库的拆分开来,实现高耦合、低内聚,为图像和文档的下载提供基于S3文件服务器和DynamoDB数据库的服务,利用Java相关技术实现,更好将图片文档等文件从S3文件服务器下载都浏览器或本地,同时方便开发人员管理维护,有效解决传统图片下载方式中用户访问安全性问题。为了达到上述的技术效果,本专利技术采取以下技术方案:基于AWS云服务的图片下载方法,包括以下步骤:A.把下载服务拆分成查询和下载两个服务,所述查询服务连接AWS云服务的DynamoDB数据库,用DynamoDB数据库代替原来MySQL数据库,作为生产者,为下载服务,下载服务连接AWS云服务的S3文件服务器,用S3文件服务器代替原来的FastDFS文件服务器,即作生产者又作消费者,消费查询并对外提供下载服务;B.web前端发送包含需要下载的图片的条件的图片下载请求;C.将web请求被转发到后台接口对应的controller层并封装请求参数,再请求远程的下载服务,所述请求参数包含访问密钥信息和图片标识符;D.下载服务收到请求后解析访问密钥,并对访问密钥进行匹配校验,且校验通过后再请求远程的查询服务,并根据图片标识符获得图片相对路径;E.若图片相对路径存在,AWS云服务的下载服务会下载图片信息,并通过http请求方式返回图片信息,若图片相对路径不存在,则不会启动下载图片信息。进一步地,所述的DynamoDB数据库用于存放图片元信息,所述S3服务器用于存放图片本身。进一步地,所述图片元信息至少包含图片相对路径和唯一标识符。进一步地,所述DynamoDB数据库存放的图片相对路径是带有超时设定的,仅在规定时间内下载才有效,可增强图片下载的访问控制。进一步地,所述步骤C中的访问密钥信息采用配置中心配置,且存放在配置中心的数据库里,采用在工程启动时从远程服务器的配置中心的数据库获取访问密钥,而远程服务器是有访问限制,比如只有内网和指定ip访问,从而减少了访问密钥泄漏的风险,提升了安全性。进一步地,所述步骤E中AWS云服务的下载服务下载图片时是使用AWS云服务的分片下载,可提高下载速度和实现断点下载。进一步地,所述步骤B中需要下载的图片的条件包含图片的标识符及是否下载后删除的设定。进一步地,所述查询服务和下载服务均采用的是Dubbo分布式服务框架,查询服务实现根据图片标识符查询图片相对路径,下载服务则可根据路径下载图片二进制信息,两个服务部署在不同服务器上,实现服务器负载均衡。本专利技术与现有技术相比,具有以下的有益效果:在本专利技术中的基于AWS云服务的图片下载方法中,其处理逻辑是减少不必要的下载访问,包括对访问密钥的访问,下载服务器的访问,工程部署服务器的访问等,从而极大的降低了图片下载的安全风险;下载从web服务器剥离成两个云服务,可根据需要对进行应用服务器进行扩容,下载采用多分片下载和多线程,可减少下载时间,提高用户体验,同时还有利于数据库服务器的负载均衡。具体实施方式下面结合本专利技术的实施例对本专利技术作进一步的阐述和说明。实施例:一种基于AWS云服务的图片下载方法,具体包括以下步骤:第一步:将原来的下载服务拆分成查询和下载两个分布式服务。本实施例中,查询服务和下载服务都用的是Dubbo分布式服务框架,其中,查询服务连接的AWS云服务的DynamoDB数据库,用DynamoDB数据库代替原来MySQL数据库,使其作为生产者为下载服务;下载服务连接的AWS云服务的S3文件服务器,用S3文件服务器代替原来的FastDFS文件服务器,使其即作生产者又作消费者,消费查询并对外提供下载服务。第二步:web前端发送要下载图片的条件,比如图片的UUID和是否下载后删除等,是否下载后删除可通过删除标志位的赋值来表示。第三步:web请求被转发到后台接口对应的controller层,封装请求参数,再请求远程的下载服务,其中,请求参数带有基本的安全认证的信息和图片的UUID等,基本的安全认证的信息一般为访问密钥信息。第四步:查询:下载服务接受请求时会校验基本的安全信息认证,校验通过后再请求远程的查询服务,并根据图片UUID得到图片元信息,本实施例中进行安全信息认证时是对访问密钥进行匹配校验;第五步:下载服务,得到图片元信息后,解析传入的相对路径和删除标志位。相对路径为S3文件服务器的路径名+图片名称(一般为随机生成的UUID加上文件后缀名)或者DynamoDB数据库的pre-signURL,判断是否存在该URL对应的图片元信息,若不存在则取消下载,若存在则还需要再判断pre-signURL是否超时,超时同样会取消下载,最后才用AWS云服务提供的API从S3文件服务器下载相应的文件,得到的是一个文件输出流。客户可以直接在浏览器中打开或者变成压缩文件存储。同时AWS云服务也提供了多线程技术加快下载。具体的,删除标志位为1即表示要从S3文件服务器删除该图片,同时也要抹除DynamoDB数据库相关的图片元信息,删除标志位为0则表示不删除,且不做其他任何操作。例如:用户得到的图片元素信息删除标志位为1,相对路径是一个pre-signURL,下载服务会判断该相对路径是否为空,假如不为空,会再判断该URL是否超时,假设并没有超时,这时会启动AWS的下载服务,启动下载,并返回给对应的controller,然后删除DynamoDB中该图片的元信息和AWS的图片信息。本专利技术的基于AWS云服务的图片下载方法用NoSQL数据库DynamoDB代替关系型数据库MySQL,用AWS云服务的S3文件服务器代替FastDFS文件服务器,将查询和数据库的拆分开来,实现高耦合、低内聚,为图像和文档的下载提供基于S3文件服务器和DynamoDB数据库的服务,利用Java相关技术实现,更好将图片文档等文件从S3文件服务器下载都浏览器或本地,其处理逻辑是减少不必要的下载访问,包括对访问密钥的访问,下载服务器的访问,工程部本文档来自技高网...

【技术保护点】
1.基于AWS云服务的图片下载方法,其特征在于,包括以下步骤:A.把下载服务拆分成查询和下载两个服务,所述查询服务连接AWS云服务的DynamoDB数据库,下载服务连接AWS云服务的S3文件服务器;B.web前端发送包含需要下载的图片的条件的图片下载请求;C.将web请求被转发到后台接口对应的controller层并封装请求参数,再请求远程的下载服务,所述请求参数包含访问密钥信息和图片标识符;D.下载服务收到请求后解析访问密钥,并对访问密钥进行匹配校验,且校验通过后再请求远程的查询服务,并根据图片标识符获得图片相对路径;E.若图片相对路径存在,AWS云服务的下载服务会下载图片信息,并通过http请求方式返回图片信息,若图片相对路径不存在,则不会启动下载图片信息。

【技术特征摘要】
1.基于AWS云服务的图片下载方法,其特征在于,包括以下步骤:A.把下载服务拆分成查询和下载两个服务,所述查询服务连接AWS云服务的DynamoDB数据库,下载服务连接AWS云服务的S3文件服务器;B.web前端发送包含需要下载的图片的条件的图片下载请求;C.将web请求被转发到后台接口对应的controller层并封装请求参数,再请求远程的下载服务,所述请求参数包含访问密钥信息和图片标识符;D.下载服务收到请求后解析访问密钥,并对访问密钥进行匹配校验,且校验通过后再请求远程的查询服务,并根据图片标识符获得图片相对路径;E.若图片相对路径存在,AWS云服务的下载服务会下载图片信息,并通过http请求方式返回图片信息,若图片相对路径不存在,则不会启动下载图片信息。2.根据权利要求1所述的基于AWS云服务的图片下载方法,其特征在于,所述的DynamoDB数据库用于存放图片元信息,所述S3服务器用于存放图片本身。3.根...

【专利技术属性】
技术研发人员:陈洋岳永胜李波
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1