数据处理项目Beta阶段软件架构建议

class:Dataserver

string serverIP
string serverPassword
string sqlAccount
string sqlPassword
bool DataUpdate(int id, string key, string content)
	#用来更新数据,id用来定位更新的位置 key是要更新的字段 content是要更新的内容 
	#需要详细考虑多线程的同时调用以及错误处理
setServerIP(string)
setServerPassword(string)
setSqlAccount(string)
setSqlPassword(string)
bool tryToConn()
	#尝试连接 返回账户信息设置是否正确
bool checkIfDeal(int id)
	#查看是否已经处理过了
void sentSolr( ? )
	#用来连接solr服务器
	#提供必要相关操作 如果有必要 可以进行拆分

class:Crawler

	#可以爬下来数据并且储存到数据库里
	string [] startingURLs
	void addstartingURLs()string;

class: DataAnalysis

	#完成对于数据的分析工作
	#多线程
run()
	#处理数据
	grab()
	asscording to type:
	pdfHandler() / htmlHandler() / wordHandler()
grab()
	#从数据库随机抓取一个文件
pdfHandler()
	#处理pdf文档
	。。。
	write();
htmlHandler()
	#处理html文档
。。。
	write();
wordHandler()
	处理word文档
	。。。
	write();
write()
	Dataserver 实例
string translator(string aim, string type)
	#如果type是0 英译汉  1:汉译英
htmlContentExtraction()
	#从html里面提取文本信息出来
wordContentExtraction()
	#从word文档里面提取文本信息出来
pdfContentExtraction()
	#从pdf里面提取文本信息出来
string denoising(type,string)
	#根据类型输入 从文本中删除无关字符 专一化处理
string keyWordSegment(string)
	#用词频统计的方法从文本输入中提取关键词出来

tips:

  1. 考虑线程安全
  2. 统一错误输出
  3. 对于需要标准化的东西一致写到readme里面
posted @ 2016-11-07 22:29  MurryK  阅读(143)  评论(0编辑  收藏  举报