《在线应用平台的应用间通信方法、客户端及应用进程管理器.pdf》由会员分享,可在线阅读,更多相关《在线应用平台的应用间通信方法、客户端及应用进程管理器.pdf(9页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102662776 A(43)申请公布日 2012.09.12CN102662776A*CN102662776A*(21)申请号 201210094195.1(22)申请日 2012.04.01G06F 9/54(2006.01)H04L 29/06(2006.01)(71)申请人杭州格畅科技有限公司地址 310000 浙江省杭州市西湖区世贸丽晶城欧美中心2号楼(F区)1811室(72)发明人徐军 薛珂(74)专利代理机构北京康盛知识产权代理有限公司 11331代理人张良(54) 发明名称在线应用平台的应用间通信方法、客户端及应用进程管理器(57) 摘要本发明提供的在。
2、线应用平台的应用间通信方法,在线应用平台的客户端启动应用,按照预定的通信协议创建应用进程;并记录应用可处理的消息类型;当应用间进行通信时,接收发送方应用的消息,将消息投递至接收方应用所对应的应用进程的消息队列中;接收方应用的应用进程监控消息队列中的消息,并进行处理;当发送方应用或接收方应用退出时销毁应用进程。本发明还提供了在线应用平台的客户端,包括多个应用和应用进程管理器。另外还提供了在线应用平台的应用进程管理器,包括进程创建接口、发送进程消息接口和进程销毁接口。本发明从根本上避免由于信息传输中安全因素而引入的用户参与和授权过程。(51)Int.Cl.权利要求书2页 说明书4页 附图2页(19。
3、)中华人民共和国国家知识产权局(12)发明专利申请权利要求书 2 页 说明书 4 页 附图 2 页1/2页21.一种在线应用平台的应用间通信方法,其特征在于,包括步骤:在线应用平台的客户端启动应用,按照预定的通信协议创建应用进程;并记录所述应用可处理的消息类型;所述应用进程为所述应用在所述客户端运行时的存在形态,包括应用进程ID、应用名称、上下文空间、消息队列、可执行程序路径;所述消息队列为在线应用平台与所述应用进程进行通信的载体;当应用间进行通信时,接收发送方应用的消息,所述消息包括根据预定通信协议定义的应用名称、消息类型、消息体;将所述消息投递至接收方应用所对应的应用进程的消息队列中;所述。
4、接收方应用的应用进程监控消息队列中的消息,并进行处理;当所述发送方应用或接收方应用退出时销毁所述应用进程。2.根据权利要求1所述的在线应用平台的应用间通信方法,其特征在于,在线应用平台的客户端启动应用的入口包括URL或javascript脚本。3.根据权利要求1所述的在线应用平台的应用间通信方法,其特征在于,所述接收方应用进程监控消息队列中的消息,并进行处理的过程包括步骤:当监控到所述消息队列的中存在消息时,将所述消息复制到待处理队列;清空所述消息队列;获取所述待处理队列中的消息,并解析出消息体进行处理。4.一种在线应用平台的客户端,用于实现在线应用平台内应用间的通信,其特征在于,所述客户端包。
5、括多个应用和应用进程管理器;所述应用,用于通知所述应用进程管理器可处理的消息类型以及根据预定的通信协议生成消息;所述消息包括:应用名称、消息类型、消息体;所述应用进程管理器包括:进程创建接口,用于根据所述应用名称按照预定的通信协议创建应用进程,所述应用进程为所述应用在所述客户端运行时的存在形态,包括应用进程ID、应用名称、上下文空间、消息队列、可执行程序路径;所述消息队列为在线应用平台与所述应用进程进行通信的载体,所述应用进程监控所述消息队列中的消息,并进行处理;发送进程消息接口,用于接收发送方的消息,将所述消息投递至接收方应用所对应的应用进程的消息队列中;进程销毁接口,用于当所述发送方或接收。
6、方应用退出时销毁所述发送方或接收方应用的应用进程。5.根据权利要求4所述的在线应用平台的客户端,其特征在于,在线应用平台的客户端还包括启动所述应用的入口,所述应用的入口包括URL或javascript脚本。6.根据权利要求5所述的在线应用平台的客户端,其特征在于,所述应用进程监控消息队列中的消息,并进行处理的过程为:当监控到所述消息队列中存在消息时,将所述消息复制到待处理队列;清空所述消息队列;获取所述待处理队列中的消息,并解析出消息体进行处理。7.一种在线应用平台的应用进程管理器,用于实现在线应用平台内应用间的通信,其特征在于,所述应用进程管理器位于在线应用平台的客户端,包括:进程创建接口,。
7、用于根据应用名称按照预定的通信协议创建应用进程,所述应用进程权 利 要 求 书CN 102662776 A2/2页3为所述应用在所述客户端运行时的存在形态,包括应用进程ID、应用名称、上下文空间、消息队列、可执行程序路径;所述消息队列为在线应用平台与所述应用进程进行通信的载体,所述应用进程监控所述消息队列中的消息,并进行处理;发送进程消息接口,用于接收发送方应用的消息,所述消息包括:应用名称、消息类型、消息体;将所述消息投递至接收方应用所对应的应用进程的消息队列中;进程销毁接口,用于当所述发送方或接收方应用退出时销毁所述发送方或接收方应用的应用进程。8.根据权利要求7所述的在线应用平台的应用进。
8、程管理器,其特征在于,所述应用进程监控消息队列中的消息,并进行处理的过程为:当监控到所述消息队列的中存在消息时,将所述消息复制到待处理队列;清空所述消息队列;获取所述待处理队列中的消息,并解析出消息体进行处理。权 利 要 求 书CN 102662776 A1/4页4在线应用平台的应用间通信方法、 客户端及应用进程管理器技术领域0001 本发明涉及在线应用平台领域,特别是涉及在线应用平台的应用通信方法和在线应用平台的客户端及应用进程管理器。背景技术0002 传统的IPC(Inter-Process Communication,进程间通信)方法有管道、消息队列、信号量、共享内存等,这些进程间通信的。
9、技术通常针对的对象为单个的计算机资源内部的应用进程之间通信。而在线应用平台的应用服务分布于地理位置独立的计算机中心或者机房,因此传统操作系统的IPC通信技术仅适用于单个操作系统内部的进程通信,而不适用于在线应用平台的各种应用之间的通信。0003 目前针对在线应用平台的应用通信技术通常有以下几种方法:0004 方案1:通过互相信赖的应用服务器之间的HTTP或Socket协议进行远程调用和数据交换;方案2:由用户参与的第三方验证技术和开放平台,如OAUTH,OPENID。0005 由于在线应用平台的应用间通信过程是在网络传输,因此需要考虑通信数据的安全性问题,上述两种技术依赖应用服务器之间的点对点。
10、通信,为了保证通信的安全性,通信双方必须协商某种通信协议,而不同的应用提供商之间协议千差万别,同一应用需多次协商通信协议以适用于不同场景。另外方案1仅适于互相依赖的服务厂商之间,不具备普适性,不符合云计算的开放性原则,因此主要存在于企业内部系统。方案2在应用间通信的过程中需要用户多次参与,用户体验极差,对于一些访问频繁的应用场景几乎不具备可用性。发明内容0006 基于此,针对现有技术中在线应用通信由于安全性问题而引入的用户参与和授权过程,提供一种在线应用平台的应用通信方法、在线应用平台的客户端及在线应用平台的进程管理器。0007 本发明提供了一种在线应用平台的应用间通信方法,包括步骤:0008。
11、 在线应用平台的客户端启动应用,按照预定的通信协议创建应用进程;并记录所述应用可处理的消息类型;所述应用进程为所述应用在所述客户端运行时的存在形态,包括应用进程ID、应用名称、上下文空间、消息队列、可执行程序路径;所述消息队列为在线应用平台与所述应用进程进行通信的载体;0009 当应用间进行通信时,接收发送方应用的消息,所述消息包括根据预定通信协议定义的应用名称、消息类型、消息体;0010 将所述消息投递至接收方应用所对应的应用进程的消息队列中;0011 所述接收方应用的应用进程监控消息队列中的消息,并进行处理;0012 当所述发送方应用或接收方应用退出时销毁所述应用进程。0013 本发明还提。
12、供了一种在线应用平台的客户端,用于实现在线应用平台内应用间的说 明 书CN 102662776 A2/4页5通信,所述客户端包括多个应用和应用进程管理器;0014 所述应用,用于通知所述应用进程管理器可处理的消息类型以及根据预定的通信协议生成消息;所述消息包括:应用名称、消息类型、消息体;0015 所述应用进程管理器包括:0016 进程创建接口,用于根据所述应用名称按照预定的通信协议创建应用进程,所述应用进程为所述应用在所述客户端运行时的存在形态,包括应用进程ID、应用名称、上下文空间、消息队列、可执行程序路径;所述消息队列为在线应用平台与所述应用进程进行通信的载体,所述应用进程监控所述消息队。
13、列中的消息,并进行处理;0017 发送进程消息接口,用于接收发送方的消息,将所述消息投递至接收方应用所对应的应用进程的消息队列中;0018 进程销毁接口,用于当所述发送方或接收方应用退出时销毁所述发送方或接收方应用的应用进程。0019 本发明还提供了一种在线应用平台的应用进程管理器,用于实现在线应用平台内应用间的通信,所述应用进程管理器位于在线应用平台的客户端,包括:0020 进程创建接口,用于根据应用名称按照预定的通信协议创建应用进程,所述应用进程为所述应用在所述客户端运行时的存在形态,包括应用进程ID、应用名称、上下文空间、消息队列、可执行程序路径;所述消息队列为在线应用平台与所述应用进程。
14、进行通信的载体,所述应用进程监控所述消息队列中的消息,并进行处理;0021 发送进程消息接口,用于接收发送方应用的消息,所述消息包括:应用名称、消息类型、消息体;将所述消息投递至接收方应用所对应的应用进程的消息队列中;0022 进程销毁接口,用于当所述发送方或接收方应用退出时销毁所述发送方或接收方应用的应用进程。0023 首先,由于本发明在线平台内的应用之间的通信可完全在终端进行,避免通信过程在网络传输,从而从根本上避免由于信息传输中安全因素而引入的用户参与和授权过程。相互不受信任的应用之间亦可通过在线应用平台这一可信的第三方实现间接通信,通信安全性由在线应用平台保障。0024 其次,在线应用。
15、平台中的应用以应用进程的形态存在,应用进程之间通过预定的标准协议通信,所有应用进程角色平等,因此所有应用在平台内角色平等,应用之间无显式依赖。0025 另外,应用之间的通信通过在线应用平台内核的解析和中转,使用单一的通信协议,可避免通信接口的重复建设,相同能力的应用可互相替代,功能互补的应用可协作提供更丰富的能力。附图说明0026 图1为在线应用平台的应用间通信方法流程图;0027 图2为应用进程管理器的逻辑框图;0028 图3为应用进程处理消息队列的消息的流程图。具体实施方式说 明 书CN 102662776 A3/4页60029 本发明提供的在线应用平台的应用间通信方法是在在线应用平台的客。
16、户端进行的,作为一个实施例,在线应用平台的客户端可以为浏览器或嵌入了浏览器内核的应用程序。应用的入口可以是URL,或者Javascript脚本。本发明中所涉及的应用是在在线应用平台客户端内启动和使用的,运行于在线应用平台的窗体内部(通过Iframe嵌入或者Div嵌入),而非以单独的网页浏览方式使用。0030 值得一提的是,本发明中定义了一种虚拟进程,通过该虚拟进程完成应用间的通信,由于该虚拟进程所实现的功能与操作系统中进程有些类似,因此在本发明中将这种虚拟进程命名为应用进程。该应用进程的具体定义为应用在在线应用平台客户端运行时的存在形态,通过预定的通信协议定义的应用进程的关键因素包括:进程ID。
17、,应用名称,上下文空间,消息队列,可执行程序路径。0031 进程ID为应用进程的唯一标识;0032 应用名称是指应用进程所属应用的唯一名称,作为一个实施例,同一应用可启动多个应用进程,应用进程只属于单一应用;0033 上下文空间是指应用进程在内存中的空间块,用于保存应用进程运行过程中的状态数据。作为一个实施例,该上下文空间可以只允许应用本身和在线应用平台访问,对其它应用不可见。0034 消息队列是在线应用平台与应用进程进行通信的载体。0035 可执行程序路径是可以被在线应用平台执行的类或对象。该类或对象可以由main函数(或功能类似的主入口)供平台执行。执行该类的main函数(或功能类似的主入。
18、口)即可开启该应用。0036 如图1所示,该通信方法包括步骤:0037 在线应用平台的客户端启动应用(作为一个实施例,可以通过URL,或者Javascript脚本启动应用),按照预定的通信协议创建应用进程(S101);并记录所述应用可处理的消息类型(S102);0038 当被启动的应用间进行通信时,运行在在线应用平台的客户端的发送方应用按照预定的通信协议生成消息,发送给在线应用平台的客户端(S103);0039 在线应用平台的客户端将收到的消息投递至接收方应用所对应的应用进程的消息队列中(S104);0040 接收方应用的应用进程监控消息队列中的消息,并进行处理(S105);0041 当接收方。
19、或发送方应用退出时销毁该退出的应用所对应的应用进程(S106)。0042 在步骤S101-S106中所提到的预定的通信协议为应用进程通信时的语言和内容,通信协议的格式支持单不局限于以下格式:JSON,TEXT,XML。0043 通信协议除了定义应用进程的关键因素外,通过该通信协议定义还定义了消息的关键因素。消息内包含以下关键元素:应用名称,消息类型,消息体。作为一个实施例,应用名称是在线应用在平台内的唯一名称标识;消息类型是由应用自定义的唯一消息类型标识,同一应用的消息类型不重复。消息体承载消息的内容,作为一个实施例,其格式及所代表的意义可以由应用自行定义。0044 步骤S105中接收方应用进。
20、程监控消息队列中的消息,并进行处理的过程包括步骤:当接收方的应用进程监控到所对应的应用进程的消息队列的中存在消息时,将所述消说 明 书CN 102662776 A4/4页7息复制到待处理队列;清空消息队列;获取所述待处理队列中的消息,并解析出消息体进行处理。0045 与本发明的在线应用平台的应用间通信方法相对应,本发明还提供了一种在线应用平台的客户端,需要通信的应用均在该客户端内完成通信。该客户端内还包括应用进程管理器,负责应用进程的创建、销毁。应用进程管理器为在线应用平台的内部装置,与在线应用平台共享同一用户会话。0046 如图2所示,应用进程管理器包括:进程创建接口201、发送进程消息接口。
21、202和进程销毁接口203。应用进程管理器的工作原理如下:0047 在线应用经应用进程管理器启动后,进程创建接口根据应用名称按照预定的通信协议创建应用进程,在线应用向应用进程管理器报告可处理的消息类型。0048 当已启动的应用间进行通信时,发起方应用生成消息,调用进程管理器提供的发送进程消息接口向接收方应用发起通信请求,发送进程消息接口接收发送方应用的消息,投递至接收方应用进程的消息队列中,接收方的应用进程监控消息队列中的消息,并进行处理。当接收方或发送方应用退出时进程销毁接口销毁所述发送方或接收方应用的应用进程。0049 作为一个应用实例,在图3中列举了一个接收方应用进程处理消息队列中消息的。
22、具体流程:0050 检查消息队列长度(S301);判断消息队列的长度是否为0(S302);如果是,则退出(S303);否则,将消息队列中的消息复制到待处理队列(S304);清空消息队列(S305);使用FIFO规则从待处理队列依次获取消息(S306);解析消息体并处理(S307)。0051 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。说 明 书CN 102662776 A1/2页8图1图2说 明 书 附 图CN 102662776 A2/2页9图3说 明 书 附 图CN 102662776 A。