A communication adversarial effect evaluation method based on knowledge graph

By analyzing node connection relationships and interference impacts based on a knowledge graph approach, we solved the problem in existing technologies that cannot fully reflect the confrontation effects of complex communication networks, and achieved accurate evaluation and efficient interference impact calculation.

CN120455233BActive Publication Date: 2025-09-09THE 54TH RESEARCH INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY GROUP CORPORATION

Patent Information

Application Number
CN202510932959.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-08
Publication Date
2025-09-09
Estimated Expiration
2045-07-08

AI Technical Summary

Technical Problem

Existing communication adversarial effect evaluation methods cannot fully and accurately reflect the complex connection relationships and interference interactions between nodes in large-scale, dynamically changing network environments, resulting in inaccurate evaluation results.

Method used

A knowledge graph-based method is adopted to analyze the node connection relationship and interference impact through graph database technology, calculate the effective communication relationship and path, and combine the path optimization algorithm to evaluate the communication confrontation effect.

Benefits of technology

It achieves accurate node relationship modeling and efficient interference impact calculation for large-scale, dynamically changing communication networks, providing more comprehensive support for communication countermeasure effect evaluation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120455233B_ABST
    Figure CN120455233B_ABST
Patent Text Reader

Abstract

The present invention provides a method for evaluating the effects of communication confrontation based on a knowledge graph, which relates to the field of communication confrontation. The present invention first constructs a knowledge graph of the communication network, converts nodes, communication relationships, and interference relationships into a graph structure, and represents the connection and interference between nodes through the edges in the graph. Then, the node connection relationship is obtained through graph query, the impact of interference and communication quality is calculated, and the shortest path between nodes is calculated using a graph algorithm to achieve an evaluation of the communication effect. The present invention aims to provide a more comprehensive and accurate evaluation of the effects of communication confrontation from the perspective of complex communication networking by analyzing the connection relationship and information transmission path between communication nodes. Through this method, the effect of communication confrontation can be evaluated from the global perspective of the communication network, thereby improving the comprehensiveness and accuracy of the evaluation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication confrontation, and specifically to a communication confrontation effect evaluation method based on knowledge graph. Background Art

[0002] With the rapid development of information technology, communication networks play a vital role in modern society. However, as network scale expands and application scenarios become more complex, the impact of communication countermeasures on networks is becoming increasingly significant. Existing methods for evaluating the effects of communication countermeasures mostly focus on the electromagnetic link layer, modeling and analyzing factors such as interference and deception in signal transmission.

[0003] In the patent application for "Bit Error Rate Estimation Method under Communication Interference Based on Attention Deep Neural Network" filed by the 54th Research Institute of China Electronics Technology Group Corporation, with authorization announcement number CN118174802B, although a data-driven estimation method for bit error rate under communication interference is provided through deep neural networks, it mainly focuses on interference estimation at the signal level and focuses on predicting bit error rate based on deep learning models based on specific data sets. However, this method ignores the interrelationships between nodes in complex communication networks, the influence of multiple communication methods, and the anti-interference effects. Therefore, when faced with a large-scale, dynamically changing network environment, it is difficult to comprehensively and accurately evaluate the communication anti-interference effects of the entire network.

[0004] In the patent application "A Method for Evaluating Interference Effects on Communication Satellites," filed by Hunan Econovi Technology Co., Ltd. and published under the publication number CN116050053A, interference effects are assessed by constructing a multi-level indicator evaluation system and model, combined with signal-level modeling. While this approach provides a certain analytical basis, it relies on signal-level modeling, typically requiring the processing of large amounts of complex signal data, and the computational process is complex and time-consuming. Furthermore, signal-level evaluation methods pay little attention to the overall structure of the communication network and the relationships between nodes, failing to effectively reflect the dynamic changes and multi-factor interference in complex networks.

[0005] While these methods can provide an assessment of adversarial effectiveness, they mostly overlook the complex connectivity, dynamic changes, and interference interactions between nodes in communication networks. Traditional assessment methods typically focus on electromagnetic link analysis, primarily examining the quality of communication links and the degree of interference in signal transmission. This approach ignores factors such as node connectivity, path selection, and dynamic network topology within complex communication networks, resulting in assessment results that fail to fully reflect the overall adversarial effectiveness of the network in complex environments. Therefore, how to comprehensively assess the communication adversarial effectiveness between nodes from the perspective of communication networking becomes a key issue in addressing the shortcomings of existing assessment methods. Summary of the Invention

[0006] In light of this, this paper proposes a knowledge graph-based communication adversarial effectiveness assessment method. This method aims to provide more comprehensive and accurate assessment support by analyzing node connectivity, communication quality, and interference impact in complex communication networks. This method addresses the shortcomings of existing assessment methods and enables a more comprehensive assessment of communication adversarial effectiveness.

[0007] A communication adversarial effect evaluation method based on knowledge graph includes the following steps:

[0008] Step 1: Input node and relationship data and save them in the graph database;

[0009] Step 2: Calculate the effective communication relationship based on the communication confrontation results;

[0010] Step 3: Get all communication types;

[0011] Step 4: Get the corresponding relationship of node identification;

[0012] Step 5: Calculate the paths between nodes under different communication types to complete the communication adversarial effect evaluation based on the knowledge graph.

[0013] Furthermore, in step 1, the node and relationship data are input and saved in the graph database as follows:

[0014] Step 1-1: Enter the information of the communication nodes one by one, including the node label and properties. The properties include name, camp, distance position x, azimuth position y, and time. After completion, save the node information data as a data file nodes.npy.

[0015] Step 1-2: Enter the relationships between the communication nodes one by one, including the label of node 1, the attribute name of node 1, the label of node 2, the attribute name of node 2, the relationship name, and the relationship attributes; the relationship attributes include the communication distance, the communication type, the camp, and the time tag. After completion, save the node relationship data as a data file called relationships.npy.

[0016] Step 1-3: Create a graph database connection:

[0017] The GraphDatabase tool based on the neo4j package connects to the Neo4j graph database by providing database connection information, including database address, username, and password;

[0018] Steps 1-4: Node data storage:

[0019] Load the stored node data nodes.npy into memory, then create nodes in batches based on the loaded data. Use Cypher language to construct node data storage instructions so that the dictionary type data read from nodes.npy can be converted into the neo4j node data structure and stored in the graph database.

[0020] Steps 1-5: Relational Data Storage:

[0021] Load the stored node relationship data relationships.npy into memory, then create node relationships in batches based on the loaded data, and use Cypher language to construct node relationship data storage instructions so that the dictionary type data read from relationships.npy can be converted into neo4j's node relationship data structure and stored in the graph database.

[0022] Furthermore, in step 2, the effective communication relationship is calculated based on the communication confrontation result, specifically in the following manner:

[0023] Step 2-1: Extract the nodes that send and receive communication signals at the same time point time_value and their node relationships; a represents the sending node, b represents the receiving node, and r represents the node relationship between them, and obtain the communication query result;

[0024] Step 2-2: Traverse the communication query results and create a communication relationship dictionary containing node information for each communication query result; the key of the communication relationship dictionary includes the element_id, label and attribute of node a and node b, the node relationship between node a and node b, and the value is the corresponding value;

[0025] Step 2-3: Calculate the communication ratio comm_ratio between node a and node b based on the communication relationship dictionary; this ratio is calculated based on the positions of the nodes and the properties of the node relationship:

[0026] ;

[0027] in, are the distance positions of node a and node b respectively, are the azimuth positions of node a and node b respectively, is the communication distance between node a and node b;

[0028] Step 2-4: Set the initial cumulative value of the interference probability jamming_ratio_tandem; find the interference node c that has an interference relationship with the receiving node b, and the interference relationship between c and b exists at the same time point time_value;

[0029] Step 2-5: For each interfering node c, calculate the jamming probability jamming_ratio, which is based on the distance position between b and c and the properties of the node relationship:

[0030] ;

[0031] in, is the distance to the position of node c, is the azimuthal position of node c, is the communication distance between node c and node b;

[0032] Multiply the jamming probabilities of all interfering nodes c for the receiving node b by the sum of the jamming_ratios, and record it as the final jamming_ratio.

[0033] Multiply the initial cumulative value of the interference probability jamming_ratio_tandem by (1-jamming_ratio), and record the result as the updated cumulative value of the interference probability jamming_ratio_tandem;

[0034] Step 2-6: Calculate the probability of establishing a communication relationship between nodes a and b under the influence of the interference relationship:

[0035] comm_ratio= (1-jamming_ratio_tandem)*comm_ratio;

[0036] Step 2-7: Record valid communications; generate a random number uniformly distributed between [0, 1]. If the probability of a communication relationship being established (comm_ratio) is greater than this random number, store the communication relationship in the list comm_dict. comm_dict is a dictionary format used to store each node and the receiving node under its communication type. The key value is the element_id of node a, and the value is a list used to store the communication type and element_id of each node that has a communication relationship with node a during the traversal query process.

[0037] Furthermore, in step 3, all communication types are obtained as follows:

[0038] Step 3-1: Initialize the communication relationship list comm_list;

[0039] Step 3-2: Use the Neo4j graph database to query and obtain all node relationships r between nodes that are active at the specified time point time_value. The query condition is that node a and node b are at the same time point time_value and there is a communication relationship from a to b. The query result result1 contains all communication relationships that meet the conditions.

[0040] Step 3-3: Traverse each record in the query result and extract each communication relationship; convert each communication relationship into a dictionary, where the key of the dictionary includes the element_id, label and attribute of node a and node b, the node relationship between node a and node b, and the value is the corresponding value;

[0041] Step 3-4: Traverse each dictionary in step 3-3, extract the communication type and add it to the list; determine whether comm_list is empty. If it is empty, directly add the comm type of the current communication relationship to comm_list. If it is not empty, check whether the current communication type already exists in comm_list. If not, add it. This step avoids duplicate communication types.

[0042] Furthermore, in step 4, the node identification correspondence is obtained in the following manner:

[0043] Step 4-1: Execute a database query to obtain node information and construct a Cypher query to query all nodes n in the graph database that are active at the specified time_value;

[0044] Step 4-2: Traverse the query results, build a mapping relationship, traverse each record in the query result, extract each node n, and create a dictionary node_n containing the node information, where element_id is the unique identifier of the node, Labels is the label of the node, and properties is the attribute of the node, stored in the form of a dictionary;

[0045] Step 4-3: Create a mapping from identifier to name. Create a mapping relationship based on the node's element_id and properties['name'], use element_id as the key and the node's name as the value, and store it in the id_name_mapping dictionary.

[0046] Furthermore, in step 5, the shortest paths between nodes of different types are calculated as follows:

[0047] Step 5-1: traverse the communication capability list comm_list and obtain the communication capability comm;

[0048] Step 5-2: Traverse the communication relationship to build a graph:

[0049] Traverse the connection relationship of each node in comm_dict. For each specified communication type comm, if the communication type exists in the connection relationship of the node, traverse all connected nodes under the communication type in the connection relationship of the node, and build a graph to establish a connection, indicating that there is a communication link under this communication type between the traversed node in the current comm_dict and the corresponding connected node;

[0050] Step 5-3: Traverse all node pairs and calculate the shortest path:

[0051] Set paths_id and paths_name to store the node ID path and node name path respectively, traverse all pairs of nodes start_node and end_node, and if they are different, use the breadth-first traversal algorithm to calculate the path from start_node to end_node in the graph, and store the found paths in two dictionaries, node ID path and node name path respectively.

[0052] Due to the adoption of the above method, the present invention has the following beneficial effects compared with the background technology:

[0053] 1. This invention enables accurate node relationship modeling. Based on graph database technology, it can accurately represent the communication and interference relationships between nodes and adapt to large-scale, dynamically changing communication networks.

[0054] 2. The present invention can achieve efficient interference impact calculation. By considering the influence of interfering nodes and combining it with a path optimization algorithm, it can effectively evaluate the impact of interference on communication quality, providing a reliable basis for network optimization.

[0055] 3. The present invention has strong scalability and good compatibility. It is applicable to various existing communication network architectures and has good scalability to adapt to future network changes. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] Figure 1 Flowchart of a method according to an embodiment of the present invention.

[0057] Figure 2 This is the knowledge graph node management diagram of an embodiment of the present invention.

[0058] Figure 3 This is a knowledge graph relationship management diagram of an embodiment of the present invention.

[0059] Figure 4 A communication adversarial knowledge graph constructed for an embodiment of the present invention. Detailed implementation manners

[0060] The present invention will be further described below in conjunction with the accompanying drawings and specific implementation manners.

[0061] A communication countermeasure effect evaluation method based on a knowledge graph, the overall process of which is as Figure 1 shown. Specifically, it includes the following steps:

[0062] Step 1: Input node and relationship data and store it in a graph database;

