def __init__(self): self.msgLogic = MegSplitLogic() self.modbus = ModBusDataTuning() self.md = modbus() self.anlzer = base_analyzer() self.ftp = FTPDataTuning() self.ftpPaser = FTPParser() self.cmPaser = ComPaser() self.cvt = Converter() self.mtool = MessageSplitMeasure() self.rds = redis_deal()
class MsgForMatG: def __init__(self): self.dataTuning = DataTuning() self.msgSplit = MegSplitLogic() def transRawDataToPrim(self, datas, borders): primDatas = [] i = 0 while (i < len(datas)): primDatas.append(primeData(datas[i], borders[i], i)) i = i + 1 return primDatas def generateTree(self, primDatas, treeParas): height = treeParas['h'] funNum = treeParas['fcNum'] splitRate = treeParas['srate'] tree_builder = treeFormat(primDatas, funNum, splitRate) t_result = tree_builder.generateSplitNT(height) t_json = t_result.transToDictTree() return t_json def msgToTree(self, filePath='', datas=None): borders = None datas = None if filePath != '': #datas = self.dataTuning.readDatasTemp(filePath) datas = self.dataTuning.readDatasByType('binaryPro') if filePath != '': borders, _ = self.msgSplit.getOrderBordersNyPath(filePath, datas) primDatas = self.transRawDataToPrim(datas, borders) #可替换函数 treeParas = {'h': 5, 'fcNum': 20, 'srate': 0.2} treeJson = self.generateTree(primDatas, treeParas) return treeJson
class MsgSplitLogicTest: def __init__(self): self.msgSplit = MegSplitLogic() self.dataTuning = DataTuning() def testDatas(self): messages = read_datas('/home/wxw/data/modbusdata', 'single') messages = get_puredatas(messages)[0:1000] return messages def getFreBordersTest(self): messages = self.testDatas() vePara = {'diffMeasure': 'abs', 'vWayFre': 'loose', 'T': 0, 'r': 0.3} print(self.msgSplit.getFreBorders(vePara, messages)) def getOrderSpltTest(self): msgs = self.dataTuning.readDatasTemp('') print(self.msgSplit.getOrderBordersNyPath(msgs=msgs))
def getProtoSplitSummary(request): postDatas = getPostJson(request) pageOrder = postDatas.get('pageNum') pageCnt = postDatas.get('pageCnt') proType = postDatas.get('proType') print(proType) startNum = int(pageOrder) * int(pageCnt) dataTuning = DataTuning() # future #messageDatas = dataTuning.readDatas('/home/wxw/data/ToolDatas/15895903730.10.222') #messageDatas = read_datas('/home/wxw/data/ToolDatas/15895903730.10.222', 'single') #messageDatas = get_puredatas(messageDatas) #gVeParas = GveConf.geneGveParas() #uConfig = UserConfig('/home/wxw/data/ToolDatas/15895903730.10.222', '15895903730') messageSplitSums = None if proType == 'icsPro': gVoterLogic = GvoterLogic() msgs = dataTuning.readDatasByType(proType) messageSplitSums = gVoterLogic.splitFileMessages('', msgs) elif proType == 'textPro': msgs = dataTuning.readDatasByType(proType) textViewLogic = TextViewLogic() messageSplitSums = textViewLogic.spltMsgs(msgs) else: binaryMsgSplit = MegSplitLogic() messageDatas = dataTuning.readDatasByType(proType) _, messageSplitSums = binaryMsgSplit.getOrderBordersNyPath( '', messageDatas) #messageSplitSums = gVoterLogic.splitMessages(uConfig, gVeParas, messageDatas) i = 0 splitResults = [] while (i < pageCnt): splitResults.append(messageSplitSums[i + startNum]) i = i + 1 splitResults = convertResponseDatas(splitResults, startNum) return HttpResponse(json.dumps(splitResults), content_type='application/json')
def getSplitProtoDataDetail(request): postDatas = getPostJson(request) rowIndex = postDatas.get('rowIndex') proType = postDatas.get('proType') messageSplitSums = None dataTuning = DataTuning() print(proType) if proType == 'icsPro': msgs = dataTuning.readDatasByType(proType) icsRvLogic = IcsReverLogic() messageSplitSums = icsRvLogic.getSplitMsgs(msgs, maxRange=2000) elif proType == 'textPro': msgs = dataTuning.readDatasByType(proType) textViewLogic = TextViewLogic() messageSplitSums = textViewLogic.spltMsgs(msgs, maxRange=2000) else: binaryMsgSplit = MegSplitLogic() messageDatas = dataTuning.readDatasByType(proType) _, messageSplitSums = binaryMsgSplit.getOrderBordersNyPath( '', messageDatas, maxRange=2000) splitDetailR = {} splitDetailR['res'] = messageSplitSums[rowIndex] return HttpResponse(json.dumps(splitDetailR), content_type='application/json')
def __init__(self): self.dataTuning = DataTuning() self.msgSplit = MegSplitLogic()
def __init__(self): self.msg = MegSplitLogic() self.TGraph = tree_graph('a', 'B') self.moddatas = ModBusDataTuning() self.ftp = FTPDataTuning()
class FormatViewTest: def __init__(self): self.msg = MegSplitLogic() self.TGraph = tree_graph('a', 'B') self.moddatas = ModBusDataTuning() self.ftp = FTPDataTuning() def geneDatas(self): messages = read_datas('/home/wxw/data/modbusdata', 'single') messages = get_puredatas(messages)[0:1000] return messages def getMixDatas(self): MergeDatas = [] modDatas = self.moddatas.getModDatas() ftpDatas = self.ftp.getTotalData() MergeDatas.extend(modDatas) MergeDatas.extend(ftpDatas) return MergeDatas def testModData(self): datas = self.geneDatas() vePara = {'diffMeasure': 'abs', 'vWayFre': 'loose', 'T': 0, 'r': 0.3} #borders = self.msg.getFreBorders(vePara, datas) borders = self.msg.getOrderBorders(vePara, datas) i = 0 primDatas = [] print(datas[0]) while (i < len(datas)): primDatas.append(primeData(datas[i], borders[i], i)) i = i + 1 tree_builder = treeFormat(primDatas, 20, 0.2) # t_result = tree_builder.generateNT() t_result = tree_builder.generateSplitNT(5) Nodes = [] Edges = [] t_result.showTree(0) t_result.getGraph(0, Nodes, Edges, [0]) self.TGraph.graph_buildTwo( Nodes, Edges, '/home/wxw/paper/researchresult/BinaryFormat/treeshow/Modbus Order 10 20.png' ) def testFTPData(self): #datas = self.geneDatas() srcDatas, desDatas = FTPDataTuning().tuningHttpByregix() datas = [] datas.extend(srcDatas) datas.extend(desDatas) vePara = {'diffMeasure': 'abs', 'vWayFre': 'loose', 'T': 0, 'r': 0.3} borders = self.msg.getFreBorders(vePara, datas) i = 0 primDatas = [] print(datas[0]) while (i < len(datas)): primDatas.append(primeData(datas[i], borders[i], i)) i = i + 1 tree_builder = treeFormat(primDatas, 20, 0.2) t_result = tree_builder.generateNT() t_result.depth_traverse() for f in t_result.result: print("format start") for node_i in f: print(node_i.loc, node_i.word_type, node_i.value) #print(node_i.getNodeData()) def testFTPDataOne(self): # datas = self.geneDatas() srcDatas, desDatas = FTPDataTuning().tuningHttpByregix() datas = [] datas.extend(srcDatas) datas.extend(desDatas) vePara = {'diffMeasure': 'abs', 'vWayFre': 'loose', 'T': 0, 'r': 0.3} borders = self.msg.getFreBorders(vePara, datas) #borders = self.msg.getOrderBorders(vePara, datas) i = 0 primDatas = [] print(datas[0]) while (i < len(datas)): primDatas.append(primeData(datas[i], borders[i], i)) i = i + 1 tree_builder = treeFormat(primDatas, 10, 0.2) #t_result = tree_builder.generateNT() t_result = tree_builder.generateSplitNT(5) Nodes = [] Edges = [] t_result.showTree(0) t_result.getGraph(0, Nodes, Edges, [0]) self.TGraph.graph_buildTwo( Nodes, Edges, '/home/wxw/paper/researchresult/BinaryFormat/treeshow/Fre 5 20.png' ) #t_result.showTree(0) #tree_builder.layyerTree() def testMixData(self): datas = self.getMixDatas() vePara = {'diffMeasure': 'abs', 'vWayFre': 'loose', 'T': 0, 'r': 0.3} #borders = self.msg.getFreBorders(vePara, datas) borders = self.msg.getOrderBorders(vePara, datas) i = 0 primDatas = [] print(datas[0]) while (i < len(datas)): primDatas.append(primeData(datas[i], borders[i], i)) i = i + 1 tree_builder = treeFormat(primDatas, 10, 0.2) # t_result = tree_builder.generateNT() t_result = tree_builder.generateSplitNT(5) Nodes = [] Edges = [] t_result.showTree(0) t_result.getGraph(0, Nodes, Edges, [0]) self.TGraph.graph_buildTwo( Nodes, Edges, '/home/wxw/paper/researchresult/BinaryFormat/treeshow/Order 5 20 10 MixData.png' ) def testMixTree(self): datas = self.getMixDatas() vePara = {'diffMeasure': 'abs', 'vWayFre': 'loose', 'T': 0, 'r': 0.3} # borders = self.msg.getFreBorders(vePara, datas) borders = self.msg.getOrderBorders(vePara, datas) i = 0 primDatas = [] print(datas[0]) while (i < len(datas)): primDatas.append(primeData(datas[i], borders[i], i)) i = i + 1 tree_builder = treeFormat(primDatas, 10, 0.2) # t_result = tree_builder.generateNT() t_result = tree_builder.generateSplitNT(5) print(t_result.transToDictTree())
class BorderTest: def __init__(self): self.msgLogic = MegSplitLogic() self.modbus = ModBusDataTuning() self.md = modbus() self.anlzer = base_analyzer() self.ftp = FTPDataTuning() self.ftpPaser = FTPParser() self.cmPaser = ComPaser() self.cvt = Converter() self.mtool = MessageSplitMeasure() self.rds = redis_deal() def getModHPfone(self): self.msgs = self.modbus.getModDatas() #vePara = {'diffMeasure': 'abs', 'vWayFre': 'loose', 'T': 0, 'r': 0.3} vePara = {'diffMeasure': 'abs', 'vWayFre': 'normal', 'T': 0, 'r': 0.3} msgs = self.modbus.getModDatas() #Inferborders = self.msgLogic.getFreBorders(vePara, msgs) #Inferborders = self.msgLogic.getOrderBorders(vePara, msgs) #Inferborders = self.msgLogic.getEntryBorders(vePara, msgs) Inferborders = self.msgLogic.getMbourders(vePara, msgs) rightBorders = [self.md.GetMessageBorder(msg) for msg in self.msgs] i = 0 print(Inferborders[0], rightBorders[0], msgs[0]) scores = [] while (i < len(Inferborders)): scores.append(self.anlzer.get_f1(Inferborders[i], rightBorders[i])) i = i + 1 print(sum([score[0] for score in scores]) / len(Inferborders)) print(sum([score[1] for score in scores]) / len(Inferborders)) print(sum([score[2] for score in scores]) / len(Inferborders)) def getModfoneMix(self): self.msgs = self.modbus.getModDatas() vePara = {'diffMeasure': 'abs', 'vWayFre': 'loose', 'T': 0, 'r': 0.3} msgs = self.modbus.getModDatas() Inferborders = self.msgLogic.getFreBorders(vePara, msgs) InferbordersOne = self.msgLogic.getOrderBorders(vePara, msgs) #InferbordersOne = self.msgLogic.getEntryBorders(vePara, msgs) Inferborders = self.cvt.MergeListGroup(Inferborders, InferbordersOne) rightBorders = [self.md.GetMessageBorder(msg) for msg in self.msgs] i = 0 scores = [] while (i < len(Inferborders)): scores.append(self.anlzer.get_f1(Inferborders[i], rightBorders[i])) i = i + 1 print(sum([score[0] for score in scores]) / len(Inferborders)) print(sum([score[1] for score in scores]) / len(Inferborders)) print(sum([score[2] for score in scores]) / len(Inferborders)) def getFtpMixfone(self): msgs = self.ftp.getTotalData() vePara = {'diffMeasure': 'abs', 'vWayFre': 'loose', 'T': 0, 'r': 0.3} msgs = self.ftpPaser.parseMsgs(msgs) Inferborders = self.msgLogic.getFreBorders(vePara, msgs) InferbordersOne = self.msgLogic.getOrderBorders(vePara, msgs) # InferbordersOne = self.msgLogic.getEntryBorders(vePara, msgs) Inferborders = self.cvt.MergeListGroup(Inferborders, InferbordersOne) rightBorders = msgs i = 0 scores = [] while (i < len(Inferborders)): scores.append(self.anlzer.get_f1(Inferborders[i], rightBorders[i])) i = i + 1 print(sum([score[0] for score in scores]) / len(Inferborders)) print(sum([score[1] for score in scores]) / len(Inferborders)) print(sum([score[2] for score in scores]) / len(Inferborders)) def getHPFtpfone(self): msgs = self.ftp.getTotalData() #vePara = {'diffMeasure': 'abs', 'vWayFre': 'loose', 'T': 0, 'r': 0.3} vePara = {'diffMeasure': 'abs', 'vWayFre': 'normal', 'T': 0, 'r': 0.3} #Inferborders = self.msgLogic.getFreBorders(vePara, msgs) Inferborders = self.msgLogic.getOrderBorders(vePara, msgs) #Inferborders = self.msgLogic.getEntryBorders(vePara, msgs) #Inferborders = self.msgLogic.getMbourders(vePara, msgs) #self.rds.insert_to_redis('nowborder', Inferborders) #InferbordersOne = self.rds.read_from_redis('nowborder') #print(self.mtool.MLs(Inferborders, InferbordersOne)) rightBorders = self.ftpPaser.parseMsgs(msgs) print(Inferborders[0], rightBorders[0], msgs[0]) i = 0 scores = [] while (i < len(Inferborders)): scores.append(self.anlzer.get_f1(Inferborders[i], rightBorders[i])) i = i + 1 print(sum([score[0] for score in scores]) / len(Inferborders)) print(sum([score[1] for score in scores]) / len(Inferborders)) print(sum([score[2] for score in scores]) / len(Inferborders)) def getMixFone(self): mixMsgs = [] ftpData = self.ftp.getTotalData() modData = self.modbus.getModDatas() mixMsgs.extend(ftpData) mixMsgs.extend(modData) #vePara = {'diffMeasure': 'abs', 'vWayFre': 'loose', 'T': 0, 'r': 0.3} vePara = {'diffMeasure': 'abs', 'vWayFre': 'normal', 'T': 0, 'r': 0.3} #Inferborders = self.msgLogic.getFreBorders(vePara, mixMsgs) Inferborders = self.msgLogic.getOrderBorders(vePara, mixMsgs) #Inferborders = self.msgLogic.getEntryBorders(vePara, mixMsgs) #Inferborders = self.msgLogic.getMbourders(vePara, mixMsgs) rightBorders = self.cmPaser.parseMsgs(mixMsgs) print(Inferborders[0], rightBorders[0], str(mixMsgs[0])) print(Inferborders[-1], rightBorders[-1], str(mixMsgs[-1])) i = 0 scores = [] while (i < len(Inferborders)): scores.append(self.anlzer.get_f1(Inferborders[i], rightBorders[i])) i = i + 1 print(sum([score[0] for score in scores]) / len(Inferborders)) print(sum([score[1] for score in scores]) / len(Inferborders)) print(sum([score[2] for score in scores]) / len(Inferborders)) def getMixFoneScores(self, vePara, parserType): mixMsgs = [] ftpData = self.ftp.getTotalData() modData = self.modbus.getModDatas() mixMsgs.extend(ftpData) mixMsgs.extend(modData) Inferborders = None if parserType == 'HP': Inferborders = self.msgLogic.getFreBorders(vePara, mixMsgs) elif parserType == 'HE': Inferborders = self.msgLogic.getEntryBorders(vePara, mixMsgs) elif parserType == 'HO': Inferborders = self.msgLogic.getOrderBorders(vePara, mixMsgs) else: Inferborders = self.msgLogic.getMbourders(vePara, mixMsgs) rightBorders = self.cmPaser.parseMsgs(mixMsgs) i = 0 scores = [] while (i < len(Inferborders)): scores.append(self.anlzer.get_f1(Inferborders[i], rightBorders[i])) i = i + 1 print(parserType) print(sum([score[2] for score in scores]) / len(Inferborders)) return [score[2] for score in scores] def getMixMixFone(self): mixMsgs = [] ftpData = self.ftp.getTotalData() modData = self.modbus.getModDatas() mixMsgs.extend(ftpData) mixMsgs.extend(ftpData) vePara = {'diffMeasure': 'abs', 'vWayFre': 'loose', 'T': 0, 'r': 0.3} msgs = self.ftpPaser.parseMsgs(mixMsgs) InferbordersOne = self.msgLogic.getFreBorders(vePara, msgs) Inferborders = self.msgLogic.getOrderBorders(vePara, msgs) # InferbordersOne = self.msgLogic.getEntryBorders(vePara, msgs) Inferborders = self.cvt.MergeListGroup(Inferborders, InferbordersOne) rightBorders = msgs i = 0 scores = [] while (i < len(Inferborders)): scores.append(self.anlzer.get_f1(Inferborders[i], rightBorders[i])) i = i + 1 print(sum([score[0] for score in scores]) / len(Inferborders)) print(sum([score[1] for score in scores]) / len(Inferborders)) print(sum([score[2] for score in scores]) / len(Inferborders))