发明内容
有鉴于此,本发明的主要目的在于提供一种影像文件处理方法及系统,用于解决影像浏览软件中主程序模块和查看器程序模块之间无法对网络影像文件及本地影像文件进行共享的技术问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种影像文件处理方法,该方法包括:
主程序模块获取网络影像文件信息及网络影像文件,并将所获取的网络影像文件信息及网络影像文件存储在本地共享存储空间中;
查看器程序模块共享所述本地存储空间中存储的网络影像文件信息及网络影像文件。
进一步地,所述主程序模块通过调用所述查看器程序模块来详细显示单个影像文件;所述影像文件信息至少包含:文件标识、文件获取地址、文件尺寸类型;所述文件尺寸类型至少包括缩略类型和大图类型。
进一步地,所述影像文件处理方法还包括:
主程序模块获取本地影像文件信息,并生成本地影像文件的缩略影像文件;
主程序模块在本地共享存储空间中存储所获取的本地影像文件信息及生成的本地影像文件的缩略影像文件;
查看器程序模块共享所述本地存储空间中存储的本地影像文件信息及本地影像文件的缩略影像文件。
基于本发明一实施例,所述查看器程序模块共享所述本地存储空间中存储的网络影像文件信息、本地影像文件信息、网络影像文件和本地影像文件的缩略影像文件的方法为:
所述本地存储空间采用内存循环队列数据结构,所述内存循环队列由内存数据块组成,支持同一时刻对循环队列中不同内存数据块的同时读写;
主程序模块通过写指针将网络影像文件信息、本地影像文件信息、网络影像文件和本地影像文件的缩略影像文件中的一种或多种写入所述内存循环队列的内存数据块中,查看器程序模块通过读指针从所述内存循环队列的内存数据块中读取主程序模块所写入的数据。
基于本发明另一实施例,所述查看器程序模块共享所述本地存储空间中存储的网络影像文件信息、本地影像文件信息、网络影像文件和本地影像文件的缩略影像文件的方法为:
针对网络影像文件信息和本地影像文件信息采用内存循环队列数据结构进行共享,针对网络影像文件和本地影像文件的缩略影像文件采用本地共享数据库或本地文件系统进行共享;
所述内存循环队列由内存数据块组成,支持同一时刻对循环队列中不同内存数据块的同时读写,主程序模块通过写指针将网络影像文件信息和/或本地影像文件信息写入所述内存循环队列的内存数据块中,查看器程序模块通过读指针从所述内存循环队列的内存数据块中读取主程序模块写入的数据;
主程序模块和查看器程序模块通过数据库接口或文件系统接口存取所述网络影像文件和/或本地影像文件。
进一步地,针对同一影像设置不同尺寸类型的影像文件,针对同一影像的所述网络影像文件信息和/或本地影像文件信息中包含不同尺寸类型的影像文件信息。
进一步地,基于本发明的实施例,所述方法具体为:
所述主程序模块一次性获取同一影像的所有不同尺寸类型的影像文件信息及缩略类型的影像文件,并将获取的针对同一影像的所有不同尺寸类型的影像文件信息写入本地共享存储空间中;
所述查看器程序模块读取本地共享存储空间中影像文件信息后,首先根据缩略类型的影像文件信息显示缩略影像文件,在本地共享存储空间中不存在大图类型的影像文件时,所述查看器程序模块再根据大图类型的影像文件信息从网络或本地获取大图类型的影像文件。
基于本发明实施例,本发明提供一种共享影像数据的系统,该系统包括:
主程序模块,用于获取网络影像文件信息及网络影像文件,将所获取的网络影像文件信息及网络影像文件存储在本地共享存储空间中;
查看器程序模块,用于共享所述本地存储空间中存储的网络影像文件信息及网络影像文件。
进一步地,所述主程序模块还用于调用所述查看器程序模块,以通过所述查看器程序模块来详细显示单个影像文件;所述影像文件信息至少包含:文件标识、文件获取地址、文件尺寸类型;所述文件尺寸类型至少包括缩略类型和大图类型。
进一步地,所述主程序模块还用于获取本地影像文件信息,并生成本地影像文件的缩略影像文件,以及在本地共享存储空间中存储所获取的本地影像文件信息及本地影像文件的缩略影像文件;所述查看器程序模块还用于共享所述本地存储空间中存储的本地影像文件信息及本地影像文件的缩略影像文件。
进一步地,基于本发明一实施例,所述本地存储空间采用内存循环队列数据结构,所述内存循环队列由内存数据块组成,支持同一时刻对循环队列中不同内存数据块的同时读写;所述主程序模块通过写指针将网络影像文件信息、本地影像文件信息、网络影像文件和本地影像文件的缩略影像文件中的一种或多种写入所述内存循环队列的内存数据块中,所述查看器程序模块通过读指针从所述内存循环队列的内存数据块中读取主程序模块所写入的数据。
进一步地,基于本发明另一实施例,针对网络影像文件信息和本地影像文件信息采用内存循环队列数据结构进行共享,针对网络影像文件和本地影像文件的缩略影像文件采用本地共享数据库或本地文件系统进行共享;
所述内存循环队列由内存数据块组成,支持同一时刻对循环队列中不同内存数据块的同时读写,所述主程序模块通过写指针将网络影像文件信息和/或本地影像文件信息写入所述内存循环队列的内存数据块中,所述查看器程序模块通过读指针从所述内存循环队列的内存数据块中读取主程序模块写入的数据;
所述主程序模块和查看器程序模块通过数据库接口或文件系统接口存取所述网络影像文件和/或本地影像文件。
本发明中,影像浏览软件的主程序模块和查看器程序模块通过本地共享存储空间共享网络影像文件信息、网络影像文件、本地影像文件信息及本地影像文件缩略文件,本地共享存储空间可采用内存循环队列方式,可通过读指针和写指针同时执行读写操作,通过本发明可避免重复获取网络和/或本地的影像文件信息及影像文件,节省网络资源,减少用户等待时间,实现用户对本地及网络影像的方便、实时、高效的浏览和管理。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
图1为本发明实施例提供的影像文件处理方法流程图,该方法包括:
步骤101、主程序模块获取网络影像文件信息,并下载所需要的网络影像文件;
本发明实施方式所述的主程序模块用于对网络和/或本地包含影像文件的目录进行浏览、管理和维护,例如以目录树形式、缩略图等形式为用户提供影像文件的浏览、管理和维护界面。
步骤102、主程序模块在本地共享存储空间中存储所获取的网络影像文件信息及下载的网络影像文件;
步骤103、查看器程序模块共享所述本地存储空间中存储的网络影像文件信息及网络影像文件。
本发明实施方式所述的查看器程序模块用于详细显示单个影像文件,本发明中的主程序模块和查看器程序模块为两个独立的执行程序,可分别独立运行;本发明中的查看器程序模块可通过主程序模块进行调用,也可独立运行以详细显示单个影像文件。
优选地,本发明提供的主程序模块还可用于获取本地影像文件信息,以及基于本地的大尺寸的影像文件生成本地影像文件的缩略影像文件;主程序模块在本地共享存储空间中存储所获取的本地影像文件信息及本地影像文件的缩略影像文件;查看器程序模块共享所述本地存储空间中存储的本地影像文件信息及本地影像文件的缩略影像文件。
实施例1
基于本发明提供的影像文件处理方法,该实施例以管理网络相册为例描述具体的实现方式,所述网络相册包括但不限于博客相册、网络社区中的个人空间相册,例如QQ空间的相册等,如图2具体步骤如下:
步骤201、主程序模块向网络相册的服务程序发送获取网络相册影像文件信息及下载网络相册中的网络影像文件的请求;
所述网络相册的服务程序为WEB服务程序或基于客户/服务端结构的服务端的服务程序,其能够接收终端或客户端针对网络相册或网络相册中的影像文件的文件信息获取请求和文件下载请求,并向终端和客户端反馈网络相册中的一个、多个或所有网络影像文件的网络影像文件信息及网络影像文件;
本发明所述的网络影像文件信息包含但不限于:文件标识、文件下载地址(例如HTTP、FTP等协议格式的文件下载地址),进一步还可以包含文件大小、文件尺寸类型等,文件尺寸类型可以有:缩略类型、中图类型、大图类型等。
步骤202、主程序模块接收网络相册服务程序反馈的网络相册中的网络影像文件信息及网络影像文件,在本地共享存储空间中存储所获取的网络影像文件信息及网络影像文件;
具体实现中,该步骤可分为两个步骤进行,主程序模块首先获取网络影像文件信息,然后再根据网络影像文件信息中的URL地址下载对应的影像文件;
由于主程序模块主要用于网络影像文件的浏览显示,为进一步提高浏览速度、降低不必要的网络流量,该实施例中,针对一个网络相册影像服务端存储有缩略图、中图和大图三种文件尺寸类型的影像文件,主程序模块首先从网络相册服务程序获取网络相册中所有网络影像文件信息,文件信息中包含缩略类型、中图类型和大图类型三种尺寸类型文件信息,然后主程序模块再根据所获取的文件信息依次下载各影像的缩略图文件,由于主程序模块只下载缩略图文件,因此可以减少不必要的网络流量。
主程序模块将获取的网络影像文件信息及下载的缩略类型的网络影像文件存储在本地共享存储空间中,供查看器程序模块共享使用。
步骤203、查看器程序模块在显示网络影像时,共享本地共享存储空间中存储的网络影像文件信息及网络影像文件。
当用户在主程序模块中通过鼠标双击等触发操作调用查看器程序模块显示网络相册中的影像文件时,查看器程序模块从本地共享存储空间读取网络影像文件信息及网络影像文件,并进行显示。
该步骤中,主程序模块如果只下载了缩略图影像文件,查看器程序模块共享主程序模块下载的缩略图影像文件,本发明一优选实施例中,查看器程序模块的显示界面分为大图显示界面和缩略图浏览界面,用户可通过缩略图浏览界面快速浏览当前所在的网络相册中的所有影像文件的缩略图,在查看大图类型的网络影像文件之前,查看器程序模块预先根据共享的网络影像文件信息中所包含的该影像文件的大图的URL地址从网络相册服务端获取该影像文件的大图,在大图显示界面进行显示。
该实施例中,本地共享存储空间为本地共享数据库,主程序模块通过本地数据库接口将网络影像文件信息及下载的网络影像文件存储在本地共享数据库中,查看器程序模块同样通过本地共享数据库接口从本地共享数据库中读取网络影像文件信息及下载的网络影像文件,查看器程序模块下载的网络影像文件的大图也可存储于本地共享数据库中以供后续再次显示。
实施例2
基于本发明提供的影像文件处理方法,该实施例以管理网络影像库为例描述具体的实现方式,所述网络影像库中可包含图片、视频、动画等多种媒体格式的影像文件,如图3所示,具体步骤如下:
步骤301、主程序模块向网络影像库服务程序发送获取网络影像库文件信息的请求;
步骤302、网络影像库服务程序反馈网络影像库中的网络影像文件信息给主程序模块,主程序模块在本地共享存储空间中存储所获取的网络影像文件信息;
所述网络影像文件信息包含:文件标识或文件名称、文件内容描述、文件类型、文件大小、URL下载地址等信息;
所述的网络影像库可以分级分层的目录结构存储和管理网络影像文件,网络影像库服务程序可一次性将服务端的目录结构同步到主程序模块中,也可以只反馈主程序模块所请求的某个目录或节点中的所有影像文件信息,具体方式可双方进行约定。
步骤303、主程序模块依据获得的网络影像文件信息,以与服务端网络影像库相同的目录结构为用户显示网络影像文件信息,用户可在主程序模块的界面中通过双击文件名称等触发方式触发主程序模块向网络影像库服务程序发送下载指定影像文件的请求;
步骤304、网络影像库服务程序依据用户请求向主程序模块反馈网络影像文件,主程序模块接收网络影像文件数据并将其存储在本地共享存储空间中;
步骤305、查看器程序模块在显示网络影像时,共享本地共享存储空间中存储的网络影像文件信息及网络影像文件。
在一实施例中,主程序模块与查看器程序模块之间采用如图2所示的内存循队列来共享所述的网络影像文件信息,通过本地磁盘文件系统或本地共享数据库来共享网络影像文件,主程序模块和查看器程序模块通过数据库接口或文件系统接口对已下载存储在本地的网络影像文件进行存取。
图4所示的内存循环队列包含预设的N个内存数据块,N的大小可由系统根据需要进行配置,每个内存数据块可存储一条或多条网络影像文件信息,主程序模块通过写指针写入网络影像文件信息,查看器程序模块通过读指针读取内存数据块中的网络影像文件信息,该内存循环队列的控制逻辑如下:
(1)不能通过写指针和读指针同时操作同一个内存数据块,即针对同一内存数据块的写入和读取是互斥的;
(2)写指针和读指针按同一方向对内存数据块进行操作;
(3)每读完一个内存数据块后,将读取完的内存数据块的状态置为空闲,读指针向下移动一位,当读指针追上写指针时,表示已没有可读内存数据块,停止读取,直到检测到有新的内存数据块写入完毕为止;
(4)每写完一个空闲内存数据块,主程序模块就会通过消息或状态标志位方式通知查看器程序模块进行读取,当写指针追上读指针时,表示循环队列已写满,停止写入,直到检测到有新的空闲内存数据块为止;
本发明另一优选实施例中,网络影像文件信息及网络影像文件都采用内存循环队列来存储,每一内存数据块由多个层构成,每个层由一个或多个子数据块构成,每一层的子数据块大小不同,不同的层用于存储不同类型的数据,例如网络影像文件信息的数据量较小,则选择使用拥有较小子数据块的层进行存储,网络影像文件的数据量较大,则选择使用拥有较大子数据块的层进行存储。通过对内存数据块的分层分块,能够应对多样化数据类型需求,节省内存空间。
每当用户通过双击网络影像文件触发打开查看器程序模块查看当前目录下的影像文件的操作时,主程序模块将当前目录下的网络影像文件信息或网络影像文件信息和网络影像文件存储在循环队列当中,查看器程序模块读取循环队列中的数据以显示网络影像。
该实施例通过采用循环队列及双指针读写控制策略,避免了现有技术中常采用的独占式内存访问所带来的弊端,提高了信息共享的效率。
实施例3
在上述实施例1和实施例2的基础上,本发明还可实现对本地影像文件的共享,如图5所示,该实施例的具体步骤如下:
步骤501、用户在主程序模块的本地目录树中触发对本地目录中的影像文件的浏览操作;
步骤502、主程序模块搜索触发目录下的所有影像文件,获取所有本地影像文件(默认为大图类型)的影像文件信息,并自动生成本地影像文件的缩略类型的影像文件及文件信息,然后将获取的影像文件信息及缩略类型的影像文件存储在本地共享存储空间中;
步骤503、在用户触发查看器程序模块显示本地影像文件时,查看器程序模块读取本地存储空间中的本地影像文件信息及缩略类型的本地影像文件,并根据所述本地影像文件信息为用户详细显示大图类型的影像文件。
优选地,查看器程序模块可以浏览列表方式呈现本地触发目录下所有影像文件的缩略图导航界面,用户在点击某个缩略图时,查看器程序模块根据本地共享存储空间中存储的本地影像文件信息读取本地存储的大图类型的影像文件,以供详细显示。
本发明通过本地共享存储空间实现了网络影像文件信息及网络影像文件的共享,避免了网络影像文件信息及网络影像文件的重复下载,节省了用户的网络带宽,提高了网络影像文件的浏览速度。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。