CN112615929B - Method and equipment for pushing messages - Google Patents

Method and equipment for pushing messages Download PDF

Info

Publication number
CN112615929B
CN112615929B CN202011552903.2A CN202011552903A CN112615929B CN 112615929 B CN112615929 B CN 112615929B CN 202011552903 A CN202011552903 A CN 202011552903A CN 112615929 B CN112615929 B CN 112615929B
Authority
CN
China
Prior art keywords
push
message
indication information
module
check
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
CN202011552903.2A
Other languages
Chinese (zh)
Other versions
CN112615929A (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.)
Shanghai Zhangmen Science and Technology Co Ltd
Original Assignee
Shanghai Zhangmen Science and 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 Shanghai Zhangmen Science and Technology Co Ltd filed Critical Shanghai Zhangmen Science and Technology Co Ltd
Priority to CN202011552903.2A priority Critical patent/CN112615929B/en
Publication of CN112615929A publication Critical patent/CN112615929A/en
Application granted granted Critical
Publication of CN112615929B publication Critical patent/CN112615929B/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/50Network services
    • H04L67/55Push-based network services
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/133Protocols for remote procedure calls [RPC]

Abstract

The purpose of the application is to provide a method and a device for pushing messages, the message pushing system in the application realizes parallel processing of a pushed message checking process through a plurality of parallel checking modules, and connects an authentication module, a plurality of parallel checking modules, a pushing channel selection module and a pushing channel selection module through a remote process calling mode and a message queue mode, so that all function modules in the message pushing system can be decoupled mutually, the performance of a message pushing middleware can be improved, the problem of middleware performance bottleneck existing in the prior art is solved, the throughput and the message pushing speed of the pushed messages can be effectively improved, and the efficiency and the stability of message pushing are improved.

Description

