两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種時間控制方法及系統(tǒng)的制作方法

文檔序號:6519704閱讀:186來源:國知局
一種時間控制方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種時間控制方法,應用在計算機領域,包括以下步驟:設置時間控制模塊并定義一個事件隊列,其中,該時間控制模塊包括基本的時間函數(shù),通訊機制,時間事件處理,添加移除時間事件,1個或多個事件主體;將需要刷新的事件定義出來,將其Notification和其參數(shù)通過事件注冊加入到定義好的所述事件隊列中;通過基本的時間函數(shù)中的timer的事件偵聽器,將隊列中的消息一一取出,調(diào)用相應的事件處理函數(shù)并加入到刷新事件中,通過調(diào)用Proxy層的接口,實現(xiàn)自動刷新。
【專利說明】一種時間控制方法及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及計算機領域,尤其涉及一種時間控制方法及系統(tǒng)。
【背景技術】
[0002]ActionScript是Flex的基本程序語言。Flex作為一種界面設計語言是相當靈活的。在B/S架構中,經(jīng)常要用到前端對后臺某些函數(shù)的多次或不停的循環(huán)請求,這種請求方式的處理可以是后臺不停地對前端的數(shù)據(jù)推送,也可以是前端不停地對后臺的數(shù)據(jù)請求。為了系統(tǒng)的穩(wěn)定性及安全性考慮,對于頻繁的數(shù)據(jù)交換來說,后臺不停對前端的數(shù)據(jù)發(fā)送會使得系統(tǒng)變得不安全,而且容易導致前端數(shù)據(jù)的冗余,所以后臺對前端的數(shù)據(jù)推送不是一種好的方式。一般來說,都是通過前端向后臺發(fā)送請求,來獲取數(shù)據(jù)的更新。
[0003]B/S架構的全稱為Browser/Server,即瀏覽器/服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。Browser指的是Web瀏覽器,極少數(shù)事務邏輯在前端實現(xiàn),但主要事務邏輯在服務器端實現(xiàn),Browser客戶端,服務器端和數(shù)據(jù)庫DB端構成三層架構,這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本。B/S架構中,顯示邏輯交給了 Web瀏覽器,事務處理邏輯在放在了服務器上,這樣就避免了龐大的胖客戶端,減少了客戶端的壓力。因為客戶端包含的邏輯很少,因此也被成為瘦客戶端。
[0004]目前,軟件系統(tǒng)的改進和升級越來越頻繁,B/S架構的產(chǎn)品明顯體現(xiàn)著更為方便的特性。其所有的客戶端只是瀏覽器,根本不需要做任何的維護。無論用戶的規(guī)模有多大,有多少分支機構都不會增加任何維護升級的工作量,所有的操作只需要針對服務器進行;如果是異地,只需要把服務器連接專網(wǎng)即可,實現(xiàn)遠程維護、升級和共享。所以客戶機越來越“瘦”,而服務器越來越“胖”是將來信息化發(fā)展的主流方向。今后,軟件升級和維護會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費用的節(jié)省是顯而易見的,驚人的。因此,維護和升級革命的方式是“瘦”客戶機,“胖”服務器。
[0005]由于B/S架構管理軟件只安裝在服務器端上,網(wǎng)絡管理人員只需要管理服務器就行了,用戶界面主要事務邏輯在服務器端通過瀏覽器實現(xiàn),極少部分事務邏輯在前端實現(xiàn),所有的客戶端只有瀏覽器。但是,應用服務器運行數(shù)據(jù)負荷較重,一旦發(fā)生服務器“崩潰”等問題,后果不堪設想。
[0006]客戶端服務器端的交互是請求-響應模式,通常需要刷新頁面,這并不是客戶樂意看到的。
[0007]這種方式雖然簡單,不需要前端做業(yè)務邏輯,但是容易引發(fā)很多問題,前端的不刷新會導致數(shù)據(jù)過時,當向后臺提交數(shù)據(jù)時會造成數(shù)據(jù)的不穩(wěn)定和錯誤。因此需要前端能夠根據(jù)業(yè)務情況不停地向服務器請求數(shù)據(jù),然后保持頁面的自動刷新。一般來說,自動刷新機制由前端負責。Flex自身提供了 Timer事件。通過前端自身的刷新來向服務器請求數(shù)據(jù),雖然會使得前端的壓力變大,但是卻能夠減小服務器的壓力。在系統(tǒng)中,前端數(shù)據(jù)的刷新是一個很重要的問題,刷新的效率直接體現(xiàn)了系統(tǒng)的實時性和穩(wěn)定性。因此,需要尋找一種更好的前端刷新方式顯得很有必要了。

