一個用python實現的app 質量保障系統Newton
一、Newton是什麼?
一個將Cat上抓取到的crash作為資料來源,為tapd上建立缺陷、持續提供crash資料分析、監控以及報表生成功能的工具集。
系統流程圖:
二、專案背景
2.1 Newton的誕生前因
1、縮短crash發現和處理時間
2、減少crash篩選時間和人力成本
3、需要對crash提供資料分析和統計功能
4、需要能夠靈活配置並生成相應資料報表功能
2.2 Newton絕不是重新造輪子
可以改進的地方也很多,問題基本可以歸為以下幾點:
1、構建時間耗費太長(約1hour)
2、Tadp重複、丟失建立率太高
3、判重演算法可優化空間大(其採用騰訊提借的api介面判重)
4、crash資料無法落地,不能進行後續的資料分析
三、系統結構設計
newton系統架構一共分四層:展示層、業務層、服務層、資料庫
展示層:主要是資料最後輸出的地方,包括:tapd缺陷、 網頁圖表、生成報表csv檔案;
業務層:主要是從服務層拿取資料進行業務功能處理,包括:crash資料抓取、crash監控、tapd建立、資料分析、資料報表以及應用和版本管理;
服務層:主要是為業務層提供api介面和RPC服務,以及資料分析、crash監控和資料落地服務;
資料庫:為crash資料提供落地,並對資料分析提供資料支撐
3.1整體架構設計圖
3.2服務端的架構設計
服務端為業務層提供api介面服務以及資料處理和分析能力,為了保證開發簡便和輕量級採用Nginx + uwsgi + flask
uwsgi:是一種Web伺服器閘道器介面。它是一個Web伺服器(如nginx,uWSGI等伺服器)與web應用(如用Flask框架寫的程式)通訊的一種規範。
flask:是一個使用 Python 編寫的輕量級 Web 應用框架。
服務端架構設計圖:
執行流程:
- HTTPServer監聽在指定埠,接受外部請求;
- 當一個請求到達時,它被封裝成HTTPConnetction物件放入訊息佇列;
- HTTPServer內部的執行緒池會不斷的從訊息佇列中取出HTTPConnection物件交給WSGI閘道器處理;
- WSGI閘道器按照WSGI規範呼叫WEB應用;
- WEB應用響應發過來的請求,然後把處理結果返回給WSGI閘道器;
- WSGI閘道器把結果返回給HTTPServer,最終再由HTTPServer把結果返回給客戶端。
四、功能結構設計
4.1功能結構圖
newton基本分為三大功能模組:tapd缺陷模組、crash監控模組以及資料分析模組。為了更清楚的瞭解newton專案能夠作什麼工作,下面是功能結構圖:
4.2Tapd缺陷模組
tapd缺陷模組執行的基本流程圖:
4.3crash監控模組
crash監控模組基本流程圖:
4.4crash分析模組
crash基本處理流程圖:
五、結果展示
六、其他
相關推薦
一個用python實現的app 質量保障系統Newton
一、Newton是什麼? 一個將Cat上抓取到的crash作為資料來源,為tapd上建立缺陷、持續提供crash資料分析、監控以及報表生成功能的工具集。 系統流程圖: 二、專案背景 2.1 Newton的誕生前因 1、縮短crash發現和處理時間 2、減少
用python實現一個命令行文本編輯器
screen alt 保存 模型 既然 ffffff 圖片 單行 pda “這看起來相當愚蠢”——題記 不過我整個人都很荒誕,何妨呢?貼一張目前的效果圖 看起來很舒服,不是麽?即使一切都是個幌子:光標只能在最後,按一下上下左右就會退出,一行超出75個字符
用Python實現一個大數據搜索及源代碼
Python編程語言 Python案例講解 Python基礎精講 在日常生活中,大家了解搜索引擎如百度、360、搜狗、谷歌等,搜索是大數據領域裏常見的需求。Splunk和ELK分別是該領域在非開源和開源領域裏的領導者。本文利用很少的Python代碼實現了一個基本的數據搜索功能,試圖讓大家理解大數據
用Python實現簡單的名片管理系統
rem 代碼 card 刪除 import val 字典 fin pytho 首先新建項目,包含主程序cards_main和工具庫cards_tools: 如下:main函數主主要使用while和if實現4功能切換,切換的具體操作由cards_tools中的函數執行。不說了
用Python實現系統監控
要求: 對(系統、CPU、記憶體、硬碟、使用者)進行實時監控 主函式(run.py): import random import socket import platform import psutil from flask import Flask, render_t
類方法實現:用python實現一個簡單的單詞本,添加/查找/刪除單詞。
end code div keys style 成功 move print utf 1.實現一個簡單的單詞本,功能: ①添加單詞,當所添加的單詞已存在時,讓用戶知道 ②查找單詞,當查找的單詞不存在時,讓用戶知道 ③刪除單詞,當刪除的單詞不存在時,讓用戶知道 以上
【人工智慧】用Python實現一個簡單的人臉識別,原來我和這個明星如此相似
近幾年來,興起了一股人工智慧熱潮,讓人們見到了AI的能力和強大,比如影象識別,語音識別,機器翻譯,無人駕駛等等。總體來說,AI的門檻還是比較高,不僅要學會使用框架實現,更重要的是,需要有一定的數學基礎,如線性代數,矩陣,微積分等。 幸慶的是,國內外許多大神都已經給我們造好“輪子”,我們可以直接來使用某些模型
【人工智能】用Python實現一個簡單的人臉識別,原來我和這個明星如此相似
數值 但是 智能 深度學習 lib python 數學 三方 python實現 近幾年來,興起了一股人工智能熱潮,讓人們見到了AI的能力和強大,比如圖像識別,語音識別,機器翻譯,無人駕駛等等。總體來說,AI的門檻還是比較高,不僅要學會使用框架實現,更重要的是,需要有一定的數
用 Python 實現一個大資料搜尋引擎
搜尋是大資料領域裡常見的需求。Splunk和ELK分別是該領域在非開源和開源領域裡的領導者。本文利用很少的Python程式碼實現了一個基本的資料搜尋功能,試圖讓大家理解大資料搜尋的基本原理。 布隆過濾器 (Bloom Filter) 第一步我們先要實現一個
我用Python實現了一個小說網站雛形
前言 前段時間做了一個爬取妹子套圖的小功能,小夥伴們似乎很有興趣,為了還特意組建了一個Python興趣學習小組,來一起學習。十個python九個爬,在大家的印象中好像Python只能做爬蟲。然而並非如此,Python 也可以做Web開發,接下來給大家展示一下如何做一個小說站點。 相關軟體
用Python實現一個簡單的——人臉相似度對比
近幾年來,興起了一股人工智慧熱潮,讓人們見到了AI的能力和強大,比如影象識別,語音識別,機器翻譯,無人駕駛等等。總體來說,AI的門檻還是比較高,不僅要學會使用框架實現,更重要的是,需要有一定的數學基礎,如線性代數,矩陣,微積分等。 幸慶的是,國內外許多大神都已經給我們造好“輪子”,我們可以直
用python實現的一個猜數字遊戲,
使用者可以自定義猜的次數,如果在規定的次數內猜出來了,就輸出great, from random import randint s=randint(0,300) go=int(input('請輸入猜字次數:')) def foo(t): i=0 while i
【很有趣】用Python實現一個簡單的人臉識別,原來我和這個明星如此相似
近幾年來,興起了一股人工智慧熱潮,讓人們見到了AI的能力和強大,比如影象識別,語音識別,機器翻譯,無人駕駛等等。總體來說,AI的門檻還是比較高,不僅要學會使用框架實現,更重要的是,需要有一定的數學基礎,如線性代數,矩陣,微積分等。 幸慶的是,國內外許多大神都已經給我們造好“輪子”,我們可
女朋友發了一個化妝速成的視訊給我!我用Python實現了倒放!嘿嘿
現在的各種動圖層出不窮,深受大家喜歡,今天給大家介紹一個可以把gif動圖倒放的python程式,先來看下效果。 女朋友這裡就不貼出來給大家看了,萬一你們都喜歡我女朋友了咋辦!還是得藏好!就給一個成功的例子給大家kanyix &
一個新手用python爬武漢理工大學教務系統
學了一點python感覺想寫點東西練練手,python想到的第一個事情就是爬蟲,複雜的網站不會爬一直想找簡單又有趣的網站爬玩玩,最後想到學校的教務系統挺不錯的就…搶課的時候(邪惡)。。。。。廢話不多說直接開始 首先就是登陸教務系統,開啟教務系統,開啟開發者模式,
小夥用Python實現可擴充套件的電子商務推薦系統,成功被阿里巴巴錄取
AI 前線導讀:在我國,電商非常發達。今年雙 11 的成交額僅僅過了 12 小時就達到了驚人的 1491.6 億元!電商在我國的火爆程度由此可見一斑。 當然在學習Python的道路上肯定會困難,沒有好的學習資料,怎麼去學習呢? 學習Python中有不明白推薦加
用python實現的一個簡單的爬蟲
在MOOC上學完了python的入門課程後,實現課後的一個小作業。 對應的python的基礎: 對之前學到的python的基礎知識有了一個很好的回顧。用到的基本知識有:包的匯入,類的定義,if語句,for語句,字典,列表,的操作,正則的應用,sort函式的應用,lam
用Python實現一個大資料搜尋引擎
搜尋是大資料領域裡常見的需求。Splunk和ELK分別是該領域在非開源和開源領域裡的領導者。本文利用很少的Python程式碼實現了一個基本的資料搜尋功能,試圖讓大家理解大資料搜尋的基本原理。 布隆過濾器 (Bloom Filter) 第一步我們先要實現一個布隆過濾器。 布隆
用python實現一個迴文數
判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文數。 示例
用Python實現一個SVM分類器策略
支援向量機(SVM)是什麼意思? 正好最近自己學習機器學習,看到reddit上 Please explain Support Vector Machines (SVM) like I am a 5 year old 的帖子,一個字贊!於是整理一下和大家分享。(如有錯歡迎指教!) 什麼