一种双向远程调用的方法和系统的制作方法

文档序号:6429560阅读:132来源:国知局
专利名称:一种双向远程调用的方法和系统的制作方法
技术领域
本发明涉及嵌入式系统的应用领域,特别涉及一种双向远程调用的方法和系统。
背景技术
在嵌入式系统的应用领域,由于嵌入式设备的处理能力以及存储能力方面的限制,为了完成某些智能业务或者需要人工参与的业务,往往需要与应用软件一起配合完成。为了配合完成业务过程,应用软件与嵌入式设备之间需要具备双向交互能力,以完成所需要的信息交互与控制。例如呼叫中心软件与语音设备之间的交互,语音设备需要通知呼叫中心软件来电、摘机等情况,呼叫中心软件同时也需要控制语音设备执行转移、转接等动作来完成各类业务需要。在现有技术中,应用软件与嵌入式设备之间的交互是通过AT指令或者其他管理控制协议完成,它的缺陷在于应用软件与嵌入式设备之间的通信协议限制了嵌入式设备处理业务逻辑的能力,在遇到业务请求的时候,嵌入式设备只能主动向应用软件进行通告, 而不能直接访问应用软件提供的服务,因此若要完成具体的业务处理,还需要应用软件在收到嵌入式设备的通告后,主动发起新的指令到嵌入式设备来完成业务处理过程,从而导致如下技术问题业务处理的步骤过多,从而降低整个系统的处理速度与吞吐能力。

发明内容
本发明提供了一种双向远程调用的方法和系统,可以减少业务处理的步骤,提高系统的处理速度与吞吐能力。本发明实施例提出一种远程调用的方法,包括如下步骤Al、嵌入式设备向应用软件发起注册过程,所述注册过程包括嵌入式设备向应用软件通告自身的设备信息以及服务信息,应用软件保存所述设备信息及服务相关信息;Bi、嵌入式设备向应用软件查询目前应用软件提供的服务相关信息,接收并保存应用软件的返回的所述服务相关信息;Cl、嵌入式设备在接收到外部的业务请求之后,根据请求内容在本地查询是否存在必要的服务,若查询到该服务需要由应用软件提供,则嵌入式设备向应用软件发起服务调用请求,应用软件完成被调用的服务相关操作后返回处理结果给嵌入式设备,嵌入式设备根据处理结果完成后续的业务处理过程。较佳地,步骤Al所述注册过程进一步包括应用软件为注册的嵌入式设备分配一个唯一标识。较佳地,步骤Al所述嵌入式设备向应用软件发起注册过程为当嵌入式设备在自身服务信息发生变化时,嵌入式设备向应用软件发起注册过程。较佳地,步骤B所述嵌入式设备向应用软件查询目前应用软件提供的服务相关信息为嵌入式设备周期性地向应用软件查询目前应用软件提供的服务相关信息。本发明还提出另一种远程调用的方法,包括如下步骤
A2、嵌入式设备向应用软件发起注册过程,所述注册过程包括嵌入式设备向应用软件通告自身的设备信息以及服务信息,应用软件保存所述设备信息及服务相关信息;B2、嵌入式设备向应用软件查询目前应用软件提供的服务相关信息,接收并保存应用软件的返回的所述服务相关信息;C2、应用软件在接收到外部的业务请求之后,根据请求内容在本地查询是否存在必要的服务,若查询到该服务需要由嵌入式设备提供,则应用软件向嵌入式设备发起服务调用请求,嵌入式设备完成被调用的服务相关操作后返回处理结果给应用软件,应用软件根据处理结果完成后续的业务处理过程。本发明实施例提出一种双向远程调用系统,包括应用软件和嵌入式设备,所述嵌入式设备用于向应用软件发起注册过程,所述注册过程包括嵌入式设备向应用软件通告自身的设备信息以及服务信息;以及向应用软件查询目前应用软件提供的服务相关信息,并保存所述服务相关信息;嵌入式设备在接收到外部的业务请求之后,根据请求内容在本地查询是否存在必要的服务,若查询到该服务需要由应用软件提供,则嵌入式设备向应用软件发起服务调用请求,并根据应用软件返回的处理结果完成后续的业务处理过程;嵌入式设备还用于完成被调用的服务相关操作后返回处理结果给应用软件;应用软件用于保存来自嵌入式设备的设备信息及服务相关信息,并在收到来自嵌入式设备的查询时,将所提供的服务相关信息发送至嵌入式设备;应用软件还用于在接收到外部的业务请求之后,根据请求内容在本地查询是否存在必要的服务,若查询到该服务需要由嵌入式设备提供,则应用软件向嵌入式设备发起服务调用请求,应用软件根据嵌入式设备返回的处理结果完成后续的业务处理过程。应用软件还用于完成被调用的服务相关操作后返回处理结果给嵌入式设备。较佳地,所述应用软件包括第一名字服务组件用于接收第一服务实现组件的服务信息的注册;接收嵌入式设备的注册,并在本地保存嵌入式设备的服务信息,提供服务信息的查询服务;第一服务实现组件,用于提供具体的服务,以及将所提供的服务信息向第一名字服务组件进行注册,以便于嵌入式设备通过第一名字服务组件查询到应用软件支持哪些服务;第一业务处理组件,负责实现应用软件对用户提供的业务,如果业务处理过程需要嵌入式设备参与,则首先到第一名字服务组件查询对应的嵌入式设备及其提供的服务能力是否满足要求,若是,访问嵌入式设备来完成业务处理过程。较佳地,所述第一名字服务组件进一步用于为注册的嵌入式设备分配一个唯一标识。较佳地,所述嵌入式设备用于在自身服务信息发生变化时,向应用软件发起注册过程。较佳地,所述嵌入式设备包括第二名字服务组件、第二服务实现组件以及第二业务处理组件;第二名字服务组件,为第二服务实现组件提供名字注册和查询服务,向应用软件发起注册,提供嵌入式设备的服务信息到应用软件;以及查询应用软件的服务信息,并缓存在本地,提供对应信息的查询服务;第二服务实现组件,用于提供具体的服务,以及向第二名字服务组件进行注册,在服务发生变化后尽快通知第二名字服务组件;第二业务处理组件,用于实现嵌入式设备对用户提供的业务,如果业务处理过程中需要应用软件参与,则首先到第二名字服务组件查询应用软件的服务能力是否满足要求,然后访问应用软件来完成整个业务的处理过程。从以上技术方案可以看出,嵌入式设备向应用软件注册,并且嵌入式设备查询应用软件的服务信息,嵌入式设备和应用软件相互保存对方所能提供的服务信息;当嵌入式设备或应用软件在收到业务请求后,如果发现需要应用软件或嵌入式设备提供相应服务, 则直接向对方发起业务请求。该方案避免了过多的业务处理步骤,可以提高系统的处理速度与吞吐能力。


