Disclosure of Invention
In view of the foregoing drawbacks or shortcomings in the prior art, it is desirable to provide a zero knowledge proof based red packet processing method, computer device and storage medium that prevent lawbreakers from picking up transaction theft-collar red packets by parsing the red packets.
In a first aspect, the present invention provides a method for processing a packet based on zero knowledge proof, applicable to a user terminal, wherein a packet contract is configured on a blockchain, and a zero knowledge proof circuit for verifying a packet pickup certificate and a packet collection address is configured in the packet contract, the method comprising:
receiving first data, a first public key, and first signature information in response to receiving the first red packet; wherein the first signature information is generated by the redpack user signing the first data with a first private key corresponding to the first public key, the redpack contract further configured to record the first data and the first public key into the redpack contract when performing the corresponding redpack transaction;
The first signature information and the second private key corresponding to the second address are used as private inputs of the proving algorithm to generate first proving information;
Generating a first red packet pickup transaction comprising the first data, the first public key, the second address, and the first attestation information and sending the first red packet pickup transaction to the blockchain network for execution by the blockchain node through a red packet contract, inputting the first data, the first public key, the second address, and the first attestation information into a verification algorithm of the zero knowledge attestation circuit to verify:
whether the redbag-leading user holds a redbag-leading voucher signed by a first private key held by the redbag-leading user;
whether the second address is the address corresponding to the second private key held by the packet-capturing user;
if any one of the above verification fails, the red packet is not picked up;
And if the two verification steps are successful, transferring the corresponding red packet money to a second address.
In a second aspect, the present invention provides a zero knowledge proof based red packet processing method for a blockchain node, the blockchain having red packet contracts configured thereon, the red packet contracts having zero knowledge proof circuitry configured therein for verifying red packet pick-up credentials and a red packet checkout address, the method comprising:
Executing a first package pickup transaction through a package contract, and inputting first data, a first public key, a second address and first proving information into a verification algorithm of a zero knowledge proving circuit to verify:
whether the redbag-leading user holds a redbag-leading voucher signed by a first private key held by the redbag-leading user;
whether the second address is the address corresponding to the second private key held by the packet-capturing user;
if any one of the above verification fails, the red packet is not picked up;
And if the two verification steps are successful, transferring the corresponding red packet money to a second address.
The first red package pickup transaction comprises first data, a first public key, a second address and first proving information, and is generated by packing a first user side;
The first certification information is generated by taking the first data, the first public key and the second address as public inputs of a certification algorithm of a zero knowledge certification circuit and taking the first signature information and a second private key corresponding to the second address as private inputs of the certification algorithm after the first user side receives the first red packet and receives the first data, the first public key and the first signature information;
The red pack contract is further configured to record the first data and the first public key into the red pack contract when performing the corresponding red pack transaction.
In a third aspect, the present invention also provides another method for processing a red packet based on zero knowledge proof, where a red packet contract is configured on a blockchain, and a zero knowledge proof circuit for verifying a red packet pickup certificate and a red packet collection address is configured in the red packet contract, and the method includes:
Receiving a third public key and a third private key in response to receiving the second red packet; wherein the package contract is further configured to record a third public key into the package contract when performing the corresponding package transaction;
The third public key and the fourth address of the current user are used as public inputs of a proving algorithm of the zero knowledge proving circuit, and the third private key and the fourth private key corresponding to the fourth address are used as private inputs of the proving algorithm, so that second proving information is generated;
generating a second red packet pickup transaction comprising a third public key, a fourth address and second attestation information and sending the second red packet pickup transaction to the blockchain network for execution by the blockchain node through a red packet contract, inputting the third public key, the fourth address and the second attestation information into a verification algorithm of a zero knowledge attestation circuit to verify:
Whether the user of the red-envelope holds a third private key corresponding to the third public key or not;
whether the fourth address is the address corresponding to the fourth private key held by the packet-capturing user;
if any one of the above verification fails, the red packet is not picked up;
and if the two verification steps are successful, transferring the corresponding red packet money to a fourth address.
In a fourth aspect, the present invention also provides another zero knowledge proof based red packet processing method suitable for a blockchain node, wherein a red packet contract is configured on the blockchain, and a zero knowledge proof circuit for verifying a red packet acquisition certificate and a red packet collection address is configured in the red packet contract, and the method comprises:
executing a second package pickup transaction through the package contract, and inputting the third public key, the fourth address and the second certification information into a verification algorithm of the zero knowledge proof circuit to verify:
Whether the user of the red-envelope holds a third private key corresponding to the third public key or not;
whether the fourth address is the address corresponding to the fourth private key held by the packet-capturing user;
if any one of the above verification fails, the red packet is not picked up;
and if the two verification steps are successful, transferring the corresponding red packet money to a fourth address.
The second red packet pickup transaction comprises a third public key, a fourth address and second certification information, and is generated by packing a second user side;
The second certification information is generated by taking the third public key and the fourth address as public input of a certification algorithm of the zero knowledge certification circuit and taking the third private key and the fourth private key corresponding to the fourth address as private input of the certification algorithm after the second user side receives the third public key and the third private key after receiving the second red packet;
the red package contract is further configured to record a third public key into the red package contract when performing the corresponding red package transaction.
In a fifth aspect, the present invention further provides a method for processing a red packet based on zero knowledge proof, where a red packet contract is configured on a blockchain, and a zero knowledge proof circuit for verifying a red packet acquisition certificate and a red packet collection address is configured in the red packet contract, where the method includes:
Receiving a first random number in response to receiving the third red packet; wherein the red pack contract is further configured to record a hash value of the first random number into the red pack contract when performing the corresponding red pack transaction;
The hash value of the first random number and the fifth address of the current user are used as public input of a proving algorithm of a zero knowledge proving circuit, and the first random number and a fifth private key corresponding to the fifth address are used as private input of the proving algorithm, so that third proving information is generated;
generating a third red packet comprising the hash value of the first random number, the fifth address and the third attestation information, and sending the third red packet to the blockchain network for execution by the blockchain node through the red packet contract, and inputting the hash value of the first random number, the fifth address and the third attestation information into a verification algorithm of the zero knowledge attestation circuit to verify:
Whether the user of the red-lead packet holds a first random number;
whether the fifth address is the address corresponding to the fifth private key held by the user for red envelope;
if any one of the above verification fails, the red packet is not picked up;
and if the two verification steps are successful, transferring the corresponding red packet money to a fifth address.
In a sixth aspect, the present invention also provides a zero knowledge proof-based red packet processing method applicable to a blockchain node, wherein a red packet contract is configured on the blockchain, and a zero knowledge proof circuit for verifying a red packet acquisition certificate and a red packet collection address is configured in the red packet contract, the method comprising:
Executing a third red package pickup transaction through the red package contract, and inputting the hash value of the first random number, the fifth address and the third proving information into a verification algorithm of the zero knowledge proving circuit to verify:
Whether the user of the red-lead packet holds a first random number;
whether the fifth address is the address corresponding to the fifth private key held by the user for red envelope;
if any one of the above verification fails, the red packet is not picked up;
and if the two verification steps are successful, transferring the corresponding red packet money to a fifth address.
The third red packet pickup transaction comprises a hash value of the first random number, a fifth address and third proving information, and is generated by packing a third user terminal;
The third proving information is generated by a third user side taking the hash value of the first random number and a fifth address as public input of a proving algorithm of a zero knowledge proving circuit and taking the first random number and a fifth private key corresponding to the fifth address as private input of the proving algorithm after receiving the first random number after receiving the third red packet;
the red pack contract is further configured to record a hash value of the first random number into the red pack contract when performing the corresponding red pack transaction.
In a seventh aspect, the present invention also provides a computer device comprising one or more processors and a memory, wherein the memory contains instructions executable by the one or more processors to cause the one or more processors to perform the zero knowledge proof based red packet processing method provided in accordance with various embodiments of the invention.
In an eighth aspect, the present invention also provides a storage medium storing a computer program for causing a computer to execute the zero-knowledge-proof-based red packet processing method provided according to the embodiments of the present invention.
According to the zero-knowledge-evidence-based red packet processing method, the computer equipment and the storage medium provided by the embodiments of the invention, the zero-knowledge-evidence-based red packet processing circuit for verifying the red packet retrieval certificate and the red packet collection address is configured in the red packet contract, the user side which acquires the red packet retrieval certificate generates the evidence information according to the red packet retrieval certificate and the collection account private key, and then the red packet retrieval transaction is generated by packaging, so that an lawbreaker cannot steal the red packet even if the lawbreaker analyzes the evidence information from the red packet retrieval transaction, and the lawbreaker cannot parse the red packet to steal the red packet in the red packet retrieval transaction.
Detailed Description
The application is described in further detail below with reference to the drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the application and are not limiting of the application. It should be noted that, for convenience of description, only the portions related to the application are shown in the drawings.
It should be noted that, without conflict, the embodiments of the present application and features of the embodiments may be combined with each other. The application will be described in detail below with reference to the drawings in connection with embodiments.
Fig. 1 is a flowchart of a method for processing a red packet based on zero knowledge proof, which is applicable to a user terminal according to an embodiment of the present invention.
As shown in fig. 1, in this embodiment, the present invention provides a method for processing a red packet based on zero knowledge proof applicable to a user side, wherein a red packet contract is configured on a blockchain, and a zero knowledge proof circuit for verifying a red packet receipt and a red packet receipt is configured in the red packet contract, and the method includes:
s11: receiving first data, a first public key, and first signature information in response to receiving the first red packet; wherein the first signature information is generated by the redpack user signing the first data with a first private key corresponding to the first public key, the redpack contract further configured to record the first data and the first public key into the redpack contract when performing the corresponding redpack transaction;
S13: the first signature information and the second private key corresponding to the second address are used as private inputs of the proving algorithm to generate first proving information;
s15: generating a first red packet pickup transaction comprising the first data, the first public key, the second address, and the first attestation information and sending the first red packet pickup transaction to the blockchain network for execution by the blockchain node through a red packet contract, inputting the first data, the first public key, the second address, and the first attestation information into a verification algorithm of the zero knowledge attestation circuit to verify:
whether the redbag-leading user holds a redbag-leading voucher signed by a first private key held by the redbag-leading user;
whether the second address is the address corresponding to the second private key held by the packet-capturing user;
if any one of the above verification fails, the red packet is not picked up;
And if the two verification steps are successful, transferring the corresponding red packet money to a second address.
In this embodiment, the packet retrieval certificate is first signature information, and the verification algorithm of the packet retrieval certificate is a signature verification algorithm, that is, whether the first signature information is generated by signing the first data according to the first private key is verified according to the first public key; the verification algorithm of the red packet collection address is to generate an address according to the private key and verify whether the two addresses are identical, namely, verify whether the second address is generated according to the second private key. Those skilled in the art will understand the principles of signature verification algorithms in the art, as well as the principles of one-to-one correspondence of private keys, public keys, and addresses.
The zero knowledge proof circuit configured in the red package contract is generated according to the above algorithms. In particular, one skilled in the art will understand how to generate a zero-knowledge proof circuit according to an algorithm in a zero-knowledge proof system, where the zero-knowledge proof circuit includes at least a proof algorithm Prove () and a verification algorithm Verify (), and may further include a generation algorithm Setup (). The specific process is not described here in detail.
The method shown in fig. 1 will be exemplarily described below by taking an example that the user b sends a 3-person red packet and the user c robs to one of the red packets.
When the user side of the user B sends the 3-person red packet, 3 items of data1, data2 and data3 are randomly selected or generated, the data1, the data2 and the data3 are packed to generate a red packet transaction tx3 comprising the data1, the data2 and the data3 and the public key P 1 of the user B, and the red packet transaction tx3 is sent directly or packed with a red packet payment transaction to form a transaction group to be sent to the blockchain network in any mode.
When tx3 executes successfully, the block link records data1, data2, data3, and P 1 into the red packet contract.
When the user c robs one of the red packets, the user c performs step S11, and receives the data1 and signature information sign (data 1) corresponding to the red packet sent by the centralized red packet server, and the public key P 1.
In step S13, the user side of the user c uses the data1, the public key P 1, and the address addr 2 of the user c as the public input of the proof algorithm Prove () of the zero knowledge proof circuit, and uses the signature information sign (data 1) and the private key P 2 corresponding to the address addr 2 as the private input of the proof algorithm Prove () to generate the first proof information prove1:
Prove(data1、P1、addr2,sign(data1)、p2)→prove1。
In step S15, the client of the user c packages to generate a red packet pickup transaction tx4 including the data1, the public key P 1, the address addr 2 and the certification information prove1, and sends tx4 to the blockchain network.
The block link point receives, broadcasts, packages, and executes tx4 through the red packet contract, inputs data1, public key P 1, address addr 2, and certification information prove1 into the verification algorithm Verify () of the zero knowledge proof circuit to Verify:
Verify(data1,P1,addr2,prove1)→Yes/No。
Specifically, the verification algorithm Verify () guarantees that the zero knowledge proof circuit internally performs the following two verifications at the same time:
Verifying whether signature information sign (data 1) is generated by signing data1 by a private key P 1 held by a reddish pack user according to the public key P 1 and the data 1;
Verifying whether the address addr 2 corresponds to the address corresponding to the private key p 2;
When any one of the above verification fails, the output result of the verification algorithm Verify () is No, tx4 fails to execute, and red packet retrieval fails;
When the above verification is successful, the output result of the verification algorithm Verify () is Yes, tx4 is successfully executed, and the red packet corresponding to data1/sign (data 1) is transferred to address addr 2.
Specifically, in the above embodiment, if there is a malicious node that parses and discards tx4, the malicious node can only parse data1, public key P 1, address addr 2, and attestation information prove1 from tx4, but cannot parse sign (data 1):
If the malicious node repacks a red packet to get a transaction with the data1, the public key P 1, the address addr 2 and the proof information prove1, the execution result of the transaction is still that the red packet money is transferred to the address addr 2;
If a malicious node replaces addr 2 with an address addr x of an lawbreaker, repackages another red packet pickup transaction with data1, a public key P 1, an address addr x and proof information prove1, when executing the transaction, the red packet contract judges that the address addr x is not an address corresponding to the private key P 2 through a verification algorithm Verify (), and the transaction cannot pass verification, so that the lawbreaker cannot steal the red packet.
According to the embodiment, the zero knowledge proof circuit for verifying the red packet receiving evidence and the red packet collecting address is configured in the red packet contract, the user side obtaining the red packet receiving evidence generates the proof information according to the red packet receiving evidence and the collecting account private key, and then the proof information is packaged to generate the red packet receiving transaction, so that lawbreakers cannot steal the red packet even if the lawbreaker analyzes the proof information from the red packet receiving transaction, and therefore the lawbreaker cannot steal the red packet through analyzing the red packet receiving transaction.
Fig. 2 is a flowchart of a method for processing a red packet based on zero knowledge proof applicable to a blockchain node according to an embodiment of the present invention. The method shown in fig. 2 may be performed in conjunction with the method shown in fig. 1.
As shown in fig. 2, the present invention further provides a zero knowledge proof-based red packet processing method applicable to a blockchain node, wherein a red packet contract is configured on the blockchain, and a zero knowledge proof circuit for verifying a red packet acquisition certificate and a red packet collection address is configured in the red packet contract, and the method comprises:
S21: executing a first package pickup transaction through a package contract, and inputting first data, a first public key, a second address and first proving information into a verification algorithm of a zero knowledge proving circuit to verify:
whether the redbag-leading user holds a redbag-leading voucher signed by a first private key held by the redbag-leading user;
whether the second address is the address corresponding to the second private key held by the packet-capturing user;
if any one of the above verification fails, the red packet is not picked up;
And if the two verification steps are successful, transferring the corresponding red packet money to a second address.
The first red package pickup transaction comprises first data, a first public key, a second address and first proving information, and is generated by packing a first user side;
The first certification information is generated by taking the first data, the first public key and the second address as public inputs of a certification algorithm of a zero knowledge certification circuit and taking the first signature information and a second private key corresponding to the second address as private inputs of the certification algorithm after the first user side receives the first red packet and receives the first data, the first public key and the first signature information;
The red pack contract is further configured to record the first data and the first public key into the red pack contract when performing the corresponding red pack transaction.
The principle of red packet processing in the method shown in fig. 2 can refer to the method shown in fig. 1, and will not be described herein.
Fig. 3 is a flowchart of another method for processing a red packet based on zero knowledge proof, which is applicable to a client according to an embodiment of the present invention.
As shown in fig. 3, the present invention further provides another method for processing a red packet based on zero knowledge proof applicable to a user side, wherein a red packet contract is configured on a blockchain, and a zero knowledge proof circuit for verifying a red packet acquisition certificate and a red packet collection address is configured in the red packet contract, and the method comprises:
S31: receiving a third public key and a third private key in response to receiving the second red packet; wherein the package contract is further configured to record a third public key into the package contract when performing the corresponding package transaction;
S33: the third public key and the fourth address of the current user are used as public inputs of a proving algorithm of the zero knowledge proving circuit, and the third private key and the fourth private key corresponding to the fourth address are used as private inputs of the proving algorithm, so that second proving information is generated;
S35: generating a second red packet pickup transaction comprising a third public key, a fourth address and second attestation information and sending the second red packet pickup transaction to the blockchain network for execution by the blockchain node through a red packet contract, inputting the third public key, the fourth address and the second attestation information into a verification algorithm of a zero knowledge attestation circuit to verify:
Whether the user of the red-envelope holds a third private key corresponding to the third public key or not;
whether the fourth address is the address corresponding to the fourth private key held by the packet-capturing user;
if any one of the above verification fails, the red packet is not picked up;
and if the two verification steps are successful, transferring the corresponding red packet money to a fourth address.
Specifically, the method shown in fig. 3 differs from the method shown in fig. 1 in that:
In the method shown in fig. 3, the red-envelope-derived credential is a (disposable) third private key, and the verification algorithm of the red-envelope-derived credential is a public-private key verification algorithm, i.e., the third private key is verified from the third public key.
Taking the example that the user B sends a 3-person red packet as an example, in the method shown in fig. 3, the user side of the user B needs to randomly generate 3 pairs of disposable public and private key pairs, and records the 3 disposable public keys into a red packet contract through red packet transaction;
in step S31, the user side of the user c receives the disposable public key P 3 and the private key P 3 in the same manner;
in step S33, the user side of the user c generates the certification information prove2 in the same manner:
Prove(P3、addr4,p3、p4)→prove2。
In step S35, the client of the user c packages and generates a red packet pickup transaction tx5 including the public key P 3, the address addr 4, and the certification information prove2, and sends tx5 to the blockchain network.
The blockchain node performs tx5 through the red package contract, inputs the public key P 3, the address addr 4, and the certification information prove2 into the verification algorithm Verify () to Verify:
Verify(P3,addr4,prove2)→Yes/No。
Similarly, when a malicious node parses and discards tx5, only the public key P 3, the address addr 4, and the attestation information prove2 can be parsed from tx5, but the private key P 3 cannot be parsed;
Whether or not the malicious node replaces addr 4 with the address addr x of the lawless person cannot steal the red packet.
FIG. 4 is a flowchart of another method for processing red packets based on zero knowledge proof for blockchain nodes, in accordance with an embodiment of the invention. The method of fig. 4 may be performed in conjunction with the method of fig. 3.
As shown in fig. 4, the present invention further provides another zero knowledge proof-based red packet processing method applicable to a blockchain node, wherein a red packet contract is configured on the blockchain, and a zero knowledge proof circuit for verifying a red packet acquisition certificate and a red packet collection address is configured in the red packet contract, and the method comprises:
executing a second package pickup transaction through the package contract, and inputting the third public key, the fourth address and the second certification information into a verification algorithm of the zero knowledge proof circuit to verify:
Whether the user of the red-envelope holds a third private key corresponding to the third public key or not;
whether the fourth address is the address corresponding to the fourth private key held by the packet-capturing user;
if any one of the above verification fails, the red packet is not picked up;
and if the two verification steps are successful, transferring the corresponding red packet money to a fourth address.
The second red packet pickup transaction comprises a third public key, a fourth address and second certification information, and is generated by packing a second user side;
The second certification information is generated by taking the third public key and the fourth address as public input of a certification algorithm of the zero knowledge certification circuit and taking the third private key and the fourth private key corresponding to the fourth address as private input of the certification algorithm after the second user side receives the third public key and the third private key after receiving the second red packet;
the red package contract is further configured to record a third public key into the red package contract when performing the corresponding red package transaction.
The principle of red packet processing in the method shown in fig. 4 can refer to the method shown in fig. 3, and will not be described herein.
Fig. 5 is a flowchart of another method for processing red packets based on zero knowledge proof applicable to a client according to an embodiment of the present invention.
As shown in fig. 5, the present invention further provides a method for processing a red packet based on zero knowledge proof applicable to a user side, wherein a red packet contract is configured on a blockchain, and a zero knowledge proof circuit for verifying a red packet acquisition certificate and a red packet collection address is configured in the red packet contract, and the method comprises:
s51: receiving a first random number in response to receiving the third red packet; wherein the red pack contract is further configured to record a hash value of the first random number into the red pack contract when performing the corresponding red pack transaction;
S53: the hash value of the first random number and the fifth address of the current user are used as public input of a proving algorithm of a zero knowledge proving circuit, and the first random number and a fifth private key corresponding to the fifth address are used as private input of the proving algorithm, so that third proving information is generated;
s55: generating a third red packet comprising the hash value of the first random number, the fifth address and the third attestation information, and sending the third red packet to the blockchain network for execution by the blockchain node through the red packet contract, and inputting the hash value of the first random number, the fifth address and the third attestation information into a verification algorithm of the zero knowledge attestation circuit to verify:
Whether the user of the red-lead packet holds a first random number;
whether the fifth address is the address corresponding to the fifth private key held by the user for red envelope;
if any one of the above verification fails, the red packet is not picked up;
and if the two verification steps are successful, transferring the corresponding red packet money to a fifth address.
Specifically, the method shown in FIG. 5 differs from the method shown in FIG. 1/3 in that:
In the method shown in fig. 5, the red packet pickup certificate is a first random number, and the verification algorithm of the red packet pickup certificate is a hash algorithm, that is, it is verified whether the hash value of the first random number is the same as the hash value recorded in the contract.
Taking the example that the user B sends a 3-person red packet as an example, in the method shown in fig. 5, the user side of the user B needs to randomly generate 3 random numbers r1, r2 and r3, and records hash values hash (r 1), hash (r 2) and hash (r 3) of the 3 random numbers into a red packet contract through red packet sending transaction;
In step S51, the user side of the user c receives the random number r1 in the same manner;
In step S53, the user side of the user c generates the certification information prove in the same manner:
Prove(hash(r1)、addr5,r1、p5)→prove3。
In step S55, the client of the user c packages to generate a red packet pickup transaction tx6 including hash (r 1), addr 5, prove3, and sends tx6 to the blockchain network.
The blockchain node performs tx6 through the red packet contract, inputs hash (r 1), addr 5, prove3 into verification algorithm Verify () to Verify:
Verify(hash(r1),addr5,prove3)→Yes/No。
Similarly, when a malicious node parses and discards tx6, it can only parse hash (r 1), addr 5, prove3 from tx6, but cannot parse r1;
Whether or not the malicious node replaces addr 5 with the address addr x of the lawless person cannot steal the red packet.
FIG. 6 is a flowchart of yet another zero knowledge proof based red packet processing method for blockchain nodes in accordance with an embodiment of the invention. The method of fig. 6 may be performed in conjunction with the method of fig. 5.
As shown in fig. 6, the present invention further provides a zero knowledge proof red packet processing method applicable to a blockchain node, wherein a red packet contract is configured on the blockchain, and a zero knowledge proof circuit for verifying a red packet receipt and a red packet receipt is configured in the red packet contract, and the method comprises:
S61: executing a third red package pickup transaction through the red package contract, and inputting the hash value of the first random number, the fifth address and the third proving information into a verification algorithm of the zero knowledge proving circuit to verify:
Whether the user of the red-lead packet holds a first random number;
whether the fifth address is the address corresponding to the fifth private key held by the user for red envelope;
if any one of the above verification fails, the red packet is not picked up;
and if the two verification steps are successful, transferring the corresponding red packet money to a fifth address.
The third red packet pickup transaction comprises a hash value of the first random number, a fifth address and third proving information, and is generated by packing a third user terminal;
The third proving information is generated by a third user side taking the hash value of the first random number and a fifth address as public input of a proving algorithm of a zero knowledge proving circuit and taking the first random number and a fifth private key corresponding to the fifth address as private input of the proving algorithm after receiving the first random number after receiving the third red packet;
the red pack contract is further configured to record a hash value of the first random number into the red pack contract when performing the corresponding red pack transaction.
The principle of red packet processing in the method shown in fig. 6 can refer to the method shown in fig. 5, and will not be described herein.
Fig. 7 is a schematic structural diagram of a computer device according to an embodiment of the present invention.
As shown in fig. 7, as another aspect, the present application also provides a computer apparatus 700 including one or more Central Processing Units (CPUs) 701, which can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 702 or a program loaded from a storage section 708 into a Random Access Memory (RAM) 703. In the RAM703, various programs and data required for the operation of the device 700 are also stored. The CPU701, ROM702, and RAM703 are connected to each other through a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
The following components are connected to the I/O interface 705: an input section 706 including a keyboard, a mouse, and the like; an output portion 707 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, a speaker, and the like; a storage section 708 including a hard disk or the like; and a communication section 709 including a network interface card such as a LAN card, a modem, or the like. The communication section 709 performs communication processing via a network such as the internet. The drive 710 is also connected to the I/O interface 705 as needed. A removable medium 711 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 710 as necessary, so that a computer program read therefrom is mounted into the storage section 708 as necessary.
In particular, according to embodiments of the present disclosure, the method described in any of the above embodiments may be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product comprising a computer program tangibly embodied on a machine-readable medium, the computer program comprising program code for performing any of the methods described above. In such an embodiment, the computer program may be downloaded and installed from a network via the communication portion 709, and/or installed from the removable medium 711.
As still another aspect, the present application also provides a computer-readable storage medium, which may be a computer-readable storage medium contained in the apparatus of the above-described embodiment; or may be a computer-readable storage medium, alone, that is not assembled into a device. The computer-readable storage medium stores one or more programs for use by one or more processors to perform the methods described herein.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units or modules involved in the embodiments of the present application may be implemented in software or in hardware. The described units or modules may also be provided in a processor, for example, the units may be software programs provided in a computer or a mobile smart device, or may be separately configured hardware devices. Wherein the names of the units or modules do not in some cases constitute a limitation of the units or modules themselves.
The above description is only illustrative of the preferred embodiments of the present application and of the principles of the technology employed. It will be appreciated by persons skilled in the art that the scope of the application referred to in the present application is not limited to the specific combinations of the technical features described above, but also covers other technical features formed by any combination of the technical features described above or their equivalents without departing from the spirit of the application. Such as the above-mentioned features and the technical features disclosed in the present application (but not limited to) having similar functions are replaced with each other.