本发明专利技术公开了一种用于SaaS平台的可扩展数据模型,包括共享数据表和扩展记录表;所述共享数据表形成过程如下:对应用程序所需要的数据进行分析,找出所有的共性数据字段,将共性字段放入共享数据表,所述共享记录表存储租赁ID、扩展字段ID及各个共享字段信息;共享数据表中的每条记录称为主记录,所有主记录的扩展字段都存储在扩展数据表中;所述扩展记录表形成过程如下:每个租赁用户的个性字段放入扩展数据表,其中,个性字段的个数不做限定;所述扩展记录表存储租赁ID、扩展字段ID、扩展列名称、扩展记录值、扩展列数据类型;本发明专利技术提出的可扩展的数据模型能同时解决数据类型共享及用户数据模型完全还原的问题。
【技术实现步骤摘要】
本专利技术涉及数据库技术,尤其涉及一种用于SaaS平台的可扩展数据模型。
技术介绍
软件即服务(SaaS)作为云计算服务类型的组成部分,是一种利用Internet网以共享方式为多个租赁用户提供服务的软件模式。该模式中,由SaaS运营商提供应用软件、支撑软件(操作系统、数据库等)、硬件服务器、维护人员和后期维护、升级服务。而各用户无需购买软硬件,只需进行在线租用,就可获得相应的软件服务。租赁用户通过Internet访问部署在云中的SaaS服务,用于完成业务逻辑所需的数据也存储在云数据库中。根据用户的业务需求不同,可以以下几种方式为用户提供数据库:1.每个租赁用户一个数据库。这种方式可以完全满足用户对数据扩展的要求,数据安全性及隔离性好,但租赁用户间完全没有数据共享,适合较复杂的系统及对数据安全要求比较高的系统,如ERP,银行业务系统等。2.多个租赁用户共享一个数据库,分别使用不同的模式。该方式以模式隔离各用户数据,用户可以对自己拥有的模式内的数据模型进行任意的修改及扩充,用户间不互相共享数据。相对与前一种方式,每个服务器可以支撑更多的租户.硬件成本相对降低,节约了服务器资源,经济实用性增强。但维护比较复杂,例如数据库出错,无论表里的数据是否损坏,需要恢复所有租户的表,需要花费很长的时间。比较适用于租户对安全级别要求比较高,且每个租户的数据表不多的状况。3.多个租赁用户共享数据库及模式。这种数据架构允许一张表可以包含很多租户的数据记录,租户之间通过ID来区分。因此共享程度最高,但数据隔离程度最低,相应的安全级别也较低。一个服务器可以最大程度地支撑租户的数量。SaaS软件服务商拥有最低的硬件成本和数据备份成本,经济适用性好,非常符合SaaS的应用特征。以共享数据库及模式访问数据库需要解决的问题是,对公共的数据实现所有租赁用户的共享;对专属于用户的特定数据实现相互隔离;对不同用户的个性化需求数据实现动态扩展。数据模型动态扩展尤为重要,若不能根据用户的需求,动态扩展数据属性,SaaS应用就会失去吸引力。已经提出的有代表性的数据扩展模型有:扩充数据列、数据表透视、名称值对、数据切片、动态扩充XML节点等。
技术实现思路
本专利技术要解决的技术问题在于针对现有技术中的缺陷,提供一种用于SaaS平台的可扩展数据模型。本专利技术解决其技术问题所采用的技术方案是:一种用于SaaS平台的可扩展数据模型,包括共享数据表和扩展记录表;所述共享数据表形成过程如下:对应用程序所需要的数据进行分析,找出所有的共性数据字段,将共性字段放入共享数据表,所述共享记录表存储租赁ID、扩展字段ID及各个共享字段信息;共享数据表中的每条记录称为主记录,所有主记录的扩展字段都存储在扩展数据表中;所述扩展记录表形成过程如下:每个租赁用户的个性字段放入扩展数据表,其中,个性字段的个数不做限定;所述扩展记录表存储租赁ID、扩展字段ID、扩展列名称、扩展记录值、扩展列数据类型;所述租赁ID用于区分不同用户的数据;所述扩展字段ID用于查询每个数据记录的扩展字段,其中,扩展字段ID若为空,表示该记录无扩展字段;扩展数据表中的每一条记录表示一个租赁用户在共享数据表中对应主记录的扩充字段,扩展记录表以扩展字段ID关联共享数据表的主记录;所述扩展列名称用于表示扩展字段的名称;所述扩展记录值用于表示扩展字段值,所述扩展列数据类型用于表示扩展字段的数据类型;所述扩展记录表中扩展字段的数据类型由数据类型表描述,扩展记录中的扩展记录值字段设置为sql_variant类型,表示可以存储任意数据类型的值,扩展列数据类型字段共享使用数据类型表中的数据类型,从而得到扩展字段值的实际数据类型。按上述方案,所述扩展字段可以为任意数量及数据类型,即同一种数据类型可能会被多个不同数据模型中不同名称的扩充字段使用。本专利技术产生的有益效果是:现有的几种数据扩展模式针对具体的应用,都可以一定程度解决数据扩充的问题,但也有各自的缺点,尤其是不能解决数据类型共享及用户数据模型完全还原的问题,本专利技术提出的一种用于SaaS平台是数据模型可以较好的解决这两个问题。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术实施例的扩展数据模型结构示意图;图2是本专利技术实施例的扩展模型实例数据示意图;图3是本专利技术实施例的租赁用户1数据模型还原算法示意图;图4是本专利技术实施例的数据转换逻辑层示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。一种用于SaaS平台的可扩展数据模型,包括共享数据表和扩展记录表;所述共享数据表形成过程如下:对应用程序所需要的数据进行分析,找出所有的共性数据字段,将共性字段放入共享数据表,所述共享记录表存储租赁ID、扩展字段ID及各个共享字段信息;共享数据表中的每条记录称为主记录,所有主记录的扩展字段都存储在扩展数据表中;所述扩展记录表形成过程如下:每个租赁用户的个性字段放入扩展数据表,其中,个性字段的个数不做限定;所述扩展记录表存储租赁ID、扩展字段ID、扩展列名称、扩展记录值、扩展列数据类型;所述租赁ID用于区分不同用户的数据;所述扩展字段ID用于查询每个数据记录的扩展字段,其中,扩展字段ID若为空,表示该记录无扩展字段;扩展数据表中的每一条记录表示一个租赁用户在共享数据表中对应主记录的扩充字段,扩展记录表以“扩展字段ID”关联共享数据表的主记录;所述扩展列名称用于表示扩展字段的名称;所述扩展记录值用于表示扩展字段值,所述扩展列数据类型用于表示扩展字段的数据类型;所述扩展记录表中扩展字段的数据类型由数据类型表描述,扩展记录中的“扩展记录值”字段设置为sql_variant类型,表示可以存储任意数据类型的值,“扩展列数据类型”字段共享使用数据类型表中的数据类型,从而得到扩展字段值的实际数据类型。用户扩展的字段可以是任意数量及数据类型的,同一种数据类型可能会被多个不同数据模型,不同名称的扩充字段使用。若数据类型不能共享使用,则必须为每个扩展字段添加一条表示其数据类型的元数据,即便是在同一数据模型中,使用同一种数据类型的名称不同的两个扩展字段,也需要两条元数据记录表示扩展字段的数据类型。共享使用数据类型可以省略掉不必要的元数据记录,简化扩展数据模型的设计。上述数据模型还原方法为:1、扩展数据模型应该能将各个租赁用户的特定数据结构模型完全还原,用户应用程序直接对还原后的数据模型进行操作,而不需要关心其实际的存储结构。将扩展数据模型完全还原的算法为:select*from((select<主记录列>,<扩展记录列>,case<数据类型列>when'DataTypeID'thenconvert(DataType,<扩展数据值>)[...n]ELSE<扩展数据值>ENDfromt_Mainmjoint_Extensionexonm.TenantID=ex.TenantIDandm.ExRecordID=ex.ExRecordIDjoint_DataTypedtonex.DataTypeID=dt.D本文档来自技高网...

【技术保护点】
一种用于SaaS平台的可扩展数据模型,其特征在于,包括共享数据表和扩展记录表;所述共享数据表形成过程如下:对应用程序所需要的数据进行分析,找出所有的共性数据字段,将共性字段放入共享数据表,所述共享记录表存储租赁ID、扩展字段ID及各个共享字段信息;共享数据表中的每条记录称为主记录,所有主记录的扩展字段都存储在扩展数据表中;所述扩展记录表形成过程如下:每个租赁用户的个性字段放入扩展数据表,其中,个性字段的个数不做限定;所述扩展记录表存储租赁ID、扩展字段ID、扩展列名称、扩展记录值、扩展列数据类型;所述租赁ID用于区分不同用户的数据;所述扩展字段ID用于查询每个数据记录的扩展字段,其中,扩展字段ID若为空,表示该记录无扩展字段;扩展数据表中的每一条记录表示一个租赁用户在共享数据表中对应主记录的扩充字段,扩展记录表以扩展字段ID关联共享数据表的主记录;所述扩展列名称用于表示扩展字段的名称;所述扩展记录值用于表示扩展字段值,所述扩展列数据类型用于表示扩展字段的数据类型;所述扩展记录表中扩展字段的数据类型由数据类型表描述,扩展记录中的扩展记录值字段设置为sql_ variant类型,表示可以存储任意数据类型的值,扩展列数据类型字段共享使用数据类型表中的数据类型,从而得到扩展字段值的实际数据类型。...
【技术特征摘要】
1.一种用于SaaS平台的可扩展数据模型,其特征在于,包括共享数据表和扩展记录表;所述共享数据表形成过程如下:对应用程序所需要的数据进行分析,找出所有的共性数据字段,将共性字段放入共享数据表,所述共享记录表存储租赁ID、扩展字段ID及各个共享字段信息;共享数据表中的每条记录称为主记录,所有主记录的扩展字段都存储在扩展数据表中;所述扩展记录表形成过程如下:每个租赁用户的个性字段放入扩展数据表,其中,个性字段的个数不做限定;所述扩展记录表存储租赁ID、扩展字段ID、扩展列名称、扩展记录值、扩展列数据类型;所述租赁ID用于区分不同用户的数据;所述扩展字段ID用于查询每个数据记录的扩展字段,其中,扩...
【专利技术属性】
技术研发人员:刘黎志,张威,
申请(专利权)人:武汉工程大学,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。