Data tracing method and device, electronic equipment and computer readable medium

By generating a traceability identification code that includes error correction coding, the problems of wasted storage resources and reduced user experience during data traceability are solved, thus saving storage resources and improving user experience.

CN121388959APending Publication Date: 2026-01-23海南榕树家信息科技有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410735373.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-06-07
Publication Date
2026-01-23

AI Technical Summary

Technical Problem

Existing technologies suffer from wasted storage resources and reduced user experience during data traceability. This is mainly because the binary encoding of the data detail identifier set is directly converted into a QR code as the traceability identification code without setting an error correction code, resulting in frequent scanning failures and affecting the user experience.

Method used

By generating a traceability identification code containing error correction codes, using a data detail identifier set to generate a QR code image, and adding error correction capabilities during the display process, the readability of the QR code and the user experience are improved.

Benefits of technology

It reduces the waste of storage resources, improves the readability and user experience of QR codes, and reduces the frequency of scanning failures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121388959A_ABST
    Figure CN121388959A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a data tracing method and device, electronic equipment and a computer readable medium. A specific embodiment of the method comprises the following steps: acquiring each piece of target to-be-fused data from a preset database; performing fusion processing on each target to-be-fused data to obtain fused data; determining each data detail identifier corresponding to each target to-be-fused data as a data detail identifier set; generating a traceability identification code corresponding to the fused data; storing the fused data and the traceability identification code to a preset storage server; in response to received information representing that fusion errors exist in the fusion data, obtaining a traceability identification code from a preset storage server; performing reverse analysis on the traceability identification code to obtain a decoded data detail identification set corresponding to the traceability identification code; tracing each piece of tracing data corresponding to the fusion data; and storing each piece of traceability data as a backup traceability data set in a preset traceability data file. According to the embodiment, waste of storage resources is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present disclosure relate to the technical field of computer technology, and in particular, to a data tracing method and device, an electronic device, and a computer readable medium. BACKGROUND

[0002] With the development of information technology, the dispersibility of data in different platforms and systems is increasing. Data tracing is a technology for tracing data before fusion of various platforms. At present, when tracing the fused data, the commonly used method is to trace the data before fusion by storing the fusion information (such as fusion time, data state before and after fusion, etc.) of each data.

[0003] However, when tracing the data by using the above method, the following technical problems often exist:

[0004] First, by storing the fusion information (such as fusion time, data state before and after fusion, etc.) of each data to trace the data before fusion, in order to ensure the integrity and reliability of data tracing, it is necessary to retain the fusion information of each data fusion and to save the complete copy of each data fusion (including all fields and values after fusion, and also including the data content before fusion), record the intermediate state and the final fusion result, which consumes a large amount of storage space and leads to waste of storage resources.

[0005] In the process of using the technical solution to solve the above technical problem one, the following technical problem often exists: a tracing identification code for tracing is needed before data tracing. The conventional solution for generating the tracing identification code is generally to directly convert the binary code of the data detail identification set into a two-dimensional code as the tracing identification code. However, the above conventional solution directly converts the binary code of the data detail identification set into a two-dimensional code as the tracing identification code, and the following problems still exist:

[0006] Second, directly converting the binary code of the data detail identification set into a two-dimensional code as the tracing identification code does not set an error correction code. The scanning performance of the tracing identification code may be affected by factors such as pixel limit, brightness, and contrast of the screen during display. At the same time, the image quality of the tracing code may be reduced due to scaling and rotation. This leads to scanning failure, and the adjusted and scanned tracing identification code needs to be adjusted and scanned again, which reduces the user experience.

[0007] The above information disclosed in this BACKGROUND section is only for the purpose of enhancing the understanding of the background of the present inventive concepts, and therefore, it can contain information that does not form the prior art known to those of ordinary skill in the art in the country. SUMMARY

[0008] This summary of the disclosure is presented in a simplified form to introduce some concepts that will be described in greater detail below in the detailed description. This summary of the disclosure is not intended to identify key or essential features of the claimed technology nor is it intended to be used to limit the scope of the claimed technology.

[0009] Some embodiments of the present disclosure propose a data traceability method, device, electronic equipment and computer readable medium to solve one or more of the technical problems mentioned in the background section.

[0010] In a first aspect, some embodiments of the present disclosure provide a data traceability method, comprising: obtaining each target to-be-fused data from a preset database, wherein each target to-be-fused data corresponds to a data detail identifier, the target to-be-fused data comprises each target to-be-fused record information, and each target to-be-fused record information comprises each field information; performing fusion processing on each target to-be-fused data to obtain fused data; determining each data detail identifier corresponding to each target to-be-fused data as a data detail identifier set; generating a traceability identification code corresponding to the fused data based on the data detail identifier set; storing the fused data and the traceability identification code in a preset storage server; in response to receiving information indicating that the fused data has a fusion error, obtaining the traceability identification code from the preset storage server; performing reverse analysis on the traceability identification code to obtain a decoded data detail identifier set corresponding to the traceability identification code; based on the decoded data detail identifier set, tracing each trace data corresponding to the fused data; and storing each trace data as a backup trace data set in a preset trace data file.

[0011] In a second aspect, some embodiments of the present disclosure provide a data traceability apparatus, the apparatus comprising: a first obtaining unit configured to obtain each target data to be fused from a preset database, wherein each target data to be fused corresponds to a data detail identifier, the target data to be fused comprises each target record information to be fused, and each target record information to be fused comprises each field information; a fusion processing unit configured to perform fusion processing on the each target data to be fused to obtain fused data; a determining unit configured to determine each data detail identifier corresponding to the each target data to be fused as a data detail identifier set; a generating unit configured to generate a traceability identification code corresponding to the fused data based on the data detail identifier set; a first storage unit configured to store the fused data and the traceability identification code to a preset storage server; a second obtaining unit configured to obtain the traceability identification code from the preset storage server in response to receiving information indicating that the fused data has a fusion error; an analyzing unit configured to perform reverse analysis on the traceability identification code to obtain a decoded data detail identifier set corresponding to the traceability identification code; a tracing unit configured to trace each trace data corresponding to the fused data based on the decoded data detail identifier set; and a second storage unit configured to store the each trace data as a backup trace data set in a preset trace data file.

[0012] In a third aspect, some embodiments of the present disclosure provide an electronic device, comprising: one or more processors; and a storage device having one or more programs stored thereon, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the method described in any implementation manner of the first aspect.

[0013] In a fourth aspect, some embodiments of the present disclosure provide a computer readable medium having a computer program stored thereon, wherein the program, when executed by a processor, implements the method described in any implementation manner of the first aspect.

[0014] The above various embodiments of the present disclosure have the following beneficial effects: through the data tracing method of some embodiments of the present disclosure, the waste of storage resources is reduced. Specifically, the reason for the waste of storage resources is that: by storing the fusion information (e.g., fusion time, data state before and after fusion, etc.) of each data to trace the data before fusion, in order to ensure the integrity and reliability of data tracing, it is necessary to retain the fusion information of each data fusion and to save the complete copy of each data fusion (including all fields and values after fusion, and also including the data content before fusion), record the intermediate state and the final fusion result, consume a large amount of storage space, and cause the waste of storage resources. Based on this, some embodiments of the present disclosure first acquire each target data to be fused from a preset database, wherein each target data to be fused in the above target data to be fused corresponds to a data detail identifier, the target data to be fused includes each target record information to be fused, and each target record information to be fused includes each field information. In this way, each target data to be fused used to generate fusion data can be obtained. Then, the above each target data to be fused is fused to obtain fusion data. Next, each data detail identifier corresponding to the above each target data to be fused is determined as a data detail identifier set. In this way, a data detail identifier set used to generate a trace identification code can be obtained. Then, based on the above data detail identifier set, a trace identification code corresponding to the above fusion data is generated. In this way, a trace identification code used for data tracing can be obtained. The trace identification code does not need to save the complete data copy and fusion information, thereby reducing the waste of storage resources. Next, the above fusion data and the above trace identification code are stored in a preset storage server. Then, in response to receiving information indicating that the above fusion data has a fusion error, the above trace identification code is acquired from the above preset storage server. Next, the above trace identification code is inversely analyzed to obtain a decoded data detail identifier set corresponding to the above trace identification code. In this way, the decoded data detail identifier set can be generated by tracing the trace identification code to locate the data before fusion. Then, based on the above decoded data detail identifier set, each tracing data corresponding to the above fusion data is traced. In this way, each tracing data before fusion can be obtained. Finally, the above each tracing data is stored in a preset tracing data file as a backup tracing data set. Because the trace identification code is used to trace the data before fusion of the fusion data, the complete data copy and fusion information do not need to be saved, the data before fusion can be located, and the waste of storage resources is reduced. BRIEF DESCRIPTION OF DRAWINGS

[0015] The above and other features, aspects and advantages of the present disclosure will become more apparent after a reading of the following detailed description together with the accompanying drawings. Throughout the drawings, similar or same reference numerals are used to denote similar or same elements. It should be understood that the drawings are schematic and elements and features do not necessarily appear to scale.

[0016] Figure 1 is a flowchart of some embodiments of a data provenance method according to the present disclosure;

[0017] Figure 2 is a structural schematic diagram of some embodiments of a data provenance apparatus according to the present disclosure;

[0018] Figure 3 is a structural schematic diagram of an electronic device suitable for use to implement some embodiments of the present disclosure. DETAILED DESCRIPTION

[0019] Embodiments of the present disclosure will be described below in greater detail with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be embodied in various forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that the present disclosure will be more thoroughly understood. It should be understood that the drawings and embodiments of the present disclosure are only for illustrative purposes and should not be construed as limiting the scope of protection of the present disclosure.

[0020] It should also be noted that, for the sake of brevity, only the portions of the drawings that are necessary for the understanding of the present disclosure are shown. The embodiments and features of the present disclosure can be combined with each other in the case of no conflict.

[0021] It should be noted that the terms “first”, “second”, and the like in the present disclosure are merely used to distinguish different devices, modules or units, and do not imply the order or interdependence of the functions performed by these devices, modules or units.

[0022] It should be noted that the terms “one”, “multiple” in the present disclosure are illustrative and not restrictive, and those skilled in the art should understand that “one” or “multiple” should be understood as “one or more” unless otherwise explicitly indicated in the context.

[0023] The names of the messages or information exchanged between the devices in the embodiments of the present disclosure are merely used for illustrative purposes, and are not intended to limit the scope of the messages or information.

[0024] The present disclosure will be described in detail below with reference to the accompanying drawings and in conjunction with embodiments.

[0025] Figure 1Flow 100 shows some embodiments of the data provenance method according to the present disclosure. The data provenance method comprises the following steps:

[0026] Step 101, obtaining each target data to be fused from a preset database.

[0027] In some embodiments, the execution subject of the data provenance method can obtain each target data to be fused from a preset database. Each target data to be fused corresponds to a data detail identifier. The target data to be fused includes each target record information to be fused. Each target record information to be fused includes each field information. The preset database can be a patient information database. For example, the preset database can be a preset eICU-CRD database. Each target data to be fused can be each data from each data source for data fusion. Each field information can be a field name and a field value representing patient information. For example, the target record information to be fused can be "number: 1001, name: Zhang San, age: 35, diagnosis date: 2023-03-15, diagnosis result: pneumonia". The field information can be "number: 1001". The number can be the field name. 1001 can be the field value. The execution subject can be a medical data resource integration system. For example, each data source can be, but is not limited to, one of the following: an electronic medical record system, a hospital information system. The data detail identifier can represent the identifier of the detailed information of the target data to be fused. The detailed information can be text information representing the data source where the data is located, the creation time of the data, and the data storage location.

[0028] Step 102, performing fusion processing on each target data to be fused to obtain fused data.

[0029] In some embodiments, the execution subject can perform fusion processing on each target data to be fused to obtain fused data.

[0030] In some optional implementations of some embodiments, the execution subject can perform fusion processing on each target data to be fused to obtain fused data by the following steps:

[0031] First, obtain each field name corresponding to each target data to be fused as a field name group.

[0032] Secondly, the execution subject determines each fusion table field name according to the obtained field name set. In practice, the execution subject can perform a de-duplication process on the obtained field name set, and determines each field name obtained after the de-duplication process as a fusion table field name. For example, the fusion table field names can be "number, name, age, date of birth, diagnosis date, diagnosis result".

[0033] Thirdly, the execution subject determines a preset association field name as a target field name. For example, the preset association field name can be "number".

[0034] Fourthly, the execution subject creates a fusion data table corresponding to each fusion table field name. In practice, the execution subject can execute a preset code to create a fusion data table corresponding to each fusion table field name. The preset code can be a programming language code pre-written for generating a data table containing each fusion table field name. The fusion data table can be a MySQL data table containing each fusion table field name.

[0035] Fifthly, for each target record information in each target data to be fused, the execution subject performs the following steps:

[0036] Firstly, the execution subject determines field information corresponding to the target field name in the target record information to be fused as target field information. The target field information includes a field name and a field value. For example, the field information corresponding to the target field name "number" can be "number (field name): 1001 (field value)".

[0037] Secondly, the execution subject inserts the field value included in the target field information into the fusion data table to update the fusion data table. In practice, firstly, the execution subject can determine a table column corresponding to a field name identical to the field name included in the target field information in the fusion data table as a target table column. Then, the execution subject can traverse each cell in the target table column from top to bottom. Next, in response to determining that there is a cell containing the field value in each cell, the execution subject can insert the field value into the cell to update (overwrite the original information in the cell) the cell. Then, in response to determining that there is no cell containing the field value in each cell, the execution subject can insert the field value into an empty cell in the target table column traversed from top to bottom for the first time.

[0038] Thirdly, the execution subject determines each field information in the target record information to be fused except the target field information as each field information to be inserted. Each field information to be inserted corresponds to the target field information, and includes a field name and a field value.

[0039] In the fourth sub-step, for each of the to-be-inserted field information, the following insertion step is performed:

[0040] In the first sub-step, a field name included in the to-be-inserted field information is determined as a target field name.

[0041] In the second sub-step, based on the target field name and the target field information, to-be-inserted position information is generated. In practice, the execution subject can determine a column number corresponding to a table column in which a fusion table field name identical to the target field name is located as a target column number. Then, the execution subject can determine a row number of a row in which a cell into which a field value in the target field information is inserted as a target row number. Finally, the execution subject can determine the target column number and the target row number as the to-be-inserted position information.

[0042] In the third sub-step, according to the to-be-inserted position information, a field value included in the to-be-inserted field information is inserted into the updated fusion data table, so as to update the fusion data table again.

[0043] In the sixth step, the updated fusion data table is determined as the fusion data.

[0044] In step 103, each data detail identifier corresponding to each target to-be-fused data is determined as a data detail identifier set.

[0045] In some embodiments, the execution subject can determine each data detail identifier corresponding to each target to-be-fused data as a data detail identifier set.

[0046] In step 104, based on the data detail identifier set, a traceability identification code corresponding to the fusion data is generated.

[0047] In some embodiments, the execution subject can generate a traceability identification code corresponding to the fusion data based on the data detail identifier set.

[0048] In some optional implementations of some embodiments, the execution subject can generate a traceability identification code corresponding to the fusion data based on the data detail identifier set by the following steps:

[0049] In the first step, each data detail identifier in the data detail identifier set is converted into a byte sequence. In practice, the execution subject can perform encoding processing on the data detail identifier to obtain a byte sequence. For example, the encoding processing includes but is not limited to one of the following: ASCII encoding, Unicode encoding.

[0050] Secondly, for each of the converted byte sequences, the following steps are performed:

[0051] Firstly, the byte sequence is converted into binary data. In practice, the execution subject can convert the byte sequence into binary data through the bytes function.

[0052] Secondly, the binary data is grouped to obtain a binary number sequence. In practice, the execution subject can group the binary data according to a preset number of binary numbers as a group (if the last group is less than the preset number, 0 is padded at the end), to obtain a binary number sequence. As an example, the binary data can be 0100000101000010. The preset number can be 6. The binary number sequence can be {010000, 010100, 001000}.

[0053] Thirdly, each binary number in the binary number sequence is converted into a decimal number to obtain a decimal number sequence.

[0054] Fourthly, the encoding corresponding to the decimal number sequence is queried in a preset index encoding table. For example, the preset index encoding table can be a Base64 character table.

[0055] Thirdly, each of the queried encodings is determined as a set of encodings to be converted.

[0056] Fourthly, the set of encodings to be converted is subjected to data encryption processing to obtain encoding ciphertext corresponding to the set of encodings to be converted. In practice, the execution subject can encrypt the set of encodings to be converted through the AES symmetric encryption algorithm to obtain the encoding ciphertext. The encoding ciphertext can be composed of characters.

[0057] Fifthly, the obtained encoding ciphertext is determined as a traceability identification code corresponding to the fusion data.

[0058] Sixthly, the traceability identification code is stored in a preset private area chain.

[0059] In some optional implementations of some embodiments, the execution subject can perform data encryption processing on the set of encodings to be converted to obtain encoding ciphertext corresponding to the set of encodings to be converted through the following steps:

[0060] Firstly, preset encryption algorithm information and preset key information are obtained from the preset database. The preset encryption algorithm information can represent an encryption algorithm that can be inversely analyzed. For example, the encryption algorithm can be the AES symmetric encryption algorithm. The preset key information can represent a key used for encryption operation.

[0061] Secondly, according to the preset key information and the to-be-converted code set, an encryption operation corresponding to the preset encryption algorithm information is performed to obtain an encrypted code corresponding to the to-be-converted code set.

[0062] In some optional implementations of some embodiments, the execution subject can generate a traceable identification code corresponding to the fusion data based on the data detail identification set by the following steps:

[0063] Firstly, the number of data detail identifications included in the data detail identification set is determined as a to-be-queried number. For example, the data detail identification set can be {A, B, C}. The A, the B and the C can be each data detail identification in the data detail identification set. The to-be-queried number can be 3.

[0064] Secondly, the data detail identification set is stored in a preset sequence to obtain a data detail identification sequence.

[0065] Thirdly, a binary code set corresponding to the to-be-queried number is obtained from the preset database. The binary code set can be a set containing to-be-queried number of binary codes. For example, the binary code set can be {100, 010, 001}.

[0066] Fourthly, the to-be-queried number of binary codes in the binary code set are assigned to each data detail identification in the data detail identification sequence. One binary code in the to-be-queried number of binary codes corresponds to one data detail identification in the each data detail identification. In practice, the execution subject can randomly assign the to-be-queried number of binary codes to the each data detail identification. As an example, the binary code 100 can be assigned to the data detail identification A, the binary code 010 can be assigned to the data detail identification B, and the binary code 001 can be assigned to the data detail identification C.

[0067] Fifthly, the to-be-queried number of binary codes are combined according to the positions of the binary codes corresponding to the data detail identifications in the data detail identification sequence to obtain a combined binary code after combination. As an example, the combined binary code after combination can be 100010001.

[0068] Sixthly, a preset value is determined as an error correction code length.

[0069] Seventhly, an error correction code generation task corresponding to a preset error correction algorithm is performed to obtain an error correction code corresponding to the error correction length and the combined binary code. The preset error correction algorithm can be a Solomon encoding algorithm.

[0070] In the eighth step, the combined binary code is spliced with the error correction code to obtain a spliced binary code.

[0071] In the ninth step, preset matrix size information is determined as matrix size information of the traceable two-dimensional code. The preset matrix size information can represent the matrix size of the two-dimensional code. The preset matrix size information can include the number of rows and the number of columns.

[0072] In the tenth step, an empty matrix corresponding to the matrix size information is created according to the matrix size information. In practice, the execution subject can obtain the empty matrix corresponding to the matrix size information by executing a preset matrix creation code. Each matrix element in the empty matrix can represent a pixel point. The numerical value of the matrix element can represent the pixel value of the pixel point.

[0073] In the eleventh step, each binary number in the spliced binary code is filled into the empty matrix according to preset filling information, so as to update the empty matrix. The preset filling information can represent the filling method of filling each binary number in the spliced binary code into the empty matrix. For example, the preset filling information can be “starting from the lower right corner of the matrix, filling the binary number into the empty matrix along a specific path (such as a snake-shaped filling number, a back-shaped matrix filling number)”.

[0074] In the twelfth step, the updated empty matrix is determined as a filled matrix.

[0075] In the thirteenth step, the filled matrix is converted into a two-dimensional code image. In practice, the execution subject can call a QR-Code library to convert the filled matrix into a two-dimensional code image.

[0076] In the fourteenth step, the two-dimensional code image is determined as a traceable two-dimensional code corresponding to the spliced binary code.

[0077] In the fifteenth step, the traceable two-dimensional code is determined as a traceability identification code.

[0078] The technical solution and related content thereof serve as one invention point of the embodiments of the present disclosure, and solve the second technical problem mentioned in the background art, i.e., directly converting binary coding of a data detail identifier set into a two-dimensional code as a traceability identifier code without setting an error correction code. The traceability identifier code may be affected by factors such as pixel limitation, brightness, contrast, and the like of a screen in a display process, which may affect its scanability. Meanwhile, the image quality of the traceability code may be reduced due to scaling and rotation, which may lead to scanning failure, and the adjusted traceability identifier code needs to be re-adjusted and scanned, which reduces user experience. Factors that may reduce user experience include directly converting binary coding of a data detail identifier set into a two-dimensional code as a traceability identifier code without setting an error correction code. The traceability identifier code may be affected by factors such as pixel limitation, brightness, contrast, and the like of a screen in a display process, which may affect its scanability. Meanwhile, the image quality of the traceability code may be reduced due to scaling and rotation, which may lead to scanning failure, and the adjusted traceability identifier code needs to be re-adjusted and scanned, which reduces user experience. If the above factors are solved, the effect of improving user experience can be achieved. To achieve this effect, first, the number of data detail identifiers included in the data detail identifier set is determined as a to-be-queried number. Then, the data detail identifier set is stored in a preset sequence to obtain a data detail identifier sequence. Subsequently, a binary coding set corresponding to the to-be-queried number is obtained from a preset database. In this way, a binary coding set for generating a combined binary coding can be obtained. Then, the to-be-queried number of binary codings in the binary coding set are assigned to each data detail identifier in the data detail identifier sequence, wherein one binary coding in the to-be-queried number of binary codings corresponds to one data detail identifier in the each data detail identifier. Then, the to-be-queried number of binary codings are combined according to the positions of the binary codings corresponding to the data detail identifiers in the data detail identifier sequence to obtain a combined binary coding after combination. In this way, a combined binary coding for generating an error correction coding can be obtained. Next, a preset value is determined as an error correction code length. Then, an error correction code generation task corresponding to a preset error correction algorithm is performed to obtain an error correction coding corresponding to the error correction length and the combined binary coding. In this way, an error correction coding for generating a two-dimensional code image can be obtained. The error correction coding can enhance the fault tolerance of the two-dimensional code, and improve the readability of the two-dimensional code under the condition that the image quality is not ideal due to the influence of factors such as pixel limitation, brightness, contrast, and the like of a screen. Then, the combined binary coding and the error correction coding are spliced to obtain a spliced binary coding. Subsequently, preset matrix size information is determined as matrix size information of a traceability two-dimensional code. In this way, matrix size information for creating an empty matrix can be obtained. Then, an empty matrix corresponding to the matrix size information is created according to the matrix size information. In this way, an empty matrix for generating a filled matrix can be obtained.Afterwards, fill each binary number in the spliced binary code into the empty matrix according to the preset filling information to update the empty matrix. Then, determine the updated empty matrix as the filling matrix. In this way, the filling matrix for generating the two-dimensional code image can be obtained. Afterwards, convert the filling matrix into the two-dimensional code image. Then, determine the two-dimensional code image as the traceable two-dimensional code corresponding to the spliced binary code. In this way, the traceable two-dimensional code containing the error correction code can be obtained. Finally, determine the traceable two-dimensional code as the traceability identification code. Because the error correction code is added in the spliced binary code for generating the traceability identification code before the traceability identification code is generated, the fault tolerance of the two-dimensional code is enhanced, and the readability of the two-dimensional code is improved under the condition that the image quality display is not ideal due to the influence of the pixel limit, brightness, contrast and the like of the screen. The probability of frequent adjustment and scanning of the traceability identification code by the user is reduced, and the user experience is improved.

[0079] Step 105, store the fusion data and the traceability identification code to a preset storage server.

[0080] In some embodiments, the execution subject can store the fusion data and the traceability identification code to a preset storage server.

[0081] Step 106, in response to receiving information indicating that the fusion data has a fusion error, obtain the traceability identification code from the preset storage server.

[0082] In some embodiments, the execution subject can obtain the traceability identification code from the preset storage server in response to receiving information indicating that the fusion data has a fusion error. The information indicating that the fusion data has a fusion error can be text information. The text information can be sent by one of the following: a terminal device of a medical data resource integration system developer, a terminal device of a medical data analyst, and a detection system for detecting the accuracy and completeness of the fusion data. For example, the information indicating that the fusion data has a fusion error can be "the fusion data identified as fusion data A has a fusion error". The fusion data identifier can be the data name of the fused fusion data.

[0083] Step 107, reverse analyze the traceability identification code to obtain a set of decoded data detail identifiers corresponding to the traceability identification code.

[0084] In some embodiments, the execution subject can reverse analyze the traceability identification code to obtain a set of decoded data detail identifiers corresponding to the traceability identification code.

[0085] In some optional implementations of some embodiments, the execution subject can perform reverse analysis on the traceability identification code to obtain the decoded data detail identification set corresponding to the traceability identification code by the following steps:

[0086] In a first step, in response to determining that the traceability identification code is a character sequence, the traceability identification code is decrypted according to the preset encryption algorithm information and the preset key information to obtain each decrypted code.

[0087] In a second step, each decrypted code obtained is decoded according to the preset index code table to obtain a decoded data detail identification set corresponding to each decrypted code. In practice, for each decrypted code in the decrypted codes, the execution subject can find a decimal number sequence corresponding to the decrypted code through the preset index code table. Then, the execution subject can convert the decimal number sequence into a binary number sequence. Next, the execution subject can combine the binary number sequence according to the arrangement order of binary numbers in the sequence to obtain combined binary data. Finally, the execution subject can convert the binary data into a data detail identification as a decoded data detail identification through a preset decoding algorithm. Finally, the execution subject can determine each converted decoded data detail identification as the decoded data detail identification set. The preset decoding algorithm can be, but is not limited to, one of the following: Unicode decoding, ASCII decoding.

[0088] In a third step, in response to determining that the traceability identification code is a two-dimensional code, the following processing is performed:

[0089] In a first sub-step, the traceability identification code is displayed on a preset fusion data traceability page. The preset fusion data traceability page can be a page for displaying traceability identification codes.

[0090] In a second sub-step, in response to receiving the analysis information corresponding to the traceability identification code sent by the two-dimensional code scanner, the analysis information is determined as the decoded data detail identification set.

[0091] In step 108, based on the decoded data detail identification set, each traceability data corresponding to the fusion data is traced.

[0092] In some embodiments, the execution subject can trace each traceability data corresponding to the fusion data based on the decoded data detail identification set.

[0093] In some optional implementations of some embodiments, the execution subject can trace each traceability data corresponding to the fusion data based on the decoded data detail identification set by the following steps:

[0094] In a first step, for each of the decoded data detail identifiers in the decoded data detail identifier set, the following trace-back steps are performed:

[0095] In a first sub-step, data detail information corresponding to the decoded data detail identifier is queried from the preset database. The data detail information includes a data source identifier and data storage location information. The data source identifier can be a unique identifier name of a data source. The data storage location information can represent the storage location of the data corresponding to the decoded data detail identifier in the data source.

[0096] In a second sub-step, storage information corresponding to the data storage location information is obtained from the data source corresponding to the data source identifier. The data source can be the source of the target data to be fused before fusion. For example, the data source can be, but is not limited to, one of the following: an electronic medical record system, a hospital information system.

[0097] In a second step, each of the obtained storage information is determined as a trace-back data corresponding to the fused data.

[0098] In step 109, each of the trace-back data is stored as a backup trace-back data set in a preset trace-back data file.

[0099] In some embodiments, the execution subject can store each of the trace-back data as a backup trace-back data set in a preset trace-back data file. The preset trace-back data file can be a file for storing each of the trace-back data. For example, the file can be a database file.

[0100] The above various embodiments of the present disclosure have the following beneficial effects: through the data tracing method of some embodiments of the present disclosure, the waste of storage resources is reduced. Specifically, the reason for the waste of storage resources is that: by tracing the data before fusion through storing the fusion information (such as fusion time, data state before and after fusion, etc.) of each data, in order to ensure the integrity and reliability of data tracing, it is necessary to retain the fusion information of each data fusion and to save the complete copy of each data fusion (including all fields and values after fusion, and also including the data content before fusion), record the intermediate state and the final fusion result, consume a large amount of storage space, and cause the waste of storage resources. Based on this, some embodiments of the present disclosure first acquire each target data to be fused from a preset database, wherein each target data to be fused in the above target data to be fused corresponds to a data detail identifier, the target data to be fused includes each target record information to be fused, and each target record information to be fused includes each field information. In this way, each target data to be fused for generating fusion data can be obtained. Then, the above each target data to be fused is fused to obtain fusion data. Next, each data detail identifier corresponding to the above each target data to be fused is determined as a data detail identifier set. In this way, a data detail identifier set for generating a trace identification code can be obtained. Then, based on the above data detail identifier set, a trace identification code corresponding to the above fusion data is generated. In this way, a trace identification code for data tracing can be obtained. The trace code does not need to save the complete data copy and fusion information, thereby reducing the waste of storage resources. Then, the above fusion data and the above trace identification code are stored to a preset storage server. Then, in response to receiving information indicating that the above fusion data has a fusion error, the above trace identification code is acquired from the preset storage server. Then, the above trace identification code is inversely analyzed to obtain a decoded data detail identifier set corresponding to the above trace identification code. In this way, the decoded data detail identifier set can be generated by tracing the identification code to locate the data before fusion. Then, based on the above decoded data detail identifier set, each trace data corresponding to the above fusion data is traced. In this way, each trace data before fusion can be obtained. Finally, the above each trace data is stored as a backup trace data set in a preset trace data file. Because the trace identification code is used to trace the data before fusion of the fusion data, the complete data copy and fusion information do not need to be saved, the data before fusion can be located, and the waste of storage resources is reduced.

[0101] Further reference Figure 2 As an implementation of the method shown in each figure, the present disclosure provides some embodiments of a data tracing device, and these device embodiments implement the method shown in each figure. Figure 1The device can be specifically applied in various electronic devices corresponding to the method embodiments shown.

[0102] As Figure 2 shown, the data traceability device 200 of some embodiments includes a first acquisition unit 201, a fusion processing unit 202, a determination unit 203, a generation unit 204, a first storage unit 205, a second acquisition unit 206, an analysis unit 207, a tracing unit 208, and a second storage unit 209. The first acquisition unit 201 is configured to acquire each target to-be-fused data from a preset database, wherein each target to-be-fused data corresponds to a data detail identifier, the target to-be-fused data includes each target to-be-fused record information, and each target to-be-fused record information includes each field information; the fusion processing unit 202 is configured to perform fusion processing on the each target to-be-fused data to obtain fused data; the determination unit 203 is configured to determine each data detail identifier corresponding to the each target to-be-fused data as a data detail identifier set; the generation unit 204 is configured to generate a traceability identification code corresponding to the fused data based on the data detail identifier set; the first storage unit 205 is configured to store the fused data and the traceability identification code to a preset storage server; the second acquisition unit 206 is configured to acquire the traceability identification code from the preset storage server in response to receiving information indicating that the fused data has a fusion error; the analysis unit 207 is configured to perform reverse analysis on the traceability identification code to obtain a decoded data detail identifier set corresponding to the traceability identification code; the tracing unit 208 is configured to trace each trace data corresponding to the fused data based on the decoded data detail identifier set; and the second storage unit 209 is configured to store the each trace data as a backup trace data set in a preset trace data file.

[0103] It can be understood that the units recorded in the device 200 correspond to each step in the method described with reference to Figure 1 The operations, features, and beneficial effects described above for the method also apply to the device 200 and the units contained therein, and will not be repeated here.

[0104] Reference is made below to Figure 3 , which shows a structural schematic diagram of an electronic device 300 suitable for implementing some embodiments of the present disclosure. Figure 3 The electronic device shown is merely an example and should not impose any limitation on the functions and use range of embodiments of the present disclosure.

[0105] As Figure 3As shown, the electronic device 300 can include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 301 that can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 302 or loaded into a random access memory (RAM) 303 from a storage device 308. Various programs and data required for the operation of the electronic device 300 are also stored in the RAM 303. The processing device 301, the ROM 302, and the RAM 303 are connected to each other through a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.

[0106] In general, the following devices can be connected to the I / O interface 305: input devices 306 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 307 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 308 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 309. The communication devices 309 can allow the electronic device 300 to communicate wirelessly or wired with other devices to exchange data. Although Figure 3 The electronic device 300 is shown with various devices, but it should be understood that all of the illustrated devices are not required, and more or fewer devices can alternatively be implemented. Figure 3 Each block shown in the flowcharts can represent a device, or multiple devices, as necessary.

[0107] In particular, processes described above with reference to the flowcharts can be implemented as a computer software program according to some embodiments of the present disclosure. For example, some embodiments of the present disclosure include a computer program product including a computer program carried on a computer readable medium, the computer program containing program code for performing the methods illustrated by the flowcharts. In some such embodiments, the computer program can be downloaded and installed from a network through the communication devices 309, or installed from the storage devices 308, or installed from the ROM 302. When the computer program is executed by the processing device 301, the functions defined in the methods of some embodiments of the present disclosure are performed.

[0108] Note that the computer-readable medium in some embodiments of the present disclosure can be a computer-readable signal medium or a computer-readable storage medium or any combination thereof. The computer-readable storage medium may, for example and without limitation, be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer-readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In some embodiments of the present disclosure, the computer-readable storage medium can be any tangible medium that contains or stores a program used by or in connection with an instruction execution system, apparatus, or device. In some embodiments of the present disclosure, the computer-readable signal medium can include a data signal propagated in baseband or propagated as a carrier wave in a propagated data signal, in which the computer-readable program code is contained. Such a propagated data signal can take a variety of forms, including but not limited to electro-magnetic, optical, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium that is not a storage medium and that can communicate, propagate, or transport program for use by or in connection with an instruction execution system, apparatus, or device. Program code contained in the computer-readable medium can be transmitted using any suitable medium, including but not limited to wire, cable, RF, etc., or any suitable combination of the foregoing.

[0109] In some embodiments, the client, server, or both can communicate using any current known or future developed network protocol, such as HTTP (HyperText Transfer Protocol), and can be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks ("LAN"), wide area networks ("WAN"), the Internet, and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any current known or future developed networks.

[0110] The computer readable medium can be contained in the electronic device or exist separately from the electronic device. The computer readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: obtain each target data to be fused from a preset database, wherein each target data to be fused corresponds to a data detail identifier, the target data to be fused includes each target record information, and each target record information includes each field information; perform fusion processing on the target data to be fused to obtain fused data; determine each data detail identifier corresponding to the target data to be fused as a data detail identifier set; generate a traceability identification code corresponding to the fused data based on the data detail identifier set; store the fused data and the traceability identification code in a preset storage server; in response to receiving information indicating that the fused data has a fusion error, obtain the traceability identification code from the preset storage server; perform reverse analysis on the traceability identification code to obtain a decoded data detail identifier set corresponding to the traceability identification code; based on the decoded data detail identifier set, trace each trace data corresponding to the fused data; and store the trace data as a backup trace data set in a preset trace data file.

[0111] Computer program code for carrying out operations of some embodiments of the disclosure can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).

[0112] The flow and block diagrams in the drawings represent possible architectural, functional, and operational architectures of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block can represent a module, a segment, or a portion of code that comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations thereof, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or combinations of hardware and software.

[0113] The units described in some embodiments of the present disclosure can be implemented by means of software, or can be implemented by means of hardware. The described units can also be provided in a processor, for example, a processor can be described as comprising a first acquisition unit, a fusion processing unit, a determination unit, a generation unit, a first storage unit, a second acquisition unit, an analysis unit, a tracing unit and a second storage unit. In some cases, the names of these units do not constitute a limitation on the units themselves, for example, the second acquisition unit can also be described as "a unit that acquires the traceable identification code from the pre-set storage server in response to receiving information indicating that the fusion data has a fusion error".

[0114] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, example types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (ASICs), Application-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.

[0115] The above description is merely exemplary of some of the most preferred embodiments of the present disclosure and of the application of the principles thereof. It is to be understood that the scope of the protection is not limited to the specific methods, designs, and implementations described herein, but is extended to equivalent constructions of its functional features that are within the scope of the present disclosure. For example, the functional features of the embodiments of the present disclosure (but not limited to) are interchangeable with other functional features of the embodiments of the present disclosure.

Claims

