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

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

Info

Publication number
CN113839977A
CN113839977A CN202010588694.0A CN202010588694A CN113839977A CN 113839977 A CN113839977 A CN 113839977A CN 202010588694 A CN202010588694 A CN 202010588694A CN 113839977 A CN113839977 A CN 113839977A
Authority
CN
China
Prior art keywords
message
pushing
push
target
channel
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.)
Granted
Application number
CN202010588694.0A
Other languages
Chinese (zh)
Other versions
CN113839977B (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.)
SF Technology Co Ltd
Shenzhen SF Taisen Holding Group Co Ltd
Original Assignee
SF Technology Co Ltd
Shenzhen SF Taisen Holding Group 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 SF Technology Co Ltd, Shenzhen SF Taisen Holding Group Co Ltd filed Critical SF Technology Co Ltd
Priority to CN202010588694.0A priority Critical patent/CN113839977B/en
Priority claimed from CN202010588694.0A external-priority patent/CN113839977B/en
Publication of CN113839977A publication Critical patent/CN113839977A/en
Application granted granted Critical
Publication of CN113839977B publication Critical patent/CN113839977B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services

Abstract

The embodiment of the application discloses a message pushing method, a message pushing device, computer equipment and a storage medium, wherein the message pushing method comprises the following steps: acquiring a message pushing request; generating push messages corresponding to a plurality of message channels; acquiring message pushing priorities of a plurality of message channels; simulating to push a push message corresponding to a target message channel to the target push object by taking one of the plurality of message channels as the target message channel and one of the push objects as the target push object until the message channel in the plurality of message channels successfully simulates the push message, and determining the message channel successfully simulating the push message as an effective message channel of the target push object; and asynchronously pushing a push message corresponding to the effective message channel to the target push object through the effective message channel. In the embodiment of the application, the actual requirements of the user are considered, the success rate of message pushing is improved, and in addition, the asynchronous pushing mode can be applied to a service scene of pushing mass messages.

Description

