本人毕业设计系统附完整文档和项目代码 (2)

因为系统的网络连接采用基于sockethttp协议,所以用户的输入的账号密码在网络传输过程中存在被人劫持而暴露用户密码的风险。采用传统方式web页面对前端用户输入的明文密码进行加密,然后在网络中传输加密后的密码,服务器接收到加密码后与数据库中的加密的密码进行比较来验证用户是否可以登录,但是这种方式下盗号者完全不需要知道用户的明文密码是多少,只需要劫持到网络传输中的加密后密码,以后直接发加密密码即可登录系统。

因为以上原因,我们想到的是,用户在登录页面,服务器根据用户存在与服务器的session生成一个随机码保存在服务器中,同时把这个值传给登录页面,登录页面获取这个值后拼接到用户的密码明文后面进行加密后通过网络传输到服务器,服务器接受到加密后密码后,通过服务器存储的随机值与数据库的原始密码也拼接起来加密后进行比较来验证用户登录,这样就可以保证用户每一次登录时通过网络发送的加密密码不一样,这样就算被劫持,也无法被人使用。

6.2搜索的精准与快速

如何人性化为用户提供精准服务,采用全文检索——垂直化搜索引擎主要针对系统内部的自有数据的检索,通过对系统内部数据建立索引提供给用户进行检索。

它既能满足用户对全文检索,模糊匹配的需求,解决数据库like查询效率低下的问题,又能够解决分布式环境下,由于采用分库分表或使用NoSQL数据库,导致无法进行多表关联或者进行复杂查询的问题。

lucene将文档中的词作为关键字,建立词与文档的映射关系,通过对倒排索引的检索,可以根据词快速获取包含这个词的文档列表。

能对句子或段落进行切割,从中取出包含固定语义的词。

当输入一个关键字进行搜索时,可能会命中许多文档,搜索引擎给用户的价值就是快速地找到需要的文档,根据排序算法,将相关度更大的内容排在前面,命中多次的文档比命中一次的文档有更高的相关性。

6.3文件的处理

传统系统用户只能下载文件后才能查看文件内容,并不能让用户在文件下载之前就能查看文件的内容,经常导致用户下载文件后发现文件不是自己想要的,不仅影响用户的体验,同时也给网站带来流量开销和连接的压力。为了实现文件预览,我们需要将文件转换为swf文件,实现flash播放达到预览,在这里面我们不仅要考虑不用版本office文件处理问题,还要考虑如果文件里面有图片如何准确提取出来把数据正确的存储到swf文件中。在这我们通过java代码使用OpenOffice服务把文件转换为swf文件,使用FlexPaperswfTools在线预览,从而达到用户不需下载文件就能看到文件内容。

6.4敏感词过滤

由于本系统收录的敏感词库中包含上万个敏感词,系统要对用户输入的文件信息进行处理,检查用户输入的信息是否含有敏感词,但是这里带来一个效率问题,采用传统思路,系统会对用户输入的一个文本数据比对上万次,来验证文本数据是否包含敏感词库的词。显然这是十分耗时的。NFA是非确定性的状态机,DFA是确定性的状态机。确定性和非确定性的最大区 别就是:从一个状态读入一个字符,确定性的状态机得到一个状态,而非确定性的状态机得到一个状态的集合。如果我们把NFA的起始状态S看成一个集合{S} 的话,对于一个状态集合S’,给定一个输入,就可以用NFA计算出对应的状态集合T’。因此我们在构造DFA的时候,只需要把起始状态对应到S’,并且找 到所有可能在NFA同时出现的状态集合,把这些集合都转换成DFA的一个状态,那么任务就完成了。因为NFA的状态是有限的,所以NFA所有状态的集合的 幂集的元素个数也是有限的,因此使用这个方法构造DFA是完全可能的。

6.5网站高并发

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwppjd.html