CN111930495A - 一种SaaS模式下大数据平台存储隔离和计算隔离方法 - Google Patents
一种SaaS模式下大数据平台存储隔离和计算隔离方法 Download PDFInfo
- Publication number
- CN111930495A CN111930495A CN202010555492.6A CN202010555492A CN111930495A CN 111930495 A CN111930495 A CN 111930495A CN 202010555492 A CN202010555492 A CN 202010555492A CN 111930495 A CN111930495 A CN 111930495A
- Authority
- CN
- China
- Prior art keywords
- isolation
- calculation
- enterprise
- array
- enterprises
- 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
- 238000002955 isolation Methods 0.000 title claims abstract description 51
- 238000004364 calculation method Methods 0.000 title claims abstract description 33
- 238000005192 partition Methods 0.000 claims abstract description 25
- 230000015654 memory Effects 0.000 claims abstract description 19
- 238000000034 method Methods 0.000 claims abstract description 17
- 238000000638 solvent extraction Methods 0.000 claims abstract description 11
- 241001481833 Coryphaena hippurus Species 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 claims description 2
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种SaaS模式下大数据平台存储隔离和计算隔离方法,涉及大数据技术领域。该SaaS模式下大数据平台存储隔离和计算隔离方法,包括以下步骤:S1、存储隔离:通过Hive分区表来实现企业数据的存储隔离,根据企业进行一级分区。S2、计算隔离:通过Yarn的队列实现企业之间的计算隔离,Yarn的每条队列拥有自己的CPU和内存,且互相独立。该SaaS模式下大数据平台存储隔离和计算隔离方法,实现了不同客户企业的数据隔离和计算隔离,并且可以根据企业的重要程度灵活分配不同的计算资源,提升大客户的使用体验,同时在使用上,对重要客户给予比较多的内存和CPU,提升企业的计算性能。
Description
技术领域
本发明涉及大数据技术领域,特别的为一种SaaS模式下大数据平台存储隔离和计算隔离方法。
背景技术
在SaaS模式下,为了运维的方便,节约运维成本,没有采用多租户的形式,而是不同的客户的数据都存放在同一张表里,然后根据标签区分这是哪个企业的数据,如图1所示,ecode这一列表示企业标识,yangchun代表这条数据是yangchun这个企业的,jianhui_test代表这条数据属于jianhui_test的,因此现有技术中,该SaaS模式下的大数据平台在使用上存在以下缺点:1、不同企业的数据放在一张表里,做不到绝对的安全隔离,查询的时候很容易A企业的数据被B企业查到。2、所有企业都共享一组CPU资源和内存资源,无法对企业进行分类管理。3、所有企业都共享一套计算引擎,一旦某个企业出现脏数据,导致计算错误导致计算引擎挂了,那么所有企业的计算都受影响,计算停止。
发明内容
本发明提供的发明目的在于提供一种SaaS模式下大数据平台存储隔离和计算隔离方法,该解决上述背景技术中的问题。
为实现以上目的,本发明通过以下技术方案予以实现:一种SaaS模式下大数据平台存储隔离和计算隔离方法,包括以下步骤:
S1、存储隔离:通过Hive分区表来实现企业数据的存储隔离,根据企业进行一级分区。
S2、计算隔离:通过Yarn的队列实现企业之间的计算隔离,Yarn的每条队列拥有自己的CPU和内存,且互相独立。
进一步的,在S2中的操作步骤中,还包括以下计算隔离实现步骤:
S201、对存在Hive里的原始数据表根据企业和时间进行分区。
S202、Yarn的队列里配置多个资源队列。
S203、DolphinScheduler生成多个调度租户。
S204、生成多个计算引擎。
S205、制作企业计算引擎配置表。
进一步的,在S1中的操作步骤中,所述Hive分区表在hadoop HDFS的存储方式是一个独立的文件夹。
进一步的,在S201中的操作步骤中,所述Hive分区表中的一个分区名对应一个目录,二级分区对应的是二级目录。
进一步的,在S202中的操作步骤中,所述Yarn是一种Hadoop资源管理器。
进一步的,在S203中的操作步骤中,所述调度租户为软件架构模式。
本发明提供了一种SaaS模式下大数据平台存储隔离和计算隔离方法。具备以下有益效果:
该SaaS模式下大数据平台存储隔离和计算隔离方法,实现了不同客户企业的数据隔离和计算隔离,并且可以根据企业的重要程度灵活分配不同的计算资源,提升大客户的使用体验,同时在使用上,对重要客户给予比较多的内存和CPU,提升企业的计算性能。
附图说明
图1为本发明的客户数据表;
图2为本发明的企业分区表;
图3为本发明的总流程图;
图4为本发明的计算隔离流程图。
具体实施方式
实施例1:参照图2-4:本发明提供一种SaaS模式下大数据平台存储隔离和计算隔离方法,包括以下步骤:
步骤一:存储隔离的实现方法,通过Hive分区表来实现企业数据的存储隔离,根据企业进行一级分区,根据Hive分区所说,Hive的一个分区在hadoop HDFS的存储方式是一个独立的文件夹,一个企业全部存放在一个独立一个文件夹,数据就存储隔离了,通过文件夹做隔离,有效得解决了不同企业数据杂糅在一起的问题,如图2所示,企业甲是企业的一级目录,企业甲2020年6月1日的数据是企业甲这个一级目录里面的二级目录,把这个企业的数据进行按天分类存放。
步骤二:计算隔离的实现方法,通过Yarn的队列实现企业之间的计算隔离。Yarn的每条队列拥有自己的CPU和内存,且互相独立。在实践中,我们可以为优质客户一个企业单独使用一条队列,也可以让几个级别不是很高的客户共享一条队列,这样优质客户的资源你可以得到保障,不会被小客户所争抢。
举例如下:
队列A:50%CPU 50%内存;
队列B:30%CPU 30%内存;
队列C:20%CPU 20%内存。
队列A和队列B同时需要用到资源时,A队列只能使用分配给A队列的资源,B队列只能使用B队列的资源。此时如果队列A很忙,资源不够用,也不会影响队列B的性能。同时计算隔离的实现包括以下步骤:
1)、对存在Hive里的原始数据表根据企业和时间(按日)进行分区,其中企业是一级分区,时间(按日)是二级分区。作用:Hive的一个分区名对应一个目录,二级分区对应的是二级目录。这样分区的好处数据存储到Hadoop的HDFS不再是所有企业的数据混合在一张表中,而是不同企业的数据存放在单独的目录中。如图2所示,甲乙丙丁的数据都是存放在各组单独的目录,每个企业里还有二级目录分别存放2020年6月1日、2020年6月2日、2020年6月3日这三天的数据,其在使用上,这样分区的好处在于数据会存储到Hadoop的HDFS不再是所有企业的数据混合在一张表中,而是不同企业的数据存放在单独的目录中,实现了不同客户企业的数据隔离和计算隔离,并且可以根据企业的重要程度灵活分配不同的计算资源,提升大客户的使用体验,同时在使用上,对重要客户给予比较多的内存和CPU,提升企业的计算性能。
2)、Yarn里配置多个资源队列。举例如下:
队列A:50%CPU 50%内存;
队列B:30%CPU 30%内存;
队列C:20%CPU 20%内存。
3)、DolphinScheduler生成多个调度租户。举例如下:
租户AAA,租户BBB,租户CCC。
4)、生成多个计算引擎实例,实例中可以配置改计算引擎实例用了的是yarn那个队列的资源,以及被哪些企业使用。企业可以是一个,也可以是多个。举例如下:
计算引擎AA使用Yarn队列A的资源,使用DolphinScheduler租户AAA调度,被企业甲使用;
计算引擎BB使用Yarn队列B的资源,使用DolphinScheduler租户BBB调度,被企业乙使用;
计算引擎CC使用Yarn队列C的资源,使用DolphinScheduler租户CCC调度,被企业丙和企业丁共享使用。
5)、企业计算引擎配置表,在3)中列举的,计算引擎AA使用Yarn队列A的资源,使用DolphinScheduler租户AAA调度这个是可以固定的,很少做调整,但是企业不一样,比如计算引擎AA被企业甲使用,计算引擎AA的计算资源很丰富,占了50%的CPU资源和内存资源,说明企业甲是大客户。但是,随着时间的推移,有可能风水轮流转,企业丁成长为大客户,而企业甲降级了,这个时候企业甲要调到计算引擎CC,企业丁要调到计算引擎AA。为了实现这种灵活配置,设计了企业引擎配置表,如下表所示:
企业 | 计算引擎 |
企业甲 | AA |
企业乙 | BB |
企业丙 | CC |
企业丁 | CC |
如果企业甲要调到计算引擎CC,企业丁要调到计算引擎AA,只需要修改配置成下表:
企业 | 计算引擎 |
企业甲 | CC |
企业乙 | BB |
企业丙 | CC |
企业丁 | AA |
当然,调度租户和计算引擎的数量都可以随着企业数量的增加而增加的。例如这时候来了企业戊,我们可以根据企业的重要程度放到不同的计算引擎,如果企业不是大客户,那么就挂在计算引擎CC,如下表:
如果企业企业戊上个非常重要的客户,我们也可以根据开一个新的计算引擎DD,然后根据企业的重要程度给他配置资源,如下表:
企业 | 计算引擎 |
企业甲 | CC |
企业乙 | BB |
企业丙 | CC |
企业丁 | AA |
企业戊 | DD |
这样就实现了企业资源的灵活配置。
在步骤一和步骤二中:SaaS服务通常基于一套标准软件系统为成百上千的不同客户(又称为租户)提供服务。这要求SaaS服务能够支持不同租户之间数据和配置的隔离,从而保证每个租户数据的安全与隐私,以及用户对诸如界面、业务逻辑、数据结构等的个性化需求。由于SaaS同时支持多个租户,每个租户又有很多用户,这对支撑软件的基础设施平台的性能、稳定性和扩展性提出很大挑战。SaaS作为一种基于互联网的软件交付模式,优化软件大规模应用后的性能和运营成本是架构师的核心任务。hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。Hive分区的概念与传统关系型数据库分区不同。传统数据库的分区方式:就oracle而言,分区独立存在于段里,里面存储真实的数据,在数据进行插入的时候自动分配分区。Hive的分区方式:由于Hive实际是存储在HDFS上的抽象,Hive的一个分区名对应一个目录名,子分区名就是子目录名,并不是一个实际字段。按照数据表的某列或某些列分为多个区,区从形式上是文件夹(HDFS里的文件夹)。Apache Hadoop YARN(Yet Another ResourceNegotiator,另一种资源协调者)是一种Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。Yarn是以队列为单元来进行资源隔离。比如队列A分配了集群70%的CPU和内存,队列B分配了集群30%的CPU和内存。当我们分配队列A给客户甲,队列B给客户乙。此时,客户甲能享受集群70%的CPU和内存,客户乙只能享受集群30%的CPU和内存,客户甲的运算能力大大超过客户乙。Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。支持暂停恢复操作,支持多租户,更好的应对大数据的使用场景,支持更多的任务类型,如spark,hive,mr,python,sub_process,shell。多租户技术或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。
以上的仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (6)
1.一种SaaS模式下大数据平台存储隔离和计算隔离方法,其特征在于,包括以下步骤:
S1、存储隔离:通过Hive分区表来实现企业数据的存储隔离,根据企业进行一级分区;
S2、计算隔离:通过Yarn的队列实现企业之间的计算隔离,Yarn的每条队列拥有自己的CPU和内存,且互相独立。
2.根据权利要求1所述的一种SaaS模式下大数据平台存储隔离和计算隔离方法,其特征在于,在S2中的操作步骤中,还包括以下计算隔离实现步骤:
S201、对存在Hive里的原始数据表根据企业和时间进行分区;
S202、Yarn的队列里配置多个资源队列;
S203、DolphinScheduler生成多个调度租户;
S204、生成多个计算引擎;
S205、制作企业计算引擎配置表。
3.根据权利要求1所述的一种SaaS模式下大数据平台存储隔离和计算隔离方法,其特征在于,在S1中的操作步骤中,所述Hive分区表在hadoop HDFS的存储方式是一个独立的文件夹。
4.根据权利要求2所述的一种SaaS模式下大数据平台存储隔离和计算隔离方法,其特征在于,在S201中的操作步骤中,所述Hive分区表中的一个分区名对应一个目录,二级分区对应的是二级目录。
5.根据权利要求2所述的一种SaaS模式下大数据平台存储隔离和计算隔离方法,其特征在于,在S202中的操作步骤中,所述Yarn是一种Hadoop资源管理器。
6.根据权利要求2所述的一种SaaS模式下大数据平台存储隔离和计算隔离方法,其特征在于,在S203中的操作步骤中,所述调度租户为软件架构模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010555492.6A CN111930495A (zh) | 2020-06-17 | 2020-06-17 | 一种SaaS模式下大数据平台存储隔离和计算隔离方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010555492.6A CN111930495A (zh) | 2020-06-17 | 2020-06-17 | 一种SaaS模式下大数据平台存储隔离和计算隔离方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111930495A true CN111930495A (zh) | 2020-11-13 |
Family
ID=73317561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010555492.6A Pending CN111930495A (zh) | 2020-06-17 | 2020-06-17 | 一种SaaS模式下大数据平台存储隔离和计算隔离方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930495A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254969A (zh) * | 2021-06-08 | 2021-08-13 | 挂号网(杭州)科技有限公司 | 业务数据处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104767795A (zh) * | 2015-03-17 | 2015-07-08 | 浪潮通信信息系统有限公司 | 一种基于hadoop的lte mro数据统计方法及系统 |
US20170139816A1 (en) * | 2015-11-17 | 2017-05-18 | Alexey Sapozhnikov | Computerized method and end-to-end "pilot as a service" system for controlling start-up/enterprise interactions |
CN110162556A (zh) * | 2018-02-11 | 2019-08-23 | 陕西爱尚物联科技有限公司 | 一种有效发挥数据价值的方法 |
CN111178782A (zh) * | 2020-01-03 | 2020-05-19 | 广州博依特智能信息科技有限公司 | 一种流程工业数据化运营平台的微服务架构 |
CN111274223A (zh) * | 2020-01-22 | 2020-06-12 | 清华大学 | 一种一键部署大数据和深度学习容器云平台及其构建方法 |
-
2020
- 2020-06-17 CN CN202010555492.6A patent/CN111930495A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104767795A (zh) * | 2015-03-17 | 2015-07-08 | 浪潮通信信息系统有限公司 | 一种基于hadoop的lte mro数据统计方法及系统 |
US20170139816A1 (en) * | 2015-11-17 | 2017-05-18 | Alexey Sapozhnikov | Computerized method and end-to-end "pilot as a service" system for controlling start-up/enterprise interactions |
CN110162556A (zh) * | 2018-02-11 | 2019-08-23 | 陕西爱尚物联科技有限公司 | 一种有效发挥数据价值的方法 |
CN111178782A (zh) * | 2020-01-03 | 2020-05-19 | 广州博依特智能信息科技有限公司 | 一种流程工业数据化运营平台的微服务架构 |
CN111274223A (zh) * | 2020-01-22 | 2020-06-12 | 清华大学 | 一种一键部署大数据和深度学习容器云平台及其构建方法 |
Non-Patent Citations (1)
Title |
---|
王知无-IMPORT: "Yarn调度队列", pages 1 - 8, Retrieved from the Internet <URL:https://cloud.tencent.com/developer/article/1557234> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254969A (zh) * | 2021-06-08 | 2021-08-13 | 挂号网(杭州)科技有限公司 | 业务数据处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3314477B1 (en) | Systems and methods for parallelizing hash-based operators in smp databases | |
CN107066319B (zh) | 一种面向异构资源的多维调度系统 | |
US8112659B2 (en) | Reducing recovery time for business organizations in case of disasters | |
US9141430B2 (en) | Scheduling mapreduce job sets | |
US9576000B2 (en) | Adaptive fragment assignment for processing file data in a database | |
US20100030995A1 (en) | Method and apparatus for applying database partitioning in a multi-tenancy scenario | |
US20150193243A1 (en) | System and method for extracting data from legacy data systems to big data platforms | |
CN113190529B (zh) | 一种适用MongoDB数据库的多租户数据共享存储系统 | |
CN104391918B (zh) | 基于对等部署的分布式数据库查询优先级管理的实现方法 | |
CN107682206B (zh) | 基于微服务的业务流程管理系统的部署方法及系统 | |
US9336270B2 (en) | Techniques for accessing a parallel database system via external programs using vertical and/or horizontal partitioning | |
CN107659450B (zh) | 大数据集群资源的分配方法、分配装置及存储介质 | |
CN103023805A (zh) | 一种MapReduce系统 | |
US20160004563A1 (en) | Managing nodes in a high-performance computing system using a node registrar | |
WO2016074130A1 (zh) | 一种系统调用命令的批处理方法及装置 | |
CN112698943A (zh) | 资源分配方法、装置、计算机设备以及存储介质 | |
CN109067903B (zh) | 一种云平台级联系统 | |
Zhang et al. | Oceanrt: Real-time analytics over large temporal data | |
CN110581893A (zh) | 数据传输方法、装置、路由设备、服务器及存储介质 | |
CN105607956A (zh) | 一种计算机中的任务分配方法及系统 | |
CN111930495A (zh) | 一种SaaS模式下大数据平台存储隔离和计算隔离方法 | |
CN102761617B (zh) | 一种工作流队列服务器、工作流调度系统及其方法 | |
US11748714B1 (en) | Efficient meeting room reservation and scheduling | |
US11488115B1 (en) | Efficient meeting room reservation and scheduling | |
CN109753245B (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 |