一种消息撤销方法、消息撤销服务器及用户设备与流程

文档序号:13886413阅读:325来源:国知局

本发明涉及数据处理技术领域,具体涉及一种消息撤销方法、消息撤销服务器及用户设备。



背景技术:

消息是消息提供方通过服务器推送(push)给用户设备的内容,可在用户设备的通知栏,桌面,锁屏界面,应用界面等进行展示;消息推送在许多应用程序中均有应用,是用户获取服务器推送内容的一个重要途径。

本发明的发明人发现,在消息推送的具体应用过程中,由于事后发现已推送的消息是错误的,或者已推送的消息拥有不恰当内容等原因,消息提供方常希望将已推送的消息进行撤销,即将用户设备已接收的消息进行删除;然而,目前并没有相应的技术能够实现已推送消息的撤销。



技术实现要素:

有鉴于此,本发明实施例提供一种消息撤销方法、消息撤销服务器及用户设备,以实现撤销已推送的消息的目的。

为实现上述目的,本发明实施例提供如下技术方案:

一种消息撤销方法,应用于消息撤销服务器,所述方法包括:

配置需撤销的已推送消息的消息id,及所述已推送消息的用户撤销范围;

获取用户设备的心跳信息;

根据所述心跳信息,判断所述用户设备是否处于所述用户撤销范围内;

若判断所述用户设备处于所述用户撤销范围内,向所述用户设备发送携带有所述消息id的消息撤销指令,以使所述用户设备删除与所述消息id对应的消息。

本发明实施例还提供一种消息撤销方法,应用于用户设备,所述方法包括:

接收消息推送服务器所推送的携带有消息id的消息,记录所接收的消息与对应的消息id的对应关系;

发送心跳信息;

在消息撤销服务器根据所述心跳信息,判断所述用户设备处于所配置的用户撤销范围内时,接收所述消息撤销服务器发送的消息撤销指令,所述消息撤销指令携带有需撤销的已推送消息的消息id;

根据所述消息撤销指令中携带的消息id,及记录的所接收的消息与对应的消息id的对应关系,删除与所述消息撤销指令中携带的消息id相应的消息。

本发明实施例还提供一种消息撤销服务器,包括:

消息id配置模块,用于配置需撤销的已推送消息的消息id;

撤销范围配置模块,用于配置所述已推送消息的用户撤销范围;

心跳信息获取模块,用于获取用户设备的心跳信息;

判断模块,用于根据所述心跳信息,判断所述用户设备是否处于所述用户撤销范围内;

撤销指令发送模块,用于若判断所述用户设备处于所述用户撤销范围内,向所述用户设备发送携带有所述消息id的消息撤销指令,以使所述用户设备删除与所述消息id对应的消息。

本发明实施例还提供一种用户设备,包括:

消息接收并记录模块,用于接收消息推送服务器所推送的携带有消息id的消息,记录所接收的消息与对应的消息id的对应关系;

心跳信息发送模块,用于发送心跳信息;

撤销指令接收模块,用于在消息撤销服务器根据所述心跳信息,判断所述用户设备处于所配置的用户撤销范围内时,接收所述消息撤销服务器发送的消息撤销指令,所述消息撤销指令携带有需撤销的已推送消息的消息id;

消息删除模块,用于根据所述消息撤销指令中携带的消息id,及记录的所接收的消息与对应的消息id的对应关系,删除与所述消息撤销指令中携带的消息id相应的消息。

基于上述技术方案,本发明实施例中消息撤销服务器可配置需撤销的已推送消息的消息id,及所述已推送消息的用户撤销范围;同时消息撤销服务器通过与至少一用户设备保持长连接,可获取用户设备发送的心跳信息;根据所述用户设备的心跳信息,消息撤销服务器可判断所述用户设备是否处于所述用户撤销范围内,并在判断所述用户设备处于所述用户撤销范围内时,消息撤销服务器可向用户设备发送携带有所述消息id的消息撤销指令,以便所述用户设备删除对应的消息,实现撤销已推送消息的目的。本发明实施例可实现撤销已推送消息的目的,在已推送的消息是错误的或者具有不恰当内容的情况下,提供补救措施。

附图说明

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

图1为本发明实施例提供的消息撤销系统的结构框图;

图2为本发明实施例提供的消息撤销方法的信令流程图;

图3为本发明实施例提供的消息撤销系统的另一结构框图;

图4为本发明实施例提供的消息撤销系统的再一结构框图;

图5为本发明实施例提供的消息撤销方法的另一信令流程图;

图6为本发明实施例提供的消息撤销方法的再一信令流程图;

图7为本发明实施例提供的消息撤销方法的又一信令流程图;

