CN112615901B - Method for sending user request by client and storage system - Google Patents

Method for sending user request by client and storage system Download PDF

Info

Publication number
CN112615901B
CN112615901B CN202011350153.0A CN202011350153A CN112615901B CN 112615901 B CN112615901 B CN 112615901B CN 202011350153 A CN202011350153 A CN 202011350153A CN 112615901 B CN112615901 B CN 112615901B
Authority
CN
China
Prior art keywords
user requests
queue
request
user
server
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
CN202011350153.0A
Other languages
Chinese (zh)
Other versions
CN112615901A (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.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data Technologies 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 New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202011350153.0A priority Critical patent/CN112615901B/en
Publication of CN112615901A publication Critical patent/CN112615901A/en
Application granted granted Critical
Publication of CN112615901B publication Critical patent/CN112615901B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)

Abstract

The present specification provides a method and a storage system for a client to send a user request, wherein the method comprises the following steps: receiving a plurality of user requests sent by users, sending a request message to a server cluster according to the target characteristics of the user requests, and sending the request message to the server cluster again after T moment if the feedback information of the server cluster aiming at the request message is not received. By the method, the problems that the processing of the main and standby tasks is out of order and failure can be returned to a user in the switching process of the main node and the standby node can be avoided.

Description

Method for sending user request by client and storage system
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a method for a client to send a user request and a storage system.
Background
Ha (high availability) generally describes a system that is specially designed to reduce downtime while maintaining a high availability of its services. For a storage system, the configuration HA or the service HA is generally classified, one is to improve the availability of the configuration class, and one is to improve the availability of the IO service.
Availability (also known as availability) refers to the ability of a serviceable product to have or maintain its functionality when used under specified conditions. The quantitative parameter is availability, which represents the probability that a serviceable product will have or maintain its function at a time when used under specified conditions. The availability (also called the effectiveness) is generally denoted as a and can be calculated as Mean Time Between Failures (MTBF) and Mean Time To Repair (MTTR): a is MTBF/(MTBF + MTTR).
If a certain host computer confirms the fault of the other side in the automatic switching (Auto-Switch) stage, the normal host computer continues to perform the original task, and also takes over the preset backup operation program according to various fault-tolerant backup modes and performs subsequent programs and services.
The usability of the system is designed, most importantly, to meet the needs of the user. A failure of a system will only affect an indication of its availability if it causes the unavailability of the service to be sufficient to affect the needs of the system users. The sensitivity of the user depends on the application provided by the system. For example, a failure that can be fixed within 1 second is not perceived in an online transaction processing system, but is unacceptable for a real-time scientific computing application.
When the user has a high demand for high availability of the system, all configuration processes must be continuous, orderly and successful. In other words, after the failure of the primary working node, in the process of switching the processing task to the standby node, the task processing cannot be out of order and failure cannot be returned to the user.
Disclosure of Invention
The embodiment of the specification provides a method for sending a user request by a client and a storage system.
An embodiment of the present specification provides a method for a client to send a user request, where the client is connected to a server cluster, the server cluster includes a primary server and a standby server, and the method includes:
receiving a plurality of user requests sent by users;
sending a request message to a server cluster according to the target characteristics of the plurality of user requests;
and if the feedback information of the server cluster aiming at the request message is not received, the request message is sent to the server cluster again after the time T.
Sending a request message to a server cluster according to the target characteristics of the plurality of user requests, wherein the method specifically comprises the steps of putting the user requests with the same target characteristics into a first queue according to a time sequence;
and sending a request message to the server cluster according to the first queue sequence.
Optionally, the method further includes:
after the request messages are sent to the server cluster according to the first queue sequence, whether a second queue exists is judged, and if the second queue exists, the user requests in the second queue are sent;
wherein the second queue comprises: with a user request that differs from the target characteristics of the first queue.
Optionally, the target feature includes an object name in the user request.
It can be seen from the above embodiments that, when a client sends a request message to a server cluster but does not receive feedback information of the server cluster, it can be inferred that a master server and a backup server in the server cluster are switched, at this time, the client will send the last sent request message to the server cluster again at time T, and during this time, to avoid new user requests occurring within time T, user requests with the same target characteristics can be put into the same queue, so as to avoid the occurrence of a situation that the order of request information is disordered.
The embodiment of the present specification further provides a distributed storage system, which includes a main server, where the main server and a standby server form a distributed storage cluster, the distributed storage cluster is connected to a client,
the client receives a plurality of user requests sent by users, wherein each user request carries a target characteristic;
classifying the user requests according to the target characteristics of the user requests, and sending request messages to the distributed storage cluster according to the classified user requests;
and if the feedback information of the distributed storage cluster aiming at the request message is not received, the request message is sent to the server cluster again after the time T.
Specifically, classifying the user requests according to target characteristics of the plurality of user requests specifically includes:
several queues are generated and user requests with the same target characteristics are put into a queue as a sort of order.
Specifically, the sending of the request packet to the distributed storage cluster according to the classified user request specifically includes:
and according to the queue sequence, after the user requests in a certain queue are sent to the distributed storage cluster, the user requests in other queues are sent.
It can be seen from the above embodiments that, in the distributed storage system, the client classifies the user requests, and sends the sent request message again at time T when the request message is sent and the feedback information of the distributed storage cluster is not obtained, which can prevent the situation that the processing of the request message sent by the client is omitted due to the switching between the master server and the slave server in the distributed storage cluster from being sent, and also avoid the technical problem of out-of-order processing of the master task and the slave task due to the classification transmission of the user requests.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present specification and together with the description, serve to explain the principles of the specification.
Fig. 1 is a schematic diagram of a network structure provided in an embodiment of the present disclosure;
fig. 2 is a schematic flowchart of a method for sending a user request by a client according to an embodiment of the present disclosure.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present specification. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the specification, as detailed in the appended claims.
The terminology used in the description herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the description. As used in this specification and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used herein to describe various information, these information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, the first information may also be referred to as second information, and similarly, the second information may also be referred to as first information, without departing from the scope of the present specification. The word "if" as used herein may be interpreted as "at … …" or "when … …" or "in response to a determination", depending on the context.
As shown in fig. 1, the client is responsible for receiving a user request of a user, assembling the user request into a corresponding request message, and sending the request message to the server cluster through an HTTPS protocol for processing. The server cluster is always in a monitoring state, and the request message received from the client starts to be analyzed and processed. And after the main server in the server cluster processes the request of the client, returning a processing result through the established message channel.
In the process, if the main server has a fault (network disconnection and process crash) in the midway, the request message of the client cannot be continuously received and processed, the standby server is switched to, and the request is continuously processed by the standby server.
However, when the main server has received the request message from the client and is processing the request message, the main server fails (power is cut off, the network is disconnected), in which case the request message cannot be transferred to the standby server, so the request message is discarded and the processing result cannot be returned to the client (because the connection between the client and the server is disconnected). The server cluster can only process new requests after being switched to the standby server.
In order to solve the foregoing technical problem, an embodiment of the present specification provides a method for a client to send a user request, where as shown in fig. 2, the client is connected to a server cluster, where the server cluster includes a main server and a standby server, and the method includes:
s101, receiving a plurality of user requests sent by a user;
s102, sending a request message to a server cluster according to the target characteristics of the user requests;
and S103, if the feedback information of the server cluster for the request message is not received, sending the request message to the server cluster again after the time T.
In step S101, the plurality of user requests received by the client may be accumulated user requests sent by the user within a T period, where the T period may be from after the client is enabled until the server cluster is determined not to feed back information, or from after the client is enabled until the client is offline.
After the client sends the request message to the server cluster, but does not receive the feedback information sent by the server cluster for the request message, the client may send the sent request message to the server cluster again after time T, so that the server cluster processes the request message.
Therefore, after the client sends the request message to the server cluster, if the server cluster does not send feedback information to the client (possibly, the request message is lost due to the fact that the main server and the standby server in the server cluster are switched between the main server and the standby server), the last request message is sent to the server cluster again after the time T, so that the servers in the server cluster can process the request message, and the situation that the request message sent by the client is lost by the server cluster and cannot be fed back to a user is avoided.
In step S102, the target feature may include an object name in the user request, for example, the user requests are: creating a storage volume A, creating a storage volume B, creating a storage volume C, deleting the storage volume A and deleting the storage volume B. Among them, the object name A, B, C is a target feature.
In this step, sending a request packet to the server cluster according to the target characteristics requested by the multiple users includes:
user requests with the same target characteristics are put into a first queue according to a time sequence, and a created storage volume A and a deleted storage volume A can be put into the first queue according to the time sequence by combining the content; putting the created storage volume B and the deleted storage volume B into a second first queue according to the time sequence; the create storage volume C is placed in the third first queue.
It should be noted that the three queues may be considered as three different first queues, or may be considered as a first queue, a second queue, and a third queue, where the first queue, the second queue, the third queue, or the different first queues are only for convenience of distinction.
After the user requests with the same target characteristics are put into the first queue according to the time sequence, the request messages may be sent to the server cluster according to the first queue sequence, for example: when the user requests in the first queue are sent to the server cluster, all the user requests for establishing the storage volume A and deleting the storage volume A in the first queue are sent to the server cluster, after feedback information of the server cluster is received respectively, whether a second first queue still exists is judged, if yes, all the user requests in the second first queue are executed, then whether a third first queue still exists is judged, if yes, all the user requests in the third first queue are executed, and the like.
And during the enabling period of the client, continuously receiving a new user request sent by a user, judging whether the target characteristics carried in the new user request are matched with the target characteristics of the user requests in the existing queue or not after receiving the new user request, and if so, putting the target characteristics into the corresponding queue in time sequence.
For example, a new user request received by the client is to create a storage volume a, the client acquires that the target characteristic of the new user request is a, and determines that the target characteristic of the user information in the first queue is also a, and then places the new user request into the first queue, that is, the updated first queue is to create the storage volume a, delete the storage volume a, and create the storage volume a.
By the embodiment, the user requests are classified according to the time sequence and are placed in the queue according to the target characteristics in the user requests, so that the condition that the user requests are disordered due to equipment and network reasons can be avoided.
For example, when the client sends the first user information (creating the storage volume a) in the first queue, the client finds that the feedback information of the server cluster is not received, the client sends the first user request (creating the storage volume a) again after time T, and at this time, when time T is not reached, the client receives the deletion of the storage volume a again, at this time, because the target feature a in the new user request is matched with the target feature in the first queue, the deletion of the storage volume a is used as the second user request of the first queue, and after the client resends the first user request (creating the storage volume a) at time T, the second user request (deleting the storage volume a) is sent, so that the situation that the user request is disordered because the deletion of the storage volume a is sent first and then the storage volume a is created is sent is avoided.
The embodiment of the present specification further provides a distributed storage system, which includes a main server, where the main server and a standby server form a distributed storage cluster, the distributed storage cluster is connected to a client,
the client receives a plurality of user requests sent by users, wherein each user request carries a target characteristic;
classifying the user requests according to the target characteristics of the plurality of user requests, and sending request messages to the distributed storage cluster according to the classified user requests;
and if the feedback information of the distributed storage cluster aiming at the request message is not received, the request message is sent to the server cluster again after the time T.
The classifying the user requests according to the target characteristics of the plurality of user requests specifically includes:
several queues are generated and user requests with the same target characteristics are put into a queue as a sort of order.
In this embodiment, the queues are one or more queues, and may be generated according to the classification requirement.
The sending of the request packet to the distributed storage cluster according to the classified user request specifically includes:
and according to the queue sequence, after the user requests in a certain queue are sent to the distributed storage cluster, the user requests in other queues are sent.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
Other embodiments of the present disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This specification is intended to cover any variations, uses, or adaptations of the specification following, in general, the principles of the specification and including such departures from the present disclosure as come within known or customary practice within the art to which the specification pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the specification being indicated by the following claims.
It will be understood that the present description is not limited to the precise arrangements described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the description is limited only by the appended claims.
The above description is only a preferred embodiment of the present disclosure, and should not be taken as limiting the present disclosure, and any modifications, equivalents, improvements, etc. made within the spirit and principle of the present disclosure should be included in the scope of the present disclosure.

Claims (6)

1. A method for sending a user request by a client is characterized in that the client is connected with a server cluster, the server cluster comprises a main server and a standby server, and the method comprises the following steps:
receiving a plurality of user requests sent by users;
sending a request message to a server cluster according to the target characteristics of the plurality of user requests;
if the feedback information of the server cluster aiming at the request message is not received, the request message is sent to the server cluster again after the T moment;
the sending of the request packet to the server cluster according to the target characteristics of the plurality of user requests specifically includes:
putting user requests with the same target characteristics into a first queue according to the time sequence;
and sending a request message to the server cluster according to the first queue sequence.
2. The method of claim 1, further comprising:
after the request messages are sent to the server cluster according to the first queue sequence, whether a second queue exists is judged, and if the second queue exists, the user requests in the second queue are sent;
wherein the second queue comprises: with a user request having a different target characteristic than the first queue.
3. The method of any of claims 1 to 2, wherein the target feature comprises an object name in a user request.
4. A distributed storage system is characterized in that the system comprises a main server, the main server and a standby server form a distributed storage cluster, the distributed storage cluster is connected with a client,
the client receives a plurality of user requests sent by users, wherein each user request carries a target characteristic;
classifying the user requests according to the target characteristics of the plurality of user requests, and sending request messages to the distributed storage cluster according to the classified user requests;
if the feedback information of the distributed storage cluster aiming at the request message is not received, the request message is sent to the server cluster again after the T moment;
the classifying the user requests according to the target characteristics of the plurality of user requests and sending the request messages to the distributed storage cluster according to the classified user requests comprises the following steps:
putting user requests with the same target characteristics into a first queue according to the time sequence;
and sending a request message to the server cluster according to the first queue sequence.
5. The system of claim 4, wherein the classifying the user requests according to the target characteristics of the plurality of user requests specifically comprises:
several queues are generated and user requests with the same target characteristics are put into a queue as a sort of order.
6. The system according to claim 5, wherein the sending the request packet to the distributed storage cluster according to the classified user request specifically includes:
and according to the queue sequence, after the user requests in a certain queue are sent to the distributed storage cluster, the user requests in other queues are sent.
CN202011350153.0A 2020-11-26 2020-11-26 Method for sending user request by client and storage system Active CN112615901B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011350153.0A CN112615901B (en) 2020-11-26 2020-11-26 Method for sending user request by client and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011350153.0A CN112615901B (en) 2020-11-26 2020-11-26 Method for sending user request by client and storage system

Publications (2)

Publication Number Publication Date
CN112615901A CN112615901A (en) 2021-04-06
CN112615901B true CN112615901B (en) 2022-07-12

Family

ID=75225436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011350153.0A Active CN112615901B (en) 2020-11-26 2020-11-26 Method for sending user request by client and storage system

Country Status (1)

Country Link
CN (1) CN112615901B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531721A (en) * 2022-01-28 2022-05-24 新华三技术有限公司 Method for establishing tunnel and processing message and AC
CN116132248B (en) * 2022-10-11 2024-05-24 马上消费金融股份有限公司 Information pushing method and computer readable storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100440799C (en) * 2005-09-06 2008-12-03 华为技术有限公司 Main/standby board back-up in access-in apparatus and rearranging method therefor
CN107888634B (en) * 2016-09-29 2021-05-28 北京金山云网络技术有限公司 Data request method and device of distributed storage system
CN107590028B (en) * 2017-09-14 2021-05-11 广州华多网络科技有限公司 Information processing method and server
CN109660607B (en) * 2018-12-05 2021-08-27 北京金山云网络技术有限公司 Service request distribution method, service request receiving method, service request distribution device, service request receiving device and server cluster
CN111756811B (en) * 2020-05-29 2022-05-13 苏州浪潮智能科技有限公司 Method, system, device and medium for actively pushing distributed system

Also Published As

Publication number Publication date
CN112615901A (en) 2021-04-06

Similar Documents

Publication Publication Date Title
EP3543870B1 (en) Exactly-once transaction semantics for fault tolerant fpga based transaction systems
US7333974B2 (en) Queuing model for a plurality of servers
US10313452B2 (en) Migrating a chat message service provided by a chat server to a new chat server
CN112615901B (en) Method for sending user request by client and storage system
US9210231B2 (en) Server cluster and method for push notification service
US10652080B2 (en) Systems and methods for providing a notification system architecture
EP3542272B1 (en) Systems and methods for providing a notification system architecture
US20180013822A1 (en) Service request processing method, related apparatus, and system
CN109714409B (en) Message management method and system
WO2007073429A2 (en) Distributed and replicated sessions on computing grids
CN109213507A (en) A kind of upgrade method and server
EP1762069B1 (en) Method of selecting one server out of a server set
US7519855B2 (en) Method and system for distributing data processing units in a communication network
CN112564990B (en) Management method for switching audio management server
JP2005301436A (en) Cluster system and failure recovery method for it
JP5408620B2 (en) Data distribution management system and data distribution management method
US8201017B2 (en) Method for queuing message and program recording medium thereof
EP1952318B1 (en) Independent message stores and message transport agents
CN109039732B (en) Message processing system and message processing method
US8095590B1 (en) Techniques for distributing data
CN111416861B (en) Communication management system and method
CN115086153B (en) Message processing system, message processing method, device and storage medium
CN114679412B (en) Method, device, equipment and medium for forwarding traffic to service node
CN115277351B (en) Distributed management system
JP4123440B2 (en) Object-oriented network distributed computing system, load balancing apparatus and server thereof

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