Method and equipment for pushing messages
Technical Field
The present application relates to the field of communications, and in particular, to a technique for pushing messages.
Background
With the development of the times, push information sent by a push system to user equipment is more and more diversified, for example, the push information may be information such as an advertisement or a notification, and the push information sent by a server needs to be displayed in the user equipment, so that a user can browse the push information, and an effect of improving the attention of the push information is achieved. A serial processing mode is adopted in a push system in the prior art, so that the problems of performance bottleneck of middleware, hardware configuration defects of a server, insufficient throughput and low speed exist.
Disclosure of Invention
An object of the present application is to provide a method and an apparatus for pushing a message.
According to an aspect of the present application, there is provided a method for pushing a message, the method including:
receiving a push message sending request sent by user equipment, wherein the push message sending request comprises a push message and first identification information corresponding to the user equipment, and the push message comprises push message content and second identification information corresponding to a push user;
providing the first identification information to an authentication module, verifying the first identification information through the authentication module, and if the first identification information passes the verification, providing the push message to the parallel checking modules through first remote calling interfaces respectively provided by the parallel checking modules based on a remote procedure calling mode;
for each parallel checking module in the plurality of parallel checking modules, checking the push message through the parallel checking module, and if the checking is passed, sending checking passing indication information to a first message queue based on message middleware, wherein the checking passing indication information comprises the push message;
if the number of the check passing indication information including the push message acquired from the first message queue through the push channel selection module is equal to the number of the plurality of parallel check modules, determining a push channel corresponding to the push message through the push channel selection module, and sending the push indication information to a second message queue based on the message middleware, wherein the push indication information includes the push message and third identification information corresponding to the push channel;
and acquiring the push indication information from the second message queue through a push channel selection module, and pushing the content of the push message to the user equipment corresponding to the second identification information through a push channel corresponding to the third identification information according to the third identification information.
According to an aspect of the present application, there is provided a network device for pushing a message, the device comprising:
the system comprises a one-to-one module, a first module and a second module, wherein the one-to-one module is used for receiving a push message sending request sent by user equipment, the push message sending request comprises a push message and first identification information corresponding to the user equipment, and the push message comprises push message content and second identification information corresponding to a push user;
the second module is used for providing the first identification information to an authentication module, verifying the first identification information through the authentication module, and if the first identification information passes the verification, respectively providing the push message to the parallel checking modules through first remote calling interfaces respectively provided by the parallel checking modules based on a remote procedure calling mode;
a third module, configured to check, by using a parallel checking module, the push message for each of the multiple parallel checking modules, and send, based on the message middleware, check passing indication information to the first message queue if the push message passes the check, where the check passing indication information includes the push message;
a fourth module, configured to determine, by a push channel selection module, a push channel corresponding to the push message if the number of check passing indication information including the push message, acquired from the first message queue by the push channel selection module is equal to the number of the multiple parallel check modules, and send, based on the message middleware, push indication information to a second message queue, where the push indication information includes the push message and third identification information corresponding to the push channel;
and a fifth module, configured to obtain the push indication information from the second message queue through a push channel sending module, and push the content of the push message to the user equipment corresponding to the second identification information through a push channel corresponding to the third identification information according to the third identification information.
According to an aspect of the present application, there is provided a message pushing device, wherein the message pushing device includes:
a processor; and
a memory arranged to store computer executable instructions that, when executed, cause the processor to:
receiving a push message sending request sent by user equipment, wherein the push message sending request comprises a push message and first identification information corresponding to the user equipment, and the push message comprises push message content and second identification information corresponding to a push user;
providing the first identification information to an authentication module, verifying the first identification information through the authentication module, and if the first identification information passes the verification, providing the push message to the parallel checking modules through first remote calling interfaces respectively provided by the parallel checking modules based on a remote procedure calling mode;
for each parallel checking module in the plurality of parallel checking modules, checking the push message through the parallel checking module, and if the checking is passed, sending checking passing indication information to a first message queue based on message middleware, wherein the checking passing indication information comprises the push message;
if the number of the check passing indication information including the push message, which is obtained from the first message queue through the push channel selection module, is equal to the number of the plurality of parallel check modules, determining a push channel corresponding to the push message through the push channel selection module, and sending the push indication information to a second message queue based on the message middleware, wherein the push indication information includes the push message and third identification information corresponding to the push channel;
and acquiring the push indication information from the second message queue through a push channel sending module, and pushing the content of the push message to the user equipment corresponding to the second identification information through a push channel corresponding to the third identification information according to the third identification information.
According to one aspect of the application, there is provided a computer-readable medium storing instructions that, when executed, cause a system to:
receiving a push message sending request sent by user equipment, wherein the push message sending request comprises a push message and first identification information corresponding to the user equipment, and the push message comprises push message content and second identification information corresponding to a push user;
providing the first identification information to an authentication module, verifying the first identification information through the authentication module, and if the first identification information passes the verification, providing the push message to the parallel checking modules through first remote calling interfaces respectively provided by the parallel checking modules based on a remote procedure calling mode;
for each parallel checking module in the plurality of parallel checking modules, checking the push message through the parallel checking module, and if the checking is passed, sending checking passing indication information to a first message queue based on message middleware, wherein the checking passing indication information comprises the push message;
if the number of the check passing indication information including the push message acquired from the first message queue through the push channel selection module is equal to the number of the plurality of parallel check modules, determining a push channel corresponding to the push message through the push channel selection module, and sending the push indication information to a second message queue based on the message middleware, wherein the push indication information includes the push message and third identification information corresponding to the push channel;
and acquiring the push indication information from the second message queue through a push channel sending module, and pushing the content of the push message to the user equipment corresponding to the second identification information through a push channel corresponding to the third identification information according to the third identification information.
Compared with the prior art, the message pushing system realizes parallel processing of a pushed message checking process through the plurality of parallel checking modules, and connects the authentication module, the plurality of parallel checking modules, the pushing channel selection module and the pushing channel selection module through a remote process calling mode and a message queue mode, so that all function modules in the message pushing system can be decoupled mutually, the performance of a message pushing middleware can be improved, the problem of middleware performance bottleneck existing in the prior art is solved, the throughput and the message pushing speed of a pushed message can be effectively improved, and the efficiency and the stability of message pushing are improved.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the detailed description of non-limiting embodiments made with reference to the following drawings:
FIG. 1 illustrates a flow diagram of a method for pushing messages according to one embodiment of the present application;
FIG. 2 illustrates a diagram of a network device architecture for pushing messages, according to one embodiment of the present application;
FIG. 3 illustrates an exemplary system that can be used to implement the various embodiments described in this application.
The same or similar reference numbers in the drawings identify the same or similar elements.
Detailed Description
The present application is described in further detail below with reference to the attached figures.
In a typical configuration of the present application, the terminal, the device serving the network, and the trusted party each include one or more processors (e.g., central Processing Units (CPUs)), input/output interfaces, network interfaces, and memory.
The Memory may include forms of volatile Memory, random Access Memory (RAM), and/or non-volatile Memory in a computer-readable medium, such as Read Only Memory (ROM) or Flash Memory. Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase-Change Memory (PCM), programmable Random Access Memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash Memory or other Memory technologies, compact Disc Read-Only Memory (CD-ROM), digital Versatile Disc (DVD) or other optical storage, magnetic cassettes, magnetic tape storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
The device referred to in this application includes, but is not limited to, a user device, a network device, or a device formed by integrating a user device and a network device through a network. The user equipment includes, but is not limited to, any mobile electronic product, such as a smart phone, a tablet computer, etc., capable of performing human-computer interaction with a user (e.g., human-computer interaction through a touch panel), and the mobile electronic product may employ any operating system, such as an Android operating system, an iOS operating system, etc. The network Device includes an electronic Device capable of automatically performing numerical calculation and information processing according to a preset or stored instruction, and the hardware includes, but is not limited to, a microprocessor, an Application Specific Integrated Circuit (ASIC), a Programmable Logic Device (PLD), a Field Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), an embedded Device, and the like. The network device includes but is not limited to a computer, a network host, a single network server, a plurality of network server sets or a cloud of a plurality of servers; here, the Cloud is composed of a large number of computers or web servers based on Cloud Computing (Cloud Computing), which is a kind of distributed Computing, one virtual supercomputer consisting of a collection of loosely coupled computers. Including, but not limited to, the internet, a wide area network, a metropolitan area network, a local area network, a VPN network, a wireless Ad Hoc network (Ad Hoc network), etc. Preferably, the device may also be a program running on the user device, the network device, or a device formed by integrating the user device and the network device, the touch terminal, or the network device and the touch terminal through a network.
Of course, those skilled in the art will understand that the above-described apparatus is merely exemplary, and that other existing or future existing apparatus, as may be suitable for use in the present application, are intended to be encompassed within the scope of the present application and are hereby incorporated by reference.
In the description of the present application, "a plurality" means two or more unless specifically limited otherwise.
Fig. 1 shows a flowchart of a method for pushing a message according to an embodiment of the present application, where the method includes step S11, step S12, step S13, step S14, and step S15. In step S11, a network device receives a push message sending request sent by a user device, where the push message sending request includes a push message and first identification information corresponding to the user device, and the push message includes push message content and second identification information corresponding to a push user; in step S12, the network device provides the first identification information to an authentication module, verifies the first identification information through the authentication module, and if the verification is passed, provides the push message to the parallel checking modules through first remote call interfaces provided by the parallel checking modules respectively based on a remote procedure call mode; in step S13, the network device checks the push message through each of the multiple parallel checking modules, and if the push message passes the check, sends check passing indication information to the first message queue based on the message middleware, where the check passing indication information includes the push message; in step S14, if the number of check passing indication information including the push message, which is obtained from the first message queue by the push channel selection module, is equal to the number of the multiple parallel check modules, the network device determines, by the push channel selection module, a push channel corresponding to the push message, and sends, based on the message middleware, push indication information to a second message queue, where the push indication information includes the push message and third identification information corresponding to the push channel; in step S15, the network device obtains the push indication information from the second message queue through a push channel sending module, and pushes the content of the push message to the user device corresponding to the second identification information through a push channel corresponding to the third identification information according to the third identification information.
In step S11, the network device receives a push message sending request sent by the user equipment, where the push message sending request includes a push message and first identification information corresponding to the user equipment, and the push message includes push message content and second identification information corresponding to a push user. In some embodiments, the message push system may run on one network device, or may run on multiple network devices. In some embodiments, the first identification information may be device identification information of a user equipment of the sender of the push message, or may also be user identification information of the sender of the push message. In some embodiments, the network device pushes the push message content to the user device of the push message receiver identified by the second identification information through a certain push channel, and presents the push message content in a message notification bar of the user device or a target application corresponding to the push message content. In some embodiments, the push user is a user that receives push message content, i.e., a push message recipient. In some embodiments, the second identification information may be identification information of the push user, or may also be identification information of a user device used by the push user. In some embodiments, the second identification information may be used to identify a single user in the target application corresponding to the content of the push message, or may be used to identify multiple users in the target application, or may be used to identify all users in the target application.
In step S12, the network device provides the first identification information to an authentication module, verifies the first identification information through the authentication module, and if the verification is passed, provides the push message to the parallel checking modules through the first remote call interfaces provided by the parallel checking modules respectively based on a remote procedure call mode. In some embodiments, the authentication module is an independent module in the network device, and is configured to verify whether the user device or a push message sender sending a push message sending request using the user device has a push message right, where the verification may be to verify whether the user device or the push message sender has the push right at the current time, or to verify whether the user device or the push message sender has the push right for the push message. In some embodiments, if the authentication fails, an authentication failure indication message is generated and returned to the network device, and is returned to the user equipment through the network device for presentation. In some embodiments, a Remote Procedure Call (RPC) refers to a process on computer a that calls another process on computer a or calls a process on another computer B, where the calling process on a is suspended and the called process on B begins execution, when the value returns to a, the a process continues execution, the caller may pass the incoming parameters to the callee through an interface provided by the callee, and the callee, after processing the parameter information, may pass the processing results back to the caller as a return parameter. In some embodiments, the parallel checking modules run in parallel with each other, and the parallel checking modules and the authentication module may be located in the same network device, or may be located in two different network devices, or the parallel checking modules may be located in different network devices. In some embodiments, a plurality of parallel checking modules are used for checking the push message, and the plurality of parallel checking modules may each respectively provide the first remote invocation interface based on the remote procedure invocation manner. In some embodiments, after the authentication module passes the verification, the authentication module returns verification result information that passes the verification to the network device, and then the network device may provide the push messages to the multiple parallel checking modules through the first remote call interface based on a remote procedure call mode. In some embodiments, after the authentication module passes the verification, the push messages may be provided to the plurality of parallel checking modules through the first remote call interface directly based on the remote procedure call mode.
In step S13, for each of the plurality of parallel checking modules, the network device checks the push message through the parallel checking module, and if the check is passed, sends check-passing indication information to the first message queue based on the message middleware, where the check-passing indication information includes the push message. In some embodiments, each parallel checking module checks the push message, and if the push message passes the check, generates check passing indication information including the push message, and sends the check passing indication information to the first message queue. In some embodiments, a Message Queue (MQ) is a "first-in-first-out" data mechanism in an underlying data structure, which refers to putting data (messages) to be transmitted in a Queue, implementing Message passing using a Queue mechanism, generating messages by a producer and putting the messages in the Queue, and then processing by a consumer, who can pull messages from the Queue, or who can subscribe to the Queue to push messages actively by the Queue. In some embodiments, there may be only one first message queue, and each parallel checking module sends the push message to the first message queue after the check is passed. In some embodiments, there may be a plurality of first message queues, each of the parallel checking modules corresponds to a different first message queue, and each of the parallel checking modules sends the push message to the first message queue corresponding to the parallel checking module after the checking is passed. In some embodiments, the message middleware acts as a running carrier of the first message queue, and manages, supports and maintains data communication of the first message queue through an efficient and reliable message transmission mechanism.
In step S14, if the number of check passing indication information including the push message, which is obtained from the first message queue by the push channel selection module, is equal to the number of the parallel check modules, the network device determines, by the push channel selection module, a push channel corresponding to the push message, and sends, based on the message middleware, push indication information to the second message queue, where the push indication information includes the push message and third identification information corresponding to the push channel. In some embodiments, the channel selection module may pull the check pass indication information directly from the first message queue, or may subscribe to the first message queue for which the first message queue actively pushes the check pass indication information. In some embodiments, the push channel selecting module may start to determine the push channel corresponding to the push message only if the number of the check passing indication information including the push message, which is obtained from the first message queue, is equal to the number of the plurality of parallel checking modules. For example, there are 3 parallel checking modules, each of which checks the push message and sends corresponding check passing indication information to the first message queue after the check passes, and the channel selection module starts to determine the push channel corresponding to the push message only after having acquired the check passing indication information containing the push message and sent by the 3 parallel checking modules, respectively. In some embodiments, the push channel selection module may be located in the same network device as the plurality of parallel checking modules, or the message middleware includes a corresponding message server or a message queue server, in which case, the push channel selection module may be located in a different network device from the plurality of parallel checking modules, respectively. In some embodiments, the push channels include a target application owned channel and a vendor channel, the owned channel needs the target application to establish and maintain a connection between the background push servers corresponding to the target application, the background push server corresponding to the target application can push the push message content to the user equipment through the owned channel only when the target application is alive in a memory of the user equipment and the connection between the target application and the background push server corresponding to the target application is in an active state, the vendor channel is a connection between each user equipment established by each user equipment brand in the user equipment system and the background push server corresponding to the user equipment brand, and the background push server corresponding to the target application can push the push message content to the user equipment by accessing various vendor channels. In some embodiments, different push users correspond to different default push channels (target application owned channels or vendor channels), the push channel selection module checks whether the push user has a sending authority of the default push channel, and if so, selects the default push channel to perform message pushing, otherwise, selects other push channels except the default push channel to perform message pushing. In some embodiments, the message is pushed through the default push channel, and after the push through the default push channel fails, the message is pushed through the push channels other than the default push channel. In some embodiments, the default push channel is a vendor channel, and the default push channel first checks whether a background push server corresponding to the target application accesses the vendor channel, and if so, preferentially pushes the message through the vendor channel, and if the push of the vendor channel fails, pushes the message through a self-owned channel. In some embodiments, different push channels have different restrictions, such as a push header content, a push content length, a daily push number restriction, and the like, and the push channel selection module needs to determine a push channel suitable for the push message according to the push message. In some embodiments, after determining the push channel corresponding to the push message, the push channel selection module generates push indication information including the push message and third identification information for identifying the push channel, and sends the push indication information to the second message queue.
In step S15, the network device obtains the push indication information from the second message queue through a push channel sending module, and pushes the content of the push message to the user device corresponding to the second identification information through a push channel corresponding to the third identification information according to the third identification information. In some embodiments, the push channel sending module may be located in the same network device as the push channel selecting module, or the push channel sending module may also be located in a different network device than the push channel selecting module. In some embodiments, the push channel sending module obtains, from the second message queue, push indication information including the push message and third identification information for identifying the push channel, and pushes, according to the second identification information for identifying the push user included in the push message, push message content included in the push message to the user equipment identified by the second identification information through the push channel identified by the third identification information. In some embodiments, if the push channel is a vendor channel, the push channel sending module may directly push the push message content to the user equipment, and if the push channel is a vendor channel, the push channel sending module needs to first send the push message content to a background push server corresponding to the brand of the user equipment, and then the background push server pushes the push message content to the user equipment through the vendor channel corresponding to the background push server. In some embodiments, the push channel sending module also converts the push message content into a message format supported by the push channel. In some embodiments, after the push channel sending module finishes pushing the content of the push message to the user equipment through the push channel, the push channel sending module monitors the push result information or the push feedback information asynchronously returned by the user equipment.
The message pushing system realizes parallel processing of a pushed message checking process through the plurality of parallel checking modules, and the authentication module, the plurality of parallel checking modules, the pushing channel selection module and the pushing channel selection module are connected in a remote process calling mode and a message queue mode, so that all function modules in the message pushing system can be decoupled mutually, the performance of a message pushing middleware can be improved, the problem of middleware performance bottleneck existing in the prior art is solved, the throughput and the message pushing speed of a pushed message can be effectively improved, and the efficiency and the stability of message pushing are improved.
In some embodiments, the multiple parallel checking modules include a frequency control module, a deduplication module, and a sensitive word module, where the frequency control module is configured to perform frequency control checking on the push message, the deduplication module is configured to perform deduplication checking on the push message, and the sensitive word module is configured to perform sensitive word checking on the push message. In some embodiments, the frequency control module may limit the number of push messages received by each ue within a predetermined time (e.g., daily), and if the limit is exceeded, verify that the push is not to be performed. In some embodiments, the frequency control module may limit the push message input sent by each push message sender within a predetermined time range, and if the limit is exceeded, the verification is not passed without pushing. In some embodiments, the frequency control module may check whether the number of push messages currently sent by a push message sender sending the push message sending request exceeds a limit, and if so, determine that the verification is not passed, otherwise, check whether the number of push messages currently received by the push user identified by the second identification information exceeds the limit, if not, determine that the verification is passed, otherwise, determine that the verification is not passed. In some embodiments, the deduplication module may restrict that the push message content received by each user device within a predetermined time range may not be identical, or that the header content of the push message content may not be identical. In some embodiments, the network device performs MD5 (Message-Digest Algorithm) processing on the content or the header of the push Message that is successfully pushed, stores the generated hash information in a cache or a file of the network device, and for each Message to be pushed, the deduplication module checks whether a pushed Message corresponding to the same content or header of the push Message exists in the cache or the file of the network device, and if so, determines that the verification fails, and does not push, otherwise, determines that the verification passes. In some embodiments, the network device may establish a sensitive word lexicon, and for each message to be pushed, the sensitive word module may check whether content or title content of the message to be pushed hits a sensitive word in the sensitive word lexicon, and if the content or title content of the message to be pushed hits the sensitive word, the message to be pushed is regarded as failed in verification, and the message to be pushed is not pushed, otherwise, the message to be pushed is regarded as passed in verification.
In some embodiments, the remote procedure call approach employs a gRPC. In some embodiments, the gRPC is developed by google, is a language neutral, platform neutral, open source, lightweight Remote Procedure Call (RPC) system in which a client application can directly call another, different, on-machine service-side application as a local object, can more easily create distributed applications and services, similar to many RPC systems, and is also based on the following ideas: defining a service, specifying the method (including parameters and return types) which can be called remotely, implementing the interface at a server, running a gPC server to process the client call, and having a stub method which can be the same as the server at the client, wherein the method can be referred to as http:// doc.
In some embodiments, the step S13 further includes: if the check of the parallel check module is not passed, the network equipment generates push failure indication information; and providing the push failure indication information to network equipment in a remote procedure call mode so as to return the push failure indication information to the user equipment through the network equipment. In some embodiments, for each parallel checking module, the parallel checking module checks the push message, and if the check fails, generates push failure indication information and provides the push failure indication information to the network device in the remote procedure call mode, and then returns the push failure indication information to the user equipment of the push message sender through the network device, so that the message sender can directly know that the message to be pushed is limited to be pushed due to what reason, and can directly obtain whether the message to be pushed is limited by message checking logic such as frequency control, deduplication, sensitive words, and the like. In some embodiments, the push failure indication information may include, but is not limited to, identification information of the push message, module identification information of the parallel checking module, reason information for the failure of the check.
In some embodiments, the providing the push failure indication information to the network device by the remote procedure call mode includes: and synchronously providing the pushing failure indication information as a return result of the first remote calling interface to the network equipment. In some embodiments, the concurrent check module may provide the push failure indication information to the authentication module or the network device synchronously as a return result of the first remote invocation interface provided by the concurrent check module when invoked.
In some embodiments, the providing the push failure indication information to the network device by the remote procedure call mode includes: and asynchronously providing the push message to the network equipment through a second remote call interface provided by the network equipment based on the remote procedure call mode. In some embodiments, the parallel checking module may asynchronously provide the push failure indication information to the authentication module or the network device through a second remote call interface provided by the authentication module or the network device based on the remote procedure call.
In some embodiments, the message middleware is a RabbitMQ. In some embodiments, the RabbitMQ is an open source Message queue middleware developed by using Erlang language, and is implemented based on an Advanced Message Queuing Protocol (AMQP) Protocol, which has main features of Message orientation, queue, routing (including point-to-point and publish/subscribe), reliability and security, and can provide a general Message sending and receiving platform for an application program, and ensure the security of messages in the transmission process, and implement the asynchronization and decoupling of the application program by separating the sending and receiving of messages, specifically, refer to "http:// RabbitMQ.
In some embodiments, the check pass indication information includes module identification information corresponding to the parallel check modules. In some embodiments, for each parallel checking module, the parallel checking module checks the push message, and if the check is passed, generates check-passing indication information including module identification information of the parallel checking module, and sends the check-passing indication information to the first message queue based on the message middleware.
In some embodiments, the first message queue is multiple, and each parallel checking module corresponds to one first message queue; if the check is passed, sending check passing indication information to a first message queue based on message middleware, including: and if the check is passed, sending the check passing indication information to a first message queue corresponding to the parallel check module based on the message middleware. In some embodiments, there are a plurality of first message queues, each of the parallel checking modules corresponds to a respective first message queue, and for each of the parallel checking modules, the parallel checking module checks the push message, and if the check is passed, sends a check passing indication message to the first message queue corresponding to the parallel checking module based on the message middleware.
In some embodiments, the step S14 includes a step S141 (not shown). In step S141, the network device starts timing by obtaining, by a push channel selection module, check-passing indication information including the push message sent by one parallel checking module from the first message queue, and if check-passing indication information including the push message sent by all parallel checking modules except the parallel checking module is obtained from the first message queue within a predetermined time range, determines, by the push channel selection module, a push channel corresponding to the push message, and sends, based on the message middleware, the push indication information to a second message queue, where the push indication information includes the push message and third identification information corresponding to the push channel. In some embodiments, the check-by-check indication information exists in a timeout mechanism, the check-by-check indication information including the push message sent by one parallel check module from the first message queue is timed, if the check-by-check indication information sent by all the parallel check modules except the parallel check module is obtained from the first message queue within a predetermined time range (e.g., 5 seconds), the push channel corresponding to the push message is determined, otherwise, if the check-by-check indication information sent by all the parallel check modules except the parallel check module is not obtained from the first message queue within the predetermined time range, the check-by-check indication information including the push message sent by one or more currently received parallel check modules is considered to be timeout, the check-by-check indication information including the push message sent by one or more currently received parallel check modules is discarded, and the determination of the push channel corresponding to the push message is not started. In some embodiments, all push messages may correspond to the same predetermined time range, or different types of push messages may correspond to different predetermined time ranges, or push messages with different importance degrees and different weights may correspond to different predetermined time ranges.
In some embodiments, the obtaining, by the push channel selection module, check passing indication information including the push message sent by a parallel check module from the first message queue includes: and acquiring check passing indication information comprising the push message from the first message queue through a push channel selection module, and determining a parallel check module for sending the check passing indication information according to module identification information in the check passing indication information. In some embodiments, if the module identification information is included in the check pass indication information, the parallel checking module identified by the module identification information is determined as the parallel checking module that sent the check pass indication information.
In some embodiments, the obtaining, by the push channel selection module from the first message queue to the check passing indication information including the push message sent by the parallel checking module, includes: and acquiring inspection passing indication information comprising the push message from one of the first message queues through a push channel selection module, and taking the parallel inspection module corresponding to the first message queue as a parallel inspection module for sending the inspection passing indication information. In some embodiments, there are a plurality of first message queues, each of the parallel checking modules corresponds to one first message queue, and if the push channel selection module obtains the check-passing indication information from one of the plurality of first message queues, the parallel checking module corresponding to the first message queue is determined as the parallel checking module that sends the check-passing indication information.
In some embodiments, the step S141 includes: the network equipment acquires check passing indication information which is sent by a parallel inspection module and comprises the push message from a first message queue through a push channel selection module, judges whether at least one piece of to-be-merged check passing indication information corresponding to the push message exists in the push channel selection module at present, if not, determines the check passing indication information as one piece of to-be-merged check passing indication information, takes the current time as the initial time corresponding to the push message, if so, determines the check passing indication information as another piece of to-be-merged check passing indication information, detects whether the quantity of one or more pieces of to-be-merged check passing indication information corresponding to the push message existing in the push channel selection module at present is the same as the quantity of the plurality of parallel inspection modules, if so, determines a push channel corresponding to the push message through the push channel selection module, sends the push indication information to a second message queue based on the message middleware, and deletes the one or more pieces of to-merged check passing indication information; wherein the method further comprises: and for the push message, starting timing from the initial time corresponding to the push message, and deleting one or more pieces of to-be-merged check passing indication information corresponding to the push message currently existing in the push channel selection module if the predetermined time range is reached. In some embodiments, the push channel selection module obtains, from the first message queue, check passing indication information including the push message sent by one parallel check module, determines whether there is currently to-be-merged check passing indication information corresponding to the push message, if not, determines the check passing indication information as one to-be-merged check passing indication information, and takes the current time as the initial time corresponding to the push message, if so, determines the check passing indication information as another to-be-merged check passing indication information, and detects whether the number of the currently-existing to-be-merged check passing indication information corresponding to the push message is the same as the number of the parallel check modules, and if so, starts to determine a push channel corresponding to the push message, and deletes the currently-existing to-be-merged check passing indication information corresponding to the push message. In some embodiments, the timing is started from the initial time corresponding to the push message, and if the predetermined time range is reached, the timing is stopped, and the currently existing to-be-merged-check-pass indication information corresponding to the push message is deleted.
In some embodiments, the step S141 includes: the network equipment acquires check passing indication information which is sent by a parallel inspection module and comprises the push message from a first message queue through a push channel selection module, judges whether a to-be-merged check passing indication information set corresponding to the push message exists in the push channel selection module at present, if not, creates the to-be-merged check passing indication information set, adds the check passing indication information into the to-be-merged check passing indication information set, and takes the current time as the initial time corresponding to the to-be-merged check passing indication information set, if so, adds the check passing indication information into the to-be-merged check passing indication information set, detects whether the number of check passing indication information in the to-be-merged check passing indication information set is the same as that of a plurality of parallel inspection modules, if so, determines a push channel corresponding to the push message through the push channel selection module, sends the push indication information to a second message queue based on the message middleware, and deletes the to-be-merged check passing indication information set; wherein the method further comprises: and for the to-be-merged check passing indication information set, starting timing from the initial time corresponding to the to-be-merged check passing indication information set, and if the time reaches a preset time range, deleting the to-be-merged check passing indication information set. In some embodiments, the push channel selection module obtains, from the first message queue, inspection passing indication information including the push message sent by one parallel inspection module, determines whether there is a to-be-merged inspection passing indication information set corresponding to the push message currently, if not, creates a to-be-merged inspection passing indication information set corresponding to the push message newly, adds the inspection passing indication information into the to-be-merged inspection passing indication information set, and takes the current time as the initial time corresponding to the to-be-merged inspection passing indication information set, if so, adds the inspection passing indication information into the to-be-merged inspection passing indication information set, and detects whether the number of inspection passing indication information in the to-be-merged inspection passing indication information set is the same as the number of parallel inspection modules, and if so, starts to determine a push channel corresponding to the push message, and deletes the to-be-merged inspection passing indication information set. In some embodiments, the time is counted from the initial time corresponding to the to-be-merged-check passing indication information set, and if the predetermined time range is reached, the time is stopped, and the to-be-merged-check passing indication information set is deleted.
In some embodiments, wherein the sending check-passing indication information to the first message queue based on the message middleware further comprises: if the transmission fails, judging whether the number of failed retries corresponding to the checking passing indication information reaches a preset number threshold, if so, discarding the checking passing indication information, if not, retrying to transmit the checking passing indication information to the first message queue based on the message middleware, and adding one to the number of the failed retries. In some embodiments, when sending the check passing indication information to the first message queue, if the sending fails, determining whether the number of failed retries corresponding to the push message reaches a predetermined threshold number, if so, discarding the check passing indication information, and not reattempting to send the check passing indication information to the first message queue, where the push message is regarded as a push failure, otherwise, reattempting to send the check passing indication information to the first message queue, and adding one to the number of failed retries. In some embodiments, after each failed transmission, a transmission failure indication message is generated and returned to the user equipment of the push message sender, and the push message sender confirms whether to retry the transmission. In some embodiments, after the number of failed retries corresponding to the push message reaches a predetermined threshold, sending failure indication information is generated and returned to the user equipment of the push message sender, and the push message sender confirms whether to retry and reset the number of failed retries corresponding to the push message.
In some embodiments, the sending push indication information to the second message queue based on the message middleware further includes: if the transmission fails, judging whether the number of failed retries corresponding to the push indication information reaches a preset number threshold, if so, discarding the push indication information, otherwise, reattempting to transmit the push indication information to the second message queue based on the message middleware, and adding one to the number of the failed retries. In some embodiments, when sending the push indication information to the second message queue, if the sending fails, it is determined whether a number of failed retries corresponding to the push message reaches a predetermined threshold number, if so, the push indication information is discarded, the push indication information is not retried to be sent to the second message queue, the push message is regarded as a push failure, otherwise, the push indication information is retried to be sent to the second message queue, and the number of failed retries is increased by one. In some embodiments, after each transmission failure, a transmission failure indication message is generated and returned to the user equipment of the push message sender, and the push message sender confirms whether to retry or not. In some embodiments, after the number of failed retries corresponding to the push message reaches a predetermined threshold, sending failure indication information is generated and returned to the user equipment of the push message sender, and the push message sender confirms whether to retry and reset the number of failed retries corresponding to the push message.
In some embodiments, the method further comprises: and the network equipment adjusts the configuration parameters corresponding to the network equipment according to the push demand information. In some embodiments, the configuration parameter may be an ulimit parameter in the network equipment system. In some embodiments, the push demand information includes any information related to push demand, such as throughput demand of push messages, push speed demand of push messages, etc., and the network device adjusts its corresponding configuration parameters to achieve the desired push performance. As an example, the ulimit parameter in the network device system is adjusted as follows:
core file size (blocks,-c)unlimited
data seg size (kbytes,-d)unlimited
scheduling priority (-e)0
file size (blocks,-f)unlimited
pending signals (-i)256041
max locked memory (kbytes,-l)64
max memory size (kbytes,-m)unlimited
open files (-n)10000000
pipe size (512bytes,-p)8
POSIX message queues (bytes,-q)819200
real-time priority (-r)0
stack size (kbytes,-s)8192
cpu time (seconds,-t)unlimited
max user processes (-u)unlimited
virtual memory (kbytes,-v)unlimited
file locks (-x)unlimited
in some embodiments, the method further comprises: the network equipment records the execution state information of the authentication module, each parallel checking module, the push channel selection module and the push channel sending module in real time. In some embodiments, the execution state information includes, but is not limited to, initial state information before execution, process state information during execution, and result state information after execution. In some embodiments, the execution state information recorded in real time is collected through a kafka (distributed, partitioned, multi-copy, multi-subscriber, zookeeper-based coordinated distributed log system, which may specifically refer to "https:// kafka. Apachecn. Org/intro. Html") channel and a data transmission script, and then is summarized and warehoused to a data warehouse, and a report is formed as required.
In some embodiments, the method further comprises: the network device writes the status flag bit and/or temporary variable generated by the authentication module, each parallel check module, the push channel selection module and the push channel sending module in the execution process into the memory of the network device; wherein the method further comprises: and reading the status flag bit and/or the temporary variable from the memory of the network device during the execution process of the authentication module, each parallel checking module, the push channel selection module and the push channel sending module. In some embodiments, the required status flag bits and/or temporary variables generated during execution by the various functional modules in the push system are read and written directly into the memory of the network device.
Fig. 2 shows a block diagram of a network device for pushing messages according to an embodiment of the present application, where the device includes a one-module 11, a two-module 12, a three-module 13, a four-module 14, and a five-module 15. A one-to-one module 11, configured to receive a push message sending request sent by a user equipment, where the push message sending request includes a push message and first identification information corresponding to the user equipment, and the push message includes push message content and second identification information corresponding to a push user; a second module 12, configured to provide the first identifier information to an authentication module, verify the first identifier information through the authentication module, and if the first identifier information passes the verification, provide the push message to the parallel check modules through first remote call interfaces provided by the parallel check modules respectively based on a remote procedure call mode; a third module 13, configured to, for each parallel checking module in the multiple parallel checking modules, check the push message through the parallel checking module, and if the check is passed, send check-passing indication information to the first message queue based on the message middleware, where the check-passing indication information includes the push message; a fourth module 14, configured to determine, by a push channel selection module, a push channel corresponding to the push message if the number of check passing indication information including the push message, acquired from the first message queue by the push channel selection module is equal to the number of the multiple parallel check modules, and send, based on the message middleware, push indication information to a second message queue, where the push indication information includes the push message and third identification information corresponding to the push channel; a fifth module 15, configured to obtain the push indication information from the second message queue through a push channel sending module, and push the content of the push message to the user equipment corresponding to the second identification information through a push channel corresponding to the third identification information according to the third identification information.
A module 11, configured to receive a push message sending request sent by a user equipment, where the push message sending request includes a push message and first identification information corresponding to the user equipment, and the push message includes push message content and second identification information corresponding to a push user. In some embodiments, the message push system may run on one network device, or may run on multiple network devices. In some embodiments, the first identification information may be device identification information of a user equipment of the sender of the push message, or may also be user identification information of the sender of the push message. In some embodiments, the network device pushes the push message content to the user device of the push message recipient identified by the second identification information through a certain push channel, and presents the push message content in a message notification bar of the user device or a target application corresponding to the push message content. In some embodiments, the push user is a user that receives push message content, i.e., a push message recipient. In some embodiments, the second identification information may be identification information of the push user, or may also be identification information of a user equipment used by the push user. In some embodiments, the second identification information may be used to identify a single user in the target application corresponding to the content of the push message, or may be used to identify multiple users in the target application, or may be used to identify all users in the target application.
And a second module 12, configured to provide the first identifier information to an authentication module, verify the first identifier information by the authentication module, and if the first identifier information passes the verification, provide the push message to the parallel check modules through first remote call interfaces provided by the parallel check modules respectively based on a remote procedure call mode. In some embodiments, the authentication module is an independent module in the network device, and is configured to verify whether the user device or a push message sender sending a push message sending request using the user device has a push message right, where the verification may be to verify whether the user device or the push message sender has the push right at the current time, or to verify whether the user device or the push message sender has the push right for the push message. In some embodiments, if the authentication fails, an authentication failure indication message is generated and returned to the network device, and is returned to the user equipment through the network device for presentation. In some embodiments, a Remote Procedure Call (RPC) refers to a process on computer a that calls another process on computer a or calls a process on another computer B, where the calling process on a is suspended and the called process on B begins execution, when the value returns to a, the a process continues execution, the caller may pass the incoming parameters to the callee through an interface provided by the callee, and the callee, after processing the parameter information, may pass the processing results back to the caller as a return parameter. In some embodiments, the parallel checking modules run in parallel with each other, and the parallel checking modules and the authentication module may be located in the same network device, or may be located in two different network devices, or the parallel checking modules may be located in different network devices. In some embodiments, a plurality of parallel checking modules are used for checking the push message, and the plurality of parallel checking modules may each respectively provide the first remote invocation interface based on the remote procedure invocation manner. In some embodiments, after the authentication module passes the verification, the authentication module returns verification result information that passes the verification to the network device, and then the network device may provide push messages to the multiple parallel checking modules through the first remote call interface based on a remote procedure call manner. In some embodiments, after the authentication module passes the verification, the push messages may be provided to the plurality of parallel checking modules through the first remote call interface directly based on the remote procedure call mode.
And a third module 13, configured to, for each parallel checking module in the multiple parallel checking modules, check the push message through the parallel checking module, and if the check is passed, send check-passing indication information to the first message queue based on the message middleware, where the check-passing indication information includes the push message. In some embodiments, each parallel checking module checks the push message, and if the push message passes the check, generates check passing indication information including the push message, and sends the check passing indication information to the first message queue. In some embodiments, a Message Queue (MQ) is a "first-in-first-out" data mechanism in an underlying data structure, which means that data (messages) to be transmitted are placed in a Queue, message passing is implemented by using a Queue mechanism, a producer generates messages and places the messages in the Queue, and then the messages are processed by a consumer, and the consumer can pull the messages from the Queue, or the consumer can subscribe to the Queue and actively push the messages to the Queue. In some embodiments, there may be only one first message queue, and each parallel checking module sends the push message to the first message queue after the check is passed. In some embodiments, there may be a plurality of first message queues, and each parallel checking module corresponds to a different first message queue, and each parallel checking module, after passing the checking, sends the push message to the first message queue corresponding to the parallel checking module. In some embodiments, the message middleware acts as a running carrier of the first message queue, and manages, supports and maintains data communication of the first message queue through an efficient and reliable message transmission mechanism.
A fourth module 14, configured to determine, by the push channel selection module, a push channel corresponding to the push message if the number of check-passing indication information including the push message, obtained from the first message queue by the push channel selection module is equal to the number of the parallel check modules, and send, based on the message middleware, push indication information to a second message queue, where the push indication information includes the push message and third identification information corresponding to the push channel. In some embodiments, the channel selection module may pull the check pass indication information directly from the first message queue, or may subscribe to the first message queue for which the first message queue actively pushes the check pass indication information. In some embodiments, the push channel selecting module may start to determine the push channel corresponding to the push message only if the number of the check passing indication information including the push message, which is obtained from the first message queue, is equal to the number of the plurality of parallel checking modules. For example, there are 3 parallel checking modules, each of which checks the push message and sends corresponding check passing indication information to the first message queue after the check passes, and the channel selection module starts to determine the push channel corresponding to the push message only after having acquired the check passing indication information containing the push message and sent by the 3 parallel checking modules, respectively. In some embodiments, the push channel selection module may be located in the same network device as the plurality of parallel checking modules, or the message middleware includes a corresponding message server or a message queue server, in which case, the push channel selection module may be located in a different network device from the plurality of parallel checking modules, respectively. In some embodiments, the push channels include a target application owned channel and a vendor channel, the owned channel needs the target application to establish and maintain a connection between the background push servers corresponding to the target application, the background push server corresponding to the target application can push the push message content to the user equipment through the owned channel only when the target application is alive in a memory of the user equipment and the connection between the target application and the background push server corresponding to the target application is in an active state, the vendor channel is a connection between each user equipment established by each user equipment brand in the user equipment system and the background push server corresponding to the user equipment brand, and the background push server corresponding to the target application can push the push message content to the user equipment by accessing various vendor channels. In some embodiments, different push users correspond to different default push channels (target application owned channels or vendor channels), the push channel selection module checks whether the push user has a sending permission of the default push channel, and if so, selects the default push channel for message pushing, otherwise, selects other push channels except the default push channel for message pushing. In some embodiments, the message is pushed through the default push channel, and after the push through the default push channel fails, the message is pushed through the push channels other than the default push channel. In some embodiments, the default push channel is a vendor channel, and the default push channel first checks whether a background push server corresponding to the target application accesses the vendor channel, and if so, preferentially pushes the message through the vendor channel, and if the push of the vendor channel fails, pushes the message through a self-owned channel. In some embodiments, different push channels have different restrictions, such as a push header content, a push content length, a daily push number limit, and the like, and the push channel selection module needs to determine a push channel suitable for a push message according to the push message. In some embodiments, after determining the push channel corresponding to the push message, the push channel selection module generates push indication information including the push message and third identification information for identifying the push channel, and sends the push indication information to the second message queue.
A fifth module 15, configured to obtain the push indication information from the second message queue through a push channel sending module, and push the content of the push message to the user equipment corresponding to the second identification information through a push channel corresponding to the third identification information according to the third identification information. In some embodiments, the push channel sending module may be located in the same network device as the push channel selecting module, or the push channel sending module may also be located in a different network device than the push channel selecting module. In some embodiments, the push channel sending module obtains, from the second message queue, push indication information that includes the push message and third identification information used to identify the push channel, and pushes, according to the second identification information used to identify the push user included in the push message, push message content included in the push message to the user equipment identified by the second identification information through the push channel identified by the third identification information. In some embodiments, if the push channel is a vendor channel, the push channel sending module may directly push the push message content to the user equipment, and if the push channel is a vendor channel, the push channel sending module needs to first send the push message content to a background push server corresponding to the brand of the user equipment, and then the background push server pushes the push message content to the user equipment through the vendor channel corresponding to the background push server. In some embodiments, the push channel sending module is further to convert the push message content into a message format supported by the push channel. In some embodiments, after the push channel sending module finishes pushing the content of the push message to the user equipment, the push channel sending module monitors push result information or push feedback information asynchronously returned by the user equipment.
The message pushing system realizes parallel processing of a pushed message checking process through the plurality of parallel checking modules, and the authentication module, the plurality of parallel checking modules, the pushing channel selection module and the pushing channel selection module are connected in a remote process calling mode and a message queue mode, so that all function modules in the message pushing system can be decoupled mutually, the performance of a message pushing middleware can be improved, the problem of middleware performance bottleneck existing in the prior art is solved, the throughput and the message pushing speed of a pushed message can be effectively improved, and the efficiency and the stability of message pushing are improved.
In some embodiments, the multiple parallel checking modules include a frequency control module, a deduplication module, and a sensitive word module, where the frequency control module is configured to perform frequency control checking on the push message, the deduplication module is configured to perform deduplication checking on the push message, and the sensitive word module is configured to perform sensitive word checking on the push message. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and therefore are not described again, and are included herein by reference.
In some embodiments, the remote procedure call approach employs a gRPC. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and thus are not described again, and are included herein by reference.
In some embodiments, the one-three module 13 is configured to: if the check on the parallel check module fails, the network equipment generates push failure indication information; and providing the push failure indication information to network equipment in a remote procedure call mode so as to return the push failure indication information to the user equipment through the network equipment. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and thus are not described again, and are included herein by reference.
In some embodiments, the providing the push failure indication information to the network device by the remote procedure call mode includes: and synchronously providing the pushing failure indication information as a return result of the first remote calling interface to the network equipment. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and thus are not described again, and are included herein by reference.
In some embodiments, the providing the push failure indication information to the network device by the remote procedure call mode includes: and asynchronously providing the push message to the network equipment through a second remote call interface provided by the network equipment based on the remote procedure call mode. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and therefore are not described again, and are included herein by reference.
In some embodiments, the message middleware is a RabbitMQ. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and therefore are not described again, and are included herein by reference.
In some embodiments, the check pass indication information includes module identification information corresponding to the parallel check modules. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and therefore are not described again, and are included herein by reference.
In some embodiments, the first message queue is multiple, and each parallel checking module corresponds to one first message queue; wherein, if the check is passed, sending the check passing indication information to the first message queue based on the message middleware, including: and if the check is passed, sending the check passing indication information to a first message queue corresponding to the parallel check module based on the message middleware. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and thus are not described again, and are included herein by reference.
In some embodiments, the one-four module 14 includes one-four-one module 141 (not shown). A fourth and a first module 141, configured to acquire, by a push channel selection module, check passing indication information that includes the push message and is sent by one parallel checking module from the first message queue, start timing, and if check passing indication information that includes the push message and is sent by all parallel checking modules except the parallel checking module is acquired from the first message queue within a predetermined time range, determine, by the push channel selection module, a push channel corresponding to the push message, and send, based on the message middleware, the push indication information to a second message queue, where the push indication information includes the push message and third identification information corresponding to the push channel. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and thus are not described again, and are included herein by reference.
In some embodiments, the obtaining, by the push channel selection module, check passing indication information including the push message sent by a parallel check module from the first message queue includes: and acquiring check passing indication information comprising the push message from the first message queue through a push channel selection module, and determining a parallel check module for sending the check passing indication information according to module identification information in the check passing indication information. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and therefore are not described again, and are included herein by reference.
In some embodiments, the obtaining, by the push channel selection module from the first message queue to the check-passing indication information including the push message sent by the parallel checking module by the push channel selection module includes: and acquiring inspection passing indication information comprising the push message from one of the first message queues through a push channel selection module, and taking the parallel inspection module corresponding to the first message queue as a parallel inspection module for sending the inspection passing indication information. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and thus are not described again, and are included herein by reference.
In some embodiments, the one-four-in-one module 141 is configured to: obtaining, by a push channel selection module, check passing indication information including the push message sent by a parallel inspection module from the first message queue, determining whether at least one to-be-merged check passing indication information corresponding to the push message currently exists in the push channel selection module, if not, determining the check passing indication information as one to-be-merged check passing indication information, and taking the current time as the initial time corresponding to the push message, if so, determining the check passing indication information as another to-be-merged check passing indication information, and detecting whether the number of one or more to-be-merged check passing indication information corresponding to the push message currently existing in the push channel selection module is the same as the number of the plurality of parallel inspection modules, if so, determining, by the push channel selection module, a push channel corresponding to the push message, sending, based on the message middleware, the push indication information to a second message queue, and deleting the one or more to-merged check passing indication information; wherein the device is further configured to: and for the push message, starting timing from the initial time corresponding to the push message, and if the predetermined time range is reached, deleting one or more pieces of to-be-merged check passing indication information corresponding to the push message currently existing in the push channel selection module. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and therefore are not described again, and are included herein by reference.
In some embodiments, the one-four-one module 141 is configured to: acquiring inspection passing indication information including the pushed message sent by a parallel inspection module from a first message queue through a pushing channel selection module, judging whether an inspection passing indication information set to be merged corresponding to the pushed message exists in the pushing channel selection module at present, if not, newly building the inspection passing indication information set to be merged, adding the inspection passing indication information into the inspection passing indication information set to be merged, taking the current time as the initial time corresponding to the inspection passing indication information set to be merged, if so, adding the inspection passing indication information into the inspection passing indication information set to be merged, detecting whether the number of the inspection passing indication information in the inspection passing indication information set to be merged is the same as that of the plurality of parallel inspection modules, if so, determining a pushing channel corresponding to the pushed message through the pushing channel selection module, sending the pushing indication information to a second message queue based on the message middleware, and deleting the inspection passing indication information set to be merged; wherein the device is further configured to: and for the to-be-merged check passing indication information set, starting timing from the initial time corresponding to the to-be-merged check passing indication information set, and if the time reaches a preset time range, deleting the to-be-merged check passing indication information set. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and therefore are not described again, and are included herein by reference.
In some embodiments, the sending check-passing indication information to the first message queue based on the message middleware further comprises: if the transmission fails, judging whether the number of failed retries corresponding to the checking passing indication information reaches a preset number threshold, if so, discarding the checking passing indication information, if not, retrying to transmit the checking passing indication information to the first message queue based on the message middleware, and adding one to the number of the failed retries. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and thus are not described again, and are included herein by reference.
In some embodiments, the sending push indication information to the second message queue based on the message middleware further includes: if the transmission fails, judging whether the number of failed retries corresponding to the push indication information reaches a preset number threshold, if so, discarding the push indication information, otherwise, reattempting to transmit the push indication information to the second message queue based on the message middleware, and adding one to the number of the failed retries. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and therefore are not described again, and are included herein by reference.
In some embodiments, the apparatus is further configured to: and adjusting the configuration parameters corresponding to the network equipment according to the pushing demand information. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and thus are not described again, and are included herein by reference.
In some embodiments, the apparatus is further configured to: and recording the execution state information of the authentication module, each parallel checking module, the push channel selection module and the push channel sending module in real time. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and thus are not described again, and are included herein by reference.
In some embodiments, the apparatus is further configured to: writing the status flag bit and/or temporary variable generated by the authentication module, each parallel checking module, the push channel selection module and the push channel sending module in the execution process into the memory of the network device; wherein the method further comprises: and reading the status flag bit and/or the temporary variable from the memory of the network device during the execution of the authentication module, each parallel checking module, the push channel selecting module and the push channel sending module. Here, the related operations are the same as or similar to those of the embodiment shown in fig. 1, and therefore are not described again, and are included herein by reference.
FIG. 3 illustrates an exemplary system that can be used to implement the various embodiments described in this application.
In some embodiments, as illustrated in FIG. 3, the system 300 can be implemented as any of the devices in each of the described embodiments. In some embodiments, system 300 may include one or more computer-readable media (e.g., system memory or NVM/storage 320) having instructions and one or more processors (e.g., processor(s) 305) coupled with the one or more computer-readable media and configured to execute the instructions to implement modules to perform the actions described herein.
For one embodiment, system control module 310 may include any suitable interface controllers to provide any suitable interface to at least one of processor(s) 305 and/or to any suitable device or component in communication with system control module 310.
The system control module 310 may include a memory controller module 330 to provide an interface to the system memory 315. Memory controller module 330 may be a hardware module, a software module, and/or a firmware module.
System memory 315 may be used to load and store data and/or instructions for system 300, for example. For one embodiment, system memory 315 may include any suitable volatile memory, such as suitable DRAM. In some embodiments, the system memory 315 may include a double data rate type four synchronous dynamic random access memory (DDR 4 SDRAM).
For one embodiment, system control module 310 may include one or more input/output (I/O) controllers to provide an interface to NVM/storage 320 and communication interface(s) 325.
For example, NVM/storage 320 may be used to store data and/or instructions. NVM/storage 320 may include any suitable non-volatile memory (e.g., flash memory) and/or may include any suitable non-volatile storage device(s) (e.g., one or more hard disk drive(s) (HDD (s)), one or more Compact Disc (CD) drive(s), and/or one or more Digital Versatile Disc (DVD) drive (s)).
NVM/storage 320 may include storage resources that are physically part of the device on which system 300 is installed or may be accessed by the device and not necessarily part of the device. For example, NVM/storage 320 may be accessible over a network via communication interface(s) 325.
Communication interface(s) 325 may provide an interface for system 300 to communicate over one or more networks and/or with any other suitable device. System 300 may wirelessly communicate with one or more components of a wireless network according to any of one or more wireless network standards and/or protocols.
For one embodiment, at least one of the processor(s) 305 may be packaged together with logic for one or more controller(s) of the system control module 310, such as memory controller module 330. For one embodiment, at least one of the processor(s) 305 may be packaged together with logic for one or more controller(s) of the system control module 310 to form a System In Package (SiP). For one embodiment, at least one of the processor(s) 305 may be integrated on the same die with logic for one or more controller(s) of the system control module 310. For one embodiment, at least one of the processor(s) 305 may be integrated on the same die with logic for one or more controller(s) of the system control module 310 to form a system on a chip (SoC).
In various embodiments, system 300 may be, but is not limited to being: a server, a workstation, a desktop computing device, or a mobile computing device (e.g., a laptop computing device, a holding computing device, a tablet, a netbook, etc.). In various embodiments, system 300 may have more or fewer components and/or different architectures. For example, in some embodiments, system 300 includes one or more cameras, a keyboard, a Liquid Crystal Display (LCD) screen (including a touch screen display), a non-volatile memory port, multiple antennas, a graphics chip, an Application Specific Integrated Circuit (ASIC), and speakers.
The present application also provides a computer readable storage medium having stored thereon computer code which, when executed, performs a method as in any one of the preceding.
The present application also provides a computer program product, which when executed by a computer device performs the method of any of the preceding claims.
The present application further provides a computer device, comprising:
one or more processors;
a memory for storing one or more computer programs;
the one or more computer programs, when executed by the one or more processors, cause the one or more processors to implement the method as recited in any preceding claim.
It should be noted that the present application may be implemented in software and/or a combination of software and hardware, for example, as an Application Specific Integrated Circuit (ASIC), a general purpose computer or any other similar hardware device. In one embodiment, the software programs of the present application may be executed by a processor to implement the steps or functions described above. Likewise, the software programs (including associated data structures) of the present application may be stored in a computer readable recording medium, such as RAM memory, magnetic or optical drive or diskette and the like. Further, some of the steps or functions of the present application may be implemented in hardware, for example, as circuitry that cooperates with the processor to perform various steps or functions.
In addition, some of the present application may be implemented as a computer program product, such as computer program instructions, which when executed by a computer, may invoke or provide methods and/or techniques in accordance with the present application through the operation of the computer. Those skilled in the art will appreciate that the form in which the computer program instructions reside on a computer-readable medium includes, but is not limited to, source files, executable files, installation package files, and the like, and that the manner in which the computer program instructions are executed by a computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. In this regard, computer readable media can be any available computer readable storage media or communication media that can be accessed by a computer.
Communication media includes media by which communication signals, including, for example, computer readable instructions, data structures, program modules, or other data, are transmitted from one system to another. Communication media may include conductive transmission media such as cables and wires (e.g., fiber optics, coaxial, etc.) and wireless (non-conductive transmission) media capable of propagating energy waves such as acoustic, electromagnetic, RF, microwave, and infrared. Computer readable instructions, data structures, program modules, or other data may be embodied in a modulated data signal, for example, in a wireless medium such as a carrier wave or similar mechanism such as is embodied as part of spread spectrum techniques. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. The modulation may be analog, digital or hybrid modulation techniques.
By way of example, and not limitation, computer-readable storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. For example, computer-readable storage media include, but are not limited to, volatile memory such as random access memory (RAM, DRAM, SRAM); and non-volatile memory such as flash memory, various read-only memories (ROM, PROM, EPROM, EEPROM), magnetic and ferromagnetic/ferroelectric memories (MRAM, feRAM); and magnetic and optical storage devices (hard disk, tape, CD, DVD); or other now known media or later developed that are capable of storing computer-readable information/data for use by a computer system.
An embodiment according to the present application herein comprises an apparatus comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein the computer program instructions, when executed by the processor, trigger the apparatus to perform a method and/or solution according to embodiments of the present application as described above.
It will be evident to those skilled in the art that the present application is not limited to the details of the foregoing illustrative embodiments, and that the present application may be embodied in other specific forms without departing from the spirit or essential attributes thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the application being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned. Furthermore, it is obvious that the word "comprising" does not exclude other elements or steps, and the singular does not exclude the plural. A plurality of units or means recited in the apparatus claims may also be implemented by one unit or means in software or hardware. The terms first, second, etc. are used to denote names, but not any particular order.

Claims (19)

1. A method for pushing a message is applied to a network equipment side, wherein the method comprises the following steps:
receiving a push message sending request sent by user equipment, wherein the push message sending request comprises a push message and first identification information corresponding to the user equipment, and the push message comprises push message content and second identification information corresponding to a push user;
providing the first identification information to an authentication module, verifying the first identification information through the authentication module, and if the first identification information passes the verification, providing the push messages to a plurality of parallel checking modules through respective first remote calling interfaces of the plurality of parallel checking modules based on a remote process calling mode, wherein the plurality of parallel checking modules comprise a frequency control module, a deduplication module and a sensitive word module, the frequency control module is used for performing frequency control checking on the push messages, the deduplication module is used for performing deduplication checking on the push messages, and the sensitive word module is used for performing sensitive word checking on the push messages;
for each parallel checking module in the plurality of parallel checking modules, checking the push message through the parallel checking module, and if the checking is passed, sending checking passing indication information to a first message queue based on a message middleware, wherein the checking passing indication information comprises the push message, and the message middleware is a running carrier of the first message queue;
if the number of the check passing indication information including the push message acquired from the first message queue through the push channel selection module is equal to the number of the plurality of parallel check modules, determining a push channel corresponding to the push message through the push channel selection module, and sending the push indication information to a second message queue based on the message middleware, wherein the push indication information includes the push message and third identification information corresponding to the push channel;
and acquiring the push indication information from the second message queue through a push channel sending module, and pushing the content of the push message to the user equipment corresponding to the second identification information through a push channel corresponding to the third identification information according to the third identification information.
2. The method of claim 1, wherein the remote procedure call is a gPC.
3. The method of claim 1, wherein the checking the push message through each of the plurality of parallel checking modules, and if the checking is passed, sending a check-passing indication message to the first message queue based on the message middleware, further comprises:
if the check of the parallel check module fails, generating push failure indication information;
and providing the push failure indication information to network equipment in a remote procedure call mode so as to return the push failure indication information to the user equipment through the network equipment.
4. The method of claim 3, wherein the providing the push failure indication information to the network device via the remote procedure call comprises:
and synchronously providing the pushing failure indication information serving as a return result of the first remote calling interface to the network equipment.
5. The method of claim 3, wherein the providing the push failure indication information to the network device via the remote procedure call comprises:
and asynchronously providing the push message to the network equipment through a second remote call interface provided by the network equipment based on the remote procedure call mode.
6. The method of claim 1, wherein the message middleware is a RabbitMQ.
7. The method of claim 1, wherein the check-through indication information includes module identification information corresponding to the parallel check modules.
8. The method of claim 1, wherein the first message queue is plural, and each parallel checking module corresponds to a first message queue;
if the check is passed, sending check passing indication information to a first message queue based on message middleware, including:
and if the check is passed, sending the check passing indication information to a first message queue corresponding to the parallel check module based on the message middleware.
9. The method according to claim 1, wherein if the number of check passing indication information including the push message, which is obtained from the first message queue by the push channel selection module, is equal to the number of the parallel check modules, determining, by the push channel selection module, a push channel corresponding to the push message, and sending, based on the message middleware, the push indication information to the second message queue, includes:
the method comprises the steps that checking passing indication information which is sent by a parallel checking module and is obtained from a first message queue through a pushing channel selection module and comprises a pushing message is started to time, if checking passing indication information which is sent by all parallel checking modules except the parallel checking module and comprises the pushing message is obtained from the first message queue within a preset time range, a pushing channel corresponding to the pushing message is determined through the pushing channel selection module, and pushing indication information is sent to a second message queue based on a message middleware, wherein the pushing indication information comprises the pushing message and third identification information corresponding to the pushing channel.
10. The method according to claim 9, wherein the obtaining, by the push channel selection module, check passing indication information including the push message sent by one of the parallel checking modules from the first message queue comprises:
and acquiring check passing indication information comprising the push message from the first message queue through a push channel selection module, and determining a parallel check module for sending the check passing indication information according to module identification information in the check passing indication information.
11. The method according to claim 9, wherein the plurality of first message queues are provided, and the obtaining, by the push channel selection module, check-passing indication information including the push message sent by one of the parallel checking modules from the first message queue includes:
and acquiring inspection passing indication information comprising the push message from one of the first message queues through a push channel selection module, and taking the parallel inspection module corresponding to the first message queue as a parallel inspection module for sending the inspection passing indication information.
12. The method according to claim 9, wherein the acquiring, by the push channel selection module, check-passing indication information including the push message sent by one parallel checking module from the first message queue starts timing, and if check-passing indication information including the push message sent by all parallel checking modules except the parallel checking module is acquired from the first message queue within a predetermined time range, the push channel corresponding to the push message is determined by the push channel selection module, and the push indication information is sent to a second message queue based on the message middleware, includes:
obtaining, by a push channel selection module, check passing indication information including the push message sent by a parallel inspection module from the first message queue, determining whether at least one to-be-merged check passing indication information corresponding to the push message currently exists in the push channel selection module, if not, determining the check passing indication information as one to-be-merged check passing indication information, and taking the current time as the initial time corresponding to the push message, if so, determining the check passing indication information as another to-be-merged check passing indication information, and detecting whether the number of one or more to-be-merged check passing indication information corresponding to the push message currently existing in the push channel selection module is the same as the number of the plurality of parallel inspection modules, if so, determining, by the push channel selection module, a push channel corresponding to the push message, sending, based on the message middleware, the push indication information to a second message queue, and deleting the one or more to-merged check passing indication information;
wherein the method further comprises:
and for the push message, starting timing from the initial time corresponding to the push message, and deleting one or more pieces of to-be-merged check passing indication information corresponding to the push message currently existing in the push channel selection module if the predetermined time range is reached.
13. The method according to claim 9, wherein the acquiring, by the push channel selection module, check-passing indication information including the push message sent by one parallel checking module from the first message queue starts timing, and if check-passing indication information including the push message sent by all parallel checking modules except the parallel checking module is acquired from the first message queue within a predetermined time range, the push channel corresponding to the push message is determined by the push channel selection module, and the push indication information is sent to a second message queue based on the message middleware, includes:
acquiring inspection passing indication information including the pushed message sent by a parallel inspection module from a first message queue through a pushing channel selection module, judging whether an inspection passing indication information set to be merged corresponding to the pushed message exists in the pushing channel selection module at present, if not, newly building the inspection passing indication information set to be merged, adding the inspection passing indication information into the inspection passing indication information set to be merged, taking the current time as the initial time corresponding to the inspection passing indication information set to be merged, if so, adding the inspection passing indication information into the inspection passing indication information set to be merged, detecting whether the number of the inspection passing indication information in the inspection passing indication information set to be merged is the same as that of the plurality of parallel inspection modules, if so, determining a pushing channel corresponding to the pushed message through the pushing channel selection module, sending the pushing indication information to a second message queue based on the message middleware, and deleting the inspection passing indication information set to be merged;
wherein the method further comprises:
and for the to-be-merged check passing indication information set, starting timing from the initial time corresponding to the to-be-merged check passing indication information set, and if the time reaches a preset time range, deleting the to-be-merged check passing indication information set.
14. The method of claim 1, wherein the sending check-through indication information to a first message queue based on message middleware or sending push indication information to a second message queue based on the message middleware further comprises:
if the transmission fails, judging whether the number of failed retries corresponding to the check passing indication information or the push indication information reaches a preset number threshold, if so, discarding the check passing indication information or the push indication information, if not, retrying to transmit the check passing indication information to the first message queue or to transmit the push indication information to the second message queue based on the message middleware, and adding one to the number of failed retries.
15. The method of claim 1, wherein the method further comprises:
and adjusting the configuration parameters corresponding to the network equipment according to the pushing demand information.
16. The method of claim 1, wherein the method further comprises:
and recording the execution state information of the authentication module, each parallel checking module, the push channel selection module and the push channel sending module in real time.
17. The method of claim 1, wherein the method further comprises:
writing the status flag bit and/or temporary variable generated by the authentication module, each parallel checking module, the push channel selection module and the push channel sending module in the execution process into the memory of the network device;
wherein the method further comprises:
and reading the status flag bit and/or the temporary variable from the memory of the network device during the execution process of the authentication module, each parallel checking module, the push channel selection module and the push channel sending module.
18. An apparatus for pushing a message, the apparatus comprising:
a processor; and
a memory arranged to store computer executable instructions that, when executed, cause the processor to perform the method of any one of claims 1 to 17.
19. A computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform operations of any one of the methods of claims 1-17.
CN202011552903.2A 2020-12-24 2020-12-24 Method and equipment for pushing messages Active CN112615929B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011552903.2A CN112615929B (en) 2020-12-24 2020-12-24 Method and equipment for pushing messages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011552903.2A CN112615929B (en) 2020-12-24 2020-12-24 Method and equipment for pushing messages

Publications (2)

Publication Number Publication Date
CN112615929A CN112615929A (en) 2021-04-06
CN112615929B true CN112615929B (en) 2023-01-31

Family

ID=75244820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011552903.2A Active CN112615929B (en) 2020-12-24 2020-12-24 Method and equipment for pushing messages

Country Status (1)

Country Link
CN (1) CN112615929B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113179302B (en) * 2021-04-19 2022-09-16 杭州海康威视系统技术有限公司 Log system, and method and device for collecting log data
CN113704004B (en) * 2021-08-30 2023-09-29 北京百度网讯科技有限公司 Method, device, equipment and storage medium for realizing notification service

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272260A (en) * 2007-03-21 2008-09-24 华为技术有限公司 Service authentication method and universal service order management equipment and communication system
CN104331335A (en) * 2014-11-20 2015-02-04 国家电网公司 Method and device for checking dead link of web portal
CN106202134A (en) * 2015-05-30 2016-12-07 中国石油化工股份有限公司 Data redundancy inspection method
CN108631955A (en) * 2018-05-15 2018-10-09 网易(杭州)网络有限公司 It is a kind of to ensure that message sends reachable mthods, systems and devices
CN109379445A (en) * 2018-12-21 2019-02-22 上海拍拍贷金融信息服务有限公司 A kind of sending method and device of PUSH message
CN109739659A (en) * 2018-12-13 2019-05-10 上海恺英网络科技有限公司 A kind of method and system of the information consumption of Distributed Message Queue
WO2019118425A1 (en) * 2017-12-11 2019-06-20 Trillium Incorporated Secure transmission module
CN111614548A (en) * 2020-05-20 2020-09-01 广州平云小匠科技有限公司 Message pushing method and device, computer equipment and storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615383B1 (en) * 1998-05-29 2003-09-02 Sun Microsystems, Inc. System and method for message transmission between network nodes connected by parallel links
CN109218431A (en) * 2018-09-28 2019-01-15 江苏中威科技软件系统有限公司 A kind of accurate information push management method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272260A (en) * 2007-03-21 2008-09-24 华为技术有限公司 Service authentication method and universal service order management equipment and communication system
CN104331335A (en) * 2014-11-20 2015-02-04 国家电网公司 Method and device for checking dead link of web portal
CN106202134A (en) * 2015-05-30 2016-12-07 中国石油化工股份有限公司 Data redundancy inspection method
WO2019118425A1 (en) * 2017-12-11 2019-06-20 Trillium Incorporated Secure transmission module
CN108631955A (en) * 2018-05-15 2018-10-09 网易(杭州)网络有限公司 It is a kind of to ensure that message sends reachable mthods, systems and devices
CN109739659A (en) * 2018-12-13 2019-05-10 上海恺英网络科技有限公司 A kind of method and system of the information consumption of Distributed Message Queue
CN109379445A (en) * 2018-12-21 2019-02-22 上海拍拍贷金融信息服务有限公司 A kind of sending method and device of PUSH message
CN111614548A (en) * 2020-05-20 2020-09-01 广州平云小匠科技有限公司 Message pushing method and device, computer equipment and storage medium

Also Published As

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

Similar Documents

Publication Publication Date Title
CN108897691B (en) Data processing method, device, server and medium based on interface simulation service
US10237333B2 (en) Network transfer of large files in unstable network environments
CN108958780B (en) Method and equipment for presenting update information of hosted program
CN110266505B (en) Method and equipment for managing session group
CN112615929B (en) Method and equipment for pushing messages
US10963370B2 (en) Default mock implementations at a server
US9769012B2 (en) Notification normalization
CN111212183B (en) Method, device and computer readable medium for running hosted application
CN107332700B (en) Method and equipment for configuring wireless routing equipment
CN110290557B (en) Method and equipment for loading page tags in application
CN111162990B (en) Method and equipment for presenting message notification
CN112468371B (en) Method and equipment for determining transmission delay information of DPI equipment
CN110780887A (en) Method and equipment for providing application installation package
WO2015067189A1 (en) Method and apparatus for installing application
CN112104663A (en) Method and equipment for managing login user and user equipment
CN110515692B (en) Method and equipment for starting reading application
CN112822430B (en) Conference group merging method and device
CN111325574B (en) Method and device for providing presentation information
US20200099631A1 (en) Method and device for performing traffic control on user equipment
CN115134325A (en) Method, device and medium for information push
CN112272213B (en) Activity registration method and equipment
CN113641503A (en) Multi-cloud multi-cluster Kubernetes management system, method and equipment
CN110995813B (en) Method and equipment for detecting page performance
CN110333914B (en) Method and device for executing target operation
CN113760693A (en) Method and apparatus for local debugging of microservice systems

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