麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

分布式多任務打包方法、系統、電子設備及存儲介質與流程

文檔序號:41760921發布日期:2025-04-29 18:30閱讀:4來源:國知局
分布式多任務打包方法、系統、電子設備及存儲介質與流程

所屬的技術人員能夠理解,本發明的各個方面可以實現為系統、方法或程序產品。因此,本發明的各個方面可以具體實現為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、微代碼等),或硬件和軟件方面結合的實施方式,這里可以統稱為“電路”、“模塊”或“系統”。下面參照圖8來描述根據本發明的這種實施方式的電子設備800。圖8顯示的電子設備800僅僅是一個示例,不應對本發明實施例的功能和使用范圍帶來任何限制。如圖8所示,電子設備800以通用計算設備的形式表現。電子設備800的組件可以包括但不限于:上述至少一個處理單元810、上述至少一個存儲單元820、連接不同系統組件(包括存儲單元820和處理單元810)的總線830。其中,存儲單元存儲有程序代碼,程序代碼可以被處理單元810執行,使得處理單元810執行本說明書上述“示例性方法”部分中描述的根據本發明各種示例性實施方式的步驟。例如,處理單元810可以執行如圖2中所示的該方法應用于分布式多任務打包系統,分布式多任務打包系統包括負載均衡器和多個打包服務器,包括:負載均衡器接收打包請求,將打包請求分配至多個打包服務器;各個打包服務器將打包請求所需的任務數據保存至分布式數據庫redis緩存任務隊列;若存在一個打包服務器的打包中的任務數量小于預設打包數量閾值,則上述一個打包服務器基于預設規則取出redis緩存任務隊列中處于等待狀態的目標任務數據,創建打包子進程,將目標任務數據傳遞至打包子進程;打包子進程對目標任務數據執行打包,得到打包結果,將打包結果上傳至云端服務器。存儲單元820可以包括易失性存儲單元形式的可讀介質,例如隨機存取存儲單元(ram)8201和/或高速緩存存儲單元8202,還可以進一步包括只讀存儲單元(rom)8203。存儲單元820還可以包括具有一組(至少一個)程序模塊8205的程序/使用工具8204,這樣的程序模塊8205包括但不限于:操作系統、一個或者多個應用程序、其它程序模塊以及程序數據,這些示例中的每一個或某種組合中可能包括網絡環境的實現。總線830可以為表示幾類總線結構中的一種或多種,包括存儲單元總線或者存儲單元控制器、外圍總線、圖形加速端口、處理單元或者使用多種總線結構中的任意總線結構的局域總線。電子設備800也可以與一個或多個外部設備840(例如鍵盤、指向設備、藍牙設備等)通信,還可與一個或者多個使得用戶能與該系統交互的設備通信,和/或與使得該電子設備800能與一個或多個其它計算設備進行通信的任何設備(例如路由器、調制解調器等等)通信。這種通信可以通過輸入/生成(i/o)接口850進行。并且,系統還可以通過網絡適配器860與一個或者多個網絡(例如局域網(lan),廣域網(wan)和/或公共網絡,例如因特網)通信。如圖8所示,網絡適配器860通過總線830與電子設備800的其它模塊通信。應當明白,盡管圖8中未示出,可以結合電子設備800使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設備驅動器、冗余處理單元、外部磁盤驅動陣列、raid系統、磁帶驅動器以及數據備份存儲系統等。通過以上的實施方式的描述,本領域的技術人員易于理解,這里描述的示例實施方式可以通過軟件實現,也可以通過軟件結合必要的硬件的方式來實現。因此,根據本公開實施方式的技術方案可以以軟件產品的形式體現出來,該軟件產品可以存儲在一個非易失性存儲介質(可以是cd-rom,u盤,移動硬盤等)中或網絡上,包括若干指令以使得一臺計算設備(可以是個人計算機、服務器、終端裝置、或者網絡設備等)執行根據本公開實施方式的方法。在本公開的示例性實施例中,還提供了一種計算機可讀存儲介質,該計算機可讀存儲介質可以是可讀信號介質或者可讀存儲介質。在本公開的示例性實施例中,還提供了一種計算機程序產品,計算機程序產品包括計算機程序或計算機指令,計算機程序或計算機指令由處理器加載并執行,以使計算機實現上述實施例公開的方法的步驟。本公開中的計算機可讀存儲介質的更具體的例子可以包括但不限于:具有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機訪問存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本公開中,計算機可讀存儲介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了可讀程序代碼。這種傳播的數據信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。可讀信號介質還可以是可讀存儲介質以外的任何可讀介質,該可讀介質可以發送、傳播或者傳輸用于由指令執行系統、裝置或者器件使用或者與其結合使用的程序。可選地,計算機可讀存儲介質上包含的程序代碼可以用任何適當的介質傳輸,包括但不限于無線、有線、光纜、rf等等,或者上述的任意合適的組合。在具體實施時,可以以一種或多種程序設計語言的任意組合來編寫用于執行本公開操作的程序代碼,程序設計語言包括面向對象的程序設計語言—諸如java、c++等,還包括常規的過程式程序設計語言—諸如“c”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算設備上執行、部分地在用戶設備上執行、作為一個獨立的軟件包執行、部分在用戶計算設備上部分在遠程計算設備上執行、或者完全在遠程計算設備或服務器上執行。在涉及遠程計算設備的情形中,遠程計算設備可以通過任意種類的網絡,包括局域網(lan)或廣域網(wan),連接到用戶計算設備,或者,可以連接到外部計算設備(例如利用因特網服務提供商來通過因特網連接)。應當注意,盡管在上文詳細描述中提及了用于動作執行的設備的若干模塊或者單元,但是這種劃分并非強制性的。實際上,根據本公開的實施方式,上文描述的兩個或更多模塊或者單元的特征和功能可以在一個模塊或者單元中具體化。反之,上文描述的一個模塊或者單元的特征和功能可以進一步劃分為由多個模塊或者單元來具體化。此外,盡管在附圖中以特定順序描述了本公開中方法的各個步驟,但是,這并非要求或者暗示必須按照該特定順序來執行這些步驟,或是必須執行全部所示的步驟才能實現期望的結果。附加的或備選的,可以省略某些步驟,將多個步驟合并為一個步驟執行,以及/或者將一個步驟分解為多個步驟執行等。通過以上實施方式的描述,本領域的技術人員易于理解,這里描述的示例實施方式可以通過軟件實現,也可以通過軟件結合必要的硬件的方式來實現。因此,根據本公開實施方式的技術方案可以以軟件產品的形式體現出來,該軟件產品可以存儲在一個非易失性存儲介質(可以是cd-rom,u盤,移動硬盤等)中或網絡上,包括若干指令以使得一臺計算設備(可以是個人計算機、服務器、移動終端、或者網絡設備等)執行根據本公開實施方式的方法。本領域技術人員在考慮說明書及實踐這里公開的發明后,將容易想到本公開的其它實施方案。本公開旨在涵蓋本公開的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本公開的一般性原理并包括本公開未公開的本中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由所附的權利要求指出。


背景技術:

1、近年來,在現代電商系統中,店鋪裝修系統作為商家店鋪運營不可或缺的重要工具,店鋪裝修核心業務是商家通過裝修系統對店鋪頁面進行配置,頁面配置完成并發布后,商家配置的頁面內容,即可在商家店鋪客戶端(簡稱c端)頁面進行展示,以此實現商家對頁面內容的配置運行。店鋪裝修功能的開放允許第三方開發機構為店鋪商家提供更豐富和個性化的店鋪模板。

2、在店鋪開發系統基礎上,需要構建一個樓層打包系統為本地開發的樓層源碼進行性能安全方面的校驗,最后打包生成能夠在c端店鋪瀏覽系統渲染的樓層靜態資源。

3、在相關技術中,打包任務存儲在打包服務器本地內存變量中,然而,上述方式可能會造成不同打包服務器上的打包任務數量分配不均、整體打包效率低的問題,當打包服務器宕機或重啟后,打包任務數據丟失,造成打包中斷的問題。

4、需要說明的是,在上述背景技術部分公開的信息僅用于加強對本公開的背景的理解,因此可以包括不構成對本領域普通技術人員已知的現有技術的信息。


技術實現思路

1、本公開提供一種分布式多任務打包、系統、設備及存儲介質,至少在一定程度上克服相關技術中多任務打包方式任務分配不均、打包效率低的問題。

2、本公開的其他特性和優點將通過下面的詳細描述變得顯然,或部分地通過本公開的實踐而習得。

3、根據本公開的一個方面,提供一種分布式多任務打包方法,應用于分布式多任務打包系統,所述分布式多任務打包系統包括負載均衡器和多個打包服務器,所述方法包括:所述負載均衡器接收打包請求,將所述打包請求分配至所述多個打包服務器;各個打包服務器將所述打包請求所需的任務數據保存至分布式數據庫redis緩存任務隊列;若存在一個打包服務器的打包中的任務數量小于預設打包數量閾值,則所述一個打包服務器基于預設規則取出所述redis緩存任務隊列中處于等待狀態的目標任務數據,創建打包子進程,將所述目標任務數據傳遞至所述打包子進程,所述打包子進程對所述目標任務數據執行打包,得到打包結果,將所述打包結果上傳至云端服務器。

4、在本公開的一個實施例中,所述redis緩存數據采用分布式鎖的方式進行操作。

