数据存储的方法、装置、设备和存储介质与流程

文档序号:37939592发布日期:2024-05-11 00:18阅读:10来源:国知局
数据存储的方法、装置、设备和存储介质与流程

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


背景技术:

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

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

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


技术实现思路

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

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

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

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

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

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

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

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

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

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

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

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

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

14、在一种可能的实现方式中,数据库中建立有属性信息表,属性信息表包括建立有租户标识、属性标识和属性信息的第二对应关系。属性信息包括属性名称、数据类型和属性约束。在属性信息表中添加属性的过程可以是:接收第二终端发送的第二租户的属性添加请求,其中,属性添加请求中携带有第二属性标识和对应的属性信息。然后,将第二租户的租户标识、第二属性标识和对应的属性信息,存储至第二对应关系中。

15、本技术实施例所示的方案,数据库中可以建立有属性信息表,用于存储各种各样的属性及其属性信息。属性信息表中记载有租户标识,属性标识,属性名称,数据类型和属性约束的第二对应关系,其中,租户标识对应属性信息表中的一列,属性标识对应属性信息表中的一列,属性名称对应属性信息表中的一列,数据类型对应属性信息表中的一列,属性约束对应属性信息表中的一列。在属性信息表中每个属性对应一行。

16、通过上述处理,将租户标识、属性标识和属性信息的第二对应关系记载于属性信息表中,在租户需要修改属性时,只需要对该租户在属性信息表存储的数据进行修改,可以简化属性修改的操作。

17、在一种可能的实现方式中,数据库中建立有实体-属性表,实体-属性表包括租户标识、实体标识和属性标识的第三对应关系。在实体-属性表中修改数据实体包含的属性的过程可以是:接收第三终端发送的第二数据实体的实体修改请求,其中,实体修改请求中携带有第三租户的租户标识、第三属性标识和操作信息,操作信息用于指示执行对数据实体增加属性的操作。然后,确定第二对应关系中包括第三属性标识。之后,确定第二数据实体的实体标识。最后,将第三租户的租户标识、第二数据实体的实体标识和第三属性标识,存储至在第三对应关系中。

18、本技术实施例所示的方案,数据库中可以建立有实体-属性表,实体-属性表可以记载有租户标识、实体标识和属性标识的第三对应关系,其中,租户标识对应实体-属性表中的一列,实体标识对应实体-属性表中的一列,属性标识对应实体-属性表中的一列。在实体-属性表中每个数据实体与属性的关联信息对应一行。实体-属性表中还可以记载有实体属性关联标识,实体属性关联标识是服务器为租户标识、实体标识和属性标识分配的唯一标识,实体属性关联标识对应实体-属性表中的一列。在实体-属性表中每个数据实体与属性的关联信息对应一行。实体-属性表中还可以记载有列标识,列标识为数据表的第一子表中的列标识。

19、通过上述处理,将租户标识、实体标识和属性标识的第三对应关系记载于实体-属性表中,在租户需要修改数据实体包含的属性时,只需要对该租户在实体-属性表存储的数据进行修改,可便于修改数据实体包含的属性。

20、在一种可能的实现方式中,数据库中建立有租户-实体表,租户-实体表包括租户标识、实体标识和实体名称的第四对应关系,实体修改请求中还携带有第二数据实体的实体名称。在租户-实体表中查找实体标识的过程可以是:基于第四对应关系,确定第三租户的租户标识和第二数据实体的实体名称对应的第二数据实体的实体标识。

21、本技术实施例所示的方案,数据库中可以建立有租户-实体表,用于存储各种各样的实体及其实体名称等信息。租户-实体表可以记载有租户标识、实体标识和实体名称的第四对应关系,其中,租户标识对应租户-实体表中的一列,实体标识对应租户-实体表中的一列,实体名称对应租户-实体表中的一列。在租户-实体表中每个数据实体对应一行。

22、通过上述处理,将租户标识、实体标识和实体名称的第四对应关系记载于租户-实体表中,在租户需要修改数据实体时,只需要对该租户在租户-实体表存储的数据进行修改,可以简化修改数据实体的操作。

23、第二方面,提供了一种数据存储的装置,该装置包括至少一个模块,该至少一个模块用于实现上述第一方面及其可能的实现方式所提供的数据存储的方法。

24、第三方面,提供了一种计算机设备,计算机设备包括存储器和处理器,存储器用于存储计算机指令;处理器执行存储器存储的计算机指令,以使计算机设备执行第一方面及其可能的实现方式所提供的数据存储的方法。

25、第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序代码,响应于计算机程序代码被计算机设备执行,计算机设备执行第一方面及其可能的实现方式所提供的数据存储的方法。

26、第五方面,提供了一种计算机程序产品,计算机程序产品包括计算机程序代码,响应于计算机程序代码被计算机设备执行,计算机设备执行第一方面及其可能的实现方式所提供的数据存储的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1