一种基于MQTT和HTTP的智能客服系统及实现方法与流程

文档序号:16310852发布日期:2018-12-19 05:16阅读:431来源:国知局
一种基于MQTT和HTTP的智能客服系统及实现方法与流程

本发明涉及对话系统的研究领域,特别涉及一种基于mqtt和http的智能客服系统及实现方法。

背景技术

智能客服是在大规模知识处理基础上发展起来的一项面向行业的应用,涉及大规模知识处理技术、自然语言理解技术、知识管理技术、自动问答系统、推理技术等等。其中的关键是自然语言处理技术。自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。自然语言处理(nlp)是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域。

mqtt(messagequeuingtelemetrytransport,消息队列遥测传输)是一种标准化的发布/订阅消息传输协议,设计于1999年,最初是为了在卫星之类的物体上使用。它是一个非常轻量级的协议,由于对带宽需求很低,从而成为了m2m通信或物联网应用的理想选择,现在已经成为这类场景最常见的协议之一。mqtt协议有以下几个关键的概念:相比于restful架构的物联网系统,mqtt协议借助消息推送功能,可以更好地实现远程控制;在restful架构的物联网系统,包含两个角色客户端和服务器端,而在mqtt协议中包括发布者,代理器(服务器)和订阅者。mqtt中的消息可理解为发布者和订阅者交换的内容(负载),这些消息包含具体的内容,可以被订阅者使用。mqtt中的主题可理解为相同类型或相似类型的消息集合。

http协议(hypertexttransferprotocol,超文本传输协议)是用于从www服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。http是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。http是一个无状态的协议。

现有技术中,每一种设备都需要准备一套接口,即需要符合各种代理端的接口要求,才能实现消息交互,成本高,且较难实现。



技术实现要素:

本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于mqtt和http的智能客服系统。

本发明的另一目的是提供一种基于mqtt和http的智能客服实现方法。

本发明的目的通过以下的技术方案实现:

一种基于mqtt和http的智能客服系统,包括客服端、代理端、后台客服系统、用户端;其中:

所述客服端用于客服的注册、登录、登出;

所述代理端包括客服账号模块、用户信息模块、会话模块;其中,所述客服账号模块用于登录客服的信息管理和更新;所述用户信息模块用于查询接入客服端的用户信息查询与更新;所述会话模块用于将接入到后台客服系统的用户消息推送到客服端,开启用户与客服一一对应的会话;

所述后台客服系统用于接收用户消息并转发至代理端,还包括将代理端收到的客服消息转发给客户,即在后台客服系统进行双向消息交互;

所述用户端用于用户的注册、登录、登出。

进一步的,代理端与客服端之间的交互是基于mqtt和http协议的;

进一步的,所述客服账号模块用于登录客服的信息管理和更新,具体包含:

客服登录:客服通过账户名、密码和租户登录,登录时客服账号模块验证账号和密码是否正确,如账号密码正确,则查询客户账号是否已经登录,如已经登录,则返回重复登录的消息给客服端,如没有登录,则返回登录成功,并生成票据号返回给客服端,同时客服账号模块将客服登录信息更新带后台服务系统中,客服准备接待客户;如账号密码不匹配,则返回登录失败、密码错误的信息;

客服强制登录:当客服登录返回重复登录时,客服能选择强制登录,此时客服账号模块用mqtt消息通知前一个登录客服下线,并更新票据号返回给客服端新的登录客服,即顶号;

客服登出:客服账号模块删除客服票据号,并通知后台服务系统;

心跳:客服账号模块维护心跳机制,客户端需定时给代理端发送心跳消息来维持票据号的有效性;

客服状态设置:登录客服设置自己的状态为在线时,客服账号模块通知后台客服系统登录客服能接待客户;登录客服设置自己的状态为挂起时,客服账号模块通知后台客服系统登录客服不能接待客户;

查询未完成会话:客服由于强制登录或程序崩溃而异常退出,当客服再次登录成功后,能请求查询未完成会话,即客服账号模块到后台服务系统查询相关会话,并返回给客服;

查询历史会话:登录客服能到后台客服系统查询接待过的所有客户以及详细会话记录;

查询在线客服列表和转接:客服账号模块能查询当前在线的客服,当客服无法回答某个客户的问题时,能转接会话到其他在线客服端,同时客服账号模块将转接消息发送到后台客服系统,为客户寻找新的客服。

进一步的,票据号是唯一的,用于避免重复登录、单点登录验证、接收代理端推送的mqtt消息的凭据。

