4908 【BT】【主干】gameserver realtime备份过大导致卡顿(优化拍品记录保存期限;输出自定义表存档大小);
10个文件已修改
58 ■■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBillboard.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerBourse.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerCompensation.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyStore.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerSealDemon.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerSocial.py 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerXMZZ.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/PyDataManager.py 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBillboard.py
@@ -73,13 +73,13 @@
                cnt += 1
                savaData += billboardData.getBuffer()
                
        GameWorld.Log("Save DBCrossBillboard cnt :%s" % cnt)
        GameWorld.Log("Save DBCrossBillboard count :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入数据
    def LoadPyGameData(self, datas, pos, dataslen):
        cnt, pos = CommFunc.ReadDWORD(datas, pos)
        GameWorld.Log("Load DBCrossBillboard cnt :%s" % cnt)
        GameWorld.Log("Load DBCrossBillboard count :%s" % cnt)
        
        for _ in xrange(cnt):
            billboardData = PyGameDataStruct.tagDBCrossBillboard()
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py
@@ -200,7 +200,7 @@
                cnt += 1
                savaData += billboardData.getBuffer()
                
        GameWorld.Log("SaveCrossPKBillboard cnt :%s" % cnt)
        GameWorld.Log("SaveCrossPKBillboard cnt :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入数据
@@ -2066,7 +2066,7 @@
            cnt += 1
            savaData += overInfoData.getBuffer()
                
        GameWorld.Log("SaveDBCrossPKUnNotifyOverInfo cnt :%s" % cnt)
        GameWorld.Log("SaveDBCrossPKUnNotifyOverInfo cnt :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入数据
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
@@ -806,7 +806,7 @@
            cnt += 1
            savaData += attentionData.getBuffer()
                
        GameWorld.Log("SaveBossAttention cnt :%s" % cnt)
        GameWorld.Log("SaveBossAttention cnt :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入数据
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerBourse.py
@@ -775,7 +775,7 @@
                cnt += 1
                savaData += record.getBuffer()
                
        GameWorld.Log("SaveBourseRecord cnt :%s" % cnt)
        GameWorld.Log("SaveBourseRecord cnt :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入好友数据
@@ -836,7 +836,7 @@
            cnt += 1
            savaData += itemLastPrice.getBuffer()
                
        GameWorld.Log("SaveBourseItemLastPrice cnt :%s" % cnt)
        GameWorld.Log("SaveBourseItemLastPrice cnt :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入好友数据
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerCompensation.py
@@ -90,13 +90,13 @@
                cnt += 1
                savaData += mailObj.getBuffer()
                
        GameWorld.Log("Save DBCrossPersonalCompensation cnt :%s" % cnt)
        GameWorld.Log("Save DBCrossPersonalCompensation count :%s, len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入数据
    def LoadPyGameData(self, datas, pos, dataslen):
        cnt, pos = CommFunc.ReadDWORD(datas, pos)
        GameWorld.Log("Load DBCrossPersonalCompensation cnt :%s" % cnt)
        GameWorld.Log("Load DBCrossPersonalCompensation count :%s" % cnt)
        
        for _ in xrange(cnt):
            mailObj = PyGameDataStruct.tagDBCrossPersonalCompensation()
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyStore.py
@@ -187,7 +187,7 @@
                cnt += 1
                savaData += storeItem.getBuffer()
                
        GameWorld.Log("SaveFamilyStoreItem cnt :%s"%cnt)
        GameWorld.Log("SaveFamilyStoreItem cnt :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入好友数据
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerSealDemon.py
@@ -66,7 +66,7 @@
            cnt += 1
            savaData += sealDemonRecord.getBuffer()
                
        GameWorld.Log("SaveSealDemonRecord cnt :%s" % cnt)
        GameWorld.Log("SaveSealDemonRecord cnt :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入好友数据
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerSocial.py
@@ -268,7 +268,7 @@
                cnt += 1
                savaData += friend.getBuffer()
        
        GameWorld.Log("SaveFriendData cnt :%s"%cnt)
        GameWorld.Log("SaveFriendData cnt :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    # 从数据库载入好友数据
@@ -385,7 +385,7 @@
                cnt += 1
                savaData += socialPlayer.getBuffer()
        
        GameWorld.Log("!!SaveEnemyData cnt :%s"%cnt)
        GameWorld.Log("!!SaveEnemyData cnt :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    # 从数据库载入
@@ -541,7 +541,7 @@
                cnt += 1
                savaData += socialPlayer.getBuffer()
        
        GameWorld.Log("!!SaveContactsData cnt :%s"%cnt)
        GameWorld.Log("!!SaveContactsData cnt :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    # 从数据库载入
@@ -622,7 +622,7 @@
                cnt += 1
                savaData += socialPlayer.getBuffer()
        
        GameWorld.Log("!!SaveBlacklistData cnt :%s"%cnt)
        GameWorld.Log("!!SaveBlacklistData cnt :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    # 从数据库载入
@@ -765,7 +765,7 @@
            cnt += 1
            savaData += socialPlayer.playerInfo.getBuffer()
        
        GameWorld.Log("SaveSocialData cnt :%s"%cnt)
        GameWorld.Log("SaveSocialData cnt :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerXMZZ.py
@@ -574,7 +574,7 @@
            cnt += 1
            savaData += XMZZData.getBuffer()
                
        GameWorld.Log("SaveXMZZ cnt :%s" % cnt)
        GameWorld.Log("SaveXMZZ cnt :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入数据
ServerPython/CoreServerGroup/GameServer/Script/PyDataManager.py
@@ -27,12 +27,14 @@
import AuctionHouse
import PlayerAssist
import PyGameDataStruct
import IpyGameDataPY
import CommFunc
import time
def GetSavePyData():
    pyGameDataMgr = GetPyGameDataManager()
    result = pyGameDataMgr.GetSaveData()
    GameWorld.DebugLog("GetSavePyData!! id = %s-%s"%(id(pyGameDataMgr), len(result)))
    GameWorld.Log("GetSavePyData!! id = %s-%s"%(id(pyGameDataMgr), len(result)))
    result = binascii.b2a_hex(result)
    #GameWorld.DebugLog("GetSavePyData!! result = %s-%s"%(result, len(result)))
    # 字节码在C++转化会发生错误must be string without null bytes, not str,但是可以正常保存,错误会在下次调用便宜接口才会触发
@@ -65,7 +67,7 @@
            PlayerAssist.OnSaveAssistThanksData(dbData)
            savaData += dbData.getBuffer()
            
        GameWorld.Log("Save DBAssistThanks count :%s" % cnt)
        GameWorld.Log("Save DBAssistThanks count :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入数据
@@ -104,7 +106,7 @@
            cnt += 1
            savaData += dbData.getBuffer()
            
        GameWorld.Log("Save DBAssist count :%s" % cnt)
        GameWorld.Log("Save DBAssist count :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入数据
@@ -145,7 +147,7 @@
            cnt += 1
            savaData += dbData.getBuffer()
            
        GameWorld.Log("Save PlayerViewCachePy count :%s" % cnt)
        GameWorld.Log("Save PlayerViewCachePy count :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入数据
@@ -177,13 +179,21 @@
        cntData = ""
        cnt = 0
        
        unSaveCnt = 0
        curTime = int(time.time())
        vaildSeconds = IpyGameDataPY.GetFuncCfg("AuctionHouse", 1) * 3600 * 24
        for recordDict in [self.myAuctionItemRecordDict, self.myBidItemRecordDict, self.familyAuctionItemRecordDict]:
            for recordList in recordDict.values():
                for dbData in recordList:
                    if vaildSeconds:
                        recordTime = GameWorld.ChangeTimeStrToNum(dbData.RecordTime)
                        if curTime - recordTime > vaildSeconds:
                            unSaveCnt += 1
                            continue
                    cnt += 1
                    savaData += dbData.getBuffer()
                    
        GameWorld.Log("Save AuctionRecord count :%s" % cnt)
        GameWorld.Log("Save AuctionRecord count :%s len=%s unSaveCnt=%s" % (cnt, len(savaData), unSaveCnt))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入数据
@@ -217,7 +227,7 @@
            cnt += 1
            savaData += dbData.getBuffer()
            
        GameWorld.Log("Save AuctionAttention count :%s" % cnt)
        GameWorld.Log("Save AuctionAttention count :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入数据
@@ -273,7 +283,7 @@
            cnt += 1
            savaData += dbData.getBuffer()
            
        GameWorld.Log("Save AuctionItem count :%s" % cnt)
        GameWorld.Log("Save AuctionItem count :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入数据