Data processing methods, apparatus, electronic devices and computer-readable media

By designing multiple write service nodes in a distributed system and adding lock information judgment, the problems of low data write efficiency and the impact of standby state during massive requests are solved, achieving more efficient data processing.

CN113760927BActive Publication Date: 2026-05-19BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING WODONG TIANJUN INFORMATION TECH CO LTD
Filing Date
2021-01-27
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing distributed systems have low data writing efficiency when faced with massive requests, and the standby status of some clients also reduces data processing efficiency.

Method used

The design incorporates multiple storage nodes to provide write services and adds lock information checks for client request information, automatically skipping client requests in standby mode.

Benefits of technology

This improves data writing efficiency, ensures that multiple storage nodes can respond to massive requests, and prevents standby clients from affecting data processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113760927B_ABST
    Figure CN113760927B_ABST
Patent Text Reader

Abstract

This disclosure discloses data processing methods, apparatus, electronic devices, and computer-readable media. One specific implementation of the method includes: in response to receiving client request information sent by a target client, determining a target storage node corresponding to the client request information from a set of distributed storage nodes; determining whether initial storage information in the target storage node corresponding to the client request information is in a locked state; in response to the initial storage information not being in a locked state, updating the initial storage information based on the client request information to generate updated storage information; and distributing the updated storage information in parallel to each distributed storage node. This implementation improves the efficiency of data writing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of this disclosure relate to the field of computer technology, and more particularly to data processing methods, apparatus, electronic devices, and computer-readable media. Background Technology

[0002] Currently, the increasing frequency of activities in industries such as e-commerce, finance, and retail has led to a rapid increase in related data, causing single-machine databases to gradually reach their limits and thus hindering the development of these industries. Therefore, distributed databases are now widely used for processing massive amounts of data.

[0003] However, when using the above methods for data processing, the following technical problems often arise:

[0004] Existing distributed systems have only one storage node for providing write services, resulting in low efficiency in data writing when faced with massive requests. Summary of the Invention

[0005] The summary portion of this disclosure is intended to provide a brief overview of concepts that will be described in detail in the detailed description portion. This summary portion is not intended to identify key or essential features of the claimed technical solutions, nor is it intended to limit the scope of the claimed technical solutions. Some embodiments of this disclosure provide data processing methods, apparatuses, electronic devices, and computer-readable media to address one or more of the technical problems mentioned in the background section above.

[0006] In a first aspect, some embodiments of this disclosure provide a data processing method, the method comprising: in response to receiving client request information sent by a target client, determining a target storage node corresponding to the client request information from a set of distributed storage nodes; determining whether initial storage information in the target storage node corresponding to the client request information is in a locked state; in response to the initial storage information not being in a locked state, updating the initial storage information based on the client request information to generate updated storage information; and distributing the updated storage information in parallel to each distributed storage node.

[0007] Optionally, the client request information includes: client request information identification information, and before updating the initial storage information based on the client request information to generate updated storage information, the method further includes: generating lock information based on the client request information identification information and the timestamp corresponding to the current time.

[0008] Optionally, updating the initial storage information based on the aforementioned client request information includes: in response to generating the aforementioned lock information, updating the initial storage information based on the aforementioned client request information to generate updated storage information.

[0009] Optionally, the client request information further includes: client request data; and the method further includes: in response to determining that the initial storage information is in a locked state, determining whether the first identification information and the second identification information match, wherein the first identification information is the lock identification information included in the lock information corresponding to the initial storage information, and the second identification information is the client request information identification information; in response to determining that the first identification information and the second identification information match, updating the timestamp included in the lock information corresponding to the initial storage information to the timestamp corresponding to the current time.

[0010] Optionally, the method further includes: in response to determining that the first identification information and the second identification information do not match, determining the difference between the timestamp included in the lock information corresponding to the initial storage information and the timestamp corresponding to the current time, so as to generate a lock existence duration; in response to determining that the lock existence duration is greater than or equal to a preset duration, updating the first identification information to target identification information, and updating the timestamp included in the lock information corresponding to the initial storage information to the timestamp corresponding to the current time.

[0011] Optionally, updating the initial storage information based on the client request information to generate updated storage information includes: updating the data included in the initial storage information based on the client request data to generate updated storage information.

[0012] Optionally, the method further includes: sending the updated storage information to the target client for display.

[0013] Secondly, some embodiments of this disclosure provide a data processing apparatus, comprising: a first determining unit configured to determine, in response to receiving client request information sent by a target client, a target storage node corresponding to the client request information from a set of distributed storage nodes; a second determining unit configured to determine whether initial storage information in the target storage node corresponding to the client request information is in a locked state; a generating unit configured to, in response to the initial storage information not being in a locked state, update the initial storage information based on the client request information to generate updated storage information; and a parallel distributing unit configured to distribute the updated storage information in parallel to each distributed storage node.

[0014] Optionally, the client request information includes: client request information identification information, and the device further includes: generating lock information based on the aforementioned client request information identification information and the timestamp corresponding to the current time.

[0015] Optionally, the generation unit is further configured to: in response to generating the above lock information, update the above initial storage information based on the above client request information to generate updated storage information.

[0016] Optionally, the client request information further includes: client request data; and the device further includes: in response to determining that the initial storage information is in a locked state, determining whether the first identification information and the second identification information match, wherein the first identification information is the lock identification information included in the lock information corresponding to the initial storage information, and the second identification information is the client request information identification information; in response to determining that the first identification information and the second identification information match, updating the timestamp included in the lock information corresponding to the initial storage information to the timestamp corresponding to the current time.

[0017] Optionally, the device further includes: in response to determining that the first identification information and the second identification information do not match, determining the difference between the timestamp included in the lock information corresponding to the initial storage information and the timestamp corresponding to the current time, so as to generate a lock existence duration; in response to determining that the lock existence duration is greater than or equal to a preset duration, updating the first identification information to target identification information, and updating the timestamp included in the lock information corresponding to the initial storage information to the timestamp corresponding to the current time.

[0018] Optionally, the generation unit is further configured to: update the data included in the initial storage information based on the client request data to generate updated storage information.

[0019] Optionally, the device further includes: sending the updated storage information to the target client for display.

[0020] Thirdly, some embodiments of this disclosure provide an electronic device, including: one or more processors; and a storage device having one or more programs stored thereon, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method described in any implementation of the first aspect above.

[0021] Fourthly, some embodiments of this disclosure provide a computer-readable medium having a computer program stored thereon, wherein the program, when executed by a processor, implements the method described in any of the implementations of the first aspect above.

[0022] The above embodiments of this disclosure have the following beneficial effects: the data processing methods of some embodiments of this disclosure can improve the efficiency of data writing. Specifically, the reason for the low data writing efficiency is that existing distributed systems only have one storage node for providing write services, which results in low data writing efficiency when faced with massive request information. In addition, in actual practice, some clients may be in standby mode while executing request tasks. This prevents the distributed storage system from automatically skipping the request tasks of that client and accepting request tasks from other clients, thus reducing the efficiency of data processing. Based on this, the data processing methods of some embodiments of this disclosure, on the one hand, design multiple storage nodes for providing write services, thereby ensuring that multiple storage nodes can respond when massive requests enter the distributed storage system, thus providing write services for data. On the other hand, it adds the judgment of the lock information corresponding to the client request information to determine whether the client is in standby mode when executing request tasks. If it is in standby mode, the lock information corresponding to the client is updated so that the distributed system can skip the client and continue to receive request information. Because multiple storage nodes in this distributed storage system can provide data write services and it incorporates checks on lock information corresponding to client requests, the system can automatically skip clients in standby mode and receive requests from other clients. This improves data write efficiency. Attached Figure Description

[0023] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and elements are not necessarily drawn to scale.

[0024] Figure 1 This is a schematic diagram illustrating an application scenario of a data processing method according to some embodiments of the present disclosure;

[0025] Figure 2 These are flowcharts of some embodiments of the data processing method according to this disclosure;

[0026] Figure 3 This is an exemplary schematic diagram of a lock information table in some embodiments of the data processing method according to this disclosure;

[0027] Figure 4 These are flowcharts of other embodiments of the data processing methods according to this disclosure;

[0028] Figure 5 These are schematic diagrams illustrating the structure of some embodiments of the data processing apparatus according to this disclosure;

[0029] Figure 6 This is a schematic diagram of the structure of an electronic device suitable for implementing some embodiments of the present disclosure. Detailed Implementation

[0030] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0031] It should also be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings. Unless otherwise specified, the embodiments and features described in this disclosure can be combined with each other.

[0032] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.

[0033] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0034] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0035] This disclosure will now be described in detail with reference to the accompanying drawings and embodiments.

[0036] Figure 1 This is a schematic diagram illustrating an application scenario of the data processing method according to some embodiments of this disclosure.

[0037] exist Figure 1In the application scenario, firstly, in response to receiving client request information 102 (e.g., "Client A, 1") sent by the target client, the computing device 101 can determine the target storage node (e.g., "TIKV 1") corresponding to the client request information 102 from the distributed storage node set (e.g., "TIKV 1, TIKV 2, TIKV 3"). Then, the computing device 101 can determine whether the initial storage information 103 (e.g., "Client A, 2") in the target storage node corresponding to the client request information 102 is in a locked state. Afterwards, in response to the initial storage information 103 not being in a locked state, the computing device 101 can update the initial storage information 103 based on the client request information 102 to generate updated storage information 104 (e.g., "Client A, 3"). Finally, the computing device 101 can distribute the updated storage information 104 in parallel to each distributed storage node.

[0038] It should be noted that the aforementioned computing device 101 can be either hardware or software. When the computing device is hardware, it can be implemented as a distributed cluster consisting of multiple servers or terminal devices, or as a single server or a single terminal device. When the computing device is software, it can be installed within the hardware devices listed above. It can be implemented as, for example, multiple software programs or software modules used to provide distributed services, or as a single software program or software module. No specific limitations are made here.

[0039] It should be understood that Figure 1 The number of computing devices shown is merely illustrative. Any number of computing devices can be used depending on implementation needs.

[0040] Continue to refer to Figure 2 The flowchart 200 illustrates some embodiments of the data processing method according to this disclosure. The data processing method includes the following steps:

[0041] Step 201: In response to receiving the client request information sent by the target client, determine the target storage node corresponding to the client request information from the distributed storage node set.

