基于分布式技术的时空大数据存储方法及系统转让专利

申请号 : CN202310646011.6

文献号 : CN116382596B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 彭贵旭马伟谢鹏郭富涛冀宗童

申请人 : 智成时空(西安)创新科技有限公司

摘要 :

本发明公开了一种基于分布式技术的时空大数据存储方法及系统,该方法将存储服务器按照数据形式划分为若干个存储单元,将每一存储单元划分成若干个存储区块,当时空大数据片段输入到存储服务器后,对时空大数据片段的来源进行分析,以确定时空大数据片段对应的存储路径,基于时空大数据片段对应的存储路径调取对应的存储线程,控制模块控制所述存储线程将时空大数据片段存储到对应的存储缓存区块中;对存储缓存区块的有效存储空间值进行检测,当存储缓存区块的有效存储空间值降低至设定阈值后,将存储缓存区块内的所有时空大数据片段进行移存,并形成移存指令,基于移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块中。

权利要求 :

1.一种基于分布式技术的时空大数据存储方法,其特征在于,包括如下步骤:

将存储服务器按照数据形式划分为若干个存储单元,每一存储单元具有唯一的存储位置;

将每一存储单元划分成若干个存储区块,记录每一存储区块的存储地址,以及在存储服务器中设置有与存储区块对应的存储缓存区块;

当时空大数据片段输入到存储服务器后,对时空大数据片段的来源进行分析,以确定时空大数据片段对应的存储路径,基于时空大数据片段对应的存储路径调取对应的存储线程,控制模块控制所述存储线程将时空大数据片段存储到对应的存储缓存区块中;在时空大数据片段存储到存储缓存区块的过程中,对存储缓存区块的有效存储空间值进行检测,当存储缓存区块的有效存储空间值降低至设定阈值后,将存储缓存区块内的所有时空大数据片段进行移存,并形成移存指令,基于移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块中;

在控制所述存储线程将时空大数据片段存储到存储缓存区块的过程中,通过程序计数器来调用和控制存储线程,并通过程序计数器内的监听单元将调用的存储线程进行关联,通过监听单元实时的获取存储线程的执行状态;

同时程序计数器向CPU发送线程检测指令,CPU基于线程检测指令对应的输出存储线程并将存储线程的运行状态一并输出,其中运行状态表示为对CPU运行资源的占用状态;

基于存储线程的执行状态和CPU输出的存储线程的运行状态来综合判断存储线程是否在执行时空大数据片段的存储任务;

若监测到存储线程具有存储任务的执行,获取对应的时空大数据片段的特征编码,基于每一时空大数据片段的特征编码将时空大数据片段对应的存储到存储缓存区块中,并基于每一时空大数据片段的特征编码形成一个数据列表。

2.根据权利要求1所述的基于分布式技术的时空大数据存储方法,其特征在于,将时空大数据片段从存储缓存区块移存到对应的存储区块后,存储缓存区块被释放。

3.根据权利要求1所述的基于分布式技术的时空大数据存储方法,其特征在于,对存储缓存区块的有效存储空间值进行检测的方法为:读取对存储线程的综合判断结果,以确定存储线程在执行时空大数据片段的存储任务;

控制模块发送内存检测指令,以对存储缓存区块在设定周期内进行内存监测轮检;每一次监测后对应的记录存储缓存区块的有效存储空间值;

并将每一设定周期中最终记录的存储缓存区块的有效存储空间值作为下一周期进行内存监测轮检的初始值。

4.根据权利要求1所述的基于分布式技术的时空大数据存储方法,其特征在于,基于所述移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块的方法为:控制模块读取移存指令,基于所述移存指令对应的调取数据列表;

获取存储缓存区块内的所有时空大数据片段的存储空间占用值,基于存储空间占用值来对应的选择移存路径,并将移存路径匹配到存储区块的存储地址中,并以数据列表形成存储列表;基于配置好的移存路径将所有时空大数据片段从存储缓存区块移存到对应的存储区块;

同时基于存储区块的原始存储空间值和每一次移存过程中所有时空大数据片段的存储空间占用值来换算得到存储区块的实时存储空间。

