A user information integration apparatus and method
By deploying microservices and standardizing the user center, the problem of user information not being universally applicable across multiple business systems was solved, enabling self-synchronization and customized services for user information, and improving the system's compatibility and scalability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- PETROCHINA CO LTD
- Filing Date
- 2022-04-24
- Publication Date
- 2026-07-31
AI Technical Summary
In existing technologies, user information cannot be shared across multiple business systems, resulting in a large number of user accounts, complex management, and difficulties in integration.
By deploying microservices, a standardized integrated user center is provided, and a data self-synchronization layer and an integrated user center layer are introduced to achieve self-synchronization of user information and customized services.
This achieves the universality of user information across different business systems, reduces cost investment, and improves system compatibility and scalability.
Smart Images

Figure CN117008879B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of software system application technology, and in particular to a user information integration device and method. Background Technology
[0002] With the popularization of internet technology and the development of modern enterprises, many companies are using an increasing number of office systems. This raises the question of how to integrate multiple systems into a unified platform, reducing the frequency of users switching between different systems. However, in practical enterprise applications, how to reduce costs, continue using existing systems, and still meet these requirements remains a subject of ongoing research. Because each system is closely linked to the company's employees, the research and design of a self-synchronizing user center for multiple systems is of great significance.
[0003] Traditional office systems typically have separate user management functions for user login, usage, and management. While this approach allows for highly customized user model design across different systems, it cannot be universally applied. As the number of systems increases, problems arise such as a growing number of user accounts, complex management, and integration difficulties. Summary of the Invention
[0004] The inventors discovered that, in the current trend of microservice frameworks in software environments, by deploying various modules as services, they can achieve better scalability and reconfigurability, freeing them from specific system business scenarios. This allows the user center to have good compatibility with various different business systems, ultimately enabling the same user center to support different business systems with only one simple, reusable, and high-performance integration method for any similar business scenario.
[0005] In order to at least partially solve the aforementioned technical problems, the inventors made this invention, which, through specific implementation methods, provides a user information integration device and method that enables various different business systems to use a standardized integrated user center through the deployment of microservices, and provides a user self-synchronization function that can be customized in different business systems according to business needs.
[0006] In a first aspect, embodiments of the present invention provide a user information integration device, including a data self-synchronization layer and an integrated user center layer;
[0007] The data self-synchronization layer is used to save user information received from the first business system into mirror data, update the full mirror library in the mirror library according to the mirror data, and send the mirror data to the integrated user center layer.
[0008] The integrated user center layer is used to package the mirrored data into unified user information according to a set model and store it in a unified user information database, so that the data processor can provide customized user information to the second business system based on the unified user information database.
[0009] Secondly, embodiments of the present invention provide a user information integration method, including:
[0010] The data self-synchronization layer saves the user information received from the first business system into mirror data, updates the full mirror library in the mirror library according to the mirror data, and sends the mirror data to the integrated user center layer.
[0011] The integrated user center layer packages the mirrored data into unified user information according to a set model and stores it in a unified user information database, so that the data processor can provide customized user information for the second business system based on the unified user information database.
[0012] Thirdly, embodiments of the present invention provide a computer program product with user information integration function, including a computer program / instruction, wherein the computer program / instruction implements the above-mentioned user information integration method when executed by a processor.
[0013] The beneficial effects of the above-described technical solutions provided in the embodiments of the present invention include at least the following:
[0014] (1) The user information integration device provided in this embodiment of the invention comprises a data self-synchronization layer and an integrated user center layer. The data self-synchronization layer saves user information received from the first business system as mirror data, updates the full mirror library in the mirror library according to the mirror data, and sends the mirror data to the integrated user center layer. The integrated user center layer is used to package the mirror data into unified user information according to a set model and store it in a unified user information library, so that the data processor provides customized user information to the second business system according to the unified user information library. The data self-synchronization layer realizes the self-synchronization function of user information of the first business system (standard system). The integrated user center layer integrates the user information synchronized by the data self-synchronization layer, and provides customized user information services for different business systems according to business needs. This not only gets rid of the problems of traditional methods, such as the inability to make user information universal in different systems, large number of user accounts, complex management, and difficult integration, but also supports highly customized user model design to meet the business needs of different systems. Through the deployment of microservices, the business system and its user management module are decoupled, realizing the reusability of core code and thus greatly improving service compatibility.
[0015] (2) The user information integration device provided in this embodiment of the invention only requires the development of a data sending module that can synchronize user information to the data self-synchronization layer on the basis of the first business system. Each second business system can be further developed using a data processor on the basis of its original system, thereby realizing the integration and customization of user information and the usability of the existing system, reducing cost investment and increasing the practicality and scalability of the user information integration device provided in this embodiment of the invention.
[0016] Other features and advantages of the invention will be set forth in the following description, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention may be realized and obtained by means of the structures particularly pointed out in the written description, claims, and drawings.
[0017] The technical solution of the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. Attached Figure Description
[0018] The accompanying drawings are provided to further illustrate the invention and form part of the specification. They are used in conjunction with embodiments of the invention to explain the invention and do not constitute a limitation thereof. In the drawings:
[0019] Figure 1 This is a schematic diagram of the user information integration device in Embodiment 1 of the present invention;
[0020] Figure 2 This is a schematic diagram of the user information integration system in Embodiment 2 of the present invention;
[0021] Figure 3 This is a diagram of the domain-driven design scheme in Embodiment 2 of the present invention;
[0022] Figure 4 This is a diagram of the unified user center domain model in Embodiment 2 of the present invention;
[0023] Figure 5 This is a diagram of the external interface of the unified user center in Embodiment 2 of the present invention;
[0024] Figure 6 This is an example diagram of the external interface of the unified user center in Embodiment 2 of the present invention;
[0025] Figure 7 This is a domain model diagram of the user management template service in Embodiment 2 of the present invention;
[0026] Figure 8 This is a diagram of the external interface of the user management template service in Embodiment 2 of the present invention;
[0027] Figure 9This is an external interface diagram of another user management template service in Embodiment 2 of the present invention;
[0028] Figure 10 This is a design diagram of the data self-synchronization layer scheme in Embodiment 2 of the present invention;
[0029] Figure 11 This is a design diagram of the full mirror initialization scheme for the data self-synchronization layer in Embodiment 2 of the present invention;
[0030] Figure 12 This is a design diagram of the unified user center data migration scheme in Embodiment 2 of the present invention;
[0031] Figure 13 This is a detailed design diagram of the unified user center data migration tool in Embodiment 2 of the present invention. Detailed Implementation
[0032] Exemplary embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
[0033] To address the problem that user information cannot be universally shared across multiple business systems in existing technologies, embodiments of the present invention provide a user information integration device and method. This method enables different business systems to use a standardized integrated user center through the deployment of microservices, and provides a user self-synchronization function that can be customized in different business systems according to business needs.
[0034] Example 1
[0035] Embodiment 1 of the present invention provides a user information integration device, the structure of which is as follows: Figure 1 As shown, it includes a data self-synchronization layer 11 and an integrated user center layer 12.
[0036] The data self-synchronization layer 11 is used to save the user information received from the first business system into mirror data, update the full incremental library 1111 in the mirror library 111 according to the mirror data, and send the mirror data to the integrated user center layer 12.
[0037] The integrated user center layer 12 is used to package mirrored data into unified user information according to a set model and store it in a unified user information database, so that the data processor can provide customized user information to the second business system based on the unified user information database.
[0038] The first business system can be any identity authentication data system related to natural persons. Using it as the underlying standard data (user information source data) can better integrate personnel management and strengthen account management for the same natural person in different internal business systems (second business system). The implementation of this embodiment requires the addition of a synchronization data transmitter, which packages the changed data in the first business system along with other tagged data into synchronization data (user information) and sends it to the data self-synchronization layer.
[0039] In some embodiments, the data self-synchronization layer 11 also includes a synchronization data receiver 112, a data synchronization publisher 113, and a data synchronization processor 114.
[0040] The synchronous data receiver 112 is used to save the user information data received from the first business system into mirror data and store it in the incremental mirror library 1112 of the mirror library 111.
[0041] The image data that has just been saved in the incremental image library is stateless data.
[0042] Image library 111 is also used to update the current full image library 1111 based on the stateless image data in the incremental image library 1112, and to mark the state of the image data in the incremental image library 1112 as unprocessed.
[0043] Furthermore, the mirror repository uses the current full mirror data to calculate whether stateless mirror data is newly added or updated, and marks the status of the mirror data as newly added or updated based on the calculation result. Specifically, if the calculation result of stateless mirror data is newly added, its status is marked as newly added and unprocessed; if the calculation result of stateless mirror data is updated, its status is marked as updated and unprocessed. If the data status is updated, the existing mirror data in the full mirror repository is updated; if the data status is newly added, the mirror data is inserted into the full mirror repository.
[0044] Data sync publisher 113 is used to read image data marked as unprocessed in the incremental image library and publish it to the change data queue.
[0045] Specifically, read the image data marked as unprocessed from the incremental image library, publish it to the change data queue, and change the unprocessed status of the image data in the incremental image library to processed.
[0046] The data synchronization processor 114 is used to send mirrored data in the change data queue to the integrated user center layer 12.
[0047] In some embodiments, the integrated user center layer 12 includes a unified user center 121 and a data migration tool 122.
[0048] The unified user center 121 includes a production environment 1211, a development environment 1212, a testing environment 1213, and a training environment 1214. The production environment 1211 is used to package mirrored data into unified user information according to a defined model and store it in a unified user information database. Furthermore, the defined model is a pre-designed domain model based on the domain-driven concept.
[0049] The development environment 1212, the testing environment 1213, and the training environment 1214 are used to obtain unified user information from the unified user information database of any other environment through the data migration tool 122 and store it into their unified user information database.
[0050] Furthermore, the production environment is used after the user management module of the second business system to be integrated has completed development and testing. The unified user information in the unified user information database of the production environment is the most reliable and complete information and cannot be modified arbitrarily. The development environment is used by the user management module of the second business system to be integrated during the development process. The testing environment is used by the user management module of the second business system to be integrated during the testing process after development and before formal use. The training environment is used by the user management module of the second business system to be integrated during the training process.
[0051] The aforementioned different environment settings can differentiate the usage requirements of the user management module of the second business system at various stages, while ensuring data integrity and reliability. Optionally, other environments may also be included; the specific number and type of environments are not limited in this embodiment.
[0052] Data migration tool 122 is specifically used to update data packages according to import instructions, based on the whitelist and the update or addition tags of each unified user information in the data package in the specified directory, and migrate them to the import environment included in the import instructions. The data packages are exported from the unified user information database of the export environment included in the export instructions.
[0053] Data migration tool 122 provides data migration services for only one environment at a time.
[0054] Due to security concerns, the data migration tool does not use a setup that connects to multiple environments simultaneously.
[0055] In some embodiments, the data processor and the second business system have a one-to-one correspondence; the data processor is a data customization processor or a data consistency processor, the second business system corresponding to the data customization processor is an existing business system, and the second business system corresponding to the data consistency processor is a business system to be developed.
[0056] The user information integration device provided in Embodiment 1 of this invention comprises a data self-synchronization layer and an integrated user center layer. The data self-synchronization layer saves user information received from a first business system as mirror data, updates the full mirror database based on the mirror data, and sends the mirror data to the integrated user center layer. The integrated user center layer packages the mirror data into unified user information according to a set model and stores it in a unified user information database, enabling the data processor to provide customized user information to a second business system based on the unified user information database. The data self-synchronization layer implements the self-synchronization function of user information in the first business system (standard system), and the integrated user center layer integrates the user information synchronized by the data self-synchronization layer, providing customized user information services to different business systems according to their business needs. This overcomes the problems of traditional methods, such as the inability to achieve universality of user information across different systems, large number of user accounts, complex management, and difficult integration. It also supports highly customized user model design to meet the business needs of different systems. Through microservice deployment, the business system is decoupled from its user management module, achieving core code reusability and greatly improving service compatibility.
[0057] By simply developing a data sending module that can synchronize user information to the data self-synchronization layer on the basis of the first business system, and then further developing each second business system on the basis of its original system using a data processor, the integration and customization of user information services and the reusability of the existing system can be realized, reducing cost investment and increasing the practicality and scalability of the user information integration device provided in this embodiment of the invention.
[0058] Example 2
[0059] Embodiment 2 of the present invention provides a user information integration system, the structure of which is as follows: Figure 2 As shown, it includes a unified identity layer, a data self-synchronization layer, an integrated user center layer, and a business system user management layer, wherein the data self-synchronization layer and the integrated user center layer constitute the user information integration device in Embodiment 1.
[0060] The user information integration system operates in a virtual machine environment and a microservice environment.
[0061] The unified identity layer can be any identity authentication layer related to a natural person. Using it as the underlying data layer can better integrate with enterprise personnel management and strengthen the management of the same natural person's accounts across different internal business systems. This layer defines a synchronization data layer, which contains changed data and other tagged data (time, IP, reason, etc.). A synchronization data sender is added to this layer to package the changed data along with other tagged data into synchronization data and send it to the data self-synchronization layer.
[0062] Synchronized data refers to user information, which can be user identity information, including user identification, basic information, organizational affiliation information, and other information; or it can be organizational identity information, including organizational identification, basic information, and other information.
[0063] The data self-synchronization layer is responsible for synchronizing data between the integrated user center layer and the unified identity layer. It includes a synchronization data receiver, a unified identity layer mirror (i.e., a mirror library), a log database, a data synchronization publisher, and a data synchronization processor.
[0064] The synchronization data receiver receives synchronization data (user information) from the unified identity layer and saves it as mirror data. The data synchronization publisher listens for changes to the mirror and adds change tags to the changed mirror data. Finally, the data synchronization processor retrieves the changed data and synchronizes it to the integrated user center layer. Simultaneously, logs are saved to the log database during the data flow within this layer. The unified identity layer mirror includes incremental and full mirrors; the log database includes: identity information change logs and synchronization record logs. Each time data changes, the process unfolds as follows: First, the synchronization data receiver receives the synchronized data, saves the identity information change log, and stores the synchronized data in the incremental mirror library. At this point, the data is stateless. Second, the incremental mirror library periodically and quantitatively processes data that is stateless, compares it with the data in the full mirror library to calculate the data state (updated or added), and takes appropriate action based on the state: if the data state is updated, the existing data in the full mirror library is updated; if the data state is added, the data is inserted into the full mirror library, ultimately changing the data state in the incremental mirror library from stateless to updated or added. Third, the data synchronization publisher periodically (configurably) reads data marked as unprocessed from the incremental mirror library, publishes it to the changed data queue, and marks the data state in the incremental mirror library as processed. Fourth, the data synchronization processor synchronizes the data to the integrated user center layer and records the synchronization log. If an error occurs while storing the log in the database, it will be saved to a text log. This design ensures data integrity and can also serve as a basis for data changes, improving security.
[0065] The role of the integrated user center layer is to provide a unified user center related to natural persons for different business systems of an enterprise. It is abstracted above the business and only contains basic information related to users. It is isolated from the business and therefore has the ability to be integrated with any business system.
[0066] The integrated user center layer comprises a unified user center and a data migration tool. The unified user center is further divided into four environments: Development Environment (DEV), Testing Environment (SIT), Training Environment (UAT), and Production Environment (PRD). The unified user center abstractly defines the user model, with user information including integrated user identifiers, user identity identifiers, basic information (name, etc.), and organizational affiliation information and role declarations. Organizational information includes integrated organization identifiers, organization identity identifiers, and basic information. The data migration tool performs data migration across these four different environments. It calls an export command in one environment, queries relevant data organization based on the integrated user identifier, exports the model, and generates a data package, saving it to the migration tool's directory. Then, it copies the migration tool to a server allowed access to another environment, sets a whitelist for updated content, executes an import command, reads the data package, and migrates the data to the other environment.
[0067] The role of the business system user management layer is to integrate with the user center freely according to different business scenarios. As a service layer used by end users, it lays the foundation for integration between different business systems and for data utilization and analysis in different systems. It includes user management, data consistency processor, and data customization processor in different business systems.
[0068] To meet the different needs of existing and new business systems, the business system user management layer provides two modes of processors:
[0069] a) Customized Data Processor: For existing business systems that already include user management functions, this embodiment provides a customized data processor to integrate with the unified user center. Specifically, it provides a unified customized template API. This template API already implements data synchronization with the unified user center. Different systems only need to modify it according to their own business needs to achieve integration with the unified user center.
[0070] b) Data Consistency Processor: For new business systems, this embodiment provides a data consistency processor to offer user management functionality. Specifically, it provides a standardized user management template API, which implements user data model definition, extended data model definition, storage mode definition, synchronization with the unified user center, and basic functions such as CRUD operations. It provides the new system with the ability to initialize user data from the unified user center and supports customized extensions based on business needs. The data consistency processor decouples business operations and user management through service standardization and unified data model control, achieving core code reusability and significantly improving service compatibility.
[0071] The implementation of the user information integration system provided in this embodiment is mainly achieved through:
[0072] First, introduce the concept of domain-driven design and design the implementation scheme.
[0073] The implementation structure of a domain-driven design scheme is as follows: Figure 3 As shown. From bottom to top, it includes:
[0074] 1. Infrastructure is the repository layer, providing a data persistence mechanism. First, the repository model is defined. All files related to the repository model are in EntityFramework, where the repository model configuration is named... <x>ModelConfiguration; secondly, define the repository access context, named... <db>Context, while all migrations generated using the Code First pattern reside in Migrations; finally, define the repository interface, named <x>The Repository is placed in Repositories and integrated at the Domain layer.
[0075] 2. The Domain layer defines domain objects, and its definition requires developers to analyze it from a business perspective. The Domain layer includes the domain model and domain events. The domain model is placed in Aggregates / <x>Under Aggregates, place domain events under DomainEvents, and name the events as follows: Domain models are used to model specific business processes, forming domain objects. They include data models, domain logic or behavior, and repository interfaces. The data model for a domain model is named... <x>Model; its behavioral capabilities are manifested in the form of extended methods, and the behavior files are named accordingly. <x>Behavior; The repository interface only contains CRUD methods, while the interface implementation is in the Infrastructure layer. Queries are split according to the CQRS pattern and named I. <x>Repository; placed in Aggregates / <x>Under Aggregate. Additionally, domain objects include aggregate objects, value objects, enumeration objects, etc., where the aggregate root is a special aggregate object that serves as the sole entry point for external access to the aggregate.
[0076] In traditional approaches, developers abstract attributes and extended information into data models, while implementing functionality as methods in the logic layer. This results in a model and database having essentially the same structure. However, in a domain-driven design approach, we treat business logic as the object of model analysis, using user attributes as the data model within the domain model and functionality as the behavior and interface of the domain model. Therefore, you'll find that in this invention, the domain model of the unified user center is inconsistent with the database model, allowing for seamless integration regardless of the underlying data model.
[0077] 3. The Application layer is the logic layer, implementing business logic requirements. In this invention, we introduce the concept of a mediator to decouple this layer from the API layer, forming a lightweight API, heavy Application structure. The purpose is to decouple message sending and processing. Thus, we define messages as commands and events. Commands are one-to-one unicast relationships, and events are one-to-many multicast relationships. The specific structure is as follows:
[0078] Command request – command processing: a one-to-one relationship.
[0079] Command Request: Define a Command class to pass API layer message data; all attributes in this class are anemic domain model attributes. Naming... <x> <action>Command. Command processing: Implements all business processing logic, named... <x> <action>CommandHandler.
[0080] Event definition – Event handling: a one-to-many relationship.
[0081] Event Definition: Defines the Command class to pass API layer message data; Event Handling: Represents the processing logic for multiple business processes that need to be generated when an event occurs. Events are divided into domain events and integration events. Integration events are defined and handled at the application layer, and their handling is triggered by external domain calls; domain events are defined at the domain layer and handled at the application layer, and their handling is triggered by mediator extension calls. In this layer, this invention places integration events and their handling in IntegrationEvents and IntegrationEventHandlers respectively, while domain event handling is placed in DomainEventHandlers.
[0082] In addition, as mentioned earlier, the Domain layer's interface definition for the domain model only includes methods for "write" operations, while queries are split according to the CQRS pattern. Therefore, this layer also includes query interfaces for aggregate objects and their implementations.
[0083] Query Model — Query Interface — Query Interface Implementation:
[0084] Query Model: The query model is independent of the command and event request models, and is named accordingly. <x>QM. Query interface: Named I <x>Queries. Query interface implementation: naming. <x>Queries, note that the repository interface is not used here, but a derived class of DbContext is used directly.
[0085] 4. The API is the application layer, responsible for interacting with the external environment. Controllers contain all controllers, defining all external interaction interfaces; these interfaces are defined using a RESTful style around resource definitions. Models contain all view models, named... <x>Similarly, the naming and priority principles for controller action method parameter types are as follows:
[0086] For command execution, the input parameters in the action method are prioritized using the Command Model, followed by the View Model. The output results are prioritized using the Domain Model, followed by the Command Model, and lastly the View Model.
[0087] For query execution, the input parameters in the action method are prioritized as follows: query parameters, then the query model, and finally the view model. The output results are prioritized as follows: domain model, then the query model, and finally the view model.
[0088] II. Create a User Center Service (Integrate a Unified User Center at the User Center Layer)
[0089] Based on the above design scheme, a unified user center service is created. Specifically, domain-driven design concepts are used at the domain layer to define and manage user models, such as...< / x> < / x> < / x> < / x> < / action> < / x> < / action> < / x> < / x> < / x> < / x> < / x> Figure 4 As shown. Analyzing user objects, firstly, they have attributes such as integrated user identifier (Id), user identity identifier (Code), and name (DisplayName); secondly, they possess extended information such as organization information (Org) and role information (Roles); thirdly, they have functions such as modifying names and deleting users. The unified user center also provides external interfaces, such as... Figure 5 , Figure 6 As shown.
[0090] III. Create User Management Template Service (Data Consistency Processor for User Management Layer of Business Systems)
[0091] User models for user management template services, such as Figure 7 As shown. Similar to the user model of the unified user center, the differences are: First, it adds user business identifier (Id), integrated user identifier (PlatformUserId), and user identity identifier (Code) attributes; second, it has business-related extended information (Claims); third, it has the function of synchronizing data with the unified user center. The data consistency processor (user management template service) also provides external interfaces, which are divided into two parts; the first part is the unified user center-specific interface, including: query interface, data import interface, and data initialization interface, such as... Figure 8 As shown, these interfaces work together to enable data synchronization between the business system and the unified user center; the second part consists of general management function interfaces, including: organization management, user organization management, role management, and user management, such as... Figure 9 As shown.
[0092] IV. Constructing a Data Self-Synchronization Layer
[0093] like Figure 10 As shown, the data self-synchronization layer is a complete module, which includes 3 proxy services, 2 mirror databases, 2 change record databases, and 1 queue. The proxy services include: data change listening proxy (Listener1), which is the synchronization data receiver of the data self-synchronization layer; data creation and publishing proxy service (Publisher), which is the data synchronization publisher of the data self-synchronization layer; and data creation and synchronization proxy service (Listener3), which is the data synchronization processor of the data self-synchronization layer. The mirror databases include: incremental mirror (incremental (Mirror)Orgs & Users) and full mirror (full (Mirror)Orgs & Users). The change record databases include: identity information change log (IAM Message Log) and synchronization record log (Log (Record State)). The queue is the data synchronization queue (Queue). The data flow process in this layer is as follows: After the data change monitoring agent obtains the synchronized data from the identity information change queue, it sends it to the incremental image. The incremental image then sends it to the full image and the data publishing agent service, and then to the data synchronization queue. Finally, the synchronization agent service obtains the data and synchronizes it to the unified user center of the integrated user center layer. For details, please refer to the description of the data self-synchronization layer in the invention content above.
[0094] The following is combined with Figure 10 The implementation method of this layer is explained in detail from left to right.
[0095] 1. Prerequisites
[0096] (1) Create an identity information change queue (Change Data, i.e., a synchronous data sender for the unified identity layer)
[0097] This queue is a data queue, in which each data body contains all the information about the identity change and related marker information such as time and operator. This queue is monitored in real time by the data change listening agent (Listener1).
[0098] (2) Create a full mirror (full mirror Orgs & Users)
[0099] This image is essentially a copy of the unified identity layer, structurally identical to it. Due to its massive data volume, this invention employs an offline tool for initialization. This offline tool can be developed based on the actual structure and business needs of the unified identity layer; specific requirements are not specified here. The initialization design is as follows: Figure 11 As shown.
[0100] (3) Create log databases: Identity Information Change Log (IAM Message Log) and Synchronization Record Log (Log (Record State)).
[0101] These two databases are used as logs, and their structures can be designed according to the actual needs of the developers; this invention does not impose any requirements on them.
[0102] 2. Create an incremental mirror (incremental (Mirror)Orgs & Users)
[0103] This mirror records synchronized data. If the same data is changed multiple times, multiple synchronized data entries will be recorded. Structurally, this mirror contains synchronized data and data status. Data status is divided into: stateless, updated, added, and unprocessed. The first three statuses belong to the unprocessed state. Functionally, it has an automatic comparison and marking function. The specific logic is as follows: After the automatically synchronized data is put into the database, the initial state is stateless. This mirror identifies these stateless data, calculates the data status (updated or added) by comparing it with the full mirror (full mirror Orgs & Users), and updates (updates if the data status is updated) or inserts (inserts if the data status is added) the full mirror (full mirror Orgs & Users) according to the data status. Finally, the data status is saved back to this mirror.
[0104] 3. Create a data change monitoring agent (Listener1)
[0105] This agent is responsible for listening to the identity information change queue, recording the identity information change log, and then persistently storing the synchronized data in the incremental mirror database.
[0106] 4. Create a data synchronization queue (Queue)
[0107] This is a data queue, which contains all the information in the identity information change queue (Change Data) and the data status (updated or added) added by the incremental mirror.
[0108] 5. Create a data publishing service (Publisher)
[0109] The purpose of this service is to store the execution time in a batch table, periodically (configurably) read data in the incremental image that is in the updated or newly added state, and publish it to the data synchronization queue.
[0110] 6. Create a data synchronization proxy service
[0111] The purpose of this service is to monitor the data synchronization queue, record the synchronization data log, and synchronize the data to the unified user center of the integrated user center layer according to the data status (updated or added).
[0112] V. Creating a Data Migration Tool
[0113] This tool is responsible for data migration across different environments (DEV, SIT, UAT, PRD) within a unified user center. Figure 12 As shown. Reference Figure 13 When creating this tool, the first step is to design export models (Users export model, UserClaims export model, UserLogins export model, Roles export model, UserRoles export model) based on the domain model of the unified user center, and define export commands (ExportUses comprehensive command) and import commands (ImportUses comprehensive command). Secondly, logical control is implemented based on the data flow process: First, the export command is called to query relevant data based on UserIds (integrated user identifier array) to organize the export model and generate a data package, which is then saved to the migration tool directory. Second, the migration tool (including the data package) is copied to the secure environment server. Third, an update content whitelist is set. This whitelist controls the content allowed to be updated in the next step; for example, if a data entry is a new operation, it is directly inserted; if an update operation is performed, only the content in the whitelist is updated. Fourth, the import command is called to read the data package and execute the corresponding data operation commands ([Update], [Insert], [Delete]), ultimately completing the data migration.
[0114] VI. Create a customized template API (data customization processor for the user management layer of the business system)
[0115] This template integrates the unified user center with the business system. The template API provided in this invention associates the user management module of the business system with the unified user center through user identifiers, provides management capabilities, and supports customized processing according to business needs.
[0116] Based on the inventive concept of this invention, embodiments of this invention also provide a user information integration method, including: saving received user information as mirror data through a data self-synchronization layer and sending it to an integrated user center layer; packaging the mirror data into unified user information according to a set model through the integrated user center layer and storing it in a unified user information database, so that the data processor provides customized unified user data to the business system based on the unified user information database.
[0117] Regarding the methods in the above embodiments, the specific execution process of each step has been described in detail in the embodiments of the device and system, and will not be elaborated here.
[0118] Based on the inventive concept of the present invention, embodiments of the present invention also provide a computer program product with user information integration function, including a computer program / instruction, wherein the computer program / instruction implements the above-mentioned user information integration method when executed by a processor.
[0119] Unless otherwise specifically stated, terms such as processing, calculation, operation, determination, display, etc., may refer to the actions and / or processes of one or more processing or computing systems or similar devices that represent the manipulation and conversion of data representing physical (e.g., electronic) quantities within the registers or memory of the processing system into other data similarly representing physical quantities within the memory, registers, or other such information storage, transmission, or display devices of the processing system. Information and signals can be represented using any of a variety of different techniques and methods. For example, data, instructions, commands, information, signals, bits, symbols, and chips mentioned throughout the above description can be represented by voltage, current, electromagnetic waves, magnetic fields or particles, light fields or particles, or any combination thereof.
[0120] It should be understood that the specific order or hierarchy of steps in the disclosed process is an example of an exemplary method. Based on design preferences, it should be understood that the specific order or hierarchy of steps in the process may be rearranged without departing from the scope of this disclosure. The appended method claims provide elements of various steps in an exemplary order and are not intended to limit the scope to the specific order or hierarchy described.
[0121] In the detailed description above, various features are combined together in a single embodiment to simplify this disclosure. This approach to disclosure should not be construed as reflecting an intention that embodiments of the claimed subject matter require more features than are explicitly stated in each claim. Rather, as reflected in the appended claims, the invention is presented with fewer features than all of the features in a single disclosed embodiment. Therefore, the appended claims are hereby explicitly incorporated into the detailed description, with each claim representing a separate preferred embodiment of the invention.
[0122] Those skilled in the art will also understand that the various illustrative logic blocks, modules, circuits, and algorithm steps described in conjunction with the embodiments herein can be implemented as electronic hardware, computer software, or a combination thereof. To clearly illustrate the interchangeability between hardware and software, the various illustrative components, blocks, modules, circuits, and steps described above are generally described in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system. Those skilled in the art can implement the described functionality in alternative ways for each specific application; however, such implementation decisions should not be construed as departing from the scope of this disclosure.
[0123] The steps of the methods or algorithms described in conjunction with the embodiments herein can be directly embodied in hardware, software modules executed by a processor, or a combination thereof. The software modules can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disks, removable disks, CD-ROMs, or any other form of storage medium well known in the art. An exemplary storage medium is connected to the processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. The ASIC can reside in a user terminal. Alternatively, the processor and storage medium can exist as discrete components in the user terminal.
[0124] For software implementation, the techniques described in this application can be implemented using modules (e.g., procedures, functions, etc.) that perform the functions described in this application. This software code can be stored in memory units and executed by a processor. The memory units can be implemented within the processor or outside the processor; in the latter case, they are communicatively coupled to the processor via various means, as is well known in the art.
[0125] The foregoing description includes examples of one or more embodiments. It is certainly impossible to describe all possible combinations of components or methods in order to describe the above embodiments, but those skilled in the art will recognize that further combinations and arrangements of the various embodiments are possible. Therefore, the embodiments described herein are intended to cover all such changes, modifications, and variations that fall within the scope of the appended claims. Furthermore, the term "comprising" as used in the specification or claims is interpreted in a manner similar to the term "including," as it is understood when used as a conjunction in the claims. Additionally, the use of any term "or" in the specification of the claims is intended to mean "non-exclusive or." The terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.< / x> < / x> < / db> < / x>
Claims
1. A user information integration apparatus, characterized by comprising: Includes a data self-synchronization layer and an integrated user center layer; The data self-synchronization layer is used to save user information received from the first business system into mirror data, update the full mirror library in the mirror library according to the mirror data, and send the mirror data to the integrated user center layer. The integrated user center layer is used to package the mirrored data into unified user information according to a set model and store it in a unified user information database, so that the data processor can provide customized user information for the second business system based on the unified user information database. The data self-synchronization layer further includes a synchronization data receiver, a data synchronization publisher, and a data synchronization processor; the synchronization data receiver is used to save user information data received from the first business system as mirror data and store it in the incremental mirror library of the mirror library; the mirror library is also used to update the current full mirror library according to the stateless mirror data in the incremental mirror library, and mark the state of the mirror data in the incremental mirror library as unprocessed. The data synchronization publisher is used to read the unprocessed image data in the incremental image library and publish it to the change data queue; the data synchronization processor is used to send the image data in the change data queue to the integrated user center layer. The integrated user center layer includes a unified user center and a data migration tool; the unified user center includes a production environment, a development environment, a testing environment, and a training environment; the production environment is used to package the mirrored data into unified user information according to a set model and store it in a unified user information database; the development environment, testing environment, and training environment are respectively used to obtain unified user information from the unified user information database of any other environment through the data migration tool and store it in their respective unified user information databases; The defined model is a pre-designed domain model based on the domain-driven concept. The data processor and the second business system have a one-to-one correspondence; the data processor is a data customization processor or a data consistency processor, the second business system corresponding to the data customization processor is an existing business system, and the second business system corresponding to the data consistency processor is a business system to be developed.
2. The apparatus of claim 1, wherein, The image library updates the current full image library based on the stateless image data in the incremental image library, specifically for: Calculate whether the stateless image data is newly added or updated using the image data in the current full image library, and mark the state of the image data as newly added or updated based on the calculation result; accordingly, The data synchronization publisher reads the unprocessed image data from the incremental image library and publishes it to the change data queue, specifically for: Read the image data marked as unprocessed in the incremental image library, publish it to the change data queue, and change the unprocessed status of the image data in the incremental image library to processed.
3. The apparatus of claim 1, wherein, The data migration tool provides data migration services for only one environment at a time.
4. The apparatus of claim 1, wherein, The data migration tool is specifically used for: According to the import instruction, based on the whitelist and the update or addition markers of each unified user information in the data packet under the specified directory, the data packet is updated and migrated to the import environment included in the import instruction. The import instruction also includes an export environment, and the data packet is exported from the unified user information database of the export environment.
5. A user information integration method, which is performed based on the apparatus of claim 1, characterized by, The method includes: The data self-synchronization layer saves the user information received from the first business system into mirror data, updates the full mirror library in the mirror library according to the mirror data, and sends the mirror data to the integrated user center layer. The integrated user center layer packages the mirrored data into unified user information according to a set model and stores it in a unified user information database, so that the data processor can provide customized user information for the second business system based on the unified user information database.
6. A computer program product having a user information integration function, comprising computer programs / instructions, characterized by, When the computer program / instruction is executed by the processor, it implements the user information integration method of claim 5.