图8为本发明实施例提供的消息撤销方法的又另一信令流程图;

图9为本发明实施例提供的消息撤销服务器的结构框图;

图10为本发明实施例提供的撤销范围配置模块的结构框图;

图11为本发明实施例提供的用户特征集合配置单元的结构框图;

图12为本发明实施例提供的判断模块的结构框图;

图13为本发明实施例提供的用户特征集合配置单元的结构框图;

图14为本发明实施例提供的消息撤销服务器的硬件结构框图;

图15为本发明实施例提供的用户设备的结构框图;

图16为本发明实施例提供的消息删除模块的结构框图。

具体实施方式

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

图1为本发明实施例提供的消息撤销系统的结构框图,参照图1,该消息撤销系统可以包括:消息撤销服务器10和用户设备20;

消息撤销服务器可以是设置于网络侧的用于撤销已推送消息的服务设备;消息撤销服务器可以与消息推送服务器相通信,消息推送服务器可以是用于将消息推送给用户设备的服务设备;

本发明实施例也可将消息推送服务器作为消息撤销服务器使用,如在消息推送服务器上增加撤销已推送消息的功能;

可选的,消息撤销服务器可以是由单台服务器实现,也可以是由多台服务器组成的服务器群组;

用户设备可以是能够接收推送消息的用户侧设备,如智能手机、平板电脑、笔记本电脑等。

在本发明实施例中,推送给用户设备的各消息均可采用消息id进行标识;在进行消息撤销时,消息撤销服务器可配置需撤销的已推送消息的消息id,及配置需撤销消息的用户范围;消息撤销服务器通过将携带所述消息id的消息撤销指令发送给属于需撤销消息的用户范围的用户设备,可使得该用户设备基于消息撤销指令可删除所述消息id相应的消息,实现撤销已推送消息的目的。

结合图1所示消息撤销系统,图2示出了本发明实施例提供的消息撤销方法的信令流程图,参照图2,该流程可以包括:

步骤s10、消息撤销服务器配置需撤销的已推送消息的消息id,及所述已推送消息的用户撤销范围;

可选的,消息推送服务器在推送任一消息时,可在推送的消息内容或协议中添加消息id(identity,身份号码),消息id可用于标识所推送的消息;消息撤销服务器可从消息推送服务器获取已推送消息的消息id;当工作人员发现已推送消息错误或者存在不恰当内容等需要撤销的原因时,工作人员可从消息撤销服务器所获取的已推送消息的消息id中选取需撤销的已推送消息的消息id,实现对需撤销的已推送消息的消息id的配置;

可选的,消息推送服务器也可以作为消息撤销服务器使用,本发明实施例可直接调取已推送消息的消息id,并由工作人员从已推送消息的消息id中选取需撤销的已推送消息的消息id;

可选的,如果工作人员知道需撤销的已推送消息的消息id,则也可直接在消息撤销服务器上录入需撤销的已推送消息的消息id,实现对需撤销的已推送消息的消息id的配置;

可选的,消息一般是针对一定的用户范围进行推送,如将消息发送给某一地区的用户,将消息发送给某一性别的用户,将消息发送给具有某一爱好的用户,将消息发送给会员用户等;

消息推送的用户范围可称为用户推送范围;而在对某一已推送的消息进行撤回时,一般是针对该用户推送范围内的用户进行消息撤回,因此需撤销的已推送消息的用户范围,不应超出该已推送消息的用户推送范围,需撤销的已推送消息的用户范围可称为用户撤销范围;即对于某一需撤销的已推送消息,该已推送消息的用户撤销范围,不应超出该已推送消息的用户推送范围。

步骤s11、用户设备发送心跳信息;

可选的,用户设备可与消息撤销服务器保持长连接,长连接是指在设备的连接保持期间(如tcp连接保持期间),如果没有数据包发送,则需要双方发送心跳等检测包来维持连接;

可选的,本发明实施例可通过部署长连接服务来保持用户设备与消息撤销服务器的长连接,如图3所示,长连接服务器可接收用户设备定时或实时发送的心跳信息,并将心跳信息转发给消息撤销服务器;

如果消息撤销服务器与消息推送服务器为不同的服务设备,则长连接服务器可接收用户设备定时或实时发送的心跳信息,并将心跳信息转发给消息推送服务器和消息撤销服务器,如图4所示。

步骤s12、消息撤销服务器根据所述心跳信息,判断所述用户设备是否处于所述用户撤销范围内;

可选的,心跳信息中可携带有用于确定所述用户设备所对应用户范围的信息,如心跳信息中可携带所述用户设备的用户信息等;从而消息撤销服务器接收所述心跳信息后,可根据所述心跳信息,判断所述用户设备是否处于所述用户撤销范围内。