图Ia为本发明提出的双向远程调用方法中嵌入式设备向应用软件进行远程调用的流程示意图;图Ib为本发明提出的双向远程调用方法中应用软件向嵌入式设备进行远程调用的流程示意图;图2为本发明实施例提出的双向远程调用的系统结构示意图;图3为本发明实施例中的服务准备过程示意图;图4为本发明实施例的应用软件20向嵌入式设备21发起服务查询和调用的处理流程图;图5为本发明实施例的应用软件20向嵌入式设备21发起服务查询和调用的处理流程图。
具体实施例方式本发明提供了一种嵌入式设备与应用软件之间的双向远程调用方法,其中嵌入式设备向应用软件进行远程调用的流程如图Ia所示,包括以下步骤步骤IOla 嵌入式设备向应用软件进行注册,向应用软件通告自身的设备信息以及服务相关信息,应用软件对这些信息进行保存,并返回处理结果;步骤10 嵌入式设备向应用软件查询目前应用软件提供的服务相关信息,并缓存在本地;步骤103a 嵌入式设备在接收到外部的业务请求之后,根据请求内容在本地查询是否存在必要的服务,若查询到该服务需要由应用软件提供,执行步骤10 ,否则执行步骤 105a ;步骤10 嵌入式设备向应用软件发起服务调用请求,应用软件完成被调用的服务相关操作后返回处理结果给嵌入式设备,嵌入式设备根据处理结果完成后续的业务处理过程;步骤10 若服务由嵌入式设备提供,则嵌入式设备执行服务相关操作;嵌入式设备查询到不存在必要的应用服务则直接返回业务错误信息。
应用软件向嵌入式设备进行远程调用的流程如图Ib所示,包括如下步骤步骤IOlb 嵌入式设备向应用软件进行注册,向应用软件通告自身的设备信息以及服务相关信息,应用软件对这些信息进行保存,并返回处理结果;步骤102b 嵌入式设备向应用软件查询目前应用软件提供的所有服务相关信息, 并缓存在本地;步骤10 应用软件在接收到外部的业务请求之后,根据请求内容在本地查询对应的嵌入式设备及其服务能力,如果能够满足业务要求,执行步骤104b,否则,如果应用软件查询不到对应的嵌入式设备或者嵌入式设备的服务能力不足以完成业务处理,执行步骤 105b ;步骤104b 应用软件向对应的嵌入式设备发起远程服务调用请求,嵌入式设备完成被调用的服务相关操作后返回处理结果给应用软件,应用软件根据处理结果完成后续的业务处理过程;步骤10 应用软件直接返回业务错误信息。上述流程中,IOla至10 与IOlb至102b是完全相同的,都是嵌入式设备向应用软件注册,并且嵌入式设备查询应用软件的服务信息,嵌入式设备和应用软件相互保存对方所能提供的服务信息。本发明提供的方法可以用于多个嵌入式设备与同一个应用软件进行交互,应用软件需要为每一个注册的嵌入式设备分配一个唯一标识,以便于区分多个嵌入式设备。更进一步地,本发明中应用软件需要记录每个嵌入式设备的能力,以便于服务多种嵌入式设备或者同一种嵌入式设备的不同版本;更进一步的,嵌入式设备在自身服务信息发生变化的时候,需要向应用软件重新发送注册信息,以更新应用软件中缓存的服务信息;更进一步的,嵌入式设备可以周期性地执行查询动作,然后根据应用软件的返回结果更新本地缓存的服务信息,以确保实时获得最新的服务信息;更进一步的,在上述步骤中,应用软件与嵌入式设备之间的交互可以被加密,以规避远程调用数据被窃取或者非法远程调用的风险。为使本发明技术方案的特点以及技术效果更加清楚,以下通过具体实施例对本发明方案进行进一步详细阐述。本发明实施例提出的双向远程调用的系统结构如图2所示,包括应用软件20和嵌入式设备21,其中应用软件20主要提供两项功能,一是根据不同的应用为所有嵌入式设备21提供应用方面的服务,二是为用户提供业务处理能力。应用软件20包含三个子组件a)名字服务组件201 为所有应用软件的服务提供名字注册和查询服务,接收嵌入式设备的注册,并在本地保存嵌入式设备的服务信息,提供服务信息的查询服务;b)服务实现组件202 应用软件20对外服务的具体实现部分,嵌入式设备21的业务处理组件213通过远程调用协议可以直接访问到该服务的实现,它需要向名字服务组件 201进行注册,以便于嵌入式设备21可以通过名字服务组件201查询到应用软件支持哪些服务;c)业务处理组件203,负责实现应用软件20对用户提供的业务,如果业务处理过程需要嵌入式设备21参与,则首先到名字服务组件201查询对应的嵌入式设备21及其提供的服务能力是否满足要求,然后访问嵌入式设备21的服务实现组件212来完成整个业务处理过程。嵌入式设备21主要提供两项功能,一是根据不同的应用为应用软件提供应用方面的服务,二是为用户提供直接的业务处理能力。嵌入式设备21包含三个子组件a)名字服务组件211 为服务实现组件212提供名字注册和查询服务,向应用软件 20的名字服务组件201发起注册,提供嵌入式设备21的服务信息到应用软件20,同时查询应用软件20的服务信息,并缓存在本地,提供对应信息的查询服务;b)服务实现组件212 嵌入式设备21对外服务的具体实现部分,应用软件20的业务处理组件203通过远程调用协议可以直接访问到该服务的实现,它需要向名字服务组件 211进行注册,同时在服务发生变化后尽快通知名字服务组件211 ;c)业务处理组件213 负责实现那些嵌入式设备21对用户提供的业务,如果业务处理过程中需要应用软件20参与,则首先到名字服务组件211查询应用软件20的服务能力是否满足要求,然后访问应用软件20的服务实现组件202来完成整个业务的处理过程。以下通过其它实施例具体说明本发明方法,包含服务准备和服务查询及调用过程如图3所示,本发明实施例中的服务准备过程的步骤如下步骤301 应用软件20中的服务实现组件202向名字服务组件201发起服务信息注册,即服务实现组件202向名字服务组件201发送注册信息,所述注册信息中携带服务名称、版本、访问地址、访问协议、参数等服务相关信息;步骤302 名字服务组件201将服务实现组件202提供的服务相关信息保存在本地,供后续查询使用。步骤303 嵌入式设备21中的服务实现组件212向名字服务组件211发起服务信息注册,即服务实现组件212向名字服务组件211发送注册信息,所述注册信息中包括服务名称、版本、访问地址、参数等服务相关信息;步骤304:名字服务组件211将服务实现组件提供的服务相关信息保存在本地,供后续查询使用;步骤305 嵌入式设备21中的名字服务组件211向应用软件20中的名字服务组件201发起设备注册,向名字服务组件201提供设备信息及所有保存在名字服务组件211 中的服务相关信息;步骤306 应用软件20中的名字服务组件201将设备信息及服务相关信息保存在本地,供后续查询使用;步骤307 应用软件20中的名字服务组件201向嵌入式设备21中的名字服务组件211返回注册结果,结果中包含名字服务组件201中所注册的所有服务相关信息;步骤308 嵌入式设备21中的名字服务组件211保存注册返回结果中的所有服务
相关信息。经过上述流程,应用软件20的名字服务组件201中保存了本地的服务实现组件 202以及嵌入式设备21的服务实现组件212所能提供的服务的服务相关信息。如图4所示,本发明实施例的应用软件20向嵌入式设备21发起服务查询和调用的处理流程如下步骤401 应用软件20中的业务处理组件203发现需要嵌入式设备21配合完成业务处理后,向名字服务组件201发起服务查询,查询参数中包括设备信息、服务名称;步骤402 名字服务组件201根据设备信息与服务名称查询本地数据后,将查询结果反馈给业务处理组件203 ;步骤403 业务处理组件203根据查询结果,向对应的服务实现组件212发起远程过程调用;步骤404 服务实现组件212收到远程调用的请求后,执行对应的服务实现;步骤405 服务实现组件212在执行完服务实现之后,返回执行结果给业务处理组件 203 ;如图5所示,本发明实施例的应用软件20向嵌入式设备21发起服务查询和调用的处理流程如下步骤501 嵌入式设备21中的业务处理组件213发现需要应用软件20配合完成业务处理后,向名字服务组件211发起服务查询,查询参数中包括服务名称;步骤502 名字服务组件211根据服务名称查询本地数据后,将查询结果反馈给业务处理组件113 ;步骤503 业务处理组件213根据查询结果,向服务实现组件202发起远程过程调用;步骤504 服务实现组件202收到远程调用的请求后,执行对应的服务实现;步骤505 服务实现组件202在执行服务实现之后,返回执行结果给业务处理组件 213。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种远程调用的方法,其特征在于,包括如下步骤Al、嵌入式设备向应用软件发起注册过程,所述注册过程包括嵌入式设备向应用软件通告自身的设备信息以及服务信息,应用软件保存所述设备信息及服务相关信息;Bi、嵌入式设备向应用软件查询目前应用软件提供的服务相关信息,接收并保存应用软件的返回的所述服务相关信息;Cl、嵌入式设备在接收到外部的业务请求之后,根据请求内容在本地查询是否存在必要的服务,若查询到该服务需要由应用软件提供,则嵌入式设备向应用软件发起服务调用请求,应用软件完成被调用的服务相关操作后返回处理结果给嵌入式设备,嵌入式设备根据处理结果完成后续的业务处理过程。
2.根据权利要求1所述的方法,其特征在于,步骤Al所述注册过程进一步包括应用软件为注册的嵌入式设备分配一个唯一标识。
3.根据权利要求1所述的方法,其特征在于,步骤Al所述嵌入式设备向应用软件发起注册过程为当嵌入式设备在自身服务信息发生变化时,嵌入式设备向应用软件发起注册过程。
4.根据权利要求1所述的方法,其特征在于,步骤B所述嵌入式设备向应用软件查询目前应用软件提供的服务相关信息为嵌入式设备周期性地向应用软件查询目前应用软件提供的服务相关信息。
5.一种远程调用的方法,其特征在于,包括如下步骤A2、嵌入式设备向应用软件发起注册过程,所述注册过程包括嵌入式设备向应用软件通告自身的设备信息以及服务信息,应用软件保存所述设备信息及服务相关信息;B2、嵌入式设备向应用软件查询目前应用软件提供的服务相关信息,接收并保存应用软件的返回的所述服务相关信息;C2、应用软件在接收到外部的业务请求之后,根据请求内容在本地查询是否存在必要的服务,若查询到该服务需要由嵌入式设备提供,则应用软件向嵌入式设备发起服务调用请求,嵌入式设备完成被调用的服务相关操作后返回处理结果给应用软件,应用软件根据处理结果完成后续的业务处理过程。
6.一种双向远程调用系统,包括应用软件和嵌入式设备,其特征在于,所述嵌入式设备用于向应用软件发起注册过程,所述注册过程包括嵌入式设备向应用软件通告自身的设备信息以及服务信息;以及向应用软件查询目前应用软件提供的服务相关信息,并保存所述服务相关信息;嵌入式设备在接收到外部的业务请求之后,根据请求内容在本地查询是否存在必要的服务,若查询到该服务需要由应用软件提供,则嵌入式设备向应用软件发起服务调用请求, 并根据应用软件返回的处理结果完成后续的业务处理过程;嵌入式设备还用于完成被调用的服务相关操作后返回处理结果给应用软件; 应用软件用于保存来自嵌入式设备的设备信息及服务相关信息,并在收到来自嵌入式设备的查询时,将所提供的服务相关信息发送至嵌入式设备;应用软件还用于在接收到外部的业务请求之后,根据请求内容在本地查询是否存在必要的服务,若查询到该服务需要由嵌入式设备提供,则应用软件向嵌入式设备发起服务调用请求,应用软件根据嵌入式设备返回的处理结果完成后续的业务处理过程。应用软件还用于完成被调用的服务相关操作后返回处理结果给嵌入式设备。
7.根据权利要求6所述的系统,其特征在于,所述应用软件包括第一名字服务组件用于接收第一服务实现组件的服务信息的注册;接收嵌入式设备的注册,并在本地保存嵌入式设备的服务信息,提供服务信息的查询服务;第一服务实现组件,用于提供具体的服务,以及将所提供的服务信息向第一名字服务组件进行注册,以便于嵌入式设备通过第一名字服务组件查询到应用软件支持哪些服务;第一业务处理组件,负责实现应用软件对用户提供的业务,如果业务处理过程需要嵌入式设备参与,则首先到第一名字服务组件查询对应的嵌入式设备及其提供的服务能力是否满足要求,若是,访问嵌入式设备来完成业务处理过程。
8.根据权利要求7所述的系统,其特征在于,所述第一名字服务组件进一步用于为注册的嵌入式设备分配一个唯一标识。
9.根据权利要求6至8任一项所述的系统,其特征在于,所述嵌入式设备用于在自身服务信息发生变化时,向应用软件发起注册过程。
10.根据权利要求6或7所述的系统,其特征在于,所述嵌入式设备包括第二名字服务组件、第二服务实现组件以及第二业务处理组件;第二名字服务组件,为第二服务实现组件提供名字注册和查询服务,向应用软件发起注册,提供嵌入式设备的服务信息到应用软件;以及查询应用软件的服务信息,并缓存在本地,提供对应信息的查询服务;第二服务实现组件,用于提供具体的服务,以及向第二名字服务组件进行注册,在服务发生变化后尽快通知第二名字服务组件;第二业务处理组件,用于实现嵌入式设备对用户提供的业务,如果业务处理过程中需要应用软件参与,则首先到第二名字服务组件查询应用软件的服务能力是否满足要求,然后访问应用软件来完成整个业务的处理过程。
全文摘要
本发明提供了一种远程调用的方法,包括如下步骤嵌入式设备向应用软件发起注册过程,所述注册过程包括嵌入式设备向应用软件通告自身的设备信息以及服务信息,应用软件保存所述设备信息及服务相关信息;嵌入式设备向应用软件查询目前应用软件提供的服务相关信息,接收并保存应用软件的返回的所述服务相关信息;嵌入式设备在接收到外部的业务请求之后,根据请求内容在本地查询是否存在必要的服务,若查询到该服务需要由应用软件提供,则嵌入式设备向应用软件发起服务调用请求,应用软件完成被调用的服务相关操作后返回处理结果给嵌入式设备,嵌入式设备根据处理结果完成后续的业务处理过程。本发明还提供了一种双向远程调用系统。
文档编号G06F9/54GK102279773SQ20111021251
公开日2011年12月14日 申请日期2011年7月28日 优先权日2011年7月28日
发明者吴飞 申请人:迈普通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1