Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
neo4jRelation
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
qiuchaofei
neo4jRelation
Commits
c5d98f29
Commit
c5d98f29
authored
Jun 16, 2022
by
qiuchaofei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.修改同步节点的方法,2去掉system.out的打印。3.同步过程中在map中移除已经存在的节点。
parent
5f373286
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
66 additions
and
35 deletions
+66
-35
pom.xml
pom.xml
+13
-6
RelationalGraphController.java
...etadataRelation/controller/RelationalGraphController.java
+1
-1
AsyncDataFromMongoToNeo4j.java
...a/metadataRelation/service/AsyncDataFromMongoToNeo4j.java
+4
-4
BaseRelationshipServiceImpl.java
...ataRelation/service/impl/BaseRelationshipServiceImpl.java
+1
-1
MetadataRelationServiceImpl.java
...ataRelation/service/impl/MetadataRelationServiceImpl.java
+1
-1
MetadataServiceImpl.java
...ta/metadataRelation/service/impl/MetadataServiceImpl.java
+40
-16
MultiModelServiceImpl.java
.../metadataRelation/service/impl/MultiModelServiceImpl.java
+1
-1
SchemaServiceImpl.java
...data/metadataRelation/service/impl/SchemaServiceImpl.java
+1
-1
TableServiceImpl.java
...adata/metadataRelation/service/impl/TableServiceImpl.java
+3
-3
Neo4jTool.java
...m/keymobile/metadata/metadataRelation/util/Neo4jTool.java
+1
-1
No files found.
pom.xml
View file @
c5d98f29
...
@@ -52,7 +52,18 @@
...
@@ -52,7 +52,18 @@
<artifactId>
neo4j-ogm-http-driver
</artifactId>
<artifactId>
neo4j-ogm-http-driver
</artifactId>
<version>
3.0.0
</version>
<version>
3.0.0
</version>
</dependency>
</dependency>
<!-- add this dependency if you want to use the embedded driver -->
<!-- add this dependency if you want to use the embedded driver
<dependency>
<groupId>com.steelbridgelabs.oss</groupId>
<artifactId>neo4j-gremlin-bolt</artifactId>
<version>0.3.1</version>
</dependency>
-->
<dependency>
<!-- If you're using the Bolt driver -->
<groupId>
org.neo4j
</groupId>
<artifactId>
neo4j-ogm-bolt-driver
</artifactId>
<version>
3.0.0
</version>
</dependency>
<dependency>
<dependency>
<groupId>
org.neo4j
</groupId>
<groupId>
org.neo4j
</groupId>
<artifactId>
neo4j-ogm-embedded-driver
</artifactId>
<artifactId>
neo4j-ogm-embedded-driver
</artifactId>
...
@@ -99,11 +110,7 @@
...
@@ -99,11 +110,7 @@
<artifactId>
guava
</artifactId>
<artifactId>
guava
</artifactId>
<version>
20.0
</version>
<version>
20.0
</version>
</dependency>
</dependency>
<dependency>
<groupId>
com.steelbridgelabs.oss
</groupId>
<artifactId>
neo4j-gremlin-bolt
</artifactId>
<version>
0.3.1
</version>
</dependency>
<dependency>
<dependency>
...
...
src/main/java/com/keymobile/metadata/metadataRelation/controller/RelationalGraphController.java
View file @
c5d98f29
...
@@ -305,7 +305,7 @@ public class RelationalGraphController {
...
@@ -305,7 +305,7 @@ public class RelationalGraphController {
@RequestMapping
(
path
=
"/getIp"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
path
=
"/getIp"
,
method
=
RequestMethod
.
GET
)
public
String
getIp
(
Integer
numbers
)
{
public
String
getIp
(
Integer
numbers
)
{
String
ip
=
getIp
();
String
ip
=
getIp
();
System
.
out
.
println
(
"请求的ip是:"
+
ip
);
//
System.out.println("请求的ip是:"+ip);
return
ip
;
return
ip
;
}
}
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/AsyncDataFromMongoToNeo4j.java
View file @
c5d98f29
...
@@ -93,7 +93,7 @@ public class AsyncDataFromMongoToNeo4j {
...
@@ -93,7 +93,7 @@ public class AsyncDataFromMongoToNeo4j {
metadataService
.
deleteTempNodeByCatalogName
(
catalogName
);
metadataService
.
deleteTempNodeByCatalogName
(
catalogName
);
metadataService
.
createTempNode
(
catalogName
);
metadataService
.
createTempNode
(
catalogName
);
long
end
=
System
.
currentTimeMillis
();
long
end
=
System
.
currentTimeMillis
();
logger
.
info
(
"同步数据完成,用时:"
+(
end
-
start
));
logger
.
info
(
"同步数据完成,
总共
用时:"
+(
end
-
start
));
}
}
@Async
@Async
public
void
asyncJobFromMongo2Neo4j
(
String
catalogName
,
String
jobId
)
{
public
void
asyncJobFromMongo2Neo4j
(
String
catalogName
,
String
jobId
)
{
...
@@ -101,7 +101,7 @@ public class AsyncDataFromMongoToNeo4j {
...
@@ -101,7 +101,7 @@ public class AsyncDataFromMongoToNeo4j {
CompletableFuture
<
String
>
future
=
asyncRelation
.
asyncJobFromMongo2Neo4j
(
catalogName
,
jobId
);
CompletableFuture
<
String
>
future
=
asyncRelation
.
asyncJobFromMongo2Neo4j
(
catalogName
,
jobId
);
try
{
try
{
String
message
=
future
.
get
();
String
message
=
future
.
get
();
System
.
out
.
println
(
"message:"
+
message
);
//
System.out.println("message:"+message);
}
catch
(
InterruptedException
e
)
{
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
catch
(
ExecutionException
e
)
{
}
catch
(
ExecutionException
e
)
{
...
@@ -111,7 +111,7 @@ public class AsyncDataFromMongoToNeo4j {
...
@@ -111,7 +111,7 @@ public class AsyncDataFromMongoToNeo4j {
//先按照环境id,作业id,删除关系,然后同步关系,
//先按照环境id,作业id,删除关系,然后同步关系,
// 一般来说,关系的字段已经存在neo4j,但是sql不一定存在,
// 一般来说,关系的字段已经存在neo4j,但是sql不一定存在,
// 如果sql不存在,需要先同步sql ,srcipt,job,再建立关系。
// 如果sql不存在,需要先同步sql ,srcipt,job,再建立关系。
//
metadataRelationService.deleteRelationByJobId(catalogName,jobId);
metadataRelationService
.
deleteRelationByJobId
(
catalogName
,
jobId
);
//
metadataRelationService.syschroRelationFromMongo(catalogName,jobId);
metadataRelationService
.
syschroRelationFromMongo
(
catalogName
,
jobId
);
}
}
}
}
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/BaseRelationshipServiceImpl.java
View file @
c5d98f29
...
@@ -52,7 +52,7 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
...
@@ -52,7 +52,7 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
List
<
BaseRelationship
>
baseRelationshipList
=
new
ArrayList
<>();
List
<
BaseRelationship
>
baseRelationshipList
=
new
ArrayList
<>();
for
(
CompositionRelation
compositionRelation
:
compositionRelationList
)
{
for
(
CompositionRelation
compositionRelation
:
compositionRelationList
)
{
System
.
out
.
println
(
"compositionRelation:"
+
compositionRelation
);
//
System.out.println("compositionRelation:"+compositionRelation);
if
(
compositionRelation
==
null
){
if
(
compositionRelation
==
null
){
continue
;
continue
;
}
}
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/MetadataRelationServiceImpl.java
View file @
c5d98f29
...
@@ -400,7 +400,7 @@ public class MetadataRelationServiceImpl implements IMetadataRelationService {
...
@@ -400,7 +400,7 @@ public class MetadataRelationServiceImpl implements IMetadataRelationService {
// Driver neo4jConnection = neo4jConfig.getNeo4jConnection();
// Driver neo4jConnection = neo4jConfig.getNeo4jConnection();
// Session session = neo4jConnection.session();
// Session session = neo4jConnection.session();
String
cypher
=
"match (n)-[r:`流向`]-(m) where r.jobId =
"
+
jobId
+
" delete r"
;
String
cypher
=
"match (n)-[r:`流向`]-(m) where r.jobId =
\""
+
jobId
+
"\
" delete r"
;
logger
.
info
(
"删除数据的语句:"
+
cypher
);
logger
.
info
(
"删除数据的语句:"
+
cypher
);
StatementResult
statementResult
=
session
.
run
(
cypher
);
StatementResult
statementResult
=
session
.
run
(
cypher
);
while
(
statementResult
.
hasNext
()){
while
(
statementResult
.
hasNext
()){
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/MetadataServiceImpl.java
View file @
c5d98f29
...
@@ -50,7 +50,8 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -50,7 +50,8 @@ public class MetadataServiceImpl implements IMetadataService {
@Autowired
@Autowired
private
IBaseRelationshipService
relationshipService
;
private
IBaseRelationshipService
relationshipService
;
@Autowired
IMetadataRelationService
metadataRelationService
;
@Autowired
@Autowired
private
DependencyRelationResposity
dependencyRelationResposity
;
private
DependencyRelationResposity
dependencyRelationResposity
;
...
@@ -578,7 +579,7 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -578,7 +579,7 @@ public class MetadataServiceImpl implements IMetadataService {
Record
record
=
result
.
next
();
Record
record
=
result
.
next
();
List
<
Value
>
values
=
record
.
values
();
List
<
Value
>
values
=
record
.
values
();
for
(
Value
value
:
values
)
{
for
(
Value
value
:
values
)
{
System
.
out
.
println
(
TypeString
+
value
.
type
().
name
());
//
System.out.println(TypeString+value.type().name());
if
(
value
.
type
().
name
().
equals
(
"NODE"
)){
if
(
value
.
type
().
name
().
equals
(
"NODE"
)){
Node
node
=
value
.
asNode
();
Node
node
=
value
.
asNode
();
...
@@ -605,7 +606,7 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -605,7 +606,7 @@ public class MetadataServiceImpl implements IMetadataService {
String
cypher
=
"match p=(n:softplatform{name:\""
+
metadataName
+
"\"}) <-[r]-(m:softplatform) return p"
;
String
cypher
=
"match p=(n:softplatform{name:\""
+
metadataName
+
"\"}) <-[r]-(m:softplatform) return p"
;
int
count
=
returnReslult
.
getCount
();
int
count
=
returnReslult
.
getCount
();
System
.
out
.
println
(
count
+
" ;cypher:"
+
cypher
);
//
System.out.println(count+" ;cypher:"+cypher);
if
(
count
>
layer
){
if
(
count
>
layer
){
return
;
return
;
}
}
...
@@ -707,7 +708,7 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -707,7 +708,7 @@ public class MetadataServiceImpl implements IMetadataService {
String
cypher
=
"match p=(n:softplatform{name:\""
+
metadataName
+
"\"}) -[r]->(m:softplatform) return p"
;
String
cypher
=
"match p=(n:softplatform{name:\""
+
metadataName
+
"\"}) -[r]->(m:softplatform) return p"
;
int
count
=
returnReslult
.
getCount
();
int
count
=
returnReslult
.
getCount
();
System
.
out
.
println
(
count
+
" ;cypher:"
+
cypher
);
//
System.out.println(count+" ;cypher:"+cypher);
if
(
count
>
layer
){
if
(
count
>
layer
){
return
;
return
;
}
}
...
@@ -868,7 +869,7 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -868,7 +869,7 @@ public class MetadataServiceImpl implements IMetadataService {
Record
record
=
result
.
next
();
Record
record
=
result
.
next
();
List
<
Value
>
values
=
record
.
values
();
List
<
Value
>
values
=
record
.
values
();
for
(
Value
value
:
values
)
{
for
(
Value
value
:
values
)
{
System
.
out
.
println
(
TypeString
+
value
.
type
().
name
());
//
System.out.println(TypeString+value.type().name());
if
(
value
.
type
().
name
().
equals
(
"NODE"
)){
if
(
value
.
type
().
name
().
equals
(
"NODE"
)){
Node
node
=
value
.
asNode
();
Node
node
=
value
.
asNode
();
...
@@ -1259,12 +1260,12 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -1259,12 +1260,12 @@ public class MetadataServiceImpl implements IMetadataService {
Map
<
String
,
Neo4jSchema
>
neo4jSchemaMap
,
Map
<
String
,
Neo4jTable
>
neo4jTableIdMap
,
String
schemaId
)
{
Map
<
String
,
Neo4jSchema
>
neo4jSchemaMap
,
Map
<
String
,
Neo4jTable
>
neo4jTableIdMap
,
String
schemaId
)
{
long
time1
=
System
.
currentTimeMillis
();
long
time1
=
System
.
currentTimeMillis
();
Map
<
String
,
String
>
tableIdMap
=
schemaService
.
getTableIdFromSchemaId
(
schemaId
);
Map
<
String
,
String
>
tableIdMap
FromNeo4j
=
schemaService
.
getTableIdFromSchemaId
(
schemaId
);
long
time2
=
System
.
currentTimeMillis
();
long
time2
=
System
.
currentTimeMillis
();
logger
.
info
(
"从neo4j 获取 schema:"
+
schemaId
+
" 的表个数:"
+
tableIdMap
.
size
()
+
" , 耗时:"
+(
time2
-
time1
));
logger
.
info
(
"从neo4j 获取 schema:"
+
schemaId
+
" 的表个数:"
+
tableIdMap
FromNeo4j
.
size
()
+
" , 耗时:"
+(
time2
-
time1
));
List
<
Neo4jTable
>
neo4jTableList
=
new
ArrayList
<>();
List
<
Neo4jTable
>
neo4jTableList
=
new
ArrayList
<>();
int
tableCount
=
1
;
int
tableCount
=
0
;
long
columnTime0
=
System
.
currentTimeMillis
();
long
columnTime0
=
System
.
currentTimeMillis
();
//用游标的方式,不要用分页获取
//用游标的方式,不要用分页获取
int
batchSize
=
5000
;
int
batchSize
=
5000
;
...
@@ -1279,7 +1280,8 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -1279,7 +1280,8 @@ public class MetadataServiceImpl implements IMetadataService {
Document
tableDocument
=
tableCursor
.
next
();
Document
tableDocument
=
tableCursor
.
next
();
String
tableId
=(
String
)
tableDocument
.
get
(
"_id"
);
String
tableId
=(
String
)
tableDocument
.
get
(
"_id"
);
//存在了,就不写入
//存在了,就不写入
if
(
tableIdMap
.
containsKey
(
tableId
)){
if
(
tableIdMapFromNeo4j
.
containsKey
(
tableId
)){
tableIdMapFromNeo4j
.
remove
(
tableId
);
continue
;
continue
;
}
}
...
@@ -1316,17 +1318,18 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -1316,17 +1318,18 @@ public class MetadataServiceImpl implements IMetadataService {
compositionRelationList
.
add
(
schem2Table
);
compositionRelationList
.
add
(
schem2Table
);
neo4jTableIdMap
.
put
(
neo4jTable
.
getMetadataId
(),
neo4jTable
);
neo4jTableIdMap
.
put
(
neo4jTable
.
getMetadataId
(),
neo4jTable
);
tableCount
++;
if
(
tableCount
%
batchSize
==
0
){
if
(
tableCount
%
batchSize
==
0
){
neo4jTableRepository
.
saveAll
(
neo4jTableList
);
neo4jTableRepository
.
saveAll
(
neo4jTableList
);
logger
.
info
(
"同步了:"
+
tableCount
+
"个表。"
+
tableId
);
logger
.
info
(
"同步了:"
+
tableCount
+
"个表。"
+
tableId
);
neo4jTableList
.
clear
();
neo4jTableList
.
clear
();
}
}
tableCount
++;
}
}
if
(
tableCursor
!=
null
){
if
(
tableCursor
!=
null
){
tableCursor
.
close
();
tableCursor
.
close
();
}
}
logger
.
info
(
"需要删除的表个数:"
+
tableIdMapFromNeo4j
.
size
());
if
(
neo4jTableList
.
size
()!=
0
){
if
(
neo4jTableList
.
size
()!=
0
){
neo4jTableRepository
.
saveAll
(
neo4jTableList
);
neo4jTableRepository
.
saveAll
(
neo4jTableList
);
logger
.
info
(
"继续同步同步了:"
+
neo4jTableList
.
size
()+
"个表。"
);
logger
.
info
(
"继续同步同步了:"
+
neo4jTableList
.
size
()+
"个表。"
);
...
@@ -1351,6 +1354,7 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -1351,6 +1354,7 @@ public class MetadataServiceImpl implements IMetadataService {
Map
<
String
,
ReturnNode
>
schemaMap
=
schemaService
.
getSchemaBySystemId
(
neo4jSystem
.
getMetadataId
());
Map
<
String
,
ReturnNode
>
schemaMap
=
schemaService
.
getSchemaBySystemId
(
neo4jSystem
.
getMetadataId
());
for
(
MongoData
schemaData:
schemaDataList
){
for
(
MongoData
schemaData:
schemaDataList
){
logger
.
info
(
"开始同步schema:"
+
schemaData
.
getName
());
//系统与schema的关系
//系统与schema的关系
String
schemaData_id
=
schemaData
.
get_id
();
String
schemaData_id
=
schemaData
.
get_id
();
Neo4jSchema
neo4jSchema
=
new
Neo4jSchema
();
Neo4jSchema
neo4jSchema
=
new
Neo4jSchema
();
...
@@ -1445,6 +1449,7 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -1445,6 +1449,7 @@ public class MetadataServiceImpl implements IMetadataService {
Document
columnDocument
=
columnCursor
.
next
();
Document
columnDocument
=
columnCursor
.
next
();
String
columnId
=(
String
)
columnDocument
.
get
(
"_id"
);
String
columnId
=(
String
)
columnDocument
.
get
(
"_id"
);
if
(
columnFromSchemaId
.
containsKey
(
columnId
)){
if
(
columnFromSchemaId
.
containsKey
(
columnId
)){
columnFromSchemaId
.
remove
(
columnId
);
continue
;
continue
;
}
}
String
metadataName
=(
String
)
columnDocument
.
get
(
"name"
);
String
metadataName
=(
String
)
columnDocument
.
get
(
"name"
);
...
@@ -1473,6 +1478,7 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -1473,6 +1478,7 @@ public class MetadataServiceImpl implements IMetadataService {
neo4jColumnList
.
clear
();
neo4jColumnList
.
clear
();
}
}
}
}
logger
.
info
(
"需要删除的表个数:"
+
columnFromSchemaId
.
size
());
if
(
neo4jColumnList
.
size
()!=
0
){
if
(
neo4jColumnList
.
size
()!=
0
){
neo4jColumnRepository
.
saveAll
(
neo4jColumnList
);
neo4jColumnRepository
.
saveAll
(
neo4jColumnList
);
neo4jColumnList
.
clear
();
neo4jColumnList
.
clear
();
...
@@ -1764,7 +1770,7 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -1764,7 +1770,7 @@ public class MetadataServiceImpl implements IMetadataService {
Neo4jSystem
neo4jSystem
=
getNeo4jSystem
(
dataBaseData
,
systemDataMap
);
Neo4jSystem
neo4jSystem
=
getNeo4jSystem
(
dataBaseData
,
systemDataMap
);
logger
.
info
(
"获取的系统是:"
+
neo4jSystem
);
//
logger.info("获取的系统是:"+neo4jSystem);
Neo4jETLJob
neo4jETLJob
=
new
Neo4jETLJob
();
Neo4jETLJob
neo4jETLJob
=
new
Neo4jETLJob
();
neo4jETLJob
.
setMetadataId
(
etlJobData
.
get_id
());
neo4jETLJob
.
setMetadataId
(
etlJobData
.
get_id
());
neo4jETLJob
.
setName
(
etlJobData
.
getName
());
neo4jETLJob
.
setName
(
etlJobData
.
getName
());
...
@@ -2022,6 +2028,7 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -2022,6 +2028,7 @@ public class MetadataServiceImpl implements IMetadataService {
logger
.
info
(
"从mongo获取的关系的总数量是:"
+
totalElement
+
" ,耗时:"
+(
time1
-
time0
)
);
logger
.
info
(
"从mongo获取的关系的总数量是:"
+
totalElement
+
" ,耗时:"
+(
time1
-
time0
)
);
int
totalPageCount
=
((
int
)
totalElement
/
pageSize
)+
1
;
int
totalPageCount
=
((
int
)
totalElement
/
pageSize
)+
1
;
Map
<
String
,
String
>
jobidMap
=
new
HashMap
<>();
Map
<
String
,
DependencyRelation
>
dependencyRelationMap
=
new
HashMap
<>();
Map
<
String
,
DependencyRelation
>
dependencyRelationMap
=
new
HashMap
<>();
Map
<
String
,
BaseNode
>
baseNodeMap
=
new
HashMap
<>();
Map
<
String
,
BaseNode
>
baseNodeMap
=
new
HashMap
<>();
...
@@ -2038,6 +2045,8 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -2038,6 +2045,8 @@ public class MetadataServiceImpl implements IMetadataService {
Map
<
String
,
String
>
attributeMap
=
new
HashMap
<>();
Map
<
String
,
String
>
attributeMap
=
new
HashMap
<>();
String
jobId
=
relation
.
getString
(
JobIdString
);
String
jobId
=
relation
.
getString
(
JobIdString
);
attributeMap
.
put
(
JobIdString
,
jobId
);
attributeMap
.
put
(
JobIdString
,
jobId
);
jobidMap
.
put
(
jobId
,
""
);
String
description
=
relation
.
getString
(
DescriptionString
);
String
description
=
relation
.
getString
(
DescriptionString
);
if
(
description
==
null
){
if
(
description
==
null
){
description
=
"0"
;
description
=
"0"
;
...
@@ -2078,6 +2087,13 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -2078,6 +2087,13 @@ public class MetadataServiceImpl implements IMetadataService {
getRelationFromSourceAndTarget
(
dependencyRelationMap
,
attributeMap
,
sourceId
,
targetId
,
sourceIdPath
,
targetIdPath
,
baseNodeMap
);
getRelationFromSourceAndTarget
(
dependencyRelationMap
,
attributeMap
,
sourceId
,
targetId
,
sourceIdPath
,
targetIdPath
,
baseNodeMap
);
}
}
}
}
//先删除neo4j中的关系
for
(
Object
obj
:
jobidMap
.
keySet
()){
String
jobId
=
(
String
)
obj
;
metadataRelationService
.
deleteRelationByJobId
(
catalogName
,
jobId
);
}
long
start
=
System
.
currentTimeMillis
();
long
start
=
System
.
currentTimeMillis
();
saveRelationFromEdgeIdMap
(
dependencyRelationMap
);
saveRelationFromEdgeIdMap
(
dependencyRelationMap
);
long
end
=
System
.
currentTimeMillis
();
long
end
=
System
.
currentTimeMillis
();
...
@@ -2138,7 +2154,7 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -2138,7 +2154,7 @@ public class MetadataServiceImpl implements IMetadataService {
long
time1
=
System
.
currentTimeMillis
();
long
time1
=
System
.
currentTimeMillis
();
logger
.
info
(
"从mongo获取的关系的总数量是:"
+
totalElement
+
" ,耗时:"
+(
time1
-
time0
)
);
logger
.
info
(
"从mongo获取的关系的总数量是:"
+
totalElement
+
" ,耗时:"
+(
time1
-
time0
)
);
int
totalPageCount
=
((
int
)
totalElement
/
pageSize
)+
1
;
int
totalPageCount
=
((
int
)
totalElement
/
pageSize
)+
1
;
Map
<
String
,
String
>
jobidMap
=
new
HashMap
<>();
logger
.
info
(
"准备分页从mongo获取关系,每页:"
+
pageSize
);
logger
.
info
(
"准备分页从mongo获取关系,每页:"
+
pageSize
);
for
(;
page
<
totalPageCount
;
page
++){
for
(;
page
<
totalPageCount
;
page
++){
logger
.
info
(
"开始从 mongo 第"
+(
page
+
1
)
+
" 次获取关系。"
);
logger
.
info
(
"开始从 mongo 第"
+(
page
+
1
)
+
" 次获取关系。"
);
...
@@ -2153,6 +2169,7 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -2153,6 +2169,7 @@ public class MetadataServiceImpl implements IMetadataService {
if
(
jobId
==
null
){
if
(
jobId
==
null
){
jobId
=
"0"
;
jobId
=
"0"
;
}
}
jobidMap
.
put
(
jobId
,
""
);
attributeMap
.
put
(
JobIdString
,
jobId
);
attributeMap
.
put
(
JobIdString
,
jobId
);
String
description
=
relation
.
getString
(
DescriptionString
);
String
description
=
relation
.
getString
(
DescriptionString
);
if
(
description
==
null
||
description
.
equals
(
""
)){
if
(
description
==
null
||
description
.
equals
(
""
)){
...
@@ -2199,6 +2216,13 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -2199,6 +2216,13 @@ public class MetadataServiceImpl implements IMetadataService {
}
}
}
}
long
start
=
System
.
currentTimeMillis
();
long
start
=
System
.
currentTimeMillis
();
//先删除neo4j中的关系
for
(
Object
obj
:
jobidMap
.
keySet
()){
String
jobId
=
(
String
)
obj
;
metadataRelationService
.
deleteRelationByJobId
(
catalogName
,
jobId
);
}
saveRelationFromEdgeIdMap
(
dependencyRelationMap
);
saveRelationFromEdgeIdMap
(
dependencyRelationMap
);
long
end
=
System
.
currentTimeMillis
();
long
end
=
System
.
currentTimeMillis
();
logger
.
info
(
"一共在neo4j,创建了多少关系:"
+
dependencyRelationMap
.
size
()
+
" ,总用时:"
+(
end
-
start
));
logger
.
info
(
"一共在neo4j,创建了多少关系:"
+
dependencyRelationMap
.
size
()
+
" ,总用时:"
+(
end
-
start
));
...
@@ -2301,9 +2325,9 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -2301,9 +2325,9 @@ public class MetadataServiceImpl implements IMetadataService {
baseNode
=
neo4jETLSqlRepository
.
findNeo4jETLSqlByMetadataId
(
metadataId
);
baseNode
=
neo4jETLSqlRepository
.
findNeo4jETLSqlByMetadataId
(
metadataId
);
}
}
long
time2
=
System
.
currentTimeMillis
();
long
time2
=
System
.
currentTimeMillis
();
logger
.
info
(
"查询:"
+
metadataId
+
" ,用时:"
+
(
time2
-
time1
));
//
logger.info("查询:"+metadataId +" ,用时:"+ (time2-time1));
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
logger
.
info
(
"采用cypher查询
。"
);
logger
.
info
(
"采用cypher查询
:"
+
metadataId
);
String
cypher
=
"match(n{metadataId:\""
+
metadataId
+
"\"}) return n limit 1 "
;
String
cypher
=
"match(n{metadataId:\""
+
metadataId
+
"\"}) return n limit 1 "
;
StatementResult
statementResult
=
session
.
run
(
cypher
);
StatementResult
statementResult
=
session
.
run
(
cypher
);
while
(
statementResult
.
hasNext
()){
while
(
statementResult
.
hasNext
()){
...
@@ -2845,7 +2869,7 @@ class neo4jRelaionTask implements Callable<List<ReturnEdge>>{
...
@@ -2845,7 +2869,7 @@ class neo4jRelaionTask implements Callable<List<ReturnEdge>>{
" return s.metadataId as metadataId "
;
" return s.metadataId as metadataId "
;
}
}
System
.
out
.
println
(
"impactCypher:"
+
impactCypher
);
//
System.out.println("impactCypher:"+impactCypher);
StatementResult
impactResult1
=
session
.
run
(
impactCypher
);
StatementResult
impactResult1
=
session
.
run
(
impactCypher
);
while
(
impactResult1
.
hasNext
())
{
while
(
impactResult1
.
hasNext
())
{
...
@@ -2855,7 +2879,7 @@ class neo4jRelaionTask implements Callable<List<ReturnEdge>>{
...
@@ -2855,7 +2879,7 @@ class neo4jRelaionTask implements Callable<List<ReturnEdge>>{
for
(
Value
value
:
values
)
{
for
(
Value
value
:
values
)
{
String
id
=
value
.
asString
(
"metadataId"
);
String
id
=
value
.
asString
(
"metadataId"
);
System
.
out
.
println
(
metadataId
+
"-->>"
+
id
);
//
System.out.println(metadataId+"-->>"+id);
ReturnEdge
edge
=
new
ReturnEdge
();
ReturnEdge
edge
=
new
ReturnEdge
();
// edge.setEdgeId();
// edge.setEdgeId();
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/MultiModelServiceImpl.java
View file @
c5d98f29
...
@@ -382,7 +382,7 @@ public class MultiModelServiceImpl implements MultiModelService {
...
@@ -382,7 +382,7 @@ public class MultiModelServiceImpl implements MultiModelService {
for
(
Object
obj
:
objectMap
.
keySet
()){
for
(
Object
obj
:
objectMap
.
keySet
()){
if
(
obj
.
equals
(
"name"
)){
if
(
obj
.
equals
(
"name"
)){
System
.
out
.
println
(
"obj :"
+
obj
+
" value :"
+
objectMap
.
get
(
"name"
));
//
System.out.println("obj :"+ obj + " value :"+ objectMap.get("name"));
}
}
}
}
}
}
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/SchemaServiceImpl.java
View file @
c5d98f29
...
@@ -313,7 +313,7 @@ public class SchemaServiceImpl implements ISchemaService {
...
@@ -313,7 +313,7 @@ public class SchemaServiceImpl implements ISchemaService {
int
pageSize
=
100
;
int
pageSize
=
100
;
int
page
=
jdcount
/
pageSize
;
int
page
=
jdcount
/
pageSize
;
for
(
int
i
=
0
;
i
<
page
+
1
;
i
++){
for
(
int
i
=
0
;
i
<
page
+
1
;
i
++){
detailCypher
=
"match (n:Neo4jSchema{metadataId:\""
+
schemaId
+
"\"})-->(m:Neo4jTable) return m.metadataId as id skip "
+(
page
*
pageSize
)
+
" limit "
+
pageSize
;
detailCypher
=
"match (n:Neo4jSchema{metadataId:\""
+
schemaId
+
"\"})-->(m:Neo4jTable) return m.metadataId as id skip "
+(
i
*
pageSize
)
+
" limit "
+
pageSize
;
StatementResult
detailResult
=
session
.
run
(
detailCypher
);
StatementResult
detailResult
=
session
.
run
(
detailCypher
);
while
(
detailResult
.
hasNext
()){
while
(
detailResult
.
hasNext
()){
Record
record
=
detailResult
.
next
();
Record
record
=
detailResult
.
next
();
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/TableServiceImpl.java
View file @
c5d98f29
...
@@ -596,12 +596,12 @@ public class TableServiceImpl implements ITableService {
...
@@ -596,12 +596,12 @@ public class TableServiceImpl implements ITableService {
ReturnEdge
returnEdge
=
returnEdgeMap
.
get
(
obj
);
ReturnEdge
returnEdge
=
returnEdgeMap
.
get
(
obj
);
returnReslult
.
getEdges
().
add
(
returnEdge
);
returnReslult
.
getEdges
().
add
(
returnEdge
);
}
}
System
.
out
.
println
(
"查询run次数:"
+
runCypherCount
+
" , 时间:"
+
runCypherTime
);
//
System.out.println("查询run次数:"+runCypherCount +" , 时间:"+runCypherTime);
System
.
out
.
println
(
"查询respossitory次数:"
+
respossitoryCount
+
" , 时间:"
+
respossitoryTime
);
//
System.out.println("查询respossitory次数:"+respossitoryCount +" , 时间:"+respossitoryTime);
long
timeEnd
=
System
.
currentTimeMillis
();
long
timeEnd
=
System
.
currentTimeMillis
();
System
.
out
.
println
(
"总耗时:"
+(
timeEnd
-
timeStart
));
//
System.out.println("总耗时:"+(timeEnd-timeStart));
return
returnReslult
;
return
returnReslult
;
}
}
...
...
src/main/java/com/keymobile/metadata/metadataRelation/util/Neo4jTool.java
View file @
c5d98f29
...
@@ -29,7 +29,7 @@ public class Neo4jTool {
...
@@ -29,7 +29,7 @@ public class Neo4jTool {
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
System
.
out
.
println
(
"transMap2Bean Error "
+
e
);
//
System.out.println("transMap2Bean Error " + e);
}
}
return
;
return
;
...
...
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