空间数据存储(共9篇)
空间数据存储 篇1
0 引言
从国内外研究进展来看,原生数据库环境下GML空间数据管理机制的研究还处于非系统化、非全面化、非应用化的部分内容研究、初始研究阶段。对原生模式GML空间数据管理机制系统、全面的研究还需深入、具体的开展。本文借鉴XML数据管理机制思想,提出了一种基于原生XML数据库的原生GML空间数据存储模型;提出了一种原生GML空间数据库系统架构体系,为原生GML空间数据库存储机制提供了一种方法。
1 GML空间数据存储模型
原生XML数据库的基本(逻辑)存储单元是XML文档,正如同关系数据库中的基本(逻辑)存储单元是二维关系表中的一条记录一样(也即,原生XML数据库中数据的存储是文档进、文档出,而关系数据库中数据的存储是记录进、记录出)。一般,原生XML数据库都有集合(Collection)的概念,一个集合是若干XML文档(甚至包括其它嵌套集合)的群集,其功能和特征与关系数据库中的二维表、文件系统中的文件目录类似。集合的设计,确保对XML文档的操作(存储、索引、查询、更新、删除等)可以在一个文档群集中进行。与二维关系表都有一个模式与其对应不同,原生XML数据库中的集合可以没有与其对应的模式,也即,它是模式独立的(Schema-independent)。集合的模式独立性使得原生XML数据库拥有了很多灵活性,并且为应用开发提供了很多便利;如,XML文档的存入、读取无需对应的XML文档模式的支持即可实现。
原生模式GML空间数据存储时,其理想存储模型也应为GML文档。并支持文档集合以及集合的嵌套,如此对GML文档的存储、查询、更新、删除等都可以在一个文档群集中进行。并且集合支持模式独立性,以便于GML实例文档的灵活存入与读取。
在存储粒度上,一般XML数据库的存储粒度分为:(1)粗粒度存储;即XML数据的存储以整个文档为存储粒度,此存储粒度不利于XML文档的查询和粒状更新。(2)中粒度存储;即XML数据的存储以XML文档树中的子树(元素集合)为粒度,此存储粒度可方便实现XML文档的查询和粒状更新,但效果视具体应用而定。(3)细粒度存储;即XML数据的存储以XML文档中的元素为粒度,此存储粒度可最大限度的灵活实现XML文档的查询和粒状更新;不过,由于以元素为粒度,处理时具有一定的开销。
对于GML文档的存储,本文在充分考虑GML索引构建、GML空间/非空间数据查询所采用的机制、算法、策略等情况下,并结合一些原生XML数据库系统(如eXist)的存储特性,确定其存储粒度为细粒度,以便于原生GML空间数据库系统的设计、实现和应用。
2 原生GML空间数据库系统架构体系
在对XML、GML、经典关系型数据库系统、传统空间数据库系统、原生XML数据库系统等分析的基础上,本文提出了一种原生GML空间数据库系统架构体系(见图1),其涵盖内容如下。
2.1 原生GML空间数据库系统定义
原生GML空间数据库系统是以GML文档为存储模型,对GML文档进行数据组织、索引构建、存储分配、查询处理的数据库系统。系统对GML文档的读、写采用文档进、文档出模式;系统查询语言采用支持空间数据的扩展XQuery语言,可进行GML空间与非空间数据的一体化查询与更新处理;系统支持多种GML数据访问的API;同时,系统也具备传统数据库系统所具有的多用户多任务并发、事务、回滚、访问控制、备份等机制,以支持在包括分布式网络在内的各种环境下的应用。
2.2 GML数据管理
原生GML空间数据库系统中存储的数据主要是GML实例文档,而GML实例文档一般都有对应的GML应用模式文档,以约束、控制和校验GML实例文档的结构与内容。因此,GML数据管理模块涉及GML模式文档管理和GML实例文档管理。
GML模式文档管理负责:(1)采用GML解析器对GML模式文档进行解析,提取出与GML实例文档中元素对应的各种元素类型信息,并提交GML实例文档管理子模块,由其负责依据元素类型信息采用GML解析器对GML实例文档进行解析。(2)采用GML解析器对GML模式文档进行解析并构建节点树再提交GML存储管理模块进行存储。(3)建立、维护GML模式文档存储检索表,以备GML查询处理模块对GML模式文档进行全文查询。(4)响应GML查询处理模块对GML模式文档的查询请求,并返回目标模式文档。
GML实例文档管理负责:(1)采用GML解析器对GML实例文档进行解析、构建节点树,并提交GML索引管理模块以构建GML非空间数据索引。(2)接收GML模式文档管理子模块发送的GML实例文档元素类型信息,据此采用GML解析器对GML实例文档进行解析,以提取GML要素、几何、拓扑等对象,并提交GML索引管理模块实现对GML空间数据的索引构建。(3)原生GML空间数据库系统支持集合(以及集合的嵌套),因此,在将GML实例文档相关信息提交GML索引管理模块时,也提交关联集合的信息,以便于构建索引。(4)当不对GML实例文档构建索引时,采用GML解析器对GML实例文档进行解析并构建节点树再提交GML存储管理模块进行存储。(5)建立、维护GML实例文档存储检索表,以备GML查询处理模块对GML实例文档进行全文查询。(6)响应GML查询处理模块对GML实例文档或集合的查询请求,并返回目标实例文档或集合信息列表。
GML实例文档入库时分两种情况:有GML模式文档相伴和无GML模式文档相伴。当无GML模式文档相伴时,将无法有效的建立GML空间数据索引。
2.3 GML索引管理
索引管理是一个数据库系统重要的功能模块。
GML文档向原生GML空间数据库存储时需对文档中的GML空间和非空间数据建立索引,以便高效进行GML空间数据的查询。与GML空间数据文档存储入库时不构建索引相比,存储时建立索引将耗费更多的时间;但是从数据库的整体操作、使用而言,一般遵从“操作局部性”(类似于计算机科学中的时间局部性原理和空间局部性原理),表现为通常对数据库中数据的增加、删除、修改、查询等操作,一般情况下局部化为查询操作。鉴于此,GML空间数据存储入库时因建立数据索引而额外耗费的时间,对于数据的后续操作和使用管理是非常有价值的。
GML索引管理包括:GML非空间数据索引管理和GML空间数据索引管理两个子模块。
GML非空间数据索引管理负责:(1)接收GML数据管理模块发送的GML实例文档解析、构建的节点树,并采用XML文档编码方案(如论文提出的Ex-Dewey前缀编码方案)对GML实例文档构建GML非空间数据索引。(2)接收GML数据管理模块发送的与GML实例文档关联的集合信息,以共同对GML实例文档构建GML非空间数据索引。(3)将构建的GML实例文档非空间数据索引信息数据提交GML存储管理模块进行存储,并同时提交GML实例文档节点树数据,对GML实例文档数据进行存储。(4)协调GML空间数据索引管理子模块对GML实例文档构建空间索引。(5)响应GML查询处理模块对GML非空间数据的查询请求,并返回相关索引信息数据。
GML空间数据索引管理负责:(1)接收GML数据管理模块发送的对GML实例文档解析后提取的GML要素、几何、拓扑等对象数据,并采用R树、R+树等经典空间数据索引算法实现对GML空间数据的索引构建。(2)接收GML数据管理模块发送的与GML实例文档关联的集合信息,以共同对GML实例文档构建GML空间数据索引。(3)将构建的GML实例文档空间数据索引信息数据提交GML存储管理模块进行存储。(4)与GML非空间数据索引管理子模块交互,完成对GML实例文档空间索引的构建。(5)响应GML查询处理模块对GML空间数据的查询请求,并返回相关索引信息数据。
由于GML实例文档索引的构建比较耗时,可采用后台服务进程/线程自动构建索引的方式,从而保证GML实例文档可以迅速存入GML空间数据库中。当GML实例文档索引后台自动构建还未完成时出现查询请求,可采取的策略是直接对GML实例文档进行检索。根据局部性原理,通常GML实例文档入库后不会很快出现大量、频繁的查询请求,此时直接检索GML实例文档是可行的,当索引构建完成后则可先查询索引,然后快速定位GML目标数据。
2.4 GML存储管理
GML存储管理负责:(1)GML模式文档、GML实例文档、GML集合信息、GML实例文档非空间数据索引信息、GML实例文档空间数据索引信息的物理存储。(2)GML模式文档、GML实例文档、GML集合信息、GML实例文档非空间数据索引信息、GML实例文档空间数据索引信息的提取。(3)响应GML查询处理模块对GML空间、非空间数据的查询请求,并返回实际数据。
GML存储管理采用原生XML数据库系统(如eXist)已有的存储管理模块,实现对上述功能的支持。
2.5 GML查询处理
GML查询处理既要实现一般XML数据的查询功能,又要实现GML所特有的空间数据查询功能。它包括:GML查询解析、GML查询执行、GML查询结果构造等子模块。
GML查询解析负责对GML查询语句(由XQuery查询语言增加空间扩展支持实现)进行解析,对查询语句结构、合法性等进行分析,如果语句不合法则返回错误信息,否则对查询语句进行分类(包括:GML模式文档全文查询、GML实例文档全文查询、GML集合信息查询、GML非空间数据查询、GML空间数据查询、GML空间、非空间数据混合查询等),并将分类信息提交GML查询执行子模块进行查询执行。
GML查询执行负责根据查询语句分类信息进行数据的查询执行,并将查询结果提交GML查询结果构造子模块。之中:(1)对于GML模式文档全文查询、GML实例文档全文查询、GML集合信息查询直接访问GML数据管理模块,由其执行并返回结果。(2)对于GML非空间数据查询则先访问GML索引管理模块,由其返回与查询相关的索引信息数据,然后采用结构连接算法(如论文提出的ED-XQ-SJ算法)确定符合查询条件的节点信息,并进而依据索引信息中节点编码值所对应的节点物理存储地址,通过GML存储管理模块读取节点实际数据。(3)对于GML空间数据查询则先访问GML索引管理模块,由其返回与查询相关的索引信息数据,然后利用空间索引构建采用的算法(如R树算法)确定符合查询条件的GML要素信息,并进而依据索引信息中GML要素所对应的物理存储地址,通过GML存储管理模块读取GML要素的实际数据。(4)对于GML空间、非空间数据混合查询,则先执行GML非空间数据查询,在其结果集上结合对应的空间索引信息以及非空间索引信息,进一步执行空间数据查询,并最终通过GML存储管理模块获取实际的GML数据。
GML查询结果构造负责将查询获取的目标原始数据,依据数据关系(如节点编码值等)进行GML格式的数据构造,并返回(对于GML模式文档全文查询、GML实例文档全文查询、GML集合信息查询则直接返回)。
2.6 GML数据访问API
为方便原生GML空间数据库的使用,需要构建各种GML数据访问的API,如:类似XML-RPC、XML:DB API的访问接口,能够通过SOAP、HTTP进行GML数据访问的接口等。GML数据访问API将可直接访问GML数据管理模块和GML查询处理模块。
2.7 其它支撑
一般数据库系统都具有多用户多任务并发、事务、回滚、访问控制、备份等机制,原生GML空间数据库系统也需具备上述特征,以便于在包括分布式网络在内的各种环境下使用。GML空间数据库将采用原生XML数据库系统(如eXist)已具备的上述机制实现对上述功能的支持。
将原生GML空间数据库构建于原生XML数据库系统之上,不仅可以充分利用XML数据库系统已有的成熟功能与机制,而且可以将XML文档、GML文档共储于同一数据库系统中,实现GML地理空间数据、XML普通事务数据的一体化存储;正如当前基于关系型数据库的地理空间数据库系统一样(如:Oracle Spatial)。
3 结语
与XML数据存储类似,GML空间数据的存储方式也包括:文件存储管理方式、关系数据库存储管理方式和原生数据库存储管理方式。原生GML空间数据的存储构建于原生XML数据库之上是一种理想的选择。基于开源原生XML数据库(如:eXist)并充分考虑GML索引构建、GML空间、非空间数据查询所采用的机制、算法、策略等情况,原生GML空间数据的存储模型以细粒度(即,存储以GML文档中元素为粒度)为宜。本文进一步重点研究、设计了原生GML空间数据库系统架构体系,给出了系统定义、系统架构与系统模块的交互原理与技术方法;系统模块包括:GML数据管理、GML索引管理、GML存储管理、GML查询处理、GML数据访问API,以及多用户并发、事务、回滚等其它支撑模块。
摘要:大量GML空间数据的出现,使其有效性存储管理面临严峻挑战。鉴于GML空间数据XML格式编码的特点,本文分析并借鉴XML数据存储方式,提出GML空间数据的存储构建于原生XML数据库之上是一种理想的选择。基于开源原生XML数据库并充分考虑GML索引构建、GML空间、非空间数据查询所采用的机制、算法、策略等情况,本文提出GML空间数据的原生存储模型以细粒度为宜。本文进一步着力研究、设计了原生GML空间数据库系统架构体系,给出了系统定义、系统架构与GML空间数据存储、索引、查询等原理与技术方法。
关键词:GML空间数据,原生XML数据库,原生存储模型,原生GML空间数据库
参考文献
[1]OGC.OpenGIS Geography Markup Language(GML)EncodingStandard(Version 3.2.1)[EB/OL].http://www.opengeospatial.org/standards/gml.2007.
[2]W3C.eXtensible Markup Language(XML)1.0(FourthEdition)[EB/OL].http://www.w3.org/TR/2006/REC-xml-20060816.2006.
[3]兰小机,张书亮,刘德儿等.GML空间数据库系统研究[J].测绘科学.2005.
[4]兰小机,闾国年,刘德儿.GML空间数据查询与索引机制研究[J].遥感学报.2006.
[5]兰小机,刘德儿,闾国年.GML空间数据索引机制研究[J].计算机工程.2007.
[6]兰小机,肖辉辉,段艳明,基于扩展NXD的GML空间数据库数据查询系统[J].大地测量与地球动力学.2008.
[7]陈建华,王华军,苗放,等.XML/GML非空间数据查询的结构连接算法[J].计算机工程.2010.
[8]陈建华,王卫红,苗放.基于Ex-Dewey前缀编码与R树的GML空间数据索引机制[J].地球信息科学学报.2010.
空间数据存储 篇2
----------------------------------------------简单的界面布局-----------------------------------------------------------
xmlns:tools=“schemas.android.com/tools”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:orientation=“vertical” >
android:id=“@+id/input_edt”
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
android:hint=“请输入保存内容” />
android:id=“@+id/write_btn”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:text=“保存数据” />
android:id=“@+id/read_btn”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:text=“读取数据” />
-----------------------------功能代码-----------------------------------------------------------
public class MainActivity extends Activity implements OnClickListener {
/**内容输入框 */
private EditText inputEdt;
/**保存(写入)按钮 */
private Button writeBtn;
/**读取按钮 */
private Button readBtn;
/**要保存的文件名*/
private static final String FILE_NAME = “temp_file.txt”;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewsById();
}
private void findViewsById() {
inputEdt = (EditText) findViewById(R.id.input_edt);
writeBtn = (Button) findViewById(R.id.write_btn);
readBtn = (Button) findViewById(R.id.read_btn);
writeBtn.setOnClickListener(this);
readBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.write_btn:
writeData();
break;
case R.id.read_btn:
String result = readData();
inputEdt.setText(result);
break;
}
}
/*
* 方法openFileOutput(FILE_NAME, Activity.MODE_PRIVATE); 参数说明:以FILE_NAME文件名,Activity.MODE_PRIVATE文件的应用模式,打开一个输出流如果文件不存系统会为你创建一个 注意这里的文件名称不能包括任何的/或者/这种分隔符,只能是文件名
* 该文件会被保存在/data/data/应用名称/files/temp_file.txt 文件的操作模式有以下四种:MODE_PRIVATE 私有(只能创建它的应用访问) 重复写入时会文件覆盖MODE_APPEND 私有 重复写入时会在文件的末尾进行追加,而不是覆盖掉原来的文件 MODE_WORLD_READABLE 公用 可读 MODE_WORLD_WRITEABLE 公用 可读写
*/
private void writeData() {
String content = inputEdt.getText().toString();
try {
FileOutputStream utputStream = openFileOutput(FILE_NAME, Activity.MODE_PRIVATE);
outputStream.write(content.getBytes());
outputStream.flush();
outputStream.close();
Toast.makeText(MainActivity.this, “保存成功”, Toast.LENGTH_LONG).show();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 把刚刚保存的数据读出来
* */
private String readData() {
String content = “”;
try {
FileInputStream inputStream = this.openFileInput(FILE_NAME);
byte[] bytes = new byte[1024];
ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
while (inputStream.read(bytes) != -1) {
arrayOutputStream.write(bytes, 0, bytes.length);
}
inputStream.close();
arrayOutputStream.close();
content = new String(arrayOutputStream.toByteArray());
} catch (Exception e) {
e.printStackTrace();
}
return content;
}
/****************上面的内容是把内容存到手机内存中*************************************/
/**判断SDcard是否存在并且可读写*/
private boolean isSDcardExist() {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
return true;
} else {
Toast.makeText(getApplicationContext(), “内存卡不可用”, 1000).show();
return false;
}
}
/**往内存卡中存文件*/
public void writeToSDCard(String filename, String filecontent) throws Exception {
File file = new File(Environment.getExternalStorageDirectory(), filename);
FileOutputStream utStream = new FileOutputStream(file);
outStream.write(filecontent.getBytes());
outStream.close();
}
/**读SD卡中对应文件的内容*/
private String readSDCardFile(String filePath, String fileName) {
String result = “”;
try {
File file = new File(filePath, fileName);
FileInputStream is = new FileInputStream(file);
byte[] b = new byte[is.available()];
is.read(b);
result = new String(b);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
---------注:-------------------------------------------
SD卡操作不要忘记在AndroidManifest.xml中添加对应权限:
空间数据存储 篇3
地质学定量化和信息化的深入开展使得各行各业的空间数据量不断增加, 庞大的空间数据量已达到GB、TB乃至PB数量级以上, 成为名副其实的“海量数据”[1]。
随着三维地质信息系统的发展和应用的深入, 以及地学数据可视化表达的迫切需求, 海量数据的存储、组织与管理己成为制约其发展的一个瓶颈。同时, 地质数据自身固有显著的多源、多维、多量、多类、多尺度、多时态、多主题特征[2,3], 如何高效管理并有效地利用这些复杂且海量的数据去解决各种复杂的地质问题, 是地质信息科学领域研究的一个前沿课题。
目前关于海量地质空间数据和精细三维模型管理的研究基本处于理论探索和初步应用阶段。孙卡等[4,5]提出基于文件系统的海量空间存储模型。本文则面向数据库管理方式, 提出一种基于要素扩展管理技术的海量地质空间数据库存储模型, 应用其存储海量地质模型数据, 显著提高了调度效率。
1 地质数据专题划分
地质模型数据按照建模细节层次要求可分为三级, 即原始模型、标准模型、精细模型。原始模型主要体现基础的地质信息, 包括地质勘查信息、地层属性等。经过地质分析, 数据处理, 可建立地质空间数据的标准模型, 包括地层模型、岩体模型、断层模型、矿体模型、蚀变带模型等。如果用于矿山生产或城市建设, 需要进一步地描述地质空间数据的各种参数特征, 包括各种岩性、节理、面理、地下水、透镜体等, 此时建立的模型为地质体的精细模型, 包括块体模型、巷道模型、地下管线模型、地下建筑等。地质数据的专题语义如图1所示。
专题语义数据, 是地质数据的重要组成部分, 体现了地质模型的本质和应用特征。地质模型的专题语义特性通过属性数据模型来表达。属性数据模型包括属性的“型”和属性的“值”。属性的型是指属性的模式和构成, 由若干个属性域组成;属性的值是指属性的实例, 是属性具体的内容。相同类型的地质数据具有相同的属性模式。
不同专题类型的数据通过不同的要素类型 (Feature Class) 进行区分, 要素类是属性数据值的集合, 从整体上反映了某一类型地质空间数据的语义特征。属性数据模型通过属性定义类 (Prop Type) 实现, 如定义属性字段的名称、编码、类型、是否为空等, 它实现了属性值的定义和约束, 有利于属性数据的完整性和一致性, 也便于数据的存储和检索。本文设计的要素类结构如表1所示, 属性定义类的构成如表2所示。
按照专题语义划分, 地质空间数据库总体上可以分成下列子数据库:地下建筑设施数据库、地下管线设施数据库和地质体数据库等。如果需要建立更多的专题数据库, 通过新的要素类型和属性集合实现地质空间数据库的扩展。
2 地质空间数据库存储模型设计
有效的数据库存储模型是实现地质数据能够进得来、出得去、访问快的基础和保证。在地质空间数据库设计过程中, 不可回避的难点问题就是顾及海量的数据内容和多尺度表达的需求。对象-关系型数据库管理系统以其在存储和查询复杂数据对象, 适合空间复杂索引, 体现面向对象编程能力 (支持用户自定义数据类型、自定义函数、封装和继承) 等方面的优势, 成为目前各研究和开发人员的首选[6,7]。为了实现空间-属性一体化, 多种尺度一体化和多种类型一体化存储的目标, 本文采用分层、分区、分类的管理策略和要素扩展管理技术实现海量地质空间数据的对象-关系型一体化存储。
2.1 分层、分区和分类管理策略
空间数据组织的方法有分类组织、分区组织与分层组织三种不同的策略[8]。
分类数据组织:按照空间对象的专题语义对其进行分类组织, 充分发挥同类专题对象之间的关联关系在查找和分析应用中的优势作用, 将同类空间对象在物理存储上也聚合在临近的存储空间, 从而可以大大提高频繁检索的效率。依据地质对象的专题语义划分, 将地质对象分成若干要素类型, 以要素集合的形式存储于空间数据库中。
分区数据组织:针对三维空间对象自身连续或者不连续特征以及分布的不均匀性, 不是完全规则的分区。分区的依据有三个:首先是空间对象的是否连续性特征;其次根据空间索引机制合理地进行空间划分, 尽量减少目标外接矩形范围之间的重叠;再次要考虑与数据库管理系统最佳性能相匹配的表空间接纳的对象个数, 根据给定的软硬件系统环境, 设置各种分区参数。
分层数据组织:是为了实现多尺度地质数据的存储和管理。多尺度地质空间数据模型的存储方式为在空间数据库中保存同一空间实体的多级LOD数据, 在地质空间数据库结构中, 设计专门的数据表存储每个类别地质对象的LOD数据。
2.2 对象-关系型数据库存储模型
空间数据存储模型是实现空间数据库管理系统的基础, 它决定了客观世界中的空间实体将以何种方式在计算机系统中被抽象、存储和管理[9,10]。
在空间数据经历的管理方式中, 文件系统适应“简单数据, 简单查询”, 关系数据库系统适应“简单数据, 复杂查询”, 面向对象数据库系统适应“复杂数据, 简单查询”, 而对象关系型数据库系统适应“复杂数据, 复杂查询”[11,12,13]。
本文采用的数据库存储模型需要支持地质空间数据的有效表达和快速访问, 能够存储和管理地质体模型、地下建筑模型、地下管线设施、地下洞室模型[14]、地下基础设施等多种类型的地质空间数据, 因此, 作者提出顾及地质实体多尺度多类型特征的一体化对象-关系型存储模型, 实现地质空间数据的高效组织和管理。该模型的框架如图2所示。
从宏观角度考虑, 该模型按照空间对象数据内容进行分类组织, 包括建筑设施数据库、管线设施数据库、地质体数据库等;按照三维对象特征进行分区组织, 针对连续的地质空间对象, 如地层、断层构造、道路网络和地下管线数据, 不在数据库中进行分区管理;对于离散的地质对象, 如透镜体、地下建筑等, 则对其进行分区管理, 以加快数据的访问速度;按照多尺度特征进行多层次细节数据组织, 不同类型的地质空间对象, 其多尺度表达的方式也不同。多尺度地质空间数据模型的存储方式为在空间数据库中保存同一空间实体的多级LOD数据。
从微观角度考虑, 在地质空间数据库中, 对于满足结构化要求的数据和地质实体对象的包围盒数据, 采用面向对象的结构化存储方式, 方便于应用结构化查询语言和建立空间索引;对于非结构化的数据采用二进制大对象存储方式, 提高访问速度。
从技术实现角度考虑, 采用要素扩展管理的技术。该技术的核心思想是以要素类和要素集合为中心, 要素类是型, 要素集合是值。各要素类通过其要素类属性域, 实现地质模型数据的语义表达;要素类对应的地质数据存储在不同的要素集合表中, 即要素类的值, 通过扩展要素类的ID, 将海量空间数据分别存放在不同的表, 提高检索效率和数据安全;要素类的多细节层次数据通过扩展要素类ID和LOD级别来唯一标识, 实现对多尺度表达和多尺度索引的支持。
2.3 数据库全局逻辑模型
地质空间数据库的全局逻辑模型以存储模型为基础, 基于地质对象的专题语义划分, 以及要素定义类和属性定义类的理论依据, 重点针对地下管线设施、地下建筑设施、各种地质体模型等专题进行三维空间数据库逻辑结构设计, 本文设计的全局数据库结构如表3所示。
在地质空间数据库中, 三维模型数据采用“工程->工作区->图层->要素类->要素 (几何+属性+拓扑) ->纹理库+共享模型库+材质库”的层次方式进行组织。数据库中各表的关系如图3所示。
其中, 表G3D_ALL_PROJECT、G3D_ALL_REGION和G3D_ALL_LAYER用于管理数据库中涉及的各种要素类型。表G3D_ALL_PROJECT包括若干分区数据;表G3D_ALL_REGION包括若干分层数据, 采用分区表的方式管理空间数据, 提供对空间分区索引的支持;表G3D_ALL_LAYER包括若干要素类型。
2.4 要素扩展管理技术
针对地质空间繁多的数据内容, 采用要素扩展管理技术实现多种类型、多种尺度的要素对象的空间和属性数据的一体化管理。
要素扩展管理技术的实现有四个方面:
①每个要素类 (G3D_ALL_FCLASS) 有若干属性域 (G3D_ALL_FCLASS2) , 实现地质模型数据的语义表达;
②每一种要素类对应的地质数据存储在不同的要素集合表中, 该表以G3D_FSET_[要素类的ID]为表名, 即将海量空间数据分别存放在不同的表, 这种方式可以加快空间数据的检索, 同时也将极大地降低数据表遭到破坏时带来的损失;
③每个要素集合表关联一个要素类型的LOD数据表, LOD数据表 (G3D_LOD_[要素类的ID]) 中的每条记录对应要素对象的一个级别, 通过要素对象ID和LOD级别来唯一标识。要素集合中的每条记录对应LOD数据表中FLODS (LOD总级别数) 条记录;
④各要素集合关联着纹理数据表、材质数据表、共享模型数据表、几何和属性信息更新日志表、以及索引空间信息表和索引信息表。各要素类对应的要素集合表存储了海量的地质数据, 是整个地质数据库的核心, 其他的各种表的设计均是为其服务的。
3 地质空间数据库实现和分析
基于上述存储模型的研究成果, 将如图4所示的多尺度测试样本数据在Oracle 11g中创建的地质空间数据库结构如图5所示。数据库中包括地下三维地质体模型、管线模型、地下建筑物等数据。其中, 地质体模型结构复杂, 地下管网密集, 地下建筑物众多, 空间对象个数约10万, 数据量约10 GB。
从上述样本数据中, 按照如下表的范围进行实时调度, 所耗费的查找时间如表4所示。总体上, 检索GB级的数据量, 大约需要秒级的时间, 实际验证表明该存储模型能够满足三维地质信息系统实时可视化、飞行和漫游的需求。
4 结语
本文提出了一种基于要素扩展管理技术的一体化对象-关系型数据库存储模型, 该模型不仅实现了众多数据类型的一体化存储管理, 同时满足了多尺度表达的需求, 也充分考虑方便于进一步在数据库之上构建空间索引。设计过程中, 通过地质数据专题语义划分, 抽象出满足专题语义数据表达以及地质空间数据库扩展要求的要素定义类和属性定义类。采用的要素扩展管理技术实现了多种地质空间数据及其专题语义数据、地质对象的多尺度数据、空间索引数据、以及对应的纹理材质等数据的有效存储。在中国地质大学的Quanty View三维地学信息系统软件平台中, 已经成功应用该存储模型实现了海量地质空间数据的存储、调度和可视化, 证明了该模型在海量空间数据存储方面的有效性。
基于要素扩展管理的海量地质空间数据存储模型不仅满足了地质信息三维可视化过程对海量空间数据的实时调度需求, 并且该模型的另一个显著优势是其采用的要素扩展管理关键技术适用于其他空间数据管理领域的海量数据存储并支持后续数据库的扩展。
空间数据存储 篇4
简单的使用方法:1、调用getPreferences()方法得到一个SharedPreferences对象。参数可直接写0,意思为私有。
2、调用SharedPreferences的edit()方法得到一个Editor对象,
3、通过Editor.put...()方法输入数据
4、最后通过Editor的commit方法提交数据。
当我们再次进入程序的时候可以通过SharedPreferences的get....();方法取得保存的数据。然后根据数据做相应的操作。
那么,数据到底放在什么地方了呢?
数据存储 篇5
已申请专利
项目简介:
大数据时代数据存储安全对策探析 篇6
伴随着大数据时代的不断进步和发展,互联网技术、云计算、云存储以及各种网络平台的运用技术逐渐变得成熟,在这样的背景烘托下,我们对数据平台的安全技术要求也变得越来越高,大数据时代中的数据存储安全问题的重要性也变的越来越高。在目前的信息时代中,人们能利用网络方便的记载和浏览各种自己需要的信息。在保存、浏览、记录的过程中会产生如文字、音频、视频、图片等各种大量数据。然而在存储数据的过程中,会由于各种外界因素或者操作不当等造成数据的泄露,从而危及信息存储的安全,给使用者造成了经济损失。所以,数据存储的安全问题成为了大数据时代的主流探讨问题。为了确保在利用大数据时代给我们带来便利的同时避免它所产生的各种弊端,我们必须采取各种措施,不仅要在技术上,而且还要在意识上不断进行革新,进而迎接数据网络时代给我们带来的挑战。
1 大数据时代简介
大数据在各种学科例如物理学、生物学、生态学等以及各种行业例如军事、经济、信息通讯等已经发展了很长时间。目前由于互联网时代与信息时代的双层冲击下大数据平台更加受到了人们的广泛关注。传统的数据处理往往是单一的数据搜集以及整理归纳,而大数据时代中的数据处理更加注重的是对各种数据信息进行合理的搜集、分配、采集、整理并对各种信息进行高效率、高准确性、高质量的处理。随着云计算、智慧城市以及物联网等高科技技术的不断发展,大数据正在以惊人的速度不断的增长。当今时代下的各种智能手机、PC机、平板电脑的产生为大数据的到来更是准备了大量的数据信息。由此可见,大数据不仅是信息技术产业的革命,也将成为经济金融领域的霸头。以大数据时代作为依托的当代信息企业管理模式以及转型后的政府管理模式更是给人们的生活带来了便利。因而成为了社会各行各业利益驱使下的竞争地。大数据时代具有高数据存储量、高数据处理速度、多数据类型、低数据价值“密度”的特征。这使得相关的硬件设备以及软件技术都有很大的进步。大数据功能简图如下:
2 大数据时代给我们带来的存储安全问题
为了给技术工业革命以及经济社会的发展带来福音,我们需要克服伴随大数据时代而来的一些难以预知的各种风险因素。我们将从以下几个方面来探讨大数据存储安全问题:(1)数据存储成为了信息安全攻击的对象。由于现有的安全防护措施的不完善,使得一些隐藏在大数据终端的木马病毒有机可乘给企事业单位及数据服务商带来了巨大的安全危急。隐藏在信息中的木马病毒会进入工厂的安全服务系统,进而提取相关信息从而干预工厂的安全生产。这种安全信息存储的泄露使得大量有价值的信息外传,造成了很大的经济损失。(2)个人信息的泄露。大数据时代给我们带来了很多生活便利,比如购物。不仅商家可以通过网络这一销售手段进行盈利,消费者也多了更多的渠道进行购物。这种“O2O”的模式使得商家大大的降低了销售成本,对资源的合理配置更是有很大的帮助。但是在买家与卖家的交易过程中会形成很多关于资金、个人资料等的信息。这些信息都存储于大型的数据库中。一旦发生数据存储上的漏洞使得个人信息泄露,就会给消费者及商家带来不便,并引发相应的财产损失。(3)网络设施的漏洞。网络的安全性直接关乎了数据存储的安全性。软件本身的漏洞以及网站管理者的自身疏忽都会造成网络漏洞。一些由大数据时代带来的各路黑客会利用这些漏洞对信息数据进行攻击,从而造成相应的安全威胁。
3 大数据存储安全对策
面对各种安全问题的突发,制定相应的对策至关重要。
3.1 技术方面
数据安全存储问题的频发首先是大数据技术的不完善。建立一个健全的大数据安全管理体系势在必行。这种标准化的管理体系能有效的提高信息安全的管理水平以及降低信息安全的风险。面对大数据时代带来的巨大的数据量,我们必须要制定一个最优化的方案来对数据进行快捷有效的处理。开发更多的安全工具来保障系统对数据进行全方位的开发和维护。同时,我们需要不断完善网络漏洞侦查系统,对网络漏洞以及终端的信息存储漏洞进行实时监测,以便于预防信息的外漏。无论是企业单位还是事业单位的信息安全存储管理系统都必须具有高度的安全性作为保障,这样才能更加全面的执行好本单位的任务,产生良好的经济效益。比如,我们可以在公司的信息系统内增加恶意软件的拦截功能。这样可以对日常办公过程中不经意下载的恶心软件进行有效的拦截,从而避免后续安全事故的发生,有效的制止数据的泄露,保护了公司的信息财产安全。
3.2 意识方面
我们需要增强自我信息安全保护意识,注重保护自己的信息不被窃取。在进行日常的网络浏览时,对一些潜在的危机要有一定的认知,防患于未然。政府也应该对一些敏感数据进行相应的监督,加强数据平台的管理力度,避免信息泄露的风暴。同时,媒体作为大众关注的对象,应起到教育指导的作用,对信息存储泄露的危害要不断的宣传,从而帮助公民增强安全保护意识。使得人人都有网络信息安全的意识,进而减少信息存储泄露的现象。
3.3 法律方面
大数据时代的到来使得各种数据被频繁盗出,严重影响了我们的正常生活。从法律层面上来规范各种不正当的行为极为重要。我们需要从法律层面上规范个人隐私的范围,规定相应的个人信息安全尺度,避免例如盗取个人社交网络密码以及跟风的对某事件人物的搜索、曝光。这些都给当事人造成了心理上、生理上的攻击。因此,我们需要建立一套关于数据存储安全的法律体系,对于一些违法盗窃信息危害他人人身财产安全的行为进行严厉的处罚。从而为信息存储提供有力的安全保障。
4 结语
由上述分析我们得出,大数据时代的到来给当代的网络技术产业等带来革新的同时也使得公众的生活更加的便利快捷。我们在庆幸这些大数据优势的同时也要摆脱它所带来威胁。清楚的分析信息存储安全的各种问题,及时的解决各种突发事件十分重要。我们要从公民自身出发、从政府出发、从大众媒体出发不断的提高信息存储安全意识,增加信息存储安全法律知识。不断的进行技术的革新以便适应时代发展的需要,建立正规完整的法律体系对违法行为进行严厉惩处。这样才更有利于我们受益于大数据,不断的发展大数据。
参考文献
[1]王倩,朱宏峰,刘天华.大数据安全的现状与发展J.计算机与网络,2013.
[2]何国锋.电信运营商在大数据时代的信息安全挑战和机遇探J.互联网天地,2014.
[3]施恋林.当大数据邂逅网络信息安全J.通信企业管理,2015.
云存储数据安全 篇7
近几年来, 随着信息技术的飞速发展, 大数据时代的来临, 为云计算大规模与分布式的计算能力提供了应用的空间。云计算解决了传统计算机无法解决的问题, 受到了人们大量的关注和研究, 发展出了更多新型的应用。
一、云计算和云存储
云计算, 最广泛的是分布式计算, 通过网络将处理程序分解为大量的较为简单计算的小程序, 由系统内服务器计算处理得到结果, 发送给用户。由于大量服务器集合协作计算, 用户能在几秒之内就能得到结果, 相当于超级计算机的运算速度。
云存储是由云计算转变过来的一种数据访问服务, 本质上为大数据量运算提供存储和管理。可以简单地理解为数据存放在云端, 经过授权的用户可以在任意地方, 通过网络连接到云存储系统, 可以随时获取和保存数据, 还可以享受网络服务者提供新型的数据业务服务。
云存储集合了分布在不同地域、全国范围、甚至在全球范围的很多存储设备。云存储是一种特殊形式的架构服务, 更新了现有的存储方式。它对使用者来说是透明的, 就像日常生活用水用电一样方便。与传统存储技术相比, 具有以下三点优势:
(1) 灵活方便。用户把数据的创建与维护的工作交给云服务提供者, 仅租用云服务者提供的服务即可, 不用思考哪种型号, 多大容量、设备工作环境等, 避免了购买硬件设备及技术维护而投入的精力, 可以节省下来大量的时间。
(2) 成本低廉。云存储不需购买软硬件等基础设施、节省聘用专业人员定期监控、维护、更新升级等管理费用, 从而节约企业成本。用户把大部分数据保存到云端, 云服务提供者在整个服务周期管理用户数据。
(3) 量身定制。不同的用户会提出不同的信息化应用要求, 不同的信息化应用对存储设备的要求都是不同的。云存储服务会按照用户的需求给出一个非常完善的策略, 以及全方位服务, 最大程度实现用户功能要求和安全。
二、数据安全问题
云存储给用户带来便利的同时也存在体系上的安全隐患。由于云的开放性特点, 云存储数据存在严峻的安全问题。比如数据在上传过程中, 或者数据到达云端后可能受到黑客拦截获取, 导致发生数据泄漏的可能性;或者可能被非法接入, 出现数据被窃取、篡改以及伪造等事件。随着网络技术的发展, 黑客的技术也在发展, 有些黑客甚至可能访问云服务器的root账户, 使用其中数据等。
数据安全问题令人担忧, 但也是巨大的挑战。保障数据的完整性和机密性非常重要, 为了防止云端的数据信息被盗取、篡改等, 或者被内部人员非法泄露, 通常都会对数据采用加密技术。
数据安全存储问题, 必须要做到在保障数据安全的同时也要提高运行的效率。云计算的安全存储在设计时要充分考虑到用户数据的安全性, 可以将用户的数据存储在任何一个存储空间当中, 并且按照数据的存储安全需要, 对存储数据进行加密处理。
三、对称加密算法和非对称加密算法
当今使用比较广泛的的数据加密算法为对称加密算法和非对称加密算法。
对称加密算法也称为传统密码算法, 加密和解密是同一个密钥, 也就是说通信的双方使用同一个密钥对数据进行加密和解密。该算法特点是计算量小、加密速度快、加密效率高。大多数使用在大数据量的数据传输。对称加密算法有典型的DES算法, 还有3DES、IDEA、AES等算法。但是使用同一个密钥加密, 如果密钥泄露, 任何人都可以截获数据对其解密。如果多个通信就会产生大量的密钥对, 通信双方密钥管理和密钥传输就会非常困难。在分布式网络上使用对称加密算法就需要很大成本。
非对称加密算法, 也称为公开密钥算法。它分为两个密钥, 分别是加密密钥和解密密钥, 其中一个密钥公开, 另一个需要保密。使用非对称加密算法时, 只有使用匹配的一对公钥和私钥, 才能完成对数据的加密和解密过程。安全性比较高, 保密性比较好, 公钥传输、发布很方便。但是加密解密速度相对慢, 效率低。非对称加密算法有典型的RSA、DSA等算法。
四、数据加密和解密
对数据加密和解密的过程中, 根据传统加密算法和公开密钥算法特点进行如下配合:
1. 数据加密过程:
首先使用对称加密算法的密钥对数据量大的数据明文加密, 得到密文数据;非对称加密算法加密包含校验信息的对称密钥, 得到加密密钥;这两个数据处理后一起保存在云端。用户只需要保存非对称加密的解密密钥和对称加密密钥即可。
2. 数据解密过程:
对数据进行解密, 首先利用非对称加密算法的解密密钥对对称加密算法的密钥进行解密, 以此来还原的对称加密密钥;然后, 在根据还原的密钥通过对称算法对密文数据进行解密, 从而得到还原的原始数据。
组合加密方式考虑到两种加密方式的优势和劣势, 利用传统加密方式速度快的特点对大量数据加密, 利用公开加密算法安全性较高特点, 加密包含校验信息的对称密钥, 保证传统加密密钥安全存储传输, 避免对称加密密钥管理困难的问题, 同时解决使用非对称的加密算法因运算量大加密速度非常缓慢问题。合理利用两种算法特性, 实现了有效安全的存储数据, 保证了加密解密的运行效率。
五、结论
密码技术是保障数据安全的技术之一, 在现在比较成熟的加密算法基础上, 充分考虑云存储服务的特点, 依靠传统加密算法和公开密钥算法两种算法优劣互补, 保障数据安全, 为云存储服务在应用中的数据安全提供一种安全手段。
摘要:云存储, 是在云计算技术上发展的服务, 为越来越多的用户提供了高效灵活、低成本、便捷的数据存取服务。它链接各种类型的存储设备一起协作完成工作。设备可以分布在全球范围内, 是一个特殊架构的存储容量巨大的计算系统。
关键词:云计算,云存储,信息安全,数据加密
参考文献
[1]张尼, 胡坤.大数据安全技术与应用[M].人民邮电出版社, 2014.
[2]王德政, 申山宏, 周宁宁.云计算环境下的数据存储[J];计算机技术与发展, 2011 (4) .
[3]燕彦勇.信息数据的安全与加密技术的应用[J].试题与研究 (教学论坛) , 2013 (2) .
空间数据存储 篇8
随着通信业务的高速发展和膨胀,电信公司的业务支撑系统(Business Operation Sport System,Bo SS)存储的数据包括越来越多的计费详单、业务处理工单、各种各样的用户帐单、结算数据、以及统计分析数据等;在存储这些巨大的数据后,对这些数据的管理和共享也是一大难题。不难看出,系统本身正面临着信息管理和存储爆炸的挑战,而传统的存储管理方案只能支持单一的应用、服务器和操作系统。
存储区域网络(Storage Area Network,SAN)是一个不断发展的技术,能够为今天的1T管理带来快速的效益。存储区域网络能够提供存储和服务器的统一,以及不受干扰的备份,同时也消除了传统技术的距离限制。此外,与许多传统技术比较,SAN还能大大地改善应用的性能。正是在这样的背景下,作者通过对存储区域网技术和业务支撑系统的研究,综合分析了各种存储方式的优缺点和业务支撑系统的特性,提出了一个完备的数据存储管理解决方案,取得了不错的效果。
2. 网络存储系统结构分析
上世纪九十年代以来,随着网络技术的发展与处理能力的大幅提高,传统的单机数据处理方式被依附在网络上的以数据为中心的数据处理方式所取代,使存储系统与网络系统结合起来,产生了网络存储系统。基本的网络存储系统结构包括传统以服务器为中心的直接连接存储(Direct Access Storage,DAS)、附网存储(Network Attached Storage,NAS)和存储区域网(Storage Area Network,SAN)。
传统的直连存储DAS结构中,将具有块接口的存储设备(如磁盘、阵列)通过专用I/O通道,直接连接到文件服务器上,存储设备相当于服务器的一部分,由服务器提供存储管理与对外服务。在DAS结构存储系统中,数据的传输是以服务器为中心的,可以方便地集中管理数据,具有比较好的数据安全性。但是,客户访问存储系统中的数据时,数据需要在存储设备和服务器间多次转发,尽管文件服务器并不关心数据内容,通常也不对数据本身进行处理,但数据请求与传送都需要文件服务器的介入。当大规模用户进行数据访问时,给服务器的存取转发控制带来非常大的开销,使得文件服务器成为了整个系统中的性能瓶颈,对系统整体读写性能与可扩展性产生很大影响。
NAS是一种以数据为中心的存储结构,存储子系统不再通过专用I/O通道附属于某个服务器,而是通过专门系统的定制,将通用服务器上无关的功能去掉,只保留存储相关功能,可以看成是一台专门负责存储的“瘦”服务器,具有比DAS更高的读写性能。NAS提供文件级数据访问,支持NFS与CIFS网络文件协议,实现异构平台之间的数据级共享,在文件级别上建立安全机制也很容易。但是,NAS没有从根本上改变服务器/客户机的访问方式,因此当客户端数目或来自客户端的请求较多时,NAS服务器仍将成为系统的瓶颈。
SAN对前两种存储系统结构进行了比较大的改进,真正地将存储子系统从服务器上分离出来独立地连接在高速专用网上的,是一种以网络为中心的存储结构,目前典型两种结构是基于光纤通道的FC-SAN和基于IP网络的IP-SAN。客户通过高速专用网与存储设备连接在一起,通过虚拟化软件进行存储系统的集中管理,具有较好的扩展性。SAN中的服务器专门用来存放元数据,元数据描述了数据本身的属性,完成文件到存储设备物理块的映射。客户在访问存储系统时,通过从元数据服务器得到的元数据,直接访问存储设备,避免了传统服务器因转发带来的延迟,使得SAN具有较高的性能。
3. 电信业务支撑系统分析
当今社会,企业信息化,尤其是企业管理信息化的需求已经融入企业的发展战略之中,并成为核心竞争力的重要组成部分。目前电信业务支撑系统BOSS(Business Operations Support System)采取数据大集中的方式,在省级电信公司建立全省的数据存储和应用平台,而像OA、财务等管理系统大多采用的是DAS,并且相互独立。随着企业的发展和新业务的涌现,不仅管理系统中产生的数据越来越多,各种新的增值业务也会需要更多的空间来存储业务和管理数据,而DAS架构的扩展性差将成为数据存储的瓶颈。因此,要从电信业务数据中心的高度来规划存储,同时整合各个系统的“存储孤岛”。基于SAN的数据存储区域网络,建立一个集成的、分级的、便于数据共享的信息平台就是最好的选择。
4. 存储区域网络在电信业务支撑系统中的实现
为满足越来越多的信息系统对数据存储的要求,同时为了更好地构建电信企业数据仓库,通过数据挖掘技术来分析处理电信企业预测、决策问题,建立了如下的SAN数据存储架构。
其中第一层为数据存储层,采用双塔型的磁盘阵列来进行数据存储,其中磁盘阵列1存放在线数据以供前端业务处理系统、财务处理系统进行数据处理;磁盘阵列2存放业务处理系统、财务系统的历史数据或一些有价值的数据。两个磁盘阵列均通过RAID(Redundant Array of Independent Disks)技术来保证存储的更高性能指标、数据完整性和数据可用性。RAID的基本结构就是组合,捆绑两个或多个物理磁盘成组,形成一个单独的逻辑盘。对于RAID来说,在任何有害条件下绝对保持数据的完整性是最基本的要求,此外,数据可用性也是RAID系统的指标之一,数据可用性指的是阵列内部容错能力的水平,数据可用性程度越高,可被理解为当发生越多的部件失效时而数据访问仍不丢失。一个RAID阵列能提供的高可用性级别范围可从简单的磁盘冗余到所有部件的冗余性。
第二层为数据交换层,数据交换层是用两台光纤交换机把存储设备和主机设备连成一个统一规划的SAN。光纤技术成本低,距离长,可靠性高而成为事实上的存储传输标准。SAN在光纤通道扩展、第三方拷贝、远程拷贝、存储虚拟化方面等方面具有很高的性能和灵活性。数据交换层核心是SAN交换机,用于资源网络访问重新定向、实现多种访问协议桥接转换和数据不同格式的转换,并将下层存储方便地按需要分配给异构平台的不同的应用主机使用。从应用的角度来看,SAN是透明的,无需考虑数据最终会存储到哪个物理节点上。
第三层为业务处理及应用层,此层为企业服务器层,运行企业的关键业务,如业务支撑系统、财务系统、MIS系统、DSS系统等。备份服务器可专用来实现各个系统及数据的自动备份与恢复,按照各自设定的策略,定时周期备份把磁盘阵列的数据或服务器上的数据备份至磁带库中。其中磁带库或是光盘库作为在线数据的备份设备,也是离线级的数据存储,一旦在线数据发生损坏,可用磁带库的备份数据进行快速恢复。
第四层为客户端,此层是前端的PC和笔记本电脑,安装企业应用的客户端软件或是利用Web方式,登录到应用系统或是应用服务器中,功能一是业务人员实现对应用系统的基本操作;二是技术人员对应用系统和服务器的运行状态进行监控和维护等工作。
5. 结论
文章通过对存储区域网技术和电信公司业务支撑系统研究,设计并实现了一种电信公司业务支撑系统的数据存储和管理方案。
SAN在BOSS中成功的应用,改变了BOSS的数据存储方式,它是一种人们期望很久却因为技术限制一直无法实现的数据管理和共享方式。通过SAN的管理机制和备份方案,大大提高了数据的可用性、安全性和易管理性。这个方案支持公司业务支撑系统存储未来几年内的需求,提供了网络时代理想的存储与管理方案。
随着通信业务的发展,存储区域网在通信行业内各种系统中的应用推广是很有益处的。在此课题的基础上,可以根据研究成果的实际应用效果,对存储区域网技术进一步研究,探索出更加完善的解决方案和实施方法。
参考文献
[1]张春.电信企业信息化建设的几点考虑[J].电信工程技术与标准化,2005,(1).
[2]何永康.如何搭建运营商级SAN[J].现代通信,2005,(2).
[3]刘书香.建立基于SAN技术的存储网络[J].北京工业职业技术学院学报,2005,(4).
数据仓库中数据存储与访问的实现 篇9
数据仓库的概念自出现后,首先被应用于金融、电信、保险等传统数据处理密集的行业。国外许多大型的数据仓库在1996-1997年建立。随着工业竞争的加剧,数据仓库已成为营销的必备武器----一种通过更多地了解客户需求而保住客户的途径。
1 数据仓库研究现状
OLAP (On-line Analytical Processing) 是面向特定问题的联机数据访问和分析,它主要用于支持目标明确但比较复杂的查询分析操作[1]。目前数据仓库数据存储的实现主要有三种模式,一是单纯的关系数据库存储即ROLAP (Relational OLAP) ,二是多维数据库存储即MOLAP (Multidimensional OLAP) ,三是关系数据库和多维数据库的混合型存储[2]。第三种模式在国内已经开始广泛应用,但还存在存储效率低,访问权限难以控制等问题。
目前,我国很多商业银行都尝试构建了应用于某一方面的数据仓库系统,数据仓库的构建几乎都是基于ROLAP来实现的,绝大多数是用Microsoft SQL Server完成的。对于汇总数据和历史数据的访问及访问速度的要求,还是有些欠缺。
2 一种高性能的技术--HOLAP
根据OLAP的自身特点,它主要就是对用户请求的快速响应和交互式的操作,多维分析则是OLAP的核心所在。OLAP系统在具体实现时首要解决的是如何存储数据的问题。数据的存储有三种方式,即ROLAP、MOLAP和HOLAP (Hybrid OLAP) ,HOLAP是对他们的良好折中。它得益于ROLAP较大的可伸缩性和MOLAP的快速计算。MOLAP的查询性能很好,它可以很好地解决对于历史数据和汇总的查询问题,它的分析能力很好,这正是数据仓库应用系统所应有的特点。MOLAP多数用于存储那些历史的、聚合的数据,当要查询一些细节数据时,就要选择ROLAP这样才能满足需求,更好地完成查询分析任务。
3 改进后的存储模式
在考虑到实际应用和用户需求的基础上,可以基于关系数据库和多维数据库共同来搭建企业级的数据仓库。实现的方法是把聚合的、历史的数据存储在多维上,明细数据存储在关系数据库中,各取所长,达到事半功倍的效果,基于这两种存储方式实现的即HOLAP。
与之前的应用模式不同的是数据平台的数据仓库是用关系数据库和多维数据库共同组建的。关系数据库选择了由IBM DB2 UDB完成,多维数据库则选择了Essbase/DB2 OLAP Server来完成。数据展现平台用Java实现,基于MVC设计模式实现,并将该平台分为Web层、服务层和数据访问层。由于要访问不同的数据库系统,所以要区别对待,访问关系数据库数据则采用开源的Ibatis框架,将各种SQL语句存放在配置文件中进行统一维护通过JdbcDao访问关系数据库;对于多维数据库数据, DB2 OLAP Server的多维数据集访问的脚本语言的接口也提供了Java接口,由于数据展现平台是用Java开发的,所以我们可以直接访问多维数据库。但是在实践过程中证明,通过这种方式访问多维数据库的速度是相当的慢,之后尝试使用我们最熟悉的C,采用Java原生接口来实现对多维数据库的访问,它是通过Essbase/DB2 OLAP Server的C接口访问多维库的。使用C后效果则截然不同,如果将采用Java访问多维库的系统称为原有系统,将采用C访问多维库的系统称为改进系统。
4 结束语
本文对于我国的数据仓库的应用模式提出了将历史的、聚合的数据存放在多维库中,将细节数据存放在关系库中的存储方式,并采用C接口访问多维数据库,采用Ibatis框架访问关系库的改进方案。改进后更适合于对汇总数据及历史数据的查询,并提高了数据访问速度。
摘要:从分析国内外的数据仓库应用现状入手, 指出银行在应用数据仓库过程中存在的存储效率低, 访问权限难以控制等问题。然后基于对数据存储的分类, 提出关系数据库和多维数据库混合存储的方法, 测试表明该系统达到节省存储空间和提高访问速度的效果。
关键词:数据仓库,商业银行,联机分析处理
参考文献
[1]颜石专, 李战怀.基于数据仓库和OLAP的商务决策系统[J].微电子学与计算机, 2006, 23 (2) :64-67.