Methods, systems, electronic devices, and computer-readable storage media for handling data collisions.

The method addresses configuration data release failures in complex business systems by defining data table relationships and processing data collisions, enabling efficient and user-friendly data migration without developer intervention.

JP7881827B2Active Publication Date: 2026-06-29エバオテック コーポレーション

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
エバオテック コーポレーション
Filing Date
2023-05-31
Publication Date
2026-06-29

AI Technical Summary

Technical Problem

In complex business service systems, configuration data release failures occur due to unique key collisions and database field discrepancies between configuration and target environments, leading to inefficient and labor-intensive data migration processes.

Method used

A method and system for handling data collisions by defining relationships between data tables, generating data description files, and performing data processing in the target environment to ensure smooth data release, allowing users to independently manage configuration data without developer intervention.

Benefits of technology

Ensures smooth migration of configuration data, reduces developer workload, and enhances the efficiency of business service updates by preventing data collision-related failures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007881827000001
    Figure 0007881827000001
  • Figure 0007881827000002
    Figure 0007881827000002
  • Figure 0007881827000003
    Figure 0007881827000003
Patent Text Reader

Abstract

The present application relates to the computer technical field, and in particular to a method, system, electronic device, and computer-readable storage medium for handling data conflicts. The method includes: a business configuration module, in response to a detected derive operation, sending a derive request for target configuration data to a derive module; the derive module, in response to the derive request, obtaining the target configuration data and a data description file generated corresponding to the target configuration data, and sending them to the business configuration module; the business configuration module, in response to a detected release operation, sending the received configuration data and data description file to an install module; and the install module, in response to the derive request, determining a processing result for data in a data table having a data conflict in a target environment based on the data description file, and applying the received target configuration data to the processed data in the data table. The technical solution of the present application can ensure that the configuration data is smoothly released to the target environment, thereby improving the efficiency of configuration updates for business services.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application claims the priority of a Chinese patent application filed with the Chinese Patent Office on July 18, 2022, with an application number of 202210842930.6 and an application title of "Method, System, Electronic Device, and Computer-Readable Storage Medium for Processing Data Collisions", and all of its contents are incorporated herein by reference.

[0002] The present invention relates to the field of computer technology, and in particular, to a method, system, electronic device, and computer-readable storage medium for processing data collisions.

Background Art

[0003] In some relatively highly integrated and complex business service systems, in order to perform isolation and security management of configuration data installed according to the needs of some services, usually, the configuration data is installed in a pre-constructed independent configuration environment. For example, in an insurance business system, a business analyst providing insurance contract services may include insurance products, insurance plans, premium tables, insurance certificate generation rules, translations, code tables, index configurations, etc. in the configuration data that may need to be installed according to the needs of the business. These configuration data need to be first installed and completed in an independent configuration environment, and then released to the target environment where the insurance business system is executed by a data migration tool.

[0004] However, in the process of releasing the configuration data to the target environment, it often encounters problems such as the existence of unique key collisions or the increase or decrease of corresponding database fields in the corresponding business data tables in the configuration environment and the target environment. Among them, 1) If the version of the configuration environment is higher than the version of the target environment, and the data migration process only involves releasing the configuration data without upgrading the application and corresponding databases in the target environment, then database fields used in the configuration environment will be missing in the target environment. 2) Because the main key of the data table in the target environment for the same business data has already been modified, a conflict occurs between the unconfigured data awaiting release in the configuration environment and the unique key of the data table for the corresponding business data in the target environment. 3) Some foreign key data corresponding to certain data in the configuration data does not exist in the target environment, resulting in a lack of configuration data. For example, in the insurance business audit field, the auditor "Zhang San" does not exist in the target environment. Includes.

[0005] Based on the above issues, some scripts in the data migration tool may fail to execute during the process of releasing configuration data. Consequently, the process of successfully releasing configuration data to the target environment cannot be completed, and this further increases the workload for developers. [Overview of the project] [Problems that the invention aims to solve]

[0006] This embodiment provides a method, system, electronic device, and computer-readable storage medium for handling data collisions, solving the problem of configuration data release failures due to data collisions, ensuring the smooth release of configuration data from the configuration environment to the target environment, guaranteeing the smooth migration of configuration data from the configuration environment to the target environment, and improving the efficiency of updating and releasing business services. [Means for solving the problem]

[0007] According to the first aspect, the present embodiment provides a method for handling data collisions used in a system having a business configuration module, a derivation module executed in a configuration environment, and an deployment module executed in a target environment, The steps include: the business configuration module responding to a detected derivation operation and sending a derivation request for target configuration data to the derivation module, wherein the target configuration data is data generated by the user setting parameters in the business services provided to the system; The derivation module responds to a derivation request by obtaining target configuration data and a data description file generated in accordance with the target configuration data, and sending them to the business configuration module, wherein the data description file includes a description of the source datasets related to the target configuration data and the relationships between the data tables in each source dataset. The business configuration module responds to detected release operations by sending the received configuration data, data description files, and release requests to the deployment module. The provided method for handling data collisions includes the steps of: having an installation module respond to a release request, determining the processing result for data in a data table having data collisions in the target environment based on a data description file, and applying the received target configuration data to the processed data in the data table.

[0008] In other words, if it is necessary to release configuration data set up for a corresponding business service in a business service system, such as related data including installed insurance products, insurance plans, premium tables, and insurance policy generation rules, to a target environment for processing front-end business data, the system may first compare the data contents of the data tables in each dataset related to the target configuration data in the target environment with the data contents of the data tables in each dataset related to the configuration data in the configuration environment, perform appropriate processing on data tables with conflicts in the target environment, and then introduce the configuration data that needs to be released to the target environment.

[0009] In this way, it is possible to ensure that configuration data is released smoothly to the target environment, preventing release failures due to conflicts in data content between the target environment and some data tables in the configuration environment, thereby improving the efficiency of updating business services. Furthermore, according to the above technical means, it is convenient for users to operate, and developers do not need to participate. Users can independently set up business-related configuration data and complete the process of releasing the corresponding configuration data, thus improving the efficiency of managing the corresponding business services by users.

[0010] In one possible embodiment of the first aspect described above, the derivation module includes a predefined configuration data derivation rule, and the derivation module responds to a derivation request and generates a data description file corresponding to the target configuration data based on the derivation rule.

[0011] The above derivation rules may, for example, be a pre-configured template for a data description file, which defines the contents of the data description file necessary to be generated when deriving the configuration data. The format of the data description file may, for example, be an XML file, and is not limited thereto.

[0012] In one possible embodiment of the first aspect described above, the derivation rule includes pre-setting at least one association for each data table in the configuration environment database, and determining the base table corresponding to the business services provided to the system in each pre-set association.

[0013] In one possible embodiment of the first aspect described above, the base table and the associated data table in each association relationship are linked via a foreign key.

[0014] In one possible embodiment of the first aspect described above, determining the processing result for data in a data table having a data collision in the target environment based on a data description file includes the deployment module obtaining a target dataset corresponding to each source dataset from the target environment database based on the description of the relationships between data tables in each source dataset in the data description file, wherein the relationships between data tables in the target dataset match the description of the relationships between data tables in the corresponding source dataset, and the deployment module comparing the target dataset with the corresponding source dataset to determine the processing result for data in a data table having a data collision in the target environment based on the comparison result.

