亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種多方同步計時的系統(tǒng)和方法

文檔序號:8259906閱讀:615來源:國知局
一種多方同步計時的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)同步計時技術(shù)領(lǐng)域,涉及網(wǎng)絡(luò)中多方同步計時的系統(tǒng)和方法。
【背景技術(shù)】
[0002]電子商務不僅可以用來幫助實物商品的銷售者和消費者達成交易,也可以幫助知識、技能、經(jīng)驗的擁有者與需求者達成交易,知識交易所包含的內(nèi)容可能是幫助解決一個問題,或者完成一個任務,也可能是提供某個事情的咨詢或者是教育培訓。如果知識交易內(nèi)容是問題解決或任務完成,知識交易一般采用按事情結(jié)果計費的方式,即按問題解決或任務完成付費;如果是提供某個事情的咨詢或者是教育培訓,知識交易一般采用按時計費。采用按時計費的知識交易在執(zhí)行過程中,知識的擁有者與知識的消費者如果通過網(wǎng)絡(luò)在線進行實時交流,系統(tǒng)需要對服務過程進行計時,計時數(shù)據(jù)將作為計時計費方式交易最終費用的主要依據(jù)。
[0003]對于知識交易的計時,有如下的要求:
[0004]1、交易過程中雙方看到計時是同步的;
[0005]2、交易結(jié)束時,交易雙方看到的計時數(shù)據(jù)是一致的;
[0006]3、交易任意一方無法在對方不知道的情況下啟動和停止計時;
[0007]4、交易方網(wǎng)絡(luò)中斷等情況下,計時停止;
[0008]5、交易方重新連接到計時服務器,交易計時時長為斷線前已經(jīng)完成的計時時長;
[0009]現(xiàn)有的技術(shù)實現(xiàn)多方同步計時有如下方法:
[0010]1、計時服務器計時
[0011]計時服務器啟動定時器,客戶端每隔一個時間段去查詢計時服務器計時數(shù)據(jù),查到以后顯示給用戶。
[0012]這種方式的好處是所有客戶端的計時均以計時服務器計時為主,計時服務器的計時不因某個客戶端網(wǎng)絡(luò)連接的中斷而受影響。
[0013]這種即時方式存在的問題是某一方網(wǎng)絡(luò)中斷以后,計時服務器計時還在進行,一方的計時還在累加,而中斷方計時則已經(jīng)停止,導致雙方對計時長短理解不一致。
[0014]2、客戶端分別計時
[0015]以特定交易參與方計時為主,該交易參與方啟動本地計時器,每隔一段時間對計時數(shù)據(jù)累加,并向計時服務器發(fā)送和其他參與方發(fā)送計時數(shù)據(jù)。這種計時的方式能快速響應本地客戶端的啟動、停止計時的操作。但存在計時服務器記錄的計時數(shù)據(jù)與客戶端的計時數(shù)據(jù)不一致的可能;
[0016]從現(xiàn)有技術(shù)來看,都存在各種問題,不適合于知識交易中多方同步計時。

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

[0017]本發(fā)明的目的是提供一種多方同步計時的系統(tǒng)和方法,解決了知識交易中多方同步計時的問題。
[0018]為達到上述目的,本發(fā)明采用的技術(shù)方案是:
[0019]一種多方同步計時系統(tǒng),包括與計時服務器相交互的數(shù)據(jù)庫以及至少兩個用戶終端;
[0020]計時服務器向所有用戶終端發(fā)送計時心跳消息,計時服務器收到所有的計時心跳消息的響應后,向所有計時服務器發(fā)送下一次的計時心跳消息;
[0021]每個用戶終端每次收到計時心跳消息以后,向服務器發(fā)送計時心跳響應消息,顯示心跳包含的計時時長;
[0022]數(shù)據(jù)庫用于存放計時表,并存儲計時時長。
[0023]所述計時服務器中設(shè)置有用于產(chǎn)生計時數(shù)據(jù)的計時定時器。
[0024]所述數(shù)據(jù)庫中創(chuàng)建有計時表,計時表的字段包括計時號、計時時長、收到用戶計時心跳響應標記以及收到其他用戶計時心跳響應標記;計時號為每次計時的唯一識別號。
[0025]一種多方同步計時方法,包括以下步驟:
[0026]I)計時啟動
[0027]1-1)當用戶需要與其他至少一個用戶進行會話時,該用戶啟動計時,向計時服務器發(fā)送開始計時的請求,計時服務器收到開始計時請求以后,創(chuàng)建一次計時會話,并設(shè)置初始計時時長為0,將計時號以及計時時長記錄到數(shù)據(jù)庫中;
[0028]1-2)計時服務器啟動計時定時器;
[0029]1-3)計時服務器向其他用戶發(fā)送計時心跳消息,其他用戶將該計時心跳消息視為啟動計時的通知消息;
[0030]1-4)計時服務器收到其他用戶的計時心跳響應以后,在數(shù)據(jù)庫中對其進行標記,使其他用戶的計時標記在數(shù)據(jù)庫中的狀態(tài)為標記狀態(tài);
[0031]2)計時停止
[0032]當用戶A需要停止計時,用戶A向計時服務器發(fā)送停止計時消息,計時服務器收到停止計時消息以后,停止計時定時器;計時定時器停止以后,不再向其他用戶發(fā)送計時心跳,其他用戶的計時停止。
[0033]所述步驟1-1)中,用戶A的計時標記在數(shù)據(jù)庫中的狀態(tài)為標記狀態(tài),其他用戶的計時標記為清除狀態(tài)。
[0034]當計時服務器的計時定時器超時時,采用以下方法處理:
[0035]計時服務器判斷是否所有用戶的計時標記都為標記狀態(tài),或者是否所有的用戶都收到了計時心跳消息,并且計時服務器從所有的用戶收到了計時心跳響應;如果不是所有用戶的計時標記都為標記狀態(tài),則確定發(fā)生異常情況,有用戶沒有收到心跳,或者計時服務器沒有收到心跳響應,此時計時服務器停止計時定時器,不再下發(fā)心跳消息,所有用戶此時的計時處于停止狀態(tài),用戶看到計時停止以后,采取相應停止會話的措施;
[0036]如果所有用戶的計時標記都為標記狀態(tài),此時數(shù)據(jù)庫中的計時時長累加,清除所有用戶的計時標記,為下一次接收心跳響應做準備;計時服務器向所有的用戶發(fā)送計時心跳,各用戶收到計時心跳以后,顯示新的計時時長。
[0037]所述計時服務器向所有用戶發(fā)送的計時心跳中包含新的已經(jīng)累加的計時時長。
[0038]所述異常情況為用戶掉線、網(wǎng)絡(luò)中斷或計時服務器宕機;當用戶掉線或網(wǎng)絡(luò)中斷時,計時服務器不能收到計時心跳響應,計時停止,計時時長保持在掉線前狀態(tài);當計時服務器宕機時,計時服務器不再發(fā)送計時心跳,計時停止,已經(jīng)計時的時長已經(jīng)寫入數(shù)據(jù)庫。
[0039]當停止計時后,用戶能夠通過手動方式恢復計時。
[0040]所述手動方式恢復計時的方法如下:
[0041]用戶再次向計時服務器發(fā)送開始計時的請求,計時服務器收到開始計時請求以后,創(chuàng)建一次計時會話,并設(shè)置初始計時時長為上次計時數(shù)據(jù)。
[0042]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
[0043]本發(fā)明通過計時服務器與用戶端的多方同步計時系統(tǒng)和方法,能夠?qū)崿F(xiàn)交易方的計時保持同步累加;同時,在交易會話時,如果一方停止計時,另外一方也會立即停止;任何一方掉線,另外一方計時停止;最后,本發(fā)明通過在計時的同時,將計時數(shù)據(jù)存入數(shù)據(jù)庫中,無論何種計時中止,已經(jīng)計時的數(shù)據(jù)都不會丟失。
【附圖說明】
[0044]圖1為本發(fā)明多方同步計時系統(tǒng)的模塊圖;
[0045]圖2為本發(fā)明計時啟動的流程圖;
[0046]圖3為本發(fā)明計時停止的流程圖;
[0047]圖4為本發(fā)明計時定時器超時的處理流程圖;
【具體實施方式】
[0048]下面結(jié)合附圖對本發(fā)明做進一步詳細描述:
[0049]參見圖1至圖4,本發(fā)明多方同步計時系統(tǒng),包括與計時服務器相交互的數(shù)據(jù)庫以及至少兩個用戶終端;
[0050]計時服務器向所有用戶終端發(fā)送計時心跳消息,計時服務器收到所有的計時心跳消息的響應后,向所有計時服務器發(fā)送下一次的計時心跳消息;計時服務器中設(shè)置有用于產(chǎn)生計時數(shù)據(jù)的計時定時器。
[0051]每個用戶終端每次收到計時心跳消息以后,向服務器發(fā)送計時心跳相應消息,顯示心跳包含的計時時長;
[0052]數(shù)據(jù)庫用于存放計時表,并存儲計時時長。數(shù)據(jù)庫中創(chuàng)建有計時表,計時表的字段包括計時號、計時時長、收到用戶計時心跳響應標記以及收到其他用戶計時心跳響應標記;計時號為每次計時的唯一識別號。
[0053]本發(fā)明還公開了一種多方同步計時方法,包括以下步驟:
[0054]I)計時啟動
[0055]1-1)當用戶需要與其他至少一個用戶進行會話時,該用戶啟動計時,向計時服務器發(fā)送開始計時的請求,計時服務器收到開始計時請求以后,創(chuàng)建一次計時會話,并設(shè)置初始計時時長為0,將計時號以及計時時長記錄到數(shù)據(jù)庫中;用戶A的計時標記在數(shù)據(jù)庫中的狀態(tài)為標記狀態(tài),其他用戶的計時標記為清除狀態(tài)。
[0056]1-2)計時服務器啟動計時定時器;
[0057]1-3)計時服務器向其他用戶發(fā)送計時心跳消息,其他用戶將該計時心跳消息視為啟動計時的通知消息;
[0058]1-4)計時服務器收到其他用戶的計時心跳響應以后,在數(shù)據(jù)庫中對其進行標記,使其他用戶的計時標記在數(shù)據(jù)庫中的狀態(tài)為標記狀態(tài);
[0059]當計時服務器的計時定時器超時時,采用以下方法處理:
[0060]計時服務器判斷是否所有用戶的計時標記都為標記狀態(tài),或者是否所有的用戶都收到了計時心跳消息,并且計時服務器從所有的用戶收到了計時心跳響應;如果不是所有用戶的計時標記都為標記狀態(tài),則確定發(fā)生異常情況,有用
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1