多应用程序共享通信连接的方法和系统技术方案

技术编号:12805339 阅读:51 留言:0更新日期:2016-02-03 19:03
一种多应用程序共享通信连接的方法,包括以下步骤:各应用程序调用预先封装于自身软件包中的信息推送接口;各信息推送接口向系统发起创建推送组件实例的命令,并接收系统返回的已创建的推送组件实例的信息,所述推送组件的相关运行资源集成于各应用程序的软件包中,各推送组件的组件名称以及所配置的进程名称相同;推送组件实例与消息服务器之间建立通信连接;推送组件实例接收所述消息服务器通过所述通信连接下发的消息,消息中包含目标应用程序的程序标识;推送组件实例将接收的消息发送给程序标识对应的应用程序。上述方法可实现各应用程序共享一条通信连接来接收服务器下发的消息。此外,还提供一种多应用程序共享通信连接的系统。

【技术实现步骤摘要】
【专利说明】
本专利技术涉及计算机及网络通信
,特别涉及一种多应用程序共享通信连接的方法和系统。【
技术介绍
】随着计算机技术以及网络通信技术的发展,用户的各种需求在不断的增长和变化。为了满足人们日益增长和变化的需求,各种网络应用程序的应运而生。种类繁多的应用程序拉近了人们之间的距离,丰富了人们的业余生活,并开拓了人们所涉足的领域,现有技术中,与传统的单机应用程序相比较,网络应用程序的不同之处在于,网络应用程序需要与服务器进行通信,以获取特定的相关信息,例如,服务器推送的相关信息等。同一终端(例如移动终端或PC机等)上往往安装了数量众多的网络应用程序,每个应用程序都各自与服务器建立通信连接,从而同一终端与服务器建立的通信连接数量有可能过多。而过多的通信连接必然占用大量的资源,例如消耗过多的电量、网络数据流量,占用过多的内存空间等。尤其对于资源有限的移动终端而言,数量过多的通信连接占用大量资源导致的问题更为严重。【
技术实现思路
】基于此,针对上述同一终端上应用程序与服务器之间的数量过多的通信连接占用过多资源的问题,有必要提供一种多应用程序共享通信连接的方法和系统。一种多应用程序共享通信连接的方法,包括以下步骤:各应用程序调用预先封装于自身软件包中的信息推送接口,封装于各应用程序软件包中的信息推送接口相同;各信息推送接口向系统发起创建推送组件实例的命令,并接收系统返回的已创建的推送组件实例的信息,所述推送组件的相关运行资源集成于各应用程序的软件包中,各推送组件的组件名称以及所配置的进程名称相同;所述推送组件实例与消息服务器之间建立通信连接;所述推送组件实例接收所述消息服务器通过所述通信连接下发的消息,所述消息中包含目标应用程序的程序标识;所述推送组件实例将接收的消息发送给消息中包含的程序标识对应的应用程序。在其中一个实施例中,所述推送组件实例与消息服务器之间建立通信连接的步骤包括:推送组件实例从连接信息提供服务器拉取服务器地址以及服务器端口号,推送组件实例根据拉取的服务器地址和端口号与对应的消息服务器建立通信连接。在其中一个实施例中,所述方法还包括:各应用程序将自身的程序标识传递给自身的信息推送接口,各信息推送接口将接收的程序标识传递给所述推送组件实例;所述推送组件实例将接收的程序标识通过所述通信连接发送给所述消息服务器;所述消息服务器通过所述通信连接接收程序标识,并建立程序标识与接收所述程序标识的通信连接的连接标识的对应关系。在其中一个实施例中,在所述推送组件实例接收所述消息服务器通过所述通信连接下发的消息的步骤之前,所述方法还包括:所述消息服务器将目标应用程序的程序标识封装到待下发消息中;所述消息服务器查找目标应用程序的程序标识对应的连接标识,将封装好的消息通过查找到的连接标识对应的通信连接发送给对端的推送组件实例。在其中一个实施例中,在所述推送组件实例与消息服务器之间建立通信连接之后,所述方法还包括步骤:所述推送组件实例从所述消息服务器拉取心跳包发送频率;当所述通信连接空闲时,所述推送组件实例按照心跳包发送频率通过所述通信连接发送心跳包,以维持所述通信连接。在其中一个实施例中,所述方法还包括步骤:所述推送组件实例监测各应用程序是否都已被关闭;当各应用程序都已被关闭时,所述推送组件实例关闭所述通信连接。在其中一个实施例中,所述方法还包括步骤:所述推送组件实例从连接信息提供服务器拉取唤醒策略;所述推送组件实例根据所述唤醒策略通过系统提示服务设置自身的运行进程的唤醒闹钟。一种多应用程序共享通信连接的系统,包括:启动模块,封装于各应用程序中,用于调用预先封装于自身所在应用程序软件包中的信息推送接口,封装于各应用程序软件包中的信息推送接口相同;实例创建模块,封装于各信息推送接口中,用于向系统发起创建推送组件实例的命令、接收系统返回的已创建的推送组件实例的信息,所述推送组件的相关运行资源集成于各应用程序的软件包中,各推送组件的组件名称以及所配置的进程名称相同;连接建立模块,封装于各推送组件中,用于通过所述推送组件实例与消息服务器之间建立通信连接;消息获取模块,封装于各推送组件中,用于通过所述推送组件实例接收所述消息服务器通过所述通信连接下发的消息,所述消息中包含目标应用程序的程序标识;消息传递模块,封装于各推送组件中,用于通过所述推送组件实例将接收的消息发送给消息中包含的程序标识对应的应用程序。在其中一个实施例中,所述连接建立模块用于通过所述推送组件实例从连接信息提供服务器拉取服务器地址和服务器端口号,并通过所述推送组件实例根据拉取的服务器地址和端口号与对应的消息服务器建立通信连接。在其中一个实施例中,所述启动模块还用于将自身所在应用程序的程序标识传递给对应的信息推送接口;所述系统还包括:程序标识传递模块,封装于各信息推送接口中,用于将接收的程序标识传递给所述推送组件实例;程序标识发送模块,封装于各推送组件中,用于通过所述推送组件实例将接收的程序标识通过所述通信连接发送给所述消息服务器;程序标识接收模块,运行于消息服务器,用于通过所述通信连接接收程序标识;程序连接关系建立模块,运行于消息服务器,用于建立程序标识与接收所述程序标识的通信连接的连接标识的对应关系。在其中一个实施例中,所述系统还包括:消息生成模块,运行于消息服务器,用于将目标应用程序的程序标识封装到待下发消息中;消息发送模块,运行于消息服务器,用于查找目标应用程序的程序标识对应的连接标识,将封装好的消息通过查找到的连接标识对应的通信连接发送给对端的推送组件实例;在其中一个实施例中,所述系统还包括连接维持模块,封装于各推送组件中,用于在与消息服务器之间建立通信连接之后,通过所述推送组件实例从所述消息服务器拉取心跳包发送频率;所述连接维持模块还用于当所述通信连接空闲时,通过所述推送组件实例按照心跳包发送频率通过所述通信连接发送心跳包,以维持所述通信连接。在其中一个实施例中,所述系统还包括连接关闭模块,封装于各推送组件中,用于通过所述推送组件实例监测各应用程序是否都已被关闭;所述连接关闭模块还用于当各应用程序都已被关闭时,通过所述推送组件实例关闭所述通信连接。在其中一个实施例中,所述系统还包括唤醒设置模块,封装于各推送组件中,用于通过所述推送组件实例从连接信息提供服务器拉取唤醒策略;所述唤醒设置模块还用于通过所述推送组件实例根据所述唤醒策略通过系统提示服务设置自身的运行进程的唤醒闹钟。上述多应用程序共享通信连接的方法和系统中,各应用程序调用预先封装于自身软件包中的信息推送接口,由信息推送接口向系统发起创建推送组件实例的命令,由于各推送组件的组件名称以及所配置的进程名称相同,因此,系统接收到创建推送组件实例的命令后,如果该推送组件实例不存在,则会创建一个新的推送组件实例,若该推送组件实例已经存在,则不需要再创建推送组件实例,只需要返回已经创建的推送组件实例的信息即可,从而由唯一的推送组件实例与消息服务器之间建立通信连接,且该唯一的推送组件实例将消息服务器下发的消息发送给对应的应用程序,从而实现各应用程序可共享一条通信连接来接收服务器下发的消息,从而可降低通信连接所耗费的电量、网络数据流量、内存占用量等资源。【【附图说明】】图1为一个本文档来自技高网...

【技术保护点】
一种多应用程序共享通信连接的方法,包括以下步骤:各应用程序调用预先封装于自身软件包中的信息推送接口,封装于各应用程序软件包中的信息推送接口相同;各信息推送接口向系统发起创建推送组件实例的命令,并接收系统返回的已创建的推送组件实例的信息,所述推送组件的相关运行资源集成于各应用程序的软件包中,各推送组件的组件名称以及所配置的进程名称相同;所述推送组件实例与消息服务器之间建立通信连接;所述推送组件实例接收所述消息服务器通过所述通信连接下发的消息,所述消息中包含目标应用程序的程序标识;所述推送组件实例将接收的消息发送给消息中包含的程序标识对应的应用程序。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨龙辉王学煌
申请(专利权)人:博雅网络游戏开发深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1