1. 程式人生 > >一個用python實現的app 質量保障系統Newton

一個用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

結構。

Nginx:是一個高效能的HTTP反向代理伺服器。

 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 的帖子,一個字贊!於是整理一下和大家分享。(如有錯歡迎指教!) 什麼