5.根据权利要求4所述的基于分布式技术的时空大数据存储方法,其特征在于,在移存过程中,控制模块基于存储列表与数据列表的对应关系,以获取每一时空大数据片段的特征编码;通过对每一时空大数据片段的特征编码的识别来判断移存任务是否被移存至存储单元中。

6.一种基于分布式技术的时空大数据存储系统,使用权利要求1至5任意一项所述的基于分布式技术的时空大数据存储方法,其特征在于,包括:存储服务器,该存储服务器被配置成按照数据形式划分为若干个存储单元,每一存储单元具有唯一的存储位置;

所述存储单元被配置成若干个存储区块,记录每一存储区块的存储地址;

存储缓存区块,设置在存储服务器中,并与存储区块一一对应,且所述存储缓存区块被配置成具有设定的缓存存储空间值;

所述存储服务器内还设置有分析模块、控制模块、移存模块、存储线程配置模块以及初始化模块;

所述分析模块用于当时空大数据片段输入到存储服务器后,对时空大数据片段的来源进行分析,以确定时空大数据片段对应的存储路径;

所述控制模块基于时空大数据片段对应的存储路径来控制存储线程配置模块生成存储线程并调用该存储线程,所述控制模块控制所述存储线程将时空大数据片段存储到对应的存储缓存区块中;在时空大数据片段存储到存储缓存区块的过程中,对存储缓存区块的有效存储空间值进行检测,当存储缓存区块的有效存储空间值降低至设定阈值后,将存储缓存区块内的所有时空大数据片段进行移存,并形成移存指令,所述移存模块用于基于移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块中;

当所有时空大数据片段从存储缓存区块移存到对应的存储区块后,所述控制模块控制初始化模块对存储缓存区块进行初始化操作,初始化操作完毕后存储缓存区块被占用的内存被释放,恢复到设定的缓存存储空间值。

7.根据权利要求6所述的基于分布式技术的时空大数据存储系统,其特征在于,所述控制模块设置有程序计数器;

在所述程序计数器内设置有监听单元、协同监听检测单元、判断单元、识别单元以及列表生成单元;

其中,在控制所述存储线程将时空大数据片段存储到存储缓存区块的过程中,通过程序计数器来调用和控制存储线程,并将所述监听单元和调用的存储线程进行关联,通过监听单元实时的获取存储线程的执行状态;

所述协同监听检测单元用于在监听单元实时的获取存储线程的执行状态的同时向CPU发送线程检测指令,CPU基于线程检测指令对应的输出存储线程并将存储线程的运行状态一并输出,其中运行状态表示为对CPU运行资源的占用状态;

所述判断单元用于基于存储线程的执行状态和CPU输出的存储线程的运行状态来综合判断存储线程是否在执行时空大数据片段的存储任务,输出判断结果;

所述识别单元用于基于判断单元来对应的获取时空大数据片段的特征编码,基于每一时空大数据片段的特征编码将时空大数据片段对应的存储到存储缓存区块中,所述列表生成单元用于基于每一时空大数据片段的特征编码形成一个数据列表。

8.根据权利要求6所述的基于分布式技术的时空大数据存储系统,其特征在于,所述控制模块内设置有检测单元、存储任务确定单元以及记录单元;

所述存储任务确定单元用于读取对存储线程的综合判断结果,以确定存储线程在执行时空大数据片段的存储任务;

所述检测单元发送内存检测指令,以对存储缓存区块在设定周期内进行内存监测轮检;每一次监测后对应的记录存储缓存区块的有效存储空间值;

所述记录单元用于将每一设定周期中最终记录的存储缓存区块的有效存储空间值作为下一周期进行内存监测轮检的初始值。

9.根据权利要求6所述的基于分布式技术的时空大数据存储系统,其特征在于,所述移存模块基于所述移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块的方法为:控制模块读取移存指令,基于所述移存指令对应的调取数据列表;

获取存储缓存区块内的所有时空大数据片段的存储空间占用值,基于存储空间占用值来对应的选择移存路径,并将移存路径匹配到存储区块的存储地址中,并以数据列表形成存储列表;基于配置好的移存路径将所有时空大数据片段从存储缓存区块移存到对应的存储区块;

同时基于存储区块的原始存储空间值和每一次移存过程中所有时空大数据片段的存储空间占用值来换算得到存储区块的实时存储空间。

说明书 :

基于分布式技术的时空大数据存储方法及系统

技术领域

[0001] 本发明涉及一种时空大数据存储处理技术领域,特别涉及一种基于分布式技术的时空大数据存储方法及系统。

背景技术

[0002] 在利用Unity3D和Unreal提供的标准GIS服务资源接入技术来进行基于GIS的空间三维数据渲染之前,通常需要将空间三维数据进行对应的存储。
[0003] 在进行分布式存储时,传统的技术手段是迭代遍历数据的存储文件夹;获取各个图幅需要的对应的数据名称和数据集;通过人工专家进行标记,输入至迭代模型(神经网络模型)就可以将数据通过迭代模型进行分类存储。目前的分类存储方法是通过构建存储树模型进行分类存储,每一分支均要对应的设置一个独立的存储空间,在存储空间进行数据存储时,一般都是按照时序和数据的完整性作为一个片段进行存储,存储时不同的时空大数据片段都是暂用一个独立的存储目录(比如存储文件夹内),一方面,存储目录较多,导致读取数据时需要经过大量的检索才能读取数据,同时大量的存储目录也导致存储空间不能被优化。

发明内容