[0015] In one possible embodiment of the first aspect described above, comparing a target dataset with a corresponding source dataset and determining the processing result for data in a data table having data collisions in the target environment based on the comparison result is: If the unique key of the target dataset base table matches the unique key of the source dataset base table, and the main key of the target dataset base table matches the main key of the source dataset base table, then, if the source dataset base table and the target dataset base table contain other fields that do not match, it is confirmed that the data content of the target dataset base table will be updated to the data content of the source dataset base table. If the unique key of the target dataset base table matches the unique key of the source dataset base table, but the main key of the target dataset base table does not match the main key of the source dataset base table, then it is confirmed that the data content of the target dataset base table will be updated to match the data content of the source dataset base table, and the main key of the target dataset base table will be corrected to match the main key of the source dataset base table. If the unique key in the target dataset base table does not match the unique key in the source dataset base table, and the target dataset base table does not have a first field corresponding to the unique key in the source dataset base table, then it is determined that the first field will be inserted into the target dataset base table, and the data content of the unique key field in the source dataset base table will be updated in the target dataset base table. This includes determining that if the unique key of the target dataset base table does not match the unique key of the source dataset base table, and the source dataset base table does not have a second field corresponding to the unique key of the source dataset base table, then the second field and the data content in the second field should be deleted from the target dataset base table.

[0016] Under the condition that the unique key of the target dataset base table matches the unique key of the source dataset base table, and the main key of the target dataset base table matches the main key of the source dataset base table, if the source dataset base table and target dataset base table contain other fields that do not match, it may be understood that further confirmation is needed to update the contents of the target dataset base table. In this case, other fields that do not match refer to situations where the values ​​of other fields do not match, and the field names are the same but corresponding, i.e., the values ​​of fields with the same name are different. In this way, if all other fields of the source dataset base table and target dataset base table match, it is possible to avoid updating the data contents, saving data processing resources and improving the efficiency of releasing configuration data.

[0017] Furthermore, the "first field" and "second field" mentioned above are merely descriptions of the fields corresponding to unique keys under different execution conditions, and it should be understood that both refer to the fields in the target dataset base table that correspond to the unique keys in the source dataset base table.

[0018] In one possible embodiment of the first aspect described above, comparing a target dataset with a corresponding source dataset and determining the processing result for data in a data table having data collisions in the target environment based on the comparison result further includes determining to set the main key of the target dataset base table as the unique key of the target dataset base table if no unique key is defined in the target dataset base table.

[0019] In some embodiments, when comparing a source dataset and a target dataset, for example, it is possible to first determine whether a unique key is defined in the target dataset base table, and then further determine the unique key and main key of the source dataset base table and the target dataset base table. In this way, it is possible to ensure a more comprehensive analysis of the data contents of the target dataset base table, which improves the effectiveness and accuracy of the comparison.

[0020] In one possible embodiment of the first aspect described above, comparing a target dataset with a corresponding source dataset and determining the processing result for data in data tables having data collisions in the target environment based on the comparison result further includes comparing the data content of related data tables in the target dataset with the data content of related data tables in the source data table based on foreign keys in the target dataset base table, and determining the processing result for the data content of related data tables in the target dataset based on the comparison result.

[0021] In one possible embodiment of the first aspect described above, determining the processing result of the data contents of the relevant data tables in the target dataset based on the comparison result is: If the unique key of the related data table in the target dataset matches the unique key of the related data table in the source dataset, and the main key of the related data table in the target dataset matches the main key of the related data table in the source dataset, and if the related data table in the source dataset and the related data table in the target dataset contain other fields that do not match, then it is determined that the data content of the related data table in the target dataset will be updated to the data content of the related data table in the source dataset. If the unique key of the related data table in the target data set matches the unique key of the related data table in the source data set, but the main key of the related data table in the target data set does not match the main key of the related data table in the source data set, it is determined to update the data content of the related data table in the target data set with the data content of the related data table in the source data set and modify the main key of the related data table in the target data set to the main key of the related data table in the source data set, If the unique key of the related data table in the target data set does not match the unique key of the related data table in the source data set, and there is no third field corresponding to the unique key of the related data table in the source data set in the related data table in the target data set, it is determined to insert a third field into the related data table in the target data set and update the data content in the unique key field in the related data table in the source data set to the related data table in the target data set, If the unique key of the related data table in the target data set does not match the unique key of the related data table in the source data set, and there is no fourth field corresponding to the unique key of the related data table in the source data set in the related data table in the source data set, it is determined to delete the fourth field and the data content in the fourth field from the related data table in the target data set.

[0022] The comparison process of the above related data table is the process of updating the data content in each data table in the target data set in the cascade manner described in the examples in the following text, and the description is omitted here.

[0023] It may be further understood that it is necessary to re-update the content of the related data set in the target data set when the unique key of the related data set in the target data set matches the unique key of the related data set in the source data set and the main key of the related data set in the target data set matches the main key of the related data set in the source data set, and there are other fields in the related data set in the source data set that do not match the related data set in the target data set. Among them, the other fields that do not match refer to the state where the values of the other fields do not match and the field names are correspondingly the same, that is, the values in the fields with the same name are different. In this way, when all other fields of the related data set in the source data set and the related data set in the target data set match, the state of updating the data content can be avoided, saving the resources of data processing and enhancing the efficiency of releasing the configuration data.

[0024] Also, it should be understood that the above "third field" and "fourth field" are only descriptions of the fields corresponding to the unique keys under different execution conditions, and both refer to the fields corresponding to the unique key of the source data set base table in the target data set base table.

[0025] According to a second aspect, the embodiment of the present application provides a business service system including a business configuration module, an export module, and an import module. Among them, the business configuration module is used to respond to the detected export operation and send an export request for target configuration data to the export module. The target configuration data is data generated by a user setting parameters for the business services provided by the system. Also, the business configuration module is used to respond to the detected release operation and send the received configuration data and data description file to the import module. The derivation module is used to respond to derivation requests sent from the business configuration module, retrieve target configuration data and a data description file generated in accordance with the target configuration data, and send it to the business configuration module. The data description file contains a description of the source datasets related to the target configuration data and the relationships between the data tables in each source dataset. The installation module is used to determine the processing results for data in data tables that have data collisions in the target environment based on the data description file, and to apply the received target configuration data to the data in the processed data table.

[0026] According to a third aspect, the present embodiment provides an electronic device comprising one or more processors and one or more memories, wherein one or more programs are stored in one or more memories, and when one or more programs are executed by one or more processors, the electronic device is made to execute a method for handling data collisions provided in the first aspect.

[0027] According to a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium comprising a computer program / instruction, wherein when the computer program / instruction is executed by a processor, a method for handling data collisions provided in the first aspect is realized. [Brief explanation of the drawing]

[0028] [Figure 1] Figure 1 shows a scenario in which business-related configuration data is released in the target environment. [Figure 2] Figure 2 shows a scene in which business-related configuration data is released in the target environment provided by the embodiment of this invention. [Figure 3] Figure 3 shows the implementation flow of the data collision processing method provided in the embodiment of the present invention. [Figure 4]Figure 4 shows the data collision detection and processing flow related to step 310 in the flow shown in Figure 3. [Figure 5] Figure 5 is a schematic diagram of the dataset provided by the embodiment of this application. [Figure 6] Figure 6 is a schematic diagram of the business service system provided by the embodiment of this invention. [Figure 7] Figure 7 is a schematic diagram of the server provided by the embodiment of this application. [Modes for carrying out the invention]

[0029] To facilitate understanding of the technical means provided by the embodiments of this application, the meanings of several related terms in the art are explained below.

[0030] (1) A database is a device used to store large amounts of data entities, and database design is the process of normalizing and structuring the data entities in a database and the relationships between these data entities.

[0031] (2) A data table consists of three parts: the table name, the fields within the table, and the records within the table. Designing a data table structure (hereinafter referred to as "table structure") means defining the data table file name, determining which fields are included in the data table, determining the field name, field type, and width of each field, and inputting this data into the computer.

[0032] (3) A dataset refers to a collection of multiple related data tables.

[0033] (4) A base table refers to a base table in a dataset that is linked to other data tables via a foreign key.

[0034] (5) A main key refers to one or a combination of columns in a data table whose value can uniquely identify each row in the table.

[0035] (6) A unique key refers to a single identifier field set up to identify the appropriate business field according to business needs. For example, in several insurance policy data tables, the main key may be an identity identification code (e.g., ID) set up for each user in the data table, and the unique key may be set in the insurance policyholder's identification number or name in the data table.

[0036] (7) A foreign key is a field in one data table that is used to link it to another data table. One data table can be linked to the main key of another table via a foreign key to establish relationships with other data tables, and furthermore, to retrieve the contents of fields such as text in the other data table, or to insert, delete, change / modify related data contents in the other table.

[0037] In this scenario, if other data tables linked via foreign keys are considered child tables of the current data table, then the current data table becomes the parent table of the other data tables it is linked to.

[0038] In form data, the main key uniquely identifies each record in the data table, foreign keys can be understood as copies of the main key, replicated from the parent table and used to establish relationships between parent and child tables, and unique keys ensure the uniqueness of a particular value in the data table.

[0039] (8) Cascading is the creation of new relationships between one data table and one or more data tables in a form-based application, which allows the form to clearly display the associated data in a hierarchical view.

[0040] To clarify the purpose, technical means, and advantages of the present embodiment, the technical means provided by the present embodiment will be described in detail below, along with the drawings and specific embodiments of the specification.

[0041] Figure 1 shows a scenario in which business-related configuration data is released in the target environment.

[0042] As shown in Figure 1, the scene comprises a terminal and a server, where the configuration server provides a configuration environment for installing business-related configuration data, and the business server provides a target environment for executing a business service system. The business service system executed in the target environment may, for example, be an insurance business system. The configuration environment may have the same configuration parameters and database as the target environment to provide a simulated target environment for developers to install appropriate configuration data based on business needs feedback from business analysts.

[0043] Referring to the scenario shown in Figure 1, depending on the needs of business deployment, if a business analyst needs to install business-related configuration data, they must complete the installation (or writing) of the appropriate business configuration data on the corresponding configuration page provided in the configuration environment so that the application on the business service system can run in the target environment. After that, the developer needs to release the configuration data from the configuration environment to the target environment using a data migration tool such as Flyway or Liquibase.

[0044] Based on the scenario shown in Figure 1 above, as described above, currently, during the process of releasing configuration data to the target environment, problems such as unique key collisions or additions / deletions of corresponding database fields exist in the corresponding business data tables in the configuration environment and the target environment, resulting in the failure to release the configuration data to the target environment. Furthermore, this increases the workload of developers in order to complete the release of the configuration data, and the efficiency of the configuration data release is also reduced.

[0045] To solve the above technical problems, this application provides a method for handling data collisions. Specifically, the method defines the relationships between each data table in the configuration environment in advance and defines a base table in the dataset formed by each of the related data tables. Based on the defined relationships and base table, the rules for deriving configuration data can be set in advance. For example, by setting a data description file template in advance, the contents of the data description file that needs to be generated when deriving configuration data can be defined. In this way, when it is necessary to release configuration data to a target environment, the configuration data and the correspondingly generated data description file can be introduced into the target environment together, thereby enabling the identification of data collisions in the target environment and the configuration environment based on the data description file. Furthermore, based on the identified data collisions, appropriate data processing is first performed on the data in the corresponding data table in the target environment, and then the configuration data is applied to the processed data table in the target environment, completing the process of releasing the configuration data to the target environment.

[0046] Among these, the data description file generated when structuring the data may include a dataset formed by a base table and related data tables related to the structuring data, a table file describing the relationships between data tables in each dataset, and derivation conditions corresponding to each dataset. The base table and related data tables may be obtained from the structuring environment database based on the defined relationships and base tables.

[0047] In this way, by ensuring the smooth release of configuration data from the configuration environment to the target environment, problems such as configuration data release failures due to data collisions are avoided, the smooth migration of configuration data from the configuration environment to the target environment is guaranteed, and appropriate business services can be provided based on the relevant configuration data that is loaded or updated.

[0048] Furthermore, based on the technical means of this invention, the business service system can add release operation-related widgets to the configuration page for installing business-related configuration data. In this way, after completing the installation of the appropriate business configuration data on the configuration page, the user can directly perform a release operation to release the configuration data to the target environment, greatly increasing the efficiency of configuration data release, reducing the workload of developers, and simplifying operations for business personnel.

[0049] Furthermore, the above-mentioned personnel and developers may be understood as administrative users of the business service system, that is, such users manage the business services provided to the business service system and install appropriate configuration data for business-related modules.

[0050] In this context, configuration data may be generated based on the user's installation operations on the corresponding configuration page before the user triggers the data derivation process. For example, a user can install corresponding business configuration data on a configuration page provided to a business service system running in accordance with the configuration environment. Taking insurance business configuration data as an example, such configuration data may include content such as insurance products, insurance plans, premium tables, insurance policy generation rules, translations, code tables, and index configurations, as described above. After the user has completed the installation of corresponding business configuration data on the configuration page, or if it is necessary to introduce other configuration data into the target environment, the user can select to derive configuration data on the configuration page, for example, by clicking the Data Derivation button on the configuration page.

[0051] In some embodiments, the above configuration environment may be run on a configuration / release server, and the above target environment may be run on a business server, which may be, for example, an insurance business server. In some other embodiments, the above configuration environment and target environment may be run on the same server, and are not limited to that here.

[0052] Furthermore, the database corresponding to the above configuration environment and the database corresponding to the target environment have the same data table resources and provide data support to the business service systems executed in each environment. Therefore, each dataset matched from the database corresponding to the configuration environment based on the above data description file (hereinafter referred to as source data) can be matched to the corresponding data table and data table field contents (hereinafter referred to as target data) in the target environment, and furthermore, it is possible to determine whether or not a data collision exists by comparing fields such as unique keys and main keys in the matched target data. Such data collisions may include, for example, situations where the unique keys and main keys of the corresponding data tables in the source data and target data match, or where the unique keys of the corresponding data tables in the source data and target data match, but the main keys do not match.

[0053] In the process of introducing configuration data into the target environment, by determining the various states of the above-mentioned data collisions, appropriate data processing can be performed on the relevant data tables in the target environment based on the determination results, and then the process of introducing the configuration data into the target environment can be completed. The specific data collisions and the process of performing data processing on the corresponding target datasets will be described in detail later and will be omitted here.

