一种增强基于脚本业务的应用可靠性的方法、装置和系统转让专利

申请号 : CN200810167276.3

文献号 : CN101729491B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马其锋石晓旻

申请人 : 华为技术有限公司

摘要 :

本发明实施例公开了一种增强基于脚本业务的应用可靠性的方法、装置和系统,所述方法包括以下步骤:分析基于脚本业务的数据源的信息;根据所述分析的结果,获取所述基于脚本业务的数据源的当前状态信息;根据所述获取的当前状态信息,判断所述基于脚本业务的可用状态。通过应用本发明的技术方案,在基于脚本业务服务器上增加相关的分析功能,实现对基于脚本业务逻辑中相关数据源信息进行分析,对基于脚本业务进行标记,从而,达到了保证用户可以在请求业务时可以了解基于脚本业务的状态,避免不必要的业务试探的效果,节约了系统资源,改善了用户的使用体验。

权利要求 :

1.一种增强基于脚本业务的应用可靠性的方法,其特征在于,包括以下步骤:分析基于脚本业务的数据源的信息;

根据所述分析的结果,获取所述基于脚本业务的数据源的当前状态信息;

根据所述获取的当前状态信息,判断所述基于脚本业务的可用状态,当所述基于脚本业务的可用状态为可用时,执行所述基于脚本业务,当所述基于脚本业务的可用状态为不可用时,放弃执行所述基于脚本业务,并向用户侧返回所述基于脚本业务的不可执行提示信息;

其中,所述根据获取的当前状态信息,判断所述基于脚本业务的可用状态,具体包括以下步骤:当根据获取的当前状态信息,判断所述基于脚本业务的可用状态为可用时,标记所述基于脚本业务的可用状态为可用;

当根据获取的当前状态信息,判断所述基于脚本业务的可用状态为不可用,且未接收到业务接入管理系统上报的状态信息转换规则时,标记所述基于脚本业务的可用状态为不可用;

当根据获取的当前状态信息,判断所述基于脚本业务的可用状态为不可用,且接收到所述业务接入管理系统上报的状态信息转换规则时,根据所述状态信息转换规则对所述基于脚本业务的当前状态信息进行转换匹配,并当所述转换匹配成功时,标记所述基于脚本业务的可用状态为可用,当所述转换匹配不成功时,标记所述基于脚本业务的可用状态为不可用。

2.如权利要求1所述的方法,其特征在于,所述分析基于脚本业务的数据源信息的步骤,具体通过以下方式触发:接收用户侧发送的所述基于脚本业务的创建请求;或,

接收对所述基于脚本业务的可用状态检测请求。

3.如权利要求2所述的方法,其特征在于,所述接收对基于脚本业务的可用状态检测请求,具体包括:当接收所述用户侧对所述基于脚本业务的执行请求,并识别所述基于脚本业务的当前可用状态为不可用时,判断是否需要对所述基于脚本业务进行可用状态检测,并当所述判断的结果为需要对所述基于脚本业务进行可用状态检测时,生成对所述基于脚本业务的可用状态检测请求;或,接收所述用户侧直接发送的对所述基于脚本业务的可用状态检测请求。

4.如权利要求3所述的方法,其特征在于,所述判断是否需要对所述基于脚本业务进行可用状态检测,具体为:通过识别所述基于脚本业务的数据源检测标签判断是否需要对所述基于脚本业务进行可用状态检测。

5.如权利要求1所述的方法,其特征在于,所述获取所述基于脚本业务的数据源的当前状态信息,具体通过以下步骤实现:根据所述分析基于脚本业务的数据源信息的结果,向业务接入管理系统发送状态信息订阅消息,订阅所述数据源的状态信息;

接收所述业务接入管理系统上报的所述基于脚本业务的数据源的当前状态信息。

6.如权利要求5所述的方法,其特征在于,所述接收业务接入管理系统上报的所述基于脚本业务的数据源的当前状态信息的同时,还包括:接收所述业务接入管理系统上报的状态信息转换规则,所述状态信息转换规则具体包括以下内容:将所述状态信息的已失效的地址、接口转换为更新后的地址、接口的信息;或,备选数据原替换规则,用于将所述基于脚本业务中使用的已失效的数据源信息替换为其他更新后的数据信息。

7.如权利要求5所述的方法,其特征在于,所述接收业务接入管理系统上报的所述基于脚本业务的数据源的当前状态信息之后,还包括:当所述基于脚本业务的数据源信息发生变更时,接收所述业务接入管理系统上报的更新的所述基于脚本业务的数据源的当前状态信息。

8.如权利要求1所述的方法,其特征在于,所述根据获取的当前状态信息,判断所述基于脚本业务的可用状态之后,还包括:保存所述基于脚本业务的可用状态信息。

9.如权利要求2、3或8中所述的方法,其特征在于,所述根据获取的当前状态信息,判断所述基于脚本业务的可用状态之后,还包括以下步骤:在接收到用户侧发送的所述基于脚本业务的创建请求的情况下,向所述用户侧返回所述基于脚本业务的创建结果;或,接收所述用户侧直接发送的对所述基于脚本业务的可用状态检测请求的情况下,向所述用户侧返回所述基于脚本业务的状态检测结果。

10.如权利要求1所述的方法,其特征在于,所述方法之前还包括:接收第三方数据源发送的业务适配器注册请求;

基于脚本的业务服务器通过所述业务适配器访问所述第三方数据源的私有服务数据。

11.一种增强基于脚本业务的应用可靠性的方法,其特征在于,包括以下步骤:接收基于脚本业务服务器发送的状态信息订阅消息,订阅基于脚本业务的数据源的状态信息;

根据所述状态信息订阅消息,获取所述基于脚本业务的数据源的状态信息;

向所述基于脚本业务服务器发送所述基于脚本业务的数据源的当前状态信息,当所述基于脚本业务的可用状态为可用时,执行所述基于脚本业务,当所述基于脚本业务的可用状态为不可用时,放弃执行所述基于脚本业务,并向用户侧返回所述基于脚本业务的不可执行提示信息;

