
摘 要:文中通過分析網絡購物平臺系統時間需要校準,設計了一種利用不斷變化系統的毫秒時間截屏網絡北京時間來計算出精確的時間差,然后調整系統時間的方法,得到了只看秒鐘數能達到毫秒精度方法,對于時間精度要求較高的系統有一定的借鑒作用。
關鍵詞:網絡購物;系統;時間校準
一、網絡購物系統及時間校準分析
在電子商務營銷策略中,秒殺是經常被商家使用的,實際限購活動中的商品非常少。按照稀缺性原理,網絡銷售中的秒殺商品越少越能激發消費者的購買意愿。[1]為了不失公平性,購物平臺系統時間的絕對準確性一定要保證,這樣能夠確保客戶能夠在準確的時間開始秒殺,實現公平競爭。對于系統時間校準,西安航空計算技術研究所的何向棟提出了一種通過對SAE AS6802時間觸發網絡協議來實現時間同步。[2]河南廣播電視臺的王文韜提出的時間同步僅限于服務器與客戶端之間。[3]同時windouws系統也自帶的時間服務器同步也是基于某些特定網站而言。但這些都不是基于網絡北京時間為基準進行校正。雖然相對較準,但是精度也無法確定。
二、時間校準方案設計
針對現在的各種情況,現設計一種基于網絡北京時間為基準的時間校準方法。先要有穩定的網絡連接到計算機上,在計算機上通過瀏覽器把網絡北京時間的網頁打開,然后把本地的時間調出,這個時候能夠發現,網絡北京時間顯示的是精確到秒,本地計算機的時間顯示的也是精確到秒。現在設計一套更加精確的校準方法,把精確時間精確達到毫秒級別。通過計算機的程序設定以毫秒為最小單位的時間進行截屏拍照,這時候就會把此時的網絡北京時間以秒為最小單位留存下來。這時候就把拍到的網絡北京時間的秒數與啟動拍照的秒數進行對比。秒數與秒數進行對比能把精度精確到毫秒級別?對!因為還有截屏的毫秒時間,可以利用這個時間作為參照。這樣計算機本地截屏的時間能夠確定到毫秒了,但是網絡上的北京時間怎么確定到毫秒?這個需要找到網絡北京時間的上一秒與下一秒的變化的時刻,找到這個時刻后,與本地毫秒為最小單位時間進行對比就知道了網絡時間與本地計算機時間以毫秒為單位的差了。然后根據這個差,把本地時間用計算機程序設定,即可使得本地計算機與網絡北京時間校準到毫秒級別。
如何找到網絡北京時間上一秒與下一秒變化時刻的本地毫秒級的時間即為本算法的關鍵。在開始前設定一個初始的毫秒變化值參數varmt=1000。第一步,設定截屏本地時間秒數時間為bst1,毫秒時間為bmt1,而截屏到網絡北京時間秒數為wst1,毫秒時間假定為0。第二步,把毫秒變化值縮小為原來的一般,即用varmt=varmt/2實現即可,判斷觸發截屏的本地時間與截屏到的網絡北京時間的比較,如果比網絡北京時間快,下次觸發截屏的秒數bst2=bst1,而毫秒數bmt2=bmt1-varmt,如果結果為負值,向秒數借位再進行運算,即bmt1+1000-varmt,獲得的結果為bmt2,而bst2=bst1-1。如果比網絡北京時間慢,則下次觸發截屏的秒數bst2=bst1,而毫秒數bmt2=bmt1+varmt,如果其得到的毫秒數bmt2減去1000大于0,則其余值為真正的毫秒數,即bmt2=bmt1+varmt-1000,而bst2=bst1+1,然后進行第二次截屏拍照,獲得網絡北京時間秒數為wst2,毫秒時間仍然假定為0。以此按照此準則,直到varmt小于某個確定的值,比如2,便找到了本機時間與網絡北京時間的差,然后根據此差,重新設定本機時間,即可校準本機時間為網絡北京時間,誤差為毫秒級別。
三、時間校準方案實現
實現時間校準采用高性能的C++計算機編程語言編寫,在最新的vs2019環境下實現。通過建立一個對話框項目來實現。啟動程序前先打開網絡北京時間,然后程序啟動一個線程,在線程中不斷循環判斷是否需要截屏,截屏后把數據保存到剪切板,然后等待下一次截屏。而在主程序中,先設定一個開始啟動的時間,時間以分鐘、秒鐘、毫秒為參數即可。設定一個消息告知已經截屏拍照了,把剪切板的圖片拷貝到畫圖軟件里面,從里面找出拍圖時候的網絡北京時間秒數,把這個時間輸入到程序中,讓程序計算下一次截屏拍圖的時間,主要是毫秒的設定,進行下一次拍圖,依次反復。直到毫秒變化值varmt小于2的時候,算出系統時間與網絡時間的差,如圖所示。最后根據時間差通過SetSystemTime函數即可設定本機系統時間。這樣就完成了本機系統時間與網絡北京時間的毫秒級的精準校準。
四、結論
文中通過網絡只看到北京時間的秒鐘數達到了毫秒級校準,較多網絡平臺系統都可采用這種方法來校準系統時間。對于教改項目《高職學生平時成績動態評價系統研究與實踐》中的系統就可以采用這種方法來校準。
參考文獻:
[1]金玉芳.電商秒殺促銷中的“限時”與“限量”研究[J].現代營銷(信息版),2019(06):206-207.
[2]何向棟.基于時間觸發網絡的時間同步研究[J].信息通信,2019(11):107-109.
[3]王文韜.計算機網絡中的時間同步[J].科技傳播,2018,10(13):133-134.
基金項目:2019年度北京政法職業學院院級教改項目《高職學生平時成績動態評價系統研究與實踐》(項目編號:JGYB20191106)研究成果
作者簡介:張躍軍(1978-),男,漢族,湖南益陽人,碩士,講師,主要研究方向:電子商務、軟件測試、加密算法等。