CN108111565A - 消息传输方法和装置 - Google Patents
消息传输方法和装置 Download PDFInfo
- Publication number
- CN108111565A CN108111565A CN201611064354.8A CN201611064354A CN108111565A CN 108111565 A CN108111565 A CN 108111565A CN 201611064354 A CN201611064354 A CN 201611064354A CN 108111565 A CN108111565 A CN 108111565A
- Authority
- CN
- China
- Prior art keywords
- client
- service
- server
- reservation service
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Abstract
本发明公开了一种消息传输方法和装置。其中,该方法包括:第一客户端通过预设浏览器控件集成预定服务,其中,预定服务集成在一个或多个客户端;在第一客户端开启之后,第一客户端通过预定服务从服务器中获取第二客户端的标识信息,其中,第二客户端为未开启、且集成预定服务的客户端;第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名,其中,服务进程定义在服务组件中;第一客户端根据目标进程名通过服务器唤醒第二客户端,其中,第二客户端在唤醒的情况下,用于接收服务器推送的消息。本发明解决了相关技术中在服务没有开启的情况下,客户端不能接收服务器推送的消息的技术问题。
Description
技术领域
本发明涉及互联网领域,具体而言,涉及一种消息传输方法和装置。
背景技术
目前,在消息传输中,通过所常采用的方法为通过客户端与服务器开启服务(Service)来接收服务器推送的消息。
客户端与服务器之间的消息传输通常采用以下方式:
(1)周期轮询:客户端通过设置时间间隔与服务器进行连接,并查询是否有服务器推送新的消息。
(2)后台推送(Push):客户端在每次开启之后,会发送向服务器发送请求,和服务器维持一个传输控制协议(Transmission Control Protocol,简称为TCP)长连接。当服务器想向客户端推送消息时,就可以直接使用该TCP长连接来传输消息。
但是,如果系统内存紧张,或者由于重启,导致客户端的进程断开(Kill),那么服务器的服务将停止运转。在服务没有被开启的情况下,客户端永远都不会接收到服务器推送的消息。
针对上述的在服务没有开启的情况下,客户端不能接收服务器推送的消息的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种消息传输方法和装置,以至少解决相关技术中在服务没有开启的情况下,客户端不能接收服务器推送的消息的技术问题。
根据本发明实施例的一个方面,提供了一种消息传输方法。包括:第一客户端通过预设浏览器控件集成预定服务,其中,预定服务集成在一个或多个客户端;在第一客户端开启之后,第一客户端通过预定服务从服务器中获取第二客户端的标识信息,其中,第二客户端为未开启、且集成预定服务的客户端;第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名,其中,服务进程定义在服务组件中;第一客户端根据目标进程名通过服务器唤醒第二客户端,其中,第二客户端在唤醒的情况下,用于接收服务器推送的消息。
根据本发明实施例的另一方面,还提供了一种消息传输装置。该消息传输装置包括:集成单元,用于使第一客户端通过预设浏览器控件集成预定服务,其中,预定服务集成在一个或多个客户端;第一获取单元,用于使在第一客户端开启之后,第一客户端通过预定服务从服务器中获取第二客户端的标识信息,其中,第二客户端为未开启、且集成预定服务的客户端;第二获取单元,用于使第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名,其中,服务进程定义在服务组件中;唤醒单元,用于使第一客户端根据目标进程名通过服务器唤醒第二客户端,其中,第二客户端在唤醒的情况下,用于接收服务器推送的消息。
在本发明实施例中,通过第一客户端通过预设浏览器控件集成预定服务,其中,预定服务集成在一个或多个客户端;在第一客户端开启之后,第一客户端通过预定服务从服务器中获取第二客户端的标识信息,其中,第二客户端为未开启、且集成预定服务的客户端;第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名,其中,服务进程定义在服务组件中;第一客户端根据目标进程名通过服务器唤醒第二客户端,其中,第二客户端在唤醒的情况下,用于接收服务器推送的消息,达到了客户端和服务器建立连接的目的,从而实现了在服务没有开启的情况下,客户端接收服务器推送消息的技术效果,进而解决了相关技术中在服务没有开启的情况下,客户端不能接收服务器推送的消息的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种消息传输方法的硬件环境的示意图;
图2是根据本发明实施例的一种消息传输方法的流程图;
图3是根据本发明实施例的一种第一客户端通过预设浏览器控件集成预定服务的方法的流程图;
图4是根据本发明实施例的一种第一客户端加载预设浏览器内核的方法的流程图;
图5是根据本发明实施例的另一种消息传输方法的流程图;
图6是根据本发明实施例的一种第一客户端根据目标进程名通过服务器唤醒第二客户端的方法的流程图;
图7是根据本发明实施例的一种系统内核与SDK内核对应关系的示意图;
图8是根据本发明实施例的一种客户端的唤醒方法的流程图;
图9是根据本发明实施例的一种消息传输装置的示意图;
图10是根据本发明实施例的另一种消息传输装置的示意图;
图11是根据本发明实施例的另一种消息传输装置的示意图;
图12是根据本发明实施例的另一种消息传输装置的示意图;
图13是根据本发明实施例的另一种消息传输装置的示意图;以及
图14是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种消息传输方法的实施例。
可选地,在本实施例中,上述消息传输方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。图1是根据本发明实施例的一种消息传输方法的硬件环境的示意图。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的消息传输方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的消息传输方法也可以是由安装在其上的客户端来执行。
图2是根据本发明实施例的一种消息传输方法的流程图。如图2所示,该消息传输方法可以包括以下步骤:
步骤S202,第一客户端通过预设浏览器控件集成预定服务。
在本发明上述步骤S202提供的技术方案中,第一客户端通过预设浏览器控件集成预定服务,其中,预定服务集成在一个或多个客户端。
在该实施例中,第一客户端可以为应用(Application),比如,即时通讯应用、社交软件、电子商城应用等众多应用。预设浏览器控件为对外开发的浏览器(Webview)组件,该Webview组件可以为安卓(Android)系统提供的浏览器控件,用于解析和展示前端页面。第一客户端通过预设浏览器控件集成预定服务,该预定服务可以集成在一个或多个客户端上,也即,该预定服务为对外开放的服务,可以通过对外开放的Webview组件实现。可选地,使用浏览器内核实现在第一客户端集成预定服务,比如,通过浏览器内核在第一客户端实现集成预定服务,其中,浏览器内核对第一客户端开发使用,从而使第一客户端通过浏览器内核实现针对渲染网络代理进行处理以及定制相关功能等。
可选地,预定服务为浏览服务(Browser Service,简称为BS),第一客户端接入官网提供的软件开发工具包(Software Development Kit,简称为SDK),首先将已经写好的数据包和类放在第一客户端的工程目录下,将第一客户端的系统包和类替换为SDK里的包和类,第一客户端内部的Webview接口替换为SDK内部封装的Webview接口,这样在第一客户端创建的时候就可以直接加载浏览器内核的浏览器接口,进而可以使用浏览器内核内部的浏览器引擎以及X5内核自带的相关功能,其中,相关功能包括第一客户端的唤醒功能,实现了第一客户端通过预设浏览器控件集成预定服务。
步骤S204,在第一客户端开启之后,第一客户端通过预定服务从服务器中获取第二客户端的标识信息。
在本发明上述步骤S204提供的技术方案中,在第一客户端开启之后,第一客户端通过预定服务从服务器中获取第二客户端的标识信息,其中,第二客户端为未开启、且集成预定服务的客户端。
第一客户端开启,也即,第一客户端和服务器之间开启服务(Service),以使第一客户端接收服务器推送的消息,比如,第一客户端与服务器开启服务,可以接收服务器推送的新闻类消息,工具类应用消息、图文消息等。其中,Service为安卓系统的四大组件之后,通常通过Service用来执行一些耗时的操作,或者后台执行不提供给用户交互界面的操作。第二客户端为未开启、且集成预定服务的客户端,也即,该第二客户端与服务器未开启服务,但集成预定服务。由于第二客户端未开启,因而第二客户端不能接收服务器推送的消息。
服务器对未开启的第二客户端的标识信息进行配置,可以得到待唤醒的客户端的名单信息。在第一客户端开启之后,第一客户端通过预定服务从服务器拉取第二客户端的标识信息,从而实现了第一客户端通过预定服务从服务器获取第二客户端的标识信息。
可选地,在第一客户端通过预定服务从服务器中获取第二客户端的标识信息之后,将标识信息保存在本地,以便在页面加载完成之后,唤醒标识信息对应的未开启客户端。
步骤S206,第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名。
在本发明上述步骤S206提供的技术方案中,第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名,其中,服务进程定义在服务组件中。
在第一客户端通过预定服务从服务器中获取第二客户端的标识信息之后,第一客户端通过预定服务根据标识信息获取第二客户端的服务进程(Process)的目标进程名,服务进程用于表示服务是否可以运行在一个进程上,如果设置了此项,那么将会在包(package)名后面加上这段字符串以表示进程的名字。该服务进程定义在服务组件中,该服务组件被注册在mainifest文件中,其中,mainifest文件属于AndroidMainifest.XML文件,是每个安卓应用程序必须有的文件,位于整个项目的根目录,描述了包中暴漏的组件、实现的类、以及各种能被处理的数据和启动位置,可以运行任何应用程序的代码。
可选地,服务组件除服务进程之外,还包括:服务名(label)、服务类名(name)、服务图标(icon)、服务权限(permission)、使能(enabled)。其中,服务名为服务的名字,如果此项不设置,那么默认显示的服务名为类名,在申明服务的服务权限时,则只有提供可该权限的应用才能控制或者连接服务。如果服务使能(enabled)项设置了true,那么服务组件将会默认被系统启动,不设置,则默认为false。
可选地,第一客户端通过服务器制定的包名来确定第二客户端的服务进程的目标进程名,也即,确定服务可以运行的进程对应的进程名。
步骤S208,第一客户端根据目标进程名通过服务器唤醒第二客户端。
在本发明上述步骤S208提供的技术方案中,第一客户端根据目标进程名通过服务器唤醒第二客户端,其中,第二客户端在唤醒的情况下,用于接收服务器推送的消息。
在第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名之后,第一客户端根据目标进程名通过服务器唤醒第二客户端,使第二客户端开启服务。可选地,第一客户端通过调用startService方法,可以通过后台制定包名来唤醒第二客户端,使第二客户端开启服务。
在第二客户端唤醒之后,第二客户端与服务器开启服务,可以接收服务器推送的消息。
由于预定服务拥有庞大的用户体系,几乎占领整个智能终端。在第一客户端集成预定服务之后,只要有一个集成预定服务的客户端开启,则可以通过该开启的客户端唤醒其它多个未开启、且集成预定服务的客户端,从而达到裙带效果,使多个唤醒的客户端可以接收服务器推送的消息,解决了相关技术中在服务没有开启的情况下,客户端不能接收服务器推送的消息的技术问题。
通过上述步骤S202至步骤S208,通过第一客户端通过预设浏览器控件集成预定服务,其中,预定服务集成在一个或多个客户端;在第一客户端开启之后,第一客户端通过预定服务从服务器中获取第二客户端的标识信息,其中,第二客户端为未开启、且集成预定服务的客户端;第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名,其中,服务进程定义在服务组件中;第一客户端根据目标进程名通过服务器唤醒第二客户端,其中,第二客户端在唤醒的情况下,用于接收服务器推送的消息,可以解决相关技术中在服务没有开启的情况下,客户端不能接收服务器推送的消息的技术问题,进而达到在服务开启的情况下,客户端接收服务器推送的消息的技术效果。
作为一种可选的实施例,步骤S202,第一客户端通过预设浏览器控件集成预定服务包括:第一客户端加载包括用于唤醒第二客户端的功能的预设浏览器内核,第一客户端根据预设浏览器内核的预设功能集成预定服务。
图3是根据本发明实施例的一种第一客户端通过预设浏览器控件集成预定服务的方法的流程图。如图3所示,该第一客户端通过预设浏览器控件集成预定服务的方法包括以下步骤:
步骤S301,第一客户端加载预设浏览器内核。
在本发明上述步骤S301提供的技术方案中,第一客户端加载预设浏览器内核,其中,预设浏览器控件包括预设浏览器内核,预设浏览器内核包括唤醒功能,唤醒功能用于唤醒第二客户端。
第一客户端加载的预设浏览器内核可以为X5内核,该X5内核为QQ浏览器内核,为安卓系统的浏览器引擎,开放给外界客户端使用,第一客户端可以使用X5内核针对渲染、网络代理进行处理,以及用于相关功能的定制,该相关功能的定制包括用于唤醒第二客户端的功能。
可选地,预定服务为浏览服务BS,第一客户端接入官网提供的SDK,首先将官网提供的SDK中已经写好的Jar包放到第一客户端的工程的libs目录下,其中,Jar包为将已经写好的类打成的数据包,然后将第一客户端中的源码和可扩展标记语言(Extensible MarkupLanguage,简称为XML)里的系统包和类替换为SDK里的包和类,第一客户端的系统包和类与SDK里的包和类具有一一对应关系,在替换的时候是一一对应替换的。
步骤S302,第一客户端根据预设浏览器内核的预设功能集成预定服务。
在本发明上述步骤S302提供的技术方案中,第一客户端根据预设浏览器内核的预设功能集成预定服务。
在第一客户端加载预设浏览器内核之后,第一客户端内部的Webview相关接口替换为SDK内部封装的Webview接口,这样在第一客户端创建预定服务的时候就可以直接加载X5内核的Webview,进而可以使用X5内核内部的浏览引擎以及X5自带的相关功能。
该实施例通过第一客户端加载预设浏览器内核,其中,预设浏览器控件包括预设浏览器内核,预设浏览器内核包括唤醒功能,唤醒功能用于唤醒第二客户端;第一客户端根据预设浏览器内核的预设功能集成预定服务,实现了第一客户端通过预设浏览器控件集成预定服务的目的。
作为一种可选的实施例,步骤S301,第一客户端加载预设浏览器内核包括:第一客户端获取预设接口数据,其中,预设接口数据用于封装预定服务对应的浏览器接口;第一客户端将原始接口数据替换为预设接口数据,其中,原始接口数据用于封装第一客户端内置的浏览器接口;第一客户端通过预设接口数据加载预设浏览器内核。
图4是根据本发明实施例的一种第一客户端加载预设浏览器内核的方法的流程图。如图4所示,该第一客户端加载预设浏览器内核的方法包括以下步骤:
步骤S401,第一客户端获取预设接口数据。
在本发明上述步骤S401提供的技术方案中,第一客户端获取预设接口数据,其中,预设接口数据用于封装预定服务对应的浏览器接口。
该实施例的预设接口数据可以由预定服务官网提供,用于封装预定服务对应的浏览器接口。比如,当预定服务为浏览服务BS时,该预设接口数据可以为官网提供的SDK里的包和类,第一客户端获取官网提供的SDK里的包和类。
步骤S402,第一客户端将原始接口数据替换为预设接口数据。
在本发明上述步骤S402提供的技术方案中,第一客户端将原始接口数据替换为预设接口数据,其中,原始接口数据用于封装第一客户端内置的浏览器接口。
该实施例的原始接口数据用于封装第一客户端内部相关的Webview相关接口的数据,比如,第一客户端里的源码和XML里的系统包和类。在第一客户端获取预设接口数据之后,首先将预设接口数据放到第一客户端的工程的目录下,第一客户端获取原始接口数据与预设接口数据的预设对应关系,通过预设对应关系将原始接口数据替换为预设接口数据。
步骤S403,第一客户端通过预设接口数据加载预设浏览器内核。
在本发明上述步骤S403提供的技术方案中,第一客户端通过预设接口数据加载预设浏览器内核。
在第一客户端将原始接口数据替换为预设接口数据之后,第一客户端内部Webview相关接口替换成SDK内部封装的Webview接口,这样在第一客户端创建Webview的时候就用可以直接加载浏览器内核,进而可以使用浏览器内核内部的浏览器引擎以及X5内核自带的相关功能。
该实施例通过第一客户端获取预设接口数据,其中,预设接口数据用于封装预定服务对应的浏览器接口;第一客户端将原始接口数据替换为预设接口数据,其中,原始接口数据用于封装第一客户端内置的浏览器接口;第一客户端通过预设接口数据加载预设浏览器内核,实现了第一客户端加载预设浏览器内核的目的。
作为一种可选的实施例,第二客户端包括多个客户端,其中,步骤S204,第一客户端通过预定服务从服务器中获取第二客户端的标识信息包括:第一客户端通过预定服务从服务器中获取多个客户端的名单信息,其中,标识信息包括名单信息。
第二客户端为未开启、且集成预定服务的客户端,第二客户端集成预定服务的方法与第一客户端集成预定服务的方法相同,此处不再赘述。第二客户端包括多个客户端,其名单信息由服务器配置,上述标识信息包括该多个客户端的名单信息。第一客户端通过预定服务从服务器中获取多个客户端的名单信息,从而实现获取第二客户端的标识信息的目的,进而达到在服务没有开启的情况下,客户端也能接收服务器推送的消息的效果。
作为一种可选的实施例,在第一客户端通过预定服务从服务器中获取第二客户端的名单信息之后,第一客户端保存名单信息至本地,其中,本地用于通过预设页面加载名单信息;在本地通过预设页面加载名单信息之后,第一客户端通过预定服务根据标识信息获取目标进程名。
图5是根据本发明实施例的另一种消息传输方法的流程图。如图5所示,该消息传输方法还包括以下步骤:
步骤S501,第一客户端保存名单信息至本地。
在本发明上述步骤S501提供的技术方案中,第一客户端保存名单信息至本地,其中,本地用于通过预设页面加载名单信息。
在第一客户端通过预定服务从服务器中获取第二客户端的名单信息之后,第一客户端将名单信息保存在本地,其中,本地用于通过预设页面加载名单信息。
步骤S502,第一客户端通过预定服务根据标识信息获取目标进程名。
在本发明上述步骤S502提供的技术方案中,在本地通过预设页面加载名单信息之后,第一客户端通过预定服务根据名单信息获取目标进程名。
在第一客户端保存的名单信息在页面加载完成之后,可以根据名单信息和后台指定的包名确定目标进程名。
该实施例通过在第一客户端通过预定服务从服务器中获取第二客户端的名单信息之后,第一客户端保存名单信息至本地,其中,本地用于通过预设页面加载名单信息;通过在本地通过预设页面加载名单信息之后,第一客户端通过预定服务根据标识信息获取目标进程名,以实现第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名的目的。
作为一种可选的实施例,步骤S208,第一客户端根据目标进程名通过服务器唤醒第二客户端包括:第一客户端根据通过预定服务获取的用于开启第二客户端的开启服务函数开启目标进程名对应的第二客户端,使第二客户端与服务器建立连接。
图6是根据本发明实施例的一种第一客户端根据目标进程名通过服务器唤醒第二客户端的方法的流程图。如图6所示,该第一客户端根据目标进程名通过服务器唤醒第二客户端的方法包括以下步骤:
步骤S601,第一客户端通过预定服务获取用于开启第二客户端的开启服务函数。
在本发明上述步骤S601提供的技术方案中,第一客户端通过预定服务获取用于开启第二客户端的开启服务函数。
开启服务函数可以为应用环境(Context)中的startService()方法,通过开启服务函数来启动服务,其中,Context为应用的运行环境,在Context的大环境下,应用才可以访问资源。第一客户端通过预定服务获取该开启服务函数。
步骤S602,第一客户端根据开启服务函数开启目标进程名对应的第二客户端。
在本发明上述步骤S602提供的技术方案中,第一客户端根据开启服务函数开启目标进程名对应的第二客户端,其中,在第二客户端开启的情况下,第二客户端与服务器建立连接。
在第一客户端通过预定服务获取用于开启第二客户端的开启服务函数之后,根据开启服务函数开启目标进程名对应的第二客户端,也即,根据开启服务函数开启目标进程名对应的第二客户端与服务器的服务。从而唤醒第二客户端。在第二客户端唤醒的情况下,第二客户端与服务器建立连接,从而第二客户端可以接收服务器推动的消息,达到了在服务没有开启的情况下,客户端也能接收服务器推送的消息的效果。
该实施例通过第一客户端通过预定服务获取用于开启第二客户端的开启服务函数;第一客户端根据开启服务函数开启目标进程名对应的第二客户端,其中,在第二客户端开启的情况下,第二客户端与服务器建立连接,实现了第一客户端根据目标进程名通过服务器唤醒第二客户端,进而达到了在服务没有开启的情况下,客户端也能接收服务器推送的消息的效果。
实施例2
下面结合优选的实施例对本发明的技术方案进行说明。
该实施例的第一客户端集成的预定服务为浏览服务BS,BS作为对外开放的Webview组件,集成在第一客户端中,该第一客户端包括即时通讯应用、社交软件、电子商城应用等终端APP,其中,即时通讯应用如微信应用、QQ应用等,社交软件如QQ空间等,电子商城应用如58同城、京东商城等。浏览服务BS拥有庞大的用户体系,几乎占领整个安卓终端。在第一客户端集成浏览服务BS之后,只要有一款集成浏览服务BS的应用有运行,那么便可以唤醒其它集成浏览服务BS的应用,从而达到裙带唤醒效果,达到在服务没有开启的情况下,第一客户端也能接收服务器推送的消息。
第一客户端集成预定服务,加载使用浏览器内核。第一客户端应用接入预定服务对应的官网提供的SDK。首先将预定服务的预设接口数据放到客户端的工程的目录下;将第一客户端的原始数据接口替换为预设接口数据。
可选地,在第一客户端集成预定服务,加载使用手机中的X5内核。客户端接入官网提供的SDK,首先将预定服务的Jar包放到工程的libs目录下;然后将第一客户端的源码和XML里的系统包和类替换为SDK里的包和类。源码和XML里的系统包和类替换为SDK里的包和类具有一一对应关系,也即,第一客户端的系统内核与SDK内核具有一一对应关系。
图7是根据本发明实施例的一种系统内核与SDK内核对应关系的示意图。如图7所示,系统内核包括客户端的源码和XML里的系统包和类,SDK内核包括SDK里的包和类,系统内核与SDK内核具有一一对应关系,比如,系统内核中的android.webkit.ConsoleMessage与SDK内核中的com.tencent.smtt.export.external.interfaces.ConsoleMessage相对应。
通过第一客户端的系统内核与SDK内核的对应关系,将第一客户端内部Webview相关接口替换成SDK内部封装的Webview接口,这样在第一客户端创建Webview的时候就可以直接调用X5内核的Webview,进而可以使用x5内核内部的浏览器引擎以及X5内核自带的相关功能,该相关功能包括了用于唤醒第二客户端的功能,实现了第一客户端加载预设浏览器内核,根据预设浏览器内核的预设功能集成预定服务的目的。
需要说明的是,未开启的第二客户端集成预定服务的方法与第一客户端集成预定服务的方法相同,此处不再赘述。
在第一客户端集成预定服务之后,在manifest文件中注册相关服务组件。该服务组件包括以下注册选项:
android:name:服务类名;
android:label:服务名,也即,如果此项不设置,那么默认显示的服务名为服务类名;
android:icon:服务的图标;
android:permission:服务权限用于申明服务的权限,也即,只有提供了该权限的应用才能控制或连接此服务;
android:process:表示该服务是否可以运行在另外一个进程,如果设置了此项,那么将会在包名后面加上这段字符串表示出另一进程的名字;
android:enabled:如果此项设置了true,那么服务组件将会默认被系统启动,不设置,则默认为false。
当集成预定服务的组件被启动之后,第一客户端首先从后台服务器拉取配置的唤醒应用名单,然后保存在本地,当在页面加载完成之后,第一客户端通过预定服务,可以通过调用Context的startService方法,可以通过后台制定包名来唤醒第二客户端。
图8是根据本发明实施例的一种客户端的唤醒方法的流程图。如图8所示,该客户端的唤醒方法包括以下步骤:
步骤S801,启动服务组件。
启动服务组件可以通过调用startService()方法实现。
步骤S802,判断服务组件是否创建。
在启动服务组件之后,判断服务组件是否创建。如果判断出服务组件没有创建,执行步骤S803。如果判断出服务组件已创建,执行步骤S804。
步骤S803,创建服务组件。
如果判断出服务组件没有创建,创建服务组件。调用OnCreate()方法。在启动服务组件的时候,OnCreate()方法只在服务组件第一次启动时被调用。
步骤S804,重启服务。
在创建服务组件之后,调用onStartCommand()方法,以使系统重启服务。onStartCommand()方法在服务组件每次启动的时候都会被调用。应用程序在onStartCommand()方法中回调即可与后台建立连接,接收服务器推送的消息。
步骤S805,服务组件运行。
在重启服务之后,服务组件运行(Service运行)。
步骤S806,关闭服务。
在服务组件运行的过程中,可以调用stopService()方法或stopsef()方法来关闭服务,也即,该服务可以是服务组件自己本身关闭,也可以是用户关闭。
步骤S807,当服务组件不再运行时,清理程序。
当服务组件不再运行时,调用onDestroy()方法在程序结束时清理程序,onDestroy()方法是程序结束时的必经路径。
步骤S808,服务组件销毁。
在清理程序之后,对服务组件进行销毁,从而结束服务组件的运行周期。
该实施例通过启动服务组件,判断服务组件是否创建,在服务组件没有创建的情况下,创建服务组件,重启服务,其中,在onStartCommand()方法中回调即可与后台建立连接,接收服务器推送的消息,服务组件运行,关闭服务,当服务组件不再运行时,清理程序,最后进行服务组件的销毁,结束服务组件的运行周期,实现了在服务没有被开启的情况下,客户端也会接收到服务器推送的消息的目的。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
根据本发明实施例,还提供了一种用于实施上述消息传输方法的消息传输装置。图9是根据本发明实施例的一种消息传输装置的示意图。如图9所示,该消息传输装置可以包括:集成单元10、第一获取单元20、第二获取单元30和唤醒单元40。
集成单元10,用于使第一客户端通过预设浏览器控件集成预定服务,其中,预定服务集成在一个或多个客户端。
在该实施例中,第一客户端可以为应用。预设浏览器控件为对外开发的浏览器组件,该浏览器组件可以为安卓系统提供的浏览器控件,用于解析和展示前端页面。集成单元10用于使第一客户端通过预设浏览器控件集成预定服务,该预定服务可以通过集成单元10集成在一个或多个客户端上,可以通过对外开放的Webview组件实现。可选地,使用浏览器内核实现在第一客户端集成预定服务,比如,集成单元10通过浏览器内核在第一客户端实现集成预定服务,其中,浏览器内核对第一客户端开发使用,从而使第一客户端通过浏览器内核实现针对渲染网络代理进行处理以及定制相关功能等。
可选地,预定服务为浏览服务BS,第一客户端接入官网提供的软件开发的SDK包,首先将已经写好的数据包和类放在第一客户端的工程目录下,将第一客户端的系统包和类替换为SDK里的包和类,第一客户端内部的Webview接口替换为SDK内部封装的Webview接口,这样在第一客户端创建的时候就可以直接加载浏览器内核的浏览器接口,进而可以使用浏览器内核内部的浏览器引擎以及X5内核自带的相关功能,其中,相关功能包括第一客户端的唤醒功能,实现了集成单元10使第一客户端通过预设浏览器控件集成预定服务的目的。
第一获取单元20,用于使在第一客户端开启之后,第一客户端通过预定服务从服务器中获取第二客户端的标识信息,其中,第二客户端为未开启、且集成预定服务的客户端。
第一客户端开启,也即,第一客户端和服务器之间开启服务(Service),以使第一客户端接收服务器推送的消息,比如,第一客户端与服务器开启服务,可以接收服务器推送的新闻类消息,工具类应用消息、图文消息等。第二客户端为未开启、且集成预定服务的客户端,也即,该第二客户端与服务器未开启服务,但集成预定服务。由于第二客户端未开启,因而第二客户端不能接收服务器推送的消息。
服务器对未开启的第二客户端的标识信息进行配置,可以得到待唤醒的客户端的名单信息。在第一客户端开启之后,第一获取单元20用于使第一客户端通过预定服务从服务器拉取第二客户端的标识信息,从而实现了第一获取单元20使第一客户端通过预定服务从服务器获取第二客户端的标识信息的目的。
可选地,在第一获取单元20使第一客户端通过预定服务从服务器中获取第二客户端的标识信息之后,将标识信息保存在本地,以便在页面加载完成之后,唤醒标识信息对应的未开启客户端。
第二获取单元30,用于使第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名,其中,服务进程定义在服务组件中。
在第一获取单元20使第一客户端通过预定服务从服务器中获取第二客户端的标识信息之后,第二获取单元30使第一客户端通过预定服务根据标识信息获取第二客户端的服务进程(Process)的目标进程名。该服务进程定义在服务组件中,该服务组件被注册在mainifest文件中。
可选地,服务组件除服务进程之外,还包括:服务名(label)、服务类名(name)、服务图标(icon)、服务权限(permission)、使能(enabled)。其中,服务名为服务的名字,如果此项不设置,那么默认显示的服务名为类名,在申明服务的服务权限时,则只有提供可该权限的应用才能控制或者连接服务。如果使能(enabled)项设置了true,那么服务组件将会默认被系统启动,不设置,则默认为false。
可选地,第一客户端通过服务器制定的包名来确定第二客户端的服务进程的目标进程名,也即,确定服务可以运行的进程对应的进程名。
唤醒单元40,用于使第一客户端根据目标进程名通过服务器唤醒第二客户端,其中,第二客户端在唤醒的情况下,用于接收服务器推送的消息。
在第二获取单元30使第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名之后,唤醒单元40使第一客户端根据目标进程名通过服务器唤醒第二客户端,进而使第二客户端开启服务。可选地,唤醒单元40使第一客户端通过调用startService方法,可以通过后台制定包名来唤醒第二客户端,使第二客户端开启服务。
在通过唤醒单元40使第二客户端唤醒之后,第二客户端与服务器开启服务,可以接收服务器推送的消息。
由于预定服务拥有庞大的用户体系,几乎占领整个智能终端。在通过结合层单元10使第一客户端集成预定服务之后,只要有一个集成预定服务的客户端开启,则可以通过该开启的客户端唤醒其它多个未开启、且集成预定服务的客户端,从而达到裙带效果,使多个唤醒的客户端可以接收服务器推送的消息,解决了相关技术中在服务没有开启的情况下,客户端不能接收服务器推送的消息的技术问题。
图10是根据本发明实施例的另一种消息传输装置的示意图。如图10所示,该消息传输装置可以包括:集成单元10、第一获取单元20、第二获取单元30和唤醒单元40。其中,集成单元10包括:加载模块11和集成模块12。
需要说明的是,该实施例的集成单元10、第一获取单元20、第二获取单元30和唤醒单元40与图9所示实施例中的消息传输装置中的作用相同。
加载模块11,用于第一使客户端加载预设浏览器内核,其中,预设浏览器控件包括预设浏览器内核,预设浏览器内核包括唤醒功能,唤醒功能用于唤醒第二客户端。
加载模块11使第一客户端加载的预设浏览器内核可以为X5内核,第一客户端可以使用X5内核针对渲染、网络代理进行处理,以及用于相关功能的定制,该相关功能的定制包括用于唤醒第二客户端的功能。
可选地,预定服务为浏览服务BS,第一客户端接入官网提供的SDK,首先将官网提供的SDK中已经写好的Jar包放到第一客户端的工程的libs目录下,其中,Jar包为将已经写好的类打成的数据包,然后将第一客户端中的源码和XML里的系统包和类替换为SDK里的包和类,第一客户端的系统包和类与SDK里的包和类具有一一对应关系,在替换的时候是一一对应替换的。
集成模块12,用于使第一客户端根据预设浏览器内核的预设功能集成预定服务。
在加载模块11使第一客户端加载预设浏览器内核之后,第一客户端内部的Webview相关接口替换为SDK内部封装的Webview接口,这样在第一客户端创建预定服务的时候集成模块12就可以直接加载X5内核的Webview,进而可以使用X5内核内部的浏览引擎以及X5自带的相关功能。
图11是根据本发明实施例的另一种消息传输装置的示意图。如图11所示,该消息传输装置可以包括:集成单元10、第一获取单元20、第二获取单元30和唤醒单元40,集成单元10包括:加载模块11和集成模块12,其中,加载模块11包括:获取子模块111、替换子模块112和加载子模块113。
需要说明的是,该实施例的集成单元10、第一获取单元20、第二获取单元30和唤醒单元40,加载模块11和集成模块12与图10所示实施例中的消息传输装置中的作用相同。
获取子模块111,用于使第一客户端获取预设接口数据,其中,预设接口数据用于封装预定服务对应的浏览器接口。
该实施例的获取子模块111使第一客户端获取的预设接口数据可以由预定服务官网提供,用于封装预定服务对应的浏览器接口。
替换子模块112,用于使第一客户端将原始接口数据替换为预设接口数据,其中,原始接口数据用于封装第一客户端内置的浏览器接口。
该实施例的原始接口数据用于封装第一客户端内部相关的Webview相关接口的数据。在第一客户端获取预设接口数据之后,首先将预设接口数据放到第一客户端的工程的目录下,第一客户端获取原始接口数据与预设接口数据的预设对应关系,替换子模块112通过预设对应关系将原始接口数据替换为预设接口数据。
加载子模块113,用于使第一客户端通过预设接口数据加载预设浏览器内核。
在替换子模块112使第一客户端将原始接口数据替换为预设接口数据之后,第一客户端内部Webview相关接口替换成SDK内部封装的Webview接口,这样在第一客户端创建Webview的时候就用可以通过加载子模块113直接加载浏览器内核,进而可以使用浏览器内核内部的浏览器引擎以及X5内核自带的相关功能。
可选地,第二客户端包括多个客户端,其中,第一获取单元20用于第一客户端通过预定服务从服务器中获取多个客户端的名单信息,其中,标识信息包括名单信息。
第二客户端包括多个客户端,其名单信息由服务器配置,上述标识信息包括该多个客户端的名单信息。第一获取单元20使第一客户端通过预定服务从服务器中获取多个客户端的名单信息,从而实现获取第二客户端的标识信息的目的,进而达到在服务没有开启的情况下,客户端也能接收服务器推送的消息的效果。
图12是根据本发明实施例的另一种消息传输装置的示意图。如图12所示,该消息传输装置可以包括:集成单元10、第一获取单元20、第二获取单元30和唤醒单元40。该消息传输装置还包括:保存单元50。
需要说明的是,该实施例的集成单元10、第一获取单元20、第二获取单元30和唤醒单元40与图9所示实施例中的消息传输装置中的作用相同。
保存单元50,用于在第一客户端通过预定服务从服务器中获取第二客户端的名单信息之后,使第一客户端保存名单信息至本地,其中,本地用于通过预设页面加载名单信息。
在第一获取单元20使第一客户端通过预定服务从服务器中获取第二客户端的名单信息之后,保存单元50使第一客户端将名单信息保存在本地,其中,本地用于通过预设页面加载名单信息。
第二获取单元30用于在本地通过预设页面加载名单信息之后,第一客户端通过预定服务根据名单信息获取目标进程名。
图13是根据本发明实施例的另一种消息传输装置的示意图。如图13所示,该消息传输装置可以包括:集成单元10、第一获取单元20、第二获取单元30和唤醒单元40。其中,唤醒单元40包括:获取模块41和开启模块42。
需要说明的是,该实施例的集成单元10、第一获取单元20、第二获取单元30和唤醒单元40与图9所示实施例中的消息传输装置中的作用相同。
获取模块41,用于使第一客户端通过预定服务获取用于开启第二客户端的开启服务函数。
开启服务函数可以为应用环境(Context)中的startService()方法,通过开启服务函数来启动服务。获取模块41使第一客户端通过预定服务获取该开启服务函数。
开启模块42,用于使第一客户端根据开启服务函数开启目标进程名对应的第二客户端,其中,在第二客户端开启的情况下,第二客户端与服务器建立连接。
在获取模块41使第一客户端通过预定服务获取用于开启第二客户端的开启服务函数之后,通过开启模块42根据开启服务函数开启目标进程名对应的第二客户端,也即,开启模块42根据开启服务函数开启目标进程名对应的第二客户端与服务器的服务。从而唤醒第二客户端。在第二客户端唤醒的情况下,第二客户端与服务器建立连接,从而第二客户端可以接收服务器推动的消息,达到了在服务没有开启的情况下,客户端也能接收服务器推送的消息的效果。
需要说明的是,该实施例中的集成单元10可以用于执行本申请实施例1中的步骤S202,该实施例中的第一获取单元20可以用于执行本申请实施例1中的步骤S204,该实施例中的第二获取单元30可以用于执行本申请实施例1中的步骤S206,该实施例中的唤醒单元40可以用于执行本申请实施例1中的步骤S208。
该实施例通过集成单元10使第一客户端通过预设浏览器控件集成预定服务,其中,预定服务集成在一个或多个客户端,通过第一获取单元20使在第一客户端开启之后,第一客户端通过预定服务从服务器中获取第二客户端的标识信息,其中,第二客户端为未开启、且集成预定服务的客户端,通过第二获取单元30使第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名,其中,服务进程定义在服务组件中,通过唤醒单元40使第一客户端根据目标进程名通过服务器唤醒第二客户端,其中,第二客户端在唤醒的情况下,用于接收服务器推送的消息,从而实现了在服务没有开启的情况下,客户端接收服务器推送消息的技术效果,进而解决了相关技术中在服务没有开启的情况下,客户端不能接收服务器推送的消息的技术问题。
此处需要说明的是,上述单元和模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
实施例4
根据本发明实施例,还提供了一种用于实施上述消息传输方法的服务器或终端。
图14是根据本发明实施例的一种终端的结构框图。如图14所示,该终端可以包括:一个或多个(图中仅示出一个)处理器141、存储器143、以及传输装置145,如图14所示,该终端还可以包括输入输出设备147。
其中,存储器143可用于存储软件程序以及模块,如本发明实施例中的消息传输方法和装置对应的程序指令/模块,处理器141通过运行存储在存储器143内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的消息传输方法。存储器143可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器143可进一步包括相对于处理器141远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置145用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置145包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置145为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器143用于存储应用程序。
处理器141可以通过传输装置145调用存储器143存储的应用程序,以执行下述步骤:
第一客户端通过预设浏览器控件集成预定服务,其中,预定服务集成在一个或多个客户端;
在第一客户端开启之后,第一客户端通过预定服务从服务器中获取第二客户端的标识信息,其中,第二客户端为未开启、且集成预定服务的客户端;
第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名,其中,服务进程定义在服务组件中;
第一客户端根据目标进程名通过服务器唤醒第二客户端,其中,第二客户端在唤醒的情况下,用于接收服务器推送的消息。
处理器141还用于执行下述步骤:第一客户端加载预设浏览器内核,其中,预设浏览器控件包括预设浏览器内核,预设浏览器内核包括唤醒功能,唤醒功能用于唤醒第二客户端;第一客户端根据预设浏览器内核的预设功能集成预定服务。
处理器141还用于执行下述步骤:第一客户端获取预设接口数据,其中,预设接口数据用于封装预定服务对应的浏览器接口;第一客户端将原始接口数据替换为预设接口数据,其中,原始接口数据用于封装第一客户端内置的浏览器接口;第一客户端通过预设接口数据加载预设浏览器内核。
处理器141还用于执行下述步骤:第二客户端包括多个客户端,第一客户端通过预定服务从服务器中获取多个客户端的名单信息,其中,标识信息包括名单信息。
处理器141还用于执行下述步骤:在第一客户端通过预定服务从服务器中获取第二客户端的名单信息之后,第一客户端保存名单信息至本地,其中,本地用于通过预设页面加载名单信息;在本地通过预设页面加载名单信息之后,第一客户端通过预定服务根据名单信息获取目标进程名。
处理器141还用于执行下述步骤:第一客户端通过预定服务获取用于开启第二客户端的开启服务函数;第一客户端根据开启服务函数开启目标进程名对应的第二客户端,其中,在第二客户端开启的情况下,第二客户端与服务器建立连接。
采用本发明实施例,提供了一种消息传输方法。通过第一客户端通过预设浏览器控件集成预定服务,其中,预定服务集成在一个或多个客户端;在第一客户端开启之后,第一客户端通过预定服务从服务器中获取第二客户端的标识信息,其中,第二客户端为未开启、且集成预定服务的客户端;第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名,其中,服务进程定义在服务组件中;第一客户端根据目标进程名通过服务器唤醒第二客户端,其中,第二客户端在唤醒的情况下,用于接收服务器推送的消息,从而实现了在服务没有开启的情况下,客户端接收服务器推送消息的技术效果,进而解决了相关技术中在服务没有开启的情况下,客户端不能接收服务器推送的消息的技术问题。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图14所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图14其并不对上述电子装置的结构造成限定。例如,终端还可包括比图14中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图14所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行消息传输方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
第一客户端通过预设浏览器控件集成预定服务,其中,预定服务集成在一个或多个客户端;
在第一客户端开启之后,第一客户端通过预定服务从服务器中获取第二客户端的标识信息,其中,第二客户端为未开启、且集成预定服务的客户端;
第一客户端通过预定服务根据标识信息获取第二客户端的服务进程的目标进程名,其中,服务进程定义在服务组件中;
第一客户端根据目标进程名通过服务器唤醒第二客户端,其中,第二客户端在唤醒的情况下,用于接收服务器推送的消息。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:第一客户端获取预设接口数据,其中,预设接口数据用于封装预定服务对应的浏览器接口;第一客户端将原始接口数据替换为预设接口数据,其中,原始接口数据用于封装第一客户端内置的浏览器接口;第一客户端通过预设接口数据加载预设浏览器内核。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:第二客户端包括多个客户端,第一客户端通过预定服务从服务器中获取多个客户端的名单信息,其中,标识信息包括名单信息。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在第一客户端通过预定服务从服务器中获取第二客户端的名单信息之后,第一客户端保存名单信息至本地,其中,本地用于通过预设页面加载名单信息;在本地通过预设页面加载名单信息之后,第一客户端通过预定服务根据名单信息获取目标进程名。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:第一客户端通过预定服务获取用于开启第二客户端的开启服务函数;第一客户端根据开启服务函数开启目标进程名对应的第二客户端,其中,在第二客户端开启的情况下,第二客户端与服务器建立连接。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种消息传输方法,其特征在于,包括:
第一客户端通过预设浏览器控件集成预定服务,其中,所述预定服务集成在一个或多个客户端;
在所述第一客户端开启之后,所述第一客户端通过所述预定服务从服务器中获取第二客户端的标识信息,其中,所述第二客户端为未开启、且集成所述预定服务的客户端;
所述第一客户端通过所述预定服务根据所述标识信息获取所述第二客户端的服务进程的目标进程名,其中,所述服务进程定义在服务组件中;
所述第一客户端根据所述目标进程名通过所述服务器唤醒所述第二客户端,其中,所述第二客户端在唤醒的情况下,用于接收所述服务器推送的消息。
2.根据权利要求1所述的方法,其特征在于,所述第一客户端通过所述预设浏览器控件集成所述预定服务包括:
所述第一客户端加载预设浏览器内核,其中,所述预设浏览器控件包括所述预设浏览器内核,所述预设浏览器内核包括唤醒功能,所述唤醒功能用于唤醒所述第二客户端;
所述第一客户端根据所述预设浏览器内核的预设功能集成所述预定服务。
3.根据权利要求2所述的方法,其特征在于,所述第一客户端加载所述预设浏览器内核包括:
所述第一客户端获取预设接口数据,其中,所述预设接口数据用于封装所述预定服务对应的浏览器接口;
所述第一客户端将原始接口数据替换为所述预设接口数据,其中,所述原始接口数据用于封装所述第一客户端内置的浏览器接口;
所述第一客户端通过所述预设接口数据加载所述预设浏览器内核。
4.根据权利要求1所述的方法,其特征在于,所述第二客户端包括多个客户端,其中,所述第一客户端通过所述预定服务从所述服务器中获取所述第二客户端的标识信息包括:
所述第一客户端通过所述预定服务从所述服务器中获取所述多个客户端的名单信息,其中,所述标识信息包括所述名单信息。
5.根据权利要求4所述的方法,其特征在于,
在所述第一客户端通过所述预定服务从所述服务器中获取所述第二客户端的名单信息之后,所述方法还包括:所述第一客户端保存所述名单信息至本地,其中,所述本地用于通过预设页面加载所述名单信息;
所述第一客户端通过所述预定服务根据所述标识信息获取所述第二客户端的服务进程的目标进程名包括:在所述本地通过所述预设页面加载所述名单信息之后,所述第一客户端通过所述预定服务根据所述名单信息获取所述目标进程名。
6.根据权利要求1所述的方法,其特征在于,所述第一客户端根据所述目标进程名通过所述服务器唤醒所述第二客户端包括:
所述第一客户端通过所述预定服务获取用于开启所述第二客户端的开启服务函数;
所述第一客户端根据所述开启服务函数开启所述目标进程名对应的第二客户端,其中,在所述第二客户端开启的情况下,所述第二客户端与所述服务器建立连接。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,所述服务组件除所述服务进程之外,还至少包括以下一种或多种选项:
服务名;
服务类名;
服务图标;
服务权限;
服务使能。
8.一种消息传输装置,其特征在于,包括:
集成单元,用于使第一客户端通过预设浏览器控件集成预定服务,其中,所述预定服务集成在一个或多个客户端;
第一获取单元,用于使在所述第一客户端开启之后,所述第一客户端通过所述预定服务从服务器中获取第二客户端的标识信息,其中,所述第二客户端为未开启、且集成所述预定服务的客户端;
第二获取单元,用于使所述第一客户端通过所述预定服务根据所述标识信息获取所述第二客户端的服务进程的目标进程名,其中,所述服务进程定义在服务组件中;
唤醒单元,用于使所述第一客户端根据所述目标进程名通过所述服务器唤醒所述第二客户端,其中,所述第二客户端在唤醒的情况下,用于接收所述服务器推送的消息。
9.根据权利要求8所述的装置,其特征在于,所述集成单元包括:
加载模块,用于使所述第一客户端加载预设浏览器内核,其中,所述预设浏览器控件包括所述预设浏览器内核,所述预设浏览器内核包括唤醒功能,所述唤醒功能用于唤醒所述第二客户端;
集成模块,用于使所述第一客户端根据所述预设浏览器内核的预设功能集成所述预定服务。
10.根据权利要求9所述的装置,其特征在于,所述加载模块包括:
获取子模块,用于使所述第一客户端获取预设接口数据,其中,所述预设接口数据用于封装所述预定服务对应的浏览器接口;
替换子模块,用于使所述第一客户端将原始接口数据替换为所述预设接口数据,其中,所述原始接口数据用于封装第一所述客户端内置的浏览器接口;
加载子模块,用于使所述第一客户端通过所述预设接口数据加载所述预设浏览器内核。
11.根据权利要求8所述的装置,其特征在于,所述第二客户端包括多个客户端,其中,所述第一获取单元用于所述第一客户端通过所述预定服务从所述服务器中获取所述多个客户端的名单信息,其中,所述标识信息包括所述名单信息。
12.根据权利要求11所述的装置,其特征在于,
所述装置还包括:保存单元,用于在所述第一客户端通过所述预定服务从所述服务器中获取所述第二客户端的名单信息之后,使所述第一客户端保存所述名单信息至本地,其中,所述本地用于通过预设页面加载所述名单信息;
所述第二获取单元用于在所述本地通过所述预设页面加载所述名单信息之后,所述第一客户端通过所述预定服务根据所述名单信息获取所述目标进程名。
13.根据权利要求8所述的装置,其特征在于,所述唤醒单元包括:
获取模块,用于使所述第一客户端通过所述预定服务获取用于开启所述第二客户端的开启服务函数;
开启模块,用于使所述第一客户端根据所述开启服务函数开启所述目标进程名对应的第二客户端,其中,在所述第二客户端开启的情况下,所述第二客户端与所述服务器建立连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611064354.8A CN108111565B (zh) | 2016-11-25 | 2016-11-25 | 消息传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611064354.8A CN108111565B (zh) | 2016-11-25 | 2016-11-25 | 消息传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108111565A true CN108111565A (zh) | 2018-06-01 |
CN108111565B CN108111565B (zh) | 2020-08-04 |
Family
ID=62204694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611064354.8A Active CN108111565B (zh) | 2016-11-25 | 2016-11-25 | 消息传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108111565B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471757A (zh) * | 2019-03-29 | 2019-11-19 | 重庆长安汽车股份有限公司 | 一种车载智能天线系统的软件架构及汽车 |
CN110691137A (zh) * | 2019-10-10 | 2020-01-14 | 北京思特奇信息技术股份有限公司 | Sip服务器和ios之间的通信方法、手机及服务器 |
CN113271250A (zh) * | 2021-04-20 | 2021-08-17 | 长沙市到家悠享家政服务有限公司 | 一种多通道多格式即时消息转发方法、系统和计算机设备 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540687A (zh) * | 2009-05-06 | 2009-09-23 | 圆刚科技股份有限公司 | 远程唤醒方法、可被远程唤醒的主机以及唤醒管理服务器 |
CN102377799A (zh) * | 2010-08-11 | 2012-03-14 | 腾讯科技(深圳)有限公司 | 手机浏览器服务器端及其实现浏览器双线程模式的方法 |
US20120209951A1 (en) * | 2011-02-10 | 2012-08-16 | Trilliant Incorporated | Device and Method for Facilitating Secure Communications Over a Cellular Network |
US20120268487A1 (en) * | 2011-04-19 | 2012-10-25 | Samsung Electronics Co., Ltd. | Method and apparatus for defining overlay region of user interface control |
CN102957745A (zh) * | 2012-10-29 | 2013-03-06 | 北京百度网讯科技有限公司 | 定时提醒的方法与系统以及推送服务器 |
CN103179520A (zh) * | 2011-12-22 | 2013-06-26 | 中国电信股份有限公司 | 一种基于接收者状态的数据推送系统和方法 |
CN103229523A (zh) * | 2010-10-15 | 2013-07-31 | 三星电子株式会社 | 用于接收移动消息的装置及方法 |
CN103348663A (zh) * | 2011-01-05 | 2013-10-09 | 苹果公司 | 用于多用户设备的消息推送通知客户端改善 |
CN104079596A (zh) * | 2013-03-26 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 一种远程唤醒方法及装置 |
CN104580098A (zh) * | 2013-10-22 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种服务共享方法及装置 |
CN104679564A (zh) * | 2015-03-09 | 2015-06-03 | 浙江万朋网络技术有限公司 | 一种通过浏览器启动应用程序的方法 |
CN105446811A (zh) * | 2015-12-30 | 2016-03-30 | 广东欧珀移动通信有限公司 | 应用进程关联启动方法及关联启动装置 |
CN105635201A (zh) * | 2014-10-29 | 2016-06-01 | Tcl集团股份有限公司 | 一种基于推送消息的应用程序启动方法及系统 |
CN105681928A (zh) * | 2014-11-18 | 2016-06-15 | 小米科技有限责任公司 | 设备控制方法及装置 |
US20160219083A1 (en) * | 2015-01-23 | 2016-07-28 | Oracle International Corporation | Resource management for webrtc |
CN106055970A (zh) * | 2016-05-19 | 2016-10-26 | 努比亚技术有限公司 | 应用软件关联启动装置和方法 |
-
2016
- 2016-11-25 CN CN201611064354.8A patent/CN108111565B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540687A (zh) * | 2009-05-06 | 2009-09-23 | 圆刚科技股份有限公司 | 远程唤醒方法、可被远程唤醒的主机以及唤醒管理服务器 |
CN102377799A (zh) * | 2010-08-11 | 2012-03-14 | 腾讯科技(深圳)有限公司 | 手机浏览器服务器端及其实现浏览器双线程模式的方法 |
CN103229523A (zh) * | 2010-10-15 | 2013-07-31 | 三星电子株式会社 | 用于接收移动消息的装置及方法 |
CN103348663A (zh) * | 2011-01-05 | 2013-10-09 | 苹果公司 | 用于多用户设备的消息推送通知客户端改善 |
US20120209951A1 (en) * | 2011-02-10 | 2012-08-16 | Trilliant Incorporated | Device and Method for Facilitating Secure Communications Over a Cellular Network |
US20120268487A1 (en) * | 2011-04-19 | 2012-10-25 | Samsung Electronics Co., Ltd. | Method and apparatus for defining overlay region of user interface control |
CN103179520A (zh) * | 2011-12-22 | 2013-06-26 | 中国电信股份有限公司 | 一种基于接收者状态的数据推送系统和方法 |
CN102957745A (zh) * | 2012-10-29 | 2013-03-06 | 北京百度网讯科技有限公司 | 定时提醒的方法与系统以及推送服务器 |
CN104079596A (zh) * | 2013-03-26 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 一种远程唤醒方法及装置 |
CN104580098A (zh) * | 2013-10-22 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种服务共享方法及装置 |
CN105635201A (zh) * | 2014-10-29 | 2016-06-01 | Tcl集团股份有限公司 | 一种基于推送消息的应用程序启动方法及系统 |
CN105681928A (zh) * | 2014-11-18 | 2016-06-15 | 小米科技有限责任公司 | 设备控制方法及装置 |
US20160219083A1 (en) * | 2015-01-23 | 2016-07-28 | Oracle International Corporation | Resource management for webrtc |
CN104679564A (zh) * | 2015-03-09 | 2015-06-03 | 浙江万朋网络技术有限公司 | 一种通过浏览器启动应用程序的方法 |
CN105446811A (zh) * | 2015-12-30 | 2016-03-30 | 广东欧珀移动通信有限公司 | 应用进程关联启动方法及关联启动装置 |
CN106055970A (zh) * | 2016-05-19 | 2016-10-26 | 努比亚技术有限公司 | 应用软件关联启动装置和方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471757A (zh) * | 2019-03-29 | 2019-11-19 | 重庆长安汽车股份有限公司 | 一种车载智能天线系统的软件架构及汽车 |
CN110691137A (zh) * | 2019-10-10 | 2020-01-14 | 北京思特奇信息技术股份有限公司 | Sip服务器和ios之间的通信方法、手机及服务器 |
CN113271250A (zh) * | 2021-04-20 | 2021-08-17 | 长沙市到家悠享家政服务有限公司 | 一种多通道多格式即时消息转发方法、系统和计算机设备 |
CN113271250B (zh) * | 2021-04-20 | 2023-05-02 | 长沙市到家悠享家政服务有限公司 | 一种多通道多格式即时消息转发方法、系统和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108111565B (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908879B (zh) | 埋点数据的上报方法、装置、终端和存储介质 | |
CN103117906B (zh) | 一种移动终端共享WiFi热点时的流量监控方法 | |
CN103856961B (zh) | 用于基于飞蜂窝的应用程序的开发和管理的网络和产品 | |
CN106844137A (zh) | 服务器的监控方法和装置 | |
CN103729425B (zh) | 操作响应方法、客户端、浏览器及系统 | |
US20150110028A1 (en) | Method and system for implementing smart card remote operation | |
CN110121902B (zh) | 一种通信建立的方法及终端 | |
CN107179697A (zh) | 一种智能家居设备控制方法、装置及系统 | |
CN105051685B (zh) | 用于使得网络资产能够访问本地应用的系统和方法 | |
CN105915420A (zh) | 智能家居设备的添加方法及装置 | |
CN106375483A (zh) | 文件传输方法和装置 | |
CN102550003A (zh) | 用于管理持续丰富因特网应用的方法和设备 | |
CN107040543A (zh) | 单点登录方法、终端及存储介质 | |
CN108111565A (zh) | 消息传输方法和装置 | |
CN108462956A (zh) | 发现设备后即刻连接的方法和电子设备 | |
CN110399578A (zh) | 页面访问方法及装置 | |
CN102710427A (zh) | 一种远程开机系统及方法 | |
CN109714425A (zh) | 通信方法及装置 | |
CN103729440B (zh) | 一种访问网站的方法及装置 | |
CN103685491B (zh) | 一种应用服务提供方法、系统及相关设备 | |
CN101527646B (zh) | 一种web网络管理系统和方法 | |
CN105162874B (zh) | 一种扩展移动终端运算能力的系统 | |
CN102752884B (zh) | 基于Web技术的物联网系统及该系统的数据处理方法 | |
WO2023088198A1 (zh) | 网络连接方法、装置和电子设备 | |
CN107463524A (zh) | 一种访问数据的方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |