CN107122486A - 一种支持blob的多元大数据融合方法和系统 - Google Patents

一种支持blob的多元大数据融合方法和系统 Download PDF

Info

Publication number
CN107122486A
CN107122486A CN201710321988.5A CN201710321988A CN107122486A CN 107122486 A CN107122486 A CN 107122486A CN 201710321988 A CN201710321988 A CN 201710321988A CN 107122486 A CN107122486 A CN 107122486A
Authority
CN
China
Prior art keywords
data
blob
rdf
attribute value
storage system
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
Application number
CN201710321988.5A
Other languages
English (en)
Other versions
CN107122486B (zh
Inventor
沈志宏
黎建辉
周园春
侯艳飞
胡良霖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Computer Network Information Center of CAS
Original Assignee
Computer Network Information Center of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Computer Network Information Center of CAS filed Critical Computer Network Information Center of CAS
Priority to CN201710321988.5A priority Critical patent/CN107122486B/zh
Publication of CN107122486A publication Critical patent/CN107122486A/zh
Application granted granted Critical
Publication of CN107122486B publication Critical patent/CN107122486B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种支持BLOB的多元大数据融合方法和系统。本方法为:1)基于RDF数据模型,创建RDF‑B数据模型;RDF‑B数据模型采用三元组形式来表达每个资源的属性及其属性值,所述属性值包括BLOB类型的属性值,BLOB类型的属性值包括数据内容、长度、摘要和标志信息;2)RDF‑B数据模型对收到的数据生成三元组并存储到一前端存储系统;其中,如果该数据为BLOB类型,则RDF‑B数据模型根据该数据对应三元组中BLOB类型的属性值生成一四元组<句柄,长度,摘要,标志>作为该数据的三元组信息的属性值,然后将该数据的三元组保存到该前端存储系统,根据该句柄将数据内容存储到后端存储系统。

Description

