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