示例#1
0
 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]
示例#2
0
 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)
示例#3
0
 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
示例#4
0
文件: Shop.py 项目: cx-z/Simulation
 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