CN112181915B - Method, device, terminal and storage medium for executing service - Google Patents

Method, device, terminal and storage medium for executing service Download PDF

Info

Publication number
CN112181915B
CN112181915B CN201910595847.1A CN201910595847A CN112181915B CN 112181915 B CN112181915 B CN 112181915B CN 201910595847 A CN201910595847 A CN 201910595847A CN 112181915 B CN112181915 B CN 112181915B
Authority
CN
China
Prior art keywords
server
mark
execution progress
service execution
service
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
CN201910595847.1A
Other languages
Chinese (zh)
Other versions
CN112181915A (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Chengdu Huawei Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Huawei Technology Co Ltd filed Critical Chengdu Huawei Technology Co Ltd
Priority to CN201910595847.1A priority Critical patent/CN112181915B/en
Publication of CN112181915A publication Critical patent/CN112181915A/en
Application granted granted Critical
Publication of CN112181915B publication Critical patent/CN112181915B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

The disclosure relates to a method, a device, a terminal and a storage medium for executing a service, and belongs to the technical field of Internet. The method comprises the following steps: through RDMA atomic operation, the server is instructed to execute target service; after the server is determined to finish executing the target service, determining at least one detection time point for acquiring a service execution progress mark from the server according to a preset detection time point determination rule; and when any detection time point is reached, acquiring a service execution progress mark from a server through RDMA atomic operation, determining the duration of the service execution progress mark which is not updated, and carrying out carry updating on the service execution progress mark through RDMA atomic operation if the duration of the service execution progress mark which is not updated is greater than a preset duration threshold value. By adopting the method and the device, even if a terminal with operation faults exists, other terminals with the sequence indicated by the mark updating sequence identification can continuously update the service execution progress mark.

Description

Method, device, terminal and storage medium for executing service
Technical Field
The present disclosure relates to the field of internet technologies, and in particular, to a method, an apparatus, a terminal, and a storage medium for executing a service.
Background
In a remote direct data access (Remote Direct Memory Access, RDMA) network, multiple terminals may simultaneously cause a server to perform the same service, for example, writing log data in the same log in the server.
And the server determines the execution condition of the target service through the service execution progress mark. Before a plurality of terminals commonly request a server to execute a target service, each terminal sends an acquisition request corresponding to the target service for acquiring a mark updating sequence identifier to the server, and the mark updating sequence identifier is used when the service execution progress mark in the server is updated subsequently. There is a counter in the server, and the counter count value is incremented by 1 each time the server receives an acquisition request. The server responds to the acquisition request sent by each terminal, takes the current count value of the counter as the mark updating sequence identifier distributed to the current terminal, and sends the message carrying the mark updating sequence identifier to the current terminal. Then, the current terminal sends a service execution request corresponding to the target service to the server, and the server responds to the service execution request sent by the current terminal to execute the target service and sends a service execution completion message to the current terminal after the target service is executed. Then, the current terminal needs to send a flag update request carrying a pre-acquired flag update sequence identifier to a server, and the server updates the service execution progress flag according to the sequence indicated by the flag update sequence identifier. In practical application, the time required for the process of sending the acquisition request for acquiring the mark updating sequence identifier to the server and the process of sending the message carrying the mark updating sequence identifier to the corresponding terminal by the server is longer, and the time required for the process of actually executing the target service by the server in response to the service execution request is shorter. This is not acceptable.
In order to solve the above-described problems, the related art proposes the following. And the terminal acquires the current count value of the counter in the bottom layer of the server under the condition that the higher layer of the server does not sense through RDMA atomic operation provided by the RDMA network, and determines the current value of the counter as the mark updating sequence mark. The terminal can still instruct the server to execute the target service through RDMA atomic operation. Because the terminal directly carries out RDMA atomic operation at the bottom layer of the server without being processed by a high layer of the server, the execution efficiency of the RDMA atomic operation is higher, the terminal can further quickly acquire the mark updating sequence mark and instruct the server to execute target service, and the service execution progress mark in the bottom layer of the server can be updated according to the sequence indicated by the acquired mark updating sequence mark. For example, if the terminal A, B, C has indicated and determined that the server has completed executing the target service and the flag update sequence identifier allocated by the terminal A, B, C is sequentially 1, 2, and 3, the terminal a updates the service execution progress flag first, and updates the service execution progress flag from the initial value 1 to 2. Only after the terminal a finishes updating the service execution progress mark, when the terminal B obtains that the current service execution progress mark is 2, the terminal B can update the service execution progress mark, and the service execution progress mark is updated to be 3. Only after the terminal a and the terminal B update the service execution progress mark, when the terminal C obtains that the current service execution progress mark is 3, the terminal C can update the service execution progress mark and update the service execution progress mark to 4. If the terminal with the preceding sequence indicated by the mark updating sequence identifier does not update the service execution progress mark, the terminal with the following sequence indicated by the mark updating sequence identifier always waits, and cannot update the service execution progress mark.
In carrying out the present disclosure, the inventors found that there are at least the following problems:
the high-rise of the server needs to check the current business execution progress mark at certain moments, and the execution condition of the target business is determined through the current business execution progress mark. When any terminal indicating the server to execute the target service has an operation fault, other terminals cannot sense the fault, so that even if other terminals with the sequence indicated by the mark updating sequence identification indicate and determine that the server executes the target service, other terminals with the sequence indicated by the mark updating sequence identification cannot update the service execution progress mark, and further the execution condition of the target service determined by the server high-level through the current service execution progress mark is inconsistent with the actual execution condition.
Disclosure of Invention
In order to overcome the problems in the related art, the present disclosure provides the following technical solutions:
according to a first aspect of an embodiment of the present disclosure, there is provided a method of executing a service, the method including:
instructing the server to execute a target service through a remote direct data access, RDMA, atomic operation;
after the server is determined to finish executing the target service, determining at least one detection time point for acquiring a service execution progress mark from the server according to a preset detection time point determination rule;
And when any detection time point is reached, acquiring the service execution progress mark from the server through RDMA atomic operation, determining the duration of the service execution progress mark which is not updated, and carrying out carry updating on the service execution progress mark through RDMA atomic operation if the duration of the service execution progress mark which is not updated is greater than or equal to a preset duration threshold value.
By the method provided by the embodiment of the disclosure, when any terminal indicating the server to execute the target service has an operation fault, other terminals can acquire the service execution progress mark from the server, determine the duration of the service execution progress mark which is not updated, and if the duration of the service execution progress mark which is not updated is greater than a preset duration threshold, the terminal indicating the server to execute the target service has the operation fault, so that other terminals can automatically update the service execution progress mark. Thus, even if a terminal with operation failure exists, other terminals with the sequence indicated by the mark update sequence identifier can continuously update the service execution progress mark. When the higher layer of the server determines the execution condition of the target service through the current service execution progress mark, the determined execution condition of the target service can be matched with the actual execution condition.
In one possible implementation manner, the target service is a service of writing log data in a target log, and the instructing, through an RDMA atomic operation, the server to execute the target service includes:
acquiring a data writing position corresponding to the target log from a server through RDMA atomic operation, and indicating the server to write log data in the data writing position;
after the server is determined to execute the target service, determining at least one detection time point for acquiring a service execution progress mark from the server according to a preset detection time point determination rule, including:
after determining that the server writes the log data in the data writing position, determining at least one detection time point for obtaining a writing position mark for the server according to a preset detection time point determining rule;
and when any detection time point is reached, acquiring the service execution progress mark from the server through RDMA atomic operation, determining the duration of the service execution progress mark which is not updated, and if the duration of the service execution progress mark which is not updated is greater than or equal to a preset duration threshold value, carrying out carry updating on the service execution progress mark through RDMA atomic operation, wherein the carrying updating comprises the following steps:
And when any detection time point is reached, acquiring the writing position mark from the server through RDMA atomic operation, determining the duration of the acquired writing position mark which is not updated, and carrying out carry updating on the writing position mark through RDMA atomic operation if the duration of the writing position mark which is not updated is greater than or equal to a preset duration threshold value.
In one possible implementation manner, the updating the carry of the progress mark of the service execution by RDMA atomic operation includes:
through RDMA atomic operation, the server is instructed to compare the current service execution progress mark with the time length which is not updated and is greater than or equal to a preset time length threshold value;
if the current service execution progress mark is matched with the service execution progress mark with the duration which is not updated being greater than or equal to a preset duration threshold, the server is instructed to increase the current service execution progress mark by a first preset value through RDMA atomic operation;
if the current service execution progress mark is not matched with the service execution progress mark with the duration which is not updated being greater than or equal to a preset duration threshold, indicating the server to keep the current service execution progress mark unchanged through RDMA atomic operation.
By the method, even when a plurality of terminals find that the business execution progress mark needs to be updated in a carry mode, the progress mark is updated in a carry mode only once, and the situation that different terminals update the business execution progress mark in a carry mode for many times is avoided.
In one possible implementation, before instructing the server to execute the target service, the method further includes:
and acquiring the mark updating sequence mark from the server through RDMA atomic operation.
In one possible implementation manner, after determining that the server finishes executing the target service, determining, according to a preset detection time point determining rule, at least one detection time point for obtaining a service execution progress flag from the server includes:
after determining that the server finishes executing the target service, acquiring a service execution progress mark from a server;
determining a difference between the service execution progress mark and the mark update sequence mark;
and according to the difference value, determining at least one detection time point for acquiring the service execution progress mark from the server.
By the method, the number of times that the terminal acquires the service execution progress mark from the server can be reduced, the working pressure of the server is reduced, and the operation efficiency of the server is improved.
In one possible implementation manner, after the service execution progress flag is acquired from the server, the method further includes:
comparing the service execution progress mark with the mark updating sequence mark;
and if the service execution progress mark is smaller than the mark updating sequence mark by a preset difference value, the server is instructed to increase the service execution progress mark by a second preset value.
In one possible implementation manner, after the service execution progress flag is acquired from the server, the method further includes:
and if the service execution progress mark is greater than or equal to the mark updating sequence mark, the method goes to the step of executing the RDMA atomic operation to instruct the server to execute the target service.
Some target terminals found to exceed the preset time threshold value and not instruct the server to carry out carry updating on the business execution progress mark are not necessarily or have operation faults. The target terminal may be that the processor is busy at the time when the server should be instructed to carry out the carry update of the service execution progress flag, and there is no time to instruct the server to carry out the carry update of the service execution progress flag. When the processor of the target terminal is at idle time, the target terminal can acquire the service execution progress mark from the server, and compare the acquired service execution progress mark with the mark updating sequence mark acquired in advance, and because the service execution progress mark is automatically indicated by other terminals to carry out updating on the service execution progress mark by the server, the service execution progress mark acquired by the target terminal can be larger than or equal to the mark updating sequence mark acquired in advance. The target terminal cannot successfully update the service execution progress mark, at this time, the target terminal may re-acquire the mark update sequence mark from the server, re-instruct the server to execute the target service, and repeatedly execute all the processes in the embodiments of the present disclosure until the server can be successfully instructed to execute the target service and the service execution progress mark is successfully updated.
In one possible implementation, the preset duration threshold is a duration required by the server to execute the target service once by a preset multiple.
According to a second aspect of embodiments of the present disclosure, there is provided an apparatus for executing a service, the apparatus comprising:
the execution module is used for indicating the server to execute the target service through remote direct data access (RDMA) atomic operation;
the determining module is used for determining at least one detection time point for acquiring a service execution progress mark from the server according to a preset detection time point determining rule after the server is determined to execute the target service;
and the updating module is used for acquiring the service execution progress mark from the server through RDMA atomic operation every time when any detection time point is reached, determining the duration of the service execution progress mark which is not updated, and carrying out carry updating on the service execution progress mark through RDMA atomic operation if the duration of the service execution progress mark which is not updated is greater than or equal to a preset duration threshold value.
In one possible implementation manner, the target service is a service of writing log data in a target log;
The execution module is used for acquiring a data writing position corresponding to the target log from a server through RDMA atomic operation and indicating the server to write log data in the data writing position;
the determining module is used for determining at least one detection time point for acquiring a writing position mark from the server according to a preset detection time point determining rule after determining that the server writes the log data in the data writing position;
the updating module is configured to acquire the write location identifier from the server through an RDMA atomic operation every time any detection time point is reached, determine a duration of the acquired write location identifier that is not updated, and if the duration of the acquired write location identifier that is not updated is greater than or equal to a preset duration threshold, update the write location identifier by carrying through the RDMA atomic operation.
In one possible implementation manner, the updating module is configured to:
through RDMA atomic operation, the server is instructed to compare the current service execution progress mark with the time length which is not updated and is greater than or equal to a preset time length threshold value;
If the current service execution progress mark is matched with the service execution progress mark with the duration which is not updated being greater than or equal to a preset duration threshold, the server is instructed to increase the current service execution progress mark by a first preset value through RDMA atomic operation;
if the current service execution progress mark is not matched with the service execution progress mark with the duration which is not updated being greater than or equal to a preset duration threshold, indicating the server to keep the current service execution progress mark unchanged through RDMA atomic operation.
In one possible implementation, the apparatus further includes:
and the acquisition module is used for acquiring the mark updating sequence identifier from the server through RDMA atomic operation.
In one possible implementation manner, the determining module is configured to:
after determining that the server finishes executing the target service, acquiring a service execution progress mark from a server;
determining a difference between the service execution progress mark and the mark update sequence mark;
and according to the difference value, determining at least one detection time point for acquiring the service execution progress mark from the server.
In one possible implementation, the apparatus further includes:
the comparison module is used for comparing the service execution progress mark with the mark updating sequence mark;
and the indication module is used for indicating the server to increase the service execution progress mark by a second preset value when the service execution progress mark is smaller than the mark updating sequence mark by a preset difference value.
In one possible implementation manner, the execution module is further configured to:
and if the service execution progress mark is greater than or equal to the mark updating sequence mark, the method goes to the step of executing the RDMA atomic operation to instruct the server to execute the target service.
In one possible implementation, the preset duration threshold is a duration required by the server to execute the target service once by a preset multiple.
According to a third aspect of embodiments of the present disclosure, there is provided a terminal comprising a processor and a transceiver, wherein:
the processor is used for instructing the server to execute a target service through remote direct data access (RDMA) atomic operation;
the processor is used for determining at least one detection time point for acquiring a service execution progress mark from the server according to a preset detection time point determination rule after determining that the server finishes executing the target service;
The processor is configured to control, through an RDMA atomic operation, the transceiver to acquire the service execution progress flag from the server every time when any detection time point is reached, determine a duration of the service execution progress flag that is not updated, and if the duration of the service execution progress flag that is not updated is greater than or equal to a preset duration threshold, control, through the RDMA atomic operation, the transceiver to carry out update on the service execution progress flag.
In one possible implementation, the processor is configured to:
controlling the transceiver to acquire a data writing position corresponding to the target log from a server through RDMA atomic operation, and indicating the server to write log data in the data writing position;
after determining that the server writes the log data in the data writing position, determining at least one detection time point for obtaining a writing position mark for the server according to a preset detection time point determining rule;
and when any detection time point is reached, controlling the transceiver to acquire the writing position mark from the server through RDMA atomic operation, determining the duration of the acquired writing position mark which is not updated, and controlling the transceiver to carry out carry updating on the writing position mark through RDMA atomic operation if the duration of the acquired writing position mark which is not updated is greater than or equal to a preset duration threshold value.
In one possible implementation, the processor is configured to:
through RDMA atomic operation, the server is instructed to compare the current service execution progress mark with the time length which is not updated and is greater than or equal to a preset time length threshold value;
if the current service execution progress mark is matched with the service execution progress mark with the duration which is not updated being greater than or equal to a preset duration threshold, the server is instructed to increase the current service execution progress mark by a first preset value through RDMA atomic operation;
if the current service execution progress mark is not matched with the service execution progress mark with the duration which is not updated being greater than or equal to a preset duration threshold, indicating the server to keep the current service execution progress mark unchanged through RDMA atomic operation.
In one possible implementation, the processor is configured to:
and controlling the transceiver to acquire the mark updating sequence identification from the server through RDMA atomic operation.
In one possible implementation, the processor is configured to:
after the server is determined to finish executing the target service, controlling the transceiver to acquire a service execution progress mark from the server;
Determining a difference between the service execution progress mark and the mark update sequence mark;
and according to the difference value, determining at least one detection time point for acquiring the service execution progress mark from the server.
In one possible implementation, the processor is configured to:
comparing the service execution progress mark with the mark updating sequence mark;
and if the service execution progress mark is matched with the mark updating sequence mark, the server is instructed to increase the service execution progress mark by a second preset value.
In one possible implementation, the processor is configured to:
and if the service execution progress mark is larger than the mark updating sequence mark, the method is switched to execute the step of executing the RDMA atomic operation to instruct the server to execute the target service.
In one possible implementation, the preset duration threshold is a duration required by the server to execute the target service once by a preset multiple.
According to a fourth aspect of embodiments of the present disclosure, there is provided a computer readable storage medium comprising instructions which, when run on a terminal, cause the terminal to perform the method of the first aspect of embodiments of the present disclosure.
According to a fifth aspect of embodiments of the present disclosure, there is provided a computer program product comprising instructions which, when run on a terminal, cause the terminal to perform the method of the first aspect of embodiments of the present disclosure.
The technical scheme provided by the embodiment of the disclosure can comprise the following beneficial effects:
by the method provided by the embodiment of the disclosure, when any terminal indicating the server to execute the target service has an operation fault, other terminals can acquire the service execution progress mark from the server, determine the duration of the service execution progress mark which is not updated, and if the duration of the service execution progress mark which is not updated is greater than a preset duration threshold, the terminal indicating the server to execute the target service has the operation fault, so that other terminals can automatically update the service execution progress mark. Thus, even if a terminal with operation failure exists, other terminals with the sequence indicated by the mark update sequence identifier can continuously update the service execution progress mark. When the higher layer of the server determines the execution condition of the target service through the current service execution progress mark, the determined execution condition of the target service can be matched with the actual execution condition.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure. In the drawings:
fig. 1 is a schematic diagram illustrating a system for executing a service according to an exemplary embodiment;
FIG. 2 is a flow diagram illustrating a method of executing a service according to an example embodiment;
FIG. 3 is a schematic diagram of a counter according to an exemplary embodiment;
FIG. 4 is a schematic diagram illustrating an RDMA atomic operation, according to an exemplary embodiment;
FIG. 5 is a schematic diagram illustrating an RDMA atomic operation, according to an exemplary embodiment;
FIG. 6 is a schematic diagram illustrating an RDMA atomic operation, according to an exemplary embodiment;
FIG. 7 is a schematic diagram illustrating an RDMA atomic operation, according to an exemplary embodiment;
FIG. 8 is a flow diagram illustrating a method of executing a service according to an exemplary embodiment;
fig. 9 is a schematic structural view illustrating an apparatus for executing a service according to an exemplary embodiment;
Fig. 10 is a schematic structural view of a terminal according to an exemplary embodiment.
Specific embodiments of the present disclosure have been shown by way of the above drawings and will be described in more detail below. These drawings and the written description are not intended to limit the scope of the disclosed concepts in any way, but rather to illustrate the disclosed concepts to those skilled in the art by reference to specific embodiments.
Detailed Description
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, the same numbers in different drawings refer to the same or similar elements, unless otherwise indicated. The implementations described in the following exemplary examples are not representative of all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present disclosure as detailed in the accompanying claims.
The embodiment of the disclosure provides a method for executing a service, which can be realized by a terminal and is realized by a plurality of other terminals and servers in a matched manner. The terminal may be a mobile phone, a desktop computer, a notebook computer, etc. Fig. 1 is a schematic structural diagram of a system for executing a service according to an embodiment of the disclosure. In the system, a terminal, a plurality of other terminals, a server may be included. These devices belong to RDMA network devices, and these terminals can operate directly on data in the memory of the server bottom layer without being perceived by the server high layer through RDMA atomic operation (RDMA atomic operation is single-sided operation).
The high-rise of the server needs to check the current business execution progress mark at certain moments, and the execution condition of the target business is determined through the current business execution progress mark. When any terminal indicating the server to execute the target service has an operation fault, the terminal except the terminal cannot sense the fault. If the terminal with the subsequent sequence indicated by the mark updating sequence identifier indicates and determines that the server finishes executing the target service, the terminal with the subsequent sequence indicated by the mark updating sequence identifier needs to update the service execution progress mark so that the determined execution condition of the target service accords with the actual execution condition when the server high-level determines the execution condition of the target service through the current service execution progress mark.
An exemplary embodiment of the present disclosure provides a method for executing a service, as shown in fig. 2, a process flow of the method may include the following steps:
step S210, through RDMA atomic operation, the server is instructed to execute the target service.
In implementations, the terminal may instruct the server bottom layer to execute the target service through RDMA atomic operations, which the server high-level does not perceive during execution of the target service. The target service may be a service of writing log data in the target log, or may be other executable transactions.
Before the terminal needs the server to execute the target service, the terminal can acquire the mark updating sequence identifier from the server through RDMA atomic operation, and after the mark updating sequence identifier is acquired, the terminal can instruct the server to execute the target service. If there are multiple terminals that need to execute the target service by the server at the same time, the multiple terminals may sequentially obtain the identifier of the identifier update sequence from the server through RDMA atom operation, and after the identifier update sequence identifier is obtained, the multiple terminals may simultaneously instruct the server to execute the target service, for example, the multiple terminals include terminal A, B, C, and after the terminal A, B, C sequentially obtains the identifier update sequence identifiers 1, 2, and 3, may simultaneously instruct the server to execute the target service, and the server may concurrently execute the target service indicated by the multiple terminals.
Step S220, after determining that the server finishes executing the target service, determining at least one detection time point for acquiring the service execution progress mark from the server according to a preset detection time point determination rule.
In the implementation, the terminal instructs the server to execute the target service, after determining that the server finishes executing the target service, the terminal needs to query the service execution progress mark in the server, and if the queried service execution progress mark is the same as the mark updating sequence mark acquired by the terminal, it is indicated that the terminal can carry out carry updating on the service execution progress mark. In the above process, the terminal needs to query the service execution progress mark in the server, and the terminal may determine, according to a preset detection time point determining rule, a detection time point when the service execution progress mark is subsequently obtained from the server, and when the detection time point is reached, the terminal may query the service execution progress mark in the server once. The detection time point may be one or a plurality of detection time points.
After determining that the server finishes executing the target service, the terminal can query the service execution progress mark in the server, and determine the detection time point of the service execution progress mark in the next query server based on the queried service execution progress mark. And when the determined detection time point is reached, the terminal can inquire the service execution progress mark in the server again, and the detection time point of the service execution progress mark in the next inquiry server is determined again based on the inquired service execution progress mark. The terminal can repeatedly execute the operations until the queried service execution progress mark is the same as the mark updating sequence mark acquired by the terminal, which indicates that the terminal can update the service execution progress mark in a carry way, and the terminal can stop continuously querying the service execution progress mark in the server.
Step S230, when any detection time point is reached, obtaining a service execution progress mark from a server through RDMA atomic operation, determining the duration of the service execution progress mark which is not updated, and if the duration of the service execution progress mark which is not updated is greater than or equal to a preset duration threshold, carrying out carry update on the service execution progress mark through RDMA atomic operation.
In implementation, the terminal may determine, according to a preset detection time point determining rule, at least one detection time point for acquiring the service execution progress flag from the server, and each time any detection time point is reached, the terminal may acquire the service execution progress flag from the server through RDMA atomic operation. Wherein the RDMA atomic operation may be an RDMA Read operation. The service execution progress flag may be a count value in a counter, and may be represented by a sequence generator, an Identity (ID) generator, a logic clock, a count value of a distributed lock, or the like, in addition to the service execution progress flag which may be represented by the count value of the counter.
After the terminal queries the service execution progress mark in the server each time, the terminal can store the service execution progress mark and record a corresponding detection time point. After the terminal inquires the service execution progress mark in the server again, the currently inquired service execution progress mark can be compared with the previously inquired service execution progress mark, if the currently inquired service execution progress markAnd if the detected time point is consistent with the previously queried service execution progress mark, the terminal can determine the difference between the detected time point of the service execution progress mark which is not updated for the first time and the detected time point of the service execution progress mark which is not updated for the current time, and the difference is used as the duration of the service execution progress mark which is not updated. The terminal can judge whether the duration of the service execution progress mark which is not updated is greater than or equal to a preset duration threshold, if the duration of the service execution progress mark which is not updated is greater than or equal to the preset duration threshold, the terminal indicates that one other terminal among the plurality of terminals has operation faults in the process of indicating the server to execute the target service, and the terminal which detects the faults can automatically update the service execution progress mark through RDMA atomic operation. Wherein the RDMA atomic operation may be RDMA CAS (N p ,N p +1) operation, N p And N p +1 is the parameter that the operation needs to pass in.
Optionally, the preset duration threshold is a duration required by the server with a preset multiple to execute the target service once.
In implementation, the duration required by the server to execute the target service once is set to be T, where T may also be referred to as a lease time, and the preset duration threshold may be T that is a preset multiple. The preset multiple may be set to 2, and the preset duration threshold may be 2T, i.e., 2 lease times. The preset duration threshold may be set according to actual requirements, or the multiple may be set.
Optionally, before instructing the server to execute the target service, the method provided by the embodiment of the present disclosure may further include: and acquiring the mark updating sequence mark from the server through RDMA atomic operation.
In an implementation, when the target service is a service in which log data is written in the target log, the flag update sequence identifier may be the same value as the data writing location, that is, in what data writing location log data is written, and in what sequence the service execution progress flag is updated.
Optionally, when the target service is a service of writing log data in the target log, the method provided by the embodiment of the disclosure may include: acquiring a data writing position corresponding to a target log from a server through RDMA atomic operation, and indicating the server to write log data in the data writing position; after determining that the server writes log data in the data writing position, determining at least one detection time point for obtaining a writing position mark from the server according to a preset detection time point determining rule; and when any detection time point is reached, acquiring a writing position mark from a server through RDMA atomic operation, determining the duration of the acquired writing position mark which is not updated, and carrying out carry updating on the writing position mark through RDMA atomic operation if the duration of the acquired writing position mark which is not updated is longer than a preset duration threshold value.
In implementation, as shown in fig. 3, a Counter may be provided in the server, which may be referred to as a Counter, and may include two parts, a first part being processing and a second part being Nincoming. The total data amount of the count value of the counter can be 64 bits, the Nprocessing can occupy 32 bits, and the Nincoming can occupy 32 bits. The count value of the processing may represent the sequence number (also referred to as a writing location flag) currently being processed, and the count value of the ninstarting may represent the number (also referred to as a data writing location) that the terminal that next obtains the flag update sequence identification from the server can take. Of course, the total data amount of the count value of the counter may be set to other values, which is not limited to the embodiment of the present disclosure.
The system for executing the service may include a terminal and a Server, where the terminal may be referred to as a Client and the Server may be referred to as a Server. As shown in fig. 4, the Client and the Server are disposed in the RDMA network, and the Client and the Server are respectively installed with an RDMA driver, and the Server is also installed with a Memory (Memory), which is an operation object of an RDMA atomic operation. In practical applications, multiple Client ends and multiple Server ends may be set in the RDMA network, and in the embodiments of the present disclosure, the working mechanisms of one Client end and one Server end are described as an example, and the working mechanisms of other Client ends and other Server ends are similar to those described above, and will not be repeated here.
The Client side can instruct the Server side to execute specific operations through RDMA atomic operations. In the disclosed embodiment, the 3 RDMA atomic operations are mainly involved, including RDMA Fetch-and-Add (N i ) An operation, which may be denoted as RDMA FAA (N i ) The method comprises the steps of carrying out a first treatment on the surface of the RDMA Read operations, which may be referred to as RDMA Read; RDMA Fetch-and-Add (N) p ) Operations, denoted RDMA FAA (N p )。
When the Client needs to write log data in the Server, as shown in fig. 5, the Client may write log data in the Server through RDMA FAA (N i ) And (3) acquiring the counted value of Nincoming in the Server terminal, and simultaneously adding 1 to the counted value of Nincoming in the Server terminal. As shown in fig. 6, when the detection time point is reached, the Client may obtain the count value of processing and the count value of Nincoming in the Server through RDMA Read. As shown in FIG. 7, when the count value of Nprocessing queried by the Client is the same as the count value of Nincoming obtained by the Client, it is indicated that the Client can update the Nprocessing in the Server, and the Client can update the Nprocessing in the Server through RDMA FAA (N p ) The count value of the processing in the Server terminal is obtained, and the count value of the processing in the Server terminal can be increased by 1. When the count value of the Nprocessing queried by the Client is smaller than the count value of the Nincoming acquired by the Client (N is greater than or equal to 1), the Client can record the count value of the Nprocessing queried currently. When reaching the detection time point again, the Client can query the count value of the Nprocessing again, if the queried count value of the Nprocessing is not updated compared with the previously queried count value of the Nprocessing and the updated time length is greater than the preset time length threshold, the Client can determine whether the data is updated by RDMA CAS (N p ,N p +1) operation, automatically updating the carry of the business execution progress mark.
Optionally, the step of updating the traffic execution progress marker with carry through RDMA atomic operations may include: through RDMA atomic operation, the instruction server compares the current service execution progress mark with the time length which is not updated and is greater than a preset time length threshold; if the current service execution progress mark is matched with the service execution progress mark with the time length which is not updated and is greater than a preset time length threshold value, the server is instructed to increase the current service execution progress mark by a first preset value through RDMA atomic operation; if the current service execution progress mark is not matched with the service execution progress mark with the time length which is not updated and is greater than the preset time length threshold, the server is instructed to keep the current service execution progress mark unchanged through RDMA atomic operation.
In implementations, the terminal may be configured to communicate with the RDMA CAS (N p ,N p +1) operation, automatically updating the carry of the business execution progress mark. Wherein N is p And N p +1 is a parameter that needs to be entered for operation, N p For business execution progress mark needing carry updating, N p +1 is a business execution progress mark after carry updating, and N can be calculated p +1 is set to be a ratio of N p A value of 1. In this way, the terminal may communicate with the RDMA CAS (N p ,N p +1) operation, instructing the server to compare the current service execution progress flag with N p If the current business execution progress mark and N p The instruction is valid, and the current business execution progress mark can be replaced by N p +1。
If the terminal finds that the service execution progress mark needs to be updated in carry, other terminals also find that the service execution progress mark needs to be updated in carry through the method provided by the embodiment of the disclosure, and the server may receive the indication of updating the service execution progress mark in carry twice or more. At this time, the server updates the service execution progress flag with carry according to the indication of the first received carry update of the service execution progress flag. After carrying out carry updating on the business execution progress mark, if the instruction of carrying out carry updating on the business execution progress mark is received later, the parameter N carried in the instruction p The current business execution progress mark is not consistent with the server, so that the instruction indication is invalid, and the server keeps the current business execution progress mark unchanged.
By the method, even when a plurality of terminals find that the business execution progress mark needs to be updated in a carry mode, the progress mark is updated in a carry mode only once, and the situation that different terminals update the business execution progress mark in a carry mode for many times is avoided.
Optionally, after determining that the server finishes executing the target service, according to a preset detection time point determining rule, determining at least one detection time point for obtaining the service execution progress flag from the server may include: after determining that the server finishes executing the target service, acquiring a service execution progress mark from the server; determining a difference between a service execution progress mark and a mark update sequence mark; and determining at least one detection time point for acquiring the service execution progress mark from the server according to the difference value.
In implementation, the terminal may determine at least one detection time point for obtaining the service execution progress flag from the server, where a time interval of each time point is the same and is a preset value. Or, the terminal may acquire the service execution progress flag from the server after determining that the server has completed executing the target service, determine a difference between the service execution progress flag and the flag update sequence flag, and determine at least one detection time point for acquiring the service execution progress flag from the server according to the difference.
After determining that the server finishes executing the target service, the terminal can timely acquire a service execution progress mark from the server for determining the number of the sequence numbers currently being processed, and can also determine a mark update sequence mark acquired in advance for determining the number of the sequence numbers taken by the terminal. When the currently processed sequence number is matched with the sequence number taken by the server, the description turns to instruct the server to update the business execution progress mark. If the current sequence number is different from the sequence number taken by the terminal, the terminal can wait a period of time to acquire the service execution progress mark from the server again. In practical application, the terminal may determine a difference between the service execution progress flag and the flag update sequence flag, and determine a detection time point for acquiring the service execution progress flag from the server according to the difference.
For example, the service execution progress flag is 1, the flag update sequence is identified as 3, and the difference value between the two is 2, which indicates that two terminals need to instruct the server to carry out the update of the service execution progress flag before the current terminal instructs the server to carry out the update of the service execution progress flag. Assuming that the length of time required by the server to execute the target service once is T, the current terminal can wait for the determined T of the multiple of the difference to acquire the service execution progress mark again from the server, namely wait for 2T to acquire the service execution progress mark again from the server. Thus, when the terminal acquires the service execution progress mark again from the server, the acquired service execution progress mark should be identical to or closer to the mark update sequence mark acquired in advance. The detection time point determined based on the difference value may be regarded as a first detection time point, a time point obtained by adding T to the first detection time point may be regarded as a second detection time point, and a time point obtained by adding T to the second detection time point may be regarded as a third detection time point. Similarly, when the first detection time point is determined, a time point obtained by adding T to the first detection time point is taken as one detection time point, and finally a plurality of detection time points can be obtained.
Or, the terminal may determine the first detection time point, and acquire the service execution progress flag from the server after the first detection time point is reached, determine a difference between the service execution progress flag and the flag update sequence flag, and determine, according to the difference, a second detection time point for acquiring the service execution progress flag from the server. The terminal may repeatedly perform the step of acquiring the service execution progress marker from the server when the determined detection time point is reached, determining a difference between the service execution progress marker and the marker update sequence identifier, and determining the detection time point of acquiring the service execution progress marker from the server according to the difference until the service execution progress marker acquired by the terminal is identical to the marker update sequence identifier acquired in advance thereof, and stopping repeatedly performing the above steps.
By the method, the number of times that the terminal acquires the service execution progress mark from the server can be reduced, the working pressure of the server is reduced, and the operation efficiency of the server is improved.
Optionally, after acquiring the service execution progress flag from the server, the method provided by the embodiment of the present disclosure may further include: comparing the service execution progress mark with the mark updating sequence mark; if the service execution progress mark is matched with the mark updating sequence mark, the server is instructed to increase the service execution progress mark by a second preset value.
In implementation, each time when any detection time point is reached, the terminal may acquire a service execution progress flag from the server, compare the acquired service execution progress flag with a flag update sequence identifier acquired in advance, and instruct the server to update the service execution progress flag by indicating that the service execution progress flag is updated by the terminal if the service execution progress flag is the same as the flag update sequence identifier, where the terminal may instruct the server to increase the service execution progress flag by a second preset value (e.g. 1).
Optionally, after acquiring the service execution progress flag from the server, the method provided by the embodiment of the present disclosure may further include: if the service execution progress flag is greater than or equal to the flag update order flag, then the process proceeds to execute an RDMA atomic operation, instructing the server to execute the target service.
In implementation, some target terminals found to exceed the preset time period threshold value and not instruct the server to carry out updating on the business execution progress mark are not necessarily or have operation faults. The target terminal may be that the processor is busy at the time when the server should be instructed to carry out the carry update of the service execution progress flag, and there is no time to instruct the server to carry out the carry update of the service execution progress flag. When the processor of the target terminal is at idle time, the target terminal can acquire the service execution progress mark from the server, and compare the acquired service execution progress mark with the mark updating sequence mark acquired in advance, and because the service execution progress mark is automatically indicated by other terminals to carry out updating on the service execution progress mark by the server, the service execution progress mark acquired by the target terminal can be larger than or equal to the mark updating sequence mark acquired in advance. The target terminal cannot successfully update the service execution progress mark, at this time, the target terminal may re-acquire the mark update sequence mark from the server, re-instruct the server to execute the target service, and repeatedly execute all the processes in the embodiments of the present disclosure until the server can be successfully instructed to execute the target service and the service execution progress mark is successfully updated.
In an application scenario, when the target service is a service of writing log data in the target log, as shown in fig. 8, there are 3 terminals that need to write log data in the target log at the same time, and these 3 terminals include Client 1, client 2, and Client3. Before each Client writes log data, the Client needs to acquire a data writing position from the server, so that different clients can acquire different data writing positions respectively, and different clients can instruct the server to write log data in parallel. In fig. 8, the Client and the Server interact, as indicated by the serial numbers in brackets in the connection line in fig. 8, the serial numbers indicate the sequence of the interactions from small to large, and the Client and the Server interact 7 times according to the serial numbers, including:
(1) Client 1 via RDMA FAA (N i ) Operation, obtaining current N from server i The value 1, the data writing position 1 is acquired.
(2) Client 2 via RDMA FAA (N i ) Operation, obtaining current N from server i Value 2, data write location 2 is acquired.
(3) Client3 via RDMA FAA (N i ) Operation, obtaining current N from server i Value 3, data write location 3 is acquired.
Note that N is obtained at Client 1, client 2, and Client3 i After the data writing position, the server may be instructed to write the log data on the acquired data writing position in parallel.
(4) When Client 1 indicates that the server has written log data, client 1 may write the log data via RDMA FAA (N p ) Operation release N p Release N p May also be referred to as commit operation, N in the server p At this time 2, N i At this point 3.
(5) Client 1 release N p Thereafter, if log data is also to be written again, RDMA FAA (N i ) Operation, obtaining current N from server i Value 4, data write location 4 is acquired.
(6) Each Client is ready to commit after determining that the server is writing log data. At this time, each Client determining that the server has written log data will obtain the current N from the server p To determine if it is the current Client's turn to commit. If any of the clients (e.g., client 3 in FIG. 8) finds after 2T, N p Without an update, the Client can determine that there is an operational failure of the target Client (e.g., client 2 in FIG. 8). At this time, client 3 may pass through RDMA CAS (N p ,N p +1) operation, N in the server p The value of (2) is increased by 1. Optionally, client 3 may also send a message to the server indicating that Client 2 has failed, indicating that server Client 2 has failed. At this time, np in the server is 3, n i 4.
(7) After Client 3 determines that the server writes log data, it can be written to the log data by RDMA FAA (N p ) Operation release N p N in server p At this time 4, N i At this point 4.
By the method provided by the embodiment of the disclosure, the method can not only realize the quick acquisition of the mark updating sequence mark from the server through the RDMA atomic operation, but also avoid the problem that the state cannot be perceived because the RDMA atomic operation is a unilateral operation. The method provided by the embodiment of the disclosure can be applied to a distributed shared log system, a distributed object system and the like. In the embodiment of the present disclosure, the service execution progress flag and the flag update sequence flag may be represented by a counter, and in addition, the service execution progress flag and the flag update sequence flag may be represented by a sequence generator, a transaction ID generator, a logic clock, a distributed lock, or the like.
By the method provided by the embodiment of the disclosure, when any terminal indicating the server to execute the target service has an operation fault, other terminals can acquire the service execution progress mark from the server, determine the duration of the service execution progress mark which is not updated, and if the duration of the service execution progress mark which is not updated is greater than a preset duration threshold, the terminal indicating the server to execute the target service has the operation fault, so that other terminals can automatically update the service execution progress mark. Thus, even if a terminal with operation failure exists, other terminals with the sequence indicated by the mark update sequence identifier can continuously update the service execution progress mark. When the higher layer of the server determines the execution condition of the target service through the current service execution progress mark, the determined execution condition of the target service can be matched with the actual execution condition.
Yet another exemplary embodiment of the present disclosure provides an apparatus for performing a service, as shown in fig. 9, the apparatus including:
an execution module 910, configured to instruct the server to execute a target service through a remote direct data access RDMA atomic operation;
a determining module 920, configured to determine, according to a preset detection time point determining rule, to obtain at least one detection time point of a service execution progress flag from the server after determining that the server has completed executing the target service;
the updating module 930 is configured to obtain, through an RDMA atomic operation, the service execution progress flag from the server every time when any detection time point is reached, determine a duration of the service execution progress flag that is not updated, and if the duration of the service execution progress flag that is not updated is greater than or equal to a preset duration threshold, carry and update the service execution progress flag through the RDMA atomic operation.
Optionally, the target service is a service of writing log data in a target log;
the execution module 910 is configured to obtain, by using an RDMA atomic operation, a data writing location corresponding to the target log from a server, and instruct the server to write log data in the data writing location;
The determining module 920 is configured to determine, after determining that the server writes the log data in the data writing location, to obtain at least one detection time point of the writing location identifier for the server according to a preset detection time point determining rule;
the updating module 930 is configured to obtain the write location identifier from the server through RDMA atomic operation each time any detection time point is reached, determine a duration of the obtained write location identifier that is not updated, and if the duration of the obtained write location identifier that is not updated is greater than or equal to a preset duration threshold, carry and update the write location identifier through RDMA atomic operation.
Optionally, the updating module 930 is configured to:
through RDMA atomic operation, the server is instructed to compare the current service execution progress mark with the time length which is not updated and is greater than or equal to a preset time length threshold value;
if the current service execution progress mark is matched with the service execution progress mark with the duration which is not updated being greater than or equal to a preset duration threshold, the server is instructed to increase the current service execution progress mark by a first preset value through RDMA atomic operation;
If the current service execution progress mark is not matched with the service execution progress mark with the duration which is not updated being greater than or equal to a preset duration threshold, indicating the server to keep the current service execution progress mark unchanged through RDMA atomic operation.
Optionally, the apparatus further comprises:
and the acquisition module is used for acquiring the mark updating sequence identifier from the server through RDMA atomic operation.
Optionally, the determining module 920 is configured to:
after determining that the server finishes executing the target service, acquiring a service execution progress mark from a server;
determining a difference between the service execution progress mark and the mark update sequence mark;
and according to the difference value, determining at least one detection time point for acquiring the service execution progress mark from the server.
Optionally, the apparatus further comprises:
the comparison module is used for comparing the service execution progress mark with the mark updating sequence mark;
and the indication module is used for indicating the server to increase the service execution progress mark by a second preset value when the service execution progress mark is smaller than the mark updating sequence mark by a preset difference value.
Optionally, the execution module 910 is further configured to:
and if the service execution progress mark is greater than or equal to the mark updating sequence mark, the method goes to the step of executing the RDMA atomic operation to instruct the server to execute the target service.
Optionally, the preset duration threshold is a duration required by the server to execute the target service once, wherein the duration threshold is a preset multiple.
The specific manner in which the various modules perform the operations in the apparatus of the above embodiments have been described in detail in connection with the embodiments of the method, and will not be described in detail herein.
Through the device provided by the embodiment of the disclosure, when any terminal for indicating the server to execute the target service has an operation fault, other terminals can acquire the service execution progress mark from the server, determine the duration of the service execution progress mark which is not updated, and if the duration of the service execution progress mark which is not updated is greater than the preset duration threshold, the terminal for indicating the server to execute the target service has the operation fault, so that other terminals can automatically update the service execution progress mark. Thus, even if a terminal with operation failure exists, other terminals with the sequence indicated by the mark update sequence identifier can continuously update the service execution progress mark. When the higher layer of the server determines the execution condition of the target service through the current service execution progress mark, the determined execution condition of the target service can be matched with the actual execution condition.
It should be noted that: in the device for executing a service provided in the foregoing embodiment, only the division of the functional modules is used for illustration, and in practical application, the foregoing functional allocation may be completed by different functional modules according to needs, that is, the internal structure of the terminal is divided into different functional modules, so as to complete all or part of the functions described above. In addition, the device for executing the service provided in the foregoing embodiment and the method embodiment for executing the service belong to the same concept, and the specific implementation process is detailed in the method embodiment, which is not repeated herein.
Fig. 10 illustrates a schematic structure of a terminal 1800 provided by an exemplary embodiment of the present disclosure. The terminal 1800 may be: a smart phone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III, motion picture expert compression standard audio plane 3), an MP4 (Moving Picture Experts Group Audio Layer IV, motion picture expert compression standard audio plane 4) player, a notebook computer, or a desktop computer. The terminal 1800 may also be referred to as a user device, portable terminal, laptop terminal, desktop terminal, or the like.
In general, the terminal 1800 includes: a processor 1801 and a memory 1802.
Processor 1801 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like. The processor 1801 may be implemented in at least one hardware form of DSP (Digital Signal Processing ), FPGA (Field-Programmable Gate Array, field programmable gate array), PLA (Programmable Logic Array ). The processor 1801 may also include a main processor and a coprocessor, the main processor being a processor for processing data in an awake state, also referred to as a CPU (Central Processing Unit ); a coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 1801 may integrate a GPU (Graphics Processing Unit, image processor) for rendering and rendering of content required to be displayed by the display screen. In some embodiments, the processor 1801 may also include an AI (Artificial Intelligence ) processor for processing computing operations related to machine learning.
The memory 1802 may include one or more computer-readable storage media, which may be non-transitory. The memory 1802 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In some embodiments, a non-transitory computer readable storage medium in memory 1802 is used to store at least one instruction for execution by processor 1801 to implement a method of performing a service provided by a method embodiment of the present application.
In some embodiments, the terminal 1800 may also optionally include: a peripheral interface 1803 and at least one peripheral. The processor 1801, memory 1802, and peripheral interface 1803 may be connected by a bus or signal line. The individual peripheral devices may be connected to the peripheral device interface 1803 by buses, signal lines or circuit boards. Specifically, the peripheral device includes: at least one of radio frequency circuitry 1804, a touch display screen 1805, a camera 1806, audio circuitry 1807, a positioning assembly 1808, and a power supply 1809.
The peripheral interface 1803 may be used to connect I/O (Input/Output) related at least one peripheral device to the processor 1801 and memory 1802. In some embodiments, processor 1801, memory 1802, and peripheral interface 1803 are integrated on the same chip or circuit board; in some other embodiments, either or both of the processor 1801, memory 1802, and peripheral interface 1803 may be implemented on separate chips or circuit boards, which is not limited in this embodiment.
The Radio Frequency circuit 1804 is configured to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuit 1804 communicates with a communication network and other communication devices via electromagnetic signals. The radio frequency circuit 1804 converts electrical signals to electromagnetic signals for transmission, or converts received electromagnetic signals to electrical signals. Optionally, the radio frequency circuit 1804 includes: antenna systems, RF transceivers, one or more amplifiers, tuners, oscillators, digital signal processors, codec chipsets, subscriber identity module cards, and so forth. The radio frequency circuitry 1804 may communicate with other terminals via at least one wireless communication protocol. The wireless communication protocol includes, but is not limited to: the world wide web, metropolitan area networks, intranets, generation mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and/or WiFi (Wireless Fidelity ) networks. In some embodiments, the radio frequency circuitry 1804 may also include NFC (Near Field Communication ) related circuitry, which is not limiting of the application.
The display 1805 is used to display a UI (User Interface). The UI may include graphics, text, icons, video, and any combination thereof. When the display 1805 is a touch display, the display 1805 also has the ability to collect touch signals at or above the surface of the display 1805. The touch signal may be input as a control signal to the processor 1801 for processing. At this point, the display 1805 may also be used to provide virtual buttons and/or a virtual keyboard, also referred to as soft buttons and/or a soft keyboard. In some embodiments, the display 1805 may be one, providing a front panel of the terminal 1800; in other embodiments, the display 1805 may be at least two, disposed on different surfaces of the terminal 1800 or in a folded configuration; in still other embodiments, the display 1805 may be a flexible display disposed on a curved surface or a folded surface of the terminal 1800. Even more, the display screen 1805 may be arranged in an irregular pattern other than rectangular, i.e., a shaped screen. The display 1805 may be made of LCD (Liquid Crystal Display ), OLED (Organic Light-Emitting Diode) or other materials.
The camera assembly 1806 is used to capture images or video. Optionally, the camera assembly 1806 includes a front camera and a rear camera. Typically, the front camera is disposed on the front panel of the terminal and the rear camera is disposed on the rear surface of the terminal. In some embodiments, the at least two rear cameras are any one of a main camera, a depth camera, a wide-angle camera and a tele camera, so as to realize that the main camera and the depth camera are fused to realize a background blurring function, and the main camera and the wide-angle camera are fused to realize a panoramic shooting and Virtual Reality (VR) shooting function or other fusion shooting functions. In some embodiments, the camera assembly 1806 may also include a flash. The flash lamp can be a single-color temperature flash lamp or a double-color temperature flash lamp. The dual-color temperature flash lamp refers to a combination of a warm light flash lamp and a cold light flash lamp, and can be used for light compensation under different color temperatures.
The audio circuitry 1807 may include a microphone and a speaker. The microphone is used for collecting sound waves of users and the environment, converting the sound waves into electric signals, and inputting the electric signals to the processor 1801 for processing, or inputting the electric signals to the radio frequency circuit 1804 for realizing voice communication. For stereo acquisition or noise reduction purposes, the microphone may be multiple, and disposed at different locations of the terminal 1800. The microphone may also be an array microphone or an omni-directional pickup microphone. The speaker is then used to convert electrical signals from the processor 1801 or the radio frequency circuit 1804 into sound waves. The speaker may be a conventional thin film speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, not only the electric signal can be converted into a sound wave audible to humans, but also the electric signal can be converted into a sound wave inaudible to humans for ranging and other purposes. In some embodiments, the audio circuitry 1807 may also include a headphone jack.
The location component 1808 is utilized to locate a current geographic location of the terminal 1800 to enable navigation or LBS (Location Based Service, location-based services). The positioning component 1808 may be a positioning component based on the united states GPS (Global Positioning System ), the beidou system of china, or the galileo system of russia.
A power supply 1809 is used to power the various components in the terminal 1800. The power supply 1809 may be an alternating current, a direct current, a disposable battery, or a rechargeable battery. When the power supply 1809 includes a rechargeable battery, the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery. The wired rechargeable battery is a battery charged through a wired line, and the wireless rechargeable battery is a battery charged through a wireless coil. The rechargeable battery may also be used to support fast charge technology.
In some embodiments, the terminal 1800 also includes one or more sensors 1810. The one or more sensors 1810 include, but are not limited to: acceleration sensor 1811, gyroscope sensor 1812, pressure sensor 1813, fingerprint sensor 1814, optical sensor 1815, and proximity sensor 1816.
The acceleration sensor 1811 may detect the magnitudes of accelerations on three coordinate axes of a coordinate system established with the terminal 1800. For example, the acceleration sensor 1811 may be used to detect components of gravitational acceleration on three coordinate axes. The processor 1801 may control the touch display screen 1805 to display a user interface in either a landscape view or a portrait view based on gravitational acceleration signals acquired by the acceleration sensor 1811. The acceleration sensor 1811 may also be used for acquisition of motion data of a game or a user.
The gyro sensor 1812 may detect a body direction and a rotation angle of the terminal 1800, and the gyro sensor 1812 may collect a 3D motion of the user to the terminal 1800 in cooperation with the acceleration sensor 1811. The processor 1801 may implement the following functions based on the data collected by the gyro sensor 1812: motion sensing (e.g., changing UI according to a tilting operation by a user), image stabilization at shooting, game control, and inertial navigation.
Pressure sensor 1813 may be disposed on a side frame of terminal 1800 and/or below touch display 1805. When the pressure sensor 1813 is disposed at a side frame of the terminal 1800, a grip signal of the terminal 1800 by a user may be detected, and the processor 1801 performs a left-right hand recognition or a shortcut operation according to the grip signal collected by the pressure sensor 1813. When the pressure sensor 1813 is disposed at the lower layer of the touch screen 1805, the processor 1801 controls the operability control on the UI interface according to the pressure operation of the user on the touch screen 1805. The operability controls include at least one of a button control, a scroll bar control, an icon control, and a menu control.
The fingerprint sensor 1814 is used to collect a fingerprint of the user, and the processor 1801 identifies the identity of the user according to the fingerprint collected by the fingerprint sensor 1814, or the fingerprint sensor 1814 identifies the identity of the user according to the collected fingerprint. Upon recognizing that the user's identity is a trusted identity, the processor 1801 authorizes the user to perform relevant sensitive operations including unlocking the screen, viewing encrypted information, downloading software, paying for and changing settings, etc. The fingerprint sensor 1814 may be provided on the front, back or side of the terminal 1800. When a physical key or vendor Logo is provided on the terminal 1800, the fingerprint sensor 1814 may be integrated with the physical key or vendor Logo.
The optical sensor 1815 is used to collect the ambient light intensity. In one embodiment, the processor 1801 may control the display brightness of the touch display screen 1805 based on the intensity of ambient light collected by the optical sensor 1815. Specifically, when the ambient light intensity is high, the display brightness of the touch display screen 1805 is turned up; when the ambient light intensity is low, the display brightness of the touch display screen 1805 is turned down. In another embodiment, the processor 1801 may also dynamically adjust the shooting parameters of the camera assembly 1806 based on the intensity of ambient light collected by the optical sensor 1815.
A proximity sensor 1816, also known as a distance sensor, is typically provided on the front panel of the terminal 1800. Proximity sensor 1816 is used to collect the distance between the user and the front face of terminal 1800. In one embodiment, when the proximity sensor 1816 detects that the distance between the user and the front face of the terminal 1800 gradually decreases, the processor 1801 controls the touch display 1805 to switch from the bright screen state to the off-screen state; when the proximity sensor 1816 detects that the distance between the user and the front of the terminal 1800 gradually increases, the touch display 1805 is controlled by the processor 1801 to switch from the off-screen state to the on-screen state.
Those skilled in the art will appreciate that the structure shown in fig. 10 is not limiting and that more or fewer components than shown may be included or certain components may be combined or a different arrangement of components may be employed.
It is to be understood that the present disclosure is not limited to the precise arrangements and instrumentalities shown in the drawings, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (25)

