一种包括本地组件的代理框架服务系统及方法与流程

文档序号:11842889阅读:240来源:国知局
一种包括本地组件的代理框架服务系统及方法与流程

本发明涉及计算机技术领域,尤其涉及一种代理框架服务系统及方法。



背景技术:

现有的计算机应用系统中,经常需要利用一部分第三方提供的组件来实现某些业务功能,尤其是在一些需要与硬件交互的系统中,这种情况统更为常见。在类似这样的应用系统中,一个普遍的问题是,第三方提供的组件有可能是由一种老的技术来实现的,或者这些第三方提供的组件仅能运行在某一特定的平台或特定的运行时环境中。使得这些第三方提供的组件无法与整个应用系统兼容,从而造成整个第三方组件服务系统操作不便、部署困难。



技术实现要素:

针对现有的计算机应用系统利用第三方提供的组件时存在的上述问题,现提供一种旨在实现简单操作,且部署方便的包括本地组件的代理框架服务系统及方法的。

具体技术方案如下:

一种包括本地组件的代理框架服务系统,其中,

提供至少一个远程服务端,每个所述远程服务端中设置有用以执行预定功能的远程执行单元;

提供至少一个用以执行预定功能的本地执行模块;

提供一通信单元;

提供一包括所述本地执行模块的本地代理单元,用以根据当前运行的应用程序的请求,选择对应的所述远程执行单元或者所述本地执行模块执行所述请求,并获取执行结果后返回给所述应用程序;

所述本地代理单元通过所述通信单元与所述远程服务端设置的所述远程执行单元连接。

优选的,该代理框架服务系统,其中,所述本地代理单元包括:

接口模块,所述接口模块用以连接所述应用程序,所述接口模块包括:

配置信息获取组件,用以向所述应用程序提供系统配置信息;

指令执行组件,用以接收所述应用程序的请求,及与所述请求对应的执行参数,并向所述应用程序发送执行结果。

优选的,该代理框架服务系统,其中,所述本地代理单元包括:

远程管理模块,连接所述接口模块及所述通信单元,用以将所述接口模块获取的来自所述应用程序的请求及所述请求对应的执行参数通过所述通信单元发送至对应的所述远程执行单元,并将所述远程执行单元的执行结果发送至所述接口模块,以及提供所述远程执行单元与所述本地代理单元的连接状态至所述配置信息获取组件。

优选的,该代理框架服务系统,其中,所述通信单元包括:

至少一个代理客户端模块,连接所述远程管理模块;

于所述本地代理单元向所述远程执行单元发送所述请求时,所述远程管理模块启动相应的所述代理客户端模块,以维持所述本地代理单元与相应的所述远程执行单元之间的连接。

优选的,该代理框架服务系统,其中,所述通信单元包括:

转换组件,用以将所述本地代理单元发出的请求转换为所述远程服务端可接受的格式,发送至所述远程服务端;以及,将所述远程服务端产生的执行结果转换为所述本地代理单元可接受的格式,发送至所述本地代理单元;和/或

监测组件,用以监测所述本地代理单元与所述远程执行单元之间的连接状态;和/或

注册管理组件,用以接收所述远程执行单元的注册请求,并根据所述注册请求将对应的所述远程执行单元注册至所述本地代理单元。

优选的,该代理框架服务系统,其中,所述通信单元通过套接字通讯模式维持所述本地代理单元与所述远程执行单元之间的通信。

优选的,该代理框架服务系统,其中,所述远程执行单元包括:

至少一个远程功能组件,用以根据所述请求执行预定的功能,并 产生相应的执行结果;

宿主模块,分别连接所述通信单元及所述远程功能组件,用以启动所述远程功能组件,将通过所述通信单元获取的所述请求转换为相应的所述远程功能组件可接受的指令,并控制所述远程功能组件根据对应的所述指令执行预定功能;以及,将所述远程功能组件的所述执行结果通过所述通信单元发送至所述本地代理单元。

优选的,该代理框架服务系统,其中,所述本地代理单元包括:

启动控制模块,通过所述通信单元连接对应的所述宿主模块,用以可控制地启动对应的所述宿主模块。

优选的,该代理框架服务系统,其中,所述宿主模块包括:

注册组件,连接所述通信单元,用以于所述宿主模块启动后向所述通信单元发送注册请求,以将所述宿主模块注册到所述本地代理单元。

优选的,该代理框架服务系统,其中,所述宿主模块包括:

状态监测组件,用以检测所述本地代理单元的工作状态,并于所述本地代理单元停止工作时使所述宿主模块退出运行。

优选的,该代理框架服务系统,其中,所述本地执行模块包括:

至少一个本地功能组件,用以根据所述请求执行预定的功能,并产生相应的执行结果;

所述本地代理单元中包括:

本地管理组件,分别连接所述接口模块和所述本地执行模块,用于根据所述应用程序的所述请求选择相应的所述本地功能组件,并控制被选择的所述本地功能组件执行预定功能;以及,将所述本地功能组件的所述执行结果通过所述接口模块发送至所述应用程序。

优选的,该代理框架服务系统,其中,所述本地执行模块中还包括:

本地注册组件,分别连接所述本地功能组件,用以根据所述本地执行模块的请求,将相应的所述本地功能组件注册到所述本地代理单元中。

优选的,该代理框架服务系统,其中,所述远程执行单元与所述 本地代理单元工作于不同的操作系统下;和/或

所述本地执行模块与所述本地代理单元工作于相同的操作系统下。

一种包括本地组件的代理框架服务方法,其中,包括:

提供至少一个包括用于执行预定功能的远程执行单元的远程服务端;

提供一包括本地执行模块的本地代理单元;

在所述本地代理单元与所述远程服务端中的所述远程执行单元之间实现远程连接;

所述代理框架服务方法中,基于所述远程执行单元的服务方法具体包括:

步骤S1a,所述本地代理单元获取当前运行的应用程序的请求;

步骤S2a,所述本地代理单元根据所述请求选择相应的所述远程执行单元,以在远程执行所述请求并形成相应的执行结果;

步骤S3a,所述本地代理单元将由所述远程执行单元处理形成的所述执行结果返回至所述应用程序,以供所述应用程序使用;

所述代理服务方法中,基于所述本地执行模块的服务方法具体包括:

步骤S1b,所述本地代理单元获取当前运行的应用程序的请求;

步骤S2b,所述本地代理单元根据所述请求选择相应的所述本地执行模块,以执行所述请求并形成相应的执行结果;

步骤S3b,所述本地代理单元将由所述本地执行模块处理形成的所述执行结果返回至所述应用程序,以供所述应用程序使用。

优选的,该代理框架服务方法,其中,所述本地代理单元通过相应的接口向所述应用程序提供系统配置信息;

所述步骤S1a中,所述本地代理单元通过所述接口获取当前运行的所述应用程序的所述请求,以及与所述请求对应的执行参数。

优选的,该代理框架服务方法,其中,所述应用程序的请求及相应的所述执行参数通过设置于所述本地代理单元中的一远程管理模块发送至相应的所述远程执行单元;以及通过所述远程管理模块提供 所述远程执行单元与所述本地代理单元之间的连接状态,以包括在所述系统配置信息中。

优选的,该代理框架服务方法,其中,所述步骤S2a中,当所述本地代理单元通过所述通信单元发送所述请求时,采用所述远程管理模块于所述通信单元中形成一代理客户端进程,以所述本地代理单元与相应的所述远程执行单元之间的连接。

优选的,该代理框架服务方法,其中,所述本地代理单元通过所述通信单元发送的所述请求及相应的所述执行参数,被转换成所述远程服务端可接受的格式并被所述远程服务端接收;

所述远程服务端通过所述通信单元发送的所述执行结果,被转换成所述本地代理单元可接受的格式并被所述本地代理单元接收。

优选的,该代理框架服务方法,其中,当所述本地代理单元与所述远程服务端通过所述通信单元远程通信时:

监测所述本地代理单元与所述远程执行单元之间的连接状态;和/或

接收所述远程执行单元的注册请求,并根据所述注册请求将对应的所述远程执行单元注册至所述本地代理单元。

优选的,该代理框架服务方法,其中,于每个所述远程执行单元中设置相应的至少一个远程功能组件以及一宿主模块,每个所述远程功能组件用以执行预设的功能;

所述步骤S2a中,所述远程执行单元接收所述请求,并选择相应的一个所述远程功能组件,以执行预定的功能并生成相应的所述执行结果;

采用所述宿主模块启动所述远程功能组件,并将所述请求转换成相应的所述远程功能组件可接受的指令,以所述指令控制所述远程功能组件执行预定的功能;以及

将所述执行结果通过所述通信单元发送至所述本地代理单元;

优选的,该代理框架服务方法,其中:

所述本地代理单元通过所述通信单元可控制地启动所述宿主模块;和/或

当所述宿主模块被启动时,所述宿主模块向所述通信单元发送注册请求,以将所述宿主模块注册到所述本地代理单元。

优选的,该代理框架服务方法,其中,采用所述宿主模块检测所述本地代理单元的工作状态,并于所述本地代理单元停止工作时控制所述宿主模块退出运行。

优选的,该代理框架服务方法,其中,于每个所述本地执行模块中设置至少一个本地功能组件,每个所述本地功能组件用以执行预设的功能;

于所述本地代理单元中设置一本地管理组件;

所述步骤S2b中,所述本地管理组件根据当前运行的所述应用程序的所述请求选择相应的一个所述本地执行模块,以控制相应的所述本地功能组件执行预定的功能并处理形成相应的所述执行结果。

优选的,该代理框架服务方法,其中,根据所述本地执行模块的相应的注册请求,将相应的所述本地功能组件注册到所述本地代理单元中。

优选的,该代理框架服务方法,其中,所述远程执行单元与所述本地代理单元工作于不同的操作系统下;和/或

所述本地执行模块与所述本地代理单元工作于相同的操作系统下。

上述技术方案的有益效果是:

1)提供一种代理框架服务系统,解决现有的计算机无法便捷地利用跨平台的第三方组件处理事务的问题,且该代理框架服务系统部署方便、操作简单;

2)提供一种基于上述代理框架服务系统的服务方法,于代理框架服务系统上实现代理服务管理。

附图说明

图1是本发明的较佳的实施例中,一种代理框架服务系统的总体结构示意图;

图2-4是本发明的较佳的实施例中,代理框架服务系统的分部结 构示意图;

图5-6是本发明的较佳的实施例中,一种代理框架服务方法的流程示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。

本发明的较佳的实施例中,提供一种包括本地组件的代理框架服务系统,其总体结构如图1所示,包括:

提供至少一个远程服务端1(图1中仅示出一个)。本发明的较佳的实施例中,每个远程服务端1中设置有用以执行预定功能的远程执行单元11。本发明的较佳的实施例中,于一个远程服务端1中可以设置一个对应的远程执行单元11。本发明的较佳的实施例中,可以设置多个远程服务端1,因此该系统中包括多个远程执行单元11,图1中仅示出一个。

提供一通信单元2;

提供一本地代理单元3。本发明的较佳的实施例中,本地代理单元3用以根据当前运行的应用程序的请求,选择对应的远程执行单元于远程执行请求,并获取执行结果后返回给应用程序。换言之,本发明的较佳的实施例中,本地代理单元3通过通信单元2与远程服务端1设置的远程执行单元11连接。

本发明的较佳的实施例中,上述本地代理单元3中还包括至少一个本地执行模块34。每个本地执行模块34用以执行预定的功能。对于本地执行模块34的构成及作用会在下文中详述,则本发明的较佳的实施例中,上述本地单利单元3还可以根据应用程序的请求,选择一个相应的本地执行模块34执行预设功能,以返回给应用程序相应的执行结果。

本发明的较佳的实施例中,具体地,如图2所示,上述本地代理单元3中包括:

接口模块31。本发明的较佳的实施例中,接口模块31用以连接 应用程序。即接口模块31与当前运行的应用程序之间实现数据传输。

具体地,本发明的较佳的实施例中,仍然如图2所示,上述接口模块31中包括:

配置信息获取组件311。本发明的较佳的实施例中,配置信息获取组件311用于获取系统配置信息,并向当前运行的应用程序提供上述系统配置信息。本发明的一个较佳的实施例中,系统配置信息中可以包括本地代理单元3通过通信单元2与远程服务端1中相应的远程执行单元11之间的连接状态,和/或供当前运行的应用程序进行配置以适应本地代理单元应用平台的其他各项系统参数等。

指令执行组件312。本发明的较佳的实施例中,指令执行组件312用于接收应用程序的请求,及与请求对应的执行参数,并向应用程序发送执行结果。

