【技术实现步骤摘要】
一种利用分层树结构控制访问的数据存储系统
本专利技术属于数据存储领域,特别涉及了一种高效的、利用分层树结构控制访问的数据存储系统。
技术介绍
现实生活中,我们经常会碰到一群人共享某些存储数据的场景,诸如一群学生共同使用图书馆资源、档案室资料,或者公司员工共享使用存储公司内部资料的公共电脑等等。一个性能优越的数据存储系统能够给这个团队的工作效率带来很大的提升。通常,这个数据存储系统以文件夹系统的形式展示给团体成员,数据首先按照日期、类型、内容、大小等等属性划分,随后存储到相应的文件夹之中,供日后查询使用。这群人之中一般会存在一个管理员,拥有对数据和用户的双重控制,既可以对系统中的数据进行增删修改操作,也可以控制不同用户对数据的访问权限等等。对于一个共享的数据存储系统而言,不仅需要将非法用户拒之门外,同时也要对合法的用户进行细粒度的访问控制,也就是说,存储数据是具有访问等级的,某一用户能查看哪些数据是根据这个用户的身份来确定的。然而我们目前所应用的的诸多数据存储系统,均没有实现细粒度的访问控制,仅通过简单的管理员账号密码与用户账号密码来区别系统登录者,而普通用户进入系统之后,所能查看到的数据是一致的,这与我们实际生活中的要求细粒度访问控制的应用场景严重不符。树状结构是计算机存储时常用的数据结构,对于一棵树而言,如果自顶向下所有结点满足一定的排序关系的话,我们则可以称其为分层树,也就是说这棵树的每一层拥有相同的等级或者类似的属性圈,我们计算机中常用的文件夹系统其实就是一种树结构,某个具体的文件夹对应树中的某一结点,其中的文件夹相当于此结点的子结点,存储的数据则对 ...
【技术保护点】
1.一种利用分层树结构控制访问的数据存储系统,其特征在于所述系统包括:系统建立模块、口令生成模块、口令分配模块、数据查询模块,其中:所述系统建立模块,为所有共享数据生成分层树,并将所有数据按分层树结构存储到所述分层树的结点中;所述分层树为一个多叉树,每个结点拥有独立的访问等级、属性集信息、一个唯一整数编号index与一个门限值k;所述口令生成模块从所述分层树的根结点开始为每个结点生成相互独立的访问口令,并用访问口令为结点中存储数据加密;所述口令分配模块,在所述口令生成模块为每个结点生成访问口令之后,将全部结点的访问等级、属性集信息、唯一整数编号index、门限值k以及分层树中若干个叶子结点的访问口令,按照用户访问等级分发给不同用户;所述数据查询模块,在用户输入所分配的访问口令后,触发查询所需数据的操作;用户查询所需数据的具体操作为:当所述用户需要查询所述系统中的数据时,根据所有结点的门限值k和所分配的叶子结点的访问口令,确定所有可访问结点,如果所需数据在可访问结点中,则随机进入一个可访问叶子结点,确定到达目标结点的路径,向上或向下访问直至目标结点;若所需数据不在可访问结点中,则查询结束 ...
【技术特征摘要】
1.一种利用分层树结构控制访问的数据存储系统,其特征在于所述系统包括:系统建立模块、口令生成模块、口令分配模块、数据查询模块,其中:所述系统建立模块,为所有共享数据生成分层树,并将所有数据按分层树结构存储到所述分层树的结点中;所述分层树为一个多叉树,每个结点拥有独立的访问等级、属性集信息、一个唯一整数编号index与一个门限值k;所述口令生成模块从所述分层树的根结点开始为每个结点生成相互独立的访问口令,并用访问口令为结点中存储数据加密;所述口令分配模块,在所述口令生成模块为每个结点生成访问口令之后,将全部结点的访问等级、属性集信息、唯一整数编号index、门限值k以及分层树中若干个叶子结点的访问口令,按照用户访问等级分发给不同用户;所述数据查询模块,在用户输入所分配的访问口令后,触发查询所需数据的操作;用户查询所需数据的具体操作为:当所述用户需要查询所述系统中的数据时,根据所有结点的门限值k和所分配的叶子结点的访问口令,确定所有可访问结点,如果所需数据在可访问结点中,则随机进入一个可访问叶子结点,确定到达目标结点的路径,向上或向下访问直至目标结点;若所需数据不在可访问结点中,则查询结束。2.根据权利要求1所述的一种利用分层树结构控制访问的数据存储系统,其特征在于所述生成分层树的具体过程为:首先确认所有数据由高到低的访问等级lv1,...,lvN和属性集信息attr1,...,attrM,建立一个N层的满M叉树,其中N为访问等级的总数,M为全部属性集信息的个数;从根结点作为第1层开始向下,第n层的结点存储所有访问级别为lvn的数据,其中1≤n≤N;任一结点的子结点的属性集信息各不相同,数据按访问等级和属性集信息存放到对应的结点中去,之后删除未存储数据的结点;从根结点开始顺次为每个结点分配一个唯一整数编号index和门限值k,由某一结点能够进而访问到其子结点,但是由其子结点向上访问此结点时需满足门限要求。3.根据权利要求2所述的一种利用分层树结构控制访问的数据存储系统,其特征在于:所述门限值k的确定方法具体为:假定用户拥有至少k个子结点的访问权限才能向上访问到非叶子结点的话,那么所述非叶子结点的门限值就为k,k为一个不超过其子结点个数的正整数;叶子结点由于没有子结点,规定他们的k取1。4.根据权利要求1所述的一种利用分层树结构控制访问的数据存储系统,其特征在于:所述访问口令的生成方法具体如下:(a)为根结点分配一个随机整数s作为根结点的访问口令,以根结点作为父结点;(b)假设父结点的门限值为k,以父结点访问口令作为常系数A并随机选取(k-1)个整数系数{a1,a2...ak-1}构造多项式f(x)=A+a1x+...+ak-1xk-1,自变量x代表子结点的唯一整数编号index,对于其编号为in...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。