def load_real_data(): DataCommand = ice_con() pIDs = [] ycdata = [] for i in range(5): pIDs.append(i) structycdata = YCArea.DxDTYC(i, i + 1.1, i) ycdata.append(structycdata) print("........开始写入遥测数据.......") start = time.time() # 写入redis DataCommand.RPCSetRealtimeYCData(pIDs, ycdata) writeElapsed = time.time() - start print("write time use: %s " % writeElapsed) print("........开始读取遥测最新数据.......") start = time.time() ycstatus, ycdata = DataCommand.RPCGetRealtimeYCData(pIDs) readElapsed = time.time() - start print("read time use: %s " % readElapsed) # print(ycstatus) ycdatanum = len(ycdata) # print("总计读取遥测数据:%d " % ycdatanum) data0 = [writeElapsed, readElapsed, ycdatanum] data1 = [] for i in range(len(ycdata)): data1.append({'status': ycdata[i].status, 'value': ycdata[i].value, 'timetag': ycdata[i].timetag}) data = [data0, data1] return data
def hello(): status = 0 ic = None try: ic = Ice.initialize(sys.argv) base = ic.stringToProxy( "DataCommand:default -h 192.168.100.170 -p 10000") DataCommand = CommandArea.DataCommandPrx.checkedCast(base) if not DataCommand: raise RuntimeError("Invalid proxy") pIDs = [] pIDs.append(0) ycdata = [] for i in range(1000): structycdata = YCArea.DxDTYC(i, i + 1.1, i) ycdata.append(structycdata) # 写入redis #DataCommand.RPCSetRealtimeYCData (pIDs, ycdata) # 写入cassandra DataCommand.RPCSaveYCData(pIDs, ycdata) DataCommand.RPCGetRealtimeYCData(pIDs) ycdata.pop() pID = 0 datetime = "20190520" print("........开始获取遥测当天数据.......") start = time.time() ycstatus, ycdata = DataCommand.RPCGetDayYCData(datetime, pID) elapsed = (time.time() - start) print("time use: %s " % elapsed) print(ycstatus) print("总计读取遥测数据:%d " % len(ycdata)) """ for i in range(len(ycdata)): print(ycdata[i].status, ycdata[i].value, ycdata[i].timetag) """ #return "读取单点某天全部数据需要时间:" + str(elapsed) + "<br><br>" + "总共读取遥测数据:" + str(len(ycdata)) + "<br><br>" + "读取的遥测数据如下:" + "<br><br>" + str(ycdata) return render_template('ycdaydata_js.html', elapsed=elapsed, ycdatanum=len(ycdata), ycdataval=ycdata) except: traceback.print_exc() status = 1 if ic: try: ic.destroy() except: traceback.print_exc() status = 1 sys.exit(status)
def write_data(threadName): for i in range(2, 5): structycdata = YCArea.DxDTYC(i, i + 1.1, i) ycdata.append(structycdata) DataCommand.RPCSetRealtimeYCData(pIDs, ycdata) #DataCommand.RPCGetRealtimeYCData(pIDs) ycdata.pop() #DataCommand.RPCSetRealtimeYCData (pIDs, ycdata) print("%s执行了写数据" % threadName)
def background_thread(): # print("线程启动!") while True: socketio.sleep(2) ic = None ic = Ice.initialize(sys.argv) base = ic.stringToProxy( "DataCommand:default -h 192.168.100.170 -p 10000") DataCommand = CommandArea.DataCommandPrx.checkedCast(base) if not DataCommand: raise RuntimeError("Invalid proxy") pIDs = [] pIDs.append(0) ycdata = [] for i in range(1000): structycdata = YCArea.DxDTYC(i, i + 1.1, i) ycdata.append(structycdata) # 写入redis # DataCommand.RPCSetRealtimeYCData (pIDs, ycdata) # 写入cassandra DataCommand.RPCSaveYCData(pIDs, ycdata) DataCommand.RPCGetRealtimeYCData(pIDs) ycdata.pop() pID = 0 datetime = "20190524" print("........开始获取遥测当天数据.......") start = time.time() ycstatus, ycdata = DataCommand.RPCGetDayYCData(datetime, pID) elapsed = time.time() - start print("time use: %s " % elapsed) print(ycstatus) ycdatanum = len(ycdata) print("总计读取遥测数据:%d " % ycdatanum) """ for i in range(len(ycdata)): print(ycdata[i].status, ycdata[i].value, ycdata[i].timetag) """ print(ycdata) data0 = [elapsed, ycdatanum] data1 = [] for i in range(len(ycdata)): data1.append({ 'status': ycdata[i].status, 'value': ycdata[i].value, 'timetag': ycdata[i].timetag }) data = [data0, data1] socketio.emit('server_response', data, namespace='/test')
def set_yc_property(): DataCommand = ice_con() stationId = request.form.get("stationId") station = json.loads(stationId) newyc = request.form.get("data") YcProperty = json.loads(newyc) ycp = [] for i in range(len(YcProperty)): ycp.append(json.loads(YcProperty[i])) ycproperty = [] for j in range(len(ycp[1])): ID = ycp[0][j] name = ycp[1][j] describe = ycp[2][j] unit = ycp[3][j] kval = ycp[4][j] bval = ycp[5][j] address = ycp[6][j] uplimt = ycp[7][j] downlimt = ycp[8][j] if ID == "": ID = 1000 if name == "": name = "请添加遥测名称" if describe == "": describe = "请描述遥测" if unit == "": unit = "请添加单位" if kval == "": kval = 1.0 if bval == "": bval = 0.0 if address == "": address = "0" if uplimt == "": uplimt = 2000.0 if downlimt == "": downlimt = 0.0 ycpstruct = YCArea.DxPropertyYC(int(ID), name.encode("utf-8"), describe.encode("utf-8"), unit.encode("utf-8"), round(float(kval), 7), round(float(bval), 7), address.encode("utf-8"), round(float(uplimt), 7), round(float(downlimt), 7)) ycproperty.append(ycpstruct) DataCommand.RPCSetYCProperty(station, ycproperty) return '保存成功!'
def background_thread(): # print("线程启动!") DataCommand = ice_con() while True: socketio.sleep(1) pIDs = [] ycdata = [] for i in range(1000): pIDs.append(i) structycdata = YCArea.DxDTYC(i, i+1.1, i) ycdata.append(structycdata) print("........开始写入遥测数据.......") start = time.time() # 写入redis # DataCommand.RPCSetRealtimeYCData(pIDs, ycdata) # 写入cassandra DataCommand.RPCSaveYCData(pIDs, ycdata) elapsed = time.time() - start print("write time use: %s " % elapsed) print("........开始读取遥测最新数据.......") start = time.time() ycstatus, ycdata = DataCommand.RPCGetRealtimeYCData(pIDs) elapsed = time.time() - start print("read time use: %s " % elapsed) print(ycstatus) ycdatanum = len(ycdata) print("总计读取遥测数据:%d " % ycdatanum) """ for i in range(len(ycdata)): print(ycdata[i].status, ycdata[i].value, ycdata[i].timetag) """ # print(ycdata) data0 = [elapsed, ycdatanum] data1 = [] for i in range(len(ycdata)): data1.append({'status': ycdata[i].status, 'value': ycdata[i].value, 'timetag': ycdata[i].timetag}) data = [data0, data1] socketio.emit('server_response', data, namespace='/test')
def set_yc_property(): DataCommand = ice_con() stationId = request.form.get("stationId") station = json.loads(stationId) newyc = request.form.get("data") YcProperty = json.loads(newyc) ycp = [] for i in range(len(YcProperty)): ycp.append(json.loads(YcProperty[i])) ycproperty = [] for j in range(len(ycp[1])): ycpstruct = YCArea.DxPropertyYC(int(ycp[0][j]), ycp[1][j].encode("utf-8"), ycp[2][j].encode("utf-8"), ycp[3][j].encode("utf-8"), float(ycp[4][j]), float(ycp[5][j]), ycp[6][j].encode("utf-8"), float(ycp[7][j]), float(ycp[8][j])) ycproperty.append(ycpstruct) DataCommand.RPCSetYCProperty(station, ycproperty) return '保存成功!'
def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/html')]) status = 0 ic = None try: ic = Ice.initialize(sys.argv) base = ic.stringToProxy( "DataCommand:default -h 192.168.100.170 -p 10000") DataCommand = CommandArea.DataCommandPrx.checkedCast(base) if not DataCommand: raise RuntimeError("Invalid proxy") pIDs = [] ycdata = [] for i in range(5): pIDs.append(i) structycdata = YCArea.DxDTYC(i, i + 1.1, i) ycdata.append(structycdata) DataCommand.RPCSetRealtimeYCData(pIDs, ycdata) ycstatus, ycdata = DataCommand.RPCGetRealtimeYCData(pIDs) print("总计读取遥测数据:%d " % len(ycdata)) for i in range(len(ycdata)): print(ycdata[i].status, ycdata[i].value, ycdata[i].timetag) return str(ycdata) except: traceback.print_exc() status = 1 if ic: try: ic.destroy() except: traceback.print_exc() status = 1
def set_yc_property(): DataCommand = ice_con() stationId = request.form.get("stationId") station = json.loads(stationId) newyc = request.form.get("data") new_yc = json.loads(newyc) p_IDs = json.loads(new_yc[len(new_yc) - 1]) pIDs = [] for i in range(len(p_IDs)): pIDs.append(long(p_IDs[i])) new_yc.pop() YcProperty = new_yc ycp = [] for i in range(len(YcProperty)): ycp.append(json.loads(YcProperty[i])) ycproperty = [] for j in range(len(p_IDs)): ycpstruct = YCArea.DxPropertyYC(ycp[0][j].encode("utf-8"), ycp[1][j].encode("utf-8"), float(ycp[2][j]), float(ycp[3][j]), int(ycp[4][j]), float(ycp[5][j]), float(ycp[6][j]), float(ycp[7][j]), int(ycp[8][j]), int(ycp[9][j]), int(ycp[10][j]), ycp[11][j], ycp[12][j], ycp[13][j], ycp[14][j], ycp[15][j], ycp[16][j], ycp[17][j], ycp[18][j], ycp[19][j], ycp[20][j], ycp[21][j], int(ycp[22][j]), ycp[23][j], ycp[24][j], int(ycp[25][j]), int(ycp[26][j]), float(ycp[27][j]), float(ycp[28][j]), float(ycp[29][j]), float(ycp[30][j])) ycproperty.append(ycpstruct) DataCommand.RPCSetYCProperty(station, pIDs, ycproperty) return '保存成功!'
import time status = 0 ic = None try: ic = Ice.initialize(sys.argv) base = ic.stringToProxy("DataCommand:default -h 192.168.100.170 -p 10000") DataCommand = CommandArea.DataCommandPrx.checkedCast(base) if not DataCommand: raise RuntimeError("Invalid proxy") pIDs = [] ycdata = [] for i in range(5): pIDs.append(0) structycdata = YCArea.DxDTYC(i, i + 2.1, i) ycdata.append(structycdata) #print(ycdata) pID = 0 datetime1 = "20190410000000" datetime2 = "20190412180000" datetime = "20190412" """ print("........Redis遥测数据写入start.......") start = time.time() DataCommand.RPCSetRealtimeYCData (pIDs, ycdata) elapsed = (time.time() - start) print("redis write ycdata time use: %s " % elapsed) print("........Cassandra遥测数据写入start.......")
def hello(): status = 0 ic = None try: ic = Ice.initialize(sys.argv) base = ic.stringToProxy( "DataCommand:default -h 192.168.100.170 -p 10000") DataCommand = CommandArea.DataCommandPrx.checkedCast(base) if not DataCommand: raise RuntimeError("Invalid proxy") pIDs = [] ycdata = [] for i in range(1000): pIDs.append(i) structycdata = YCArea.DxDTYC(i, i + 1.1, i) ycdata.append(structycdata) print("........redis开始写入遥测数据.......") start = time.time() # 多点写入redis ycstatus = DataCommand.RPCSetRealtimeYCData(pIDs, ycdata) rediswrite = (time.time() - start) print("redis write 1k time use: %s " % rediswrite) print(ycstatus) print("........cassandra开始写入遥测数据.......") start = time.time() # 多点写入cassandra ycstatus = DataCommand.RPCSaveYCData(pIDs, ycdata) cassandrawrite = (time.time() - start) print("cassandra write 1k time use: %s " % cassandrawrite) print(ycstatus) print("........redis开始读取遥测数据.......") start = time.time() # 实时数据读取 ycstatus, ycdata = DataCommand.RPCGetRealtimeYCData(pIDs) redisread = (time.time() - start) print("redis read 1k time use: %s " % redisread) print(ycstatus) print("总计读取遥测数据:%d " % len(ycdata)) for i in range(len(ycdata)): print(ycdata[i].status, ycdata[i].value, ycdata[i].timetag) return "redis写1k个点需要时间: " + str( rediswrite) + "<br><br>" + "cassandra写1k个点需要时间 :" + str( cassandrawrite) + "<br><br>" + "redis读1k个点需要时间: " + str( redisread) + "<br><br>" + "读取的遥测数据如下: " + "<br><br>" + str( ycdata) except: traceback.print_exc() status = 1 if ic: try: ic.destroy() except: traceback.print_exc() status = 1 sys.exit(status)
import CommandArea, YCArea status = 0 ic = None name = [] unit = [] for i in range(41): name.append(i + 10) #print(name[i]) for i in range(11): unit.append(i + 10) #print(unit[i]) structycproperty = YCArea.DxPropertyYC(name, unit, 1.1, 1.2, 1, 2.1, 2.1, 2.3, 10, 11, 12, True, False, True, True, True, False, False, False, True, False, True, 20, True, False, 30, 31, 3.1, 3.2, 3.3, 3.4) try: ic = Ice.initialize(sys.argv) base = ic.stringToProxy("DataCommand:default -h 192.168.100.170 -p 10000") DataCommand = CommandArea.DataCommandPrx.checkedCast(base) if not DataCommand: raise RuntimeError("Invalid proxy") station = 1 ycpropertystatus = DataCommand.RPCSetYCProperty(structycproperty, station) print(ycpropertystatus) ycpropertystatus, structycproperty = DataCommand.RPCGetYCProperty(station) print(ycpropertystatus)
def background_thread(): #print("线程启动!") while True: socketio.sleep(3) status = 0 ic = None ic = Ice.initialize(sys.argv) base = ic.stringToProxy( "DataCommand:default -h 192.168.100.170 -p 10000") DataCommand = CommandArea.DataCommandPrx.checkedCast(base) if not DataCommand: raise RuntimeError("Invalid proxy") pID = 0 datetime = "20190520" ycstatus, ycdata0 = DataCommand.RPCGetDayYCData(datetime, pID) ycdatanum0 = len(ycdata0) print("第一次读取遥测数据:%d " % ycdatanum0) data0 = [ycdatanum0] data1 = [] for i in range(ycdatanum0): data1.append({ 'status': ycdata0[i].status, 'value': ycdata0[i].value, 'timetag': ycdata0[i].timetag }) data = [data0, data1] socketio.emit('server_response', data, namespace='/test') pIDs = [] pIDs.append(0) ycdata = [] for i in range(1000): structycdata = YCArea.DxDTYC(i, i + 1.1, i) ycdata.append(structycdata) # 写入redis DataCommand.RPCSetRealtimeYCData(pIDs, ycdata) # 写入cassandra DataCommand.RPCSaveYCData(pIDs, ycdata) DataCommand.RPCGetRealtimeYCData(pIDs) ycdata.pop() ycstatus, ycdata = DataCommand.RPCGetDayYCData(datetime, pID) ycdatanum = len(ycdata) print("第二次读取遥测数据:%d " % ycdatanum) if ycdatanum > ycdatanum0: print("数据有更新,再次提交!") data0 = [ycdatanum] data1 = [] for i in range(ycdatanum): data1.append({ 'status': ycdata[i].status, 'value': ycdata[i].value, 'timetag': ycdata[i].timetag }) data = [data0, data1] socketio.emit('server_response', data, namespace='/test')
def hello(): status = 0 ic = None try: ic = Ice.initialize(sys.argv) base = ic.stringToProxy( "DataCommand:default -h 192.168.100.170 -p 10000") DataCommand = CommandArea.DataCommandPrx.checkedCast(base) if not DataCommand: raise RuntimeError("Invalid proxy") pIDs = [] pIDs.append(0) ycdata = [] for i in range(288): structycdata = YCArea.DxDTYC(i, i + 1.1, i) ycdata.append(structycdata) # 单点写入redis ycstatus = DataCommand.RPCSetRealtimeYCData(pIDs, ycdata) # 单点写入cassandra ycstatus = DataCommand.RPCSaveYCData(pIDs, ycdata) DataCommand.RPCGetRealtimeYCData(pIDs) ycdata.pop() pID = 0 datetime = "20190513" # 单点某天全部数据读取 ycstatus, ycdata = DataCommand.RPCGetDayYCData(datetime, pID) print("........开始计算遥测数据最大最小平均值.......") start = time.time() # 单点某天的最大最小和平均值 ycstatus, max, min, average = DataCommand.RPCGetProcessYCData( datetime, pID) elapsed = (time.time() - start) print("time use: %s " % elapsed) """ print("........开始计算遥测数据最大最小平均值.......") start = time.time() # 多点某天的最大最小和平均值 ycstatus, maxseq, minseq, averageseq = DataCommand.RPCGetProcessYCDatas (datetime, pIDs) elapsed = (time.time() - start) print("time use: %s " % elapsed) """ print(ycstatus) print("最大值:%s, 最小值:%s,平均值:%s " % (max, min, average)) #print("最大值:%s, 最小值:%s,平均值:%s " %(maxseq,minseq,averageseq)) return "读取单点最大最小平均值需要时间:" + str( elapsed) + "<br><br>" + "总共读取遥测数据:" + str( len(ycdata)) + "<br><br>" + "最大值:" + str( max) + "<br><br>" + "最小值: " + str( min) + "<br><br>" + "平均值: " + str(average) except: traceback.print_exc() status = 1 if ic: try: ic.destroy() except: traceback.print_exc() status = 1 sys.exit(status)