WO2018228331A1 - 业务数据存储方法、装置、存储介质及电子设备 - Google Patents

业务数据存储方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
WO2018228331A1
WO2018228331A1 PCT/CN2018/090630 CN2018090630W WO2018228331A1 WO 2018228331 A1 WO2018228331 A1 WO 2018228331A1 CN 2018090630 W CN2018090630 W CN 2018090630W WO 2018228331 A1 WO2018228331 A1 WO 2018228331A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
blockchain
service data
user attribute
block
Prior art date
Application number
PCT/CN2018/090630
Other languages
English (en)
French (fr)
Inventor
郭锐
李茂材
梁军
张建俊
王宗友
赵琦
屠海涛
刘斌华
朱大卫
秦青
Original Assignee
腾讯科技(深圳)有限公司
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 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to EP18817953.5A priority Critical patent/EP3640823B1/en
Publication of WO2018228331A1 publication Critical patent/WO2018228331A1/zh
Priority to US16/523,585 priority patent/US10999061B2/en
Priority to US17/177,789 priority patent/US11936769B2/en

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/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/3247Cryptographic 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 involving digital signatures
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/13File access structures, e.g. distributed indices
    • 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/17Details of further file system functions
    • G06F16/1727Details of free space management performed by the file system
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • 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/321Cryptographic 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 involving a third party or a trusted authority
    • H04L9/3213Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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

  • the present application relates to the field of network technologies, and in particular, to a service data storage method, apparatus, storage medium, and electronic device.
  • the server can provide users with rich services and quickly process the required services for users.
  • the server may store the business data in a blockchain.
  • the server Since the data structure of the blockchain is a block connected in chronological order, the server needs to store the service data serially in the blockchain, resulting in low efficiency of the server.
  • the embodiment of the present application provides a service data storage method, device, storage medium, and electronic device.
  • the technical solution is as follows:
  • a method of storing a service data comprising:
  • the second block is used to record the service data.
  • a service data storage device comprising:
  • a receiving module configured to receive user data of the user
  • a determining module configured to determine, according to the user attribute of the user, a target blockchain corresponding to the service data from a plurality of blockchains;
  • a storage module configured to generate a second block on the target blockchain based on the service data and a block header feature value of a first block in the target blockchain, where the first block is a The previous block of the second block is used to record the service data.
  • a storage medium having stored therein at least one instruction, at least one program, a code set, or a set of instructions, the at least one instruction, the at least one program, the code set, or an instruction set
  • a business data storage method loaded and executed by a processor to implement any of the possible implementations described above.
  • an electronic device including a processor and a memory, wherein the memory stores at least one instruction, at least one program, a code set, or a set of instructions, the at least one instruction, the at least one segment A program, the set of codes, or a set of instructions is loaded and executed by the processor to implement a business data storage method as in any of the possible implementations described above.
  • service data of users of the same or similar user attributes can be stored in a blockchain, thereby enabling multiple blockchains to be chained.
  • the service data of the user with different user attributes can be separately stored.
  • the service data since the process of generating blocks in each block chain does not affect each other, even if a large amount of user data is received in a short period of time, the service data can be obtained according to the user attribute.
  • the traffic is distributed to each blockchain, and the service data is stored in each blockchain in parallel, so that the performance of the server is no longer limited by the chain structure of the blockchain, thereby improving the operating efficiency of the server.
  • the storage based on the user attribute can also facilitate the targeted analysis of the service data of a certain type of user group, and the users of the same user attribute often have similarities in the service data, and therefore, the service can be improved according to the user attribute.
  • FIG. 1 is a schematic diagram of a service data processing system according to an embodiment of the present application.
  • FIG. 2 is a flowchart of a service data storage method provided by an embodiment of the present application.
  • FIG. 3 is a flowchart of a service request process according to an embodiment of the present application.
  • FIG. 4 is a block diagram of a service data storage apparatus according to an embodiment of the present application.
  • FIG. 5 is a block diagram of a service data storage apparatus according to an embodiment of the present application.
  • FIG. 6 is a block diagram of a service data storage apparatus according to an embodiment of the present application.
  • FIG. 7 is a block diagram of an electronic device 700 provided by an embodiment of the present application.
  • the service data processing system may be composed of multiple subsystems, and each subsystem may be configured with multiple zones according to user attributes of the user.
  • the same blockchain can be configured between any two subsystems, so that multiple subsystems configured with the same blockchain can reach a consensus on the service data stored in the blockchain, and provide users with service data based on the service data. service.
  • the service data processing system can be a payment service data processing system including subsystem 101, subsystem 102, subsystem 103, and subsystem 104.
  • the subsystem 101 may include a node device 1011, a node device 1012, and a node device 1013 deployed by a network service provider, where the three nodes are respectively configured with a blockchain A, a blockchain B, and a blockchain C;
  • the subsystem 102 may The node device 1021, the node device 1022 and the node device 1023 including the bank X deployment are respectively configured with a blockchain A, a blockchain B and a blockchain C;
  • the subsystem 103 may include a node deployed by the bank Y
  • the device 1031, the node device 1032, and the node device 1033 are respectively configured with a blockchain A, a blockchain B, and a blockchain C.
  • the subsystem 104 may include a node device 1041 and a node device deployed by a supervisory authority. 1042 and node device 1043, which are respectively configured with a blockchain A, a blockchain B, and a blockchain C.
  • each subsystem can also be deployed by the same service organization, and each node device can be provided as one server.
  • the service attributes corresponding to the service data stored in the blockchain A, the blockchain B, and the blockchain C are different.
  • the blockchain A is used to store the service data and user attributes of the user whose user attribute is a1.
  • the blockchain B is used to store the service data of the user whose user attribute is b
  • the blockchain C is used to store the service data of the user whose user attribute is c.
  • the embodiment of the present application may use various user attributes to divide each blockchain, for example, the current user location, the user equipment or user level that the user logs in, etc., to divide the blockchain according to the user location, for example, a1 may be a region.
  • a2 can be region 2
  • b can be region 3
  • c can be region 4, that is, blockchain A can store business data of users located in region 1 and region 2
  • blockchain B can be stored in region.
  • the blockchain C can store the business data of the user located in the area 4.
  • a plurality of blockchains disposed between the plurality of subsystems may also include a shared blockchain for storing a plurality of service organizations.
  • the shared service data for example, the blockchain A is a shared blockchain.
  • the service data of the user located in the area 2 can also be stored, and for the specific location cannot be determined.
  • the user's business data can also be stored in the shared blockchain.
  • the multiple blockchains may all provide data services for at least one service organization.
  • blockchain A, blockchain B, and blockchain C provide data services to network service providers, banks X, banks, and regulatory agencies.
  • the plurality of blockchains may provide data services for the at least one first service organization, and the partial blockchains of the plurality of blockchains provide data services for the at least one first service organization and the at least one second service organization, for example, Bank Y does not configure blockchain C, and the configuration of other service organizations is unchanged, then the at least one first service organization may be network service provider, bank X and regulatory agency, blockchain A, blockchain B and blockchain C can provide data services for the three service organizations; the at least one second service organization is bank Y, and blockchain A and blockchain B can provide data for network service providers, banks X, regulatory agencies, and banks Y. service. That is to say, some or all of the plurality of blockchains can be configured on a subsystem deployed by an organization, and then data storage and data query operations are performed based on the blockchain configured on the
  • each subsystem may further include at least one logical node device, and the logical point is provided with a network connection between each node device in the subsystem thereof for receiving user service data, and according to the user The user attribute forwards the business data to the corresponding node in the subsystem.
  • the node in the subsystem that configures the blockchain is configured to store the received service data into the blockchain and respond based on the service data.
  • multiple nodes corresponding to each blockchain can operate independently, and the nodes corresponding to the two blockchains do not affect each other.
  • the node device 1011 is a node device running in a leadership state.
  • the node device 1022 is also a node device running in the leading state, and is used to indicate the node device running in the following state corresponding to the blockchain B.
  • the node device running in the leadership state is switching, but does not affect how the node devices corresponding to other blockchains work.
  • the node device corresponding to blockchain B may be based on The node device in the leadership state works normally.
  • the node device 1011 can redirect the service data to the node device configured with the blockchain A and running in the leadership state (assumed to be 1021).
  • the service data storage request is used to request to store the service data in the blockchain A, if the node device 1021 can receive the blockchain A confirmation message of the service data storage request by the preset number of nodes in all the node devices corresponding to A may store the service data in its own blockchain A, respond to the user based on the service data, and Each node device broadcasts a service data storage instruction, so that each node device corresponding to the block chain A also stores the service data into its own blockchain A.
  • the preset number refers to the number of nodes required to reach a consensus. The embodiment of the present application does not limit the specific value of the preset number.
  • the number of all node devices corresponding to a blockchain is 3f+1, and the preset number may be a value greater than or equal to 2f+1 and less than or equal to 3f+1, where f is any positive integer.
  • the above subsystem may also be a computer device, that is, a plurality of blockchains may be configured on the one computer device, and a function performed by a subsystem may be performed.
  • FIG. 2 is a flowchart of a service data storage method provided by an embodiment of the present application. The method may be applied to any subsystem in the service data processing system shown in FIG. 1 , and the subsystem is used as an example, including The following steps:
  • the server receives the service data of the user.
  • the business data refers to data generated based on the business required by the user.
  • the service data may have multiple forms.
  • the service data may be a request for a user to initiate a service, a request for confirmation of a service by the user, or a local data or user that the user needs to upload to the server. Enter data, etc.
  • the service data may be a transfer request initiated by user A or a confirmation transfer request of user B, or may be a payment uploaded by user A for payment of the transfer amount. password.
  • the identity of the user who sends the service data can be verified.
  • the step may also be specifically: the server receives the service data packet; obtains the service data from the service data packet and the user signature of the service data.
  • the service data packet refers to the complete data sent by the user, and the signature may be a signature of the user's device based on the user's private key to the service data, so that the server can verify the signature based on the user's public key with the user, specifically, the server.
  • the user public key can be used to parse the signature, obtain the summary information, and calculate the summary information of the service data according to the algorithm agreed with the user side, and match the two summary information. If the matching is successful, it is determined that the signature verification is passed. Step 202: If the matching fails, it is determined that the signature verification fails, indicating that the service data is likely to come from a malicious user or has been tampered with by a malicious user, and the server may ignore the service data or store the service data to the blacklist service.
  • a database the blacklist business database is used to store business data operated by a malicious user.
  • the device that receives the service data may also be the logical node device shown in FIG. 1 .
  • the server determines, according to the user attribute of the user, a target blockchain corresponding to the service data from the plurality of blockchains.
  • the target blockchain refers to the blockchain used to store the service data. Since the user attribute can represent the characteristics of the user, multiple users of the same user attribute can be used as a type of user group. In order to analyze the service data of a certain type of user group in a targeted manner, the business data of the user of the same user attribute can be stored in a zone. On the blockchain. Moreover, users of the same user attribute tend to have similarities in the business data, so business data can be processed more conveniently according to user attributes. For example, the user attribute value of user A is X1, the user attribute of user B is X2, and the user attribute of user C is X1. Therefore, the service data of user A and user C of the same attribute can be stored in a blockchain. Store user B's business data on another blockchain.
  • the server may obtain the user attribute of the user, query the preset correspondence according to the user attribute of the user, and determine whether there is a blockchain matching the user attribute of the user in the preset correspondence, and if yes, the user
  • the block chain matched by the user attribute is determined as a target block chain
  • the preset correspondence is used to indicate a correspondence between the user attribute and the blockchain
  • the preset correspondence may be manually pre-configured on the server.
  • the embodiment of the present application does not specifically limit the preset correspondence. For example, see the preset correspondence shown in Table 1:
  • Blockchain User attribute (Beijing, Tianjin, Hebei) Blockchain A User attribute b (Chongqing) Blockchain B
  • the server may query, according to the user attribute of the user, whether the user attribute of the same user attribute exists in the preset correspondence relationship, and if yes, obtain the blockchain identifier corresponding to the same user attribute. Determine the target blockchain.
  • the preset correspondence relationship configured by the server may not cover all possible values of the user attribute.
  • the correspondence between several user attribute values and the blockchain is configured (for example, the user attribute value ranges from various regions in the country, but the blockchain corresponding to the area A and the area B can be configured according to the service requirement. )
  • the user's business data can be stored by default to the shared blockchain, that is, if there is no blockchain matching the user attribute of the user, the server can be more
  • the shared blockchain in the blockchain is determined to be the target blockchain.
  • the user is prevented from refusing or tampering with the service process. If the server fails to obtain the user attribute of a certain user, the service data may also be stored in the shared blockchain.
  • the device for determining the target blockchain may also be the logical node device shown in FIG. 1, and then the logical node device forwards the service data to the node device in the subsystem where the target blockchain is stored.
  • a node chain identifier may be used to identify a blockchain. Therefore, the form of the preset correspondence relationship configured by the logical node device may be a correspondence between the data type and the node device identifier.
  • the server can obtain the user attribute from the service data package, or query the corresponding user attribute according to the user identifier of the user. Further, the target blockchain can be determined based on the acquired user attributes.
  • the embodiment of the present application does not specifically determine which kind of user attribute is used.
  • the specific determining manner can be referred to the following determining manner 1 - determining mode 4:
  • the server determines a blockchain that matches the user's user location as a target blockchain corresponding to the service data.
  • the user location refers to the geographic location where the user is located.
  • the server may obtain the user location by using multiple methods, for example, extracting the user location of the user from the service data packet; or acquiring the user location corresponding to the network address according to the network address in the service data packet; or, according to the user's
  • the user identifier obtains the user location recently reported by the user; or obtains the common location of the user as the user location of the user according to the user identifier of the user.
  • the server may query, in the preset correspondence, whether there is a blockchain matching the user's location of the user, and if so, determine the configured blockchain as the target blockchain.
  • the server can store the user location reported by the user in the configured user database, so that the server can analyze the user position with the largest number of reported user locations as the user's common location.
  • the user location can be accompanied by a current timestamp when stored, so that the server can obtain the user's recently reported user location according to the timestamp.
  • the preset correspondence may be a correspondence between the geographic location and the blockchain identifier.
  • the area A corresponds to the blockchain A
  • the region B corresponds to the blockchain B.
  • the service data of the users at the same user location can be determined to be in the same blockchain, and the service data of the users in the same region can be analyzed in a targeted manner.
  • To develop an operational strategy for the region Of course, in order to shorten the routing distance required for the interaction as much as possible, the service for the users in the area is efficiently provided, and the interaction between the users of different blockchains is reduced, so that the business data processing process is simpler, for each blockchain.
  • the server configuring the blockchain can be deployed in the area corresponding to the blockchain.
  • the server determines the blockchain matching the user equipment of the user as the target blockchain corresponding to the service data.
  • the user equipment refers to a device that the user logs in, such as a mobile phone, a tablet computer, or a desktop computer, and further, which brand of equipment can be specifically designated, such as a brand A mobile phone or a brand B mobile phone.
  • the server can determine the user equipment that the user logs in from the service data packet, and then determine the target blockchain that matches the user equipment.
  • the preset correspondence relationship may be a correspondence between the user equipment type and the blockchain identifier, for example, the mobile phone corresponding blockchain A of the brand A and the mobile phone corresponding block of the brand B.
  • Chain B, desktop computer corresponds to blockchain C.
  • the service data of the user using the same type of user equipment can be determined to be in the same blockchain, and the service data of the user using the same type of device can be targeted. Analyze to develop an operational strategy for the mobile phone user base, brand user base, or fixed-end desktop computer user base.
  • Determination mode 3 According to the third determination mode, the server determines the blockchain matching the user's user level as the target blockchain corresponding to the service data.
  • the user level may be a user credit rating, a user membership level, or a user experience level.
  • the user credit rating is used to indicate the user's credit level
  • the user membership level is used to indicate the user's use of the function authority in the application, and the user experience.
  • the rating is used to indicate the extent to which the user is using the application.
  • the server may obtain the user credit rating from the credit information database of the public security organ or the financial institution according to the user identifier of the user; and obtain the user membership level or the user experience level from the user database according to the user identifier.
  • which user level is used as the determination is not limited according to the embodiment of the present application, and may be manually determined according to the service requirement of the server.
  • a server providing a financial application or a rental application may employ a user credit rating
  • a server providing a social application or a multimedia resource application may employ a user membership level
  • a server providing a social application or a gaming application may employ a user experience level.
  • the preset correspondence relationship may be a correspondence between the user level value and the blockchain identifier.
  • the user credit rating level 1 corresponds to the blockchain A
  • the user credit rating level 2 corresponds to Blockchain B.
  • the service data of the users of the same user level can be determined to be in the same blockchain, and the service data of the users of the same user class can be targeted. Analyze to develop an operational strategy for the user group for each user level.
  • the server determines the blockchain matching the user account of the user as the target blockchain corresponding to the service data.
  • the cooperative account mechanism can be adopted between multiple servers in cooperation, that is, even if the user does not register the account on the server A, the account A on the registered server B can be used to log in to the server A, so the server can Obtaining a user account in the service data packet, and determining a server to which the user account of the user belongs, for example, determining, according to an account format provided by each server, determining a blockchain corresponding to the home server as a target blockchain .
  • the preset correspondence may be a correspondence between the server identifier and the blockchain.
  • the server 1 corresponds to the blockchain A
  • the cooperative server 2 of the server corresponds to the blockchain. B.
  • the service data of the users belonging to the same server can be determined to be in the same blockchain, and the service of the user served by the server can be targeted.
  • the data is analyzed to develop an operational strategy for the user group of the server.
  • the server may also determine the target blockchain corresponding to the user's service data.
  • the corresponding relationship between the user and the target blockchain is stored, so that when the service data of the user is received again, the target blockchain can be directly queried from the stored correspondence according to the user identifier of the user, without After the user reports or the server queries the user attributes, the preset correspondence is queried again.
  • the server generates a second block on the target blockchain based on the service data and the block header feature value of the first block in the target blockchain, where the first block is the previous block of the second block, and the first block is The second block is used to record business data.
  • the server may obtain all the information in the block header of the first block from the target blockchain, and obtain the block header feature value of the first block based on all the information in the block header of the first block. And performing eigenvalue calculation on the service data in the block body to be stored in the second block to obtain the block body feature value of the second block, and further, the block head feature value of the first block and the second block.
  • the block body feature value of the block (which may further include a version number, a difficulty value, and a time stamp) is stored to the block header of the second block; the service data is stored to the block body of the second block, and the second block is generated So that the second block is related to the first block by the block header feature value of the first block, thereby achieving the purpose of concatenating the blocks in the block chain, so that any information in the block (including service data)
  • the tampering can be detected by the traceability of the block header feature value of the previous block stored in the block header of the block, thereby ensuring the security of the service
  • the storage of the service data to the target blockchain may be a node device in the subsystem that configures the target blockchain.
  • the service data may be used.
  • Each node device sends a confirmation message to the node device to use the private key to sign the confirmation message, so that the leading node device can carry the received signature in the service data storage instruction
  • the node device of the data storage instruction may verify the service data storage instruction by using a signature. If the number of signatures matches the preset number, and each signature is verified by the public key of the corresponding node device, the service data storage instruction may be carried.
  • the business data is stored in its own target blockchain.
  • an embodiment of the present application provides a service request processing flowchart, in which a logical node device receives a service request of a user, and selects a region corresponding to the user according to the configured preset correspondence relationship.
  • Block chain, and routing the service request to the local node device configuring the blockchain, and the local node device forwards the service request to the leader node device configuring the blockchain until the leader node device receives the configured blockchain.
  • the acknowledgment message of the preset number of node devices to store the service request in each node device can confirm that the blockchain reaches a consensus on the service request, can respond to the service request, and send the response message to the local node device, local
  • the node device sends a response message to the logical node device, and the logical node device returns a response message to the terminal.
  • the service data of the user of the same user attribute can be stored in a blockchain, thereby enabling multiple blockchains to be
  • the service data of the user with different user attributes are stored separately.
  • the service data can be shunted according to user attributes.
  • the service data is stored in each blockchain in parallel, so that the performance of the server is no longer limited by the chain structure of the blockchain, thereby improving the operating efficiency of the server.
  • a blockchain can handle 100,000 business requests, and based on ten blockchains, it can handle one million business requests.
  • the storage based on the user attribute can also facilitate the targeted analysis of the service data of a certain type of user group, and the users of the same user attribute often have similarities in the service data, and therefore, the service can be improved according to the user attribute.
  • the convenience of data processing is a blockchain that can handle 100,000 business requests, and based on ten blockchains, it can handle one million business requests.
  • the storage based on the user attribute can also facilitate the targeted analysis of the service data of a certain type of user group, and the users of the same user attribute often have similarities in the service data, and therefore, the service can be improved according to the user attribute.
  • the blockchain configured by the server may be updated according to the current service requirements, and the update may be multiple.
  • the following examples are illustrated in the following examples:
  • the first update instruction carries the configured user attribute and the blockchain identifier to be configured.
  • the server may extract the two pieces of data from the first update instruction, and query, in the preset correspondence relationship, whether there is the same data as any one of the two pieces of data, if any The same as the user attribute of the configured user attribute, but the same blockchain identifier as the blockchain identifier to be configured, the blockchain corresponding to the configured user attribute can be modified to the area to be configured. Blockchain.
  • the second update instruction carries the configured user attribute and the configured blockchain identifier.
  • the server may extract the two pieces of data from the second update instruction, and query, in the preset correspondence relationship, whether there is the same data as any one of the two pieces of data, if any If the user attribute is the same as the configured user attribute, and the blockchain identifier is the same as the blockchain identifier to be configured, the corresponding relationship between the configured user attribute and the original blockchain may be deleted, and the relationship is deleted.
  • the configured user attribute is added as the user attribute corresponding to the configured blockchain.
  • Case 3 When the server receives the third update instruction, the corresponding relationship between the user attribute to be configured and the blockchain to be configured is updated based on the third update instruction.
  • the third update instruction carries the user attribute to be configured and the blockchain identifier to be configured.
  • the server may extract the two pieces of data from the third update instruction, and query whether there is data identical to any one of the two pieces of data in the preset correspondence relationship, if not There is a user attribute that is the same as the user attribute to be configured, and there is no blockchain identifier that is the same as the blockchain identifier to be configured. You can add a corresponding relationship between the user attribute to be configured and the blockchain to be configured.
  • Case 4 When receiving the fourth update instruction, update the correspondence between the user attribute to be configured and the configured blockchain based on the fourth update instruction.
  • the fourth update instruction carries the user attribute to be configured and the configured blockchain identifier.
  • the server may extract the two data from the fourth update instruction, and query whether there is data identical to any one of the two data in the preset correspondence, if not
  • the user attribute is the same as the user attribute to be configured, but the same as the blockchain identifier of the blockchain identifier to be configured, the user attribute to be configured can be added as the user corresponding to the configured blockchain. Attributes.
  • the above update process takes the user attribute of the area C as an example. If the block chain corresponding to the area C is the same as the block chain corresponding to the configured area B, the operator can trigger the fourth update instruction, so that the server can be based on The received fourth update instruction is updated.
  • the business data of the new user group can be stored in the new blockchain according to the current business requirements; or the business data of the new user group can be stored to the configured In the blockchain; the configured user attributes can be mapped to the new blockchain according to the changed service requirements; the corresponding relationship between the configured user attributes and the configured blockchain can also be changed, thereby being flexible. Control how the business data is stored.
  • the server may stop processing the service data on the blockchain corresponding to the update instruction when receiving the update instruction.
  • the stored procedure; until the executed contract is completed and the update completion message is received, the service data is stored according to the updated preset correspondence.
  • the contract refers to the code running on the blockchain to indicate how to process the business data. Since some contracts may be executed when an update command is received, in order to prevent the updated contract from being executed normally, it is possible to wait for the execution of the executed contract to complete before processing the service data after the blockchain or user attribute update.
  • FIG. 4 is a block diagram of a service data storage apparatus according to an embodiment of the present application.
  • the device specifically includes:
  • the receiving module 401 is configured to receive service data of the user.
  • a determining module 402 configured to determine, according to a user attribute of the user, a target blockchain corresponding to the service data from the plurality of blockchains;
  • the storage module 403 is configured to generate a second block on the target blockchain based on the service data and the block header feature value of the first block in the target blockchain, where the first block is the previous block of the second block Block, the second block is used to record business data.
  • the service data of the user of the same user attribute can be stored in a blockchain, thereby enabling multiple blockchains to be
  • the service data of the user with different user attributes are stored separately.
  • the service data since the process of generating blocks in each block chain does not affect each other, even if a large amount of user data is received in a short period of time, the service data can be shunted according to user attributes.
  • the service data is stored in each blockchain in parallel, so that the performance of the server is no longer limited by the chain structure of the blockchain, thereby improving the operating efficiency of the server.
  • the service data of a certain type of user group can be analyzed in a targeted manner, and the users of the same user attribute tend to have similarities on the business data, so the service data can be processed more conveniently according to the user attributes.
  • the determining module 402 is configured to:
  • Querying a preset correspondence relationship according to a user attribute of the user where the preset correspondence relationship is used to indicate a correspondence between the user attribute and the blockchain; if there is a blockchain matching the user attribute of the user in the preset correspondence relationship, the user's The blockchain to which the user attribute matches is determined as the target blockchain.
  • the determining module 402 is further configured to:
  • the shared blockchain in the plurality of blockchains is determined as the target blockchain, and the shared blockchain is used to store the shared service data between the plurality of service organizations. .
  • the device further includes:
  • the receiving module 401 is configured to receive a service data packet.
  • the obtaining module 404 is configured to obtain service data and a signature of the user on the service data from the service data packet;
  • the determining module 402 is configured to determine a target blockchain corresponding to the service data from the plurality of blockchains according to the user attribute of the user if the signature verification of the service data is passed.
  • the device further includes:
  • the update module 405 is configured to: when the first update instruction is received, update the correspondence between the configured user attribute and the blockchain to be configured based on the first update instruction; or
  • the update module 405 is configured to: when the second update instruction is received, update the correspondence between the configured user attribute and the configured blockchain based on the second update instruction; or
  • the update module 405 is configured to: when receiving the third update instruction, update the correspondence between the user attribute to be configured and the blockchain to be configured based on the third update instruction; or
  • the updating module 405 is configured to, when receiving the fourth update instruction, update the correspondence between the user attribute to be configured and the configured blockchain based on the fourth update instruction.
  • the determining module 402 is configured to: determine, according to the first determining manner, a blockchain that matches a user location of the user as a target blockchain corresponding to the service data; and/or,
  • the determining module 402 is configured to determine, according to the second determining manner, a blockchain of the user equipment that matches the user as a target blockchain corresponding to the service data; and/or,
  • the determining module 402 is configured to: determine, according to the third determining manner, a blockchain that matches a user level of the user as a target blockchain corresponding to the service data; and/or,
  • the determining module 402 is configured to: determine, according to the fourth determining manner, a blockchain matching the user account of the user as a target blockchain corresponding to the service data.
  • the service data storage device provided by the foregoing embodiment stores the service data
  • only the division of the foregoing functional modules is illustrated.
  • the function distribution may be completed by different functional modules as needed.
  • the internal structure of the device is divided into different functional modules to perform all or part of the functions described above.
  • the service data storage device and the service data storage method embodiment provided by the foregoing embodiments are in the same concept, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
  • FIG. 7 is a block diagram of a computer device 700 provided by an embodiment of the present application.
  • computer device 700 can be provided as a server.
  • computer device 700 includes a processor 722 and a memory 732 having stored therein at least one instruction, at least one program, code set, or set of instructions, at least one instruction, at least one program, code set, or instruction set being 722 loads and executes to implement the above business data storage method.
  • Computer device 700 may also include a power supply component 726 configured to perform power management of computer device 700, a wired or wireless network interface 750 configured to connect computer device 700 to the network, and an input/output (I/O) interface 758 .
  • the computer device 700 may operate based on an operating system stored in the memory 732, such as Windows Server TM, Mac OS X TM , Unix TM, Linux TM, FreeBSD TM or the like.
  • a storage medium such as a memory comprising at least one instruction, at least one program, a code set, or a set of instructions, the at least one instruction, the at least one program, the code set, or the set of instructions being executable by a computer device
  • the processor in the middle is loaded and executed to complete the business data storage method in the above embodiment.
  • the storage medium may be a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种业务数据存储方法、装置、存储介质及电子设备,属于网络技术领域。该方法包括:接收用户的业务数据;根据用户的用户属性,从多条区块链中确定与业务数据对应的目标区块链;基于业务数据以及目标区块链中第一区块的区块头特征值,在目标区块链上生成第二区块,第一区块为第二区块的上一个区块,第二区块用于记录业务数据。本申请可以并行地在各个区块链中存储业务数据,使得服务器的性能不再受限于区块链的链式结构,提高了服务器的运行效率。而且,能够针对性地分析一类用户群的业务数据,且相同用户属性的用户往往在业务数据上具有相似性,因此依据用户属性也可以更方便地处理业务数据。

