直播平台上传和获取图像的系统及其方法技术方案

技术编号:15080465 阅读:86 留言:0更新日期:2017-04-07 12:36
本发明专利技术公开了一种直播平台上传和获取图像的系统及其方法,涉及直播平台技术领域,包括客户端、第一后台服务器、第二后台服务器、存储服务器、图片服务器和CDN服务器,第一后台服务器用于鉴权上传的图像是否合法,并将图像发送至图片服务器进行存储。第一后台服务器调用图像RPC并将图像URL写入存储服务器的内存中,并判断图像是否上传成功。第二后台服务器缓存图像URL,根据UID判断其内是否缓存有与UID对应的图像URL,其还从存储服务器长连接调用图像RPC,判断内存中是否存在与UID对应的图像URL。CDN服务器用于判断其内是否缓存有与UID对应的图像,且可从图片服务器回源拉取图像。本发明专利技术中的系统在获取图像时,不需要进行查库操作,避免系统出现性能瓶颈。

【技术实现步骤摘要】

本专利技术涉及直播平台
,具体涉及一种直播平台上传和获取图像的系统及其方法
技术介绍
目前用于上传和获取图像的系统一般有以下两种实现方式:一是通过UID(UserIdentification,用户身份证明)计算出图像URL(UniformResourceLocator,统一资源定位符),这种方式由于UID和URL是一一对应的,上传图像后的时候无法更新CDN(ContentDeliveryNetwork,内容分发网络)缓存,并且无法找到历史图像。二是通过UID查询数据得到相应的URL地址,上传图像每次生成不同的图像URL,UID和URL是一对多的关系,可以获得历史图像,并且能够使用CDN缓存,但这种方式在并发量大的情况下由于进行了查库操作,即会查询MySQL(关系型数据库管理系统),从而会带来系统性能上的瓶颈。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种不需要进行查库操作便能完成图像的上传和获取的直播平台上传和获取图像的系统。为达到以上目的,本专利技术采取的技术方案是:一种直播平台上传和获取图像的系统,包括客户端、第一后台服务器、第二后台服务器、存储服务器、图片服务器和CDN服务器,所述第一后台服务器用于鉴权所述客户端上传的图像是否合法,并将所述图像发送至所述图片服务器,所述图片服务器用于存储所述图像,所述CDN服务器用于缓存所述图片服务器存储的图像,且所述第一后台服务器还从所述图片服务器调用图像RPC并将图像URL写入所述存储服务器的内存中,并通过判断所述图像URL写入是否成功判断所述客户端上传图像是否成功;所述第二后台服务器用于缓存所述图像URL,并根据UID判断所述第二后台服务器是否缓存有与所述UID对应的图像URL,且所述第二后台服务器还从所述存储服务器长连接调用图像RPC,并判断所述内存中是否存在与所述UID对应的图像URL,所述CDN服务器用于判断其内是否缓存有与所述UID对应的图像,且可从所述图片服务器回源拉取与所述UID对应的图像并缓存。在上述技术方案的基础上,所述第一后台服务器采用PHP鉴权客户端上传的图像是否合法。在上述技术方案的基础上,所述第一后台服务器还包括所述PHP处理图形用的GD库,所述GD库将所述客户端上传的图像裁剪形成多个尺寸。在上述技术方案的基础上,所述系统还包括MySQL,所述第一后台服务器还将所述图像URL写入MySQL。在上述技术方案的基础上,所述第一后台服务器和第二后台服务器均为Nginx服务器。与此同时,本专利技术还提供一种不需要进行查库操作获取图像的方法。为达到以上目的,本专利技术采取的技术方案是:一种利用上述系统进行上传和获取图像的方法,包括以下步骤:客户端上传图像,第一后台服务器鉴权客户端上传的图像是否合法,若是,第一后台服务器将客户端上传的图像发送至图片服务器,若否,客户端上传图像失败;图片服务器对第一后台服务器发送的图像进行存储,同时CDN服务器缓存图片服务器存储的图像,第一后台服务器从图片服务器调用图像RPC并将图像URL写入存储服务器的内存中,然后判断图像URL写入是否成功,若是,客户端上传图像成功,若否,客户端上传图像失败;客户端上传图像成功后,第二后台服务器根据客户端传入的UID判断其内是否缓存有与UID对应的图像URL,若是,客户端获取图像URL,若否,第二后台服务器从存储服务器长连接调用图像RPC,并判断内存中是否存在与UID对应的图像URL,若存在,客户端获取图像URL,若不存在,客户端返回第二后台服务器设置的默认图像地址,获取第二后台服务器设置的初始化图像;客户端获取图像URL后,CDN服务器判断其内是否缓存有与UID对应的图像,若是,客户端获得图像,若否,CDN服务器从图片服务器回源拉取与UID对应的图像,并缓存在CDN服务器中。在上述技术方案的基础上,所述第一后台服务器采用PHP鉴权客户端上传的图像是否合法。在上述技术方案的基础上,所述第一后台服务器还包括所述PHP处理图形用的GD库,所述GD库将所述客户端上传的图像裁剪形成多个尺寸。在上述技术方案的基础上,所述系统还包括MySQL,所述第一后台服务器还将所述图像URL写入MySQL。与现有技术相比,本专利技术的优点在于:本专利技术中的直播平台上传和获取图像的系统利用连接池,长连接调用图像RPC,并查询存储服务器的内存中是否有该图像URL,相比传统网页获取图像URL采用短连接后台数据源获取信息的方式,避免了查库操作,避免系统出现性能瓶颈,从而能够满足大并发量获取图像的要求。附图说明图1为本专利技术中直播平台上传和获取图像的系统的框架示意图;图2为本专利技术中客户端上传图像的处理流程图;图3为本专利技术中客户端获取图像的处理流程图。具体实施方式以下结合附图及实施例对本专利技术作进一步详细说明。参见图1所示,本专利技术提供一种直播平台上传和获取图像的系统,其包括客户端、第一后台服务器、第二后台服务器、存储服务器、图片服务器和CDN(ContentDeliveryNetwork,内容分发网络)服务器。客户端可以是WEB浏览器或者APP客户端,用于上传和获取图像,图像可以用来作为用户的头像。第一后台服务器用于鉴权客户端上传的图像是否合法,并将图像发送至图片服务器。本专利技术中的第一后台服务器采用PHP(HypertextPreprocessor,超文本预处理器)处理,方便后期的图像鉴权、图像审核和图像裁剪等各种操作。对上传图像鉴权,根据TOKEN(令牌)、AUTH(认证)和密钥的加密规则检测是否是合法请求,再判断是否是用户本人,根据上传图像的报文,解析后利用白名单规则,规定了上传文件格式类型,只允许通过图片格式,避免各种非法的脚本上传。本专利技术中的第一后台服务器还包括GD库(PHP处理图形的扩展库),利用GD库,对用户上传的图像和裁剪的尺寸进行处理,将图像裁剪为240*240、120*120和64*64三种格式,并存入图片服务器。图片服务器用于存储图像,CDN服务器用于缓存图片服务器存储的图像。第一后台服务器从图片服务器调用图像RPC(RemoteProcedureCallProtocol,远程过程调用协议)并将图像URL写入存储服务器的内存中,并记录图像流水日志。由于写入存储服务器的内存的速度较慢,同时为了起到备份的作用,本系统还包括MySQL(关系型数据库管理系统),第一后台服务器还将所述图像URL写入MySQL中。此外,第一后台服务器还通过判断图像URL写入是否成功判断客户端上传图像是否成功。若图像URL写入存储服务器的内存和MySQL成功,则客户端成功上传图像,若图像URL写入存储服务器的内存和MySQL不成功,则客户端上传图像失败。第二后台服务器用于缓存图像URL,并根据UID判断第二后台服务器是否缓存有与UID对应的图像URL。为了满足大量极的图像请求,第二后台服务器采用的是NGINX服务器,第一后台服务器也采用的是NGINX服务器。若第二后台服务器缓存有与UID对应的图像URL,则客户端获取图像URL。若第二后台服务器判断出其内没有缓存与UID对应的图像URL时,第二后台服务器将从存储服务器长连接调用图像RPC,并判断内存中是否存在与UID对应的图像URL。若存在,客户端获取图像UR本文档来自技高网...
直播平台上传和获取图像的系统及其方法

