一种数据格式转换方法及系统与流程

文档序号:14403103阅读:209来源:国知局
一种数据格式转换方法及系统与流程

本发明实施例涉及数据格式转换技术,尤其涉及一种数据格式转换方法及系统。



背景技术:

在信息社会中,每时每刻都有大量来源不同的数据产生,分地存贮。在网络环境下,信息要在不同软件中分布地处理,并且能够在网络中实时发布。不同的地理信息系统(geographicinformationsystem或geo-informationsystem,gis)系统对各种时空现象的理解、描述方式、概念模型、数据结构、实现手段等互不相同,各有优势和局限。实现新的应用功能时,首先考虑能否利用已有的数据,这就涉及到数据的转换问题。一些商用gis软件厂商根据自己对gis的理解,为特定的用户群和应用目的设计了各自的数据结构和数据模型,不同厂商的软件自成体系,造成局部有序和gis世界整体的无序。需要运用多个软件时也要涉及数据交换。因此,如何使这些集成数据能在不同的系统下相互可操作以及在异构分布数据中获取所需的数据信息,即实现数据集成与数据共享就变得非常关键。

目前,地理信息系统数据交换和共享技术还处于发展阶段,还没有一种被广泛使用的成熟方法,实现多源数据集成的方式大致有3种,即:数据格式转换模式、数据互操作模式、直接数据访问模式。数据互操作模式是一种多格式数据共享的方式,该模式是开放地理空间信息联盟(opengeospatialconsortium,ogc)制定的规范。gis互操作是指在异构数据库和分布计算的情况下,gis用户在相互理解的基础上,能透明地获取所需的信息。ogc为数据互操作制定了统一的规范,为实现不同平台间服务器和客户端之间数据请求和服务提供了统一的协议,从而使得一个系统同时支持不同的空间数据格式成为可能。但从目前来看,非开放的地理数据互操作规范(opengeodatainteroperationspecification,opengis)标准的空间数据格式仍然占据已有数据的主体。

数据互操作规范为多源数据集成带来了新的模式,但这一模式在应用中存在一定局限性:首先,为真正实现各种格式数据之间的互操作,需要每个每种格式的宿主软件都按照统一的规范实现数据访问接口,在一定时期内还不现实;二是一个软件访问其他软件的数据格式时是通过数据服务器实现的,这个数据服务器实际上就是被访问数据格式的宿主软件,也就是说,用户必须同时拥有这两个gis软件,并且同时运行,才能完成数据互操作过程。三是ogc标准更多地考虑到采用opengis协议的空间数据服务软件和空间数据客户软件,对于那些历史存在的大量的非opengis标准的空间数据格式的处理方法还缺乏标准的规范。



技术实现要素:

本发明提供一种数据格式转换方法及系统,以实现针对不同系统以及用户需求转换空间数据格式。

第一方面,本发明实施例提供了一种数据格式转换方法,包括:

数据格式转换系统调用本地数据库,初始化所述本地数据库中的静态资源,并获取源目录、目标目录、格式转换模板文件以及筛选条件;

所述数据格式转换系统获取所述源目录中的设定类型的至少一个源文件;

所述数据格式转换系统读取所述至少一个源文件中的源数据并筛选出所述源数据中满足所述筛选条件的源数据;

所述数据格式转换系统调用所述格式转换模板文件,对筛选后的源数据进行数据格式转换,生成目标数据并保存至所述目标目录中。

第二方面,本发明实施例提供了一种数据格式转换装置,配置于数据格式转换系统中,包括:

静态资源初始化模块,用于调用本地数据库,初始化所述本地数据库中的静态资源,并获取源目录、目标目录、格式转换模板文件以及筛选条件;

源文件获取模块,用于获取所述源目录中的设定类型的至少一个源文件;

源数据筛选模块,用于读取所述至少一个源文件中的源数据并筛选出所述源数据中满足所述筛选条件的源数据;

数据格式转换模块,用于调用所述格式转换模板文件,对筛选后的源数据进行数据格式转换,生成目标数据并保存至所述目标目录中。

本发明通过提供一个独立安装于操作系统中的插件或者服务器,实现不同平台间服务器和客户端之间数据格式转换,并针对不同系统或针对不同用户需求转换空间数据格式,还可以实现一个软件能够同时访问其他多个软件的数据格式。

附图说明

图1a是本发明实施例提供的一种数据格式转换方法的流程图;

图1b是数据格式转换系统的网络拓扑图;

图1c是空间数据转换的示意图;

图2是本发明实施例提供的一种数据格式转换方法的流程图;

图3是本发明实施例提供的一种数据格式转换方法的流程图;

图4是本发明实施例提供的一种数据格式转换装置的示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1a为本发明实施例一提供的数据格式转换的流程图,该方法可以由数据格式转换系统来执行,具体包括如下步骤:

s110,数据格式转换系统调用本地数据库,初始化所述本地数据库中的静态资源,并获取源目录、目标目录、格式转换模板文件以及筛选条件。

其中,优选的,数据格式转换系统的转换的数据为空间数据。

具体的,静态资源是数据格式转换系统中的配置文件的参数以及本地数据库资源,源数据是用户需要转换的初始数据,源目录是源数据存储在本地数据库中的目录,将源数据进行格式转换后的数据作为目标数据,目标目录是目标数据存储在本地数据中的目录。格式转换模板文件是由技术人员编写的格式转换的逻辑规则,数据格式转换系统可以根据源数据的数据格式和目标数据的数据格式,获取与源数据和目标数据相对应的格式转换模板文件,并调用该格式转换模板文件,将源数据转换为预定格式的目标数据。筛选条件是用户对源文件中存储的数据设定的筛选条件。可选的,筛选条件也可以写入格式转换模板文件,由数据格式转换系统调用格式转换模板文件实现数据筛选的功能。

在本发明实施例中,所述数据格式转换系统为独立安装于操作系统中的插件或者服务器。

具体的,数据格式转换系统可以以java开发的插件方式来设计,以实现平台无关性,无论windows还是linux都能用此系统。数据格式转换系统通过数据格式转换装置将源数据转换为目标数据。其中,数据格式转换系统是以插件的形式,通过修改配置文件,集成到任何系统中。

图1b是数据格式转换系统的网络拓扑图。参照图1b来说,数据格式转换系统安装于提供数据格式转换服务的服务器/服务器集群110,源数据数据库140通过交换机130将源数据发送至服务器/服务器集群110的本地数据库120中,当服务器/服务器集群110将源数据的数据格式转换完成,生成目标数据后,将目标数据通过交换机130发送至目标数据库150中。

图1c是空间数据转换的示意图。参照图1c来说,格式转换模板文件包括数据格式规范e,数据格式转换系统基于数据格式规范e将空间数据a转换成空间数据b、空间数据c或空间数据d。

s120,所述数据格式转换系统获取所述源目录中的设定类型的至少一个源文件。

其中,优选的,设定类型为文本类型,如txt、excel和doc等类型。

s130,所述数据格式转换系统读取所述至少一个源文件中的源数据并筛选出所述源数据中满足所述筛选条件的源数据。

具体的,筛选条件为源数据中的属性信息、范围信息或类别信息等,例如可以是空间数据中的空间范围、几何数据或属性信息等。更详细的,筛选条件可以是空间数据中的坐标系名、投影方法类型、投影参数或点线面类型等等。

一种基于opengis的知名文本(well-knowntext,wkt)的表达坐标系的方式的代码如下:

其中,总体投影坐标的名字是“utmzone19,northernhemisphere”,地理坐标系统名“geographiccoordinatesystem”,基准面nad83,椭球体grs1980,半径是6378137,反偏率是298.2572220960423,中央经线是greenwich,0度标准子午线,转换因子是0.0174532925199433,投影方式是“transverse_mercator”,起始经度是0,中央经线是-69,缩放比率是0.9996,坐标整体向东偏移是500000,坐标向北偏移是0,单位是1米。

例如,基于上述代码所述的源数据,用户设定的筛选条件是:投影方式是“transverse_mercator”以及总体投影坐标的名字包括“northernhemisphere”的数据,则可以将源文件中的符合筛选条件的projcs所包括的数据筛选出来。

s140,所述数据格式转换系统调用所述格式转换模板文件,对筛选后的源数据进行数据格式转换,生成目标数据并保存至所述目标目录中。

具体的,格式转换模板文件是格式转换的逻辑规则,数据格式转换系统可以调用该格式转换模板文件,将源数据转换为设定格式的数据。例如,可以将上述代码直接转换成文字表述或者转换成其他代码。

可选的,当源目录中的所有源文件处理完成后,数据格式转换系统释放资源,以加快系统处理其他任务的速度,其中,释放资源包括删除内存中的所有数据,释放cpu资源等。

本实施例的技术方案,通过提供一个独立安装于操作系统中的插件或者服务器,实现不同平台间服务器和客户端之间数据格式转换,并针对不同系统或针对不同用户需求转换空间数据格式,还可以实现一个软件能够同时访问其他多个软件的数据格式。

实施例二

图2为本发明实施例二提供的数据格式转换的流程图,该方法可以由数据格式转换系统来执行,具体包括如下步骤:

s210,数据格式转换系统调用本地数据库,初始化所述本地数据库中的静态资源,并获取源目录、目标目录、格式转换模板文件以及筛选条件。

s220,所述数据格式转换系统获取所述源目录中的设定类型的至少一个源文件。

s230,当所述数据格式转换系统确定获取的所述源文件的数量超过设定阈值时,采用线程池或多线程的方式,读取源文件中的源数据并筛选出所述源数据中满足所述筛选条件的源数据。

其中,当获取的所述源文件的数量超过设定阈值时,数据格式转换系统采用线程池或多线程的方式,可以同时读取或者分别按照一定次序读取多个源文件的源数据,并分别对读取的源数据进行筛选。具体的,当源目录中的源文件的数据过多时,所述数据格式转换系统将采用线程池或者多线程的方式处理数据。此外,可以通过配置文件设置每个线程处理的文件数。具体的,获取源文件的数目以及每个源文件中需要处理的数据量,确定每个线程处理的文件数目。例如,若源文件中需要处理的数据量较大(如100g),且源数据的数目较小(如10),则确定每个线程处理的文件数目较小(如1个);若源文件中需要处理的数据量较小(如100m),且源数据的数目较大(如100),则确定每个线程处理的文件数目较大(如15个)。

可选的,所述数据格式转换系统可以采用批处理的方式处理数据,可以通过配置文件设置批处理的源文件个数以及源文件的处理顺序。

s240,所述数据格式转换系统调用所述格式转换模板文件,对筛选后的源数据进行数据格式转换,生成目标数据并保存至所述目标目录中。

本实施例的技术方案,数据格式转换系统通过采用线程池或者多线程的方式,能够提高系统的性能,减少消耗系统资源,加快数据处理速度。

实施例三

图3为本发明实施例三提供的数据格式转换的流程图,该方法可以由数据格式转换系统来执行,具体包括如下步骤:

s301,数据格式转换系统调用本地数据库,初始化所述本地数据库中的静态资源,并获取源目录、目标目录、格式转换模板文件以及筛选条件。

s302,所述数据格式转换系统获取所述源目录中的设定类型的至少一个源文件。

s303,所述数据格式转换系统读取所述至少一个源文件中的源数据。

s304,所述数据格式转换系统将读取的所述源数据存入内存中。

具体的,数据格式转换系统通过获取配置文件中的参数,确定是否启用备份源数据的功能。所述数据格式转换系统在数据备份时,采用缓存技术,将源数据存储在内存中。通过备份源数据,避免数据格式转换系统在当前环境下无法正常工作时丢失了数据。

s305,所述数据格式转换系统筛选出所述源数据中满足所述筛选条件的源数据。

s306,所述数据格式转换系统将筛选后去除的数据存入内存中。

具体的,数据格式转换系统通过获取配置文件中的参数,确定是否启用备份筛选删除的数据的功能。所述数据格式转换系统在数据备份时,采用缓存技术,将删除的数据存储在内存中。通过备份删除数据,避免数据格式转换系统在对源数据的筛选中删除了用户需要的数据,导致丢失了数据。

s307,当确定内存中数据量超过预设阈值时,所述数据格式转换系统将内存中的全部数据按照数据类型储存在硬盘的对应目录中,并删除所述内存中存储的数据。

具体的,当内存中的全部数据量超过预设阈值时,将缓存的数据按照数据类型存入硬盘中对应目录下。获取关闭备份数据的功能的指令,数据格式转换系统停止将数据存入内存中。通过备份数据,避免数据格式转换系统在数据处理过程中丢失数据。通过缓存数据来减少内存和硬盘之间的i/o交互的次数,提高系统的性能,减少消耗系统资源,加快数据处理速度。

可选的,当源目录中的所有源文件的筛选后的源数据都已进行数据格式转换时,且备份数据的功能未关闭,将内存中的全部数据按照数据类型储存在硬盘的对应目录中。

s308,所述数据格式转换系统调用所述格式转换模板文件,对筛选后的源数据进行数据格式转换,生成目标数据并保存至所述目标目录中。

s309,所述数据格式转换系统按照预定周期,获取源目录中的源文件。

s310,所述数据格式转换系统判断是否存在未处理的源文件,若是,读取所述源文件中的源数据并筛选;若否,释放资源。

具体的,数据格式转换系统将当前源目录中的所有源文件处理完成后,在预定周期的时间后,扫描源目录中是否有新的源文件,获取未处理的源文件,执行后续操作,直至源目录中不存在未处理的源文件。

本实施例的技术方案,数据格式转换系统通过开启备份功能,能够提高系统的性能,避免系统在运行不稳定时丢失数据。

实施例四

图4是本发明实施例四提供的一种数据格式转换装置的示意图,所述数据格式转换装置用于执行上述实施例的数据格式转换方法。

所述装置配置于数据格式转换系统中,包括:

静态资源初始化模块401,用于调用本地数据库,初始化所述本地数据库中的静态资源,并获取源目录、目标目录、格式转换模板文件以及筛选条件;

源文件获取模块402,用于获取所述源目录中的设定类型的至少一个源文件;

源数据筛选模块403,用于读取所述至少一个源文件中的源数据并筛选出所述源数据中满足所述筛选条件的源数据;

数据格式转换模块404,用于调用所述格式转换模板文件,对筛选后的源数据进行数据格式转换,生成目标数据并保存至所述目标目录中。

本实施例的数据格式转换装置,实现不同平台间服务器和客户端之间数据格式转换,并针对不同系统或针对不同用户需求转换空间数据格式,还可以实现一个软件能够同时访问其他多个软件的数据格式。

进一步的,所述装置还包括:线程采用模块405,用于如果确定获取的所述源文件的数量超过设定阈值,则采用线程池或多线程的方式,对所述多个源文件的源数据进行筛选并转换成所述目标数据,并保存至所述目标目录中。

进一步的,所述装置还包括:源数据备份模块406,用于将读取的所述源数据存入内存中;当确定内存中数据量超过预设阈值时,所述数据格式转换系统将内存中的全部数据按照数据类型储存在硬盘的对应目录中,并删除所述内存中存储的数据。

进一步的,所述装置还包括:删除的数据备份模块407,用于将筛选后去除的数据存入内存中;当确定内存中数据量超过预设阈值时,所述数据格式转换系统将内存中的全部数据按照数据类型储存在硬盘的对应目录中,并删除所述内存中存储的数据。

进一步的,所述装置还包括:未处理源文件获取模块408,用于按照预定周期,获取源目录中的源文件;判断是否存在未处理的源文件,若是,读取所述源文件中的源数据并筛选;若否,释放资源。

本发明实施例所提供的数据格式转换装置可执行本发明任意实施例所提供的数据格式转换方法,具备执行方法相应的功能模块和有益效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1