WO2019019384A1 - Message push method, apparatus, computer device, and storage medium - Google Patents

Message push method, apparatus, computer device, and storage medium Download PDF

Info

Publication number
WO2019019384A1
WO2019019384A1 PCT/CN2017/104662 CN2017104662W WO2019019384A1 WO 2019019384 A1 WO2019019384 A1 WO 2019019384A1 CN 2017104662 W CN2017104662 W CN 2017104662W WO 2019019384 A1 WO2019019384 A1 WO 2019019384A1
Authority
WO
WIPO (PCT)
Prior art keywords
push
message
thread
rule
meta information
Prior art date
Application number
PCT/CN2017/104662
Other languages
French (fr)
Chinese (zh)
Inventor
张辉
Original Assignee
上海壹账通金融科技有限公司
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 上海壹账通金融科技有限公司 filed Critical 上海壹账通金融科技有限公司
Publication of WO2019019384A1 publication Critical patent/WO2019019384A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Definitions

  • One or more non-volatile storage media storing computer readable instructions, when executed by one or more processors, cause one or more processors to perform the following steps:
  • the push object determination thread and the rule filtering thread, concurrently read the sequence number from the ring buffer area from the corresponding initial sequence number, and obtain the read The meta information corresponding to each serial number;
  • FIG. 4 is a schematic flow chart of a meta-information processing step in an embodiment
  • Figure 6 is a block diagram of a message push device in an embodiment
  • FIG. 1 is an application environment diagram of a message pushing method in an embodiment.
  • the application environment includes a server 110 and a terminal 120 connected through a network.
  • the server 110 determines the initial sequence number corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread in the ring buffer area storing the plurality of meta information.
  • the server 110 determines the thread and the rule filtering thread for the message encapsulation thread, the push object, and the sequence number from the ring buffer from the corresponding initial sequence number, and acquires the meta information corresponding to the read sequence number.
  • FIG. 2 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation of the computer device to which the solution of the present application is applied.
  • Particular computer equipment may include more or fewer components than those shown in the figures, or some components may be combined, or have different component arrangements.
  • the meta information includes a push message acquisition parameter.
  • the push message acquisition parameter is a parameter for obtaining the content of the message to be pushed.
  • obtaining a packaged message that is determined to be a push target and conforms to the push rule, and pushing further includes: according to the corresponding push channel, The message is pushed to the device corresponding to the device ID.
  • the computer device can perform all the encapsulated messages obtained by the encapsulation process by using the message encapsulation thread from the start of sequentially reading the sequence number to the preset duration, and determine whether all the encapsulated messages satisfy the corresponding
  • the meta-information is determined as the push object, and the push template information corresponding to the corresponding meta-information meets the two conditions of the push rule, so that the push object is determined from all the encapsulated messages, and the corresponding meta-information is determined, and
  • the push template information corresponding to the corresponding meta information conforms to the two conditions of the push rule.
  • the initial sequence number corresponding to the message encapsulation thread is 3, and the sequence number is sequentially read.
  • the sequence numbers read are 3, 4, 5, and 6, and the message encapsulation is reached when the preset duration is reached.
  • the maximum sequence number read by the thread is 6.
  • the push object determines that the initial sequence number corresponding to the thread is 4, and starts to sequentially read the sequence number.
  • the read sequence numbers are 4, 5, 6, 7, and 8, and when the preset duration is reached, the push is performed.
  • the object determines that the maximum sequence number read by the thread is 8.
  • the initial sequence number corresponding to the rule filtering thread is 3, and the sequence number is read sequentially.
  • the sequence numbers read are 3, 4, and 5.
  • the content of the message is obtained through the cached meta information, and the corresponding push template information is obtained, thereby encapsulating the message, thereby greatly improving the storage capacity of the ring buffer area and improving the storage amount.
  • the utilization of storage resources does not need to always add or update meta information to the ring buffer, thereby improving the efficiency of message push.
  • the encapsulated message that is determined to be the push object and conforms to the push rule is obtained, and the push further includes: obtaining the obtained by routing logic The message is routed to the ring buffer corresponding to the determined push channel and cached; the cached message is extracted from the ring buffer corresponding to the push channel according to the preset period; and the extracted message is pushed to the device corresponding to the device identifier.
  • the computer device separately sets a corresponding ring buffer area for different push channels.
  • the computer device can route the obtained message to the ring buffer corresponding to the push channel according to the determined routing channel, and cache the message in the ring buffer.
  • the computer device may extract the cached message from the ring buffer corresponding to the push channel according to the preset period, and push the extracted message to the device corresponding to the device identifier.
  • the sequence number reading module 604 is configured to determine a thread and a rule filtering thread for the message encapsulation thread, the push object, and sequentially sequentially read the sequence number from the ring buffer area from the corresponding initial sequence number, and obtain the read sequence. Meta information corresponding to each serial number.
  • the message pushing module 608 is further configured to obtain a packaged message obtained when the serial number is read sequentially until the preset duration is reached; and the obtained meta information is selected from the obtained encapsulated message.
  • the push template information corresponding to the push target and corresponding to the corresponding meta information is determined to be in accordance with the push rule message and pushed.
  • the message pushing module 608 includes:
  • the target maximum sequence number determining module 608b is configured to take a minimum value from each of the determined maximum sequence numbers to obtain a target maximum sequence number.
  • the device identifier obtaining module 606d is configured to determine a thread by using a push object, and search for a device identifier corresponding to the user identifier to be pushed from the database according to the to-be-pushed user identifier in the corresponding acquired meta information.
  • the message encapsulation thread obtains the corresponding message content according to the obtained meta information and encapsulates the packet
  • the encapsulated message includes: obtaining, by the message encapsulation thread, the parameter according to the push message in the corresponding acquired meta information, and acquiring Corresponding message content; obtaining the corresponding push template information according to the push template identifier in the corresponding acquired meta information; and substituting the message content into the push template information for encapsulation processing to obtain the encapsulated message.
  • the encapsulation processing, the push object determination processing, and the push rule determination processing are performed, and based on the push target determination result and the push rule determination result of the corresponding meta information, a message indicating the push target and conforming to the push rule is obtained and pushed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Provided is a message push method, comprising: separately determining an initial sequence number corresponding to a message encapsulation thread, a push object determining thread, and a rule filtering thread in a circular buffer storing a plurality of meta information; from the circular buffer, concurrently reading in order a sequence number, beginning from the corresponding sequence number, concerning each of the message encapsulation thread, push object determining thread, and rule filtering thread, and obtaining meta information corresponding to each read sequence number; by means of the message encapsulation thread, push object thread, and rule filtering thread, concurrently performing message encapsulation, push object determination, and push rule determination on the corresponding obtained meta information; according to the push object determination result and push rule determination result of the corresponding meta information, obtaining an encapsulated message determining the push object and complying with the push rule, and pushing said message.

Description

消息推送方法、装置、计算机设备和存储介质Message push method, device, computer device and storage medium
本申请要求于2017年07月27日提交中国专利局,申请号为2017106263150,申请名称为“消息推送方法、装置、计算机设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese Patent Application entitled "Message Pushing Method, Apparatus, Computer Equipment and Storage Media" by the Chinese Patent Office, filed on July 27, 2017, with the application number of 2017106263150, the entire contents of which are incorporated by reference. In this application.
技术领域Technical field
本申请涉及计算机技术领域,特别是涉及一种消息推送方法、装置、计算机设备和存储介质。The present application relates to the field of computer technologies, and in particular, to a message push method, apparatus, computer device, and storage medium.
背景技术Background technique
随着信息时代的到来,消息推送已经成为一种非常重要的信息传递方式。With the advent of the information age, message push has become a very important means of information transfer.
传统方法中,是把要推送的消息的批量信息加入到线性队列中,并按照线性方式,按序地对信息进行消息推送处理,等上一个处理完毕后才能进行下一个处理,这样一来,在进行批量消息推送处理时,就容易造成大量的信息都需要在线性队列中长时间的排队等待,造成消息推送效率比较低。In the traditional method, the batch information of the message to be pushed is added to the linear queue, and the information is pushed and processed in a linear manner in order, and the next processing can be performed after the previous processing is completed, so that When performing batch message push processing, it is easy to cause a large amount of information to be queued for a long time in the linear queue, resulting in low message push efficiency.
发明内容Summary of the invention
根据本申请提供的各种实施例,提供一种消息推送方法、装置、计算机设备和存储介质。According to various embodiments provided by the present application, a message push method, apparatus, computer device, and storage medium are provided.
一种消息推送方法,包括:A message pushing method includes:
分别确定消息封装线程、推送对象确定线程和规则过滤线程在存储多个元信息的环形缓存区中所对应的初始序号;Determining, respectively, an initial sequence number corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread in a ring buffer area storing a plurality of meta information;
分别针对所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地从所对应的所述初始序号起按序地从所述环形缓存区中读取序号,并获取所读取的各序号对应的元信息;And respectively, for the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently read the sequence number from the ring buffer area from the corresponding initial sequence number, and obtain the read The meta information corresponding to each serial number;
通过所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并 发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理;及Encapsulating a thread, the push object determining thread, and the rule filtering thread by the message, and Sending a message encapsulation process, a push object determination process, and a push rule determination process on the corresponding acquired meta information;
根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送。Based on the push target determination result and the push rule determination result of the corresponding meta information, a message indicating the push target and conforming to the push rule is obtained and pushed.
一种消息推送装置,包括:A message pushing device comprising:
序号确定模块,用于分别确定消息封装线程、推送对象确定线程和规则过滤线程在存储多个元信息的环形缓存区中所对应的初始序号;a sequence number determining module, configured to respectively determine an initial sequence number corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread in a ring buffer area storing a plurality of meta information;
序号读取模块,用于分别针对所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地从所对应的所述初始序号起按序地从所述环形缓存区中读取序号,并获取所读取的各序号对应的元信息;a sequence number reading module, configured to respectively process the thread encapsulation thread, the push object determination thread, and the rule filtering thread, and concurrently read from the ring buffer area from the corresponding initial sequence number Taking the serial number and obtaining the meta information corresponding to each of the read serial numbers;
元信息处理模块,用于通过所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理;及a meta-information processing module, configured to: through the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently perform message encapsulation processing, push object determination processing, and push rule determination processing on the corresponding acquired meta information; and
消息推送模块,用于根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送。The message pushing module is configured to obtain, according to the push object determination result and the push rule determination result of the corresponding meta information, a packaged message that determines the push object and conforms to the push rule, and pushes the message.
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如下步骤:A computer device comprising a memory and a processor, the memory storing computer readable instructions, the computer readable instructions being executed by the processor such that the processor performs the following steps:
分别确定消息封装线程、推送对象确定线程和规则过滤线程在存储多个元信息的环形缓存区中所对应的初始序号;Determining, respectively, an initial sequence number corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread in a ring buffer area storing a plurality of meta information;
分别针对所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地从所对应的所述初始序号起按序地从所述环形缓存区中读取序号,并获取所读取的各序号对应的元信息;And respectively, for the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently read the sequence number from the ring buffer area from the corresponding initial sequence number, and obtain the read The meta information corresponding to each serial number;
通过所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理;及And the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently performing message encapsulation processing, push object determination processing, and push rule determination processing on the corresponding acquired meta information; and
根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送。 Based on the push target determination result and the push rule determination result of the corresponding meta information, a message indicating the push target and conforming to the push rule is obtained and pushed.
一个或多个存储有计算机可读指令的非易失性存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如下步骤:One or more non-volatile storage media storing computer readable instructions, when executed by one or more processors, cause one or more processors to perform the following steps:
分别确定消息封装线程、推送对象确定线程和规则过滤线程在存储多个元信息的环形缓存区中所对应的初始序号;Determining, respectively, an initial sequence number corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread in a ring buffer area storing a plurality of meta information;
分别针对所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地从所对应的所述初始序号起按序地从所述环形缓存区中读取序号,并获取所读取的各序号对应的元信息;And respectively, for the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently read the sequence number from the ring buffer area from the corresponding initial sequence number, and obtain the read The meta information corresponding to each serial number;
通过所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理;及And the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently performing message encapsulation processing, push object determination processing, and push rule determination processing on the corresponding acquired meta information; and
根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送。Based on the push target determination result and the push rule determination result of the corresponding meta information, a message indicating the push target and conforming to the push rule is obtained and pushed.
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征、目的和优点将从说明书、附图以及权利要求书变得明显。Details of one or more embodiments of the present application are set forth in the accompanying drawings and description below. Other features, objects, and advantages of the invention will be apparent from the description and appended claims.
附图说明DRAWINGS
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only some embodiments of the present application. Other drawings may also be obtained from those of ordinary skill in the art in light of the inventive work.
图1为一个实施例中消息推送方法的应用环境图;1 is an application environment diagram of a message pushing method in an embodiment;
图2为一个实施例中计算机设备的内部结构示意图;2 is a schematic diagram showing the internal structure of a computer device in an embodiment;
图3为一个实施例中消息推送方法的流程示意图;3 is a schematic flow chart of a message pushing method in an embodiment;
图4为一个实施例中元信息处理步骤的流程示意图;4 is a schematic flow chart of a meta-information processing step in an embodiment;
图5为一个实施例中封装的消息选取步骤的流程示意图;FIG. 5 is a schematic flowchart of a message selection step of an encapsulated in an embodiment; FIG.
图6为一个实施例中消息推送装置的框图;Figure 6 is a block diagram of a message push device in an embodiment;
图7为一个实施例中消息推送模块的框图;7 is a block diagram of a message push module in an embodiment;
图8为一个实施例中元信息处理模块的框图;及 8 is a block diagram of a meta-information processing module in an embodiment; and
图9为另一个实施例中元信息处理模块的框图。9 is a block diagram of a meta information processing module in another embodiment.
具体实施方式Detailed ways
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。In order to make the objects, technical solutions, and advantages of the present application more comprehensible, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It is understood that the specific embodiments described herein are merely illustrative of the application and are not intended to be limiting.
图1为一个实施例中消息推送方法的应用环境图。参照图1,该应用环境包括通过网络连接的服务器110和终端120。其中,服务器110分别确定消息封装线程、推送对象确定线程和规则过滤线程在存储多个元信息的环形缓存区中所对应的初始序号。服务器110分别针对消息封装线程、推送对象确定线程和规则过滤线程,并发地从所对应的初始序号起按序地从环形缓存区中读取序号,并获取所读取的序号对应的元信息。服务器110通过消息封装线程、推送对象确定线程和规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理,并根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息。服务器110将得到的消息推送至终端120。FIG. 1 is an application environment diagram of a message pushing method in an embodiment. Referring to FIG. 1, the application environment includes a server 110 and a terminal 120 connected through a network. The server 110 determines the initial sequence number corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread in the ring buffer area storing the plurality of meta information. The server 110 determines the thread and the rule filtering thread for the message encapsulation thread, the push object, and the sequence number from the ring buffer from the corresponding initial sequence number, and acquires the meta information corresponding to the read sequence number. The server 110 determines the thread and the rule filtering thread through the message encapsulation thread, the push object, and concurrently performs message encapsulation processing, push object determination processing, and push rule determination processing on the corresponding acquired meta information, and determines according to the push object of the corresponding meta information. The result and the push rule judgment result obtain a message of the package that determines the push object and conforms to the push rule. The server 110 pushes the obtained message to the terminal 120.
图2为一个实施例中计算机设备的内部结构示意图。该计算机设备可以是图1中的服务器110,服务器110可以用独立的服务器或是多个物理服务器组成的服务器集群来实现。参照图2,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质可存储有操作系统和计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器实现一种消息推送方法。该处理器用于提供计算和控制能力,支撑整个计算机设备的运行。计算机设备中的内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种消息推送处理方法。计算机设备的网络接口用于连接网络进行通信,比如,将消息进行推送。2 is a schematic diagram showing the internal structure of a computer device in an embodiment. The computer device may be the server 110 in FIG. 1, and the server 110 may be implemented by a stand-alone server or a server cluster composed of a plurality of physical servers. Referring to Figure 2, the computer device includes a processor, memory, and network interface coupled by a system bus. Wherein, the memory comprises a non-volatile storage medium and an internal memory. The non-volatile storage medium of the computer device can store an operating system and computer readable instructions that, when executed by the processor, cause the processor to implement a message push method. The processor is used to provide computing and control capabilities to support the operation of the entire computer device. Computer readable instructions may be stored in the internal memory of the computer device, and when the computer readable instructions are executed by the processor, the processor may be caused to perform a message push processing method. The network interface of the computer device is used to connect to the network for communication, for example, to push a message.
本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定, 具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。It will be understood by those skilled in the art that the structure shown in FIG. 2 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation of the computer device to which the solution of the present application is applied. Particular computer equipment may include more or fewer components than those shown in the figures, or some components may be combined, or have different component arrangements.
如图3所示,在一个实施例中,提供了一种消息推送方法。本实施例主要以该方法应用于上述图2中的计算机设备来举例说明。参照图3,该缓存处理方法具体包括如下步骤:As shown in FIG. 3, in one embodiment, a message push method is provided. This embodiment is mainly illustrated by the method being applied to the computer device in FIG. 2 described above. Referring to FIG. 3, the cache processing method specifically includes the following steps:
S302,分别确定消息封装线程、推送对象确定线程和规则过滤线程在存储多个元信息的环形缓存区中所对应的初始序号。S302. Determine an initial sequence number corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread in the ring buffer area storing the plurality of meta information.
其中,消息封装进程,是用于进行消息封装的程序。推送对象,是消息要被推送至的对象。推送对象确定进程,是用于确定消息所要推送至的对象的程序。规则过滤进程,是用于判断消息推送是否符合推送规则的程序。Among them, the message encapsulation process is a program for message encapsulation. The push object is the object to which the message is to be pushed. The push object determination process is a program for determining the object to which the message is to be pushed. The rule filtering process is a program for judging whether a message push conforms to a push rule.
环形缓存区,是一种固定尺寸、首尾相接的数据结构,用于缓存数据流。该环形缓存区中包括序号,该序号用于标识环形缓存区中的缓存区域。The ring buffer is a fixed-size, end-to-end data structure used to buffer data streams. The ring buffer includes a sequence number, which is used to identify a cache area in the ring buffer.
初始序号,是在环形缓存区中进行按序读取前所对应的当前序号。其中,消息封装线程、推送对象确定线程和规则过滤线程分别具有自身在环形缓存区中的读取序号。比如,消息封装进程在环形缓存区中进行按序读取前所读取到的序号为3,则其所对应的初始序号为3,推送对象确定线程和规则过滤线程在环形缓存区中进行按序读取前所读取到的序号分别为3和4,则它们所对应的初始序号分别为3和4。可以理解,消息封装线程、推送对象确定线程和规则过滤线程所对应的初始序号可以为相同默认值,比如1。The initial sequence number is the current sequence number corresponding to the sequential read in the ring buffer area. The message encapsulation thread, the push object determination thread, and the rule filtering thread respectively have their own read sequence numbers in the ring buffer area. For example, if the sequence number read by the message encapsulation process before the sequential read in the ring buffer is 3, the initial sequence number corresponding to the message encapsulation process is 3, and the push object determination thread and the rule filtering thread are pressed in the ring buffer area. The serial numbers read before the sequential reading are 3 and 4, respectively, and their corresponding initial numbers are 3 and 4, respectively. It can be understood that the initial sequence number corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread may be the same default value, such as 1.
元信息,是需要推送的消息的基础描述信息,元信息包括待推送用户标识、推送消息获取参数或推送模板标识等信息。其中,待推送用户标识,用于唯一标识要推送的用户(即接收所推送的消息的用户)。推送消息获取参数,是用于获取要推送的消息内容的参数,通过推送消息获取参数,可以确定要获取哪些参数相应的参数值,并根据该参数及相应的参数值组成消息内容。推送模板,是预设的消息模板。The meta information is basic description information of the message to be pushed, and the meta information includes information such as a user identifier to be pushed, a push message acquisition parameter, or a push template identifier. The user identifier is to be pushed to uniquely identify the user to be pushed (ie, the user who receives the pushed message). The push message acquisition parameter is a parameter for obtaining the content of the message to be pushed. By pushing the message to obtain the parameter, the parameter value corresponding to which parameter is to be obtained may be determined, and the message content is composed according to the parameter and the corresponding parameter value. Push template is a preset message template.
可以理解,环形缓存区的各序号所对应的缓存区域中存储有元信息。It can be understood that meta information is stored in a cache area corresponding to each sequence number of the ring buffer area.
S304,针对消息封装线程、推送对象确定线程和规则过滤线程,并发地分别从所对应的初始序号起按序地从环形缓存区中读取序号,并获取所读取的各 序号对应的元信息。S304, for the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently read the sequence numbers from the ring buffer area sequentially from the corresponding initial sequence numbers, and obtain the read each Meta information corresponding to the serial number.
并发,是指将消息封装线程、推送对象确定线程以及规则过滤线程同时执行。Concurrency means that the message encapsulation thread, the push object determination thread, and the rule filtering thread are executed simultaneously.
具体地,计算机设备在通过消息封装线程,从该消息封装线程所对应的初始序号按序地从环形缓存区中读取序号,并获取所读取的各序号所对应的元信息的同时,也同时分别针对推送对象确定线程和规则过滤线程,从所对应的初始序号按序地从环形缓存区中读取序号,并获取所读取的各序号所对应的元信息。可以理解,这个三个线程所进行的处理是独立的。序号所对应的元信息,即为该序号所对应的缓存区域中存储的元信息。Specifically, the computer device reads the sequence number sequentially from the ring buffer area by using the initial sequence number corresponding to the message encapsulation thread through the message encapsulation thread, and acquires the meta information corresponding to each read sequence number, At the same time, the thread and the rule filtering thread are respectively determined for the push object, and the sequence number is sequentially read from the ring buffer area from the corresponding initial sequence number, and the meta information corresponding to each read sequence number is obtained. It can be understood that the processing performed by these three threads is independent. The meta information corresponding to the serial number is the meta information stored in the cache area corresponding to the serial number.
比如,针对消息封装线程从所对应的初始序号3开始,按序地从环形缓存区中读取序号的同时,也针对推送对象确定线程从所对应的初始序号3开始,按序地从环形缓存区中读取序号,以及同时针对规则过滤线程从所对应的初始序号4开始,按序地从环形缓存区中读取序号。以消息封装线程为例,假设从所对应的初始序号3开始、按序地从环形缓存区中读取序号4、5......N,则也会获取序号3所对应的元信息,获取序号4所对应的元信息,获取序号5所对应的元信息以及获取序号N所对应的元信息。For example, starting from the corresponding initial sequence number 3, the message encapsulation thread sequentially reads the sequence number from the ring buffer area, and also determines the thread from the corresponding initial sequence number 3 for the push object, and sequentially from the ring buffer. The sequence number is read in the zone, and at the same time, for the rule filtering thread, starting from the corresponding initial sequence number 4, the sequence number is sequentially read from the ring buffer. Taking the message encapsulation thread as an example, it is assumed that the meta information corresponding to the sequence number 3 is also obtained by sequentially reading the sequence numbers 4, 5, ... N from the ring buffer area starting from the corresponding initial sequence number 3. Obtain the meta information corresponding to the sequence number 4, obtain the meta information corresponding to the sequence number 5, and obtain the meta information corresponding to the sequence number N.
S306,通过消息封装线程、推送对象确定线程和规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理。S306: Determine a thread and a rule filtering thread by using a message encapsulation thread, a push object, and concurrently perform message encapsulation processing, push object determination processing, and push rule determination processing on the corresponding acquired meta information.
其中,推送对象,是消息要被推送至的对象。Among them, the push object is the object to which the message is to be pushed.
具体地,计算机设备可以通过消息封装线程,对通过该消息封装线程获取的元信息进行消息封装处理,得到封装的消息。同时计算机设备也会并发地通过推送对象确定线程,对通过该推送对象确定线程获取的元信息进行推送对象确定处理,且同时也会通过规则过滤线程,对通过该规则过滤线程获取的元信息进行推送规则判断。可以理解,消息封装处理、推送对象确定处理以及推送规则判断这三个处理是独立进行的。Specifically, the computer device may perform message encapsulation processing on the meta information obtained by the message encapsulation thread through the message encapsulation thread to obtain the encapsulated message. At the same time, the computer device concurrently determines the thread by pushing the object, performs the push object determination processing on the meta information obtained by the thread determining the thread, and simultaneously passes the rule filtering thread to perform the meta information acquired by the rule filtering thread. Push rule judgment. It can be understood that the three processes of message encapsulation processing, push object determination processing, and push rule judgment are performed independently.
S308,根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送。 S308: According to the push target determination result and the push rule determination result of the corresponding meta information, a message of the package that is determined to be the push target and conforms to the push rule is obtained and pushed.
具体地,计算机设备可以分别根据三个线程进行并发处理的结果,得到确定出推送对象的、且符合推送规则的封装的消息。其中,封装的消息所确定出的推送对象为该封装的消息所对应的元信息的推送对象。该封装的消息所对应的元信息,是描述该封装的消息的基础信息。所对应的元信息在被进行推送规则判断后符合条件,则说明该封装的消息符合推送规则。Specifically, the computer device can obtain, according to the result of the concurrent processing by the three threads, a message that determines the push target and conforms to the push rule. The push object determined by the encapsulated message is a push object of the meta information corresponding to the encapsulated message. The meta information corresponding to the encapsulated message is the basic information describing the encapsulated message. The corresponding meta information meets the condition after being judged by the push rule, indicating that the encapsulated message conforms to the push rule.
比如,消息封装线程获取的是序号1和2所对应的元信息,消息封装线程则对序号1、2和3中的元信息进行消息封装处理得到封装的消息M1、M2和M3,推送对象确定线程获取的是序号1、2和3所对应的元信息,推送对象确定线程则对序号1、2和3中的元信息进行推送对象确定处理,确定出相应的推送对象T1、T2和T3,规则过滤线程获取的是序号1和2所对应元信息,规则过滤线程则对序号1和2中的元信息进行推送规则判断,得到序号2中元信息符合条件、序号1中元信息不符合条件。则从中筛选确定出推送对象的、且符合推送规则的封装的消息为消息M2,因为消息M2所确定的推送对象为T1,且消息M2所对应的元信息——序号2中的元信息在被进行推送规则判断后符合条件。For example, the message encapsulation thread obtains the meta information corresponding to sequence numbers 1 and 2, and the message encapsulation thread performs message encapsulation processing on the meta information in sequence numbers 1, 2, and 3 to obtain encapsulated messages M1, M2, and M3, and the push object is determined. The thread obtains the meta information corresponding to the sequence numbers 1, 2, and 3, and the push object determination thread performs the push object determination process on the meta information in the sequence numbers 1, 2, and 3, and determines the corresponding push objects T1, T2, and T3. The rule filtering thread obtains the meta information corresponding to the sequence numbers 1 and 2, and the rule filtering thread performs the push rule judgment on the meta information in the sequence numbers 1 and 2, and the meta information in the sequence number 2 meets the condition, and the meta information in the sequence number 1 does not meet the condition. . Then, the message that is determined by the push target and conforms to the push rule is the message M2, because the push object determined by the message M2 is T1, and the meta information corresponding to the message M2, the meta information in the serial number 2 is being The conditions are met after the push rule is judged.
在一个实施例中,推送对象包括用于进行消息推送的渠道以及用于接收被推送的消息的设备。计算机设备可以按照所确定的相应的推送渠道,将得到的消息推送至所确定出的设备。In one embodiment, the push object includes a channel for message push and a device for receiving the pushed message. The computer device can push the obtained message to the determined device according to the determined corresponding push channel.
可以理解,在将消息推送后,环形缓存区中就会对应删除该消息所对应的元信息,并且当消息封装线程、推送对象确定线程和规则过滤线程都将环形缓存区中的元信息读取完毕,并进行相应处理完毕后(即消息封装线程对环形缓存区中的所有元信息进行封装处理、推送对象确定线程对环形缓存区中的所有元信息进行推送对象确定处理,以及规则过滤线程对环形缓存区中的所有元信息进行推送规则判断后),可以再存储新一批的元信息至该环形缓存区中。It can be understood that after the message is pushed, the meta-information corresponding to the message is deleted in the ring buffer, and the meta-information in the ring buffer is read when the message encapsulation thread, the push object determination thread, and the rule filtering thread. After the completion and corresponding processing is completed (that is, the message encapsulation thread encapsulates all meta information in the ring buffer area, the push object determines the thread to perform push object determination processing on all meta information in the ring buffer area, and the rule filtering thread pair After all the meta-information in the ring buffer is judged by the push rule, a new batch of meta-information can be stored in the ring buffer.
上述消息推送方法、装置、计算机设备和存储介质,将批量元信息存储在环形缓存区中,通过消息封装线程、推送对象确定线程和规则过滤线程这三个线程,并发地从环形缓存区中所对应的初始序号按序地读取序号及获取相应的元信息,并对相应获取的元信息进行对应处理,将消息封装处理、推送对象确 定以及规则过滤这三个处理进行并发处理,可以并发地进行消息生成处理,从而提高了消息生成效率,进而提高了消息推送效率。The above message pushing method, device, computer device and storage medium store the batch meta information in the ring buffer area, and the three threads of the message encapsulation thread, the push object determination thread and the rule filtering thread are concurrently transmitted from the ring buffer area. The corresponding initial sequence number sequentially reads the sequence number and obtains the corresponding meta information, and performs corresponding processing on the corresponding acquired meta information, and encapsulates the message and pushes the object. The three processes of the rule and the rule filter are concurrently processed, and the message generation process can be performed concurrently, thereby improving the message generation efficiency and improving the message push efficiency.
在一个实施例中,如图4所示,步骤S306包括(简称元信息处理步骤),具体包括以下步骤:In an embodiment, as shown in FIG. 4, step S306 includes (referred to as a meta information processing step), specifically including the following steps:
S402,通过消息封装线程,根据相应获取的元信息获取对应的消息内容并封装,得到封装的消息。S402: Obtain a corresponding message content according to the obtained meta information and encapsulate the message by using a message encapsulation thread to obtain an encapsulated message.
其中,元信息包括推送消息获取参数。推送消息获取参数,是用于获取要推送的消息内容的参数。The meta information includes a push message acquisition parameter. The push message acquisition parameter is a parameter for obtaining the content of the message to be pushed.
具体地,计算机设备可以通过消息封装线程,从相应获取的元信息中提取所包括的推送消息获取参数,并通过提取的推送消息获取参数,确定从数据库中获取与提取的推送消息获取参数相应的参数值,根据推送消息获取参数及相应的参数值生成消息内容。Specifically, the computer device may extract, by using a message encapsulation thread, the included push message acquisition parameter from the corresponding acquired meta information, and obtain, by using the extracted push message, the parameter, and determine, according to the extracted push message acquisition parameter, from the database. The parameter value generates a message content according to the push message acquisition parameter and the corresponding parameter value.
进一步地,计算机设备可以对生成的消息内容进行封装处理,得到封装的消息。Further, the computer device may perform encapsulation processing on the generated message content to obtain an encapsulated message.
S404,通过推送对象确定线程,确定与相应获取的元信息相应的推送对象。S404. Determine a thread by pushing the object, and determine a push object corresponding to the corresponding acquired meta information.
其中,步骤S404所述的相应获取的元信息,是通过推送对象确定线程获取的元信息。与元信息相应的推送对象,是要将该元信息所描述的信息推送至的对象。The corresponding acquired meta information described in step S404 is determined by the push object to determine the meta information acquired by the thread. The push object corresponding to the meta information is an object to which the information described by the meta information is to be pushed.
在一个实施例中,元信息包括待推送用户标识。本实施例中,步骤S404包括:通过所述推送对象确定线程,根据相应获取的元信息中的待推送用户标识,从数据库中查找与所述待推送用户标识对应的设备标识;获取与所述设备标识对应的操作系统种类标识;根据所述操作系统种类标识确定出相应的推送渠道;所述推送渠道和所述设备标识为确定出的推送对象。本实施例中,根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送还包括:按照相应的推送渠道,将得到的消息推送至设备标识所对应的设备。In one embodiment, the meta information includes a user identification to be pushed. In this embodiment, step S404 includes: determining, by the push object, a thread, and searching for a device identifier corresponding to the to-be-pushed user identifier from a database according to the to-be-pushed user identifier in the corresponding acquired meta information; The operating system type identifier corresponding to the device identifier; determining a corresponding pushing channel according to the operating system type identifier; the pushing channel and the device identifier are determined push objects. In this embodiment, according to the push object determination result and the push rule determination result of the corresponding meta information, obtaining a packaged message that is determined to be a push target and conforms to the push rule, and pushing further includes: according to the corresponding push channel, The message is pushed to the device corresponding to the device ID.
其中,待推送用户标识,用于唯一标识要推送的用户(即接收所推送的消息的用户)。这里所说的相应获取的元信息,是通过推送对象确定线程获取的元 信息。操作系统种类,用于表征设备所使用的是操作系统是哪一类别。操作系统种类包括安卓操作系统((Android,一种基于Linux的自由及开放源代码的操作系统)、iOS操作系统(由苹果公司开发的移动操作系统)、Windows操作系统(美国微软公司研发的一套操作系统)或Linux操作系统(一套免费使用和自由传播的类Unix操作系统)等中的至少一种类别。推送渠道包括安卓推送渠道、iOS推送渠道、Windows推送渠道或Linux推送渠道等中的至少一种。The user identifier is to be pushed to uniquely identify the user to be pushed (ie, the user who receives the pushed message). The corresponding meta information obtained here is determined by the push object to determine the element acquired by the thread. information. The type of operating system used to characterize which category the operating system is used by the device. Operating system types include Android operating system (Android, a free and open source operating system based on Linux), iOS operating system (mobile operating system developed by Apple), Windows operating system (a developed by Microsoft Corporation of the United States) At least one of the operating system) or the Linux operating system (a set of free-to-use and free-spread Unix-like operating systems), etc. Push channels include Android push channels, iOS push channels, Windows push channels, or Linux push channels. At least one of them.
具体地,数据库中预先存储了待推送用户标识和设备标识间的对应关系,根据该对应关系,计算机设备可以通过推送对象确定线程,从数据库中查找与相应获取的元信息中的待推送用户标识对应的设备标识。数据库中还预先存储了设备标识和操作系统种类标识间的对应关系,根据该对应关系,获取与查找到的设备标识所对应的操作系统种类标识。进一步地,计算机设备可以根据操作系统种类标识确定出相应的推送渠道。比如,确定出的操作系统种类标识用于唯一标识安卓操作系统,则确定出与该操作系统种类标识相应的推送渠道为安卓推送渠道。Specifically, the correspondence between the user identifier and the device identifier to be pushed is pre-stored in the database, and according to the correspondence, the computer device may determine the thread by pushing the object, and search for the to-be-pushed user identifier in the meta-information obtained from the database. Corresponding device ID. The mapping between the device identifier and the operating system type identifier is also pre-stored in the database, and the operating system type identifier corresponding to the found device identifier is obtained according to the corresponding relationship. Further, the computer device can determine a corresponding push channel according to the operating system type identifier. For example, if the determined operating system type identifier is used to uniquely identify the Android operating system, it is determined that the push channel corresponding to the operating system type identifier is an Android push channel.
S406,通过规则过滤线程,针对相应获取的元信息所对应的推送模板信息进行推送规则判断;其中,消息封装线程、推送对象确定线程和规则过滤线程为并发执行。S406: Perform a push rule determination on the push template information corresponding to the corresponding acquired meta information by using a rule filtering thread, where the message encapsulation thread, the push object determination thread, and the rule filtering thread are concurrently executed.
其中,步骤S406所述的相应获取的元信息,是通过规则过滤线程获取的元信息。本实施例中,元信息中包括推送模板标识。The corresponding acquired meta information described in step S406 is meta information obtained by the rule filtering thread. In this embodiment, the meta information includes a push template identifier.
具体地,计算机设备可以通过规则过滤线程,从相应获取的元信息中提取推送模板标识,根据提取的推送模板标识从数据库中获取对应的推送模板信息。进一步地,计算机设备预先设置了推送判断规则,计算机设备可以根据预设的推送判断规则对获取的推送模板信息进行推送规则判断,以判断推送模板信息是否符合推送规则。其中,推送模板,是预设的消息模板,包括消息的内容格式模板。Specifically, the computer device may extract the push template identifier from the corresponding acquired meta information through the rule filtering thread, and obtain the corresponding push template information from the database according to the extracted push template identifier. Further, the computer device presets the push determination rule, and the computer device may perform the push rule determination on the obtained push template information according to the preset push determination rule to determine whether the push template information meets the push rule. The push template is a preset message template, including a content format template of the message.
上述实施例中,通过消息封装线程、推送对象确定线程和规则过滤线程这三个线程,并发地对相应获取的元信息分别进行消息封装处理,推送对象确定处理以及推送规则判断处理,使得生成符合条件的消息的效率更高,进而提高 了消息推送效率。In the above embodiment, the three threads of the message encapsulation thread, the push object determination thread, and the rule filtering thread concurrently perform message encapsulation processing on the corresponding acquired meta information, push object determination processing, and push rule judgment processing, so as to generate a conformity. Conditional messages are more efficient and thus improve The message push efficiency.
在一个实施例中,步骤S308包括:获取从开始按序读取序号起至达到预设时长时,得到的封装的消息;从得到的封装的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。In an embodiment, step S308 includes: obtaining a packaged message obtained from the start of sequentially reading the serial number until the preset duration is reached; and selecting, from the obtained encapsulated message, the corresponding meta information is determined to be pushed. The push template information of the object corresponding to the corresponding meta information conforms to the push rule message and is pushed.
其中,所对应的元信息是与封装的消息对应的元信息,即描述该消息的基础信息的元信息。所对应的元信息被确定出的推送对象即为封装的消息所确定出的推送对象。与所对应的元信息对应的推送模板信息符合推送规则,则说明该封装的消息符合推送规则。The corresponding meta information is meta information corresponding to the encapsulated message, that is, meta information describing the basic information of the message. The push object to which the corresponding meta information is determined is the push object determined by the encapsulated message. If the push template information corresponding to the corresponding meta information conforms to the push rule, the encapsulated message conforms to the push rule.
具体地,计算机设备可以从确定的从开始按序读取序号起至达到预设时长时,通过消息封装线程进行封装处理得到的所有封装的消息,并判断所有封装的消息,是否满足所对应的元信息被确定出推送对象、且与所对应的元信息对应的推送模板信息符合推送规则这两个条件,以从所有封装的消息中,选取满足所对应的元信息被确定出推送对象、且与所对应的元信息对应的推送模板信息符合推送规则这两个条件的消息。Specifically, the computer device can perform all the encapsulated messages obtained by the encapsulation process by using the message encapsulation thread from the start of sequentially reading the sequence number to the preset duration, and determine whether all the encapsulated messages satisfy the corresponding The meta-information is determined as the push object, and the push template information corresponding to the corresponding meta-information meets the two conditions of the push rule, so that the push object is determined from all the encapsulated messages, and the corresponding meta-information is determined, and The push template information corresponding to the corresponding meta information conforms to the two conditions of the push rule.
计算机设备也可以先从确定的从开始按序读取序号起至达到预设时长时,通过消息封装线程进行封装处理得到的所有封装的消息中,选取所对应的元信息已经进行了推送规则判断和推送对象确定处理的封装的消息。计算机设备可以针对选取的消息,判断所对应的元信息的推送对象是否已经确定出以及与所对应的元信息对应的推送模板信息是否符合推送规则,从选取的消息中,选取满足所对应的元信息被确定出推送对象、且与所对应的元信息对应的推送模板信息符合推送规则这两个条件的消息。The computer device may also firstly determine the meta-information of the selected meta-information from all the encapsulated messages obtained by the message encapsulation thread from the start of the sequential reading of the sequence number until the preset duration is reached. And the push object determines the processed encapsulated message. The computer device may determine, according to the selected message, whether the push object of the corresponding meta information has been determined and whether the push template information corresponding to the corresponding meta information conforms to the push rule, and select, from the selected message, the corresponding element. The information is determined as a push target, and the push template information corresponding to the corresponding meta information conforms to the two conditions of the push rule.
可以理解,对于在达到预设时长时,若所对应的元信息未被进行推送对象确定处理或者所对应的推送模板信息未被进行推送规则判断,则该封装的消息就不存在于确定的消息中,那么在消息封装线程、推送对象确定线程和规则过滤线程下一次开始按序读取序号起至预设时长时,如果该封装的消息所对应的序号存在于下一次所确定的最小初始序号至选取的目标最大序号中,则可以获取该封装的消息,并判断该封装的消息所对应的推送模板信息是否符合推送规 则。It can be understood that, when the preset time length is reached, if the corresponding meta information is not subjected to the push object determination process or the corresponding push template information is not determined by the push rule, the encapsulated message does not exist in the determined message. Then, when the message encapsulation thread, the push object determination thread, and the rule filtering thread start to sequentially read the sequence number to the preset duration, if the sequence number corresponding to the encapsulated message exists in the next smallest initial sequence number determined To the selected target maximum sequence number, the encapsulated message may be obtained, and it is determined whether the push template information corresponding to the encapsulated message conforms to the push rule. then.
上述实施例中,通过预设时长分批次的确定要推送的消息,避免一次性处理量过大而影响处理效率。In the above embodiment, the message to be pushed is determined by the preset duration and the batch, so that the one-time processing amount is too large and the processing efficiency is affected.
如图5所示,在一个实施例中,从得到的封装的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送(简称封装的消息选取步骤),具体包括以下步骤:As shown in FIG. 5, in an embodiment, from the obtained encapsulated message, the message that the corresponding meta information is determined to be the push target and the push template information corresponding to the corresponding meta information conforms to the push rule is selected. And push (referred to as the encapsulated message selection step), specifically including the following steps:
S502,确定从开始按序读取序号起至达到预设时长时,消息封装线程读取到的最大序号、推送对象确定线程读取到的最大序号,以及规则过滤线程读取到的最大序号。S502: Determine a maximum sequence number read by the message encapsulation thread, a maximum sequence number read by the push object determination thread, and a maximum sequence number read by the rule filtering thread when the sequence number is read from the beginning to the preset duration.
其中,线程读取到的最大序号,是在从开始按序读取序号起至预设时长内,该线程所读取的序号中最大的序号。The maximum serial number read by the thread is the largest serial number among the serial numbers read by the thread from the beginning of the sequential reading of the serial number to the preset duration.
具体地,计算机设备可以分别确定消息封装线程、推送对象确定线程以及规则过滤线程从环形缓存区中所对应的初始序号起按序地读取序号,在达到预设时长时,所读取到的最大序号。Specifically, the computer device may determine, respectively, that the message encapsulation thread, the push object determination thread, and the rule filtering thread sequentially read the sequence number from the initial sequence number corresponding to the ring buffer area, and when the preset duration is reached, the read sequence is read. Maximum serial number.
S504,从确定的各个最大序号中取最小值,得到目标最大序号。S504. Take a minimum value from each of the determined maximum serial numbers to obtain a target maximum serial number.
其中,目标最大序号,是指对多个最大序号取最小值所得到的序号。The target maximum serial number refers to the sequence number obtained by taking the minimum value of the plurality of largest serial numbers.
具体地,计算机设备可以消息封装线程读取到的最大序号、推送对象确定线程读取到的最大序号,以及规则过滤线程读取到的最大序号中选取最小值,得到目标最大序号。Specifically, the computer device may select a minimum value from the maximum sequence number read by the message encapsulation thread, the maximum sequence number read by the push object determination thread, and the maximum sequence number read by the rule filtering thread, to obtain the target maximum sequence number.
比如,消息封装线程所对应的初始序号为3,开始按序地读取序号,达到预设时长时,读取到的序号为3、4、5和6,则达到预设时长时,消息封装线程所读取到的最大序号为6。推送对象确定线程所对应的初始序号为4,开始按序地读取序号,达到预设时长时,读取到的序号为4、5、6、7和8,则达到预设时长时,推送对象确定线程所读取到的最大序号为8。规则过滤线程所对应的初始序号为3,开始按序地读取序号,达到预设时长时,读取到的序号为3、4和5,则达到预设时长时,规则过滤线程所读取到的最大序号为5。进一步地,计算机设备可以从消息封装线程所读取到的最大序号6、推送对象确定线程所读取到的最大序号8,以及规则过滤线程所读取到的最大序号5中选取最小值,得到目标 最大序号为5。For example, the initial sequence number corresponding to the message encapsulation thread is 3, and the sequence number is sequentially read. When the preset duration is reached, the sequence numbers read are 3, 4, 5, and 6, and the message encapsulation is reached when the preset duration is reached. The maximum sequence number read by the thread is 6. The push object determines that the initial sequence number corresponding to the thread is 4, and starts to sequentially read the sequence number. When the preset duration is reached, the read sequence numbers are 4, 5, 6, 7, and 8, and when the preset duration is reached, the push is performed. The object determines that the maximum sequence number read by the thread is 8. The initial sequence number corresponding to the rule filtering thread is 3, and the sequence number is read sequentially. When the preset duration is reached, the sequence numbers read are 3, 4, and 5. When the preset duration is reached, the rule filtering thread reads The maximum number to arrive is 5. Further, the computer device may select the minimum value from the maximum sequence number 6 read by the message encapsulation thread, the maximum sequence number 8 read by the push object determination thread, and the maximum sequence number 5 read by the rule filtering thread. aims The maximum serial number is 5.
S506,从消息封装线程、推送对象确定线程和规则过滤线程分别所对应的初始序号中选取最小值,得到最小初始序号。S506. Select a minimum value from the initial sequence numbers corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread respectively, to obtain a minimum initial sequence number.
同样结合步骤S502中的例子,从消息封装线程所对应的初始序号3、推送对象确定线程所对应的初始序号4,以及规则过滤线程所对应的初始序号3中选取最小值,得到最小初始序号为3。Similarly, in combination with the example in step S502, the minimum initial number is obtained from the initial sequence number 3 corresponding to the message encapsulation thread, the initial sequence number 4 corresponding to the push object determination thread, and the initial sequence number 3 corresponding to the rule filtering thread. 3.
S508,从得到的封装的消息中,选取由最小初始序号至目标最大序号中的各个序号所对应的封装的消息。S508. Select, from the obtained encapsulated message, a packaged message corresponding to each sequence number in the minimum initial sequence number to the target maximum sequence number.
其中,序号所对应的封装的消息,是指对该序号中的元信息进行封装处理得到的封装的消息。The encapsulated message corresponding to the sequence number refers to the encapsulated message obtained by performing the encapsulation process on the meta information in the sequence number.
同样结合步骤S502和S504中的例子,最小初始序号3至目标最大序号5中的各个序号分别为序号3、4和5,则计算机设备可以分别获取序号3、4和5所对应的封装的信息M3、M4和M5,即获取对序号3、4和5中的元信息封装处理得到的信息M3、M4和M5。Similarly, in combination with the examples in steps S502 and S504, each of the minimum initial number 3 to the target maximum number 5 is numbered 3, 4, and 5, respectively, and the computer device can obtain the package information corresponding to the serial numbers 3, 4, and 5, respectively. M3, M4, and M5, that is, information M3, M4, and M5 obtained by encapsulating the meta information in the sequence numbers 3, 4, and 5 are acquired.
S510,从选取的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。S510. Select, from the selected message, the corresponding meta-information, and the push template information corresponding to the corresponding meta-information is matched with the push rule message and pushed.
可以理解,通过推送对象确定线程对相应获取的元信息确定相应的推送对象时,可能存在确定出了推送对象和无法确定出推送对象的两种情况,所以,步骤S508中选取的封装的消息中可能存在所对应的元信息的推送对象未确定出的消息。同样地,通过规则过滤线程对相应获取的元信息所对应的推送模板信息进行推送规则判断,可能得到符合推送规则和不符合推送规则两种情况。所以,步骤S508中选取的封装的消息中可能存在不符合推送规则的消息。It can be understood that, when the determining object determines that the corresponding push object is determined by the push object, there may be two cases in which the push object is determined and the push object cannot be determined. Therefore, the encapsulated message selected in step S508 is used. There may be a message that the corresponding push object of the meta information is not determined. Similarly, the rule filtering thread performs the push rule judgment on the push template information corresponding to the corresponding acquired meta information, and may obtain two cases of conforming to the push rule and not conforming to the push rule. Therefore, there may be a message in the encapsulated message selected in step S508 that does not comply with the push rule.
所以,计算机设备可以从获取的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。比如,同样结合步骤S504~S508中的例子,计算机设备分别获取序号3、4和5所对应的封装的信息M3、M4和M5,规则过滤线程对序号3、4和5中的元信息所对应的推送模板信息都进行了推送规则判断,得到序号3中的元信息所对应的推送模板信息不符合推送规则,序号4和5中的元信息所对应的推送 模板信息在进行推送规则判断后符合推送规则,推送对象确定线程对序号3、4和5中的元信息分别确定出了推送对象,则最终会选取信息M4和M5。Therefore, the computer device may select, from the obtained message, the corresponding meta information to be determined, and the push template information corresponding to the corresponding meta information conforms to the push rule message and push. For example, in combination with the examples in steps S504-S508, the computer device respectively obtains encapsulated information M3, M4, and M5 corresponding to the serial numbers 3, 4, and 5, and the rule filtering thread corresponds to the meta information in the serial numbers 3, 4, and 5. The push template information is judged by the push rule, and the push template information corresponding to the meta information in the sequence number 3 does not conform to the push rule, and the push information corresponding to the meta information in the numbers 4 and 5 is pushed. The template information conforms to the push rule after the push rule is judged, and the push object determination thread determines the push object for the meta information in the sequence numbers 3, 4, and 5, respectively, and finally selects the information M4 and M5.
可以理解,对于在达到预设时长时,所对应的元信息未被进行推送对象确定处理或者所对应的推送模板信息未被进行推送规则判断,则该封装的消息就不存在于步骤S508中获取的消息中在消息封装线程、推送对象确定线程和规则过滤线程下一次开始按序读取序号起至预设时长时,如果该封装的消息所对应的序号存在于下一次所确定的最小初始序号至选取的目标最大序号中,则可以获取该封装的消息,并判断该封装的消息所对应的推送模板信息是否符合推送规则。It can be understood that, when the preset meta-information is not subjected to the push object determination process or the corresponding push template information is not determined by the push rule when the preset duration is reached, the encapsulated message does not exist in step S508. In the message, when the message encapsulation thread, the push object determination thread, and the rule filtering thread start to sequentially read the sequence number to the preset duration, if the sequence number corresponding to the encapsulated message exists in the next smallest initial sequence number. To the selected target maximum sequence number, the encapsulated message may be obtained, and it is determined whether the push template information corresponding to the encapsulated message conforms to the push rule.
比如,结合步骤S504~S508中的例子,封装的消息M6所对应的推送模板信息未被进行推送规则判断,则M6就不存在步骤S506获取的消息中,那么在消息封装线程、推送对象确定线程和规则过滤线程下一次开始按序读取序号起达到预设时长时,所确定的最小初始序号至选取的目标最大序号为6~8,则消息M6所对应的序号6存在于下一次所确定的最小初始序号至选取的目标最大序号6~8中,则可以获取该消息M6,并判断该消息M6所对应的推送模板信息是否符合推送规则。For example, in combination with the example in steps S504-S508, the push template information corresponding to the encapsulated message M6 is not determined by the push rule, then the M6 does not exist in the message acquired in step S506, then the message encapsulation thread and the push object determine the thread. When the rule filtering thread starts to read the sequence number sequentially and reaches the preset duration, the determined minimum initial sequence number to the selected target maximum sequence number is 6-8, and the sequence number 6 corresponding to the message M6 exists in the next determination. The minimum initial sequence number to the selected target maximum sequence number 6-8 can obtain the message M6 and determine whether the push template information corresponding to the message M6 meets the push rule.
上述实施例中,先筛选出三个线程都读取并处理过的序号,然后将筛选出的序号所对应的封装的消息进行推送对象是否确定的判断以及是否满足推送规则的判断,相较于将所有的封装的信息都进行推送对象是否确定的判断以及是否满足推送规则的判断而言,大大提高了效率。In the above embodiment, the sequence numbers read and processed by the three threads are first selected, and then the encapsulated message corresponding to the selected sequence number is judged whether the push object is determined and whether the push rule is satisfied or not. The efficiency is greatly improved in that all the encapsulated information is judged whether or not the push object is determined and whether the push rule is satisfied.
在一个实施例中,步骤S402包括:通过消息封装线程,根据相应获取的元信息中的推送消息获取参数,获取对应的消息内容;根据相应获取的元信息中的推送模板标识,获取对应的推送模板信息;将消息内容代入推送模板信息中进行封装处理,得到封装的消息。In an embodiment, the step S402 includes: obtaining, by the message encapsulation thread, the corresponding message content according to the push message in the corresponding acquired meta information, and acquiring the corresponding push content according to the push template identifier in the corresponding acquired meta information. Template information; the message content is substituted into the push template information for encapsulation processing, and the encapsulated message is obtained.
其中,元信息包括推送消息获取参数和推送模板标识。推送消息获取参数,是用于获取要推送的消息内容的参数。The meta information includes a push message acquisition parameter and a push template identifier. The push message acquisition parameter is a parameter for obtaining the content of the message to be pushed.
具体地,计算机设备可以通过消息封装线程,从相应获取的元信息中提取所包括的推送消息获取参数和推送模板标识,并通过提取的推送消息获取参数, 确定从数据库中获取与提取的推送消息获取参数相应的参数值,根据推送消息获取参数及相应的参数值生成消息内容。计算机设备中预先存储了推送模板标识和推送模板信息之间的对应关系,根据该对应关系,可以获取与提取的推送模板标识对应的推送模板信息。进一步地,计算机设备可以将获取的消息内容代入至推送模板信息中进行封装处理,生成封装的消息。Specifically, the computer device may extract, by using the message encapsulation thread, the included push message acquisition parameter and the push template identifier from the corresponding acquired meta information, and obtain the parameter by using the extracted push message. Determining to obtain a parameter value corresponding to the extracted push message acquisition parameter from the database, and generating a message content according to the push message acquisition parameter and the corresponding parameter value. The correspondence between the push template identifier and the push template information is pre-stored in the computer device, and according to the correspondence, the push template information corresponding to the extracted push template identifier can be obtained. Further, the computer device may substitute the acquired message content into the push template information for encapsulation processing to generate an encapsulated message.
上述实施例中,仅以元信息的方式存储至环形缓存区,通过缓存的元信息获取消息内容,并获取相应推送模板信息,从而封装得到消息,大大提高了环形缓存区的存储量,提高了存储资源的利用率,同时也不需要总是往环形缓存区中添加或更新元信息,进而提高了消息推送效率。In the above embodiment, only the meta information is stored in the ring buffer area, the content of the message is obtained through the cached meta information, and the corresponding push template information is obtained, thereby encapsulating the message, thereby greatly improving the storage capacity of the ring buffer area and improving the storage amount. The utilization of storage resources does not need to always add or update meta information to the ring buffer, thereby improving the efficiency of message push.
在一个实施例中,根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送还包括:通过路由逻辑,将得到的消息路由至确定出的推送渠道所对应的环形缓存区并缓存;根据预设周期从推送渠道所对应的环形缓存区中提取缓存的消息;将提取的消息推送至设备标识所对应的设备。In an embodiment, according to the push object determination result and the push rule determination result of the corresponding meta information, the encapsulated message that is determined to be the push object and conforms to the push rule is obtained, and the push further includes: obtaining the obtained by routing logic The message is routed to the ring buffer corresponding to the determined push channel and cached; the cached message is extracted from the ring buffer corresponding to the push channel according to the preset period; and the extracted message is pushed to the device corresponding to the device identifier.
其中,路由逻辑,是指用于实现路由功能的程序或进程。路由,是指把信息从源穿过网络传递到目的地。The routing logic refers to a program or process used to implement the routing function. Routing refers to passing information from a source through a network to a destination.
具体地,计算机设备针对不同的推送渠道分别设置了对应的环形缓存区。计算机设备可以通过路由逻辑,以及根据确定出的推送渠道,将得到的消息路由至该推送渠道所对应的环形缓存区,并在该环形缓存区中将该消息进行缓存。Specifically, the computer device separately sets a corresponding ring buffer area for different push channels. The computer device can route the obtained message to the ring buffer corresponding to the push channel according to the determined routing channel, and cache the message in the ring buffer.
进一步地,计算机设备可以按照预设周期,从推送渠道所对应的环形缓存区中提取缓存的消息,并将提取的消息推送至设备标识所对应的设备。Further, the computer device may extract the cached message from the ring buffer corresponding to the push channel according to the preset period, and push the extracted message to the device corresponding to the device identifier.
上述实施例中,对不同的推送渠道设置环形缓存区以存储生成的消息,并以预设周期从该环形缓存区中获取存储的消息进行推送,避免了频繁的消息推送造成的高频次的接口调用,提高了机器性能。In the foregoing embodiment, a ring buffer area is set for different push channels to store the generated message, and the stored message is obtained from the ring buffer area by a preset period to be pushed, thereby avoiding high frequency times caused by frequent message push. Interface calls improve machine performance.
如图6所示,在一个实施例中,提供了一种消息推送装置600,该装置600包括:序号确定模块602、序号读取模块604、元信息处理模块606以及消息推送模块608,其中:As shown in FIG. 6, in an embodiment, a message pushing device 600 is provided. The device 600 includes a sequence number determining module 602, a sequence number reading module 604, a meta information processing module 606, and a message pushing module 608, where:
序号确定模块602,用于分别确定消息封装线程、推送对象确定线程和规则 过滤线程在存储多个元信息的环形缓存区中所对应的初始序号。The sequence number determining module 602 is configured to respectively determine a message encapsulation thread, a push object determination thread, and a rule The filtering sequence is an initial sequence number corresponding to a ring buffer that stores a plurality of meta information.
序号读取模块604,用于针对消息封装线程、推送对象确定线程和规则过滤线程,并发地分别从所对应的初始序号起按序地从环形缓存区中读取序号,并获取所读取的各序号对应的元信息。The sequence number reading module 604 is configured to determine a thread and a rule filtering thread for the message encapsulation thread, the push object, and sequentially sequentially read the sequence number from the ring buffer area from the corresponding initial sequence number, and obtain the read sequence. Meta information corresponding to each serial number.
元信息处理模块606,用于通过消息封装线程、推送对象确定线程和规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理。The meta information processing module 606 is configured to determine a thread and a rule filtering thread by using a message encapsulation thread, a push object, and concurrently perform message encapsulation processing, push object determination processing, and push rule determination processing on the corresponding acquired meta information.
消息推送模块608,用于根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送。The message pushing module 608 is configured to obtain, according to the push object determination result and the push rule determination result of the corresponding meta information, a packaged message that is determined to be a push target and conforms to the push rule, and is pushed.
在一个实施例中,元信息处理模块606还用于通过消息封装线程,根据相应获取的元信息获取对应的消息内容并封装,得到封装的消息;通过推送对象确定线程,确定与相应获取的元信息相应的推送对象;通过规则过滤线程,针对相应获取的元信息所对应的推送模板信息进行推送规则判断;其中,消息封装线程、推送对象确定线程和规则过滤线程为并发执行。In one embodiment, the meta-information processing module 606 is further configured to: obtain, by the message encapsulation thread, the corresponding message content according to the obtained meta-information and encapsulate the encapsulation message, obtain the encapsulated message, determine the thread by pushing the object, and determine the corresponding acquired element. Corresponding push object; the rule filtering thread performs push rule determination on the push template information corresponding to the corresponding acquired meta information; wherein the message encapsulation thread, the push object determination thread, and the rule filtering thread are concurrently executed.
在一个实施例中,消息推送模块608还用于获取从开始按序读取序号起至达到预设时长时,得到的封装的消息;从得到的封装的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。In an embodiment, the message pushing module 608 is further configured to obtain a packaged message obtained when the serial number is read sequentially until the preset duration is reached; and the obtained meta information is selected from the obtained encapsulated message. The push template information corresponding to the push target and corresponding to the corresponding meta information is determined to be in accordance with the push rule message and pushed.
如图7所示,在一个实施例中,消息推送模块608包括:As shown in FIG. 7, in one embodiment, the message pushing module 608 includes:
最大序号确定模块608a,用于确定从开始按序读取序号起至达到预设时长时,消息封装线程、推送对象确定线程和规则过滤线程所分别读取到的最大序号。The maximum sequence number determining module 608a is configured to determine a maximum sequence number respectively read by the message encapsulation thread, the push object determining thread, and the rule filtering thread from the start of sequentially reading the sequence number to the preset duration.
目标最大序号确定模块608b,用于从确定的各个最大序号中取最小值,得到目标最大序号。The target maximum sequence number determining module 608b is configured to take a minimum value from each of the determined maximum sequence numbers to obtain a target maximum sequence number.
最小初始序号确定模块608c,用于从消息封装线程、推送对象确定线程和规则过滤线程分别所对应的初始序号中选取最小值,得到最小初始序号。The minimum initial sequence number determining module 608c is configured to select a minimum value from the initial sequence numbers corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread respectively to obtain a minimum initial sequence number.
消息选取模块608d,用于从得到的封装的消息中,选取由最小初始序号至目标最大序号中的各个序号所对应的消息;从选取的消息中,选取所对应的元 信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。The message selection module 608d is configured to select, from the obtained encapsulated message, a message corresponding to each sequence number in the minimum initial sequence number to the target maximum sequence number; and select a corresponding element from the selected message. The information is determined to be the push target, and the push template information corresponding to the corresponding meta information conforms to the push rule message and is pushed.
如图8所示,在一个实施例中,元信息处理模块606包括:As shown in FIG. 8, in one embodiment, the meta-information processing module 606 includes:
消息内容获取模块606a,用于通过消息封装线程,根据相应获取的元信息中的推送消息获取参数,获取对应的消息内容。The message content obtaining module 606a is configured to obtain a corresponding message content by using a message encapsulation thread to acquire a parameter according to a push message in the corresponding acquired meta information.
推送模板获取模块606b,用于根据相应获取的元信息中的推送模板标识,获取对应的推送模板信息。The push template obtaining module 606b is configured to obtain corresponding push template information according to the push template identifier in the corresponding acquired meta information.
消息封装模块606c,用于将消息内容代入推送模板信息中进行封装处理,得到封装的消息。The message encapsulating module 606c is configured to substitute the message content into the push template information for encapsulation processing to obtain the encapsulated message.
如图9所示,在一个实施例中,元信息处理模块606还包括:As shown in FIG. 9, in one embodiment, the meta-information processing module 606 further includes:
设备标识获取模块606d,用于通过推送对象确定线程,根据相应获取的元信息中的待推送用户标识,从数据库中查找与待推送用户标识对应的设备标识。The device identifier obtaining module 606d is configured to determine a thread by using a push object, and search for a device identifier corresponding to the user identifier to be pushed from the database according to the to-be-pushed user identifier in the corresponding acquired meta information.
操作系统种类标识获取模块606e,用于获取与设备标识对应的操作系统种类标识。The operating system type identifier obtaining module 606e is configured to obtain an operating system type identifier corresponding to the device identifier.
推送渠道确定模块606f,用于根据操作系统种类标识确定出相应的推送渠道;推送渠道和设备标识所对应的设备为确定出的推送对象。The push channel determining module 606f is configured to determine a corresponding push channel according to the operating system type identifier; the device corresponding to the push channel and the device identifier is the determined push object.
在一个实施例中,消息推送模块608还用于通过路由逻辑,将得到的消息路由至确定出的推送渠道所对应的环形缓存区并缓存;根据预设周期从推送渠道所对应的环形缓存区中提取缓存的消息;将提取的消息推送至设备标识所对应的设备。In an embodiment, the message pushing module 608 is further configured to: route the obtained message to the determined ring buffer corresponding to the push channel by using routing logic, and cache the ring buffer corresponding to the push channel according to the preset period. Extract the cached message; push the extracted message to the device corresponding to the device identifier.
在一个实施例中,本申请提供的消息推送装置可以实现为一种计算机程序的形式,该计算机程序可在如图2所示的计算机设备上运行,所述计算机设备的非易失性存储介质可存储组成该消息推送装置的各个程序模块,比如,图6所示的序号确定模块602、序号读取模块604、元信息处理模块606以及消息推送模块608。各个程序模块中包括计算机可读指令,所述计算机可读指令用于使所述计算机设备执行本说明书中描述的本申请各个实施例的消息推送方法中的步骤,例如,计算机设备可以通过如图6所示的消息推送装置600中的序号确定模块602确定消息封装线程、推送对象确定线程和规则过滤线程在存储多个 元信息的环形缓存区中所对应的初始序号,并通过序号读取模块604针对消息封装线程、推送对象确定线程和规则过滤线程,并发地分别从所对应的初始序号起按序地从环形缓存区中读取序号,并获取所读取的各序号对应的元信息。计算机设备可以通过元信息处理模块606通过消息封装线程、推送对象确定线程和规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理。计算机设备可以通过消息推送模块608根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送。In one embodiment, the message push device provided by the present application can be implemented in the form of a computer program that can be run on a computer device as shown in FIG. 2, a non-volatile storage medium of the computer device Each program module constituting the message pushing device can be stored, for example, the sequence number determining module 602, the sequence number reading module 604, the meta information processing module 606, and the message pushing module 608 shown in FIG. Each of the program modules includes computer readable instructions for causing the computer device to perform the steps in the message push method of various embodiments of the present application described in this specification. For example, the computer device may The sequence number determining module 602 in the message pushing device 600 shown in FIG. 6 determines that the message encapsulation thread, the push object determination thread, and the rule filtering thread are stored in multiple The initial sequence number corresponding to the ring buffer of the meta information, and the sequence encapsulation thread 604, the push object determination thread and the rule filtering thread are sequentially used by the sequence number reading module 604, and concurrently from the corresponding initial sequence number, respectively, from the ring cache The serial number is read in the area, and the meta information corresponding to each of the read serial numbers is obtained. The computer device can determine the thread and the rule filtering thread through the message encapsulation thread, the push object, and the message encapsulation processing, the push object determination process, and the push rule determination process by the meta-information processing module 606. The computer device can obtain, by the message pushing module 608, the push target determination result and the push rule determination result according to the corresponding meta information, and obtain a packaged message that determines the push target and conforms to the push rule and pushes the message.
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行如下步骤:分别确定消息封装线程、推送对象确定线程和规则过滤线程在存储多个元信息的环形缓存区中所对应的初始序号;针对消息封装线程、推送对象确定线程和规则过滤线程,并发地分别从所对应的初始序号起按序地从环形缓存区中读取序号,并获取所读取的各序号对应的元信息;通过消息封装线程、推送对象确定线程和规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理;根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送。In one embodiment, a computer apparatus is provided, comprising a memory and a processor, the memory storing computer readable instructions, when the computer readable instructions are executed by the processor, causing the processor to perform the steps of: respectively determining a message encapsulation thread The push object determines the initial sequence number corresponding to the thread and the rule filtering thread in the ring buffer area storing the plurality of meta information; and determines the thread and the rule filtering thread for the message encapsulation thread, the push object, and concurrently from the corresponding initial sequence number respectively The sequence number is sequentially read from the ring buffer area, and the meta information corresponding to each read sequence number is obtained; the thread is encapsulated by the message encapsulation thread, the push object is determined, and the rule filtering thread is concurrently, and the message information of the corresponding acquired meta information is concurrently encapsulated. The processing, the push object determination processing, and the push rule determination processing are performed, and based on the push target determination result and the push rule determination result of the corresponding meta information, a message indicating the push target and conforming to the push rule is obtained and pushed.
在一个实施例中,通过消息封装线程、推送对象确定线程和规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理包括:通过消息封装线程,根据相应获取的元信息获取对应的消息内容并封装,得到封装的消息;通过推送对象确定线程,确定与相应获取的元信息相应的推送对象;通过规则过滤线程,针对相应获取的元信息所对应的推送模板信息进行推送规则判断;其中,消息封装线程、推送对象确定线程和规则过滤线程为并发执行。In one embodiment, the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently performing message encapsulation processing, push object determination processing, and push rule determination processing on the corresponding acquired meta information include: encapsulating the thread by the message, according to The corresponding meta-information obtains the corresponding message content and encapsulates the packet, and obtains the encapsulated message; the thread is determined by the push object, and the push object corresponding to the corresponding acquired meta-information is determined; and the rule filtering thread is used to correspond to the corresponding acquired meta-information. Pushing the template information to perform push rule determination; wherein the message encapsulation thread, the push object determination thread, and the rule filtering thread are concurrently executed.
在一个实施例中,根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送包括:获取从开始按序读取序号起至达到预设时长时,得到的封装的消息;从得到的 封装的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。In an embodiment, according to the push object determination result and the push rule determination result of the corresponding meta information, the encapsulated message that determines the push object and conforms to the push rule is obtained and pushed: the acquisition sequentially reads the sequence number from the beginning Get the encapsulated message when it reaches the preset duration; In the encapsulated message, the corresponding meta-information is selected and the push template information corresponding to the corresponding meta-information is matched with the push rule message and pushed.
在一个实施例中,从所述得到的封装的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送包括:确定从开始按序读取序号起至达到预设时长时,消息封装线程、推送对象确定线程和规则过滤线程所分别读取到的最大序号;从确定的各个最大序号中取最小值,得到目标最大序号;从消息封装线程、推送对象确定线程和规则过滤线程分别所对应的初始序号中选取最小值,得到最小初始序号;从得到的封装的消息中,选取由最小初始序号至目标最大序号中的各个序号所对应的消息;从选取的所述消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。In one embodiment, from the obtained encapsulated message, the message that the corresponding meta information is determined to be the push object and the push template information corresponding to the corresponding meta information conforms to the push rule is selected and pushed: Determining the maximum sequence number read by the message encapsulation thread, the push object determination thread, and the rule filtering thread from the start of sequentially reading the sequence number until the preset duration is reached; taking the minimum value from each determined maximum sequence number to obtain the target The maximum sequence number is selected from the initial sequence number corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread, to obtain a minimum initial sequence number; from the obtained encapsulated message, the minimum initial sequence number to the target maximum sequence number is selected. The message corresponding to each sequence number is selected from the selected message, and the corresponding meta-information is selected and the push template information corresponding to the corresponding meta-information is matched with the push rule message and pushed.
在一个实施例中,通过消息封装线程,根据相应获取的元信息获取对应的消息内容并封装,得到封装的消息包括:通过消息封装线程,根据相应获取的元信息中的推送消息获取参数,获取对应的消息内容;根据相应获取的元信息中的推送模板标识,获取对应的推送模板信息;将消息内容代入推送模板信息中进行封装处理,得到封装的消息。In an embodiment, the message encapsulation thread obtains the corresponding message content according to the obtained meta information and encapsulates the packet, and the encapsulated message includes: obtaining, by the message encapsulation thread, the parameter according to the push message in the corresponding acquired meta information, and acquiring Corresponding message content; obtaining the corresponding push template information according to the push template identifier in the corresponding acquired meta information; and substituting the message content into the push template information for encapsulation processing to obtain the encapsulated message.
在一个实施例中,通过推送对象确定线程,确定与相应获取的元信息相应的推送对象包括:通过推送对象确定线程,根据相应获取的元信息中的待推送用户标识,从数据库中查找与待推送用户标识对应的设备标识;获取与设备标识对应的操作系统种类标识;根据操作系统种类标识确定出相应的推送渠道;推送渠道和设备标识所对应的设备为确定出的推送对象。In an embodiment, the determining object by the push object determines that the push object corresponding to the corresponding acquired meta information comprises: determining the thread by pushing the object, and searching and waiting from the database according to the user identifier to be pushed in the corresponding acquired meta information. The device identifier corresponding to the user identifier is obtained; the operating system type identifier corresponding to the device identifier is obtained; and the corresponding push channel is determined according to the operating system type identifier; the device corresponding to the push channel and the device identifier is the determined push object.
在一个实施例中,根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送还包括:通过路由逻辑,将得到的消息路由至确定出的推送渠道所对应的环形缓存区并缓存;根据预设周期从推送渠道所对应的环形缓存区中提取缓存的消息;将提取的消息推送至设备标识所对应的设备。In an embodiment, according to the push object determination result and the push rule determination result of the corresponding meta information, the encapsulated message that is determined to be the push object and conforms to the push rule is obtained, and the push further includes: obtaining the obtained by routing logic The message is routed to the ring buffer corresponding to the determined push channel and cached; the cached message is extracted from the ring buffer corresponding to the push channel according to the preset period; and the extracted message is pushed to the device corresponding to the device identifier.
一个或多个存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如下步骤:分别确定消息封装 线程、推送对象确定线程和规则过滤线程在存储多个元信息的环形缓存区中所对应的初始序号;针对消息封装线程、推送对象确定线程和规则过滤线程,并发地分别从所对应的初始序号起按序地从环形缓存区中读取序号,并获取所读取的各序号对应的元信息;通过消息封装线程、推送对象确定线程和规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理;根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送。One or more storage media storing computer readable instructions, when executed by one or more processors, cause one or more processors to perform the steps of separately determining message encapsulation The thread, the push object determines the initial sequence number corresponding to the thread and the rule filtering thread in the ring buffer area storing the plurality of meta information; and determines the thread and the rule filtering thread for the message encapsulation thread, the push object, and the corresponding initial sequence number respectively The sequence number is read sequentially from the ring buffer area, and the meta information corresponding to each read sequence number is obtained; the thread is encapsulated by the message encapsulation thread, the push object is determined, and the rule filtering thread is concurrently sent to the corresponding acquired meta information. The encapsulation processing, the push object determination processing, and the push rule determination processing are performed, and based on the push target determination result and the push rule determination result of the corresponding meta information, a message indicating the push target and conforming to the push rule is obtained and pushed.
在一个实施例中,通过消息封装线程、推送对象确定线程和规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理包括:通过消息封装线程,根据相应获取的元信息获取对应的消息内容并封装,得到封装的消息;通过推送对象确定线程,确定与相应获取的元信息相应的推送对象;通过规则过滤线程,针对相应获取的元信息所对应的推送模板信息进行推送规则判断;其中,消息封装线程、推送对象确定线程和规则过滤线程为并发执行。In one embodiment, the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently performing message encapsulation processing, push object determination processing, and push rule determination processing on the corresponding acquired meta information include: encapsulating the thread by the message, according to The corresponding meta-information obtains the corresponding message content and encapsulates the packet, and obtains the encapsulated message; the thread is determined by the push object, and the push object corresponding to the corresponding acquired meta-information is determined; and the rule filtering thread is used to correspond to the corresponding acquired meta-information. Pushing the template information to perform push rule determination; wherein the message encapsulation thread, the push object determination thread, and the rule filtering thread are concurrently executed.
在一个实施例中,根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送包括:获取从开始按序读取序号起至达到预设时长时,得到的封装的消息;从确定的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。In an embodiment, according to the push object determination result and the push rule determination result of the corresponding meta information, the encapsulated message that determines the push object and conforms to the push rule is obtained and pushed: the acquisition sequentially reads the sequence number from the beginning When the preset time length is reached, the obtained encapsulated message is obtained. From the determined message, the corresponding meta information is selected to be the push object, and the push template information corresponding to the corresponding meta information conforms to the push rule message. And push.
在一个实施例中,从所述得到的封装的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送包括:确定从开始按序读取序号起至达到预设时长时,消息封装线程、推送对象确定线程和规则过滤线程所分别读取到的最大序号;从确定的各个最大序号中取最小值,得到目标最大序号;从消息封装线程、推送对象确定线程和规则过滤线程分别所对应的初始序号中选取最小值,得到最小初始序号;从得到的封装的消息中,选取由最小初始序号至目标最大序号中的各个序号所对应的消息;从选取的所述消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。 In one embodiment, from the obtained encapsulated message, the message that the corresponding meta information is determined to be the push object and the push template information corresponding to the corresponding meta information conforms to the push rule is selected and pushed: Determining the maximum sequence number read by the message encapsulation thread, the push object determination thread, and the rule filtering thread from the start of sequentially reading the sequence number until the preset duration is reached; taking the minimum value from each determined maximum sequence number to obtain the target The maximum sequence number is selected from the initial sequence number corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread, to obtain a minimum initial sequence number; from the obtained encapsulated message, the minimum initial sequence number to the target maximum sequence number is selected. The message corresponding to each sequence number is selected from the selected message, and the corresponding meta-information is selected and the push template information corresponding to the corresponding meta-information is matched with the push rule message and pushed.
在一个实施例中,通过消息封装线程,根据相应获取的元信息获取对应的消息内容并封装,得到封装的消息包括:通过消息封装线程,根据相应获取的元信息中的推送消息获取参数,获取对应的消息内容;根据相应获取的元信息中的推送模板标识,获取对应的推送模板信息;将消息内容代入推送模板信息中进行封装处理,得到封装的消息。In an embodiment, the message encapsulation thread obtains the corresponding message content according to the obtained meta information and encapsulates the packet, and the encapsulated message includes: obtaining, by the message encapsulation thread, the parameter according to the push message in the corresponding acquired meta information, and acquiring Corresponding message content; obtaining the corresponding push template information according to the push template identifier in the corresponding acquired meta information; and substituting the message content into the push template information for encapsulation processing to obtain the encapsulated message.
在一个实施例中,通过推送对象确定线程,确定与相应获取的元信息相应的推送对象包括:通过推送对象确定线程,根据相应获取的元信息中的待推送用户标识,从数据库中查找与待推送用户标识对应的设备标识;获取与设备标识对应的操作系统种类标识;根据操作系统种类标识确定出相应的推送渠道;推送渠道和设备标识所对应的设备为确定出的推送对象。In an embodiment, the determining object by the push object determines that the push object corresponding to the corresponding acquired meta information comprises: determining the thread by pushing the object, and searching and waiting from the database according to the user identifier to be pushed in the corresponding acquired meta information. The device identifier corresponding to the user identifier is obtained; the operating system type identifier corresponding to the device identifier is obtained; and the corresponding push channel is determined according to the operating system type identifier; the device corresponding to the push channel and the device identifier is the determined push object.
在一个实施例中,根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送还包括:通过路由逻辑,将得到的消息路由至确定出的推送渠道所对应的环形缓存区并缓存;根据预设周期从推送渠道所对应的环形缓存区中提取缓存的消息;将提取的消息推送至设备标识所对应的设备。In an embodiment, according to the push object determination result and the push rule determination result of the corresponding meta information, the encapsulated message that is determined to be the push object and conforms to the push rule is obtained, and the push further includes: obtaining the obtained by routing logic The message is routed to the ring buffer corresponding to the determined push channel and cached; the cached message is extracted from the ring buffer corresponding to the push channel according to the preset period; and the extracted message is pushed to the device corresponding to the device identifier.
应该理解的是,虽然本申请各实施例中的各个步骤并不是必然按照步骤标号指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。It should be understood that the various steps in the various embodiments of the present application are not necessarily performed in the order indicated by the steps. Except as explicitly stated herein, the execution of these steps is not strictly limited, and the steps may be performed in other orders. Moreover, at least some of the steps in the embodiments may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be executed at different times, and the execution of these sub-steps or stages The order is also not necessarily sequential, but may be performed alternately or alternately with other steps or at least a portion of the sub-steps or stages of the other steps.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质等。A person skilled in the art can understand that all or part of the process of implementing the above embodiment method can be completed by a computer program to instruct related hardware, and the computer program can be stored in a computer readable storage medium. When executed, the flow of an embodiment of the methods as described above may be included. The storage medium may be a non-volatile storage medium such as a magnetic disk, an optical disk, or a read-only memory (ROM).
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述 实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。The technical features of the above embodiments may be arbitrarily combined, in order to make the description concise, the above is not All possible combinations of the various technical features in the embodiments are described, however, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope of the present specification.
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。 The above embodiments are merely illustrative of several embodiments of the present application, and the description thereof is more specific and detailed, but is not to be construed as limiting the scope of the claims. It should be noted that a number of variations and modifications may be made by those skilled in the art without departing from the spirit and scope of the present application. Therefore, the scope of the invention should be determined by the appended claims.

Claims (28)

  1. 一种消息推送方法,包括:A message pushing method includes:
    分别确定消息封装线程、推送对象确定线程和规则过滤线程在存储多个元信息的环形缓存区中所对应的初始序号;Determining, respectively, an initial sequence number corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread in a ring buffer area storing a plurality of meta information;
    针对所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地分别从所对应的所述初始序号起按序地从所述环形缓存区中读取序号,并获取所读取的各序号对应的元信息;And the sequence of the message encapsulation thread, the push object determination thread, and the rule filtering thread are concurrently read from the ring buffer area sequentially from the corresponding initial sequence number, and the read sequence is obtained. The meta information corresponding to each serial number;
    通过所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理;及And the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently performing message encapsulation processing, push object determination processing, and push rule determination processing on the corresponding acquired meta information; and
    根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送。Based on the push target determination result and the push rule determination result of the corresponding meta information, a message indicating the push target and conforming to the push rule is obtained and pushed.
  2. 根据权利要求1所述的方法,其特征在于,所述通过所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理包括:The method according to claim 1, wherein the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently perform message encapsulation processing and push object on the corresponding acquired meta information. The determination processing and the push rule determination processing include:
    通过所述消息封装线程,根据相应获取的元信息获取对应的消息内容并封装,得到封装的消息;Obtaining, by the message encapsulating thread, the corresponding message content according to the obtained meta information, and encapsulating the packet to obtain an encapsulated message;
    通过所述推送对象确定线程,确定与相应获取的元信息相应的推送对象;Determining a thread by the push object, and determining a push object corresponding to the corresponding acquired meta information;
    通过所述规则过滤线程,针对相应获取的元信息所对应的推送模板信息进行推送规则判断;及Passing the rule filtering thread, and performing push rule determination on the push template information corresponding to the corresponding acquired meta information; and
    其中,所述消息封装线程、所述推送对象确定线程和所述规则过滤线程为并发执行。The message encapsulation thread, the push object determination thread, and the rule filtering thread are concurrently executed.
  3. 根据权利要求2所述的方法,其特征在于,所述根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送包括:The method according to claim 2, wherein the push object determination result and the push rule determination result according to the corresponding meta information obtain a packaged message that is determined to be a push object and conforms to the push rule and is pushed to include :
    获取从开始按序读取序号起至达到预设时长时,得到的封装的消息;及Obtaining a packaged message obtained from the start of sequential reading of the serial number until the preset duration is reached; and
    从所述得到的封装的消息中,选取所对应的元信息被确定出推送对象的、 且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。From the obtained encapsulated message, selecting the corresponding meta information is determined to be the push object, And the push template information corresponding to the corresponding meta information conforms to the push rule message and is pushed.
  4. 根据权利要求3所述的方法,其特征在于,所述从所述得到的封装的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送包括:The method according to claim 3, wherein the extracting template information corresponding to the corresponding meta information is determined from the obtained encapsulated message, and the corresponding meta information is selected as the push object. Messages that match the push rules and push include:
    确定从开始按序读取序号起至达到预设时长时,所述消息封装线程、所述推送对象确定线程和所述规则过滤线程所分别读取到的最大序号;Determining a maximum sequence number respectively read by the message encapsulation thread, the push object determination thread, and the rule filtering thread when the sequence number is read sequentially from the beginning to the preset duration;
    从确定的各个所述最大序号中取最小值,得到目标最大序号;Taking a minimum value from each of the determined maximum serial numbers to obtain a target maximum serial number;
    从所述消息封装线程、推送对象确定线程和规则过滤线程分别所对应的初始序号中选取最小值,得到最小初始序号;Selecting a minimum value from the initial sequence numbers corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread respectively, to obtain a minimum initial sequence number;
    从所述得到的封装的消息中,选取由所述最小初始序号至所述目标最大序号中的各个序号所对应的消息;及Extracting, from the obtained encapsulated message, a message corresponding to each of the minimum initial sequence number to the target maximum sequence number; and
    从选取的所述消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。From the selected message, the corresponding meta-information is selected and the push template information corresponding to the corresponding meta-information is matched with the push rule message and pushed.
  5. 根据权利要求2所述的方法,其特征在于,所述通过所述消息封装线程,根据相应获取的元信息获取对应的消息内容并封装,得到封装的消息包括:The method according to claim 2, wherein the message encapsulating thread obtains the corresponding message content according to the corresponding acquired meta information and encapsulates the packet, and the encapsulated message includes:
    通过所述消息封装线程,根据相应获取的元信息中的推送消息获取参数,获取对应的消息内容;Obtaining, by using the message encapsulation thread, a parameter according to a push message in the obtained meta information, and acquiring a corresponding message content;
    根据相应获取的元信息中的推送模板标识,获取对应的推送模板信息;及Obtaining corresponding push template information according to the push template identifier in the corresponding obtained meta information; and
    将所述消息内容代入所述推送模板信息中进行封装处理,得到封装的消息。Substituting the message content into the push template information for encapsulation processing to obtain an encapsulated message.
  6. 根据权利要求2所述的方法,其特征在于,所述通过所述推送对象确定线程,确定与相应获取的元信息相应的推送对象包括:The method according to claim 2, wherein the determining, by the push object determining thread, the push object corresponding to the corresponding acquired meta information comprises:
    通过所述推送对象确定线程,根据相应获取的元信息中的待推送用户标识,从数据库中查找与所述待推送用户标识对应的设备标识;Determining, by the push object, a thread, and searching for a device identifier corresponding to the to-be-pushed user identifier from a database according to the to-be-pushed user identifier in the corresponding acquired meta information;
    获取与所述设备标识对应的操作系统种类标识;及 Obtaining an operating system type identifier corresponding to the device identifier; and
    根据所述操作系统种类标识确定出相应的推送渠道;所述推送渠道和所述设备标识所对应的设备为确定出的推送对象。Determining a corresponding push channel according to the operating system type identifier; the push channel and the device corresponding to the device identifier are determined push objects.
  7. 根据权利要求6所述的方法,其特征在于,所述根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送还包括:The method according to claim 6, wherein the push object determination result and the push rule determination result according to the corresponding meta information obtain a packaged message that identifies the push object and conforms to the push rule and pushes the message include:
    通过路由逻辑,将得到的所述消息路由至确定出的所述推送渠道所对应的环形缓存区并缓存;Routing the obtained message to the determined ring buffer corresponding to the push channel by using routing logic and buffering;
    根据预设周期从所述推送渠道所对应的环形缓存区中提取缓存的消息;及Extracting the cached message from the ring buffer corresponding to the push channel according to a preset period; and
    将提取的消息推送至所述设备标识所对应的设备。Pushing the extracted message to the device corresponding to the device identifier.
  8. 一种消息推送装置,其特征在于,所述装置包括:A message pushing device, characterized in that the device comprises:
    序号确定模块,用于分别确定消息封装线程、推送对象确定线程和规则过滤线程在存储多个元信息的环形缓存区中所对应的初始序号;a sequence number determining module, configured to respectively determine an initial sequence number corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread in a ring buffer area storing a plurality of meta information;
    序号读取模块,用于针对所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地分别从所对应的所述初始序号起按序地从所述环形缓存区中读取序号,并获取所读取的各序号对应的元信息;a sequence number reading module, configured to, for the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently read from the ring buffer area sequentially from the corresponding initial sequence number Taking the serial number and obtaining the meta information corresponding to each of the read serial numbers;
    元信息处理模块,用于通过所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理;及a meta-information processing module, configured to: through the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently perform message encapsulation processing, push object determination processing, and push rule determination processing on the corresponding acquired meta information; and
    消息推送模块,用于根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送。The message pushing module is configured to obtain, according to the push object determination result and the push rule determination result of the corresponding meta information, a packaged message that determines the push object and conforms to the push rule, and pushes the message.
  9. 根据权利要求8所述的装置,其特征在于,所述元信息处理模块还用于通过所述消息封装线程,根据相应获取的元信息获取对应的消息内容并封装,得到封装的消息;通过所述推送对象确定线程,确定与相应获取的元信息相应的推送对象;通过所述规则过滤线程,针对相应获取的元信息所对应的推送模板信息进行推送规则判断;及其中,所述消息封装线程、所述推送对象确定线程和所述规则过滤线程为并发执行。 The apparatus according to claim 8, wherein the meta-information processing module is further configured to: obtain, by the message encapsulation thread, the corresponding message content according to the obtained meta-information, and encapsulate the packet to obtain an encapsulated message; The push object determining thread determines a push object corresponding to the corresponding acquired meta information; and the rule filtering thread performs a push rule judgment on the push template information corresponding to the corresponding acquired meta information; and wherein the message encapsulation thread The push object determining thread and the rule filtering thread are concurrently executed.
  10. 根据权利要求9所述的装置,其特征在于,所述消息推送模块还用于获取从开始按序读取序号起至达到预设时长时,得到的封装的消息;及从所述得到的封装的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。The device according to claim 9, wherein the message pushing module is further configured to obtain a packaged message obtained when the serial number is read sequentially until the preset duration is reached; and the obtained package is obtained from the foregoing In the message, the corresponding meta information is selected and the push template information corresponding to the corresponding meta information meets the push rule message and is pushed.
  11. 根据权利要求10所述的装置,其特征在于,所述消息推送模块包括:The device according to claim 10, wherein the message pushing module comprises:
    最大序号确定模块,用于确定从开始按序读取序号起至达到预设时长时,所述消息封装线程、所述推送对象确定线程和所述规则过滤线程所分别读取到的最大序号;a maximum sequence number determining module, configured to determine a maximum sequence number respectively read by the message encapsulation thread, the push object determining thread, and the rule filtering thread, respectively, when the sequence number is sequentially read to reach a preset duration;
    目标最大序号确定模块,用于从确定的各个所述最大序号中取最小值,得到目标最大序号;a target maximum sequence number determining module, configured to take a minimum value from each of the determined maximum serial numbers to obtain a target maximum serial number;
    最小初始序号确定模块,用于从所述消息封装线程、推送对象确定线程和规则过滤线程分别所对应的初始序号中选取最小值,得到最小初始序号;及a minimum initial sequence number determining module, configured to select a minimum value from the initial sequence numbers corresponding to the message encapsulation thread, the push object determining thread, and the rule filtering thread respectively, to obtain a minimum initial sequence number;
    消息选取模块,用于从所述得到的封装的消息中,选取由所述最小初始序号至所述目标最大序号中的各个序号所对应的消息;及从选取的所述消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。a message selection module, configured to: select, from the obtained encapsulated message, a message corresponding to each sequence number in the minimum initial sequence number to the target maximum sequence number; and select, according to the selected message The meta information is determined and the push template information corresponding to the corresponding meta information conforms to the push rule message and is pushed.
  12. 根据权利要求9所述的装置,其特征在于,所述元信息处理模块包括:The device according to claim 9, wherein the meta information processing module comprises:
    消息内容获取模块,用于通过所述消息封装线程,根据相应获取的元信息中的推送消息获取参数,获取对应的消息内容;a message content obtaining module, configured to obtain a corresponding message content by using a message encapsulating thread to obtain a parameter according to a push message in the corresponding acquired meta information;
    推送模板获取模块,用于根据相应获取的元信息中的推送模板标识,获取对应的推送模板信息;及a push template obtaining module, configured to obtain corresponding push template information according to the push template identifier in the corresponding acquired meta information; and
    消息封装模块,用于将所述消息内容代入所述推送模板信息中进行封装处理,得到封装的消息。The message encapsulating module is configured to perform the encapsulation process by substituting the message content into the push template information to obtain a packaged message.
  13. 根据权利要求9所述的装置,其特征在于,所述元信息处理模块包括: The device according to claim 9, wherein the meta information processing module comprises:
    设备标识获取模块,用于通过所述推送对象确定线程,根据相应获取的元信息中的待推送用户标识,从数据库中查找与所述待推送用户标识对应的设备标识;a device identifier obtaining module, configured to determine a thread by using the push object, and search for a device identifier corresponding to the to-be-pushed user identifier from a database according to the to-be-pushed user identifier in the corresponding acquired meta information;
    操作系统种类标识获取模块,用于获取与所述设备标识对应的操作系统种类标识;及An operating system type identifier obtaining module, configured to acquire an operating system type identifier corresponding to the device identifier; and
    操作系统种类标识获取模块,用于根据所述操作系统种类标识确定出相应的推送渠道;所述推送渠道和所述设备标识所对应的设备为确定出的推送对象。The operating system type identifier obtaining module is configured to determine a corresponding pushing channel according to the operating system type identifier; the pushing channel and the device corresponding to the device identifier are determined push objects.
  14. 根据权利要求13所述的装置,其特征在于,所述消息推送模块还用于通过路由逻辑,将得到的所述消息路由至确定出的所述推送渠道所对应的环形缓存区并缓存;根据预设周期从所述推送渠道所对应的环形缓存区中提取缓存的消息;及将提取的消息推送至所述设备标识所对应的设备。The device according to claim 13, wherein the message pushing module is further configured to route the obtained message to the determined ring buffer corresponding to the push channel by using routing logic and cache; The preset period extracts the cached message from the ring buffer corresponding to the push channel; and pushes the extracted message to the device corresponding to the device identifier.
  15. 一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如下步骤:A computer device comprising a memory and a processor, the memory storing computer readable instructions, the computer readable instructions being executed by the processor such that the processor performs the following steps:
    分别确定消息封装线程、推送对象确定线程和规则过滤线程在存储多个元信息的环形缓存区中所对应的初始序号;Determining, respectively, an initial sequence number corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread in a ring buffer area storing a plurality of meta information;
    针对所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地分别从所对应的所述初始序号起按序地从所述环形缓存区中读取序号,并获取所读取的各序号对应的元信息;And the sequence of the message encapsulation thread, the push object determination thread, and the rule filtering thread are concurrently read from the ring buffer area sequentially from the corresponding initial sequence number, and the read sequence is obtained. The meta information corresponding to each serial number;
    通过所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理;及And the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently performing message encapsulation processing, push object determination processing, and push rule determination processing on the corresponding acquired meta information; and
    根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送。Based on the push target determination result and the push rule determination result of the corresponding meta information, a message indicating the push target and conforming to the push rule is obtained and pushed.
  16. 根据权利要求15所述的计算机设备,其特征在于,所述处理器所执行的所述通过所述消息封装线程、所述推送对象确定线程和所述规则过滤线 程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理包括:The computer device according to claim 15, wherein said said message encapsulating thread, said push object determining thread and said rule filtering line are executed by said processor The process of concurrently performing message encapsulation processing, push object determination processing, and push rule determination processing on the corresponding acquired meta information includes:
    通过所述消息封装线程,根据相应获取的元信息获取对应的消息内容并封装,得到封装的消息;Obtaining, by the message encapsulating thread, the corresponding message content according to the obtained meta information, and encapsulating the packet to obtain an encapsulated message;
    通过所述推送对象确定线程,确定与相应获取的元信息相应的推送对象;Determining a thread by the push object, and determining a push object corresponding to the corresponding acquired meta information;
    通过所述规则过滤线程,针对相应获取的元信息所对应的推送模板信息进行推送规则判断;及Passing the rule filtering thread, and performing push rule determination on the push template information corresponding to the corresponding acquired meta information; and
    其中,所述消息封装线程、所述推送对象确定线程和所述规则过滤线程为并发执行。The message encapsulation thread, the push object determination thread, and the rule filtering thread are concurrently executed.
  17. 根据权利要求16所述的计算机设备,其特征在于,所述处理器所执行的所述根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送包括:The computer device according to claim 16, wherein the push target determination result and the push rule determination result according to the corresponding meta information executed by the processor are obtained, and the push target is determined and the push is matched. The rules encapsulated messages and pushes include:
    获取从开始按序读取序号起至达到预设时长时,得到的封装的消息;及Obtaining a packaged message obtained from the start of sequential reading of the serial number until the preset duration is reached; and
    从所述得到的封装的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。From the obtained encapsulated message, the corresponding meta-information is selected and the push template information corresponding to the corresponding meta-information is matched with the push rule message and pushed.
  18. 根据权利要求17所述的计算机设备,其特征在于,所述处理器所执行的所述从所述得到的封装的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送包括:The computer device according to claim 17, wherein the message from the obtained package is selected by the processor, and the corresponding meta information is selected to be determined and corresponding to the push object. The push template information corresponding to the meta information conforms to the push rule message and is pushed to include:
    确定从开始按序读取序号起至达到预设时长时,所述消息封装线程、所述推送对象确定线程和所述规则过滤线程所分别读取到的最大序号;Determining a maximum sequence number respectively read by the message encapsulation thread, the push object determination thread, and the rule filtering thread when the sequence number is read sequentially from the beginning to the preset duration;
    从确定的各个所述最大序号中取最小值,得到目标最大序号;Taking a minimum value from each of the determined maximum serial numbers to obtain a target maximum serial number;
    从所述消息封装线程、推送对象确定线程和规则过滤线程分别所对应的初始序号中选取最小值,得到最小初始序号;Selecting a minimum value from the initial sequence numbers corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread respectively, to obtain a minimum initial sequence number;
    从所述得到的封装的消息中,选取由所述最小初始序号至所述目标最大序号中的各个序号所对应的消息;及Extracting, from the obtained encapsulated message, a message corresponding to each of the minimum initial sequence number to the target maximum sequence number; and
    从选取的所述消息中,选取所对应的元信息被确定出推送对象的、且与 所对应的元信息对应的推送模板信息符合推送规则的消息并推送。From the selected message, selecting the corresponding meta information is determined by the push object, and The push template information corresponding to the corresponding meta information conforms to the push rule message and is pushed.
  19. 根据权利要求16所述的计算机设备,其特征在于,所述处理器所执行的所述通过所述消息封装线程,根据相应获取的元信息获取对应的消息内容并封装,得到封装的消息包括:The computer device according to claim 16, wherein the message executed by the processor obtains a corresponding message content according to the obtained meta-information and encapsulates the encoded message, and the encapsulated message includes:
    通过所述消息封装线程,根据相应获取的元信息中的推送消息获取参数,获取对应的消息内容;Obtaining, by using the message encapsulation thread, a parameter according to a push message in the obtained meta information, and acquiring a corresponding message content;
    根据相应获取的元信息中的推送模板标识,获取对应的推送模板信息;及Obtaining corresponding push template information according to the push template identifier in the corresponding obtained meta information; and
    将所述消息内容代入所述推送模板信息中进行封装处理,得到封装的消息。Substituting the message content into the push template information for encapsulation processing to obtain an encapsulated message.
  20. 根据权利要求16所述的计算机设备,其特征在于,所述处理器所执行的所述通过所述推送对象确定线程,确定与相应获取的元信息相应的推送对象包括:The computer device according to claim 16, wherein the determining, by the processor, the push object by the push object, determining that the push object corresponding to the corresponding acquired meta information comprises:
    通过所述推送对象确定线程,根据相应获取的元信息中的待推送用户标识,从数据库中查找与所述待推送用户标识对应的设备标识;Determining, by the push object, a thread, and searching for a device identifier corresponding to the to-be-pushed user identifier from a database according to the to-be-pushed user identifier in the corresponding acquired meta information;
    获取与所述设备标识对应的操作系统种类标识;及Obtaining an operating system type identifier corresponding to the device identifier; and
    根据所述操作系统种类标识确定出相应的推送渠道;所述推送渠道和所述设备标识所对应的设备为确定出的推送对象。Determining a corresponding push channel according to the operating system type identifier; the push channel and the device corresponding to the device identifier are determined push objects.
  21. 根据权利要求20所述的计算机设备,其特征在于,所述处理器所执行的所述根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送还包括:The computer device according to claim 20, wherein the push object determination result and the push rule determination result according to the corresponding meta information executed by the processor are determined to be pushed and conformed to the push The rules of the encapsulated message and push also include:
    通过路由逻辑,将得到的所述消息路由至确定出的所述推送渠道所对应的环形缓存区并缓存;Routing the obtained message to the determined ring buffer corresponding to the push channel by using routing logic and buffering;
    根据预设周期从所述推送渠道所对应的环形缓存区中提取缓存的消息;及Extracting the cached message from the ring buffer corresponding to the push channel according to a preset period; and
    将提取的消息推送至所述设备标识所对应的设备。Pushing the extracted message to the device corresponding to the device identifier.
  22. 一个或多个存储有计算机可读指令的非易失性存储介质,所述计算 机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如下步骤:One or more non-volatile storage media storing computer readable instructions for said computing When the machine readable instructions are executed by one or more processors, cause one or more processors to perform the following steps:
    分别确定消息封装线程、推送对象确定线程和规则过滤线程在存储多个元信息的环形缓存区中所对应的初始序号;Determining, respectively, an initial sequence number corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread in a ring buffer area storing a plurality of meta information;
    针对所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地分别从所对应的所述初始序号起按序地从所述环形缓存区中读取序号,并获取所读取的各序号对应的元信息;And the sequence of the message encapsulation thread, the push object determination thread, and the rule filtering thread are concurrently read from the ring buffer area sequentially from the corresponding initial sequence number, and the read sequence is obtained. The meta information corresponding to each serial number;
    通过所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理;及And the message encapsulation thread, the push object determination thread, and the rule filtering thread, concurrently performing message encapsulation processing, push object determination processing, and push rule determination processing on the corresponding acquired meta information; and
    根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送。Based on the push target determination result and the push rule determination result of the corresponding meta information, a message indicating the push target and conforming to the push rule is obtained and pushed.
  23. 根据权利要求22所述的非易失性存储介质,其特征在于,所述处理器所执行的所述通过所述消息封装线程、所述推送对象确定线程和所述规则过滤线程,并发地对相应获取的元信息进行消息封装处理、推送对象确定处理以及推送规则判断处理包括:The non-volatile storage medium according to claim 22, wherein said said message encapsulating thread, said push object determining thread and said rule filtering thread executed by said processor concurrently The message encapsulation processing, the push object determination processing, and the push rule determination processing of the corresponding acquired meta information include:
    通过所述消息封装线程,根据相应获取的元信息获取对应的消息内容并封装,得到封装的消息;Obtaining, by the message encapsulating thread, the corresponding message content according to the obtained meta information, and encapsulating the packet to obtain an encapsulated message;
    通过所述推送对象确定线程,确定与相应获取的元信息相应的推送对象;Determining a thread by the push object, and determining a push object corresponding to the corresponding acquired meta information;
    通过所述规则过滤线程,针对相应获取的元信息所对应的推送模板信息进行推送规则判断;及Passing the rule filtering thread, and performing push rule determination on the push template information corresponding to the corresponding acquired meta information; and
    其中,所述消息封装线程、所述推送对象确定线程和所述规则过滤线程为并发执行。The message encapsulation thread, the push object determination thread, and the rule filtering thread are concurrently executed.
  24. 根据权利要求23所述的非易失性存储介质,其特征在于,所述处理器所执行的所述根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送包括:The non-volatile storage medium according to claim 23, wherein the push target determination result and the push rule determination result according to the corresponding meta information executed by the processor are determined to be a push target. Encapsulated messages that conform to push rules and push include:
    获取从开始按序读取序号起至达到预设时长时,得到的封装的消息;及 Obtaining a packaged message obtained from the start of sequential reading of the serial number until the preset duration is reached; and
    从所述得到的封装的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。From the obtained encapsulated message, the corresponding meta-information is selected and the push template information corresponding to the corresponding meta-information is matched with the push rule message and pushed.
  25. 根据权利要求24所述的非易失性存储介质,其特征在于,所述处理器所执行的所述从所述得到的封装的消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送包括:The non-volatile storage medium according to claim 24, wherein the message from the obtained package is selected by the processor, and the corresponding meta information is selected to be the target of the push. And the push template information corresponding to the corresponding meta information meets the push rule message and the push includes:
    确定从开始按序读取序号起至达到预设时长时,所述消息封装线程、所述推送对象确定线程和所述规则过滤线程所分别读取到的最大序号;Determining a maximum sequence number respectively read by the message encapsulation thread, the push object determination thread, and the rule filtering thread when the sequence number is read sequentially from the beginning to the preset duration;
    从确定的各个所述最大序号中取最小值,得到目标最大序号;Taking a minimum value from each of the determined maximum serial numbers to obtain a target maximum serial number;
    从所述消息封装线程、推送对象确定线程和规则过滤线程分别所对应的初始序号中选取最小值,得到最小初始序号;Selecting a minimum value from the initial sequence numbers corresponding to the message encapsulation thread, the push object determination thread, and the rule filtering thread respectively, to obtain a minimum initial sequence number;
    从所述得到的封装的消息中,选取由所述最小初始序号至所述目标最大序号中的各个序号所对应的消息;及Extracting, from the obtained encapsulated message, a message corresponding to each of the minimum initial sequence number to the target maximum sequence number; and
    从选取的所述消息中,选取所对应的元信息被确定出推送对象的、且与所对应的元信息对应的推送模板信息符合推送规则的消息并推送。From the selected message, the corresponding meta-information is selected and the push template information corresponding to the corresponding meta-information is matched with the push rule message and pushed.
  26. 根据权利要求23所述的非易失性存储介质,其特征在于,所述处理器所执行的所述通过所述消息封装线程,根据相应获取的元信息获取对应的消息内容并封装,得到封装的消息包括:The non-volatile storage medium according to claim 23, wherein the code encapsulation thread executed by the processor acquires a corresponding message content according to the corresponding acquired meta information and encapsulates the packaged content to obtain a package. The news includes:
    通过所述消息封装线程,根据相应获取的元信息中的推送消息获取参数,获取对应的消息内容;Obtaining, by using the message encapsulation thread, a parameter according to a push message in the obtained meta information, and acquiring a corresponding message content;
    根据相应获取的元信息中的推送模板标识,获取对应的推送模板信息;及Obtaining corresponding push template information according to the push template identifier in the corresponding obtained meta information; and
    将所述消息内容代入所述推送模板信息中进行封装处理,得到封装的消息。Substituting the message content into the push template information for encapsulation processing to obtain an encapsulated message.
  27. 根据权利要求23所述的非易失性存储介质,其特征在于,所述处理器所执行的所述通过所述推送对象确定线程,确定与相应获取的元信息相应的推送对象包括: The non-volatile storage medium according to claim 23, wherein the determining, by the processor, the push object by the push object determines that the push object corresponding to the corresponding acquired meta information comprises:
    通过所述推送对象确定线程,根据相应获取的元信息中的待推送用户标识,从数据库中查找与所述待推送用户标识对应的设备标识;Determining, by the push object, a thread, and searching for a device identifier corresponding to the to-be-pushed user identifier from a database according to the to-be-pushed user identifier in the corresponding acquired meta information;
    获取与所述设备标识对应的操作系统种类标识;及Obtaining an operating system type identifier corresponding to the device identifier; and
    根据所述操作系统种类标识确定出相应的推送渠道;所述推送渠道和所述设备标识所对应的设备为确定出的推送对象。Determining a corresponding push channel according to the operating system type identifier; the push channel and the device corresponding to the device identifier are determined push objects.
  28. 根据权利要求27所述的非易失性存储介质,其特征在于,所述处理器所执行的所述根据所对应的元信息的推送对象确定结果和推送规则判断结果,得到确定出推送对象的、且符合推送规则的封装的消息并推送还包括:The non-volatile storage medium according to claim 27, wherein the push target determination result and the push rule determination result according to the corresponding meta information executed by the processor are determined to be a push target. Encapsulated messages that are compliant with push rules and pushes include:
    通过路由逻辑,将得到的所述消息路由至确定出的所述推送渠道所对应的环形缓存区并缓存;Routing the obtained message to the determined ring buffer corresponding to the push channel by using routing logic and buffering;
    根据预设周期从所述推送渠道所对应的环形缓存区中提取缓存的消息;及Extracting the cached message from the ring buffer corresponding to the push channel according to a preset period; and
    将提取的消息推送至所述设备标识所对应的设备。 Pushing the extracted message to the device corresponding to the device identifier.
PCT/CN2017/104662 2017-07-27 2017-09-29 Message push method, apparatus, computer device, and storage medium WO2019019384A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710626315.0A CN107689984B (en) 2017-07-27 2017-07-27 Message pushing method and device, computer equipment and storage medium
CN201710626315.0 2017-07-27

Publications (1)

Publication Number Publication Date
WO2019019384A1 true WO2019019384A1 (en) 2019-01-31

Family

ID=61153000

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/104662 WO2019019384A1 (en) 2017-07-27 2017-09-29 Message push method, apparatus, computer device, and storage medium

Country Status (2)

Country Link
CN (1) CN107689984B (en)
WO (1) WO2019019384A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111447575A (en) * 2020-03-11 2020-07-24 中国平安人寿保险股份有限公司 Short message pushing method, device, equipment and storage medium
CN113839977A (en) * 2020-06-24 2021-12-24 顺丰科技有限公司 Message pushing method and device, computer equipment and storage medium
CN115529288A (en) * 2022-09-21 2022-12-27 上海浦东发展银行股份有限公司 Message pushing method and device, and computer equipment

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109308778B (en) * 2018-09-11 2020-08-18 深圳市智美达科技股份有限公司 Mobile detection alarm method, device, acquisition equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388844A (en) * 2008-11-07 2009-03-18 东软集团股份有限公司 Data flow processing method and system
CN101958804A (en) * 2010-09-20 2011-01-26 中兴通讯股份有限公司 Method for promoting warning processing efficiency, server and system
CN102025649A (en) * 2010-06-04 2011-04-20 西本新干线股份有限公司 Message processing method of enterprise service bus
US20130125135A1 (en) * 2011-11-07 2013-05-16 International Business Machines Corporation Intranode data communications in a parallel computer
CN105471703A (en) * 2014-08-27 2016-04-06 北京奇虎科技有限公司 Message sending method and device
CN106657327A (en) * 2016-12-20 2017-05-10 上海银禾油信息技术有限公司 Message pushing method and message pushing device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294319A1 (en) * 2006-06-08 2007-12-20 Emc Corporation Method and apparatus for processing a database replica
CN103294800B (en) * 2013-05-27 2016-12-28 华为技术有限公司 A kind of information-pushing method and device
CN106201913A (en) * 2015-04-23 2016-12-07 上海芯豪微电子有限公司 A kind of processor system pushed based on instruction and method
CN105491397B (en) * 2015-12-01 2019-02-22 深圳市福云明网络科技有限公司 The method pushed in real time based on the video that UDT agreement and TS slice combine
CN106254525A (en) * 2016-09-12 2016-12-21 中国银联股份有限公司 A kind of information-pushing method and system
CN106953933B (en) * 2017-05-18 2018-09-11 腾讯科技(深圳)有限公司 A kind of information push method and device, electronic equipment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388844A (en) * 2008-11-07 2009-03-18 东软集团股份有限公司 Data flow processing method and system
CN102025649A (en) * 2010-06-04 2011-04-20 西本新干线股份有限公司 Message processing method of enterprise service bus
CN101958804A (en) * 2010-09-20 2011-01-26 中兴通讯股份有限公司 Method for promoting warning processing efficiency, server and system
US20130125135A1 (en) * 2011-11-07 2013-05-16 International Business Machines Corporation Intranode data communications in a parallel computer
CN105471703A (en) * 2014-08-27 2016-04-06 北京奇虎科技有限公司 Message sending method and device
CN106657327A (en) * 2016-12-20 2017-05-10 上海银禾油信息技术有限公司 Message pushing method and message pushing device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111447575A (en) * 2020-03-11 2020-07-24 中国平安人寿保险股份有限公司 Short message pushing method, device, equipment and storage medium
CN111447575B (en) * 2020-03-11 2024-03-05 中国平安人寿保险股份有限公司 Short message pushing method, device, equipment and storage medium
CN113839977A (en) * 2020-06-24 2021-12-24 顺丰科技有限公司 Message pushing method and device, computer equipment and storage medium
CN113839977B (en) * 2020-06-24 2024-04-19 顺丰科技有限公司 Message pushing method, device, computer equipment and storage medium
CN115529288A (en) * 2022-09-21 2022-12-27 上海浦东发展银行股份有限公司 Message pushing method and device, and computer equipment
CN115529288B (en) * 2022-09-21 2024-04-19 上海浦东发展银行股份有限公司 Message pushing method, device and computer equipment

Also Published As

Publication number Publication date
CN107689984A (en) 2018-02-13
CN107689984B (en) 2020-02-07

Similar Documents

Publication Publication Date Title
WO2019019384A1 (en) Message push method, apparatus, computer device, and storage medium
CN112217831B (en) Information interaction method, device and equipment for Internet of things equipment
US11374995B2 (en) Multimedia file processing
WO2021017634A1 (en) Ssid acquisition method and apparatus for wi-fi access point, device and system
CN110457256A (en) Date storage method, device, computer equipment and storage medium
TWI699988B (en) Information processing method, device, equipment and system
CN105684382A (en) Packet control method, switch and controller
WO2014194677A1 (en) Service process control method and network device
CN112486915B (en) Data storage method and device
US20210337007A1 (en) Method and server for http protocol-based data request
CN109379764B (en) Message sending method and device
CN111277612A (en) Network message processing strategy generation method, system and medium
CN111192143B (en) Data processing method, device, storage medium and blockchain node
CN114500633B (en) Data forwarding method, related device, program product and data transmission system
US9880923B2 (en) Model checking device for distributed environment model, model checking method for distributed environment model, and medium
US9424273B2 (en) System and method for asynchronous use of a network-based file system
CN113595966A (en) Serial port communication control, configuration and test method and device, electronic equipment and storage medium
CN115134427B (en) Communication protocol coordination method, device, computer equipment and storage medium
US20220052902A1 (en) Method for managing remote device through management device
CN114897532A (en) Operation log processing method, system, device, equipment and storage medium
CN109842498A (en) A kind of client terminal configuring method, server, client and electronic equipment
WO2020119796A1 (en) Instruction processing method and chip
WO2017076322A1 (en) Communication method and apparatus
US10067816B2 (en) Model checking apparatus and method, and storage medium having program stored therein
US20230421500A1 (en) Method and device for storing and forwarding content, electronic apparatus and storage medium using the same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17918978

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 29/05/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 17918978

Country of ref document: EP

Kind code of ref document: A1