【技术保护点】
一种直播平台上传和获取图像的系统,包括客户端、第一后台服务器、第二后台服务器、存储服务器、图片服务器和CDN服务器,其特征在于:所述第一后台服务器用于鉴权所述客户端上传的图像是否合法,并将所述图像发送至所述图片服务器,所述图片服务器用于存储所述图像,所述CDN服务器用于缓存所述图片服务器存储的图像,且所述第一后台服务器还从所述图片服务器调用图像RPC并将图像URL写入所述存储服务器的内存中,并通过判断所述图像URL写入是否成功判断所述客户端上传图像是否成功;所述第二后台服务器用于缓存所述图像URL,并根据UID判断所述第二后台服务器是否缓存有与所述UID对应的图像URL,且所述第二后台服务器还从所述存储服务器长连接调用图像RPC,并判断所述内存中是否存在与所述UID对应的图像URL,所述CDN服务器用于判断其内是否缓存有与所述UID对应的图像,且可从所述图片服务器回源拉取与所述UID对应的图像并缓存。

【技术特征摘要】
1.一种直播平台上传和获取图像的系统,包括客户端、第一后台服务器、第二后台服务器、存储服务器、图片服务器和CDN服务器,其特征在于:所述第一后台服务器用于鉴权所述客户端上传的图像是否合法,并将所述图像发送至所述图片服务器,所述图片服务器用于存储所述图像,所述CDN服务器用于缓存所述图片服务器存储的图像,且所述第一后台服务器还从所述图片服务器调用图像RPC并将图像URL写入所述存储服务器的内存中,并通过判断所述图像URL写入是否成功判断所述客户端上传图像是否成功;所述第二后台服务器用于缓存所述图像URL,并根据UID判断所述第二后台服务器是否缓存有与所述UID对应的图像URL,且所述第二后台服务器还从所述存储服务器长连接调用图像RPC,并判断所述内存中是否存在与所述UID对应的图像URL,所述CDN服务器用于判断其内是否缓存有与所述UID对应的图像,且可从所述图片服务器回源拉取与所述UID对应的图像并缓存。2.如权利要求1所述的直播平台上传和获取图像的系统,其特征在于:所述第一后台服务器采用PHP鉴权客户端上传的图像是否合法。3.如权利要求2所述的直播平台上传和获取图像的系统,其特征在于:所述第一后台服务器还包括所述PHP处理图形用的GD库,所述GD库将所述客户端上传的图像裁剪形成多个尺寸。4.如权利要求1所述的直播平台上传和获取图像的系统,其特征在于:所述系统还包括MySQL,所述第一后台服务器还将所述图像URL写入MySQL。5.如权利要求1所述的直播平台上传和获取图像的系统,其特征在于:所述第一后台服务器和第二后台服务器均为Nginx服务器...

【专利技术属性】
技术研发人员:彭友顺杨鹭
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北;42

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

1