基于Web的用户自适应关系模型的设计及应用

作者:陈伟;陈功;潘文杰;蔡斌;熊永华; 刊名:计算机测量与控制 上传者:罗桂梅

【摘要】Web开发过程中,固定的数据库关系模型设计往往难以满足数据库应用系统中多变的用户需求;本文提出一种用户自适应关系模型,利用主、从两个静态关系表来实现数据库动态表结构,主表用于存储用户自定义关系表信息,从表则用于存储所有用户自定义数据;利用该关系模型设计的数据库应用系统中,用户仅通过Web浏览器即可自定义数据类型和动态管理数据,从而在一定程度上实现了用户需求变化的自适应;以烟草业的数据共享平台为例,说明了模型的使用方法,实际应用结果表明该模型显著提高了数据库应用系统的用户适应性,改善了Web站点的性能。

全文阅读

0引言需求分析一直以来都是软件工程项目的重点和难点环节,如何做好用户需求分析,从而尽可能的避免应用系统投运后再返回修改功能需求,是工业界和学术界关注的重要问题。当前,Internet技术的发展,使得基于Web的数据库应用项目数量激增,且遍布社会生活的各行各业,这使得在进行项目需求分析时,用户类别更加广泛,用户需求和数据类型则更加多样和易变,因此,提高数据库应用系统的用户适应性,进而减少用户需求变化对软件工程项目的不良影响,具有重要的研究意义和实际应用价值[1],在国内外都得到了广泛研究。对于用户多变的数据需求或未知的数据结构,常见的处理方法有以下几类:第一类是把未知的数据结构保存为xml格式文件的形式[2-4];第二类是用键-值映射关系来实现静态数据库的列-属性映射关系[5-6];第三类是采用静态表结构描述动态表结构[7-8];第四类是SaaS (Software as aservice,软件即服务)模式下多租户技术[9-12]中的共享关系表方法[13]。前两类方法都存在编码量大、存取效率低、数据不易管理等缺点,第三类方法是比较高效的方法[14],但是逻辑处理比较复杂,难以应用于大型关系模式;第四类方法只能在一定范围内满足有同类数据需求的用户自适应性,无法满足大多数用户的数据需求,局限性较大。本文结合实际工程项目中所出现的:非信息专业用户数据库知识欠缺,同时又希望能够自定义和管理自身数据,从而造成用户需求难以在需求分析阶段完全确定等问题,将上述第三类和第四类方法相结合,使用主、从两个相关联的静态关系表来描述动态表结构,主表用于存储用户自定义虚拟关系表信息;使用多租户技术实现从表的数据共享功能,用于存储所有用户自定义数据。给出了一个实际的工程用例,运行结果表明,利用该关系模型设计数据库,用户可以通过浏览器自定义并且管理虚拟关系表,从而有效提高数据库应用系统对用户需求变化的适应性,同时改善Web站点的性能。1用户自适应关系模型多租户技术中的共享关系表可以满足所有同类租户的数据需求。在没有单独为每个租户建立独立关系表的情况下,通过一张共享关系表来存储所有同类租户数据,以租户ID来隔离不同租户之间的数据,同时每个租户拥有自己独立的关系表,但这些独立关系表在数据库中并不是物理存在的,而是一种虚拟或逻辑关系表。所有虚拟关系表实际上共用了共享关系表的关系模型,因此不需要再为每个虚拟关系表建立独立的关系模型。本文利用了该方法通过通用关系模型,在不新建数据库关系表的情况下可以拥有任意多个虚拟关系表的特点,采用静态表结构表现动态表结构设的思想计出一种基于Web的用户自适应关系模型,如图1所示。图1自适应关系模型的数据库关系表该关系模型分为两部分,主关系模型和从关系模型,分别对应数据库中主、从两种静态关系表。主表用于存储用户自定义关系表的表名、字段名以及该表在从表中所使用的起止字段等结构信息;从表类似于多租户技术中的共享关系表,用于存储用户自定义数据,插入的记录通过表名来隔离、区分。主表中一条记录映射到用户新建虚拟关系表的结构信息,因此可对应从表中同一表名的多条记录。当用户通过浏览器网页新建数据库关系表时,新建虚拟关系表的结构信息存储在主表中,当用户需要管理自定义虚拟关系表的数据时,后台逻辑就先通过主表查询到该虚拟关系表的结构信息,比如该表的字段名、该表在从表中所使用的起止字段等等,然后根据查询到的虚拟关系表结构信息来对从表进行相应操作。1.1自适应关系模型ER图图2自适应关系模型ER图1.2主表设计用户建立的所有虚拟关系表结构信息都存储在主表中,表名不允许重复,故设

参考文献

引证文献

问答

我要提问