亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

分布式作業(yè)管理器及分布式作業(yè)管理方法與流程

文檔序號:11519443閱讀:206來源:國知局
分布式作業(yè)管理器及分布式作業(yè)管理方法與流程

本發(fā)明涉及計算機軟件處理領域,具體而言,涉及一種分布式作業(yè)管理器及分布式作業(yè)管理方法。



背景技術:

在歷史上,批處理作業(yè)廣泛使用于大型計算機。由于這種級別的計算機非常昂貴,基于避免計算資源閑置等原因需要運用批處理。另外一個原因是,在早期的電子計算機上,終端設備界面(以后發(fā)展到圖形用戶界面)的交互程序尚未推廣。批處理的發(fā)展遠勝當初的大型電腦上的應用,現在也常用于unix環(huán)境,用cron和at機制來安排復雜的工作程序。微軟windows系統(tǒng)提供任務計劃工具,用戶可以自定義作業(yè)運行的頻率,并可以選擇要運行的應用程序。

在現代信息系統(tǒng)中,由于業(yè)務系統(tǒng)處理要求,比如在每天需要批處理作業(yè),進行報表數據計算、打印系列文檔等。針對海量數據處理,要求在大量的開放計算資源里同時處理多個作業(yè),并能快速完成處理過程。

目前,windows的任務管理器,提供定制各種時間頻率,在指定的執(zhí)行操作任務類型只能局限在應用程序、發(fā)送電子郵件和顯示消息。unix的cron和at機制同樣可以定制各種時間頻率,并以應用程序為運行單位。

上述技術只能以進程為單位在本機啟動應用程序,面向眾多高頻率的批量小作業(yè)時,系統(tǒng)資源消耗高;不能支持非應用程序,比如組件、數據庫應用等作業(yè)類型;不能在分布式的情況下完成計算資源的整合。多數為存儲過程實現,計算都基于oracle,導致占用大量oraclecpu資源及內存資源,與oracle數據庫耦合緊。由于用存儲過程實現,性能提升方式單一,只能通過增加數據庫的硬件資源來提升性能,導致oracle成本提高。



技術實現要素:

本發(fā)明提供了一種分布式作業(yè)管理器及分布式作業(yè)管理方法,以至少解決相關技術中的作業(yè)處理系統(tǒng)與數據庫耦合緊,無法實現分布式處理的問題。

根據本發(fā)明的一個方面,提供了一種分布式作業(yè)管理器,包括:作業(yè)調度頁面和多個作業(yè)執(zhí)行容器,所述多個作業(yè)執(zhí)行容器分布在多個節(jié)點上,所述作業(yè)調度頁面和所述多個作業(yè)執(zhí)行容器通過隊列進行交互;其中,

所述作業(yè)調度頁面,用于提供用戶交互界面,以實現作業(yè)定制、作業(yè)的調度方式的定制,以及作業(yè)的執(zhí)行狀態(tài)的監(jiān)控;

所述作業(yè)執(zhí)行容器,用于根據所述作業(yè)調度頁面定制的調度方式執(zhí)行相應作業(yè),并將作業(yè)的執(zhí)行狀態(tài)反饋給所述作業(yè)調度頁面。

根據本發(fā)明的另一個方面,還提供了一種分布式作業(yè)管理方法,包括:

通過作業(yè)調度頁面提供的用戶交互界面,將作業(yè)的作業(yè)消息、作業(yè)的作業(yè)操作消息發(fā)送至隊列,以及從隊列中獲取作業(yè)的執(zhí)行狀態(tài)消息;

多個節(jié)點上的作業(yè)執(zhí)行容器從隊列中獲取作業(yè)消息和作業(yè)操作消息,并根據作業(yè)消息和作業(yè)操作消息執(zhí)行對應的作業(yè),以及將作業(yè)的執(zhí)行狀態(tài)消息發(fā)送至隊列。

通過本發(fā)明,采用通過作業(yè)調度頁面提供的用戶交互界面,將作業(yè)的作業(yè)消息、作業(yè)的作業(yè)操作消息發(fā)送至隊列,以及從隊列中獲取作業(yè)的執(zhí)行狀態(tài)消息;多個節(jié)點上的作業(yè)執(zhí)行容器從隊列中獲取作業(yè)消息和作業(yè)操作消息,并根據作業(yè)消息和作業(yè)操作消息執(zhí)行對應的作業(yè),以及將作業(yè)的執(zhí)行狀態(tài)消息發(fā)送至隊列的方式,實現了作業(yè)處理與數據庫的解耦,解決相關技術中的作業(yè)處理系統(tǒng)與數據庫耦合緊,無法實現分布式處理的問題;并且由于作業(yè)執(zhí)行容器分布在多個節(jié)點上,在需要增加作業(yè)處理能力時只需要加入新的含有作業(yè)執(zhí)行容器的節(jié)點,系統(tǒng)容易擴展,提高了作業(yè)處理效率和作業(yè)平臺的可擴展性。

附圖說明

此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:

圖1是根據本發(fā)明實施例的分布式作業(yè)管理器的結構示意圖;

圖2是根據本發(fā)明實施例的分布式作業(yè)管理器的優(yōu)選結構示意圖;

圖3是根據本發(fā)明實施例的分布式作業(yè)管理方法的流程圖;

圖4是根據本發(fā)明優(yōu)選實施例的分布式作業(yè)管理器的結構示意圖;

圖5是根據本發(fā)明優(yōu)選實施例的執(zhí)行狀態(tài)轉換示意圖。

具體實施方式

下文中將參考附圖并結合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。

實施例1

本實施例提供了一種分布式作業(yè)管理器。圖1是根據本發(fā)明實施例的分布式作業(yè)管理器的結構示意圖,如圖1所示,該分布式作業(yè)管理器包括:作業(yè)調度頁面1和多個作業(yè)執(zhí)行容器2,多個作業(yè)執(zhí)行容器2分布在多個節(jié)點上,作業(yè)調度頁面1和多個作業(yè)執(zhí)行容器2通過隊列4進行交互;其中,

作業(yè)調度頁面1,用于提供用戶交互界面,以實現作業(yè)定制、作業(yè)的調度方式的定制,以及作業(yè)的執(zhí)行狀態(tài)的監(jiān)控;

作業(yè)執(zhí)行容器2,用于根據作業(yè)調度頁面1定制的調度方式執(zhí)行相應作業(yè),并將作業(yè)的執(zhí)行狀態(tài)反饋給作業(yè)調度頁面1。

上述的作業(yè)調度頁面1可以部署在一個或者多個節(jié)點上,但同一時間一般只允許一個節(jié)點上的作業(yè)調度頁面1處于活動狀態(tài),以避免多個作業(yè)調度頁面1定制的作業(yè)或者調度方式相互沖突?;蛘撸试S多個節(jié)點上的作業(yè)調度頁面1均處于活動狀態(tài),通過定制一定的沖突解決策略來避免多個作業(yè)調度頁面1定制的作業(yè)或者調度方式相互沖突。

上述的作業(yè)定制、作業(yè)的調度方式的定制是通過隊列4向作業(yè)執(zhí)行容器2發(fā)送作業(yè)的描述信息(例如上下文信息)來實現的。

可選地,根據隊列的功能劃分,隊列4可以包括:作業(yè)隊列41、操作隊列42和監(jiān)視隊列43,其中,作業(yè)隊列41用于處理作業(yè)消息的出入隊列操作,其中,作業(yè)消息用于指示作業(yè)的類型和作業(yè)的調度方式;操作隊列42用于處理作業(yè)操作消息的出入隊列操作,其中,作業(yè)操作消息用于指示對作業(yè)的執(zhí)行操作、終止操作或者暫停操作;監(jiān)視隊列43用于處理作業(yè)執(zhí)行狀態(tài)消息的出入隊列操作。不同隊列中通過作業(yè)的唯一標識標記一個作業(yè)。

圖2是根據本發(fā)明實施例的分布式作業(yè)管理器的優(yōu)選結構示意圖。

