多媒体数据库实现技术

2024-10-01

多媒体数据库实现技术(共10篇)

多媒体数据库实现技术 篇1

摘要:在移动多媒体广播系统中, 数据推送的目的是为终端用户提供移动多媒体广播数据业务服务, 为用户提供增值体验。随着CMMB移动多媒体广播运营的深入开展, 数据推送业务的开展不断推进, 其重要性逐渐凸现。本文从系统组成、工作原理、业务流程、发送与接收方式等方面探讨了移动多媒体广播 (CMMB) 数据推送业务系统的设计和实现。

关键词:移动多媒体广播,数据广播,推送业务

0引言

随着CMMB覆盖优化和运营开展的深入, 单纯的电视、广播业务已远远满足不了用户需要, 用户希望获得更多丰富的增值业务。由于CMMB主要面向手机等小型移动接收终端, 如何在终端上接收展现各种增值业务变得尤为关键。以传统客户端形式来解决点对面的增值业务问题已越来越不可行, 需要建立新的广播增值业务模式, 构建新型广播增值平台, 解决终端的普适性问题, 降低终端集成使用增值业务的复杂性。

CMMB数据推送业务是指以点对面的广播方式推送传输文本、图像、音频、视频等多媒体信息数据到用户终端的一种技术方式, 可把海量信息传送给用户, 属于CMMB数据广播业务, 具有以下特点:

1.前端主动推送, 无需用户发出请求;

2.对于推送到终端的内容, 用户可有选择地进行接收或过滤;

3.传送及保存过程自动完成, 无需用户参与;

4.业务使用与传输过程分离, 用户可离线、反复使用;

5.对于已推送并存储到终端的内容, 用户可立即使用;

6.前端在推送内容时, 结合预约下载, 有效调度推送时间, 有效利用带宽。

目前CMMB数据广播推送式业务已实现音频富媒体广播在中央人民广播电台与国际广播电台北京地区的试商用, 其业务产业链的成熟化进程将逐步加速。

1业务形态

1.推送式图文业务:推送式图文业务是以图片与文字组合为主的推送式业务, 向用户提供资讯服务, 包括政务信息、紧急广播、新闻体育、娱乐文化等内容。

2.推送式音频业务:推送式音频业务以音频内容为主, 包括音乐推送、铃声下载、有声小说等。

3.推送式视频业务:推送式视频业务以视频内容为主, 包括视频新闻、影视媒体、专项视频应用等。

4.其它类推送业务:其他类推送式业务可根据业务发展需要推送其它形式的文件, 包括地图更新推送、软件推送、游戏推送等。

2业务框架设计

2.1总体结构

推送业务系统总体结构如图1所示。

推送业务前端平台完成对以推送业务为中心的相关信息的管理、业务的播放控制、数据文件的加扰、封装以及与运营支撑系统的交互。主要包括内容管理系统、数据广播系统、DRM系统。推送业务终端平台完成对CMMB推送业务的接收、处理及展现, 用户通过此终端系统获取CMMB数据广播提供的各种增值服务。主要包括订阅/取消订阅、下载管理器、解扰模块、文件系统。

2.2推送业务前端平台

2.2.1内容管理系统

内容管理系统 (CMS) 用于管理向终端推送的内容, 为前端的CMMB数据广播系统提供支持, 主要包括内容存储、编排, 播出监控及用户和日志管理。

1.产品库:包括内容存储服务器、内容存储管理工作站和内容审查管理工作站。

2.编排管理:包括播出编辑工作站、日志/用户管理、播出控制服务器、播出监控

2.2.2数据广播系统

数据广播系统对CMS编排审核通过的内容或其它应用上层内容进行播控管理, 包括数据广播文件发生器的开启与关闭管理, XPE封装机的开启和关闭管理等。

1.文件发生器:文件发生器实现对数据文件的切片与分发的管理。数据文件从CMS的产品库输入到文件发生器, 由文件发生器按定义格式切片及打包后分发给XPE打包机或加扰器。

2.XPE封装机:XPE封装机把输入数据封装成复用器可识别的数据包, 由复用器再把数据包复用到广播通道的各个业务中。其输入数据为文件发生器发送的数据片/FAT片信息、即时数据流或加扰器加扰后的数据信息, 其输出数据为统一的XPE数据包或XPE-FEC数据包。

3.双向传输容错系统:双向传输容错系统负责缓存正在广播的产品数据 (加扰后数据) , 用于终端在大文件下载时、在缺失较少数据 (95~100%) 的情况下通过双向网络下载缺失数据, 有效减少下一次轮播的等待时间, 改善用户体验。

4.播控管理:对业务内容播发参数的配置包括数据广播文件发生器的开启与关闭管理和XPE封装机的开启和关闭管理。

2.3推送业务终端平台

推送业务终端平台是CMMB数据业务终端系统的一部分, 由若干支持推送业务的核心模块组成, 提供订阅/取消订阅、定时自动下载、内容安全存储及定时开关机等基础服务和管理。

2.3.1订阅/取消订阅模块

对用户已购买的业务进行细化的订阅控制。订阅/取消订阅模块从“推送业务指南”文件获取业务基本信息并显示给用户, 根据媒体类型对订阅列表进行过滤, 仅向用户显示该终端支持的媒体类型;根据文件容量大小信息计算终端剩余的存储空间是否满足要求, 提示用户确定是否订阅该内容。

默认情况下, 用户订阅的基本单位是内容, 对于在“推送业务指南”文件中提供了详细描述信息的文件, 用户也可对其进行订阅设置。“下载计划表”指示下载管理器在某一时刻下载某个内容。

2.3.2下载管理器模块

按“订阅/取消订阅”模块形成的下载计划表完成内容文件自动下载, 无需用户的干预, 会根据下载计划表形成一系列定时下载任务, 定时调用下载器 (图2) 模块来为每个定时下载任务执行一次下载操作。

定时开关机控制模块根据将要执行的下一次定时下载任务的起始时间向系统时钟RTC单元注册自动开机时间。该时刻到达时, 如终端处于关机状态, RTC单元将控制终端设备自动启动, 并激活下载任务管理模块, 启动定时下载任务。当下载任务完成后, 如果下次下载任务间隔时间较长, 自动开关机控制模块控制终端自动关机。为保证定时下载任务能准时启动, 时钟同步模块将定期与TS0中的系统时间信息同步, 校准本机时钟。

解复用模块将从CMMB信道接收到的数据还原为XPE/XPE-FEC数据, XPE文件接收模块调用解扰模块解扰, 并将XPE包解析成文件片及文件块, 文件拼接模块将文件块拼接成完整的文件, 并在文件存储管理模块的控制下存储到终端的文件系统中。

下载过程中大文件可能出现某些文件片或文件块缺失或出错的情况, 下载管理器可在下一次轮播时仅下载缺失的部分;如果缺失数据小于5%, 可调用传输容错模块通过双向网络直接向前端请求缺失的文件片或文件块, 以避免等待下一次轮播。

3推送业务指南数据

3.1业务指南信息的描述

业务指南信息通过ESG系统将CMMB数据推送业务的产品编排等信息推送给终端用户, 终端可根据指南信息订阅产品, 定时或后台下载。ESG主要包括2部分:

1.基本编排信息:根据数据业务编排信息等产生数据广播业务指南数据。

2.内容扩展信息:在ESG中实现数据业务的扩展部分, 在订阅产品时能提前预知和判断其合理性并提供校验参考。表1列出语法描述语义, 表中的定义为数据广播专用信息, 内容扩展信息定义为ContenAux.xml, 通过ESG系统发送到终端。

3.2终端接收具备条件

终端应支持以下条件判断:是否已订购该业务或产品;磁盘剩余容量是否足够;媒体类型是否支持。

3.3业务指南信息的展现

终端以ESG业务形式展现推送业务指南信息, 可根据需要订阅符合条件的产品。

4大文件的容错推送下载

4.1容错下载

根据FAT表中FAI对文件大小的描述, 为该文件在磁盘上开辟出一块与文件大小相同的临时空间来存放临时文件, 并在同级目录下为该文件生成索引辅助文件。临时文件和索引文件辅助的命名规则按照FAI定义的文件名来确定, 临时文件名是在该文件名后加上后缀.ltmp, 索引辅助文件是在该文件名后加上后缀.lfbi。

索引辅助文件用于标识同名临时文件中索引位置对应的块/片是否下载, 具体格式见图3。

资源标识

16位字段, 文件的资源标识。

更新标识

4位字段, 文件的更新标识。

块/片标志

1位字段, 片或块指示, 如果为0, 指示后面的“块/片接收标识”字段指示的为块标志。

块/片总数

24位字段, 表示块/片总数, 其中块的范围0~2047, 片的范围0~16777215。

块/片接收标志

1位字段, 0表示临时文件中该块或片的数据未接收, 否则表示接收。

序号为0, 1, ..., N-1, 共N个, N取值范围由“块/片总数”字段决定。如果N不是8的整数倍, 则填充0, 补齐字节。

4.2预下载

在接收完整FAT表之前, 可对已经接收的文件片/纠删校验片进行缓存 (预接收) 处理。每个文件片/纠删校验片被存储在临时文件夹下的相应临时文件中, 相同文件同一个块的文件片/纠删校验片存储在同一文件中。当收到一个文件片/纠删校验片时只需要在对应ptmp文件末尾追加存储该文件片/纠删校验片, 不需顺序存储。

终端为每个ptmp文件在同级目录下建立一个索引辅助文件, 文件名相同, 扩展名为.pfsi (Pre-receive File Slice Index) , 即资源标识_块序号.pfsi。

索引辅助文件用于标示同名临时文件中索引位置对应的片是否下载, 具体格式见图4。

资源标识

16位字段, 文件的资源标识。

块序号

10位字段, 文件的块标识。

片预接收总数N

14位字段, 标识当前文件的文件块中的文件片最大预接收数量, 由终端配置。

更新序号

4位字段, 文件的更新标识。

片接收标志

1位字段, 0表示临时文件中该块或片的数据未接收, 否则表示接收。

序号为0, 1, ..., N-1, 共N个。N取值范围由“片预接收总数”字段决定, 如果N不是8的整数倍, 则填充0补齐字节。

5终端存储空间管理

对存储空间管理的考虑包括:

1.推送类业务在下载过程中, 既要尽量避免用户参与, 又要保证下载内容安全可靠地保存于终端。

2.在保证效率的前提下, 用户界面尽量做到友好, 以培养用户使用习惯, 促进业务推广。

为此我们把存储空间的管理分为两类:默认存储空间和存储空间溢出管理。

5.1默认存储空间管理

1.默认存储位置的显示:根据终端能力, 在用户订阅内容时, 提示下载文件的默认存放位置。

2.默认存储位置的修改:根据终端能力, 可根据实际情况和喜好, 修改默认存储位置, 也可为每个订阅的内容指定存储位置。文件下载后可自动将文件保存到用户指定的目录。

3.默认存储空间大小的配置:默认存放空间是整个终端可用的存储空间, 当终端上没有可用存储空间时, 溢出发生, 并进入存储空间溢出管理。为了避免与终端其他功能冲突, 可为推送类业务指定存储空间大小, 当下载的文件达到存储空间上限时, 溢出发生, 并进入存储空间溢出管理。

5.2存储空间溢出管理

用户指定好默认存放位置之后, 可通过选择不同的存储溢出管理策略, 来应对下载文件过多导致空间溢出的情况, 避免将自己喜好的已下载内容在不知情的情况下自动删除。

1.溢出时停止下载:当下载器发现存储空间不足时自动停止下载, 并提示用户手动删除或移动文件。

2.溢出时自动删除旧文件:当下载器发现存储空间不足时自动删除用户指定的目录下保存最久的文件, 保证最新内容及时下载。

3.溢出时自动删除大文件:当下载器发现存储空间不足时自动删除用户指定目录下最大的文件, 以下载更多内容。

4.定时提醒用户整理存储空间:定时向用户报告存储空间状况, 提示用户对存储空间进行整理。

5.定时自动删除旧文件:定时整理存储空间, 自动删除用户指定目录下保存最久的文件。

6.定时自动删除大文件:定时整理存储空间, 自动删除用户指定目录下保存最大的文件。

6业务流程

6.1推送流程

1.通过审核的业务内容进入CMS内容资源库。

2.定义具体业务的推送规则, 产生推送业务编排表。

3.CMS根据编排信息生成业务指南数据, 并发送给ESG和BOSS。

4.ESG把业务指南信息下发给终端, 指导用户订阅。

5.数据广播平台按照业务编排时间表对具体的产品进行文件分发。

6.文件分发器把分片文件传递给加扰器进行加扰。

7.加扰器把CW传递给CA进行加密。

8.CA把ECM返还给加扰器。

9.加扰器把加扰后的数据及ECM传递给XPE打包机及双向传输容错系统。

10.XPE打包机把打包文件传递给复用器。

11.通过数据广播网络下发到终端。

6.2订阅/取消订阅流程

1.订阅流程

1) 前端平台推送业务指南数据给终端, 终端接收业务指南数据并展现;

2) 用户根据业务指南发起对产品或者文件的订阅请求, 终端进行订阅请求处理, 进行属性匹配, 异常情况下提示用户;

3) 用户确认订阅后, 订阅模块生成下载计划表送下载器模块, 并返回处理结果 (图6) 。

2.取消订阅流程

1) 用户请求浏览下载计划表, 终端展现未完成的订阅下载列表;

2) 用户发起取消订阅请求, 订阅模块更新下载列表, 送下载器模块, 返回处理结果 (图7) 。

6.3产品下载流程

1.下载器模块根据订阅时间接收指定产品数据。

2.收到数据后判断类型, 如果是FAT信息, 直接生成文件;如果是数据信息, 则提取加扰净荷信息给解扰模块。

3.解扰模块进行文件解扰。

4.按接收规则生成具体的产品数据文件。

5.校验后如文件仍不完整 (95%~100%) , 可选择双向网络容错系统获取剩余文件 (图8) 。

7结束语

随着CMMB数据推送业务的深入运营, 还有一些方面需不断完善。如内置天线问题, 目前CMMB信号接收都需用户在使用过程中主动拉出天线才能有效进行业务消费。但对于数据推送业务, 强调的是“前端主动推送、终端自动存储、无须用户参与”的理念, 所以内置天线的问题越来越突出。现阶段内置天线存在接收灵敏度、成本等问题, 但随着接收灵敏度的改善, 内置天线会逐渐普及。又如数字版权保护, 数据推送业务包含了图片、音频和视频等大量数字文件数据, 其中一大部分由专业的内容提供商提供, 针对数字文件的版权保护是必不可少的, 必须对媒体内容封装格式、版权对象格式等技术进行深入研究。

数据推送业务是CMMB产业链中的重要增值业务, 也是数据广播数据传输的重要环节, 具有传统IP网络不可比拟的点到面迅速传递的优势。同时, 由于推送业务依托的是单向广播通路, 可使用移动网络、固定网络或互联网络实现业务上行, 因此将为广播电视互动业务的开展探索新的途径, 为三网融合提供产业拓展思路。

参考文献

[1]GY/T220.1-2006.移动多媒体广播第1部分:广播信道帧结构、信道编码和调制[S].

[2]GY/T220.2-2006.移动多媒体广播第2部分:复用[S].

[3]GY/T220.3-2007.移动多媒体广播第3部分:电子业务指南[S].

[4]GY/Z220.4-2007.移动多媒体广播第4部分:紧急广播[S].

[5]GY/Z220.5-2008.移动多媒体广播第5部分:数据广播[S].

[6]GY/Z220.6-2008.移动多媒体广播第6部分:条件接收[S].

[7]GY/Z220.7-2008.移动多媒体广播第7部分:接收解码终端技术要求[S].

多媒体数据库实现技术 篇2

因为海况、仪器噪声、海水中浮游生物等因素存在,测深数据中含有大量的异常数据和噪声,由于数据量大,如何有效定位异常数据和噪声是目前国际上的.研究热点.本文详细介绍了手工交互式编辑和常用的几种自动编辑方法,并重点介绍了基于测点密度的图像滤波方法,阐述了多波束测深数据编辑软件的实现,对多波束测深数据的快速编辑有一定的参考意义.

作 者:阳凡林 郑作亚 郭金运 刘智敏 YANG Fan-lin ZHENG Zuo-ya GUO Jin-yun LIU Zhi-min 作者单位:阳凡林,郑作亚,郭金运,YANG Fan-lin,ZHENG Zuo-ya,GUO Jin-yun(海岛(礁)测绘技术国家测绘局重点实验室,山东,青岛,266510;山东科技大学测绘科学与工程学院,山东,青岛,266510)

刘智敏,LIU Zhi-min(山东科技大学测绘科学与工程学院,山东,青岛,266510)

多媒体数据库实现技术 篇3

当前各高校都加强了网络的宣传,招生、录取等都在网上进行。这在方便了管理和提高效率的同时,也给一部分违法分子以可乘之机,目前少数不法分子在高考招生结束后,利用伪造虚假网页进行诈骗,有的甚至利用黑客手段篡改高校网站考生录取记录,从事诈骗活动。如黑客篡改中国地质大学(武汉)和中南财经政法大学招生信息①,篡改海南大学招生信息②等案,给社会造成了恶劣影响,严重影响了社会的和谐和安宁。目前很多对外信息发布系统有防火墙、杀毒软件、网页防篡改系统等防护措施,但基于数据库的保护相对较少。本文提出了一种基于数字摘要的高校招生查询数据库的防篡改机制。

一、数字摘要算法及其应用

从 Rivest 1989年开发出MD2算法开始就揭开了人们对加密算法的新一轮研究,进而推出了MD3、MD4算法 。为了加强算法的安全性,满足信息发展对网络安全的要求,研究出了趋近成熟的MD5算法。MD5的全称是Message-Digest Algorithm 5(信息-摘要算法5)③,在20世纪90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L.Rivest开发,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密钥前被“压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器进行的设计优化,而MD4和MD5却是面向32位的电脑。

MD5的典型应用是对一段信息(Message)产生信息摘要(Message Digest),以防止被篡改。比如在UNIX下有很多软件在下载的时候都有一个文件名相同、文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如MD5(test)= 0ca175b9c0f726a831d895e269332461,这就是test文件的数字签名,test的文本内容为“tom123456”。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个惟一的MD5信息摘要。如果在以后传播这个文件的过程中,无论文件的内容发生了什么形式的改变(包括人为修改或者下载过程中线路不稳定引起的传输错误等),只要你对这个文件重新计算MD5时就会发现信息摘要不相同,由此可以确定你得到的是一个不正确的文件。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。MD5还广泛用于加密和解密技术。例如Cisco的Enable的密码和UNIX、LINUX系统中用户的密码都是以MD5经加密后存储在文件系统中的。当用户登录的时候,系统把用户输入的密码计算成MD5值,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码明码的情况下就可以确定用户登录系统的合法性。这不但可以避免用户的密码被具有系统管理员权限的用户知道,而且还在一定程度上增加了密码被破解的难度④。

