处理多租户数据的方法

文档序号:9727356阅读:617来源:国知局
处理多租户数据的方法
【技术领域】
[0001]本发明涉及数据处理领域,特别涉及处理多租户数据的方法。
【背景技术】
[0002]多租户技术(mult1-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。
[0003]多租户技术在数据存储方面有三种主要方案:独立数据库,共享数据库共享表,共享数据库单独表。其中,共享数据库共享表模式,即多个用户共享一个数据库,多个用户共享一个表。这种数据存储模式使得维护和购置成本低,允许每个数据库支持的租户数量多,由于仅有一个表,因此易于进行跨租户的管理操作;然而,随着用户数据量增加到一个很大的数量,特别是多个表单或多个应用存储在一个表的情况,就会出现存储越来越慢,影响数据处理的效率。

【发明内容】

[0004]为解决上述技术问题,本发明采用如下技术方案:一种处理多租户数据的方法,多租户数据存于数据共享表中,包括:
[0005]监测各数据共享表是否达到预设容量阈值;
[0006]如果是,则将关系数据组迁至其他数据共享表并更新关系映射表;
[0007]其中,所述关系映射表,指反映数据共享表中关系数据组数据对应含义的列表。
[0008]第一种可能的实现方式中,所述关系数据组为数据共享表中数据容量最大的关系数据组。
[0009]优选的,第一种可能的实现方式中第一实现方法,所述将数据容量最大的关系数据组迁至其他数据共享表并更新关系映射表包括:
[0010]比较数据容量最大的关系数据组是否小于其他的数据共享表余量;
[0011]如果是,则将容量最大的关系数据组迁至其中一数据共享表并更新关系映射表;
[0012]如果否,则将容量最大的关系数据组迁至新建的数据共享表中并更新关系映射表;
[0013]所述数据共享表余量,指预设容量阈值与数据共享表已有数据容量的差额。
[0014]优选的,第一种可能的实现方式中第二实现方法,所述将数据容量最大的关系数据组迁至其他数据共享表并更新关系映射表包括:
[0015]将数据容量最大的关系数据组迁至新建的数据共享表中并更新关系映射表。
[0016]第二种可能的实现方式中,所述关系数据组为数据共享表中活跃度最高的关系数据组;其中,所述活跃度,指关系数据组一定时期的数据增长率。
[0017]优选的,第二种可能的实现方式中第一实现方法,所述将活跃度最高的关系数据组迁至其他数据共享表并更新关系映射表包括:
[0018]比较活跃度最高的关系数据组数据容量是否小于其他的数据共享表余量;
[0019]如果是,则将活跃度最高的关系数据组迁至其中一数据共享表并更新关系映射表;
[0020]如果否,则将活跃度最高的关系数据组迁至新建的数据共享表中并更新关系映射表;
[0021]所述数据共享表余量,指预设容量阈值与数据共享表已有数据容量的差额。
[0022]优选的,第二种可能的实现方式中第二实现方法,所述将活跃度最高的关系数据组迁至其他数据共享表并更新关系映射表包括:
[0023]将活跃度最高的关系数据组迁至新建的数据共享表中并更新关系映射表。
[0024]第三种可能的实现方式中,所述关系数据组为数据共享表中活跃度最低的关系数据组;所述活跃度,是指关系数据组一定时期的数据增长率。
[0025]优选的,第三种可能的实现方式中第一实现方法,所述将活跃度最低的关系数据组迁至其他数据共享表并更新关系映射表包括:
[0026]比较活跃度最低的关系数据组数据容量是否小于其他的数据共享表余量;
[0027]如果是,则将活跃度最低的关系数据组迁至其中一数据共享表并更新关系映射表;
[0028]如果否,则将活跃度最低的关系数据组迁至新建的数据共享表中并更新关系映射表;
[0029]所述数据共享表余量,指预设容量阈值与数据共享表已有数据容量的差额。
[0030]优选的,第三种可能的实现方式中第二实现方法,所述将活跃度最低的关系数据组迁至其他数据共享表并更新关系映射表包括:
[0031]将活跃度最低的关系数据组迁至新建的数据共享表中并更新关系映射表。
[0032]优选的,所述容量为数据笔数。
[0033]优选的,所述容量为数据量大小。
[0034]本发明的有益效果是:通过设定阈值,监测每个数据共享表的数据容量,再通过迁移关系数据组数据,使得每个数据共享表的数据量保持在优化的状态,大大提高了数据存储效率。特别是对于自定义表单或应用的情况,无法预测每个数据共享表可以放多少个表单或应用内容以及表单或应用的数据量或活跃度,该数据处理方法存储效率优于普通的数据表存储。
【附图说明】
[0035]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]图1为本发明所提供的处理多租户数据的方法第一实施例的流程图;
[0037]图2为本发明所提供的处理多租户数据的方法第二实施例的流程图;
[0038]图3为本发明所提供的处理多租户数据的方法第三实施例的流程图;
[0039]图4为本发明所提供的处理多租户数据的方法第四实施例的流程图;
[0040]图5为本发明所提供的处理多租户数据的方法第五实施例的流程图;
[0041]图6为本发明所提供的处理多租户数据的方法第六实施例的流程图。
【具体实施方式】
[0042]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0043]图1为本发明所提供的处理多租户数据的方法第一实施例的流程图。如图1所示,该方法主要有以下步骤:
[0044]步骤101,监测各数据共享表是否达到预设笔数阈值。
[0045]其中,笔数阈值是指数据共享表在达到该值后数据仍然可以正常存取,但是存取效率开始变差。不同数据库表的特性不同,同时考虑到配套硬件设施的承载能力,笔数阈值设置会存在差异。
[0046]根据数据库共享表的特点,定期对共享表进行监测,例如每隔几个小时监测一次,或者每天凌晨的某个时间,或者每隔几天等,以尽量不影响用户数据操作为前提。
[0047]如果监测到某数据共享表未达到预设的笔数阈值,则等待下一轮监测;
[0048]如果监测到某数据共享表达到预设的笔数阈值,则执行步骤102。
[0049]步骤102,数据笔数最多的关系数据组是否小于其他的数据共享表余量。
[0050]所述关系数据组为单个表单或应用数据记录在数据共享表中的集合,多个表单或应用的数据可能存储在同一数据共享表中,故有多个关系数据组。
[0051]所述数据共享表余量,指预设笔数阈值与数据共享表已有数据笔数的差额。
[0052]如果数据笔数最多的关系数据组小于数据库其中某一数据共享表余量,则执行步骤 103 ;
[0053]如果数据笔数最多的关系数据组不小于数据库中任一数据共享表余量,则执行步骤 104。
[0054]步骤103,将数据笔数最多的关系数据组迁至其中一数据共享表并更新关系映射表。
[0055]所述关系映射表,指反映数据共享表中关系数据组数据对应含义的列表。关系数据组数据迁移,表单或应用与数据共享表之间的对应关系发生变化需要同时更新关系映射表。
[0056]数据笔数最多的关系数据组可能小于多个数据共享表余量,此种情形下,可随机迁至其中一数据共享表,也可设定相应的迁移规则,例如优先迁至余量最大的共享表。
[0057]步骤104,将数据笔数最多的关系数据组迁至新建的数据共享表中并更新关系映射表。
[0058]图2为本发明所提供的处理多租户数据的方法第二实施例的流程图,如图2所示,第二实施例与第一实施例的不同之处在于,第二实施例中不再判断数据笔数最多的关系数据组是否小于其他的数据共享表余量,而是直接将数据笔数最多的关系数据组迁至新建的数据共享表并更新关系映射表。
[0059]其中,第一实施例和第二实施例中监测各数据共享表是否达到预设笔数阈值,也可以采用监测各数据共享表是否达到预设数据量阈值,然后在接下来的步骤中有关数据笔数的操作替换为有关数据量的操作,由此衍生出两个新的实施例。
[0060]图3为本发明所提供的处理多租户数据的方法第三实施例的流程图,如图3所示,该方法主要有以下步骤:
[0061]步骤301,监测各数据共享表是否达到预设笔数阈值。
[0062]其中,笔数阈值是指数据共享表在达到该值后数据仍然可以正常存取,但是存取效率开始变差。不同数据库表的特性不同,同时考虑到配套硬件设施的承载能力,笔数阈值设置会存在差异。
[0063]根据数据库共享表的特点,定期对共享表进行监测,例如每隔几个小时监测一次,或者每天凌晨的某个时间,或者每隔几天等,以尽量不影响用户数据操作为前提。
[0064]如果监测到某数据共享表未达到
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1