其中,所述向基于脚本业务服务器发送所述基于脚本业务的数据源的当前状态信息的步骤中,还包括:向所述基于脚本业务服务器发送数据源信息转换规则。

12.一种基于脚本业务服务器,其特征在于,包括:

分析模块,用于分析基于脚本业务的数据源的信息;

获取模块,用于根据所述分析模块分析的结果,获取所述基于脚本业务的数据源的当前状态信息;

判断模块,用于根据所述获取模块所获取的当前状态信息,判断所述基于脚本业务的可用状态,当所述基于脚本业务的可用状态为可用时,执行所述基于脚本业务,当所述基于脚本业务的可用状态为不可用时,放弃执行所述基于脚本业务,并向用户侧返回所述基于脚本业务的不可执行提示信息;

所述获取模块,具体包括:

订阅子模块,用于根据所述分析模块分析所述基于脚本业务的数据源信息的结果,向业务接入管理系统发送状态信息订阅消息,订阅所述数据源的状态信息;

接收子模块,用于接收所述业务接入管理系统上报的所述基于脚本业务的数据源信息的当前状态信息,和/或用于接收所述业务接入管理系统上报的状态信息转换规则。

13.如权利要求12所述的服务器,其特征在于,还包括:

存储模块,用于保存所述判断模块根据所述基于脚本业务的可用状态信息,对所述基于脚本业务的可用状态的判断结果。

14.如权利要求12所述的服务器,其特征在于,还包括:

第一接收模块,用于接收用户侧发送的所述基于脚本业务的创建请求;

第二接收模块,用于接收所述用户侧对所述基于脚本业务的执行请求,或,接收对所述基于脚本业务的可用状态检测请求。

15.如权利要求14所述的服务器,其特征在于,还包括:

业务自管理模块,用于根据所述第二接收模块接收到所述用户侧对所述基于脚本业务的执行请求,生成对所述基于脚本业务的可用状态检测请求。

16.如权利要求15所述的服务器,其特征在于,所述业务自管理模块,具体包括:识别子模块,用于识别所述基于脚本业务的当前可用状态;

判断子模块,用于当所述识别子模块识别所述基于脚本业务的当前可用状态为不可用时,判断是否需要对所述基于脚本业务进行可用状态检测;

检测子模块,用于当所述判断子模块的判断结果为需要对所述基于脚本业务进行可用状态检测时,生成对所述基于脚本业务的可用状态检测请求。

17.如权利要求12所述的服务器,其特征在于,还包括:

数据源转换模块,用于当所述判断模块判断所述基于脚本业务的可用状态为不可用,且所述接收子模块接收到所述业务接入管理系统上报的状态信息转换规则时,根据所述状态信息转换规则对所述基于脚本业务的当前状态信息进行转换匹配。

18.如权利要求14所述的服务器,其特征在于,还包括:

第一发送模块,用于在所述第一接收模块接收到用户侧发送的所述基于脚本业务的创建请求的情况下,向所述用户侧返回所述基于脚本业务的创建结果;

业务执行模块,用于在所述第二接收模块接收所述用户侧对所述基于脚本业务的执行请求的情况下,当所述判断模块判断所述基于脚本业务的可用状态为可用时,执行所述基于脚本业务;

第二发送模块,用于在所述第二接收模块接收所述用户侧对所述基于脚本业务的执行请求的情况下,向所述用户侧返回所述业务执行模块对所述基于脚本业务的执行结果,或,用于在所述第二接收模块接收所述用户侧直接发送的对所述基于脚本业务的可用状态检测请求的情况下,向所述用户侧返回所述基于脚本业务的状态检测结果。

19.如权利要求12所述的服务器,其特征在于,还包括:

数据源适配模块,用于提供一个非开放的数据源接入功能,为第三方业务提供者提供一个数据源适配器,以实现所述基于脚本业务服务器对第三方私有数据源的访问功能。

20.一种业务接入管理系统,其特征在于,包括:

接收模块,用于接收基于脚本业务服务器发送的状态信息订阅消息,订阅基于脚本业务的数据源的状态信息;

数据源信息获取模块,用于根据所述接收模块所接收的状态信息订阅消息,获取所述基于脚本业务的数据源的状态信息;

发送模块,用于向所述基于脚本业务服务器发送所述数据源信息获取模块所获取的基于脚本业务的数据源的当前状态信息,所述基于脚本业务服务器根据所述获取模块所获取的当前状态信息,判断所述基于脚本业务的可用状态,当所述基于脚本业务的可用状态为可用时,执行所述基于脚本业务,当所述基于脚本业务的可用状态为不可用时,放弃执行所述基于脚本业务,并向用户侧返回所述基于脚本业务的不可执行提示信息;所述发送模块,还用于当所述基于脚本业务的数据源的状态信息发生变化时,向所述基于脚本业务服务器上报变化的所述基于脚本业务的数据源的状态信息和数据源转换规则。

21.如权利要求20所述的业务接入管理系统,其特征在于,还包括:数据源信息模块,用于存储所述基于脚本业务的数据源信息。

22.一种基于脚本业务系统,其特征在于,包括基于脚本业务服务器和业务接入管理系统:所述基于脚本业务服务器,用于提供基于脚本业务创建、执行和管理功能,并向所述业务接入管理系统订阅所述基于脚本业务的数据源的状态信息;还用于根据所述基于脚本业务的数据源的状态信息,判断所述基于脚本业务的可用状态,当所述基于脚本业务的可用状态为可用时,执行所述基于脚本业务,当所述基于脚本业务的可用状态为不可用时,放弃执行所述基于脚本业务,并向用户侧返回所述基于脚本业务的不可执行提示信息;

所述业务接入管理系统,用于维护网络上数据源的信息,并接收、和处理所述基于脚本业务服务器的订阅请求,还用于当所述基于脚本业务的数据源的状态信息发生变化时,向所述基于脚本业务服务器上报变化的所述基于脚本业务的数据源的状态信息和数据源转换规则。

说明书 :

一种增强基于脚本业务的应用可靠性的方法、装置和系统

技术领域

[0001] 本发明涉及通信技术领域,特别是涉及一种增强基于脚本业务的应用可靠性的方法、装置和系统。

背景技术

[0002] 聚合业务Mashup是一种新兴的基于环球网Web的数据集成应用,Mashup是将多个不同的支持Web API(Application Programming Interface,应用程序编程接口)的应用进行堆叠、聚合形成的新型的Web应用。Mashup利用了从外部数据源检索到的内容来创建全新的创新服务,将来自不止一个数据源的内容进行组合,创造出更加增值的服务。Mashup所能利用的外部数据源格式多种多样,表现出惊人的兼容性,涵盖Public APIs(Public ApplicationProgramming Interfaces,公共应用程序编程接口),XML(eXtensible MarkupLanguage,可扩展标记语言)/RSS(Really Simple Syndication,聚合内容)/聚合格式Atom等语言格式对应的接口feeds,环球网服务器Web Services,HTML(HyperTextMark-upLanguage,超文本标记语言或超文本链接标示语言)等。人们普遍认为Mashup具有Web2.0的特点,Web2.0是在互联网上建立起共享信息平台。Mashup技术也是建立在各种Web应用程序贡献出自己的服务和内容,同时使用其他人和其他组织提供的信息和服务的基础上的。随着越来越多的Web站点公开了自己的API,许多人已经和正在用eBay,Amazon,Google and Yahoo APIs构建新的Mashups,使得这种新型的Web应用模式成为了现实。
[0003] Mashup业务越来越流行,未来可能成为电信、互联网融合业务生成、创建的一个重要模式;
[0004] 目前的Mashup主要关注于如何基于网络上已有的子业务和资源来组合创建新的应用,随着用户逐渐大量参与到Mashup业务创建中,Mashup业务也越来越丰富,普通用户可用的Mashup业务也越来越多。但随着Mashup业务的爆炸式增长,对Mashup业务的可靠性等质量保证和管理也越来越困难。用户在使用Mashup业务前系统无法保证该业务是否可正常运行,严重降低了用于对Mashup应用的用户体验。
[0005] 目前通常的Mashup服务器是一个Web集成平台,允许用户轻松集成来自任意具有Web接口的应用程序的数据和功能。
[0006] 在现有的Mashup应用架构中,Mashup的核心功能就是将数据和业务集中起来展示给用户,主要包括API/内容提供者、聚合业务服务器以及聚合业务客户端。对于现有技术中的应用架构而言,聚合业务所使用的信息内容并不一定是聚合业务服务器本地的内容,也可以是通过远程访问的方式从Web服务获取数据,这是聚合业务最常用的一种,通称为内容聚合。在这种情况下,聚合业务服务器负责处理所有功能,聚合应用需要的所有服务和数据都由服务器进行调用和数据处理。另外,对于Web服务的调用也很常见,在这种情况下,聚合业务服务器主要负责编辑和执行应用逻辑,具体的业务调用和数据处理信息由聚合业务服务器通知业务客户端,再由业务客户端直接进行调用并处理,目前互联网上基于WSDL(Web Services Description Language,Web服务描述语言)的Web服务和基于Rest(Representational State Transfer,代表性状态通讯协议)的Web服务很多,这些服务都提供清晰的调用API,也为聚合业务提供了丰富的选择。
[0007] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0008] 在现有技术中,Mashup服务器不能检测Mashup业务的数据源,也不能及时获取数据源信息的更新结果,无法保证Mashup业务的可用性,降低了Mashup业务的应用可靠性,损害了用户的使用体验。

发明内容

[0009] 本发明实施例提供了一种增强基于脚本业务的应用可靠性的方法、装置和系统,用于克服和Mashup服务器相类似的基于脚本服务器不能检测基于脚本业务的数据源,也不能及时获取数据源信息更新结果的问题,从而达到确保基于脚本业务的可用性,增强基于脚本业务的可靠性的效果。
[0010] 为达到上述目的,本发明实施例一方面提出一种增强基于脚本业务的应用可靠性的方法,包括以下步骤:
[0011] 分析基于脚本业务数据源的信息;
[0012] 根据所述分析的结果,获取所述基于脚本业务数据源信息的当前状态信息;
[0013] 根据所述获取的当前状态信息,判断所述基于脚本业务的可用状态。
[0014] 另一方面,本发明实施例还提出一种增强基于脚本业务的应用可靠性的方法,包括以下步骤:
[0015] 接收基于脚本业务服务器发送的状态信息订阅消息,订阅基于脚本业务的数据源的状态信息;
[0016] 根据所述状态信息订阅消息,获取所述基于脚本业务的数据源的状态信息;
[0017] 向所述基于脚本业务服务器发送所述基于脚本业务的数据源信息的当前状态信息。
[0018] 另一方面,本发明实施例还提出一种基于脚本业务服务器,包括:
[0019] 分析模块,用于分析基于脚本业务的数据源信息;
[0020] 获取模块,用于根据所述分析模块分析的结果,获取所述基于脚本业务的数据源的当前状态信息;
[0021] 判断模块,用于根据所述获取模块所获取的当前状态信息,判断所述基于脚本业务的可用状态。
[0022] 另一方面,本发明实施例还提出一种业务接入管理系统,包括:
[0023] 接收模块,用于接收基于脚本业务服务器发送的状态信息订阅消息,订阅基于脚本业务的数据源的状态信息;
[0024] 数据源信息获取模块,用于根据所述接收模块所接收的状态信息订阅消息,获取所述基于脚本业务的数据源的状态信息;
[0025] 发送模块,用于向所述基于脚本业务服务器发送所述数据源信息获取模块所获取的基于脚本业务的数据源信息的当前状态信息。
[0026] 另一方面,本发明实施例还提出一种基于脚本业务系统,包括基于脚本业务服务器和业务接入管理系统:
[0027] 所述基于脚本业务服务器,用于提供基于脚本业务创建、执行和管理相关功能,并向所述业务接入管理系统订阅所述基于脚本业务的数据源的状态信息;
[0028] 所述业务接入管理系统,用于维护网络上相关数据源的信息,并接收、和处理所述基于脚本业务服务器的订阅请求。
[0029] 本发明实施例的技术方案具有以下优点,通过在基于脚本业务服务器上增加相关的分析模块,实现对基于脚本业务逻辑中相关数据源信息进行分析,对基于脚本业务的数据源的可用状态进行标记,并在数据源不可用时对该数据源进行状态检测,克服了基于脚本服务器无法检测基于脚本业务的应用数据源,不能及时获取数据源信息的更新信息的问题,从而达到确保基脚本业务业务的可用性,增强基于脚本业务的可靠性的效果,保证用户可以在请求业务时可以了解基于脚本业务的状态,避免不必要的业务试探的效果,节约了系统资源,改善了用户的使用体验。

附图说明

[0030] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031] 图1为本发明实施例一所提出的一种增强基于脚本业务的应用可靠性的方法的流程示意图;
[0032] 图2为本发明实施例二所提出的一种增强基于脚本业务的应用可靠性的方法的流程示意图;
[0033] 图3为本发明实施例三所提出的一种基于脚本业务系统的结构示意图;
[0034] 图4为本发明实施例四所提出的一种包含Mashup服务器的基于脚本业务系统的结构示意图;
[0035] 图5为本发明实施例五所提出的基于本系统的聚合业务创建流程的流程示意图;
[0036] 图6为本发明实施例五所提出的基于本系统的数据源地址、接口变更流程的流程示意图;
[0037] 图7为本发明实施例五所提出的基于本系统的Mashup业务访问流程的流程示意图;
[0038] 图8为本发明实施例中一种聚合业务的组网结构示意图。

具体实施方式

[0039] 本发明实施例主要针对以Mashup服务器为代表的基于脚本业务服务器无法检测基于脚本业务的数据源,不能确保基于脚本业务的可用性的问题,提供了解决方案。
[0040] 通过在基于脚本业务服务器上增加相关的分析模块,实现对基于脚本业务逻辑中相关数据源(包括业务,本文不再区分)信息进行分析,根据分析结果对该基于脚本业务进行标记以供执行该基于脚本业务时进行数据源状态验证;进一步的,还可以在该基于脚本业务所对应的数据源不可用时,对该数据源进行状态检测,并向业务接入管理系统订阅该数据源的状态信息,从而,克服了基于脚本服务器不能检测基于脚本业务的数据源,也不能及时获取数据源信息更新结果的问题,达到确保基于脚本业务的可用性的效果,保证用户可以在请求业务时可以了解基于脚本业务的状态,避免不必要的业务试探。另外针对基于脚本业务的数据源之间接口变动导致基于脚本业务不可用的问题,通过增强基于脚本业务和数据源提供的转换规则或者其他替换子业务,自动实现对基于脚本业务逻辑的更新,提供基于脚本业务的灵活性,增强基于脚本业务的可用性。
[0041] 在本发明实施例中,为了方便说明,具体以Mashup业务为例,来说明本发明实施例对于基于脚本业务所提出的技术方案的内容,而这样的说明,也仅是本发明的优选实施例,这样的变化并不影响本发明的保护范围。
[0042] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043] 如图1所示,为本发明实施例一所提出的一种增强基于脚本业务的应用可靠性的方法的流程示意图,该方法包括以下步骤:
[0044] 步骤S101、分析基于脚本业务的数据源信息。
[0045] 其中,本步骤具体通过以下两种方式触发:
[0046] (1)接收用户侧发送的基于脚本业务的创建请求;或,
[0047] (2)接收对基于脚本业务的可用状态检测请求,具体包括:
[0048] 当接收用户侧对基于脚本业务的执行请求,并识别基于脚本业务的当前可用状态为不可用时,判断是否需要对基于脚本业务进行可用状态检测,并当判断的结果为需要对基于脚本业务进行可用状态检测时,生成对基于脚本业务的可用状态检测请求;或,[0049] 接收用户侧直接发送的对基于脚本业务的可用状态检测请求。
[0050] 其中,判断是否需要对基于脚本业务进行可用状态检测,具体通过识别基于脚本业务的数据源检测标签来进行判断。
[0051] 步骤S102、根据分析的结果,获取基于脚本业务的数据源的当前状态信息,具体通过以下步骤实现:
[0052] 根据分析基于脚本业务的数据源信息的结果,向业务接入管理系统发送状态信息订阅消息,订阅数据源的状态信息;
[0053] 接收业务接入管理系统上报的基于脚本业务的数据源的当前状态信息。
[0054] 其中,接收当前状态信息的同时,还包括:
[0055] 接收业务接入管理系统上报的状态信息转换规则,状态信息转换规则具体包括以下内容:
[0056] (1)将状态信息的已失效的地址、接口转换为更新后的地址、接口的信息;
[0057] (2)备选数据源替换规则,用于将基于脚本业务中使用的已失效的数据源信息替换为其他更新后的数据信息。
[0058] 并且,进一步的,当基于脚本业务的数据源信息发生变更时,接收业务接入管理系统上报的更新的基于脚本业务的数据源的当前状态信息。
[0059] 步骤S103、根据获取的当前状态信息,判断基于脚本业务的可用状态。
[0060] 需要说明的是,本步骤之后还可以包括保存该基于脚本业务的可用状态信息的步骤,这同样属于本发明的保护范围。
[0061] 进一步的,本步骤具体包括以下三种情况:
[0062] 情况一、当根据获取的当前状态信息,判断基于脚本业务的可用状态为可用时,标记基于脚本业务的可用状态为可用;
[0063] 情况二、当根据获取的当前状态信息,判断基于脚本业务的可用状态为不可用,且未接收到业务接入管理系统上报的状态信息转换规则时,标记基于脚本业务的可用状态为不可用;
[0064] 情况三、当根据获取的当前状态信息,判断基于脚本业务的可用状态为不可用,且接收到业务接入管理系统上报的状态信息转换规则时,根据状态信息转换规则对基于脚本业务的当前状态信息进行转换匹配,并当转换匹配成功时,标记基于脚本业务的可用状态为可用,当转换匹配不成功时,标记基于脚本业务的可用状态为不可用。
[0065] 对应上述的接收信息情况,在步骤S103之后,还包括以下三种情况:
[0066] 在接收到用户侧发送的基于脚本业务的创建请求的情况下,向用户侧返回基于脚本业务的创建结果;或,
[0067] 在接收用户侧对基于脚本业务的执行请求的情况下,当基于脚本业务的可用状态为可用时,执行基于脚本业务,当基于脚本业务的可用状态为不可用时,放弃执行基于脚本业务,并向用户侧返回基于脚本业务的不可执行提示信息;或,
[0068] 接收用户侧直接发送的对基于脚本业务的可用状态检测请求的情况下,向用户侧返回基于脚本业务的状态检测结果。
[0069] 需要进一步说明的是,在步骤S101方法之前还可以包括第三方数据源的注册接入过程,具体为:
[0070] 接收第三方数据源发送的业务适配器注册请求;
[0071] 通过业务适配器访问第三方数据源的私有服务数据。
[0072] 本发明实施例的技术方案具有以下优点:
[0073] 通过分析基于脚本业务的数据源的信息,以订阅的方式获取该数据源相对应的状态信息,根据状态信息对该基于脚本业务的数据源标记可用状态,可选的,还可以对标记结果保存,为后续的基于脚本业务可用性的检验提供依据,克服了基于脚本服务器无法检测基于脚本业务的数据源的当前状态的问题;
[0074] 在数据源的状态为不可用时,对该数据源进行状态检测和适配,克服了基于脚本服务器不能及时获取数据源信息更新结果的问题;
[0075] 通过第三方数据源适配,实现了对多种基于脚本业务的有效扩展;
[0076] 通过上述的多项技术措施,达到确保基于脚本业务的可用性,增强基于脚本业务的可靠性的效果,保证用户可以在请求业务时可以了解基于脚本业务的状态,避免不必要的业务试探的效果,节约了系统资源,改善了用户的使用体验。
[0077] 如图2所示,为本发明实施例二所提出的一种增强基于脚本业务的应用可靠性的方法的流程示意图,该方法包括以下步骤:
[0078] 步骤S201、接收基于脚本业务服务器发送的状态信息订阅消息,订阅基于脚本业务的数据源的状态信息;
[0079] 步骤S202、根据状态信息订阅消息,获取基于脚本业务的数据源的状态信息;
[0080] 步骤S203、向基于脚本业务服务器发送基于脚本业务的数据源的当前状态信息。
[0081] 其中,当基于脚本业务的数据源的状态信息发生变化时,步骤S203还可以变化为向基于脚本业务服务器上报变化的基于脚本业务的数据源的状态信息和数据源转换规则。
[0082] 本发明实施例的技术方案具有以下优点,通过接收基于脚本业务服务器对于数据源状态信息的订阅,反馈当前的数据源状态信息,并在数据源信息发生变化时上报信息变化结果,克服了数据源信息的变化不能及时反馈和进行管理的问题,并进一步的通过上报数据源转换规则,实现数据源信息的变更转换,增强了基于脚本业务的可靠性,确保了基于脚本业务的可用性,保证用户可以在请求业务时可以了解基于脚本业务的状态,避免不必要的业务试探的效果,节约了系统资源,改善了用户的使用体验。
[0083] 对应上述的本发明实施例一和实施例二,本发明通过实施例三提出一种基于脚本业务系统,结构示意图如图3所示,包括基于脚本业务服务器1和业务接入管理系统2:
[0084] 基于脚本业务服务器1,用于提供基于脚本业务创建、执行和管理相关功能,并向业务接入管理系统2订阅基于脚本业务的数据源的状态信息,包括:
[0085] 分析模块101,用于分析基于脚本业务的数据源信息;
[0086] 获取模块102,用于根据分析模块101所分析的结果,获取基于脚本业务的数据源信息的当前状态信息,具体包括:
[0087] 订阅子模块1021,用于根据分析模块101分析基于脚本业务的数据源信息的结果,向业务接入管理系统2发送状态信息订阅消息,订阅数据源的状态信息;
[0088] 接收子模块1022,用于接收业务接入管理系统2上报的基于脚本业务的数据源的当前状态信息,和/或用于接收业务接入管理系统上报2的状态信息转换规则。
[0089] 判断模块103,用于根据获取模块102所获取的当前状态信息,判断基于脚本业务的可用状态。
[0090] 进一步的,基于脚本业务服务器1还包括:
[0091] 存储模块104,用于保存判断模块103根据基于脚本业务的可用状态信息,对基于脚本业务的可用状态的判断结果。需要指出的是,在实际应用场景中,存储模块104可以设置于基于脚本业务服务器1中,也可以设置于其他服务器上,这样的辩护并不影响本发明的保护范围。
[0092] 第一接收模块105,用于接收用户侧发送的基于脚本业务的创建请求;
[0093] 第二接收模块106,用于接收用户侧对基于脚本业务的执行请求,或,接收对基于脚本业务的可用状态检测请求。
[0094] 业务自管理模块107,用于根据第二接收模块106接收到用户侧对基于脚本业务的执行请求,生成对基于脚本业务的可用状态检测请求,具体包括:
[0095] 识别子模块1071,用于识别基于脚本业务的当前可用状态;
[0096] 判断子模块1072,用于当识别子模块1071识别基于脚本业务的当前可用状态为不可用时,判断是否需要对基于脚本业务进行可用状态检测;
[0097] 检测子模块1073,用于当判断子模块1072的判断结果为需要对基于脚本业务进行可用状态检测时,生成对基于脚本业务的可用状态检测请求。
[0098] 数据源转换模块108,用于当判断模块103判断基于脚本业务的可用状态为不可用,且接收子模块1022接收到业务接入管理系统2上报的状态信息转换规则时,根据状态信息转换规则对基于脚本业务的当前状态信息进行转换匹配。
[0099] 进一步的,基于脚本业务服务器1还包括:
[0100] 第一发送模块109,用于在第一接收模块105接收到用户侧发送的基于脚本业务的创建请求的情况下,向用户侧返回基于脚本业务的创建结果;
[0101] 业务执行模块110,用于在第二接收模块106接收用户侧对基于脚本业务的执行请求的情况下,当判断模块103判断基于脚本业务的可用状态为可用时,执行基于脚本业务;
[0102] 第二发送模块111,用于在第二接收模块106接收用户侧对基于脚本业务的执行请求的情况下,向用户侧返回业务执行模块110对基于脚本业务的执行结果,[0103] 或,用于在第二接收模块106接收用户侧直接发送的对基于脚本业务的可用状态检测请求的情况下,向用户侧返回基于脚本业务的状态检测结果。
[0104] 数据源适配模块112,用于提供一个非开放的数据源接入功能,为第三方业务提供者提供一个数据源适配器,以实现基于脚本业务服务器对第三方私有数据源的访问功能。
[0105] 业务接入管理系统2,用于维护网络上数据源的信息,并接收、和处理基于脚本业务服务器1的订阅请求。
[0106] 其中,业务接入管理系统2,还用于当基于脚本业务的数据源的状态信息发生变化时,向基于脚本业务服务器1上报变化的基于脚本业务的数据源的状态信息和数据源转换规则包括:
[0107] 接收模块21,用于接收基于脚本业务服务器1发送的状态信息订阅消息,订阅基于脚本业务的数据源的状态信息;
[0108] 数据源信息获取模块22,用于根据接收模块21所接收的状态信息订阅消息,获取基于脚本业务的数据源的状态信息;
[0109] 发送模块23,用于向基于脚本业务服务器1发送数据源信息获取模块22所获取的基于脚本业务的数据源信息的当前状态信息。
[0110] 进一步的,发送模块23还用于当基于脚本业务的数据源的状态信息发生变化时,向基于脚本业务服务器1上报变化的基于脚本业务的数据源的状态信息和数据源转换规则。
[0111] 进一步的,业务接入管理系统2还包括:
[0112] 数据源信息模块24,用于存储基于脚本业务的数据源信息。
[0113] 上述模块可以分布于一个装置,也可以分布于多个装置。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0114] 本发明实施例的技术方案具有以下优点:
[0115] 通过在基于脚本服务器上增加相关的分析模块、获取模块和判断模块等多个功能模块,分析基于脚本业务的数据源的信息,以订阅的方式获取该数据源相对应的状态信息,根据状态信息对该基于脚本业务的数据源标记可用状态,可选的,还可以增加存储模块,用以对标记结果进行保存,为后续的基于脚本业务可用性的检验提供依据,克服了基于脚本服务器无法检测基于脚本业务的数据源的当前状态的问题;
[0116] 并且,获取模块还可以在数据源的状态为不可用时,对该数据源进行状态检测和适配,克服了基于脚本服务器不能及时获取数据源信息更新结果的问题;
[0117] 通过数据源适配模块对第三方数据源适配,实现了对多种基于脚本业务的有效扩展;
[0118] 通过上述的多项技术措施,达到确保基于脚本业务的可用性,增强基于脚本业务的可靠性的效果,保证用户可以在请求业务时可以了解基于脚本业务的状态,避免不必要的业务试探的效果,节约了系统资源,改善了用户的使用体验。
[0119] 在实际的应用场景中,上述的装置和系统可以作出相应的更改和变化,上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0120] 如图4所示,为本发明实施例四所提出的一种包含Mashup服务器的基于脚本业务系统的结构示意图,包括Mashup服务器41和业务接入管理系统42。
[0121] Mashup服务器41主要包含业务访问动态控制模块411、Mashup执行系统412、Portal413、业务自管理模块414、业务创建模块415、业务存储模块416、数据源分析模块417、数据源适配模块418、数据源转换模块419。
[0122] 其中Portal413、业务创建模块415和Mashup执行系统412与普通的Mashup服务器没有区别。
[0123] 业务访问动态控制模块411主要分析用户的请求信息得到用户要访问的Mashup应用,然后检测对应的Mashup应用状态信息,如果Mashup业务可用就请求业务执行系统执行该Mashup业务逻辑;如果该Mashup应用状态不可用则进一步根据业务检测标签判断是否需要检测对应数据源状态,如果需要则检测数据源信息,必要时可以对Mashup业务逻辑进行数据源转换匹配,然后标记业务状态可用,并请求业务执行系统执行该Mashup业务逻辑,否则立即通知用户该Mashup业务不可用。
[0124] 业务自管理模块414主要为最终用户提供Mashup业务管理功能,用户可以主动请求业务数据源分析模块417对业务数据源进行检测,更新Mashup业务的状态信息。
[0125] 业务存储模块416除了负责保存Mashup业务逻辑,还保存Mashup业务逻辑的状态(可用、不可用等)以及Mashup业务的数据源信息,数据检测标签等。
[0126] 数据源转换模块419将根据数据源转换规则对相关Mashup业务逻辑中调用数据源的部分进行转换处理,使之可以适应数据源提供的新的接口规则或是替换为其他等价数据源。
[0127] 业务数据源分析模块417负责分析Mashup业务逻辑所使用的数据源信息,并把数据源信息和Mashup业务逻辑一起保存到业务存储模块416中,当数据源状态发生变化时,该模块将及时分析出受影响的Mashup业务逻辑,并更新相关业务逻辑的状态。必要时还可以根据数据源提供的数据源转换规则调用数据源转换模块419对原有Mashup业务逻辑进行更新处理,把数据源调用接口更新为新的接口或替换为其他等价数据源,从而最大限度的保障Mashup业务逻辑的可用。
[0128] 数据源适配模块418主要提供一个私有非开放的源接入功能,网络上有很多功能不提供开放的接口,为了让Mashup服务也可以使用这些数据源,需要第三方提供一个适配器,该适配器实现Mashup服务对第三方私有接口的数据源的访问功能,这里的适配器可以是一段封装好的代码或动态程序库供Mashup服务器使用。数据源适配模块418支持第三方主动注册数据源适配器,以协助第三方服务提供者更好的推广其服务和数据源。
[0129] 通过上述的描述,对应上述的本发明实施例三,业务访问动态控制模块411可以相当于分析模块101、第二接收模块106和第二发送模块111三个模块功能上的集合,Mashup执行系统412相当于业务执行模块110,Portal413相当于第一接收模块105和第一发送模块109功能上的集合,业务自管理模块414业务自管理模块107,业务存储模块416相当于存储模块104、数据源分析模块417相当于获取模块102和判断模块103功能上的集合、数据源适配模块418相当于数据源适配模块112、数据源转换模块419相当于数据源转换模块108,这样的变化并不影响本发明的保护范围。
[0130] 业务接入管理系统42主要包括数据源信息模块421和数据源管理模块422。
[0131] 其中,数据源信息模块411用于存储相关数据源接口、状态、等价备选子服务等相关信息,数据源管理模块422主要负责获取相关数据源能力,并处理Mashup服务器41的数据源信息订阅请求。
[0132] 同时数据源信息模块411存储和提供数据源转换规则,必要时可以提供等价可替换子业务接口最为转换规则保证Mashup业务逻辑在原始子服务失败(接口变化、服务退出)可以正常运行。
[0133] 通过上述的描述,对应上述的本发明实施例三,数据源信息模块411可以相当于数据源信息模块24,数据源管理模块422相当于接收模块21,数据源信息获取模块22和发送模块23功能上的集合,这样的变化并不影响本发明的保护范围。
[0134] 本发明实施例的技术方案具有以下优点,通过在Mashup服务器上增加相关的分析模块,实现对Mashup业务逻辑中相关数据源(包括业务)信息进行分析,对Mashup业务进行标记,从而,达到了保证用户可以在请求业务时可以了解Mashup业务的状态,避免不必要的业务试探的效果,节约了系统资源,改善了用户的使用体验。
[0135] 基于上述的本发明实施例四所提出的系统,本发明实施例五提出了基于本系统的聚合业务创建流程,具体如图5所示,包括以下步骤:
[0136] 步骤S501、用户通过Mashup业务创建环境创建Mashup应用;
[0137] 步骤S502、Mashup服务器接收到用户创建的新Mashup服务时,分析该服务所调用的相关数据源信息,如果Mashup服务没有订阅该数据源信息,则向业务接入管理系统订阅相关数据源信息;
[0138] 步骤S503、业务接入管理系统并接收订阅请求,根据数据源状态,返回相关数据源信息,后续如果相关数据源信息变动(如状态、地址、接口、备选等价服务等),业务接入管理系统依然会上报这些信息。
[0139] 步骤S504、Mashup服务器保存业务逻辑和相关数据源信息,以及根据数据源信息判断当前Mashup业务逻辑是否可用,并保存该信息,同时向用户反馈Mashup业务创建结果(如创建成功,立即可用或暂不可用等);
[0140] 需要进一步指出的是,业务接入管理系统可以通过相关途径收集获取数据源信息,并对数据源进行管理。
[0141] 本发明实施例的技术方案具有以下优点,通过对新创建的Mashup业务的逻辑中相关数据源(包括业务)信息进行分析和订阅数据源的状态信息,实现对数据源可用状态的判断和标识,从而,达到了Mashup业务的数据源的可用状态信息的及时标识和更新,保证Mashup业务可用性的效果。
[0142] 基于上述的本发明实施例四所提出的系统,本发明实施例六提出了基于本系统的数据源地址、接口变更流程,具体如图6所示,包括以下步骤:
[0143] 步骤S601、业务接入管理系统获知数据源状态、地址、接口变动的结果(例如:数据源上报地址、接口更改)并基于Mashup服务器的订阅请求要求上报地址、接口更改通知消息(包含数据源地址、接口变动信息,老地址、接口转换为新地址、接口的规则信息、备选等价数据源等)
[0144] 步骤S602、Mashup服务器的业务数据源分析模块根据Mashup业务与数据源关系更新相关Mashup业务逻辑的可用状态,如果有相关地址、接口转换规则,则调用数据源转换模块对Mashup业务逻辑进行转换。
[0145] 步骤S603、Mashup服务器的数据源转换模块根据相关的地址、接口转换规则(协议、参数类型、参数顺序等变化、备选等价数据源),对相关的Mashup业务逻辑进行处理,完成后对转换成功的Mashup业务恢复可用标记。
[0146] 本发明实施例的技术方案具有以下优点,通过接收数据源状态信息的订阅,和对数据源的当前状态信息和后续的状态信息变化的及时上报,保证了Mashup服务器上对应数据源的状态信息和对应的可用状态的准确性,从而,达到了保证用户可以在请求业务时可以了解Mashup业务的状态,避免不必要的业务试探的效果,节约了系统资源,改善了用户的使用体验。
[0147] 基于上述的本发明实施例四所提出的系统,本发明实施例七提出了基于本系统的Mashup业务访问流程,具体如图7所示,包括以下步骤:
[0148] 步骤S701、用户请求执行Mashup业务逻辑。
[0149] 步骤S702、Mashup服务检测相关业务逻辑的可用状态,如果可用就执行该逻辑;如果不可用,则判断数据源检测标签,如果数据不可用则向用户返回不可用提示信息;如果需要进一步检测数据源状态,则执行后续步骤。
[0150] 步骤S703、Mashup服务器请求业务接入管理系统上报数据源细信息。业务接入管理系统根据收集的数据源信息做相关处理。
[0151] 步骤S704、业务接入管理系统上报数据源信息(包括地址、接口转化规则、备选子服务替换规则等)。
[0152] 步骤S705、如果Mashup服务发现数据源状态有问题,则向用户返回Mashup业务逻辑不可用提示信息。如果是数据源地址、接口变动,Mashup服务器更新相关业务逻辑地址、接口调用代码,并更Mashup业务逻辑状态为可用,Mashup服务器执行该更新后的业务逻辑,对第三方私有地址、接口,Mashup可以通过数据源适配模块来方法(适配逻辑可有第三方注册进来)。
[0153] 步骤S706、Mashup服务器返回业务逻辑执行结果。
[0154] 本发明实施例的技术方案具有以下优点,通过在执行Mashup业务的过程中进行数据源可用状态检测,并进而对不可用的数据源进行状态信息更新的技术方案,,达到了保证用户可以在请求业务时可以了解Mashup业务的状态,避免不必要的业务试探的效果,节约了系统资源,改善了用户的使用体验。
[0155] 具体的,本发明还提出了解和具体实施环境的实施例,基于如图8所示的网络结构,本发明实施例所提出的技术方案的具体内容如下:
[0156] 用户可以通过计算机或移动终端接入并访问Mashup服务器上的相关服务。用户可以借助于Mashup服务提供业务的创建模块创建各种Mashup服务。本实例假设用户A想在结婚纪念日给他妻子发送一份特别的贺卡,由于用户一直出差在外,他提前制作了一张精美的电子玫瑰,并发布到图片共享服务上,为了能恰好在纪念日那天把准备好的祝福信息和贺卡发送给妻子,他在酒店通过Mashup服务器创建了一个mashup应用自动发送贺卡到老婆的邮箱,主要内容是“我现在在”+getlocation(信息接收终端号码)+“出差,今天是结婚纪念日,我亲手做了一个贺卡送给你,希望你喜欢,并发送手机短信提醒妻子,同时给自己反馈结果信息。该实例所涉及的网络服务极其组网情况如上图所示。业务路由器SR/业务网关GW完成业务接入管理系统功能,维护图片共享服务、位置服务、彩信服务等相关信息。这些业务路由器、网关逻辑上可以相互连接组成网络以便更好的服务与相关应用。Mashup服务器可以通过SR、GW订阅、查询相关具体子服务的信息。这里以消息服务为例,为了使得Mashup服务器可以简单的调用消息服务,消息服务提供者向Mashup服务的数据源适配器注册了SMS适配对象,用户可以通过send(to,message)地址、接口发送消息,其中to表示发送目标,message表示消息内容。
[0157] 用户A通过Mashup服务器的业务创建模块创建的业务逻辑如下:
[0158] *my mashup
[0159] function sendEmail(to,message,attached=null)//发邮件[0160] {
[0161] var em=new Email();
[0162] if(attached=null)
[0163] em.send(to,message);
[0164] else
[0165] em.send(to,message,attached);
[0166] im.disconnect();
[0167] }
[0168] function sendSMS(from,to,message)//发短信
[0169] {
[0170] var sms=new SMS();
[0171] sms.send(to,message);
[0172] sms.disconnect();
[0173] }
[0174] function file getfile(name)//读取贺卡
[0175] {
[0176] var file=new file(name)
[0177] return file;
[0178] }
[0179] function string getlocation(usr)
[0180] {
[0181] var location=new LCS(usr)
[0182] return location.getlocation();
[0183] }
[0184] while(true)
[0185] {
[0186] date=getDay()
[0187] If(date=“20080808”)
[0188] {
[0189] File file=getfile(./rose.jpg);
[0190] var message=“我现在在”+getlocation(接收终端号码)+“出差,今天是结婚纪念日,我亲手做了一个贺卡送给你,希望你喜欢”
[0191] sendEmail(wife@gmail.com,message,file)
[0192] sendEmail(136XXXXXXXX,“我给你发了电子贺卡,请查收”)[0193] sendEmail(135XXXXXXXX,“发送电子贺卡成功”)
[0194] exit;
[0195] }
[0196] }
[0197] Mashup服务保存该业务逻辑的状态相关信息
[0198] <?xml version="1.0"encoding="UTF-8"?>
[0199]
[0200]
[0201]
[0202]
[0203]
[0204]
[0205]
[0206]
[0207]
[0208]
[0209]
[0210]
[0211]
[0212]
[0213] 业务路由器或网关维护的子业务信息以消息服务内容参考如下
[0214] <?xml version="1.0"encoding="UTF-8"?>
[0215]
[0216]
[0217]
[0218]
[0219]
[0220]
[0221] Null
[0222]
[0223]
[0224]
[0225] 这样用户A就可以执行上述Mashup业务逻辑实现自己的需求。
[0226] 为了进一步完善服务,消息服务提供者想增加发送者标识信息,改变了消息服务的地址、接口,作为消息服务提供者他并关心有哪些已有的Mashup服务会调用了自己,他只负责发布新的地址、接口,用户可以通过send(from,to,message)地址、接口发送消息,其中新增的from表示发送者标识。这样就导致已有的Mashup服务,可能无法继续使用该服务。消息服务提供者为了方便老服务对消息进行转换,同时发布了新老地址、接口转换规则,对老业务允许用default作为默认参数。其中转换规则send.trans示例如下:
[0227] <?xml version="1.0"encoding="UTF-8"?>
[0228]
[0229]
[0230]
[0231]
[0232] $var.send(default,$parameter1,$parameter2)
[0233]
[0234]
[0235]
[0236] 业务接入管理服务收集到上述SMS服务信息状态改变的消息后,根据相关的订阅信息作特殊处理。更新SMS服务状态。
[0237] <?xml version="1.0"encoding="UTF-8"?>
[0238]
[0239]
[0240]
[0241]
[0242]
[0243]
[0244] Send.trans
[0245]
[0246]
[0247]
[0248] 上报sms服务状态信息(包括地址、接口转换规则)给Mashup服务,Mashup服务根据保存的服务状态信息,发现用户A的Mashup服务调用了该消息服务,则Mashup服务器通过数据源地址、接口转换模块对该Mashup业务逻辑进行转换。转换后的逻辑片断如下:
[0249] *my mashup
[0250] function sendEmail(to,message,attached=null)//发邮件[0251] {
[0252] var em=new Email();
[0253] if(attached=null)
[0254] em.send(to,message);
[0255] else
[0256] em.send(to,message,attached);
[0257] im.disconnect();
[0258] }
[0259] function sendSMS(from,to,message)//发短信
[0260] {
[0261] var sms=new SMS();
[0262] sms.send(default,to,message);
[0263] sms.disconnect();
[0264] }
[0265] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实现基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0266] 本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0267] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。