导航:首页 > 证书转让 > 数据结构研究成果

数据结构研究成果

发布时间:2021-12-05 22:13:54

㈠ 软件开发所取得的成就有哪些

面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。

谈到面向对象,这方面的文章非常多。但是,明确地给出对象的定义或说明对象的定义的非常少——至少我现在还没有发现。其初,“面向对象”是专指在程序设计中采用封装、继承、抽象等设计方法。可是,这个定义显然不能再适合现在情况。面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及我们经常说的面向对象的编程实现(OOP,Object Oriented Programming)。许多有关面向对象的文章都只是讲述在面向对象的开发中所需要注意的问题或所采用的比较好的设计方法。看这些文章只有真正懂得什么是对象,什么是面向对象,才能最大程度地对自己有所裨益。这一点,恐怕对初学者甚至是从事相关工作多年的人员也会对它们的概念模糊不清。

面向对象是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。

一、传统开发方法存在问题

1.软件重用性差
重用性是指同一事物不经修改或稍加修改就可多次重复使用的性质。软件重用性是软件工程追求的目标之一。

2.软件可维护性差
软件工程强调软件的可维护性,强调文档资料的重要性,规定最终的软件产品应该由完整、一致的配置成分组成。在软件开发过程中,始终强调软件的可读性、可修改性和可测试性是软件的重要的质量指标。实践证明,用传统方法开发出来的软件,维护时其费用和成本仍然很高,其原因是可修改性差,维护困难,导致可维护性差。

3.开发出的软件不能满足用户需要
用传统的结构化方法开发大型软件系统涉及各种不同领域的知识,在开发需求模糊或需求动态变化的系统时,所开发出的软件系统往往不能真正满足用户的需要。

用结构化方法开发的软件,其稳定性、可修改性和可重用性都比较差,这是因为结构化方法的本质是功能分解,从代表目标系统整体功能的单个处理着手,自顶向下不断把复杂的处理分解为子处理,这样一层一层的分解下去,直到仅剩下若干个容易实现的子处理功能为止,然后用相应的工具来描述各个最低层的处理。因此,结构化方法是围绕实现处理功能的“过程”来构造系统的。然而,用户需求的变化大部分是针对功能的,因此,这种变化对于基于过程的设计来说是灾难性的。用这种方法设计出来的系统结构常常是不稳定的 ,用户需求的变化往往造成系统结构的较大变化,从而需要花费很大代价才能实现这种变化。

二、面向对象的基本概念

(1)对象。
对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

(2)对象的状态和行为。
对象具有状态,一个对象用数据值来描述它的状态。
对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中

(3)类。
具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

(4)类的结构。
在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。

①一般——具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。
②整体——部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。

(5)消息和方法。
对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。

类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。消息传递如图10-1所示。

二、面向对象的特征

(1)对象唯一性。
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。

(2)分类性。
分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。

(3)继承性。
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。

在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。
在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。
在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。
采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。

(4)多态性(多形性)
多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
多态性允许每个对象以适合自身的方式去响应共同的消息。
多态性增强了软件的灵活性和重用性。

三、面向对象的要素

(1)抽象。
抽象是指强调实体的本质、内在的属性。在系统开发中,抽象指的是在决定如何实现对象之前的对象的意义和行为。使用抽象可以尽可能避免过早考虑一些细节。

类实现了对象的数据(即状态)和行为的抽象。

(2)封装性(信息隐藏)。
封装性是保证软件部件具有优良的模块性的基础。
面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。
对象是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。面向对象的封装比传统语言的封装更为清晰、更为有力。

(3)共享性
面向对象技术在不同级别上促进了共享
同一类中的共享。同一类中的对象有着相同数据结构。这些对象之间是结构、行为特征的共享关系。
在同一应用中共享。在同一应用的类层次结构中,存在继承关系的各相似子类中,存在数据结构和行为的继承,使各相似子类共享共同的结构和行为。使用继承来实现代码的共享,这也是面向对象的主要优点之一。
在不同应用中共享。面向对象不仅允许在同一应用中共享信息,而且为未来目标的可重用设计准备了条件。通过类库这种机制和结构来实现不同应用中的信息共享。

4.强调对象结构而不是程序结构

四、面向对象的开发方法

目前,面向对象开发方法的研究已日趋成熟,国际上已有不少面向对象产品出现。面向对象开发方法有Coad方法、Booch方法和OMT方法等。

1.Booch方法

Booch最先描述了面向对象的软件开发方法的基础问题,指出面向对象开发是一种根本不同于传统的功能分解的设计方法。面向对象的软件分解更接近人对客观事务的理解,而功能分解只通过问题空间的转换来获得。

2.Coad方法

Coad方法是1989年Coad和Yourdon提出的面向对象开发方法。该方法的主要优点是通过多年来大系统开发的经验与面向对象概念的有机结合,在对象、结构、属性和操作的认定方面,提出了一套系统的原则。该方法完成了从需求角度进一步进行类和类层次结构的认定。尽管Coad方法没有引入类和类层次结构的术语,但事实上已经在分类结构、属性、操作、消息关联等概念中体现了类和类层次结构的特征。

3.OMT方法

OMT方法是1991年由James Rumbaugh等5人提出来的,其经典著作为“面向对象的建模与设计”。

该方法是一种新兴的面向对象的开发方法,开发工作的基础是对真实世界的对象建模,然后围绕这些对象使用分析模型来进行独立于语言的设计,面向对象的建模和设计促进了对需求的理解,有利于开发得更清晰、更容易维护的软件系统。该方法为大多数应用领域的软件开发提供了一种实际的、高效的保证,努力寻求一种问题求解的实际方法。

4.UML(Unified Modeling Language)语言

软件工程领域在1995年~1997年取得了前所未有的进展,其成果超过软件工程领域过去15年的成就总和,其中最重要的成果之一就是统一建模语言(UML)的出现。UML将是面向对象技术领域内占主导地位的标准建模语言。
UML不仅统一了Booch方法、OMT方法、OOSE方法的表示方法,而且对其作了进一步的发展,最终统一为大众接受的标准建模语言。UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发全过程。

五、面向对象的模型

·对象模型

对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。该模型主要关心系统中对象的结构、属性和操作,它是分析阶段三个模型的核心,是其他两个模型的框架。

1.对象和类

(1) 对象。
对象建模的目的就是描述对象。

(2) 类。
通过将对象抽象成类,我们可以使问题抽象化,抽象增强了模型的归纳能力。

(3) 属性。
属性指的是类中对象所具有的性质(数据值)。

(4) 操作和方法。

操作是类中对象所使用的一种功能或变换。类中的各对象可以共享操作,每个操作都有一个目标对象作为其隐含参数。
方法是类的操作的实现步骤。

2.关联和链
关联是建立类之间关系的一种手段,而链则是建立对象之间关系的一种手段。

(1) 关联和链的含义。
链表示对象间的物理与概念联结,关联表示类之间的一种关系,链是关联的实例,关联是链的抽象。

(2) 角色。
角色说明类在关联中的作用,它位于关联的端点。

(3) 受限关联。
受限关联由两个类及一个限定词组成,限定词是一种特定的属性,用来有效的减少关联的重数,限定词在关联的终端对象集中说明。
限定提高了语义的精确性,增强了查询能力,在现实世界中,常常出现限定词。

(4) 关联的多重性。
关联的多重性是指类中有多少个对象与关联的类的一个对象相关。重数常描述为“一”或“多”。
图10-8表示了各种关联的重数。小实心圆表示“多个”,从零到多。小空心圆表示零或一。没有符号表示的是一对一关联。

3.类的层次结构
(1) 聚集关系。
聚集是一种“整体-部分”关系。在这种关系中,有整体类和部分类之分。聚集最重要的性质是传递性,也具有逆对称性。

聚集可以有不同层次,可以把不同分类聚集起来得到一颗简单的聚集树,聚集树是一种简单表示,比画很多线来将部分类联系起来简单得多,对象模型应该容易地反映各级层次,图10-10表示一个关于微机的多极聚集。

(2)一般化关系。
一般化关系是在保留对象差异的同时共享对象相似性的一种高度抽象方式。它是“一般---具体”的关系。一般化类称为你类,具体类又能称为子类,各子类继承了交类的性质,而各子类的一些共同性质和操作又归纳到你类中。因此,一般化关系和继承是同时存在的。一般化关系的符号表示是在类关联的连线上加一个小三角形,如图10-11

4.对象模型
(1)模板。模板是类、关联、一般化结构的逻辑组成。
(2)对象模型。

对象模型是由一个或若干个模板组成。模板将模型分为若干个便于管理的子块,在整个对象模型和类及关联的构造块之间,模板提供了一种集成的中间单元,模板中的类名及关联名是唯一的。

·动态模型

动态模型是与时间和变化有关的系统性质。该模型描述了系统的控制结构,它表示了瞬间的、行为化的系统控制
性质,它关心的是系统的控制,操作的执行顺序,它表示从对象的事件和状态的角度出发,表现了对象的相互行为。
该模型描述的系统属性是触发事件、事件序列、状态、事件与状态的组织。使用状态图作为描述工具。它涉及到事件、状态、操作等重要概念。
1.事件
事件是指定时刻发生的某件事。

2.状态
状态是对象属性值的抽象。对象的属性值按照影响对象显著行为的性质将其归并到一个状态中去。状态指明了对象
对输入事件的响应。

3.状态图

状态图是一个标准的计算机概念,他是有限自动机的图形表示,这里把状态图作为建立动态模型的图形工具。
状态图反映了状态与事件的关系。当接收一事件时,下一状态就取决于当前状态和所接收的该事件,由该事件引起的状态变化称为转换。
状态图是一种图,用结点表示状态,结点用圆圈表示;圆圈内有状态名,用箭头连线表示状态的转换,上面标记事件名,箭头方向表示转换的方向。

·功能模型

功能模型描述了系统的所有计算。功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。功能模型表明一个计算如何从输入值得到输出值,它不考虑计算的次序。功能模型由多张数据流图组成。数据流图用来表示从源对象到目标对象的数据值的流向,它不包含控制信息,控制信息在动态模型中表示,同时数据流图也不表示对象中值的组织,值的组织在对象模型中表示。图10-15给出了一个窗口系统的图标显示的数据流图。

数据流图中包含有处理、数据流、动作对象和数据存储对象。

1.处理
数据流图中的处理用来改变数据值。最低层处理是纯粹的函数,一张完整的数据流图是一个高层处理。

2.数据流
数据流图中的数据流将对象的输出与处理、处理与对象的输入、处理与处理联系起来。在一个计算机中,用数据流来表示一中间数据值,数据流不能改变数据值。

3.动作对象
动作对象是一种主动对象,它通过生成或者使用数据值来驱动数据流图。

4.数据存储对象
数据流图中的数据存储是被动对象,它用来存储数据。它与动作对象不一样,数据存储本身不产生任何操作,它只响应存储和访问的要求。

六、面向对象的分析

面向对象分析的目的是对客观世界的系统进行建模。本节以上面介绍的模型概念为基础,结合“银行网络系统”的具体实例来构造客观世界问题的准确、严密的分析模型。
分析模型有三种用途:用来明确问题需求;为用户和开发人员提供明确需求;为用户和开发人员提供一个协商的基础,作为后继的设计和实现的框架。

(一) 面向对象的分析

系统分析的第一步是:陈述需求。分析者必须同用户一块工作来提炼需求,因为这样才表示了用户的真实意图,其中涉及对需求的分析及查找丢失的信息。下面以“银行网络系统”为例,用面向对象方法进行开发。
银行网络系统问题陈述: 设计支持银行网络的软件,银行网络包括人工出纳站和分行共享的自动出纳机。每个分理处用分理处计算机来保存各自的帐户,处理各自的事务;各自分理处的出纳站与分理处计算机通信,出纳站录入帐户和事务数据;自动出纳机与分行计算机通信,分行计算机与拨款分理处结帐,自动出纳机与用户接口接受现金卡,与分行计算机通信完成事务,发放现金,打印收据;系统需要记录保管和安全措施;系统必须正确处理同一帐户的并发访问;每个分处理为自己的计算机准备软件,银行网络费用根据顾客和现金卡的数目分摊给各分理处。
图10-18给出银行网络系统的示意图。

(二)建立对象模型

首先标识和关联,因为它们影响了整体结构和解决问题的方法,其次是增加属性,进一步描述类和关联的基本网络,使用继承合并和组织类,最后操作增加到类中去作为构造动态模型和功能模型的副产品。

1.确定类

构造对象模型的第一步是标出来自问题域的相关的对象类,对象包括物理实体和概念。所有类在应用中都必须有意义,在问题陈述中,并非所有类都是明显给出的。有些是隐含在问题域或一般知识中的。

按图10-19所示的过程确定类

查找问题陈述中的所有名词,产生如下的暂定类。
软件 银行网络 出纳员 自动出纳机 分行
分处理 分处理计算机 帐户 事务 出纳站
事务数据 分行计算机 现金卡 用户 现金
收据 系统 顾客 费用 帐户数据
访问 安全措施 记录保管

根据下列标准,去掉不必要的类和不正确的类。
(1) 冗余类:若两个类表述了同一个信息 ,保留最富有描述能力的类。如"用户"和"顾客"就是重复的描述,因为"顾客"最富有描述性,因此保留它。
(2) 不相干的类:除掉与问题没有关系或根本无关的类。例如,摊派费用超出了银行网络的范围。
(3) 模糊类:类必须是确定的,有些暂定类边界定义模糊或范围太广,如"记录保管"就模糊类,它是"事务"中的一部分。
(4) 属性:某些名词描述的是其他对象的属性,则从暂定类中删除。如果某一性质的独立性很重要,就应该把他归属到类,而不把它作为属性。
(5) 操作:如果问题陈述中的名词有动作含义,则描述的操作就不是类。但是具有自身性质而且需要独立存在的操作应该描述成类。如我们只构造电话模型,"拨号"就是动态模型的一部分而不是类,但在电话拨号系统中,"拨号"是一个重要的类,它日期、时间、受话地点等属性。

在银行网络系统中,模糊类是"系统"、"安全措施"、"记录保管"、"银行网络"等。属于属性的有:"帐户数据"、"收据"、"现金"、"事务数据"。属于实现的如:"访问"、"软件"等。这些均应除去。

2.准备数据字典

为所有建模实体准备一个数据字典。准确描述各个类的精确含义,描述当前问题中的类的范围,包括对类的成员、用法方面的假设或限制。

3.确定关联

两个或多个类之间的相互依赖就是关联。一种依赖表示一种关联,可用各种方式来实现关联,但在分析模型中应删除实现的考虑,以便设计时更为灵活。关联常用描述性动词或动词词组来表示,其中有物理位置的表示、传导的动作、通信、所有者关系、条件的满足等。从问题陈述中抽取所有可能的关联表述,把它们记下来,但不要过早去细化这些表述。

下面是银行网络系统中所有可能的关联,大多数是直接抽取问题中的动词词组而得到的。在陈述中,有些动词词组表述的关联是不明显的。最后,还有一些关联与客观世界或人的假设有关,必须同用户一起核实这种关联,因为这种关联在问题陈述中找不到。

银行网络问题陈述中的关联:
·银行网络包括出纳站和自动出纳机;
·分行共享自动出纳机;
·分理处提供分理处计算机;
·分理处计算机保存帐户;
·分理处计算机处理帐户支付事务;
·分理处拥有出纳站;
·出纳站与分理处计算机通信;
·出纳员为帐户录入事务;
·自动出纳机接受现金卡;
·自动出纳机与用户接口;
·自动出纳机发放现金;
·自动出纳机打印收据;
·系统处理并发访问;
·分理处提供软件;
·费用分摊给分理处。
隐含的动词词组:
·分行由分理处组成;
·分理处拥有帐户;
·分行拥有分行计算机;
·系统提供记录保管;
·系统提供安全;
·顾客有现金卡。
基于问题域知识的关联:
·分理处雇佣出纳员;
·现金卡访问帐户。

使用下列标准去掉不必要和不正确的关联:

(1) 若某个类已被删除,那么与它有关的关联也必须删除或者用其它类来重新表述。在例中,我们删除了"银行网络",相关的关联也要删除。
(2) 不相干的关联或实现阶段的关联:删除所有问题域之外的关联或涉及实现结构中的关联。如"系统处理并发访问"就是一种实现的概念。
(3) 动作:关联应该描述应用域的结构性质而不是瞬时事件,因此应删除"自动出纳机接受现金卡","自动出纳机与用户接口"等。
(4) 派生关联:省略那些可以用其他关联来定义的关联。因为这种关联是冗余的。银行网络系统的初步对象图如图10-20所示。其中含有关联。

4.确定属性

属性是个体对象的性质,属性通常用修饰性的名词词组来表示.形容词常常表示具体的可枚举的属性值,属性不可能在问题陈述中完全表述出来,必须借助于应用域的知识及对客观世界的知识才可以找到它们。只考虑与具体应用直接相关的属性,不要考虑那些超出问题范围的属性。首先找出重要属性,避免那些只用于实现的属性,要为各个属性取有意义的名字。按下列标准删除不必要的和不正确的属性:

(1) 对象:若实体的独立存在比它的值重要,那么这个实体不是属性而是对象。如在邮政目录中,"城市"是一个属性,然而在人口普查中,"城市"则被看作是对象。在具体应用中,具有自身性质的实体一定是对象。
(2) 定词:若属性值取决于某种具体上下文,则可考虑把该属性重新表述为一个限定词。
(3) 名称:名称常常作为限定词而不是对象的属性,当名称不依赖于上下文关系时,名称即为一个对象属性,尤其是它不惟一时。
(4) 标识符:在考虑对象模糊性时,引入对象标识符表示,在对象模型中不列出这些对象标识符,它是隐含在对象模型中,只列出存在于应用域的属性。
(5) 内部值:若属性描述了对外不透明的对象的内部状态,则应从对象模型中删除该属性。
(6) 细化:忽略那些不可能对大多数操作有影响的属性。

5.使用继承来细化类

使用继承来共享公共机构,以次来组织类,可以用两种方式来进行。
(1) 自底向上通过把现有类的共同性质一般化为父类,寻找具有相似的属性,关系或操作的类来发现继承。例如"远程事务"和"出纳事务"是类似的,可以一般化为"事务"。有些一般化结构常常是基于客观世界边界的现有分类,只要可能,尽量使用现有概念。对称性常有助于发现某些丢失的类。
(2) 自顶向下将现有的类细化为更具体的子类。具体化常常可以从应用域中明显看出来。应用域中各枚举字情况是最常见的具体化的来源。例如:菜单,可以有固定菜单,顶部菜单,弹出菜单,下拉菜单等,这就可以把菜单类具体细化为各种具体菜单的子类。当同一关联名出现多次且意义也相同时,应尽量具体化为相关联的类,例如"事务"从"出纳站"和"自动出纳机"进入,则"录入站"就是"出纳站"和"自动出纳站"的一般化。在类层次中,可以为具体的类分配属性和关联。各属性和都应分配给最一般的适合的类,有时也加上一些修正。

应用域中各枚举情况是最常见的具体化的来源。

6.完善对象模型

对象建模不可能一次就能保证模型是完全正确的,软件开发的整个过程就是一个不断完善的过程。模型的不同组成部分多半是在不同的阶段完成的,如果发现模型的缺陷,就必须返回到前期阶段去修改,有些细化工作是在动态模型和功能模型完成之后才开始进行的。
(1) 几种可能丢失对象的情况及解决办法:
·同一类中存在毫无关系的属性和操作,则分解这个类,使各部分相互关联;
·一般化体系不清楚,则可能分离扮演两种角色的类
·存在无目标类的操作,则找出并加上失去目标的类;
·存在名称及目的相同的冗余关联,则通过一般化创建丢失的父类,把关联组织在一起。

(2) 查找多余的类。
类中缺少属性,操作和关联,则可删

㈡ 基于安卓的音乐播放器论文中用到了哪些数据结构

把毕业论文分为专题型、论辩型、综述型和综合型四大类:
1.专题型论文。这是分析前人研究成果的基础上,以直接论述的形式发表见解,从正面提出某学科中某一学术问题的一种论文。如本书第十二章例文中的《浅析领导者突出工作重点的方法与艺术》一文,从正面论述了突出重点的工作方法的意义、方法和原则,它表明了作者对突出工作重点方法的肯定和理解。
2.论辩型论文。这是针对他人在某学科中某一学术问题的见解,凭借充分的论据,着重揭露其不足或错误之处,通过论辩形式来发表见解的一种论文。如《家庭联产承包责任制改变了农村集体所有制性质吗?》一文,是针对“家庭联产承包责任制改变了农村集体所有制性质”的观点,进行了有理有据的驳斥和分析,以论辩的形式阐发了“家庭联产承包责任制并没有改变农村集体所有制”的观点。另外,针对几种不同意见或社会普遍流行的错误看法,以正面理由加以辩驳的论文,也属于论辩型论文。
3.综述型论文。这是在归纳、总结前人或今人对某学科中某一学术问题已有研究成果的基础上,加以介绍或评论,从而发表自己见解的一种论文。
4.综合型论文。这是一种将综述型和论辩型两种形式有机结合起来写成的一种论文。如《关于中国民族关系史上的几个问题》一文既介绍了研究民族关系史的现状,又提出了几个值得研究的问题。因此,它是一篇综合型的论文。

㈢ 现在的网络爬虫的研究成果和存在的问题有哪些

网络爬虫是Spider(或Robots、Crawler)等词的意译,是一种高效的信息抓取工具,它集成了搜索引擎技术,并通过技术手段进行优化,用以从互联网搜索、抓取并保存任何通过HTML(超文本标记语言)进行标准化的网页信息。

其作用机理是:发送请求给互联网特定站点,在建立连接后与该站点交互,获取HTML格式的信息,随后转移到下一个站点,并重复以上流程。通过这种自动化的工作机制,将目标数据保存在本地数据中,以供使用。网络爬虫在访问一个超文本链接时,可以从HTML标签中自动获取指向其他网页的地址信息,因而可以自动实现高效、标准化的信息获取。

随着互联网在人类经济社会中的应用日益广泛,其所涵盖的信息规模呈指数增长,信息的形式和分布具有多样化、全球化特征,传统搜索引擎技术已经无法满足日益精细化、专业化的信息获取和加工需求,正面临着巨大的挑战。网络爬虫自诞生以来,就发展迅猛,并成为信息技术领域的主要研究热点。当前,主流的网络爬虫搜索策略有如下几种。

>>>>
深度优先搜索策略

早期的爬虫开发采用较多的搜索策略是以深度优先的,即在一个HTML文件中,挑选其中一个超链接标签进行深度搜索,直至遍历这条超链接到最底层时,由逻辑运算判断本层搜索结束,随后退出本层循环,返回上层循环并开始搜索其他的超链接标签,直至初始文件内的超链接被遍历。

深度优先搜索策略的优点是可以将一个Web站点的所有信息全部搜索,对嵌套较深的文档集尤其适用;而缺点是在数据结构日益复杂的情况下,站点的纵向层级会无限增加且不同层级之间会出现交叉引用,会发生无限循环的情况,只有强行关闭程序才能退出遍历,而得到的信息由于大量的重复和冗余,质量很难保证。

>>>>
宽度优先搜索策略

与深度优先搜索策略相对应的是宽度优先搜索策略,其作用机理是从顶层向底层开始循环,先就一级页面中的所有超链接进行搜索,完成一级页面遍历后再开始二级页面的搜索循环,直到底层为止。当某一层中的所有超链接都被选择过,才会基于该层信息检索过程中所获得的下一级超链接(并将其作为种子)开始新的一轮检索,优先处理浅层的链接。

这种模式的一个优点是:无论搜索对象的纵向结构层级有多么复杂,都会极大程度上避免死循环;另一个优势则在于,它拥有特定的算法,可以找到两个HTML文件间最短的路径。一般来讲,我们期望爬虫所具有的大多数功能目前均可以采用宽度优先搜索策略较容易的实现,所以它被认为是最优的。

但其缺点是:由于大量时间被耗费,宽度优先搜索策略则不太适用于要遍历特定站点和HTML文件深层嵌套的情况。

>>>>
聚焦搜索策略

与深度优先和宽度优先不同,聚焦搜索策略是根据“匹配优先原则”对数据源进行访问,基于特定的匹配算法,主动选择与需求主题相关的数据文档,并限定优先级,据以指导后续的数据抓取。

这类聚焦爬虫针对所访问任何页面中的超链接都会判定一个优先级评分,根据评分情况将该链接插入循环队列,此策略能够帮助爬虫优先跟踪潜在匹配程度更高的页面,直至获取足够数量和质量的目标信息。不难看出,聚焦爬虫搜索策略主要在于优先级评分模型的设计,亦即如何区分链接的价值,不同的评分模型针对同一链接会给出不同的评分,也就直接影响到信息搜集的效率和质量。

同样机制下,针对超链接标签的评分模型自然可以扩展到针对HTML页面的评价中,因为每一个网页都是由大量超链接标签所构成的,一般看来,链接价值越高,其所在页面的价值也越高,这就为搜索引擎的搜索专业化和应用广泛化提供了理论和技术支撑。当前,常见的聚焦搜索策略包括基于“巩固学习”和“语境图”两种。

从应用程度来看,当前国内主流搜索平台主要采用的是宽度优先搜索策略,主要是考虑到国内网络系统中信息的纵向价值密度较低,而横向价值密度较高。但是这样会明显地遗漏到一些引用率较小的网络文档,并且宽度优先搜索策略的横向价值富集效应,会导致这些链接量少的信息源被无限制的忽略下去。

而在此基础上补充采用线性搜索策略则会缓解这种状况,不断引入更新的数据信息到已有的数据仓库中,通过多轮的价值判断去决定是否继续保存该信息,而不是“简单粗暴”地遗漏下去,将新的信息阻滞在密闭循环之外。

>>>>
网页数据动态化

传统的网络爬虫技术主要局限于对静态页面信息的抓取,模式相对单一,而近年来,随着Web2.0/AJAX等技术成为主流,动态页面由于具有强大的交互能力,成为网络信息传播的主流,并已取代了静态页面成为了主流。AJAX采用了JavaScript驱动的异步(非同步)请求和响应机制,在不经过网页整体刷新的情况下持续进行数据更新,而传统爬虫技术缺乏对JavaScript语义的接口和交互能力,难以触发动态无刷新页面的异步调用机制并解析返回的数据内容,无法保存所需信息。

此外,诸如JQuery等封装了JavaScript的各类前端框架会对DOM结构进行大量调整,甚至网页上的主要动态内容均不必在首次建立请求时就以静态标签的形式从服务器端发送到客户端,而是不断对用户的操作进行回应并通过异步调用的机制动态绘制出来。这种模式一方面极大地优化了用户体验,另一方面很大程度上减轻了服务器的交互负担,但却对习惯了DOM结构(相对不变的静态页面)的爬虫程序提出了巨大挑战。

传统爬虫程序主要基于“协议驱动”,而在互联网2.0时代,基于AJAX的动态交互技术环境下,爬虫引擎必须依赖“事件驱动”才有可能获得数据服务器源源不断的数据反馈。而要实现事件驱动,爬虫程序必须解决三项技术问题:第一,JavaScript的交互分析和解释;第二,DOM事件的处理和解释分发;第三,动态DOM内容语义的抽取。

前嗅的ForeSpider数据采集系统全方位支持各种动态网站,大部分网站通过可视化的操作就可以获取。对于反爬虫机制严格的网站,通过ForeSpider内部的脚本语言系统,通过简单的脚本语言,就可以轻松获取。

>>>>
数据采集分布化

分布式爬虫系统是在计算机集群之上运转的爬虫系统,集群每一个节点上运行的爬虫程序与集中式爬虫系统的工作原理相同,所不同的是分布式需要协调不同计算机之间的任务分工、资源分配、信息整合。分布式爬虫系统的某一台计算机终端中植入了一个主节点,并通过它来调用本地的集中式爬虫进行工作,在此基础上,不同节点之间的信息交互就显得十分重要,所以决定分布式爬虫系统成功与否的关键在于能否设计和实现任务的协同。

此外,底层的硬件通信网络也十分重要。由于可以采用多节点抓取网页,并能够实现动态的资源分配,因此就搜索效率而言,分布式爬虫系统远高于集中式爬虫系统。

经过不断的演化,各类分布式爬虫系统在系统构成上各具特色,工作机制与存储结构不断推陈出新,但主流的分布式爬虫系统普遍运用了“主从结合”的内部构成,也就是由一个主节点通过任务分工、资源分配、信息整合来掌控其他从节点进行信息抓取。

在工作方式上,基于云平台的廉价和高效特点,分布式爬虫系统广泛采用云计算方式来降低成本,大规模降低软硬件平台构建所需要的成本投入。在存储方式方面,当前比较流行的是分布式信息存储,即将文件存储在分布式的网络系统上,这样管理多个节点上的数据更加方便。通常情况下使用的分布式文件系统为基于Hadoop的HDFS系统。

目前市场上的可视化通用性爬虫,大都牺牲了性能去换取简易的可视化操作。但前嗅的ForeSpider爬虫不是。ForeSpider采用C++编程,普通台式机日采集量超过500万条/天,服务器超过4000万条/天。是市场上其他可视化爬虫的10倍以上。同时,ForeSpider内嵌前嗅自主研发的ForeLib数据库,免费的同时支持千万量级以上的数据存储。

>>>>
通用型和主题型网络爬虫

依据采集目标的类型,网络爬虫可以归纳为“通用型网络爬虫”和“主题型网络爬虫”两种。

通用型网络爬虫侧重于采集更大的数据规模和更宽的数据范围,并不考虑网页采集的顺序和目标网页的主题匹配情况。在当前网络信息规模呈现指数增长的背景下,通用型网络爬虫的使用受到信息采集速度、信息价值密度、信息专业程度的限制。

为缓解这种状况,主题型网络爬虫诞生了。不同于通用型网络爬虫,主题型网络爬虫更专注采集目标与网页信息的匹配程度,避免无关的冗余信息,这一筛选过程是动态的,贯穿于主题型网络爬虫技术的整个工作流程。

目前市面上的通用性爬虫的采集能力有限,采集能力不高,网页结构复杂的页面无法采集。前嗅ForeSpider爬虫是通用型的网络爬虫,可以采集几乎100%的网页,并且内部支持可视化筛选、正则表达式、脚本等多种筛选,可以100%过滤无关冗余内容,按条件筛选内容。相对主题型爬虫只能采集一类网站而言,通用型的爬虫有着更强的采集范围,更加经济合理。

㈣ 钟珞的主要学术成果

