CN104090895B - 获取基数的方法、装置、服务器及系统 - Google Patents
获取基数的方法、装置、服务器及系统 Download PDFInfo
- Publication number
- CN104090895B CN104090895B CN201310699950.3A CN201310699950A CN104090895B CN 104090895 B CN104090895 B CN 104090895B CN 201310699950 A CN201310699950 A CN 201310699950A CN 104090895 B CN104090895 B CN 104090895B
- Authority
- CN
- China
- Prior art keywords
- data
- array
- key assignments
- value
- storage server
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种获取基数的方法、装置、服务器及系统,属于数据库技术领域。方法包括:获取各个数据存储服务器中存储的数据,根据每个数据所对应的键值及参考值获取键值数组对;根据键值对键值数组对进行分类,并将每类键值数组对中的数组合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数。本发明通过获取各个数据存储服务器中存储的数据后,根据每个数据对应的键值及参考值获取对应的键值数组对;并将各个数据存储服务器对应的键值数组对合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数,避免了逐条读取各个数据存储服务器中存储的数据获取基数,降低了获取基数所需的时间,减少了资源消耗。
Description
技术领域
本发明涉及数据库技术领域,特别涉及一种获取基数的方法、装置、服务器及系统。
背景技术
随着产生数据的渠道增多,同一内容会同时通过不同的渠道产生相同数据,造成数据重复,使得用于数据存储的分布式数据仓库中存储了很多重复数据。例如,对同一内容会同时通过网络、报纸、电视三种渠道产生三个相同的数据,且该三个相同的数据同时存储于分布式数据仓库中。在对分布式数据仓库进行数据分析时,获取不同数据的数量即基数是进行数据分析的基础。因此,获取基数的方法与数据分析的准确性、所用时间和所用资源息息相关。
目前,获取基数的方法为,获取各个数据存储服务器中存储的待获取基数的数据,逐条读取待获取基数的数据,并将读取到的数据与待获取基数的数据中其余数据进行对比,判断读取的数据在待获取基数的数据中是否存在相同数据,并根据判断结果统计基数。
在实现本发明的过程中,发明人发现上述获取基数的方法至少存在以下缺点:
由于上述方法需要逐条读取待获取基数的数据,并将读取到的数据与待获取基数的数据中其余数据进行对比,判断读取的数据在待获取基数的数据中是否存在相同数据,因此,当待获取基数的数据量很大时,上述方法花费的计算时间较长,计算消耗的资源较大。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种获取基数的方法、装置、服务器及系统。所述技术方案如下:
第一方面,提供了一种获取基数的方法,所述方法包括:
获取各个数据存储服务器中存储的数据,所述数据为同一数据仓库的数据;
根据每个数据的第一参数确定每个数据对应的键值,并根据每个数据对应的第二参数进行哈希计算,得到每个数据对应的哈希值,将每个数据对应的哈希值转换成第一预设位数的二进制数值,并将每个数据对应的第一预设位数的二进制数值作为每个数据对应的参考值,所述第一参数及第二参数为至少一个;
将每个数据存储服务器中存储的数据所对应的参考值中前第二预设位数的值作为每个数据的位置序号,并根据每个数据所对应的参考值中剩余位数的值确定每个数据的列值,所述第二预设位数小于第一预设位数,根据每个数据对应的键值将每个数据存储服务器中的数据分类,根据每个数据的位置序号将每类数据的列值合并,得到每类数据对应的数组,将每个数据存储服务器中的数据所对应的每种键值及每种键值对应的数组组成每个数据存储服务器对应的键值数组对,同一键值数组对中的数组由同一数据存储服务器中对应同一键值的数据所对应的参考值组成,同一数据存储服务器对应的键值数组对中的键值不同;
根据各个数据存储服务器对应的键值数组对中的键值对各个数据存储服务器对应的键值数组对进行分类,并将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数。
第二方面,提供了一种获取基数的装置,所述装置包括第一获取模块、第一确定模块、第二确定模块、第二获取模块、分类模块、合并模块及第三获取模块;
其中,所述第一获取模块,用于获取各个数据存储服务器中存储的数据,所述数据为同一数据仓库的数据;
所述第一确定模块,用于根据每个数据的第一参数确定每个数据对应的键值,所述第一参数为至少一个;
所述第二确定模块,包括计算单元、转换单元及确定单元;
其中,所述计算单元,用于根据每个数据对应的第二参数进行哈希计算,得到每个数据对应的哈希值,所述第二参数为至少一个;
所述转换单元,用于将每个数据对应的哈希值转换成第一预设位数的二进制数值;
所述确定单元,用于将每个数据对应的第一预设位数的二进制数值作为每个数据对应的参考值;
所述第二获取模块,包括第一确定单元、第二确定单元、分类单元、合并单元及获取单元;
其中,所述第一确定单元,用于将每个数据存储服务器中存储的数据所对应的参考值中前第二预设位数的值作为每个数据的位置序号,所述第二预设位数小于第一预设位数;
所述第二确定单元,用于根据每个数据所对应的参考值中剩余位数的值确定每个数据的列值;
所述分类单元,用于根据每个数据对应的键值将每个数据存储服务器中的数据分类;
所述合并单元,用于根据每个数据的位置序号将每类数据的列值合并,得到每类数据对应的数组;
所述获取单元,用于将每个数据存储服务器中的数据所对应的每种键值及每种键值对应的数组组成每个数据存储服务器对应的键值数组对,同一键值数组对中的数组由同一数据存储服务器中对应同一键值的数据所对应的参考值组成,同一数据存储服务器对应的键值数组对中的键值不同;
所述分类模块,用于根据各个数据存储服务器对应的键值数组对中的键值对各个数据存储服务器对应的键值数组对进行分类;
所述合并模块,用于将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组;
所述第三获取模块,用于根据每种键值对应的全局数组获取基数。
第三方面,提供了一种获取基数系统,所述系统包括:获取基数的服务器、至少一个数据存储服务器,所述获取基数的服务器与每个数据存储服务器之间建立有网络连接,所述数据仓库的数据存储于一至多个数据存储服务器中;
所述获取基数的服务器获取各个数据存储服务器中存储的数据,所述数据为同一数据仓库的数据;根据每个数据的第一参数确定每个数据对应的键值,并根据每个数据对应的第二参数进行哈希计算,得到每个数据对应的哈希值,将每个数据对应的哈希值转换成第一预设位数的二进制数值,并将每个数据对应的第一预设位数的二进制数值作为每个数据对应的参考值,所述第一参数及第二参数为至少一个;将每个数据存储服务器中存储的数据所对应的参考值中前第二预设位数的值作为每个数据的位置序号,并根据每个数据所对应的参考值中剩余位数的值确定每个数据的列值,所述第二预设位数小于第一预设位数,根据每个数据对应的键值将每个数据存储服务器中的数据分类,根据每个数据的位置序号将每类数据的列值合并,得到每类数据对应的数组,将每个数据存储服务器中的数据所对应的每种键值及每种键值对应的数组组成每个数据存储服务器对应的键值数组对,同一键值数组对中的数组由同一数据存储服务器中对应同一键值的数据所对应的参考值组成,同一数据存储服务器对应的键值数组对中的键值不同;根据各个数据存储服务器对应的键值数组对中的键值对各个数据存储服务器对应的键值数组对进行分类,并将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数。
本发明实施例提供的技术方案带来的有益效果是:
通过获取各个数据存储服务器中存储的数据后,根据每个数据对应的键值及参考值获取每个数据存储服务器对应的键值数组对;并将各个数据存储服务器对应的键值数组对合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数,避免了逐条读取各个数据存储服务器中存储的数据获取基数,降低了获取基数时所需的时间,减少了资源消耗。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的获取基数的实施环境示意图;
图2是本发明实施例一提供的一种获取基数的方法流程图;
图3是本发明实施例二提供的一种获取基数的方法流程图;
图4是本发明实施例二提供的MapReduceJob的计算流程图;
图5是本发明实施例二提供的一种键值数组对的结构示意图;
图6是本发明实施例二提供的一种获取全局数组的过程示意图;
图7是本发明实施例三提供的一种获取基数的装置结构示意图;
图8是本发明实施例三提供的一种第二确定模块结构示意图;
图9是本发明实施例三提供的一种第二获取模块结构示意图;
图10是本发明实施例四提供的一种获取基数的服务器结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1,为本发明实施例提供的获取基数的方法实施环境示意图。该实施环境包括数据分析层和数据存储层。其中,数据存储层包括至少一个数据存储服务器,同一数据仓库中的数据被分布式存储在数据存储层包括的各个数据存储服务器中。数据分析层包括至少一个获取基数的服务器,该获取基数的服务器可以应用本发明实施例提供的获取基数的方法实现基数获取功能。
实施例一
结合图1所示的实施环境,本实施例提供了一种获取基数的方法,参见图2,本实施例提供的方法流程具体如下:
201:获取各个数据存储服务器中存储的数据,数据为同一数据仓库的数据;
202:根据每个数据的第一参数确定每个数据对应的键值,并根据每个数据对应的第二参数确定每个数据对应的参考值,第一参数及第二参数为至少一个;
其中,根据每个数据对应的第二参数确定每个数据对应的参考值,包括但不限于:
根据每个数据对应的第二参数进行哈希计算,得到每个数据对应的哈希值;
将每个数据对应的哈希值转换成第一预设位数的二进制数值,并将每个数据对应的第一预设位数的二进制数值作为每个数据对应的参考值。
203:根据每个数据存储服务器中存储的数据所对应的键值及参考值获取每个数据存储服务器对应的键值数组对,同一键值数组对中的数组由同一数据存储服务器中对应同一键值的数据所对应的参考值组成,同一数据存储服务器对应的键值数组对中的键值不同;
根据每个数据存储服务器中存储的数据所对应的键值及参考值获取每个数据存储服务器对应的键值数组对,包括但不限于:
将每个数据存储服务器中存储的数据所对应的参考值中前第二预设位数的值作为每个数据的位置序号,并根据每个数据所对应的参考值中剩余位数的值确定每个数据的列值,第二预设位数小于第一预设位数;
根据每个数据对应的键值将每个数据存储服务器中的数据分类,根据每个数据的位置序号将每类数据的列值合并,得到每类数据对应的数组;
将每个数据存储服务器中的数据所对应的每种键值及每种键值对应的数组组成每个数据存储服务器对应的键值数组对。
根据每个数据的位置序号将每类数据的列值合并,得到每类数据对应的数组,包括但不限于:
每个数据的位置序号标识每个数据对应的数组中的一个位置,将每类数据中的每个数据的列值存储在每个数据的位置序号所标识的位置上,得到每类数据对应的数组。
进一步地,该方法还包括:
如果存在具有相同位置序号的至少两个数据,则将至少两个数据的列值中的最大值作为同一位置序号所标识的位置上的值。
204:根据各个数据存储服务器对应的键值数组对中的键值对各个数据存储服务器对应的键值数组对进行分类,并将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数。
将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组,包括:
将每类键值数组对中的每个数组中同一位置上的最大值确定为每类键值对应的全局数组中同一位置上的数值,得到每种键值对应的全局数组。
本实施例提供的方法,通过获取各个数据存储服务器中存储的数据后,根据每个数据对应的键值及参考值获取每个数据存储服务器对应的键值数组对;并将各个数据存储服务器对应的键值数组对合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数,避免了逐条读取各个数据存储服务器中存储的数据获取基数,降低了获取基数所需的时间,减少了资源消耗。
为了更加清楚地阐述上述实施例提供的一种获取基数的方法,结合上述实施例的内容,以如下实施例二为例,对一种获取基数的方法进行详细说明,详见如下实施例二:
实施例二
本实施例提供了一种获取基数的方法,为了便于说明,本实施例以图1所示的实施环境中,数据分析层中的获取基数的服务器1获取数据仓库1中数据的基数,且获取基数时使用到的数据的第一参数为列名D,第二参数为列名E,第一预设位数为64位,第二预设位数为16位,数据仓库中存储的数据被分布式存储于两个数据存储服务器中,分别是数据存储服务器1和数据存储服务器2为例,对本实施例提供的方法进行详细地举例说明。参见图3,本实施例提供的方法流程具体如下:
301:获取各个数据存储服务器中存储的数据,数据为同一数据仓库的数据;
由于数据存储服务器可能同时存储多个数据仓库中的数据,而本发明实施例提供的获取基数的方法是获取同一数据仓库中数据的基数,因此,该步骤中获取各个数据存储服务器中存储的数据为同一数据仓库的数据。
获取数据存储服务器1中存储的数据仓库1的数据,且该数据如表1所示。
表1
数据名称 | D | E | F |
数据A | 1 | 2 | 3 |
数据B | 2 | 2 | 3 |
数据C | 1 | 3 | 3 |
数据D | 1 | 2 | 4 |
如上述表1所示,列名为D的列中的值为各个数据的第一参数,列名为E的列中的值为各个数据的第二参数。例如,数据A的第一参数为1,数据A的第二参数为2;数据B的第一参数为2,数据B的第二参数为2等。同理,还可按照获取数据存储服务器1中存储的数据仓库1的数据的方式,获取数据存储服务器2中存储的数据仓库1的数据。数据存储服务器1及数据存储服务器2中存储的数据仓库1的数据还可以为其它内容,本实施例不对数据存储服务器1及数据存储服务器2中存储的数据仓库1的数据的具体内容及存储形式进行限定。
302:根据每个数据的第一参数确定每个数据对应的键值,并根据每个数据对应的第二参数确定每个数据对应的参考值,第一参数及第二参数为至少一个;
在具体实施时,将每个数据的第一参数下存储的值作为该数据对应的键值。
以步骤301中表1所示的数据存储服务器1中存储的数据仓库1的数据为例,将数据A的第一参数1作为数据A的键值。同理,数据B的键值为2,数据C的键值为1,数据D的键值为1。
另外,本实施例不对根据每个数据对应的第二参数确定每个数据对应的参考值的具体确定方法进行限定,包括但不限于通过如下两个步骤确定每个数据对应的参考值:
步骤1:根据每个数据对应的第二参数进行哈希计算,得到每个数据对应的哈希值;
本实施例不对根据每个数据对应的第二参数进行哈希计算的具体计算方法进行限定,例如,利用哈希函数计算每个数据对应的第二参数的哈希值。本实施例也不对哈希值的具体表现形式进行限定,例如哈希值为字符串。
仍以表1中的数据A为例,数据A的第二参数为E列上的值,该值为2,则利用哈希函数计算数据A对应的第二参数的哈希值EEEE。当然,哈希值还可以为其它表现形式,本实施例不对哈希值的具体表现形式进行限定。
步骤2:将每个数据对应的哈希值转换成第一预设位数的二进制数值,并将每个数据对应的第一预设位数的二进制数值作为每个数据对应的参考值。
本实施例不对将每个数据对应的哈希值转换成第一预设位数的二进制数值的具体转换方法进行限定。例如,将哈希值对应的字符转换成该字符对应的二进制数,得到第一预设位数的二进制数值。
以步骤1中的例子为例,将EEEE转换成64位的二进制数值,并将该二进制数作为数据A的参考值。
此外,本实施例不对获取数据仓库名称、第一参数及第二参数的具体方法进行限定,包括但不限于通过语句获取数据仓库名称、第一参数及第二参数。
具体实施时,本实施例提供的方法通过语句Selectest_distinct(distinctE)from数据仓库1groupbyD;获取数据仓库名称为数据仓库1,第一参数为列名D,第二参数为列名E;或者,通过语句Selectest_distinct(distinctE)groupbyD;获取数据仓库名称为包含列名为E的数据仓库的名称,第一参数为列名D,第二参数为列名E;或者,通过语句Selectest_distinct(distinctE);获取数据仓库名称为包含列名为E的数据仓库的名称,第一参数为预设值,例如空值,第二参数为列名E。
其中,预设值还可以为其它值,本实施例不对预设值对应的具体值进行限定。获取数据仓库名称、第一参数及第二参数的语句还可以为其它语句,本实施例不对数据仓库名称、第一参数及第二参数的具体语句进行限定。数据仓库名称、第一参数及第二参数还可以为其它值,本实施例不对数据仓库名称、第一参数及第二参数的具体值进行限定。
303:根据每个数据存储服务器中存储的数据所对应的键值及参考值获取每个数据存储服务器对应的键值数组对,同一键值数组对中的数组由同一数据存储服务器中对应同一键值的数据所对应的参考值组成,同一数据存储服务器对应的键值数组对中的键值不同;
本实施例不对根据每个数据存储服务器中存储的数据所对应的键值及参考值获取每个数据存储服务器对应的键值数组对的具体获取方法进行限定,包括但不限于通过如下三个步骤获取:
第一步:将每个数据存储服务器中存储的数据所对应的参考值中前第二预设位数的值作为每个数据的位置序号,并根据每个数据所对应的参考值中剩余位数的值确定每个数据的列值,第二预设位数小于第一预设位数;
本实施例不对将每个数据存储服务器中存储的数据所对应的参考值中前第二预设位数的值作为每个数据的位置序号的具体方法进行限定,包括但不限于,将每个数据存储服务器中存储的数据所对应的参考值中前第二预设位数的二进制值对应的十进制值作为每个数据的位置序号。
本实施例也不对根据每个数据所对应的参考值中剩余位数的值确定每个数据的列值的具体确定方法进行限定,包括但不限于,根据每个数据所对应的参考值中剩余位数的值中第一个出现1的位置对应的十进制值作为每个数据的列值。
以步骤302中得到的数据A的参考值为例,如果该参考值中前16位二进制数的值对应的十进制值为10,则将10作为位置序号;如果该参考值中其余48位中第一个出现1的位置是第3位,则将二进制100对应的十进制4确定为数据A的列值。当然,在具体实施时,根据具体情况,参考值中前16位二进制数的值对应的十进制值还可以为其它数值,本实施例不对参考值中前16位二进制数的值对应的十进制值的具体数值进行限定。参考值中其余48位中第一个出现1的位置还可以为其它位置,本实施例不对参考值中其余48位中第一个出现1的具体位置进行限定。根据参考值中其余48位中第一个出现1的位置不同,被确定的列值也不同,本实施例不对具体列值进行限定。
第二步:根据每个数据对应的键值将每个数据存储服务器中的数据分类,根据每个数据的位置序号将每类数据的列值合并,得到每类数据对应的数组;
本实施例不对根据每个数据的位置序号将每类数据的列值合并的具体合并方法进行限定,包括但不限于通过如下方法进行合并:
每个数据的位置序号标识每个数据对应的数组中的一个位置,将每类数据中的每个数据的列值存储在每个数据的位置序号所标识的位置上;如果存在具有相同位置序号的至少两个数据,则将至少两个数据的列值中的最大值作为同一位置序号所标识的位置上的值。
仍以上述表1所示的数据为例,根据每个数据对应的键值将数据存储服务器1中的数据分类两类,即键值为1的数据A、数据C和数据D为一类,键值为2的数据B为另一类。对于键值为1的一类数据,如果数据A的位置序号为10,数据A的列值为4;数据C的位置序号为20,数据C的列值为8;数据D的位置序号为10,数据D的列值为8。则首先对于数据A,将数据A的列值4存储在该类对应的数组中序号10所在的位置。对于数据C,将数据C的列值8存储在该类对应的数组中序号20所在的位置。对于数据D,将数据D的列值8存储在该类对应的数组中序号10所在的位置。由于序号10所在的位置已经存储的列值为数据A的列值4,且8大于4,则将最大列值8替换4作为序号10所在的位置存储的列值。如果每类数据对应的数组的位数为64位,则针对键值为1的一类数据,其对应的64位数组上的第10个位置上的值为8,第20个位置上的值也为8。当然,位置序号及列值还可以为其它数值,本实施例不对位置序号及列值的具体数值进行限定。
为了便于本实施例及后续实施例说明,将此步骤中得到的数据对应的数组表示为value,例如第一类数据对应的数组表示为value1,第二类数据对应的数组表示为value2。
第三步:将每个数据存储服务器中的数据所对应的每种键值及每种键值对应的数组组成每个数据存储服务器对应的键值数组对。
以第二步的例子为例,数据存储服务器1对应的键值数组对为<1,value1>,<2,value2>。
按照上述过程得到的键值数组对可如图5所示,每个键值key对应一个数组,该数组可为64k数据长度。
304:根据各个数据存储服务器对应的键值数组对中的键值对各个数据存储服务器对应的键值数组对进行分类,并将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数。
本实施例不对将每类键值数组对中的数组进行合并的方式进行限定,包括但不限于:将每类键值数组对中的每个数组中同一位置上的最大值确定为每类键值对应的全局数组中同一位置上的数值,得到每种键值对应的全局数组。
如图6所示,根据各个数据存储服务器对应的键值数组对中的键值对各个数据存储服务器对应的键值数组对进行分类后,具有相同键值的键值数组对为一类键值数组对。将该类键值数组对中的数组合并时,针对图6中虚线框所标示的位置,各个数组在该位置上的值分别为V1、V2、V3、V4,则确定的全局数组在该位置上的数值V为V1、V2、V3、V4中的最大值。
例如,数据库1对应的键值数组为<1,value1>,<2,value2>,数据库2对应的键值数组为<1,value3>,且value1数组如表2所述,value3数组如表3所示,则将键值为1的数组对中的每个数组中同一位置4上的最大值确定为键值为1对应的全局数组中位置4上的数值,得到键值为1对应的全局数组,如表4所示。
表2
表3
表4
当然,value数组中各位置对应的值还可以为其它值,本实施例不对value数组中各位置对应的具体值进行限定。value数组位数还可以为其它数值,本实施例不对value数组的具体位数进行限定。
另外,本实施例也不对根据每种键值对应的全局数组获取基数的具体获取方法进行限定。例如,根据公式得到基数n。
其中,value数组的位数,M[i]为value数组中第i位上的数值。
需要说明的是,由于分布式数据仓库的底层采用的计算和存储引擎是Hadoop,因而在实施本实施例提供的方法时,获取数据仓库名称、第一参数及第二参数的语句可以被翻译成MapReduceJob(映射化简作业)执行。具体的翻译过程包括:语法解析,语意分析,逻辑执行计划生成,优化和物理执行计划生成等过程。
另外,MapReduceJob的计算过程主要由Map(映射)阶段和Reduce(化简)阶段组成。在具体逻辑执行时,Map阶段包括Map端局部聚合算子,Reduce阶段包括Reduce端全局聚合算子,如图4(a)所示。在物理执行时,Map阶段包括Map端局部聚合算子和Map端结果输出算子,Reduce阶段包括Reduce端数据读取算子和Reduce端全局聚合算子,如图4(b)所示。
其中,Map端局部聚合算子用于执行本实施例中步骤301至303以及步骤304中根据各个数据存储服务器对应的键值数组对中的键值对各个数据存储服务器对应的键值数组对进行分类的步骤,生成并维护各个数据存储服务器对应的键值数组对,以及将各个数据存储服务器对应的键值数组对进行分类;
Map端结果输出算子用于将Map端局部聚合算子生成的各个数据存储服务器对应的键值数组对中同类键值数组对送入同一个Reduce端数据读取算子中;
Reduce端数据读取算子用于读取Map端结果输出算子输出的键值数组对;
Reduce端全局聚合算子用于执行本实施例中步骤304中将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数的步骤获取基数。
此外,Map端局部聚合算子为多个,且每一个Map端局部聚合算子对应一个数据存储服务器。同时,Map端局部聚合算子可以部署在数据存储层对应的数据存储服务器上,也可以全部部署在数据分析层的获取基数的服务器中,本实施例不对Map端局部聚合算子的具体部署位置进行限定。
Map端结果输出算子为多个每一个Map端结果输出算子对应一个Map端局部聚合算子。同时,Map端结果输出算子可以部署在数据存储层对应的数据存储服务器上,也可以全部部署在数据分析层的获取基数的服务器中,本实施例不对Map端局部聚合算子的具体部署位置进行限定。或者,Map端结果输出算子为一个,署在数据分析层的获取基数的服务器中,该Map端结果输出算子对应所有Map端局部聚合算子,本实施例不对Map端结果输出算子的数量进行限定。
Reduce端数据读取算子为多个,每一个Reduce端数据读取算子对应各个数据存储服务器对应的键值数组对中的一类键值数组对。
Reduce端全局聚合算子为多个,且每一个Reduce端全局聚合算子对应一个Reduce端数据读取算子。
此外,为了减少MapReduceJob的计算时间,可以将MapReduceJob中各个Map(映射)阶段和其对应的Reduce(化简)阶段放在不同的进程中执行。当然,也可以在同一进程中执行MapReduceJob,本实施例不对MapReduceJob的具体执行方式进行限定。
由于先对各个数据存储服务器中存储的不同数据进行统计形成各个数据存储服务器对应的键值数组对,再将各个键值数组对合并得到全局数组,最后通过合并后的全局数组计算基数,因此,通过本实施例提供的获取基数的方法进行基数获取时,不需要对各个数据存储服务器中存储的每条数据进行读取,降低了获取基数所需的时间,减少了资源消耗。
为了更加清楚地对比本发明实施例提供的方法带来的效果,表5给出了本发明实施例提供的获取基数的方法与现有技术在进行基数获取时的性能对比表,具体参见表5。
表5
本实施例提供的方法,通过获取各个数据存储服务器中存储的数据后,根据每个数据对应的键值及参考值获取每个数据存储服务器对应的键值数组对;并将各个数据存储服务器对应的键值数组对合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数,避免了逐条读取各个数据存储服务器中存储的数据获取基数,降低了获取基数所需的时间,减少了资源消耗。
实施例三
本实施例提供了一种获取基数的装置,该装置用于执行上述实施例一或施例二所提供的获取基数的方法。参见图7,该装置包括:
第一获取模块501,用于获取各个数据存储服务器中存储的数据,数据为同一数据仓库的数据;
第一确定模块502,用于根据每个数据的第一参数确定每个数据对应的键值,第一参数为至少一个;
第二确定模块503,用于根据每个数据对应的第二参数确定每个数据对应的参考值,第二参数为至少一个;
第二获取模块504,用于根据每个数据存储服务器中存储的数据所对应的键值及参考值获取每个数据存储服务器对应的键值数组对,同一键值数组对中的数组由同一数据存储服务器中对应同一键值的数据所对应的参考值组成,同一数据存储服务器对应的键值数组对中的键值不同;
分类模块505,用于根据各个数据存储服务器对应的键值数组对中的键值对各个数据存储服务器对应的键值数组对进行分类;
合并模块506,用于将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组;
第三获取模块507,用于根据每种键值对应的全局数组获取基数。
参见图8,第二确定模块503,包括:
计算单元5031,用于根据每个数据对应的第二参数进行哈希计算,得到每个数据对应的哈希值;
转换单元5032,用于将每个数据对应的哈希值转换成第一预设位数的二进制数值;
确定单元5033,用于将每个数据对应的第一预设位数的二进制数值作为每个数据对应的参考值。
参见图9,第二获取模块504,包括:
第一确定单元5041,用于将每个数据存储服务器中存储的数据所对应的参考值中前第二预设位数的值作为每个数据的位置序号,第二预设位数小于第一预设位数;
第二确定单元5042,用于根据每个数据所对应的参考值中剩余位数的值确定每个数据的列值;
分类单元5043,用于根据每个数据对应的键值将每个数据存储服务器中的数据分类;
合并单元5044,用于根据每个数据的位置序号将每类数据的列值合并,得到每类数据对应的数组;
获取单元5045,用于将每个数据存储服务器中的数据所对应的每种键值及每种键值对应的数组组成每个数据存储服务器对应的键值数组对。
其中,合并单元5044,用于每个数据的位置序号标识每个数据对应的数组中的一个位置,将每类数据中的每个数据的列值存储在每个数据的位置序号所标识的位置上,得到每类数据对应的数组。
其中,合并单元5044,还用于如果存在具有相同位置序号的至少两个数据,则将至少两个数据的列值中的最大值作为同一位置序号所标识的位置上的值。
其中,合并模块506,用于将每类键值数组对中的每个数组中同一位置上的最大值确定为每类键值对应的全局数组中同一位置上的数值,得到每种键值对应的全局数组。
本实施例提供的装置,通过获取各个数据存储服务器中存储的数据后,根据每个数据对应的键值及参考值获取每个数据存储服务器对应的键值数组对;并将各个数据存储服务器对应的键值数组对合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数,避免了逐条读取各个数据存储服务器中存储的数据获取基数,降低了获取基数时所需的时间,减少了资源消耗。
实施例四
本实施例提供了一种获取基数的服务器,该获取基数的服务器可以用于实施上述实施例中提供的获取基数的方法。具体来讲:参见图10,该获取基数的服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出)。
服务器800还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM等等。
一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,所述一个或者一个以上程序包含用于进行以下操作的指令:
获取各个数据存储服务器中存储的数据,所述数据为同一数据仓库的数据;
根据每个数据的第一参数确定每个数据对应的键值,并根据每个数据对应的第二参数确定每个数据对应的参考值,所述第一参数及第二参数为至少一个;
根据每个数据存储服务器中存储的数据所对应的键值及参考值获取每个数据存储服务器对应的键值数组对,同一键值数组对中的数组由同一数据存储服务器中对应同一键值的数据所对应的参考值组成,同一数据存储服务器对应的键值数组对中的键值不同;
根据各个数据存储服务器对应的键值数组对中的键值对各个数据存储服务器对应的键值数组对进行分类,并将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,还包含用于执行以下操作的指令:
根据每个数据对应的第二参数进行哈希计算,得到每个数据对应的哈希值;
将每个数据对应的哈希值转换成第一预设位数的二进制数值,并将每个数据对应的第一预设位数的二进制数值作为每个数据对应的参考值。
在第一种或第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,还包含用于执行以下操作的指令:
将每个数据存储服务器中存储的数据所对应的参考值中前第二预设位数的值作为每个数据的位置序号,并根据每个数据所对应的参考值中剩余位数的值确定每个数据的列值,所述第二预设位数小于第一预设位数;
根据每个数据对应的键值将每个数据存储服务器中的数据分类,根据每个数据的位置序号将每类数据的列值合并,得到每类数据对应的数组;
将每个数据存储服务器中的数据所对应的每种键值及每种键值对应的数组组成每个数据存储服务器对应的键值数组对。
在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,还包含用于执行以下操作的指令:
每个数据的位置序号标识每个数据对应的数组中的一个位置,将每类数据中的每个数据的列值存储在每个数据的位置序号所标识的位置上。
在第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,还包含用于执行以下操作的指令:
如果存在具有相同位置序号的至少两个数据,则将所述至少两个数据的列值中的最大值作为同一位置序号所标识的位置上的值。
在第一至五种中任一种可能的实施方式作为基础而提供的第六种可能的实施方式中,还包含用于执行以下操作的指令:
将每类键值数组对中的每个数组中同一位置上的最大值确定为每类键值对应的全局数组中同一位置上的数值,得到每种键值对应的全局数组。
本实施例提供的服务器,通过获取各个数据存储服务器中存储的数据后,根据每个数据对应的键值及参考值获取每个数据存储服务器对应的键值数组对;并将各个数据存储服务器对应的键值数组对合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数,避免了逐条读取各个数据存储服务器中存储的数据获取基数,降低了获取基数时所需的时间,减少了资源消耗。
实施例五
本实施例提供了一种获取基数的系统,该系统包括:获取基数的服务器、至少一个数据存储服务器,获取基数的服务器与每个数据存储服务器之间建立有网络连接,数据仓库的数据存储于一至多个数据存储服务器中;
获取基数的服务器获取各个数据存储服务器中存储的数据,数据为同一数据仓库的数据;根据每个数据的第一参数确定每个数据对应的键值,并根据每个数据对应的第二参数确定每个数据对应的参考值,第一参数及第二参数为至少一个;根据每个数据存储服务器中存储的数据所对应的键值及参考值获取每个数据存储服务器对应的键值数组对,同一键值数组对中的数组由同一数据存储服务器中对应同一键值的数据所对应的参考值组成,同一数据存储服务器对应的键值数组对中的键值不同;根据各个数据存储服务器对应的键值数组对中的键值对各个数据存储服务器对应的键值数组对进行分类,并将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数。
其中,获取基数的服务器在根据每个数据对应的第二参数确定每个数据对应的参考值时,用于根据每个数据对应的第二参数进行哈希计算,得到每个数据对应的哈希值;将每个数据对应的哈希值转换成第一预设位数的二进制数值,并将每个数据对应的第一预设位数的二进制数值作为每个数据对应的参考值。
在另一可选实施例中,获取基数的服务器在根据每个数据存储服务器中存储的数据所对应的键值及参考值获取每个数据存储服务器对应的键值数组对时,用于将每个数据存储服务器中存储的数据所对应的参考值中前第二预设位数的值作为每个数据的位置序号,并根据每个数据所对应的参考值中剩余位数的值确定每个数据的列值,第二预设位数小于第一预设位数;根据每个数据对应的键值将每个数据存储服务器中的数据分类,根据每个数据的位置序号将每类数据的列值合并,得到每类数据对应的数组;将每个数据存储服务器中的数据所对应的每种键值及每种键值对应的数组组成每个数据存储服务器对应的键值数组对。
在另一可选实施例中,获取基数的服务器在根据每个数据的位置序号将每类数据的列值合并,得到每类数据对应的数组时,用于每个数据的位置序号标识每个数据对应的数组中的一个位置,将每类数据中的每个数据的列值存储在每个数据的位置序号所标识的位置上,得到每类数据对应的数组。
在另一可选实施例中,获取基数的服务器,还用于当存在具有相同位置序号的至少两个数据时,将至少两个数据的列值中的最大值作为同一位置序号所标识的位置上的值。
在另一可选实施例中,获取基数的服务器在将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组时,用于将每类键值数组对中的每个数组中同一位置上的最大值确定为每类键值对应的全局数组中同一位置上的数值,得到每种键值对应的全局数组。
需要说明的是,本实施例提供的系统中包括的获取基数的服务器上可安装如上述实施例三所述的获取基数的装置,具体详见上述实施例三的内容,本实施例对此不作具体限定。此外,本实施例提供的系统中包括的获取基数的服务器还可以如上述实施例四所述的获取基数的服务器,具体详见上述实施例四的内容,此处不再赘述。
本实施例提供的系统,通过获取基数的服务器获取各个数据存储服务器中存储的数据后,根据每个数据对应的键值及参考值获取每个数据存储服务器对应的键值数组对;并将各个数据存储服务器对应的键值数组对合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数,避免了逐条读取各个数据存储服务器中存储的数据获取基数,降低了获取基数时所需的时间,减少了资源消耗。
需要说明的是:上述实施例提供的获取基数的装置在获取基数时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的获取基数的装置、服务器与获取基数的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种获取基数的方法,其特征在于,所述方法包括:
获取各个数据存储服务器中存储的数据,所述数据为同一数据仓库的数据;
根据每个数据的第一参数确定每个数据对应的键值,并根据每个数据对应的第二参数进行哈希计算,得到每个数据对应的哈希值,将每个数据对应的哈希值转换成第一预设位数的二进制数值,并将每个数据对应的第一预设位数的二进制数值作为每个数据对应的参考值,所述第一参数及第二参数为至少一个;
将每个数据存储服务器中存储的数据所对应的参考值中前第二预设位数的值作为每个数据的位置序号,并根据每个数据所对应的参考值中剩余位数的值确定每个数据的列值,所述第二预设位数小于第一预设位数,根据每个数据对应的键值将每个数据存储服务器中的数据分类,根据每个数据的位置序号将每类数据的列值合并,得到每类数据对应的数组,将每个数据存储服务器中的数据所对应的每种键值及每种键值对应的数组组成每个数据存储服务器对应的键值数组对,同一键值数组对中的数组由同一数据存储服务器中对应同一键值的数据所对应的参考值组成,同一数据存储服务器对应的键值数组对中的键值不同;
根据各个数据存储服务器对应的键值数组对中的键值对各个数据存储服务器对应的键值数组对进行分类,并将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数。
2.根据权利要求1所述的方法,其特征在于,所述根据每个数据的位置序号将每类数据的列值合并,得到每类数据对应的数组,包括:
每个数据的位置序号标识每个数据对应的数组中的一个位置,将每类数据中的每个数据的列值存储在每个数据的位置序号所标识的位置上,得到每类数据对应的数组。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果存在具有相同位置序号的至少两个数据,则将所述至少两个数据的列值中的最大值作为同一位置序号所标识的位置上的值。
4.根据权利要求1至3中任一权利要求所述的方法,其特征在于,所述将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组,包括:
将每类键值数组对中的每个数组中同一位置上的最大值确定为每类键值对应的全局数组中同一位置上的数值,得到每种键值对应的全局数组。
5.一种获取基数的装置,其特征在于,所述装置包括第一获取模块、第一确定模块、第二确定模块、第二获取模块、分类模块、合并模块及第三获取模块;
其中,所述第一获取模块,用于获取各个数据存储服务器中存储的数据,所述数据为同一数据仓库的数据;
所述第一确定模块,用于根据每个数据的第一参数确定每个数据对应的键值,所述第一参数为至少一个;
所述第二确定模块,包括计算单元、转换单元及确定单元;
其中,所述计算单元,用于根据每个数据对应的第二参数进行哈希计算,得到每个数据对应的哈希值,所述第二参数为至少一个;
所述转换单元,用于将每个数据对应的哈希值转换成第一预设位数的二进制数值;
所述确定单元,用于将每个数据对应的第一预设位数的二进制数值作为每个数据对应的参考值;
所述第二获取模块,包括第一确定单元、第二确定单元、分类单元、合并单元及获取单元;
其中,所述第一确定单元,用于将每个数据存储服务器中存储的数据所对应的参考值中前第二预设位数的值作为每个数据的位置序号,所述第二预设位数小于第一预设位数;
所述第二确定单元,用于根据每个数据所对应的参考值中剩余位数的值确定每个数据的列值;
所述分类单元,用于根据每个数据对应的键值将每个数据存储服务器中的数据分类;
所述合并单元,用于根据每个数据的位置序号将每类数据的列值合并,得到每类数据对应的数组;
所述获取单元,用于将每个数据存储服务器中的数据所对应的每种键值及每种键值对应的数组组成每个数据存储服务器对应的键值数组对,同一键值数组对中的数组由同一数据存储服务器中对应同一键值的数据所对应的参考值组成,同一数据存储服务器对应的键值数组对中的键值不同;
所述分类模块,用于根据各个数据存储服务器对应的键值数组对中的键值对各个数据存储服务器对应的键值数组对进行分类;
所述合并模块,用于将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组;
所述第三获取模块,用于根据每种键值对应的全局数组获取基数。
6.根据权利要求5所述的装置,其特征在于,所述合并单元,用于每个数据的位置序号标识每个数据对应的数组中的一个位置,将每类数据中的每个数据的列值存储在每个数据的位置序号所标识的位置上,得到每类数据对应的数组。
7.根据权利要求6所述的装置,其特征在于,所述合并单元,还用于当存在具有相同位置序号的至少两个数据时,将所述至少两个数据的列值中的最大值作为同一位置序号所标识的位置上的值。
8.根据权利要求5至7中任一权利要求所述的装置,其特征在于,所述合并模块,用于将每类键值数组对中的每个数组中同一位置上的最大值确定为每类键值对应的全局数组中同一位置上的数值,得到每种键值对应的全局数组。
9.一种获取基数的系统,其特征在于,所述系统包括:获取基数的服务器、至少一个数据存储服务器,所述获取基数的服务器与每个数据存储服务器之间建立有网络连接,所述数据仓库的数据存储于一至多个数据存储服务器中;
所述获取基数的服务器获取各个数据存储服务器中存储的数据,所述数据为同一数据仓库的数据;根据每个数据的第一参数确定每个数据对应的键值,并根据每个数据对应的第二参数进行哈希计算,得到每个数据对应的哈希值,将每个数据对应的哈希值转换成第一预设位数的二进制数值,并将每个数据对应的第一预设位数的二进制数值作为每个数据对应的参考值,所述第一参数及第二参数为至少一个;将每个数据存储服务器中存储的数据所对应的参考值中前第二预设位数的值作为每个数据的位置序号,并根据每个数据所对应的参考值中剩余位数的值确定每个数据的列值,所述第二预设位数小于第一预设位数,根据每个数据对应的键值将每个数据存储服务器中的数据分类,根据每个数据的位置序号将每类数据的列值合并,得到每类数据对应的数组,将每个数据存储服务器中的数据所对应的每种键值及每种键值对应的数组组成每个数据存储服务器对应的键值数组对,同一键值数组对中的数组由同一数据存储服务器中对应同一键值的数据所对应的参考值组成,同一数据存储服务器对应的键值数组对中的键值不同;根据各个数据存储服务器对应的键值数组对中的键值对各个数据存储服务器对应的键值数组对进行分类,并将每类键值数组对中的数组进行合并,得到每种键值对应的全局数组,根据每种键值对应的全局数组获取基数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310699950.3A CN104090895B (zh) | 2013-12-18 | 2013-12-18 | 获取基数的方法、装置、服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310699950.3A CN104090895B (zh) | 2013-12-18 | 2013-12-18 | 获取基数的方法、装置、服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104090895A CN104090895A (zh) | 2014-10-08 |
CN104090895B true CN104090895B (zh) | 2015-11-18 |
Family
ID=51638611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310699950.3A Active CN104090895B (zh) | 2013-12-18 | 2013-12-18 | 获取基数的方法、装置、服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104090895B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930104B (zh) * | 2016-05-17 | 2019-01-18 | 百度在线网络技术(北京)有限公司 | 数据存储方法和装置 |
CN108733664B (zh) * | 2017-04-13 | 2022-05-03 | 腾讯科技(深圳)有限公司 | 一种文件归类方法及装置 |
CN111339093A (zh) * | 2020-02-25 | 2020-06-26 | 京东方科技集团股份有限公司 | 用户行为数据的获取方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799808A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种数据处理方法及其系统 |
CN102955843A (zh) * | 2012-09-20 | 2013-03-06 | 北大方正集团有限公司 | 一种键值数据库的多键查找实现方法 |
-
2013
- 2013-12-18 CN CN201310699950.3A patent/CN104090895B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799808A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种数据处理方法及其系统 |
CN102955843A (zh) * | 2012-09-20 | 2013-03-06 | 北大方正集团有限公司 | 一种键值数据库的多键查找实现方法 |
Non-Patent Citations (1)
Title |
---|
MapReduce: Simplified Data Processing on Large Clusters;Jeffrey Dean等;《OSDI》;20141231;第1-13页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104090895A (zh) | 2014-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103605662B (zh) | 一种分布式计算框架参数优化方法、装置及系统 | |
US20190034833A1 (en) | Model Training Method and Apparatus | |
CN105022670A (zh) | 一种云计算平台中的异构分布式任务处理系统及其处理方法 | |
CN105550268A (zh) | 大数据流程建模分析引擎 | |
Holzschuher et al. | Querying a graph database–language selection and performance considerations | |
CN103440288A (zh) | 一种大数据存储方法及装置 | |
CN106611037A (zh) | 用于分布式图计算的方法与设备 | |
CN106407201A (zh) | 一种数据处理方法及装置 | |
CN102737108B (zh) | 处理流程图的方法及装置 | |
CN103729453A (zh) | 一种HBase表联合查询优化的方法 | |
CN105706092A (zh) | 四值模拟的方法和系统 | |
CN103019855A (zh) | MapReduce作业执行时间预测方法 | |
CN104090895B (zh) | 获取基数的方法、装置、服务器及系统 | |
Singh et al. | Spatial data analysis with ArcGIS and MapReduce | |
Araujo et al. | Comparative performance analysis of NoSQL Cassandra and MongoDB databases | |
CN103440197B (zh) | 一种基于对比测试自动生成差异测试报告的方法 | |
Yepes-Arbós et al. | Evaluation and optimisation of the I/O scalability for the next generation of Earth system models: IFS CY43R3 and XIOS 2.0 integration as a case study | |
CN102855278B (zh) | 一种仿真方法和系统 | |
CN108920110A (zh) | 一种基于内存计算模式的并行处理大数据存储系统及方法 | |
CN106843822B (zh) | 一种执行代码生成方法及设备 | |
CN111125216A (zh) | 数据导入Phoenix的方法及装置 | |
CN110909085A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN107562943B (zh) | 一种数据计算的方法及系统 | |
CN102004666A (zh) | 一种大型计算机作业排程设备及系统 | |
CN110569243A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |