def load_request_info(self, req: Request) -> None: sql = """SELECT * FROM Requests WHERE id = {}"""\ .format(req.id) r: tuple = self.exec_sql(sql) if not r: return req.src = r[1] req.dst = r[2] req.sfc = r[3].split(' ') req.bandwidth = r[4] req.maxDelay = r[5] req.duration = r[6] req.bid = r[7]
def load_requests_info(self): f = open("requests.txt") lines = f.readlines() for i in range(len(lines)): # 每个请求写成两行,第一行为除序列外其他信息 line = lines[i].split(" ") # print(line) req = Request() req.id = int(line[0]) req.src = int(line[1]) req.dst = int(line[2]) req.bandwidth = int(line[3]) req.bid = int(line[4]) req.maxDelay = int(line[5]) req.ontime = int(line[6]) req.offtime = int(line[7]) req.unitBid = req.bid / (req.offtime - req.ontime) req.sfc = line[8:-1] self.requests.append(req)
def input_request(self) -> Request: req = Request() req.id = len(self.requests) + 1 print("Please input your flow's source") req.src = input() print("Please input your flow's destination") req.dst = input() print("Please input your sfc, format is vnf1 vnf2 ...") sfc_vnf_name = input().split(" ") # print("Please input your bandwidth, the unit is M") # req.bid = int(input()) # print("Please input your bid, the unit is doller") # req.bid = float(input()) # print("Please input your maxDelay, the unit is ms") # req.maxDelay = int(input()) print("Please input enter duration, the unit is seconds") req.duration = int(input()) for i in range(len(sfc_vnf_name)): vnf = VNF(req.id, 0, i + 1, 0, 0, 0) req.sfc.append(vnf) return req
def input_requests(self) -> None: bid = 0 f = open("requests.txt") lines = f.readlines() i = 0 while i < len(lines): # 每个请求写成两行,第一行为除序列外其他信息 line = lines[i].split(" ") # print(line) req = Request() req.id = int(line[0]) req.src = int(line[1]) req.dst = int(line[2]) req.bandwidth = int(line[3]) bid += req.bid req.maxDelay = int(line[4]) req.sfc = line[5:-1] # 第二行为流量序列 seq = lines[i + 1].split(" ") for j in range(len(seq) - 1): req.bandSeq.append(int(seq[j])) manager.requests.add(req) i += 2