一种跨平台私有云文件缩略图实现方法
【技术领域】
[0001]本发明属于通信的技术领域,更具体的是涉及一种云文件缩略图的实现方法。
【背景技术】
[0002]目前比较广泛的浏览图片的场景是智能设备浏览WEB服务器的图片,由WEB服务器预生成缩略图,供用户预览。这种方式有以下缺点:一是这种图片预览方式局限于WEB服务器和客户端之间;二是WEB服务器IP地址必须处于客户端可以直接访问位置。这就导致各种智能设备间在局域网或广域网中相互浏览图片文件的场景下,不能预先浏览缩略图的冋题。
【发明内容】
[0003]针对上述问题,本发明的目的在于提供一种任意设备间在跨网的情况下均能实现图片预览的方法。
[0004]本发明通过以下的技术方案来实现的。
[0005]一种跨平台私有云文件缩略图实现方法,包括如下步骤:
(1)建立基于UPnP > XMPP > lib jpeg、Iibpng 和 Thumbnail Cache 的平台框架:其中 UI作为软件逻辑的决策者,UPnP和XMPP作为并列的中间模块,彼此没有交集;底层Iibjpeg/Iibpng提供编解码功能,Thumbnail Cache映射原图和缩略图,完成缩略图存储和读取过程;UI可以直接调用UPnP、XMPP以及libjpeg/libpng ;
(2)浏览本地图片缩略图,在该平台框架下直接调用基于C开发的函数接口;
(3)浏览跨网络设备的图片缩略图,在该平台框架下使用基于即时通讯协议XMPP中IQ原语实现了控制面的图片缩略图请求流程,并利用P2P协议将图片缩略图实体传输至本地显示的流程;
(4)浏览局域网设备的图片缩略图,在该平台框架下利用UPnP协议智能的分析出被浏览设备与浏览设备在同一局域网下,选择UPnP内部的HTTP传输方式,快速的完成图片缩略图实体传输至本地显示的流程。
[0006]作为该技术方案的更进一步,所述本端UPnP仅与对端UPnP协商,由对端UPnP调用图片编解码接口。
[0007]作为该技术方案的更进一步,所述本端XMPP仅与对端XMPP协商,由对端XMPP调用图片编解码接口。
[0008]作为该技术方案的更进一步,所述C开发的函数接口使用双三次插值算法。
[0009]有益效果:本专利的发明基于UPnP、XMPP、libjpeg、Iibpng 和 Thumbnail Cache的平台设计方案,实现了图片缩略图预览不受智能设备操作系统或是网络的局限,为用户提供高质量的体验,构建了网络协议和图片编解码器统一平台。在性能上也进行了优化:实现了缩略图缓存(Thumbnai I Cache ),缩略图文件的存放路径与原图的存放路径形成了镜像(例如原图:/dirO/dirl/picO ;缩略图:/thumbnail/dirO/dirl/picO),在查找缩略图时,只需要修改原图路径就可以直接定位,避免了大量的检索;同时UPnP、XMPP, libjpeg/Iibpng共用缩略图缓存,遵循相同的原则,确保了三种场景下生成的缩略图的复用;进入局域网后,协议自动切换为UPnP,避免了 XMPP建链比较耗时的问题。
[0010]【附图说明】:
图1为本发明的技术方法逻辑图。
[0011]图2为跨网络设备的传输路径。
[0012]图3为局域网内设备的传输路径。
[0013]【具体实施方式】:
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
[0014]见图1,一种跨平台私有云文件缩略图实现方法,包括如下步骤:
(I)建立基于 UPnP、XMPP、libjpeg、Iibpng 和 Thumbnail Cache 的平台框架:其中 UI作为软件逻辑的决策者,UPnP和XMPP作为并列的中间模块,彼此没有交集;底层libjpeg/Iibpng提供编解码功能,Thumbnail Cache映射原图和缩略图,完成缩略图存储和读取过程;UI可以直接调用UPnP、XMPP以及lib jpeg/libpng ;
Thumbnail Cache按照原图路径镜像方式组织缩略图,比如,原图的路径为:/dirO/dirl/picO ;缩略图路径则为:/thumbnail/dirO/dirl/picO,可快速映射原图和缩略图,完成缩略图存储和读取过程。
[0015](2)浏览本地图片缩略图,直接调用基于C开发的函数接口(双三次插值算法),为避免移植过于庞大的opencv等开源项目,使用双三次插值算法基于lib jpeg/libpng开发微型缩略图模块,避免了由于1S、Android或是Windows控件开发的区别所带来的额外工作量,统一了各操作系统的接口
(3)浏览跨网络设备的图片缩略图,使用基于即时通讯协议XMPP中IQ原语实现了控制面的图片缩略图请求流程,并利用P2P协议将图片缩略图实体传输至本地显示的流程。如图2中所示,被预览设备携带缩略图信息和IP地址通过XMPP服务器转发至预览设备,预览设备尝试所有可能的IP地址是否可访问,并与可访问的IP地址建立点对点链路,实现缩略图传输后,断开链路。XMPP实现了跨网络的UPnP功能。
[0016](4)浏览局域网设备的图片缩略图,该平台利用UPnP协议智能的分析出被浏览设备与本设备在同一局域网下,优先选择了 UPnP内部的HTTP传输方式,快速的完成了图片缩略图实体传输至本地显示的流程。UPnP ( Universal Plug and Play)支持自动搜索局域网内部支持互预览的设备和获取对端设备缩略图功能,支持被搜索和被获取缩略图功能;如图3中所示,与XMPP相比,减少了大量的链路建立过程所损耗的时间。
[0017]虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
【主权项】
1.一种跨平台私有云文件缩略图实现方法,其特征在于,包括如下步骤: (1)建立基于UPnP > XMPP > lib jpeg、Iibpng 和 Thumbnail Cache 的平台框架:其中 UI作为软件逻辑的决策者,UPnP和XMPP作为并列的中间模块,彼此没有交集;底层Iibjpeg/Iibpng提供编解码功能,Thumbnail Cache映射原图和缩略图,完成缩略图存储和读取过程;UI可以直接调用UPnP、XMPP以及libjpeg/libpng ; (2)浏览本地图片缩略图,在该平台框架下直接调用基于C开发的函数接口; (3)浏览跨网络设备的图片缩略图,在该平台框架下使用基于即时通讯协议XMPP中IQ原语实现了控制面的图片缩略图请求流程,并利用P2P协议将图片缩略图实体传输至本地显示的流程; (4)浏览局域网设备的图片缩略图,在该平台框架下利用UPnP协议智能的分析出被浏览设备与浏览设备在同一局域网下,选择UPnP内部的HTTP传输方式,快速的完成图片缩略图实体传输至本地显示的流程。
2.根据权利要求1所述的一种跨平台私有云文件缩略图实现方法,其特征在于,所述本端UPnP仅与对端UPnP协商,由对端UPnP调用图片编解码接口。
3.根据权利要求1所述的一种跨平台私有云文件缩略图实现方法,其特征在于,所述本端XMPP仅与对端XMPP协商,由对端XMPP调用图片编解码接口。
4.根据权利要求1所述的一种跨平台私有云文件缩略图实现方法,其特征在于,所述C开发的函数接口使用双三次插值算法。
【专利摘要】本发明公开了一种跨平台私有云文件缩略图实现方法,其特征在于,包括如下步骤:(1)建立基于UPnP、XMPP、libjpeg、libpng和Thumbnail Cache的平台框架;(2)浏览本地图片缩略图,在该平台框架下直接调用基于C开发的函数接口;(3)浏览跨网络设备的图片缩略图,使用基于即时通讯协议XMPP;(4)浏览局域网设备的图片缩略图,在该平台框架下利用UPnP协议。本发明实现了图片缩略图预览不受智能设备操作系统或是网络的局限,为用户提供高质量的体验,构建了网络协议和图片编解码器统一平台,同时避免了大量的检索和耗时长的问题。
【IPC分类】G06F9-44
【公开号】CN104598222
【申请号】CN201410831769
【发明人】郑言海, 邢有涛, 罗慧骏
【申请人】苏州优势讯通互联网科技有限公司
【公开日】2015年5月6日
【申请日】2014年12月29日