Message pushing method and device, computer equipment and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method and an apparatus for pushing a message, a computer device, and a storage medium.
Background
In current internet applications, users often receive various types of message notifications. The most common message notification channels are short messages, voice, mail, WeChat, application message push notifications, etc. The message notifications may occur in different links of user registration, login, order placing, logistics delivery, order signing and the like, the friendly message notifications can well improve the interaction between the system and the user, and the security of user accounts, funds and order data, such as verification codes, mail authentication and the like, can be improved in some scenes. In order to realize the push of the multi-channel message notification, the application server needs to provide a short message sending gateway, a mail sending gateway, a WeChat sending gateway, an application message push gateway, and the like. Different application systems need to call corresponding gateway services to push messages to users, however, different application gateways may have different docking protocols and specifications, and the message pushing templates of different channels are also different.
At present, there are many platforms providing a message pushing function, such as ari cloud (Alibaba) -cloud communication, tencent cloud (tencent) -cloud communication, edm (mail pushing platform), dream network cloud communication (short message pushing platform), and aurora pushing (short message).
The message pushing platforms are excellent in services such as message delivery, message statistics and the like, and meet service requirements of most of markets, but the message pushing channels in the prior art are single, so that the requirements of customers cannot be met in all directions (for example, a dream network can only push short messages, edm can only push mails), and the success rate of message pushing cannot be guaranteed.
Disclosure of Invention
The embodiment of the application provides a message pushing method, a message pushing device, computer equipment and a storage medium, the actual requirements of users are considered, the success rate of message pushing is improved, and in addition, the asynchronous pushing mode based on message middleware can be applied to a service scene of pushing mass messages.
In one aspect, the present application provides a message pushing method, where the message pushing method includes:
acquiring a message pushing request, wherein the message pushing request comprises message content and information of a pushing object;
generating push messages corresponding to the plurality of message channels based on the message content and pre-acquired message push templates corresponding to the plurality of message channels;
acquiring message pushing priorities of the message channels;
based on the message pushing priorities of the plurality of message channels, sequentially taking one of the plurality of message channels as a target message channel, respectively taking one of the pushing objects as a target pushing object, simulating to push a pushing message corresponding to the target message channel to the target pushing object, and determining the message channel with the successful simulated pushing message as an effective message channel of the target pushing object until the message channel with the successful simulated pushing message in the plurality of message channels is successful;
and asynchronously pushing the push message corresponding to the effective message channel to a target push object through the effective message channel.
In some embodiments of the present application, the message pushing request includes message channel selection information, and before generating a pushing message corresponding to a plurality of message channels based on the message content and a message pushing template corresponding to a plurality of pre-acquired message channels, the method further includes:
determining the plurality of message channels according to the message channel selection information;
and acquiring message pushing templates corresponding to the plurality of message channels.
In some embodiments of the present application, the obtaining of the message pushing priorities of the plurality of message channels includes:
acquiring preset message pushing priorities of the message channels;
alternatively, the first and second electrodes may be,
determining a service scene of current message pushing according to the message pushing request; and determining the message pushing priorities of the plurality of message channels based on the service scene of the message pushing.
In some embodiments of the present application, the simulating to push a push message corresponding to the target message channel to a target push object until a message channel in the plurality of message channels simulates a push message successfully, and determining that the message channel that simulates the push message successfully is an effective message channel of the target push object includes:
checking whether the push message corresponding to the target message channel is legal or not;
if the message channel is legal, simulating to push a push message corresponding to the target message channel to a target push object until one message channel in the plurality of message channels simulates the push message successfully;
and determining a message channel for simulating the successful push message as an effective message channel of the target push object.
In some embodiments of the present application, the simulating of pushing a push message corresponding to the target message channel to a target push object includes:
calling a message pushing interface corresponding to the target message channel, and simulating to push a pushing message corresponding to the target message channel to a target pushing object;
and monitoring the real state of the push message corresponding to the target message channel for simulating and pushing, and determining whether the target message channel successfully simulates and pushes the message.
In some embodiments of the present application, the method further comprises:
after determining that the message channel which simulates the successful push message is the effective message channel of the target push object, storing the push message corresponding to the effective message channel into a preset message database.
In some embodiments of the present application, asynchronously pushing, through the effective message channel, a push message corresponding to the effective message channel to a target push object includes:
acquiring a push message corresponding to the effective message channel from the message database;
acquiring a contact way of the target push object in the effective message channel;
and calling a preset message middleware, and asynchronously pushing the push message corresponding to the effective message channel to a target push object through the contact way.
In another aspect, the present application provides a message pushing apparatus, including:
the device comprises a first acquisition unit, a second acquisition unit and a third acquisition unit, wherein the first acquisition unit is used for acquiring a message pushing request which comprises message content and information of a pushing object;
the generating unit is used for generating push messages corresponding to a plurality of message channels based on the message content and the message push templates corresponding to the plurality of message channels acquired in advance;
the second acquisition unit is used for acquiring the message pushing priorities of the plurality of message channels;
the simulation pushing unit is used for simulating to push the pushing messages corresponding to the target message channel to the target pushing object by sequentially taking one of the plurality of message channels as a target message channel and taking one of the pushing objects as a target pushing object based on the message pushing priorities of the plurality of message channels until the message channel in the plurality of message channels simulates the pushing messages successfully, and determining the message channel simulating the pushing messages successfully as an effective message channel of the target pushing object;
and the pushing unit is used for asynchronously pushing the pushing message corresponding to the effective message channel to a target pushing object through the effective message channel.
In some embodiments of the present application, the message push request includes message channel selection information, the apparatus further includes a template obtaining unit, where the template obtaining unit is configured to: determining the plurality of message channels according to the message channel selection information before generating push messages corresponding to the plurality of message channels based on the message content and pre-acquired message push templates corresponding to the plurality of message channels; and acquiring message pushing templates corresponding to the plurality of message channels.
In some embodiments of the present application, the second obtaining unit is specifically configured to:
acquiring preset message pushing priorities of the message channels;
alternatively, the first and second electrodes may be,
determining a service scene of current message pushing according to the message pushing request; and determining the message pushing priorities of the plurality of message channels based on the service scene of the message pushing.
In some embodiments of the present application, the simulation pushing unit is specifically configured to:
checking whether the push message corresponding to the target message channel is legal or not;
if the message channel is legal, simulating to push a push message corresponding to the target message channel to a target push object until one message channel in the plurality of message channels simulates the push message successfully;
and determining a message channel for simulating the successful push message as an effective message channel of the target push object.
In some embodiments of the present application, the simulation pushing unit is specifically configured to:
calling a message pushing interface corresponding to the target message channel, and simulating to push a pushing message corresponding to the target message channel to a target pushing object;
and monitoring the real state of the push message corresponding to the target message channel for simulating and pushing, and determining whether the target message channel successfully simulates and pushes the message.
In some embodiments of the present application, the apparatus further comprises a saving unit configured to:
and after determining that the message channel which simulates the push message successfully is the effective message channel of the target push object, storing the push message corresponding to the effective message channel into a preset message database.
In some embodiments of the present application, the pushing unit is specifically configured to:
acquiring a push message corresponding to the effective message channel from the message database;
acquiring a contact way of the target push object in the effective message channel;
and calling a preset message middleware, and asynchronously pushing the push message corresponding to the effective message channel to a target push object through the contact way.
In another aspect, the present application further provides a computer device, including:
one or more processors;
a memory; and
one or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the processor to implement the message push method.
In another aspect, the present application further provides a computer-readable storage medium, on which a computer program is stored, where the computer program is loaded by a processor to execute the steps in the message pushing method.
In the embodiment of the application, before the message is pushed, the push messages of a plurality of different message channels are generated, the push messages are simulated based on the obtained message push priorities of the plurality of message channels, the actual requirements of a user are considered when the messages are pushed through the message push priorities, the push messages are simulated to determine the effective message channel, and then the messages are pushed through the effective message channel, so that the success rate of message push is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic view of a scenario of a message pushing system provided in an embodiment of the present application;
FIG. 2 is a block diagram illustrating an architecture of an embodiment of a message push platform implementation provided by an embodiment of the present application;
fig. 3 is a flowchart illustrating an embodiment of a message pushing method provided in an embodiment of the present application;
FIG. 4 is a flowchart illustrating one embodiment of step 304 provided in embodiments of the present application;
FIG. 5 is a flowchart of one embodiment of step 305 provided in an embodiment of the present application;
fig. 6 is a schematic diagram of a specific scenario of message pushing provided in an embodiment of the present application;
fig. 7 is a schematic diagram of another specific scenario of message pushing provided in an embodiment of the present application;
fig. 8 is a schematic structural diagram of an embodiment of a message pushing apparatus provided in an embodiment of the present application;
fig. 9 is a schematic structural diagram of an embodiment of a computer device provided in an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
In the description of the present application, it is to be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", and the like indicate orientations or positional relationships based on those shown in the drawings, and are used merely for convenience of description and for simplicity of description, and do not indicate or imply that the referenced device or element must have a particular orientation, be constructed in a particular orientation, and be operated, and thus should not be considered as limiting the present application. Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, features defined as "first", "second", may explicitly or implicitly include one or more of the described features. In the description of the present application, "a plurality" means two or more unless specifically limited otherwise.
In this application, the word "exemplary" is used to mean "serving as an example, instance, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments. The following description is presented to enable any person skilled in the art to make and use the application. In the following description, details are set forth for the purpose of explanation. It will be apparent to one of ordinary skill in the art that the present application may be practiced without these specific details. In other instances, well-known structures and processes are not set forth in detail in order to avoid obscuring the description of the present application with unnecessary detail. Thus, the present application is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Embodiments of the present application provide a message pushing method, a message pushing device, a server, and a storage medium, which are described in detail below.
Referring to fig. 1, fig. 1 is a schematic view of a scene of a message pushing system according to an embodiment of the present disclosure, where the message pushing system may include a terminal 100 and a computer device 200, the terminal 100 is connected to the computer device 200 through a network, and a message pushing apparatus described in the embodiment of the present disclosure is integrated in the computer device 200, such as the computer device 200 in fig. 1, the terminal 100 may perform data interaction with the computer device 200, the terminal 100 may be provided with a message receiving apparatus for receiving a message pushed by the message pushing apparatus, and the message receiving apparatus may be an application client, such as a messaging client, an enterprise client, a mail client, a browser client, or the like, and may also be a short message receiving module in the terminal 100.
In the embodiment of the present application, the computer device 200 is mainly configured to obtain a message pushing request, where the message pushing request includes message content and information of a pushing object; generating push messages corresponding to the plurality of message channels based on the message content and pre-acquired message push templates corresponding to the plurality of message channels; acquiring message pushing priorities of the message channels; based on the message pushing priorities of the message channels, sequentially taking one of the message channels as a target message channel and one of the pushing objects as a target pushing object, simulating to push a pushing message corresponding to the target message channel to the target pushing object until the message channel in the message channels simulates the pushing message successfully, and determining the message channel simulating the pushing message successfully as an effective message channel of the target pushing object; and asynchronously pushing the push message corresponding to the effective message channel to a target push object through the effective message channel.
In this embodiment, the computer device 200 may be an independent server, or may be a server network or a server cluster composed of servers, for example, the computer device 200 described in this embodiment includes, but is not limited to, a computer, a network host, a single network server, a plurality of network server sets, or a cloud server composed of a plurality of servers. Among them, the cloud server is constituted by a large number of computers or web servers based on cloud computing (CloudComputing). In the embodiment of the present application, the server and the User terminal may implement communication through any communication manner, including but not limited to mobile communication based on the third Generation Partnership Project (3 GPP), Long Term Evolution (LTE), Worldwide Interoperability for Microwave Access (WiMAX), or computer network communication based on the TCP/IP Protocol Suite (TCP/IP), User Datagram Protocol (UDP), and the like.
It is to be understood that the terminal 100 used in the embodiments of the present application may be a device that includes both receiving and transmitting hardware, i.e., a device having receiving and transmitting hardware capable of performing two-way communication over a two-way communication link. Such a device may include: a cellular or other communication device having a single line display or a multi-line display or a cellular or other communication device without a multi-line display. The terminal 100 may specifically be a desktop terminal or a mobile terminal, and the terminal 100 may also specifically be one of a mobile phone, a tablet computer, a notebook computer, and the like.
Those skilled in the art will understand that the application environment shown in fig. 1 is only one application scenario related to the present embodiment, and does not constitute a limitation on the application scenario of the present embodiment, and that other application environments may further include more or fewer terminals than those shown in fig. 1, or a server network connection relationship, for example, only 1 server and 2 terminals are shown in fig. 1, and it is understood that the message push system may further include one or more other terminals connected to the server network, and is not limited herein.
In addition, as shown in fig. 1, the message push system may further include a memory 300 for storing push messages, message requests, and other information. For example, the memory may store a common service component, and the common service component may include a message database, a message pushing template database, a message control database, or a message middleware, where the message database is used for storing message records, the message pushing template database is used for storing message pushing templates in different message channels, such as message pushing templates corresponding to WeChat, email, SMS, or enterprise internal message channels, the message control database is used for storing message control instructions, the message middleware is used for storing message pushing requests, and accepts asynchronous consumption requests of the computer device 200 and pushes messages, and specifically, the message database, the message pushing template database, and the message control database may be different types of message databases, such as the message database may be HBase, the message pushing template database may be MySQL database, the message control database may be Redis and the message middleware may be a RockketMQ.
The HBase is a highly reliable, high-performance, column-oriented and telescopic distributed database, is an open-source implementation of Google BigTable, and is mainly used for storing unstructured and semi-structured loose data. MySQL is a relational database management system that keeps data in different tables instead of putting all the data in one large repository, which increases speed and flexibility. The SQL language used by MySQL is the most common standardized language for accessing databases. The RocketMQ is a distributed message transfer and streaming media platform, has low delay, high performance and reliability, capacity of trillion level and flexible scalability, and has massive message processing capability.
It will be appreciated that the above message database, message push template database, message control database, or message middleware, etc. are merely examples, and other databases or middleware of the same type may be used in practical applications, for example, the message middleware may also be an ActiveMQ or RabbitMQ.
It should be noted that the scenario diagram of the message pushing system shown in fig. 1 is merely an example, and the message pushing system and the scenario described in the embodiment of the present application are for more clearly illustrating the technical solution of the embodiment of the present application, and do not form a limitation to the technical solution provided in the embodiment of the present application.
Based on the message pushing system, a message pushing platform corresponding to the message pushing system is provided in the embodiment of the present application, as shown in fig. 2, which is a schematic structural diagram of an embodiment implemented by the message pushing platform in the embodiment of the present invention, in fig. 2, a user configures a message pushing template through a management Web, and a message pushed through an API message interface first arrives at a public gateway and then arrives at an application layer of the message pushing platform; the application layer in the upper diagram is composed of all function modules of the message pushing platform device, and the modules are mutually matched to jointly complete the pushing of the message; the public service component mainly provides basic services for an application layer, such as message record storage (HBase), message push template storage (MySQL) and message control (Redis), and the push subsystem is responsible for pushing messages of all message channels and is an external system on which a message push platform depends.
As shown in fig. 3, which is a schematic flow chart of an embodiment of a message pushing method in the embodiment of the present application, the message pushing method may include the following steps 301 to 305, specifically as follows:
301. and acquiring a message pushing request.
The message push request includes a push service parameter, specifically, the push service parameter includes at least two mandatory items, that is, the message push request includes information of a message content and a push object, as a specific example, the mandatory items in the push service parameter may include at least two of the following items, for example: service identification (e.g., service number), anti-duplication identification (e.g., anti-duplication unique ID), template identification (used to determine corresponding message push template), information of the push object (e.g., user name and cell phone number), message content. The push service parameter number may further include one or more of the following information as an option: push message transmission deadline, association identifier (e.g., association record ID for associating a record related to the push message transmission request, facilitating query), extended content (dynamically extended content).
Wherein, the message content is the specific content pushed by the message, which can be edited and input or selected by the user on the Web management interface of the computer equipment, the information of the push object comprises the contact way of the push object, which can be determined after the user selects individually, for example, the user selects the mobile phone number, the instant messaging application identifier (such as micro signal, QQ number, etc.), the employee number in the enterprise, the mailbox, etc. respectively, or after selecting the user group, all the objects in the user group are determined as the push objects, then, the contact information of the pushing object is obtained, and the user group can be a user group in a target area (such as a certain region), a user group in a target age group (such as a certain age group), a user group in a target gender (such as gender male), or a user group with a target attribute (such as hobbies including badminton) and the like.
It should be noted that, in the embodiment of the present application, the user group corresponding to the user may be divided in advance according to gender, region, age, and the like, and the same user may be divided into different user groups, and it may be understood that the user group corresponding to the user may also be divided into more groups based on other types of user figures, for example, one or more different user groups may be divided according to user preferences, and the specific details are not limited herein.
In this embodiment, one or more tables storing the user contact information may be maintained in advance in the message pushing system (e.g., the memory 300), for example, the message pushing system may maintain one contact table storing the user contact information, the contact information of the pushed object may be obtained by a user querying the user or a user group in the contact table, a plurality of different tables may be maintained in the contact table according to different user types, taking a service-type enterprise as an example, two tables may be maintained in the contact table, which are a member table storing member information of the enterprise and an employee table storing employee information of the enterprise, where the member table may include a corresponding relationship between a member mobile phone number and a micro signal, and the employee table may include a corresponding relationship between an employee work number and a mailbox, and a corresponding relationship between an employee number and a mobile phone number.
The contact list for storing the contact information of the user can be a Hive list, and Hive is a data warehouse tool based on Hadoop and used for data extraction, conversion and loading, and the method is a mechanism capable of storing, inquiring and analyzing large-scale data stored in Hadoop. The Hive data warehouse tool can map the structured data file into a database table, provide SQL query function and convert SQL sentences into MapReduce tasks for execution. The Hive table stores the metadata corresponding to the user contact information in a relational database (such as MySQL of the application), so that the time for performing semantic check in the process of querying the user contact information can be greatly reduced.
It should be noted that, in this embodiment of the application, the information of the pushed object may include a contact manner of the pushed object in the preset contact list, and may also include a contact manner of the user searched through a preset other channel based on the contact manner of the pushed object in the preset contact list, where the preset other channel may be another business system that reasonably opens the user information.
In order to improve the message query speed under mass data, in the embodiment of the application, the contact table storing the user contact information may be a Hive table, and meanwhile, the Hive table may also be submitted to an elastic search, and the user contact information is queried by using the elastic search, at this time, the contact information of the pushed object may be obtained by a user querying the user or a user group in the elastic search, and the user inputs the contact information of the pushed object, that is, other contact information of the pushed object may be found in the elastic search.
The Elasticissearch is a distributed, highly-extended and highly-real-time search and data analysis engine which can conveniently enable a large amount of data to have the capabilities of searching, analyzing and exploring. The horizontal flexibility of the elastic search is fully utilized, so that the data becomes more valuable in a production environment. The implementation principle of the Elasticissearch is mainly divided into the following steps, firstly, a user submits data to an Elasticissearch database, then a word controller divides words of corresponding sentences, the weights and word division results are stored into the data, when the user searches data, the results are ranked and scored according to the weights, and then returned results are presented to the user.
302. And generating push messages corresponding to the plurality of message channels based on the message content and the pre-acquired message push templates corresponding to the plurality of message channels.
The message channel is a channel for pushing messages, such as short messages, enterprise applications, instant messaging application mails and the like. Specifically, in the embodiment of the present application, message push templates corresponding to a plurality of message channels may be obtained in advance, and the message content is respectively filled in the message push templates corresponding to the plurality of message channels, so that push messages corresponding to the plurality of message channels may be generated.
In the embodiment of the present application, the message pushing template may be managed, for example, a message pushing basic template is configured uniformly, the message pushing basic template has a fixed format (such as a service name, a template type, a message channel, a notification title, a template identifier, a template content, an encryption field, and the like described below), by setting attributes of different message channels in the message pushing basic template, the message pushing templates of different message channels can be configured, for example, options can be added and modified on the basis of the message pushing basic template to obtain the message pushing templates of different message channels, management and maintenance of the message pushing templates are not required to be independently carried out by each butt-jointed service, and by configuring the message pushing basic template, and adding or modifying the basic message pushing template to obtain other different message pushing templates.
In some embodiments, message pushing templates corresponding to different message channels may be pre-entered, and the message pushing template entry interface provided in the embodiment of the present application may include: a service name, a template type, a message channel, a notification title, a template identification, a template content, and an encryption field. Wherein, the dynamic field in the message content uses special symbol: $ field name; sensitive fields in the message notification content can be set as encrypted fields, a plurality of sensitive fields also support encrypted storage, and the field names of the encrypted fields and the dynamic fields are kept consistent; according to the design of the encrypted field, the encrypted field is stored in an encrypted mode when the message notification content is stored, and the encrypted field needs to be decrypted when the message notification content is sent to a push object.
303. And acquiring the message pushing priorities of the plurality of message channels.
The obtaining of the message push priorities of the plurality of message channels may be performed in a plurality of ways, and specifically may include the following two ways:
(1) and acquiring preset message pushing priorities of the plurality of message channels.
(2) Determining a service scene of current message pushing according to the message pushing request; and determining the message pushing priorities of the plurality of message channels based on the service scene of the message pushing.
Specifically, the service scenario of message pushing is a service scenario corresponding to a message pushing object, and may include multiple message pushing scenarios such as an intra-enterprise pushing scenario, a client pushing scenario, and a mixed pushing scenario, for example, when a message pushing request is for pushing of an intra-enterprise employee, the message pushing request is the intra-enterprise pushing scenario, when the message pushing request is for an enterprise client, the message pushing scenario is a client pushing scenario, and when the message pushing request is for an enterprise employee and an enterprise client, the message pushing scenario is the mixed pushing scenario.
In some embodiments, the service type of the service scenario is identified in the message push request, and according to the message push request, determining that the service scenario message pushed by the current message may be: and directly determining the service scene of the current message push according to the service type in the message push request.
In other embodiments, it may also be: for example, when the current message content includes information associated with a client, such as "client", "customer", "member", and the like, the current message service scenario pushed by the message may be identified as a client pushing scenario, and when the current message content includes information associated with an enterprise, such as "employee", "co-worker", "enterprise name", and the like, the current message service scenario pushed by the message may be identified as an intra-enterprise pushing scenario.
Certainly, the accuracy of the automatic recognition scenario may not be high, and further, the service scenario pushed by the current message may be determined by combining automatic recognition and user confirmation, for example, the service scenario pushed by the current message is automatically recognized according to the message content, and then the recognized service scenario is fed back to the user for confirmation, so as to improve the accuracy of automatic recognition.
In addition, after determining the service scenario of message pushing, the message pushing priorities of the multiple message channels may be determined based on the service scenario of message pushing, and specifically, the determining the message pushing priorities of the multiple message channels based on the service scenario of message pushing may be: and setting a higher priority for the message channel which is attached to the service scene in the plurality of message channels.
For example, the plurality of message channels include WeChat, email, short message and enterprise application, and if the business scenario is an intra-enterprise push scenario, the enterprise application is a message channel most closely fitted to the intra-enterprise push scenario, and the priority of the enterprise application may be set to be the highest. If the service scenario is a client push scenario, the priority of the WeChat may be set to be the highest because the viscosity of the WeChat to the general user is higher. It can be understood that, in the embodiment of the present application, the priorities of the message channels may be preconfigured for different service scenarios, and after determining the service scenario, the priorities of the plurality of message channels may be determined directly based on the priorities of the preconfigured message channels.
304. Based on the message pushing priorities of the plurality of message channels, sequentially taking one of the plurality of message channels as a target message channel, respectively taking one of the pushing objects as a target pushing object, simulating to push the pushing message corresponding to the target message channel to the target pushing object, and determining the message channel successful in simulating the pushing message as an effective message channel of the target pushing object until the message channel successful in simulating the pushing message in the plurality of message channels is successful.
The effective message channel is a message channel capable of effectively pushing messages to a pushing object. For example, the message can be pushed to the user a through the WeChat, which means that the WeChat is an effective message channel for pushing the message to the user a.
In the embodiment of the application, the number of the push objects may be multiple, and in this case, the scheme is directed to many-to-many scenarios, that is, based on the message push priorities of the multiple message channels, message pushing to the multiple push objects is simulated.
Based on the message pushing priorities of the plurality of message channels, sequentially taking one of the plurality of message channels as a target message channel, respectively taking one of the pushing objects as a target pushing object, simulating to push the pushing message corresponding to the target message channel to the target pushing object, and determining the message channel in which the simulated pushing message succeeds as an effective message channel of the target pushing object until the message channel in the plurality of message channels in which the simulated pushing message succeeds, wherein the specific steps are as follows:
for the plurality of push objects, taking one of the push objects as a target push object, for example, assuming that the push objects include a push object 1, a push object 2, and a push object 3, and taking the push object 1, the push object 2, and the push object 3 as target push objects, respectively;
for a target push object, sequentially simulating and pushing push messages corresponding to a plurality of message channels, specifically, sequentially simulating and pushing the push messages corresponding to each message channel in the plurality of message channels to a target push object according to the message push priorities of the plurality of message channels, for example, the plurality of message channels include a message channel 1, a message channel 2, and a message channel 3, assuming that the message pushing priorities are, from high to low, the message channel 2, the message channel 1, and the message channel 3, the pushing messages corresponding to the three message channels are obtained in the previous steps, at this time, the pushing message corresponding to the message channel 2 is simulated to the target pushing object, if the pushing message is unsuccessful, the pushing message corresponding to the message channel 1 is simulated to the target pushing object, and if the pushing message is not unsuccessful, the pushing message corresponding to the message channel 3 is simulated to the target pushing object.
It should be noted that, if the simulation pushing of the push message corresponding to one message channel of the multiple message channels is successful, the pushing of the push message corresponding to the subsequent message channel with a lower priority is stopped, and also taking the above three message channels as an example, if the simulation pushing of the push message corresponding to the message channel 2 to the target pushing object is successful, the subsequent priority is lower than that of the message channel 1 of the message channel 2, and the push message of the message channel 3 does not need to be simulated for pushing, so that on one hand, the waste of push resources and the disturbance of multi-channel pushing on the user are avoided, on the other hand, the message pushing of the effective message channel with the highest priority is ensured, and the platform business rights and interests are guaranteed.
305. And asynchronously pushing the push message corresponding to the effective message channel to a target push object through the effective message channel.
In the embodiment of the present application, asynchronous pushing is to push a message by using a preset message middleware.
In the embodiment of the application, before the message is pushed, the push messages of a plurality of different message channels are generated, the push messages are simulated based on the obtained message push priorities of the plurality of message channels, the actual requirements of a user are considered when the messages are pushed according to the message push priorities, the push messages are simulated firstly to determine the effective message channel, and then the messages are pushed, so that the success rate of message push is improved, and in addition, due to the fact that the systems corresponding to the different message channels are different, the asynchronous push mode based on the message middleware can be applied to the service scene of pushing mass messages.
In some embodiments of the present application, the message pushing request includes message channel selection information, and before generating a push message corresponding to a plurality of message channels based on the message content and a pre-obtained message pushing template corresponding to the plurality of message channels in step 302, the method further includes: determining the plurality of message channels according to the message channel selection information; and acquiring message pushing templates corresponding to the plurality of message channels.
The message channel selection information may include an identification of a plurality of message channels selected by a user, and the plurality of message channels are determined based on the identification of the message channels. Specifically, for example, the plurality of message channels include WeChat, email, short message, and enterprise application, the number of the plurality of message channels may be respectively 1, 2, 3, and 4, and when the user selects three message channels, i.e., WeChat, email, and short message, selected on the selection interface, the number of the message channels is 1, 2, and 3, and the plurality of message channels include WeChat, email, and short message, and is determined based on the identifier of the message channel.
In some embodiments of the application, as shown in fig. 4, the simulating, in step 304, to push the push message corresponding to the target message channel to the target push object until the message channel in the plurality of message channels simulates the push message successfully, and determining that the message channel in which the push message is simulated successfully is the effective message channel of the target push object may include the following steps 401 to 403, specifically:
401. and checking whether the push message corresponding to the target message channel is legal or not.
Specifically, the main step of checking whether the push message corresponding to the target message channel is legal is to determine the correctness of the format of the push object and whether the message push template is legal. If the push messages are legal, the push messages corresponding to the target message channel are legal, and if the push messages do not pass the verification, relevant prompt information of verification failure is returned to the user.
402. If the push message corresponding to the target message channel is legal, the push message corresponding to the target message channel is simulated to be pushed to a target push object until the push message is simulated and pushed successfully by one of the message channels.
403. And determining a message channel for simulating the successful push message as an effective message channel of the target push object.
In the embodiment, the validity of the push message can be determined by checking and simulating the push, so that the success rate of subsequent push is ensured.
In some embodiments of the present application, the simulating of pushing the push message corresponding to the target message channel to the target push object in step 402 may include: calling a message pushing interface corresponding to the target message channel, and simulating to push a pushing message corresponding to the target message channel to a target pushing object; and monitoring the real state of the push message corresponding to the target message channel for simulating and pushing, and determining whether the target message channel successfully simulates and pushes the message.
In consideration of the performance of message pushing, the message pushing system and other systems are all asynchronously called in the embodiment of the application. When the message is pushed, the system interface corresponding to the message channel is called, and the pushing result is written into the message database after the pushing is finished. Therefore, in the embodiment of the present application, the simulation of pushing the push message corresponding to the target message channel to the target push object may be to establish a simulation object for the target push object in advance, simulate pushing the message to the simulation object of the target push object in the message push system, at this time, the message push result is written into a message database (such as HBase), and determine the true state of message push by monitoring the message push result of message push in the message database, so as to determine whether the simulation push message of the target message channel is successful.
The simulation pushing is a simulation object which is pre-established to a pushing object and is simulated and pushed in the message pushing system, the simulation object is established based on the inside of the message pushing system, is attribute information of the simulation message pushing object, such as a mobile phone number, a communication application account number and the like, does not send information to the outside, and is mainly a pushing implementation process of the simulation message pushing in the message pushing system.
After determining that the message channel that successfully simulates the push message is the effective message channel of the target push object, storing the push message corresponding to the effective message channel in a preset message database, where the preset message database may be the HBase described in the above embodiment.
At this time, as shown in fig. 5, the asynchronously pushing the push message corresponding to the effective message channel to the target push object through the effective message channel in step 305 may include the following steps 501 to 503, specifically:
501. and acquiring the push message corresponding to the effective message channel from the message database.
502. And acquiring the contact way of the target push object in the effective message channel.
The contact information of the target push object in the effective message channel may be obtained based on the information of the push object in step 101.
503. And calling a preset message middleware, and asynchronously pushing the push message corresponding to the effective message channel to a target push object through the contact way.
The message pushing method of the present application is described below by taking an example in conjunction with a specific application scenario, and specifically, as shown in fig. 6 and fig. 7, 2 specific scenario diagrams for message pushing are respectively shown: the computer device may include an admin module, a receive module, a send module, a report module, and a callback module, which correspond to the service functions of managing Web, receiving messages, sending messages, reporting messages, and callback messages in fig. 6, respectively.
The message control system comprises a message database HBase, a message push template database MySQL, a message control database Redis, a message middleware RockettMQ and a message pushing middleware, wherein the message database HBase is used for storing message records, the message push template database MySQL is used for storing message push templates of different message channels, such as message push templates corresponding to WeChat, mail, short messages or enterprise internal message channels, the message control database Redis is used for storing message control instructions, and the message middleware RockettMQ is used for storing message push requests, receiving asynchronous consumption requests of computer equipment and pushing messages.
The specific implementation flow of message pushing is as follows;
(1) when a user needs to push a message, the admin module sends a message pushing request through the API interface, where the message pushing request may include message content and information of a pushing object.
Two tables are maintained in the Hive table, which are respectively the corresponding relation between a member mobile phone number and a micro signal, and the corresponding relation between a member work number and a mail box as well as a mobile phone number, data is updated to the Hive in a whole amount at regular time every day, the derivative of the Hive table is updated to the elastic search so as to improve the message query speed under mass data, the send module obtains other contact ways of a receiver from the elastic search according to the type of the receiver, and finally complete information of a pushed object can be obtained.
(2) A message pushing template corresponding to each message channel under a service template is obtained from MySQL, and a plurality of message pushing templates may be provided under one service template, as shown in fig. 7, where the plurality of message channel templates may include a message pushing template 1 (corresponding to an application 1 subsystem in a computer device), a message pushing template 2 (corresponding to an application 2 subsystem in a computer device), and a message pushing template 3 (corresponding to a short message subsystem in a computer device), and the message content in the message pushing request is filled into the message pushing templates of the plurality of message channels, so as to obtain the pushing messages of the plurality of message channels.
(3) The admin module calls an API (application program interface) interface to test and push the push messages of a plurality of message channels, the push messages are received by the receive module, and the messages are verified, mainly the correctness of the push message format and the legality of the message push template are judged. If the message fails the verification, returning a response message of failing to call the interface to the user; otherwise, adding the message into the pending message queue of the RocketMQ according to the type of the message.
(4) The send module asynchronously consumes message requests in the rockmq. Firstly, a send module needs to acquire a corresponding message push template from MySQL and acquire push service parameters in a message push request so as to match message placeholders in the content of the message push template to obtain a complete push message; secondly, each push message is filtered according to the message control rule, for example, whether the push messages are repeated is judged.
(5) The send module takes one of the plurality of message channels as a target message channel and one of the push objects as a target push object in sequence based on the message push priorities of the plurality of message channels, simulates to push a push message corresponding to the target message channel to the target push object until the message channel in the plurality of message channels simulates the push message successfully, and determines the message channel simulating the push message successfully as an effective message channel of the target push object.
Specifically, if the priorities of the message channels are different, the push message is simulated according to the mode that the message channel priority value is from high to low, and if the message push is successful, the simulated push is stopped immediately.
(6) And the send module pushes the filtered push message to the subsystems corresponding to the effective message channels, writes the push result into the HBase and completes message pushing.
(7) The uplink message of the subsystem can be pushed to the user through the callback module, such as an uplink short message.
(8) The user can check the push state of each push message through the report module, and the message push system can inquire the push messages according to system codes or recipients within a certain time range.
In this embodiment, successful message pushing means that calling a downstream subsystem interface is successful, but the message may not be successfully pushed to an application account or a mobile phone number of the user. The main reason is that the system calls are asynchronous in consideration of the message pushing performance. At this time, the send module assumes that the message pushing is successful, and the callback module provides an interface to a downstream system to monitor the real state of the message pushing;
if the callback monitors that the message is successfully pushed, the callback indicates that the message is pushed by the message pushing template with high priority and does not continue to push any more. Otherwise, the system finds the pushing record in HBASE according to the ID of the callback message, and asynchronously pushes the pushing record through a RockketMQ.
In order to better implement the message pushing method in the embodiment of the present application, based on the message pushing method, an embodiment of the present application further provides a message pushing apparatus, as shown in fig. 8, where the message pushing apparatus 800 includes:
a first obtaining unit 801, configured to obtain a message push request, where the message push request includes message content and information of a push object;
a generating unit 802, configured to generate push messages corresponding to multiple message channels based on the message content and message push templates corresponding to multiple message channels acquired in advance;
a second obtaining unit 803, configured to obtain message push priorities of the multiple message channels;
the simulation pushing unit 804 is configured to sequentially use one of the plurality of message channels as a target message channel and respectively use one of the pushing objects as a target pushing object based on the message pushing priorities of the plurality of message channels, simulate to push a pushing message corresponding to the target message channel to the target pushing object until the message channel in the plurality of message channels simulates the pushing message successfully, and determine that the message channel in which the simulated pushing message succeeds is an effective message channel of the target pushing object;
the pushing unit 805 is configured to asynchronously push, through the effective message channel, a push message corresponding to the effective message channel to a target push object.
In the embodiment of the application, before the message is pushed, the push messages of a plurality of different message channels are generated, the push messages are simulated based on the obtained message push priorities of the plurality of message channels, the actual requirements of a user are considered when the messages are pushed according to the message push priorities, the push messages are simulated firstly to determine the effective message channel, and then the messages are pushed, so that the success rate of message push is improved, and in addition, due to the fact that the systems corresponding to the different message channels are different, the asynchronous push mode based on the message middleware can be applied to the service scene of pushing mass messages.
In some embodiments of the present application, the message push request includes message channel selection information, the apparatus further includes a template obtaining unit, where the template obtaining unit is configured to: determining the plurality of message channels according to the message channel selection information before generating push messages corresponding to the plurality of message channels based on the message content and pre-acquired message push templates corresponding to the plurality of message channels; and acquiring message pushing templates corresponding to the plurality of message channels.
In some embodiments of the present application, the second obtaining unit 803 is specifically configured to:
acquiring preset message pushing priorities of the message channels;
alternatively, the first and second electrodes may be,
determining a service scene of current message pushing according to the message pushing request; and determining the message pushing priorities of the plurality of message channels based on the service scene of the message pushing.
In some embodiments of the present application, the simulation pushing unit 804 is specifically configured to:
checking whether the push message corresponding to the target message channel is legal or not;
if the message channel is legal, simulating to push a push message corresponding to the target message channel to a target push object until one message channel in the plurality of message channels simulates the push message successfully;
and determining a message channel for simulating the successful push message as an effective message channel of the target push object.
In some embodiments of the present application, the simulation pushing unit 804 is specifically configured to:
calling a message pushing interface corresponding to the target message channel, and simulating to push a pushing message corresponding to the target message channel to a target pushing object;
and monitoring the real state of the push message corresponding to the target message channel for simulating and pushing, and determining whether the target message channel successfully simulates and pushes the message.
In some embodiments of the present application, the apparatus further comprises a saving unit configured to:
and after determining that the message channel which simulates the push message successfully is the effective message channel of the target push object, storing the push message corresponding to the effective message channel into a preset message database.
In some embodiments of the present application, the pushing unit 805 is specifically configured to:
acquiring a push message corresponding to the effective message channel from the message database;
acquiring a contact way of the target push object in the effective message channel;
and calling a preset message middleware, and asynchronously pushing the push message corresponding to the effective message channel to a target push object through the contact way.
An embodiment of the present application further provides a computer device, which integrates any one of the message pushing apparatuses provided in the embodiment of the present application, where the computer device includes:
one or more processors;
a memory; and
one or more application programs, wherein the one or more application programs are stored in the memory and configured to be executed by the processor for performing the steps of the message push method in any of the above message push method embodiments.
The embodiment of the present application further provides a computer device, which integrates any one of the message pushing apparatuses provided in the embodiments of the present application. Fig. 9 is a schematic diagram showing a structure of a computer device according to an embodiment of the present application, specifically:
the computer device may include components such as a processor 901 of one or more processing cores, memory 902 of one or more computer-readable storage media, a power supply 903, and an input unit 904. Those skilled in the art will appreciate that the computer device configuration illustrated in FIG. 9 does not constitute a limitation of computer devices, and may include more or fewer components than those illustrated, or some components may be combined, or a different arrangement of components. Wherein:
the processor 901 is a control center of the computer device, connects various parts of the entire computer device by using various interfaces and lines, and performs various functions of the computer device and processes data by running or executing software programs and/or modules stored in the memory 902 and calling data stored in the memory 902, thereby monitoring the computer device as a whole. Optionally, processor 901 may include one or more processing cores; preferably, the processor 901 may integrate an application processor, which mainly handles operating systems, user interfaces, application programs, etc., and a modem processor, which mainly handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into the processor 901.
The memory 902 may be used to store software programs and modules, and the processor 901 executes various functional applications and data processing by operating the software programs and modules stored in the memory 902. The memory 902 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data created according to use of the computer device, and the like. Further, the memory 902 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device. Accordingly, the memory 902 may also include a memory controller to provide the processor 901 access to the memory 902.
The computer device further comprises a power supply 903 for supplying power to each component, and preferably, the power supply 903 may be logically connected to the processor 901 through a power management system, so that functions of managing charging, discharging, power consumption management and the like are realized through the power management system. The power supply 903 may also include any component including one or more dc or ac power sources, recharging systems, power failure detection circuitry, power converters or inverters, power status indicators, and the like.
The computer device may also include an input unit 904, the input unit 904 operable to receive input numeric or character information and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.
Although not shown, the computer device may further include a display unit and the like, which are not described in detail herein. Specifically, in this embodiment, the processor 901 in the computer device loads the executable file corresponding to the process of one or more application programs into the memory 902 according to the following instructions, and the processor 901 runs the application programs stored in the memory 902, so as to implement various functions as follows:
acquiring a message pushing request, wherein the message pushing request comprises message content and information of a pushing object; generating push messages corresponding to the plurality of message channels based on the message content and pre-acquired message push templates corresponding to the plurality of message channels; acquiring message pushing priorities of the message channels; based on the message pushing priorities of the message channels, sequentially taking one of the message channels as a target message channel and one of the pushing objects as a target pushing object, simulating to push a pushing message corresponding to the target message channel to the target pushing object until the message channel in the message channels simulates the pushing message successfully, and determining the message channel simulating the pushing message successfully as an effective message channel of the target pushing object; and asynchronously pushing the push message corresponding to the effective message channel to a target push object through the effective message channel.
It will be understood by those skilled in the art that all or part of the steps of the methods of the above embodiments may be performed by instructions or by associated hardware controlled by the instructions, which may be stored in a computer readable storage medium and loaded and executed by a processor.
To this end, an embodiment of the present application provides a computer-readable storage medium, which may include: read Only Memory (ROM), Random Access Memory (RAM), magnetic or optical disks, and the like. Stored thereon, is a computer program, which is loaded by a processor to execute the steps of any of the message pushing methods provided by the embodiments of the present application. For example, the computer program may be loaded by a processor to perform the steps of:
acquiring a message pushing request, wherein the message pushing request comprises message content and information of a pushing object; generating push messages corresponding to the plurality of message channels based on the message content and pre-acquired message push templates corresponding to the plurality of message channels; acquiring message pushing priorities of the message channels; based on the message pushing priorities of the message channels, sequentially taking one of the message channels as a target message channel and one of the pushing objects as a target pushing object, simulating to push a pushing message corresponding to the target message channel to the target pushing object until the message channel in the message channels simulates the pushing message successfully, and determining the message channel simulating the pushing message successfully as an effective message channel of the target pushing object; and asynchronously pushing the push message corresponding to the effective message channel to a target push object through the effective message channel.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and parts that are not described in detail in a certain embodiment may refer to the above detailed descriptions of other embodiments, and are not described herein again.
In a specific implementation, each unit or structure may be implemented as an independent entity, or may be combined arbitrarily to be implemented as one or several entities, and the specific implementation of each unit or structure may refer to the foregoing method embodiment, which is not described herein again.
The above operations can be implemented in the foregoing embodiments, and are not described in detail herein.
The above detailed description is given to a message pushing method, an apparatus, a computer device, and a storage medium provided in the embodiments of the present application, and a specific example is applied in the present application to explain the principle and the implementation of the present application, and the description of the above embodiments is only used to help understanding the method and the core idea of the present application; meanwhile, for those skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.

Claims (10)

1. A message pushing method is characterized by comprising the following steps:
acquiring a message pushing request, wherein the message pushing request comprises message content and information of a pushing object;
generating push messages corresponding to the plurality of message channels based on the message content and pre-acquired message push templates corresponding to the plurality of message channels;
acquiring message pushing priorities of the message channels;
based on the message pushing priorities of the plurality of message channels, sequentially taking one of the plurality of message channels as a target message channel, respectively taking one of the pushing objects as a target pushing object, simulating to push a pushing message corresponding to the target message channel to the target pushing object, and determining the message channel with the successful simulated pushing message as an effective message channel of the target pushing object until the message channel with the successful simulated pushing message in the plurality of message channels is successful;
and asynchronously pushing the push message corresponding to the effective message channel to a target push object through the effective message channel.
2. The message pushing method according to claim 1, wherein the message pushing request includes message channel selection information, and before generating the push messages corresponding to the plurality of message channels based on the message content and the message pushing templates corresponding to the plurality of pre-acquired message channels, the method further includes:
determining the plurality of message channels according to the message channel selection information;
and acquiring message pushing templates corresponding to the plurality of message channels.
3. The message pushing method according to claim 1, wherein the obtaining of the message pushing priorities of the plurality of message channels comprises:
acquiring preset message pushing priorities of the message channels;
alternatively, the first and second electrodes may be,
determining a service scene of current message pushing according to the message pushing request; and determining the message pushing priorities of the plurality of message channels based on the service scene of the message pushing.
4. The message pushing method according to claim 1, wherein the simulating of pushing the push message corresponding to the target message channel to the target push object is performed until the simulation of the push message in one of the message channels is successful, and determining that the message channel in which the simulated push message is successful is an effective message channel of the target push object includes:
checking whether the push message corresponding to the target message channel is legal or not;
if the message channel is legal, simulating to push a push message corresponding to the target message channel to a target push object until one message channel in the plurality of message channels simulates the push message successfully;
and determining a message channel for simulating the successful push message as an effective message channel of the target push object.
5. The message pushing method according to claim 4, wherein the simulating of pushing the push message corresponding to the target message channel to the target push object includes:
calling a message pushing interface corresponding to the target message channel, and simulating to push a pushing message corresponding to the target message channel to a target pushing object;
and monitoring the real state of the push message corresponding to the target message channel for simulating and pushing, and determining whether the target message channel successfully simulates and pushes the message.
6. The message pushing method according to claim 5, wherein the method further comprises:
after determining that the message channel which simulates the successful push message is the effective message channel of the target push object, storing the push message corresponding to the effective message channel into a preset message database.
7. The message pushing method according to claim 6, wherein the asynchronously pushing the push message corresponding to the effective message channel to the target push object through the effective message channel comprises:
acquiring a push message corresponding to the effective message channel from the message database;
acquiring a contact way of the target push object in the effective message channel;
and calling a preset message middleware, and asynchronously pushing the push message corresponding to the effective message channel to a target push object through the contact way.
8. A message push apparatus, the apparatus comprising:
the device comprises a first acquisition unit, a second acquisition unit and a third acquisition unit, wherein the first acquisition unit is used for acquiring a message pushing request which comprises message content and information of a pushing object;
the generating unit is used for generating push messages corresponding to a plurality of message channels based on the message content and the message push templates corresponding to the plurality of message channels acquired in advance;
the second acquisition unit is used for acquiring the message pushing priorities of the plurality of message channels;
the simulation pushing unit is used for simulating to push the pushing messages corresponding to the target message channel to the target pushing object by sequentially taking one of the plurality of message channels as a target message channel and taking one of the pushing objects as a target pushing object based on the message pushing priorities of the plurality of message channels until the message channel in the plurality of message channels simulates the pushing messages successfully, and determining the message channel simulating the pushing messages successfully as an effective message channel of the target pushing object;
and the pushing unit is used for asynchronously pushing the pushing message corresponding to the effective message channel to a target pushing object through the effective message channel.
9. A computer device, characterized in that the computer device comprises:
one or more processors;
a memory; and
one or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the processor to implement the message push method of any of claims 1-7.
10. A computer-readable storage medium, having stored thereon a computer program which is loaded by a processor to perform the steps of the message pushing method according to any one of claims 1 to 7.
CN202010588694.0A 2020-06-24 Message pushing method, device, computer equipment and storage medium Active CN113839977B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010588694.0A CN113839977B (en) 2020-06-24 Message pushing method, device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010588694.0A CN113839977B (en) 2020-06-24 Message pushing method, device, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN113839977A true CN113839977A (en) 2021-12-24
CN113839977B CN113839977B (en) 2024-04-19

Family

ID=

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114301977A (en) * 2021-12-29 2022-04-08 未来电视有限公司 Message pushing method and device, server and computer scale storage medium
CN114338793A (en) * 2021-12-29 2022-04-12 中电金信软件有限公司 Message pushing method and device, electronic equipment and readable storage medium
CN114363408A (en) * 2021-12-31 2022-04-15 北京金堤科技有限公司 Information pushing method and device, computer readable medium and computer equipment
CN114721740A (en) * 2022-04-06 2022-07-08 平安国际融资租赁有限公司 Message triggering method, device, equipment and storage medium
CN115510366A (en) * 2022-11-21 2022-12-23 北京白龙马云行科技有限公司 Business message pushing method and device, computer equipment and storage medium
CN115604667A (en) * 2022-10-11 2023-01-13 广东欣农互联科技有限公司(Cn) Message sending method, device, computer equipment and storage medium
CN117093780A (en) * 2023-10-17 2023-11-21 北京智麟科技有限公司 Multi-channel message pushing method and device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030149853A1 (en) * 2002-02-01 2003-08-07 Chih-Chiang Wen Receiver for a memory controller and method thereof
US20090204666A1 (en) * 2008-02-13 2009-08-13 Microsoft Corporation Push mechanism for efficiently sending aggregated data items to client
CN105320660A (en) * 2014-06-05 2016-02-10 中国石油化工股份有限公司 Method and device for automatic task submitting in numerical simulation parallel computing
CN108833261A (en) * 2018-06-19 2018-11-16 北京顺丰同城科技有限公司 One kind being based on Android platform client message pushing and optimizing method and device
WO2018213143A1 (en) * 2017-05-15 2018-11-22 Qualcomm Incorporated Prioritization and early decoding of control fields for polar codes
WO2019019384A1 (en) * 2017-07-27 2019-01-31 上海壹账通金融科技有限公司 Message push method, apparatus, computer device, and storage medium
CN110460645A (en) * 2015-08-04 2019-11-15 阿里巴巴集团控股有限公司 A kind of information-pushing method and device
CN111327519A (en) * 2020-02-17 2020-06-23 北京四信数字技术有限公司 Method, device, equipment and storage medium for sending multi-channel message content

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030149853A1 (en) * 2002-02-01 2003-08-07 Chih-Chiang Wen Receiver for a memory controller and method thereof
US20090204666A1 (en) * 2008-02-13 2009-08-13 Microsoft Corporation Push mechanism for efficiently sending aggregated data items to client
CN105320660A (en) * 2014-06-05 2016-02-10 中国石油化工股份有限公司 Method and device for automatic task submitting in numerical simulation parallel computing
CN110460645A (en) * 2015-08-04 2019-11-15 阿里巴巴集团控股有限公司 A kind of information-pushing method and device
WO2018213143A1 (en) * 2017-05-15 2018-11-22 Qualcomm Incorporated Prioritization and early decoding of control fields for polar codes
WO2019019384A1 (en) * 2017-07-27 2019-01-31 上海壹账通金融科技有限公司 Message push method, apparatus, computer device, and storage medium
CN108833261A (en) * 2018-06-19 2018-11-16 北京顺丰同城科技有限公司 One kind being based on Android platform client message pushing and optimizing method and device
CN111327519A (en) * 2020-02-17 2020-06-23 北京四信数字技术有限公司 Method, device, equipment and storage medium for sending multi-channel message content

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
姜翔;: "消息推送技术研究与未来展望", 电信网技术, no. 04, 15 April 2018 (2018-04-15), pages 80 - 82 *
张辉 等: "基于动态推送的时间优先级的电力通信现场运维信息推送方法", 计算机技术与自动化, vol. 38, no. 2, 30 June 2019 (2019-06-30), pages 58 - 63 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114301977A (en) * 2021-12-29 2022-04-08 未来电视有限公司 Message pushing method and device, server and computer scale storage medium
CN114338793A (en) * 2021-12-29 2022-04-12 中电金信软件有限公司 Message pushing method and device, electronic equipment and readable storage medium
CN114338793B (en) * 2021-12-29 2024-01-16 中电金信软件有限公司 Message pushing method and device, electronic equipment and readable storage medium
CN114363408A (en) * 2021-12-31 2022-04-15 北京金堤科技有限公司 Information pushing method and device, computer readable medium and computer equipment
CN114721740A (en) * 2022-04-06 2022-07-08 平安国际融资租赁有限公司 Message triggering method, device, equipment and storage medium
CN115604667A (en) * 2022-10-11 2023-01-13 广东欣农互联科技有限公司(Cn) Message sending method, device, computer equipment and storage medium
CN115604667B (en) * 2022-10-11 2023-07-21 广东欣农互联科技有限公司 Message sending method, device, computer equipment and storage medium
CN115510366A (en) * 2022-11-21 2022-12-23 北京白龙马云行科技有限公司 Business message pushing method and device, computer equipment and storage medium
CN117093780A (en) * 2023-10-17 2023-11-21 北京智麟科技有限公司 Multi-channel message pushing method and device
CN117093780B (en) * 2023-10-17 2024-01-26 北京智麟科技有限公司 Multi-channel message pushing method and device

Similar Documents

Publication Publication Date Title
US10701012B2 (en) Method, apparatus and system for customer service information forwarding
KR101863981B1 (en) Using text messages to interact with spreadsheets
US20200213365A1 (en) Tag-Based Security Policy Creation in a Distributed Computing Environment
US20120197937A1 (en) Method and system for providing detailed information in an interactive manner in a short message service (sms) environment
CN107103011B (en) Method and device for realizing terminal data search
US9361277B2 (en) Method and apparatus for implementing microblog message pages
US10956379B2 (en) Dynamic lifecycle management of temporary storage schemas
CN111786984B (en) Pod communication connection method and device, electronic equipment and storage medium
CN113076153B (en) Interface calling method and device
JP2010531023A (en) Apparatus and method for managing a user's electronic community
CN108959294B (en) Method and device for accessing search engine
CN114443940A (en) Message subscription method, device and equipment
US20170139758A1 (en) Nondeterministic Operation Execution Environment Utilizing Resource Registry
CN113839977B (en) Message pushing method, device, computer equipment and storage medium
CN113839977A (en) Message pushing method and device, computer equipment and storage medium
US11277300B2 (en) Method and apparatus for outputting information
US20210141791A1 (en) Method and system for generating a hybrid data model
CN107347024A (en) A kind of method and apparatus for storing Operation Log
CN115114361B (en) Resource retrieval method and system based on unified interface of container cloud platform
CN111782428B (en) Data calling system and method
CN114979284B (en) 5G message scheduling method, device and system
US20230037019A1 (en) Techniques for distributed interface component generation
CN114064619A (en) Data maintenance method and device
US20130132478A1 (en) Establishing Communication Among Parties Based on Location
CN117931813A (en) Lake bin metadata change determining method, device, equipment and medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant