一种消息提醒方法、装置以及设备与流程

文档序号:16200854发布日期:2018-12-08 06:35阅读:208来源:国知局
一种消息提醒方法、装置以及设备与流程

本申请涉及软件开发技术领域,尤其涉及一种消息提醒方法、装置以及设备。

背景技术

随着软件开发技术的不断发展,在终端上存在各种类型的软件,例如,社交软件,即时通讯软件,交易软件、支付软件等等,这些软件在接收到消息时,均会有相应的消息提醒。

现有的消息提醒机制具体是在接收到新消息时,串行地处理所有新消息,依次显示这些新消息,这种方式在大批量消息推送的情景下,客户端的消息处理效率较低,用户等待时间较长,影响用户体验,并且,新消息依次替换显示的方式,使得用户容易错过较为重要的消息,尤其是当实时性和安全性较高的消息未被用户及时发现而导致错过时,会给用户造成一定损失。

现有的消息提醒机制还无法为用户提供及时有效地消息提醒服务,无法帮助用户快速的获知有价值的新消息。



技术实现要素:

本申请实施例提供了一种消息提醒方法,该方法通过对消息进行分类,通过不同的消息队列对不同消息类型的消息进行二级缓存,基于不同的消息队列实现对消息的并行提醒,以便用户通过并行的消息提醒方式,快速准确地获取特定消息类型的消息。

另外,为了保证上述方法在实际中的应用和实现,本申请实施例还提供了相应的装置和终端设备。

有鉴于此,本申请第一方面提供了一种消息提醒方法,所述方法包括:

接收服务器发送的消息,将所述消息存储于一级消息缓存队列;

判断所述一级消息缓存队列中的所述消息的消息类型,从所述一级消息缓存队列中移出所述消息,根据所述消息的消息类型将所述消息存储于与所述消息类型对应的消息队列;不同的消息队列用于缓存不同消息类型的消息;

对不同的消息队列中的消息,并行地进行消息提醒。

可选的,在所述接收服务器发送的消息之前,所述方法还包括:

获取消息主题状态表,所述消息主题状态表用于记录消息主题;

根据所述消息主题状态表向所述服务器订阅所述消息主题的消息;

则所述接收服务器发送的消息,包括:

接收所述服务器推送的订阅消息。

可选的,所述方法还包括:

获取消息主题状态表,所述消息主题状态表用于记录消息主题;

根据所述消息主题状态表和消息主题归类关系表,确定与所述消息主题状态表相关的消息主题的消息类型,所述消息主题归类关系表用于表征消息主题与消息类型之间的对应关系;

根据与所述消息主题状态表相关的消息主题的消息类型建立不同的消息队列,一个消息队列用于存储至少一种消息类型的消息。

可选的,所述对不同的消息队列中的消息,并行地进行消息提醒,包括:

对不同的消息队列中的消息,根据消息类型对应的消息提醒方式并行地进行消息提醒;其中,一种消息类型对应一种消息提醒方式。

可选的,所述不同的消息队列包括:第一消息队列和第二消息队列;

其中,所述第一消息队列用于存储属于操作类型的消息,所述属于操作类型的消息是指包含操作指令信息的消息;

其中,所述第二消息队列用于存储属于错误类型的消息,所述属于错误类型的消息是指包含系统发生异常或者用户操作失误的错误详细信息的消息。

可选的,所述对不同的消息队列中的消息,并行地进行消息提醒,包括:

采用并行显示方式,根据与操作类型对应的采用跑马灯的消息提醒方式显示所述第一消息队列中的消息,以及,根据与错误类型对应的采用消息盒子的消息提醒方式显示所述第二消息队列中的消息。

可选的,所述方法还包括:

根据所述消息的消息类型,确定所述消息对应的存储机制;

根据所述消息对应的存储机制对所述消息队列中的消息进行存储。

可选的,采用多线程实现所述方法,包括:

创建第一线程,通过所述第一线程接收服务器发送的消息,将所述消息存储于一级消息缓存队列;

创建第二线程,通过所述第二线程判断所述一级消息缓存队列中的所述消息的消息类型,从所述一级消息缓存队列中移出所述消息,并根据所述消息的消息类型将所述消息存储于与所述消息类型对应的消息队列中;

针对不同的消息队列创建不同的线程,通过所述不同的线程对不同的消息队列中的消息,并行地进行消息提醒。

可选的,所述方法还包括:

响应于针对所述消息的跳转指令,跳转至与所述消息所属的业务界面。

本申请第二方面提供一种消息提醒的装置,所述装置包括:

消息接收以及一级缓存模块,用于接收服务器发送的消息,将所述消息存储于一级消息缓存队列;

判断以及消息归类模块,用于判断所述一级消息缓存队列中的所述消息的消息类型,从所述一级消息缓存队列中移出所述消息,并根据所述消息的消息类型将所述消息存储于与所述消息类型对应的消息队列中;不同的消息队列用于缓存不同消息类型的消息;一种消息类型对应一种消息提醒方式;

消息提醒模块,用于根据所述消息的消息类型对应的消息提醒方式进行消息提醒。

可选的,所述装置还包括:

消息主题状态表获取模块,用于获取消息主题状态表,所述消息主题状态表用于记录消息主题;

消息订阅模块,用于根据所述消息主题状态表向所述服务器订阅所述消息主题的消息;

则消息接收以及一级缓存模块具体用于:

接收所述服务器推送的订阅消息。

可选的,所述装置还包括:

消息主题状态表获取模块,用于获取消息主题状态表,所述消息主题状态表用于记录消息主题;

消息类型确定模块,用于根据所述消息主题状态表和消息主题归类关系表,确定与所述消息主题状态表相关的消息主题的消息类型,所述消息主题归类关系表用于表征消息主题与消息类型之间的对应关系;

消息队列建立模块,用于根据与所述消息主题状态表相关的消息主题的消息类型建立不同的消息队列,一个消息队列用于存储至少一种消息类型的消息。

可选的,消息提醒模块具体用于:

对不同的消息队列中的消息,根据消息类型对应的消息提醒方式并行地进行消息提醒;其中,一种消息类型对应一种消息提醒方式。

可选的,所述不同的消息队列包括:第一消息队列和第二消息队列;

其中,所述第一消息队列用于存储属于操作类型的消息,所述属于操作类型的消息是指包含操作指令信息的消息;

其中,所述第二消息队列用于存储属于错误类型的消息,所述属于错误类型的消息是指包含系统发生异常或者用户操作失误的错误详细信息的消息。

可选的,消息提醒模块具体用于:

采用并行显示方式,根据与操作类型对应的采用跑马灯的消息提醒方式显示所述第一消息队列中的消息,以及,根据与错误类型对应的采用消息盒子的消息提醒方式显示所述第二消息队列中的消息。

可选的,所述装置还包括:

存储机制确定模块,用于根据所述消息的消息类型,确定所述消息对应的存储机制;

消息存储模块,用于根据所述消息对应的存储机制对所述消息队列中的消息进行存储。

可选的,采用多线程实现消息提醒方法时,所述装置包括:

第一线程创建模块,用于创建第一线程,通过所述第一线程接收服务器发送的消息,将所述消息存储于一级消息缓存队列;

第二线程创建模块,用于通过所述第二线程判断所述一级消息缓存队列中的所述消息的消息类型,从所述一级消息缓存队列中移出所述消息,并根据所述消息的消息类型将所述消息存储于与所述消息类型对应的消息队列中;

多线程创建模块,用于针对不同的消息队列创建不同的线程,通过所述不同的线程对不同的消息队列中的消息,并行地进行消息提醒。

可选的,所述装置还包括:

页面跳转模块,用于响应于针对所述消息的跳转指令,跳转至与所述消息所属的业务界面。

本申请第三方面提供一种终端设备,所述设备包括处理器以及存储器:

所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令,执行如上述第一方面所述的消息提醒方法的步骤。

本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述第一方面所述的消息提醒方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例中提供了一种消息提醒方法,终端设备接收服务器发送的消息,并将所接收的消息存储于一级消息缓存队列中;终端设备判断存储于一级消息缓存队列中的消息所属的消息类型,并根据消息的消息类型,将消息从一级缓存队列移出至与该消息类型对应的消息队列中,其中,不同的消息队列用于缓存不同消息类型的消息;进而,终端设备对不同的消息队列中的消息,并行地进行消息提醒。上述消息提醒方法中,终端设备根据消息类型的不同,将所接收的消息存储至对应的消息队列中并行处理,不再仅对一级消息缓存队列中的所有消息进行串行处理,减少了一级消息缓存队列的存储和处理压力;同时,对与各消息类型对应的消息队列中的消息并行进行处理,也相应地提高了终端设备的工作效率,减少了用户的等待时间,改善了用户的使用体验。此外,采用并行地处理方式对不同消息队列中的消息进行消息提醒,从消息类型的维度对消息提醒方式进行区分,使得用户可以根据提醒方式的不同区分不同的消息类型,便于用户及时注意较为重要的消息,防止因错过重要消息而产生不必要的损失。

附图说明

图1为本申请实施例中消息提醒系统架构示意图;

图2为本申请实施例中消息提醒方法的流程示意图;

图3为本申请实施例中消息提醒方法的架构示意图;

图4为本发明实施例中消息提醒装置的结构示意图;

图5为本发明实施例中终端设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

现有的消息提醒机制中,终端设备通常采用串行处理的方式对接收的消息进行处理及显示,具体的,终端设备接收到服务器发送的消息后,依次串行处理所接收的消息,并以消息弹框的形式依次替换显示所接收的消息,以实现对用户进行消息提醒。

在现有的消息提醒机制中,由于终端设备需要依次对所接收的消息进行处理及显示操作,因此,在服务器向终端设备推送大批量消息的情景下,终端设备串行处理所接收的消息,需要耗费大量的时间,终端设备工作效率较低,进而导致用户需要等待较长的时间才能查看服务器推送的消息,用户体验较差。此外,上述消息提醒机制以消息弹框的形式对用户进行消息提醒,当需要向用户提醒大批量的新消息时,新消息依次以消息弹框的形式交替显示,用户很容易错过其中显示的重要信息,若用户所错过的消息为某些实时性和安全性较高的消息,可能会给用户造成一定的损失。