二、 数据库防篡改设计原理

监控数据库是否被非法修改是这个数据库平台的关键点。最简单可靠的方法就是先将数据库备份,通过逐行比较数据库记录字段值来判断数据库是否被修改,但是此种方法需要逐行比较,既耗时也耗费空间,可行性差。因此对数据库记录的鉴别必须是保障不可伪造,并且能实时发现数据库的异常,及时告警,及时恢复,不给犯罪分子可乘之机。

招生查询数据库数据一旦导入后,再次修改的几率很小,大部分是用来查询的。保证数据的不可修改和伪造,单向散列函数可以实现此功能,可以使用MD5 、SHA-1等算法,只要数据被修改,数字摘要信息就会出现前后不一致,达到鉴别功能的实现。SHA-1提高了强度,增加了安全性,但是该算法计算度增加,效率有所降低。在保证高效的前提下,本文拟采用MD5算法进行数字摘要,对数据进行鉴别。

系统可以先把正确数据每记录字段组合为一个摘要,然后保存在安全位置,系统鉴别时同时对安全数据表和运行的表逐摘要比较。这样,虽然保证了安全,但是性能降低,因此我们在这里引入了安全字符串R,由系统管理员自己定义存储在内存中,在数据导入和查询时都将使用它,这样鉴别时就可以不再跨库查询。

如图1中的导入数据过程,MD5以数据表一行记录为基础输入M,同时系统定义安全字符串R,产生摘要数据H(M+R)。作为数据库中新增字段M,在数据库被查询时,取数据库原始字段进行一次H(M+R)与M的比较,异常则转入异常处理模块。数据在对外发布过程首先走鉴别过程,这样就杜绝了错误信息的发布,确保了数据的可靠。

三、 数据库防篡改的实现

防篡改平台作为一个中间件平台存在,只要对数据库平台进行访问都要经过此平台的检验,没发现篡改才会把数据转发给用户,如果有篡改发生马上转入异常报警和数据恢复。在这里,安全字符串需要用户自己掌握,在记录进行摘要和篡改鉴定中必须保持一致。

数据库防篡改的整体过程分为7步。第一步,外网用户通过web提交查询数据,传入查询的关键字。第二步,鉴别模块接受查询的关键字,进入数据库检索数据。第三步,检索到该记录,提取所有字段与系统设定的关键字符串串接,进行数字摘要。若没检索到记录退出系统。第四步,将数字摘要与前面生成的摘要字段M进行比对。如果异常转入第六步。第五步,核对正确,查询结果返回给用户,系统退出。第六步,出现异常,马上联动告警信息,如联动短信设备或电话设备,及时报警。第七步,从安全设备上获取数据,重新生成摘要,恢复正常数据。

从以上过程我们可以看出,整个过程中,即使攻击者获取系统控制权限,对数据记录进行恶意修改,只要查询用户通过web页面查询数据,鉴别模块就会发现异常,及时联动恢复模块进行数据恢复。

四、关键算法及其实现

系统基于windows 2003或linux平台。采用java做平台开发,采用mysql数据库进行数据存储。关键算法如下:

MD5在java下的实现

import java.security.MessageDigest;

public static Stringmd5(String inputstr) throws Exception

{int tempi=0;

MessageDigest md5 = MessageDigest.getInstance

("md5");

byte[ ] in = inputstr.getBytes("utf-8");

byte[ ] out = md5.digest(in);

StringBuffer md5str = new StringBuffer();

for (int i=0;i<16;i++){

tempi=out[i] & (0xff);

if (tempi<16)md5str.append("0");

md5str.append(Integer.toHexString(tempi)); }

return md5str.toString();}

其中系统结构图见图2。

五、结束语

该系统在很大程度上防止了数据被恶意修改和滥用,保证了高校招生查询数据库的安全,在记录进行MD5的过程中引入安全字符串,增加了安全性,优化了系统的性能。但本系统还存在一些不足,如安全字符串R的安全保障和原始表的存放位置考虑的偏少,这也是我们后续研究的目标。

注释:

①http://www.lq318.com/news/guonei/7893.aspx

②http://www.techweb.com.cn/news/2008-09-29/368221.shtml

③Rivest R.The MD5 Message-Digest Algorithm.RFC 1321,April 1992

④张裔智等:《Md5算法的研究》,《计算机科学》,2008年第35卷第7期。

多媒体数据库实现技术 篇4

按照世界贸易组织多媒体商务专题报告的定义,多媒体商务就是通过电信网络进行的生产、营销、销售和流通等活动,它不仅指基于因特网上的交易,而且指所有利用电子信息技术来解决问题、降低成本、增加价值和创造商机的商务活动,包括通过网络实现从原材料查询、采购、产品展示、订购到出品、储运以及电子支付等一系列的贸易活动。简单地讲,电子商务是指利用电信网络进行的商务活动。世界范围内的政府部门、公众服务机构、电信企业、银行等金融服务机构以及各类型企业和数以亿计的个人用户,都开始广泛地参与电子商务活动。电子商务在世界范围内得到了很大的发展。现在,电子商务已经成为国际上各个国家制定经济政策的主要依据之一。

所谓电子商务就是当你通过Internet融入传统信息技术系统的丰富资源库时所发生的,它是动态和交互式的。它涉及的范围是巨大的,通过光纤主干网络连接专有的各企业内部网,通过共享广域网连接到公共Internet。它通过Web技术把客户、生产商、供应商和雇员连接在一起。电子商务是以电子方式进行交易,提供服务的一种新型的商业运行机制。随着信息技术的普及,跨国经济活动的空前繁荣,电子商务对经济运行的影响力势必会超出一国的范围,进入国际层面,从而对国际贸易流转产生巨大的影响。作为国际贸易关系支柱的世界贸易组织一直对电子商务这一新课题予以着极大的关注。1998年的第二届贸易部长会议通过了关于电子商务的共同宣言,宣言对网上交易实行临时免税的作法。除此之外,会议还决定在个相关的理事会下,开展一个针对电子商务的工作计划(Work Program For Electronic Commerce)。

电子商务正经历从仅仅为私营企业设计的电子数据交换系统向为世界范围内的政府组织、私营企业和个人消费者服务的全球商务系统。这是信息技术不断创新的时代。信息技术消除了时间和距离对人们的限制,对商品和服务的描述更加生动。信息技术创造了新的商务模式,并通过交互式多媒体的协同使用促进国际贸易。此外,通过联网的计算机,人们不仅能够在家里进行娱乐,还可以获得教育、健康和社会福利方面的服务。

2 多媒体电子商务网站需要解决的问题

1)有效性电子商务以电子形式取代了纸张,那么如何保证这种电子形式的贸易信息的有效性则是开展电子商务的前提。电子商务作为贸易的一种形式,其信息的有效性将直接关系到个人、企业或国家的经济利益和声誉。因此,要对网络故障、操作错误、应用程序错误、硬件故障、系统软件错误及计算机病毒所产生的潜在威胁加以控制和预防,以保证贸易数据在确定的时刻、确定的地点是有效的。

2)机密性电子商务作为贸易的一种手段,其信息直接代表着个人、企业或国家的商业机密。传统的纸面贸易都是通过邮寄封装的信件或通过可靠的通信渠道发送商业报文来达到保守机密的目的。电子商务是建立在一个较为开放的网络环境上的(尤其Internet是更为开放的网络),维护商业机密是电子商务全面推广应用的重要保障。因此,要预防非法的信息存取和信息在传输过程中被非法窃取。

3)完整性电子商务简化了贸易过程,减少了人为的干预,同时也带来维护贸易各方商业信息的完整、统一的问题。由于数据输入时的意外差错或欺诈行为,可能导致贸易各方信息的差异。此外,数据传输过程中信息的丢失、信息重复或信息传送的次序差异也会导致贸易各方信息的不同。贸易各方信息的完整性将影响到贸易各方的交易和经营策略,保持贸易各方信息的完整性是电子商务应用的基础。因此,要预防对信息的随意生成、修改和删除,同时要防止数据传送过程中信息的丢失和重复并保证信息传送次序的统一。

4)可靠性、不可抵赖性鉴别电子商务可能直接关系到贸易双方的商业交易,如何确定要进行交易的贸易方正是进行交易所期望的贸易方这一问题则是保证电子商务顺利进行的关键。在传统的纸面贸易中,贸易双方通过在交易合同、契约或贸易单据等书面文件上手写签名或印章来鉴别贸易伙伴,确定合同、契约、单据的可靠性并预防抵赖行为的发生。这也就是人们常说的“白纸黑字”。在无纸化的电子商务方式下,通过手写签名和印章进行贸易的鉴别己是不可能的。因此,要在交易信息的传输过程中为参与交易的个人、企业或国家提供可靠的标识。

5)审查能力根据机密性和完整性的要求,应对数据审查的结果进行记录。

3 多媒体电子商务网站的关键环节—网上交易安全

安全问题始终是制约Internet/Intranet应用、网络银行、电子商务全面发展的关键因素,如何解决这一问题,一直是安全专家们努力的方向。

在电子商务这个名词还没有出现之前,早在90年代初当Internet向商界开放的时候,从事网上商业活动的人们就意识到,网上支付将成为进一步发展网上商业的主要瓶颈。

由于TCP/IP协议本身的不安全性,使得互联网信息安全问题日益突出。为此,人们提出了各种解决方案,这些技术的核心都是公钥加密技术。经过多年的研究,近年来在安全性方面取得了很大的进展,有些技术已被商家与顾客认可,在网上交易方面获得了成功的应用。可见,以公钥加密体制为基础,结合数字证书、数字签名等技术,可以为网络通信提供安全保障。

