超并行机器学习与海量数据挖掘.docx

上传人:b****6 文档编号:5962756 上传时间:2023-01-02 格式:DOCX 页数:18 大小:755.96KB
下载 相关 举报
超并行机器学习与海量数据挖掘.docx_第1页
第1页 / 共18页
超并行机器学习与海量数据挖掘.docx_第2页
第2页 / 共18页
超并行机器学习与海量数据挖掘.docx_第3页
第3页 / 共18页
超并行机器学习与海量数据挖掘.docx_第4页
第4页 / 共18页
超并行机器学习与海量数据挖掘.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

超并行机器学习与海量数据挖掘.docx

《超并行机器学习与海量数据挖掘.docx》由会员分享,可在线阅读,更多相关《超并行机器学习与海量数据挖掘.docx(18页珍藏版)》请在冰豆网上搜索。

超并行机器学习与海量数据挖掘.docx

超并行机器学习与海量数据挖掘

目录

1.系统需求分析1

1.1电院综合测评现状及此系统的意义1

1.2普通用户需求2

1.3管理员需求2

2.系统结构设计3

2.1ADO.NET开发环境简述3

2.2E/R模型设计4

2.3数据库模式5

2.3.1用户信息:

Student表5

2.3.2项目信息:

Item表5

2.3.3项目参与信息:

Participate表6

2.3.4项目冲突规则:

Item_Rule表6

2.3.5Send_Message表6

2.3.6Recv_Message表7

3.图形用户界面设计8

3.1登陆、登出界面及基本信息8

3.2站内信的收发8

3.3素拓项目信息11

3.3.1普通用户11

3.3.2管理员12

3.4用户权限信息14

4.事务流程15

4.1L两类用户的公共部分15

4.1.1个人信息15

4.1.2站内信15

4.2普通用户部分15

4.3管理员部分16

5.测试数据17

6.参考资料18

1.系统需求分析

1.1电院综合测评现状及此系统的意义

在当前上海交通大学电子信息与电气工程学院的素质综合测评体系中,学生最终的综合测评分数包含以下四个部分:

学业成绩、素质拓展测评成绩、成果奖励成绩和违反校纪校规处罚,详细计算规则可参见《学生综合测评工作手册》。

其中学业成绩可以直接从学校教务处的网站上获得,并不存在太多麻烦。

而另外三个部分(在此我们将其合称为素拓部分)由于项目繁杂众多,每年在统计时耗时、耗力。

目前电院在进行素拓部分分数统计时采用的方法相当笨拙,其流程大致如下:

1、每学期开学初汇总上学期所有学生的素拓项目

2、由各位思政老师和团委老师上传所有学生所参加过的项目以及对应的成绩至FTP

3、每个学生从FTP上寻找和自己相关的素拓项目,汇总后报告各自班长

4、每个班班长汇总各自班级的情况后在统一交给学院

5、学院得到所有学生的素拓分数后发放确认表格,由各个同学签名确认

如此流程存以下重大缺陷:

1、每个同学必须如海底捞针一般从近百个excel文件中寻找和自己相关的项目,效率极低。

2、从同学上报班长到最终确认政绩的过程缺乏监督,事实上虚报素拓项目完全无法被察觉,例如每学期虚报参加社团者不计其数。

3、分数有改动时不得不上传带有版本号的不同表格文件,各种带有版本号的文件导致FTP上的内容非常混乱,增加同学寻找有效信息的难度。

4、缺乏隐私保护,每个人的成绩暴露在所有同学的视线中(也许我们需要感谢这一缺陷使得我们可以轻松拿到大量真实数据用于本系统测试)。

目前每个学期的素拓分数统计大约耗时3周左右,且经常出现项目遗漏之后无法弥补的悲剧。

如此低效笨拙的做法在交大电院持续了那么多年,实在让人难以想象,这与国际一流学校的风范相去甚远。

因此我们所设计的电院综合测评系统立志于让每个同学和老师高效完整每学期初的综合测评工作,更重要的是使整个流程规范化,弥补当前综合测评工作中可能存在的一些漏洞。

我们的整个系统的规则基于《电院本科生综合测评工作条例》和《学生综合测评工作手册》,在此不做赘述。

1.2普通用户需求

这里的普通用户包括了学生和团委或思政老师。

学生的主要需求是查分,选择提交的项目;团委或思政老师的主要需求是为学生参与的项目打分。

但是,由于在实际情况中学生同样有用打分权限,例如部长给部门的成员打分,班长给班级同学的集体意识打分等。

而有些思政或团委老师同时也是研究生,如果将来学院需要将研究生和本科生的综合测评工作统一,他们同样需要查询、提交自己参与的素拓项目。

故此处将这两类用户归为同一类,称之为“普通用户”。

以下是普通用户的需求:

1、允许普通用户通过自己的学号(工号)和密码登陆系统。

2、允许普通用户在登陆后修改自己的密码。

3、允许普通用户查看现有的所有素拓项目的基本信息,如:

学分,报名时间,官方要求的最高平均分等。

4、允许普通用户在报名截止前进行报名,参加可以参与的素拓项目。

5、允许普通用户对自己已参加的且已经出成绩的素拓项目进行选择提交。

6、允许普通用户和系统内的其他用户通过站内信进行交流,例如对项目打分有质疑时可以向相关的负责人(打分者)上诉。

7、不允许普通用户修改任何关于素拓项目的基本信息。

8、不允许普通用户查看别人参加素拓项目的情况,普通用户仅仅能查询自己的素拓项目成绩和打分者。

9、普通用户可以拥有管理员授予的打分权限,并对被授权的项目进行打分,打分时间以及打分人都会向被打分者公开,以接受监督。

1.3管理员需求

此处管理员指的是制订综合测评规则的人或团队,以下是管理员的需求:

1、允许管理员通过自己的学号(工号)和密码登陆系统

2、允许管理员对所有素拓项目的基本信息进行查询和修改。

3、允许管理员对素拓项目的打分者进行设置,分配打分权限。

4、允许管理员和系统内的其他用户通过站内信进行交流,例如对学生的质疑进行回复。

5、允许管理员制定项目冲突的规则,例如普通班干部和核心班干部两项不能共存,同一类型的素拓项目只能算一个等。

学生提交的最终结果必须符合管理员制定的规则。

6、不允许管理员对学生参与的项目进行打分。

第6条有必要解释一下,在现有的制度中,现实中会出现总负责的团委老师越权对其感觉不满但并不违规的素拓成绩随意更改的情况(俗称“和谐”)。

我们的系统不允许此类行为发生,要求所有的打分过程公开透明。

2.系统结构设计

2.1ADO.NET开发环境简述

ADO.NET组件的表现形式是.NET的类库,它拥有两个核心组件:

.NETdataprovider(数据提供者)和DataSet(数据结果集)对象。

.NETDataProvider是专门为数据处理以及快速的只进、只读访问数据而设计的组件,包括Connection,Command、Datareader和DataAdapter四大类对象,其主要的功能特点是:

1)在应用程序中连接数据库,连接SQLServer数据服务器

2)通过SQL语句的形式执行数据库操作,并能以多种形式把查询结果填充到DataSet里。

DataSet的对象是支持ADO.NET的断开式、分布式数据方案的核心对象。

DataSet是数据为驻留表示形式,无论数据源是什么,它都会提供一致的关系编程。

它是专门为独立于任何数据源的数据访问而设计的。

DataSet对象的主要功能是:

1)用其中的DataTable和DataRelation对象来容纳.NETDataProvider对象传递过来的数据库访问结果集,一边应用程序访问。

2)把应用代码中的业务执行结果更新到数据库中。

并且,DataSet对象能在理想的情况下管理存储数据,这在海量数据访问控制的场合是非常有利的。

下图描述了它的体系结构:

图2-1ADO.NET体系结构图

本次大作业中,主要应用到了DataProvider的Connection对象,用不同的权限,即不同的用户名和密码来登录数据库系统,实现管理员和学生/教工用户权限的分离。

并且使用DataAdapter对象从数据库中读入数据到dataset的各个表中,比如:

Studen表,Item表和Participate表中,使用Command对象来生成相应的增删补语句,将结果从DataSet反应到数据库中,从而完成本次大作业的各个功能。

2.2E/R模型设计

图2-2系统的E/R图

2.3数据库模式

2.3.1用户信息:

Student表

图2-3Student表信息

Student(std_id,password,authority,class,std_name)。

Student用来记录用户信息,其中std_id是主键,对应学生的学号,教师的教工号或者是管理员特有的账号。

(原来设计时想用User命名,但如此定义与SQL系统定义的User表会发生冲突,因此改名Student,虽然该表中的用户并非全是Student,但相信他们都是从Student过来的);password是用户登录的密码;authority是用来区分普通用户和管理员的布尔变量,class记录用户所在的班级,std_name记录用户的姓名。

管理员拥有对此表的访问修改权限,普通用于仅可编辑自己的密码。

2.3.2项目信息:

Item表

图2-4Item表信息

Item(item_id,item_name,max_avg,start_enroll,end_enroll,credit,is_compulsory,item_number)

顾名思义,本表是用来记录素拓项目的数据结构。

Item_id是项目标识,也是Item表的主键;item_name是项目的名称;max_avg是该项目最高平均分,例如当最高平均分为90时,某个老师提交所有的学生成绩为95是不被允许的;start_enroll是报名起始时间,end_enroll是报名截止时间,当前时间处于两者之间方可报名;credit是项目学分;is_conpulsory是用来区分该素拓项目是否必修的布尔量;item_number是项目编号,注意此属性与Item_id不用,几个不用的项目可能共享一个项目编号,而Item_id是真正区分所有项目的id,无官方手册中对应的信息。

这里的credit属性同时用来区分项目类别。

当credit>0时其意义为真实学分;当credit=0时,对应的意义为特殊的奖惩项。

例如参加竞赛可以获得0.5-2分的加分,其计算时并非按照学分来算,而是直接在总评上加;又比如翘课被发现会有一定程度扣分……

管理员拥有对此表的修改权限,普通用户近可访问。

2.3.3项目参与信息:

Participate表

图2-5Participate表信息

Participate(std_id,item_id,grade,selected,submitter_id,submitter_date,rate)

Participate依存于对应的student和item实体,是weakrelationship,其表中有拥有std_id,item_id作为外键。

表中的每一项记录了具体某一个学生参加了某一个素拓项目。

在生成物理模型后,这两个外键就会出现在Participate中。

Grade是学生选修本项目的成绩;selected表示学生是否选择提交此项目计算最终成绩;submitter_id是打分者的ID,为外键,当学生对分数不满时可根据此信息进行投诉;submitted_date是打分的日期;rate是用户对该项目的评价,学院可收集这一信息对项目进行评估。

普通用户通过报名可以生成一个Participate项,并能修改selected属性,管理员可以编辑subitter_id设置打分者,对应subiiter_id的用户可以设置grade的值,submitted_date在打分时自动根据系统时间生成。

2.3.4项目冲突规则:

Item_Rule表

图2-6Item_Rule表信息

Item_Rule(rule_Id,item_number1,item_number2)

Item_Rule用表示项目间无法一起提交的约束,例如普通班干部和核心班干部、部长和部员、英语四级和英语六级等。

Rule_id是这个表的主键,记录这个规则的标识,item_number1和item_number2是用来记录冲突项目的编号(注意对应为Item表中的item_number,并非其ID)。

所有人可以访问此表,仅管理员可以编辑。

2.3.5Send_Message表

图2-7Send_Message表信息

Send_Message(send_message_date,to_user_id,sendtext,std_id)

Send_Message用来记录发出的站内信消息。

send_message_date表示发送时间,to_std_id为外键,表示发送的目标用户;sendtext是发送信件的内容;std_id为发信者id和send_message_date一起作为其主键。

2.3.6Recv_Message表

图2-8Recv_Message表信息

Recv_Message(recv_message_date,from_user_id,sendtext,std_id)

Recv_Message用来记录发出的站内信消息。

recv_message_date表示发送时间,from_std_id为外键,表示发信的用户;sendtext是发送信件的内容;std_id为收件者id和send_message_date一起作为其主键。

Send_Message是从发送者的角度观察站内信,Recv是从接收者的角度观察站内信。

假设A给B发送了一条消息,此消息在两个表中都会有保存,两个用户分别在各自的发件箱和收件箱中可以看到此消息,对决定是否将其删除。

此处信息内容的冗余为了使各个用户能独立处理和自己相关的信件。

E/R图中的Send和Recv关系在消息产生时由Student和Recv_Message、Send_Message产生逻辑上的关联,为弱关系,故不需要对应的表。

3.图形用户界面设计

3.1登陆、登出界面及基本信息

图3-1为登陆界面,如输入错误的密码或用户名系统会给出提示,如图3-2所示。

登陆成功后可以查看自己的信息,或修改密码,如图3-3所示。

图3-1系统登陆界面

图3-2系统登陆界面

3.2站内信的收发

如图3-4所示,通过搜索收件人选项可以寻找收件人的ID,对于同名的情况则可以在搜索结果中选择发件人对应的ID作为收件人。

选择完收件人后点击发送就可将正文内容发送给相应用户。

在收到站内信后,点击回复可直接将收件人设为发件人发送消息,如图3-5,图3-6所示

图3-3用户信息界面

图3-4发送站内信界面

图3-5查看收到的站内信

3.3素拓项目信息

3.3.1普通用户

如图3-6普通用户只能查询各个项目的信息,以及自己参加的项目的情况。

普通用户能选择项目是否提交,文本框中会根据用户选择的项目情况计算出总分,计算方法详见《电院本科生综合测评工作条例》和《学生综合测评工作手册》。

“推荐选择”为系统根据当前用户拥有的素拓项目给出最优的项目选择方案(用户如果不信任本系统的推荐算法,可以根据自己的爱好自由选择提交方案)。

当选择的项目存在冲突时,提交动作不被允许,如图3-7所示。

图3-6素拓项目信息

图3-7图中用户选择了三个编号为106的项目,这是不允许的,同时推荐方案中会过滤掉所有不合法的情况

如图3-8所示,对于管理员授权的参与项,普通用户可以对此进行打分。

图3-8普通用户打分的界面

3.3.2管理员

管理员看到的项目所有项目信息列表与普通用户相同,但是拥有修改的权限。

与普通用户不同的是,管理员没有已报名项目、可报名项目、打分项目这三栏,因为管理员是规则制定者,其本身不参与到游戏中,所以不需要报名这一事件。

同时为了防止管理员越权擅自修改别人的分数,我们只允许管理员授权别人打分的权力,而其本身无法修改别人的分数。

图3-9管理员的项目界面

图3-9展示了管理员设置打分权限的过程,通过搜索项目可以过滤出需要设置打分权限的参与列表,然后通过编辑打分人来设置打分者。

图3-10展示了管理员编辑冲突项目列表,图3-11显示了管理员加入新的冲突规则。

图3-10管理员看到的冲突的项目列表

图3-11管理员看到的冲突的项目列表

3.4用户权限信息

如图3-12所示,管理员拥有更改用户基本信息以及权限的权力,仅管理员可对此表进行操作,同时此表仅对管理员可见。

其中管理员可以在普通用户忘记密码后通过更改密码设置其新密码,但原有密码对管理员并不可见。

图3-12管理员的用户管理界面

4.事务流程

4.1L两类用户的公共部分

4.1.1个人信息

1、查询自己的信息

2、修改个人密码

3、检测现有的密码

4.1.2站内信

1、发送站内信:

a)文本框中填入收件者姓名,点击搜索获取该姓名的人编号。

b)选择收件者的编号,并点击确认,收件者编号即为选中者的学号或教工号。

c)在大文本框中输入信息内容。

d)点击发送后,若显示“消息已成功发送”,则信息已经发送成功。

2、收件箱:

a)观看收件箱中现有的所有邮件。

b)点击相应的邮件,并点击删除邮件,可将当前选中的邮件删除。

c)点击相应的邮件,并点击显示邮件,或者双击相应的邮件,会弹出一个显示邮件的具体弹窗。

d)点击弹窗中的回复,即可对相应的邮件进行回复。

3、发件箱

a)观看发件相中现有的所有邮件。

b)点击相应的邮件,并点击删除邮件,可将当前选中的邮件删除。

c)点击相应的邮件,并点击显示邮件,或者双击相应的邮件,会弹出一个显示邮件具体信息的弹窗。

4.2普通用户部分

1、素拓项目

a)观看现有的所有素拓项目的具体信息。

b)观看现有的可以报名项目的具体信息。

c)观看自己报名的项目的具体信息。

d)点击自己想要报名的项目,并点击提交,相应的项目就会出现自己报名的项目列表中。

e)选择已经被打过分的项目,作为最后的素拓项目提交,总得分会动态显示当前选择所有的素拓项目的加权得分。

f)点击“提交”,就会将已经选择的项目作为最终素拓项目的选择并且提交到服务器上。

g)点击“推荐选择”,会出现能从目前所有项目中选择出使得总分最高的方案。

2、项目打分

a)观看管理员分配给自己需要打分的项目。

b)给每一个项目进行打分,并且选择“确定”,打分日期就会自动变成当前系统时间。

4.3管理员部分

1、素拓项目基本信息

a)观察所有的素拓项目的基本信息。

b)修改某些项目的信息,并点击“保存修改”后,即可保存当前对素拓项目信息的修改。

2、项目打分授权

a)输入相应的素拓项目名称或者班级名称,选中相应的复选框,点击“搜索”,即可出现相应的项目。

b)点击“编辑打分者”,在弹窗中填入相应的打分者姓名,并且点击“搜索”,会显示出相应打分者姓名的编号,最后,点击相应的打分者。

c)点击“确认”,相应的项目的打分者就变成了“编辑打分者”所选择的人。

3、项目冲突规则

a)观察现有的项目约束编号。

b)点击“插入新约束”,即可指定两个新的项目编号,并把它作为新的项目约束,插入表中。

c)点击相应的约束,并点击“删除该约束”,即可删除该约束。

4、用户基本信息

a)观察现有的所有用户的信息

b)点击“更改密码”,可为相应的学生进行密码修改,给用户赋予新的密码

c)点击“插入新用户”,可以编辑新的用户姓名,学号,并插入到数据库中

d)选择相应的用户,并点击“删除该用户”,即可删除选择的相应用户

e)在表上可以直接进行修改,并点击“保存修改”,将结果存入数据库中。

5.测试数据

本系统采用的测试数据均来自电院综合测评的FTP,ftp:

//202.120.38.171/。

由于众老师上传的资料格式五花八门,因此我们从总共12000多条数据中选取了6000多条较为规范的进行测试。

由于在整理数据的时候,我们深切体会到由Excel表格提交不规范所带来的麻烦,因此我们的系统暂时不提供用Excel提交数据的功能。

若今后投入到实际应用中,可在使用者规范意识加强后增加此功能。

图5-1综合测评FTP上纷繁复杂的各种excel表格

6.参考资料

[1]《数据库系统基础教程》第三版jefferyd.ullman,jenniferwidom,2008.8

[2]《电院本科生综合测评工作条例》,上海交通大学,2011

[3]《学生综合测评工作手册》,上海交通大学,2011

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 城乡园林规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1