專利名稱:客戶端與服務器端的對時方法及其系統的制作方法
技術領域:
本發明是關于一種對時方法與系統,特別關于一種客戶端與服務器端的對時方法與系統。
背景技術:
隨著信息及多媒體時代的來臨,網絡交易行為也更加頻繁,通過網絡來進行商業交易活動的電子商務也因此成為一門新興產業。舉凡銀行業務、股市交易、商品買賣等行為,都可通過網絡來進行。經由電子商務的交易方式不但降低了產品的廣告成本,更拓展了產品的市場通路,因而電子商務漸漸成為生活中商品買賣及行銷服務的重要一環。
在電子商務交易活動過程中,主要為客戶端的計算機通過網絡與服務器端的計算機主機進行交易往來的活動,而交易往來的內容又以產品數量、產品種類、及交易時間尤為重要。若客戶端與服務器端的計算機時間不一致,則會使得交易時間有所誤差。
已知的對時方法為客戶端利用網絡持續接收服務器端所傳來的時間數據,以進行同步實時地校對時間。然而,此種方法占用了大量的網絡資源,并增加了客戶端效能資源的負載,因而增加網絡擁塞及降低了客戶端效能資源的使用率,故已被逐漸取代。
目前利用網絡讓服務器端與客戶端對時的協議有很多種,例如NetworkTime Protocol(NTP)方式,即部分服務器通過網絡向時間服務器(Time Server)詢問時間,以校正上述部分服務器的時間。并在上述部分服務器的時間與上述的時間服務器已經同步后,再將上述部分服務器予以開放,使客戶端主機可以進行對時校正。之后由客戶端本身的時鐘來維持一定程度的精準時間,并于適當的固定周期時間主動對上一階層的服務器發出校時請求,故NTP主要以階層式的架構來達到客戶端主機與服務器端的對時,并通過固定時間周期來進行時間的校正,以減少已知方法所產生的網絡擁塞問題,來達到在網絡上實現高精準度的計算機校時目的。
請參照圖1所示,使用NTP的方式來使客戶端與服務器端對時的方法,包含步驟S01-S07。首先,從客戶端向服務器端提出校時請求(步驟S01)。接著,從服務器端送出目前的標準時間至客戶端(步驟S02)。然后客戶端接收從伺服端傳來的標準時間,以作為客戶端的初始時間(步驟S03)。接著,為了避免網絡擁塞,客戶端并不會持續地向服務器端提出校時請求,取而代之的是,于客戶端內部不斷地計數以得到計數值,其中計數值用來推算服務器端的時間,計數值是于客戶端收到服務器端所送出的標準時間后即被初始化(步驟S04)。接著,已初始化的計數值即持續地累加(步驟S05)。最后,將客戶端接收自服務器端的初始時間與已初始化的計數值進行相加(步驟S06),以得到與服務器端相同的同步時間。客戶端每經固定周期時間便重新執行提出校時的請求(步驟S07),以讀取服務器端的標準時間,并執行上述流程以確保客戶端與服務器端的對時。
然而,上述的網絡對時方法仍有缺點,即客戶端需于固定周期時間向服務器端接收初始時間,且持續在接收到初始時間時,對已進行計數的計數值初始化,并同時將已初始化的計數值與所得的初始時間進行累加,以得到共同時間。因而當客戶端數據處理量過大時,將會造成初始時間接收與計數值初始化及兩者累加的運算上的延遲,使得客戶端所得的共同時間與服務器端產生差異,因而無法達到客戶端與服務器端對時的目的。
請參照圖2所示,客戶端的瀏覽器是瀏覽服務器端的網頁,并將所接收的服務器端時間經運算后顯示于客戶端所對應的網頁「10:00」中。由于受到客戶端數據處理量過大的影響,所以經過一段時間后,會造成客戶端經運算后并顯示于所對應的網頁的共同時間「10:00」與服務器端時間「10:15」產生差異,因而無法達到同步對時的操作。因此,在不占用大量網絡資源并可在維持客戶端處理大量數據正常運作的前提下,如何使客戶端與服務器端的對時實為目前一大課題。
發明內容
本發明提供一種對時方法與系統,當客戶端處理大量資源時,仍可準確地計算出服務器端的時間。
本發明是揭露一種客戶端與服務器端的對時方法,客戶端具有客戶端時間,且服務器端具有服務器端時間。首先,于第一時間點時,客戶端向服務器端提出校時請求,以取得第一時間點所對應的服務器端時間。記錄第一時間點所對應的服務器端時間與客戶端時間相減的差值,以作為基準時間差值。于第二時間點時,依據上述的客戶端時間與上述的基準時間差值來推算出第二時間點所對應的服務器端時間。
本發明是揭露一種客戶端與服務器端的對時系統,該系統包含服務器端以及至少一客戶端,其中服務器端具有服務器時間,及客戶端具有客戶端時間。客戶端是于第一時間點時向服務器端提出校時請求,以取得第一時間點所對應的服務器端時間。記錄第一時間點所對應的服務器端時間與客戶端時間之差,以作為基準時間差值。于第二時間點時,依據上述的客戶端時間與上述的基準時間差值推算出第二時間點所對應的服務器端時間。
承上所述,于本發明的一種客戶端與服務器端的對時方法及其系統,客戶端是利用客戶端時間與基準時間差值推算出第二時間點、第三時間點,甚至是第N時間點所對應的服務器端時間,因此服務器端時間可被客戶端準確地推算出,且客戶端并不需持續通過網絡連接服務器端,亦不受其中央處理器的效能而影響推算時間的準確性。
圖1為已知客戶端與服務器端的對時方法的流程圖;圖2為已知客戶端與服務器端的對時方法應用于網頁的示意圖;圖3為依據本發明實施例的一種客戶端與服務器端的對時系統的示意圖;以及圖4為依據本發明實施例的一種客戶端與服務器端的對時方法的流程圖。
元件標號說明1客戶端與伺服端的對時系統11服務器端111服務器端時鐘112網頁113服務器端時間12客戶端121客戶端時鐘
122瀏覽器123客戶端時間13網絡具體實施方式
以下將參照相關圖式,說明依本發明實施例的客戶端與服務器端的對時方法及其系統,其中相同的元件是以相同標號標示。
請參照圖3所示,本發明實施例是揭露一種客戶端與服務器端的對時系統1,其包含服務器端11及至少一客戶端12。服務器端11具有服務器端時鐘111,用以記錄并計時服務器端時間113。而各客戶端12具有客戶端時鐘121,用以記錄并計時客戶端時間123。于此,服務器端11可通過網絡13與客戶端12相聯機。在本實施例中,服務器端11具有網頁112,以供使用者瀏覽。在網頁112內的一部分區域是被設計成用來顯示服務器端時間113。當使用者于客戶端12操作瀏覽器122,并通過網絡13來瀏覽網頁112的內容以及服務器端時間113時,服務器端11的網頁112將顯示于客戶端12的瀏覽器122中。此時,于客戶端12經推算過后所對應的服務器端時間123亦會顯示于客戶端12的瀏覽器122上。
于此,客戶端12與服務器端11的網絡聯機方式可為因特網(Internet)、廣域網絡(wide area network,WAN)、局域網絡(local area network,LAN)或城域網絡(metropolitan area network,MAN)等方式,且以超文本傳送協議(hypertext transfer protocol,http)來聯機。客戶端12與服務器端11亦可通過其它專用的通訊協議來做溝通,例如網絡數據庫的專用協議等。另外,客戶端12可為個人計算機、筆記本型計算機、個人數字助理(PDA)、多媒體播放器(PMP)或家用在線游戲機等能夠具備網絡聯機功能的電子裝置。
再請配合參照圖4所示,本發明實施例是揭露一種上述客戶端與服務器端的對時系統1中客戶端12內建的客戶端與服務器端的對時方法,其方法包含步驟S11~S16。當客戶端12將網頁112的原始碼文件下載之后,其是先于第一時間點時,向服務器端11提出校時請求(步驟S11)。服務器端11接收到客戶端12的校時請求之后,其是將服務器時間113經由網絡13傳送至客戶端12,客戶端12便能夠取得此時所對應的服務器端時間113,并可在第一時間點之后不久顯示所對應的服務器端時間113于客戶端的瀏覽器122中(步驟S12)。同時,客戶端12從客戶端時鐘121取得所對應的客戶端時間123。接著,客戶端12便可運算出第一時間點所對應的服務器端時間113與客戶端時間123之差,并將差值記錄為基準時間差值(步驟S13)。當一段時間經過,于第二時間點時,客戶端12利用上述基準時間差值與客戶端時間123相加之和進行運算,以推算出第二時間點所對應的服務器時間113(步驟S14)。然后將推算出的服務器時間113顯示于客戶端12的瀏覽器122中(步驟S15)。之后,于客戶端12內部進行計數一段時間(步驟S16)后,再重復執行步驟S14-S16。
當計數的一段時間經過之后,于第三時間點甚至是第N時間點時,客戶端12是直接從客戶端12所記錄的基準時間的差值與客戶端12本身的客戶端時間123推算出第三時間點,甚至是第N時間點時所對應的服務器端時間113,因此客戶端12無須不斷的向服務器端11提出校時請求,即可達到客戶端12與服務器端11對時的效果。
在以上的處理過程當中,于第一時間點時,客戶端12是將此時所對應的服務器端時間113與客戶端時間123相減的差值,以作為基準時間差值。因此在之后的第二、三甚至是第N時間點時,客戶端12是將客戶端時間123與基準時間差值相加,便可利用客戶端時間123與基準時間差值相加之和推算出后續時間點所對應的服務器端時間113。
于此,客戶端時間123及服務器端時間113皆可具有年、月、日、秒等字段,以分別供客戶端12與服務器端11的操作系統存取文件或監控系統等。
于此,網頁112的原始碼可以用JAVA或是JAVA script等程序語言撰寫并于客戶端12執行。即使受到客戶端12數據處理量過大的影響,客戶端12仍然能夠以前述步驟的處理方式正確地推算出服務器端時間113。
此外,在本實施例中,客戶端12為求準確度,可于持續一段時間之后,周期地向服務器端11提出校時請求的步驟,以校正客戶端12的同步時間。
再者,上述的客戶端與服務器端的對時方法還可應用在網絡交易或數據庫的建立,或是數字線上學習的課程記錄。例如,客戶端利用瀏覽器經由網絡向服務器端的網頁下單時,下單時間及交易時間亦可利用本發明的客戶端與服務器端的對時方法來達到對時,因而無須擔心客戶端的下單時間與交易時間與服務器端網頁的時間不同,也不會因客戶端數據量過大的影響,造成下單時間及交易時間的錯誤。
通過上述設計,利用本發明的客戶端與服務器端的對時方法及其系統,僅需利用客戶端將原有的客戶端時間與運算所得的基準時間差值作運算即可使客戶端與服務器端時間達到同步,無須像已知方法中初始化計數值并對該計數值進行累加,以及將已初始并累加的計數值與初始時間進行相加,如此一來,本方法的客戶端不但可以簡化運算流程及無需不斷地向服務器端提出校時請求外,還可達到減少客戶端內部效能資源的應用及減少網絡頻寬的占用,因而當客戶端中央處理器執行大量運算時,不會因客戶端資源使用過量而造成客戶端與服務器端時間誤差的情況產生。
綜上所述,于本發明的一種客戶端與服務器端的對時方法及其系統,是利用客戶端時間與基準時間差值推算出第二時間點、第三時間點,甚至是第N時間點所對應的服務器端時間,因此,服務器端時間可被客戶端準確地推算出,且客戶端并不需持續通過網絡連接服務器端,亦不受其中央處理器的效能而影響推算時間的準確性。
以上所述僅為舉例性,而非為限制性者。任何未脫離本發明的精神與范疇,而對其進行的等效修改或變更,均應包含于所附的權利要求范圍中。
權利要求
1.一種客戶端與服務器端的對時方法,該客戶端具有客戶端時間,且該服務器端具有服務器端時間,該方法包含于第一時間點時,向該服務器端提出校時請求以取得該第一時間點所對應的該服務器端時間;記錄該第一時間點所對應的該服務器端時間與該客戶端時間之差,以作為基準時間差值;以及于第二時間點時,依據該客戶端時間與該基準時間差值推算出該第二時間點所對應的該服務器端時間。
2.根據權利要求1所述的客戶端與服務器端的對時方法,其中該記錄步驟包含取得該第一時間點所對應的該客戶端時間;以及將該第一時間點所對應的該服務器端時間與該客戶端時間進行運算,以得到該基準時間差值。
3.根據權利要求1所述的客戶端與服務器端的對時方法,其中該推算步驟是于該第二時間點時,將該客戶端時間與該基準時間差值相加之和,以推算出該第二時間點所對應的該服務器端時間。
4.根據權利要求3所述的客戶端與服務器端對時的方法,還包含顯示經推算的該第二時間點所對應的該服務器端時間于該客戶端的瀏覽器。
5.根據權利要求1所述的客戶端與服務器端的對時方法,其中該請求步驟是周期地向該服務器端提出該校時請求。
6.一種客戶端與服務器端的對時系統,包含服務器端,具有服務器端時間;以及至少一客戶端,具有客戶端時間,其中該客戶端是于第一時間點時向該服務器端提出校時請求以取得該第一時間點所對應的該服務器端時間,并記錄該第一時間點所對應的該服務器端時間與該客戶端時間之差以作為基準時間差值,并于第二時間點時,依據該客戶端時間與該基準時間差值相加之和,推算出該第二時間點所對應的該服務器端時間。
7.根據權利要求6所述的客戶端與服務器端的對時系統,其中該客戶端取得該第一時間點所對應的該客戶端時間,并將該第一時間點所對應的該服務器端時間與該客戶端時間進行運算,以得到該基準時間差值。
8.根據權利要求6所述的客戶端與服務器端的對時系統,其中該客戶端包含瀏覽器,用以瀏覽該服務器端的網頁,并顯示經推算的該第二時間點所對應的該服務器端時間于該網頁中。
9.根據權利要求6所述的客戶端與服務器端的對時系統,其中該客戶端是周期地向該服務器端提出該校時請求。
10.根據權利要求6所述的客戶端與服務器端的對時系統,其中該客戶端包含客戶端時鐘,該客戶端時鐘用以計時并記錄該客戶端時間;及該服務器端包含服務器端時鐘,該服務器端時鐘用以計時并記錄該服務器端時間。
全文摘要
一種客戶端與服務器端的對時方法及其系統。客戶端具有客戶端時間,且服務器端具有服務器端時間。首先,在第一時間點時,客戶端向服務器端提出校對時間請求,以取得第一時間點所對應的服務器端時間。記錄第一時間點所對應的服務器端時間與客戶端時間之差,以作為基準時間差值。接著,在第二時間點時,依據客戶端時間與上述的基準時間差值相加,計算出第二時間點所對應的服務器端時間。
文檔編號H04B7/26GK1968077SQ20061013884
公開日2007年5月23日 申請日期2006年9月19日 優先權日2006年9月19日
發明者黃大千, 黃家偉 申請人:威盛電子股份有限公司