CN102542071A - 一种分布式处理数据的***及方法 - Google Patents

一种分布式处理数据的***及方法 Download PDF

Info

Publication number
CN102542071A
CN102542071A CN2012100138012A CN201210013801A CN102542071A CN 102542071 A CN102542071 A CN 102542071A CN 2012100138012 A CN2012100138012 A CN 2012100138012A CN 201210013801 A CN201210013801 A CN 201210013801A CN 102542071 A CN102542071 A CN 102542071A
Authority
CN
China
Prior art keywords
data
file
subregion
preset
node
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
CN2012100138012A
Other languages
English (en)
Other versions
CN102542071B (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.)
Shenzhen Coship Electronics Co Ltd
Original Assignee
SHENZHEN TONGZHOU VIDEO MEDIA CO Ltd
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 SHENZHEN TONGZHOU VIDEO MEDIA CO Ltd filed Critical SHENZHEN TONGZHOU VIDEO MEDIA CO Ltd
Priority to CN201210013801.2A priority Critical patent/CN102542071B/zh
Publication of CN102542071A publication Critical patent/CN102542071A/zh
Application granted granted Critical
Publication of CN102542071B publication Critical patent/CN102542071B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种分布式处理数据的***及方法,数据获取模块从分布的数据源中抽取获得第一数据,根据预设的清洗转换规则,对第一数据进行数据清洗和转换,将数据清洗和转换后的第一数据装载到表格中;数据仓库模块按照预设的分表规则,对表格进行拆分,从拆分后的表格中提取第一数据,获得表格数据和第一数据,保存表格数据;数据仓库模块按照预设的分区规则,对第一数据进行分类,并保存在相应的分区中;数据访问模块根据输入的指令,读取表格数据和第一数据,将第一数据装载到表格数据对应的表格中并输出。采用本发明的***及方法,能够降低成本,缩短***的维护所耗费的时间。

Description

一种分布式处理数据的***及方法
技术领域
本发明涉及数据处理技术,特别涉及一种分布式处理数据的***及方法。
背景技术
分布式数据库***是逻辑上属于同一***,物理上分布在用计算机网络连接的多个节点(node)上的数据集合。节点在通讯网络中连接在一起,每个节点都是一个独立的数据库***,拥有各自的数据库、中央处理机及终端,以及各自的局部数据库管理***。在分布式数据库***中,用户数据一般按用户分布在不同的节点数据库(DB)中,每次访问或修改用户数据时需要先定位用户数据所在的节点数据库,而定位用户数据所在的节点数据库的信息是用户重要的状态数据。
图1为现有的分布式数据库***中用户分布装置的结构示意图。现结合图1,对现有的分布式数据库***中用户分布装置进行说明,具体如下:
当用户注册时,用户分布控制单元21获取当前***中不同节点数据库的用户分布权重,按照当前***中不同节点数据库的用户分布权重向用户分布一个与该用户的用户id对应的DBid,将***中的用户数量均衡地分布到不同的节点数据库上。
用户分布信息数据库22保存用户分布信息;用户分布信息包括用户id以及与用户id对应的DBid,还可以包括每个用户数据的当前状态信息。
当接收到访问请求时,用户访问控制单元23通过用户id查询用户分布信息数据库22,获得该用户id对应的存储用户数据的DBid,然后到该DBid对应的节点数据库访问用户数据。当***对用户数据进行升级或迁移时,用户数据状态配置单元24修改用户分布信息数据库22中该用户数据的当前状态为维护状态,升级或迁移完成后,再将用户分布信息中该用户数据的当前状态修改为允许访问的正常状态。
现有的分布式数据库***中的用户分布装置,在用户注册时充分考虑已有用户在节点数据库上的分布,使得用户能够均衡分布在***中的节点数据库中,在用户数据进行升级或迁移时,仅影响该进行升级或迁移的用户,不会影响其他用户数据的访问。但是,现有的分布式数据库***通常是基于ORACLE、DB2、SYSBASE等大型数据库建立分布式数据库***,在处理海量数据的过程中,不仅成本较高,而且***的维护需要耗费较多的时间,还有待进一步改进。
发明内容
有鉴于此,本发明的目的在于提供一种分布式处理数据的***,该***能够降低成本,缩短***的维护所耗费的时间。
本发明的目的在于提供一种分布式处理数据的方法,该方法能够降低成本,缩短***的维护所耗费的时间。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种分布式处理数据的***,该***包含:
数据获取模块,根据预设的抽取条件,从分布的数据源中抽取获得第一数据,根据预设的清洗转换规则,对第一数据进行数据清洗和转换,将数据清洗和转换后的第一数据装载到表格中,并加载到数据仓库模块;
数据仓库模块,按照预设的分表规则,对表格进行拆分,从拆分后的表格中提取第一数据,获得表格数据和第一数据,保存表格数据,按照预设的分区规则,对第一数据进行分类,并保存在相应的分区中;
数据访问模块,根据输入的指令,从数据仓库模块中读取表格数据和第一数据,将第一数据装载到表格数据对应的表格中,并输出包含第一数据的表格。
上述***中,所述数据获取模块包含:
数据抽取单元,根据预设的抽取条件,从分布的数据源中抽取获得第一数据,并输出至数据处理单元;
数据处理单元,根据预设的清洗转换规则,对第一数据进行数据清洗和转换,并输出至数据装载单元;
数据装载单元,对第一数据进行整理,将第一数据装载到表格中,加载包含第一数据的表格至数据仓库模块。
上述***中,所述数据仓库模块包含:
管理节点,根据外部输入的指令,启动或关闭SQL节点和数据节点,管理配置文件和日志文件,将数据节点上报的关键信息写入日志文件;
至少一个SQL节点,每一个SQL节点根据其保存的表格数据,与保存在表格中的第一数据的数据节点建立一对一的连接关系,SQL节点按照预设的分表规则,对表格进行拆分,从拆分后的表格中提取第一数据,获得表格数据和第一数据,输出第一数据至数据节点,保存拆分后的表格数据;
至少一个数据节点,从管理节点获取配置文件,检索获得配置数据,完成节点的配置,按照预设的分区规则,对第一数据进行分类并保存在相应的分区中。
较佳地,所述SQL节点还为表格数据建立与其对应的表索引,还为每一个拆分后的表格保存用以存放表结构的第一文件、用以存放表数据的第二文件及用以存表索引的第三文件。
上述***中,预设的分表规则为垂直分表规则或水平分表规则;
所述垂直分表规则为将一个(N1+N2)个字段的表Tab拆分成N1字段的第一子表Tab1和(N2+1)字段的第二子表Tab2;所述第二子表Tab2记载有与第一子表Tab2间的关联关系的主键信息;
所述水平分表规则为将表格中的第一数据按照预设的哈希Hash算法进行计算,根据计算结果对表格进行拆分。
上述***中,所述预设的分区规则为按范围分区、按列表list分区、按哈希HASH分区或按关键词KEY分区;
所述按范围分区为以字段中记载的数据为基础,将设定的连续数值范围作为与分区对应的分区文件中的数据的选择条件;
所述按列表list分区为以字段中记载的数据为基础,将设定的属性值作为与分区对应的分区文件中的数据的选择条件;
所述按哈希HASH分区为根据预设的分区数量对字段记载的数据进行哈希计算,将哈希计算结果作为与分区对应的分区文件中的数据的选择条件;
所述按关键词KEY分区为根据预设的表达式对字段记载的数据进行计算,将计算结果作为与分区对应的分区文件中的数据的选择条件。
上述***中,所述数据访问模块包含:
数据检索单元,根据输入的指令,从SQL节点中查找第三文件包含的表索引,获得第一文件及第二文件,将第一文件及第二文件输出至表格生成单元,读取与SQL节点建立连接关系的数据节点中保存的第一数据,并输出至表格生成单元;
表格生成单元,根据第一文件和第二文件,生成表格,将第一数据填入表格中并输出。
一种分布式处理数据的方法,该方法包括:
A、数据获取模块从分布的数据源中抽取获得第一数据,根据预设的清洗转换规则,对第一数据进行数据清洗和转换,将数据清洗和转换后的第一数据装载到表格中;
B、数据仓库模块按照预设的分表规则,对表格进行拆分,从拆分后的表格中提取第一数据,获得表格数据和第一数据,保存表格数据;
C、数据仓库模块按照预设的分区规则,对第一数据进行分类,并保存在相应的分区中;
D、数据访问模块根据输入的指令,读取表格数据和第一数据,将第一数据装载到表格数据对应的表格中并输出。
较佳地,所述步骤B之前进一步包括:
数据仓库模块包含的管理节点根据外部输入的指令,启动或关闭节点,管理配置文件和日志文件;
所述节点为数据仓库模块包含的SQL节点或数据仓库模块包含的数据节点。
上述方法中,所述步骤B包括:
B1、数据仓库模块包含的SQL节点根据其保存的表格数据,与保存在表格中的第一数据的数据节点建立一对一的连接关系;
B2、数据仓库模块包含的SQL节点按照预设的分表规则,对表格进行拆分;
B3、数据仓库模块包含的SQL节点从拆分后的表格中提取第一数据,获得表格数据和第一数据,保存拆分后的表格数据,输出第一数据至数据仓库模块包含的数据节点。
上述方法中,所述步骤C包括:
C1、数据仓库模块包含的数据节点从数据仓库模块包含的管理节点获取配置文件,检索获得配置数据,完成节点的配置;
C2、数据仓库模块包含的数据节点按照预设的分区规则,对接收到的第一数据进行分类并保存在相应的分区中。
较佳地,所述步骤B3之后进一步包括:
B4、数据仓库模块包含的SQL节点为表格数据建立与其对应的表索引;
B5、数据仓库模块包含的SQL节点为每一个拆分后的表格保存用以存放表结构的第一文件、用以存放表数据的第二文件及用以存表索引的第三文件。
上述方法中,预设的分表规则为垂直分表规则或水平分表规则;
所述垂直分表规则为将一个(N1+N2)个字段的表Tab拆分成N1字段的第一子表Tab1和(N2+1)字段的第二子表Tab2;所述第二子表Tab2记载有与第一子表Tab2间的关联关系的主键信息;
所述水平分表规则为将表格中的第一数据按照预设的哈希Hash算法进行计算,根据计算结果对表格进行拆分。
上述方法中,所述预设的分区规则为按范围分区、按列表list分区、按哈希HASH分区或按关键词KEY分区;
所述按范围分区为以字段中记载的数据为基础,将设定的连续数值范围作为与分区对应的分区文件中的数据的选择条件;
所述按列表list分区为以字段中加载的数据为基础,将设定的属性值作为与分区对应的分区文件中的数据的选择条件;
所述按哈希HASH分区为根据预设的分区数量对字段记载的数据进行哈希计算,将哈希计算结果作为与分区对应的分区文件中的数据的选择条件;
所述按关键词KEY分区为根据设定的表达式对字段记载的数据进行计算,将计算结果作为分区对应的分区文件中的数据的选择条件。
上述方法中,所述步骤D包括:
D1、数据访问模块根据输入的指令,从数据仓库模块包含的SQL节点中查找第三文件包含的表索引,获得第一文件及第二文件;
D2、数据访问模块根据第一文件及第二文件,读取与数据仓库模块包含的SQL节点建立连接关系的数据节点中保存的第一数据;
D3、数据访问模块根据第一文件和第二文件,生成表格,将第一数据填入表格中并输出。
由上述的技术方案可见,本发明提供了一种分布式处理数据的***及方法,数据仓库模块按照预设的分表规则,对表格进行拆分,从拆分后的表格中提取第一数据,获得表格数据和第一数据,保存表格数据,按照预设的分区规则,对第一数据进行分类,并保存在相应的分区中;数据访问模块根据输入的指令,从数据仓库模块中读取表格数据和第一数据,将第一数据装载到表格数据对应的表格中,并输出包含第一数据的表格。采用本发明的***及方法,能够降低成本,缩短***的维护所耗费的时间。
附图说明
图1为现有的分布式数据库***中用户分布装置的结构示意图;
图2为本发明分布式处理数据的***的结构示意图;
图3为本发明分布式处理数据的方法流程图。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明提供了一种分布式处理数据的***及方法,数据仓库模块对数据获取模块中生成的表格进行保存,且对表格进行拆分,将拆分后的表格数据保存在SQL节点中,将拆分后的表格中记载的第一数据保存在数据节点中,且表格数据与该表格中记载的第一数据建立对应关系,以便数据访问模块能够从SQL节点及数据节点中获取其所需的记载了数据的表格,不仅节约了成本,还能对海量数据进行有效地保护,缩短***维护数据所耗费的时间。
图2为本发明分布式处理数据的***的结构示意图。现结合图2,对本发明分布式处理数据的***进行说明,具体如下:
本发明的分布式处理数据的***包含:数据获取模块311、数据仓库模块312及数据访问模块313。
数据获取模块311根据预设的抽取条件,从分布的多个数据源中抽取获得第一数据,根据预设的清洗转换规则,对第一数据进行数据清洗和转换,将数据清洗和转换后的第一数据装载到表格中,并加载到数据仓库模块312。其中,分布的多个数据源可以为业务数据单、日志、话单文件等包含重要数据的文件;第一数据为用户数据或业务数据,比如,话费、工资、通话时长等数据。
数据仓库模块312按照预设的分表规则,对表格进行拆分,从拆分后的表格中提取第一数据,获得表格数据和第一数据,保存表格数据,按照预设的分区规则,对第一数据进行分类,并保存在相应的分区中。其中,数据仓库模块312可分布于一台终端上,也可分布于多台终端上。
其中,预设的分表规则为垂直分表规则或水平分表规则。垂直分表规则为将一个(N1+N2)个字段的表Tab拆分成N1字段的第一子表Tab1和(N2+1)字段的第二子表Tab2;第二子表Tab2记载有与第一子表Tab2间的关联关系的主键信息。水平分表规则为将表格中的第一数据按照预设的哈希Hash算法进行计算,根据计算结果对表格进行拆分。
其中,预设的分区规则为按范围分区、按列表list分区、按哈希HASH分区或按关键词KEY分区。
按范围分区为以字段中记载的数据为基础,将设定的连续数值范围作为与分区对应的分区文件中的数据的选择条件;比如,设定的连续数值范围为时间,可以分2011-10-1~2011-10-31、2011-11-1~2011-11-30、2011-12-1~2011-12-31三个区,每个分区对应一个分区文件,则记载的时间属于2011-10-1~2011-10-31时间范围内的字段对应的第一数据存储于分区文件A,记载的时间属于2011-11-1~2011-11-30时间范围内的字段对应的第一数据存储于分区文件B,记载的时间属于2011-12-1~2011-12-31时间范围内的字段对应的第一数据存储于分区文件C。
按列表list分区为以字段中记载的数据为基础,将设定的属性值作为与分区对应的分区文件中的数据的选择条件;比如,按照字段中记载的工资金额进行分区,设定的属性值为1000、2000、3000及4000,则可分为四个区,每个分区对应一个分区文件,则记载了工资金额为1000的字段对应的第一数据存储于分区文件A’,记载了工资金额为2000的字段对应的第一数据存储于分区文件B’,记载了工资金额为3000的字段对应的第一数据存储于分区文件C’,记载了工资金额为4000的字段对应的第一数据存储于分区文件D’中;其中,与字段对应的第一数据可为该字段中记载的其他数据,比如职位,入职时间等信息。
按哈希HASH分区为根据预设的分区数量对字段记载的数据进行哈希计算,将哈希计算结果作为与分区对应的分区文件中的数据的选择条件;采用HASH分区主要是确保与字段对应的第一数据在预先确定数据的分区中平均分布。
按关键词KEY分区为根据预设的表达式对字段记载的数据进行计算,将计算结果作为分区对应的分区文件中的数据的选择条件。其中,按关键词KEY分区与按哈希HASH分区的区别主要是计算的表达式不同,按哈希HASH分区时采用的表达式为哈希函数,按关键词KEY分区时采用的哈希函数的表达式可由MySQL服务器提供,也可采用用户设定的表达式进行计算,在此不再对具体的表达式进行赘述。
数据访问模块313根据输入的指令,从数据仓库模块312中读取表格数据和第一数据,将第一数据装载到表格数据对应的表格中,并输出包含第一数据的表格。数据访问模块313为用户提供了一个访问数据仓库模块312中的数据的接口。
其中,数据获取模块311包含:数据抽取单元3111、数据处理单元3112和数据装载单元3113。
数据抽取单元3111根据预设的抽取条件,从分布的多个数据源中抽取获得第一数据,并输出至数据处理单元3112。其中,数据抽取单元3111与多个数据源连接,可从多个数据源中抽取所需的第一数据。
数据处理单元3112根据预设的清洗转换规则,对第一数据进行数据清洗和转换,并输出至数据装载单元3113。其中,预设的清洗转换规则是预设的数据筛选条件及运行的***属性,根据运行的***属性能够确定所支持的数据格式,以便将第一数据转换为***所支持的数据格式。
数据装载单元3113对第一数据进行整理,将第一数据装载到表格中,加载包含第一数据的表格至数据仓库模块312。其中,数据装载单元3113生成一个用以装载第一数据的表格,以便后续采用表格的方式存储数据和输出数据。
其中,数据仓库模块312包含:管理节点3121、至少一个SQL节点3122和至少一个数据节点3123。其中,管理节点3121位于一个终端上,SQL节点3122可与管理节点3121位于同一个终端上,也可分布在不同的终端上,同理,数据节点3123可与管理节点3121位于同一个终端上,也可分布在不同的终端上。
管理节点3121根据外部输入的指令,启动或关闭SQL节点3122和数据节点3123,管理配置文件和日志文件,将数据节点3123上报的关键信息写入日志文件。其中,配置文件中记载有簇中单独的数据节点的配置、以及设置的多个数据节点之间的单独通信链路;管理节点3121可用命令ndb mgmd启动,且优先于SQL节点3122和数据节点3123被触发。
每一个SQL节点3122根据其保存的表格数据,与保存在表格中的第一数据的数据节点3123建立一对一的连接关系。SQL节点3122按照预设的分表规则,对表格进行拆分,从拆分后的表格中提取第一数据,获得表格数据和第一数据,输出第一数据至数据节点3123,SQL节点3122保存拆分后的表格数据。其中,SQL节点3122是用来访问簇中的数据节点3123的,可用命令mysqld-ndbcluster启动,或将ndbcluster添加到my.cnf后使用mysqld启动。
数据节点3123从管理节点3121获取配置文件,检索获得配置数据,完成节点的配置,按照预设的分区规则,对第一数据进行分类并保存在相应的分区中。其中,数据节点3123的数量与副本的数量相关,是片段的倍数,比如,对于两个副本,每个副本有两个片段,则有4个数据节点3123;数据节点3123可用命令ndbd启动。
为了便于查找和提高检索数据的工作效率,SQL节点3122还为表格数据建立与其对应的表索引,还为每一个拆分后的表格保存用以存放表结构的第一文件、用以存放表数据的第二文件及用以存表索引的第三文件。其中,SQL节点3122在建立索引时,可对表格中具有唯一性的字段建立索引,比如学生表中的学号,还可为需要经常排序、分组和联合操作的字段建立索引,还可为常作为查询条件的字段建立索引;SQL节点3122在建立索引时,需考虑存储空间的大小,尽量减少索引的数量,以提高工作效率。
其中,数据访问模块313包含:数据检索单元3131和表格生成单元3132。
数据检索单元3131根据输入的指令,从SQL节点3122中查找第三文件包含的表索引,获得第一文件及第二文件,将第一文件及第二文件输出至表格生成单元3132,读取与SQL节点3122建立连接关系的数据节点3123中保存的第一数据,并输出至表格生成单元3132。其中,输出的指令为用以查找第一数据的命令。
表格生成单元3132根据第一文件和第二文件,生成表格,将第一数据填入表格中并输出。
图3为本发明分布式处理数据的方法流程图。现结合图3,对本发明分布式处理数据的方法进行说明,具体如下:
步骤41:从分布的数据源中抽取获得第一数据;
该步骤为:数据获取模块311根据预设的抽取条件,从分布的多个数据源中抽取获得第一数据。
步骤42:根据预设的清洗转换规则,对第一数据进行数据清洗和转换;
该步骤为:数据获取模块311根据预设的清洗转换规则,对第一数据进行数据清洗和转换,以便第一数据能够符合数据仓库模块312存储的需要。
步骤43:将数据清洗和转换后的第一数据装载到表格中;
该步骤为:数据获取模块311将数据清洗和转换后的第一数据装载到表格中,并将装载了第一数据的表格加载到数据仓库模块312中,以便数据仓库模块312对数据进行有效地保存和维护。
步骤44:按照预设的分表规则,对表格进行拆分,从拆分后的表格中提取第一数据,获得表格数据和第一数据,保存表格数据;
该步骤由数据仓库模块312负责执行。
该步骤包括:
步骤441,数据仓库模块312包含的SQL节点3122根据其保存的表格数据,与保存在表格中的第一数据的数据节点3123建立一对一的连接关系;
步骤442,数据仓库模块312包含的SQL节点3122按照预设的分表规则,对表格进行拆分;
步骤443,数据仓库模块312包含的SQL节点3122从拆分后的表格中提取第一数据,获得表格数据和第一数据,保存拆分后的表格数据,输出第一数据至数据仓库模块312包含的数据节点3123。
优选地,步骤443之后还进一步包括:
步骤444,数据仓库模块312包含的SQL节点3122为表格数据建立与其对应的表索引;
步骤445,数据仓库模块312包含的SQL节点3122为每一个拆分后的表格保存用以存放表结构的第一文件、用以存放表数据的第二文件及用以存表索引的第三文件。
其中,预设的分表规则为垂直分表规则或水平分表规则;垂直分表规则为将一个(N1+N2)个字段的表Tab拆分成N1字段的第一子表Tab1和(N2+1)字段的第二子表Tab2;第二子表Tab2记载有与第一子表Tab2间的关联关系的主键信息;水平分表规则为将表格中的第一数据按照预设的哈希Hash算法进行计算,根据计算结果对表格进行拆分。
步骤45:按照预设的分区规则,对第一数据进行分类,并保存在相应的分区中;
该步骤由数据仓库模块312执行。
该步骤包括:
步骤451,数据仓库模块312包含的数据节点3123从数据仓库模块312包含的管理节点3121获取配置文件,检索获得配置数据,完成节点的配置;
步骤452,数据仓库模块312包含的数据节点3123按照预设的分区规则,对接收到的第一数据进行分类并保存在相应的分区中。
其中,预设的分区规则为按范围分区、按列表list分区、按哈希HASH分区或按关键词KEY分区。
按范围分区为以字段中记载的数据为基础,将设定的连续数值范围作为与分区对应的分区文件中的数据的选择条件;按列表list分区为以字段中记载的数据为基础,将设定的属性值作为与分区对应的分区文件中的数据的选择条件;按哈希HASH分区为根据预设的分区数量对字段记载的数据进行哈希计算,将哈希计算结果作为与分区对应的分区文件中的数据的选择条件;按关键词KEY分区为根据预设的表达式对字段记载的数据进行计算,将计算结果作为分区对应的分区文件中的数据的选择条件。
步骤46:根据输入的指令,读取表格数据和第一数据,将第一数据装载到表格数据对应的表格中并输出。
该步骤包括:
步骤461,数据访问模块313根据输入的指令,从数据仓库模块312包含的SQL节点3122中查找第三文件包含的表索引,获得第一文件及第二文件;
步骤462,数据访问模块313根据第一文件及第二文件,读取与数据仓库模块312包含的SQL节点3122建立连接关系的数据节点中保存的第一数据;
步骤463,数据访问模块313根据第一文件和第二文件,生成表格,将第一数据填入表格中并输出。
优选地,步骤44之前进一步包括:数据仓库模块312包含的管理节点3121根据外部输入的指令,启动或关闭节点,管理配置文件和日志文件;其中,该步骤中的节点为数据仓库模块312包含的SQL节点3122或数据仓库模块312包含的数据节点3123。
本发明的上述较佳实施例中,不再采用现有的基于ORACLE、DB2、SYSBASE等大型数据库的分布式处理数据的***,而是基于MYSQL分布式数据库,对海量数据进行处理,降低了成本;在进行处理时,采用了分区和分表格的方法对数据进行处理,缩短了***维护所耗费的时间。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (15)

