为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

程序和文件快速打开工具

2017-10-26 18页 doc 112KB 22阅读

用户头像

is_196623

暂无简介

举报
程序和文件快速打开工具程序和文件快速打开工具 Harbin Institute of Technology at Harbin Institute of Technology at Weihai Weihai 数据结构课程设计报告 数据结构课程设计报告 设计题目, 程序和文件快速打开工具 院 系, 计算机科学与技术学院 班 级, 0804102 学 号,080410227 080410228 080410206 080410226 设 计 者, 康龙彪 朱虹宇 连思思 刘宗仁 哈尔滨工业大学,威海, II 前 言 数据结构是...
程序和文件快速打开工具
程序和文件快速打开工具 Harbin Institute of Technology at Harbin Institute of Technology at Weihai Weihai 数据结构课程设计报告 数据结构课程设计报告 设计目, 程序和文件快速打开工具 院 系, 计算机科学与技术学院 班 级, 0804102 学 号,080410227 080410228 080410206 080410226 设 计 者, 康龙彪 朱虹宇 连思思 刘宗仁 哈尔滨工业大学,威海, II 前 言 数据结构是计算机专业的必修和主干课程之一,它旨在使学生学会分析研究数据对象的特性,学会数据的组织,以便选择合适的数据逻辑结构和存储结构,以及相应的运算(操作),把现实世界中的问题转化为计算机内部的表示和处理,这是一个良好的程序设计技能训练的过程。在整个教学或学习过程中,解决实际问题的能力和技巧的训练是一个重要的环节。 本课题设计要求学生分组进行(每组2-4人),自行选题,选题的思想是根据实际需要进行调研,以组为单位提交课程设计任务书,给出所选项目的背景和意义,由导师确定选题的级别,主要是以实用性为主,开发一个具有实际价值的项目,经过2周的课程设计后接受课程设计组老师的结题验收。 教师评语: I 成 绩: 哈尔滨工业大学(威海)数据结构课程设计任务 书 院(系): 计算机科学与技术学院 专 业:计算机科学技术 姓 名: 杨春程 肖福坤 学 号:090410311 090410315 课程设计题目:新型USB冗杂文件管理秘书 II 问题阐述与分析: 设计题目背景: 随着电脑在日常生活、工作中用到的越来越广泛,作用越来越大。电脑用多了,上网多了,看到有价值的文档,大家一般都会有保存下来的冲动,时间久了U盘里面一定充斥这各种各样曾今有价值或者至今仍有价值的文件。但是存储空间通常都是被一些不经常使用,或者一次性的新建文档所占据。为了清理空间我们在不知道文件使用频率的前提下,不得不对每个文件依次查看,确定是否这些文件是否有价值。这样白白的浪费了大量的宝贵时间。为了找到自己所需要的某一篇重要文档或者急需使用软件,我们不得不耗费大量的时间逐一查找。该课程设计所要开发的小工具就是帮助我们解决这些问题。 摆渡攻击的工具是摆渡木马,它是一种特殊的木马,其感染机制与u盘病毒的传播机制完全一样,只是感染目标计算 III 机后,它会尽量隐蔽自己的踪迹,不会出现普通 u盘病毒感染后的症状,如更改盘符图标,破坏系统数据,在弹出菜单中添加选项等,它唯一的动作就是扫描系统中的文件数据,利用关键字匹配等手段将敏感文件悄悄写回u盘中,一旦这个u盘再插入到连接互联网的计算机上,就会将这些敏感文件自动发送到互联网上指定的计算机中。摆渡木马是一种间谍人员定制的木马,隐蔽性、针对性很强,一般只感染特定的计算机, 普通杀毒软件和木马查杀工具难以及时发现,对用户的私密信息危害重大。 而当今尚未有特别有效的解决方法,大多解决措施为监控恶意进程来检查U盘是否感染摆渡木马,本软件则通过监控U盘文件的操作变化,通过查看监控记录,来判断是否感染摆渡木马。从而减少的用户电脑中私密文件的泄露。 设计实现意义: IV 该软件能够让你快速查找定位并打开想使用的各种文件。可以人性化的帮助用户整理不经常使用的文件,使用该工具可以使你在电脑上的学习、工作更加有效率,有更好的使用体验。辅助杀毒软件,减少的用户电脑中私密文件的泄露。 解决的主要问题: 1、 在安装应用程序较多的情况下,通过输 入关键字实现特定程序的查找定位和快 速启动; 2、 在实现启动程序的同时,实现对 windows控制面板中系统功能的快速调 用; 3、 指定存放常用文档的目录和常用文档 类型,在文档较多的情况下,通过输入 关键字查找定位文档并快速打开; 4、 在此基础上,考虑拓展功能如下: 1) 通过预先输入常用网站列表或者扫 描网页收藏夹,在输入网站关键字时 快速打开网页; 2) 实现界面的换肤功能,具有更好的用 V 户体验; 3)将文件搜索功能实现的更完整,将桌面搜索功能融入进去。 VI 工作量: 该程序功能大致可划分为以下几个部分: 1、 程序、系统功能、文件和网页信息索 引列表的建立,以及对于以上四种类型 实现不同的调用启动方式。 2、 当输入关键字时,字符的精确匹配的 实现,考虑使用正则表达式。 3、 多个皮肤动态更换的实现。 4、 考虑将基本框架和功能实现相分离, 将第一项四种类别的启动用插件的方式 实现,使该工具功能具有更好的可扩展 性。 该工具实现后,运行时以简洁美观的对话框呈现,当输入关键字时,程序自动将匹配最好的结果以列表的方式呈现,用户可选择正确的项目快速打开。 VII 工作计划安排: 第16周:前半周小组成员将开发环境配置好,该软件使用VS2008开发,为了实现版本控制,使小组成员更好的协作开发,在google code 上项目托管,使用SVN服务进行版本控制;后半周查找资料,并作出软件各个功能模块的详细设计和详细分工,并在周末正式开始代码编写。 第17周:并行开发基本框架各个模块,在该周最后几天基本完成基本框架和各个模块的编写,开始整合调试程序。 第18周:前半周做界面的优化和程序的调试及完善;后半周整理程序文档,准备课程设计的验收。 VIII 同组设计者及分工: 康龙彪:1、程序整体框架的设计和实现,如插件和皮肤的接口实现; 2、基本功能类的设计和实现,如索引建立和程序、文件打开; 3、组织小组开发和组员的详细分工,协调小组成员的开发工作; 朱虹宇:1、具体插件的实现,即程序、 系统功能、文件和网页打开功能 的插件开发; 2、负责模块的调试工作; 连思思:1、程序界面的设计和美化,皮 肤的设计和实现; 2、与康龙彪共同负责软件整体 的调试; 3、程序开发文档的管理; 刘宗仁:1、IE和火狐浏览器网页收藏夹 搜索插件的实现; IX 2、插件的调试工作。 X 哈尔滨工业大学(威海)课程设计报告 1( 项目研究背景与意义 设计题目背景: 随着电脑在日常生活、工作中用到的越来越广泛,作用越来越大,各种应用软件的数量增越来越快。如今我们为了不同的需要常常在电脑上装了很多软件,为了使用方便,经常可见桌面上堆满了快捷方式,但是这却使我们经常为找到要用的软件而苦心寻找图标或程序菜单。相似的情况也发生在文件的使用和管理中,我们经常会为不能快速自己想听的一首歌或是文档而烦恼。该课程设计所要开发的小工具就是帮助我们解决这些问题。 设计实现意义: 该软件能够让你快速查找定位并打开想使用的应用程序和系统功能,并且可以指定存放文档的目录和文档类型,实现文档的快速查找和打开,以实现轻量级桌 1 哈尔滨工业大学(威海)课程设计报告 面搜素的功能。使用该工具可以使你在电脑上的学习、工作更加有效率,有更好的使用体验。 2( 需求分析 程序设计流程很简单(但每个环节都不简单): 搜索磁盘(建立全盘文件记录文件) 建立索引 搜索索引 搜索结果处理 各个流程简介并用上的数据结构知识: ?1搜索磁盘:遍历全盘所有文件夹与文件,将每个文件(夹)的相关信息写到文件记录文件AllFile.dat里;一开始是用上递归遍历的算法,其实效率已经不错了,但后来改进了算法,采用非递归遍历方法,使用堆栈去管理文件目录来实现遍历。 ?2建立索引:对AllFile.dat文件里面 2 哈尔滨工业大学(威海)课程设计报告 的每个文件记录按其某种信息(如文件名索引就以其各部分文件名,文本内容索引就以分词后得到关键词处理后)插进倒排表,然后将倒排表写一个索引文件里。为了减小索引文件读取,对索引文件建立一个查询的索引文件。这部分用到的知识是倒排表,树(分词时用到),链表(插倒排表时用到),散列表(即hash,在分词得到的关键词后用来处理关键词)。 ?3搜索索引:按索引取回文件相关记录,流程如此:OffsetIndex DataIndex AllFile.dat,说简单点就用小索引去查大索引,取到大索引部分信息后去查AllFile.dat,拿到符合条件的文件记录。这部分其实也用上建立索引的知识,而且很考文件读写操作(在对索引文件的深刻理解上) 3 哈尔滨工业大学(威海)课程设计报告 ?4结果处理:要处理好才能与界面接上,在关键词与搜索和或搜索时也用上链表还有Set(集合,处理重复)等数据结构。 本程序功能可分成4个模块:分别为选项设置模块,文件搜索模块,文件监控模块,文件整理模块。下面根据用户的实际需求,分别对每个部分的所要所要实现的功能的具体要求: 3( 概要设计 1?倒排表: 假设有3篇文章,file1,file2,file3,文件内容如下: file1 (单词1,单词2,单词3,单词4....) file2 (单词a,单词b,单词c,单词d....) file3 (单词1,单词a,单词3,单词d....) 4 哈尔滨工业大学(威海)课程设计报告 建立的倒排索引就是这个样子: 单词1 (file1,file3) 单词2 (file1) 单词3 (file1,file3) 单词a (file2, file3) .... 这就是倒排索引。 2?文件偏移 举AllFile.dat为例子,它其实是一个文本文件,里面每一行记录着一个文件或文件夹的信息 然后用二进制方式打开 5 哈尔滨工业大学(威海)课程设计报告 然后黄色就是第一行(即第一条记录),其偏移(在AllFile里)是: 0x00 然后绿色就是第二行(即第二条记录),其偏移(在AllFile里)是: 0x27 然后蓝色就是第三行(即第三条记录),其偏移(在AllFile里)是: 0x27 同理………………………… 0x68 同理………………………… 0x8B 好了,有了上面两个概念,那么就可以开始介绍索引文件是怎样写出来的了。 6 哈尔滨工业大学(威海)课程设计报告 1.首先是建立文件名索引 首先拿一AllFile.dat里一行记录,取出其文件名字(有大写都将其变为小写,对减小倒排表体积),然后拆分出一个个字母,将其处理一下(只有用了其ASCII码),然后把文件偏移插到倒排表里面,如我拿出第二行记录,他在AllFile.dat里的偏移是0x27(由上面知) 拿出他的名字Boot,变成小写boot,拆出一个个单词b、o、 o、t ASCII码值为0x62 0x6F 0x6F 0x74 然后插表:(注意是插偏移值,重复的不用插) …… …… 0x62 …… 7 哈尔滨工业大学(威海)课程设计报告 …… …… 0x6F …… …… …… 0x74 …… …… 然后再取第三行记录 他在AllFile.dat里的偏移是0x43(由上面知) 拿出他的名字Boot,变成小写boot,拆出一个个单词b、o、 o、t ASCII码值为0x62 0x6F 0x6F 0x74 然后插表:(注意是插偏移值,重复的不用插) 8 哈尔滨工业大学(威海)课程设计报告 …… …… 0x62 …… …… …… 0x6F …… …… …… 0x74 …… …… 同理取出第四条记录与第五记录分别是 boot与bootfont,插表后 9 哈尔滨工业大学(威海)课程设计报告 0x66 …… …… 0x62 …… …… …… 0x6E 0x6F …… …… …… 0x74 …… …… 如此就建立起来单字符索引,即每个文件 名里每个字符都插入倒排表里,但这样可 能到时搜索出来的结果会很多,所以我还 10 哈尔滨工业大学(威海)课程设计报告 建立双字符倒排表,但只用于字母与数字,但首先要用将其转换一下值(有点类似hash原理) 首先将字符‘0’—‘9’换成整数1-10,将‘a’—‘z’换成整数11-36,大写也换成11-36,然后计算 twoCharID = (Char1-1)*36 +(Char2); 如刚才boot,取bo,值为12、25,计算值为(12-1)*36+25=421=0x1A5;取oo,算值为889=0x379…… 再将文件偏移也插到倒排表里面。 建立双字符索引是为了保证搜索顺序(因为搜索时先搜索双字符) 至于中文每个字用两个字符也差不多原理了,实现细节注意一下,就变成编程问题了 2.其次是建立文本内容索引 11 哈尔滨工业大学(威海)课程设计报告 原理是一样的,不过插倒表时就先经过hash处理,如 Hashbucket = Hash(分词分出的关键词) 然后也是把关键词所在的文本所在 AllFile.dat里的偏移(太拗口了)插进倒排表里 ………… ………… …… Hashbucket ………… ………… Hash函数其实就是能过一连串计算将本来聚合在一起的值分散开来,我用的hash函数是将传进的字符串hash成一个整型值 unsigned long CreateTextIndex :: lh_strhash(void *str) 12 哈尔滨工业大学(威海)课程设计报告 { int i,l; unsigned long ret=0; unsigned short *s; if (str == NULL) return(0); l=(strlen((char*)str)+1)/2; s=(unsigned short *)str; for (i=0; i
/
本文档为【程序和文件快速打开工具】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索