CN109639828B - 会话消息处理方法和装置 - Google Patents

会话消息处理方法和装置 Download PDF

Info

Publication number
CN109639828B
CN109639828B CN201910035824.5A CN201910035824A CN109639828B CN 109639828 B CN109639828 B CN 109639828B CN 201910035824 A CN201910035824 A CN 201910035824A CN 109639828 B CN109639828 B CN 109639828B
Authority
CN
China
Prior art keywords
message
user object
virtual user
session
message processing
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
CN201910035824.5A
Other languages
English (en)
Other versions
CN109639828A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910035824.5A priority Critical patent/CN109639828B/zh
Publication of CN109639828A publication Critical patent/CN109639828A/zh
Application granted granted Critical
Publication of CN109639828B publication Critical patent/CN109639828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Abstract

本申请涉及一种会话消息处理方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取多人会话中产生的会话消息;当所述会话消息包括指定标记、且所述指定标记指向虚拟用户对象时,触发所述虚拟用户对象进行基于所述会话消息的业务处理;获取通过所述业务处理所产生的应答消息;在所述多人会话中,通过所述虚拟用户对象回复所述应答消息。本申请提供的方案可以提高与虚拟用户对象交互的灵活性。

Description

会话消息处理方法和装置
技术领域
本申请涉及通信技术领域,特别是涉及一种会话消息处理方法和装置。
背景技术
随着通信技术的发展,出现了很多可以发起会话的应用,用户可通过这些应用实现与真实的用户或虚拟用户对象之间的通信交流。其中,虚拟用户对象是通过软件实现的可以响应用户诉求的、且与用户进行交流的虚拟的用户对象。
传统的与虚拟用户对象进行通信的方式,在多人会话中,为保障群消息的信息安全,虚拟用户对象通常仅具有简单下发群消息的功能。然而,传统的与虚拟用户对象进行交互的方式,交互方式比较单一,不够灵活。
发明内容
基于此,有必要针对传统的与虚拟用户对象进行交互时不够灵活的技术问题,提供一种会话消息处理方法、装置、计算机可读存储介质和计算机设备。
一种会话消息处理方法,包括:
获取多人会话中产生的会话消息;
当所述会话消息包括指定标记、且所述指定标记指向虚拟用户对象时,触发所述虚拟用户对象进行基于所述会话消息的业务处理;
获取通过所述业务处理所产生的应答消息;
在所述多人会话中,通过所述虚拟用户对象回复所述应答消息。
一种会话消息处理装置,所述装置包括:
获取模块,用于获取多人会话中产生的会话消息;
触发模块,用于当所述会话消息包括指定标记、且所述指定标记指向虚拟用户对象时,触发所述虚拟用户对象进行基于所述会话消息的业务处理;
所述获取模块还用于获取通过所述业务处理所产生的应答消息;
回复模块,用于在所述多人会话中,通过所述虚拟用户对象回复所述应答消息。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述会话消息处理方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述会话消息处理方法的步骤。
上述会话消息处理方法、装置、计算机可读存储介质和计算机设备,获取多人会话中产生的会话消息,当会话消息包括指定标记、且该指定标记指向虚拟用户对象时,触发虚拟用户对象进行基于该会话消息的业务处理。这样,在多人会话的场景中,只有用户发送了包括指向虚拟用户对象的指定标记的会话消息时,该会话消息才会被传递至虚拟用户对象,无须担心其他消息被泄漏的风险。并且,虚拟用户对象会根据该会话消息进行相应的业务处理,产生应答消息并反馈。在多人会话中,通过该虚拟用户对象就可回复获取到的应答消息,响应了用户诉求,实现了用户和虚拟用户对象间灵活且智能的交互。这样,既能实现虚拟用户对象在多人会话中有针对性地响应用户,使得交互方式更灵活方便,又可保障多人会话中与虚拟用户对象无关的信息不被泄露,使得交互更安全。
一种会话消息处理方法,包括:
获取多人会话中产生的会话消息;所述会话消息包括指定标记、且所述指定标记指向与本地对应的虚拟用户对象;
基于所述会话消息进行业务处理,生成应答消息;
反馈所述应答消息;反馈的所述应答消息用于触发在所述多人会话中,通过所述虚拟用户对象回复所述应答消息。
一种会话消息处理装置,其特征在于,所述装置包括:
获取模块,用于获取多人会话中产生的会话消息;所述会话消息包括指定标记、且所述指定标记指向与本地对应的虚拟用户对象;
生成模块,用于基于所述会话消息进行业务处理,生成应答消息;
反馈模块,用于反馈所述应答消息;反馈的所述应答消息用于触发在所述多人会话中,通过所述虚拟用户对象回复所述应答消息。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述会话消息处理方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述会话消息处理方法的步骤。
上述会话消息处理方法、装置、计算机可读存储介质和计算机设备,获取多人会话中产生的会话消息,其中,该会话消息包括指向与本地对应的虚拟用户对象的指定标记。这样,在多人会话的场景中,本地只会收到与本地相关的会话消息,保障了其他消息不被泄漏。再基于该会话消息进行相应的业务处理,产生应答消息并反馈,反馈的应答消息用于触发在多人会话中,通过该虚拟用户对象回复相应的应答消息。这样,在多人会话中,实现了虚拟用户对象有针对性的响应用户,使得用户和虚拟对象间的交互更灵活智能。并且,本地只获取包括指向对应虚拟用户对象的指定标记的会话消息,保障了与虚拟用户对象无关的信息不被泄露,实现了在多人会话中,用户安全且灵活地和虚拟用户对象间进行交互。
附图说明
图1为一个实施例中会话消息处理方法的应用环境图;
图2为一个实施例中会话消息处理方法的流程示意图;
图3为一个实施例中与虚拟用户对象进行交互的界面示意图;
图4为一个实施例中当会话消息包括指定标记、且指定标记指向虚拟用户对象时,触发虚拟用户对象进行基于会话消息的业务处理的步骤的流程示意图;
图5为一个实施例中用户触发虚拟用户对象创建指令的界面示意图;
图6为一个实施例中配置界面的界面示意图;
图7为一个实施例中会话消息处理方法所对应的整体架构图;
图8为一个实施例中会话消息处理方法的流程示意图;
图9为一个实施例中会话消息处理方法的时序图;
图10为一个实施例中会话消息处理装置的结构框图;
图11为另一个实施例中会话消息处理装置的结构框图;
图12为一个实施例中会话消息处理装置的结构框图;
图13为另一个实施例中会话消息处理装置的结构框图;
图14为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中会话消息处理方法的应用环境图。参照图1,该会话消息处理方法应用于会话消息处理系统。该会话消息处理系统包括终端110、服务器120、消息处理设备130和业务系统140。终端110和服务器120通过网络连接。服务器120和消息处理设备130通过网络连接。消息处理设备130和业务系统140通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。消息处理设备130具体可以是单台设备或由多台设备组成的集群,该设备具体可以是终端或服务器,该服务器可以是提供云服务的云端服务器。业务系统140具体可以是处理各类业务的系统,比如会务系统或天气系统等。
终端110上运行操作系统,操作系统上运行有应用程序,用户可通过该应用程序实现多人会话。多人会话中的会话消息被终端110转发至相应的服务器 120。当服务器120检测到会话消息中包括指向虚拟用户对象的指定标记时,可将该会话消息传递至与虚拟用户对象对应的消息处理设备130。消息处理设备 130基于该会话消息进行业务处理,此时消息处理设备130可与相应的业务系统 140进行交互,以生成应答消息。消息处理设备130将应答消息反馈至服务器 120,服务器120将该消息转发至终端110,终端110通过虚拟用户对象展示该应答消息。
如图2所示,在一个实施例中,提供了一种会话消息处理方法。本实施例主要以该方法应用于上述图1中的终端110或服务器120(终端110和服务器120均可称作计算机设备)来举例说明。参照图2,该会话消息处理方法具体包括如下步骤:
S202,获取多人会话中产生的会话消息。
其中,多人会话是会话的一种特殊形式,而会话是通过至少两个用户标识进行消息交互的方式。会话可根据参与的用户标识的数量分为双人会话和多人会话。仅由两个用户标识参与的会话为双人会话,由超过两个用户标识参与的会话为多人会话。多人会话可以是群会话。用户标识用于唯一标识用户对象,具体可以是数字、字母或符号等。
多人会话中产生的会话消息,具体可以是群会话中产生的群消息。会话消息可以包括文本消息、语音消息、视频消息、图片消息和表情消息等中的至少一种。
具体地,终端或服务器可获取多人会话中产生的会话消息。在一个实施例中,该会话消息处理方法由终端执行,终端上可运行应用程序,该应用程序可提供多人会话的能力。终端可通过该应用程序获取多人会话中产生的会话消息。其中,该应该程序具体可以是即时通信应用或用于组织业务的组织通信应用。
在一个实施例中,终端可展示多人会话窗口,获取在该多人会话中输入的会话消息,该会话消息即为多人会话中产生的会话消息。在一个实施例中,终端也可以接收参与多人会话的除本地用户标识外的其他目标用户标识通过其它终端发送的会话消息。
在一个实施例中,该会话消息处理方法由服务器执行。终端通过应用程序获取用户在多人会话中输入的会话消息后,可将该会话消息发送至相应的服务器。
S204,当会话消息包括指定标记、且指定标记指向虚拟用户对象时,触发虚拟用户对象进行基于会话消息的业务处理。
其中,指定标记是一种特殊的标记,用于标记参与多人会话中的某个或某些用户对象。比如,指定标记具体可以是@标记,当用户通过终端选择“@”符号时,终端会调起当前参与该多人会话中的用户对象所对应的用户标识,当用户选中用户标识时,该用户标识所对应的用户对象即可认为是指定标记所指向的用户对象。
虚拟用户对象是通过软件实现的可以响应用户诉求的、且与用户进行交流的虚拟的对象,比如客服机器人、天气小助手这样的可通过计算机设备与用户进行交互的对象。其中,参与多人会话的用户对象具体可包括目标用户对象和虚拟用户对象。目标用户对象是真实存在的用户,虚拟用户对象是通过计算机设备实现的虚拟的用户。
具体地,当获取的会话消息包括指定标记、且该指定标记指向虚拟用户对象时,计算机设备可将该会话消息传递至与虚拟用户对象对应的设备,并触发虚拟用户对象进行基于会话消息的业务处理。
在一个实施例中,该虚拟用户对象通过部署在消息处理设备之上的消息处理服务来实现。消息处理设备具体可以是单台设备或由多台设备组成的集群,该设备具体可以是终端或服务器,该服务器可以是提供云服务的云端服务器。当计算机设备检测到会话消息包括指向虚拟用户对象的指定标记时,可将该会话消息发送至与虚拟用户对象对应的消息处理设备,消息处理设备基于该会话消息进行相应的业务处理。
在一个实施例中,该会话消息处理方法由终端执行,当终端检测到用户触发标记动作时,确定该标记动作所指向的用户对象。当该标记动作所指向的用户对象为虚拟用户对象时,终端可通过服务器将该会话消息传递至与虚拟用户对象对应的消息处理设备。消息处理设备接收到会话消息后,根据会话消息进行相应的业务处理,得到应答消息。
在一个实施例中,该会话消息处理方法由服务器执行,终端上运行的应用程序将多人会话中的会话消息发送至服务器。服务器可对接收到的会话消息进行检测。当用户通过终端触发标记动作时,终端会在该条会话消息中添加指定标记,指定标记比如“@”和表示标记动作的标记符号。当服务器检测到指定标记时可进一步确定该指定标记所指向的用户对象。当指定标记指向虚拟用户对象时,服务器可将携带有该指定标记的该条会话消息发送至消息处理设备。
在一个实施例中,服务器上部署有与消息处理设备进行通信的开放服务,该开放服务器具体可以是具有接口能力的服务。服务器与消息处理设备间的通信可通过该开放服务实现。比如,服务器可通过该开放服务提供webhook(网络钩子)地址,消息处理设备可通过该webhook地址将消息传递至服务器。
在一个实施例中,为保障会话消息在传输过程中的安全性,计算机设备可对会话消息进行加密后再传递至消息处理设备。同样地,消息处理设备在反馈应答消息时,也可对应答消息进行加密处理后反馈。其中,加密算法具体可采用对称加密算法或非对称加密算法等,在此不做限制。对称加密算法比如AES (Advanced Encryption Standard,高级加密标准)算法、DES(Data Encryption Standard)算法、或RC5(一种分组密码算法)算法等;非对称加密算法比如 RSA(一种常见的加密算法)算法、Elgamal(一种常见的加密算法)算法、或 ECC(Elliptic curve cryptography,椭圆曲线密码学)算法等。
在一个实施例中,消息处理设备可与多个虚拟用户对象对应,也就是消息处理设备上可运行有多组分别与各虚拟用户对象对应的服务。多组服务根据业务需求可分别与不同的业务系统对接。比如,当虚拟用户对象为负责天气播报业务的对象时,如“天气小助手”,与该虚拟用户对象(“天气小助手”)对应的服务则与气象业务系统对接,消息处理设备可从气象业务系统中获取相应的天气信息,以生成相应的应答消息。当虚拟用户对象为负责会议室预定业务的对象时,如“会议小助手”,与该虚拟用户对象(“会议小助手”)对应的服务则与企业的会务系统对接,消息处理设备可从会务系统中获取相应的会议室预定和空置情况,以生成相应的应答消息。在一个实施例中,与虚拟用户对象对应的服务还可与预设网站对接,也就是该通过预设的网址访问外部的网站,以获取相应的业务信息。
在一个实施例中,步骤S204,也就是当会话消息包括指定标记、且指定标记指向虚拟用户对象时,触发虚拟用户对象进行基于会话消息的业务处理的步骤具体包括:当会话消息包括指定标记、且指定标记指向虚拟用户对象时,查找与虚拟用户对象相对应的网络地址;根据网络地址,将会话消息发送至相应的消息处理设备;会话消息用于指示消息处理设备根据会话消息进行业务处理。
具体地,当服务器检测出会话消息中包括指向虚拟用户对象的指定标记时,服务器可查找本地存储的与该虚拟用户对象相对应的网络地址,并根据该网络地址将会话消息发送至相应的消息处理设备。
在一个实施例中,在创建与虚拟用户对象相应的服务时,可确定相应的网络地址,该网络地址指向消息处理设备。该网络地址用于传递会话消息。
上述实施例中,当会话消息包括指向虚拟用户对象的指定标记时,可依据查找到的网络地址,准确地将会话消息传递至与虚拟用户对象对应的消息处理设备。
S206,获取通过业务处理所产生的应答消息。
其中,应答消息是响应于会话消息的回复消息。具体地,消息处理设备基于会话消息进行相应的业务处理产生应答消息后,可反馈该应答消息。计算机设备可获取消息处理设备反馈的应答消息。
在一个实施例中,消息处理设备可基于会话消息进行业务处理,生成应答消息。具体地,消息处理设备可提取会话消息中包括的关键词,依据关键词,查找与关键词匹配的业务信息,将业务信息按预设格式组织成应答消息。
在一个实施例中,消息处理设备可对会话消息进行分词处理,从分词得到的词中确定关键词。再依据关键词,从业务系统中查找与关键词相匹配的业务信息。将查找到的业务信息按预设置的格式,组织成用户易于阅读的格式,生成相应的应答消息。
S208,在多人会话中,通过虚拟用户对象回复应答消息。
具体地,计算机设备在获取应答消息后,可在该多人会话中通过该虚拟用户对象反馈该应答消息,也就是将应答消息作为回复内容,通过该虚拟用户对象对会话消息进行回复。
在一个实施例中,消息处理设备可将应答消息反馈至服务器,服务器确定与该应答消息对应的多人会话标识,进而确定参与该多人会话的目标用户对象。服务器可将该应答消息发送至参与该多人会话的目标用户对象所对应的终端。终端接收到应答消息后,可显示虚拟用户对象对应的头像,并通过虚拟用户对象在多人会话窗口中展示该应答消息。
在一个实施例中,服务器可确定触发标记动作的目标用户对象,当服务器获取应答消息后,可在应答消息中添加指向该目标用户对象的指定标记。这样,当该目标用户所在的终端接收到相应的应答消息后,会触发提醒动作以提醒目标用户。其中,提醒动作比如指示灯闪烁、在多人会话窗口中弹出提示信息、或终端震动等动作。
参考图3,图3为一个实施例中与虚拟用户对象进行交互的界面示意图。如图3所示,参与多人会话的某个目标用户对象(用户1)通过终端发出了“@会议小助手最近可用的会议室在哪里?”这样的会话消息。服务器在收到该条消息时,检测到该会话消息携带指向虚拟用户对象(会议小助手)的指定标记,将该会话消息传递至消息处理设备,消息处理设备进行相应的业务处理后,反馈应答消息。服务器根据应答消息向参与多人会话的目标用户对象所对应的终端发送“@用户1在1902,16:00以后可用”,接收到消息的终端可显示虚拟用户对象(会议小助手)的头像,并在该头像后显示“@用户1在1902,16:00以后可用”的内容,也就是通过虚拟用户对象(会议小助手)展示应答消息。
上述会话消息处理方法,获取多人会话中产生的会话消息,当会话消息包括指定标记、且该指定标记指向虚拟用户对象时,触发虚拟用户对象进行基于该会话消息的业务处理。这样,在多人会话的场景中,只有用户发送了包括指向虚拟用户对象的指定标记的会话消息时,该会话消息才会被传递至虚拟用户对象,无须担心其他消息被泄漏的风险。并且,虚拟用户对象会根据该会话消息进行相应的业务处理,产生应答消息并反馈。在多人会话中,通过该虚拟用户对象就可回复获取到的应答消息,响应了用户诉求,实现了用户和虚拟用户对象间灵活且智能的交互。这样,既能实现虚拟用户对象在多人会话中有针对性地响应用户,使得交互方式更灵活方便,又可保障多人会话中与虚拟用户对象无关的信息不被泄露,使得交互更安全。
在一个实施例中,该会话消息处理方法还包括屏蔽虚拟用户对象的步骤,该步骤具体包括:当会话消息不包括指向虚拟用户对象的指定标记时,向参与多人会话的、且除虚拟用户对象之外的目标用户对象所对应的终端发送会话消息。
具体地,计算机设备获取的多人会话中的会话消息不包括指向虚拟用户对象的指定标记时,计算机设备向参与多人会话的、且除虚拟用户对象之外的目标用户对象所对应的终端发送该会话消息。也就是,只有包括指向虚拟用户对象的指定标记的会话消息才会被回调至消息处理设备,其他的会话消息不回调,参与多人会话的用户无需担心群消息被泄露或监听。
在一个实施例中,用户通过运行在终端上的应用程序进入多人会话,在多人会话中发送会话消息。该会话消息被发送至服务器。当服务器检测到该会话消息不包括指向虚拟用户对象的指定标记时,服务器直接向参与多人会话的、且除虚拟用户对象之外的目标用户对象所对应的终端发送该会话消息。
在一个实施例中,终端运行的应用程序和服务器进行交互时,可采用私有加密的通讯方式,确保会话消息在传递过程中不会被窃取。终端上运行的应用程序比如组织通信应用,相应的服务器比如组织通信服务器。
上述实施例中,当会话消息不包括指向虚拟用户对象的指定标记时,向参与多人会话的、且除虚拟用户对象之外的目标用户对象所对应的终端发送该会话消息,保障多人会话中与虚拟用户对象无关的信息不被泄露,大大提高了交互的安全性。
在一个实施例中,步骤S204,也就是当会话消息包括指定标记、且指定标记指向虚拟用户对象时,触发虚拟用户对象进行基于会话消息的业务处理的步骤具体包括以下步骤:
S402,当会话消息包括指定标记、且指定标记指向虚拟用户对象时,对会话消息进行加密处理,得到第一消息密文。
具体地,当会话消息包括指定标记、且指定标记指向虚拟用户对象时,计算机设备可获取加密密钥,通加密密钥对会话消息进行加密处理,得到第一消息密文。
在一个实施例中,在创建虚拟用户对象时,终端、服务器或消息处理设备可生成与该虚拟用于对象对应的密钥。当配置的密钥为对称密钥时,可将相应的对称密码传递至该会话消息处理系统中的其他设备。这样,计算机设备可通过该对称密钥对会话消息进行加密,得到第一消息密文。
在一个实施例中,当配置的密钥为密钥对(密钥对包括公钥和私钥)时,消息处理系统可保存私钥,终端或服务器保存公钥。这样,终端或服务器可通过该公钥对会话消息进行加密,得到第一消息密文。当消息处理设备收到第一消息密文后,可通过私钥进行解密。
在一个实施例中,计算机设备可对会话消息进行加密后,再进行编码处理得到第一消息密文。其中编码处理比如base64编码(Base64编码是一种编码方式,编码后得到的数据可用于在http协议下进行传输)方式。计算机设备可根据与虚拟用户对象对应的网络地址,向消息处理设备发起http(Hypertext Transfer Protocol,超文本传输协议)请求,请求报文包括第一消息密文。
S404,根据与虚拟用户对象相应配置的通信令牌、及第一消息密文,生成第一签名。
具体地,计算机设备可根据与虚拟用户对象相应配置的通信令牌、及第一消息密文,生成第一签名。计算机设备可直接对通信令牌和第一消息密文进行哈希运算,得到第一签名。或者,计算机设备可根据通信令牌和第一消息密文生成摘要,对摘要进行哈希运算得到第一签名。
在一个实施例中,计算机设备可将通信令牌和第一消息密文中的参数值按照字母字典排序,然后从小到大拼接成一个字符串。对该字符串进行哈希运算,得到第一签名。其中哈希算法比如sha1(Secure Hash Algorithm 1)算法。
在一个实施例中,创建虚拟用户对象时,可相应配置与该虚拟用户对象对应的通信令牌(token)。该通信令牌仅保存于服务器和消息处理设备中,通信令牌可用于进行通信对象的识别,以保障通信的安全性。
在一个实施例中,步骤S404,也就是根据与虚拟用户对象相应配置的通信令牌、及第一消息密文,生成第一签名具体包括:获取当前的时间戳、随机生成的随机数、及与虚拟用户对象相应配置的通信令牌;依据时间戳、随机数、通信令牌和第一消息密文,生成第一签名。
具体地,计算机设备可随机生成随机数(nonce),并获取当前的时间戳(timestamp)。根据时间戳、随机数、通信令牌和第一消息密文,通过哈希算法生成第一签名。
在一个实施例中,计算机随机可在预设时间段(比如2小时)内随机生成不同的随机数。在该时间段内保证不重复。这样,通过随机数和时间戳生成第一签名,可防止重放攻击。
在一个实施例中,第一签名可用msg_signature1来表示,第一消息密文可用msg_encrypt1来表示。第一签名可采用如下函数进行计算: msg_signature1=sha1[sort(token、timestamp、nonce、msg_encrypt1)]。其中,sort是将各参数值按照字母字典排序,然后从小到大拼接成一个字符串。 sha1是一种被广泛使用的安全哈希算法,原名SecureHash Algorithm 1。
S406,将第一消息密文和第一签名发送至与虚拟用户对象对应的消息处理设备;第一消息密文用于指示消息处理设备根据相应的通信令牌和第一消息密文对第一签名进行验证;当验证通过后,第一消息密文还用于指示消息处理设备根据第一消息密文进行相应的业务处理。
具体地,计算机设备可将第一消息密文和第一签名发送至与虚拟用户对象对应的消息处理设备。消息处理设备收到第一消息密文和第一签名后,根据相应的通信令牌和第一消息密文对第一签名进行验证。
在一个实施例中,消息处理设备收到第一消息密文和第一签名后,查找本地的通信令牌,将通信令牌、及第一消息密文进行哈希运算,生成第三签名。比较第一签名和第三签名是否一致,当第一签名和第三签名完全一致时,则第一签名通过验证;当第三签名与第一签名不同时,则说明该消息处理设备收到的回调请求的数据包可能被篡改,应当直接丢弃。
在一个实施例中,步骤S406,也就是将第一消息密文和第一签名发送至与虚拟用户对象对应的消息处理设备,包括:将时间戳、随机数、第一消息密文和第一签名发送至与虚拟用户对象相应的消息处理设备;发送的时间戳、随机数和第一消息密文用于指示消息处理设备根据相应的通信令牌、时间戳、随机数和第一消息密文对第一签名进行验证。
具体地,当计算机设备依据时间戳、随机数、通信令牌和第一消息密文生成第一签名时,计算机设备可将时间戳、随机数、第一消息密文和第一签名发送至与虚拟用户对象相应的消息处理设备。消息处理设备收到时间戳、随机数、第一消息密文和第一签名后,可验证时间戳是否在有效时间段内,如果不在有效时间段内,则可直接丢弃收到的信息。当时间戳在有效时间段内,消息处理设备可查询在预设时长内是否存在同样的随机数,如果有其他的回调请求中包括该随机数,则可丢弃收到的信息,避免被攻击者重放请求。
进一步地,当时间戳和随机数都通过验证后,消息处理设备可查找本地的通信令牌,将时间戳、随机数、通信令牌、及第一消息密文进行哈希运算,生成第三签名。比较第一签名和第三签名是否一致,当第一签名和第三签名完全一致时,则第一签名通过验证;当第三签名与第一签名不同时,则说明消息处理设备收到的回调请求的数据包可能被篡改,应当直接丢弃。
这样,在根据第一消息密文生成第一签名时包括了时间戳和随机数,可以防止恶意用户对消息处理设备的重放攻击,提高了系统安全。
上述实施例中,在传递会话消息时,对会话消息进行加密处理,并根据通信令牌和第一消息密文生成第一签名,同时传递第一消息密文和第一签名,保障只有指定设备可以获取到传递的数据包中的具体信息,同时也通过签名保障了数据来源的可靠性,大大提高了会话消息在传递过程中的安全性。
在一个实施例中,步骤S402,也就是当会话消息包括指定标记、且指定标记指向虚拟用户对象时,对会话消息进行加密处理,得到第一消息密文的步骤具体包括:当会话消息包括指定标记、且指定标记指向虚拟用户对象时,随机生成第一随机字符串;确定与会话消息相关的第一相关信息;拼接第一随机字符串、第一相关信息和会话消息,得到第一明文字符串;依据与虚拟用户对象对应的加密密钥,对第一明文字符串进行加密处理,得到第一消息密文。
具体地,当会话消息包括指定标记、且指定标记指向虚拟用户对象时,计算机设备可随机生成一串字符串,该字符串可用于区分不同的会话消息,即使内容相同的两条会话消息在拼接了相应的随机字符串后,再进行加密处理所得到的第一消息密文也会不同。
计算机设备可确定与会话消息相关的第一相关消息,拼接第一随机字符串、第一相关信息和会话消息,得到第一明文字符串。再根据与虚拟用户对象对应的加密密钥,对第一明文字符串进行加密处理,得到第一消息密文。其中,与会话消息相关的第一相关消息具体可以是会话消息的消息类型、消息发送方标识、及消息长度等。加密密钥具体可以是对称密钥或非对称密钥对中的私钥或公钥。当加密密钥是对称密钥时,消息处理设备接收到第一消息密文后,可采用同样的对称密钥进行相应的解密。当加密密钥是非对称密钥对中的私钥或公钥时,消息处理设备接收到第一消息密文后,可采用相应的公钥或私钥进行解密。
在一个实施例中,可通过以下公式表示第一明文字符串(rand_msg): rand_msg=random(16B)+msg_len(4B)+msg;其中,random(16B)是16个字节的随机字符串;msg_len为msg的字节数,网络字节序;msg是包含会话消息的消息类型、消息内容、消息发送方标识等信息的字符串。计算机设备可将上述数据按顺序拼接得到第一明文字符串。再对第一明文字符串进行加密处理,得到第一消息密文。
上述实施例中,当会话消息包括指向虚拟用户对象的指定标记时,拼接第一随机字符串、第一相关信息和会话消息,得到第一明文字符串。再对第一明文字符串进行加密处理,得到第一消息密文。这样可使得不同的会话消息在加密后得到不同的第一消息密文,即使会话消息的内容相同,最后也会对应不同的第一消息密文,保障了会话消息在传输中的唯一性。
在一个实施例中,步骤S204,也就是当会话消息包括指定标记、且指定标记指向虚拟用户对象时,触发虚拟用户对象进行基于会话消息的业务处理的步骤具体包括:当会话消息包括指定标记、且指定标记指向虚拟用户对象时,建立与虚拟用户对象进行通信的通信链路并保持;通过通信链路,将会话消息发送至与虚拟用户对象对应的消息处理设备。步骤S206,也就是获取通过业务处理所产生的应答消息的步骤,包括:通过通信链路,接收消息处理设备反馈的应答消息;应答消息是消息处理设备根据会话消息进行业务处理所产生。
具体地,当会话消息包括指定标记、且指定标记指向虚拟用户对象时,服务器可建立与虚拟用户对象进行通信的通信链路并保持。比如,服务器可依据与虚拟用户对象对应的网络地址,与消息处理设备间建立TCP(Transmission Control Protocol,传输控制协议)连接。当建立了TCP连接后,服务器可向消息处理设备发起http请求,其中,http请求中携带会话消息。消息处理设备收到会话消息进行相应的业务处理后,可通过该TCP连接反馈应答消息。服务器在收到消息处理设备反馈的应答消息后可断开该TCP连接,也就是关闭通信链路。
上述实施例中,通过建立用于与虚拟用户对象进行通信的通信链路,采用“请求-应答”模式的通信方式,通过该链路传输会话消息和应答消息,提高了信息传输效率,进一步提高了与虚拟用户对象间的交互效率。
在一个实施例中,该会话消息处理方法还包括虚拟用户对象的生成步骤,该步骤具体包括:获取虚拟用户对象创建指令;根据虚拟用户对象创建指令,确定用于与待创建的虚拟用户对象进行通信的接口地址;获取相应的配置参数;依据接口地址和配置参数,触发生成虚拟用户对象。
其中,虚拟用户对象创建指令用于创建虚拟用户对象。其中,虚拟用户对象具体可通过一组部署在消息处理设备之上的消息处理服务来实现,消息处理服务用于处理会话消息并反馈应答消息。在终端上则可通过虚拟用户标识来表示虚拟用户对象,虚拟用户标识具体可以是虚拟用户对象的名称或头像等。
接口地址是服务器所提供的用于和消息处理设备进行通信的地址。比如,服务器可通过部署的开放服务提供webhook(网络钩子)地址,消息处理设备可通过该webhook地址将消息传递至服务器。此处的webhook地址就是接口地址。与消息处理设备相应的配置参数具体可以包括与应答消息对应的预设格式、虚拟用户标识、网络地址、通信令牌、和加密密钥等。其中,网络地址是消息处理服务中用于接收会话消息的地址。
具体地,计算机设备可获取虚拟用户对象创建指令,根据虚拟用户对象创建指令,确定用于与待创建的虚拟用户对象进行通信的接口地址,具体可以是服务器上部署的开放服务所提供的webhook地址。计算机设备可从本地或其他计算机设备处获取与消息处理设备相应的配置参数,依据接口地址和配置参数,触发生成运行于消息处理设备之上的消息处理服务,该消息处理服务用于根据会话消息进行相应的业务处理。
在一个实施例中,用户可通过终端上运行的应用程序触发虚拟用户对象创建指令。终端将虚拟用户对象创建指令发送至服务器,服务器根据虚拟用户对象创建指令为待创建的虚拟用户对象分配相应的接口地址。服务器还可为其设定相应的指定参数,指定参数比如与该虚拟用户对象对应的群组等。
参考图5,图5为一个实施例中用户触发虚拟用户对象创建指令的界面示意图。如图5所示,用户可进入多人会话窗口,该窗口提供创建虚拟用户对象的创建入口,比如图5中多人会话窗口中右下角所示的“群机器人”那一栏中的“+”符号,通过点击该符号,可弹出“添加群机器人”的创建窗口。该窗口中可包括“群机器人支持webhook协议的自定义接入”字样,以提醒用户。其中,“群机器人”就是虚拟用户对象。
进一步地,当用户点击“添加群机器人”的图标按钮时,终端可生成相应的虚拟用户对象创建指令,并发送至服务器。服务器根据虚拟用户对象创建指令为待创建的虚拟用户对象分配相应的接口地址,并反馈至终端。终端收到接口地址后,可展示相应的配置界面。终端可获取用户录入至配置界面的配置参数,并发送至服务器,通过服务器触发生成消息处理服务,以生成虚拟用户对象。用户可将消息处理服务运行于消息处理设备,该消息处理设备具体可以是与企业对应的服务器,或者是提供云服务的云端服务器等均可,在此不做限定。
参考图6,图6为一个实施例中配置界面的界面示意图。参考图6,终端可展示配置界面,配置界面中显示有虚拟用户标识“天气机器人”、接口地址“webhook地址:http://12.3456789…123456789”、以及相应的参数文本框等。比如,用户可在配置界面中录入与消息处理设备对应的网络地址(URL);通过终端随机生成通信令牌(token);通过终端随机生成加密密钥(Encoding AES key)等。
在一个实施例中,参与多人会话的用户可在群组中创建虚拟用户对象。在虚拟用户对象创建成果后,可将该虚拟用户对象分享至其他的群组,使得该虚拟用户对象可参与多个多人会话。
上述实施例中,通过用于与待创建的虚拟用户对象进行通信的接口地址、及与消息处理设备相应的配置参数,可触发生成用于处理相应业务的虚拟用户对象,这样就可依据实际的业务需求快捷方便的创建相应的虚拟用户对象,以实现企业各种自动化协助的功能。
参考图7,图7为一个实施例中会话消息处理方法所对应的整体架构图。以组织通信应用为例进行说明,如图7所示,终端上运行有组织通信应用客户端,用户通过组织通信应用客户端可参与到多人会话中。当用户通过组织通信应用客户端参与多人会话时,组织通信应用客户端通过网络连接将会话消息发送至组织通信服务器。当组织通信服务器检测到会话消息中包括指向虚拟用户对象的指定标记时,也就是当检测到存在“@机器人”的会话消息时,通过部署在组织通信服务器上的开放服务将该条会话消息传输至消息处理设备。当组织通信服务器检测到会话消息中不包括指向虚拟用户对象的指定标记时,也就是检测到是普通群消息时,组织通信服务器向参与多人会话的、且除虚拟用户对象之外的目标用户对象所对应的终端发送该会话消息。
消息处理设备通过与企业系统间的交互,对接收到的会话消息进行处理,生成相应的应答消息,并将应答消息反馈至组织通信服务器。组织通信服务器将应答消息反馈至组织通信应用客户端。消息处理设备和组织通信服务器间信息的传输通过私有密钥加密,且通过随机数和时间戳来防止重放攻击。在一个实施例中,消息处理设备还可调用webhook地址,直接向组织通信服务器发送群消息。
如图8所示,在一个实施例中,提供了一种会话消息处理方法。本实施例主要以该方法应用于上述图1中的消息处理设备130来举例说明。参照图8,该会话消息处理方法具体包括如下步骤:
S802,获取多人会话中产生的会话消息;会话消息包括指定标记、且指定标记指向与本地对应的虚拟用户对象。
具体地,消息处理设备可获取服务器发送的包括指向与本地对应的虚拟用户对象的指定标记的会话消息。
在一个实施例中,服务器可获取终端发送的多人会话中产生的会话消息。进而对接收到的会话消息进行检测。当用户通过终端触发标记动作时,终端会在该条会话消息中添加指定标记,指定标记比如“@”和表示标记动作的标记符号。当服务器检测到指定标记时可进一步确定该指定标记所指向的用户对象。当指定标记指向虚拟用户对象时,服务器可将携带有该指定标记的该条会话消息发送至消息处理设备。
在一个实施例中,服务器上部署有与消息处理设备进行通信的开放服务,该开放服务器具体可以是具有接口能力的服务。服务器与消息处理设备间的通信可通过该开放服务器实现。比如,服务器可通过该开放服务提供webhook(网络钩子)地址,消息处理设备可通过该webhook地址将消息传递至服务器。
在一个实施例中,为保障会话消息在传输过程中的安全性,计算机设备可对会话消息进行加密后再传递至消息处理设备。同样地,消息处理设备在反馈应答消息时,也可对应答消息进行加密处理后反馈。其中,加密算法具体可采用对称加密算法或非对称加密算法等,在此不做限制。
S804,基于会话消息进行业务处理,生成应答消息。
具体地,消息处理设备获取多人会话中的会话消息后,可根据该会话消息进行相应的业务处理,生成应答消息。
在一个实施例中,消息处理设备可与多个虚拟用户对象对应,也就是消息处理设备上可运行有多组分别与各虚拟用户对象对应的服务。多组服务根据业务需求可分别与不同的业务系统对接。比如,当虚拟用户对象为负责天气播报业务的对象时,如“天气小助手”,与该虚拟用户对象(“天气小助手”)对应的服务则与天气系统对接,消息处理设备可从天气系统中获取相应的天气信息,以生成相应的应答消息。当虚拟用户对象为负责会议室预定业务的对象时,如“会议小助手”,与该虚拟用户对象(“会议小助手”)对应的服务则与企业的会务系统对接,消息处理设备可从会务系统中获取相应的会议室预定和空置情况,以生成相应的应答消息。在一个实施例中,与虚拟用户对象对应的服务还可与预设网站对接,也就是该通过预设的网址访问外部的网站,以获取相应的业务信息。
在一个实施例中,步骤S804,也就是基于会话消息进行业务处理,生成应答消息的步骤具体包括:提取会话消息中包括的关键词;依据关键词,查找与关键词匹配的业务信息;将业务信息按预设格式组织成应答消息。
在一个实施例中,消息处理设备可对会话消息进行分词处理,从分词得到的词中确定关键词。再依据关键词,从相应对接的业务系统中查找与关键词相匹配的业务信息。将查找到的业务信息按预设置的格式,组织成用户易于阅读的形式,生成相应的应答消息。
在一个实施例中,消息处理设备可预先设置相应的预设关键词,当收到会话消息后,提取出会话消息中出现的预设关键词。提取出的预设关键词就是会话消息中所包括的关键词。再依据关键词从业务系统中查找相匹配的业务信息。
在一个实施例中,当会话消息是文本消息时,消息处理设备可直接提取文本消息中的关键词。当会话消息是语音消息时,消息处理设备可对该语音消息进行语音识别得到相应的文本消息,再提取出关键词。当会话消息是图片消息时,消息处理设备可预先建立图片和关键词间的对应关系,依据对应关系确定与图像消息对应的关键词。或者,消息处理设备还可识别图片消息中的文本,进而根据文本确定相应的关键词。
在一个实施例中,消息处理设备可直接将业务信息反馈至服务器,服务器将业务信息按预设格式组织成应答消息回复至多人会话中。或者,消息处理设备可将查找到的业务信息预设格式组织成应答消息,并反馈至服务器。
举例说明,当虚拟用户对象为“天气小助手”时,“天气小助手”可识别会话消息,确定会话消息中发关键词。比如,当消息处理设备处理与天气相关的业务时,可将与时间和地理位置等相关词设为关键词。这样,“天气小助手”可提取出会话消息中的时间和地理位置信息,从而从气象网站等地方查找相应的天气数据。
上述实施例中,通过会话消息中的关键词确定相应的业务信息,再将业务信息按预设格式组织成应答消息,可实使得虚拟用户对象有针对性地回复用户,实现企业各种自动化协助的功能。
S806,反馈应答消息;反馈的应答消息用于触发在多人会话中,通过虚拟用户对象回复应答消息。
具体地,消息处理设备可将应答消息反馈至服务器。服务器确定与该应答消息对应的多人会话,进而确定参与该多人会话的目标用户对象。服务器可将该应答消息发送至参与该多人会话的目标用户对象所对应的终端。终端接收到应答消息后,可在多人会话窗口中展示该应答消息。
在一个实施例中,服务器可确定触发标记动作的目标用户对象,当服务器获取应答消息后,可在应答消息中添加指向该目标用户对象的指定标记。这样,当该目标用户所在的终端接收到相应的应答消息后,会触发提醒动作以提醒目标用户。其中,提醒动作比如指示灯闪烁、在多人会话窗口中弹出提示信息、或终端震动等动作。
在一个实施例中,当会话消息包括指定标记、且指定标记指向虚拟用户对象时,服务器可建立与消息处理设备之间的通信链路并保持。比如,服务器可依据与虚拟用户对象对应的网络地址,与消息处理设备间建立TCP (Transmission Control Protocol,传输控制协议)连接。当建立了TCP连接后,服务器可向消息处理设备发起http请求,其中,http请求中携带会话消息。相应地,消息处理设备对会话消息进行相应的业务处理得到应答消息后,也通过该TCP连接反馈应答消息。服务器在收到消息处理设备反馈的应答消息后可断开该TCP连接,也就是关闭通信链路。
在一个实施例中,消息处理设备还可通过与服务器对应的接口地址,将应答消息反馈至服务器。
上述会话消息处理方法,获取多人会话中产生的会话消息,其中,该会话消息包括指向与本地对应的虚拟用户对象的指定标记。这样,在多人会话的场景中,本地只会收到与本地相关的会话消息,保障了其他消息不被泄漏。再基于该会话消息进行相应的业务处理,产生应答消息并反馈,反馈的应答消息用于触发在多人会话中,通过该虚拟用户对象回复相应的应答消息。这样,在多人会话中,实现了虚拟用户对象有针对性的响应用户,使得用户和虚拟对象间的交互更灵活智能。并且,本地只获取包括指向对应虚拟用户对象的指定标记的会话消息,保障了与虚拟用户对象无关的信息不被泄露,实现了在多人会话中,用户安全且灵活地和虚拟用户对象间进行交互。
在一个实施例中,步骤S806,也就是反馈应答消息的步骤具体包括:对应答消息进行加密处理,得到第二消息密文;获取当前的时间戳、随机生成的随机数、及与虚拟用户对象相应配置的通信令牌;依据时间戳、随机数、通信令牌和第二消息密文,生成第二签名;将时间戳、随机数、第二消息密文和第二签名发送至服务器;时间戳、随机数和第二消息密文用于指示服务器根据相应的通信令牌、时间戳、随机数和第二消息密文对第二签名进行验证;当验证通过后,第二消息密文还用于指示服务器触发在多人会话中,通过虚拟用户对象回复应答消息。
在一个实施例中,消息处理设备可获取加密密钥,通加密密钥对应答消息进行加密处理,得到第二消息密文。服务器在收到第二消息密文时,可依据相应的解密密钥进行解密。
在一个实施例中,计算机设备可对应答消息进行加密后,再进行编码处理得到第二消息密文。其中编码处理比如base64编码。消息处理设备可响应于服务器发起的请求反馈应答消息。
进一步地,消息处理设备可获取当前的时间戳、随机生成的随机数、及与虚拟用户对象相应配置的通信令牌,对时间戳、随机数、通信令牌和第二消息密文进行哈希运算,生成第二签名。
在一个实施例中,计算机设备可直接对时间戳、随机数、通信令牌和第二消息密文进行哈希运算,得到第二签名。或者,计算机设备可根据时间戳、随机数、通信令牌和第二消息密文生成摘要,对摘要进行哈希运算得到第二签名。
在一个实施例中,计算机设备可将时间戳、随机数、通信令牌和第二消息密文中的参数值按照字母字典排序,然后从小到大拼接成一个字符串。对该字符串进行哈希运算,得到第二签名。
在一个实施例中,第二签名可用msg_signature2来表示,第二消息密文可用msg_encrypt2来表示。第二签名可采用如下函数进行计算: msg_signature2=sha1[sort(token、timestamp、nonce、msg_encrypt2)]。其中,sort是将各参数值按照字母字典排序,然后从小到大拼接成一个字符串。 sha1是一种被广泛使用的安全哈希算法,原名SecureHash Algorithm 1。
进一步地,消息处理设备可将时间戳、随机数、第二消息密文和第二签名发送至服务器。服务器可验证收到的时间戳是否在有效时间段内,如果不在有效时间段内,则可直接丢弃收到的信息。当时间戳在有效时间段内,服务器可查询在预设时长内是否存在同样的随机数,如果存在则可丢弃收到的信息,避免被攻击者重放请求。
当时间戳和随机数都通过验证后,服务器可查找本地的通信令牌,将时间戳、随机数、通信令牌、及第二消息密文进行哈希运算,生成第四签名。比较第二签名和第四签名是否一致,当一致时,则第二签名通过验证;当不一致时,则说明服务器收到的数据包可能被篡改,应当直接丢弃。
当签名验证通过后,服务器可将该应答消息发送至参与多人会话的目标用户对象所对应的终端,终端接收到应答消息后,可在多人会话窗口中展示该应答消息。
在一个实施例中,消息处理设备对应答消息进行处理,得到第二签名的步骤,具体可以同服务器对会话消息进行处理,得到第一签名的步骤一样,详细的请参照前文中服务器对会话消息进行处理,得到第一签名的内容描述。
上述实施例中,在传递应答消息时,对应答消息进行加密处理,并根据时间戳、随机数、通信令牌和第二消息密文生成第二签名,同时传递时间戳、随机数、第二消息密文和第二签名,保障只有指定设备可以获取到传递的数据包中的具体信息,同时也通过签名保障了数据来源的可靠性,大大提高了应答消息在传递过程中的安全性。并且,在根据第二消息密文生成第二签名时包括了时间戳和随机数,可以防止恶意用户对服务器的重放攻击,提高了系统安全。
在一个实施例中,对应答消息进行加密处理,得到第二消息密文的步骤具体包括:随机生成第二随机字符串;确定与应答消息相关的第二相关信息;拼接第二随机字符串、第二相关信息和应答消息,得到第二明文字符串;依据与虚拟用户对象对应的加密密钥,对第二明文字符串进行加密处理,得到第二消息密文。
具体地,消息处理设备可随机生成一串字符串,该字符串可用于区分不同的应答消息,即使内容相同的两条应答消息在拼接了相应的随机字符串后,再进行加密处理所得到的第二消息密文也会不同。
消息处理设备可确定与应答消息相关的第二相关消息,拼接第二随机字符串、第二相关信息和应答消息,得到第二明文字符串。再根据与虚拟用户对象对应的加密密钥,对第二明文字符串进行加密处理,得到第二消息密文。其中,与应答消息相关的第二相关消息具体可以是应答消息的消息类型、消息发送方标识、及消息长度等。
在一个实施例中,消息处理设备对应答消息进行加密处理的具体步骤,可以同服务器对会话消息进行加密处理的步骤一样,详细的请参照前文中服务器对会话消息进行加密处理的内容描述。
上述实施例中,拼接第二随机字符串、第二相关信息和应答消息,得到第二明文字符串。再对第二明文字符串进行加密处理,得到第二消息密文。这样可使得不同的应答消息在加密后得到不同的第二消息密文,即使应答消息的内容相同,最后也会对应不同的第二消息密文,保障了应答消息在传输中的唯一性。
在一个实施例中,该会话消息处理方法还包括消息群发的步骤,该步骤具体包括:获取消息群发指令;消息群发指令包括待发送的目标消息;确定与虚拟用户对象相对应的接口地址;响应于消息群发指令,根据接口地址,将目标消息发送至相应的服务器;目标消息用于指示服务器触发在多人会话中,通过虚拟用户对象传递目标消息。
在一个实施例中,服务器上部署有与消息处理设备进行通信的开放服务,该开放服务器具体可以是具有接口能力的服务。服务器与消息处理设备间的通信可通过该开放服务实现。比如,服务器可通过该开放服务提供webhook(网络钩子)地址,消息处理设备可通过该webhook地址将消息传递至服务器。
在一个实施例中,消息处理设备可获取包括待发送的目标消息的消息群发指令。该消息群发指令还可包括待发送至的群组。消息处理设备确定与虚拟用户对象相对应的接口地址。该接口地址是部署于服务器上的开放服务所提供的。消息处理设备响应于消息群发指令,根据该接口地址,将目标消息发送至相应的服务器。服务器收到目标消息后可确定与目标群组所对应的目标用户对象。服务器将目标消息发送至与目标用户对象对应的终端。终端在多人会话中,通过虚拟用户对象展示目标消息。
上述实施例中,通过与虚拟用户对象相对应的接口地址,可主动将目标消息发送至服务器,服务器触发在多人会话中,通过虚拟用户对象传递该目标消息,可以实现消息的群发功能。
参考图9,图9为一个实施例中会话消息处理方法的时序图。如图9所示,用户可通过运行在终端上的应用程序参与到多人会话中,终端将多人会话中产生的会话消息发送至服务器,当服务器检测到会话消息包括指向虚拟用户对象的指定标记(比如@会议小助手)时,将该条会话消息加密后发送至消息处理设备。消息处理设备解密后进行相应的业务处理,与业务系统交互后根据查找到的业务信息生成应答消息。消息处理设备将应答消息加密后反馈至服务器,服务器解密后将应答消息发送至参与多人会话的目标用户对象对应的终端。终端展示应答消息,用户收到相应的提醒。
图2为一个实施例中会话消息处理方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图10所示,在一个实施例中,提供了会话消息处理装置1000,包括获取模块1001、触发模块1002和回复模块1003。
获取模块1001,用于获取多人会话中产生的会话消息。
触发模块1002,用于当会话消息包括指定标记、且指定标记指向虚拟用户对象时,触发虚拟用户对象进行基于会话消息的业务处理。
获取模块1001还用于获取通过业务处理所产生的应答消息。
回复模块1003,用于在多人会话中,通过虚拟用户对象回复应答消息。
在一个实施例中,该会话消息处理装置1000还包括发送模块1004,用于当会话消息不包括指向虚拟用户对象的指定标记时,向参与多人会话的、且除虚拟用户对象之外的目标用户对象所对应的终端发送会话消息。
在一个实施例中,触发模块1002还用于当会话消息包括指定标记、且指定标记指向虚拟用户对象时,查找与虚拟用户对象相对应的网络地址;根据网络地址,将会话消息发送至相应的消息处理设备;会话消息用于指示消息处理设备根据会话消息进行业务处理。
在一个实施例中,触发模块1002包括加密模块10021和生成模块10022。其中,加密模块10021用于当会话消息包括指定标记、且指定标记指向虚拟用户对象时,对会话消息进行加密处理,得到第一消息密文。生成模块10022,用于根据与虚拟用户对象相应配置的通信令牌、及第一消息密文,生成第一签名。发送模块1004还用于将第一消息密文和第一签名发送至与虚拟用户对象对应的消息处理设备;第一消息密文用于指示消息处理设备根据相应的通信令牌和第一消息密文对第一签名进行验证;当验证通过后,第一消息密文还用于指示消息处理设备根据第一消息密文进行相应的业务处理。
在一个实施例中,生成模块10022还用于获取当前的时间戳、随机生成的随机数、及与虚拟用户对象相应配置的通信令牌;依据时间戳、随机数、通信令牌和第一消息密文,生成第一签名。发送模块1004还用于将时间戳、随机数、第一消息密文和第一签名发送至与虚拟用户对象相应的消息处理设备;发送的时间戳、随机数和第一消息密文用于指示消息处理设备根据相应的通信令牌、时间戳、随机数和第一消息密文对第一签名进行验证。
在一个实施例中,加密模块10021还用于当会话消息包括指定标记、且指定标记指向虚拟用户对象时,随机生成第一随机字符串;确定与会话消息相关的第一相关信息;拼接第一随机字符串、第一相关信息和会话消息,得到第一明文字符串;依据与虚拟用户对象对应的加密密钥,对第一明文字符串进行加密处理,得到第一消息密文。
如图11所示,在一个实施例中,触发模块1002还包括通信链路创建模块 10023,用于当会话消息包括指定标记、且指定标记指向虚拟用户对象时,建立与虚拟用户对象对应的消息处理设备之间的通信链路并保持;通过通信链路,将会话消息发送至相应的消息处理设备。获取模块1001还用于通过通信链路,接收消息处理设备反馈的应答消息;应答消息是消息处理设备根据会话消息进行业务处理所产生。
在一个实施例中,获取模块1001还用于获取虚拟用户对象创建指令;根据虚拟用户对象创建指令,确定用于与待创建的虚拟用户对象进行通信的接口地址;获取与消息处理设备相应的配置参数。触发模块1002还用于依据接口地址和配置参数,触发生成虚拟用户对象。
上述会话消息处理装置,获取多人会话中产生的会话消息,当会话消息包括指定标记、且该指定标记指向虚拟用户对象时,触发与虚拟用户对象进行基于该会话消息的业务处理。这样,在多人会话的场景中,只有用户发送了包括指向虚拟用户对象的指定标记的会话消息时,该会话消息才会被传递至虚拟用户对象,无须担心其他消息被泄漏的风险。并且,虚拟用户对象会根据该会话消息进行相应的业务处理,产生应答消息并反馈。在多人会话中,通过该虚拟用户对象就可回复获取到的应答消息,响应了用户诉求,实现了用户和虚拟用户对象间灵活且智能的交互。这样,既能实现虚拟用户对象在多人会话中有针对性地响应用户,使得交互方式更灵活方便,又可保障多人会话中与虚拟用户对象无关的信息不被泄露,使得交互更安全。
如图12所示,在一个实施例中,提供了会话消息处理装置1200,包括获取模块1201、生成模块1202和反馈模块1203。
获取模块1201,用于获取多人会话中产生的会话消息;会话消息包括指定标记、且指定标记指向与本地对应的虚拟用户对象。
生成模块1202,用于基于会话消息进行业务处理,生成应答消息。
反馈模块1203,用于反馈应答消息;反馈的应答消息用于触发在多人会话中,通过虚拟用户对象回复应答消息。
在一个实施例中,生成模块1202具体包括提取模块12021、查找模块12022 和组织模块12023。其中,提取模块12021,用于提取会话消息中包括的关键词。查找模块12022,用于依据关键词,查找与关键词匹配的业务信息。组织模块 12023,用于将业务信息按预设格式组织成应答消息。
参考图13,在一个实施例中,反馈模块1203具体包括加密模块12031、签名生成模块12032和发送模块12033。其中,加密模块12031,用于对应答消息进行加密处理,得到第二消息密文。签名生成模块12032,用于获取当前的时间戳、随机生成的随机数、及与虚拟用户对象相应配置的通信令牌;依据时间戳、随机数、通信令牌和第二消息密文,生成第二签名。发送模块12033,用于将时间戳、随机数、第二消息密文和第二签名发送至服务器;时间戳、随机数和第二消息密文用于指示服务器根据相应的通信令牌、时间戳、随机数和第二消息密文对第二签名进行验证;当验证通过后,第二消息密文还用于指示服务器触发在多人会话中,通过虚拟用户对象回复应答消息。
在一个实施例中,加密模块12031还用于随机生成第二随机字符串;确定与应答消息相关的第二相关信息;拼接第二随机字符串、第二相关信息和应答消息,得到第二明文字符串;依据与虚拟用户对象对应的加密密钥,对第二明文字符串进行加密处理,得到第二消息密文。
在一个实施例中,获取模块1201还用于获取消息群发指令;消息群发指令包括待发送的目标消息;确定与虚拟用户对象相对应的接口地址。反馈模块1203 还用于响应于消息群发指令,根据接口地址,将目标消息发送至相应的服务器;目标消息用于指示服务器触发在多人会话中,通过虚拟用户对象传递目标消息。
上述会话消息处理装置,获取多人会话中产生的会话消息,其中,该会话消息包括指向与本地对应的虚拟用户对象的指定标记。这样,在多人会话的场景中,本地只会收到与本地相关的会话消息,保障了其他消息不被泄漏。再基于该会话消息进行相应的业务处理,产生应答消息并反馈,反馈的应答消息用于触发在多人会话中,通过该虚拟用户对象回复相应的应答消息。这样,在多人会话中,实现了虚拟用户对象有针对性的响应用户,使得用户和虚拟对象间的交互更灵活智能。并且,本地只获取包括指向对应虚拟用户对象的指定标记的会话消息,保障了与虚拟用户对象无关的信息不被泄露,实现了在多人会话中,用户安全且灵活地和虚拟用户对象间进行交互。
图14示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110、服务器120、或消息处理设备130。如图14所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现会话消息处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行会话消息处理方法。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的会话消息处理装置可以实现为一种计算机程序的形式,计算机程序可在如图14所示的计算机设备上运行。计算机设备的存储器中可存储组成该会话消息处理装置的各个程序模块,比如,图10所示的获取模块、触发模块和回复模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的会话消息处理方法中的步骤。还比如,图12所示的获取模块、生成模块和反馈模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的会话消息处理方法中的步骤。
例如,图14所示的计算机设备可以通过如图10所示的会话消息处理装置中的获取模块执行步骤S202和步骤S206。计算机设备可通过触发模块执行步骤 S204。计算机设备可通过回复模块执行步骤S208。
例如,图14所示的计算机设备可以通过如图12所示的会话消息处理装置中的获取模块执行步骤S802。计算机设备可通过生成模块执行步骤S804。计算机设备可通过反馈模块执行步骤S806。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述会话消息处理方法的步骤。此处会话消息处理方法的步骤可以是上述各个实施例的会话消息处理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述会话消息处理方法的步骤。此处会话消息处理方法的步骤可以是上述各个实施例的会话消息处理方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM (DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (23)

1.一种会话消息处理方法,包括:
通过组织通信应用提供的多人会话窗口获取多人会话中产生的会话消息;
当所述会话消息不包括指向虚拟用户对象的指定标记时,向参与所述多人会话的、且除所述虚拟用户对象之外的目标用户对象所对应的终端发送所述会话消息;
当所述会话消息包括指定标记、且所述指定标记指向虚拟用户对象时,查找与所述虚拟用户对象相对应的网络地址,根据所述网络地址,将所述会话消息发送至相应的消息处理设备;所述会话消息用于指示所述消息处理设备中部署的与所述虚拟用户对象对应的消息处理服务与相应的业务系统对接,以根据所述会话消息进行业务处理;其中,所述指定标记指向虚拟用户对象表征用户选中所述虚拟用户对象;所述消息处理设备上部署有至少一组消息处理服务,各消息处理服务分别与不同的业务系统对接;
获取通过所述业务处理所产生的应答消息;
在所述多人会话中,通过所述虚拟用户对象回复所述应答消息;
其中,所述虚拟用户对象是基于所述组织通信应用提供的多人会话窗口中的创建入口预先创建的,所述虚拟用户对象的创建包括以下步骤:
获取所述目标用户对象通过所述多人会话窗口中的创建入口触发的虚拟用户对象创建指令,并将所述虚拟用户对象创建指令发送至服务器;
接收服务器响应于所述虚拟用户对象创建指令反馈的接口地址,展示配置界面,并通过所述配置界面获取相应的配置参数;所述接口地址通过所述服务器上部署的开放服务提供,且用于与待创建的所述虚拟用户对象进行通信;所述配置参数包括指向消息处理设备的网络地址、以及与所述虚拟用户对象对应的通信令牌,其中,所述网络地址是消息处理设备中部署的消息处理服务接收会话消息的地址,所述通信令牌保存于服务器和消息处理设备中,用于进行通信对象的识别,以保障指向虚拟用户对象的会话消息所对应的通信过程的安全性;
将所述配置参数发送至所述服务器,所述配置参数用于指示所述服务器基于所述接口地址和所述配置参数生成消息处理服务,以实现生成虚拟用户对象。
2.根据权利要求1所述的方法,其特征在于,所述根据所述网络地址,将所述会话消息发送至相应的消息处理设备,包括:
对所述会话消息进行加密处理,得到第一消息密文;
根据与所述虚拟用户对象相应配置的通信令牌、及所述第一消息密文,生成第一签名;
根据所述网络地址,将所述第一消息密文和所述第一签名发送至与所述虚拟用户对象对应的消息处理设备;所述第一消息密文用于指示所述消息处理设备根据相应的通信令牌和所述第一消息密文对所述第一签名进行验证;
当验证通过后,所述第一消息密文还用于指示所述消息处理设备中部署的消息处理服务与相应的业务系统对接,以根据所述第一消息密文进行相应的业务处理。
3.根据权利要求2所述的方法,其特征在于,所述根据与所述虚拟用户对象相应配置的通信令牌、及所述第一消息密文,生成第一签名,包括:
获取当前的时间戳、随机生成的随机数、及与所述虚拟用户对象相应配置的通信令牌;
依据所述时间戳、随机数、通信令牌和第一消息密文,生成第一签名;
所述将所述第一消息密文和所述第一签名发送至与所述虚拟用户对象对应的消息处理设备,包括:
将所述时间戳、随机数、第一消息密文和第一签名发送至与所述虚拟用户对象相应的消息处理设备;
发送的所述时间戳、随机数和第一消息密文用于指示所述消息处理设备根据相应的通信令牌、时间戳、随机数和第一消息密文对所述第一签名进行验证。
4.根据权利要求2所述的方法,其特征在于,所述对所述会话消息进行加密处理,得到第一消息密文,包括:
随机生成第一随机字符串;
确定与所述会话消息相关的第一相关信息;
拼接所述第一随机字符串、所述第一相关信息和所述会话消息,得到第一明文字符串;
依据与所述虚拟用户对象对应的加密密钥,对所述第一明文字符串进行加密处理,得到第一消息密文。
5.根据权利要求1所述的方法,其特征在于,所述根据所述网络地址,将所述会话消息发送至相应的消息处理设备,包括:
建立与所述虚拟用户对象进行通信的通信链路并保持;
通过所述通信链路,并根据所述网络地址,将所述会话消息发送至与所述虚拟用户对象对应的消息处理设备;
所述获取通过所述业务处理所产生的应答消息,包括:
通过所述通信链路,接收所述消息处理设备反馈的应答消息;所述应答消息是所述消息处理设备中部署的消息处理服务与相应的业务系统对接,并根据所述会话消息进行业务处理所产生。
6.一种会话消息处理方法,由消息处理设备执行,所述方法包括:
当通过组织通信应用提供的多人会话窗口的多人会话中产生的会话消息包括指定标记、且所述指定标记指向虚拟用户对象时,则通过与所述虚拟用户对象对应的网络地址获取所述会话消息,否则无法获取所述会话消息;其中,所述指定标记指向虚拟用户对象表征用户选中所述虚拟用户对象;
通过预先部署的与所述虚拟用户对象对应的消息处理服务与相应的业务系统对接,以基于获取的所述会话消息进行业务处理,生成应答消息;所述消息处理设备上部署有至少一组消息处理服务,各消息处理服务分别与不同的业务系统对接;
反馈所述应答消息;反馈的所述应答消息用于触发在所述多人会话中,通过所述虚拟用户对象回复所述应答消息;
其中,所述虚拟用户对象通过服务器基于接口地址和配置参数生成的消息处理服务实现,所述接口地址是目标用户对象触发终端中通过组织通信应用所展示的多人会话窗口中的创建入口,以向服务器发送虚拟对象创建指令后,服务器进行分配的,所述配置参数是终端在接收服务器分配并反馈的接口地址后,展示配置界面并通过所述配置界面所获得的;其中,所述接口地址通过所述服务器上部署的开放服务提供,且用于与待创建的所述虚拟用户对象进行通信;所述配置参数包括指向消息处理设备的网络地址、以及与所述虚拟用户对象对应的通信令牌,其中,所述网络地址是消息处理设备中部署的消息处理服务接收会话消息的地址,所述通信令牌保存于服务器和消息处理设备中,用于进行通信对象的识别,以保障指向虚拟用户对象的会话消息所对应的通信过程的安全性。
7.根据权利要求6所述的方法,其特征在于,所述基于获取的所述会话消息进行业务处理,生成应答消息,包括:
提取所述会话消息中包括的关键词;
依据所述关键词,查找与所述关键词匹配的业务信息;
将所述业务信息按预设格式组织成应答消息。
8.根据权利要求6所述的方法,其特征在于,所述反馈所述应答消息,包括:
对所述应答消息进行加密处理,得到第二消息密文;
获取当前的时间戳、随机生成的随机数、及与所述虚拟用户对象相应配置的通信令牌;
依据所述时间戳、随机数、通信令牌和第二消息密文,生成第二签名;
将所述时间戳、随机数、第二消息密文和第二签名发送至服务器;所述时间戳、随机数和第二消息密文用于指示所述服务器根据相应的通信令牌、时间戳、随机数和第二消息密文对所述第二签名进行验证;
当验证通过后,所述第二消息密文还用于指示所述服务器触发在所述多人会话中,通过所述虚拟用户对象回复所述应答消息。
9.根据权利要求8所述的方法,其特征在于,所述对所述应答消息进行加密处理,得到第二消息密文,包括:
随机生成第二随机字符串;
确定与所述应答消息相关的第二相关信息;
拼接所述第二随机字符串、所述第二相关信息和所述应答消息,得到第二明文字符串;
依据与所述虚拟用户对象对应的加密密钥,对所述第二明文字符串进行加密处理,得到第二消息密文。
10.根据权利要求6-9中任一项所述的方法,其特征在于,所述方法还包括:
获取消息群发指令;所述消息群发指令包括待发送的目标消息;
确定与所述虚拟用户对象相对应的接口地址;
响应于所述消息群发指令,根据所述接口地址,将所述目标消息发送至相应的服务器;所述目标消息用于指示所述服务器触发在所述多人会话中,通过所述虚拟用户对象传递所述目标消息。
11.一种会话消息处理装置,其特征在于,所述装置包括:
获取模块,用于通过组织通信应用提供的多人会话窗口获取多人会话中产生的会话消息;
发送模块,用于当所述会话消息不包括指向虚拟用户对象的指定标记时,向参与所述多人会话的、且除所述虚拟用户对象之外的目标用户对象所对应的终端发送所述会话消息;
触发模块,用于当所述会话消息包括指定标记、且所述指定标记指向虚拟用户对象时,查找与所述虚拟用户对象相对应的网络地址,根据所述网络地址,将所述会话消息发送至相应的消息处理设备;所述会话消息用于指示所述消息处理设备中部署的与所述虚拟用户对象对应的消息处理服务与相应的业务系统对接,以根据所述会话消息进行业务处理;其中,所述指定标记指向虚拟用户对象表征用户选中所述虚拟用户对象;所述消息处理设备上部署有至少一组消息处理服务,各消息处理服务分别与不同的业务系统对接;
所述获取模块还用于获取通过所述业务处理所产生的应答消息;
回复模块,用于在所述多人会话中,通过所述虚拟用户对象回复所述应答消息;
所述获取模块,还用于获取所述目标用户对象通过所述组织通信应用提供的多人会话窗口中的创建入口触发的虚拟用户对象创建指令,并将所述虚拟用户对象创建指令发送至服务器;
所述获取模块,还用于接收服务器响应于所述虚拟用户对象创建指令反馈的接口地址,展示配置界面,并通过所述配置界面获取相应的配置参数;所述接口地址通过所述服务器上部署的开放服务提供,且用于与待创建的所述虚拟用户对象进行通信;所述配置参数包括指向消息处理设备的网络地址、以及与所述虚拟用户对象对应的通信令牌,其中,所述网络地址是消息处理设备中部署的消息处理服务接收会话消息的地址,所述通信令牌保存于服务器和消息处理设备中,用于进行通信对象的识别,以保障指向虚拟用户对象的会话消息所对应的通信过程的安全性;
所述触发模块,还用于将所述配置参数发送至所述服务器,所述配置参数用于指示所述服务器基于所述接口地址和所述配置参数生成消息处理服务,以实现生成虚拟用户对象。
12.根据权利要求11所述的装置,其特征在于,所述触发模块包括加密模块和生成模块,其中:
所述加密模块,用于对所述会话消息进行加密处理,得到第一消息密文;
所述生成模块,用于根据与所述虚拟用户对象相应配置的通信令牌、及所述第一消息密文,生成第一签名;
所述发送模块,还用于根据所述网络地址,将所述第一消息密文和所述第一签名发送至与所述虚拟用户对象对应的消息处理设备;所述第一消息密文用于指示所述消息处理设备根据相应的通信令牌和所述第一消息密文对所述第一签名进行验证;当验证通过后,所述第一消息密文还用于指示所述消息处理设备中部署的消息处理服务与相应的业务系统对接,以根据所述第一消息密文进行相应的业务处理。
13.根据权利要求12所述的装置,其特征在于,所述生成模块还用于获取当前的时间戳、随机生成的随机数、及与所述虚拟用户对象相应配置的通信令牌;依据所述时间戳、随机数、通信令牌和第一消息密文,生成第一签名;
所述发送模块,还用于将所述时间戳、随机数、第一消息密文和第一签名发送至与所述虚拟用户对象相应的消息处理设备;发送的所述时间戳、随机数和第一消息密文用于指示所述消息处理设备根据相应的通信令牌、时间戳、随机数和第一消息密文对所述第一签名进行验证。
14.根据权利要求12所述的装置,其特征在于,所述加密模块,还用于随机生成第一随机字符串;确定与所述会话消息相关的第一相关信息;拼接所述第一随机字符串、所述第一相关信息和所述会话消息,得到第一明文字符串;依据与所述虚拟用户对象对应的加密密钥,对所述第一明文字符串进行加密处理,得到第一消息密文。
15.根据权利要求11所述的装置,其特征在于,所述触发模块包括通信链路创建模块,用于建立与所述虚拟用户对象进行通信的通信链路并保持;通过所述通信链路,并根据所述网络地址,将所述会话消息发送至与所述虚拟用户对象对应的消息处理设备;
所述获取模块,还用于通过所述通信链路,接收所述消息处理设备反馈的应答消息;所述应答消息是所述消息处理设备中部署的消息处理服务与相应的业务系统对接,并根据所述会话消息进行业务处理所产生。
16.一种会话消息处理装置,其特征在于,所述装置包括:
获取模块,用于当通过组织通信应用提供的多人会话窗口的多人会话中产生的会话消息包括指定标记、且所述指定标记指向虚拟用户对象时,则通过与所述虚拟用户对象对应的网络地址获取多人会话中产生的会话消息,否则无法获取所述会话消息;其中,所述指定标记指向虚拟用户对象表征用户选中所述虚拟用户对象;
生成模块,用于通过消息处理设备上预先部署的与所述虚拟用户对象对应的消息处理服务,与相应的业务系统对接,以基于获取的所述会话消息进行业务处理,生成应答消息;所述消息处理设备上部署有至少一组消息处理服务,各消息处理服务分别与不同的业务系统对接;
反馈模块,用于反馈所述应答消息;反馈的所述应答消息用于触发在所述多人会话中,通过所述虚拟用户对象回复所述应答消息;
其中,所述虚拟用户对象通过服务器基于接口地址和配置参数生成的消息处理服务实现,所述接口地址是目标用户对象触发终端中通过组织通信应用所展示的多人会话窗口中的创建入口,以向服务器发送虚拟对象创建指令后,服务器进行分配的,所述配置参数是终端在接收服务器分配并反馈的接口地址后,展示配置界面并通过所述配置界面所获得的;其中,所述接口地址通过所述服务器上部署的开放服务提供,且用于与待创建的所述虚拟用户对象进行通信;所述配置参数包括指向消息处理设备的网络地址、以及与所述虚拟用户对象对应的通信令牌,其中,所述网络地址是消息处理设备中部署的消息处理服务接收会话消息的地址,所述通信令牌保存于服务器和消息处理设备中,用于进行通信对象的识别,以保障指向虚拟用户对象的会话消息所对应的通信过程的安全性。
17.根据权利要求16所述的装置,其特征在于,所述生成模块具体包括提取模块、查找模块和组织模块,其中:
所述提取模块,用于提取所述会话消息中包括的关键词;
所述查找模块,用于依据所述关键词,查找与所述关键词匹配的业务信息;
所述组织模块,用于将所述业务信息按预设格式组织成应答消息。
18.根据权利要求16所述的装置,其特征在于,所述反馈模块具体包括加密模块、签名生成模块和发送模块,其中:
所述加密模块,用于对所述应答消息进行加密处理,得到第二消息密文;
所述签名生成模块,用于获取当前的时间戳、随机生成的随机数、及与所述虚拟用户对象相应配置的通信令牌,并依据所述时间戳、随机数、通信令牌和第二消息密文,生成第二签名;
所述发送模块,用于将所述时间戳、随机数、第二消息密文和第二签名发送至服务器;所述时间戳、随机数和第二消息密文用于指示所述服务器根据相应的通信令牌、时间戳、随机数和第二消息密文对所述第二签名进行验证;当验证通过后,所述第二消息密文还用于指示所述服务器触发在所述多人会话中,通过所述虚拟用户对象回复所述应答消息。
19.根据权利要求18所述的装置,其特征在于,所述加密模块,还用于随机生成第二随机字符串;确定与所述应答消息相关的第二相关信息;拼接所述第二随机字符串、所述第二相关信息和所述应答消息,得到第二明文字符串;依据与所述虚拟用户对象对应的加密密钥,对所述第二明文字符串进行加密处理,得到第二消息密文。
20.根据权利要求16-19中任一项所述的装置,其特征在于,所述获取模块,还用于获取消息群发指令;所述消息群发指令包括待发送的目标消息,并确定与所述虚拟用户对象相对应的接口地址;
所述反馈模块,还用于响应于所述消息群发指令,根据所述接口地址,将所述目标消息发送至相应的服务器;所述目标消息用于指示所述服务器触发在所述多人会话中,通过所述虚拟用户对象传递所述目标消息。
21.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
22.一种消息处理设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求6至10中任一项所述的方法的步骤。
23.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
CN201910035824.5A 2019-01-15 2019-01-15 会话消息处理方法和装置 Active CN109639828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910035824.5A CN109639828B (zh) 2019-01-15 2019-01-15 会话消息处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910035824.5A CN109639828B (zh) 2019-01-15 2019-01-15 会话消息处理方法和装置

Publications (2)

Publication Number Publication Date
CN109639828A CN109639828A (zh) 2019-04-16
CN109639828B true CN109639828B (zh) 2022-05-24

Family

ID=66060820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910035824.5A Active CN109639828B (zh) 2019-01-15 2019-01-15 会话消息处理方法和装置

Country Status (1)

Country Link
CN (1) CN109639828B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109873757A (zh) * 2019-03-29 2019-06-11 上海连尚网络科技有限公司 用于多人会话的消息显示方法、电子设备和可读介质
CN110032895A (zh) * 2019-04-22 2019-07-19 湖南快乐阳光互动娱乐传媒有限公司 请求处理方法、处理装置以及请求验证方法、验证装置
CN110083694A (zh) * 2019-04-30 2019-08-02 广东电网有限责任公司 一种基于webhook的电网业务集成方法、装置及存储器
CN112887189B (zh) * 2019-11-29 2022-08-12 腾讯科技(深圳)有限公司 会话消息的定时发送方法、装置、计算机设备及存储介质
CN111294274A (zh) * 2020-01-20 2020-06-16 北京砚棋科技有限公司 数据处理方法及其应用、数据处理装置及计算机可读介质
CN113535910B (zh) * 2020-05-12 2024-01-09 腾讯科技(深圳)有限公司 一种虚拟用户的响应方法以及相关装置
CN111654382B (zh) * 2020-05-29 2023-10-27 腾讯科技(深圳)有限公司 消息处理方法、装置、计算机设备和计算机可读存储介质
CN113973094B (zh) * 2020-07-07 2024-03-15 腾讯科技(深圳)有限公司 一种消息处理方法、系统及介质
CN113992459B (zh) * 2020-07-09 2023-09-15 腾讯科技(深圳)有限公司 代码评审数据处理方法、装置、计算机设备和存储介质
CN114172857B (zh) * 2020-09-11 2022-08-09 腾讯科技(深圳)有限公司 一种业务会话管理方法、装置和计算机可读存储介质
CN115242742B (zh) * 2020-09-29 2023-07-14 支付宝(杭州)信息技术有限公司 一种服务控制方法、装置及系统
CN112579754A (zh) * 2020-12-18 2021-03-30 深圳云之家网络有限公司 智能机器人的会话交互方法、装置、计算机设备
CN113190307A (zh) * 2021-04-14 2021-07-30 北京达佳互联信息技术有限公司 控件添加方法、装置、设备及存储介质
CN113452598B (zh) * 2021-04-14 2022-10-28 阿里巴巴新加坡控股有限公司 数据处理方法
CN115186679A (zh) * 2022-07-15 2022-10-14 广东广信通信服务有限公司 智能应答方法、装置、计算机设备及存储介质
CN116366371B (zh) * 2023-05-30 2023-10-27 广东维信智联科技有限公司 一种基于计算机的会话安全评估系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603413B1 (en) * 2005-04-07 2009-10-13 Aol Llc Using automated agents to facilitate chat communications
CN103297325A (zh) * 2013-05-13 2013-09-11 北京小米科技有限责任公司 在即时通讯系统中与第三方应用交互的方法、装置和设备
CN103597783A (zh) * 2011-06-03 2014-02-19 苹果公司 用于安全即时消息传输的系统与方法
CN106716934A (zh) * 2016-12-23 2017-05-24 深圳前海达闼云端智能科技有限公司 聊天交互方法、装置及其电子设备
CN108833265A (zh) * 2018-06-28 2018-11-16 腾讯科技(深圳)有限公司 消息处理方法、装置、服务器和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1865454B1 (fr) * 2006-06-06 2013-03-13 France Telecom Procédé et système de gestion automatique et transparente de requetes utilisateurs sur un système de messagerie instantée via des contacts virtuels
WO2008148341A1 (fr) * 2007-06-01 2008-12-11 Huawei Technologies Co., Ltd. Procédé de définition de rôle de session, son serveur et son terminal
WO2014197336A1 (en) * 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US11687843B2 (en) * 2017-07-06 2023-06-27 Ricoh Company, Ltd. System and method for reserving resources and notifying group members

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603413B1 (en) * 2005-04-07 2009-10-13 Aol Llc Using automated agents to facilitate chat communications
CN103597783A (zh) * 2011-06-03 2014-02-19 苹果公司 用于安全即时消息传输的系统与方法
CN103297325A (zh) * 2013-05-13 2013-09-11 北京小米科技有限责任公司 在即时通讯系统中与第三方应用交互的方法、装置和设备
CN106716934A (zh) * 2016-12-23 2017-05-24 深圳前海达闼云端智能科技有限公司 聊天交互方法、装置及其电子设备
CN108833265A (zh) * 2018-06-28 2018-11-16 腾讯科技(深圳)有限公司 消息处理方法、装置、服务器和存储介质

Also Published As

Publication number Publication date
CN109639828A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
CN109639828B (zh) 会话消息处理方法和装置
US11362811B2 (en) Secure telecommunications
CN112235289B (zh) 数据加解密方法、装置、计算设备及存储介质
US9686243B1 (en) Encrypted universal resource identifier (URI) based messaging
US10681081B2 (en) Secure content and encryption methods and techniques
JP2020058042A (ja) 部分的に信頼できる第三者機関を通しての鍵交換
CN113364760A (zh) 一种数据加密处理方法、装置、计算机设备及存储介质
US20170317823A1 (en) Zero Knowledge Encrypted File Transfer
CN108833265B (zh) 消息处理方法、装置、服务器和存储介质
CN107508822B (zh) 访问控制方法及装置
EP2890172A1 (en) Flexible data authentication for an nfc data exchange format ndef message
KR20150079489A (ko) 실시간 통신 방법 및 시스템
CN108449357B (zh) 一种授权登录方法、装置、智能设备及存储介质
CN106487659B (zh) 信息加密方法、信息加密装置及终端
EP2993859A1 (en) Secure communication method
CN113204772B (zh) 数据处理方法、装置、系统、终端、服务器和存储介质
CN111914291A (zh) 消息处理方法、装置、设备及存储介质
Isobe et al. Breaking message integrity of an end-to-end encryption scheme of LINE
CN107104938B (zh) 建立安全的数据交换通道方法、客户端及计算机可读介质
US11695546B2 (en) Decoupled custom event system based on ephemeral tokens for enabling secure custom services on a digital audio stream
CN112689014A (zh) 一种双全工通信方法、装置、计算机设备和存储介质
CN108513272B (zh) 短信息处理方法及装置
CN112235320B (zh) 一种基于密码的视联网组播通信方法及装置
CN112395633B (zh) 保护隐私的多方联合进行数据统计的方法和装置
CN113055344B (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