进一步的,所述用户信息模块用于查询接入客服端的用户信息查询与更新,具体包含:客服端通过查询接口查询,用户信息模块返回用户信息给客服端,并通过更新接口更新信息;用户信息包含:用户名字、用户联系方式、用户地址。

进一步的,所述会话模块,其用途具体包含:

接入客户会话:当后台客服系统接收到客户请求会话消息时,将客户请求会话消息转发给会话模块,会话模块发送mqtt消息给客服端,客服端分配在线客服接待客户;

结束客户会话:包含客服端结束会话和客户端结束会话;客户端结束会话时通过http发送请求到会话模块,会话模块记录会话状态,并更新到后台客服系统;会话模块收到客户主动结束会话的消息时,通过mqtt消息转发给对应的客服端;

查询会话状态:会话模块查询当前会话状态,返回“已解决”或“未解决”;

设置会话状态:客户设置当前会话状态:“已解决”或“未解决”,会话模块收到设置请求后,更新到后台客服系统;

查询业务类型列表:会话模块查询客户会话所属业务类型列表,返回业务类型列表给客户选择;

设置会话业务类型:客户从业务类型列表中选择一个业务类型,并发送给会话模块,会话模块将客户会话设置为客户选择的业务类型并通知后台客服系统。

本发明的另一目的通过以下技术方案实现:

一种基于mqtt和http的智能客服实现方法,其特征在于,包含以下步骤:

客服端,进行客服登录,登录之后客服获得一个唯一的票据号,客服设置客服状态:“在线”或“挂起”,当客服状态设置为“在线”时,客服账号管理模块通知后台客服系统,客服可以接待客户;当客服状态设置为“挂起”时,客服账号管理通知后台客服系统,客服不可以接待客户;

客户端,进行客户登录,发送客户消息到后台服务系统,后台服务系统将客户消息转发给会话模块,会话模块查询客户消息所属业务类型并返回业务类型,会话模块发送mqtt消息给所属业务类型的在线客服,通知客服接待客户;

接待客户的客服无法回答客户的问题时,客服通过客服账号管理模块查询当前在线客服,并将无法回答客户转接到当前在线客服;当转接的客服再次无法回答时,继续转接到下一个在线客服;

客服由于强制登录或程序崩溃异常而退出,当客服再次登录时,客服能查询未完成会话,并继续进行会话;并且,客服可以查询所接待过的所有客户以及详细会话;

结束会话时,客服端通过http发送请求到会话模块,会话模块记录会话状态,会话状态包含“已解决”和“未解决”,并更新到后台系统;当客户端要求主动结束会话时,会话模块接收要求,并通过mqtt转发个对应的客服端。

进一步的,还包括客服端查询业务类型列表,设置所属业务类型,通知后台客服系统。

进一步的,还包括客服端需要定时发送心跳消息来维持票据号的有效性。

本发明与现有技术相比,具有如下优点和有益效果:

本发明合理的将mqtt与http结合,用代理端实现,提供了后台客服系统与客服端、客户端的信息交互,解耦了后台客服系统与客服端和客户端,无论客服使用哪种设备或者软件登录到客服系统,只要符合代理端的接口要求,就可以成功进行消息交互,不必为每一个设备准备一套接口,降低了客户端和后台客服系统的耦合性,使用更加广泛。

附图说明

图1是本发明所述一种基于mqtt和http的智能客服系统的结构框图;

图2是本发明所述一种基于mqtt和http的智能客服实现方法的流程框图。

图中,1-客服端,2-代理端,3-用户端,4-后台客服系统,5-会话模块,6-客服账号模块,7-用户信息模块。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例1:

一种基于mqtt和http的智能客服系统,结构框图如图1所示,包括客服端1、代理端2、后台客服系统4、用户端3;其中:

所述客服端用于客服的注册、登录、登出;

所述代理端包括客服账号模块6、用户信息模块7、会话模块5;其中,所述客服账号模块用于登录客服的信息管理和更新;所述用户信息模块用于查询接入客服端的用户信息查询与更新;所述会话模块用于将接入到后台客服系统的用户消息推送到客服端,开启用户与客服一一对应的会话;

所述后台客服系统用于接收用户消息并转发至代理端,还包括将代理端收到的客服消息转发给客户,即在后台客服系统进行双向消息交互;

所述用户端用于用户的注册、登录、登出。

代理端与客服端之间的消息交互是基于mqtt和http协议的;

其中,在代理端中,客服账号模块用于登录客服的信息管理和更新,具体包含:

客服登录:客服通过账户名、密码和租户登录,登录时客服账号模块验证账号和密码是否正确,如账号密码正确,则查询客户账号是否已经登录,如已经登录,则返回重复登录的消息给客服端,如没有登录,则返回登录成功,并生成票据号返回给客服端,同时客服账号模块将客服登录信息更新带后台服务系统中,客服准备接待客户;如账号密码不匹配,则返回登录失败、密码错误的信息;票据号是唯一的,用于避免重复登录、单点登录验证、接收代理端推送的mqtt消息的凭据;

客服强制登录:当客服登录返回重复登录时,客服能选择强制登录,此时客服账号模块用mqtt消息通知前一个登录客服下线,并更新票据号返回给客服端新的登录客服,即顶号;

客服登出:客服账号模块删除客服票据号,并通知后台服务系统;

心跳:客服账号模块维护心跳机制,客户端需定时给代理端发送心跳消息来维持票据号的有效性;

客服状态设置:登录客服设置自己的状态为在线时,客服账号模块通知后台客服系统登录客服能接待客户;登录客服设置自己的状态为挂起时,客服账号模块通知后台客服系统登录客服不能接待客户;

查询未完成会话:客服由于强制登录或程序崩溃而异常退出,当客服再次登录成功后,能请求查询未完成会话,即客服账号模块到后台服务系统查询相关会话,并返回给客服;

查询历史会话:登录客服能到后台客服系统查询接待过的所有客户以及详细会话记录;

查询在线客服列表和转接:客服账号模块能查询当前在线的客服,当客服无法回答某个客户的问题时,能转接会话到其他在线客服端,同时客服账号模块将转接消息发送到后台客服系统,为客户寻找新的客服。

用户信息模块用于查询接入客服端的用户信息查询与更新,具体包含:客服端通过查询接口查询,用户信息模块返回用户信息给客服端,并通过更新接口更新信息;用户信息包含:用户名字、用户联系方式、用户地址。

会话模块用于将接入到后台客服系统的用户消息推送到客服端,开启用户与客服一一对应的会话,其用途具体包含:

接入客户会话:当后台客服系统接收到客户请求会话消息时,将客户请求会话消息转发给会话模块,会话模块发送mqtt消息给客服端,客服端分配在线客服接待客户;

结束客户会话:包含客服端结束会话和客户端结束会话;客户端结束会话时通过http发送请求到会话模块,会话模块记录会话状态,并更新到后台客服系统;会话模块收到客户主动结束会话的消息时,通过mqtt消息转发给对应的客服端;

查询会话状态:会话模块查询当前会话状态,返回“已解决”或“未解决”;

设置会话状态:客户设置当前会话状态:“已解决”或“未解决”,会话模块收到设置请求后,更新到后台客服系统;

查询业务类型列表:会话模块查询客户会话所属业务类型列表,返回业务类型列表给客户选择;

设置会话业务类型:客户从业务类型列表中选择一个业务类型,并发送给会话模块,会话模块将客户会话设置为客户选择的业务类型并通知后台客服系统。

实施例2:

一种基于mqtt和http的智能客服实现方法,流程框图如图2所示,包含以下步骤:

客服端,进行客服登录,登录之后客服获得一个唯一的票据号,客服设置客服状态:“在线”或“挂起”,当客服状态设置为“在线”时,客服账号管理模块通知后台客服系统,客服可以接待客户;当客服状态设置为“挂起”时,客服账号管理通知后台客服系统,客服不可以接待客户;

客户端,进行客户登录,发送客户消息到后台服务系统,后台服务系统将客户消息转发给会话模块,会话模块查询客户消息所属业务类型并返回业务类型,会话模块发送mqtt消息给所属业务类型的在线客服,通知客服接待客户;

接待客户的客服无法回答客户的问题时,客服通过客服账号管理模块查询当前在线客服,并将无法回答客户转接到当前在线客服;当转接的客服再次无法回答时,继续转接到下一个在线客服;

客服由于强制登录或程序崩溃异常而退出,当客服再次登录时,客服能查询未完成会话,并继续进行会话;并且,客服可以查询所接待过的所有客户以及详细会话;

结束会话时,客服端通过http发送请求到会话模块,会话模块记录会话状态,会话状态包含“已解决”和“未解决”,并更新到后台系统;当客户端要求主动结束会话时,会话模块接收要求,并通过mqtt转发个对应的客服端。

还包括客服端查询业务类型列表,设置所属业务类型,通知后台客服系统;

还包括客服端需要定时发送心跳消息来维持票据号的有效性。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1