步骤s13、消息撤销服务器若判断所述用户设备处于所述用户撤销范围内,向所述用户设备发送消息撤销指令,所述消息撤销指令包括所述需撤销的已推送消息的消息id;

步骤s14、用户设备接收所述消息撤销指令,删除所述消息id对应的消息。

可见,在本发明实施例中,消息撤销服务器可配置需撤销的已推送消息的消息id,及所述已推送消息的用户撤销范围;同时消息撤销服务器通过与至少一用户设备保持长连接,可获取用户设备发送的心跳信息;根据所述用户设备的心跳信息,消息撤销服务器可判断所述用户设备是否处于所述用户撤销范围内,并在判断所述用户设备处于所述用户撤销范围内时,消息撤销服务器可向用户设备发送携带有所述消息id的消息撤销指令,以便所述用户设备删除对应的消息,实现撤销已推送消息的目的;

相应的,用户设备所接收的任一推送消息均可携带有消息id,用户设备在接收消息推送服务器所推送的携带有消息id的消息后,可记录所接收的消息与对应的消息id的对应关系,并至少通过向消息撤销服务器发送心跳信息(也可向消息推送服务器发送心跳信息),来保持与消息撤销服务器的长连接;当消息撤销服务器根据用户设备发送的心跳信息判断所述用户设备处于所配置的用户撤销范围内时,用户设备可接收消息撤销服务器发送的消息撤销指令,所述消息撤销指令携带有需撤销的已推送消息的消息id,从而用户设备可根据所述消息撤销指令中携带的消息id,及记录的所接收的消息与对应的消息id的对应关系,删除与所述消息撤销指令中携带的消息id相应的消息,实现对接收的已推送消息的撤销目的。

可选的,本发明实施例可通过定义用户特征的集合来配置用户撤销范围,且为保证用户撤销范围不超出用户推送范围,用户撤销范围对应的用户特征的集合应不超出需撤销消息的用户推送范围所对应的用户特征的集合;即所述用户撤销范围对应的用户特征的集合,应包含于所述用户推送范围所对应的用户特征的集合中;

可选的,图5示出了本发明实施例提供的消息撤销方法的另一信令流程图,参照图5,该流程可以包括:

步骤s20、消息撤销服务器配置需撤销的已推送消息的消息id,及配置需撤销所述已推送消息的用户的用户特征的集合,以所配置的用户特征的集合作为用户撤销范围;所述用户撤销范围对应的用户特征的集合,不超出所述已推送消息的用户推送范围所对应的用户特征的集合;

可选的,本发明实施例可确定所述已推送消息推送至的用户的用户特征的集合,以所述已推送消息推送至的用户的用户特征的集合作为用户推送范围;同时配置需撤销所述已推送消息的用户的用户特征的集合,即配置需要对已推送消息进行撤销的用户所对应的用户特征的集合,以所配置的需撤销所述已推送消息的用户的用户特征的集合作为用户撤销范围;且用户撤销范围不超出用户推送范围,即所述用户撤销范围对应的用户特征的集合,不超出所述已推送消息的用户推送范围所对应的用户特征的集合;

可选的,用户特征可以是用户代理信息的维度特征,也可以是直接将用户标识(如用户账号等)作为用户特征;

一个用户特征的集合可以包括至少一个用户特征。

步骤s21、用户设备发送心跳信息;所述心跳信息中包含指示所述用户设备的用户特征的指示信息;

步骤s22、消息撤销服务器根据所述指示信息,判断所述用户设备的用户特征是否与所述用户撤销范围对应的用户特征的集合相匹配;

可选的,消息撤销服务器可判断所述用户设备的用户特征是否与步骤s20所配置的用户撤销范围对应的用户特征的集合相匹配,若是,则确定所述用户设备的用户特征与所述用户撤销范围匹配,所述用户设备处于所述用户撤销范围内,若否,则确定所述用户设备的用户特征与所述用户撤销范围不匹配,所述用户设备不处于所述用户撤销范围内。

步骤s23、消息撤销服务器若判断所述用户设备的用户特征与所述用户撤销范围对应的用户特征的集合相匹配,向所述用户设备发送消息撤销指令,所述消息撤销指令包括所述需撤销的已推送消息的消息id;

步骤s24、用户设备接收所述消息撤销指令,删除所述消息id对应的消息。

可见,在本发明实施例中,消息撤销服务器可配置需撤销的已推送消息的消息id,及需撤销的已推送消息的用户撤销范围;同时消息撤销服务器通过与至少一用户设备保持长连接,可获取用户设备发送的心跳信息;通过心跳信息中指示的所述用户设备的用户特征的指示信息,消息撤销服务可判断所述用户设备的用户特征是否与所述用户撤销范围对应的用户特征的集合相匹配,并在判断匹配时,消息撤销服务器可向用户设备发送包括需撤销的已推送消息的消息id的消息撤销指令,从而使得用户设备基于所述消息撤销指令,删除所述消息id对应的消息,达到撤销已推送的消息的目的。

本发明实施例可配置所推送的任一消息的消息id,从而在需要进行消息撤销时,从已推送消息的消息id中配置需撤销的已推送消息的消息id,并配置用户撤销范围,进而向符合用户撤销范围的用户设备发送消息撤销指令,使得用户设备能够对已接收的消息进行删除,达成撤销已推送的消息的目的。

可选的,如果需撤销的已推送消息已被用户阅读,则失去了将消息进行撤销的意义,消息撤销可建立在需撤销的已推送消息未被用户阅读的情况下;因此用户设备在接收消息撤销服务器发送的消息撤销指令后,可先解析所述消息撤销指令中携带的消息id,并判断所述消息id对应的消息是否已被用户阅读,如果所述消息id对应的消息已被阅读,则失去了将消息撤销的意义,可结束本发明实施例提供的消息撤销流程,如果所述消息id对应的消息未被阅读,则可将所述消息id对应的消息进行删除,以实现已推送消息的撤销;

对应的,图6示出了本发明实施例提供的消息撤销方法的再一信令流程图,参照图6,该流程可以包括:

步骤s30、消息撤销服务器配置需撤销的已推送消息的消息id,及所述已推送消息的用户撤销范围;所述用户撤销范围不超出所述已推送消息的用户推送范围,所述用户撤销范围包括需撤销所述已推送消息的用户的用户特征的集合,所述用户推送范围包括所述已推送消息推送至的用户的用户特征的集合;

步骤s31、用户设备发送心跳信息;所述心跳信息中包含指示所述用户设备的用户特征的指示信息;

步骤s32、消息撤销服务器根据所述指示信息,判断所述用户设备的用户特征是否与所述用户撤销范围对应的用户特征的集合相匹配;

步骤s33、消息撤销服务器若判断所述用户设备的用户特征与所述用户撤销范围对应的用户特征的集合相匹配,向所述用户设备发送消息撤销指令,所述消息撤销指令包括所述需撤销的已推送消息的消息id;

步骤s34、用户设备解析所述消息撤销指令,获得所述需撤销的已推送消息的消息id,判断所述消息id对应的消息是否已阅读;

可选的,用户设备对于任一接收的消息,可记录所接收的消息与对应的消息id的对应关系,当用户设备接收到消息撤销指令时,用户设备可根据所述消息撤销指令中携带的消息id,及所记录的已接收消息与对应的消息id的对应关系,确定与所述消息撤销指令中携带的消息id相应的消息;从而判断所述消息撤销指令中携带的消息id相应的消息是否已阅读;

可选的,用户设备可通过判断所述消息id对应的消息是否被首次点击,来判断所述消息id对应的消息是否已阅读,一般的,用户在阅读一消息时,需点击该消息,进入相应的界面阅读该消息,因此本发明实施例可通过判断所述消息id对应的消息是否被首次点击,来判断所述消息id对应的消息是否已阅读;显然,通过判断所述消息id对应的消息是否被首次点击,仅是判断所述消息id对应的消息是否已阅读的一种可选方式,本发明实施例并不排除其他的能够判断所述消息id对应的消息是否已阅读的方式。

步骤s35、用户设备若判断所述消息id对应的消息未被阅读,删除所述消息id对应的消息。

可选的,若用户设备判断所述消息id对应的消息已被阅读,则用户设备可取消删除所述消息id对应的消息,结束本发明实施例提供的消息撤销流程。

可选的,消息在用户设备中的展示分为在用户设备的通知栏进行展示,及在消息相应的应用界面进行展示;而通知栏中的消息展示一般由系统接口控制,应用界面中展示的消息一般是通过调取应用相应的消息缓存数据来实现;因此用户设备在删除所述消息id对应的消息时,可删除所述消息id对应的消息缓存数据,和/或,所述消息id对应通知栏消息;

可选的,本发明实施例可以是只删除所述消息id对应的消息缓存数据,也可以只是删除所述消息id对应通知栏消息,也可以是同时删除所述消息id对应的消息缓存数据,及所述消息id对应通知栏消息;

可选的,在删除消息id对应通知栏消息时,用户设备可通过调取系统接口,删除所述消息id的消息所属应用对应的通知栏消息;在删除所述消息id对应消息缓存数据时,用户设备可确定所述消息id的消息所属的应用,从该应用的消息缓存数据中删除相应的消息。

可选的,本发明实施例可采用用户代理信息(useragent)的维度特征作为用户特征,通过用户代理信息的至少一个维度特征的集合定义用户推送范围,并定义不超过用户推送范围的用户代理信息的维度特征的集合,来形成用户撤销范围;

用户代理信息如浏览器等应用程序的用户代理信息,用户代理信息可以是由至少一个维度特征组合而成的,用于表示应用程序及用户设备的应用配置情况;

以浏览器的用户代理信息为例,一种可选的用户代理信息格式如下:[软件名]/[版本号]&[浏览器内核]/[版本号]&[平台名]&[屏幕分辨率,当前汉字宽]&[设备名]&{第几代用户代理};

其中,[软件名]/[版本号]、浏览器内核]/[版本号]、[平台名]、[屏幕分辨率,当前汉字宽]、[设备名]、{第几代用户代理}等均可以认为是用户代理信息的维度特征;

相应的,图7示出了本发明实施例提供的消息撤销方法的又一信令流程图,参照图7,该流程可以包括:

步骤s40、消息撤销服务器配置需撤销的已推送消息的消息id,及配置用户代理信息的至少一个维度特征的集合,以所配置的用户代理信息的至少一个维度特征的集合作为用户撤销范围,所述用户撤销范围对应的用户代理信息的维度特征的集合,包含于用户推送范围对应的用户代理信息的维度特征的集合;

可选的,本发明实施例可将用户代理信息的至少一个维度特征组合形成用户推送范围,消息推送服务器可向用户代理信息符合所述用户推送范围所对应的维度特征的用户推送消息,同时配置各推送消息的消息id;

在进行消息撤销时,本发明实施例可确定需撤销的已推送消息的消息id,通过需撤销的已推送消息的用户推送范围对应的维度特征的集合,定义不超过用户推送范围的维度特征的集合,从而形成用户撤销范围;

即对于一需撤销的已推送消息而言,其用户推送范围与用户撤销范围均可通过用户代理信息的至少一个维度特征的集合来表示,但用户撤销范围对应的维度特征的集合应包含于用户推送范围对应的维度特征的集合中;

可选的,本发明实施例可配置用户代理信息的至少一个维度特征的集合,将所配置的用户代理信息的至少一个维度特征的集合作为用户撤销范围,且保证所述用户撤销范围对应的维度特征的集合包含于所述用户推送范围对应的维度特征的集合中;

可选的,本发明实施例可配置用户撤销范围等于用户推送范围,也可配置用户撤销范围小于用户推送范围,即要保障需撤销已推送消息的用户是该已推送消息的下发用户。

步骤s41、用户设备发送心跳信息;所述心跳信息中包含指示所述用户设备的用户代理信息的指示信息;

步骤s42、消息撤销服务器根据所述指示信息确定所述用户设备的用户代理信息;

可选的,本发明实施例可以用户设备的长连接的套接字的文件描述符(套接字的文件描述符的中文简称为socketfd)为键(key),以用户设备的用户代理信息为值(value)来存储用户代理信息;

相应的,心跳信息中包含的指示用户设备的用户代理信息的指示信息,可以是用户设备的长连接的套接字的文件描述符;即步骤s31可替换为:用户设备发送心跳信息;所述心跳信息中包含用户设备的长连接的套接字的文件描述符;

相应的,消息撤销服务器获取用户设备的长连接的套接字的文件描述符后,可以所述套接字的文件描述符为键,查询对应值表示的用户代理信息,得到所述用户设备的用户代理信息。

步骤s43、消息撤销服务器判断所述用户设备的用户代理信息,是否与所述用户撤销范围对应的用户代理信息的维度特征的集合相匹配;

可选的,如果用户撤销范围对应的用户代理信息的维度特征的集合,均包含在所述用户设备的用户代理信息中,则认为用户设备的用户代理信息,与所述用户撤销范围对应的维度特征的集合相匹配;如果用户撤销范围对应的任一维度特征,未包含在所述用户设备的用户代理信息中,则认为用户设备的用户代理信息与所述用户撤销范围对应的维度特征的集合不匹配。

步骤s44、消息撤销服务器若判断所述用户设备的用户代理信息,与所述用户撤销范围对应的维度特征的集合相匹配,向所述用户设备发送消息撤销指令,所述消息撤销指令包括所述需撤销的已推送消息的消息id;

步骤s45、用户设备接收所述消息撤销指令,删除所述消息id对应的消息。

可选的,用户设备在接收所述消息撤销指令后,可在判断到所述消息id对应的消息未被阅读时,才删除所述消息id对应的消息。

