数据库编程与存储技术
数据库编程与存储技术(精选6篇)
数据库编程与存储技术 第1篇
随着计算机的普及应用,计算机应用软件得到了快速的发展,从某种意义上来说,计算机之所以能够在各个领域中得到应用,很大程度上就是因为相应的应用软件,根据各个行业的特点,软件公司都开发了针对性的应用软件,通过这些软件的使用,能够给实际的工作带来方便,提升工作的效率,例如在工业自动化中,现在的计算机技术已经具有一定的智能性,可以代替人来进行操作,这种方式出现错误的几率很低,而且计算机不需要休息,生产效率得到了大幅提高,在计算机软件中,尤其是一些大型的软件,数据库是软件的核心内容,因此在计算机软件编写过程中,数据库编程和存储技术,也是一个核心内容,受到我国特殊历史原因影响,我国的软件行业发展较慢,因此数据库编程和存储技术的核心都掌握在西方发达国家手中。
1 数据库存储技术简述
1.1 数据库存储技术的概念
数据库的发展很大程度上依赖于计算机性能的提升,在计算机出现的早期,并没有数据库的概念,当时计算机的性能很低,只能进行一些简单的数字运算,体积也非常庞大,还没有数据存储的概念,随着晶体管和集成电路应用在计算机制造中,计算机的性能得到了大幅的提升,开始在各个领域中进行应用,当计算机被用于数据管理时,尤其是一些复杂的数据,传统的存储方式已经无法满足人们的需要,在这种背景下,DSMS诞生了,这种数据库管理系统在当时看来,是数据库管理技术的一次革命,随着计算机性能的提升,逐渐出现了SQL、Oracle等,在传统的数据库编程中,由于数据库编写的时期不同,使用的编写语言也有一定的差异,目前常使用的软件有VB、JAVA、VC、C++等,利用这些编程软件,都可以编写一个指定的数据库,由于每个软件自身都有一定的特点,因此不同领域的数据编程中,所选择的编程软件业有一定的差异。
1.2 数据库存储技术的发展
数据库的概念最早可以追溯到20世纪50年代,但是当时数据库的管理,还处于传统人工的方式,并没有形成软件的形式,因此并不能算数据库存储技术的起源,在20世纪60年代中期,随着计算机存储设备的出现,使得计算机能够存储数据,在这种背景下,数据管理软件诞生了,但是受到当时技术条件的限制,只能以文件为单位,将数据存储在外部存储设备中,人们开发了带有界面的操作系统,以便对存储的数据进行管理,随着计算机的普及应用,计算机能够存储的数据越来越多,人们对数据库存储技术有了更高的要求,尤其是企业用户的增加,希望数据库存储技术能够具有很高的共享能力,数据存储技术在这一时期,得到了很大的发展,现在的数据库存储技术,很大程度上也是按照这一时期的标准,来进行相应的开发,随着数据库自身的发展,出现了很多新的数据库存储技术,如数据流、Web数据管理等。
1.3 数据库存储技术的作用
数据库存储技术的出现,对于传统的纸质存储技术来说,具有革命性的作用,由于纸质存储数据的方式,很容易受到水、火等灾害,而造成数据的损失,人类文明从有文字开始,就记录了大量的历史信息,但是随着时间的推移,很多数据资料都损毁了,给人类文明造成了严重的损失,而数据库存储技术就能够很好的避免这个问题,在数据库的环境下,信息都会转化成电子的方式,存储在计算机的硬盘中,对于硬盘的保存,要比纸质的书籍等简单的多,需要的环境比较低,最新的一些服务器存储器,甚至具有防火的性能,而且数据库中的数据,可以利用计算机很简单的进行复制,目前很多企业数据库,为了最大程度上保证数据的安全性,都会建立一个映像数据库,定期的对数据库中的信息进行备份,如果工作的数据库出现了问题,就可以通过还原的方式,恢复原来的数据。
2 数据库编程与数据库存储技术的关系
2.1 数据库编程决定数据库存储的类型
通过对计算机软件的特点进行分析可以知道,任何软件要想具有相关的功能,都需要在编程过程中来实现,对于数据库程序来说也是一样,在数据库编程的过程中,能够决定数据库存储的类型,根据应用领域的不同,数据库存储技术也有一定的差异,如在电力、交通控制等领域中,应用的大多是实时数据库,而网上的视频网站等,大多采用关系数据库,其次还有商业数据库、自由数据库、微型数据库等,每种数据库的出现,都是为了满足实际应用的需要,虽(下转第136页)(上接第134页)然在不同历史时期,一种数据库成为主流,但是对于数据库程序的编写者来说,这些数据库的编写并没有太大的差异,虽然不同的程序编写人员,由于所受教育和习惯的不同,在实际编写的过程中,使用的程序编写软件不同,但无论是VB、VF还是C++等,都可以实现每种数据库类型的编写,从某种意义上来说,数据库类型的确定,通常是在软件需求分析阶段中进行设计,然后在数据编程阶段来实现,但在实际编写的过程中,设计阶段经常会由于考虑问题不全面,导致设计存在一定的问题,编写人员在实际的编写时,如果发现数据库存储类型不是最佳的,就会修改程序设计的方案,对数据库程序进行一定的优化。
2.2 数据库存储技术是数据库编程的核心
对于数据库程序来说,最重要的功能就是存储数据,通常情况在,一个数据库程序会分成几个模块,其中核心模块就是数据库存储技术,而其他的模块是执行对数据库中数据的录入、修改、调用等功能,虽然这些功能缺一不可,但是作为数据库程序的核心,数据库存储技术在程序编写阶段中,就应该受到编写人员的足够重视,在实际的数据库编程中,大多编写人员都会注意到这个问题,在编写数据的录入、修改和调用模块时,都会以数据存储技术为核心,如果能够提高数据存储的效率,可以对其他模块进行修改,如果不按照这个思路来进行数据库编程,那么编写人员可能会为了数据录入的方便,而修改数据库存储的类型,虽然提高了数据录入的效率,但是数据的安全就得不到保证,对于大型复杂的数据库,数据的存储效率和管理非常重要,数据的录入、修改和调用,都不是数据库的核心内容,因此只有将数据库存储技术作为数据库编程的核心,并在这种思想下进行程序的编写,才能够使编写的数据库程序工作效果最佳。
3 结语
随着软件行业的发展,程序设计已经成为了一个热门的行业,各种高级语言的出现,极大地方便了程序的设计和编写,可视化编程软件的出现,使得一些没有专业编程知识的人,也能够编写一些简单的小程序,但是通过本文的分析可以知道,对于重要的大型软件来说,数据库通常是软件的核心,数据库存储技术是数据库的核心,要想使数据库工作效率达到最大,只有在数据编程过程中,结合数据库应用的领域,选择一个最佳的数据库存储技术,然后以这个存储类型为核心,来进行数据的编写工作。
参考文献
[1]董慧群,王福明.基于LabWindows/CVI的数据库编程[J].山西电子技术,2011(04):55-56.
[2]吴敏宁,高楠.Delphi数据库编程开发[J].电脑知识与技术,2009(11):2882-2883.
数据库编程与存储技术 第2篇
矢量地图数据存储与管理技术是嵌入式GIS系统的重要研究内容,结合电子地图工作模式和地图数据访问特点,在常见的图幅分块和数据分级基础上,提出建立实体附加检索数据区和实体详细属性数据区;同时引入超块单元,并对超块内地图数据重新组织,从而使得人机交互时,数据定位时间缩短,数据读取冗余量减少,矢量地图操作性能表现更好.
作 者:胡泽明 岳春生 王志刚 HU Ze-ming YUE Chun-sheng WANG Zhi-gang 作者单位:信息工程大学信息工程学院,郑州,450002刊 名:测绘科学 ISTIC PKU英文刊名:SCIENCE OF SURVEYING AND MAPPING年,卷(期):200934(4)分类号:P282关键词:嵌入式地理信息系统 图幅分块 数据分级 超块单元
★ linux系统备份MySql数据库的方法(MyISAM和InnoDB)linux操作系统
★ iOS开发:用SQLite3存储和读取数据
★ 如何结合云存储来做数据分析和数据挖掘?
★ MySQL 5.0新特性教程 存储过程:第一讲MySQL5
★ 土壤电导特性及影响因素试验研究
★ 高效降氰菌的筛选及其特性研究
★ 无法枚举证书存储
★ 电视节目的存储及管理
★ 物流车辆监控系统的数据组织研究
数据库存储技术的应用与分析 第3篇
1 数据库存储技术分析
1.1 数据库存储技术的概念
数据库存储技术是随着计算机的发展, 逐渐兴起的一门技术, 在计算机发展的早期, 受到计算机体积和性能的限制, 能够存储的数据很少, 还没有形成数据库的概念, 随着信息产业快速的发展, 从摩尔定律可以知道, 半导体加工业每隔十八个月, 加工工艺就会翻倍, 而生产成本保持不变, 而现代信息产业正是建立在半导体的基础上, 因此可以从侧面的反应出计算机发展的速度。随着晶体管和集成电路的使用, 计算机的体积减小了很多, 同时极大的提高了其性能, 计算机能够处理的任务越来越复杂, 在实际应用需要的基础上, 计算机语言和存储设备等, 也得到了极大的发展, 为了处理更复杂的任务, 计算机必须能够存储更多的数据, 因此存储设备的空间从最初的MB变成GB, 直到现在的TB, 随着数据存储量的增加, 如何对这些数据更好的进行管理, 成为了很多专家和学者研究的问题。
1.2 数据库存储技术的特点
与传统的纸质存储方式相比, 电子化的存储方式, 具有鲜明的特点, 首先就是占用的空间比较小, 一块小小的硬盘, 存储空间就可以达到GB的级别, 能够存储几个图书馆的所有数据, 而且数据的备份等非常方便, 可以利用计算机自行的完成, 只需要很少的等待时间。存储技术作为一种数据管理的技术, 对于信息化的数据来说, 具有非常重要的作用, 在传统的数据库存储中, 没有响应的存储技术, 要想调取指定的数据, 需要很长的时间, 数据的存储效率很低。
2 我国数据库存储技术的现状
考虑到数据库存储技术的重要性, 近些年我国非常重视存储技术的发展, 现状我国已经成为了世界第二大经济体, 整体的经济水平有了很大的提高, 但是通过实际的调查可以知道, 我国的产业结构较差, 农业和工业比较发达, 而信息产业的水平较低, 目前我国市面上的信息设备, 大多都是国外的公司生产的。虽然我国使用的都是国外的存储设备, 由于存储技术的重要性, 我国投入了大量的人力和物力, 对其进行研究, 根据我国数据库产业的实际情况, 与外国的一些科技公司合作, 建立了很多大型的存储中心, 为了更好的存储的数据进行管理, 从国外引进一些先进的存储技术, 极大的提高了实际的管理效率。
3 数据库存储技术的应用分析
3.1 硬件方面的应用
要想实现数据的存储, 必须有相应的硬件设备, 以及软件方面的存储技术, 而硬件作为存储的基础, 能够直接决定实际存储的效率等。为了最大程度上提高存储的效率, 人们在存储设备的基础上, 添加了相应的高速缓存环节, 由于硬盘长时间的运转, 存储的效率会逐渐的减小, 而计算机在实际的工作过程中, 硬盘需要时刻的运转, 如果增加一个缓存部分, 数据就可以先存放到这个缓存中, 当积累到一定的程度后, 一起写入到硬盘中。这样的存储技术可以很好的保护硬件设备, 对于数据库来说, 具有非常重要的作用, 目前的数据库存储技术中, 都会采用类似的设备, 对硬盘进行保护, 同时在一定程度上提高存储的效率, 从某种意义上来说, 添加的这些缓存设备, 也属于存储技术的范畴, 如果能够充分的利用这种技术, 就可以很好的提高数据库的性能。
3.2 软件方面的应用
数据库存储技术, 主要就是软件方面的应用, 通常情况下, 在数据库建设之前, 硬件设备的型号都已经固定了, 数据管理和存储的效率, 基本已经固定了, 要想进一步提高数据存储的效率, 只能通过优化软件技术, 如改变数据存储的结构, 以及写入和读取的方式等, 这样可以再一定程度上提高数据库的性能。与硬件改造提高数据库性能的方式相比, 软件技术的优化, 显然具有鲜明的特点, 首先就是成本比较低, 由于不需要完善硬件设备, 可以节省大量的资金, 虽然存储技术的优化, 也需要支付一定的成本, 但是与硬件设备的费用相比, 显然就要低很多, 因此现在的数据库建设中, 非常重视存储技术软件方面的优化, 都会采用一些先进的技术, 最大程度上提高数据库的性能。
4 结语
通过全文的分析可以知道, 随着计算机的普及应用, 数据库作为数据管理的方式, 在计算机的正常工作中, 就有非常重要的作用, 现在已经进入了信息时代, 信息设备的使用, 极大的提高了工作的效率, 在这种背景下, 数据库存储技术非常受到人们的重视, 考虑到我国技术水平较低, 目前使用的存储设备, 都是由国外的公司生产的, 要想提高我国数据库应用的情况, 必须从硬件和软件两个方面, 对存储技术进行优化。
摘要:考虑到数据库存储技术的重要性, 我国投入了大量的人力和物力, 对其进行研究, 本文在数据库存储技术概念和特点的基础上, 结合我国数据库建设的实际情况, 从硬件和软件两个方面, 对数据库存储技术的应用, 进行了深入的研究, 希望能给实际的存储技术应用, 提供一定的参考。
关键词:数据库,存储技术,存储结构
参考文献
[1]李元, 王伟.我国大陆体育科学研究国际化进展考察——基于WOS数据库的文献计量分析[J].成都体育学院学报, 2013 (01) :14-21.
[2]董慧群, 王福明.基于LabWindows/CVI的数据库编程[J].山西电子技术, 2011 (04) :55-56.
数据库编程与存储技术 第4篇
1.云计算与云存储的概述
云计算是指通过互联网进行动态的扩展且为虚拟化的资源,随着互联网相关服务的增加,按使用量付费的模式。网络的数据传输功能发展迅速,使得计算机逐渐组成了一个相互关联的集群,并且由统一的数据处理中心进行资源的调配和处理。其具有规模大、形式虚拟、兼容性强等特点。云计算中的关键环节在于云存储,其具有集群应用和分布式文件系统等功能,将网络中不同类型的存储设备通过应用软件进行组合工作,为用户提供业务访问等服务的系统,属于云计算衍生出的新兴的网络存储技术。当云计算系统需要存储和管理大量数据时,系统需要配置存储设备,此时,云存储成为主要进行数据存储和管理的核心云计算系统,方便用户随时随地,通过任何可联网的装置进行信息数据的存取。
2.云数据存储结构
云计算环境下数据存储结构利用了先进的互联网技术,实现了按照用户的网络需求来分配资源。与传统的数据存储结构比较,从服务和实际应用的角度分析,云数据存储是一个硬件的同时还是由客户端程序、访问接口、软件、服务器等设备组成的存储系统。
云数据存储结构通过云计算系统中的应用软件为用户提供数据存储及业务访问等服务,其中,存储层是云数据存储结构的最基层,其主要内容包含存储管理和虚拟化设备,存储层中的存储管理系统用于对硬件设施的维护和升级等功能。管理层是云数据存储结构的核心层,其通过分布式文件系统和集群管理技术进行内容分布和数据备份,具有良好的拓展性,还可以完成云存储系统中的数据加密等任务,符合用户对信息可用性及存储功能的需求。接口层属于云数据存储结构中的重要组成部分,其应有与云计算系统的结构开发与应用,供应商包括网络接入、身份论证、权限管控、应用软件接口等部分,供应商通过接口层为用户设置统一的编程,方便用户自主开发应用程序。云数据存储结构的顶层为访问层,其主要是系统应用程序的入口,用户通过访问层进入云计算系统,实现系统中的资源共享。
3.云计算环境下数据存储安全及其关键内容
3.1 云计算环境下数据存储安全
云计算在其实际应用中存在用户信息遭泄露等不安全问题,因此,云计算环境下数据存储安全问题是当前计算机技术发展过程中面临的挑战。为了降低企业中事务的使用成本,减少繁琐的工作程序,就需要在云数据存储的过程中,确保其安全可靠性,使的云计算系统提供优质的服务。在云计算技术的背景下,通过服务式的操作和存储数据,保证数据的稳定性。虽然个体用户使用的数据由提供商管理,用户存储和使用数据是借助网络服务的,但其数据的安全性也需要由云计算系统统一负责。可以将计算机的使用过程看成一个节点,当这些节点出现安全隐患问题时,就需要采取不同的手段对其进行访问和使用,即保证云计算中的安全存储与数据的传输、恢复联系起来,并且得以稳定的发展。
3.2 云计算环境下数据安全的关键内容
云数据安全的关键内容包括数据传输安全,其主要指在云计算的服务下,用户将数据传输给云计算系统服务商,由服务商进行数据的处理工作。其间,云计算需要确保用户的数据在传输过程中被加密,保证不被泄露。服务商获取用户数据后,按照行业要求进行保存,服务商还需要做到对用户进行权限认证之后再给予访问数据的权利,访问的对象只能访问自身的数据。云数据安全的关键内容包括数据存储安全,其主要指实现系统中存储数据资源共享的模式,在云计算系统服务下,服务商采取必要的手段隔离不同的数据。当用户准确知道其数据存放位置的情况下,服务商还需要保证对用户托管的数据进行了有效的备份,以防出现突发状况时,数据的丢失,云计算服务商需要最大限度地保护用户的数据,使其恢复到初始状态。在系统中,数据的残留极易泄露用户的信息,因此,云计算服务商需要保证为用户提供数据的安全性。云数据安全的关键内容还包括数据审计安全,通过云计算的服务模式,服务商为用户提供必要的信息支持,并且不对其他用户的数据造成威胁。云计算的服务费为保证数据的安全,需要协助第三方机构准确地对数据安全进行审计,保证用户的信息安全性,同时也促进云计算服务系统的健康长远发展。
4.基于云计算的数据存储安全技术
云计算环境下数据存储在保证数据运算效率的同时还需要确保其安全性,因此,服务商在为用户提供云存储服务时,需要对其信息进行加密保护,保证用户的数据出现在任一存储空间中,非授权用户看到的是无序的乱码,确保用户的个人信息不被泄露。在保证云计算服务商真实可信的前提下,需要将提高云计算的系统运算效率和安全性作为主要任务,探宄出适合互联网信息技术发展的数据存储安全技术。
4.1 数据加密技术
目前我国的云存储系统保护隐私数据的能力有限,为保证云存储数据的完整性,用户在使用互联网的同时也需要对自身信息进行有效的加密。云计算系统用户需要提高信息安全意识,加强数据的密钥管理,通过科学的数据加密技术保障云存储系统数据的安全性,提高其使用效率。用户在进行数据加密的过程前,对应的加密算法公钥需要用户端从密匙库中提取,之后应用对称加密的算法,形成具有校验信息的密钥。其中具备校验信息的密钥可以通过非对称的加密算法进行处理,确保其安全性,最后处理好的信息数据作为数据包储存于云端中。在重复加密过程中,保证所有的数据包完成数据加密的行为,方可截止,形成数据加密的全过程。
4.2 数据隔离技术
在云计算模式的背景下,用户将随意摆放系统中的数据存储结构,因此,会出现多个用户将数据存储于同一个虚拟服务器中的现象。出现此类情况时,用户需要使用数据隔离技术,将自身的信息与其他用户的信息有效的隔离开,保证云计算环境下数据存储的安全性。
4.3 访问权限控制
当用户将数据上传至云计算数据存储系统后,云计算系统的提供商将享有访问该数据的优先权。如果用户需要限制服务商的访问权限,在上传个人数据的同时,需要将该数据的访问优先级别设置为自己,以此确保自身数据在云计算环境下数据存储的安全性。
4.4 数据加密传输
各类数据在云计算系统中的传输是必不可少的,因此,其在传输过程中的安全性是当前面临的大考验。数据的加密传输是指在数据的传输过程中在网络链路层、传输层等区域使用加密技术,以此确保用户数据的可用性和完整性。在数据传输的前期,通过加密协议为用户的数据传输提供加密通道,在数据传输的后期,则采用必要手段防治非法用户对数据的窃取,进而维护用户的数据安全,保证云计算环境下的数据加密传输。
5.结语
数据库编程与存储技术 第5篇
无线传感器网络是由部署在监测区域内大量的廉价微型传感器节点组成,节点之间能够协作地感应、收集、处理和传输网络覆盖区域中感知目标的信息,并发送给信息收集者。图1是经常被引用的一个典型的网络架构[1]。传感器节点部署在一个目标区域中,传感器节点测得的信息通过多跳的方式传送到汇聚点,通过汇聚点连入,最后接入任务管理节点。任务管理节点具有人机界面,可以进行干预,遥控和管理。
2 感知数据中心存储技术
传感器网络中的数据存储方式一般分为3种[2]:1)外部存储:数据集中存放在传感器网络外的中心处理设备(基站或网关)上。2)本地存储:感知数据产生后即存放在产生它的传感器节点。3)数据中心存储(Data-Centric Storage,DCS):给感知数据命名,根据感知数据名字存放在传感器网络中指定的位置。
感知数据存储方式不同,网内数据管理的能耗也有所不同。文献[3]对3种存储方式下的网内能量消耗情况进行了分析比较如表1所示。其中,n为网内节点个数;Dtotal为监测到的感知数据总个数;Q为查询个数,每个查询对应1个报文;Dq为Q个查询返回的结果数据个数,每个数据对应1个报文。
通过比较3种存储方式可知:网络规模较小时,感知数据的查询频率远高于数据产生频率,外部存储方法是适用的。当网络规模较大,感知数据的产生频率高于查询频率,采用外部存储易产生通信热点,本地存储和数据中心存储方式更适用。随着网络规模的继续扩大,当Dq>>Q并且查询存在聚合运算时,数据中心存储方式的性能高于本地存储方法。
3 查询处理技术
传感器网络的数据查询是根据用户的需求,通过一定的执行策略,将查询语句或者查询数据包发送到数据源,取得数据结果,进行处理后返回给用户的过程。
传感器网络的数据查询包括两个阶段[4]:查询注入传感器网络的阶段与收集数据并返回给用户的阶段。如图2所示,查询注入传感器网络的阶段包括如下过程:用户提交查询请求、查询解析、查询优化和查询分发。当这个阶段执行完毕,用户提交的查询请求被解析与优化成有效的查询计划,并发送到传感器节点,为下一步数据收集工作做好了准备。
数据查询的第二个阶段是收集数据与返回查询数据给用户。图3给出了这个阶段的典型描述。
传感器网络的查询过程如图4所示。
4 查询的优化
查询优化的目标是最小化传感器网络的总能量消耗,本文采用基于代价的查询优化方法来产生能量消耗最低的查询执行计划。当传感器网络系统接收到一个查询请求(如SQL语句)的时候,该查询请求首先被解析,然后传递给查询优化器,查询优化器的作用是生成一个高效的查询执行计划,查询计划当中会说明查询中不同操作(如join,selection,Projection)的执行顺序然后对每一个不同的操作使用某一具体的算法(如sort-merge join,hash-join)来实施。为了评估一个查询执行计划的费用,优化器必须依赖数据库中各类数据的有关统计数据,如关系的大小,域的大小,谓词(predicates)的选择等,最后最优的查询计划被传递给查询执行引擎加以执行。查询引擎负责查询执行,查询的代数是一种逻辑表示,要在具体的节点上实施查询,还必须将逻辑的代数表示转换成物理的查询计划或命令。
4.1 采样-选择-聚集的优化
为了省能量,我们将查询下推至节点执行。节点对查询操作的执行顺序不同对应的能量消耗也不同。传感器的能量消耗主要集中在通信和采样,在不影响正常查询执行的条件下,不仅要压缩数据量的传输,减少通讯能量消耗,还要应用尽量减少采样次数等有效方法,降低采样能量消耗。
如何减少采样次数也是延长节点寿命的关键,如果查询语句中的某项操作不仅可以影响到其他的许多操作,而且相比较而言执行该语句所消耗的能量较少,那么就应该考虑调整该谓词的执行顺序[5],下面以非聚集查询为例进行讨论:
规则1:当选择条件中无采样属性判断时,则应先判断选择属性的真值,如果为真,则采样投影操作中的采样属性。
规则2:当选择条件中的属性包括采样属性时,按照属性的采样能量排列,从小到大的顺序采样,每采样一个属性则判断相应的谓词表达式,看是否能决定选择条件的真值,如果能,则排在其后面的采样属性,如果在后续操作中没有涉及到,便不用采样,否则继续采样后面的属性。
举例说明查询1:采集温度大于20℃且光小于100的温度和光值。
该查询有3种查询计划:
计划1:先将光和温度进行采样,然后再执行WHERE选择操作语句;
计划2:先采样温度的值,然后执行WHERE语句中的temperature>20℃字句,若满足该语句条件,采样光的值,最后执行WHERE语句中的light<100字句;
计划3:先采样光的值,然后执行WHERE语句中的light<100字句,若满足该语句条件,采样温度的值,最后执行WHERE语句中的temperature>20℃字句。
通过实际测量得知,采样一次温度所消耗的能量大于采样一次光所需能量。由于光和温度都在WHERE语句中出现,因此计划3是最优方案,在一定程度上可以减少采样能量大的温度传感器采样次数。
4.2 基于事件查询的优化
下面是一个基于事件的查询实例:
这个语句中的e(nodeid)是一个事件:标志为nodeid的传感器节点检测到一个感知数据。上述查询语句表示,每当事件e发生一次,这个查询都将会触发查询语句(称为触发查询)连续执行k秒,每隔d秒进行一次。把触发查询的一次执行称为该触发查询的一个实例。
根据基于事件查询的定义,在一个时刻可能同时运行某一基于事件查询的多个相同的实例。如果这些相同的查询实例的运行时间足够接近,那么基于事件的查询处理就存在一个明显的问题,即同一查询的多个查询实例可能同时执行相同的采样操作并传送相同的结果,从而浪费大量的能源。为了解决这个问题,可以利用一种基于重写(rewriting)的多查询优化技术。这种技术把多个外部事件转换为一个事件流,并将独立触发查询集合改写为一个在events和sensors之间进行的事件流的滑动窗口连接,窗口的大小是k秒,但在传感器流上没有窗口。例如:
这种方法的优点是不论类型为e的事件以什么样的频率发生,同时只有一个查询在运行。这样就可以潜在的节省大量相同采样和传送相同查询结果的能量开销.
5 小结
无线传感器网络融合了传感器技术、嵌入式计算技术、分布式信息处理技术和无线通信技术,能够实时监测、感知和采集各种环境或监测对象的信息,并对其进行处理,传送到这些信息的用户。本文针对无线传感器网络中的数据的特点,对无线传感器网络数据的存储、查询及其优化技术进行了深入的探讨,以期提供一些有益的参考。
摘要:无线传感器网络具有布线成本低、监测精度高、容错性好、可远程监控、便于诊断与维护等众多优点,在军事、生态环境保护、工程监测和医疗卫生等领域有着广阔的应用前景,其根本任务是准确获取物理世界的有价值信息。本文对无线传感器网络进行简要的介绍,详细研究了无线传感器网络的数据存储与查询技术。
关键词:无线传感器网络,数据存储,数据查询,查询优化
参考文献
[1]Akyildiz LF,Su WL,Sankarasubraniam Y,Cayirci E.A survey on sensor networks.IEEE Comunications Magazine,2002,40(8):102-114.
[2]Ratnasamy S,Karp B,Yin L,et al.Data-centric Storage in Sensor nets with GHT,A Geographic Hash Table[J].Mobile Networks and Applications,2003,8(4):427-442.
[3]Ratnasamy S.Data-centric Storage in Sensor nets[C].Proc.of the 1st Workshop on Sensor Networks and Applications.Atlanta,GA:ACM Press,2002:1-14.
[4]潘群华,李明禄.无线传感器网络中的数据查询[J].小型微型计算机系统,2007,8(8):1357-1361.
数据库编程与存储技术 第6篇
1 web服务的简介
1.1 web服务的发展过程
Web服务的发展经历了十分漫长的过程, 大概可以分为四个阶段:TCP/IP阶段, 在网络设备以及各种通信协议中的到应用;在HTML (超文本标记语言) 中通过其强大的B/S的特性, 可以使用HTML标签显示数据;因为JAVA本身就是跨平台运行的, 所以很多的web服务技术是通过JAVA来进行编写的;XML (可扩展标记语言) , 通过通用数据的表达, 使得结构化数据在web上传送变得更加容易。
1.2 web服务的基本定义
web服务是一种模块化、松散耦合的、可重复使用的、自治的一种服务。当今web服务的研究方向分为两个方向:学术研究和商业运行, 学术研究指的就是各个研究所以及科研机构的研究, 对web服务进行创新和前卫的研究。而所谓的商业运行指的就是把web服务用于盈利。[2]比如阿里巴巴的阿里云, 百度的百度云等现在流行的云技术都是web服务技术。
Web服务主要是通过URI来对软件程序进行识别, 使其他程序在Internet上通过对外借口对其进行访问。通过借口, 我们可以找到入口的物理位置, 以及此时的状态, 此外通过端口可以交换信息。例如, 在人工智能中搜索中国和美国汇率的换算问题时候。
1.3 web服务的网络体系
在商业运行的web服务中主要要有以下技术的支撑:通用描述发现集成 (Universal Description, Discovery and Integration, UDDI) , 简单对象访问协议 (Simple Object Access Protocol, SOAP) , web服务标记语言 (Web Service Description Language, WSDL) , web服务流语言 (Web Service Flow Language, WSFL) 。通过这些技术的支持才能够使得商业运行的web服务快速的发展, 并且取得了一些令人骄傲的成就, 但是其还是存在一些缺点, 比如通信之间的语义的表达的不准确, 这是由于web服务还处于发展的阶段, 各种语义以及格式的规范还没有完全成型, 这是发展过程中所必须经历的一部分, 相信经过长时间的发展会使得的这些不便能够得到改善[3]。如表1所示, 各个层次之间的关系, 越高的层次越是依赖于下面的层次, 当下面的得以实现的时候, 上面的通信才能够正常的运行。最下面的一层即通信层和传输层, 其中包括网络中使用很多的协议, 如http, ftp。上面的5层就是web服务中所要用到的协议, 各层会在下面进行详细了介绍。其中这些要求都代表了每一层次的最高要求, 即各层都必须满足的服务管理、服务质量和服务安全, 在系统的半自动迁移里面这些体现的特别明显[4]。
表1 web服务协议栈
SOAP简单访问对象协议, 主要是进行数据交换服务的, 这其中主要是通过XML服务来进行的, 通过SOAP这样的协议的框架, Internet上的服务以及资源都能够串联起来以达到共享的目的。WSDL即web服务标记语言, 是用来对SOAP服务进行解释和说明的, 相当于程序的一个软件文档。WSDL对于web服务来讲是十分重要的。其中一般会描述常用的数据类型、消息的格式、方法名称以及一些参数等, UDDI统一描述、发现和集成是一种在广阔的web服务空间里能够相互发现的一种机制, 其原理是一个简单的搜索引擎, 但是最重要的是, 通过编程能够对其的方法能够极大的扩充[5]。
2 web服务组合的介绍
当单个的web服务不能满足需求时, 多个的web服务就可以通过相应的机制就能够组合起来, 这就构成了web服务组合。[6]通过对早期研究成果的分析, Web服务组合的研究可以简单的按照组合的时机划分成静态组合和动态组合两种。静态组合是事先预测客户的需求, 以此建立对应的组合好的服务, 并提供给用户直接调用。[7]动态组合是根据运行时具体的客户需求, 动态的利用当前可用服务组合出合乎需求的服务供给用户使用。[8]如图2所示, 1到7作为一个应用程序对空间中的web的服务进行相对于的选择性调用, 所有的web服务组成了web服务应用池, 也就是web服务组合。
2.1 基于语义web服务组合
基于语义的Web服务组合是一个新兴的研究领域, 依照组合方案生成方式可将其分为两大类:静态组合和动态组合。
静态组合是在业务流程建模时绑定任务, 即传统的工作流任务绑定形式, 意味着请求者应在组合计划实施之前创建一个抽象的过程模型。web静态服务一般是指在设计以及编译阶段, 依据环境以及不同变量的需求, 对已经形成的服务进行定向的组合以及发布, 从软件工程师的角度来看就是利用已经形成的模块体系来进行二次的开发;因此首先我们要列出所有符合条件的功能, 紧接着我们根据功能的列表, 来进行定位以及选择。[9]因此我们在静态web服务组合中, 需要进行一个库的建立, 在库中提供相应的工具包, 来帮助开发人员找到他们所需要的服务组件, 静态web由于其发展的局限性, 因此一直没有能够快速的发展, 再数据进行交换的过程中, 数据可能会发生不匹配的现象。[10]因此才会有了动态web服务组合的诞生, 静态web服务组合的主要的缺点是数据的传输的过程中, 可能会有一些不稳定的情况。这种方法的特点在于:首先, 在判断演化操作是否影响Web服务组合过程的数据流正确性时, 该方法仅对可能遭受影响的部分进行检查, 这是一种增殖式的检查方式;此外, 当演化操作影响到Web服务组合过程的数据流正确性时, 该方法向软件开发人员提供了进一步的演化操作以消除这些问题, 这是一种correctness-by-construction的方法。[11]
而动态组合在建模时并不与具体的Web服务实现绑定, 而是静态绑定任务的功能描述, 在执行时动态绑定任务的实现性描述。当前的随着web服务组合的发展, 已有的web服务组合并不能支撑其, 因此web服务组合必须要以更加丰富的语义进行描述, 动态web服务组合凭借其庞大的web服务库, 以及稳定的传输以及连接, 所以动态web服务组合才能够快速的发展。[12]
服务组合涉及的内容可以从其生命周期的角度分为两个阶段:服务组合建立阶段和运行阶段。就Web服务组合而言, 与语义Web现行标准相对应一组分层的规范如图1所示。当中, URI通用资源标识符 (Uniform Resource Identifier) , 就像GPS服务一样能够, 能够准确的找到web服务的资源。RDF资源描述框架 (Resource Description Framework) 、RDF-Schema (RDF-S) 以及Web本体语言-OWL (Web Ontology Language) 是这些都是语义web所不可缺少的部分, 是语义web的基石。[13]这些标准由上而下的构成了现在的语义web。由图1可知RDF是基于XML的标准, 并且是由W3C提出来的;RDF主要是通过对象和性质来表达其中的一些关系, 对XML数据增加了一些语义, RDF-schema主要是用来定义RDF所需要用到的术语的基本类和类型的, 为RDF的解释提供元数据;Web本体语言-OWL比RDF和RDF-Schema语义的表达能力更强, 它的构造子更强, 因此能够提供更多的关系和类, 从而加强了web服务的及其理解能力。OWL是从DAML+OIL这两种本体语言逐步演化而来的, 对于不同的约束条件, 会产生不同阶段的变化。[14]
2.2 基于动态工作流模型的web服务组合
动态工作流模型, 就是所有的web服务组件都有一整套完整的行为规范。在工作流模型的初期的设计阶段, 主要是依靠各种模块直接的组合关系进行选择性的匹配。通过此种模型的设计, 所熟悉的基于Pareto的解集的方案, 也能够通过此种模式进行设计出来。[15]
其中主要引入的是动态工作流的问题, 之所以说其是动态, 这是相比较静态而言的, 是两个完全不同的概念, 这两个概念的最大不同主要是在于对不同模块之间的衔接的流畅性的不同, 动态工作模型对于不同模块之间的组合衔接的比较流畅。而静态工作模型, 各模块之间的相对稳定性还是有待提高的。[16]
根据服务组合的特点, 基于工作流的服务组合可以分为三类, 包括预定义, 模板和按构建的组合。
⑴预定义的服务组合, 即对相关的组合进行事先的定义, 按照预定义的结果, 将其带入到相适应的工作流服务组合中去。这样的缺点就是服务是静态的, 是事先将其写死的。
⑵模板式的服务组合, 即在相关服务开始之前找到相适应的模板, 然后进行然后嵌套, 此种方法的优点是可以简便操作的方法, 节约时间和效率, 是资源的得到最大程度的利用, 而且使得能够快速解决一些棘手的问题, 缺点是:能够解决的模型相对而言比较的简单, 难以有深刻的方让其来解决, 而且其结果是静态的, 无法根据其动态的变化而产生相应的变化。[17]
⑶按构建的服务组合:按照服务的需求量, 对web服务组合产生一定的定制的效应, 可以根据web服务组合的工作量, 对web服务产生一些空间大小的演绎。这种方法的优点被无限的利用, 它适合现在的这种多元的的空间的利用, 而且能够有一定的自反性的特点。
3 web服务技术在大数据中的应用
大数据的飞速发展, 使得web服务在其中应用更加的广阔, 大数据的存储和抓取都需要用到web服务, 其所需要的是web服务组合, 需要运用到基于语义的web服务组合, 以及基于动态工作流的web服务组合, 两者的混合运用能够使得web服务技术在大数据的挖掘和存储, 运用的更加深透, 特别是在代购网站的兴起, 对淘宝、亚马逊等网站的数据的抓取和存储, 进行需要相应的web服务技术, 而上述的web技术就是我们所需要的, 通过相应的算法进行大数据的抓取和存储。
4 服务组合演化
Web服务组合上面所介绍的只是一些简单的web服务组合, 除此之外产生了许多的web服务组合的演化。比如:Qo S全局感知的Web服务组合方法、提出基于SLM的抽象服务节点自动合成方法, 基于Petri网的服务组合模型验证方法;这些都是web服务组合的升级版, 这些升级版能够使用一些能够使得运用的更加的方便, 围绕服务组合建立阶段的主要问题重点研究满足语义要求及Qo S约束的Web服务组合及抽象服务节点自动合成机制, 并关注组合模型的正确性验证问题。[18]因此web服务组合在未来还有很多的提升空间。
摘要:简述web服务的关键技术以及其发展的过程, 并对一些关键技术进行阐述, web服务是有自己独特的体系, 拥有自己的一套架构, 并且在这套架构上, web服务拥有自己的核心技术, 当单个的web服务难以满足需求的时候, 这时候web服务组合就出现了, 它能够很好的解决单个web所不能解决的问题, 这个很好的满足了现代社会的需求, 最后提出web服务技术的未来, 其中重点是说明web服务的核心技术。随着网络的兴起, web服务技术被广泛应用于大数据的海洋抓取, 比如代购网站中, 就需要用到数据的海洋抓取和存储。
数据库编程与存储技术
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。