5、在本公開的一個實施例中,所述各個打包服務器將所述打包請求對應的任務數據保存至分布式數據庫redis緩存任務隊列,包括:添加第一分布式鎖;將所述任務數據加入所述redis緩存任務隊列的隊尾;釋放所述第一分布式鎖。

6、在本公開的一個實施例中,在所述一個打包服務器基于預設規則取出所述redis緩存任務隊列中處于等待狀態的目標任務數據之前,所述方法還包括:添加第二分布式鎖;在所述一個打包服務器基于預設規則取出所述redis緩存任務隊列中處于等待狀態的目標任務數據之后,所述方法還包括:將所述目標任務數據加入至所述一個打包服務器的任務列表中,所述一個打包服務器的任務列表在所述redis緩存中維護;在所述一個打包服務器創建打包子進程之后,所述方法還包括:釋放所述第二分布式鎖。

7、在本公開的一個實施例中,所述各個打包服務器將所述打包請求所需的任務數據保存至分布式數據庫redis緩存任務隊列,包括:所述各個打包服務器將所述打包請求的樓層源碼文件上傳至所述云端服務器,以使所述打包子進程對所述樓層源碼文件進行性能安全檢測。

8、在本公開的一個實施例中,所述方法還包括:若在對所述目標任務數據執行打包的過程中,出現打包異常、校驗不通過、打包超時或正常打包完成,則所述一個打包服務器結束所述打包子進程,其中,對于打包異常,生成異常日志。

9、在本公開的一個實施例中,在所述一個打包服務器結束所述打包子進程之后,所述方法還包括:所述一個打包服務器檢查所述redis緩存任務隊列中是否存在未執行的任務數據,若存在,則執行所述若存在一個打包服務器的打包中的任務數量小于預設打包數量閾值,則基于預設規則取出所述redis緩存任務隊列中處于等待狀態的目標任務數據的操作,直至所述redis緩存任務隊列中的所有任務數據處理完畢。

10、在本公開的另一個方面,還提供了一種分布式多任務打包系統,所述分布式多任務打包系統包括負載均衡器和多個打包服務器,其中,所述負載均衡器,用于接收打包請求,將所述打包請求分配至所述多個打包服務器;所述各個打包服務器,用于將所述打包請求所需的任務數據保存至分布式數據庫redis緩存任務隊列;其中,若存在一個打包服務器的打包中的任務數量小于預設打包數量閾值,則所述一個打包服務器基于預設規則取出所述redis緩存任務隊列中處于等待狀態的目標任務數據,創建打包子進程,將所述目標任務數據傳遞至所述打包子進程,所述打包子進程對所述目標任務數據執行打包,得到打包結果,將所述打包結果上傳至云端服務器。

11、根據本公開的另一個方面,提供一種電子設備,包括:處理器;以及存儲器,用于存儲所述處理器的可執行指令;其中,所述處理器配置為經由執行所述可執行指令來執行上述的分布式多任務打包方法。

12、根據本公開的另一個方面,提供了一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現上述的分布式多任務打包方法。

13、根據本公開的又一個方面,提供一種計算機程序產品,所述計算機程序產品包括計算機程序或計算機指令,所述計算機程序或所述計算機指令由處理器加載并執行,以使計算機實現上述的分布式多任務打包方法。

14、在本公開實施方式中,負載均衡器接收打包請求,將打包請求分配至多個打包服務器,各個打包服務器將打包請求所需的任務數據保存至分布式數據庫redis緩存任務隊列;若存在一個打包服務器的打包中的任務數量小于預設打包數量閾值,則上述一個打包服務器基于預設規則取出redis緩存任務隊列中處于等待狀態的目標任務數據,創建打包子進程,將目標任務數據傳遞至打包子進程;打包子進程對目標任務數據執行打包,得到打包結果,將打包結果上傳至云端服務器,從而使打包任務數據持久化存儲,當打包服務器宕機或者重啟后,任務隊列數據不會丟失,所有任務數據使用一個全局redis緩存任務隊列進行管理,能夠均衡分配到所有打包服務器資源,提高打包效率。

15、應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本公開。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 清镇市| 鹤庆县| 习水县| 天门市| 平顺县| 武山县| 耿马| 施秉县| 登封市| 龙川县| 古交市| 桑植县| 龙州县| 锦州市| 休宁县| 德保县| 林甸县| 延川县| 塘沽区| 昌图县| 潢川县| 汾阳市| 济源市| 绥芬河市| 碌曲县| 江永县| 莆田市| 县级市| 杭锦后旗| 荔波县| 太原市| 瓦房店市| 景德镇市| 玉田县| 南雄市| 临城县| 洪湖市| 梅州市| 宝山区| 象州县| 彩票|