自助查詢工具需求分析

平時工作臨時需求查詢比較多,領導讓做一個自助查詢工具,這樣可以給工程師省下很可觀的時間,也減少了各部門扯皮的碰撞。
客戶端 php + mysql server1
服務器端 shell,python,hive,hadoop server2 若干執行shell的server
需求:
用戶在前臺填寫task信息,比如:任務名稱,執行服務器,上傳uidlist文件【查詢關於user的有關信息,所以要上傳uid列表】,任務類型【1.用戶基本信息 2用戶其他信息 3.用戶影響力指數等】,然後等待郵件通知,下載執行結果。
說明:
1.task信息存放到task表中 【taskId,userId,taskName,taskType,uidPath,ip,flag】
2.uidlist存放在rsync的指定模塊下

思路:
1.server2上crontab定時每2個小時執行一次,使用shell連接mysql,取出task狀態爲create的tasklist輸出到文件A
2.使用python分析文件A,並行將ip下uidpath文件通過rsync存放到server2上,目錄命名爲:taskId_userId_mmid(mmid爲時間戳)
3.改變task表中的任務狀態爲running
4.將uidlist文件put到hdfs目錄,新建臨時用戶表,分區使用 taskId_userId_mmid
5.根據taskType調用不同的業務shell【並行執行】
6.執行完畢後,返回結果路徑,調用結果處理shell,主要分爲3部:
6-1 掃描結果目錄,大小不爲0時,使用rsync將結果推送到服務器A上【taskId_userId_mmid】
6-2 根據結果目錄大小和taskId改變task表中task的狀態爲 error或succ
6-2 使用發郵件模塊給userId發郵件,通知下載結果或者重新提交任務
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章