4908 【BT】【主干】gameserver realtime备份过大导致卡顿(优化拍品记录保存期限;输出自定义表存档大小);
| | |
| | | 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()
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入数据
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入数据
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入数据
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入好友数据
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入好友数据
|
| | |
| | | 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()
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入好友数据
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入好友数据
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入好友数据
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入
|
| | |
| | | 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
|
| | |
|
| | |
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入数据
|
| | |
| | | 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,但是可以正常保存,错误会在下次调用便宜接口才会触发
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入数据
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入数据
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入数据
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入数据
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入数据
|
| | |
| | | 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
|
| | |
|
| | | # 从数据库载入数据
|