CN113364875A - Method, apparatus and computer readable storage medium for accessing data at block link points - Google Patents

Method, apparatus and computer readable storage medium for accessing data at block link points Download PDF

Info

Publication number
CN113364875A
CN113364875A CN202110648154.1A CN202110648154A CN113364875A CN 113364875 A CN113364875 A CN 113364875A CN 202110648154 A CN202110648154 A CN 202110648154A CN 113364875 A CN113364875 A CN 113364875A
Authority
CN
China
Prior art keywords
server
data
cluster
target
database
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.)
Granted
Application number
CN202110648154.1A
Other languages
Chinese (zh)
Other versions
CN113364875B (en
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110648154.1A priority Critical patent/CN113364875B/en
Publication of CN113364875A publication Critical patent/CN113364875A/en
Application granted granted Critical
Publication of CN113364875B publication Critical patent/CN113364875B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application relates to the field of distributed storage, and provides a method, equipment and a computer readable storage medium for accessing data by using block chain nodes, so that the block chain nodes are guaranteed to have enough storage space when accessing the data. The method comprises the following steps: when the calling of the block link point to the first access interface is received, detecting whether a capacity-expandable server exists in a server cluster corresponding to the database cluster agent; if the server cluster corresponding to the database cluster agent has the expandable server, the server cluster becomes the expanded server cluster by writing the current target data into the expandable server; and accessing data corresponding to the parameters in the extended service end cluster according to the parameters transmitted when the block chain node calls the first access interface. According to the technical scheme, the capacity expansion of the storage space of the node is realized, and the block chain link point is ensured to have enough space when accessing the data corresponding to the parameters in the server cluster.

Description

Method, apparatus and computer readable storage medium for accessing data at block link points
Technical Field
The present invention relates to the field of distribution, and in particular, to a method, an apparatus, and a computer-readable storage medium for accessing data at block link points.
Background
In the existing method for accessing data by a block chain node, when a key value database (kvdb) is read and written by the node, the read and write interface provided by the bottom layer of the key value database is directly called to realize the read and write. Because the storage mechanism that current kvdb provided is the stand-alone storage, and the account book data of block chain constantly increases, and the total memory space of stand-alone is fixed, consequently, along with the passage of time, for the account book data that constantly increases, when block chain link point access data, stand-alone storage mechanism will face the not enough problem of memory space.
Disclosure of Invention
The application provides a method, equipment and a computer readable storage medium for accessing data by using block chain nodes, so that the block chain nodes are ensured to have enough storage space when accessing the data.
In one aspect, the present application provides a method for accessing data at block link points, including:
when the call of a block link point to a first access interface is received, detecting whether a capacity-expandable service end exists in a service end cluster corresponding to a database cluster agent or not, wherein the first access interface is provided for the block link point by the database cluster agent;
if the server cluster corresponding to the database cluster agent has the expandable server, writing the current target data into the expandable server to enable the server cluster to become an expanded server cluster;
and accessing data corresponding to the parameters in the extended server cluster according to the parameters transmitted when the node calls the first access interface.
Optionally, the detecting whether there is a scalable server in the server cluster corresponding to the database cluster agent includes: reading the state of each server in the server cluster; and if the server side cluster exists in the server side cluster in the state of capacity expansion, determining that a capacity-expandable server side exists in the server side cluster corresponding to the database cluster agent.
Optionally, before detecting whether there is a scalable server in the server cluster corresponding to the database cluster agent, the method further includes: traversing a server routing list, wherein the server routing list lists the at least one server and routing information thereof; if at least one server has a server which is expanding capacity, adding a mark which is expanding capacity in the routing information of the server which is expanding capacity.
Optionally, the writing the current target data into the expandable server to make the server cluster become an expanded server cluster includes: acquiring the current target data stored by the original server in the server cluster; re-determining a target storage node corresponding to each data according to the keywords of each data in the expandable server and the current target data, wherein the target storage node comprises the original server and the expandable server; writing each data into a corresponding target storage node; and updating the state of the expandable server end for writing the data to be expanded, and updating the global data version number.
Optionally, the obtaining the current target data stored by the original server in the server cluster includes: sending a data request to the original server; and receiving the current target data returned by the original server after calling a traversal interface provided by a target database according to the data request, wherein the current target data comprises keywords of each data in the current target data.
Optionally, the re-determining a target storage node corresponding to each data according to the key word of each data in the expandable server and the current target data includes: calculating a hash value corresponding to the keyword of each piece of data; and taking the hash value corresponding to the keyword to a module of the total number of the original server and the expandable server, and taking the value obtained by the module as the identifier of the target storage node corresponding to each data.
Optionally, the writing each data into the corresponding target storage node includes: for each piece of data, grouping the data of the target storage nodes with the same identification into a group; and sending a batch processing request to the target storage nodes with the same identification so as to enable the target storage nodes with the same identification to call a batch processing interface provided by a target database, and writing each grouped data into the target database.
Optionally, the accessing, according to the parameter transferred when the blockchain node calls the first access interface, data in the extended server cluster corresponding to the parameter includes: determining a target server corresponding to the parameter according to the parameter transmitted when the block link point calls the first access interface; and sending a data access request to a target server corresponding to the parameter so that the target server corresponding to the parameter calls a second access interface provided by a database of the target server, and reading or writing data corresponding to the parameter from or into the database of the target server.
Optionally, when the first access interface is an interface for reading data or an interface for writing single data, the parameter transmitted when the block link point calls the first access interface includes a key word and a global data version number of data to be accessed by the block link node, and when the first access interface is an interface for writing data in batch, the parameter transmitted when the block link point calls the first access interface includes a key word and a global data version number or a key value pair and a global data version number of data to be accessed by the block link node, and the key value pair is a value corresponding to the key word and the key word.
Optionally, before the step of detecting whether there is a scalable server in the server cluster corresponding to the database cluster agent when the call of the block link node to the first access interface is received, the method further includes: whether each data of the historical target data is written into the target storage node is detected.
Optionally, the detecting whether each data of the historical target data is completely written into the target storage node includes: reading a designated file for storing key-value pairs from a local cache; and if the local cache does not have the specified file for storing the key-value pair, determining that the historical target data is completely written into the target storage node.
Optionally, before the accessing, according to the parameter transferred when the node calls the first access interface, the data in the extended server cluster corresponding to the parameter, the method further includes: detecting whether a capacity-expandable server exists in a server cluster corresponding to a database cluster agent; if the server cluster corresponding to the database cluster agent has the expandable server, the expansion of the server cluster is realized by writing historical target data into the expandable server; grouping each data of the historical target data into a group according to the data of the target storage nodes with the same identification; sending a batch processing request to the target storage nodes with the same identification so as to enable the target storage nodes with the same identification to call a batch processing interface provided by a target database, and writing each group of data after the historical target data are grouped into the target database.
Optionally, before writing the current target data into the expandable server, making the server cluster become an expanded server cluster, the method further includes: initializing the database cluster agent by loading a server routing list to establish the connection between the database cluster agent and a target storage node.
In another aspect, the present application provides an apparatus for accessing data at block link points, including:
the system comprises a detection module, a database cluster agent and a first access interface, wherein the detection module is used for detecting whether a capacity-expandable service end exists in a service end cluster corresponding to the database cluster agent or not when the calling of a block link point to the first access interface is received, and the first access interface is provided for the block link point by the database cluster agent;
the capacity expansion module is used for writing current target data into the capacity-expandable server if the capacity-expandable server exists in the server cluster corresponding to the database cluster agent, so that the server cluster becomes the expanded server cluster;
and the access module is used for accessing the data corresponding to the parameters in the extended server cluster according to the parameters transmitted when the node calls the first access interface.
In a third aspect, the present application provides a computer device, which includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the steps in the method for accessing data by using block chain nodes as described in any one of the above embodiments by calling the computer program stored in the memory.
In a fourth aspect, the present application provides a computer readable storage medium, which stores a computer program, the computer program being adapted to be loaded by a processor to perform the steps of the method for block link point access data as described in any of the above embodiments.
According to the technical scheme provided by the application, as the database cluster agent is located between the block link point and the server cluster, the block link point and the server cluster are isolated, the database cluster agent becomes the server of the block link node, the database cluster agent becomes the client of the server cluster, and the server cluster has the expandable server, the server cluster becomes the expanded server cluster by writing the current target data into the expandable server, so that the expansion of the storage space of the block link point is realized, and the block link point is ensured to have enough space when accessing the data corresponding to the parameters in the server cluster.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic view of an application scenario of a method for accessing data at block link points according to the present application;
fig. 2 is a flowchart of a method for accessing data at block nodes according to an embodiment of the present disclosure;
FIG. 3 is a schematic structural diagram of an apparatus for accessing data at block link points according to an embodiment of the present disclosure;
fig. 4 is a schematic structural diagram of an apparatus provided in an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. 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 application.
In this specification, adjectives such as first and second may only be used to distinguish one element or action from another, without necessarily requiring or implying any actual such relationship or order. References to an element or component or step (etc.) should not be construed as limited to only one of the element, component, or step, but rather to one or more of the element, component, or step, etc., where the context permits.
In the present specification, the sizes of the respective portions shown in the drawings are not drawn in an actual proportional relationship for the convenience of description.
Fig. 1 is a schematic view of an application scenario of the method for accessing data at block nodes according to the present application. The node 101 is a node on the blockchain, i.e., a blockchain node, a client running on the node and a server running on the database cluster agent 102 form a C/S architecture, and the database cluster agent 102 is a client for a server cluster (which is composed of a server 1031 to a server 103 n), and each server in the server cluster can access a respective database through an interface call (shown in the figure as kvdb1 to kvdb 2). In the application scenario diagram illustrated in fig. 1, when a blockchain node needs to access data, its calling relationship is: the client on the node of the block chain calls the interface provided by the database cluster agent, the database cluster agent calls the interface provided by the server in the server cluster, and the server in the server cluster calls the interface provided by the respective database, so that the node on the block chain accesses the data on the target server in the server cluster.
Referring to fig. 2, an embodiment of the present application provides a method for accessing data from a block link node, where the method uses a database cluster agent in an application scenario diagram illustrated in fig. 1 as an execution subject, and mainly includes steps S201 to S203, which are detailed as follows:
step S201: when the calling of the block chain node point to the first access interface is received, whether a capacity-expandable service end exists in a service end cluster corresponding to the database cluster agent is detected, wherein the first access interface is provided for the block chain node point by the database cluster agent.
In this embodiment of the present application, a first access interface is provided for a database cluster agent to a block link point, and is used for being called when the block link point needs to access data, where the first access interface may be an interface for reading data from a server cluster corresponding to the database cluster agent, or may be an interface for writing data to the server cluster corresponding to the database cluster agent, and the interface for writing data to the server cluster corresponding to the database cluster agent may be an interface for writing single data to the server cluster corresponding to the database cluster agent, or an interface for writing data to the server cluster corresponding to the database cluster agent in batches. When the call of the block link node to the first access interface is received, whether the first access interface is a data reading interface or a data writing interface, whether the capacity-expandable service end exists in the service end cluster corresponding to the database cluster agent or not can be determined to expand the capacity of the service end cluster. It should be noted that the state of the server in the server cluster corresponding to the database cluster agent may be that the server is expanding or the expansion is completed, where the server that is expanding indicates that when the last wheel expands the server cluster, for various reasons, a certain server goes down, so that the expansion is not completed yet, at this time, under the instruction of the operation and maintenance staff, the database cluster agent marks the server as expanding, and records the server in a specified file, for example, a file named dynamic _ expansion. The database cluster agent loads a specified file such as dynamic _ expansion data by calling a specified interface, for example, check eassion (), and reads the state of each server of the specified file, so that whether an expandable server exists in the server cluster corresponding to the database cluster agent can be determined.
As an embodiment of the present application, detecting whether a volume-expandable server exists in a server cluster corresponding to a database cluster agent may be: reading the state of each server in the server cluster; and if the server side cluster exists the server side with the status of expanding capacity, determining that the expandable server side exists in the server side cluster corresponding to the database cluster agent.
Step S202: if the server cluster corresponding to the database cluster agent has the capacity-expandable server, the server cluster becomes the capacity-expanded server cluster by writing the current target data into the capacity-expandable server.
It should be noted that, in this embodiment of the present application, in different stages, it may be necessary to detect whether a scalable server exists in a server cluster corresponding to a database cluster agent, and to distinguish target data that is an object operated in different stages, the target data is divided into current target data and historical target data, where the current target data refers to target data that is currently being operated, and the historical target data refers to target data that has undergone similar operation as the current target data; the historical target data is often caused by "history", for example, due to various reasons, one or some of the servers in the server cluster is down, thereby causing the bulk storage of the data to fail, and the data that was bulk stored to the server before the down becomes the historical target data. Generally, when the database cluster agent is started, it may be detected whether each data of the historical target data is written into the target storage node by calling a function, that is, when a block link node is called for the first access interface, it is detected whether each data of the historical target data is written into the target storage node before detecting whether there is a scalable server in the server cluster corresponding to the database cluster agent, where the target storage node includes the scalable server or the scalable server. Specifically, the step of detecting whether each data of the historical target data is completely written into the target storage node may be: and reading the specified file for storing the key value pair from the local cache, and determining that the historical target data is completely written into the target storage node if the specified file for storing the key value pair does not exist in the local cache.
In an embodiment of the present application, writing the current target data into the expandable server to make the server cluster become the expanded server cluster may be implemented through steps S2021 to S2024:
step S2021: and acquiring current target data stored by the original server-end node in the server-end cluster.
It should be noted that, in the foregoing embodiment, under the instruction of the operation and maintenance staff, the database cluster agent marks the server as being expanded, and traverses a server routing list through the database cluster agent (where the server routing list lists at least one server and its routing information, where each server routing information is composed of a server identifier, an IP address, and a port number), and if there is a server that is being expanded in the server, adds an expansion mark in the routing information of the server that is being expanded, for example, adds doing as the expansion mark in the routing information of the server that is being expanded. For example, the current server routing list is {1: 127.0.1: 8080, 2:127.0.0.2:8081, 3:127.0.0.3:8081}, and it is assumed that all three servers identified as 1, 2, and 3 in the server routing list are expanding servers, and therefore, their routing information is added with doing, i.e., {1:127.0.0.1:8080: doing, 2:127.0.0.2:8081: doing, 3:127.0.0.3:8081: doing }, and then written into a specified file such as dynamic _ expansion. The implementation of the step S2021 and the following steps S2022 to S2024 is implemented by calling a function called rebalance, where the function of rebalance includes three parameters, namely local _ version, index _ IP _ port and a new db-server routing list, where local _ version represents a global data version number, and index _ IP _ port represents routing information of a server that is expanding capacity, and includes an identifier, an IP address and a port number of the server that is expanding capacity, and the new db-server routing list lists an original server and an expandable server in a server cluster, where the original server is a server that stores data in the server cluster and has a state other than logging. It should be noted that, in the foregoing embodiment, the database cluster agent traverses the server routing list, and adds the flag being expanded to the routing information of the server being expanded, which may be completed before detecting whether there is an expandable server in the server cluster corresponding to the database cluster agent.
As an embodiment of the present application, obtaining current target data stored by an original server in a server cluster may be: and sending a data request to an original server node, and receiving current target data returned by the original server after calling a traversal interface provided by a target database according to the data request, wherein the current target data comprises keywords of each data in the current target data. In fact, each piece of data in the target data is composed of a key of the piece of data and a value corresponding to the key, that is, each piece of data in the target data is a key-value pair (key-value pair) composed of < key, value >, and the target database is a database of the original server, and may be specifically a key-value database, and is used for storing the data in a key-value manner.
Step S2022: and re-determining a target storage node corresponding to each data according to the key words of each data in the expandable service end and the current target data, wherein the target storage node comprises the original service end and the expandable service end.
Because the target storage nodes include the original server and the expandable server, when the current target data returned from the original server is stored in the target storage nodes again, the target storage node corresponding to each data needs to be re-determined according to the keyword of each data in the expandable server and the current target data, and the specific method may be: calculating a hash value corresponding to a key of each piece of data, modulo the hash value corresponding to the key with respect to the total number of the original server and the scalable server, and when the value obtained by modulo is used as an identifier of a target storage node corresponding to each piece of data, for example, the key of a piece of data is represented by a key and the total number of the original server and the scalable server is represented by newlist.
Step S2023: and writing each data in the current target data into the corresponding target storage node.
Although the SHA3(key) has uniqueness for the same key, the SHA3 (key)% newlist. length does not have uniqueness for different keys, i.e., different keys may get the same SHA3 (key)% newlist. length, i.e., the same identification of the target storage node. Based on the above facts, in an embodiment of the present application, writing each of the current target data into the corresponding target storage node may be: for each piece of data in the current target data, grouping the pieces of data of the target storage nodes with the same identification into a group, sending a batch processing request to the target storage nodes with the same identification, so that the target storage nodes with the same identification call a batch processing interface provided by a target database, writing each group of grouped data into the target database, specifically, calculating identifications of the target storage nodes corresponding to different pieces of data according to SHA3 (key)% newlist.length, if the identifications of the target storage nodes calculated by the different pieces of data are the same, dividing the pieces of data into a group, for example, assuming that the pieces of data kv1, kv2 and kv5 are different, although the corresponding keys 1, key2 and key5 are different, but the same identification is obtained by calculation of SHA3 (key)% newlist.length, assuming that the identification is 2, sending a batch processing request to the target storage node with the identification of 2, for example, the batch request write function provided by the target storage node is called to cause the target storage node identified as 2 to call a batch processing interface provided by the target database, such as a batch write function, to write data kv1, kv2, and kv5 to the target database of the target storage node identified as 2.
Step S2024: and updating the state of the expandable server end written with the data to be expanded, and updating the global data version number.
Updating the status of the volume-expandable server into the volume-expandable state and updating the global data version number are performed in the specified file such as dynamic _ expansion. For example, for three servers with a server routing list of {1: 127.0.1: 8080, 2:127.0.0.2:8081, 3:127.0.0.3:8081}, before capacity expansion, they are {1:127.0.0.1:8080: doing, 2:127.0.0.2:8081: doing, 3:127.0.0.3:8081: doing }, in the specified file dynamic _ expansion. Assuming that after the expandable server with routing information of 1:127.0.0.1:8080: doing writes data through the above steps S2021 to S2024, the routing information is updated to 1:127.0.0.1:8080: finish (where "finish" indicates that the state of the corresponding server is expansion completed or expansion is successful), at this time, {1:127.0.0.1:8080: doing, 2:127.0.0.2:8081: doing, 3:127.0.0.3:8081: doing } in the specified file dynamic _ expansion data is changed to {1:127.0.0.1:8080: finish, 2:127.0.0.2:8081: doing, 3:127.0.0.3:8081: dynamic } and, at the same time, the global data is updated in the specified file dynamic _ expansion data, for example, the expansion value is added to the version number of the local expansion data, and then the content of the local expansion data is deleted as a new version number.
Step S203: and accessing data corresponding to the parameters in the extended service end cluster according to the parameters transmitted when the block chain node calls the first access interface.
In step S203, the database cluster agent can access data corresponding to the parameter in the extended server cluster according to the parameter transmitted when the node calls the first access interface, which means that the database cluster agent has established a connection with a server in the server cluster, for example, a TCP connection, and the server in the server cluster is provided by a server routing list for establishing a connection between the database cluster agent and the server in the server cluster, where the server routing list is loaded when the database cluster agent initializes. Therefore, in this embodiment of the present application, before accessing data corresponding to the parameter in the extended server cluster according to the parameter transferred when the block link point calls the first access interface, initializing a database cluster proxy by loading a server routing list to establish a connection between the database cluster proxy and a target storage node, where a server routing format of each server routing list is index: ip: and a port, where index represents a unique sequence number of a server in the server cluster, ip is an internet protocol address of the server, and port is a port number, and ip and port can be used to establish a connection between the database cluster proxy and the server in the server cluster, for example, a TCP connection. It should be noted that the target storage node in this embodiment is defined as the target storage node in the foregoing embodiment, that is, the target storage node includes an original server and a scalable server.
As an embodiment of the present application, according to a parameter transmitted when a blockchain node calls a first access interface, accessing data corresponding to the parameter in the extended server cluster may be: and determining a target server corresponding to the parameter according to the parameter transmitted when the block link point calls the first access interface, and sending a data access request to the target server corresponding to the parameter, so that the target server corresponding to the parameter calls a second access interface provided by a database of the target server, and reading or writing data corresponding to the parameter from or into the database of the target server. In the above embodiment, the parameter transmitted when the node calls the first access interface at least includes a key (key) of data to be accessed by the node, and although the parameter transmitted when the node calls the first access interface is different for different first access interfaces, the target service end corresponding to the parameter is determined to be substantially the same according to the parameter transmitted when the block link point calls the first access interface, which may specifically be: and calculating a corresponding hash value when the parameter is taken as the keyword, then, taking the hash value to modulo the number of the current service end in the service end cluster, and taking the modulo value as the identifier of the target service end corresponding to the parameter. Assuming that a parameter as a key is represented by a key, and the number of current servers in a server cluster is represented by server list length, a method for calculating the identifier of a target server corresponding to the parameter is SHA3 (key)% server list length, where SHA3(key) is a hash algorithm,% is a modulo calculation symbol, and the result of SHA3 (key)% server list length is the identifier of the target server corresponding to the parameter. After the target server corresponding to the parameter is determined, the database cluster agent can send a data access request to the target server corresponding to the parameter by calling a third access interface provided by the target server, and after the target server receives the data access request, the database cluster agent calls a second access interface provided by a database of the target server to read or write data corresponding to the parameter from or into the database of the target server.
As described above, the first access interface may be a read data interface or a write data interface. When the first access interface is an interface for writing data, it may be an interface for writing single data or an interface for writing data in bulk, and the following description will be made separately.
When the first access interface is a data reading interface, after a target server corresponding to a key (key) is determined, the database cluster agent first obtains a global data version number local _ version (the initial value of the global data version number is 0) from a local cache, and then sends a data reading request to the target server corresponding to the key by calling a data reading request interface GetRequest () provided by the server node for the database cluster agent. After receiving the data reading request, the target server calls a data reading interface Get () provided by a database (for example, a key-value storage database) of the target server to read data corresponding to the parameter, and returns the data to the database cluster agent. It should be noted that, the GetRequest () and Get () interfaces include a parameter of global data version number local _ version in addition to a parameter of a key.
When the first access interface is an interface for writing single data, after determining a target server corresponding to a key (key), the database cluster agent first obtains a global data version number local _ version (with an initial value of 0) from the local cache, and then sends a write data request to the target server corresponding to the key by calling a write data request interface PutRequest () provided by the server for the database cluster agent, similar to the foregoing embodiment. After receiving the data writing request, the target server-side node calls a data writing interface Put () provided by a database (for example, a key-value storage database) of the target server-side to write data corresponding to the parameters into the database of the target server-side, and after the data writing is finished, a notification that the write back is successful is returned to the database cluster agent. It should be noted that, the interfaces for writing single data, the PutRequest () interface and the Putt () interface, in addition to the parameter of the key, also include a value (value) corresponding to the key, where the PutRequest () interface and the Putt () interface also include a parameter of the global data version number local _ version.
When the first access interface is an interface for batch data writing, the parameter of the interface is a data structure input, that is, Map < key, value > input, in which a key value pair is composed of a key (key) and a value (value) corresponding to the key. After determining the target server corresponding to the key (key), grouping the data structure inputs by using target storage nodes with different key-value pairs but the same identification in the data structure input as a group, namely, List < Pair < db _ server _ index, Map < key, value > >, wherein db _ server _ index is the identification of the same target server corresponding to different key-value pairs Map < key, value >. Then, the contents in the grouped data structure input are written into a specified file such as check. Similar to the foregoing embodiment, the database cluster agent also obtains the global data version number local _ version (with an initial value of 0) from the local cache, and then sends the batch write data request to the target server corresponding to the key (i.e., the target server identified as db _ server _ index) by calling the BatchPutRequest () interface provided by the server node for the database cluster agent. After receiving the batch write data request, the target server calls a batch write data interface BatchPut () provided by a database (for example, a key-value storage database) of the target server to write data corresponding to the parameters into the database of the target server, and after the data is written, returns a notification of successful write back to the database cluster agent and deletes a specified file such as check. It should be noted that, the BatchPutRequest () interface and the BatchPut () interface include a parameter of Map < key, value > input, and also include a parameter of global data version number local _ version.
Considering that, in the previous round of operation, one or some of the servers in the server cluster may be down due to various reasons, and thus the batch storage of the data fails, in the embodiment of the present application, before accessing the data in the extended server cluster corresponding to the parameter according to the parameter passed when the node calls the first access interface, the following operations of step S1 to step S2 may be further performed:
step S1: and detecting whether a capacity-expandable server exists in the server cluster corresponding to the database cluster agent.
The implementation of step S1 is the same as the implementation of step S201 in the foregoing embodiment, and reference may be made to the related description of the foregoing embodiment, which is not repeated herein.
Step S2: if the server cluster corresponding to the database cluster agent has the capacity-expandable server, the capacity expansion of the server cluster is realized by writing the historical target data into the capacity-expandable server.
The implementation of step S2 is similar to the implementation of step S202 in the foregoing embodiment, except that in the implementation of step S202, the operation object is current target data, and the operation object of step S2 is historical target data, and reference may be made to the related description of the foregoing embodiment for a more detailed solution, which is not repeated herein.
Step S3: and for each data of the historical target data, grouping the data of the target storage nodes with the same identification into a group.
Step S4: and sending a batch processing request to the target storage nodes with the same identification so that the target storage nodes with the same identification call a batch processing interface provided by the target database, and writing each group of data after grouping the historical target data into the target database.
For example, step S3 and step S4 may be implemented by calculating, according to SHA3 (key)% newlist. length, identifications of target storage nodes corresponding to different data in the historical target data, and if the identifications of the target storage nodes calculated by the different data are the same, dividing the data into a group, for example, assuming that data kv4, kv6, and kv7 are the same, and although corresponding key4, key6, and key7 are different, calculating by SHA3 (key)% newlist. length to obtain the same identification, assuming that the identification is 3, sending a batch request to the target storage node identified as 3, for example, calling a batch request write function provided by the target storage node, so that the target storage node identified as 3 calls a batch interface provided by the target database, for example, a batch function, and writing data kv4, database 6, and database 7 to the target storage node identified as 3.
As can be seen from the method for accessing data by using block chain link points illustrated in fig. 2, since the database cluster agent is located between the block chain link points and the server cluster, and isolates the block chain link points from the server cluster, the database cluster agent becomes a server of the block chain node, the database cluster agent becomes a client of the server cluster, and there is an expandable server in the server cluster, the server cluster becomes an expanded server cluster by writing the current target data into the expandable server, so that the expansion of the storage space of the block chain link points is realized, and the block chain link points are ensured to have enough space when accessing data corresponding to parameters in the server cluster.
Referring to fig. 3, an apparatus for accessing data at block link nodes according to an embodiment of the present application may include a detection module 301, a capacity expansion module 302, and an access module 303, which are described in detail as follows:
the detection module 301 is configured to detect whether a scalable server exists in a server cluster corresponding to a database cluster agent when a call of a block link point to a first access interface is received, where the first access interface is provided to the block link point by the database cluster agent;
the capacity expansion module 302 is configured to, if a capacity-expandable server exists in a server cluster corresponding to the database cluster agent, write current target data into the capacity-expandable server, so that the server cluster becomes a capacity-expanded server cluster;
the accessing module 303 is configured to access data corresponding to the parameter in the extended server cluster according to the parameter transmitted when the block link point calls the first access interface.
It can be seen from the above description of the technical solutions that, since the database cluster agent is located between the block link point and the server cluster, and isolates the block link point from the server cluster, the database cluster agent becomes the server of the block link node, the database cluster agent becomes the client of the server cluster, and there is an expandable server node in the server cluster, the server cluster becomes an expanded server cluster by writing the current target data into the expandable server node, so that the expansion of the storage space of the block link point is realized, and it is ensured that the block link point has enough space when accessing the data corresponding to the parameters in the server cluster.
Optionally, in the apparatus illustrated in fig. 3, the detecting module 301 may include a reading unit and a first determining unit, where:
the reading unit is used for reading the state of each server in the server cluster;
the first determining unit is used for determining that the expandable server exists in the server cluster corresponding to the database cluster agent if the server exists in the server cluster in the state of being expanded.
Optionally, the apparatus illustrated in fig. 3 may further include a traversing module and a marking module, where:
the traversing module is used for traversing a server routing list before the detection module detects whether an expandable server exists in a server cluster corresponding to the database cluster agent, wherein the server routing list lists at least one server and routing information thereof;
and the marking module is used for adding the mark which is being expanded into the routing information of the service end which is being expanded if at least one service end has the service end which is being expanded.
Optionally, in the apparatus illustrated in fig. 3, the capacity expansion module 302 may include a data obtaining unit, a second determining unit, a data writing unit, and an updating unit, where:
the data acquisition unit is used for acquiring current target data stored by an original server in the server cluster;
the second determining unit is used for re-determining a target storage node corresponding to each data according to the expandable server and the keyword of each data in the current target data, wherein the target storage node comprises an original server and the expandable server;
the data writing unit is used for writing each datum into the corresponding target storage node;
and the updating unit is used for updating the state of the expandable server side written with the data into the expanded state and updating the global data version number.
Optionally, the data acquiring unit of the above example may include a first transmitting unit and a receiving unit, wherein:
the first sending unit is used for sending a data request to an original server;
and the receiving unit is used for receiving the current target data returned by the original server after calling the traversal interface provided by the target database according to the data request, wherein the current target data comprises the keywords of each data in the current target data.
Optionally, the second determining unit of the above example may include a calculating unit and a modulus taking unit, wherein:
the computing unit is used for computing a hash value corresponding to the keyword of each piece of data;
and the modulus taking unit is used for taking the modulus of the hash value corresponding to the keyword to the total number of the original server and the expandable server, and taking the value obtained by taking the modulus as the identifier of the target storage node corresponding to each data.
Alternatively, the data writing unit of the above example may include a grouping unit and a second transmitting unit, wherein:
the grouping unit is used for grouping each data according to the data of the target storage nodes with the same identification into a group;
and the second sending unit is used for sending batch processing requests to the target storage nodes with the same identification so as to enable the target storage nodes with the same identification to call a batch processing interface provided by the target database and write each grouped data into the target database.
Optionally, in the apparatus illustrated in fig. 3, the access module 303 may include a third determining unit and a third sending unit, where:
the third determining unit is used for determining a target server corresponding to the parameter according to the parameter transmitted when the block link point calls the first access interface;
and the third sending unit is used for sending a data access request to the target server corresponding to the parameter so as to enable the target server corresponding to the parameter to call a second access interface provided by the database of the target server, and reading or writing the data corresponding to the parameter from or into the database of the target server.
Optionally, in the apparatus illustrated in fig. 3, when the first access interface is an interface for reading data or the first access interface is an interface for writing single data, the parameters passed when the block link point calls the first access interface include a key of the data to be accessed by the block link node and a global data version number, and when the first access interface is an interface for writing data in batches, the parameters passed when the block link point calls the first access interface include a key of the data to be accessed by the block link node and a global data version number or a key value pair and a global data version number, where the key value pair is a value corresponding to the key and the global data version number.
Optionally, the apparatus illustrated in fig. 3 may further include a capacity expansion detection module, a historical data writing module, a grouping module, and a batch request sending module, where:
the system comprises a capacity-expandable detection module, a database cluster agent and a database cluster agent, wherein the capacity-expandable detection module is used for detecting whether a capacity-expandable service end exists in a service end cluster corresponding to the database cluster agent;
the historical data writing module is used for writing the historical target data into the expandable server to realize the expansion of the server cluster if the expandable server exists in the server cluster corresponding to the database cluster agent;
the grouping module is used for grouping each data of the historical target data into a group according to the data of the target storage nodes with the same identification;
and the batch processing request sending module is used for sending batch processing requests to the target storage nodes with the same identification so as to enable the target storage nodes with the same identification to call a batch processing interface provided by the target database and write each group of data after the historical target data are grouped into the target database.
Optionally, the apparatus illustrated in fig. 3 may further include a data complete detection module, configured to detect whether each data of the historical target data is written into the target storage node before the detection module 301 detects whether there is a scalable server in the server cluster corresponding to the database cluster agent.
Optionally, the data completeness detection module of the above example may include a designated file reading unit and a fourth determination unit, where:
the specified file reading unit is used for reading a specified file for storing the key value pair from the local cache;
and the fourth determining unit is used for determining that the historical target data is completely written into the target storage node if the local cache does not have the specified file for storing the key value pair.
It can be known from the description of the above technical solution that, since the database cluster agent is located between the block link point and the server cluster, and isolates the block link point from the server cluster, the database cluster agent becomes the server of the block link node, the database cluster agent becomes the client of the server cluster, and there is an expandable server node in the server cluster, the server cluster becomes an expanded server cluster by writing the current target data into the expandable server node, so that the expansion of the storage space of the block link point is realized, and it is ensured that the block link point has enough space when accessing the data corresponding to the parameters in the server cluster.
Fig. 4 is a schematic structural diagram of a computer device according to an embodiment of the present application. As shown in fig. 4, the computer device 4 of this embodiment mainly includes: a processor 40, a memory 41 and a computer program 42 stored in the memory 41 and executable on the processor 40, such as a program of a method of block-linked dot access data. The processor 40 executes the computer program 42 to implement the steps of the above-mentioned method embodiment for accessing data by using block chain nodes, such as the steps S201 to S203 shown in fig. 2. Alternatively, the processor 40 executes the computer program 42 to implement the functions of the modules/units in the above-mentioned device embodiments, such as the functions of the detection module 301, the capacity expansion module 302 and the access module 303 shown in fig. 3.
Illustratively, the computer program 42 of the method for block-linked dot access data mainly comprises: when the calling of the block chain link point to the first access interface is received, detecting whether a capacity-expandable service end exists in a service end cluster corresponding to a database cluster agent or not, wherein the first access interface is provided for the block chain link point by the database cluster agent; if the server cluster corresponding to the database cluster agent has the expandable server, the server cluster becomes the expanded server cluster by writing the current target data into the expandable server; and accessing data corresponding to the parameters in the extended service end cluster according to the parameters transmitted when the block chain node calls the first access interface. The computer program 42 may be partitioned into one or more modules/units, which are stored in the memory 41 and executed by the processor 40 to accomplish the present application. One or more of the modules/units may be a series of computer program instruction segments capable of performing specific functions that describe the execution of the computer program 42 in the computer device 4. For example, the computer program 42 may be divided into the functions of the detection module 301, the capacity expansion module 302, and the access module 303 (modules in the virtual device), and the specific functions of each module are as follows: the detection module 301 is configured to detect whether a scalable server exists in a server cluster corresponding to a database cluster agent when a call of a block link point to a first access interface is received, where the first access interface is provided to the block link point by the database cluster agent; the capacity expansion module 302 is configured to, if a capacity-expandable server exists in a server cluster corresponding to the database cluster agent, write current target data into the capacity-expandable server, so that the server cluster becomes a capacity-expanded server cluster; the accessing module 303 is configured to access data corresponding to the parameter in the extended server cluster according to the parameter transmitted when the block link point calls the first access interface.
Computer device 4 may include, but is not limited to, a processor 40, a memory 41. Those skilled in the art will appreciate that fig. 4 is merely an example of a computing device 4 and is not intended to limit computing device 4 and may include more or fewer components than those shown, or some of the components may be combined, or different components, e.g., the computing device may also include an input-output computing device, a network access computing device, a bus, etc.
The Processor 40 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The storage 41 may be an internal storage unit of the computer device 4, such as a hard disk or a memory of the computer device 4. The memory 41 may also be an external storage computer device of the computer device 4, such as a plug-in hard disk provided on the computer device 4, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like. Further, the memory 41 may also include both an internal storage unit of the computer device 4 and an external storage computer device. The memory 41 is used for storing computer programs and other programs and data required by the computer device. The memory 41 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned functions may be distributed as required to different functional units and modules, that is, the internal structure of the apparatus may be divided into different functional units or modules to implement all or part of the functions described above. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the above-mentioned apparatus may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. 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 application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus/computer device and method may be implemented in other ways. For example, the above-described apparatus/computer device embodiments are merely illustrative, and for example, a module or a unit may be divided into only one logical function, and may be implemented in other ways, for example, a plurality of units or components may be combined or integrated into another apparatus, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
Units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated modules/units, if implemented in the form of software functional units and sold or used as separate products, may be stored in a non-transitory computer readable storage medium. Based on such understanding, all or part of the processes in the method according to the embodiments of the present application may also be implemented by instructing relevant hardware through a computer program, where the computer program of the method for accessing data by using block-linked nodes may be stored in a computer readable storage medium, and when the computer program is executed by a processor, the steps of the embodiments of the method may be implemented, that is, when a call to a first access interface is received from a block-linked node, detecting whether a scalable server exists in a server cluster corresponding to a database cluster proxy, where the first access interface is provided to the block-linked nodes by the database cluster proxy; if the server cluster corresponding to the database cluster agent has the expandable server, the server cluster becomes the expanded server cluster by writing the current target data into the expandable server; and accessing data corresponding to the parameters in the extended service end cluster according to the parameters transmitted when the block chain node calls the first access interface. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The non-transitory computer readable medium may include: any entity or device capable of carrying computer program code, recording medium, U.S. disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution media, and the like. It should be noted that the non-transitory computer readable medium may contain content that is subject to appropriate increase or decrease as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, non-transitory computer readable media does not include electrical carrier signals and telecommunications signals as subject to legislation and patent practice. The above embodiments are only used to illustrate the technical solutions of the present application, and not to limit the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.
The above-mentioned embodiments, objects, technical solutions and advantages of the present application are described in further detail, it should be understood that the above-mentioned embodiments are merely exemplary embodiments of the present application, and are not intended to limit the scope of the present application, and any modifications, equivalent substitutions, improvements and the like made within the spirit and principle of the present application should be included in the scope of the present invention.

Claims (16)

1. A method for block-linked data access, the method comprising:
when the call of a block link point to a first access interface is received, detecting whether a capacity-expandable service end exists in a service end cluster corresponding to a database cluster agent or not, wherein the first access interface is provided for the block link point by the database cluster agent;
if the server cluster corresponding to the database cluster agent has the expandable server, writing the current target data into the expandable server to enable the server cluster to become an expanded server cluster;
and accessing data corresponding to the parameters in the expanded server cluster according to the parameters transmitted when the block chain node calls the first access interface.
2. The method for accessing data at block link points according to claim 1, wherein the detecting whether a scalable server exists in a server cluster corresponding to a database cluster agent comprises:
reading the state of each server in the server cluster;
and if the server side cluster exists in the server side cluster in the state of capacity expansion, determining that a capacity-expandable server side exists in the server side cluster corresponding to the database cluster agent.
3. The method for accessing data by using block nodes according to claim 1 or 2, wherein before detecting whether there is a scalable server in the server cluster corresponding to the database cluster agent, the method further comprises:
traversing a server routing list, wherein the server routing list lists the at least one server and routing information thereof;
if at least one server has a server which is expanding capacity, adding a mark which is expanding capacity in the routing information of the server which is expanding capacity.
4. The method for accessing data at a block link point as claimed in claim 1, wherein the step of making the server cluster an expanded server cluster by writing the current target data into the expandable server comprises:
acquiring the current target data stored by the original server in the server cluster;
re-determining a target storage node corresponding to each data according to the keywords of each data in the expandable server and the current target data, wherein the target storage node comprises the original server and the expandable server;
writing each data into a corresponding target storage node;
and updating the state of the expandable server end for writing the data to be expanded, and updating the global data version number.
5. The method for block-linked data access according to claim 4, wherein said obtaining the current target data stored in the original server in the server cluster comprises:
sending a data request to the original server;
and receiving the current target data returned by the original server after calling a traversal interface provided by a target database according to the data request, wherein the current target data comprises keywords of each data in the current target data.
6. The method for accessing data at block nodes according to claim 4, wherein the re-determining the target storage node corresponding to each data according to the key of each data in the expandable server and the current target data comprises:
calculating a hash value corresponding to the keyword of each piece of data;
and taking the hash value corresponding to the keyword to a module of the total number of the original server and the expandable server, and taking the value obtained by the module as the identifier of the target storage node corresponding to each data.
7. The method for block-linked dot access of data as claimed in claim 4, wherein said writing each of said data to a corresponding target storage node comprises:
for each piece of data, grouping the data of the target storage nodes with the same identification into a group;
and sending a batch processing request to the target storage nodes with the same identification so as to enable the target storage nodes with the same identification to call a batch processing interface provided by a target database, and writing each grouped data into the target database.
8. The method for accessing data at block chain nodes according to claim 1, wherein the accessing data corresponding to the parameter in the extended server cluster according to the parameter transferred when the block chain node calls the first access interface comprises:
determining a target server corresponding to the parameter according to the parameter transmitted when the block link point calls the first access interface;
and sending a data access request to a target server corresponding to the parameter so that the target server corresponding to the parameter calls a second access interface provided by a database of the target server, and reading or writing data corresponding to the parameter from or into the database of the target server.
9. The method for accessing data by using a blockchain point as claimed in claim 1, wherein when the first access interface is an interface for reading data or the first access interface is an interface for writing single data, the parameters passed when the blockchain point calls the first access interface include a key and a global data version number of the data to be accessed by the blockchain node, and when the first access interface is an interface for writing data in batches, the parameters passed when the blockchain point calls the first access interface include a key and a global data version number or a key value pair and the global data version number of the data to be accessed by the blockchain node, and the key value pair is a value corresponding to the key and the key.
10. The method according to any one of claims 1 to 9, wherein before detecting whether there is an expandable server in the server cluster corresponding to the database cluster proxy when the call to the first access interface from the block link point is received, the method further comprises: whether each data of the historical target data is written into the target storage node is detected.
11. The method for block-linked data access according to claim 10, wherein the detecting whether each of the historical target data completes writing to the target storage node comprises:
reading a designated file for storing key-value pairs from a local cache;
and if the local cache does not have the specified file for storing the key-value pair, determining that the historical target data is completely written into the target storage node.
12. The method according to any of claims 1 to 11, wherein before accessing the data corresponding to the parameter in the extended server cluster according to the parameter passed when the node calls the first access interface, the method further comprises:
detecting whether a capacity-expandable server exists in a server cluster corresponding to a database cluster agent;
if the server cluster corresponding to the database cluster agent has the expandable server, the expansion of the server cluster is realized by writing historical target data into the expandable server;
grouping each data of the historical target data into a group according to the data of the target storage nodes with the same identification;
sending a batch processing request to the target storage nodes with the same identification so as to enable the target storage nodes with the same identification to call a batch processing interface provided by a target database, and writing each group of data after the historical target data are grouped into the target database.
13. The method for accessing data according to any one of claims 1 to 11, wherein before the server cluster becomes an expanded server cluster by writing current target data into the expandable server, the method further comprises:
initializing the database cluster agent by loading a server routing list to establish the connection between the database cluster agent and a target storage node.
14. An apparatus for accessing data at block link points, the apparatus comprising:
the system comprises a detection module, a database cluster agent and a first access interface, wherein the detection module is used for detecting whether a capacity-expandable service end exists in a service end cluster corresponding to the database cluster agent or not when the calling of a block link point to the first access interface is received, and the first access interface is provided for the block link point by the database cluster agent;
the capacity expansion module is used for writing current target data into the capacity-expandable server if the capacity-expandable server exists in the server cluster corresponding to the database cluster agent, so that the server cluster becomes the expanded server cluster;
and the access module is used for accessing the data corresponding to the parameters in the extended server cluster according to the parameters transmitted when the block chain node calls the first access interface.
15. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the steps of a method for accessing data according to any one of claims 1 to 13 when executing the computer program.
16. A computer-readable storage medium, in which a computer program is stored, which, when being executed by a processor, carries out the steps of a method for block-linked data access according to any one of claims 1 to 13.
CN202110648154.1A 2021-06-10 2021-06-10 Method, apparatus and computer readable storage medium for accessing data at block link points Active CN113364875B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110648154.1A CN113364875B (en) 2021-06-10 2021-06-10 Method, apparatus and computer readable storage medium for accessing data at block link points

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110648154.1A CN113364875B (en) 2021-06-10 2021-06-10 Method, apparatus and computer readable storage medium for accessing data at block link points

Publications (2)

Publication Number Publication Date
CN113364875A true CN113364875A (en) 2021-09-07
CN113364875B CN113364875B (en) 2022-07-22

Family

ID=77533770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110648154.1A Active CN113364875B (en) 2021-06-10 2021-06-10 Method, apparatus and computer readable storage medium for accessing data at block link points

Country Status (1)

Country Link
CN (1) CN113364875B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8260840B1 (en) * 2010-06-28 2012-09-04 Amazon Technologies, Inc. Dynamic scaling of a cluster of computing nodes used for distributed execution of a program
CN103078927A (en) * 2012-12-28 2013-05-01 合一网络技术(北京)有限公司 Key-value data distributed caching system and method thereof
US20170093964A1 (en) * 2015-09-25 2017-03-30 International Business Machines Corporation Self-expanding software defined computing cluster
CN110535969A (en) * 2019-09-16 2019-12-03 腾讯科技(深圳)有限公司 Date storage method, device, storage medium and equipment based on block chain network
CN111625196A (en) * 2020-05-26 2020-09-04 北京海益同展信息科技有限公司 Block chain node capacity expansion method and device, computer equipment and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8260840B1 (en) * 2010-06-28 2012-09-04 Amazon Technologies, Inc. Dynamic scaling of a cluster of computing nodes used for distributed execution of a program
CN103078927A (en) * 2012-12-28 2013-05-01 合一网络技术(北京)有限公司 Key-value data distributed caching system and method thereof
US20170093964A1 (en) * 2015-09-25 2017-03-30 International Business Machines Corporation Self-expanding software defined computing cluster
CN110535969A (en) * 2019-09-16 2019-12-03 腾讯科技(深圳)有限公司 Date storage method, device, storage medium and equipment based on block chain network
CN111049902A (en) * 2019-09-16 2020-04-21 腾讯科技(深圳)有限公司 Data storage method, device, storage medium and equipment based on block chain network
CN111625196A (en) * 2020-05-26 2020-09-04 北京海益同展信息科技有限公司 Block chain node capacity expansion method and device, computer equipment and storage medium

Also Published As

Publication number Publication date
CN113364875B (en) 2022-07-22

Similar Documents

Publication Publication Date Title
US10204114B2 (en) Replicating data across data centers
CN111274252B (en) Block chain data uplink method and device, storage medium and server
CN110765076B (en) Data storage method, device, electronic equipment and storage medium
EP3817333B1 (en) Method and system for processing requests in a consortium blockchain
CN111400334B (en) Data processing method, data processing device, storage medium and electronic device
US10983718B2 (en) Method, device and computer program product for data backup
CN111651424B (en) Data processing method, device, data node and storage medium
US20230359628A1 (en) Blockchain-based data processing method and apparatus, device, and storage medium
CN112286457B (en) Object deduplication method and device, electronic equipment and machine-readable storage medium
CN113364875B (en) Method, apparatus and computer readable storage medium for accessing data at block link points
US10185735B2 (en) Distributed database system and a non-transitory computer readable medium
CN113342275B (en) Method, apparatus and computer readable storage medium for accessing data at block link points
CN115630026A (en) File reading and writing method and system, computer equipment and storage medium
CN113742050B (en) Method, device, computing equipment and storage medium for operating data object
CN109857719B (en) Distributed file processing method, device, computer equipment and storage medium
CN111209304B (en) Data processing method, device and system
CN116542668A (en) Block chain-based data processing method, equipment and readable storage medium
CN113486025A (en) Data storage method, data query method and device
CN113505103A (en) File processing method and device, storage medium and electronic device
CN108959405B (en) Strong consistency reading method of data and terminal equipment
CN111723007A (en) Test case merging method, system, equipment and medium
EP4394619A1 (en) Data processing method and apparatus based on blockchain, and device and readable storage medium
CN109947775B (en) Data processing method and device, electronic equipment and computer readable medium
CN110889040B (en) Method and device for pushing information
CN117271224B (en) Data repeated storage processing method and device of storage system, storage medium and electronic equipment

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
GR01 Patent grant
GR01 Patent grant