[0054] Figure 2 shows a scene in which business-related configuration data is released in the target environment according to the embodiment of the present invention.

[0055] As shown in Figure 2, the scene includes terminal 100a, terminal 100b, configuration server 200a, and business server 200b. The user of terminal 100a may be a developer, and the user of terminal 100b may be a business analyst.

[0056] Developers can access the configuration server 200a via terminal 100a and pre-configure derivation rules in the configuration environment provided to the configuration server 200a. For example, a developer may pre-define the relationships between each data table in the configuration environment and define a base table in a dataset formed by each of the related data tables. Furthermore, a developer may define derivation rules for deriving configuration data, which may be limited to requiring the generation and derivation of a data description file corresponding to the configuration data when deriving the configuration data.

[0057] For example, in the configuration environment, one XML type data description file template may be pre-configured, and this template may define the contents of the data description file that will be generated in response to the derivation of configuration data. The contents of this file may store at least one dataset related to the configuration data, and a table file that describes the relationships between the data tables in each dataset. In this, each dataset may contain one base table and other data tables related to that base table, and the table file may record the names of the base table and related data tables in each dataset, as well as related parameters such as main keys, unique keys, and foreign keys. Furthermore, the description file may also include derivation conditions for each dataset, for example, setting the ID corresponding to the highest-level parent table in each dataset as a derivation condition.

[0058] In this way, the business analyst may access the configuration environment of the configuration server 200a via terminal 100b, complete the installation of the appropriate business configuration data, and then initiate the derivation operation of the appropriate configuration data via terminal 100b. This matches the configuration data in the configuration environment with the appropriate dataset using the pre-configured data description file, and further generates a source data packet together with the configuration data and the data description file, which is then returned to terminal 100b. Furthermore, the business analyst initiates a release operation and releases the data packet containing the acquired configuration data and related datasets to the target environment provided to the business server 200b, thereby applying the above configuration data to the business service system executed in the target environment.

[0059] As shown in Figure 2, when a business analyst initiates a derivation operation via terminal 100b, terminal 100b may call the configuration environment's derivation API and send request parameters for the corresponding configuration data to the configuration server 200a. These request parameters may include, for example, the name of the dataset to be derived and parameters that conform to the derivation conditions of the corresponding dataset, and the dataset to be derived is related to the configuration data to be derived. When a business analyst initiates a release operation via terminal 100b, terminal 100b may call the target environment's deployment API and send the data packet and derivation request to the configuration server 200b, thereby triggering a release process that includes determining data collisions in the target environment, executing the corresponding data processing, and completing the application of the configuration data in the target environment. These will be described in detail later and will not be explained here.

[0060] Based on the scene shown in Figure 2, the data collision handling means according to the embodiment of the present invention can effectively simplify the implementation process for business analysts to configure appropriate business service data in a business service system. For example, without the need for developer intervention, business analysts can place configuration data in the appropriate configuration interface provided to the business service system and release the configuration data to the target environment that executes the business process. According to the technical means of the present invention, the problem of configuration data release failure due to data collisions can be effectively avoided, thereby improving the user experience for users such as business analysts.

[0061] Furthermore, the data collision handling means according to this embodiment can effectively reduce the workload of developers. By having developers write data description files, which are pre-configured by code in the configuration environment, as derivation rules, and by opening up the corresponding business configuration pages to business analysts and allowing them to set configuration parameters autonomously, the need for business analysts to set configuration data based on business demands can be met, and the efficiency of setting configuration data in relation to business is greatly increased.

[0062] Furthermore, the business service system to which the data collision processing method according to the embodiment of this application is applied includes a functional module executed on the business server 200b and a functional module executed on the terminal 100b. In some other embodiments, the business server 200b may further be another electronic device that incorporates or couples one or more processors, such as a desktop PC, laptop PC, handheld computer, or netbook, or that can access a network, and the terminal 100b may be an electronic device such as a desktop PC, laptop computer, tablet computer, or mobile phone, for example. However, this is not limited to these.

[0063] Furthermore, the terminal 100a for pre-configuring derivation rules in the configuration environment provided to the configuration server 200a may be an electronic device such as a desktop PC, notebook PC, tablet computer, or mobile phone, and the configuration server 200a may be a desktop PC, laptop PC, handheld computer, netbook, or other electronic device that incorporates or couples one or more processors, or that can access a network. This is not limited to such devices.

[0064] Based on the scene shown in Figure 2 above, Figure 3 is a diagram illustrating the implementation flow of the data collision processing method according to the embodiment of the present invention. In this flow, Figure 3 mainly relates to the interaction between terminal 100b, configuration server 200a, and business server 200b.

[0065] Specifically, as shown in Figure 3, the flow includes the following steps.

[0066] 301: Configuration server 200a retrieves a template of a data description file that has been pre-configured for the configuration environment.

[0067] For example, referring to the scene shown in Figure 2 above, the developer may pre-establish rules for deriving configuration data in the configuration environment by writing code. For instance, they may define a data description file template for the configuration data that needs to be derived. This data description file template may, for example, define the table structure of the dataset, the relationships between each data table in the dataset, and the corresponding derivation conditions for the dataset in an XML file. When defining the above XML file, the developer can standardize the XML file format by designing an XML schema definition. In this way, when deriving different business-related configuration data from the configuration server 200a, a unified XML file format can be used to generate source data packets, which can then be released to the target environment.

[0068] In this context, the defined dataset table structure in the pre-configured data description file refers to the structure of a statistical table that records and describes the names of each dataset, data table names, fields, relationships between data tables within each dataset, base table data, derivation conditions, etc. The relationships between data tables within each dataset may be specifically represented by the names and values ​​of foreign keys. The databases in which each data table resides include the database corresponding to the configuration environment and the database corresponding to the target environment, but are not limited to these.

[0069] The definition of the relationships between each data table in a dataset is used to determine the relationships between the base table and each other data table for each dataset in the dataset table using foreign keys, where the base table is the parent table in the corresponding dataset, and the other data tables in that dataset are child tables at different levels of the base table. The main key, unique key, etc. of the base table in one dataset may be considered as the main key, unique key, etc. of the corresponding dataset. The names, main keys, unique keys, and base table data of each defined dataset may be recorded in the table structure of the defined dataset described above.

[0070] Referring to the dataset 400 shown in Figure 4, data table A, located at the first level of the hierarchy from top to bottom, is the base table; data tables B and C, located at the second level, are child tables of base table A; data tables D and E, located at the third level, are child tables of data table B; data table F is a child table of data table C; and data tables D, E, and F also belong to the child tables of base table A.

[0071] For example, in a dataset corresponding to the configuration data of insurance policy generation rules, base table A may be a data table that defines rule events. Accordingly, data table B, as a child table of data table A, may be a data table that defines rule-driven processes. Data table C may be a data table that defines the types of rule events. Furthermore, data table D, as a child table of data table B, may be a data table that defines a set of rules, and the child tables of data table D may further be data tables that define the rules within each set of rules, and so on. This is not limited to these examples.

[0072] In a single dataset, foreign keys in child tables point to the main keys in the parent table, and the parent table is the foreign key data table for the child tables.

