陈彬彬
(雅安职业技术学院,四川雅安625000)
在中国互联网上,众多商家正在准备或已经走上电子商务的道路.电子商务指的是利用简捷、低成本的电子通讯方式,在网络上完成各种商贸活动.电子商务的发展使虚拟现实技术具有更为广泛的应用空间,而多媒体数据管理是虚拟现实技术的基础,充分认识多媒体数据库技术在电子商务中的重要性,研究其特点及应用规律已成为不少IT人士的共同选择.国内外的多媒体计算机研究人员及有关厂商,正在多媒体数据库、多媒体通信及多媒体应用研究等方面积极开展研究工作,并有部分产品推向市场[1].多媒体数据库技术应用在网络中,实现商品的虚拟展示将是电子商务研究的重要课题之一.本文通过对电子商务中虚拟展示系统的深入分析,探讨多媒体数据模型建立方案及多媒体数据库的实现方式,并使用多媒体数据库开发了一个可用于各种电子商务平台的商品虚拟展示系统.
随着Internet应用的飞速发展,电子商务成为IT业界研究的热点.在电子商务活动中,影响网上交易的成功率高低的关键性因素就是网上交易的可视性问题.现在用得最多的方法是将商品的图片放在网站上,再加上适当的文字说明,这样对用户而言并不能真实感受到商品带给他的好处.为了能全方位地展示商品并实现与客户的交互作用,运用虚拟展示系统实现商品的三维展示,进而将电子商务网站建设成网上虚拟商城已经成为大势所趋,如地产商在网上虚拟展示新楼盘,服装厂商展示时尚服饰等.
常见虚拟展示系统由以下4部分构成:(1)最基本的是多媒体数据库(MDB),实现存储三维模型数据结构、文字、语音以及视频等多媒体信息资源.它是虚拟展示系统的一切数据来源,并提供数据的操作接口;(2)数据库引擎(DE),调用数据库引擎中的各个函数库来实现虚拟场景的表达与绘制.该部分由文本处理、图像、音频、视频、动画模块、引擎内核和交互处理模块共同构成;(3)用户界面(UI),负责管理各种虚拟场景,实现与用户的交互等;(4)三维模型的格式转换模块(DL),将由建模工具生成的模型数据转换为虚拟展示系统定义的数据结构.虚拟展示系统设计见图1所示.
图1 虚拟展示系统设计Fig.1 Design ofvirtual displaysystem
虚拟展示系统中包含了大量的多媒体信息,例如商品的图片、语音、三维动画和视频资料等.要使用这些信息的方法有两种:一种是将多媒体信息数据存放在外部文件中,把目录和文件名存进相应表中.因为普通DBMS通常不能直接操作大型的二进制数据,因此很多WEB数据库采用这种方法;另一种是将多媒体数据以二进制的方式集成到数据库系统中,直接新建适合多媒体信息特性的存储字段类型(如Oracle中使用BLOB类型的字段来存储多媒体数据),并存储该二进制多媒体数据流[2].系统运行时从多媒体数据库中调用所存多媒体数据流,再交由系统控件或API进行播放.使用后台多媒体数据库管理系统来实现上述功能,不用考虑对外部文件的管理,在电子商务领域具有更为广泛的应用前景.
近年来,网络上的多媒体信息急剧膨胀,媒体形式更加多样化,传统数据库原有的数据模型、数据结构、检索机制等都很难胜任.而多媒体数据库和多媒体数据库管理系统(MMDBMS)的应运而生就解决了上述难题.多媒体数据库基于多媒体数据与信息固有的特性来进行各种操纵,实现了多媒体数据之间的交叉调用和融合,且更能体现多媒体数据的交互性[3].
数据模型是数据库系统的核心,它已成为MMDBMS需要解决的关键问题.多媒体数据的多样性特征体现在数据模型上就是每一种多媒体数据对象都要有适当的数据结构以及存取方式,它将应用系统与存储结构的细节隔离,并抽象出数据的静态和动态属性,为多媒体数据库的建立奠定基础[4].在建立多媒体数据模型时,要根据系统实际需求多作考虑.
多媒体数据库的数据模型包括扩充关系模型、语义模型、基于面向对象模型.扩充关系模型在引入抽象数据类型基础上,主要描述数据的结构;而语义模型则主要表达数据的语义.基于面向对象模型的主要概念包括对象、类、方法、封装和继承等,可以方便地描述复杂的多媒体信息[5].引入新的超媒体数据模型正在研究中,超媒体数据模型实现了对多媒体信息及链接其他节点的指针信息的存储,将节点和链接作为处理对象来进行任意数据类型的存储和检索,具有各种语义模型概念的操作能力及数据库更新能力,基于此构造的数据模型功能将非常强大.但由于缺乏统一的数据模型及形式化理论,在查询优化、视图等方面还存在空白,超媒体数据模型的实现难度很大.目前比较成熟的是面向对象的多媒体数据模型.
MMDBMS的一个通用数据模型如图2所示.以面向对象的原理(OO)和多层分级结构为基础,把程序代码和数据封装到一个对象类.代码定义了对数据实施的操作,封装体现了模块化并隐藏了媒体特性和处理的细节,更增强了可扩展性.
图2 通用多媒体数据模型Fig.2 Universal Multimedia Data Model
对象层:多媒体数据具有复杂的空间和时间关系,对象层是具有特定空间关系和时间关系的单个或多个媒体数据项和复合数据项.空间关系由媒体数据项的存储位置确定,时间关系是在应用系统中都存在的时间基线,每个媒体数据项目的开始时间、执行时间都根据系统时钟而指定.
媒体层:多媒体类型多种多样,包括文本、图形、图像、音频和视频等媒体.媒体层对每个媒体类型都描述了其底层特征和语义特征.以图像媒体为例,要描述图像分辨率、颜色直方图等特征.
文件层:文件层特指具体的媒体文件.媒体文件的种类更加繁多,就是同一类别的媒体也有多种文件格式.例如图像有原始位图文件(如BMP),也有压缩格式文件(如JPG),图像的压缩也可选用不同的压缩标准和方法来实现.
尽管在不同应用中的多媒体数据模型存在差异,但通过共享通用的多媒体数据模型,在该基础模型上添加或导出新的特征和对象以满足不同应用要求是切实可行的.由于多媒体数据模型的设计都不够规范,在开发统一的大规模MMDBMS的过程中,多媒体数据的模型化研究还需要继续深入.
多媒体数据库的实现有如下3条途径:(1)在现有商用关系数据库管理系统的基础上扩充多媒体数据接口,以满足多媒体应用的需要;(2)基于面向对象模型的多媒体数据库管理系统,因为面向对象数据模型具有很强的抽象能力,可以很好地满足复杂的多媒体对象的各种表示需求,能够为多媒体数据库的构造提供理想的基础;(3)基于超媒体模型的多媒体数据库管理系统.超媒体数据库系统是一种以超媒体信息管理技术为基础的分布式系统,用超媒体结点和链分别描述实体和实体之间的联系.采用超媒体浏览导航机制,可以实现基于媒体内容检索、支持网络化分布共享操作、实用性很强的新型多媒体数据库系统.
商用中、小型数据库系统有Access、Paradox等,大型数据库系统有SQLServer、Oracle、Sybase、DB2等.SQLServer是微软公司推出的数据库管理系统,具有开发周期短、成本低、易于维护等特点,一直是多数用户的首选.Oracle是企业级应用的大型数据库,高效稳定,查询快捷,与各类网站开发语言能较好融合,但是开发难度大,维护成本较高[6].基于用户开发虚拟展示系统的具体分析以及数据库管理技术的领先性和安全性,选择Oracle数据库系统更为恰当.
基于虚拟展示系统的多媒体数据库系统具有适用范围广,经济价值高的特点,其系统架构如图3所示.
图3 系统架构Fig.3 System architecture
多媒体服务器、多媒体数据海量存储系统、流媒体服务器、虚拟展示系统等构成该系统.实现多媒体数据的存储需要先将文本、图像、动画、音频和视频等媒体数据转化为二进制数据流存放到数据库中.当用户在虚拟展示系统中调用相关多媒体信息时,是通过唯一标识码查询到多媒体数据库中的对应记录,再将存储的二进制数据流读出并转换为多媒体信息展示.媒体入库及流媒体转换工具实现音频、视频、动画数据的入库及流媒体信息的预览生成.虚拟展示系统的使用可通过网页呈现模式,启动浏览器输入系统网址即可.
3.3.1 数据建模模型是实现多媒体数据库的关键.面向对象模型及超媒体模型的发展,使构建基于商品虚拟展示多媒体数据库得以实现.
3.3.2 数据的压缩和解压缩像音频和视频等多媒体数据必须在存储、处理时进行数据压缩,播放时进行数据解压.
3.3.3 数据存储管理目前常用的有分页管理、B+树和Hash方法等.常用的数据存于RAM中,次常用的数据存于硬盘,大对象一般是分页面进行管理的.
3.3.4 数据查询多媒体查询技术(MSQL)可以实现在虚拟展示系统中引入基于内容的检索、基于矢量空间模型信息的检索等,并且将浏览表现和检索机制结合起来[7].
3.3.5 分布式数据库在互联网应用环境下,用户可以跨网络节点浏览和检索多媒体信息,具有媒体元素级的共享能力,为了支持分布式请求,连续媒体的传输是在MMDBMS中要解决的重要的问题.目前在Internet上提供多媒体数据服务的实时传输协议(RTP)和资源保留协议映(SVP)等,均是为了支持多媒体数据传输而提出的.
3.3.6 多媒体化用户界面多媒体计算机具有声音和图像接口,能够为多媒体数据库提供完全交互式、图式化用户界面.多媒体宿主语言调用、SQL语言以及虚拟现实技术都将使用户接受和反馈信息变得更加简易.
基于虚拟展示多媒体数据库的实现,需要设计基于Oracle9i的多媒体数据库引擎,该引擎支持声音、图像、视频等多种媒体类型.
3.4.1 DataTool模块构造大型对象、数据类型扩展、继承和规则构成了对象—关系数据库管理系统的对象底层结构,使用这个底层结构,独立软件开发商和用户可以写出DataTool模块以支持特定的多媒体应用,DataTool模块已在Oracle平台上得到使用.DataTool模块由以下主要部分组成:用户定义的对象类型、用户定义的方法、多媒体数据操作、索引扩充和查询优化.下面以视频引擎的实现为例进行具体研究.
3.4.2 视频引擎的实现视频引擎包括:视频使能工具和视频数据处理工具.在Oracle9i系统中,应用视频使能工具来完成不同类别的视频数据类型的定义,创建管理视频数据的内部表等工作.视频数据处理工具由用户定义函数组成,提供对视频数据的特征抽取、结构化、基于内容检索等各种操作的支持[8].为了实现视频引擎的功能,进行了数据库表的创建和函数定义.
(1)CREATE TABLE KEYF(Video BLOB,KEYFid INTEGER,KEYFrame BLOB,ColorFeatVect INTEGER);//[注]:数据库存储视频数据,关键帧号,关键帧,关键帧的颜色特征向量.
(2)在DataTool模块中提取关键帧函数和提取颜色特征向量函数的定义.
Windows动态链接库keyframe.dll中函数定义的关键代码如下:
多媒体数据库与电子商务的结合是当前信息技术研究的一个热点.在对多媒体数据模型和多媒体数据库管理系统进行详细分析的基础上,设计和构建了基于虚拟展示的多媒体数据库引擎及其关键模块,为开发电子商务应用系统提供了借鉴.多媒体数据库技术在电子商务、多媒体会议系统、数字图书馆、网络教育、远程医疗服务等众多领域的应用和创新凸现了其价值.随着多媒体信息管理需求的增长和应用要求的提高,多媒体数据库技术必将会有更大的发展.
[1] 李逸波.多媒体数据库技术[M].北京:机械工业出版社,2004.
[2] 叶成林,徐褐荫,任光杰.多媒体数据库及其教育应用[J].中国电化教育,2003(9):100-103.
[3] 应敏.多媒体数据库与在线考试系统的整合[J].计算机应用,2007,27(6):360-361.
[4] 王勇,何贞铭,彭建斌.GIS中多媒体信息存储和管理方式的研究[J].计算机时代,2010(11):8-11.
[5] 杨开英,王妮娜.基于对象一关系模型的多媒体数据模型设计[J].武汉理工大学学报:信息与管理工程版,2005,27(1):76-80.
[6] 张军,柳伟,李国辉,等.用oracle开发多媒体数据库信息检索应用[M].北京:科学出版社,2005.
[7] 曹会文.论多媒体数据库的关键技术问题[J].大众科技,2005(7):46-47.
[8] 徐兵,方苏春.农业信息化多媒体Web数据库构建[J].安徽农业科学,2012(1):575-599.