IP Library › Granted Patent US 11,283,778
Granted Patent B2
US 11,283,778 · App. 16/603,232 · Granted Mar 22, 2022

Data exchange system, method and device

Inventors: Zhenting Zhang (Beijing, CN); Yihong Zhao (Beijing, CN); Xiao Wang (Beijing, CN)
Assignees: Beijing Jingdong Shangke Information Technology Co., Ltd.; Beijing Jingdong Century Trading Co., Ltd.
H04L63/0435G06F21/602H04L9/0618H04L9/0819H04L9/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,283,778
App. No.
16/603,232
Granted
Mar 22, 2022
Kind
B2
Abstract

The present application discloses a data exchange system, method, and device. The system comprises a first server configured to acquire a to-be-exchanged data identifier based on requirement information; store the to-be-exchanged data identifier; acquire a storage address of the to-be-exchanged data identifier; and encrypt the storage address of the to-be-exchanged data identifier to generate a first encrypted storage address; and a second server configured to acquire the first encrypted storage address from the first server; decrypt the first encrypted storage address to acquire the storage address of the to-be-exchanged data identifier; acquire the to-be-exchanged data identifier based on the storage address of the to-be-exchanged data identifier; and find to-be-exchanged data indicated by the to-be-exchanged data identifier from a pre-stored data set based on the to-be-exchanged data identifier, such that the first server acquires the to-be-exchanged data from the second server, the data set including data and a data identifier.

Claims (88)

1. A system for data exchange, comprising: a first server including a first hardware processor and a second server including a second hardware processor;

the first server being configured to acquire, from a smart contract issued by the second server, a to-be-exchanged data identifier based on requirement information, the to-be-exchanged data identifier being wrote into the smart contract by the second server; store the to-be-exchanged data identifier locally; acquire a storage address of the to-be-exchanged data identifier; and encrypt the storage address of the to-be-exchanged data identifier to generate a first encrypted storage address; write the first encrypted storage address into the smart contract acquired from the second server, and locally store the smart contract containing the first encrypted storage address to obtain a storage address of the smart contract; send the storage address of the smart contract to the second server; and

the second server being configured to acquire smart contract stored on the first server based on the storage address of the smart contract received from the first server; acquire the first encrypted storage address from the acquired smart contract; decrypt the first encrypted storage address to acquire the storage address of the to-be-exchanged data identifier; acquire the to-be-exchanged data identifier based on the storage address of the to-be-exchanged data identifier; and find to-be-exchanged data indicated by the to-be-exchanged data identifier from a pre-stored data set on the second server based on the to-be-exchanged data identifier, such that the first server acquires the to-be-exchanged data from the second server, the data set including data and a data identifier.

2. The system according to claim 1 , wherein

the second server is further configured to:

store the to-be-exchanged data locally;

acquire a storage address of the to-be-exchanged data; and

encrypt the storage address of the to-be-exchanged data to generate a second encrypted storage address;

write the second encrypted storage address into the smart contract acquired from the first server, and locally store the smart contract containing the second encrypted storage address to obtain a storage address of the smart contract containing the second encrypted storage address;

send the storage address of the smart contract containing the second encrypted storage address to the first server, and

the first server is further configured to:

acquire the smart contract containing the second encrypted storage address from the second server based on the storage address of the smart contract containing the second encrypted storage address;

acquire the second encrypted storage address from the acquired smart contract;

decrypt the second encrypted storage address to acquire the storage address of the to-be-exchanged data; and

acquire the to-be-exchanged data based on the storage address of the to-be-exchanged data.

3. The system according to claim 2 , wherein the first server is further configured to:

generate a symmetric key;

encrypt the storage address of the to-be-exchanged data identifier with the symmetric key, to generate a first ciphertext; and

map the first ciphertext to the first encrypted storage address based on a preset corresponding relationship.

4. The system according to claim 3 , wherein the first server is further configured to:

encrypt the symmetric key with a public key pre-acquired from the second server, to generate an encrypted symmetric key, wherein the second server stores the public key and a private key corresponding to the public key.

5. The system according to claim 4 , wherein the second server is further configured to:

acquire the encrypted symmetric key and the first encrypted storage address from the first server;

decrypt the encrypted symmetric key with the private key corresponding to the public key, to acquire the symmetric key; and

decrypt the first encrypted storage address with the symmetric key and the preset corresponding relationship, to acquire the storage address of the to-be-exchanged data identifier.

6. The system according to claim 5 , wherein the second server is further configured to:

encrypt the storage address of the to-be-exchanged data with the symmetric key, to generate a second ciphertext; and

map the second ciphertext to the second encrypted storage address based on the preset corresponding relationship.

7. The system according to claim 6 , wherein the first server is further configured to:

acquire the second encrypted storage address from the second server;

decrypt the second encrypted storage address with the symmetric key and the preset corresponding relationship, to acquire the storage address of the to-be-exchanged data; and

acquire the to-be-exchanged data based on the storage address of the to-be-exchanged data.

8. The system according to claim 1 , wherein the first server is further configured to:

enclose a resource corresponding to the to-be-exchanged data; and

release the resource corresponding to the to-be-exchanged data after receiving the to-be-exchanged data sent by the second server, such that the second server acquires the resource corresponding to the to-be-exchanged data.

9. The system according to claim 1 , wherein the system for data exchange avoids using a data exchange center by direct peer-to-peer data exchange between the first server and the second server.

10. A method for data exchange for a first server, comprising:

acquiring, from a smart contract issued by a second server, a to-be-exchanged data identifier based on requirement information, the to-be-exchanged data identifier being wrote into the smart contract by the second server;

storing the to-be-exchanged data identifier locally;

acquiring a storage address of the to-be-exchanged data identifier;

encrypting the storage address of the to-be-exchanged data identifier to generate a first encrypted storage address;

writing the first encrypted storage address into the smart contract acquired from the second server, and locally storing the smart contract containing the first encrypted storage address to obtain a storage address of the smart contract;

sending the storage address of the smart contract to the second server, such that the second server acquires the smart contract stored on the first server based on the storage address of the smart contract received from the first server, and acquires the first encrypted storage address from the acquired smart contract, decrypts the first encrypted storage address to acquire the storage address of the to-be-exchanged data identifier, acquires the to-be-exchanged data identifier based on the storage address of the to-be-exchanged data identifier, and finds to-be-exchanged data indicated by the to-be-exchanged data identifier from a pre-stored data set on the second server based on the to-be-exchanged data identifier, the data set including data and a data identifier; and

acquiring the to-be-exchanged data from the second server.

11. The method according to claim 10 , wherein the encrypting the storage address of the to-be-exchanged data identifier to generate a first encrypted storage address comprises:

generating a symmetric key;

encrypting the storage address of the to-be-exchanged data identifier with the symmetric key, to generate a first ciphertext; and

mapping the first ciphertext to the first encrypted storage address based on a preset corresponding relationship.

12. The method according to claim 11 , wherein the method further comprises:

encrypting the symmetric key with a public key pre-acquired from the second server, to generate an encrypted symmetric key, wherein the second server stores the public key and a private key corresponding to the public key.

13. The method according to claim 11 , wherein the acquiring the to-be-exchanged data from the second server comprises:

acquiring a second encrypted storage address from the second server;

decrypting the second encrypted storage address with the symmetric key and the preset corresponding relationship, to acquire a storage address of the to-be-exchanged data; and

acquiring the to-be-exchanged data based on the storage address of the to-be-exchanged data.

14. The method according to claim 10 , wherein the method further comprises:

enclosing a resource corresponding to the to-be-exchanged data; and

releasing the resource corresponding to the to-be-exchanged data after receiving the to-be-exchanged data sent by the second server, such that the second server acquires the resource corresponding to the to-be-exchanged data.

15. An apparatus for data exchange for a first server, comprising:

at least one processor; and

a memory storing instructions, the instructions when executed by the at least one processor, cause the at least one processor to perform operations, the operations comprising:

acquiring, from a smart contract issued by a second server, a to-be-exchanged data identifier based on requirement information, the to-be-exchanged data identifier being wrote into the smart contract by the second server;

storing the to-be-exchanged data identifier locally;

acquiring a storage address of the to-be-exchanged data identifier;

encrypting the storage address of the to-be-exchanged data identifier to generate a first encrypted storage address;

writing the first encrypted storage address into the smart contract acquired from the second server, and locally storing the smart contract containing the first encrypted storage address to obtain a storage address of the smart contract;

sending the storage address of the smart contract to the second server, such that the second server acquires the smart contract stored on the first server based on the storage address of the smart contract received from the first server, and acquires the first encrypted storage address from the acquired smart contract, decrypts the first encrypted storage address to acquire the storage address of the to-be-exchanged data identifier, acquires the to-be-exchanged data identifier based on the storage address of the to-be-exchanged data identifier, and finds to-be-exchanged data indicated by the to-be-exchanged data identifier from a pre-stored data set on the second server based on the to-be-exchanged data identifier, the data set including data and a data identifier; and

acquiring the to-be-exchanged data from the second server.

16. The apparatus according to claim 15 , wherein the encrypting the storage address of the to-be-exchanged data identifier to generate a first encrypted storage address comprises:

generating a symmetric key;

encrypting the storage address of the to-be-exchanged data identifier with the symmetric key, to generate a first ciphertext; and

mapping the first ciphertext to the first encrypted storage address based on a preset corresponding relationship.

17. The apparatus according to claim 16 , wherein the operations further comprise:

encrypting the symmetric key with a public key pre-acquired from the second server, to generate an encrypted symmetric key, wherein the second server stores the public key and a private key corresponding to the public key.

18. The apparatus according to claim 16 , wherein the acquiring the to-be-exchanged data from the second server comprises:

acquiring a second encrypted storage address from the second server;

decrypting the second encrypted storage address with the symmetric key and the preset corresponding relationship, to acquire a storage address of the to-be-exchanged data; and

acquiring the to-be-exchanged data based on the storage address of the to-be-exchanged data.

19. The apparatus according to claim 15 , wherein the operations further comprise:

enclosing a resource corresponding to the to-be-exchanged data; and

releasing the resource corresponding to the to-be-exchanged data after receiving the to-be-exchanged data sent by the second server, such that the second server acquires the resource corresponding to the to-be-exchanged data.

20. A non-transitory computer readable storage medium, storing a computer program thereon, wherein the computer program, when executed by a processor, causes the processor to implement operations, the operations comprising:

acquiring, from a smart contract issued by a second server, a to-be-exchanged data identifier based on requirement information, the to-be-exchanged data identifier being wrote into the smart contract by the second server;

storing the to-be-exchanged data identifier locally;

acquiring a storage address of the to-be-exchanged data identifier;

encrypting the storage address of the to-be-exchanged data identifier to generate a first encrypted storage address;

writing the first encrypted storage address into the smart contract acquired from the second server, and locally storing the smart contract containing the first encrypted storage address to obtain a storage address of the smart contract;

sending the storage address of the smart contract to the second server, such that the second server acquires the smart contract stored on the first server based on the storage address of the smart contract received from the first server, and acquires the first encrypted storage address from the acquired smart contract, decrypts the first encrypted storage address to acquire the storage address of the to-be-exchanged data identifier, acquires the to-be-exchanged data identifier based on the storage address of the to-be-exchanged data identifier, and finds to-be-exchanged data indicated by the to-be-exchanged data identifier from a pre-stored data set on the second server based on the to-be-exchanged data identifier, the data set including data and a data identifier; and

acquiring the to-be-exchanged data from the second server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2020
From: ZHANG, ZHENTING; ZHAO, YIHONG; WANG, XIAO
To: BEIJING JINGDONG SHANGKE INFORMATION TECHNOLOGY CO., LTD.; BEIJING JINGDONG CENTURY TRADING CO., LTD.
Reel/Frame 052268/0848 →
Priority Claims (1)
CN 201710418271.2 · Jun 6, 2017 · national
Continuity (1)
Related Publication 20200374272A1 · Nov 26, 2020
Cited By (1)
US 12,341,899