[0073] Furthermore, when developers create configuration pages for business analysts to use, they can pre-set options such as the names and derivation conditions of each dataset in the defined dataset table. This makes it convenient for business analysts to check the appropriate datasets and derivation conditions as request parameters when they release business-related data.

[0074] The defined dataset derivation conditions are the conditions for deriving a particular dataset, and the derivation conditions for different datasets may differ. For example, in an insurance business system, each submodule of each insurance business configuration module may correspond to one dataset. For instance, an insurance rules module may include a group rule submodule, a rule submodule, a rule event submodule, etc., and each of these different submodules will have its own corresponding dataset in the database, and these datasets may each correspond to different derivation conditions. For example, the dataset corresponding to a rule submodule may be derived based on RuleId, the dataset corresponding to a group rule submodule may be derived based on GroupId, and the dataset corresponding to a rule event submodule may be derived based on EventId.

[0075] The derivation conditions may be set to simple parameters, such as the RuleId mentioned above. Therefore, when deriving a dataset, there is no need to verify the derivation conditions through various calculations; the appropriate dataset can be derived simply by ensuring that the transmitted parameters match the pre-set derivation conditions. If there is an error in the transmitted parameters when deriving a dataset, the dataset cannot be derived. For example, if the transmitted RuleId is 0000, but there is no dataset with RuleId 0000 in the database, the correspondingly derived dataset will be null.

[0076] Furthermore, once data description files are predefined in the configuration environment, developers do not need to configure or define derivation rules in response to the derivation or release of configuration data for different business processes, thereby reducing the workload of developers.

[0077] Furthermore, the design of an XML schema definition can be constrained by providing norms for matching datasets with configuration data and norms for defining derivation conditions among the derivation rules. For example, a designed XML schema definition may include <keys> , <columns> , <orders> , <exceptions>It may be defined that only subtags are allowed, and an error is reported if any other subtags appear. In this way, the probability of errors occurring when matching a dataset to configuration data can be reduced, and the efficiency of dataset matching can be increased.

[0078] In some other embodiments, the pre-configuration of configuration data derivation rules in the configuration environment may be achieved by a structured query language (SQL). For example, by writing them to a ".sql" file. This is not limited to these examples.

[0079] 302: Terminal 100b detects the derivation operation.

[0080] For example, referring to the scene shown in Figure 2 above, the business analyst can complete the configuration operation on the configuration page provided by terminal 100b, generate the corresponding configuration data on the configuration server 200a, and then display the corresponding derivation button on the configuration page of terminal 100b. In this case, when the business analyst clicks the derivation button on the configuration page, it can trigger terminal 100b to detect the derivation operation and send a derivation request to the configuration server 200a.

[0081] In some other embodiments, the business analyst may check the installed business-related configuration data and related datasets on the configuration page provided by terminal 100b and click the derivation button, thereby causing terminal 100b to send a derivation request to the configuration server 200a. This is not limited to the embodiments described herein.

[0082] 303: Terminal 100b calls the derivation API and sends a derivation request to the configuration server 200a.

[0083] For example, the derivation request may include the corresponding request parameters, which may include, for instance, the name of the dataset corresponding to the configuration data requiring release selected by the business analyst on the configuration page, and the derivation conditions for the corresponding dataset. When terminal 100b detects the above derivation operation, it may request the configuration server 200a to derive the configuration data requiring release by calling the derivation API provided by the configuration server 200a and sending it as a derivation request. The configuration server 200a may respond to the derivation request by sending back to terminal 100b a source data packet generated for the corresponding configuration data, which will be described in detail in steps 304 to 306 below and will not be explained here.

[0084] 304: The configuration server 200a generates a corresponding data description file based on the request parameters in the derived request.

[0085] For example, the configuration server 200a may match each dataset related to the configuration data awaiting release based on the request parameters in the derivation request, and further write the name of each matched dataset, the data table name, fields, and the relationships between data tables within each dataset to the dataset table based on the definition of the dataset table structure in the pre-configured data description file template. Furthermore, it may generate a corresponding data description file by linking the dataset table with the relationships between each data table in the pre-defined dataset and the derivation conditions.

[0086] In other words, the configuration server 200a may generate a data description file corresponding to the received request parameters based on the data description file template obtained in step 301 above.

[0087] 305: The configuration server 200a generates source data packets by deriving data from the relevant data tables based on the generated data description file.

[0088] For example, the configuration server 200a may derive data in the relevant data tables within each dataset from the configuration environment database based on the data description file generated in step 304 above. The data in these data tables includes fields and corresponding values ​​within each data table, such as the main key and unique key values. For the data in each data table derived from the configuration environment database, the configuration server 200a may generate corresponding text files, such as comma-separated values ​​(CSV) files (also called character-separated value files), to describe each data table. Furthermore, the configuration server 200a may packetize the data description file and the CSV files describing each data table to generate source data packets.

[0089] 306: Configuration server 200a sends the source data packet back to terminal 100b.

[0090] For example, the configuration server 200a may send the generated source data packet to terminal 100b in response to a derivation request originating from terminal 100b.

[0091] 307: Terminal 100b detects a release operation.

[0092] For example, after receiving the source data packet returned from the configuration server 200a, terminal 100b may jump to the release page, and furthermore, the business analyst may click the release button on the release page to perform the release operation. After detecting the release operation, terminal 100b may send the received source data packet to the business server 200b and send a derivation request to the business server 200b.

[0093] 308: Terminal 100b calls the deployment API and sends the source data packet and release request to the business server 200b.

[0094] For example, if terminal 100b detects the above release operation, it may call the deployment API provided by the business server 200b, send a request to the business server 200b to release configuration data, i.e., a derivation request, and send the received source data packet to the business server 200b.

[0095] 309: The business server 200b receives and analyzes the source data packets, and matches the corresponding target dataset from the target environment database based on the base table data and related sub-data tables in the source dataset obtained from the analysis.

[0096] For example, the business server 200b may receive a source data packet, read it, and parse it into memory. The data description file obtained from the parsing of the source data packet may include each dataset table and the relationships between the data tables within each dataset, and each CSV file obtained from the parsing of the source data packet may be described in accordance with the data in the corresponding data table. For ease of description, each dataset obtained from the parsing of the source data packet will be referred to as a source dataset, and the data table described in accordance with each CSV file will be referred to as a source data table. Furthermore, the business server 200b may read the corresponding target dataset from the target environment database into memory based on the data description file obtained from the parsing.

[0097] In this process, the business server 200b reads the appropriate target dataset from the target environment database based on the data description file. This process involves the business server 200b first analyzing the data description file and matching the base table data corresponding to the base table in the source dataset in the target environment database based on the source dataset and derivation conditions described in the file. For example, it retrieves the data table that matches the main key or unique key of the source dataset base table into memory and uses it as the base table of the target dataset. Furthermore, it reads the data of all parent tables and all related child tables related to the foreign keys of the base table into memory. The business server 200b may also merge the matched base table data and the data in related sub-data tables from the target environment database into the target dataset.

[0098] Furthermore, the business server 200b may determine whether the structure of each target data table obtained above is the same as the structure of each data table with the same name analyzed in the source data packet. If the source data table name does not match the same target data table name, the business server 200b will ignore the source data table obtained through analysis.

[0099] Furthermore, the base table in each dataset defines its foreign key table and foreign key, and therefore, the corresponding foreign key table can be found using the foreign key in the base table. Moreover, in the target environment database, the foreign key field and foreign key value that match each base table data can be determined, and the data in the data table related to the base table, i.e., the data in the foreign key table, can be found using that foreign key value.

[0100] 310: The business server 200b compares the source dataset with the target dataset and performs appropriate data processing on each data table in the target dataset based on the comparison results.

[0101] For example, the business server 200b compares each source dataset in the source data packets parsed into memory with the corresponding target dataset read into memory from the target environment database. For example, it may compare the base table data of the source dataset with the base table data of the target dataset, including a comparison of the unique key and main key of the source dataset base table and the target dataset base table. In some embodiments of the present application, both unique keys may be compared preferentially, and both main keys may also be compared. The process of performing appropriate data processing on the target dataset based on the above comparison process and comparison results may refer to the decision processing flow shown in Figure 5, which includes the following steps.

[0102] 310a. Determine whether a unique key is defined in the target dataset base table. If a unique key is not defined in the target dataset base table, i.e., the result is NO, promote the main key in the base table to a unique key. If the result is YES, proceed to step 310b below.

[0103] 310b. Determine whether the unique keys and main keys of the source dataset base table and the target dataset base table match. If the unique keys and main keys of the source dataset base table and the target dataset base table match, i.e., the result is YES, then the process of determining whether the other fields match in step 310c is performed again. If the result is NO, then proceed to step 310d below.

[0104] 310c. Determine whether the source dataset base table and the target dataset base table contain any other fields that do not match. If the result is YES, update the data in the target database table, i.e., update the data in the source dataset base table to the data in the target dataset base table. If the result is NO, declare that all other fields in the source dataset base table and the target dataset base table match, and therefore do not need to be updated, and do not update the data in the target dataset base table.

[0105] Among these, "other fields that do not match" refers to situations where the values ​​of other fields do not match, but the field names are the same, meaning that the values ​​of fields with the same name are different. Further explanation is omitted here.

[0106] 310d. Determine whether the unique keys of the source dataset base table and the target dataset base table match, but the main keys do not. If the unique keys of the source dataset base table and the target dataset base table match, but the main keys do not match (i.e., the result is YES), update the data in the target database table to correct the main key of the source dataset base table to the main key of the target dataset base table. If the result is NO, proceed to step 310e below.

[0107] 310e. Determine whether the unique keys of the source dataset base table and the target dataset base table do not match, and whether the unique key field does not exist in the target dataset base table. If the unique keys of the source dataset base table and the target dataset base table do not match, and the unique key field does not exist in the target dataset base table, i.e., the result is YES, then insert the field corresponding to the unique key and the data content in that field into the target dataset base table. If the result is NO, proceed to step 310f below.

[0108] 310f. Determine whether the unique keys of the source dataset base table and the target dataset base table do not match, and whether the displacement key field does not exist in the source dataset base table. If the unique keys of the source dataset base table and the target dataset base table do not match, and the displacement key field does not exist in the source dataset base table, i.e., the result is YES, delete the unique key field and the data content in that field from the target dataset base table. If the result is NO, it is proven that there are no data collisions in the configuration environment and the target environment, and terminate this flow. You may continue by executing step 311 below.

[0109] Alternatively, after the above comparison process between the source dataset and the corresponding target dataset's base table has been completed and processing of the base table data in the target dataset has been finished, the comparison process described in 310a to 310f above may be repeated in a cascading manner for all related data tables of each base table in each dataset, thereby performing appropriate data processing on each data table related to the base table in the target dataset.

[0110] Furthermore, after the processing and updating of data content in related data tables within the target dataset is complete, the business server 200b may dynamically update the foreign keys of the specified tables, for example, by adding foreign keys to the specified fields in the processed base table. This will not be explained further here.

[0111] 311: The business server 200b completes the release of the configuration data in the target environment based on the processed target dataset.

[0112] For example, after performing step 310 above and completing the corresponding data processing on the target dataset, the business server 200b may apply the configuration data awaiting release to each target dataset based on the processed target dataset and update the target environment database. This allows the business server 200b to retrieve the corresponding datasets and post-release configuration data from the target environment database to process the corresponding business when responding to a business request from the business service system frontend. Further explanation is omitted here.

[0113] Furthermore, the business server 200b may record the data before and after the above-mentioned insertion, update, and deletion processes, as well as the original data, while performing the data processing appropriate to each target dataset by executing step 310 above. For example, the data before and after the above-mentioned insertion, update, and deletion processes, as well as the original data, may be reported or recorded in JSON format, with inserted data recorded as InsertRecordMap, deleted data as DeleteRecordMap, and updated data as UpdateRecordMap. From the perspective of saving memory resources, if the data content of a data table is relatively large, for example, if the amount of data that needs to be processed in the process of processing the above data exceeds 10,000 records, it is not necessary to record the data processing process in that data table.

[0114] Furthermore, based on the implementation flow of steps 301 to 311 described above, the data collision handling method according to the embodiment of this invention first ensures that configuration data in the configuration environment is released smoothly to the target environment, thereby avoiding the problem of configuration data release failure due to data collisions. This allows the corresponding business services to be provided based on the loaded or updated related configuration data. Secondly, this invention enables direct configuration data release operations on the configuration page, thereby increasing the efficiency of configuration data releases and reducing the workload of developers. It also facilitates the operation of configuration data releases by business personnel themselves, thereby increasing the efficiency of management of corresponding tasks by business personnel.

[0115] Furthermore, the data collision processing method according to this embodiment of the present invention requires only one execution of the process of pre-setting the derivation rules, that is, only one execution of step 301 when the flow shown in the first implementation figure 3 is performed for the first time. In the subsequent process of releasing the configuration data to the target environment, the configuration server 200a can derive the configuration data and the corresponding dataset according to the pre-set derivation rules, and the business server 200b can automatically identify data collisions when it receives the introduced configuration data and the corresponding dataset, and perform appropriate data processing on the corresponding data table in the target environment.

[0116] In other words, if, during the process of releasing relevant configuration data from the configuration environment to the target environment, data collisions such as unique key collisions in the corresponding dataset base tables, missing fields, or missing foreign keys are encountered, the business service system can automatically handle these data collisions without requiring human intervention, thereby saving on the costs of operating and maintaining the business service system.

[0117] Furthermore, when the business server 200b performs appropriate data processing based on the data collision it identifies, it may also provide more detailed information about the data changes before and after the data processing. This makes it easier to find relevant data during subsequent troubleshooting.

[0118] Figure 6 is a schematic diagram of the software configuration of a business service system according to an embodiment of the present invention.

[0119] As shown in Figure 6, the business service system 600 may include a business configuration module 601, a derivation module 602, and an implementation module 603. Exemplarily, the business service system 600 may be, for example, an insurance business system that provides a platform for insurance business, but is not limited to this.