[0004] 有鉴于此,本发明的目的在于提供一种基于分布式技术的时空大数据存储方法及系统。
[0005] 为实现上述目的,一方面,本发明提供了一种基于分布式技术的时空大数据存储方法,包括如下步骤:
[0006] 将存储服务器按照数据形式划分为若干个存储单元,每一存储单元具有唯一的存储位置;
[0007] 将每一存储单元划分成若干个存储区块,记录每一存储区块的存储地址,以及在存储服务器中设置有与存储区块对应的存储缓存区块;
[0008] 当时空大数据片段输入到存储服务器后,对时空大数据片段的来源进行分析,以确定时空大数据片段对应的存储路径,基于时空大数据片段对应的存储路径调取对应的存储线程,控制模块控制所述存储线程将时空大数据片段存储到对应的存储缓存区块中;在时空大数据片段存储到存储缓存区块的过程中,对存储缓存区块的有效存储空间值进行检测,当存储缓存区块的有效存储空间值降低至设定阈值后,将存储缓存区块内的所有时空大数据片段进行移存,并形成移存指令,基于移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块中。
[0009] 进一步地,将时空大数据片段从存储缓存区块移存到对应的存储区块后,存储缓存区块被释放。
[0010] 进一步地,在控制所述存储线程将时空大数据片段存储到存储缓存区块的过程中,通过程序计数器来调用和控制存储线程,并通过程序计数器内的监听单元将调用的存储线程进行关联,通过监听单元实时的获取存储线程的执行状态;
[0011] 同时程序计数器向CPU发送线程检测指令,CPU基于线程检测指令对应的输出存储线程并将存储线程的运行状态一并输出,其中运行状态表示为对CPU运行资源的占用状态;
[0012] 基于存储线程的执行状态和CPU输出的存储线程的运行状态来综合判断存储线程是否在执行时空大数据片段的存储任务;
[0013] 若监测到存储线程具有存储任务的执行,获取对应的时空大数据片段的特征编码,基于每一时空大数据片段的特征编码将时空大数据片段对应的存储到存储缓存区块中,并基于每一时空大数据片段的特征编码形成一个数据列表。
[0014] 进一步地,对存储缓存区块的有效存储空间值进行检测的方法为:
[0015] 读取对存储线程的综合判断结果,以确定存储线程在执行时空大数据片段的存储任务;
[0016] 控制模块发送内存检测指令,以对存储缓存区块在设定周期内进行内存监测轮检;每一次监测后对应的记录存储缓存区块的有效存储空间值;
[0017] 并将每一设定周期中最终记录的存储缓存区块的有效存储空间值作为下一周期进行内存监测轮检的初始值。
[0018] 进一步地,基于所述移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块的方法为:
[0019] 控制模块读取移存指令,基于所述移存指令对应的调取数据列表;
[0020] 获取存储缓存区块内的所有时空大数据片段的存储空间占用值,基于存储空间占用值来对应的选择移存路径,并将移存路径匹配到存储区块的存储地址中,并以数据列表形成存储列表;基于配置好的移存路径将所有时空大数据片段从存储缓存区块移存到对应的存储区块;
[0021] 同时基于存储区块的原始存储空间值和每一次移存过程中所有时空大数据片段的存储空间占用值来换算得到存储区块的实时存储空间。
[0022] 进一步地,在移存过程中,控制模块基于存储列表与数据列表的对应关系,以获取每一时空大数据片段的特征编码;通过对每一时空大数据片段的特征编码的识别来判断移存任务是否被移存至存储单元中。
[0023] 另一方面,本申请还提供了一种基于分布式技术的时空大数据存储系统,包括:存储服务器,该存储服务器被配置成按照数据形式划分为若干个存储单元,每一存储单元具有唯一的存储位置;
[0024] 所述存储单元被配置成若干个存储区块,记录每一存储区块的存储地址;
[0025] 存储缓存区块,设置在存储服务器中,并与存储区块一一对应,且所述存储缓存区块被配置成具有设定的缓存存储空间值;
[0026] 所述存储服务器内还设置有分析模块、控制模块、移存模块、存储线程配置模块以及初始化模块;
[0027] 所述分析模块用于当时空大数据片段输入到存储服务器后,对时空大数据片段的来源进行分析,以确定时空大数据片段对应的存储路径;
[0028] 所述控制模块基于时空大数据片段对应的存储路径来控制存储线程配置模块生成存储线程并调用该存储线程,所述控制模块控制所述存储线程将时空大数据片段存储到对应的存储缓存区块中;在时空大数据片段存储到存储缓存区块的过程中,对存储缓存区块的有效存储空间值进行检测,当存储缓存区块的有效存储空间值降低至设定阈值后,将存储缓存区块内的所有时空大数据片段进行移存,并形成移存指令,
[0029] 所述移存模块用于基于移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块中;
[0030] 当所有时空大数据片段从存储缓存区块移存到对应的存储区块后,所述控制模块控制初始化模块对存储缓存区块进行初始化操作,初始化操作完毕后存储缓存区块被占用的内存被释放,恢复到设定的缓存存储空间值。
[0031] 进一步地,所述控制模块设置有程序计数器;
[0032] 在所述程序计数器内设置有监听单元、协同监听检测单元、判断单元、识别单元以及列表生成单元;
[0033] 其中,在控制所述存储线程将时空大数据片段存储到存储缓存区块的过程中,通过程序计数器来调用和控制存储线程,并将所述监听单元和调用的存储线程进行关联,通过监听单元实时的获取存储线程的执行状态;
[0034] 所述协同监听检测单元用于在监听单元实时的获取存储线程的执行状态的同时向CPU发送线程检测指令,CPU基于线程检测指令对应的输出存储线程并将存储线程的运行状态一并输出,其中运行状态表示为对CPU运行资源的占用状态;
[0035] 所述判断单元用于基于存储线程的执行状态和CPU输出的存储线程的运行状态来综合判断存储线程是否在执行时空大数据片段的存储任务,输出判断结果;
[0036] 所述识别单元用于基于判断单元来对应的获取时空大数据片段的特征编码,基于每一时空大数据片段的特征编码将时空大数据片段对应的存储到存储缓存区块中,[0037] 所述列表生成单元用于基于每一时空大数据片段的特征编码形成一个数据列表。
[0038] 进一步地,所述控制模块内设置有检测单元、存储任务确定单元以及记录单元;
[0039] 所述存储任务确定单元用于读取对存储线程的综合判断结果,以确定存储线程在执行时空大数据片段的存储任务;
[0040] 所述检测单元发送内存检测指令,以对存储缓存区块在设定周期内进行内存监测轮检;每一次监测后对应的记录存储缓存区块的有效存储空间值;
[0041] 所述记录单元用于将每一设定周期中最终记录的存储缓存区块的有效存储空间值作为下一周期进行内存监测轮检的初始值。
[0042] 进一步地,所述移存模块基于所述移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块的方法为:
[0043] 控制模块读取移存指令,基于所述移存指令对应的调取数据列表;
[0044] 获取存储缓存区块内的所有时空大数据片段的存储空间占用值,基于存储空间占用值来对应的选择移存路径,并将移存路径匹配到存储区块的存储地址中,并以数据列表形成存储列表;基于配置好的移存路径将所有时空大数据片段从存储缓存区块移存到对应的存储区块;
[0045] 同时基于存储区块的原始存储空间值和每一次移存过程中所有时空大数据片段的存储空间占用值来换算得到存储区块的实时存储空间。
[0046] 本申请为了降低存储目录进行有效存储,在存储之前设置了一个存储缓存区块,存储缓存区块被配置成具有设定的缓存存储空间值,比如每一个缓存存储空间值为50M,当时空大数据片段在存储之前,先存储到存储缓存区块中,当存储到一定量后,在移存到存储区块中,这种存储方式不需要建立树模型,也不会产生大量的存储目录,能够有效的对存储空间进行优化。

附图说明

[0047] 图1为本发明的方法流程图;
[0048] 图2为本发明中控制所述存储线程将时空大数据片段存储到存储缓存区块的方法流程图;
[0049] 图3为本发明中对存储缓存区块的有效存储空间值进行检测的方法流程图;
[0050] 图4为本发明中基于所述移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块的方法流程图;
[0051] 图5为本发明系统框架原理示意图。

具体实施方式

[0052] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0053] 实施例1:
[0054] 参照图1‑图4,本发明提供了一种基于分布式技术的时空大数据存储方法,包括如下步骤:
[0055] 将存储服务器按照数据形式划分为若干个存储单元,每一存储单元具有唯一的存储位置;
[0056] 将每一存储单元划分成若干个存储区块,记录每一存储区块的存储地址,以及在存储服务器中设置有与存储区块对应的存储缓存区块;
[0057] 当时空大数据片段输入到存储服务器后,对时空大数据片段的来源进行分析,以确定时空大数据片段对应的存储路径,基于时空大数据片段对应的存储路径调取对应的存储线程,控制模块控制所述存储线程将时空大数据片段存储到对应的存储缓存区块中;在时空大数据片段存储到存储缓存区块的过程中,对存储缓存区块的有效存储空间值进行检测,当存储缓存区块的有效存储空间值降低至设定阈值后,将存储缓存区块内的所有时空大数据片段进行移存,并形成移存指令,基于移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块中。
[0058] 在上述中,分布式技术的时空大数据包括结构化和非结构化的数据,其中,结构化的数据又包括GIS结构化数据和结构化业务数据,非结构化数据包括非结构化GIS数据和非结构化业务数据,其中,GIS结构化数据包括PGIS(警用电子地图数据);非结构化GIS:MINIO(分布式存储系统产生的图片、视频、日志文件、备份数据等)、MONGODB(应用程序数据平台产生的文本、图像、超媒体等信息)、S3(基于AWS的标准的云存储产生的数据)等。
[0059] 以MINIO为例,当使用MINIO作为分布式数据的前置工具时,首先需要对MINIO进行配置,配置如下:
[0060] MINIO_VOLUMES:minio server使用的存储卷,并配置存储卷的读写权限;
[0061] MINIO_OPTS:自定义minio server监听的ip和端口;
[0062] MINIO_ACCESS_KEY:用户名;
[0063] MINIO_SECRET_KEY:密钥;
[0064] 上述配置完毕后通过DIR定义文件系统上的目录,用空格分割每个存储目录,也可用“…”来缩写目录;构建分布式minio时,设置为HTTP(s) URIs;其对应的核心代码如下:
[0065] 1.格式:mc [FLAGS] COMMAND [COMMAND FLAGS | ‑h][ARGUMENTS...][0066] 2.COMMAND:
[0067] 3.ls 列出文件和文件夹;
[0068] 4.mb 创建一个存储桶或一个文件夹;
[0069] 5.cat 显示文件和对象内容;
[0070] 6.pipe 将一个STDIN重定向到一个对象或者文件或者STDOUT;
[0071] 7.share 生成用于共享的URL;
[0072] 8.cp 拷贝文件和对象;
[0073] 9.mirror 给存储桶和文件夹做镜像;
[0074] 10.find 基于参数查找文件;
[0075] 11.diff 对两个文件夹或者存储桶比较差异;
[0076] 12.rm 删除文件和对象;
[0077] 13.events 管理对象通知;
[0078] 14.watch 监视文件和对象的事件;
[0079] 15.policy 管理访问策略;
[0080] 16.session 为cp命令管理保存的会话;
[0081] 17.config 管理mc配置文件;
[0082] 18.update 检查软件更新;
[0083] 19.version 输出版本信息;
[0084] 20.
[0085] 21.配置文件:/root/.mc/config.json。
[0086] 上述完全的配置完毕后,由MINIO作为分布式数据的前置工具输入至存储服务器时,其已经将不同的数据进行了分类,本申请只需要对数据的来源(基于配置文件来识别)就知道是结构化数据还是非结构化数据。
[0087] 对应的,在上述中,当将时空大数据片段从存储缓存区块移存到对应的存储区块后,存储缓存区块被释放,存储缓存区块恢复到设定的存储值,进行下一轮的数据存储,其原理是采用了分块存储的方式,将多个时空大数据片段先汇聚成一个数据分块,在将数据分块存储到存储区块内,这样,极大的降低了存储目录,由于在存储缓存区块形成了一个数据列表,将数据分块移存到存储区块后,对应的数据列表被配置到存储区块中形成存储列表,因此并不会导致数据混乱。本申请为了降低存储目录进行有效存储,在存储之前设置了一个存储缓存区块,存储缓存区块被配置成具有设定的缓存存储空间值,比如每一个缓存存储空间值为50M,当时空大数据片段在存储之前,先存储到存储缓存区块中,当存储到一定量后,在移存到存储区块中,这种存储方式不需要建立树模型,也不会产生大量的存储目录,能够有效的对存储空间进行优化。
[0088] 在上述中,在控制所述存储线程将时空大数据片段存储到存储缓存区块的过程中,通过程序计数器来调用和控制存储线程,并通过程序计数器内的监听单元将调用的存储线程进行关联,通过监听单元实时的获取存储线程的执行状态;
[0089] 同时程序计数器向CPU发送线程检测指令,CPU基于线程检测指令对应的输出存储线程并将存储线程的运行状态一并输出,其中运行状态表示为对CPU运行资源的占用状态;
[0090] 基于存储线程的执行状态和CPU输出的存储线程的运行状态来综合判断存储线程是否在执行时空大数据片段的存储任务;
[0091] 若监测到存储线程具有存储任务的执行,获取对应的时空大数据片段的特征编码,基于每一时空大数据片段的特征编码将时空大数据片段对应的存储到存储缓存区块中,并基于每一时空大数据片段的特征编码形成一个数据列表。
[0092] 在上述中,对存储缓存区块的有效存储空间值进行检测的方法为:
[0093] 读取对存储线程的综合判断结果,以确定存储线程在执行时空大数据片段的存储任务;
[0094] 控制模块发送内存检测指令,以对存储缓存区块在设定周期内进行内存监测轮检;每一次监测后对应的记录存储缓存区块的有效存储空间值;
[0095] 并将每一设定周期中最终记录的存储缓存区块的有效存储空间值作为下一周期进行内存监测轮检的初始值。
[0096] 在上述中,基于所述移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块的方法为:
[0097] 控制模块读取移存指令,基于所述移存指令对应的调取数据列表;
[0098] 获取存储缓存区块内的所有时空大数据片段的存储空间占用值,基于存储空间占用值来对应的选择移存路径,并将移存路径匹配到存储区块的存储地址中,并以数据列表形成存储列表;基于配置好的移存路径将所有时空大数据片段从存储缓存区块移存到对应的存储区块;
[0099] 同时基于存储区块的原始存储空间值和每一次移存过程中所有时空大数据片段的存储空间占用值来换算得到存储区块的实时存储空间。
[0100] 在上述中,在移存过程中,控制模块基于存储列表与数据列表的对应关系,以获取每一时空大数据片段的特征编码;通过对每一时空大数据片段的特征编码的识别来判断移存任务是否被移存至存储单元中。
[0101] 利用本申请的方法构建好时空大数据的存储后,在后期的数据使用中,还包括了对时空大数据的管理,可以提供对海量时空大数据进行空间数据资源管理、业务数据资源管理、数据资源质量管理和数据资源安全监控等数据治理与综合管理,并提供数据资源元数据管理、挖掘分析等相关功能,确保多源数据的一体化治理、管理与应用。
[0102] 实施例2:
[0103] 参照图5,以及图1‑图4,另一方面,本申请还提供了一种基于分布式技术的时空大数据存储系统,包括:存储服务器,该存储服务器被配置成按照数据形式划分为若干个存储单元,每一存储单元具有唯一的存储位置;
[0104] 所述存储单元被配置成若干个存储区块,记录每一存储区块的存储地址;
[0105] 存储缓存区块,设置在存储服务器中,并与存储区块一一对应,且所述存储缓存区块被配置成具有设定的缓存存储空间值;
[0106] 所述存储服务器内还设置有分析模块、控制模块、移存模块、存储线程配置模块以及初始化模块;
[0107] 所述分析模块用于当时空大数据片段输入到存储服务器后,对时空大数据片段的来源进行分析,以确定时空大数据片段对应的存储路径;
[0108] 所述控制模块基于时空大数据片段对应的存储路径来控制存储线程配置模块生成存储线程并调用该存储线程,所述控制模块控制所述存储线程将时空大数据片段存储到对应的存储缓存区块中;在时空大数据片段存储到存储缓存区块的过程中,对存储缓存区块的有效存储空间值进行检测,当存储缓存区块的有效存储空间值降低至设定阈值后,将存储缓存区块内的所有时空大数据片段进行移存,并形成移存指令,
[0109] 所述移存模块用于基于移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块中;
[0110] 当所有时空大数据片段从存储缓存区块移存到对应的存储区块后,所述控制模块控制初始化模块对存储缓存区块进行初始化操作,初始化操作完毕后存储缓存区块被占用的内存被释放,恢复到设定的缓存存储空间值。
[0111] 进一步地,所述控制模块设置有程序计数器;
[0112] 在所述程序计数器内设置有监听单元、协同监听检测单元、判断单元、识别单元以及列表生成单元;
[0113] 其中,在控制所述存储线程将时空大数据片段存储到存储缓存区块的过程中,通过程序计数器来调用和控制存储线程,并将所述监听单元和调用的存储线程进行关联,通过监听单元实时的获取存储线程的执行状态;
[0114] 所述协同监听检测单元用于在监听单元实时的获取存储线程的执行状态的同时向CPU发送线程检测指令,CPU基于线程检测指令对应的输出存储线程并将存储线程的运行状态一并输出,其中运行状态表示为对CPU运行资源的占用状态;
[0115] 所述判断单元用于基于存储线程的执行状态和CPU输出的存储线程的运行状态来综合判断存储线程是否在执行时空大数据片段的存储任务,输出判断结果;
[0116] 所述识别单元用于基于判断单元来对应的获取时空大数据片段的特征编码,基于每一时空大数据片段的特征编码将时空大数据片段对应的存储到存储缓存区块中,[0117] 所述列表生成单元用于基于每一时空大数据片段的特征编码形成一个数据列表。
[0118] 进一步地,所述控制模块内设置有检测单元、存储任务确定单元以及记录单元;
[0119] 所述存储任务确定单元用于读取对存储线程的综合判断结果,以确定存储线程在执行时空大数据片段的存储任务;
[0120] 所述检测单元发送内存检测指令,以对存储缓存区块在设定周期内进行内存监测轮检;每一次监测后对应的记录存储缓存区块的有效存储空间值;
[0121] 所述记录单元用于将每一设定周期中最终记录的存储缓存区块的有效存储空间值作为下一周期进行内存监测轮检的初始值。
[0122] 进一步地,所述移存模块基于所述移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块的方法为:
[0123] 控制模块读取移存指令,基于所述移存指令对应的调取数据列表;
[0124] 获取存储缓存区块内的所有时空大数据片段的存储空间占用值,基于存储空间占用值来对应的选择移存路径,并将移存路径匹配到存储区块的存储地址中,并以数据列表形成存储列表;基于配置好的移存路径将所有时空大数据片段从存储缓存区块移存到对应的存储区块;
[0125] 同时基于存储区块的原始存储空间值和每一次移存过程中所有时空大数据片段的存储空间占用值来换算得到存储区块的实时存储空间。
[0126] 本申请的原理为:
[0127] 将存储服务器按照数据形式划分为若干个存储单元,每一存储单元具有唯一的存储位置;
[0128] 将每一存储单元划分成若干个存储区块,记录每一存储区块的存储地址,以及在存储服务器中设置有与存储区块对应的存储缓存区块;
[0129] 当时空大数据片段输入到存储服务器后,对时空大数据片段的来源进行分析,以确定时空大数据片段对应的存储路径,基于时空大数据片段对应的存储路径调取对应的存储线程,控制模块控制所述存储线程将时空大数据片段存储到对应的存储缓存区块中;在时空大数据片段存储到存储缓存区块的过程中,对存储缓存区块的有效存储空间值进行检测,当存储缓存区块的有效存储空间值降低至设定阈值后,将存储缓存区块内的所有时空大数据片段进行移存,并形成移存指令,基于移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块中。
[0130] 其中,在控制所述存储线程将时空大数据片段存储到存储缓存区块的过程中,通过程序计数器来调用和控制存储线程,并通过程序计数器内的监听单元将调用的存储线程进行关联,通过监听单元实时的获取存储线程的执行状态;
[0131] 同时程序计数器向CPU发送线程检测指令,CPU基于线程检测指令对应的输出存储线程并将存储线程的运行状态一并输出,其中运行状态表示为对CPU运行资源的占用状态;
[0132] 基于存储线程的执行状态和CPU输出的存储线程的运行状态来综合判断存储线程是否在执行时空大数据片段的存储任务;
[0133] 若监测到存储线程具有存储任务的执行,获取对应的时空大数据片段的特征编码,基于每一时空大数据片段的特征编码将时空大数据片段对应的存储到存储缓存区块中,并基于每一时空大数据片段的特征编码形成一个数据列表。
[0134] 在上述中,对存储缓存区块的有效存储空间值进行检测的方法为:
[0135] 读取对存储线程的综合判断结果,以确定存储线程在执行时空大数据片段的存储任务;
[0136] 控制模块发送内存检测指令,以对存储缓存区块在设定周期内进行内存监测轮检;每一次监测后对应的记录存储缓存区块的有效存储空间值;
[0137] 并将每一设定周期中最终记录的存储缓存区块的有效存储空间值作为下一周期进行内存监测轮检的初始值。
[0138] 在上述中,基于所述移存指令将所有时空大数据片段从存储缓存区块移存到对应的存储区块的方法为:
[0139] 控制模块读取移存指令,基于所述移存指令对应的调取数据列表;
[0140] 获取存储缓存区块内的所有时空大数据片段的存储空间占用值,基于存储空间占用值来对应的选择移存路径,并将移存路径匹配到存储区块的存储地址中,并以数据列表形成存储列表;基于配置好的移存路径将所有时空大数据片段从存储缓存区块移存到对应的存储区块;
[0141] 同时基于存储区块的原始存储空间值和每一次移存过程中所有时空大数据片段的存储空间占用值来换算得到存储区块的实时存储空间。
[0142] 在移存过程中,控制模块基于存储列表与数据列表的对应关系,以获取每一时空大数据片段的特征编码;通过对每一时空大数据片段的特征编码的识别来判断移存任务是否被移存至存储单元中。
[0143] 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。