欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

做公眾號收入百萬的這一年, 時間窗口模式 (Time Window Pattern) 來講解 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網站建設-昆明葵宇信息科技有限公司

159-8711-8523

云南網建設/小程序開發(fā)/軟件開發(fā)

知識

不管是網站,軟件還是小程序,都要直接或間接能為您產生價值,我們在追求其視覺表現的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網站成為營銷工具,讓軟件能切實提升企業(yè)內部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當前位置>首頁 » 新聞資訊 » 公眾號相關 >

做公眾號收入百萬的這一年, 時間窗口模式 (Time Window Pattern) 來講解

發(fā)表時間:2020-10-9

發(fā)布人:葵宇科技

瀏覽次數:63

年終總結

寫了微信公眾號一年啦, 想要總結一下這年的寫作情況

這一年總共寫了 40 篇文章, 最后有 221 位小伙伴關注了 codog代碼狗

文章總結

這些文章里面有一些比較典型的文章, 下面我來列舉一下:

第一篇寫的文章: 還是母胎solo?不如用Builder Pattern 捏一個男/女朋友

閱讀量/再看/贊賞最高的文章: 又催婚?別怪我亮出 Null Object Pattern

點贊數最高的文章: 杭州女子失蹤案告破, 絞殺者模式(Strangler Pattern)來預防

閱讀量次高文章: 不良PUA到底多可怕?狀態(tài)模式來揭秘

再看次高文章: Strategy Pattern 教你秒變“神槍手”

贊賞次高文章:

設計模式分享

一聊天就洗澡? (Partial Response Pattern)部分響應模式讓你抓住女神的點

女神變女友?Converter Pattern教你一鍵轉換

互聯網人35歲送外賣?Dirty Flag Pattern 竟“助紂為虐”!

空對象模式我是來源于<重構>這本書, 感興趣的小伙伴可以買來看看, 非常感謝大家對 codog代碼狗 的支持~

人員分析[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ohuWT4yU-1602244715016)(/assets/2020092404.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-YDiI66h8-1602244715018)(/assets/2020092405.png)][外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-gaZ7BhX7-1602244715020)(/assets/2020092406.png)]

Time Window Pattern(時間窗口模式)

背景技術

數據是系統(tǒng)的基礎,做應用系統(tǒng)常常需要將某些數據(比如網絡爬蟲解析的數據,云服務數據,老版本數據庫等)拉取數據同步到目標數據存儲中(比如關系型數據庫,文檔數據庫等)用來做業(yè)務驅動,數據統(tǒng)計分析或者用作系統(tǒng)和業(yè)務監(jiān)控依據,其中有很多種方式,比如源數據作為發(fā)送方觸發(fā)消息驅動,目標數據作為接收方接收變更消息或者目標數據定時主動請求源數據提供的接口或者其他能獲取變化信息的能力等

目前通過定時任務拉取數據的時候,有二種常見的同步方法:

一種是按照固定頻率執(zhí)行任務,每次執(zhí)行失敗就終止 記錄失敗時間,定時任務觸發(fā)下次執(zhí)行任務從上次失敗時間開始,這種方法存在的問題是即使多次啟動,可能仍然會因為各種原因重復失敗,導致時間不向前進,極端情況可能會導致系統(tǒng)數據完全無法更新;

另一種是每個小時同步每個小時的數據,錯誤的就跳過或者記錄下來,這種問題是數據能隨時保持最新,但是可能會導致前一個任務的延遲導致后一個任務無法啟動而無法同步數據或者由于極端情況導致機器宕機引起幾個小時沒有同步數據,造成數據丟失。

具體技術方案

  1. 抽象定時任務的概念,分為讀取,處理和寫入三個部分,其中讀取的來源于網絡,系統(tǒng)接口,文件,數據庫或其他存儲形式,處理主要是指對讀取的數據進行過濾,分析,匯總等等生成待寫入的數據,寫入的一般操作是對處理后的數據結果進行存儲或者用來觸發(fā)通知,打印日志等

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Mg7v1a72-1602244715021)(/assets/2020092400.png)]

  1. 主要流程是從配置表中讀取開始時間,時間間隔和結束時間(如果為空取當前時間),首先判斷開始時間加上本次同步時間間隔是否小于結束時間,如果不是,證明是任務還沒有到啟動的時間而被調度了(因為當前時間之后的數據還沒有生成,如果不做這個判斷,后面更新時間窗口可能會導致錯失新產生的數據),如果符合條件,啟動任務,先將時間段S 到 T 這段時間均分為N段,每段(T-S)/N 秒/分鐘/小時/月/年,如果某個時間段失敗了,記錄下來相關的時間段,后續(xù)補償,讀成功的數據都并行處理,如果某條數據由于各種原因失敗了就記錄數據唯一標識或者這個數據序列化后的結果,后續(xù)補償,處理成功的數據執(zhí)行寫入方法,寫入方法需要是防重的或者是冪等的(常用的防重方法有查詢已經存儲主鍵數據進行過濾結合根據數據庫主鍵插入判斷異常,冪等方法有根據業(yè)務時間或者版本號等判斷刪除老數據,插入新的數據或放棄插入當前數據等),如果寫入失敗,也記錄數據唯一標識或者這個數據序列化后的結果,后續(xù)補償,最后如果整個時間段所有的數據都有了明確的處理結果,說明整個時間段的數據成功的都執(zhí)行了寫入方法,失敗的時間段或者數據都有了記錄表,推送開始時間前進一個時間間隔,為下次定時任務啟動的時候做準備。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-PJ4wusVC-1602244715022)(/assets/2020092401.png)]

  1. 補償流程和報警流程主要是從上面的數據項失敗記錄表和時間段失敗表取出等待補償的數據,根據數據的補償重試次數或者整個的等待補償記錄數量結合自定義的業(yè)務需求做出報警,通知管理員需要重點關注或者人為處理失敗的情況,另外除了報警,主要是調用補償程序(根據數據項補償和根據時間段補償)對失敗單據進行補償,如果補償成功,刪除失敗記錄,如果補償失敗,記錄補償次數,補償時間等信息,作為報警依據,等待下次補償,補償程序依然需要防重或者冪等,可以多次調用,而不會產生不合理的數據。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-KpwQVwzZ-1602244715022)(/assets/2020092402.png)]

相關案例查看更多