[0120] In this configuration, the business configuration module 601 may be executed on terminal 100b and provide a configuration page to the employee. The employee can set up business-related configuration data on the configuration page, and may also perform operations such as deriving configuration data from the configuration environment and releasing the configuration data to the target environment. Furthermore, the business configuration module 601 may be executed on terminal 100a for the developer to pre-set configuration data derivation rules, or for the employee to set up configuration data and release the configuration data in the target environment. For specific functions performed by the derivation module 602, refer to the relevant descriptions in steps 302 and 303 above. The explanation is omitted here.

[0121] The derivation module 602 may be executed on the configuration server 200a and is used to obtain a data description file template pre-configured by the developer in the configuration environment. Based on the relevant parameters of the derivation request issued from terminal 100b, it interacts with the configuration environment database to obtain the corresponding configuration data, and derives related datasets, data in related data tables within each dataset, and relationships formed by foreign keys between the base table and other related data tables within each dataset, and is used to generate the corresponding data description file and derive the configuration environment together with the configuration data. The specific functions executed by the derivation module 602 may be described in the relevant descriptions in steps 301, 304, and 306 above. The explanation is omitted here.

[0122] The deployment module 603 may be executed on the business server 200b and is used to receive and analyze source data packets transferred from terminal 100b, the source data packets including configuration data to be released to the target environment and a correspondingly generated data description file. The deployment module 603 may further interact with the target environment database based on the analyzed data description file to obtain data from the target database tables and other related data tables to form a target dataset, and then compare the target dataset with the source dataset and perform related processing on the data in the related data tables in the target dataset based on the comparison results. The specific functions executed by the derivation module 603 may be described in the related descriptions in steps 309 to 311 above. The explanation is omitted here.

[0123] Furthermore, in a business service system implemented based on the data collision processing means according to the embodiment of this invention, in the process of releasing configuration data from the configuration environment to the target environment, it is not necessary for the developer to create code using a data migration tool, and in the process of releasing the data, the business service system can handle data collisions between the configuration environment and the target environment itself.

[0124] Figure 7 is a schematic diagram of the server 200 according to the present embodiment.

[0125] In this embodiment, the server 200 may be a configuration server 200a that provides the above-described configuration environment, or it may be a business server that provides the above-described target environment. Furthermore, the server 200 may execute some modules of the business service system; for example, the configuration server may execute the derivation module 602 of the business service system 600 shown in Figure 6, and the business server may execute the installation module 603 of the business service system 600 shown in Figure 6. In some other embodiments, the derivation module 602 and the installation module 603 of the business service system 600 may be executed on the same server 200, and are not limited thereto.

[0126] As shown in Figure 7, in some embodiments, the server 200 may include one or more processors 204, a system control logic 208 connected to at least one of the processors 204, a system memory 212 connected to the system control logic 208, a non-volatile memory (NVM) 212 connected to the system control logic 208, and a network interface 220 connected to the system control logic 208.

[0127] In some embodiments, the processor 204 may include one or more single-core or multi-core processors. In some embodiments, the processor 204 may include any combination of general-purpose processors and dedicated processors (e.g., graphics processors, application processors, baseband processors, etc.). In embodiments in which the server 200 uses an eNB (Evolved Node B) 101 or a RAN (Radio Access Network) controller 102, the processor 204 may be configured to perform various appropriate embodiments, for example, the embodiments shown in Figures 2 to 6.

[0128] In some embodiments, the system control logic 208 may include any suitable interface controller to provide any suitable interface to at least one in the processor 204 and / or any suitable device or component communicating with the system control logic 208.

[0129] In some embodiments, the system control logic 208 may include one or more memory controllers to provide an interface to the system memory 212. The system memory 212 may be used to load and store data and / or instructions. In some embodiments, the memory 212 of the server 200 may include any suitable volatile memory, such as suitable dynamic random access memory (DRAM).

[0130] The NVM / memory 212 may include one or more tangible, non-temporary computer-readable media for storing data and / or instructions. In some embodiments, the NVM / memory 212 may include any suitable non-volatile memory and / or any suitable non-volatile storage device, such as flash memory, at least one of the following: HDD (Hard Disc Drive), CD (Compact Disc) drive, or DVD (Digital Versatile Disc) drive.

[0131] NVM / memory 212 may include some storage resources installed on the server 200's device, or it may be accessed by a device, but it does not necessarily have to be part of a device. For example, NVM / memory 212 may be accessed by a network via the network interface 220.

[0132] In particular, system memory 212 and NVM / memory 212 may contain a temporary and a permanent copy of instruction 224, respectively. Instruction 224 may include instructions that, when executed by at least one of the processors 204, cause the server 200 to perform the method shown in Figures 3-4. In some embodiments, instruction 224, hardware, firmware and / or its software components may be located separately / alternatively to the system control logic 208, network interface 220 and / or processor 204.

[0133] The network interface 220 may include a transceiver for providing a wireless interface to the server 200, and further communicate with any other suitable devices (e.g., a front-end module, an antenna, etc.) over one or more networks. In some embodiments, the network interface 220 may be integrated into other components of the server 200. For example, the network interface 220 may be integrated into at least one of the system memory 212, NVM / memory 212, and a firmware device (not shown) having instructions, and when at least one of the processors 204 executes the instructions, the server 200 implements the method shown in Figures 2 to 6 above.

[0134] The network interface 220 may further include any suitable hardware and / or firmware to provide a multi-input, multi-output wireless interface. For example, the network interface 220 may be a network adapter, a wireless network adapter, a telephone modem, and / or a wireless modem.

[0135] In one embodiment, at least one of the processors 204 may be packaged together with the logic of one or more controllers for the system control logic 208 to form a system package (SiP). In another embodiment, at least one of the processors 204 may be integrated on the same die together with the logic of one or more controllers for the system control logic 208 to form a system-on-a-chip (SoC).

[0136] The server 200 may further include an input / output (I / O) device 232. The I / O device 232 may include a user interface to allow a user to interact with the server 200, and depending on the design of the peripheral component interface, peripheral components may also interact with the server 200. In some embodiments, the server 200 further includes sensors for determining at least one of environmental conditions and location information related to the server 200.

[0137] In some embodiments, the user interface may include, but is not limited to, a display (e.g., a liquid crystal display, a touchscreen display), a speaker, a microphone, one or more cameras (e.g., a still image camera and / or a video camera), a flashlight (e.g., a light-emitting diode flash), and a keyboard.

[0138] In some embodiments, the peripheral component interface may include, but is not limited to, a non-volatile memory port, an audio jack, and a power interface.

[0139] In some embodiments, the sensors may include, but are not limited to, a gyroscope, accelerometer, proximity sensor, ambient light sensor, and positioning unit. The positioning unit may be part of the network interface 220 or may interact with the network interface 220 to communicate with components of a positioning network (e.g., Global Positioning System (GPS) satellites).

[0140] Any reference in the specification to “one embodiment” or “an embodiment” means that the specific features, structure, or characteristics described in accordance with the embodiment are included in at least one exemplary embodiment or technique disclosed by the embodiments of this application. The occurrence of the phrase “in one embodiment,” in each part of the specification does not necessarily refer to the same embodiment.

[0141] The disclosure of embodiments of this application also relates to apparatus for performing the operations described in the text. Such apparatus may be configured for a particularly desired purpose and may include a general-purpose computer that is selectively started or reconfigured by a computer program stored in the computer. Such computer programs may be stored on computer-readable media, including, but not limited to, floppy disks, optical disks, CD-ROMs, magneto-optical disks, read-only memory (ROM), random access memory (RAM), EPROM, EEPROM, magnetic or optical cards, dedicated integrated circuits (ASICs), or any type of medium suitable for storing electronic instructions, and any of these may be coupled to a computer system bus. In addition, the computer described in the specification may include a single processor or may use an architecture relating to multiple processors to accommodate increased computing power.

[0142] Furthermore, the language used herein has been selected primarily for readability and instructional purposes and may not be chosen to describe or limit the disclosed subject matter. Accordingly, the disclosures of the embodiments herein are intended to illustrate, not limit, the scope of the concepts discussed herein.< / exceptions> < / orders> < / columns> < / keys> In tags,

Claims

1. A method for handling data collisions used in a system having a business configuration module, a derivation module executed in a configuration environment, and an deployment module executed in a target environment, The business configuration module responds to a detected derivation operation and sends a derivation request for target configuration data to the derivation module, wherein the target configuration data is data generated by the user setting parameters in the business services provided to the system. The derivation module, in response to the derivation request, obtains target configuration data and a data description file generated in accordance with the target configuration data, and transmits them to the business configuration module, wherein the data description file includes a description of the source datasets related to the target configuration data and the relationships between the data tables in each source dataset. The business configuration module responds to detected release operations by sending the received configuration data, data description file, and release request to the deployment module. A method for handling data collisions, characterized in that the installation module responds to the release request, determines the processing result for data in a data table having a data collision in the target environment based on the data description file, and applies the received target configuration data to the data in the processed data table.

2. The derivation module includes a pre-configured configuration data derivation rule, The method according to claim 1, characterized in that the derivation module responds to the derivation request and generates a data description file corresponding to the target configuration data based on the derivation rule.

3. The derivation rule is at least, The method according to the second invention, characterized in that it includes pre-setting at least one relationship for each data table in the configuration environment database, and determining the base table corresponding to the business service provided to the system in each pre-set relationship.

4. The method according to claim 3, characterized in that the base table and the associated data table in each of the aforementioned relationships are linked via a foreign key.

5. Determining the processing result for data in a data table having data collisions in the target environment based on the aforementioned data description file is: The installation module retrieves a target dataset corresponding to each source dataset from the target environment database based on the description of the relationships between data tables in each source dataset in the data description file, wherein the relationships between data tables in the target dataset match the description of the relationships between data tables in the corresponding source dataset. The method according to claim 1, characterized in that the installation module includes comparing the target dataset with a corresponding source dataset and determining the processing result for data in a data table having data collisions in the target environment based on the comparison result.

6. Comparing the aforementioned target dataset with a corresponding source dataset and determining the processing results for data in data tables that have data collisions in the target environment based on the comparison results is: If the unique key of the base table in the target dataset matches the unique key of the base table in the source dataset, and the main key of the base table in the target dataset matches the main key of the base table in the source dataset, and if the base table in the source dataset and the base table in the target dataset contain other fields that do not match, then it is determined that the data content of the base table in the target dataset will be updated to the data content of the base table in the source dataset. If the unique key of the base table in the target dataset matches the unique key of the base table in the source dataset, but the main key of the base table in the target dataset does not match the main key of the base table in the source dataset, then it is determined that the data content of the base table in the target dataset will be updated to match the data content of the base table in the source dataset, and the main key of the base table in the target dataset will be corrected to match the main key of the base table in the source dataset. If the unique key of the base table in the target dataset does not match the unique key of the base table in the source dataset, and the base table in the target dataset does not have a first field corresponding to the unique key of the base table in the source dataset, then it is determined to insert the first field into the base table in the target dataset and update the data content of the unique key field in the base table of the source dataset to the base table in the target dataset. The method according to claim 5, further comprising determining that if the unique key of the base table in the target dataset does not match the unique key of the base table in the source dataset, and the base table in the source dataset does not contain a second field corresponding to the unique key of the base table in the source dataset, then the second field and the data content in the second field should be deleted from the base table in the target dataset.

7. Comparing the aforementioned target dataset with a corresponding source dataset and determining the processing results for data in data tables that have data collisions in the target environment based on the comparison results is: The method according to 6, further comprising determining that, if no unique key is defined in the base table of the target dataset, the main key of the base table of the target dataset is set as the unique key of the base table of the target dataset.

8. Comparing the aforementioned target dataset with a corresponding source dataset and determining the processing results for data in data tables that have data collisions in the target environment based on the comparison results is: Based on the foreign keys in the base table of the target dataset, the data contents of the related data tables in the target dataset are compared with the data contents of the related data tables in the source dataset. The method according to claim 7, further comprising determining the processing results for the data contents of the related data tables in the target dataset based on the results of the comparison.

9. Based on the results of the comparison described above, determining the processing results for the data contents of the relevant data tables in the target dataset is: If the unique key of the related data table in the target dataset matches the unique key of the related data table in the source dataset, and the main key of the related data table in the target dataset matches the main key of the related data table in the source dataset, then if the related data table in the source dataset and the related data table in the target dataset contain other fields that do not match, it is determined that the data content of the related data table in the target dataset will be updated to the data content of the related data table in the source dataset. If the unique key of the related data table in the target dataset matches the unique key of the related data table in the source dataset, but the main key of the related data table in the target dataset does not match the main key of the related data table in the source dataset, then it is determined that the data content of the related data table in the target dataset will be updated to match the data content of the related data table in the source dataset, and the main key of the related data table in the target dataset will be corrected to match the main key of the related data table in the source dataset. If the unique key of the related data table in the target dataset does not match the unique key of the related data table in the source dataset, and the related data table in the target dataset does not have a third field corresponding to the unique key of the related data table in the source dataset, then it is determined to insert the third field into the related data table in the target dataset and update the data content of the unique key field in the related data table in the source dataset to the related data table in the target dataset. The method according to 8, further comprising: determining that if the unique key of the related data table in the target dataset does not match the unique key of the related data table in the source dataset, and the related data table in the source dataset does not contain a fourth field corresponding to the unique key of the related data table in the source dataset, then the fourth field and the data content in the fourth field are to be deleted from the related data table in the target dataset.

10. A business service system comprising a business configuration module, an extraction module, and an implementation module, The business configuration module is used to respond to detected derivation operations and send a derivation request for target configuration data to the derivation module, the target configuration data being data generated by the user setting parameters in the business services provided to the system, and the business configuration module is used to respond to detected release operations and send the received configuration data and data description file to the deployment module. The derivation module is used to respond to a derivation request sent from the business configuration module, to obtain target configuration data and the data description file generated in accordance with the target configuration data, and to send it to the business configuration module, wherein the data description file includes a description of the source datasets related to the target configuration data and the relationships between the data tables in each source dataset, The implementation module is used to determine the processing result for data in a data table having data collisions in the target environment based on the data description file, and to apply the received target configuration data to the data in the processed data table, thereby forming a business service system.

11. A device comprising one or more processors and one or more memories storing one or more programs, wherein when one or more programs are executed by the one or more processors, the device performs the method for handling data collisions described in any one of claims 1 to 9.

12. A computer-readable storage medium in which instructions are stored, characterized in that when an instruction is executed by a computer, the computer causes the computer to execute a method for processing data collisions as described in any one of claims 1 to 9.