【發(fā)明內(nèi)容】

[0008]本發(fā)明提供一種時間控制方法及系統(tǒng),以解決上述問題。
[0009]本發(fā)明提供一種時間控制方法。上述方法包括以下步驟:設置時間控制模塊并定義一個事件隊列,其中,該時間控制模塊包括基本的時間函數(shù),通訊機制,時間事件處理,添加移除時間事件,I個或多個事件主體;
[0010]將需要刷新的事件定義出來,將其Notification和其參數(shù)通過事件注冊加入到定義好的所述事件隊列中;
[0011]通過基本的時間函數(shù)中的timer的事件偵聽器,將隊列中的消息一一取出,調(diào)用相應的事件處理函數(shù)并加入到刷新事件中,通過調(diào)用Proxy層的接口,實現(xiàn)自動刷新。
[0012]本發(fā)明還提供一種時間控制系統(tǒng),包括:時間控制裝置、事件添加裝置、自動刷新裝置;時間控制裝置通過事件添加裝置與自動刷新裝置相連;
[0013]時間控制裝置,用于設置時間控制模塊并定義一個事件隊列,其中,該時間控制模塊包括基本的時間函數(shù),通訊機制,時間事件處理,添加移除時間事件,I個或多個事件主體;
[0014]事件添加裝置,用于將需要刷新的事件定義出來,將其Notification和其參數(shù)通過事件注冊加入到定義好的所述事件隊列中;
[0015]自動刷新裝置,用于通過基本的時間函數(shù)中的timer的事件偵聽器,將隊列中的消息一一取出,調(diào)用相應的事件處理函數(shù)并加入到刷新事件中,通過調(diào)用Proxy層的接口,實現(xiàn)自動刷新。
[0016]通過實施本發(fā)明的技術方案,將所有時間事件的處理都交給一個統(tǒng)一的方法去做,只需要發(fā)送一個消息,便可以啟動時間事件的處理,保證了系統(tǒng)的統(tǒng)一性和安全性,同時使得時間事件處理變得簡單,避免了因多個時間事件的使用而導致系統(tǒng)性能的下降;另夕卜,本能發(fā)明可以在不修改源程序的前提下,增加更多的時間控制,如在系統(tǒng)中需要對某些事件增加時間處理,只需要發(fā)送一個消息,將任務交給統(tǒng)一的時間控制方法,增加了系統(tǒng)的靈活性。
【專利附圖】

【附圖說明】
[0017]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
[0018]圖1所示為本發(fā)明實施例2的基于ActionScript的時間控制方法流程圖;
[0019]圖2所示為本發(fā)明實施例1的Flex的MVC框架示意圖;
[0020]圖3所示為本發(fā)明實施例3的系統(tǒng)結構圖。
【具體實施方式】
[0021]下文中將參考附圖并結合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0022]本發(fā)明提供了一種時間控制方法,包括以下步驟:[0023]設置時間控制模塊并定義一個事件隊列,其中,該時間控制模塊包括基本的時間函數(shù),通訊機制,時間事件處理,添加移除時間事件,I個或多個事件主體;
[0024]將需要刷新的事件定義出來,將其Notification和其參數(shù)通過事件注冊加入到定義好的所述事件隊列中;
[0025]通過基本的時間函數(shù)中的timer的事件偵聽器,將隊列中的消息一一取出,調(diào)用相應的事件處理函數(shù)并加入到刷新事件中,通過調(diào)用Proxy層的接口,實現(xiàn)自動刷新。
[0026]其中,所述基本的時間函數(shù)就是timer計時器,首先聲明一個timer計時器,并創(chuàng)建一個實例,然后啟動timer計時器,如下所示:
[0027](I) timer=new Timer(delay, repeatCount)
[0028](2) timer.addEventListener (TimerEvent.TIMER,事件偵聽器)
[0029](3) timer, start ()
[0030]其中,(I)聲明了一個新的timer實例,delay是延遲的時間,repeatCount是重復的次數(shù),默認為0,即無限循環(huán),該實例要作為全局對象使用;
[0031]其中,(2)是計時器的時間偵聽事件,一旦創(chuàng)建了 Timer實例,下一步必須添加一個事件偵聽器來處理發(fā)出的時間事件,將時間事件處理放在事件監(jiān)聽器中,即每次都執(zhí)行該時間事件處理;
[0032]其中,(3)是啟動該計時器;若需要在執(zhí)行中停止,則需要timer.stopO,若要銷毀timer實例,則需要timer=null。
[0033]其中,將需要刷新的事件定義出來,將其Notification和其參數(shù)通過事件注冊加入到定義好的所述事件隊列中的過程為:通過Notification將需要刷新的事件定義出來,將其Notification和其參數(shù)通過事件注冊加入到定義好的事件隊列中。
[0034]其中,時間事件處理是指:通過基本的時間函數(shù)中的timer的事件偵聽器,將隊列中的消息一一取出,調(diào)用相應的事件處理函數(shù),此時將所有的函數(shù)調(diào)用接口放在此處進行循環(huán),這些調(diào)用形成一個時間處理隊列,并加入到刷新事件中,通過調(diào)用Proxy層的接口,這樣就實現(xiàn)了自動刷新。
[0035]其中,添加或移除時間事件是將需要進行時間事件處理的接口加入到時間處理隊列中,或者將其中時間事件從時間處理隊列中移除。
[0036]其中,添加的方法即將MVC框架中View層的請求消息和參數(shù)加入到時間處理隊列中;移除的方法只需要根據(jù)名稱將其相關的對象從時間處理隊列中移除。
[0037]其中,通訊機制主要負責處理所有的消息傳遞;事件主體是指代理Proxy。
[0038]圖1所示為本發(fā)明實施例1的基于ActionScript的時間控制方法流程圖,詳細說明如下:
[0039]步驟101:在Command中寫一個時間控制方法(如TimerHandleCommand),該方法需要在MVC框架中注冊,并在其構造函數(shù)中生成一個timer實例,定義好刷新的時間(如2秒)和刷新次數(shù),定義一個事件隊列。
[0040]該時間控制方法包括一個基本的時間函數(shù),通訊機制(主要負責處理所有的消息傳遞),一個時間事件處理,一個添加移除時間事件,多個事件主體。
[0041]基本的時間函數(shù)就是timer計時器,首先聲明一個timer計時器,并創(chuàng)建一個實例,然后啟動timer計時器,如下所示:[0042](I) timer=new Timer(delay, repeatCount)
[0043](2) timer.addEventListener (TimerEvent.TIMER,事件偵聽器)
[0044](3) timer, start ()
[0045]其中,(I)聲明了一個新的timer實例,delay是延遲的時間,repeatCount是重復的次數(shù),默認為0,即無限循環(huán)。該實例要作為全局對象使用。
[0046]其中,(2)是計時器的時間偵聽事件,一旦創(chuàng)建了 Timer實例,下一步必須添加一個事件偵聽器來處理發(fā)出的時間事件,將時間事件處理放在事件監(jiān)聽器中,即每次都執(zhí)行該時間事件處理。
[0047]其中,(3)是啟動該計時器。若需要在執(zhí)行中停止,則需要timer.stopO,若要銷毀timer實例,則需要timer=null。
[0048]基本時間函數(shù)是基礎,負責時間的啟動和停止及銷毀,包括循環(huán)的次數(shù)和時間等。
[0049]步驟102:通過Notification將需要刷新的事件定義出來,將其Notification和其參數(shù)通過事件注冊加入到定義好的事件隊列中;
[0050]步驟103:通過基本的時間函數(shù)中的timer的事件偵聽器,將隊列中的消息--取
出,調(diào)用相應的事件處理函數(shù)(將所有的函數(shù)調(diào)用接口放在此處進行循環(huán),這些調(diào)用形成一個時間處理隊列(時間事件處理)),并加入到刷新事件中,通過調(diào)用Proxy層的接口,這樣就實現(xiàn)了自動刷新。
[0051]其中,在Flex中,所有與后臺的數(shù)據(jù)交互在代理Proxy中,這些Proxy就是事件主體,單獨的調(diào)用Proxy會向后臺發(fā)送一次請求,但將Proxy加入時間處理的主體中,便可以實現(xiàn)刷新操作。
[0052]隊列中存放的是當前需要循環(huán)的事件主體,事件主體負責向服務器請求數(shù)據(jù),并接收服務器的數(shù)據(jù)。當隊列為空時,不進行任何操作。函數(shù)如下所示:
[0053]
【權利要求】
1.一種時間控制方法,其特征在于,包括以下步驟: 設置時間控制模塊并定義一個事件隊列,其中,該時間控制模塊包括基本的時間函數(shù),通訊機制,時間事件處理,添加移除時間事件,I個或多個事件主體; 將需要刷新的事件定義出來,將其Notification和其參數(shù)通過事件注冊加入到定義好的所述事件隊列中; 通過基本的時間函數(shù)中的timer的事件偵聽器,將隊列中的消息一一取出,調(diào)用相應的事件處理函數(shù)并加入到刷新事件中,通過調(diào)用Proxy層的接口,實現(xiàn)自動刷新。
2.根據(jù)權利要求1所述的方法,其特征在于:所述基本的時間函數(shù)就是timer計時器,首先聲明一個timer計時器,并創(chuàng)建一個實例,然后啟動timer計時器,如下所示:
(1)timer=new Timer(delay, repeatCount)
(2)timer.addEventListener (TimerEvent.TIMER,事件偵聽器)
(3)timer, start () 其中,(I)聲明了一個新的timer實例,delay是延遲的時間,repeatCount是重復的次數(shù),默認為0,即無限循環(huán),該實例要作為全局對象使用; 其中,(2)是計時器的時間偵聽事件,一旦創(chuàng)建了 Timer實例,下一步必須添加一個事件偵聽器來處理發(fā)出的時間事件,將時間事件處理放在事件監(jiān)聽器中,即每次都執(zhí)行該時間事件處理; 其中,(3)是啟動該計時器;若需要在執(zhí)行中停止,則需要timer.stopO,若要銷毀timer 實例,則需要 timer=null。
3.根據(jù)權利要求1所述的方法,其特征在于:將需要刷新的事件定義出來,將其Notification和其參數(shù)通過事件注冊加入到定義好的所述事件隊列中的過程為:通過Notification將需要刷新的事件定義出來,將其Notification和其參數(shù)通過事件注冊加入到定義好的事件隊列中。
4.根據(jù)權利要求1所述的方法,其特征在于:時間事件處理是指:通過基本的時間函數(shù)中的timer的事件偵聽器,將隊列中的消息一一取出,調(diào)用相應的事件處理函數(shù),此時將所有的函數(shù)調(diào)用接口放在此處進行循環(huán),這些調(diào)用形成一個時間處理隊列,并加入到刷新事件中,通過調(diào)用Proxy層的接口,這樣就實現(xiàn)了自動刷新。
5.根據(jù)權利要求1所述的方法,其特征在于:添加或移除時間事件是將需要進行時間事件處理的接口加入到時間處理隊列中,或者將其中時間事件從時間處理隊列中移除。
6.根據(jù)權利要求5所述的方法,其特征在于:添加的方法即將MVC框架中View層的請求消息和參數(shù)加入到時間處理隊列中;移除的方法只需要根據(jù)名稱將其相關的對象從時間處理隊列中移除。
7.根據(jù)權利要求1所述的方法,其特征在于:通訊機制主要負責處理所有的消息傳遞;事件主體是指代理Proxy。
8.一種時間控制系統(tǒng),其特征在于,包括:時間控制裝置、事件添加裝置、自動刷新裝置;時間控制裝置通過事件添加裝置與自動刷新裝置相連; 時間控制裝置,用于設置時間控制模塊并定義一個事件隊列,其中,該時間控制模塊包括基本的時間函數(shù),通訊機制,時間事件處理,添加移除時間事件,I個或多個事件主體; 事件添加裝置,用于將需要刷新的事件定義出來,將其Notification和其參數(shù)通過事件注冊加入到定義好的所述事件隊列中; 自動刷新裝置,用于通 過基本的時間函數(shù)中的timer的事件偵聽器,將隊列中的消息一一取出,調(diào)用相應的事件處理函數(shù)并加入到刷新事件中,通過調(diào)用Proxy層的接口,實現(xiàn)自動刷新。
【文檔編號】G06F9/48GK103577264SQ201310581602
【公開日】2014年2月12日 申請日期:2013年11月18日 優(yōu)先權日:2013年11月18日
【發(fā)明者】周國偉 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
泉州市| 富民县| 义马市| 鲁山县| 三亚市| 习水县| 英吉沙县| 罗江县| 神农架林区| 嘉义县| 湖口县| 綦江县| 高平市| 达州市| 桃江县| 邳州市| 盘锦市| 德清县| 叶城县| 东乡县| 云林县| 榆树市| 青海省| 潼南县| 商都县| 富阳市| 遂昌县| 曲阜市| 柳林县| 龙井市| 通辽市| 湖口县| 古交市| 布尔津县| 济宁市| 宜兰县| 凌源市| 田林县| 楚雄市| 巴塘县| 武山县|