一种即时通信的方法和装置与流程

文档序号:11292069阅读:226来源:国知局
一种即时通信的方法和装置与流程

本发明涉及计算机技术领域,尤其涉及一种即时通信的方法和装置。



背景技术:

在现有的即时通信技术中,用户自第一用户设备向第二用户设备发送即时通信消息时,通常使用的技术为:用户将即时通信消息自第一用户设备发送至第二网络设备,例如为开发者服务器,所述第二网络设备将所述即时通信消息发送至第一网络设备,例如为推送平台的推送服务器,所述第一网络设备再将所述即时通信消息发送至第二用户设备。在上述发送过程中,即时通信消息的传送路径较长,降低了即时通信消息发送的及时性,并且造成服务器端负荷较大,提高了运营成本。

因此如何提供一种即时通信技术,能够缩短即时通信消息的传送路径并能减轻服务端的负荷,成为本领域技术人员亟需解决的问题之一。



技术实现要素:

本发明的目的是提供一种即时通信的方法和装置。

根据本发明的一个方面,提供一种用于在第一用户设备中实现即时通信的方法,其中,该方法包括以下步骤:

确定拟向其发送即时通信消息的第二用户设备及其对应的设备令牌;

将所述设备令牌添加到拟向所述第二用户设备发送的消息中组成所述即时通信消息;

将所述即时通信消息发送至第一网络设备,以供所述第一网络设备根据所述设备令牌将所述即时通信消息发送至所述第二用户设备。

优选地,该方法包括:

在首次登陆时向第二网络设备上传所述第一用户设备的本机设备令牌并获取联系人所对应的设备令牌列表。

优选地,确定拟向其发送即时通信消息的第二用户设备对应的设备令牌包括:

自所述联系人所对应的设备令牌列表中确定所述第二用户设备所对应的设备令牌。

优选地,该方法包括:

关联所述第一用户设备的本机设备令牌及其设备相关信息,生成识别码。

优选地,所述设备相关信息包括以下至少任一项:

设备id;

设备名称;

设备所对应的电话号码。

优选地,该方法还包括:

当所述第二用户设备的设备令牌发生变更时,自所述第二网络设备重新获取所述第二用户设备的设备令牌。

优选地,该方法还包括:

向所述第二网络设备提交反馈信息,其中,所述反馈信息包括所述第一用户设备所对应的本机设备令牌;

获取反馈响应时,若所述第一用户设备与所述第二网络设备连接,自所述第二网络设备获取反馈响应,若所述第一用户设备未与所述第二网络设备连接,自所述第一网络设备获取反馈响应。

根据本发明的一个方面,还提供了一种用于在第一网络设备中辅助实现即时通信的方法,其中,该方法包括以下步骤:

接收自第一用户设备所发送的即时通信消息,其中,所述即时通信消息包括第二用户设备所对应的设备令牌;

根据所述设备令牌,识别所述即时通信消息拟发往的所述第二用户设备;

将所述即时通信消息发送至所述第二用户设备。

优选地,该方法包括:

获取待推送至所述第一用户设备的反馈响应,其中,所述反馈响应基于所述第一用户设备所提交的反馈信息生成;

若所述第一用户设备未与第二网络设备连接,根据所述第一用户设备所对应的本机设备令牌,向所述第一用户设备推送所述反馈响应,其中,所述第二网络设备为应用服务器。

优选地,所述第一网络设备为推送平台。

根据本发明的另一个方面,提供了一种用于在第一用户设备中实现即时通信的第一通信装置,其中,该装置包括:

用于确定拟向其发送即时通信消息的第二用户设备及其对应的设备令牌的装置;

用于将所述设备令牌添加到拟向所述第二用户设备发送的消息中组成所述即时通信消息的装置;

用于将所述即时通信消息发送至第一网络设备,以供所述第一网络设备根据所述设备令牌将所述即时通信消息发送至所述第二用户设备的装置。

优选地,该第一通信装置包括:

用于在首次登陆时向第二网络设备上传所述第一用户设备的本机设备令牌并获取联系人所对应的设备令牌列表的装置。

优选地,用于确定拟向其发送即时通信消息的第二用户设备对应的设备令牌的装置用于:

自所述联系人所对应的设备令牌列表中确定所述第二用户设备所对应的设备令牌。

优选地,该第一通信装置包括:

用于关联所述第一用户设备的本机设备令牌及其设备相关信息,生成识别码的装置。

优选地,所述设备相关信息包括以下至少任一项:

设备id;

设备名称;

设备所对应的电话号码。

优选地,该第一通信装置还包括:

用于当所述第二用户设备的设备令牌发生变更时,自所述第二网络设备重新获取所述第二用户设备的设备令牌的装置。

优选地,该第一通信装置还包括:

用于向所述第二网络设备提交反馈信息的装置,其中,所述反馈信息包括所述第一用户设备所对应的本机设备令牌;

用于获取反馈响应时,若所述第一用户设备与所述第二网络设备连接,自所述第二网络设备获取反馈响应,若所述第一用户设备未与所述第二网络设备连接,自所述第一网络设备获取反馈响应的装置。

根据本发明的另一个方面,还提供了一种用于在第一网络设备中辅助实现即时通信的第二通信装置,其中,该第二通信装置包括:

用于接收自第一用户设备所发送的即时通信消息的装置,其中,所述即时通信消息包括第二用户设备所对应的设备令牌;

用于根据所述设备令牌,识别所述即时通信消息拟发往的所述第二用户设备的装置;

用于将所述即时通信消息发送至所述第二用户设备的装置。

优选地,该第二通信装置包括:

用于获取待推送至所述第一用户设备的反馈响应的装置,其中,所述反馈响应基于所述第一用户设备所提交的反馈信息生成;

用于若所述第一用户设备未与第二网络设备连接,根据所述第一用户设备所对应的本机设备令牌,向所述第一用户设备推送所述反馈响应的装置,其中,所述第二网络设备为应用服务器。

优选地,所述第一网络设备为推送平台。

与现有技术相比,本发明具有以下优点:

用户自第一用户设备向第二用户设备传送即时通信消息时,先将所述即时通信消息自第一用户设备发送至第一网络设备,再经由第一网络设备发送至所述第二用户设备即可,中间无需再经由第二网络设备,缩短了即时通信消息的传输路径,缩短了消息的传输时间,减轻了网络服务器的负荷,降低了运营成本,提升了用户的使用体验。

进一步地,用户通过第一用户设备提交反馈消息时,同时向第二网络设备传送所述第一用户设备的设备令牌,应用程序在后台操作时,第一网络设备将反馈消息对应的反馈响应推送至第一用户设备,及时响应了用户的反馈,准确获取产品缺陷和潜在需求描述,提升了用户的使用体验。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1示出根据本发明一个方面的一种用于在第一用户设备中实现即时通信的第一通信装置示意图;

图2示出根据本发明一个方面的一种用于在第一网络设备中辅助实现即时通信的第二通信装置示意图;

图3示出根据本发明一个实施例的基于第一通信装置和第二通信装置共同实现即时通信的过程示意图;