[0042] In some embodiments, the entity executing the data processing method (e.g., Figure 1 The computing device 101 shown can determine the target storage node corresponding to the client request information based on the storage node identifier included in the client request information. The storage node identifier can be used to query the storage node corresponding to the client request information.

[0043] The aforementioned target storage node can be hardware used for storing data. The aforementioned target storage node can be a disk. The aforementioned distributed storage node can be a server used for storing data. The aforementioned set of distributed storage nodes can be used to represent a system that provides services externally by combining multiple servers. The distributed storage nodes in the aforementioned set of distributed storage nodes can form a distributed transactional key-value database. The distributed storage nodes in the aforementioned set of distributed storage nodes can also form a distributed key-value pair storage system.

[0044] As an example, the storage node identifier included in the above client request information could be: "Storage Node 1". The above distributed storage node set could be [Storage Node 1, Storage Node 2, Storage Node 3, Storage Node 4]. Therefore, the target storage node corresponding to the client request information could be [Storage Node 1].

[0045] Step 202: Determine whether the initial storage information in the target storage node corresponding to the client request information is in a locked state.

[0046] In some embodiments, the executing entity can determine whether the initial storage information in the target storage node corresponding to the client request information is in a locked state by querying the lock information table to see if there is lock information corresponding to the client request information. The lock information may include: request identification information and lock name. The client request information may include: request identification information and request data. The initial storage information is the initial information stored in the target storage node. The initial storage information may include: request identification information and initial storage data.

[0047] As an example, the above lock information table can be as follows: Figure 3 As shown. The lock information in the aforementioned lock information table may include: request identifier information 301 and lock name 302. The SQL (Structured Query Language) statement for querying whether the lock information corresponding to the aforementioned client request information exists in the lock information table can be "select * from lock information table where ID = "request identifier information"".

[0048] Step 203: In response to the fact that the initial storage information is not in a locked state, the initial storage information is updated based on the client request information to generate updated storage information.

[0049] In some embodiments, the executing entity may determine that there is no lock information corresponding to the client request information in the lock information table. The request data included in the client request information and the initial storage data included in the initial storage information are then accumulated to generate updated storage information.

[0050] In some optional implementations of certain embodiments, the execution entity may determine that no lock information corresponding to the client request information exists in the lock information table. The lock name included in the lock information and the request identifier information included in the client request information are combined to generate lock information, which is then added to the lock information table. By adding the lock information corresponding to the client request information initiated by the target client to the lock information table, data corruption in the initial storage data stored in the target storage node is avoided when other clients initiate the same client request information. Furthermore, the execution entity may accumulate the request data included in the client request information and the initial storage data included in the initial storage information to generate updated storage information.

[0051] As an example, the lock information corresponding to the above client request information could include the lock name as [Tesk_lock: "Tesk_lockA"]. The client request identifier information included in the above client request information could be [ID: "A"]. Combining the lock name and the client request identifier information included in the above lock information to generate lock information could be [ID: "A", Tesk_lock: "Tesk_lockA"]. This lock information would then be added to the above lock information table. The above client request information could be [ID: "A", data: "1"]. The above initial storage information could be [ID: "A", data: "1"]. Accumulating the request data included in the above client request information and the initial storage data included in the above initial storage information to generate updated storage information could be [ID: "A", data: "2"].

[0052] Step 204 involves distributing the updated storage information to each distributed storage node in parallel.

[0053] In some embodiments, the aforementioned execution entity can use a consensus algorithm to distribute the updated storage information in parallel to various distributed storage nodes. The consensus algorithm can be used to replicate and distribute the updated storage information data to ensure data consistency across different data storage nodes. The data consensus algorithm can be either the Paxos algorithm or the Raft consensus algorithm.

[0054] The above embodiments of this disclosure have the following beneficial effects: the data processing methods of some embodiments of this disclosure can improve the efficiency of data writing. Specifically, the reason for the low data writing efficiency is that existing distributed systems only have one storage node for providing write services, which results in low data writing efficiency when faced with massive request information. In addition, in actual practice, some clients may be in standby mode while executing request tasks. This prevents the distributed storage system from automatically skipping the request tasks of that client and accepting request tasks from other clients, thus reducing the efficiency of data processing. Based on this, the data processing methods of some embodiments of this disclosure, on the one hand, design multiple storage nodes for providing write services, thereby ensuring that multiple storage nodes can respond when massive requests enter the distributed storage system, thus providing write services for data. On the other hand, it adds the judgment of the lock information corresponding to the client request information to determine whether the client is in standby mode when executing request tasks. If it is in standby mode, the lock information corresponding to the client is updated so that the distributed system can skip the client and continue to receive request information. Because multiple storage nodes in this distributed storage system can provide data write services and it incorporates checks on lock information corresponding to client requests, the system can automatically skip clients in standby mode and receive requests from other clients. This improves data write efficiency.

[0055] Further reference Figure 4 This illustrates a flow 400 of another embodiment of the data processing method. Flow 400 of the data processing method includes the following steps:

[0056] Step 401: In response to receiving the client request information sent by the target client, determine the target storage node corresponding to the client request information from the distributed storage node set.

[0057] Step 402: Determine whether the initial storage information in the target storage node corresponding to the client request information is in a locked state.

[0058] In some embodiments, the specific implementation of steps 401-402 and the resulting technical effects can be found in [reference needed]. Figure 2 Steps 201-202 in the corresponding embodiments will not be repeated here.

[0059] Step 403: Generate lock information based on the client request information identifier and the timestamp corresponding to the current time.

[0060] In some embodiments, the execution entity may generate lock information based on the client request information identifier and the timestamp corresponding to the current time, in response to the initial storage information not being locked. The execution entity can determine that the initial storage information in the target storage node corresponding to the client request information is not locked by querying the lock information table and finding no lock information corresponding to the client request information. The lock information may include: lock identifier information, lock name, and timestamp. The client request information may include: client request identifier information and client request data.

[0061] The aforementioned executing entity can determine the client request identifier information included in the aforementioned client request information as the lock identifier information included in the aforementioned lock information, and update the timestamp included in the aforementioned lock information to the timestamp corresponding to the current time to generate the aforementioned lock information.

[0062] As an example, the client request identifier information included in the above client request information could be [ID: "A"]. The timestamp corresponding to the current time could be ["1610196326"]. The above lock information could be [ID: "A", Tesk_lock: "Tesk_lockA", time: "1610196325"]. Then the generated lock information could be [ID: "A", Tesk_lock: "Tesk_lockA", time: "1610196326"].

[0063] Step 404: In response to generating lock information, update the initial storage information based on the client request information to generate updated storage information.

[0064] In some embodiments, the execution entity may determine that lock information has been generated and determine the data included in the initial storage information as the client request data included in the client request information, so as to generate updated storage information.

[0065] As an example, the generated lock information could be [ID: "A", Tesk_lock: "Tesk_lockA", time: "1610196326"]. The initial storage information could be [ID: "A", data: "1"]. The client request information could be [ID: "A", data: "2"]. Determining the data included in the initial storage information to be the request data included in the client request information to generate updated storage information could be [ID: "A", data: "2"].

[0066] In some optional implementations of certain embodiments, the execution entity may determine that lock information has been generated and update the data included in the initial storage information based on the client request data included in the client request information. Specifically, the execution entity may add the client request data included in the client request information to the data included in the initial storage information to generate updated storage information, thereby achieving data updating.

[0067] As an example, the generated lock information could be [ID: "A", Tesk_lock: "Tesk_lockA", time: "1610196326"]. The initial storage information could be [ID: "A", data: "1"]. The client request information could be [ID: "A", data: "2"]. Adding the client request data included in the client request information to the data included in the initial storage information to generate the updated storage information could be [ID: "A", data: "3"].

[0068] Step 405 involves distributing the updated storage information to each distributed storage node in parallel.

[0069] In some embodiments, the specific implementation of step 405 and its resulting technical effects can be found in [reference needed]. Figure 2 Step 204 in the corresponding embodiments will not be repeated here.

[0070] Optionally, the aforementioned executing entity may send the updated storage information to the aforementioned target client for display.

[0071] The aforementioned executing entity can send the updated storage information to the aforementioned target client for display via a wired or wireless connection.

[0072] Step 406: In response to determining that the initial stored information is in a locked state, determine whether the first identification information and the second identification information match.

[0073] In some embodiments, the executing entity may first determine that lock information corresponding to the client request information exists in the lock information table. Secondly, the executing entity may determine whether the first identification information and the second identification information match. The first identification information may be lock identification information included in the lock information corresponding to the initial stored information, and the second identification information may be client request information identification information. The executing entity can determine whether the first identification information and the second identification information match by determining whether they are the same.

[0074] As an example, the client request information above could be [ID: "A", data: "1"]. The lock information above could be [ID: "A", Tesk_lock: "Tesk_lockA", time: "1610196326"]. Therefore, the first identifier information above could be [ID: "A"]. The second identifier information above could be [ID: "A"].

[0075] Step 407: In response to determining that the first identification information and the second identification information match, the timestamp included in the lock information corresponding to the initial storage information is updated to the timestamp corresponding to the current time.

[0076] In some embodiments, the execution entity may determine that the first identification information and the second identification information match, and update the timestamp included in the lock information corresponding to the initial storage information to the timestamp corresponding to the current time.

[0077] As an example, the first identifier information mentioned above could be [ID: "A"]. The second identifier information mentioned above could be [ID: "A"]. The timestamp included in the lock information corresponding to the initial storage information mentioned above could be [time: "1610196326"]. The timestamp corresponding to the update to the current time could be [time: "1610196356"].

[0078] Step 408: In response to determining that the first identification information and the second identification information do not match, determine the difference between the timestamp included in the lock information corresponding to the initial storage information and the timestamp corresponding to the current time, so as to generate the lock existence duration.

[0079] In some embodiments, the executing entity first determines that the first identification information and the second identification information do not match. Secondly, it determines the difference between the timestamp included in the lock information and the timestamp corresponding to the current time to generate the lock duration.

[0080] As an example, the first identifier information mentioned above could be [ID: "A"]. The second identifier information mentioned above could be [ID: "B"]. The timestamp included in the lock information mentioned above could be [time: "1610196326"]. The current timestamp could be [time: "1610196356"]. The duration of the generated lock could be 30 seconds.

[0081] Step 409: In response to determining that the lock has existed for a duration greater than or equal to a preset duration, the first identifier information is updated to the target identifier information, and the timestamp included in the lock information corresponding to the initial storage information is updated to the timestamp corresponding to the current time.

[0082] In some embodiments, the executing entity may determine that the lock's existence duration is greater than or equal to a preset duration and update the first identification information to target identification information. The first identification information may be the lock identification information included in the lock information corresponding to the client request information of the target client. The target identification information may be the target lock identification information included in the lock information corresponding to the client request information of any client other than the target client. The first identification information is updated to the target identification information, and the timestamp included in the lock information corresponding to the initial storage information is updated to the timestamp corresponding to the current time.

[0083] As an example, the preset duration could be 10 seconds.

[0084] from Figure 4 It can be seen that, with Figure 2 Compared to the description of some corresponding embodiments, Figure 4 In some corresponding embodiments, the information processing method flow 400 adds a process for determining the lock information corresponding to the client's request information. This determines whether the client is in a standby state when requesting information. If it is in a standby state, the lock information corresponding to the client's request information is updated so that the distributed system can skip this client and continue receiving request information. By adding the determination of the lock information corresponding to the client's request information to prevent other clients from being unable to request information, the efficiency of data writing is improved.

[0085] Further reference Figure 5 As an implementation of the methods shown in the above figures, this disclosure provides some embodiments of a data processing apparatus, which are similar to... Figure 2 Corresponding to the method embodiments shown, the device can be specifically applied to various electronic devices.

[0086] like Figure 5 As shown, a data processing apparatus 500 in some embodiments includes: a first determining unit 501, a second determining unit 502, a generating unit 503, and a parallel distribution unit 504. The first determining unit 501 is configured to, in response to receiving client request information sent by a target client, determine the target storage node corresponding to the client request information from a set of distributed storage nodes; the second determining unit 502 is configured to determine whether the initial storage information in the target storage node corresponding to the client request information is in a locked state; the generating unit 503 is configured to, in response to the initial storage information not being in a locked state, update the initial storage information based on the client request information to generate updated storage information; and the parallel distribution unit 504 is configured to distribute the updated storage information in parallel to each distributed storage node.

[0087] It is understandable that the units described in the device 500 are related to the reference. Figure 2 The steps in the described method correspond accordingly. Therefore, the operations, features, and beneficial effects described above for the method also apply to the device 500 and the units contained therein, and will not be repeated here.

[0088] In some optional implementations of the embodiments, the client request information includes: client request information identification information, and the device 500 further includes: generating lock information based on the client request information identification information and the timestamp corresponding to the current time.

[0089] In some optional implementations of embodiments, the generation unit 503 is further configured to: in response to generating the above-mentioned lock information, update the above-mentioned initial storage information based on the above-mentioned client request information to generate updated storage information.

[0090] In some optional implementations of the embodiments, the client request information further includes: client request data; and the device 500 further includes: in response to determining that the initial storage information is in a locked state, determining whether the first identification information and the second identification information match, wherein the first identification information is the lock identification information included in the lock information corresponding to the initial storage information, and the second identification information is the client request information identification information; in response to determining that the first identification information and the second identification information match, updating the timestamp included in the lock information corresponding to the initial storage information to the timestamp corresponding to the current time.

[0091] In some optional implementations of embodiments, the apparatus 500 further includes: in response to determining that the first identification information and the second identification information do not match, determining the difference between the timestamp included in the lock information corresponding to the initial storage information and the timestamp corresponding to the current time, so as to generate a lock existence duration; in response to determining that the lock existence duration is greater than or equal to a preset duration, updating the first identification information to target identification information, and updating the timestamp included in the lock information corresponding to the initial storage information to the timestamp corresponding to the current time.

[0092] In some optional implementations of embodiments, the generation unit 503 is further configured to: update the data included in the initial storage information based on the client request data to generate updated storage information.

[0093] In some optional implementations of embodiments, the apparatus 500 further includes: sending the updated storage information to the target client for display.

[0094] The following is for reference. Figure 6 It illustrates electronic devices suitable for implementing some embodiments of this disclosure (e.g., Figure 1 A schematic diagram of the structure of the computing device 101)600. Figure 6 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments of this disclosure.

[0095] like Figure 6 As shown, electronic device 600 may include a processing device (e.g., a central processing unit, a graphics processor, etc.) 601, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 602 or a program loaded from storage device 608 into random access memory (RAM) 603. RAM 603 also stores various programs and data required for the operation of electronic device 600. Processing device 601, ROM 602, and RAM 603 are interconnected via bus 604. Input / output (I / O) interface 605 is also connected to bus 604.

[0096] Typically, the following devices can be connected to I / O interface 605: input devices 606 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 607 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 608 including, for example, magnetic tapes, hard disks, etc.; and communication devices 609. Communication device 609 allows electronic device 600 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 6 An electronic device 600 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively. Figure 6 Each box shown can represent a device or multiple devices as needed.

[0097] In particular, according to some embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, some embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 609, or installed from a storage device 608, or installed from a ROM 602. When the computer program is executed by the processing device 601, it performs the functions defined above in the methods of some embodiments of this disclosure.

[0098] It should be noted that, in some embodiments of this disclosure, the computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In some embodiments of this disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In some embodiments of this disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0099] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.

[0100] The aforementioned computer-readable medium may be included in the aforementioned device; or it may exist independently and not assembled into the electronic device. The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: in response to receiving client request information sent by a target client, determine the target storage node corresponding to the client request information from a set of distributed storage nodes; determine whether the initial storage information in the target storage node corresponding to the client request information is in a locked state; in response to the initial storage information not being in a locked state, update the initial storage information based on the client request information to generate updated storage information; and distribute the updated storage information in parallel to each distributed storage node.

[0101] Computer program code for performing operations of some embodiments of this disclosure can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0102] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0103] The units described in some embodiments of this disclosure can be implemented in software or hardware. The described units can also be housed in a processor; for example, a processor may be described as including a first determining unit, a second determining unit, a generating unit, and a parallel distributing unit. The names of these units do not necessarily limit the specific unit itself; for example, the first determining unit may also be described as "a unit that, in response to receiving client request information sent by a target client, determines the target storage node corresponding to the client request information from a set of distributed storage nodes."

[0104] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0105] The above description is merely a selection of preferred embodiments of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of the invention involved in the embodiments of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described inventive concept. For example, technical solutions formed by substituting the above-described features with (but not limited to) technical features with similar functions disclosed in the embodiments of this disclosure.

Claims

1. A data processing method, comprising: In response to receiving client request information sent by a target client, the target storage node corresponding to the client request information is determined from the distributed storage node set. The distributed storage node is a server used to store data, and the distributed storage node set is used to represent a system that provides services to the outside world by combining multiple servers. The client request information includes: client request information identification information. Determine whether the initial storage information in the target storage node corresponding to the client request information is in a locked state, wherein the initial storage information includes: request identification information and initial storage data; Based on the client request information identifier and the timestamp corresponding to the current time, lock information is generated; In response to the initial storage information not being in a locked state, the initial storage information is updated based on the client request information to generate updated storage information; the updated storage information is then distributed in parallel to each distributed storage node using a consensus algorithm.

2. The method according to claim 1, wherein, The step of updating the initial stored information based on the client request information includes: In response to generating the lock information, the initial storage information is updated based on the client request information to generate updated storage information.

3. The method according to claim 2, wherein, The client request information also includes: client request data; and The method further includes: In response to determining that the initial storage information is in a locked state, it is determined whether the first identification information and the second identification information match, wherein the first identification information is the lock identification information included in the lock information corresponding to the initial storage information, and the second identification information is the client request information identification information; In response to determining that the first identification information and the second identification information match, the timestamp included in the lock information corresponding to the initial storage information is updated to the timestamp corresponding to the current time.

4. The method according to claim 3, wherein, The method further includes: In response to determining that the first identification information and the second identification information do not match, the difference between the timestamp included in the lock information corresponding to the initial storage information and the timestamp corresponding to the current time is determined to generate the lock existence duration; In response to determining that the lock has existed for a duration greater than or equal to a preset duration, the first identification information is updated to the target identification information, and the timestamp included in the lock information corresponding to the initial storage information is updated to the timestamp corresponding to the current time.

5. The method according to claim 4, wherein, The step of updating the initial storage information based on the client request information to generate updated storage information includes: Based on the client request data, the data included in the initial storage information is updated to generate updated storage information.

6. The method according to claim 1, wherein, The method further includes: The updated storage information is sent to the target client for display.

7. A data processing apparatus, comprising: The first determining unit is configured to, in response to receiving client request information sent by a target client, determine the target storage node corresponding to the client request information from a set of distributed storage nodes. The distributed storage node is a server used to store data, and the set of distributed storage nodes is used to represent a system that provides services to the outside world by combining multiple servers. The client request information includes: client request information identification information. The second determining unit is configured to determine whether the initial storage information in the target storage node corresponding to the client request information is in a locked state, wherein the initial storage information includes: request identification information and initial storage data; Based on the client request information identifier and the timestamp corresponding to the current time, lock information is generated; The generation unit is configured to update the initial storage information based on the client request information in response to the initial storage information not being in an locked state, so as to generate updated storage information; The parallel distribution unit is configured to distribute the updated storage information in parallel to each distributed storage node using a consensus algorithm.

8. An electronic device, comprising: One or more processors; A storage device on which one or more programs are stored; When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-6.

9. A computer-readable medium having a computer program stored thereon, wherein, When the program is executed by the processor, it implements the method as described in any one of claims 1-6.