本發明專利技術公開了一種HTML頁面定時隊列調度方法、系統、裝置和存儲介質,其方法步驟包括:創建定時器隊列維護方法;將需要定時執行的方法注冊進上述定時器隊列維護方法;設置定時器超時對象和相應執行一次定時器隊列維護方法的間隔時間;執行定時器超時對象。本發明專利技術通過定時器隊列維護方法達到統一維護Javascript定時任務的效果,在定時器隊列維護方法中設置需要定時執行的方法、所對應的啟動時間、結束循環時間、循環間隔時間和循環次數五個參數,使循環任務的控制更加靈活,并且減少代碼冗余,降低復雜度,簡化瀏覽器線程的調度邏輯,提高執行效率。本發明專利技術作為一種HTML頁面定時隊列調度方法、系統、裝置和存儲介質可廣泛應用于數據處理領域。
【技術實現步驟摘要】
一種HTML頁面定時隊列調度方法、系統、裝置和存儲介質
本專利技術涉及數據處理領域,尤其是一種HTML頁面定時隊列調度方法、系統、裝置和存儲介質。
技術介紹
隨著互聯網的蓬勃發展,我們已然邁入了Web2.0時代。在這個時代里,用戶是主體,互聯網以人為本,用戶可以在網上發表觀點、參與互動,可以分享、聚合信息。這比多年前甚至更久以前的用戶單純從互聯網接收信息,有了很大的進步,而HTML技術在這中間起到了決定性的作用,其中Javascript作為html中的“行為”角色,又舉足輕重,好的用戶體驗就從中體現。這勢必繞不開使用js(Javascript)作為定時器,進行一系列的頁面操作,但隨著頁面的功能擴展,定時器的不斷增加使整個頁面的執行效率變得異常臃腫,開發代碼和維護難度也直線上升。所以,解決定時器的精簡問題,是優化體驗、減少開發成本的重要途徑。Javascript中的定時器分為兩種:setTimeout和setInterval,前者是設置一個超時對象,超時(指定時間)后執行這個對象,只執行一次無周期。后者同樣是設置超時對象,區別是間隔周期時間無限次執行對象。眾所周知,js是單線程的,對于瀏覽器來說,js只是眾多執行線程中的一條,我們稱之為“Javascript引擎線程”,其循環定時執行的原理是利用瀏覽器的多線程,將自己的多個已超時任務移交給瀏覽線程執行,如圖1所示。如果定義的超時對象過多,勢必增加該線程的調度難度,也對代碼維護帶來困難,增加開發成本。例如,假設HTML頁面有3個定時執行方法:每1秒執行一次的function_1()執行3次后停止、每10秒執行一次的function_2()60秒后停止、每30秒執行一次的function_3()在頁面執行15秒后開始。以現有的方法,需要定義3個循環定時器setInterval(“function_1();”,1000),setInterval(“function_2();”,10000),setInterval(“function_3();”,30000),方法的第一個參數為需要被執行的任務,第二個參數為循環時間,單位毫秒。執行此3個定時器會對Javascript引擎線程中增加3個Internval對象,等待瀏覽器多線程調度,并且各自的執行具體時間不再可控,只要瀏覽器線程在,則他們就會無限置的執行下去,如果需要單獨維護各自的起效與失效時間或次數,則需要在恰當的時間點,額外執行clearInterval(“之前的超時對象”)和setTimeout()單次定時器。整體邏輯變得異常復雜。
技術實現思路
為了解決上述技術問題,本專利技術的目的是:提供一種簡化定時任務執行邏輯的基于HTML頁面的定時隊列調度方法。為了解決上述技術問題,本專利技術的另一目的是:提供一種簡化定時任務執行邏輯的基于HTML頁面的定時隊列調度系統。為了解決上述技術問題,本專利技術的另一目的是:提供一種簡化定時任務執行邏輯的基于HTML頁面的定時隊列調度裝置。為了解決上述技術問題,本專利技術的另一目的是:提供用于實現一種簡化定時任務執行邏輯的基于HTML頁面的定時隊列調度方法的存儲介質。本專利技術所采用的技術方案是:一種基于HTML頁面的定時隊列調度方法,包括有以下步驟:創建定時器隊列維護方法time_list();將需要定時執行的方法注冊進上述定時器隊列維護方法time_list();設置定時器超時對象setInterval(“time_list();”,t),t為執行一次定時器隊列維護方法time_list()的間隔時間;執行定時器超時對象setInterval(“time_list();”,t)。進一步,該定時隊列調度方法采用Javascript實現。進一步,所述定時器隊列維護方法time_list()的輸入參數包括有需要定時執行的方法名稱func_name以及需要定時執行的方法func_name所對應的啟動時間start_time、結束循環時間end_time、循環間隔時間loop_time和循環次數loop_count。進一步,所述啟動時間start_time為0時表示立即執行;所述結束循環時間end_time為0時表示無結束循環時間限制;所述循環次數loop_count為0時表示無循環次數限制。本專利技術所采用的另一技術方案是:一種基于HTML頁面的定時隊列調度系統,包括有創建模塊,用于創建定時器隊列維護方法time_list();注冊模塊,用于將需要定時執行的方法注冊進上述定時器隊列維護方法time_list();定時器設置模塊,用于設置定時器超時對象setInterval(“time_list();”,t),t為執行一次定時器隊列維護方法time_list()的間隔時間;執行模塊,用于執行定時器超時對象setInterval(“time_list();”,t)。進一步,該系統采用Javascript實現。進一步,所述注冊模塊在將需要定時執行的方法注冊進上述定時器隊列維護方法time_list()時,給所述定時器隊列維護方法time_list()輸入參數;所述輸入參數包括有需要定時執行的方法名稱func_name以及需要定時執行的方法func_name所對應的啟動時間start_time、結束循環時間end_time、循環間隔時間loop_time和循環次數loop_count。進一步,所述啟動時間start_time為0時表示立即執行;所述結束循環時間end_time為0時表示無結束循環時間限制;所述循環次數loop_count為0時表示無循環次數限制。本專利技術所采用的另一技術方案是:一種基于HTML頁面的定時隊列調度裝置,包括有至少一個處理器;和一存儲介質,該存儲介質包括有處理器可執行指令,所述計算機可執行指令在由處理器執行時用于執行如權利要求1-4中任一權利要求所述的一種基于HTML頁面的定時隊列調度方法。本專利技術所采用的另一技術方案是:一種計算機可讀存儲介質,該存儲介質包括有計算機可執行指令,所述計算機可執行指令在由計算機處理器執行時用于執行上述一種基于HTML頁面的定時隊列調度方法。本專利技術的有益效果是:通過定時器隊列維護方法time_list()達到統一維護Javascript定時任務的效果,在定時器隊列維護方法time_list()中設置需要定時執行的方法func_name所對應的啟動時間start_time、結束循環時間end_time、循環間隔時間loop_time和循環次數loop_count五個參數,使循環任務的控制更加靈活,并且減少代碼冗余,降低復雜度,簡化瀏覽器線程的調度邏輯,提高執行效率。附圖說明圖1為現有技術中瀏覽器內核多線程執行的時序示意圖;圖2為本專利技術方法的步驟流程圖。具體實施方式下面結合附圖對本專利技術的具體實施方式作進一步說明:參照圖2,一種基于HTML頁面的定時隊列調度的具體實施方法包括有以下步驟:創建定時器隊列維護方法time_list();所述定時器隊列維護方法time_list()定義為:time_list(func_name,start_time,end_time,loop_time,loop_count)輸入參數包括有需要定時執行的方法名稱func_name以本文檔來自技高網...
【技術保護點】
1.一種基于HTML頁面的定時隊列調度方法,其特征在于,包括有以下步驟:創建定時器隊列維護方法;將需要定時執行的方法注冊進上述定時器隊列維護方法;設置定時器超時對象setInterval(“time_list();”,t),其中time_list()為定時器隊列維護方法,t為執行一次定時器隊列維護方法的間隔時間;執行定時器超時對象。
【技術特征摘要】
1.一種基于HTML頁面的定時隊列調度方法,其特征在于,包括有以下步驟:創建定時器隊列維護方法;將需要定時執行的方法注冊進上述定時器隊列維護方法;設置定時器超時對象setInterval(“time_list();”,t),其中time_list()為定時器隊列維護方法,t為執行一次定時器隊列維護方法的間隔時間;執行定時器超時對象。2.根據權利要求1所述的一種基于HTML頁面的定時隊列調度方法,其特征在于:該定時隊列調度方法采用Javascript實現。3.根據權利要求1所述的一種基于HTML頁面的定時隊列調度方法,其特征在于:所述定時器隊列維護方法的輸入參數包括有需要定時執行的方法名稱以及需要定時執行的方法所對應的啟動時間、結束循環時間、循環間隔時間和循環次數。4.根據權利要求3所述的一種基于HTML頁面的定時隊列調度方法,其特征在于:所述啟動時間為0時表示立即執行;所述結束循環時間為0時表示無結束循環時間限制;所述循環次數為0時表示無循環次數限制。5.一種基于HTML頁面的定時隊列調度系統,其特征在于:包括有創建模塊,用于創建定時器隊列維護方法;注冊模塊,用于將需要定時執行的方法注冊進上述定時器隊列維護方法;定時器設置模塊,用于設置定時器超時對象setInterval(“time_list();”,t),其中time_list...
【專利技術屬性】
技術研發人員:黃鎮,
申請(專利權)人:無錫天脈聚源傳媒科技有限公司,
類型:發明
國別省市:江蘇,32
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。