Dynamic extensible encryption and decryption data synchronization system and method based on NIFI

By extending controller services in NIFI, dynamic loading and management of encryption and decryption algorithms are solved, and the problems of poor scalability and limited security caused by the fixed encryption algorithm in the prior art are improved, and the flexibility and security of the data synchronization system are improved.

CN119807306APending Publication Date: 2025-04-11SHANDONG INSPUR SCI RES INST CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510013220.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-06
Publication Date
2025-04-11

AI Technical Summary

Technical Problem

The encryption algorithm of existing data synchronization systems is fixed, making it difficult to adapt to emerging encryption algorithms, resulting in poor scalability, insufficient flexibility and limited security.

Method used

By extending controller services in NIFI, dynamic loading and managing encryption and decryption algorithms are implemented, allowing users to customize the encryption and decryption algorithm logic, and upload and manage them through the JAR file resource management module.

Benefits of technology

It realizes dynamic expansion of the encryption and decryption algorithm by the data synchronization system, improves the flexibility and security of the system, and simplifies the maintenance and upgrade process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119807306A_ABST
    Figure CN119807306A_ABST
Patent Text Reader

Abstract

The invention discloses a dynamically extensible encryption and decryption data synchronization system and method based on NIFI, and relates to the technical field of data transmission security, and the system comprises an NIFI controller service extension module which is used for customizing and extending a controller service for encryption and decryption; the encryption and decryption self-definition realization module is used for realizing encryption and decryption algorithm logic through self-definition writing, and compiling and packaging to generate an executable jar file; the resource uploading and management module is used for selecting a target path of a jar file to be uploaded and executing an uploading operation; the instance creation and management module is used for creating an encryption and decryption service instance by using the self-defined controller service and the uploaded jar file; the data source management module is used for creating a source data source and a target data source; and the synchronization task creation module is used for automatically creating an encryption and decryption data synchronization task in the NIFI based on the operation of the above modules. The method can ensure that the data is always in an encrypted state in a transmission process, and effectively protects the data security.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data transmission security, and in particular to a NIFI-based dynamically extensible encryption and decryption data synchronization system and method. Background Art

[0002] In the prior art, data synchronization is one of the common requirements in information systems, especially in distributed system architectures, where data consistency needs to be maintained between multiple systems or components. However, in the process of data synchronization, data security is a key issue that cannot be ignored, especially when data is transmitted over the network, it is vulnerable to the risk of interception and eavesdropping. Therefore, encryption algorithms are usually applied in the process of data synchronization to protect the confidentiality and integrity of the data.

[0003] Currently, most data synchronization systems use fixed encryption algorithms, which means that once the system is deployed, the encryption method is difficult to change unless the system is reconfigured or upgraded. In summary, the design of most data synchronization systems has the following problems:

[0004] 1. Poor scalability: Fixed encryption algorithms limit the system's ability to adapt to emerging, more secure encryption algorithms, making it difficult to meet ever-changing security requirements.

[0005] 2. Lack of flexibility: If the encryption algorithm needs to be changed, it is usually necessary to shut down for maintenance and reconfigure the system, which is not only time-consuming and labor-intensive, but may also cause data synchronization interruptions and affect business continuity.

[0006] 3. Limited security: With the development of technology, old encryption algorithms may gradually expose security vulnerabilities, but the design of fixed algorithms makes it difficult for the system to upgrade encryption strategies in a timely manner. Summary of the invention

[0007] In view of the problems in the prior art of fixed encryption algorithms and poor scalability during data synchronization, the present invention provides a dynamically scalable encryption and decryption data synchronization system and method based on NIFI, which improves the flexibility and security of the data synchronization solution through a dynamic expansion mechanism.

[0008] In the first aspect, the present invention provides a dynamically scalable encryption and decryption data synchronization system based on NIFI. The technical solution adopted to solve the above technical problems is as follows:

[0009] A dynamically scalable encryption and decryption data synchronization system based on NIFI, comprising:

[0010] NIFI controller service extension module, used to extend a controller service for encryption and decryption in a customized way in NIFI code project;

[0011] The encryption and decryption custom implementation module is used to customize the encryption and decryption algorithm logic according to specific encryption and decryption requirements, compile and package the written code, and generate an executable jar file;

[0012] The resource upload and management module is used to select the target path of the jar file to be uploaded in the corresponding interface or operation entrance of NIFI and perform the upload operation; after the jar file is successfully uploaded, the jar file resource can be viewed, edited, downloaded and deleted through the UI;

[0013] The instance creation and management module is used to create an encryption and decryption service instance using the custom extended controller service and the uploaded jar file. After successful creation, the encryption and decryption service instance can be viewed, edited, and deleted through the interactive functions provided by the UI.

[0014] The data source management module is used to create source data sources and target data sources to facilitate data collection and writing in subsequent data synchronization tasks;

[0015] The synchronization task creation module is used to automatically create an encryption and decryption data synchronization task in NIFI based on the operations of the aforementioned modules; when the encryption and decryption data synchronization task is run, the encryption and decryption service instance is automatically called to process the collected data, and then the processed data is written to the corresponding location of the target data source to achieve data synchronization under encryption and decryption protection.

[0016] Optionally, the NIFI controller service extension modules involved include:

[0017] The interface creation unit is used to create a controller service named Security_Ser, which inherits from AbstractControllerService and customizes the reInit method for initialization, the checkInitStatus method for determining the initialization status, the encrypt method for encryption, and the decrypt method for decryption.

[0018] Create a docking unit to create an interface class named ExternalDecryptAndEncrypt. The ExternalDecryptAndEncrypt interface class is used to dock with the custom methods in the Security_Ser controller service and instantiate all docking methods using the reflection mechanism.

[0019] The interface implementation unit is used to create an implementation class named SecurityService. The SecurityService implementation class inherits from AbstractControllerService, is used to implement all methods in the Security_Ser controller service, and defines configuration parameters.

[0020] Optionally, the SecurityService implementation class includes three configuration parameters: jar package path, class name, and configuration items, where:

[0021] The jar package path specifically refers to the configuration path of the custom-implemented encryption and decryption jar package. Uploading the custom-implemented encryption and decryption jar package to the jar package path can automatically hot-load the jar package.

[0022] The class name specifically refers to the encryption and decryption class path of the custom implementation interface, which is used to instantiate the implementation method;

[0023] The configuration items specifically include the parameters required for initialization.

[0024] Optionally, the encryption and decryption custom implementation modules involved specifically include:

[0025] The interface engineering unit is used to create a new Java interface project, create an interface class named CoreDecryptAndEncrypt, and define the reInit method for initialization, the checkInitStatus method for determining the initialization status, the encrypt method for encryption, and the decrypt method for decryption in the CoreDecryptAndEncrypt interface class, which are the same as those of the controller service.

[0026] Project packaging unit 1 is used to package the newly created Java interface project into an executable jar file;

[0027] The implementation class project unit is used to create a new Java implementation class project and create an implementation class DecryptAndEncryptImpl to implement the CoreDecryptAndEncrypt interface class;

[0028] Project packaging unit 2 is used to package the newly created Java implementation class project into an executable jar file.

[0029] Optionally, the synchronization task creation module involved specifically includes:

[0030] A source selection unit, used to select a source table from the source data source created by the data source management module;

[0031] A target selection unit, used to select a target table from a target data source created by a data source management module;

[0032] The encryption startup unit is used to select whether to start encryption, and when choosing to start encryption, further select the encryption and decryption service instance created by the instance creation and management module;

[0033] The task creation unit is used to automatically create an encryption and decryption data synchronization task in NIFI based on the operations of the source selection unit, the target selection unit, and the encryption startup unit.

[0034] In the second aspect, the present invention provides a dynamically scalable encryption and decryption data synchronization method based on NIFI. The technical solution adopted to solve the above technical problems is as follows:

[0035] A dynamically scalable encryption and decryption data synchronization method based on NIFI, comprising the following steps:

[0036] S1. In the NIFI code project, extend a controller service for encryption and decryption in a customized way;

[0037] S2. Customize and implement the encryption and decryption algorithm logic according to specific encryption and decryption requirements, compile and package the written code, and generate an executable jar file;

[0038] S3. In the corresponding interface or operation entrance of NIFI, select the target path to upload the jar file and perform the upload operation; after the jar file is successfully uploaded, view, edit, download and delete the jar file resources through the UI;

[0039] S4. Use the created custom controller service and the uploaded jar file to create an encryption and decryption service instance. After successful creation, use the interactive functions provided by the UI to view, edit, and delete the encryption and decryption service instance.

