隐私保护数据挖掘系统的设计与实现

时间:2022-05-19 04:04:17

隐私保护数据挖掘系统的设计与实现

摘要:随着网络安全问题受到越来越多的关注,隐私保护数据挖掘问题已经成为数据挖掘领域中的研究热点。该文设计与实现了一个隐私保护数据挖掘系统,系统的算法可以帮助用户完成一些简单的隐私保护数据挖掘工作。在实际系统应用中,用户可以根据实际需要加入新的算法来完成隐私保护数据挖掘工作。

关键词:隐私保护;数据挖掘;数据变换

中图分类号:TP309文献标识码:A文章编号:1009-3044(2010)11-2605-03

Privacy Data Mining System Design and Implementation

ZHONG Yi, CHEN Zhi-bin

(Guangzhou Municipal Education Information Center, Guangzhou 510030, China)

Abstract: With the network security issues are more and more attention, privacy preserving data mining data mining has become a hot area of research. In this paper the design and implementation of a privacy preserving data mining system, the system's algorithms can help users to complete simple privacy preserving data mining work. In actual system applications, the actual needs of the user can add new algorithms to complete the work of privacy preserving data mining.

Key words: privacy protection; data mining; data transformation

在信息时代,各种信息狂轰滥炸,人们在面临更多信息的同时,在浩瀚无垠的信息海洋面前,面临艰难的选择。互联网中快速增长的信息与数据背后隐藏着众多人们所不知的知识,因此,人们都希望通过对这些数据进行深入的分析,找出这些信息内部存在的关系和规则,将数据变为对自己有用的信息,成为真正的财富。数据挖掘技术的出现使得这些变成可能。数据挖掘技术是对大量的数据进行处理,从中提取和挖掘有趣知识的有效手段。数据挖掘可以使用户准确、及时地得到所需要的信息。但凡事都有两面性,数据挖掘能够产生财富的同时,信息安全与个人隐私问题成为一个严峻的问题。

1 系统需求分析

隐私保护数据挖掘系统是一个应用于集中式数据的隐私保护数据挖掘的工具软件。系统整体包括两个独立运行的子系统:隐私保护与数据挖掘子系统。系统主要分两步完成隐私保护数据挖掘工作,如图1所示。

关系数据库中的数据表是系统的处理对象。其中,隐私保护子系统对需要保护隐私的数据表进行隐私保护,得到隐私保护输出表,并保存到数据库。输出表包含多个配套的辅助信息表和一个经隐私保护后得到的改造后的新数据表。数据挖掘子系统根据辅助信息表对新数据表进行数据挖掘,得到数据挖掘结果。

1.1 隐私保护子系统需求分析

隐私保护子系统的需求分析如下:

1)执行算法

系统执行用户预先设定好的隐私保护算法,并将隐私保护输出表保存到数据库中。

2)指定需要保护隐私的数据表(以下简称原表)输入数据库

用户根据系统界面提示,指定原表输入数据库并建立连接。

3)选择原表

系统中显示原数据库中的数据表,用户从数据表中选出原表。如果找不到原表,用户可以返回,重新指定输入数据库。

4)设定算法

用户为数据库中的每个原表中的字段选择隐私保护算法的算法,未选择算法的字段将不会受到保护。用户可以为保护算法指定算法参数。如果没有指定,保护算法使用默认参数。

5)设定参数

系统显示算法参数的说明及当前值,用户对参数值进行修改。如果用户给定的参数值不合法,系统给出错误原因,并要求用户重新设定参数。

6)指定输出数据库

用户根据界面提示指定输出数据库并建立连接。

1.2 数据挖掘子系统需求分析

数据挖掘子系统的功能需求如下:

1)执行算法

系统执行用户设定好的数据挖掘算法,并将挖掘结果保存在结果文件中。

2)指定数据库

用户根据界面提示指定数据库并建立连接。

3)选择数据表

系统列表显示数据库中的数据表,用户从数据库中选出要挖掘的数据表。如果没有,用户可以返回并重新选择数据源。

4)设定算法

系统列表显示系统中存在的数据挖掘算法和原表中的全部字段,用户选择相应的算法,并选出应用该算法的字段。如果选择的字段不适用于所选择的算法,系统出现错误提示,并要求用户重新选择字段。

5)给定参数

系统显示算法参数的当前值及说明。如有必要,用户对参数值进行修改。如果用户输入的参数值不合法,系统提示错误及原因,并要求用户重新输入参数。

6)选择结果文件

用户从系统文件目录中新建或选择保存结果的文件。

2 隐私保护数据挖掘系统详细设计

2.1 隐私保护子系统

1)数据访问包

数据访问包是对数据库的访问方法。本文设计的系统使用开放式数据库互联(Open Database Connectivity)技术实现对数据库的访问。开放式数据库互联的工作依赖于数据库制造商提供的驱动程序,在开放式数据库互联的DLL下安装不同数据库的驱动程序,开发人员可以访问不同数据库的资源。

