Web服务接口获取方法及装置与流程

文档序号:16209288发布日期:2018-12-08 07:31阅读:313来源:国知局
Web服务接口获取方法及装置与流程

本公开涉及大数据技术领域,尤其涉及一种web服务接口获取方法及装置。

背景技术

服务生成器可以将不同数据源(例如:rdbms、excel、csv文件、carbondatasources、cassandra、googlespreadsheets、rdf、jndidatasources、customdatasource等)的数据生成并发布成webservice(web服务)接口。

资源目录系统可以将不同的数据资源(例如:数据库资源、文件资源、接口资源等)进行目录梳理、资源编目,并形成方便用户检索查询以及申请使用数据资源的数据共享系统。

为了避免用户与结构化的数据库资源的数据实体直接接触,也为了方便数据在进行对外开放时的一些授权控制,数据库资源可以采用web服务接口的方式对外开放。

相关技术中,资源目录系统可以通过对基于数据库资源生成的web服务接口进行编目发布,实现对数据库资源的编目发布。而在资源目录系统对web服务接口资源进行编目发布时,需要编目员手动到服务生成器去获取web服务接口。这种方式,存在操作复杂、工作效率较低以及误操作可能性较大等问题。



技术实现要素:

有鉴于此,本公开提出了一种web服务接口获取方法及装置,能够简化操作、提高工作效率,降低误操作的可能。

根据本公开的一方面,提供了一种web服务接口获取方法,包括:监听资源目录系统中的资源申请;对于任意一个针对数据库资源的资源申请:在所述资源申请审批通过的情况下,获取所述资源申请的申请信息,所述申请信息包括发起申请的用户的用户标识、申请的数据源的连接信息,以及申请的数据表的元数据信息;向服务生成器发送第一授权请求,所述第一授权请求包括所述用户标识、所述连接信息和所述元数据信息,以使所述服务生成器根据所述元数据信息和所述连接信息生成目标web服务接口,根据所述用户标识在所述目标web服务接口上对发起申请的用户进行授权。

根据本公开的另一方面,提供了一种web服务接口获取装置,包括:监听模块,用于监听资源目录系统中的资源申请;获取模块,用于在所述资源申请审批通过的情况下,获取所述资源申请的申请信息,所述申请信息包括发起申请的用户的用户标识、申请的数据源的连接信息,以及申请的数据表的元数据信息;第一发送模块,用于向服务生成器发送第一授权请求,所述第一授权请求包括所述用户标识、所述连接信息和所述元数据信息,以使所述服务生成器根据所述元数据信息和所述连接信息生成目标web服务接口,根据所述用户标识在所述目标web服务接口上对发起申请的用户进行授权。

根据本公开各方面实施例的接口获取方法及装置,通过监听资源申请,能够根据资源申请的申请信息实现web服务接口的自动获取和自动授权,省去了对服务生成器的手动操作,简化了操作,提高了工作效率,降低了误操作的可能。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1示出根据本公开一实施例的web服务接口获取方法的流程图。

图2示出根据本公开一实施例的资源目录内容形成与提供系统的架构示意图。

图3示出根据本公开一实施例的web服务接口获取方法的流程图。

图4示出根据本公开一实施例的web服务接口获取装置的框图。

图5示出根据本公开一实施例的web服务接口获取装置的框图。

图6是根据一示例性实施例示出的一种用于web服务接口获取的装置的框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

图1示出根据本公开一实施例的web服务接口获取方法的流程图。图2示出根据本公开一实施例的资源目录内容形成与提供系统的架构示意图。如图2所示,该系统包括数据源、资源目录系统和服务生成器。其中,数据源中的数据资源通过编目后,经过资源审核注册到资源目录系统。服务生成器可以生成并发布用于获取数据源的数据资源的web服务接口。用户可以在资源目录系统中查询检索已发布的数据资源,对于需要的数据资源通过服务生成器发布的web服务接口向数据源发出申请。

图1所示的接口获取方法可以应用于图2所示的资源目录系统中的适配器。其中,图2示出的是资源目录内容形成与提供系统的架构的一个示例,适配器可以是如图2所示的资源目录系统中的一个模块,也可以是独立于资源目录系统的一个模块,对此本公开不做限制。如图1所示,该接口获取方法包括:

步骤s11,监听资源目录系统中的资源申请。

