US11521176B2 - Service flow system and service data processing method and apparatus - Google Patents

Service flow system and service data processing method and apparatus Download PDF

Info

Publication number
US11521176B2
US11521176B2 US16/675,886 US201916675886A US11521176B2 US 11521176 B2 US11521176 B2 US 11521176B2 US 201916675886 A US201916675886 A US 201916675886A US 11521176 B2 US11521176 B2 US 11521176B2
Authority
US
United States
Prior art keywords
participant
identity
project
information
phase
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US16/675,886
Other versions
US20200286041A1 (en
Inventor
Yuxiao Song
Hui Wang
Haodong CHEN
Yao Liu
Hang Zhou
Weidong Cai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Assigned to BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY CO., LTD. reassignment BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CAI, WEIDONG, CHEN, Haodong, LIU, YAO, SONG, YUXIAO, WANG, HUI, ZHOU, HANG
Publication of US20200286041A1 publication Critical patent/US20200286041A1/en
Application granted granted Critical
Publication of US11521176B2 publication Critical patent/US11521176B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • Embodiments of the present disclosure relate to the field of computer technology, and specifically to a service flow system and a service data processing method and apparatus.
  • Block chain technology sequentially connects data blocks in the global consensus order to form a chain data structure, and cryptographically guarantees that the data chain is non-tampering and unforgeable, thereby achieving a globally consistent distributed ledger.
  • the block chain can implement credible records of relevant data in the existing service flow by participants (e.g., asset holders, law firms, asset auditors, asset trading institutions) involved in the service flow (e.g., asset securitization service flow).
  • participants e.g., asset holders, law firms, asset auditors, asset trading institutions
  • the use of block chain technology can ensure the authenticity of service data.
  • Embodiments of the application provide a service flow system, a service data processing method and an apparatus.
  • some embodiments of the present disclosure provide a service flow system, the system includes a management server, a distributed storage cluster and a block chain alliance network connected by a network, the block chain alliance network including a consensus node and at least one participant node, where: a participant node is configured to, in response to receiving a first chaining request comprising to-be-chained data, a participated project identity and a participation phase identity, send the first chaining request and participant authentication information of the participant node as a second data chaining request to the management server project; the management server is configured to, in response to a success in verification of the second data chaining request received from the participant node, store the to-be-chained data into the distributed storage cluster; query, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by the participated project identity in the received second data chaining request; determine participant node identities in the queried participant information as a target participant node identity set; send to the consensus node the digest information of
  • the management server is configured to: in response to a success in verification of participant authentication information in the second data chaining request received from the participant node, query in the distributed storage cluster to determine whether participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity; and determine, in response to determining that the participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity, that the second data chaining request received from the participant node succeeds in verification.
  • the management server is configured to, in response to receiving a new project creating request comprising to-be-created project information, store the to-be-created project information to the distributed storage cluster, the to-be-created project information comprising an project identity of a to-be-created project and phase information, the phase information being of a number of project phases comprised in the project, the phase information comprising a phase identity and participant information, the participant information being of a number of participants participating in an project phase, and the participant information comprising a participant node identity; determine participant node identities in participant information comprised in respective phase information of the to-be-created project information as a target participant node identity set; send to the consensus node digest information of the to-be-created project information and the target participant node identity set as a third chaining request; and record a corresponding relationship between the to-be-created project information stored in the distributed storage cluster and the third chaining request sent to the consensus node.
  • the participant node is configured to query in the local block chain, in response to a success in verification of an on-chain access request including a to-be-accessed on-chain data identity received from a terminal, data corresponding to the to-be-accessed on-chain data identity, and send found data to the terminal.
  • the management server is configured to: in response to receiving an off-chain access request sent by a terminal and comprising a to-be-accessed off-chain data identity, a to-be-accessed project identity, a to-be-accessed phase identity and request access participant authentication information, query in the distributed storage cluster to determine whether participant node identity corresponding to received request participant authentication information is in participant node identities of respective participant information of a phase indicated by a to-be-accessed phase identity of an project indicated by the received to-be-accessed project identity; and in response to determining that the participant node identity corresponding to the received request participant authentication information is in the participant node identities of the respective participant information of the phase indicated by the to-be-accessed phase identity of the project indicated by the received to-be-accessed project identity, query, in the distributed storage cluster, data corresponding to the to-be-accessed off-chain data identity, and send found data to the terminal.
  • some embodiments of the present disclosure provides a service data processing method, applied to a management server in a service flow system, where the service flow system includes the management server, a distributed storage cluster and a block chain alliance network connected by a network, the block chain alliance network comprises a consensus node and at least one participant node, and the method includes: storing, in response to a success in verification of a second data chaining request received from a participant node, to-be-chained data into the distributed storage cluster; querying, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by a participated project identity in the received second data chaining request; determining participant node identities in the queried participant information as a target participant node identity set; sending to the consensus node the digest information of the to-be-chained data, the participant node identity of the participant node sending the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity
  • participant node identity corresponding to the received participant authentication information in response to a success in verification of participant authentication information in the second data chaining request received from the participant node, query in the distributed storage cluster to determine whether participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity; and in response to determining that the participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity, determining that the second data chaining request received from the participant node succeeds in verification.
  • the method further includes: in response to receiving a new project creating request comprising to-be-created project information, store the to-be-created project information to the distributed storage cluster, the to-be-created project information comprising an project identity of a to-be-created project and phase information, the phase information being of a number of project phases comprised in the project, the phase information comprising a phase identity and participant information, the participant information being of a number of participants participating in an project phase, and the participant information comprising a participant node identity; determining participant node identities in participant information comprised in respective phase information of the to-be-created project information as a target participant node identity set; sending to the consensus node digest information of the to-be-created project information and the target participant node identity set as a third chaining request; and recording a corresponding relationship between the to-be-created project information stored in the distributed storage cluster and the third chaining request sent to the consensus node.
  • in response to receiving an off-chain access request sent by a terminal and comprising a to-be-accessed off-chain data identity, a to-be-accessed project identity, a to-be-accessed phase identity and request access participant authentication information query in the distributed storage cluster to determine whether participant node identity corresponding to received request participant authentication information is in the participant node identities of respective participant information of a phase indicated by a to-be-accessed phase identity of an project indicated by the received to-be-accessed project identity; and in response to determining that the participant node identity corresponding to the received request participant authentication information is in the participant node identities of the respective participant information of the phase indicated by the to-be-accessed phase identity of the project indicated by the received to-be-accessed project identity, querying, in the distributed storage cluster, data corresponding to the to-be-accessed off-chain data identity, and sending found data to the terminal.
  • some embodiments of the present disclosure provides a service data processing apparatus, applied to a management server in a service flow system, where the service flow system includes the management server, a distributed storage cluster and a block chain alliance network connected by a network, the block chain alliance network comprises a consensus node and at least one participant node, and the apparatus includes: a first storage unit, configured to store, in response to a success in verification of a second data chaining request received from a participant node, to-be-chained data into the distributed storage cluster; a query unit, configured to query, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by a participated project identity in the received second data chaining request; a first target participant determining unit, configured to determine participant node identities in the queried participant information as a target participant node identity set; a first sending unit, configured to send to the consensus node the digest information of the to-be-chained data, the participant node identity of the participant node sending the
  • participant node identity corresponding to the received participant authentication information in response to a success in verification of participant authentication information in the second data chaining request received from the participant node, query in the distributed storage cluster to determine whether participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity; and in response to determining that the participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity, determining that the second data chaining request received from the participant node succeeds in verification.
  • the apparatus further includes: a second storage unit, configured to store, in response to receiving a new project creating request comprising to-be-created project information, the to-be-created project information to the distributed storage cluster, the to-be-created project information comprising an project identity of a to-be-created project and phase information, the phase information being of a number of project phases comprised in the project, the phase information comprising a phase identity and participant information, the participant information being of a number of participants participating in an project phase, and the participant information comprising a participant node identity; a second target participant determining unit, configured to determine participant node identities in participant information comprised in respective phase information of the to-be-created project information as a target participant node identity set; a second sending unit, configured to send to the consensus node digest information of the to-be-created project information and the target participant node identity set as a third chaining request; and a second recording unit, configured to record a corresponding relationship between the to-be-created project information
  • the apparatus further includes: a request participant determining unit, configured to: in response to receiving an off-chain access request sent by a terminal and comprising a to-be-accessed off-chain data identity, a to-be-accessed project identity, a to-be-accessed phase identity and request access participant authentication information, query in the distributed storage cluster to determine whether participant node identity corresponding to received request participant authentication information is in the participant node identities of respective participant information of a phase indicated by a to-be-accessed phase identity of an project indicated by the received to-be-accessed project identity; and a third sending unit configured to: in response to determining that the participant node identity corresponding to the received request participant authentication information is in the participant node identities of the respective participant information of the phase indicated by the to-be-accessed phase identity of the project indicated by the received to-be-accessed project identity, querying, in the distributed storage cluster, data corresponding to the to-be-accessed off-chain data identity, and send found data to the terminal.
  • a request participant determining unit configured to: in response to receiving an
  • some embodiments of the present disclosure provides a server, includes: one or more processors; and a storage apparatus, storing one or more programs, the one or more programs, when executed by the one or more processors, causing the one or more processors to implement the method according to any one of the implementations of the second aspect.
  • some embodiments provide a computer-readable storage medium, storing a computer program thereon, wherein the computer program, when executed by one or more processors, causes the processors to implement the method according to any one of the implementations of the second aspect.
  • the block chain usually chains all the service data provided by the various participants of the various phases in the service flow, such that various participants of the various phases in the service flow shares identical data, and distinguishing is not performed at the specific projects or participants of the various phases of a project, which leads to a weak mobility and expansibility of technical solutions. Moreover, associated storage of on-chain and off-chain service flow data is not achieved.
  • the service flow system, service flow data processing method and apparatus provided by some embodiments of the present disclosure, through unified management of a management server, off-chain data is stored in a distributed storage cluster, then participants of each phase are defined for different projects, and the participants of the same phase of the same project share the same on-chain and off-chain data. Therefore, credible access of the participants to block chain data is solved, dynamic customizable phase management of the projects in a service flow is supported, the on-chain data and participants of each phase are strictly divided and managed, and associated management of on-chain and off-chain service flow data is also supported.
  • FIG. 1 is an architectural diagram of an example system to which some embodiments of the present disclosure can be applied;
  • FIG. 2 is a sequence diagram of a service flow system according to an embodiment of the present disclosure
  • FIG. 3 is a sequence diagram of the service flow system according to another embodiment of the present disclosure.
  • FIG. 4 is a flowchart of a data processing method according to an embodiment of the present disclosure.
  • FIG. 5 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of a computer system of a server adapted to implement some embodiments of the present disclosure.
  • FIG. 1 shows an example system architecture 100 in which a service flow system may be implemented.
  • the system architecture 100 may include participant terminals 101 , 102 and 103 , a management server 104 , a distributed storage cluster 105 , a participant node 106 corresponding to the participant terminal 101 , a participant node 107 corresponding to the participant terminal 102 , a participant node 108 corresponding to the participant terminal 103 , a consensus node 109 , and a network 110 .
  • the network 110 serves as a medium providing a communication link among the participant terminals 101 , 102 and 103 , the management server 104 , the distributed storage cluster 105 , the participant nodes 106 , 107 and 108 , and the consensus node 109 .
  • the network 110 may include various types of connections, such as wired or wireless communication links, or optical fiber cables.
  • the participant nodes 106 , 107 and 108 and the consensus node 109 constitute a block chain alliance network, also called an alliance chain.
  • a user can use the participant terminal 101 , 102 or 103 to interact with the management server 104 over the network 110 , to receive or send messages, etc.
  • the participant terminals 101 , 102 and 103 may be installed with various client applications, such as social network management applications, shopping website management applications, web browser applications, shopping applications, search applications, instant messaging tools, e-mail clients, and social platform software.
  • the user can also interact with the participant node 106 over the network 110 using the participant terminal 101 , or interact with the participant node 107 over the network 110 using the participant terminal 102 , or interact with the participant node 108 over the network 110 using the participant terminal 103 .
  • the participant terminals 101 , 102 and 103 may be hardware or software.
  • the participant terminals 101 , 102 and 103 are hardware, the participant terminals may be various electronic devices, including but not limited to a smart phone, a tablet computer, a laptop computer, a desktop computer, etc.
  • the participant terminals 101 , 102 and 103 are software, the participant terminals may be installed in the above-listed electronic devices.
  • the participant terminals may be implemented as a plurality of software programs or software modules (e.g., for providing distributed services), or as a single software program or software module. Specific limitations are not provided here.
  • the management server 104 may be a server providing various services, such as providing a support for a data processing request sent by the participant terminal 101 , 102 or 103 .
  • the management server may analyze the received data such as a data chaining request or a data access request, and feed the processing result (for example, the data chaining result or the accessed data) back to the participant terminal.
  • the management server 104 may be hardware or software.
  • the management server 104 may be implemented as a distributed server cluster composed of multiple servers, or as a single server.
  • the management server 104 is software, the management server 104 may be implemented as a plurality of software programs or software modules (e.g., for providing a data management service), or as a single software program or software module. Specific limitations are not provided herein.
  • the distributed storage cluster 105 may be a server cluster providing services such as distributed data storage, deletion, modification or query, for example, a distributed database server cluster providing a support for a data manipulation request sent by the management server 104 .
  • the distributed storage cluster 105 may process, i.g. analyze, the received data such as the data manipulation request, and feed the processing result (for example, the data manipulation result) back to the management server 104 .
  • the distributed storage cluster 105 may be hardware or software.
  • the distributed storage cluster 105 may be implemented as a distributed server cluster composed of multiple servers, or as a single server.
  • the distributed storage cluster 105 is software, the distributed storage cluster 105 may be implemented as a plurality of software programs or software modules (e.g., for providing a distributed data service), or as a single software program or software module. Specific limitations are not provided herein.
  • the participant nodes 106 , 107 and 108 may be electronic devices that provide data block generation and storage services in a block chain and provide a block chain data query service. For example, generating a block for the digest information of to-be-chained data sent from the consensus node 109 and a participant node identity of the corresponding participant node that sends the to-be-chained data, and the generated block is connected to a local block chain.
  • the participant node 106 , 107 or 108 may be hardware or software.
  • the participant node may be implemented as a distributed server cluster composed of multiple servers, or as a single server.
  • the participant node 106 , 107 or 108 is software, the participant node may be implemented as a plurality of software programs or software modules (e.g., for providing a block chain service), or as a single software program or software module. Specific limitations are not provided here.
  • the consensus node 109 may provide consensus services in the block chain.
  • the consensus node 109 may cache the data chaining request received from the management server, and selects a data chaining request according to a preset consensus algorithm to send to the corresponding participant node, to perform a data chaining operation.
  • the data processing method according to some embodiments of the present disclosure is generally executed by the management server 104 . Accordingly, the data processing apparatus based on a block chain is generally provided in the management server 104 .
  • participant terminals the management server, the distributed storage cluster, the participant nodes, the consensus node, and the network in FIG. 1 are merely illustrative. Any number of participant terminals, management servers, distributed storage clusters, participant nodes, consensus nodes, and networks may be provided based on actual requirements.
  • FIG. 2 a sequence 200 of a service flow system according to an embodiment of the present disclosure is shown.
  • the service flow system in some embodiments of the present disclosure may include a management server, a distributed storage cluster and a block chain alliance network connected by a network, where the block chain alliance network may include a consensus node and at least one participant node.
  • the sequence 200 of a service flow system may include the following steps.
  • Step 201 a participant node sends, in response to receiving a first chaining request, the first chaining request and participant authentication information of the participant node as a second data chaining request to a management server.
  • the participant node in response to receiving the first chaining request including to-be-chained data, a participated project identity and a participation phase identity, the participant node may send the received first chaining request and the participant authentication information of the participant node as the second data chaining request to the management server.
  • the to-be-chained data may be various data related to various service flows to which the service flow system is applied.
  • the to-be-chained data may be project information of an asset securitization project, asset information (e.g., real estate information or vehicle information, etc.) of an asset holder, a lawyer's letter of a law firm, an audit result of an audit institution, a notarization result of a notary authority, or a trading record of an asset trading institution, etc.
  • the participation project identity in the first chaining request may be an project identity of an project in which the participant corresponding to the participant node participates.
  • the participation phase identity in the first chaining request may be a phase identity of a phase of the project in which the participant corresponding to the participant node participates.
  • a participant may participate in at least one of a plurality of phases of a certain project.
  • a user may customize projects of a service flow, where each project may include at least one phase, and in each phase at least one participant participating in the phase may be customized.
  • the first chaining request may be the one input by the user, received by a participant terminal and sent to the participant node.
  • the first chaining request may also be the one input by the user and directly received by the participant node.
  • Step 202 in response to a success in verification of the second chaining request received from the participant node, the management server stores the to-be-chained data into a distributed storage cluster.
  • the management server in response to receiving the second chaining request sent by the participant node, may verify the received second chaining request. If the verification succeeds, the management server stores the to-be-chained data in the received second chaining request into the distributed storage cluster.
  • the management server may determine that the second chaining request received from the participant node succeeds in verification.
  • the management server may further query in the distributed storage cluster to determine whether the participant node identity corresponding to the participant authentication information in the received second chaining request is in the participant node identities of respective participant information of a phase indicated by a participation phase identity of an project indicated by the received participated project identity; if yes, the management server may determine that the second chaining request received from the participant node succeeds in verification.
  • the management server may determine that the received second chaining request succeeds in verification.
  • the participant authentication information of the participant node may be identity information for characterizing the participant node and corresponding authentication information in various forms.
  • the participant authentication information of the participant node may include a participant identity and a participant password.
  • the participant authentication information of the participant may further include a digital credit certificate of the participant issued by the management server.
  • the management server may acquire the authenticated participant authentication information of each participant locally or from the distributed storage cluster, and verify the authentication information of the participant node based on the acquired authenticated participant authentication information.
  • Step 203 the management server queries, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by the participated project identity in the received second data chaining request.
  • project information of each project may be pre-stored in the distributed storage cluster, the project information may include an project identity and phase information, the phase information being of the number of project phases included in the project, the phase information may include a phase identity and participant information, the participant information being of the number of participants of the project phase, and the participant information may include a participant node identity.
  • the management server may query, in the distributed storage cluster, the participant information of the phase indicated by the participation phase identity of the project indicated by the participated project identity in the received second data chaining request.
  • Step 204 the management server determines participant node identities in the queried participant information as a target participant node identity set.
  • the management server may determine the participant node identities in the participant information queried in step 203 as a target participant node identity set.
  • Step 205 the management server sends to a consensus node the digest information of the to-be-chained data, the participant node identity of the participant node that sends the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request.
  • the management server may first generate the digest information of the to-be-chained data in the second chaining request received from the participant node in step 202 by using various digest generation methods.
  • the digest generation methods may include, but are not limited to, a message-digest algorithm (MD5), a SHA256 algorithm, etc.
  • MD5 message-digest algorithm
  • SHA256 SHA256 algorithm
  • the management server may send to the consensus node the generated digest information, the participant node identity of the participant node that sends the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set determined in step 204 as a third chaining request.
  • Step 206 the management server records a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node.
  • the management server records the corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node, so that the management server can achieve associated interaction of data on chain and off chain.
  • the original data of the to-be-chained data is stored in the off-chain distributed storage cluster in order to save the on-chain storage space.
  • the digest information of the to-be-chained data greatly reduces the demand for the storage space compared to the original data, so that the on-chain storage space can be saved by storing the digest information of the to-be-chained data to each participant node on chain.
  • a participant desires to access the original data of the to-be-chained data corresponding to the chained digest information.
  • associated interaction of data on chain and off chain may be achieved based on the corresponding relationship recorded by the management server.
  • Step 207 in response to receiving the third chaining request sent by the management server, the consensus node stores the received third chaining request to a local chaining request buffer pool.
  • Step 208 the consensus node selects, according to a preset consensus algorithm, a to-be-chained request from the local chaining request buffer pool.
  • the preset consensus algorithm is used to sort to-be-chained requests in the chaining request buffer pool stored locally by the consensus node and select to-be-chained requests meet a condition.
  • the to-be-chained requests may be sorted according to the time of being stored to the chaining request buffer pool, and a first preset number of to-be-chained requests stored earliest may be selected.
  • the to-be-chained requests may be sorted according to the occupation of the storage space in the chaining request buffer pool, and then a plurality of to-be-chained requests requiring a total storage space within a preset storage space range are selected.
  • Step 209 the consensus node sends, for the selected to-be-chained request, data except the target participant identity set in the selected to-be-chained request as a fourth chaining request to participant nodes indicated by respective participant node identities in the target participant identity set in the selected to-be-chained request.
  • the consensus node may first acquire, for each selected to-be-chained request, data except the target participant identity set in the to-be-chained request as a fourth chaining request, and then send the fourth chaining request to the participant nodes indicated by the respective participant node identities in the target participant identity set in the to-be-chained request.
  • Step 210 in response to receiving the fourth chaining request sent by the consensus node, the participant nodes connect the received fourth chaining request to a local block chain.
  • the participant node in response to receiving the fourth chaining request sent by the consensus node, the participant node may generate a block for the received fourth chaining request, and connects the generated block to the local block chain.
  • a Merkle tree of the received fourth chaining request may be first generated as block body data for the received fourth chaining request by using Merkle tree technology, then block header data is generated using a hash value of last block, a random number generated randomly, the received fourth chaining request and roots of the generated Merkle tree, and finally the block header data and the block body data are combined to obtain a block.
  • the block header may further include a time stamp value of the time when the block is generated.
  • the participant nodes indicated by target participant identities in the target participant identity set determined in step 209 receives the fourth chaining request and connects the received fourth chaining request to the local block chain
  • the participant nodes indicated by target participant identities in the target participant identity set store the same fourth chaining request block content.
  • the participant nodes of respective participants participating in the same phase of the same project save all chained data related to the same phase of the same project.
  • the above sequence 200 may further include step 211 to step 214 below.
  • Step 211 in response to receiving a new project creating request including to-be-created project information, the management server stores the to-be-created project information to the distributed storage cluster.
  • the management server may store, when receiving the new project creating request including to-be-created project information, the to-be-created project information into the distributed storage cluster.
  • the to-be-created project information may include an project identity of the to-be-created project and phase information, the phase information being of the number of project phases included in the project, the phase information may include a phase identity and participant information, the participant information being of the number of participants participating in an project phase, and the participant information may include a participant node identity.
  • the project identity is used to uniquely indicate an project, for example, the project identity may be in the form of increasing serial number, or in the form of a name of the project.
  • the phase identity is used to uniquely indicate a phase in the project, for example, the phase identity may be in the form of increasing serial number, or in the form of a name of the phase.
  • the participant information may include a participant name, a participant type, etc.
  • Step 212 the management server determines participant node identities in participant information included in respective phase information of the to-be-created project information as a target participant node identity set.
  • Step 213 the management server sends to the consensus node digest information of the to-be-created project information and the target participant node identity set as a third chaining request.
  • the consensus node can perform steps 207 - 209 , and the participant nodes can perform step 210 , to chain the digest information of the to-be-created project information into the participation nodes of participants participating in respective phases of the project indicated by the to-be-created project information.
  • Step 214 the management server records a corresponding relationship between the to-be-created project information stored in the distributed storage cluster and the third chaining request sent to the consensus node.
  • off-chain data is stored in a distributed storage cluster, then participants of each phase are defined for different projects, and the participants of the same phase of the same project share the same on-chain and off-chain data. Therefore, credible access of the participants to block chain data is solved, dynamic customizable phase management of the projects in a service flow is supported, the on-chain data and participants of each phase are strictly divided and managed, and associated management of on-chain and off-chain service flow data is also supported.
  • FIG. 3 shows a sequence 300 of another embodiment of the service flow system.
  • the service flow system in some embodiments of the present disclosure may include a management server, a distributed storage cluster and a block chain alliance network connected by a network, where the block chain alliance network may include a consensus node and at least one participant node.
  • the sequence 300 of the service flow system may include the following steps.
  • Step 301 a participant node sends, in response to receiving a first chaining request, the first chaining request and participant authentication information of the participant node as a second chaining request to a management server.
  • Step 302 in response to a success in verification of the second chaining request received from the participant node, the management server stores the to-be-chained data into a distributed storage cluster.
  • Step 303 the management server queries, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by the participated project identity in the received second data chaining request.
  • Step 304 the management server determines participant node identities in the queried participant information as a target participant node identity set.
  • Step 305 the management server sends to a consensus node the digest information of the to-be-chained data, the participant node identity of the participant node that sends the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request.
  • Step 306 the management server records a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node.
  • Step 307 in response to receiving the third chaining request sent by the management server, the consensus node stores the received third chaining request to a local chaining request buffer pool.
  • Step 308 the consensus node selects, according to a preset consensus algorithm, a to-be-chained request from the local chaining request buffer pool.
  • Step 309 the consensus node sends, for the selected to-be-chained request, data except the target participant identity set in the selected to-be-chained request as a fourth chaining request to participant nodes indicated by respective participant node identities in the target participant identity set in the selected to-be-chained request.
  • Step 310 in response to receiving the fourth chaining request sent by the consensus node, the participant nodes connect the received fourth chaining request to a local block chain.
  • steps 301 - 310 are substantially the same as the operations of steps 201 - 210 in the embodiment shown in FIG. 2 , and details are not described herein again.
  • Step 311 in response to a success in verification of an on-chain access request including a to-be-accessed on-chain data identity received from a terminal, the participant node queries in the local block chain the data corresponding to the to-be-accessed on-chain data identity, and sends the found data to the terminal.
  • the participant node when receiving the on-chain access request including a to-be-accessed on-chain data identity received from the terminal, the participant node may query in the local block chain the data corresponding to the to-be-accessed on-chain data identity, and sends the found data to the terminal. Since the participant node is a node in the alliance chain, the participant node is only opened to the terminal of the participant corresponding to the participant node.
  • the on-chain access request received by the participant node from the terminal is sent by a participant corresponding to the participant node using the terminal, and the on-chain data stored in the local block chain node of the participant node is data of participated phases in each project in which the participant corresponding to the participant node participates, so the participant node can directly query in the local block chain the data corresponding to the to-be-accessed on-chain data identity, and send the found data to the terminal.
  • the participant can be connected to the participant node through the terminal to implement on-chain data access.
  • Step 312 in response to receiving an off-chain access request sent by the terminal, the management server query in the distributed storage cluster to determine whether the participant node identity corresponding to the received request participant authentication information is in the participant node identities of respective participant information of a phase indicated by a to-be-accessed phase identity of an project indicated by the received to-be-accessed project identity.
  • the management server when receiving the off-chain access request including a to-be-accessed off-chain data identity, a to-be-accessed project identity, a to-be-accessed phase identity and request access participant authentication information, the management server may first query in the distributed storage cluster a participant node identity in participant information of a phase indicated by the to-be-accessed phase identity of the project indicated by the received to-be-accessed project identity. Then, the management server determines whether the participant node identity corresponding to the received request participant authentication information is in the determined participant node identities. If yes, the procedure proceeds to step 313 .
  • the participant node identity corresponding to the received request participant authentication information is in the determined participant node identities, it indicates that the participant corresponding to the request access participant authentication information participates in the phase indicated by the to-be-accessed phase identity of the project indicated by the to-be-accessed project identity, the participant corresponding to the request access participant authentication information has the right to access the data indicated by the to-be-accessed off-chain data identity.
  • Step 313 the management server queries in the distributed storage cluster the data corresponding to the to-be-accessed off-chain data identity, and sends the found data to the terminal.
  • the management server may query in the distributed storage cluster the data corresponding to the to-be-accessed off-chain data identity, and sends the found data to the terminal.
  • the sequence 300 may also include steps 211 to 214 shown in FIG. 2 (not shown).
  • the sequence 300 of the service flow system in the present embodiment adds the steps of accessing off-chain data and accessing on-chain data. Therefore, the solution described in the present embodiment can implement the operations of accessing the off-chain original data and the on-chain digest information of the service flow system.
  • the service flow system may include a management server, a distributed storage cluster and a block chain alliance network connected by a network, where the block chain alliance network may include a consensus node and at least one participant node.
  • the flow 400 of the service data processing method includes the following steps.
  • Step 401 in response to a success in verification of a second chaining request received from a participant node, storing to-be-chained data to the distributed storage cluster.
  • step 401 is substantially the same as the operation of step 202 in the embodiment shown in FIG. 2 , and details are not described herein again.
  • Step 402 querying, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by the participated project identity in the received second data chaining request.
  • step 402 is substantially the same as the operation of step 203 in the embodiment shown in FIG. 2 , and details are not described herein again.
  • Step 403 determining participant node identities in the queried participant information as a target participant node identity set.
  • step 403 is substantially the same as the operation of step 204 in the embodiment shown in FIG. 2 , and details are not described herein again.
  • Step 404 sending to the consensus node the digest information of the to-be-chained data, the participant node identity of the participant node that sends the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request.
  • step 404 is substantially the same as the operation of step 205 in the embodiment shown in FIG. 2 , and details are not described herein again.
  • Step 405 recording a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node.
  • step 405 is substantially the same as the operation of step 206 in the embodiment shown in FIG. 2 , and details are not described herein again.
  • the service data processing method provided by some embodiments of the present disclosure, through unified management of a management server, off-chain data is stored in a distributed storage cluster, then participants of each phase are defined for different projects, and the participants of the same phase of the same project share the same on-chain and off-chain data. Therefore, credible access of the participants to block chain data is solved, dynamic customizable phase management of the projects in a service flow is supported, the on-chain data and participants of each phase are strictly divided and managed, and associated management of on-chain and off-chain service flow data is also supported.
  • some embodiments of the present disclosure provide a service data processing apparatus, applied to a management server in a service flow system, where the service flow system includes a management server, a distributed storage cluster and a block chain alliance network connected by a network, and the block chain alliance network includes a consensus node and at least one participant node.
  • the embodiment of the apparatus corresponds to the embodiment of the method shown in FIG. 4 , and the apparatus may be applied to various electronic devices.
  • the service data processing apparatus 500 of the present embodiment includes a first storage unit 501 , a query unit 502 , a first target participant determining unit 503 , a first sending unit 504 , and a first recording unit 505 .
  • the first storage unit 501 is configured to store, in response to success in verification of a second chaining request received from a participant node, to-be-chained data into the distributed storage cluster;
  • the query unit 502 is configured to query, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by a participated project identity in the received second data chaining request;
  • the first target participant determining unit 503 is configured to determine participant node identities in the queried participant information as a target participant node identity set;
  • the first sending unit 504 is configured to send to the consensus node the digest information of the to-be-chained data, the participant node identity of the participant node sending the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request;
  • the first recording unit 505 is configured to record a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request
  • the specific processing of the first storage unit 501 , the query unit 502 , the first target participant determining unit 503 , the first sending unit 504 , and the first recording unit 505 of the service data processing apparatus 500 and the technical effects thereof may be referred to the related description in step 201 , step 202 , step 203 , step 204 , and step 205 in the corresponding embodiment of FIG. 2 , respectively. The description will not be repeated here.
  • the response to a success in verification of a second chaining request received from a participant node may include: in response to success in verification of participant authentication information in the second chaining request received from the participant node, query in the distributed storage cluster to determine whether participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity; and in response to determining that the participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity, determining that the second chaining request received from the participant node succeeds in verification.
  • the apparatus 500 may further include: a second storage unit 506 configured to store, in response to receiving a new project creating request including to-be-created project information, the to-be-created project information to the distributed storage cluster, the to-be-created project information including an project identity of a to-be-created project and phase information, the phase information being of the number of project phases included in the project, the phase information including a phase identity and participant information, the participant information being of the number of participants participating in an project phase, and the participant information including a participant node identity; a second target participant determining unit 507 configured to determine participant node identities in participant information included in respective phase information of the to-be-created project information as a target participant node identity set; a second sending unit 508 configured to send to the consensus node digest information of the to-be-created project information and the target participant node identity set as a third chaining request; and a second recording unit 509 configured to record a corresponding relationship between the to-be-created
  • the apparatus 500 may further include: a request participant determining unit 510 configured to: in response to receiving an off-chain access request sent by the terminal and comprising a to-be-accessed off-chain data identity, a to-be-accessed project identity, a to-be-accessed phase identity and request access participant authentication information, query in the distributed storage cluster to determine whether participant node identity corresponding to received request participant authentication information is in the participant node identities of respective participant information of a phase indicated by a to-be-accessed phase identity of an project indicated by the received to-be-accessed project identity; and a third sending unit 511 configured to: in response to determining that the participant node identity corresponding to the received request participant authentication information is in the participant node identities of the respective participant information of the phase indicated by the to-be-accessed phase identity of the project indicated by the received to-be-accessed project identity, querying, in the distributed storage cluster, data corresponding to the to-be-accessed off-chain data identity, and send the found data to the terminal.
  • a request participant determining unit 510 configured
  • FIG. 6 a schematic structural diagram of a computer system 600 of a server adapted to implement the embodiments of the present disclosure is shown.
  • the server shown in FIG. 6 is merely an example, and should not limit the function and scope of use of the embodiments of the present disclosure.
  • the computer system 600 includes a Central Processing Unit (CPU) 601 , which can execute various appropriate operations and processes based on programs stored in a Read Only Memory (ROM) 602 or programs loaded from a storage portion 608 to a Random Access Memory (RAM) 603 .
  • the RAM 603 also stores various programs and data required by operations of the system 600 .
  • the CPU 601 , the ROM 602 , and the RAM 603 are connected to each other through a bus 604 .
  • An Input/Output (I/O) interface 605 is also connected to the bus 604 .
  • the following components are connected to the I/O interface 605 : an input portion 606 including a keyboard, a mouse, or the like; an output portion 607 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), a speaker, or the like; a storage portion 608 including a hard disk or the like; and a communication portion 609 including a network interface card, such as a Local Area Network (LAN) card and a modem.
  • the communication portion 609 performs communication processes via a network, such as the Internet.
  • a driver 610 is also connected to the I/O interface 605 as required.
  • a removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, and a semiconductor memory, may be installed on the driver 610 as required, so that a computer program read therefrom is installed on the storage portion 608 as required.
  • an embodiment of the present disclosure includes a computer program product including a computer program loaded to a computer-readable medium, the computer program including a program code for executing the method shown in the flowchart.
  • the computer program may be downloaded and installed from a network via the communication portion 609 , and/or installed from the removable medium 611 .
  • the computer-readable medium of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or a combination of the two.
  • An example of the computer-readable storage medium may be, but is not limited to: electric, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, elements, or any combination of the above.
  • a more specific example of the computer-readable storage medium may include but is not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read only memory (ROM), an erasable programmable read only memory (EPROM or flash memory), a fiber, a portable compact disk read only memory (CD-ROM), an optical memory, a magnet memory, or any suitable combination of the above.
  • the computer-readable storage medium may be any tangible medium containing or storing programs which may be used by an instruction execution system, apparatus or device or incorporated thereto.
  • the computer-readable signal medium may include data signals in a baseband or propagated as parts of carriers, in which computer-readable program codes are carried. The data signals propagated may be in multiple forms, including but not limited to electromagnetic signals, optical signals or any appropriate combination of them.
  • the computer-readable signal medium may also be any computer-readable medium beyond the computer-readable storage medium.
  • the computer-readable medium is capable of sending, propagating or transmitting a program used by an instruction execution system, apparatus or device or a combination of them.
  • the program codes included in the computer-readable medium may be transmitted by any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any appropriate combination of them.
  • a computer program code for executing operations in the present disclosure may be compiled using one or more programming languages or combinations thereof.
  • the programming languages include object-oriented programming languages, such as Java, Smalltalk or C++, and also include conventional procedural programming languages, such as “C” language or similar programming languages.
  • the program codes may be completely executed on a user's computer, partially executed on a user's computer, executed as a separate software package, partially executed on a user's computer and partially executed on a remote computer, or completely executed on a remote computer or a server.
  • the remote computer may be connected to a user's computer through any network, including a local area network (LAN) or a wide area network (WAN), or connected to an external computer (for example, connected through Internet using an Internet service provider).
  • LAN local area network
  • WAN wide area network
  • an external computer for example, connected through Internet using an Internet service provider
  • each box in the flowcharts or block diagrams may represent a module, a program segment, or a part of a code, which includes one or more executable instructions for implementing the specified logical functions.
  • the functions marked in the boxes may also be implemented in an order different from that marked in the drawing. For example, two consecutive boxes substantially may be executed in parallel, or sometimes executed in a reverse order, depending on the involved functions.
  • each box in the block diagrams and/or flowcharts, and a combination of boxes in the block diagrams and/or flowcharts may be implemented by a dedicated hardware-based system for executing specified functions or operations, or implemented by a combination of dedicated hardware and computer instructions.
  • the units involved in some embodiments of the present disclosure may be implemented by means of software or hardware.
  • the described units may also be provided in a processor, for example, described as: a processor, including a first storage unit, a query unit, a first target participant determining unit, a first sending unit, and a first recording unit.
  • a processor including a first storage unit, a query unit, a first target participant determining unit, a first sending unit, and a first recording unit.
  • the names of these units do not in some cases constitute a limitation to such units themselves.
  • the first storage unit may also be described as “a unit configured to store the to-be-chained data into the distributed storage cluster”.
  • the present disclosure further provides a computer-readable medium.
  • the computer-readable storage medium may be included in the apparatus in the above described embodiments, or a stand-alone computer-readable medium not assembled into the apparatus.
  • the computer-readable medium stores one or more programs.
  • the one or more programs when executed by the apparatus, cause the apparatus to: store, in response to a success in verification of a second chaining request received from a participant node, to-be-chained data into the distributed storage cluster; query, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by a participated project identity in the received second data chaining request; determine participant node identities in the queried participant information as a target participant node identity set; send to the consensus node the digest information of the to-be-chained data, the participant node identity of the participant node sending the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request;

