CA3134297A1 - Message pushing method and device thereof, computer equipment and storage medium - Google Patents

Message pushing method and device thereof, computer equipment and storage medium Download PDF

Info

Publication number
CA3134297A1
CA3134297A1 CA3134297A CA3134297A CA3134297A1 CA 3134297 A1 CA3134297 A1 CA 3134297A1 CA 3134297 A CA3134297 A CA 3134297A CA 3134297 A CA3134297 A CA 3134297A CA 3134297 A1 CA3134297 A1 CA 3134297A1
Authority
CA
Canada
Prior art keywords
message
subject
pushing
primary
push
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.)
Pending
Application number
CA3134297A
Other languages
French (fr)
Inventor
Dong TANG
Gang Wang
Heng Xu
Wei Qian
Zhenyu Ge
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.)
10353744 Canada Ltd
Original Assignee
10353744 Canada 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 10353744 Canada Ltd filed Critical 10353744 Canada Ltd
Publication of CA3134297A1 publication Critical patent/CA3134297A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Disclosed in the present invention are a method, a device, a computer apparatus, and a storage medium for message pushing. The method includes: executing a primary processing logic and a secondary processing logic simultaneously the primary processing logic execution consisting of generating a primary pushing task after receiving a primary event parameter sent by a distributed cache, and adding the primary pushing task into message pushing queue; and the secondary logic execution, consisting of acquiring a secondary event parameter according to a predetermined message subject set after a pre-set condition is satisfied, generating a secondary pushing task based on the described secondary event parameter, and adding the secondary event parameter into the message pushing queue;
and performing message pushing according to the message pushing queue. The present invention prevents message loss when service nodes and the distributed cache lose connections, to ensure synchronous and immediate message pushing services.

Description

MESSAGE PUSHING METHOD AND DEVICE THEREOF, COMPUTER EQUIPMENT AND
STORAGE MEDIUM
Technical Field 100011 The present invention relates to the technical field of message pushing, in particular, to a method, a device, a computer apparatus, and a storage medium of message pushing.
Background
[0002] Real-time message pushing in distributed computing systems is used to push messages for cluster allocation, with multiple service nodes. Each service node cannot simultaneously send messages to client ends connecting to the individual service node, and consequently cause inconsistent new message receiving time by different client ends. In order to coordinate consistent new message receiving time by different client ends, the publish-subscribe pattern of distributed cache is used to achieve message notifications amongst service nodes.
[0003] However, in practical scenarios, service nodes and the distributed cache may lose connections, and the service nodes will reconnect. The events during disconnected periods are lost and consequently lead to not being able to send messages to client ends connected to the individual service nodes.
Summary
[0004] The present invention aims at drawbacks of the current technologies, and a method, a device, a computer apparatus, and a storage medium of message pushing are provided. The present invention prevents message loss when service nodes and the distributed cache lose connections, to ensure synchronous and immediate message pushing services.
[0005] From the first perspective, a message pushing method is provided in the present invention. In an embodiment of the present invention, the described method comprises:
[0006] executing a primary processing logic and a secondary processing logic simultaneously, the described primary processing logic execution consisting of generating a primary pushing task after receiving a primary event parameter sent by a distributed cache, and adding the described primary pushing task into message pushing queue; and the described secondary logic execution, consisting of acquiring a secondary event parameter according to a predetermined message subject set after a pre-set condition is satisfied, generating a secondary pushing task based on the described secondary event parameter, and adding the described secondary event parameter into the described message pushing queue;
and
[0007] performing message pushing according to the described message pushing queue.

Date Recue/Date Received 2021-10-14
[0008] From the second perspective, a message pushing device is provided in the present invention. In an embodiment of the present invention, the described device comprises:
[0009] a task module, configured to execute a primary processing logic and a secondary processing logic simultaneously, the described primary processing logic execution consisting of generating a primary pushing task after receiving a primary event parameter sent by a distributed cache, and add the described primary pushing task into message pushing queue, followed by the described secondary logic execution, consisting of acquiring a secondary event parameter according to a predetermined message subject set after a pre-set condition is satisfied, generating a secondary pushing task based on the described secondary event parameter, and adding the described secondary event parameter into the described message pushing queue; and
[0010] a pushing module, configured to perform message pushing according to the described message pushing queue.
[0011] From the third perspective, a computer apparatus is provided in the present invention, comprising a memory unit, a processor, and computer programs stored in the memory unit executable on the processor, wherein any of the procedures of the forementioned methods are performed when the processor executes the computer programs.
[0012] From the fourth perspective, a readable computer storage medium with computer programs stored is provided in the present invention, wherein any of the procedures of the methods are performed when the computer programs are executed on the processor.
[0013] In embodiments of the forementioned method, the device, the computer apparatus, and the storage medium of message pushing, the primary processing logic receives primary event parameters to generate primary pushing tasks via distributed cache, to achieve message notifications and data transmission amongst multiple service nodes, wherein message parameters are received in real-time manner for immediate message pushing and updates; and the primary logic and the secondary logic are performed simultaneously, wherein secondary event parameters are acquired to generate the secondary pushing task based on a predetermined message subject set while processing the secondary logic, to prevent message loss when service nodes and the distributed cache lose connections and ensure synchronous and immediate message pushing services.
Brief descriptions of the drawings
[0014] Fig. 1 is an application environment diagram of the message pushing method in an embodiment of the present invention.
[0015] Fig. 2 is a flow diagram of the message pushing method in an embodiment of the present invention.