[0040] S5. Create source data source and target data source according to the actual needs of data synchronization, so as to facilitate data collection and writing in subsequent data synchronization tasks;

[0041] S6. Based on the preparations in steps S1-S5, an encryption and decryption data synchronization task is automatically created in NIFI; when the encryption and decryption data synchronization task is run, the encryption and decryption service instance is automatically called to process the collected data, and then the processed data is written to the corresponding location of the target data source to achieve data synchronization under encryption and decryption protection.

[0042] Optionally, the implementation process of step S1 specifically includes:

[0043] S1.1. Create a controller service named Security_Ser, which inherits from AbstractControllerService and customizes the reInit method for initialization, the checkInitStatus method for determining the initialization status, the encrypt method for encryption, and the decrypt method for decryption.

[0044] S1.2. Create an interface class named ExternalDecryptAndEncrypt. The ExternalDecryptAndEncrypt interface class is used to connect to the custom methods in the Security_Ser controller service and instantiate all the connected methods using the reflection mechanism.

[0045] S1.3. Create an implementation class named SecurityService. The SecurityService implementation class inherits from AbstractControllerService and is used to implement all methods in the Security_Ser controller service and define configuration parameters.

[0046] Optionally, the SecurityService implementation class includes three configuration parameters: jar package path, class name, and configuration items, where:

[0047] The jar package path specifically refers to the configuration path of the custom-implemented encryption and decryption jar package. Uploading the custom-implemented encryption and decryption jar package to the jar package path can automatically hot-load the jar package.

[0048] The class name specifically refers to the encryption and decryption class path of the custom implementation interface, which is used to instantiate the implementation method;

[0049] The configuration items specifically include the parameters required for initialization.

[0050] Optionally, the implementation process of step S2 specifically includes:

[0051] S2.1. Create a new Java interface project, create an interface class named CoreDecryptAndEncrypt, and define the same reInit method for initialization, the checkInitStatus method for determining the initialization status, the encrypt method for encryption, and the decrypt method for decryption in the CoreDecryptAndEncrypt interface class as the controller service;

[0052] S2.2. Package the newly created Java interface project into an executable jar file;

[0053] S2.3. Create a Java implementation class project and create an implementation class DecryptAndEncryptImpl to implement the CoreDecryptAndEncrypt interface class.

[0054] S2.4. Package the newly created Java implementation class project into an executable jar file.

[0055] Optionally, executing step S6, the specific operations of automatically creating an encryption and decryption data synchronization task in NIFI include:

[0056] Select the source table from the created source data source;

[0057] Select the target table from the created target data source;

[0058] Choose whether to enable encryption, and when you choose to enable encryption, further select the corresponding encryption and decryption service instance you created;

[0059] Based on the above three operations, you can automatically create encryption and decryption data synchronization tasks in NIFI.

[0060] The present invention provides a dynamically scalable encryption and decryption data synchronization system and method based on NIFI, which has the following beneficial effects compared with the prior art:

[0061] 1. The present invention describes in detail the entire process from controller service extension, encryption and decryption algorithm implementation, JAR file resource management, encryption and decryption service configuration, data source setting to data synchronization task construction, ensuring that data is always encrypted during transmission, effectively protecting data security;

[0062] 2. The present invention can realize the dynamic loading and management of encryption and decryption algorithms through the controller service extension mechanism of Nifi, thereby solving the problems of fixed encryption algorithms and poor scalability in the prior art, and enhancing the flexibility, scalability and security of the data synchronization solution;

[0063] 3. The present invention can dynamically load and update encryption algorithms to improve data security, while simplifying the maintenance and upgrade process and improving the flexibility and efficiency of the data synchronization system. BRIEF DESCRIPTION OF THE DRAWINGS

[0064] Attached Figure 1 is a system architecture diagram of Embodiment 1 of the present invention;

[0065] Attached Figure 2 is a method flow chart of Embodiment 2 of the present invention;

[0066] Attached Figure 3 It is a schematic diagram of the encryption and decryption data synchronization task flow in an embodiment of the present invention. DETAILED DESCRIPTION

[0067] In order to make the technical solution, the technical problem solved and the technical effect of the present invention more clearly understood, the technical solution of the present invention is clearly and completely described below in conjunction with specific embodiments.

[0068] The English words in the following embodiments are now explained.

[0069] AbstractControllerService is an abstract class in the Apache NiFi framework, located in the org.apache.nifi.controller.AbstractControllerService package. This class provides some basic functions and interfaces so that developers can create custom controller services.

[0070] A Controller Service is a special type of service that allows users to share and manage resources in a NiFi cluster in the Apache NiFi framework. Controller Services are different from Processors in that they do not directly process data flows, but provide support functions for Processors. For example, database connection pools, cache services, etc. can all be implemented as Controller Services.

[0071] Embodiment 1:

[0072] Combined with Figure 1 This embodiment proposes a dynamically scalable encryption and decryption data synchronization system based on NIFI, which includes:

[0073] NIFI controller service extension module, used to extend a controller service for encryption and decryption in a customized way in NIFI code project;

[0074] The encryption and decryption custom implementation module is used to customize the encryption and decryption algorithm logic according to specific encryption and decryption requirements, compile and package the written code, and generate an executable jar file;

[0075] The resource upload and management module is used to select the target path of the jar file to be uploaded in the corresponding interface or operation entrance of NIFI and perform the upload operation; after the jar file is successfully uploaded, the jar file resource can be viewed, edited, downloaded and deleted through the UI;

[0076] The instance creation and management module is used to create an encryption and decryption service instance using the custom extended controller service and the uploaded jar file. After successful creation, the encryption and decryption service instance can be viewed, edited, and deleted through the interactive functions provided by the UI.

[0077] The data source management module is used to create source data sources and target data sources to facilitate data collection and writing in subsequent data synchronization tasks;

[0078] The synchronization task creation module is used to automatically create an encryption and decryption data synchronization task in NIFI based on the operations of the aforementioned modules; when the encryption and decryption data synchronization task is run, the encryption and decryption service instance is automatically called to process the collected data, and then the processed data is written to the corresponding location of the target data source to achieve data synchronization under encryption and decryption protection.

[0079] In this embodiment, the NIFI controller service extension module involved specifically includes:

[0080] The interface creation unit is used to create a controller service named Security_Ser, which inherits from AbstractControllerService and customizes the reInit method for initialization, the checkInitStatus method for determining the initialization status, the encrypt method for encryption, and the decrypt method for decryption.

[0081] Create a docking unit to create an interface class named ExternalDecryptAndEncrypt. The ExternalDecryptAndEncrypt interface class is used to dock with the custom methods in the Security_Ser controller service and instantiate all docking methods using the reflection mechanism.

[0082] The interface implementation unit is used to create an implementation class named SecurityService. The SecurityService implementation class inherits from AbstractControllerService and is used to implement all methods in the Security_Ser controller service. It also defines three configuration parameters: jar package path, class name, and configuration items. Among them, the jar package path specifically refers to the configuration path of the custom-implemented encryption and decryption jar package. The custom-implemented encryption and decryption jar package can be automatically hot-loaded by uploading it to the jar package path; the class name specifically refers to the encryption and decryption class path of the custom-implemented interface, which is used to instantiate the implementation method; the configuration items specifically include the parameters required for initialization.

[0083] In this embodiment, the encryption and decryption custom implementation module involved specifically includes:

[0084] The interface engineering unit is used to create a new Java interface project, create an interface class named CoreDecryptAndEncrypt, and define the reInit method for initialization, the checkInitStatus method for determining the initialization status, the encrypt method for encryption, and the decrypt method for decryption in the CoreDecryptAndEncrypt interface class, which are the same as those of the controller service.

[0085] Project packaging unit 1 is used to package the newly created Java interface project into an executable jar file;

[0086] The implementation class project unit is used to create a new Java implementation class project and create an implementation class DecryptAndEncryptImpl to implement the CoreDecryptAndEncrypt interface class;

[0087] Project packaging unit 2 is used to package the newly created Java implementation class project into an executable jar file.

[0088] In this embodiment, the synchronization task creation module involved specifically includes:

[0089] A source selection unit, used to select a source table from the source data source created by the data source management module;

[0090] A target selection unit, used to select a target table from a target data source created by a data source management module;

[0091] The encryption startup unit is used to select whether to start encryption, and when choosing to start encryption, further select the encryption and decryption service instance created by the instance creation and management module;

[0092] The task creation unit is used to automatically create an encryption and decryption data synchronization task in NIFI based on the operations of the source selection unit, the target selection unit, and the encryption startup unit.

[0093] Embodiment 2:

[0094] Combined with Figure 2 This embodiment proposes a dynamically scalable encryption and decryption data synchronization method based on NIFI, which includes the following steps:

[0095] S1. In the NIFI code project, extend a controller service for encryption and decryption in a customized way. The specific implementation process includes:

[0096] S1.1. Create a controller service named Security_Ser, which inherits from AbstractControllerService and customizes the reInit method for initialization, the checkInitStatus method for determining the initialization status, the encrypt method for encryption, and the decrypt method for decryption.

[0097] The code example to implement step S1.1 is as follows:

[0098]

[0099]

[0100] S1.2. Create an interface class named ExternalDecryptAndEncrypt. The ExternalDecryptAndEncrypt interface class is used to connect to the custom methods in the Security_Ser controller service and instantiate all the connected methods using the reflection mechanism.

[0101] The code example to implement step S1.2 is as follows:

[0102]

[0103] S1.3. Create an implementation class named SecurityService. The SecurityService implementation class inherits from AbstractControllerService and is used to implement all methods in the Security_Ser controller service. It also defines three configuration parameters: jar package path, class name, and configuration items. Among them:

[0104] The jar package path specifically refers to the configuration path of the custom-implemented encryption and decryption jar package. Uploading the custom-implemented encryption and decryption jar package to the jar package path can automatically hot-load the jar package.

[0105] The class name specifically refers to the encryption and decryption class path of the custom implementation interface, which is used to instantiate the implementation method;

[0106] The configuration items specifically include the parameters required for initialization.

[0107] The code example to implement step S1.3 is as follows:

[0108]

[0109]

[0110]

[0111]

[0112] S2. Customize and implement the encryption and decryption algorithm logic according to the specific encryption and decryption requirements, compile and package the written code, and generate an executable jar file. The specific implementation process includes:

[0113] S2.1. Create a new Java interface project, create an interface class named CoreDecryptAndEncrypt, and define the same reInit method for initialization, the checkInitStatus method for determining the initialization status, the encrypt method for encryption, and the decrypt method for decryption in the CoreDecryptAndEncrypt interface class as the controller service;

[0114] S2.2. Package the newly created Java interface project into an executable jar file (CoreDecryptAndEncrypt-interface.jar);

[0115] S2.3. Create a Java implementation class project and create an implementation class DecryptAndEncryptImpl to implement the CoreDecryptAndEncrypt interface class.

[0116] S2.4. Package the newly created Java implementation class project into an executable jar file (CoreDecryptAndEncrypt-impl.jar).

[0117] The code example for implementing step S2 is as follows:

[0118]

[0119]

[0120] S3. In the corresponding interface or operation entrance of NIFI, select the target path to upload the jar file and perform the upload operation; after the jar file is successfully uploaded, view, edit, download and delete the jar file resources through the UI. Specifically:

[0121] S3.1. Select the locally packaged executable interface jar (CoreDecryptAndEncrypt-interface.jar), and further select the upload path of the jar package (for example: / usr / jar / interface);

[0122] S3.2. Select the locally packaged executable implementation jar (CoreDecryptAndEncrypt-impl.jar), and further select the upload path of the jar package (for example: / usr / jar / impl);

[0123] S3.3. Fill in the jar package implementation class name (for example, com.inspur.dsp.security.impl.DecryptAndEncryptImpl);

[0124] S3.4, fill in the configuration parameters. This configuration is for the scene that needs to be initialized. If not needed, you can leave it blank;

[0125] S3.5. Click "Upload" on the page. After the upload is successful, you can view, edit, download, and delete jar file resources through the UI.

[0126] S4. Use the created custom controller service and the uploaded jar file to create an encryption and decryption service instance. After successful creation, use the interactive functions provided by the UI to view, edit, and delete the encryption and decryption service instance.

[0127] S5. Create source data source and target data source according to the actual needs of data synchronization to facilitate data collection and writing in subsequent data synchronization tasks.

[0128] The source data source is created by configuring the source data source information, and the target data source is created by configuring the target data source information.

[0129] S6. Based on the preparations in steps S1-S5, an encryption and decryption data synchronization task is automatically created in NIFI. The specific operations are as follows:

[0130] Select the source table from the created source data source;

[0131] Select the target table from the created target data source;

[0132] Choose whether to enable encryption, and when you choose to enable encryption, further select the corresponding encryption and decryption service instance you created;

[0133] Based on the above three operations, you can automatically create encryption and decryption data synchronization tasks in NIFI.

[0134] After the encryption and decryption data synchronization task is automatically created, run the encryption and decryption data synchronization task, combined with the attached Figure 3First, the data collection component collects data from the source data source, and then encrypts it according to the custom encryption algorithm. After encryption, the subsequent data transmission is carried out. After that, the data writing component receives the encrypted data transmitted by the data collection component, decrypts it according to the custom decryption algorithm, and writes it to the target data source. This data synchronization process can ensure that the original plaintext data cannot be directly obtained during the entire data transmission process, thereby realizing data synchronization under encryption and decryption protection.

[0135] In summary, the use of a dynamically scalable encryption and decryption data synchronization system and method based on NIFI of the present invention can ensure that data is always in an encrypted state during transmission, effectively protecting data security.

[0136] The above specific examples are used to explain the principles and implementation methods of the present invention in detail. These examples are only used to help understand the core technical content of the present invention. Based on the above specific embodiments of the present invention, any improvements and modifications made by technicians in this technical field without departing from the principles of the present invention should fall within the scope of patent protection of the present invention.

Claims

1. A dynamically scalable encryption and decryption data synchronization system based on NIFI, characterized in that: It includes: NIFI controller service extension module, used to extend a controller service for encryption and decryption in a customized way in NIFI code project; The encryption and decryption custom implementation module is used to customize the encryption and decryption algorithm logic according to specific encryption and decryption requirements, compile and package the written code, and generate an executable jar file; The resource upload and management module is used to select the target path of the jar file to be uploaded in the corresponding interface or operation entrance of NIFI and perform the upload operation; after the jar file is successfully uploaded, the jar file resource can be viewed, edited, downloaded and deleted through the UI; The instance creation and management module is used to create an encryption and decryption service instance using the custom extended controller service and the uploaded jar file. After successful creation, the encryption and decryption service instance can be viewed, edited, and deleted through the interactive functions provided by the UI. The data source management module is used to create source data sources and target data sources to facilitate data collection and writing in subsequent data synchronization tasks; The synchronization task creation module is used to automatically create an encryption and decryption data synchronization task in NIFI based on the operations of the aforementioned modules; when the encryption and decryption data synchronization task is run, the encryption and decryption service instance is automatically called to process the collected data, and then the processed data is written to the corresponding location of the target data source to achieve data synchronization under encryption and decryption protection.

2. According to claim 1, a dynamically scalable encryption and decryption data synchronization system based on NIFI is characterized in that: The NIFI controller service extension module specifically includes: The interface creation unit is used to create a controller service named Security_Ser, which inherits from AbstractControllerService and customizes the reInit method for initialization, the checkInitStatus method for determining the initialization status, the encrypt method for encryption, and the decrypt method for decryption. Create a docking unit to create an interface class named ExternalDecryptAndEncrypt. The ExternalDecryptAndEncrypt interface class is used to dock with the custom methods in the Security_Ser controller service and instantiate all docking methods using the reflection mechanism. The interface implementation unit is used to create an implementation class named SecurityService. The SecurityService implementation class inherits from AbstractControllerService, is used to implement all methods in the Security_Ser controller service, and defines configuration parameters.

3. According to claim 2, a dynamically scalable encryption and decryption data synchronization system based on NIFI is characterized in that: The SecurityService implementation class includes three configuration parameters: jar package path, class name, and configuration items. The jar package path specifically refers to the configuration path of the custom-implemented encryption and decryption jar package. Uploading the custom-implemented encryption and decryption jar package to the jar package path can automatically hot-load the jar package. The class name specifically refers to the encryption and decryption class path of the custom implementation interface, which is used to instantiate the implementation method; The configuration items specifically include the parameters required for initialization.

4. According to claim 3, a dynamically scalable encryption and decryption data synchronization system based on NIFI is characterized in that: The encryption and decryption custom implementation module specifically includes: The interface engineering unit is used to create a new Java interface project, create an interface class named CoreDecryptAndEncrypt, and define the reInit method for initialization, the checkInitStatus method for determining the initialization status, the encrypt method for encryption, and the decrypt method for decryption in the CoreDecryptAndEncrypt interface class, which are the same as those of the controller service. Project packaging unit 1 is used to package the newly created Java interface project into an executable jar file; The implementation class project unit is used to create a new Java implementation class project and create an implementation class DecryptAndEncryptImpl to implement the CoreDecryptAndEncrypt interface class; Project packaging unit 2 is used to package the newly created Java implementation class project into an executable jar file.

