本發(fā)明涉及信息處理領域,尤其涉及一種信息公示方法及系統(tǒng)。
背景技術:
信息公示是信息處理領域中一種常用的技術手段,信息公示系統(tǒng)中可以包括服務器和客戶端,在客戶端對來自服務器的信息進行展示。
但是,現(xiàn)有的信息公示方法存在客戶端對信息公示方法中時間計算不準確的問題。
技術實現(xiàn)要素:
本發(fā)明解決的技術問題是提高信息公示方法中客戶端時間計算的準確度。
為解決上述技術問題,本發(fā)明實施例提供一種信息公示方法,包括:第一客戶端向服務器提交公示請求;所述第一客戶端從所述服務器接收服務器消息,所述服務器消息包含待公示信息,所述待公示信息包括待公示內容及其公示時間信息;所述第一客戶端獲取所述服務器的當前時間信息并確定所述第一客戶端的當前時間信息;所述第一客戶端根據(jù)所述服務器的當前時間信息、所述第一客戶端的當前時間信息以及所述公示時間信息生成動態(tài)的異議剩余時間;所述第一客戶端展示所述待公示內容以及所述異議剩余時間。
可選的,所述服務器通過http協(xié)議發(fā)送所述服務器消息;所述第一客戶端通過所述服務器消息的頭部信息獲取所述服務器的當前時間信息。
可選的,所述公示時間信息為按照所述服務器的時鐘計時的公示結束時刻;所述生成動態(tài)的異議剩余時間包括:根據(jù)所述服務器的當前時間信息和所述第一客戶端的當前時間信息計算所述第一客戶端與所述服務器的時間差;根據(jù)所述公示結束時刻與所述時間差計算所述異議剩余時間,所述異議剩余時間按照所述第一客戶端的時鐘計時。
可選的,所述信息公示方法還可以包括:所述服務器在所述異議剩余時間內接收來自所述第一客戶端的異議請求;所述服務器讀取所述公示內容的第二公示狀態(tài),所述第二公示狀態(tài)為所述服務器在接收來自第一客戶端的異議請求時存儲的公示狀態(tài);比較初始公示狀態(tài)與所述第二公示狀態(tài),若所述初始公示狀態(tài)與所述第二公示狀態(tài)一致,則所述服務器將存儲的公示狀態(tài)更新為受阻狀態(tài);其中,所述初始公示狀態(tài)為所述服務器在接收到所述待公示信息時確定的公示狀態(tài)。
可選的,所述信息公示方法還可以包括:所述服務器讀取所述待公示內容的第三公示狀態(tài),所述第三公示狀態(tài)為所述異議剩余時間的數(shù)值為零時所述服務器存儲的公示狀態(tài);比較初始公示狀態(tài)與所述第三公示狀態(tài),若所述初始公示狀態(tài)與所述第三公示狀態(tài)一致,則所述服務器將存儲的公示狀態(tài)更新為鎖定狀態(tài);其中,所述初始公示狀態(tài)為所述服務器在接收到所述待公示信息時確定的公示狀態(tài)。
可選的,第二客戶端向所述服務器發(fā)送所述待公示信息。
可選的,所述信息公示方法還可以包括:所述服務器向所述第一客戶端發(fā)送所述服務器消息前,所述服務器判斷所述公示時間信息的數(shù)值;如果所述公示時間信息的數(shù)值大于零,則將所述待公示內容的公示狀態(tài)存儲為公示中狀態(tài)。
本發(fā)明實施例還提供一種信息公示系統(tǒng),包括:第一客戶端以及服務器;其中,所述第一客戶端包括:公示請求提交單元,適于向服務器提交公示請求;服務器消息接收單元,適于從所述服務器接收服務器消息,所述服務器消息包含待公示信息,所述待公示信息包括待公示內容及其公示時間信息;當前時間確定單元,適于取所述服務器的當前時間信息并確定所述第一客戶端的當前時間信息;異議剩余時間計算單元,適于根據(jù)所述服務器的當前時間信息、所述第一客戶端的當前時間信息以及所述公示時間信息生成動態(tài)的異議剩余時間;展示單元,適于展示所述待公示內容以及所述異議剩余時間;所述服務器包括服務器消息發(fā)送單元,適于發(fā)送所述服務器消息。
可選的,所述服務器消息發(fā)送單元適于通過http協(xié)議發(fā)送所述服務器消 息;所述當前時間確定單元,適于通過所述服務器消息的頭部信息獲取所述服務器的當前時間信息。
可選的,所述公示時間信息為按照所述服務器的時鐘計時的公示結束時刻;所述異議剩余時間計算單元包括:時間差計算子單元,適于根據(jù)所述服務器的當前時間信息和所述第一客戶端的當前時間信息計算所述第一客戶端與所述服務器的時間差;異議剩余時間計算子單元,適于根據(jù)所述公示結束時刻與所述時間差計算所述異議剩余時間,所述異議剩余時間按照所述第一客戶端的時鐘計時。
可選的,所述服務器還可以包括:異議請求接收單元,適于在所述異議剩余時間內接收來自所述第一客戶端的異議請求;第二公示狀態(tài)讀取單元,適于讀取所述公示內容的第二公示狀態(tài),所述第二公示狀態(tài)為所述服務器在接收來自第一客戶端的異議請求時存儲的公示狀態(tài);第一更新單元,適于比較初始公示狀態(tài)與所述第二公示狀態(tài),若所述初始公示狀態(tài)與所述第二公示狀態(tài)一致,則將存儲的公示狀態(tài)更新為受阻狀態(tài);其中,所述初始公示狀態(tài)為所述服務器在接收到所述待公示信息時確定的公示狀態(tài)。
可選的,所述服務器還包括:第三公示狀態(tài)讀取單元,適于讀取所述待公示內容的第三公示狀態(tài),所述第三公示狀態(tài)為所述異議剩余時間的數(shù)值為零時所述服務器存儲的公示狀態(tài);第二更新單元,適于比較初始公示狀態(tài)與所述第三公示狀態(tài),若所述初始公示狀態(tài)與所述第三公示狀態(tài)一致,則所述服務器將存儲的公示狀態(tài)更新為鎖定狀態(tài);其中,所述初始公示狀態(tài)為所述服務器在接收到所述待公示信息時確定的公示狀態(tài)。
可選的,所述服務器還包括:第二客戶端,適于向所述服務器發(fā)送所述待公示信息。
可選的,所述服務器還包括:判斷單元,適于向所述第一客戶端發(fā)送所述服務器消息前,判斷所述公示時間信息的數(shù)值;狀態(tài)確定單元,適于在所述公示時間信息的數(shù)值大于零時,則將所述待公示內容的公示狀態(tài)存儲為公示中狀態(tài)。
與現(xiàn)有技術相比,本發(fā)明實施例的技術方案具有以下有益效果:
第一客戶端獲取所述服務器的當前時間信息并確定所述第一客戶端的當前時間信息,服務器的當前時間信息和第一客戶端的當前時間信息是對應于同一時刻的時間信息;根據(jù)所述第一客戶端根據(jù)所述服務器的當前時間信息、所述第一客戶端的當前時間信息以及所述公示時間信息生成動態(tài)的異議剩余時間,該異議剩余時間已考慮服務器與第一客戶端的時間差異性,故在第一客戶端的計時與服務器的計時并非同步的情況下,可以顯著提高第一客戶端上的異議剩余時間的準確度。
附圖說明
圖1是本發(fā)明實施例中一種信息公示方法的流程圖;
圖2是本發(fā)明實施例中另一種信息公示方法的流程圖;
圖3是本發(fā)明實施例中再一種信息公示方法的流程圖;
圖4是本發(fā)明實施例中一種信息公示系統(tǒng)的結構示意圖;
圖5是本發(fā)明實施例中一種第一客戶端的結構示意圖;
圖6是本發(fā)明實施例中一種服務器的結構示意圖。
具體實施方式
如前所述,信息公示是信息處理領域中一種常用的技術手段,信息公示系統(tǒng)中可以包括服務器和客戶端,在客戶端對來自服務器的信息進行展示。但是,現(xiàn)有的信息公示方法存在客戶端對信息公示方法中時間計算不準確的問題。
信息公示系統(tǒng)可以包括服務器以及多個客戶端,服務器可以提供待公示的信息,多個客戶端中的任一個均可以對待公示的信息進行展示。
在許多場景中,待公示的信息中包括時間相關的信息,例如當前的公示將在何時結束或者還剩余多少時間,這就需要在客戶端根據(jù)這些時間信息進行與時間相關的信息展示。
但是,在終端與服務器的計時并非實時同步的信息公示系統(tǒng)中,由于終端的時間和服務器時間存在差異性,若終端完全根據(jù)服務器提供的公示時間信息進行時間相關的計算,會導致異時間相關的計算不準確。
一種可能的解決方案是由服務器完成時間相關的計算,不斷從服務器讀取當前時刻下的計算結果,這種方式對服務器資源、客戶端資源和網絡資源占用較多。
在本發(fā)明實施例中,第一客戶端獲取所述服務器的當前時間信息并確定所述第一客戶端的當前時間信息,服務器的當前時間信息和第一客戶端的當前時間信息是對應于同一時刻的時間信息;根據(jù)所述第一客戶端根據(jù)所述服務器的當前時間信息、所述第一客戶端的當前時間信息以及所述公示時間信息生成動態(tài)的異議剩余時間,該異議剩余時間已考慮服務器與第一客戶端的時間差異性,故準確度較高。
另外,由于異議剩余時間是由第一客戶端生成的動態(tài)的異議時間,在第一客戶端進行公示的過程中,無需持續(xù)地從服務器獲取信息,從而可以減少對服務器資源、第一客戶端資源和網絡資源的占用。
為使本發(fā)明的上述目的、特征和有益效果能夠更為明顯易懂,下面結合附圖對本發(fā)明的具體實施例做進一步的說明。
圖1是本發(fā)明實施例中一種信息公示方法的流程圖,以下參照圖1進行說明。
在步驟s11中,第一客戶端向服務器提交公示請求。
第一客戶端向服務器提交公示請求,以請求服務器發(fā)送包含待公示信息的服務器消息。
在步驟s12中,所述第一客戶端從所述服務器接收服務器消息,所述服務器消息包含待公示信息,所述待公示信息包括待公示內容及其公示時間信息。
在具體實施中,待公示信息可以是由第二客戶端向服務器發(fā)送的。例如可以是由第二客戶端的用戶在第二客戶端的頁面上,利用jquery的ajax技術把當前公示內容的識別標識,公示時間等相關信息發(fā)送到服務器。服務器根據(jù)識別標識從數(shù)據(jù)庫(例如c3p0數(shù)據(jù)庫)中讀取識別標識對應的公示內容。
在本發(fā)明一實施例中,信息公示方法應用于金融業(yè)務領域,待公示內容 可以是待公示的業(yè)務數(shù)據(jù),例如撮合后的買、賣交易數(shù)據(jù);公示時間信息可以包括公示的持續(xù)時間或者公示將持續(xù)到的結束時刻,可以根據(jù)需要設定,例如可以由第二客戶端在上傳待公示信息時一并設定或者根據(jù)用戶的設定由服務器計算得到。
在步驟s13中,所述第一客戶端獲取所述服務器的當前時間信息并確定所述第一客戶端的當前時間信息。
所述服務器的當前時間信息與所述第一客戶端的當前時間信息對應于同一時刻,通過所述服務器的當前時間信息與所述第一客戶端的當前時間信可以得到服務器與第一客戶端之間的時間差。
在具體實施中,所述服務器可以通過http協(xié)議發(fā)送所述服務器消息;所述第一客戶端通過所述服務器消息的頭部信息獲取所述服務器的當前時間信息。
在步驟s14中,所述第一客戶端根據(jù)所述服務器的當前時間信息、所述第一客戶端的當前時間信息以及所述公示時間信息生成動態(tài)的異議剩余時間。
在具體實施中,動態(tài)的異議剩余時間可以是倒計時,在倒計時結束前,可以由第一客戶端進行某些針對該待公示信息的操作,例如異議操作。
在一具體實施中,所述公示時間信息為按照所述服務器的時鐘計時的公示結束時刻;所述生成動態(tài)的異議剩余時間可以包括:
根據(jù)所述服務器的當前時間信息和所述第一客戶端的當前時間信息計算所述第一客戶端與所述服務器的時間差;
根據(jù)所述公示結束時刻與所述時間差計算所述異議剩余時間,所述異議剩余時間按照所述第一客戶端的時鐘計時。
動態(tài)的異議剩余時間可以在第一客戶端以倒計時的方式展示,該倒計時的結束時刻與按照所述服務器的時鐘計時的公示結束時刻相一致。
在具體實施中,所述服務器還可以更新所述公示信息的公示狀態(tài)。在更新所述公示狀態(tài)之前,可以確定當前的公示狀態(tài)和初始公示狀態(tài)一致,所述 初始公示狀態(tài)為所述服務器在接收到所述待公示信息時確定的公示狀態(tài)。
在一具體實施中,所述信息公示方法還可以包括:所述服務器向所述第一客戶端發(fā)送所述服務器消息前,所述服務器判斷所述公示時間信息的數(shù)值;如果所述公示時間信息的數(shù)值大于零,則將所述待公示內容的公示狀態(tài)存儲為公示中狀態(tài)。
在本發(fā)明一實施例中,如果所述公示時間信息的數(shù)值大于零,則將所述待公示內容的公示狀態(tài)存儲為公示中狀態(tài),并增加一個計劃任務到計劃任務池,該計劃任務池可以用jdk的scheduledexecutorservice實現(xiàn)。該計劃任務保存了當前的公示狀態(tài)。
公示時間信息可以由第二客戶端根據(jù)需要和約束條件設定,若公示時間信息的數(shù)值為零,則所述服務器在將服務器消息發(fā)送至第一客戶端時,可以將公示狀態(tài)存儲為鎖定狀態(tài)。其中,在鎖定狀態(tài)下不允許第一客戶端對待公示信息進行異議操作。
在具體實施中,第二客戶端還可以進行退回操作或放棄操作,以停止對公示信息的公示,并由服務器更新該公示信息的狀態(tài)。
在本發(fā)明一實施例中,公示內容可以為業(yè)務排單數(shù)據(jù),是一種組合數(shù)據(jù)。第二客戶端進行過退回操作的公示內容可以重新組合后再次公示,第二客戶端進行過放棄操作的排單數(shù)據(jù),不能夠被再次公示。
在具體實施中,服務器可以更新所述待公示內容的公示狀態(tài),例如:在異議剩余時間內,服務器記錄的公示狀態(tài)為公示中;在異議剩余時間結束后,若無第一客戶端發(fā)起異議,則更新所述公示狀態(tài)為鎖定狀態(tài);若在異議剩余時間內,有第一客戶端發(fā)起異議,可以將公示狀態(tài)更新為受阻狀態(tài)。
在本發(fā)明一實施例中,對公示狀態(tài)的更新可以調用事先寫好的分布式隊列kafka的連接池,將數(shù)據(jù)庫寫入請求以二進制寫入,最終異步更新存儲有公示狀態(tài)的數(shù)據(jù)庫。
可以理解的是,上述“公示中”、“鎖定狀態(tài)”“受阻狀態(tài)”在第一客戶端的顯示名稱可以根據(jù)需要進行設定。
若第一客戶端實時接收所述服務器的公示狀態(tài)并進行展示,需要耗費較多的服務器資源、第一客戶端資源以及網絡資源;若為節(jié)省資源,僅在第一客戶端獲取服務器消息時,獲取服務器記錄的公示狀態(tài)并公示,可能會造成第一客戶端展示的公示狀態(tài)與該時刻服務器記錄的公示狀態(tài)不一致,例如:在服務器記錄的狀態(tài)已更新為受阻狀態(tài),而第一客戶端展示的狀態(tài)依然為公示中,而錯誤的接收了來自第一客戶端的異議請求,進而在服務器進行狀態(tài)更新時,狀態(tài)機的跳轉出現(xiàn)錯誤。
為解決上述問題,為節(jié)省服務器資源、第一客戶端資源以及網絡資源的同時,保證服務器狀態(tài)機跳轉的正確性,服務器記錄接收到所述待公示信息時確定的公示狀態(tài)為初始公示狀態(tài),確定當前的公示狀態(tài)和初始公示狀態(tài)一致時,才進行狀態(tài)機的跳轉以更新公示狀態(tài)。
圖2是本發(fā)明實施例中另一種信息公示方法的流程圖。
步驟s21至步驟s24可以參照步驟s11至s14,此不贅述。在步驟s24之后,本發(fā)明實施例中的信息公示方法還可以包括:
步驟s25,所述服務器在所述異議剩余時間內接收來自所述第一客戶端的異議請求。
步驟s26,所述服務器讀取所述公示內容的第二公示狀態(tài),所述第二公示狀態(tài)為所述服務器在接收來自第一客戶端的異議請求時存儲的公示狀態(tài)。
步驟s27,比較初始公示狀態(tài)與所述第二公示狀態(tài),若所述初始公示狀態(tài)與所述第二公示狀態(tài)一致,則所述服務器將存儲的公示狀態(tài)更新為受阻狀態(tài),其中,所述初始公示狀態(tài)為所述服務器在接收到所述待公示信息時確定的公示狀態(tài)。
圖3是本發(fā)明實施例中再一種信息公示方法的流程圖。
步驟s31至步驟s34可以參照步驟s11至s14,此不贅述。在步驟s34之后,本發(fā)明實施例中的信息公示方法還可以包括:
步驟s35,所述服務器讀取所述待公示內容的第三公示狀態(tài),所述第三公示狀態(tài)為所述異議剩余時間的數(shù)值為零時所述服務器存儲的公示狀態(tài);
步驟s36,比較初始公示狀態(tài)與所述第三公示狀態(tài),若所述初始公示狀態(tài)與所述第三公示狀態(tài)一致,則所述服務器將存儲的公示狀態(tài)更新為鎖定狀態(tài);
其中,所述初始公示狀態(tài)為所述服務器在接收到所述待公示信息時確定的公示狀態(tài)。
服務器默認的狀態(tài)機為在所述異議剩余時間結束后,更新所述狀態(tài)為鎖定狀態(tài),在更新狀態(tài)之前,比較比較初始公示狀態(tài)與所述第三公示狀態(tài),若所述初始公示狀態(tài)與所述第三公示狀態(tài)一致,才將存儲的公示狀態(tài)更新為鎖定狀態(tài),可以避免所述服務器出現(xiàn)狀態(tài)機錯誤,以及避免更正錯誤帶來的資源浪費。
在本發(fā)明實施例中,第一客戶端獲取所述服務器的當前時間信息并確定所述第一客戶端的當前時間信息,服務器的當前時間信息和第一客戶端的當前時間信息是對應于同一時刻的時間信息;據(jù)所述第一客戶端根據(jù)所述服務器的當前時間信息、所述第一客戶端的當前時間信息以及所述公示時間信息生成動態(tài)的異議剩余時間,該異議剩余時間已考慮服務器與第一客戶端的時間差異性,故準確度較高。
本發(fā)明實施例還提供一種信息公示系統(tǒng),其結構示意圖參見圖4。圖5是本發(fā)明實施例中一種第一客戶端的結構示意圖,圖6是本發(fā)明實施例中一種服務器的結構示意圖,以下結合圖4、圖5和圖6進行說明。
信息公示系統(tǒng)可以包括:第一客戶端42以及服務器41;其中:
所述第一客戶端42包括:
公示請求提交單元51,適于向服務器提交公示請求;
服務器消息接收單元52,適于從所述服務器接收服務器消息,所述服務器消息包含待公示信息,所述待公示信息包括待公示內容及其公示時間信息;
當前時間確定單元53,適于取所述服務器的當前時間信息并確定所述第一客戶端的當前時間信息;
異議剩余時間計算單元54,適于根據(jù)所述服務器的當前時間信息、所述第一客戶端的當前時間信息以及所述公示時間信息生成動態(tài)的異議剩余時 間;
展示單元55,適于展示所述待公示內容以及所述異議剩余時間;
所述服務器41包括服務器消息發(fā)送單元61,適于發(fā)送所述服務器消息。
在具體實施中,所述服務器消息發(fā)送單元61適于通過http協(xié)議發(fā)送所述服務器消息;所述當前時間確定單元53,適于通過所述服務器消息的頭部信息獲取所述服務器的當前時間信息。
在具體實施中,所述公示時間信息為按照所述服務器的時鐘計時的公示結束時刻;所述異議剩余時間計算單元54可以包括:
時間差計算子單元,適于根據(jù)所述服務器的當前時間信息和所述第一客戶端的當前時間信息計算所述第一客戶端與所述服務器的時間差;
異議剩余時間計算子單元,適于根據(jù)所述公示結束時刻與所述時間差計算所述異議剩余時間,所述異議剩余時間按照所述第一客戶端的時鐘計時。
在具體實施中,所述服務器還可以包括:
異議請求接收單元62,適于在所述異議剩余時間內接收來自所述第一客戶端的異議請求;
第二公示狀態(tài)讀取單元63,適于讀取所述公示內容的第二公示狀態(tài),所述第二公示狀態(tài)為所述服務器在接收來自第一客戶端的異議請求時存儲的公示狀態(tài);
第一更新單元64,適于比較初始公示狀態(tài)與所述第二公示狀態(tài),若所述初始公示狀態(tài)與所述第二公示狀態(tài)一致,則將存儲的公示狀態(tài)更新為受阻狀態(tài);
其中,所述初始公示狀態(tài)為所述服務器在接收到所述待公示信息時確定的公示狀態(tài)。
在具體實施中,所述服務器還可以包括:
第三公示狀態(tài)讀取單元65,適于讀取所述待公示內容的第三公示狀態(tài),所述第三公示狀態(tài)為所述異議剩余時間的數(shù)值為零時所述服務器存儲的公示 狀態(tài);
第二更新單元66,適于比較初始公示狀態(tài)與所述第三公示狀態(tài),若所述初始公示狀態(tài)與所述第三公示狀態(tài)一致,則所述服務器將存儲的公示狀態(tài)更新為鎖定狀態(tài);
其中,所述初始公示狀態(tài)為所述服務器在接收到所述待公示信息時確定的公示狀態(tài)。
在具體實施中,所述信息公示系統(tǒng)還可以包括:第二客戶端43,適于向所述服務器發(fā)送所述待公示信息。
在具體實施中,所述服務器還可以包括:
判斷單元67,適于向所述第一客戶端發(fā)送所述服務器消息前,判斷所述公示時間信息的數(shù)值;
狀態(tài)確定單元68,適于在所述公示時間信息的數(shù)值大于零時,則將所述待公示內容的公示狀態(tài)存儲為公示中狀態(tài)。
所述信息公示系統(tǒng)的具體實現(xiàn)可以參照所述信息公示方法,此不贅述。
本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括:rom、ram、磁盤或光盤等。
雖然本發(fā)明披露如上,但本發(fā)明并非限定于此。任何本領域技術人員,在不脫離本發(fā)明的精神和范圍內,均可作各種更動與修改,因此本發(fā)明的保護范圍應當以權利要求所限定的范圍為準。