欢迎来到天天文库
浏览记录
ID:10742432
大小:52.00 KB
页数:3页
时间:2018-07-08
《多媒体信息数据库存取优化方法研究的论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、多媒体信息数据库存取优化方法研究的论文 [摘要]本文通过实际图像存取速度与对数据库容量影响的量化比较研究,得出在visualbasic环境下快速数据库图像存取的方法,对于其他多媒体信息存取与编程环境也有一定的借鉴作用。 [关键词]图像存取icb方法cka方法 图形图像、音频视频等多媒体信息在数据库中存储不同于传统的文本、数字等有着非常规范的结构化形式,程序设计中采用不同的存取方法,对数据库访问速度,以及数据库文件容量有非常大的影响,程序的运行效率当然也是相差甚远。 一、图像的存储优化 sqlserver用image字段(access用
2、ole对象字段)来存储图形图像甚至音视频等多媒体信息,在库中以“长二进制数据”的形式存放。以图形图像为例,vb传统的做法是将图像字段与图像控件绑定,加载图像后刷新近期件并更新记录集即可完成图像的存储,这里称为图像控件绑定(imagecontrolbinding,icb)方法。这种方法的优点是代码简单、容易理解和实现,特别是对于库中所存图像的浏览尤为方便。但由于其不管源图像格式,统一按24位位图进行处理,故只适用于小型图像的存取,如人事档案中的相片,而对于较大的尤其是压缩格式的图像,icb方法的存取速度就会慢得让人无法忍受,数据库的膨胀幅度也会大得惊人
3、。 为提高图像的存储速度,最大限度地减小数据库增幅,对普通图像(如bmp)文件,需要先将其转化成压缩格式文件(如jpeg格式)。图像存储时,先把图像文件按二进制文件打并开读入到相应的byte型数组,再用记录集对象的追加大块数据方法(appendchunk方法)将其写入数据库,这里称之为大块数据存取(chunkaccess,cka)方法。. cka方法图像存入数据库代码:(icb方法略) dimbytdata()asbyte '以二进制文件方式打开临时图像文件 openapp.path“temp1.jpg”forbinaryas#1 re
4、dimbytdata(filelen(app.path“temp1.jpg”)) get#1,,bytdata()'读入图像→二进制数组 close#1 '用appendchunk方法将二进制数组入库 me.adodc2.recordset(“pic”).appendchunkbytdata() me.adodc2.recordset.update 表1所示是icb方法和cka方法存储jpeg图像速度与存储图像后数据库文件大小的测试数据对照表。 为突出效果,选用9张2048×1536像素的jpeg数码相片进行测试,图像大小介于1.3m
5、b到2mb之间。分析测试结果得出, 注:①测试环境:p41.7gcpu,352mbddrram,32mb显存,access2003数据库;②数据库初始大小:140.0kb(空)。 icb方法存储jpeg相片的平均速度为120b/ms,cka方法则为2848b/ms。cka方法的存储时间与图像大小成比例,icb方法的存储时间波动范围较大,这是由于存储时间本身较长(12~15s),测试期间受其他进程影响较多造成的。 对于图像存储后库文件的大小,icb方法对应的库文件呈线性膨胀,每次增量为9.2mb左右,即2048×1536像素的24位图文件的大小;
6、cka方法对应的库文件每次增量则与jpeg文件的大小相吻合,如果需要,可在图像格式转换时在保证视觉效果的前提下增大图像压缩率,从而降低图像对数据库大小的影响。 二、图像的查询优化 图像查询时使用icb方法基本不需要写任何代码就可完成查询,借助控件的导航按钮可以方便地实现对数据库中图像的浏览。但若图像记录较多或图像较大,查询操作就会变得异常缓慢,出现类似“死机”的现象。 图像的查询优化包含两方面内容,其一为图像查询与普通数据查询分开进行,避免一次检索过多图像造成查询延时过长;其二需要把存放在数据库图像字段中的信息用cka方法分段读出写到一
7、个临时文件中,重新组装成原来的图像,再进行图像加载和显示。 icb方法与cka方法用于图像查询的对照测试工作在前面存入9张相片的access数据库上进行,测试数据如表2所示。 注:①测试环境同表1;②合成时间包括图像组装和加载时间。 计算得出,icb方法图像查询的平均速度只有35b/ms,cka方法为2809b/ms,与存储速度相当,就是算上图像合成(含加载)时间,cka方法查询速度也能达到2597b/ms。 三、总结 通过实例测试可以发现,cka方法进行图像的存取,无论从速度还是对库文件大小的影响来说,性能都远远优于传统的icb方
8、法,在网络环境下,效果会更加明显。实际上,运用cka方法也可以实现音视频等多媒体信息甚至任何类型计算机文件的
此文档下载收益归作者所有