此外,在一些现有的消息提醒机制中,还会采用显示新消息数量的方式对用户进行消息提醒,具体的,终端设备接收到服务器发送的新消息后,通过改变对应软件上显示的新消息数量对用户进行消息提醒。采用这种消息提醒机制,用户无法在接收到新消息的同时立刻获知该消息的内容,往往需要通过点击与该消息对应的软件,再点击所接收的新消息才能获取该消息的内容,操作较为复杂,用户体验较差。

为了解决上述现有技术中存在的问题,本申请提供的了一种消息提醒方法,采用并行处理的方法对所接收的消息进行处理,并且,可以根据消息所属的消息类型相应地消息提醒。该消息提醒方法应用于终端设备,终端设备为具有面向用户交互功能的智能设备,例如,计算机、智能手机、个人数字助理(personaldigitalassitant,pda)、平板电脑等。

下面对本申请提供的消息提醒方法的核心技术思路进行介绍:

终端设备接收服务器发送的消息,并将所接收的消息存储于一级消息缓存队列中;终端设备判断存储于一级消息缓存队列中的消息所属的消息类型,并根据消息的消息类型,将消息从一级缓存队列移出至与该消息类型对应的消息队列中,其中,不同的消息队列用于缓存不同消息类型的消息;进而,终端设备对不同的消息队列中的消息,并行地进行消息提醒。

本申请提供的消息提醒方法中,终端设备根据消息类型的不同,将所接收的消息存储至对应的消息队列中并行处理,不再仅对一级消息缓存队列中的所有消息进行串行处理,减少了一级消息缓存队列的存储和处理压力;同时,对与各消息类型对应的消息队列中的消息并行进行处理,也相应地提高了终端设备的工作效率,减少了用户的等待时间,改善了用户的使用体验。此外,采用并行地处理方式对不同消息队列中的消息进行消息提醒,从消息类型的维度对消息提醒方式进行区分,使得用户可以根据提醒方式的不同区分不同的消息类型,便于用户及时注意较为重要的消息,防止因错过重要消息而产生不必要的损失。

应理解,本申请提供的消息提醒方法应用于消息提醒系统中,参见图1,图1为本申请实施例提供的消息提醒系统的架构示意图。如图1所示,图1中包括终端设备101和服务器102。其中,终端设备101为具有面向用户交互功能的智能设备;服务器102可以为独立设备,也可以采用集群服务器,服务器102可以同时为多个终端设备101提供数据支持。具体的,本申请提供的消息提醒方法可以以应用程序app、app功能模块或者浏览器插件等形式的客户端应用于终端设备101中,通过该消息提醒方法在用户使用客户端时能够为用户及时有效地进行消息提醒。

服务器102根据终端设备101的订阅信息,相应地向终端设备101发送消息。终端设备101接收服务器102发送的消息后,将所接收的消息存储至一级消息缓存队列中,并判断一级消息缓存队列中消息的消息类型,根据消息类型的不同,相应地将消息从一级消息缓存队列中移出,并存储至与该消息的消息类型对应的消息队列,其中,不同的消息队列用于缓存不同消息类型的消息。对于不同消息队列中的消息,终端设备101并行地进行消息提醒。

需要说明的是,上述图1所示系统仅为一种示例,在实际应用中,本申请提供的消息提醒方法也可以应用于其他系统。

下面通过实施例对本申请提供的消息提醒方法进行介绍。

参见图2,图2为本申请实施例提供的一种消息提醒方法的流程示意图。为了便于描述,下述实施例以终端设备作为执行主体进行描述。如图2所示,该消息提醒方法包括以下步骤:

步骤201:接收服务器发送的消息,将该消息存储于一级消息缓存队列。

终端设备接收来自服务器的消息,并将所接收的消息存储在一级消息缓存队列中,该一级消息缓存队列用于在对消息进行分类处理前,直接缓存来自服务器的消息。

在具体实现时,终端设备和服务器可以通过订阅推送的方式为用户提供相关订阅服务。具体的,用户可以在终端设备上利用账户信息如用户名和密码等信息,登录终端设备上配置的软件客户端,进而,服务器可以根据终端设备上当前登录的账户信息,确定该账户所具有的权限,并向终端设备推送该账户权限所能获取的消息主题状态表,该消息主题状态表中记录该账户所能订阅的消息主题。

基于此,在接收服务器发送的消息之前,终端设备需要先获取消息主题状态表,获取到服务器推送的消息主题状态表后,即相应地根据该消息主题状态表,向服务器订阅消息主题状态表中所记录的消息主题的消息。相应地,服务器向终端设备发送消息时,即可根据用户的订阅情况向终端设备推送用户订阅的消息主题的消息。

需要说明的是,消息主题状态表中通常包括两类消息主题,一类是与业务数据相关的消息主题,另一类是与基础数据相关的消息主题,如错误类型、操作类型和提醒类型的消息。终端设备对于这两类消息主题的消息的订阅和退订方式不同,下面分别对这两类消息主题的消息的订阅和退订方式进行介绍:

终端设备订阅与业务数据相关的消息主题的消息时,可以根据用户对与业务相关的菜单的打开情况,动态地向服务器订阅与该业务相关的消息主题的消息,即用户开启从属于某业务的菜单时,终端设备即可动态地向服务器订阅与该业务相关的消息主题的消息,相应地,退订与该业务相关的消息主题的消息时,直接关闭对应的业务菜单即可实现消息的退订;终端设备订阅与基础数据相关的消息主题的消息时,可以根据用户的登录操作相应地订阅此类操作,即用户通过终端设备登录对应软件的客户端时,终端设备即向服务器自动订阅此类消息主题的消息,相应地,用户退出登录软件客户端即可退订此类消息主题的消息。

当然,终端设备也可以通过其他方式从服务器处获取消息,在此不对终端设备获取消息的形式做任何限定。

步骤202:判断一级消息缓存队列中的消息的消息类型,从一级消息缓存队列中移出消息,根据消息的消息类型将消息存储于与消息类型对应的消息队列;不同的消息队列用于缓存不同消息类型的消息。

终端设备将服务器发送的消息缓存至一级消息缓存队列后,对该一级消息缓存队列中的消息所属的消息类型进行判断,根据消息的消息类型,将消息从一级消息缓存队列中移出,并存储于与该消息类型对应的消息队列中,其中,不同的消息队列用于缓存不同消息类型的消息。即,终端设备根据一级消息缓存队列中消息的消息类型,进一步将一级消息缓存队列中存储的消息转移至与各消息的消息类型对应的消息队列中,将来自服务器的消息按照消息类型进行分类并二次存储,并且,不同的消息队列可以用于存储不同消息类型的消息中,以便针对不同的消息队列进行与之对应的后续处理操作。

需要说明的是,对一级消息缓存队列中消息的消息类型进行判断时,可以采取先进先出的原则,即先判断较早存储于一级消息缓存队列中的消息所属的消息类型,后判断较晚存储与一级消息缓存队列中的消息所属的消息类型。

建立消息队列时,终端设备可以获取消息主题状态表,该消息主题状态表用于记录消息主题。进而根据消息主题状态表和消息主题归类关系表,确定与消息主题状态表中的消息主题相关的消息类型,其中,消息主题归类关系表能够表征消息主题与消息类型之间的对应关系。进而,根据与消息主题状态表中相关的消息类型建立不同的消息队列,一个消息队列用于存储至少一种消息类型的消息。

具体的,终端设备可以获取用于记录用户订阅消息主题的消息主题状态表,也可以获取用于记录系统所提供的消息主题的消息主题状态表。终端设备按照消息主题归类关系表中消息主题和消息类型之间的对应关系,将消息主题状态表中的消息主题划分至对应的消息类型,确定与该消息主题状态表相关的消息主题的消息类型。进而根据与消息主题状态表相关的消息主题的消息类型,建立不同的消息队列,保证一个消息队列至少存储一种消息类型的消息。

在一种可能的实现方式中,终端设备所建立的不同的消息队列包括:第一消息队列和第二消息队列:

其中,第一消息队列用于存储属于操作类型的消息,该属于操作类型的消息指的是包含操作指令的消息,例如,包含流程审批操作指令、交易操作指令等操作指令的消息,用户可以通过点击该操作类型的消息,相应地跳转至与该消息相关的业务的操作界面,进而,用户可以在该操作界面上相应地进行操作。当然,该第一消息队列还可以用于存储与操作类型相似的其他消息类型的消息,或者用于存储与操作类型的消息重要程度相近的其它消息类型的消息,例如,能够提醒用户重要资讯信息的提醒类型的消息,该提醒类型的消息具体可以为持仓债券到期消息、回购到期消息、交收提醒消息等,在此不对第一消息队列能够存储的消息做任何限定。

其中,第二消息队列用于存储属于错误类型的消息,该属于错误类型的消息指的是包含系统发生异常或者用户操作失误的错误详细信息的消息,用户通过查看错误类型的消息,即可相应地了解关于系统异常的详细错误信息,或者了解关于自身操作失误的详细错误信息。当然,该第二消息队列还可以用于存储与错误类型相似的其他消息类型的消息,或者用于存储与错误类型的消息重要程度相近的其它消息类型的消息,例如,包含资讯新闻、新股申购信息等相关业务信息的普通类消息,在此不对第二消息队列能够存储的消息做任何限定。

为了进一步满足用户需求,终端设备还可以建立第三消息队列,用于存储属于缓存类型的消息,该属于缓存类型的消息具体可以包含与客户端更新相关的数据。也就是说,终端设备可以根据用户需求,建立任意数量的消息队列,在此不对终端设备所建立的消息队列的数量做任何限定。

步骤203:对不同的消息队列中的消息,并行地进行消息提醒。

对于存储于不同的消息队列中的消息,终端设备并行地进行消息提醒,即终端设备对于某一消息队列中的消息进行消息提醒时,不会影响对其他消息队列中的消息进行消息提醒,可以同时对不同消息队列中的消息进行消息提醒。

