聊天消息的过滤方法、系统及设备与流程

文档序号:18414501发布日期:2019-08-13 19:10阅读:616来源:国知局
聊天消息的过滤方法、系统及设备与流程

本申请涉及互联网领域,特别涉及一种聊天消息的过滤方法、系统及设备。



背景技术:

在很多具有社交属性的应用程序中都集成有聊天功能,比如网络游戏、直播平台、短视频分享平台等。

以带有聊天功能的网络游戏为例,聊天功能不但承担着玩家之间交流的作用,也承担着网络游戏的一些辅助功能,比如位置分享功能、分享红包功能、道具交易功能、组队等。以网络游戏中的一个玩家要发送自己的位置为例,该玩家的第一客户端发送的聊天消息是“我在<posx=111,y=222>等你”,其它玩家的第二客户端在收到该聊天消息后,会把“我在等你”解析成文本信息,将<>内的内容解析成网络游戏中的坐标位置。若其它玩家点击该坐标位置,则可以将其它玩家的游戏角色自动导航到该坐标位置。

而为了创建一个和谐的交流环境,网络游戏中还对聊天消息进行敏感词过滤,有时候会出现误过滤问题,比如存在一个敏感词“xxyy”,那么可能会将聊天消息“xx<yy1234>”中的“xx<yy”识别为敏感词,最终将该聊天消息过滤为“*****1234>”,造成显示异常的问题。



技术实现要素:

本申请实施例提供了一种聊天消息的过滤方法、装置、设备及存储介质,可以解决相关技术中可能会对聊天消息进行误过滤的问题。所述技术方案如下:

根据本公开实施例的一个方面,提供了一种聊天消息的过滤方法,应用于具有聊天功能的服务器中,所述方法包括:

接收客户端发送的第一聊天消息,所述第一聊天消息包括互相独立的普通聊天内容和功能链接内容,所述功能链接内容包括插入位置和链接信息,所述链接信息用于触发除所述聊天功能之外的其它功能;

对所述普通聊天内容进行敏感词过滤,得到过滤后的普通聊天内容;

根据所述过滤后的普通聊天内容和所述功能链接内容得到第二聊天消息;

将所述第二聊天消息发送给所述客户端,所述客户端用于在收到所述第二聊天消息后,根据所述插入位置将所述链接信息插入至所述过滤后的普通聊天内容中进行显示。

根据本公开实施例的另一方面,提供了一种聊天消息的过滤方法,应用于具有聊天功能的客户端中,所述方法包括:

接收所述服务器发送的第二聊天消息,所述第二聊天消息是所述服务器对普通聊天内容进行敏感词过滤后,根据过滤后的普通聊天内容和功能链接内容得到的;

从所述第二聊天消息中获取所述插入位置、所述链接信息和所述过滤后的普通聊天内容;

根据所述插入位置将所述链接信息插入至所述过滤后的普通聊天内容中进行显示;

其中,互相独立的所述普通聊天内容和所述功能链接内容是所述服务器从接收到的第一聊天消息中得到的,所述功能链接内容包括插入位置和链接信息,所述链接信息用于触发除所述聊天功能之外的其它功能。

根据本公开实施例的另一方面,提供了一种聊天内容敏感词的过滤装置,所述装置包括:

接收模块,用于接收客户端发送的第一聊天消息,所述第一聊天消息包括互相独立的普通聊天内容和功能链接内容,所述功能链接内容包括插入位置和链接信息,所述链接信息用于触发除所述聊天功能之外的其它功能;

过滤模块,用于对所述普通聊天内容进行敏感词过滤,得到过滤后的普通聊天内容,根据所述过滤后的普通聊天内容和所述功能链接内容得到第二聊天消息;

发送模块,用于将所述第二聊天消息发送给所述客户端,所述客户端用于在收到所述第二聊天消息后,根据所述插入位置将所述链接信息插入至所述过滤后的普通聊天内容中进行显示。

根据本公开实施例的另一方面,提供了一种聊天内容敏感词的过滤装置,所述装置包括:

接收模块,用于接收所述服务器发送的第二聊天消息,所述第二聊天消息是所述服务器对普通聊天内容进行敏感词过滤后,根据过滤后的普通聊天内容和功能链接内容得到的;

获取模块,用于从所述第二聊天消息中获取所述插入位置、所述链接信息和所述过滤后的普通聊天内容;

显示模块,用于根据所述插入位置将所述链接信息插入至所述过滤后的普通聊天内容中进行显示;

其中,互相独立的所述普通聊天内容和所述功能链接内容是所述服务器从接收到的第一聊天消息中得到的,所述功能链接内容包括插入位置和链接信息,所述链接信息用于触发除所述聊天功能之外的其它功能。

根据本公开实施例的另一方面,提供了一种服务器,所述服务器包括:处理器和存储器;

所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面中由服务器执行的聊天消息的过滤方法。

根据本公开实施例的另一方面,提供了一种终端,所述终端包括:处理器和存储器;

