国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

中郵網(wǎng)院中幾種定時任務(wù)的實現(xiàn)

2017-10-26 10:08:14張進(jìn)猛朱德軍張磊
電腦知識與技術(shù) 2017年22期
關(guān)鍵詞:數(shù)據(jù)庫

張進(jìn)猛 朱德軍 張磊

摘要:定時操作可以在服務(wù)器壓力較小的時候處理一些復(fù)雜的操作,來保證系統(tǒng)業(yè)務(wù)的正常開展。中國郵政網(wǎng)絡(luò)學(xué)院是郵政上百萬員工網(wǎng)上培訓(xùn)的平臺,以培訓(xùn)班的形式開展專業(yè)培訓(xùn),每天產(chǎn)生的數(shù)據(jù)量非常大。平臺從服務(wù)器、數(shù)據(jù)庫、代碼層次實現(xiàn)了一些復(fù)雜業(yè)務(wù)的定時操作,保證了系統(tǒng)的正常運(yùn)行。

關(guān)鍵詞:定時操作;Quartz;數(shù)據(jù)庫;存儲過程;SSH

中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)22-0086-02

1背景

中國郵政網(wǎng)絡(luò)培訓(xùn)學(xué)院(以下簡稱中郵網(wǎng)院)由培訓(xùn)系統(tǒng)、CMS系統(tǒng)、統(tǒng)一認(rèn)證系統(tǒng)、考試系統(tǒng)、課程學(xué)習(xí)系統(tǒng)、集中培訓(xùn)系統(tǒng)、人才評價系統(tǒng)、職業(yè)鑒定系統(tǒng)、積分系統(tǒng)組成,承擔(dān)著中國郵政上百萬員工的在線培訓(xùn)功能,每天產(chǎn)生了大量的數(shù)據(jù),一些復(fù)雜的操作需要在夜深人靜,服務(wù)器壓力比較小的時候定時執(zhí)行,比方說像培訓(xùn)班是否合格,合格條件包含必修課、選修課、考試、作業(yè)、考勤等,判斷條件非常復(fù)雜,只能在每晚做定時操作。目前中國郵政網(wǎng)絡(luò)學(xué)院中的定時操作可以分為三種,服務(wù)器層次的定時操作,代碼層次的定時操作,數(shù)據(jù)庫層次的定時操作。

2服務(wù)器層次的定時操作

中郵網(wǎng)院服務(wù)器的操作系統(tǒng)為linux,有部分定時使用服務(wù)器的定時任務(wù)執(zhí)行。在linux中,定時任務(wù)一般使用crontabm。一般,服務(wù)器的定時操作適用于對服務(wù)器的文件、服務(wù)的操作,不適用于業(yè)務(wù)的處理。

通過SSH登錄服務(wù)器,使用命令more/etc/erontab/查看etc/crontab文件,顯示如圖1所示。

從圖1可以看出,在這個文件中定義了4種級別的定時任務(wù),小時、每天、每周、每月。在任務(wù)時間到達(dá)時,會執(zhí)行相應(yīng)文件夾下的所有腳本。

目前,系統(tǒng)中執(zhí)行的主要是每小時清空日志文件,每天的數(shù)據(jù)庫備份,每周定時起停tomcat服務(wù),每月清除臨時文件等。

3代碼層次的定時操作

中郵網(wǎng)院采用B/S結(jié)構(gòu),開發(fā)語言為Java,開發(fā)架構(gòu)為SSH(struts2+spring3+hibernate4)。目前采用了2種定時方式:服務(wù)端的spring task以及isp頁面的setTimeout方法。

3.1springtask

Quartz是一個完全由Java編寫的開源作業(yè)調(diào)度框架,允許開發(fā)人員根據(jù)時間間隔來調(diào)度作業(yè)。

中郵網(wǎng)院使用的是SSH架構(gòu),Spring很好的集成了定時器的功能,spring task,可以將它比作一個輕量級的Quartz,而且使用起來很簡單,除spring相關(guān)的包外不需要額外的包。中郵網(wǎng)院采用的是xml配置方式來實現(xiàn)spring定時器功能。配置如下:

