CN105488079A - 处理多租户数据的方法 - Google Patents
处理多租户数据的方法 Download PDFInfo
- Publication number
- CN105488079A CN105488079A CN201410532636.0A CN201410532636A CN105488079A CN 105488079 A CN105488079 A CN 105488079A CN 201410532636 A CN201410532636 A CN 201410532636A CN 105488079 A CN105488079 A CN 105488079A
- Authority
- CN
- China
- Prior art keywords
- data
- relation
- data sharing
- liveness
- data group
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种处理多租户数据的方法,该方法包括以下步骤:监测各数据共享表是否达到预设容量阈值;如果是,则将关系数据组迁至其他数据共享表并更新关系映射表;其中,所述关系映射表,指反映数据共享表中关系数据组数据对应含义的列表。本发明的有益效果是:通过设定阈值,监测每个数据共享表的数据容量,再通过迁移关系数据组数据,使得每个数据共享表的数据量保持在优化的状态,大大提高了数据存储效率。
Description
技术领域
本发明涉及数据处理领域,特别涉及处理多租户数据的方法。
背景技术
多租户技术(multi-tenancytechnology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的***或程序组件,并且仍可确保各用户间数据的隔离性。
多租户技术在数据存储方面有三种主要方案:独立数据库,共享数据库共享表,共享数据库单独表。其中,共享数据库共享表模式,即多个用户共享一个数据库,多个用户共享一个表。这种数据存储模式使得维护和购置成本低,允许每个数据库支持的租户数量多,由于仅有一个表,因此易于进行跨租户的管理操作;然而,随着用户数据量增加到一个很大的数量,特别是多个表单或多个应用存储在一个表的情况,就会出现存储越来越慢,影响数据处理的效率。
发明内容
为解决上述技术问题,本发明采用如下技术方案:一种处理多租户数据的方法,多租户数据存于数据共享表中,包括:
监测各数据共享表是否达到预设容量阈值;
如果是,则将关系数据组迁至其他数据共享表并更新关系映射表;
其中,所述关系映射表,指反映数据共享表中关系数据组数据对应含义的列表。
第一种可能的实现方式中,所述关系数据组为数据共享表中数据容量最大的关系数据组。
优选的,第一种可能的实现方式中第一实现方法,所述将数据容量最大的关系数据组迁至其他数据共享表并更新关系映射表包括:
比较数据容量最大的关系数据组是否小于其他的数据共享表余量;
如果是,则将容量最大的关系数据组迁至其中一数据共享表并更新关系映射表;
如果否,则将容量最大的关系数据组迁至新建的数据共享表中并更新关系映射表;
所述数据共享表余量,指预设容量阈值与数据共享表已有数据容量的差额。
优选的,第一种可能的实现方式中第二实现方法,所述将数据容量最大的关系数据组迁至其他数据共享表并更新关系映射表包括:
将数据容量最大的关系数据组迁至新建的数据共享表中并更新关系映射表。
第二种可能的实现方式中,所述关系数据组为数据共享表中活跃度最高的关系数据组;其中,所述活跃度,指关系数据组一定时期的数据增长率。
优选的,第二种可能的实现方式中第一实现方法,所述将活跃度最高的关系数据组迁至其他数据共享表并更新关系映射表包括:
比较活跃度最高的关系数据组数据容量是否小于其他的数据共享表余量;
如果是,则将活跃度最高的关系数据组迁至其中一数据共享表并更新关系映射表;
如果否,则将活跃度最高的关系数据组迁至新建的数据共享表中并更新关系映射表;
所述数据共享表余量,指预设容量阈值与数据共享表已有数据容量的差额。
优选的,第二种可能的实现方式中第二实现方法,所述将活跃度最高的关系数据组迁至其他数据共享表并更新关系映射表包括:
将活跃度最高的关系数据组迁至新建的数据共享表中并更新关系映射表。
第三种可能的实现方式中,所述关系数据组为数据共享表中活跃度最低的关系数据组;所述活跃度,是指关系数据组一定时期的数据增长率。
优选的,第三种可能的实现方式中第一实现方法,所述将活跃度最低的关系数据组迁至其他数据共享表并更新关系映射表包括:
比较活跃度最低的关系数据组数据容量是否小于其他的数据共享表余量;
如果是,则将活跃度最低的关系数据组迁至其中一数据共享表并更新关系映射表;
如果否,则将活跃度最低的关系数据组迁至新建的数据共享表中并更新关系映射表;
所述数据共享表余量,指预设容量阈值与数据共享表已有数据容量的差额。
优选的,第三种可能的实现方式中第二实现方法,所述将活跃度最低的关系数据组迁至其他数据共享表并更新关系映射表包括:
将活跃度最低的关系数据组迁至新建的数据共享表中并更新关系映射表。
优选的,所述容量为数据笔数。
优选的,所述容量为数据量大小。
本发明的有益效果是:通过设定阈值,监测每个数据共享表的数据容量,再通过迁移关系数据组数据,使得每个数据共享表的数据量保持在优化的状态,大大提高了数据存储效率。特别是对于自定义表单或应用的情况,无法预测每个数据共享表可以放多少个表单或应用内容以及表单或应用的数据量或活跃度,该数据处理方法存储效率优于普通的数据表存储。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的处理多租户数据的方法第一实施例的流程图;
图2为本发明所提供的处理多租户数据的方法第二实施例的流程图;
图3为本发明所提供的处理多租户数据的方法第三实施例的流程图;
图4为本发明所提供的处理多租户数据的方法第四实施例的流程图;
图5为本发明所提供的处理多租户数据的方法第五实施例的流程图;
图6为本发明所提供的处理多租户数据的方法第六实施例的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1为本发明所提供的处理多租户数据的方法第一实施例的流程图。如图1所示,该方法主要有以下步骤:
步骤101,监测各数据共享表是否达到预设笔数阈值。
其中,笔数阈值是指数据共享表在达到该值后数据仍然可以正常存取,但是存取效率开始变差。不同数据库表的特性不同,同时考虑到配套硬件设施的承载能力,笔数阈值设置会存在差异。
根据数据库共享表的特点,定期对共享表进行监测,例如每隔几个小时监测一次,或者每天凌晨的某个时间,或者每隔几天等,以尽量不影响用户数据操作为前提。
如果监测到某数据共享表未达到预设的笔数阈值,则等待下一轮监测;
如果监测到某数据共享表达到预设的笔数阈值,则执行步骤102。
步骤102,数据笔数最多的关系数据组是否小于其他的数据共享表余量。
所述关系数据组为单个表单或应用数据记录在数据共享表中的集合,多个表单或应用的数据可能存储在同一数据共享表中,故有多个关系数据组。
所述数据共享表余量,指预设笔数阈值与数据共享表已有数据笔数的差额。
如果数据笔数最多的关系数据组小于数据库其中某一数据共享表余量,则执行步骤103;
如果数据笔数最多的关系数据组不小于数据库中任一数据共享表余量,则执行步骤104。
步骤103,将数据笔数最多的关系数据组迁至其中一数据共享表并更新关系映射表。
所述关系映射表,指反映数据共享表中关系数据组数据对应含义的列表。关系数据组数据迁移,表单或应用与数据共享表之间的对应关系发生变化需要同时更新关系映射表。
数据笔数最多的关系数据组可能小于多个数据共享表余量,此种情形下,可随机迁至其中一数据共享表,也可设定相应的迁移规则,例如优先迁至余量最大的共享表。
步骤104,将数据笔数最多的关系数据组迁至新建的数据共享表中并更新关系映射表。
图2为本发明所提供的处理多租户数据的方法第二实施例的流程图,如图2所示,第二实施例与第一实施例的不同之处在于,第二实施例中不再判断数据笔数最多的关系数据组是否小于其他的数据共享表余量,而是直接将数据笔数最多的关系数据组迁至新建的数据共享表并更新关系映射表。
其中,第一实施例和第二实施例中监测各数据共享表是否达到预设笔数阈值,也可以采用监测各数据共享表是否达到预设数据量阈值,然后在接下来的步骤中有关数据笔数的操作替换为有关数据量的操作,由此衍生出两个新的实施例。
图3为本发明所提供的处理多租户数据的方法第三实施例的流程图,如图3所示,该方法主要有以下步骤:
步骤301,监测各数据共享表是否达到预设笔数阈值。
其中,笔数阈值是指数据共享表在达到该值后数据仍然可以正常存取,但是存取效率开始变差。不同数据库表的特性不同,同时考虑到配套硬件设施的承载能力,笔数阈值设置会存在差异。
根据数据库共享表的特点,定期对共享表进行监测,例如每隔几个小时监测一次,或者每天凌晨的某个时间,或者每隔几天等,以尽量不影响用户数据操作为前提。
如果监测到某数据共享表未达到预设的笔数阈值,则等待下一轮监测;
如果监测到某数据共享表达到预设的笔数阈值,则执行步骤302。
步骤302,活跃度最高的关系数据组数据笔数是否小于其他的数据共享表余量。
所述活跃度,指关系数据组一定时期的数据增长率。增长率最高的关系数据组为活跃度最高的关系数据组。
所述关系数据组为单个表单或应用数据记录在数据共享表中的集合,多个表单或应用的数据可能存储在同一数据共享表中,故有多个关系数据组。
所述数据共享表余量,指预设笔数阈值与数据共享表已有数据笔数的差额。
如果活跃度最高的关系数据组数据笔数小于数据库其中某一数据共享表余量,则执行步骤303;
如果活跃度最高的关系数据组数据笔数不小于数据库中任一数据共享表余量,则执行步骤304。
步骤303,将活跃度最高的关系数据组迁至其中一数据共享表并更新关系映射表。
所述关系映射表,指反映数据共享表中关系数据组数据对应含义的列表。关系数据组数据迁移,表单或应用与数据共享表之间的对应关系发生变化需要同时更新关系映射表。
活跃度最高的关系数据组数据笔数可能小于多个数据共享表余量,此种情形下,可随机迁至其中一数据共享表,也可设定相应的迁移规则。
步骤304,将活跃度最高的关系数据组迁至新建的数据共享表中并更新关系映射表。
图4为本发明所提供的处理多租户数据的方法第四实施例的流程图,如图4所示,第四实施例与第三实施例的不同之处在于,第四实施例中不再判断活跃度最高的关系数据组数据笔数是否小于其他的数据共享表余量,而是直接将活跃度最高的关系数据组迁至新建的数据共享表并更新关系映射表。
其中,第三实施例和第四实施例中监测各数据共享表是否达到预设笔数阈值,也可以采用监测各数据共享表是否达到预设数据量阈值,然后在接下来的步骤中有关数据笔数的操作替换为有关数据量的操作,由此衍生出两个新的实施例。
图5为本发明所提供的处理多租户数据的方法第五实施例的流程图,如图5所示,该方法主要有以下步骤:
步骤501,监测各数据共享表是否达到预设笔数阈值。
其中,笔数阈值是指数据共享表在达到该值后数据仍然可以正常存取,但是存取效率开始变差。不同数据库表的特性不同,同时考虑到配套硬件设施的承载能力,笔数阈值设置会存在差异。
根据数据库共享表的特点,定期对共享表进行监测,例如每隔几个小时监测一次,或者每天凌晨的某个时间,或者每隔几天等,以尽量不影响用户数据操作为前提。
如果监测到某数据共享表未达到预设的笔数阈值,则等待下一轮监测;
如果监测到某数据共享表达到预设的笔数阈值,则执行步骤502。
步骤502,活跃度最低的关系数据组数据笔数是否小于其他的数据共享表余量。
所述活跃度,指关系数据组一定时期的数据增长率。增长率最低的关系数据组为活跃度最低的关系数据组。
所述关系数据组为单个表单或应用数据记录在数据共享表中的集合,多个表单或应用的数据可能存储在同一数据共享表中,故有多个关系数据组。
所述数据共享表余量,指预设笔数阈值与数据共享表已有数据笔数的差额。
如果活跃度最低的关系数据组数据笔数小于数据库其中某一数据共享表余量,则执行步骤503;
如果活跃度最低的关系数据组数据笔数不小于数据库中任一数据共享表余量,则执行步骤504。
步骤503,将活跃度最低的关系数据组迁至其中一数据共享表并更新关系映射表。
所述关系映射表,指反映数据共享表中关系数据组数据对应含义的列表。关系数据组数据迁移,表单或应用与数据共享表之间的对应关系发生变化需要同时更新关系映射表。
活跃度最低的关系数据组数据笔数可能小于多个数据共享表余量,此种情形下,可随机迁至其中一数据共享表,也可设定相应的迁移规则。
步骤504,将活跃度最低的关系数据组迁至新建的数据共享表中并更新关系映射表。
图6为本发明所提供的处理多租户数据的方法第六实施例的流程图,如图6所示,第六实施例与第五实施例的不同之处在于,第六实施例中不再判断活跃度最低的关系数据组数据笔数是否小于其他的数据共享表余量,而是直接将活跃度最低的关系数据组迁至新建的数据共享表并更新关系映射表。
其中,第五实施例和第六实施例中监测各数据共享表是否达到预设笔数阈值,也可以采用监测各数据共享表是否达到预设数据量阈值,然后在接下来的步骤中有关数据笔数的操作替换为有关数据量的操作,由此衍生出两个新的实施例。
在以上实施例中,对数据共享表的监测是一个持续的过程,即使有多个关系数据组迁出或者凭经验判断数据短时间内可能达不到阈值,仍要在下个预定的时间执行监测的步骤。
以上所述是对本发明的较佳的具体实施方式,本技术领域人员应当理解,所述实施方式并非限定本发明的保护范围。在不脱离本发明的精神实质和原则下,在细节方面可以进行变化或者修改,均应涵盖在本发明的权利要求范围之内。
Claims (12)
1.一种处理多租户数据的方法,多租户数据存于数据共享表中,其特征在于,包括:
监测各数据共享表是否达到预设容量阈值;
如果是,则将关系数据组迁至其他数据共享表并更新关系映射表;
其中,所述关系映射表,指反映数据共享表中关系数据组数据对应含义的列表。
2.如权利要求1所述的处理多租户数据的方法,其特征在于,所述关系数据组为数据共享表中数据容量最大的关系数据组。
3.如权利要求2所述的处理多租户数据的方法,其特征在于,所述将数据容量最大的关系数据组迁至其他数据共享表并更新关系映射表包括:
比较数据容量最大的关系数据组是否小于其他的数据共享表余量;
如果是,则将容量最大的关系数据组迁至其中一数据共享表并更新关系映射表;
如果否,则将容量最大的关系数据组迁至新建的数据共享表中并更新关系映射表;
所述数据共享表余量,指预设容量阈值与数据共享表已有数据容量的差额。
4.如权利要求2所述的处理多租户数据的方法,其特征在于,所述将数据容量最大的关系数据组迁至其他数据共享表并更新关系映射表包括:
将数据容量最大的关系数据组迁至新建的数据共享表中并更新关系映射表。
5.如权利要求1所述的处理多租户数据的方法,其特征在于,所述关系数据组为数据共享表中活跃度最高的关系数据组;
其中,所述活跃度,指关系数据组一定时期的数据增长率。
6.如权利要求5所述的处理多租户数据的方法,其特征在于,所述将活跃度最高的关系数据组迁至其他数据共享表并更新关系映射表包括:
比较活跃度最高的关系数据组数据容量是否小于其他的数据共享表余量;
如果是,则将活跃度最高的关系数据组迁至其中一数据共享表并更新关系映射表;
如果否,则将活跃度最高的关系数据组迁至新建的数据共享表中并更新关系映射表;
所述数据共享表余量,指预设容量阈值与数据共享表已有数据容量的差额。
7.如权利要求5所述的处理多租户数据的方法,其特征在于,所述将活跃度最高的关系数据组迁至其他数据共享表并更新关系映射表包括:
将活跃度最高的关系数据组迁至新建的数据共享表中并更新关系映射表。
8.如权利要求1所述的处理多租户数据的方法,其特征在于,所述关系数据组为数据共享表中活跃度最低的关系数据组;
所述活跃度,是指关系数据组一定时期的数据增长率。
9.如权利要求8所述的处理多租户数据的方法,其特征在于,所述将活跃度最低的关系数据组迁至其他数据共享表并更新关系映射表包括:
比较活跃度最低的关系数据组数据容量是否小于其他的数据共享表余量;
如果是,则将活跃度最低的关系数据组迁至其中一数据共享表并更新关系映射表;
如果否,则将活跃度最低的关系数据组迁至新建的数据共享表中并更新关系映射表;
所述数据共享表余量,指预设容量阈值与数据共享表已有数据容量的差额。
10.如权利要求8所述的处理多租户数据的方法,其特征在于,所述将活跃度最低的关系数据组迁至其他数据共享表并更新关系映射表包括:
将活跃度最低的关系数据组迁至新建的数据共享表中并更新关系映射表。
11.如权利要求1~10任一项所述的处理多租户数据的方法,其特征在于,所述容量为数据笔数。
12.如权利要求1~10任一项所述的处理多租户数据的方法,其特征在于,所述容量为数据量大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410532636.0A CN105488079A (zh) | 2014-10-11 | 2014-10-11 | 处理多租户数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410532636.0A CN105488079A (zh) | 2014-10-11 | 2014-10-11 | 处理多租户数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105488079A true CN105488079A (zh) | 2016-04-13 |
Family
ID=55675057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410532636.0A Pending CN105488079A (zh) | 2014-10-11 | 2014-10-11 | 处理多租户数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105488079A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287169A (zh) * | 2019-06-28 | 2019-09-27 | 四川长虹电器股份有限公司 | 一种云应用之间的主数据迁移方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030192028A1 (en) * | 2002-04-04 | 2003-10-09 | International Business Machines Corporation | System and method for determining software object migration sequences |
CN101710339A (zh) * | 2009-11-20 | 2010-05-19 | 中国科学院计算技术研究所 | 控制机群文件***中数据存储方法和***及创建文件方法 |
CN103455512A (zh) * | 2012-05-31 | 2013-12-18 | 上海博腾信息科技有限公司 | Saas平台多租户数据管理模型 |
CN103593347A (zh) * | 2012-08-14 | 2014-02-19 | 中兴通讯股份有限公司 | 一种均衡负载的方法及分布式数据库*** |
-
2014
- 2014-10-11 CN CN201410532636.0A patent/CN105488079A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030192028A1 (en) * | 2002-04-04 | 2003-10-09 | International Business Machines Corporation | System and method for determining software object migration sequences |
CN101710339A (zh) * | 2009-11-20 | 2010-05-19 | 中国科学院计算技术研究所 | 控制机群文件***中数据存储方法和***及创建文件方法 |
CN103455512A (zh) * | 2012-05-31 | 2013-12-18 | 上海博腾信息科技有限公司 | Saas平台多租户数据管理模型 |
CN103593347A (zh) * | 2012-08-14 | 2014-02-19 | 中兴通讯股份有限公司 | 一种均衡负载的方法及分布式数据库*** |
Non-Patent Citations (1)
Title |
---|
孔兰菊: "SaaS应用交付平台中多租户云数据管理关键技术研究", 《中国博士学位论文全文数据库信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287169A (zh) * | 2019-06-28 | 2019-09-27 | 四川长虹电器股份有限公司 | 一种云应用之间的主数据迁移方法 |
CN110287169B (zh) * | 2019-06-28 | 2022-02-01 | 四川长虹电器股份有限公司 | 一种云应用之间的主数据迁移方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bugiotti et al. | Database design for NoSQL systems | |
US10048865B2 (en) | Disk partition stitching and rebalancing using a partition table | |
CN103634379B (zh) | 一种分布式存储空间的管理方法和分布式存储*** | |
US20160188227A1 (en) | Method and apparatus for writing data into solid state disk | |
CN103455512A (zh) | Saas平台多租户数据管理模型 | |
US8996677B2 (en) | Information processing system and processing method arrangements providing load distribution and leveling on data collection units | |
CN102662740B (zh) | 非对称多核***及其实现方法 | |
CN104168326B (zh) | 一种服务器均衡负载的方法及*** | |
CN104298761B (zh) | 一种异构软件***间主数据匹配的实现方法 | |
CN103327094A (zh) | 数据分布式存储方法与*** | |
CN104239417A (zh) | 一种分布式数据库数据分片后动态调整方法及装置 | |
CN102855173B (zh) | 一种软件性能测试方法和装置 | |
CN106991190A (zh) | 一种数据库自动创建子数据库*** | |
CN104503966B (zh) | PostgreSQL大数据高效免维护自动分区方法 | |
CN107193494A (zh) | 一种基于ssd和hdd混合存储***的rdd持久化方法 | |
CN104158902B (zh) | 一种基于请求数的Hbase数据块分配方法及装置 | |
CN102982186A (zh) | 基于oracle数据库***的range分区表的维护方法和*** | |
CN103793382A (zh) | 一种数据库的数据处理方法及*** | |
CN105488079A (zh) | 处理多租户数据的方法 | |
CN104376047B (zh) | 一种基于HBase的大表join方法 | |
CN106445651A (zh) | 执行任务的方法及*** | |
CN112416520B (zh) | 一种基于vSphere的智能资源调度方法 | |
CN110018794A (zh) | 一种垃圾回收方法、装置、存储***及可读存储介质 | |
CN103810258A (zh) | 基于数据仓库的数据汇聚调度方法 | |
CN105045879B (zh) | 一种数据并行处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |
Application publication date: 20160413 |
|
RJ01 | Rejection of invention patent application after publication |