本發明專利技術提供了一種游戲服務器數據庫緩存方法及系統,涉及服務器數據緩存領域。該方法包括:邏輯服務器接收調取請求,向數據緩存服務器發出調取指令;數據緩存服務器接收調取指令,如果數據緩存服務器中沒有對應的數據,則向存儲有游戲數據的游戲數據庫服務器請求調取表結構以及相應數據,請求返回后,模擬游戲數據庫服務器中的表結構和操作,緩存相應數據;如果數據緩存服務器中有對應的數據,則直接向邏輯服務器發回相應數據;邏輯服務器接收發回的相應數據,模擬游戲數據庫服務器中的表結構和操作,緩存相應數據。其使存儲和讀取更加清晰明了,不容易出bug,且數據管理更有序,更符合數據庫開發人員的開發習慣。
【技術實現步驟摘要】
本專利技術涉及服務器數據緩存領域,特別是涉及一種游戲服務器數據庫緩存方法及系統。
技術介紹
在游戲邏輯服務器中,當需要訪問某些邏輯服務器上沒有的數據時,需要發請求給游戲數據庫服務器,然后需要把游戲數據庫服務器讀出的數據打成二進制數據包,然后傳送到相應的邏輯服務器中,并且需要把這個二進制包通過解析成相應的數據結構,這個數據結構一般是類或者結構體,和數據庫的結構并不相同,查找時通過類或者結構體的接口來訪問相應的數據。當這些屬性改變以后再打包成二進制數據傳送給游戲數據庫服務器進行存儲操作。這樣的方式在存取和解析數據時對于和數據庫打交道的程序員來說并不直觀,需要在數據庫字段和服務器上數據結構中轉換,甚至經常有多重轉換,會導致轉換過程復雜,并經常產生bug,讀取和存儲的時候還需要再寫相應的接口,開發效率低下。
技術實現思路
本專利技術的一個目的是要提供一種便捷的游戲服務器數據庫緩存方法及系統,使得傳遞到邏輯服務器的數據無須經過多層轉換,提高運行和開發效率。特別地,本專利技術提供了一種游戲服務器數據庫緩存方法,包括:邏輯服務器接收調取請求,向數據緩存服務器發出調取指令;數據緩存服務器接收所述調取指令,如果所述數據緩存服務器中沒有對應的數據,則向存儲有游戲數據的游戲數據庫服務器請求調取表結構以及相應數據,請求返回后,模擬游戲數據庫服務器中的表結構和操作,緩存相應數據;如果所述數據緩存服務器中有對應的數據,則直接向邏輯服務器發回相應數據;所述邏輯服務器接收發回的相應數據,模擬游戲數據庫服務器中的表結構和操作,緩存相應數據。可選地,所述方法還包括:在所述邏輯服務器上寫sql,然后在所述游戲數據庫服務器上執行。可選地,當需要更改某些字段數據時,在所述邏輯服務器上使用預先定義好的接口訪問和數據庫字段同名的屬性。可選地,所述邏輯服務器包括:處理游戲邏輯的游戲服務器和對玩家交互信息進行中轉控制的中心服務器。本專利技術還公開了一種游戲服務器數據庫緩存系統,包括:邏輯服務器,配置成:接收調取請求,發出調取指令;數據緩存服務器,配置成:數據緩存服務器接收所述調取指令,如果所述數據緩存服務器中沒有對應的數據,則向存儲有游戲數據的游戲數據庫服務器請求調取表結構以及相應數據,請求返回后,模擬游戲數據庫服務器中的表結構和操作,緩存相應數據;如果所述數據緩存服務器中有對應的數據,則直接向邏輯服務器發回相應數據;所述邏輯服務器還配置成:接收發回的所述相應數據,模擬游戲數據庫服務器中的表結構和操作,緩存相應數據。可選地,所述邏輯服務器還配置成:所述邏輯服務器還配置成:接收并模擬執行寫入的sql ;所述游戲數據庫服務器還配置成:在所述游戲數據庫服務器上實際執行所述sql ο可選地,所述邏輯服務器還配置成:當需要某些字段數據時,使用預先定義好的接口訪問和數據庫字段同名的屬性。可選地,所述邏輯服務器包括:處理游戲邏輯的游戲服務器和對玩家交互信息進行中轉控制的中心服務器。本專利技術的方法由于在邏輯服務器接收到調取請求后,向數據緩存服務器發出調取指令,數據緩存服務器根據調取指令向邏輯服務器發回其數據庫表結構以及相應數據,因此實現了類似模擬數據庫前端的數據結構放在邏輯服務器中,通過映射數據庫字段的類型和名字,使其在邏輯服務器內部訪問這個數據的時候可以直接使用數據庫字段的類型和名字,以及相應的sql來訪問,程序中也實現了在邏輯服務器上執行sql指令,同時在數據庫中也相對應執行這個指令的機制。并且,在和數據庫緩存服務器以及數據庫服務器通訊時采用這套數據結構提供的接口,使存儲和讀取更加清晰明了,不容易出bug,且數據管理更有序,更符合數據庫開發人員的開發習慣。根據下文結合附圖對本專利技術具體實施例的詳細描述,本領域技術人員將會更加明了本專利技術的上述以及其他目的、優點和特征。【附圖說明】后文將參照附圖以示例性而非限制性的方式詳細描述本專利技術的一些具體實施例。附圖中相同的附圖標記標示了相同或類似的部件或部分。本領域技術人員應該理解,這些附圖未必是按比例繪制的。附圖中:圖1是根據本專利技術一個實施例的游戲服務器數據庫緩存方法的流程圖;圖2是根據本專利技術一個實施例的游戲服務器數據庫緩存系統的框圖。【具體實施方式】下面將參照附圖更詳細地描述本專利技術的示例性實施例。雖然附圖中顯示了本專利技術的示例性實施例,然而應當理解,可以以各種形式實現本專利技術而不應該被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠透徹地理解本專利技術,并且能夠將本專利技術的范圍完整的傳達給本領域的技術人員。在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基于在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本專利技術也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現在此描述的本專利技術的內容,并且上面對特定語言所做的描述是為了披露本專利技術的最佳實施方式。在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本專利技術的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。圖1是根據本專利技術一個實施例的游戲服務器數據庫緩存方法的流程圖。在圖1所示的實施例中,首先執行步驟10,邏輯服務器接收調取請求,向數據緩存服務器發出調取指令。然后執行步驟20,數據緩存服務器接收所述調取指令,如果所述數據緩存服務器中沒有對應的數據,則執行步驟50,如果所述數據緩存服務器中沒有對應的數據,則向存儲有游戲數據的游戲數據庫服務器請求調取表結構以及相應數據,請求返回后,模擬游戲數據庫服務器中的表結構和操作,緩存相應數據。如果有,則執行步驟30,直接向邏輯服務器發回相應數據。在步驟30后,執行步驟40,所述邏輯服務器接收發回的相應數據,模擬游戲數據庫服務器中的表結構和操作,緩存相應數據。此處的邏輯服務器包括處理游戲邏輯的游戲服務器和對玩家交互信息進行中轉控制的中心服務器。在本專利技術的一個實施例中,還可以在邏輯服務器上寫sql,然后在游戲數據庫服務器上執行,這樣也好像是直接在數據庫里面執行sql —樣。。當需要更改某些字段數據時,在邏輯服務器上使用預先定義好的接口訪問和數據庫字段同名的屬性。這就像是在邏輯服務器上直接訪問數據庫中的字段一樣,或者說,就好像直接操作數據庫相應字段一樣。圖2是根據本專利技術一個實施例的游戲服務器數據庫緩存系統的框圖。該系統至少可包括游戲數據庫服務器101、數據緩存服務器102、游戲服務器103、中心服務器104。游戲服務器103和中心服務器104可以統稱為邏輯服務器。邏輯服務器接收調取請求,發出調取指令;數據緩存服務器102接收所述調取指令,如果所述數據緩存服務器102中沒有對應的數據,則向存儲有游戲數據的游戲數據庫服務器101請求調取表結構以及相應數據,請求返回后,模擬游戲數據庫服務器101中的表結構和操作當前第1頁1 2 本文檔來自技高網...
【技術保護點】
一種游戲服務器數據庫緩存方法,其特征在于,包括:邏輯服務器接收調取請求,向數據緩存服務器發出調取指令;數據緩存服務器接收所述調取指令,如果所述數據緩存服務器中沒有對應的數據,則向存儲有游戲數據的游戲數據庫服務器請求調取表結構以及相應數據,請求返回后,模擬游戲數據庫服務器中的表結構和操作,緩存相應數據;如果所述數據緩存服務器中有對應的數據,則直接向邏輯服務器發回相應數據;所述邏輯服務器接收發回的相應數據,模擬游戲數據庫服務器中的表結構和操作,緩存相應數據。
【技術特征摘要】
【專利技術屬性】
技術研發人員:常寧,
申請(專利權)人:北京樂動卓越信息技術有限公司,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。