專利名稱:一種頁面腳本時間戳的修改方法、設備和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本申請實施例涉及通信技術(shù)領(lǐng)域,特別涉及一種頁面腳本時間戳的修改方法、設 備和系統(tǒng)。
背景技術(shù):
Javascript是一種由Netscape的Livekript發(fā)展而來的原型化繼承的面向?qū)?象的動態(tài)類型的區(qū)分大小寫的客戶端腳本語言,主要目的是為了解決服務器端語言,比如 Perl,遺留的速度問題,為客戶提供更流暢的瀏覽效果。當時服務端需要對數(shù)據(jù)進行驗證, 由于網(wǎng)絡速度相當緩慢,只有28. Slcbps,驗證步驟浪費的時間太多。于是Netscape的瀏覽 器Navigator加入了 Javascript,提供了數(shù)據(jù)驗證的基本功能。Javakript是根據(jù)〃 ECM/^cript"標準制定的網(wǎng)頁腳本語言。在一個基于web的系統(tǒng)中,頁面中的javakript(js)腳本、ess腳本以及其他的 需要從外部文件引入的腳本,稱之為assets文件,都需要顯示出被引用文件的url地址,例如引入一個javascript腳本<script type = “ text/javascript “ src = “ http://a. tbcdn. cn/app/tc/ detail, js" ></script)這種引入方式,有一個弊端,就是當服務端的javascript文件更新之后,不能及 時的更新用戶在瀏覽器端緩存的javascript,只有當用戶強制刷新頁面之后,才可以從服 務端下載最新的javascript,假如javascript的版本發(fā)生了很大變化,老的javascript不 能兼容新的html頁面,就會產(chǎn)生bug,導致用戶訪問該頁面出現(xiàn)障礙。為了解決這個問題,引入了時間戳的概念,即當javascript文件的內(nèi)容發(fā)生變化 的時候,網(wǎng)站服務端引用javascript的時候加上時間戳參數(shù),如〈scripttype = “ text/javascript“ src = “ http://a. tbcdn. cn/app/tc/detail. js ? t = 200910231422" >〈/script〉加上時間戳之后,瀏覽器認為該文件的url發(fā)生了變化,會主動請求服務端,得到 最新的javascript文件,從而保證用戶能夠瀏覽到正常的頁面。在實現(xiàn)本申請實施例的過程中,申請人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在以下問題使用時間戳帶來的問題是,每次更新了 javascript文件都要手工更新 javascript的時間戳,要修改所有引用到該javascript的服務端的文件,帶來很大工作 量,并且修改文件之后還要發(fā)布到線上生產(chǎn)環(huán)境才能生效,由此帶來了很大的修改、測試、 發(fā)布的成本,且有時人工修改時間戳存在不精確的問題,如有人將時間戳的時間修改到未 來或者修改到了歷史的時間。這樣會帶來的問題是導致用戶加載到老版本的緩存在本地瀏 覽器端的javascript,同樣會產(chǎn)生頁面瀏覽的錯誤,而根據(jù)觀察,業(yè)界暫時還沒有動態(tài)修改 時間戳的技術(shù)和應用。
發(fā)明內(nèi)容
本申請實施例提供一種頁面腳本時間戳的修改方法、設備和系統(tǒng),實現(xiàn)對頁面腳 本的時間戳信息的動態(tài)修改。為達到上述目的,本申請實施例一方面提供了一種頁面腳本時間戳的修改方法, 應用于包括頁面腳本服務器、時間戳配置設備和應用服務器的系統(tǒng)中,所述頁面腳本服務 器向所述應用服務器發(fā)布頁面腳本,并向所述時間戳配置設備發(fā)送頁面腳本發(fā)布通知消 息,所述方法具體包括以下步驟所述時間戳配置設備接收所述頁面腳本服務器所發(fā)送的頁面腳本發(fā)布通知消 息;所述時間戳配置設備根據(jù)所述頁面腳本發(fā)布通知消息,生成對應的頁面腳本的時 間戳信息;所述時間戳配置設備將所述頁面腳本的時間戳信息發(fā)送給所述頁面腳本所對應 的應用服務器,并在所述應用服務器對所述時間戳信息驗證成功后,由所述應用服務器按 照所述時間戳信息對對應的頁面腳本進行時間戳信息的更新。優(yōu)選的,所述頁面腳本服務器向所述應用服務器發(fā)布頁面腳本,并向所述時間戳 配置設備發(fā)送頁面腳本發(fā)布通知消息,具體包括所述頁面腳本服務器向所述應用服務器發(fā)布頁面腳本,并記錄所述頁面腳本的名 稱信息和發(fā)布時間;所述頁面腳本服務器根據(jù)所述頁面腳本的名稱信息和發(fā)布時間,生成相對應的頁 面腳本發(fā)布通知消息;所述頁面腳本服務器在向所述應用服務器發(fā)布頁面腳本之后的預設響應時間范 圍內(nèi),向所述時間戳配置設備發(fā)送頁面腳本發(fā)布通知消息。優(yōu)選的,所述時間戳配置設備根據(jù)所述頁面腳本發(fā)布通知消息,生成對應的頁面 腳本的時間戳信息,具體包括所述時間戳配置設備根據(jù)接收到的所述頁面腳本發(fā)布通知消息,獲取所述頁面腳 本服務器向所述應用服務器發(fā)布的頁面腳本的名稱信息和發(fā)布時間;所述時間戳配置設備根據(jù)所述名稱信息和發(fā)布時間,生成對應的頁面腳本的時間
誠fe息。優(yōu)選的,所述時間戳配置設備根據(jù)所述名稱信息和發(fā)布時間,生成對應的頁面腳 本的時間戳信息,具體包括所述時間戳配置設備根據(jù)所述名稱信息和發(fā)布時間,生成對應的頁面腳本的時間 戳緩存信息;所述時間戳配置設備對所述頁面腳本的時間戳緩存信息與所述頁面腳本最近的 時間戳替換時間進行比較,進行時間更新合法性的驗證;當所述時間戳配置設備確定所述頁面腳本的時間戳緩存信息所對應的時間晚于 所述頁面腳本最近的時間戳替換時間時,對所述時間戳緩存信息進行持久化轉(zhuǎn)化,生成對 應的頁面腳本的時間戳信息,當所述時間戳配置設備確定所述頁面腳本的時間戳緩存信息 所對應的時間早于所述頁面腳本最近的時間戳替換時間時,丟棄所述時間戳緩存信息。
優(yōu)選的,所述時間戳配置設備,具體包括配置服務器發(fā)布頁面和配置服務器,其中,所述配置服務器發(fā)布頁面根據(jù)所述名稱信息和發(fā)布時間,生成對應的頁面 腳本的時間戳緩存信息,并將所述時間戳緩存信息發(fā)送給配置服務器,由所述配置服務器 對所述時間戳緩存信息進行時間更新合法性的驗證,并在驗證成功時,將所述頁面腳本的 時間戳緩存信息進行持久化轉(zhuǎn)化,生成對應的頁面腳本的時間戳信息。優(yōu)選的,所述時間戳配置設備將所述頁面腳本的時間戳信息發(fā)送給所述頁面腳本 所對應的應用服務器之后,還包括所述應用服務器根據(jù)預設的驗證規(guī)則對接收到的時間戳信息進行合法性驗證;當所述合法性驗證失敗時,所述應用服務器丟棄所述接收到的時間戳信息;當所述合法性驗證成功時,所述應用服務器根據(jù)所述時間戳信息中所攜帶的頁面 腳本的名稱信息確定需要更新時間戳信息的頁面腳本,并按照所述時間戳信息中所攜帶的 發(fā)布時間,更新所述需要更新時間戳信息的頁面腳本所對應的時間戳信息。另一方面,本申請實施例還提供了一種時間戳配置設備,應用于包括頁面腳本服 務器、時間戳配置設備和應用服務器的系統(tǒng)中,所述頁面腳本服務器向所述應用服務器發(fā) 布頁面腳本,并向所述時間戳配置設備發(fā)送頁面腳本發(fā)布通知消息,具體包括接收模塊,用于接收所述頁面腳本服務器所發(fā)送的頁面腳本發(fā)布通知消息;生成模塊,與所述接收模塊相連接,用于根據(jù)所述接收模塊所接收到的頁面腳本 發(fā)布通知消息,生成對應的頁面腳本的時間戳信息;發(fā)送模塊,與所述生成模塊相連接,用于將所述生成模塊所生成的頁面腳本的時 間戳信息發(fā)送給所述頁面腳本所對應的應用服務器,并在所述應用服務器對所述時間戳信 息驗證成功后,由所述應用服務器按照所述時間戳信息對對應的頁面腳本進行時間戳信息 的更新。優(yōu)選的,所述生成模塊,具體包括獲取子模塊,用于根據(jù)所述接收模塊所接收到的所述頁面腳本發(fā)布通知消息,獲 取所述頁面腳本服務器向所述應用服務器發(fā)布的頁面腳本的名稱信息和發(fā)布時間;生成子模塊,與所述獲取子模塊相連接,用于根據(jù)所述獲取子模塊所獲取的名稱 信息和發(fā)布時間,生成對應的頁面腳本的時間戳信息。優(yōu)選的,所述時間戳配置設備具體包括配置服務器發(fā)布頁面和配置服務器,其中,所述配置服務器發(fā)布頁面根據(jù)所述名稱信息和發(fā)布時間,生成對應的頁面 腳本的時間戳緩存信息,并將所述時間戳緩存信息發(fā)送給配置服務器;所述配置服務器對所述配置服務器發(fā)布頁面發(fā)送的頁面腳本的時間戳緩存信息 與所述頁面腳本最近的時間戳替換時間進行比較,進行時間更新合法性的驗證,當所述配 置服務器確定所述頁面腳本的時間戳緩存信息所對應的時間晚于所述頁面腳本最近的時 間戳替換時間時,對所述時間戳緩存信息進行持久化轉(zhuǎn)化,生成對應的頁面腳本的時間戳 信息,當所述配置服務器確定所述頁面腳本的時間戳緩存信息所對應的時間早于所述頁面 腳本最近的時間戳替換時間時,丟棄所述時間戳緩存信息。另一方面,本申請實施例還提供了一種頁面腳本服務器,應用于包括頁面腳本服 務器、時間戳配置設備和應用服務器的系統(tǒng)中,具體包括發(fā)布模塊,用于向所述應用服務器發(fā)布頁面腳本,并記錄所述頁面腳本的名稱信息和發(fā)布時間;生成模塊,與所述生成模塊相連接,用于根據(jù)所述發(fā)布模塊所發(fā)布的頁面腳本的 名稱信息和發(fā)布時間,生成相對應的頁面腳本發(fā)布通知消息;通知模塊,與所述生成模塊相連接,用于向所述時間戳配置設備發(fā)送所述生成模 塊所生成的頁面腳本發(fā)布通知消息。優(yōu)選的,所述頁面腳本服務器還包括設置模塊,與所述發(fā)布模塊和所述通知模塊 相連接,用于設定響應時間,在所述發(fā)布模塊向所述應用服務器發(fā)布頁面腳本之后的預設 響應時間范圍內(nèi),通知所述通知模塊向所述時間戳配置設備發(fā)送所述生成模塊所生成的頁 面腳本發(fā)布通知消息。另一方面,本申請實施例還提供了一種應用服務器,應用于包括頁面腳本服務器、 時間戳配置設備和應用服務器的系統(tǒng)中,具體包括接收模塊,用于接收所述頁面腳本服務器所發(fā)布的頁面腳本,和所述時間戳配置 設備所發(fā)送的時間戳信息;驗證模塊,與所述接收模塊相連接,用于根據(jù)預設的驗證規(guī)則對所述接收模塊所 接收到的時間戳信息進行合法性驗證;處理模塊,與所述驗證模塊相連接,用于當所述驗證模塊所進行的合法性驗證失 敗時,丟棄所述接收到的時間戳信息,或當所述驗證模塊所進行的合法性驗證成功時,根據(jù) 所述時間戳信息中所攜帶的頁面腳本的名稱信息確定需要更新時間戳信息的頁面腳本,并 按照所述時間戳信息中所攜帶的發(fā)布時間,更新所述需要更新時間戳信息的頁面腳本所對 應的時間戳信息。優(yōu)選的,所述應用服務器還包括設置模塊,與所述驗證模塊相連接,用于設定驗證規(guī)則,使所述驗證模塊根據(jù)所述 驗證規(guī)則對所述接收模塊所接收到的時間戳信息進行合法性驗證;其中,所述驗證規(guī)則包括根據(jù)所述時間戳信息中所包含的名稱信息和/或發(fā)布時 間對所述接收模塊所接收到的時間戳信息進行合法性驗證。另一方面,本申請實施例還提供了一種頁面腳本發(fā)布系統(tǒng),包括頁面腳本服務器、 時間戳配置設備和應用服務器,其中所述頁面腳本服務器,用于向所述應用服務器發(fā)布頁面腳本,并向所述時間戳配 置設備發(fā)送頁面腳本發(fā)布通知消息;所述時間戳配置設備,與所述頁面腳本服務器相連接,用于接收所述頁面腳本服 務器所發(fā)送的頁面腳本發(fā)布通知消息,根據(jù)所述頁面腳本發(fā)布通知消息,生成對應的頁面 腳本的時間戳信息,并發(fā)送給所述頁面腳本所對應的應用服務器;所述應用服務器,與所述頁面腳本服務器和所述時間戳配置設備相連接,用于接 收所述頁面腳本服務器所發(fā)布的頁面腳本,和所述時間戳配置設備所發(fā)送的時間戳信息, 并對接收到的時間戳信息進行合法性驗證,根據(jù)驗證結(jié)果進行頁面腳本所對應的時間戳信 息的處理。優(yōu)選的,所述應用服務器根據(jù)驗證結(jié)果進行頁面腳本所對應的時間戳信息的處 理,具體包括當所述應用服務器所進行的合法性驗證失敗時,丟棄所述接收到的時間戳信息;或,當所述應用服務器所進行的合法性驗證成功時,根據(jù)所述時間戳信息中所攜帶的 頁面腳本的名稱信息確定需要更新時間戳信息的頁面腳本,并按照所述時間戳信息中所攜 帶的發(fā)布時間,更新所述需要更新時間戳信息的頁面腳本所對應的時間戳信息。與現(xiàn)有技術(shù)相比,本申請實施例具有以下優(yōu)點通過應用本申請實施例所提出的技術(shù)方案,可以實現(xiàn)頁面腳本的時間戳信息動態(tài) 修改過程,使得前端開發(fā)工程師、后端開發(fā)工程師以及配置管理員,都不必去關(guān)注和時間戳 相關(guān)的問題,只要發(fā)布了新的javascript,網(wǎng)站的頁面中對該javascript引用的時間戳會 自動更新到最新。
圖1為本申請實施例提出的一 種頁面腳本時間戳的修改方法的流程示意2為本申請實施例提出的一種頁面腳本發(fā)布系統(tǒng)結(jié)構(gòu)示意圖; 圖3為本申請實施例提出的一種頁面腳本服務器結(jié)構(gòu)示意圖; 圖4為本申請實施例提出的一種應用服務器結(jié)構(gòu)示意圖; 圖5為本申請實施例提出的一種時間戳配置設備結(jié)構(gòu)示意圖; 圖6為本申請實施例提出的另 一種應用服務器結(jié)構(gòu)示意圖; 圖7為本申請實施例提出的一種頁面腳本時間戳的修改方法的輸出流程示意圖,
具體實施例方式為了解決現(xiàn)有技術(shù)中存在的問題,本申請實施例提出的一種頁面腳本時間戳的修 改方法,應用于包括頁面腳本服務器、時間戳配置設備和應用服務器的系統(tǒng)中,所述頁面腳 本服務器向所述應用服務器發(fā)布頁面腳本,并在向所述時間戳配置設備發(fā)送頁面腳本發(fā)布 通知消息。如圖1所示,為本申請實施例提出的一種頁面腳本時間戳的修改方法的流程示意 圖,具體包括以下步驟步驟S101、所述時間戳配置設備接收所述頁面腳本服務器所發(fā)送的頁面腳本發(fā)布 通知消息。其中,所述頁面腳本服務器向所述應用服務器發(fā)布頁面腳本,并在向所述時間戳 配置設備發(fā)送頁面腳本發(fā)布通知消息,具體包括所述頁面腳本服務器向所述應用服務器發(fā)布頁面腳本,并記錄所述頁面腳本的名 稱信息和發(fā)布時間;所述頁面腳本服務器根據(jù)所述頁面腳本的名稱信息和發(fā)布時間,生成相對應的頁 面腳本發(fā)布通知消息;所述頁面腳本服務器在向所述應用服務器發(fā)布頁面腳本之后的預設響應時間范 圍內(nèi),向所述時間戳配置設備發(fā)送頁面腳本發(fā)布通知消息。其中,預設響應時間范圍是根據(jù)具體應用場景的需要而設置的一個時間區(qū)間,這 樣的時間區(qū)間的設置可以保證頁面腳本服務器所發(fā)布的頁面腳本完成向應用服務器進行 傳輸?shù)倪^程,避免因為網(wǎng)絡傳輸問題而導致的延遲現(xiàn)象對本申請所提出的技術(shù)方案的影響。具體的預設響應時間范圍所對應的時間長度可以根據(jù)具體的系統(tǒng)需要進行調(diào)整, 具體時間長度的變化并不影響本申請的保護范圍。步驟S102、所述時間戳配置設備根據(jù)所述頁面腳本發(fā)布通知消息,生成對應的頁 面腳本的時間戳信息。所述時間戳配置設備根據(jù)所述頁面腳本發(fā)布通知消息,生成對應的頁面腳本的時 間戳信息,具體包括所述時間戳配置設備根據(jù)接收到的所述頁面腳本發(fā)布通知消息,獲取所述頁面腳 本服務器向所述應用服務器發(fā)布的頁面腳本的名稱信息和發(fā)布時間;所述時間戳配置設備根據(jù)所述名稱信息和發(fā)布時間,生成對應的頁面腳本的時間
誠fe息。優(yōu)選的,所述時間戳配置設備根據(jù)所述名稱信息和發(fā)布時間,生成對應的頁面腳 本的時間戳信息,具體包括所述時間戳配置設備根據(jù)所述名稱信息和發(fā)布時間,生成對應的頁面腳本的時間 戳緩存信息;所述時間戳配置設備對所述頁面腳本的時間戳緩存信息與所述頁面腳本最近的 時間戳替換時間進行比較,進行時間更新合法性的驗證;當所述時間戳配置設備確定所述頁面腳本的時間戳緩存信息所對應的時間晚于 所述頁面腳本最近的時間戳替換時間時,對所述時間戳緩存信息進行持久化轉(zhuǎn)化,生成對 應的頁面腳本的時間戳信息,當所述時間戳配置設備確定所述頁面腳本的時間戳緩存信息 所對應的時間早于所述頁面腳本最近的時間戳替換時間時,丟棄所述時間戳緩存信息。其中,需要進一步指出的是,上述的持久化轉(zhuǎn)化實際上就是對時間戳進行瞬時狀 態(tài)到持久狀態(tài)的轉(zhuǎn)化,持久數(shù)據(jù)其實就是將數(shù)據(jù)保存到數(shù)據(jù)庫中相應的存儲位置。數(shù)據(jù)持久化就是將內(nèi)存中的數(shù)據(jù)模型轉(zhuǎn)換為存儲模型,以及將存儲模型轉(zhuǎn)換為內(nèi) 存中的數(shù)據(jù)模型的統(tǒng)稱,數(shù)據(jù)模型可以是任何數(shù)據(jù)結(jié)構(gòu)或?qū)ο竽P?,存儲模型可以是關(guān)系 模型、XML、二進制流等,cmp和Hibernate只是對象模型到關(guān)系模型之間轉(zhuǎn)換的不同實現(xiàn)?!俺志没边@個概念是和“暫時”等概念相對的,數(shù)據(jù)在計算機中有一般有兩個存儲 地,內(nèi)存為暫存,因為電源關(guān)機就會數(shù)據(jù)丟失,如果需要反復使用,就要持久保存,實現(xiàn)持久 化了。相應的,時間戳配置設備最初接收到的頁面腳本的時間戳緩存信息是瞬時狀態(tài), 只是存儲在緩存中,當確定該頁面腳本的時間戳緩存信息所對應的時間晚于該頁面腳本最 近的時間戳替換時間時,判斷該時間戳緩存信息有效,需要進行具體的存儲,因此,需要進 行持久化轉(zhuǎn)化,即將該信息存儲到數(shù)據(jù)庫中相應的位置,以備調(diào)用,其中,如果相應位置已 經(jīng)存儲了其他時間戳數(shù)據(jù),則進行相應的覆蓋,完成時間戳信息的更新。其中,所述時間戳配置設備,具體包括配置服務器發(fā)布頁面和配置服務器,所述配 置服務器發(fā)布頁面根據(jù)所述名稱信息和發(fā)布時間,生成對應的頁面腳本的時間戳緩存信 息,并將所述時間戳緩存信息發(fā)送給配置服務器,由所述配置服務器對所述時間戳緩存信 息進行時間更新合法性的驗證,并在驗證成功時,將所述頁面腳本的時間戳緩存信息進行 持久化轉(zhuǎn)化,生成對應的頁面腳本的時間戳信息。
步驟S103、所述時間戳配置設備將所述頁面腳本的時間戳信息發(fā)送給所述頁面腳 本所對應的應用服務器。步驟S104、所述應用服務器根據(jù)預設的驗證規(guī)則對接收到的時間戳信息進行合法 性驗證。當所述合法性驗證失敗時,執(zhí)行步驟S105 ;當所述合法性驗證成功時,執(zhí)行步驟S106。步驟S105、所述應用服務器丟棄所述接收到的時間戳信息;步驟S106、所述應用服務器根據(jù)所述時間戳信息中所攜帶的頁面腳本的名稱信息 確定需要更新時間戳信息的頁面腳本,并按照所述時間戳信息中所攜帶的發(fā)布時間,更新 所述需要更新時間戳信息的頁面腳本所對應的時間戳信息。與現(xiàn)有技術(shù)相比,本申請實施例具有以下優(yōu)點通過應用本申請實施例所提出的技術(shù)方案,可以實現(xiàn)頁面腳本的時間戳信息動態(tài) 修改過程,使得前端開發(fā)工程師、后端開發(fā)工程師以及配置管理員,都不必去關(guān)注和時間戳 相關(guān)的問題,只要發(fā)布了新的javascript,網(wǎng)站的頁面中對該javascript引用的時間戳會 自動更新到最新。為了實現(xiàn)本申請實施例的技術(shù)方案,本申請實施例還提出了一種頁面腳本發(fā)布系 統(tǒng),其結(jié)構(gòu)示意圖如圖2所示,包括頁面腳本服務器21、時間戳配置設備22和應用服務器 23。所述頁面腳本服務器21,用于向所述應用服務器23發(fā)布頁面腳本,并在向所述時 間戳配置設備22發(fā)送頁面腳本發(fā)布通知消息,其具體結(jié)構(gòu)如圖3所示,包括發(fā)布模塊31,用于向所述應用服務器發(fā)布頁面腳本,并記錄所述頁面腳本的名稱 信息和發(fā)布時間;生成模塊32,與所述生成模塊31相連接,用于根據(jù)所述發(fā)布模塊31所發(fā)布的頁面 腳本的名稱信息和發(fā)布時間,生成相對應的頁面腳本發(fā)布通知消息;通知模塊33,與所述生成模塊32相連接,用于向所述時間戳配置設備發(fā)送所述生 成模塊32所生成的頁面腳本發(fā)布通知消息。在具體的應用場景中,所述頁面腳本服務器還包括設置模塊34,與所述發(fā)布模塊 31和所述通知模塊33相連接,用于設定響應時間,在所述發(fā)布模塊31向所述應用服務器發(fā) 布頁面腳本之后的預設響應時間范圍內(nèi),通知所述通知模塊33向所述時間戳配置設備發(fā) 送所述生成模塊所生成的頁面腳本發(fā)布通知消息。所述時間戳配置設備22,與所述頁面腳本服務器21相連接,用于接收所述頁面腳 本服務器21所發(fā)送的頁面腳本發(fā)布通知消息,根據(jù)所述頁面腳本發(fā)布通知消息,生成對應 的頁面腳本的時間戳信息,并發(fā)送給所述頁面腳本所對應的應用服務器23,其結(jié)構(gòu)示意圖 如圖4所示,包括接收模塊41,用于接收所述頁面腳本服務器21所發(fā)送的頁面腳本發(fā)布通知消息;生成模塊42,與所述接收模塊41相連接,用于根據(jù)所述接收模塊41所接收到的頁 面腳本發(fā)布通知消息,生成對應的頁面腳本的時間戳信息,具體包括獲取子模塊421,用于根據(jù)所述接收模塊41所接收到的所述頁面腳本發(fā)布通知消 息,獲取所述頁面腳本服務器21向所述應用服務器23發(fā)布的頁面腳本的名稱信息和發(fā)布時間;生成子模塊422,與所述獲取子模塊421相連接,用于根據(jù)所述獲取子模塊所獲取 的名稱信息和發(fā)布時間,生成對應的頁面腳本的時間戳信息。發(fā)送模塊43,與所述生成模塊42相連接,用于將所述生成模塊42所生成的頁面腳 本的時間戳信息發(fā)送給所述頁面腳本所對應的應用服務器23,并在所述應用服務器對所述 時間戳信息驗證成功后,由所述應用服務器23將按照所述時間戳信息對對應的頁面腳本 進行時間戳信息的更新。在具體的應用場景中,如圖5所示,所述時間戳配置設備22具體包括配置服務器 發(fā)布頁面51和配置服務器52。其中,所述配置服務器發(fā)布頁面51根據(jù)所述名稱信息和發(fā)布時間,生成對應的頁 面腳本的時間戳緩存信息,并將所述時間戳緩存信息發(fā)送給配置服務器52 ;所述配置服務器52對所述配置服務器發(fā)布頁面51發(fā)送的頁面腳本的時間戳緩存 信息與所述頁面腳本最近的時間戳替換時間進行比較,進行時間更新合法性的驗證。當所述配置服務器52確定所述頁面腳本的時間戳緩存信息所對應的時間晚于所 述頁面腳本最近的時間戳替換時間時,對所述時間戳緩存信息進行持久化轉(zhuǎn)化,生成對應 的頁面腳本的時間戳信息;當所述配置服務器52確定所述頁面腳本的時間戳緩存信息所對應的時間早于所 述頁面腳本最近的時間戳替換時間時,丟棄所述時間戳緩存信息。所述應用服務器23,與所述頁面腳本服務器21和所述時間戳配置設備22相連接, 用于接收所述頁面腳本服務器21所發(fā)布的頁面腳本,和所述時間戳配置設備22所發(fā)送的 時間戳信息,并對接收到的時間戳信息進行合法性驗證,根據(jù)驗證結(jié)果進行頁面腳本所對 應的時間戳信息的處理。在具體的應用場景中,所述應用服務器23根據(jù)驗證結(jié)果進行頁面腳本所對應的 時間戳信息的處理,具體包括當所述應用服務器23所進行的合法性驗證失敗時,丟棄所述接收到的時間戳信 息-M,當所述應用服務器23所進行的合法性驗證成功時,根據(jù)所述時間戳信息中所攜 帶的頁面腳本的名稱信息確定需要更新時間戳信息的頁面腳本,并按照所述時間戳信息中 所攜帶的發(fā)布時間,更新所述需要更新時間戳信息的頁面腳本所對應的時間戳信息。基于上述技術(shù)思路,應用服務器23的結(jié)構(gòu)圖如圖6所示,具體包括以下模塊接收模塊61,用于接收所述頁面腳本服務器21所發(fā)布的頁面腳本,和所述時間戳 配置設備22所發(fā)送的時間戳信息;驗證模塊62,與所述接收模塊61相連接,用于根據(jù)預設的驗證規(guī)則對所述接收模 塊61所接收到的時間戳信息進行合法性驗證;處理模塊63,與所述驗證模塊62相連接,用于當所述驗證模塊62所進行的合法性 驗證失敗時,丟棄所述接收到的時間戳信息,或當所述驗證模塊62所進行的合法性驗證成 功時,根據(jù)所述時間戳信息中所攜帶的頁面腳本的名稱信息確定需要更新時間戳信息的頁 面腳本,并按照所述時間戳信息中所攜帶的發(fā)布時間,更新所述需要更新時間戳信息的頁 面腳本所對應的時間戳信息。
進一步的,所述應用服務器23還包括設置模塊64,與所述驗證模塊62相連接,用于設定驗證規(guī)則,使所述驗證模塊62 根據(jù)所述驗證規(guī)則對所述接收模塊61所接收到的時間戳信息進行合法性驗證;其中,所述驗證規(guī)則包括根據(jù)所述時間戳信息中所包含的名稱信息和/或發(fā)布時 間對所述接收模塊所接收到的時間戳信息進行合法性驗證。與現(xiàn)有技術(shù)相比,本申請實施例具有以下優(yōu)點通過應用本申請實施例所提出的技術(shù)方案,可以實現(xiàn)頁面腳本的時間戳信息動態(tài) 修改過程,使得前端開發(fā)工程師、后端開發(fā)工程師以及配置管理員,都不必去關(guān)注和時間戳 相關(guān)的問題,只要發(fā)布了新的javascript,網(wǎng)站的頁面中對該javascript引用的時間戳會 自動更新到最新。下面,進一步結(jié)合具體的示例,對本申請實施例的技術(shù)方案進行說明。步驟S701、assets發(fā)布服務器發(fā)布assets文件。步驟S702、assets發(fā)布服務器記錄發(fā)布的assets文件的文件名稱和發(fā)布日期,即 通過perl腳本在發(fā)布assets的時候生成原始的時間戳數(shù)據(jù)。時間戳數(shù)據(jù)的生成過程如下時間戳數(shù)據(jù)在發(fā)布assets文件時產(chǎn)生的,使用perl腳本生成該數(shù)據(jù),然后以http 接口的形式對外提供訪問,提供Json格式的數(shù)據(jù),如
{
"time_stamp" "2009091413 3 5 “, "file_names":[
{"file_name" "app/tc/detail.js"}, {“file_name"“app/tc/d etail.css"}步驟S703、在assets文件發(fā)布完成之后,assets發(fā)布服務器等待10分鐘之后,將 assets發(fā)布的時間戳信息通知configUI。時間戳數(shù)據(jù)的發(fā)布過程如下Assets文件發(fā)布之后,等待10分鐘,確保線上的機器已經(jīng)全部發(fā)布完成,之后 請求configUI公開的servlet接口,configUI根據(jù)之前約定的用戶名和密碼進行驗證, 通過驗證之后,再去請求assets發(fā)布腳本公開的http的接口,將數(shù)據(jù)包裝之后發(fā)布到 ConfigServer0需要指出的是,上述的10分鐘只是本申請中所給有的一種時間示例,其他可以達 到相同技術(shù)效果的時間數(shù)值也可以應用于此處,具體時間長度的變化并不影響本發(fā)明的保 護范圍。步驟S704、configUI主動調(diào)用perl腳本公開出來的http接口,獲取到時間戳的 json數(shù)據(jù)。
步驟S705、configUI根據(jù)這些數(shù)據(jù)組成configkrver的數(shù)據(jù)結(jié)構(gòu),發(fā)布到 configServer。步驟S706、configServer接收到時間戳數(shù)據(jù)后,完成時間戳信息的合法性判斷, 并在該時間戳信息合法時,對該時間戳信息進行持久化轉(zhuǎn)化。所謂合法性判斷,即確定該時間戳信息所對應的時間是否晚于所對應的頁面腳本 的最近的時間戳替換時間,如果晚于,則判斷該時間戳信息合法,并將該時間戳信息轉(zhuǎn)化為 持久數(shù)據(jù)。步驟S707、COnfigSerVer將接收到的數(shù)據(jù)通知到各個訂閱了該數(shù)據(jù)的appServer 機器上。步驟S708、各個appServer檢驗該時間戳信息是否合法。如果不合法,則執(zhí)行步驟S711 ;如果合法,則執(zhí)行步驟S709。步驟S709、根據(jù)合法數(shù)據(jù)進行本地緩存數(shù)據(jù)的更新。步驟S710、將相應的信息進行持久化轉(zhuǎn)化,并根據(jù)相應的數(shù)據(jù)對本地信息進行更 新,這樣就完成了時間戳數(shù)據(jù)的自動更新。上述的步驟S707至步驟S710即時間戳數(shù)據(jù)的更新過程Configkrver收到最新的數(shù)據(jù)之后會將數(shù)據(jù)推送到注冊時間戳更新的各個 appServer上,appServer收到最新的時間戳數(shù)據(jù)之后,做一下校驗,如果新的時間要比本 地的時間新,則將該最新的時間替換本地內(nèi)存的時間,同時保存一份到磁盤上。在相應的時間戳信息更新完畢后,頁面訪問過程如下在服務端渲染生成html的時候,會根據(jù)需要渲染的assets文件的路徑名生成最 新的時間戳,這樣就能保證用戶訪問的assets腳本是最新的。步驟S711、拋棄不合法的時間戳信息。與現(xiàn)有技術(shù)相比,本申請實施例具有以下優(yōu)點通過應用本申請實施例所提出的技術(shù)方案,可以實現(xiàn)頁面腳本的時間戳信息動態(tài) 修改過程,使得前端開發(fā)工程師、后端開發(fā)工程師以及配置管理員,都不必去關(guān)注和時間戳 相關(guān)的問題,只要發(fā)布了新的javascript,網(wǎng)站的頁面中對該javascript引用的時間戳會 自動更新到最新。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請實施例 可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理 解,本申請實施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一 個非易失性存儲介質(zhì)(可以是⑶-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺 計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本申請實施例各個實施場 景所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施場景的示意圖,附圖中的模塊或 流程并不一定是實施本申請實施例所必須的。本領(lǐng)域技術(shù)人員可以理解實施場景中的裝置中的模塊可以按照實施場景描述進 行分布于實施場景的裝置中,也可以進行相應變化位于不同于本實施場景的一個或多個裝 置中。上述實施場景的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
上述本申請實施例序號僅僅為了描述,不代表實施場景的優(yōu)劣。以上公開的僅為本申請實施例的幾個具體實施場景,但是,本申請實施例并非局 限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應落入本申請實施例的保護范圍。
權(quán)利要求
1.一種頁面腳本時間戳的修改方法,其特征在于,應用于包括頁面腳本服務器、時間戳 配置設備和應用服務器的系統(tǒng)中,所述頁面腳本服務器向所述應用服務器發(fā)布頁面腳本, 并向所述時間戳配置設備發(fā)送頁面腳本發(fā)布通知消息,所述方法具體包括以下步驟所述時間戳配置設備接收所述頁面腳本服務器所發(fā)送的頁面腳本發(fā)布通知消息;所述時間戳配置設備根據(jù)所述頁面腳本發(fā)布通知消息,生成對應的頁面腳本的時間戳 fn息;所述時間戳配置設備將所述頁面腳本的時間戳信息發(fā)送給所述頁面腳本所對應的應 用服務器,并在所述應用服務器對所述時間戳信息驗證成功后,由所述應用服務器按照所 述時間戳信息對對應的頁面腳本進行時間戳信息的更新。
2.如權(quán)利要求1所述的方法,其特征在于,所述頁面腳本服務器向所述應用服務器發(fā) 布頁面腳本,并向所述時間戳配置設備發(fā)送頁面腳本發(fā)布通知消息,具體包括所述頁面腳本服務器向所述應用服務器發(fā)布頁面腳本,并記錄所述頁面腳本的名稱信 息和發(fā)布時間;所述頁面腳本服務器根據(jù)所述頁面腳本的名稱信息和發(fā)布時間,生成相對應的頁面腳 本發(fā)布通知消息;所述頁面腳本服務器在向所述應用服務器發(fā)布頁面腳本之后的預設響應時間范圍內(nèi), 向所述時間戳配置設備發(fā)送頁面腳本發(fā)布通知消息。
3.如權(quán)利要求2所述的方法,其特征在于,所述時間戳配置設備根據(jù)所述頁面腳本發(fā) 布通知消息,生成對應的頁面腳本的時間戳信息,具體包括所述時間戳配置設備根據(jù)接收到的所述頁面腳本發(fā)布通知消息,獲取所述頁面腳本服 務器向所述應用服務器發(fā)布的頁面腳本的名稱信息和發(fā)布時間;所述時間戳配置設備根據(jù)所述名稱信息和發(fā)布時間,生成對應的頁面腳本的時間戳信肩、ο
4.如權(quán)利要求3所述的方法,其特征在于,所述時間戳配置設備根據(jù)所述名稱信息和 發(fā)布時間,生成對應的頁面腳本的時間戳信息,具體包括所述時間戳配置設備根據(jù)所述名稱信息和發(fā)布時間,生成對應的頁面腳本的時間戳緩存信息;所述時間戳配置設備對所述頁面腳本的時間戳緩存信息與所述頁面腳本最近的時間 戳替換時間進行比較,進行時間更新合法性的驗證;當所述時間戳配置設備確定所述頁面腳本的時間戳緩存信息所對應的時間晚于所述 頁面腳本最近的時間戳替換時間時,對所述時間戳緩存信息進行持久化轉(zhuǎn)化,生成對應的 頁面腳本的時間戳信息,當所述時間戳配置設備確定所述頁面腳本的時間戳緩存信息所對 應的時間早于所述頁面腳本最近的時間戳替換時間時,丟棄所述時間戳緩存信息。
5.如權(quán)利要求4所述的方法,其特征在于,所述時間戳配置設備,具體包括配置服務器 發(fā)布頁面和配置服務器,其中,所述配置服務器發(fā)布頁面根據(jù)所述名稱信息和發(fā)布時間,生成對應的頁面腳本 的時間戳緩存信息,并將所述時間戳緩存信息發(fā)送給配置服務器,由所述配置服務器對所 述時間戳緩存信息進行時間更新合法性的驗證,并在驗證成功時,將所述頁面腳本的時間 戳緩存信息進行持久化轉(zhuǎn)化,生成對應的頁面腳本的時間戳信息。
6.如權(quán)利要求1至3中任意一項所述的方法,其特征在于,所述時間戳配置設備將所述 頁面腳本的時間戳信息發(fā)送給所述頁面腳本所對應的應用服務器之后,還包括所述應用服務器根據(jù)預設的驗證規(guī)則對接收到的時間戳信息進行合法性驗證; 當所述合法性驗證失敗時,所述應用服務器丟棄所述接收到的時間戳信息; 當所述合法性驗證成功時,所述應用服務器根據(jù)所述時間戳信息中所攜帶的頁面腳本 的名稱信息確定需要更新時間戳信息的頁面腳本,并按照所述時間戳信息中所攜帶的發(fā)布 時間,更新所述需要更新時間戳信息的頁面腳本所對應的時間戳信息。
7.一種時間戳配置設備,其特征在于,應用于包括頁面腳本服務器、時間戳配置設備和 應用服務器的系統(tǒng)中,所述頁面腳本服務器向所述應用服務器發(fā)布頁面腳本,并向所述時 間戳配置設備發(fā)送頁面腳本發(fā)布通知消息,具體包括接收模塊,用于接收所述頁面腳本服務器所發(fā)送的頁面腳本發(fā)布通知消息; 生成模塊,與所述接收模塊相連接,用于根據(jù)所述接收模塊所接收到的頁面腳本發(fā)布 通知消息,生成對應的頁面腳本的時間戳信息;發(fā)送模塊,與所述生成模塊相連接,用于將所述生成模塊所生成的頁面腳本的時間戳 信息發(fā)送給所述頁面腳本所對應的應用服務器,并在所述應用服務器對所述時間戳信息驗 證成功后,由所述應用服務器按照所述時間戳信息對對應的頁面腳本進行時間戳信息的更 新。
8.如權(quán)利要求7所述的時間戳配置設備,其特征在于,所述生成模塊,具體包括獲取子模塊,用于根據(jù)所述接收模塊所接收到的所述頁面腳本發(fā)布通知消息,獲取所 述頁面腳本服務器向所述應用服務器發(fā)布的頁面腳本的名稱信息和發(fā)布時間;生成子模塊,與所述獲取子模塊相連接,用于根據(jù)所述獲取子模塊所獲取的名稱信息 和發(fā)布時間,生成對應的頁面腳本的時間戳信息。
9.如權(quán)利要求7所述的時間戳配置設備,其特征在于,具體包括配置服務器發(fā)布頁面 和配置服務器,其中,所述配置服務器發(fā)布頁面根據(jù)所述名稱信息和發(fā)布時間,生成對應的頁面腳本 的時間戳緩存信息,并將所述時間戳緩存信息發(fā)送給配置服務器;所述配置服務器對所述配置服務器發(fā)布頁面發(fā)送的頁面腳本的時間戳緩存信息與所 述頁面腳本最近的時間戳替換時間進行比較,進行時間更新合法性的驗證,當所述配置服 務器確定所述頁面腳本的時間戳緩存信息所對應的時間晚于所述頁面腳本最近的時間戳 替換時間時,對所述時間戳緩存信息進行持久化轉(zhuǎn)化,生成對應的頁面腳本的時間戳信息, 當所述配置服務器確定所述頁面腳本的時間戳緩存信息所對應的時間早于所述頁面腳本 最近的時間戳替換時間時,丟棄所述時間戳緩存信息。
10.一種頁面腳本服務器,其特征在于,應用于包括頁面腳本服務器、時間戳配置設備 和應用服務器的系統(tǒng)中,具體包括發(fā)布模塊,用于向所述應用服務器發(fā)布頁面腳本,并記錄所述頁面腳本的名稱信息和 發(fā)布時間;生成模塊,與所述生成模塊相連接,用于根據(jù)所述發(fā)布模塊所發(fā)布的頁面腳本的名稱 信息和發(fā)布時間,生成相對應的頁面腳本發(fā)布通知消息;通知模塊,與所述生成模塊相連接,用于向所述時間戳配置設備發(fā)送所述生成模塊所生成的頁面腳本發(fā)布通知消息。
11.如權(quán)利要求10所述的頁面腳本服務器,其特征在于,還包括設置模塊,與所述發(fā)布 模塊和所述通知模塊相連接,用于設定響應時間,在所述發(fā)布模塊向所述應用服務器發(fā)布 頁面腳本之后的預設響應時間范圍內(nèi),通知所述通知模塊向所述時間戳配置設備發(fā)送所述 生成模塊所生成的頁面腳本發(fā)布通知消息。
12.—種應用服務器,其特征在于,應用于包括頁面腳本服務器、時間戳配置設備和應 用服務器的系統(tǒng)中,具體包括接收模塊,用于接收所述頁面腳本服務器所發(fā)布的頁面腳本,和所述時間戳配置設備 所發(fā)送的時間戳信息;驗證模塊,與所述接收模塊相連接,用于根據(jù)預設的驗證規(guī)則對所述接收模塊所接收 到的時間戳信息進行合法性驗證;處理模塊,與所述驗證模塊相連接,用于當所述驗證模塊所進行的合法性驗證失敗時, 丟棄所述接收到的時間戳信息,或當所述驗證模塊所進行的合法性驗證成功時,根據(jù)所述 時間戳信息中所攜帶的頁面腳本的名稱信息確定需要更新時間戳信息的頁面腳本,并按照 所述時間戳信息中所攜帶的發(fā)布時間,更新所述需要更新時間戳信息的頁面腳本所對應的 時間戳信息。
13.如權(quán)利要求12所述的應用服務器,其特征在于,還包括設置模塊,與所述驗證模塊相連接,用于設定驗證規(guī)則,使所述驗證模塊根據(jù)所述驗證 規(guī)則對所述接收模塊所接收到的時間戳信息進行合法性驗證;其中,所述驗證規(guī)則包括根據(jù)所述時間戳信息中所包含的名稱信息和/或發(fā)布時間對 所述接收模塊所接收到的時間戳信息進行合法性驗證。
14.一種頁面腳本發(fā)布系統(tǒng),其特征在于,包括頁面腳本服務器、時間戳配置設備和應 用服務器,其中所述頁面腳本服務器,用于向所述應用服務器發(fā)布頁面腳本,并在向所述時間戳配置 設備發(fā)送頁面腳本發(fā)布通知消息;所述時間戳配置設備,與所述頁面腳本服務器相連接,用于接收所述頁面腳本服務器 所發(fā)送的頁面腳本發(fā)布通知消息,根據(jù)所述頁面腳本發(fā)布通知消息,生成對應的頁面腳本 的時間戳信息,并發(fā)送給所述頁面腳本所對應的應用服務器;所述應用服務器,與所述頁面腳本服務器和所述時間戳配置設備相連接,用于接收所 述頁面腳本服務器所發(fā)布的頁面腳本,和所述時間戳配置設備所發(fā)送的時間戳信息,并對 接收到的時間戳信息進行合法性驗證,根據(jù)驗證結(jié)果進行頁面腳本所對應的時間戳信息的 處理。
15.如權(quán)利要求14所述的頁面腳本發(fā)布系統(tǒng),其特征在于,所述應用服務器根據(jù)驗證 結(jié)果進行頁面腳本所對應的時間戳信息的處理,具體包括當所述應用服務器所進行的合法性驗證失敗時,丟棄所述接收到的時間戳信息;或,當所述應用服務器所進行的合法性驗證成功時,根據(jù)所述時間戳信息中所攜帶的頁面 腳本的名稱信息確定需要更新時間戳信息的頁面腳本,并按照所述時間戳信息中所攜帶的 發(fā)布時間,更新所述需要更新時間戳信息的頁面腳本所對應的時間戳信息。
全文摘要
本申請實施例公開了一種頁面腳本時間戳的修改方法、設備和系統(tǒng),通過應用本申請實施例所提出的技術(shù)方案,可以實現(xiàn)頁面腳本的時間戳信息動態(tài)修改過程,使得前端開發(fā)工程師、后端開發(fā)工程師以及配置管理員,都不必去關(guān)注和時間戳相關(guān)的問題,只要發(fā)布了新的javascript,網(wǎng)站的頁面中對該javascript引用的時間戳會自動更新到最新。
文檔編號G06F17/30GK102096584SQ20091026032
公開日2011年6月15日 申請日期2009年12月15日 優(yōu)先權(quán)日2009年12月15日
發(fā)明者李委, 潘寶坤, 艾樂強, 蔣志強, 諸葛策 申請人:阿里巴巴集團控股有限公司