1.钟珞主编:《计算机科学导论》,武汉理工大学出版社,2003.1
2.钟珞、夏红霞主编,宋华珠、李道奇副主编《SCJP试题详析大全》,电子工业出版社,
3.钟珞、宋华珠主编,夏红霞、袁景凌、邹承明副主编:《系统分析员重点综述与试题分析》,中国民航出版社,2003.4
4.钟珞主编,夏红霞、袁景凌副主编:《软件工程重点综述与试题分析》,中国民航出版社,2000.3
5.钟珞、刘钢主编,夏红霞、袁景凌编著:《程序设计重点综述与试题分析》,中国民航出版社,2000.1
6.钟珞主编,吕品、杨世清副主编:《系统分析员重点综述与试题分析》,中国民航出版社,2003.5
7.段隆振,胡学钢主编:《数据结构》,武汉理工大学出版社,2003.9
8.钟珞主编,陈文平、夏红霞副主编:《初级程序员重点综述与试题分析》,中国民航出版社,2003.4
9.钟珞主编,郑巧仙、夏红霞副主编:《程序员重点综述与试题分析》,中国民航出版社,2003.5
10.许鑫华,叶卫平主编:《计算机在材料科学中的应用》,机械工业出版社,2003.4
11.钟珞、夏红霞主编,李辉、李纪华副主编:《网站组建与维护》,中国民航出版社,2001.11
12.钟珞、夏红霞、杨庚主编,袁景凌副主编:《数据库技术重点综述与试题分析》,中国民航出版社,2001.2
13.钟珞主编,冉春玉、赵广辉副主编:《系统设计师重点综述与试题分析》,中国民航出版社,2003.4
14.钟珞主编,邹承明、夏红霞副主编:《MCSE试题详析大全》,电子工业出版社,
15.李威宣,李先立编著:《测控技术与仪器导论》,武汉工业大学,1999.6
16.刘同员主编:《体育健康学》,人民体育出版社,2002.7
17.王威孚,朱喆,李炼主编:《马克思主义哲学教学指导》,武汉理工大学出版社,2002.8
18.童恒庆,周树民,李跃波,张开鹏编著:《概率论与数理统计》,武汉工业大学出版社,2000.10 结构受力模拟动画生成及其视频输出技术研究构动态分析中的可视化技术[J]. 同济大学学报,2001

㈤ 数据结构在软件开发中的作用

本人还是自称为菜鸟好了,学了一点相关知识,谈不上指点,心得倒是马马虎虎,见笑
数据结构和算法设计是分不开的(大学课程里面这是整个的一门课)。对于软件初学者,这部分内容不是特别重要,因为很自然,新手总是喜欢用简单、好理解、易实现的方式去写代码;由于软件本身的架构简单,在空间和时间资源的消耗上也几乎可以忽略。比如只有几十个数据排序,那么单向链表+简单插入排序足矣。
随着学习深入,数据结构与算法的重要作用也就逐渐明显起来,尤其对于大型复杂的软件体系结构。因为硬件的发展速度远比不上软件的膨胀速度,对于一些大型的软件,可供使用的空间资源和可以容忍的时间复杂度相当有限(在使用者的角度,他当然会希望一个软件产品占用空间小,功能全,速度快),这就需要良好的数据结构和有效的算法去支撑,用上面的例子,如果有几十万个甚至上亿个数据需要排序,若不小心考虑数据结构与算法的设计,运行的结果将不堪设想。
一楼所说的数据库是一个重要的应用方面,尤其对于当今海量的数据而言。一个好的设计,可能用一台机子几分钟计算出结果,而一个差的设计,可能多机协同工作算几小时甚至几天。
更明显的例子就是操作系统,其作用毋庸置疑,当然需要高效、节约,因为还要支撑其他软件的运行;设计过程中,对于一些可选的数据结构以及算法,就要仔细斟酌了。
再比如游戏,太显然的例子,低端配置跑高端产品,谁都希望
在个人的学习过程中,理解数据结构和算法设计很有助于深入理解软件系统,无论自己写,还是读别人的成果。
个人的愚见。更多的精髓,如果楼主感兴趣的化,就会在学习中慢慢体会了

㈥ 学习C++ 后,去学数据结构感觉十分的吃力!

首先,方向的问题是你自己选择的,这个你一定要明白,没人能帮你做这么重大的决策,编程这个东西,你首先自己一定要非常感兴趣,不能说仅仅很好玩或者说很挣钱等等之类的,如果是这样,楼主还是不要学习这个的好,费时费力,还不一定出成果,数据结构这个东西,毫无疑问,不管做什么开发都应该学习一下的,即使说java,里面的vector,linklist,map等等这些东西都是基于数据结构上的封装,这是一个打基础的东西,楼主千万别被那些看似光鲜的词汇给蒙住了,mfc固然好,但是如果你面向对象的基础没打好,即使前期你可以仿照书上的东西做一点小系统,但是后面你会发现你会越来越难行走,以为我以前看mfc就是这样,所以建议楼主还是好好学习一下c/c++,注意:是好好学学,多看看一些底层的东西,这样看数据结构时才不会被什么指针、数组啊这些基础的语法东西迷惑掉,同时学数据结构时前期一定要画图,内涵啊最重要,等到你学的差不多了再看vc吧......最后真诚建议,一定要踏踏实实地看(如果你想学的话),遇到困难就不想学想换方向的永远都学不好,码字辛苦,望采纳....

㈦ 王晓东的获奖成果

* 学术研究领域为计算机算法设计与算法评价,基于计算机网络和信息安全的大规模问题求解算法与数据结构,信息可视化技术,几何计算,并行和分布式算法设计,计算复杂性理论。先后主持完成了与算法设计与分析有关的国家自然科学基金项目,国家优秀留学回国人员基金项目,福建省杰出人才基金项目和省自然科学基金项目等7个研究课题。
* 获得国家科技进步2等奖1项,省科技进步2等奖3项。
* 主持国家精品课程算法与数据结构和算法设计与分析的课程建设。
* 获福建省教学成果一等奖。
* 在国内外重要学术刊物上发表有创见性学术论文50余篇。
*正式出版《算法设计与分析》(清华大学出版社)、《算法与数据结构》(电子工业出版社)等学术著作11部,其中有4部为普通高等教育“十一五”国家级规划教材。
* 在算法复杂性研究方面取得了一系列理论研究和应用成果。例如,在对著名的凸壳问题的计算复杂性研究成果中推广了关于判定树模型下问题的计算复杂性下界著名的Ben-Or定理,并应用于分析凸壳问题的计算复杂性,在较一般的情况下改进和完善了国际算法界知名学者Aggarwal,Steele和Yao等提出的关于凸壳问题计算复杂性下界的结果。研究成果得到同行专家的好评并被国内权威刊物所引用。

㈧ 彭志平的研究方向

先后承担了《数据结构》、《操作系统》、《Java语言》、《网络应用软件开发》等实践性较强的课程。结合自身科研项目,以第二课堂活动为切入点,积极组建了多个“Web应用架构技术”课外兴趣小组,对学生产生耳濡目染、潜移默化的效果,使学生明确了学习方向,增强了自信心,提升了就业竞争力和就业质量。2007年他指导的2名学生参加广东省“高校杯”软件设计大赛,都取得了较好的成绩。他经过认真总结,创新性地提出了以Java为线索的网络应用三阶段教学理念,并将其落实到人才培养方案中。同时,他将科研课题引入到学生的毕业设计中,取得了良好的效果。自2006年起,他与太原理工大学、江苏科技大学联合培养硕士研究生5名,其中2名已毕业。
他瞄准学科前沿,潜心于科学研究,致力于多主体技术、机器学习、自主计算和语义Web服务等方向的研究,并取得了不少研究成果。2003年至今,他主持了6项省市(厅)纵向科研项目的研究,其中广东省自然科学基金项目2项,广东省教育厅自然科学研究项目1项,茂名市科技计划项目3项,并作为主要成员参加了1项国家自然科学基金的研究。2005年,他的研究成果“面向智能Agent软件技术的研究及其在智能诊断仿真系统中的应用”通过了广东省科技厅组织的成果鉴定,其中自主研发的“基于Agent的故障诊断仿真系统”成功地应用于茂名市化工企业,取得了较好的效益。该成果被评为茂名市科学技术“二等奖”。近年来,他获计算机软件著作版权3项;在《电子学报》、《计算机研究与发展》、《Journal of Information and Computation Science》等国内外重要的学术期刊和会议发表学术论文30多篇,其中15篇被收录进SCI、EI索引。
参加工作十几年来,他脚踏实地,勤勤恳恳,开拓进取,干出了成绩,曾荣获茂名学院“优秀党员”、“优秀教研室主任”、“科技工作先进个人”、师德先进个人,茂名市“优秀教师”和广东省南粤优秀教师等称号。

㈨ 数据库结构

新一轮油气资源评价数据库是建立在国家层面上的数据库,数据库设计首先立足于国家能源政策和战略制定的宏观要求,还要结合油气资源评价的工作特征和各个评价项目及资源的具体情况。使用当前最流行和最成熟的数据库技术进行数据库的总体结构设计。

数据库的设计以《石油工业数据库设计规范》为指导标准,以《石油勘探开发数据》为设计基础,借鉴前人的优秀设计理念和思路,参考国内外优秀的资源评价数据库和油气资源数据库的设计技术优势,结合本轮资源评价的具体特点,按照面向对象的设计和面向过程的设计相结合的设计方法,进行数据库的数据划分设计。

油气资源评价数据库要满足新一轮全国油气资源评价工作的常规油气资源评价、煤层气资源评价、油砂资源评价、油页岩资源评价四个油气资源评价的数据需求。进行数据库具体数据内容设计。

并且,数据库的设计要为油气资源评价的快速、动态评价和远程评价工作的需求保留足够数据扩展接口,数据库具有良好开放性、兼容性和可扩充性。

(一)数据划分

数据库内存放的数据将支持资源评价的整个过程。为了能更好地管理库中数据,需要对整个过程中将用到的数据进行分类管理。具体分类方式如下(图4-11):

图4-11 数据分类示意图

1.按照应用类型划分

按照数据在资源评价过程中的应用类型划分,可以划分为基础数据、参数数据和评价结果数据。

基础数据是指从勘探生产活动及认识中直接获取的原始数据,这些数据一般没有经过复杂的处理和计算过程。如分析化验数据、钻井地质数据、盆地基础数据等。这些数据是整个评价工作的基础。

参数数据是指在评价过程中各种评价方法和软件直接使用的参数数据。

评价结果数据是指资源评价中产生的各种评价结果数据,如资源量结果数据、地质评价结果数据等。

2.按照评价对象划分

本次评价共分为大区、评价单元、计算单元三个层次,在研究中又使用了盆地、一级构造单元,在评价对象总体考虑中按照评价对象将数据划分为大区、评价单元、计算单元等类型。

3.按照获取方式划分

按照获取方式可以将数据分为直接获取、研究获取、间接获取几类。

4.按照存储类型划分

按照存储类型可以将数据划分为结构化数据和非结构化数据。

结构化数据是指能够用现有的关系数据库系统直接管理的数据,进一步又可以分为定量数据和定性数据两类。

非结构化数据是指不能用现有的关系数据库系统直接管理和操作的数据,它必须借助于另外的工具管理和操作。如图件数据、文档数据等。

库中数据类型的划分共分六个层次逐次划分,包括:数据存储类型→资源类型→评价对象→应用→获取方式→数据特征。

对于结构化存储的数据在应用层分为三类:基础数据、中间数据和结果数据,基础数据中包含用于类比的基础数据、用于统计分析的基础数据和直接用于公式运算的基础数据;结构化存储的数据在获取方式上可以继续划分,其中,用于公式运算的数据可以细化为专家直接录入、由地质类比获取、通过生产过程获取、通过地质研究过程获取及其他方式。中间数据可以从以下方式获取:标准、统计、类比、参数的关联。结果数据的获取有两种方式:公式运算结果和通过钻井、地质、综合研究等提交的文字报告。

对于非结构化存储的数据在应用层分为两类:图形数据和文档数据。

图形数据在获取方式上可以继续划分成四种方式:通过工程测量数据获取(如地理图件、井位坐标数据等)、通过地质研究过程获取(如沉积相图、构造区划图等)、由综合研究获取(如综合评价图等)、其他方式。

图形数据在表现方式上又可以进一步分为有坐标意义的图形(如构造单元划分图、地理图、井位图等)、数值图(如产烃率曲线图、酐洛根热降解图等)和无坐标含义图(如剖面图)等。

文档数据是指评价过程中产生的各种报告、项目运行记录等。

(二)数据库结构

从业务需求上,根据数据用途、数据类型和数据来源,可将本次的油气资源评价数据库分为三级:基础库、参数库、成果库(图4-12)。其结构如下:

图4-12 数据库结构示意图

1.基础库

基础库是油气资源评价工作的最基础的原始数据,有实测数据(物探数据、测井数据、钻井数据、开发数据等)、实验数据和经验数据等。

确定基础数据实际上是一项涉及油田勘探、开发等领域的多学科的复杂工作,是油气资源评价工作的研究过程和研究成果在数据库中的具体表现方式。在设计数据库的过程中,需要与参数研究专家经过多次反复,才能最终确定基础数据库,确保基础数据库能满足目前所有评价工作中计算的需要。

2.参数库

参数库用于存储油气资源评价工作所用到的参数数据,评价软件,直接从参数库中提取参数数据,用于计算。参数数据由基础数据汇总而来,也可以由专家根据经验直接得到。

本次评价中所涉及的参数大致可以分为以下几类:①直接应用的参数;②通过标准或类比借用的参数;③通过研究过程或复杂的预处理得到的参数。

3.成果库

成果库用于存储资源评价结果,包括各种计算结果、各种文档、电子表格、图片、图册等数据。

数据库的体系结构采用分布式多层数据库结构,包括三个组成部分:应用服务层、应用逻辑层和数据服务层。

数据库体系结构如图4-13所示。

图4-13 体系结构结构图

(1)应用服务层:应用服务层包含复杂的事务处理逻辑,应用服务层主要由中间件组件构成。中间件是位于上层应用和下层服务之间的一个软件层,提供更简单、可靠和增值服务。并且能够实现跨库检索的关键技术。它能够使应用软件相对独立于计算机硬件和操作系统平台,把分散的数据库系统有机地组合在一起,为应用软件系统的集成提供技术基础,中间件具有标准程序接口和协议,可以实现不同硬件和操作系统平台上的数据共享和应用互操作。而在具体实现上,中间件是一个用API定义的分布式软件管理框架,具有潜在的通信能力和良好的可扩展性能。中间件包含系统功能处理逻辑,位于应用服务器端。它的任务是接受用户的请求,以特定的方式向应用服务器提出数据处理申请,通过执行相应的扩展应用程序与应用服务层进行连接,当得到应用服务器返回的处理结果后提交给应用服务器,再由应用服务器传送回客户端。根据国内各大石油公司具体的需求开发相应的地质、油藏、生产等应用软件功能程序模块和各种算法模块。

(2)应用逻辑层:逻辑数据层是扩展数据服务层逻辑处理层,针对当前的底层数据库的数据结构,根据具体的需求,应用各种数据库技术,包括临时表、视图、存储过程、游标、复制和快照等技术手段从底层数据库中提取相关的数据,构建面向具体应用的逻辑数据库或者形成一个虚拟的数据库平台。逻辑数据层包含底层数据库的部分或全部数据处理逻辑,并处理来自应用服务层的数据请求和访问,将处理结果返回给逻辑数据层。

形成一个虚拟的数据库平台我们可以应用数据库系统中的多个技术来实现。如果系统中的一个节点中的场地或分片数据能够满足当前虚拟数据库,可以在应用服务层中使用大量的查询,生成一个以数据集结果为主的虚拟数据库平台,并且由数据集附带部分数据库的管理应用策略。或者对节点上的数据库进行复制方法进行虚拟数据库的建立。对与需要对多个节点上的数据库进行综合筛选,则要对各个节点上的数据库进行复制,合并各个复制形成一个应用逻辑层,从而建立一个虚拟数据平台。

(3)数据服务层:即数据库服务器层,其中包含系统的数据处理逻辑,位于不同的操作系统平台上,不同数据库平台(异构数据库),具体完成数据的存储、数据的完整性约束。也可以直接处理来自应用服务层的数据请求和访问,将处理结果返回给逻辑数据层或根据逻辑数据层通过提交的请求,返回数据信息和数据处理逻辑方法。

(三)数据建设标准

1.评价数据标准

系统数据库中的数据格式、大小、类型遵从国家及行业标准,参考的标准如表4-23。

表4-23 数据库设计参考标准

续表

系统中数据的格式及单位参考《常规油气资源评价实施方案》、《煤层气资源评价实施方案》、《油砂资源评价实施方案》、《油页岩资源评价实施方案》及数据字典。

2.图形图件标准

对于地质研究来说,地质类图件是比较重要的。各种地质评价图形遵循以下标准(表4-24)。

表4-24 系统图形遵循的相关标准

系统对图形的要求为必须为带有地理坐标意义的、满足上述标准体系要求的矢量图形,且采用统一的地理底图。图形格式采用:MapGIS图形交换格式、GeoInfo图形格式、ArcInfo图形交换格式、MapInfo图形交换格式和GeoMap图形交换格式。

图件的比例尺要求:

全国性图件:1∶400万或1:600万

大区图件:1:200万

盆地图件:1:40万或1:50万

评价单元图件:1:10万或1:20万

图件的内容要求符合《常规油气资源评价实施方案》、《煤层气资源评价实施方案》、《油砂资源评价实施方案》和《油页岩资源评价实施方案》的规定。

(四)数据内容

数据库中存储的数据包括常规油气相关数据、煤层气相关数据、油砂相关数据和油页岩相关数据;还有可采系数研究涉及的数据,包括研究所需基础数据和研究成果数据;以及趋势预测相关数据。

阅读全文

与数据结构研究成果相关的资料

热点内容
商标注册网先咨政岳知识产权放心 浏览:658
公众号版权投诉材料 浏览:841
签订无固定期限合同的好处 浏览:727
油汀发明 浏览:216
论文转让网 浏览:282
通州门面转让最新消息 浏览:165
第二届紫金知识产权国际峰会 浏览:4
2010年4月自考知识产权法答案 浏览:259
3系马年限量版价格 浏览:952
快餐店转让协议 浏览:407
小萝莉和猴神大叔版权 浏览:290
产权年限到期后怎么办 浏览:83
铜川58同城转让 浏览:477
著作权使用许可范本 浏览:846
第三次工业革命的成果 浏览:414
火石创造笔试题 浏览:545
河南医院转让 浏览:798
工商局法制工作总结 浏览:359
贝伦斯发明 浏览:242
马鞍山汇通大厦地址 浏览:278