[0063] Step 1-1: Input the information of communication nodes one by one, including node labels Label and attributes Properties, where the attributes include name, camp, distance position x, azimuth position y, time label time, and preset identifier uuid; the preset identifier uuid can be used to assist in identifying nodes, and the camp is used to identify two states of communication and interference, red for communication, and blue for interference; after completion, save the node information data as a data file nodes.npy, as Figure 2 shown. One content of the data file nodes.npy is: [{'label': 'node', 'properties': {'name': 'A', 'camp':'red', 'x': '0', 'y': '0', 'time': '0', 'uuid': '1'}};

[0064] In addition, there is also the following content:

[0065] {'label': 'node', 'properties': {'name': 'B', 'camp':'red', 'x': '0', 'y': '2', 'time': '0', 'uuid': '2'}}

[0066] {'label': 'node', 'properties': {'name': 'C', 'camp':'red', 'x': '2', 'y': '0', 'time': '0', 'uuid': '3'}}

[0067] {'label': 'node', 'properties': {'name': 'D', 'camp':'red', 'x': '2', 'y': '2', 'time': '0', 'uuid': '4'}}

[0068] {"label": "node", "properties": {"name": "E", "camp": "Red", "x": "4", "y": "0", "time": "0", "uuid": "5"}}

[0069] {"label": "node", "properties": {"name": "F", "camp": "Blue", "x": "4", "y": "4", "time": "0", "uuid": "6"}}

[0070] {"label": "node", "properties": {"name": "G", "camp": "Blue", "x": "0", "y": "4", "time": "0", "uuid": "7"}}

[0071] Step 1-2: Input the relationships between communication nodes one by one, including the label Label of node 1, the attribute name name of node 1, the label Label of node 2, the attribute name name of node 2, the relationship name, and the relationship attributes. The relationship attributes include communication distance distance, communication type comm, camp, availability enable, and time label time. After completion, save the node relationship data as a data file relationships.npy, as Figure 3 shown. One of the contents of the data file relationships.npy is:

[0072] [{"label1": "node", "label2": "node", "relationship": "Communication", "properties1": {"uuid": "5", "name": "E"}, "properties2": {"uuid": "2", "name": "B"}, "relationship_properties": {"time": "0", "camp": "Red", "enable": "TRUE", "distance": "10", "comm": "1"}};

[0073] In addition, there are the following contents:

[0074] {"label1": "node", "label2": "node", "relationship": "Communication", "properties1": {"uuid": "5", "name": "E"}, "properties2": {"uuid": "1", "name": "A"}, "relationship_properties": {"time": "0", "camp": "Red", "enable": "TRUE", "distance": "10", "comm": "1"}}

[0075] {"label1": "node", "label2": "node", "relationship": "Communication", "properties1": {"uuid": "5", "name": "E"}, "properties2": {"uuid": "3", "name": "C"}, "relationship_properties": {"time": "0", "camp": "Red", "enable": "TRUE", "distance": "10", "comm": "1"}}

[0076] {"label1": "node", "label2": "node", "relationship": "Communication", "properties1": {"uuid": "5", "name": "E"}, "properties2": {"uuid": "4", "name": "D"}, "relationship_properties": {"time": "0", "camp": "Red", "enable": "TRUE", "distance": "10", "comm": "1"}}

[0077] {"label1": "node", "label2": "node", "relationship": "interference", "properties1": {"uuid": "6", "name": "F"}, "properties2": {"uuid": "1", "name": "A"}, "relationship_properties": {"time": "0", "camp": "blue", "enable": "TRUE", "distance": "20"}}

[0078] {"label1": "node", "label2": "node", "relationship": "interference", "properties1": {"uuid": "6", "name": "F"}, "properties2": {"uuid": "2", "name": "B"}, "relationship_properties": {"time": "0", "camp": "blue", "enable": "TRUE", "distance": "20"}}

[0079] {"label1": "node", "label2": "node", "relationship": "interference", "properties1": {"uuid": "6", "name": "F"}, "properties2": {"uuid": "3", "name": "C"}, "relationship_properties": {"time": "0", "camp": "blue", "enable": "TRUE", "distance": "20"}}

[0080] {"label1": "node", "label2": "node", "relationship": "interference", "properties1": {"uuid": "6", "name": "F"}, "properties2": {"uuid": "4", "name": "D"}, "relationship_properties": {"time": "0", "camp": "blue", "enable": "TRUE", "distance": "20"}}

[0081] {"label1": "node", "label2": "node", "relationship": "interference", "properties1": {"uuid": "6", "name": "F"}, "properties2": {"uuid": "5", "name": "E"}, "relationship_properties": {"time": "0", "camp": "blue", "enable": "TRUE", "distance": "20"}}

[0082] {"label1": "node", "label2": "node", "relationship": "interference", "properties1": {"uuid": "7", "name": "G"}, "properties2": {"uuid": "1", "name": "A"}, "relationship_properties": {"time": "0", "camp": "blue", "enable": "TRUE", "distance": "20"}}

[0083] {"label1": "node", "label2": "node", "relationship": "interference", "properties1": {"uuid": "7", "name": "G"}, "properties2": {"uuid": "2", "name": "B"}, "relationship_properties": {"time": "0", "camp": "blue", "enable": "TRUE", "distance": "20"}}

[0084] {"label1": "node", "label2": "node", "relationship": "interference", "properties1": {"uuid": "7", "name": "G"}, "properties2": {"uuid": "3", "name": "C"}, "relationship_properties": {"time": "0", "camp": "blue", "enable": "TRUE", "distance": "20"}}

[0085] {"label1": "node", "label2": "node", "relationship": "interference", "properties1": {"uuid": "7", "name": "G"}, "properties2": {"uuid": "4", "name": "D"}, "relationship_properties": {"time": "0", "camp": "blue", "enable": "TRUE", "distance": "20"}}

[0086] {"label1": "node", "label2": "node", "relationship": "Interference", "properties1": {"uuid": "7", "name": "G"}, "properties2": {"uuid": "5", "name": "E"}, "relationship_properties": {"time": "0", "camp": "Blue", "enable": "TRUE", "distance": "20"}}

[0087] {"label1": "node", "label2": "node", "relationship": "Communication", "properties1": {"name": "B", "uuid": "2"}, "properties2": {"name": "A", "uuid": "1"}, "relationship_properties": {"distance": "20", "time": "0", "camp": "Red", "enable": "TRUE", "comm": "2"}}

[0088] {"label1": "node", "label2": "node", "relationship": "Communication", "properties1": {"name": "C", "uuid": "3"}, "properties2": {"name": "A", "uuid": "1"}, "relationship_properties": {"distance": "20", "time": "0", "camp": "Red", "enable": "TRUE", "comm": "2"}}

[0089] {"label1": "node", "label2": "node", "relationship": "communication", "properties1": {"name": "C", "uuid": "3"}, "properties2": {"name": "D", "uuid": "4"}, "relationship_properties": {"distance": "20", "time": "0", "camp": "red", "enable": "TRUE", "comm": "2"}}

[0090] {"label1": "node", "label2": "node", "relationship": "communication", "properties1": {"name": "A", "uuid": "1"}, "properties2": {"name": "B", "uuid": "2"}, "relationship_properties": {"enable": "TRUE", "distance": "20", "time": "0", "camp": "red", "comm": "2"}}

[0091] {"label1": "node", "label2": "node", "relationship": "communication", "properties1": {"name": "A", "uuid": "1"}, "properties2": {"name": "C", "uuid": "3"}, "relationship_properties": {"distance": "20", "time": "0", "camp": "red", "enable": "TRUE", "comm": "2"}}

[0092] {"label1": "node", "label2": "node", "relationship": "communication", "properties1": {"name": "D", "uuid": "4"}, "properties2": {"name": "C", "uuid": "3"}, "relationship_properties": {"distance": "20", "time": "0", "camp": "red", "enable": "TRUE", "comm": "2"}}

[0093] {"label1": "node", "label2": "node", "relationship": "communication", "properties1": {"uuid": "2", "name": "B"}, "properties2": {"uuid": "5", "name": "E"}, "relationship_properties": {"time": "0", "camp": "red", "enable": "TRUE", "distance": "10", "comm": "1"}}

[0094] {"label1": "node", "label2": "node", "relationship": "communication", "properties1": {"uuid": "1", "name": "A"}, "properties2": {"uuid": "5", "name": "E"}, "relationship_properties": {"time": "0", "camp": "red", "enable": "TRUE", "distance": "10", "comm": "1"}}

[0095] {'label1': 'node', 'label2': 'node', 'relationship': 'communication', 'properties1': {'uuid': '3', 'name': 'C'}, 'properties2': {'uuid': '5', 'name': 'E'}, 'relationship_properties': {'time': '0', 'camp': 'red', 'enable':'TRUE', 'distance': '10', 'comm': '1'}}

[0096] {'label1': 'node', 'label2': 'node', 'relationship': 'communication', 'properties1': {'uuid': '4', 'name': 'D'}, 'properties2': {'uuid': '5', 'name': 'E'}, 'relationship_properties': {'time': '0', 'camp': 'red', 'enable':'TRUE', 'distance': '10', 'comm': '1'}}]

[0097] Steps 1-3: Create a graph database connection

[0098] The GraphDatabase tool, based on the neo4j package, connects to a Neo4j graph database by providing the database connection information, including the database address, username, and password. The command is GraphDatabase.driver(uri, auth=(user, password)), where uri is the database connection address, user is the username, and password is the password.

[0099] Steps 1-4: Node Data Storage

[0100] Load the stored node data nodes.npy into memory, and then batch create nodes and relationships based on the loaded data. Use Cypher language to construct node data storage instructions so that the dictionary type data read from nodes.npy can be converted into neo4j node data structures and stored in the graph database.

[0101] Steps 1-5: Relational Data Storage

[0102] Load the stored node and relationship data relationships.npy into memory, and then create nodes and relationships in batches based on the loaded data. Use Cypher language to build node data storage instructions so that the dictionary type data read from relationships.npy can be converted into neo4j relational data structure and stored in the graph database. The generated knowledge graph is as follows Figure 4 shown.

[0103] Step 2: Calculate the effective communication relationship based on the communication confrontation results;

[0104] Step 2-1: Query nodes and their communication relationships. Extract the nodes that sent and received communication signals at the same time (time_value = 0) and their communication relationships. a represents the sending node, b represents the receiving node, and r represents the communication relationship between them. Obtain the communication query results.

[0105] Step 2-2: Build the communication relationship dictionary. Traverse the query results and create a dictionary containing node information for each communication relationship. node_a and node_b contain the node's element_id, label, and attributes. comm_relationship stores the communication relationship information (such as element_id, type, and attributes).

[0106] The element_id is the ID automatically generated by the graph database;

[0107] Step 2-3: Calculate the communication probability. Calculate the communication ratio comm_ratio between node a and node b. This ratio is calculated based on the location of the nodes and the properties of the communication relationship. The calculation formula is:

[0108]

[0109] in is the distance to the position of node a, is the distance to the position of node b, is the azimuth position of node a, is the azimuth position of node b and distance is the communication distance in the communication relationship attribute.

[0110] Step 2-4: Query the interference relationship. Set the cumulative value of the interference probability, jamming_ratio_tandem, to 1. This is used to find the interfering node c that has an interference relationship with the receiving node b. The interference relationship exists between c and b at the same time point (time_value).

[0111] Step 2-5: Calculate the cumulative interference probability of each interference relationship on the receiving node b. For each interfering node c, calculate the interference probability (jamming_ratio). This ratio is based on the distance and location interference relationship properties of a and c. The calculation formula is:

[0112]

[0113] in is the distance to the position of node c, is the azimuth position of node c and distance is the communication distance in the communication relationship attribute.

[0114] Update the cumulative value of the interference probability jamming_ratio_tandem by multiplying it by (1-jamming_ratio) to reflect the overall impact of multiple interfering nodes on communication.

[0115] Step 2-6: Calculate the probability of establishing a communication relationship under the influence of the interference relationship.

[0116] comm_ratio= (1-jamming_ratio_tandem)*comm_ratio

[0117] Step 2-7: Record valid communications. Generate a random number uniformly distributed between [0, 1]. If the probability of a communication relationship being established (comm_ratio) is greater than this random number, store the communication relationship in comm_dict. comm_dict is a dictionary format that stores each node and its receiving node under each communication type. The key value is the element_id of node a, and the value is a list. During the traversal query process, it stores the element_id of each node that has a communication relationship with node a. This will yield the connection relationships between nodes under different communication types:

[0118] {'4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:47':

[0119] {'2': ['4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:46'],

[0120] '1': ['4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:49']},

[0121] '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:48':

[0122] {'2': ['4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:46',

[0123] '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:55']},

[0124] '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:49':

[0125] {'1': ['4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:46']}}

[0126] The corresponding names are {'D': {'2': ['C'], '1': ['E']}, 'A': {'2': ['C', 'B']}, 'E': {'1': ['C']}}.

[0127] Specifically, the availability enable corresponding to a valid communication relationship is recorded as TRUE, and the availability enable corresponding to an inconsistent communication relationship is recorded as FALSE;

[0128] Step 3: Get all communication types;

[0129] Step 3-1: Initialize the communication type list comm_list;

[0130] Step 3-2: Execute a database query to retrieve communication relationships. Use a Neo4j graph database query to retrieve all communication relationships (r) between nodes active at a specified time (time_value). The query condition is that node a and node b are at the same time (time_value), and a communication relationship exists from a to b. The query result (result1) contains all communication relationships that meet the conditions.

[0131] Step 3-3: Traverse the query results and extract the communication type. Traverse each record in the query results and extract each communication relationship (comm_relationship). Convert each communication relationship into a dictionary containing the unique identifier of the communication relationship (element_id), the relationship type (type), and the properties (properties). Store the dictionary in this form.

[0132] Step 3-4: Extract the communication type and add it to the list. Check if comm_list is empty. If it is, directly add the comm type of the current communication relationship to comm_list. If it is not empty, check if the current communication type already exists in comm_list. If not, add it. This step avoids duplicate communication types. The communication type list obtained is: ['2', '1']

[0133] Step 4: Get the corresponding relationship of node identification;

[0134] Step 4-1: Execute a database query to obtain node information. Construct a Cypher query to find all nodes (n) in the graph database that were active at the specified time_value. Use session.run(query, time_value=time_value) to execute the query. The query result (result) contains all nodes that meet the criteria.

[0135] Step 4-2: Traverse the query results and build a mapping. Traverse each record in the query result and extract each node n. Create a dictionary node_n containing the node information, where element_id is the node's unique identifier, labels is the node's label, and properties is the node's attributes. Store the information in a dictionary format.

[0136] Step 4-3: Create a mapping from identifier to name. Create a mapping relationship based on the node's element_id and properties['name'], using element_id as the key and the node's name as the value, and store it in the id_name_mapping dictionary. The content is: {'4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:19': 'G',

[0137] '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:46': 'C',

[0138] '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:47': 'D',

[0139] '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:48': 'A',

[0140] '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:49': 'E',

[0141] '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:50': 'F',

[0142] '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:55': 'B'}

[0143] Step 5: Calculate the shortest path between nodes of different types.

[0144] Step 5-1: Traverse the communication means list (comm_list) and obtain the communication means (comm).

[0145] Step 5-2: Traverse the communication relationship to build a graph

[0146] Traverse the connections for each node (node_id) in comm_dict. For each specified communication method (comm), if the communication method exists in the connection relationship of the node, traverse all connected nodes (connected_node_id) under the communication method. Establishing a connection in the graph indicates that there is a communication link between node_id and connected_node_id.

[0147] Step 5-3: Traverse all node pairs and calculate the path.

[0148] paths_id and paths_name are used to store node ID paths and node name paths, respectively. Traverse all node pairs (start_node and end_node). If they are different, use the breadth-first traversal algorithm to calculate the path from start_node to end_node in the graph. Store the found paths in two dictionaries.

[0149] For communication type 1, the paths_id obtained is {('4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:47', '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:46'): ['4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:47', '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:49','4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:46'], ('4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:47', '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:49'): ['4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:47', '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:49'], ('4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:49', '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:46'): ['4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:49', '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:46']}, and the resulting paths_name is {('D', 'C'): ['D', 'E', 'C'], ('D', 'E'): ['D', 'E'], ('E', 'C'): ['E', 'C']}.

[0150] For communication type 2, the paths_id obtained is {('4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:47', '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:46'): ['4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:47', '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:46'], ('4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:48', '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:46'): ['4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:48', '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:46'], ('4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:48', '4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:55'): ['4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:48','4:cd479f2e-ad87-4ccc-94e2-87496d8dd429:55']}, and the resulting paths_name is {('D', 'C'): ['D', 'C'], ('A', 'C'): ['A', 'C'], ('A', 'B'): ['A', 'B']}.

[0151] Through this method, the connection relationship and shortest transmission path between communication nodes under communication interference are evaluated. In summary, it can be seen that this method can realize the communication adversarial effect evaluation based on knowledge graph.

[0152] Those skilled in the art will appreciate that the embodiments described are intended to help readers understand the principles of the present invention and should be understood that the scope of protection of the present invention is not limited to the embodiments described. It will be apparent to those skilled in the art that various modifications and variations are possible in the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention are intended to be included within the scope of the claims of the present invention.

Claims

1. A communication adversarial effect evaluation method based on knowledge graph, characterized in that: The following steps are involved: Step 1: Input node and relationship data and save them in the graph database; Step 2: Calculate the effective communication relationship based on the communication confrontation results. Specifically: Step 2-1: Extract the nodes that send and receive communication signals at the same time point time_value and their node relationships; a represents the sending node, b represents the receiving node, and r represents the node relationship between them, and obtain the communication query result; Step 2-2: Traverse the communication query results and create a communication relationship dictionary containing node information for each communication query result; The key of the communication relationship dictionary includes the element_id, label and attribute of node a and node b, the node relationship between node a and node b, and the value is the corresponding value; Step 2-3: Calculate the communication ratio comm_ratio between node a and node b based on the communication relationship dictionary; The ratio is calculated based on the positions of the nodes and the properties of their relationships: ; in, are the distance positions of node a and node b respectively, are the azimuth positions of node a and node b respectively, is the communication distance between node a and node b; Step 2-4: Set the initial cumulative value of the interference probability jamming_ratio_tandem; find the interference node c that has an interference relationship with the receiving node b, and the interference relationship between c and b exists at the same time point time_value; Step 2-5: For each interfering node c, calculate the jamming probability jamming_ratio, which is based on the distance position between b and c and the properties of the node relationship: ; in, is the distance to the position of node c, is the azimuthal position of node c, is the communication distance between node c and node b; Multiply the jamming probabilities of all interfering nodes c for the receiving node b by the sum of the jamming_ratios, and record it as the final jamming_ratio. Multiply the initial cumulative value of the interference probability jamming_ratio_tandem by (1-jamming_ratio), and record the result as the updated cumulative value of the interference probability jamming_ratio_tandem; Step 2-6: Calculate the probability of establishing a communication relationship between nodes a and b under the influence of the interference relationship: comm_ratio= (1-jamming_ratio_tandem)*comm_ratio; Step 2-7: Record valid communications; generate a random number uniformly distributed between [0, 1]. If the probability of a communication relationship being established (comm_ratio) is greater than this random number, store the communication relationship in the list comm_dict. The comm_dict is a dictionary format used to store each node and the receiving node under its communication type. The key value is the element_id of node a, and the value is a list used to store the communication type and element_id of each node that has a communication relationship with node a during the traversal query process. Step 3: Get all communication types; Step 4: Get the corresponding relationship of node identification; Step 5: Calculate the paths between nodes under different communication types to complete the communication adversarial effect evaluation based on the knowledge graph.

2. A communication confrontation effect evaluation method based on knowledge graph according to claim 1, characterized in that: In step 1, the node and relationship data are input and saved in the graph database as follows: Step 1-1: Enter the information of the communication nodes one by one, including the node label and properties. The properties include name, camp, distance position x, azimuth position y, and time. After completion, save the node information data as a data file nodes.npy. Step 1-2: Enter the relationships between the communication nodes one by one, including the label of node 1, the attribute name of node 1, the label of node 2, the attribute name of node 2, the relationship name, and the relationship attributes; the relationship attributes include the communication distance, the communication type, the camp, and the time tag. After completion, save the node relationship data as a data file called relationships.npy. Step 1-3: Create a graph database connection: The GraphDatabase tool based on the neo4j package connects to the Neo4j graph database by providing database connection information, including database address, username, and password; Steps 1-4: Node data storage: Load the stored node data nodes.npy into memory, then create nodes in batches based on the loaded data. Use Cypher language to construct node data storage instructions so that the dictionary type data read from nodes.npy can be converted into the neo4j node data structure and stored in the graph database. Steps 1-5: Relational Data Storage: Load the stored node relationship data relationships.npy into memory, then create node relationships in batches based on the loaded data, and use Cypher language to construct node relationship data storage instructions so that the dictionary type data read from relationships.npy can be converted into neo4j's node relationship data structure and stored in the graph database.

3. A communication confrontation effect evaluation method based on knowledge graph according to claim 2, characterized in that: In step 3, get all communication types as follows: Step 3-1: Initialize the communication relationship list comm_list; Step 3-2: Use the Neo4j graph database to query and obtain all node relationships r between nodes that are active at the specified time point time_value. The query condition is that node a and node b are at the same time point time_value and there is a communication relationship from a to b. The query result result1 contains all communication relationships that meet the conditions. Step 3-3: Traverse each record in the query result and extract each communication relationship; convert each communication relationship into a dictionary, where the key of the dictionary includes the element_id, label and attribute of node a and node b, the node relationship between node a and node b, and the value is the corresponding value; Step 3-4: Traverse each dictionary in step 3-3, extract the communication type and add it to the list; determine whether comm_list is empty. If it is empty, directly add the comm type of the current communication relationship to comm_list. If it is not empty, check whether the current communication type already exists in comm_list. If not, add it. This step avoids duplicate communication types.

4. The method for evaluating communication adversarial effects based on knowledge graph according to claim 1, wherein: In step 4, the node identification correspondence is obtained as follows: Step 4-1: Execute a database query to obtain node information and construct a Cypher query to query all nodes n in the graph database that are active at the specified time_value; Step 4-2: Traverse the query results, build a mapping relationship, traverse each record in the query result, extract each node n, and create a dictionary node_n containing the node information, where element_id is the unique identifier of the node, Labels is the label of the node, and properties is the attribute of the node, stored in the form of a dictionary; Step 4-3: Create a mapping from identifier to name. Create a mapping relationship based on the node's element_id and properties['name'], use element_id as the key and the node's name as the value, and store it in the id_name_mapping dictionary.

5. The method for evaluating communication adversarial effects based on knowledge graph according to claim 3, characterized in that: In step 5, the shortest paths between nodes of different types are calculated as follows: Step 5-1: traverse the communication capability list comm_list and obtain the communication capability comm; Step 5-2: Traverse the communication relationship to build a graph: Traverse the connection relationship of each node in comm_dict. For each specified communication type comm, if the communication type exists in the connection relationship of the node, traverse all connected nodes under the communication type in the connection relationship of the node, and build a graph to establish a connection, indicating that there is a communication link under this communication type between the traversed node in the current comm_dict and the corresponding connected node; Step 5-3: Traverse all node pairs and calculate the shortest path: Set paths_id and paths_name to store the node ID path and node name path respectively, traverse all pairs of nodes start_node and end_node, and if they are different, use the breadth-first traversal algorithm to calculate the path from start_node to end_node in the graph, and store the found paths in two dictionaries, node ID path and node name path respectively.

Citation Information

Patent Citations

  • Method for evaluating interference effect on communication satellite

    CN116050053A

  • Bit error rate estimation method under communication interference based on attention deep neural network

    CN118174802B

  • Wireless network interference characteristic visualization implementation method based on knowledge graph

    CN117956503A

  • Node clustering method based on communication network connectivity analysis

    CN120200935A

Cited By

  • Information transmission path generation method based on reinforcement learning

    CN122204756A

  • A method for generating an information transmission path based on reinforcement learning

    CN122204756B