A data processing method and device, electronic equipment and storage medium
By irreversibly encrypting the flowchart information and uploading it to a blockchain smart contract, the problem of insufficient security supervision of business processes is solved, the security and consistency of process data are achieved, and system maintenance costs are reduced.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA TELECOM CORP LTD
- Filing Date
- 2022-12-30
- Publication Date
- 2026-04-14
AI Technical Summary
Existing technologies lack effective oversight of the security of business processes, especially in business systems involving security, risk, and accountability processes. Flowcharts are susceptible to tampering, process parameters are easily altered, and process history records are unreliable.
By irreversibly encrypting the flowchart information and uploading the encrypted information to a smart contract on the blockchain, the process parameters are monitored in real time and uploaded to the blockchain, ensuring the archiving of process data. The consensus mechanism of the blockchain is used to prevent tampering with the records, thus achieving the security and consistency of process data.
It effectively prevents the tampering of flowcharts and process parameters, ensures the security and consistency of process data, provides reliable supervision of business processes, and reduces system development and maintenance costs.
Smart Images

Figure CN116070238B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of Internet technology, and in particular relates to a data processing method, apparatus, electronic device and storage medium. Background Technology
[0002] With the development of information technology, workflow development frameworks can extract complex business processes from business systems, define them using specialized modeling languages, and enable the system's processes to be managed by a workflow engine, thereby reducing the development and maintenance costs of the system.
[0003] As business expands, more and more processes involving security, risk, and accountability are emerging in business systems. However, there is currently a lack of effective measures to monitor the security of these business processes. Summary of the Invention
[0004] This application provides a data processing method, apparatus, device, and storage medium that can solve the problem of the current lack of effective measures to monitor the security of business processes.
[0005] In a first aspect, embodiments of this application provide a data processing method, the method comprising:
[0006] The first flowchart information is irreversibly encrypted to generate the first encrypted information, and the first encrypted information is uploaded to the first smart contract on the blockchain.
[0007] The process is executed based on the information in the first flowchart. When an update to the process parameters is detected, the updated process parameters are obtained and uploaded to the second smart contract on the blockchain.
[0008] After completing all the processes in the first flowchart, the process data generated during the process is uploaded to the third smart contract on the blockchain.
[0009] Secondly, embodiments of this application provide a data processing apparatus, which includes:
[0010] The encryption module is used to perform irreversible encryption processing on the first flowchart information, generate the first encrypted information, and upload the first encrypted information to the first smart contract on the blockchain;
[0011] The acquisition module is used to run the process based on the first flowchart information. When an update to the process parameters is detected, the updated process parameters are acquired and uploaded to the second smart contract on the blockchain.
[0012] The upload module is used to upload the process data generated during the execution of all processes in the first flowchart information to the third smart contract on the blockchain.
[0013] Thirdly, embodiments of this application provide an electronic device, the device including: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, it implements the method as described in the first aspect or any possible implementation of the first aspect.
[0014] Fourthly, embodiments of this application provide a readable storage medium storing computer program instructions that, when executed by a processor, implement the method as described in the first aspect or any possible implementation thereof.
[0015] In this embodiment, the first flowchart information is irreversibly encrypted to generate first encrypted information, which is then uploaded to the first smart contract on the blockchain. If a user illegally modifies the first flowchart information, the corresponding first encrypted information will also be modified and recorded in the blockchain. Furthermore, based on the blockchain's consensus mechanism, the illegal user cannot delete the modification record; therefore, the modification record will be identified by legitimate users, thus ensuring the security of the first flowchart information. The process is executed based on the first flowchart information. Upon detecting an update to the process parameters, the updated process parameters are obtained and uploaded to the second smart contract on the blockchain. Each time the process parameters are updated, the updated process parameters are immediately uploaded to the second smart contract on the blockchain, ensuring that the updated process parameters are uploaded to the blockchain in real time, preparing for the consistency of data in subsequent audit processes. Finally, after all processes in the first flowchart information are completed, the process data generated during the process is uploaded to the third smart contract on the blockchain to archive the process data and ensure its security. Attached Figure Description
[0016] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0017] Figure 1 This is a flowchart of a data processing method provided in an embodiment of this application;
[0018] Figure 2 This is a schematic diagram of a data processing method provided in an embodiment of this application;
[0019] Figure 3 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application;
[0020] Figure 4 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0021] The features and exemplary embodiments of various aspects of this application will now be described in detail. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only configured to explain this application and are not configured to limit this application. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples of this application.
[0022] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes the element.
[0023] The following is a brief introduction to the technical terms used in this application.
[0024] A blockchain is essentially a chain of blocks. Each block contains specific information, and these blocks are linked together in chronological order of their creation. This chain is stored on various servers, and as long as at least one server in the system is operational, the entire blockchain is secure. These servers are called nodes in the blockchain system, and they provide storage space and computing power for the entire system.
[0025] To modify information in a blockchain, the consent of more than half of the nodes must be obtained, and the information on all nodes must be modified. These nodes are typically controlled by different entities, making tampering with information in a blockchain extremely difficult. Compared to traditional networks, blockchain has two core characteristics: first, data is difficult to tamper with; second, it is decentralized. Based on these two characteristics, the information recorded in a blockchain is more authentic and reliable, helping to solve the problem of mutual distrust.
[0026] The characteristic of irreversible encryption algorithms is that no key is needed during the encryption process. After the plaintext is input, the system directly processes it into ciphertext through the encryption algorithm. This encrypted data cannot be decrypted. Only by re-entering the plaintext and processing it again with the same irreversible encryption algorithm to obtain the same encrypted ciphertext, which is then re-identified by the system, can it be truly decrypted.
[0027] A smart contract is a computer protocol designed to disseminate, verify, or execute contracts in an informational manner. Smart contracts allow for trusted transactions without a third party; these transactions are traceable and irreversible. The purpose of smart contracts is to provide a security approach superior to traditional contracts and to reduce other transaction costs associated with contracts. Smart contracts are hosted on a blockchain, allowing specific contract programs to run on it.
[0028] The data processing method provided in this application embodiment can be applied to at least the following application scenarios, which will be described below.
[0029] Workflow development frameworks can extract complex business processes from business systems, define them using specialized modeling languages, and enable the system's processes to be managed by a process engine. This reduces the workload of upgrading and transforming business systems due to process changes, thereby improving system robustness and reducing system development and maintenance costs.
[0030] However, as the business expands, many processes involving safety, risk, and accountability become more complex, including their data flow and workflow.
[0031] Currently, traditional workflow engines present the following risks: First, flowcharts are susceptible to tampering, potentially leading to the addition of an illegal workflow or the omission of a monitoring workflow. Second, workflow parameters are vulnerable to tampering, as input and output parameters are easily altered, resulting in abnormal workflow data that is difficult to detect, making it impossible for legitimate submitters to prove their innocence and hindering subsequent accountability. Third, workflow history is stored in a database or log maintained by the workflow engine; unauthorized database operations can modify completed workflow data, rendering the workflow archive unreliable.
[0032] Figure 1 This is a flowchart of a data processing method provided in an embodiment of this application.
[0033] like Figure 1 As shown, the data processing method may include steps 110-130, and the method is applied to a data processing device, as detailed below:
[0034] Step 110: Irreversibly encrypt the first flowchart information to generate first encrypted information, and upload the first encrypted information to the first smart contract on the blockchain;
[0035] Step 120: Run the process based on the first flowchart information. If the process parameters are updated, obtain the updated process parameters and upload the updated process parameters to the second smart contract on the blockchain.
[0036] Step 130: After completing all the processes in the first flowchart information, upload the process data generated during the process to the third smart contract of the blockchain.
[0037] In this embodiment, the first flowchart information is irreversibly encrypted to generate first encrypted information, which is then uploaded to the first smart contract on the blockchain. If a user illegally modifies the first flowchart information, the corresponding first encrypted information will also be modified and recorded in the blockchain. Furthermore, based on the blockchain's consensus mechanism, the illegal user cannot delete the modification record; therefore, the modification record will be identified by legitimate users, thus ensuring the security of the first flowchart information. The process is executed based on the first flowchart information. Upon detecting an update to the process parameters, the updated process parameters are obtained and uploaded to the second smart contract on the blockchain. Each time the process parameters are updated, the updated process parameters are immediately uploaded to the second smart contract on the blockchain, ensuring that the updated process parameters are uploaded to the blockchain in real time, preparing for the consistency of data in subsequent audit processes. Finally, after all processes in the first flowchart information are completed, the process data generated during the process is uploaded to the third smart contract on the blockchain to archive the process data and ensure its security.
[0038] The following describes the contents of steps 110-130 respectively:
[0039] Step 110 is involved.
[0040] The first flowchart information is irreversibly encrypted to generate the first encrypted information, and the first encrypted information is uploaded to the first smart contract on the blockchain.
[0041] After the flowchart is completed, the first flowchart information is irreversibly encrypted to generate the first encrypted information. The first flowchart information can be a carrier file of the first flowchart.
[0042] Irreversible encryption processing can include algorithms such as hash1, hash2, and MD5. Here, irreversible encryption processing, such as irreversible hash algorithms, can prevent the information in the first flowchart from being cracked.
[0043] The first encrypted information is used to identify the identity of the first flowchart information. If the first flowchart information is modified, the first encrypted information will also change accordingly.
[0044] The deployment flowchart maintains the smart contract (Process-SC), i.e. the first smart contract, and then the first 5 encrypted information is used as the identity H(id)1 of the first flowchart information and uploaded to the first smart contract on the blockchain.
[0045] Here, if a violator modifies the first flowchart information, the corresponding first encrypted information will be modified and recorded in the blockchain. This record can be easily accessed by users.
[0046] The system identifies the information, and based on the consensus mechanism of the blockchain, violators cannot delete the first encrypted information corresponding to the modified first flowchart information, thus ensuring the security of the first flowchart information.
[0047] In one possible embodiment, after step 110, the following steps may also be included:
[0048] Receive the second flowchart information published by a legitimate user. The second flowchart information is a modification of the first flowchart.
[0049] The image information is updated to obtain the result;
[0050] 5. The second flowchart information is irreversibly encrypted to obtain the second encrypted information;
[0051] The second encrypted information is uploaded to the first smart contract on the blockchain.
[0052] When the flowchart needs to be updated, the system receives the second flowchart information published by a legitimate user, performs irreversible encryption on the second flowchart information to obtain the second encrypted information, and uploads the second encrypted information to the first smart contract on the blockchain.
[0053] 0. For example, the processes in the first flowchart information include: process a, process b, and process c.
[0054] The second flowchart information includes processes a, b, c, and d. Since the processes in the flowchart information have changed, the encrypted information used to identify the identity of the first flowchart information also needs to change accordingly. The first encrypted information is used to identify the identity of the first flowchart information, and the second encrypted information is used to identify the identity of the second flowchart information.
[0055] 5. Finally, the second encrypted information is uploaded to the first smart contract on the blockchain to identify the first...
[0056] The flowchart information has been updated, and the workflow engine is currently using the second flowchart information.
[0057] In one possible embodiment, after step 110, the following steps may also be included:
[0058] The first flowchart information is encrypted using a key to generate encrypted first flowchart information;
[0059] A key is issued to authorized users so that they can decrypt the encrypted first flowchart information using the key.
[0060] While encrypting the first flowchart information with a key to generate encrypted first flowchart information, the second flowchart information can also be encrypted with the same key to generate encrypted second flowchart information. The encryption process can be either symmetric or asymmetric, and the encrypted first flowchart information can be publicly disclosed.
[0061] The first flowchart information is encrypted using a key. After generating the encrypted first flowchart information, the key is issued to authorized users so that they can decrypt the encrypted first flowchart information using the key. Authorized users are allowed to use the key to update the flowchart or obtain historical flowchart versions.
[0062] Step 120 is involved.
[0063] The process is executed based on the information in the first flowchart. When an update to the process parameters is detected, the updated process parameters are obtained and uploaded to the second smart contract on the blockchain.
[0064] Specifically, obtaining the updated process parameters and uploading them to the second smart contract on the blockchain can include: obtaining the updated process input parameters and updated process output parameters, and uploading them to the second smart contract on the blockchain. The updated process output parameters are determined based on the updated process input parameters.
[0065] The process runs based on the information in the first flowchart. The flowchart, task nodes, flow conditions, monitoring data, flow data, and historical records in the process can all be maintained through the second smart contract of the blockchain. The process parameters are dynamically updated in the second smart contract, realizing traceability and tamper-proofing of each link in the process.
[0066] Whenever the process parameters are updated, the updated process parameters are immediately uploaded to the second smart contract on the blockchain, namely the Data-SC contract, without having to wait for the entire process to be completed before uploading, ensuring that all process-related data is uploaded to the blockchain in real time.
[0067] The inflow and outflow parameters, flowchart information, task identification information, stage information, processing information, and process history information are updated in the second smart contract to ensure that all process-related data is uploaded to the blockchain in real time, thus preparing for the consistency of subsequent audit processes and preventing data tampering.
[0068] In one possible embodiment, the following steps may be included before step 120:
[0069] Receive a process start request sent by the client. The process start request includes: verification encryption information corresponding to the first flowchart information;
[0070] If the encrypted information matches the first encrypted information in the blockchain, the response process initiates a request, which includes: submission process, cooperation process, transfer process, and return process.
[0071] When the process is started, the verification encryption information corresponding to the first flowchart information is obtained, and the first smart contract, namely the Process-SC contract, is called to verify the verification encryption information and the first encryption information in the blockchain to determine whether the first flowchart information is valid. If the verification encryption information and the first encryption information in the blockchain are consistent, the authentication is successful and the process is allowed to start formally, that is, the process start request is answered.
[0072] When the process runs according to the flowchart, changes in the process input and output parameters, such as the submission process, the co-process, the transfer process, and the return process, are all regarded as an update submission process, which requires verification of the encrypted information and the first encrypted information in the blockchain.
[0073] The submission process indicates submission to the next handler, the co-handling process indicates submission to a co-handling handler, the transfer process indicates transfer to another handler, and the return process indicates return to the previous handler.
[0074] Therefore, the initiation and updating of the process no longer rely solely on traditional workflow engines. Instead, on a decentralized distributed blockchain network, the consensus algorithm of each node in the blockchain is used to publish the start command after successful contract authentication. In other words, the process start request is responded to when the encrypted information is verified to be consistent with the first encrypted information in the blockchain, thus completing the legal and formal initiation of the process.
[0075] Furthermore, when the workflow is updated, i.e. when an update to the process parameters is detected, the updated process parameters are obtained and uploaded to the second smart contract on the blockchain. The process status within the contract is updated in real time, achieving systematic data protection.
[0076] Step 130 is involved.
[0077] After completing all the processes in the first flowchart, the process data generated during the process is uploaded to the third smart contract on the blockchain.
[0078] After the process is completed, the process engine and the blockchain have reached mutual trust at that time, but not historical mutual trust. In order to prevent the historical data from being tampered with after the process is completed, it is necessary to audit and archive the data before the end, and upload the process data generated during the process to the third smart contract on the blockchain to achieve the purpose of preventing tampering.
[0079] In one possible embodiment, step 130 may specifically include the following steps:
[0080] Acquire process data generated during the operation process. Process data includes: flowchart information, step information, processing information, and process history information.
[0081] If the process data is consistent with the historical process data in the second smart contract, the historical process data is encrypted to obtain the third encrypted information. The historical process data is generated based on the process parameters in the second smart contract and the updated process parameters.
[0082] Upload third-party encrypted information and process data to the third-party smart contract on the blockchain.
[0083] First, acquire the process data generated during the operation process. The process data includes: flowchart information, step information, processing information, and process history information.
[0084] Among them, flowchart information refers to the flowchart information that has been used in the past; stage information refers to the specific stage in each process; processing information refers to the processing information generated during the operation of the process, such as processing time and the person in charge; and process history information refers to the record information generated from the flowchart information that has been used in the past.
[0085] Secondly, the process data generated during the workflow operation is stored in the workflow database, while historical process data is stored in the database corresponding to the second smart contract on the blockchain. It is necessary to verify that the process data matches the historical process data in the second smart contract. If the process data matches the historical process data in the second smart contract, it is archived. Since the process parameters and updated process parameters record the data generated during the process execution, the historical process data in the database corresponding to the second smart contract on the blockchain is generated based on the process parameters in the second smart contract and the updated process parameters.
[0086] Finally, the historical process data is encrypted to obtain third encrypted information, and the third encrypted information and process data are uploaded to the third smart contract on the blockchain.
[0087] After the process is finally submitted, the third smart contract CheckEnd-SC is called to audit and archive the process data. The process engine sends data to CheckEnd-SC, that is, uploads the process data, including flowchart information, step information, processing information and process history information.
[0088] If the process data is consistent with the historical process data in the second smart contract, then the hash value of the blockchain historical data is taken as the identification information for this process archive. That is, the historical process data is encrypted to obtain the third encrypted information. At this point, the process is officially sealed.
[0089] In one possible embodiment, after acquiring the process data generated during the aforementioned process of executing the operation, the following steps may also be included:
[0090] If the process data is inconsistent with the historical process data in the second smart contract, output an abnormal process status value.
[0091] If the process data is inconsistent with the historical process data in the second smart contract, the process will terminate abnormally and return an abnormal process status value, which can be used by the operator to verify the authenticity and security of the process data.
[0092] In one possible embodiment, a query request sent by a client is received, the query request being used to query target historical process data;
[0093] In response to the query request, retrieve the target historical process data and the corresponding third encrypted information from the third smart contract;
[0094] The target's historical process data is encrypted to obtain the fourth encrypted information;
[0095] If the third and fourth encrypted information are consistent, the target historical data is sent to the client.
[0096] When an external system queries historical process data, that is, when it receives a query request from a client to query the target historical process data, it can obtain the target historical process data and the corresponding third encrypted information from the third smart contract; and encrypt the target historical process data to obtain the fourth encrypted information.
[0097] Here, if the target historical process data has been tampered with, then the third and fourth encrypted information will be inconsistent; if the target historical process data has not been tampered with, then the third and fourth encrypted information will be consistent.
[0098] Therefore, if the third and fourth encrypted information are consistent, it indicates that the target historical process data has not been tampered with and is legitimate and secure. At this point, the target historical data can be sent to the client.
[0099] In the data processing method provided in this application, first encrypted information is generated by irreversibly encrypting the first flowchart information, and then uploaded to the first smart contract of the blockchain. Here, if a user illegally tampers with the first flowchart information, the corresponding first encrypted information will also be tampered with and recorded in the blockchain. Furthermore, based on the consensus mechanism of the blockchain, the illegal user cannot delete the tampering record; therefore, the tampering record will be identified by legitimate users, thus ensuring the security of the first flowchart information. The process is executed based on the first flowchart information. When an update to the process parameters is detected, the updated process parameters are obtained and uploaded to the second smart contract of the blockchain. Here, each time the process parameters corresponding to a process are updated, the updated process parameters are immediately uploaded to the second smart contract of the blockchain, ensuring that the updated process parameters are uploaded to the blockchain in real time, preparing for the consistency of data in subsequent audit processes. Finally, after all processes in the first flowchart information are completed, the process data generated during the process is uploaded to the third smart contract of the blockchain to achieve archiving of the process data and ensure its security.
[0100] The following is combined Figure 2 The data processing method is explained as shown below:
[0101] First, the workflow engine deploys the first flowchart information and performs irreversible encryption on the first flowchart information to generate the first encrypted information, and then uploads the first encrypted information to the first smart contract on the blockchain, namely the Process-SC contract.
[0102] Then, after the blockchain completes the storage of the first encrypted information, the workflow engine sends a response message to be used for the workflow engine startup process.
[0103] In addition, when the workflow engine detects that the first flowchart information has been updated, it receives the second flowchart information obtained by updating the first flowchart information published by the legitimate user, performs irreversible encryption on the second flowchart information to obtain the second encrypted information, and uploads the second encrypted information to the first smart contract on the blockchain.
[0104] Next, the workflow engine runs the process based on the first flowchart information, that is, during the process of running process 1, process 2, ... and process n, if the process parameters are updated, it obtains the updated process parameters and uploads the updated process parameters to the second smart contract on the blockchain, namely the Data-SC contract.
[0105] Finally, after the workflow engine completes all the processes in the first flowchart information, it verifies the process data against the historical process data in the second smart contract. If the process data matches the historical process data in the second smart contract, it encrypts the historical process data to obtain the third encrypted information. The third encrypted information and the process data are then uploaded to the third smart contract on the blockchain, namely the CheckEnd-SC contract.
[0106] Based on the above Figure 1 The data processing method shown in this application also includes a data processing apparatus, such as... Figure 3 As shown, the data processing device 300 may include:
[0107] The encryption module 310 is used to perform irreversible encryption processing on the first flowchart information, generate the first encrypted information, and upload the first encrypted information to the first smart contract on the blockchain.
[0108] The acquisition module 320 is used to run the process based on the first flowchart information. When the process parameters are detected to be updated, the updated process parameters are acquired and uploaded to the second smart contract on the blockchain.
[0109] The upload module 330 is used to upload the process data generated during the execution of the process to the third smart contract of the blockchain after all processes in the first flowchart information have been completed.
[0110] In one possible embodiment, the data processing device 300 may further include: a first receiving module, configured to receive second flowchart information published by a legitimate user, wherein the second flowchart information is obtained by updating the first flowchart information;
[0111] The encryption module 310 is also used to perform irreversible encryption processing on the second flowchart information to obtain the second encrypted information;
[0112] Upload module 330 is also used to upload the second encrypted information to the first smart contract on the blockchain.
[0113] In one possible embodiment, the data processing device 300 may further include:
[0114] The first encryption module is used to encrypt the first flowchart information using a key to generate encrypted first flowchart information.
[0115] The publishing module is used to publish keys to authorized users, who can then use these keys to decrypt the encrypted first flowchart information.
[0116] In one possible embodiment, the data processing device 300 may further include:
[0117] The second receiving module is used to receive the process start request sent by the client. The process start request includes: verification encryption information corresponding to the first flowchart information.
[0118] The response module is used to initiate a response process request when the encrypted information is verified to be consistent with the first encrypted information in the blockchain. The process includes: submission process, cooperation process, transfer process, and return process.
[0119] In one possible embodiment, the upload module 330 is specifically used for:
[0120] Acquire process data generated during the operation process. Process data includes: flowchart information, step information, processing information, and process history information.
[0121] If the process data is consistent with the historical process data in the second smart contract, the historical process data is encrypted to obtain the third encrypted information. The historical process data is generated based on the process parameters in the second smart contract and the updated process parameters.
[0122] Upload third-party encrypted information and process data to the third-party smart contract on the blockchain.
[0123] In one possible embodiment, the data processing device 300 may further include:
[0124] The output module is used to output abnormal process status values when the process data is inconsistent with the historical process data in the second smart contract.
[0125] In one possible embodiment, the data processing device 300 may further include:
[0126] The third receiving module is used to receive query requests sent by the client. The query requests are used to query target historical process data.
[0127] The acquisition module 320 is also used to respond to a query request and obtain the target historical process data and the third encrypted information corresponding to the target historical process data from the third smart contract;
[0128] The second encryption module is used to encrypt the target's historical process data to obtain the fourth encrypted information;
[0129] The sending module is used to send target historical data to the client if the third and fourth encrypted information are consistent.
[0130] In this embodiment, first encrypted information is generated by irreversibly encrypting the first flowchart information, and then uploaded to a first smart contract on the blockchain. Here, if a user illegally tampers with the first flowchart information, the corresponding first encrypted information will also be tampered with and recorded in the blockchain. Furthermore, based on the blockchain's consensus mechanism, the illegal user cannot delete the tampering record; therefore, the tampering record will be identified by legitimate users, thus ensuring the security of the first flowchart information. Based on the first flowchart information, when an update to the process parameters is detected, the updated process parameters are obtained and uploaded to a second smart contract on the blockchain. Here, each time the process parameters corresponding to a process are updated, the updated process parameters are immediately uploaded to the second smart contract on the blockchain, ensuring that the updated process parameters are uploaded to the blockchain in real time, preparing for the consistency of data in subsequent audit processes. Finally, after all processes in the first flowchart information have been completed, the process data generated during the process is uploaded to a third smart contract on the blockchain to archive the process data and ensure its security.
[0131] Figure 4 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application is shown.
[0132] An electronic device may include a processor 401 and a memory 402 storing computer program instructions.
[0133] Specifically, the processor 401 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.
[0134] Memory 402 may include a large-capacity memory for data or instructions. For example, and not limitingly, memory 402 may include a hard disk drive (HDD), a floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or a Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 402 may include removable or non-removable (or fixed) media. Where appropriate, memory 402 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 402 is a non-volatile solid-state memory. In a particular embodiment, memory 402 includes read-only memory (ROM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM), or flash memory, or a combination of two or more of these.
[0135] The processor 401 implements any of the data processing methods in the embodiment shown in the figure by reading and executing computer program instructions stored in the memory 402.
[0136] In one example, the electronic device may also include a communication interface 404 and a bus 410. For example, Figure 4 As shown, the processor 401, memory 402, and communication interface 404 are connected through bus 410 and complete communication with each other.
[0137] Communication interface 404 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.
[0138] Bus 410 includes hardware, software, or both, that couples components of an electronic device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 410 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, this application contemplates any suitable bus or interconnect.
[0139] The electronic device can execute the data processing method described in the embodiments of this application, thereby achieving the combination Figures 1-2 Describe the data processing methods.
[0140] Furthermore, in conjunction with the data processing methods in the above embodiments, this application embodiment can provide a computer-readable storage medium for implementation. This computer-readable storage medium stores computer program instructions; these computer program instructions are implemented when executed by a processor. Figure 1 Data processing methods.
[0141] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.
[0142] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.
[0143] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.
[0144] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.
Claims
1. A data processing method, characterized in that, The method includes: The first flowchart information is irreversibly encrypted to generate first encrypted information, and the first encrypted information is uploaded to the first smart contract on the blockchain. Receive second flowchart information published by a legitimate user, wherein the second flowchart information is obtained by updating the first flowchart information; The second flowchart information is irreversibly encrypted to obtain the second encrypted information; The second encrypted information is uploaded to the first smart contract of the blockchain; Receive a process start request sent by the client, the process start request including: verification encryption information corresponding to the first flowchart information; If the verified encrypted information matches the first encrypted information in the blockchain, the process initiation request is responded to. The process includes: process submission, process assistance, process transfer, and process return. The process is executed based on the first flowchart information. If an update to the process parameters is detected, the updated process parameters are obtained and uploaded to the second smart contract of the blockchain. After completing all the processes in the first flowchart information, the process data generated during the process of running the process will be uploaded to the third smart contract of the blockchain.
2. The method according to claim 1, characterized in that, The method further includes: The first flowchart information is encrypted using a key to generate encrypted first flowchart information. The key is distributed to authorized users so that they can decrypt the encrypted first flowchart information using the key.
3. The method according to claim 1, characterized in that, After completing all the processes in the first flowchart information, the process data generated during the execution of the processes is uploaded to the third smart contract of the blockchain, including: Acquire process data generated during the execution of the process, including: flowchart information, step information, processing information, and process history information; If the process data is consistent with the historical process data in the second smart contract, the historical process data is encrypted to obtain third encrypted information. The historical process data is generated based on the process parameters in the second smart contract and the updated process parameters. The third encrypted information and the process data are uploaded to the third smart contract of the blockchain.
4. The method according to claim 3, characterized in that, After acquiring the process data generated during the execution of the process, the method further includes: If the process data is inconsistent with the historical process data in the second smart contract, an abnormal process status value is output.
5. The method according to claim 1, characterized in that, The method further includes: Receive a query request sent by the client, the query request being used to query target historical process data; In response to the query request, the target historical process data and the third encrypted information corresponding to the target historical process data are obtained from the third smart contract; The target historical process data is encrypted to obtain the fourth encrypted information; If the third and fourth encrypted information are consistent, the target historical process data is sent to the client.
6. A data processing apparatus, characterized in that, The data processing device includes: The encryption module is used to perform irreversible encryption processing on the first flowchart information, generate the first encrypted information, and upload the first encrypted information to the first smart contract on the blockchain; The receiving module is used to receive second flowchart information published by a legitimate user, wherein the second flowchart information is obtained by updating the first flowchart information; The encryption module is also used to perform irreversible encryption processing on the second flowchart information to obtain the second encrypted information; The upload module is used to upload the second encrypted information to the first smart contract of the blockchain; the receiving module is also used to receive a process start request sent by the client, the process start request including: verification encrypted information corresponding to the first flowchart information; The response module responds to the process initiation request if the verified encrypted information matches the first encrypted information in the blockchain. The process includes: a submission process, a co-process, a transfer process, and a return process. The acquisition module is used to run the process based on the first flowchart information, and when an update to the process parameters is detected, acquire the updated process parameters and upload the updated process parameters to the second smart contract of the blockchain. The upload module is also used to upload the process data generated during the execution of the process to the third smart contract of the blockchain after all processes in the first flowchart information have been completed.
7. An electronic device, characterized in that, The electronic device includes: a processor and a memory storing computer program instructions; the processor, when executing the computer program instructions, implements the data processing method as described in any one of claims 1-5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions that, when executed by a processor, implement the data processing method as described in any one of claims 1-5.
Citation Information
Patent Citations
Node operating system integrated with lightweight block chain and method for data updating
CN106790112A
Process approval method and device based on block chain system and system and storage medium
CN109858262A