一种基于属性划分的数据安全存储方法与流程

文档序号:11830492阅读:276来源:国知局
本发明涉及分布式领域,尤其涉及分布式中考虑隐私保护的一种基于属性划分的数据安全存储方法。
背景技术
:随着信息化和互联网技术的发展,网络用户数和应用规模迅速扩大,数据存储量呈现爆炸式的增长。在海量数据面前,也要求能够快速的进行管理和计算,提高响应速度。分布式环境很好地适应地这些要求,但不但能优化数据存储带来的性能开销,并且分布式环境开放的平台和共享的模式,用户和资源高度集中,也面临着很多安全性和隐私保护方面的挑战。尤其是在面向应用数据的存取场景中,应用频繁地对用户数据进行存取操作,传统的加密会造成额外的计算开销,已经不能适应这种场景,而混淆会造成原数据信息丢失,也不能应用于分布式应用存取的需求,如何有效地保护数据隐私而不影响应用的操作效率成为了分布式数据存储研究中的关键。目前,针对分布式中数据安全存储已经开展了一定的研究,可以根据系统中各个数据节点的负载情况,同时,考虑数据本身的因素,考虑传输代价、效率等方面的影响,将数据进行一定的划分放置。但是,这些方法在对用户数据进行划分处理时,没有考虑数据隐私保护带来的影响,仅仅从性能等方面需求角度出发。另外在分布式环境中,不同用户之间的数据隔离是通过逻辑上来进行隔离的,同时为了不影响应用数据处理时效率,数据往往是明文存储在服务器中的,一旦服务器被攻破,会造成非常严重的隐私泄露问题。技术实现要素:本发明提出一种基于属性划分的数据安全存储方法,在数据的属性划分和存储过程中,同时考虑性能和安全方面的需求,有效地保护数据隐私而不影响应用的操作效率,同时提高存储资源的利用率,节省运行成本。本发明主要包括两个阶段,数据的分割和数据的放置。主要包括以下步骤:S1:数据预处理,依据用户服务质量需求对数据进行分区:将相同用户服务质量需求的数据划分为一个分区。由于DBSCAN算法在聚类的过程中,会计算每个对象两两间的距离值,会造成大量的I/O和计算开销,所以,本发明采用分区的方法对数据进行预处理,同时考虑到租户数据的特征,本发明将具有相同用户服务质量需求的数据划分为一个分区,这样在同一个分区中有着相同的用户服务质量需求,处理方便。S2:数据划分,为了使数据分割对应用存储造成的影响最小,即因数据分割,应用存取数据增加的时间开销最小,本发明首先按数据之间的关联度,采用聚类算法DBSCAN来对数据进行聚类,将联系紧密的数据聚集在一起;S21:计算数据之间的距离,根据数据库中的事务来计算分区内数据之间的关联度,通过关联度计算数据之间的距离;例如某条SQL查询语句查询表中数据U1和数据U2,那么数据U1和U2之间的关联度加1。数据之间的关联度计算如下:Fij=Σfreqopk,whereopkincludeUiandUj]]>其中,Fij表示数据Ui和数据Uj之间的关联度,表示操作opk表示数据库操作中第k次操作opk包含的数据Ui和数据Uj次数,其中k为正整数;则数据Ui和数据Uj之间的距离Dij为:Dij=1/∑FijS22:同时对每个分区内数据进行水平切分:通过数据之间的距离并基于数据库事务,用DBSCAN算法对分区内数据聚类,避免大量分布式事务的产生,保证访问效率。DBSCAN聚类算法的主要参数有邻域,半径,邻域对象。DBSCAN算法对于构成簇的每个对象,其邻域包含的对象个数,必须大于或等于某个给定的值如果此邻域内的某个对象的邻域也满足上述要求,就继续聚类,重复这个过程直到处理完所有的数据对象。S22这一步骤每个分区的聚类可以同时进行。S23:对聚类后的数据进行垂直切分:依据用户服务质量需求中的隐私约束规则对数据进行划分,根据输入的隐私约束规则对数据进行垂直划分,为了保护租户数据的隐私,根据隐私约束规则,对聚类得到的数据进行垂直划分,并根据系统均衡化要求对划分后的数据进行合并或再划分。隐私约束规则包括:组合隐私约束、依赖隐私约束、值隐私约束;组合隐私约束,即不能同时出现在一个数据块中的隐私属性组合;值隐私约束主要指某属性中的某些数据是属于隐私,需要单独保护;依赖隐私属性主要指分区内数据块某些单独的数据的属性不具有任何敏感信息,但是与其它分区数据块中属性放在一起则会泄露租户的隐私;数据划分流程如下:a.读取用户服务质量需求中的隐私约束规则和属性值;b.依据组合隐私约束和关联隐私约束,计算每个属性在约束中出现的次数;c.组合隐私约束和关联隐私约束中出现次数最少的属性分离出去;如出现的最小出现次数相同属性,对属性内数据进行值隐私约束判断,分离含有值隐私约束的属性,对值隐私约束的数据进行混淆加密处理;均未含有值隐私约束的属性随机分离其中一属性;d.跳转至步骤b,直至属性划分完毕。S24:当所有隐私约束规则都满足时,对划分后的数据采用轮训机制进行合并,将没有隐私约束的数据进行合并;具体合并方法:采用轮训机制,从最小的数据划分开始,遍历所有待合并的数据,若没有隐私约束且加入后数据块大小不超过系统设置上线,则将该数据加入到数据划分中,直到遍历完所有的数据划分或带合并数据。若已遍历完所有的数据划分,而待合并数据还未分配完,说明剩余的数据已不能加入任何一个数据划分,则将它们在不违背隐私约束规则的前提下合并。具体为:a.选择最小的数据划分;b.遍历所有待合并数据;c.依据隐私约束规则,选择与最小的数据属性组合后满足隐私约束规则的属性下的待合并数据;d.选择满足系统设置上限的待合并数据进行合并;e.重复步骤a直至遍历完所有数据划分;f.对剩余的待合并数据中满足隐私约束规则的进行合并,剩余待合并数据保持原划分。S3:将划分所得的数据块按一种启发式算法存储在数据节点中。按满足用户服务质量需求同时资源使用效益增量最大为目标进行数据块的放置。是围绕存储的资源使用效益来进行的。首先会选择资源使用效益增量最大并且满足用户服务质量需求的节点进行分配,因为该节点的剩余资源最少,所以分配次数最小,时间最快。在分配过程中,选择能够让其资源使用效益增加最大的数据块进行分配,确保系统资源利用率最大化。在分配结束后,将其移出分配列表,重复该过程,具体过程如下:S31:依据用户服务质量需求选择存储节点范围;S32:计算范围中存储节点的资源使用效益,资源使用效益由低到高的存储节点信息插入队列Ldata中;存储节点的资源使用效益使用以下公式进行计算:Erecourse=UCPU·Umem·(1-|UCPU-Umem|)其中,UCPU为CPU使用率,Umem为内存使用率。S33:判断待存储队列Ldata数据是否为空,为空说明全部数据已存储在节点中,直接跳入步骤S36,不为空则进入步骤S34;S34:取Ldata的队首节点即资源使用效益作为目标存储节点,即资源使用效益最小的节点作为目标节点,以保证资源使用效益增量,最大判断该目标节点能否满足用户的性能服务质量需求;不满足性能需求时,取Ldata下一节点进行需求判断;满足性能需求进入步骤S35;S35:存储待存数据,在Ldata中删除该待存数据块,并重新计算目标存储节点的资源使用效益,依据资源使用效益由低到高重新插入队列Ldata中,再跳转至步骤S32;S36:结束后输出各个数据块的存储映射。本发明中首先对数据进行预处理,按相同用户服务质量需求来对数据进行分区,然后再用DBSCAN算法进行聚类,这样每个分区可以设置不同的邻域和阈值参数,不仅可以提高DBSCAN算法的计算效率和适应性,同时聚类后的数据块内部都具有相同的用户服务质量需求,并且地理位置相同,所以在后期的分割和存储中,每个数据块内部的标准相同,大大简化了后期计算的复杂度。按数据的关联度进行聚类,可以将关联度高的数据划分到一个数据块中,相比于随机分割对应用存取的影响小。按租户的隐私约束要求对数据进行划分,可定制的,有针对性的保护租户隐私,更能适应分布式平台的需求。围绕资源使用效益的启发式放置算法在保障用户的性能服务质量需求的前提下,最大限度地提高系统资源利用率。与现有的分布式管理技术相比,本发明不仅根据用户服务质量需求,考虑了数据的存储性能,还考虑了隐私保护,降低了应用存取数据的开销,具有高效性,相比于传统方法能更好地应用于分布式平台中。【附图说明】图1为发明总体流程图;图2为考虑隐私保护的的用户数据属性划分方法流程图;图3为用户数据安全存储方法流程图。【具体实施方式】下面结合附图对本发明作进一步详细描述:以下结合说明书附图和具体实施方式对本发明的方法做进一步详细说明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围。本发明的输入为应用数据和用户服务质量需求,根据本发明的实际情况,用户服务质量由二元组表示{privacy,time},其中privacy{a1,a2,a3……}表示隐私约束规则,ai表示隐私约束属性对。time表示性能要求时间。其中,隐私约束主要包括以下三方面:组合隐私约束,即不能同时出现在一个数据块中的隐私属性组合,如姓名和身份证号码不能同时出现;值隐私约束主要指某属性中的某些取值是属于隐私,例如病属性,对于某些病种如感冒,过敏等不具有隐私属性,而对于艾滋等敏感病种就具有隐私属性,需要单独保护;依赖隐私属性主要指分区内数据块某些单独的属性不具有任何敏感信息,但是与其它分区数据块中属性放在一起则会泄露租户的隐私,例如医生的主治病和病人的姓名放在一起,就可以推测出该病人所患病种。上述三种隐私约束均来自于用户服务质量需求。图2所示是本发明所示考虑隐私保护的用户数据分割方法流程图,包括以下步骤:S1:数据预处理,将数据进行分区。由于DBSCAN算法在聚类的过程中,会计算每个对象两两间的距离值,会造成大量的I/O和计算开销,所以,本发明采用分区的方法对数据进行预处理,同时考虑到租户数据的特征,将相同具有租户ID的数据划分为一个分区,这样同一个分区中有着相同的服务质量需求,处理方便。例如用DataTable={U(TenantData)},TenantData表示属于租户的所有应用数据的集合。根据多租户共享模式存储模型中DataTable表的TenantID来判断某条数据记录所属的租户,将多租户数据划分为以租户为单位的逻辑空间。S2:数据划分,为了使数据分割对应用存储造成的影响最小,即因数据分割,应用存取数据增加的时间开销最小,本发明首先按数据之间的关联度,采用聚类算法DBSCAN来对数据进行聚类,将联系紧密的数据聚集在一起;S21:计算数据之间的距离,本发明采用数据之间的关联度来衡量数据之间的距离,用Fij来表示。关联度是根据数据库中的事务来计算的,计算公式为:Fij=Σfreqopk,whereopkincludeUiandUj]]>其中,Fij表示数据Ui和数据Uj之间的关联度,表示操作opk表示数据库操作中第k次操作opk包含的数据Ui和数据Uj次数,其中k为正整数;例如下表为数据库中操作频率统计表:那么计算数据A与数据B之间的关联度时,由于操作op1、op2、op4都包含数据A和数据B,那么其关联度为三者的次数之和Fij=10+20+30=60。根据下面公式来计算两数据之间的距离:Dij=1/∑Fij其中Dij表示数据Ui和数据Uj之间的距离。S22:水平切分,基于数据库事务,用DBSCAN算法对数据聚类,将关联紧密的数据聚集在一起,避免大量分布式事务的产生,保证访问效率。DBSCAN聚类算法的主要参数有邻域,半径,核心对象。对象p的ε邻域是指以p为中心,ε为半径的空间。核心对象是指如果给定对象的ε邻域内的对象个数大于等于阈值MinPts,则该对象为核心对象。DBSCAN算法对于构成簇的每个对象,其邻域包含的对象个数,必须大于或等于某个给定的值如果此邻域内的某个对象的邻域也满足上述要求,就继续聚类,重复这个过程直到处理完所有的数据对象。DBSCAN算法的具体步骤:(1)确定基于密度聚类挖掘的半径ε,邻域最少对象数MinPts;根据每个数据分区的用户服务质量需求和性能要求,可以选取不同的参数值,邻域ε可以取[0,1/30]之间,阈值MinPts取[0,n/2],其中n表示数据记录的个数,表示至少将数据划分为2个簇。(2)从数据对象集合D中任意选出一个点p进行邻域查询,若它的ε邻域的对象数大于阈值MinPts,则该点为核心对象,将其flag标记为core,否则标记为noiSe;(3)若p为核心对象,则以p为中心,ε为半径建立类簇,同时将该类簇中的数据对象依次加入到一个容器LiSt中进行递归调用;(4)重复(2)、(3)直至数据对象集合D中所有的对象均被标记,同时尽可能的归到某个类簇中。S22这一步骤每个分区的聚类可以同时进行。S23:垂直切分,根据输入的隐私约束规则对数据进行垂直划分,为了保护租户数据的隐私,根据隐私约束规则,对聚类得到的数据进行垂直划分,并根据系统均衡化要求对划分后的数据进行合并或再划分。具体划分方法:根据用户服务质量需求中的隐私约束规则对数据进行垂直划分。本发明中的隐私约束规则主要是组合隐私约束、值隐私约束和关联隐私约束,具体划分方法如下:1.首先处理组合隐私约束和关联隐私约束,计算每个属性在约束中出现的次数,2.然后根据隐私约束将组合中出现次数较少的属性分离出去,3.如果规则中属性出现次数相同,则判断该属性是否有值隐私约束,若没有,则随机分离一个属性出去;若有,则将该属性分离出去,并将该属性中有值隐私约束部分的值采用混淆或加密的方式处理,4.重复上述步骤,直到所有的隐私约束规则都满足为止。将出现次数少的属性分离出去,意味着该属性的隐私约束条件越少,该属性在后期组合成功的概率更大,防止分块过多,影响数据访问效率。下表为实施例中用户数据表:IDTenantIDNameAgeSexOccupIllneSSPhySicianAddr1556143LiSa21MStudentFluDavidaddrA2556143Jack19FStudentFluDavidaddrB3556143Sam30FTeacherAIDSJeSSicaaddrC4556143John44FEngineerCancerAndrewaddrD5556143Tom37MNurSePneumoniaJameSaddrE6556143Alice26MProgrammerPneumoniaJameSaddrF7556143Mike63FOfficerCancerAndrewaddrG组合隐私约束:{<name,Addr>,<age,Sex,Addr>,<name,IllneSS>,<age,Sex,IllneSS>,<age,Sex,phySician>}表示这些属性值组合起来会泄露用户的隐私。值隐私约束:{<IllneSS,AIDS>}表示疾病是艾滋病的记录需要特别保护。关联隐私约束:<phySician(JeSSica,Andrew),name>,表示医生与患者之间存在关联,只要知道患者对应的主治医生,就可以通过该医生的主治方向判断患者所患病种。根据上述隐私约束规则,将实施例中的数据进行划分,首先从组合隐私约束开始,name出现的次数为3次,Addr出现的次数为2次,所以将Addr分离出去,在第二个隐私约束规则<age,Sex,Addr>中,age和Sex出现次数都为3次,所以将Addr分离出去,因为第一个隐私约束规则中已经将Addr分离,所以第二个隐私约束规则不做处理。在第三个隐私约束规则<name,IllneSS>中,name和IllneSS出现的次数相同,而值隐私约束和关联隐私约束都没有设计这两个属性的组合,所以任意选择其中一个属性分离。直到将所有的隐私约束规则处理完之后,关联隐私约束的处理方法和组合隐私约束相同。得到的垂直划分结果如下:{TenantID,Name,Age,Sex,Occup}{IllneSS}{PhySican}{Addr}值隐私约束需要对AIDS的记录特别保护,所以在划分时,将IllneSS值为AIDS的数据通过加密的方式来进行保护。S24:当所有隐私约束规则都满足时,对数据进行合并,将没有隐私约束的属性进行合并。具体合并方法:采用轮训机制,从最小的数据划分开始,遍历所有待合并的数据,若没有隐私约束且加入后数据块大小不超过系统设置上限,则将该数据加入到数据划分中,直到遍历完所有的数据划分或带合并数据。若已遍历完所有的数据划分,而待合并数据还未分配完,说明剩余的数据已不能加入任何一个数据划分,则将它们在不违背隐私约束规则的前提下合并。实施例中,对于划分结果,采用轮训机制,从最小的数据划分开始,即IllneSS开始,下一个待合并的属性为PhySican,通过查询隐私约束规则,发现它们之间没有隐私约束,则将PhySican加入IllneSS中,得到中间结果:{TenantID,Name,Age,Sex,Occup}{IllneSS,PhySican}{Addr}接着遍历Addr,同样地查询隐私约束规则,发现它跟IllneSS和PhySican都没有隐私约束规则,则将Addr加入其中,得到结果:{TenantID,Name,Age,Sex,Occup}{IllneSS,PhySican,Addr}再接着遍历下一个即TenantID,Name,Age,Sex,Occup,同样地发现两个分组之间存在隐私约束规则,同时已经没有其他的属性存在,所以划分结束,得到最终的划分结果。图3为用户数据安全存储方法流程图,采用启发式算法进行存储,包括:S3:将划分所得的数据块按一种启发式算法存储在数据节点中。按满足用户服务质量需求同时资源使用效益增量最大为目标进行数据块的放置。是围绕存储的资源使用效益来进行的。首先会选择资源使用效益最大并且满足用户服务质量需求的节点进行分配,因为该节点的剩余资源最少,所以分配次数最小,时间最快。在分配过程中,选择能够让其资源效益增加最大的数据块进行分配,确保系统资源利用率最大化。在分配结束后,将其移出分配列表,重复该过程。S31:计算每个节点的资源使用效益,并按升序插入到队列Ldata中,计算公式:Erecourse=UCPU·Umem·(1-|UCPU-Umem|)资源使用效益反应出不同资源的利用情况。目标是所有维资源利用最大化。在传统的资源使用效益中,往往只考虑了一个方面,如存储使用率,内存使用率,CPU使用率等,为了能更好地衡量多维资源的综合使用效率,本发明提出资源使用效益,主要考虑物理机的CPU和内存利用率,将节点按计算所得的资源使用效益升序放置在队列Ldata中。S32:判断待存储队列Ldata是否为空;S33:若为空说明全部数据已存储在节点中,结束算法;S34:取Ldata的队首节点作为目标存储节点,即资源使用效益最小的节点作为目标节点,以保证资源使用效益增量最大。S35:判断该目标节点能否满足用户的性能质量需求。具体的计算公式:size(node)>size(block)cost=Σi=1nΣj=1lensize(blocki)Bw(nodej)-Bw(nodej-1)+timemerge]]>应用存取数据的时间消耗主要跟带宽,数据块大小,连接次数有关,本发明用cost来表示。其中,n表示应用执行某个事物所需连接次数,len表示传输数据块到服务器所经过的链路跳数,每经过一个节点为一跳。timemerge表示应用合并数据所需要的计算时间。S36:若该目标节点不满足用户的性能质量需求,则取Ldata中下一个节点作为目标节点进行判断S37:若该目标节点满足用户的性能质量需求,则存储,在Ldata中删除该数据块,并重新计算该节点的资源使用效益,重新插入队列Ldata中。S38:最后输出各个数据块的存储映射。以上对本发明实施例所提供的一种考虑隐私保护的数据管理方法进行了详细介绍,以上说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1