WO2021012643A1 - 用于对象分发处理的方法、装置及系统 - Google Patents

用于对象分发处理的方法、装置及系统 Download PDF

Info

Publication number
WO2021012643A1
WO2021012643A1 PCT/CN2020/071354 CN2020071354W WO2021012643A1 WO 2021012643 A1 WO2021012643 A1 WO 2021012643A1 CN 2020071354 W CN2020071354 W CN 2020071354W WO 2021012643 A1 WO2021012643 A1 WO 2021012643A1
Authority
WO
WIPO (PCT)
Prior art keywords
object distribution
distribution
transaction
information
hash value
Prior art date
Application number
PCT/CN2020/071354
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 US16/779,239 priority Critical patent/US11501295B2/en
Publication of WO2021012643A1 publication Critical patent/WO2021012643A1/zh

Links

Images

Classifications

    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0223Discounts or incentives, e.g. coupons or rebates based on inventory
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0225Avoiding frauds
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Definitions

  • the present disclosure relates to the field of Internet technology, and in particular, to a method, device, and system for object distribution processing.
  • panic buying platform In the merchandise spike/buying business, merchants will publish the content of the prizes through the panic buying platform, and interested users will panic buying the products through the panic buying platform (such as Pinduoduo, Meituan, JD platforms, etc.) at the agreed time.
  • panic buying platform such as Pinduoduo, Meituan, JD platforms, etc.
  • A for example, an Apple mobile phone
  • B for example, Apple
  • the user spends a lot of energy to grab the lottery ticket, but due to the merchant's denial behavior, the user cannot redeem the merchandise promised by the merchant (for example, he can only grab an apple), which makes the user feel cheated by the snap-up platform.
  • users cannot find reliable evidence to protect their rights, so that the snap-up platform will be subject to user complaints and complaints, which will damage the platform’s reputation.
  • the present disclosure provides a method, device, and system for object distribution processing.
  • the object distribution server receives the transaction hash for the object information to be distributed from the blockchain. It also sends an object distribution message including the hash of the transaction to the award-winning users. It takes advantage of the non-tamperable characteristics of the data in the blockchain to provide evidence of denial by merchants in the spike business, enhances the fairness of the spike business, and improves the buying platform Reputation and credibility.
  • a method for object distribution processing the method is executed by an object distribution server, and the method includes: obtaining object distribution transaction content from a blockchain node in a blockchain network
  • the object distribution transaction content includes the first transaction hash value of the object information for the object to be distributed and the object distribution rule, the object distribution rule includes the distribution start time and the object distribution quantity; after the distribution start time is reached, Receiving at least one object distribution request from at least one client, where the object distribution request includes client identification information; determining at least one object distribution message based on the receiving time sequence of the at least one object distribution request and the number of object distributions, so
  • the object distribution message includes client identification information and the first transaction hash value; and each object distribution message in the at least one object distribution message is sent to the client identification information in each object distribution message.
  • Client
  • the object distribution transaction content includes an atomic counter, and based on the time sequence of receiving the at least one object distribution request and the object distribution quantity, determining at least one object distribution message includes: The order of the receiving time of the at least one object distribution request, using the atomic counter to sort the at least one object distribution request; and determining the at least one object distribution request according to the sorted at least one object distribution request and the number of object distributions An object distributes messages.
  • the object distribution rule includes an object acquisition number limit, the object acquisition number limit being used to indicate the object number limit of the objects acquired by each client, and based on the at least The receiving time sequence of an object distribution request and the object distribution quantity, and determining at least one object distribution message includes: determining based on the receiving time sequence of the at least one object distribution request, the object distribution quantity, and the object acquisition limit The at least one object distributes a message.
  • the object distribution transaction content includes a public key in a private key/public key pair
  • the first transaction hash value is a signature of the object information and object information of the object to be distributed
  • the object information signature is obtained by using the private key in the private key/public key pair to encrypt the object information
  • the object distribution message includes the public key to For object information verification at the client.
  • obtaining the object distribution transaction content from a blockchain node includes: obtaining a second transaction hash value from the blockchain node, where the second transaction hash value is for all The hash value of the object distribution transaction content; and based on the second transaction hash value, the object distribution transaction content is obtained from the blockchain node.
  • the method before determining at least one object distribution message based on the receiving time sequence of the at least one object distribution request and the number of object distributions, the method further includes: Performing qualification filtering processing on an object distribution request, and determining at least one object distribution message based on the receiving time sequence of the at least one object distribution request and the number of object distributions includes: distributing based on the at least one object after the qualification filtering processing The requested receiving time sequence and the object distribution quantity determine at least one object distribution message.
  • an apparatus for object distribution processing including: a distribution transaction content obtaining unit configured to obtain object distribution transaction content from a blockchain node in a blockchain network, the The object distribution transaction content includes the first transaction hash value for the object information of the object to be distributed and the object distribution rule.
  • the object distribution rule includes the distribution start time and the object distribution quantity; the object distribution request receiving unit is configured to After the distribution start time, at least one object distribution request from at least one client is received, where the object distribution request includes client identification information; the object distribution message determining unit is configured to be based on the receiving time sequence of the at least one object distribution request And the number of object distributions, determine at least one object distribution message, where the object distribution message includes client identification information and the first transaction hash value; and an object distribution message sending unit configured to send the at least one object Each object distribution message in the distribution message is sent to the client indicated by the client identification information in each object distribution message.
  • the object distribution transaction content includes an atomic counter
  • the object distribution message determining unit includes: a sorting module configured to be based on the order of the receiving time of the at least one object distribution request, Use the atomic counter to sort the at least one object distribution request; and an object distribution message determination module configured to determine the at least one object distribution according to the sorted at least one object distribution request and the number of object distributions news.
  • the object distribution rule includes a limit on the number of objects obtained, and the limit on the number of objects obtained is used to indicate the limit on the number of objects obtained by each client, and the object distribution The message determining unit is configured to determine the at least one object distribution message based on the receiving time sequence of the at least one object distribution request, the number of object distributions, and the limit of the number of object acquisitions.
  • the object distribution transaction content includes a public key in a private key/public key pair
  • the first transaction hash value is a signature of the object information and object information of the object to be distributed
  • the object information signature is obtained by using the private key in the private key/public key pair to encrypt the object information
  • the object distribution message includes the public key to For object information verification at the client.
  • the distribution transaction content obtaining unit is further configured to: obtain a second transaction hash value from the blockchain node, where the second transaction hash value is The hash value of the object distribution transaction; and based on the second transaction hash value, the object distribution transaction is obtained from the blockchain node.
  • it further includes: a qualification filtering unit configured to perform qualification filtering processing on the at least one object distribution request, and the object distribution message determining unit is configured to: based on the The receiving time sequence of the at least one object distribution request after the qualification filtering process and the object distribution quantity determine at least one object distribution message.
  • a system for object distribution processing including: an object provider device configured to send object information of an object to be distributed to a blockchain node in a blockchain network; The object distributes transaction content, so that the blockchain node generates a first transaction hash value and a second transaction hash value according to the object information and the object distribution transaction content respectively, and the object distribution transaction content includes the first transaction
  • the hash value and the object distribution rule, the object distribution rule includes the distribution start time and the object distribution quantity
  • the object distribution server includes the device for object distribution processing as described above; at least one client is configured to The object distribution server sends an object distribution request.
  • the object distribution transaction content includes a public key in a private key/public key pair
  • the first transaction hash value is a signature of the object information and object information of the object to be distributed
  • the object information signature is obtained by encrypting the object information using the private key in the private key/public key pair at the object provider device, wherein the object distribution
  • the message includes the public key, and the client is configured to use the public key for object information verification.
  • the object provider device and/or the object distribution server is a blockchain node in the blockchain network.
  • a computing device including: at least one processor; and a memory that stores instructions, and when the instructions are executed by the at least one processor, the at least one The processor executes the method for object distribution processing as described above.
  • a machine-readable storage medium that stores executable instructions that, when executed, cause the machine to execute the method for object distribution processing as described above.
  • Figure 1 shows a schematic diagram of the architecture of an object distribution business system according to current related technologies
  • FIG. 2 shows a schematic diagram showing the architecture of a system for object distribution processing according to the present disclosure
  • FIG. 3 shows a signal sequence diagram in an example of a method for object distribution processing according to an embodiment of the present disclosure
  • FIG. 4 shows a signal sequence diagram in an example of an object distribution processing method according to an embodiment of the present disclosure
  • FIG. 5 shows a signal sequence diagram in an example when the object distribution processing method according to an embodiment of the present disclosure is applied to a commodity snap-up business scenario
  • FIG. 6 shows a block diagram of an apparatus for object distribution processing according to an embodiment of the present disclosure
  • Fig. 7 shows a block diagram of an object distribution message determining unit according to an embodiment of the present disclosure
  • FIG. 8 shows a hardware structure diagram of a computing device for object distribution processing according to an embodiment of the present disclosure.
  • the term “including” and its variants means open terms, meaning “including but not limited to.”
  • the term “based on” means “based at least in part on.”
  • the terms “one embodiment” and “an embodiment” mean “at least one embodiment.”
  • the term “another embodiment” means “at least one other embodiment.”
  • the terms “first”, “second”, etc. may refer to different or the same objects. Other definitions can be included below, either explicit or implicit. Unless clearly indicated in the context, the definition of a term is consistent throughout the specification.
  • object means a designated article or commodity
  • object distribution means a distribution task for the article or commodity.
  • at least one means one or more (two and more than two).
  • blockchain refers to a data structure used to store transactions. It is a chained data structure that connects and combines data blocks in chronological order, and cryptographically ensures that the data blocks cannot be tampered with. Unforgeable.
  • the blockchain includes one or more blocks. Each block in the blockchain is linked to the previous block by including the encrypted hash (Hash) of the immediately preceding block in the blockchain. Each block also includes a timestamp, a cryptographic hash of the block, and one or more transactions. The transactions that have been verified by the nodes of the blockchain network are hashed to form a Merkle tree.
  • the data at the leaf nodes is hashed, and for each branch of the Merkle tree, all the hash values of the branch are concatenated at the root of the branch.
  • the above processing is performed on the Merkle tree until the root node of the entire Merkle tree.
  • the root node of the Merkle tree stores hash values representing all the data in the Merkle tree.
  • blockchain network is a network of computing nodes used to manage, update and maintain one or more blockchain structures.
  • the blockchain network may include a public blockchain network, a private blockchain network, or a consortium blockchain network.
  • users access the object distribution platform through the client to participate in the object distribution business at an agreed time, and the target user (for example, the user who is the first to send an object distribution request) will get the goods or items promised by the object distribution provider commodity.
  • Figure 1 shows a schematic diagram of the architecture of an object distribution service system according to the current related technology.
  • the object distribution business system includes an object distribution provider device, an object distribution server and a client.
  • the object distribution server may be a single server, or a server cluster composed of multiple servers (in addition, it may also be other types of processing equipment or terminals other than servers).
  • the object distribution provider will publish the object information to be promised (for example, an Apple mobile phone) on the object distribution platform, that is, the object distribution service provider device sends the object information to the object distribution server. Then, the object distribution server carries out object distribution activities for object information.
  • the user sends an object distribution request (such as a rush request) to the object distribution server through the client (such as a mobile phone or a computer) to participate in the object distribution activity, so that the object distribution server determines the target user.
  • the object distribution server sends the object distribution message (for example, the lottery message) to the corresponding target client.
  • the target user gets the object distribution message, it will ask the object provider device to provide the corresponding object (for example, Apple mobile phone).
  • the object provider equipment may modify the promised object information in the object distribution server through some technical means, the target user cannot get the expected object, and there is no proof of rights protection, which makes the object distribution business lack of fairness. .
  • FIG. 2 shows a schematic diagram of the architecture of a system for object distribution processing (hereinafter also referred to as an object distribution processing system) 100 according to the present disclosure.
  • the system 100 enables entities to participate in the blockchain network 102.
  • the system 100 includes a network 104, and computing devices/systems 106, 108.
  • the network 104 may include a local area network (LAN), a wide area network (WAN), the Internet, or a combination thereof, and connects websites, user devices (eg, computing devices), and back-end systems.
  • the network 104 may be accessed through wired and/or wireless communication links.
  • the computing devices/systems 106 and 108 communicate with each other through the network 104, and communicate with the blockchain network 102 through the network 104, and the nodes (or node devices) in the blockchain network 102 pass through The network 104 communicates.
  • the network 104 represents one or more communication networks.
  • the computing devices/systems 106, 108 may be nodes of a cloud computing system (not shown), or each computing device/system 106, 108 may be a separate cloud computing system, including interconnection through the network 104 Multiple computers and used as a distributed processing system.
  • each of the computing devices/systems 106, 108 may include any suitable computing system capable of participating as a node in the blockchain network 102.
  • Examples of computing devices/systems include, but are not limited to, servers, desktop computers, laptops, tablet devices, smart phones, etc.
  • one or more computer-implemented services for interacting with the blockchain network 102 may be installed on the computing device/system 106, 108.
  • the computing device/system 106 may be installed with the services of the first entity (for example, user A), for example, the first entity is used to manage transactions with one or more other entities (for example, other users). Management system.
  • the computing device/system 108 may be installed with services of a second entity (for example, user B), for example, a transaction management system used by the second entity to manage transactions with one or more other entities (for example, other users) .
  • the blockchain network 102 is represented as a peer-to-peer network of nodes, and the computing devices/systems 106, 108 serve as the nodes of the first entity and the second entity participating in the blockchain network 102, respectively.
  • the blockchain network 102 includes a plurality of nodes, wherein at least some of the nodes are used to record information in the blockchain, and the recorded information cannot be changed.
  • the blockchain network 102 is used to maintain the blockchain, and the blockchain is composed of multiple blocks.
  • the transaction data of multiple transactions is hashed and stored in blocks. For example, two transaction data are hashed to obtain two hash values, and then the two obtained hash values are hashed again to obtain another hash value. This process is repeated until a single hash value is obtained for all transactions to be stored in the block.
  • This hash value is called the Merkle root hash and is stored at the head of the block. Any transaction change will cause its hash value to change, and eventually the Merkle root hash value will change.
  • the computing devices/systems 106, 108 can be used to represent the object provider device (or commodity back-end service end) and the object distribution service end (or commodity distribution service end), respectively.
  • the object provider device and/or the object distribution server can be used as a node of the blockchain network to participate in the process of object distribution.
  • the object provider device and/or the object distribution server may be other servers or terminals outside the blockchain network, and these other servers or terminals may use protocols (for example, hypertext transfer protocol security (HTTPS)) and/or use remote procedure call (RPC) to communicate with the blockchain network, or communicate through the blockchain network, so as to complete the process of object distribution processing in the embodiments of the present disclosure.
  • protocols for example, hypertext transfer protocol security (HTTPS)
  • RPC remote procedure call
  • FIG. 3 shows a signal sequence diagram in an example of a method for object distribution processing (hereinafter also referred to as an object distribution processing method) according to an embodiment of the present disclosure.
  • the object provider device 106 sends the object information to be distributed to the blockchain node 102.
  • the object information may indicate the information of the commodity or item to be distributed (for example, the name of the commodity, etc.), and the object provider device 106 may indicate a server operated by a merchant that promises to distribute the commodity or item.
  • the object information can be uploaded to the object provider device 106 through the operation of the operator of the object provider, and then the object provider device 106 sends the object information to the blockchain node 102 to request the object information to be uploaded to the chain .
  • the object provider generally expects to be able to customize the object distribution rules in the object distribution business, such as the number of objects distributed and the distribution start time.
  • the object distribution provider may send the foregoing object distribution rules to the object distribution server 108 through the object provider device 106.
  • the object provider device 106 in order to improve the security of information transmission and prevent the information from being tampered with, in block 301, the object provider device 106 also sends the object distribution rule to the blockchain node 102 to allow the blockchain The node 102 generates the transaction content of the blockchain transaction according to the object distribution rule, and the object distribution server 108 obtains the aforementioned object distribution rule from the transaction content of the blockchain transaction.
  • the blockchain node 102 generates a blockchain transaction according to the object information and object rules.
  • the blockchain node 102 can represent any node in the blockchain network (or Node device).
  • the blockchain node 102 can generate different transactions, such as object transactions and object distribution transactions, respectively, according to object information and object distribution rules.
  • the object distribution transaction is cached by the object distribution server 108 to perform the corresponding object distribution task, and the object information in the object transaction content is used to verify that the original object information has not been tampered with.
  • the object transaction corresponds to the first transaction hash
  • the object distribution transaction corresponds to the second transaction hash
  • the first transaction hash may be included in the transaction content of the object distribution transaction.
  • the object distribution server 108 obtains the object distribution transaction content from the blockchain node 102.
  • the object distribution transaction content also includes the aforementioned object rules such as the number of objects distributed and the distribution start time.
  • the blockchain node 102 can directly send the transaction content of the object distribution transaction to the object distribution server 108.
  • the blockchain node 102 may send the second transaction hash value corresponding to the object distribution exchange to the object distribution server 108, and then the object distribution server 108 may send the hash value from the blockchain node according to the second transaction hash value.
  • the object distribution server 108 may send the hash value from the blockchain node according to the second transaction hash value.
  • the object distribution server 108 receives at least one object distribution request from at least one client 40.
  • the object distribution request includes client identification information, and the client identification information may represent information that uniquely identifies the client or the corresponding operating user, such as a user ID, MAC address, or IP address.
  • the object distribution server 108 may also perform qualification filtering processing on the at least one object distribution request received, so as to filter out illegal object distribution requests that are not qualified to participate. Exemplarily, if the corresponding user's promotion link is forwarded insufficiently or the deposit has not been paid, the corresponding object distribution request will be filtered out.
  • the object distribution server 108 determines at least one object distribution message based on the receiving time sequence of the at least one object distribution request and the number of object distributions.
  • the object distribution message includes client identification information and a first transaction hash value, and the client identification information is used to indicate one or more of the multiple clients that previously sent the object distribution request (depending on the number of object distributions).
  • the object distribution server should and will only send object distribution messages to the client corresponding to the first arrival request corresponding to the object distribution quantity.
  • the distribution start time and the distribution quantity of the objects in the object distribution rules are determined by the object distribution transaction content. Based on the non-tamperable feature of the transaction content, the distribution start time and object distribution quantity can be avoided in the object distribution business. The event was tampered with before the start of the event, which ensured the stable operation of the business.
  • the received at least one object distribution request may be sorted based on the order in which the at least one object distribution request is received.
  • each time the object distribution server 108 receives an object distribution request it sorts the corresponding object distribution requests in sequence (for example, starting from 1 and increasing one by one), and if the number of object distributions is 10, it is determined to correspond to the sorting
  • the client identification information corresponding to the 1-10 object distribution request is the target user.
  • the atomic counter can be used to sort the received object distribution requests according to the corresponding receiving time sequence.
  • an atomic counter can be included in the object distribution transaction content to record the order of each object distribution request in the transaction content. Based on the non-tampering modification of the transaction data, the fairness of the distribution business can be more guaranteed.
  • the object distribution rule includes a limit on the number of objects obtained, and the limit on the number of objects obtained is used to indicate the limit on the number of objects obtained by each client (for example, one client identification information can only obtain one object at most).
  • determining at least one object distribution message based on the receiving time sequence of the at least one object distribution request and the object distribution quantity includes: determining at least one object distribution based on the receiving time sequence of the at least one object distribution request, the object distribution quantity, and the object acquisition number limit news. Exemplarily, if multiple object distribution requests for the same client identification information occur within the receiving time sequence of the corresponding object distribution quantity, it is still possible to allocate only one object to the client identification information.
  • the object distribution server 108 sends each object distribution message in the at least one object distribution message to the client indicated by the client identification information in each object distribution message.
  • the object distribution message may also include other award-winning agreement information, such as "Congratulations on your successful grab of XXX".
  • the client 40 sends the client identification information to the object provider device 106, for example, sends the object distribution message including the client identification information to the object provider device 106 to Let the object provider provide the object for the target user.
  • the object distribution server 108 may send the client identification information in each object distribution message to the object provider device 106. In this way, the object provider device 106 can directly provide objects for the corresponding target users according to the identification information of each client.
  • each server in the server cluster will respond after receiving the object distribution request.
  • Access a database with a preset number of object distribution for example, 10
  • determine the object distribution request corresponding to the target user through an inventory reduction operation.
  • multiple servers simultaneously perform inventory reduction operations on the database will increase the pressure on the database and easily cause the database system to crash.
  • the inventory reduction operation cannot clarify the sequence of object distribution requests received by different servers. For example, there are more than 20 requests to reduce the database inventory at the same time, but the inventory quantity is only 10.
  • the database system generally can only determine target users by randomly reducing inventory, which leads to lack of fairness, or increases the number of objects distributed (for example, the number of goods in stock), which leads to oversold objects.
  • the order of receiving the multiple object distribution requests is marked by sorting, and the order is determined based on the comparison of the sorted multiple object distribution requests and the number of object distributions Corresponding to the winning users.
  • the embodiments of the present disclosure can effectively alleviate system pressure, and in addition, determining target object distribution requests based on counts can also avoid the problem of oversold.
  • the atomic counter (AtomicInteger) can realize the function of counting under high concurrency, and is currently mainly used for flow control to prevent malicious traffic attacks.
  • the atomic counter is used to sort at least one object distribution request in the order of receiving time, and the corresponding count is recorded in the transaction content.
  • a distributed atomic counter can be deployed among the multiple servers, so as to realize unified sorting and counting of requests received by each server in the server cluster.
  • Fig. 4 shows a signal sequence diagram in an example of an object distribution processing method according to an embodiment of the present disclosure.
  • the object provider will perform digital signature encryption on the object information to be distributed to improve the security of the information.
  • the object information can be encrypted by the private key in the private key/public key pair, and the verification public key can be set in the object distribution message. In this way, when the object provider receives the object distribution message containing the verification public key, it can use the verification public key to unlock the digital signature and complete the verification.
  • the object provider device 106 obtains a private key/public key pair, and uses the private key in the private key/public key pair to encrypt object information, thereby generating a corresponding digital signature (Or signature of subject information).
  • a private key/public key pair there should be no restrictions on the type or source of the private key/public key pair.
  • the object provider device 106 can obtain the private key/public key pair from any digital key platform or independently create the private key/public key. Correct.
  • the object provider device 106 may send information such as the object information, the object information signature, the verification public key, and the object distribution rule to the blockchain node 102.
  • the blockchain node 102 generates an object distribution transaction based on the information received from the object provider device 106, such as object information, object information signature, verification public key, and object distribution rules.
  • the blockchain node 102 can generate a first transaction hash value corresponding to the object transaction according to the object information signature and the object information, the first transaction hash value is used as a part of the object distribution transaction content, and the object distribution The transaction also has its corresponding second transaction hash value.
  • the blockchain node 102 sends the generated second transaction hash value to the object distribution server 108.
  • the object distribution server 108 obtains the transaction content of the object distribution transaction in the blockchain based on the second transaction hash value.
  • the object distribution server 108 receives at least one object distribution request from at least one client at the distribution start time.
  • the distribution start time may be obtained from the received object distribution transaction content.
  • the object distribution server 108 determines at least one object distribution message based on the receiving time sequence of the at least one object distribution request and the number of object distributions.
  • the content of the object distribution transaction has object distribution rules such as the number of object distribution and other rules, so the object distribution server 108 can determine the object distribution message according to the object distribution request that meets the object distribution rule.
  • the object distribution server 108 sends an object distribution message to the client 40 corresponding to the target user.
  • the object distribution message may include the first transaction hash value and verification public key of the corresponding object transaction.
  • the client 40 can request verification from the object provider or the object distribution platform and provide the corresponding object.
  • the object redeemed by the object provider or the object distribution platform is inconsistent with the previously promised object, users need to find reasonable evidence to protect their legal rights.
  • the client 40 sends the first transaction hash value to the blockchain node 102.
  • the client 40 may send the object transaction including the hash value of the first transaction to the blockchain node 102.
  • the blockchain node 102 can perform hash verification through the transaction hash in the object distribution message to find a matching object information and object information signature in the transaction content of the object transaction.
  • each blockchain node in the blockchain network is used to maintain the same data for one or more transactions, and the transactions that have been verified by the nodes of the blockchain network are hashed to form a Merkle tree.
  • a hash value claims to be a transaction stored in a Merkle tree quick verification can be performed by judging whether the hash value is consistent with the structure of the Merkle tree. If there is a matching hash value, the corresponding transaction data stored in the Merkle tree can be found through the hash value.
  • the blockchain node 102 when the blockchain node 102 receives the first transaction hash value, it can quickly verify the object transaction content in the node under the Merkle tree corresponding to the first transaction hash value, such as object information, object Signature information, etc. (referring to the above method, the blockchain node 102 can obtain the transaction content of the object distribution transaction based on the second transaction hash value).
  • the blockchain node 102 sends the object information and object information signature under the matching transaction to the client 40.
  • the client can verify the object information signature obtained by the blockchain through the verification public key in the object distribution message, that is, decrypt the object information signature based on the verification public key to obtain the decrypted Object information.
  • the initial object information originally released by the object provider can be effectively verified and the target user can be determined to have the correct verification public key.
  • the blockchain can ensure that the transaction content in the data block cannot be tampered with or forged, and the object information is previously sent to the blockchain platform by the object provider. Therefore, when the target user finds that the obtained object is inconsistent with the object previously promised by the object provider, he can use the object information returned from the blockchain node as a proof to protect his legitimate rights and interests and enhance the user of the object distribution business. sense of trust.
  • the object provider device 106 and/or the object distribution server 108 may be blockchain nodes in the blockchain network, or there may be areas dedicated to the object provider device 106 and the object distribution server 108 respectively.
  • the blockchain node of the blockchain service In this way, when the object provider needs to perform the object distribution service, the object provider device 106 can directly generate the object transaction and the object distribution transaction according to the locally uploaded object information and object distribution rules.
  • the object transaction content includes object information (or object information and object information signature), and the object transaction corresponds to the first transaction hash.
  • the object distribution transaction corresponds to the second transaction hash, and the content of the object distribution transaction includes the distribution start time and the number of object distributions.
  • the object distribution server 108 can receive the object distribution request based on the object distribution transaction, and determine the corresponding target user. Therefore, the object provider device, as a blockchain node, can directly generate blockchain transactions based on the uploaded information, and the information and data on the chain cannot be tampered with, which ensures the fairness of the object distribution business.
  • FIG. 5 shows a signal sequence diagram of an example in which the object distribution processing method 500 according to an embodiment of the present disclosure is applied to a commodity snap-up business scenario.
  • the merchant uploads product information on the commodity back-end server 106, and the merchant can prepare a set of private key/public key pairs in advance, and then the commodity back-end server 106 uses the private key/public key pair
  • the private key in the key pair encrypts and signs the product information.
  • the product information is "one Apple phone", and then the product is encrypted with a private key to obtain a corresponding digital signature (sign).
  • the commodity back-end server 106 sends the commodity information and the commodity information signature to the blockchain node 102 to request the link.
  • the blockchain node 102 generates a corresponding commodity transaction TX1 based on the commodity information signature and the commodity information.
  • transaction content corresponding to transaction TX1 is as shown in Table 1 below:
  • TX1 the information carried by this transaction TX1 can be hashed to obtain the hash of TX1 (hereinafter also referred to as prize Hash):
  • tx1 0xf7E62B3C48d09b0133b87E7312f4A4f6d2aBCe22.
  • the blockchain node 102 notifies the commodity back-end server of the successful notification of the commodity information on the chain, where the commodity information on the chain successful notification includes the prize Hash.
  • the commodity backend server 106 sends the rush purchase rules for the product information and the rules for verifying the winning, for example, the verification public key, rush purchase rules, etc., together with the prize Hash, to the blockchain node 102 to request upload chain.
  • the blockchain node 102 generates a transaction TX2 according to the verification public key, prize Hash, and rush rules.
  • transaction content corresponding to transaction TX2 is shown in Table 2 below:
  • TX2 the information carried by this transaction TX2 can be hashed to obtain the hash of TX2:
  • tx2 0xe7cae62be1049ca29a5b468e6018ff4cfc6870bdfc6750541b8a223fda7d3ed0.
  • the hash of the TX2 is sent to the commodity distribution server 108.
  • the blockchain node 102 may also try to perform matching verification using the received verification public key and the product information signature to ensure that the verification public key on the chain of the merchant can decrypt the corresponding product information signature.
  • the commodity distribution server 108 or each server in the rush server cluster caches the transaction content of TX2 locally.
  • the content in the corresponding data block can be read from the blockchain node, for example, the content of the corresponding data block can be read such as the prize Hash, the start time, the number of goods, the verification public key, the atomic counter and other rules Transaction content information.
  • the commodity distribution server 108 obtains the distribution start time in the TX2 transaction content, and judges whether to start a panic buying activity according to the distribution start time. Exemplarily, if the current time is 10:00 on February 30th, 2019, the panic buying activity will start.
  • the commodity distribution server 108 receives a commodity distribution request (or rush request) from at least one client 40.
  • each snap-up request has corresponding client identification information. It should be understood that the commodity distribution server 108 may screen all the rush purchase requests corresponding to the rush purchase qualifications, so as to filter out unqualified user requests.
  • the commodity distribution server 108 can obtain the commodity inventory quantity in the TX2 transaction content.
  • the commodity distribution server 108 may determine the commodity distribution message (or lottery message) according to the stock quantity of the commodity, other rules, and the distribution start time.
  • the user information or client information corresponding to the client identification information in the commodity distribution request can be determined, so as to determine the winning user.
  • Features can prevent the product distribution rules from being tampered with before the start of the panic buying activity.
  • the embodiments of the present disclosure can save resource consumption and avoid the problem of oversold goods.
  • the commodity distribution server 108 may send the commodity information signature, verification public key, and transaction hash to the client 40 corresponding to the winning user.
  • the lottery message received by the winning user is as shown in Table 3 below:
  • the content of the lottery message in Table 3 is only used as an example, and it may also include more information, such as rush rules, etc.; or, it may also include less information, for example, may not include the inventory quantity of goods, etc. .
  • the user uses the verification public key to redeem prizes at the merchant or the snap-up platform.
  • the client 40 sends a lottery message including the verification public key to the commodity backend server 106.
  • the commodity backend server 106 completes the digital signature verification based on the verification public key in the lottery message and issues prizes to the winning users.
  • the client 40 sends the prize Hash to the blockchain node 102, for example, sends a lottery message including the prize Hash to the blockchain node 102. Furthermore, the blockchain node 102 will find the target transaction TX1 according to the prize Hash in the lottery ticket.
  • the blockchain node sends the content of the transaction TX1 (for example, product information signature and product information) to the client 40.
  • the transaction TX1 for example, product information signature and product information
  • the client 40 may use the verification public key in the lottery message to verify the product information signature. That is, the product information signature is decrypted based on the verification public key in the lottery ticket, thereby proving that you have the correct public key, and you can also use the product information obtained from the blockchain to conclude whether the original product information has been tampered with.
  • the provided block chain-based panic buying program can guarantee better fairness.
  • Fig. 6 shows a structural block diagram of an apparatus for object distribution processing (hereinafter also referred to as an object distribution processing apparatus) according to an embodiment of the present disclosure.
  • the object distribution processing apparatus 600 includes a distribution transaction content obtaining unit 610, an object distribution request receiving unit 620, an object distribution message determining unit 630, an object distribution message sending unit 640, and a qualification filtering unit 650.
  • the distribution transaction content obtaining unit 610 is configured to obtain the object distribution transaction content from the blockchain node in the blockchain network, the object distribution transaction content including the first transaction hash value of the object information of the object to be distributed and the object distribution Rule, the object distribution rule includes distribution start time and object distribution quantity.
  • the operation of the distribution transaction content obtaining unit 610 may refer to the operation of block 303 described above with reference to FIG. 3.
  • the object distribution request receiving unit 620 is configured to receive at least one object distribution request from at least one client after reaching the distribution start time, where the object distribution request includes client identification information.
  • the operation of the object distribution request receiving unit 620 may refer to the operation of block 304 described above with reference to FIG. 3.
  • the object distribution message determining unit 630 is configured to determine at least one object distribution message based on the receiving time sequence of the at least one object distribution request and the number of object distributions, where the object distribution message includes client identification information and the first Transaction hash value.
  • the operation of the object distribution message determining unit 630 may refer to the operation of block 305 described above with reference to FIG. 3.
  • the object distribution message sending unit 640 is configured to send each object distribution message in the at least one object distribution message to the client indicated by the client identification information in each object distribution message.
  • the operation of the object distribution message sending unit 640 may refer to the operation of block 306 described above with reference to FIG. 3.
  • the qualification filtering unit 650 is configured to perform qualification filtering processing on the at least one object distribution request.
  • the object distribution message determining unit 630 may be configured to determine at least one object distribution message based on the receiving time sequence of the at least one object distribution request after the qualification filtering process and the number of object distributions.
  • the operation of the qualification filtering unit 650 may refer to the related operation in block 304 described above with reference to FIG. 3.
  • the structure of the object distribution processing apparatus 600 described above is only for example, and the object distribution processing apparatus 600 may only have some of the above blocks 610-650.
  • the object distribution processing apparatus 600 may not be provided with the qualification filtering unit 650. .
  • the object distribution rule includes a limit on the number of objects obtained, the limit on the number of objects obtained is used to indicate the limit on the number of objects obtained by each client, and the object distribution message determining unit 630 is configured to: The receiving time sequence of the at least one object distribution request, the number of objects to be distributed, and the limit of the number of objects to be acquired, determine the at least one object distribution message.
  • the distribution transaction content obtaining unit 610 is further configured to obtain a second transaction hash value from the blockchain node, where the second transaction hash value is a hash value of the distribution transaction for the object And based on the second transaction hash value, obtaining the object distribution transaction from the blockchain node.
  • the object distribution transaction content includes a public key in a private key/public key pair
  • the first transaction hash value is a hash value of the object information and the object information signature of the object to be distributed
  • the object information The signature is obtained by using the private key in the private key/public key pair to encrypt the object information
  • the object distribution message includes the public key for performing object information at the client Information verification.
  • Fig. 7 shows a structural block diagram of an object distribution message determining unit 630 according to an embodiment of the present disclosure.
  • the object distribution message determination unit 630 includes a sorting module 631 and an object distribution message determination module 632.
  • the atomic counter is included in the object distribution transaction content.
  • the sorting module 631 is configured to use the atomic counter to sort the at least one object distribution request based on the receiving time sequence of the at least one object distribution request.
  • the object distribution message determining module 632 is configured to determine the at least one object distribution message according to the sorted at least one object distribution request and the number of object distributions.
  • the operations of the sorting module 631 and the object distribution message determining module 632 may refer to the related operations in block 305 in FIG. 3 above.
  • the object distribution processing system 100 includes an object provider device 106, an object distribution server 108, and a client 40.
  • the blockchain node 102 may be outside the object distribution processing system 100, and is called by the object distribution processing system to complete the corresponding object distribution processing service.
  • the object provider device 106 is configured to send the object information of the object to be distributed and the object distribution transaction content to the blockchain node in the blockchain network, so that the blockchain node distributes the transaction content according to the object information and the object respectively
  • a first transaction hash value and a second transaction hash value are generated, the object distribution transaction content includes the first transaction hash value and an object distribution rule, and the object distribution rule includes a distribution start time and an object distribution quantity.
  • the object distribution server 108 includes the object distribution processing device 600 described above.
  • At least one client 40 is configured to send an object distribution request to the object distribution server.
  • the object distribution transaction content includes a public key in a private key/public key pair
  • the first transaction hash value is a hash value of the object information and the object information signature of the object to be distributed
  • the object information The signature is obtained by encrypting the object information using the private key in the private key/public key pair at the object provider device.
  • the object distribution message includes the public key
  • the client 40 is configured to use the public key to perform object information verification.
  • the object provider device 106 and/or the object distribution server 108 are blockchain nodes in the blockchain network.
  • FIGS. 2 to 7 the embodiments of the method, device, and system for object distribution processing according to the present disclosure are described. The details mentioned in the above description of the method embodiments are also applicable to the embodiments of the device and system of the present disclosure.
  • the above device and system for object distribution processing can be implemented by hardware, or by software or a combination of hardware and software.
  • FIG. 8 shows a hardware structure diagram of a computing device 800 for object distribution processing according to an embodiment of the present disclosure.
  • the computing device 800 may include at least one processor 810, a memory (for example, a non-volatile memory) 820, a memory 830, and a communication interface 840, and at least one processor 810, a memory 820, a memory 830, and a communication interface 840 are connected together via a bus 860.
  • At least one processor 810 executes at least one computer-readable instruction (ie, the above-mentioned element implemented in the form of software) stored or encoded in the memory.
  • computer-executable instructions are stored in the memory, which, when executed, cause at least one processor 810 to obtain object distribution transaction content from a blockchain node in the blockchain network, and the object distribution transaction content includes The first transaction hash value of the object information of the object to be distributed and the object distribution rule, the object distribution rule includes the distribution start time and the object distribution quantity; after reaching the distribution start time, at least one object from at least one client is received A distribution request, where the object distribution request includes client identification information; based on the time sequence of receiving the at least one object distribution request and the number of object distributions, at least one object distribution message is determined, and the object distribution message includes client identification information And the first transaction hash value; and sending each object distribution message in the at least one object distribution message to the client indicated by the client identification information in each object distribution message.
  • the computing device 800 may include, but is not limited to: personal computers, server computers, workstations, desktop computers, laptop computers, notebook computers, mobile computing devices, smart phones, tablet computers, cellular phones, personal digital assistants (PDA), handheld devices, messaging devices, wearable computing devices, consumer electronic devices, etc.
  • PDA personal digital assistants
  • a program product such as a machine-readable medium.
  • the machine-readable medium may have instructions (that is, the above-mentioned elements implemented in the form of software), which when executed by a machine, cause the machine to perform various operations and functions described above in conjunction with FIGS. 1-8 in the various embodiments of the present disclosure.
  • a system or device equipped with a readable storage medium may be provided, and the software program code for realizing the function of any one of the above embodiments is stored on the readable storage medium, and the computer or device of the system or device The processor reads out and executes the instructions stored in the readable storage medium.
  • the program code itself read from the readable medium can realize the function of any one of the above embodiments, so the machine readable code and the readable storage medium storing the machine readable code constitute the present invention a part of.
  • Examples of readable storage media include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD-RW), magnetic tape, Volatile memory card and ROM.
  • the program code can be downloaded from a server computer or cloud via a communication network.
  • the device structure described in the foregoing embodiments may be a physical structure or a logical structure, that is, some units may be implemented by the same physical entity, or some units may be implemented by multiple physical entities, or may be implemented by multiple physical entities. Some components in independent devices are implemented together.
  • the hardware unit or module can be implemented mechanically or electrically.
  • a hardware unit, module or processor may include permanent dedicated circuits or logic (such as a dedicated processor, FPGA or ASIC) to complete the corresponding operation.
  • the hardware unit or processor may also include programmable logic or circuits (such as general-purpose processors or other programmable processors), which may be temporarily set by software to complete corresponding operations.
  • the specific implementation method mechanical method, or dedicated permanent circuit, or temporarily set circuit

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Technology Law (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种用于对象分发处理的方法、装置及系统,其中所述用于对象分发处理的方法包括:对象分发服务端(108)从区块链节点(102)接收对象分发交易内容(303),这里,对象分发交易内容包括针对待分发的对象信息的交易哈希,然后对象分发服务端(108)在达到分发开始时间后,接收来自多个客户端(40)的对象分发请求(304),并从所接收的多个对象分发请求中确定相应的获奖用户,进而向获奖用户发送包括交易哈希的对象分发消息(306)。利用该方法,应用了区块链中交易内容不可篡改的特点,为用户提供针对初始对象信息的交易哈希的证据,提高了对象分发业务的公平性。

Description

用于对象分发处理的方法、装置及系统 技术领域
本公开涉及互联网技术领域,具体地,涉及一种用于对象分发处理的方法、装置及系统。
背景技术
在商品秒杀/抢购业务中,商家会将奖品内容通过抢购平台发布出去,而兴趣用户会在约定的时间通过抢购平台(例如拼多多、美团、京东平台等)对商品进行抢购。
但在目前相关技术中,存在商家在发布秒杀商品内容的时候传到抢购平台服务器的商品内容是A(例如苹果手机一个),而在秒杀结束之后商家通过技术手段将传到秒杀服务器的此商品的内容篡改为B(例如苹果一个)。
这样,用户花了很多精力才抢到奖券,却由于商家抵赖行为而使得用户无法兑换到商家所许诺的商品(例如只能抢到一个苹果),使得用户产生被抢购平台欺骗的感觉。并且,用户也无法找到可靠的证据来维护自己的权益,使得抢购平台会遭到用户的投诉和抱怨,致使平台的口碑受损。
因此,如何有效地处理因商家欺诈行为而导致抢购平台的口碑和信誉受损的问题是目前业界亟待解决的问题。
发明内容
鉴于上述问题,本公开提供了一种用于对象分发处理的方法、装置及系统,利用该方法、装置及系统,对象分发服务端从区块链接收针对待分发的对象信息的交易哈希,并为获奖用户发送包括该交易哈希的对象分发消息,利用了区块链中数据不可篡改的特点,为秒杀业务中的商家抵赖提供证据,增强了秒杀业务的公平性,还可提高抢购平台的口碑和信誉。
根据本公开的一个方面,提供了一种用于对象分发处理的方法,所述方法由对象分发服务端执行,所述方法包括:从区块链网络中的区块链节点获取对象分发交易内容,所述对象分发交易内容包括针对待分发对象的对象信息的第一交易哈希值以及对象分发规则,所述对象分发规则包括分发开始时间和对象分发数量;在达到所述分发开始时 间后,接收来自至少一个客户端的至少一个对象分发请求,所述对象分发请求包括客户端标识信息;基于所述至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息,所述对象分发消息包括客户端标识信息和所述第一交易哈希值;以及将所述至少一个对象分发消息中的各个对象分发消息发送给所述各个对象分发消息中的客户端标识信息所指示的客户端。
可选地,在上述方面的一个示例中,所述对象分发交易内容包括原子计数器,基于所述至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息包括:基于所述至少一个对象分发请求的接收时间顺序,利用所述原子计数器来对所述至少一个对象分发请求进行排序;以及根据排序后的至少一个对象分发请求以及所述对象分发数量,确定所述至少一个对象分发消息。
可选地,在上述方面的一个示例中,所述对象分发规则包括对象获取数目限制,所述对象获取数目限制用于指示每个客户端所获取的对象的对象数目限制,以及基于所述至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息包括:基于所述至少一个对象分发请求的接收时间顺序、所述对象分发数量和所述对象获取数目限制,确定所述至少一个对象分发消息。
可选地,在上述方面的一个示例中,所述对象分发交易内容包括私钥/公钥对中的公钥,所述第一交易哈希值是针对待分发对象的对象信息和对象信息签名的哈希值,所述对象信息签名是使用所述私钥/公钥对中的私钥来对所述对象信息进行加密后得到的,其中,所述对象分发消息包括所述公钥,以供在所述客户端处进行对象信息验证。
可选地,在上述方面的一个示例中,从区块链节点获取对象分发交易内容包括:从所述区块链节点获取第二交易哈希值,所述第二交易哈希值是针对所述对象分发交易内容的哈希值;以及基于所述第二交易哈希值,从所述区块链节点获取所述对象分发交易内容。
可选地,在上述方面的一个示例中,在基于所述至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息之前,所述方法还包括:对所述至少一个对象分发请求进行资格过滤处理,以及基于所述至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息包括:基于所述经过资格过滤处理后的至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息。
根据本公开的另一个方面,提供了一种用于对象分发处理的装置,包括:分发交易内容获取单元,被配置为从区块链网络中的区块链节点获取对象分发交易内容,所述对象分发交易内容包括针对待分发对象的对象信息的第一交易哈希值以及对象分发规则,所述对象分发规则包括分发开始时间和对象分发数量;对象分发请求接收单元,被配置为在达到所述分发开始时间后,接收来自至少一个客户端的至少一个对象分发请求,所述对象分发请求包括客户端标识信息;对象分发消息确定单元,被配置为基于所述至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息,所述对象分发消息包括客户端标识信息和所述第一交易哈希值;以及对象分发消息发送单元,被配置为将所述至少一个对象分发消息中的各个对象分发消息发送给所述各个对象分发消息中的客户端标识信息所指示的客户端。
可选地,在上述方面的一个示例中,所述对象分发交易内容包括原子计数器,所述对象分发消息确定单元包括:排序模块,被配置为基于所述至少一个对象分发请求的接收时间顺序,利用所述原子计数器来对所述至少一个对象分发请求进行排序;以及对象分发消息确定模块,被配置为根据排序后的至少一个对象分发请求以及所述对象分发数量,确定所述至少一个对象分发消息。
可选地,在上述方面的一个示例中,所述对象分发规则包括对象获取数目限制,所述对象获取数目限制用于指示每个客户端所获取的对象的对象数目限制,以及所述对象分发消息确定单元被配置为:基于所述至少一个对象分发请求的接收时间顺序、所述对象分发数量和所述对象获取数目限制,确定所述至少一个对象分发消息。
可选地,在上述方面的一个示例中,所述对象分发交易内容包括私钥/公钥对中的公钥,所述第一交易哈希值是针对待分发对象的对象信息和对象信息签名的哈希值,所述对象信息签名是使用所述私钥/公钥对中的私钥来对所述对象信息进行加密后得到的,其中,所述对象分发消息包括所述公钥,以供在所述客户端处进行对象信息验证。
可选地,在上述方面的一个示例中,所述分发交易内容获取单元还被配置为:从所述区块链节点获取第二交易哈希值,所述第二交易哈希值是针对所述对象分发交易的哈希值;以及基于所述第二交易哈希值,从所述区块链节点获取所述对象分发交易。
可选地,在上述方面的一个示例中,还包括:资格过滤单元,被配置为对所述至少一个对象分发请求进行资格过滤处理,以及所述对象分发消息确定单元被配置为:基于所述经过资格过滤处理后的至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息。
根据本公开的另一个方面,提供了一种用于对象分发处理的系统,包括:对象提供方设备,被配置为:向区块链网络中的区块链节点发送待分发对象的对象信息以及对象分发交易内容,以由该区块链节点分别根据所述对象信息和对象分发交易内容生成第一交易哈希值和第二交易哈希值,所述对象分发交易内容包括所述第一交易哈希值以及对象分发规则,所述对象分发规则包括分发开始时间和对象分发数量;对象分发服务端,包括如上文所述的用于对象分发处理的装置;至少一个客户端,被配置为向所述对象分发服务端发送对象分发请求。
可选地,在上述方面的一个示例中,所述对象分发交易内容包括私钥/公钥对中的公钥,所述第一交易哈希值是针对待分发对象的对象信息和对象信息签名的哈希值,所述对象信息签名是在所述对象提供方设备处使用所述私钥/公钥对中的私钥来对所述对象信息进行加密后得到的,其中,所述对象分发消息包括所述公钥,所述客户端被配置为使用所述公钥来进行对象信息验证。
可选地,在上述方面的一个示例中,所述对象提供方设备和/或所述对象分发服务端是所述区块链网络中的区块链节点。
根据本公开的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的用于对象分发处理的方法。
根据本公开的另一方面,还提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的用于对象分发处理的方法。
附图说明
通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开的实施例,但并不构成对本公开的实施例的限制。在附图中:
图1示出了根据目前相关技术的对象分发业务系统的架构示意图;
图2示出了示出了根据本公开的用于对象分发处理的系统的架构示意图;
图3示出了根据本公开的实施例的用于对象分发处理的方法在一示例中的信号时序图;
图4示出了根据本公开的实施例的对象分发处理方法在一示例中的信号时序图;
图5示出了根据本公开的实施例的对象分发处理方法应用于商品抢购业务场景下在一示例中的信号时序图;
图6示出了根据本公开的实施例的用于对象分发处理的装置的方框图;
图7示出了根据本公开的实施例的对象分发消息确定单元的方框图;
图8示出了根据本公开的实施例的用于对象分发处理的计算设备的硬件结构图。
具体实施方式
以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在本文中,术语“对象”表示所指定的物品或商品,另外,术语“对象分发”表示针对物品或商品的分发任务。术语“至少一个”表示一个或多个(两个及两个以上)。
术语“区块链”表示用于存储交易的数据结构,其是一种按照时间顺序来将数据区块顺序相连组合而成的链式数据结构,并且以密码学方式保证数据区块不可篡改和不可伪造。区块链包括一个或多个区块。区块链中的每个区块通过包括该区块链中紧接其之前的前一个区块的加密散列(Hash,即哈希)而链接到该前一个区块。每个区块还包括时间戳、该区块的加密哈希以及一个或多个交易(transaction)。对已经被区块链网络的节点验证的交易进行哈希处理并形成Merkle树。在Merkle树中,对叶节点处的数据进行哈希处理,并且针对Merkle树的每个分支,在该分支的根处级联该分支的所有 哈希值。针对Merkle树执行上述处理,直到整个Merkle树的根节点。Merkle树的根节点存储代表该Merkle树中的所有数据的哈希值。当一个哈希值声称是Merkle树中存储的交易时,可以通过判断该哈希值是否与Merkle树的结构一致来进行快速验证。
术语“区块链网络”是用于管理、更新和维护一个或多个区块链结构的计算节点网络。这里,区块链网络可以包括公有区块链网络、私有区块链网络或联盟区块链网络。
现在结合附图来描述本公开的用于对象分发处理的方法、装置及系统。
在对象分发业务中,用户通过客户端访问对象分发平台在约定的时间来参与对象分发业务,而目标用户(例如率先发出对象分发请求的用户)将会得到由对象分发提供方所许诺的物品或商品。
图1示出了根据目前相关技术的对象分发业务系统的架构示意图。
如图1所示,对象分发业务系统包括对象分发提供方设备、对象分发服务端和客户端。这里,对象分发服务端可以是单个服务器,也还可以是由多个服务器所组成的服务器集群(另外,其也可能是非服务器的其他类型的处理设备或终端)。这里,对象分发提供方会将要许诺的对象信息(例如苹果手机)发布在对象分发平台上,也就是,对象分发服务提供方设备将对象信息发送至对象分发服务端。然后,对象分发服务端开展针对对象信息的对象分发活动。这样,用户通过客户端(例如手机或电脑等)向对象分发服务端发送对象分发请求(例如抢购请求)来参与对象分发活动,以由对象分发服务端确定目标用户。这里,对象分发服务端会将对象分发消息(例如奖券消息)发给对应的目标客户端。这样,在目标用户拿到对象分发消息之后,会向对象提供方设备要求其提供相对应的对象(例如苹果手机)。
但是,由于对象提供方设备可能会通过一些技术手段修改在对象分发服务端中其所曾许诺的对象信息,导致目标用户无法得到所预期的对象,也没有证明维权,使得对象分发业务缺乏公平性。
图2示出了根据本公开的用于对象分发处理的系统(下文中也被称为对象分发处理系统)100的架构示意图。
在一些示例中,系统100使得实体能够参与区块链网络102。如图2所示,系统100包括网络104、和计算设备/系统106,108。在一些示例中,网络104可以包括局域网(LAN),广域网(WAN),因特网或其组合,并且连接网站、用户设备(例如,计算设备)和后端系统。在一些示例中,可以通过有线和/或无线通信链路来访问网络 104。在一些示例中,计算设备/系统106、108通过网络104相互通信,以及通过网络104实现与区块链网络102之间的通信,以及区块链网络102中的节点(或,节点设备)通过网络104来进行通信。通常,网络104表示一个或多个通信网络。在一些情况下,计算设备/系统106,108可以是云计算系统(未示出)的节点,或者每个计算设备/系统106,108可以是单独的云计算系统,其包括通过网络104互连的多个计算机并且用作分布式处理系统。
在所描绘的示例中,计算设备/系统106,108中的每个可以包括能够参与作为区块链网络102中的节点的任何合适的计算系统。计算设备/系统的示例包括但不限于,服务器,台式计算机,笔记本电脑,平板电脑设备和智能手机等。在一些示例中,计算设备/系统106,108上可以安装有用于与区块链网络102交互的一个或多个计算机实现的服务。例如,计算设备/系统106可以上可以安装有第一实体(例如,用户A)的服务,比如,第一实体用于管理其与一个或多个其他实体(例如,其他用户)的交易的交易管理系统。计算设备/系统108可以上可以安装有第二实体(例如,用户B)的服务,比如,第二实体用于管理其与一个或多个其他实体(例如,其他用户)的交易的交易管理系统。在图2的示例中,区块链网络102被表示为节点的对等网络,并且计算设备/系统106,108分别作为参与区块链网络102的第一实体和第二实体的节点。这里,区块链网络102包括多个节点,其中,节点中的至少一些节点被用于在区块链中记录信息,并且所记录的信息不可更改。
这里,区块链网络102内被用来维护区块链,而区块链是由多个区块所组成的。多个交易的交易数据被哈希化并且存储在区块中。例如,对两个交易数据进行哈希处理得到两个哈希值,然后,对所得到的两个哈希值再次进行哈希处理以得到另一哈希值。重复该过程,直到对于要存储在区块中的所有交易,得到单个哈希值。该哈希值被称为Merkle根哈希,并且被存储在区块的头部。任何交易的更改都会导致其哈希值发生变化,最终导致Merkle根哈希值发生变化。
在本公开的实施例中,计算设备/系统106,108可分别用于表示对象提供方设备(或商品后台服务端)和对象分发服务端(或商品分发服务端)。也就是说,对象提供方设备和/或对象分发服务端可以作为区块链网络的节点来参与到针对对象分发处理的过程中。可附加或可替换地,对象提供方设备和/或对象分发服务端可以是在区块链网络之外的其他服务器或终端,而这些其他服务器或终端可以使用协议(例如,超文本传输协议安全(HTTPS))和/或使用远程过程调用(RPC)来与区块链网络通信,或者通过区块 链网络进行通信,从而完成本公开的实施例的对象分发处理的过程。
图3示出了根据本公开的实施例的用于对象分发处理的方法(下文中也被称为对象分发处理方法)在一示例中的信号时序图。
如图3所示的流程300,在块301中,对象提供方设备106将待分发的对象信息发送至区块链节点102。这里,对象信息可以表示待分发商品或物品的信息(例如商品名称等),而对象提供方设备106可以表示许诺要分发商品或物品的商家所运营的服务器。示例性地,可以通过对象提供方的运营人员的操作而将对象信息上传至对象提供方设备106,然后对象提供方设备106将对象信息发送至区块链节点102,以请求将对象信息上链。
另外,对象提供方一般还期望能够自定义在对象分发业务中的诸如对象分发数量和分发开始时间之类的对象分发规则。此时,对象分发提供方可以通过对象提供方设备106向对象分发服务端108发送上述对象分发规则。但是,在本公开的一个示例中,为了提高信息传输安全性并防止信息被篡改,在块301中,对象提供方设备106还将对象分发规则发送至区块链节点102,以由区块链节点102根据对象分发规则生成区块链交易的交易内容,进而对象分发服务端108从区块链交易的交易内容中获得上述的对象分发规则。
接着,在块302中,区块链节点102根据对象信息和对象规则生成区块链交易,如在上下文中所描述的,区块链节点102可以表示在区块链网络中的任意节点(或节点设备)。
这里,区块链节点102可根据对象信息和对象分发规则分别生成不同的交易,例如对象交易和对象分发交易。对象分发交易被对象分发服务端108缓存以执行对应的对象分发任务,且对象交易内容中的对象信息被用于验证初始的对象信息未经篡改。此时,对象交易对应于第一交易哈希,而对象分发交易对应于第二交易哈希,且在对象分发交易的交易内容中可包含该第一交易哈希。
接着,在块303中,对象分发服务端108从区块链节点102获取对象分发交易内容。其中,对象分发交易内容还包括上述的诸如对象分发数量和分发开始时间之类的对象规则。
具体的,一方面,区块链节点102可以直接将对象分发交易的交易内容发送至对象分发服务端108。另一方面,区块链节点102可以将对象分发交易所对应的第二交易 哈希值发送至对象分发服务端108,然后对象分发服务端108依据该第二交易哈希值从区块链节点获取对象分发交易内容,具体细节请参照下文相关描述。
接着,在块304中,在达到对象分发交易内容中的分发开始时间后,对象分发服务端108接收来自至少一个客户端40的至少一个对象分发请求。其中,对象分发请求包括客户端标识信息,而客户端标识信息可以表示对客户端或对应的操作用户进行唯一性标识的信息,例如用户ID、MAC地址或IP地址等。
在一些情况下,用户需要满足对象提供方所要求的条件后才具有资格来参与到对象分发业务活动中,例如需要将推广链接转发10次,或者预付定金1元。相应地,对象分发服务端108还可对所接收的至少一个对象分发请求进行资格过滤处理,以将不具有参与资格的非法对象分发请求过滤掉。示例性地,若对应用户的推广链接被转发的次数不足或其尚未预付定金,则对应的对象分发请求会被过滤掉。
接着,在块305中,对象分发服务端108基于至少一个对象分发请求的接收时间顺序和对象分发数量,确定至少一个对象分发消息。其中,对象分发消息包括客户端标识信息和第一交易哈希值,该客户端标识信息用于指示先前发送对象分发请求的多个客户端的其中一者或多者(取决于对象分发数量)。这里,对象分发服务端应也只会为率先到达的对应对象分发数量的请求所对应的客户端发送对象分发消息。在本公开的实施例中,通过对象分发交易内容来确定对象分发规则中的分发开始时间和对象分发数量,基于交易内容的不可篡改的特点能够避免分发开始时间和对象分发数量在对象分发业务的活动开始前遭到篡改,保障了业务能够稳定进行。
在本公开的一个示例中,可以基于至少一个对象分发请求的接收时间顺序,对所接收的至少一个对象分发请求进行排序。示例性地,对象分发服务端108每接收到一个对象分发请求,就为相应的对象分发请求依次进行排序(例如从1开始逐个递增),而若对象分发数量为10个,则确定对应于排序为1-10的对象分发请求所对应的客户端标识信息为目标用户。
这里,可以利用原子计数器来对所接收的对象分发请求按照对应的接收时间顺序进行排序。另外,在对象分发交易内容中可包括原子计数器,以在交易内容中针对各个对象分发请求的排序进行记录,基于交易数据的不可篡改性,更能保障分发业务的公平性。
进一步地,对象分发规则包括对象获取数目限制,而对象获取数目限制用于指示 每个客户端所获取的对象的对象数目限制(例如一个客户端标识信息最多只能获得一个对象)。相应地,基于至少一个对象分发请求的接收时间顺序和对象分发数量确定至少一个对象分发消息包括:基于至少一个对象分发请求的接收时间顺序、对象分发数量和对象获取数目限制,确定至少一个对象分发消息。示例性地,若在对应对象分发数量的接收时间顺序内出现针对同一个客户端标识信息的多次对象分发请求,则依然也可只会为该客户端标识信息分配一个对象。
接着,在块306中,对象分发服务端108将至少一个对象分发消息中的各个对象分发消息发送给各个对象分发消息中的客户端标识信息所指示的客户端。另外,该对象分发消息还可以包括其他的获奖约定信息等,例如“恭喜您成功抢到XXX”。
接着,在块307中,在客户端40收到对象分发消息之后,向对象提供方设备106发送客户端标识信息,例如将包括客户端标识信息的对象分发消息发送给对象提供方设备106,以令对象提供方为目标用户提供对象。需说明的是,利用块307的步骤来提供对象的过程仅为示例,也可以利用其他步骤或方式来完成向用户提供对象。示例性地,对象分发服务端108可将各个对象分发消息中的客户端标识信息发送给对象提供方设备106。这样,对象提供方设备106便可根据各个客户端标识信息直接为相应的目标用户提供对象。
需说明的是,在目前相关技术的对象分发平台的服务器集群根据对象分发请求来确定目标用户的过程中,如图1所示,服务器集群中的每个服务器在收到对象分发请求之后均会访问预设置了对象分发数量(例如10个)的数据库,并通过减库存操作来确定对应目标用户的对象分发请求。但是,在发生高并发的对象分发请求的情况下,多个服务器同时对数据库进行减库存操作会增大数据库的压力,容易导致数据库系统宕机。另外,减库存操作对于不同服务器所接收到的对象分发请求的先后问题也无法说清楚,例如在同一时间有超过20个请求来数据库减库存,但库存数量只有10个。此时,数据库系统一般只能通过随机减库存的方式来确定目标用户而导致缺乏公平性,或者通过增加对象分发数量(例如商品库存数量)而导致对象超卖。
如上文中所描述的,在本公开的实施例中,通过排序的方式来标记针对多个对象分发请求的接收时间先后顺序,并根据排序后的多个对象分发请求与对象分发数量的对比来确定对应获奖用户。相比于去减库存来确定获奖用户的方式,本公开的实施例能有效缓解系统压力,另外根据计数来确定目标对象分发请求,也能够避免超卖的问题。
需说明的是,原子计数器(AtomicInteger)能够实现在高并发情况下计数的功能, 目前主要被应用于流量控制来防止恶意流量攻击。而在本公开的实施例中,利用原子计数器来对至少一个对象分发请求按照接收时间顺序进行排序,并通过在交易内容中记录对应的计数。另外,当对象分发平台采用具有多台服务器的服务器集群时,则可以在多台服务器之间部署分布式原子计数器,从而实现对服务器集群中各台服务器所接收到的请求统一进行排序和计数。
图4示出了根据本公开的实施例的对象分发处理方法在一示例中的信号时序图。
在一些情况下,对象提供方会对待分发的对象信息进行数字签名加密,以提高信息的安全性。示例性地,可以通过私钥/公钥对中的私钥加密对象信息,并在对象分发消息中设置验证公钥。这样,当对象提供方收到含验证公钥的对象分发消息时,可以利用该验证公钥来解开数字签名,完成验证。
如图4所示的流程400,在块401中,对象提供方设备106获得私钥/公钥对,并利用该私钥/公钥对中的私钥加密对象信息,从而生成对应的数字签名(或对象信息签名)。这里,针对私钥/公钥对的类型或来源在此应不加限制,例如对象提供方设备106可以从任意的数字密钥平台来获得私钥/公钥对或自主创建私钥/公钥对。
接着,在块402中,对象提供方设备106可以将对象信息、对象信息签名、验证公钥和对象分发规则等信息发给区块链节点102。
接着,在块403中,区块链节点102根据从对象提供方设备106所接收的信息,诸如对象信息、对象信息签名、验证公钥和对象分发规则等信息,生成对象分发交易。这里,区块链节点102可根据对象信息签名和对象信息来生成对应于对象交易的第一交易哈希值,该第一交易哈希值是作为对象分发交易内容中的一部分,并且该对象分发交易也具有其所对应的第二交易哈希值。
接着,在块404中,区块链节点102将所生成的第二交易哈希值发送至对象分发服务端108。由此,对象分发服务端108基于第二交易哈希值来获取区块链中对象分发交易的交易内容。
接着,在块405中,对象分发服务端108在分发开始时间接收自至少一个客户端的至少一个对象分发请求。这里,分发开始时间可以是从所接收的对象分发交易内容中而得到的。
接着,在块406中,对象分发服务端108基于至少一个对象分发请求的接收时间顺序和对象分发数量,确定至少一个对象分发消息。这里,对象分发交易的内容中具有 诸如对象分发数量和其他规则之类的对象分发规则,因此对象分发服务端108可以根据满足对象分发规则的对象分发请求来确定对象分发消息。
接着,在块407中,对象分发服务端108向目标用户所对应的客户端40发送对象分发消息。这里对象分发消息可以包括对应对象交易的第一交易哈希值和验证公钥。
这里,在客户端40拿到验证公钥之后,可以向对象提供方或对象分发平台请求验证,并提供相应的对象。另外,在对象提供方或对象分发平台所兑换的对象与先前所曾许诺的对象不一致时,用户需要找到合理的证据来维护自己的合法权益。
这样,在块408中,客户端40向区块链节点102发送第一交易哈希值。示例性地,客户端40可发送包含第一交易哈希值的对象交易至区块链节点102。这样,区块链节点102可通过对象分发消息中的交易哈希进行哈希验证找到相匹配的对象交易的交易内容中的对象信息和对象信息签名。
应该理解的是,区块链网络中的每个区块链节点均用于维护相同的针对一个或多个交易的数据,而已经被区块链网络的节点验证的交易通过哈希处理形成Merkle树。并且,当一个哈希值声称是Merkle树中存储的交易时,可以通过判断该哈希值是否与Merkle树的结构一致来进行快速验证。如果存在相匹配的哈希值,则可以通过哈希值找到对应的在Merkle树中所存储的对应交易的数据。
这样,当区块链节点102收到了第一交易哈希值时,可以通过快速验证找到该第一交易哈希值所对应的在Merkle树下的节点中的对象交易内容,例如对象信息、对象签名信息等(参照上述方式,区块链节点102可基于第二交易哈希值来获取对象分发交易的交易内容)。
接着,在块409中,区块链节点102将相匹配的交易下的对象信息和对象信息签名发给客户端40。
接着,在块410中,客户端可以通过对象分发消息中的验证公钥来对区块链所得到的对象信息签名进行验签,即基于验证公钥来解密对象信息签名,以得到所解密的对象信息。另外,基于从区块链所接收的对象信息,以及针对对象信息签名解密所得到的对象信息,能够有效验证对象提供方最初发布的初始对象信息并确定目标用户有正确的验证公钥。
容易理解的是,区块链能够保证数据区块中的交易内容是不可篡改或伪造的,同时该对象信息就是由对象提供方先前发送给区块链平台的。因此,当目标用户发现所得 到的对象与对象提供方先前许诺的对象不一致时,可通过从区块链节点所返回的对象信息来作为证明,维护自己的合法权益,增强了对象分发业务的用户信任感。
在一些实施方式中,对象提供方设备106和/或对象分发服务端108可以是区块链网络中的区块链节点,或者存在分别专门为对象提供方设备106和对象分发服务端108提供区块链服务的区块链节点。这样,在对象提供方需要进行对象分发业务时,对象提供方设备106可以直接根据本地上传的对象信息和对象分发规则来生成对象交易和对象分发交易。这里,对象交易内容包括对象信息(或者,对象信息和对象信息签名),对象交易对应于第一交易哈希。另外,对象分发交易对应于第二交易哈希,且在对象分发交易内容中包括分发开始时间和对象分发数量。进而,对象分发服务端108能够基于对象分发交易而接收对象分发请求,并确定对应的目标用户。因此,对象提供方设备作为区块链节点而能够依据所上传的信息直接来生成区块链交易,且上链的信息数据是不可篡改的,保障了对象分发业务的公平性。
图5示出了根据本公开的实施例的对象分发处理方法500应用于商品抢购业务场景下在一示例中的信号时序图。
如图5所示的流程500,在块501中,商家在商品后台服务端106上传商品信息,并且商家可以提前准备一组私钥/公钥对,然后商品后台服务端106利用私钥/公钥对中的私钥对商品信息进行加密签名。示例性地,商品信息是“苹果手机一个”,然后对该商品利用私钥加密,从而得到对应的数字签名(sign)。
接着,在块502中,商品后台服务端106将商品信息和商品信息签名发送至区块链节点102请求上链。
接着,在块503中,区块链节点102根据商品信息签名和商品信息生成对应的商品交易TX1。
举例来说,在交易TX1所对应的交易内容如下表1所示的内容:
商品信息 苹果手机一个
商品信息签名 sign
表1
相应地,此条交易TX1承载的信息经过哈希计算可以得到TX1的哈希(下文中也称为奖品Hash)是:
tx1=0xf7E62B3C48d09b0133b87E7312f4A4f6d2aBCe22。
接着,在块5041中,区块链节点102向商品后台服务端通知商品信息上链成功通知,这里商品信息上链成功通知中包含奖品Hash。
接着,在块5042中,商品后台服务端106将针对商品信息的抢购规则和验证中奖的规则,例如将验证公钥、抢购规则等,连同奖品Hash一起发送至区块链节点102,以请求上链。
接着,在块505中,区块链节点102根据验证公钥、奖品Hash和抢购规则等生成交易TX2。
举例来说,交易TX2所对应的交易内容如下表2所示的内容:
奖品Hash 0xf7E62B3C48d09b0133b87E7312f4A4f6d2aBCe22
开始时间 2019-2-30 10:00:00
商品库存数量 10
验证公钥 62B3C48d09b0133b87E7312f4A4f6d2
原子计数器 如:incrKey
其他规则 如:每个用户ID最多只能中一台
表2
相应地,此条交易TX2承载的信息经过哈希计算可以得到TX2的哈希:
tx2=0xe7cae62be1049ca29a5b468e6018ff4cfc6870bdfc6750541b8a223fda7d3ed0。
进而,将该TX2的哈希发送给商品分发服务端108。
另外,区块链节点102在接收到验证公钥之后,还可以尝试用所接收的验证公钥和商品信息签名进行匹配验证,以保障商家上链的验证公钥能够解密对应的商品信息签名。
接着,在块506中,商品分发服务端108或抢购服务器集群中的每个服务器均在本地缓存在TX2的交易内容。示例性地,根据TX2的哈希tx2从区块链节点中读取对应数据区块中的内容,例如可以读取诸如奖品Hash、开始时间、商品数量、验证公钥、原子计数器和其他规则的交易内容信息。
接着,在块5071中,商品分发服务端108得到TX2交易内容中的分发开始时间,并根据分发开始时间来判断是否开始进行抢购活动。示例性地,如果当前时间为2019 年02月30日的10点整,则开始进行抢购活动。
接着,在块5072中,商品分发服务端108接收自至少一个客户端40的商品分发请求(或抢购请求)。这里,每个抢购请求具有对应的客户端标识信息。应理解的是,商品分发服务端108可对所有抢购请求所对应的抢购资格进行筛选,从而滤除掉不具备资格的用户请求。
接着,在块508中,商品分发服务端108可以得到TX2交易内容中的或商品库存数量。
接着,在块509中,商品分发服务端108可根据商品库存数量、其他规则和分发开始时间来确定商品分发消息(或奖券消息)。这里,可以确定商品分发请求中的客户端标识信息所对应的用户信息或客户端信息,从而确定获奖用户。在本公开的实施例中,通过在所缓存的交易内容中获得商品分发规则,相比于用其他方式(例如直接从商品后台服务端106)中获得商品分发规则,基于交易内容的不可篡改的特点能够避免商品分发规则在抢购活动开始前遭到篡改。
这里,所有的目标商品分发请求都会访问一个分布式原子计数器,从而得到各个请求所对应的计数。示例性地,针对抢购请求的计数为:用户ID=Tony,计数值=1;用户ID=Jerry,计数值=2等。然后,根据计数值比对在商品分发服务端108本地缓存的TX2交易内容中的商品库存数量,从而判断用户ID是否中奖。相比于通过减库存的方式,本公开的实施例更能节约资源消耗,并还能够避免商品超卖的问题。
接着,在块510中,商品分发服务端108可将商品信息签名、验证公钥和交易哈希等发送至获奖用户所对应的客户端40。
示例性地,获奖用户所得到的奖券消息为如下表3所示的内容:
奖品Hash 0xf7E62B3C48d09b0133b87E7312f4A4f6d2aBCe22
计数值 1
商品库存数量 10
验证公钥 62B3C48d09b0133b87E7312f4A4f6d2
表3
应理解的是,表3中的奖券消息的内容仅用作示例,其还可以包括更多的信息,例如抢购规则等;或者,其还可以包括更少的信息,例如可不包括商品库存数量等。
接着,在块511中,用户利用验证公钥到商家或抢购平台兑奖,例如,客户端40发送包括验证公钥的奖券消息至商品后台服务端106。这样,商品后台服务端106基于奖券消息中的验证公钥来完成数字签名验证,并为获奖用户发放奖品。
在一些实施方式中,若用户在兑奖时,商家反馈因商品信息签名不匹配无法兑奖或无法兑换到期望的奖品时,用户需要证明自己具有领奖资格并应当得到商家曾许诺的产品。这样,在块512中,客户端40将奖品Hash发送至区块链节点102,例如将包括奖品Hash的奖券消息发送至区块链节点102。进而,区块链节点102会根据奖券中的奖品Hash来找到对象交易TX1。
接着,在块513中,区块链节点将交易TX1中的内容(例如商品信息签名和商品信息)发送至客户端40。
接着,在块514中,客户端40可以利用奖券消息中的验证公钥来对商品信息签名进行验签。也就是,基于奖券中的验证公钥来解密商品信息签名,从而证明自己有正确的公钥,并且还可以通过从区块链所得到的商品信息来得出初始商品信息是否遭到篡改的结论。由此,所提供的基于区块链的抢购方案能够保障较好的公平性。
图6示出了根据本公开的实施例的用于对象分发处理的装置(下文中也称为对象分发处理装置)在一示例中的结构框图。
如图6所示,对象分发处理装置600包括分发交易内容获取单元610、对象分发请求接收单元620、对象分发消息确定单元630、对象分发消息发送单元640和资格过滤单元650。
分发交易内容获取单元610被配置为从区块链网络中的区块链节点获取对象分发交易内容,所述对象分发交易内容包括针对待分发对象的对象信息的第一交易哈希值以及对象分发规则,所述对象分发规则包括分发开始时间和对象分发数量。分发交易内容获取单元610的操作可以参照上面参考图3描述的块303的操作。
对象分发请求接收单元620被配置为在达到所述分发开始时间后,接收来自至少一个客户端的至少一个对象分发请求,所述对象分发请求包括客户端标识信息。对象分发请求接收单元620的操作可以参照上面参考图3描述的块304的操作。
对象分发消息确定单元630被配置为基于所述至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息,所述对象分发消息包括客户端标识信息和所述第一交易哈希值。对象分发消息确定单元630的操作可以参照上面参 考图3描述的块305的操作。
对象分发消息发送单元640被配置为将所述至少一个对象分发消息中的各个对象分发消息发送给所述各个对象分发消息中的客户端标识信息所指示的客户端。对象分发消息发送单元640的操作可以参照上面参考图3描述的块306的操作。
资格过滤单元650被配置为对所述至少一个对象分发请求进行资格过滤处理。此时,对象分发消息确定单元630可被配置为基于所述经过资格过滤处理后的至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息。资格过滤单元650的操作可以参照上面参考图3描述的块304中的相关操作。
应理解的是,上述对象分发处理装置600的结构仅用于示例,以及对象分发处理装置600可仅具有上述块610-650中的部分块,例如对象分发处理装置600内可不设置资格过滤单元650。
进一步地,所述对象分发规则包括对象获取数目限制,所述对象获取数目限制用于指示每个客户端所获取的对象的对象数目限制,以及所述对象分发消息确定单元630被配置为:基于所述至少一个对象分发请求的接收时间顺序、所述对象分发数量和所述对象获取数目限制,确定所述至少一个对象分发消息。
进一步地,所述分发交易内容获取单元610还被配置为:从所述区块链节点获取第二交易哈希值,所述第二交易哈希值是针对所述对象分发交易的哈希值;以及基于所述第二交易哈希值,从所述区块链节点获取所述对象分发交易。
进一步地,所述对象分发交易内容包括私钥/公钥对中的公钥,所述第一交易哈希值是针对待分发对象的对象信息和对象信息签名的哈希值,所述对象信息签名是使用所述私钥/公钥对中的私钥来对所述对象信息进行加密后得到的,其中,所述对象分发消息包括所述公钥,以供在所述客户端处进行对象信息验证。
图7示出了根据本公开的实施例的对象分发消息确定单元630在一示例中的结构框图。
如图7所示,对象分发消息确定单元630包括排序模块631和对象分发消息确定模块632。这里,在对象分发交易内容中包括原子计数器。排序模块631被配置为基于所述至少一个对象分发请求的接收时间顺序,利用所述原子计数器来对所述至少一个对象分发请求进行排序。对象分发消息确定模块632被配置为根据排序后的至少一个对象分发请求以及所述对象分发数量,确定所述至少一个对象分发消息。排序模块631和 对象分发消息确定模块632的操作可以参照上面参考图3中块305中的相关操作。
如图2-6所示,对象分发处理系统100包括对象提供方设备106、对象分发服务端108和客户端40。另外,区块链节点102可以是在对象分发处理系统100的外部,而由对象分发处理系统调用以完成相应的对象分发处理业务。
对象提供方设备106被配置为向区块链网络中的区块链节点发送待分发对象的对象信息以及对象分发交易内容,以由该区块链节点分别根据所述对象信息和对象分发交易内容生成第一交易哈希值和第二交易哈希值,所述对象分发交易内容包括所述第一交易哈希值以及对象分发规则,所述对象分发规则包括分发开始时间和对象分发数量。
对象分发服务端108包括如上所述的对象分发处理装置600。
至少一个客户端40被配置为向所述对象分发服务端发送对象分发请求。
进一步地,所述对象分发交易内容包括私钥/公钥对中的公钥,所述第一交易哈希值是针对待分发对象的对象信息和对象信息签名的哈希值,所述对象信息签名是在所述对象提供方设备处使用所述私钥/公钥对中的私钥来对所述对象信息进行加密后得到的。其中,所述对象分发消息包括所述公钥,客户端40被配置为使用所述公钥来进行对象信息验证。
进一步地,对象提供方设备106和/或对象分发服务端108是所述区块链网络中的区块链节点。
如上参照图2到图7,对根据本公开的用于对象分发处理的方法、装置及系统的实施例进行了描述。在以上对方法实施例的描述中所提及的细节,同样适用于本公开的装置及系统的实施例。上面的用于对象分发处理的装置及系统可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图8示出了根据本公开的实施例的用于对象分发处理的计算设备800的硬件结构图。如图8所示,计算设备800可以包括至少一个处理器810、存储器(例如非易失性存储器)820、内存830和通信接口840,并且至少一个处理器810、存储器820、内存830和通信接口840经由总线860连接在一起。至少一个处理器810执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器810从区块链网络中的区块链节点获取对象分发交易内容,所述对象分发交易内容包括针对待分发对象的对象信息的第一交易哈希值以及对象分发规则,所述对象分 发规则包括分发开始时间和对象分发数量;在达到所述分发开始时间后,接收来自至少一个客户端的至少一个对象分发请求,所述对象分发请求包括客户端标识信息;基于所述至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息,所述对象分发消息包括客户端标识信息和所述第一交易哈希值;以及将所述至少一个对象分发消息中的各个对象分发消息发送给所述各个对象分发消息中的客户端标识信息所指示的客户端。
应该理解,在存储器820中存储的计算机可执行指令当执行时使得至少一个处理器810进行本公开的各个实施例中以上结合图2-7描述的各种操作和功能。
在本公开中,计算设备800可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构, 即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

Claims (17)

  1. 一种用于对象分发处理的方法,所述方法由对象分发服务端执行,所述方法包括:
    从区块链网络中的区块链节点获取对象分发交易内容,所述对象分发交易内容包括针对待分发对象的对象信息的第一交易哈希值以及对象分发规则,所述对象分发规则包括分发开始时间和对象分发数量;
    在达到所述分发开始时间后,接收来自至少一个客户端的至少一个对象分发请求,所述对象分发请求包括客户端标识信息;
    基于所述至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息,所述对象分发消息包括客户端标识信息和所述第一交易哈希值;以及
    将所述至少一个对象分发消息中的各个对象分发消息发送给所述各个对象分发消息中的客户端标识信息所指示的客户端。
  2. 如权利要求1所述的方法,其中,所述对象分发交易内容包括原子计数器,
    基于所述至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息包括:
    基于所述至少一个对象分发请求的接收时间顺序,利用所述原子计数器来对所述至少一个对象分发请求进行排序;以及
    根据排序后的至少一个对象分发请求以及所述对象分发数量,确定所述至少一个对象分发消息。
  3. 如权利要求1或2所述的方法,其中,所述对象分发规则包括对象获取数目限制,所述对象获取数目限制用于指示每个客户端所获取的对象的对象数目限制,以及
    基于所述至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息包括:
    基于所述至少一个对象分发请求的接收时间顺序、所述对象分发数量和所述对象获取数目限制,确定所述至少一个对象分发消息。
  4. 如权利要求1所述的方法,其中,所述对象分发交易内容包括私钥/公钥对中的公钥,所述第一交易哈希值是针对待分发对象的对象信息和对象信息签名的哈希值,所述对象信息签名是使用所述私钥/公钥对中的私钥来对所述对象信息进行加密后得到的,其中,所述对象分发消息包括所述公钥,以供在所述客户端处进行对象信息验证。
  5. 如权利要求1所述的方法,其中,从区块链节点获取对象分发交易内容包括:
    从所述区块链节点获取第二交易哈希值,所述第二交易哈希值是针对所述对象分发 交易内容的哈希值;以及
    基于所述第二交易哈希值,从所述区块链节点获取所述对象分发交易内容。
  6. 如权利要求1所述的方法,其中,在基于所述至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息之前,所述方法还包括:
    对所述至少一个对象分发请求进行资格过滤处理,以及
    基于所述至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息包括:
    基于所述经过资格过滤处理后的至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息。
  7. 一种用于对象分发处理的装置,包括:
    分发交易内容获取单元,被配置为从区块链网络中的区块链节点获取对象分发交易内容,所述对象分发交易内容包括针对待分发对象的对象信息的第一交易哈希值以及对象分发规则,所述对象分发规则包括分发开始时间和对象分发数量;
    对象分发请求接收单元,被配置为在达到所述分发开始时间后,接收来自至少一个客户端的至少一个对象分发请求,所述对象分发请求包括客户端标识信息;
    对象分发消息确定单元,被配置为基于所述至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息,所述对象分发消息包括客户端标识信息和所述第一交易哈希值;以及
    对象分发消息发送单元,被配置为将所述至少一个对象分发消息中的各个对象分发消息发送给所述各个对象分发消息中的客户端标识信息所指示的客户端。
  8. 如权利要求7所述的装置,其中,所述对象分发交易内容包括原子计数器,所述对象分发消息确定单元包括:
    排序模块,被配置为基于所述至少一个对象分发请求的接收时间顺序,利用所述原子计数器来对所述至少一个对象分发请求进行排序;以及
    对象分发消息确定模块,被配置为根据排序后的至少一个对象分发请求以及所述对象分发数量,确定所述至少一个对象分发消息。
  9. 如权利要求7或8所述的装置,其中,所述对象分发规则包括对象获取数目限制,所述对象获取数目限制用于指示每个客户端所获取的对象的对象数目限制,以及
    所述对象分发消息确定单元被配置为:
    基于所述至少一个对象分发请求的接收时间顺序、所述对象分发数量和所述对象获取数目限制,确定所述至少一个对象分发消息。
  10. 如权利要求7所述的装置,其中,所述对象分发交易内容包括私钥/公钥对中的公钥,所述第一交易哈希值是针对待分发对象的对象信息和对象信息签名的哈希值,所述对象信息签名是使用所述私钥/公钥对中的私钥来对所述对象信息进行加密后得到的,
    其中,所述对象分发消息包括所述公钥,以供在所述客户端处进行对象信息验证。
  11. 如权利要求7所述的装置,其中,所述分发交易内容获取单元还被配置为:
    从所述区块链节点获取第二交易哈希值,所述第二交易哈希值是针对所述对象分发交易的哈希值;以及
    基于所述第二交易哈希值,从所述区块链节点获取所述对象分发交易。
  12. 如权利要求7所述的装置,还包括:
    资格过滤单元,被配置为对所述至少一个对象分发请求进行资格过滤处理,以及
    所述对象分发消息确定单元被配置为:
    基于所述经过资格过滤处理后的至少一个对象分发请求的接收时间顺序和所述对象分发数量,确定至少一个对象分发消息。
  13. 一种用于对象分发处理的系统,包括:
    对象提供方设备,被配置为:向区块链网络中的区块链节点发送待分发对象的对象信息以及对象分发交易内容,以由该区块链节点分别根据所述对象信息和对象分发交易内容生成第一交易哈希值和第二交易哈希值,所述对象分发交易内容包括所述第一交易哈希值以及对象分发规则,所述对象分发规则包括分发开始时间和对象分发数量;
    对象分发服务端,包括如权利要求7-12中任一项所述的用于对象分发处理的装置;
    至少一个客户端,被配置为向所述对象分发服务端发送对象分发请求。
  14. 如权利要求13所述的系统,其中,所述对象分发交易内容包括私钥/公钥对中的公钥,所述第一交易哈希值是针对待分发对象的对象信息和对象信息签名的哈希值,所述对象信息签名是在所述对象提供方设备处使用所述私钥/公钥对中的私钥来对所述对象信息进行加密后得到的,
    其中,所述对象分发消息包括所述公钥,所述客户端被配置为使用所述公钥来进行对象信息验证。
  15. 如权利要求13或14所述的系统,其中,所述对象提供方设备和/或所述对象分发服务端是所述区块链网络中的区块链节点。
  16. 一种计算设备,包括:
    至少一个处理器;以及
    存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所 述至少一个处理器执行如权利要求1到6中任一所述的方法。
  17. 一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到6中任一所述的方法。
PCT/CN2020/071354 2019-07-24 2020-01-10 用于对象分发处理的方法、装置及系统 WO2021012643A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/779,239 US11501295B2 (en) 2019-07-24 2020-01-31 Object distribution processing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910673011.9A CN110490640B (zh) 2019-07-24 2019-07-24 用于对象分发处理的方法、装置及系统
CN201910673011.9 2019-07-24

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/779,239 Continuation US11501295B2 (en) 2019-07-24 2020-01-31 Object distribution processing

Publications (1)

Publication Number Publication Date
WO2021012643A1 true WO2021012643A1 (zh) 2021-01-28

Family

ID=68548200

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/071354 WO2021012643A1 (zh) 2019-07-24 2020-01-10 用于对象分发处理的方法、装置及系统

Country Status (3)

Country Link
CN (1) CN110490640B (zh)
TW (1) TW202105295A (zh)
WO (1) WO2021012643A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11501295B2 (en) 2019-07-24 2022-11-15 Advanced New Technologies Co., Ltd. Object distribution processing
CN110490640B (zh) * 2019-07-24 2021-08-31 创新先进技术有限公司 用于对象分发处理的方法、装置及系统
CN111428277B (zh) * 2020-03-20 2023-08-18 中国建设银行股份有限公司 区块链数据的校验方法、装置及系统
CN111310239B (zh) * 2020-03-23 2023-03-24 杭州溪塔科技有限公司 一种数字信息批量分发方法、装置及电子设备
CN113159899A (zh) * 2021-04-29 2021-07-23 支付宝(杭州)信息技术有限公司 一种基于区块链的抢购方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978335A (zh) * 2014-04-04 2015-10-14 阿里巴巴集团控股有限公司 数据访问控制方法和装置
CN107392623A (zh) * 2017-05-22 2017-11-24 阿里巴巴集团控股有限公司 一种业务执行的方法及装置
CN107742352A (zh) * 2017-09-20 2018-02-27 黄玉宇 基于区块链及智能合约的去中心化抽签/排队方法及系统
CN109255611A (zh) * 2018-07-23 2019-01-22 北京京东尚科信息技术有限公司 数据处理方法、装置、系统、服务端装置和客户端装置
CN110490640A (zh) * 2019-07-24 2019-11-22 阿里巴巴集团控股有限公司 用于对象分发处理的方法、装置及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3349164A1 (en) * 2017-01-17 2018-07-18 Mobilead Method and apparatus for secure identifier management
CN107424036B (zh) * 2017-04-26 2021-02-02 北京微影时代科技有限公司 数据处理方法及装置
CN107493162A (zh) * 2017-07-25 2017-12-19 中国联合网络通信集团有限公司 区块链节点的实现方法及装置
CN110417775B (zh) * 2018-04-27 2021-03-26 腾讯科技(深圳)有限公司 基于区块链的虚拟物品交易方法、装置及服务器
CN109255671A (zh) * 2018-07-18 2019-01-22 北京京东尚科信息技术有限公司 订单请求的处理方法、装置和计算机可读存储介质
CN109101836B (zh) * 2018-08-09 2021-07-13 全链通有限公司 区块链网络的记账方法和系统
CN110046482A (zh) * 2018-12-25 2019-07-23 阿里巴巴集团控股有限公司 身份核实方法及其系统
CN109785135A (zh) * 2019-01-23 2019-05-21 珠海横琴跨境说网络科技有限公司 一种基于区块链技术的交易方法、系统和存储介质
CN109829824B (zh) * 2019-03-05 2020-10-27 河钢国际科技(北京)有限公司 一种基于区块链技术的商品交易信息共享方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978335A (zh) * 2014-04-04 2015-10-14 阿里巴巴集团控股有限公司 数据访问控制方法和装置
CN107392623A (zh) * 2017-05-22 2017-11-24 阿里巴巴集团控股有限公司 一种业务执行的方法及装置
CN107742352A (zh) * 2017-09-20 2018-02-27 黄玉宇 基于区块链及智能合约的去中心化抽签/排队方法及系统
CN109255611A (zh) * 2018-07-23 2019-01-22 北京京东尚科信息技术有限公司 数据处理方法、装置、系统、服务端装置和客户端装置
CN110490640A (zh) * 2019-07-24 2019-11-22 阿里巴巴集团控股有限公司 用于对象分发处理的方法、装置及系统

Also Published As

Publication number Publication date
TW202105295A (zh) 2021-02-01
CN110490640A (zh) 2019-11-22
CN110490640B (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
WO2021012643A1 (zh) 用于对象分发处理的方法、装置及系统
US11057366B2 (en) Federated identity management with decentralized computing platforms
US20230023857A1 (en) Data processing method and apparatus, intelligent device, and storage medium
US12045811B2 (en) Secure and confidential custodial transaction system, method and device using zero-knowledge protocol
KR102665645B1 (ko) 분산 트랜잭션 컨센서스 네트워크에서의 디지털 자산 트랜잭션의 익명성 및 추적성 향상 기법
US20190158275A1 (en) Digital containers for smart contracts
WO2020062668A1 (zh) 一种身份认证方法、身份认证装置及计算机可读介质
CN111556120B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
CN111723355A (zh) 数据库中的信息管理
KR101985179B1 (ko) 블록체인 기반의 ID as a Service
CN108650077B (zh) 基于区块链的信息传输方法、终端、设备及可读存储介质
CN110719176A (zh) 基于区块链的物流隐私保护方法、系统和可读存储介质
CN107124281B (zh) 一种数据保全方法和相关系统
US20060242411A1 (en) Deliver-upon-request secure electronic message system
CN108667605B (zh) 一种数据加密、解密方法和装置
JPH09507729A (ja) キー寄託機能付き暗号システムおよび方法
US20220368536A1 (en) System for authenticating verified personal credentials
WO2020062667A1 (zh) 数据资产管理方法、数据资产管理装置及计算机可读介质
US20220269754A1 (en) Decentralized system and method for asset registry and authentication
WO2022068356A1 (zh) 基于区块链的信息加密方法、装置、设备及介质
US20090083739A1 (en) Network resource access control methods and systems using transactional artifacts
CN111291394A (zh) 一种虚假信息管理方法、装置和存储介质
CN109660534A (zh) 基于多商户的安全认证方法、装置、电子设备及存储介质
CN109948370A (zh) 一种基于区块链的业务处理方法、装置和电子设备
WO2022068234A1 (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: 20844868

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20844868

Country of ref document: EP

Kind code of ref document: A1