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
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
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
alex037yang
openXG-WIC-Cnf
Commits
e4687bc8
Commit
e4687bc8
authored
Aug 13, 2020
by
ymwang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
动态网络拓扑下发
parent
76dad701
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
136 additions
and
29 deletions
+136
-29
apps/cnf-distributed-business-computing/dbc-business-client/src/main/resources/application.properties
...business-client/src/main/resources/application.properties
+1
-1
apps/cnf-distributed-file-transfer/dfs-transfer-client/pom.xml
...cnf-distributed-file-transfer/dfs-transfer-client/pom.xml
+5
-0
apps/cnf-distributed-file-transfer/dfs-transfer-client/src/main/java/top/ninwoo/app/dfs/client/service/FileService.java
...n/java/top/ninwoo/app/dfs/client/service/FileService.java
+28
-11
apps/cnf-distributed-file-transfer/dfs-transfer-client/src/main/resources/application.properties
...transfer-client/src/main/resources/application.properties
+1
-1
apps/cnf-distributed-file-transfer/dfs-transfer-topology/src/main/java/top/ninwoo/weixingsim/dynamicNet/CycleTopoUnit.java
.../java/top/ninwoo/weixingsim/dynamicNet/CycleTopoUnit.java
+4
-4
apps/cnf-distributed-file-transfer/dfs-transfer-topology/src/main/java/top/ninwoo/weixingsim/dynamicNet/TimeExpanGraph.java
...java/top/ninwoo/weixingsim/dynamicNet/TimeExpanGraph.java
+3
-3
apps/cnf-distributed-file-transfer/dfs-transfer-topology/src/main/resources/application.properties
...ansfer-topology/src/main/resources/application.properties
+1
-1
apps/cnf-distributed-file-transfer/dfs-transfer-topology/src/test/java/top/ninwoo/test/TopoTests.java
...fer-topology/src/test/java/top/ninwoo/test/TopoTests.java
+75
-5
cnf-edge-center/src/main/resources/application.yaml
cnf-edge-center/src/main/resources/application.yaml
+1
-1
cnf-test/src/main/resources/application.properties
cnf-test/src/main/resources/application.properties
+1
-1
cnf-test/src/test/java/top/ninwoo/YmwangDfsTests.java
cnf-test/src/test/java/top/ninwoo/YmwangDfsTests.java
+1
-1
docker/network-test/Dockerfile
docker/network-test/Dockerfile
+15
-0
No files found.
apps/cnf-distributed-business-computing/dbc-business-client/src/main/resources/application.properties
View file @
e4687bc8
...
...
@@ -4,7 +4,7 @@ server.port=8999
#接入云端的端口设置
bishe.app.app-name
=
joliu
#bishe.app.cloud-url=192.168.31.156:9090
bishe.app.cloud-url
=
192.168.
81.1
:9091
bishe.app.cloud-url
=
192.168.
31.190
:9091
#容器里的挂载目录
dbc.directory.output
=
/tmp/statics/
...
...
apps/cnf-distributed-file-transfer/dfs-transfer-client/pom.xml
View file @
e4687bc8
...
...
@@ -26,6 +26,11 @@
<artifactId>
dfs-file-utils
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
top.ninwoo
</groupId>
<artifactId>
dfs-transfer-topology
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
top.ninwoo
</groupId>
...
...
apps/cnf-distributed-file-transfer/dfs-transfer-client/src/main/java/top/ninwoo/app/dfs/client/service/FileService.java
View file @
e4687bc8
...
...
@@ -36,26 +36,37 @@ public class FileService {
@Autowired
private
TransferService
transferService
;
private
String
[]
ipList
=
null
;
Long
clusterId
=
11112
l
;
String
[]
wxName_list
=
new
String
[]{
"sate2"
,
"sate3"
,
"sate4"
,
"sate5"
,
"sate6"
,
"sate7"
,
"sate8"
,
"sate9"
,
"sate10"
,
"sate11"
,
"sate12"
,
"sate13"
,
"sate14"
,
"sate15"
,
"sate16"
,
"sate17"
,
"sate18"
,
"sate19"
,
"sate20"
,
"sate21"
,
"sate22"
,
"sate23"
,
"sate24"
,
"sate25"
,
"sate26"
,
"sate27"
,
"sate28"
,
"sate29"
,
"sate30"
};
//获取卫星名字
private
String
[]
ipList
=
null
;
@PostConstruct
public
void
init
()
{
ipList
=
getIpList
(
11112
l
,
"dfs_server"
);
System
.
out
.
println
(
Arrays
.
toString
(
ipList
));
//ipList = getIpList(11112l,"dfs_server");
for
(
int
k
=
0
;
k
<
wxName_list
.
length
;
k
++){
ipList
=
getIpList
(
clusterId
,
wxName_list
[
k
]);
//通过卫星名字获取卫星ip
}
}
/*获取容器ip*/
/* String[] ipList = new String[]{"127.0.0.1:8080","127.0.0.1:8081","127.0.0.1:8082","127.0.0.1:8083","127.0.0.1:8084",
"127.0.0.1:8085","127.0.0.1:8086","127.0.0.1:8087", "127.0.0.1:8088","127.0.0.1:8089",
"127.0.0.1:8180","127.0.0.1:8181","127.0.0.1:8182","127.0.0.1:8183","127.0.0.1:8184"};*/
public
String
[]
getIpList
(
Long
clusterId
,
String
appName
)
{
List
<
String
>
ipListS
=
networkService
.
getIpListByAppName
(
clusterId
,
appName
);
//用于存储容器ip的list集合
//List<String> ipListS = networkService.getIpListByAppName(clusterId, appName);//用于存储容器ip的list集合
List
<
String
>
ipListS
=
new
ArrayList
<>();
for
(
int
k
=
1
;
k
<
wxName_list
.
length
;
k
++){
ipListS
.
add
(
networkService
.
getIpListByAppName
(
clusterId
,
wxName_list
[
k
]).
toString
())
;
}
String
[]
containerIp
=
new
String
[
ipListS
.
size
()];
//将集合中的元素存在数组里,因为下边用的是数组
for
(
int
i
=
0
;
i
<
ipListS
.
size
();
i
++)
{
if
(!
ipListS
.
isEmpty
()){
String
ip_tmp
=
ipListS
.
get
(
i
);
String
[]
split_list
=
ip_tmp
.
split
(
"/"
);
String
rep
=
ip_tmp
.
replaceAll
(
"[\\[\\]]"
,
""
);
String
[]
split_list
=
rep
.
split
(
"/"
);
containerIp
[
i
]
=
split_list
[
0
]+
":8084"
;
}
}
...
...
@@ -71,7 +82,10 @@ public class FileService {
@Async
(
"taskExecutor"
)
public
String
sendFile
(
Long
fileId
,
byte
[]
fileBytes
)
{
// 通过集群服务器接口获取当前集群的节点数量
ipList
=
this
.
getIpList
(
11112
l
,
"dfs_server"
);
//ipList = this.getIpList(clusterId,"dfs_server");
for
(
int
i
=
0
;
i
<
wxName_list
.
length
;
i
++){
ipList
=
getIpList
(
clusterId
,
wxName_list
[
i
]);
//通过卫星名字获取卫星ip
}
int
sliceNum
=
ipList
.
length
;
//int sliceNum = 30;
...
...
@@ -117,7 +131,10 @@ public class FileService {
public
String
getFile
(
String
fileName
,
Long
fileId
)
{
ipList
=
this
.
getIpList
(
11112
l
,
"dfs_server"
);
//ipList = this.getIpList(clusterId,"dfs_server");
for
(
int
i
=
0
;
i
<
wxName_list
.
length
;
i
++){
ipList
=
getIpList
(
clusterId
,
wxName_list
[
i
]);
//通过卫星名字获取卫星ip
}
int
sliceNum
=
ipList
.
length
;
//int sliceNum = 30;
int
origNum
=
6
;
...
...
apps/cnf-distributed-file-transfer/dfs-transfer-client/src/main/resources/application.properties
View file @
e4687bc8
...
...
@@ -2,7 +2,7 @@ server.port=8099
bishe.app.app-name
=
joliu
#bishe.app.cloud-url=192.168.31.156:9090
bishe.app.cloud-url
=
192.168.
81.1
:9091
bishe.app.cloud-url
=
192.168.
31.190
:9091
dfs.directory.output
=
/tmp/static/
...
...
apps/cnf-distributed-file-transfer/dfs-transfer-topology/src/main/java/top/ninwoo/weixingsim/dynamicNet/CycleTopoUnit.java
View file @
e4687bc8
...
...
@@ -53,9 +53,9 @@ public class CycleTopoUnit {
Iterator
<
Map
.
Entry
<
Integer
,
int
[][]>>
iterator
=
TopoStore
.
entrySet
().
iterator
();
while
(
iterator
.
hasNext
()){
int
[][]
value
=
iterator
.
next
().
getValue
();
System
.
out
.
println
(
Arrays
.
deepToString
(
value
));
/*
System.out.println(Arrays.deepToString(value));
System.out.println("=========================================");
System
.
out
.
println
(
count2
);
System.out.println(count2);
*/
while
(
iterator
.
hasNext
()){
int
[][]
valueNext
=
iterator
.
next
().
getValue
();
for
(
int
i
=
0
;
i
<
value
.
length
;
i
++){
...
...
@@ -64,9 +64,9 @@ public class CycleTopoUnit {
}
if
(
count
!=
30
){
System
.
out
.
println
(
Arrays
.
deepToString
(
valueNext
));
/*
System.out.println(Arrays.deepToString(valueNext));
System.out.println("=========================================");
System
.
out
.
println
(
count2
);
System.out.println(count2);
*/
count2
++;
}
count
=
0
;
...
...
apps/cnf-distributed-file-transfer/dfs-transfer-topology/src/main/java/top/ninwoo/weixingsim/dynamicNet/TimeExpanGraph.java
View file @
e4687bc8
...
...
@@ -73,7 +73,7 @@ public class TimeExpanGraph {
HashMap
<
Integer
,
int
[][]>
cycleTp
=
cycleTp
();
//获得第1个时隙的连接矩阵 0或1
int
[][]
currentTp
=
cycleTp
.
get
((
slotKey
)%
30
0
+
1
);
int
[][]
currentTp
=
cycleTp
.
get
((
slotKey
)%
30
+
1
);
int
[][]
slot1
=
new
int
[
num
][
num
];
//10*10的矩阵图
for
(
int
i
=
0
;
i
<
slot1
.
length
;
i
++){
for
(
int
j
=
0
;
j
<
slot1
[
0
].
length
;
j
++){
...
...
@@ -95,7 +95,7 @@ public class TimeExpanGraph {
}*/
//获得第2个时隙的连接矩阵
currentTp
=
cycleTp
.
get
((
slotKey
)%
30
0
+
2
);
currentTp
=
cycleTp
.
get
((
slotKey
)%
30
+
2
);
int
[][]
slot2
=
new
int
[
num
][
num
];
for
(
int
i
=
0
;
i
<
slot2
.
length
;
i
++){
for
(
int
j
=
0
;
j
<
slot2
.
length
;
j
++){
...
...
@@ -111,7 +111,7 @@ public class TimeExpanGraph {
}
//获得第3个时隙的连接矩阵
currentTp
=
cycleTp
.
get
((
slotKey
)%
30
0
+
3
);
currentTp
=
cycleTp
.
get
((
slotKey
)%
30
+
3
);
int
[][]
slot3
=
new
int
[
num
][
num
];
for
(
int
i
=
0
;
i
<
slot3
.
length
;
i
++){
for
(
int
j
=
0
;
j
<
slot3
.
length
;
j
++){
...
...
apps/cnf-distributed-file-transfer/dfs-transfer-topology/src/main/resources/application.properties
View file @
e4687bc8
bishe.app.app-name
=
joliu
#bishe.app.cloud-url=192.168.31.156:9090
bishe.app.cloud-url
=
192.168.
81.1
:9091
bishe.app.cloud-url
=
192.168.
31.190
:9091
spring.influx.url
=
http://192.168.0.108:8086
spring.influx.user
=
admin
...
...
apps/cnf-distributed-file-transfer/dfs-transfer-topology/src/test/java/top/ninwoo/test/TopoTests.java
View file @
e4687bc8
...
...
@@ -39,7 +39,7 @@ public class TopoTests {
// TODO: 这个ID应该是从借口获取的
separatedClusterConfig
.
setEdgeNodeId
(
"192.168.31.198:18088"
);
ClusterConfig
clusterConfig
=
new
ClusterConfig
();
clusterConfig
.
setId
(
1111
1
l
);
clusterConfig
.
setId
(
1111
2
l
);
clusterConfig
.
setOwner
(
"joliu"
);
//从文本中获取卫星的数据
...
...
@@ -47,7 +47,7 @@ public class TopoTests {
ToponetImpl
tp
=
new
ToponetImpl
();
SimData
sd
=
new
SimData
();
//tp.delHistory();
File
file
=
new
File
(
"
D:\\LabratoryJavaPro\\codingDownload\\latestCodi
ng\\topusim_1.txt"
);
File
file
=
new
File
(
"
F:\\ymwa
ng\\topusim_1.txt"
);
// D:\LabratoryJavaPro\codingDownload\latestCoding\
List
<
WeiXingData
>
wxData
=
wx
.
iniTopo
(
file
,
sd
.
getZhouqi
());
int
[][]
toponet
=
tp
.
getTopology
(
wxData
,
sd
);
...
...
@@ -61,7 +61,8 @@ public class TopoTests {
DockerContainer
container0
=
new
DockerContainer
();
container0
.
setName
(
wxData
.
get
(
0
).
getName
());
container0
.
setCommand
(
"sh"
);
container0
.
setImage
(
"joliu/networktest:schedule"
);
container0
.
setImage
(
"dfs_client"
);
container0
.
setPorts
(
"8099"
);
//指定容器端口
containerDescription0
.
setDockerContainer
(
container0
);
cds
.
add
(
containerDescription0
);
...
...
@@ -73,7 +74,7 @@ public class TopoTests {
DockerContainer
container
=
new
DockerContainer
();
container
.
setName
(
wxData
.
get
(
k
).
getName
());
container
.
setCommand
(
"sh"
);
container
.
setImage
(
"
joliu/networktest:
server"
);
container
.
setImage
(
"
dfs_
server"
);
containerDescription
.
setDockerContainer
(
container
);
cds
.
add
(
containerDescription
);
...
...
@@ -82,7 +83,7 @@ public class TopoTests {
clusterConfig
.
setDockers
(
cds
);
NetworkTopology
topo
=
new
NetworkTopology
();
topo
.
setAppNames
(
tp
.
getAppNames
(
wxData
));
// 这个参数好像没啥用
// 这个参数好像没啥用
topo
.
setTopologyId
(
11
);
topo
.
setTopology
(
toponet
);
clusterConfig
.
setTopology
(
topo
);
...
...
@@ -91,4 +92,73 @@ public class TopoTests {
clusterService
.
sendClusterConfigToEdgeNode
(
clusterConfigs
);
}
//测试容器ip
@Test
public
void
getIpListByAppNameTest
()
{
//List<String> ipList = networkService.getIpListByAppName(11112L, "sate2");
//从文本中获取卫星的数据
WeixingImpl
wx
=
new
WeixingImpl
();
ToponetImpl
tp
=
new
ToponetImpl
();
SimData
sd
=
new
SimData
();
//tp.delHistory();
File
file
=
new
File
(
"F:\\ymwang\\topusim_1.txt"
);
List
<
WeiXingData
>
wxData
=
null
;
try
{
wxData
=
wx
.
iniTopo
(
file
,
sd
.
getZhouqi
());
}
catch
(
IllegalAccessException
e
)
{
e
.
printStackTrace
();
}
List
<
String
>
ipList
=
new
ArrayList
<>();
for
(
int
k
=
1
;
k
<
wxData
.
size
();
k
++){
String
appName
=
wxData
.
get
(
k
).
getName
();
ipList
.
add
(
networkService
.
getIpListByAppName
(
11112L
,
appName
).
toString
())
;
}
System
.
out
.
println
(
"长度:"
+
ipList
.
size
());
}
@Test
public
void
getIpList
()
{
//List<String> ipListS = networkService.getIpListByAppName(11112L, "dfs_server");
//从文本中获取卫星的数据
WeixingImpl
wx
=
new
WeixingImpl
();
ToponetImpl
tp
=
new
ToponetImpl
();
SimData
sd
=
new
SimData
();
//tp.delHistory();
File
file
=
new
File
(
"F:\\ymwang\\topusim_1.txt"
);
List
<
WeiXingData
>
wxData
=
null
;
try
{
wxData
=
wx
.
iniTopo
(
file
,
sd
.
getZhouqi
());
}
catch
(
IllegalAccessException
e
)
{
e
.
printStackTrace
();
}
List
<
String
>
ipListS
=
new
ArrayList
<>();
for
(
int
k
=
1
;
k
<
wxData
.
size
();
k
++){
String
appName
=
wxData
.
get
(
k
).
getName
();
ipListS
.
add
(
networkService
.
getIpListByAppName
(
11112L
,
appName
).
toString
())
;
}
String
[]
ipList
=
new
String
[
ipListS
.
size
()];
for
(
int
i
=
0
;
i
<
ipListS
.
size
();
i
++)
{
if
(!
ipListS
.
isEmpty
()){
String
ip_tmp
=
ipListS
.
get
(
i
);
String
rep
=
ip_tmp
.
replaceAll
(
"[\\[\\]]"
,
""
);
String
[]
split_list
=
rep
.
split
(
"/"
);
ipList
[
i
]
=
split_list
[
0
];
}
}
for
(
int
j
=
0
;
j
<
ipList
.
length
;
j
++)
{
System
.
out
.
println
(
ipList
[
j
]);
}
}
@Test
public
void
removeClusterFromEdgeNodeTest
()
{
clusterService
.
removeClusterFromEdgeNode
(
11112L
);
}
}
cnf-edge-center/src/main/resources/application.yaml
View file @
e4687bc8
...
...
@@ -25,7 +25,7 @@ bs:
edgenode
:
name
:
random
#ip-prefix: 192.168.31
ip-prefix
:
192
ip-prefix
:
192
.168.31
ipservice
:
#ip: ipservice.cnf.org:23333
ip
:
192.168.31.190:23333
...
...
cnf-test/src/main/resources/application.properties
View file @
e4687bc8
bishe.app.app-name
=
joliu
#bishe.app.cloud-url=192.168.31.156:9090
bishe.app.cloud-url
=
192.168.
81.1
:9091
bishe.app.cloud-url
=
192.168.
31.190
:9091
spring.influx.url
=
http://192.168.0.108:8086
spring.influx.user
=
admin
...
...
cnf-test/src/test/java/top/ninwoo/YmwangDfsTests.java
View file @
e4687bc8
...
...
@@ -33,7 +33,7 @@ public class YmwangDfsTests {
SeparatedClusterConfig
separatedClusterConfig
=
new
SeparatedClusterConfig
();
// TODO: 这个ID应该是从借口获取的
//separatedClusterConfig.setEdgeNodeId("192.168.31.198:8881");
separatedClusterConfig
.
setEdgeNodeId
(
"192.168.
81.133
:18088"
);
separatedClusterConfig
.
setEdgeNodeId
(
"192.168.
31.198
:18088"
);
ClusterConfig
clusterConfigStore
=
new
ClusterConfig
();
clusterConfigStore
.
setId
(
11112
l
);
clusterConfigStore
.
setOwner
(
"joliu"
);
...
...
docker/network-test/Dockerfile
View file @
e4687bc8
...
...
@@ -4,4 +4,19 @@ MAINTAINER Joliu<ljo0412@live.com>
RUN
yum
install
-y
http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
&&
\
yum install -y iperf iptables tc
RUN
yum
install
-y
net-tools.x86_64
RUN
mkdir
-p
/tmp/static
COPY
jdk1.8.0_111 jdk1.8.0_111
ENV
JAVA_HOME=/jdk1.8.0_111
ENV
PATH=$JAVA_HOME/bin:$PATH
ENV
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ADD
dfs-transfer-server-1.0-SNAPSHOT.jar dfs-server.jar
RUN
echo
"net.ipv4.ip_forward=1"
>>
/etc/sysctl.conf
ENTRYPOINT
["java","-jar","dbc_client.jar"]
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