Abstract

Embodiments of the present disclosure relate to a service flow system and a service data processing method and apparatus. The system can include a management server, a distributed storage cluster and a block chain alliance network connected by a network, the block chain alliance network including a consensus node and at least one participant node. Through unified management of a management server, off-chain data is stored in a distributed storage cluster, then participants of each phase are defined for different projects, and the participants of the same phase of the same project share the same on-chain and off-chain data. Therefore, credible access of the participants to block chain data is solved, dynamic customizable phase management of the projects in a service flow is supported, the on-chain data and participants of each phase are strictly divided and managed, and associated management of on-chain and off-chain service flow data is also supported.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority to Chinese Patent Application No. 201910168530.X, filed with the China National Intellectual Property Administration (CNIPA) on Mar. 6, 2019, the contents of which are incorporated herein by reference in its entirety.
TECHNICAL FIELD
Embodiments of the present disclosure relate to the field of computer technology, and specifically to a service flow system and a service data processing method and apparatus.
BACKGROUND
Block chain technology sequentially connects data blocks in the global consensus order to form a chain data structure, and cryptographically guarantees that the data chain is non-tampering and unforgeable, thereby achieving a globally consistent distributed ledger.
The block chain can implement credible records of relevant data in the existing service flow by participants (e.g., asset holders, law firms, asset auditors, asset trading institutions) involved in the service flow (e.g., asset securitization service flow). In multiple phases of the service flow, the use of block chain technology can ensure the authenticity of service data.
SUMMARY
Embodiments of the application provide a service flow system, a service data processing method and an apparatus.
According to a first aspect, some embodiments of the present disclosure provide a service flow system, the system includes a management server, a distributed storage cluster and a block chain alliance network connected by a network, the block chain alliance network including a consensus node and at least one participant node, where: a participant node is configured to, in response to receiving a first chaining request comprising to-be-chained data, a participated project identity and a participation phase identity, send the first chaining request and participant authentication information of the participant node as a second data chaining request to the management server project; the management server is configured to, in response to a success in verification of the second data chaining request received from the participant node, store the to-be-chained data into the distributed storage cluster; query, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by the participated project identity in the received second data chaining request; determine participant node identities in the queried participant information as a target participant node identity set; send to the consensus node the digest information of the to-be-chained data, the participant node identity of the participant node sending the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request; and record a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node; the consensus node is configured to, in response to receiving the third chaining request sent by the management server, store the received third chaining request to a local chaining request buffer pool; select, according to a preset consensus algorithm, a to-be-chained request from the local chaining request buffer pool; and send, for the selected to-be-chained request, data except the target participant identity set in the selected to-be-chained request as a fourth chaining request to participant nodes indicated by respective participant node identities in the target participant identity set in the selected to-be-chained request; the participant nodes are configured to connect, in response to receiving the fourth chaining request sent by the consensus node, the received fourth chaining request to a local block chain.
In some embodiments, the management server is configured to: in response to a success in verification of participant authentication information in the second data chaining request received from the participant node, query in the distributed storage cluster to determine whether participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity; and determine, in response to determining that the participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity, that the second data chaining request received from the participant node succeeds in verification.
In some embodiments, the management server is configured to, in response to receiving a new project creating request comprising to-be-created project information, store the to-be-created project information to the distributed storage cluster, the to-be-created project information comprising an project identity of a to-be-created project and phase information, the phase information being of a number of project phases comprised in the project, the phase information comprising a phase identity and participant information, the participant information being of a number of participants participating in an project phase, and the participant information comprising a participant node identity; determine participant node identities in participant information comprised in respective phase information of the to-be-created project information as a target participant node identity set; send to the consensus node digest information of the to-be-created project information and the target participant node identity set as a third chaining request; and record a corresponding relationship between the to-be-created project information stored in the distributed storage cluster and the third chaining request sent to the consensus node.
In some embodiments, the participant node is configured to query in the local block chain, in response to a success in verification of an on-chain access request including a to-be-accessed on-chain data identity received from a terminal, data corresponding to the to-be-accessed on-chain data identity, and send found data to the terminal.
In some embodiments, the management server is configured to: in response to receiving an off-chain access request sent by a terminal and comprising a to-be-accessed off-chain data identity, a to-be-accessed project identity, a to-be-accessed phase identity and request access participant authentication information, query in the distributed storage cluster to determine whether participant node identity corresponding to received request participant authentication information is in participant node identities of respective participant information of a phase indicated by a to-be-accessed phase identity of an project indicated by the received to-be-accessed project identity; and in response to determining that the participant node identity corresponding to the received request participant authentication information is in the participant node identities of the respective participant information of the phase indicated by the to-be-accessed phase identity of the project indicated by the received to-be-accessed project identity, query, in the distributed storage cluster, data corresponding to the to-be-accessed off-chain data identity, and send found data to the terminal.
According to a second aspect, some embodiments of the present disclosure provides a service data processing method, applied to a management server in a service flow system, where the service flow system includes the management server, a distributed storage cluster and a block chain alliance network connected by a network, the block chain alliance network comprises a consensus node and at least one participant node, and the method includes: storing, in response to a success in verification of a second data chaining request received from a participant node, to-be-chained data into the distributed storage cluster; querying, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by a participated project identity in the received second data chaining request; determining participant node identities in the queried participant information as a target participant node identity set; sending to the consensus node the digest information of the to-be-chained data, the participant node identity of the participant node sending the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request; and recording a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node.
In some embodiments, in response to a success in verification of participant authentication information in the second data chaining request received from the participant node, query in the distributed storage cluster to determine whether participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity; and in response to determining that the participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity, determining that the second data chaining request received from the participant node succeeds in verification.
In some embodiments, the method further includes: in response to receiving a new project creating request comprising to-be-created project information, store the to-be-created project information to the distributed storage cluster, the to-be-created project information comprising an project identity of a to-be-created project and phase information, the phase information being of a number of project phases comprised in the project, the phase information comprising a phase identity and participant information, the participant information being of a number of participants participating in an project phase, and the participant information comprising a participant node identity; determining participant node identities in participant information comprised in respective phase information of the to-be-created project information as a target participant node identity set; sending to the consensus node digest information of the to-be-created project information and the target participant node identity set as a third chaining request; and recording a corresponding relationship between the to-be-created project information stored in the distributed storage cluster and the third chaining request sent to the consensus node.
In some embodiments, in response to receiving an off-chain access request sent by a terminal and comprising a to-be-accessed off-chain data identity, a to-be-accessed project identity, a to-be-accessed phase identity and request access participant authentication information, query in the distributed storage cluster to determine whether participant node identity corresponding to received request participant authentication information is in the participant node identities of respective participant information of a phase indicated by a to-be-accessed phase identity of an project indicated by the received to-be-accessed project identity; and in response to determining that the participant node identity corresponding to the received request participant authentication information is in the participant node identities of the respective participant information of the phase indicated by the to-be-accessed phase identity of the project indicated by the received to-be-accessed project identity, querying, in the distributed storage cluster, data corresponding to the to-be-accessed off-chain data identity, and sending found data to the terminal. According to a third aspect, some embodiments of the present disclosure provides a service data processing apparatus, applied to a management server in a service flow system, where the service flow system includes the management server, a distributed storage cluster and a block chain alliance network connected by a network, the block chain alliance network comprises a consensus node and at least one participant node, and the apparatus includes: a first storage unit, configured to store, in response to a success in verification of a second data chaining request received from a participant node, to-be-chained data into the distributed storage cluster; a query unit, configured to query, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by a participated project identity in the received second data chaining request; a first target participant determining unit, configured to determine participant node identities in the queried participant information as a target participant node identity set; a first sending unit, configured to send to the consensus node the digest information of the to-be-chained data, the participant node identity of the participant node sending the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request; and a first recording unit, configured to record a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node.
In some embodiments, in response to a success in verification of participant authentication information in the second data chaining request received from the participant node, query in the distributed storage cluster to determine whether participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity; and in response to determining that the participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity, determining that the second data chaining request received from the participant node succeeds in verification.
In some embodiments, the apparatus further includes: a second storage unit, configured to store, in response to receiving a new project creating request comprising to-be-created project information, the to-be-created project information to the distributed storage cluster, the to-be-created project information comprising an project identity of a to-be-created project and phase information, the phase information being of a number of project phases comprised in the project, the phase information comprising a phase identity and participant information, the participant information being of a number of participants participating in an project phase, and the participant information comprising a participant node identity; a second target participant determining unit, configured to determine participant node identities in participant information comprised in respective phase information of the to-be-created project information as a target participant node identity set; a second sending unit, configured to send to the consensus node digest information of the to-be-created project information and the target participant node identity set as a third chaining request; and a second recording unit, configured to record a corresponding relationship between the to-be-created project information stored in the distributed storage cluster and the third chaining request sent to the consensus node.
In some embodiments, the apparatus further includes: a request participant determining unit, configured to: in response to receiving an off-chain access request sent by a terminal and comprising a to-be-accessed off-chain data identity, a to-be-accessed project identity, a to-be-accessed phase identity and request access participant authentication information, query in the distributed storage cluster to determine whether participant node identity corresponding to received request participant authentication information is in the participant node identities of respective participant information of a phase indicated by a to-be-accessed phase identity of an project indicated by the received to-be-accessed project identity; and a third sending unit configured to: in response to determining that the participant node identity corresponding to the received request participant authentication information is in the participant node identities of the respective participant information of the phase indicated by the to-be-accessed phase identity of the project indicated by the received to-be-accessed project identity, querying, in the distributed storage cluster, data corresponding to the to-be-accessed off-chain data identity, and send found data to the terminal.
According to a fourth aspect, some embodiments of the present disclosure provides a server, includes: one or more processors; and a storage apparatus, storing one or more programs, the one or more programs, when executed by the one or more processors, causing the one or more processors to implement the method according to any one of the implementations of the second aspect.
According to a fifth aspect, some embodiments provide a computer-readable storage medium, storing a computer program thereon, wherein the computer program, when executed by one or more processors, causes the processors to implement the method according to any one of the implementations of the second aspect.
Currently, in the service flow data managements, the block chain usually chains all the service data provided by the various participants of the various phases in the service flow, such that various participants of the various phases in the service flow shares identical data, and distinguishing is not performed at the specific projects or participants of the various phases of a project, which leads to a weak mobility and expansibility of technical solutions. Moreover, associated storage of on-chain and off-chain service flow data is not achieved.
The service flow system, service flow data processing method and apparatus provided by some embodiments of the present disclosure, through unified management of a management server, off-chain data is stored in a distributed storage cluster, then participants of each phase are defined for different projects, and the participants of the same phase of the same project share the same on-chain and off-chain data. Therefore, credible access of the participants to block chain data is solved, dynamic customizable phase management of the projects in a service flow is supported, the on-chain data and participants of each phase are strictly divided and managed, and associated management of on-chain and off-chain service flow data is also supported.
BRIEF DESCRIPTION OF THE DRAWINGS
After reading detailed descriptions of non-limiting embodiments with reference to the following accompanying drawings, other features, objectives and advantages of the present disclosure will become more apparent.
FIG. 1 is an architectural diagram of an example system to which some embodiments of the present disclosure can be applied;
FIG. 2 is a sequence diagram of a service flow system according to an embodiment of the present disclosure;
FIG. 3 is a sequence diagram of the service flow system according to another embodiment of the present disclosure;
FIG. 4 is a flowchart of a data processing method according to an embodiment of the present disclosure;
FIG. 5 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present disclosure; and
FIG. 6 is a schematic structural diagram of a computer system of a server adapted to implement some embodiments of the present disclosure.
DETAILED DESCRIPTION OF EMBODIMENTS
It should be appreciated that the specific embodiments described herein are merely used for explaining the relevant disclosure, rather than limiting the disclosure. It should be appreciated that the specific embodiments described herein are merely used for explaining the relevant disclosure, rather than limiting the disclosure. In addition, it should be noted that, for the ease of description, only the parts related to the relevant disclosure are shown in the accompanying drawings.
It should also be noted that some embodiments in the present disclosure and some features in the disclosure may be combined with each other on a non-conflict basis. Features of the present disclosure will be described below in detail with reference to the accompanying drawings and in combination with embodiments.
FIG. 1 shows an example system architecture 100 in which a service flow system may be implemented.
As shown in FIG. 1 , the system architecture 100 may include participant terminals 101, 102 and 103, a management server 104, a distributed storage cluster 105, a participant node 106 corresponding to the participant terminal 101, a participant node 107 corresponding to the participant terminal 102, a participant node 108 corresponding to the participant terminal 103, a consensus node 109, and a network 110. The network 110 serves as a medium providing a communication link among the participant terminals 101, 102 and 103, the management server 104, the distributed storage cluster 105, the participant nodes 106, 107 and 108, and the consensus node 109. The network 110 may include various types of connections, such as wired or wireless communication links, or optical fiber cables. The participant nodes 106, 107 and 108 and the consensus node 109 constitute a block chain alliance network, also called an alliance chain.
A user can use the participant terminal 101, 102 or 103 to interact with the management server 104 over the network 110, to receive or send messages, etc. The participant terminals 101, 102 and 103 may be installed with various client applications, such as social network management applications, shopping website management applications, web browser applications, shopping applications, search applications, instant messaging tools, e-mail clients, and social platform software.
The user can also interact with the participant node 106 over the network 110 using the participant terminal 101, or interact with the participant node 107 over the network 110 using the participant terminal 102, or interact with the participant node 108 over the network 110 using the participant terminal 103.
The participant terminals 101, 102 and 103 may be hardware or software. When the participant terminals 101, 102 and 103 are hardware, the participant terminals may be various electronic devices, including but not limited to a smart phone, a tablet computer, a laptop computer, a desktop computer, etc. When the participant terminals 101, 102 and 103 are software, the participant terminals may be installed in the above-listed electronic devices. The participant terminals may be implemented as a plurality of software programs or software modules (e.g., for providing distributed services), or as a single software program or software module. Specific limitations are not provided here.
The management server 104 may be a server providing various services, such as providing a support for a data processing request sent by the participant terminal 101, 102 or 103. The management server may analyze the received data such as a data chaining request or a data access request, and feed the processing result (for example, the data chaining result or the accessed data) back to the participant terminal.
It should be noted that the management server 104 may be hardware or software. When the management server 104 is hardware, the management server 104 may be implemented as a distributed server cluster composed of multiple servers, or as a single server. When the management server 104 is software, the management server 104 may be implemented as a plurality of software programs or software modules (e.g., for providing a data management service), or as a single software program or software module. Specific limitations are not provided herein.
The distributed storage cluster 105 may be a server cluster providing services such as distributed data storage, deletion, modification or query, for example, a distributed database server cluster providing a support for a data manipulation request sent by the management server 104. The distributed storage cluster 105 may process, i.g. analyze, the received data such as the data manipulation request, and feed the processing result (for example, the data manipulation result) back to the management server 104.
It should be noted that the distributed storage cluster 105 may be hardware or software. When the distributed storage cluster 105 is hardware, the distributed storage cluster 105 may be implemented as a distributed server cluster composed of multiple servers, or as a single server. When the distributed storage cluster 105 is software, the distributed storage cluster 105 may be implemented as a plurality of software programs or software modules (e.g., for providing a distributed data service), or as a single software program or software module. Specific limitations are not provided herein.
The participant nodes 106, 107 and 108 may be electronic devices that provide data block generation and storage services in a block chain and provide a block chain data query service. For example, generating a block for the digest information of to-be-chained data sent from the consensus node 109 and a participant node identity of the corresponding participant node that sends the to-be-chained data, and the generated block is connected to a local block chain.
The participant node 106, 107 or 108 may be hardware or software. When the participant node 106, 107 or 108 is hardware, the participant node may be implemented as a distributed server cluster composed of multiple servers, or as a single server. When the participant node 106, 107 or 108 is software, the participant node may be implemented as a plurality of software programs or software modules (e.g., for providing a block chain service), or as a single software program or software module. Specific limitations are not provided here.
The consensus node 109 may provide consensus services in the block chain. For example, the consensus node 109 may cache the data chaining request received from the management server, and selects a data chaining request according to a preset consensus algorithm to send to the corresponding participant node, to perform a data chaining operation.
It should be noted that the data processing method according to some embodiments of the present disclosure is generally executed by the management server 104. Accordingly, the data processing apparatus based on a block chain is generally provided in the management server 104.
It should be understood that the numbers of the participant terminals, the management server, the distributed storage cluster, the participant nodes, the consensus node, and the network in FIG. 1 are merely illustrative. Any number of participant terminals, management servers, distributed storage clusters, participant nodes, consensus nodes, and networks may be provided based on actual requirements.
Further, referring to FIG. 2 , a sequence 200 of a service flow system according to an embodiment of the present disclosure is shown.
The service flow system in some embodiments of the present disclosure may include a management server, a distributed storage cluster and a block chain alliance network connected by a network, where the block chain alliance network may include a consensus node and at least one participant node.
As shown in FIG. 2 , the sequence 200 of a service flow system according to an embodiment of the present disclosure may include the following steps.
Step 201, a participant node sends, in response to receiving a first chaining request, the first chaining request and participant authentication information of the participant node as a second data chaining request to a management server.
In the present embodiment, in response to receiving the first chaining request including to-be-chained data, a participated project identity and a participation phase identity, the participant node may send the received first chaining request and the participant authentication information of the participant node as the second data chaining request to the management server.
The to-be-chained data may be various data related to various service flows to which the service flow system is applied. For example, when the service flow system is applied to an asset securitization flow system, the to-be-chained data may be project information of an asset securitization project, asset information (e.g., real estate information or vehicle information, etc.) of an asset holder, a lawyer's letter of a law firm, an audit result of an audit institution, a notarization result of a notary authority, or a trading record of an asset trading institution, etc.
The participation project identity in the first chaining request may be an project identity of an project in which the participant corresponding to the participant node participates. The participation phase identity in the first chaining request may be a phase identity of a phase of the project in which the participant corresponding to the participant node participates.
In the present embodiment, a participant may participate in at least one of a plurality of phases of a certain project. In other words, in the present embodiment, a user may customize projects of a service flow, where each project may include at least one phase, and in each phase at least one participant participating in the phase may be customized.
Herein, the first chaining request may be the one input by the user, received by a participant terminal and sent to the participant node. Of course, the first chaining request may also be the one input by the user and directly received by the participant node.
Step 202, in response to a success in verification of the second chaining request received from the participant node, the management server stores the to-be-chained data into a distributed storage cluster.
In the present embodiment, in response to receiving the second chaining request sent by the participant node, the management server may verify the received second chaining request. If the verification succeeds, the management server stores the to-be-chained data in the received second chaining request into the distributed storage cluster.
In some optional implementations of the present embodiment, when the participant authentication information in the received second chaining request succeeds in verification, the management server may determine that the second chaining request received from the participant node succeeds in verification.
In some optional implementations of the present embodiment, when the participant authentication information in the received second chaining request succeeds in verification, the management server may further query in the distributed storage cluster to determine whether the participant node identity corresponding to the participant authentication information in the received second chaining request is in the participant node identities of respective participant information of a phase indicated by a participation phase identity of an project indicated by the received participated project identity; if yes, the management server may determine that the second chaining request received from the participant node succeeds in verification. That is, if it is queried in the distributed storage cluster that the participant node identity corresponding to the participant authentication information in the received second chaining request is in the participant node identities of respective participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity, it indicates that the participant corresponding to the participant authentication information in the received second chaining request participates in the phase indicated by the participation phase identity of the project indicated by the participated project identity in the received second chaining request. That is to say, the participant sending the received second chaining request participates in the phase indicated by the participation phase identity of the project indicated by the participated project identity, the management server may determine that the received second chaining request succeeds in verification.
Here, the participant authentication information of the participant node may be identity information for characterizing the participant node and corresponding authentication information in various forms. For example, the participant authentication information of the participant node may include a participant identity and a participant password. For another example, the participant authentication information of the participant may further include a digital credit certificate of the participant issued by the management server. It should be noted that the management server may acquire the authenticated participant authentication information of each participant locally or from the distributed storage cluster, and verify the authentication information of the participant node based on the acquired authenticated participant authentication information.
Step 203, the management server queries, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by the participated project identity in the received second data chaining request.
In the present embodiment, project information of each project may be pre-stored in the distributed storage cluster, the project information may include an project identity and phase information, the phase information being of the number of project phases included in the project, the phase information may include a phase identity and participant information, the participant information being of the number of participants of the project phase, and the participant information may include a participant node identity. In this way, the management server may query, in the distributed storage cluster, the participant information of the phase indicated by the participation phase identity of the project indicated by the participated project identity in the received second data chaining request.
Step 204, the management server determines participant node identities in the queried participant information as a target participant node identity set.
In the present embodiment, the management server may determine the participant node identities in the participant information queried in step 203 as a target participant node identity set.
Step 205, the management server sends to a consensus node the digest information of the to-be-chained data, the participant node identity of the participant node that sends the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request.
In the present embodiment, the management server may first generate the digest information of the to-be-chained data in the second chaining request received from the participant node in step 202 by using various digest generation methods. For example, the digest generation methods may include, but are not limited to, a message-digest algorithm (MD5), a SHA256 algorithm, etc. Then, the management server may send to the consensus node the generated digest information, the participant node identity of the participant node that sends the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set determined in step 204 as a third chaining request.
Step 206, the management server records a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node.
In the present embodiment, the management server records the corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node, so that the management server can achieve associated interaction of data on chain and off chain.
Since the space of each participant node on chain is limited, the original data of the to-be-chained data is stored in the off-chain distributed storage cluster in order to save the on-chain storage space. The digest information of the to-be-chained data greatly reduces the demand for the storage space compared to the original data, so that the on-chain storage space can be saved by storing the digest information of the to-be-chained data to each participant node on chain. However, sometimes a participant desires to access the original data of the to-be-chained data corresponding to the chained digest information. In order to be able to access the original data correspondingly, associated interaction of data on chain and off chain may be achieved based on the corresponding relationship recorded by the management server.
Step 207, in response to receiving the third chaining request sent by the management server, the consensus node stores the received third chaining request to a local chaining request buffer pool.
Step 208, the consensus node selects, according to a preset consensus algorithm, a to-be-chained request from the local chaining request buffer pool.
In the present embodiment, the preset consensus algorithm is used to sort to-be-chained requests in the chaining request buffer pool stored locally by the consensus node and select to-be-chained requests meet a condition. For example, the to-be-chained requests may be sorted according to the time of being stored to the chaining request buffer pool, and a first preset number of to-be-chained requests stored earliest may be selected. For another example, the to-be-chained requests may be sorted according to the occupation of the storage space in the chaining request buffer pool, and then a plurality of to-be-chained requests requiring a total storage space within a preset storage space range are selected.
Step 209, the consensus node sends, for the selected to-be-chained request, data except the target participant identity set in the selected to-be-chained request as a fourth chaining request to participant nodes indicated by respective participant node identities in the target participant identity set in the selected to-be-chained request.
In the present embodiment, the consensus node may first acquire, for each selected to-be-chained request, data except the target participant identity set in the to-be-chained request as a fourth chaining request, and then send the fourth chaining request to the participant nodes indicated by the respective participant node identities in the target participant identity set in the to-be-chained request.
Step 210, in response to receiving the fourth chaining request sent by the consensus node, the participant nodes connect the received fourth chaining request to a local block chain.
In the present embodiment, in response to receiving the fourth chaining request sent by the consensus node, the participant node may generate a block for the received fourth chaining request, and connects the generated block to the local block chain.
How to generate a block is an existing technology widely studied and applied, and details are not described herein again. For example, a Merkle tree of the received fourth chaining request may be first generated as block body data for the received fourth chaining request by using Merkle tree technology, then block header data is generated using a hash value of last block, a random number generated randomly, the received fourth chaining request and roots of the generated Merkle tree, and finally the block header data and the block body data are combined to obtain a block. Of course, optionally, the block header may further include a time stamp value of the time when the block is generated.
It can be understood that, when the each participant node indicated by each of the target participant identities in the target participant identity set determined in step 209 receives the fourth chaining request and connects the received fourth chaining request to the local block chain, the participant nodes indicated by target participant identities in the target participant identity set store the same fourth chaining request block content. In other words, the participant nodes of respective participants participating in the same phase of the same project save all chained data related to the same phase of the same project.
In some optional implementation manners of the present embodiment, the above sequence 200 may further include step 211 to step 214 below.
Step 211, in response to receiving a new project creating request including to-be-created project information, the management server stores the to-be-created project information to the distributed storage cluster.
The management server may store, when receiving the new project creating request including to-be-created project information, the to-be-created project information into the distributed storage cluster. The to-be-created project information may include an project identity of the to-be-created project and phase information, the phase information being of the number of project phases included in the project, the phase information may include a phase identity and participant information, the participant information being of the number of participants participating in an project phase, and the participant information may include a participant node identity.
The project identity is used to uniquely indicate an project, for example, the project identity may be in the form of increasing serial number, or in the form of a name of the project. The phase identity is used to uniquely indicate a phase in the project, for example, the phase identity may be in the form of increasing serial number, or in the form of a name of the phase.
In practice, besides the participant node identity, the participant information may include a participant name, a participant type, etc.
Step 212, the management server determines participant node identities in participant information included in respective phase information of the to-be-created project information as a target participant node identity set.
Step 213, the management server sends to the consensus node digest information of the to-be-created project information and the target participant node identity set as a third chaining request.
In this way, the consensus node can perform steps 207-209, and the participant nodes can perform step 210, to chain the digest information of the to-be-created project information into the participation nodes of participants participating in respective phases of the project indicated by the to-be-created project information.
Step 214, the management server records a corresponding relationship between the to-be-created project information stored in the distributed storage cluster and the third chaining request sent to the consensus node.
The system provided by the above embodiments of the present disclosure, through unified management of a management server, off-chain data is stored in a distributed storage cluster, then participants of each phase are defined for different projects, and the participants of the same phase of the same project share the same on-chain and off-chain data. Therefore, credible access of the participants to block chain data is solved, dynamic customizable phase management of the projects in a service flow is supported, the on-chain data and participants of each phase are strictly divided and managed, and associated management of on-chain and off-chain service flow data is also supported.
Further, refer to FIG. 3 , which shows a sequence 300 of another embodiment of the service flow system.
The service flow system in some embodiments of the present disclosure may include a management server, a distributed storage cluster and a block chain alliance network connected by a network, where the block chain alliance network may include a consensus node and at least one participant node.
As shown in FIG. 3 , the sequence 300 of the service flow system according to another embodiment of the present disclosure may include the following steps.
Step 301, a participant node sends, in response to receiving a first chaining request, the first chaining request and participant authentication information of the participant node as a second chaining request to a management server.
Step 302, in response to a success in verification of the second chaining request received from the participant node, the management server stores the to-be-chained data into a distributed storage cluster.
Step 303, the management server queries, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by the participated project identity in the received second data chaining request.
Step 304, the management server determines participant node identities in the queried participant information as a target participant node identity set.
Step 305, the management server sends to a consensus node the digest information of the to-be-chained data, the participant node identity of the participant node that sends the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request.
Step 306, the management server records a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node.
Step 307, in response to receiving the third chaining request sent by the management server, the consensus node stores the received third chaining request to a local chaining request buffer pool.
Step 308, the consensus node selects, according to a preset consensus algorithm, a to-be-chained request from the local chaining request buffer pool.
Step 309, the consensus node sends, for the selected to-be-chained request, data except the target participant identity set in the selected to-be-chained request as a fourth chaining request to participant nodes indicated by respective participant node identities in the target participant identity set in the selected to-be-chained request.
Step 310, in response to receiving the fourth chaining request sent by the consensus node, the participant nodes connect the received fourth chaining request to a local block chain.
In the present embodiment, the specific operations of steps 301-310 are substantially the same as the operations of steps 201-210 in the embodiment shown in FIG. 2 , and details are not described herein again.
Step 311, in response to a success in verification of an on-chain access request including a to-be-accessed on-chain data identity received from a terminal, the participant node queries in the local block chain the data corresponding to the to-be-accessed on-chain data identity, and sends the found data to the terminal.
In the present embodiment, when receiving the on-chain access request including a to-be-accessed on-chain data identity received from the terminal, the participant node may query in the local block chain the data corresponding to the to-be-accessed on-chain data identity, and sends the found data to the terminal. Since the participant node is a node in the alliance chain, the participant node is only opened to the terminal of the participant corresponding to the participant node. The on-chain access request received by the participant node from the terminal is sent by a participant corresponding to the participant node using the terminal, and the on-chain data stored in the local block chain node of the participant node is data of participated phases in each project in which the participant corresponding to the participant node participates, so the participant node can directly query in the local block chain the data corresponding to the to-be-accessed on-chain data identity, and send the found data to the terminal.
That is, the participant can be connected to the participant node through the terminal to implement on-chain data access.
Step 312, in response to receiving an off-chain access request sent by the terminal, the management server query in the distributed storage cluster to determine whether the participant node identity corresponding to the received request participant authentication information is in the participant node identities of respective participant information of a phase indicated by a to-be-accessed phase identity of an project indicated by the received to-be-accessed project identity.
In the present embodiment, when receiving the off-chain access request including a to-be-accessed off-chain data identity, a to-be-accessed project identity, a to-be-accessed phase identity and request access participant authentication information, the management server may first query in the distributed storage cluster a participant node identity in participant information of a phase indicated by the to-be-accessed phase identity of the project indicated by the received to-be-accessed project identity. Then, the management server determines whether the participant node identity corresponding to the received request participant authentication information is in the determined participant node identities. If yes, the procedure proceeds to step 313. That is, if it is determined that the participant node identity corresponding to the received request participant authentication information is in the determined participant node identities, it indicates that the participant corresponding to the request access participant authentication information participates in the phase indicated by the to-be-accessed phase identity of the project indicated by the to-be-accessed project identity, the participant corresponding to the request access participant authentication information has the right to access the data indicated by the to-be-accessed off-chain data identity.
Step 313, the management server queries in the distributed storage cluster the data corresponding to the to-be-accessed off-chain data identity, and sends the found data to the terminal.
In the present embodiment, when determining in step 312 that the participant corresponding to the request access participant authentication information has the right to access the data indicated by the to-be-accessed off-chain data identity, the management server may query in the distributed storage cluster the data corresponding to the to-be-accessed off-chain data identity, and sends the found data to the terminal.
In some optional implementation manners of the present embodiment, the sequence 300 may also include steps 211 to 214 shown in FIG. 2 (not shown).
It may be seen from FIG. 3 that, compared with the corresponding embodiments of FIG. 2 , the sequence 300 of the service flow system in the present embodiment adds the steps of accessing off-chain data and accessing on-chain data. Therefore, the solution described in the present embodiment can implement the operations of accessing the off-chain original data and the on-chain digest information of the service flow system.
Referring to FIG. 4 , a flow 400 of an embodiment of a service data processing method is shown, applied to a management server in a service flow system. The service flow system may include a management server, a distributed storage cluster and a block chain alliance network connected by a network, where the block chain alliance network may include a consensus node and at least one participant node. The flow 400 of the service data processing method includes the following steps.
Step 401: in response to a success in verification of a second chaining request received from a participant node, storing to-be-chained data to the distributed storage cluster.
In the present embodiment, the specific operation of step 401 is substantially the same as the operation of step 202 in the embodiment shown in FIG. 2 , and details are not described herein again.
Step 402: querying, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by the participated project identity in the received second data chaining request.
In the present embodiment, the specific operation of step 402 is substantially the same as the operation of step 203 in the embodiment shown in FIG. 2 , and details are not described herein again.
Step 403: determining participant node identities in the queried participant information as a target participant node identity set.
In the present embodiment, the specific operation of step 403 is substantially the same as the operation of step 204 in the embodiment shown in FIG. 2 , and details are not described herein again.
Step 404, sending to the consensus node the digest information of the to-be-chained data, the participant node identity of the participant node that sends the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request.
In the present embodiment, the specific operation of step 404 is substantially the same as the operation of step 205 in the embodiment shown in FIG. 2 , and details are not described herein again.
Step 405: recording a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node.
In the present embodiment, the specific operation of step 405 is substantially the same as the operation of step 206 in the embodiment shown in FIG. 2 , and details are not described herein again.
The service data processing method provided by some embodiments of the present disclosure, through unified management of a management server, off-chain data is stored in a distributed storage cluster, then participants of each phase are defined for different projects, and the participants of the same phase of the same project share the same on-chain and off-chain data. Therefore, credible access of the participants to block chain data is solved, dynamic customizable phase management of the projects in a service flow is supported, the on-chain data and participants of each phase are strictly divided and managed, and associated management of on-chain and off-chain service flow data is also supported.
Further referring to FIG. 5 , as an implementation of the method shown in the above figures, some embodiments of the present disclosure provide a service data processing apparatus, applied to a management server in a service flow system, where the service flow system includes a management server, a distributed storage cluster and a block chain alliance network connected by a network, and the block chain alliance network includes a consensus node and at least one participant node. The embodiment of the apparatus corresponds to the embodiment of the method shown in FIG. 4 , and the apparatus may be applied to various electronic devices.
As shown in FIG. 5 , the service data processing apparatus 500 of the present embodiment includes a first storage unit 501, a query unit 502, a first target participant determining unit 503, a first sending unit 504, and a first recording unit 505. The first storage unit 501 is configured to store, in response to success in verification of a second chaining request received from a participant node, to-be-chained data into the distributed storage cluster; the query unit 502 is configured to query, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by a participated project identity in the received second data chaining request; the first target participant determining unit 503 is configured to determine participant node identities in the queried participant information as a target participant node identity set; the first sending unit 504 is configured to send to the consensus node the digest information of the to-be-chained data, the participant node identity of the participant node sending the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request; the first recording unit 505 is configured to record a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node.
In the present embodiment, the specific processing of the first storage unit 501, the query unit 502, the first target participant determining unit 503, the first sending unit 504, and the first recording unit 505 of the service data processing apparatus 500 and the technical effects thereof may be referred to the related description in step 201, step 202, step 203, step 204, and step 205 in the corresponding embodiment of FIG. 2 , respectively. The description will not be repeated here.
In some optional implementations of the present embodiment, the response to a success in verification of a second chaining request received from a participant node may include: in response to success in verification of participant authentication information in the second chaining request received from the participant node, query in the distributed storage cluster to determine whether participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity; and in response to determining that the participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity, determining that the second chaining request received from the participant node succeeds in verification.
In some optional implementations of the present embodiment, the apparatus 500 may further include: a second storage unit 506 configured to store, in response to receiving a new project creating request including to-be-created project information, the to-be-created project information to the distributed storage cluster, the to-be-created project information including an project identity of a to-be-created project and phase information, the phase information being of the number of project phases included in the project, the phase information including a phase identity and participant information, the participant information being of the number of participants participating in an project phase, and the participant information including a participant node identity; a second target participant determining unit 507 configured to determine participant node identities in participant information included in respective phase information of the to-be-created project information as a target participant node identity set; a second sending unit 508 configured to send to the consensus node digest information of the to-be-created project information and the target participant node identity set as a third chaining request; and a second recording unit 509 configured to record a corresponding relationship between the to-be-created project information stored in the distributed storage cluster and the third chaining request sent to the consensus node.
In some optional implementations of the present embodiment, the apparatus 500 may further include: a request participant determining unit 510 configured to: in response to receiving an off-chain access request sent by the terminal and comprising a to-be-accessed off-chain data identity, a to-be-accessed project identity, a to-be-accessed phase identity and request access participant authentication information, query in the distributed storage cluster to determine whether participant node identity corresponding to received request participant authentication information is in the participant node identities of respective participant information of a phase indicated by a to-be-accessed phase identity of an project indicated by the received to-be-accessed project identity; and a third sending unit 511 configured to: in response to determining that the participant node identity corresponding to the received request participant authentication information is in the participant node identities of the respective participant information of the phase indicated by the to-be-accessed phase identity of the project indicated by the received to-be-accessed project identity, querying, in the distributed storage cluster, data corresponding to the to-be-accessed off-chain data identity, and send the found data to the terminal.
It should be noted that the implementation details of the units in the service data processing apparatus provided by some embodiments of the present disclosure and the and technical effects thereof may be referred to the descriptions of other embodiments in the present disclosure, and details are not described herein again.
Referring to FIG. 6 , a schematic structural diagram of a computer system 600 of a server adapted to implement the embodiments of the present disclosure is shown. The server shown in FIG. 6 is merely an example, and should not limit the function and scope of use of the embodiments of the present disclosure.
As shown in FIG. 6 , the computer system 600 includes a Central Processing Unit (CPU) 601, which can execute various appropriate operations and processes based on programs stored in a Read Only Memory (ROM) 602 or programs loaded from a storage portion 608 to a Random Access Memory (RAM) 603. The RAM 603 also stores various programs and data required by operations of the system 600. The CPU 601, the ROM 602, and the RAM 603 are connected to each other through a bus 604. An Input/Output (I/O) interface 605 is also connected to the bus 604.
The following components are connected to the I/O interface 605: an input portion 606 including a keyboard, a mouse, or the like; an output portion 607 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), a speaker, or the like; a storage portion 608 including a hard disk or the like; and a communication portion 609 including a network interface card, such as a Local Area Network (LAN) card and a modem. The communication portion 609 performs communication processes via a network, such as the Internet. A driver 610 is also connected to the I/O interface 605 as required. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, and a semiconductor memory, may be installed on the driver 610 as required, so that a computer program read therefrom is installed on the storage portion 608 as required.
In particular, according to some embodiments of the present disclosure, the process described above with reference to the flowchart may be implemented in a computer software program. For example, an embodiment of the present disclosure includes a computer program product including a computer program loaded to a computer-readable medium, the computer program including a program code for executing the method shown in the flowchart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication portion 609, and/or installed from the removable medium 611. When the computer program is executed by the CPU 601, the functions defined in the method of the embodiments of the present disclosure are executed. It should be noted that the computer-readable medium of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or a combination of the two. An example of the computer-readable storage medium may be, but is not limited to: electric, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, elements, or any combination of the above. A more specific example of the computer-readable storage medium may include but is not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read only memory (ROM), an erasable programmable read only memory (EPROM or flash memory), a fiber, a portable compact disk read only memory (CD-ROM), an optical memory, a magnet memory, or any suitable combination of the above. In the present disclosure, the computer-readable storage medium may be any tangible medium containing or storing programs which may be used by an instruction execution system, apparatus or device or incorporated thereto. In the present disclosure, the computer-readable signal medium may include data signals in a baseband or propagated as parts of carriers, in which computer-readable program codes are carried. The data signals propagated may be in multiple forms, including but not limited to electromagnetic signals, optical signals or any appropriate combination of them. The computer-readable signal medium may also be any computer-readable medium beyond the computer-readable storage medium. The computer-readable medium is capable of sending, propagating or transmitting a program used by an instruction execution system, apparatus or device or a combination of them. The program codes included in the computer-readable medium may be transmitted by any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any appropriate combination of them.
A computer program code for executing operations in the present disclosure may be compiled using one or more programming languages or combinations thereof. The programming languages include object-oriented programming languages, such as Java, Smalltalk or C++, and also include conventional procedural programming languages, such as “C” language or similar programming languages. The program codes may be completely executed on a user's computer, partially executed on a user's computer, executed as a separate software package, partially executed on a user's computer and partially executed on a remote computer, or completely executed on a remote computer or a server. In the circumstance involving a remote computer, the remote computer may be connected to a user's computer through any network, including a local area network (LAN) or a wide area network (WAN), or connected to an external computer (for example, connected through Internet using an Internet service provider).
The process diagrams and block diagrams in the drawings illustrate system architectures, functions and operations that may be implemented according to the systems, methods and computer program products of various embodiments of the present disclosure. In this regard, each box in the flowcharts or block diagrams may represent a module, a program segment, or a part of a code, which includes one or more executable instructions for implementing the specified logical functions. It should be noted that, in some alternative implementations, the functions marked in the boxes may also be implemented in an order different from that marked in the drawing. For example, two consecutive boxes substantially may be executed in parallel, or sometimes executed in a reverse order, depending on the involved functions. It should also be noted that, each box in the block diagrams and/or flowcharts, and a combination of boxes in the block diagrams and/or flowcharts may be implemented by a dedicated hardware-based system for executing specified functions or operations, or implemented by a combination of dedicated hardware and computer instructions.
The units involved in some embodiments of the present disclosure may be implemented by means of software or hardware. The described units may also be provided in a processor, for example, described as: a processor, including a first storage unit, a query unit, a first target participant determining unit, a first sending unit, and a first recording unit. Here, the names of these units do not in some cases constitute a limitation to such units themselves. For example, the first storage unit may also be described as “a unit configured to store the to-be-chained data into the distributed storage cluster”.
In another aspect, the present disclosure further provides a computer-readable medium. The computer-readable storage medium may be included in the apparatus in the above described embodiments, or a stand-alone computer-readable medium not assembled into the apparatus. The computer-readable medium stores one or more programs. The one or more programs, when executed by the apparatus, cause the apparatus to: store, in response to a success in verification of a second chaining request received from a participant node, to-be-chained data into the distributed storage cluster; query, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of an project indicated by a participated project identity in the received second data chaining request; determine participant node identities in the queried participant information as a target participant node identity set; send to the consensus node the digest information of the to-be-chained data, the participant node identity of the participant node sending the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request; and record a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node.
The above description is only an explanation for the preferred embodiments of the present disclosure and the applied technical principles. It should be appreciated by those skilled in the art that the inventive scope of the present disclosure is not limited to the technical solutions formed by the particular combinations of the above technical features. The inventive scope should also cover other technical solutions formed by any combinations of the above technical features or equivalent features thereof without departing from the concept of the disclosure, for example, technical solutions formed by replacing the features as disclosed in the present disclosure with (but not limited to) technical features with similar functions.

Claims (17)

What is claimed is:
1. A service flow system, comprising a management server, a distributed storage cluster and a block chain alliance network connected by a network, the block chain alliance network comprising a consensus node and at least one participant node, wherein:
a participant node is configured to:
in response to receiving a first chaining request comprising to-be-chained data, a participated project identity and a participation phase identity, send the first chaining request and participant authentication information of the participant node as a second data chaining request to the management server,
the management server is configured to:
in response to a success in verification of the second data chaining request received from the participant node, store the to-be-chained data into the distributed storage cluster;
query, in the distributed storage cluster, respective participant information of a phase indicated by the participation phase identity of a project indicated by the participated project identity in the received second data chaining request and determine participant node identities in the respective participant information as a target participant node identity set;
send to the consensus node digest information of the to-be-chained data, a participant node identity of the participant node sending the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request; and
record a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node,
the consensus node is configured to:
in response to receiving the third chaining request sent by the management server, store the received third chaining request to a local chaining request buffer pool;
select, according to a preset consensus algorithm, a request from the local chaining request buffer pool; and
send, for the selected request, data except the target participant node identity set in the selected request as a fourth chaining request to participant nodes indicated by respective participant node identities in the target participant node identity set in the selected request,
the participant nodes are configured to:
in response to receiving the fourth chaining request sent by the consensus node, connect the fourth chaining request to local block chains of the participant nodes.
2. The system according to claim 1, wherein the management server is configured to, in response to a success in verification of the second data chaining request received from the participant node, store to-be-chained data to the distributed storage cluster, comprising:
the management server is configured to:
in response to a success in verification of participant authentication information in the second data chaining request received from the participant node, query in the distributed storage cluster to determine whether participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity; and
in response to determining that the participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity, determine that the second data chaining request received from the participant node succeeds in verification.
3. The system according to claim 2, wherein:
the management server is configured to:
in response to receiving a new project creating request comprising to-be-created project information, store the to-be-created project information to the distributed storage cluster, the to-be-created project information comprising an project identity of a to-be-created project and phase information, the phase information being of a number of project phases comprised in the project, the phase information comprising a phase identity and participant information, the participant information being of a number of participants participating in an project phase, and the participant information comprising a participant node identity;
determine participant node identities in participant information comprised in respective phase information of the to-be-created project information as a target participant node identity set;
send to the consensus node digest information of the to-be-created project information and the target participant node identity set as a third chaining request; and
record a corresponding relationship between the to-be-created project information stored in the distributed storage cluster and the third chaining request sent to the consensus node.
4. The system according to claim 3, wherein:
the participant node is configured to:
in response to a success in verification of an on-chain access request including a to-be-accessed on-chain data identity received from a terminal, query in the local block chain data corresponding to the to-be-accessed on-chain data identity to obtain found data, and send the found data to the terminal.
5. The system according to claim 1, wherein:
the management server is configured to:
in response to receiving an off-chain access request sent by a terminal and comprising a to-be-accessed off-chain data identity, a to-be-accessed project identity, a to-be-accessed phase identity and request access participant authentication information, query in the distributed storage cluster to determine whether participant node identity corresponding to received request participant authentication information is in participant node identities of respective participant information of a phase indicated by a to-be-accessed phase identity of a project indicated by the received to-be-accessed project identity; and
in response to determining that the participant node identity corresponding to the received request participant authentication information is in the participant node identities of the respective participant information of the phase indicated by the to-be-accessed phase identity of the project indicated by the received to-be-accessed project identity, query, in the distributed storage cluster, data corresponding to the to-be-accessed off-chain data identity to obtain queried data, and send the queried data to the terminal.
6. A service data processing method, applied to a management server in a service flow system, wherein the service flow system comprises the management server, a distributed storage cluster and a block chain alliance network connected by a network, the block chain alliance network comprises a consensus node and at least one participant node, and the method comprises:
in response to a success in verification of a second data chaining request received from a participant node, storing to-be-chained data into the distributed storage cluster;
querying, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of a project indicated by a participated project identity in the received second data chaining request;
determining participant node identities in the respective participant information as a target participant node identity set;
sending to the consensus node digest information of the to-be-chained data, a participant node identity of the participant node sending the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request; and
recording a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node.
7. The method according to claim 6, wherein the in response to a success in verification of the second data chaining request received from a participant node comprises:
in response to a success in verification of participant authentication information in the second data chaining request received from the participant node, query in the distributed storage cluster to determine whether participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity; and
in response to determining that the participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity, determining that the second data chaining request received from the participant node succeeds in verification.
8. The method according to claim 7, wherein the method further comprises:
in response to receiving a new project creating request comprising to-be-created project information, storing the to-be-created project information into the distributed storage cluster, the to-be-created project information comprising an project identity of a to-be-created project and phase information, the phase information being of a number of project phases comprised in the project, the phase information comprising a phase identity and participant information, the participant information being of a number of participants participating in an project phase, and the participant information comprising a participant node identity;
determining participant node identities in participant information comprised in respective phase information of the to-be-created project information as a target participant node identity set;
sending to the consensus node digest information of the to-be-created project information and the target participant node identity set as a third chaining request; and
recording a corresponding relationship between the to-be-created project information stored in the distributed storage cluster and the third chaining request sent to the consensus node.
9. The method according to claim 6, wherein the method further comprises:
in response to receiving an off-chain access request sent by a terminal and comprising a to-be-accessed off-chain data identity, a to-be-accessed project identity, a to-be-accessed phase identity and request access participant authentication information, querying in the distributed storage cluster to determine whether participant node identity corresponding to received request participant authentication information is in participant node identities of respective participant information of a phase indicated by a to-be-accessed phase identity of a project indicated by the received to-be-accessed project identity; and
in response to determining that the participant node identity corresponding to the received request participant authentication information is in the participant node identities of the respective participant information of the phase indicated by the to-be-accessed phase identity of the project indicated by the received to-be-accessed project identity, querying, in the distributed storage cluster, data corresponding to the to-be-accessed off-chain data identity to obtain queried data, and sending the queried data to the terminal.
10. A service data processing apparatus, applied to a management server in a service flow system, wherein the service flow system comprises the management server, a distributed storage cluster and a block chain alliance network connected by a network, the block chain alliance network comprises a consensus node and at least one participant node, and the apparatus comprises:
at least one processor; and
a memory storing instructions, the instructions when executed by the at least one processor, cause the at least one processor to perform operations, the operations comprising:
in response to a success in verification of a second data chaining request received from a participant node, storing to-be-chained data into the distributed storage cluster;
querying, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of a project indicated by a participated project identity in the second data chaining request;
determining participant node identities in the respective participant information as a target participant node identity set;
sending to the consensus node digest information of the to-be-chained data, a participant node identity of the participant node sending the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request; and
recording a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node.
11. The apparatus according to claim 10, wherein the in response to a success in verification of the second data chaining request received from a participant node comprises:
in response to a success in verification of participant authentication information in the second data chaining request received from the participant node, query in the distributed storage cluster to determine whether participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity; and
in response to determining that the participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity, determining that the second data chaining request received from the participant node succeeds in verification.
12. The apparatus according to claim 11, wherein the operations further comprise:
in response to receiving a new project creating request comprising to-be-created project information, storing the to-be-created project information into the distributed storage cluster, the to-be-created project information comprising an project identity of a to-be-created project and phase information, the phase information being of a number of project phases comprised in the project, the phase information comprising a phase identity and participant information, the participant information being of a number of participants participating in an project phase, and the participant information comprising a participant node identity;
determining participant node identities in participant information comprised in respective phase information of the to-be-created project information as a target participant node identity set;
sending to the consensus node digest information of the to-be-created project information and the target participant node identity set as a third chaining request; and
recording a corresponding relationship between the to-be-created project information stored in the distributed storage cluster and the third chaining request sent to the consensus node.
13. The apparatus according to claim 10, wherein the operations further comprise:
in response to receiving an off-chain access request sent by a terminal and comprising a to-be-accessed off-chain data identity, a to-be-accessed project identity, a to-be-accessed phase identity and request access participant authentication information, querying in the distributed storage cluster to determine whether participant node identity corresponding to received request participant authentication information is in participant node identities of respective participant information of a phase indicated by a to-be-accessed phase identity of a project indicated by the received to-be-accessed project identity; and
in response to determining that the participant node identity corresponding to the received request participant authentication information is in the participant node identities of the respective participant information of the phase indicated by the to-be-accessed phase identity of the project indicated by the received to-be-accessed project identity, querying, in the distributed storage cluster, data corresponding to the to-be-accessed off-chain data identity to obtained queried data, and send the queried data to the terminal.
14. A non-transitory computer-readable storage medium, storing a computer program thereon, wherein the computer program, when executed by one or more processors, causes the processors to implement operations applied to a management server in a service flow system, wherein the service flow system comprises the management server, a distributed storage cluster and a block chain alliance network connected by a network, the block chain alliance network comprises a consensus node and at least one participant node, and the operations comprise:
in response to a success in verification of a second data chaining request received from a participant node, storing to-be-chained data into the distributed storage cluster;
querying, in the distributed storage cluster, respective participant information of a phase indicated by a participation phase identity of a project indicated by a participated project identity in the second data chaining request;
determining participant node identities in the respective participant information as a target participant node identity set;
sending to the consensus node digest information of the to-be-chained data, a participant node identity of the participant node sending the received second data chaining request, the participated project identity and participation phase identity in the received second data chaining request, and the target participant node identity set as a third chaining request; and
recording a corresponding relationship between the to-be-chained data stored in the distributed storage cluster and the third chaining request sent to the consensus node.
15. The medium according to claim 14, wherein in response to a success in verification of the second data chaining request received from a participant node comprises:
in response to a success in verification of participant authentication information in the second data chaining request received from the participant node, query in the distributed storage cluster to determine whether participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity; and
in response to determining that the participant node identity corresponding to the received participant authentication information is in the participant node identities of the participant information of the phase indicated by the participation phase identity of the project indicated by the received participated project identity, determining that the second data chaining request received from the participant node succeeds in verification.
16. The medium according to claim 15, wherein the operations further comprise:
in response to receiving a new project creating request comprising to-be-created project information, storing the to-be-created project information into the distributed storage cluster, the to-be-created project information comprising an project identity of a to-be-created project and phase information, the phase information being of a number of project phases comprised in the project, the phase information comprising a phase identity and participant information, the participant information being of a number of participants participating in an project phase, and the participant information comprising a participant node identity;
determining participant node identities in participant information comprised in respective phase information of the to-be-created project information as a target participant node identity set;
sending to the consensus node digest information of the to-be-created project information and the target participant node identity set as a third chaining request; and
recording a corresponding relationship between the to-be-created project information stored in the distributed storage cluster and the third chaining request sent to the consensus node.
17. The medium according to claim 14, wherein the operations further comprise:
in response to receiving an off-chain access request sent by a terminal and comprising a to-be-accessed off-chain data identity, a to-be-accessed project identity, a to-be-accessed phase identity and request access participant authentication information, querying in the distributed storage cluster to determine whether participant node identity corresponding to received request participant authentication information is in participant node identities of respective participant information of a phase indicated by a to-be-accessed phase identity of a project indicated by the received to-be-accessed project identity; and
in response to determining that the participant node identity corresponding to the received request participant authentication information is in the participant node identities of the respective participant information of the phase indicated by the to-be-accessed phase identity of the project indicated by the received to-be-accessed project identity, querying, in the distributed storage cluster, data corresponding to the to-be-accessed off-chain data identity to obtain queried data, and sending the queried data to the terminal.
US16/675,886 2019-03-06 2019-11-06 Service flow system and service data processing method and apparatus Active 2041-02-28 US11521176B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910168530.X 2019-03-06
CN201910168530.XA CN109981750B (en) 2019-03-06 2019-03-06 Business process system, business data processing method and device