一种支持BLOB的多元大数据融合方法和系统
技术领域
本发明涉及大数据、数据库、语义网技术领域,提出一种多元大数据融合方法和系统。
背景技术
随着海量规模、多元异构数据的产生,传统的数据库技术(通常指关系数据库系统)无法很好实现对海量、非结构化或半结构化数据集的管理。NoSQL、Hadoop等大数据技术的提出,能够高效地解决分布式环境下全网域(Web Scale)的非结构化信息的管理和处理问题,深化了大数据的应用。
不同于大数据(big data),语义网(semantic web)以及关联数据(linked data)则是从信息组织的角度,通过引入丰富的形式化语义,提高了数据的关联和可理解能力,逐渐成为跨域整合和智能分析的利器。越来越多的大数据应用由于采用了RDF(ResourceDescription Framework,资源描述框架)数据模型进行描述和编码,通过元数据和其他语义描述(本体),使数据具有机器可识别的语义(即形式化的语义描述),丰富了大数据的语义,并使数据具有更好的互操作性。由于采用语义描述的关联数据已不再是堆砌的信息,结合大数据挖掘手段,还能给大数据分析带来强有力的工具,使大数据集相互之间能够实现基于语义的整合。
RDF数据模型(RDF Data Model)提供了一个简单但功能强大的模型,通过资源、属性及其相应值来描述特定资源。RDF数据模型具有较好的可融合性,将两个RDF进行融合时,只需要将相同节点的不同属性附加到RDF节点上即可。这非常符合大规模数据的融合管理的需求。
RDF数据模型支持多种类型的属性,根据RDF规范(https://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/),RDF属性支持文本型、布尔型、数值型、时间型等多种类型。然而,该模型缺少对二进制大对象(BLOB:binary large object)的支持。而在信息系统中,文件作为非结构化数据的存储形式,往往占据了相当大的比例。据统计,世界上85%的数据都是非结构化数据,这些数据每年都按指数增长60%(http://www.cio.com.cn/eyan/2295.html)。因此发明一种支持BLOB类型的大数据融合方法,实现对BLOB数据以及其它类型数据的统一管理和查询,显得尤其重要。
发明内容
本发明的目的在于提供一种支持BLOB的多元大数据融合方法和系统,实现了对多元数据的整合,并有效的支持数据的关联检索。
本发明的技术内容为:
一种支持BLOB的多元大数据融合方法,其步骤为:
1)基于RDF数据模型,创建支持BLOB的多元大数据融合模型,即RDF-B数据模型;创建或设置一后端存储系统;该RDF-B数据模型采用三元组形式来表达每个资源的属性及其属性值,其中,所述属性值包括BLOB类型的属性值,BLOB类型的属性值包括数据内容、长度、摘要和标志信息;
2)RDF-B数据模型对收到的数据生成三元组并存储到一前端存储系统;其中,如果该数据为BLOB类型,则RDF-B数据模型根据该数据对应三元组中BLOB类型的属性值生成一四元组<句柄,长度,摘要,标志>作为该数据的三元组信息的属性值,然后将该数据的三元组保存到该前端存储系统,根据该句柄将该BLOB类型的属性值中的数据内容存储到所述后端存储系统;所述后端存储系统维护句柄与对应BLOB类型的属性值的数据内容之间的映射。
进一步的,创建BLOB类型的属性值的方法为:首先获取该数据的前若干字节作为所述标志信息,然后创建一二进制字节数组保存该数据的内容,获取该数据的长度并生成该数据的摘要。
进一步的,根据该句柄将该BLOB类型的属性值中的数据内容存储到所述后的存储系统的方法为:首先根据当前系统时间创建一个唯一编号ID,作为句柄;然后在所述后端存储系统的设定目录下创建一个新文件,文件名为<ID>.bin,写入该BLOB类型的属性值的数据内容;并且生成一个<ID>.md5文件,写入所述摘要。
进一步的,根据字节数组生成BLOB类型的属性值,、根据文件生成BLOB类型的属性值、根据输入流数据源生成BLOB类型的属性值或根据文本串生成BLOB类型的属性值。
进一步的,所述标志信息为一32位的标志。
一种支持BLOB的多元大数据融合系统,其特征在于,包括一RDF-B数据模型,一后端存储系统和一前端存储系统;其中,
RDF-B数据模型,采用三元组形式来表达每个资源的属性及其属性值,所述属性值包括BLOB类型的属性值,BLOB类型的属性值包括数据内容、长度、摘要和标志信息;
前端存储系统,用于存储RDF-B数据模型对收到的数据生成的三元组;如果该数据为BLOB类型,则RDF-B数据模型根据该数据对应三元组中BLOB类型的属性值生成一四元组<句柄,长度,摘要,标志>作为该数据的三元组信息的属性值;
后端存储系统,用于根据句柄将对应BLOB类型的属性值中的数据内容进行存储;
所述后端存储系统维护句柄与对应BLOB类型的属性值的数据内容之间的映射。
该方法具体描述如下:
(1)基于RDF(Resource Description Framework,资源描述框架)数据模型,针对其不支持BLOB属性值的缺陷,设计支持BLOB的多元大数据融合管理模型RDF-B。RDF-B模型可以包含多种类型的数据,包括常见的文本型、布尔型、数值型、时间型以及BLOB类型(参见具体实施例1);
(2)进一步细化了RDF-B模型中BLOB属性值(BlobLiteral)应该包含的自有属性和操作。针对BLOB属性值,定义其支持的操作,包括打开输入流、获取摘要、获取长度、获取标记、判断是否为BLOB类型,等(参见具体实施例1);
(3)定义了RDF-B模型中BLOB属性值的文本表达方法,针对BLOB的属性定义了与常见的文本型、布尔型、数值型、时间型等属性相兼容的文本表达方式(参见具体实施例2);
(4)提供创建BLOB属性值的方法,即如何从文件、文本串、数据流等已知数据源创建BLOB属性值(参见具体实施例3);
(5)提供存储BLOB属性值的方法,即如何允许用户挂接自定义BLOB存储库,同时提供了基于本地文件系统实现BLOB数据的存储(参见具体实施例4);
(6)提供RDF-B数据模型的加载方法,帮助用户通过API创建/加载RDF-B数据模型(参见具体实施例5);
(7)提供针对RDF-B数据模型的查询方法。基于SPARQL查询语法,通过提供BLOB属性值的操作函数,从而支持对BLOB属性值的匹配。由于SPARQL关联查询的能力,针对BLOB进行查询的同时,可以同时将其他属性值以及关联关系作为条件进行筛选(参见具体实施例6)。
特别的,(4)~(7)采用Java语言实现,并基于开源项目Apache Jena(http://jena.apache.org/)实现,Apache Jena是一个基于Java的语义网开发框架。
本发明的有益效果在于:
本发明的目的在于提供一种支持BLOB的多元大数据融合管理模型RDF-B,以及针对RDF-B的实现系统。可以用于多元异构数据(包括文本型、布尔型、数值型、时间型、BLOB)的整合管理与统一查询,为大数据融合管理提供了理论模型和实用系统。
本发明系统的优点具体为:
(1)采用传统RDF数据模型来组织数据,由于它对BLOB文件的支持不足,通常无法实现对非结构化文件的管理。折中的办法往往普通类型的属性采用RDF数据模型来管理,BLOB数据仅存储相关的路径或编号,应用程序再根据这些信息显式的去访问文件数据,这种方式增强了应用程序和RDF数据库之间的耦合性。本发明提出的RDF-B模型定义了BLOB的类型,并完全兼容传统的RDF模型。RDF-B模型可实现文件类型、普通类型数据的统一管理,同时提供了针对BLOB数据的查询函数,可用于标准化的SPARQL查询。图1、图2示出基于传统RDF模型和RDF-B模型开发应用的差异。
(2)传统的多元异构数据管理系统,一类是采用扁平的记录型的结构统一组织数据,完全忽略了数据之间的关联性,不利于数据的关联检索,或者关联检索的代价很高。另一类是基于传统RDF数据模型,无法很好的兼顾到非结构化数据的管理。与这两类系统相比,本发明提出的系统可以实现多元数据(包括非结构化文件)的整合,并有效的支持数据的关联检索(包括针对文件的检索)。
附图说明
图1示出基于传统RDF模型开发应用的模式;
图2示出基于RDF-B模型开发应用的模式;
图3为本发明的大数据融合方法流程图。
具体实施方式
下面结合附图和具体实例对本发明进行进一步详细描述。
图3为本发明的方法流程图,其步骤包括:
1)基于RDF数据模型,创建支持BLOB的多元大数据融合模型,即RDF-B数据模型;创建一后端存储系统;该RDF-B数据模型采用三元组<资源URI,属性URI,属性值>的形式来表达每个资源的属性及其属性值,其中,所述属性值包括BLOB类型的属性值,BLOB类型的属性值包括数据内容、长度、摘要和标志信息;
2)RDF-B数据模型对收到的数据生成三元组并存储到一前端存储系统;其中,如果该数据为BLOB类型,则RDF-B数据模型根据该数据对应三元组中BLOB类型的属性值生成一四元组<句柄,长度,摘要,标志>作为该数据的三元组信息的属性值,然后将该数据的三元组保存到该前端存储系统,根据该句柄将该BLOB类型的属性值存储到所述后端存储系统;所述后端存储系统维护句柄与BLOB类型的属性值的数据内容之间的映射。
实施例1、多元大数据融合管理模型RDF-B
RDF-B主要基于RDF模型(https://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/)进行扩展,因此具有RDF模型的三元组以及有向图等所有特征。该模型的定义包括3个部分:
(1)RDF-B模型:与公开的RDF模型相同的是,RDF-B模型采用<资源URI,属性URI,属性值>三元组形式来表达每个资源(主语)的属性(谓语)及其属性值(宾语),属性值可以是一个文本型、布尔型、数值型、时间型,甚至另外一个资源。不同的是,RDF-B的属性值可以是BLOB类型;
(2)BLOB属性值的属性定义:BLOB类型的属性值具有自有属性,包括内容(content)、长度(length)、摘要(digest),以及一个32位的标志(mark)。如表1所示。
表1为BLOB属性值的属性表
(3)BLOB属性值的操作定义:BLOB属性值可支持一些操作,包括打开数据流(openStream)、获取长度(getLength)、获取摘要(getDigest)、获取标志(getMark)。如表2所示。
表2为BLOB属性值的操作表
操作 含义
openStream 获取二进制数组输入流
getLength 获取BLOB字节数组的长度
getDigest 获取BLOB内容的摘要
getMark 获取BLOB字节数组的前32个字节
getMark(n) 获取BLOB字节数组的前n个字节(n<32)
getMark(m,n) 从BLOB字节数组的第m个字节开始,获取n个字节
实施例2、RDF-B属性值的文本表达方法
RDF-B模型中的非BLOB属性值采用标准的RDF文本表达方法,即采用XML literal来表达属性值,它通常包括2个部分:词汇、数据类型的IRI,前者代表属性值的文本,后者来表示值的类型,如:"hello"^^xsd:string,"1"^^xsd:integer。
针对BLOB属性值,RDF-B采用如下表达方式:
<blob-literal>::="<blob-value>"^^<urn:x-hp-dt:blob>
<blob-value>::=content:<content-value>,length:<length-value>,digest:<digest-value>,mark:<mark-value>
其中:content-value、length-value、digest-value、mark-value分别对应于BLOB属性值的内容(content)、长度(length)、摘要(digest),以及一个32位的标志(mark)。
如下代码示例出两个RDF-B三元组,第一行为标准的RDF三元组,第二行包含了一个BLOB属性值。
<#bluejoe><#name>"zhihong SHEN".
<#bluejoe><#photo>"content:R0lGODlhRgAgALP/AP///xAQEBgYGCEhITExMUpKSlpaWmtra3t7e4yMjJycnLW1tcbGxt7e3vf39wAAACwAAAAARgAgAEAE/xDISau9OOu923CToQBNwFXOd64aAQJj4wQGILIAIjXcPAKOwoPG4CwQiBfjASLwLIVFJZGQKHQVxfPSeBQXBODhIdjiKo3C61Q+TxwHd6jg8UoQtUzDkBg8pCspDmskAj8ZBjJxEgk1B0UUDYcWDgKAbzUOBFUTUg0IjUB0JwlMO4tABg8PBwuERgcBQwR8lxMBnBm2ckADvL/AEx5no79hvAcFJA8FAwWqZhgIQgKBPwoDzgcEphkMWAC1D6WeA5BGuxqV4Aqr6RdHEpeqq4SD6tl5EwwJrwU6KR64wOFL34Iaey74upAgzZt85xi8IkGgCIMAExmOm/BghINuEv8cKBAC8gCqFOAmXLkwg0e7IZw+5gpGsyavBdFs6syAYNKGhTt/GXiXIcovUDgQmPkmYegZARlXMCCqS5ipA1UYXIlK4cg9OQ0WLNBypouMArh48DnB7UBODAk8yQg5wOeFiA8M+MmzQIWGBAem4UjgZEcBBQHsXkAAaMGSAwrCBKFqgeyKPi80rUKl7pjlBasKcD6hlICyDQugkvBTjNQIVzs6mkRBGcHGSI1Ox25Qxw5XCx8UnDMHACMK3ccnOej7ZMk5ClEGOeWQhqkEAlJ6XihcASeARxZGhx/Ag8BroxkUGNBtIM8DDNsiqSaBPGR9CrMBDFiQIMB+01GV8oQpWRL8sxwC3IggEXS2OLAeTrwtMIZdhO2ABCGIZbScBnP98huBQYWoUwQAOw==,length:628,digest:5ecb3255a12ef30a9d3c3a5554e8021d,mark:R0lGODlhRgAgALP/AP///xAQEBgYGCEhITExMUpKSlo="^^<urn:x-hp-dt:blob-bytes>.
第一行表示,RDF节点#bluejoe具有一个属性#name,属性值是一个文本串"zhihong SHEN"。
第二行表示,RDF节点#bluejoe具有一个属性#photo,属性值是一个BLOB数据,其内容为一个二进制字节数组(base64解码可以得知其为一个GIF照片文件),数组长度为628个字节,摘要为5ecb3255a12ef30a9d3c3a5554e8021d。
可以看出,文本输出并不适合BLOB二进制内容的表达,通常建议采用应用程序通过BLOB属性值的打开输入流(openStream)操作,获取到字节流,然后再按照数据流的规范进行后续操作。
实施例3、BLOB属性值的创建方法
本发明提供了从不同的数据源创建BLOB属性值的方法:
Literal create(byte[]bytes):根据字节数组生成BLOB属性值
Literal create(File file):根据文件生成BLOB属性值
Literal create(InputStreamSource source):根据输入流数据源生成BLOB属性值;
Literal create(String text):根据文本串生成BLOB属性值
以create(File file)为例,伪代码如下:
val bl=new BlobLiteral{
val mark32=IOUtils.readBytes(openStream(),32);//读取前32位标志
def openStream()=new FileInputStream(fileName);//打开文件输入流
def getLength()=file.length();//获取到文件的长度
def getDigest()=DigestUtils.md5Hex(openStream());//生成摘要
def getMark()=mark32;
};
return bl;//返回该属性值
实施例4、BLOB属性值的存储方法
由于BLOB属性值往往占据较大的存储空间,将BLOB属性值和其它属性值保存在同一个空间,会带来严重的内存消耗和读取性能的问题。本发明提出一种与RDF模型实际存储系统融合且又相对独立的存储库方案:
(1)在RDF模型实际存储系统中,BLOB属性值存储为一个BLQ四元组(BLOB LiteralQuadruple)而非BLOB数据内容本身,该四元组为<句柄,长度,摘要,32位标志>,其中BLOB句柄为每个BLOB数据分配的一个唯一的标识;
(2)BLOB属性值中的数据内容存储在一个命名为BlobStorage的后端存储系统上,BlobStorage维护BLOB句柄与BLOB数据内容之间的映射,即可以根据句柄获得BLOB数据内容;
(3)用户可以根据BlobStorage的接口要求,基于关系型数据库、文件系统等来实现后端存储系统。特别的,本发明基于本地文件系统,提供了一个可用的BlobStorage。
特别的,BlobStorage系统提出了如下接口方法:
(1)fromHandle:根据句柄,获取到对应的BLOB数据;
(2)insert:保存指定的BLOB内容,并返回新的句柄;
(3)delete:删除指定句柄的BLOB;
(4)update:保存指定的BLOB内容至指定的BLOB属性;
本发明系统同时提供了一套基于本地文件系统实现的BlobStorage,对应的类名为LocalFileSystemBlobStorage。
LocalFileSystemBlobStorage的insert()方法的实现步骤如下:
(1)根据当前系统时间创建一个唯一编号ID,作为BLOB句柄;
(2)在约定目录下创建一个新文件,文件名为<ID>.bin,写入传入的BLOB内容;
(3)同时生成一个<ID>.md5文件,写入BLOB内容的摘要;
(4)返回ID;
LocalFileSystemBlobStorage的delete()的实现步骤如下:
(1)获取到传入的句柄ID;
(2)删除约定目录下的文件<ID>.bin;
(3)删除约定目录下的文件<ID>.md5;
LocalFileSystemBlobStorage的fromHandle()的实现步骤如下:
(1)获取到传入的句柄ID;
(2)找到约定目录下的文件<ID>.bin,以及<ID>.md5,根据<ID>.bin文件的内容、<ID>.bin文件的大小、<ID>.md5文件的内容构建BLQ四元组以及BLOB数据内容;
(3)返回BLOB数据内容;
实施例5、RDF-B模型操作模块
由于传统RDF模型缺乏对BLOB属性的支持,为了实现对RDF-B模型的操作,需要采用如下步骤:
(1)基于Jena创建一个标准的RDF数据模型(com.hp.hpl.jena.rdf.model.Model类对象),如:
Model model=ModelFactory.createDefaultModel();
或者从已有存储中构建一个RDF数据模型model:
Model model=TDBFactory.createDataset(tdbDir).getDefaultModel().
(2)创建一个BlobStorage类(参见实施例4)的对象blobStorage;
(3)利用addBlobNature(model,blobStorage)方法将以上model改造成RDF-B数据模型blobModel;
如上所述,addBlobNature(model,blobStorage)方法实现了传统RDF的改造,改造的具体方法如下:
(1)定义BlobTripleTable类,该类继承了Jena的com.hp.hpl.jena.tdb.store.TripleTable;
(2)实现BlobTripleTable的add()方法,在添加该RDF三元组的时候,调用blobStorage的create()方法,将BLOB对象写入到后端存储系统中;
(3)实现BlobTripleTable的delete()方法,在删除该RDF三元组的时候,调用blobStorage的delete()方法,同时删除后端存储中的BLOB内容(参见实施例4);
(4)实现BlobTripleTable的update()方法,在更新该RDF三元组的时候,调用blobStorage的update()方法,更新后端存储中的BLOB内容(参见实施例4);
(5)修改传入参数model内部的TripleTable对象,将其替换成一个BlobTripleTable类的对象;
(6)在用户程序针对RDF-B模型进行三元组的更新操作时,以上BlobTripleTable对象的add()、delete()和update()方法会被自动调用,从而实现存储后端的同步;
通过如上方法,可以得到RDF-B模型,为了向RDF-B模型中写入RDF三元组,可以采用如下步骤:
(1)创建BLOB属性值:可以利用BlobLiteralFactory类(参见实施例3),创建某个BLOB属性值,命名为blobLiteral;
(2)调用com.hp.hpl.jena.rdf.model.Model的相关方法来增添一个三元组,如:blobModel.add(person,photo,blobLiteral)。
实施例6、RDF-B函数与SPARQL查询
为了实现对BLOB属性值的操作,本发明定义了BLOB属性值的6个操作,并实现了对应的函数类,它们分别是:
(1)GetDigest:获取指定BLOB数据的摘要,接受一个参数,该类继承于com.hp.hpl.jena.sparql.function.FunctionBase1;
(2)GetLength:获取指定BLOB数据的长度,接受一个参数,该类继承于com.hp.hpl.jena.sparql.function.FunctionBase1;
(3)GetMark:获取指定BLOB数据的摘要,接受一个、两个、三个参数,该类继承于com.hp.hpl.jena.sparql.function.FunctionBase;
(4)IsBlob:判断属性是否为BLOB数据,接受一个参数,该类继承于com.hp.hpl.jena.sparql.function.FunctionBase1;
(5)ToBytes:将BLOB数据的内容转换成字节数组,接受一个参数,该类继承于com.hp.hpl.jena.sparql.function.FunctionBase1;
(6)ToString:将BLOB数据的内容转换成文本串,接受一个参数,该类继承于com.hp.hpl.jena.sparql.function.FunctionBase1;
以GetDigest为例,它的类定义如下:
基于Jena的ARQ模块,可以封装针对RDF-B模型的SPARQL查询引擎。一旦在SPARQL查询引擎中注册了以上操作函数,用户程序就可以在SPARQL查询语句中调用这些操作函数,从而达到关联查询的效果,示例:
select?name
where{
?person<#name>?name.
?person<#photo>?photo
FILTER(blob:isBlob(?o)&&blob:mark(4)=’GIF89a’)
}
该SPARQL语句查询包含有照片,且照片的标志为GIF89a(格式为GIF图片)的人员的姓名。其中出现的blob:isBlob()和blob:mark()对应于IsBlob()和GetMark()函数。

Claims (10)

1.一种支持BLOB的多元大数据融合方法,其步骤为:
1)基于RDF数据模型,创建支持BLOB的多元大数据融合模型,即RDF-B数据模型;创建或设置一后端存储系统;该RDF-B数据模型采用三元组形式来表达每个资源的属性及其属性值,其中,所述属性值包括BLOB类型的属性值,BLOB类型的属性值包括数据内容、长度、摘要和标志信息;
2)RDF-B数据模型对收到的数据生成三元组并存储到一前端存储系统;其中,如果该数据为BLOB类型,则RDF-B数据模型根据该数据对应三元组中BLOB类型的属性值生成一四元组<句柄,长度,摘要,标志>作为该数据的三元组信息的属性值,然后将该数据的三元组保存到该前端存储系统,根据该句柄将该BLOB类型的属性值中的数据内容存储到所述后端存储系统;所述后端存储系统维护句柄与对应BLOB类型的属性值的数据内容之间的映射。
2.如权利要求1所述的方法,其特征在于,创建BLOB类型的属性值的方法为:首先获取该数据的前若干字节作为所述标志信息,然后创建一二进制字节数组保存该数据的内容,获取该数据的长度并生成该数据的摘要。
3.如权利要求1所述的方法,其特征在于,根据该句柄将该BLOB类型的属性值中的数据内容存储到所述后的存储系统的方法为:首先根据当前系统时间创建一个唯一编号ID,作为句柄;然后在所述后端存储系统的设定目录下创建一个新文件,文件名为<ID>.bin,写入该BLOB类型的属性值的数据内容;并且生成一个<ID>.md5文件,写入所述摘要。
4.如权利要求1或2或3所述的方法,其特征在于,根据字节数组生成BLOB类型的属性值,、根据文件生成BLOB类型的属性值、根据输入流数据源生成BLOB类型的属性值或根据文本串生成BLOB类型的属性值。
5.如权利要求1或2或3所述的方法,其特征在于,所述标志信息为一32位的标志。
6.一种支持BLOB的多元大数据融合系统,其特征在于,包括一RDF-B数据模型,一后端存储系统和一前端存储系统;其中,
RDF-B数据模型,采用三元组形式来表达每个资源的属性及其属性值,所述属性值包括BLOB类型的属性值,BLOB类型的属性值包括数据内容、长度、摘要和标志信息;
前端存储系统,用于存储RDF-B数据模型对收到的数据生成的三元组;如果该数据为BLOB类型,则RDF-B数据模型根据该数据对应三元组中BLOB类型的属性值生成一四元组<句柄,长度,摘要,标志>作为该数据的三元组信息的属性值;
后端存储系统,用于根据句柄将对应BLOB类型的属性值中的数据内容进行存储;所述后端存储系统维护句柄与对应BLOB类型的属性值的数据内容之间的映射。
7.如权利要求6所述的系统,其特征在于,所述RDF-B数据模型获取数据的前若干字节作为所述标志信息,然后创建一二进制字节数组保存该数据的内容,获取该数据的长度并生成该数据的摘要,生成该数据的BLOB类型的属性值。
8.如权利要求6所述的系统,其特征在于,所述RDF-B数据模型根据当前系统时间创建一个唯一编号ID,作为句柄;然后在所述后端存储系统的设定目录下创建一个新文件,文件名为<ID>.bin,写入该BLOB类型的属性值的数据内容;并且生成一个<ID>.md5文件,写入所述摘要。
9.如权利要求6或7或8所述的系统,其特征在于,基于RDF数据模型创建支持BLOB的RDF-B数据模型。
10.如权利要求6或7或8所述的系统,其特征在于,所述标志信息为一32位的标志;根据字节数组生成BLOB类型的属性值,、根据文件生成BLOB类型的属性值、根据输入流数据源生成BLOB类型的属性值或根据文本串生成BLOB类型的属性值。
CN201710321988.5A 2017-05-09 2017-05-09 一种支持blob的多元大数据融合方法和系统 Active CN107122486B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710321988.5A CN107122486B (zh) 2017-05-09 2017-05-09 一种支持blob的多元大数据融合方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710321988.5A CN107122486B (zh) 2017-05-09 2017-05-09 一种支持blob的多元大数据融合方法和系统