可选的,本发明实施例可采用用户账号等用户标识作为用户特征,通过接收已推送消息的用户的用户标识的集合来定义用户推送范围,并定义不超过用户推送范围的用户标识的集合,来形成用户撤销范围;

相应的,消息推送服务器推送消息给用户后,可确定接收已推送消息的用户的用户标识,从而以所确定的接收已推送消息的用户标识的集合定义用户推送范围;

本发明实施例可要求终端设备在接收到已推送消息后,向消息推送服务器反馈响应信息,响应信息中可携带用户设备的用户标识及所接收的已推送消息的消息id,从而使得消息推送服务器可记录到接收已推送消息的用户标识的集合,形成用户推送范围;

可选的,在确定消息需推送至的用户设备时,本发明实施例也可基于用户代理信息的维度特征确定消息需推送至的用户设备;然而消息推送服务器向用户设备推送消息后,由于网络故障等原因,用户设备可能无法接收到消息推送服务器所推送的消息,因此本发明实施例可通过接收已推送消息的用户设备所反馈的响应信息,记录到准确的用户推送范围;

可选的,图8示出了本发明实施例提供的消息撤销方法的又另一信令流程图,参照图8,该流程可以包括:

步骤s50、消息撤销服务器配置需撤销的已推送消息的消息id,及从已接收所述已推送消息的用户标识的集合中,配置用户撤销范围对应的用户标识的集合,所述用户撤销范围对应的用户标识的集合包含于用户推送范围对应的用户标识的集合;

可选的,本发明实施例可从已接收所述已推送消息的用户标识的集合(即所述用户推送范围对应的用户标识的集合)中,配置用户撤销范围对应的用户标识的集合,所述用户撤销范围对应的用户标识的集合包含于所述用户推送范围对应的用户标识的集合。

步骤s51、用户设备发送心跳信息;所述心跳信息中包含所述用户设备的用户标识;

步骤s52、消息撤销服务器判断所述用户设备的用户标识,是否与所述用户撤销范围对应的用户标识的集合相匹配;

步骤s53、消息撤销服务器若判断所述用户设备的用户标识,与所述用户撤销范围对应的用户标识的集合相匹配,向所述用户设备发送消息撤销指令,所述消息撤销指令包括所述需撤销的已推送消息的消息id;

步骤s54、用户设备接收所述消息撤销指令,删除所述消息id对应的消息。

可选的,用户设备在接收所述消息撤销指令后,可在判断到所述消息id对应的消息未被阅读时,才删除所述消息id对应的消息。

可选的,本发明实施例可预定义消息撤销指令的发送比例,从而在消息撤销服务器向用户设备发送消息撤销指令时,以预定义的消息撤销指令的发送比例向用户设备发送消息撤销指令;即本发明实施例可控制消息撤销指令的发送比例,使得所述已推送消息推送至的用户设备中,所述发送比例的用户设备可接收到消息撤销指令,以实现已推送的消息的撤销。

可选的,本发明实施例为推送的任一消息所定义的消息id的形式可以如下:消息id可以由业务id和序号组成;业务id为消息对应的内容业务的标识,消息对应的内容业务可以是小说、视频等,本发明实施例可为小说、视频等内容业务分配业务id;序号为消息在所属业务中的唯一编号,可以自然数依次递增,且可以为4字节的int类型。

本发明实施例提供的消息撤销方法可用于撤销浏览器客户端在手机通知栏展示的消息,具体应用过程可以如下:

1、消息推送服务器从浏览器的用户代理信息中选取至少一维度特征组合形成用户推送范围,通过长连接服务器向用户推送范围内的浏览器客户端推送消息,且消息推送协议中添加有消息id;

2、浏览器客户端装载于用户手机上,浏览器客户端接收消息推送服务器发送的消息,记录该消息的消息id,并将消息在用户手机的通知栏上进行展示;

3、消息撤销服务器从消息推送服务器获取已推送消息的消息id及用户推送范围,在某一已推送的消息需要撤回时,配置该需撤回的已推送消息的消息id及用户撤销范围;用户撤销范围可以是从用户推送范围对应的用户代理信息的维度特征中选取的至少一维度特征的集合;

同时,消息撤销服务器可以浏览器客户端的长连接的套接字的文件描述符为key,以浏览器客户端对应的用户代理信息为value存储用户代理信息;

4、浏览器客户端通过长连接服务器发送心跳信息,且心跳信息中包括浏览器客户端的长连接的套接字的文件描述符;

5、长连接服务器将浏览器客户端的心跳信息转发给消息撤销服务器和消息推送服务器;

6、消息撤销服务器根据心跳信息中的套接字的文件描述符,查询对应的用户代理信息;

7、消息撤销服务器在所查询的用户代理信息,与所配置的用户撤销范围对应的用户代理信息的维度特征相匹配时,向浏览器客户端下发消息撤销指令,该消息撤销指令中包含需撤销的已推送消息的消息id;

8、浏览器客户端在该消息id对应的消息未被阅读时,调用用户手机的系统接口删除通知栏展示的该消息id对应的消息,并从浏览器客户端的消息缓存数据中删除该消息id对应的消息。

本发明实施例可实现撤销已推送消息的目的,在已推送的消息是错误的或者具有不恰当内容的情况下,提供补救措施。

下面对本发明实施例提供的消息撤销服务器进行介绍,下文描述的消息撤销服务器可与上文描述的消息撤销方法相互对应参照。下文描述的消息撤销服务器的结构可以认为是消息撤销服务器为实现消息撤销功能,所需设置的功能模块架构。

图9为本发明实施例提供的消息撤销服务器的结构框图,参照图9,该消息撤销服务器可以包括:

消息id配置模块100,用于配置需撤销的已推送消息的消息id;

撤销范围配置模块110,用于配置所述已推送消息的用户撤销范围;

心跳信息获取模块120,用于获取用户设备的心跳信息;

判断模块130,用于根据所述心跳信息,判断所述用户设备是否处于所述用户撤销范围内;

撤销指令发送模块140,用于若判断所述用户设备处于所述用户撤销范围内,向所述用户设备发送携带有所述消息id的消息撤销指令,以使所述用户设备删除与所述消息id对应的消息。

可选的,图10示出了本发明实施例提供的撤销范围配置模块110的一种可选结构,参照图10,撤销范围配置模块110可以包括:

用户特征集合配置单元111,用于配置需撤销所述已推送消息的用户的用户特征的集合,以所配置的用户特征的集合作为所述用户撤销范围;所述用户撤销范围对应的用户特征的集合,不超出所述已推送消息的用户推送范围所对应的用户特征的集合;

相应的,心跳信息获取模块120所获取的心跳信息中可以包含指示所述用户设备的用户特征的指示信息;

判断模块130具体可用于,根据所述指示信息,判断所述用户设备的用户特征是否与所述用户撤销范围对应的用户特征的集合相匹配;

可选的,若判断所述用户设备的用户特征与所述用户撤销范围对应的用户特征的集合相匹配,则判断所述用户设备处于所述用户撤销范围内,否则,判断所述用户设备不处于所述用户撤销范围内。

可选的,用户特征可以是用户代理信息的维度特征;相应的,图11示出了本发明实施例提供的用户特征集合配置单元111的可选结构,参照图11,用户特征集合配置单元111可以包括:

维度特征集合配置子单元1111,用于配置用户代理信息的至少一个维度特征的集合,以所配置的用户代理信息的至少一个维度特征的集合作为所述用户撤销范围,所述用户撤销范围对应的用户代理信息的维度特征的集合,包含于所述用户推送范围对应的用户代理信息的维度特征的集合;

相应的,心跳信息获取模块120所获取的心跳信息中可以包含指示所述用户设备的用户代理信息的指示信息;

相应的,图12示出了本发明实施例提供的判断模块130的一种可选结构,参照图12,判断模块130可以包括:

用户代理信息确定单元131,用于根据所述指示信息确定所述用户设备的用户代理信息;

代理信息匹配判断单元132,用于判断所述用户设备的用户代理信息,是否与所述用户撤销范围对应的维度特征的集合相匹配。

可选的,本发明实施例可以用户设备的长连接的套接字的文件描述符为键,用户设备的用户代理信息为值存储用户代理信息;

相应的,在用户设备通过长连接服务器与消息撤销服务器保持长连接时,心跳信息获取模块120可获取长连接服务器转发的所述用户设备发送的心跳信息,且心跳信息中包含所述用户设备的长连接的套接字的文件描述符;

相应的,用户代理信息确定单元131具体可用于,以所述心跳信息中的长连接的套接字的文件描述符为键,查询对应值表示的用户代理信息。

可选的,用户特征也可以为用户的标识;相应的,图13示出了本发明实施例提供的用户特征集合配置单元111的另一种可选结构,参照图13,用户特征集合配置单元111可以包括:

用户标识集合确定单元1112,用于从已接收所述已推送消息的用户标识的集合中,配置用户撤销范围对应的用户标识的集合;

可选的,所述用户撤销范围对应的用户标识的集合包含于所述用户推送范围对应的用户标识的集合;

相应的,心跳信息获取模块120所获取的心跳信息中可以包含所述用户设备的用户标识;

判断模块130具体可用于判断所述用户设备的用户标识,是否与所述用户撤销范围对应的用户标识的集合相匹配。

可选的,如果消息撤销服务器与消息推送服务器集成在一服务器中,则消息撤销服务器在向用户设备推送的任一消息中均可携带消息id,并要求用户设备在接收所推送的消息后,需反馈响应信息;具体的,消息撤销服务器还可用于:

在向用户设备推送携带有消息id的消息,且所述用户设备接收所推送的消息后,接收所述用户设备反馈的响应信息,所述响应信息包括所述用户设备的用户标识及所述用户设备所接收的消息的消息id。

可选的,撤销指令发送模块140在向用户设备发送携带有所述消息id的消息撤销指令时,可以预定义的消息撤销指令的发送比例向用户设备发送消息撤销指令。

下面对本发明实施例提供的消息撤销服务器的硬件结构进行介绍,图14示出了本发明实施例提供的消息撤销服务器的硬件结构框图,参照图14,该消息撤销服务器可以包括:处理器1,通信接口2,存储器3和通信总线4;

其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;

可选的,通信接口2可以为通信模块的接口,如gsm模块的接口;

处理器1,用于执行程序;

存储器3,用于存放程序;

程序可以包括程序代码,所述程序代码包括计算机操作指令。

处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

其中,程序可具体用于:

配置需撤销的已推送消息的消息id,及所述已推送消息的用户撤销范围;

获取用户设备的心跳信息;

根据所述心跳信息,判断所述用户设备是否处于所述用户撤销范围内;

若判断所述用户设备处于所述用户撤销范围内,向所述用户设备发送携带有所述消息id的消息撤销指令,以使所述用户设备删除与所述消息id对应的消息。

下面对本发明实施例提供的用户设备进行介绍,下文描述的用户设备可与上文描述的消息撤销方法相互对应参照。下文描述的用户设备的结构可以认为是,用户设备为实现消息撤销功能所需设置的功能模块结构。

图15为本发明实施例提供的用户设备的结构框图,参照图15,用户设备可以包括:

消息接收并记录模块200,用于接收消息推送服务器所推送的携带有消息id的消息,记录所接收的消息与对应的消息id的对应关系;

心跳信息发送模块210,用于发送心跳信息;

撤销指令接收模块220,用于在消息撤销服务器根据所述心跳信息,判断所述用户设备处于所配置的用户撤销范围内时,接收所述消息撤销服务器发送的消息撤销指令,所述消息撤销指令携带有需撤销的已推送消息的消息id;

消息删除模块230,用于根据所述消息撤销指令中携带的消息id,及记录的所接收的消息与对应的消息id的对应关系,删除与所述消息撤销指令中携带的消息id相应的消息。

可选的,图16示出了本发明实施例提供的消息删除模块230的结构框图,参照图16,消息删除模块230可以包括:

消息确定单元231,用于根据所述消息撤销指令中携带的消息id,及记录的所接收的消息与对应的消息id的对应关系,确定与所述消息撤销指令中携带的消息id相应的消息;

阅读判断单元232,用于判断所述消息撤销指令中携带的消息id相应的消息是否被阅读;

删除执行单元233,用于若判断所述消息撤销指令中携带的消息id相应的消息未被阅读,删除所述消息撤销指令中携带的消息id相应的消息。

可选的,删除执行单元233删除消息可以是,删除所述消息撤销指令中携带的消息id对应的消息缓存数据,和/或,删除所述消息撤销指令中携带的消息id对应的通知栏消息。

可选的,心跳信息发送模块210所发送的心跳信息中可以包含指示所述用户设备的用户特征的指示信息;

可选的,所述指示所述用户设备的用户特征的指示信息可以包括:指示所述用户设备的用户代理信息的指示信息,或,所述用户设备的用户标识。

可选的,所述指示所述用户设备的用户代理信息的指示信息可以包括:用户设备的长连接的套接字的文件描述符。

本发明实施例提供的用户设备的硬件结构可与图14所示类似,包括:处理器,通信接口,存储器和通信总线;

处理器,用于执行程序;

存储器,用于存放程序;

其中,程序可具体用于:

接收消息推送服务器所推送的携带有消息id的消息,记录所接收的消息与对应的消息id的对应关系;

发送心跳信息;

在消息撤销服务器根据所述心跳信息,判断所述用户设备处于所配置的用户撤销范围内时,接收所述消息撤销服务器发送的消息撤销指令,所述消息撤销指令携带有需撤销的已推送消息的消息id;

根据所述消息撤销指令中携带的消息id,及记录的所接收的消息与对应的消息id的对应关系,删除与所述消息撤销指令中携带的消息id相应的消息。

本发明实施例可实现撤销已推送消息的目的。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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