其中包含了學(xué)員培訓(xùn)班是否合格、數(shù)據(jù)同步、消息發(fā)送、排名更新等一系列定時任務(wù)。

3.2setTimeout方法

Js方法setTimeout,是經(jīng)過一段時間后執(zhí)行某一事件,只執(zhí)行一次。主要用來在網(wǎng)頁考試時為學(xué)員顯示考試倒計時。在考試時,需要屏蔽刷新、右鍵、復(fù)制、粘貼等按鍵功能,由于需要每隔一秒為用戶更新一次倒計時時間,并在考試結(jié)束時,強(qiáng)制提交試卷。所以,需要把setTimeout方法包含在要執(zhí)行的函數(shù)中,然后在函數(shù)外部使用setTimeout方法調(diào)用函數(shù)。主要代碼如下:

4數(shù)據(jù)庫層次的定時操作

中郵網(wǎng)院數(shù)據(jù)庫使用的是oracle,數(shù)據(jù)庫層次的定時操作是使用oracle的iob調(diào)用存儲過程。在某些業(yè)務(wù)中,使用存儲過程,當(dāng)業(yè)務(wù)調(diào)整時,可以只更新存儲過程,不必更新java程序,避免了頻繁起停服務(wù)器,而且數(shù)據(jù)庫本身提供了良好的性能支持,保證了程序執(zhí)行效率和穩(wěn)定性。

以中郵網(wǎng)院積分系統(tǒng)的一個定時任務(wù)為例,首先設(shè)計存儲過程,名稱為PROC_COURSE_CALCU,實現(xiàn)了學(xué)員課程積分的計算,實現(xiàn)過程如下:首先,判斷積分規(guī)則是否包含了課程積分,如果包含了,根據(jù)課程類型查詢積分規(guī)則中對應(yīng)的積分值以及每日積分封頂值,然后判斷學(xué)員的這門課程是否合格,如果合格,判斷這么課程是否已積分,如果課程還沒有積分,并且每日積分未達(dá)到封頂值,則為學(xué)員增加積分。然后,可通過PLSQL以視圖的方式創(chuàng)建iob,每天凌晨1點(diǎn)10分執(zhí)行一次存儲過程,界面如圖2所示:

5結(jié)束語

中郵網(wǎng)院通過服務(wù)器層次的定時操作、代碼層次的定時操作、數(shù)據(jù)庫層次的定時操作,實現(xiàn)了諸如學(xué)員培訓(xùn)班是否合格、數(shù)據(jù)同步、消息發(fā)送、排名更新、數(shù)據(jù)備份、垃圾文件清理等一系列復(fù)雜的操作,支撐了中國郵政百萬員工的正常培訓(xùn)。endprint

猜你喜歡
數(shù)據(jù)庫
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
數(shù)據(jù)庫
財經(jīng)(2015年3期)2015-06-09 17:41:31
數(shù)據(jù)庫
財經(jīng)(2014年21期)2014-08-18 01:50:18
數(shù)據(jù)庫
財經(jīng)(2014年6期)2014-03-12 08:28:19
數(shù)據(jù)庫
財經(jīng)(2013年6期)2013-04-29 17:59:30
莱西市| 抚宁县| 马尔康县| 社会| 双辽市| 青州市| 赤峰市| 阜新| 和林格尔县| 山阴县| 蕲春县| 泗阳县| 米易县| 乐业县| 江安县| 牟定县| 泾源县| 读书| 邯郸市| 定边县| 平安县| 景宁| 上思县| 沙洋县| 曲阜市| 抚顺市| 临湘市| 商都县| 贵州省| 达拉特旗| 邢台市| 三门峡市| 乌审旗| 临沭县| 南投市| 亳州市| 泸州市| 南丹县| 芦山县| 章丘市| 邳州市|