用户可以通过资源目录系统进行已发布数据资源的查询检索。当检索到想要的数据资源时,用户可以通过在资源目录系统中提交操作触发资源申请。资源申请被提交至资源目录系统后,由目录管理员来进行此次资源申请的审批。其中,用户可以在资源目录系统中申请不同的数据资源,例如数据库资源、文件资源和接口资源等。

适配器可以持续监听资源目录系统中的资源申请,以了解资源申请情况。对于任意一个针对数据库资源的资源申请,适配器可以通过步骤s12至步骤s15获取访问数据源的web服务接口,以便于用户通过该web服务接口从数据源获取所申请的数据资源,这样能够既使用户能够获得需要的数据,又能够避免用户直接与结构化的数据库资源的数据实体直接接触。

需要说明的是,资源目录系统中发布的数据库资源需要满足数据源能够成功连接并读取,且该发布的数据库资源包括表标识和字段标识。

步骤s12,在所述资源申请审批通过的情况下,获取所述资源申请的申请信息,所述申请信息包括发起申请的用户的用户标识、申请的数据源的连接信息,以及申请的数据表的元数据信息。

申请信息表示与本次资源申请有关的信息,申请信息包括发起申请的用户的用户标识、申请的数据源的连接信息,以及申请的数据表的元数据信息。

数据源的连接信息用于连接数据源,数据源的连接信息可以为数据源的ip地址或者数据源的url等。

数据表的元数据信息可以用于表示用户申请的具体数据。在一种可能的实现方式中,数据表的元数据信息可以包括表标识。根据表标识可以确定用户申请了哪个数据表中的数据。

在一种可能的实现方式中,数据表的元数据信息可以包括表标识和字段标识。根据表标识和字段标识可以确定用户申请了哪个数据表中哪些字段的数据。用户在提交针对数据库资源的资源申请时,可以在选择数据表时选择所需的字段,提交申请后由管理员进行审批。这样,用户对数据资源的申请可以细粒度到字段的选择,使控制更加精细化。

步骤s13,向服务生成器发送第一授权请求,所述第一授权请求包括所述用户标识、所述连接信息和所述元数据信息,以使所述服务生成器根据所述元数据信息和所述连接信息生成目标web服务接口,根据所述用户标识在所述目标web服务接口上对发起申请的用户进行授权。

适配器获取到申请信息之后,可以对申请信息中的元数据信息进行解析,将元数据信息组装成能够匹配服务生成器规则的sql语句,以供服务生成器在生成web服务接口时使用。在一个示例中,元数据信息包括:user表、name字段和age字段,适配器根据解析后的元数据信息可以组装成sql语句:selectname,agefromuser。

服务生成器接收到第一授权请求时,可以根据第一授权请求的连接信息和元数据信息生成目标web服务接口,在目标web服务接口上对发起申请的用户(第一授权请求的用户标识对应的用户)进行授权。完成授权后,服务生成器可以发布授权的目标web服务接口。服务生成器在发布目标web服务接口时,可以生成一个wsdl(webservicedescriptionlanguage,网络服务描述语言)文件。其中,wsdl文件是一个xml文件,可以用于说明授权的目标web服务接口的地址、授权的目标web服务接口包括的方法以及各个方法的方法名、参数和参数类型等信息。

在本公开实施例中,通过监听资源申请,能够根据资源申请的申请信息,实现web服务接口的自动获取和自动授权,用户和管理员只需要对资源目录系统进行接触和使用,不需要对服务生成器进行手动操作便可以获取所需要的授权接口,简化了操作,提高了工作效率,降低了误操作的可能。

同时,相关技术中,服务生成器基于数据库资源生成web服务接口时,也需要手动的信息配置和sql语句编写,这同样存在操作复杂、工作效率较低以及误操作可能性较大等问题。

在本公开实施例中,能够根据资源申请的申请信息加工组装成服务生成器匹配的sql格式去生成目标web服务接口,并实现目标web服务接口的自动授权,不需要在服务生成器中手动的信息配置和sql语句编写,进一步简化了操作,提高了工作效率,降低了误操作的可能。

另外,数据库的表可能包含多个字段,共享给不同用户的字段也可能会不同,相关技术中,在服务生成器中将一些关系型数据库资源生成webservice接口时时手动配置信息和编写sql语句的,实现上述场景时,需要提前根据不同字段组合生成多个服务接口。这种提前生成多个服务接口的方式,会导致部分接口并无人使用,导致资源的浪费,加大了对接口的维护成本。

在本公开实施例中,数据表的元数据信息可以包括表标识和字段标识,对用户申请的数据资源可以细粒化到字段的选择,只需要用户在资源目录系统中提交包括细化到字段标识的资源申请,资源目录系统(适配器)就可以使服务生成器自动生成和发布web服务接口,实现接口的自动生成和自动授权,解决了需要提前生成大量web服务接口而造成的接口维护问题,避免了资源的浪费,减少了人力的投入。

图3示出根据本公开一实施例的web服务接口获取方法的流程图。如图3所示,该方法还包括:

步骤s14,在服务生成器查找与所述连接信息和所述元数据信息匹配的目标web服务接口。

目标web服务接口表示与申请信息中的连接信息和元数据信息匹配的web服务接口。web服务接口与连接信息匹配表示该接口是针对该连接信息对应的数据源的web服务接口。web服务接口与元数据信息匹配表示通过该web服务接口获取的数据与该元数据信息表示的数据一致,例如,都是数据表a的数据,或者都是数据表a的字段1和字段2的数据。因此,用户可以通过目标web服务接口获取所申请的数据。

在一种可能的实现方式中,步骤s14可以包括:向所述服务生成器发送接口查询请求,所述接口查询请求中包括所述连接信息和所述元数据信息,以使所述服务生成器查找是否存在使用所述连接信息和所述元数据信息生成的目标web服务接口;若接收到所述服务生成器响应于所述接口查询请求返回的接口标识,则将所述接口标识对应的web服务接口确定为所述目标web服务接口。

服务生成器接收到接口查询请求后,可以在本地查找与接口查询请求的连接信息和元数据信息匹配的目标web服务接口。当服务生成器查找目标web服务接口时,将该目标web服务接口的接口标识返回给适配器。适配器接收到服务生成器响应于接口查询请求返回的接口标识时,可以确定查找到了目标web服务接口,且服务生成器返回的接口标识对应的接口就是目标web服务接口。

步骤s15,确定是否查找到所述目标web服务接口;若确定未查找到所述目标web服务接口,则执行步骤s13;若确定查找到所述目标web服务接口,则执行步骤s16。

步骤s16,向所述服务生成器发送第二授权请求,所述第二授权请求包括所述用户标识和所述目标web服务接口的接口标识,以使所述服务生成器根据所述接口标识和所述用户标识,在所述目标web服务接口上对发起申请的用户进行授权。

参照步骤s13可知,用户可以通过目标web服务接口获取所申请的数据。因此,当查找到目标web服务接口时,表明服务生成器中存在供用户获取数据的接口,适配器可以向服务生成器发送第二授权请求,以请求服务生成器直接在目标web服务接口上对发起申请的用户进行授权。

其中,第二授权请求包括发起申请的用户的用户标识和目标web服务接口的接口标识。服务生成器接收到第二授权请求后,可以根据第二授权请求的用户标识和接口标识,在目标web服务接口(第二授权请求的接口标识对应的接口)上对发起申请的用户(第一授权请求的用户标识对应的用户)进行授权。之后,服务生成器可以发布目标web服务接口。

应用示例

如图2所示,编目员通过资源目录系统的编目系统连接一个数据源,该数据源为关系型数据库,读取该数据库中各数据表的表标识以及每个数据表中的字段标识,将这些表标识和字段标识贴上分类标签和说明,发布成一个目录资源,例如,发布成用户的基本信息资源,表标识为user。

用户a在已发布的数据库资源中进行查询检索,假设用户a检索到想要的用户的基本信息资源,则用户b可以通过提交操作触发资源申请,用户a在提交申请时,选择的字段标识为name和age。

资源目录系统的适配器持续监听资源目录系统中的资源申请。在用户a提交的上述资源申请通过了管理员审批的情况下,适配器可以获取该资源申请的申请信息1,申请信息1中:申请的用户的用户标识为a,申请的数据源的连接信息为ip1,申请的数据表的元数据信息包括表标识user、字段标识name和age。

适配器可以在服务生成器查找与ip1、表标识user、字段标识name和age匹配的目标web服务接口。

假设未查找到所述目标web服务接口,则适配器解析元数据信息,将解析后的元数据信息组装成sql语句1:selectname,agefromuser。

适配器向服务生成器发送第一授权请求,该第一授权请求包括sql语句1和ip1。服务生成器根据sql语句1和ip1生成接口1(该接口1是与ip1、表标识user、字段标识name和age匹配的目标web服务接口),并在接口1上对用户a授权,之后服务生成器向用户a发布该接口1。

此后,将设用户b也对同样的资源进行申请,也同样申请字段name和age。适配器获取申请信息2,申请信息2中:申请的用户的用户标识为b,申请的数据源的连接信息为ip1(与申请信息1相同),申请的数据表的元数据信息包括表标识user、字段标识name和age(与申请信息1相同)。

适配器可以在服务生成器查找到与ip1、表标识user、字段标识name和age匹配的目标web服务接口:接口1。

此时,适配器向服务生成器发送第二授权请求,该第二授权请求包括接口1的接口标识和用户标识b。服务生成器在接口1上对用户b授权,之后服务生成器向用户b发布该接口1。

在本公开实施例中,数据库资源被申请后,通过解析申请信息,并将申请信息匹配的接口或者申请信息加工组装后在服务生成器生成的接口进行授权并返回,实现了接口的自动生成和自动授权,用户和管理员只需要对资源目录系统进行接触和使用,不需要对服务生成器进行操作便可以获取需要的接口,简化了操作,节省了人力成本、降低了误操作导致的可能,同时实现了细粒化到字段的用户选择,解决了需要提前生成大量接口进行维护的问题,减少了了资源的浪费。

图4示出根据本公开一实施例的web服务接口获取装置的框图。如图4所示,该装置40包括:

监听模块41,用于监听资源目录系统中的资源申请;

获取模块42,用于在所述资源申请审批通过的情况下,获取所述资源申请的申请信息,所述申请信息包括发起申请的用户的用户标识、申请的数据源的连接信息,以及申请的数据表的元数据信息;

第一发送模块43,用于向服务生成器发送第一授权请求,所述第一授权请求包括所述用户标识、所述连接信息和所述元数据信息,以使所述服务生成器根据所述元数据信息和所述连接信息生成目标web服务接口,根据所述用户标识在所述目标web服务接口上对发起申请的用户进行授权。

在本公开实施例中,通过监听资源申请,能够根据资源申请的申请信息,实现web服务接口的自动获取和自动授权,用户和管理员只需要对资源目录系统进行接触和使用,不需要对服务生成器进行手动操作便可以获取所需要的授权接口,简化了操作,提高了工作效率,降低了误操作的可能。

图5示出根据本公开一实施例的web服务接口获取装置的框图。如图5所示,在一种可能的实现方式中,该装置40还包括:

查找模块44,用于在服务生成器查找与所述连接信息和所述元数据信息匹配的目标web服务接口;

所述第一发送模块43,还用于若未查找到所述目标web服务接口,则执行所述向服务生成器发送第一授权请求的步骤;

第二发送模块45,用于若查找到所述目标web服务接口,则向所述服务生成器发送第二授权请求,所述第二授权请求包括所述用户标识和所述目标web服务接口的接口标识,以使所述服务生成器根据所述接口标识和所述用户标识,在所述目标web服务接口上对发起申请的用户进行授权。

在一种可能的实现方式中,所述查找模块44包括:

发送子模块441,用于向所述服务生成器发送接口查询请求,所述接口查询请求中包括所述连接信息和所述元数据信息,以使所述服务生成器查找是否存在使用所述连接信息和所述元数据信息生成的目标web服务接口;

确定子模块442,用于若接收到所述服务生成器响应于所述接口查询请求返回的接口标识,则将所述接口标识对应的web服务接口确定为所述目标web服务接口。

在一种可能的实现方式中,所述元数据信息包括表标识,或者,表标识和字段标识。

图6是根据一示例性实施例示出的一种用于web服务接口获取的装置900的框图。参照图6,该装置900可包括处理器901、存储有机器可执行指令的机器可读存储介质902。处理器901与机器可读存储介质902可经由系统总线903通信。并且,处理器901通过读取机器可读存储介质902中与web服务接口获取逻辑对应的机器可执行指令以执行上文所述的web服务接口获取方法。

本文中提到的机器可读存储介质902可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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