********************建 议*****************

生活简单到无聊 2013-08-08 05:17:37
建议在各主流语言模块中,弄个网络编程的学习版块~~
或者按操作系统分,弄个windows网络编程和unix网络编程。




话说,这么好的建议,能给点可用分不~~
...全文
82 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
管理员 2013-08-09
  • 打赏
  • 举报
回复
感谢建议,目前已经有了一些网络编程的版块,可以在左侧目录树中搜索。

threenewbee 2013-08-09
  • 打赏
  • 举报
回复
建议很好,我代表我自己给你口头表扬一次。
  • 打赏
  • 举报
回复
Sosoo 1.0网络爬虫程序 ---用户开发手册 编写人:王华(rimen/jerry) 编写目的:基于sosoo定制web spider程序的编程人员。 目录 一:安装sosoo 2 二:功能定制 2 1.基本功能参数的设置。 2 2.配置机器人对url的检查 3 3:实现文件管理。 4 4.定制html文档下载规则。 4 5.设置对下载后http文档的过滤处理 5 6.启用机器人运行期监控。 5 7.启用对http协分析的监控。 5 三:sosoo描述 6 四:应用开发指南 6 1.Roboter类,spider程序的主类。 6 2.TaskList接口,解决对处理任务的存储。 7 3.Http客户端实现。 7 4.实现网页存储或处理 7 5.实现运行期的监控 8 五.程序例子 9 六.参考依赖 10 一:安装sosoo sosoo提供的是一个sosoo-core.jar包,其中并没有提供可运行的程序入口。如果要使用可以通过src中的examples进行体验。开发者可以基于在这上开发出基于UI,j2ee等spider程序 把sosoo-core包加入到你应用的classpath中。 Sosoo 提供一个线程类的来代表一个机器人com.sosoo.robot.spider. Roboter。 通过一个测试类 public static void main(String[] args) throws Exception { Roboter robby = new Roboter(); robby.setStartURL(new URL("http://10.25.101.173:7001/pa18Web/framework/images/framevork_04.gif")); robby.setMaxDepth(0); //设置最大连接访问深度 robby.setSleepTime(0); robby.setWalkToOtherHosts(true); robby.run(); //启动 } 这样就启动了一个spider程序,sosoo将根据你对javaBean参数的设置进行对网络上html 的抓取. 停止机器人. robot.stopRobot(); 二:功能定制 Sosoo利用回调的方式实现了aop,用户可以通过回调的方式注入javaBean对象,以实现其外部功能 1.基本功能参数的设置。 基本功能指: roboter的原生类型参数(或String),例如:startURL,maxDepth等。 设置开始处理的url【startURL】:必须参数,roboter会根据这个地址开始在网络上进行查找。 robby.setStartURL(URL url); 设置从开始路径能找的最大深度【maxDepth】:程序会判断当前处理的链接深度是否超过最大链接深度,如果超过这个链接将忽略,当然你可以通过设置depthIsEffect来屏蔽这个功能。默认值为1。 robby.setMaxDepth(0); 设置处理文档的时间间隔【sleepTime】:当处理完一个url时,设置这个间隔时间处理下一个url。单位为s,默认值为60,推荐使用5s。 robby.setSleepTime(0); 设置http连接超时时间:在连接服务器时,可能由于网络或者本身服务的原因,可 能会出现超时的情况,通过设置超时时间来限制对某个url连接的最大时间,这样就可以提高处理的速度,但是如果这个值设置太小,可能很多连接都会连接不到,使用大于30的值,默认为60s。 robby.setUrlConnectTimeOut(30); 停止robby线程【stopIt】:你可以通过对robby对象进行操作来停止当前的线程。 robby.stopRobot(); 暂停robby线程【sleep】:可以对当前运行的robby线程进行暂停。 robby.setSleep(true); 2.配置机器人对url的检查 sosoo spider会根据用户的设置把收集到url列表中过滤掉不符合条件的url。 过滤的顺序:walkToOtherHosts-allowWholeHost-flexibleHostCheck- allowWholeDomain-用户提供url列表。 设置是否访问其他的主机【walkToOtherHosts】:如果你需要进行整个互联网的搜索,而不限于你开始提供的url中的主机,把这个参数设置为true。默认为false。 robby.setWalkToOtherHosts(true); 设置是否访问本主机【allowWholeHost】:如果你只想要对开始url代表的主机进行访问,你可以通过设置这个参数进行过滤url。 robby.setAllowWholeHost(true); 设置非www开始的主机【flexibleHostCheck】:当你提供的开始url,不是以www开头,你可以通过设置flexibleHostCheck参数来达到访问本主机的目的。 robby.setFlexibleHostCheck(true); 设置是否访问本域【allowWholeDomain】:如果你只想要对开始url代表的域进行访问,你可以通过设置下面这个参数进行过滤url。 robby.setAllowWholeDomain(true); 设置要访问的url列表【allowedURLs】:这是一个Vector类型的变量,用户可以把这些url放在配置文件中,用户可以在运行时提供这个变量。 robby.setAllowedURLs(allowed); 定制url检查规则【URLCheck】:用户除了通过上面的规则进行url过滤,用户还可以通过实现urlCheck接口来进行url检测。系统已经提供了RegExpURLCheck实现。提供对properties文件的支持。 robby.setURLCheck(check); 设置是否要找网站跟目录下的/robot.txt文件【ignoreRobotsTxt】:用户可以通过设置这个值来忽略网站提供对robot的支持。默认为false robby.setIgnoreRobotsTxt(true); 设置url可以重复访问【visitMany】:系统提供了一个访问过的列表缓存,当spider程序发现这个url已经访问过,他将不进行这个url的处理。可以通过这个参数来定制可以重复访问的url列表,这是一个Vector类型。 robby.setVisitMany(visitMany); 设置spider客户端的【proxy】:spider可以通过代理连接internate,但是目前只支持匿名的代理服务器。 robby.setProxy("10.16.111.5:80"); 3:实现文件管理。 Spider程序下载url对应的html文档的时候,系统提供一个回调接口HttpDocManager。你可以通过的持接口的实现,把spider获得html数据进行存储,例如你可以把这些文件以文本流存入数据库,存入文件系统等。系统提供了HttpDocToFile实现,把下载的文件存入文件系统。你可以在启动spider程序的时候通过robby.setDocManager(dm);进行注入管理对象。 4.定制html文档下载规则。 当你对各种html文件的格式处理有要求的时候,例如你觉得下载exe,rar文件比较 慢的时候,你可以通过自己的需求定制下载规则。通过实现HttpDownloadCheck 接口可以设定下载的规则。 DownloadRuleSet rules=new DownloadRuleSet("downrules.properties"); robby.setDownloadRuleSet(rules); 系统已经提供了DownloadRuleSet实现,这个是想通过classpath properties来定义下载规则. 文件的内容: # the file must contain two field,allow[deny] and MIME Type/sub type # allow stand for if the doc match the conditions,will down the file # deny stand for if the doc match the conditions,will not down the file # < size ,express the doc content byte size is smaller than the value # > size ,express the doc contact byte size is larger than the value # can't hold out the >= or <= # the scope of size is optional. allow image/gif <100000 >10000000 deny image/gif <100000 >10000000 当然你可以自定义自己的实现,只要实现HttpDownloadCheck的boolean downloadAllowed(Vector httpHeaders) ;方法。 注意:如果这个文档没有下载,这个文档中的连接将不能进行处理,所以一般不 过滤掉text/html. 5.设置对下载后http文档的过滤处理 下载文档后,用户可以对这个doc对象进行一系列的处理。Spider提供了一个 FilterChain类。用户可以把自己过滤器加入FilterChain中。 你可以实现DocumentFilter接口定制自己的功能,系统实现提供了一个LinkLocalizer实现,用于替换相对连接。 FilterChain filters=new FilterChain(); DocumentFilter filter=new LinkLocalizer(); filters.add(filter); robby.setFilters(filters); 6.启用机器人运行期监控。 当启动spider程序后,程序利用回调接口提供给用户运行期的状态。例如你要要显示机器人对应的处理过的任务,处理中的任务,处理是的状态。通过实现RobotCallback接口来实现,当然你也可以直接取roboter对象的属性来监控。 系统提供RobotMonitor实现,用户打印在cosole上运行期的状态。 RobotCallback m Monitor(); robby.setWebRobotCallback(monitor); 7.启用对http协分析的监控。 Spdier循环处理缓存中未处理的url,对于每个url的处理,系统提供一些监控方 法。当然你只要实现HttpToolCallback接口。系统提供了SystemOutHttpToolCallback实现。 HttpToolCallback toolM SystemOutHttpToolCallback(); robby.setHttpToolCallback(toolMonitor); 三:sosoo描述 Sosoo是参考jobo提供的核心算法。利用对访问的历史记录存储来替换spider的递归算 法。在处理的效率上有不错的体验,但是它也是牺牲存储为代价的。在程序启动是,系 统将立两个Vector数组对访问url进行记录。因此sosoo并不使用于大数据量信息抓取,但是对于行业网站,中小企业绝对足够。 目前sosoo提供的处理功能: 支持跨域跨主机的访问 支持多种文件格式的下载 支持对html中连接的递归处理 支持http1.1协但不支持1.0 支持匿名代理(http),但不知道需要验证代理。 待扩展的功能: 提供全功能http协处理 提供javasript的支持 提供表单from的处理支持 提供对ftp协的支持 提供全方位的代理(http,sock等)支持。 完善系统监控功能 加强对html文档的信息处理能力 提供各种文件类型的处理工具 提供对rss的支持 四:应用开发指南 sosoo提供很强的编程扩展,很容易把他集成到你的j2ee项目中。在中小型搜索引擎中, 特别对某一些特定的行业网站的数据进行分析时,Sosoo提供方便和安全的解决方案。 通过上述对功能的定制,我们可以看到在应用中我们对sosoo的编程接口并不多,而且目前系统都是基于set的方式注入aop注入对象,这样很容易和spring等基于set方式的依赖注入(IOC)框架集成。 1.Roboter类,spider程序的主类。 当你需要把sosoo应用到你的应用中时,roboter提供一个基于线程的工具类。它体可在程序中启动,暂停,退出一个spdier程序。这个类有sosoo提供,并不支持扩展,它标识spider的主体。它是整个spider程序所有功能的入口,包括回调功能,都是通过set方式注入到roboter中。 com.sosoo.robot.spider.Roboter 例如你要启动一个spider线程: Roboter robby = new Roboter(); robby.setStartURL(new URL("http://10.25.101.173:7001/pa18Web/framework/images/framevork_04.gif")); robby.setMaxDepth(0); //设置最大连接访问深度 robby.setSleepTime(0); robby.setWalkToOtherHosts(true); robby.run(); //启动 2.TaskList接口,解决对处理任务的存储。 对于sosoo而言,每个url对于一个任务。系统已经提供其默认的实现,你可以根据自己的需求实现这个接口。然后在启动spdier的时候用register方法进行注册。 robby .registerVisitedList(new HashedMemoryTaskList(false)); robby .registerToDoList(new HashedMemoryTaskList()); com.sosoo.robot.spider.TaskList 主要解决是对com.sosoo.robot.spider.RobotTask对象的存储。和常用的操作方 法,例如删除, 添加,查找等。具体参见@JAVADOC 3.Http客户端实现。 目前对sosoo1.0客户端而言,主要的用途就是提供模拟浏览器进行对http文档的获取。同时把他转换为HttpDoc对象。同时对http请求资源的管理,例如cookie管理。 Sosoo主要是通过com.sosoo.robot.http.HttpTool工具类来提供此工能。你也可以自己定制更优化的处理方案替换,同样通过register方法进行注册。由于重载这个工具需要对http协有深刻的连接,一般不替换系统的实现。 Robby.RegisterHttpParser(new HttpTool); 4.实现网页存储或处理 当spider程序下载完以后,spider会用docManager管理其和filter来处理html文档和其内容。 HttpDocManager接口主要用来对HttpDoc对象的管理,例如把它存储在文件系统,或存入数据库等。系统提供了实现HttpDocToFile用来把HttpDoc对象存放在在文件系统中。 FilterChain主要用来进行httpDoc内容的一系列过滤功能。例如你主要取其中的某些信息。或者替换其中某些内容。它是实现了一个数组存储,你可以根据自己的需求加入多个实现DocumentFilter接口的对象,系统提供了一个实现LinkLocalizer,用来替换其中的相对连接。 系统先进行filter处理,然后在进行HttpDocManager 具体编程参考@javadoc 5.实现运行期的监控 Sosoo提供了两个监控的接口。用户可以实现这写接口的某些或全部方法,达到载 运行期内某些状态的监控。 Spider监控:com.sosoo.robot.spider.RobotCallback 主要提供文档的处理,spider的睡眠,spider当前任务的监控。 void webRobotRetrievedDoc(String url, int size); //实现对获取url对应的HttpDoc对象的监控 void webRobotUpdateQueueStatus(int length); //实现当前处理任务的监控 void webRobotDone(); //处理完成 void webRobotSleeping(boolean sleeping); //spider暂停 http分析监控:com.sosoo.robot.http.HttpToolCallback /** * After initiating a download, this method will be called to * inform about the URL that will be retrieved * @param URL url that will be retrieved now */ void setHttpToolDocUrl(String url); /** * After HttpTool got a Content-Length header * this method will be called to inform about the size of * the document to retrieve * @param size document size in */ void setHttpToolDocSize(int size); /** * after a block of bytes was read (default after every 1024 bytes, * this method will be called * @param size the number of bytes that where retrieved */ void setHttpToolDocCurrentSize(int size); /** * informs about the current status of the HttpTool * @param status an integer describing the current status * constants defined in HttpTool * @see HttpTool */ void setHttpToolStatus(int status); 系统提供了SystemOutHttpToolCallback默认实现。 五.程序例子 package com.sosoo.robot.examples; /********************************************* Copyright (c) 2005 by rimen sosoo *********************************************/ import java.net.URL; import com.sosoo.robot.http.DownloadRuleSet; import com.sosoo.robot.http.HttpDocManager; import com.sosoo.robot.http.HttpDocToBean; import com.sosoo.robot.http.HttpToolCallback; import com.sosoo.robot.http.SystemOutHttpToolCallback; import com.sosoo.robot.spider.RobotCallback; import com.sosoo.robot.spider.RobotMonitor; import com.sosoo.robot.spider.Roboter; import com.sosoo.robot.spider.docfilter.DocumentFilter; import com.sosoo.robot.spider.docfilter.FilterChain; import com.sosoo.robot.spider.docfilter.LinkLocalizer; /** * This example program downloads a web page. It does not * store the documents but only logs the visited URLs. * * @author jerry[wangjianhua] sosoo * @version $Revision: 1.1 $ */ public class SpiderMain { public static void main(String[] args) throws Exception { System.out.println("URLs will be logged to urls.txt\n\n"); Roboter robby =new Roboter(); System.out.println(robby); robby.setStartURL(new URL("http://www.sina.com.cn/")); robby.setMaxDepth(0); robby.setDepthIsEffect(true); robby.setSleepTime(0); robby.setIgnoreRobotsTxt(true); robby.setWalkToOtherHosts(true); FilterChain filters=new FilterChain(); DocumentFilter filter=new LinkLocalizer(); filters.add(filter); //html流过滤器 DownloadRuleSet rules=new DownloadRuleSet("downrules.properties"); HttpDocManager dm = new HttpDocToBean(); //进行文档管理,可以存放在数据库也可以存放在本地。 RobotCallback m RobotMonitor(); HttpToolCallback toolM SystemOutHttpToolCallback(); robby.setDocManager(dm); robby.setDownloadRuleSet(rules); robby.setFilters(filters); robby.setWebRobotCallback(monitor); robby.setHttpToolCallback(toolMonitor); robby.run(); //启动 } } 六.参考依赖 Jobo spider实现 Tidy html解析器 Log4j日志记录器 Apach 提供的正值表达式操作器 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Ackarlix/archive/2008/10/30/3182396.aspx
一、 数据库服务器性能计算需求分析 考虑到市公安局超级情报系统(SIS)设备升级项目的数据库 服务器的性能,我们采用主流的 TPC-C 值进行性能估算。 TPC-C 是一种旨在衡量联机事务处理(OLTP)系统性能与可伸缩 性的行业标准基准测试项目。这种基准测试项目将对包括查询、更新 及队列式小批量事务在的广泛数据库功能进行测试。对于数据库密 集型应用来说,TPC-C 被许多 IT 部门视为衡量真实 OLTP 系统性能的 有效指示器。 市公安局超级情报系统(SIS)设备升级项目未来的并发客户 约为 5000,绝大多数应用属于联机事务处理(OLTP)性质。我们 对数据库服务器的性能进行如下测算: 为了方便计算数据库服务器的性能,我们约定: 1) 系统同时在线用户数为 5000 人(U1); 2) 平均每个用户每分钟发出 2 次业务请求(N1); 3) 系统发出的业务请求中,更新、查询、其它各占 1/3; 4) 平均每次更新业务产生 4 个事务(T1); 5) 平均每次查询业务产生 4 个事务(T2); 6) 平均每次其它业务产生 8 个事务(T3); 7) 一天忙时的处理量为平均值的 8 倍; 8) 经验系数为 1.6;(实际工程经验) 1 9) 考虑服务器保留 50%的冗余; 服务器需要的处理能力为:TPC-C=U1*N1*(T1+T2+T3)/3*8*经验系 数/冗余系数 则服务器的处理性能估算为:TPC-C= 5000*2*(4+4+8)/3*8*1.6/0.5= 1,365,333tpmC 情报系统数据库服务器关系到整个系统的稳定运行,考虑到高可 靠性和高可用性,并注重设备的可扩展性和性价比,同时考虑满足 5 年业务系统的服务能力,数据库服务器配置一台 TPC-C 值不小 于 150 万的高性能小型机服务器,用做该情报系统的核心数据库服务 器。 本次我们新购 1 台小型机,配置 16 个 3.55GHz CPU 及 64GB 存,用于该超级情报系统系统的核心数据库服务器。 系统设方案 业务用户行为分析模型 根据以上业务模型,得出以下系统处理能力参数: 2 忙时测速系统 WEB 服务所需立的连接数(忙时并发连接用户 数): Np *Mh * T /3600=500*0.8*60/3600=6.7 本期工程根据联通综合网管业务的发展需求,综合网管系统 忙时并发连接用户数为 7 户。 硬件设备处理能力计算 数据库服务器 本期数据库服务器 TPMC 是根据标准模型中 New-Order 事物的 处理数目来计算的,一个 New-Order 事物由平均 4-5 个左右 SQL 语 句处理完成,整个测试的执行过程中,New-Order 处理占 45%。本次 计按 4 个 SQL 计算。 数据库服务器能力估算 "序 "项目代 " " " " " " " " "号 "码 "描述 "数值 " " " "本地可操作综合网管用户数 " " "1 "U1 " "500 " " " "用户忙时集中系数(一小时里用户所占比例) " " "2 "B1 " "80% " " " "网管服务对应的数据库事物操作数 " " "3 "T1 " "10 " " " "一次网管服务对数据库操作对应的 tpmC 数量 " " " " " " " "4 "Ty "(T1*0.45/4) "1.125tpmC" " " "考虑服务器保留 30%的冗余; " " "5 "R " "30% " 数据库处理能力为: 3 TPMC=(U1*B1*(Ty+Ts))/(1-R)=(500×0.8×1.125)/(1-30%) =642.86tpmc 存储估算 "序号 "项目代码 "描述 "数值 " " " "总可进行网管操作用户数 " " "1 "U1 " "500 " " " "每日操作用户数 "6 万 " "2 "U2 " " " " " "每日使用宽带测速服务的用户比例 " " "3 "B1 " "16% " " " "每日使用测速服务次数 " " "4 "C1 " "4 " " " "一次测速记录占用空间 " " "5 "b1 " "0.004M " " " "系统至少一年的历史记录 "365 日 " "6 "Y " " " " " "考虑服务器保留 30%的冗余; " " "7 "R " "30% " " " "采用 RAID0+1 模式 " " "8 "X1 " "2 " 数据库服务器的存储估算为: 存储容量=((U2*B1*C1*b1*Y) /(1-R) )*X1*Z1=((60000*16%*4*0.004M*365) /(1-30%))*2/1024 MB=157GB 本期工程根据的业务规模和计算结果以及考虑网络的安全 性,新增数据库服务器
欢迎使用网新企业网站管理系统(红色),解压后请将整个程序所有文件复制到本地电脑IIS根目录下或者上传到虚拟**根目录下即可运行。 后台管理地址:http://你的网站**/admin 用户名:admin123 密 码:admin123 网新企业网站管理系统(红色)V2.4 更新:增加左侧栏目编辑功能。 -------------------------程 序 简 介----------------------------   网新企业网站管理系统(红色)是专业为个人和企业网站设而开发的一款智能化程序。该程序基于ASP ACCESS环境开发, 拥有完善的网站前台和后台全智能化管理功能,完全由后台操作(如添加、修改网站基本信息、产品、企业新闻动态等), 是个人和企业智能化网站设首选! -------------------------安 全 ------------------------------ 为确保您的网站安全,请修改以下默认设置: 1、更改默认的后台用户名和密码admin123; 2、更改默认的后台管理文件夹名admin,直接修改根目录下的文件夹名称即可; 3、更改默认的数据库文件夹Databases及数据库名称,请确保inc文件夹下的数据库连接文件conn.asp内也作相应修改。 -------------------------程 序 功 能------------------------------ 1、企业简介功能,自由添加、修改、删除企业简介及联系方式等功能; 2、新闻发布功能,自由添加、修改、删除企业新闻、行业动态等功能; 3、产品分类及产品发布功能,全新开发产品数据批量修改接口,自由添加、修改、删除企业产品分类及产品功能; 4、图片展示功能,自由添加、修改、删除企业产品、案例展示及公司荣誉图片等功能; 5、访客留言功能,自由修改、删除企业客户前台留言审核回复功能; 6、在线客服系统,自由添加、修改、删除QQ、MSN、Skype及旺旺等在线沟通方式; 7、友情链接,自由添加、修改、删除企业友情链接功能; 8、导航栏管理,自由添加、修改、删除导航栏目及子导航栏目; 9、栏目管理,自由添加、修改、删除产品分类、新闻分类等任意栏目及子栏目; 10、SEO设置,前台每个页面均可在后台进行自定义title,keywords,description等SEO优化功能; 11、具备传统企业网站基本、高级用户交互功能(公司介绍、新闻、产品、案例、下载、营销网络、客户留言、人才、订单、会员、站内搜索等);

545

社区成员

发帖
与我相关
我的任务
社区描述
客服专区
其他 技术论坛(原bbs)
社区管理员
  • 客服专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