CN112612632A - 基于流式的消息推送方法、系统、计算机设备及存储介质 - Google Patents
基于流式的消息推送方法、系统、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112612632A CN112612632A CN202011616824.3A CN202011616824A CN112612632A CN 112612632 A CN112612632 A CN 112612632A CN 202011616824 A CN202011616824 A CN 202011616824A CN 112612632 A CN112612632 A CN 112612632A
- Authority
- CN
- China
- Prior art keywords
- message
- target
- sending
- flow
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 138
- 230000008569 process Effects 0.000 claims abstract description 102
- 230000007246 mechanism Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于流式的消息推送方法,包括:接收待发送消息的发送指令;从所述发送指令中获取所述待发送消息的消息类型;基于所述消息类型获取所述待发送消息相应的目标发送流程;根据所述目标发送流程获取用于执行所述目标发送流程的多个目标代码块;根据所述目标发送流程调度所述多个目标代码块,以实现所述待发送消息的推送。本发明实施例还公开了一种基于流式的消息推送系统、计算机设备及存储介质。本发明实施例的有益效果在于可以进行灵活调度发送流程。
Description
技术领域
本发明实施例涉及数据传输领域,尤其涉及一种基于流式的消息推送方法、系统、计算机设备及存储介质。
背景技术
随着互联网环境以及技术的不断发展,消息的推送方式日新月异,从最早的电子邮件,短信,到后来的APP通知,微信通知,以及近年出现的支付宝通知,华为通知,可见渠道是越来越多的。作为一个消息发送平台,消息中心需要承接各种发送渠道,不仅要满足现有的业务,还要满足新业务的拓展。
传统的系统框架,对于新业务的接入,往往是采用水平拓展的方式,即每当新渠道需要接入时,需要完全重新实现一套流程.这样的模式会带来一些问题:类似逻辑的代码重复编写,造成开发效率低下;不利于统一的性能监控;不利于未来的流程调整和拆分。
发明内容
有鉴于此,本发明实施例的目的是提供一种基于流式的消息推送方法、系统、计算机设备及存储介质,可以进行灵活调度发送流程。
为实现上述目的,本发明实施例提供了一种基于流式的消息推送方法,包括:
接收待发送消息的发送指令;
从所述发送指令中获取所述待发送消息的消息类型;
基于所述消息类型获取所述待发送消息相应的目标发送流程;
根据所述目标发送流程获取用于执行所述目标发送流程的多个目标代码块;
根据所述目标发送流程调度所述多个目标代码块,以实现所述待发送消息的推送。
进一步地,所述根据所述目标发送流程获取用于执行所述目标发送流程的多个目标代码块之前,包括:
获取多个发送渠道的消息发送流程信息,所述消息发送流程信息包括消息发送流程对应的流程代码;
抽取所述消息发送流程信息中的关键机制;
基于所述关键机制将所述消息发送流程对应的流程代码进行抽取处理,得到多个关键流程代码;
对每个所述关键流程代码进行封装,得到每个所述关键流程代码块以及所述关键流程代码块对应的关键代码接口。
进一步地,所述根据所述目标发送流程获取用于执行所述目标发送流程的多个目标代码块之前,包括:
获取多个历史发送消息的历史消息类型;
基于所述历史发送类型获取所述消息发送流程中的消息类型流程代码,其中,所述消息类型流程代码是将所述流程代码中除去所述关键流程代码的其他代码,根据所述历史发送类型进行修改得到的;
将所述消息类型流程代码进行封装,得到所述消息代码块以及所述消息代码块的消息代码接口。
进一步地,所述目标代码块包括目标关键流程代码块与消息代码块,所述根据所述目标发送流程获取用于执行所述目标发送流程的多个目标代码块包括:
获取所述目标发送流程中的目标关键机制以及所述消息类型的目标消息类型流程;
基于所述目标关键机制对应的关键代码接口获取目标关键流程代码块,并基于所述目标消息类型流程对应的消息代码接口获取目标消息代码块。
进一步地,所述根据所述目标发送流程调度所述多个目标代码块,以实现所述待发送消息的推送包括:
获取所述多个目标代码块在所述目标发送流程中的先后顺序;
通过所述先后顺序调度并启用所述多个目标代码块,以实现所述待发送消息的推送。
进一步地,所述基于所述消息类型获取相应的目标发送流程包括:
根据所述消息类型在数据库中进行类型匹配,得到所述消息类型对应的目标类型;
将所述目标类型对应的消息发送流程作为所述目标发送流程。
进一步地,所述方法还包括:
将所述目标代码块存储至区块链中。
为实现上述目的,本发明实施例提供了一种基于流式的消息推送系统,包括:
接收模块,用于接收待发送消息的发送指令;
第一获取模块,用于从所述发送指令中获取所述待发送消息的消息类型;
第二获取模块,用于基于所述消息类型获取相应的目标发送流程;
第三获取模块,用于根据所述目标发送流程获取用于执行所述目标发送流程的多个目标代码块;
调度模块,用于根据所述目标发送流程调度所述多个目标代码块,以基于所述发送指令进行所述待发送消息的推送。
为实现上述目的,本发明实施例提供了一种计算机设备,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的基于流式的消息推送方法的步骤。
为实现上述目的,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的基于流式的消息推送方法的步骤。
本发明实施例提供的基于流式的消息推送方法、系统、计算机设备及存储介质,目标发送流程获取时,基于消息类型匹配相应的目标发送流程,再根据目标发送流程与消息类型获取用于执行目标发送流程的目标代码块,对目标代码块进行调用或组装成目标发送流程的流程代码,快速的为消息提供了发送流程进行消息发送。
附图说明
图1为本发明基于流式的消息推送方法实施例一的流程图。
图2为本发明基于流式的消息推送系统实施例二的程序模块示意图。
图3为本发明计算机设备实施例三的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参阅图1,示出了本发明实施例一之基于流式的消息推送方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。具体如下。
步骤S100,接收待发送消息的发送指令。
具体地,通过消息发送平台接收待发送消息的发送指令,并将待发送消息的发送指令存储至消息发送平台的对应的消息队列中,待发送消息为通知类或者营销类消息,可建立相应的消息队列。
步骤S120,从所述发送指令中获取所述待发送消息的消息类型。
具体地,从消息发送平台中获取发送指令,并且对发送指令进行解析,得到待发送消息的消息类型。
步骤S140,基于所述消息类型获取所述待发送消息相应的目标发送流程。
具体地,预先在数据库中预先设置多个消息类型以及与消息类型对应的发送流程,根据待发送消息的类型进行匹配,得到待发送消息的目标发送流程。
在示例性的实施例中,所述步骤S140具体包括:
步骤S141,根据所述消息类型在数据库中进行类型匹配,得到所述消息类型对应的目标类型。步骤S142,将所述目标类型对应的消息发送流程作为所述目标发送流程。
具体地,根据待发送消息的消息类型获取对应的目标发送流程,预先在数据库中存储多个发送流程,基于消息类型进行匹配获取,例如以短信形式发送的通知类消息需要获取短信对应的目标发送流程;以微信形式发送的通知类消息需要获取微信对应的目标发送流程。
步骤S160,根据所述目标发送流程获取用于执行所述目标发送流程的多个目标代码块。
具体地,目标代码块包括目标关键流程代码块与消息代码块,根据目标发送流程获取目标关键流程代码块,根据消息类型获取消息代码块,目标关键流程代码块是消息发送流程中的必要流程的代码块,消息代码块是基于业务不同而设置的业务代码块,以基于不同的发送业务,单独实现各个发送业务的发送流程。
在示例性的实施例中,所述步骤S160之前,包括步骤S151:
步骤S151A,获取多个发送渠道的消息发送流程信息,所述消息发送流程信息包括消息发送流程对应的流程代码。
具体地,由于消息发送平台进行消息发送时,根据消息对应的接收平台,会设置不同的发送渠道,例如接收平台为华为、支付宝等,其对应的发送渠道为华为通知渠道、支付宝通知渠道等。当消息发送平台建立发送渠道时,预先构建好的消息发送流程,消息发送流程根据消息对应的消息类型进行构建,由多个流程节点组成,消息发送流程代码由流程节点代码构成。流程节点相应的流程节点代码包括create/audit/prepare/send等流程节点,并且单个步骤还可以细分,后续也可以修补。
步骤S151B,抽取所述消息发送流程信息中的关键机制。
具体地,通过流式消息推送引擎抽取消息发送流程中的关键机制,例如流程管理/流量管理/性能监控/重试机制/状态反馈机制/消息续发机制,这些关键机制对于每个发送渠道的消息发送流程中属于必要机制,也可以理解为每个消息发送流程中的主流程中必要的子流程,所有的消息发送流程都必须有这些关键机制,因此将其抽取出来。
步骤S151C,基于所述关键机制将所述消息发送流程对应的流程代码进行抽取处理,得到多个关键流程代码。
具体地,将关键机制对应的代码从消息发送流程对应的流程代码中抽取出来,得到多个关键流程代码。可以理解为:将关键代码机制对应的关键流程代码从消息发送流程代码中进行解耦,以便于实现流式运转。只需要实现一遍,后续新增新渠道不再需要重写代码,未来如果有需要调整流程的需求,也只需要修改一次,而不需要去每个渠道的代码中修改。
步骤S151D,对每个所述关键流程代码进行封装,得到每个所述关键流程代码块以及所述关键流程代码块对应的关键代码接口。
具体地,关键流程节点代码包括create/audit/prepare/send等,关键节点代码可实现以下业务:create实现消息的初始化,寻址等;audit进行频次控制/黑白名单筛选;prepare对发送内容进行组装;send调用下游服务,实现消息推送。解耦后的关键流程代码分别得到各自对应的代码块,将该代码块进行封装,得到代码接口,当后续进行代码块调用时,调用代码块对应的接口即可调用对应的关键流程节点代码。快速实现了流程代码的物理拆分业务,通知类/营销类消息仅在消息入口处做简单区分,即存储的消息队列不同,再调用不同的发送流程:通知类有通知类的发送流程,营销类有营销类的发送流程,实现了物理隔离,得以为通知类提供了快速通道。
在示例性的实施例中,所述步骤S160之前,包括步骤S152:
步骤S152A,获取多个历史发送消息的历史消息类型。步骤S152B,基于所述历史发送类型获取所述消息发送流程中的消息类型流程代码,其中,所述消息类型流程代码是将所述流程代码中除去所述关键流程代码的其他代码,根据所述历史发送类型进行修改得到的。步骤S152C,将所述消息类型流程代码进行封装,得到所述消息代码块以及所述消息代码块的消息代码接口。
具体地,消息类型流程为不同的消息类型进行不同参数处理的特定流程节点,例如微信消息和短信消息的发送都需要进行寻址操作,以发送给相应的用户,但是微信消息与短信消息需要查询的信息不同,微信需要查询用户id,短信需要查询用户的手机号,该寻址的步骤就不同。将消息类型流程代码进行封装得到消息代码块,并为消息代码块设置对应的消息代码接口和消息代码名称。
在示例性的实施例中,所述步骤S160具体包括:
步骤S161,获取所述目标发送流程中的目标关键机制以及所述消息类型的目标消息类型流程。步骤S162,基于所述目标关键机制对应的关键代码接口获取目标关键流程代码块,并基于所述目标消息类型流程对应的消息代码接口获取目标消息代码块。
具体地,关键机制是发送流程中必要发送流程,但业务消息发送时可能有些必要发送流程不需要,例如,只需要进行寻址操作,则获取的关键机制代码为create形成的代码。获取目标发送流程中的目标关键机制,根据目标关键机制的代码接口的接口名称查询到对应的目标关键流程代码块。获取消息类型的目标消息类型流程,根据目标消息类型流程的代码接口的接口名称查询到对应的目标消息代码块。
步骤S180,根据所述目标发送流程调度所述多个目标代码块,以实现所述待发送消息的推送。
具体地,根据目标代码块在目标发送流程中的先后顺序,调用流式消息推送引擎根据先后顺序进行目标代码块的调度,例如,目标关键流程代码块先执行就先调用,目标消息代码块后执行就后调用,调用完成后可以进行线程释放,以对系统进行负载调节,多消息发送时,不会造成拥堵。在较为成熟时期,消息发送平台platform接入新渠道只需要一个人力在一个版本周期即可实现。还可以调用相应的目标关键流程代码与目标消息代码进行组合,得到目标发送流程的目标流程代码,以进行相应的消息发送,有效提升了开发效率。
在示例性地实施例中,流式消息推送引擎可以作为本发明的调度模块,包含在计算机设备中,用于根据目标发送流程调度并执行多个目标代码块,以实现待发送消息的推送。
在示例性的实施例中,所述步骤S180具体包括:
步骤S181,获取所述多个目标代码块在所述目标发送流程中的先后顺序。
步骤S182,通过所述先后顺序调度并启用所述多个目标代码块,以实现所述待发送消息的推送。
具体地,流式消息推送引擎可以将目标关键流程代码与目标消息代码进行流式处理,需要多行代码才能完成的操作,借助于流式处理可以在一行中实现,更加高效。
在示例性的实施例中,所述方法还包括:
将所述目标代码块存储至区块链中。
具体地,将目标代码块上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该目标代码块,以便查证目标代码块是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
实施例二
请继续参阅图2,示出了本发明基于流式的消息推送系统实施例二的程序模块示意图。在本实施例中,基于流式的消息推送系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述基于流式的消息推送方法。本发明实施例所称的程序模块是指能够完成消息功能的一系列计算机程序指令段,比程序本身更适合于描述基于流式的消息推送系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
接收模块200,用于接收待发送消息的发送指令。
具体地,通过消息发送平台接收待发送消息的发送指令,并将待发送消息的发送指令存储至消息发送平台的消息队列中,待发送消息为通知类或者营销类等消息。
第一获取模块202,用于从所述发送指令中获取所述待发送消息的消息类型。
具体地,从消息发送平台中获取发送指令,并且对发送指令进行解析,得到待发送消息的消息类型。
第二获取模块204,用于基于所述消息类型获取相应的目标发送流程。
具体地,预先在数据库中预先设置多个消息类型以及与消息类型对应的发送流程,根据待发送消息的类型进行匹配,得到待发送消息的目标发送流程。
在示例性的实施例中,所述第二获取模块204具体用于:
根据所述消息类型在数据库中进行类型匹配,得到所述消息类型对应的目标类型。将所述目标类型对应的消息发送流程作为所述目标发送流程。
具体地,根据待发送消息的消息类型获取对应的目标发送流程,预先在数据库中存储多个发送流程,基于消息类型进行匹配获取,例如以短信形式发送的通知类消息与以微信形式发送的通知类消息需要获取相应的目标发送流程。
第三获取模块206,用于根据所述目标发送流程获取用于执行所述目标发送流程的多个目标代码块。
具体地,目标代码块包括目标关键流程代码块与消息代码块,根据目标发送流程获取目标关键流程代码块,根据消息类型获取消息代码块,目标关键流程代码块是消息发送流程中的必要流程的代码块,消息代码块是基于业务不同而设置的业务代码块,以基于不同的发送业务,单独实现各个发送业务的发送流程。
在示例性的实施例中,所述第三获取模块206具体用于:
获取所述目标发送流程中的目标关键机制以及所述消息类型的目标消息类型流程。基于所述目标关键机制对应的关键代码接口获取目标关键流程代码块,并基于所述目标消息类型流程对应的消息代码接口获取目标消息代码块。
具体地,关键机制是发送流程中必要发送流程,但业务消息发送时可能有些必要发送流程不需要,例如,只需要进行寻址操作,则获取的关键机制代码为create形成的代码。获取目标发送流程中的目标关键机制,根据目标关键机制的代码接口的接口名称查询到对应的目标关键流程代码块。获取消息类型的目标消息类型流程,根据目标消息类型流程的代码接口的接口名称查询到对应的目标消息代码块。
调度模块208,用于根据所述目标发送流程调度所述多个目标代码块,以基于所述发送指令进行所述待发送消息的推送。
具体地,根据目标代码块在目标发送流程中的先后顺序,调用流式消息推送引擎根据先后顺序进行目标代码块的调度,例如,目标关键流程代码块先执行就先调用,目标消息代码块后执行就后调用,调用完成后可以进行线程释放,以对系统进行负载调节,多消息发送时,不会造成拥堵。在较为成熟时期,消息发送平台platform接入新渠道只需要一个人力在一个版本周期即可实现。还可以调用相应的目标关键流程代码与目标消息代码进行组合,得到目标发送流程的目标流程代码,以进行相应的消息发送,有效提升了开发效率。
在示例性地实施例中,流式消息推送引擎可以作为本发明的调度模块208,包含在计算机设备中,用于根据目标发送流程调度并执行多个目标代码块,以实现待发送消息的推送。
在示例性的实施例中,所述调度模块208具体用于:
获取所述多个目标代码块在所述目标发送流程中的先后顺序。通过所述先后顺序调度并启用所述多个目标代码块,以实现所述待发送消息的推送。
具体地,流式消息推送引擎可以将目标关键流程代码与目标消息代码进行流式处理,需要多行代码才能完成的操作,借助于流式处理可以在一行中实现,更加高效。
实施例三
参阅图3,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图3所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及基于流式的消息推送系统20。其中:
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例二的基于流式的消息推送系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行基于流式的消息推送系统20的程序代码,以实现实施例一的基于流式的消息推送方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述服务器2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述服务器2与外部终端相连,在所述服务器2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。需要指出的是,图3仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的所述基于流式的消息推送系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
例如,图2示出了所述实现基于流式的消息推送系统20实施例二的程序模块示意图,该实施例中,所述基于流式的消息推送系统20可以被划分为所述接收模块200、所述第一获取模块202、所述第二获取模块204、所述第三获取模块206以及所述调度模块208。其中,本发明所称的程序模块是指能够完成消息功能的一系列计算机程序指令段,比程序更适合于描述所述基于流式的消息推送系统20在所述计算机设备2中的执行过程。所述程序模块200-208的具体功能在实施例二中已有详细描述,在此不再赘述。
实施例四
本实施例还提供一种计算机可读存储介质,所述可读存储介质可以是易失性的,也可以是非易失性的,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于计算机程序,被处理器执行时实现实施例一的基于流式的消息推送方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于流式的消息推送方法,其特征在于,包括:
接收待发送消息的发送指令;
从所述发送指令中获取所述待发送消息的消息类型;
基于所述消息类型获取所述待发送消息相应的目标发送流程;
根据所述目标发送流程获取用于执行所述目标发送流程的多个目标代码块;
根据所述目标发送流程调度并执行所述多个目标代码块,以实现所述待发送消息的推送。
2.根据权利要求1所述的基于流式的消息推送方法,其特征在于,所述根据所述目标发送流程获取用于执行所述目标发送流程的多个目标代码块之前,包括:
获取多个发送渠道的消息发送流程信息,所述消息发送流程信息包括消息发送流程对应的流程代码;
抽取所述消息发送流程信息中的关键机制;
基于所述关键机制将所述消息发送流程对应的流程代码进行抽取处理,得到多个关键流程代码;
对每个所述关键流程代码进行封装,得到每个所述关键流程代码块以及所述关键流程代码块对应的关键代码接口。
3.根据权利要求2所述的基于流式的消息推送方法,其特征在于,所述根据所述目标发送流程获取用于执行所述目标发送流程的多个目标代码块之前,包括:
获取多个历史发送消息的历史消息类型;
基于所述历史发送类型获取所述消息发送流程中的消息类型流程代码,其中,所述消息类型流程代码是将所述流程代码中除去所述关键流程代码的其他代码,根据所述历史发送类型进行修改得到的;
将所述消息类型流程代码进行封装,得到所述消息代码块以及所述消息代码块的消息代码接口。
4.根据权利要求3所述的基于流式的消息推送方法,其特征在于,所述目标代码块包括目标关键流程代码块与消息代码块,所述根据所述目标发送流程获取用于执行所述目标发送流程的多个目标代码块包括:
获取所述目标发送流程中的目标关键机制以及所述消息类型的目标消息类型流程;
基于所述目标关键机制对应的关键代码接口获取目标关键流程代码块,并基于所述目标消息类型流程对应的消息代码接口获取目标消息代码块。
5.根据权利要求1所述的基于流式的消息推送方法,其特征在于,所述根据所述目标发送流程调度所述多个目标代码块,以实现所述待发送消息的推送包括:
获取所述多个目标代码块在所述目标发送流程中的先后顺序;
通过所述先后顺序调度并启用所述多个目标代码块,以实现所述待发送消息的推送。
6.根据权利要求1所述的基于流式的消息推送方法,其特征在于,所述基于所述消息类型获取相应的目标发送流程包括:
根据所述消息类型在数据库中进行类型匹配,得到所述消息类型对应的目标类型;
将所述目标类型对应的消息发送流程作为所述目标发送流程。
7.根据权利要求1所述的基于流式的消息推送方法,其特征在于,所述方法还包括:
将所述目标代码块存储至区块链中。
8.一种基于流式的消息推送系统,其特征在于,包括:
接收模块,用于接收待发送消息的发送指令;
第一获取模块,用于从所述发送指令中获取所述待发送消息的消息类型;
第二获取模块,用于基于所述消息类型获取相应的目标发送流程;
第三获取模块,用于根据所述目标发送流程获取用于执行所述目标发送流程的多个目标代码块;
调度模块,用于根据所述目标发送流程调度所述多个目标代码块,以基于所述发送指令进行所述待发送消息的推送。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述的基于流式的消息推送方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-7中任一项所述的基于流式的消息推送方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011616824.3A CN112612632B (zh) | 2020-12-31 | 2020-12-31 | 基于流式的消息推送方法、系统、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011616824.3A CN112612632B (zh) | 2020-12-31 | 2020-12-31 | 基于流式的消息推送方法、系统、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112612632A true CN112612632A (zh) | 2021-04-06 |
CN112612632B CN112612632B (zh) | 2024-03-19 |
Family
ID=75249787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011616824.3A Active CN112612632B (zh) | 2020-12-31 | 2020-12-31 | 基于流式的消息推送方法、系统、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112612632B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872494A (zh) * | 2016-09-28 | 2018-04-03 | 腾讯科技(深圳)有限公司 | 一种消息推送方法和装置 |
CN108848142A (zh) * | 2018-05-31 | 2018-11-20 | 康键信息技术(深圳)有限公司 | 消息推送方法、装置、计算机设备和存储介质 |
CN108958796A (zh) * | 2017-05-23 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 业务请求处理方法及装置、业务请求处理系统 |
CN109190075A (zh) * | 2018-08-20 | 2019-01-11 | 国云科技股份有限公司 | 一种基于多云平台消息类型的消息发送方法 |
-
2020
- 2020-12-31 CN CN202011616824.3A patent/CN112612632B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872494A (zh) * | 2016-09-28 | 2018-04-03 | 腾讯科技(深圳)有限公司 | 一种消息推送方法和装置 |
CN108958796A (zh) * | 2017-05-23 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 业务请求处理方法及装置、业务请求处理系统 |
CN108848142A (zh) * | 2018-05-31 | 2018-11-20 | 康键信息技术(深圳)有限公司 | 消息推送方法、装置、计算机设备和存储介质 |
CN109190075A (zh) * | 2018-08-20 | 2019-01-11 | 国云科技股份有限公司 | 一种基于多云平台消息类型的消息发送方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112612632B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766132A (zh) | 多任务调度方法、应用服务器及计算机可读存储介质 | |
CN109951514B (zh) | 基于云存储的文件处理方法、系统及计算机设备 | |
CN111885197B (zh) | 基于物联网的数据传输方法、装置、云平台和计算机设备 | |
CN110333916B (zh) | 请求消息处理方法、装置、计算机系统及可读存储介质 | |
CN110674440A (zh) | 埋点数据处理方法、系统、计算机设备及可读存储介质 | |
CN111342992B (zh) | 设备信息变更记录的处理方法及系统 | |
CN112286664B (zh) | 任务调度方法、装置、计算机设备及可读存储介质 | |
CN112486915B (zh) | 数据存储方法及装置 | |
CN111666145A (zh) | 消息队列的消息处理方法、系统和计算机设备 | |
CN113179304B (zh) | 消息下发方法、系统、设备及存储介质 | |
CN112559154A (zh) | 消息发送量增长的优化方法、系统、设备及可读存储介质 | |
CN112527484A (zh) | 工作流断点续跑方法、装置、计算机设备及可读存储介质 | |
CN112422450B (zh) | 计算机设备、服务请求的流量控制方法及装置 | |
CN101778004A (zh) | 用于执行基于门限值调度的设备管理的终端和方法 | |
CN117614955A (zh) | 物联网海量数据详单处理方法、装置、物联网平台及介质 | |
CN113407823A (zh) | 一种ios消息推送方法及系统 | |
CN112910987A (zh) | 消息推送方法、系统、装置、设备及存储介质 | |
CN112612632A (zh) | 基于流式的消息推送方法、系统、计算机设备及存储介质 | |
CN112953988B (zh) | 一种基于ftp的数据对接方法及装置 | |
CN113609178A (zh) | 数据推送方法、装置、设备以及存储介质 | |
CN111324654A (zh) | 接口调用方法、系统、计算机设备及计算机可读存储介质 | |
CN110647546A (zh) | 第三方规则引擎生成方法及装置 | |
CN117376300B (zh) | 一种消息全渠道发送方法、装置、电子设备及存储介质 | |
CN113129049B (zh) | 用于模型训练和应用的文件配置方法和系统 | |
CN114679466B (zh) | 区块链网络的共识处理方法、装置、计算机设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |