模型建立方法及装置与流程

文档序号:11293236阅读:714来源:国知局
模型建立方法及装置与流程
本发明涉及计算机应用
技术领域
,更为具体而言,涉及模型建立方法及装置。
背景技术
:当多用户共享一个数据库并具备对该数据库的修改权限时,必然存在极为严重的安全隐患,如果不适当加以控制措施,那么每个用户在成功进入数据库服务器后均可随意存取甚至蓄意破坏数据。因此,保证多用户共享数据的安全性和可靠性将是一个严峻的挑战。因此,需要引入数据的访问控制技术,在数据的访问控制领域中较为成熟的技术例如有rbac(role-basedaccesscontrol,基于角色的访问控制)技术。在rbac技术中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。现有的数据访问控制技术通常是rbac技术的进一步扩展和延伸,即在功能权限的基础上增加数据权限的管理,实现数据权限和功能权限的集中处理,将角色与数据域进行映射并赋予角色特定的访问权限。其中,在数据权限管理方面,较为有效的权限管理方式例如有vbac(view-basedaccesscontrol,基于视图的访问控制)技术,该技术从逻辑上为每个角色分配私有的数据视图(数据存取窗口),将用户的访问行为限制在被允许访问的数据行和数据列上,使用户不能直接与实际的数据表进行交互,有效解决了多用户共享数据库的安全存取问题。然而,vbac技术通常需要人工理解和维护角色和数据视图间的对应关系,然后人工创建数据视图,由此导致开发成本高、难以适应复杂的业务场景等问题。技术实现要素:本发明实施方式提供了模型建立方法及装置,用以解决现有技术中所存在的上述技术问题。第一方面,本发明实施方式提供了一种模型建立方法。具体地,所述方法包括:确定角色所对应的维度表记录;根据所述维度表记录建立数据视图;关联所述角色和所述数据视图以建立数据访问模型。由于在本发明中根据角色所对应的维度表记录建立该角色的数据视图,因此,可以利用维度表的主键与事实表的外键之间的映射关系,自动建立数据视图从而能够自适应复杂的业务场景。结合第一方面,在本发明的一些实现方式中,确定角色所对应的维度表记录包括:根据第一映射关系表确定角色所对应的维度表记录;其中,所述第一映射关系表用于存储角色和维度表记录之间的映射关系。由于在本发明中直接构建角色和维度表记录之间的映射关系,因此,可以高效、便捷地查找出角色所对应的维度表记录。结合第一方面,在本发明的一些实现方式中,根据所述维度表记录建立数据视图包括:查找含有所述维度表记录的事实表;根据所述维度表记录对所述事实表建立数据视图。结合第一方面,在本发明的一些实现方式中,查找含有所述维度表记录的事实表包括:根据第二映射关系表查找含有所述维度表记录的事实表;其中,所述第二映射关系表用于存储维度表和事实表之间的映射关系。由于在本发明中,通过维度表和事实表之间的映射关系,查找含有特定维度表记录的事实表,因此,无需对所有的事实表逐一进行遍历,从而提高了查找效率。结合第一方面,在本发明的一些实现方式中,根据所述维度表记录对所述事实表建立数据视图包括:结合视图建立语句模板、所述事实表的表名称和所述维度表记录,生成视图建立语句;根据所述视图建立语句建立数据视图。由于在本发明中,通过结合视图建立语句模板和所需参数来生成视图建立语句,因此,能够更加智能化地建立数据视图。第二方面,本发明实施方式提供了一种模型建立装置。具体地,所述装置包括:确定模块,用于确定角色所对应的维度表记录;数据视图建立模块,用于根据所述维度表记录建立数据视图;数据访问模型建立模块,用于关联所述角色和所述数据视图以建立数据访问模型。由于在本发明中根据角色所对应的维度表记录建立该角色的数据视图,因此,可以利用维度表的主键与事实表的外键之间的映射关系,自动建立数据视图从而能够自适应复杂的业务场景。结合第二方面,在本发明的一些实现方式中,所述确定模块,用于执行下述处理以实现确定角色所对应的维度表记录:根据第一映射关系表确定角色所对应的维度表记录;其中,所述第一映射关系表用于存储角色和维度表记录之间的映射关系。由于在本发明中直接构建角色和维度表记录之间的映射关系,因此,可以高效、便捷地查找出角色所对应的维度表记录。结合第二方面,在本发明的一些实现方式中,所述数据视图建立模块包括:查找单元,用于查找含有所述维度表记录的事实表;建立单元,用于根据所述维度表记录对所述事实表建立数据视图。结合第二方面,在本发明的一些实现方式中,所述查找单元,用于执行下述处理以实现查找含有所述维度表记录的事实表:根据第二映射关系表查找含有所述维度表记录的事实表;其中,所述第二映射关系表用于存储维度表和事实表之间的映射关系。由于在本发明中,通过维度表和事实表之间的映射关系,查找含有特定维度表记录的事实表,因此,无需对所有的事实表逐一进行遍历,从而提高了查找效率。结合第二方面,在本发明的一些实现方式中,所述建立单元包括:生成组件,用于结合视图建立语句模板、所述事实表的表名称和所述维度表记录,生成视图建立语句;建立组件,用于根据所述视图建立语句建立数据视图。由于在本发明中,通过结合视图建立语句模板和所需参数来生成视图建立语句,因此,能够更加智能化地建立数据视图。本发明的这些方面或其他方面在以下具体实施方式的描述中会更加简明易懂。附图说明为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式描述中所需要使用的附图作一简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本发明方法实施方式1的模型建立方法的流程图;图2是一种数据库模型的结构示意图;图3是根据本发明方法实施方式2的模型建立方法的流程图;图4是根据本发明方法实施方式3的模型建立方法的流程图;图5是根据本发明方法实施方式4的模型建立方法的流程图;图6是根据本发明方法实施方式5的模型建立方法的流程图;图7是根据本发明方法实施方式6的数据访问控制原理图;图8是根据本发明产品实施方式1的模型建立装置的结构示意图;图9示出了图8所示的数据视图建立模块12的一种实施方式;图10示出了图9所示的建立单元122的一种实施方式。具体实施方式以下结合附图和具体实施方式对本发明的各个方面进行详细阐述。其中,在本发明的各个具体实施方式中,众所周知的操作过程、程序模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施例中以任何方式组合。此外,本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。本领域的技术人员还可以容易理解,本文所述和附图所示的各实施方式中的程序模块、单元或步骤可以按多种不同配置进行组合和设计。对于未在本说明书中进行具体说明的技术术语,除非另有特定说明,都应以本领域最宽泛的意思进行解释。在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。下面将结合附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明的一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施方式,都属于本发明保护的范围。【方法实施方式1】图1是根据本发明方法实施方式1的模型建立方法的流程图。参见图1,在本实施方式中,所述方法包括:s11:确定角色所对应的维度表记录。s12:根据所述维度表记录建立数据视图。s13:关联所述角色和所述数据视图以建立数据访问模型。本发明针对于一种星形结构的数据库模型。如图2所示,该数据库模型包括事实表和维度表。事实表的主要特点是包含数字信息(事实),并且这些数字信息可以汇总,以提供给有关单位作为历史数据,每个事实表包含一个由多个部分组成的索引,该索引包含作为外键的相关性维度表的主键。维度表可以看作是用来分析数据的窗口,维度表中包含事实表中事实记录的特性,有些特性提供描述性信息,有些特性指定如何汇总事实表数据,以便为分析者提供有用的信息,维度表包含帮助汇总数据的层次结构。例如,包含产品信息的维度表通常包含将产品细分为食品、饮料等若干类别的层次结构,并且,对每一类别再多次细分,直到达到最低级别。每个维度表都包含独立于其他维度表的事实特性,例如,客户维度表包含有关客户的数据。由于在本发明中根据角色所对应的维度表记录建立该角色的数据视图,因此,可以利用维度表的主键与事实表的外键之间的映射关系,自动建立数据视图从而能够自适应复杂的业务场景。【方法实施方式2】图3是根据本发明方法实施方式2的模型建立方法的流程图。参见图3,在本实施方式中,所述方法包括:s21:获取第一映射关系表。其中,所述第一映射关系表用于存储角色和维度表记录之间的映射关系。s22:根据所述第一映射关系表确定角色所对应的维度表记录。s23:根据所述维度表记录建立数据视图。s24:关联所述角色和所述数据视图以建立数据访问模型。由于在本发明中直接构建角色和维度表记录之间的映射关系,因此,可以高效、便捷地查找出角色所对应的维度表记录。【方法实施方式3】图4是根据本发明方法实施方式3的模型建立方法的流程图。参见图4,在本实施方式中,所述方法包括:s31:获取第一映射关系表。其中,所述第一映射关系表用于存储角色和维度表记录之间的映射关系。s32:根据所述第一映射关系表确定角色所对应的维度表记录。s33:查找含有所述维度表记录的事实表。s34:根据所述维度表记录对所述事实表建立数据视图。s35:关联所述角色和所述数据视图以建立数据访问模型。【方法实施方式4】图5是根据本发明方法实施方式4的模型建立方法的流程图。参见图5,在本实施方式中,所述方法包括:s41:获取第一映射关系表。其中,所述第一映射关系表用于存储角色和维度表记录之间的映射关系。s42:根据所述第一映射关系表确定角色所对应的维度表记录。s43:获取第二映射关系表。其中,所述第二映射关系表用于存储维度表和事实表之间的映射关系。s44:根据所述第二映射关系表查找含有所述维度表记录的事实表。s45:根据所述维度表记录对所述事实表建立数据视图。s46:关联所述角色和所述数据视图以建立数据访问模型。由于在本发明中,通过维度表和事实表之间的映射关系,查找含有特定维度表记录的事实表,因此,无需对所有的事实表逐一进行遍历,从而提高了查找效率。【方法实施方式5】图6是根据本发明方法实施方式5的模型建立方法的流程图。参见图6,在本实施方式中,所述方法包括:s51:获取第一映射关系表。其中,所述第一映射关系表用于存储角色和维度表记录之间的映射关系。s52:根据所述第一映射关系表确定角色所对应的维度表记录。s53:获取第二映射关系表。其中,所述第二映射关系表用于存储维度表和事实表之间的映射关系。s54:根据所述第二映射关系表查找含有所述维度表记录的事实表。s55:获取视图建立语句模板。s56:结合所述视图建立语句模板、所述事实表的表名称和所述维度表记录,生成视图建立语句。s57:根据所述视图建立语句建立数据视图。s58:关联所述角色和所述数据视图以建立数据访问模型。由于在本发明中,通过结合视图建立语句模板和所需参数来生成视图建立语句,因此,能够更加智能化地建立数据视图。【方法实施方式6】图7是根据本发明方法实施方式6的数据访问控制原理图。如图7所示,在本实施方式,基于角色与维度表记录之间的映射关系,将角色与数据视图进行绑定。通过对用户授权角色来实现数据的访问控制。以下结合示例说明将角色与数据视图进行绑定的具体实现过程:步骤1、确定角色所对应的维度表记录。具体地,在本实施方式中,可以通过下述方式实现步骤1:步骤1.1、从数据库中读取出用于存储角色和维度表记录之间映射关系的第一映射关系表,该第一映射关系表的具体示例如下:序号角色维度表维度表记录1角色1地域维度表1002角色1地域维度表1013角色1地域维度表122…………表1可选地,在该第一映射关系表中,通过维度表主键来表征维度表记录,例如以城市id(identification,身份标识符)来表征地域维度表记录。步骤1.2、通过该第一映射关系表确定角色所对应的维度表记录。步骤2、查找含有通过步骤1确定出的维度表记录的事实表。具体地,在本实施方式中,可以通过下述方式实现步骤2:步骤2.1、从数据库中读取出用于存储维度表和事实表之间映射关系的第二映射关系表。该第二映射关系表的具体示例如下:序号维度表事实表维度表主键1地域维度表事实表1城市id2时间维度表事实表1日期3产品维度表事实表1产品id4地域维度表事实表2城市id5产品维度表事实表2产品id6时间维度表事实表3日期7部门维度表事实表3部门id…………表2步骤2.2、通过该第二映射关系表查找含有通过步骤1确定出的维度表记录的事实表。假设通过步骤1确定出的维度表记录有记录编号为100的地域维度表记录。由表2可知,对应于地域维度表的事实表有:事实表1和事实表2。分别对事实表1和事实表2中与地域维度表关联的外键字段进行遍历,查看是否有事实表记录包含该确定出的维度表记录。步骤3:根据通过步骤1确定出的维度表记录,对经由步骤2查找出的事实表自动建立数据视图。具体地,在本实施方式中,可以通过下述方式实现步骤3:步骤3.1、获取视图建立语句模板。以hive(一种数据仓库工具)为例,基于其语法规则而构建出的视图建立语句模板例如为:createview%_viewasselect*from%where%。步骤3.2、结合视图建立语句模板、事实表的表名称和维度表记录,生成视图建立语句。步骤3.3、根据视图建立语句建立数据视图。在本实施方式中,可以建立维度交叉的数据视图,例如,在订单事实表上建立时间维度和地域维度交叉的数据视图,其视图建立语句例如为:createvieworder_viewasselect*fromorderwhereorder.date>20170101andorder.city_idin(100,101)。步骤4:将通过步骤3建立出的数据视图与角色进行关联,以建立数据访问模型。【产品实施方式1】图8是根据本发明产品实施方式1的模型建立装置的结构示意图。参见图8,在本实施方式中,模型建立装置1包括:确定模块11、数据视图建立模块12和数据访问模型建立模块13,具体地:确定模块11用于确定角色所对应的维度表记录。数据视图建立模块12用于根据确定模块11确定的维度表记录建立数据视图。数据访问模型建立模块13用于关联所述角色和数据视图建立模块12建立的数据视图,以建立数据访问模型。由于在本发明中根据角色所对应的维度表记录建立该角色的数据视图,因此,可以利用维度表的主键与事实表的外键之间的映射关系,自动建立数据视图从而能够自适应复杂的业务场景。【产品实施方式2】本实施方式与产品实施方式1采用了相同的结构。其区别在于,在本实施方式中,确定模块11具体通过以下方式来确定角色所对应的维度表记录:根据第一映射关系表确定角色所对应的维度表记录。其中,所述第一映射关系表用于存储角色和维度表记录之间的映射关系。由于在本发明中直接构建角色和维度表记录之间的映射关系,因此,可以高效、便捷地查找出角色所对应的维度表记录。【产品实施方式3】本实施方式所提供的模型建立装置包括产品实施方式1或产品实施方式2中的全部内容,在此不再赘述。如图9所示,在本实施方式中,数据视图建立模块12包括:查找单元121和建立单元122,具体地:查找单元121用于查找含有所述维度表记录的事实表。建立单元122用于根据所述维度表记录对查找单元121查找出的事实表建立数据视图。【产品实施方式4】本实施方式与产品实施方式3采用了相同的结构。其区别在于,在本实施方式中,查找单元121具体通过以下方式来查找含有所述维度表记录的事实表:根据第二映射关系表查找含有所述维度表记录的事实表。其中,所述第二映射关系表用于存储维度表和事实表之间的映射关系。由于在本发明中,通过维度表和事实表之间的映射关系,查找含有特定维度表记录的事实表,因此,无需对所有的事实表逐一进行遍历,从而提高了查找效率。【产品实施方式5】本实施方式所提供的模型建立装置包括产品实施方式3中的全部内容,在此不再赘述。如图10所示,在本实施方式中,建立单元122包括:获取组件1221、生成组件1222和建立组件1223,具体地:获取组件1221用于获取视图建立语句模板。生成组件1222用于结合获取组件1221获取的视图建立语句模板、所述事实表的表名称和所述维度表记录,生成视图建立语句。建立组件1223用于根据生成组件1222生成的视图建立语句建立数据视图。由于在本发明中,通过结合视图建立语句模板和所需参数来生成视图建立语句,因此,能够更加智能化地建立数据视图。本发明的实施方式还提供了一种终端设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时能够实现如方法实施方式1至方法实施方式6中任意一项所述的方法。此外,本发明的实施方式还提供一种计算机存储介质,所述计算机存储介质用于存储一条或多条计算机指令,其中,当所述一条或多条计算机指令被执行时能够实现如方法实施方式1至方法实施方式6中任意一项所述的方法。本领域的技术人员可以清楚地了解到本发明可全部通过软件实现,也可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对
背景技术
做出贡献的全部或者部分可以以软件产品的形式体现出来,所述计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,智能手机或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。本文中所使用的“软件”等词均指一般意义上的任意类型的计算机编码或者计算机可执行指令集,可以运行所述编码或者指令集来使计算机或其他处理器程序化以执行如上所述的本发明的技术方案的各个方面。此外,需要说明的是,根据实施方式的一个方面,在执行时实施本发明的技术方案的方法的一个或多个计算机程序不必须要在一台计算机或处理器上,而是可以分布于多个计算机或者处理器中的模块中,以执行本发明的技术方案的各个方面。计算机可执行指令可以有许多形式,如程序模块,可以由一台或多台计算机或是其他设备执行。一般地,程序模块包括例程、程序、对象、组件以及数据结构等等,执行特定的任务或是实施特定的抽象数据类型。特别地,在各种实施方式中,程序模块进行的操作可以根据各个不同实施方式的需要进行结合或者拆分。并且,本发明的技术方案可以体现为一种方法,并且已经提供了所述方法的至少一个示例。可以通过任何一种合适的顺序执行动作,所述动作表现为所述方法中的一部分。因此,实施方式可以构造成可以按照与所示出的执行顺序不同的顺序执行动作,其中,可以包括同时地执行一些动作(尽管在示出的实施方式中,这些动作是连续的)。本文所给出的和使用的定义,应当对照字典、通过引用而并入的文档中的定义、和/或其通常意思进行理解。在权利要求书中以及上述的说明书中,所有的过度短语,例如“包括”、“具有”、“包含”、“承载”、“具有”、“涉及”、“主要由…组成”以及类似词语是应理解为是开放式的,即,包含但不限于。本发明说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施方式的基本原理的前提下,对上述实施方式中的各细节可进行各种变化。因此,本发明的范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。本发明公开了a1、一种模型建立方法,包括:确定角色所对应的维度表记录;根据所述维度表记录建立数据视图;关联所述角色和所述数据视图以建立数据访问模型。a2、如a1所述的方法中,确定角色所对应的维度表记录包括:根据第一映射关系表确定角色所对应的维度表记录;其中,所述第一映射关系表用于存储角色和维度表记录之间的映射关系。a3、如a1或a2所述的方法中,根据所述维度表记录建立数据视图包括:查找含有所述维度表记录的事实表;根据所述维度表记录对所述事实表建立数据视图。a4、如a3所述的方法中,查找含有所述维度表记录的事实表包括:根据第二映射关系表查找含有所述维度表记录的事实表;其中,所述第二映射关系表用于存储维度表和事实表之间的映射关系。a5、如a3所述的方法中,根据所述维度表记录对所述事实表建立数据视图包括:结合视图建立语句模板、所述事实表的表名称和所述维度表记录,生成视图建立语句;根据所述视图建立语句建立数据视图。本发明还公开了b6、一种模型建立装置,所述装置包括:确定模块,用于确定角色所对应的维度表记录;数据视图建立模块,用于根据所述维度表记录建立数据视图;数据访问模型建立模块,用于关联所述角色和所述数据视图以建立数据访问模型。b7、如b6所述的装置中,所述确定模块,用于执行下述处理以实现确定角色所对应的维度表记录:根据第一映射关系表确定角色所对应的维度表记录;其中,所述第一映射关系表用于存储角色和维度表记录之间的映射关系。b8、如b6或b7所述的装置中,所述数据视图建立模块包括:查找单元,用于查找含有所述维度表记录的事实表;建立单元,用于根据所述维度表记录对所述事实表建立数据视图。b9、如b8所述的装置中,所述查找单元,用于执行下述处理以实现查找含有所述维度表记录的事实表:根据第二映射关系表查找含有所述维度表记录的事实表;其中,所述第二映射关系表用于存储维度表和事实表之间的映射关系。b10、如b8所述的装置中,所述建立单元包括:生成组件,用于结合视图建立语句模板、所述事实表的表名称和所述维度表记录,生成视图建立语句;建立组件,用于根据所述视图建立语句建立数据视图。本发明还公开了c11、一种终端设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时能够实现如a1至a5中任一项所述的方法。本发明还公开了d12、一种计算机存储介质,用于存储一条或多条计算机指令,其中,当所述一条或多条计算机指令被执行时能够实现如a1至a5中任一项所述的方法。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1