1.一种分布式处理数据的***,其特征在于,该***包含:
数据获取模块,根据预设的抽取条件,从分布的数据源中抽取获得第一数据,根据预设的清洗转换规则,对第一数据进行数据清洗和转换,将数据清洗和转换后的第一数据装载到表格中,并加载到数据仓库模块;
数据仓库模块,按照预设的分表规则,对表格进行拆分,从拆分后的表格中提取第一数据,获得表格数据和第一数据,保存表格数据,按照预设的分区规则,对第一数据进行分类,并保存在相应的分区中;
数据访问模块,根据输入的指令,从数据仓库模块中读取表格数据和第一数据,将第一数据装载到表格数据对应的表格中,并输出包含第一数据的表格。
2.根据权利要求1所述的***,其特征在于,所述数据获取模块包含:
数据抽取单元,根据预设的抽取条件,从分布的数据源中抽取获得第一数据,并输出至数据处理单元;
数据处理单元,根据预设的清洗转换规则,对第一数据进行数据清洗和转换,并输出至数据装载单元;
数据装载单元,对第一数据进行整理,将第一数据装载到表格中,加载包含第一数据的表格至数据仓库模块。
3.根据权利要求1所述的***,其特征在于,所述数据仓库模块包含:
管理节点,根据外部输入的指令,启动或关闭SQL节点和数据节点,管理配置文件和日志文件,将数据节点上报的关键信息写入日志文件;
至少一个SQL节点,每一个SQL节点根据其保存的表格数据,与保存在表格中的第一数据的数据节点建立一对一的连接关系,SQL节点按照预设的分表规则,对表格进行拆分,从拆分后的表格中提取第一数据,获得表格数据和第一数据,输出第一数据至数据节点,保存拆分后的表格数据;
至少一个数据节点,从管理节点获取配置文件,检索获得配置数据,完成节点的配置,按照预设的分区规则,对第一数据进行分类并保存在相应的分区中。
4.根据权利要求3所述的***,其特征在于,所述SQL节点还为表格数据建立与其对应的表索引,还为每一个拆分后的表格保存用以存放表结构的第一文件、用以存放表数据的第二文件及用以存表索引的第三文件。
5.根据权利要求3或4所述的***,其特征在于,预设的分表规则为垂直分表规则或水平分表规则;
所述垂直分表规则为将一个(N1+N2)个字段的表Tab拆分成N1字段的第一子表Tab1和(N2+1)字段的第二子表Tab2;所述第二子表Tab2记载有与第一子表Tab2间的关联关系的主键信息;
所述水平分表规则为将表格中的第一数据按照预设的哈希Hash算法进行计算,根据计算结果对表格进行拆分。
6.根据权利要求3或4所述的***,其特征在于,所述预设的分区规则为按范围分区、按列表list分区、按哈希HASH分区或按关键词KEY分区;
所述按范围分区为以字段中记载的数据为基础,将设定的连续数值范围作为与分区对应的分区文件中的数据的选择条件;
所述按列表list分区为以字段中记载的数据为基础,将设定的属性值作为与分区对应的分区文件中的数据的选择条件;
所述按哈希HASH分区为根据预设的分区数量对字段记载的数据进行哈希计算,将哈希计算结果作为与分区对应的分区文件中的数据的选择条件;
所述按关键词KEY分区为根据预设的表达式对字段记载的数据进行计算,将计算结果作为与分区对应的分区文件中的数据的选择条件。
7.根据权利要求4所述的***,其特征在于,所述数据访问模块包含:
数据检索单元,根据输入的指令,从SQL节点中查找第三文件包含的表索引,获得第一文件及第二文件,将第一文件及第二文件输出至表格生成单元,读取与SQL节点建立连接关系的数据节点中保存的第一数据,并输出至表格生成单元;
表格生成单元,根据第一文件和第二文件,生成表格,将第一数据填入表格中并输出。
8.一种分布式处理数据的方法,其特征在于,该方法包括:
A、数据获取模块从分布的数据源中抽取获得第一数据,根据预设的清洗转换规则,对第一数据进行数据清洗和转换,将数据清洗和转换后的第一数据装载到表格中;
B、数据仓库模块按照预设的分表规则,对表格进行拆分,从拆分后的表格中提取第一数据,获得表格数据和第一数据,保存表格数据;
C、数据仓库模块按照预设的分区规则,对第一数据进行分类,并保存在相应的分区中;
D、数据访问模块根据输入的指令,读取表格数据和第一数据,将第一数据装载到表格数据对应的表格中并输出。
9.根据权利要求8所述的方法,其特征在于,所述步骤B之前进一步包括:
数据仓库模块包含的管理节点根据外部输入的指令,启动或关闭节点,管理配置文件和日志文件;
所述节点为数据仓库模块包含的SQL节点或数据仓库模块包含的数据节点。
10.根据权利要求8或9所述的方法,其特征在于,所述步骤B包括:
B1、数据仓库模块包含的SQL节点根据其保存的表格数据,与保存在表格中的第一数据的数据节点建立一对一的连接关系;
B2、数据仓库模块包含的SQL节点按照预设的分表规则,对表格进行拆分;
B3、数据仓库模块包含的SQL节点从拆分后的表格中提取第一数据,获得表格数据和第一数据,保存拆分后的表格数据,输出第一数据至数据仓库模块包含的数据节点。
11.根据权利要求8或9所述的方法,其特征在于,所述步骤C包括:
C1、数据仓库模块包含的数据节点从数据仓库模块包含的管理节点获取配置文件,检索获得配置数据,完成节点的配置;
C2、数据仓库模块包含的数据节点按照预设的分区规则,对接收到的第一数据进行分类并保存在相应的分区中。
12.根据权利要求10所述的方法,其特征在于,所述步骤B3之后进一步包括:
B4、数据仓库模块包含的SQL节点为表格数据建立与其对应的表索引;
B5、数据仓库模块包含的SQL节点为每一个拆分后的表格保存用以存放表结构的第一文件、用以存放表数据的第二文件及用以存表索引的第三文件。
13.根据权利要求10所述的方法,其特征在于,预设的分表规则为垂直分表规则或水平分表规则;
所述垂直分表规则为将一个(N1+N2)个字段的表Tab拆分成N1字段的第一子表Tab1和(N2+1)字段的第二子表Tab2;所述第二子表Tab2记载有与第一子表Tab2间的关联关系的主键信息;
所述水平分表规则为将表格中的第一数据按照预设的哈希Hash算法进行计算,根据计算结果对表格进行拆分。
14.根据权利要求11所述的方法,其特征在于,所述预设的分区规则为按范围分区、按列表list分区、按哈希HASH分区或按关键词KEY分区;
所述按范围分区为以字段中记载的数据为基础,将设定的连续数值范围作为与分区对应的分区文件中的数据的选择条件;
所述按列表list分区为以字段中加载的数据为基础,将设定的属性值作为与分区对应的分区文件中的数据的选择条件;
所述按哈希HASH分区为根据预设的分区数量对字段记载的数据进行哈希计算,将哈希计算结果作为与分区对应的分区文件中的数据的选择条件;
所述按关键词KEY分区为根据设定的表达式对字段记载的数据进行计算,将计算结果作为分区对应的分区文件中的数据的选择条件。
15.根据权利要求8或9所述的方法,其特征在于,所述步骤D包括:
D1、数据访问模块根据输入的指令,从数据仓库模块包含的SQL节点中查找第三文件包含的表索引,获得第一文件及第二文件;
D2、数据访问模块根据第一文件及第二文件,读取与数据仓库模块包含的SQL节点建立连接关系的数据节点中保存的第一数据;
D3、数据访问模块根据第一文件和第二文件,生成表格,将第一数据填入表格中并输出。
CN201210013801.2A 2012-01-17 2012-01-17 一种分布式处理数据的***及方法 Expired - Fee Related CN102542071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210013801.2A CN102542071B (zh) 2012-01-17 2012-01-17 一种分布式处理数据的***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210013801.2A CN102542071B (zh) 2012-01-17 2012-01-17 一种分布式处理数据的***及方法

Publications (2)

Publication Number Publication Date
CN102542071A true CN102542071A (zh) 2012-07-04
CN102542071B CN102542071B (zh) 2014-02-26

Family

ID=46348950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210013801.2A Expired - Fee Related CN102542071B (zh) 2012-01-17 2012-01-17 一种分布式处理数据的***及方法

Country Status (1)

Country Link
CN (1) CN102542071B (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559254A (zh) * 2013-10-31 2014-02-05 上海上讯信息技术有限公司 一种基于模块的存储***及方法
CN103793424A (zh) * 2012-10-31 2014-05-14 阿里巴巴集团控股有限公司 数据库数据迁移方法及***
CN103838770A (zh) * 2012-11-26 2014-06-04 ***通信集团北京有限公司 一种数据逻辑分区的方法和***
CN104252535A (zh) * 2014-09-16 2014-12-31 福建新大陆软件工程有限公司 一种基于hbase的数据散列处理方法及装置
CN104252544A (zh) * 2014-09-30 2014-12-31 北京华智凯科技有限公司 一种大数据挖掘方法及装置
CN104462462A (zh) * 2014-12-16 2015-03-25 用友软件股份有限公司 基于业务变化频度的数据仓库建模方法和建模装置
CN105022791A (zh) * 2015-06-19 2015-11-04 华南理工大学 一种新型的kv分布式数据存储方法
CN105468651A (zh) * 2014-09-12 2016-04-06 阿里巴巴集团控股有限公司 一种关系数据库数据查询方法及***
CN105573971A (zh) * 2014-10-10 2016-05-11 富士通株式会社 表格重构装置和方法
WO2016197852A1 (zh) * 2015-06-09 2016-12-15 阿里巴巴集团控股有限公司 一种数据处理方法和设备
CN106933992A (zh) * 2017-02-24 2017-07-07 北京华安普惠高新技术有限公司 基于数据分析的分布式数据清洗***及方法
CN107832333A (zh) * 2017-09-29 2018-03-23 北京邮电大学 基于分布式处理和dpi数据构建用户网络数据指纹的方法和***
CN107908610A (zh) * 2017-12-04 2018-04-13 北京中燕信息技术有限公司 一种数据处理方法及装置
CN108153744A (zh) * 2016-12-02 2018-06-12 上海中兴软件有限责任公司 一种数据存储维护方法及装置
CN108304486A (zh) * 2017-12-29 2018-07-20 北京欧链科技有限公司 一种基于区块链的数据处理方法及装置
WO2019052162A1 (zh) * 2017-09-15 2019-03-21 平安科技(深圳)有限公司 提高数据清洗效率的方法、装置、设备及可读存储介质
CN109857832A (zh) * 2019-01-03 2019-06-07 中国银行股份有限公司 一种支付数据的预处理方法和装置
CN110287199A (zh) * 2019-07-01 2019-09-27 联想(北京)有限公司 一种数据库的处理方法及电子设备
CN110825739A (zh) * 2019-10-30 2020-02-21 京东数字科技控股有限公司 建表语句生成方法、装置、设备及存储介质
CN112231406A (zh) * 2020-10-20 2021-01-15 浪潮云信息技术股份公司 一种分布式云数据集中处理方法
CN112307721A (zh) * 2020-10-30 2021-02-02 广州朗国电子科技有限公司 一种第三方接口数据快速转为定制表格方法及存储介质
CN112597219A (zh) * 2020-12-15 2021-04-02 中国建设银行股份有限公司 用于将大数据量的文本文件导入分布式数据库的方法及装置
CN113759884A (zh) * 2021-11-08 2021-12-07 西安热工研究院有限公司 一种分散控制***输入输出点产物文件生成方法和***
CN117633024A (zh) * 2024-01-23 2024-03-01 天津南大通用数据技术股份有限公司 一种基于预处理优化join的数据库优化方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996250A (zh) * 2010-11-15 2011-03-30 中国科学院计算技术研究所 一种基于Hadoop的海量流数据存储和查询方法及***
CN102281332A (zh) * 2011-08-31 2011-12-14 上海西本网络科技有限公司 分布式缓存阵列及其数据更新方法
CN102308273A (zh) * 2009-02-17 2012-01-04 日本电气株式会社 存储***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102308273A (zh) * 2009-02-17 2012-01-04 日本电气株式会社 存储***
CN101996250A (zh) * 2010-11-15 2011-03-30 中国科学院计算技术研究所 一种基于Hadoop的海量流数据存储和查询方法及***
CN102281332A (zh) * 2011-08-31 2011-12-14 上海西本网络科技有限公司 分布式缓存阵列及其数据更新方法

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103793424A (zh) * 2012-10-31 2014-05-14 阿里巴巴集团控股有限公司 数据库数据迁移方法及***
CN103838770A (zh) * 2012-11-26 2014-06-04 ***通信集团北京有限公司 一种数据逻辑分区的方法和***
CN103559254A (zh) * 2013-10-31 2014-02-05 上海上讯信息技术有限公司 一种基于模块的存储***及方法
CN103559254B (zh) * 2013-10-31 2018-03-02 上海上讯信息技术股份有限公司 一种基于模块的存储***及方法
CN105468651A (zh) * 2014-09-12 2016-04-06 阿里巴巴集团控股有限公司 一种关系数据库数据查询方法及***
CN104252535A (zh) * 2014-09-16 2014-12-31 福建新大陆软件工程有限公司 一种基于hbase的数据散列处理方法及装置
CN104252544A (zh) * 2014-09-30 2014-12-31 北京华智凯科技有限公司 一种大数据挖掘方法及装置
CN105573971A (zh) * 2014-10-10 2016-05-11 富士通株式会社 表格重构装置和方法
CN105573971B (zh) * 2014-10-10 2018-09-25 富士通株式会社 表格重构装置和方法
CN104462462B (zh) * 2014-12-16 2017-11-07 用友软件股份有限公司 基于业务变化频度的数据仓库建模方法和建模装置
CN104462462A (zh) * 2014-12-16 2015-03-25 用友软件股份有限公司 基于业务变化频度的数据仓库建模方法和建模装置
WO2016197852A1 (zh) * 2015-06-09 2016-12-15 阿里巴巴集团控股有限公司 一种数据处理方法和设备
CN105022791A (zh) * 2015-06-19 2015-11-04 华南理工大学 一种新型的kv分布式数据存储方法
CN108153744A (zh) * 2016-12-02 2018-06-12 上海中兴软件有限责任公司 一种数据存储维护方法及装置
CN106933992A (zh) * 2017-02-24 2017-07-07 北京华安普惠高新技术有限公司 基于数据分析的分布式数据清洗***及方法
CN106933992B (zh) * 2017-02-24 2018-02-06 北京华安普惠高新技术有限公司 基于数据分析的分布式数据清洗***及方法
WO2019052162A1 (zh) * 2017-09-15 2019-03-21 平安科技(深圳)有限公司 提高数据清洗效率的方法、装置、设备及可读存储介质
CN107832333A (zh) * 2017-09-29 2018-03-23 北京邮电大学 基于分布式处理和dpi数据构建用户网络数据指纹的方法和***
CN107832333B (zh) * 2017-09-29 2022-05-10 北京邮电大学 基于分布式处理和dpi数据构建用户网络数据指纹的方法和***
CN107908610A (zh) * 2017-12-04 2018-04-13 北京中燕信息技术有限公司 一种数据处理方法及装置
CN108304486A (zh) * 2017-12-29 2018-07-20 北京欧链科技有限公司 一种基于区块链的数据处理方法及装置
CN109857832A (zh) * 2019-01-03 2019-06-07 中国银行股份有限公司 一种支付数据的预处理方法和装置
CN110287199B (zh) * 2019-07-01 2021-11-16 联想(北京)有限公司 一种数据库的处理方法及电子设备
CN110287199A (zh) * 2019-07-01 2019-09-27 联想(北京)有限公司 一种数据库的处理方法及电子设备
CN110825739A (zh) * 2019-10-30 2020-02-21 京东数字科技控股有限公司 建表语句生成方法、装置、设备及存储介质
CN112231406A (zh) * 2020-10-20 2021-01-15 浪潮云信息技术股份公司 一种分布式云数据集中处理方法
CN112307721A (zh) * 2020-10-30 2021-02-02 广州朗国电子科技有限公司 一种第三方接口数据快速转为定制表格方法及存储介质
CN112597219A (zh) * 2020-12-15 2021-04-02 中国建设银行股份有限公司 用于将大数据量的文本文件导入分布式数据库的方法及装置
CN113759884A (zh) * 2021-11-08 2021-12-07 西安热工研究院有限公司 一种分散控制***输入输出点产物文件生成方法和***
CN117633024A (zh) * 2024-01-23 2024-03-01 天津南大通用数据技术股份有限公司 一种基于预处理优化join的数据库优化方法
CN117633024B (zh) * 2024-01-23 2024-04-23 天津南大通用数据技术股份有限公司 一种基于预处理优化join的数据库优化方法

Also Published As

Publication number Publication date
CN102542071B (zh) 2014-02-26

Similar Documents

Publication Publication Date Title
CN102542071B (zh) 一种分布式处理数据的***及方法
CN102867071B (zh) 一种网管海量历史数据管理方法
CN104298760B (zh) 一种应用于数据仓库的数据处理方法和数据处理装置
CN104111936B (zh) 数据查询方法和***
US20140101167A1 (en) Creation of Inverted Index System, and Data Processing Method and Apparatus
EP3238106A1 (en) Compaction policy
CN109241159B (zh) 一种数据立方体的分区查询方法、***及终端设备
CN108629029A (zh) 一种应用于数据仓库的数据处理方法和装置
CN104317800A (zh) 一种海量智能用电数据混合存储***及方法
CN107247778A (zh) 用于实施可扩展数据存储服务的***和方法
CN105956123A (zh) 基于局部更新软件的数据处理方法及装置
CN103139300A (zh) 一种基于重复数据删除的虚拟机镜像管理的优化方法
CN103631924B (zh) 一种分布式数据库平台的应用方法和***
CN109669925B (zh) 非结构化数据的管理方法及装置
CN104239377A (zh) 跨平台的数据检索方法及装置
CN103399942A (zh) 一种支持SaaS多租户的数据引擎***及其工作方法
CN110489407A (zh) 数据补采方法、装置、计算机设备及存储介质
CN102332004B (zh) 用于海量数据管理的数据处理方法和***
CN105164673A (zh) 跨数据库和文件***的查询一体化
CN106055678A (zh) 一种基于hadoop的全景大数据分布式存储方法
CN110096509A (zh) 大数据环境下实现历史数据拉链表存储建模处理的***及方法
CN111625561B (zh) 一种数据查询方法及装置
CN101093482A (zh) 一种大量信息存储和检索的方法
CN106503008A (zh) 文件存储方法和装置及文件查询方法和装置
CN102411632A (zh) 基于链表的内存数据库页式存储方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SHENZHEN LONGSHI MEDIA CO., LTD.

Free format text: FORMER OWNER: SHENZHEN COSHIP VIDEO COMMUNICATION CO., LTD.

Effective date: 20130407

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20130407

Address after: 4, 518057 floor, rainbow science and technology building, north high tech Zone, Nanshan District, Guangdong, Shenzhen

Applicant after: Shenzhen Longguan Media Co., Ltd.

Address before: 518057 B2-1 District, rainbow tech building, North Fifth Industrial Zone, north high tech Zone, Nanshan District, Guangdong, Shenzhen

Applicant before: Shenzhen Tongzhou Video Media Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SHENZHEN TONGZHOU ELECTRONIC CO., LTD.

Free format text: FORMER OWNER: SHENZHEN LONGSHI MEDIA CO., LTD.

Effective date: 20140521

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140521

Address after: 518057 rainbow science and Technology Building (North West Road), Nanshan District hi tech Zone, Shenzhen, Guangdong

Patentee after: Shenzhen Tongzhou Electronic Co., Ltd.

Address before: 4, 518057 floor, rainbow science and technology building, north high tech Zone, Nanshan District, Guangdong, Shenzhen

Patentee before: Shenzhen Longguan Media Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140226

Termination date: 20150117

EXPY Termination of patent right or utility model