Introduction to intent management function registration mechanism
Background:
The intent management function registration mechanism is applied to the General intent model and general intent interface requirements (requirements number: REQ-1267). In this project, complex intent need to be decomposed into sub intents of different dimensions, and the original intent of the user is realized through the execution of sub intents . In order to ensure that all intents have the same expression and operation process, it is necessary to provide general intent model and general intent interface. To deal with different dimensions of intent , multiple intent management functions are introduced.
The intent management function is composed of three modules: knowledge module, decision module and actuation module.
Intent can come from inside or outside the system. Accordingly, intent management functions are divided into internal intent management functions and external intent management functions. The internal intent management function enable these internal network functions to provide intent processing capability, which needs to be implemented within the system. The external intent management function is working for the network functions of the third party, so that these external network functions can provide the intent processing capability.
Therefore, general management of intent management functions is required. The intent management function registration mechanism is introduced. The intent management function registration mechanism provides the function of adding, deleting, querying and modifying intent management functions. If the current intent function cannot meet the specific dimensional intent and cannot execute the user's original intent , the user can implement the specific intent by introducing a new intent management function that supports the corresponding intent processing capability.
Design concept
In the Intent analysis server, a set of general models is provided, and a set of general methods are defined in the module of general intent function. By understanding the general intent management function model, you can quickly understand the main processes of specific intent management functions and the methods to be executed in each process.
The intent management function registration mechanism realizes the general management of the intent management function. Whether the external intent management function or the internal intent management function, the data will be saved to the database. Each piece of data in the table represents a different intent management function. Through the intent management function registration mechanism, all intent management functions can be dynamically managed, including the addition, deletion, modification, and query of intent management functions.
According to the difference between the internal intent management function and the external intent management function, the project provides two different intent management function registration mechanisms. The internal intent management function registration is to directly operate the database table through SQL statements; For the external intent management function, the external API call intent analysis server project interface to dynamically implement the external intent management function registration.
General model of intent management function registration:
Description of intent management function model attributes:
Attribute | Qualifier | Cardinality | Content | Description |
id | M | 1 | String | The identifier of this intent management function . |
description | M | 1 | String | It describes the name and related information of the intent management function . |
supportArea | O | 1 | String | It describes the business types supported by intent management function.There are several types:SLICING,CLLBUSINESS,DELIVERY, ASSURANCE. |
supportModel | O | 1 | String | It describes the model types supported by intent management function. |
supportInterfaces | M | 1 | String | It describes the operation types supported by intent management function.There are several types:CREATE,DELETE,UPDATE,query. |
handleCalssName | M | 1 | String | It describes the name of intent management function class. |
intentFunctionType | M | 1 | ENUM | It describes the source of intent management function.There are two types:INTERNALFUNCTION,EXTERNALFUNCTION |
General framework:
Implementation process of intent management function registration
(1).Internal intent management process registration:
Step1:Create specific intent management functions and inherit the general intent management module;
Step2:Create intent specific modules, knowledge module, decision module and actuation module, and all modules inherit the corresponding general modules and implement the methods in the modules;
Step3:Insert the newly created intent management module information into the database directly through the SQL statement;
SQL statement example:
insert into intent_management_function_reg_info(imfr_info_id, imfr_info_description, support_area, support_model, support_interfaces, handle_name, intent_function_type) select 'CLLBusinessId','CLLBusiness','CLLBUSINESS',null,'CREATE,DELETE,UPDATE,query',
'CLLBusinessIntentManagementFunction','INTERNALFUNCTION'
where not exists(select * from intent_management_function_reg_info where imfr_info_id='CLLBusinessId' )
Subsequent modification and query can be realized by calling the interface in IMFRegInfoController to query, modify and delete the registration information of the internal intent management function.
External intent management function registration:
The external intent management function can be registered dynamically through the corresponding interface in IMFRegInfoController.
Example of create interface:
url:https://${ip}:8083/api/usecaseui-intent-analysis/v1/intentFunctionManage
method:post
Param:{
"id": "CLLBusinessId",
"description": "CLLBusiness",
"supportArea": "CLLBUSINESS",
"supportModel": “”,
"supportInterfaces": "CREATE,DELETE,UPDATE,query",
"handleName": "CLLBusinessIntentManagementFunction",
"intentFunctionType": "INTERNALFUNCTION"
}
Example of delete interface:
url:https://${ip}:8083/api/usecaseui-intent-analysis/v1/intentFunctionManage/{id}
method:delete
Param:{}
Example of update interface:
url:https://${ip}:8083/api/usecaseui-intent-analysis/v1/intentFunctionManage/{id}
method:put
Param:{
"id": "CLLBusinessId",
"description": "CLLBusiness",
"supportArea": "CLLBUSINESS",
"supportModel": “”,
"supportInterfaces": "CREATE,DELETE,UPDATE,query",
"handleName": "CLLBusinessIntentManagementFunction",
"intentFunctionType": "INTERNALFUNCTION"
}
Example of query interface:
url:https://${ip}:8083/api/usecaseui-intent-analysis/v1/intentFunctionManage
method:get
Param:{}