CN110457355A - 一种数据聚合的方法、装置及计算机可读存储介质 - Google Patents
一种数据聚合的方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110457355A CN110457355A CN201910774624.1A CN201910774624A CN110457355A CN 110457355 A CN110457355 A CN 110457355A CN 201910774624 A CN201910774624 A CN 201910774624A CN 110457355 A CN110457355 A CN 110457355A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- multithreading
- dimension
- cpu
- 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.)
- Pending
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/24569—Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种数据聚合的方法及装置,用于在处理OLAP型多维数据时,先按照预设的数据维度,获取多组维度成员,然后启用多个服务器的多个线程对多组维度成员进行处理,以提升OLAP型多维数据的处理效率。本发明实施例方法包括:在OLAP型多维数据中,确定拆分数据的维度;根据所述维度,获取多组维度成员;启用多线程,将所述多组维度成员分配至多个服务器的多个线程进行聚合处理;聚合完成后,对聚合结果进行显示。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据聚合的方法、装置及计算机可读存储介质。
背景技术
在OLAP(OnlineAnalytical Processing联机分析处理)型多维数据中,在计算规则或维度成员组合后数据特别多的时候,数据计算的压力并不是在数据库层,而是在服务器层。因为目前的技术方式是一次性将数据先从数据库层取出到服务器,再通过聚合算法,在某一台服务器上,使用某一个CPU物理核心进行计算。
这样在大数据聚合时,就会造成某个服务器的压力特别大,甚至会出现内存溢出,导致数据无法处理。
发明内容
本发明实施例提供了一种数据聚合的方法、装置及计算机可读存储介质,用于在处理OLAP型多维数据时,先按照预设的数据维度,获取多组维度成员,然后启用多个服务器的多个线程对多组维度成员进行处理,以提升OLAP型多维数据的处理效率。
本申请实施例第一方面提供了一种数据聚合的方法,包括:
在OLAP型多维数据中,确定拆分数据的维度;
根据所述维度,获取多组维度成员;
启用多线程,将所述多组维度成员分配至多个服务器的多个线程进行聚合处理;
聚合完成后,对聚合结果进行显示。
优选的,在所述启用多线程前,所述方法还包括:
确定参与数据聚合服务器的数量及每个所述服务器CPU的核心数;
根据所述服务器的数量及所述CPU的核心数,设置启用多线程的数量。
优选的,所述根据所述服务器的数量及所述CPU的核心数,设置启用多线程的数量,包括:
通过调用API接口,按照第一公式来设置启用多线程的数量;
所述第一公式为:
X=A*B*β;
其中,X表示启用多线程的数量;
A表示参与数据聚合服务器的数量;
B表示每个所述服务器中CPU的核心数;
β表示每个所述服务器的负载系数。
优选的,所述根据所述服务器的数量及所述CPU的核心数,设置启用多线程的数量,包括:
通过系统参数的形式直接输入所述多线程的数量。
优选的,所述方法还包括:
利用线程池对所述多个线程执行管理。
本申请实施例第二方面提供了一种数据聚合的装置,包括:
第一确定单元,用于在OLAP型多维数据中,确定拆分数据的维度;
获取单元,用于根据所述维度,获取多组维度成员;
分配单元,用于启用多线程,将所述多组维度成员分配至多个服务器的多个线程进行聚合处理;
显示单元,用于聚合完成后,对聚合结果进行显示。
优选的,所述装置还包括:
第二确定单元,用于确定参与数据聚合服务器的数量及每个所述服务器CPU的核心数;
设置单元,用于根据所述服务器的数量及所述CPU的核心数,设置启用多线程的数量。
优选的,所述设置单元,具体用于:
通过调用API接口,按照第一公式来设置启用多线程的数量;
所述第一公式为:
X=A*B*β;
其中,X表示启用多线程的数量;
A表示参与数据聚合服务器的数量;
B表示每个所述服务器中CPU的核心数;
β表示每个所述服务器的负载系数。
优选的,所述设置单元,具体用于:
通过系统参数的形式直接输入所述多线程的数量。
优选的,所述装置还包括:
管理单元,用于利用线程池对所述多个线程执行管理。
本申请实施例还提供了一种计算机装置,包括处理器,该处理器在执行存储于存储器上的计算机程序时,用于实现本申请实施例第一方面提供的数据聚合的方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,用于实现本申请实施例第一方面提供的数据聚合的方法。
从以上技术方案可以看出,本发明实施例具有以下优点:
本申请实施例中,在处理OLAP型多维数据时,先确定数据拆分的维度,然后按照数据维度,获取多组维度成员,并将多组维度成员分配至多个服务器的多个线程进行聚合处理,最后将聚合结果进行显示。因为本申请实施例中,能够在处理OLAP型多维处理时,快速根据数据维度,获取多组维度成员,然后利用多个服务器的多线程对多组维度成员数据执行处理,从而减轻了单个服务器的数据负载,提升了对OLAP型多维数据处理的效率。
附图说明
图1为本申请实施例中一种数据聚合的方法的一个实施例示意图;
图2为本申请实施例中一种数据聚合的方法的另一个实施例示意图;
图3为本申请实施例中图2实施例中步骤202的细化步骤;
图4为本申请实施例中图2实施例中步骤202的另一细化步骤;
图5为本申请实施例中一种数据聚合的装置的一个实施例示意图。
具体实施方式
本发明实施例提供了一种数据聚合的方法、装置及计算机可读存储介质,用于在处理OLAP型多维数据时,先按照预设的数据维度,获取多组维度成员,然后启用多个服务器的多个线程对多组维度成员进行处理,以提升OLAP型多维数据的处理效率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
现有技术中,一般在处理OLAP型多维数据时,都是一次性将数据从数据库中取出,然后利用某一个服务器的某一个CPU物理核心来处理,这样常会导致该CPU的数据负载压力较大,甚至会出现内存溢出的情况。
针对该问题,本申请提供了一种数据聚合的方法及装置,用于提升OLAP型多维数据的处理效率。为方便理解,下面对本实施中数据聚合的方法进行描述,请参阅图1,本申请实施例中一种数据聚合方法的一个实施例,包括:
101、在OLAP型多维数据中,确定拆分数据的维度;
OLAP(OnlineAnalytical Processing)联机实时分析技术是快速响应多维分析的一种解决方案,而OLAP系统按照其存储器的数据存储格式可以分为关系型OLAP,即RelationOLAP,简称ROLAP;多维OLAP,即MultidimensionalOLAP,简称MOLAP;混合型OLAP,即HybridOLAP,简称HOLAP等三种类型。
在各种类型的OLAP型数据中,现有技术在对数据执行聚合处理时,一般都是一次性全部从数据从数据库中提取出来,然后放在单个服务器的单个CPU核心上来处理,从而给单个服务器造成很大的负载压力,降低数据的处理效率。
本实施例中,在面对OLAP型数据时,首选是根据需要处理的数据类型,来确定拆分数据的维度,优选的一般是按照组织结构来进行拆分。
如在一个单位有很多人员数据时,可以按照部门组织结构来对数据进行拆分,如按照财务部、预算部、工程部、后勤部等,将一个单位的人员数据按照部分结构拆分为不同的成员数据。
102、根据所述维度,获取多组维度成员;
当确定了数据集合,及拆分数据的维度后,即可按照拆分数据的维度,将数据集合拆分为多组维度成员。
假设A单位有5000名员工,该单位有15个部门,则可以分别按照15个部门分别获取每个部门的部门成员,而多个部门的部门成员即可视为多组维度成员。
103、启用多线程,将所述多组维度成员分配至多个服务器的多个线程进行聚合处理;
区别于现有技术中采用单服务器单线程对所有数据执行处理的方法,本申请中在获取到多组维度成员后,启用多线程,并将多组维度成员分配至多个服务器的多个线程进行聚合处理。
具体的,在实际应用中,一般是一个服务器CPU的一个核心对应一个线程,若一个服务器的CPU有4个核心,则对应4个线程。本实施例中采用多个服务器的多个线程对多组维度成员进行处理,从而大大提升了数据的处理效率。
104、聚合完成后,对聚合结果进行显示。
当多个服务器的多个线程对多组维度成员分别处理结束后,则对多组维度成员的聚合结果执行显示。
具体的,本实施例中对聚合结果执行显示可以是在服务器上,或是经过服务器将聚合结果发送至用户终端上,在用户终端上对聚合结果执行显示都可以,此处对聚合结果进行显示的方式不做具体限定。
本申请实施例中,在处理OLAP型多维数据时,先确定数据拆分的维度,然后按照数据维度,获取多组维度成员,并将多组维度成员分配至多个服务器的多个线程进行聚合处理,最后将聚合结果进行显示。因为本申请实施例中,能够在处理OLAP型多维处理时,快速根据数据维度,获取多组维度成员,然后利用多个服务器的多线程对多组维度成员数据执行处理,从而减轻了单个服务器的数据负载,提升了对OLAP型多维数据处理的效率。
基于图1所述的实施例,在启用多线程前,还需要执行以下步骤,请参阅图2,本申请实施例中数据聚合方法的另一个实施例,包括:
201、确定参与数据聚合服务器的数量及每个所述服务器CPU的核心数;
在启用多线程前,需要确定参与数据聚合服务器的数量及每个服务器CPU的核心数,以便于根据服务器的数量及每个服务器CPU的核心数,设置启用多线程的数量。
具体的,在实际应用中,在确定启用多线程的数量时,一般会参考当前服务器的数据负载能力,及需要处理数据的数量(即本实施例中多组维度成员的数量),当需要处理的数据量较大时,则对应启用的线程数量增大,而当需要处理的数据量较小时,则对应启用的线程数量减少。
202、根据所述服务器的数量及所述CPU的核心数,设置启用多线程的数量。
当确定了服务器的数量及CPU的核心数后,即可以根据服务器的数量及CPU的核心数,设置启用多线程的数量。
容易理解的是,多线程的数量=服务器的数量*单个服务器CPU的核心数。
而在实际应用中,可以通过两种方式设置启用多线程的数量,请参阅图3,图3为步骤202的细化步骤:
301、通过调用API接口,按照第一公式来设置启用多线程的数量;
所述第一公式为:X=A*B*β;其中,X表示启用多线程的数量;A表示参与数据聚合服务器的数量;B表示每个所述服务器中CPU的核心数;β表示每个所述服务器的负载系数。
在设置要启用的多线程时,可以是通过调用API接口,按照第一公式来设置需要启用多线程的数量,其中,第一公式为X=A*B*β,其中,X表示启用多线程的数量;A表示参与数据聚合服务器的数量;B表示每个所述服务器中CPU的核心数;β表示每个所述服务器的负载系数。
需要说明的是,本实施中的负载系数,是用于表示服务器可以承担的最大负载量,一般取负载系数为0.6,在实际应用中,需要预留一部分的服务器的CPU来处理意外会发生的临时事件。
本实施例中,通过第一公式来设置可以启用多线程的数量,从而使得用户可以根据自身的应用场景,来定义服务器的负载系数,从而提升了启用多线程数量的灵活性。
基于图2所述的实施例,还可以通过另一种方式来设置需要启动的线程数,请参阅图4,图4为图2实施例中步骤202的另一细化步骤:
401、通过系统参数的形式直接输入所述多线程的数量。
为了方便用户对多线程数量的设置,还可以是通过系统参数的形式直接输入多线程的数量,具体的,如通过Web界面的方式直接弹出设置界面,在该设置界面中用户可以根据界面上的多线程数量范围,输入该范围内的数值。如界面上会提示最大可以启用的多线程数量为10,则用户可以输入不大于10的任意正整数,以应用对应数量的多线程。
需要说明的是,在该设置界面中,可以设置的最大多线程数量为图3实施例中的X,即该能启用的最大多线程数已经考虑了服务器的最大负载系数,使得服务器可以利用剩余的CPU核心数来处理意外事件。
本实施例中,通过系统参数的形式,让用户对可以启用的多线程数量进行设置,从而提升了多线程数量设置的便捷性。
基于图1至图4所述的实施例,当启用多线程处理数据时,为了方便对多线程的管理,还可以通过线程池对多线程执行管理,如Java框架下的线程池,实现对多线程的管理,因为线程池作为一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值。超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。
故线程池可以使得服务器的多个线程有序地执行处理任务,并使得每个被启用的线程都得到充分的利用。
上面对本申请实施例中的数据聚合的方法进行了描述,下面对本申请实施例中数据聚合的装置进行描述,请参阅图5,本申请实施例中数据聚合的装置的一个实施例,包括:
第一确定单元501,用于在OLAP型多维数据中,确定拆分数据的维度;
获取单元502,用于根据所述维度,获取多组维度成员;
分配单元503,用于启用多线程,将所述多组维度成员分配至多个服务器的多个线程进行聚合处理;
显示单元504,用于聚合完成后,对聚合结果进行显示。
优选的,所述装置还包括:
第二确定单元505,用于确定参与数据聚合服务器的数量及每个所述服务器CPU的核心数;
设置单元506,用于根据所述服务器的数量及所述CPU的核心数,设置启用多线程的数量。
优选的,所述设置单元506,具体用于:
通过调用API接口,按照第一公式来设置启用多线程的数量;
所述第一公式为:
X=A*B*β;
其中,X表示启用多线程的数量;
A表示参与数据聚合服务器的数量;
B表示每个所述服务器中CPU的核心数;
β表示每个所述服务器的负载系数。
优选的,所述设置单元506,具体用于:
通过系统参数的形式直接输入所述多线程的数量。
优选的,所述装置还包括:
管理单元507,用于利用线程池对所述多个线程执行管理。
需要说明的是,本实施例中各单元的作用与图1至图4实施例中描述的类似,此处不再赘述。
本申请实施例中,在处理OLAP型多维数据时,通过第一确定单元501先确定数据拆分的维度,然后按照数据维度,通过获取单元502获取多组维度成员,并通过分配单元503将多组维度成员分配至多个服务器的多个线程进行聚合处理,最后通过显示单元504将聚合结果进行显示。因为本申请实施例中,能够在处理OLAP型多维处理时,快速根据数据维度,获取多组维度成员,然后利用多个服务器的多线程对多组维度成员数据执行处理,从而减轻了单个服务器的数据负载,提升了对OLAP型多维数据处理的效率。
上面从模块化功能实体的角度对本发明实施例中的数据聚合的装置进行了描述,下面从硬件处理的角度对本发明实施例中的计算机装置进行描述:
该计算机装置用于实现数据聚合装置的功能,本发明实施例中计算机装置一个实施例包括:
处理器以及存储器;
存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序时,可以实现如下步骤:
在OLAP型多维数据中,确定拆分数据的维度;
根据所述维度,获取多组维度成员;
启用多线程,将所述多组维度成员分配至多个服务器的多个线程进行聚合处理;
聚合完成后,对聚合结果进行显示。
在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
确定参与数据聚合服务器的数量及每个所述服务器CPU的核心数;
根据所述服务器的数量及所述CPU的核心数,设置启用多线程的数量。
在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
通过调用API接口,按照第一公式来设置启用多线程的数量;
所述第一公式为:
X=A*B*β;
其中,X表示启用多线程的数量;
A表示参与数据聚合服务器的数量;
B表示每个所述服务器中CPU的核心数;
β表示每个所述服务器的负载系数。
在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
通过系统参数的形式直接输入所述多线程的数量。
在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
利用线程池对所述多个线程执行管理。
可以理解的是,上述说明的计算机装置中的处理器执行所述计算机程序时,也可以实现上述对应的各装置实施例中各单元的功能,此处不再赘述。示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述数据聚合的装置中的执行过程。例如,所述计算机程序可以被分割成上述数据聚合的装置中的各单元,各单元可以实现如上述相应数据聚合的装置说明的具体功能。
所述计算机装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机装置可包括但不仅限于处理器、存储器。本领域技术人员可以理解,处理器、存储器仅仅是计算机装置的示例,并不构成对计算机装置的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置还可以包括输入输出设备、网络接入设备、总线等。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质用于实现数据聚合的装置的功能,其上存储有计算机程序,计算机程序被处理器执行时,处理器,可以用于执行如下步骤:
在OLAP型多维数据中,确定拆分数据的维度;
根据所述维度,获取多组维度成员;
启用多线程,将所述多组维度成员分配至多个服务器的多个线程进行聚合处理;
聚合完成后,对聚合结果进行显示。
在本发明的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,可以具体用于执行如下步骤:
确定参与数据聚合服务器的数量及每个所述服务器CPU的核心数;
根据所述服务器的数量及所述CPU的核心数,设置启用多线程的数量。
在本发明的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,可以具体用于执行如下步骤:
通过调用API接口,按照第一公式来设置启用多线程的数量;
所述第一公式为:
X=A*B*β;
其中,X表示启用多线程的数量;
A表示参与数据聚合服务器的数量;
B表示每个所述服务器中CPU的核心数;
β表示每个所述服务器的负载系数。
在本发明的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,可以具体用于执行如下步骤:
通过系统参数的形式直接输入所述多线程的数量。
在本发明的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,可以具体用于执行如下步骤:
利用线程池对所述多个线程执行管理。
可以理解的是,所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在相应的一个计算机可读取存储介质中。基于这样的理解,本发明实现上述相应的实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据聚合的方法,其特征在于,包括:
在OLAP型多维数据中,确定拆分数据的维度;
根据所述维度,获取多组维度成员;
启用多线程,将所述多组维度成员分配至多个服务器的多个线程进行聚合处理;
聚合完成后,对聚合结果进行显示。
2.根据权利要求1所述的方法,其特征在于,在所述启用多线程前,所述方法还包括:
确定参与数据聚合服务器的数量及每个所述服务器CPU的核心数;
根据所述服务器的数量及所述CPU的核心数,设置启用多线程的数量。
3.根据权利要求2所述的方法,其特征在于,所述根据所述服务器的数量及所述CPU的核心数,设置启用多线程的数量,包括:
通过调用API接口,按照第一公式来设置启用多线程的数量;
所述第一公式为:
X=A*B*β;
其中,X表示启用多线程的数量;
A表示参与数据聚合服务器的数量;
B表示每个所述服务器中CPU的核心数;
β表示每个所述服务器的负载系数。
4.根据权利要求2所述的方法,其特征在于,所述根据所述服务器的数量及所述CPU的核心数,设置启用多线程的数量,包括:
通过系统参数的形式直接输入所述多线程的数量。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
利用线程池对所述多个线程执行管理。
6.一种数据聚合的装置,其特征在于,包括:
第一确定单元,用于在OLAP型多维数据中,确定拆分数据的维度;
获取单元,用于根据所述维度,获取多组维度成员;
分配单元,用于启用多线程,将所述多组维度成员分配至多个服务器的多个线程进行聚合处理;
显示单元,用于聚合完成后,对聚合结果进行显示。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二确定单元,用于确定参与数据聚合服务器的数量及每个所述服务器CPU的核心数;
设置单元,用于根据所述服务器的数量及所述CPU的核心数,设置启用多线程的数量。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
管理单元,用于利用线程池对所述多个线程执行管理。
9.一种计算机装置,包括处理器,其特征在于,所述处理器在执行存储于存储器上的计算机程序时,用于实现如权利要求1至5中任一项所述的数据聚合方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,用于实现如权利要求1至5中任一项所述的数据聚合方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910774624.1A CN110457355A (zh) | 2019-08-21 | 2019-08-21 | 一种数据聚合的方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910774624.1A CN110457355A (zh) | 2019-08-21 | 2019-08-21 | 一种数据聚合的方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110457355A true CN110457355A (zh) | 2019-11-15 |
Family
ID=68488284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910774624.1A Pending CN110457355A (zh) | 2019-08-21 | 2019-08-21 | 一种数据聚合的方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110457355A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407527A (zh) * | 2020-11-20 | 2021-09-17 | 广东美云智数科技有限公司 | 一种权限数据的采集方法、管理装置以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794128A (zh) * | 2014-01-20 | 2015-07-22 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置 |
EP3200101A1 (en) * | 2016-02-01 | 2017-08-02 | QlikTech International AB | Methods and systems for distributed data analysis |
CN109783232A (zh) * | 2018-12-21 | 2019-05-21 | 王家万 | 视频数据处理方法、装置及存储介质 |
-
2019
- 2019-08-21 CN CN201910774624.1A patent/CN110457355A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794128A (zh) * | 2014-01-20 | 2015-07-22 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置 |
EP3200101A1 (en) * | 2016-02-01 | 2017-08-02 | QlikTech International AB | Methods and systems for distributed data analysis |
CN109783232A (zh) * | 2018-12-21 | 2019-05-21 | 王家万 | 视频数据处理方法、装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
只会一点JAVA: "根据CPU核心数确定线程池并发线程数", 《HTTPS://WWW.CNBLOGS.COM/DENNYZHANGDD/P/6909771.HTML》 * |
纪志亭: "《中国教育和科研计算机网 CERNET应用基础与操作》", 31 May 1998 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407527A (zh) * | 2020-11-20 | 2021-09-17 | 广东美云智数科技有限公司 | 一种权限数据的采集方法、管理装置以及存储介质 |
CN113407527B (zh) * | 2020-11-20 | 2024-03-26 | 美云智数科技有限公司 | 一种权限数据的采集方法、管理装置以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105900064B (zh) | 调度数据流任务的方法和装置 | |
CN109783232A (zh) | 视频数据处理方法、装置及存储介质 | |
CN108701059A (zh) | 多租户资源分配方法和系统 | |
CN108363623A (zh) | Gpu资源调度方法、装置、设备及计算机可读存储介质 | |
CN107688495B (zh) | 调度处理器的方法及设备 | |
CN110162388A (zh) | 一种任务调度方法、系统及终端设备 | |
CN109345108A (zh) | 任务分配方法、装置、设备及存储介质 | |
CN111124687B (zh) | 一种cpu资源预留方法、装置及其相关设备 | |
CN108009724A (zh) | 金融系统中的任务分配方法和系统 | |
CN112948111B (zh) | 一种任务分配方法、装置、设备及计算机可读介质 | |
CN109284895A (zh) | 项目任务分配方法、装置、计算机设备及存储介质 | |
CN109343972A (zh) | 任务处理方法及终端设备 | |
CN112241316A (zh) | 一种分布式调度应用的方法以及装置 | |
CN113672375A (zh) | 资源分配预测方法、装置、设备及存储介质 | |
CN113765949A (zh) | 资源分配的方法以及装置 | |
CN110457355A (zh) | 一种数据聚合的方法、装置及计算机可读存储介质 | |
CN109102200A (zh) | 一种定时任务处理方法及装置 | |
CN105511959A (zh) | 虚拟资源分配方法和装置 | |
CN106775925A (zh) | 一种虚拟机cpu的限额处理方法和装置 | |
CN114996005A (zh) | 一种资源调度方法、装置、设备及介质 | |
CN114358508A (zh) | 一种工单分配方法、装置、设备和介质 | |
CN114996019A (zh) | 任务分配方法、装置、计算机设备、存储介质和程序产品 | |
CN115421920A (zh) | 金融产品的任务管理方法及装置、电子设备、存储介质 | |
CN113918344A (zh) | 一种资源需求分配方法、装置、设备及计算机可读介质 | |
CN108897850A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191115 |