CN111488344A - User operation data uplink method and system based on service data block chain - Google Patents

User operation data uplink method and system based on service data block chain Download PDF

Info

Publication number
CN111488344A
CN111488344A CN202010270234.3A CN202010270234A CN111488344A CN 111488344 A CN111488344 A CN 111488344A CN 202010270234 A CN202010270234 A CN 202010270234A CN 111488344 A CN111488344 A CN 111488344A
Authority
CN
China
Prior art keywords
user
user operation
operation data
data
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010270234.3A
Other languages
Chinese (zh)
Inventor
杨慧
吉建勋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Ruice Technology Co Ltd
Original Assignee
Beijing Ruice Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Ruice Technology Co Ltd filed Critical Beijing Ruice Technology Co Ltd
Priority to CN202010270234.3A priority Critical patent/CN111488344A/en
Publication of CN111488344A publication Critical patent/CN111488344A/en
Pending legal-status Critical Current

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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Strategic Management (AREA)
  • Computational Linguistics (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application discloses a user operation data uplink method and a system based on a service data block chain, wherein the service data block chain system comprises a plurality of block chain nodes, and the method comprises the following steps: the block chain node receives a user operation data uplink request sent by a server; the user operation data is the operation of a user on service data, and the user operation data uplink request is the user data uplink request sent by the server receiving user equipment; storing user operation data through a chain structure of the block, and storing a state after the user operation by using a tree structure; and sending the user operation data uplink response to the server so that the server can send the user operation data uplink response to the client. According to the method and the device, the server is arranged between the client and the block chain node, the server can store the user operation data, and the user operation data can be sent to the block chain node for many times, so that the problem that the user operation data are lost is avoided, and the uplink of the user operation data is ensured.

Description

User operation data uplink method and system based on service data block chain
Technical Field
The invention relates to the technical field of internet big data, and discloses a user operation data chaining method and system based on a service data block chain.
Background
Currently, the blockchain technology is a distributed stored ledger that uses technologies such as encryption algorithm and consensus mechanism. With the use of blockchain technology, more and more internet data is stored on the blockchain.
In the existing block chain, only transaction data can be stored, wherein the transaction data comprises a transfer party address, a receiving party address and a transfer amount; for various service data (such as evidence storage data, traceability data, financial data, travel data, search data, self-media data, investigation data, advertisement data, recruitment data, community data, question and answer data, e-commerce data, knowledge payment data, shared bicycle data, life service data, house renting data, voting data, OTO data (also called online to offline data), data, praise data, evaluation data, internet appointment data and other internet related data), not only the data per se but also the association relationship between the data on the block chain need to be expressed.
In addition, abnormal situations may occur at block link points, such as: the block chain node is bad, and the block to be chain is not chain-linked; or the block to be linked is not linked up because the block link point network is disconnected. These abnormal situations may cause the block to be uplink unable to be uplink.
The foregoing description is merely for convenience in understanding and is not to be construed as limiting the prior art to the present application.
Disclosure of Invention
Based on the above problems, the present application provides a method and a system for uplink of user operation data based on a service data block chain, in which a server is arranged between a client and a block chain node, and the server can determine whether the block chain node uplinks the user operation data, thereby implementing uplink of the user operation data.
A first aspect of the present application discloses a method for uplink of user operation data based on a service data block chain, where the service data block chain system includes a plurality of block chain nodes, and the method includes:
the block chain node receives a user operation data uplink request sent by a server; the user operation data is the operation of a user on service data, and the user operation data uplink request is a user data uplink request sent by the server receiving user equipment;
storing the user operation data through a chain structure of the block, and storing the state of the user after operation by using a tree structure;
and sending a user operation data uplink response to the server so that the server sends the user operation data uplink response to the client.
In one possible embodiment, the method further comprises: the method comprises the steps that a block link node receives a user operation data query request sent by a server, wherein the user operation data query request is used for querying whether user operation data are linked up or not; if the user operation data is not uplink, the block link point receives a user operation data uplink request sent by the server until the user operation data is uplink; and the block chain node sends the user operation data query response to the server so as to facilitate the server to send the user operation data query response to the client.
In one possible embodiment, the user operation data includes one or more of a timestamp, an operation user address, an operated address, an operation type, a value of an operation, a credit address, a signature of the user on the user operation data, and a hash value of the user operation data; the data operation type comprises an operation on data and an operation on credit by a user, and the operated address comprises an operation address on service data and an address of an operation user on other data.
In a possible implementation manner, the tree structure includes a state tree and a relationship tree, the state tree is used for storing global states after user operation, and the relationship tree is used for storing relationships among the global states after user operation; the state tree stores the global state of the user operation data, wherein the global state of the user operation data comprises one or more of user information, entity information and integral information.
In a possible implementation manner, the relationship stored in the relationship tree includes an association relationship between entity information and user information; wherein, one entity information corresponds to one or more user information; and/or
The relation stored in the relation tree comprises the relation between user information and integral information; wherein, one user information corresponds to one or more integral information; and/or
The relation stored in the relation tree comprises the relation between entity information and integral information; wherein one entity information corresponds to one or more integral information.
In a possible implementation manner, values of leaf nodes in the relation tree store user information-integral information, entity information-integral information and entity information-user information in a hash table or array manner; or
The value of the leaf node of the relation tree is used for storing the root of a relation sub-tree, the relation sub-tree stores user information-point information, entity information-point information and entity information-user information, and the relation sub-tree is a Mercker tree or an MPT tree.
In one possible embodiment, any one of the user information, the entity information, the point information, the entity information-user information, the user information-point information, and the entity information-point information is organized as an MPT tree or a mercker tree; wherein the root of any MPT tree is stored in the block header, the MPT tree is a Merck tree variation of a tree structure fused with a prefix tree, and the Merck tree is a MerklePatricia Tree.
In a possible implementation manner, any one of the user information, the entity information, the point information, the user information-the point information, the entity information-the point information, and the entity information-the user information is stored in the database supporting attribute query in a form of a data table, so that a user can query according to an attribute field in the data table; one kind of information corresponds to one data table, any line in any one data table corresponds to one piece of information, and one kind of information comprises a plurality of lines of information; the database supporting attribute query comprises a relational database and a memory database; or
Any one of the user information, the entity information, the integral information, the user information-the integral information, the entity information-the integral information and the entity information-the user information is stored by a KV database and is stored in a key-value pair mode.
A second aspect of the present application provides a service data block chain-based user operation data uplink system, where the user operation data uplink system includes a plurality of block chain nodes; wherein the content of the first and second substances,
the block chain node receives a user operation data uplink request sent by a server; the user operation data is the operation of a user on service data, and the user operation data uplink request is a user data uplink request sent by the server receiving user equipment;
storing the user operation data through a chain structure of the block, and storing the state of the user after operation by using a tree structure;
and sending a user operation data uplink response to the server so that the server sends the user operation data uplink response to the client.
In one possible embodiment, the method further comprises: the method comprises the steps that a block link node receives a user operation data query request sent by a server, wherein the user operation data query request is used for querying whether user operation data are linked up or not;
if the user operation data is not uplink, the block link point receives a user operation data uplink request sent by the server until the user operation data is uplink;
and the block chain node sends the user operation data query response to the server so as to facilitate the server to send the user operation data query response to the client.
In one possible embodiment, the user operation data includes one or more of a timestamp, an operation user address, an operated address, an operation type, a value of an operation, a credit address, a signature of the user on the user operation data, and a hash value of the user operation data; wherein the content of the first and second substances,
the data operation type comprises an operation on data and an operation on credit by a user, and the operated address comprises an operation address on service data and an address of a user operating other data.
In a possible implementation manner, the tree structure includes a state tree and a relationship tree, the state tree is used for storing global states after user operation, and the relationship tree is used for storing relationships among the global states after user operation; the state tree stores the global state of the user operation data, wherein the global state of the user operation data comprises one or more of user information, entity information and integral information.
In a possible implementation manner, the relationship stored in the relationship tree includes an association relationship between entity information and user information; wherein, one entity information corresponds to one or more user information; and/or
The relation stored in the relation tree comprises the relation between user information and integral information; wherein, one user information corresponds to one or more integral information; and/or
The relation stored in the relation tree comprises the relation between entity information and integral information; wherein one entity information corresponds to one or more integral information.
In a possible implementation manner, values of leaf nodes in the relation tree store user information-integral information, entity information-integral information and entity information-user information in a hash table or array manner; or
The value of the leaf node of the relation tree is used for storing the root of a relation sub-tree, the relation sub-tree stores user information-point information, entity information-point information and entity information-user information, and the relation sub-tree is a Mercker tree or an MPT tree.
In one possible embodiment, any one of the user information, the entity information, the point information, the entity information-user information, the user information-point information, and the entity information-point information is organized as an MPT tree or a mercker tree; wherein the root of any MPT tree is stored in the block header, the MPT tree is a Merck tree variation of a tree structure fused with a prefix tree, and the Merck tree is a MerklePatricia Tree.
In a possible implementation manner, any one of the user information, the entity information, the point information, the user information-the point information, the entity information-the point information, and the entity information-the user information is stored in the database supporting attribute query in a form of a data table, so that a user can query according to an attribute field in the data table; one kind of information corresponds to one data table, any line in any one data table corresponds to one piece of information, and one kind of information comprises a plurality of lines of information; the database supporting attribute query comprises a relational database and a memory database; or
Any one of the user information, the entity information, the integral information, the user information-the integral information, the entity information-the integral information and the entity information-the user information is stored by a KV database and is stored in a key-value pair mode.
A third aspect of the present application provides a computer-readable storage medium, which stores computer instructions, and when the computer instructions are executed by a processor, the computer instructions implement any one of the above-mentioned technical solutions.
A fourth aspect of the present application provides an electronic device, which includes a processor configured to execute any one of the above technical solutions.
According to the method and the system, the server is arranged between the client and the block link points, the server can store the user operation data and can send the user operation data to the block link points for multiple times, and therefore the problem that the user operation data to be linked up is lost when a block node network is disconnected is solved; and the problem that the user operation data to be linked is not linked when the block link node is bad can be avoided, so that the user operation data is lost.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a flow chart illustrating a method for uplink of user operation data based on a service data block chain according to the present application;
FIG. 2 is a schematic flow chart illustrating a method for querying user operation data according to the present disclosure;
fig. 3 is a schematic structural diagram of a user operation data uplink apparatus based on a service data block chain according to the present application;
fig. 4 is a block header structure diagram in a service data block chain system according to the present disclosure.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The terms "first" and "second" in this application are used for convenience of understanding only, and are not to be construed as sequential or limiting in any way.
For the purpose of facilitating understanding of the embodiments of the present invention, the following description will be further explained with reference to specific embodiments, which are not to be construed as limiting the embodiments of the present invention.
Blockchains are generally divided into three types: public chain (PublicBlockchain), private chain (PrivateBlockchain) and federation chain (consortium blockchain). In addition, there are various types of combinations, such as private chain + federation chain, federation chain + public chain, and other different combinations. The most decentralized of these is the public chain. The public chain is represented by bitcoin and ether house, and the participators joining the public chain can read the data record on the chain, participate in transaction, compete for accounting right of new blocks, and the like.
Furthermore, each participant (i.e., node) is free to join and leave the network and perform related operations. Private chains are the opposite, with the network's write rights controlled by an organization or organization and the data read rights specified by the organization. Briefly, a private chain can be a weakly centralized system with strictly limited and few participating nodes. This type of blockchain is more suitable for use within a particular establishment.
Based on the basic characteristics of a blockchain, a blockchain is usually composed of several blocks. The time stamps corresponding to the creation time of the block are recorded in the blocks respectively, and all the blocks form a time-ordered data chain according to the time stamps recorded in the blocks strictly.
The real data generated by the physical world can be constructed into a standard transaction (transaction) format supported by a block chain, then is issued to the block chain, is identified by node equipment in the block chain, and is packed into a block by the node equipment serving as an accounting node in the block chain after the identification is achieved, and is subjected to persistent evidence storage in the block chain.
In the field of blockchain, an important concept is Account (Account); taking an ether house as an example, the ether house generally divides an account into an external account and a contract account; the external account is an account directly controlled by the user; and the contract account is created by the user through an external account, the account containing the contract code (i.e. the smart contract).
Of course, for some blockchain items derived based on the ethernet framework, the account types supported by the blockchain may be further expanded, and are not particularly limited in this specification.
For accounts in a blockchain, the account status of the account is usually maintained through a structure. When a transaction in a block is executed, the status of the account associated with the transaction in the block chain is also typically changed.
Taking etherhouses as an example, the structure of an account usually includes fields such as Balance, Nonce, Code, and storage. Wherein:
a Balance field for maintaining the current account Balance of the account;
a Nonce field for the number of transactions for the account; the counter is used for guaranteeing that each transaction can be processed only once, and replay attack is effectively avoided.
A code field for maintaining a contract code for the account; in practical applications, only the hash value of the contract code is typically maintained in the code field; thus, the code field is also commonly referred to as a codehash field. For external accounts, this field is null.
storage field to maintain the storage of the account (default to empty). In practical application, the storage field only maintains the root node of an MPT (MerklePatricie) tree constructed based on the storage content of the account; thus, the storage field is also commonly referred to as the storageRoot field.
Wherein, for the external account, the code field and storage field shown above are null values.
Most blockchain items typically use Merkle trees; alternatively, the data is stored and maintained based on the data structure of the Merkle tree. Taking etherhouses as an example, the etherhouses use MPT tree (a Merkle tree variation) as a data organization form for organizing and managing important data such as account status, transaction information, and the like.
The Etherhouse designs three MPT trees, namely an MPT state tree, an MPT transaction tree and an MPT receipt tree, aiming at data needing to be stored and maintained in a block chain.
The MPT state tree is an MPT tree organized by account state data (state) of all accounts in the block chain; the MPT transaction tree is transaction data (transaction) in a block and is organized into the MPT tree; the MPT receipt tree is an MPT tree organized by transaction receipts (receipts) corresponding to each transaction generated after the transaction in the block is completed. The hash values of the root nodes of the MPT state tree, MPT transaction tree, and MPT receipt tree shown above are all added to the block header.
Wherein the MPT transaction tree and the MPT receipt tree correspond to tiles, each tile having its own MPT transaction tree and MPT receipt tree. The MPT state tree is a global MPT tree, which does not correspond to a specific tile, but covers account state data of all accounts in the tile chain.
The above is a description of the storage structure in the block chain, and the following is a description of the storage structure of the service data block chain in the present application.
The present specification discloses a data storage method based on a service data block chain, as shown in fig. 1, the method is applied to a data storage system of a service data block chain, the data storage system of the service data block chain includes a plurality of block chain nodes; the method includes S101-S102.
User information, user data, and integral data in this specification all include associated attributes and non-associated attributes, and associated attributes mean that attribute values can be increased or decreased; the user information refers to description information of a user, and the user information comprises a user address; the point information refers to points issued by a user and is point information except for the original points on the block chain, and the point information comprises the names and the total amounts of the points; an entity refers to concrete business data and is an abstraction of things.
In this specification, the user operation data is operation data of a user on the internet, and the user operation data includes one or more of evidence storage data, traceability data, financial data, travel data, search data, self-media data, research data, advertisement data, e-commerce data, community data, knowledge question and answer data, knowledge payment data, shared bicycle data, recruitment data, life service data, renting data, voting data, online-offline data, social data, praise data, evaluation data, and online booking data.
In addition, the service data block chain in this specification refers to a block chain including a chain storage structure and a tree storage structure and used for storing service data.
In addition, in this specification, the processes of packaging the user operation data into blocks, completing the consensus verification, and the like are not described, and a common data uplink method may be adopted.
S101, a block link point receives a user operation data uplink request sent by a server; the user operation data is the operation of a user on service data, and the user operation data uplink request is the user data uplink request sent by the server receiving user equipment.
In one example, the user operation data includes one or more of a timestamp, an operation user address, an operated address, an operation type, a value of an operation, a credit address, a signature of the user on the user operation data, and a hash value of the user operation data; the data operation type comprises an operation on data and an operation on credit by a user, and the operated address comprises an operation address on service data and an address of an operation user on other data.
S102, storing the user operation data through a chain structure of the block, and storing the state after the user operation by using a tree structure.
In one example, the tree structure includes a state tree for storing user-operated global states and a relationship tree for storing relationships between user-operated global states; the state tree stores the global state of the user operation data, wherein the global state of the user operation data comprises one or more of user information, entity information and integral information.
In one example, the relationship stored by the relationship tree includes an association of entity information and user information; wherein, one entity information corresponds to one or more user information.
In the above, different users operate the same entity. For example: different users approve, comment, forward and collect the same self-media information; or different users buy, evaluate and collect the same commodity; or different users comment, forward, collect and click on the same knowledge question-answer data; or booking, evaluating, forwarding and the like of different users aiming at the same travel hotel. These data need to be non-tamperable by means of the blockchain on which the traceable nature is preserved.
In one example, the relationship tree stores relationships that include relationships of user information and point information; wherein one user information corresponds to one or more point information.
The user can issue points as desired, for example: the commodity A has 10 points a, the viewing authority of the self-media is 5 points b, and the viewing authority of the knowledge payment course is 1 point c. Different types of points correspond to different rights, so a user may have one or more points, which may be of the same or different types.
In one example, the relationship tree stores relationships that include relationships of entity information and point information; wherein one entity information corresponds to one or more integral information.
The correspondence between the entities and the points is equivalent to securitizing the entities on the block chain. For example: the user issues a corresponding a point of one watch, and the number of the a points is 1. The a integral uniquely represents the watch on the block chain, and the transfer of the a integral means the transfer of the ownership of the watch.
In one example, values of leaf nodes in the relationship tree store user information-point information, entity information-point information, and entity information-user information in a hash table or array.
In one example, the value of a leaf node of the relationship tree is used to store a tree root of a relationship sub-tree storing user information-point information, entity information-point information, and entity information-user information, the relationship sub-tree being a mercker tree or an MPT tree.
In one example, any one of the user information, the entity information, the point information, the entity information-user information, the user information-point information, and the entity information-point information is organized as an MPT tree or a mercker tree; wherein the root of any MPT tree is stored in the block header, the MPT tree is a Merck tree variation of a tree structure fused with a prefix tree, and the Merck tree is a MerklePatricia Tree.
In fig. 4, Action represents user operation, Account represents user information, Asset represents points, Object represents entity information, Object-Asset represents an association relationship between entity information and user information, Account-Asset represents an association relationship between user information and point information, and Object-Asset represents an association relationship between entity information and point information. Root denotes the tree Root. Briefly, a block includes a block header and a block body, and the root of the MPT state tree shown in fig. 4 is stored in the block header.
In one example, any one of the user information, the entity information, the point information, the user information-the point information, the entity information-the point information and the entity information-the user information is stored in the database supporting attribute query in the form of a data table, so that a user can query according to an attribute field in the data table; one kind of information corresponds to one data table, any line in any one data table corresponds to one piece of information, and one kind of information comprises a plurality of lines of information; the database supporting attribute query comprises a relational database and an in-memory database.
The relational database can adopt MySql, and the memory database can adopt MongoDB.
In one example, any one of the user information, the entity information, the point information, the user information-the point information, the entity information-the point information, and the entity information-the user information is stored in a KV database and stored in a key-value pair manner.
When inquiring, if the tree structure is adopted, the user information, the entity information and the integral information are inquired by adopting an address; and querying the user information-integral information, the entity information-integral information and the entity information-user information by using a user information address, an entity information address and an entity information address in sequence. When a database supporting attribute query is adopted, the user information, the entity information and the integral information are queried by using attribute fields in respective data tables; and the user information-integral information, the entity information-integral information and the entity information-user information are inquired by using the user information attribute field, the entity information attribute field and the entity information attribute field in sequence.
It should be noted that the address of the user information can be obtained by performing multiple hash operations according to the user public key; the entity information address or the integral address can be obtained by taking the preset first few characters of the operation result after the integral operation is created by the user or the user operation is initiated for carrying out the hash operation.
S103, sending a user operation data uplink response to the server so that the server sends the user operation data uplink response to the client.
In the method, even if the block link node is offline due to a network problem, the server stores the user operation data as the client sends the user operation data to be linked to the server; the server can continuously establish connection with the block link point, and after the connection is established, the server can send the user operation data uplink request to the established block link point again until the block link point receives the user operation data uplink request.
In addition, the server sends the query request to the blockchain node at a preset time interval in order to ensure that the blockchain node will uplink the user operation data to be uplink. As shown in fig. 2, the query method includes S201-S203.
S201, a block chain node receives a user operation data query request sent by a server, wherein the user operation data query request is used for querying whether the user operation data is linked up.
S202, if the user operation data is not uplink, the block link point receives a user operation data uplink request sent by the server until the user operation data is uplink.
If the uplink is received, the block node stops sending the user operation data query request.
S203, the block chain node sends the user operation data query response to the server, so that the server sends the user operation data query response to the client.
According to the method and the system, the server is arranged between the client and the block link points, the server can store the user operation data and can send the user operation data to the block link points for multiple times, and therefore the problem that the user operation data to be linked up is lost when a block node network is disconnected is solved; and the problem that the user operation data to be linked is not linked when the block link node is bad can be avoided, so that the user operation data is lost.
In a second aspect of the present specification, a service data block chain based user operation data uplink system is disclosed, which includes a plurality of block chain nodes.
The block chain node receives a user operation data uplink request sent by a server; the user operation data is the operation of a user on service data, and the user operation data uplink request is a user data uplink request sent by the server receiving user equipment;
storing the user operation data through a chain structure of the block, and storing the state of the user after operation by using a tree structure;
and sending a user operation data uplink response to the server so that the server sends the user operation data uplink response to the client.
In one example, the method further comprises: the method comprises the steps that a block link node receives a user operation data query request sent by a server, wherein the user operation data query request is used for querying whether user operation data are linked up or not;
if the user operation data is not uplink, the block link point receives a user operation data uplink request sent by the server until the user operation data is uplink;
and the block chain node sends the user operation data query response to the server so as to facilitate the server to send the user operation data query response to the client.
In one example, the user operation data includes one or more of a timestamp, an operation user address, an operated address, an operation type, a value of an operation, a credit address, a signature of the user on the user operation data, and a hash value of the user operation data; wherein the content of the first and second substances,
the data operation type comprises an operation on data and an operation on credit by a user, and the operated address comprises an operation address on service data and an address of a user operating other data.
In one example, the tree structure includes a state tree for storing user-operated global states and a relationship tree for storing relationships between user-operated global states; the state tree stores the global state of the user operation data, wherein the global state of the user operation data comprises one or more of user information, entity information and integral information.
In one example, the relationship stored by the relationship tree includes an association of entity information and user information; wherein, one entity information corresponds to one or more user information; and/or
The relation stored in the relation tree comprises the relation between user information and integral information; wherein, one user information corresponds to one or more integral information; and/or
The relation stored in the relation tree comprises the relation between entity information and integral information; wherein one entity information corresponds to one or more integral information.
In one example, values of leaf nodes in the relationship tree store user information-point information, entity information-point information, and entity information-user information in a hash table or array; or
The value of the leaf node of the relation tree is used for storing the root of a relation sub-tree, the relation sub-tree stores user information-point information, entity information-point information and entity information-user information, and the relation sub-tree is a Mercker tree or an MPT tree.
In one example, any one of the user information, the entity information, the point information, the entity information-user information, the user information-point information, and the entity information-point information is organized as an MPT tree or a mercker tree; wherein the root of any MPT tree is stored in the block header, the MPT tree is a Merck tree variation of a tree structure fused with a prefix tree, and the Merck tree is a MerklePatricia Tree.
In one example, any one of the user information, the entity information, the point information, the user information-the point information, the entity information-the point information and the entity information-the user information is stored in the database supporting attribute query in the form of a data table, so that a user can query according to an attribute field in the data table; one kind of information corresponds to one data table, any line in any one data table corresponds to one piece of information, and one kind of information comprises a plurality of lines of information; the database supporting attribute query comprises a relational database and a memory database; or
Any one of the user information, the entity information, the integral information, the user information-the integral information, the entity information-the integral information and the entity information-the user information is stored by a KV database and is stored in a key-value pair mode.
According to the method and the system, the server is arranged between the client and the block link points, the server can store the user operation data and can send the user operation data to the block link points for multiple times, and therefore the problem that the user operation data to be linked up is lost when a block node network is disconnected is solved; and the problem that the user operation data to be linked is not linked when the block link node is bad can be avoided, so that the user operation data is lost.
The same or similar parts in the above device embodiments and the above method embodiments can be referred to each other, and are not described herein again.
The present specification also discloses a computer readable storage medium storing computer instructions which, when executed by a processor, implement any one of the above-mentioned technical solutions.
The present specification also discloses an electronic device comprising a processor configured to perform any of the above-described technical solutions.
Meanwhile, the application also provides an embodiment of the entity device.
Fig. 3 shows a schematic diagram of a computer device, which may include: a processor 310, a memory 320, an input/output interface 330, a communication interface 340, and a bus 350. Wherein the processor 340, the memory 320, the input/output interface 330, and the communication interface 340 are communicatively coupled to each other within the device via a bus 350.
The processor 310 may be implemented by a general-purpose CPU (central processing unit), a microprocessor, an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits, and is configured to execute related programs to implement the technical solutions provided in the embodiments of the present specification.
The memory 320 may be implemented in the form of a ROM (read only memory), a RAM (random access memory), a static storage device, a dynamic storage device, or the like. The memory 320 may store an operating system and other application programs, and when the technical solution provided by the embodiments of the present specification is implemented by software or firmware, the relevant program codes are stored in the memory 320 and called to be executed by the processor 310.
The input/output interface 330 is used for connecting an input/output module to realize information input and output. The i/o module may be configured as a component in a device (not shown) or may be external to the device to provide a corresponding function. The input devices may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output devices may include a display, a speaker, a vibrator, an indicator light, etc.
The communication interface 340 is used for connecting a communication module (not shown in the figure) to implement communication interaction between the present device and other devices. The communication module can realize communication in a wired mode (such as USB, network cable and the like) and also can realize communication in a wireless mode (such as mobile network, WIFI, Bluetooth and the like).
Bus 350 includes a path that transfers information between the various components of the device, such as processor 310, memory 320, input/output interface 330, and communication interface 340.
It should be noted that although the above-mentioned device only shows the processor 310, the memory 320, the input/output interface 330, the communication interface 340 and the bus 350, in a specific implementation, the device may also include other components necessary for normal operation. In addition, those skilled in the art will appreciate that the above-described apparatus may also include only those components necessary to implement the embodiments of the present description, and not necessarily all of the components shown in the figures.
Those of skill would further appreciate that the various illustrative components and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied in hardware, a software module executed by a processor, or a combination of the two. A software module may reside in Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The above-mentioned embodiments are intended to illustrate the objects, technical solutions and advantages of the present invention in further detail, and it should be understood that the above-mentioned embodiments are only illustrative of the present invention and are not intended to limit the scope of the present invention, and any modifications, equivalent substitutions, improvements and the like made within the scope of the present invention should be included in the scope of the present invention.

Claims (10)

1. A method for uplink of user operation data based on a service data block chain, wherein the service data block chain system comprises a plurality of block chain nodes, the method comprising:
the block chain node receives a user operation data uplink request sent by a server; the user operation data is the operation of a user on service data, and the user operation data uplink request is a user data uplink request sent by the server receiving user equipment;
storing the user operation data through a chain structure of the block, and storing the state of the user after operation by using a tree structure;
and sending a user operation data uplink response to the server so that the server sends the user operation data uplink response to the client.
2. The method of claim 1, further comprising:
the method comprises the steps that a block link node receives a user operation data query request sent by a server, wherein the user operation data query request is used for querying whether user operation data are linked up or not;
if the user operation data is not uplink, the block link point receives a user operation data uplink request sent by the server until the user operation data is uplink;
and the block chain node sends the user operation data query response to the server so as to facilitate the server to send the user operation data query response to the client.
3. The method of claim 1, wherein the user operation data comprises one or more of a timestamp, an operating user address, an operated address, an operation type, an operation value, a credit address, a user signature over the user operation data, and a hash value of the user operation data; wherein the content of the first and second substances,
the data operation type comprises an operation on data and an operation on credit by a user, and the operated address comprises an operation address on service data and an address of a user operating other data.
4. The method of claim 1, wherein the tree structure comprises a state tree for storing global states after the user operation and a relationship tree for storing relationships between the global states after the user operation; the state tree stores the global state of the user operation data, wherein the global state of the user operation data comprises one or more of user information, entity information and integral information.
5. The method of claim 4, wherein the relationship stored in the relationship tree includes an association between entity information and user information; wherein, one entity information corresponds to one or more user information; and/or
The relation stored in the relation tree comprises the relation between user information and integral information; wherein, one user information corresponds to one or more integral information; and/or
The relation stored in the relation tree comprises the relation between entity information and integral information; wherein one entity information corresponds to one or more integral information.
6. The method of claim 5, wherein values of leaf nodes in the relational tree store the UsINFO-UpI, the entity-UpI, and the UsINFO-UpI in a hash table or array; or
The value of the leaf node of the relation tree is used for storing the root of a relation sub-tree, the relation sub-tree stores user information-point information, entity information-point information and entity information-user information, and the relation sub-tree is a Mercker tree or an MPT tree.
7. A service data block chain based user operation data uplink system, wherein the user operation data uplink system comprises a plurality of block chain nodes; wherein the content of the first and second substances,
the block chain node receives a user operation data uplink request sent by a server; the user operation data is the operation of a user on service data, and the user operation data uplink request is a user data uplink request sent by the server receiving user equipment;
storing the user operation data through a chain structure of the block, and storing the state of the user after operation by using a tree structure;
and sending a user operation data uplink response to the server so that the server sends the user operation data uplink response to the client.
8. The user-operated data upload system of claim 7 wherein the method further comprises:
the method comprises the steps that a block link node receives a user operation data query request sent by a server, wherein the user operation data query request is used for querying whether user operation data are linked up or not;
if the user operation data is not uplink, the block link point receives a user operation data uplink request sent by the server until the user operation data is uplink;
and the block chain node sends the user operation data query response to the server so as to facilitate the server to send the user operation data query response to the client.
9. The user operation data uploading system according to claim 7, wherein the user operation data comprises one or more of a timestamp, an operation user address, an operated address, an operation type, a value of an operation, a credit address, a signature of a user on the user operation data, and a hash value of the user operation data; wherein the content of the first and second substances,
the data operation type comprises an operation on data and an operation on credit by a user, and the operated address comprises an operation address on service data and an address of a user operating other data.
10. The user-manipulated data upload system of claim 7, wherein the tree structure comprises a state tree for storing user-manipulated global states and a relationship tree for storing relationships between user-manipulated global states; the state tree stores the global state of the user operation data, wherein the global state of the user operation data comprises one or more of user information, entity information and integral information.
CN202010270234.3A 2020-04-08 2020-04-08 User operation data uplink method and system based on service data block chain Pending CN111488344A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010270234.3A CN111488344A (en) 2020-04-08 2020-04-08 User operation data uplink method and system based on service data block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010270234.3A CN111488344A (en) 2020-04-08 2020-04-08 User operation data uplink method and system based on service data block chain

Publications (1)

Publication Number Publication Date
CN111488344A true CN111488344A (en) 2020-08-04

Family

ID=71798305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010270234.3A Pending CN111488344A (en) 2020-04-08 2020-04-08 User operation data uplink method and system based on service data block chain

Country Status (1)

Country Link
CN (1) CN111488344A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800130A (en) * 2020-12-30 2021-05-14 杭州趣链科技有限公司 Data uplink method, system, device, equipment and storage medium
CN114666098A (en) * 2022-02-28 2022-06-24 重庆趣链数字科技有限公司 Mobile terminal non-intrusive event monitoring universal uplink mechanism

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110009356A (en) * 2019-04-16 2019-07-12 北京艾摩瑞策科技有限公司 A kind of business datum cochain method and its system based on block chain
CN110377645A (en) * 2019-07-26 2019-10-25 北京艾摩瑞策科技有限公司 Be related to block chain thumbs up data sharing method and its system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110009356A (en) * 2019-04-16 2019-07-12 北京艾摩瑞策科技有限公司 A kind of business datum cochain method and its system based on block chain
CN110377645A (en) * 2019-07-26 2019-10-25 北京艾摩瑞策科技有限公司 Be related to block chain thumbs up data sharing method and its system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800130A (en) * 2020-12-30 2021-05-14 杭州趣链科技有限公司 Data uplink method, system, device, equipment and storage medium
CN114666098A (en) * 2022-02-28 2022-06-24 重庆趣链数字科技有限公司 Mobile terminal non-intrusive event monitoring universal uplink mechanism

Similar Documents

Publication Publication Date Title
CN111488396B (en) Data synchronization method and device for service data block chain
CN111488615A (en) Cross-link realization method and device for service data block chain
CN111737726A (en) Relation data query method and device based on business data block chain
CN111488608A (en) Data verification method and device for service data block chain
CN111488344A (en) User operation data uplink method and system based on service data block chain
CN111488353B (en) Intelligent contract implementation method and device for business data block chain
CN111488356A (en) Data storage method and device for service data block chain
CN111488349A (en) Data query method and device based on service data block chain
CN111488611B (en) Relation data storage method and device of business data block chain
CN111695132A (en) Voting data storage method and system based on service data block chain
CN111737729A (en) Evaluation data storage method and system based on service data block chain
CN111488345A (en) Storage optimization method and device for service data block chain
CN111488613A (en) Data efficient query method and device for service data block chain
CN111523137A (en) Data recommendation method and device based on service data block chain
CN111737728A (en) Self-media data storage method and system based on service data block chain
CN111695139A (en) Knowledge question-answer data storage method and system based on service data block chain
CN111488352A (en) Point exchange method and device based on business data block chain
CN111488606B (en) Data sharing method and device based on service data block chain
CN111695141A (en) Social data storage method and system based on business data block chain
CN111694838A (en) Network taxi appointment data storage method and system based on service data block chain
CN111695144A (en) Life service data storage method and system based on business data block chain
CN111695140A (en) Recruitment data storage method and system based on business data block chain
CN111737731A (en) Shared bicycle data storage method and system based on service data block chain
CN111695138A (en) Renting house data storage method and system based on service data block chain
CN111488354A (en) Data processing method and device based on service data block chain

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination