time 
设为首页】【收藏本站
当前位置: 主页 > 软件工程 > 分析与建模 > 基于OLAP技术实现专利分析系统

基于OLAP技术实现专利分析系统

时间:2009-12-01 20:27 点击:736次 字体:[ ]




   摘要 :为适应全球化竞争形势的需要,本文为企业提供强大的专利分析系统,设计了一个OLAP和OLTP综合使用的方案。数据仓库采用数据集市形式。OLAP技术的使用,为企业进行技术创新和技术选择提供决策依据。

   引言

   专利分析不但对发明人、中小企业、实验室、大学等知识创造者有极大的价值,而且对大企业、政府机构也有极大的价值, 而且还可以指导企业通过自主研发部署专利, 在竞争对手的核心技术网络中秘密部署杀手锏,使企业在相关领域的竞争中获得有利的位置. 因此企业需要分析处理大量的专利信息(中国,美国,欧洲,日本等国家专利局的专利约1000万)。专利信息量的迅速增长以及查询的复杂化,使传统的OLTP(联机事务处理)系统不能满足对数据进行深层次多维分析的要求,于是人们提出了数据仓库和OLAP(联机分析处理)技术。数据仓库是支持管理决策过程的,面向主题的、集成的、随时间而变的、持久的数据集合,对分布在企业内部各处的OLTP数据进行抽取、净化,为企业决策分析提供所需的基础数据 [1] 。OLAP则利用存储在数据仓库中的数据完成快速、一致、交互的分析,然后以直观的形式将分析结果返回给决策者。

   在一个针对专利进行决策分析的系统中,需要对专利信息进行多维分析处理,并将分析结果以多维视图的方式展现给决策者,企业决策者从而做出相应的决策.因要求该系统具有对大量多维专利信息进行快速分析的特点,所以在此采用了数据仓库和OLAP技术作为专利信息处理系统的核心。

   1 系统设计

开发基于数据仓库的OLAP系统,一般有两种方案:一是利用著名数据库厂商现有数据仓库和OLAP产品(如:Oralce Express,DB2 OLAP等)来创建;二是利用开发工具将专利分析需求进行多维化处理。第一种方案因只是在现有成熟产品上作二次开发,所以能够创建较完善的基于数据仓库的OLAP系统,但不灵活,且费用极其昂贵,所以在此,我们采用第二种方案,采用能处理大规模数据的ROLAP技术,手动构建多维立方体,并构造自己的OLAP多维引擎,以设计适合专利分析OLAP系统。

    整个OLAP系统,大致分为四层(如图1所示):第一层是数据源,存储了所有相关领域的专利信息,包括内部和外部信息. 第二层是OLAP数据仓库层。源数据库中的结构未经过系统化,其组织形式是面向具体应用的。数据抽取程序将源数据按主题进行归纳整理,存入OLAP数据库中,提供适合OLAP分析的详细、集成、准确的客户基础数据。第三层是OLAP服务器层,保存了分析所需的客户聚集数据和相关的元数据,代理用户的分析请求,获取分析数据并返回给用户。第四层是应用层,这层让用户根据模型信息,提交分析请求,然后将获得的数据按用户所需要的方式展现。

基于OLAP技术实现专利分析系统_www.fengfly.com

图1 OLAP服务器层结构

   OLAP服务器层是本系统的核心,其详细结构如图1所示,主要由OLAP立方体计算和OLAP多维引擎两大模块组成.我们将详细探讨这两方面的技术实现,并给出优化策略。

   2 OLAP物理数据库的设计

   OLAP数据库的实现主要有三种方式: 一是 MOLAP(基于多维数据库的OLAP),它是建立专有的多维数据库来存储OLAP所分析的数据 ,数据以多维方式存储 ;二是 ROLAP(基于关系型数据库OLAP),它是利用现有的关系数据库技术通过建立中间表来模拟多维数据 ;三是 HOLAP,它将MOLAP和ROLAP的功能结合在一起,将整合的数据按多维结构存储,而大多数的细节数据存放在关系数据库中。 [3]

    上述三种OLAP技术各有所长。就本系统而言,因专利信息量巨大,考虑到ROLAP在处理大规模数据方面的优势,所以采用ROLAP方式。 ROLAP采用星型模式或雪花模式组织多维数据 [3] 。我们采用星型模式对数据仓库层中的专利信息进行组织, 由于篇幅有限, 仅仅选取一部分表, 由一个专利信息表和五个维表组成。如图2所示 : 系统维表由国际分类维,时间维、专利届满日维,专利权人维、代理人维, 代理人国家维构成.

基于OLAP技术实现专利分析系统_www.fengfly.com

图2 系统维表

   3 OLAP 立方体

   建立数据仓库层后,我们在其基础上创建OLAP多维立方体.OLAP立方体计算的核心是聚集,聚集计算的性能如何往往成为应用中的瓶颈。在OLAP应用中,响应速度是主要目标,为了使交互式的分析在几秒钟之内做出响应成为可能,OLAP数据库通常预先计算好不同细节层次和不同维属性集合上的聚集,建立许多实视图。

   3.1预计算的比例

   根据维的定义把所有可能的聚集(即全聚集)都计算出来,可以得到最快的系统查询响应时间,但随着维数的增加,有可能导致数据爆炸。在商业应用中,全聚集占据200倍于原始数据的空间,另外它的更新维护也需要花费很长时间。 [4] 因此,计算聚集时应在聚集所占用的空间、CPU处理时间和OLAP系统查询响应时间之间有一个权衡。预计算的关键之一,就是找出一个最优化预处理区 ,使系统综合性能接近最优化。

   基于上述考虑,我们对专利信息进行部分聚集.根据决策者的实际需求,经常要在代理机构维和专利权人维的各层次上作多维查询,所以在这两个维的所有层次级别上均进行预计算;而对于代理人国家维和时间维,只在其低级别上作数据汇总。

   3.2 立方体计算的策略优化

    本系统主要是基于专利信息表和相关维表来进行聚集计算的。在计算时,要经常在基本数据表和维表间作连接操作。但由于专利信息表的数据量较大,有5G数据量,一千万条记录,因此其数据不能一次载入缓存,需要多次的输入/输出,大量的时间耗在I/O上,导致系统的聚集效率非常低下。

   为了提高系统的聚集效率,我们采用以下优化策略:

   ⑴ 数据分割

   · 数据物理分割

   将基本专利信息表的数据分布在不同的数据库设备上。数据库的内部运行机制支持这种分表处理操作:将表数据进行分段,然后设置数据段在不同的数据库设备上。这样就可以实现对基本专利信息表不同数据段的并行访问,极大提高数据的检索速度。

   · 数据逻辑分割 在进行聚集计算前,我们按专利权人维专利权人ID对专利信息表Patentinfo进行逻辑上的分割,将分割得到的数据放入临时表中 然后,我们在临时表上进行聚集计算。因临时表的数据量很小,系统I/O耗费时间很少,所以这时聚集效率会得到极大的提高。

   ⑵ 利用底层聚集计算高层聚集

   在此,我们在机构维上将聚集计算分为两类:底层聚集计算和高层聚集计算。底层聚集基于专利信息Patentinfo,在机构维的网点级别上聚集客户数据。但高层聚集不再基于基本事实表,而是充分利用已存在数据库中的底层聚集结果. 在聚集计算过程中,我们还对相关表建立了索引,如在专利权人维上对专利信息表Patentinfo建立簇索引, 代理机构维上对专利信息表Patentinfo建立簇索引等, 从而增强了切割和并行搜索能力。

    4 OLAP服务器对客户端的支持

   4.1 OLAP多维引擎

   用户对基础数据多角度、多层面的一系列查询操作,我们称之为多维分析操作,包括选择、切片、切块、旋转、向下钻取、向上钻取等 [5] 。OLAP多维引擎主要是接受客户的多维分析请求,将这些请求转换成OLAP数据库服务器上的SQL查询,获取数据并将数据传回给客户。

   本系统中,我们基于关系数据库实现OLAP。因SQL的单语句并不具备完成多维计算的能力,所以在OLAP服务器上只完成简单的计算,SQL将简单计算的结果作为OLAP多维引擎输入,在多维引擎上做大部分的计算工作。多维引擎的构造方法如图4所示:

基于OLAP技术实现专利分析系统_www.fengfly.com


   该多维引擎主要由三大模块组成:表示模块、立方体模块、切片模块。多维引擎接受用户的多维分析请求后,首先立方体模块解析该请求的维的层次,并获取该维层次上的数据,从而构造出所有的分组,然后以分组作为参数调用切片模块;切片模块先查看分组,若分组的度量数据已存在数据库中,则构造SQL语句直接获取该度量数据,若不存在,则根据元数据中相关的公式来计算出度量数据。立方体模块通过循环调用切片模块就可获得多维分析的所有度量数据。最后表示模块按某种表示方式(报表、图形)对多维数据进行表示,并返回给用户。

   4.2 OLAP查询

   在OLAP服务器端建立了多维引擎后,客户端就可利用多维引擎强大的功能和接口来对客户信息进行灵活方便的分析。在本系统中,通过Web浏览器,决策者可向OLAP服务器提交对客户数据的各种多维分析请求,如旋转、切块、切片、钻取,获得结果集并以图形或报表的形式显示在屏幕上,从不同侧面、不同层次获取有用客户信息 ,从而做出相应的决策。

    4.3查询优化

    快速的多维查询速度是用户的主要关注点.因此查询效率至关重要.我们采用以下优化策略来提高系统查询速度:

    ⑴ 使用缓存

   为了提高系统响应速度,我们引入了不同的缓存策略:立方体缓冲和片缓冲。立方体缓冲保存用户最近访问的多维立方体数据,当用户作上钻操作和不同的用户做相同的请求时,效率得到很大的提高,经过测试立方体的生成速度从2-20秒(立方体的数据量越大效率就越高)变为毫秒级。片缓冲存储用户最近访问的切片数据,当用户做下钻操作和不同的用户做相同的请求时,效率大大的得到提高。经测试,对一立方体在某个维上进行下钻的时间由5分钟左右降到10秒钟左右。

   缓存的使用,提高了系统响应速度,但同时也带来了新问题。当存储在数据库中的多维数据发生变化时,缓存中的数据也要相应地更新。在这里,我们提供这样一种触发机制:当OLAP数据库中的数据发生变化时,立即清空缓存。

    ⑵ 引入连接池

   对于应用服务器而言,与OLAP数据库建立连接的代价是昂贵的,每建立一个连接都会消耗大量的系统资源和时间。一种可用于高效率服务客户请求的有力技术是尽可能多地重用昂贵的资源,重用一组对象被称为对象池化。它是这样一种机制:把曾经打开的数据库连接保存在高速缓存中,这样应用程序的其他部分可继续使用或再次使用。其原理如下:

    初始连接数目为m,最大连接数目为n(m<=n);

    · 开始时,我们创建m个连接放入缓冲池中;

   · 新用户连接请求:检查缓冲池中有没有空闲的连接,若有,消除该连接的空闲标志,并返回给用户;若没有,检查连接池中总的连接数目(包括分配出去的)是否小于n,若小于,则创建一新连接存入缓存池中,若总的连接数已达到最大数,则等待;

   · 用户释放连接:将此连接置为空闲状态,放回池中;

   · 定期清理:每隔一段时间将缓冲池中空闲连接释放。

    5 结论

    OLAP技术应用于企业相关产品领域的专利信息的分析, 减轻了OLTP系统查询和报表设计的工作量。在提高分析数据的正确性的同时降低了实施的难度.并且通过不同的维度对专利进行分析, 对于企业在某个领域的专利部署和相关产品的开发起到了决策和指导的作用.

   参考文献

   1 Ralph Kimball . 数据仓库工具箱:维度建模的完全指南(第二版)[M] . 北京:机械工业出版社,2003.11

    2 夏火松 . 数据仓库与数据挖掘技术[M] . 北京:科学出版社,2004.3

    3 Jiawei Han, Micheline Kamber . 数据挖掘概念与技术[M] . 北京:机械工业出版社,2001.8

   4 迟忠先等. OLAP核心技术—数据立方体的研究现状与展望[J].计算机工程,2002,28(10):1-2.

    5 Anindya Datta,Helen Thomas. The cube data model: a conceptual model and algebra for on-line analytical processing in data warehouses〔J〕.Decision Support Systems,1999,27:281-302.

   6 W.H.Inmon. Building the data Warehouse Second Edition [M]. Wiley, New York, 2000.5

   7 Paulraj Ponniah. Data Warehousing Fundamentals [M]. Wiley, New York, 2004

   8 Lou Agosta. The Essential Guide to Data Warehousing [M]. INT. J. Remote Sensing, 2001



本文地址 : http://www.fengfly.com/plus/view-158659-1.html
标签: 系统 分析 技术 专利 实现 基于
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: