中国信息官CIO精英 前沿视野 经验之谈 职业发展 信息官杂谈 | 产品资讯笔记本 商用电脑 服务器 办公 网络设备 存储设备 软件 显示设备 其他

您当前的位置: 首页 > 资料库 > 解决方案 〉传统软件向SaaS软件转型方案的研究

传统软件向SaaS软件转型方案的研究

2012-08-23 10:09:18

    这种方案虽然能满足可配置、可扩展的需求,但是预留过多浪费空间,预设过少,又不能满足租户的需求。


    方案3:名称值对,本方案采用一个单独的表来存储扩展数据。扩展表将数据表的横向扩展列转换成纵向的扩展数据集,为每一条原数据记录设一个扩展字段,保存为扩展表中的一条记录。将数据表中的数据记录与元数据表中的配置记录相关联,构成扩展数据记录。如图1所示。

 

    名称值对扩展表结构

    图1 名称值对扩展表结构


    虽然这种方案很好地达到了多租户数据扩展的灵活性要求,但增加了查询、更新记录等数据库操作的复杂度,每次操作都涉及到多个表间的关联,因此该方案也有待优化。


    方案4:XML共享模型的数据扩展,这种方案在数据表中采用一种XML数据类型字段来存储租户间的数据。当今主流的关系数据系统都支持XML数据的存储和管理,并提供了很多函数来直接对XML文档节点进行管理。下面以Oracle数据库系统为例。


    表结构:TableName(TenantID,Col1,Col2,,XMLDataField),其中TenantID、Col1、Col2字段是所有租户共用的字段;XMLDataField字段存储租户特有的异构数据,其格式完全遵循XML的格式。设计XMLDataField字段的格式如下:


    value1


    value2


    value3


    ……


    XML文档中每个子节点代表租户的一个扩展列,包括列名、列的数据类型、列所对应的值等信息。每增加一个扩展列就在相应的XML文档中添加一个子节点,满足租户对数据扩展的个性化需要。


    使用XML字段作为数据扩展方案,对扩展数据的操作简单,不需频繁地多表连接,可以灵活地满足多租户模式下的异构数据的定制,提高了性能。该方案的使用需要在系统的架构模式中添加一层对XML数据进行解析再呈现给客户以及对客户数据封装成XML数据再保存到数据库中。


    2.3 多租户模式下的功能可配置


    SaaS软件所强调的是“按需使用,按需付费”。在SaaS模式下,租户根据自己不同的需求来使用同一软件,则需达到可配置性要求。实现功能的可配置,可采用如图2所示的四级表结构。

 

    四级表结构

    图2 四级表结构


    每个租户对应一个预设的功能模式,预设了租户的基本功能。功能模式由多个原子功能构成。租户表存储租户的相关信息,TenantID:租户的唯一标识;UserName:租户的登录账号;Password:租户的登录密码;PatternNo:租户使用系统包括的功能模式。功能表存储了系统所有的原子功能相关信息,MENU_No:原子功能唯一标识;MENU_NAME:原子功能的名称。模式表存储了功能模式信息。PatternNo:系统中包括的所有模式标识。MENU_No:功能模式包括的原子功能。模式表可以作为租户选择功能的向导。租户模式功能表存储了租户所拥有的功能的相关信息。租户模式功能表定义了该租户所有的功能信息,该表可以作为租户所拥有的所有功能的查询。

(责编:fanwei)

投稿邮箱:cio114@foxmail.com