终端、触发方法和终端间应用程序通讯方法
技术领域
本发明涉及终端通讯,尤其涉及终端、触发方法和终端间应用程序通讯方法。
背景技术
当前随着智能终端的普及,运行在终端上的应用程序也越来越多。这些应用程序如果要进行终端到终端的通讯,一般都要求在业务使用前,由通讯双方终端上的客户端先主动连接到应用服务器并保持会话才能随时建立通讯。
在现有技术中,因短信可在手机之间即时通讯且不需为此建立连接,当终端1上的应用程序要和终端2上的应用程序通讯时,终端1建立起到应用服务器的会话并通过发送一个特殊格式的短信到终端2而通知终端2建立起到应用服务器的会话,通过应用服务器的调度来与终端1建立起通讯。
在实现本方案的过程中,发明人发现现有技术不但要使手机底层系统能够判定特定的短信类型且不将其交给特定应用程序处理;而且对每一个新的应用程序都需要完成下述工作:为此应用程序专门扩充一个短信类型;使此应用程序能够接收和解析此短信。因而,对终端应用程序的开发要求较高,实现起来难度较大。
发明内容
本发明实施例提供一种终端、触发方法和终端间应用程序通讯方法,用以解决在非连接的情况下,要实现终端应用程序之间建立连接比较复杂的问题。使得在减少终端和应用服务器间会话的情况下,降低终端应用程序开发的难度,提高终端应用程序的开发效率。
为达到上述目的,本发明实施例提供一种终端,包括:应用程序信息注册模块,用于对终端上的应用程序进行注册,并保存注册码;外部通讯模块,用于接收触发指令并提供给应用程序触发模块,所述触发指令中包括所要触发的应用程序的注册码;和应用程序触发模块,用于在应用程序信息注册模块中查询所要触发的应用程序的注册码是否已存在,若已存在就触发相应的应用程序。
进一步地,所述应用程序信息注册模块包括注册接口,用于对应用程序进行注册。
进一步地,所述应用程序信息注册模块包括存储器,用于存储所注册的注册码。
更进一步地,所述外部通讯模块包括解析转换器,用于对所述接收的触发指令进行解析并转换成内部触发指令。
更进一步地,所述应用程序触发模块包括进程通讯接口,用于在应用程序触发模块查询到所要触发的应用程序的注册码已存在之后,则通过进程通讯接口通知应用程序;和系统调用接口,用于在应用程序触发模块查询到所要触发的应用程序的注册码已存在之后,则通过系统调用接口激活应用程序。
一种终端上的应用程序的触发方法,包括以下步骤:
对终端上的应用程序进行注册,并保存注册码;
接收外部触发指令并转换成内部触发指令,其中触发指令中包括所要触发的应用程序的注册码;
查询所要触发的应用程序的注册码是否已存在:
若已存在,则触发相应的应用程序。
所述接收触发指令之后进一步包括:对所述接收的触发指令进行解析并转换成内部触发指令。
其中,所述触发指令为短信指令或非结构化补充数据业务指令。
进一步地,所述触发相应的应用程序包括通过进程通讯接口通知应用程序或通过系统调用接口激活应用程序。
一种终端之间的应用程序通讯的方法,包括以下步骤:
第一终端中的源应用程序连接到应用服务器;
所述应用服务器向第二终端发送触发指令,所述触发指令包括所要触发的目标应用程序的注册码;
所述第二终端接收所述触发指令,并根据所述触发指令查询所述要触发的应用程序的注册码是否已存在,若已存在,则所述第二终端触发目标应用程序;
第一终端中的源应用程序与第二终端内的目标应用程序进行通讯。
进一步地,触发相应的应用程序包括通过进程通讯接口通知应用程序或通过系统调用接口激活应用程序。
本发明实施例通过对应用程序进行注册并保存注册码,然后在接收触发指令时,查询触发指令中包括的所要触发的应用程序的注册码是否已存在,若已存在就根据注册码统一地触发相应的终端应用程序。这样,可以减少终端和应用服务器之间的会话,并使得应用程序的开发变的容易,本发明实施例的技术方案,多种标准通信协议只需扩充一次,终端底层系统只需配合改造一次,降低了终端应用程序开发的难度,提高了终端应用程序的开发效率。
附图说明
为了更清楚地说明本实用新型实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实用新型的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明终端实施例中的应用程序触发器的方框图;
图2为本发明实施例中以OTA方式对应用程序信息进行注册的流程图;
图3为本发明实施例终端上应用程序触发方法的流程图;
图4为本发明实施例终端间应用程序通讯方法的流程图。
图5为本发明实施例中基于短信触发的终端间应用程序进行通讯的流程示意图;
图6为本发明实施例中基于USSD触发的终端间应用程序进行通讯的流程示意图。
具体实施方式
为更好的理解本发明且使本发明能够易于实施。下面结合附图及具体实施例对本发明进行详细描述。
图1为本发明应用程序触发器实施例的方框图。如图1所示,本发明实施例提供一种终端应用程序触发器10,包括:应用程序信息注册模块12、应用程序触发模块14和外部通讯模块16;其中,应用程序信息注册模块12用于对终端上的应用程序进行注册,并保存注册码;外部通讯模块16用于接收触发指令并提供给应用程序触发模块14,其中触发指令中包括所要触发的应用程序的注册码;应用程序触发模块14用于在应用程序信息注册模块中查询所要触发的应用程序的注册码是否已存在,若已存在就触发相应的终端应用程序。
本发明实施例通过对应用程序进行注册并保存注册码,然后在接收触发指令时,查询触发指令中包括的所要触发的应用程序的注册码是否已存在,若已存在就根据注册码统一地触发相应的终端应用程序。这样,可以减少终端和应用服务器之间的会话,并使得应用程序的开发变的容易,本发明实施例的技术方案,多种标准通信协议只需扩充一次,终端底层系统只需配合改造一次,降低了终端应用程序开发的难度,提高了终端应用程序的开发效率。
其中,所述的应用程序信息包括:
应用程序注册码,每个应用程序在应用程序触发器上唯一的注册码。
触发方式:通知/激活。若应用程序总是处于启动状态,应用程序触发器则通过进程通讯接口通知它;若应用程序平时处于非启动状态,应用程序触发器则通过系统调用接口激活它。
进程标识:应用程序启动后的进程标识,应用程序触发器靠此标识和应用程序进行通讯。
应用程序位置:应用程序启动后存储的位置,应用程序触发器通过此应用程序位置标识来启动应用程序。
进一步地,应用程序信息注册模块包括统一的应用程序信息注册接口,用于对应用程序信息进行注册。应用程序信息的注册可有多种方式,如:用户在终端配置界面上手工输入应用注册信息;当应用程序运行时,自动调用该接口去注册;运营商统一管理这些终端应用程序信息,并通过一定途径同步到用户终端终端上(如OTA短信)。
进一步的,为保证本发明实施例的技术方案能够更好的实施,本发明实施例在实际运营中可能需要包括如下的一些应用条件:
1、每个客户端业务应用程序(含对应服务器)有唯一的应用程序注册码,这个应用程序注册码可以由运营商统一管理分配。目前运营商都有自己的业务管理平台,每个业务都在上面申请的业务代码都是唯一的,客户端上的每个业务应用程序也在业务管理平台上申请业务代码了,所以可以就直接使用这个代码做为应用程序注册码。
2、应用程序注册码除了在“应用程序触发器”上进行注册外,在应用服务器上也要注册一次(应用服务器在业务处理时要传给终端应用程序)。
更进一步地,应用程序信息注册模块包括存储器,用于存储注册码。
在一实施例中,外部通讯模块包括外部通讯接口,用于接收外部来的触发指令;所述外部通讯模块包括解析转换器,用于对所述触发指令进行解析并转换成内部触发指令。
在进一步的实施例中,应用程序触发模块包括进程通讯接口,用于在应用程序触发模块查询到所要触发的应用程序的注册码已存在之后,则通过进程通讯接口通知应用程序;有些终端应用对实时性要求较高,为节省启动时间,平时应用程序一直处在启动状态,但是和服务器端没有建立连接,对于这类应用,应用程序触发器模块通过消息接口通知应用程序即可,应用程序一旦收到该接口消息,立即去和服务端建立连接;应用程序触发模块包括系统调用接口,用于在应用程序触发模块查询到所要触发的应用程序的注册码已存在之后,则通过系统调用接口激活应用程序;有些终端应用只有在使用时才会启动起来,这样可以节省终端资源,对于这类应用,应用程序触发器通过系统调用接口将应用程序拉起来,这类应用程序的一般逻辑是:在启动后立即去连接对应的服务器,然后根据服务器的指令进行业务处理;在用户使用完后退出。
下面以OTA(over the air,空中下载)方式来描述应用程序信息注册的流程。
图2为本发明应用程序触发器实施例中以OTA方式对应用程序信息进行注册的流程图。如图2所示,当新发布了一个终端应用程序后,运营商在OTA服务器上发布该应用程序在终端上的注册配置信息。接着,OTA服务器通过OTA配置短信将应用程序注册信息发到用户终端上,用户终端上的OTA配置模块对配置短信按固有流程处理。如果OTA配置模块发现此短信是应用注册配置短信,则调用应用程序触发器提供的应用程序信息注册接口进行注册。
本发明实施例还提供一种终端上的应用程序的触发方法。图3为此方法的流程图。如图3所示,本发明实施例终端上的应用程序的触发方法包括:
步骤102,对终端上的应用程序进行注册,并保存注册码;
步骤104,接收触发指令,其中所述触发指令中包括所要触发的应用程序的注册码;
步骤106,查询所要触发的应用程序的注册码是否已存在:
步骤108,若已存在,则触发相应的应用程序。
本发明实施例通过对应用程序进行注册并保存注册码,然后在接收触发指令时,查询触发指令中包括的所要触发的应用程序的注册码是否已存在,若已存在就根据注册码统一地触发相应的终端应用程序。这样,可以减少终端和应用服务器之间的会话,并使得应用程序的开发变的容易,本发明实施例的技术方案,多种标准通信协议只需扩充一次,终端底层系统只需配合改造一次,降低了终端应用程序开发的难度,提高了终端应用程序的开发效率。
其中在所述接收触发指令之后进一步包括:对所述触发指令进行解析并转换成内部触发指令。
其中,所述触发指令优选地为短信指令或非结构化补充数据业务指令。
进一步地,触发相应的应用程序包括:若应用程序注册的触发方式为通知方式,则通过进程通讯接口通知应用程序;若应用程序注册的触发方式为激活方式,则通过系统调用接口激活应用程序。
下面以触发手机上的应用程序为例来具体描述应用程序触发的流程。
1、手机在收到特殊的外部消息时(例如:二进制通知短信),对特定“短信类型”进行特殊处理:传给应用程序触发器。
2、应用程序触发器的“外部通讯”模块对收到的消息进行解析,消息中含有“应用程序注册码”参数。然后转换成内部消息,内部消息包括:发起发方手机号码、应用程序注册码等等。
3、“外部通讯”模块将内部消息转给“应用程序触发”模块。
4、“应用程序触发”模块直接访问已注册的应用程序信息,检查上行消息中的应用程序注册码是否已存在。
5、如果不存在,则“应用触发”模块不做任何处理;如果已存在,则“应用触发”模块根据该应用程序注册的触发方式(在应用程序处于启动状态时为通知方式,在应用程序处于非启动状态时为激活方式),去通知或启动对应的终端应用程序。
此外,本发明实施例还提供一种终端间应用程序通讯的方法。图4为本发明实施例终端间应用程序通讯方法的流程图。如图4所示,终端间应用程序通讯的方法包括以下步骤:
步骤202:第一终端中的源应用程序连接到应用服务器;
步骤204:所述应用服务器向第二终端发送触发指令,所述触发指令包括触发类型、所要触发的目标应用程序的注册码;
步骤206:第二终端接收所述触发指令并根据所述触发指令查询所要触发的应用程序的注册码是否已存在,若已存在,则所述第二终端触发目标应用程序触发目标应用程序。
其中步骤206进一步包括以下三个子步骤,在步骤2061,应用程序触发器的外部通讯模块接收触发指令并转换成内部触发指令,其中触发指令中包括所要触发的应用程序的注册码;步骤2062,在应用程序信息注册模块中查询要触发的应用程序的注册码是否已存在;若已存在,则在步骤2063应用程序触发模块触发第二终端内的目标应用程序;
步骤208:第一终端中的源应用程序与第二终端内的目标应用程序进行通讯。
下面结合触发指令分别为短信指令和非结构化补充数据业务指令的两个具体实施例来描述终端之间应用程序通讯的方法。
实施例1:
图5为本发明实施例中基于短信触发的终端间应用程序进行通讯的流程。如图5所示:
1、用户1启动终端1上的应用程序1(应用1),输入用户2的连接标识(用户2在应用服务器1上的唯一标识,可能是手机号码、或在服务器上的注册账号)。应用程序1连接到应用服务器1上,并发出通讯请求,请求中带有用户2的连接标识。
2、应用服务器1根据用户2的连接标识,可以获取用户2的手机号码,或在服务器上的注册账号。给用户2发出特殊二进制短信,接收方为2的号码,短信需带有两个关键参数:短信类型(区分PUSH、闪信等其他二进制短信),应用程序注册码。
3、短信息服务中心(Short Message Service Center,SMSC)将带有应用程序注册码的短信发到用户2的终端(终端2)上。
4、终端2收到这种特殊二进制通知短信后,能根据“短信类型”进行特殊处理:是传给短信客户端软件还是传给“应用程序触发器”模块。若传给应用程序触发器,则应用程序触发器的外部通讯模块对接收的触发指令进行解析并转换成内部触发指令提供给应用程序触发模块,其中所接收的触发指令中包括所要触发的应用程序的注册码;接着,应用程序触发模块在应用程序信息注册模块中查询要触发的应用程序的注册码是否已存在;若已存在,则触发对应的目标应用程序。
5、终端2上的应用程序1建立到应用服务器1的连接,通过服务器和同样已连接到服务器上的终端1上的应用程序1建立通讯。
实施例2:
图6为本发明实施例中基于非结构化补偿数据业务(UnstructuredSupplementary Service Data,USSD)触发的终端间应用程序进行通讯的流程。
小孩通过终端上的“给我回电”应用,通过USSD触发父亲的手机给自己回拨电话。具体流程如图6所示:
1、用户1启动终端1上的“给我回电”应用程序,输入(或选择)用户2的手机号码。客户端应用通过内部协议连接到应用服务器,接口中带有用户1,用户2的手机号码信息。
2、应用服务器判断用户1是否有使用该业务的权限,且是否能呼叫用户2,如果有,则向USSDC(非结构化补充数据业务中心)发出一个USSD请求,被叫方是用户2的手机号码,USSD请求中带有应用程序的注册码。
3、USSDC将请求内容发到用户2的终端上,带有消息类型:应用程序触发。
4、终端2收到USSDC请求后,能根据“短信类型”进行特殊处理:是传给USSD客户端软件还是传给“应用程序触发器”。如果传给“应用程序触发器”,则应用程序触发器的外部通讯模块对接收的触发指令进行解析并转换成内部触发指令提供给应用程序触发模块,其中所接收的触发指令中包括所要触发的应用程序的注册码;接着,应用程序触发模块在应用程序信息注册模块中查询要触发的应用程序的注册码是否已存在;若已存在,则触发对应的目标应用程序“给我回电”。
5、“给我回电”应用程序自动拨打用户1手机号码,同时播放振铃声提示用户2。
本发明实施例通过对应用程序进行注册并保存注册码,然后在接收触发指令时,查询触发指令中包括的所要触发的应用程序的注册码是否已存在,若已存在就根据注册码统一地触发相应的终端应用程序。这样,可以减少终端和应用服务器之间的会话,并使得应用程序的开发变的容易,本发明实施例的技术方案,多种标准通信协议只需扩充一次,终端底层系统只需配合改造一次,降低了终端应用程序开发的难度,提高了终端应用程序的开发效率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。