CN103870602A - 数据库空间分片复制方法及系统 - Google Patents
数据库空间分片复制方法及系统 Download PDFInfo
- Publication number
- CN103870602A CN103870602A CN201410133174.5A CN201410133174A CN103870602A CN 103870602 A CN103870602 A CN 103870602A CN 201410133174 A CN201410133174 A CN 201410133174A CN 103870602 A CN103870602 A CN 103870602A
- Authority
- CN
- China
- Prior art keywords
- spatial
- space
- data
- rule
- lamination
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及空间数据库技术领域,公开了一种数据库空间分片复制方法及系统。该方法包括步骤:将目标分布式数据库按指定的空间分片方案进行部署;在目标分布式数据库的源数据库空间表中捕获空间对象记录所发生的变化;将变化后空间对象记录的空间位置信息与空间分片规则进行空间关系判断,如满足划分的空间位置关系,则判定当前变化后空间对象记录需复制到对应空间分片所在的目的数据库;根据数据传播定义,将变化后空间对象记录复制给目的数据库。本发明将空间数据按空间位置特征进行分片存储,并按指定的空间关系规则实现复制,从而提高了分布式环境下空间数据的更新同步效率,支撑维护空间对象的全局一致性,并简化空间分布式应用。
Description
技术领域
本发明涉及空间数据库技术领域,特别涉及一种数据库空间分片复制方法及系统。
背景技术
随着地理信息系统(GIS)、遥感(RS)和全球卫星导航系统(GNSS)技术的快速发展,地理信息应用逐渐广泛,涉及市政管理、应急反应、健康医疗、交通、能源、通信、商业应用等各大领域。作为地理信息应用的核心基础,地理空间数据主要记录道路、房屋、河流等各类地理实体的空间位置信息以及相关属性信息。与常规通用关系型数据不同,地理空间数据区域特征明显、结构复杂(非结构化)且空间多维(x,y,z),因此,传统关系型数据库技术尤其是分布式数据处理技术面临诸多挑战。
分布式数据库系统的存储主要有两种方式——分片和复制。分片(fragmentation)就是系统把数据划分为几个片(或几个部分),各片存储在不同的节点上,以实现各片数据的分布式存取。所谓复制(replication),广义上是指将数据和数据库对象从一个数据库复制和分发到另一个数据库的过程,而狭义上主要用于将同一数据的多个副本存放到多个节点上,这样,在其中一个节点出现故障时,可以通过访问存放在另外节点上的副本,使系统可以正常工作。在实际应用中,通常是将两者结合在一起,先对数据进行分片,然后将分片进行复制。
传统的数据库分片由于处理的是通用关系型数据,因此主要根据键值的子集进行数据划分,一个基本原则是分片不相交原则,即各分片中的记录不存在交集(这里主要指水平分片),以避免数据同步的复杂度给系统更新或使用带来隐患。基于该原则,传统的复制方式也只是简单地将源数据或源分片数据按副本方式备份存储/更新,即使通过指定键值子集实现非副本方式复制,也不存在分片数据间的复杂关系和同步问题。
但是,传统数据库分片和复制方式并不适合存储和处理地理空间数据。鉴于地理信息与身俱来的按空间区域分布特性,在分布式应用中,地理空间数据更多需要按空间位置特征进行分片存储,例如,节点a地图库包含全国范围数据,节点b地图库包含北京区域数据,节点c地图库包含河北区域数据,且b和c相邻区域数据可能需要部分重叠并能够更新后同步共享(出于数据采集边界的模糊性或周边缓冲出图的需要等)。此类空间分片存储模式具有以下特殊性:(1)需要按空间位置特征进行分片存储而不是按某一键值的划分;(2)非副本复制,即a\b\c数据均不同。(3)分片存在空间意义上的“交集”,即a空间上包含(b、c),b空间相交c。(4)非传统的键值子集复制,即a\b\c数据由于保存的是空间对象记录,不存在直接的键值子集关系。因此,要实现abc三个节点的分片部署和数据更新同步,如采用传统的数据库分片与复制技术,要进行空间多维向属性一维的编码转换,不但维护、实现难度较大、且数据一致性和性能无法保证。
发明内容
针对传统数据库系统复制技术主要针对通用关系型数据,只能按副本复制或按键值子集复制而不支持按空间位置关系进行复制问题,提出了一种数据库空间分片复制方法及系统,将空间数据按空间位置特征进行分片存储,并按指定的空间关系规则实现复制,从而有效提高了分布式环境下空间数据的更新同步效率,支撑维护空间对象的全局一致性,并简化空间分布式应用。
根据本发明的第一方面,提供了一种数据库空间分片复制方法,包括步骤:
S1,将目标分布式数据库的分布式空间表按指定的空间分片方案进行部署,其中,根据空间分片规则按空间位置特征进行分片划分,根据映射关系将划分后的空间分片对应存储到各节点数据库;
S2,在所述目标分布式数据库的源数据库空间表中捕获空间对象记录所发生的变化,提取变化后空间对象记录的空间位置信息;
S3,将提取到的所述变化后空间对象记录的空间位置信息与所述空间分片规则进行空间关系判断,如满足与特定空间分片的空间位置关系,则判定当前所述变化后空间对象记录需复制到对应空间分片所在的目的数据库;
S4,根据所述源数据库到所述目的数据库所定义的数据传播规则,将所述变化后空间对象记录复制给目的数据库。
优选地,所述空间分片规则包括:用于界定各空间分片范围的空间分界对象集合;以及与空间分界对象集合中每一个空间分界对象对应的、空间对象记录划归所述空间分界对象所需满足的空间位置关系信息。
优选地,所述数据传播规则包括:数据传播路径、数据传播周期、冲突解决策略以及本数据传播规则的激活状态。
优选地,所述冲突解决策略包括:
a)根据优先级判断,优先采纳优先级较高的空间对象记录;和/或
b)根据时间戳判断,优先采纳时间戳为最新的空间对象记录。
优选地,步骤S3具体包括步骤:
S31顺序地从空间分片规则中读取一个空间分界对象;
S32将当前读取到的空间分界对象与所述提取到的变化后空间对象记录的空间位置信息进行指定空间位置关系的空间关系判断;
S33如符合所述指定空间位置关系,则判定当前变化后空间对象记录需复制到包含有当前空间分界对象所对应空间分片的目的数据库中;
S34循环执行步骤S31-S33,直至遍历所述空间分片规则中所有的空间分界对象。
优选地,步骤S4中将所述变化后空间对象记录复制给目的数据库具体为:
首先判断当前数据传播规则的激活状态,如果处于激活状态,则进一步获取数据传播路径和数据传播周期,并以数据传播路径决定数据传输路由、以数据传播周期决定数据同步时间,将空间表中的空间对象记录复制给目的数据库。
另一方面,本发明还同时提供了一种数据库空间分片复制系统,包括:
分片部署模块,用于将目标分布式数据库的分布式空间表按指定的空间分片方案进行部署,其中,根据空间分片规则按空间位置特征进行分片划分,根据映射关系将划分后的空间分片对应存储到各节点数据库;
变化捕获模块,用于在所述目标分布式数据库的源数据库空间表中捕获空间对象记录所发生的变化,提取变化后空间对象记录的空间位置信息;
分片导航模块,用于将所述变化捕获模块所提取到的变化后空间对象记录的空间位置信息与所述分片部署模块所定义的空间分片规则进行空间关系判断,如满足与特定空间分片的空间位置关系,则判定当前所述变化后空间对象记录需复制到对应空间分片所在的目的数据库;
传播应用模块,用于根据所述分片导航模块所判定的目的数据库以及所述分片部署模块所定义的所述源数据库到所述目的数据库的数据传播规则,将所述变化后空间对象记录复制给目的数据库。
优选地,所述空间分片规则包括:用于界定各空间分片范围的空间分界对象集合;以及与空间分界对象集合中每一个空间分界对象对应的、空间对象记录划归所述空间分界对象所需满足的空间位置关系信息。
优选地,所述数据传播规则包括:数据传播路径、数据传播周期、冲突解决策略以及本数据传播规则的激活状态。
优选地,所述分片导航模块进一步包括:
读取模块,用于顺序地从分片部署模块所定义的空间分片规则中读取一个空间分界对象;
判断模块,用于将当前读取到的空间分界对象与所述变化捕获模块提取到的变化后空间对象记录的空间位置信息进行指定空间位置关系的空间关系判断;
定向模块,用于在所述判断模块的结果符合所述指定空间位置关系时,判定当前变化后空间对象记录需复制到包含有当前空间分界对象所对应空间分片的目的数据库中;
循环模块,用于控制上述三个模块循环执行,直至遍历所述空间分片规则中所有的空间分界对象。
优选地,所述传播应用模块将所述变化后空间对象记录复制给目的数据库具体为:
首先判断当前数据传播规则的激活状态,如果处于激活状态,则进一步获取数据传播路径和数据传播周期,并以数据传播路径决定数据传输路由、以数据传播周期决定数据同步时间,将空间表中的空间对象记录复制给目的数据库。
相对于现有技术,本发明提供了一种数据库空间分片复制方法及系统,按空间位置特征进行分片划分和存储,当捕获到空间数据发生变化时,根据空间关系判断确定复制目标,最后再利用数据传播规则进行数据同步。
本发明相对于现有技术具有以下显著的技术效果:
(1)空间数据按空间位置特征进行分片存储,符合空间数据的按空间区域分布特性,优选的,直接通过定义空间分界对象划分空间分片,简化了空间分布式应用;
(2)由于分片划分通过定义空间分片规则实现,因此分片间允许存在公共区域(交集),较好地解决了相邻节点间因空间数据采集边界的模糊性或周边缓冲出图等需求而要求数据部分重叠的问题;
(3)源数据库和目的数据库间按指定的空间位置关系实现复制,可避免传统的按全副本式复制、手工提取子集或映射键值子集进行复制,提高了分布式环境下空间数据的更新同步效率;
(4)节点间公共区域的更新同步有效支撑维护了空间对象的全局一致性,提高了数据的共享程度。
附图说明
图1为本发明的一个实施例中目标分布式数据库的基本数据结构示意图;
图2为本发明的一个实施例中数据库空间分片复制方法的流程示意图;
图3为本发明给出的一个应用场景中进行一条空间对象记录更新时复制过程的具体实例示意图;
图4为本发明的一个优选实施例中分片导航的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例为实施本发明的较佳实施方式,所述描述是以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围应当以权利要求所界定者为准,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如前所述,分布式数据库的存储主要采用分片和复制两种方式,两种方式可独立使用或同时使用。在本发明中,为了提高空间数据库的分布式效率,对数据分片和复制方式均进行了相应改进。为详细解释本发明的具体实现,下面先对本发明中的空间分片的形式举例说明如下:本发明中,空间分片按所给定的空间位置特征进行分片及存储,分片之间允许存在空间对象的交集,如与区域多边形A(如图1所示的空间分界对象1)相交的空间对象划分为空间分片1、与区域多边形B(如图1所示的空间分界对象2)相交的划到空间分片2…,而区域A和区域B相邻且存在重叠区域,因此,重叠区域的对象同时出现在空间分片1和空间分片2;同时,也可以包含全局范围的空间分片;此外还可能存在其他例子:如和河流A相交的所有支流对象划分为空间分片1、与河流B相交的则划为空间分片2等等。
具体拟结合图1所示分布式数据库和图2所示空间分片复制流程为例进行说明。
1、分片部署
如图1所示,假设对目标分布式数据库DB的一个分布式空间表TB进行部署,其中包含4个数据库节点,分别为DB_a、DB_b、DB_c、DB_d。同时,假设该分布式空间表TB所存储的空间对象为“消防栓”,每一条空间对象记录对应存储一个“消防栓”实体,并假设该表表结构为:
Tb={fid INT,shape GEOMETRY};
其中:fid为空间对象记录的唯一标识字段;shape为空间几何字段(非通用数据库字段类型,但为空间数据库领域技术人员所公知),可采用SQL/MM Spatial或OGC SFSQL标准所定义的GEOMETRY类型进行定义,用于记录空间对象“消防栓”的空间位置信息,如“POINT(60.123,60.123)”代表经纬度(60.123,60.123)所在点位。
现将目标分布式数据库DB的分布式空间表TB按以下空间分片方案进行部署:
首先,以划分空间分界对象方式作为优选实施例,对空间分片规则进行定义。如图1所示,所述空间分片规则包含:用于界定各空间分片范围的空间分界对象集合,即:实施例中以多边形方式划分的空间分界对象1(对应空间分片1)、空间分界对象2(对应空间分片2)和空间分界对象3(对应空间分片3);与空间分界对象集合中每一个空间分界对象对应的、空间对象记录划归所述空间分界对象所需满足的空间位置关系信息,即假设:
与空间分界对象1多边形(记<polygon_1>)具有“包含”空间位置关系(记<within>)的空间对象记录划归空间分片1;
与空间分界对象2多边形(记<polygon_2>)具有“包含”空间位置关系(记<within>)的空间对象记录划归空间分片2;
与空间分界对象3多边形(记<polygon_3>)具有“相交”空间位置关系(记<intersect>)的空间对象记录划归空间分片3。
结合以上描述,本实施例给出空间分片规则的形式化描述为:
Rp={Partition,Relation,Division};
其中;Rp标识空间分片规则的集合;Partition标识空间分片;Relation标识空间位置关系,即用于记录空间对象记录划归当前空间分界对象所需满足的空间位置关系信息,其值可为ISO SQL/MM Spatial或OGC SFSQL所定义的空间关系算子名称;Division为空间分界对象,类型包含点、线或多边形。
假设以“空间分片规则表”的方式实现空间分片规则的定义,结合以上实施例,定义表结构为:Tp(pidINT,rel_shape VARCHAR(20),shapeGEOMETRY),其中pid为空间分片编号;rel_shape为空间位置关系;shape为多边形格式的空间分界对象。根据上述描述,在Tp表中需定义3条空间分片规则,如下图所示,其中空间分界对象polygon_1与polygon_2存在交集。
其次,需要确定划分后的空间分片对应存储到各节点数据库的映射关系,也即每一节点数据库存储包含哪些空间分片的数据。结合实施例,如图1所述,需要在数据库节点DB_a创建TB_a表,用于存储空间分片1、空间分片2和空间分片3的所有数据;在数据库节点DB_b创建TB_b表,用于存储空间分片1的数据;在数据库节点DB_c创建TB_c表,用于存储空间分片2的数据;在数据库节点DB_d创建TB_d表,用于存储空间分片3的数据。其中,TB_a、TB_b、TB_c和DB_d表结构相同,均遵循Tb,初始假设都为空。此处,所述映射关系的具体实现可以通过将空间分片编号和数据传播规则编号进行关联实现(见下分析)。
再则,需要定义描述节点间数据传输策略的数据传播规则。本实施例给出数据传播规则的形式化描述为:
Rc={C1,Cs,Ct,Cb,(Cc,Ce)}
其中,Rc标识数据传播规则的集合;C1为数据传播规则编号;Cs标识源数据库;Ct标识目的数据库;Cb为标志项,标识该传播规则是否激活,如果激活则该条规则可用;(Cc,Ce)为可选项,其中Cc标识优先级,用于冲突解决策略,所述冲突解决策略包括两种:a)根据优先级判断,采纳优先级较高的空间对象记录;b)根据时间戳来判断,采纳时间戳为最新的空间对象记录;如果没有指定该字段则默认使用时间戳来进行冲突解决,即当本地更新和全局更新冲突时,将采用二者中时间戳最新的来作为更新结果;Ce字段用于标识数据传播周期,如果没有指定该字段则默认为实时传播,否则按指定传播时间进行传播,比如指定晚上的某个时间点以避开高峰时段。
正如分布式数据库领域技术人员所公知,所述数据传播规则的定义可采用静态定义的推送模式或动态定义的订阅模式。在本实施例中,数据传播规则采用静态定义的推送模式进行说明。假设以静态的“空间传播规则表”的方式实现空间传播规则的定义,结合以上实施例,定义表结构为:Tc(oid INT,sourcedbVARCHAR(256),targetdb VARCHAR(256),isactiveINT,collision_mode INT,time_cycle DATE),其中oid为数据传播规则编号;sourcedb为源数据库;targetdb为目的数据库;isactive为该传播规则是否激活;collision_mode为冲突处理策略,用1(按优先级策略)或0(按时间戳策略)来表示;time_cycle为传播周期,假设0代表实时传输。结合本实施例,为简化起见,假设数据传播只允许主从方式,即从源数据库节点DB_a复制到其他目的数据库,即分别为DB_a->DB_b,DB_a->DB_c,DB_a->DB_d,则需要在Tc表中定义3条数据传播规则,如下所示:
编号为1的数据传播规则sourcedb设置为DB_a,targetdb设置为DB_b,表示将满足条件的数据从数据库DB_a复制到DB_b中;isactive为1,表示该条路径可用;collision_mode为1,表示如果发生数据的冲突将按优先级策略来解决冲突;time_cycle为0,表示实时传播;编号为2的数据传播规则为将满足条件的数据从数据库DB_a复制到DB_c中,而编号为3的数据传播规则为将满足条件的数据从数据库DB_a复制到DB_d中。
如前所述,空间分片对应存储到各节点数据库的映射关系具体可以通过将空间分片规则和数据传播规则进行关联实现。例如针对本实施例,可在源数据库DB_a中建立一个分片与传播映射关系表,如下所示:
该表的oid列对应到数据传播规则表的oid列,pid列则对应到空间分片规则表的pid列,即:当DB_a数据库的TB_a表中一旦某空间对象记录发生变化,则首先通过空间分片规则表判断该空间对象记录所属空间分片编号,然后通过分片与传播映射关系表,找到对应的数据传播规则编号,然后通过对应的数据传播规则将空间对象记录复制给目的数据库。
2、变化捕获
分片部署后,在所述目标分布式数据库DB的源数据库DB_a空间表TB_a中捕获空间对象记录所发生的变化,提取变化后空间对象记录的空间位置信息。以图3所示的更新操作为例,向数据库DB_a的空间表TB_a中插入一条fid=1的新“消防栓”空间对象记录,且假设该“消防栓”所在空间位置位于所述空间分界对象polygon_1与polygon_2的公共区域内,即执行SQL语句:
INSERTINTOTB_aVALUES(1,ST_GeomFromText(<POINT_1>));
系统可以用数据库技术领域常用的触发器或事务日志等方式捕获以上更新操作,提取变化后空间间对象记录的唯一标识(fid=1)和空间位置信息(<POINT_1>)。
3、分片导航
在源数据库DB_a中捕获变化后,需要对变化后的空间对象记录进行分片导航,以确定所需复制到的目的数据库。下面结合如图3所示的优选的实施例和如图4所示的优选的分片导航步骤和来说明分片导航的具体实施步骤:
a)顺序地从空间分片规则表Tp中读取一个空间分界对象,即读取pid=1的第一条空间分片规则中的<Polygon_1>;
b)将当前读取到的空间分界对象<Polygon_1>与所述提取到的变化后空间对象记录的空间位置信息<POINT_1>进行within空间位置关系的空间关系判断;
c)因<Polygon_1>“包含”<POINT_1>(即符合所述within空间位置关系),则判定当前fid=1的变化后空间对象记录需复制到包含有当前空间分界对象所对应空间分片的目的数据库中,即:根据当前分片规则的pid=1,通过“分片与传播映射关系表”找到对应的数据传播规则编号为oid=1,然后根据oid=1定位“数据传播规则表”中的对应第一行记录,其中目的数据库为DB_b,则说明当前变化后空间对象记录需要从当前的源数据库DB_a复制给目的数据库DB_b。
d)循环执行a)、b)、c)三个步骤,直至遍历所述空间分片规则表中所有的空间分界对象。值得注意的是,因<POINT_1>同时在polygon_2空间范围内,即同时属于空间分片2,因此将按以上流程,同时复制给目的数据库DB_c。
4、传播应用
通过分片导航,已确定当前fid=1的变化后空间对象记录需要根据oid=1和oid=2的数据传播规则从源数据库DB_a复制给目的数据库DB_b和DB_c。以oid=1的数据传播规则为例:根据所述源数据库到所述目的数据库所定义的数据传播规则,首先判断oid=1的数据传播规则的激活状态,因处于激活状态(isactive值为1),则进一步获取数据传播路径和数据传播周期,并以数据传播路径“DB_a->DB_b”决定数据传输路由为从DB_a发往DB_b、以数据传播周期”0”决定数据同步时间为实时同步,将空间表TB_a中的fid=1的空间对象记录复制给目的数据库DB_b。过程中,若发生了数据冲突,比如DB_b的TB_b表中已存在同样fid的记录,则采用优先级策略来解决,如DB_a的优先级高于DB_b,则该记录将被覆盖。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而所述的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。因此,本领域相关技术人员应能理解,与本发明的方法相对应的,本发明还同时包括一种数据库空间分片复制系统,与上述方法步骤一一对应地,该系统包括:
分片部署模块,用于将目标分布式数据库的分布式空间表按指定的空间分片方案进行部署,所述空间分片方案包括:按空间位置特征进行分片划分定义的空间分片规则、将划分后的空间分片对应存储到各节点数据库的映射关系以及描述节点间数据传输策略的数据传播规则;
变化捕获模块,用于在所述目标分布式数据库的源数据库空间表中捕获空间对象记录所发生的变化,提取变化后空间对象记录的空间位置信息;
分片导航模块,用于将所述变化捕获模块所提取到的变化后空间对象记录的空间位置信息与所述分片部署模块所定义的空间分片规则进行空间关系判断,如满足与特定空间分片的空间位置关系,则判定当前所述变化后空间对象记录需复制到对应空间分片所在的目的数据库;
传播应用模块,用于根据分片导航模块所判定的目的数据库以及所述分片部署模块所定义的所述源数据库到所述目的数据库的数据传播规则,将所述变化后空间对象记录复制给目的数据库。
分析以上实施例可以看出:
(1)实施例直接通过定义空间分界对象<Polygon_1>、<Polygon_2>等划分空间分片,使得空间数据可按空间位置特征进行分片存储,符合空间数据的按空间区域分布特性,简化了空间分布式应用;
(2)如图1所示的一个优先实施例中,<Polygon_1>和<Polygon_2>所对应空间分片间允许存在公共区域(交集),较好地解决了相邻节点间因空间数据采集边界的模糊性或周边缓冲出图等需求而要求数据部分重叠的问题;
(3)如图1所示的一个优先实施例中,DB_a和DB_b之间以及DB_b和DB_c之间,并非等同副本,即存在DB_a和DB_b之间数据的“空间包含”关系,也存在DB_b和DB_c之间数据的“空间相交”关系,且当某一源数据库中的空间对象记录发生变化后,是否需复制给其他数据库,均按指定的空间位置关系进行判断,从而可避免传统的按全副本式复制、手工提取子集或映射键值子集进行复制,提高了分布式环境下空间数据的更新同步效率;
(4)如图4所示的一个优先实施例中,如果公共区域的空间对象记录POINT_1同时满足多个空间分片规则,并且该空间分片规则所对应的数据传播规则被激活,则<POINT_1>能够同步到多个数据库节点上,有效的维护了多个节点上公共区域数据的一致性。
虽然以上结合优选实施例对本发明进行了描述,但本领域的技术人员应该理解,本发明所述的方法和系统并不限于具体实施方式中所述的实施例,在不背离由所附权利要求书限定的本发明精神和范围的情况下,可对本发明作出各种修改、增加、以及替换。
Claims (11)
1.一种数据库空间分片复制方法,其特征在于,所述方法包括步骤:
S1,将目标分布式数据库的分布式空间表按指定的空间分片方案进行部署,其中,根据空间分片规则按空间位置特征进行分片划分,根据映射关系将划分后的空间分片对应存储到各节点数据库;
S2,在所述目标分布式数据库的源数据库空间表中捕获空间对象记录所发生的变化,提取变化后空间对象记录的空间位置信息;
S3,将提取到的所述变化后空间对象记录的空间位置信息与所述空间分片规则进行空间关系判断,如满足与特定空间分片的空间位置关系,则判定当前所述变化后空间对象记录需复制到对应空间分片所在的目的数据库;
S4,根据所述源数据库到所述目的数据库所定义的数据传播规则,将所述变化后空间对象记录复制给目的数据库。
2.根据权利要求1所述的方法,其特征在于,所述空间分片规则包括:用于界定各空间分片范围的空间分界对象集合;以及与空间分界对象集合中每一个空间分界对象对应的、空间对象记录划归所述空间分界对象所需满足的空间位置关系信息。
3.根据权利要求1所述的方法,其特征在于,所述数据传播规则包括:数据传播路径、数据传播周期、冲突解决策略以及本数据传播规则的激活状态。
4.根据权利要求3所述的方法,其特征在于,所述冲突解决策略包括:
a)根据优先级判断,优先采纳优先级较高的空间对象记录;和/或
b)根据时间戳判断,优先采纳时间戳为最新的空间对象记录。
5.根据权利要求1或2所述的方法,其特征在于,步骤S3具体包括步骤:
S31顺序地从空间分片规则中读取一个空间分界对象;
S32将当前读取到的空间分界对象与所述提取到的变化后空间对象记录的空间位置信息进行指定空间位置关系的空间关系判断;
S33如符合所述指定空间位置关系,则判定当前变化后空间对象记录需复制到包含有当前空间分界对象所对应空间分片的目的数据库中;
S34循环执行步骤S31-S33,直至遍历所述空间分片规则中所有的空间分界对象。
6.根据权利要求1或3所述的方法,其特征在于,步骤S4中将所述变化后空间对象记录复制给目的数据库具体为:
首先判断当前数据传播规则的激活状态,如果处于激活状态,则进一步获取数据传播路径和数据传播周期,并以数据传播路径决定数据传输路由、以数据传播周期决定数据同步时间,将空间表中的空间对象记录复制给目的数据库。
7.一种数据库空间分片复制系统,其特征在于,所述系统包括:
分片部署模块,用于将目标分布式数据库的分布式空间表按指定的空间分片方案进行部署,其中,根据空间分片规则按空间位置特征进行分片划分,根据映射关系将划分后的空间分片对应存储到各节点数据库;
变化捕获模块,用于在所述目标分布式数据库的源数据库空间表中捕获空间对象记录所发生的变化,提取变化后空间对象记录的空间位置信息;
分片导航模块,用于将所述变化捕获模块所提取到的变化后空间对象记录的空间位置信息与所述分片部署模块所定义的空间分片规则进行空间关系判断,如满足与特定空间分片的空间位置关系,则判定当前所述变化后空间对象记录需复制到对应空间分片所在的目的数据库;
传播应用模块,用于根据所述分片导航模块所判定的目的数据库以及所述分片部署模块所定义的所述源数据库到所述目的数据库的数据传播规则,将所述变化后空间对象记录复制给目的数据库。
8.根据权利要求7所述的系统,其特征在于,所述空间分片规则包括:用于界定各空间分片范围的空间分界对象集合;以及与空间分界对象集合中每一个空间分界对象对应的、空间对象记录划归所述空间分界对象所需满足的空间位置关系信息。
9.根据权利要求7所述的系统,其特征在于,所述数据传播规则包括:数据传播路径、数据传播周期、冲突解决策略以及本数据传播规则的激活状态。
10.根据权利要求7或8所述的系统,其特征在于,所述分片导航模块进一步包括:
读取模块,用于顺序地从分片部署模块所定义的空间分片规则中读取一个空间分界对象;
判断模块,用于将当前读取到的空间分界对象与所述变化捕获模块提取到的变化后空间对象记录的空间位置信息进行指定空间位置关系的空间关系判断;
定向模块,用于在所述判断模块的结果符合所述指定空间位置关系时,判定当前变化后空间对象记录需复制到包含有当前空间分界对象所对应空间分片的目的数据库中;
循环模块,用于控制上述三个模块循环执行,直至遍历所述空间分片规则中所有的空间分界对象。
11.根据权利要求7或9所述的系统,其特征在于,所述传播应用模块将所述变化后空间对象记录复制给目的数据库具体为:
首先判断当前数据传播规则的激活状态,如果处于激活状态,则进一步获取数据传播路径和数据传播周期,并以数据传播路径决定数据传输路由、以数据传播周期决定数据同步时间,将空间表中的空间对象记录复制给目的数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410133174.5A CN103870602B (zh) | 2014-04-03 | 2014-04-03 | 数据库空间分片复制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410133174.5A CN103870602B (zh) | 2014-04-03 | 2014-04-03 | 数据库空间分片复制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103870602A true CN103870602A (zh) | 2014-06-18 |
CN103870602B CN103870602B (zh) | 2017-05-31 |
Family
ID=50909132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410133174.5A Expired - Fee Related CN103870602B (zh) | 2014-04-03 | 2014-04-03 | 数据库空间分片复制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103870602B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930389A (zh) * | 2016-04-14 | 2016-09-07 | 北京京东尚科信息技术有限公司 | 数据结转的方法和系统 |
CN106528793A (zh) * | 2016-12-14 | 2017-03-22 | 国家测绘地理信息局卫星测绘应用中心 | 一种分布式空间数据库的时空分片存储方法 |
WO2017097059A1 (zh) * | 2015-12-07 | 2017-06-15 | 中兴通讯股份有限公司 | 分布式数据库系统及其自适应方法 |
CN108351900A (zh) * | 2015-10-07 | 2018-07-31 | 甲骨文国际公司 | 用于分片的关系数据库组织 |
CN108701156A (zh) * | 2016-01-04 | 2018-10-23 | 奈飞公司 | 在分布式数据存储系统中执行数据协调的技术 |
CN109074362A (zh) * | 2016-05-02 | 2018-12-21 | 谷歌有限责任公司 | 分布式系统中的拆分和移动范围 |
CN109271444A (zh) * | 2018-08-10 | 2019-01-25 | 武汉达梦数据库有限公司 | 一种基于触发器的表级双向同步实现方法和系统 |
CN110035307A (zh) * | 2019-03-08 | 2019-07-19 | 视联动力信息技术股份有限公司 | 一种分片存储方法和装置 |
CN110110158A (zh) * | 2019-05-09 | 2019-08-09 | 正元地理信息集团股份有限公司 | 一种三维网格数据的存储空间划分方法及系统 |
WO2020135551A1 (zh) * | 2018-12-29 | 2020-07-02 | 中兴通讯股份有限公司 | 一种数据库同步复制的方法和装置 |
CN112364103A (zh) * | 2020-12-08 | 2021-02-12 | 四川长虹电器股份有限公司 | 基于关系型数据库主从异步复制架构的数据同步方法 |
CN114745327A (zh) * | 2022-06-10 | 2022-07-12 | 鹏城实验室 | 业务数据转发方法、装置、设备及存储介质 |
CN114925073A (zh) * | 2022-06-14 | 2022-08-19 | 九有技术(深圳)有限公司 | 支持灵活动态分片的分布式数据库架构及其实现方法 |
EP4174676A4 (en) * | 2020-06-28 | 2023-11-08 | ZTE Corporation | METHOD AND APPARATUS FOR DATA REDISTRIBUTION |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008138002A1 (en) * | 2007-05-08 | 2008-11-13 | Laser-Scan, Inc. | Three-dimensional topology building method and system |
CN101763416A (zh) * | 2009-12-29 | 2010-06-30 | 中国科学院地理科学与资源研究所 | 一种数据库空间栅格对象存取方法 |
CN102306166A (zh) * | 2011-08-22 | 2012-01-04 | 河南理工大学 | 一种移动地理信息空间索引方法 |
CN102622349A (zh) * | 2011-01-26 | 2012-08-01 | 北京四维图新科技股份有限公司 | 空间位置信息数据库的处理方法及装置 |
CN102819562A (zh) * | 2012-07-04 | 2012-12-12 | 国家基础地理信息中心 | 一种地理空间信息网络化标报的方法 |
-
2014
- 2014-04-03 CN CN201410133174.5A patent/CN103870602B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008138002A1 (en) * | 2007-05-08 | 2008-11-13 | Laser-Scan, Inc. | Three-dimensional topology building method and system |
CN101763416A (zh) * | 2009-12-29 | 2010-06-30 | 中国科学院地理科学与资源研究所 | 一种数据库空间栅格对象存取方法 |
CN102622349A (zh) * | 2011-01-26 | 2012-08-01 | 北京四维图新科技股份有限公司 | 空间位置信息数据库的处理方法及装置 |
CN102306166A (zh) * | 2011-08-22 | 2012-01-04 | 河南理工大学 | 一种移动地理信息空间索引方法 |
CN102819562A (zh) * | 2012-07-04 | 2012-12-12 | 国家基础地理信息中心 | 一种地理空间信息网络化标报的方法 |
Non-Patent Citations (1)
Title |
---|
邬伦 等: "分布式多空间数据库系统的集成技术", 《地理学与国土研究》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108351900A (zh) * | 2015-10-07 | 2018-07-31 | 甲骨文国际公司 | 用于分片的关系数据库组织 |
WO2017097059A1 (zh) * | 2015-12-07 | 2017-06-15 | 中兴通讯股份有限公司 | 分布式数据库系统及其自适应方法 |
US11789926B2 (en) | 2016-01-04 | 2023-10-17 | Netflix, Inc. | Techniques for performing data reconciliation in distributed data store systems |
CN108701156A (zh) * | 2016-01-04 | 2018-10-23 | 奈飞公司 | 在分布式数据存储系统中执行数据协调的技术 |
CN108701156B (zh) * | 2016-01-04 | 2022-08-23 | 奈飞公司 | 在分布式数据存储系统中执行数据协调的技术 |
CN105930389A (zh) * | 2016-04-14 | 2016-09-07 | 北京京东尚科信息技术有限公司 | 数据结转的方法和系统 |
CN109074362B (zh) * | 2016-05-02 | 2020-06-05 | 谷歌有限责任公司 | 分布式系统中的拆分和移动范围 |
CN109074362A (zh) * | 2016-05-02 | 2018-12-21 | 谷歌有限责任公司 | 分布式系统中的拆分和移动范围 |
CN106528793B (zh) * | 2016-12-14 | 2019-12-24 | 自然资源部国土卫星遥感应用中心 | 一种分布式空间数据库的时空分片存储方法 |
CN106528793A (zh) * | 2016-12-14 | 2017-03-22 | 国家测绘地理信息局卫星测绘应用中心 | 一种分布式空间数据库的时空分片存储方法 |
CN109271444A (zh) * | 2018-08-10 | 2019-01-25 | 武汉达梦数据库有限公司 | 一种基于触发器的表级双向同步实现方法和系统 |
WO2020135551A1 (zh) * | 2018-12-29 | 2020-07-02 | 中兴通讯股份有限公司 | 一种数据库同步复制的方法和装置 |
CN111382199A (zh) * | 2018-12-29 | 2020-07-07 | 中兴通讯股份有限公司 | 一种数据库同步复制的方法和装置 |
CN110035307A (zh) * | 2019-03-08 | 2019-07-19 | 视联动力信息技术股份有限公司 | 一种分片存储方法和装置 |
CN110110158A (zh) * | 2019-05-09 | 2019-08-09 | 正元地理信息集团股份有限公司 | 一种三维网格数据的存储空间划分方法及系统 |
EP4174676A4 (en) * | 2020-06-28 | 2023-11-08 | ZTE Corporation | METHOD AND APPARATUS FOR DATA REDISTRIBUTION |
CN112364103A (zh) * | 2020-12-08 | 2021-02-12 | 四川长虹电器股份有限公司 | 基于关系型数据库主从异步复制架构的数据同步方法 |
CN112364103B (zh) * | 2020-12-08 | 2022-03-01 | 四川长虹电器股份有限公司 | 基于关系型数据库主从异步复制架构的数据同步方法 |
CN114745327A (zh) * | 2022-06-10 | 2022-07-12 | 鹏城实验室 | 业务数据转发方法、装置、设备及存储介质 |
CN114925073A (zh) * | 2022-06-14 | 2022-08-19 | 九有技术(深圳)有限公司 | 支持灵活动态分片的分布式数据库架构及其实现方法 |
CN114925073B (zh) * | 2022-06-14 | 2024-04-16 | 深圳九有数据库有限公司 | 支持灵活动态分片的分布式数据库系统及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103870602B (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103870602A (zh) | 数据库空间分片复制方法及系统 | |
Xia et al. | Study on city digital twin technologies for sustainable smart city design: A review and bibliometric analysis of geographic information system and building information modeling integration | |
Xu et al. | Transit-oriented development in China: Literature review and evaluation of TOD potential across 50 Chinese cities | |
CN105608155B (zh) | 海量数据分布式存储系统 | |
Zhang et al. | An analysis of the determinants of the multiplex urban networks in the Yangtze River Delta | |
JP2009536372A (ja) | 仮想データベース環境を提供し且つデジタル地図情報を生成するシステム及び方法 | |
CN105843702A (zh) | 一种用于数据备份的方法以及装置 | |
CN103902405B (zh) | 一种准连续性数据复制方法及装置 | |
Han et al. | The spatial distribution of producer services in Shanghai | |
Xia et al. | Building a spatiotemporal index for earth observation big data | |
CN106528793A (zh) | 一种分布式空间数据库的时空分片存储方法 | |
Teo et al. | A novel systematic approach of constructing protests repertoires from social media: comparing the roles of organizational and non-organizational actors in social movement | |
CN105095392A (zh) | 一种数据集市间共享数据的方法及装置 | |
CN105824621A (zh) | 基于图形建模的嵌入式软件多人并发建模方法及系统 | |
CN102930536A (zh) | 基于层次化结构的室内场景运动性分析与检测方法 | |
Akcan | The" Occupy" Turn in the Global City Paradigm: The Architecture of AK Party's Istanbul and the Gezi Movement | |
CN103198148A (zh) | 地图出版数据一体化管理及多媒介发布方法 | |
Liu et al. | Constructing cultural space and telling cultural stories: A case study of regional cultural heritage preservation in Shichahai, Beijing | |
Chmielewski et al. | High detail terrain models and multiresolution path finding algorithms for Border Guard constructive simulator. A study of effective movement algorithms in high resolution simulation environment | |
CN109408673A (zh) | 地图管理方法和管理平台 | |
Zanazzi et al. | Census of abandoned built heritage assets: The importance of defining shared methodologies and ontologies | |
CN102004761A (zh) | 数据存储方法和系统 | |
CN112288611A (zh) | 一种基于地域文化振兴的历史建筑群落活化的规划方法 | |
Kaladzavi et al. | Geo-spatial domain ontology: the case of the socio-cultural infrastructures | |
Basso et al. | Towards the creation of an archaeological urban information system: data modeling of the historical heritage of Verona |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170531 Termination date: 20190403 |