为解决Internet的安全问题,世界各国对其进行了多年的研究,初步形成了一套完整的Internet安全解决方案,即目前被广泛采用的PKI(Public Key Infrastructure)技术。PKI技术采用证书管理公钥,通过第三方的可信任机构—CA(Certificate Authority),把用户的公钥和用户的其他标识信息(如名称、email、身份证号等)捆绑在一起,一在Internet网上验证用户的身份。目前,通用的办法是采用建立在PKI基础之上的数字证书,通过把要传输的数字信息进行加密和签名,保证信息传输的机密性、真实性、完整性和不可否认性,从而保证信息的安全传输。

4 信息加密算法

4.1 信息加密概述

密码学作为数学的一个分支,其基本任务是使发送者和接收者在不安全信道上进行通信,而除他们之外的任何第三方均不能理解他们正在通信的丙容。发送者传送给接收者的消息(Message)称为明文(Plaintext),明文经过某种变换成为一种隐蔽的形式称为密文(C i p h e r t e x t)。变换的过程称为加密(Encryption):其逆过程,即接收者从密文重新构建明文的过程称为解密(Decryption)。加密和解密操作过程中依赖的秘密称为密钥(Secret Key)。

密码学长期以来只在很少的范围内,如军事、外交、情报等部门使用。计算机密码学是研究计算机信息加密、解密及其变换的科学,是数学和计算机的交叉学科,也是一门新兴的学科。随着计算机网络和计算机通讯技术的发展,计算机密码学得到前所未有的重视并迅速普及和发展起来。在国外,它已成为计算机安全主要的研究方向,也是计算机安全课程教学中的主要内容。

密码是实现秘密通讯的主要手段,是隐蔽语言、文字、图像的特种符号。凡是用特种符号按照通讯双方约定的方法把电文的原形隐蔽起来,不为第三者所识别的通讯方式称为密码通讯。在计算机通讯中,采用密码技术将信息隐蔽起来,再将隐蔽后的信息传输出去,使信息在传输过程中即使被窃取或截获,窃取者也不能了解信息的内容,从而保证信息传输的安全。

任何一个加密系统至少包括下面四个组成部分:

1)未加密的报文,也称明文。

2)加密后的报文,也称密文。

3)加密解密设备或算法。

4)加密解密的密钥。

发送方用加密密钥,通过加密设备或算法,将信息加密后发送出去。接收方在收到密文后,用解密密钥将密文解密,恢复为明文。如果传输中有人窃取,他只能得到无法理解的密文,从而对信息起到保密作用。

4.2 传统加密方式——对称密钥密码的数据结构体制

对称密钥密码体制是密码体制的经典形式,基本特点是加密密钥和解密密钥为同一密钥的密码算法。因此,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码(称为对称密码)。在对称密钥密码算法中,加密运算与解密运算使用同样的密钥。通常,使用的加密算法比较简便高效,密钥简短,破译极其困难。系统的保密性主要取决于密钥的安全性,其强度主要由密钥的长度决定,密钥越长,破解的难度越大。

常用的对称密钥算法有:

1)数据加密标准数据加密标准(DES)是美国经长时间征集和筛选后,于1977年由美国国家标准局颁布的一种加密算法。它主要用于民用敏感信息的加密,后来被国际标准化组织接受作为国际标准。

DES主要采用替换和移位的方法加密,其算法是把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,整个算法的主流程如下:

其功能是把输入的64位数据块按位重新组合,并把输出分为L0.RO两部分,每部分各长32位,其置换规则见下:

即将输入的第58位换到第一位,第50位换到第2位……,依此类推,最后一位是原来的第7位。LO、RO则是换位输出后的两部分,LO是输出的左32位,RO是右32位,例:设置换前的输入值为DID2D3...D64,则经过初始置换后的结果为:LO=D58D50...D8;RO=D57D49...D7。

经过16次迭代运算后。得到L16,R16,将此作为输入,进行逆置换,即得到密文输出。逆置换正好是初始置的逆运算,例如,第1位经过初始置换后,处于第40位,而通过逆置换,又将第40位换回到第1位,其逆置换规则如下面所示:

放大换位

单纯换位

在f(Ri,Ki)算法描述中,Sl,S2,...,S8为选择函数,其功能是把6bit数据变为4bit数据。下面给出选择函数Si(i=1,2,...,8)的功能表:

选择函数Si

在此以S1为例说明其功能,我们可以看到:在S1中,共有4行数据,命名为0,1,2,3行;每行有16列,命名为0,1,2,3,…,14,15列。

现设输入为:D=D1D2D3D4D5D6

令:列=D2D3D4D5

行=D1D6

然后在S1表中查得对应的数,以4位二进制表示,此即为选择函数S1的输出。下面给出子密钥Ki(48bit)的生成算法。

从子密钥Ki的生成算法描述图中我们可以看到:初始Key值为64位,但DES算法规定,其中第8,16,...,64位是奇偶校验位,不参与DES运算。故Key实际可用位数便只有56位。即:经过缩小选择换位表1的变换后,Key的位数由64位变成了56位,此56位分为CO,DO两部分,各28位,然后分别进行第1次循环左移,得到C1,Dl,将Cl(28位)、D1(28位)合并得到56位,再经过缩小选择换位2,从而便得到了密钥KO(48位)。依此类推,便可得到K1,K2,…,K15,不过需要注意的是,16次循环左移对应的左移位数要依据下述规则进行:

循环左移位数

以上介绍了DES算法的加密过程。DES算法的解密过程是一样的,区别仅仅在于第一次迭代时使用子密钥K15,第二次K14,……,最后一次用K0,算法本身并没有任何变化。

DES算法中只用到64位密钥中的其中56位,而第8,16,24,…,64位8个位并未参与DES运算,它用56位密钥对64位二进制数据块进行加密,每次加密可对64位的输入数据进行16轮编码,经一系列替换和移位后,输入的64位原始数据转换成完全不同的64位输出数据。DES算法仅使用最大为64位的标准算术和逻辑运算,运算速度快,密钥生产容易,适合于在当前大多数计算机上用软件方法实现,同时也适合于在专用芯片上实现。

2)国际数据加密算法

国际数据加密算法(IDEA)是瑞士的著名学者提出的。它在1990年正式公布并在以后得到增强。这种算法是在DES算法的基础上发展出来的,类似于三重DES。发展IDEA也是因为感到DES具有密钥太短等缺点,己经过时。IDEA的密钥为128位,这么长的密钥在今后若干年内应该是安全的。

5 数字证书的数据结构

本文采用ASN.1语法来描述数字证书的数据结构。ASN.1即抽象语法标记(Abstract Syntax Notation One),是一种用来描述结构化信息的标记语言,它所描述的结构化信息往往需要在通信介质中传递。ASN.1现在己成为一种国际标准。它使人们既能清楚简洁地表示协议中要传递的各种信息,又能容易地实现相应的协议标准。ASNA的优点在于对某些专用的协议进行描述后,利用ASN.1编译器进行转化就可以得到某些常见的编程语言如C/C++或JAVA的相应数据结构表示形式,再通过相应的编解码器就可生成可在通信介质中传递的位模式。采用这种方法不仅减轻了程序员的负担也加强了系统间的互操作性。

ASN.1由两部分组成:第一部分描述交换信息数据类型及序列格式,第二部分则描述如何将上述结构化数据组成消息。

6 结束语

本论文从多媒体电子商务对信息安全的基本要求以及证书的基本结构出发,分析了认证中心的基本功能及安全的加密技术和算法,对安全电子商务中的认证技术进行了深入的探讨。

在安全交易中CA中心是公正的第三方,它负责证书的发放、公钥的分配,身份的认证及信息的安全等问题。构建密码服务系统的核心内容是如何实现密钥的管理:私钥(签名)由用户独立掌握,而公钥则需在网上公开传送,故公钥体制中的密钥管理主要是如何针对公钥的管理。较好的解决方案是采用数字证书机制。数字证书作为一种密钥管理媒介,用于证明某一主体的身份及其公开密钥的合法性。

本文试图实现一种基于SET协议的认证中心,利用LDAP目录服务和存取协议,描述构造证书服务器的方法,完成协议所规定的密钥及证书管理的过程。同时定义了基于ASN.l文法的数字证书的数据结构。所设计的方案能完成密钥的生成、证书的申请、证书的审核与颁发、证书的废止、密钥的管理等功能。并具有如下特点:

1)证书管理服务器/CRL服务器采用LDAP,提高了查询效率;

2)利用对交易各方的数字签名和数字时间戳,可保证交易各方对交易的非否认性;

3)引入双证书机制,用户的加密私钥不在CA中心其设备上保存,如果需要密钥托管则由密钥管理中心负责。提高了加密密钥的安全性。

需要说明的是,一个完整的CA系统实现是相当复杂的。本文主要从研究的角度对电子商务中认证技术的相关算法进行了说明。所提及的方案,鉴于时间和本人能力所限还有待于进一步补充和完善。恳请各位老师批评指正。

摘要:在多媒体商务网站采用公开加密技术后,伴随而来的是密钥的管理问题。文章对商务网站的安全需求和实现安全电子商务的基本技术进行了简述,介绍了安全电子商务网站所涉及到的密码学方面有关知识和常用的算法,重点阐述了安全认证机制的组成与相关数据结构算法的设计。

关键词:多媒体,商务,数据结构,算法

参考文献

[1]丁龙.多媒体技术在电子商务网站艺术设计中的应用[J].商场现代化,2007.

[2]公秀华.电子商务的生存法则[J].互联网天地,2007.

