dubbo python,基于python的分布式掃描器_一種基于python的大數據分布式任務處理裝置的制作方法...

 2023-10-21 阅读 28 评论 0

摘要:本發明涉及數據處理技術,具體是一種基于python的大數據分布式任務處理裝置。dubbo python。背景技術:本發明提供一種分布式隊列任務處理方案和裝置,該方法可以提供分布式處理python任務,任務類型包括爬蟲及其他處理任務。在現有基礎上,按照

本發明涉及數據處理技術,具體是一種基于python的大數據分布式任務處理裝置。

dubbo python。背景技術:

本發明提供一種分布式隊列任務處理方案和裝置,該方法可以提供分布式處理python任務,任務類型包括爬蟲及其他處理任務。在現有基礎上,按照插件模板編寫新的任務處理插件即可分布式處理大量相同類型的任務。并且可以有效的控制不同worker的處理時效,處理并發數。亦可實時監控每一項任務的處理狀態、進度和結果。

技術實現要素:

本發明的目的在于提供一種基于python的大數據分布式任務處理裝置,以解決上述背景技術中提出的問題。

為實現上述目的,本發明提供如下技術方案:

一種基于python的大數據分布式任務處理裝置,包括用戶任務提交模塊、任務信息格式化模塊、分布式處理隊列模塊、任務處理引擎和子任務處理單元,所述用戶任務提交模塊連接任務信息格式化模塊,任務信息格式化模塊還連接分布式處理隊列模塊,分布式處理隊列模塊還連接任務處理引擎,任務處理引擎還連接子任務處理單元。

作為本發明的進一步技術方案:所述子任務處理單元包括判斷模塊、插件加載模塊、處理模塊和結果上傳模塊,判斷模塊連接插件加載模塊,插件加載模塊還連接處理模塊,處理模塊還連接結果上傳模塊。

與現有技術相比,本發明的有益效果是:本發明可以提供分布式處理python任務,任務類型包括爬蟲及其他處理任務。在現有基礎上,按照插件模板編寫新的任務處理插件即可分布式處理大量相同類型的任務。并且可以有效的控制不同worker的處理時效,處理并發數。亦可實時監控每一項任務的處理狀態、進度和結果。

附圖說明

圖1為本發明的整體方框圖。

圖2為本子任務處理單元的方框圖。

圖3為本發明的工作流程圖。

圖中:1-裝飾邊條、2-觸摸屏、3-橫向型材邊框、4-桌子腿、5-縱向型材邊框、6-萬向輪、7-塑膠邊角。

具體實施方式

下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。

請參閱圖1-3,一種基于python的大數據分布式任務處理裝置,包括用戶任務提交模塊、任務信息格式化模塊、分布式處理隊列模塊、任務處理引擎和子任務處理單元,所述用戶任務提交模塊連接任務信息格式化模塊,任務信息格式化模塊還連接分布式處理隊列模塊,分布式處理隊列模塊還連接任務處理引擎,任務處理引擎還連接子任務處理單元。

子任務處理單元包括判斷模塊、插件加載模塊、處理模塊和結果上傳模塊,判斷模塊連接插件加載模塊,插件加載模塊還連接處理模塊,處理模塊還連接結果上傳模塊。

本發明的工作原理是:本申請可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本申請,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位于包括存儲設備在內的本地和遠程計算機存儲介質中。

本申請可用于眾多通用或專用的計算裝置環境或配置中。例如 :個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處理器裝置、包括以上任何裝置或設備的分布式計算環境等等。

應當理解,雖然本說明書按照實施方式加以描述,但并非每個實施方式僅包含一個獨立的技術方案,說明書的這種敘述方式僅僅是為清楚起見,本領域技術人員應當將說明書作為一個整體,各實施方式中的技術方案也可以經適當組合,形成本領域技術人員可以理解的其他實施方式。

上文所列出的一系列的詳細說明僅僅是針對本發明的可行性實施方式的具體說明,它們并非用以限制本發明的保護范圍,凡未脫離本發明技藝精神所作的等效實施方式或變更均應包含在本發明的保護范圍之內。

參考圖示,示出了本申請一種基于redis隊列的大數據分布式處理實例流程與模塊圖。

首先任務提交模塊響應用戶輸入的提交信息,按照信息及對應的插件名稱生成相應的任務內容。

在上一步中,用戶可以在交互式界面選擇任務,并按照提示表單提交任務信息及文件等。假設用戶選擇新任務為:新建一個文本處理任務,則用戶需要選擇插件為TEXTPROCESSOR,然后根據表單信息選擇上傳的文件。

在實際中,任務信息格式化模塊需要判斷用戶的提交的信息是否合規,例如是否為任務需要處理的內容、內容是否編碼統一、 內容中是否含有惡意拼接的內容,是否為正常使用人員提交。

接著分布式任務隊列模塊會將用戶提交的信息會轉化為json的格式以鍵值對(KEY-VALUE)的形式保存進中央數據隊列中。

此時分布式任務隊列模塊將任務狀態標記為未分發。

當任務處理引擎啟動之后,會開啟一個子任務處理單元,處理單元啟動以后會對中央任務隊列進行任務輪詢,過濾出未分發的任務。

當當前處理單元成功地將任務標記為已分發時,該處理單元選擇接受此任務。

當當前處理單元接受此任務之后,再次判斷該任務的合法性及任務數據的有效性。判斷任務有效,即是否存在有效的處理插件、是否為有效時間內的非重復任務。

當任務有效時,處理單元選擇啟動一個新的線程根據任務插件名稱尋找插件文件,接著加載插件。此時會新建一個Job對象,標記Job的處理插件、新建時間、任務來源等,然后標記Job對象狀態為waiting,插入數據庫中。此時將任務狀態標記為waiting。

接著讀取任務的json內容。實例化插件對象然后加載任務數據,此時將Job狀態標記為running,任務狀態標記為running并更新。接著使用插件對象處理任務數據。

當任務和Job標記為running以后,用戶會在交互式界面看到任務的狀態、當前正在運行的子任務名稱。

當任務完成后,將任務狀態和Job狀態標記為success,并且根據起始任務信息選擇是否將結果返回中央任務隊列中再次分發處理。

當任務處理超時或者失敗時,將Job狀態標記為error,并且使用traceback模塊記錄詳細的出錯調用棧關系。

將任務及Job保存進數據庫中,便于留存查詢。

對于本領域技術人員而言,顯然本發明不限于上述示范性實施例的細節,而且在不背離本發明的精神或基本特征的情況下,能夠以其他的具體形式實現本發明。因此,無論從哪一點來看,均應將實施例看作是示范性的,而且是非限制性的,本發明的范圍由所附權利要求而不是上述說明限定,因此旨在將落在權利要求的等同要件的含義和范圍內的所有變化囊括在本發明內。不應將權利要求中的任何附圖標記視為限制所涉及的權利要求。

此外,應當理解,雖然本說明書按照實施方式加以描述,但并非每個實施方式僅包含一個獨立的技術方案,說明書的這種敘述方式僅僅是為清楚起見,本領域技術人員應當將說明書作為一個整體,各實施例中的技術方案也可以經適當組合,形成本領域技術人員可以理解的其他實施方式。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/156535.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息