CN111338822B - 消息处理方法及装置 - Google Patents

消息处理方法及装置 Download PDF

Info

Publication number
CN111338822B
CN111338822B CN202010117101.2A CN202010117101A CN111338822B CN 111338822 B CN111338822 B CN 111338822B CN 202010117101 A CN202010117101 A CN 202010117101A CN 111338822 B CN111338822 B CN 111338822B
Authority
CN
China
Prior art keywords
message
receiving object
layer
generation layer
distribution layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010117101.2A
Other languages
English (en)
Other versions
CN111338822A (zh
Inventor
宋增宽
吴英强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202010117101.2A priority Critical patent/CN111338822B/zh
Publication of CN111338822A publication Critical patent/CN111338822A/zh
Application granted granted Critical
Publication of CN111338822B publication Critical patent/CN111338822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开公开了一种消息处理方法、装置、电子设备和计算机可读存储介质。其中方法包括:获取消息模型;其中,消息模型包含消息生成层、消息分发层和消息展示层;通过消息生成层将源数据生成消息;其中,消息中包含消息生成层与消息分发层约定的标准化协议字段;通过消息分发层确定消息的接收对象;通过消息展示层将消息展示给接收对象。本公开实施例通过获取消息模型;其中,消息模型包含消息生成层、消息分发层和消息展示层;通过消息生成层将源数据生成消息;通过消息分发层确定消息的接收对象;通过消息展示层将消息展示给接收对象,本公开实施例的消息处理方法可以适用于任何消息的生成、分发和展示,具备高复用性和高扩展性。

Description

消息处理方法及装置
技术领域
本公开涉及消息处理技术领域,特别是涉及一种消息处理方法、装置和计算机可读存储介质。
背景技术
移动互联网时代,应用程序即app的消息通知是每个app必不可少的功能。消息因为其一旦推送出去就无法撤回的特性,导致在系统设计的时候非常容易出问题,造成误推、乱推消息的现象。
另外,消息通知的形式固然单一,但是消息生成的背后往往蕴含着非常复杂的逻辑,如何将这种既对立又统一的形式从技术角度尽可能实现一个高复用、高扩展的系统是业内一直没有标准化解决的难题。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开解决的技术问题是提供一种消息处理方法,以至少部分地解决现有技术中消息推送没有标准化解决的技术问题。此外,还提供一种消息处理装置、消息处理硬件装置、计算机可读存储介质和消息处理终端。
为了实现上述目的,根据本公开的一个方面,提供以下技术方案:
一种消息处理方法,包括:
获取消息模型;其中,所述消息模型包含消息生成层、消息分发层和消息展示层;
通过所述消息生成层将源数据生成消息;其中,所述消息中包含所述消息生成层与所述消息分发层约定的标准化协议字段;
通过所述消息分发层确定所述消息的接收对象;
通过所述消息展示层将所述消息展示给所述接收对象。
为了实现上述目的,根据本公开的一个方面,提供以下技术方案:
一种消息处理装置,包括:
模型获取模块,用于获取消息模型;其中,所述消息模型包含消息生成层、消息分发层和消息展示层;
消息生成模块,用于通过所述消息生成层将源数据生成消息;其中,所述消息中包含所述消息生成层与所述消息分发层约定的标准化协议字段;
消息分发模块,用于通过所述消息分发层确定所述消息的接收对象;
消息展示模块,用于通过所述消息展示层将所述消息展示给所述接收对象。
为了实现上述目的,根据本公开的一个方面,提供以下技术方案:
一种电子设备,包括:
存储器,用于存储非暂时性计算机可读指令;以及
处理器,用于运行所述计算机可读指令,使得所述处理器执行时实现上述任一项所述的消息处理方法。
为了实现上述目的,根据本公开的一个方面,提供以下技术方案:
一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行上述任一项所述的消息处理方法。
为了实现上述目的,根据本公开的又一个方面,还提供以下技术方案:
一种消息处理终端,包括上述任一消息处理装置。
本公开实施例通过获取消息模型;其中,所述消息模型包含消息生成层、消息分发层和消息展示层;通过所述消息生成层将源数据生成消息;通过所述消息分发层确定所述消息的接收对象;通过所述消息展示层将所述消息展示给所述接收对象,本公开实施例的消息处理方法可以适用于任何消息的生成、分发和展示,具备高复用性和高扩展性。
上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为根据本公开一个实施例的消息处理方法的流程示意图;
图2为根据本公开一个实施例的消息处理装置的结构示意图;
图3为根据本公开一个实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
实施例一
为了解决现有技术中消息推送没有标准化解决的技术问题,本公开实施例提供一种消息处理方法。如图1所示,该消息处理方法主要包括如下步骤S11至步骤S14。
步骤S11:获取消息模型;其中,所述消息模型包含消息生成层、消息分发层和消息展示层。
具体的,可以预先生成消息模型,并保存。在进行本公开的消息处理时,获取消息模型。
具体的,一条消息的生命周期可以划分为:消息生成、消息分发、消息展现。根据该生命周期,构建消息模型,将该消息模型分为三层即消息生成层、消息分发层、消息展现层。
其中,消息生成层用于根据一定的计算规则将源数据生成消息;消息分发层用于根据消息通过某种规则找到其相匹配的人群;消息展现层用于将消息以推送、存储或者提醒任何一种或多种方式展示给用户即相匹配的人群。
步骤S12:通过所述消息生成层将源数据生成消息;其中,所述消息中包含所述消息生成层与所述消息分发层约定的标准化协议字段。
具体的,对于站内信、通知等常见业务流程,根据目标人群可以将这些常见业务流程中的消息划分为如下三类:订阅消息、群体消息、广播消息。订阅消息为用户订阅的特定消息内容,属于一对一模式;群体消息为展示给特定人群的某一类消息,属于多对多模式;广播消息为发送给全员的消息,属于一对多模式。
其中,消息生成层与消息分发层通过标准化协议进行连接,通过所述消息生成层生成的消息包含如下至少一种标准化协议字段:
(1)MsgID:消息标识
该消息标识为为一标识,用于消息去重。
(2)MsgType:消息类型
消息类型可以为订阅消息、群体消息、广播消息。
(3)Code:业务类型
业务类型可以为证券业务,或者为支付业务,或者为即时通讯(InstantMessaging,IM)业务。当业务类型为证券业务时,可以为A股、美股、港股、基金等,具体可以通过股票代码进行区分。
(4)UserID:接收对象标识
一个可选的示例,当所述接收对象标识为第一预设值时,确定所述接收对象为一个定向接收对象,当所述接收对象标识为第二预设值时,确定所述接收对象为一个特定接收对象集合,且所述特定接收对象集合中的号码包无限扩展。例如,当UserID>0时,表示某个定向接收对象,当UserID<0时,表示某个特定接收对象集合,其对应的号码包可以扩展,例如,可以无限扩展,或者在当前最大容量基础上,可以根据预设条件,扩展至预设容量。
(5)UserType:接收对象类型
接收对象类型用于对接收对象进行区分,可以为个人、群体。当为群体时,可以通过号码包对群体可以无限扩展。且号码包各式各样,维度不一。以股票业务为例,号码包可以分为以下种类的通用号码包:全员号码包、自选股关注用户号码包、自选股特别关注用户号码包、自选股可能关注用户号码包等。如需定制新的号码包,只需要新增UserID常量定义即可。以营销平台为例,号码包可以分为以下种类的通用号码包:新人号码包、根据日活跃度设置的日活跃用户号码包(例如,包含日活跃度超过预设阈值的用户号码)、根据月活跃度设置的月活跃用户号码包(例如,包含月活跃度超过预设阈值的用户号码)、根据购买力度设置的购买力用户号码包(例如,购买力超过预设阈值的用户号码)、根据支付力度设置的支付力用户号码包(例如,成功支付率超过预设阈值的用户号码)等等,可以自由定义任何号码包。
(6)ShowContent:显示文案
(7)ShowTitle:显示标题
(8)PushContent:推送文案
(9)PushTitle:推送标题
(10)PushEnabled:推送开关
当推送开关的字段为true时,表示需要推送消息,当推送开关的字段false时,表示禁止推送消息。
(11)RemindEnabled:提醒开关
当提醒开关的字段为true时,表示需要提醒,当提醒开关的字段为false时,表示禁止提醒。
(12)SaveEnabled:保存开关
当保存开关的字段为true时,表示需要保存消息,当保存开关的字段为false时,则禁止保存消息。
(13)Scheme:消息跳转标志(客户端跳转参考依据)
(14)Timestamp:消息生成时间
上述字段是消息生成的最通用字段,任何消息类型的修改(包括新增消息类型、删除已有的消息类型、修改已有的消息类型),只需要开发相应的业务逻辑,实现上述协议,将其送入消息等待队列中即可。
步骤S13:通过所述消息分发层确定所述消息的接收对象。
其中,消息分发层用于根据消息通过某种规则找到其相匹配的人群即接收对象,可以为个人或群体。
步骤S14:通过所述消息展示层将所述消息展示给所述接收对象。
其中,消息展现层用于将消息以推送、存储或者提醒任何一种或多种方式展示给用户即接收对象。
本实施例通过获取消息模型;其中,所述消息模型包含消息生成层、消息分发层和消息展示层;通过所述消息生成层将源数据生成消息;通过所述消息分发层确定所述消息的接收对象;通过所述消息展示层将所述消息展示给所述接收对象,本实施例的消息处理方法可以适用于任何消息的生成、分发和展示,具备高复用性和高扩展性。
在一个可选的实施例中,所述标准化协议字段包含接收对象标识,步骤S13具体包括:
步骤S131:通过所述消息分发层从所述标准化协议字段中获取所述接收对象标识。
步骤S132:当所述接收对象标识为第一预设值时,确定所述接收对象为一个定向接收对象,当所述接收对象标识为第二预设值时,确定所述接收对象为一个特定接收对象集合。
其中,第一预设值和第二预设值为不同的两个值,具体可以由用户自定义设置。例如,当UserID>0时,表示某个定向接收对象,当UserID<0时,表示某个特定接收对象集合,其对应的号码包可以扩展,例如,可以无限扩展。关于本步骤对应号码包及接收对象标识的描述具体参见上述步骤S12中的相关描述,这里不再赘述。
在一个可选的实施例中,步骤S14具体包括:
若所述接收对象为一个定向接收对象,则通过所述消息展示层将所述消息展示给所述定向接收对象。若所述接收对象为一个特定接收对象集合,则通过所述消息展示层将所述消息展示给所述特定接收对象集合中的每个特定接收对象。
在一个可选的实施例中,步骤S14具体包括:
通过所述消息展示层解析所述号码包,获取所述特定接收对象集合中每个特定接收对象的通信号码;采用所述通信号码将所述消息展示给对应的特定接收对象。
其中,通信号码可以为电话号码、账号或邮箱等。本实施例将这些通信号码以号码包的形式保存在所述特定接收对象集合中。所述消息展示层通过解析所述号码包,获取所述特定接收对象集合中每个特定接收对象的通信号码,并采用所述通信号码将所述消息展示给对应的特定接收对象。此外,还可以直接将通信号码存储在所述特定接收对象集合中,即所述特定接收对象集合由每个特定接收对象的通信号码组成。所述消息展示层可以从所述特定接收对象集合中直接获取通信号码,采用所述通信号码将所述消息展示给对应的特定接收对象。
在一个可选的实施例中,所述方法还包括:
步骤S15:在所述消息生成层提供接收对象定制化接口,以供业务方自定义修改接收对象类型和/或接收对象信息。
其中,自定义的可以是接收对象类型,也可以是接收对象信息(例如,信息发送的条件、时机等)。
具体的,其中,消息生成层与消息分发层通过标准化协议进行连接,通过在所述消息生成层定义如下标准化协议字段:消息标识、消息类型、业务标识、接收对象标识、接收对象类型、显示文案、显示标题、推送文案、推送标题、推送开关、提醒开关、保存开关、消息跳转标识和消息生成时间。各个字段的解释具体参见上述步骤S12,任何自定义消息类型的修改,只需要采用上述标准化协议字段编写代码实现相应的业务逻辑即可。
在一个可选的实施例中,所述方法还包括:
步骤S16:通过所述消息生成层将所述修改接收对象类型和/或接收对象信息的相关代码生成打包文件。
对于步骤S15和步骤S16,为业务方提供了定制化的能力。例如,如果业务方需要修改接收对象,可以将修改接收对象获取规则写成代码片段,然后将代码片段生成打包文件(例如.so文件),然后通过动态加载打包文件的方式获取修改接收对象,具体参见下述步骤S131-步骤S132,本实施例在满足通用性的同时保证了自定义能力。相应的,步骤S13具体包括:
步骤S131:通过所述消息分发层动态加载所述打包文件,通过解析所述打包文件获取所述修改接收对象类型;
步骤S132:通过所述消息分发层根据所述修改接收对象类型和/或接收对象信息确定所述消息的接收对象。
本实施例为业务方提供了接收对象定制化接口,例如,如果业务方需要修改接收对象号码包,可以通过写入代码片段的方式打包成.so文件实行动态加载,在满足通用性的同时保证了自定义能力。
在一个可选的实施例中,所述消息生成层、所述消息分发层和所述消息展示层针对不同业务类型分别隔离独立部署。
具体的,在消息生成层、所述消息分发层和所述消息展示层,根据不同业务类型对对应的对消息任务进行隔离,并进行独立部署,在代码设计上完成粗粒度的解耦。例如,证券业务的消息任务、支付业务的消息任务和IM业务的消息任务,分别隔离独立部署。其中,消息任务包括消息的生成、分发和展示。这样可以实现业务间的容灾,实现不同业务类型间互不影响。即消息生成层、分发层、展示层间只有当其属于相同业务类型的时候才能通信,属于不同业务类型时不能通信。
在一个可选的实施例中,所述消息生成层、所述消息分发层和所述消息展示层中针对每种业务类型的不同消息类型分别独立部署。具体的,在所述消息模型中,针对每种业务类型,所述消息生成层、所述消息分发层和所述消息展示层对不同消息类型的消息任务也分别独立部署进行解耦,例如,针对不同市场(A股、美股、港股、基金等)的消息任务,所述消息生成层、所述消息分发层和所述消息展示层在代码设计上分别独立部署,充分进行解耦。
在一个可选的实施例中,步骤S12具体包括:
在所述消息生成层,根据消息类型采用对应的通用接口将源数据生成消息;其中,一种通用接口对应一种消息类型。
本实施例针对不同消息类型的消息任务定义了统一的接口,每一类消息任务分别实现标准化接口,一种消息类型对应一种通用接口。具体可采用消息任务列表来维护消息类型与通用接口的对应关系。在消息生成层启动的时候,会遍历消息任务列表,直接调用对应的通用接口,执行整个消息任务。
其中,所述通用接口包括以下至少一个接口:源数据获取接口、文案配置接口、标题配置接口和消息格式配置接口。
具体的,本实施例通过采用通用接口的方式,将行为统一抽象为流水线模式了,例如,统一接口可以定义如下:
(1)Produce函数,源数据获取接口;
(2)Content函数,文案配置接口;
(3)Title函数,标题配置接口;
(4)Format函数,消息格式配置接口。
每次业务方需要修改消息类型时,无需对已有工程代码进行任何修改,只需要编写代码实现修改消息类型对应的类,并实现对应的上述4种通用接口方法即可。这样在消息生成层启动的时候,会遍历消息任务列表,直接调用对应的通用接口,执行整个消息任务,类似流水线模型,即新开发的消息只需通过编写代码注册到流水线上,就可以源源不断的完成消息生产。
本领域技术人员应能理解,在上述各个实施例的基础上,还可以进行明显变型(例如,对所列举的模式进行组合)或等同替换。
在上文中,虽然按照上述的顺序描述了消息处理方法实施例中的各个步骤,本领域技术人员应清楚,本公开实施例中的步骤并不必然按照上述顺序执行,其也可以倒序、并行、交叉等其他顺序执行,而且,在上述步骤的基础上,本领域技术人员也可以再加入其他步骤,这些明显变型或等同替换的方式也应包含在本公开的保护范围之内,在此不再赘述。
下面为本公开装置实施例,本公开装置实施例可用于执行本公开方法实施例实现的步骤,为了便于说明,仅示出了与本公开实施例相关的部分,具体技术细节未揭示的,请参照本公开方法实施例。
实施例二
为了解决现有技术中消息推送没有标准化解决的技术问题,本公开实施例提供一种消息处理装置。该装置可以执行上述实施例一所述的消息处理方法实施例中的步骤。如图2所示,该装置主要包括:模型获取模块21、消息生成模块22、消息分发模块23和消息展示模块24;其中,
模型获取模块21用于获取消息模型;其中,所述消息模型包含消息生成层、消息分发层和消息展示层;
消息生成模块22用于通过所述消息生成层将源数据生成消息;其中,所述消息中包含所述消息生成层与所述消息分发层约定的标准化协议字段;
消息分发模块23用于通过所述消息分发层确定所述消息的接收对象;
消息展示模块24用于通过所述消息展示层将所述消息展示给所述接收对象。
进一步的,所述标准化协议字段包含以下至少一种字段:消息标识、消息类型、业务标识、接收对象标识、接收对象类型、显示文案、显示标题、推送文案、推送标题、推送开关、提醒开关、保存开关、消息跳转标识和消息生成时间。
进一步的,所述标准化协议字段包含接收对象标识,所述消息分发模块23具体用于:通过所述消息分发层从所述标准化协议字段中获取所述接收对象标识;当所述接收对象标识为第一预设值时,确定所述接收对象为一个定向接收对象,当所述接收对象标识为第二预设值时,确定所述接收对象为一个特定接收对象集合。
进一步的,所述特定接收对象集合由号码包组成,且所述号码包可扩展。
进一步的,所述消息展示模块24具体用于:若所述接收对象为一个定向接收对象,则通过所述消息展示层将所述消息展示给所述定向接收对象;若所述接收对象为一个特定接收对象集合,则通过所述消息展示层将所述消息展示给所述特定接收对象集合中的每个特定接收对象。
进一步的,所述消息展示模块24具体用于:通过所述消息展示层解析所述号码包,获取所述特定接收对象集合中每个特定接收对象的通信号码;采用所述通信号码将所述消息展示给对应的特定接收对象。
进一步的,所述装置还包括:定制模块25;
定制模块25用于在所述消息生成层提供接收对象定制化接口,以供业务方自定义修改接收对象类型和/或接收对象信息。
进一步的,所述装置还包括:打包文件生成模块26;
打包文件生成模块26用于通过所述消息生成层将所述修改接收对象类型和/或接收对象信息的相关代码生成打包文件;
相应的,所述消息分发模块23具体用于:通过所述消息分发层动态加载所述打包文件,通过解析所述打包文件获取所述修改接收对象类型和/或接收对象信息;通过所述消息分发层根据所述修改接收对象类型和/或接收对象信息确定所述消息的接收对象。
进一步的,所述消息生成层、所述消息分发层和所述消息展示层针对不同业务类型分别隔离独立部署。
进一步的,所述消息生成层、所述消息分发层和所述消息展示层针对每种业务类型的不同消息类型分别独立部署。
进一步的,
所述消息生成模块22具体用于:在所述消息生成层,根据消息类型采用对应的通用接口将源数据生成消息;其中,一种通用接口对应一种消息类型。
进一步的,所述通用接口包括以下至少一个接口:源数据获取接口、文案配置接口、标题配置接口和消息格式配置接口。
有关消息处理装置实施例的工作原理、实现的技术效果等详细说明可以参考前述消息处理方法实施例中的相关说明,在此不再赘述。
实施例三
下面参考图3,其示出了适于用来实现本公开实施例的电子设备300的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图3所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取消息模型;其中,所述消息模型包含消息生成层、消息分发层和消息展示层;通过所述消息生成层将源数据生成消息;其中,所述消息中包含所述消息生成层与所述消息分发层约定的标准化协议字段;通过所述消息分发层确定所述消息的接收对象;通过所述消息展示层将所述消息展示给所述接收对象。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,提供了一种消息处理方法,包括:
获取消息模型;其中,所述消息模型包含消息生成层、消息分发层和消息展示层;
通过所述消息生成层将源数据生成消息;其中,所述消息中包含所述消息生成层与所述消息分发层约定的标准化协议字段;
通过所述消息分发层确定所述消息的接收对象;
通过所述消息展示层将所述消息展示给所述接收对象。
进一步的,所述标准化协议字段包含以下至少一种字段:消息标识、消息类型、业务标识、接收对象标识、接收对象类型、显示文案、显示标题、推送文案、推送标题、推送开关、提醒开关、保存开关、消息跳转标识和消息生成时间。
进一步的,所述标准化协议字段包含接收对象标识,所述通过所述消息分发层确定所述消息的接收对象,包括:
通过所述消息分发层从所述标准化协议字段中获取所述接收对象标识;
当所述接收对象标识为第一预设值时,确定所述接收对象为一个定向接收对象,当所述接收对象标识为第二预设值时,确定所述接收对象为一个特定接收对象集合。
进一步的,所述特定接收对象集合由号码包组成,且所述号码包可扩展。
进一步的,所述通过所述消息展示层将所述消息展示给所述接收对象,包括:
若所述接收对象为一个定向接收对象,则通过所述消息展示层将所述消息展示给所述定向接收对象;
若所述接收对象为一个特定接收对象集合,则通过所述消息展示层将所述消息展示给所述特定接收对象集合中的每个特定接收对象。
进一步的,所述通过所述消息展示层将所述消息展示给所述接收对象,包括:
通过所述消息展示层解析所述号码包,获取所述特定接收对象集合中每个特定接收对象的通信号码;
采用所述通信号码将所述消息展示给对应的特定接收对象。
进一步的,所述方法还包括:
在所述消息生成层提供接收对象定制化接口,以供业务方自定义修改接收对象类型和/或接收对象信息。
进一步的,所述方法还包括:
通过所述消息生成层将所述修改接收对象类型和/或接收对象信息的相关代码生成打包文件;
相应的,所述通过所述消息分发层确定所述消息的接收对象,包括:
通过所述消息分发层动态加载所述打包文件,通过解析所述打包文件获取所述修改接收对象类型和/或接收对象信息;
通过所述消息分发层根据所述修改接收对象类型和/或接收对象信息确定所述消息的接收对象。
进一步的,所述消息生成层、所述消息分发层和所述消息展示层针对不同业务类型分别隔离独立部署。
进一步的,所述消息生成层、所述消息分发层和所述消息展示层针对每种业务类型的不同消息类型分别独立部署。
进一步的,所述通过所述消息生成层将源数据生成消息,包括:
在所述消息生成层,根据消息类型采用对应的通用接口将源数据生成消息;其中,一种通用接口对应一种消息类型。
进一步的,所述通用接口包括以下至少一个接口:源数据获取接口、文案配置接口、标题配置接口和消息格式配置接口。
根据本公开的一个或多个实施例,提供了一种消息处理装置,包括:
模型获取模块,用于获取消息模型;其中,所述消息模型包含消息生成层、消息分发层和消息展示层;
消息生成模块,用于通过所述消息生成层将源数据生成消息;其中,所述消息中包含所述消息生成层与所述消息分发层约定的标准化协议字段;
消息分发模块,用于通过所述消息分发层确定所述消息的接收对象;
消息展示模块,用于通过所述消息展示层将所述消息展示给所述接收对象。
进一步的,所述标准化协议字段包含以下至少一种字段:消息标识、消息类型、业务标识、接收对象标识、接收对象类型、显示文案、显示标题、推送文案、推送标题、推送开关、提醒开关、保存开关、消息跳转标识和消息生成时间。
进一步的,所述标准化协议字段包含接收对象标识,所述消息分发模块具体用于:通过所述消息分发层从所述标准化协议字段中获取所述接收对象标识;当所述接收对象标识为第一预设值时,确定所述接收对象为一个定向接收对象,当所述接收对象标识为第二预设值时,确定所述接收对象为一个特定接收对象集合。
进一步的,所述特定接收对象集合由号码包组成,且所述号码包可扩展。
进一步的,所述消息展示模块具体用于:若所述接收对象为一个定向接收对象,则通过所述消息展示层将所述消息展示给所述定向接收对象;若所述接收对象为一个特定接收对象集合,则通过所述消息展示层将所述消息展示给所述特定接收对象集合中的每个特定接收对象。
进一步的,所述消息展示模块具体用于:通过所述消息展示层解析所述号码包,获取所述特定接收对象集合中每个特定接收对象的通信号码;采用所述通信号码将所述消息展示给对应的特定接收对象。
进一步的,所述装置还包括:
定制模块,用于在所述消息生成层提供接收对象定制化接口,以供业务方自定义修改接收对象类型和/或接收对象信息。
进一步的,所述装置还包括:
打包文件生成模块,用于通过所述消息生成层将所述修改接收对象类型和/或接收对象信息的相关代码生成打包文件;
相应的,所述消息分发模块具体用于:通过所述消息分发层动态加载所述打包文件,通过解析所述打包文件获取所述修改接收对象类型和/或接收对象信息;通过所述消息分发层根据所述修改接收对象类型和/或接收对象信息确定所述消息的接收对象。
进一步的,所述消息生成层、所述消息分发层和所述消息展示层针对不同业务类型分别隔离独立部署。
进一步的,所述消息生成层、所述消息分发层和所述消息展示层针对每种业务类型的不同消息类型分别独立部署。
进一步的,所述消息生成模块具体用于:在所述消息生成层,根据消息类型采用对应的通用接口将源数据生成消息;其中,一种通用接口对应一种消息类型。
进一步的,所述通用接口包括以下至少一个接口:源数据获取接口、文案配置接口、标题配置接口和消息格式配置接口。
根据本公开的一个或多个实施例,提供了一种电子设备,包括:
存储器,用于存储非暂时性计算机可读指令;以及
处理器,用于运行所述计算机可读指令,使得所述处理器执行时实现上述的消息处理方法。
根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行上述的消息处理方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (14)

1.一种消息处理方法,其特征在于,包括:
获取消息模型;其中,所述消息模型包含消息生成层、消息分发层和消息展示层;
通过所述消息生成层将源数据生成消息;其中,所述消息中包含所述消息生成层与所述消息分发层约定的标准化协议字段,所述标准化协议字段包含接收对象标识;
通过所述消息分发层确定所述消息的接收对象,包括:通过所述消息分发层从所述标准化协议字段中获取所述接收对象标识;当所述接收对象标识为第一预设值时,确定所述接收对象为一个定向接收对象,当所述接收对象标识为第二预设值时,确定所述接收对象为一个特定接收对象集合;
通过所述消息展示层将所述消息展示给所述接收对象。
2.根据权利要求1所述的方法,其特征在于,所述标准化协议字段包含以下至少一种字段:消息标识、消息类型、业务标识、接收对象标识、接收对象类型、显示文案、显示标题、推送文案、推送标题、推送开关、提醒开关、保存开关、消息跳转标识和消息生成时间。
3.根据权利要求1所述的方法,其特征在于,所述特定接收对象集合由号码包组成,且所述号码包可扩展。
4.根据权利要求1所述的方法,其特征在于,所述通过所述消息展示层将所述消息展示给所述接收对象,包括:
若所述接收对象为一个定向接收对象,则通过所述消息展示层将所述消息展示给所述定向接收对象;
若所述接收对象为一个特定接收对象集合,则通过所述消息展示层将所述消息展示给所述特定接收对象集合中的每个特定接收对象。
5.根据权利要求3所述的方法,其特征在于,所述通过所述消息展示层将所述消息展示给所述接收对象,包括:
通过所述消息展示层解析所述号码包,获取所述特定接收对象集合中每个特定接收对象的通信号码;
采用所述通信号码将所述消息展示给对应的特定接收对象。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述消息生成层提供接收对象定制化接口,以供业务方自定义修改接收对象类型和/或接收对象信息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
通过所述消息生成层将所述修改接收对象类型和/或接收对象信息的相关代码生成打包文件;
相应的,所述通过所述消息分发层确定所述消息的接收对象,包括:
通过所述消息分发层动态加载所述打包文件,通过解析所述打包文件获取所述修改接收对象类型和/或接收对象信息;
通过所述消息分发层根据所述修改接收对象类型和/或接收对象信息确定所述消息的接收对象。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述消息生成层、所述消息分发层和所述消息展示层针对不同业务类型分别隔离独立部署。
9.根据权利要求1-7任一项所述的方法,其特征在于,所述消息生成层、所述消息分发层和所述消息展示层针对每种业务类型的不同消息类型分别独立部署。
10.根据权利要求1-7任一项所述的方法,其特征在于,所述通过所述消息生成层将源数据生成消息,包括:
在所述消息生成层,根据消息类型采用对应的通用接口将源数据生成消息;其中,一种通用接口对应一种消息类型。
11.根据权利要求10所述的方法,其特征在于,所述通用接口包括以下至少一个接口:源数据获取接口、文案配置接口、标题配置接口和消息格式配置接口。
12.一种消息处理装置,其特征在于,包括:
模型获取模块,用于获取消息模型;其中,所述消息模型包含消息生成层、消息分发层和消息展示层;
消息生成模块,用于通过所述消息生成层将源数据生成消息;其中,所述消息中包含所述消息生成层与所述消息分发层约定的标准化协议字段,所述标准化协议字段包含接收对象标识;
消息分发模块,用于通过所述消息分发层确定所述消息的接收对象,包括:通过所述消息分发层从所述标准化协议字段中获取所述接收对象标识;当所述接收对象标识为第一预设值时,确定所述接收对象为一个定向接收对象,当所述接收对象标识为第二预设值时,确定所述接收对象为一个特定接收对象集合;
消息展示模块,用于通过所述消息展示层将所述消息展示给所述接收对象。
13.一种电子设备,包括:
存储器,用于存储非暂时性计算机可读指令;以及处理器,用于运行所述计算机可读指令,使得所述处理器执行时实现根据权利要求1-11任一项所述的消息处理方法。
14.一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行权利要求1-11任一项所述的消息处理方法。
CN202010117101.2A 2020-02-25 2020-02-25 消息处理方法及装置 Active CN111338822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010117101.2A CN111338822B (zh) 2020-02-25 2020-02-25 消息处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010117101.2A CN111338822B (zh) 2020-02-25 2020-02-25 消息处理方法及装置

Publications (2)

Publication Number Publication Date
CN111338822A CN111338822A (zh) 2020-06-26
CN111338822B true CN111338822B (zh) 2023-06-27

Family

ID=71183696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010117101.2A Active CN111338822B (zh) 2020-02-25 2020-02-25 消息处理方法及装置

Country Status (1)

Country Link
CN (1) CN111338822B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112925512A (zh) * 2021-01-29 2021-06-08 北京字节跳动网络技术有限公司 一种消息发送方法、装置、电子设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003186855A (ja) * 2001-12-20 2003-07-04 Fujitsu Ltd 型照合によるオブジェクト連携システムおよび方法
US8028025B2 (en) * 2006-05-18 2011-09-27 International Business Machines Corporation Apparatus, system, and method for setting/retrieving header information dynamically into/from service data objects for protocol based technology adapters
US10048992B2 (en) * 2011-04-13 2018-08-14 Microsoft Technology Licensing, Llc Extension of schematized XML protocols
FR2978316B1 (fr) * 2011-07-22 2013-08-23 Thales Sa Systeme de distribution de donnees a base d'echange de messages asynchrones
CN105610695B (zh) * 2015-12-21 2021-01-12 阿里巴巴集团控股有限公司 对象分配方法及装置
CN107908483B (zh) * 2017-10-16 2020-06-16 福建天泉教育科技有限公司 一种消息管理方法及终端
CN110096379B (zh) * 2019-04-30 2022-09-09 武汉斗鱼鱼乐网络科技有限公司 基于通用协议的消息分发方法、装置、设备及存储介质
CN110263276B (zh) * 2019-06-14 2021-10-15 北京字节跳动网络技术有限公司 消息分发方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111338822A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN111756917B (zh) 信息交互方法、电子设备和计算机可读介质
CN110633126B (zh) 信息显示方法、装置和电子设备
CN111309415B (zh) 应用程序的用户界面ui信息处理方法、装置及电子设备
CN111432001B (zh) 用于跳转场景的方法、装置、电子设备和计算机可读介质
CN111596991A (zh) 交互操作执行方法、装置和电子设备
CN111338822B (zh) 消息处理方法及装置
CN111596992B (zh) 导航栏展示方法、装置和电子设备
CN113391860B (zh) 服务请求处理方法、装置、电子设备及计算机存储介质
CN110442416B (zh) 用于展示信息的方法、电子设备和计算机可读介质
CN111752644A (zh) 接口模拟方法、装置、设备及存储介质
CN111596823A (zh) 页面显示方法、装置和电子设备
CN114860213A (zh) 一种应用程序包生成方法、装置、设备及介质
CN111552469B (zh) 应用程序工程中的文件处理方法、装置及电子设备
CN113835790B (zh) 基于Android的分页页面显示方法和装置
CN111274513B (zh) 窗口显示方法、装置、终端及存储介质
CN111240738B (zh) 文件处理方法、装置、设备及介质
CN114064983A (zh) 数据的存储结构、使用方法、存储方法及相关设备
CN111835917A (zh) 活动范围展示方法、装置、设备和计算机可读介质
CN112307394A (zh) 信息显示方法、装置和电子设备
CN114006880B (zh) 一种消息回执的获取方法、装置、电子设备和存储介质
CN115314456B (zh) 交互方法、装置和电子设备
CN111694679B (zh) 消息处理方法、装置和电子设备
CN111489286B (zh) 图片处理方法、装置、设备和介质
CN111258917B (zh) 软件测试系统、方法与装置、计算机可读存储介质
CN115065655B (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