[3]中国计算机科学与技术学科教程2002研究组.中国计算机科学与技术学科教程2002[M].北京:清华大学出版社,2002,

[4]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2002.

多媒体数据库实现技术 篇5

要:本论文主要讨论基于client/server数据完整性约束及其如何实施企业业务规则,并以sqlserver和powerbuilder为例,介绍了数据完整性约束的实现技术。

关键词:client/server,数据完整性约束,

企业业务规则

dbms已从早期的分散的一个个计算模型、网络/文件服务计算模型(针对文件)发展到现在的client/server计算模型(针对表中的一行)。client/server模型是非对等的(decoupled),客户发出服务请求,服务器作出响应,提供服务,即所谓的“请求驱动”。db的client/server系统由dbserver、客户应用程序和网络组成。dbserver(即后端)负责有效地管理系统的资源,主要负责数据处理、并发控制、数据安全性、数据完整性和数据的备份和恢复等。客户应用程序(即前端)是系统中供用户与数据进行交互的部件,主要任务是提供交互式界面完成数据的录入、分析、检查和显示,向dbserver发出请求(sql语句)并接收结果和错误信息。网络和通信软件是系统中客户和服务器之间数据传送的工具。

由于现在的数据库都是开放、多用户共享,因此维护数据库的正确性至关重要。数据库的完整性描述为数据库内容的完整性约束集合,其中完整性约束指数据库的一个状态是否合理,这是一组谓词。dbs检查数据的状态和状态转换,判定它们是否合理,是否应予接受。对一个数据库操作,要判定其是否符合完整性约束,全部断言无矛盾时才可以执行。完整性约束的形式化定义i=(o,p,a,r),其中o是完整性约束所涉及的数据对象集合,p是对象所满足的谓词,a是触发检查的条件,r是约束不满足时的反应动作[2]一、

常见的数据完整性约束根据分类角度不同,可将完整性约束分为如下几类:・域、元组、集合完整性・立即约束和推迟(到eot)约束・状态约束和状态演变约束。・标准和定制的数据完整性约束