參考圖2,可選地,作業(yè)調度頁面1包括:作業(yè)消息發(fā)送模塊11、作業(yè)操作消息發(fā)送模塊12和作業(yè)執(zhí)行狀態(tài)消息接收模塊13,其中,作業(yè)消息發(fā)送模塊11,用于發(fā)送作業(yè)消息至作業(yè)隊列41;作業(yè)操作消息發(fā)送模塊12,用于發(fā)送作業(yè)操作消息至操作隊列42;作業(yè)執(zhí)行狀態(tài)消息接收模塊13,用于從監(jiān)視隊列43接收作業(yè)執(zhí)行狀態(tài)消息。

可選地,作業(yè)操作消息發(fā)送模塊12包括:作業(yè)上下文解析單元121、作業(yè)執(zhí)行狀態(tài)消息接收單元122、作業(yè)操作消息生成單元123,以及作業(yè)操作消息發(fā)送單元124,其中,作業(yè)上下文解析單元121,用于解析作業(yè)對應的作業(yè)消息,以獲取多個作業(yè)之間的作業(yè)關系,其中,作業(yè)關系包括:依賴關系、互斥關系;作業(yè)執(zhí)行狀態(tài)消息接收單元122,用于從監(jiān)視隊列43獲取作業(yè)的作業(yè)執(zhí)行狀態(tài)消息,作業(yè)執(zhí)行狀態(tài)消息包括:作業(yè)執(zhí)行完成消息、作業(yè)執(zhí)行異常消息;作業(yè)操作消息生成單元123,用于根據作業(yè)執(zhí)行狀態(tài)消息,確定每個作業(yè)對應的作業(yè)操作消息;其中,在一個作業(yè)互斥的作業(yè)正在執(zhí)行的情況下,確定這一個作業(yè)對應的作業(yè)操作消息為暫停操作消息;在一個作業(yè)依賴的作業(yè)尚未執(zhí)行成功的情況下,確定這一個作業(yè)對應的作業(yè)操作消息為暫停操作消息或者終止操作消息;作業(yè)操作消息發(fā)送單元124,用于發(fā)送作業(yè)操作消息至操作隊列42。

可選地,作業(yè)執(zhí)行容器2包括:作業(yè)消息接收模塊21、作業(yè)操作消息接收模塊22、作業(yè)執(zhí)行模塊23和作業(yè)執(zhí)行狀態(tài)消息發(fā)送模塊24,其中,作業(yè)消息接收模塊21,用于從作業(yè)隊列41接收作業(yè)消息;作業(yè)操作消息接收模塊22,用于從操作隊列42接收作業(yè)操作消息;作業(yè)執(zhí)行模塊23,用于根據作業(yè)操作消息執(zhí)行相應的作業(yè)消息所描述的作業(yè);作業(yè)執(zhí)行狀態(tài)消息發(fā)送模塊24,用于發(fā)送作業(yè)的執(zhí)行狀態(tài)消息至監(jiān)視隊列43。

參考圖2,可選地,作業(yè)執(zhí)行模23包括:線程管理單元231,以及由線程管理單元231提供的單線程或者多線程232,其中,線程管理單元231,用于為每個作業(yè)提供對應的執(zhí)行作業(yè)的單線程或者多線程232;單線程或者多線程232,用于執(zhí)行對應的作業(yè)。

需要說明的是,上述的術語“模塊”或“單元”是指可以實現預定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現,但是硬件,或者軟件和硬件的組合的實現也是可能并被構想的。

上述各個模塊或者單元是可以通過軟件或硬件來實現的,對于后者,可以通過以下方式實現,但不限于此:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個處理器中。

實施例2

本實施例提供了一種分布式作業(yè)管理方法。圖3是根據本發(fā)明實施例的分布式作業(yè)管理方法的流程圖,如圖3所示,該流程包括如下步驟:

步驟s301,通過作業(yè)調度頁面提供的用戶交互界面,將作業(yè)的作業(yè)消息、作業(yè)的作業(yè)操作消息發(fā)送至隊列,以及從隊列中獲取作業(yè)的執(zhí)行狀態(tài)消息;

步驟s302,多個節(jié)點上的作業(yè)執(zhí)行容器從隊列中獲取作業(yè)消息和作業(yè)操作消息,并根據作業(yè)消息和作業(yè)操作消息執(zhí)行對應的作業(yè),以及將作業(yè)的執(zhí)行狀態(tài)消息發(fā)送至隊列。

可選地,上述的隊列包括:作業(yè)隊列、操作隊列和監(jiān)視隊列,其中,作業(yè)隊列,用于處理作業(yè)消息的出入隊列操作,其中,作業(yè)消息用于指示作業(yè)的類型和作業(yè)的調度方式;操作隊列,用于處理作業(yè)操作消息的出入隊列操作,其中,作業(yè)操作消息用于指示對作業(yè)的執(zhí)行操作、終止操作或者暫停操作;監(jiān)視隊列,用于處理作業(yè)執(zhí)行狀態(tài)消息的出入隊列操作;

可選地,上述步驟s301包括:發(fā)送作業(yè)消息至作業(yè)隊列;發(fā)送作業(yè)操作消息至操作隊列;從監(jiān)視隊列接收作業(yè)執(zhí)行狀態(tài)消息。

可選地,本實施例可以根據作業(yè)之間的作業(yè)關系來確定業(yè)務的執(zhí)行先后順序或者確定任務是否執(zhí)行。上述的發(fā)送作業(yè)操作消息至操作隊列包括:解析作業(yè)對應的作業(yè)消息,以獲取多個作業(yè)之間的作業(yè)關系,其中,作業(yè)關系包括:依賴關系、互斥關系;從監(jiān)視隊列獲取作業(yè)的作業(yè)執(zhí)行狀態(tài)消息,作業(yè)執(zhí)行狀態(tài)消息包括:作業(yè)執(zhí)行完成消息、作業(yè)執(zhí)行異常消息;根據作業(yè)執(zhí)行狀態(tài)消息,確定每個作業(yè)對應的作業(yè)操作消息;其中,在一個作業(yè)互斥的作業(yè)正在執(zhí)行的情況下,確定這一個作業(yè)對應的作業(yè)操作消息為暫停操作消息;在一個作業(yè)依賴的作業(yè)尚未執(zhí)行成功的情況下,確定這一個作業(yè)對應的作業(yè)操作消息為暫停操作消息或者終止操作消息;發(fā)送作業(yè)操作消息至操作隊列。

可選地,在步驟s302中,根據作業(yè)消息和作業(yè)操作消息執(zhí)行對應的作業(yè)包括:根據作業(yè)消息和作業(yè)操作消息為每個作業(yè)提供對應的執(zhí)行作業(yè)的單線程或者多線程;使用單線程或者多線程執(zhí)行對應的作業(yè)。

通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。

本發(fā)明的實施例還提供了一種軟件,該軟件用于執(zhí)行上述實施例及優(yōu)選實施方式中描述的技術方案。

本發(fā)明的實施例還提供了一種存儲介質。在本實施例中,上述存儲介質可以被設置為存儲用于執(zhí)行以下步驟的程序代碼:

步驟s301,通過作業(yè)調度頁面提供的用戶交互界面,將作業(yè)的作業(yè)消息、作業(yè)的作業(yè)操作消息發(fā)送至隊列,以及從隊列中獲取作業(yè)的執(zhí)行狀態(tài)消息;

步驟s302,多個節(jié)點上的作業(yè)執(zhí)行容器從隊列中獲取作業(yè)消息和作業(yè)操作消息,并根據作業(yè)消息和作業(yè)操作消息執(zhí)行對應的作業(yè),以及將作業(yè)的執(zhí)行狀態(tài)消息發(fā)送至隊列。

可選地,在本實施例中,上述存儲介質可以包括但不限于:u盤、只讀存儲器(read-onlymemory,簡稱為rom)、隨機存取存儲器(randomaccessmemory,簡稱為ram)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。

可選地,本實施例中的具體示例可以參考上述實施例及可選實施方式中所描述的示例,本實施例在此不再贅述。

為了使本發(fā)明實施例的描述更加清楚,下面結合優(yōu)選實施例進行描述和說明。

實施例3

本優(yōu)選實施例提供了一種分布式作業(yè)管理器。圖4是根據本發(fā)明優(yōu)選實施例的分布式作業(yè)管理器的結構示意圖,如圖4所示的分布式作業(yè)管理器是用來定制job(即作業(yè)),以及job的調度方式,并且監(jiān)控job的執(zhí)行狀態(tài)的系統(tǒng)。分布式作業(yè)管理器分為jobscheduleweb(相當于上述的作業(yè)調度頁面),以及jobexecutioncontainer(相當于上述的作業(yè)執(zhí)行容器)兩大部分。其中jobscheduleweb是前臺web系統(tǒng),用來定制job,job調度,監(jiān)控等等與用戶交互的部分。jobexecutioncontainer則是一個后臺系統(tǒng),用來執(zhí)行job的業(yè)務邏輯。jobscheduleweb與jobexecutioncontainer通過隊列進行交互。

參考圖4,jobscheduleweb包括web前端(表現為一個web頁面),以及scheduleservice(調度服務);queue(隊列)則包括operationq(操作隊列)、jobq(作業(yè)隊列)和monitorq(監(jiān)視隊列);jobexecutioncontainer包括:envmonitor(環(huán)境變量監(jiān)視器)、core(處理核心)、process(進程池)。

可選地,web前端通過遠程過程調用協(xié)議(rpc)與scheduleservice通訊。

schedulesevice包括:executionmonitor(執(zhí)行狀態(tài)監(jiān)視器)、config(配置器)、jobmonitor(作業(yè)監(jiān)視器)和schedule(調度器)。config和jobmonitor從jobrdbs(作業(yè)關系數據庫)和quartzrdbs(定時任務框架關系數據庫)讀寫job和job的定時任務信息;schedule用于將job、對job的操作(例如終止操作kill、暫停操作suspend)分別加入jobq和operationq,以及從monitorq獲取job的執(zhí)行結果;jobexecutioncontainer的執(zhí)行過程中,環(huán)境變量信息、日志信息等寫入redis,scheduleservice通過executionmonitor從redis中獲取環(huán)境變量信息、日志信息。

優(yōu)選地,jobexecutioncontainer可以有多個,分別分布在多個節(jié)點上;在本優(yōu)選實施例中,通過registry(注冊器)注冊新加入的jobexecutioncontainer;jobscheduleweb則通過executionmonitor從registry中獲取全部的jobexecutioncontainer當前是否可用或者資源剩余情況的狀態(tài)信息,以實現對可用jobexecutioncontainer的調度。registry還用于對已注冊的jobexecutioncontainer進行心跳監(jiān)控。

jobscheduleweb是分布式作業(yè)管理器中的前臺部分。負責與用戶的交互,定制jobtype,jobschedule,以及監(jiān)控job執(zhí)行的狀態(tài)。job的執(zhí)行狀態(tài)包括:已調度(scheduled)、等待(waiting)、已入隊(queued)、失敗(failed)、暫停(suspend)、暫停中(suspending)、執(zhí)行中(processing)、終止中(killing)、已終止(killed),以及已完成(completed)。在圖5中示出了各個執(zhí)行狀態(tài)之間的轉換情況,其中的操作包括強制運行(forcerun)、重新開始(resume)、再次運行(rerun)、暫停(suspend),以及終止(kill)。

在本優(yōu)選實施例中,一個job的調度執(zhí)行,在jobscheduleweb中將其分為了三步:

第一,維護job類型。jobschedule子系統(tǒng)中的job的執(zhí)行,是由jobscheduleweb將job信息發(fā)送到jobq,再由jobexecutioncontainer抓取message,調用真正的job業(yè)務代碼去執(zhí)行的。這里維護的jobtype即為jobexecutioncontainer查找業(yè)務代碼的標識。

第二,維護jobschedule。這里維護的是job以什么樣的方式進行調度執(zhí)行。其中包含了依賴關系,互斥關系,執(zhí)行參數等等。job可以是adhoc(臨時)的,也可以是循環(huán)往復執(zhí)行的,也可以是timer(定時)類型的。jobschedule通過quartz實現調度。

第三,jobinstance(作業(yè)實例)。這個類似joblog的概念,代表一個邏輯的job,按照schedule,執(zhí)行一次產生的日志記錄。

在上述的分布式作業(yè)管理器中,job在shceduleweb系統(tǒng)中執(zhí)行,其實只是發(fā)送相應的message到隊列中。具體業(yè)務邏輯的執(zhí)行,在jobexecutioncontainer中。

在執(zhí)行job時,多個job之間依賴或者互斥關系為滿足,則改為waiting狀態(tài),等待相應的其他job完成后,再次觸發(fā)。

例如,當監(jiān)控到的信息為complete時,先將jobinstance改為complete狀態(tài)。再分別查詢互斥以及依賴于此jobinstance的waiting狀態(tài)的jobinstance,然后觸發(fā)這些jobinstance。

依賴關系的判斷。目前采用的是在已生成的jobinstance之間進行判斷。例如定義了joba,每天11點執(zhí)行,定義了jobb每天12點執(zhí)行,jobb依賴于joba。那么如果當天的a成功了,那么b到12點正常執(zhí)行;如果a失敗了,則b到12點時,執(zhí)行,但是判斷依賴關系沒滿足,自動變?yōu)閣aiting狀態(tài)。反過來,如果定義a依賴于b,那么a執(zhí)行時,會去判斷b是否執(zhí)行成功,此時b判斷的是前一天的12點實行的結果。

在對作業(yè)的操作中,job的kill,suspend最終通過線程池完成。jobexecutioncontainer會為每個job執(zhí)行創(chuàng)建一個線程池。線程的kill,suspend通過線程池可以完成。

jobexecutioncontainer是一個執(zhí)行job的容器。通過fetchjobtimer(抓取作業(yè)定時器)定時從jobq中掃描消息,抓取消息。創(chuàng)建job執(zhí)行需要的spring環(huán)境(以java為例),然后調用job業(yè)務代碼進行執(zhí)行。

jobexecutioncontainer中提供了simplejob(簡單作業(yè))與paralleljob(并行作業(yè))兩種基礎的job類型。業(yè)務job可以根據自身需要選擇繼承。simplejob為簡單job,單線程順序執(zhí)行;paralleljob采用生產者消費者模式并行執(zhí)行。

container會捕獲job執(zhí)行中拋出的異常,然后發(fā)送消息到monitorqueue,通知jobscheduleweb系統(tǒng)修改jobinstance的狀態(tài)。container不直接連jobschedule的數據庫。

綜上所述,本發(fā)明提供的分布式作業(yè)管理器采用應用多線程實現,可以通過增加節(jié)點,提高作業(yè)執(zhí)行的性能。支持熱部署新的作業(yè),不需要重啟原來的節(jié)點。作業(yè)類型更加豐富。還能夠通過作業(yè)調度頁面進行圖形化監(jiān)控與配置。

本發(fā)明實施例提供的分布式作業(yè)管理器還具有以下優(yōu)點:作業(yè)采用應用多線程實現,可以運行在appserver中。作業(yè)可以采用多節(jié)點共同分擔性能需求,橫向擴展容易。數據庫只用來存儲數據,不依賴于某種數據庫。性能問題集中在存儲和網絡的輸入輸出能力上,便于解決性能問題。使用redis,增加緩存策略,用來減少輸入輸出帶來的性能問題。作業(yè)執(zhí)行節(jié)點支持動態(tài)部署卸載新的作業(yè),不需要重啟整個作業(yè)執(zhí)行節(jié)點。作業(yè)支持更多的動作及狀態(tài)。作業(yè)維護支持更多的配置:定時、依賴、互斥。監(jiān)控功能更加全面,節(jié)點的狀態(tài),cpu,內存使用等全面監(jiān)控。作業(yè)監(jiān)控體驗更好,增加作業(yè)日歷、圖形化、動態(tài)化監(jiān)控。

以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1