Description

业务数据存储方法、装置、存储介质及电子设备
本申请要求于2017年6月12日提交中国国家知识产权局、申请号为2017104389440、发明名称为“业务数据存储方法、装置、存储介质及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及网络技术领域,特别涉及一种业务数据存储方法、装置、存储介质及电子设备。
背景技术
随着网络技术的发展,网络带宽得到大幅优化,网络业务趋于多样化,服务器能够为用户提供丰富的业务并快捷地为用户处理所需业务。
在处理用户的业务数据的过程中,为了备份本次业务处理过程,当接收到用户的业务数据时,服务器可以将业务数据存储到一条区块链中。
由于区块链的数据结构是按照时间顺序相连的区块,服务器需要串行地将业务数据存储到该区块链中,导致服务器的运行效率低。
发明内容
本申请实施例提供了一种业务数据存储方法、装置、存储介质及电子设备。采用多条区块链存储业务数据的方式,基于各个区块链的区块生成过程互不影响的特征,能够并行地在各个区块链上处理大量用户的业务数据,提高了服务器的运行效率。所述技术方案如下:
一方面,提供了一种业务数据存储方法,所述方法包括:
接收用户的业务数据;
根据所述用户的用户属性,从多条区块链中确定与所述业务数据对应的目标区块链;
基于所述业务数据以及所述目标区块链中第一区块的区块头特征值,在所述目标区块链上生成第二区块,所述第一区块为所述第二区块的上一个区块, 所述第二区块用于记录所述业务数据。
一方面,提供了一种业务数据存储装置,所述装置包括:
接收模块,用于接收用户的业务数据;
确定模块,用于根据所述用户的用户属性,从多条区块链中确定与所述业务数据对应的目标区块链;
存储模块,用于基于所述业务数据以及所述目标区块链中第一区块的区块头特征值,在所述目标区块链上生成第二区块,所述第一区块为所述第二区块的上一个区块,所述第二区块用于记录所述业务数据。
一方面,提供了一种存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述任一种可能实现方式的业务数据存储方法。
一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述任一种可能实现方式的业务数据存储方法。
本申请实施例通过在一个服务器或一个业务数据处理系统中配置多条区块链,可以将相同或相近用户属性的用户的业务数据存储到一条区块链中,进而使得多条区块链上可以分别存储有不同用户属性的用户的业务数据,一方面,由于各个区块链在生成区块的过程互不影响,即使短期内接收到大量用户的业务数据,也能按照用户属性将业务数据分流至各个区块链中,进而并行地在各个区块链中存储业务数据,使得服务器的性能不再受限于区块链的链式结构,提高了服务器的运行效率。另一方面,基于用户属性进行存储,也能够有利于针对性地分析一类用户群的业务数据,且相同用户属性的用户往往在业务数据上具有相似性,因此,依据用户属性也可以提高业务数据处理的便捷性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种业务数据处理系统的示意图;
图2是本申请实施例提供的一种业务数据存储方法的流程图;
图3是本申请实施例提供的一种业务请求处理流程图;
图4是本申请实施例提供的一种业务数据存储装置的框图;
图5是本申请实施例提供的一种业务数据存储装置的框图;
图6是本申请实施例提供的一种业务数据存储装置的框图;
图7是本申请实施例提供的一种电子设备700的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种业务数据处理系统的示意图,如图1所示,该业务数据处理系统可以由多个子系统构成,每个子系统可以按照用户的用户属性配置有多条区块链,任两个子系统之间可以配置相同的一条区块链,使得配置有同一区块链的多个子系统可以针对该区块链所存储的业务数据达成共识,并基于业务数据为用户提供服务。
例如,该业务数据处理系统可以为支付业务数据处理系统,该支付业务数据处理系统包括子系统101、子系统102、子系统103和子系统104。该子系统101可以包括网络服务商部署的节点设备1011、节点设备1012和节点设备1013,这三个节点分别配置有区块链A、区块链B和区块链C;该子系统102可以包括银行X部署的节点设备1021、节点设备1022和节点设备1023,这三个节点分别配置有区块链A、区块链B和区块链C;该子系统103可以包括银行Y部署的节点设备1031、节点设备1032和节点设备1033,这三个节点设备分别配置有区块链A、区块链B和区块链C;该子系统104可以包括监管机构部署的节点设备1041、节点设备1042和节点设备1043,这三个节点设备分别配置有区块链A、区块链B和区块链C。当然,各个子系统也可以由同一个服务机构部署,每个节点设备可以被提供为一个服务器。
其中,区块链A、区块链B和区块链C所存储的业务数据对应的用户属性各不相同,如,区块链A用于存储用户属性为a1的用户的业务数据和用户属性为a2的用户的业务数据,区块链B用于存储用户属性为b的用户的业务数 据,区块链C用于存储用户属性为c的用户的业务数据。本申请实施例可以采用多种用户属性来划分各个区块链,例如,当前的用户位置、用户登录的用户设备或用户等级等,以按照用户位置来划分区块链为例,a1可以为地区1,a2可以为地区2,b可以为地区3,c可以为地区4,也就是说,区块链A可以存储位于地区1和地区2的用户的业务数据,区块链B可以存储位于地区3的用户的业务数据,区块链C可以存储位于地区4的用户的业务数据。事实上,为了便于多个服务机构之间共享数据,该多个子系统之间配置的多条区块链中也可以包括一条共享区块链,该共享区块链用于存储多个服务机构之间共享的业务数据,例如,该区块链A为共享区块链,除了可以存储位于地区1的用户的业务数据,也可以存储位于地区2的用户的业务数据,且对于不能确定具体位置的用户的业务数据,也可以存储到该共享区块链中。
本申请实施例中,该多条区块链可以均为至少一个服务机构提供数据服务。例如,区块链A、区块链B和区块链C均为网络服务商、银行X、银行Y和监管机构提供数据服务。或者,多条区块链可以为至少一个第一服务机构提供数据服务,多条区块链中的部分区块链为至少一个第一服务机构和至少一个第二服务机构提供数据服务,例如,银行Y未配置区块链C,其他服务机构的配置不变,则该至少一个第一服务机构可以为网络服务商、银行X和监管机构,区块链A、区块链B和区块链C均可以为这三个服务机构提供数据服务;该至少一个第二服务机构为银行Y,区块链A和区块链B均可以为网络服务商、银行X、监管机构和银行Y提供数据服务。也就是说,一个机构部署的子系统上可以配置多条区块链中的部分或者全部,进而基于子系统上所配置的区块链进行数据存储、数据查询等操作。
在实际的应用场景中,每个子系统还可以包括至少一个逻辑节点设备,该逻辑点与其所在子系统中的各个节点设备之间设置有网络连接,用于接收用户的业务数据,并按照该用户的用户属性将该业务数据转发给该子系统中对应的节点。该子系统中配置区块链的节点用于将接收到的业务数据存储至区块链中,并基于该业务数据进行响应。本申请实施例中,每条区块链对应的多个节点可以独立运行,任两条区块链对应的节点互不影响,如,在当前时刻,节点设备1011为运行于领导状态的节点设备,用于指示区块链A对应的运行于跟随状态的节点设备如何工作;节点设备1022也为运行于领导状态的节点设备,用于指示区块链B对应的运行于跟随状态的节点设备。在区块链A的选举过 程中,运行于领导状态的节点设备正在发生切换,但并不影响其他区块链对应的节点设备如何工作,如,此时区块链B对应的节点设备可能正在基于领导状态的节点设备正常工作。
在业务数据处理过程中,以节点1011接收到用户的业务数据为例,节点设备1011可以将该业务数据重定向至配置有区块链A、且运行于领导状态的节点设备(假设为1021),由1021向配置有区块链A的各个节点设备广播业务数据存储请求,该业务数据存储请求用于请求将该业务数据存储至区块链A中,如果节点设备1021可以接收到区块链A对应的所有节点设备中预设数量的节点对该业务数据存储请求的确认消息,则可以将该业务数据存储至自身的区块链A中,基于该业务数据对用户进行响应,并向该各个节点设备广播业务数据存储指令,使得区块链A对应的各个节点设备将该业务数据也存储至自身的区块链A中。其中,预设数量是指已配置的达成共识所要求的节点数量,本申请实施例不限定该预设数量的具体值,例如,以区块链基于PBFT(Practical Byzantine Fault Tolerance algorithm,拜占庭容错共识算法)为例,一条区块链对应的全部节点设备数量为3f+1,则预设数量可以为大于等于2f+1小于等于3f+1的数值,f为任意正整数。
需要说明的是,上述子系统也可以为一台计算机设备,也即是,可以在该一台计算机设备上配置有多条区块链,并执行一个子系统所执行的功能。
图2是本申请实施例提供的一种业务数据存储方法的流程图,该方法可以应用于图1所示的业务数据处理系统中的任一子系统,以该子系统为服务器为例,包括以下步骤:
201、服务器接收用户的业务数据。
该业务数据是指基于用户所需业务生成的数据。在实际的应用场景中,该业务数据可以有多种形式,如,该业务数据可以为用户对某一业务的发起请求、用户对该业务的确认请求、用户需要上传至服务器的本地数据或用户输入数据等。以支付业务的应用场景为例,用户A向用户B转账时,该业务数据可以是用户A发起的转账请求或用户B的确认转账请求,也可以是用户A上传的用于支付转账金额的支付密码。
为了进一步提高业务数据处理过程的安全性,避免接收到恶意用户伪装成正常用户发来的业务数据,可以验证发送业务数据的用户身份。该步骤也可以 具体为:服务器接收业务数据包;从业务数据包中获取业务数据和用户对业务数据的签名。该业务数据包是指用户发送的完整数据,该签名可以是用户所在设备基于用户私钥对业务数据的签名,使得服务器能够基于与该用户的用户公钥对该签名进行验证,具体地,服务器可以采用该用户公钥解析签名,得到摘要信息,并按照与用户侧约定的算法,计算出业务数据的摘要信息,将两个摘要信息进行匹配,如果匹配成功,则确定该签名验证通过,进行步骤202,如果匹配失败,则确定该签名验证失败,说明该业务数据很可能来自于恶意用户或经过了恶意用户的篡改,则服务器可以忽略该业务数据,或者将该业务数据存储至黑名单业务数据库,该黑名单业务数据库用于存储恶意用户操作过的业务数据。
需要说明的是,接收业务数据的设备也可以是图1所示的逻辑节点设备。
202、服务器根据用户的用户属性,从多条区块链中确定与业务数据对应的目标区块链。
该步骤中,目标区块链是指本次用于存储该业务数据的区块链。由于用户属性可以表现用户的特征,同一用户属性的多个用户可以作为一类用户群,为了针对性地分析一类用户群的业务数据,可以将同一用户属性的用户的业务数据存储到一条区块链上。而且,相同用户属性的用户往往在业务数据上具有相似性,因此,依据用户属性可以更方便地处理业务数据。例如,用户A的用户属性值为X1,用户B的用户属性为X2,用户C的用户属性为X1,因此,可以将相同属性的用户A和用户C的业务数据存储到一条区块链上,将用户B的业务数据存储到另一条区块链上。
具体地,服务器可以获取用户的用户属性,根据该用户的用户属性查询预设对应关系,判断预设对应关系中是否存在与该用户的用户属性匹配的区块链,如果是,将与该用户的用户属性匹配的区块链确定为目标区块链,该预设对应关系用于指示用户属性与区块链的对应关系,该预设对应关系可以人工地预先配置在服务器上。本申请实施例对预设对应关系不做具体限定。例如,参见表1所示的预设对应关系:
表1
用户属性 区块链
用户属性a(北京、天津、河北) 区块链A
用户属性b(重庆) 区块链B
用户属性c(海南) 区块链C
上述确定过程中,服务器可以根据用户的用户属性,在预设对应关系中查询是否存在与该用户的用户属性相同的用户属性,如果是,则获取该相同的用户属性对应的区块链标识,确定出目标区块链。
事实上,为了减少服务器侧的参数配置,提高服务器查询预设对应关系的效率,并减少对存储空间的占用,服务器所配置的预设对应关系也可以不涵盖用户属性的所有可能取值,而是根据服务需求,配置几个用户属性值与区块链的对应关系(如,用户属性取值范围为国内的各个地区,但按照服务需求配置地区A和地区B分别对应的区块链即可),对于未配置对应用户属性的区块链,可以将用户的业务数据默认存储至共享区块链,也即是,如果不存在与该用户的用户属性匹配的区块链,服务器可以将多条区块链中的共享区块链确定为目标区块链。或者,为了备份已接收到的业务数据,避免用户抵赖或篡改业务处理流程,如果服务器获取某一用户的用户属性失败,也可以将该业务数据存储至共享区块链。
需要说明的是,确定目标区块链的设备也可以是图1所示的逻辑节点设备,进而由该逻辑节点设备将该业务数据转发至其所在子系统中存储该目标区块链的节点设备。对于逻辑节点设备来说,可以由节点设备标识来标识一个区块链,因此逻辑节点设备所配置的预设对应关系的形式可以为数据类型和节点设备标识的对应关系。
在获取用户属性时,服务器既可以从业务数据包中获取用户属性,也可以根据用户的用户标识查询对应的用户属性。进而,可以根据获取的用户属性确定目标区块链。本申请实施例对采用哪一种用户属性进行确定不做具体限定,例如,具体确定方式可以参见以下确定方式1-确定方式4:
确定方式1、根据第一确定方式,服务器将与用户的用户位置匹配的区块链确定为与业务数据对应的目标区块链。
该确定方式中,用户位置是指用户所在的地理位置。服务器可以采用多种方法获取用户位置,例如,从业务数据包中提取出用户的用户位置;或者,根据业务数据包中的网络地址,获取该网络地址对应的用户位置;或者,根据该用户的用户标识,获取该用户最近上报的用户位置;或者根据该用户的用户标识,获取该用户的常用位置作为该用户的用户位置。进而,服务器可以在预设对应关系中查询是否存在该用户的用户位置匹配的区块链,如果是,则将配置 的区块链确定为与目标区块链。其中,服务器可以将用户上报的用户位置存储到已配置的用户数据库中,使得服务器可以分析出已上报的用户位置中数量最多的用户位置作为用户的常用位置。该用户位置在存储时可以附带当前的时间戳,以方便服务器按照时间戳获取用户最近上报的用户位置。
在采用用户位置这一用户属性时,该预设对应关系可以为地理位置与区块链标识之间的对应关系,如,地区A对应区块链A,地区B对应区块链B。
通过将与用户的用户位置匹配的区块链作为目标区块链,相同用户位置的用户的业务数据可以确定到同一区块链中,进而可以针对性地对同一地区的用户的业务数据进行分析,从而制定该地区的运营策略。当然,为了尽可能缩短交互所需的路由距离,高效地为该地区的用户提供服务,同时减少不同区块链对应用户之间的交互,使业务数据处理过程更简便,对于每条区块链,可以将配置该区块链的服务器部署在该区块链对应的地区。
确定方式2、根据第二确定方式,服务器将与用户的用户设备匹配的区块链确定为与业务数据对应的目标区块链。
该确定方式中,用户设备是指用户登录的设备,如手机、平板电脑或台式电脑等,进一步地,还可以具体到哪个品牌的设备,如品牌A的手机、品牌B的手机。服务器可以从业务数据包中确定用户登录的用户设备,进而确定与该用户设备匹配的目标区块链。在采用用户设备这一用户属性时,该预设对应关系可以为用户设备类型与区块链标识之间的对应关系,如,品牌A的手机对应区块链A,品牌B的手机对应区块链B,台式电脑对应区块链C。
通过将与用户的用户设备匹配的区块链作为目标区块链,使用同类用户设备的用户的业务数据可以确定到同一区块链中,进而可以针对性地对使用同类设备的用户的业务数据进行分析,从而制定相应手机用户群、品牌用户群或固定端台式电脑用户群的运营策略。
确定方式3、根据第三确定方式,服务器将与用户的用户等级匹配的区块链确定为与业务数据对应的目标区块链。
其中,该用户等级可以为用户征信等级、用户会员等级或用户经验等级等,用户征信等级用于指示用户的信用高低,用户会员等级用于指示用户在应用中的使用功能权限,用户经验等级用于指示用户使用应用的程度。服务器可以根据该用户的用户标识,从公安机关或金融机构的征信数据库获取该用户征信等级;根据该用户标识从用户数据库中获取用户会员等级或用户经验等级。具体 以哪一种用户等级作为确定依据本申请实施例不做限定,可以视服务器的服务需求来人工决策。例如,提供金融应用或租赁应用的服务器可以采用用户征信等级;提供社交应用或多媒体资源应用的服务器可以采用用户会员等级;提供社交应用或游戏应用的服务器可以采用用户经验等级。在采用用户等级这一用户属性时,该预设对应关系可以为用户等级值与区块链标识之间的对应关系,如,用户征信等级1对应区块链A,用户征信等级2对应区块链B。
通过将与用户的用户等级匹配的区块链作为目标区块链,同一用户等级的用户的业务数据可以确定到同一区块链中,进而可以针对性地对相同用户等级的用户的业务数据进行分析,从而制定相应每个用户等级的用户群的运营策略。
确定方式4、根据第四确定方式,服务器将与用户的用户账号匹配的区块链确定为与业务数据对应的目标区块链。
考虑到合作的多个服务器之间可以采用合作账号机制,也即是,即使用户没有在服务器A上注册账号,但可以采用在已注册的服务器B上的账号登录该服务器A,因此,服务器可以获取业务数据包中的用户账号,并确定该用户的用户账号归属的服务器,如,依据每个服务器提供的账号格式进行确定,将与该归属的服务器对应的区块链确定为目标区块链。在采用用户账号这一用户属性时,该预设对应关系可以为服务器标识与区块链之间的对应关系,如,该服务器1对应区块链A,该服务器的合作服务器2对应区块链B。
通过将与用户的用户账号匹配的区块链作为目标区块链,归属于同一服务器的用户的业务数据可以确定到同一区块链中,进而可以针对性地对某一服务器所服务用户的业务数据进行分析,从而制定相应该服务器的用户群的运营策略。
需要说明的是,对于需要用户上报的用户属性或者服务器查询的用户属性,为了便于后续高效地为该用户确定目标区块链,服务器也可以在确定该用户的业务数据对应的目标区块链之后,存储该用户与该目标区块链的对应关系,使得再次接收到该用户的业务数据时,可以直接根据该用户的用户标识,从已存储的对应关系中查询到目标区块链,而无需用户上报或服务器查询用户属性后再次查询预设对应关系。
203、服务器基于业务数据以及目标区块链中第一区块的区块头特征值,在目标区块链上生成第二区块,第一区块为第二区块的上一个区块,第二区块 用于记录业务数据。
该步骤中,服务器可以从目标区块链中获取第一区块的区块头中的所有信息,并基于该第一区块的区块头中的所有信息得到第一区块的区块头特征值,并对将要存入第二区块的区块主体中的业务数据进行特征值计算,得到第二区块的区块主体特征值,进而,将第一区块的区块头特征值、第二区块的区块主体特征值(还可以包括版本号、难度值和时间戳)存储至第二区块的区块头;将业务数据存储至第二区块的区块主体,生成该第二区块,使得第二区块与第一区块通过第一区块的区块头特征值相关,因而实现了将区块链中的区块串联起来的目的,使得对区块中任何信息(包括业务数据)的篡改,均能够通过区块的区块头中所存储的上一个区块的区块头特征值的追溯而检测到,从而保证了业务数据的安全。
需要说明的是,将业务数据存储至目标区块链的可以是子系统中配置该目标区块链的节点设备,当该节点设备接收到逻辑节点设备转发的业务数据时,可以将该业务数据发送至该目标区块链对应的运行于领导状态的节点设备(简称领导节点设备),由该领导节点设备广播业务数据存储请求至该目标区块链对应的各个节点设备,如果领导节点设备能够接收到各个节点设备中预设数量的节点设备对该业务数据存储请求的确认消息,则可以将该业务数据存储至自身的目标区块链中,基于该业务数据对用户进行响应,并向该各个节点设备广播业务数据存储指令,使得目标区块链对应的各个节点设备(包括该节点设备)可以将该业务数据存储至自身的目标区块链中。其中,每个节点设备在发送确认消息时,也发送该节点设备采用私钥对该确认消息的签名,使得领导节点设备能够将接收到的签名携带在业务数据存储指令中,进而使得接收到业务数据存储指令的节点设备可以通过签名对业务数据存储指令进行验证,如果签名的数量符合预设数量,且每个签名均通过对应节点设备的公钥验证通过,则可以将业务数据存储指令中携带的业务数据存储至自身的目标区块链中。
参见图3,本申请实施例提供了一种业务请求处理流程图,该处理流程中,由逻辑节点设备接收用户的业务请求,并按照已配置的预设对应关系,选择与该用户对应的区块链,并将业务请求路由至配置该区块链的本地节点设备,由该本地节点设备将业务请求转发至配置该区块链的领导节点设备,直到领导节点设备接收到配置该区块链的各个节点设备中预设数量的节点设备对存储业务请求的确认消息,可以确认该区块链对该业务请求达成共识,可以对该业务 请求进行响应,将响应消息发送至本地节点设备,本地节点设备将响应消息发送至逻辑节点设备,进而由逻辑节点设备将响应消息返回给终端。
本申请实施例通过在一个服务器或一个业务数据处理系统中配置多条区块链,可以将相同用户属性的用户的业务数据存储到与一条区块链中,进而使得多条区块链上可以分别存储有不同用户属性的用户的业务数据,一方面,由于各个区块链在生成区块的过程互不影响,即使短期内接收到大量用户的业务数据,也能按照用户属性将业务数据分流至各个区块链中,进而并行地在各个区块链中存储业务数据,使得服务器的性能不再受限于区块链的链式结构,提高了服务器的运行效率。例如,在产权登记业务的处理过程中,基于一条区块链可以处理十万人的业务请求,而基于十条区块链可以处理一百万人的业务请求。另一方面,基于用户属性进行存储,也能够有利于针对性地分析一类用户群的业务数据,且相同用户属性的用户往往在业务数据上具有相似性,因此,依据用户属性也可以提高业务数据处理的便捷性。
而且,由于区块链中前后区块之间相关联,使得对于区块中任一业务数据的篡改都能通过下一区块检测到,避免了恶意用户篡改或抵赖处理过的业务数据,也保证了业务数据的安全性。
在实际的应用场景中,根据当前的业务需求,服务器所配置的区块链也可能更新,更新的情况可能有多种,本申请实施例以下述四种情况举例说明:
情况1、当服务器接收到第一更新指令时,基于第一更新指令更新已配置的用户属性与待配置的区块链的对应关系。
其中,第一更新指令携带已配置的用户属性和待配置的区块链标识。当接收到第一更新指令后,服务器可以从第一更新指令中提取出这两项数据,并在预设对应关系中查询是否存在与这两项数据中任一项数据相同的数据,如果存在与已配置的用户属性相同的用户属性,但不存在与该待配置的区块链标识相同的区块链标识,则可以将该已配置的用户属性对应的区块链修改为待配置的区块链。
情况2、当服务器接收到第二更新指令时,基于第二更新指令更新已配置的用户属性与已配置的区块链的对应关系。
其中,第二更新指令携带已配置的用户属性和已配置的区块链标识。当接收到第二更新指令后,服务器可以从第二更新指令中提取出这两项数据,并在预设对应关系中查询是否存在与这两项数据中任一项数据相同的数据,如果存 在与已配置的用户属性相同的用户属性,且存在与该待配置的区块链标识相同的区块链标识,则可以删除该已配置的用户属性与原区块链的对应关系,并将该已配置的用户属性添加为该已配置的区块链对应的用户属性。
情况3、当服务器接收到第三更新指令时,基于第三更新指令更新待配置的用户属性与待配置的区块链的对应关系。
其中,第三更新指令携带待配置的用户属性和待配置的区块链标识。当接收到第三更新指令后,服务器可以从第三更新指令中提取出这两项数据,并在预设对应关系中查询是否存在与这两项数据中任一项数据相同的数据,如果不存在与待配置的用户属性相同的用户属性,也不存在与该待配置的区块链标识相同的区块链标识,可以添加一条待配置的用户属性与待配置的区块链的对应关系。
情况4、当接收到第四更新指令时,基于第四更新指令更新待配置的用户属性与已配置的区块链的对应关系。
其中,第四更新指令携带待配置的用户属性和已配置的区块链标识。当接收到第四更新指令后,服务器可以从第四更新指令中提取出这两项数据,并在预设对应关系中查询是否存在与这两项数据中任一项数据相同的数据,如果不存在与待配置的用户属性相同的用户属性,但存在与已待配置的区块链标识相同的区块链标识,可以将该待配置的用户属性添加为该已配置的区块链对应的用户属性。
需要说明的是,在更新该服务器上的用户属性和区块链的对应关系时,为了保证整个业务数据处理系统能够正常工作,涉及被更新的用户属性或被更新的区块链的其他服务器也会进行同步的更新过程。
上述更新过程以添加地区C这一用户属性为例,假设地区C待对应的区块链与已配置的地区B对应的区块链相同,则运营人员可以触发第四更新指令,使得服务器可以基于接收到的第四更新指令进行更新。
通过对用户属性和区块链进行更新,可以按照当前的业务需求将新一类用户群的业务数据存储到新的区块链中;也可以将新一类用户群的业务数据存储到已配置的区块链中;也可以根据变化的服务需求,将已配置的用户属性与新的区块链对应;还可以变更已配置的用户属性与已配置的区块链的对应关系,从而能够灵活地控制业务数据的存储方式。
在上述更新过程中,为了避免正在变化的用户属性与区块链的对应关系影 响正常的业务数据处理过程,服务器可以在接收到更新指令时,停止处理该更新指令对应的区块链上业务数据的存储过程;直到完成已执行的合约且接收到更新完成消息时,按照更新后的预设对应关系存储业务数据。其中,合约是指运行在区块链上的代码,用于指示如何处理业务数据。由于接收到更新指令时可能正在执行某些合约,因此为了避免更新后合约无法正常执行,可以等待已执行的合约执行完成,再开始处理区块链或用户属性更新后的业务数据。
图4是本申请实施例提供的一种业务数据存储装置的框图。参见图4,该装置具体包括:
接收模块401,用于接收用户的业务数据;
确定模块402,用于根据用户的用户属性,从多条区块链中确定与业务数据对应的目标区块链;
存储模块403,用于基于业务数据以及目标区块链中第一区块的区块头特征值,在目标区块链上生成第二区块,第一区块为第二区块的上一个区块,第二区块用于记录业务数据。
本申请实施例通过在一个服务器或一个业务数据处理系统中配置多条区块链,可以将相同用户属性的用户的业务数据存储到与一条区块链中,进而使得多条区块链上可以分别存储有不同用户属性的用户的业务数据,一方面,由于各个区块链在生成区块的过程互不影响,即使短期内接收到大量用户的业务数据,也能按照用户属性将业务数据分流至各个区块链中,进而并行地在各个区块链中存储业务数据,使得服务器的性能不再受限于区块链的链式结构,提高了服务器的运行效率。另一方面,能够针对性地分析一类用户群的业务数据,且相同用户属性的用户往往在业务数据上具有相似性,因此依据用户属性也可以更方便地处理业务数据。
在一种可能实现方式中,确定模块402用于:
根据用户的用户属性查询预设对应关系,预设对应关系用于指示用户属性与区块链的对应关系;如果预设对应关系中存在与用户的用户属性匹配的区块链,将与用户的用户属性匹配的区块链确定为目标区块链。
在一种可能实现方式中,确定模块402还用于:
如果不存在与用户的用户属性匹配的区块链,将多条区块链中的共享区块链确定为目标区块链,共享区块链用于存储多个服务机构之间共享的业务数 据。
在一种可能实现方式中,基于图4的装置组成,参见图5,该装置还包括:
接收模块401,用于接收业务数据包;
获取模块404,用于从业务数据包中获取业务数据和用户对业务数据的签名;
确定模块402,用于如果对业务数据的签名验证通过,根据用户的用户属性,从多条区块链中确定与业务数据对应的目标区块链。
在一种可能实现方式中,基于图4的装置组成,参见图6,该装置还包括:
更新模块405,用于当接收到第一更新指令时,基于第一更新指令更新已配置的用户属性与待配置的区块链的对应关系;或,
更新模块405,用于当接收到第二更新指令时,基于第二更新指令更新已配置的用户属性与已配置的区块链的对应关系;或,
更新模块405,用于当接收到第三更新指令时,基于第三更新指令更新待配置的用户属性与待配置的区块链的对应关系;或,
更新模块405,用于当接收到第四更新指令时,基于第四更新指令更新待配置的用户属性与已配置的区块链的对应关系。
在一种可能实现方式中,确定模块402用于:根据第一确定方式,将匹配用户的用户位置的区块链确定为与业务数据对应的目标区块链;和/或,
确定模块402用于:根据第二确定方式,将匹配用户的用户设备的区块链确定为与业务数据对应的目标区块链;和/或,
确定模块402用于:根据第三确定方式,将匹配用户的用户等级的区块链确定为与业务数据对应的目标区块链;和/或,
确定模块402用于:根据第四确定方式,将匹配用户的用户账号的区块链确定为与业务数据对应的目标区块链。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的业务数据存储装置在存储业务数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的业务数据 存储装置与业务数据存储方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是本申请实施例提供的一种计算机设备700的框图。例如,计算机设备700可以被提供为一服务器。参照图7,计算机设备700包括处理器722和存储器732,存储器732中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器722加载并执行以实现上述业务数据存储方法。
计算机设备700还可以包括一个电源组件726被配置为执行计算机设备700的电源管理,一个有线或无线网络接口750被配置为将计算机设备700连接到网络,和一个输入输出(I/O)接口758。计算机设备700可以操作基于存储在存储器732的操作系统,例如Windows Server TM,Mac OS X TM,Unix TM,Linux TM,FreeBSD TM或类似。
在示例性实施例中,还提供了一种存储介质,例如包括至少一条指令、至少一段程序、代码集或指令集的存储器,上述至少一条指令、至少一段程序、代码集或指令集可由计算机设备中的处理器加载并执行以完成上述实施例中的业务数据存储方法。例如,存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (20)

  1. 一种业务数据存储方法,其中,应用于计算机设备,所述方法包括:
    接收用户的业务数据;
    根据所述用户的用户属性,从多条区块链中确定与所述业务数据对应的目标区块链;
    基于所述业务数据以及所述目标区块链中第一区块的区块头特征值,在所述目标区块链上生成第二区块,所述第一区块为所述第二区块的上一个区块,所述第二区块用于记录所述业务数据。
  2. 根据权利要求1所述的方法,其中,所述根据所述用户的用户属性,从多条区块链中确定与所述业务数据对应的目标区块链,包括:
    根据所述用户的用户属性查询预设对应关系,所述预设对应关系用于指示用户属性与区块链的对应关系;
    如果所述预设对应关系中存在与所述用户的用户属性匹配的区块链,将与所述用户的用户属性匹配的区块链确定为所述目标区块链。
  3. 根据权利要求2所述的方法,其中,所述方法还包括:
    如果不存在与所述用户的用户属性匹配的区块链,将所述多条区块链中的共享区块链确定为所述目标区块链,所述共享区块链用于存储多个服务机构之间共享的业务数据。
  4. 根据权利要求1所述的方法,其中,所述接收业务数据,包括:
    接收业务数据包;
    从所述业务数据包中获取业务数据和所述用户对所述业务数据的签名;
    所述根据所述用户的用户属性,从多条区块链中确定与所述业务数据对应的目标区块链,包括:
    如果对所述业务数据的签名验证通过,根据所述用户的用户属性,从所述多条区块链中确定与所述业务数据对应的目标区块链。
  5. 根据权利要求1所述的方法,其中,所述方法还包括:
    当接收到第一更新指令时,基于所述第一更新指令更新已配置的用户属性与待配置的区块链的对应关系;或,
    当接收到第二更新指令时,基于所述第二更新指令更新已配置的用户属性与已配置的区块链的对应关系;或,
    当接收到第三更新指令时,基于所述第三更新指令更新待配置的用户属性与待配置的区块链的对应关系;或,
    当接收到第四更新指令时,基于所述第四更新指令更新待配置的用户属性与已配置的区块链的对应关系。
  6. 根据权利要求1所述的方法,其中,所述根据所述用户的用户属性,从多条区块链中确定与所述业务数据对应的目标区块链,包括:
    根据第一确定方式,将匹配所述用户的用户位置的区块链确定为与所述业务数据对应的目标区块链;和/或,
    根据第二确定方式,将匹配所述用户的用户设备的区块链确定为与所述业务数据对应的目标区块链;和/或,
    根据第三确定方式,将匹配所述用户的用户等级的区块链确定为与所述业务数据对应的目标区块链;和/或,
    根据第四确定方式,将匹配所述用户的用户账号的区块链确定为与所述业务数据对应的目标区块链。
  7. 根据权利要求1所述的方法,其中,所述多条区块链均为至少一个服务机构提供数据服务;或,所述多条区块链为至少一个第一服务机构提供数据服务,所述多条区块链中的部分区块链为所述至少一个第一服务机构和至少一个第二服务机构提供数据服务。
  8. 一种业务数据存储装置,应用于计算机设备,其中,所述装置包括:
    接收模块,用于接收用户的业务数据;
    确定模块,用于根据所述用户的用户属性,从多条区块链中确定与所述业务数据对应的目标区块链;
    存储模块,用于基于所述业务数据以及所述目标区块链中第一区块的区块头特征值,在所述目标区块链上生成第二区块,所述第一区块为所述第二区块 的上一个区块,所述第二区块用于记录所述业务数据。
  9. 根据权利要求8所述的装置,其中,所述确定模块用于:
    根据所述用户的用户属性查询预设对应关系,所述预设对应关系用于指示用户属性与区块链的对应关系;如果所述预设对应关系中存在与所述用户的用户属性匹配的区块链,将与所述用户的用户属性匹配的区块链确定为所述目标区块链。
  10. 根据权利要求9所述的装置,其中,所述确定模块还用于:
    如果不存在与所述用户的用户属性匹配的区块链,将所述多条区块链中的共享区块链确定为所述目标区块链,所述共享区块链用于存储多个服务机构之间共享的业务数据。
  11. 根据权利要求8所述的装置,其中,所述装置还包括:
    所述接收模块,用于接收业务数据包;
    获取模块,用于从所述业务数据包中获取业务数据和所述用户对所述业务数据的签名;
    所述确定模块,用于如果对所述业务数据的签名验证通过,根据所述用户的用户属性,从所述多条区块链中确定与所述业务数据对应的目标区块链。
  12. 根据权利要求8所述的装置,其中,所述装置还包括:
    更新模块,用于当接收到第一更新指令时,基于所述第一更新指令更新已配置的用户属性与待配置的区块链的对应关系;或,
    所述更新模块,用于当接收到第二更新指令时,基于所述第二更新指令更新已配置的用户属性与已配置的区块链的对应关系;或,
    所述更新模块,用于当接收到第三更新指令时,基于所述第三更新指令更新待配置的用户属性与待配置的区块链的对应关系;或,
    所述更新模块,用于当接收到第四更新指令时,基于所述第四更新指令更新待配置的用户属性与已配置的区块链的对应关系。
  13. 一种存储介质,其中,所述存储介质中存储有至少一条指令、至少一 段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至权利要求7中任一项所述的业务数据存储方法。
  14. 一种计算机设备,其中,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行业务数据存储方法,所述方法包括:
    接收用户的业务数据;
    根据所述用户的用户属性,从多条区块链中确定与所述业务数据对应的目标区块链;
    基于所述业务数据以及所述目标区块链中第一区块的区块头特征值,在所述目标区块链上生成第二区块,所述第一区块为所述第二区块的上一个区块,所述第二区块用于记录所述业务数据。
  15. 根据权利要求14所述的计算机设备,其中,所述处理器还用于加载并执行下述步骤:
    根据所述用户的用户属性查询预设对应关系,所述预设对应关系用于指示用户属性与区块链的对应关系;
    如果所述预设对应关系中存在与所述用户的用户属性匹配的区块链,将与所述用户的用户属性匹配的区块链确定为所述目标区块链。
  16. 根据权利要求15所述的计算机设备,其中,所述处理器还用于加载并执行下述步骤:
    如果不存在与所述用户的用户属性匹配的区块链,将所述多条区块链中的共享区块链确定为所述目标区块链,所述共享区块链用于存储多个服务机构之间共享的业务数据。
  17. 根据权利要求14所述的计算机设备,其中,所述处理器还用于加载并执行下述步骤:
    接收业务数据包;
    从所述业务数据包中获取业务数据和所述用户对所述业务数据的签名;
    所述根据所述用户的用户属性,从多条区块链中确定与所述业务数据对应的目标区块链,包括:
    如果对所述业务数据的签名验证通过,根据所述用户的用户属性,从所述多条区块链中确定与所述业务数据对应的目标区块链。
  18. 根据权利要求14所述的计算机设备,其中,所述处理器还用于加载并执行下述步骤:
    当接收到第一更新指令时,基于所述第一更新指令更新已配置的用户属性与待配置的区块链的对应关系;或,
    当接收到第二更新指令时,基于所述第二更新指令更新已配置的用户属性与已配置的区块链的对应关系;或,
    当接收到第三更新指令时,基于所述第三更新指令更新待配置的用户属性与待配置的区块链的对应关系;或,
    当接收到第四更新指令时,基于所述第四更新指令更新待配置的用户属性与已配置的区块链的对应关系。
  19. 根据权利要求14所述的计算机设备,其中,所述处理器还用于加载并执行下述步骤:
    根据第一确定方式,将匹配所述用户的用户位置的区块链确定为与所述业务数据对应的目标区块链;和/或,
    根据第二确定方式,将匹配所述用户的用户设备的区块链确定为与所述业务数据对应的目标区块链;和/或,
    根据第三确定方式,将匹配所述用户的用户等级的区块链确定为与所述业务数据对应的目标区块链;和/或,
    根据第四确定方式,将匹配所述用户的用户账号的区块链确定为与所述业务数据对应的目标区块链。
  20. 根据权利要求14所述的计算机设备,其中,所述多条区块链均为至少一个服务机构提供数据服务;或,所述多条区块链为至少一个第一服务机构提供数据服务,所述多条区块链中的部分区块链为所述至少一个第一服务机构和 至少一个第二服务机构提供数据服务。
PCT/CN2018/090630 2017-06-12 2018-06-11 业务数据存储方法、装置、存储介质及电子设备 WO2018228331A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP18817953.5A EP3640823B1 (en) 2017-06-12 2018-06-11 Service data storage method, device, storage medium, and electronic device
US16/523,585 US10999061B2 (en) 2017-06-12 2019-07-26 Service data storage method and apparatus, storage medium, and electronic device
US17/177,789 US11936769B2 (en) 2017-06-12 2021-02-17 Service data storage method and apparatus, storage medium, and electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710438944.0A CN107291862A (zh) 2017-06-12 2017-06-12 业务数据存储方法、装置、存储介质及电子设备
CN201710438944.0 2017-06-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/523,585 Continuation US10999061B2 (en) 2017-06-12 2019-07-26 Service data storage method and apparatus, storage medium, and electronic device

Publications (1)

Publication Number Publication Date
WO2018228331A1 true WO2018228331A1 (zh) 2018-12-20

Family

ID=60096387

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/090630 WO2018228331A1 (zh) 2017-06-12 2018-06-11 业务数据存储方法、装置、存储介质及电子设备

Country Status (5)

Country Link
US (2) US10999061B2 (zh)
EP (1) EP3640823B1 (zh)
CN (1) CN107291862A (zh)
MA (1) MA49407A (zh)
WO (1) WO2018228331A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110599321A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 税务数据处理方法、装置、服务器及存储介质
CN110809040A (zh) * 2019-10-30 2020-02-18 四川速宝网络科技有限公司 加速服务提供系统及方法
CN111783147A (zh) * 2020-06-30 2020-10-16 北京海益同展信息科技有限公司 信用数据交换方法、装置、系统以及存储介质
EP3812899A4 (en) * 2018-12-25 2021-09-08 Advanced New Technologies Co., Ltd. PROCESS, APPARATUS AND DEVICE FOR ALLOCATING OPERATION REQUESTS

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110348242B (zh) * 2017-06-12 2021-01-15 腾讯科技(深圳)有限公司 业务请求处理方法及装置
CN107291862A (zh) 2017-06-12 2017-10-24 腾讯科技(深圳)有限公司 业务数据存储方法、装置、存储介质及电子设备
CN108154391A (zh) * 2017-12-22 2018-06-12 北京太云科技有限公司 一种基于区块链检测注意力并将其数量化的方法及系统
CN108573741A (zh) * 2017-12-25 2018-09-25 北京金山云网络技术有限公司 业务数据记录方法、装置、设备和存储介质
CN108304475B (zh) * 2017-12-28 2020-11-10 比特大陆科技有限公司 数据查询方法、装置及电子设备
CN108616578A (zh) * 2018-04-09 2018-10-02 上海点融信息科技有限责任公司 跨区块链平台的业务处理方法、设备及计算机可读存储介质
CN108647962B (zh) * 2018-04-27 2023-04-07 腾讯科技(深圳)有限公司 征信系统、征信数据的存储方法、装置、设备及介质
CN108846557A (zh) * 2018-05-29 2018-11-20 厦门哈希科技有限公司 一种基于区块链的数据获取方法、装置、存储介质、终端设备及系统
CN108717605B (zh) * 2018-05-29 2021-04-06 厦门哈希科技有限公司 一种考绩评价的存储方法、装置、存储介质、终端设备及系统
CN108985545B (zh) * 2018-05-29 2021-10-08 厦门哈希科技有限公司 一种基于区块链的考绩管理系统
CN108876113B (zh) * 2018-05-29 2022-02-18 厦门哈希科技有限公司 一种考核管理方法、装置、终端设备及系统
CN108830463B (zh) * 2018-05-29 2021-03-19 厦门哈希科技有限公司 一种评价记录的存储方法、装置、存储介质及系统
CN110796414B (zh) * 2018-05-31 2021-04-16 腾讯科技(深圳)有限公司 流通信息查询方法、装置、设备、系统及存储介质
CN109033788B (zh) * 2018-06-15 2021-06-11 北京文创园投资管理有限公司 一种基于区块链技术的证书管理方法和装置
CN110619520B (zh) * 2018-06-20 2023-05-02 深圳市红砖坊技术有限公司 区块链系统和应用于区块链系统的路由节点的路由方法
CN109508243A (zh) * 2018-07-27 2019-03-22 江西贪玩信息技术有限公司 业务请求处理方法、装置、计算机设备和存储介质
CN109034809B (zh) * 2018-08-16 2021-08-17 北京京东尚科信息技术有限公司 区块链的生成方法、装置、区块链节点及存储介质
US20200074111A1 (en) * 2018-08-30 2020-03-05 Www.Trustscience.Com Inc. Data safe
CN109146483B (zh) * 2018-08-31 2022-01-07 刘一涵 基于区块链网络的信用记录方法和系统
CN109165353A (zh) * 2018-09-25 2019-01-08 安徽灵图壹智能科技有限公司 一种基于区块链的租房信息检索方法及系统
CN110972138B (zh) * 2018-09-30 2021-06-15 华为技术有限公司 一种数据处理方法及其数据处理设备
CN109347935B (zh) * 2018-09-30 2021-08-03 珠海信达九州科技有限公司 一种基于区块链实现实时通讯消息同步的方法
CN109213797A (zh) * 2018-09-30 2019-01-15 中国联合网络通信集团有限公司 一种区块链的查询方法及装置
CN109840774A (zh) * 2018-11-23 2019-06-04 深圳远为文化有限公司 基于区块链记录位置的支付方法
CN111224793B (zh) * 2018-11-27 2021-06-01 华为技术有限公司 数据存储方法、装置、计算机设备及可读存储介质
CN111723147B (zh) * 2019-03-21 2023-07-25 杭州海康威视数字技术股份有限公司 基于区块链的数据训练方法、装置及设备、存储介质
CN110245126A (zh) * 2019-05-20 2019-09-17 深圳壹账通智能科技有限公司 区块处理方法、装置、计算机设备和存储介质
CN110602116B (zh) * 2019-09-19 2021-05-11 腾讯科技(深圳)有限公司 基于区块链的数据验证方法、装置和计算机可读存储介质
CN110609884A (zh) * 2019-09-30 2019-12-24 腾讯科技(深圳)有限公司 基于地理位置服务的网络游戏的数据控制方法及装置
CN111031100A (zh) * 2019-11-21 2020-04-17 上海交通大学 一种扩展的区块链存储方法、系统及介质
SG11202012921XA (en) * 2020-02-14 2021-01-28 Alipay Hangzhou Inf Tech Co Ltd Data authorization based on decentralized identifiers
CN111488612A (zh) * 2020-04-08 2020-08-04 北京瑞策科技有限公司 基于业务数据区块链的状态数据查询方法及装置
CN111737312A (zh) * 2020-06-05 2020-10-02 中国银行股份有限公司 一种信息查询方法、装置、设备及存储介质
CN112000973A (zh) * 2020-08-26 2020-11-27 杭州甘道智能科技有限公司 血液数据存储方法、装置、节点服务器及存储介质
CN112100279B (zh) * 2020-10-30 2021-06-29 中航信移动科技有限公司 基于区块链的数据共享系统
CN112541037B (zh) * 2020-11-25 2022-09-06 福建师范大学 一种基于区块链和深度强化学习的空间众包方法及终端
CN113326165B (zh) * 2021-08-04 2021-11-16 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、设备及计算机可读存储介质
CN113949711B (zh) * 2021-08-30 2023-11-10 深圳时空云科技有限公司 分布式过程数据处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101166233B1 (ko) * 2011-01-13 2012-07-16 동국대학교 경주캠퍼스 산학협력단 클라우드 컴퓨팅 환경에서의 데이터 프라이버시 강화 방법
CN105488431A (zh) * 2015-11-30 2016-04-13 布比(北京)网络技术有限公司 区块链系统权限管理方法和装置
CN106649838A (zh) * 2016-12-29 2017-05-10 先锋支付有限公司 数据传输方法、区块链节点及分布式数据库
CN107291862A (zh) * 2017-06-12 2017-10-24 腾讯科技(深圳)有限公司 业务数据存储方法、装置、存储介质及电子设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9509831D0 (en) * 1995-05-15 1995-07-05 Gerzon Michael A Lossless coding method for waveform data
US7809096B2 (en) * 2005-03-01 2010-10-05 Broadcom Corporation Adaptive interference cancellation algorithm using speech mode dependent thresholds
US7684481B2 (en) * 2005-03-01 2010-03-23 Broadcom Corporation High speed data packet access minimum mean squared equalization with direct matrix inversion training
US10026082B2 (en) * 2015-05-21 2018-07-17 Mastercard International Incorporated Method and system for linkage of blockchain-based assets to fiat currency accounts
US20180089651A9 (en) * 2015-11-06 2018-03-29 Cable Television Laboratories, Inc Blockchaining systems and methods for frictionless media
US9967096B2 (en) * 2016-05-23 2018-05-08 Accenture Global Solutions Limited Rewritable blockchain
US9635000B1 (en) * 2016-05-25 2017-04-25 Sead Muftic Blockchain identity management system based on public identities ledger
CA3027741C (en) * 2016-06-17 2020-07-21 Jonathan WEIMER Blockchain systems and methods for user authentication
US9942360B2 (en) * 2016-08-12 2018-04-10 Unity IPR ApS System and method for digital token exchange and delivery
CN106406896B (zh) * 2016-09-27 2020-03-17 北京天德科技有限公司 一种并行PipeLine技术的区块链建块方法
CN106682984B (zh) * 2016-10-27 2019-09-10 深圳壹账通智能科技有限公司 基于区块链的交易事务处理方法及系统
CN106598490A (zh) * 2016-11-25 2017-04-26 深圳前海微众银行股份有限公司 区块链数据的访问方法和区块链管理系统
CN106815330B (zh) * 2016-12-29 2020-08-21 北京瑞卓喜投科技发展有限公司 沿空间维度拓展的区块链的生成方法及系统
US11150181B2 (en) * 2017-12-05 2021-10-19 Jp3 Measurement, Llc Method for computing and comparing digital signatures of hydrocarbons

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101166233B1 (ko) * 2011-01-13 2012-07-16 동국대학교 경주캠퍼스 산학협력단 클라우드 컴퓨팅 환경에서의 데이터 프라이버시 강화 방법
CN105488431A (zh) * 2015-11-30 2016-04-13 布比(北京)网络技术有限公司 区块链系统权限管理方法和装置
CN106649838A (zh) * 2016-12-29 2017-05-10 先锋支付有限公司 数据传输方法、区块链节点及分布式数据库
CN107291862A (zh) * 2017-06-12 2017-10-24 腾讯科技(深圳)有限公司 业务数据存储方法、装置、存储介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3640823A4

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3812899A4 (en) * 2018-12-25 2021-09-08 Advanced New Technologies Co., Ltd. PROCESS, APPARATUS AND DEVICE FOR ALLOCATING OPERATION REQUESTS
US11212371B2 (en) * 2018-12-25 2021-12-28 Advanced New Technologies Co., Ltd. Operation request allocation methods, apparatuses, and devices
CN110599321A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 税务数据处理方法、装置、服务器及存储介质
CN110599321B (zh) * 2019-09-20 2023-09-29 腾讯科技(深圳)有限公司 税务数据处理方法、装置、服务器及存储介质
CN110809040A (zh) * 2019-10-30 2020-02-18 四川速宝网络科技有限公司 加速服务提供系统及方法
CN110809040B (zh) * 2019-10-30 2022-04-29 四川速宝网络科技有限公司 加速服务提供系统及方法
CN111783147A (zh) * 2020-06-30 2020-10-16 北京海益同展信息科技有限公司 信用数据交换方法、装置、系统以及存储介质

Also Published As

Publication number Publication date
CN107291862A (zh) 2017-10-24
US20190349188A1 (en) 2019-11-14
EP3640823A4 (en) 2021-03-10
US20210176044A1 (en) 2021-06-10
US11936769B2 (en) 2024-03-19
EP3640823B1 (en) 2022-11-30
US10999061B2 (en) 2021-05-04
EP3640823A1 (en) 2020-04-22
MA49407A (fr) 2020-04-22

Similar Documents

Publication Publication Date Title
WO2018228331A1 (zh) 业务数据存储方法、装置、存储介质及电子设备
WO2018228337A1 (zh) 业务数据存储方法、计算机可读存储介质以及电子设备
WO2020168937A1 (zh) 区块链多方见证方法、装置、设备及计算机可读存储介质
US11461773B2 (en) Blockchain-based node management methods and apparatuses
US11733991B2 (en) Data processing method based on intelligent contract, device, and storage medium
WO2021179655A1 (zh) 跨区块链的数据迁移方法、装置、设备及存储介质
US11431670B2 (en) Method for processing cloud service in cloud system, apparatus, and device
US20230316273A1 (en) Data processing method and apparatus, computer device, and storage medium
WO2020186788A1 (zh) 基于区块链的证书验证方法及装置、存储介质、电子装置
WO2022193985A1 (zh) 一种数据处理方法、装置、设备及存储介质
WO2019184210A1 (zh) 一种基于区块链的多库房数据管理方法及相关设备
CN110597918B (zh) 一种账户管理方法、装置及计算机可读存储介质
JP2016509443A (ja) より低いエントロピーを有する入力レコードについて追加的セキュリティをもたらす検証システム及び方法
US20230037932A1 (en) Data processing method and apparatus based on blockchain network, and computer device
EP3598333B1 (en) Electronic device update management
WO2022237497A1 (zh) 一种基于区块链网络的数据存储方法及装置
CN104731660A (zh) 数据分配方法、装置和系统
CN110597886A (zh) 一种数据处理方法、装置及计算机存储介质
US20200167771A1 (en) Object distribution processing
CN112989404A (zh) 基于区块链的日志管理方法及相关设备
CN113094373B (zh) 资源目录管理方法及装置
US20230325833A1 (en) Blockchain-based data processing method and apparatus, device, storage medium, and program product
WO2024066974A1 (zh) 基于区块链的数据处理方法、设备以及可读存储介质
CN115375304A (zh) 一种基于区块链的数据处理方法、装置、设备以及介质
CN114638020A (zh) 基于区块链的数字资产处理方法、装置及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18817953

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018817953

Country of ref document: EP

Effective date: 20200113