服务器端信息过滤算法.doc_第1页
服务器端信息过滤算法.doc_第2页
服务器端信息过滤算法.doc_第3页
服务器端信息过滤算法.doc_第4页
服务器端信息过滤算法.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 实验名称: 服务器端信息过滤算法的设计与实现2 算法摘要:1. 算法介绍:对于日益复杂的网络事务处理,服务器端要完成的工作纷繁复杂,服务器端的信息过滤显得尤为重要有尤为复杂,因此一个科学合理的算法需要去完成这些工作2. 算法要求: 高效性:高效率体现在两个方面:首先是处理的准确性,对于处理的信息做一定的规范,算法能够准确处理这些要处理的规范,其次是速度问题,对于大量信息的处理,效率的问题表现在所用时间 扩展性:这个特性对于这个特定的问题显得尤为重要,因为信息的未知性,我们不知道之后的变化,也就是算法所要处理的内容的变化性,因此良好的扩展性是必要的3 程序思想以及算法如下步骤:步骤一:建立统一的模板 Filter模块一模块五模块四模块二模块三步骤二:建立处理链chainFilter1Filter5Filter4Filter3Filter2 Filter模块一模块五模块四模块二模块三 步骤三:建立模块内部处理方法: doFilter(): 结束 替换目的信息 开始 遍历信息并查找目的信息 具体代码:public String doFilter(String str) /process the html tag String r = str.replace(, ); return r; 步骤四:对链的更新以及对信息的控制 1.对msg的控制,修改、获取 2.对链的操作:修改、获取 MsgProcessorVoid setFc()String process()Void setMsg()String getMsg()Filterchain getFc()4 源码如下: public class Main /* * param args */public static void main(String args) String msg = 大家好:),敏感,被就业,课没感觉,因为都没有姑娘;MsgProcessor mp = new MsgProcessor();mp.setMsg(msg);FilterChain fc = new FilterChain();fc.addFilter(new HTMLFilter() .addFilter(new SesitiveFilter() ;FilterChain fc2 = new FilterChain();fc2.addFilter(new FaceFilter();fc.addFilter(fc2);mp.setFc(fc);String result = cess();System.out.println(result);public interface Filter String doFilter(String str);public class MsgProcessor private String msg;FilterChain fc;public FilterChain getFc() return fc;public void setFc(FilterChain fc) this.fc = fc;public String getMsg() return msg;public void setMsg(String msg) this.msg = msg;public String process() return fc.doFilter(msg);public class SesitiveFilter implements Filter Overridepublic String doFilter(String str) /process the sensitive wordsString r = str.replace(被就业, 就业) .replace(敏感, );return r;public class HTMLFilter implements Filter Overridepublic String doFilter(String str) /process the html tag String r = str.replace(, );return r;public class FaceFilter implements Filter Overridepublic String doFilter(String str) return str.replace(:), V);import java.util.ArrayList;import java.util.List;public class FilterChain implements Filter List filters = new ArrayList();public FilterChain addFilter(Filter f) this.filters.add(f); return this;public String doFilter(String str) String r = str; for(Filter f: filters) r = f.doFilter(r); return r; 5 算法测试结果: 输入: 结果:6 实验总结: 在实现算法的时候深刻的感受到了思维模式对解决问题的方法的影响,解决一个问题的途径是从问题本身出发,那就是以终为始,一直牢记着要怎么解决问题,以及问题的重点是什么,设计算法是重点,我也相信通过这一次实验不能让我有多少质的提高,但是我相信通过这次实验让我学到了如何科学的去解决一个问题,严谨的流程是什么。当设计算法的时候,我一开始没有想到算法的设计就觉得这是一个很好解决的问题,只需要利用到Java中的replace方法就够了,但是对于适应性的考察却忽视了,后来了解到了设计模式对解决的问题的扩充。后来用这样的方式解决的问题,对于语言的运用有了一定的提高,对结构有了一定的认识,通过团队的协作让我了解到了团队合作的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论