实际的系统中,一般将数据完整性约束分为标准的数据完整性约束和定制的数据完整性约束。标准的`数据完整性约束是dbs已经实现的内部规则,包括域完整性、实体完整性和引用完整性。

域完整性(field

integrity)保证一个数据库不包含无意义的或不合理的值,即保证表的某一列的任何值是该列域(即合法的数据集合)的成员。方法是限制列的数据类型、精度、范围、格式和长度等。实体完整性(entity

多媒体数据库实现技术 篇6

1 概述

传统下载方式的时延很大,因为音视频文件一般都较大,需要的存储容量也较大,同时受到网络带宽的限制,下载一个文件很耗时。根据文件的大小,可能往往需要几分钟甚至几个小时。因为internet是以包为单位进行异步传输的,因此多媒体数据在传输中要被分解成许多包,由于网络传输的不稳定性,各个包选择的路由不同,所以到达客户端的时间次序可能发生改变,甚至产生丢包的现象。为此,必须采用缓存技术来纠正由于数据到达次序发生改变而产生的混乱状况,利用缓存对到达的数据包进行正确排序,从而使视音频数据能连续正确地播放。缓存中存储的是某一段时间内的数据,数据在缓存中存放的时间是暂时的,缓存中的数据也是动态的,不断更新的。流媒体在播放时不断读取缓存中的数据进行播放,播放完后该数据便被立即清除,新的数据将存入到缓存中。

本文主要介绍流媒体传输过程中的分组交换内容,并通过万兆以太接口卡可编程器件(Field-Programmable Gate Array,FPGA)的设计,说明数据包在物理层和链路层的传输转换方式。

2 设计思路

本设计为分组通信设备的接口卡,在系统中通过系统总线与业务处理单元相连,对外提供万兆以太网光口。接口卡专用标准产品(Application Specific Standard Parts,ASSP)主要实现以太格式物理层(Physical Layer,PHY)和媒介访问控制(Media Access Control,MAC)功能,可编程逻辑器件FPGA实现流媒体传输报文的QOS功能,线路和系统接口转换。本设计的主要芯片连接关系如图1所示。

在系统的上行侧(ASSP业务处理单元),FPGA完成包缓存、包分类、优先级调度,以及line bus到system bus总线的转换;在系统的下行侧(业务处理单元ASSP),FPGA完成包缓存以及system bus总线到line bus的转换。

本设计FPGA的上行要求线路控制模块能以整包的形式接收ASSP发送的数据,存入FPGA内部缓冲区,并能够正确按照缓冲区的存储状态向ASSP反馈流控信息。由于响应流控的问题,要求上行缓冲区在生成流控的门限基础上有足够的容量继续接收一个最大包长的整包。在系统发送侧,要求能够按照网络处理器的要求发送数据Burst并正确响应网络处理器的流控。下行要求系统接收侧能够正确接收网络处理器发送的Burst并存在缓冲区内,而且能够根据缓冲区的状态准确地向网络处理器反馈流控信息。下行线路接口控制模块能够在缓冲区存有整包的情况下向ASSP发送整包数据,并能够正确响应ASSP送来的流控信号。

FPGA在单板上和ASSP连接,并通过接插件和业务处理单元连接。FPGA主要实现线路与系统总线的转换以及状态、统计信息的读取等。功能结构主要包括线路侧接口的控制、系统侧接口的控制、线路和系统的桥接逻辑,流控逻辑等。FPGA还需要提供了FPGA内部寄存器的配置与状态读取、时钟复位管理功能、时钟检测、包统计、包校验等功能。

3 关键模块实现方案

3.1 线路接口控制逻辑

此模块提供线路接口的视频逻辑,在万兆以太网接口卡中,FPGA和ASSP的线路接口通常是以太网连接单元接口(Ethernet Attachment Unit Interface,XAUI)接口。FPGA需要实现以太PCS和MAC功能。在接收用户端完成MAC功能,识别二层报文发送给下级模块。在发送用户端连接,按照MAC的要求发出申请并接收应答,向MAC的用户接口发送数据。

3.2 报文分类接口控制

此模块按照万兆MAC的用户接口时序正确接收数据,数据的接收以整包模式接收完整的XAUI frame。对于接收的数据,FPGA根据报文的类型进行二层报文的提取,并区分高低两个优先级将数据及一些控制信息写入上行两个FIFO中。

具体的报文提取方法为:提供n个可配置的比较寄存器供驱动配置高优先级报文类型,同时提供一个协议类型偏移配置寄存器。FPGA根据地址偏移从报文某处提取报文类型,然后与驱动配置的类型相匹配。如果匹配,则为高优先级报文,进高优先级队列,否则为低优先级报文,进低优先级队列。

3.3 缓存和调度模块

此模块提供数据及控制信息的缓存,根据两侧数据接口的位宽以及所选器件Block Ram的资源情况,设定每套转换的缓存由低优先级数据先进先出队列(First Input First Output,FIFO)和高优先级二层报文FIFO构成。在这个模块中存在一个计数子模块,计算缓存中存储的数据包个数。当缓存中至少存储了一个完整的数据包后再开始缓存侧的读取,将报文发送到接口。

高低优先级buffer调度采用严格优先级调度方式,高优先级队列有完整报文就优先调度出队列,在流媒体中往往语音和视频等实时业务都配置为高优先级队列;低优先级队列在高优先级没有完整报文时才允许调度,低优先级队列在流媒体中往往缓存高带宽的下载业务。高低优先级缓存需要响应发送侧流控模块的流控,流控Xoff时停止对缓存的调度,流控Xon时开始对缓存进行调度。同时根据缓存设置的高低水线,分别作为流控信号的生成和解除条件。

3.4 系统用户接口控制模块

此模块的功能是实现和业务处理单元互连的系统接口,上行完成报文到系统接口的报文格式转换,下行根据下行缓存的空满状态,将数据和控制信息写入下行缓存中。除此之外,下行接口模块还提供错误处理及报文统计计数,所有的错误包均由FPGA丢弃。

4 结语

线路接口与ASSP连接的XAUI接口,接口仿真波形如图2所示。

系统接口与业务处理单元连接的并行总线SPI4.2接口。图3是对该接口的仿真波形示意。

本设计基于FPGA实现了ASSP到业务处理单元接口转换,并完成报文检测和优先级调度的设计,是视频数据包在物理层、链路层传输转换的可行方法,为使用实现流媒体技术的分组交换的工程设计提供了有益的帮助。

参考文献

[1]周梦然.CLPD/FPGA的开发与应用[M].徐州:中国矿业大学出版社,2007.

[2]王金明.Verilog HDL程序设计教程[M].北京:人民邮电出版社,2004.

多媒体数据库实现技术 篇7

随着信息技术和数据库应用的不断增加,数据库异常检测得到越来越广泛的重视和迫切需要。异常检测技术是计算机安全技术中的重要部分,它从计算机系统中的若干关键点收集信息,并分析这些信息,检测计算机系统中是否有违反安全策略的行为和遭到袭击的迹象。异常检测系统在几乎不影响计算机系统性能的情况下能对计算机系统进行实时监测,并对系统提供针对内部攻击、外部攻击和误操作的实时保护。异常检测技术通过对异常行为的过程与特征的研究,使安全系统对异常事件和异常过程能做出实时响应。异常检测技术扩展了系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应),提高了信息安全基础结构的完整性。

2 FP-growth算法

在数据库异常检测技术中融入数据挖掘算法可以有效的从各种数据中提取出有用的信息,数据挖掘算法非常适用于从历史行为的大量数据中进行特征提取,进而能有效的挖掘出非法攻击的事件。本文所讨论的数据挖掘算法是改进的关联算法的FP-growth算法,并将其运用到数据库异常检测中。

Fp-growth算法采用频繁模式增长,将提供频繁集的数据库压缩到一个频繁模式树,但仍保留项集关联信息;然后,将这种压缩后的数据库分成一组条件数据库(一种特殊类型的投影数据库),每个关联一个频繁数据项,并分别挖掘每个数据库。Fp-growth树具有自身一种特殊的结构:(1)由三个部分组成,这三部分分别为:标记为空结点(NULL)的根、作为根的儿子的项目前缀子树集合和频繁项头表;(2)项目前缀子树中的每一个节点由三个域组成:项目名、支持计数和节点链;(3)频繁项头表的每个条目包含三个域:项目名、支持度计数和节点链的头指针,指向该项目在模式树中的第一次出现位置。Fp-growth算法的具体描述如下:

算法:构造FP-Tree。

输入:事务数据库D,最小支持数ξ。

输出:FP-Tree。

过程:

从上面的算法描述可以看出Fp-Tree构造算法刚好扫描两次事务数据库:第一次扫描生成频繁1-项目集;第二次扫描实现构造Fp-Tree。

3 数据异常检测技术的实现

结合以上数据库和数据挖掘算法的研究,本文设计实现的数据库异常检测系统结构如图1。其结构主要分为:数据预处理、数据挖掘和异常检测三个部分,系统采用的是SQL-Sever数据库。

3.1 数据预处理

本文的异常检测系统首先将进行数据采集工作,采集的方法是利用SQL-Server自带工具事件探测器对数据库的事务日志数据记录跟踪,采集得到的数据最终保存在数据表中。在数据采集完之后,需对数据进行预处理,将数据从多值型转化为布尔型。首先,把多个属于同一会话的审计记录归并到同一个会话连接中去。我们定义一个连接包含的属性为:(ID,用户,表,客户端,操作)。其中,ID为记录本次连接的ID;用户为操作表的数据库用户名称;表为正在运行中的表名;客户端为提交SQL语句的客户机名;操作为用户对表的select,delete,update,insert操作。然后,将每一个属性值由多值型转化为布尔型,在本系统中采用类别属性值,即将客户端分为c1,c21等几个布尔类型,将操作分为select,update,delete,insert几个布尔类型,得到相应的的例表。最后,将预处理后的表里的数据内容写入到文件中,以便于关联算法的挖掘。该文件的格式为:1表示客户端1;2表示客户端2;3表示用户1;4表示用户2;5表示用户3;6表示select;7表示update;8表示delete;9表示insert。该文件每一行输出的格式为:1 4 6或2 5 8,即该文件每一行的输出可作为一个事物,整个文件输出可作为为一个事物集D运用到关联算法中进行数据挖掘。

3.2 数据挖掘

将预处理后文件输出的事物集D运用Fp-growth算法进行关联挖掘,设最小支持度为10%,和最小置信度为70%,从而产生事物集D的关联规则集合,并对此规则集合进行归并更新。具体过程为:采集一定的新审计数据后,对这些数据进行审计挖掘,得到一些规则对新产生的规则集中每条规则,在聚簇规则中寻找相匹配的规则。规则匹配的含义为,两条规则的左右两边完全相同。如果在聚簇规则集中找到一条匹配的规则,那么将聚簇规则集中该规则的记数加1,并且使用加权平均的方法更新聚簇规则集中这条规则的支持度和可信度。否则,如果没有找到一条匹配规则,就将这条规则加入到聚簇规则集中,并将这条规则的计数器加1。这样训练聚簇规则集若干次,直到聚簇规则集稳定为止。规则最后保存到数据库或文件中。

3.3 异常检测

异常检测的步骤为:将采集的待检测审计数据进行预处理,转化成我们前面定义的会话记录格式。对待检测的会话连接记录进行关联规则挖掘,产生关联规则集(与前面训练异常模型的方法相同)。将产生的关联规则集与我们建立异常检测模型进行分析比较,比较出异常的记录。如果是异常,则显示出该记录的详细信息。响应单元是对事件分析器做出反映的单元。对检测来说,如果发现异常,则

把异常信息记录到异常表中,提供给系统管理员使用。对于异常检测,分析结果的表1历史日志行为数据最优数据关联规则集处理包括对判断结果异常时候做处理,记录入侵检测信息并报告给系统管理员。

3.4 试验数据结果

本试验系统选取SQL-Server事件日志文件中300个事件作为历史日志行为数据集,另外选取150个事件集合作为当前审计行为数据集,按照上述系统设计进行Fp-growth关联挖掘,数据结果如下:

1)历史日志行为数据规则集:设最小支持度为10%,和最小置信度为70%,对选取出的300个历史事件数据挖掘结果如表1。

2)当前审计行为数据规则集:这里取最小支持度为10%,最小置信度为70%,利用Fp-growth算法对150个当前审计事件数据挖掘出相应的结果,并采用上面类似的方法最后只取有实际意义的规则,挖掘出的规则集如表2。

3)异常结果:检测的异常结果如表3。

正常事件为:delete∧用户2→客户端1。

4 结束语

随着计算机数据库技术的迅速发展和应用的同时,数据库安全性威胁也日益严重,数据库的异常检测技术正成为研究的热点。本文对数据挖掘中的Fp-growth算法详细分析后,运用到数据库的异常检测技术中去,并通过搭建数据库异常检测系统得到了相应的试验数据。

摘要:该文介绍了数据库异常检测的重要性。重点分析了Fp-growth关联规则算法的实现过程,提出了一个基于Fp-growth算法的数据库异常检测系统,并给出了系统试验数据结果。

关键词:数据库,Fp-growth关联规则算法,数据库异常检测系统

参考文献

[1]用IDS入侵检测系统保卫数据库安全[J].电脑报,2005.

[2]唐正军.黑客入侵防护系统源代码分析[M].机械工业出版社,2002.

[3]彭木根.数据仓库技术与实现[M].北京:电子工业出版社,2002.

多媒体数据库实现技术 篇8

LabVIEW是NI公司推出的虚拟仪器平台开发软件,采用一种功能强大的图形化编程语言,与传统的文本编程工具相比,LabVIEW简单易学,开发效率高,因而广泛地被工业界、学术界所接受,是一个标准的数据采集和仪器控制软件。使用LabVIEW开发应用程序时,经常面临大量数据的采集、存储、分析及查询等问题,因此深入研究LabVIEW环境下的数据管理技术,具有重要的工程实际意义。本文以漏钢预报监测系统为应用对象,研究在LabVIEW中通过LabSQL工具包访问数据库的具体实现方法。

1 漏钢预报监测系统

1.1 监测变量的选取

在连铸生产过程中,漏钢不仅会影响生产,增加维修量,而且会损坏机械设备。因而开发漏钢预报监测系统具有重要意义。目前工业上比较成熟的漏钢预报技术是热电偶测温法,其原理是检测安装在结晶器铜板上的热电偶温度变化情况,分析其是否符合漏钢特性,从而实现漏钢预报。然而,漏钢事故的形成是多种工艺因素偏离稳定状态综合作用的结果[1]。因此,对连铸机上其它参数的监测也是十分必要的。在研究国内外大型钢厂所采用的漏钢预报监测系统基础上,结合一些成熟的关于过程变量选取的工业指导,笔者选取以下监测变量:结晶器铜板上的热电偶温度及其变化率,结晶器振动频率,结晶器液位,铸坯拉速,冷却水的流量及其在进出口处的温度差,中间包液位,结晶器摩擦力等。

1.2 漏钢预报监测系统总体结构

漏钢预报监测系统总体结构如图1所示。在连铸现场,传感器将被测物理量转换成电信号,该信号经过信号调理模块、数据采集卡后送入嵌入式控制器进行数字滤波、标度变换等处理,控制器完成处理后将结果送给上位机。

上位机程序采用LabVIEW8.5软件编写,主要完成数据显示和数据管理功能。考虑到漏钢预报需要监测的参数较多,且监测过程中数据量大、数据类别繁杂等问题,系统采用Access数据库对数据进行管理。但是LabVIEW本身并不具备数据库访问功能,不能像VB、VC那样方便地访问数据库,因此系统需要借助其它辅助方法和工具来实现对数据库的访问。

2 LabVIEW数据库访问方式的选择

LabVIEW访问数据库有以下几种方式[2,3]:

(1)将数据存入文件中,通过编写程序将文件中的数据导入数据库。该方法以磁盘文件为中介,难以满足数据实时存储的要求。

(2)利用NI公司开发的LabVIEW SQL Toolkit工具包访问数据库。该工具包集成了一系列具有数据库操作和访问功能的高级功能模块,可以方便地访问多种数据库,但其价格昂贵,普通用户难以承受。

(3)在LabVIEW中调用由C++等语言编写的动态链接库(DLL)实现对数据库的访问。该方法需要从底层进行复杂编程,工作量较大。

(4)利用LabVIEW的ActiveX功能,调用Microsoft ADO控件,通过SQL语言实现数据库访问。该方式需要熟练掌握Microsoft ADO和SQL语言,也需要从底层进行复杂编程。

(5)通过第三方开发的免费工具包LabSQL访问数据库。LabSQL是一个免费的、源代码开放的、多数据库、跨平台的LabVIEW数据库访问工具包[4],它支持Windows操作系统中的任何基于开放数据库互联(Open Database Connectivity,ODBC)的数据库。该工具包基于ADO技术,将复杂的底层ADO及SQL操作封装成一系列的LabSQL VIs,用户只需熟悉LabSQL的固定语句即可进行简单编程,实现数据库访问。该方式操作简单,易于实现,因此本文采用LabSQL访问数据库。

3 LabVIEW数据库访问的实现

3.1 DSN创建

LabSQL是基于ODBC技术的,在使用LabSQL之前,需要提供数据源名称(Data Source Name,DSN)才能连接到实际的数据库[5],所以首先要在Window操作系统的ODBC数据源中创建一个DSN。

创建DSN的步骤[6]:

(1)在Access中建立一个数据库,命名为“漏钢预报监测系统.mdb”。

(2)打开Windows控制面板→性能与维护→管理工具,选择数据源,进入“ODBC数据源管理器”对话框。

(3)选择“系统DSN”,单击“添加”按钮,在弹出的“创建新数据源”对话框中选择“Driver do Microsoft Access(*mdb)”,然后单击“完成”按钮。这里需注意的是,在“用户DSN”页面下创建的数据源只有本用户才能访问;在“系统DSN”页面下创建的数据源,使用该操作系统的所有用户都可以访问。

(4)在弹出的“ODBC Microsoft Access安装”对话框中,输入数据源名“漏钢预报监测系统”,然后选择之前创建好的同名数据库文件,单击“确定”按钮。

完成DSN创建后,LabSQL工具包即可利用这个DSN访问与之相关联的数据库。

3.2 数据库访问流程

利用LabSQL访问数据库的步骤[7]:

(1)在程序框图中通过ADO Connection Create.vi函数创建一个Connection对象。

(2)用ADO Connection Open.vi函数建立LabVIEW与数据库的连接。在Connection String接线端写入所选择的数据库对象,这里为“DSN=漏钢预报监测系统”。

(3)执行数据写入、查询、删除、修改等操作。

(4)通过ADO Connection Close.vi和ADO

3.3 数据库操作实现

3.3.1 数据写入

数据写入有两种方式:一是用Record Set文件夹下的子VI实现,二是通过ADO Connection Execute.vi函数实现。本文选择第二种方式。采用“格式化写入字符串.vi”将数组形式的日期、时间和实时信号值等数据转换成字符串形式,将输入数据按照相应顺序连接成标准SQL语句输入到SQL Execute.vi的Command Text端口,即完成数据的写入操作。程序设置为每隔1s添加一条记录,数据写入程序框图如图2所示。

3.3.2 数据查询

历史数据查询是工作人员进行数据分析的依据。用户可以通过选择所要查询的数据表、日期、时间段等参数实现查询,查询结果可以数据形式或图形形式显示。

数据查询部分采用事件结构进行编程。数据查询的SQL语句格式:SELCET*FROM表名[where条件]。数据查询程序框图如图3所示。

3.3.3 数据显示

数据显示有表格和图形两种方式。表格显示方式可使操作人员方便地查看某一时间点上的数据,但不利于其掌握监测数据的整体分布和变化趋势;而图形显示方式可将历史数据以曲线形式显示出来,弥补了表格显示方式的不足。

从数据库中读取的数据类型是2-D字符串数组,它们不能像动态数据一样直接在波形图表或波形图中显示,因此需要对其进行转换处理。首先用“索引数组.vi”将2-D字符串数组中的日期、时间及查询的参数值提取出来,然后将时间字符串转换成时间标识,再将时间标识和该时间所对应的数据捆绑成簇,送给“XY图”图形控件显示,即可显示出带时间信息的历史曲线。数据转换处理程序框图如图4所示。

4 LabVIEW数据库访问技术的应用

数据库中的数据均存储在数据表中,一个数据库中通常包含若干个数据表对象。一个表对象一般是一个关于特定主题的数据集合。在本设计中,根据采集参数的相关性,创建了“结晶器热电偶温度测量”、“结晶器振动装置测量”、“冷却水参数测量”、“连铸状态测量”4个表。其中“结晶器热电偶温度测量”数据表中存储了热电偶的实时温度值,如图5所示。

输入查询条件,程序即可从数据库中读取出相关数据并显示出来。图6为以图形方式显示的热电偶1的历史数据。

从图5、图6可知,在LabVIEW中通过LabSQL能够实现对数据的录入、查询、以表格和图形方式显示功能。

5 结语

在LabVIEW中通过调用工具包LabSQL的方法实现了对Access数据库的访问,该方法简单易行,无需底层开发,且无需购买开发工具包,降低了设计成本。将该技术应用到漏钢预报监测系统中,经实践证明是切实可行的。

参考文献

[1]赵辉,武冬蕾,刘鲁源,等.基于时域分析的拉坯阻力曲线异常特征提取及在漏钢预报上的应用[J].制造业自动化,2005(5):61-64.

[2]尹技虎,王峰.基于LabSQL的LabVIEW数据库访问技术[J].仪表技术,2011(4):55-56,62.

[3]徐小华,贺斌.LabVIEW中访问数据库几种不同方法的探讨[J].中国信息科技,2011(7):128,122.

[4]杨乐平,李海涛,赵勇,等.LabVIEW高级程序设计[M].北京:清华大学出版社,2003.

[5]林静,林振宇,郑福仁.LabVIEW虚拟仪器程序设计从入门到精通[M].北京:人民邮电出版社,2010:303.

[6]李春雨,郑培,牛亚尊,等.LabVIEW中利用LabSQL访问数据库的实现[J].仪器仪表用户,2009(2):122-123.

多媒体数据库实现技术 篇9

随着计算机技术和网络的发展, Web以多种方式进入人们的生活。数据库发布是当前Web技术最常见的应用之一。通常数据动态网页需要通过客户端与服务器的交互操作实现, 用户向服务器发出请求, 服务器使用ASP、CGI、PHP、Java Applet、Cold Fusion等网络脚本程序以获取用户提交的信息, 脚本程序在访问数据库后将处理结果返回给用户, 最终生成动态页面。这种方式一方面要求服务器提供上述服务, 另一方面由于这种方式对服务器的依赖性很强, 会加重服务器的负担和网络拥挤程度。在使用方面, 由于用户的每一次请求都必须依赖于服务器的处理才能显示在客户端, 这样多次往返于服务器, 必定减慢了查询速度。

基于以上原因, 根据浏览器Internet Explorer 4.0及以上版本具有接收、放置、计算和显示等数据认知的能力, 笔者将数据绑定技术 (Data Binding) 和表格数据控件TDC (Tabular Data Control) 相结合, 利用它们访问有限定符文本文件, 以HTML文件为模板显示数据, 并通过对已缓冲至本地机的文本文件操作, 实现访问客户与数据驱动页面的动态交互功能。该方法不依赖于ASP、CGI等服务器端的处理实现动态交互, 减少了动态网页对服务器的依赖程度, 从而减少了服务器的压力和缓解了网络拥挤。下文将进行详细的介绍, 以供参考。

1 数据绑定技术

数据绑定由4个部分组成:数据源对象 (DSO Data Source Object) 、数据引用 (Data Consumer) 、绑定代理 (Binding Agent) 和列表 (显示) 代理 (Table Repetition Agent) 。数据源对象提供数据传输、操作和通过脚本访问数据的能力;数据引用一般指Web页面元素, 它定义数据如何显示等;绑定代理用于数据识别和维护;列表 (显示) 代理用于保证列表数据的正确引用。

2 TDC组件

TDC是IE 4.0及以上版本提供的一个内置表格数据控件, 利用它, 用户客户端的浏览器可以从服务器端接收到把定界符文本文件作为数据源的文本型表格数据, 并根据需要可以进行不同方式的显示, 如分页显示、逐条显示、排序、过滤、查找等, 从而实现在本地机的客户端对数据的动态控制功能。TDC实现数据动态网页的所有执行过程都在客户端中进行, 不依赖于服务器端的网络脚本程序的逻辑处理, 减少了数据绑定到网页HTML 元素中动态网页对服务器的依赖程度, 由此减轻了服务器的负荷和缓解了网络的拥挤。

2.1 TDC控件

TDC称为表格式数据控件, 是一个ActiveX控件, 文件名为tdc1ocx, 该文件位于C:\WINNT\System32\tdc1ocx。ActiveX控件是指一些可执行的代码或一个程序, 比如一个.EXE、.DLL或.OCX文件, 通过ActiveX技术, 程序员就能够将这些可复用的软件组装到应用程序或者服务程序中去, 嵌入到网页中, 随网页传送到客户的浏览器上, 并在客户端执行。通过编程, ActiveX控件可以与Web浏览器交互或与客户交互。

TDC控件标识符是CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83。TDC控件提供访问有定界符文本文件的能力, 拥有Datasrc、Data-formats、Fielddelim、Textquqlifier、Rowdelim、Sort、Filter和Useheader等属性及Reset方法, 并可通过TDC对象的ID.recordset.{Properties|method}访问相应的Recordset集的属性和方法。

2.2 作为DSO的文本型表格数据

表格一般和数据库对应, 在有定界符文本文件中的一行相当于数据库的一个记录, 每行中由定界符括起来的字符串相当于记录中的字段。在TDC引用的文本文件中有3种定界符:文本限定符、字段限定符和行限定符。假设文本文件GetNew-AQList.txt中有如下内容:

IsSelected, HasRead, DiffDepartment, Department, name, duty, sort, class

'是', '是', '六矿', '调度室', '王丙', '聂军, '采煤', 'AAA'

'否', '是', '六矿', '机电科', '王丙', '聂军', '采煤', 'AAA'

'否', '否', '六矿', '机电科', '聂军', '李二', '采煤', 'AAA'

'否', '否', '六矿', '机电科', '李二', '采煤', 'AAA'

'是', '是', '六矿', '机电科', '李二', '采煤', 'AAA'

第一行为字段的名称, 第二~六行为5个记录。其中, 单引号 (') 是文本限定符, 逗号 (') 是字段限定符, 行限定符通过换行来实现。如果一条记录中有字段值是空, 也可以使用空格来代替, 例如上面的第五、六条记录中, 字段“duty”的值都为空。

3 TDC的实际应用

结合在鹤壁煤业 (集团) 公司煤矿安全隐患信息动态跟踪管理系统中的实际应用, 详细介绍如何将TDC、DSO和HTML元素组合在一起实现动态数据网页。

3.1 数据源的设定

在鹤壁煤业 (集团) 公司煤矿安全隐患信息动态跟踪管理系统中, 由于要应用到多个表中的大量数据, 而且这些信息在隐患信息数据库中已经有记录, 如果再建立数据库记录将会造成数据冗余。而如果对每条信息都用综合查询进行检索, 将会增加服务器负担。为了减少数据冗余和方便查询, 先用复合查询查出需要用到的字段, 再构建出一个临时数据库, 将需要的信息插入里面, 需要用到时在临时数据库中检索即可。

3.2 在Web页中引用TDC组件

在Web页调用TDC控件, 需要在Web页的头部或主体内用〈Object〉…〈/Object〉语句建立TDC对象的实例, 先定义一个对象, 名为List, 其中的数据源从Get-NewAQList.asp页面中获得, Get-NewAQList.asp页面中的数据即为查询出的临时数据库的信息, 然后调用List对象, 将其中的信息显示出来:

其中, ID为对象指定一个名称, 以便在以后的Web元素中引用;参数DataURL指定TDC读取数据的文本文件;参数FieldDelim定义字段限定符, 标识数据字段结束的字符, 默认值为一个逗号;参数Charset为数据文件描述字符的字符串表达式;参数TextQualifer定义文本限定符, 用来在文件中描绘文本字符串的一个字符;参数UseHeader的Ture和False指定在文本文件中是否有字段名定义。

3.3 将数据绑定到Table元素

Table是一种可以进行多值绑定的HTML元素, 〈Tr〉…〈/Tr〉对应1个记录, 〈Td〉…〈/Td〉对应1个字段, 在这2个元素对中, 利用可以单值绑定元素引用数据, 在页面上显示具体数据内容。如:

在〈table〉..〈/table〉中输出的就是需要的网页动态数据。在上面的代码中, 利用数据引用组件的DataSRC、DataFLD及DataFormats、DataPageSize属性, 通过ID属性将文本文件的数据内容绑定到HTML元素, TDC控件自动将符合要求的数据内容显示在页面中。其中DataSRC用来指定要绑定到HTML元素上的DSO, 其值为#嵌入网页的数据对象的ID号, 例如DataSRC=#List;DataFID向HTML元素指定要绑定的数据源中的列名, HTML元素将显示该列中的数据, 即某一字段需要显示的数据;DataFormats设定数据格式, 如html、text等。缺省情况下, Table总是显示记录集中的所有记录, 当数据记录很大时, 可能造成网页过长, 这时可以利用DataPageSize属性限定Table每次显示的记录数, 然后利用Table的NextPage和Previous Page属性来依次显示记录集的所有记录。

3.4 TDC的其它属性和语法

TDC的其它属性和语法如表1所示。

4 结语

本文以鹤壁煤业 (集团) 公司煤矿安全隐患信息动态跟踪管理系统为例, 探讨了如何利用TDC数据绑定实现动态数据网页的方法。数据绑定和TDC控件改变了在Web页上数据访问的性质, 提供了脱离服务器端有关处理逻辑的支持而实现动态Web页面的方法和工具。结合DHTML提供的大量新技术、新方法和控件, 可以对TDC控件和Web页面元素进行更多、更精确的控制, 它的编写简单、灵活控制、易于更新、动态检索等特性, 非常适用于小型动态数据库。实践表明, 该方法应用效果良好。

参考文献

[1]陈立华.TDC数据绑定实现图书馆动态数据网页[J].现代图书情报技术, 2003 (2) .

[2]王国荣.Active Sever Page&Web数据库[M].北京:人民邮电出版社, 1999.

[3]陈媛.用数据绑定实现高效率动态网页[DB/OL]. (2007-12-26) [2009-03-07].http://www.sudu.cn/info/ht ml/edu/20071226/31724.ht ml.

多媒体数据库实现技术 篇10

关键词:中间件,报表输出,超文本,标识格式,数据插值

1 引言

当前,在办公自动化中,报表输出是必不可少的,各个机关和企事业单位在报表输出处理上所采取的策略也各不相同,有的单位自行投入经费或技术力量,开发适合自身工作的报表生成工具,也有一些单位局限于自身规模和技术资源,采用比较原始的人工录入方式进行。针对上述特点,提出了一种基于超文本技术实现数据库报表智能输出的中间件设计,为从事这方面设计的工作提供接口工具,为大多数仍然采用传统手工录入报表的单位转变工作模式,提高工作效率,同时降低开发成本。

数据库技术在当今的企事业管理中应用越来越广泛,在信息系统设计过程中,数据来源至关重要,需要的报表,大多是利用信息系统从数据库中获取数据,通过加工处理而生成的。因此,应该让用户有多种DBMS选择。除了Access、SQL Server等主流数据库管理系统外,也可选择其他数据源作为数据获取途径,选择合适的数据库管理系统可以在系统运行效率和实用性方面得到更好的效果。

超文本标记语言是标准通用标记语言下的一个应用,具有简易性、可扩展性、通用性和平台无关性等特点,由于其可显示标准ASCII码,因此可将Word、Excel等Offic工具编辑的模板转换为html格式,进而方便信息系统操作处理。

2 主要设计方法

2.1 模板制作

报表主要输出模式为Word模式或Excel模式,为避免因程序转码带来的不便与未知问题,方便程序直接以文本格式读取插值,需要将模板的格式进行转换。报表Word模板制作完成后,将模板另存为htm格式。此时,模板文档存储模式为标准ASCII码形式,信息系统可以直接进行读写,但是,页面显示格式自动转换为Web版式,因此,需要调整视图为正常Office页面显示模式后保存。为方便调用打开,将模板后缀名改为dot,再次调整页面视图格式后直接保存即可。Excel模板制作方式与Word基本相似,更改后缀名时改为xlt,其他均按照Word模板制作方式完成即可。

2.2 中间件设计

中间件本身不存放格式及数据信息,主要作用是将指定数据与标识符进行有效替换,因此主要需接收的参数为数据库连接串。根据相应调用程序,指向对应模板,可生成所需的目标报表。

中间件首先需要按顺序接收数据库连接串参数,参数设置采取比较方便客户操作的界面,设置结果存放于ini系统配置文件,客户可以在系统内设置,也可以直接在配置文件内写入参数。数据表连接完成后,需进行有效字段判断,方法为设定字段搜索条件为非空,进行循环检索,对标示变量计算累加结果,循环结束后标示变量值即为有效字段数量,同时获取了插值数据,根据这些条件即可进行插值操作。

2.3 数据插值方法

在实际工作中需要把数据库中的数据加工处理抽取出符合人们需要的信息,提供更好的服务,为更快捷地得到适宜的表格或报表,用户或各行业的表格报表需要能够智能输出。以工资表输出为例,如表1所示。

首先设定插值标识符,在样表中找到相应位置将标识符定位(标识符位数最好固定,这样可以方便插值替换),标识符一般由标识部分和代码部分组成,标识部分主要作用是使用特定的字符,可以让机器识别,以此来判定在何处定位;代码部分是区分各个插值参数,当预计插值参数数量为N时,插值代码位数可以定义为比N的位数多1~2位,方便下一步进行扩充,同时,可以将代码定义为数字和字母混合的模式,这样每位代码可以有36个可选方式,可以满足一般参数扩充的需求。标识符设定完成后,下一步进行数据抽取。来源数据可以存在于数据库管理系统,也可以以文件模式存储,或者根据现有数据计算得出。获取数据后,系统判断指定插值位置,截取插值位以前的字符和标识符后的字符,插入插值数据,得到新数据,方法如下:

其中,N为初始信息,Np为插值位以前的字符集,Nl为标识符,Nb为标识符后字符集,Ndata为插值数据,Nnew为插值后获取数据。

插值过程可将文本信息存放于memo控件中,将memo控件设为不可视(方法为memo1.visible:=false),按照逐行判别标识符的方法进行搜索,同时将插值数据替换标识符,继续存放于memo控件,将全部替换完成后,将memo控件内容分段写入生成文档。写入时需要注意的是:汉字为2个字符,各分段可能会出现单数个字符,如果直接写入则会出现乱码现象,因此各个分段需要对长度进行判别,长度为偶数位时直接写入,长度为奇数位时补充一位后写入,这样可以保证汉字写入准确。

3 典型流程代码

在Delphi的开发环境中,常用的调用Office主要采用3种方式:控件TOleContainer嵌入Office、利用Delphi的Servers控件、运用CreateOleObject。提出的基于超文本技术能够更加方便地利用中间件控制Office,不需转换代码,直接运用文本格式对模板进行操作,用户只需要按照规则设置自己所需的模板,提供数据来源,即可通过中间件生成目标文件,达到所需要的效果。

报表文本生成的关键技术是如何将数据库中以及计算的数据直接嵌入报表模板的文本中,以Word格式报表生成为例,部分代码如下:

3.1 常规报表生成部分

3.2 中间件调用

4 结语

上一篇:四阶段模型下一篇:中美结构工程