一种读写远程服务器上栅格数据的方法及存储管理系统的制作方法

文档序号:6444669阅读:219来源:国知局
专利名称:一种读写远程服务器上栅格数据的方法及存储管理系统的制作方法
技术领域
本发明涉及数据存储及信息处理技术领域,尤其涉及一种读写远程服务器上栅格数据的方法及存储管理系统。
背景技术
地理信息系统(Geographic Information System, GIS)是一种具有采集空间数据并存储、管理、分析与表现空间信息的计算机系统。采用GIS技术使高效管理具有空间分布特征的原始数据及其制图输出成为可能,并逐步成为现代企业管理和政府决策的有力助手。数据则是地理信息系统的基础,在现有的系统开发设计中,投入成本最大的就是数据处理,其投入费用占系统建立和维护的70%以上。从应用的角度来看,近几年GIS的应用领域不断扩大,出现了大量成熟的商业GIS平台,空间数据的建设越来越受到重视。基于空间数据基础设施的建设,人们开始了空间数据共享和互操作的研究。但是多种数据格式的互相转换,均需要以栅格图像矢量化为前提。采用栅格图像,是对GIS数据处理的发展趋势,提出了一些基于栅格数据的地理信息系统技术体系,并得到了应用实践。在GIS应用中,通常将海量的栅格数据集中发布在一网络数据服务器中,然后客户端通过网络传输获取或写入所需的栅格数据。这会通常出现下面两种情况(I)某客户端应用需要频繁的访问海量的栅格数据,这对客户端的网络传输造成很大压力。如果在某些网络带宽资源有限的情况下,甚至无法正常运行此类需求。(2)在大量客户端并发请求远程数据服务器上栅格数据时候,数据服务器的网络传输能力是个严重的性能瓶颈。

发明内容
有鉴于此,本发明提供一种读写远程服务器上栅格数据的方法及存储管理系统, 可大大减少数据传输量,减轻服务器的负荷,提高系统效率。本发明提供一种将栅格数据写入远程服务器的方法,包括预先计算待保存的栅格数据块的校验码Vl ;从远程服务器上获取相应栅格块的校验码V2 ;其中所述校验码长度为预定位数;
比对所述校验码Vl和V2 ;若Vl与V2不相同,则将所述栅格块数据及其校验码Vl 传输给远程服务器并保存;若Vl与V2相同,则在本地保存所述校验码VI。本发明还提供一种从远程服务器读取栅格数据的方法,包括向远程服务器请求栅格块数据时,查找本地是否存储该栅格块数据;若本地未保存该栅格块数据,则从远程服务器获取该栅格块数据,并同时获取该栅格块数据的校验码,其中所述校验码长度为预定位数;将该栅格块数据及其校验码保存在本地。本发明提供的一种栅格数据存储管理方法,包括
预先计算待保存的栅格数据块的校验码Vl ;从远程服务器上获取相应栅格块的校验码V2 ;其中所述校验码长度为预定位数;比对所述校验码Vl和V2 ;若Vl与V2不相同,则将所述栅格块数据及其校验码Vl 传输给远程服务器并保存;若Vl与V2相同,则在本地保存所述校验码Vl ;向远程服务器请求栅格块数据时,查找本地是否存储该栅格块数据;若本地未保存该栅格块数据,则从远程服务器获取该栅格块数据,并同时获取该栅格块数据的校验码,将该栅格块数据及其校验码保存在本地。本发明还提供一种栅格数据存储管理系统,具有远程服务器和若干用户终端,包括远程服务器,用于保存栅格块数据及其校验码,并提供给用户终端,并接收用户端发来的栅格块数据更新信息;用户终端,用于向远程服务器发送待保存的栅格块数据及其校验码,并从远程服务器获取栅格块数据;校验码生成单元,设置在用户终端,用于计算待保存的栅格数据块的校验码Vl ;所述用户终端从远程服务器上获取相应栅格块的校验码V2 ;其中所述校验码长度为预定位数;比对单元,设置在用户终端,用于比对所述校验码Vl和V2 ;若Vl与V2不相同,则将所述栅格块数据及其校验码Vl传输给远程服务器并保存;若Vl与V2相同,则在本地保存所述校验码Vl ;用户终端向远程服务器请求栅格块数据时,查找本地是否存储该栅格块数据;若本地未保存该栅格块数据,则从远程服务器获取该栅格块数据,并同时获取该栅格块数据的校验码,将该栅格块数据及其校验码保存在本地。本发明通过本地缓存机制与校验码值的联合应用,本发明提出了一种读写远程服务器上栅格数据的方法,可避免用户终端与远程服务器之间不必要的数据传输,大大减少网络的数据传输量,减轻了服务器的负荷,提高系统效率。


