CN111552885B - 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
CN111552885B
CN111552885B CN202010413335.1A CN202010413335A CN111552885B CN 111552885 B CN111552885 B CN 111552885B CN 202010413335 A CN202010413335 A CN 202010413335A CN 111552885 B CN111552885 B CN 111552885B
Authority
CN
China
Prior art keywords
message
personal
pushing
event
batch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010413335.1A
Other languages
Chinese (zh)
Other versions
CN111552885A (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

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

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 storage module and a client data processing module, wherein 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 quotation 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 completing crowd intersection calculation, message template placeholder replacement, message paging transmission and message transmission statistical information recording; and the personal push calculation module is used for completing personal message template placeholder replacement, message transmission and personal transmission statistical information recording. The invention also relates to a method for realizing 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 customers with large data magnitude under the production environment, and have the characteristics of high throughput and low time delay under 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
Message pushing is a communication mode for carrying out message touch on clients in an internet environment, namely, a message operator pushes a 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 messages, desktop application messages, short messages, micro messages, mails and the like.
The traditional message pushing generally has the characteristics of inaccurate touch object, inaccurate message triggering condition, inflexible configuration of message touch content, no support for real-time client event triggering message, small message pushing throughput, small message pushing support crowd and the like. Inaccurate touch objects can bring unnecessary harassment to clients, influence the experience and efficiency of message pushing, and increase the operation cost of operators. The message triggering condition and the inflexible configuration of the message touch content can influence the usability and timeliness of message pushing, and the working difficulty and the working strength of a message pushing operator are increased. The message pushing is not supported, and the triggering of a real-time client event can influence the timeliness of the message pushing, so that the efficiency of the 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 message are affected. The message pushing support crowd is small, and the touch surface of the message and the benefits brought by message operation are affected.
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 good timeliness, usability and timeliness.
In order to achieve the above purpose, the system for realizing automatic real-time message pushing operation and the method thereof 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 the quotation change event and the timing trigger event and calculating whether the batch message pushing trigger requirement is met according to the configuration event condition;
the personal event processing module is used for accessing personal operation events and calculating whether the personal message pushing triggering requirement is met according to the configuration event conditions;
the batch pushing calculation module is connected with the customer data acquisition module and the batch event processing module and is used for completing crowd intersection calculation, message template placeholder replacement, message paging transmission and message transmission statistical information recording;
And the personal push calculation module is connected with the client data acquisition module and the personal event processing module and is used for completing personal message template placeholder replacement, message transmission and personal transmission statistical information recording.
Preferably, the system further comprises a message 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 operation strategies, activating and deactivating event processing calculation and crowd calculation configured by the operation strategies, and providing corresponding statistical information inquiry functions.
Preferably, the system further comprises a message pushing record and log management module 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 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 comprises processing functions of real-time quotation events and timing trigger events, and supports flexible configuration of trigger conditions by using Boolean expressions.
Preferably, the personal event processing module comprises a processing function of a client personal real-time event and supports flexible configuration of triggering conditions of the client event by using a Boolean expression.
Preferably, the personal push computing module comprises a function of calculating and recording statistical information of push message content, wherein the statistical information can be used for carrying out placeholder replacement according to the calculation result of the personal event processing module.
Preferably, the personal event processing module receives real-time operation events of clients of various types by adopting a message queue.
Preferably, the personal event processing module supports dynamic conditional expression configuration via a conditional expression calculation engine.
Preferably, the batch push calculation module indicates how different crowd types are related through configuration, uses data under different nodes and different partitions of the distributed parallel calculation database, and records the triggering condition of each message configuration by adopting the distributed NoSQL database to control times and time intervals.
The method for realizing automatic real-time message pushing operation control by using the system is mainly characterized by comprising the following steps:
(1) The client data acquisition module receives static data and real-time data of the message queue in a distributed task scheduling mode, hashes relevant data of clients to specific partitions of specific nodes of the distributed relational database according to a fixed hash rule, and stores the hashes relevant data into a specific table;
(2) The message pushing operation management module performs message pushing setting;
(3) And the message pushing record and log management module receives the message setting real-time triggering effect and gathers statistics to provide the message pushing record and log management module with a query interface.
Preferably, the step (1) specifically includes the following steps:
the method comprises the steps of (1.1) importing static data through SQL batch insertion in a distributed batch processing mode, wherein the same batch of SQL insertion data belongs to the same data partition of the same database node;
(1.2) importing real-time data by SQL batch insertion mode in distributed batch stream processing, wherein 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 the data with different dimensions of the same client are stored in the same partition of the same node of the distributed relational database.
Preferably, the step (2) of performing message pushing setting includes a step of performing batch crowd event message pushing setting and a step of performing personal event message pushing setting, wherein the step of performing batch crowd event message pushing setting includes the following processing procedures:
(1-2.1) selecting a push platform for triggering messages;
(1-2.2) setting the format, title, abstract and content of message pushing, and setting a plurality of sets of message template cycle triggers;
(1-2.3) selecting crowd selection and crowd parameter selection of message touch;
(1-2.4) selecting a condition triggered by the message, and filling in condition parameters to form a Boolean condition expression;
(1-2.5) selecting an event defining parameter of a date type of the trigger, a number of times of each trigger, a time interval of each trigger.
Preferably, the step (2) of performing message pushing setting includes a step of performing batch crowd event message pushing setting and a step of performing personal event message pushing setting, wherein the step of performing personal event message pushing setting includes the following processing procedures:
(2-2.1) selecting a push platform for triggering messages;
(2-2.2) setting the format, title, abstract and content of message pushing, setting a plurality of message templates, and circularly triggering;
(2-2.3) selecting crowd selection and crowd parameter selection of message touch, and caching client information stored in a distributed relational database through an open source distributed caching technology;
(2-2.4) selecting an event triggered by the message, setting optional triggering conditions under the event, and forming a Boolean expression;
(2-2.5) selecting an event defining parameter of a date type of the trigger, a number of times of each trigger, a time interval of each trigger.
The system and the method for realizing automatic real-time message pushing operation meet the flexible and configurable requirements of trigger event conditions, message sending contents and target crowd facing large-data-level clients in a production environment, and have the characteristics of high throughput and low time delay on the premise of meeting high availability due to the fact that a distributed technology is widely adopted in the production environment and no bottleneck node is adopted. Meanwhile, the method has the characteristics of accurate pushing by supporting flexible and configurable triggering conditions, supporting appointed triggering crowd and even different crowd association, overcomes the defects of inaccurate triggering objects, inflexible configuration of message triggering conditions and message triggering contents, no support of real-time client event triggering messages, small message pushing throughput, small message pushing supporting crowd and the like of the traditional message pushing, and has technical originality.
Drawings
Fig. 1 is an overall framework diagram of a system implementing automated real-time message push operation in accordance with the present invention.
Fig. 2 is a diagram of a high availability deployment example scenario of an embodiment of a method of implementing automated real-time message push operation control of the present invention.
Fig. 3 is a timing diagram of a method of implementing automated real-time message push operation control in accordance with the present invention.
Detailed Description
In order to more clearly describe the technical contents of the present invention, a further description will be made below in connection with specific embodiments.
The system for realizing automatic real-time message pushing operation comprises:
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 the quotation change event and the timing trigger event and calculating whether the batch message pushing trigger requirement is met according to the configuration event condition;
the personal event processing module is used for accessing personal operation events and calculating whether the personal message pushing triggering requirement is met according to the configuration event conditions;
the batch pushing calculation module is connected with the customer data acquisition module and the batch event processing module and is used for completing crowd intersection calculation, message template placeholder replacement, message paging transmission and message transmission statistical information recording;
and the personal push calculation module is connected with the client data acquisition module and the personal event processing module and is used for completing personal message template placeholder replacement, message transmission and personal transmission statistical information recording.
As a preferred embodiment of the invention, the system further comprises a message 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 operation strategies, activating and deactivating event processing calculation and crowd calculation configured by the operation strategies and providing corresponding statistical information inquiry functions.
As a preferred embodiment of the invention, the system further 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 is used for inquiring the processing state of the event, the pushing state of the message, the pushing content and time of the message.
As a preferred embodiment of the invention, the client data acquisition module comprises a plurality of data acquisition modes, wherein the data acquisition modes comprise 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 quotation 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 a client personal real-time event and supports the flexible configuration of triggering conditions of the client event by using a Boolean expression.
As a preferred embodiment of the invention, the personal push calculation module comprises a push message content calculation recording function which can carry out placeholder replacement and personal message push statistical information calculation recording function according to the calculation result of the personal event processing module.
As a preferred embodiment of the invention, the personal event processing module uses a message queue to receive real-time operation events of various types of clients.
As a preferred embodiment of the present invention, the personal event processing module supports dynamic conditional expression configuration via a conditional expression computing engine.
As a preferred embodiment of the invention, the batch push calculation module indicates how different crowd types are associated through configuration, uses data under different nodes and different partitions of the distributed parallel calculation database, and adopts the distributed NoSQL database to record the triggering condition of each message configuration for 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 real-time data of the message queue in a distributed task scheduling mode, hashes relevant data of clients to specific partitions of specific nodes of the distributed relational database according to a fixed hash rule, and stores the hashes relevant data into a specific table;
the method comprises the steps of (1.1) importing static data through SQL batch insertion in a distributed batch processing mode, wherein the same batch of SQL insertion data belongs to the same data partition of the same database node;
(1.2) importing real-time data by SQL batch insertion mode in distributed batch stream processing, wherein 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 the data with 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 performs message pushing setting;
the step of performing message pushing setting comprises the step of performing batch crowd event message pushing setting and the step of performing personal event message pushing setting, wherein the step of performing batch crowd event message pushing setting comprises the following processing procedures:
(1-2.1) selecting a push platform for triggering messages;
(1-2.2) setting the format, title, abstract and content of message pushing, and setting a plurality of sets of message template cycle triggers;
(1-2.3) selecting crowd selection and crowd parameter selection of message touch;
(1-2.4) selecting a condition triggered by the message, and filling in condition parameters to form a Boolean condition expression;
(1-2.5) selecting an event defining parameter of a date type of the trigger, a number of times of each trigger, a time interval of each trigger.
The step of performing personal event message push setting comprises the following processing procedures:
(2-2.1) selecting a push platform for triggering messages;
(2-2.2) setting the format, title, abstract and content of message pushing, setting a plurality of message templates, and circularly triggering;
(2-2.3) selecting crowd selection and crowd parameter selection of message touch, and caching client information stored in a distributed relational database through an open source distributed caching technology;
(2-2.4) selecting an event triggered by the message, setting optional triggering conditions under the event, and forming a Boolean expression;
(2-2.5) selecting an event defining parameter of a date type of the trigger, a number of times of each trigger, a time interval of each trigger;
(3) And the message pushing record and log management module receives the message setting real-time triggering effect and gathers statistics to provide the message pushing record and log management module with a query interface.
In the specific embodiment of the invention, a message pushing operation system and a method thereof for accurate crowd pushing, flexible configuration of message content and message conditions, and support of user real-time events and extensible parallel computing by triggering messages are provided.
The automatic real-time message pushing operation system and the method thereof, wherein the system comprises:
customer data acquisition module: the system is used for collecting, summarizing and storing client data in a data file importing, real-time data accessing mode and the like through distributed timing task scheduling;
batch event processing module: the method is used for accessing market change events such as individual stocks, plates, indexes, funds and the like, triggering events at fixed time, and calculating whether batch message pushing triggering requirements are met according to configuration event conditions.
A personal event processing module: the method is used for accessing personal operation events such as login, transfer, transaction, webpage clicking and the like, and calculating whether the personal message pushing triggering requirement is met according to the configuration event conditions.
Batch pushing calculation module: the system is connected with a customer data acquisition module and a batch event processing module to complete crowd intersection calculation, message template placeholder replacement, message paging transmission and message transmission statistical information recording.
A personal push calculation module: and the personal information template placeholder is connected with the client data acquisition module and the personal event processing module to complete personal information template placeholder replacement, information transmission and personal transmission statistical information recording.
The system also comprises a message 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 operation strategies, activating and deactivating event processing calculation and crowd calculation configured by the operation strategies and providing corresponding statistical information inquiry functions.
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 a distributed relational database is adopted for storage after data acquisition.
The batch event processing module comprises processing functions of real-time quotation events such as individual stocks, plates, indexes, funds and the like and timing trigger events, and supports flexible configuration of trigger conditions by using Boolean expressions.
The personal event processing module comprises processing functions of client personal real-time events such as client login, transfer, transaction, webpage clicking and the like, and supports flexible configuration of triggering conditions of client events by using Boolean expressions.
The batch pushing calculation module comprises a batch statistical information calculation recording function for carrying out association calculation on different types of client data and pushing message content according to the calculation result of the batch event processing module.
The personal push calculation module comprises a statistical information calculation recording function that push message content can be replaced by placeholders according to the calculation result of the personal event processing module.
The personal event processing module receives real-time operation events of various types of clients by adopting a message queue, including but not limited to real-time operation events such as client registration, client account opening, client login, client transfer, client transaction, client clicking a specific interface and the like, and overcomes the defect that other message operation systems do not support the triggering of real-time client events.
The personal event processing module supports dynamic conditional expression configuration through the conditional expression calculation engine. Taking a customer transfer event as an example, the attribute of the transfer message may include parameters such as transfer amount, transfer direction, transfer currency, etc., and then the customer event with transfer greater than X amount and transfer direction Y may be configured to trigger specific message pushing for the customer, and the customer event with transfer greater than X amount and less than Y finance may be configured to trigger specific message pushing for the customer. The dynamic conditional expression conditional terms supported by the module are configurable and the conditional terms for each real-time operational event are different. The method overcomes the defect that the triggering conditions of other message operation systems cannot be flexibly configured, and meanwhile, due to the configurable triggering conditions, different contents can be pushed according to different conditions, and the problem that other message operation systems touch objects inaccurately is solved.
The personal event processing module processes personal events in an extensible distributed parallel flow computing framework to achieve high throughput and low delay characteristics, and is connected with the personal push computing module to transmit 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 performs conversion of personal messages into send messages in an extensible distributed parallel flow computing framework to achieve high throughput, low latency characteristics. The module supports message pushing in modes of short messages, mails, mobile applications, desktop applications, weChat and the like, supports configuration of pushing message titles, abstracts, contents, formats and the like, and can insert placeholders in the configuration items to realize message pushing of thousands of people and thousands of faces. For example, the push content may be configured as "honored # { CUSTOMER_NAME } client, thank you for his own support," when pushed to Zhang three, the push content will be replaced with "honored Zhang three client, thank you for his own support," where # { } is a regular expression placeholder that is supported by the module but not specifically defined. The personal push calculation module is connected with the message push record and log management module and records key information such as message processing results, push contents, push times, push time and the like. The personal pushing calculation module adopts a distributed NoSQL database to record the pushing condition of each client on the same day, and performs times control, time interval control and the like to prevent excessive message pushing to the client. The weakness that the message touch content of other message operation systems is not flexibly configured is overcome.
The message pushing record and log management module adopts a distributed log archiving and collecting tool to collect message pushing record and log and archive history, the archive can be configured to archive monthly, weekly and daily, and the archive adopts a non-relational distributed log storage and retrieval database, so that the log can be stored and retrieved quickly.
The client data acquisition module receives accurate crowd labels in real time by adopting modes such as ETL tools, message middleware docking and the like, realizes mass crowd data storage by adopting a distributed relational database, adopts a distributed database and single-node partition technology for mass data, and realizes distributed parallel single-table calculation and multi-table associated calculation of mass crowd in a mass push calculation module docked with the module through two layers of splitting. The weakness that other message operation systems are small in message pushing throughput and small in message pushing supporting crowd is overcome.
The batch event processing module adopts distributed timing task scheduling, supports timing event triggering of various date types, such as configuration of transaction days, non-transaction days, transaction days of the week, transaction days of the month, transaction days of the week, transaction days of the reverse order of the month and the like, and supports triggering events 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 taught to thousands of people and thousands of sides. The batch event processing module focuses on how large data magnitude customer data is message-signaled in seconds, and messages typically do not require thousands of people and faces.
The batch event processing module supports dynamic conditional expression configuration, taking the medium certificate 500 index quotation as an example, and the quotation event attribute comprises the attributes of the current point number, the current rising and falling range, the rising and falling range in a week and the like, so that the quotation event with the rising and falling range of the current day being more than X and the rising and falling range of the current day being less than Y can be configured to trigger specific message pushing aiming at specific client groups. The method overcomes the defect that the triggering conditions of other message operation systems cannot be flexibly configured, and meanwhile, due to the configurable triggering conditions, different contents can be pushed according to different conditions, and the problem that other message operation systems touch objects inaccurately is solved.
The batch push computation module supports specifying how different crowd types are associated by configuration. The batch push calculation module realizes parallel calculation of data under 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 adopts a distributed NoSQL database to record the triggering condition of each message configuration, and performs times control, time interval control and the like to prevent excessive message pushing to clients. The module can quickly construct new refined crowd on the basis of the basic crowd by supporting filtering and associated calculation of different basic crowd, and solves the problem that other message operation systems touch objects inaccurately. The distributed parallel computing technology and the distributed database support large-data-magnitude crowd, and the problem that other message operation systems support small crowd is solved.
The automatic real-time message pushing operation method based on the system comprises the following steps:
(1) The client data acquisition module receives static data and real-time data of a message queue in a distributed batch processing tool and other modes through distributed task scheduling, hashes relevant data of clients to specific partitions of specific nodes of the distributed relational database according to fixed hash rules and stores the hashes relevant data into specific tables.
Wherein, the step (1) further comprises the following steps:
(1.1) the static data is imported in a distributed batch processing mode by adopting an SQL batch insertion mode, and the SQL insertion data in the same batch belongs to the same data partition of the same database node, so that distributed transactions are avoided.
(1.2) the real-time data imported by the distributed batch stream processing adopts 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.
(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 the data with 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 performs message pushing setting and is mainly divided into two types of batch crowd events and personal events.
The batch crowd event in the step (2) further comprises the following steps:
and (2.1) 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 a batch pushing processing module.
And (2.2) setting the format, title, abstract and content of message pushing, wherein a plurality of message templates can be set and the system is triggered circularly because the system supports message carousel. Placeholders can be inserted in titles, summaries, content if desired. The setting content is calculated by a batch pushing processing module.
(2.3) selecting crowd selection and crowd parameter selection of the message touch. The setting content is calculated by a batch pushing processing module, and the associated calculation of a plurality of basic groups is supported.
(2.4) selecting a message triggering condition, such as a timing condition or a quotation condition, and filling out a condition parameter, and forming a Boolean condition expression. The setting content is calculated by a batch event processing module.
And (2.5) selecting event limiting parameters such as the type of the triggered date, the number of times of each trigger, the time interval of each trigger and the like, reducing unnecessary harassment to customers, wherein the setting content is calculated by a batch event processing module.
Wherein, the personal event of step (2) further comprises the steps of:
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, wherein a plurality of message templates can be set and the system is triggered circularly because the system supports message carousel. Placeholders can be inserted in titles, summaries, content, if desired, which support single client 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 not supported by the batch push computing module.
(2.8) selecting crowd selection and crowd parameter selection of the message touch. The client information stored in the distributed relational database is cached by adopting an open source distributed caching technology, clients not in crowd selection can not send messages even if the triggering condition is met, and the setting content is calculated by the personal push processing module.
(2.9) selecting an event triggered by the message, setting optional trigger conditions under the event, and forming a Boolean expression. The setting content is calculated by the personal event processing module.
(2.10) selecting event limiting parameters such as the type of the triggered date, the number of times of each trigger, the time interval of each trigger and the like, reducing unnecessary harassment to customers, wherein the setting content is calculated by a personal event processing module.
(3) The message pushing record and log management module receives the message setting real-time triggering effect and gathers statistics and provides the information pushing record and log management module query 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 perceive the operation effect is solved.
The flexible configuration method for the real-time message pushing target crowd, pushing content and pushing conditions comprises the following steps:
(1) The flexible configuration of the message template is sent, including the free configuration of a message delivery platform (mobile application, desktop application, short message, mailbox and WeChat), message title, abstract and content, and placeholder variables can be used in the message title, abstract and content, and the placeholder variables are replaced by actual values before the message is sent;
(1.1) freely configuring message titles, abstracts, contents, formats, sending platforms (mobile applications, desktop applications, short messages, mailboxes, weChat) and the like in a message pushing operation management module;
(1.2) configuring message titles, abstracts and content supporting placeholders in a message pushing operation management module, wherein the placeholders in a batch pushing calculation module and a 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 triggering event type, and the condition can be composed of a plurality of sub-items;
(2.1) supporting complex Boolean expressions of event attributes by batch events in a message push operation management module, wherein the conditions can be freely configured according to the event attributes and can be composed of a plurality of sub-items.
(2.2) supporting complex Boolean expressions of event attributes by personal events in a message push operation management module, wherein the conditions can be freely configured according to the event attributes and can be composed of a plurality of sub-items;
(2.3) calculating conditional boolean expressions in the batch event processing module and the personal event processing module;
(3) The message target crowd supports different types of crowd data association filtering;
(3.1) supporting different crowd-related computing free configuration by target crowd in message push operation management module
And (3.2) carrying out actual calculation of the crowd in a batch push calculation module, wherein the calculation adopts distributed relational database node partition parallel calculation.
Specific embodiments of the invention are as follows:
as shown in fig. 1 and 2, the real-time client data reception used by the client data acquisition module of fig. 1 can be laterally extended without single point of failure by using the distributed message middleware Kafka in the data reception layer of fig. 2. The data receiving adopts the Spark distributed batch computing framework in the distributed computing layer of fig. 2, can be transversely expanded, has no single point of failure, and can process client data in parallel by a plurality of processes on a plurality of servers.
As shown in fig. 1 and fig. 2, the large data static crowd data import used by the client data acquisition module of fig. 1 can be laterally expanded by adopting the distributed file server in the data receiving layer of fig. 2, and no single point of failure exists. The data import adopts the Spark distributed batch computing framework in the distributed computing layer of fig. 2, can be transversely expanded, has no single point of failure, and can process client data in parallel by a plurality of processes on a plurality of servers.
As shown in fig. 1 and fig. 2, after the client data acquisition module in fig. 1 receives data, the client data acquisition module stores the distributed relational database in the data storage layer in fig. 2, mysql+dble (or MyCat), mySQL shards adopt dual main clusters, DBLE (or MyCat) can perform data routing and data merging across MySQL shards, and because MySQL in the shards is high in availability, DBLE (or MyCat) supports the transverse expansion of the number of subordinate MySQL shards, and large data magnitude client data can be stored.
As shown in fig. 1 and fig. 2, the distributed relational database in the data storage layer of fig. 2 adopted in the data storage of the client data acquisition module of fig. 1 after data reception and warehousing needs to use the partition table to better support parallel computation when the single-node single-table data size is large.
As shown in fig. 1 and 2, after the client data acquisition module of fig. 1 performs data warehousing, different types of data of the same client are distributed in the same partition of the same data node. The same data of different clients are uniformly distributed on different partitions of different data nodes, and a data base is provided for parallel crowd association calculation of the distributed calculation layer of fig. 2.
As shown in fig. 1 and fig. 2, the distributed log search storage database in the data storage layer of fig. 2 adopted by the message push record and log management module of fig. 1 performs log storage, encapsulates a search function, and the elastic search is a search framework supporting large data magnitude and supports large data magnitude quick search of full fields.
As shown in fig. 1 and 2, the indexes in the elastic search database of the message push record and log management module of fig. 1 are stored by week, and cleaned by week, so as to ensure that the log data volume is not excessively large.
As shown in fig. 1 and fig. 2, the personal event processing module of fig. 1 adopts the distributed stream computing process of the distributed computing layer Storm of fig. 2 to process the client behavior events in parallel in a multi-process and multi-thread mode in a plurality of servers, so as to realize event processing throughput. Storm is deployed in a double-Nimbus mode, single-point faults are not existed, capacity can be rapidly expanded, and the real-time message processing time delay is extremely low.
As shown in FIG. 1, the personal event processing module event computation of FIG. 1 may dynamically compute Boolean expressions using the distributed computation layer expression computation engine of FIG. 2, such as JavaScriptEngine, FEL. The transferred is configured as follows, for example.
Where "EXP" indicates #1and#2, and conditions #1and #2 are simultaneously satisfied, where condition #1 indicates TRANSFER AMOUNT push_direction > =10000, and #2 indicates TRANSFER DIRECTION OUT, only a message satisfying the above conditions can enter the personal message processing block in fig. 1.
As shown in fig. 1and fig. 2, the personal message processing module in fig. 1 acquires information such as tag data to which a client belongs from the client data acquisition module in fig. 1 according to client information generating a trigger event, and caches the information in a distributed cache dis-Cluster in the data storage layer in fig. 2, so that frequent query of a relational database is avoided, and system performance is ensured. The personal message processing module decides whether to send the message or not and generates the final sent message according to the message template, the message sending date limit, the time interval limit, the number limit and the like configured by the message pushing operation management module in fig. 1. Meanwhile, the module has a variable replacement function. Taking account of transfer as an example, assume that the configured message template is
Assuming that the clients A and 19:00 are separated by 1000 yuan, if the clients meet the message condition configuration, the message content finally sent by the message template can be replaced by 'honored client A you successfully transfer 1000 yuan at 19:00', so that a thousand-person and thousand-face message content pushing function is realized. The processing condition of each message pushing configuration of each client on the same day can be recorded in a distributed NoSQL database MongoDB in the data storage layer of fig. 2 by the module, so that pushing problems can be conveniently checked according to the message configuration or the client searching pushing conditions.
As shown in fig. 1 and 2, the batch event processing module of fig. 1 is a batch crowd message trigger service. 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 9 points per day to clients on the birthday of the day. And the timed task supports trigger date configuration related to securities trading, such as trade date, trade date of the last week, trade date of the last month, etc.
As shown in fig. 1 and fig. 2, the batch event processing module of fig. 1 and the interfacing various real-time quotations comprise indexes, plates, individual stocks, funds and the like, and as with the personal event processing module, the quotation event calculation adopts the expression calculation engines 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 market data attributes include, but are not limited to, securities abbreviations, today's price, yesterday's price, recent price, highest price, lowest price, bid price, offer, quantity of deals, amount of deals, market date, market time, stop status, amount of rises and falls, and amplitude of rises and falls.
As shown in fig. 1 and fig. 2, the batch push processing module in fig. 1 has the same functions of message template processing and message placeholder processing as the personal message processing module, except that the batch push processing module is not aimed at a single client, so that the Redis-Cluster is not adopted to buffer client data, but the distributed batch calculation in the distributed computing layer of fig. 2 is adopted to directly screen a large amount of data crowd in cooperation with the distributed relational database MySQL+DBLE (or Mycat) in the data storage layer of fig. 2, and the screening modes of different crowds and the association mode of complex crowds can be directly defined through configuration. For example, there are two kinds of crowd DATA, one is static BIG DATA crowd label (big_data_tag), the crowd belongs to different tag_id (label), one is real-time self-selected crowd (operation_stock), the crowd belongs to different stock_code, how the two kinds of crowd are associated when being configured AND designated by configuration, the configuration of SQL such as SELECT DISTINCT a.CUSTORE_NO FROM BIG_DATA_TAG a, OPTIONAL_STORE_b WHE a.TAG_ID= '{ a: TAG_ID }' AND b.STOCK_CODE = '{ b:: STOCK_CODE }' AND a.CUSTOMER_NO=b.CUSTOMER_NO, the information pushing management module selects two kinds of crowd, the association can be realized by selecting TAG_ID AND SQL_CODE, the parameter needed by the association can be read by the information pushing management module AND displayed at the front end, the configuration of the user can be split AND displayed at the front end, the configuration of the user can be triggered by the information pushing management module, the information pushing module can be triggered by the batch processing system, AND the information pushing module can be replaced by the user, AND the information pushing module can be triggered by the user to realize, AND the information pushing module can be triggered when the batch processing module.
As shown in fig. 1 and fig. 2, the message pushing operation management module in fig. 1 mainly provides an operation policy setting, deleting and monitoring interface. The technology stack Spring Boot/Mybatis of the management presentation layer of fig. 2 is adopted.
As shown in fig. 3, in the message operation loop, the personal message operation client is a trigger and a receiver, the time interval between triggering and receiving is in the second level, and the trigger has stronger pertinence. The batch message operation triggers are generally quotations or timing, the receivers are clients, and the crowd is generally formulated by operators according to analysis results or business targets, so that the pertinence is poor.
The system and the method for realizing automatic real-time message pushing operation meet the flexible and configurable requirements of trigger event conditions, message sending contents and target crowd facing large-data-level clients in a production environment, and have the characteristics of high throughput and low time delay on the premise of meeting high availability due to the fact that a distributed technology is widely adopted in the production environment and no bottleneck node is adopted. Meanwhile, the method has the characteristics of accurate pushing by supporting flexible and configurable triggering conditions, supporting appointed triggering crowd and even different crowd association, overcomes the defects of inaccurate triggering objects, inflexible configuration of message triggering conditions and message triggering contents, no support of real-time client event triggering messages, small message pushing throughput, small message pushing supporting crowd and the like of the traditional message pushing, and has technical originality.
In this specification, the invention has been described with reference to specific embodiments thereof. It will be apparent, however, that various modifications and changes may be made without departing from the spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims (12)

1. A system for implementing automated real-time message push operations, said 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 the quotation change event and the timing trigger event and calculating whether the batch message pushing trigger requirement is met according to the configuration event condition;
the personal event processing module is used for accessing personal operation events and calculating whether the personal message pushing triggering requirement is met according to the configuration event conditions;
the batch pushing calculation module is connected with the customer data acquisition module and the batch event processing module and is used for completing crowd intersection calculation, message template placeholder replacement, message paging transmission and message transmission statistical information recording;
the personal push calculation module is connected with the client data acquisition module and the personal event processing module and is used for completing personal message template placeholder replacement, message transmission and personal transmission statistical information recording;
The system also comprises a message pushing operation management module, a batch event processing module, a personal event processing module, a batch pushing calculation module and a personal pushing calculation module, wherein the message pushing operation management module 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 operation strategies, activating and deactivating event processing calculation and crowd calculation configured by the operation strategies and providing corresponding statistical information inquiry functions;
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 is used for inquiring the processing state of the event, the pushing state of the message, the pushing content and time of the message.
2. The system for implementing automated real-time message push operations of claim 1, wherein the client data collection module comprises a plurality of data collection modes, the data collection modes comprising data file import and real-time data access.
3. The system for implementing automatic real-time message push operation according to claim 1, wherein the batch event processing module comprises a processing function of real-time quotation events and timing trigger events, and supports flexible configuration of trigger conditions using boolean expressions.
4. The system for implementing automated real-time message push operations of claim 1, wherein the personal event processing module comprises processing functions of a client personal real-time event and supports flexible configuration of trigger conditions of the client event using boolean expressions.
5. The system for implementing automatic real-time message push operation according to claim 1, wherein the personal push computing module comprises a push message content calculation recording function capable of performing placeholder replacement and personal message push statistics according to the calculation result of the personal event processing module.
6. The system for implementing automated real-time message push operations of claim 1, wherein the personal event processing module receives real-time operation events for each type of client using a message queue.
7. The system for implementing automated real-time message push operations of claim 1, wherein the personal event processing module supports dynamic conditional expression configuration via a conditional expression calculation engine.
8. The system for implementing automatic real-time message pushing operation according to claim 1, wherein the batch pushing calculation module indicates how different crowd types are related through configuration, uses data under different nodes and different partitions of the distributed parallel calculation database, and records triggering conditions of each message configuration by adopting the distributed NoSQL database to perform frequency control and time interval control.
9. 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 real-time data of the message queue in a distributed task scheduling mode, hashes relevant data of clients to specific partitions of specific nodes of the distributed relational database according to a fixed hash rule, and stores the hashes relevant data into a specific table;
(2) The message pushing operation management module performs message pushing setting;
(3) And the message pushing record and log management module receives the message setting real-time triggering effect and gathers statistics to provide the message pushing record and log management module with a query interface.
10. The method for implementing automatic real-time message push operation control according to claim 9, wherein the step (1) specifically comprises the following steps:
the method comprises the steps of (1.1) importing static data through SQL batch insertion in a distributed batch processing mode, wherein the same batch of SQL insertion data belongs to the same data partition of the same database node;
(1.2) importing real-time data by SQL batch insertion mode in distributed batch stream processing, wherein 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 the data with different dimensions of the same client are stored in the same partition of the same node of the distributed relational database.
11. The method for implementing automatic real-time message push operation control according to claim 9, wherein the step (2) of performing message push settings includes a step of performing batch crowd event message push settings and a step of performing personal event message push settings, and wherein the step of performing batch crowd event message push settings includes the following steps:
(1-2.1) selecting a push platform for triggering messages;
(1-2.2) setting the format, title, abstract and content of message pushing, and setting a plurality of sets of message template cycle triggers;
(1-2.3) selecting crowd selection and crowd parameter selection of message touch;
(1-2.4) selecting a condition triggered by the message, and filling in condition parameters to form a Boolean condition expression;
(1-2.5) selecting an event defining parameter of a date type of the trigger, a number of times of each trigger, a time interval of each trigger.
12. The method for implementing automatic real-time message push operation control according to claim 9, wherein said step (2) of performing message push settings includes a step of performing batch crowd event message push settings and a step of performing personal event message push settings, wherein the step of performing personal event message push settings includes the following processes:
(2-2.1) selecting a push platform for triggering messages;
(2-2.2) setting the format, title, abstract and content of message pushing, setting a plurality of message templates, and circularly triggering;
(2-2.3) selecting crowd selection and crowd parameter selection of message touch, and caching client information stored in a distributed relational database through an open source distributed caching technology;
(2-2.4) selecting an event triggered by the message, setting optional triggering conditions under the event, and forming a Boolean expression;
(2-2.5) selecting an event defining parameter of a date type of the trigger, a number of times of each trigger, a time interval of each trigger.
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 CN111552885A (en) 2020-08-18
CN111552885B true 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)

Families Citing this family (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
CN115277595B (en) * 2022-07-26 2023-04-25 深圳证券通信有限公司 Data transmission method and related device
CN116979686B (en) * 2023-06-26 2024-04-26 三峡高科信息技术有限责任公司 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
陈涛 ; .通信运营商的互联网实时大数据营销体系研究.中国新通信.2018,(16),全文. *

Also Published As

Publication number Publication date
CN111552885A (en) 2020-08-18

Similar Documents

Publication Publication Date Title
CN111552885B (en) System and method for realizing automatic real-time message pushing operation
US11176114B2 (en) RAM daemons
US8918365B2 (en) Dedicating disks to reading or writing
CN111475509A (en) Big data-based user portrait and multidimensional analysis system
US8775556B1 (en) Automated segmentation and processing of web site traffic data over a rolling window of time
CN105608188A (en) Data processing method and data processing device
CN109189782A (en) A kind of indexing means in block chain commodity transaction inquiry
US9628355B1 (en) System for validating site configuration based on real-time analytics data
CN101639831A (en) Search method, search device and search system
CN108509437A (en) A kind of ElasticSearch inquiries accelerated method
CN112269816B (en) Government affair appointment correlation retrieval method
US8782162B1 (en) System for merging and comparing real-time analytics data with conventional analytics data
CN114971714A (en) Accurate customer operation method based on big data label and computer equipment
CN111125045B (en) Lightweight ETL processing platform
CN102325098A (en) Group information acquisition method and system
CN101788981A (en) Deep web mobile search method, server and system
CN113468246B (en) Intelligent data statistics and subscription system and method based on OLTP
CN116521631A (en) Log data aggregation method and system
CN117708402A (en) Data query method and device, storage medium and electronic device
CN113889199A (en) Search engine and search method based on compound
CN117312384A (en) System and method for instant inquiry of member data
Bizarro et al. The Internet contains Thousands of Poorly Explored FUTS Data Sources
Aswini et al. Dynamic Environment and Snowflake Schema in Real Time Data Services

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