CN111552885A - System and method for realizing automatic real-time message pushing operation - Google Patents

System and method for realizing automatic real-time message pushing operation Download PDF

Info

Publication number
CN111552885A
CN111552885A CN202010413335.1A CN202010413335A CN111552885A CN 111552885 A CN111552885 A CN 111552885A CN 202010413335 A CN202010413335 A CN 202010413335A CN 111552885 A CN111552885 A CN 111552885A
Authority
CN
China
Prior art keywords
message
personal
event
batch
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.)
Granted
Application number
CN202010413335.1A
Other languages
Chinese (zh)
Other versions
CN111552885B (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.)
Guotai Junan Securities Co Ltd
Original Assignee
Guotai Junan Securities 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 Guotai Junan Securities Co Ltd filed Critical Guotai Junan Securities Co Ltd
Priority to CN202010413335.1A priority Critical patent/CN111552885B/en
Publication of CN111552885A publication Critical patent/CN111552885A/en
Application granted granted Critical
Publication of CN111552885B publication Critical patent/CN111552885B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Abstract

The invention relates to a system for realizing automatic real-time message pushing operation, which comprises a client data acquisition module, a client data acquisition module and a client data acquisition module, wherein the client data acquisition module is used for acquiring, summarizing and storing client data through distributed timed task scheduling; the batch event processing module is used for accessing a market change event and a timing trigger event; the personal event processing module is used for accessing personal operation events; the batch pushing calculation module is used for finishing crowd intersection calculation, message template placeholder replacement, message paging sending and message sending statistical information recording; and the personal push calculation module is used for finishing personal message template placeholder replacement, message sending and personal sending statistical information recording. The invention also relates to a method for realizing the automatic real-time message pushing operation control. The system and the method for realizing automatic real-time message pushing operation meet the flexible and configurable requirements of large data magnitude customers in the production environment and have the characteristics of high throughput and low time delay on the premise of high availability.

Description

System and method for realizing automatic real-time message pushing operation
Technical Field
The invention relates to the technical field of computer application, in particular to the field of message pushing operation, and specifically relates to a system and a method for realizing automatic real-time message pushing operation.
Background
The message pushing is a communication mode for making message touch to the client under the internet environment, namely, a message operator pushes the message containing specific information to a specific client group at a specific time point under a specific condition through communication modes such as mobile application message, desktop application message, short message, WeChat, mail and the like.
The traditional message pushing generally has the characteristics of inaccurate touch objects, message triggering conditions, inflexible configuration of message touch contents, no support of real-time client event triggering messages, small message pushing throughput, small message pushing support population and the like. The inaccurate touch object brings unnecessary disturbance to the client, affects the experience and efficiency of message pushing, and increases the operation cost of the operator. The message triggering condition and the message triggering content can not be flexibly configured, so that the usability and timeliness of message pushing are affected, and the working difficulty and the working strength of a message pushing operator are increased. The timeliness of message pushing is affected by the fact that the message pushing does not support real-time client event triggering, and the efficiency of message pushing is reduced. The message pushing throughput is small, and the pushing timeliness of the message and the available types and the number of the messages are influenced. The message pushing support population is small, and the reach of the message and the income brought by message operation are influenced.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provides a system and a method for realizing automatic real-time message pushing operation, which have the advantages of good timeliness, good usability and good timeliness.
In order to achieve the above object, the system and method for realizing automatic real-time message push operation of the present invention are as follows:
the system for realizing automatic real-time message pushing operation is mainly characterized by comprising the following components:
the client data acquisition module is used for acquiring, summarizing and storing client data through distributed timing task scheduling;
the batch event processing module is used for accessing a market change event and a timing trigger event and calculating whether the batch message pushing trigger requirement is met or not according to a configuration event condition;
the personal event processing module is used for accessing a personal operation event and calculating whether the personal operation event meets the personal message pushing triggering requirement or not according to the configured event condition;
the batch pushing calculation module is connected with the client data acquisition module and the batch event processing module and is used for finishing crowd intersection calculation, message template placeholder replacement, message paging sending and message sending statistical information recording;
and the personal pushing calculation module is connected with the client data acquisition module and the personal event processing module and is used for finishing personal message template placeholder replacement, message sending and personal sending statistical information recording.
Preferably, the system further comprises a message pushing operation management module, connected to the batch event processing module, the personal event processing module, the batch pushing calculation module and the personal pushing calculation module, for setting and deleting the operation policy, activating and deactivating the event processing calculation and the crowd calculation configured by the operation policy, and providing a corresponding statistical information query function.
Preferably, the system further includes a message pushing record and log management module, connected to the batch event processing module, the personal event processing module, the batch pushing calculation module and the personal pushing calculation module, for querying a processing state of an event, a pushing state of a message, and a pushing content and time of the message.
Preferably, the client data acquisition module comprises a plurality of data acquisition modes, and the data acquisition modes comprise data file import and real-time data access.
Preferably, the batch event processing module includes a processing function of real-time market events and timing trigger events, and supports flexible configuration of trigger conditions using boolean expressions.
Preferably, the personal event processing module comprises a processing function of the personal real-time event of the client and supports flexible configuration of the triggering condition of the client event by using a Boolean expression.
Preferably, the personal push computing module includes a function of pushing message content, and performing placeholder replacement and statistical information computation recording of personal message push according to a computation result of the personal event processing module.
Preferably, the personal event processing module receives various types of client real-time operation events by using a message queue.
Preferably, the personal event processing module supports dynamic conditional expression configuration by a conditional expression calculation engine.
Preferably, the batch push computation module indicates how different crowd types are related by configuration, uses the distributed parallel computation database to compute data under different nodes and different partitions, and uses the distributed NoSQL database to record the trigger condition of each message configuration, so as to perform frequency control and time interval control.
The method for realizing automatic real-time message pushing operation control by utilizing the system is mainly characterized by comprising the following steps of:
(1) the client data acquisition module receives static data and message queue real-time data in a distributed task scheduling mode, hashes relevant data of a client to a specific partition of a specific node of a distributed relational database according to a fixed hashing rule, and stores the data into a specific table;
(2) the message pushing operation management module carries out message pushing setting;
(3) and the message pushing record and log management module receives the message setting real-time trigger effect, summarizes and counts the message setting real-time trigger effect and provides the summarized and counted message to the message pushing record and log management module to inquire an interface.
Preferably, the step (1) specifically comprises the following steps:
(1.1) static data is imported in the distributed batch processing in an SQL batch insertion mode, and the same SQL insertion data belongs to the same data partition of the same database node;
(1.2) the distributed batch stream processing imports real-time data in an SQL batch insertion mode, and the same batch of SQL insertion data belongs to the same data partition of the same database node;
and (1.3) the distributed relational database adopts an open-source distributed relational database, different types of client data are stored by adopting different data tables, and data of the same client with different dimensions are stored in the same partition of the same node of the distributed relational database.
Preferably, the step (2) of performing message push setting includes a step of performing batch crowd event message push setting and a step of performing personal event message push setting, where the step of performing batch crowd event message push setting includes the following processing procedures:
(1-2.1) selecting a push platform for triggering the message;
(1-2.2) setting the format, title, abstract and content of message pushing, and setting a plurality of sets of message template circulating triggers;
(1-2.3) selecting the crowd selection and the crowd parameter selection of the message reach;
(1-2.4) selecting a condition triggered by the message, filling in condition parameters, and forming a Boolean condition expression;
(1-2.5) selecting event defining parameters of a date type of triggering, a number of times of triggering each, and a time interval of triggering each.
Preferably, the step (2) of performing message push setting includes a step of performing batch crowd event message push setting and a step of performing personal event message push setting, where the step of performing personal event message push setting includes the following processing procedures:
(2-2.1) selecting a push platform for triggering the message;
(2-2.2) setting the format, title, abstract and content of message pushing, setting a plurality of sets of message templates, and circularly triggering;
(2-2.3) selecting the crowd selection and the crowd parameter selection which are reached by the message, and caching the client information stored in the distributed relational database through an open-source distributed cache technology;
(2-2.4) selecting an event triggered by the message, setting selectable triggering conditions under the event, and forming a Boolean expression;
(2-2.5) selecting event defining parameters of a date type of triggering, a number of times of triggering each, and a time interval of triggering each.
The system and the method for realizing automatic real-time message pushing operation meet the requirements of flexibly configuring triggering event conditions, message sending contents and target sending crowds of large data magnitude clients in a production environment, have no bottleneck nodes due to the wide adoption of a distributed technology in the production environment, and have the characteristics of high throughput and low time delay on the premise of high availability. Meanwhile, the method has the advantages that the method supports the triggering conditions to be flexible and configurable, supports the appointed triggering crowd and even the association of different crowds to have the accurate pushing characteristic, overcomes the defects that the traditional message pushing touch object is not accurate, the message triggering conditions and the message touch content are not flexible and configurable, does not support the triggering of the real-time client event, has small message pushing throughput and small message pushing supporting crowd and the like, and has technical originality.
Drawings
Fig. 1 is an overall framework diagram of a system for implementing an automated real-time message push operation according to the present invention.
Fig. 2 is a schematic diagram of an example of a high-availability deployment of an embodiment of the method for implementing automated real-time message push operation control according to the present invention.
Fig. 3 is a timing diagram illustrating a method for implementing automated real-time message push operation control according to the present invention.
Detailed Description
In order to more clearly describe the technical contents of the present invention, the following further description is given in conjunction with specific embodiments.
The system for realizing automatic real-time message pushing operation comprises the following components:
the client data acquisition module is used for acquiring, summarizing and storing client data through distributed timing task scheduling;
the batch event processing module is used for accessing a market change event and a timing trigger event and calculating whether the batch message pushing trigger requirement is met or not according to a configuration event condition;
the personal event processing module is used for accessing a personal operation event and calculating whether the personal operation event meets the personal message pushing triggering requirement or not according to the configured event condition;
the batch pushing calculation module is connected with the client data acquisition module and the batch event processing module and is used for finishing crowd intersection calculation, message template placeholder replacement, message paging sending and message sending statistical information recording;
and the personal pushing calculation module is connected with the client data acquisition module and the personal event processing module and is used for finishing personal message template placeholder replacement, message sending and personal sending statistical information recording.
As a preferred embodiment of the present invention, the system further includes a message pushing operation management module, connected to the batch event processing module, the personal event processing module, the batch pushing calculation module, and the personal pushing calculation module, and configured to set and delete an operation policy, activate and deactivate event processing calculation and crowd calculation configured by the operation policy, and provide a corresponding statistical information query function.
As a preferred embodiment of the present invention, the system further includes a message pushing record and log management module, connected to the batch event processing module, the personal event processing module, the batch pushing calculation module, and the personal pushing calculation module, and configured to query a processing state of an event, a pushing state of a message, and pushing content and time of the message.
As a preferred embodiment of the present invention, the client data collection module includes a plurality of data collection modes, and the data collection modes include data file import and real-time data access.
As a preferred embodiment of the invention, the batch event processing module comprises processing functions of real-time market events and timing trigger events, and supports flexible configuration of trigger conditions by using Boolean expressions.
As a preferred embodiment of the invention, the personal event processing module comprises a processing function of the personal real-time event of the client and supports the flexible configuration of the triggering condition of the client event by using a Boolean expression.
As a preferred embodiment of the present invention, the personal push computing module includes a function of pushing message content, and performing placeholder replacement and statistical information computation recording of personal message push according to a computation result of the personal event processing module.
As a preferred embodiment of the invention, the personal event processing module receives various types of client real-time operation events by adopting a message queue.
As a preferred embodiment of the present invention, the personal event processing module supports dynamic conditional expression configuration by a conditional expression calculation engine.
As a preferred embodiment of the present invention, the batch push computation module indicates how different types of people are related by configuration, uses a distributed parallel computation database to compute data at different nodes and in different partitions, and uses a distributed NoSQL database to record the trigger condition of each message configuration, thereby performing frequency control and time interval control.
The method for realizing automatic real-time message pushing operation control by utilizing the system comprises the following steps:
(1) the client data acquisition module receives static data and message queue real-time data in a distributed task scheduling mode, hashes relevant data of a client to a specific partition of a specific node of a distributed relational database according to a fixed hashing rule, and stores the data into a specific table;
(1.1) static data is imported in the distributed batch processing in an SQL batch insertion mode, and the same SQL insertion data belongs to the same data partition of the same database node;
(1.2) the distributed batch stream processing imports real-time data in an SQL batch insertion mode, and the same batch of SQL insertion data belongs to the same data partition of the same database node;
(1.3) the distributed relational database adopts an open-source distributed relational database, different types of client data are stored by adopting different data tables, and data of the same client with different dimensions are stored in the same partition of the same node of the distributed relational database;
(2) the message pushing operation management module carries out message pushing setting;
the step of carrying out message push setting comprises a step of carrying out batch crowd event message push setting and a step of carrying out personal event message push setting, wherein the step of carrying out batch crowd event message push setting comprises the following processing procedures:
(1-2.1) selecting a push platform for triggering the message;
(1-2.2) setting the format, title, abstract and content of message pushing, and setting a plurality of sets of message template circulating triggers;
(1-2.3) selecting the crowd selection and the crowd parameter selection of the message reach;
(1-2.4) selecting a condition triggered by the message, filling in condition parameters, and forming a Boolean condition expression;
(1-2.5) selecting event defining parameters of a date type of triggering, a number of times of triggering each, and a time interval of triggering each.
The step of performing personal event message push setting comprises the following processing procedures:
(2-2.1) selecting a push platform for triggering the message;
(2-2.2) setting the format, title, abstract and content of message pushing, setting a plurality of sets of message templates, and circularly triggering;
(2-2.3) selecting the crowd selection and the crowd parameter selection which are reached by the message, and caching the client information stored in the distributed relational database through an open-source distributed cache technology;
(2-2.4) selecting an event triggered by the message, setting selectable triggering conditions under the event, and forming a Boolean expression;
(2-2.5) selecting event defining parameters of a date type of triggering, a number of times of triggering each, and a time interval of triggering each;
(3) and the message pushing record and log management module receives the message setting real-time trigger effect, summarizes and counts the message setting real-time trigger effect and provides the summarized and counted message to the message pushing record and log management module to inquire an interface.
In the specific implementation manner of the invention, the message pushing operation system and the method thereof are provided, which are oriented to accurate crowd pushing, can flexibly configure message contents and message conditions, support real-time events of users by triggering messages and support extensible parallel computing.
The automatic real-time message pushing operation system and the method thereof, wherein the system comprises:
a client data acquisition module: the client data acquisition and collection system is used for acquiring, summarizing and storing client data in a data file import mode, a real-time data access mode and the like through distributed timing task scheduling;
a batch event processing module: the system is used for accessing market change events such as stocks, plates, indexes, funds and the like and timing trigger events, and calculating whether the batch message pushing trigger requirements are met according to the configured event conditions.
The personal event processing module: the method is used for accessing personal operation events such as login, transfer, transaction, webpage clicking and other events, and calculating whether the personal message pushing triggering requirements are met or not according to the configured event conditions.
Pushing a computing module in batches: and the client data acquisition module and the batch event processing module are connected to complete crowd intersection calculation, message template placeholder replacement, message paging sending and message sending statistical information recording.
The personal push computing module: and the client data acquisition module and the personal event processing module are connected to complete personal message template placeholder replacement, message sending and personal sending statistical information recording.
The system also comprises an information pushing operation management module which is connected with the batch event processing module, the personal event processing module, the batch pushing calculation module and the personal pushing calculation module and is used for setting and deleting the operation strategy, activating and deactivating the event processing calculation and the crowd calculation configured by the operation strategy and providing a corresponding statistical information query function.
The system also comprises a message pushing record and log management module which is connected with the batch event processing module, the personal event processing module, the batch pushing calculation module and the personal pushing calculation module and used for inquiring the processing state of the event, the pushing state of the message, the pushing content of the message, the time and the like.
The client data acquisition module comprises a plurality of data acquisition modes such as data file import, real-time data access and the like, and the data acquisition mode adopts a distributed relational database for storage.
The batch event processing module comprises the processing functions of real-time market events such as stocks, plates, indexes, funds and the like and timing trigger events, and supports the flexible configuration of trigger conditions by using a Boolean expression.
The personal event processing module comprises the processing functions of personal real-time events of clients such as client login, account transfer, transaction, webpage clicking and the like, and supports the flexible configuration of triggering conditions of the client events by using a Boolean expression.
The batch pushing calculation module comprises functions of performing correlation calculation on different types of client data, replacing placeholders according to the contents of the pushing messages according to the calculation results of the batch event processing module, and calculating and recording batch statistical information of batch message pushing.
The personal push computing module comprises push message content and has the functions of replacing placeholders and computing and recording statistical information pushed by personal messages according to the computing result of the personal event processing module.
The personal event processing module receives various types of real-time client operation events including but not limited to client registration, client account opening, client login, client transfer, client transaction, client specific interface clicking and other real-time operation events by adopting a message queue, and overcomes the defect that other message operation systems do not support real-time client event triggering.
The personal event processing module supports dynamic conditional expression configuration via a conditional expression calculation engine. Taking a customer transfer event as an example, the attributes of the transfer message may include parameters such as transfer amount, transfer direction, transfer currency and the like, so that a customer event with the transfer direction being Y and the transfer direction being greater than X amount may be configured to trigger specific message pushing for the customer, and a customer event with the transfer direction being greater than X amount and less than Y finance may be configured to trigger specific message pushing for the customer. The dynamic conditional expression conditions supported by the module are configurable and the conditions for each real-time operational event may be different. The method overcomes the defect that the triggering conditions of other message operation systems cannot be flexibly configured, and simultaneously can push different contents aiming at different conditions due to the configurable triggering conditions, thereby overcoming the problem that the contact objects of other message operation systems are not accurate.
The personal event processing module processes personal events by using an expandable distributed parallel flow computing framework to realize the characteristics of high throughput and low time delay, is connected with the personal push computing module, and transmits trigger events meeting condition configuration to the personal push computing module. The characteristic of small message throughput of other message operation systems is overcome.
The personal push computing module converts personal messages into sending messages by using an extensible distributed parallel flow computing framework so as to realize the characteristics of high throughput and low time delay. The module supports message pushing in the modes of short messages, mails, mobile applications, desktop applications, WeChat and the like, supports configuration of titles, abstracts, contents, formats and the like of pushed messages, and can insert placeholders into the configuration items to realize message pushing of thousands of people. For example, the push content can be configured as "respected # { CUSTOMER _ NAME } client, thank you for support of the company", when pushing to zhang san, the push content will be replaced with "respected zhang san client, thank you for support of the company", where # { }isa regular expression placeholder supported by the module but not specifically limited. The personal push calculation module is connected with the message push recording and log management module and records key information such as message processing results, push contents, push times, push time and the like. The personal push calculation module records the daily push condition of each client by adopting a distributed NoSQL database, and performs frequency control, time interval control and the like to prevent excessive message push from being caused to the clients. The method overcomes the defect that the message access content of other message operation systems can not be flexibly configured.
The message pushing record and log management module adopts a distributed log filing and collecting tool to carry out message pushing record, log collection and history filing, filing can be carried out according to configuration and month, week and day, and the filing adopts a non-relational distributed log storage and retrieval database, so that the logs can be quickly stored and retrieved.
The client data acquisition module receives accurate crowd labels in real time by adopting modes of an ETL tool, message middleware butt joint and the like, realizes mass crowd data storage by adopting a distributed relational database, simultaneously adopts a distributed database and single-node partitioning technology aiming at mass data, and realizes distributed parallel single-table computation and multi-table association computation of mass crowds in a batch pushing computation module in butt joint with the client data acquisition module through two layers of splitting. The defects of small message pushing throughput and small message pushing support crowd of other message operation systems are overcome.
The batch event processing module adopts distributed timing task scheduling, supports the timing event triggering of various date types, such as trading days, non-trading days, trading days every week, trading days every month, trading days in reverse order every week, trading days in reverse order every month and the like, and simultaneously supports the triggering event driven by real-time quotation data sources of various types of indexes, stocks, plates, funds and the like.
The batch event processing module is different from the personal event processing module, the technical difficulties concerned by the batch event processing module and the personal event processing module are different, and the personal event processing module is concerned with the real-time processing of personal events and is concerned with thousands of people. The batch event processing module is concerned with how big data magnitude client data is contacted with messages at the second level, and messages generally do not require thousands of people.
The batch event processing module supports dynamic conditional expression configuration, taking a Chinese certificate 500 index market as an example, the property of the market event comprises the properties of current points, the rise and fall amplitude of the current day and the rise and fall amplitude of the current day less than Y, and the specific message push aiming at a specific client group can be triggered only by the configurable market event of which the rise and fall amplitude of the current day is greater than X and the rise and fall amplitude of the current day is less than Y. The method overcomes the defect that the triggering conditions of other message operation systems cannot be flexibly configured, and simultaneously can push different contents aiming at different conditions due to the configurable triggering conditions, thereby overcoming the problem that the contact objects of other message operation systems are not accurate.
The batch push calculation module supports indicating how different crowd types are associated by configuration. The batch pushing calculation module realizes parallel calculation of data of different nodes and different partitions of the database by using a distributed parallel calculation technology on the basis of the client data acquisition module, and ensures quick association and filtration of clients with large data magnitude. The batch pushing calculation module records the triggering condition of each message configuration by adopting a distributed NoSQL database, and performs frequency control, time interval control and the like to prevent excessive message pushing to clients. By supporting the filtering and the correlation calculation of different basic crowds, an operator can quickly construct new refined crowds on the basis of the basic crowds, and the problem that other message operation systems cannot accurately reach objects is solved. The distributed parallel computing technology and the distributed database support the crowd with large data magnitude, and the problem that the crowd supported by message pushing of other message operation systems is small is solved.
The invention discloses a method for realizing automatic real-time message pushing operation based on the system, which comprises the following steps:
(1) the client data acquisition module receives static data and message queue real-time data in a distributed batch processing tool mode through distributed task scheduling, hashes relevant data of a client to a specific partition of a specific node of the distributed relational database according to a fixed hashing rule and stores the data into a specific table.
Wherein, step (1) also includes the following steps:
and (1.1) the static data is imported in a distributed batch processing mode in an SQL batch insertion mode, and the same batch of SQL insertion data belongs to the same data partition of the same database node, so that distributed transactions are avoided.
And (1.2) the distributed batch stream processing and importing real-time data adopt an SQL batch insertion mode, and the same batch of SQL insertion data belong to the same data partition of the same database node, so that distributed transactions are avoided.
And (1.3) the distributed relational database adopts an open-source distributed relational database, different types of client data are stored by adopting different data tables, and data of different dimensions of the same client are stored in the same partition of the same node of the distributed relational database.
(2) The message pushing operation management module carries out message pushing setting and is mainly divided into a batch crowd event and a personal event.
Wherein, the batch crowd event of step (2) still includes the following step:
and (2.1) selecting a pushing platform (mobile application message, desktop application message, short message, WeChat and mail) of the trigger message. The setting content is calculated by the batch pushing processing module.
And (2.2) setting the format, title, abstract and content of message pushing, and because the system supports message carousel, a plurality of sets of message templates can be set and triggered circularly. Placeholders can be inserted in the title, summary, content if desired. The setting content is calculated by the batch pushing processing module.
And (2.3) selecting the crowd selection and the crowd parameter selection of the message reach. The set content is calculated by a batch pushing processing module, and the correlation calculation of a plurality of basic groups is supported.
And (2.4) selecting the conditions triggered by the message, such as timing conditions or market conditions, filling in condition parameters, and forming a Boolean condition expression. The setting content is calculated by the batch event processing module.
(2.5) event limiting parameters such as the triggering date type, the triggering times and the triggering time interval are selected, unnecessary disturbance to clients is reduced, and the setting content is calculated by a batch event processing module.
Wherein, the personal event in step (2) further comprises the following steps:
and (2.6) selecting a pushing platform (mobile application message, desktop application message, short message, WeChat and mail) for triggering the message. The setting content is calculated by the personal push processing module.
And (2.7) setting the format, title, abstract and content of message pushing, and because the system supports message carousel, a plurality of sets of message templates can be set and triggered circularly. Placeholders can be inserted in the title, summary, content if desired, and support single customer specific information such as name, account number. The setting content is calculated by the personal push processing module. The single-client specific information placeholder is a feature that is not supported by the bulk-push computing module.
And (2.8) selecting the crowd selection and the crowd parameter selection of the message reach. The client information stored in the distributed relational database is cached by adopting an open source distributed caching technology, clients which are not in crowd selection cannot send messages even if the triggering conditions are met, and the set content is calculated by a personal push processing module.
(2.9) selecting the event triggered by the message, setting the trigger condition selectable under the event, and composing the Boolean expression. The setting content of the item is calculated by the personal event processing module.
(2.10) event limiting parameters such as the type of the triggering date, the triggering times and the triggering time interval are selected, unnecessary disturbance to the client is reduced, and the setting content is calculated by the personal event processing module.
(3) The message pushing record and log management module receives the message setting real-time triggering effect, collects statistics and provides the statistics for the message pushing record and log management module to query an interface, and message pushing operators can check the operation effect in real time and adjust the pushing setting, so that the problem that the operators cannot sense the operation effect is solved.
The method for flexibly configuring the target crowd, the push content and the push condition of the real-time message push comprises the following steps of:
(1) the flexible configuration of the message sending template comprises free configuration of a message sending platform (mobile application, desktop application, short message, mailbox and WeChat), free configuration of a message title, a summary and content, and placeholder variables can be used in the message title, the summary and the content and are replaced with actual values before the message is sent;
(1.1) message titles, abstracts, contents, formats, sending platforms (mobile application, desktop application, short message, mailbox, WeChat) and the like can be freely configured in the message push operation management module;
(1.2) configuration of placeholders is supported by message titles, summaries and contents in the message pushing operation management module, and the placeholders in the batch pushing calculation module and the personal pushing calculation module are replaced by event attributes and personal attributes;
(2) the message sending triggering condition supports a complex Boolean expression, the condition can be freely selected according to the type of a triggering event, and the condition can consist of a plurality of sub-items;
(2.1) the batch events in the message push operation management module support complex Boolean expressions of event attributes, conditions can be freely configured according to the event attributes, and the conditions can be composed of a plurality of sub-items.
(2.2) in the message pushing operation management module, the personal event supports a complex Boolean expression of event attributes, the condition can be freely configured according to the event attributes, and the condition can consist of a plurality of sub-items;
(2.3) calculating the conditional Boolean expression in the batch event processing module and the personal event processing module;
(3) the message target crowd supports different types of crowd data correlation filtering;
(3.1) supporting free configuration of different crowd association calculation by target crowd in message push operation management module
And (3.2) carrying out actual calculation on the crowd in a batch pushing calculation module, wherein the calculation adopts distributed relational database node division parallel calculation.
The specific embodiment of the invention is as follows:
as shown in fig. 1and 2, the real-time client data reception used by the client data acquisition module of fig. 1 can be extended laterally without a single point of failure using the distributed message middleware Kafka in the data reception layer of fig. 2. The data receiving adopts a Spark distributed batch computing framework in a distributed computing layer of fig. 2, can be transversely expanded, has no single point fault, and can process client data in parallel by a plurality of processes on a plurality of servers.
As shown in fig. 1and fig. 2, the import of big data static crowd data used by the client data collection module in fig. 1 can be expanded horizontally by using the distributed file server in the data receiving layer in fig. 2 without a single point of failure. The data import adopts a Spark distributed batch computing framework in a distributed computing layer of fig. 2, can be transversely expanded without single point failure, and can process client data in parallel by a plurality of processes on a plurality of servers.
As shown in fig. 1and fig. 2, the client data collection module in fig. 1 receives and stores data in a distributed relational database in the data storage layer in fig. 2, MySQL + DBLE (or MyCat), and MySQL fragments adopt a dual-master cluster, and DBLE (or MyCat) can perform data routing and data merging across MySQL fragments, and because MySQL is highly available in a fragment, DBLE (or MyCat) supports the horizontal expansion of the number of subordinate MySQL fragments, and can store large data-level client data.
As shown in fig. 1and 2, the distributed relational database in the data storage layer of fig. 2, which is used in the storage after the data of the client data collection module of fig. 1 is received, needs to use the partition table to better support the parallel computation when the data amount of the single-node list table is large.
As shown in fig. 1and fig. 2, different types of data of the same client are distributed in the same partition of the same data node after the data of the client data collection module in fig. 1 is put in storage. The same data of different clients are uniformly distributed on different partitions of different data nodes, and a data basis is provided for parallel crowd association calculation of a distributed calculation layer in the figure 2.
As shown in fig. 1and fig. 2, the message push recording and log management module in fig. 1 uses an elastic search in a distributed log retrieval storage database in the data storage layer in fig. 2 to store logs and encapsulate a retrieval function, where the elastic search is a retrieval frame supporting large data levels and supports full-field large data level fast retrieval.
As shown in fig. 1and fig. 2, the indexes in the information push recording and log management module ElasticSearch database of fig. 1 are stored weekly, and cleaned weekly to ensure that the amount of log data is not too large.
As shown in fig. 1and fig. 2, the personal event processing module in fig. 1 adopts Storm distributed stream computing processing of the distributed computing layer in fig. 2 to process client behavior events in parallel in a multi-process and multi-thread manner in a plurality of servers, thereby realizing event processing throughput. Storm adopts a double-Nimbus mode for deployment, single-point faults do not exist, capacity can be rapidly expanded, and extremely low real-time message processing time delay is achieved.
As shown in FIG. 1, the event computation of the personal event processing module in FIG. 1 adopts the expression computation engine of the distributed computation layer in FIG. 2, such as JavaScriptEngine, FEL, etc., which can dynamically compute Boolean expressions. The transferred account is configured as follows, for example.
Figure BDA0002494115030000121
Wherein "EXP" represents #1AND #2, AND satisfies both the condition #1AND the condition #2, where the condition #1 represents that the TRANSFER AMOUNT CASH _ AMOUNT > is 10000, AND #2 represents that the TRANSFER DIRECTION is OUT, AND only the message satisfying the above conditions can enter the personal message processing module in fig. 1.
As shown in fig. 1and fig. 2, the personal message processing module in fig. 1 obtains information such as tag data of a client obtained from the client data acquisition module in fig. 1 according to client information generating a trigger event, and caches the information in the distributed cache Redis-Cluster of the data storage layer in fig. 2, so as to avoid frequent query of the relational database and guarantee system performance. The personal message processing module determines whether to send the message and generates a final sent message according to the message template, the message sending date limit, the time interval limit, the time limit and the like configured by the message pushing operation management module in fig. 1. Meanwhile, the module has a variable replacing function. Using the transfer as an example, assume that the message template is configured as
Figure BDA0002494115030000122
Assuming that the clients A and 19:00 roll out 1000 yuan, if the clients meet the message condition configuration, the message content finally sent by the message template is replaced by 'honored client A successfully rolls out 1000 yuan in 19: 00', and the message content pushing function of thousands of people is realized. The module can record the processing condition of each message push configuration of each client on the current day in a distributed NoSQL database MongoDB in a data storage layer of FIG. 2, so that the push condition can be conveniently searched according to the message configuration or the client to solve the push problem.
As shown in FIGS. 1and 2, the batch event processing module of FIG. 1 is used to trigger services for batch crowd messages. The batch event processing module employs the distributed Quartz service of the distributed computing layer of FIG. 2 to generate timed events, such as pushing blessing messages to clients on the birthday of the current day at 9 o' clock a day. While the timing task supports whether the trigger date configuration is trading date, trading date every week, trading date last every month, etc. related to securities trading.
As shown in fig. 1and 2, the batch event processing module of fig. 1 interfaces various real-time quotations including indexes, blocks, stocks, funds, and the like, and like the personal event processing module, the quotation event calculation uses an expression calculation engine in the distributed calculation layer of fig. 2, such as JavaScriptEngine, FEL, and the like, for calculation, and the configuration method is similar to that of the personal event processing module. The quotation data attributes include but are not limited to stock short, today's opening price, yesterday's closing price, recent deal price, highest deal price, lowest deal price, buy price, sell price, deal quantity, deal amount, quotation date, quotation time, stop-plate state, amount of fluctuation, and fluctuation range.
As shown in fig. 1and fig. 2, the batch push processing module in fig. 1 has the same functions as the personal message processing module, and has message template processing and message placeholder processing functions, except that the batch push processing module is not for a single client, so that the client data is not cached by using Redis-Cluster, but large-data-volume crowd screening is directly performed by using the distributed computing layer Spark distributed batch computing in fig. 2 in cooperation with the data storage layer distributed relational database MySQL + DBLE (or Mycat) in fig. 2, and the screening modes of different crowds and the association mode of complex crowds can be directly defined by configuration. For example, there are two kinds of crowd DATA, one is a static BIG DATA crowd TAG (BIG DATA TAG), the crowd belongs to different TAG _ IDs (TAGs), one is a real-time self-selected STOCK crowd (option _ STOCK), the crowd belongs to different STOCK _ CODEs, how the two kinds of crowd are associated is specified by configuration, SQL is configured as SELECT DISTINCT a.customer _ NO FROM BIG DATA TAG a, option _ STOCK b WHERE a.tag _ ID:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: the multi-partition parallel execution is processed by the batch pushing processing module, the batch crowd processing module cannot record the sending state of each person, but can set the triggering condition of each setting by pushing messages in batches, the triggering conditions comprise triggering time, a final message template during triggering, the number of target customers and the like, and the batch pushing processing module can acquire and display the triggering data.
As shown in fig. 1and fig. 2, the message pushing operation management module in fig. 1 mainly provides an interface for setting, deleting, and monitoring an operation policy. The technical stack Spring Boot/Mybatis of the management display layer of FIG. 2 is used.
As shown in FIG. 3, the personal message operation client is in a message operation loop, the client is a trigger and a receiver, the time interval between the trigger and the receiver is in the second level, and the trigger itself is targeted, so that the personal message operation client has stronger pertinence. The batch message operation trigger is generally a market or timing, the receiver is a client, and the crowd is generally set by an operator according to an analysis result or a business target, so that the pertinence is poor.
The system and the method for realizing automatic real-time message pushing operation meet the requirements of flexibly configuring triggering event conditions, message sending contents and target sending crowds of large data magnitude clients in a production environment, have no bottleneck nodes due to the wide adoption of a distributed technology in the production environment, and have the characteristics of high throughput and low time delay on the premise of high availability. Meanwhile, the method has the advantages that the method supports the triggering conditions to be flexible and configurable, supports the appointed triggering crowd and even the association of different crowds to have the accurate pushing characteristic, overcomes the defects that the traditional message pushing touch object is not accurate, the message triggering conditions and the message touch content are not flexible and configurable, does not support the triggering of the real-time client event, has small message pushing throughput and small message pushing supporting crowd and the like, and has technical originality.
In this specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims (14)

1. A system for implementing automated real-time message push operations, the system comprising:
the client data acquisition module is used for acquiring, summarizing and storing client data through distributed timing task scheduling;
the batch event processing module is used for accessing a market change event and a timing trigger event and calculating whether the batch message pushing trigger requirement is met or not according to a configuration event condition;
the personal event processing module is used for accessing a personal operation event and calculating whether the personal operation event meets the personal message pushing triggering requirement or not according to the configured event condition;
the batch pushing calculation module is connected with the client data acquisition module and the batch event processing module and is used for finishing crowd intersection calculation, message template placeholder replacement, message paging sending and message sending statistical information recording;
and the personal pushing calculation module is connected with the client data acquisition module and the personal event processing module and is used for finishing personal message template placeholder replacement, message sending and personal sending statistical information recording.
2. The system of claim 1, further comprising a message push operation management module, connected to the batch event processing module, the personal event processing module, the batch push calculation module, and the personal push calculation module, for setting and deleting an operation policy, activating and deactivating event processing calculation and crowd calculation configured by the operation policy, and providing a corresponding statistical information query function.
3. The system for implementing automated real-time message push operation according to claim 1, further comprising a message push record and log management module, connected to the batch event processing module, the personal event processing module, the batch push calculation module and the personal push calculation module, for querying a processing status of an event, a push status of a message, a push content of a message and a time.
4. The system for implementing automated real-time message push operation according to claim 1, wherein the client data collection module comprises a plurality of data collection modes, and the data collection modes comprise data file import and real-time data access.
5. The system of claim 1, wherein the batch event processing module includes a function of processing real-time market events and timing trigger events, and supports flexible configuration of trigger conditions using boolean expressions.
6. The system for implementing automated real-time message push operation according to claim 1, wherein the personal event processing module comprises a function for processing personal real-time events of the client and supports flexible configuration of trigger conditions of the client events by using boolean expressions.
7. The system of claim 1, wherein the personal push computing module includes a function of calculating and recording statistical information of push information content, such as placeholder replacement and personal message push according to the calculation result of the personal event processing module.
8. The system of claim 1, wherein the personal event processing module receives various types of real-time client operation events by using a message queue.
9. The system of claim 1, wherein the personal event processing module supports dynamic conditional expression configuration via a conditional expression calculation engine.
10. The system of claim 1, wherein the batch push computation module indicates how different types of people are related by configuration, uses a distributed parallel computation database to compute data at different nodes and different partitions, and uses a distributed NoSQL database to record trigger conditions of each message configuration, thereby performing frequency control and time interval control.
11. A method for implementing automatic real-time message push operation control based on the system of claim 1, wherein the method comprises the following steps:
(1) the client data acquisition module receives static data and message queue real-time data in a distributed task scheduling mode, hashes relevant data of a client to a specific partition of a specific node of a distributed relational database according to a fixed hashing rule, and stores the data into a specific table;
(2) the message pushing operation management module carries out message pushing setting;
(3) and the message pushing record and log management module receives the message setting real-time trigger effect, summarizes and counts the message setting real-time trigger effect and provides the summarized and counted message to the message pushing record and log management module to inquire an interface.
12. The method for implementing automated real-time message push operation control according to claim 11, wherein the step (1) specifically comprises the following steps:
(1.1) static data is imported in the distributed batch processing in an SQL batch insertion mode, and the same SQL insertion data belongs to the same data partition of the same database node;
(1.2) the distributed batch stream processing imports real-time data in an SQL batch insertion mode, and the same batch of SQL insertion data belongs to the same data partition of the same database node;
and (1.3) the distributed relational database adopts an open-source distributed relational database, different types of client data are stored by adopting different data tables, and data of the same client with different dimensions are stored in the same partition of the same node of the distributed relational database.
13. The method according to claim 11, wherein the step (2) of performing message push setting includes a step of performing batch crowd event message push setting and a step of performing personal event message push setting, and the step of performing batch crowd event message push setting includes the following steps:
(1-2.1) selecting a push platform for triggering the message;
(1-2.2) setting the format, title, abstract and content of message pushing, and setting a plurality of sets of message template circulating triggers;
(1-2.3) selecting the crowd selection and the crowd parameter selection of the message reach;
(1-2.4) selecting a condition triggered by the message, filling in condition parameters, and forming a Boolean condition expression;
(1-2.5) selecting event defining parameters of a date type of triggering, a number of times of triggering each, and a time interval of triggering each.
14. The method according to claim 11, wherein the step (2) of performing message push setting includes a step of performing batch crowd event message push setting and a step of performing personal event message push setting, and the step of performing personal event message push setting includes the following steps:
(2-2.1) selecting a push platform for triggering the message;
(2-2.2) setting the format, title, abstract and content of message pushing, setting a plurality of sets of message templates, and circularly triggering;
(2-2.3) selecting the crowd selection and the crowd parameter selection which are reached by the message, and caching the client information stored in the distributed relational database through an open-source distributed cache technology;
(2-2.4) selecting an event triggered by the message, setting selectable triggering conditions under the event, and forming a Boolean expression;
(2-2.5) selecting event defining parameters of a date type of triggering, a number of times of triggering each, and a time interval of triggering each.
CN202010413335.1A 2020-05-15 2020-05-15 System and method for realizing automatic real-time message pushing operation Active CN111552885B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010413335.1A CN111552885B (en) 2020-05-15 2020-05-15 System and method for realizing automatic real-time message pushing operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010413335.1A CN111552885B (en) 2020-05-15 2020-05-15 System and method for realizing automatic real-time message pushing operation

Publications (2)

Publication Number Publication Date
CN111552885A true CN111552885A (en) 2020-08-18
CN111552885B CN111552885B (en) 2024-01-30

Family

ID=72002019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010413335.1A Active CN111552885B (en) 2020-05-15 2020-05-15 System and method for realizing automatic real-time message pushing operation

Country Status (1)

Country Link
CN (1) CN111552885B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220699A (en) * 2021-06-10 2021-08-06 国泰君安证券股份有限公司 System and method for supporting multi-mode agile information data receiving and sending
CN113362084A (en) * 2021-06-09 2021-09-07 广州智会云科技发展有限公司 Client data tracking method, device, equipment and computer readable storage medium
CN114679489A (en) * 2022-03-01 2022-06-28 北京金山云网络技术有限公司 Message pushing method, device, equipment and medium
CN115277595A (en) * 2022-07-26 2022-11-01 深圳证券通信有限公司 Data sending method and related device
CN116979686A (en) * 2023-06-26 2023-10-31 三峡高科信息技术有限责任公司 Electric quantity reporting system based on new energy power station in electric power production operation stage

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012058385A2 (en) * 2010-10-27 2012-05-03 Hsbc Technlologies Inc. Integrated customer communications computer system and process for implementing same
CN106886597A (en) * 2017-02-24 2017-06-23 乐蛙科技(上海)有限公司 Control system, control method and receiving terminal that a kind of trigger-type is notified
EP3296870A1 (en) * 2015-05-12 2018-03-21 Wangsu Science & Technology Co., Ltd Cdn-based content management system
CN110245178A (en) * 2019-07-15 2019-09-17 上海矩云信息技术有限公司 Marketing automation management platform system and its management method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012058385A2 (en) * 2010-10-27 2012-05-03 Hsbc Technlologies Inc. Integrated customer communications computer system and process for implementing same
EP3296870A1 (en) * 2015-05-12 2018-03-21 Wangsu Science & Technology Co., Ltd Cdn-based content management system
CN106886597A (en) * 2017-02-24 2017-06-23 乐蛙科技(上海)有限公司 Control system, control method and receiving terminal that a kind of trigger-type is notified
CN110245178A (en) * 2019-07-15 2019-09-17 上海矩云信息技术有限公司 Marketing automation management platform system and its management method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈涛;: "通信运营商的互联网实时大数据营销体系研究" *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113362084A (en) * 2021-06-09 2021-09-07 广州智会云科技发展有限公司 Client data tracking method, device, equipment and computer readable storage medium
CN113220699A (en) * 2021-06-10 2021-08-06 国泰君安证券股份有限公司 System and method for supporting multi-mode agile information data receiving and sending
CN114679489A (en) * 2022-03-01 2022-06-28 北京金山云网络技术有限公司 Message pushing method, device, equipment and medium
CN115277595A (en) * 2022-07-26 2022-11-01 深圳证券通信有限公司 Data sending method and related device
CN116979686A (en) * 2023-06-26 2023-10-31 三峡高科信息技术有限责任公司 Electric quantity reporting system based on new energy power station in electric power production operation stage

Also Published As

Publication number Publication date
CN111552885B (en) 2024-01-30

Similar Documents

Publication Publication Date Title
CN108416620B (en) Portrait data intelligent social advertisement putting platform based on big data
US11176114B2 (en) RAM daemons
CN111552885A (en) System and method for realizing automatic real-time message pushing operation
CN111475509A (en) Big data-based user portrait and multidimensional analysis system
CN109189782A (en) A kind of indexing means in block chain commodity transaction inquiry
US20080126311A1 (en) Automatic index creation based on unindexed search evaluation
CN113609374A (en) Data processing method, device and equipment based on content push and storage medium
CN113312376B (en) Method and terminal for real-time processing and analysis of Nginx logs
CN112541119B (en) Efficient and energy-saving small recommendation system
CN113127741A (en) Cache method for reading and writing data of mass users and posts in part-time post recommendation system
CN109299089A (en) The calculating and storage method and calculating of a kind of label data of drawing a portrait and storage system
CN107729206A (en) Real-time analysis method, system and the computer-processing equipment of alarm log
Bazargani et al. Implementing conceptual search capability in a cloud-based feed aggregator
CN116521631A (en) Log data aggregation method and system
CN117708402A (en) Data query method and device, storage medium and electronic device
CN117633355A (en) Hot spot data real-time recommendation method, system, electronic equipment and storage medium
CN113468246A (en) Intelligent data counting and subscribing system and method based on OLTP
CN114491216A (en) Data search management software management system based on big data
CN117725283A (en) Archival data storage system based on big data
Bazargani et al. The Feed Analyzer: Implementation and Evaluation.
Haghani Efficient Processing of Ranking Queries in Novel Applications

Legal Events

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