图I为本发明提供的将栅格数据写入远程服务器的方法流程图;图2为本发明提供的从远程服务器获取栅格数据的流程示意图;图3为本发明实施例中的栅格块的数据示意图;图4为本发明提供的栅格数据存储管理系统的架构示意图。
具体实施例方式鉴于栅格块数据量巨大、传输时占用的网络资源较多的特点,为了解决现有技术中存在的缺陷和不足,本发明通过本地缓存机制与校验码值的联合应用,本发明提出了一种读写远程服务器上栅格数据的方法,可避免用户终端与远程服务器之间不必要的数据传输,大大减少网络的数据传输量,减轻了服务器的负荷,提高系统效率。本发明提供的一种将栅格数据写入远程服务器的方法,包括如下步骤S11,预先计算待保存的栅格数据块的校验码Vl ;
S12,从远程服务器上获取相应栅格块的校验码V2 ;其中所述校验码长度为预定位数;S13,比对所述校验码Vl和V2 ;若Vl与V2不相同,则将所述栅格块数据及其校验码Vl传输给远程服务器并保存;若Vl与V2相同,则在本地保存该栅格块数据及其校验码 VI。其中,栅格块包含KXL个象素,K,L分别为> I的整数。 校验码可采用信息摘要算法码MD5。本发明提供的一种从远程服务器读取栅格数据的方法,包括S21,向远程服务器请求栅格块数据时,查找本地是否存储该栅格块数据;S22,若本地未保存该栅格块数据,则从远程服务器获取该栅格块数据,并同时获取该栅格块数据的校验码,其中所述校验码长度为预定位数;S23,将该栅格块数据及其校验码保存在本地。栅格块包含KXL个象素,K,L分别为彡I的整数;校验码可采用信息摘要算法码MD5。本发明提供的一种栅格数据存储管理方法,包括预先计算待保存的栅格数据块的校验码Vl ;从远程服务器上获取相应栅格块的校验码V2 ;其中所述校验码长度为预定位数;
比对所述校验码Vl和V2 ;若Vl与V2不相同,则将所述栅格块数据及其校验码Vl 传输给远程服务器并保存;若Vl与V2相同,则在本地保存所述校验码Vl ;向远程服务器请求栅格块数据时,查找本地是否存储该栅格块数据;若本地未保存该栅格块数据,则从远程服务器获取该栅格块数据,并同时获取该栅格块数据的校验码,将该栅格块数据及其校验码保存在本地。栅格块包含KXL个象素,K, L分别为彡I的整数。校验码为信息摘要算法码MD5。为使本发明的原理、特性和优点,下面详细描述本发明的实施方案。本实施例采用md5校验码进行说明。显然也可以用其他校验码。只要能对一些数据,产生一个唯一的码值,然后根据2个码值就能比较其对应的数据是否完全一样就达到目的了。MD5中的MD代表Message Digest,就是信息摘要的意思,不过这个信息摘要不是信息内容的缩写,而是根据公开的MD5算法对原信息进行数学变换后得到的一个128位 (bit)的特征码。MD5码有如下特性首先,它不可逆,例如,有一段秘密的文字如"My Secret Words",经算法变换后得到MD5码(b9944e9367d2e40ddlf0c4040d4daaf7),把这个码告诉其他人,他们根据这个MD5码是没有系统的方法可以知道你原来的文字是什么的。其次,这个码具有高度的离散性,也就是说,原信息的一点点变化就会导致MD5的巨大变化,例如"ABC" MD5(902fbdd2bldf0c4f70b4a5d23525e932)和"ABC"(多了一空格)MD5(12c774468f981a9487c30773d8093561)差别非常大,而且之间没有任何关系,也就是说产生的MD5码是不可预测的。
最后由于这个码的长度为128位,所以任意信息之间具有相同MD5码的可能性非常之低,通常被认为是不可能的。所以一般认为MD5码可以唯一地代表原信息的特征,通常用于密码的加密存储, 数字签名,文件完整性验证等。本发明具体实施例中,所述栅格数据采用分块方式保存,具体分为MXN个数据块,M,N,分别为彡I的整数。每个块包含KXL个象素,K,L分别为彡I的整数。假设,某栅格块的数据如图3所示,栅格大小为256*256象素,将该栅格从上到下, 从左到右,排列所有的象素值成一长串的数据数组A= {22 12 24 53 13…4 9 22 7......2 2…3},数组A —共有256*256个数据;对这一数组A应用MD5码加密算法,就可以得到5 7edf4a22be3c955ac49da2e2107b67a。选用md5码方法是因为其安全性以及效率在实际应用中得到很好的验证;当然也可选用其他的校验码技术,如码距、奇偶校验、海明校验、crc、循环冗余校验码等,在安全性与效率方面,应根据实际需求确定采用何种方法。本发明实施例提供的一种从远程服务器读取栅格数据的方法,包括向远程服务器请求栅格块数据时,查找本地是否存储该栅格块数据;若本地未保存该栅格块数据,则从远程服务器获取该栅格块数据,并同时获取该栅格块数据的校验码,其中所述校验码长度为预定位数;将该栅格块数据及其校验码保存在本地。用户端向远程数据服务器请求栅格块数据时,首先会查找本地有没有此栅格块数据的缓存。本地缓存可以存储在文件里,也可以放在内存里存储,也就是只要在存储介质里就可以。(a)如果没有本地缓存,则直接从远程数据服务器上取得该栅格块数据,并同时获取出这个块数据的128位的md5码值,将该栅格块数据,连同这个128位的md5码值一并存储在本地缓存里。(b)如果从本地缓存中找到该栅格块数据,取出其128位的md5码值VI。再从远程数据服务器上取得该栅格块的校验码md5值V2。(存储在远程数据服务器上的栅格数据也是每个栅格块与相应的md5码值一并存储的。)比较Vl与V2是否相等。如果相等,说明本地缓存中的此栅格块数据与远程数据服务器上的栅格数据完全一致,所以,不需要再从远程数据服务器上传输此栅格块数据,从本地直接取就可以。这对于栅格块为10000*10000 大小象素的栅格数据来说,节省了大量的网络数据传输,大大提高了效率。如果不等,说明远程数据服务器上数据有更新,本地缓存的此栅格块数据已经是过时的数据了。那么,就需要从远程数据服务器传输该栅格块数据与md5码值到用户端,用户端将该栅格块数据,连同这个128位的md5码值一并存储在本地缓存里,以供以后访问可本地获取提供支持。本实施例中,将栅格数据写入远程服务器的方法,包括预先计算待保存的栅格数据块的校验码Vl ;从远程服务器上获取相应栅格块的校验码V2 ;其中所述校验码长度为预定位数;比对所述校验码Vl和V2 ;若Vl与V2不相同,则将所述栅格块数据及其校验码Vl 传输给远程服务器并保存;若Vl与V2相同,则在本地保存所述校验码VI。
具体地,用户端向远程数据服务器写栅格块数据时,先计算该栅格块的md5校验码VI,再从远程数据服务器上取得该栅格块的md5码值V2。如果Vl = V2,说明远程数据服务器上该栅格块数据已经与待写的栅格数据一致,实际不需要传输与写入了。如果 Vl古V2,则需要向远程数据服务器传输并更新此栅格块数据与md5码值。参照图4,本发明实施例还一种栅格数据存储管理系统400,具有远程服务器410 和若干用户终端420,包括远程服务器410,用于保存栅格块数据及其校验码,并提供给用户终端,并接收用户端发来的栅格块数据更新信息;用户终端420,用于向远程服务器发送待保存的栅格块数据及其校验码,并从远程服务器获取栅格块数据;校验码生成单元420a,设置在用户终端,用于计算待保存的栅格数据块的校验码 Vi ;所述用户终端从远程服务器上获取相应栅格块的校验码V2 ;其中所述校验码长度为预定位数;比对单元420b,设置在用户终端,用于比对所述校验码Vl和V2 ;若Vl与V2不相同,则将所述栅格块数据及其校验码Vl传输给远程服务器并保存;SV1与V2相同,则在本地保存所述校验码Vl ;用户终端420向远程服务器410请求栅格块数据时,查找本地是否存储该栅格块数据;若本地未保存该栅格块数据,则从远程服务器获取该栅格块数据,并计算该栅格块数据的校验码,将该栅格块数据及其校验码保存在本地。其中,栅格块包含KXL个象素,K,L分别为> I的整数。校验码可采用信息摘要算法码MD5。综上所述,本发明通过本地缓存机制与校验码值的联合应用,本发明提出了一种读写远程服务器上栅格数据的方法,可避免用户终端与远程服务器之间不必要的数据传输,大大减少网络的数据传输量,减轻了服务器的负荷,提高系统效率。以上对本发明所提供的一种读写远程服务器上栅格数据的方法,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种将栅格数据写入远程服务器的方法,其特征在于,包括预先计算待保存的栅格数据块的校验码Vl ;从远程服务器上获取相应栅格块的校验码V2 ;其中所述校验码长度为预定位数;比对所述校验码Vl和V2 ;若Vl与V2不相同,则将所述栅格块数据及其校验码Vl传输给远程服务器并保存;若Vl与V2相同,则在本地保存所述校验码VI。
2.如权利要求I所述的方法,其特征在于,每个所述栅格块包含KXL个象素,K,L分别为彡I的整数。
3.如权利要求I所述的方法,其特征在于,所述校验码为信息摘要算法码MD5。
4.一种从远程服务器读取栅格数据的方法,其特征在于,包括向远程服务器请求栅格块数据时,查找本地是否存储该栅格块数据;若本地未保存该栅格块数据,则从远程服务器获取该栅格块数据,并同时获取该栅格块数据的校验码,其中所述校验码长度为预定位数;将该栅格块数据及其校验码保存在本地。
5.如权利要求4所述的方法,其特征在于,还包括将所述校验码发送给所述远程服务器。
6.如权利要求4所述的方法,其特征在于,每个所述栅格块包含KXL个象素,K,L分别为彡I的整数。
7.如权利要求4所述的方法,其特征在于,所述校验码为信息摘要算法码MD5。
8.一种栅格数据存储管理方法,其特征在于,包括预先计算待保存的栅格数据块的校验码Vl ;从远程服务器上获取相应栅格块的校验码V2 ;其中所述校验码长度为预定位数;比对所述校验码Vl和V2 ;若Vl与V2不相同,则将所述栅格块数据及其校验码Vl传输给远程服务器并保存;若Vl与V2相同,则在本地保存所述校验码Vl ;向远程服务器请求栅格块数据时,查找本地是否存储该栅格块数据;若本地未保存该栅格块数据,则从远程服务器获取该栅格块数据,并同时获取该栅格块数据的校验码,将该栅格块数据及其校验码保存在本地。
9.如权利要求8所述的方法,其特征在于,每个所述栅格块包含KXL个象素,K,L分别为彡I的整数。
10.如权利要求8所述的方法,其特征在于,所述校验码为信息摘要算法码MD5。
11.一种栅格数据存储管理系统,具有远程服务器和若干用户终端,其特征在于,包括远程服务器,用于保存栅格块数据及其校验码,并提供给用户终端,并接收用户端发来的栅格块数据更新信息;用户终端,用于向远程服务器发送待保存的栅格块数据及其校验码,并从远程服务器获取栅格块数据;校验码生成单元,设置在用户终端,用于计算待保存的栅格数据块的校验码Vl ;所述用户终端从远程服务器上获取相应栅格块的校验码V2 ;其中所述校验码长度为预定位数;比对单元,设置在用户终端,用于比对所述校验码Vl和V2 ;若Vl与V2不相同,则将所述栅格块数据及其校验码Vl传输给远程服务器并保存;若Vl与V2相同,则在本地保存所述校验码Vl ;用户终端向远程服务器请求栅格块数据时,查找本地是否存储该栅格块数据;若本地未保存该栅格块数据,则从远程服务器获取该栅格块数据,并同时获取该栅格块数据的校验码,将该栅格块数据及其校验码保存在本地。
12.如权利要求11所述的系统,其特征在于,其中,每个所述栅格块包含KXL个象素, K,L分别为彡I的整数。
13.如权利要求11所述的系统,其特征在于,所述校验码为信息摘要算法码MD5。
全文摘要
本发明提供了一种栅格数据存储管理方法及存储管理系统,其中,所述方法包括预先计算待保存的栅格数据块的校验码V1;从远程服务器上获取相应栅格块的校验码V2;比对校验码V1和V2;若V1与V2不相同,则将栅格块数据及其校验码V 1传输给远程服务器并保存;向远程服务器请求栅格块数据时,若本地未保存该栅格块数据,则从远程服务器获取该栅格块数据,同时获取该栅格块数据的校验码并保存在本地。本发明还提供相应的栅格数据存储管理系统。根据本发明,可避免用户终端与远程服务器之间不必要的数据传输,大大减少网络的数据传输量,减轻了服务器的负荷,提高系统效率。
文档编号G06F11/08GK102609329SQ20111045729
公开日2012年7月25日 申请日期2011年12月30日 优先权日2011年12月30日
发明者孙成宝, 曹刚, 李团宏, 李嵩, 黄兆伟 申请人:北京地拓科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1