本系统使用MFC语言实现,开发工具为VC6.0。MFC引入了ODBC接口的封装类,这些类封装了很多的ODBC接口,通过这些类提供的接口,开发人员不用使用ODBC接口,就可以对数据库的进行大部分操作,这大大简化了编程过程,提高效率。

2)算法接口

所有的隐私保护算法组件都通过统一的算法接口与用户界面进行交互。算法组件的保存格式为dll文件,其导出函数必须符合下述格式:

extern”C”CAlg*PASCALEXPORT CreateAlg(void)

CAlg为算法基类,具体算法必须声明为算法基类的派生类并给出所有接口函数的实现。导出函数用来生成一个具体算法的对象,并返回该对象的指针。

算法基类包括的接口函数有:

・InitAlg(CDatabase*source,CString name,CString ob):算法初始化。给定算法的输入信息:source参数为使用该算法的数据库指针;name参数为使用该算法的数据表表名;ob参数记录了使用该算法的字段名,如果有多个字段,中间以空格隔开。如果算法不适用于指定的数据表或字段,函数返回相应的提示信息。

・GetPara(CListCtrl&list):获取参数信息。将算法的参数信息付值给list,其第一列必须为各个参数的取值,其他各列为各参数的说明,具体个列数和内容有具体算法决定。

・RunAlg(CDatabase*result):执行算法。按照设定好的输入信息和参数信息执行该算法,结果保存在result所指示的数据库中。

・SetPara(CListCtrl&list):设置参数信息。从list中读取各算法参数的取值,list的格式与GetPara方法中付值时的格式相同。如果list中的参数值不合法,函数返回错误原因。

2.2 数据挖掘子系统

1)数据访问包

与隐私保护子系统一样,这里略去。

2)算法接口

所有的隐私保护算法组件都通过统一的算法接口与用户界面进行交互。算法组件的保存格式为dll文件,其导出函数必须符合下述格式:

extem”C”CAlg*PASCAL EXPORT CreateAlg(void)

CAlg为算法基类,具体算法必须声明为算法基类的派生类并给出所有接口函数的实现。导出函数用来生成一个具体算法的对象,并返回该对象的指针。

算法基类包括的接口函数有:

・InitAlg(CDatabase*source,CString name,CString ob):算法初始化。给定算法的输入信息:source参数为使用该算法的数据库指针;name参数为使用该算法的数据表表名;ob参数记录了使用该算法的字段名,如果有多个字段,中间以空格隔开。如果算法不适用于指定的数据表或字段,函数返回相应的提示信息。

・GetPara(CListCtrl&list):获取参数信息。将算法的参数信息付值给list,其第一列必须为各个参数的取值,其他各列为各参数的说明,具体个列数和内容有具体算法决定。

・RunAlg(CString Fname):执行算法。按照设定好的输入信息和参数信息执行该算法,结果保存在Fname所指示的文件中。

・SetPara(CListCtrl&list):设置参数信息。从list中读取各算法参数的取值,list的格式与GetPara方法中付值时的格式相同。如果list中的参数值不合法,函数返回错误原因。

3 系统的实现

系统主要包括隐私保护予系统和数据挖掘子系统两大部分。

在隐私保护子系统的实现时,用户根据系统的界面提示,设置输入相关信息。然后系统根据用户设置的信息执行算法。隐私保护子系统设计并实现了概率转移、独立噪音和分割扰乱三个隐私保护算法。

隐私保护子系统根据用户输入输出数据表,执行算法得到相应的信息表和干扰后的数据表。这些结果表将集中存放在用户指定的数据库中。

在隐私保护子系统的实现时,用户根据系统的界面提示,设置输入相关信息。然后系统根据用户设置的信息执行算法。数据挖掘子系统主要设计有三种数据挖掘算法:ID3、k-means、和Apriori。

数据挖掘子系统根据用户的输入输出数据表,执行算法后得到的挖掘结果。用户指定这些结果保存在结果文件中。结果文件的格式如下:

1)ID3算法

文件类型:文本文件

用类似XML的文档格式描述得到的决策数。

2)k-means算法:

文件类型:文本文件

每行对应数据表中的一个元组,每行有两个数值,第一个为元组代号,第二个为该元组所在聚簇的代号。

3)Apriori算法

文件类型:文本文件

每一行是一条关联规则,关联规则的输出格式为:

(取值@字段,……)>>>(取值@字段,……)

参考文献:

[1] 丁小刚,黄伟伟,柏文阳.关联规则隐藏算法的研究[J].计算机应用研究,2006(6):28.

[2] 张鹏,童云海,唐世渭,等.一种有效的隐私保护关联规则挖掘方法[J].软件学报,2006(17):1764.

[3] 刘松.隐私保护下的关联模式挖掘.微计算机应用[J].2006,27(2):85.

上一篇:基于NASA World Wind的遥感影像处理方案研究 下一篇:高校网络考试系统的应用研究