掌桥专利:专业的专利平台
掌桥专利
首页

一种跨GUI软件服务通信方法、装置、电子设备和存储介质

文献发布时间:2024-04-18 19:57:31


一种跨GUI软件服务通信方法、装置、电子设备和存储介质

技术领域

本申请涉及计算机软件技术领域,尤其涉及一种跨GUI软件服务通信方法、装置、电子设备和存储介质。

背景技术

基于W3C标准的现有Web运行时,Web应用网页在终端运行,只能通过URL(UniformResource Locator,统一资源定位器)打开其他Web应用或网页,或请求Web服务器的Restful或类似API(Application Programming Interface,应用程序接口)获得返回结果,或通过消息传递技术来收发消息。这种情况下,用户访问Web应用或网页时,只能定向与开发者指定的特定Web应用或网页进行交互,并且稍有疏忽容易带来跨站点脚本攻击的风险。标准的Web运行时不能在终端上为GUI(Graphical User Interface,图形用户界面)软件提供动态匹配通信的能力,无法根据服务定义的输入或输出,动态的为GUI软件提供匹配已安装或注册的安全可信任的服务的机制,并且没有提供GUI软件之间灵活且安全的动态匹配通信机制。

发明内容

有鉴于此,本申请实施例提供一种跨GUI软件服务通信方法、装置、电子设备和存储介质,便于实现安全的跨GUI软件动态匹配服务通信。

第一方面,本申请实施例提供的跨GUI软件服务通信方法,包括:建立服务间通信作用域;所述服务间通信作用域内包括至少两个已在web运行时中注册且当前处于运行状态的GUI软件;响应于对所述服务间通信作用域内的第一GUI软件的指定操作,所述web运行时接收所述第一GUI软件发送的符合自身所声明的输出数据规格的信息;在所述服务间通信作用域内,查找声明的输入数据规格与所述第一GUI软件所声明的输出数据规格相匹配的第二GUI软件;将所述第一GUI软件发出的所述信息,转发给所述相匹配的第二GUI软件,以使所述相匹配的第二GUI软件对所述信息进行处理。

进一步地,在建立服务间通信作用域之前,所述方法还包括:响应于对GUI软件的确认安装请求,获取所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格,将所述GUI软件、所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格在web运行时进行注册;每个GUI软件所声明的服务间通信的数据规格包括输入数据规格和/或输出数据规格。

进一步地,所述获取所述GUI软件所声明的服务间通信的数据规格,包括:获取所述GUI软件的应用清单;解析所述应用清单,从所述应用清单中获取所述GUI软件所声明的服务间通信的数据规格。

进一步地,所述将所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格在web运行时进行注册,包括:将所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格,在web运行时的服务管理模块中进行注册。

进一步地,所述web运行时接收所述第一GUI软件发送的符合自身所声明的输出数据规格的信息,包括:所述web运行时接收所述第一GUI软件调用web运行时提供的Web API发送的符合自身所声明的输出数据规格的信息。

第二方面,本申请实施例提供的跨GUI软件服务通信装置,所述装置包括:创建模块:用于建立服务间通信作用域;所述服务间通信作用域内包括至少两个已在web运行时中注册且当前处于运行状态的GUI软件;信息接收模块:用于响应于对所述服务间通信作用域内的第一GUI软件的指定操作,所述web运行时接收所述第一GUI软件发送的符合自身所声明的输出数据规格的信息;查找模块:用于在所述服务间通信作用域内,查找声明的输入数据规格与所述第一GUI软件所声明的输出数据规格相匹配的第二GUI软件;信息转发模块:用于所述web运行时将所述第一GUI软件发出的所述信息,转发给所述相匹配的第二GUI软件,以使所述相匹配的第二GUI软件对所述信息进行处理。

根据本发明实施例的一种具体实现方式,所述装置还包括:注册模块:用于响应于对第一GUI软件的确认安装请求,获取所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格,将所述GUI软件、所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格在web运行时进行注册;每个GUI软件所声明的服务间通信的数据规格包括输入数据规格和/或输出数据规格。

根据本发明实施例的一种具体实现方式,所述获取所述GUI软件所声明的服务间通信的数据规格,包括:获取所述GUI软件的应用清单;解析所述应用清单,从所述应用清单中获取所述GUI软件所声明的服务间通信的数据规格。

根据本发明实施例的一种具体实现方式,所述将所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格在web运行时进行注册,包括:将所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格,在web运行时的服务管理模块中进行注册。

根据本发明实施例的一种具体实现方式,所述信息接收模块:进一步用于所述web运行时接收所述第一GUI软件调用web运行时提供的Web API发送的符合自身所声明的输出数据规格的信息。

第三方面,本申请实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述第一方面任一所述的跨GUI软件服务通信方法。

第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面任一所述的跨GUI软件服务通信方法。

本申请可以达到至少以下技术效果:

本申请实施例提供的跨GUI软件服务通信方法、装置、电子设备和存储介质,能够建立服务间通信作用域;所述服务间通信作用域内包括至少两个已在web运行时中注册且当前处于运行状态的GUI软件;响应于对所述服务间通信作用域内的第一GUI软件的指定操作,所述web运行时接收所述第一GUI软件发送的符合自身所声明的输出数据规格的信息;由于能够在所述服务间通信作用域内,查找声明的输入数据规格与所述第一GUI软件所声明的输出数据规格相匹配的第二GUI软件,动态的为第一GUI软件匹配作用域内已注册的安全的第二GUI软件,并将所述第一GUI软件发出的所述信息,转发给所述相匹配的第二GUI软件,以使所述相匹配的第二GUI软件对所述信息进行处理。由此,能够实现安全的跨GUI软件动态匹配服务通信。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本申请实施例提供的一种跨GUI软件服务通信方法示意图;

图2为本申请实施例提供的一种跨GUI软件服务通信装置示意图;

图3为本申请电子设备一个实施例的架构示意框图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

关键术语

Web:即W3C(World Wide Web,万维网)也称作全球广域网,是一个透过互联网访问的,由许多互相链接的超文本组成的信息系统。

web运行时:本申请实施例中所述web运行时是Web应用运行的时候所依赖的环境,所有支持W3C标准的Web容器都可以称之为web运行时。web运行时通常以浏览器或WebView控件的形态来承载。

Web API:是对Web应用开发者提供的应用程序接口。API指应用程序接口,是一种计算接口,它定义多个软件中介之间的交互,以及可以进行的调用或请求的种类,如何进行调用或发出请求,应使用的数据规格,应遵循的惯例等。

下面通过具体的实例对本申请所涉及的一种跨GUI软件服务通信方案进行详述。

终端:Terminal,也称终端设备,是计算机网络中处于网络最外围的设备,主要用于用户信息的输入以及处理结果的输出等。本文主要指Web运行时的运行设备。

实施例一

本申请实施例提供一种跨GUI软件服务通信方法,可以实现安全的跨GUI软件动态匹配服务通信。

参看图1所示,图1为本申请实施例提供的一种跨GUI软件服务通信方法,应用于终端设备,所述方法包括:

S1:建立服务间通信作用域;所述服务间通信作用域内包括至少两个已在web运行时中注册且当前处于运行状态的GUI软件。

具体的,为控制动态匹配服务的有效作用范围,web运行时的服务管理模块提供服务间通信的作用域。建立服务间通信作用域,即通过将至少两个GUI软件相关联或相绑定,即可建立。通过建立服务间通信作用域实现域内通信,用户可以根据需要,将关联性高的至少两个GUI软件放在同一作用域内,通过同一作用域内的动态匹配交互服务,可以为用户提供更加灵活的交互,提升用户体验。例如,用户可以根据自己的需要,将文档阅读软件和翻译软件这两个关联性高的软件放在同一作用域内,这样在阅读文档时更加方便,节省精力。当用户需要用到多个翻译软件时,可以将文档阅读软件和多个翻译软件都放在作用域内时,这样,在阅读文档时,所述多个翻译软件可以同时对阅读的文档进行翻译,用户也可以对不同翻译软件翻译的情况进行对比,从而提升用户体验。

在一些实施例中,在建立服务间通信作用域之前,所述方法还包括:响应于对GUI软件的确认安装请求,获取所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格,将所述GUI软件、所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格在web运行时进行注册;每个GUI软件所声明的服务间通信的数据规格包括输入数据规格和/或输出数据规格。

可以理解的是,web运行时通过应用清单提供动态匹配通信服务声明方式,所述应用清单在W3C标准的基础上增加动态匹配的成员属性。所述GUI软件可以通过所述应用清单,对自身的动态匹配通信服务及服务间通信的数据规格进行声明,使用方(第一GUI软件)可以通过应用清单对自身的输出数据规格进行声明,提供方(第二GUI软件)可以通过应用清单对自身的输入数据规格进行声明。由此,将GUI软件中可独立对外提供动态匹配服务的部分进行拆分,并对外声明,摆脱软件只能通过整体对外提供服务的限制,促进形成基于业务的通用服务的软件生态建设。另外,web运行时的服务管理模块提供注册的机制,可以执行所述GUI软件、所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格的注册操作,其中,所述服务间通信的数据规格可由开发者自行定义。

在一些实施例中,GUI软件通过应用清单所声明的动态匹配通信服务可以包括动态匹配提供方的全局唯一ID,为了使跨GUI软件服务通信匹配更快速,使用方(第一GUI软件)可以根据所述提供者的全局唯一ID进行精准匹配;还可以包括动态匹配的类别和动态匹配的标签,所述动态匹配的类别和动态匹配的标签可由开发者自行定义,或使用预定义的类别;还可以包括动态匹配的名称和动态匹配的描述,所述动态匹配的名称和所述动态匹配的描述可以在Web运行时的服务管理模块管理时使用;还可以包括动态匹配的权限,所述动态匹配的权限可以表示提供交互的作用范围。

在一些实施例中,所述获取所述GUI软件所声明的服务间通信的数据规格,包括:获取所述GUI软件的应用清单;解析所述应用清单,从所述应用清单中获取所述GUI软件所声明的服务间通信的数据规格。

在一些实施例中,所述将所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格在web运行时进行注册,包括:将所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格,在web运行时的服务管理模块中进行注册。

S2:响应于对所述服务间通信作用域内的第一GUI软件的指定操作,所述web运行时接收所述第一GUI软件发送的符合自身所声明的输出数据规格的信息。

在一些实施例中,所述web运行时接收所述第一GUI软件发送的符合自身所声明的输出数据规格的信息,包括:所述web运行时接收所述第一GUI软件调用web运行时提供的Web API发送的符合自身所声明的输出数据规格的信息。

具体的,web运行时可以通过Web API提供跨GUI软件服务通信的使用方式,所述web应用程序接口Web API在W3C标准的基础上增加动态匹配请求及服务的接口,主要包括:发送动态匹配服务信息和监听并接收动态匹配服务信息,所述动态匹配服务信息即所述第一GUI软件发送的符合自身所声明的输出数据规格的信息。可以理解的是,在所述第一GUI软件向web运行时发送符合自身所声明的输出数据规格的信息之前,作用域内已注册的GUI软件已经在运行状态,即第一GUI软件和第二GUI软件都已经在运行状态。

S3:在所述服务间通信作用域内,查找声明的输入数据规格与所述第一GUI软件所声明的输出数据规格相匹配的第二GUI软件。

可以理解的是,web运行时的服务管理模块提供对匹配服务的调度机制,可以对动态匹配通信服务的使用方(第一GUI软件)和提供方(第二GUI软件)之间进行信息的匹配与传递。

S4:将所述第一GUI软件发出的所述信息,转发给所述相匹配的第二GUI软件,以使所述相匹配的第二GUI软件对所述信息进行处理。

示例性的,所述跨GUI软件服务通信方法的流程如下:

建立服务间通信作用域;所述服务间通信作用域内的GUI软件包括即时通信软件和日程管理软件,所述GUI软件已在所述web运行时中注册且当前处于运行状态;

用户在终端中操作所述即时通信软件的人机图形界面时,沟通信息中涉及到“某天和某人讨论某内容”时触发作用域内的通信,所述web运行时,接收所述即时通信软件发送的符合自身所声明的输出数据规格的信息,所述输出数据规格为事件时间、姓名及事件内容,所述信息为“某天和某人讨论某内容”;

在所述服务间通信作用域内,查找声明的输入数据规格与所述即时通信软件所声明的输出数据规格相匹配的GUI软件;

若所述相匹配的GUI软件为日程管理软件,将所述即时通信软件发出的所述信息,转发给所述日程管理软件,以使所述日程管理软件对所述信息根据数据规格进行处理,即通过自身的日程管理服务自动创建一个新的日程。

可以理解的是,所述服务间通信作用域内的GUI软件也可以包括其他GUI软件,例如任务管理软件和翻译软件。当作用域内存在多个输入数据规格和所述即时通讯软件的输出数据规格相匹配的GUI软件时,例如日程管理软件和任务管理软件都为相匹配的GUI软件时,所述日程管理软件和任务管理软件,可以同时接收到符合自身输入数据规格的所述信息,并根据自身设置对所述信息按照数据规格进行处理,以及决定是否向web运行时发送处理结果信息。

在一些实施例中,web运行时的服务管理模块还可以提供注销的机制,可以在卸载GUI软件时同步注销对外声明的动态匹配通信服务及服务间通信的数据规格。

本申请实施例的方案,能够建立服务间通信作用域;所述服务间通信作用域内包括至少两个已在所述web运行时中注册且当前处于运行状态的GUI软件;响应于对所述服务间通信作用域内的第一GUI软件的指定操作,所述web运行时,接收所述第一GUI软件发送的符合自身所声明的输出数据规格的信息;由于能够在所述服务间通信作用域内,查找声明的输入数据规格与所述第一GUI软件所声明的输出数据规格相匹配的第二GUI软件,动态的为第一GUI软件匹配作用域内已注册的安全的第二GUI软件,并将所述第一GUI软件发出的所述信息,转发给所述相匹配的第二GUI软件,以使所述相匹配的第二GUI软件对所述信息进行处理。由此,能够实现安全的跨GUI软件动态匹配服务通信。

实施例二

图2为本申请的一个实施例提供的跨GUI软件服务通信装置的结构示意图。请参考图2,在一种实施方式中的跨GUI软件服务通信装置,包括:

创建模块201:用于建立服务间通信作用域;所述服务间通信作用域内包括至少两个已在web运行时中注册且当前处于运行状态的GUI软件;

信息接收模块202:用于响应于对所述服务间通信作用域内的第一GUI软件的指定操作,所述web运行时接收所述第一GUI软件发送的符合自身所声明的输出数据规格的信息;

查找模块203:用于在所述服务间通信作用域内,查找声明的输入数据规格与所述第一GUI软件所声明的输出数据规格相匹配的第二GUI软件;

信息转发模块204:用于所述web运行时将所述第一GUI软件发出的所述信息,转发给所述相匹配的第二GUI软件,以使所述相匹配的第二GUI软件对所述信息进行处理。

本实施例的装置,可实现图1所示的方法实施例,具体实现过程和有益效果与图1所示的方法实施例的基本相同,在此不再赘述。

在一些实施例中,所述装置还包括:注册模块:用于响应于对第一GUI软件的确认安装请求,获取所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格,将所述GUI软件、所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格在web运行时进行注册;每个GUI软件所声明的服务间通信的数据规格包括输入数据规格和/或输出数据规格。

在一些实施例中,所述获取所述GUI软件所声明的服务间通信的数据规格,包括:获取所述GUI软件的应用清单;解析所述应用清单,从所述应用清单中获取所述GUI软件所声明的服务间通信的数据规格。

在一些实施例中,所述将所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格在web运行时进行注册,包括:将所述GUI软件所声明的动态匹配通信服务及服务间通信的数据规格,在web运行时的服务管理模块中进行注册。

在一些实施例中,所述信息接收模块:进一步用于所述web运行时接收所述第一GUI软件调用web运行时提供的Web API发送的符合自身所声明的输出数据规格的信息。

实施例三

图3为本申请电子设备一个实施例的架构示意框图;基于与前述实施例一基本相同的技术构思,本申请实施例提供的电子设备,如3所示,可以实现本申请实施例一中任一所述的实施例方法的步骤流程。

上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例一中任一所述的跨GUI软件服务通信方法。

处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本申请实施例一的描述,在此不再赘述。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例一任一所述的跨GUI软件服务通信方法。

所述电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子设备。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。

为了描述的方便,若涉及系统、服务器等,可能是以功能分为各种单元/模块分别描述。当然,在实施本申请时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种软件运行异常的分析方法、装置、电子设备及存储介质
  • 一种软件的安装方法、装置、电子设备及存储介质
  • 一种即时通信的数据存储方法、装置、电子设备和介质
  • 一种跨云适配的微服务管理方法、装置和存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种跨客户端的通信方法、装置、电子设备及存储介质
  • 一种跨客户端的通信方法、装置、电子设备及存储介质
技术分类

06120116458901