Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-WIC-Cnf
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
3
Issues
3
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
CommunityXG
OpenXG-WIC-Cnf
Commits
bedba911
Commit
bedba911
authored
Aug 28, 2020
by
Hu Jintao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
csv功能
parent
75a1d0b1
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
459 additions
and
22 deletions
+459
-22
apps/cnf-path-computing/businessInCloud/src/main/java/top/ninwoo/test/CsvMerge/GetTopo.java
...Cloud/src/main/java/top/ninwoo/test/CsvMerge/GetTopo.java
+107
-0
apps/cnf-path-computing/businessInCloud/src/main/java/top/ninwoo/test/CsvMerge/ReadFile.java
...loud/src/main/java/top/ninwoo/test/CsvMerge/ReadFile.java
+173
-0
apps/cnf-path-computing/businessInCloud/src/main/java/top/ninwoo/test/CsvMerge/Wteg.java
...sInCloud/src/main/java/top/ninwoo/test/CsvMerge/Wteg.java
+143
-0
apps/cnf-path-computing/businessInCloud/src/main/java/top/ninwoo/test/doMap/DoMap.java
...essInCloud/src/main/java/top/ninwoo/test/doMap/DoMap.java
+31
-22
apps/cnf-path-computing/businessInDocker/src/main/java/com/pitong/business/Application.java
...Docker/src/main/java/com/pitong/business/Application.java
+5
-0
No files found.
apps/cnf-path-computing/businessInCloud/src/main/java/top/ninwoo/test/CsvMerge/GetTopo.java
0 → 100644
View file @
bedba911
package
top.ninwoo.test.CsvMerge
;
import
top.ninwoo.test.doMap.DoMap
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.util.Arrays
;
import
java.util.Date
;
public
class
GetTopo
{
public
static
void
main
(
String
[]
args
){
String
str
;
String
str1
;
String
str2
;
//传输时间参数
str
=
ReadFile
.
date
+
" 5-00-00"
;
System
.
out
.
println
(
Arrays
.
deepToString
(
TopoRequire
(
str
)));
//传输当前时间
Date
current
=
new
Date
();
Date
current1
=
new
Date
(
current
.
getTime
()+
(
long
)
DoMap
.
slot
);
Date
current2
=
new
Date
(
current1
.
getTime
()+
(
long
)
DoMap
.
slot
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH-mm-ss"
);
str
=
sdf
.
format
(
current
);
str1
=
sdf
.
format
(
current1
);
str2
=
sdf
.
format
(
current2
);
}
public
static
int
[][]
TopoRequire
(
String
str
)
{
//网络信息表
NodeL
[][]
parse
=
ReadFile
.
parse
();
LocalDate
dateC
=
LocalDate
.
now
();
ReadFile
.
date
=
dateC
.
getYear
()+
"-"
+
dateC
.
getMonthValue
()+
"-"
+
dateC
.
getDayOfMonth
();
Long
timeMillis
=
getTim
(
str
);
int
[][]
topo
=
getTp
(
parse
,
timeMillis
);
topo
=
reshape
(
topo
);
// System.out.println(Arrays.deepToString(topo));
return
topo
;
}
private
static
int
[][]
reshape
(
int
[][]
topo
)
{
int
[][]
topos
=
new
int
[
30
][
30
];
for
(
int
i
=
0
;
i
<
30
;
i
++){
for
(
int
j
=
0
;
j
<
30
;
j
++){
topos
[
i
][
j
]
=
topo
[
i
][
j
];
}
}
return
topos
;
}
public
static
Long
getTim
(
String
dateL
){
long
time
=
0L
;
SimpleDateFormat
sDF
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH-mm-ss"
);
try
{
time
=
sDF
.
parse
(
dateL
).
getTime
();
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
finally
{
return
time
;
}
}
public
static
int
[][]
getTp
(
NodeL
[][]
parse
,
Long
timeMillis
)
{
int
high
=
parse
.
length
;
int
width
=
parse
[
0
].
length
;
int
[][]
result
=
new
int
[
high
][
width
];
for
(
int
i
=
0
;
i
<
high
;
i
++){
for
(
int
j
=
0
;
j
<
width
;
j
++){
NodeL
tmp
=
parse
[
i
][
j
];
while
(
tmp
!=
null
){
if
(
tmp
.
start
<=
timeMillis
&&
tmp
.
end
>=
timeMillis
)
{
result
[
i
][
j
]
=
1
;
break
;
}
tmp
=
tmp
.
next
;
}
if
(
tmp
==
null
)
result
[
i
][
j
]=
0
;
}
}
return
result
;
}
}
apps/cnf-path-computing/businessInCloud/src/main/java/top/ninwoo/test/CsvMerge/ReadFile.java
0 → 100644
View file @
bedba911
package
top.ninwoo.test.CsvMerge
;
import
java.io.*
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.util.ArrayList
;
import
java.util.Iterator
;
public
class
ReadFile
{
/*
* 拓扑连接信息存储于矩阵NodeLS,
*
* */
public
static
void
main
(
String
[]
args
){
LocalDate
dateC
=
LocalDate
.
now
();
date
=
dateC
.
getYear
()+
"-"
+
dateC
.
getMonthValue
()+
"-"
+
dateC
.
getDayOfMonth
();
NodeL
[][]
parse
=
ReadFile
.
parse
();
long
timeMillis
=
System
.
currentTimeMillis
();
System
.
out
.
print
(
timeMillis
);
}
public
static
NodeL
[][]
parse
(){
File
csv
=
new
File
(
"leo72.csv"
);
// D:\LabratoryJavaPro\
BufferedReader
br
=
null
;
try
{
br
=
new
BufferedReader
(
new
FileReader
(
csv
));
}
catch
(
FileNotFoundException
e
)
{
e
.
printStackTrace
();
}
String
line
=
""
;
String
everyLine
=
""
;
ArrayList
<
String
>
allString
=
new
ArrayList
<>();
//处理每行数据
try
{
line
=
br
.
readLine
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
while
(
line
!=
null
){
everyLine
=
line
;
String
[]
strings
=
everyLine
.
split
(
","
);
for
(
String
s:
strings
){
if
(
s
.
charAt
(
0
)==
'L'
){
int
count
=
0
;
StringBuffer
str
=
new
StringBuffer
();
str
.
append
(
'L'
);
for
(
int
qq
=
1
;
qq
<
s
.
length
();
qq
++){
if
(
s
.
charAt
(
qq
)-
'0'
<
10
&&
s
.
charAt
(
qq
)-
'0'
>=
0
){
str
.
append
(
s
.
charAt
(
qq
));
count
++;
}
if
(
count
==
3
)
str
.
append
(
' '
);
}
s
=
str
.
toString
();
}
// System.out.println(s);
allString
.
add
(
s
);
}
try
{
line
=
br
.
readLine
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
// System.out.println("csv表格中所有行数:"+allString.size());
//处理字符链表至矩阵链表
NodeL
[][]
nodeLS
=
new
NodeL
[
6
*
12
][
6
*
12
];
//定位矩阵索引位
Iterator
<
String
>
allSItr
=
allString
.
iterator
();
//规避重复项
allSItr
.
next
();
while
(
allSItr
.
hasNext
()){
String
next
=
allSItr
.
next
();
//解析轨道行
if
(
next
.
charAt
(
0
)==
'L'
){
//转化字符串为数字
String
[]
s
=
new
String
[
2
];
split
(
next
,
s
);
//获取节点索引位置
int
row
=
Integer
.
valueOf
(
s
[
0
].
substring
(
1
));
int
column
=
Integer
.
valueOf
(
s
[
1
]);
//轨道面与节点编号转换公式
row
=
(
row
/
100
-
1
)*
12
+
row
%
100
-
1
;
column
=
(
column
/
100
-
1
)*
12
+
column
%
100
-
1
;
// 解析时间行
// 将读取数据转化为long型
NodeL
tmp
=
null
;
while
(
allSItr
.
hasNext
()){
next
=
allSItr
.
next
();
if
(
next
.
charAt
(
0
)!=
'L'
){
Long
start
=
shift
(
next
);
// System.out.println(start);
next
=
allSItr
.
next
();
Long
end
=
shift
(
next
);
NodeL
nodeL
=
new
NodeL
(
start
,
end
);
if
(
tmp
==
null
)
nodeLS
[
row
][
column
]
=
nodeL
;
if
(
tmp
!=
null
)
tmp
.
next
=
nodeL
;
tmp
=
nodeL
;
}
else
break
;
}
//显示赋值节点元素
/*System.out.print("拓扑第"+row+"行,第"+column+"列元素"+'\t');
NodeL show = nodeLS[row][column];
while (show!=null){
System.out.print("start="+show.start+" end="+show.end+'\t');
show = show.next;
}
System.out.println();*/
}
}
//填充链表
// System.out.println(nodeLS.);
return
nodeLS
;
}
private
static
void
split
(
String
next
,
String
[]
s
)
{
StringBuffer
sbr
=
new
StringBuffer
(
next
);
int
posi
=
0
;
int
index
=
0
;
int
start
=
0
;
for
(;
index
<
sbr
.
length
();
index
++){
if
(
sbr
.
charAt
(
index
)==
' '
)
{
s
[
posi
++]
=
sbr
.
substring
(
start
,
index
);
while
(
index
<
sbr
.
length
()
&&
sbr
.
charAt
(
index
)==
' '
)
index
++;
start
=
index
;
}
s
[
posi
]
=
sbr
.
substring
(
start
,
index
+
1
);
}
}
public
static
String
date
=
"1970-1-2"
;
private
static
Long
shift
(
String
next
)
{
long
time
=
0L
;
StringBuffer
sbr
=
new
StringBuffer
(
next
);
for
(
int
d
=
0
;
d
<
sbr
.
length
();
d
++){
if
(
sbr
.
charAt
(
d
)==
':'
)
sbr
.
setCharAt
(
d
,
'-'
);
}
String
dateL
=
date
+
" "
+
sbr
;
SimpleDateFormat
sDF
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH-mm-ss"
);
try
{
time
=
sDF
.
parse
(
dateL
).
getTime
();
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
finally
{
return
time
;
}
}
}
class
NodeL
{
public
Long
start
;
public
Long
end
;
public
NodeL
next
=
null
;
public
NodeL
(
Long
start
,
Long
end
)
{
this
.
start
=
start
;
this
.
end
=
end
;
}
}
\ No newline at end of file
apps/cnf-path-computing/businessInCloud/src/main/java/top/ninwoo/test/CsvMerge/Wteg.java
0 → 100644
View file @
bedba911
package
top.ninwoo.test.CsvMerge
;
import
top.ninwoo.test.doMap.DoMap
;
import
java.text.SimpleDateFormat
;
import
java.util.Arrays
;
import
java.util.Date
;
import
static
top
.
ninwoo
.
test
.
CsvMerge
.
GetTopo
.
TopoRequire
;
public
class
Wteg
{
//获取当前3时隙拓扑
/**
* 先用SimpleDateFormat.parse() 方法将日期字符串转化为Date格式
* 通过Date.getTime()方法,将其转化为毫秒数
*/
public
static
double
[][]
getWteg
()
{
//传输时间参数
String
str
;
String
str1
;
String
str2
;
//测试时间
str
=
ReadFile
.
date
+
" 5-00-00"
;
int
[][]
topo
=
TopoRequire
(
str
);
str1
=
ReadFile
.
date
+
" 5-00-20"
;
int
[][]
topo1
=
TopoRequire
(
str1
);
str2
=
ReadFile
.
date
+
" 5-00-40"
;
int
[][]
topo2
=
TopoRequire
(
str2
);
//动态获取当前时间topo
/* Date current = new Date();
Date current1 = new Date(current.getTime()+ (long)DoMap.slot);
Date current2 = new Date(current1.getTime()+ (long)DoMap.slot);
SimpleDateFormat sdf = new SimpleDateFormat(
"yyyy-MM-dd HH-mm-ss");
str = sdf.format(current);
str1 = sdf.format(current1);
str2 = sdf.format(current2);
int[][] topo = TopoRequire(str);
int[][] topo1 = TopoRequire(str1);
int[][] topo2 = TopoRequire(str2);*/
//获得单时隙连接矩阵 0或MAXWEIGHT
//等待下一时隙开始执行业务
int
num
=
DoMap
.
num
;
int
MAXWEIGHT
=
DoMap
.
MAXWEIGHT
;
double
slot
=
DoMap
.
slot
;
int
dev
=
DoMap
.
dev
;
double
[][]
slot1
=
new
double
[
num
][
num
];
for
(
int
i
=
0
;
i
<
slot1
.
length
;
i
++){
for
(
int
j
=
0
;
j
<
slot1
.
length
;
j
++){
if
(
topo
[
i
][
j
]==
0
){
if
(
i
==
j
){
slot1
[
i
][
j
]=
0.0
;
}
else
slot1
[
i
][
j
]
=
MAXWEIGHT
;
}
else
{
slot1
[
i
][
j
]
=
500
;
}
}
}
double
[][]
slot2
=
new
double
[
num
][
num
];
for
(
int
i
=
0
;
i
<
slot2
.
length
;
i
++){
for
(
int
j
=
0
;
j
<
slot2
.
length
;
j
++){
if
(
topo1
[
i
][
j
]==
0
){
if
(
i
==
j
){
slot2
[
i
][
j
]=
0.0
;
}
else
slot2
[
i
][
j
]
=
MAXWEIGHT
;
}
else
{
slot2
[
i
][
j
]
=
500
;
}
}
}
double
[][]
slot3
=
new
double
[
num
][
num
];
for
(
int
i
=
0
;
i
<
slot3
.
length
;
i
++){
for
(
int
j
=
0
;
j
<
slot3
.
length
;
j
++){
if
(
topo2
[
i
][
j
]==
0
){
if
(
i
==
j
){
slot3
[
i
][
j
]=
0.0
;
}
else
slot3
[
i
][
j
]
=
MAXWEIGHT
;
}
else
{
slot3
[
i
][
j
]
=
500
;
}
}
}
//生成相邻时隙矩阵
double
[][]
neighbor
=
new
double
[
num
][
num
];
for
(
int
i
=
0
;
i
<
neighbor
.
length
;
i
++){
for
(
int
j
=
0
;
j
<
neighbor
.
length
;
j
++){
if
(
i
==
j
){
neighbor
[
i
][
j
]
=
slot
;
}
else
{
neighbor
[
i
][
j
]
=
MAXWEIGHT
;
}
}
}
//生成其余时隙矩阵
double
[][]
nonNeighbor
=
new
double
[
num
][
num
];
for
(
int
i
=
0
;
i
<
nonNeighbor
.
length
;
i
++){
for
(
int
j
=
0
;
j
<
nonNeighbor
.
length
;
j
++){
nonNeighbor
[
i
][
j
]
=
MAXWEIGHT
;
}
}
//组装连接矩阵
double
[][]
edgeWeight
=
new
double
[
dev
][
dev
];
for
(
int
i
=
0
;
i
<
edgeWeight
.
length
;
i
++){
for
(
int
j
=
0
;
j
<
edgeWeight
.
length
;
j
++){
if
(
i
>=
0
&
i
<
num
&
j
>=
0
&
j
<
num
)
{
edgeWeight
[
i
][
j
]
=
slot1
[
i
][
j
];
}
else
if
(
i
>=
num
&
i
<
2
*
num
&
j
>=
num
&
j
<
2
*
num
)
{
edgeWeight
[
i
][
j
]
=
slot2
[
i
%
num
][
j
%
num
];
}
else
if
(
i
>=
2
*
num
&
i
<
3
*
num
&
j
>=
2
*
num
&
j
<
3
*
num
)
{
edgeWeight
[
i
][
j
]
=
slot3
[
i
%
num
][
j
%
num
];
}
else
if
((
i
>=
0
&
i
<
num
&
j
>=
num
&
j
<
2
*
num
)
||
(
i
>=
num
&
i
<
2
*
num
&
j
>=
2
*
num
&
j
<
3
*
num
)){
edgeWeight
[
i
][
j
]
=
neighbor
[
i
%
num
][
j
%
num
];
}
else
{
edgeWeight
[
i
][
j
]
=
nonNeighbor
[
i
%
num
][
j
%
num
];
}
}
}
return
edgeWeight
;
}
}
apps/cnf-path-computing/businessInCloud/src/main/java/top/ninwoo/test/doMap/DoMap.java
View file @
bedba911
package
top.ninwoo.test.doMap
;
package
top.ninwoo.test.doMap
;
import
top.ninwoo.test.CsvMerge.Wteg
;
import
java.text.ParseException
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.*
;
...
@@ -17,7 +19,7 @@ public class DoMap {
...
@@ -17,7 +19,7 @@ public class DoMap {
//最大权值
//最大权值
static
final
int
MAXWEIGHT
=
10000
*
1000
;
public
static
final
int
MAXWEIGHT
=
10000
*
1000
;
/*
/*
* 业务参数
* 业务参数
...
@@ -44,7 +46,7 @@ public class DoMap {
...
@@ -44,7 +46,7 @@ public class DoMap {
* 网络参数
* 网络参数
*/
*/
//设备数
//设备数
static
int
num
=
30
;
public
static
int
num
=
30
;
//设备计算能力参数s GB/s
//设备计算能力参数s GB/s
static
double
[]
nt
=
{
1.112341341313
,
0.5196272109574349
,
0.675827555541419
,
0.7637869915859579
,
0.7998320296858645
,
static
double
[]
nt
=
{
1.112341341313
,
0.5196272109574349
,
0.675827555541419
,
0.7637869915859579
,
0.7998320296858645
,
0.638652700648973
,
0.6396760676518485
,
0.5615337810185533
,
0.6356797503522186
,
0.8266103444996542
,
0.6924037701405794
,
0.638652700648973
,
0.6396760676518485
,
0.5615337810185533
,
0.6356797503522186
,
0.8266103444996542
,
0.6924037701405794
,
...
@@ -52,11 +54,11 @@ public class DoMap {
...
@@ -52,11 +54,11 @@ public class DoMap {
0.5610722256465777
,
0.6415780028672076
,
0.9371892689
,
0.5269659075274151
,
0.8219152161388867
,
0.5815463889106197
,
0.5610722256465777
,
0.6415780028672076
,
0.9371892689
,
0.5269659075274151
,
0.8219152161388867
,
0.5815463889106197
,
0.8431429542046349
,
0.31386253514456774
,
0.6045132365410817
,
0.8102279249524735
,
0.47057296148341216
,
0.8529743685059654
,
0.8177711194660409
};
//30节点
0.8431429542046349
,
0.31386253514456774
,
0.6045132365410817
,
0.8102279249524735
,
0.47057296148341216
,
0.8529743685059654
,
0.8177711194660409
};
//30节点
//时隙大小
//时隙大小
static
double
slot
=
20
*
1000
;
public
static
double
slot
=
20
*
1000
;
//时隙数目
//时隙数目
static
int
slotnum
;
static
int
slotnum
;
//网络节点数
//网络节点数
static
int
dev
;
public
static
int
dev
;
//初始化时延偏移量
//初始化时延偏移量
//这里需要一个时钟输入
//这里需要一个时钟输入
static
double
testLatency
=
0
;
static
double
testLatency
=
0
;
...
@@ -109,7 +111,14 @@ public class DoMap {
...
@@ -109,7 +111,14 @@ public class DoMap {
dev
=
num
*
slotnum
;
dev
=
num
*
slotnum
;
n2
=
dev
-
N_STABLE
*
slotnum
;
n2
=
dev
-
N_STABLE
*
slotnum
;
//1组装最短路矩阵
//1组装最短路矩阵
double
[][]
edgeWeight
=
WTEG
();
// double[][] edgeWeight = WTEG();
double
[][]
edgeWeight
=
Wteg
.
getWteg
();
//最短路由矩阵
//最短路由矩阵
/*System.out.println("DoMap直连边权重");
/*System.out.println("DoMap直连边权重");
System.out.println(Arrays.deepToString(edgeWeight));*/
System.out.println(Arrays.deepToString(edgeWeight));*/
...
@@ -156,22 +165,22 @@ public class DoMap {
...
@@ -156,22 +165,22 @@ public class DoMap {
}
}
//3根据分配结果,回溯每一条路由
//3根据分配结果,回溯每一条路由
lastHop
=
pathRecord
.
lastHop
;
lastHop
=
pathRecord
.
lastHop
;
for
(
int
i
=
0
;
i
<
link
[
0
].
length
;
i
++){
//
for (int i = 0;i<link[0].length;i++){
int
start
=
best_par
.
taskfinal
[
link
[
0
][
i
]];
//
int start = best_par.taskfinal[link[0][i]];
int
end
=
best_par
.
taskfinal
[
link
[
1
][
i
]];
//
int end = best_par.taskfinal[link[1][i]];
while
(
lastHop
[
start
][
end
]
!=
0
){
//
while(lastHop[start][end] != 0){
/*
if (lastHop[start][end] == start){
//
if (lastHop[start][end] == start){
//
}else if(lastHop[start][end] == end){
//
}else if(lastHop[start][end] == end){
route[i+1].push((lastHop[start][end])+1);
//
route[i+1].push((lastHop[start][end])+1);
break;
//
break;
}else{*/
// }else{
route
[
i
+
1
].
push
((
lastHop
[
start
][
end
])+
1
);
//
route[i+1].push((lastHop[start][end])+1);
//route[i+1].push((lastHop[start][end]%num)+1);
//
//route[i+1].push((lastHop[start][end]%num)+1);
//
end
=
lastHop
[
start
][
end
];
//
end = lastHop[start][end];
}
//
}
}
//
}
/* System.out.println("--------------------------");
/* System.out.println("--------------------------");
System.out.println("shortest route : ");*/
System.out.println("shortest route : ");*/
//输出最短路由[1, 2, 3, 3, 9, 16, 40]
//输出最短路由[1, 2, 3, 3, 9, 16, 40]
...
@@ -624,7 +633,7 @@ public class DoMap {
...
@@ -624,7 +633,7 @@ public class DoMap {
max_trans
=
Math
.
max
(
max_trans
,
transv
);
max_trans
=
Math
.
max
(
max_trans
,
transv
);
}
}
}
}
compu
[
i
]
=
nt
[
par
.
taskfinal
[
i
]%
num
]*
D
[
i
];
compu
[
i
]
=
D
[
i
]/
nt
[
par
.
taskfinal
[
i
]%
num
];
accu
[
i
]
=
compu
[
i
]
+
max_trans
;
accu
[
i
]
=
compu
[
i
]
+
max_trans
;
//modify
//modify
if
(
accu
[
i
]
>
(
par
.
taskfinal
[
i
]/
num
+
1
)*
slot
)
{
if
(
accu
[
i
]
>
(
par
.
taskfinal
[
i
]/
num
+
1
)*
slot
)
{
...
...
apps/cnf-path-computing/businessInDocker/src/main/java/com/pitong/business/Application.java
View file @
bedba911
...
@@ -119,6 +119,11 @@ public class Application implements ApplicationRunner {
...
@@ -119,6 +119,11 @@ public class Application implements ApplicationRunner {
//转发
//转发
newDataPackage
.
setPicture
(
picPara
.
removeFirst
());
newDataPackage
.
setPicture
(
picPara
.
removeFirst
());
transferService
.
transferPackage
(
newDataPackage
,
newDataPackage
.
getNextSataHop
(),
time
);
transferService
.
transferPackage
(
newDataPackage
,
newDataPackage
.
getNextSataHop
(),
time
);
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
}
}
// }
// }
}
else
{
//仅作转发的节点
}
else
{
//仅作转发的节点
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment