Skip to content

Commit

Permalink
remote config traffic rate
Browse files Browse the repository at this point in the history
  • Loading branch information
glzjin committed Jul 13, 2016
1 parent de591c8 commit 7cbcf4d
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 11 deletions.
1 change: 0 additions & 1 deletion apiconfig.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Config
TRANSFER_MUL = 1.0
NODE_ID = 1


Expand Down
22 changes: 12 additions & 10 deletions db_transfer.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
db_instance = None

node_speedlimit = 0.00
traffic_rate = 0.0

port_uid_table = {}

Expand Down Expand Up @@ -48,7 +49,7 @@ def update_all_user(self, dt_transfer):


cur = conn.cursor()
cur.execute("INSERT INTO `user_traffic_log` (`id`, `user_id`, `u`, `d`, `Node_ID`, `rate`, `traffic`, `log_time`) VALUES (NULL, '" + str(port_uid_table[id]) + "', '" + str(dt_transfer[id][0]) +"', '" + str(dt_transfer[id][1]) + "', '" + str(get_config().NODE_ID) + "', '" + str(get_config().TRANSFER_MUL) + "', '" + self.trafficShow(dt_transfer[id][0]+dt_transfer[id][1]) + "', unix_timestamp()); ")
cur.execute("INSERT INTO `user_traffic_log` (`id`, `user_id`, `u`, `d`, `Node_ID`, `rate`, `traffic`, `log_time`) VALUES (NULL, '" + str(port_uid_table[id]) + "', '" + str(dt_transfer[id][0]) +"', '" + str(dt_transfer[id][1]) + "', '" + str(get_config().NODE_ID) + "', '" + str(traffic_rate) + "', '" + self.trafficShow(dt_transfer[id][0]+dt_transfer[id][1]) + "', unix_timestamp()); ")
cur.close()

alive_user_count = alive_user_count + 1
Expand Down Expand Up @@ -144,23 +145,23 @@ def push_db_all_user(self):
continue
elif last_transfer[id][0] <= curr_transfer[id][0] and \
last_transfer[id][1] <= curr_transfer[id][1]:
dt_transfer[id] = [int((curr_transfer[id][0] - last_transfer[id][0]) * get_config().TRANSFER_MUL),
int((curr_transfer[id][1] - last_transfer[id][1]) * get_config().TRANSFER_MUL)]
dt_transfer[id] = [int((curr_transfer[id][0] - last_transfer[id][0]) * traffic_rate),
int((curr_transfer[id][1] - last_transfer[id][1]) * traffic_rate)]
else:
dt_transfer[id] = [int(curr_transfer[id][0] * get_config().TRANSFER_MUL),
int(curr_transfer[id][1] * get_config().TRANSFER_MUL)]
dt_transfer[id] = [int(curr_transfer[id][0] * traffic_rate),
int(curr_transfer[id][1] * traffic_rate)]
else:
if curr_transfer[id][0] == 0 and curr_transfer[id][1] == 0:
continue
dt_transfer[id] = [int(curr_transfer[id][0] * get_config().TRANSFER_MUL),
int(curr_transfer[id][1] * get_config().TRANSFER_MUL)]
dt_transfer[id] = [int(curr_transfer[id][0] * traffic_rate),
int(curr_transfer[id][1] * traffic_rate)]

self.update_all_user(dt_transfer)
self.last_get_transfer = curr_transfer

def pull_db_all_user(self):
import cymysql
global node_speedlimit
global node_speedlimit,traffic_rate
#数据库所有用户信息
try:
switchrule = importloader.load('switchrule')
Expand All @@ -171,15 +172,16 @@ def pull_db_all_user(self):
conn = cymysql.connect(host=get_config().MYSQL_HOST, port=get_config().MYSQL_PORT, user=get_config().MYSQL_USER,
passwd=get_config().MYSQL_PASS, db=get_config().MYSQL_DB, charset='utf8')
cur = conn.cursor()
cur.execute("SELECT `node_group`,`node_class`,`node_speedlimit` FROM ss_node where `id`='" + str(get_config().NODE_ID) + "' AND `node_bandwidth`<`node_bandwidth_limit` OR `node_bandwidth_limit`=0")
cur.execute("SELECT `node_group`,`node_class`,`node_speedlimit`,`traffic_rate` FROM ss_node where `id`='" + str(get_config().NODE_ID) + "' AND `node_bandwidth`<`node_bandwidth_limit` OR `node_bandwidth_limit`=0")
if cur.fetchone() == None :
rows = []
cur.close()
return rows
nodeinfo = cur.fetchone()
cur.close()

node_speedlimit = nodeinfo[2]
node_speedlimit = float(nodeinfo[2])
traffic_rate = float(nodeinfo[3])

if nodeinfo[0] == 0 :
node_group_sql = ""
Expand Down

0 comments on commit 7cbcf4d

Please sign in to comment.