本发明的较佳的实施例中,所谓执行参数,是指应用程序请求相应的执行单元(远程执行单元或者本地执行模块)执行相应请求对应的实际的执行内容。例如,执行单元中包括的第三方组件为绘制分子结构图的组件,而当前运行的应用程序需要根据给定的分子式绘制相应的分子结构图,因此应用程序可以发出请求以调用相应的执行单元中的第三方组件,则上述执行参数中可以包括绘制分子结构图所依据的分子式等数据。

本发明的较佳的实施例中,上述指令执行组件具有两个功能:一是根据应用程序提出的请求,向远程服务端1发送请求以及相应的执行参数;二是根据远程的相应的远程执行单元处理形成的执行结果,向应用程序返回该执行结果。

本发明的较佳的实施例中,具体地,仍然如图2所示,上述本地代理单元3中还包括:

远程管理模块32,连接接口模块31及通信单元2。本发明的较佳的实施例中,远程管理模块32用以将接口模块31获取的来自应用程序的请求及请求对应的执行参数通过通信单元2发送至对应的远程执行单元11,并将远程执行单元11的执行结果发送至接口模块31,以及提供远程执行单元11与本地代理单元3的连接状态至上述配置 信息获取组件311。本发明的较佳的实施例中,具体地,如图3所示,上述通信单元2中包括:

转换组件21。本发明的较佳的实施例中,转换组件21用于将本地代理单元3发出的请求转换为远程服务端1可接受的格式,发送至远程服务端1;以及,将远程服务端1产生的执行结果转换为本地代理单元3可接受的格式,发送至本地代理单元。换言之,本发明的较佳的实施例中,转换组件21用于在本地代理单元3与远程服务端1之间实现数据格式的转换,以便于本地代理单元3和远程服务端1接收到的数据格式均可被解析和处理。

本发明的较佳的实施例中,上述通信单元2中还包括:

监测组件22。本发明的较佳的实施例中,上述监测组件22用于监测本地代理单元3与远程执行单元11之间的连接状态;

注册管理组件23。本发明的较佳的实施例中,注册管理组件23用于接收远程执行单元11的注册请求,并根据注册请求将对应的远程执行单元11注册至本地代理单元3。具体地,本发明的较佳的实施例中,上述注册管理组件23实际用于将成功与本地代理单元3连接的远程执行单元11的信息注册到本地代理单元3中,以将该连接状态信息加入到系统配置信息中,从而本地代理单元3可以通过向应用程序提供系统配置信息的方式告知应用程序此时可用的远程执行单元11及其相应的预设功能,以供应用程序参考。

本发明的较佳的实施例中,上述通信单元2通过套接字(Socket)通讯模式维持本地代理单元与远程执行单元之间的通信。

本发明的较佳的实施例中,上述通信单元2中还包括:

至少一个代理客户端模块24(图3中仅示出一个),连接远程管理模块32。本发明的较佳的实施例中,于本地代理单元向远程执行单元发送请求时,远程管理模块启动相应的代理客户端模块。具体地,本发明的较佳的实施例中,上述代理客户端模块24用于维护上述本地代理单元3与相应的执行单元11之间的连接。

本发明的较佳的实施例中,如图4所示,上述远程执行单元11中包括:

至少一个远程功能组件111。本发明的较佳的实施例中,每个远程功能组件111用于根据请求执行预定的功能,并产生相应的执行结果。具体地,本发明的较佳的实施例中,远程执行单元11中实际起作用的是上述远程功能组件111,每个远程功能组件111适用于完成一项相应的功能。

宿主模块112,分别连接通信单元2及远程功能组件111。本发明的较佳的实施例中,上述宿主模块112用于启动远程功能组件111,并将通过通信单元2获取的请求转换为相应的远程功能组件111可接受的指令,并控制远程功能组件111根据对应的指令执行预定功能;以及,将远程功能组件111的执行结果通过通信单元发送至本地代理单元。具体地,本发明的较佳的实施例中,上述宿主模块112的作用在于对上述远程功能组件111进行控制,将请求转换成相应的指令,并根据指令控制相应的远程功能组件111处理相应的事务,并输出执行结果。

因此,本发明的较佳的实施例中,本地的应用程序可以通过发出请求的方式请求远程功能组件执行预设的功能,从而调用相应的远程功能组件以处理并返回相应的执行结果。

仍然以化学分子式为例。使用者想通过本地的应用程序,依照给定的化学分子式画出相应的分子结构图,但是画图的相关组件为第三方组件,且该第三方组件与本地的应用程序运行于不同的操作系统中。例如本地的应用程序运行于Windows操作系统中,而画分子结构图所需的第三方组件需要运行在Linux操作系统中。在这种情况下,可以采用本发明技术方案中所述的配置方式,将该第三方组件运行于远程的在Linux操作系统下工作的服务端中,采用本地代理单元3将应用程序的请求发送至相应的第三方组件(远程功能组件111),以请求相应的第三方组件执行预定功能并返回执行结果,可以解决现有技术中因第三方组件需要运行在与主操作系统不同的操作系统中而无法调用该第三方组件的问题。

进一步地,本发明的较佳的实施例中,仍然如图2所示,上述本地代理单元3还包括:

启动控制模块33,通过通信单元2连接对应的宿主模块112(图2中仅示出启动控制模块33与通信单元2连接的部分)。本发明的较佳的实施例中,上述启动控制模块33用于可控制地启动对应的宿主模块112。具体地,本发明的一个较佳的实施例中,提供一种启动上述宿主模块112的实现方法:本地代理单元3被启动,随后通过其中包括的启动控制模块31,通过通信单元2发送控制指令至相应连接的远程执行单元11中的宿主模块112,以启动宿主模块112,从而启动该宿主模块112对应的远程功能组件111,通过注册管理组件23完成该远程执行单元11的注册过程。

本发明的较佳的实施例中,上述技术方案用于解决本地代理单元3异常关闭或者异常重启的情形。若不具有上述启动控制模块31,则当本地代理单元3异常关闭或者异常重启时,设置于远程执行单元11中的相应的远程功能组件111并不会相应关闭或重启,则不会重新向本地代理单元3发送注册请求以完成注册,因此在相应的系统配置信息中也会缺失相关信息。因此在本地代理单元3中设置相应的启动控制模块31,以解决上述问题。换言之,在本地代理单元3中设置相应的启动控制模块31,可以将本地代理单元3的启动与关闭和相应的远程功能组件111的启动与关闭进行同步,从而避免上述问题的发生。

本发明的较佳的实施例中,仍然如图4所示,上述宿主模块112中包括:

注册组件1121,连接通信单元2。本发明的较佳的实施例中,注册组件1121用以于宿主模块112启动后向通信单元2发送注册请求,以将宿主模块注册到本地代理单元3。本发明的较佳的实施例中,如上文中所述,当宿主模块112重新启动后,其主动向本地代理单元3请求注册,以完成相应的注册过程。

状态监测组件1122,用以检测本地代理单元的工作状态,并于本地代理单元停止工作时使宿主模块退出运行。

本发明的较佳的实施例中,上述状态监测组件1122起到的作用为:每隔预设的时间向本地代理单元3发送一次“PING”请求,以 检查本地代理单元是否仍在工作,并在本地代理单元停止工作时(即“PING”请求失败)使宿主模块退出运行。这样可以避免“僵尸进程(Zombie Process)”的出现,即避免因与本地代理单元失去连接而无法获取请求的相应的宿主模块持续占用系统资源的情况发生。

本发明的较佳的实施例中,由于本地代理单元与远程服务端之间是远程连接的,因此可以将远程执行单元11与本地代理单元3设置为工作于不同的操作系统下,从而解决跨平台使用第三方组件的问题。

本发明的较佳的实施例中,具体地,仍然如图2所示,上述本地执行模块34中包括至少一个本地功能组件341,本地功能组件341用以完成预设的功能。

本发明的较佳的实施例中,上述本地代理单元3中进一步包括:

本地管理组件35,分别连接接口模块31和本地执行模块34。本发明的较佳的实施例中,本地管理组件35用于根据应用程序的请求选择相应的本地功能组件,并控制被选择的本地功能组件执行预定功能;以及,将本地功能组件341的执行结果通过接口模块发送至应用程序。