Date Recue/Date Received 2021-10-14
[0016] Fig. 3 is a structure diagram of the message pushing device in an embodiment of the present invention.
[0017] Fig. 4 is an internal structure diagram of the computer apparatus in an embodiment of the present invention.
Detailed descriptions
[0018] In order to make the technical strategies of the present invention clearer, the accompanying drawings for the present invention will be briefly introduced below.
Obviously, the following drawings in the descriptions are used to explain the present invention and shall not restrict the present invention.
[0019] The message pushing method provided in the present invention is applicable to any service node in message pushing service clusters. As shown in Fig. 1, the message generation service node 102 is connected to distributed cache, and the distributed cache is connected to multiple service nodes (including pushing service node 104, pushing service 106, and pushing service node 108), wherein each pushing service node is connected to individually associated client ends.
[0020] In an embodiment of the present invention, as shown in Fig. 2, a message pushing method is provided in the present invention. The described method can be applied to any pushing service node in Fig. 1 (noted as the present pushing service node in the following contexts), used for following illustrations. The described method comprises:
[0021] Step 202, executing a primary processing logic and a secondary processing logic simultaneously, the described primary processing logic execution consisting of generating a primary pushing task after receiving a primary event parameter sent by a distributed cache, and adding the described primary pushing task into message pushing queue; and the described secondary logic execution, consisting of acquiring a secondary event parameter according to a predetermined message subject set after a pre-set condition is satisfied, generating a secondary pushing task based on the described secondary event parameter, and adding the described secondary event parameter into the described message pushing queue.
[0022] In particular, the primary event parameter received by the present pushing service node from the distributed cache corresponds to one message, wherein the primary event parameter is property information of the described message, containing the message number and subject. The primary pushing task is a pushing task corresponding to the primary event parameter. The secondary event parameter acquired based on a predetermined message subject set by the present pushing service node with satisfying triggering conditions also corresponds to a messaged, wherein the secondary event parameter is property information of the described message, containing the message number and subject. The secondary pushing task is a pushing task corresponding to the secondary event parameter. The predetermined message subject set is a set determined based on pre-set rules, wherein the described set Date Recue/Date Received 2021-10-14 contains one or more elements as message subjects, such as "online document A", "online document B", "WeChat group chat A", "WeChat group chat B", etc. One subject can correspond to multiple messages, wherein the associated messages can have different message serial numbers. The message serial numbers of the messages associated with one subject can follow chronological order according to generation time.
[0023] In particular, the present pushing service node executes the primary processing logic and the secondary processing logic simultaneously. When the primary processing logic is executed, the present pushing node receives the primary event parameter via distributed cache, and generates a pushing task corresponding to the primary event parameter, as the primary pushing task, then the primary pushing task is added into the message pushing queue of the present service node. When the secondary processing logic is executed, the present pushing node receives the secondary event parameter with satisfying pre-set conditions, wherein the secondary event parameter is acquired based on a predetermined message subject set. For example, the present pushing service node can acquire a pair of secondary event parameters for each subject in the message subject set, wherein the pair of secondary event parameters corresponds to a message and can be the message subject and message serial number. Then, the present service node generates a pushing task corresponding to the secondary event parameter, as the secondary pushing task, then the secondary pushing task is added into the message pushing queue of the present service node.
[0024] Step 204, performing message pushing according to the described message pushing queue.
[0025] In particular, the present pushing service node executes each task in the message pushing queue in the chronological order of generation time, wherein each message is pushed to the associated client end connecting with the present pushing service node.
[0026] In the present embodiment, the primary processing logic receives primary event parameters to generate primary pushing tasks via distributed cache, to achieve message notifications and data transmission amongst multiple service nodes, wherein message parameters are received in real-time manner for immediate message pushing and updates; and the primary logic and the secondary logic are performed simultaneously, wherein secondary event parameters are acquired to generate the secondary pushing task based on a predetermined message subject set while processing the secondary logic, to prevent message loss when service nodes and the distributed cache lose connections and ensure synchronous and immediate message pushing services.
[0027] In an embodiment of the present invention, the described primary event parameter is pushed to the service node by the described distributed cache after receiving a primary message generating event sent from the message generating service node by the distributed cache; and, in particular, the described primary message generating event corresponds to the described primary event parameter, wherein the described message generating service node sends contents associated with the primary message generating event and the described primary event parameter to a message storage node while the Date Recue/Date Received 2021-10-14 described message generating service node sends the described primary message generating event to the message storage node.
[0028] In particular, the primary message generation event is a message generation event sent by the present pushing service node via the distributed cache. The message storage node is configured to store message contents and other message data (such as message serial number, message subject, and message generation time), wherein the message storage node can be the cache, database, or other storage device and storage media. Furthermore, the message storage node can be an independent server, or be allocated in the message generation service node or distributed cache.
[0029] In particular, the present server connects to the distributed cache for subscribing new message generation events. After a new message is generated by the message generation service node, the new message generation event is published via the distributed cache, as the primary message generation event.
Afterwards, the present message pushing service node receives the primary event parameter associated with the primary message generation event. Besides, when the new message generation event is published by the message generation service node via the distributed cache, the message contents and the primary message parameter corresponding to the primary message generation event are sent to the message storage node, wherein the message storage node stores the data sent by the message generation service node. In one of embodiments of the present invention, when the message contents corresponding to the primary message generation event are sent to the message storage node by the message generation service node, other information including message authors and generation time for the primary message generation event are also sent to the message storage node.
[0030] In the present embodiment, the message generation service node published new message generation events via the distributed cache. The pushing service node subscribes new message generation events via the distributed cache and receive message parameters in a real-time manner, wherein the publish-subscribe pattern of distributed cache is used to achieve message notifications and real-time message data transmissions, for automatic and real-time message pushing by the pushing service node.
100311 In an embodiment of the present invention, the described predetermined message subject set is a full-volume subject set; and [0032] the secondary event parameter is acquired based on the predetermined message subject set when a pre-set triggering condition is satisfied, by means of:
[0033] performing a pre-set scheduled task when the pre-set triggering condition is satisfied, wherein the procedure of performing the described scheduled task consists of acquiring the secondary event parameter according to the described full-volume subject set.
[0034] In particular, the full-volume subject set is a set of subjects subscribed by all client ends connecting to the present pushing service node.
Date Recue/Date Received 2021-10-14 [0035] In particular, the present pushing service node performs a pre-set scheduled task when the pre-set triggering condition is satisfied (such as triggering once per minute), then acquires the secondary event parameter according to the described full-volume subject set. For example, the described scheduled task can be executed in a unit of minutes.
[0036] In the present embodiment, the pre-set scheduled task is scheduled to trigger task performing, allowing real-time pushing for messages generated at any time, to save system energy costs.
[0037] In an embodiment of the present invention, the secondary event parameter is acquired according to the described full-volume subject set, by means of:
[0038] for any subject in the full-volume subject set, querying a latest message serial number corresponding to the described subject from the described message storage node, wherein the described subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of secondary event parameters.
[0039] In particular, for any subject in the full-volume subject set, the present pushing service node ca query for the ID of the described subject in the message storage node, to acquire the maximum value of the serial numbers corresponding to the described subject, wherein the maximum serial number is combined with the subject ID as a pair of secondary event parameters. In one of embodiments, the message storage node includes the cache and databases. The present pushing service node can first query in the cache, then, with no corresponding query results for the subject ID and associated message serial number, query in the database according to the subject ID.
[0040] In particular, for any subject in the full-volume subject set, by querying a latest message serial number corresponding to the described subject from the message storage node, a pair of secondary event parameters is acquired, to ensure message completeness for each subject and real-time pushing.
100411 In an embodiment of the present invention, the predetermined message subject set includes a hot subject set and a full-volume subject set, followed by [0042] acquiring the secondary event parameter according to the described full-volume subject set, by means of [0043] performing a primary scheduled task where if primary pre-set triggering conditions are satisfied, wherein the procedure of performing the described primary scheduled task includes acquiring a tertiary event parameter according to the described hot subject set; and [0044] performing a secondary scheduled task where if secondary pre-set triggering conditions are satisfied, wherein the procedure of performing the described primary scheduled task includes acquiring a quaternary event parameter according to the described full-volume subject set.

Date Recue/Date Received 2021-10-14 [0045] In particular, the hot subject set is a set of subjects with message updates during a pre-set time period. For example, subjects with message updates during an hour can be identified as hot subjects, wherein a set of all hot subjects is the hot subject set.
[0046] In particular, the present pushing service node performs a primary scheduled task where if primary pre-set triggering conditions are satisfied to generate a tertiary event parameter according to the hot subject set. For example, the scheduled task can be set to be performed in a unit of second. The present pushing service node performs a secondary scheduled task where if primary pre-set triggering conditions are satisfied to generate a quaternary event parameter according to the full-volume subject set.
For example, the scheduled task can be set to be performed in a unit of minute.
[0047] In the present embodiment, the hot subject set and the full-volume subject set are set up, wherein the primary scheduled task and the secondary scheduled task trigger the execution of tasks. The triggering time and triggering intervals (as known as triggering frequency) of the primary scheduled task and the secondary scheduled task trigger can be different and set according to practical scenarios. Furthermore, the primary scheduled task is set with a higher triggering frequency than the secondary scheduled task, allowing real-time pushing for messages generated at any time, to save system energy costs.
[0048] In an embodiment of the present invention, the tertiary event parameter is acquired according to the described hot subject set, by means of:
[0049] for any arbitrary subject in the described hot subject set, querying a latest message serial number corresponding to the arbitrary subject from the described message storage node, wherein the described arbitrary subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of tertiary event parameters; and [0050] the quaternary event parameter is acquired according to the described full-volume subject set, by means of:
[0051] for any arbitrary subject in the described full-volume subject set, querying a latest message serial number corresponding to the arbitrary subject from the described message storage node, wherein the described arbitrary subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of quaternary event parameters.
[0052] In particular, for any subject in the hot subject set, the present pushing service node ca query for the ID of the described subject in the message storage node, to acquire the maximum value of the serial numbers corresponding to the described subject, wherein the maximum serial number is combined with the subject ID as a pair of tertiary event parameter. Similarly, for any subject in the full-volume subject set, the present pushing service node ca query for the ID of the described subject in the message storage node, to acquire the maximum value of the serial numbers corresponding to the described subject, wherein the maximum serial number is combined with the subject ID as a pair of quaternary event Date Recue/Date Received 2021-10-14 parameter. In one of embodiments, the message storage node includes the cache and databases. The present pushing service node can first query in the cache, then, with no corresponding query results for the subject ID and associated message serial number, query in the database according to the subject ID.
[0053] In particular, for any subject in the hot subject set, by querying a latest message serial number corresponding to the described subject from the message storage node, a pair of tertiary event parameter is acquired; and for any subject in the full-volume subject set, by querying a latest message serial number corresponding to the described subject from the message storage node, a pair of tertiary event parameter is acquired to ensure message completeness for each subject and real-time pushing.
[0054] In an embodiment of the present invention, the pre-determination of the described full-volume subject set comprises:
[0055] receiving all subjects sent from each client end connecting to the present service port, wherein the subjects sent are subscribed by each client end; and [0056] identifying a set of all subjects subscribed and sent form each client end connecting to the present service port as the described full-volume set.
[0057] In particular, each client end connecting to the present pushing service node sends subjects subscribed by each client end to the present pushing service node, wherein the present pushing service node identifies the set of all subjects subscribed and sent form each client end connecting to the present service port as the full-volume set.
[0058] In particular, the set of all subjects sent to the present pushing service node subscribed by each client end connecting to the present pushing service node is identified as the full-volume subject set, to ensure message completeness and real-time pushing for messages corresponding to each subject subscribed by each client end connecting to the present pushing service node.
[0059] In the present embodiment, the pre-determination of the described hot subject set comprises:
[0060] step Si, sending a secondary new message generation event by the distributed cache;
[0061] step S2, adding all subjects corresponding to the described secondary new message generation events into an initial subject set;
[0062] step 3, reviewing each subject in the described initial subject set, and where if the message generating time of any subject in the described initial subject set satisfies a primary pre-set condition, removing the described subject from the initial subject set; and [0063] step 4, identifying the processed initial subject set from S3 as the hot subject set.
[0064] In particular, the initial subject set is a set of subjects with message updates within a pre-set time period (such as one hour) before performing the present step.
[0065] In particular, in a scenario with combined message generation service node and pushing service cluster, the combined device is assumed as the message pushing service node, then, when the message Date Recue/Date Received 2021-10-14 pushing service node publishes a secondary message generation event via the distributed cache (wherein a new message generation event is published via the distributed cache), the subject associated with the secondary message generation event is added into the initial subject set. The described message pushing service node can be scheduled to trigger a task of checking each subject in the initial subject set. Where if any subject in the initial subject set corresponds to a message with generation time satisfying the primary pre-set conditions, the described subject is removed from the initial subject set. For example, the primary pre-set condition can be set as more than one hour interval between the current time and the latest generation time of the messages corresponding to the forementioned any subject. Therefore, if the interval between the current time and the latest generation time of the messages corresponding to the one subject in the initial subject set, the present message pushing service node will remove the described subject from the initial subject set. After performing removal or reserving operations of each subject in the initial subject set, the initial subject set at the current time point is identified as the hot subject set.
[0066] In the present embodiment, when the message pushing service node publishes a secondary message generation event, the subject associated with the secondary message generation event is identified as a hot subject, wherein in a scenario with combined message generation service and pushing service, the hot subject is maintained with concise procedures to save energy costs.
[0067] In an embodiment of the present invention, the described pre-determination of the described hot subject set comprise:
[0068] reviewing each subject in the described full-volume subject set, and where if the message generating time of any subject in the described full-volume subject set satisfies a secondary pre-set condition, identifying the described subject as preliminary subjects; and [0069] identifying a set of all preliminary subjects in the described full-volume set as the hot subject set [0070] In particular, the preliminary subjects are components of the hot subject set.
100711 In particular, the present message pushing service node reviews each subject in the described full-volume subject set, and where if the message generating time of any subject in the described initial subject set satisfies a secondary pre-set condition, the described subject is identified as preliminary subjects. For example, the secondary pre-set condition can be set as less than one hour interval between the current time and the latest generation time of the messages corresponding to the forementioned any subject. Therefore, if the interval between the current time and the latest generation time of the messages corresponding to the one subject in the full-volume subject set, the present message pushing service node will identify the described subject as a preliminary subject. The preliminary subjects in the full-volume subject set compose the hot subject set.

Date Recue/Date Received 2021-10-14 [0072] In the present invention, after reviewing the full-volume subject set, preliminary subjects in the full-volume subject set are added into the hot subject set for a comprehensive hot subject set, to ensure message completeness and real-time pushing.
[0073] In an embodiment of the present invention, message pushing is processed according to the described message pushing queue, by means of:
[0074] identifying the earliest pushing tasks added into the described message pushing queue from the described message pushing queue from as push-pending tasks;
[0075] identifying the subjects associated with the described push-pending tasks as a push pending subject;
[0076] where if any of client ends connecting to the present service node subscribes the described push-pending subject, identifying the described client end as a push-pending client end; and [0077] performing message pushing to each push-pending client end according the task parameters corresponding to the described push-pending tasks, wherein the task parameters are determined by that, where if the push-pending task is a primary pushing task, the primary event parameter associated with the primary pushing task is determined as the task parameters corresponding to the described push-pending tasks; and where if the push-pending task is a secondary pushing task, the secondary event parameter associated with the secondary pushing task is determined as the task parameters corresponding to the described push-pending tasks.
[0078] In particular, the present service node execute each task in the message pushing queue in the chronological order of adding time into the queue, wherein the present pushing service node identifies the earliest pushing tasks added into the described message pushing queue from the described message pushing queue from as push-pending tasks; and identifies the subjects associated with the described push-pending tasks as a push pending subject, followed by where if any of client ends connecting to the present service node subscribes the described push-pending subject, identifying the described client end as a push-pending client end; and performing message pushing to each push-pending client end. Furthermore, the push-pending task corresponds to a pair of task parameter, where if the push-pending task is a primary pushing task, the primary event parameter associated with the primary pushing task is determined as the task parameters corresponding to the described push-pending tasks; and where if the push-pending task is a secondary pushing task, the secondary event parameter associated with the secondary pushing task is determined as the task parameters corresponding to the described push-pending tasks. In one of embodiments, the present pushing service node is connected to multiple client ends, wherein the present pushing service node uses one thread to push messages associated with push-pending tasks for one client end, individually. The threads for client ends are executed simultaneously, wherein all threads for client ends compose a thread pool.
Date Recue/Date Received 2021-10-14 [0079] In the present embodiment, for any of the client ends connecting to the present service node, the messages are pushed to the client ends according to the message pushing queue, to ensure message completeness and real-time pushing.
[0080] In an embodiment of the present invention, the procedures of performing message pushing to each push-pending client end according to the task parameters corresponding to the described push-pending tasks comprises:
100811 determining a primary message serial number based on the task parameters corresponding to the described push-pending tasks;
[0082] determining the latest message serial number of each push-pending client end corresponding to the described push-pending subject, and identifying the latest message serial number of each push-pending client end corresponding to the described push-pending subject as a secondary message serial number; and [0083] performing message pushing to each push-pending client end according to the described push-pending subject, the described primary message serial number, and the described secondary message serial number.
[0084] In particular, each primary message serial number corresponds to one message, wherein the message subject is the push-pending subject; and each secondary message serial number corresponds to one message, wherein the message subject is the push-pending subject. The latest message serial number for push-pending client end corresponding to the push-pending subject is determined as the message serial number of the message with the last generation time from the push-pending client end corresponding to the push-pending subject.
[0085] In particular, the present pushing service node determines the message serial number of the message for the push-pending client end corresponding to the push-pending subject as the primary message serial number. For any push-pending client end, the pushing service node determines the latest message serial number for push-pending client end corresponding to the push-pending subject via the connection between the push-pending terminal and the present pushing service node, as the secondary message serial number; and after determining the push-pending subject, the primary message serial number, and the secondary message serial number, the present pushing service node uses the push-pending subject, the primary message serial number, and the secondary message serial number, to perform message pushing to each push-pending client end.
[0086] In the present embodiment, by executing message pushing service according to message serial numbers, the repeated message push is prevented to reduce unnecessary system resources wastes.

Date Recue/Date Received 2021-10-14 [0087] In an embodiment of the present invention, the message pushing to each push-pending client end is performed according to the described push-pending subject, the primary message serial number, and the secondary message serial number, by means of [0088] determining a push-pending serial number;
[0089] acquiring message contents from the described message storage node based on the described push-pending subject and the described push-pending serial number;
[0090] sending the described message contents to each of the described push-pending client end; wherein [0091] the determination of the described push-pending serial number includes selecting and identifying each integer being greater than the described secondary serial number and equal or less than the described primary serial number in ascending order as a push-pending serial number.
[0092] In particular, the present pushing service node selects and identifies each integer being greater than the described secondary serial number and equal or less than the described primary serial number in ascending order as a push-pending serial number. After determining a push-pending serial number, the message contents from the message storage node are acquired based on the push-pending subject and the push-pending serial number for sending the described message contents to each of the described push-pending client end.
[0093] In the present embodiment, by selecting and identifying each integer being greater than the described secondary serial number and equal or less than the s primary serial number in ascending order as a push-pending serial number, the message pushing is performed to ensure each message for the push-pending subjects can be pushed to the push-pending client end, preventing message lose.
[0094] In an illustrative embodiment, assuming that each online file (such as a word file or and excel file) corresponds to one subject in the forementioned embodiments and each multi-user editing window (noted as the window) is a client end, each editing will generate a file updating message, wherein the files edited within one hour is marked as hot files (as the hot subjects in the forementioned embodiments). After generating each file update message, the push service will push the update message for the file to all windows with the file opened. Therefore, all the windows are able to view the edited contents by other users.
[0095] In particular, each pushing service node connects to the distributed cache after initiation to subscribed new message generation event. For example, one user opens an online file and makes some editions, then user terminals (such as on mobile phone, PC, and other computer apparatus) will send an editing request to the message generation node. After the message generation service receives the editing request, a file updating message is generated based on edited contents by the user. The new message event is sent via the distributed cache and the associated file update message is stored in the message Date Recue/Date Received 2021-10-14 storage node. In particular, after the distributed cache receives the new message event, the new message event is then pushed to each pushing service node (or pushing service nodes related to the message event).
[0096] After the pushing service node receives the new message event, a pushing task is created according to the file ID and message serial number in the update message of the file, wherein the pushing task is then added into the message pushing queue. In the meanwhile, a primary scheduled task on the pushing service node is triggered (such as one execution per one second), followed by generating a pushing task according to the hot file set wherein the pushing task is added into the message pushing queue; and a secondary scheduled task on the pushing service node is triggered (such as one execution per ten minutes), followed by generating a pushing task according to the full-volume file set wherein the pushing task is added into the message pushing queue.
[0097] Message pushing tasks in the message pushing queue are executed by two thread pools. The first pushing thread pool is configured to divide the file-based pushing task into multiple sub-pushing tasks based on connection with client ends. For example, the file A is opened by 100 users, wherein one user opens one window. Amongst 100 users, 50 windows for users are connected with a pushing service node 1, wherein the pushing task for the file A on the pushing service node 1 is divided into 50 sub-pushing tasks. The sub-pushing tasks are executed by the second thread pool, to push update messages corresponding to each sub-pushing task to the windows with the file opened.
Therefore, after the generation of an update message of one file, the update messages can be immediately pushed to all client ends with the file opened.
[0098] To clarify, although the operations in the forementioned flow diagrams follow the arrow and explained in sequence, these steps are not necessarily performed strictly following the sequence directed by the arrows. Except the clear indications in the present invention, the implementation of these operations should not be restricted by certain sequences. In other words, these steps are allowed to follow the other implementation sequences. In the meanwhile, at least some parts of the flow diagram in Fig.2 may include multiple sub-steps or multiple phases. These sub-steps or phases are not necessarily performed in a restricted sequence. Indeed, the fulfillment of the sub-parts or phases may be achieved in turns or in an alternative manner.
[0099] In an embodiment of the present invention, as shown in Fig. 3, a message pushing device is provided, comprising:
[0100] a task module 302, configured to execute a primary processing logic and a secondary processing logic simultaneously, the described primary processing logic execution consisting of generating a primary pushing task after receiving a primary event parameter sent by a distributed cache, and add the described primary pushing task into message pushing queue, followed by the described secondary logic execution, consisting of acquiring a secondary event parameter according to a predetermined message subject set Date Recue/Date Received 2021-10-14 after a pre-set condition is satisfied, generating a secondary pushing task based on the described secondary event parameter, and adding the described secondary event parameter into the described message pushing queue; and 101011 a pushing module 304, configured to perform message pushing according to the described message pushing queue.
[0102] In an embodiment of the present invention, the forementioned task module 302 can include:
[0103] a primary acquisition unit (not shown in drawings), configured to query a latest message serial number corresponding to the described subject from the described message storage node for any subject in the full-volume subject set, wherein the described subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of secondary event parameters.
[0104] In an embodiment of the present invention, the forementioned task module 302 can include:
[0105] a secondary acquisition unit (not shown in drawings), configured to query a latest message serial number corresponding to the arbitrary subject from the described message storage node for any arbitrary subject in the described hot subject set, wherein the described arbitrary subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of tertiary event parameters [0106] In an embodiment of the present invention, the forementioned task module 302 can include:
[0107] a tertiary acquisition unit (not shown in drawings), configured to query a latest message serial number corresponding to the arbitrary subject from the described message storage node for any arbitrary subject in the described full-volume subject set, wherein the described arbitrary subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of quaternary event parameters.
[0108] In an embodiment of the present invention, the forementioned task module 302 can include:
[0109] a receiving unit (not shown in drawings), configured to receive all subjects sent from each client end connecting to the present service port, wherein the subjects sent are subscribed by each client end, and [OHO] a primary determination unit (not shown in drawings), configured to receive all subjects sent from each client end connecting to the present service port, wherein the subjects sent are subscribed by each client end.
[OM In an embodiment of the present invention, the forementioned task module 302 can include:
[0112] a reviewing unit (not shown in drawings), configured to review each subject in the described full-volume subject set, and where if the message generating time of any subject in the described full-volume subject set satisfies a secondary pre-set condition, identifying the described subject as preliminary subjects; and Date Recue/Date Received 2021-10-14 [0113] a secondary determination unit (not shown in drawings), configured to identify all preliminary subjects in the described full-volume set as the hot subject set.
[0114] In an embodiment of the present invention, the forementioned task module 302 can include:
[0115] a tertiary determination unit (not shown in drawings), configured to identify the earliest pushing tasks added into the described message pushing queue from the described message pushing queue from as push-pending tasks;
[0116] a quaternary acquisition unit (not shown in drawings), configured to identify the subjects associated with the described push-pending tasks as a push pending subject;
[0117] a fifth determination unit (not shown in drawings), configured to identify the described client end as a push-pending client end where if any of client ends connecting to the present service node subscribes the described push-pending subject; and [0118] a primary pushing unit (not shown in drawings), configured to perform message pushing to each push-pending client end according the task parameters corresponding to the described push-pending tasks, wherein the task parameters are determined by that, where if the push-pending task is a primary pushing task, the primary event parameter associated with the primary pushing task is determined as the task parameters corresponding to the described push-pending tasks; and where if the push-pending task is a secondary pushing task, the secondary event parameter associated with the secondary pushing task is determined as the task parameters corresponding to the described push-pending tasks.
[0119] In an embodiment of the present invention, the forementioned primary pushing unit can include:
[0120] a sixth determination unit (not shown in drawings), configured to determine a primary message serial number based on the task parameters corresponding to the described push-pending tasks;
[0121] a seventh determination unit (not shown in drawings), configured to determine the latest message serial number of each push-pending client end corresponding to the described push-pending subject, and identifying the latest message serial number of each push-pending client end corresponding to the described push-pending subject as a secondary message serial number; and [0122] a secondary pushing unit (not shown in drawings), configured to perform message pushing to each push-pending client end according to the described push-pending subject, the described primary message serial number, and the described secondary message serial number.
[0123] In an embodiment of the present invention, the forementioned secondary pushing unit can include:
[0124] an eighth determination unit (not shown in drawings), configured to determine a push-pending serial number;
[0125] a fourth acquisition unit (not shown in drawings), configured to acquire message contents from the described message storage node based on the described push-pending subject and the described push-pending serial number; and Date Recue/Date Received 2021-10-14 [0126] a sending unit (not shown in drawings), configured to send the described message contents to each of the described push-pending client end; wherein [0127] In an embodiment of the present invention, the forementioned eighth determination unit can include:
[0128] a nineth determination unit (not shown in drawings), configured to select and identify each integer being greater than the described secondary serial number and equal or less than the described primary serial number in ascending order as a push-pending serial number.
[0129] The detailed specifications of the message pushing device can refer to the forementioned specifications for the message pushing method, and are not explained in detail hereby. Each described module in the inventory information update device, in whole or in part, may be accomplished by software, hardware, and their combinations. Each described module may be independent hardware or hardware embedded in the processors of the computer apparatus. In the meanwhile, each described module may be software that is stored in the memory unit of the computer apparatus, to invoke and execute the corresponding performances of the described modules.
[0130] In an embodiment of the present invention, a computer apparatus is provided, wherein the described computer apparatus can be a server with the internal structure diagram shown in Fig. 8. The computer apparatus comprises a processor, a memory unit, a network connection port, and a database connected by system bus control. The memory unit of the computer apparatus includes a nonvolatile storage medium and an internal memory. The operating system, computer programs, and databases are stored in the nonvolatile storage medium. The internal memory provides the operation environment for the execution of the operating system and the computer programs stored in the nonvolatile storage medium. The database of the computer apparatus is configured to store the message execution results.
The network connection port of the computer apparatus is configured for communication with the external terminals via network connection. The execution of the computer apparatus by the processor permits the method of inventory information update.
[0131] It is comprehensible for those skilled in the art that the structure shown in Fig. 8 represents only a portion of structure associated with the applications of the present invention. The computer apparatus associated with the applications of the present invention are not restricted or limited by the structure. An exact computer apparatus may include more components or less components than that is shown in the drawings, possibly with combinations of some components or different component layouts.
[0132] In an embodiment of the present invention, a computer apparatus is provided, comprising a memory unit, a processor, and computer programs stored in the memory unit and executable on the processor. When the computer programs are executed on the processor, the following procedures are performed, including:

Date Recue/Date Received 2021-10-14 [0133] executing a primary processing logic and a secondary processing logic simultaneously, the described primary processing logic execution consisting of generating a primary pushing task after receiving a primary event parameter sent by a distributed cache, and adding the described primary pushing task into message pushing queue; and the described secondary logic execution, consisting of acquiring a secondary event parameter according to a predetermined message subject set after a pre-set condition is satisfied, generating a secondary pushing task based on the described secondary event parameter, and adding the described secondary event parameter into the described message pushing queue;
and [0134] performing message pushing according to the described message pushing queue.
[0135] In an embodiment of the present invention, wherein the described predetermined message subject set is a full-volume subject set, when the computer programs are executed on the processor, the secondary event parameter is acquired based on the predetermined message subject set when a pre-set triggering condition is satisfied, by means of: performing a pre-set scheduled task when the pre-set triggering condition is satisfied, wherein the procedure of performing the described scheduled task consists of acquiring the secondary event parameter according to the described full-volume subject set.
[0136] In an embodiment of the present invention, when the computer programs are executed on the processor, the secondary event parameter is acquired according to the described full-volume subject set by querying a latest message serial number corresponding to the arbitrary subject from the described message storage node for any subject in the described full-volume subject set, wherein the described subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of secondary event parameters.
[0137] In an embodiment of the present invention, when the computer programs are executed on the processor, the predetermined message subject set includes a hot subject set and a full-volume subject set, followed by acquiring the secondary event parameter according to the described full-volume subject set, by means of performing a primary scheduled task where if primary pre-set triggering conditions are satisfied, wherein the procedure of performing the described primary scheduled task includes acquiring a tertiary event parameter according to the described hot subject set; and performing s secondary scheduled task where if secondary pre-set triggering conditions are satisfied, wherein the procedure of performing the described primary scheduled task includes acquiring a quaternary event parameter according to the described full-volume subject set.
[0138] In an embodiment of the present invention, when the computer programs are executed on the processor, the tertiary event parameter is acquired according to the described hot subject set, by means of querying a latest message serial number corresponding to the arbitrary subject from the described message storage node for any arbitrary subject in the described hot subject set, wherein the described Date Recue/Date Received 2021-10-14 arbitrary subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of tertiary event parameters.
[0139] In an embodiment of the present invention, when the computer programs are executed on the processor, the quaternary event parameter is acquired according to the described full-volume subject set, by means of querying a latest message serial number corresponding to the arbitrary subject from the described message storage node for any arbitrary subject in the described full-volume subject set, wherein the described arbitrary subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of quaternary event parameters.
[0140] In an embodiment of the present invention, when the computer programs are executed on the processor, the pre-determination of the described full-volume subject set comprises: receiving all subjects sent from each client end connecting to the present service port, wherein the subjects sent are subscribed by each client end; and identifying a set of all subjects subscribed and sent form each client end connecting to the present service port as the described full-volume set.
[0141] In an embodiment of the present invention, when the computer programs are executed on the processor, pre-determination of the described hot subject set also comprises:
reviewing each subject in the described full-volume subject set, and where if the message generating time of any subject in the described full-volume subject set satisfies a secondary pre-set condition, identifying the described subject as preliminary subjects; and identifying a set of all preliminary subjects in the described full-volume set as the hot subject set; and identifying all preliminary subjects in the described full-volume set as the hot subject set.
[0142] In an embodiment of the present invention, when the computer programs are executed on the processor, message pushing is processed according to the described message pushing queue, by means of:
identifying the earliest pushing tasks added into the described message pushing queue from the described message pushing queue from as push-pending tasks; identifying the subjects associated with the described push-pending tasks as a push pending subject; where if any of client ends connecting to the present service node subscribes the described push-pending subject, identifying the described client end as a push-pending client end; and performing message pushing to each push-pending client end according the task parameters corresponding to the described push-pending tasks, wherein the task parameters are determined by that, where if the push-pending task is a primary pushing task, the primary event parameter associated with the primary pushing task is determined as the task parameters corresponding to the described push-pending tasks; and where if the push-pending task is a secondary pushing task, the secondary event parameter associated with the secondary pushing task is determined as the task parameters corresponding to the described push-pending tasks.

Date Recue/Date Received 2021-10-14 [0143] In an embodiment of the present invention, when the computer programs are executed on the processor, the procedures of performing message pushing to each push-pending client end according to the task parameters corresponding to the described push-pending tasks comprises: determining a primary message serial number based on the task parameters corresponding to the described push-pending tasks;
determining the latest message serial number of each push-pending client end corresponding to the described push-pending subject, and identifying the latest message serial number of each push-pending client end corresponding to the described push-pending subject as a secondary message serial number;
and performing message pushing to each push-pending client end according to the described push-pending subject, the described primary message serial number, and the described secondary message serial number.
[0144] In an embodiment of the present invention, the message pushing to each push-pending client end is performed according to the described push-pending subject, the primary message serial number, and the secondary message serial number, by means of determining a push-pending serial number; acquiring message contents from the described message storage node based on the described push-pending subject and the described push-pending serial number; sending the described message contents to each of the described push-pending client end; wherein the determination of the described push-pending serial number includes selecting and identifying each integer being greater than the described secondary serial number and equal or less than the described primary serial number in ascending order as a push-pending serial number.
[0145] In an embodiment of the present invention, a computer readable storage medium is provided, and the computer programs are stored in the storage medium. When the processor executes the computer programs, the following operations are performed, including:
[0146] executing a primary processing logic and a secondary processing logic simultaneously, the described primary processing logic execution consisting of generating a primary pushing task after receiving a primary event parameter sent by a distributed cache, and adding the described primary pushing task into message pushing queue; and the described secondary logic execution, consisting of acquiring a secondary event parameter according to a predetermined message subject set after a pre-set condition is satisfied, generating a secondary pushing task based on the described secondary event parameter, and adding the described secondary event parameter into the described message pushing queue;
and [0147] performing message pushing according to the described message pushing queue.
[0148] In an embodiment of the present invention, wherein the described predetermined message subject set is a full-volume subject set, when the computer programs are executed on the processor, the secondary event parameter is acquired based on the predetermined message subject set when a pre-set triggering Date Recue/Date Received 2021-10-14 condition is satisfied, by means of: performing a pre-set scheduled task when the pre-set triggering condition is satisfied, wherein the procedure of performing the described scheduled task consists of acquiring the secondary event parameter according to the described full-volume subject set.
[0149] In an embodiment of the present invention, when the computer programs are executed on the processor, the secondary event parameter is acquired according to the described full-volume subject set by querying a latest message serial number corresponding to the arbitrary subject from the described message storage node for any subject in the described full-volume subject set, wherein the described subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of secondary event parameters.
[0150] In an embodiment of the present invention, when the computer programs are executed on the processor, the predetermined message subject set includes a hot subject set and a full-volume subject set, followed by acquiring the secondary event parameter according to the described full-volume subject set, by means of performing a primary scheduled task where if primary pre-set triggering conditions are satisfied, wherein the procedure of performing the described primary scheduled task includes acquiring a tertiary event parameter according to the described hot subject set; and performing s secondary scheduled task where if secondary pre-set triggering conditions are satisfied, wherein the procedure of performing the described primary scheduled task includes acquiring a quaternary event parameter according to the described full-volume subject set.
[0151] In an embodiment of the present invention, when the computer programs are executed on the processor, the tertiary event parameter is acquired according to the described hot subject set, by means of querying a latest message serial number corresponding to the arbitrary subject from the described message storage node for any arbitrary subject in the described hot subject set, wherein the described arbitrary subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of tertiary event parameters.
[0152] In an embodiment of the present invention, when the computer programs are executed on the processor, the quaternary event parameter is acquired according to the described full-volume subject set, by means of querying a latest message serial number corresponding to the arbitrary subject from the described message storage node for any arbitrary subject in the described full-volume subject set, wherein the described arbitrary subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of quaternary event parameters.
[0153] In an embodiment of the present invention, when the computer programs are executed on the processor, the pre-determination of the described full-volume subject set comprises: receiving all subjects sent from each client end connecting to the present service port, wherein the subjects sent are subscribed Date Recue/Date Received 2021-10-14 by each client end; and identifying a set of all subjects subscribed and sent form each client end connecting to the present service port as the described full-volume set.
[0154] In an embodiment of the present invention, when the computer programs are executed on the processor, pre-determination of the described hot subject set also comprises:
reviewing each subject in the described full-volume subject set, and where if the message generating time of any subject in the described full-volume subject set satisfies a secondary pre-set condition, identifying the described subject as preliminary subjects; and identifying a set of all preliminary subjects in the described full-volume set as the hot subject set; and identifying all preliminary subjects in the described full-volume set as the hot subject set.
[0155] In an embodiment of the present invention, when the computer programs are executed on the processor, message pushing is processed according to the described message pushing queue, by means of:
identifying the earliest pushing tasks added into the described message pushing queue from the described message pushing queue from as push-pending tasks; identifying the subjects associated with the described push-pending tasks as a push pending subject; where if any of client ends connecting to the present service node subscribes the described push-pending subject, identifying the described client end as a push-pending client end; and performing message pushing to each push-pending client end according the task parameters corresponding to the described push-pending tasks, wherein the task parameters are determined by that, where if the push-pending task is a primary pushing task, the primary event parameter associated with the primary pushing task is determined as the task parameters corresponding to the described push-pending tasks; and where if the push-pending task is a secondary pushing task, the secondary event parameter associated with the secondary pushing task is determined as the task parameters corresponding to the described push-pending tasks.
[0156] In an embodiment of the present invention, when the computer programs are executed on the processor, the procedures of performing message pushing to each push-pending client end according to the task parameters corresponding to the described push-pending tasks comprises: determining a primary message serial number based on the task parameters corresponding to the described push-pending tasks;
determining the latest message serial number of each push-pending client end corresponding to the described push-pending subject, and identifying the latest message serial number of each push-pending client end corresponding to the described push-pending subject as a secondary message serial number;
and performing message pushing to each push-pending client end according to the described push-pending subject, the described primary message serial number, and the described secondary message serial number.
[0157] In an embodiment of the present invention, the message pushing to each push-pending client end is performed according to the described push-pending subject, the primary message serial number, and the Date Recue/Date Received 2021-10-14 secondary message serial number, by means of determining a push-pending serial number; acquiring message contents from the described message storage node based on the described push-pending subject and the described push-pending serial number; sending the described message contents to each of the described push-pending client end; wherein the determination of the described push-pending serial number includes selecting and identifying each integer being greater than the described secondary serial number and equal or less than the described primary serial number in ascending order as a push-pending serial number.
[0158] All or portions of the forementioned procedures are comprehensible for those skilled in the art, and may be achieved by the computer program configured for sending commands to the related hardware.
The computer programs are stored in the computer readable nonvolatile memory unit. When the computer programs are executed on the processor, the forementioned procedure of the embodiments may be included. In particular, all the referred memory units, storages, databases, as well as any other media in the embodiments provided in the present invention, may include nonvolatile and/or volatile memory units.
The nonvolatile memory units may include read-only memory (ROM), programmable ROM (PROM), electrical programmable ROM (EPROM), electrically erasable programmable ROM
(EEPROM) or flash memory. The volatile memory units may include random access memory (RAM) or external cache memory. To describe RAM without limiting, RAM may be different formats such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM
(DDRSDRAM), enhanced DDRSDRAM (EDDRSDRAM), Synchlink DRAM (SLDRAM), direct rambus RAM
(RDRAM), direct rambus dynamic RAM (DRDRAM) and rambus dynamic RAM (RDRAM).
[0159] The forementioned technical strategies can be combined as possible. To be concise, not all possible combinations of each technical strategy in the forementioned embodiments are explained.
However, the combinations of these technical strategies without any conflict shall fall in the protection scope of the present invention.
[0160] The forementioned contents of preferred embodiments of the present invention, and shall not limit the applications of the present invention. Therefore, all alterations, modifications, equivalence, improvements of the present invention fall within the scope of the present invention.

Date Recue/Date Received 2021-10-14

Claims (10)

1. A message pushing method, comprising:
executing a primary processing logic and a secondary processing logic simultaneously, the described primary processing logic execution consisting of generating a primary pushing task after receiving a primary event parameter sent by a distributed cache, and adding the described primary pushing task into message pushing queue; and the described secondary logic execution, consisting of acquiring a secondary event parameter according to a predetermined message subject set after a pre-set condition is satisfied, generating a secondary pushing task based on the described secondary event parameter, and adding the described secondary event parameter into the described message pushing queue; and performing message pushing according to the described message pushing queue.
2. The method of claim 1, is characterized in that, the described method can be used in any service node in pushing service cluster, wherein the described service cluster includes multiple service nodes; and wherein the described primary event parameter is pushed to the service node by the described distributed cache after receiving a primary message generating event sent from the message generating service node by the distributed cache; and, in particular, wherein the described primary message generating event corresponds to the described primary event parameter, wherein the described message generating service node sends contents associated with the primary message generating event and the described primary event parameter to a message storage node while the described message generating service node sends the described primary message generating event to the message storage node.
3. The method of claim 2, is characterized in that, the described predetermined message subject set is a full-volume subject set; and the secondary event parameter is acquired based on the predetermined message subject set when a pre-set triggering condition is satisfied, by means of:
performing a pre-set scheduled task when the pre-set triggering condition is satisfied, wherein the procedure of performing the described scheduled task consists of acquiring the secondary event parameter according to the described full-volume subject set; and Date Recue/Date Received 2021-10-14 preferably, the secondary event parameter acquired according to the described full-volume subject set by:
for any subject in the described full-volume subject set, querying a latest message serial number corresponding to the arbitrary subject from the described message storage node, wherein the described subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of secondary event parameters.
4. The method of claim 2, is characterized in that, the described predetermined message subject set includes a hot subject set and a full-volume subject set;
followed by acquiring the secondary event parameter according to the described full-volume subject set, by means of:
performing a primary scheduled task where if primary pre-set triggering conditions are satisfied, wherein the procedure of performing the described primary scheduled task includes acquiring a tertiary event parameter according to the described hot subject set; and performing s secondary scheduled task where if secondary pre-set triggering conditions are satisfied, wherein the procedure of performing the described primary scheduled task includes acquiring a quaternary event parameter according to the described full-volume subject set;
preferably, wherein the tertiary event parameter is acquired according to the described hot subject set, by means of:
for any arbitrary subject in the described hot subject set, querying a latest message serial number corresponding to the arbitrary subject from the described message storage node, wherein both the described arbitrary subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of tertiary event parameters; and the quaternary event parameter is acquired according to the described full-volume subject set, by means of:

Date Recue/Date Received 2021-10-14 for any arbitrary subject in the described full-volume subject set, querying a latest message serial number corresponding to the arbitrary subject from the described message storage node, wherein both the described arbitrary subject and the latest message serial number corresponding to the arbitrary subject are identified as a pair of quaternary event parameters.
5. The methods of claim 3 or 4, is characterized in that, the pre-determination of the described full-volume subject set comprises:
receiving all subjects sent from each client end connecting to the present service port, wherein the subjects sent are subscribed by each client end; and identifying a set of all subjects subscribed and sent form each client end connecting to the present service port as the described full-volume set;
and the pre-determination of the described hot subject set comprises:
step SI, sending a secondary new message generation event by the distributed cache;
step S2, adding all subjects corresponding to the described secondary new message generation events into an initial subject set;
step 3, reviewing each subject in the described initial subject set, and where if the message generating time of any subject in the described initial subject set satisfies a primary pre-set condition, removing the described subject from the initial subject set; and step 4, identifying the processed initial subject set from S3 as the hot subject set;
or the described pre-determination of the described hot subject set comprises:
reviewing each subject in the described full-volume subject set, and where if the message generating time of any subject in the described full-volume subject set satisfies a secondary pre-set condition, identifying the described subject as preliminary subjects; and Date Recue/Date Received 2021-10-14 identifying all preliminary subjects in the described full-volume set as the hot subject set.
6. The methods of claim 1 ¨ 4, is characterized in that, message pushing is processed according to the described message pushing queue, by means of:
identifying the earliest pushing tasks added into the described message pushing queue from the described message pushing queue from as push-pending tasks;
identifying the subjects associated with the described push-pending tasks as a push pending subject;
where if any of client ends connecting to the present service node subscribes the described push-pending subject, identifying the described client end as a push-pending client end; and performing message pushing to each push-pending client end according the task parameters corresponding to the described push-pending tasks, wherein the task parameters are determined by that, where if the push-pending task is a primary pushing task, the primary event parameter associated with the primary pushing task is determined as the task parameters corresponding to the described push-pending tasks; and where if the push-pending task is a secondary pushing task, the secondary event parameter associated with the secondary pushing task is determined as the task parameters corresponding to the described push-pending tasks.
7. The method of claim 6, is characterized in that, the procedures of performing message pushing to each push-pending client end according to the task parameters corresponding to the described push-pending tasks comprises:
determining a primary message serial number based on the task parameters corresponding to the described push-pending tasks;
determining the latest message serial number of each push-pending client end corresponding to the described push-pending subject, and identifying the latest message serial number of each push-pending client end corresponding to the described push-pending subject as a secondary message serial number;

Date Recue/Date Received 2021-10-14 performing message pushing to each push-pending client end according to the described push-pending subject, the described primary message serial number, and the described secondary message serial number; and preferably, performing message pushing to each push-pending client end according to the described push-pending subject, the described primary message serial number, and the described secondary message serial number, by means of:
determining a push-pending serial number;
acquiring message contents from the described message storage node based on the described push-pending subject and the described push-pending serial number;
sending the described message contents to each of the described push-pending client end; wherein the determination of the described push-pending serial number includes selecting and identifying each integer being greater than the described secondary serial number and equal or less than the described primary serial number in ascending order as a push-pending serial number.
8. A message pushing device, comprises:
a task module, configured to execute a primary processing logic and a secondary processing logic simultaneously, the described primary processing logic execution consisting of generating a primary pushing task after receiving a primary event parameter sent by a distributed cache, and add the described primary pushing task into message pushing queue, followed by the described secondary logic execution, consisting of acquiring a secondary event parameter according to a predetermined message subject set after a pre-set condition is satisfied, generating a secondary pushing task based on the described secondary event parameter, and adding the described secondary event parameter into the described message pushing queue; and a pushing module, configured to perform message pushing according to the described message pushing queue.

Date Recue/Date Received 2021-10-14
9. A computer apparatus comprises a memory unit, a processor, and computer programs stored in the memory unit executable on the processor, wherein the methods of any one of claims 1 ¨ 7 are performed when the described processor executes the described computer programs.
10. A readable computer storage medium with computer programs stored, wherein the methods of any one of claims 1 ¨ 7 are performed when the described computer programs are executed on the described processor.

Date Recue/Date Received 2021-10-14
CA3134297A 2020-10-14 2021-10-14 Message pushing method and device thereof, computer equipment and storage medium Pending CA3134297A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011097078.1 2020-10-14
CN202011097078.1A CN112448883B (en) 2020-10-14 2020-10-14 Message pushing method, device, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
CA3134297A1 true CA3134297A1 (en) 2022-04-14

Family

ID=74736285

Family Applications (1)

Application Number Title Priority Date Filing Date
CA3134297A Pending CA3134297A1 (en) 2020-10-14 2021-10-14 Message pushing method and device thereof, computer equipment and storage medium

Country Status (2)

Country Link
CN (1) CN112448883B (en)
CA (1) CA3134297A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117376340A (en) * 2023-10-10 2024-01-09 曙光云计算集团有限公司 File uploading method, device, computer equipment and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114697282B (en) * 2022-02-28 2024-03-22 青岛海尔科技有限公司 Message processing method and system, storage medium and electronic device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9197575B2 (en) * 2014-02-17 2015-11-24 Cellco Partnership Handling of snapshot messages as a result of delivery failure in a two-way push connection
CN105871703A (en) * 2016-06-03 2016-08-17 用友网络科技股份有限公司 Push and pull combined instant communication message acquisition system and method
CN110875935B (en) * 2018-08-30 2023-03-24 阿里巴巴集团控股有限公司 Message publishing, processing and subscribing method, device and system
CN111431952B (en) * 2019-01-09 2022-06-03 阿里巴巴集团控股有限公司 Message pushing method, device and system, computer storage medium and electronic equipment
KR102230430B1 (en) * 2019-03-15 2021-03-19 주식회사 다날 Advertisement service processing apparatus based on the advertiser rank calculated based on the payment data of the payment gateway service and operating method thereof
CN111475759A (en) * 2020-04-08 2020-07-31 广州市百果园信息技术有限公司 Message pushing platform, method, device, server and storage medium
CN111475315B (en) * 2020-04-09 2024-04-16 广州方硅信息技术有限公司 Server and subscription notification push control and execution method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117376340A (en) * 2023-10-10 2024-01-09 曙光云计算集团有限公司 File uploading method, device, computer equipment and storage medium

Also Published As

Publication number Publication date
CN112448883B (en) 2023-05-05
CN112448883A (en) 2021-03-05

Similar Documents

Publication Publication Date Title
CA3134297A1 (en) Message pushing method and device thereof, computer equipment and storage medium
CN109815291B (en) Data synchronization method and device, electronic equipment and storage medium
CN110602165B (en) Government affair data synchronization method, device, system, computer equipment and storage medium
CN112698952A (en) Unified management method and device for computing resources, computer equipment and storage medium
CN110673933A (en) ZooKeeper-based distributed asynchronous queue implementation method, device, equipment and medium
CN111784318A (en) Data processing method and device, electronic equipment and storage medium
US20220308949A1 (en) Publishing system, pushing method, application device, receiving device and service management device
CN109257396B (en) Distributed lock scheduling method and device
CN113946427A (en) Task processing method, processor and storage medium for multi-operating system
CN109697112B (en) Distributed intensive one-stop operating system and implementation method
CN111260253A (en) Information sending method and device, computer equipment and storage medium
CN114780217B (en) Task scheduling method, device, computer equipment and medium
CN115242872A (en) Data processing method and device, computer equipment and readable storage medium
CN114553859A (en) BMC configuration management method and device, electronic equipment and storage medium
CN112925659A (en) Message processing method, device, equipment and computer storage medium
CN112966005A (en) Timing message sending method and device, computer equipment and storage medium
CN113806056B (en) Timed task processing method, device, computer equipment and storage medium
CN112153148A (en) Message accumulation processing method and device based on message receiving end
CN110674214A (en) Big data synchronization method and device, computer equipment and storage medium
CN113852919B (en) Method and device for generating early warning message, storage medium and electronic device
CN112115020B (en) Database connection pool abnormity monitoring method and device and computer equipment
CN116366609B (en) Global unique identification generation method, system, computer and readable storage medium
CN112882853B (en) Data processing method, device and equipment
CN115168003A (en) Timed task processing method and device for cluster server
CN113886215A (en) Interface test method, device and storage medium

Legal Events

Date Code Title Description
EEER Examination request

Effective date: 20220511

EEER Examination request

Effective date: 20220511

EEER Examination request

Effective date: 20220511

EEER Examination request

Effective date: 20220511

EEER Examination request

Effective date: 20220511

EEER Examination request

Effective date: 20220511

EEER Examination request

Effective date: 20220511

EEER Examination request

Effective date: 20220511

EEER Examination request

Effective date: 20220511

EEER Examination request

Effective date: 20220511