1. A method of performing a service, the method comprising:
instructing the server to execute the target service through remote direct data access, RDMA, atomic operations;
after the server is determined to finish executing the target service, determining at least one detection time point for acquiring a service execution progress mark from the server according to a preset detection time point determination rule;
and when any detection time point is reached, acquiring the service execution progress mark from the server through RDMA atomic operation, determining the duration of the service execution progress mark which is not updated, and if the duration of the service execution progress mark which is not updated is greater than or equal to a preset duration threshold value, indicating the server to carry out updating on the service execution progress mark through RDMA atomic operation.
2. The method of claim 1, wherein the target service is a service that writes log data in a target log, the instructing the server to execute the target service via RDMA atomic operations, comprising:
acquiring a data writing position corresponding to the target log from a server through RDMA atomic operation, and indicating the server to write log data in the data writing position;
after the server is determined to execute the target service, determining at least one detection time point for acquiring a service execution progress mark from the server according to a preset detection time point determination rule, including:
after determining that the server writes the log data in the data writing position, determining at least one detection time point for obtaining a writing position mark for the server according to a preset detection time point determining rule;
and when any detection time point is reached, acquiring the service execution progress mark from the server through RDMA atomic operation, determining the duration of the service execution progress mark which is not updated, and if the duration of the service execution progress mark which is not updated is greater than or equal to a preset duration threshold value, carrying out carry updating on the service execution progress mark through RDMA atomic operation, wherein the carrying updating comprises the following steps:
And when any detection time point is reached, acquiring the writing position mark from the server through RDMA atomic operation, determining the duration of the acquired writing position mark which is not updated, and carrying out carry updating on the writing position mark through RDMA atomic operation if the duration of the writing position mark which is not updated is greater than or equal to a preset duration threshold value.
3. The method of claim 1, wherein the performing a carry update on the traffic execution progress flag via RDMA atomic operation comprises:
through RDMA atomic operation, the server is instructed to compare the current service execution progress mark with the time length which is not updated and is greater than or equal to a preset time length threshold value;
if the current service execution progress mark is matched with the service execution progress mark with the duration which is not updated being greater than or equal to a preset duration threshold, the server is instructed to increase the current service execution progress mark by a first preset value through RDMA atomic operation;
if the current service execution progress mark is not matched with the service execution progress mark with the duration which is not updated being greater than or equal to a preset duration threshold, indicating the server to keep the current service execution progress mark unchanged through RDMA atomic operation.
4. The method of claim 1, wherein prior to instructing the server to execute the target service, the method further comprises:
and acquiring the mark updating sequence mark from the server through RDMA atomic operation.
5. The method according to claim 4, wherein determining at least one detection time point for acquiring a service execution progress flag from the server according to a preset detection time point determination rule after determining that the server has completed executing the target service comprises:
after determining that the server finishes executing the target service, acquiring a service execution progress mark from a server;
determining a difference between the service execution progress mark and the mark update sequence mark;
and according to the difference value, determining at least one detection time point for acquiring the service execution progress mark from the server.
6. The method of claim 4, wherein after obtaining the service execution progress flag from the server, the method further comprises:
comparing the service execution progress mark with the mark updating sequence mark;
and if the service execution progress mark is matched with the mark updating sequence mark, the server is instructed to increase the service execution progress mark by a second preset value.
7. The method of claim 4, wherein after obtaining the service execution progress flag from the server, the method further comprises:
and if the service execution progress mark is larger than the mark updating sequence mark, the method is switched to execute the step of executing the RDMA atomic operation to instruct the server to execute the target service.
8. The method according to any of claims 1-7, wherein the preset duration threshold is a duration required by the server to execute the target service once by a preset multiple.
9. An apparatus for performing a service, the apparatus comprising:
the execution module is used for indicating the server to execute the target service through remote direct data access (RDMA) atomic operation;
the determining module is used for determining at least one detection time point for acquiring a service execution progress mark from the server according to a preset detection time point determining rule after the server is determined to execute the target service;
and the updating module is used for acquiring the service execution progress mark from the server through RDMA atomic operation every time when any detection time point is reached, determining the duration of the service execution progress mark which is not updated, and if the duration of the service execution progress mark which is not updated is greater than or equal to a preset duration threshold value, indicating the server to carry out updating on the service execution progress mark through RDMA atomic operation.
10. The apparatus of claim 9, wherein the target service is a service that writes log data in a target log;
the execution module is used for acquiring a data writing position corresponding to the target log from a server through RDMA atomic operation and indicating the server to write log data in the data writing position;
the determining module is used for determining at least one detection time point for acquiring a writing position mark from the server according to a preset detection time point determining rule after determining that the server writes the log data in the data writing position;
the updating module is configured to acquire the write location identifier from the server through an RDMA atomic operation every time any detection time point is reached, determine a duration of the acquired write location identifier that is not updated, and if the duration of the acquired write location identifier that is not updated is greater than or equal to a preset duration threshold, update the write location identifier by carrying through the RDMA atomic operation.
11. The apparatus of claim 9, wherein the updating module is configured to:
through RDMA atomic operation, the server is instructed to compare the current service execution progress mark with the time length which is not updated and is greater than or equal to a preset time length threshold value;
If the current service execution progress mark is matched with the service execution progress mark with the duration which is not updated being greater than or equal to a preset duration threshold, the server is instructed to increase the current service execution progress mark by a first preset value through RDMA atomic operation;
if the current service execution progress mark is not matched with the service execution progress mark with the duration which is not updated being greater than or equal to a preset duration threshold, indicating the server to keep the current service execution progress mark unchanged through RDMA atomic operation.
12. The apparatus of claim 9, wherein the apparatus further comprises:
and the acquisition module is used for acquiring the mark updating sequence identifier from the server through RDMA atomic operation.
13. The apparatus of claim 12, wherein the determining module is configured to:
after determining that the server finishes executing the target service, acquiring a service execution progress mark from a server;
determining a difference between the service execution progress mark and the mark update sequence mark;
and according to the difference value, determining at least one detection time point for acquiring the service execution progress mark from the server.
14. The apparatus of claim 12, wherein the apparatus further comprises:
the comparison module is used for comparing the service execution progress mark with the mark updating sequence mark;
and the indication module is used for indicating the server to increase the service execution progress mark by a second preset value when the service execution progress mark is matched with the mark updating sequence mark.
15. The apparatus of claim 12, wherein the execution module is further to:
and if the service execution progress mark is larger than the mark updating sequence mark, the method is switched to execute the step of executing the RDMA atomic operation to instruct the server to execute the target service.
16. The apparatus according to any of claims 9-15, wherein the preset duration threshold is a duration required by the server to perform the target service once by a preset multiple.
17. A terminal for performing a service, the terminal comprising a processor and a transceiver, wherein:
the processor is used for instructing the server to execute the target service through remote direct data access (RDMA) atomic operation;
the processor is used for determining at least one detection time point for acquiring a service execution progress mark from the server according to a preset detection time point determination rule after determining that the server finishes executing the target service;
The processor is configured to control, through an RDMA atomic operation, the transceiver to acquire the service execution progress flag from the server every time when any detection time point is reached, determine a duration of the service execution progress flag that is not updated, and if the duration of the service execution progress flag that is not updated is greater than or equal to a preset duration threshold, control, through the RDMA atomic operation, the transceiver to instruct the server to update the service execution progress flag in a carry manner.
18. The terminal of claim 17, wherein the target service is a service for writing log data in a target log, and wherein the processor is configured to:
controlling the transceiver to acquire a data writing position corresponding to the target log from a server through RDMA atomic operation, and indicating the server to write log data in the data writing position;
after determining that the server writes the log data in the data writing position, determining at least one detection time point for obtaining a writing position mark for the server according to a preset detection time point determining rule;
and when any detection time point is reached, controlling the transceiver to acquire the writing position mark from the server through RDMA atomic operation, determining the duration of the acquired writing position mark which is not updated, and controlling the transceiver to carry out carry updating on the writing position mark through RDMA atomic operation if the duration of the acquired writing position mark which is not updated is greater than or equal to a preset duration threshold value.
19. The terminal of claim 17, wherein the processor is configured to:
through RDMA atomic operation, the server is instructed to compare the current service execution progress mark with the time length which is not updated and is greater than or equal to a preset time length threshold value;
if the current service execution progress mark is matched with the service execution progress mark with the duration which is not updated being greater than or equal to a preset duration threshold, the server is instructed to increase the current service execution progress mark by a first preset value through RDMA atomic operation;
if the current service execution progress mark is not matched with the service execution progress mark with the duration which is not updated being greater than or equal to a preset duration threshold, indicating the server to keep the current service execution progress mark unchanged through RDMA atomic operation.
20. The terminal of claim 17, wherein the processor is configured to:
and controlling the transceiver to acquire the mark updating sequence identification from the server through RDMA atomic operation.
21. The terminal of claim 20, wherein the processor is configured to:
After the server is determined to finish executing the target service, controlling the transceiver to acquire a service execution progress mark from the server;
determining a difference between the service execution progress mark and the mark update sequence mark;
and according to the difference value, determining at least one detection time point for acquiring the service execution progress mark from the server.
22. The terminal of claim 20, wherein the processor is configured to:
comparing the service execution progress mark with the mark updating sequence mark;
and if the service execution progress mark is matched with the mark updating sequence mark, the server is instructed to increase the service execution progress mark by a second preset value.
23. The terminal of claim 20, wherein the processor is configured to:
and if the service execution progress mark is larger than the mark updating sequence mark, the method is switched to execute the step of executing the RDMA atomic operation to instruct the server to execute the target service.
24. The terminal according to any of the claims 17-23, wherein the preset duration threshold is a length of time required for the server to perform the target service once by a preset multiple.
25. A computer readable storage medium comprising instructions which, when run on a terminal, cause the terminal to perform the method of any of claims 1-8.
CN201910595847.1A 2019-07-03 2019-07-03 Method, device, terminal and storage medium for executing service Active CN112181915B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910595847.1A CN112181915B (en) 2019-07-03 2019-07-03 Method, device, terminal and storage medium for executing service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910595847.1A CN112181915B (en) 2019-07-03 2019-07-03 Method, device, terminal and storage medium for executing service

Publications (2)

Publication Number Publication Date
CN112181915A CN112181915A (en) 2021-01-05
CN112181915B true CN112181915B (en) 2023-12-08

Family

ID=73915897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910595847.1A Active CN112181915B (en) 2019-07-03 2019-07-03 Method, device, terminal and storage medium for executing service

Country Status (1)

Country Link
CN (1) CN112181915B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116708120B (en) * 2023-04-12 2024-02-23 友帮信互联网技术(北京)有限公司 Service method and device for time online sharing service
CN117056056A (en) * 2023-10-10 2023-11-14 腾讯科技(深圳)有限公司 Task execution method and device, storage medium and electronic equipment

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131814B1 (en) * 2008-07-11 2012-03-06 Hewlett-Packard Development Company, L.P. Dynamic pinning remote direct memory access
CN103699473A (en) * 2013-12-13 2014-04-02 乐视网信息技术(北京)股份有限公司 Indicating method and device for task progress
US9367398B1 (en) * 2014-03-28 2016-06-14 Emc Corporation Backing up journal data to a memory of another node
CN106844108A (en) * 2016-12-29 2017-06-13 成都华为技术有限公司 A kind of date storage method, server and storage system
CN107391156A (en) * 2017-07-31 2017-11-24 成都华为技术有限公司 Method, management node and service node for distributed system transmission services
US10002649B1 (en) * 2017-02-23 2018-06-19 Sandisk Technologies Llc Preliminary ready indication for memory operations on non-volatile memory
CN108491526A (en) * 2018-03-28 2018-09-04 腾讯科技(深圳)有限公司 Daily record data processing method, device, electronic equipment and storage medium
CN108874426A (en) * 2018-06-28 2018-11-23 武汉斗鱼网络科技有限公司 Application program updating method and device and readable storage medium
CN109660584A (en) * 2017-10-12 2019-04-19 阿里巴巴集团控股有限公司 A kind of method and communication means and communication system of client and the long connection of server foundation
CN109861843A (en) * 2018-11-28 2019-06-07 阿里巴巴集团控股有限公司 Complete acquisition confirmation method, device and the equipment of journal file

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10725963B2 (en) * 2015-09-12 2020-07-28 Microsoft Technology Licensing, Llc Distributed lock-free RDMA-based memory allocation and de-allocation

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131814B1 (en) * 2008-07-11 2012-03-06 Hewlett-Packard Development Company, L.P. Dynamic pinning remote direct memory access
CN103699473A (en) * 2013-12-13 2014-04-02 乐视网信息技术(北京)股份有限公司 Indicating method and device for task progress
US9367398B1 (en) * 2014-03-28 2016-06-14 Emc Corporation Backing up journal data to a memory of another node
CN106844108A (en) * 2016-12-29 2017-06-13 成都华为技术有限公司 A kind of date storage method, server and storage system
US10002649B1 (en) * 2017-02-23 2018-06-19 Sandisk Technologies Llc Preliminary ready indication for memory operations on non-volatile memory
CN107391156A (en) * 2017-07-31 2017-11-24 成都华为技术有限公司 Method, management node and service node for distributed system transmission services
CN109660584A (en) * 2017-10-12 2019-04-19 阿里巴巴集团控股有限公司 A kind of method and communication means and communication system of client and the long connection of server foundation
CN108491526A (en) * 2018-03-28 2018-09-04 腾讯科技(深圳)有限公司 Daily record data processing method, device, electronic equipment and storage medium
CN108874426A (en) * 2018-06-28 2018-11-23 武汉斗鱼网络科技有限公司 Application program updating method and device and readable storage medium
CN109861843A (en) * 2018-11-28 2019-06-07 阿里巴巴集团控股有限公司 Complete acquisition confirmation method, device and the equipment of journal file

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Masoud Hemmatpour等.Communicating efficiently on cluster-based remote direct memory access (RDMA) over infiniband protocol.《 Applied Sciences》.2018,第8卷(第8期),1-17. *
叶剑飞 ; 李烨 ; .基于Socket通信的生产管理跟踪***.软件导刊.2018,(第03期),140-042. *
肖江文 ; 廖幼文 ; .C/S结构下客户端软件自动升级的方法研究.计算机工程与应用.2005,(第35期),99-101. *

Also Published As

Publication number Publication date
CN112181915A (en) 2021-01-05

Similar Documents

Publication Publication Date Title
CN111190748B (en) Data sharing method, device, equipment and storage medium
WO2020001564A1 (en) Method, apparatus, and system for processing tasks
CN110134744B (en) Method, device and system for updating geomagnetic information
CN111510482B (en) Method and device for determining failed network request and computer storage medium
CN110058935B (en) Log level adjusting method, device and system and readable storage medium
CN110704324B (en) Application debugging method, device and storage medium
CN111866140B (en) Fusion management device, management system, service calling method and medium
WO2020088542A1 (en) Data management method, apparatus and system, and server, terminal and storage medium
CN111897465B (en) Popup display method, device, equipment and storage medium
CN112988254B (en) Method, device and equipment for managing hardware equipment
CN110290191B (en) Resource transfer result processing method, device, server, terminal and storage medium
CN112181915B (en) Method, device, terminal and storage medium for executing service
CN111813322B (en) Storage pool creation method, device, equipment and storage medium
CN110471614B (en) Method for storing data, method and device for detecting terminal
CN111881423B (en) Method, device and system for authorizing restricted function use
CN110971840B (en) Video mapping method and device, computer equipment and storage medium
CN111008083B (en) Page communication method and device, electronic equipment and storage medium
WO2020135106A1 (en) Method and apparatus for tracking target object, monitoring device, and storage medium
CN114785766B (en) Control method, terminal and server of intelligent equipment
CN111580892A (en) Method, device, terminal and storage medium for calling service component
CN111914985A (en) Configuration method and device of deep learning network model and storage medium
CN114140105A (en) Resource transfer method, device, equipment and computer readable storage medium
CN113935427A (en) Training task execution method and device, electronic equipment and storage medium
CN110336881B (en) Method and device for executing service processing request
CN110471613B (en) Data storage method, data reading method, device and system

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