[go: up one dir, main page]

CN111756811B - Method, system, device and medium for actively pushing distributed system - Google Patents

Method, system, device and medium for actively pushing distributed system Download PDF

Info

Publication number
CN111756811B
CN111756811B CN202010474090.3A CN202010474090A CN111756811B CN 111756811 B CN111756811 B CN 111756811B CN 202010474090 A CN202010474090 A CN 202010474090A CN 111756811 B CN111756811 B CN 111756811B
Authority
CN
China
Prior art keywords
client
message
queue
request
event
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
CN202010474090.3A
Other languages
Chinese (zh)
Other versions
CN111756811A (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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010474090.3A priority Critical patent/CN111756811B/en
Publication of CN111756811A publication Critical patent/CN111756811A/en
Priority to PCT/CN2021/073797 priority patent/WO2021238287A1/en
Application granted granted Critical
Publication of CN111756811B publication Critical patent/CN111756811B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种分布式系统的主动推送的方法、系统、设备和存储介质,方法包括以下步骤:获取监控数据以判断是否存在消息事件;响应于存在消息事件,通知客户端并接收客户端的请求;根据客户端的请求的数量建立对应的线程,每个线程从全局服务队列中取出对应的客户端消息队列;根据客户端的请求从客户端消息队列中解析出对应的消息事件,并向集群发送事件响应请求;以及响应于接收到集群返回的响应,将消息事件发送到客户端。本发明提出的方案通过将客户端请求与全局服务队列深度绑定,客户端之间相互隔离,通过请求动态调度,不仅提高了集群的并发量,同时也减少了客户端轮询请求服务器集群数据时给服务端造成的压力。

Figure 202010474090

The invention discloses a method, system, device and storage medium for active push of a distributed system. The method includes the following steps: acquiring monitoring data to determine whether a message event exists; in response to the existence of a message event, notifying a client and receiving the client's message Request; establish corresponding threads according to the number of client requests, each thread takes out the corresponding client message queue from the global service queue; parses the corresponding message event from the client message queue according to the client's request, and sends it to the cluster Events respond to requests; and in response to receiving a response from the cluster, sending message events to the client. The solution proposed by the present invention not only improves the concurrency of the cluster, but also reduces the client's polling request for server cluster data by deeply binding the client's request to the global service queue, isolating the clients from each other and requesting dynamic scheduling. pressure on the server.

Figure 202010474090

Description

Method, system, device and medium for actively pushing distributed system
Technical Field
The present invention relates to the field of distributed storage, and more particularly, to a method, a system, a computer device, and a readable medium for active push of a distributed system.
Background
With the daily change of big data and communication technology, a digitalized new infrastructure is also actively developed, and a storage cluster also plays the role of reinforced concrete in the new infrastructure more and more; monitoring/alarming of storage clusters has also become an indispensable desideratum based on management of distributed clusters. The Web network request is sent to the storage cluster, and the cluster feedback request data is also used as a common data presentation and processing mode; and the monitoring mode for the cluster mainly shows that: and the clients such as Web and the like send data requests to the storage cluster at regular time through the network, and the storage cluster returns response data to the clients.
On the presentation of the client management interface, the disadvantages of this approach are: on one hand, a client interface is required to actively initiate a request at regular time, and when a large batch of requests are issued simultaneously or large batch of server data are returned simultaneously, the problems of interface false death, collapse of a client browser and the like are often caused; on the other hand, the client cannot dynamically sense when the cluster fails or important data changes, and polling cluster data more frequently increases the load of the client or the server, which causes unnecessary resource waste and performance occupation.
Disclosure of Invention
In view of this, an object of the embodiments of the present invention is to provide an active push method, system, computer device, and computer readable storage medium for a distributed system, in which a request of a client is deeply bound to a global service queue, the clients are isolated from each other, and dynamic scheduling is performed through the request, so that not only is the amount of concurrency of a cluster improved, but also the pressure on the server caused by the client in polling for requesting server cluster data is reduced, and furthermore, the real-time performance and accuracy of cluster monitoring are improved, and the user experience of a client management interface is enhanced; meanwhile, for the development framework, the request and the service are flattened, and the cluster monitoring logic sinks to the service end, so that the integrity and the usability of the whole development framework are facilitated.
Based on the above object, an aspect of the embodiments of the present invention provides an active push method for a distributed system, including the following steps: acquiring monitoring data to judge whether a message event exists; notifying a client and receiving a request of the client in response to a presence message event; establishing corresponding threads according to the number of the requests of the client, and taking out a corresponding client message queue from a global service queue by each thread; analyzing a corresponding message event from the client message queue according to the request of the client, and sending an event response request to the cluster; and responding to the received response returned by the cluster, and sending the message event to the client.
In some embodiments, establishing the corresponding threads according to the number of requests of the client, wherein each thread fetching the corresponding client message queue from the global service queue further includes: and locking a corresponding client message queue, and performing format conversion on the message event to write the message event into the client message queue.
In some embodiments, further comprising: and responding to a new message event written in the client message queue, and writing the client message queue into the tail of the global service queue.
In some embodiments, said sending said message event to said client comprises: decoding the message event and format converting the decoded message event for sending to the client.
In another aspect of the embodiments of the present invention, an active push system of a distributed system is further provided, including: the acquisition module is configured to acquire monitoring data to judge whether a message event exists; a receiving module configured to notify a client and receive a request of the client in response to a presence message event; the thread module is configured to establish corresponding threads according to the number of the requests of the client, and each thread takes out a corresponding client message queue from the global service queue; the execution module is configured to analyze a corresponding message event from the client message queue according to the request of the client and send an event response request to the cluster; and the sending module is configured to send the message event to the client in response to receiving a response returned by the cluster.
In some embodiments, the thread module is further configured to lock a corresponding client message queue and format convert the message event for writing to the client message queue.
In some embodiments, further comprising: and the second queue module is configured to respond to a new message event written in the client message queue and write the client message queue into the tail of the global service queue.
In some embodiments, the sending module is further configured to: decoding the message event and format converting the decoded message event for sending to the client.
In another aspect of the embodiments of the present invention, there is also provided a computer device, including: at least one processor; and a memory storing computer instructions executable on the processor, the instructions when executed by the processor implementing the steps of the method as above.
In a further aspect of the embodiments of the present invention, a computer-readable storage medium is also provided, in which a computer program for implementing the above method steps is stored when the computer program is executed by a processor.
The invention has the following beneficial technical effects: by deeply binding the client requests and the global service queue, the clients are isolated from each other, and by dynamically scheduling the requests, the concurrency of the cluster is improved, the pressure on the server caused by the client training the cluster data of the server in turn is reduced, the real-time performance and the accuracy of cluster monitoring are improved, and the user experience of a client management interface is enhanced; meanwhile, for the development framework, the request and the service are flattened, and the cluster monitoring logic sinks to the service end, so that the integrity and the usability of the whole development framework are facilitated.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other embodiments can be obtained by using the drawings without creative efforts.
Fig. 1 is a schematic diagram of an embodiment of an active push method for a distributed system provided in the present invention;
fig. 2 is a schematic hardware structure diagram of an embodiment of an active push computer device of a distributed system provided in the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the following embodiments of the present invention are described in further detail with reference to the accompanying drawings.
It should be noted that all expressions using "first" and "second" in the embodiments of the present invention are used for distinguishing two entities with the same name but different names or different parameters, and it should be noted that "first" and "second" are merely for convenience of description and should not be construed as limitations of the embodiments of the present invention, and they are not described in any more detail in the following embodiments.
In view of the foregoing, a first aspect of the embodiments of the present invention provides an embodiment of an active push method for a distributed system. Fig. 1 is a schematic diagram illustrating an embodiment of a method for active push of a distributed system provided by the present invention. As shown in fig. 1, the embodiment of the present invention includes the following steps:
s1, acquiring monitoring data to judge whether a message event exists;
s2, responding to the existence message event, notifying the client and receiving the request of the client;
s3, establishing corresponding threads according to the number of the requests of the client, and taking out a corresponding client message queue from the global service queue by each thread;
s4, resolving a corresponding message event from the client message queue according to the request of the client, and sending an event response request to the cluster; and
and S5, responding to the response returned by the cluster, and sending the message event to the client.
When the client and the server interact for the first time, authentication (TOKEN authentication or user management system) needs to be carried out on the client, authentication verification is carried out after the identity authentication information of the client is received, and if the authentication is successful, the request data receiving and sending thread is waited for further processing; the request data receiving and sending thread polls all client requests which are authenticated by the request processing thread, packs the received client requests into a message structure (such as a common Json object) and then sends the message data to a client message queue (ismClientQueue) corresponding to the client, and then adds the message queue to the tail of a global service queue (globalserviceQueue) and waits for further processing; if the message data is received, the message data is directly decoded and then forwarded to the client. The connection request mode and the identity authentication mode can be adapted to the current mainstream mode, and the invention does not make specific requirements.
Specifically, the following process may be adopted:
and judging whether the connection of the client is received or not, if so, going to the next step, and if not, continuing to wait for receiving the message connection request from the client. A client request processing thread is newly built and started and marked as A; and newly building and starting a request data transceiving thread, and marking as B. The temporary process data tmpArrA of a is initialized. The thread A monitors the client request, and the thread B polls the processing result array tmpArr of the thread A. The client requests the processing thread to authenticate and request the identity of the client, and if the authentication is successful, the client is put into tmpArr. The thread B acquires tmpArr data, if len (tmpArr) is larger than 0, the tmpArr data is packed into a message structure body, and then the tmp data is sent to an ismClientQueue queue; if tmpArr is empty, polling continues. And the thread B acquires the returned response data and sends the data to the corresponding client according to the client identifier.
The cluster includes two nested layers of message queues: a global service queue (globalServiceQueue) and a client message queue (ismClientQueue) to which the client has established a connection. The global service queue is a common global message circular queue (which can be implemented by using a common array), and is mainly responsible for maintaining and scheduling the client message queue (that is, different client message queues exist in the global service queue); the client message queue maintains different requests of the client, collects and monitors data in the storage cluster, and encapsulates data events into an ismDataItem form and puts the data events into the client message queue (namely, the client message queue has different requested ismDataItem message events) if the cluster data change is monitored and the changes need to be informed to the client (such as hardware equipment part failure in the cluster, storage pool/logical volume data update and other important operations and other monitorable items). The global service queue manages the client request queues as if there are multiple concurrent producers and concurrent consumers, so that locking is required for access operations such as message enqueuing or dequeuing. The global service queue directly allocates a default queue space (for example, 1000) to the queue during initialization, and automatically expands the capacity of the queue when the queue is full, generally expanding the capacity of the allocated space by twice.
Each element in the global service queue is a reference of a client message queue, a space is allocated by default and a plurality of empty client service queues are mounted during initialization, and when different clients send different requests, corresponding request message events are filled into the ismClientQueue. When the module is started, a plurality of working threads (6 working threads are configured by default, the number of the threads can be modified, and generally is not more than 128), when the working threads start working, a global service queue is locked, then a client message queue is continuously taken out from the global service queue, then a message event (ismDataItem) is taken out from the client message queue, and a corresponding cluster service is called (generally, a callback operation is performed, for example, a disk state alarm or a storage pool creation operation event is obtained from an alarm service of a cluster); after the message event is acquired, the message is decoded and packaged into message data with a corresponding format, the message data is directly sent to the client request monitoring module, and the request data is processed by a request data receiving and sending thread in the client request monitoring module and returned to the client. Namely: the request data response operation does not pass through a message queue, and the data result is directly forwarded to the client request monitoring module for processing.
Monitoring data is acquired to determine whether a message event exists. Data changes or device state changes belong to message events, so if there are data changes or device state changes in the cluster, it can be regarded as a message event.
In response to the presence message event, a request is sent to the client to notify the client and receive the client's request. If the cluster has the message event, the server side sends a request to the client side to inform the client side that the request can be sent, and at the moment, the client side sends a corresponding request according to the requirement.
In some embodiments, establishing the corresponding threads according to the number of requests of the client, wherein each thread fetching the corresponding client message queue from the global service queue further comprises: and locking a corresponding client message queue, and performing format conversion on the message event to write the message event into the client message queue.
In some embodiments, the method further comprises: and responding to a new message event written in the client message queue, and writing the client message queue into the tail of the global service queue.
And establishing corresponding threads according to the number of the requests of the client, and taking out a corresponding client message queue from the global service queue by each thread. After receiving the requests sent by the client, the server establishes a corresponding number of threads according to the number of the requests sent by the client, for example, one thread is established by one request, or two threads are established by one request, or one thread is established by two requests. After the thread starts, the global service queue is locked. Each thread determines a corresponding client according to the source of the request, determines a client message queue based on the client, and then takes the client message queue out of the global service queue.
And analyzing a corresponding message event from the client message queue according to the request of the client, and sending an event response request to the cluster. The thread analyzes the request of the client, then determines the message event needed by the request, and then analyzes the corresponding message event from the message queue of the client, if the message event needed by the client exists in the message queue of the client, the thread calls the request service of the corresponding ismDataItem, and sends an event response request to the cluster.
And sending the message event to the client in response to receiving the response returned by the cluster. In some embodiments, said sending said message event to said client comprises: decoding the message event and format converting the decoded message event for sending to the client. And releases the global service queue.
The invention provides an active pushing method in a distributed storage system.A storage cluster actively pushes request data to a client in a client queue by collecting monitoring data of the storage cluster when data updating exists in a data queue. The invention can not only reduce the development task amount of the client, but also reduce the pressure on the server caused by polling the cluster data of the server by the client, and improve the real-time performance and the accuracy of cluster monitoring; meanwhile, for the development framework, the request and the service are flattened, and the cluster monitoring logic sinks to the service end, so that the integrity and the usability of the whole development framework are facilitated.
It should be particularly noted that, the steps in the embodiments of the method for unsolicited push request described above can be mutually intersected, replaced, added, or deleted, so that these methods for unsolicited push request transformed by reasonable permutation and combination also belong to the scope of protection of the present invention, and the scope of protection of the present invention should not be limited to the embodiments.
In view of the above, a second aspect of the embodiments of the present invention provides an active push system of a distributed system, including: the acquisition module is configured to acquire monitoring data to judge whether a message event exists; a receiving module configured to notify a client and receive a request of the client in response to a presence message event; the thread module is configured to establish corresponding threads according to the number of the requests of the client, and each thread takes out a corresponding client message queue from the global service queue; the execution module is configured to analyze a corresponding message event from the client message queue according to the request of the client and send an event response request to the cluster; and the sending module is configured to send the message event to the client in response to receiving a response returned by the cluster.
In some embodiments, the thread module is further configured to lock a corresponding client message queue and format convert the message event for writing to the client message queue.
In some embodiments, further comprising: and the second queue module is configured to respond to a new message event written in the client message queue and write the client message queue into the tail of the global service queue.
In some embodiments, the sending module is further configured to: decoding the message event and format converting the decoded message event for sending to the client.
In view of the above object, a third aspect of the embodiments of the present invention provides a computer device, including: at least one processor; and a memory storing computer instructions executable on the processor, the instructions being executable by the processor to perform the steps of: s1, acquiring monitoring data to judge whether a message event exists; s2, responding to the existence message event, notifying the client and receiving the request of the client; s3, establishing corresponding threads according to the number of the requests of the client, and taking out a corresponding client message queue from the global service queue by each thread; s4, resolving a corresponding message event from the client message queue according to the request of the client, and sending an event response request to the cluster; and S5, responding to the response returned by the cluster, and sending the message event to the client.
In some embodiments, establishing the corresponding threads according to the number of requests of the client, wherein each thread fetching the corresponding client message queue from the global service queue further comprises: and locking a corresponding client message queue, and performing format conversion on the message event to write the message event into the client message queue.
In some embodiments, further comprising: and responding to a new message event written in the client message queue, and writing the client message queue into the tail of the global service queue.
In some embodiments, said sending said message event to said client comprises: decoding the message event and format converting the decoded message event for sending to the client.
Fig. 2 is a schematic hardware structural diagram of an embodiment of the computer device for active push request according to the present invention.
Taking the apparatus shown in fig. 2 as an example, the apparatus includes a processor 301 and a memory 302, and may further include: an input device 303 and an output device 304.
The processor 301, the memory 302, the input device 303 and the output device 304 may be connected by a bus or other means, and fig. 2 illustrates the connection by a bus as an example.
The memory 302 is a non-volatile computer-readable storage medium and can be used for storing non-volatile software programs, non-volatile computer-executable programs, and modules, such as program instructions/modules corresponding to the method of unsolicited push request in the embodiments of the present application. The processor 301 executes various functional applications of the server and data processing by running nonvolatile software programs, instructions and modules stored in the memory 302, namely, the method of implementing the active push request of the above-described method embodiment.
The memory 302 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the method of the active push request, and the like. Further, the memory 302 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some embodiments, memory 302 optionally includes memory located remotely from processor 301, which may be connected to a local module via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The input device 303 may receive information such as a user name and a password that are input. The output means 304 may comprise a display device such as a display screen.
Program instructions/modules corresponding to the one or more methods of proactive push request are stored in the memory 302 and when executed by the processor 301, perform the methods of proactive push request in any of the above-described method embodiments.
Any embodiment of the computer device executing the method for actively pushing a request may achieve the same or similar effects as any corresponding embodiment of the method described above.
The invention also provides a computer readable storage medium storing a computer program which, when executed by a processor, performs the method as above.
Finally, it should be noted that, as one of ordinary skill in the art can appreciate that all or part of the processes in the methods of the above embodiments can be implemented by a computer program to instruct related hardware, and the program of the method for actively pushing a request can be stored in a computer readable storage medium, and when executed, the program can include the processes of the embodiments of the methods as described above. The storage medium of the program may be a magnetic disk, an optical disk, a Read Only Memory (ROM), a Random Access Memory (RAM), or the like. The embodiments of the computer program may achieve the same or similar effects as any of the above-described method embodiments.
Furthermore, the methods disclosed according to embodiments of the present invention may also be implemented as a computer program executed by a processor, which may be stored in a computer-readable storage medium. Which when executed by a processor performs the above-described functions defined in the methods disclosed in embodiments of the invention.
Further, the above method steps and system elements may also be implemented using a controller and a computer readable storage medium for storing a computer program for causing the controller to implement the functions of the above steps or elements.
Further, it should be appreciated that the computer-readable storage media (e.g., memory) herein can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. By way of example, and not limitation, nonvolatile memory can include Read Only Memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM), which can act as external cache memory. By way of example and not limitation, RAM is available in a variety of forms such as synchronous RAM (DRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The storage devices of the disclosed aspects are intended to comprise, without being limited to, these and other suitable types of memory.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as software or hardware depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosed embodiments of the present invention.
The various illustrative logical blocks, modules, and circuits described in connection with the disclosure herein may be implemented or performed with the following components designed to perform the functions herein: a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination of these components. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP, and/or any other such configuration.
The steps of a method or algorithm described in connection with the disclosure herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
In one or more exemplary designs, the functions may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes Compact Disc (CD), laser disc, optical disc, Digital Versatile Disc (DVD), floppy disk, blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
The foregoing is an exemplary embodiment of the present disclosure, but it should be noted that various changes and modifications could be made herein without departing from the scope of the present disclosure as defined by the appended claims. The functions, steps and/or actions of the method claims in accordance with the disclosed embodiments described herein need not be performed in any particular order. Furthermore, although elements of the disclosed embodiments of the invention may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.
It should be understood that, as used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly supports the exception. It should also be understood that "and/or" as used herein is meant to include any and all possible combinations of one or more of the associated listed items.
The numbers of the embodiments disclosed in the embodiments of the present invention are merely for description, and do not represent the merits of the embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
Those of ordinary skill in the art will understand that: the discussion of any embodiment above is meant to be exemplary only, and is not intended to intimate that the scope of the disclosure, including the claims, of embodiments of the invention is limited to these examples; within the idea of an embodiment of the invention, also technical features in the above embodiment or in different embodiments may be combined and there are many other variations of the different aspects of the embodiments of the invention as described above, which are not provided in detail for the sake of brevity. Therefore, any omissions, modifications, substitutions, improvements, and the like that may be made without departing from the spirit and principles of the embodiments of the present invention are intended to be included within the scope of the embodiments of the present invention.

Claims (10)

1.一种分布式系统的主动推送的方法,其特征在于,包括以下步骤:1. a method for actively pushing a distributed system, is characterized in that, comprises the following steps: 获取监控数据以判断是否存在消息事件;Obtain monitoring data to determine whether there is a message event; 响应于存在消息事件,通知客户端并接收所述客户端的请求;In response to the presence of a message event, notifying the client and receiving the client's request; 根据所述客户端的请求的数量建立对应的线程,每个线程从全局服务队列中取出对应的客户端消息队列;Corresponding threads are established according to the number of requests of the client, and each thread takes out the corresponding client message queue from the global service queue; 根据所述客户端的请求从所述客户端消息队列中解析出对应的消息事件,并向集群发送事件响应请求;以及According to the request of the client, the corresponding message event is parsed from the client message queue, and an event response request is sent to the cluster; and 响应于接收到集群返回的响应,将所述消息事件发送到所述客户端。The message event is sent to the client in response to receiving a response from the cluster. 2.根据权利要求1所述的方法,其特征在于,根据所述客户端的请求的数量建立对应的线程,每个线程从全局服务队列中取出对应的客户端消息队列还包括:2. method according to claim 1, is characterized in that, establishing corresponding thread according to the quantity of the request of described client, each thread takes out corresponding client message queue from global service queue and also comprises: 锁定对应的客户端消息队列,并将所述消息事件进行格式转换以写入所述客户端消息队列。The corresponding client message queue is locked, and the message event is formatted to be written into the client message queue. 3.根据权利要求2所述的方法,其特征在于,还包括:3. The method of claim 2, further comprising: 响应于客户端消息队列写入新的消息事件,将所述客户端消息队列写入全局服务队列的队尾。In response to the client message queue writing a new message event, the client message queue is written to the tail of the global service queue. 4.根据权利要求1所述的方法,其特征在于,所述将所述消息事件发送到所述客户端包括:4. The method of claim 1, wherein the sending the message event to the client comprises: 对所述消息事件进行解码,并对解码后的消息事件进行格式转换以发送到所述客户端。The message event is decoded, and the decoded message event is format-converted to be sent to the client. 5.一种分布式系统的主动推送系统,其特征在于,包括:5. the active push system of a distributed system, is characterized in that, comprises: 采集模块,配置用于获取监控数据以判断是否存在消息事件;an acquisition module, configured to acquire monitoring data to determine whether there is a message event; 接收模块,配置用于响应于存在消息事件,通知客户端并接收所述客户端的请求;a receiving module, configured to notify the client and receive the client's request in response to the presence of a message event; 线程模块,配置用于根据所述客户端的请求的数量建立对应的线程,每个线程从全局服务队列中取出对应的客户端消息队列;a thread module, configured to establish a corresponding thread according to the number of requests of the client, and each thread takes out the corresponding client message queue from the global service queue; 执行模块,配置用于根据所述客户端的请求从所述客户端消息队列中解析出对应的消息事件,并向集群发送事件响应请求;以及an execution module, configured to parse out the corresponding message event from the client message queue according to the client's request, and send an event response request to the cluster; and 发送模块,配置用于响应于接收到集群返回的响应,将所述消息事件发送到所述客户端。The sending module is configured to send the message event to the client in response to receiving the response returned by the cluster. 6.根据权利要求5所述的系统,其特征在于,线程模块还配置用于锁定对应的客户端消息队列,并将所述消息事件进行格式转换以写入所述客户端消息队列。6 . The system according to claim 5 , wherein the thread module is further configured to lock the corresponding client message queue, and format the message event to be written into the client message queue. 7 . 7.根据权利要求6所述的系统,其特征在于,还包括:7. The system of claim 6, further comprising: 第二队列模块,配置用于响应于客户端消息队列写入新的消息事件,将所述客户端消息队列写入全局服务队列的队尾。The second queue module is configured to write the client message queue to the tail of the global service queue in response to the client message queue writing a new message event. 8.根据权利要求5所述的系统,其特征在于,所述发送模块还配置用于:8. The system according to claim 5, wherein the sending module is further configured to: 对所述消息事件进行解码,并对解码后的消息事件进行格式转换以发送到所述客户端。The message event is decoded, and the decoded message event is format-converted to be sent to the client. 9.一种计算机设备,其特征在于,包括:9. A computer equipment, characterized in that, comprising: 至少一个处理器;以及at least one processor; and 存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-4任意一项所述方法的步骤。a memory storing computer instructions executable on the processor, the instructions implementing the steps of the method of any one of claims 1-4 when executed by the processor. 10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任意一项所述方法的步骤。10. A computer-readable storage medium storing a computer program, characterized in that, when the computer program is executed by a processor, the steps of the method of any one of claims 1-4 are implemented.
CN202010474090.3A 2020-05-29 2020-05-29 Method, system, device and medium for actively pushing distributed system Active CN111756811B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010474090.3A CN111756811B (en) 2020-05-29 2020-05-29 Method, system, device and medium for actively pushing distributed system
PCT/CN2021/073797 WO2021238287A1 (en) 2020-05-29 2021-01-26 Method, system and device for active pushing of distributed system, and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010474090.3A CN111756811B (en) 2020-05-29 2020-05-29 Method, system, device and medium for actively pushing distributed system

Publications (2)

Publication Number Publication Date
CN111756811A CN111756811A (en) 2020-10-09
CN111756811B true CN111756811B (en) 2022-05-13

Family

ID=72674426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010474090.3A Active CN111756811B (en) 2020-05-29 2020-05-29 Method, system, device and medium for actively pushing distributed system

Country Status (2)

Country Link
CN (1) CN111756811B (en)
WO (1) WO2021238287A1 (en)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111756811B (en) * 2020-05-29 2022-05-13 苏州浪潮智能科技有限公司 Method, system, device and medium for actively pushing distributed system
CN112615901B (en) * 2020-11-26 2022-07-12 新华三大数据技术有限公司 Method for sending user request by client and storage system
CN112463144B (en) * 2020-12-02 2022-11-11 苏州浪潮智能科技有限公司 Distributed storage command line service method, system, terminal and storage medium
CN112860400A (en) * 2021-02-09 2021-05-28 山东英信计算机技术有限公司 Method, system, device and medium for processing distributed training task
CN112953769B (en) * 2021-02-10 2022-10-11 中国工商银行股份有限公司 Data transmission method, device, computer system and readable storage medium
CN113076281B (en) * 2021-03-30 2022-11-04 山东英信计算机技术有限公司 Method, system, equipment and medium for communication of Ceph kernel client
CN113259430B (en) * 2021-05-11 2023-01-31 京东科技控股股份有限公司 Message calling method and device, electronic equipment and storage medium
CN113472736B (en) * 2021-05-14 2023-06-02 山东英信计算机技术有限公司 Method, device, equipment and readable medium for transmitting data of internal and external networks
CN113824973A (en) * 2021-08-04 2021-12-21 杭州星犀科技有限公司 Multi-platform direct-push plug flow method, system, electronic device and storage medium
CN113778786B (en) * 2021-08-09 2023-11-14 珠海金智维信息科技有限公司 A monitoring middleware
CN113890893B (en) * 2021-08-27 2024-10-18 济南浪潮数据技术有限公司 Connection filtering method and system for multiple IP clients and readable storage medium
CN113794757B (en) * 2021-08-31 2024-03-19 百融至信(北京)科技有限公司 Redis cluster off-site synchronization method and system based on rabitmq
CN113703947A (en) * 2021-09-01 2021-11-26 上海漫酷网络技术有限公司 Distributed task processing system, method, computer equipment and storage medium
CN114363269B (en) * 2021-09-12 2023-07-25 苏州浪潮智能科技有限公司 Message transmission method, system, equipment and medium
CN113986582A (en) * 2021-11-08 2022-01-28 中煤(西安)地下空间科技发展有限公司 Real-time data pushing method, device, equipment and storage medium
CN114221885A (en) * 2021-12-07 2022-03-22 深圳市链融科技股份有限公司 Message asynchronous processing method and device, computer equipment and storage medium
CN114253720B (en) * 2021-12-15 2025-08-12 青岛海尔科技有限公司 Multithreading task execution method and device, electronic equipment and storage medium
CN114240511B (en) * 2021-12-22 2025-07-22 中国建设银行股份有限公司 User integration processing method, device, equipment, medium and program product
CN114063936B (en) * 2022-01-18 2022-03-22 苏州浪潮智能科技有限公司 A method, system, device and storage medium for optimizing timing tasks
CN114584625B (en) * 2022-01-24 2024-03-26 北京达佳互联信息技术有限公司 Message processing method and device, electronic equipment and storage medium
CN114640659B (en) * 2022-03-29 2023-09-19 北京白海科技有限公司 Cloud encoding auxiliary method and device, electronic equipment and storage medium
CN114979238A (en) * 2022-05-24 2022-08-30 浪潮软件集团有限公司 Multi-client data real-time pushing method and system
CN115134423B (en) * 2022-06-28 2024-06-04 北京东进华安技术有限公司 Cryptographic card communication system and method
CN115297193B (en) * 2022-08-01 2024-10-11 北京左江科技股份有限公司 Multi-concurrency calling type communication method under unreliable physical transmission channel
CN115357641B (en) * 2022-08-19 2025-11-04 北京百度网讯科技有限公司 Data query methods, devices, electronic equipment and storage media
CN115442446B (en) * 2022-08-31 2024-10-29 中国长江三峡集团有限公司 Industrial communication management system and method of micro-service architecture under industrial Internet
CN115562825B (en) * 2022-09-23 2024-12-17 山东云海国创云计算装备产业创新中心有限公司 Quantum computer scheduling method, device, equipment and readable medium
CN115277859B (en) * 2022-09-28 2022-12-06 深圳华锐分布式技术股份有限公司 Request scheduling method, device, equipment and medium
CN115334025B (en) * 2022-10-12 2023-02-28 北京百度网讯科技有限公司 Decentralized instant messaging method, device, equipment and storage medium
CN115905883A (en) * 2022-11-18 2023-04-04 阿里巴巴(中国)有限公司 User matching method, device, equipment and storage medium
CN115834658A (en) * 2022-11-24 2023-03-21 明度智云(浙江)科技有限公司 Message notification method and device, electronic equipment and storage medium
CN116132927B (en) * 2022-11-28 2024-08-06 深圳市云洲创新科技有限公司 Service quality assurance method and system for unmanned equipment cluster message
CN116016664A (en) * 2022-11-29 2023-04-25 武汉中海庭数据技术有限公司 Message distribution method, system, electronic equipment and storage medium
CN115665173B (en) * 2022-12-05 2023-03-17 深圳市华曦达科技股份有限公司 MQ-based Websocket communication method, system and storage medium
CN115904756B (en) * 2022-12-14 2026-01-06 中科云谷科技有限公司 Interface integration processing methods, systems, electronic devices, and readable storage media
CN118277116B (en) * 2022-12-30 2025-12-16 比亚迪股份有限公司 Message data processing method and device, storage medium and electronic equipment
CN116192792A (en) * 2023-02-06 2023-05-30 北京达佳互联信息技术有限公司 Message processing method, device, electronic equipment and storage medium
CN116627968B (en) * 2023-05-08 2025-12-05 北京洞悉网络有限公司 A concurrent request processing method, processing device, computer equipment, and medium
CN116627681B (en) * 2023-07-25 2023-10-17 太平金融科技服务(上海)有限公司 Service request processing method, device, computer equipment, medium and program product
CN117237975A (en) * 2023-09-14 2023-12-15 中国人民财产保险股份有限公司 Document information identification and management methods, devices, equipment and media
CN119094605B (en) * 2024-08-29 2025-09-19 浪潮云信息技术股份公司 Distributed data return method and device, medium and equipment
CN119835611B (en) * 2024-12-09 2026-01-06 广州市玄武无线科技股份有限公司 A method, system, electronic device, and storage medium for processing SMS delivery receipts.

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523177A (en) * 2011-12-19 2012-06-27 北京新媒传信科技有限公司 Method and system for realization of message push service
GB201417430D0 (en) * 2014-10-02 2014-11-19 Ibm Processing messages for retrieval from a message queuing system
CN105577777A (en) * 2015-12-18 2016-05-11 腾讯科技(深圳)有限公司 Message processing method, device and system
CN110300050A (en) * 2019-05-23 2019-10-01 中国平安人寿保险股份有限公司 Information push method, device, computer equipment and storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110227934A1 (en) * 2010-03-19 2011-09-22 Microsoft Corporation Architecture for Volume Rendering
US9521515B2 (en) * 2015-01-26 2016-12-13 Mobli Technologies 2010 Ltd. Content request by location
US20180196805A1 (en) * 2017-01-06 2018-07-12 Scientiamobile, Inc. System and method for image optimization
CN109462634A (en) * 2018-09-25 2019-03-12 郑州云海信息技术有限公司 Message treatment method, device and equipment in a kind of distributed system
CN109981267B (en) * 2019-03-22 2021-06-08 西安电子科技大学 Large-scale user multi-key scenario cloud encryption database system and storage query method
CN111756811B (en) * 2020-05-29 2022-05-13 苏州浪潮智能科技有限公司 Method, system, device and medium for actively pushing distributed system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523177A (en) * 2011-12-19 2012-06-27 北京新媒传信科技有限公司 Method and system for realization of message push service
GB201417430D0 (en) * 2014-10-02 2014-11-19 Ibm Processing messages for retrieval from a message queuing system
CN105577777A (en) * 2015-12-18 2016-05-11 腾讯科技(深圳)有限公司 Message processing method, device and system
CN110300050A (en) * 2019-05-23 2019-10-01 中国平安人寿保险股份有限公司 Information push method, device, computer equipment and storage medium

Also Published As

Publication number Publication date
CN111756811A (en) 2020-10-09
WO2021238287A1 (en) 2021-12-02

Similar Documents

Publication Publication Date Title
CN111756811B (en) Method, system, device and medium for actively pushing distributed system
WO2016184175A1 (en) Database processing method and apparatus
US20170163479A1 (en) Method, Device and System of Renewing Terminal Configuration In a Memcached System
WO2020238344A1 (en) Rapid sdk integration method and apparatus based on block chain, device and device and storage medium
CN113067725B (en) Service configuration dynamic updating method, system, electronic equipment and readable storage medium
WO2019227427A1 (en) File download method, device and apparatus/terminal/server
CN111258627A (en) Interface document generation method and device
CN112804289A (en) Resource synchronization method, device, equipment and storage medium
CN111064626A (en) Configuration updating method, device, server and readable storage medium
CN110933171A (en) Server asynchronous communication method, device, equipment and computer storage medium
CN114900449A (en) Resource information management method, system and device
CN111327447A (en) Distributed system, arbitration method, node device and storage medium
CN111385255B (en) Asynchronous call implementation method, device, server and server cluster
CN115328509A (en) Algorithm changing method, device, computer equipment and storage medium
CN115639954B (en) Data transmission method, device, equipment and medium
CN113422935A (en) Video stream processing method, device and system
CN111200651A (en) Method, system, device and medium for timed calling of microservice
CN120066624B (en) Application calling method, computer device and storage medium
WO2023071999A1 (en) User matching method and apparatus, and device and storage medium
CN113515502B (en) Data migration method, device, equipment and storage medium
CN114218317A (en) Progress information control method, micro-service device, electronic equipment and storage medium
CN112153148A (en) Message accumulation processing method and device based on message receiving end
CN116319964A (en) Communication method and device of client, electronic equipment and storage medium
CN117332008A (en) A cache bidirectional synchronization implementation method, device and equipment suitable for reading and writing
CN115550360A (en) Database-based operation node management method, device, system and medium

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
CP03 Change of name, title or address

Address after: Building 9, No.1, guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Wuzhong District, Suzhou City, Jiangsu Province

Patentee after: Suzhou Yuannao Intelligent Technology Co.,Ltd.

Country or region after: China

Address before: Building 9, No.1, guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Wuzhong District, Suzhou City, Jiangsu Province

Patentee before: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address