图4示出根据本发明另一个方面的一种用于在第一用户设备中实现即时通信的方法流程图;

图5示出根据本发明另一个方面的一种用于在第一网络设备中辅助实现即时通信的方法流程图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性 实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由asic、fpga、dsp等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。

所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、pda等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloudcomputing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、vpn网络等。

需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。

后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。

这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。

应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。

应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。

这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。

还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。

下面结合附图对本发明作进一步详细描述。

图1示出根据本发明一个方面的一种用于在第一用户设备中实现即时通信的第一通信装置示意图。第一通信装置1包括:1)用于确定 拟向其发送即时通信消息的第二用户设备及其对应的设备令牌的装置,以下简称确定装置101;2)用于将所述设备令牌添加到拟向所述第二用户设备发送的消息中组成所述即时通信消息的装置,以下简称添加装置102;3)用于将所述即时通信消息发送至第一网络设备,以供所述第一网络设备根据所述设备令牌将所述即时通信消息发送至所述第二用户设备的装置,以下简称第一发送装置103。

在此,第一通信装置1位于该第一用户设备中,第一通信装置1包括的确定装置101、添加装置102和第一发送装置103也位于该第一用户设备中,该第一用户设备包括但不限于个人电脑、便携式电脑、平板电脑、智能手机、pda等用户设备。本领域技术人员应能理解上述用户设备仅为举例,现有的或者今后可能出现的移动设备如可适用于本发明也应包含在本发明保护范围内,并以引用的方式包含于此。

其中,确定装置101确定拟向其发送即时通信消息的第二用户设备及其对应的设备令牌。具体地,当用户需要自第一用户设备向第二用户设备发送即时通信消息时,所述第一用户设备根据用户发出的发送所述即时通信消息的指令,其上的第一通信装置1中的确定装置101通过例如匹配查找、精确搜索等方式自设备令牌列表中或者自调取的历史通信记录中确定所述第二用户设备以及与所述第二用户设备对应的设备令牌,以便第一网络设备根据所述设备令牌识别所述第二用户设备,将所述即时通信消息准确无误的发送至所述第二用户设备。在此,所述设备令牌列表例如获取自所述第二网络设备,其与该第一用户设备的本机联系人相对应,其中,所述设备令牌列表例如为设备相关信息与设备令牌一一对应的列表,第一用户设备可根据其设备相关信息在列表中查找到与该用户设备对应的设备令牌,其中,所述设备相关信息可以为设备id、设备名称或者设备对应的电话号码等。例如,用户自第一用户设备向第二用户设备发送即时通信消息,若第一用户设备已经获取到与第一用户设备中联系人电话号码对应的设备令牌列表,用户例如通过在即时通信消息发送界面的收件人一栏输入与第二用户设备对应的电话号码,在用户点击发送按钮时,第一网络通信装置1被触发,其上的确定装置101 通过收件人信息栏中输入的电话号码自所述设备令牌列表中进行搜索,确定与所述第二用户设备对应的所述设备令牌。

本领域技术人员应能理解上述确定拟向其发送即时通信消息的第二用户设备及其对应的设备令牌的方法仅为举例,其他现有的或者今后可能出现的确定设备令牌的方法如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。

添加装置102将所述设备令牌添加到拟向所述第二用户设备发送的消息中组成所述即时通信消息。具体地,当用户自第一用户设备向第二用户设备发送即时通信消息时,确定装置101自与第一用户设备联系人对应的设备令牌列表中或者自调取的历史通信记录中确定所述第二用户设备以及与所述第二用户设备对应的设备令牌,其中,所述设备令牌列表为用户首次注册登陆第一用户设备时从第一网络设备获取,或者通过添加本机联系人为好友等方式获取,其中,第一用户设备例如通过扫码或者搜索设备令牌、电话号码等方式添加该设备上的联系人为好友。添加装置102将所述设备令牌作为所述消息的目的地址信息,添加到所述消息的特定字段中组成所述即时通信消息。例如,用户自第一用户设备向第二用户设备发送即时通信消息,若第一用户设备已经获取到与第一用户设备中联系人对应的设备令牌列表,用户例如通过在搜索界面输入与第二用户设备对应的电话号码,然后再通过确定装置101与第一用户设备之间的交互,例如一次或者多次调用第一用户设备所提供的应用程序接口(api),自与本机联系人对应的所述设备令牌列表中,或者自调取的历史通信记录中进行搜索,确定所述第二用户设备以及与所述第二用户设备对应的设备令牌,其中,所述搜索界面例如为即时通信消息收件人信息栏,该搜索界面的搜索操作例如在用户点击发送按钮时被触发;添加装置102例如通过打包、封装或者组成符合特定结构的字符串等方式,将确定装置101确定的所述第二用户设备的设备令牌添加到拟向第二用户设备发送的消息的特定字段中,组成所述即时通信消息,所述第一通信装置1将所述即时通信消息发送至第一网络设备,例如,第一网络设备可以为网络推送服务器apns(applepushnotification service,苹果推送通知服务)。

在此,所述第二用户设备的设备令牌作为待发送消息的目的地址信息添加到所述待发送消息中组成所述即时通信消息,以便后续设备根据所述即时通信消息中的设备令牌确定所述即时通信消息的目的地址。

本领域技术人员应能理解上述添加设备令牌的方式仅为举例,其他现有的或者今后可能出现的添加设备令牌的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。

第一发送装置103将所述即时通信消息发送至第一网络设备,以供所述第一网络设备根据所述设备令牌将所述即时通信消息发送至所述第二用户设备。具体地,当用户自第一用户设备向第二用户设备发送即时通信消息时,确定装置101通过例如匹配查找、精确搜索等方式自与本机联系人对应的所述设备令牌列表中或者自调取的历史通信记录中确定所述第二用户设备以及与所述第二用户设备对应的设备令牌,添加装置102将所述设备令牌通过例如打包、封装或者组成符合特定结构的字符串等方式添加至拟发送至第二用户设备的消息的特定字段中组成所述即时通信消息,第一发送装置103通过与第一网络设备间的交互,例如,通过一次或多次调用第一网络设备所提供的应用程序接口(api)或其他约定的通信方式,将所述即时通信消息发送至第一网络设备,所述第一网络设备识别所述即时通信消息中目的用户设备的设备令牌,然后根据该设备令牌将所述即时通信消息发送至所述目的用户设备,即第二用户设备。例如,用户自第一用户设备向第二用户设备发送即时通信消息,若第一用户设备已经获取到与第一用户设备中联系人对应的设备令牌列表,确定装置101例如根据第一用户设备中已经存储的与第二用户设备对应的设备名称,通过与所述第一用户设备的交互一次或者多次调用所述设备令牌列表,在所述设备令牌列表中进行搜索,确定与所述第二用户设备的所述设备名称对应的设备令牌,添加装置102例如通过将第一用户设备拟发往第二用户设备的消息与所述第二用户设备的设备令牌等标识组成符合特定结构的字符串的方式,将确定装置101确定的所述第二用户设备的设备令牌添加到拟向第二用户设备发送的消息 中,组成所述字符串格式的所述即时通信消息,通过第一发送装置103发送至第一网络设备,例如所述第一网络设备为网络推送服务器,网络推送服务器识别所述第二用户设备的设备令牌,根据所述设备令牌与所述第二用户设备之间建立连接,以便将所述即时通信消息准确发送至所述第二用户设备。

在此,用户欲将消息自第一用户设备发送至第二用户设备,第一用户设备中的第一通信装置1基于所述第二用户设备的用户设备信息,例如设备名称,设备所对应的电话号码等信息,在设备令牌列表中确定所述第二用户设备的设备令牌,将所述设备令牌和拟发送至第二用户设备的消息组合成目的地址明确的即时通信消息,然后将所述即时通信消息发送至第一网络设备,完成将即时通信消息自第一用户设备到第一网络设备的发送过程。在此过程中,仅用户首次登陆时,第一用户设备自第二网络设备获取设备令牌列表,所述即时通信消息的发送过程自第一用户设备经由第一网络设备发送至第二用户设备即可,无需再经过第二网络设备,缩短了传送链路,缓解了所述第二网络设备的负荷,减少了网络拥塞,降低了运营成本。

优选地,第一通信装置1还包括:用于在首次登陆时向第二网络设备上传所述第一用户设备的本机设备令牌并获取联系人所对应的设备令牌列表的装置,以下简称上传装置(未示出)。具体地,所述第一用户设备向第一网络设备注册,注册成功后,所述第一网络设备将第一用户设备的设备令牌返回给第一用户设备,用户首次登陆所述第一用户设备时,所述上传装置将所述设备令牌、与第一用户设备对应的电话号码以及设备的标识、名称及软件版本或者系统版本用户名等上传至第二网络设备,并添加至存储在所述第二网络设备的设备令牌列表中,第一用户设备自所述第二网络设备获取与本机联系人对应的设备令牌列表,其中,所述设备令牌列表例如为设备相关信息与设备令牌一一对应的列表,确定装置101通过在该设备令牌列表中进行查询或者搜索可快速查找确定与第二用户设备对应的设备令牌,其中,所述设备相关信息可以为设备id、设备名称或者设备对应的电话号码。较佳地,所述与第一用 户设备对应的设备令牌自第二网络设备获取,用户首次登陆所述第一用户设备时,所述上传装置将所述与第一用户设备对应的设备令牌上传至所述第二网络设备。较佳地,所述与第一用户设备对应的设备令牌来自所述第一用户设备本身的设备标识,例如根据该第一用户设备的设备唯一标识码等生成,或者,直接将该第一用户设备的设备唯一标识码等作为该第一用户设备的设备令牌。进一步地,当因第二用户设备的设备令牌发生变更导致所述即时通信消息发送失败时,重新获取所述第二用户设备的设备令牌,所述上传装置将所述第二用户设备的设备令牌上传至所述第二网络设备,第一用户设备重新自所述第二网络设备获取与本机联系人对应的设备令牌列表。

优选地,所述确定装置101自所述联系人所对应的设备令牌列表中确定所述第二用户设备所对应的设备令牌。具体地,若已经获取到与第一用户设备中联系人对应的设备令牌列表,确定装置101可以自所述联系人对应的设备令牌列表中通过例如匹配查找、精确搜索等方式确定与所述第二用户设备对应的设备令牌,例如根据用户在收信人栏输入的电话号码通过在第一用户设备中一次或者多次调用应用程序接口(api)等方式调取所述设备令牌列表,并在所述设备令牌列表中根据所述电话号码进行匹配查找,确定识别与所述电话号码对应的第二用户设备的设备令牌。优选地,确定装置101还可以通过在用户设备的历史通信联系人记录列表或者用户常用联系人记录列表中根据电话号码或者用户设备名称确定所述第二用户设备所对应的设备令牌,所述历史通信记录列表例如是用户在一定时间阈值内发送即时通信消息的通信联系人记录列表,用户常用联系人记录列表可以是用户自己设置的常用联系人记录列表,也可以是系统根据用户的使用频率自动为用户设置的常用联系人记录列表。

优选地,第一通信装置1包括:用于关联所述第一用户设备的本机设备令牌及其设备相关信息,生成识别码的装置,以下简称关联装置(未示出)。具体地,获取到所述第一用户设备的设备令牌后,关联装置将第一用户设备设备名称、电话号码或者设备id与本机设备令牌进行关 联,生成第一用户设备的识别码,例如二维码;优选地,第二用户设备扫描所述第一用户设备的二维码,互相成为联系人,获取彼此的设备信息,若所述二维码的信息中的电话号码与第二用户设备通信录中记录的与第一用户设备对应的电话号码匹配,第二用户设备通过所述第二用户设备通信录中记录的与该电话号码对应的联系人名称,获得使用第一用户设备的联系人名称,并将所述第一用户设备的联系人名称与第一用户设备的设备令牌的关联,同样地,第一用户设备也将第二用户设备的联系人名称与第二设备的设备令牌进行关联,生成本地联系人设备令牌列表,用户自第一用户设备向第二用户设备发送即时通信消息时,只需在收信人那一栏中输入联系人名称,第一通信装置1可以直接根据所述联系人名称确定所述第二用户设备的设备令牌,并根据所述设备令牌将所述即时通信消息经由第一网络设备,例如网络推送服务器,发往第二用户设备。其中,所述本地联系人设备令牌列表可以在首次登陆或者退出前进行同步,进一步地,当用户设备设备令牌变更时,所述关联解除,重新获取设备令牌之后再进行上述关联操作。在此,所述设备相关信息包括但不限于:1)设备id,可以是设备唯一标识;2)设备名称,用户为用户设备定义的名称;3)设备所对应的电话号码,所述设备常用的电话号码。

本领域技术人员应能理解上述设备相关信息仅为举例,其他现有的或者今后可能出现的设备相关信息如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。

优选地,第一通信装置还包括:用于当所述第二用户设备的设备令牌发生变更时,自所述第二网络设备重新获取所述第二用户设备的设备令牌的装置,以下简称第一获取装置(未示出)。具体地,例如当第二用户设备重装系统或者用户更换手机等操作时,第二用户设备的所述设备令牌失效,用户设备令牌失效会导致发往所述第二用户设备的所述即时通信消息发送失败,第二用户设备重新获取与其对应的设备令牌并上传至第二网络设备,第一获取装置自所述第二网络设备重新获取所述第二用户设备的设备令牌。

优选地,所述第一通信装置还包括:1)用于向所述第二网络设备提交反馈信息的装置,以下简称提交装置(未示出),其中,所述反馈信息包括所述第一用户设备所对应的本机设备令牌;2)用于获取反馈响应时,若所述第一用户设备与所述第二网络设备连接,自所述第二网络设备获取反馈响应,若所述第一用户设备未与所述第二网络设备连接,自所述第一网络设备获取反馈响应的装置,以下简称第二获取装置(未示出)。

其中,所述提交装置向所述第二网络设备提交反馈信息,其中,所述反馈信息包括所述第一用户设备所对应的本机设备令牌。具体地,例如第一用户设备获取到本机设备令牌后,当用户自第一用户设备通过所述提交装置向所述第二网络设备提交用户意见反馈信息时,同时将用户在所述设备令牌添加到所述用户意见反馈信息中组成反馈信息,用户将所述反馈信息传送给所述第二网络设备。例如,第一网络设备例如为网络推送服务器apns,所述第二网络设备例如为开发者服务器时,在ios系统中,第一用户设备向网络推送服务器apns注册,注册成功后,apns将第一用户设备的设备令牌返回给第一用户设备,用户自第一用户设备通过所述提交装置向开发者服务器传送反馈信息,其中所述反馈信息包括但不限于用户意见反馈和第一用户设备的设备令牌,产品经理或者测试人员收到反馈信息后,向第一用户设备发送相应的反馈响应。

获取反馈响应时,若所述第一用户设备与所述第二网络设备连接,所述第二获取装置自所述第二网络设备获取反馈响应,若所述第一用户设备未与所述第二网络设备连接,所述第二获取装置自所述第一网络设备获取反馈响应。具体地,用户自第一用户设备通过所述提交装置向所述第二网络设备提交反馈信息,其中,所述反馈信息包括但不限于用户意见反馈信息和第一用户设备的设备令牌,产品经理或者测试人员收到所述反馈信息后,需要判断所述第一用户设备与所述第二网络设备是否连接,若所述第一用户设备与所述第二网络设备连接,所述第二获取装置自所述第二网络设备获取反馈响应;若所述第一用户设备未与所述第二网络设备连接,则所述第二获取装置自所述第一网络设备获取反馈响 应。例如,在ios系统中,第一用户设备向第一网络设备,例如为网络推送服务器apns,注册,注册成功后,apns将第一用户设备的设备令牌返回给第一用户设备,当用户通过一应用程序自第一用户设备通过所述提交装置向第二网络设备,例如为开发者服务器,开发者服务器传送反馈信息时,其中所述反馈信息包括但不限于用户意见反馈和第一用户设备的设备令牌,产品经理或者测试人员收到反馈信息后,向所述第一用户设备发送相应的反馈响应,所述第二获取装置判断第一用户设备是否与开发者服务器连接,若第一用户设备与所述开发者服务器连接,表示用户停留在当前应用程序,开发者服务器通过当前应用程序向用户发送反馈响应内容;若第一用户设备未与所述开发者服务器连接,表示所述应用程序正在后台进行操作,用户未正在使用所述应用程序,网络推送服务器向用户推送所述反馈响应内容。

图2示出根据本发明一个方面的一种用于在第一网络设备中辅助实现即时通信的第二通信装置示意图,第二通信装置2例如位于第一网络设备中,其与用户设备之间通过网络进行相互通信。

其中,所述第一通信装置1通过网络与所述第二通信装置2进行交互通信,共同完成即时通信的发送。第一通信装置1位于第一用户设备中,第二通信装置2位于第一网络设备中。

第二通信装置2包括:1)用于接收自第一用户设备所发送的即时通信消息的装置,以下简称接收装置201,其中,所述即时通信消息包括第二用户设备所对应的设备令牌;2)用于根据所述设备令牌,识别所述即时通信消息拟发往的所述第二用户设备的装置,以下简称识别装置202;3)用于将所述即时通信消息发送至所述第二用户设备的装置,以下简称第二发送装置203。

其中,接收装置201接收自第一用户设备所发送的即时通信消息,其中,所述即时通信消息包括第二用户设备所对应的设备令牌。具体地,当用户自第一用户设备向第二用户设备发送即时通信消息时,第一用户设备中的第一通信装置1自设备令牌列表中通过例如匹配查找、精确搜索或者调取历史通信记录等方式确定与所述第二用户设备对应的设备 令牌;将所述设备令牌通过例如打包、封装或者组成符合特定结构的字符串等方式添加至拟发送至第二用户设备的消息中组成所述即时通信消息;然后将所述即时通信消息发送至第一网络设备,第一网络设备中的接收装置201通过与该第一通信装置1的交互,例如通过一次或多次调用该第一通信装置1所在的第一用户设备所提供的应用程序接口(api),或通过其他约定的通信方式,接收第一用户设备向所述第一网络设备发送的即时通信消息,其中,所述即时通信消息中包括第二用户设备所对应的设备令牌。

识别装置202根据所述设备令牌,识别所述即时通信消息拟发往的所述第二用户设备。具体地,所述识别装置202对接收装置201自第一用户设备接收到的所述即时通信消息进行分析,根据一定的规则或者识别方法分析出所述即时通信消息拟发往的第二用户设备的设备令牌,并且基于所述设备令牌进行寻址,识别所述即时通信消息拟发往的所述第二用户设备。例如,所述第一网络设备例如为网络推送服务器apns,apns接收到第一用户设备发送的所述即时通信消息后,对所述即时通信消息进行分析,例如,从该即时通信消息的特定字段中,提取出设备令牌,并根据该设备令牌,识别出与所述设备令牌对应的第二用户设备,所述网络推送服务器apns与第二用户设备建立连接,确保将所述即时通信消息准确的推送到所述第二用户设备。

第二发送装置203将所述即时通信消息发送至所述第二用户设备。具体地,接收装置201接收自第一用户设备所发送的包括第二用户设备所对应的设备令牌的即时通信消息后,识别装置202分析出所述即时通信消息拟发往的第二用户设备的设备令牌,并且基于所述设备令牌进行寻址,识别所述即时通信消息拟发往的所述第二用户设备,第二发送装置203将所述即时通信消息发送至所述第二用户设备。例如,所述第一网络设备例如为网络推送服务器apns,若用户自第一用户设备向第二用户设备发送即时消息,确定装置101自第二网络设备,例如开发者服务器,获取到的与第一用户设备联系人对应的设备令牌列表确定出第二用户设备的设备令牌,添加装置102将所述设备令牌添加至拟向第二用 户设备发送的消息中组成即时通信消息,第一发送装置103直接将所述即时通信消息发送至所述网络推送服务器apns,所述网络推送服务器apns中的接收装置201接收到第一用户设备所发送的包括第二用户设备的设备令牌的即时通信消息,识别装置202根据即时通信消息特定字段中的设备令牌,识别出接收所述即时通信消息的第二用户设备,第二发送装置203通过网络推送服务器apns直接将所述即时通信消息推送至第二用户设备,完成所述即时通信消息经由网络推送服务器自第一用户设备向第二用户设备的传送。

优选地,所述第二通信装置2包括:1)用于获取待推送至所述第一用户设备的反馈响应的装置,以下简称第三获取装置(未示出),其中,所述反馈响应基于所述第一用户设备所提交的反馈信息生成;2)用于若所述第一用户设备未与第二网络设备连接,根据所述第一用户设备所对应的本机设备令牌,向所述第一用户设备推送所述反馈响应的装置,以下简称推送装置(未示出),其中,所述第二网络设备为应用服务器。

其中,第三获取装置获取待推送至所述第一用户设备的反馈响应,其中所述反馈响应基于所述第一用户设备所提交的反馈信息生成。具体地,所述第一用户设备向第一网络设备例如网络推送服务器注册,注册成功后,所述网络推送服务器将第一用户设备的设备令牌返回至第一用户设备,当用户自第一用户设备通过所述提交装置向所述第二网络设备提交用户意见反馈信息时,同时将用户在所述设备令牌添加到所述用户意见反馈信息中组成反馈信息,用户将所述反馈信息传送给所述第二网络设备,产品经理或者测试人员收到所述反馈信息后,针对所述反馈信息给出反馈响应,若所述第一用户设备与第二网络设备连接,表示第一用户设备正在执行当前应用程序,所述反馈响应通过所述第二网络设备发送至所述第一用户设备,则所述第三获取装置获取不到所述反馈响应;若所述第一用户设备未与第二网络设备连接,表示第一用户设备未在执行当前应用程序,则所述第三获取装置获取待推送至所述第一用户设备的反馈响应所述反馈消息。

若所述第一用户设备未与第二网络设备连接,推送装置根据所述第一用户设备所对应的本机设备令牌,向所述第一用户设备推送所述反馈响应,其中,所述第二网络设备为应用服务器。具体地,例如所述第一网络设备为网络推送服务器,所述第二网络设备为开发者服务器,若所述第一用户设备未与开发者服务器连接,第一用户设备未在执行当前应用程序,则所述第三获取装置获取待推送至所述第一用户设备的反馈响应所述反馈消息,推送装置根据所述第一用户设备所对应的本机设备令牌,通过网络推送服务器将所述反馈响应直接推送至所述第一用户设备。

在此,所述第一网络设备为推送平台,即时通信消息经由推送平台直接推送至第二用户设备即可,确保所述将即时通信消息准确及时的发送至第二用户设备。

以下用一具体实施例阐述第一通信装置和第二通信装置合作共同实现即时通信的过程。

例如,如图3所示,图3示出根据本发明一个实施例的基于第一通信装置和第二通信装置共同实现即时通信的过程示意图。

例如,所述第一网络设备为网络推送服务器,所述第二网络设备为开发者服务器。第一用户设备向网络推送服务器注册,注册成功后,推送服务器将第一用户设备的设备令牌返回给第一用户设备,用户首次登陆所述第一用户设备时,第一用户设备将本机设备令牌上传至开发者服务器,并添加至存储在开发者服务器的设备令牌列表中,第一用户设备自所开发者服务器获取与本机联系人对应的设备令牌列表,其中,所述设备令牌列表例如为本机联系人电话号码或者联系人姓名与设备令牌一一对应的列表。当用户自第一用户设备向第二用户设备发送即时通信消息时,用户例如在收件人一栏输入第二用户设备对应的联系人的电话号码或者联系人姓名,第一用户设备上的第一通信装置1的确定装置101根据所述联系人的电话号码或者联系人姓名在设备令牌列表中查找并确定第二用户设备的设备令牌,第一通信装置1的添加装置102将所述设备令牌添加到待发送消息中组成即时通信消息,第一通信装置1的第 一发送装置103将所述即时通信消息发送至网络推送服务器,网络推送服务器上的第二通信装置2的接收装置201接收到自第一用户设备发送至网络推送服务器的即时通信消息,第二通信装置2的识别装置202识别第二用户设备的设备令牌后,第二通信装置2的第二发送装置203将所述即时通信消息自网络推送服务器推送至第二用户设备。在此过程中,所述即时通信消息自第一用户设备经由网络推送服务器推送至第二用户设备,无需再经过开发者服务器,缩短了即时通信消息的传输路径,缩短了消息的传输时间,减轻了开发者服务器的负荷,降低了运营成本。

在此,用户自第一用户设备向第二用户设备传送即时通信消息时,先将所述即时通信消息自第一用户设备发送至第一网络设备,再经由第一网络设备发送至所述第二用户设备即可,中间无需再经由第二网络设备,缩短了即时通信消息的传输路径,缩短了消息的传输时间,减轻了网络服务器的负荷,降低了运营成本。

图4示出根据本发明另一个方面的一种用于在第一用户设备中实现即时通信的方法流程图。

其中,在步骤s401中,第一通信装置1确定拟向其发送即时通信消息的第二用户设备及其对应的设备令牌。具体地,当用户需要自第一用户设备向第二用户设备发送即时通信消息时,所述第一用户设备根据用户发出的发送所述即时通信消息的指令,在步骤s401中,第一通信装置1通过例如匹配查找、精确搜索等方式自设备令牌列表中或者自调取的历史通信记录中确定所述第二用户设备以及与所述第二用户设备对应的设备令牌,以便第一网络设备根据所述设备令牌识别所述第二用户设备,将所述即时通信消息准确无误的发送至所述第二用户设备。在此,所述设备令牌列表例如获取自所述第二网络设备,其与该第一用户设备的本机联系人相对应,其中,所述设备令牌列表例如为设备相关信息与设备令牌一一对应的列表,第一用户设备可根据其设备相关信息在列表中查找到与该用户设备对应的设备令牌,其中,所述设备相关信息可以为设备id、设备名称或者设备对应的电话号码等。例如,用户自第一用户设备向第二用户设备发送即时通信消息,若第一用户设备已经获取到 与第一用户设备中联系人电话号码对应的设备令牌列表,用户例如通过在即时通信消息发送界面的收件人一栏输入与第二用户设备对应的电话号码,在用户点击发送按钮时,第一网络通信装置1被触发,其上的在步骤s401中,第一通信装置1通过收件人信息栏中输入的电话号码自所述设备令牌列表中进行搜索,确定与所述第二用户设备对应的所述设备令牌。

本领域技术人员应能理解上述确定拟向其发送即时通信消息的第二用户设备及其对应的设备令牌的方法仅为举例,其他现有的或者今后可能出现的确定设备令牌的方法如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。

在步骤s402中,第一通信装置1将所述设备令牌添加到拟向所述第二用户设备发送的消息中组成所述即时通信消息。具体地,当用户自第一用户设备向第二用户设备发送即时通信消息时,在步骤s401中,第一通信装置1自与第一用户设备联系人对应的设备令牌列表中或者自调取的历史通信记录中确定所述第二用户设备以及与所述第二用户设备对应的设备令牌,其中,所述设备令牌列表为用户首次注册登陆第一用户设备时从第一网络设备获取,或者通过添加本机联系人为好友等方式获取,其中,第一用户设备例如通过扫码或者搜索设备令牌、电话号码等方式添加该设备上的联系人为好友。在步骤s402中,第一通信装置1将所述设备令牌作为所述消息的目的地址信息,添加到所述消息的特定字段中组成所述即时通信消息。例如,用户自第一用户设备向第二用户设备发送即时通信消息,若第一用户设备已经获取到与第一用户设备中联系人对应的设备令牌列表,用户例如通过在搜索界面输入与第二用户设备对应的电话号码,然后再通过第一通信装置1与第一用户设备之间的交互,例如一次或者多次调用第一用户设备所提供的应用程序接口(api),自与本机联系人对应的所述设备令牌列表中,或者自调取的历史通信记录中进行搜索,确定所述第二用户设备以及与所述第二用户设备对应的设备令牌,其中,所述搜索界面例如为即时通信消息收件人信息栏,该搜索界面的搜索操作例如在用户点击发送按钮时被触发;在 步骤s402中,第一通信装置1例如通过打包、封装或者组成符合特定结构的字符串等方式,将第一通信装置1确定的所述第二用户设备的设备令牌添加到拟向第二用户设备发送的消息的特定字段中,组成所述即时通信消息,所述第一通信装置1将所述即时通信消息发送至第一网络设备,例如,第一网络设备可以为网络推送服务器apns(applepushnotificationservice,苹果推送通知服务)。

在此,所述第二用户设备的设备令牌作为待发送消息的目的地址信息添加到所述待发送消息中组成所述即时通信消息,以便后续设备根据所述即时通信消息中的设备令牌确定所述即时通信消息的目的地址。

本领域技术人员应能理解上述添加设备令牌的方式仅为举例,其他现有的或者今后可能出现的添加设备令牌的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。

在步骤s403中,第一通信装置1将所述即时通信消息发送至第一网络设备,以供所述第一网络设备根据所述设备令牌将所述即时通信消息发送至所述第二用户设备。具体地,当用户自第一用户设备向第二用户设备发送即时通信消息时,在步骤s401中,第一通信装置1通过例如匹配查找、精确搜索等方式自与本机联系人对应的所述设备令牌列表中或者自调取的历史通信记录中确定所述第二用户设备以及与所述第二用户设备对应的设备令牌,在步骤s402中,第一通信装置1将所述设备令牌通过例如打包、封装或者组成符合特定结构的字符串等方式添加至拟发送至第二用户设备的消息的特定字段中组成所述即时通信消息,在步骤s403中,第一通信装置1通过与第一网络设备间的交互,例如,通过一次或多次调用第一网络设备所提供的应用程序接口(api)或其他约定的通信方式,将所述即时通信消息发送至第一网络设备,所述第一网络设备识别所述即时通信消息中目的用户设备的设备令牌,然后根据该设备令牌将所述即时通信消息发送至所述目的用户设备,即第二用户设备。例如,用户自第一用户设备向第二用户设备发送即时通信消息,若第一用户设备已经获取到与第一用户设备中联系人对应的设备令牌列表,在步骤s401中,第一通信装置1例如根据第一用户设备中已经 存储的与第二用户设备对应的设备名称,通过与所述第一用户设备的交互一次或者多次调用所述设备令牌列表,在所述设备令牌列表中进行搜索,确定与所述第二用户设备的所述设备名称对应的设备令牌,在步骤s402中,第一通信装置1例如通过将第一用户设备拟发往第二用户设备的消息与所述第二用户设备的设备令牌等标识组成符合特定结构的字符串的方式,将第一通信装置1确定的所述第二用户设备的设备令牌添加到拟向第二用户设备发送的消息中,组成所述字符串格式的所述即时通信消息,通过在步骤s403中,第一通信装置1发送至第一网络设备,例如所述第一网络设备为网络推送服务器,网络推送服务器识别所述第二用户设备的设备令牌,根据所述设备令牌与所述第二用户设备之间建立连接,以便将所述即时通信消息准确发送至所述第二用户设备。

在此,用户欲将消息自第一用户设备发送至第二用户设备,第一用户设备中的第一通信装置1基于所述第二用户设备的用户设备信息,例如设备名称,设备所对应的电话号码等信息,在设备令牌列表中确定所述第二用户设备的设备令牌,将所述设备令牌和拟发送至第二用户设备的消息组合成目的地址明确的即时通信消息,然后将所述即时通信消息发送至第一网络设备,完成将即时通信消息自第一用户设备到第一网络设备的发送过程。在此过程中,仅用户首次登陆时,第一用户设备自第二网络设备获取设备令牌列表,所述即时通信消息的发送过程自第一用户设备经由第一网络设备发送至第二用户设备即可,无需再经过第二网络设备,缩短了传送链路,缓解了所述第二网络设备的负荷,减少了网络拥塞,降低了运营成本。

优选地,该方法还包括步骤s404(未示出)。在步骤s404中,第一通信装置1在首次登陆时向第二网络设备上传所述第一用户设备的本机设备令牌并获取联系人所对应的设备令牌列表。具体地,所述第一用户设备向第一网络设备注册,注册成功后,所述第一网络设备将第一用户设备的设备令牌返回给第一用户设备,用户首次登陆所述第一用户设备时,在步骤s404中,第一通信装置1将所述设备令牌、与第一用户设备对应的电话号码以及设备的标识、名称及软件版本或者系统版本用 户名等上传至第二网络设备,并添加至存储在所述第二网络设备的设备令牌列表中,第一用户设备自所述第二网络设备获取与本机联系人对应的设备令牌列表,其中,所述设备令牌列表例如为设备相关信息与设备令牌一一对应的列表,在步骤s401中,第一通信装置1通过在该设备令牌列表中进行查询或者搜索可快速查找确定与第二用户设备对应的设备令牌,其中,所述设备相关信息可以为设备id、设备名称或者设备对应的电话号码。较佳地,所述与第一用户设备对应的设备令牌自第二网络设备获取,用户首次登陆所述第一用户设备时,在步骤s404中,第一通信装置1将所述与第一用户设备对应的设备令牌上传至所述第二网络设备。较佳地,所述与第一用户设备对应的设备令牌来自所述第一用户设备本身的设备标识,例如根据该第一用户设备的设备唯一标识码等生成,或者,直接将该第一用户设备的设备唯一标识码等作为该第一用户设备的设备令牌。进一步地,当因第二用户设备的设备令牌发生变更导致所述即时通信消息发送失败时,重新获取所述第二用户设备的设备令牌,在步骤s404中,第一通信装置1将所述第二用户设备的设备令牌上传至所述第二网络设备,第一用户设备重新自所述第二网络设备获取与本机联系人对应的设备令牌列表。

优选地,所述步骤s401还包括子步骤s4011(未示出)。在子步骤s4011中,第一通信装置1自所述联系人所对应的设备令牌列表中确定所述第二用户设备所对应的设备令牌。具体地,若已经获取到与第一用户设备中联系人对应的设备令牌列表,在子步骤s4011中,第一通信装置1可以自所述联系人对应的设备令牌列表中通过例如匹配查找、精确搜索等方式确定与所述第二用户设备对应的设备令牌,例如根据用户在收信人栏输入的电话号码通过在第一用户设备中一次或者多次调用应用程序接口(api)等方式调取所述设备令牌列表,并在所述设备令牌列表中根据所述电话号码进行匹配查找,确定识别与所述电话号码对应的第二用户设备的设备令牌。优选地,在子步骤s4011中,第一通信装置1还可以通过在用户设备的历史通信联系人记录列表或者用户常用联系人记录列表中根据电话号码或者用户设备名称确定所述第二用户设 备所对应的设备令牌,所述历史通信记录列表例如是用户在一定时间阈值内发送即时通信消息的通信联系人记录列表,用户常用联系人记录列表可以是用户自己设置的常用联系人记录列表,也可以是系统根据用户的使用频率自动为用户设置的常用联系人记录列表。

优选地,该方法还包括步骤s405。在步骤s405中,第一通信装置1关联所述第一用户设备的本机设备令牌及其设备相关信息,生成识别码。具体地,获取到所述第一用户设备的设备令牌后,在步骤s405中,第一通信装置1将第一用户设备的设备名称、电话号码或者设备id与本机设备令牌进行关联,生成第一用户设备的识别码,例如二维码;优选地,第二用户设备扫描所述第一用户设备的二维码,互相成为联系人,获取彼此的设备信息,若所述二维码的信息中的电话号码与第二用户设备通信录中记录的与第一用户设备对应的电话号码匹配,第二用户设备通过所述第二用户设备通信录中记录的与该电话号码对应的联系人名称,获得使用第一用户设备的联系人名称,并将所述第一用户设备的联系人名称与第一用户设备的设备令牌的关联,同样地,第一用户设备也将第二用户设备的联系人名称与第二设备的设备令牌进行关联,生成本地联系人设备令牌列表,用户自第一用户设备向第二用户设备发送即时通信消息时,只需在收信人那一栏中输入联系人名称,第一通信装置1可以直接根据所述联系人名称确定所述第二用户设备的设备令牌,并根据所述设备令牌将所述即时通信消息经由第一网络设备,例如网络推送服务器,发往第二用户设备。其中,所述本地联系人设备令牌列表可以在首次登陆或者退出前进行同步,进一步地,当用户设备设备令牌变更时,所述关联解除,重新获取设备令牌之后再进行上述关联操作。在此,所述设备相关信息包括但不限于:1)设备id,可以是设备唯一标识;2)设备名称,用户为用户设备定义的名称;3)设备所对应的电话号码,所述设备常用的电话号码。

本领域技术人员应能理解上述设备相关信息仅为举例,其他现有的或者今后可能出现的设备相关信息如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用的方式包含于此。

优选地,该方法还包括步骤s406。在步骤s406中,当所述第二用户设备的设备令牌发生变更时,第一通信装置1自所述第二网络设备重新获取所述第二用户设备的设备令牌。具体地,例如当第二用户设备重装系统或者用户更换手机等操作时,第二用户设备的所述设备令牌失效,用户设备令牌失效会导致发往所述第二用户设备的所述即时通信消息发送失败,第二用户设备重新获取与其对应的设备令牌并上传至第二网络设备,在步骤s406中,第一通信装置1自所述第二网络设备重新获取所述第二用户设备的设备令牌。

优选地,该还包括步骤s407和步骤s408。在步骤s407中,第一通信装置1向所述第二网络设备提交反馈信息,其中,所述反馈信息包括所述第一用户设备所对应的本机设备令牌;在步骤s408中,第一通信装置1获取反馈响应时,若所述第一用户设备与所述第二网络设备连接,自所述第二网络设备获取反馈响应,若所述第一用户设备未与所述第二网络设备连接,自所述第一网络设备获取反馈响应。

其中,在步骤s407中,第一通信装置1向所述第二网络设备提交反馈信息,其中,所述反馈信息包括所述第一用户设备所对应的本机设备令牌。具体地,例如第一用户设备获取到本机设备令牌后,当用户自第一用户设备通过第一通信装置1经由步骤s407向所述第二网络设备提交用户意见反馈信息时,同时将用户在所述设备令牌添加到所述用户意见反馈信息中组成反馈信息,用户将所述反馈信息传送给所述第二网络设备。例如,第一网络设备例如为网络推送服务器apns,所述第二网络设备例如为开发者服务器时,在ios系统中,第一用户设备向网络推送服务器apns注册,注册成功后,apns将第一用户设备的设备令牌返回给第一用户设备,用户自第一用户设备通过第一通信装置1在步骤s407中向开发者服务器传送反馈信息,其中所述反馈信息包括但不限于用户意见反馈和第一用户设备的设备令牌,产品经理或者测试人员收到反馈信息后,向第一用户设备发送相应的反馈响应。

获取反馈响应时,若所述第一用户设备与所述第二网络设备连接,在步骤s408中,第一通信装置1自所述第二网络设备获取反馈响应, 若所述第一用户设备未与所述第二网络设备连接,在步骤s408中,第一通信装置1自所述第一网络设备获取反馈响应。具体地,用户自第一用户设备通过步骤s407向所述第二网络设备提交反馈信息,其中,所述反馈信息包括但不限于用户意见反馈信息和第一用户设备的设备令牌,产品经理或者测试人员收到所述反馈信息后,需要判断所述第一用户设备与所述第二网络设备是否连接,若所述第一用户设备与所述第二网络设备连接,在步骤s408中,第一通信装置1自所述第二网络设备获取反馈响应;若所述第一用户设备未与所述第二网络设备连接,在步骤s408中,第一通信装置1自所述第一网络设备获取反馈响应。例如,在ios系统中,第一用户设备向第一网络设备,例如为网络推送服务器apns,注册,注册成功后,apns将第一用户设备的设备令牌返回给第一用户设备,当用户通过一应用程序自第一用户设备通过第一通信装置1在步骤s407中向第二网络设备,例如为开发者服务器,开发者服务器传送反馈信息时,其中所述反馈信息包括但不限于用户意见反馈和第一用户设备的设备令牌,产品经理或者测试人员收到反馈信息后,向所述第一用户设备发送相应的反馈响应,在步骤s408中,第一通信装置1判断第一用户设备是否与开发者服务器连接,若第一用户设备与所述开发者服务器连接,表示用户停留在当前应用程序,开发者服务器通过当前应用程序向用户发送反馈响应内容;若第一用户设备未与所述开发者服务器连接,表示所述应用程序正在后台进行操作,用户未正在使用所述应用程序,网络推送服务器向用户推送所述反馈响应内容。

图5示出根据本发明另一个方面的一种用于在第一网络设备中辅助实现即时通信的方法流程图。

其中,在步骤s501中,第二通信装置2接收自第一用户设备所发送的即时通信消息,其中,所述即时通信消息包括第二用户设备所对应的设备令牌。具体地,当用户自第一用户设备向第二用户设备发送即时通信消息时,第一用户设备中的第一通信装置1自设备令牌列表中通过例如匹配查找、精确搜索或者调取历史通信记录等方式确定与所述第二用户设备对应的设备令牌;将所述设备令牌通过例如打包、封装或者组成 符合特定结构的字符串等方式添加至拟发送至第二用户设备的消息中组成所述即时通信消息;然后将所述即时通信消息发送至第一网络设备,在步骤s501中,第二通信装置2通过与该第一通信装置1的交互,例如通过一次或多次调用该第一通信装置1所在的第一用户设备所提供的应用程序接口(api),或通过其他约定的通信方式,接收第一用户设备向所述第一网络设备发送的即时通信消息,其中,所述即时通信消息中包括第二用户设备所对应的设备令牌。

在步骤s502中,第二通信装置2根据所述设备令牌,识别所述即时通信消息拟发往的所述第二用户设备。具体地,在步骤s502中,第二通信装置2对在步骤s501中自第一用户设备接收到的所述即时通信消息进行分析,根据一定的规则或者识别方法分析出所述即时通信消息拟发往的第二用户设备的设备令牌,并且基于所述设备令牌进行寻址,识别所述即时通信消息拟发往的所述第二用户设备。例如,所述第一网络设备例如为网络推送服务器apns,apns接收到第一用户设备发送的所述即时通信消息后,对所述即时通信消息进行分析,例如,从该即时通信消息的特定字段中,提取出设备令牌,并根据该设备令牌,识别出与所述设备令牌对应的第二用户设备,所述网络推送服务器apns与第二用户设备建立连接,确保将所述即时通信消息准确的推送到所述第二用户设备。

在步骤s503中,第二通信装置2将所述即时通信消息发送至所述第二用户设备。具体地,在步骤s501中,第二通信装置2接收自第一用户设备所发送的包括第二用户设备所对应的设备令牌的即时通信消息后,在步骤s502中,第二通信装置2分析出所述即时通信消息拟发往的第二用户设备的设备令牌,并且基于所述设备令牌进行寻址,识别所述即时通信消息拟发往的所述第二用户设备,在步骤s503中,第二通信装置2将所述即时通信消息发送至所述第二用户设备。例如,所述第一网络设备例如为网络推送服务器apns,若用户自第一用户设备向第二用户设备发送即时消息,在步骤s301中,第一通信装置1自第二网络设备,例如开发者服务器,获取到的与第一用户设备联系人对应的设 备令牌列表确定出第二用户设备的设备令牌,在步骤s302中,第一通信装置1将所述设备令牌添加至拟向第二用户设备发送的消息中组成即时通信消息,在步骤s302中,第一通信装置1直接将所述即时通信消息发送至所述网络推送服务器apns,在步骤s501中,所述网络推送服务器apns中的第二通信装置2接收到第一用户设备所发送的包括第二用户设备的设备令牌的即时通信消息,在步骤s502中,第二通信装置2根据即时通信消息特定字段中的设备令牌,识别出接收所述即时通信消息的第二用户设备,在步骤s503中,第二通信装置2通过网络推送服务器apns直接将所述即时通信消息推送至第二用户设备,完成所述即时通信消息经由网络推送服务器自第一用户设备向第二用户设备的传送。

优选地,所述第二通信装置2包括步骤s504(未示出)和步骤s505(未示出)。其中,在步骤s504中,第二通信装置2获取待推送至所述第一用户设备的反馈响应,其中,所述反馈响应基于所述第一用户设备所提交的反馈信息生成;在步骤s505中,若所述第一用户设备未与第二网络设备连接,第二通信装置2根据所述第一用户设备所对应的本机设备令牌,向所述第一用户设备推送所述反馈响应,其中,所述第二网络设备为应用服务器。

其中,在步骤s504中,第二通信装置2获取待推送至所述第一用户设备的反馈响应,其中所述反馈响应基于所述第一用户设备所提交的反馈信息生成。具体地,所述第一用户设备向第一网络设备例如网络推送服务器注册,注册成功后,所述网络推送服务器将第一用户设备的设备令牌返回至第一用户设备,当用户自第一用户设备通过所述向所述第二网络设备提交用户意见反馈信息时,同时将用户在所述设备令牌添加到所述用户意见反馈信息中组成反馈信息,用户将所述反馈信息传送给所述第二网络设备,产品经理或者测试人员收到所述反馈信息后,针对所述反馈信息给出反馈响应,若所述第一用户设备与第二网络设备连接,表示第一用户设备正在执行当前应用程序,所述反馈响应通过所述第二网络设备发送至所述第一用户设备,则在步骤s504中,第二通信 装置2获取不到所述反馈响应;若所述第一用户设备未与第二网络设备连接,表示第一用户设备未在执行当前应用程序,则在步骤s504中,第二通信装置2获取待推送至所述第一用户设备的反馈响应所述反馈消息。

若所述第一用户设备未与第二网络设备连接,在步骤s505中,第二通信装置2根据所述第一用户设备所对应的本机设备令牌,向所述第一用户设备推送所述反馈响应,其中,所述第二网络设备为应用服务器。具体地,例如所述第一网络设备为网络推送服务器,所述第二网络设备为开发者服务器,若所述第一用户设备未与开发者服务器连接,第一用户设备未在执行当前应用程序,则所述在步骤s504中,第二通信装置2获取待推送至所述第一用户设备的反馈响应所述反馈消息,在步骤s505中,第二通信装置2根据所述第一用户设备所对应的本机设备令牌,通过网络推送服务器将所述反馈响应直接推送至所述第一用户设备。

在此,所述第一网络设备为推送平台,即时通信消息经由推送平台直接推送至第二用户设备即可,确保所述将即时通信消息准确及时的发送至第二用户设备。

以下用一具体实施例阐述第一通信装置1和第二通信装置2合作共同实现即时通信的过程。

例如,如图3所示,所述第一网络设备为网络推送服务器,所述第二网络设备为开发者服务器。第一用户设备向网络推送服务器注册,注册成功后,推送服务器将第一用户设备的设备令牌返回给第一用户设备,用户首次登陆所述第一用户设备时,第一用户设备将本机设备令牌上传至开发者服务器,并添加至存储在开发者服务器的设备令牌列表中,第一用户设备自所开发者服务器获取与本机联系人对应的设备令牌列表,其中,所述设备令牌列表例如为本机联系人电话号码或者联系人姓名与设备令牌一一对应的列表。当用户自第一用户设备向第二用户设备发送即时通信消息时,用户例如在收件人一栏输入第二用户设备对应的联系人的电话号码或者联系人姓名,第一用户设备上的第一通信装置1在步骤s401中根据所述联系人的电话号码或者联系人姓名在设备令牌列表 中查找并确定第二用户设备的设备令牌,在步骤s402中,第一通信装置1将所述设备令牌添加到待发送消息中组成即时通信消息,在步骤s403中,第一通信装置1将所述即时通信消息发送至网络推送服务器,在步骤s501中,第二通信装置2接收到自第一用户设备发送至网络推送服务器的即时通信消息,在步骤s502中,第二通信装置2识别第二用户设备的设备令牌后,在步骤s503中,第二通信装置2将所述即时通信消息自网络推送服务器推送至第二用户设备。在此过程中,所述即时通信消息自第一用户设备经由网络推送服务器推送至第二用户设备,无需再经过开发者服务器,缩短了即时通信消息的传输路径,缩短了消息的传输时间,减轻了开发者服务器的负荷,降低了运营成本。

在此,用户自第一用户设备向第二用户设备传送即时通信消息时,先将所述即时通信消息自第一用户设备发送至第一网络设备,再经由第一网络设备发送至所述第二用户设备即可,中间无需再经由第二网络设备,缩短了即时通信消息的传输路径,缩短了消息的传输时间,减轻了网络服务器的负荷,降低了运营成本。

需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(asic)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标 记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

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