所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面中由终端执行的聊天消息的过滤方法。

根据本公开实施例的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上任一方面所述的聊天消息的过滤方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

通过由客户端生成互相独立的普通聊天内容和功能链接内容,在功能链接内容中设置有用于表示功能链接内容在聊天消息中的插入位置,和用于表示功能链接内容功能的链接信息;终端将聊天消息发送至服务器后,服务器只对普通聊天内容进行敏感词过滤操作,并将过滤后的普通聊天内容和功能链接内容发送给其它终端,从而使得服务器只对普通聊天内容进行敏感词过滤,不对功能链接内容进行敏感词过滤,从而避免了普通聊天内容和功能链接内容单独都不会触发敏感词的过滤机制,但是混合排列到一起时就有可能组成敏感词,导致聊天消息被误过滤的问题。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个示例性实施例提供的聊天消息的过滤方法的原理示意图;

图2是本申请一个示例性实施例提供的聊天系统的结构框图;

图3是本申请一个示例性实施例提供的聊天消息的过滤方法的流程图;

图4是本申请一个示例性实施例提供的聊天消息的过滤方法的流程图;

图5是本申请一个示例性实施例提供的聊天消息的过滤方法的流程图;

图6是本申请一个示例性实施例提供的用户界面的界面示意图;

图7是本申请一个示例性实施例提供的用户界面的界面示意图;

图8是本申请一个示例性实施例提供的聊天消息的过滤方法的流程图;

图9是本申请一个示例性实施例提供的定长存储区的示意图;

图10是本申请一个示例性实施例提供的聊天消息的过滤装置的框图;

图11是本申请一个示例性实施例提供的聊天消息的过滤装置的框图;

图12是本申请一个示例性实施例提供的终端的框图;

图13是本申请一个示例性实施例提供的服务器的框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

请参考图1,其示出了本申请一示例性实施例提供的聊天消息的过滤方法的示意图。该过滤方法中包括发送方终端11、接收方终端12和服务器13。该服务器13可以是网络游戏服务器,发送方终端11和接收方终端12上运行有网游客户端。

发送方终端11用于编辑和发送聊天消息,聊天消息中包括普通聊天内容和功能链接内容中的至少一种。本实施例以该聊天消息同时包括普通聊天内容和功能链接内容为例,普通聊天内容由用户手动输入,功能链接内容由发送方终端11中的网游客户端根据用户操作自动生成,该功能链接内容用于触发除聊天功能之外的其它功能,为不可编辑内容。

示意性的,用户输入带有敏感词“萌新萌新”的普通聊天内容和功能链接内容,发送方终端11将聊天消息自动分为互相独立的两类:szcontent{普通聊天内容}和szlinkinfo{功能链接内容},并将聊天消息发送至服务器13。其中,功能链接内容中的“1”代表位置分享功能,“6”代表插入位置是普通聊天内容中的第六个字符之后,“坐标信息”代表待分享的位置坐标。

服务器13接收到聊天消息后识别两种信息类型,并只对普通聊天内容进行过滤,将敏感词“萌新”替换成“xx”或“**”等字符发送至接收终端12。

接收客户端12收到内容后将过滤后的聊天消息显示出来,最终呈现出“xx”或“**”字符替换敏感词后的信息内容。

请参考图2,其示出了本申请各个实施例所涉及的一种聊天系统的结构示意图。该聊天系统包括客户端120、接入层130、服务器140和数据库150。

客户端120是具有聊天功能的应用程序,客户端120运行在终端上。该终端可以是手机、平板电脑、膝上型便携计算机和台式计算机等等。

客户端120与接入层130之间可以通过无线网络或者有线网络相连。

接入层130是连接客户端120和服务器140之间的枢纽。

服务器140可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。服务器140可以是网络游戏的后台服务器,直播平台的后台服务器,短视频分享平台的后台服务器等。

数据库150与服务器140之间可以通过无线网络或者有线网络相连,用于存储聊天内容。

请参考图3,其示出了本申请一个实施例提供的聊天消息的过滤方法的流程图,本实施例以该聊天消息的过滤方法应用于图1所示聊天系统中来举例说明。该聊天消息的过滤方法可以包括如下几个步骤:

步骤101,客户端根据用户操作发送第一聊天消息。

步骤102,服务器接收客户端发送的第一聊天消息,第一聊天消息包括互相独立的普通聊天内容和功能链接内容。

可选地,互相独立的普通聊天内容和功能链接内容包括:采用第一数据格式表示的普通聊天内容,以及采用第二数据格式表示的功能链接内容。第一数据格式和第二数据格式是不同的两个数据格式。

普通聊天内容是由文本、符号、表情、图片、音频以及视频中的至少一种聊天元素所组成的内容。

功能链接内容包括插入位置和链接信息。插入位置用于表示链接信息插入至普通聊天内容时的位置,链接信息用于触发除聊天功能之外的其它功能。