Publications (2)

Publication Number Publication Date
US20200286041A1 US20200286041A1 (en) 2020-09-10
US11521176B2 true US11521176B2 (en) 2022-12-06

Family

ID=67078087

Family Applications (1)

Application Number Title Priority Date Filing Date
US16/675,886 Active 2041-02-28 US11521176B2 (en) 2019-03-06 2019-11-06 Service flow system and service data processing method and apparatus

Country Status (5)

Country Link
US (1) US11521176B2 (en)
JP (1) JP6985576B2 (en)
KR (1) KR102201235B1 (en)
CN (1) CN109981750B (en)
SG (1) SG10201910419RA (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110443055B (en) * 2019-08-07 2021-01-01 北京瑞策科技有限公司 Uplink method and device for self-media associated data on Internet
CN110601856B (en) * 2019-09-24 2022-04-29 腾讯科技(深圳)有限公司 Data interaction method and device based on block chain network
CN110765202A (en) * 2019-09-28 2020-02-07 北京瑞卓喜投科技发展有限公司 Digital asset chaining anti-cheating method and device
CN112583572B (en) * 2019-09-30 2023-01-31 北京京东尚科信息技术有限公司 Block chain network, service processing method, device and equipment
CN111027936B (en) * 2019-12-10 2023-12-05 杭州趣链科技有限公司 Workflow realization method, device and medium based on intelligent contract in alliance network
CA3090729A1 (en) * 2019-12-13 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. Smart logistics management using blockchain
CN111510327B (en) * 2020-04-08 2022-01-21 北京字节跳动网络技术有限公司 Network connection method, device, system and server for training participants of co-training model
CN113746883B (en) * 2020-05-29 2023-05-19 华为技术有限公司 Link tracking method and system
CN111798209A (en) * 2020-06-30 2020-10-20 远光软件股份有限公司 Engineering project management method based on block chain, electronic equipment and storage medium
CN111815454B (en) * 2020-08-21 2020-12-11 支付宝(杭州)信息技术有限公司 Data uplink method and device, electronic equipment and storage medium
CN112104517B (en) * 2020-11-23 2021-02-05 腾讯科技(深圳)有限公司 Data processing method based on block chain network and related device
CN112463265B (en) * 2020-12-10 2023-11-14 南京知麦信息科技有限公司 Agricultural product Internet of things information uplink method based on alliance chain
CN112671840B (en) * 2020-12-11 2022-04-05 同济大学 Cross-department data sharing system and method based on block chain technology
CN113111125B (en) * 2021-04-08 2024-03-08 同方股份有限公司 Business evidence-storing method based on block chain
CN113190616B (en) * 2021-04-16 2023-02-21 宁波市民卡运营管理有限公司 Block chain reconciliation system and method, computer device and readable storage medium
CN113452679B (en) * 2021-05-31 2023-04-07 兴业数字金融服务(上海)股份有限公司 Method and system for realizing supporting enterprise financial service authentication
CN113656095B (en) * 2021-08-06 2023-08-04 北京数码大方科技股份有限公司 Processing method and device for configuration data
CN114449000B (en) * 2021-12-28 2022-10-11 北京邮电大学 Internet of vehicles data consensus optimization storage method and storage system
KR102437375B1 (en) * 2022-01-12 2022-08-26 김용욱 Research note system using block chain technology and method performing thereof
CN114679487B (en) * 2022-03-25 2023-12-22 度小满科技(北京)有限公司 Link processing method, device, storage medium and processor
CN115037756A (en) * 2022-06-01 2022-09-09 蚂蚁区块链科技(上海)有限公司 Method for operating alliance chain network, alliance chain network and node equipment for alliance chain network
CN116527401B (en) * 2023-06-30 2023-09-01 诚罡科技(天津)有限公司 Secure communication method and system of distributed data server

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273455A (en) 2017-05-31 2017-10-20 深圳前海微众银行股份有限公司 Block chain data access method and device
CN107566337A (en) 2017-07-26 2018-01-09 阿里巴巴集团控股有限公司 Communication means and device between a kind of block chain node
CN107862215A (en) 2017-09-29 2018-03-30 阿里巴巴集团控股有限公司 A kind of date storage method, data query method and device
WO2018066362A1 (en) 2016-10-04 2018-04-12 日本電気株式会社 Embedded sim management system, node device, embedded sim management method, program, and information registrant device
CN108289129A (en) 2018-02-26 2018-07-17 深圳智乾区块链科技有限公司 Block chain ecological environment creation method, system and computer readable storage medium
JP2018132931A (en) 2017-02-15 2018-08-23 富士通株式会社 Approval system, approval method, and approval program
KR20180113145A (en) 2017-04-05 2018-10-15 삼성에스디에스 주식회사 Method for processing blockchain based real-time transaction and system thereof
WO2018190809A1 (en) 2017-04-11 2018-10-18 Hewlett-Packard Development Company, L.P. Blockchain partial ledgers
CN108961052A (en) 2018-06-25 2018-12-07 百度在线网络技术(北京)有限公司 Verification method, storage method, device, equipment and the medium of block chain data
CN109063169A (en) 2018-08-17 2018-12-21 福建省农村信用社联合社 A kind of customer data management system based on block chain
US10164973B1 (en) 2015-12-02 2018-12-25 United Services Automobile Association (Usaa) Public authentication systems and methods
US20180375869A1 (en) 2017-06-27 2018-12-27 Alibaba Group Holding Limited Multi-blockchain network data processing
KR101951408B1 (en) 2017-10-17 2019-02-22 백종윤 A System Providing Virtual Money Managerial System
US20190067357A1 (en) 2017-08-30 2019-02-28 Taiwan Semiconductor Manufacturing Co., Ltd. Increased optical path for long wavelength light by grating structure
US20190109702A1 (en) * 2017-10-05 2019-04-11 Accenture Global Solutions Limited Secure verification of conditions of a contract using a set of verification tools
US20210152357A1 (en) * 2018-12-25 2021-05-20 Advanced New Technologies Co., Ltd. Method and device for identity verification

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10164973B1 (en) 2015-12-02 2018-12-25 United Services Automobile Association (Usaa) Public authentication systems and methods
US20190289454A1 (en) 2016-10-04 2019-09-19 Nec Corporation Embedded sim management system, node device, embedded sim management method, program, and information registrant device
WO2018066362A1 (en) 2016-10-04 2018-04-12 日本電気株式会社 Embedded sim management system, node device, embedded sim management method, program, and information registrant device
JP2018132931A (en) 2017-02-15 2018-08-23 富士通株式会社 Approval system, approval method, and approval program
KR20180113145A (en) 2017-04-05 2018-10-15 삼성에스디에스 주식회사 Method for processing blockchain based real-time transaction and system thereof
WO2018190809A1 (en) 2017-04-11 2018-10-18 Hewlett-Packard Development Company, L.P. Blockchain partial ledgers
CN107273455A (en) 2017-05-31 2017-10-20 深圳前海微众银行股份有限公司 Block chain data access method and device
US20180375869A1 (en) 2017-06-27 2018-12-27 Alibaba Group Holding Limited Multi-blockchain network data processing
US20200089690A1 (en) 2017-07-26 2020-03-19 Alibaba Group Holding Limited Method and apparatus for communication between blockchain nodes
CN107566337A (en) 2017-07-26 2018-01-09 阿里巴巴集团控股有限公司 Communication means and device between a kind of block chain node
US20190067357A1 (en) 2017-08-30 2019-02-28 Taiwan Semiconductor Manufacturing Co., Ltd. Increased optical path for long wavelength light by grating structure
CN107862215A (en) 2017-09-29 2018-03-30 阿里巴巴集团控股有限公司 A kind of date storage method, data query method and device
US20190109702A1 (en) * 2017-10-05 2019-04-11 Accenture Global Solutions Limited Secure verification of conditions of a contract using a set of verification tools
KR101951408B1 (en) 2017-10-17 2019-02-22 백종윤 A System Providing Virtual Money Managerial System
CN108289129A (en) 2018-02-26 2018-07-17 深圳智乾区块链科技有限公司 Block chain ecological environment creation method, system and computer readable storage medium
CN108961052A (en) 2018-06-25 2018-12-07 百度在线网络技术(北京)有限公司 Verification method, storage method, device, equipment and the medium of block chain data
CN109063169A (en) 2018-08-17 2018-12-21 福建省农村信用社联合社 A kind of customer data management system based on block chain
US20210152357A1 (en) * 2018-12-25 2021-05-20 Advanced New Technologies Co., Ltd. Method and device for identity verification

Also Published As

Publication number Publication date
SG10201910419RA (en) 2020-10-29
KR102201235B1 (en) 2021-01-12
US20200286041A1 (en) 2020-09-10
JP2020144838A (en) 2020-09-10
KR20200108231A (en) 2020-09-17
CN109981750B (en) 2021-09-17
CN109981750A (en) 2019-07-05
JP6985576B2 (en) 2021-12-22

Similar Documents

Publication Publication Date Title
US11521176B2 (en) Service flow system and service data processing method and apparatus
US11640474B2 (en) Method and apparatus for operating database
CN113711536B (en) Extracting data from a blockchain network
CN108550037B (en) File processing method and device based on block chain
CN108123800B (en) Key management method, key management device, computer equipment and storage medium
US20190386940A1 (en) Method for providing recording and verification service for data received and transmitted by messenger service, and server using method
US10404699B2 (en) Facilitating third parties to perform batch processing of requests requiring authorization from resource owners for repeat access to resources
CN109189857B (en) Data sharing system, method and device based on block chain
US8745088B2 (en) System and method of performing risk analysis using a portal
WO2020055926A2 (en) Establishing provenance of digital assets using blockchain system
WO2020098820A2 (en) Performing map iterations in a blockchain-based system
US20200042625A1 (en) Blockchain-enabled datasets shared across different database systems
US20240104563A1 (en) Hybrid identity as a service for decentralized browser based wallets
CN111291394B (en) False information management method, false information management device and storage medium
CN109377220B (en) Block chain-based media data transaction method and system and computer storage medium
WO2020098819A2 (en) Performing map iterations in a blockchain-based system
CN111259448A (en) Data sharing method and device
US10397306B2 (en) System and method for translating versioned data service requests and responses
CN110247917B (en) Method and apparatus for authenticating identity
CN109828832B (en) Block chain-based data circulation method, device, equipment and medium
CN112181983A (en) Data processing method, device, equipment and medium
CN110611656B (en) Identity management method, device and system based on master identity multiple mapping
CN110781523B (en) Method and apparatus for processing information
CN116208666B (en) Processing method and device supporting multi-source data center joint security calculation data
CN115081005A (en) Privacy information processing system, method, device, electronic equipment and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY CO., LTD., CHINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SONG, YUXIAO;WANG, HUI;CHEN, HAODONG;AND OTHERS;REEL/FRAME:050934/0118

Effective date: 20190313

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE