CN109189502A - 一种基于即时通讯公众平台的消息处理方法和相关设备 - Google Patents
一种基于即时通讯公众平台的消息处理方法和相关设备 Download PDFInfo
- Publication number
- CN109189502A CN109189502A CN201811082571.9A CN201811082571A CN109189502A CN 109189502 A CN109189502 A CN 109189502A CN 201811082571 A CN201811082571 A CN 201811082571A CN 109189502 A CN109189502 A CN 109189502A
- Authority
- CN
- China
- Prior art keywords
- message
- plug
- unit
- card
- public platform
- 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.)
- Pending
Links
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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
Abstract
本发明实施例提供了一种基于即时通讯公众平台的消息处理方法和相关设备,该方法包括:接收即时通讯公众平台服务器发送的消息,其中,所述消息为所述即时通讯公众平台服务器响应即时通讯客户端向即时通讯公众号发起的请求生成;根据所述消息和预设配置的插件管理数据确定对应的插件;调用所述插件处理所述消息。一方面,插件之间相互独立,互不影响,可提高即时通讯系统的稳定性、健壮性、可用性,另一方面,插件的存储、选择之间解耦,插件遵循约定的接口协议,那么,插件可由不同的平台与语言进行开发,不同的插件可由不同的技术人员并行开发,大大提高了开发效率。
Description
技术领域
本发明涉及即时通讯的技术领域,特别是涉及一种基于即时通讯平台的消息处理方法和相关设备。
背景技术
在即时通讯系统中,个人、组织、企业等可以申请开通即时通讯公众号,可在即时通讯系统上实现和特定群体的文字、图片、语音、视频的全方位沟通、互动。
例如,对于餐饮企业,其可以通过即时通讯公众号为用户提供会员、订餐、外卖、菜单等服务。
又例如,游戏产品在上线前,可以通过即时通讯公众号向玩家发放游戏内测激活码,游戏产品在上线之后,需要长期保持和玩家互动、保持玩家粘度和活跃度,那么可以通过即时通讯公众号提供积分系统,玩家通过回复关键词答题、点击菜单等操作获取积分,并通过即时通讯公众号提供积分抽奖、兑换功能。
目前,在即时通讯系统中,是以即时通讯公众号作为单位进行开发的,每次接入一个即时通讯公众号,需要添加一个java类,即每个java类对应一个即时通讯公众号,这个类可以继承父方法,一些即时通讯公众号的功能是以父类方法的形式存在的。
即时通讯消息进入即时通讯系统之后,先判断该即时通讯消息由哪个即时通讯公众号对应的类来处理的,然后再判断该类中哪个方法来处理即时通讯消息,最后调用该方法来处理即时通讯消息并返回消息处理结果。
每个即时通讯公众号的业务不同,使得功能模块的开发需求高,定制的功能模块在对应的类里面开发,公用的功能模块在父类里面开发,这样功能模块之间耦合度高,相互影响,新增、修改功能模块都要经过开发、测试、打包、上线部署等流程,导致开发周期较长,开发成本高。
并且,由于功能模块之间相互影响,使得功能模块之间的开发也会相互影响,开发独立性差,一般是内部团队成员进行开发。
发明内容
本发明实施例提出了一种基于即时通讯平台的消息处理方法和相关设备,以解决即时通讯公众号的功能模块耦合度高导致的开发成本高、开发独立性差的问题。
依据本发明的一个方面,提供了一种基于即时通讯公众平台的消息处理方法,包括:
接收即时通讯公众平台服务器发送的消息,其中,所述消息为所述即时通讯公众平台服务器响应即时通讯客户端向即时通讯公众号发起的请求生成;
根据所述消息和预设配置的插件管理数据确定对应的插件;
调用所述插件处理所述消息。
可选地,所述根据所述消息和预设配置的插件管理数据确定对应的插件,包括:
从所述消息中提取所述即时通讯公众号的公众号标识、以及、业务参数;
将所述公众号标识与所述业务参数发送至预置的接口配置库,以查询所述公众号标识与所述业务参数对应的插件。
可选地,所述业务参数包括事件值、关键词;
所述从所述消息中提取所述即时通讯公众号的公众号标识、以及、业务参数,包括:
识别所述消息的消息类型;
若所述消息类型为事件消息,则从所述消息中提取事件值;
若所述消息类型为文本消息,则从所述消息中提取关键词。
可选地,所述调用所述插件处理所述消息,包括:
从所述接口配置库中获取所述公众号标识与所述业务参数对应的插件接口;
根据所述插件接口调用所述插件处理所述消息。
可选地,在所述接收即时通讯公众平台服务器发送的消息之后,还包括:
根据所述消息在预设的业务中提取所述插件对应的插件接口;
根据所述插件接口调用所述插件处理所述消息。
可选地,所述根据所述消息在预设的业务中提取所述插件对应的插件接口,包括:
从所述消息中提取用户标识;
查询所述用户标识对应的业务;
在所述业务中提取所述插件对应的插件接口。
可选地,所述根据所述插件接口调用所述插件处理所述消息,包括:
将所述消息中的参数设置为所述插件接口的参数;
访问所述插件接口,以将所述参数发送至位于预置的插件库中的所述插件进行处理。
可选地,还包括:
接收所述插件处理所述消息获得的消息处理结果;
将所述消息处理结果发送至所述即时通讯公众平台服务器,以通过所述即时通讯公众号发送至所述即时通讯客户端。
可选地,还包括:
从所述消息处理结果中读取业务的状态;
若所述业务的状态为业务未完成,则将所述插件接口存储至所述业务中;
若所述业务的状态为业务已完成,则删除所述插件接口。
可选地,所述将所述插件接口存储至所述业务中,包括:
从所述消息中提取用户标识;
在业务中存储所述用户标识与所述插件接口之间的关联关系。
根据本发明的另一方面,提供了一种基于即时通讯公众平台的消息处理装置,包括:
消息接收模块,用于接收即时通讯公众平台服务器发送的消息,其中,所述消息为所述即时通讯公众平台服务器响应即时通讯客户端向即时通讯公众号发起的请求生成;
插件确定模块,用于根据所述消息和预设配置的插件管理数据确定对应的插件;
插件调用模块,用于调用所述插件处理所述消息。
可选地,所述插件确定模块包括:
消息参数提取子模块,用于从所述消息中提取所述即时通讯公众号的公众号标识、以及、业务参数;
消息参数发送子模块,用于将所述公众号标识与所述业务参数发送至预置的接口配置库,以查询所述公众号标识与所述业务参数对应的插件。
可选地,所述业务参数包括事件值、关键词;
所述消息参数提取子模块包括:
消息类型识别单元,用于识别所述消息的消息类型;
事件值提取单元,用于若所述消息类型为事件消息,则从所述消息中提取事件值;
关键词提取单元,用于若所述消息类型为文本消息,则从所述消息中提取关键词。
可选地,所述插件调用模块包括:
插件接口获取子模块,用于从所述接口配置库中获取所述公众号标识与所述业务参数对应的插件接口;
接口首次调用子模块,用于根据所述插件接口调用所述插件处理所述消息。
可选地,所述接口首次调用子模块包括:
参数首次设置单元,用于将所述消息中的参数设置为所述插件接口的参数;
接口首次访问单元,用于访问所述插件接口,以将所述参数发送至位于预置的插件库中的所述插件进行处理。
可选地,还包括:
插件接口提取模块,用于根据所述消息在预设的业务中提取所述插件对应的插件接口;
接口非首次调用模块,用于根据所述插件接口调用所述插件处理所述消息。
可选地,所述插件接口提取模块包括:
用户标识提取子模块,用于从所述消息中提取用户标识;
业务查询子模块,用于查询所述用户标识对应的业务;
业务提取子模块,用于在所述业务中提取所述插件对应的插件接口。
可选地,所述接口非首次调用模块包括:
参数非首次设置子模块,用于将所述消息中的参数设置为所述插件接口的参数;
接口非首次访问子模块,用于访问所述插件接口,以将所述参数发送至位于预置的插件库中的所述插件进行处理。
可选地,还包括:
消息处理结果接收模块,用于接收所述插件处理所述消息获得的消息处理结果;
消息处理结果发送模块,用于将所述消息处理结果发送至所述即时通讯公众平台服务器,以通过所述即时通讯公众号发送至所述即时通讯客户端。
可选地,还包括:
状态读取模块,用于从所述消息处理结果中读取业务的状态;
插件接口存储模块,用于若所述业务的状态为业务未完成,则将所述插件接口存储至所述业务中;
插件接口删除模块,用于若所述业务的状态为业务已完成,则删除所述插件接口。
可选地,所述插件接口存储模块包括:
用户标识提取子模块,用于从所述消息中提取用户标识;
关联存储子模块,用于在业务中存储所述用户标识与所述插件接口之间的关联关系。
根据本发明的另一方面,提供了一种服务器,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现所述的基于即时通讯平台的消息处理方法的步骤。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现所述的基于即时通讯平台的消息处理方法的步骤。
本发明实施例包括以下优点:
在本发明实施例中,接收即时通讯公众平台服务器发送的、即时通讯客户端请求即时通讯公众号时生成的消息,根据该消息和预设配置的插件管理数据确定对应的插件,调用该插件处理该消息,将即时通讯公众号的功能模块以插件的形式进行开发、运行,一方面,插件之间相互独立,互不影响,可提高即时通讯系统的稳定性、健壮性、可用性,另一方面,插件的存储、选择之间解耦,插件遵循约定的接口协议,那么,插件可由不同的平台与语言进行开发,不同的插件可由不同的技术人员并行开发,大大提高了开发效率。
附图说明
图1是本发明一个实施例的一种即时通讯系统的结构示意图;
图2是本发明一个实施例的一种基于即时通讯平台的消息处理方法的步骤流程图;
图3是本发明一个实施例的另一种基于即时通讯平台的消息处理方法的步骤流程图;
图4是本发明一个实施例的一种基于即时通讯平台的消息处理装置的结构框图;
图5是本发明实施例中服务器的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明一个实施例的一种即时通讯系统的结构示意图。
如图1所示,即时通讯系统是通过一种面向对象的编程思想——策略模式和HTTP(Hyper Text Transport Protocol,超文本传输协议)通信协议作为基础,即时通讯系统可以包括如下三个部分:
1、插件库111
插件库111用于存储不同平台、不同语言开发的、即时通讯公众号的插件。
其中,即时通讯公众平台服务器即时通讯公众号可以为个人、组织、企业等在即时通讯系统中申请的即时通讯账号,配置有相应的程序,可自动或人工面向用户提供服务,例如,公众号、订阅号、生活号、易信号、聊天机器人,等等。
在即时通讯系统中,将即时通讯公众号的至少部分功能生成插件,插件可独立于即时通讯公众号的主体程序。
因此,插件可以由任何平台和语言开发,前提是该插件遵循约定的接口协议。
需要说明的是,本领域技术人员可以根据即时通讯公众号的实际情况,选择合适的功能生成插件,本发明实施例对此不加以限制。
例如,某个即时通讯公众号可提供手机号码绑定功能,将手机号码绑定功能生成插件,则该插件可进行如下操作:
a.用户点击菜单触发绑定手机号码,提示用户输入手机号码;
b.用户输入手机号码之后,回复验证码已经发送,输入验证码;
c.用户输入验证码,校验验证码是否正确,提示用户绑定成功/失败。
另外,由于插件可以由多个平台开发的,因此,各插件可独立部署运行,可以实现业务隔离,减少了插件相互之间的影响,即使局部有性能问题也不会影响整体性能,即时通讯系统的稳定性、健壮性、可用性都大大提高了。
2、接口配置库112
接口配置库112用于配置和管理插件的插件管理数据,如接口地址、参数等接口信息。
进一步而言,将接口信息与插件编码(插件的唯一标识,可由键盘符号与数字组成)到数据库114中。
并且,在数据库114中插入插件编码与业务参数之间的映射关系,即可解析即时通讯消息中的业务参数,从而查找插件编码,再通过插件编码查找接口信息,配置插件接口。
3、插件选择器113
插件选择器113用于选择处理即时通讯公众号属下的、用于处理即时通讯消息的插件,并根据接口配置库112配置该插件的插件接口(如接口地址)。
进一步而言,接口配置库112与插件选择器113可共用一个可持久化数据存储服务的数据库114,例如,MySQL、Oracle、Mongo、Redis,等等。
遵循应用开发单一职责原则,插件选择器113用于接收即时通讯消息和选择插件处理该即时通讯消息,而选择插件之前已提前定义配置好触发插件的业务参数,插件选择器113是对即时通讯系统提供服务的,而添加这些配置服务一般是即时通讯公众号的运营人员来做的,因此,提供一个管理后台的web服务,方便运营人员来进行增删查改等操作,运营人员选择要用哪些插件之后,会保存相关的数据到数据库114中,然后插件选择器113去这里面读取对应的数据以便选择对应的插件。
插件库111、接口配置库112、插件选择器113三者之间是松耦合关系。
其中,插件与插件之间是完全解耦、相互之间可以无任何关系,可以跨不同的语言和平台。
插件选择器113与插件之间通过HTTP接口通信,相互之间也是松耦合。
通过这种方式,搭建好接口配置库112、插件选择器113,那么,开发插件会变得更加自由,按照统一的接口规范返回接口信息,任何技术团队都可以开发插件,某个插件的开发、上线、下线,可后台配置管理,对其他插件和整个即时通讯系统基本上没有影响,因此,支持更高效的并行开发。
除了插件库111、接口配置库112、插件选择器113,即时通讯系统还可以包括如下部分:
4、即时通讯公众平台服务器115
即时通讯公众平台服务器115用于提供即时通讯服务。
用户在即时通讯客户端121(如网页、独立的应用等)登录即时通讯账号,并向个人的即时通讯账号或即时通讯公众号发送即时通讯消息,即时通讯公众平台服务器115将该即时通讯消息转发至相应的即时通讯账号或即时通讯公众号。
需要说明的是,插件库111、接口配置库112、插件选择器113、即时通讯公众平台服务器115可以设置在不同的计算设备中,也可以设置在同一个计算设备中,如分布式系统,本发明实施例对此不加以限制。
参照图2,示出了本发明一个实施例的一种基于即时通讯公众平台的消息处理方法的步骤流程图,具体可以包括如下步骤:
步骤201,接收即时通讯公众平台服务器发送的消息。
其中,该消息为即时通讯公众平台服务器响应即时通讯客户端向即时通讯公众号发起的请求生成。
用户在即时通讯客户端中登录+即时通讯账号,加载即时通讯公众号的交互界面,用户在即时通讯公众号的交互界面中进行操作,如点击菜单、输入文本、扫描二维码,等等,即时通讯客户端按照用户的操作针对即时通讯公众号发起请求,并发送至即时通讯公众平台服务器,即时通讯公众平台服务器依据该请求生成相应的消息,并发送至插件选择器。
在一个示例中,即时通讯公众号的交互界面提供了菜单,例如,某个平台的即时通讯公众号,可提供3个一级菜单,每个一级菜单下可提供5个二级菜单,共15菜单。
用户点击其中某个菜单,则即时通讯公众平台服务器针对该菜单生成消息类型为事件消息的消息。
在另一个示例中,即时通讯公众号的交互界面提供了文本框,用户在该文本框中输入文本信息,则即时通讯公众平台服务器采用该文本信息生成消息类型为文本消息的消息。
当然,上述消息只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他消息,例如,图片消息、视频消息、语音消息,等等,本发明实施例对此不加以限制。另外,除了上述消息外,本领域技术人员还可以根据实际需要采用其它消息,本发明实施例对此也不加以限制。
步骤202,根据所述消息和预设配置的插件管理数据确定对应的插件。
在即时通讯系统中,可注册多个即时通讯公众号,每个即时通讯公众号可配置多个插件,为用户提供服务。
插件选择器在接收到即时通讯公众平台服务器发送的消息之后,查询客户端正在访问的即时通讯公众号,并从该即时通讯公众号对应的多个插件中,选择适于处理该即时通讯消息的插件。
在一种实施方式中,插件选择器可以从消息中提取即时通讯公众号的公众号标识、以及、业务参数。
将公众号标识与业务参数发送至预置的接口配置库,以查询公众号标识与业务参数对应的插件。
其中,公众号标识可以为一个唯一标识即时通讯公众号的信息,例如,消息中的目标用户ToUserName所记载的公众号ID。
业务参数可以为处理业务所需的参数。
在一个示例中,业务参数包括事件值EventKey、关键词Content。
则在本示例中,可以识别消息的消息类型。
例如,消息为XML格式,插件选择器解析XML格式的消息中的字符串数据,将每个XML标签封装成不同的对象,通过XML标签MsgType对应的值来区分消息类型,text表示文本,event表示时间事件消息。
若消息类型为事件消息event,则从消息中提取事件值EventKey,作为业务参数。
若消息类型为文本消息text,则从消息中提取关键词Content,作为业务参数。
进一步而言,插件选择器中配置了多个消息处理器,如java类,每个消息处理器可以处理一个指定的消息类型的消息,针对不同的消息类型的消息选择不同消息处理器进行处理,也是遵循了应用开发单一职责原则。
插件选择器解析出了即时通讯消息的消息类型之后,选择该消息类型对应的消息处理器,用以处理该消息。
在一个示例中,消息处理器分为两个大类:
1、普通消息类型
普通消息类型的消息处理器可处理的消息包括文本消息、图片消息、视频消息、语音消息等消息类型。
2、事件消息类型
事件消息类型的消息处理器可处理的消息包括点击事件消息、扫码事件消息、关注事件消息等消息类型。
若关注文本消息与点击事件消息,则对文本消息与答点击事件消息会选择相应的消息处理器进行处理,而其他消息类型,则可以直接将即时通讯消息保存或者抛弃。
此外,在接口配置库中,以公众号标识区分不同的即时通讯公众号,对于不同的即时通讯公众号,存储其业务参数与插件的插件接口之间的映射关系。
插件选择器将当前消息占用的公众号标识与业务参数,发送至接口配置库,接口配置库该公众号标识下查询该业务参数映射的插件。
步骤203,调用所述插件处理所述消息。
插件选择器在选择了插件之后,则可以调用该插件按照自身的逻辑处理即时通讯客户端请求即时通讯公众号时产生的消息。
在一种实施方式中,插件选择器从接口配置库中获取公众号标识与业务参数对应的插件接口。
根据插件接口调用插件处理消息。
在此实施方式中,插件选择器将当前消息占用的公众号标识与业务参数,发送至接口配置库,接口配置库该公众号标识下,该业务参数映射的插件接口,并返回插件选择器。
插件选择器在获取了插件对应的插件接口之后,可访问该插件接口,从而调用该插件按照自身的逻辑处理客户端的即时通讯消息。
进一步而言,插件选择器从消息中的参数,将消息中的参数设置为插件接口的参数;
访问插件接口,以通过post等方式将参数发送至位于预置的插件库中的插件进行处理。
在本发明实施例中,接收即时通讯公众平台服务器发送的、即时通讯客户端请求即时通讯公众号时生成的消息,根据该消息和预设配置的插件管理数据确定对应的插件,调用该插件处理该消息,将即时通讯公众号的功能模块以插件的形式进行开发、运行,一方面,插件之间相互独立,互不影响,可提高即时通讯系统的稳定性、健壮性、可用性,另一方面,插件的存储、选择之间解耦,插件遵循约定的接口协议,那么,插件可由不同的平台与语言进行开发,不同的插件可由不同的技术人员并行开发,大大提高了开发效率。
参照图3,示出了本发明一个实施例的另一种基于即时通讯公众平台的消息处理方法的步骤流程图,具体可以包括如下步骤:
步骤301,接收即时通讯公众平台服务器发送的消息。
其中,该消息为即时通讯公众平台服务器响应即时通讯客户端向即时通讯公众号发起的请求生成的即时通讯公众号。
步骤302,根据所述消息在预设的业务中提取所述插件对应的插件接口。
对于实现绑定手机号码等功能的插件,完成一次即时通讯客户端的业务,需要与即时通讯客户端进行多次通信。
在即时通讯客户端每次请求即时通讯公众号时,插件选择器接收到即时通讯公众平台服务器发送的消息,并查询即时通讯客户端正在访问的即时通讯公众号,并从该即时通讯公众号对应的多个插件中,选择适于处理该消息的插件,并为其配置插件接口。
当每一次通信结束但即时通讯客户端的业务未结束时,将与该即时通讯客户端的业务相关的数据(如插件接口)存储至缓存等区域,使得下次通信时可继续处理该即时通讯客户端的业务。
因此,若即时通讯客户端非首次请求即时通讯公众号,插件选择器非首次接收到即时通讯公众平台服务器针对同一业务发送的消息,则可以在业务中提取该插件适于处理该消息的插件接口。
在一种实现方式中,即时通讯客户端的业务以用户标识与插件接口的形式进行存储。
其中,用户标识可以为一个唯一标识用户的信息,例如,消息中源用户FromUserName所记载的用户账号、用户ID等。
因此,可以从消息中提取用户标识,在缓存等区域查询用户标识对应的业务,从而在该业务中提取插件对应的插件接口。
步骤303,根据所述插件接口调用所述插件处理所述消息。
在具体实现中,将消息中的参数设置为插件接口的参数。
访问插件接口,以将参数发送至位于预置的插件库中的插件进行处理。
步骤304,接收所述插件处理所述消息获得的消息处理结果。
步骤305,将所述消息处理结果发送至所述即时通讯公众平台服务器,以通过所述即时通讯公众号发送至所述即时通讯客户端。
插件处理消息(包括即时通讯客户端首次和非首次请求即时通讯公众号生成的消息)完成之后,生成消息处理结果,并返回插件选择器。
一般而言,消息处理结果是一个XML(Extensible Markup Language,可扩展标记语言)格式的String类型数据,表示返回的消息类型和具体的消息内容。
插件选择器将该消息处理结果发送至即时通讯公众平台服务器,即时通讯公众平台服务器以该即时通讯公众号的名义发送至即时通讯客户端进行展示。
步骤306,从所述消息处理结果中读取业务的状态。
步骤307,若所述业务的状态为业务未完成,则将所述插件接口存储至所述业务中。
步骤308,若所述业务的状态为业务已完成,则删除所述插件接口。
对于实现绑定手机号码等功能的插件,完成一次即时通讯客户端的业务,需要与即时通讯客户端进行多次通信,插件在处理完当前的消息之后,判断是否完成即时通讯客户端的业务,并依据判断结果在消息处理结果中写入业务的状态。
进一步而言,若插件未完成即时通讯客户端的业务,则将业务未完成作为业务的状态写入消息处理结果中。
若插件已完成即时通讯客户端的业务,则将业务已完成作为业务的状态写入消息处理结果中。
如果插件选择器从消息处理结果中解析出业务未完成,则将插件接口作为业务相关的数据进行存储。
在一种实施方式中,从即时通讯消息中提取用户标识,在业务中存储用户标识与插件接口之间的关联关系,并作为业务相关的数据存储在缓存等区域。
例如,以用户标识作为key(键),插件接口作为value(值),生成key-value(键值对),缓存至在redis等数据库中。
在即时通讯系统中,可以进行分布式改造,使用redis等数据库作为分布式缓存,将即时通讯系统中需要共享内存的功能,迁移redis等数据库中,因此,插件选择器是支持分布式多实例部署,另外,将业务参数与插件接口之间的关联关系,也缓存在redis等数据库中,从而减少了MySQL等数据库的查询频次。
一般情况下,插件选择器会对客户端当前业务的相关数据(如用户标识-插件接口)设置一个有效时间,通常是5分种,如果用户长时间没有完成业务,那么,该业务会自动失效,用户下次进入时,需要从新触发业务。
例如,针对绑定手机号码的业务,用户输入手机号码之后,一直没有输入验证码,那么等待业务超时之后,在输入验证码是无效的,需要重新点击菜单或回复自定义的关键词,重新触发绑定手机号码的业务。
如果插件选择器从消息处理结果中解析出业务已完成,则删除插件接口。
在本发明实施例中,即时通讯系统在运行的状态下,可根据即时通讯消息接入插件,并在处理完成后退出该插件,实现了热拔插的功能,从而提高了即时通讯系统对异常的及时恢复能力、扩展性和灵活性。
为使本领域技术人员更好地理解本发明实施例,以下通过具体的示例来说明本发明实施例中即时通讯消息的处理方法。
1、用户在即时通讯客户端的交互界面点击第1个一级的第1个子菜单,触发绑定手机号码的业务,此时,即时通讯公众平台服务器将生成消息并推送至插件选择器:
<xml>
<ToUserName><![CDATA[gh_0600e58d5c13]]></ToUserName>
<FromUserName><![CDATA[o8lmEw7DiABEnCpU26xr_vgMjiYY]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[CLICK]]></Event>
<EventKey><![CDATA[11]]></EventKey>
</xml>
2、插件选择器解析消息,通过消息中MsgType属性(event),确定该消息是一个事件消息,创建一个EventMsgParameter java对象,对象的属性与即时通讯消息对应。
插件选择器选择事件消息对应的事件消息处理器EventMsgHandler处理该消息,调用public IResult handle(final IMsgParameter parameter)方法,将EventMsgParameter作为参数传给该方法。
3、在EventMsgHandler的handle方法里面,根据FromUserName的值去redis中判断是否缓存该即时通讯客户端未完成的业务。
在确定不存在时,读取EventMsgParameter对象的属性EventKey的值11,将该值11与ToUserName的值,作为条件去MySQL或缓存等数据库中查询满足该条件的插件,此时,可查询到该插件对应的接口地址:
http://xxx.163.com/bindphone.do。
4、使用HttpClient对象调用post方法,将EventMsgParameter的值转换为XML类型的String数据,作为post的参数,调用post方法之后,会返回一个JSON(JavaScript ObjectNotation,JS对象简谱)串格式的消息处理结果:
{“status”:0,“response”:“请输入手机号码”}
其中,0表示该业务的状态为业务未完成,response表示返回给客户端的提示信息。
5、将接口地址作为value,FromUserName作为key,作为业务相关的数据保存到redis中,并将response返回给即时通讯公众平台服务器,返回格式如下:
<xml>
<ToUserName><![CDATA[o8lmEw7DiABEnCpU26xr_vgMjiYY]]>
</ToUserName><FromUserName><![CDATA[gh_0600e58d5c13]]>
</FromUserName><CreateTime>12345678</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[请输入手机号码]]></Content>
</xml>
即时通讯公众平台服务器将该response发送至即时通讯客户端,此时,即时通讯客户端显示回复消息“请输入手机号码”。
6、用户根据提示,输入手机号码“186xxxx3111”(“x”代表隐含的数字),此时,即时通讯公众平台服务器生成消息并推送至插件选择器:
<xml>
<ToUserName><![CDATA[gh_0600e58d5c13]]></ToUserName>
<FromUserName><![CDATA[o8lmEw7DiABEnCpU26xr_vgMjiYY]]></FromUserName>
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[186xxxx3111]]></Content>
<MsgId>1234567890123456</MsgId>
</xml>
7、插件选择器解析即时通讯消息,通过消息中MsgType属性(text),确定该消息是一个文本消息,创建一个TextMsgParameter消息java对象,对象的属性与即时通讯消息对应。
插件选择器选择文本消息对应的文本消息处理器TextMsgHandler处理该即时通讯消息,调用public IResult handle(final IMsgParameter parameter)方法,将TextMsgParameter作为参数传给该方法。
8、在EventMsgHandler的handle方法里面,根据FromUserName的值去redis中判断是否缓存该即时通讯客户端未完成的业务。
在确定存在时,读取接口地址:
http://xxx.163.com/bindphone.do
9、使用HttpClient对象调用post方法,将TextMsgParameter的值转换为XML类型的String数据,作为post的参数,调用post方法之后,插件通知运营商向该手机号码“186xxxx3111”发送验证码“1123”,此时,插件返回一个JSON串格式的消息处理结果:
{“status”:0,“response”:“请输入验证码”}
其中,0表示该业务的状态为业务未完成,response表示返回给即时通讯客户端的提示信息。
10、将接口地址作为value,FromUserName作为key,作为业务相关的数据保存到redis中,并将response返回给即时通讯公众平台服务器,返回格式如下:
<xml>
<ToUserName><![CDATA[o8lmEw7DiABEnCpU26xr_vgMjiYY]]>
</ToUserName><FromUserName><![CDATA[gh_0600e58d5c13]]>
</FromUserName><CreateTime>12345679</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[请输入验证码]]></Content>
</xml>
即时通讯公众平台服务器将该response发送至即时通讯客户端,此时,即时通讯客户端显示回复消息“请输入验证码”。
11、用户根据提示,输入验证码“1123”,此时,即时通讯公众平台服务器生成消息并推送至插件选择器:
<xml>
<ToUserName><![CDATA[gh_0600e58d5c13]]></ToUserName>
<FromUserName><![CDATA[o8lmEw7DiABEnCpU26xr_vgMjiYY]]></FromUserName>
<CreateTime>1348831861</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[1123]]></Content>
<MsgId>1234567890123457</MsgId>
</xml>
12、插件选择器解析消息,通过消息中MsgType属性(text),确定该消息是一个文本消息,创建一个TextMsgParameter消息java对象,对象的属性与消息对应。
插件选择器选择文本消息对应的文本消息处理器TextMsgHandler处理该消息,调用public IResult handle(final IMsgParameter parameter)方法,将TextMsgParameter作为参数传给该方法。
13、在EventMsgHandler的handle方法里面,根据FromUserName的值去redis中判断是否缓存该即时通讯客户端未完成的业务。
在确定存在时,读取接口地址:
http://xxx.163.com/bindphone.do
14、使用HttpClient对象调用post方法,将TextMsgParameter的值转换为XML类型的String数据,作为post的参数,调用post方法之后,插件验证用户输入的验证码“1123”成功,绑定该手机号码与即时通讯账号,并返回一个JSON串格式的消息处理结果:
{“status”:1,“response”:“手机绑定成功”}
其中,1表示该业务的状态为业务已完成,response表示返回给即时通讯客户端的提示信息。
15、插件选择器将redis中FromUserName对应的插件接口删除,并将response返回给即时通讯公众平台服务器,返回格式如下:
<xml>
<ToUserName><![CDATA[o8lmEw7DiABEnCpU26xr_vgMjiYY]]>
</ToUserName><FromUserName><![CDATA[gh_0600e58d5c13]]>
</FromUserName><CreateTime>12345678</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[手机绑定成功]]></Content>
</xml>
即时通讯公众平台服务器将该response发送至即时通讯客户端,此时,即时通讯客户端显示回复消息“手机绑定成功”。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明一个实施例的一种基于即时通讯公众平台的消息处理装置的结构框图,具体可以包括如下模块:
消息接收模块401,用于接收即时通讯公众平台服务器发送的消息,其中,所述消息为所述即时通讯公众平台服务器响应即时通讯客户端向即时通讯公众号发起的请求生成;
插件确定模块402,用于根据所述消息和预设配置的插件管理数据确定对应的插件;
插件调用模块403,用于调用所述插件处理所述消息。
在本发明的一个实施例中,所述插件确定模块402包括:
消息参数提取子模块,用于从所述消息中提取所述即时通讯公众号的公众号标识、以及、业务参数;
消息参数发送子模块,用于将所述公众号标识与所述业务参数发送至预置的接口配置库,以查询所述公众号标识与所述业务参数对应的插件。
在本发明的一个实施例中,所述业务参数包括事件值、关键词;
所述消息参数提取子模块包括:
消息类型识别单元,用于识别所述消息的消息类型;
事件值提取单元,用于若所述消息类型为事件消息,则从所述消息中提取事件值;
关键词提取单元,用于若所述消息类型为文本消息,则从所述消息中提取关键词。
在本发明的一个实施例中,所述插件调用模块403包括:
插件接口获取子模块,用于从所述接口配置库中获取所述公众号标识与所述业务参数对应的插件接口;
接口首次调用子模块,用于根据所述插件接口调用所述插件处理所述消息。
在本发明的一个实施例中,所述接口首次调用子模块包括:
参数首次设置单元,用于将所述消息中的参数设置为所述插件接口的参数;
接口首次访问单元,用于访问所述插件接口,以将所述参数发送至位于预置的插件库中的所述插件进行处理。
在本发明的一个实施例中,还包括:
插件接口提取模块,用于根据所述消息在预设的业务中提取所述插件对应的插件接口;
接口非首次调用模块,用于根据所述插件接口调用所述插件处理所述消息。
在本发明的一个实施例中,所述插件接口提取模块包括:
用户标识提取子模块,用于从所述消息中提取用户标识;
业务查询子模块,用于查询所述用户标识对应的业务;
业务提取子模块,用于在所述业务中提取所述插件对应的插件接口。
在本发明的一个实施例中,所述接口非首次调用模块包括:
参数非首次设置子模块,用于将所述消息中的参数设置为所述插件接口的参数;
接口非首次访问子模块,用于访问所述插件接口,以将所述参数发送至位于预置的插件库中的所述插件进行处理。
在本发明的一个实施例中,还包括:
消息处理结果接收模块,用于接收所述插件处理所述消息获得的消息处理结果;
消息处理结果发送模块,用于将所述消息处理结果发送至所述即时通讯公众平台服务器,以通过所述即时通讯公众号发送至所述即时通讯客户端。
在本发明的一个实施例中,还包括:
状态读取模块,用于从所述消息处理结果中读取业务的状态;
插件接口存储模块,用于若所述业务的状态为业务未完成,则将所述插件接口存储至所述业务中;
插件接口删除模块,用于若所述业务的状态为业务已完成,则删除所述插件接口。
在本发明的一个实施例中,所述插件接口存储模块包括:
用户标识提取子模块,用于从所述消息中提取用户标识;
关联存储子模块,用于在业务中存储所述用户标识与所述插件接口之间的关联关系。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本发明实施例中,接收即时通讯公众平台服务器发送的、即时通讯客户端请求即时通讯公众号时生成的消息,根据该消息和预设配置的插件管理数据确定对应的插件,调用该插件处理该消息,将即时通讯公众号的功能模块以插件的形式进行开发、运行,一方面,插件之间相互独立,互不影响,可提高即时通讯系统的稳定性、健壮性、可用性,另一方面,插件的存储、选择之间解耦,插件遵循约定的接口协议,那么,插件可由不同的平台与语言进行开发,不同的插件可由不同的技术人员并行开发,大大提高了开发效率。
图5是本发明实施例中服务器的结构示意图。该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在服务器500上执行存储介质530中的一系列指令操作。
服务器500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,一个或一个以上键盘556,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
优选的,本发明实施例还提供一种服务器,包括处理器522、存储器532及存储在存储器532上并可在处理器522上运行的计算机程序,该计算机程序被处理器522执行时实现上述的基于即时通讯平台的消息处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述的基于即时通讯平台的消息处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种基于即时通讯平台的消息处理方法和相关设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (23)
1.一种基于即时通讯公众平台的消息处理方法,其特征在于,包括:
接收即时通讯公众平台服务器发送的消息,其中,所述消息为所述即时通讯公众平台服务器响应即时通讯客户端向即时通讯公众号发起的请求生成;
根据所述消息和预设配置的插件管理数据确定对应的插件;
调用所述插件处理所述消息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述消息和预设配置的插件管理数据确定对应的插件,包括:
从所述消息中提取所述即时通讯公众号的公众号标识、以及、业务参数;
将所述公众号标识与所述业务参数发送至预置的接口配置库,以查询所述公众号标识与所述业务参数对应的插件。
3.根据权利要求2所述的方法,其特征在于,所述业务参数包括事件值、关键词;
所述从所述消息中提取所述即时通讯公众号的公众号标识、以及、业务参数,包括:
识别所述消息的消息类型;
若所述消息类型为事件消息,则从所述消息中提取事件值;
若所述消息类型为文本消息,则从所述消息中提取关键词。
4.根据权利要求2所述的方法,其特征在于,所述调用所述插件处理所述消息,包括:
从所述接口配置库中获取所述公众号标识与所述业务参数对应的插件接口;
根据所述插件接口调用所述插件处理所述消息。
5.根据权利要求1所述的方法,其特征在于,在所述接收即时通讯公众平台服务器发送的消息之后,还包括:
根据所述消息在预设的业务中提取所述插件对应的插件接口;
根据所述插件接口调用所述插件处理所述消息。
6.根据权利要求5所述的方法,其特征在于,所述根据所述消息在预设的业务中提取所述插件对应的插件接口,包括:
从所述消息中提取用户标识;
查询所述用户标识对应的业务;
在所述业务中提取所述插件对应的插件接口。
7.根据权利要求4或5所述的方法,其特征在于,所述根据所述插件接口调用所述插件处理所述消息,包括:
将所述消息中的参数设置为所述插件接口的参数;
访问所述插件接口,以将所述参数发送至位于预置的插件库中的所述插件进行处理。
8.根据权利要求1或4或5所述的方法,其特征在于,还包括:
接收所述插件处理所述消息获得的消息处理结果;
将所述消息处理结果发送至所述即时通讯公众平台服务器,以通过所述即时通讯公众号发送至所述即时通讯客户端。
9.根据权利要求8所述的方法,其特征在于,还包括:
从所述消息处理结果中读取业务的状态;
若所述业务的状态为业务未完成,则将所述插件接口存储至所述业务中;
若所述业务的状态为业务已完成,则删除所述插件接口。
10.根据权利要求9所述的方法,其特征在于,所述将所述插件接口存储至所述业务中,包括:
从所述消息中提取用户标识;
在业务中存储所述用户标识与所述插件接口之间的关联关系。
11.一种基于即时通讯公众平台的消息处理装置,其特征在于,包括:
消息接收模块,用于接收即时通讯公众平台服务器发送的消息,其中,所述消息为所述即时通讯公众平台服务器响应即时通讯客户端向即时通讯公众号发起的请求生成;
插件确定模块,用于根据所述消息和预设配置的插件管理数据确定对应的插件;
插件调用模块,用于调用所述插件处理所述消息。
12.根据权利要求11所述的装置,其特征在于,所述插件确定模块包括:
消息参数提取子模块,用于从所述消息中提取所述即时通讯公众号的公众号标识、以及、业务参数;
消息参数发送子模块,用于将所述公众号标识与所述业务参数发送至预置的接口配置库,以查询所述公众号标识与所述业务参数对应的插件。
13.根据权利要求12所述的装置,其特征在于,所述业务参数包括事件值、关键词;
所述消息参数提取子模块包括:
消息类型识别单元,用于识别所述消息的消息类型;
事件值提取单元,用于若所述消息类型为事件消息,则从所述消息中提取事件值;
关键词提取单元,用于若所述消息类型为文本消息,则从所述消息中提取关键词。
14.根据权利要求12所述的装置,其特征在于,所述插件调用模块包括:
插件接口获取子模块,用于从所述接口配置库中获取所述公众号标识与所述业务参数对应的插件接口;
接口首次调用子模块,用于根据所述插件接口调用所述插件处理所述消息。
15.根据权利要求14所述的装置,其特征在于,所述接口首次调用子模块包括:
参数首次设置单元,用于将所述消息中的参数设置为所述插件接口的参数;
接口首次访问单元,用于访问所述插件接口,以将所述参数发送至位于预置的插件库中的所述插件进行处理。
16.根据权利要求11所述的装置,其特征在于,还包括:
插件接口提取模块,用于根据所述消息在预设的业务中提取所述插件对应的插件接口;
接口非首次调用模块,用于根据所述插件接口调用所述插件处理所述消息。
17.根据权利要求16所述的装置,其特征在于,所述插件接口提取模块包括:
用户标识提取子模块,用于从所述消息中提取用户标识;
业务查询子模块,用于查询所述用户标识对应的业务;
业务提取子模块,用于在所述业务中提取所述插件对应的插件接口。
18.根据权利要求16所述的装置,其特征在于,所述接口非首次调用模块包括:
参数非首次设置子模块,用于将所述消息中的参数设置为所述插件接口的参数;
接口非首次访问子模块,用于访问所述插件接口,以将所述参数发送至位于预置的插件库中的所述插件进行处理。
19.根据权利要求11或14或16所述的装置,其特征在于,还包括:
消息处理结果接收模块,用于接收所述插件处理所述消息获得的消息处理结果;
消息处理结果发送模块,用于将所述消息处理结果发送至所述即时通讯公众平台服务器,以通过所述即时通讯公众号发送至所述即时通讯客户端。
20.根据权利要求19所述的装置,其特征在于,还包括:
状态读取模块,用于从所述消息处理结果中读取业务的状态;
插件接口存储模块,用于若所述业务的状态为业务未完成,则将所述插件接口存储至所述业务中;
插件接口删除模块,用于若所述业务的状态为业务已完成,则删除所述插件接口。
21.根据权利要求20所述的装置,其特征在于,所述插件接口存储模块包括:
用户标识提取子模块,用于从所述消息中提取用户标识;
关联存储子模块,用于在业务中存储所述用户标识与所述插件接口之间的关联关系。
22.一种服务器,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至10中任一项所述的基于即时通讯平台的消息处理方法的步骤。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的基于即时通讯平台的消息处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811082571.9A CN109189502A (zh) | 2018-09-17 | 2018-09-17 | 一种基于即时通讯公众平台的消息处理方法和相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811082571.9A CN109189502A (zh) | 2018-09-17 | 2018-09-17 | 一种基于即时通讯公众平台的消息处理方法和相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109189502A true CN109189502A (zh) | 2019-01-11 |
Family
ID=64911769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811082571.9A Pending CN109189502A (zh) | 2018-09-17 | 2018-09-17 | 一种基于即时通讯公众平台的消息处理方法和相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109189502A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828796A (zh) * | 2019-01-17 | 2019-05-31 | 武汉精立电子技术有限公司 | 一种基于微内核架构的插件调用方法及装置 |
CN110012316A (zh) * | 2019-01-29 | 2019-07-12 | 视联动力信息技术股份有限公司 | 一种视联网业务的处理方法及装置 |
CN110266596A (zh) * | 2019-06-12 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 消息处理方法、装置、设备及计算机可读存储介质 |
CN113537944A (zh) * | 2021-08-02 | 2021-10-22 | 北京明略软件系统有限公司 | 用于生成业务指令的方法及装置、电子设备、可读存储介质 |
CN114338580A (zh) * | 2021-12-30 | 2022-04-12 | 苏州金羲智慧科技有限公司 | 一种公众号项目开发方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103068069A (zh) * | 2013-01-25 | 2013-04-24 | 大唐移动通信设备有限公司 | 一种在ims中进行业务释放的方法及装置 |
CN104270427A (zh) * | 2014-09-18 | 2015-01-07 | 用友优普信息技术有限公司 | 会话控制方法与会话控制装置 |
US20160315901A1 (en) * | 2015-04-21 | 2016-10-27 | Facebook, Inc. | Plug-in for extending functionality of messenger application across supplemented and unsupplemented application instances |
CN106406844A (zh) * | 2015-08-03 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 实现通讯交互平台公众号菜单的方法和装置 |
CN107395738A (zh) * | 2017-08-07 | 2017-11-24 | 北京移数通电讯有限公司 | 一种集成呼叫中心和微信公众号客服的系统及方法 |
CN108510355A (zh) * | 2018-03-12 | 2018-09-07 | 拉扎斯网络科技(上海)有限公司 | 语音交互订餐的实现方法及相关装置 |
-
2018
- 2018-09-17 CN CN201811082571.9A patent/CN109189502A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103068069A (zh) * | 2013-01-25 | 2013-04-24 | 大唐移动通信设备有限公司 | 一种在ims中进行业务释放的方法及装置 |
CN104270427A (zh) * | 2014-09-18 | 2015-01-07 | 用友优普信息技术有限公司 | 会话控制方法与会话控制装置 |
US20160315901A1 (en) * | 2015-04-21 | 2016-10-27 | Facebook, Inc. | Plug-in for extending functionality of messenger application across supplemented and unsupplemented application instances |
CN106406844A (zh) * | 2015-08-03 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 实现通讯交互平台公众号菜单的方法和装置 |
CN107395738A (zh) * | 2017-08-07 | 2017-11-24 | 北京移数通电讯有限公司 | 一种集成呼叫中心和微信公众号客服的系统及方法 |
CN108510355A (zh) * | 2018-03-12 | 2018-09-07 | 拉扎斯网络科技(上海)有限公司 | 语音交互订餐的实现方法及相关装置 |
Non-Patent Citations (1)
Title |
---|
柳峰: "《微信公众平台应用开发方法、技巧与案例》", 31 January 2014, 机械工业出版社 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828796A (zh) * | 2019-01-17 | 2019-05-31 | 武汉精立电子技术有限公司 | 一种基于微内核架构的插件调用方法及装置 |
CN109828796B (zh) * | 2019-01-17 | 2022-04-15 | 武汉精立电子技术有限公司 | 一种基于微内核架构的插件调用方法及装置 |
CN110012316A (zh) * | 2019-01-29 | 2019-07-12 | 视联动力信息技术股份有限公司 | 一种视联网业务的处理方法及装置 |
CN110012316B (zh) * | 2019-01-29 | 2021-12-31 | 视联动力信息技术股份有限公司 | 一种视联网业务的处理方法、装置、设备及存储介质 |
CN110266596A (zh) * | 2019-06-12 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 消息处理方法、装置、设备及计算机可读存储介质 |
CN113537944A (zh) * | 2021-08-02 | 2021-10-22 | 北京明略软件系统有限公司 | 用于生成业务指令的方法及装置、电子设备、可读存储介质 |
CN114338580A (zh) * | 2021-12-30 | 2022-04-12 | 苏州金羲智慧科技有限公司 | 一种公众号项目开发方法、装置及存储介质 |
CN114338580B (zh) * | 2021-12-30 | 2023-08-01 | 苏州金羲智慧科技有限公司 | 一种公众号项目开发方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189502A (zh) | 一种基于即时通讯公众平台的消息处理方法和相关设备 | |
US9479400B2 (en) | Servlet API and method for XMPP protocol | |
US10116596B2 (en) | Personalizing data system components and data sources as chatbots in a group chat session | |
US10229202B2 (en) | Social media bot to representational state transfer (REST) proxy for data systems | |
US20190155813A1 (en) | Interactive social media access to data systems | |
CN103988200B (zh) | 用于web应用的轻量化框架 | |
CN110310034A (zh) | 一种应用于SaaS的服务编排、业务流程处理方法和装置 | |
CN103634382B (zh) | 一种在网页上实现实时交互的系统及方法 | |
CN104717284B (zh) | 菜单管理方法、装置及系统 | |
CN104022945B (zh) | 在客户端中实现即时通讯的方法和装置 | |
KR20100048571A (ko) | 다중 사용자-다중 서비스 제공 방법, 장치 및 시스템 | |
CN103942055A (zh) | 面向融合网络混合服务流程编制语言的开发系统及方法 | |
CN108415710A (zh) | 在智能对话开发平台上发布、调用api的方法和系统 | |
CN108509523A (zh) | 区块链数据的结构化处理方法、设备及可读存储介质 | |
CN109586930A (zh) | 与会用户添加方法、第一终端、第二终端及处理服务器 | |
KR20110103515A (ko) | 소셜 네트워크 서비스 지원이 가능한 통합 주소록 제공방법 | |
CN106888264A (zh) | 一种数据交换方法和装置 | |
CN113296744A (zh) | 应用开发系统及方法 | |
CN112799970A (zh) | 测试数据处理方法、装置、电子设备及介质 | |
CN108769249A (zh) | iOS高性能高扩展网络架构及实现方法、服务器及介质 | |
Manfred et al. | A telco enabled social networking and knowledge sharing | |
CN110231965A (zh) | 一种云端设备、应用程序处理方法及电子设备 | |
CN110191048A (zh) | 一种客服消息管理方法及系统 | |
CN110019316A (zh) | 信息交互方法和服务器 | |
CN109361730A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190111 |
|
RJ01 | Rejection of invention patent application after publication |