具体地,本发明的较佳的实施例中,本地管理组件35在获得应用程序的请求后,根据请求提取相应的本地功能组件341的类型(例如对于C#开发平台而言,获取.NET CLR类型),随后选择相应的本地功能组件341(例如采用.NET CTS选择相应的本地功能组件341),随后将应用程序的请求(转换成相应的指令)发送给被选择的本地功能组件341,以处理形成相应的执行结果并返回给当前运行的应用程序。

因此,本发明的较佳的实施例中,类似于上文中所述,使用者可以通过当前运行的应用程序提出相应请求,以调用处于本地的第三方组件(本地功能组件)执行预定功能,从而处理形成相应的执行结果并返回。

本发明的较佳的实施例中,上述本地执行模块34中还包括:

本地注册组件342,分别连接本地功能组件341,用以根据本地 执行模块34的请求,将相应的本地功能组件342注册到本地代理单元中。本发明的较佳的实施例中,上述关联于本地功能组件342的本地注册信息同样被包括于系统配置信息中并发送给当前运行的应用程序,以告知当前可用的本地功能组件。

上述过程与远程执行单元11的数据交互过程不同:

针对调用远程执行单元11执行应用程序的相应请求的过程简化而言可以为:本地代理单元3根据应用程序的请求,针对相应的远程执行单元11启动设置于通信单元2中的一相应的代理客户端模块25,以维持本地代理单元3与相应的执行单元11之间的连接,以将请求发送至相应的远程执行单元11中的远程功能组件111进行处理,形成相应的执行结果并返回。远程执行单元11的连接状态由其中的宿主模块112向本地代理单元3注册得到;

而相应地,针对调用本地执行模块34执行应用程序的相应请求的过程简化而言可以为:本地代理单元3根据应用程序的请求,查找相应的本地执行模块34的类型,并选择相应的本地执行模块34,以将请求发送至相应的本地执行模块34中的本地功能组件341进行处理,形成相应的执行结果并返回。

上述两种处理过程的不同充分考虑到第三方组件设置于远程服务端和设置于本地两种情况下的不同处理过程,使得应用本发明技术方案能够同时兼顾上述两种情况。

综上所述,本发明技术方案中:

于远程服务端或者本地代理单元中搭建包括第三方组件的执行单元(远程执行单元或者本地执行模块),并通过本地代理单元获取当前运行的应用程序的请求以及相应的执行参数,通过通信单元转换成上述远程服务端可接受的数据格式的数据并发送至相应的远程执行单元,或者直接根据应用程序的请求选择相应的本地执行模块;

当选择的是远程执行单元时,被选择的该远程执行单元中相应的远程功能组件接受请求对应的指令并执行相应的预定功能,以形成相应的执行结果,并通过通信单元转换成上述本地代理单元可接受的数据格式的数据并发送至本地代理单元,本地代理单元将改执行结果返 回给应用程序使用;或者,

当被选择的是本地执行模块时,该本地执行模块中相应的本地功能组件接受请求对应的指令并执行相应的预定功能,以形成相应的执行结果,本地代理单元直接将该执行结果返回给应用程序使用。

上述技术方案能够较好地解决现有技术中无法跨平台进行第三方组件调用的问题,且本发明技术方案中的系统操作简单,部署方便。

本发明的较佳的实施例中,基于上文中所述的包括本地组件的代理框架服务系统,提供一种代理框架服务方法。

本发明的较佳的实施例中,于该服务方法中,预先提供至少一个包括用于执行预定功能的远程执行单元的远程服务端;

预先提供一包括至少一个本地执行模块的本地代理单元。本发明的较佳的实施例中,本地执行模块用于执行预设的功能;

以及在本地代理单元与远程服务端中的远程执行单元之间实现远程连接。

本发明的较佳的实施例中,如图5所示,上述代理框架服务方法中,基于远程执行单元的服务方法,也就是请求远程的第三方组件执行相应功能的服务方法具体包括:

步骤S1a,本地代理单元获取当前运行的应用程序的请求;

本发明的较佳的实施例中,本地代理单元通过相应的接口向应用程序提供系统配置信息。本发明的一个较佳的实施例中,上述接口可以为一种软件开发工具包接口(Software Development Kit,SDK),用于提供给应用程序以及应用程序开放人员相应的系统配置数据,以便于应用程序能够成功与本地代理单元连接并进行工作。

本发明的较佳的实施例中,上述步骤S1a中,本地代理单元获取当前运行的应用程序的请求,以及与请求对应的执行参数。本发明的较佳的实施例中,所谓执行参数,如上文中所述,可以为应用程序请求执行的具体的内容。

本发明的较佳的实施例中,上述应用程序的请求及相应的执行参数通过设置于本地代理单元中的一远程管理模块发送至相应的远程执行单元;以及通过远程管理模块提供远程执行单元与本地代理单元 之间的连接状态,以包括在系统配置信息中。

步骤S2a,本地代理单元根据请求选择相应的远程执行单元,以在远程执行请求并形成相应的执行结果;

本发明的较佳的实施例中,在本地代理单元与远程的远程执行单元之间进行通信的实现方法可以包括:本地代理单元通过通信单元发送的请求及相应的执行参数,被转换成远程服务端可接受的格式并被远程服务端接收;远程服务端通过通信单元发送的执行结果,被转换成本地代理单元可接受的格式并被本地代理单元接收。

换言之,本发明的较佳的实施例中,通信单元的作用在于,将本地代理单元与远程服务端之间进行通信的数据分别转换成接收方能够识别的数据格式,从而解决不同平台不同系统之间数据通信格式不匹配的问题。

本发明的较佳的实施例中,当本地代理单元与远程服务端通过通信单元远程通信时,通信单元监测本地代理单元与远程执行单元之间的连接状态,并将连接状态设置在系统配置信息中,以供应用程序调用;

和/或

通信单元接收远程执行单元的注册请求,并根据注册请求将对应的远程执行单元注册至本地代理单元,以供本地代理单元通知应用程序当前可用的远程执行单元。

本发明的较佳的实施例中,于每个远程执行单元中设置相应的至少一个远程功能组件以及一宿主模块;

则本发明的较佳的实施例中,上述步骤S2a中,远程执行单元接收请求,并选择相应的一个远程功能组件,以执行预定的功能并生成相应的执行结果;

采用宿主模块启动远程功能组件,并将请求转换成相应的远程功能组件可接受的指令,以指令控制远程功能组件执行预定的功能;以及

将执行结果通过通信单元发送至本地代理单元。

本发明的较佳的实施例中,上述步骤S2a中,当本地代理单元通 过通信单元发送请求时,采用远程管理模块于通信单元中形成一代理客户端进程,以本地代理单元与相应的远程执行单元之间的连接。

步骤S3a,本地代理单元将远程获取的执行结果返回至应用程序,以供应用程序使用。

本发明的较佳的实施例中,上述本地代理单元通过通信单元可控制地启动宿主模块;和/或

当宿主模块被启动时,宿主模块向通信单元发送注册请求,以将宿主模块注册到本地代理单元。

相应地,本发明的较佳的实施例中,采用宿主模块检测本地代理单元的工作状态,并于本地代理单元停止工作时控制宿主模块退出运行。

具体地,本发明的较佳的实施例中,如上文中所述,若不采用宿主模块进行重新启动和/或注册的控制,则当本地代理单元被关闭或者被重新启动时,远程的远程执行单元无法同步地关闭和/或重新启动,也就无法于本地代理单元被重新启动时重新进行注册,则在本地代理单元被重新启动后,其中包括的系统配置信息中就不包括在本地代理单元被重新启动前已经处于启动状态的远程执行单元,因此当前运行的应用程序也无法得知此时有哪些远程执行单元可用。基于对上述问题的考虑,本发明技术方案中,采用宿主模块实现本地代理单元与远程的远程执行单元之间启动和关闭的同步性,从而保证远程执行单元能够第一时间向本地代理单元进行注册。

本发明的较佳的实施例中,如上文所述,远程执行单元与本地代理单元工作于不同的操作系统下。

本发明的较佳的实施例中,如图6所示,基于本地执行模块的服务方法,也就是请求本地的第三方组件执行相应功能的服务方法具体包括:

步骤S1b,本地代理单元获取当前运行的应用程序的请求;

步骤S2b,本地代理单元根据请求选择相应的本地执行模块,以执行请求并形成相应的执行结果;

本发明的较佳的实施例中,如上文中所述,本地代理单元根据应 用程序的请求,选择相应的本地执行模块,并控制被选择的本地执行模块中相应的本地功能组件执行预设的功能,以处理得到相应的执行结果并返回。

本发明的较佳的实施例中,于上述本地执行模块中设置一本地管理组件。本发明的较佳的实施例中,上述本地管理组件根据当前运行的应用程序的请求选择相应的一个本地执行模块,以控制相应的本地功能组件执行预定的功能并处理形成相应的执行结果。

本发明的较佳的实施例中,根据相应的注册请求,采用一本地注册组件将相应的本地功能组件注册到本地代理单元中。

步骤S3b,本地代理单元将由本地执行模块处理形成的执行结果返回至应用程序,以供应用程序使用。

本发明的较佳的实施例中,上述本地执行模块与本地代理单元工作于相同的操作系统下。

以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1