Publications (2)

Publication Number Publication Date
CN107122486A true CN107122486A (zh) 2017-09-01
CN107122486B CN107122486B (zh) 2020-08-14

Family

ID=59726936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710321988.5A Active CN107122486B (zh) 2017-05-09 2017-05-09 一种支持blob的多元大数据融合方法和系统

Country Status (1)

Country Link
CN (1) CN107122486B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108376174A (zh) * 2018-02-27 2018-08-07 河北中科开元数据科技有限公司 支持结构化与非结构化大数据融合的方法和装置
CN109582831A (zh) * 2018-10-16 2019-04-05 中国科学院计算机网络信息中心 一种支持非结构化数据存储与查询的图数据库管理系统
CN110647703A (zh) * 2019-09-18 2020-01-03 平安科技(深圳)有限公司 动画播放方法、装置、计算机设备和存储介质
CN110704688A (zh) * 2018-07-09 2020-01-17 上海交通大学 基于关联数据的区块链分离存储系统
CN113076325A (zh) * 2021-03-25 2021-07-06 上海达梦数据库有限公司 一种大字段数据处理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090077373A1 (en) * 2007-09-13 2009-03-19 Columbus Venture Capital S. A. R. L. System and method for providing verified information regarding a networked site
CN102999563A (zh) * 2012-11-01 2013-03-27 无锡成电科大科技发展有限公司 基于资源描述框架的网络资源语义检索方法及系统
CN106611046A (zh) * 2016-12-16 2017-05-03 武汉中地数码科技有限公司 基于大数据技术的空间数据存储处理中间件框架

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090077373A1 (en) * 2007-09-13 2009-03-19 Columbus Venture Capital S. A. R. L. System and method for providing verified information regarding a networked site
CN102999563A (zh) * 2012-11-01 2013-03-27 无锡成电科大科技发展有限公司 基于资源描述框架的网络资源语义检索方法及系统
CN106611046A (zh) * 2016-12-16 2017-05-03 武汉中地数码科技有限公司 基于大数据技术的空间数据存储处理中间件框架

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108376174A (zh) * 2018-02-27 2018-08-07 河北中科开元数据科技有限公司 支持结构化与非结构化大数据融合的方法和装置
CN110704688A (zh) * 2018-07-09 2020-01-17 上海交通大学 基于关联数据的区块链分离存储系统
CN109582831A (zh) * 2018-10-16 2019-04-05 中国科学院计算机网络信息中心 一种支持非结构化数据存储与查询的图数据库管理系统
CN109582831B (zh) * 2018-10-16 2022-02-01 中国科学院计算机网络信息中心 一种支持非结构化数据存储与查询的图数据库管理系统
CN110647703A (zh) * 2019-09-18 2020-01-03 平安科技(深圳)有限公司 动画播放方法、装置、计算机设备和存储介质
WO2021051597A1 (zh) * 2019-09-18 2021-03-25 平安科技(深圳)有限公司 动画播放方法、装置、计算机设备和存储介质
CN113076325A (zh) * 2021-03-25 2021-07-06 上海达梦数据库有限公司 一种大字段数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN107122486B (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
CN107122486B (zh) 一种支持blob的多元大数据融合方法和系统
CN106934062B (zh) 一种查询elasticsearch的实现方法及系统
US8103705B2 (en) System and method for storing text annotations with associated type information in a structured data store
Bikakis et al. The XML and semantic web worlds: technologies, interoperability and integration: a survey of the state of the art
US20130006968A1 (en) Data integration system
US20070073663A1 (en) System and method for providing full-text searching of managed content
US20040220927A1 (en) Techniques for retaining hierarchical information in mapping between XML documents and relational data
US20150205834A1 (en) PROVIDING FILE METADATA QUERIES FOR FILE SYSTEMS USING RESTful APIs
US20110093486A1 (en) Data query method, data query system and computer readable and writable recording medium
US20030226109A1 (en) Method, apparatus, and system for data modeling and processing
US9824128B1 (en) System for performing single query searches of heterogeneous and dispersed databases
US8903842B2 (en) Metadata driven reporting and editing of databases
US9836503B2 (en) Integrating linked data with relational data
US10296505B2 (en) Framework for joining datasets
US20210073196A1 (en) Semantic, single-column identifiers for data entries
CN113157723B (zh) 一种面向Hyperledger Fabric的SQL访问方法
US10671411B2 (en) Cloning for object-oriented environment
KR100417569B1 (ko) 메타데이터 교환표준을 이용한 분산 이종 데이터베이스검색방법
Johnson Indexing linked bibliographic data with JSON-LD, BibJSON and Elasticsearch
Saputra et al. A metadata approach for building web application user interface
Dickson et al. The semi-structured data model and implementation issues for semi-structured data
Molnar et al. Conceptual graph driven modeling and querying methods for RDMBS and XML databases
US11372943B2 (en) Custom types controller for search engine support
US20230121287A1 (en) Metadata elements with persistent identifiers
TW202016754A (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