可选地,其它功能的功能类型包括但不限于:位置、组队、道具和红包中的至少一种。

步骤103,服务器对普通聊天内容进行敏感词过滤得到过滤后的普通聊天内容。

由于普通聊天内容和功能链接内容互相独立,因此,服务器可以对普通聊天内容进行敏感词过滤,而不对功能链接内容进行过滤。

步骤104,服务器根据过滤后的普通聊天内容和功能链接内容得到第二聊天消息。

步骤105,服务器将第二聊天消息发送给客户端。

步骤106,客户端接收服务器发送的第二聊天消息,从第二聊天消息中获取插入位置、链接信息和过滤后的普通聊天内容;根据插入位置将链接信息插入至过滤后的普通聊天内容中进行显示。

综上所述,本实施例提供的方法,通过由客户端生成互相独立的普通聊天内容和功能链接内容,在功能链接内容中设置有用于表示功能链接内容在聊天消息中的插入位置,和用于表示功能链接内容功能的链接信息;终端将聊天消息发送至服务器后,服务器只对普通聊天内容进行敏感词过滤操作,并将过滤后的普通聊天内容和功能链接内容发送给其它终端,从而使得服务器只对普通聊天内容进行敏感词过滤,不对功能链接内容进行敏感词过滤,从而避免了普通聊天内容和功能链接内容单独都不会触发敏感词的过滤机制,但是混合排列到一起时就有可能组成敏感词,导致聊天消息被误过滤的问题。

请参考图4,其示出了本申请另一实施例提供的聊天消息的过滤方法的方法流程图,本实施例以该聊天消息的过滤方法应用于图1所示聊天系统中来举例说明。该聊天消息的过滤方法可以包括如下几个步骤:

步骤201,客户端根据用户操作发送第一聊天消息。

第一聊天消息包括互相独立的普通聊天内容和功能链接内容。

客户端在输入聊天消息时,自动将聊天消息分为普通聊天内容和功能链接内容,其中,普通聊天内容用数据格式“szcontent”表示,功能链接内容用数据格式“stlinkinfo”表示。

表1

可选地,普通聊天内容是用户手动或语音编辑输入的内容,形式包括文字、数字、符号、表情、图片、音频、视频中的任意一种或几种。

可选地,功能链接内容是采用目标数据格式进行表示,具有指定功能的内容。其中,目标数据格式包括:链接功能类型、插入位置和链接信息。链接功能类型用于指示链接信息所触发的功能类型;插入位置用于表示链接信息插入过滤后的普通聊天内容中的插入位置;链接信息用于携带其它功能的参数信息。

步骤202,接收客户端发送的第一聊天消息,第一聊天消息包括互相独立的普通聊天内容和功能链接内容,功能链接内容包括插入位置和链接信息,链接信息用于触发除聊天功能之外的其它功能。

其中,插入位置(pos)用于表示链接信息插入普通聊天内容(过滤后的普通聊天内容)中的插入位置。在一个可选的实施方式中,插入位置采用数字表示链接所在的普通聊天内容中的位置,例如,当插入位置为“3”时,表示功能链接内容前方有三个字符,即该功能链接内容插入的位置是普通聊天内容中的第三个字符的后面。

链接信息(linkinfo)用于携带其它功能的参数信息,如下表2所示。

表2

可选地,功能链接内容还包括链接功能类型。继续参阅表2,链接功能类型(ilinkinfo)用于指示链接信息所触发的功能类型,示意性的,功能类型可以包括位置、组队、道具和红包中的至少一项。

可选地,目标数据格式是json格式,链接功能类型、插入位置和链接信息采用json格式中的不同字段表示。

当链接功能类型用于指示位置时,根据链接信息启用寻路功能和传送功能中的至少一项。当链接功能类型用于指示组队时,根据链接信息启用多人组队功能;当链接功能类型用于指示道具时,根据链接信息启用道具交易功能和道具租赁功能中的至少一项;当链接功能类型用于指示红包时,根据链接信息启用虚拟资源包分发功能。

可选地,上述其它功能也可以由终端来执行,或者由用户在终端上触发后再执行。

步骤203,服务器对普通聊天内容进行敏感词过滤,得到过滤后的普通聊天内容。

服务器接收到第一聊天消息后,根据“szcontent”和“stlinkinfo”区分第一聊天消息中的普通聊天内容和功能链接内容,服务器只对普通聊天内容进行敏感词的过滤操作,当普通聊天内容中包括敏感词时,服务器将敏感词替换成“xx”或“**”,例如,当普通聊天内容是“萌新,我在这里等你”,其中的“萌新”为敏感词,服务器将“萌新”过滤,得到过滤后的普通聊天内容,为:“xx,我在这里等你”,或“**,我在这里等你”。若普通聊天内容中不包含敏感词,则不执行过滤操作,得到过滤后的普通聊天内容与原普通聊天内容相同。

步骤204,服务器根据过滤后的普通聊天内容和功能链接内容得到第二聊天消息。

第二聊天消息包括:过滤后的普通聊天内容和没有经过过滤处理的功能链接内容。若普通聊天内容不包含敏感词,则过滤后的普通聊天内容与原普通聊天内容相同,也即,若普通聊天内容不包含敏感词,则第二聊天消息与第一聊天消息内容相同。

步骤205,服务器将第二聊天消息发送给客户端。

服务器将第二聊天消息以普通聊天内容和功能链接内容的形式发送至客户端,该客户端可以位于接收方终端或者发送方终端。

例如,当聊天消息是普通聊天内容时,服务器将聊天消息发送给接收方终端的同时向发送方终端反馈信息,用于在发送方终端上呈现全部的对话内容。

步骤206,客户端在收到第二聊天消息后,从第二聊天消息中获取插入位置、链接信息和过滤后的普通聊天内容

客户端接收服务器发送的第二聊天消息中包括:过滤后的普通聊天内容和功能链接内容。

由于服务器未对第一聊天消息中的功能链接内容做过滤操作,因此功能链接内容中的信息未发生改变,仍然是第一聊天消息中的链接功能类型、插入位置和链接信息。

步骤207,客户端获取与链接功能类型对应的功能图标;根据插入位置将功能图标插入至过滤后的普通聊天内容中进行显示,功能图标指向链接信息。

步骤208,客户端从第二聊天消息中获取链接功能类型。

客户端接收到第二聊天消息后,得到过滤后的普通聊天内容和功能链接内容,客户端根据功能链接内容中的链接功能类型确定功能链接内容在客户端上显示的图标,示例性的,当链接功能类型是位置相关的坐标数据时,图标采用在地图上常用于表示定位的图标,且功能图标指向链接信息。

客户端根据插入位置将表示功能链接类型的图标插入在普通聊天内容中进行显示,示意性的,插入位置是“3”时,指向链接信息的图标插入在普通聊天内容的第三个字符的后面。

步骤209,客户端接收对链接信息的触发操作。

客户端具有点击功能链接内容以触发链接信息中的功能。

当链接信息对应的功能类型是位置时,若用户点击功能链接内容所对应的图标,客户端根据链接信息启用寻路功能和传送功能中的至少一项。以链接信息内容为寻路信息为例,接收方终端解析并得到链接信息中的位置坐标后,用户终端根据位置坐标生成寻路指令,起始点为游戏用户操纵的游戏角色当前所处的寻路点,终点为链接信息中的位置坐标。地图划分为网格化的寻路点,一个寻路点为一个网格,所有地图场景包括地面、森林等填充在寻路点中。

其中,搜索直达路径的方式可以是通过a星算法实现,a星算法属于本领域普通技术人员的公知常识,此处不再赘述。

可选地,当链接信息对应的功能类型是组队时,点击功能链接内容所对应的图标,客户端根据链接信息向服务器请求多人组队功能。

示意性的,本实施例提供一种网络游戏的组队方法,该方法由服务器完成,该方法包括如下步骤:

s31、查询玩家的属性信息;

上述属性信息可以包括:玩家角色唯一标识、玩家等级、玩家职业、当前场景、登录城市中的至少一种。

s32、将相同属性信息的玩家组队;

实现s32的方法具体可以为:如属性信息为登录城市,则根据玩家登录的ip地址确定该ip地址对应的城市,将相同登录城市的玩家组队。如属性信息为玩家等级,将相同等级的玩家组队。当然还可以将等级相差悬殊度在等级阈值内的玩家组队。其中,等级相差悬殊度可采用队中等级最高的玩家与等级最低玩家的等级差值进行表示。

s33、将队中贡献度最高的玩家任命为队长。

可选地,当链接信息对应的功能类型是道具时,点击功能链接内容所对应的图标,客户端根据链接信息向服务器请求启用道具交易功能和道具租赁功能中的至少一项;本实施例以启用道具交易功能为例,该交易包括以下步骤:

步骤41,发送方终端生成一带有道具标识的接收链接。

该道具链接中包括虚拟货币支付的链接,用于使接收方终端通过支付链接支付虚拟货币。

步骤42,发送方终端将接收链接封装成群组消息。

该群组消息包括接收方标识和支付链接,并将该消息发送至服务器。

步骤43,服务器根据接收方标识确定接收方终端,将带有支付链接的群组消息发送至接收方终端。

步骤44,接收方终端接根据功能类型确定道具详情,根据支付链接确定支付金额,接收方终端在支付链接内支付成功后,服务器将道具发送至接收方终端(买家),将接收方终端(买家)支付的虚拟货币发送至发送方终端(卖家)。

可选地,当链接信息对应的功能类型是红包时,根据链接信息向服务器请求启用虚拟资源包领取功能。示意性的,发送红包的操作可以包括以下步骤:

步骤51,发送方终端生成一携带有“红包”标识的接收链接。

步骤52,发送方终端将接收链接封装成群组消息。

步骤53,发送方终端将群组消息以及至少一个接收方标识发送给基础服务器。

对应地,基础服务器接收发送方终端发送的群组消息以及至少一个接收方标识。

步骤54,基础服务器根据接收方标识将群组消息发送给至少一个接收方终端。

对应地,接收方终端接收基础服务器根据接收方标识发送的群组消息。

步骤55,基础服务器向发放服务器发送链接关联信息,链接关联信息包括“红包”标识、发送方标识以及各个接收方标识。

对应地,发放服务器接收并存储基础服务器发送的链接关联信息。

其中,上述步骤42、步骤52、步骤54中的群组消息均可以采用上述方法实施例中提供的消息格式进行发送和过滤。

综上所述,本实施例提供的方法,通过由客户端生成互相独立的普通聊天内容和功能链接内容,在功能链接内容中设置有用于表示功能链接内容在聊天消息中的插入位置,和用于表示功能链接内容功能的链接信息;终端将聊天消息发送至服务器后,服务器只对普通聊天内容进行敏感词过滤操作,并将过滤后的普通聊天内容和功能链接内容发送给其它终端,从而使得服务器只对普通聊天内容进行敏感词过滤,不对功能链接内容进行敏感词过滤,从而避免了普通聊天内容和功能链接内容单独都不会触发敏感词的过滤机制,但是混合排列到一起时就有可能组成敏感词,导致聊天消息被误过滤的问题。

同时,由于功能链接内容中包括插入位置和链接功能类型,服务器普通聊天内容和功能链接内容一同发送至客户端内,客户端根据链接功能类型确定功能链接内容所对应的图标,根据插入位置确定功能链接内容插入普通聊天内容的位置,有助于准确还原聊天内容。

可选地,本方案采用循环队列的存储方式,能有效解决数据库存储负担过大的问题,只存储近期的聊天消息,在对用户体验影响不大的情况下有效缓解了数据库负担过大的问题。

请参考图5,其示出了本申请另一实施例提供的聊天消息的过滤方法的流程图,本实施例以该聊天消息的过滤方法应用于图1所示的聊天系统,且该聊天系统是网络游戏中的聊天系统来举例说明。该方法可以包括如下几个步骤:

步骤301,玩家输入聊天内容。

聊天消息包括szcontent(普通聊天内容)和szlinkinfo(功能链接内容),普通聊天内容为用户输入内容,内容形式可以是文字、数字、符号、语音等任意一种或几种;

功能链接内容是承载相关功能的链接,结合图6和图7,点击对话框中的“+”,显示多种链接信息类型。示意性的,链接信息包括表情、历史、坐标、红包、道具中的至少一种。

功能链接内容的组成至少包括以下三部分:

链接功能类型(linktype),用于指示链接信息所触发的功能类型,例如该链接是地点、团队、红包或道具等。接收方接收到该链接信息时,根据链接类型执行相关操作;

插入位置(pos),用于表示链接信息插入过滤后的普通聊天内容中的插入位置,以达到混排的效果。pos通过数字标识链接所在的该信息中的位置,当pos为“3”时,表示pos前方有三个字符,即该链接插入的位置是第三个字符的后面。

链接信息(linkinfo),用于携带其它功能的参数信息。

可选地,该链接中的信息内容采用特殊字符分割包围,也即,用于包围信息内容的特殊字符即为信息内容的识别符,该识别符可自定义设置,例如可以是“{}”、“[]”或“<>”等形式。

信息内容可以包括位置坐标、红包金额等相关数据。

示意性的,当输入的普通聊天内容为“我在这里战斗”,功能链接内容的表现形式为“a”,链接类型为位置,pos为“4”时,接收方终端和发送方终端界面呈现出的状态为:“我在这里a战斗”。

步骤302,客户端解析成普通聊天内容和功能链接内容。

用户在输入的过程中,终端自动将信息分为普通聊天内容和功能链接内容两部分。其中,用户手动输入的内容为普通聊天内容,通过链接插入的内容为功能链接内容,终端将普通聊天内容和功能链接内容发送至服务器。

步骤303,服务器过滤普通聊天内容。

服务器接收到聊天消息后,将聊天消息进行解析,分为普通聊天内容和功能链接内容两部分,服务器只对普通聊天内容做过滤操作,对功能链接内容不做过滤操作。

步骤304,服务器解析功能链接内容,判断是否触发游戏功能。不需要则执行步骤305,需要则执行步骤306。

步骤305,存储缓存信息。

服务器将聊天内容存储在数据库中。

可选地,存储采用循环队列的方式进行:采用一段定长的内存,实现一个定长的数组,采用指针的方式用新的聊天数据覆盖旧的聊天数据,以实现只存储最新的数据。如图9所示,该数据库采用循环队列的存储方式进行存储,该存储方式包括:将聊天消息依次存储至定长存储区中,定长存储区用于采用循环形式存储最近的n条聊天消息,n为正整数。当定长存储区存储满之后,新的聊天消息会覆盖最早的聊天消息,从而形成循环队列。

步骤306,游戏功能处理。

服务器根据功能链接内容的类型和内容确定是否需要进行功能处理操作,例如,当功能链接内容是红包时,接收方终端领取红包后,服务器需执行与红包相关的功能操作,如反馈领取通知等。服务器执行完游戏功能处理操作后将聊天消息存储在数据库中。

可选地,功能处理操作在服务器或终端内进行,当功能复杂度较低,且不需要其他终端数据信息时,功能处理在终端内进行,例如寻路信息。当功能复杂度较高,或需要其他终端数据信息时,功能处理在服务器中进行,例如组建团队、发红包或装备交易等操作。

步骤307,将信息转换成客户端格式发送给客户端。

服务器在发送给客户端之前先将信息内容从服务器语言转换成能在终端呈现的状态。即,依然包括普通聊天内容(szcontent)和功能链接内容(szlinkinfo)两部分,其中的功能链接内容未做处理。

客户端包括发送方终端和接收方终端,服务器发送至接收方终端的同时向发送方终端反馈信息,用于在发送方终端上呈现对话内容。当发送的内容是需要接收方终端领取或执行等操作的内容时,服务器在接收方终端领取或执行操作后向发送方终端发送反馈信息,提示发送方终端发送内容已被领取或执行。

步骤308,客户端解析并显示。

客服端在接收到服务器的内容时,得到过滤后的普通聊天内容和功能链接内容,客户端根据功能链接内容中的链接功能类型确定功能链接内容在客户端上显示的图标,示例性的,当链接功能类型是位置相关的坐标数据时,图标采用在地图上常用于表示定位的标识,且功能图标指向链接信息。客户端根据插入位置将表示功能链接类型的图标插入在普通聊天内容中进行显示,示意性的,插入位置是“4”时,指向链接信息的图标插入在普通聊天内容的第四个字符的后面。

图8示出了本申请另一实施例提供的聊天消息的过滤方法的方法流程图,本实施例以该聊天消息的过滤方法应用于图1所示聊天系统中来举例说明。该方法可以包括如下几个步骤:

步骤401,客户端接收服务器信息。

客户端接收服务器发送的第二聊天消息,第二聊天消息是服务器对普通聊天内容进行敏感词过滤后,根据功能链接内容和过滤后的普通聊天内容得到的。

可选地,功能链接内容采用目标数据格式进行表示,目标数据格式包括:插入位置和链接信息,其中,插入位置用于表示链接信息插入过滤后的普通聊天内容中的插入位置;链接信息用于携带其它功能的参数信息。

客户端从第二聊天消息中获取插入位置、链接信息和过滤后的普通聊天内容。

可选地,功能链接内容还包括链接功能类型,链接功能类型用于指示链接信息所触发的功能类型,功能类型包括:位置、组队、道具和红包中的至少一项。

可选地,目标数据格式是json格式,链接功能类型、插入位置和链接信息采用json格式中的不同字段表示。

其中,互相独立的普通聊天内容和功能链接内容是服务器从接收到的第一聊天消息中得到的。

步骤402,客户端解析并显示。

从第二聊天消息中获取链接功能类型,获取与链接功能类型对应的功能图标;

客户端根据插入位置将链接信息插入至过滤后的普通聊天内容中进行显示,可选地,客户端根据插入位置将功能图标插入至过滤后的普通聊天内容中进行显示,功能图标指向所述链接信息。

步骤403,用户点击功能链接内容,客户端解析功能链接内容。

客户端接收用户对链接信息的触发操作,当链接信息对应的功能类型是位置时,点击功能链接内容,客户端根据链接信息启用寻路功能和传送功能中的至少一项;当链接信息对应的功能类型是组队时,点击功能链接内容,客户端根据链接信息向服务器请求多人组队功能;当链接信息对应的功能类型是道具时,点击功能链接内容,客户端根据链接信息向服务器请求启用道具交易功能和道具租赁功能中的至少一项;当链接信息对应的功能类型是红包时,点击功能链接内容,客户端根据链接信息向服务器请求启用虚拟资源包领取功能。

上述功能与前述的图3和图4公开的内容相同,在此不再赘述。

步骤404,客户端判断是否需要触发功能。

客户端点击功能链接内容的图标时,客户端根据功能类型判断是否需要触发相关功能,若需要,则执行步骤405,若否执行步骤406,结束操作。

步骤405,显示功能页面。

若链接内容是需要触发功能时,客户显示相关功能页面,以功能链接内容为寻路信息为例。接收方终端解析并得到功能链接内容中的位置坐标后,接收方终端根据位置坐标生成寻路指令,起始点为游戏用户操纵的游戏角色当前所处的寻路点,终点为链接信息中的位置坐标。地图划分为网格化的寻路点,一个寻路点为一个网格,所有地图场景包括地面、森林等填充在寻路点中,用户根据生成的寻路线路到达目标位置。

可选地,搜索直达路径的方式可以是通过a星算法实现,a星算法属于本领域普通技术人员的公知常识,此处不再赘述。

综上所述,本实施例中的客户端接收到服务器发送的聊天消息后,根据功能链接内容中的链接功能类型获取功能类型,并确定使用的图标;根据插入位置确定链接信息插入过滤后的普通聊天内容中的位置;根据链接信息确定携带的参数信息,完整的还原服务器发送的聊天消息,简化了客户端还原聊天内容的执行步骤,减轻了客户端的执行负担。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参阅图10,其示出了本申请一实施例提供的聊天内容敏感词的过滤装置的示意图。装置700包括:

接收模块710,用于接收客户端发送的第一聊天消息,第一聊天消息包括互相独立的普通聊天内容和功能链接内容,功能链接内容包括插入位置和链接信息,链接信息用于触发除聊天功能之外的其它功能;

处理模块720,用于对普通聊天内容进行敏感词过滤,得到过滤后的普通聊天内容;

处理模块720,用于根据过滤后的普通聊天内容和功能链接内容得到第二聊天消息;

发送模块730,用于将第二聊天消息发送给客户端,客户端用于在收到第二聊天消息后,根据插入位置将链接信息插入至过滤后的普通聊天内容中进行显示。

在一个可选的实施例中,功能链接内容采用目标数据格式进行表示,目标数据格式包括:链接功能类型、插入位置和链接信息;

链接功能类型用于指示链接信息所触发的功能类型;

插入位置用于表示链接信息插入过滤后的普通聊天内容中的插入位置;

链接信息用于携带其它功能的参数信息。

在一个可选的实施例中,目标数据格式是json格式,链接功能类型、插入位置和链接信息采用json格式中的不同字段表示。

在一个可选的实施例中,功能类型包括:位置、组队、道具和红包中的至少一项,该装置包括:

处理模块720,用于当链接功能类型用于指示位置时,根据链接信息启用寻路功能和传送功能中的至少一项;

处理模块720,用于当链接功能类型用于指示组队时,根据链接信息启用多人组队功能;

处理模块720,用于当链接功能类型用于指示道具时,根据链接信息启用道具交易功能和道具租赁功能中的至少一项;

处理模块720,用于当链接功能类型用于指示红包时,根据链接信息启用虚拟资源包分发功能。

处理模块720,用于将聊天消息存储至定长存储区中,定长存储区用于采用循环形式存储最近的n条聊天消息,n为正整数。

请参阅图11,其示出了本申请另一实施例提供的聊天内容敏感词的过滤装置的示意图。装置800包括:

接收模块810,用于接收服务器发送的第二聊天消息,第二聊天消息是服务器对普通聊天内容进行敏感词过滤后,根据过滤后的普通聊天内容和功能链接内容得到的;

处理模块820,用于从第二聊天消息中获取插入位置、链接信息和过滤后的普通聊天内容;

处理模块820,用于根据插入位置将链接信息插入至过滤后的普通聊天内容中进行显示;

其中,互相独立的普通聊天内容和功能链接内容是服务器从接收到的第一聊天消息中得到的,功能链接内容包括插入位置和链接信息,链接信息用于触发除聊天功能之外的其它功能。

在一个可选的实施例中,功能链接内容采用目标数据格式进行表示,目标数据格式包括:链接功能类型、插入位置和链接信息;

链接功能类型用于指示链接信息所触发的功能类型;

插入位置用于表示链接信息插入过滤后的普通聊天内容中的插入位置;

链接信息用于携带其它功能的参数信息。

在一个可选的实施例中,目标数据格式是json格式,链接功能类型、插入位置和链接信息采用json格式中的不同字段表示。

在一个可选的实施例中,处理模块820,用于从第二聊天消息中获取链接功能类型;处理模块820,用于获取与链接功能类型对应的功能图标;处理模块820,用于根据插入位置将功能图标插入至过滤后的普通聊天内容中进行显示,功能图标指向链接信息。

在一个可选的实施例中,功能类型包括:位置、组队、道具和红包中的至少一项,

接收模块810,用于接收对链接信息的触发操作;

处理模块820,用于当链接信息对应的功能类型是位置时,根据链接信息启用寻路功能和传送功能中的至少一项;

处理模块820,用于当链接信息对应的功能类型是组队时,根据链接信息向服务器请求多人组队功能;

处理模块820,用于当链接信息对应的功能类型是道具时,根据链接信息向服务器请求启用道具交易功能和道具租赁功能中的至少一项;

处理模块820,用于当链接信息对应的功能类型是红包时,根据链接信息向服务器请求启用虚拟资源包领取功能。

在一个可选的实施例中,装置还包括:发送模块830,用于根据用户操作向服务器发送第一聊天消息。

需要说明的是:上述实施例提供的聊天内容敏感词的过滤装置和终端在提供语音服务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的聊天内容敏感词的过滤装置与聊天内容敏感词的过滤方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图12示出了本申请一个示例性实施例提供的终端1900的结构框图。该终端1900可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端1900包括有:处理器1901和存储器1902。

处理器1901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1901可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1901可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1901还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器1902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1901所执行以实现本申请中方法实施例提供的聊天消息的过滤方法。

在一些实施例中,终端1900还可选包括有:外围设备接口1903和至少一个外围设备。处理器1901、存储器1902和外围设备接口1903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1903相连。具体地,外围设备包括:射频电路1904、触摸显示屏1905、摄像头1906、音频电路1907、定位组件1908和电源1909中的至少一种。

外围设备接口1903可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1901和存储器1902。在一些实施例中,处理器1901、存储器1902和外围设备接口1903被集成在同一芯片或电路板上;在一些其他实施例中,处理器1901、存储器1902和外围设备接口1903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路1904用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路1904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1904包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路1904还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏1905用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1905是触摸显示屏时,显示屏1905还具有采集在显示屏1905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1901进行处理。此时,显示屏1905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1905可以为一个,设置终端1900的前面板;在另一些实施例中,显示屏1905可以为至少两个,分别设置在终端1900的不同表面或呈折叠设计;在再一些实施例中,显示屏1905可以是柔性显示屏,设置在终端1900的弯曲表面上或折叠面上。甚至,显示屏1905还可以设置成非矩形的不规则图形,也即异形屏。显示屏1905可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件1906用于采集图像或视频。可选地,摄像头组件1906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路1907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1901进行处理,或者输入至射频电路1904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1901或射频电路1904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1907还可以包括耳机插孔。

定位组件1908用于定位终端1900的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件1908可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

电源1909用于为终端1900中的各个组件进行供电。电源1909可以是交流电、直流电、一次性电池或可充电电池。当电源1909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端1900还包括有一个或多个传感器1910。该一个或多个传感器1910包括但不限于:加速度传感器1911、陀螺仪传感器1912、压力传感器1913、指纹传感器1914、光学传感器1915以及接近传感器1916。

加速度传感器1911可以检测以终端1900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1911可以用于检测重力加速度在三个坐标轴上的分量。处理器1901可以根据加速度传感器1911采集的重力加速度信号,控制触摸显示屏1905以横向视图或纵向视图进行用户界面的显示。加速度传感器1911还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器1912可以检测终端1900的机体方向及转动角度,陀螺仪传感器1912可以与加速度传感器1911协同采集用户对终端1900的3d动作。处理器1901根据陀螺仪传感器1912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器1913可以设置在终端1900的侧边框和/或触摸显示屏1905的下层。当压力传感器1913设置在终端1900的侧边框时,可以检测用户对终端1900的握持信号,由处理器1901根据压力传感器1913采集的握持信号进行左右手识别或快捷操作。当压力传感器1913设置在触摸显示屏1905的下层时,由处理器1901根据用户对触摸显示屏1905的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器1914用于采集用户的指纹,由处理器1901根据指纹传感器1914采集到的指纹识别用户的身份,或者,由指纹传感器1914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1914可以被设置终端1900的正面、背面或侧面。当终端1900上设置有物理按键或厂商logo时,指纹传感器1914可以与物理按键或厂商logo集成在一起。

光学传感器1915用于采集环境光强度。在一个实施例中,处理器1901可以根据光学传感器1915采集的环境光强度,控制触摸显示屏1905的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1905的显示亮度;当环境光强度较低时,调低触摸显示屏1905的显示亮度。在另一个实施例中,处理器1901还可以根据光学传感器1915采集的环境光强度,动态调整摄像头组件1906的拍摄参数。

接近传感器1916,也称距离传感器,通常设置在终端1900的前面板。接近传感器1916用于采集用户与终端1900的正面之间的距离。在一个实施例中,当接近传感器1916检测到用户与终端1900的正面之间的距离逐渐变小时,由处理器1901控制触摸显示屏1905从亮屏状态切换为息屏状态;当接近传感器1916检测到用户与终端1900的正面之间的距离逐渐变大时,由处理器1901控制触摸显示屏1905从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图12中示出的结构并不构成对终端1900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

图13示出了本申请一个实施例提供的服务器的结构示意图。该服务器用于实施上述实施例中提供的聊天消息的过滤方法。具体来讲:

所述服务器1300包括中央处理单元(cpu)1301、包括随机存取存储器(ram)1302和只读存储器(rom)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。所述服务器1300还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)1306,和用于存储操作系统1313、应用程序1314和其他程序模块1315的大容量存储设备1307。

所述基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中所述显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。所述基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。所述大容量存储设备1307及其相关联的计算机可读介质为服务器1300提供非易失性存储。也就是说,所述大容量存储设备1307可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。

根据本申请的各种实施例,所述服务器1300还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1300可以通过连接在所述系统总线1305上的网络接口单元1311连接到网络1312,或者说,也可以使用网络接口单元1311来连接到其他类型的网络或远程计算机系统(未示出)。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于进行以下操作的指令

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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