1. A data provenance method, comprising: obtaining each target data to be fused from a preset database, wherein each target data to be fused of the target data to be fused corresponds to a data detail identifier, the target data to be fused comprises each target record information to be fused, and each target record information to be fused of the target record information to be fused comprises each field information; performing fusion processing on the target data to be fused to obtain fused data; determining each data detail identifier corresponding to the target data to be fused as a data detail identifier set; generating a provenance identification code corresponding to the fused data based on the data detail identifier set; storing the fused data and the provenance identification code to a preset storage server; in response to receiving information indicating that the fused data has a fusion error, obtaining the provenance identification code from the preset storage server; performing reverse analysis on the provenance identification code to obtain a decoded data detail identifier set corresponding to the provenance identification code; based on the decoded data detail identifier set, tracing each trace data corresponding to the fused data; storing the trace data as a backup trace data set in a preset trace data file.

2. The method of claim 1, wherein, The generating of the provenance identification code corresponding to the fused data based on the data detail identifier set comprises: converting each data detail identifier in the data detail identifier set into a byte sequence; for each byte sequence of the converted byte sequences, the following steps are performed: converting the byte sequence into binary data; grouping the binary data to obtain a binary number sequence; converting each binary number in the binary number sequence into a decimal number to obtain a decimal number sequence; querying an encoding corresponding to the decimal number sequence in a preset index encoding table; and determining each encoding found as a set of encodings to be converted; performing data encryption processing on the set of encodings to be converted to obtain encoding ciphertext corresponding to the set of encodings to be converted; determining the obtained encoding ciphertext as the provenance identification code corresponding to the fused data; storing the provenance identification code in a preset private area chain.

3. The method of claim 2, wherein, The data encryption processing on the set of encodings to be converted to obtain the encoding ciphertext corresponding to the set of encodings to be converted comprises: obtaining preset encryption algorithm information and preset key information from the preset database; performing an encryption operation corresponding to the preset encryption algorithm information according to the preset key information and the set of encodings to be converted to obtain encoding ciphertext corresponding to the set of encodings to be converted.

4. The method of claim 2, wherein, The reverse analysis on the provenance identification code to obtain the decoded data detail identifier set corresponding to the provenance identification code comprises: in response to determining that the provenance identification code is a character sequence, performing a decryption operation on the provenance identification code according to the preset encryption algorithm information and the preset key information to obtain each decrypted encoding; performing decoding processing on the obtained each decrypted encoding according to the preset index encoding table to obtain a decoded data detail identifier set corresponding to the each decrypted encoding; in response to determining that the provenance identification code is a two-dimensional code, the following processing is performed: displaying the traceability identification code on a preset fusion data traceability page; in response to receiving the analysis information corresponding to the traceability identification code sent by the two-dimensional code scanner, determining the analysis information as a decoded data detailed identification set.

5. The method of claim 1, wherein, The fusion processing unit is configured to fuse the target to-be-fused data to obtain fusion data. Each field name corresponding to each target to-be-fused data in the target to-be-fused data is obtained as a field name group; Each fusion table field name is generated according to the obtained field name group; A preset association field name is determined as a target field name; A fusion data table corresponding to each fusion table field name is created; For each target to-be-fused record information in the target to-be-fused data, the following steps are performed: The field information corresponding to the target field name in the target to-be-fused record information is determined as target field information, wherein the target field information includes a field name and a field value; The field value included in the target field information is inserted into the fusion data table to update the fusion data table; Each field information in the target to-be-fused record information except the target field information is determined as each to-be-inserted field information, wherein each to-be-inserted field information in the to-be-inserted field information corresponds to the target field information, and the to-be-inserted field information includes a field name and a field value; For each to-be-inserted field information in the to-be-inserted field information, the following insertion steps are performed: The field name included in the to-be-inserted field information is determined as a target field name; Based on the target field name and the target field information, to-be-inserted position information is generated; According to the to-be-inserted position information, the field value included in the to-be-inserted field information is inserted into the updated fusion data table to update the fusion data table again; The updated fusion data table is determined as the fusion data.

6. The method of claim 1, wherein, Based on the decoded data detailed identification set, each traceability data corresponding to the fusion data is traced, including: For each decoded data detailed identification in the decoded data detailed identification set, the following tracing steps are performed: Querying data detail information corresponding to the decoded data detailed identification from the preset database, wherein the data detail information includes a data source identifier and data storage location information; Obtaining storage information corresponding to the data storage location information from a data source corresponding to the data source identifier; The obtained each storage information is determined as each traceability data corresponding to the fusion data.

7. A data traceability device, comprising: A first acquisition unit configured to acquire each target to-be-fused data from a preset database, wherein each target to-be-fused data in the target to-be-fused data corresponds to a data detailed identification, the target to-be-fused data includes each target to-be-fused record information, and each target to-be-fused record information in the target to-be-fused record information includes each field information; A fusion processing unit configured to fuse the target to-be-fused data to obtain fusion data; A determination unit is configured to determine a data detail identifier corresponding to each of the target data to be fused as a data detail identifier set; A generation unit is configured to generate a traceable identification code corresponding to the fused data based on the data detail identifier set; A first storage unit is configured to store the fused data and the traceable identification code to a preset storage server; A second acquisition unit is configured to acquire the traceable identification code from the preset storage server in response to receiving information indicating that the fused data has a fusion error; An analysis unit is configured to reversely analyze the traceable identification code to obtain a decoded data detail identifier set corresponding to the traceable identification code; A tracing unit is configured to trace each of the tracing data corresponding to the fused data based on the decoded data detail identifier set; A second storage unit is configured to store the each of the tracing data as a backup tracing data set to a preset tracing data file.

8. An electronic device, comprising: one or more processors; a memory device having one or more programs stored thereon; when the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1-6.

9. A computer readable medium having stored thereon a computer program, wherein, The program is executed by the processor to implement the method according to any one of claims 1-6.