需要说明的是,为了便于用户区分不同消息队列的消息,终端设备可以针对不同的消息队列分别设置不同的消息提醒方式,采用对应的消息提醒方式对各消息队列中的消息进行消息提醒。这样,可以根据消息类型的重要程度,将重要程度相近的消息类型的消息存储于同一消息队列中,并针对各消息队列中的消息设置不同的消息提醒方式,进而终端设备进行消息提醒时,用户可以根据消息提醒方式的不同获知当前接收的消息的重要程度。

此外,终端设备可以针对不同的消息类型设置对应的消息提醒方式,一种消息类型对应一种消息提醒方式,对于不同消息队列中的消息,终端设备可以根据消息类型对应的消息提醒方式并行地进行消息提醒。具体实现时,终端设备可以获取不同消息队列中的消息,根据获取的消息所属的消息类型,确定与该消息类型对应的消息提醒方式,进而采用这种消息提醒方式进行消息提醒。

这样,用户根据不同的消息提醒方式,即可相应地确定出该消息所属的消息类型,进而选择如何处理该消息,例如,用户根据消息提醒方式获知当前接收的消息为操作类型的消息,进而选择立即查看该操作类型的消息,并执行对应的操作;又例如,用户根据消息提醒方式获知当前接收的消息为普通类型的消息,用户可以选择暂时忽视该消息,不对该普通类型的消息进行查看。

需要说明的是,上述消息提醒方式可以由用户自定义设置,也可以由终端设备默认设置。现针对上述消息提醒方式提供以下三种示例性的具体实现方式:

第一种实现方式,终端设备可以针对来自不同消息队列或属于不同消息类型的消息,设置不同的消息提示音,采用不同的消息提示音对来自不同消息队列或属于不同消息类型的消息进行消息提醒。例如,终端设备可以针对来自第一消息队列的消息设置采用第一铃声进行消息提醒,针对来自第二消息队列中的消息设置采用第二铃声进行消息提醒。

第二种实现方式,终端设备可以针对来自不同的消息队列或属于不同消息类型的消息,设置不同的消息显示方式,采用不同的消息显示方式对来自不同消息队列或属于不同消息类型的消息进行消息提醒。例如,终端设备可以针对属于第一消息类型的消息设置采用弹窗的消息显示方式进行消息提醒,当终端设备接收到属于第一消息类型的消息时,自动在屏幕上弹出该消息,以此实现消息提醒,终端设备可以针对属于第二消息类型的消息设置采用消息盒子的显示方式进行消息提醒,当终端设备接收到属于第二消息类型的消息时,改变对应软件的消息提示框上显示的新消息数量,但不具体显示新消息内容,以此实现消息提醒。

第三种实现方式,终端设备可以针对来自不同的消息队列或属于不同消息类型的消息,设置不同的提示灯显示方式,采用不同的提示灯显示方式对来自不同消息队列或属于不同消息类型的消息进行消息提醒。例如,终端设备可以针对来自第一消息队列的消息设置采用提示灯常亮的显示方式进行消息提醒,针对来自第二消息队列中的消息设置采用提示灯不断闪烁的显示方式进行消息提醒;又例如,终端设备可以针对属于第一消息类型的消息设置采用绿色的提示灯进行消息提醒,针对属于第二消息类型的消息设置采用红色的提示灯进行消息提醒。

当然,还可以针对来自不同的消息队列或属于不同消息类型的消息,设置其他形式的消息提醒方式,也可以针对来自不同消息队列或属于不同消息类型的消息,综合采用上述第一至第三种实现方式中任意一种或多种消息提醒方式进行消息提醒,在此不对消息提醒方式的具体形式做任何限定。

针对上文在步骤202中提及的,终端设备建立第一消息队列和第二消息队列的实现方式,终端设备可以进一步并行地针对第一消息队列和第二消息队列中的消息进行消息提醒。

具体的,当第一消息队列中存储操作类型的消息时,终端设备可以预先设置采用跑马灯的消息提醒方式显示该操作类型的消息,具体的,跑马灯的消息提醒方式为在终端设备的屏幕上反复滚动消息的显示形式。这样,终端设备判断消息所属的消息类型为操作类型时,即可采用跑马灯的消息提醒方式显示消息。

当然,终端设备也可以预先设置采用跑马灯的消息提醒方式显示第一消息队列中存储的消息,这样,当第一消息队列中还存储与操作类型消息重要程度相近的其他消息类型的消息时,针对其他消息类型的消息也可以采用该跑马灯的方式进行消息提醒,以提示用户当前显示的消息较为重要,防止用户错过重要的消息。

当第二消息队列中存储错误类型的消息时,终端设备可以预先设置采用消息盒子的消息提醒方式显示该错误类型的消息,具体的,消息盒子的消息提醒方式为更新消息盒子上显示的新消息数量,但是不对消息的具体内容进行显示,或仅显示最新更新的消息的部分内容。这样,终端设备判断消息所属的消息类型为错误类型时,即可采用消息盒子的消息提醒方式显示消息,当用户需要查看该错误类型的消息的具体内容时,用户可以点开消息盒子,获取消息盒子中错误类型的消息的具体内容。

当然,终端设备也可以预先设置采用消息盒子的消息提醒方式显示第二消息队列中存储的消息,这样,当第二消息队列中还存储与错误类型消息重要程度相近的其他消息类型的消息时,针对其他消息类型的消息,终端设备也可以采用该消息盒子的方式进行消息提醒,以提示用户当前显示的消息重要程度较低,无需立即查看。

此外,若终端设备针对缓存类型的消息建立第三消息队列,终端设备可以预先针对缓存类型的消息设置其他形式的消息提醒方式,或设置针对该缓存类型的消息不进行消息提醒。当然,终端设备也可以预先针对第三消息队列中存储的所有消息设置对应的其他形式的消息提醒方式,或设置针对该第三消息队列中存储的消息不进行提醒。

需要说明的是,本实施例提供的消息提醒方法,还可以进一步根据消息的消息类型,对各消息队列中的消息进行存储。

具体的,终端设备可以预先针对各消息类型设置对应的存储机制,这样,终端设备将消息从一级消息缓存队列中移出至各消息队列后,可以进一步对各消息队列中消息的消息类型进行判断,根据消息的消息类型,确定与之对应的存储机制;进而根据消息对应的存储机制,对各消息队列中的消息进行存储。

例如,对于重要程度较高,且实时性较强的消息类型的消息,如操作类型的消息、提醒类型的消息等,终端设备可以预先针对这些类型的消息设置预设时间内有效的存储机制,如一天内有效的存储机制,这样,若终端设备从消息队列中获取并判断某消息属于操作类型或提醒类型时,相应地采取预设时间内有效的存储机制存储该消息,用户在预设时间内即使多次重启软件客户端,该消息均能加载并显示,预设时间过后该消息即自动归档不再显示。

又例如,对于重要程度较低,且需要保证长期有效的消息类型的消息,如错误类型的消息、普通类型的消息等,终端设备可以预先针对这些消息类型的消息设置永久有效的存储机制,若终端设备从消息队列中获取并判断某消息属于错误类型或普通类型,则相应地将该消息永久地存储在软件客户端的文件中,写入与该客户端账号对应的数据库表中,用户需要获取该消息时,可以从历史消息页面中查询并获取该消息。

由于部分缓存类型的消息也具有需要长期保存的特点,如包含有基础缓存数据的基础缓存消息,因此,终端设备也可以预先针对这类消息设置永久有效的存储机制。

再例如,对于可以反复多次获取的消息类型的消息,如缓存类型消息中的动态缓存消息,终端设备可以预先针对这些类型的消息设置存储于内存的存储机制,若终端设备从消息队列中获取并判断某消息属于动态缓存消息,则相应地将该消息存储在内存中,在用户退出软件客户端退出、终端设备关闭等情况下,终端设备将自动丢弃该消息,用户再次登录该软件客户端后,终端设备可以从服务器再次获取该消息。

需要说明的是,终端设备除了可以针对消息的消息类型,设置与各消息类型对应的存储机制外,终端设备还可以直接针对不同的消息队列,设置与各消息队列对应的存储机制,进而,终端设备从各消息队列中获取到消息后,即可直接根据该消息所属的消息队列,确定与之对应的存储机制,并利用对应的存储机制对消息进行存储。

本申请提供的消息提醒方法中,终端设备根据消息类型的不同,将所接收的消息存储至对应的消息队列中并行处理,不再仅对一级消息缓存队列中的所有消息进行串行处理,减少了一级消息缓存队列的存储和处理压力;同时,对与各消息类型对应的消息队列中的消息并行进行处理,也相应地提高了终端设备的工作效率,减少了用户的等待时间,改善了用户的使用体验。此外,采用并行地处理方式对不同消息队列中的消息进行消息提醒,从消息类型的维度对消息提醒方式进行区分,使得用户可以根据提醒方式的不同区分不同的消息类型,便于用户及时注意较为重要的消息,防止因错过重要消息而产生不必要的损失。

为了保证终端设备能够流畅地执行上文所述的消息提醒方法,在执行该消息提醒方法的过程中不发生卡顿,为用户提供较好的用户体验,一般采用多线程实现上述消息提醒方法。下面结合图3,对采用多线程实现上述消息提醒方法的具体实现方式进行介绍:

如图3所示,终端设备创建第一线程301,通过该第一线程301接收服务器发送的消息,并将消息存储于一级消息缓存队列中。

终端设备创建第二线程302,通过该第二线程302判断一级消息缓存队列中消息的消息类型,从该一级消息缓存队列中移出消息,并根据消息的消息类型将该消息存储与该消息类型对应的消息队列中。

如图3所示,终端设备预先建立第一消息队列、第二消息队列和第三消息队列,其中,第一消息队列用于存储操作类型的消息和提醒类型的消息,第二消息队列用于存储错误类型的消息和普通类型的消息,第三消息队列用于存储缓存类型的消息。

终端设备通过第二线程302,判断一级缓存队列中消息的消息类型,若消息属于操作类型或提醒类型,则相应地将该消息从一级消息缓存队列中移出,并存储至第一消息队列中;若消息属于错误类型或普通类型,则相应地将该消息从一级消息缓存队列中移出,并存储至第二消息队列中;若消息属于缓存类型,则相应地将该消息从一级消息缓存队列中移出,并存储至第三消息队列中。

当然,终端设备也可以建立其他数量的消息队列,并设置各消息队列用于存储其他消息类型的消息,在此不对终端设备所建立的消息队列的数量,以及各消息队列所能够存储的消息所属的消息类型做任何限定。

终端设备针对不同的消息队列创建不同的线程,通过不同的线程对不同的消息队列中的消息,并行地进行消息提醒。

如图3所示,终端设备分别针对第一消息队列、第二消息队列和第三消息队列创建第三线程303、第四线程304和第五线程305,其中,第三线程303用于对第一消息队列中的消息并行地采用跑马灯的提醒方式进行消息提醒,即在终端设备的屏幕上滚动显示第一消息队列中的消息;第四线程304用于对第二消息队列中的消息处理到消息盒子接口中,采用消息盒子的提醒方式并行地进行消息提醒,并在消息盒子中根据消息的消息类型,对消息进行分类显示;第五线程305用于对第三消息队列中的消息推送到后台缓存处理模块,由后台缓存处理模块对消息进行缓存处理。

此外,终端设备还可以创建第六线程306,通过该第六线程306采用与各消息类型对应的存储机制对各消息队列中的消息进行存储。

具体实现时,终端设备可以预先针对操作类型和提醒类型的消息设置预设时间内有效的存储机制,针对错误类型和普通类型的消息设置永久有效的存储机制,针对缓存类型的消息中的基础缓存消息设置永久有效的存储机制,针对缓存类型的消息中的动态缓存消息设置存储于内存的存储机制。

相应地,终端设备从第一消息队列中获取到操作类型或提醒类型的消息,即采用预设时间内存储的存储机制对其进行存储,可以在预设时间内存储并显示该消息,预设时间过后即将该消息归档不再显示;终端设备从第二消息队列中获取到错误类型或普通类型的消息,即采用永久有效的存储机制,将该消息存储至软件客户端文件中,并异步写入该客户端账号对应的数据库表中,用户可以通过查询历史消息列表查询该消息;终端设备从第三消息队列中获取到缓存类型的消息,判断该缓存类型的消息为基础缓存消息或动态缓存消息,若为基础缓存消息,则采用永久有效的存储机制存储该消息,若为动态缓存消息,则采用存储于内存的存储机制存储该消息,用户推出软件客户端,或关闭终端设备时,终端设备相应地丢弃该消息。

采用多线程的方式实现图2所示的消息提醒方法,可以在多个线程中异步执行该消息提醒方法,各个线程中所执行的步骤彼此之间不会互相影响,进而保证终端设备能够流畅地执行该消息提醒方法,在进行消息提醒的过程中不出现卡顿,提供较好的用户体验。

针对上文描述的消息提醒方法,本申请还提供了对应的消息提醒装置,以便于这些方法在实际中的应用及实现。

参见图4,图4是与上文图2所示方法相对应的一种消息提醒装置400的结构图,该装置400包括:

消息接收以及一级缓存模块401,用于接收服务器发送的消息,将所述消息存储于一级消息缓存队列;

判断以及消息归类模块402,用于判断所述一级消息缓存队列中的所述消息的消息类型,从所述一级消息缓存队列中移出所述消息,并根据所述消息的消息类型将所述消息存储于与所述消息类型对应的消息队列中;不同的消息队列用于缓存不同消息类型的消息;一种消息类型对应一种消息提醒方式;

消息提醒模块403,用于根据所述消息的消息类型对应的消息提醒方式进行消息提醒。

可选的,在图4所示的消息提醒装置的基础上,该装置还包括:

消息主题状态表获取模块,用于获取消息主题状态表,所述消息主题状态表用于记录消息主题;

消息订阅模块,用于根据所述消息主题状态表向所述服务器订阅所述消息主题的消息;

则消息接收以及一级缓存模块401具体用于:

接收所述服务器推送的订阅消息。

可选的,在图4所示的消息提醒装置的基础上,该装置还包括:

消息主题状态表获取模块,用于获取消息主题状态表,所述消息主题状态表用于记录消息主题;

消息类型确定模块,用于根据所述消息主题状态表和消息主题归类关系表,确定与所述消息主题状态表相关的消息主题的消息类型,所述消息主题归类关系表用于表征消息主题与消息类型之间的对应关系;

消息队列建立模块,用于根据与所述消息主题状态表相关的消息主题的消息类型建立不同的消息队列,一个消息队列用于存储至少一种消息类型的消息。

可选的,消息提醒模块403具体用于:

对不同的消息队列中的消息,根据消息类型对应的消息提醒方式并行地进行消息提醒;其中,一种消息类型对应一种消息提醒方式。

可选的,所述不同的消息队列包括:第一消息队列和第二消息队列;

其中,所述第一消息队列用于存储属于操作类型的消息,所述属于操作类型的消息是指包含操作指令信息的消息;

其中,所述第二消息队列用于存储属于错误类型的消息,所述属于错误类型的消息是指包含系统发生异常或者用户操作失误的错误详细信息的消息。

可选的,消息提醒模块403具体用于:

采用并行显示方式,根据与操作类型对应的采用跑马灯的消息提醒方式显示所述第一消息队列中的消息,以及,根据与错误类型对应的采用消息盒子的消息提醒方式显示所述第二消息队列中的消息。

可选的,在图4所示的消息提醒装置的基础上,该装置还包括:

存储机制确定模块,用于根据所述消息的消息类型,确定所述消息对应的存储机制;

消息存储模块,用于根据所述消息对应的存储机制对所述消息队列中的消息进行存储。

可选的,采用多线程实现图2所示的消息提醒方法时,该消息提醒装置包括:

第一线程创建模块,用于创建第一线程,通过所述第一线程接收服务器发送的消息,将所述消息存储于一级消息缓存队列;

第二线程创建模块,用于通过所述第二线程判断所述一级消息缓存队列中的所述消息的消息类型,从所述一级消息缓存队列中移出所述消息,并根据所述消息的消息类型将所述消息存储于与所述消息类型对应的消息队列中;

多线程创建模块,用于针对不同的消息队列创建不同的线程,通过所述不同的线程对不同的消息队列中的消息,并行地进行消息提醒。

可选的,在图4所示的消息提醒装置的基础上,该装置还包括:

页面跳转模块,用于响应于针对所述消息的跳转指令,跳转至与所述消息所属的业务界面。

本申请提供的消息提醒装置中,终端设备根据消息类型的不同,将所接收的消息存储至对应的消息队列中并行处理,不再仅对一级消息缓存队列中的所有消息进行串行处理,减少了一级消息缓存队列的存储和处理压力;同时,对与各消息类型对应的消息队列中的消息并行进行处理,也相应地提高了终端设备的工作效率,减少了用户的等待时间,改善了用户的使用体验。此外,采用并行地处理方式对不同消息队列中的消息进行消息提醒,从消息类型的维度对消息提醒方式进行区分,使得用户可以根据提醒方式的不同区分不同的消息类型,便于用户及时注意较为重要的消息,防止因错过重要消息而产生不必要的损失。

本申请实施例还提供了一种终端设备,如图5所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(personaldigitalassistant,pda)、销售终端(pointofsales,pos)、车载电脑等任意终端设备,以终端为手机为例:

图5示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图5,手机包括:射频(英文全称:radiofrequency,英文缩写:rf)电路510、存储器520、输入单元530、显示单元540、传感器550、音频电路560、无线保真(英文全称:wirelessfidelity,英文缩写:wifi)模块570、处理器580、以及电源590等部件。本领域技术人员可以理解,图5中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图5对手机的各个构成部件进行具体的介绍:

rf电路510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器580处理;另外,将设计上行的数据发送给基站。通常,rf电路510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:lownoiseamplifier,英文缩写:lna)、双工器等。此外,rf电路510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:globalsystemofmobilecommunication,英文缩写:gsm)、通用分组无线服务(英文全称:generalpacketradioservice,gprs)、码分多址(英文全称:codedivisionmultipleaccess,英文缩写:cdma)、宽带码分多址(英文全称:widebandcodedivisionmultipleaccess,英文缩写:wcdma)、长期演进(英文全称:longtermevolution,英文缩写:lte)、电子邮件、短消息服务(英文全称:shortmessagingservice,sms)等。

存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元530可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元530可包括触控面板531以及其他输入设备532。触控面板531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板531上或在触控面板531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元540可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元540可包括显示面板541,可选的,可以采用液晶显示器(英文全称:liquidcrystaldisplay,英文缩写:lcd)、有机发光二极管(英文全称:organiclight-emittingdiode,英文缩写:oled)等形式来配置显示面板541。进一步的,触控面板531可覆盖显示面板541,当触控面板531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图5中,触控面板531与显示面板541是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板531与显示面板541集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在手机移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路560、扬声器561,传声器562可提供用户与手机之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经rf电路510以发送给比如另一手机,或者将音频数据输出至存储器520以便进一步处理。

wifi属于短距离无线传输技术,手机通过wifi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了wifi模块570,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器580是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器580可包括一个或多个处理单元;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。

手机还包括给各个部件供电的电源590(比如电池),优选的,电源可以通过电源管理系统与处理器580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本申请实施例中,该终端所包括的处理器580还具有以下功能:

接收服务器发送的消息,将所述消息存储于一级消息缓存队列;

判断所述一级消息缓存队列中的所述消息的消息类型,从所述一级消息缓存队列中移出所述消息,根据所述消息的消息类型将所述消息存储于与所述消息类型对应的消息队列;不同的消息队列用于缓存不同消息类型的消息;

对不同的消息队列中的消息,并行地进行消息提醒。

本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种消息提醒方法中的任意一种实施方式。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文缩写:rom)、随机存取存储器(英文全称:randomaccessmemory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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