CN103294754A - 大数据量加载的拆分与合并方法及系统 - Google Patents
大数据量加载的拆分与合并方法及系统 Download PDFInfo
- Publication number
- CN103294754A CN103294754A CN201310044076XA CN201310044076A CN103294754A CN 103294754 A CN103294754 A CN 103294754A CN 201310044076X A CN201310044076X A CN 201310044076XA CN 201310044076 A CN201310044076 A CN 201310044076A CN 103294754 A CN103294754 A CN 103294754A
- Authority
- CN
- China
- Prior art keywords
- analysis
- data
- correspondences
- request
- analysis condition
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种大数据量加载的拆分与合并方法及系统。本发明提供的方案在查询数据库服务器之前,已经将分析请求拆分成若干个分析子请求,由于每个分析子请求都属于分析请求的一部分,所以每个分析子请求获取的数据量相对于分析请求要小很多,所以在数据库服务器处理简单的分析子请求时,不会存在太大的处理压力;而且,数据库服务器不需要处理整个分析请求,也不需要处理分析请求的拆分过程,相对于现有技术而言,本发明提供的方案可以避免造成数据库服务器的压力过大,从而提高了系统的性能,并且降低了数据库服务器的硬件投入成本。
Description
技术领域
本发明涉及计算机技术领域,更具体的说,涉及大数据量加载的拆分与合并方法及系统。
背景技术
数据分析应用系统是指对生产交易等各类业务数据进行加工运算、汇总、筛选等操作的软件平台。
通常情况下,数据分析应用系统会接收到用户发送的查询等指令,并根据该指令在数据库服务器中编辑SQL查询语句或存储过程以调取需要用到的数据。
在对现有技术的研究和实践过程中,本发明的发明人发现现有技术存在以下问题:
当数据库服务器中的并发数据量较大时,会造成数据库服务器压力过大,从而导致数据分析应用系统的性能大幅下降,处理效率降低。所以为了保证数据分析应用系统的性能稳定,只能通过增加数据库硬件的方式来提高数据分析应用系统的性能,例如增加更多的cpu或增加更大的内存等方式,从而导致成本负担加重。
因此,如何在保证数据分析应用系统的性能稳定的同时,还能够降低数据库硬件设备的投入成本,成为目前最需要解决的问题。
发明内容
有鉴于此,本发明的设计目的在于,提供一种大数据量加载的拆分与合并方法及系统,以保证数据分析应用系统的性能稳定的同时,还能够降低数据库硬件设备的投入成本。
本发明实施例是这样实现的:
一种大数据量加载的拆分与合并方法,包括:
接收用户输入的分析请求,所述分析请求包括分析对象、分析要素和根据所述分析对象的属性生成的第一分析条件;
当所述分析对象具有其他属性时,则根据所述其他属性生成第二分析条件;
当所述第一分析条件或第二分析条件包括多个从属属性时,则根据所述多个从属属性将所述第一分析条件或第二分析条件拆分成多个对应的子条件;
根据所述多个子条件分别对应所述分析对象和分析要素生成多个分析子请求;
利用所述多个分析子请求在数据库服务器中查询多个对应的数据;
获取所述多个对应的数据;
将所述多个对应的数据进行汇总处理得到结果数据。
优选地,在获取所述多个对应的数据的步骤之后,还包括:
将所述多个对应的数据存储到存储设备中。
优选地,在将所述多个对应的数据存储到存储设备中的步骤之后,还包括:
获取所述多个对应的数据的存储路径。
优选地,在将所述多个对应的数据存储到存储设备中的步骤中,具体为:
将所述多个对应的数据按照顺序存储到存储设备中。
优选地,在将所述多个对应的数据存储到存储设备中的步骤之后,还包括:
释放存储过程中使用的内存。
一种大数据量加载的拆分与合并系统,包括:
接收模块,用于接收用户输入的分析请求,所述分析请求包括分析对象、分析要素和根据所述分析对象的属性生成的第一分析条件;
第一生成模块,用于当所述分析对象具有其他属性时,则根据所述其他属性生成第二分析条件;
拆分模块,用于当所述第一分析条件或第二分析条件包括多个从属属性时,则根据所述多个从属属性将所述第一分析条件或第二分析条件拆分成多个对应的子条件;
第二生成模块,用于根据所述多个子条件分别对应所述分析对象和分析要素生成多个分析子请求;
查询模块,用于利用所述多个分析子请求在数据库服务器中查询多个对应的数据;
获取模块,用于获取所述多个对应的数据;
汇总模块,用于将所述多个对应的数据进行汇总处理得到结果数据。
与现有技术相比,本实施例提供的技术方案具有以下优点和特点:
在本发明提供的方案中,在查询数据库服务器之前,已经将分析请求拆分成若干个分析子请求,由于每个分析子请求都属于分析请求的一部分,所以每个分析子请求获取的数据量相对于分析请求要小很多,所以在数据库服务器处理简单的分析子请求时,不会存在太大的处理压力;而且,数据库服务器不需要处理整个分析请求,也不需要处理分析请求的拆分过程,相对于现有技术而言,本发明提供的方案可以避免造成数据库服务器的压力过大,从而提高了系统的性能,并且降低了数据库服务器的硬件投入成本。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的一种大数据量加载的拆分与合并方法的流程图;
图2为本发明所提供的一种大数据量加载的拆分与合并系统的模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种大数据量加载的拆分与合并方法及系统,以保证数据分析应用系统的性能稳定的同时,还能够降低数据库硬件设备的投入成本。
由于上述大数据量加载的拆分与合并方法及系统的具体实现存在多种方式,下面通过具体实施例进行详细说明:
请参见图1所示,图1所示的为一种大数据量加载的拆分与合并方法,该方法包括:
步骤S11、接收用户输入的分析请求,所述分析请求包括分析对象、分析要素和根据所述分析对象的属性生成的第一分析条件;
其中,通常情况下,执行分析请求的具体过程为:在某一个数据库中针对某一个分析对象根据分析要素和分析条件来进行判断,在该数据库中哪些分析对象符合分析要素和分析条件的标准,并将符合标准的数据查找出来。通过举例来说明上述内容,数据库为税收数据库,分析对象为企业,分析要素为税负低于3%,分析条件为河北省,所以,此例中,想要查找的企业即为河北省内税负低于3%的企业。
步骤S12、当所述分析对象具有其他属性时,则根据所述其他属性生成第二分析条件;
其中,分析对象通常会有很多个属性,而在分析请求中可能并没有考虑到其他的属性,例如,针对步骤S11中的例子而言,企业的属性可能会包括地域属性和行业属性,原始的分析请求中已经根据地域属性生成了第一分析条件,那么还可以根据行业属性来生成第二分析条件。具体的,可以将企业的行业拆分成多个,如拆分成法律、金融、计算机和医疗等。那么原始的分析请求就变成了想要查找的企业即为河北省的每个行业税负低于3%的企业。具体为,将一个分析请求拆分成了多个分析请求,第一个分析请求为河北省的法律行业的税负低于3%的企业,第二个分析请求为河北省的金融行业的税负低于3%的企业,第三个分析请求为河北省的计算机行业的税负低于3%的企业。所以拆分以后,得到的分别为河北省的每个行业的税负低于3%的企业。
步骤S13、当所述第一分析条件或第二分析条件包括多个从属属性时,则根据所述多个从属属性将所述第一分析条件或第二分析条件拆分成多个对应的子条件;
其中,第一分析条件或第二分析条件有可能会包括多个从属属性,例如,针对步骤S11中的例子而言,第一分析条件为河北省,河北省包括多个市级城市,所以可以将第一分析条件或第二分析条件拆分成多个对应的子条件。例如,将河北省拆分成石家庄、保定和邯郸等城市,拆分后的子条件即为河北省的每个城市中的每个行业的税负低于3%的企业。
步骤S14、根据所述多个子条件分别对应所述分析对象和分析要素生成多个分析子请求;
其中,将上述步骤生成多个子条件对应分析对象和分析要素就可以生成很多个分析子请求。针对步骤S11中的例子而言,针对不同城市的不同行业进行分类,例如,在保定市的各个行业的税负低于3%的企业,具体的,在保定市的医疗行业的税负低于3%的企业,在保定市的计算机行业的税负低于3%的企业,在保定市的金融行业的税负低于3%的企业等等;在石家庄的医疗行业的税负低于3%的企业,在石家庄的计算机行业的税负低于3%的企业,在石家庄的金融行业的税负低于3%的企业等等;在邯郸的医疗行业的税负低于3%的企业,在邯郸的计算机行业的税负低于3%的企业,在邯郸的金融行业的税负低于3%的企业等等;就这样按照每个城市每个行业的方式生成多个分析子请求。
步骤S15、利用所述多个分析子请求在数据库服务器中查询多个对应的数据;
其中,步骤S14已经生成多个分析子请求,此时,需要连接数据库服务器,并根据多个分析子请求查询数据库服务器上对应的数据,每个分析子请求都会对应一个数据。
步骤S16、获取所述多个对应的数据;
其中,将步骤S15中的数据获取到,以备后用。
步骤S17、将所述多个对应的数据进行汇总处理得到结果数据。
其中,在步骤S11中的分析请求为用户需要的,所以还需要将拆分后的多个分析子请求得到的数据汇总在一起,从而得到分析请求所真正需要的数据。
在图1所示的实施例中,在查询数据库服务器之前,已经将分析请求拆分成若干个分析子请求,由于每个分析子请求都属于分析请求的一部分,所以每个分析子请求获取的数据量相对于分析请求要小很多,所以在数据库服务器处理简单的分析子请求时,不会存在太大的处理压力;而且,数据库服务器不需要处理整个分析请求,也不需要处理分析请求的拆分过程,相对于现有技术而言,本发明提供的方案可以避免造成数据库服务器的压力过大,从而提高了系统的性能,并且降低了数据库服务器的硬件投入成本。
在图1所示的实施例中,在步骤S16之后,还可以将所述多个对应的数据按照顺序存储到存储设备中,然后释放存储过程中使用的内存,并获取所述多个对应的数据的存储路径。其中,因为是将所述多个对应的数据按照顺序存储到存储设备中,所以性能也是比较好的;存储完成后,即可释放内存供后续的环节使用,可以避免内存不足导致系统出错;将多个数据的存储路径统一管理起来,不涉及数据的移动,因此效率是很高的。
在图1所示的实施例中,在步骤S17之后,还可以对数据进行其他的业务操作,比如加工运算、汇总、筛选等。汇总类的数据,比如平均值、标准差等,数据量不大,可存储在内存中。其它分析对象粒度的数据,比如纳税人的税负率的值需要由下一步骤进行处理。
请参见图2所示,图2所示的为一种大数据量加载的拆分与合并系统1,包括:接收模块11,用于接收用户通过数据分析应用系统2输入的分析请求,所述分析请求包括分析对象、分析要素和根据所述分析对象的属性生成的第一分析条件;第一生成模块12,用于当所述分析对象具有其他属性时,则根据所述其他属性生成第二分析条件;拆分模块13,用于当所述第一分析条件或第二分析条件包括多个从属属性时,则根据所述多个从属属性将所述第一分析条件或第二分析条件拆分成多个对应的子条件;第二生成模块14,用于根据所述多个子条件分别对应所述分析对象和分析要素生成多个分析子请求;查询模块15,用于利用所述多个分析子请求在数据库服务器3中查询多个对应的数据;获取模块16,用于在数据库服务器3中获取所述多个对应的数据;汇总模块17,用于将所述多个对应的数据进行汇总处理得到结果数据。
在图2所示的实施例中,由于本系统与上述方法的内容相对应,所以各个模块具体的功能可以与上述方法部分的内容相互参见,在此不再赘述。
需要说明的是,图1至图2所示的实施例只是本发明所介绍的优选实施例,本领域技术人员在此基础上,完全可以设计出更多的实施例,因此不在此处赘述。
对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种大数据量加载的拆分与合并方法,其特征在于,包括:
接收用户输入的分析请求,所述分析请求包括分析对象、分析要素和根据所述分析对象的属性生成的第一分析条件;
当所述分析对象具有其他属性时,则根据所述其他属性生成第二分析条件;
当所述第一分析条件或第二分析条件包括多个从属属性时,则根据所述多个从属属性将所述第一分析条件或第二分析条件拆分成多个对应的子条件;
根据所述多个子条件分别对应所述分析对象和分析要素生成多个分析子请求;
利用所述多个分析子请求在数据库服务器中查询多个对应的数据;
获取所述多个对应的数据;
将所述多个对应的数据进行汇总处理得到结果数据。
2.根据权利要求1所述的大数据量加载的拆分与合并方法,其特征在于,在获取所述多个对应的数据的步骤之后,还包括:
将所述多个对应的数据存储到存储设备中。
3.根据权利要求2所述的大数据量加载的拆分与合并方法,其特征在于,在将所述多个对应的数据存储到存储设备中的步骤之后,还包括:
获取所述多个对应的数据的存储路径。
4.根据权利要求2所述的大数据量加载的拆分与合并方法,其特征在于,在将所述多个对应的数据存储到存储设备中的步骤中,具体为:
将所述多个对应的数据按照顺序存储到存储设备中。
5.根据权利要求2所述的大数据量加载的拆分与合并方法,其特征在于,在将所述多个对应的数据存储到存储设备中的步骤之后,还包括:
释放存储过程中使用的内存。
6.一种大数据量加载的拆分与合并系统,其特征在于,包括:
接收模块,用于接收用户输入的分析请求,所述分析请求包括分析对象、分析要素和根据所述分析对象的属性生成的第一分析条件;
第一生成模块,用于当所述分析对象具有其他属性时,则根据所述其他属性生成第二分析条件;
拆分模块,用于当所述第一分析条件或第二分析条件包括多个从属属性时,则根据所述多个从属属性将所述第一分析条件或第二分析条件拆分成多个对应的子条件;
第二生成模块,用于根据所述多个子条件分别对应所述分析对象和分析要素生成多个分析子请求;
查询模块,用于利用所述多个分析子请求在数据库服务器中查询多个对应的数据;
获取模块,用于获取所述多个对应的数据;
汇总模块,用于将所述多个对应的数据进行汇总处理得到结果数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310044076XA CN103294754A (zh) | 2013-02-04 | 2013-02-04 | 大数据量加载的拆分与合并方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310044076XA CN103294754A (zh) | 2013-02-04 | 2013-02-04 | 大数据量加载的拆分与合并方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103294754A true CN103294754A (zh) | 2013-09-11 |
Family
ID=49095627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310044076XA Pending CN103294754A (zh) | 2013-02-04 | 2013-02-04 | 大数据量加载的拆分与合并方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103294754A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605715A (zh) * | 2013-11-14 | 2014-02-26 | 北京国双科技有限公司 | 用于多个数据源的数据整合处理方法和装置 |
CN104376029A (zh) * | 2014-04-10 | 2015-02-25 | 亚信科技(中国)有限公司 | 一种数据的处理方法及系统 |
CN104571956A (zh) * | 2014-12-29 | 2015-04-29 | 成都致云科技有限公司 | 一种数据写入方法及拆分装置 |
CN105930630A (zh) * | 2015-09-15 | 2016-09-07 | 中国银联股份有限公司 | 一种数据分析方法及装置 |
CN106407190A (zh) * | 2015-07-27 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种事件记录查询方法及装置 |
CN108182258A (zh) * | 2018-01-02 | 2018-06-19 | 福建中金在线信息科技有限公司 | 分布式的数据分析系统及方法 |
CN113259408A (zh) * | 2021-03-30 | 2021-08-13 | 中海油信息科技有限公司 | 数据传输方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08235218A (ja) * | 1995-02-24 | 1996-09-13 | Nec Corp | オブジェクト指向データベース管理システムにおける問い合わせの分割処理方式 |
CN1556482A (zh) * | 2003-12-31 | 2004-12-22 | 中兴通讯股份有限公司 | 一种用于实现数据库多表查询的数据处理方法 |
CN1588358A (zh) * | 2004-08-26 | 2005-03-02 | 陈红 | 对mdx多维数据查询语句的处理方法和系统 |
CN101510203A (zh) * | 2009-02-25 | 2009-08-19 | 南京联创科技股份有限公司 | 基于拆分机制并行处理实现大数据量高性能处理的方法 |
-
2013
- 2013-02-04 CN CN201310044076XA patent/CN103294754A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08235218A (ja) * | 1995-02-24 | 1996-09-13 | Nec Corp | オブジェクト指向データベース管理システムにおける問い合わせの分割処理方式 |
CN1556482A (zh) * | 2003-12-31 | 2004-12-22 | 中兴通讯股份有限公司 | 一种用于实现数据库多表查询的数据处理方法 |
CN1588358A (zh) * | 2004-08-26 | 2005-03-02 | 陈红 | 对mdx多维数据查询语句的处理方法和系统 |
CN101510203A (zh) * | 2009-02-25 | 2009-08-19 | 南京联创科技股份有限公司 | 基于拆分机制并行处理实现大数据量高性能处理的方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605715A (zh) * | 2013-11-14 | 2014-02-26 | 北京国双科技有限公司 | 用于多个数据源的数据整合处理方法和装置 |
CN104376029A (zh) * | 2014-04-10 | 2015-02-25 | 亚信科技(中国)有限公司 | 一种数据的处理方法及系统 |
CN104571956A (zh) * | 2014-12-29 | 2015-04-29 | 成都致云科技有限公司 | 一种数据写入方法及拆分装置 |
CN106407190A (zh) * | 2015-07-27 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种事件记录查询方法及装置 |
CN106407190B (zh) * | 2015-07-27 | 2020-01-14 | 阿里巴巴集团控股有限公司 | 一种事件记录查询方法及装置 |
US11113276B2 (en) | 2015-07-27 | 2021-09-07 | Advanced New Technologies Co., Ltd. | Querying a database |
CN105930630A (zh) * | 2015-09-15 | 2016-09-07 | 中国银联股份有限公司 | 一种数据分析方法及装置 |
CN108182258A (zh) * | 2018-01-02 | 2018-06-19 | 福建中金在线信息科技有限公司 | 分布式的数据分析系统及方法 |
CN108182258B (zh) * | 2018-01-02 | 2021-04-27 | 福建中金在线信息科技有限公司 | 分布式的数据分析系统及方法 |
CN113259408A (zh) * | 2021-03-30 | 2021-08-13 | 中海油信息科技有限公司 | 数据传输方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107451214B (zh) | 一种非主键查询方法和分布式NewSQL数据库系统 | |
CN103294754A (zh) | 大数据量加载的拆分与合并方法及系统 | |
Zhao et al. | Dache: A data aware caching for big-data applications using the MapReduce framework | |
US9665619B1 (en) | Optimizing database queries using subquery composition | |
CN106168965B (zh) | 知识图谱构建系统 | |
US9298775B2 (en) | Changing the compression level of query plans | |
CN105279276A (zh) | 一种数据库索引优化系统 | |
CN107391502B (zh) | 时间间隔的数据查询方法、装置及索引构建方法、装置 | |
WO2015030767A1 (en) | Queries involving multiple databases and execution engines | |
US9870394B2 (en) | Query routing method, query routing server performing the same and storage medium storing the same | |
CN104331421A (zh) | 一种大数据的高效处理方法及系统 | |
US20150269234A1 (en) | User Defined Functions Including Requests for Analytics by External Analytic Engines | |
CN107291770B (zh) | 一种分布式系统中海量数据的查询方法及装置 | |
US10496645B1 (en) | System and method for analysis of a database proxy | |
CN114356971A (zh) | 数据处理方法、装置以及系统 | |
CN102915344B (zh) | 一种sql语句处理方法及装置 | |
US9971794B2 (en) | Converting data objects from multi- to single-source database environment | |
US20180157651A1 (en) | Auditing Lineage of Consumer Data Through Multiple Phases of Transformation | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN107515916B (zh) | 数据查询的性能优化方法及装置 | |
CN111159213A (zh) | 一种数据查询方法、装置、系统和存储介质 | |
US11487780B2 (en) | Processing data between data stores | |
US10762084B2 (en) | Distribute execution of user-defined function | |
CN104298723A (zh) | 一种网站实现页面静态化的方法 | |
CN103891244B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130911 |
|
RJ01 | Rejection of invention patent application after publication |