System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据存储的方法、装置、设备和存储介质制造方法及图纸_技高网

数据存储的方法、装置、设备和存储介质制造方法及图纸

技术编号:41285205 阅读:6 留言:0更新日期:2024-05-11 09:34
本申请实施例公开了一种数据存储的方法、装置、设备和存储介质,属于数据库领域。该方法中,数据库中的数据表是各租户的各数据实体下的数据标识、属性标识和数据元素的对应关系。数据表中并不存在对应每个属性的列,如果对数据实体添加一个新增属性,无需在数据表中添加列。在对数据实体添加属性时,无需对数据表进行修改,也不会影响后续数据实例的存储。所以,数据库在处理属性添加请求的过程中,不需要对数据表加锁,这样可以防止数据库的数据存储工作受到影响。

【技术实现步骤摘要】

本申请涉及数据库领域,特别涉及一种数据存储的方法、装置、设备和存储介质


技术介绍

1、saas(software as a service,软件即服务)是一种通过网络提供软件服务的软件应用模式。saas平台供应商将应用软件统一部署在服务器上,客户可以根据工作实际需求,通过互联网获得saas平台供应商提供的应用软件服务。多租户技术(multi-tenancytechnology)或称多重租赁技术是一种软件架构技术,可以实现多租户的环境下共用saas平台数据库,并且多个租户之间的数据互相隔离。saas平台供应商需要基于多租户技术根据不同租户的需求对数据库模型(数据库的数据结构)中的数据实体及其属性进行修改,实现数据库模型的定制。数据实体是一种用于描述数据结构的信息。每种数据实体则可以认为是一种数据结构,可以由多个属性组成,属性是用于描述组成一条数据(或称数据实例)的每个数据元素的特征。

2、相关技术中,数据库中的数据表的形式是:数据表的每一列对应一个属性,每一行对应一个数据实例。

3、如果想要为某个数据实体添加属性,则需要在数据表中为新添加的属性添加一列,否则后续存储数据实例时,无法存储数据实例中与该属性相对应的数据元素。在数据表中,存储数据实例是添加行的操作,添加属性是添加列的操作。一般,在数据表中添加行的操作和添加列的操作是不能同时进行的。所以,如果数据库接收到属性添加请求,在处理属性添加请求的过程中,需要对数据表加锁,即暂停处理数据实例的存储请求。这样,会导致数据库的数据存储工作受到影响。

r/>

技术实现思路

1、本申请实施例提供了一种数据存储的方法、装置、设备和存储介质,能够解决相关技术的问题。技术方案如下:

2、第一方面,提供了一种数据存储的方法,该方法应用于数据库,数据库中建立有各租户的各数据实体下的数据标识、属性标识和数据元素的第一对应关系。在数据库中进行数据存储的过程中:首先,接收第一终端发送的第一租户的数据存储请求,其中,数据存储请求中携带有第一数据实体下的至少一条第一数据实例和该数据实例的数据标识,第一数据实例由多个第一数据元素组成,该数据存储请求中还携带有每个第一数据元素对应的第一属性标识。之后,在数据库的第一对应关系中,添加第一数据实例的数据标识、每个第一数据元素和对应的第一属性标识的对应关系项。

3、本申请实施例所示的方案,第一租户可以直接使用第一终端向服务器发送数据存储请求,第一终端可以为第一租户使用的终端。第一租户还可以通知saas平台的技术人员,技术人员使用第一终端向服务器发送数据存储请求,第一终端可以为saas平台的技术人员使用的终端。服务器可以建立有数据表,用于存储大量的数据实例。数据表可以记载有各租户的各数据实体下的数据标识、属性标识和数据元素的第一对应关系。

4、通过上述处理,数据表中并不存在对应每个属性的列,那么如果对数据实体添加一个新增属性的话,则无需在数据表中添加列。而后续有新的数据实例存入时,存入的内容包括该数据实例的数据标识、每个数据元素和对应的属性标识,其中可以包括该新增属性的属性标识和对应的数据元素。也就是说,在对数据实体添加属性的时候,完全无需对数据表进行修改,也不会影响到后续数据实例的存储,后续存入的数据实例中完全可以包括新增属性的数据元素。所以,数据库在处理属性添加请求的过程中,不需要对数据表加锁,这样可以防止数据库的数据存储工作受到影响。

5、在一种可能的实现方式中,数据库存储的是租户标识、数据实体的实体标识、数据标识、属性标识和数据元素的第一对应关系。第一数据实例的存储过程可以是:在第一对应关系中,添加第一租户的租户标识、第一数据实体的实体标识、第一数据实例的数据标识、每个第一数据元素和对应的第一属性标识的对应关系项。

6、本申请实施例所示的方案,数据表中记载有数据标识、租户标识、实体标识、属性标识和数据元素的第一对应关系,其中,数据标识对应数据表中的一列,租户标识对应数据表中的一列,实体标识对应数据表中的一列,属性标识对应数据表中的一列,数据元素对应数据表中的一列或多列(不同的列可以对应不同的数据类型)。当数据元素对应数据表中的多列时,每一列可以对应一种数据类型。当数据元素对应数据表中的一列时,不同数据类型的数据元素可以存储在一列中。

7、通过上述处理,将数据标识、租户标识、实体标识、属性标识和数据元素的第一对应关系完整的记载于在一张数据表中,可以简化存储数据的操作。

8、在一种可能的实现方式中,第一对应关系可以由两个子表组成,包括:租户标识、数据实体的实体标识、数据标识和多个数据元素的第一子表,以及租户标识、数据实体的实体标识、属性标识和第一子表的列标识的第二子表。在第一子表中,对应相同属性标识的数据元素位于同一列。第一数据实例的存储过程可以是:首先,基于第二子表,确定每个第一属性标识对应的列标识。然后,基于每个第一数据元素对应的第一属性标识、以及每个第一属性标识对应的列标识,确定每个第一数据元素对应的列标识;最后,在第一子表中,添加第一租户的租户标识、第一数据实体的实体标识、第一数据实例的数据标识、每个第一数据元素和对应的第一属性标识的对应关系项,其中,每个第一数据元素所在的列是基于每个第一数据元素对应的列标识确定的。

9、本申请实施例所示的方案,数据表可以包括两个子表,第一子表记载有租户标识、数据实体的实体标识、数据标识和多个数据元素的对应关系,其中,租户标识对应第一子表中的一列,实体标识对应第一子表中的一列,数据标识对应第一子表中的一列,每个数据元素对应第一子表中的一列。在第一子表中每个数据实例对应一行。第二子表记载有租户标识、数据实体的实体标识、属性标识和第一子表的列标识的对应关系,其中,租户标识对应第二子表中的一列,实体标识对应第二子表中的一列,属性标识对应第二子表中的一列,第一子表的列标识对应第二子表中的一列。

10、通过上述处理,将数据标识、租户标识、实体标识、属性标识和数据元素的第一对应关系记载于两张子表中,在租户需要修改数据实体包含的属性时,只需要对租户在第二子表存储的数据进行修改,便于修改数据实体包含的属性。

11、在一种可能的实现方式中,第一对应关系包括多个子表,每个子表对应一种数据类型,同一子表中的数据元素具有相同的数据类型。

12、本申请实施例所示的方案,第一对应关系可以在数据库中以数据表的形式预先存储,数据表还可以包括多个数据子表,每个数据子表中的数据元素具有相同的数据类型。

13、通过上述处理,按照数据类型将数据元素存储在不同的数据子表中,可以使数据元素的分类更清晰,数据表结构更简洁。

14、在一种可能的实现方式中,数据库中建立有属性信息表,属性信息表包括建立有租户标识、属性标识和属性信息的第二对应关系。属性信息包括属性名称、数据类型和属性约束。在属性信息表中添加属性的过程可以是:接收第二终端发送的第二租户的属性添加请求,其中,属性添加请求中携本文档来自技高网...

【技术保护点】

1.一种数据存储的方法,其特征在于,所述方法应用于数据库,所述数据库中建立有各租户的各数据实体下的数据标识、属性标识和数据元素的第一对应关系,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述各租户的各数据实体下的数据标识、属性标识和数据元素的第一对应关系是:租户标识、数据实体的实体标识、数据标识、属性标识和数据元素的第一对应关系;

3.根据权利要求2所述的方法,其特征在于,所述租户标识、数据实体的实体标识、数据标识、属性标识和数据元素的第一对应关系,包括:租户标识、数据实体的实体标识、数据标识和多个数据元素的第一子表,以及所述租户标识、数据实体的实体标识、属性标识和所述第一子表的列标识的第二子表,在所述第一子表中,对应相同属性标识的数据元素位于同一列;

4.根据权利要求2所述的方法,其特征在于,所述租户标识、数据实体的实体标识、数据标识、属性标识和数据元素的第一对应关系包括多个子表,同一子表中的数据元素具有相同的数据类型。

5.根据权利要求1-4任一项所述的方法,其特征在于,所述数据库中建立有租户标识、属性标识和属性信息的第二对应关系,属性信息包括属性名称、数据类型和属性约束;

6.根据权利要求5所述的方法,其特征在于,所述数据库中建立有租户标识、实体标识和属性标识的第三对应关系;

7.根据权利要求6所述的方法,其特征在于,所述数据库中建立有租户标识、实体标识和实体名称的第四对应关系;

8.一种数据存储的装置,其特征在于,所述装置应用于数据库,所述数据库中建立有各租户的各数据实体下的数据标识、属性标识和数据元素的第一对应关系,所述装置包括:

9.根据权利要求8所述的装置,其特征在于,所述各租户的各数据实体下的数据标识、属性标识和数据元素的第一对应关系是:租户标识、数据实体的实体标识、数据标识、属性标识和数据元素的第一对应关系;

10.根据权利要求9所述的装置,其特征在于,所述租户标识、数据实体的实体标识、数据标识、属性标识和数据元素的第一对应关系,包括:租户标识、数据实体的实体标识、数据标识和多个数据元素的第一子表,以及所述租户标识、数据实体的实体标识、属性标识和所述第一子表的列标识的第二子表,在所述第一子表中,对应相同属性标识的数据元素位于同一列;

11.根据权利要求9所述的装置,其特征在于,所述租户标识、数据实体的实体标识、数据标识、属性标识和数据元素的第一对应关系包括多个子表,同一子表中的数据元素具有相同的数据类型。

12.根据权利要求8-11任一项所述的装置,其特征在于,所述数据库中建立有租户标识、属性标识和属性信息的第二对应关系,属性信息包括属性名称、数据类型和属性约束;

13.根据权利要求12所述的装置,其特征在于,所述数据库中建立有租户标识、实体标识和属性标识的第三对应关系;

14.根据权利要求13所述的装置,其特征在于,所述数据库中建立有租户标识、实体标识和实体名称的第四对应关系;

15.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器用于存储计算机指令;

16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序代码,响应于所述计算机程序代码被计算机设备执行,所述计算机设备执行上述权利要求1至7中任一项所述的方法。

...

【技术特征摘要】

1.一种数据存储的方法,其特征在于,所述方法应用于数据库,所述数据库中建立有各租户的各数据实体下的数据标识、属性标识和数据元素的第一对应关系,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述各租户的各数据实体下的数据标识、属性标识和数据元素的第一对应关系是:租户标识、数据实体的实体标识、数据标识、属性标识和数据元素的第一对应关系;

3.根据权利要求2所述的方法,其特征在于,所述租户标识、数据实体的实体标识、数据标识、属性标识和数据元素的第一对应关系,包括:租户标识、数据实体的实体标识、数据标识和多个数据元素的第一子表,以及所述租户标识、数据实体的实体标识、属性标识和所述第一子表的列标识的第二子表,在所述第一子表中,对应相同属性标识的数据元素位于同一列;

4.根据权利要求2所述的方法,其特征在于,所述租户标识、数据实体的实体标识、数据标识、属性标识和数据元素的第一对应关系包括多个子表,同一子表中的数据元素具有相同的数据类型。

5.根据权利要求1-4任一项所述的方法,其特征在于,所述数据库中建立有租户标识、属性标识和属性信息的第二对应关系,属性信息包括属性名称、数据类型和属性约束;

6.根据权利要求5所述的方法,其特征在于,所述数据库中建立有租户标识、实体标识和属性标识的第三对应关系;

7.根据权利要求6所述的方法,其特征在于,所述数据库中建立有租户标识、实体标识和实体名称的第四对应关系;

8.一种数据存储的装置,其特征在于,所述装置应用于数据库,所述数据库中建立有各租户的各数据实体下的数据标识、属性标识和数据元素的第一对应关系,所述装置包括:...

【专利技术属性】
技术研发人员:林政骆强栾柱晓刘臻侯立维
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1