一種遊戲業務邏輯引擎的開發方法及裝置製造方法
2023-05-21 09:08:36
一種遊戲業務邏輯引擎的開發方法及裝置製造方法
【專利摘要】本發明提出了一種遊戲業務邏輯引擎的開發方法,方法包括:將遊戲業務邏輯分析拆解,用一組含有變量的sql語句實現;循環遍歷該組sql語句,對每一條sql語句執行下一步驟;根據輸入參數和緩存信息替換當前sql語句中變量,判斷當前sql語句是否是讀指令,如是,查詢資料庫並從設置表中讀取需要的信息,並從中選擇重要列存入緩存;讀取下一條sql語句,繼續執行本步驟;否則,執行存儲事務,將信息寫入資料庫各個表的相關記錄中,將更新後的相關記錄存入緩存;讀取下一條sql語句,繼續執行本步驟。本發明還涉及一種實現上述方法的裝置。實施本發明的遊戲業務邏輯引擎的開發方法及裝置,具有以下有益效果:代碼量較少、節省內存。
【專利說明】—種遊戲業務邏輯引擎的開發方法及裝置
【技術領域】
[0001]本發明涉及業務邏輯開發領域,特別涉及一種遊戲業務邏輯引擎的開發方法及裝置。
【背景技術】
[0002]現有遊戲的業務邏輯引擎在伺服器端採用面向對象(Object Oriented)的軟體開發方法進行構建。其依賴於Spring框架(開源框架)、Hibernate框架(對象關係映射框架)等,代碼量較大,佔用內存多,從而導致系統運行效率較低,維護修改困難。此外,各個遊戲邏輯的關鍵點分布在不同的文件,模塊接口較多,各個模塊之間的聯調工作量大,造成管理不方便。許多成熟的遊戲開發系統,在系統後臺提供了很多參數設置選擇項,部分解決了不用修改代碼,就可以實現業務邏輯的變更,但是存在不夠靈活,參數項太多,管理不方便的情況。
【發明內容】
[0003]本發明要解決的技術問題在於,針對現有技術的上述代碼量較大、佔用內存多的缺陷,提供一種代碼量較少、節省內存的遊戲業務邏輯引擎的開發方法及裝置。
[0004]本發明解決其技術問題所採用的技術方案是:構造一種遊戲業務邏輯引擎的開發方法,包括如下步驟:
A)將遊戲業務邏輯分析拆解,用一組含有變量的sql(Structured Query Language,結構化查詢語言)語句來實現;
B)循環遍歷該組sql語句,對每一條sql語句執行步驟C);
C)根據輸入參數和緩存信息替換當前sql語句中的變量,判斷當前sql語句是否是讀指令,如是,執行步驟D);否則,執行步驟E);
D)查詢資料庫並從設置表中讀取所需要的信息,並根據參數從所述信息中選擇重要列存入緩存,供後續sql語句使用;然後讀取下一條sql語句,返回步驟C);
E)執行存儲事務,將信息寫入到資料庫各個表的相關記錄中,並將更新後的相關記錄存入緩存,供後續sql語句使用;然後讀取下一條sql語句,返回步驟C)。
[0005]在本發明所述的遊戲業務邏輯引擎的開發方法中,所述步驟D)進一步包括:
Dl)查詢資料庫,並讀取設置表中的格式化Sql編碼;所述格式化Sql編碼包括變量; D2)根據上下文數據和緩存信息替換所述格式化sql編碼中的變量;
D3)將替換變量後的sql編碼拼接成完整的sql語句;
D4)判斷所述sql語句是否正確,如是,執行步驟D5);否則,執行步驟D6);
D5)執行資料庫查詢並返回查詢結果;所述查詢結果為json類型的數據;
D6)返回出錯信息,退出資料庫查詢。
[0006]在本發明所述的遊戲業務邏輯引擎的開發方法中,所述步驟E)進一步包括:
El)判斷所述存儲事務中是否包含需要檢驗的欄位,如是,執行子查詢操作,並執行步驟E2);否則,不進行驗證;
E2)判斷子查詢結果與設定值是否匹配,如是,執行步驟E3);否則,存儲事務中斷,並將結果返回給用戶;
E3)進入向所述資料庫寫入信息的過程。
[0007]在本發明所述的遊戲業務邏輯引擎的開發方法中,所述步驟E3)進一步包括: E31)執行所述sql語句;
E32)判斷觸發條件是否成立,如是,觸發並將信息寫入資料庫後修改相關表格的相關記錄;否則,退出。
[0008]在本發明所述的遊戲業務邏輯引擎的開發方法中,所述信息包括欄位和欄位值,所述相關記錄包括欄位和欄位值。
[0009]本發明還涉及一種實現上述遊戲業務邏輯引擎的開發方法的裝置,包括:
業務邏輯實現單元:用於將遊戲業務邏輯分析拆解,用一組含有變量的sql語句來實
現;
遍歷單元:用於循環遍歷該組sql語句;
替換單元:用於根據輸入參數和緩存信息替換當前sql語句中的變量,判斷當前sql語句是否是讀指令;
查詢讀取單元:用於查詢資料庫並從設置表中讀取所需要的信息,並根據參數從所述信息中選擇重要列存入緩存,供後續sql語句使用;然後讀取下一條sql語句;
存儲事務執行單元:用於執行存儲事務,將信息寫入到資料庫各個表的相關記錄中,並將更新後的相關記錄存入緩存,供後續sql語句使用;然後讀取下一條sql語句。
[0010]在本發明所述的實現上述遊戲業務邏輯引擎的開發方法的裝置中,所述查詢讀取單元進一步包括:
編碼讀取模塊:用於查詢資料庫,並讀取設置表中的格式化Sql編碼;所述格式化sql編碼包括變量;
替換模塊:用於根據上下文數據和緩存信息替換所述格式化sql編碼中的變量;
拼接模塊:用於將替換變量後的sql編碼拼接成完整的sql語句;
語句判斷模塊:用於判斷所述sql語句是否正確;
返回模塊:用於執行資料庫查詢並返回查詢結果;所述查詢結果為json類型的數據; 退出模塊:用於返回出錯信息,退出資料庫查詢。
[0011]在本發明所述的實現上述遊戲業務邏輯引擎的開發方法的裝置中,所述存儲事務執行單元進一步包括:
欄位檢驗模塊:用於判斷所述存儲事務中是否包含需要檢驗的欄位,如是,執行子查詢操作;否則,不進行驗證;
匹配模塊:用於判斷子查詢結果與設定值是否匹配,並在不匹配時使存儲事務中斷,並將結果返回給用戶;
寫模塊:用於進入向所述資料庫寫入信息的過程。
[0012]在本發明所述的實現上述遊戲業務邏輯引擎的開發方法的裝置中,所述寫模塊進一步包括:
語句執行模塊:用於執行所述sql語句; 觸發判斷模塊:用於判斷觸發條件是否成立,如是,觸發並將信息寫入資料庫後修改相關表格的相關記錄;否則,退出。
[0013]在本發明所述的實現上述遊戲業務邏輯引擎的開發方法的裝置中,所述信息包括欄位和欄位值,所述相關記錄包括欄位和欄位值。
[0014]實施本發明的遊戲業務邏輯引擎的開發方法及裝置,具有以下有益效果:由於用一組含有變量的sql語句實現遊戲業務邏輯引擎;當收到讀指令時,查詢資料庫並從設置表中讀取所需要的信息;當收到寫指令時,執行存儲事務,將信息寫入到資料庫各個表的相關記錄中;其不需要創建類,從而就不需要類與資料庫之間的橋梁,所以其代碼量較少、節省內存。
【專利附圖】
【附圖說明】
[0015]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0016]圖1為本發明遊戲業務邏輯引擎的開發方法及裝置一個實施例中方法的流程圖; 圖2為所述實施例中查詢資料庫並從設置表中讀取所需要的信息的具體流程圖;
圖3為所述實施例中執行存儲事務,將信息寫入到資料庫各個表的相關記錄中的具體流程圖;
圖4為所述實施例中進入向資料庫寫入信息的過程的具體流程圖;
圖5為所述實施例中裝置的結構示意圖。
【具體實施方式】
[0017]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
[0018]在本發明遊戲業務邏輯引擎的開發方法及裝置實施例中,其遊戲業務邏輯引擎的開發方法的流程圖如圖1所示。圖1中,該遊戲業務邏輯引擎的開發方法包括如下步驟:
步驟SOl將遊戲業務邏輯分析拆解,用一組含有變量的sql語句來實現:本步驟中,將遊戲業務邏輯分析拆解,用一組含有變量的sql語句實現遊戲業務邏輯引擎。
[0019]步驟S02循環遍歷該組sql語句,對每一條sql語句執行步驟S03:本步驟中,循環遍歷該組sql語句,對每一條sql語句執行步驟S03。
[0020]步驟S03根據輸入參數和緩存信息替換當前sql語句中的變量,判斷當前sql語句是否是讀指令:本步驟中,根據輸入參數和緩存信息替換當前sql語句中的變量,並判斷當前sql語句是否是讀指令,如果判斷的結果為是,則執行步驟S04 ;否則,執行步驟S05。
[0021]步驟S04查詢資料庫並從設置表中讀取所需要的信息,並根據參數從信息中選擇重要列存入緩存,供後續sql語句使用;然後讀取下一條sql語句:如果上述步驟S03的判斷結果為是,則執行本步驟。本步驟中,查詢資料庫並從設置表中讀取所需要的信息,並根據參數從上述信息中選擇重要列,並將其存入緩存,以供後續sql語句使用;然後讀取下一條sql語句,即進行了讀取事務,執行完本步驟,返回步驟S03。
[0022]步驟S05執行存儲事務,將信息寫入到資料庫各個表的相關記錄中,並將更新後的相關記錄存入緩存,供後續sql語句使用;然後讀取下一條sql語句:如果上述步驟S03的判斷結果為否,則執行本步驟。本步驟中,執行存儲事務,將信息寫入到資料庫各個表的相關記錄中,並將更新後的相關記錄存入緩存,以供後續sql語句使用;然後讀取下一條sql語句。存儲事務就是向資料庫寫入信息或數據的操作。其中,上述信息包括欄位和欄位值,
上述各個表的相關記錄也包括欄位和欄位值。值得一提的是,執行完本步驟,返回步驟S03。由於不需要創建類,不需要類與資料庫之間的橋梁,其不再佔用內存,所以代碼量較少、節省了內存(即節省伺服器內存資源)。
[0023]對於本實施例而言,上述步驟S04還可進一步細化,其細化後的流程圖如圖2所示。圖2中,上述步驟S04進一步包括:
步驟S41查詢資料庫,並讀取設置表中的格式化sql編碼:本步驟中,查詢資料庫,並讀取設置表中的格式化sql編碼,上述格式化sql編碼包括變量。
[0024]步驟S42根據上下文數據和緩存信息替換格式化sql編碼中的變量:本步驟中,根據上下文數據和緩存信息,將格式化sql編碼中的變量進行替換掉。
[0025]步驟S43將替換變量後的sql編碼拼接成完整的sql語句:本步驟中,將替換變量後的sql編碼進行拼接,使其成為完整的sql語句。
[0026]步驟S44判斷上述sql語句是否正確:本步驟中,判斷上述sql語句是否正確,如果判斷的結果為是,則執行步驟S45 ;否則,執行步驟S46。
[0027]步驟S45執行資料庫查詢並返回查詢結果:如果上述步驟S44的判斷結果為是,SP上述sql語句是正確的,則執行本步驟。本步驟中,執行資料庫查詢並返回查詢結果,上述查詢結果為json類型的數據。
[0028]步驟S46返回出錯信息,退出資料庫查詢:如果上述步驟S44的判斷結果為否,即上述sql語句是錯誤的,則執行本步驟。本步驟中,返回出錯信息,退出資料庫查詢。
[0029]值得一提的是,由於許多遊戲邏輯設計複雜,存在多表關聯查詢情況。本發明可以在一次讀取事務中,同時查詢多個表及其各自的關聯子表,或同時按不同條件查詢同一表及其各自的關聯表,返回值為:指定分割符號的字符串,或json格式的字符串。其支持遠程跨域查詢。下面舉例來說明其具體配置方式:
galx:所屬子系統; cid:所屬模塊;
Ct:表名;對於同一表的多個查詢,可以用表名@1,表名@2......區分;
cq:查詢欄位;all等同於sql中的* ;
cw:查詢條件;等同sql中的where之後的語句;
cq, cw可使用變量,變量命名方式:{欄位名};變量根據上下文和相關記錄進行取值。
[0030]對於本實施例而言,上述步驟S05還可進一步細化,其細化後的流程圖如圖3所示。圖3中,上述步驟S05進一步包括:
步驟S51判斷存儲事務中是否包含需要檢驗的欄位:在進行寫入之前,首先要進行寫前檢驗。本步驟中,判斷存儲事務中是否包含需要檢驗的欄位,如果判斷的結果為是,即存儲事務中包含需要檢驗的欄位,則執行步驟S53 ;否則,執行步驟S52。
[0031]步驟S52不進行驗證:如果上述步驟S51的判斷結果為否,即存儲事務中沒有需要檢驗的欄位,則執行本步驟。本步驟中,不進行驗證,繼續執行存儲事務。
[0032]步驟S53執行子查詢操作:如果上述步驟S51的判斷結果為是,即執行本步驟。本步驟中,執行子查詢操作。執行完本步驟,執行步驟S54。
[0033]步驟S54判斷子查詢結果與設定值是否匹配:本步驟中,判斷子查詢結果與設定值是否匹配,如果判斷的結果為是,則執行步驟S56 ;否則,執行步驟S55。
[0034]步驟S55存儲事務中斷,並將結果返回給用戶:如果上述步驟S54的判斷結果為否,即子查詢結果與設定值不匹配,則執行本步驟。本步驟中,存儲事務中斷,不執行該存儲事務,將結果(中斷信息)返回給用戶。
[0035]步驟S56進入向資料庫寫入信息的過程:如果上述步驟S54的判斷結果為是,即子查詢結果與設定值匹配,則執行本步驟。本步驟中,進入向資料庫寫入信息的過程。
[0036]值得一提的是,每一次存儲事務可能涉及多個表,多行數據,並需要對某些存儲內容進行寫入前分析。下面舉例來說明寫入條件(wr)的實現的具體配置方式:
cta:分析的表名; ccl:分析欄位; cids:分析欄位值;
Cl:分析判斷條件;
c2:分析判斷結果;
clogic:分析判斷符(>、〈、=);
cts:分析判斷不成立時返回的信息;
cta:分析判斷記錄表名;
galx:所屬子系統。
[0037]當cta表發生存儲事務時,如果沒有對ccl欄位進行查詢則不驗證,存儲事務繼續。
如果有對ccl欄位進行查詢,則執行Cl查詢操作,其中Cl中存儲的是一個完整的sql查詢語句,直接執行Cl可得到查詢結果。如果該查詢結果與原先設定好的c2的關係是clogic時,則退出驗證,繼續執行存儲事務;如果該查詢結果與c2的關係不是clogic時,則存儲事務中斷,不執行該存儲事務,返回cts提示,其前端顯示cts中斷信息。
[0038]對於本實施例而言,上述步驟S56還可進一步細化,其細化後的流程圖如圖4所示。圖4中,上述步驟S56進一步包括:
步驟S561執行sql語句:本步驟中,執行上述sql語句。
[0039]步驟S562判斷觸發條件是否成立:本步驟中,判斷觸發條件是否成立,如果判斷的結果為是,則執行步驟S564 ;否則,執行步驟S563。
[0040]步驟S563退出:如果上述步驟S562的判斷結果為否,即觸發條件不成立,則執行本步驟。本步驟中,退出,不執行觸發。
[0041]步驟S564觸發並將信息寫入資料庫後修改相關表格的相關記錄:如果上述步驟S562的判斷結果為是,即觸發條件成立,則執行本步驟。本步驟中,執行觸發,並將信息寫入資料庫後修改相關表格的相關記錄。
[0042]值得一提的是,在觸發時,要用到觸發器,本實施例中,觸發器(tr)為循環觸發,下面舉例來說明其具體配置方式:
cta:觸發表名; ccl:觸發欄位; csql:關聯數據; ct:要更新的表名;
cq:更新欄位({x}字符等於csql查詢出來的數據); cw:更新條件; galx:所屬模塊。
[0043]當程序出現『』&option=011&』,其後面緊接的字符有cll欄位值時,觸發條件成立,執行csql,其中csql欄位中存儲的是完整的查詢語句,執行該查詢語句並將查詢結果作為參數,接受該參數後,將其拼接成完整的sql更新語句,更新目標數據表。如果觸發條件不成立,不執行觸發。
本實施例還涉及一種實現上述遊戲業務邏輯引擎的開發方法的裝置,其結構示意圖如圖5所示。圖5中,該裝置包括業務邏輯實現單元1、遍歷單元2、替換單元3、查詢讀取單元4和存儲事務執行單元5 ;其中,業務邏輯實現單元I用於將遊戲業務邏輯分析拆解,用一組含有變量的sql語句來實現;遍歷單元2用於循環遍歷該組sql語句;替換單元3用於根據輸入參數和緩存信息替換當前sql語句中的變量,判斷當前sql語句是否是讀指令;查詢讀取單元4用於查詢資料庫並從設置表中讀取所需要的信息,並根據參數從信息中選擇重要列存入緩存,供後續sql語句使用;然後讀取下一條sql語句;存儲事務執行單元5用於執行存儲事務,將信息寫入到資料庫各個表的相關記錄中,並將更新後的相關記錄存入緩存,供後續sql語句使用;然後讀取下一條sql語句。上述信息包括欄位和欄位值,上述相關記錄包括欄位和欄位值。由於不需要創建類,不需要類與資料庫之間的橋梁,其不再佔用內存,所以代碼量較少、節省了內存。
[0044]在本實施例中,上述查詢讀取單元4進一步包括編碼讀取模塊41、替換模塊42、拼接模塊43、語句判斷模塊44、返回模塊45和退出模塊46 ;其中,編碼讀取模塊41用於查詢資料庫,並讀取設置表中的格式化sql編碼;上述格式化sql編碼包括變量;替換模塊42用於根據上下文數據和緩存信息替換所述格式化sql編碼中的變量;拼接模塊43用於將替換變量後的sql編碼拼接成完整的sql語句;語句判斷模塊44用於判斷所述sql語句是否正確;返回模塊45用於執行資料庫查詢並返回查詢結果;所述查詢結果為json類型的數據;退出模塊46用於返回出錯信息,退出資料庫查詢。
[0045]本實施例中,上述存儲事務執行單元5進一步包括欄位檢驗模塊51、匹配模塊52和寫模塊53;其中,欄位檢驗模塊51用於判斷存儲事務中是否包含需要檢驗的欄位,如是,執行子查詢操作;否則,不進行驗證;匹配模塊52用於判斷子查詢結果與設定值是否匹配,並在不匹配時使存儲事務中斷,並將結果返回給用戶;寫模塊53用於進入向資料庫寫入信息的過程。寫模塊53進一步包括語句執行模塊531和觸發判斷模塊532 ;其中,語句執行模塊531用於執行sql語句;觸發判斷模塊532用於判斷觸發條件是否成立,如是,觸發並將信息寫入資料庫後修改相關表格的相關記錄;否則,退出。[0046]由於許多遊戲都將執行很多任務,本發明可以快速創建任務列表,只需通過一句代碼調用即可完成上述操作。返回值為指定分割符號的字符串或json格式的字符串。具體如下:首先用sql從資料庫中讀取任務信息;判斷讀取的任務信息是否是有效任務,如果是有效任務,則執行主任務,讀取任務的相關記錄(子任務)後執行下一步驟;如果不是有效的任務,則退出。此後判斷是否存在對應的子任務,如果存在,則執行該子任務;否則,退出。本發明採取了更直接、更直觀的方式來實現各種業務邏輯,讓遊戲開發更輕鬆,並規避了編寫大量代碼會出現疏漏問題。
[0047]總之,在本實施例中,本發明採用了不同於傳統面向對象的開發方法,通過表格化業務邏輯的配置為實現手段,將原本寫在資料庫中的存儲過程(存儲事務)和觸發器的代碼格式化後存在表格中,從而實現讓業務邏輯可以利用搜索、排序和分類統計等分析手段進行維護管理。其比面向對象的開發方式更節約伺服器內存等寶貴資源,極大地減少了服務端程式設計師的代碼編寫量,降低了粗心造就bug的可能性。通過表格更方便直觀地維護和管理業務邏輯。其實現容易,輕量級架構,靈活性較高,除了可以應用於遊戲開發,其他各行各業都可應用本發明來降低代碼編寫量。
[0048]以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
【權利要求】
1.一種遊戲業務邏輯引擎的開發方法,其特徵在於,包括如下步驟: A)將遊戲業務邏輯分析拆解,用一組含有變量的sql語句來實現; B)循環遍歷該組sql語句,對每一條sql語句執行步驟C); C)根據輸入參數和緩存信息替換當前sql語句中的變量,判斷當前sql語句是否是讀指令,如是,執行步驟D);否則,執行步驟E); D)查詢資料庫並從設置表中讀取所需要的信息,並根據參數從所述信息中選擇重要列存入緩存,供後續sql語句使用;然後讀取下一條sql語句,返回步驟C); E)執行存儲事務,將信息寫入到資料庫各個表的相關記錄中,並將更新後的相關記錄存入緩存,供後續sql語句使用;然後讀取下一條sql語句,返回步驟C)。
2.根據權利要求1所述的遊戲業務邏輯引擎的開發方法,其特徵在於,所述步驟D)進一步包括: Dl)查詢資料庫,並讀取設置表中的格式化sql編碼;所述格式化sql編碼包括變量; D2)根據上下文數據和緩存信息替換所述格式化sql編碼中的變量; D3)將替換變量後的sql編碼拼接成完整的sql語句; D4)判斷所述sql語句是否正確,如是,執行步驟D5);否則,執行步驟D6); D5)執行資料庫 查詢並返回查詢結果;所述查詢結果為json類型的數據; D6)返回出錯信息,退出資料庫查詢。
3.根據權利要求1或2所述的遊戲業務邏輯引擎的開發方法,其特徵在於,所述步驟E)進一步包括: El)判斷所述存儲事務中是否包含需要檢驗的欄位,如是,執行子查詢操作,並執行步驟E2);否則,不進行驗證; E2)判斷子查詢結果與設定值是否匹配,如是,執行步驟E3);否則,存儲事務中斷,並將結果返回給用戶; E3)進入向所述資料庫寫入信息的過程。
4.根據權利要求3所述的遊戲業務邏輯引擎的開發方法,其特徵在於,所述步驟E3)進一步包括: E31)執行所述sql語句; E32)判斷觸發條件是否成立,如是,觸發並將信息寫入資料庫後修改相關表格的相關記錄;否則,退出。
5.根據權利要求1所述的遊戲業務邏輯引擎的開發方法,其特徵在於,所述信息包括欄位和欄位值,所述相關記錄包括欄位和欄位值。
6.一種實現如權利要求1所述的遊戲業務邏輯引擎的開發方法的裝置,其特徵在於,包括:業務邏輯實現單元:用於將遊戲業務邏輯分析拆解,用一組含有變量的sql語句來實現; 遍歷單元:用於循環遍歷該組sql語句; 替換單元:用於根據輸入參數和緩存信息替換當前sql語句中的變量,判斷當前sql語句是否是讀指令; 查詢讀取單元:用於查詢資料庫並從設置表中讀取所需要的信息,並根據參數從所述信息中選擇重要列存入緩存,供後續sql語句使用;然後讀取下一條sql語句;存儲事務執行單元:用於執行存儲事務,將信息寫入到資料庫各個表的相關記錄中,並將更新後的相關記錄存入緩存,供後續sql語句使用;然後讀取下一條sql語句。
7.根據權利要求6所述的實現上述遊戲業務邏輯引擎的開發方法的裝置,其特徵在於,所述查詢讀取單元進一步包括: 編碼讀取模塊:用於查詢資料庫,並讀取設置表中的格式化sql編碼;所述格式化sql編碼包括變量; 替換模塊:用於根據上下文數據和緩存信息替換所述格式化sql編碼中的變量; 拼接模塊:用於將替換變量後的sql編碼拼接成完整的sql語句; 語句判斷模塊:用於判斷所述sql語句是否正確; 返回模塊:用於執行資料庫查詢並返回查詢結果;所述查詢結果為json類型的數據; 退出模塊:用於返回出錯信息,退出資料庫查詢。
8.根據權利要求6或7所述的實現上述遊戲業務邏輯引擎的開發方法的裝置,其特徵在於,所述存儲事務執行單元進一步包括: 欄位檢驗模塊:用於判斷所述存儲事務中是否包含需要檢驗的欄位,如是,執行子查詢操作;否則,不進行驗證; 匹配模塊:用於判斷子查詢結果與設定值是否匹配,並在不匹配時使存儲事務中斷,並將結果返回給用戶;· 寫模塊:用於進入向所述資料庫寫入信息的過程。
9.根據權利要求8所述的實現上述遊戲業務邏輯引擎的開發方法的裝置,其特徵在於,所述寫模塊進一步包括: 語句執行模塊:用於執行所述sql語句; 觸發判斷模塊:用於判斷觸發條件是否成立,如是,觸發並將信息寫入資料庫後修改相關表格的相關記錄;否則,退出。
10.根據權利要求6所述的實現上述遊戲業務邏輯引擎的開發方法的裝置,其特徵在於,所述信息包括欄位和欄位值,所述相關記錄包括欄位和欄位值。
【文檔編號】G06F9/44GK103823680SQ201410062832
【公開日】2014年5月28日 申請日期:2014年2月24日 優先權日:2014年2月24日
【發明者】劉武豐 申請人:廣州精攻網絡科技有限公司