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

一種數(shù)據(jù)處理方法、裝置和系統(tǒng)的制作方法

文檔序號:9691077閱讀:309來源:國知局
一種數(shù)據(jù)處理方法、裝置和系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及軟件測試領域,尤其涉及一種數(shù)據(jù)處理方法、裝置和系統(tǒng)。
【背景技術】
[0002]計算機系統(tǒng)上普遍存在在特定時間點對特定數(shù)據(jù)進行修改的需求。例如,交易系統(tǒng)中的訂單通常會設置一個η分鐘的有效期,訂單生成后經過η分鐘如果用戶仍未進行支付,則自動失效或變更價格。這類需求具有這樣的特點,每一個數(shù)據(jù)項需要進行修改的時間獨立計算,因此在任意時刻都可能需要進行修改數(shù)據(jù)的操作,而對單個數(shù)據(jù)項進行修改操作的代價較低。為了方便描述,下文中將應該對數(shù)據(jù)進行修改操作的時間稱為“到期時間”,當數(shù)據(jù)尚未到達應該修改的時間時稱為“未到期”,當數(shù)據(jù)到達應該修改的時間后,稱為“已到期”。在web服務中,由于HTTP協(xié)議是無狀態(tài)的,web服務器要跟蹤這些數(shù)據(jù)的變化情況變要比其他類型服務器更為復雜。現(xiàn)有技術中,通常采用以下三種方案對web服務器上的這類數(shù)據(jù)進行修改:
[0003]方案一:在接收到用戶對數(shù)據(jù)進行查詢的HTTP請求時,先檢查所述數(shù)據(jù)是否已到期,若已到期,則先對數(shù)據(jù)進行修改,然后再對HTTP請求進行處理。在論壇系統(tǒng)經常采用這種方法,以論壇系統(tǒng)中的“限時置頂”功能為例,版主可以將主題設為置頂,并設置一定期限后自動取消。在有HTTP請求到達時,服務器先檢查是否有已經到達限時的置頂主題,如有,則將主題的置頂標志取消,再進行常規(guī)的HTTP請求處理。
[0004]方案二:使用定時任務定期對已到期數(shù)據(jù)進行修改。在后臺設置一個定時任務,每隔一定時間(例如5分鐘)運行一次。每次運行時,該任務查詢出所有已到期的數(shù)據(jù),并對它們進行統(tǒng)一的修改。
[0005]方案三:使用后臺守護進程。通過后臺守護進程來繞開HTTP協(xié)議無狀態(tài)性帶來的限制,后臺守護進程不受HTTP服務器的軟件控制,啟動后一直運行,專門負責跟蹤數(shù)據(jù)的變化情況并盡可能在每一項數(shù)據(jù)剛到期時對其進行修改。

【發(fā)明內容】

[0006]現(xiàn)有的技術方案分別存在以下缺點:
[0007]方案一在每次接收到HTTP請求時都要查詢一次是否存在已到期的數(shù)據(jù),占用服務器資源,影響服務器性能;同時,由于需要先對已到期數(shù)據(jù)進行修改再對HTTP請求進行處理,如果已到期的數(shù)據(jù)量較大時,將嚴重影響HTTP請求的響應速度,用戶體驗較差。
[0008]方案二采用定期檢查的方法,每次任務中僅對已到期數(shù)據(jù)進行修改,數(shù)據(jù)在到期后往往不能及時得到修改,而需要等到下一次定時任務運行時才進行統(tǒng)一修改,數(shù)據(jù)修改滯后,實時性較差。
[0009]方案三雖然在一定程度上避免了方案一、二的缺點,但是具體實施當中,守護進程的實現(xiàn)相對比較復雜,而且會對web服務器的運維帶來較大的影響。這種影響主要體現(xiàn)在:代碼部署時需要額外啟動守護進程;代碼更新時需要額外執(zhí)行重啟守護進程的操作;為了避免程序偶然錯誤導致守護進程退出,還需要采取額外的防護措施,例如增加自動重啟機制。
[0010]本發(fā)明實施例的目的在于提供了一種數(shù)據(jù)處理方法、裝置和系統(tǒng),提高數(shù)據(jù)修改的實時性,實現(xiàn)偶然錯誤后的自動恢復,降低服務器運維的復雜度和難度。
[0011]為了實現(xiàn)上述目的,本發(fā)明實施例提供一種數(shù)據(jù)處理方法,包括:
[0012]每隔預設的時間間隔T,遍歷所有數(shù)據(jù)并獲取到期時間早于^的數(shù)據(jù);其中,所述到期時間為計劃對所述數(shù)據(jù)進行修改的時間,tizto+T’to為系統(tǒng)的當前時間;
[0013]將獲取的數(shù)據(jù)按到期時間從早到晚排序,形成待處理隊列;
[0014]從所述待處理隊列中的第一個數(shù)據(jù)開始,獲取所述第一個數(shù)據(jù)及所述第一個數(shù)據(jù)對應的到期時間,在所述第一個數(shù)據(jù)到期后,對所述第一個數(shù)據(jù)的特征信息進行修改;
[0015]按照排序順序從所述待處理隊列中獲取下一個數(shù)據(jù)及所述下一個數(shù)據(jù)對應的到期時間,在所述下一個數(shù)據(jù)到期后,對所述下一個數(shù)據(jù)的特征信息進行修改,直至所述待處理隊列中的所有數(shù)據(jù)的特征信息被修改完成。
[0016]具體地,所述獲取所述第一個數(shù)據(jù)及所述第一個數(shù)據(jù)對應的到期時間,在所述第一個數(shù)據(jù)到期后,對所述第一個數(shù)據(jù)的特征信息進行修改,具體為:
[0017]獲取所述第一個數(shù)據(jù)、所述第一個數(shù)據(jù)對應的到期時間以及系統(tǒng)的當前時間;
[0018]判斷所述第一個數(shù)據(jù)對應的到期時間是否早于所述系統(tǒng)的當前時間;
[0019]若是,則確定所述第一個數(shù)據(jù)已到期,對所述第一個數(shù)據(jù)的特征信息進行修改;
[0020]若否,則確定所述第一個數(shù)據(jù)未到期,睡眠至所述第一個數(shù)據(jù)對應的到期時間,再對所述第一個數(shù)據(jù)的特征信息進行修改。
[0021]優(yōu)選地,所述時間間隔T小于或等于最小的數(shù)據(jù)有效期,其中,所述數(shù)據(jù)有效期1?? 為所述數(shù)據(jù)的到期時間,t。為所述數(shù)據(jù)的產生時間。
[0022]優(yōu)選地,所述每隔預設的時間間隔T,遍歷所有數(shù)據(jù)并獲取到期時間早于的數(shù)據(jù),具體為:
[0023]通過系統(tǒng)的cron服務,每隔預設的時間間隔T啟動計劃任務,遍歷目標位置中的數(shù)據(jù)并獲取到期時間早于^的數(shù)據(jù)。
[0024]優(yōu)選地,所述特征信息包括狀態(tài)信息和數(shù)據(jù)內容。
[0025]優(yōu)選地,所述數(shù)據(jù)處理方法還包括:
[0026]接收客戶端發(fā)送的對所述數(shù)據(jù)的特征信息進行查詢的請求;
[0027]將所述數(shù)據(jù)當前的特征信息反饋給所述客戶端,以使所述客戶端顯示所述特征信息。
[0028]相應地,本發(fā)明實施例還提供了一種數(shù)據(jù)處理裝置,包括:
[0029]遍歷模塊,用于每隔預設的時間間隔T,遍歷所有數(shù)據(jù)并獲取到期時間早于的數(shù)據(jù);其中,所述到期時間為計劃對所述數(shù)據(jù)進行修改的時間,tizto+T’to為系統(tǒng)的當前時間;
[0030]排序模塊,用于將獲取的數(shù)據(jù)按到期時間從早到晚排序,形成待處理隊列;
[0031 ]第一修改模塊,用于從所述待處理隊列中的第一個數(shù)據(jù)開始,獲取所述第一個數(shù)據(jù)及所述第一個數(shù)據(jù)對應的到期時間,在所述第一個數(shù)據(jù)到期后,對所述第一個數(shù)據(jù)的特征信息進行修改;
[0032]第二修改模塊,用于按照排序順序從所述待處理隊列中獲取下一個數(shù)據(jù)及所述下一個數(shù)據(jù)對應的到期時間,在所述下一個數(shù)據(jù)到期后,對所述下一個數(shù)據(jù)的特征信息進行修改,直至所述待處理隊列中的所有數(shù)據(jù)的特征信息被修改完成。
[0033]具體地,所述第一修改模塊包括:
[0034]獲取單元,用于獲取所述第一個數(shù)據(jù)、所述第一個數(shù)據(jù)對應的到期時間以及系統(tǒng)的當前時間;
[0035]判斷單元,用于判斷所述第一個數(shù)據(jù)對應的到期時間是否早于所述系統(tǒng)的當前時間;
[0036]第一修改單元,用于當所述第一個數(shù)據(jù)對應的到期時間早于所述系統(tǒng)的當前時間時,對所述第一個數(shù)據(jù)的特征信息進行修改;
[0037]第二修改單元,用于當所述第一個數(shù)據(jù)對應的到期時間晚于所述系統(tǒng)的當前時間時,睡眠至所述第一個數(shù)據(jù)對應的到期時間,再對所述第一個數(shù)據(jù)的特征信息進行修改。
[0038]優(yōu)選地,所述遍歷模塊包括:
[0039]計劃任務單元,用于通過系統(tǒng)的cron服務,每隔預設的時間間隔T啟動計劃任務;
[0040]數(shù)據(jù)遍歷單元,用于遍歷目標位置中的數(shù)據(jù)并獲取到期時間早于^的數(shù)據(jù)。
[0041 ]優(yōu)選地,所述數(shù)據(jù)處理裝置還包括:
[0042]接收模塊,用于接收客戶端發(fā)送的對所述數(shù)據(jù)的特征信息進行查詢的請求;
[0043]反饋模塊,用于將所述數(shù)據(jù)當前的特征信息反饋給所述客戶端,以使所述客戶端顯示所述特征信息。
[0044]優(yōu)選地,所述特征信息包括狀態(tài)信息和數(shù)據(jù)內容。
[0045]進一步地,本發(fā)明還提供了一種數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括客戶端和服務器端;
[0046]所述服務器端配置有如權利要求7至12任一項所述的數(shù)據(jù)處理裝置。
[0047]與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點:
[0048]本發(fā)明提供的數(shù)據(jù)處理方法、裝置和系統(tǒng)通過周期性的計劃任務,遍歷所有數(shù)據(jù)并獲取任務周期內到期的所有數(shù)據(jù),將數(shù)據(jù)按到期時間的早晚進行排序,在數(shù)據(jù)到期后對數(shù)據(jù)的特征信息進行修改,實現(xiàn)對到期數(shù)據(jù)的精確修改,提高了數(shù)據(jù)修改的實時性。
[0049]此外,本發(fā)明提供的數(shù)據(jù)處理方法、裝置和系統(tǒng)可實現(xiàn)從偶然異常中自動恢復。由于采用周期性的計劃任務,即使任務進程意外退出,只要系統(tǒng)的定時任務服務還在正常運行,仍然可通過系統(tǒng)的定時任務服務在下一周期到來時觸發(fā)任務執(zhí)行;同時,對于上一任務周期中因意外未處理的已到期數(shù)據(jù),由于到期時間早于的條件限制以及從早到晚的到期排序規(guī)則,在本任務周期中仍可納入待處理隊列中優(yōu)先處理。
[0050]進一步地,本發(fā)明提供的數(shù)據(jù)處理方法、裝置和系統(tǒng)只需要進行一次性的定時任務設置,可有效降低web服務器的運維難度和復雜度。在需要發(fā)布新版本的web服務時,只需要按照一般流程,更新
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1