一种调用数据的方法和设备技术

技术编号:20119286 阅读:32 留言:0更新日期:2019-01-16 12:20
本申请涉及互联网技术领域,特别涉及一种调用数据的方法和设备,用以解决现有技术中在需要调用一个机房的多个应用的数据的场景下,目前跨机房调用数据的方式调用的时间很长,调用效率比较低的问题。本申请实施例第一服务代理设备将目标对象对应的调用请求发送给目标对象对应的第二服务代理设备,其中调用请求中包括目标对象中需要调用的应用的调用信息,第二服务代理设备根据调用请求向目标应用发起调用,得到调用数据。由于调用请求中包括目标对象中需要调用的应用的调用信息,不管需要调用对象中多少个应用的数据,两个对象之间只需要一次调用,从而节省了对象之间调用次数,缩短了调用的时长,提高了调用效率。

A Method and Device for Calling Data

This application relates to the field of Internet technology, in particular to a method and device for data invocation, which is used to solve the problem of long time and low efficiency of data invocation across computer rooms in the scenario where multiple applications in a computer room need to be invoked. In the embodiment of this application, the first service proxy device sends the call request corresponding to the target object to the second service proxy device corresponding to the target object, in which the call request includes the call information of the application that needs to be called in the target object, and the second service proxy device initiates the call to the target application according to the call request and obtains the call data. Because the call request includes the call information of the application that needs to be invoked in the target object, no matter how many application data need to be invoked in the object, only one call is needed between the two objects, which saves the number of calls between the objects, shortens the call time and improves the call efficiency.

【技术实现步骤摘要】
一种调用数据的方法和设备
本申请涉及互联网
,特别涉及一种调用数据的方法和设备。
技术介绍
随着互联网技术的发展,互联网的用户越来越多,分布也越来越广泛。尤其大互联网公司,其用户大都分布在广泛的地理区域,而且越来越多的大型互联网公司将业务向全球发展,这使得其提供的网络服务面临着分布全球的海量用户。随着互联网公司用户的增多,以及用户分布越来越广泛,互联网公司为了更好地满足用户需要,提高系统性能,实现异地容灾等目标,从而采用了多地部署机房的方式。由于采用多地部署机房,在请求数据时会出现跨机房调用的情况。由于长距离数据传输比较耗时,很多跨机房调用的传输耗时远远大于接口本身返回结果耗时。尤其在多信息展示、风控判断等需要批量实时接口数据的情况下,会导致性能急剧变差,并会占用大量跨机房的带宽资源。目前跨机房调用的方式如图1所示,用户访问由机房S的应用A提供的页面,展示该页面需要获取机房W的B、C、D、E四个应用的实时接口数据,还需要获取机房Z的F、G、H三个应用的实时接口数据。具体的实现方式是:分别对B、C、D、E四个应用分别发起跨单元调用,然后分别对F、G、H三个应用发起跨单元调用。由于长距离数据传输比较耗时,多次跨机房传输使得返回给用户页面所需要数据的时间很长。综上所述,在需要调用一个机房的多个应用的数据的场景下,目前跨机房调用数据的方式调用的时间很长,调用效率比较低。
技术实现思路
本申请提供一种调用数据的方法和设备,用以解决现有技术中存在的在需要调用一个机房的多个应用的数据的场景下,目前跨机房调用数据的方式调用的时间很长,调用效率比较低的问题。本申请实施例提供的一种调用数据的方法,该方法包括:第一服务代理设备从对象集合中选择至少一个对象作为目标对象,其中所述对象集合中的对象包含有所述第一服务代理设备需要调用的应用;针对至少一个目标对象,所述第一服务代理设备将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备,其中所述调用请求中包括所述目标对象中需要调用的应用的调用信息;所述第一服务代理设备接收所述第二服务代理设备根据所述调用请求调用应用得到的数据。本申请实施例提供的另一种调用数据的方法,该方法包括:第二服务代理设备在接收到来自第一服务代理设备的调用请求后,从自身对应的应用中确定所述调用请求需要调用的目标应用;所述第二服务代理设备根据所述调用请求向所述目标应用发起调用,得到调用数据;所述第二服务代理设备将得到的所述调用数据返回给所述第一服务代理设备。本申请实施例提供的一种调用数据的第一服务代理设备,该第一服务代理设备包括:对象确定模块,用于从对象集合中选择至少一个对象作为目标对象,其中所述对象集合中的对象包含有所述第一服务代理设备需要调用的应用;发送模块,用于针对至少一个目标对象,将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备,其中所述调用请求中包括所述目标对象中需要调用的应用的调用信息;接收模块,用于接收所述第二服务代理设备根据所述调用请求调用应用得到的数据。本申请实施例提供的一种调用数据的第二服务代理设备,该第二服务代理设备包括:应用确定模块,用于在接收到来自第一服务代理设备的调用请求后,从自身对应的应用中确定所述调用请求需要调用的目标应用;调用模块,用于根据所述调用请求向所述目标应用发起调用,得到调用数据;传输模块,用于将得到的所述调用数据返回给所述第一服务代理设备。本申请实施例所述第一服务代理设备将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备,其中所述调用请求中包括所述目标对象中需要调用的应用的调用信息,第二服务代理设备根据所述调用请求向所述目标应用发起调用,得到调用数据。由于本申请实施例的调用请求中包括所述目标对象中需要调用的应用的调用信息,不管需要调用对象中多少个应用的数据,两个对象之间只需要一次调用,从而节省了对象之间调用次数,缩短了调用的时长,提高了调用效率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为
技术介绍
中跨机房调用示意图;图2为本申请实施例第一种调用数据的系统结构示意图;图3为本申请实施例第二种调用数据的系统结构示意图;图4为本申请实施例第一服务代理设备的结构示意图;图5为本申请实施例第二服务代理设备的结构示意图;图6为本申请实施例一种调用数据的方法流程示意图;图7为本申请实施例另一种调用数据的方法流程示意图;图8为本申请实施例调用数据的完整方法流程示意图。具体实施方式为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部份实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。在实施中,本申请的对象可以是包括至少一个应用,且对象之间需要进行网络通信的实体,比如机房。为了更方便的介绍本申请的方案,下面以对象为机房为例对本申请的方案举例说明。如图2所示,本申请实施例第一种调用数据的系统包括:多个机房,每个机房对应一个服务代理设备。在实施中,机房对应的服务代理设备可以位于机房中,也可以位于机房外。可选的,不同的机房对应的服务代理设备不同,即机房和服务代理设备是一一对应关系。但是由于应用环境等原因,也可能出现一个服务代理设备对应多个机房的情况。或者由于设备性能等原因,一个机房也可能会对应多个服务代理设备。不管机房和服务代理设备的对应关系是什么样的,具体每个服务代理设备的处理方式都是类似的。如果服务代理设备对应的机房中的应用需要调用其他机房的应用,则服务代理设备确定需要向哪些目标机房发送调用请求,之后根据目标机房中需要调用的应用生成对应的调用请求。一个机房中包括至少一个应用;在一次调用时可以调用一个应用,也可以调用多个应用。其中,每个机房对应一个调用请求,调用请求中包括该机房中需要调用的应用对应的调用信息。其中,调用信息包括用于确定应用的接口标识和用于进行数据调用的调用参数。调用参数包括但不限于下列信息中的部分或全部:接口标识(或接口名称)、接口版本、服务分组,入口参数。具体的,服务代理设备先确定哪些机房包括需要调用的应用;如果需要调用的应用都只在一个机房中,比如图2中,需要调用机房W的应用B和应用C,而其他机房中没有应用B和应用C,则将应用B和应用C的调用信息置于机房W对应的调用请求。如果应用B还在机房Z中,这时服务代理设备就需要选择将应用B的调用信息置于机房W还是机房Z对应的调用请求中。选择的方式有很多,比如可以随机选择;还可以根据机房当前负载选择(比如选择负载轻的);还可以根据减少调用次数的原则选择,比如当前只需要调用应用B和应用C,而应用B和应用C都在机房W中,则可以将应用B的调用信息置于机房W对应的调用请求中,这样不用再向机房Z发送调用请求,从而节省调用次数。以图2为例,用户访问由机房S的应用A提供的页面,展示该页面需要获取机房W的B、C、D、E四个应本文档来自技高网
...

【技术保护点】
1.一种调用数据的方法,其特征在于,该方法包括:第一服务代理设备从对象集合中选择至少一个对象作为目标对象,其中所述对象集合中的对象包含有所述第一服务代理设备需要调用的应用;针对至少一个目标对象,所述第一服务代理设备将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备,其中所述调用请求中包括所述目标对象中需要调用的应用的调用信息;所述第一服务代理设备接收所述第二服务代理设备根据所述调用请求调用应用得到的数据。

【技术特征摘要】
1.一种调用数据的方法,其特征在于,该方法包括:第一服务代理设备从对象集合中选择至少一个对象作为目标对象,其中所述对象集合中的对象包含有所述第一服务代理设备需要调用的应用;针对至少一个目标对象,所述第一服务代理设备将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备,其中所述调用请求中包括所述目标对象中需要调用的应用的调用信息;所述第一服务代理设备接收所述第二服务代理设备根据所述调用请求调用应用得到的数据。2.如权利要求1所述的方法,其特征在于,所述第一服务代理设备从对象集合中选择至少一个对象作为目标对象,包括:所述第一服务代理设备从对象集合中选择与所述第一服务代理设备对应的对象不同的至少一个对象作为目标对象。3.如权利要求1所述的方法,其特征在于,所述第一服务代理设备确定目标对象,包括:所述第一服务代理设备根据应用和对象的对应关系,确定需要调用的应用所属的对象;所述第一服务代理设备从确定的对象中查找与自身对应的对象不同的对象;所述第一服务代理设备从查找到的对象中确定所述目标对象。4.如权利要求3所述的方法,其特征在于,所述第一服务代理设备从查找到的对象中确定所述目标对象,包括:若需要调用的应用中有位于多个查找到的对象的应用,则针对任意一个位于多个查找到的对象的应用,所述第一服务代理设备从所述应用位于的多个查找到的对象中选择一个,并剔除查找到的多个对象中未选择的;将剩余查找到的对象作为所述目标对象。5.如权利要求1~4任一所述的方法,其特征在于,所述第一服务代理设备确定目标对象之后,将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备之前,还包括:所述第一服务代理设备将所述目标对象包括的需要调用的应用的调用信息置于所述目标对象对应的调用请求中。6.一种调用数据的方法,其特征在于,该方法包括:第二服务代理设备在接收到来自第一服务代理设备的调用请求后,从自身对应的应用中确定所述调用请求需要调用的目标应用;所述第二服务代理设备根据所述调用请求向所述目标应用发起调用,得到调用数据;所述第二服务代理设备将得到的所述调用数据返回给所述第一服务代理设备。7.如权利要求6所述的方法,其特征在于,所述第二服务代理设备在接收到来自第一服务代理设备的调用请求后,从自身对应的应用中确定所述调用请求需要调用的目标应用,包括:针对所述调用请求中的任意一个调用信息,所述第二服务代理设备将所述调用信息中的接口标识对应的应用作为所述目标应用。8.如权利要求6所述的方法,其特征在于,所述第二服务代理设备根据所述调用请求向所述目标应用发起调用,包括:针对所述调用请求中的任意一个调用信息,所述第二服务代理设备根据所述调用信息中的调用参数,向对应的所述目标应用发起调用。9.如权利要求6~8任一所述的方法,其特征在...

【专利技术属性】
技术研发人员:付孟飞汤佳宇蒋超李磊姜文献
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1