5. According to claim 4, a dynamically scalable encryption and decryption data synchronization system based on NIFI is characterized in that: The synchronization task creation module specifically includes: A source selection unit, used to select a source table from the source data source created by the data source management module; A target selection unit, used to select a target table from a target data source created by a data source management module; The encryption startup unit is used to select whether to start encryption, and when choosing to start encryption, further select the encryption and decryption service instance created by the instance creation and management module; The task creation unit is used to automatically create encryption and decryption data synchronization tasks in NIFI based on the operations of the source selection unit, the target selection unit, and the encryption startup unit.

6. A dynamically scalable encryption and decryption data synchronization method based on NIFI, characterized in that: The steps include: S1. In the NIFI code project, extend a controller service for encryption and decryption in a customized way; S2. Customize and implement the encryption and decryption algorithm logic according to specific encryption and decryption requirements, compile and package the written code, and generate an executable jar file; S3. In the corresponding interface or operation entrance of NIFI, select the target path to upload the jar file and perform the upload operation; after the jar file is successfully uploaded, view, edit, download and delete the jar file resources through the UI; S4. Use the created custom controller service and the uploaded jar file to create an encryption and decryption service instance. After successful creation, use the interactive functions provided by the UI to view, edit, and delete the encryption and decryption service instance. S5. Create source data source and target data source according to the actual needs of data synchronization, so as to facilitate data collection and writing in subsequent data synchronization tasks; S6. Based on the preparations in steps S1-S5, an encryption and decryption data synchronization task is automatically created in NIFI; when the encryption and decryption data synchronization task is run, the encryption and decryption service instance is automatically called to process the collected data, and then the processed data is written to the corresponding location of the target data source to achieve data synchronization under encryption and decryption protection.

7. The method for dynamically scalable encryption and decryption data synchronization based on NIFI according to claim 6, characterized in that: The implementation process of step S1 specifically includes: S1.

1. Create a controller service named Security_Ser, which inherits from AbstractControllerService and customizes the reInit method for initialization, the checkInitStatus method for determining the initialization status, the encrypt method for encryption, and the decrypt method for decryption. S1.

2. Create an interface class named ExternalDecryptAndEncrypt. The ExternalDecryptAndEncrypt interface class is used to connect to the custom methods in the Security_Ser controller service and instantiate all the connected methods using the reflection mechanism. S1.

3. Create an implementation class named SecurityService. The SecurityService implementation class inherits from AbstractControllerService and is used to implement all methods in the Security_Ser controller service and define configuration parameters.

8. The method for dynamically scalable encryption and decryption data synchronization based on NIFI according to claim 7 is characterized in that: The SecurityService implementation class includes three configuration parameters: jar package path, class name, and configuration items. The jar package path specifically refers to the configuration path of the custom-implemented encryption and decryption jar package. Uploading the custom-implemented encryption and decryption jar package to the jar package path can automatically hot-load the jar package. The class name specifically refers to the encryption and decryption class path of the custom implementation interface, which is used to instantiate the implementation method; The configuration items specifically include the parameters required for initialization.

9. The method for dynamically scalable encryption and decryption data synchronization based on NIFI according to claim 7, characterized in that: The implementation process of step S2 specifically includes: S2.

1. Create a new Java interface project, create an interface class named CoreDecryptAndEncrypt, and define the same reInit method for initialization, the checkInitStatus method for determining the initialization status, the encrypt method for encryption, and the decrypt method for decryption in the CoreDecryptAndEncrypt interface class as the controller service; S2.

2. Package the newly created Java interface project into an executable jar file; S2.

3. Create a Java implementation class project and create an implementation class DecryptAndEncryptImpl to implement the CoreDecryptAndEncrypt interface class. S2.

4. Package the newly created Java implementation class project into an executable jar file.

10. The method for dynamically scalable encryption and decryption data synchronization based on NIFI according to claim 9, characterized in that: Execute step S6, and the specific operations of automatically creating an encryption and decryption data synchronization task in NIFI include: Select the source table from the created source data source; Select the target table from the created target data source; Choose whether to enable encryption, and when you choose to enable encryption, further select the corresponding encryption and decryption service instance you created; Based on the above three operations, you can automatically create encryption and decryption data synchronization tasks in NIFI.