CN108170846B - 基于弹性表模型的大规模多源异构数据持久化方法 - Google Patents
基于弹性表模型的大规模多源异构数据持久化方法 Download PDFInfo
- Publication number
- CN108170846B CN108170846B CN201810045677.5A CN201810045677A CN108170846B CN 108170846 B CN108170846 B CN 108170846B CN 201810045677 A CN201810045677 A CN 201810045677A CN 108170846 B CN108170846 B CN 108170846B
- Authority
- CN
- China
- Prior art keywords
- data
- file
- facet
- stored
- table model
- 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.)
- Active
Links
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/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
Abstract
本发明提供一种大规模多源异构数据的存储方法及装置,所述方法包括:基于内存中的待存储数据对象构建弹性表模型;遍历所述弹性表模型的每个刻面,在每个刻面对应的文件夹下创建数据文件,将每个刻面对应的所有待存储数据对象中的每一待存储数据对象作为一个目标数据对象;遍历所有目标数据对象中的每个目标数据对象,将每个目标数据对象的所有属性进行排序,并存储于所述数据文件中。本发明提供的大规模多源异构数据的存储方法及装置,以构建出的弹性表模型进行数据的存储和查询,适用于大规模多源异构数据的弹性表模型持久化。
Description
技术领域
本发明涉及计算机数据管理技术领域,尤其涉及一种基于弹性表模型的大规模多源异构数据持久化方法。
背景技术
随着大数据应用的普及,人们需要管理数据的种类和数量在不断增长,这些数据不仅包括传统的结构化数据,还包括文本、图像、视频等非结构化数据,以及基于这些数据提取和挖掘的二次加工数据等。此外,数据的来源也变得更加多样,例如对于一个设备工作状况的描述信息既包括设备上的传感器采集到的时序数据,还包括用户录入系统的巡查、检修等数据。这些多源异构数据的使用对现有的数据管理系统提出了巨大挑战,其中主要的问题就在于,现有的以关系模型为主的数据管理系统无法应对这些多源异构数据的两大特性:(1)同一对象的具有多种异构数据,且在不断演化;(2)一个对象的一种数据的属性值在不断演化。
现有技术中,没有针对大规模多源异构数据持久化方法,故而现在亟须提供一种针对大规模多源异构数据持久化方法。
发明内容
(一)要解决的技术问题
本发明的目的是提供一种基于弹性表模型的大规模多源异构数据持久化方法,解决了现有技术中没有针对大规模多源异构数据持久化方法的技术问题。
(二)技术方案
为了解决上述技术问题,一方面,本发明提供一种基于弹性表模型的大规模多源异构数据持久化方法,包括:
基于内存中的待存储数据对象构建弹性表模型,所述弹性表模型包含多个刻面,所述多个刻面包括多个数据刻面和一个辅助刻面,并为每个刻面构建一个对应的文件夹,每个数据刻面表示一类多源异构数据,所述辅助刻面对应的文件夹下保存有每个待存储数据对象包含的数据刻面名,每个待存储数据对象对应至少一个数据刻面;
遍历所述弹性表模型的每个刻面,在每个刻面对应的文件夹下创建数据文件,将每个刻面对应的所有待存储数据对象中的每一待存储数据对象作为一个目标数据对象;
遍历所有目标数据对象中的每个目标数据对象,将每个目标数据对象的所有属性进行排序,并存储于所述数据文件中。
进一步地,所述并存储于所述数据文件中之后,还包括:
清空所述内存中的所有待存储数据对象;
当内存中产生新的待存储数据对象时,更新所述弹性表模型,并存储所述新的待存储数据对象。
进一步地,所述并存储于所述数据文件中之后,还包括:
创建每个数据文件的索引文件,所述索引文件用于存储每个待存储数据对象在对应的数据文件中的起始位置。
进一步地,所述创建每个数据文件的索引文件之后,还包括:
遍历所述弹性表模型中的所述辅助刻面对应的文件夹下的每个数据文件,检查所述辅助刻面对应的文件夹下是否包含与每个数据文件对应的索引文件;
若判断获知所述辅助刻面对应的文件夹下包含与每个数据文件对应的索引文件,则根据每个数据文件对应的索引文件,查找待查找数据对象在每个数据文件中的起始位置;
若判断获知所述辅助刻面对应的文件夹下不包含与每个数据文件对应的索引文件,则直接查找所述待查找数据对象在每个数据文件中的起始位置;
根据所述待查找数据对象在每个数据文件中的起始位置,读取所述待查找数据对象的全部数据。
进一步地,所述创建每个数据文件的索引文件之后,还包括:
遍历所述弹性表模型中的每个数据刻面对应的文件夹下的每个数据文件,检查每个数据刻面对应的文件夹下是否包含与每个数据文件对应的索引文件;
若判断获知每个数据刻面对应的文件夹下包含与每个数据文件对应的索引文件,则根据每个数据文件对应的索引文件,查找待查找数据对象在每个数据文件中的起始位置;
若判断获知每个数据刻面对应的文件夹下不包含与每个数据文件对应的索引文件,则直接查找所述待查找数据对象在每个数据文件中的起始位置;
从所述待查找数据对象在每个数据文件中的起始位置开始,读取所述待查找数据对象的属性。
另一方面,本发明提供一种基于弹性表模型的大规模多源异构数据持久化装置,其特征在于,包括:
构建模块,用于基于内存中的待存储数据对象构建弹性表模型,所述弹性表模型包含多个刻面,所述多个刻面包括多个数据刻面和一个辅助刻面,并为每个刻面构建一个对应的文件夹,每个数据刻面表示一类多源异构数据,所述辅助刻面对应的文件夹下保存有每个待存储数据对象包含的数据刻面名,每个待存储数据对象对应至少一个数据刻面;
存储模块,用于遍历所述弹性表模型的每个刻面,在每个刻面对应的文件夹下创建数据文件,将每个刻面对应的所有待存储数据对象中的每一待存储数据对象作为一个目标数据对象;
遍历所有目标数据对象中的每个目标数据对象,将每个目标数据对象的所有属性进行排序,并存储于所述数据文件中。
再一方面,本发明提供一种用于存储大规模多源异构数据的电子设备,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述的方法。
又一方面,本发明提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述的方法。
又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
(三)有益效果
本发明提供的大规模多源异构数据的存储方法及装置,以构建出的弹性表模型进行数据的存储和查询,适用于大规模多源异构数据的弹性表模型持久化。
附图说明
图1为依照本发明实施例的大规模多源异构数据的存储方法示意图;
图2为依照本发明实施例的弹性表模型的刻面在磁盘上的组织方式示意图;
图3为依照本发明实施例的大规模多源异构数据的存储装置示意图;
图4为本发明实施例提供的用于大规模多源异构数据持久化的电子设备的结构示意图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图1为依照本发明实施例的,如图1所示,本发明实施例提供一种基于弹性表模型的大规模多源异构数据持久化方法,包括:
步骤S10、基于内存中的待存储数据对象构建弹性表模型,所述弹性表模型包含多个刻面,所述多个刻面包括多个数据刻面和一个辅助刻面,并为每个刻面构建一个对应的文件夹,每个数据刻面表示一类多源异构数据,所述辅助刻面对应的文件夹下保存有每个待存储数据对象包含的数据刻面名,每个待存储数据对象对应至少一个数据刻面;
步骤S20、根据所述弹性表模型将待存储数据对象存储到磁盘中,具体按照如下步骤存储:
遍历所述弹性表模型的每个刻面,在每个刻面对应的文件夹下创建数据文件,将每个刻面对应的所有待存储数据对象中的每一待存储数据对象作为一个目标数据对象;
遍历所有目标数据对象中的每个目标数据对象,将每个目标数据对象的所有属性进行排序,并存储于所述数据文件中。
进一步地,所述并存储于所述数据文件中之后,还包括:
清空所述内存中的所有待存储数据对象;
当内存中产生新的待存储数据对象时,更新所述弹性表模型,并存储所述新的待存储数据对象。
进一步地,所述并存储于所述数据文件中之后,还包括:
创建每个数据文件的索引文件,所述索引文件用于存储每个待存储数据对象在对应的数据文件中的起始位置。
进一步地,所述创建每个数据文件的索引文件之后,还包括:
遍历所述弹性表模型中的所述辅助刻面对应的文件夹下的每个数据文件,检查所述辅助刻面对应的文件夹下是否包含与每个数据文件对应的索引文件;
若判断获知所述辅助刻面对应的文件夹下包含与每个数据文件对应的索引文件,则根据每个数据文件对应的索引文件,查找待查找数据对象在每个数据文件中的起始位置;
若判断获知所述辅助刻面对应的文件夹下不包含与每个数据文件对应的索引文件,则直接查找所述待查找数据对象在每个数据文件中的起始位置;
根据所述待查找数据对象在每个数据文件中的起始位置,读取所述待查找数据对象的全部数据。
进一步地,所述创建每个数据文件的索引文件之后,还包括:
遍历所述弹性表模型中的每个数据刻面对应的文件夹下的每个数据文件,检查每个数据刻面对应的文件夹下是否包含与每个数据文件对应的索引文件;
若判断获知每个数据刻面对应的文件夹下包含与每个数据文件对应的索引文件,则根据每个数据文件对应的索引文件,查找待查找数据对象在每个数据文件中的起始位置;
若判断获知每个数据刻面对应的文件夹下不包含与每个数据文件对应的索引文件,则直接查找所述待查找数据对象在每个数据文件中的起始位置;
从所述待查找数据对象在每个数据文件中的起始位置开始,读取所述待查找数据对象的属性。
具体的步骤如下:
(1)设弹性表模型包含多个刻面,所述多个刻面用集合F表示,F={F0,F1,F2,…,Fn}∪{SF},所述多个刻面包括多个数据刻面和一个辅助刻面,SF为所述弹性表模型的辅助刻面,为所述弹性表模型的多个数据刻面,每个数据刻面对应一类多元异构数据,且每个数据刻面的排序函数为{Sort0,Sort1,Sort2,…,Sortn},并为每个刻面构建一个对应的文件夹,文件夹名字依次是F0,F1,F2,…,Fn。
图2为依照本发明实施例的弹性表模型的刻面在磁盘上的组织方式示意图,如图2所示,刻面F1对应的文件夹下包括文件1和文件2,刻面F2对应的文件夹下包括文件1,刻面F1对应的文件1中存储有数据对象O1的四个属性P1、P2、P3和P4,对象O2的三个属性P1、P2和P3,对象O3的五个属性P1、P2、P3、P4和P5。
需要说明的是,上述各数据对象之间的刻面的类型和数量可以各不相同,每个刻面的属性的数量可以各不相同,刻面的数量可以动态增减,同时刻面内的属性数量也可以动态增减。
(2)SF中的属性按照字典序排序;
(3)将SF扩展到系统后续出现的每个对象数据上,对于对象Oi,其拥有的每个数据刻面作为SF中的属性保存;
(4)当内存中有一批待存储数据对象,每个待存储数据对象均包含若干数据刻面时,依次遍历弹性表模型每个刻面,对于弹性表模型的任一刻面Fi,Fi∈{F0,F1,F2,…,Fn}∪{SF}。
(4-1)在文件夹Fi下创建数据文件f,文件名为当前系统时间戳;
(4-2)将拥有该刻面Fi的所有待存储数据对象按照对象名排序;
(4-2)依次遍历每个待存储数据对象,对于任一待存储数据对象Oj:
(4-3)将待存储数据对象Oj在刻面Fi上的所有属性按该刻面的属性排序算法进行排序,并依次存储在数据文件f中;
(5)关闭数据文件f;
(6)为加速查询,可为数据文件f创建索引文件fI,该文件指明每个存储数据对象在数据文件f中的起始位置;
(7)清空内存中的所有对象;
(8)当出现弹性表模型的刻面间或刻面内扩展时,内存中将产生对象Oi,则对所述弹性表模型进行更新,并存储所述新的待存储数据对象,具体进行如下操作:
(8-1)将Oi的数据按刻面分为两个集合:属于{F0,F1,…,Fn}的集合F1和不属于该集合的刻面集合F2;
(8-2)对于对于集合F2中每一个刻面,依次创建文件夹,文件夹名字与F2中的刻面名字相同;
(8-3)对于集合F1和F2中的每个刻面,依次执行步骤(4-1)-步骤(6),将所述新的待存储数据对象存储到磁盘中;
(8-4)清空内存中的对象Oi;
当多次出现步骤(8)时,任意刻面Fi∈{F0,F1,F2,…,Fn}∪{SF}下都可能出现多个数据文件,即文件夹Fi中可能存在数据文件{fi0,fi1,fi2,…,fin}以及相应的索引文件{fIi0,fIi1,fIi2,…,fIin}。
在上述持久化基础上,基于弹性表模型的查询的实现方法如下:
(9)对于查询对象Oi的刻面列表操作,实现方法是:
(9-1)遍历SF文件夹下的所有数据文件,对于每个数据文件sf,检查其是否有索引文件;
(9-2)若有索引文件,则首先遍历索引文件,寻找数据对象Oi在数据文件sf中的起始位置;
(9-3)若无索引文件,则直接在数据文件sf中寻找数据对象Oi的起始位置;
(9-4)从数据对象Oi的在数据文件中的起始位置开始读取数据,读取数据对象Oi的全部数据,反序列化后返回;
(10)对于查询数据对象Oi的刻面Fj的属性列表操作,实现方法是:将步骤(9-1)中遍历文件夹SF改为遍历文件夹Fj,执行(9-1)至(9-4);
(11)对于查询数据对象Oi的刻面Fj的单一属性Pk的操作,实现方法是:
(11-1)将步骤(9-1)中遍历文件夹SF改为遍历文件夹Fj,执行(9-1)至(9-3);
(11-2)从数据对象Oi在文件中的起始位置开始读取数据,采用二分查找算法读取数据对象Oi的属性,直到找到Pk为止;
(12)为加速查询,可以定时进行如下任务:
(12-1)遍历每个文件夹,针对一个文件夹内的所有数据文件,采用多路归并算法,将所有文件内的数据进行归并,产生一个满足文件内对象按字典序排序、对象的属性按刻面的排序策略排序的数据文件,然后删除原有数据文件和相应的索引文件,并对新产生的这个数据文件建立索引文件。
本发明提供的大规模多源异构数据的存储方法,以构建出的弹性表模型进行数据的存储和查询,适用于大规模多源异构数据的弹性表模型持久化。
实施例2:
图3为依照本发明实施例的大规模多源异构数据的存储装置示意图,如图3所示,本发明实施例提供一种基于弹性表模型的大规模多源异构数据持久化装置,用于完成上述实施例中所述的方法,具体包括构建模块10和存储模块20,其中,
构建模块10用于基于内存中的待存储数据对象构建弹性表模型,所述弹性表模型包含多个刻面,所述多个刻面包括多个数据刻面和一个辅助刻面,并为每个刻面构建一个对应的文件夹,每个数据刻面表示一类多源异构数据,所述辅助刻面对应的文件夹下保存有每个待存储数据对象包含的数据刻面名,每个待存储数据对象对应至少一个数据刻面;
存储模块20用于遍历所述弹性表模型的每个刻面,在每个刻面对应的文件夹下创建数据文件,将每个刻面对应的所有待存储数据对象中的每一待存储数据对象作为一个目标数据对象;
遍历所有目标数据对象中的每个目标数据对象,将每个目标数据对象的所有属性进行排序,并存储于所述数据文件中。
本发明实施例提供一种基于弹性表模型的大规模多源异构数据持久化装置,用于完成上述实施例中所述的方法,通过本实施例提供的持久化装置完成上述实施例中所述的方法的具体步骤与上述实施例相同,此处不再赘述。
本发明提供的大规模多源异构数据的存储装置,以构建出的弹性表模型进行数据的存储和查询,适用于大规模多源异构数据的弹性表模型持久化。
实施例3:
图4为本发明实施例提供的用于大规模多源异构数据持久化的电子设备的结构示意图,如图4所示,所述设备包括:处理器801、存储器802和总线803;
其中,处理器801和存储器802通过所述总线803完成相互间的通信;
处理器801用于调用存储器802中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:
基于内存中的待存储数据对象构建弹性表模型,所述弹性表模型包含多个刻面,所述多个刻面包括多个数据刻面和一个辅助刻面,并为每个刻面构建一个对应的文件夹,每个数据刻面表示一类多源异构数据,所述辅助刻面对应的文件夹下保存有每个待存储数据对象包含的数据刻面名,每个待存储数据对象对应至少一个数据刻面;
遍历所述弹性表模型的每个刻面,在每个刻面对应的文件夹下创建数据文件,将每个刻面对应的所有待存储数据对象中的每一待存储数据对象作为一个目标数据对象;
遍历所有目标数据对象中的每个目标数据对象,将每个目标数据对象的所有属性进行排序,并存储于所述数据文件中。
实施例4:
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
基于内存中的待存储数据对象构建弹性表模型,所述弹性表模型包含多个刻面,所述多个刻面包括多个数据刻面和一个辅助刻面,并为每个刻面构建一个对应的文件夹,每个数据刻面表示一类多源异构数据,所述辅助刻面对应的文件夹下保存有每个待存储数据对象包含的数据刻面名,每个待存储数据对象对应至少一个数据刻面;
遍历所述弹性表模型的每个刻面,在每个刻面对应的文件夹下创建数据文件,将每个刻面对应的所有待存储数据对象中的每一待存储数据对象作为一个目标数据对象;
遍历所有目标数据对象中的每个目标数据对象,将每个目标数据对象的所有属性进行排序,并存储于所述数据文件中。
实施例5:
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:
基于内存中的待存储数据对象构建弹性表模型,所述弹性表模型包含多个刻面,所述多个刻面包括多个数据刻面和一个辅助刻面,并为每个刻面构建一个对应的文件夹,每个数据刻面表示一类多源异构数据,所述辅助刻面对应的文件夹下保存有每个待存储数据对象包含的数据刻面名,每个待存储数据对象对应至少一个数据刻面;
遍历所述弹性表模型的每个刻面,在每个刻面对应的文件夹下创建数据文件,将每个刻面对应的所有待存储数据对象中的每一待存储数据对象作为一个目标数据对象;
遍历所有目标数据对象中的每个目标数据对象,将每个目标数据对象的所有属性进行排序,并存储于所述数据文件中。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置及设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种基于弹性表模型的大规模多源异构数据持久化方法,其特征在于,包括:
基于内存中的待存储数据对象构建弹性表模型,所述弹性表模型包含多个刻面,所述多个刻面包括多个数据刻面和一个辅助刻面,并为每个刻面构建一个对应的文件夹,每个数据刻面表示一类多源异构数据,所述辅助刻面对应的文件夹下保存有每个待存储数据对象包含的数据刻面名,每个待存储数据对象对应至少一个数据刻面;
遍历所述弹性表模型的每个刻面,在每个刻面对应的文件夹下创建数据文件,将每个刻面对应的所有待存储数据对象中的每一待存储数据对象作为一个目标数据对象;
遍历所有目标数据对象中的每个目标数据对象,将每个目标数据对象的所有属性进行排序,并存储于所述数据文件中。
2.根据权利要求1所述的方法,其特征在于,所述并存储于所述数据文件中之后,还包括:
清空所述内存中的所有待存储数据对象;
当内存中产生新的待存储数据对象时,更新所述弹性表模型,并存储所述新的待存储数据对象。
3.根据权利要求1所述的方法,其特征在于,所述并存储于所述数据文件中之后,还包括:
创建每个数据文件的索引文件,所述索引文件用于存储每个待存储数据对象在对应的数据文件中的起始位置。
4.根据权利要求3所述的方法,其特征在于,所述创建每个数据文件的索引文件之后,还包括:
遍历所述弹性表模型中的所述辅助刻面对应的文件夹下的每个数据文件,检查所述辅助刻面对应的文件夹下是否包含与每个数据文件对应的索引文件;
若判断获知所述辅助刻面对应的文件夹下包含与每个数据文件对应的索引文件,则根据每个数据文件对应的索引文件,查找待查找数据对象在每个数据文件中的起始位置;
若判断获知所述辅助刻面对应的文件夹下不包含与每个数据文件对应的索引文件,则直接查找所述待查找数据对象在每个数据文件中的起始位置;
根据所述待查找数据对象在每个数据文件中的起始位置,读取所述待查找数据对象的全部数据。
5.根据权利要求3所述的方法,其特征在于,所述创建每个数据文件的索引文件之后,还包括:
遍历所述弹性表模型中的每个数据刻面对应的文件夹下的每个数据文件,检查每个数据刻面对应的文件夹下是否包含与每个数据文件对应的索引文件;
若判断获知每个数据刻面对应的文件夹下包含与每个数据文件对应的索引文件,则根据每个数据文件对应的索引文件,查找待查找数据对象在每个数据文件中的起始位置;
若判断获知每个数据刻面对应的文件夹下不包含与每个数据文件对应的索引文件,则直接查找所述待查找数据对象在每个数据文件中的起始位置;
从所述待查找数据对象在每个数据文件中的起始位置开始,读取所述待查找数据对象的属性。
6.一种基于弹性表模型的大规模多源异构数据持久化装置,其特征在于,包括:
构建模块,用于基于内存中的待存储数据对象构建弹性表模型,所述弹性表模型包含多个刻面,所述多个刻面包括多个数据刻面和一个辅助刻面,并为每个刻面构建一个对应的文件夹,每个数据刻面表示一类多源异构数据,所述辅助刻面对应的文件夹下保存有每个待存储数据对象包含的数据刻面名,每个待存储数据对象对应至少一个数据刻面;
存储模块,用于遍历所述弹性表模型的每个刻面,在每个刻面对应的文件夹下创建数据文件,将每个刻面对应的所有待存储数据对象中的每一待存储数据对象作为一个目标数据对象;
遍历所有目标数据对象中的每个目标数据对象,将每个目标数据对象的所有属性进行排序,并存储于所述数据文件中。
7.一种用于大规模多源异构数据持久化的电子设备,其特征在于,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至5任一所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810045677.5A CN108170846B (zh) | 2018-01-17 | 2018-01-17 | 基于弹性表模型的大规模多源异构数据持久化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810045677.5A CN108170846B (zh) | 2018-01-17 | 2018-01-17 | 基于弹性表模型的大规模多源异构数据持久化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108170846A CN108170846A (zh) | 2018-06-15 |
CN108170846B true CN108170846B (zh) | 2018-12-11 |
Family
ID=62514618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810045677.5A Active CN108170846B (zh) | 2018-01-17 | 2018-01-17 | 基于弹性表模型的大规模多源异构数据持久化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108170846B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1877523A (zh) * | 2006-06-23 | 2006-12-13 | 清华大学 | 一种支持异构构件的构件库统一管理方法 |
CN101916215A (zh) * | 2010-08-09 | 2010-12-15 | 哈尔滨工程大学 | 一种基于操作截取的分布式关键任务系统悔改方法 |
CN103780700A (zh) * | 2014-01-26 | 2014-05-07 | 长沙裕邦软件开发有限公司 | 一种实现多源异构系统之间兼容与共享的应用系统和方法 |
CN106850788A (zh) * | 2017-01-22 | 2017-06-13 | 中国科学院电子学研究所苏州研究院 | 面向多源异构地理信息资源的集成框架及集成方法 |
-
2018
- 2018-01-17 CN CN201810045677.5A patent/CN108170846B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1877523A (zh) * | 2006-06-23 | 2006-12-13 | 清华大学 | 一种支持异构构件的构件库统一管理方法 |
CN101916215A (zh) * | 2010-08-09 | 2010-12-15 | 哈尔滨工程大学 | 一种基于操作截取的分布式关键任务系统悔改方法 |
CN103780700A (zh) * | 2014-01-26 | 2014-05-07 | 长沙裕邦软件开发有限公司 | 一种实现多源异构系统之间兼容与共享的应用系统和方法 |
CN106850788A (zh) * | 2017-01-22 | 2017-06-13 | 中国科学院电子学研究所苏州研究院 | 面向多源异构地理信息资源的集成框架及集成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108170846A (zh) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105574093B (zh) | 一种在基于HDFS的spark-sql大数据处理系统上建立索引的方法 | |
CN110291518A (zh) | 合并树无用单元指标 | |
US9870382B2 (en) | Data encoding and corresponding data structure | |
CN104111936B (zh) | 数据查询方法和系统 | |
CN104809190B (zh) | 一种树形结构数据的数据库存取方法 | |
CN104268295B (zh) | 一种数据查询方法及装置 | |
JP2009110260A (ja) | 検索エンジン連携ファイル共有システム | |
CN106294772A (zh) | 分布式内存列式数据库的缓存管理方法 | |
CN108681603B (zh) | 数据库中快速搜索树形结构数据的方法、存储介质 | |
CN102915382A (zh) | 一种基于索引的数据库的数据查询方法和装置 | |
US8015195B2 (en) | Modifying entry names in directory server | |
CN107209768A (zh) | 用于数据集的可扩展排序的方法和设备 | |
Tang et al. | Efficient Processing of Hamming-Distance-Based Similarity-Search Queries Over MapReduce. | |
CN104077385A (zh) | 一种文件的分类及检索方法 | |
CN108287889B (zh) | 一种基于弹性表模型的多源异构数据存储方法和系统 | |
EP3732606A1 (en) | Systems and methods for determining database permissions | |
Georgiadis et al. | Efficient rewriting algorithms for preference queries | |
CN107085613A (zh) | 入库文件的过滤方法和装置 | |
KR101955376B1 (ko) | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
CN108170846B (zh) | 基于弹性表模型的大规模多源异构数据持久化方法 | |
Bose et al. | Fast local searches and updates in bounded universes | |
CN106055690A (zh) | 一种基于属性匹配的快速检索与获取数据特征方法 | |
JP2013242675A (ja) | 分散情報制御装置、分散情報検索方法、データ分散配置方法、及びプログラム | |
CN108959584A (zh) | 一种基于社区结构的处理图数据的方法及装置 | |
CN108345699A (zh) | 获取多媒体数据的方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |