CN104794231A - 一种基于Map/Reduce的非结构化数据的处理方法和装置 - Google Patents
一种基于Map/Reduce的非结构化数据的处理方法和装置 Download PDFInfo
- Publication number
- CN104794231A CN104794231A CN201510221354.3A CN201510221354A CN104794231A CN 104794231 A CN104794231 A CN 104794231A CN 201510221354 A CN201510221354 A CN 201510221354A CN 104794231 A CN104794231 A CN 104794231A
- Authority
- CN
- China
- Prior art keywords
- data
- subobject
- broker
- unstructured data
- map
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于Map/Reduce的非结构化数据的处理方法和装置,涉及云计算和分布式数据***技术领域。该方法包括:预先创建非结构化数据的对象代理;建立对象代理、数据文件以及序列化处理节点的映射关系;生成基于对象代理的Key-Value对集,通过Map/Reduce计算框架将Key-Value对集进行分割,使得每个计算节点得到相应的Key-Value对集序列;通过Key-Value对集中的对象代理和映射关系,确定各对象对应的序列化处理节点;通过序列化处理节点对各对象进行动态序列化处理,生成各对象的数据实体;通过计算节点对各数据实体进行反序列化处理,重构各内存对象,以对内存对象进行后续计算处理。
Description
技术领域
本发明涉及云计算和分布式数据***技术领域,尤其涉及一种基于Map/Reduce的非结构化数据的处理方法和装置。
背景技术
目前,利用云计算平台进行大量数据计算的主要方式是基于Map/Reduce框架的分布式并行计算。Map/Reduce是一种编程模型。通过基于Map/Reduce框架的分布式并行计算可以驱动成千上万的计算节点,快速完成非常巨大数据量的计算任务。Map/Reduce框架非常适合云计算环境,它将巨大的数据集分割成许多子集,各个计算节点只负责分配给其的子集的计算,然后将子集计算结果进行合并计算,得到最终结果,整个计算的效率非常高,每个节点承担的计算压力都是可控的,***横向扩展能力极强。
Map/Reduce框架的核心是数据的子集分割,现有的Map/Reduce框架实现是基于分布式文件***的,数据按照文件***或建立在之上的数据库***进行分割,一般都是物理分割方式。这种数据的组织方式非常适合结构化或半结构数据,每个结构化数据或半结构化数据记录的结构比较单一,数据解译简单且数据量较小,Map/Reduce框架可以支持非常巨量的结构化数据或半结构化数据的记录集投入计算,当前有很多数据***已经部署Map/Reduce框架来进行结构化数据处理。
但是,当前的数据中总量最大的并非易于组织的结构化数据,而是大量的非结构化数据,或者称为复杂结构数据,例如图像、视频、地理信息数据、遥感影像数据、科学计算数据等。这些非结构化数据,从面向对象的角度分析,是由许多不同类型的对象组成的,在使用非结构化数据时,需要构建一系列的内存对象,通过复杂的数据解译过程,将数据读取到内存,来进行后续计算。然而,对于非结构化数据的整个数据解译过程是非常耗时的,如果将解译计算过程直接纳入到Map/Reduce框架,则***承受的压力非常巨大,同时,简单的物理分割不能得到有效的数据子集,因此当前难以通过Map/Reduce框架进行非结构化数据处理。
发明内容
本发明的实施例提供一种基于Map/Reduce的非结构化数据的处理方法和装置,以解决当前难以基于Map/Reduce框架进行非结构化数据处理的问题。
为达到上述目的,本发明采用如下技术方案:
一种基于Map/Reduce的非结构化数据的处理方法,包括:
预先创建非结构化数据的对象代理;所述非结构化数据由一个或多个对象组成,所述对象代理用于描述非结构化数据中的对象;
建立对象代理、数据文件以及序列化处理节点的映射关系;
生成基于对象代理的Key-Value对集,通过Map/Reduce计算框架将所述Key-Value对集进行分割,使得每个计算节点得到相应的Key-Value对集序列;
通过Key-Value对集的对象代理和映射关系,确定各对象对应的序列化处理节点;
通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体;
通过所述计算节点对各数据实体进行反序列化处理,重构各内存对象,以对所述内存对象进行计算处理。
具体的,所述通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体,包括:
动态提取数据文件中的各对象,并对各对象进行序列化处理,生成包含对象二进制表达的数据实体。
具体的,所述预先创建非结构化数据的对象代理,包括:
将所述非结构化数据按照对象进行逻辑划分,通过一代理描述结构来表示非结构化数据所包含的对象;
所述对象代理包括对象唯一标识、对象名称、对象结构描述、该对象所对应的数据文件名称、对象存储方式、对象存储位置、该对象所对应的序列化处理节点、该对象支持的子对象分割方式。
另外,在通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体之前,包括:
根据所述子对象分割方式对各对象进行子对象分割,生成对象的子对象;所述子对象分割方式包括根据时间进行子对象分割、根据空间进行子对象分割以及根据物理属性进行子对象分割;
所述通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体,还包括:
通过所述序列化处理节点对各对象中的子对象进行序列化处理,生成各子对象的数据实体。
具体的,所述生成基于所述对象代理的Key-Value对集,包括:
获取计算节点发送的数据调用请求;
向存储有对象代理的中央数据库发送查询对象代理请求;
若查找到计算节点所需的对象代理,则生成基于该对象代理的Key-Value对集。
一种基于Map/Reduce的非结构化数据的处理装置,包括:
非结构化数据划分单元,用于预先创建非结构化数据的对象代理;所述非结构化数据由一个或多个对象组成,所述对象代理用于描述非结构化数据中的对象;
映射关系建立单元,用于建立对象代理、数据文件以及序列化处理节点的映射关系;
Key-Value对集生成单元,用于生成基于对象代理的Key-Value对集,通过Map/Reduce计算框架将所述Key-Value对集进行分割,使得每个计算节点得到相应的Key-Value对集序列;
序列化处理节点确定单元,用于通过Key-Value对集中的对象代理和映射关系,确定各对象对应的序列化处理节点;
数据实体生成单元,用于通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体;
内存对象重构单元,用于通过所述计算节点对各数据实体进行反序列化处理,重构各内存对象,以对所述内存对象进行计算处理。
另外,所述数据实体生成单元,具体用于:
动态提取数据文件中的各对象,并对各对象进行序列化处理,生成包含对象二进制表达的数据实体。
另外,所述非结构化数据划分单元,具体用于:
将所述非结构化数据的按照对象进行逻辑划分,通过一代理描述结构来表示非结构化数据所包含的对象;
所述对象代理包括对象唯一标识、对象名称、对象结构描述、该对象所对应的数据文件名称、对象存储方式、对象存储位置、该对象所对应的序列化处理节点、该对象支持的子对象分割方式。
此外,该基于Map/Reduce的非结构化数据的处理装置,还包括:
子对象分割单元,用于根据所述子对象分割方式对各对象进行子对象分割,生成对象的子对象;所述子对象分割方式包括根据时间进行子对象分割、根据空间进行子对象分割以及根据物理属性进行子对象分割;
所述数据实体生成单元,还用于:
通过所述序列化处理节点对各对象中的子对象进行序列化处理,生成各子对象的数据实体。
此外,所述Key-Value对集生成单元,具体用于:
获取计算节点发送的数据调用请求;
向存储有对象代理的中央数据库发送查询对象代理请求;
若查找到计算节点所需的对象代理,则生成基于该对象代理的Key-Value对集。
本发明实施例提供的一种基于Map/Reduce的非结构化数据的处理方法和装置,预先创建了非结构化数据的对象代理,并建立对象代理、数据文件以及序列化处理节点的映射关系;生成基于对象代理的Key-Value对集,通过Map/Reduce计算框架将Key-Value对集进行分割,使得每个计算节点得到相应的Key-Value对集序列;通过Key-Value对集的对象代理和映射关系,确定各对象对应的序列化处理节点;通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体;通过计算节点对各所述数据实体进行反序列化处理,重构各内存对象,以对所述内存对象进行计算处理。可见,本发明通过基于对象的数据提取和分割,以及对象代理,计算节点能够通过序列化处理节点得到数据实体,即实际的数据,从而重构出内存对象,对内存对象进行后续的计算处理。这样,避免了将非结构化数据物理分割并分配到各计算节点上进行计算难以得到有效的数据子集的问题,且避免了***承受压力巨大的问题,从而解决了当前难以通过Map/Reduce框架进行非结构化数据计算处理的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于Map/Reduce的非结构化数据的处理方法的流程图一;
图2为本发明实施例提供的基于Map/Reduce的非结构化数据的处理方法的流程图二;
图3为本发明实施例中的对象代理的示意图;
图4为本发明实施例中的非结构化数据以对象为分割和计算单元的信息传递流程示意图;
图5为本发明实施例提供的基于Map/Reduce的非结构化数据的处理装置的结构示意图一;
图6为本发明实施例提供的基于Map/Reduce的非结构化数据的处理装置的结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种基于Map/Reduce的非结构化数据的处理方法,如图1所示,包括:
步骤101、预先创建非结构化数据的对象代理。
其中,所述非结构化数据由一个或多个对象组成,所述对象代理用于描述非结构化数据中的对象。
步骤102、建立对象代理、数据文件以及序列化处理节点的映射关系。
步骤103、生成基于对象代理的Key-Value对集,通过Map/Reduce计算框架将Key-Value对集进行分割,使得每个计算节点得到相应的Key-Value对集序列。
步骤104、通过Key-Value对集的对象代理和映射关系,确定各对象对应的序列化处理节点。
步骤105、通过序列化处理节点对各对象进行序列化处理,生成各对象的数据实体。
步骤106、通过计算节点对各所述数据实体进行反序列化处理,重构各内存对象,以对内存对象进行计算处理。
本发明实施例提供的一种基于Map/Reduce的非结构化数据的处理方法,预先创建了非结构化数据的对象代理,并建立对象代理、数据文件以及序列化处理节点的映射关系;生成基于对象代理的Key-Value对集,通过Map/Reduce计算框架将Key-Value对集进行分割,使得每个计算节点得到相应的Key-Value对集序列;通过Key-Value对集的对象代理和映射关系,确定各对象对应的序列化处理节点;通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体;通过计算节点对各所述数据实体进行反序列化处理,重构各内存对象,以对所述内存对象进行计算处理。可见,本发明通过基于对象的数据提取和分割,以及对象代理,计算节点能够通过序列化处理节点得到数据实体,即实际的数据,从而重构出内存对象,对内存对象进行后续的计算处理。这样,避免了将非结构化数据物理分割并分配到各计算节点上进行计算难以得到有效的数据子集的问题,且避免了***承受压力巨大的问题,从而解决了当前难以通过Map/Reduce框架进行非结构化数据计算处理的问题。
下面列举一个更为具体的实施例,以使得本领域的技术人员更好的了解本发明,如图2所示,本发明实施例提供一种基于Map/Reduce的非结构化数据的处理方法,包括:
步骤201、将非结构化数据的按照对象进行逻辑划分,通过一代理描述结构表示非结构化数据所包含的对象。
该非结构化数据由一个或多个对象组成,对象代理用于描述非结构化数据中的对象。在一实施例中,如图3所示,该对象代理可以包括对象唯一标识、对象名称、对象结构描述、该对象所对应的数据文件名称、对象存储方式、对象存储位置、该对象所对应的序列化处理节点、该对象支持的子对象分割方式等。
值得说明的是,该对象代理是维持对象、数据文件和序列化处理节点之间映射的关键,它可以作为对象的表达部分,兼容现有的基于Key-Value对集的Map/Reduce计算模型,同时在计算开始后,对象代理可以帮助Map/Reduce计算节点快速定位序列化处理节点,请求对象数据实体,并重构内存对象。该对象代理的基本结构是一个关系模型的实体,包括主键、单值属性、组合属性、对象属性等。
对象代理的主键是一个唯一标识,它是一个全球唯一的16字节编码,例如:6F9619FF-8B86-D011-B42D-00C04FC964FF,该唯一标识可以用于标识对象代理,从而便于查询到该对象代理。
对象的表达部分有三个主要属性,即:对象名称、对象类型、对象的结构描述。对象名称与实际内存构建的对象实体名一致,同样的对象结构使用同一个名称;对象类型包括预定义、自定义、临时定义等三种类型,对于预定义对象类型,其对象结构描述一般是通用的,可以单独存放在一个预定义对象表中,在对象代理中只放置一个引用连接,对于自定义和临时定义的对象类型,其对象结构描述直接存放在对象代理中,用于表示特有的、非共享的对象结构;对象结构描述使用轻量级数据交换格式(简称JSON)格式的显式Schema表达,它是整个对象的结构定义,可以通过这个显式表达直接构建一个空的内存对象实体,同时这个显式表达也可以方便的转换为二进制表达。
对象的存储部分包括三个主要属性,即对应的数据文件名称、存储方式、存储位置,其中存储方式包括云存储、存储区域网络(简称SAN)、NAS网络存储(NetworkAttached Storage)、本地等,存储位置表达与具体存储方式相关。
序列化处理部分包括的主要属性为对应的序列化处理节点、备用的序列化处理节点、子对象分割方式等,序列化处理节点是能够读取相应数据文件进行这种对象序列化处理的节点,可以存在1至2个备用节点;子对象分割方式可以包括基于时间、空间和物理属性等三种方式。
在一实施例中,该数据实体包括数据实体和所述对象的二进制表达信息。
值得说明的是,该非结构化数据可以包括图像数据、视频数据、卫星探测数据、地理信息数据等,但不仅局限于此。
步骤202、建立对象代理、数据文件以及序列化处理节点的映射关系。
步骤203、获取计算节点发送的数据调用请求。
步骤204、向存储有对象代理的中央数据库发送查询对象代理请求。
步骤205、若查找到计算节点所需的对象代理,则生成基于该对象代理的Key-Value对集。
步骤206、通过Map/Reduce计算框架将Key-Value对集进行分割,使得每个计算节点得到相应的Key-Value对集序列。
步骤207、通过Key-Value对集的对象代理和映射关系,确定各对象对应的序列化处理节点。
步骤208、通过序列化处理节点动态提取数据文件中的各对象,并对各对象进行序列化处理,生成包含对象二进制表达的数据实体。
另外,在步骤208中的生成数据实体之前,还可以根据子对象分割方式对各对象进行子对象分割,生成对象的子对象;该子对象分割方式包括根据时间进行子对象分割、根据空间进行子对象分割以及根据物理属性进行子对象分割;进而在生成各对象的数据实体时,可以是通过所述序列化处理节点对各对象中的子对象进行序列化处理,生成各子对象的数据实体。这样形成的数据实体更为精细,数据量小,冗余较少。
步骤209、通过计算节点对各所述数据实体进行反序列化处理,重构各内存对象,以对所述内存对象进行计算处理。
本发明实施例提供的一种基于Map/Reduce的非结构化数据的处理方法,预先创建了非结构化数据的对象代理,并建立对象代理、数据文件以及序列化处理节点的映射关系;生成基于对象代理的Key-Value对集,通过Map/Reduce计算框架将Key-Value对集进行分割,使得每个计算节点得到相应的Key-Value对集序列;通过Key-Value对集的对象代理和映射关系,确定各对象对应的序列化处理节点;通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体;通过计算节点对各所述数据实体进行反序列化处理,重构各内存对象,以对所述内存对象进行计算处理。可见,本发明通过基于对象的数据提取和分割,以及对象代理,计算节点能够通过序列化处理节点得到数据实体,即实际的数据,从而重构出内存对象,对内存对象进行后续的计算处理。这样,避免了将非结构化数据物理分割并分配到各计算节点上进行计算难以得到有效的数据子集的问题,且避免了***承受压力巨大的问题,从而解决了当前难以通过Map/Reduce框架进行非结构化数据计算处理的问题。
为了便于本领域的技术人员更好的了解本发明,下面列举一个具体实例来说明本发明实施例提供的一种基于Map/Reduce的非结构化数据的处理方法的工作流程,应该明确的是,以下列举的具体实施例仅是本发明的其中一种实现方式,其他根据本发明而得到的具体实施例,在此不再赘述:
如图4所示,显示了一个非结构化数据以对象为分割和计算单元的信息传递流程,包括5种类型的传递方式,即:对象代理传输、数据库调用、对象实体数据流传输、本地调用、远程过程调用(Remote Procedure Call Protocol,简称RPC调用)。
其中步骤301、302为对象代理传输,包括创建和注册对象代理,将对象代理存入中央数据库,并建立对象代理、数据文件和序列化处理节点的映射关系。
步骤303,304是数据库调用,由Map/Reduce计算节点的数据接口发起,获取参与计算的Key-Value对集。在接收Map/Reduce计算节点调用请求后,向中央数据库发起查询相关的对象代理请求。
步骤305是对象代理传输,通过中央数据库的查询返回结果,在找到对象代理后,构建参与计算的Key-Value对集。
步骤306是对象代理传输,Map/Reduce结算节点的数据接口接收到Key-Value对集后,开始数据分割处理,每个计算节点获取部分Key-Value对集。
步骤307是本地调用,Map/Reduce计算节点通过一个Key-Value对获取对象代理结构,从而得到序列化处理节点地址。
步骤308是RPC调用,Map/Reduce计算节点向序列化处理节点发起获取对象数据实体的RPC调用请求。
步骤309、310、311是本地调用,部署在序列化处理节点上,通过接收Map/Reduce计算节点的调用申请,使用对象代理的结构描述,动态的创建内存对象结构,定位数据文件,调用相应的数据解译进程。
步骤312是对象实体数据流传输,数据解译进程读取相应的数据文件,开始按照对象分割数据体。
步骤313是对象实体数据流传输,通过数据解译进程处理,将实体数据读取到已生成的内存对象结构中。
步骤314是对象实体数据流传输,开始内存对象的序列化处理,生成包含二进制表达的对象数据实体。
步骤315是对象实体数据流传输,开始启动RPC回调应答,将对象数据实体以数据流的方式传输回Map/Reduce计算节点。
步骤316是对象实体数据流传输,Map/Reduce计算节点接收到对象实体数据流后,使用其内含的二进制表达,直接重构内存对象,开始对内存对象进行后续计算。
对应于上述的图1和图2的方法实施例,本发明实施例提供一种基于Map/Reduce的非结构化数据的处理装置,如图5所示,包括:
非结构化数据划分单元41,可以预先创建非结构化数据的对象代理;该非结构化数据由一个或多个对象组成,该对象代理用于描述非结构化数据中的对象。
映射关系建立单元42,可以建立对象代理、数据文件以及序列化处理节点的映射关系。
Key-Value对集生成单元43,可以生成基于对象代理的Key-Value对集,通过Map/Reduce计算框架将Key-Value对集进行分割,使得每个计算节点得到相应的Key-Value对集序列;
序列化处理节点确定单元44,可以通过Key-Value对集中的对象代理和映射关系,确定各对象对应的序列化处理节点;
数据实体生成单元45,可以通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体。
内存对象重构单元46,可以通过计算节点对各所述数据实体进行反序列化处理,重构各内存对象,以对所述内存对象进行计算处理。
另外,该数据实体生成单元45,具体可以动态提取数据文件中的各对象,并对各对象进行序列化处理,生成包含对象二进制表达的数据实体。
另外,所述非结构化数据划分单元41,具体可以将所述非结构化数据的按照对象进行逻辑划分,通过一代理描述结构表示非结构化数据所包含的对象。
该对象代理包括对象唯一标识、对象名称、对象结构描述、该对象所对应的数据文件名称、对象存储方式、对象存储位置、该对象所对应的序列化处理节点、该对象支持的子对象分割方式。
此外,如图6所示,该基于Map/Reduce的非结构化数据的处理装置,还包括:
子对象分割单元47,可以根据所述子对象分割方式对各对象进行子对象分割,生成对象的子对象。所述子对象分割方式包括根据时间进行子对象分割、根据空间进行子对象分割以及根据物理属性进行子对象分割。
从而该数据实体生成单元45,还可以通过所述序列化处理节点对各对象中的子对象进行序列化处理,生成各子对象的数据实体。
此外,所述Key-Value对集生成单元43,具体可以获取计算节点发送的数据调用请求;向存储有对象代理的中央数据库发送查询对象代理请求;若查找到计算节点所需的对象代理,则生成基于该对象代理的Key-Value对集。
本发明实施例提供的一种基于Map/Reduce的非结构化数据的处理装置的具体实现方式可以参见上述图1和图2的方法实施例,此处不再赘述。
本发明实施例提供的一种基于Map/Reduce的非结构化数据的处理装置,预先创建了非结构化数据的对象代理,并建立对象代理、数据文件以及序列化处理节点的映射关系;生成基于对象代理的Key-Value对集,通过Map/Reduce计算框架将Key-Value对集进行分割,使得每个计算节点得到相应的Key-Value对集序列;通过Key-Value对集的对象代理和映射关系,确定各对象对应的序列化处理节点;通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体;通过计算节点对各所述数据实体进行反序列化处理,重构各内存对象,以对所述内存对象进行计算处理。可见,本发明通过基于对象的数据提取和分割,以及对象代理,计算节点能够通过序列化处理节点得到数据实体,即实际的数据,从而重构出内存对象,对内存对象进行后续的计算处理。这样,避免了将非结构化数据物理分割并分配到各计算节点上进行计算难以得到有效的数据子集的问题,且避免了***承受压力巨大的问题,从而解决了当前难以通过Map/Reduce框架进行非结构化数据计算处理的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于Map/Reduce的非结构化数据的处理方法,其特征在于,包括:
预先创建非结构化数据的对象代理;所述非结构化数据由一个或多个对象组成,所述对象代理用于描述非结构化数据中的对象;
建立对象代理、数据文件以及序列化处理节点的映射关系;
生成基于对象代理的Key-Value对集,通过Map/Reduce计算框架将所述Key-Value对集进行分割,使得每个计算节点得到相应的Key-Value对集序列;
通过Key-Value对集的对象代理和映射关系,确定各对象对应的序列化处理节点;
通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体;
通过计算节点对各数据实体进行反序列化处理,重构各内存对象,以对所述内存对象进行计算处理。
2.根据权利要求1所述的基于Map/Reduce的非结构化数据的处理方法,其特征在于,所述通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体,包括:
动态提取数据文件中的各对象,并对各对象进行序列化处理,生成包含对象二进制表达的数据实体。
3.根据权利要求2所述的基于Map/Reduce的非结构化数据的处理方法,其特征在于,所述预先创建非结构化数据的对象代理,包括:
将所述非结构化数据按照对象进行逻辑划分,通过一代理描述结构来表示非结构化数据所包含的对象;
所述对象代理包括对象唯一标识、对象名称、对象结构描述、该对象所对应的数据文件名称、对象存储方式、对象存储位置、该对象所对应的序列化处理节点、该对象支持的子对象分割方式。
4.根据权利要求3所述的基于Map/Reduce的非结构化数据的处理方法,其特征在于,在通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体之前,包括:
根据所述子对象分割方式对各对象进行子对象分割,生成对象的子对象;所述子对象分割方式包括根据时间进行子对象分割、根据空间进行子对象分割以及根据物理属性进行子对象分割;
所述通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体,还包括:
通过所述序列化处理节点对各对象中的子对象进行序列化处理,生成各子对象的数据实体。
5.根据权利要求1所述的基于Map/Reduce的非结构化数据的处理方法,其特征在于,所述生成基于所述对象代理的Key-Value对集,包括:
获取计算节点发送的数据调用请求;
向存储有对象代理的中央数据库发送查询对象代理请求;
若查找到计算节点所需的对象代理,则生成基于该对象代理的Key-Value对集。
6.一种基于Map/Reduce的非结构化数据的处理装置,其特征在于,包括:
非结构化数据划分单元,用于预先创建非结构化数据的对象代理;所述非结构化数据由一个或多个对象组成,所述对象代理用于描述非结构化数据中的对象;
映射关系建立单元,用于建立对象代理、数据文件以及序列化处理节点的映射关系;
Key-Value对集生成单元,用于生成基于对象代理的Key-Value对集,通过Map/Reduce计算框架将所述Key-Value对集进行分割,使得每个计算节点得到相应的Key-Value对集序列;
序列化处理节点确定单元,用于通过Key-Value对集中的对象代理和映射关系,确定各对象对应的序列化处理节点;
数据实体生成单元,用于通过所述序列化处理节点对各对象进行序列化处理,生成各对象的数据实体;
内存对象重构单元,用于通过所述计算节点对各数据实体进行反序列化处理,重构各内存对象,以对所述内存对象进行计算处理。
7.根据权利要求6所述的基于Map/Reduce的非结构化数据的处理装置,其特征在于,所述数据实体生成单元,具体用于:
动态提取数据文件中的各对象,并对各对象进行序列化处理,生成包含对象二进制表达的数据实体。
8.根据权利要求7所述的基于Map/Reduce的非结构化数据的处理装置,其特征在于,所述非结构化数据划分单元,具体用于:
将所述非结构化数据的按照对象进行逻辑划分,通过一代理描述结构来表示非结构化数据所包含的对象;
所述对象代理包括对象唯一标识、对象名称、对象结构描述、该对象所对应的数据文件名称、对象存储方式、对象存储位置、该对象所对应的序列化处理节点、该对象支持的子对象分割方式。
9.根据权利要求8所述的基于Map/Reduce的非结构化数据的处理装置,其特征在于,还包括:
子对象分割单元,用于根据所述子对象分割方式对各对象进行子对象分割,生成对象的子对象;所述子对象分割方式包括根据时间进行子对象分割、根据空间进行子对象分割以及根据物理属性进行子对象分割;
所述数据实体生成单元,还用于:
通过所述序列化处理节点对各对象中的子对象进行序列化处理,生成各子对象的数据实体。
10.根据权利要求6所述的基于Map/Reduce的非结构化数据的处理装置,其特征在于,所述Key-Value对集生成单元,具体用于:
获取计算节点发送的数据调用请求;
向存储有对象代理的中央数据库发送查询对象代理请求;
若查找到计算节点所需的对象代理,则生成基于该对象代理的Key-Value对集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510221354.3A CN104794231B (zh) | 2015-05-04 | 2015-05-04 | 一种基于Map/Reduce的非结构化数据的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510221354.3A CN104794231B (zh) | 2015-05-04 | 2015-05-04 | 一种基于Map/Reduce的非结构化数据的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104794231A true CN104794231A (zh) | 2015-07-22 |
CN104794231B CN104794231B (zh) | 2018-05-25 |
Family
ID=53559023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510221354.3A Active CN104794231B (zh) | 2015-05-04 | 2015-05-04 | 一种基于Map/Reduce的非结构化数据的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104794231B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017092580A1 (zh) * | 2015-11-30 | 2017-06-08 | 阿里巴巴集团控股有限公司 | 一种结构化数据的序列化、反序列化方法及装置 |
CN109144748A (zh) * | 2018-07-26 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种服务器、分布式服务器集群及其状态驱动方法 |
CN109614372A (zh) * | 2018-10-26 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 一种对象存储、读取方法、装置、及业务服务器 |
CN116318561A (zh) * | 2023-05-23 | 2023-06-23 | 上海朗力半导体有限公司 | 无线数据中心的正交序列处理方法、装置、设备及芯片 |
CN117667906A (zh) * | 2023-08-29 | 2024-03-08 | 浪潮智慧科技有限公司 | 一种原始结构化数据智能处理方法、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368272A (zh) * | 2011-11-15 | 2012-03-07 | 中国科学院地理科学与资源研究所 | 一种数据库***实现栅格数据类型的方法及其*** |
CN102917009A (zh) * | 2012-09-06 | 2013-02-06 | 中南民族大学 | 一种基于云计算技术的股票数据采集和存储方法和*** |
CN103077246A (zh) * | 2013-01-18 | 2013-05-01 | 国网电力科学研究院 | 一种基于Netty的大屏可视化平台数据推送*** |
CN103279521A (zh) * | 2013-05-28 | 2013-09-04 | 重庆大学 | 一种基于Hadoop的视频大数据分布式解码方法 |
CN103440288A (zh) * | 2013-08-16 | 2013-12-11 | 曙光信息产业股份有限公司 | 一种大数据存储方法及装置 |
CN103677759A (zh) * | 2013-11-08 | 2014-03-26 | 国家电网公司 | 一种用于信息***性能提升的对象化并行计算方法及*** |
US20150067243A1 (en) * | 2013-08-30 | 2015-03-05 | NXGN Data, Inc. | System and method for executing map-reduce tasks in a storage device |
-
2015
- 2015-05-04 CN CN201510221354.3A patent/CN104794231B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368272A (zh) * | 2011-11-15 | 2012-03-07 | 中国科学院地理科学与资源研究所 | 一种数据库***实现栅格数据类型的方法及其*** |
CN102917009A (zh) * | 2012-09-06 | 2013-02-06 | 中南民族大学 | 一种基于云计算技术的股票数据采集和存储方法和*** |
CN103077246A (zh) * | 2013-01-18 | 2013-05-01 | 国网电力科学研究院 | 一种基于Netty的大屏可视化平台数据推送*** |
CN103279521A (zh) * | 2013-05-28 | 2013-09-04 | 重庆大学 | 一种基于Hadoop的视频大数据分布式解码方法 |
CN103440288A (zh) * | 2013-08-16 | 2013-12-11 | 曙光信息产业股份有限公司 | 一种大数据存储方法及装置 |
US20150067243A1 (en) * | 2013-08-30 | 2015-03-05 | NXGN Data, Inc. | System and method for executing map-reduce tasks in a storage device |
CN103677759A (zh) * | 2013-11-08 | 2014-03-26 | 国家电网公司 | 一种用于信息***性能提升的对象化并行计算方法及*** |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017092580A1 (zh) * | 2015-11-30 | 2017-06-08 | 阿里巴巴集团控股有限公司 | 一种结构化数据的序列化、反序列化方法及装置 |
CN109144748A (zh) * | 2018-07-26 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种服务器、分布式服务器集群及其状态驱动方法 |
CN109144748B (zh) * | 2018-07-26 | 2021-12-07 | 创新先进技术有限公司 | 一种服务器、分布式服务器集群及其状态驱动方法 |
CN109614372A (zh) * | 2018-10-26 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 一种对象存储、读取方法、装置、及业务服务器 |
CN116318561A (zh) * | 2023-05-23 | 2023-06-23 | 上海朗力半导体有限公司 | 无线数据中心的正交序列处理方法、装置、设备及芯片 |
CN116318561B (zh) * | 2023-05-23 | 2023-09-19 | 上海朗力半导体有限公司 | 无线数据中心的正交序列处理方法、装置、设备及芯片 |
CN117667906A (zh) * | 2023-08-29 | 2024-03-08 | 浪潮智慧科技有限公司 | 一种原始结构化数据智能处理方法、设备及存储介质 |
CN117667906B (zh) * | 2023-08-29 | 2024-06-18 | 浪潮智慧科技有限公司 | 一种原始结构化数据智能处理方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104794231B (zh) | 2018-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104794231A (zh) | 一种基于Map/Reduce的非结构化数据的处理方法和装置 | |
CA2923068C (en) | Method and system for metadata synchronization | |
KR102361156B1 (ko) | 분산 파일 시스템에서 데이터에 대한 병렬 액세스 | |
Giachetta | A framework for processing large scale geospatial and remote sensing data in MapReduce environment | |
WO2020035090A3 (en) | Lightweight decentralized application platform | |
CN103237060B (zh) | 一种数据对象获取方法、装置及*** | |
US20160004734A1 (en) | Secure data isolation in a multi-tenant historization system | |
CN105701181A (zh) | 一种动态异构元数据获取方法及*** | |
US20160088077A1 (en) | Seamless binary object and metadata sync | |
EP2778968B1 (en) | Mobile telecommunication device remote access to cloud-based or virtualized database systems | |
CN109144785A (zh) | 用于备份数据的方法和装置 | |
US11630806B1 (en) | Method, apparatus, and computer program product for compression of a graph | |
CN113177088B (zh) | 一种材料辐照损伤多尺度模拟大数据管理*** | |
US20140280158A1 (en) | Systems and methods for managing large volumes of data in a digital earth environment | |
CN102508916A (zh) | 一种海量数据的文件指纹分析方法 | |
CN116974948B (zh) | 业务***测试方法、***、设备和介质 | |
CN108228365A (zh) | 一种函数请求发送方法、函数请求调用方法及装置 | |
CN116127143A (zh) | 数据查询方法、装置、电子设备及可读存储介质 | |
CN114979279B (zh) | 一种用于数据请求的微服务模块调度方法 | |
CN113051303A (zh) | 业务数据处理方法、装置、电子设备以及存储介质 | |
Huang et al. | Flexible architecture for cluster evolution in cloud computing | |
Tripathi et al. | A comparative analysis of conventional hadoop with proposed cloud enabled hadoop framework for spatial big data processing | |
CN109344175A (zh) | 关系型数据库数据分析能力扩展方法、***及电子设备 | |
CN115185997A (zh) | 一种主机信息处理方法、装置、电子设备及存储介质 | |
CN104363286A (zh) | 一种基于工作流模板驱动的cdn内容分发方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |