基于虚拟分布式服务器的数据存储方法技术

技术编号:39502365 阅读:9 留言:0更新日期:2023-11-24 11:32
本发明专利技术公开了一种基于虚拟分布式服务器的数据存储方法,应用于数据交换设备,该方法包括:响应于接受服务端的事务,按照每一条数据依次拆分事务;事务至少包括第一事务与第二事务,第一事务用于在第一表中存储第一数据,第二事务用于在第二表中存储第二数据;其中,事务具有原子性,第二表存在外键约束;根据第二表的外键约束,以及第一映射表,获取第二表的外键约束关联的第三表;根据第三表,判断第二数据是否满足外键约束;若满足外键约束,依次执行事务

【技术实现步骤摘要】
基于虚拟分布式服务器的数据存储方法


[0001]本专利技术属于分布式数据管理领域,更具体的,涉及一种基于虚拟分布式服务器的数据存储方法


技术介绍

[0002]当分布式数据库处理事务时,若采取的是持久消息而非加锁

尽管很大程度上避免了线程的阻塞问题,但是其错误处理的能力却远不如加锁,特别是在事务中存在一些数据处于外键约束的情况下


技术实现思路

[0003]为解决现有技术中存在的不足,本专利技术的目的在于解决上述缺陷,进而提出一种基于虚拟分布式服务器的数据存储方法

该方法起初只是为了确保数据库接口的封装性,从而实现服务端与数据库之间的解耦

然而在本专利技术的场景下,其极大的提高了处理外键约束情形下的数据库存储问题的工作效率

[0004]本专利技术采用如下的技术方案

[0005]本专利技术第一方面公开了一种基于虚拟分布式服务器的数据存储方法,应用于数据交换设备,该方法包括步骤
S1~
步骤
S4
;步骤
S1
,响应于接受服务端的事务,按照每一条数据依次拆分事务;事务至少包括第一事务与第二事务,第一事务用于在第一表中存储第一数据,第二事务用于在第二表中存储第二数据;其中,事务具有原子性,第二表存在外键约束;步骤
S2
,根据第二表的外键约束,以及第一映射表,获取第二表的外键约束关联的第三表;步骤
S3
,根据第三表,判断第二数据是否满足外键约束;步骤
S4
,若满足外键约束,依次执行事务;若不满足外键约束,发送事务执行失败信息给服务端

[0006]本专利技术第二方面公开了一种基于虚拟分布式服务器的数据存储系统,用于执行第一方面所述的方法,系统包括:至少一个服务端

数据交换设备与多个数据存储设备;服务端包括逻辑模块通信,用于生成事务,其中,事务至少包括第一事务与第二事务,第一事务用于在第一表中存储第一数据,第二事务用于在第二表中存储第二数据;数据交换设备用于分担服务端的压力,至少包括第二接口与第三接口;其中,第二接口与数据存储设备的第一接口通信连接,第三接口与服务端的逻辑模块通信连接;数据交换设备还用于响应于接受服务端的事务,按照每一条数据依次拆分事务;以及根据第二表的外键约束,以及第一映射表,获取第二表的外键约束关联的第三表;以及根据第三表,判断第二数据是否满足外键约束;以及若满足外键约束,依次执行事务;若不满足外键约束,发送事务执行失败信息给服务端;数据交换设备作为虚拟数据库,作为服务端与数据存储设备之间的唯一接口;
数据存储设备用于存储数据,从而作为上述执行事务的主体

[0007]本专利技术的有益效果在于,与现有技术相比,本专利技术具有以下优点:(1)本专利技术通过管理模块中的第一映射表,在创建表的过程中,对外键约束的信息进行了预存储,从而在事务执行中,能够通过第一映射表对外键约束进行提前分析与预判,从而在虚拟数据库端(也就是数据交换设备),而不是实际的数据库端,提前完成了错误处理

从而避免了利用数据库端的持久消息进行错误处理

[0008](2)本专利技术巧妙的利用了虚拟数据库的封装性特点,将外键约束的载体由实际的分布式的数据库并转移至虚拟的数据库

也就是说,由于数据交换设备在现有技术中通常会承担虚拟数据库的责任,以方便对外(也就是服务端)统一接口

因此,本专利技术将原本实际数据库中的外键约束,转移给了虚拟数据库,从而避免了实际的分布式数据库中对外键约束的判断

也就是说,实际的数据库中,也就是数据存储设备中没有任何一个表存在外键约束关系

附图说明
[0009]图
1A
是一种分布式服务器的数据存储系统的示意图

[0010]图
1B
是本专利技术实施例的一种基于虚拟分布式服务器的数据存储系统的示意图

[0011]图
2A
是考勤表与员工表的创建代码的示意图

[0012]图
2B
是外键约束下,考勤表的创建代码的示意图

[0013]图3是本专利技术实施例的一种基于虚拟分布式服务器的数据存储方法的流程图

[0014]图
4A
是在分布式数据库下,利用持久消息对外键约束进行错误处理的流程图

[0015]图
4B
是在分布式数据库下,外键约束的判断的流程图

[0016]图
4C
是本专利技术实施例的在分布式数据库下,外键约束的判断的流程图

具体实施方式
[0017]下面结合附图对本申请作进一步描述

以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本申请的保护范围

[0018]一种分布式服务器的数据存储系统,可以如图
1A
所示

该系统可以包括:至少一个服务端

数据交换设备与多个数据存储设备

[0019]在图
1A
中,数据存储设备用于存储数据,其内部通常主要包括磁盘,海量的数据以数据库的表现形式存储在磁盘上

数据存储设备还应当包括第一接口,第一接口用于外部访问或存储数据库中海量的数据

[0020]数据交换设备可以集成在服务端内部,但通常会单独抽离出服务端,从而分担服务端的压力

数据交换设备至少包括第二接口与第三接口

可理解的,第二接口与数据存储设备的第一接口通信连接,第三接口与服务端的逻辑模块通信连接

数据交换设备的交换端通常还承担数据安全传输的责任

[0021]可以理解的是,第一接口

第二接口与第三接口本质上也是逻辑模块,其内部逻辑可以通过代码实现

由于第一接口

第二接口与第三接口所承担的功能只需要负责对外接口,因此从命名上加以区分

[0022]出于封装的设计思想,例如,当服务端需要存储或访问数据时,不应当由服务端考
虑该数据到底是存储在数据存储设备1上还是数据存储设备2上

[0023]基于此,本专利技术公开了一种基于虚拟分布式服务器的数据存储系统,可以如图
1B
所示

[0024]区别的是,数据交换设备被当做虚拟数据库使用

交换端还包括管理模块;其中,虚拟数据库作为所有服务端的数据库接口

也就是说,站在服务端的视角上看,服务端的开发人员只需要将数据存储在该虚拟数据库中即可<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于虚拟分布式服务器的数据存储方法,应用于数据交换设备,其特征在于,所述方法包括步骤
S1~
步骤
S4
;步骤
S1
,响应于接受服务端的事务,按照每一条数据依次拆分事务;事务至少包括第一事务与第二事务,第一事务用于在第一表中存储第一数据,第二事务用于在第二表中存储第二数据;其中,事务具有原子性,第二表存在外键约束;步骤
S2
,根据第二表的外键约束,以及第一映射表,获取第二表的外键约束关联的第三表;步骤
S3
,根据第三表,判断第二数据是否满足外键约束;步骤
S4
,若满足外键约束,依次执行事务;若不满足外键约束,发送事务执行失败信息给服务端
。2.
根据权利要求1所述的一种基于虚拟分布式服务器的数据存储方法,其特征在于,步骤
S3
中依次执行事务,具体为通过持久消息的方式依次执行事务
。3.
根据权利要求1所述的一种基于虚拟分布式服务器的数据存储方法,其特征在于,所述方法在执行步骤
S1~
步骤
S4
之前还包括步骤
S101~
步骤
S104
;步骤
S101
,响应于新表的创建,判断所述新表是否存在外键约束;步骤
S102
,若新表存在外键约束,获取新表的外键约束关联的限定表;步骤
S103
,以新表的名称作为键,以限定表的名称作为值,形成键值对存储至第一映射表中;步骤
S104
,将新表存储至数据存储设备的数据库中
。4.
根据权利要求3所述的一种基于虚拟分布式服务器的数据存储方法,其特征在于,步骤
S104
具体包括步骤
S201~
步骤
S202

【专利技术属性】
技术研发人员:张玉磊梅雪明丁皓张敬超
申请(专利权)人:江苏量界数据科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1