CN110673960B - Data synchronization method, device, equipment and computer readable storage medium - Google Patents

Data synchronization method, device, equipment and computer readable storage medium Download PDF

Info

Publication number
CN110673960B
CN110673960B CN201910780851.5A CN201910780851A CN110673960B CN 110673960 B CN110673960 B CN 110673960B CN 201910780851 A CN201910780851 A CN 201910780851A CN 110673960 B CN110673960 B CN 110673960B
Authority
CN
China
Prior art keywords
task
thread
time
segmentation
servers
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.)
Active
Application number
CN201910780851.5A
Other languages
Chinese (zh)
Other versions
CN110673960A (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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN201910780851.5A priority Critical patent/CN110673960B/en
Publication of CN110673960A publication Critical patent/CN110673960A/en
Application granted granted Critical
Publication of CN110673960B publication Critical patent/CN110673960B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Abstract

A data synchronization method, device, equipment and computer readable storage medium based on data processing are disclosed, the method comprises the steps of acquiring synchronous data tasks generated by a plurality of servers according to an acquisition instruction; selecting one of the servers as a designated server in a preemptive mode according to the selection instruction, and distributing the segmentation permission to the designated server; controlling an appointed server to obtain at least one synchronous data task and dividing the corresponding synchronous data task into a plurality of task blocks; executing a maintenance thread according to the maintenance instruction to detect the working state of the segmentation thread; controlling a plurality of servers to respectively execute a grabbing thread to grab task blocks according to the grabbing instructions; and controlling the plurality of servers to respectively store the data corresponding to the captured task blocks to the designated positions according to the processing instruction. The invention adopts a preemptive mode to distribute the segmentation permission in a data synchronization system formed by a plurality of servers, and the capturing threads and the processing threads of the plurality of servers are synchronously performed, thereby improving the data synchronization rate.

Description

Data synchronization method, device, equipment and computer readable storage medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a data synchronization method, apparatus, device, and computer-readable storage medium.
Background
With the development of informatization, each person, each company, each organization and the like have a great deal of information processing to be processed every day, and new information is generated continuously. All information typically needs to be stored or backed up to prevent data loss due to malfunction or system failure. In the prior art, a single thread is usually adopted for synchronous operation, and when the synchronous operation is delayed, problems such as data loss and the like can be caused.
Disclosure of Invention
The invention mainly aims to provide a data synchronization method, a data synchronization device, data synchronization equipment and a computer readable storage medium, and aims to solve the problem of data loss caused by single-thread synchronization operation delay in the prior art.
In order to achieve the above object, the present invention provides a data synchronization method, including the steps of:
when an acquisition instruction is received, acquiring synchronous data tasks generated by a plurality of servers to form a task pool;
when a selection instruction is received, selecting one of the servers as a designated server in a preemptive mode, and distributing the segmentation permission to the designated server;
when a segmentation instruction is received, controlling the designated server to acquire at least one synchronous data task from the task pool and execute a segmentation thread so as to segment the corresponding synchronous data task into a plurality of task blocks;
when a maintenance instruction is received, controlling the designated server to execute a maintenance thread so as to detect the working state of the segmentation thread;
when a grabbing instruction is received, controlling the plurality of servers to respectively execute grabbing threads so as to grab the task blocks;
and when a processing instruction is received, controlling the plurality of servers to process the captured task blocks respectively so as to store the data corresponding to the task blocks to a specified position.
Preferably, the step of preemptively selecting one of the servers as a designated server and assigning a sharding authority to the designated server comprises:
acquiring the access time of each server for accessing the task pool; wherein a plurality of the servers randomly access the task pool;
selecting the server with the earliest access time as the designated server and recording locking information; the locking information includes a locking time and characteristic information of the designated server.
Preferably, the segmentation thread can be switched between a working state and a dormant state; the step that the appointed server obtains at least one synchronous data task from the task pool and executes a segmentation thread so as to segment the corresponding synchronous data task into a plurality of task blocks comprises the following steps:
the segmentation thread sequentially acquires one synchronous data task according to the time generated by the synchronous data task and segments the synchronous data task into a first specified number of task blocks; the first specified number is 1000;
controlling the segmentation thread to be switched to the dormant state;
accumulating and segmenting the sleep time;
judging whether the segmentation sleep time is smaller than a first sleep time;
and when the segmentation sleep time is less than the first sleep time, identifying that the designated server is in the sleep state, and returning to the accumulated segmentation sleep time.
Preferably, after the step of slicing the sleep time to be equal to or greater than the first sleep time, the data synchronization method includes:
acquiring the locking information at intervals of first preset time;
judging whether the current locking information is consistent with the last locking information;
when the current locking information is inconsistent with the last locking information, returning to the segmentation thread to sequentially obtain one synchronous data task and segmenting the synchronous data task into a second specified number of task blocks;
when the current locking information is consistent with the last locking information, accumulating the detection time;
judging whether the accumulated detection time is greater than a specified time or not;
when the accumulated detection time is less than the designated time, returning to the step of acquiring the locking information every other first predetermined time;
and when the accumulated detection time is more than or equal to the specified time, identifying the abnormal work of the segmentation thread, forcibly ending the segmentation thread and generating the selection instruction.
Preferably, the maintenance thread can be switched between a working state and a dormant state; the step of executing the maintenance thread by the designated server to detect the working state of the segmentation thread comprises the following steps:
acquiring the number of the task blocks every second preset time in the maintenance thread in the working state;
judging whether the number of the currently acquired task blocks is larger than the number of the task blocks acquired last time;
when the number of the currently acquired task blocks is less than or equal to the number of the task blocks acquired last time, identifying abnormal operation of the segmentation thread of the designated server, and forcibly ending the segmentation thread;
and when the number of the currently acquired task blocks is larger than the number of the last acquired task blocks, identifying that the segmentation thread of the specified server operates normally.
Preferably, after the step of identifying that the sharding thread of the designated server is functioning properly, the data synchronization method includes:
controlling the maintenance thread to switch to the dormant state;
accumulating the maintenance sleep time;
judging whether the accumulated maintenance sleep time is less than a second sleep time;
if the accumulated maintenance sleep time is less than the second sleep time, identifying that the maintenance thread is in the sleep state, and returning to the step of accumulating the maintenance sleep time;
and if the accumulated maintenance sleep time is greater than or equal to the second sleep time, generating a maintenance instruction to switch the maintenance thread to the working state, and returning to the step of acquiring the number of the task blocks at intervals of second preset time.
Preferably, the fetching thread may be switched between a working state and a sleeping state, and the step of controlling the plurality of servers to respectively process the fetched task blocks includes:
the grabbing thread grabs a second specified number of task blocks in the working state;
switching the fetch thread to the sleep state;
accumulating the capturing dormancy time;
judging whether the capturing sleep time is less than a third sleep time;
when the grabbing dormancy time is less than the third dormancy time, recognizing that the grabbing threads of the designated servers are in a dormant state, and returning to the step of accumulating the grabbing dormancy time;
and when the grabbing sleep time is greater than or equal to the third sleep time, generating a grabbing instruction to switch the grabbing thread to the working state.
In order to achieve the above object, the present invention also provides a data synchronization apparatus, including:
the acquisition module is used for acquiring synchronous data tasks generated by a plurality of servers when receiving an acquisition instruction so as to form a task pool;
the selection module is used for selecting one of the servers as a designated server in a preemptive mode when receiving a selection instruction, and distributing the segmentation authority to the designated server;
the segmentation module is used for controlling the designated server to acquire at least one synchronous data task from the task pool and execute a segmentation thread when receiving a segmentation instruction so as to segment the corresponding synchronous data task into a plurality of task blocks;
the maintenance module is used for controlling the designated server to execute the maintenance thread when a maintenance instruction is received so as to detect the working state of the segmentation thread;
the grabbing module is used for controlling the servers to respectively execute grabbing threads when a grabbing instruction is received so as to grab the task block;
and the processing module is used for controlling the plurality of servers to respectively process the captured task blocks when receiving a processing instruction so as to store the data corresponding to the task blocks to a specified position.
Furthermore, in order to achieve the above object, the present invention further proposes an apparatus, which includes a processor and a memory, and when executing a computer program stored in the memory, the processor implements the following steps:
when an acquisition instruction is received, acquiring synchronous data tasks generated by a plurality of servers to form a task pool;
when a selection instruction is received, selecting one of the servers as a designated server in a preemptive mode, and distributing the segmentation permission to the designated server;
when a segmentation instruction is received, controlling the designated server to acquire at least one synchronous data task from the task pool and execute a segmentation thread so as to segment the corresponding synchronous data task into a plurality of task blocks;
when a maintenance instruction is received, controlling the designated server to execute a maintenance thread so as to detect the working state of the segmentation thread;
when a grabbing instruction is received, controlling the plurality of servers to respectively execute grabbing threads so as to grab the task blocks;
and when a processing instruction is received, controlling the plurality of servers to process the captured task blocks respectively so as to store the data corresponding to the task blocks to a specified position.
Furthermore, in order to achieve the above object, the present invention further provides a computer-readable storage medium storing at least one instruction, which when executed by a processor, implements the steps of:
when an acquisition instruction is received, acquiring synchronous data tasks generated by a plurality of servers to form a task pool;
when a selection instruction is received, selecting one of the servers as a designated server in a preemptive mode, and distributing the segmentation authority to the designated server;
when a segmentation instruction is received, controlling the designated server to acquire at least one synchronous data task from the task pool and execute a segmentation thread so as to segment the corresponding synchronous data task into a plurality of task blocks;
when a maintenance instruction is received, controlling the designated server to execute a maintenance thread so as to detect the working state of the segmentation thread;
when a grabbing instruction is received, controlling the plurality of servers to respectively execute grabbing threads so as to grab the task blocks;
and when a processing instruction is received, controlling the plurality of servers to process the captured task blocks respectively so as to store the data corresponding to the task blocks to a specified position.
Compared with the prior art, the data synchronization system formed by a plurality of servers adopts a preemption mode to distribute the segmentation permission, and the capturing thread and the processing thread of the plurality of servers are synchronously performed, so that the data synchronization rate can be improved, the adjustment can be timely performed when the segmentation thread is abnormal, and the performance of the data synchronization system is ensured.
Drawings
In order to more clearly illustrate the embodiments of the present invention 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 embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
FIG. 1 is a flow chart of a data synchronization method according to the present invention.
Fig. 2 is a detailed flowchart of step S12 in fig. 1.
Fig. 3 is a detailed flowchart of step S13 in fig. 1.
Fig. 4 is a detailed flowchart of step S14 in fig. 1.
Fig. 5 is a detailed flowchart of step S15 in fig. 1.
FIG. 6 is a functional block diagram of a data synchronization apparatus according to the present invention.
Fig. 7 is a schematic device structure diagram of a hardware operating environment according to an embodiment of the present invention.
Description of the main elements
Data synchronization device 1
Acquisition module 10
Selection module 20
Slitting module 30
Maintenance module 40
Grabbing module 50
Processing module 60
Memory 102
Communication bus 104
Processor 106
The following detailed description will further illustrate the invention in conjunction with the above-described figures.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, 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 invention.
The terms "first," "second," and "third," etc. in the description and claims of the present invention and the above-described drawings are used for distinguishing between different objects and not for describing a particular order. Furthermore, the terms "comprises" and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or modules is not limited to the listed steps or modules but may alternatively include other steps or modules not listed or inherent to such process, method, article, or apparatus.
Please refer to fig. 1, which is a flowchart illustrating a data synchronization method according to the present invention. The order of the steps in the flow chart may be changed and some steps may be omitted according to different needs.
In at least one embodiment of the present invention, the data synchronization method is applied to a data synchronization system formed by at least one terminal device and a server. And data transmission is carried out between the terminal equipment and the server according to a preset protocol. Preferably, the preset protocol includes, but is not limited to, any one of the following: an HTTP Protocol (Hyper Text Transfer Protocol), an HTTPs Protocol (Hyper Text Transfer Protocol over Secure Socket Layer), and the like. The terminal device may be any terminal having a network connection function, for example, the terminal device may be a mobile device such as a Personal computer, a tablet computer, a smart phone, a Personal Digital Assistant (PDA), a game machine, an interactive web Television (IPTV), an intelligent wearable device, a navigation device, or the like, or a fixed device such as a desktop computer, a Digital TV, or the like. The data synchronization system may include a plurality of servers and databases. The database is used for storing data information. The database may be memory 102 (shown in fig. 7). The memory 102 may be a readable storage medium, such as a flash memory, a hard disk, a multimedia card, an SD memory, a magnetic disk, an optical disk, or other non-volatile storage media. The memory 102 may be used to store data. The data synchronization system provides a visual interface. The visual interface is used for providing a man-machine interaction interface for a user. The data synchronization system is used for segmenting the synchronization tasks in a preemptive mode when the plurality of servers execute data synchronization operation, and the servers preempting the segmentation authority segment the generated synchronization tasks to obtain corresponding data information and synchronize the data information to the database.
And S11, acquiring the synchronous data tasks generated by the plurality of servers to form a task pool when the acquisition instruction is received.
In at least one embodiment of the invention, the synchronized data tasks are stored in a stack according to a temporal order.
And S12, when receiving the selection instruction, selecting one of the servers as a designated server in a preemptive mode, and distributing the segmentation permission to the designated server.
Referring also to fig. 2, in at least one embodiment of the present invention, the preemptively selecting one of the servers as a designated server and assigning sharding authority to the designated server includes:
s121, obtaining the access time of each server for accessing the task pool; wherein a plurality of the servers randomly access the task pool;
and S122, selecting the server with the earliest access time as the specified server and recording locking information.
In at least one embodiment of the invention, the lock information includes a lock time and characteristic information of the specified server. The characteristic information may include, but is not limited to, a name and a physical address of the server.
And S13, when a segmentation instruction is received, controlling the designated server to acquire at least one synchronous data task from the task pool and execute a segmentation thread so as to segment the acquired synchronous data task into a plurality of task blocks.
In at least one embodiment of the invention, the sliced thread can be switched between a working state and a sleeping state.
Referring to fig. 3, in at least one embodiment of the present invention, the step of controlling the designated server to obtain at least one of the synchronous data tasks from the task pool and execute a segmentation thread to segment the obtained synchronous data task into a plurality of task blocks includes:
s131, in the working state, the segmentation thread sequentially acquires one synchronous data task according to the time generated by the synchronous data task and segments the synchronous data task into a first specified number of task blocks;
s132, controlling the segmentation thread to be switched to the dormant state;
s133, accumulating and segmenting the sleep time;
s134, judging whether the segmentation sleep time is less than a first sleep time;
when the split sleep time is less than the first sleep time, recognizing that the designated server is in the sleep state, and returning to step S133;
s135, when the segmentation sleep time is more than or equal to the first sleep time, acquiring the locking information at intervals of first preset time;
s136, judging whether the current locking information is consistent with the last locking information;
when the current locking information is inconsistent with the last locking information, returning to the step S131;
s137, when the current locking information is consistent with the last locking information, accumulating detection time;
s138, judging whether the accumulated detection time is less than the specified time;
when the accumulated detection time is less than the designated time, returning to the step S135;
and S139, when the accumulated detection time is greater than or equal to the specified time, identifying the abnormal work of the segmentation thread, and forcibly ending the segmentation thread and generating the selection instruction.
In at least one embodiment of the invention, the lock information includes a lock time and characteristic information of the specified server. The characteristic information may include, but is not limited to, a name and a physical address of the server. The first specified number is 1000. The first sleep time is 50 milliseconds, the first predetermined time is 1 minute, and the specified time is 5 minutes. In other embodiments, the specified number, the first sleep time, the first predetermined time, and the specified time may be adjusted according to the user's needs and the performance of the server.
And S14, when the maintenance instruction is received, controlling the designated server to execute the maintenance thread so as to detect the working state of the segmentation thread.
In at least one embodiment of the invention, the maintenance thread may switch between a working state and a sleeping state.
Referring to fig. 4, in at least one embodiment of the present invention, the step of controlling the designated server to execute the maintenance thread to detect the working status of the slicing thread includes:
s141, when the maintenance thread works in the working state, the number of the task blocks is obtained every second preset time;
s142, judging whether the number of the currently acquired task blocks is larger than the number of the task blocks acquired last time;
s143, when the number of the task blocks obtained currently is less than or equal to the number of the task blocks obtained last time, identifying that the segmentation thread of the designated server is abnormal in operation, and forcibly ending the segmentation thread;
s144, when the number of the currently acquired task blocks is larger than the number of the task blocks acquired last time, identifying that the segmentation thread of the designated server operates normally, and controlling the maintenance thread to switch to the dormant state;
s145, accumulating the maintenance sleep time;
s146, judging whether the accumulated maintenance sleep time is less than a second sleep time;
if the accumulated maintenance sleep time is less than the second sleep time, identifying that the maintenance thread is in the sleep state, and returning to the step S145;
and S147, if the accumulated maintenance sleep time is greater than or equal to the second sleep time, resetting the accumulated maintenance sleep time.
In at least one embodiment of the present invention, the second predetermined time and the second sleep time are both 10 minutes.
And S15, when a grabbing instruction is received, controlling the plurality of servers to respectively execute grabbing threads so as to grab the task block.
In at least one embodiment of the invention, the task block comprises a plurality of task queues, and each task queue corresponds to one data message.
Referring to fig. 5, in at least one embodiment of the present invention, the step of controlling the servers to respectively execute a fetching thread to fetch the task block includes:
s151, the grabbing thread grabs a second specified number of task blocks in the working state;
s152, switching the grabbing thread to the dormant state;
s153, accumulating the capturing sleep time;
s154, judging whether the capturing sleep time is less than a third sleep time;
when the capturing sleep time is less than the third sleep time, recognizing that the capturing threads of the designated servers are in a sleep state, and returning to the step S153;
and S155, when the capturing sleep time is greater than or equal to the third sleep time, generating a capturing instruction to switch the capturing thread to the working state.
In at least one embodiment of the present invention, the third sleep time is 10 seconds. The number may be any number of 2 or more than 2, and may be adjusted according to the number of tasks included in each task block.
And S16, when a processing instruction is received, controlling the plurality of servers to process the captured task blocks respectively so as to store the data corresponding to the task blocks to a specified position.
In at least one embodiment of the present invention, each of the servers executes 4 storage queues, and the 4 storage queues can be executed simultaneously or asynchronously. In other embodiments, the number of storage queues may be adjusted according to the needs of the user. The data information includes customer information and policy information. The customer information may include, but is not limited to, a customer name, a certificate number, and a contact phone number. The policy information may include, but is not limited to, policy type, amount of policy, time of effect, and payment method. The storage queue can acquire corresponding data information in a mode of calling background operation packets.
In at least one embodiment of the present invention, the various instructions may be data request instructions received by the terminal device. The terminal device may include a keyboard, a touch screen, etc., but the user input manner in the example embodiments of the present disclosure is not limited thereto. Can be generated for the user through specific operations on the visual interface. Specifically, the user's operations include, but are not limited to: sliding operation, clicking operation (such as single clicking operation, double clicking operation, etc.). Specifically, the preset key may be an entity key on the terminal device, or may be a virtual key on the terminal device (for example, the virtual key may be a virtual icon on a display of the terminal device, etc.), and the present invention is not limited herein.
According to the embodiment, the data synchronization system composed of the servers distributes the segmentation permission in a preemption mode, the capturing threads and the processing threads of the servers are synchronously performed, the data synchronization rate can be improved, the adjustment can be performed in time when the segmentation threads are abnormal, and the performance of the data synchronization system is ensured.
Referring to fig. 6, the present invention provides a data synchronization apparatus 1, which is applied to a data synchronization system formed by at least one terminal device and a server. In at least one embodiment of the present invention, the data synchronization method is applied to a data synchronization system formed by at least one terminal device and a server. And data transmission is carried out between the terminal equipment and the server according to a preset protocol. Preferably, the preset protocol includes, but is not limited to, any one of the following: an HTTP Protocol (hypertext Transfer Protocol), an HTTPs Protocol (HTTP Protocol targeted for security), and the like. The terminal device may be any terminal having a network connection function, for example, the terminal device may be a mobile device such as a Personal computer, a tablet computer, a smart phone, a Personal Digital Assistant (PDA), a game machine, an interactive web Television (IPTV), an intelligent wearable device, a navigation device, or the like, or a fixed device such as a desktop computer, a Digital TV, or the like. The data synchronization system may include a plurality of servers and databases. The database is used for storing data information. The database may be a memory 102 (shown in fig. 7).
In one embodiment of the present invention, the data synchronization apparatus 1 includes:
and the obtaining module 10 is configured to obtain the synchronous data tasks generated by the plurality of servers when receiving the obtaining instruction, so as to form a task pool. In at least one embodiment of the invention, the synchronized data tasks are stored in a stack according to a temporal order.
And the selecting module 20 is configured to select one of the servers as a designated server in a preemptive manner when receiving the selection instruction, and assign the slicing permission to the designated server.
The selection module 20 further obtains an access time of each server to the task pool. Wherein a plurality of the servers randomly access the task pool.
The selection module 20 further selects the server with the earliest access time as the designated server and records lock information. The locking information includes a locking time and characteristic information of a designated server. The characteristic information may include, but is not limited to, a name and a physical address of the server.
And the segmentation module 30 is configured to control the designated server to obtain at least one synchronous data task from the task pool and execute a segmentation thread when receiving a segmentation instruction, so as to segment the corresponding synchronous data task into a plurality of task blocks.
In at least one embodiment of the invention, the split thread can be switched between a working state and a dormant state. The segmentation module 30 further controls the segmentation thread to sequentially obtain one synchronous data task and segment the synchronous data task into a first specified number of task blocks according to the time generated by the synchronous data task in the working state, and then controls the segmentation thread to switch to the dormant state, and accumulates segmentation dormant time. The slicing module 30 further determines whether the sliced sleep time is less than a first sleep time.
When the sliced sleep time is less than the first sleep time, the slicing module 30 further identifies that the designated server is in the sleep state; when the slicing sleep time is greater than or equal to the first sleep time, the slicing module 30 further obtains the locking information every first predetermined time.
The segmentation module 30 further determines whether the current locking information is consistent with the last locking information.
When the current locking information is consistent with the last locking information, the cutting module 30 further accumulates the detection time.
The segmentation module 30 further determines whether the accumulated detected time is less than a specified time.
When the accumulated detection time is greater than or equal to the specified time, the segmentation thread is identified to be abnormal in work, and the segmentation module 30 further forcibly ends the segmentation thread and generates the selection instruction.
In at least one embodiment of the invention, the lock information includes a lock time and characteristic information of the specified server. The characteristic information may include, but is not limited to, a name and a physical address of the server. The first specified number is 1000. The first sleep time is 50 milliseconds, the first predetermined time is 1 minute, and the specified time is 5 minutes. In other embodiments, the specified number, the first sleep time, the first predetermined time, and the specified time may be adjusted according to the user's needs and the performance of the server.
And the maintenance module 40 is used for controlling the designated server to execute the maintenance thread when the maintenance instruction is received so as to detect the working state of the segmentation thread.
In at least one embodiment of the invention, the maintenance thread may switch between a working state and a sleeping state.
The maintenance module 40 further controls the maintenance thread to work in the working state to acquire the number of the task blocks every second predetermined time and determines whether the number of the currently acquired task blocks is greater than the number of the task blocks acquired last time.
When the number of the currently acquired task blocks is less than or equal to the number of the last acquired task blocks, identifying that the operation of the segmentation thread of the specified server is abnormal, and the maintenance module 40 further forcibly ends the segmentation thread.
When the number of the currently acquired task blocks is larger than the number of the last acquired task blocks, it is recognized that the operation of the segmentation thread of the designated server is normal, and the maintenance module 40 further controls the maintenance thread to switch to the dormant state and accumulates maintenance dormant time.
The maintenance module 40 further determines whether the accumulated maintenance sleep time is less than a second sleep time.
If the cumulative maintenance sleep time is greater than or equal to the second sleep time, the maintenance module 40 further resets the cumulative maintenance sleep time.
In at least one embodiment of the present invention, the second predetermined time and the second sleep time are each 10 minutes.
And the grabbing module 50 is configured to control the plurality of servers to respectively execute grabbing threads to grab the task block when a grabbing instruction is received.
In at least one embodiment of the invention, the task block comprises a plurality of task queues, and each task queue corresponds to one data message.
The fetch module 50 further fetches a second specified number of task blocks by the fetch thread in the working state, then switches the fetch thread to the sleep state, and accumulates fetch sleep time.
The fetch module 50 further determines whether the fetch sleep time is less than a third sleep time.
When the grabbing sleep time is greater than or equal to the third sleep time, the grabbing module 50 further generates a grabbing instruction to switch the grabbing thread to the working state.
In at least one embodiment of the present invention, the third sleep time is 10 seconds. The number may be any number of 2 or more than 2, and may be adjusted according to the number of tasks included in each task block.
And a processing module 60, configured to control, when receiving a processing instruction, the plurality of servers to process the captured task blocks respectively, so as to store data corresponding to the task blocks to a specified location.
In at least one embodiment of the present invention, each of the servers executes 4 store queues, and the 4 store queues can be executed simultaneously or asynchronously. In other embodiments, the number of storage queues may be adjusted according to the needs of the user. The data information includes customer information and policy information. The customer information may include, but is not limited to, a customer name, a certificate number, and a contact phone number. The policy information may include, but is not limited to, policy type, amount of policy, time of effect, and payment method. The storage queue can acquire corresponding data information in a mode of calling the background operation packet.
According to the embodiment, the data synchronization system composed of the servers distributes the segmentation permission in a preemption mode, the capturing threads and the processing threads of the servers are synchronously performed, the data synchronization rate can be improved, the adjustment can be performed in time when the segmentation threads are abnormal, and the performance of the data synchronization system is ensured.
Please refer to fig. 7, which is a computer-readable storage medium according to an embodiment of the present invention. The computer readable storage medium has stored thereon computer instructions. The computer instructions may be stored on the memory 102 and when executed by the one or more processors 106, thereby implementing the data synchronization method as described above in the method embodiments.
The memory 102 is used to store program code. The memory 102 may be a circuit without a physical form and having a storage function in an integrated circuit, or the memory 102 may also be a physical form memory, such as a memory bank, a TF Card (Trans-flash Card), a smart media Card (smart media Card), a secure digital Card (secure digital Card), a flash memory Card (flash Card), or other storage devices. The memory 102 may be in data communication with the processor 106 via a communication bus 104. The memory 102 may include an operating system, a network communication module, and a data synchronization program. The operating system is a program that manages and controls the hardware and software resources of the data synchronization device, supporting the operation of the file data synchronization program and other software and/or programs. The network communication module is used for realizing communication among the components in the memory 102 and communication with other hardware and software in the data synchronization device.
The processor 106 may include one or more microprocessors, digital processors. The processor 106 may call program code stored in the memory 102 to perform the associated functions. For example, the various modules illustrated in fig. 6 are program code stored in the memory 102 and executed by the processor 106 to implement a data synchronization method. The processor 106 is also called a Central Processing Unit (CPU), and is an ultra-large scale integrated circuit, which is an operation Core (Core) and a Control Core (Control Unit).
The processor 106 is configured to execute the plurality of computer instructions stored in the memory 102 to implement the data synchronization method, and the processor 106 is configured to execute the plurality of instructions to implement the steps of:
and S11, acquiring the synchronous data tasks generated by the plurality of servers to form a task pool when the acquisition instruction is received.
In at least one embodiment of the invention, the synchronized data tasks are stored in a stack according to a temporal order.
And S12, when receiving the selection instruction, selecting one of the servers as a designated server in a preemptive mode, and distributing the segmentation permission to the designated server.
Referring also to fig. 2, in at least one embodiment of the present invention, the preemptively selecting one of the servers as a designated server and assigning sharding authority to the designated server includes:
s121, obtaining the access time of each server for accessing the task pool; wherein a plurality of the servers randomly access the task pool;
and S122, selecting the server with the earliest access time as the designated server and recording locking information.
In at least one embodiment of the invention, the lock information includes a lock time and characteristic information of a specified server. The characteristic information may include, but is not limited to, a name and a physical address of the server.
And S13, when a segmentation instruction is received, controlling the designated server to acquire at least one synchronous data task from the task pool and execute a segmentation thread so as to segment the corresponding synchronous data task into a plurality of task blocks.
In at least one embodiment of the invention, the sliced thread may be switched between an active state and a dormant state.
Referring to fig. 3, in at least one embodiment of the present invention, the step of controlling the designated server to obtain at least one of the synchronous data tasks from the task pool and execute a segmentation thread to segment the corresponding synchronous data task into a plurality of task blocks includes:
s131, in the working state, the segmentation thread sequentially acquires one synchronous data task according to the time generated by the synchronous data task and segments the synchronous data task into a first specified number of task blocks;
s132, controlling the segmentation thread to be switched to the dormant state;
s133, accumulating and segmenting the sleep time;
s134, judging whether the segmentation sleep time is less than a first sleep time;
when the split sleep time is less than the first sleep time, recognizing that the designated server is in the sleep state, and returning to step S133;
s135, when the segmentation sleep time is more than or equal to the first sleep time, acquiring the locking information at intervals of first preset time;
s136, judging whether the current locking information is consistent with the last locking information;
when the current locking information is inconsistent with the last locking information, returning to the step S131;
s137, accumulating the detection time when the current locking information is consistent with the last locking information;
s138, judging whether the accumulated detection time is less than the specified time;
when the accumulated detection time is less than the designated time, returning to the step S135;
and S139, when the accumulated detection time is greater than or equal to the specified time, identifying the abnormal work of the segmentation thread, and forcibly ending the segmentation thread and generating the selection instruction.
In at least one embodiment of the present invention, the first specified number is 1000. The first sleep time is 50 milliseconds, the first predetermined time is 1 minute, and the specified time is 5 minutes. In other embodiments, the specified number, the first sleep time, the first predetermined time, and the specified time may be adjusted according to a user's requirement and performance of the server.
And S14, controlling the designated server to execute the maintenance thread when the maintenance instruction is received so as to detect the working state of the segmentation thread.
In at least one embodiment of the invention, the maintenance thread may switch between a working state and a sleeping state.
Referring to fig. 4, in at least one embodiment of the present invention, the step of controlling the designated server to execute the maintenance thread to detect the working status of the slicing thread includes:
s141, when the maintenance thread works in the working state, the number of the task blocks is obtained every second preset time;
s142, judging whether the number of the currently acquired task blocks is larger than the number of the task blocks acquired last time;
s143, when the number of the task blocks obtained currently is less than or equal to the number of the task blocks obtained last time, identifying that the segmentation thread of the designated server is abnormal in operation, and forcibly ending the segmentation thread;
s144, when the number of the currently acquired task blocks is larger than the number of the task blocks acquired last time, identifying that the segmentation thread of the designated server operates normally, and controlling the maintenance thread to switch to the dormant state;
s145, accumulating the maintenance sleep time;
s146, judging whether the accumulated maintenance sleep time is less than a second sleep time;
if the accumulated maintenance sleep time is less than the second sleep time, identifying that the maintenance thread is in the sleep state, and returning to the step S145;
and S147, if the accumulated maintenance sleep time is greater than or equal to the second sleep time, resetting the accumulated maintenance sleep time.
In at least one embodiment of the present invention, the second predetermined time and the second sleep time are each 10 minutes.
And S15, when a grabbing instruction is received, controlling the plurality of servers to respectively execute grabbing threads so as to grab the task block.
In at least one embodiment of the present invention, the task block includes a plurality of task queues, and each task queue corresponds to one data message.
Referring to fig. 5, in at least one embodiment of the present invention, the step of controlling the servers to respectively execute a fetching thread to fetch the task block includes:
s151, the grabbing thread grabs a second specified number of task blocks in the working state;
s152, switching the capturing thread to the dormant state;
s153, accumulating the capturing sleep time;
s154, judging whether the capturing sleep time is less than a third sleep time;
when the capturing sleep time is less than the third sleep time, recognizing that the capturing threads of the designated servers are in a sleep state, and returning to the step S153;
and S155, when the capturing sleep time is greater than or equal to the third sleep time, generating a capturing instruction to switch the capturing thread to the working state.
In at least one embodiment of the present invention, the third sleep time is 10 seconds. The number may be any number of 2 or more than 2, and may be adjusted according to the number of tasks included in each task block.
And S16, when a processing instruction is received, controlling the plurality of servers to process the captured task blocks respectively so as to store the data corresponding to the task blocks to a specified position.
In at least one embodiment of the present invention, each of the servers executes 4 store queues, and the 4 store queues can be executed simultaneously or asynchronously. In other embodiments, the number of storage queues may be adjusted according to the needs of the user. The data information includes customer information and policy information. The customer information may include, but is not limited to, a customer name, a certificate number, and a contact phone number. The policy information may include, but is not limited to, policy type, amount of policy, time of effect, and payment method. The storage queue can acquire corresponding data information in a mode of calling the background operation packet.
It should be noted that for simplicity of description, the above-mentioned method embodiments are shown as a series of combinations of acts, but those skilled in the art will recognize that the present invention is not limited by the order of acts, as some steps may occur in other orders or concurrently in accordance with the invention. Further, those skilled in the art will appreciate that the embodiments described in this specification are presently preferred and that no acts or modules are required by the invention.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules is merely a logical division, and in actual implementation, there may be other divisions, for example, multiple modules or components may be combined or integrated into another system, or some features may be omitted, or not implemented. In addition, the shown or discussed coupling or direct coupling or communication connection between each other may be through some interfaces, indirect coupling or communication connection between devices or modules, and may be in an electrical or other form.
The modules described as separate parts may or may not be physically separate, and parts displayed as modules may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment.
In addition, functional modules in the embodiments of the present invention may be integrated into one processor, or each module may exist alone physically, or two or more modules are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode.
The integrated module, if implemented in the form of a software functional module and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention.
It should also be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrases "comprising a component of' 8230; \8230;" does not exclude the presence of another like element in a process, method, article, or apparatus that comprises the element.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present invention, and not for limiting the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will 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; and these modifications or substitutions do not depart from the spirit of the corresponding technical solutions of the embodiments of the present invention.

Claims (10)

1. A data synchronization method, characterized in that the data synchronization method comprises:
when an acquisition instruction is received, acquiring synchronous data tasks generated by a plurality of servers to form a task pool;
when a selection instruction is received, selecting one of the servers as a designated server in a preemptive mode, and distributing the segmentation permission to the designated server;
when a segmentation instruction is received, controlling the designated server to acquire at least one synchronous data task from the task pool and execute a segmentation thread so as to segment the corresponding synchronous data task into a plurality of task blocks; the segmentation thread can be switched between a working state and a dormant state; in a working state, the segmentation thread sequentially acquires one synchronous data task according to the time generated by the synchronous data task and segments the synchronous data task into a first specified number of task blocks; the segmentation thread is switched to a dormant state; accumulating and segmenting the sleep time; when the split sleep time is greater than or equal to a first sleep time, acquiring locking information at intervals of a first preset time; judging whether the current locking information is consistent with the last locking information; when the current locking information is inconsistent with the last locking information, returning to the segmentation thread to sequentially obtain one synchronous data task and segmenting the synchronous data task into a second specified number of task blocks; when the current locking information is consistent with the last locking information, accumulating the detection time; when the accumulated detection time is greater than or equal to the specified time, identifying that the segmentation thread works abnormally; when a maintenance instruction is received, the designated server executes a maintenance thread to detect the working state of the segmentation thread; the maintenance thread acquires the number of the task blocks every second preset time in a working state; when the number of the currently acquired task blocks is less than or equal to the number of the task blocks acquired last time, identifying abnormal operation of the segmentation thread of the designated server, and forcibly ending the segmentation thread;
when a grabbing instruction is received, controlling the plurality of servers to respectively execute grabbing threads so as to grab the task blocks; the grabbing thread grabs a second specified number of task blocks in the working state; switching the grabbing thread to a dormant state; accumulating the capturing dormancy time; when the capturing sleep time is less than a third sleep time, recognizing that the capturing threads of the appointed servers are in a sleep state, and returning to the step of accumulating the capturing sleep time;
and when a processing instruction is received, controlling the plurality of servers to process the captured task blocks respectively so as to store data corresponding to the task blocks to a specified position.
2. The data synchronization method of claim 1, wherein said preemptively selecting one of said plurality of servers as a designated server to assign sharding authority to said designated server comprises:
acquiring the access time of each server for accessing the task pool; wherein a plurality of the servers randomly access the task pool;
selecting the server with the earliest access time as the designated server and recording locking information; the locking information includes a locking time and characteristic information of the designated server.
3. The data synchronization method according to any one of claims 1 to 2, wherein the step of the designated server obtaining at least one of the synchronous data tasks from the task pool and executing a segmentation thread to segment the corresponding synchronous data task into a plurality of task blocks comprises:
the first specified number is 1000;
judging whether the segmentation sleep time is smaller than a first sleep time;
and when the segmentation sleep time is less than the first sleep time, identifying that the designated server is in a sleep state, and returning to the accumulated segmentation sleep time.
4. The data synchronization method of claim 3, wherein after the step of slicing sleep times equal to or greater than the first sleep time, the data synchronization method further comprises:
judging whether the accumulated detection time is greater than the specified time or not;
when the accumulated detection time is less than the designated time, returning to the step of acquiring the locking information at intervals of first preset time;
and when the abnormal work of the segmentation thread is identified, forcibly ending the segmentation thread.
5. A method for data synchronization according to any one of claims 1 to 2 wherein the maintenance thread is switchable between an active state and a dormant state; the step of executing the maintenance thread by the designated server to detect the working state of the segmentation thread comprises the following steps:
judging whether the quantity of the currently acquired task blocks is larger than the quantity of the task blocks acquired last time;
and when the quantity of the currently acquired task blocks is larger than that of the task blocks acquired last time, identifying that the segmentation thread of the designated server operates normally.
6. The data synchronization method of claim 5, wherein after the step of identifying that the sharding thread of the designated server is functioning properly, the data synchronization method comprises:
controlling the maintenance thread to switch to a dormant state;
accumulating the maintenance sleep time;
judging whether the accumulated maintenance sleep time is less than a second sleep time;
if the accumulated maintenance sleep time is less than the second sleep time, identifying that the maintenance thread is in a sleep state, and returning to the step of accumulating the maintenance sleep time;
and if the accumulated maintenance sleep time is greater than or equal to the second sleep time, resetting the accumulated maintenance sleep time.
7. The data synchronization method according to any one of claims 1 to 2, wherein the fetch thread is switchable between an operating state and a sleep state, and the step of controlling the plurality of servers to respectively process the fetched task blocks comprises:
judging whether the capturing sleep time is less than a third sleep time;
and when the grabbing sleep time is greater than or equal to the third sleep time, generating a grabbing instruction to switch the grabbing thread to a working state.
8. A data synchronization apparatus, characterized in that the data synchronization apparatus comprises:
the acquisition module is used for acquiring synchronous data tasks generated by a plurality of servers when receiving an acquisition instruction so as to form a task pool;
the selection module is used for selecting one of the servers as a designated server in a preemptive mode when receiving a selection instruction, and distributing the segmentation permission to the designated server;
the segmentation module is used for controlling the designated server to acquire at least one synchronous data task from the task pool and execute a segmentation thread when receiving a segmentation instruction so as to segment the corresponding synchronous data task into a plurality of task blocks; the segmentation thread can be switched between a working state and a dormant state; in a working state, the segmentation thread sequentially acquires one synchronous data task according to the time generated by the synchronous data task and segments the synchronous data task into a first specified number of task blocks; the segmentation thread is switched to a dormant state; accumulating and segmenting the sleep time; when the split sleep time is greater than or equal to a first sleep time, acquiring locking information at intervals of a first preset time; judging whether the current locking information is consistent with the last locking information; when the current locking information is inconsistent with the last locking information, returning to the step of the segmentation thread to sequentially acquire one synchronous data task and segment the synchronous data task into a second specified number of task blocks; when the current locking information is consistent with the last locking information, accumulating the detection time; when the accumulated detection time is greater than or equal to the specified time, identifying the abnormal work of the segmentation thread;
the maintenance module is used for controlling the designated server to execute the maintenance thread when a maintenance instruction is received so as to detect the working state of the segmentation thread; the maintenance thread acquires the number of the task blocks every second preset time in a working state; when the number of the currently acquired task blocks is less than or equal to the number of the task blocks acquired last time, identifying abnormal operation of the segmentation thread of the designated server, and forcibly ending the segmentation thread;
the grabbing module is used for controlling the servers to respectively execute grabbing threads when a grabbing instruction is received so as to grab the task block; the grabbing thread grabs a second specified number of task blocks in the working state; switching the grabbing thread to a dormant state; accumulating the capturing dormancy time; when the grabbing dormancy time is less than a third dormancy time, recognizing that the grabbing threads of the designated servers are in a dormant state, and returning to the step of accumulating the grabbing dormancy time;
and the processing module is used for controlling the plurality of servers to respectively process the captured task blocks when receiving a processing instruction so as to store the data corresponding to the task blocks to a specified position.
9. An electronic device, characterized in that the device comprises a processor and a memory, the processor being configured to implement the data synchronization method according to any one of claims 1 to 7 when executing a computer program stored in the memory.
10. A computer-readable storage medium, characterized in that the computer-readable storage medium stores at least one instruction which, when executed by a processor, implements the data synchronization method according to any one of claims 1 to 7.
CN201910780851.5A 2019-08-22 2019-08-22 Data synchronization method, device, equipment and computer readable storage medium Active CN110673960B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910780851.5A CN110673960B (en) 2019-08-22 2019-08-22 Data synchronization method, device, equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910780851.5A CN110673960B (en) 2019-08-22 2019-08-22 Data synchronization method, device, equipment and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN110673960A CN110673960A (en) 2020-01-10
CN110673960B true CN110673960B (en) 2022-11-29

Family

ID=69075534

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910780851.5A Active CN110673960B (en) 2019-08-22 2019-08-22 Data synchronization method, device, equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN110673960B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111277373B (en) * 2020-01-14 2022-08-16 深圳震有科技股份有限公司 Server switching control method, terminal and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103747091A (en) * 2014-01-16 2014-04-23 电信科学技术第一研究所 Distributed data synchronization system and method for embedded equipment
CN106713487A (en) * 2017-01-16 2017-05-24 腾讯科技(深圳)有限公司 Data synchronization method and device
CN107273542A (en) * 2017-07-06 2017-10-20 华泰证券股份有限公司 High concurrent method of data synchronization and system
CN108319508A (en) * 2017-01-18 2018-07-24 中国移动通信集团公司 HTTP synchronization requests switch to the method and server of asynchronous process
CN108573006A (en) * 2017-06-06 2018-09-25 北京金山云网络技术有限公司 Across computer room data synchronous system, method and device, electronic equipment
CN108694199A (en) * 2017-04-10 2018-10-23 北京京东尚科信息技术有限公司 Data synchronization unit, method, storage medium and electronic equipment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103747091A (en) * 2014-01-16 2014-04-23 电信科学技术第一研究所 Distributed data synchronization system and method for embedded equipment
CN106713487A (en) * 2017-01-16 2017-05-24 腾讯科技(深圳)有限公司 Data synchronization method and device
CN108319508A (en) * 2017-01-18 2018-07-24 中国移动通信集团公司 HTTP synchronization requests switch to the method and server of asynchronous process
CN108694199A (en) * 2017-04-10 2018-10-23 北京京东尚科信息技术有限公司 Data synchronization unit, method, storage medium and electronic equipment
CN108573006A (en) * 2017-06-06 2018-09-25 北京金山云网络技术有限公司 Across computer room data synchronous system, method and device, electronic equipment
CN107273542A (en) * 2017-07-06 2017-10-20 华泰证券股份有限公司 High concurrent method of data synchronization and system

Also Published As

Publication number Publication date
CN110673960A (en) 2020-01-10

Similar Documents

Publication Publication Date Title
US10353784B2 (en) Dynamically adjusting the number of replicas of a file according to the probability that the file will be accessed within a distributed file system
US10871985B2 (en) Displaying media files between changes in states of an application client
US10114571B2 (en) Managing data storage by an asynchronous copy service
US8447757B1 (en) Latency reduction techniques for partitioned processing
US20180081781A1 (en) Analyzing physical machine impact on business transaction performance
CN106569917B (en) Data backup method and mobile terminal
CN113254320A (en) Method and device for recording user webpage operation behaviors
CN110099084A (en) A kind of method, system and computer-readable medium guaranteeing storage service availability
CN110673960B (en) Data synchronization method, device, equipment and computer readable storage medium
US10223407B2 (en) Asynchronous processing time metrics
US10585970B2 (en) Managing dynamic webpage content
CN103677519A (en) Method for collecting multimedia resource, terminal and server
JP7325480B2 (en) Automatic transaction device and signage system including it
CN109726151B (en) Method, apparatus, and medium for managing input-output stack
US9817730B1 (en) Storing request properties to block future requests
CN110071952B (en) Service call quantity control method and device
CN113986107A (en) Touch processing method and device based on graphic display system, electronic equipment and storage medium
CN111078418B (en) Operation synchronization method, device, electronic equipment and computer readable storage medium
CN116627444A (en) System and method for automatically synchronizing responses and conditions on a device
EP3824396B1 (en) Long upload time detection and management
CN106293674B (en) Method for automatically increasing and decreasing data consumers and device using method
CN113553074B (en) Applet distribution control method, device, electronic equipment and storage medium
US11388250B1 (en) Reduction of data transmissions based on end-user content
CN110837433A (en) Performance optimization method and device and electronic equipment
CN107209882B (en) Multi-stage de-registration for managed devices

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