数据处理项目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里面

你可能感兴趣的:(数据处理项目Beta阶段软件架构建议)