CN109218371A - 一种调用数据的方法和设备 - Google Patents

一种调用数据的方法和设备 Download PDF

Info

Publication number
CN109218371A
CN109218371A CN201710546743.2A CN201710546743A CN109218371A CN 109218371 A CN109218371 A CN 109218371A CN 201710546743 A CN201710546743 A CN 201710546743A CN 109218371 A CN109218371 A CN 109218371A
Authority
CN
China
Prior art keywords
service agent
agent equipment
application
call
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710546743.2A
Other languages
English (en)
Other versions
CN109218371B (zh
Inventor
付孟飞
汤佳宇
蒋超
李磊
姜文献
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710546743.2A priority Critical patent/CN109218371B/zh
Publication of CN109218371A publication Critical patent/CN109218371A/zh
Application granted granted Critical
Publication of CN109218371B publication Critical patent/CN109218371B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

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

Description

一种调用数据的方法和设备
技术领域
本申请涉及互联网技术领域,特别涉及一种调用数据的方法和设备。
背景技术
随着互联网技术的发展,互联网的用户越来越多,分布也越来越广泛。尤其大互联网公司,其用户大都分布在广泛的地理区域,而且越来越多的大型互联网公司将业务向全球发展,这使得其提供的网络服务面临着分布全球的海量用户。
随着互联网公司用户的增多,以及用户分布越来越广泛,互联网公司为了更好地满足用户需要,提高系统性能,实现异地容灾等目标,从而采用了多地部署机房的方式。
由于采用多地部署机房,在请求数据时会出现跨机房调用的情况。由于长距离数据传输比较耗时,很多跨机房调用的传输耗时远远大于接口本身返回结果耗时。尤其在多信息展示、风控判断等需要批量实时接口数据的情况下,会导致性能急剧变差,并会占用大量跨机房的带宽资源。
目前跨机房调用的方式如图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四个应用的实时接口数据,还需要获取机房Z的F、G、H三个应用的实时接口数据。
机房S的应用A将请求发送给机房S对应的第一服务代理设备。
第一服务代理设备收到请求后根据请求中包含的调用信息确定需要调用的应用,即B、C、D、E、F、G、H。
进一步第一服务代理设备确定目标机房,B、C、D、E四个应用位于机房W中,F、G、H三个应用位于机房Z中,将机房W和机房Z作为目标机房。
第一服务代理设备需要将收到的请求分类合并为两个调用请求。即将B、C、D、E四个应用的调用信息置于机房W对应的调用请求中,以及将F、G、H四个应用的调用信息置于机房Z对应的调用请求中。
第一服务代理设备将机房W对应的调用请求发送给机房W,以及将机房Z对应的调用请求发送给机房Z。
机房W对应的第二服务代理设备收到调用请求后进行解码,确定出调用请求包含的每个调用信息。
机房W对应的第二服务代理设备根据每个调用信息中的接口标识确定对应的应用,即应用B、C、D和E,并根据每个调用信息中的调用参数向应用B、C、D和E发起调用。
机房W对应的第二服务代理设备将调用应用B、C、D和E得到的实时接口数据打包后返回给第一服务代理设备。
机房Z对应的第二服务代理设备收到调用请求后进行解码,确定出调用请求包含的每个调用信息。
机房Z对应的第二服务代理设备根据每个调用信息中的接口标识确定对应的应用,即应用F、G和H,并根据每个调用信息中的调用参数向应用F、G和H发起调用。
机房Z对应的第二服务代理设备将调用应用F、G和H得到的实时接口数据打包后返回给第一服务代理设备。
第一服务代理设备将得到的应用B、C、D、E、F、G和H的实时接口数据返回给应用A。
应用A将得到的数据展示在用户页面中。
从图1和图2可以看出:同样的场景,背景技术的方案中图1需要7次跨机房调用;而图2本申请实施例的方案只需要2次跨机房调用。相比背景技术节省了跨机房调用的次数。
由于不同的处理过程第一服务代理设备也可能作为第二服务代理设备,第二服务代理设备也可能作为第一服务代理设备,所以机房对应的服务代理设备能够实现第一服务代理设备的功能,也能够实现第二服务代理设备的功能。
如图3所示,本申请实施例第二种调用数据的系统包括:第一服务代理设备30和至少一个第二服务代理设备31。
第一服务代理设备30,用于从对象集合中选择至少一个对象作为目标对象,其中所述对象集合中的对象包含有所述第一服务代理设备需要调用的应用;针对至少一个目标对象,将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备,其中所述调用请求中包括所述目标对象中需要调用的应用的调用信息;接收所述第二服务代理设备根据所述调用请求调用应用得到的数据。
第二服务代理设备31,用于在接收到来自第一服务代理设备的调用请求后,从自身对应的应用中确定所述调用请求需要调用的目标应用,根据所述调用请求向所述目标应用发起调用,得到调用数据;将得到的所述调用数据返回给所述第一服务代理设备。
本申请实施例所述第一服务代理设备将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备,其中所述调用请求中包括所述目标对象中需要调用的应用的调用信息,第二服务代理设备根据所述调用请求向所述目标应用发起调用,得到调用数据。由于本申请实施例的调用请求中包括所述目标对象中需要调用的应用的调用信息,不管需要调用对象中多少个应用的数据,两个对象之间只需要一次调用,从而节省了对象之间调用次数,缩短了调用的时长,提高了调用效率。
可选的,所述第一服务代理设备从对象集合中选择与所述第一服务代理设备对应的对象不同的至少一个对象作为目标对象。
本申请实施例第一服务代理设备对应的对象中的应用在有调用需求后,会向第一服务代理设备发送请求,该请求中包括需要调用的应用对应的调用信息。
第一服务代理设备在收到该请求后,对该请求进行拆分,得到每个调用信息,之后根据每个调用信息确定需要调用的应用,并根据需要调用的应用确定目标对象。
具体的,所述第一服务代理设备根据应用和对象的对应关系,确定需要调用的应用所属的对象;
所述第一服务代理设备从确定的对象中查找与自身对应的对象不同的对象;
所述第一服务代理设备从查找到的对象中确定所述目标对象。
可选的,应用和对象的对应关系可以由人工预先进行配置;也可以由网络侧自动进行配置,比如HSF(高性能服务框架)一类的RPC(Remote Procedure Call Protocol,远程过程调用协议)有配置中心,可以查询配置中心的接口标识得到应用对应的接口标识位于哪个对象中。
在实施中,每个接入HSF的应用在启动时,都会向配置中心注册自己的IP、提供的HSF接口、机房、分组、版本等信息。配置中心根据收到的信息就可以建立接口对应的应用和机房的绑定关系。
由于一个应用有可能在多个对象中,而对于多个对象中包括相同的应用的情况,在进行调用时只需要调用一个对象中的该应用。
可选的,若需要调用的应用中有位于多个查找到的对象的应用,则针对任意一个位于多个查找到的对象的应用,所述第一服务代理设备从所述应用位于的多个查找到的对象中选择一个,并剔除查找到的多个对象中未选择的;
将剩余查找到的对象作为所述目标对象。
比如需要调用的应用有应用B、C和D,根据应用和对象的对应关系,确定每个需要调用的应用对应的对象。
1、如果没有一个应用对应多个对象,说明需要调用的对象中没有在多个对象中的应用。
如果确定的对象中有相同的对象,则将相同对象的对应关系进行合并。比如根据应用和对象的对应关系确定出应用B对应对象1、应用C对应对象2、应用D对应对象1,则最后确定出应用B和应用D对应对象1,应用C对应对象2。
第一服务代理设备将最后得到的每个对象作为目标对象,即对象1和对象2作为目标对象。
2、如果有应用对应多个对象,说明需要调用的对象中有在多个对象中的应用。
这时需要从应用对应的多个对象中选择一个对象。比如应用B对应对象1和对象2,应用C对应对象2、应用D对应对象3。
第一服务代理设备需要从对象1和对象2选择一个。具体的选择方式有很多,下面列举几种。需要说明的是,下面的内容只是举例说明,任何能够选择对象的方式都适用本申请实施例。
1、第一服务代理设备从对象1和对象2中随机选择一个。
2、第一服务代理设备从对象1和对象2中选择负载较低的一个。
3、第一服务代理设备根据减少调用次数的原则选择。由于应用C对应对象2、应用D对应对象3,如果选择对象1,则需要向对象1、对象2和对象3都发送调用请求;如果选择选择对象2,则需要向对象2和对象3都发送调用请求。
所以选择对象2相比选择对象1可以减少调用次数。
假设第一服务代理设备选择对象2。则选择后的对应关系为:应用B对应对象2、应用C对应对象2、应用D对应对象3。
如果确定的对象中有相同的对象,则将相同对象的对应关系进行合并。由于应用B对应对象2、应用C对应对象2,则将这两个对应关系进行合并,之后确定出应用B和应用C对应对象2、应用D对应对象3。
第一服务代理设备将最后得到的每个对象作为目标对象,即对象2和对象3作为目标对象。
可选的,所述第一服务代理设备确定目标对象之后,将所述目标对象包括的需要调用的应用的调用信息置于所述目标对象对应的调用请求中。
比如确定出应用B和应用C对应对象2、应用D对应对象3,则将应用B和应用C的调用信息置于对象2对应的调用请求;将应用D的调用信息置于对象1对应的调用请求。
第二服务代理设备在收到调用请求后,对调用请求进行解码,得到每个调用信息。
可选的,针对所述调用请求中的任意一个调用信息,所述第二服务代理设备将所述调用信息中的接口标识对应的应用作为所述目标应用。
比如一共有3个调用信息,分别包括接口标识B、接口标识C和接口标识D,则将接口标识B对应的应用作为所述目标应用;将接口标识C对应的应用作为所述目标应用;将接口标识D对应的应用作为所述目标应用。
可选的,针对所述调用请求中的任意一个调用信息,所述第二服务代理设备根据所述调用信息中的调用参数,向对应的所述目标应用发起调用。
比如一共有3个调用信息,分别包括接口标识B和调用参数1、接口标识C和调用参数2,接口标识D和调用参数3,则根据调用参数1对接口标识B对应的应用发起调用;根据调用参数2对接口标识C对应的应用发起调用;根据调用参数3对接口标识D对应的应用发起调用。
比如对于HSF的调用,就可以将调用参数中的版本、入口参数等信息传入对应的接口,之后执行invoke(调用)。
可选的,所述第二服务代理设备将得到的至少一个目标应用对应的调用数据打包后返回给所述第一服务代理设备。
比如第二服务代理设备向应用B、C和D发起调用,则会收到应用B、C和D的数据。
第二服务代理设备将收到的应用B、C和D的数据打包后返回给所述第一服务代理设备。
相应的,所述第一服务代理设备接收所述第二服务代理设备根据所述调用请求调用应用得到的数据。
这里如果第一服务代理设备向多个第二服务代理设备发送调度请求,则会收到多个第二服务代理设备返回的数据。
之后第一服务代理设备将返回的数据以应用为单位划分后返回给对应的应用。
比如应用A触发第一服务代理设备进行调用,则第一服务代理设备需要将收到的数据返回给应用A。
假设第一服务代理设备收到包含应用B和C的打包数据,则需要将打包数据划分为两部分,即应用B的数据和应用C的数据。
需要说明的是,上述第一服务代理设备和第二服务代理设备是根据执行的功能不同进行区分的。在实施中,每个对象可以对应一个服务代理设备,该服务代理设备可以执行第一服务代理设备和第二服务代理设备的功能。
如图4所示,本申请实施例第一服务代理设备包括:
对象确定模块400,用于从对象集合中选择至少一个对象作为目标对象,其中所述对象集合中的对象包含有所述第一服务代理设备需要调用的应用;
发送模块401,用于针对至少一个目标对象,将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备,其中所述调用请求中包括所述目标对象中需要调用的应用的调用信息;
接收模块402,用于接收所述第二服务代理设备根据所述调用请求调用应用得到的数据。
可选的,所述对象确定模块400具体用于:
根据应用和对象的对应关系,确定需要调用的应用所属的对象;从确定的对象中查找与自身对应的对象不同的对象;从查找到的对象中确定所述目标对象。
可选的,所述对象确定模块400具体用于:
若需要调用的应用中有位于多个查找到的对象的应用,则针对任意一个位于多个查找到的对象的应用,从所述应用位于的多个查找到的对象中选择一个,并剔除查找到的多个对象中未选择的;将剩余查找到的对象作为所述目标对象。
可选的,所述发送模块401还用于:
将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备之前,将所述目标对象包括的需要调用的应用的调用信息置于所述目标对象对应的调用请求中。
如图5所示,本申请实施例第二服务代理设备包括:
应用确定模块500,用于在接收到来自第一服务代理设备的调用请求后,从自身对应的应用中确定所述调用请求需要调用的目标应用;
调用模块501,用于根据所述调用请求向所述目标应用发起调用,得到调用数据;
传输模块502,用于将得到的所述调用数据返回给所述第一服务代理设备。
可选的,所述第二服务代理设备对应的应用和所述第一服务代理设备对应的应用在不同的对象中。
可选的,所述应用确定模块500具体用于:
针对所述调用请求中的任意一个调用信息,将所述调用信息中的接口标识对应的应用作为所述目标应用。
可选的,所述调用模块501具体用于:
针对所述调用请求中的任意一个调用信息,根据所述调用信息中的调用参数,向对应的所述目标应用发起调用。
可选的,所述传输模块502具体用于:
将得到的至少一个目标应用对应的调用数据打包后返回给所述第一服务代理设备。
由于不同的处理过程第一服务代理设备也可能作为第二服务代理设备,第二服务代理设备也可能作为第一服务代理设备,所以在实施中,第一服务代理设备和第二代理服务设备可以合成为一个实体,该实体即可以执行第一服务代理设备的功能,也可以执行第二代理服务设备的功能。
基于同一发明构思,本发明实施例中还提供了一种调用数据的方法,由于该方法对应的设备是本发明实施例调用数据的系统中的第一服务代理设备,并且该方法解决问题的原理与该系统相似,因此该方法的实施可以参见系统的实施,重复之处不再赘述。
如图6所述,本申请实施例一种调用数据的方法包括:
步骤600、第一服务代理设备从对象集合中选择至少一个对象作为目标对象,其中所述对象集合中的对象包含有所述第一服务代理设备需要调用的应用;
步骤601、针对至少一个目标对象,所述第一服务代理设备将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备,其中所述调用请求中包括所述目标对象中需要调用的应用的调用信息;
步骤602、所述第一服务代理设备接收所述第二服务代理设备根据所述调用请求调用应用得到的数据。
可选的,所述第一服务代理设备从对象集合中选择至少一个对象作为目标对象,包括:
所述第一服务代理设备从对象集合中选择与所述第一服务代理设备对应的对象不同的至少一个对象作为目标对象。
可选的,所述第一服务代理设备确定目标对象,包括:
所述第一服务代理设备根据应用和对象的对应关系,确定需要调用的应用所属的对象;
所述第一服务代理设备从确定的对象中查找与自身对应的对象不同的对象;
所述第一服务代理设备从查找到的对象中确定所述目标对象。
可选的,所述第一服务代理设备从查找到的对象中确定所述目标对象,包括:
若需要调用的应用中有位于多个查找到的对象的应用,则针对任意一个位于多个查找到的对象的应用,所述第一服务代理设备从所述应用位于的多个查找到的对象中选择一个,并剔除查找到的多个对象中未选择的;
将剩余查找到的对象作为所述目标对象。
可选的,所述第一服务代理设备确定目标对象之后,将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备之前,还包括:
所述第一服务代理设备将所述目标对象包括的需要调用的应用的调用信息置于所述目标对象对应的调用请求中。
基于同一发明构思,本发明实施例中还提供了一种调用数据的方法,由于该方法对应的设备是本发明实施例调用数据的系统中的第二服务代理设备,并且该方法解决问题的原理与该系统相似,因此该方法的实施可以参见系统的实施,重复之处不再赘述。
如图7所述,本申请实施例另一种调用数据的方法包括:
步骤700、第二服务代理设备在接收到来自第一服务代理设备的调用请求后,从自身对应的应用中确定所述调用请求需要调用的目标应用;
步骤701、所述第二服务代理设备根据所述调用请求向所述目标应用发起调用,得到调用数据;
步骤702、所述第二服务代理设备将得到的所述调用数据返回给所述第一服务代理设备。
可选的,所述第二服务代理设备对应的应用和所述第一服务代理设备对应的应用在不同的对象中。
可选的,所述第二服务代理设备在接收到来自第一服务代理设备的调用请求后,从自身对应的应用中确定所述调用请求需要调用的目标应用,包括:
针对所述调用请求中的任意一个调用信息,所述第二服务代理设备将所述调用信息中的接口标识对应的应用作为所述目标应用。
可选的,所述第二服务代理设备根据所述调用请求向所述目标应用发起调用,包括:
针对所述调用请求中的任意一个调用信息,所述第二服务代理设备根据所述调用信息中的调用参数,向对应的所述目标应用发起调用。
可选的,所述第二服务代理设备将得到的所述调用数据返回给所述第一服务代理设备,包括:
所述第二服务代理设备将得到的至少一个目标应用对应的调用数据打包后返回给所述第一服务代理设备。
下面以对象是机房为例进行说明。
如图8所示,本申请实施例调用数据的完整方法包括:
步骤800、第一服务代理设备接收自身对应的机房中的应用发送的请求,其中该请求是应用在需要调用其他机房的数据后发送的,每个请求对应一个应用。
步骤801、第一服务代理设备根据收到的请求确定需要调用的应用。
步骤802、第一服务代理设备根据应用和对象的对应关系,确定需要调用的应用所属的机房。
步骤803、第一服务代理设备从确定的对象中查找与自身对应的对象不同的对象。
步骤804、第一服务代理设备判断需要调用的应用中是否有位于多个查找到的对象的应用,如果是,则执行步骤805;否则,执行步骤806。
步骤805、针对任意一个位于多个查找到的对象的应用,第一服务代理设备从所述应用位于的多个查找到的对象中选择一个,并剔除查找到的多个对象中未选择的。
步骤806、第一服务代理设备将剩余查找到的对象作为所述目标对象。
步骤807、第一服务代理设备将所述目标对象包括的需要调用的应用的调用信息置于所述目标对象对应的调用请求中。
步骤808、针对至少一个目标对象,所述第一服务代理设备将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备,其中所述调用请求中包括所述目标对象中需要调用的应用的调用信息。
步骤809、第二服务代理设备在接收到来自第一服务代理设备的调用请求后,针对所述调用请求中的任意一个调用信息,所述第二服务代理设备将所述调用信息中的接口标识对应的应用作为所述目标应用。
步骤810、针对所述调用请求中的任意一个调用信息,所述第二服务代理设备根据所述调用信息中的调用参数,向对应的所述目标应用发起调用。
步骤811、所述第二服务代理设备将得到的至少一个目标应用对应的调用数据打包后返回给所述第一服务代理设备。
步骤812、所述第一服务代理设备将接收到的来自所述第二服务代理设备的数据以应用为单位划分后返回给步骤800中发送请求的应用。
本发明实施例还提供一种存储介质,该存储介质可以是非易失性的,即断电后内容不丢失。该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现本发明实施例上面任何一种调用数据的方案。
该存储介质可以通过外部接口或内部接口与处理器连接。比如存储器是U盘、移动硬盘等,则可以通过外部接口连接;比如存储器是处理器所在的设备中的存储模块,则可以通过内部接口连接。
以上参照示出根据本申请实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。
相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (18)

1.一种调用数据的方法,其特征在于,该方法包括:
第一服务代理设备从对象集合中选择至少一个对象作为目标对象,其中所述对象集合中的对象包含有所述第一服务代理设备需要调用的应用;
针对至少一个目标对象,所述第一服务代理设备将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备,其中所述调用请求中包括所述目标对象中需要调用的应用的调用信息;
所述第一服务代理设备接收所述第二服务代理设备根据所述调用请求调用应用得到的数据。
2.如权利要求1所述的方法,其特征在于,所述第一服务代理设备从对象集合中选择至少一个对象作为目标对象,包括:
所述第一服务代理设备从对象集合中选择与所述第一服务代理设备对应的对象不同的至少一个对象作为目标对象。
3.如权利要求1所述的方法,其特征在于,所述第一服务代理设备确定目标对象,包括:
所述第一服务代理设备根据应用和对象的对应关系,确定需要调用的应用所属的对象;
所述第一服务代理设备从确定的对象中查找与自身对应的对象不同的对象;
所述第一服务代理设备从查找到的对象中确定所述目标对象。
4.如权利要求3所述的方法,其特征在于,所述第一服务代理设备从查找到的对象中确定所述目标对象,包括:
若需要调用的应用中有位于多个查找到的对象的应用,则针对任意一个位于多个查找到的对象的应用,所述第一服务代理设备从所述应用位于的多个查找到的对象中选择一个,并剔除查找到的多个对象中未选择的;
将剩余查找到的对象作为所述目标对象。
5.如权利要求1~4任一所述的方法,其特征在于,所述第一服务代理设备确定目标对象之后,将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备之前,还包括:
所述第一服务代理设备将所述目标对象包括的需要调用的应用的调用信息置于所述目标对象对应的调用请求中。
6.一种调用数据的方法,其特征在于,该方法包括:
第二服务代理设备在接收到来自第一服务代理设备的调用请求后,从自身对应的应用中确定所述调用请求需要调用的目标应用;
所述第二服务代理设备根据所述调用请求向所述目标应用发起调用,得到调用数据;
所述第二服务代理设备将得到的所述调用数据返回给所述第一服务代理设备。
7.如权利要求6所述的方法,其特征在于,所述第二服务代理设备在接收到来自第一服务代理设备的调用请求后,从自身对应的应用中确定所述调用请求需要调用的目标应用,包括:
针对所述调用请求中的任意一个调用信息,所述第二服务代理设备将所述调用信息中的接口标识对应的应用作为所述目标应用。
8.如权利要求6所述的方法,其特征在于,所述第二服务代理设备根据所述调用请求向所述目标应用发起调用,包括:
针对所述调用请求中的任意一个调用信息,所述第二服务代理设备根据所述调用信息中的调用参数,向对应的所述目标应用发起调用。
9.如权利要求6~8任一所述的方法,其特征在于,所述第二服务代理设备将得到的所述调用数据返回给所述第一服务代理设备,包括:
所述第二服务代理设备将得到的至少一个目标应用对应的调用数据打包后返回给所述第一服务代理设备。
10.一种调用数据的第一服务代理设备,其特征在于,该第一服务代理设备包括:
对象确定模块,用于从对象集合中选择至少一个对象作为目标对象,其中所述对象集合中的对象包含有所述第一服务代理设备需要调用的应用;
发送模块,用于针对至少一个目标对象,将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备,其中所述调用请求中包括所述目标对象中需要调用的应用的调用信息;
接收模块,用于接收所述第二服务代理设备根据所述调用请求调用应用得到的数据。
11.如权利要求10所述的第一服务代理设备,其特征在于,所述对象确定模块具体用于:
从对象集合中选择与所述第一服务代理设备对应的对象不同的至少一个对象作为目标对象。
12.如权利要求10所述的第一服务代理设备,其特征在于,所述对象确定模块具体用于:
根据应用和对象的对应关系,确定需要调用的应用所属的对象;从确定的对象中查找与自身对应的对象不同的对象;从查找到的对象中确定所述目标对象。
13.如权利要求12所述的第一服务代理设备,其特征在于,所述对象确定模块具体用于:
若需要调用的应用中有位于多个查找到的对象的应用,则针对任意一个位于多个查找到的对象的应用,从所述应用位于的多个查找到的对象中选择一个,并剔除查找到的多个对象中未选择的;将剩余查找到的对象作为所述目标对象。
14.如权利要求10~13任一所述的第一服务代理设备,其特征在于,所述发送模块还用于:
将所述目标对象对应的调用请求发送给所述目标对象对应的第二服务代理设备之前,将所述目标对象包括的需要调用的应用的调用信息置于所述目标对象对应的调用请求中。
15.一种调用数据的第二服务代理设备,其特征在于,该第二服务代理设备包括:
应用确定模块,用于在接收到来自第一服务代理设备的调用请求后,从自身对应的应用中确定所述调用请求需要调用的目标应用;
调用模块,用于根据所述调用请求向所述目标应用发起调用,得到调用数据;
传输模块,用于将得到的所述调用数据返回给所述第一服务代理设备。
16.如权利要求15所述的第二服务代理设备,其特征在于,所述应用确定模块具体用于:
针对所述调用请求中的任意一个调用信息,将所述调用信息中的接口标识对应的应用作为所述目标应用。
17.如权利要求15所述的第二服务代理设备,其特征在于,所述调用模块具体用于:
针对所述调用请求中的任意一个调用信息,根据所述调用信息中的调用参数,向对应的所述目标应用发起调用。
18.如权利要求15~17任一所述的第二服务代理设备,其特征在于,所述传输模块具体用于:
将得到的至少一个目标应用对应的调用数据打包后返回给所述第一服务代理设备。
CN201710546743.2A 2017-07-06 2017-07-06 一种调用数据的方法和设备 Active CN109218371B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710546743.2A CN109218371B (zh) 2017-07-06 2017-07-06 一种调用数据的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710546743.2A CN109218371B (zh) 2017-07-06 2017-07-06 一种调用数据的方法和设备

Publications (2)

Publication Number Publication Date
CN109218371A true CN109218371A (zh) 2019-01-15
CN109218371B CN109218371B (zh) 2021-10-19

Family

ID=64993175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710546743.2A Active CN109218371B (zh) 2017-07-06 2017-07-06 一种调用数据的方法和设备

Country Status (1)

Country Link
CN (1) CN109218371B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111865868A (zh) * 2019-04-24 2020-10-30 顺丰科技有限公司 跨网络区域服务调用方法及系统
US20210135853A1 (en) * 2019-10-31 2021-05-06 Samsung Sds Co., Ltd. Apparatus and method for data security

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995020860A1 (en) * 1994-01-31 1995-08-03 At & T Corp. Work at home agent acd call distribution
CN101686247A (zh) * 2008-09-26 2010-03-31 华为技术有限公司 信息处理方法和系统
CN102427480A (zh) * 2011-12-31 2012-04-25 北京新媒传信科技有限公司 一种多应用服务平台系统中的应用访问方法
CN102662776A (zh) * 2012-04-01 2012-09-12 杭州格畅科技有限公司 在线应用平台的应用间通信方法、客户端及应用进程管理器
CN103345420A (zh) * 2013-06-03 2013-10-09 百度在线网络技术(北京)有限公司 批量调用api接口的方法、系统和装置
CN104065688A (zh) * 2013-03-22 2014-09-24 深圳市腾讯计算机系统有限公司 一种调用底层服务的方法及装置
CN104468604A (zh) * 2014-12-19 2015-03-25 北京奇虎科技有限公司 局域网中基于对等网络通信模式的数据访问方法及装置
CN105187372A (zh) * 2015-06-09 2015-12-23 深圳市腾讯计算机系统有限公司 一种基于移动应用入口的数据处理方法、装置和系统
CN106713226A (zh) * 2015-11-12 2017-05-24 卓望数码技术(深圳)有限公司 一种用于分布式系统的远程过程调用处理方法和系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995020860A1 (en) * 1994-01-31 1995-08-03 At & T Corp. Work at home agent acd call distribution
CN101686247A (zh) * 2008-09-26 2010-03-31 华为技术有限公司 信息处理方法和系统
CN102427480A (zh) * 2011-12-31 2012-04-25 北京新媒传信科技有限公司 一种多应用服务平台系统中的应用访问方法
CN102662776A (zh) * 2012-04-01 2012-09-12 杭州格畅科技有限公司 在线应用平台的应用间通信方法、客户端及应用进程管理器
CN104065688A (zh) * 2013-03-22 2014-09-24 深圳市腾讯计算机系统有限公司 一种调用底层服务的方法及装置
CN103345420A (zh) * 2013-06-03 2013-10-09 百度在线网络技术(北京)有限公司 批量调用api接口的方法、系统和装置
CN104468604A (zh) * 2014-12-19 2015-03-25 北京奇虎科技有限公司 局域网中基于对等网络通信模式的数据访问方法及装置
CN105187372A (zh) * 2015-06-09 2015-12-23 深圳市腾讯计算机系统有限公司 一种基于移动应用入口的数据处理方法、装置和系统
CN106713226A (zh) * 2015-11-12 2017-05-24 卓望数码技术(深圳)有限公司 一种用于分布式系统的远程过程调用处理方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
T.HOPFNER: "NoWait-RPC: extending ONC RPC to a fully compatible message passing system", 《PROCEEDINGS OF THE FIRST MERGED INTERNATIONAL PARALLEL PRECEEDING SYMPOSIUM AND SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING》 *
李书生: "基于代理的工作流邦联及子流调用框架", 《计算机研究与发展》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111865868A (zh) * 2019-04-24 2020-10-30 顺丰科技有限公司 跨网络区域服务调用方法及系统
US20210135853A1 (en) * 2019-10-31 2021-05-06 Samsung Sds Co., Ltd. Apparatus and method for data security

Also Published As

Publication number Publication date
CN109218371B (zh) 2021-10-19

Similar Documents

Publication Publication Date Title
CN102299954B (zh) 用于分布式服务的上下文专用网络资源寻址系统及方法
US11876856B2 (en) Method for computational-power sharing and related device
CN107277029B (zh) 一种远程过程调用的方法、装置及计算机设备
CN110958281B (zh) 基于物联网的数据传输方法及通信装置
CN108881228A (zh) 云端注册激活方法、装置、设备和存储介质
CN104836800B (zh) 一种服务质量控制的方法、设备及系统
CN106453349B (zh) 账号登录方法及装置
CN111163130A (zh) 一种网络服务系统及其数据传输方法
CN110008019B (zh) 共享服务器资源的方法及装置、系统
RU2008138577A (ru) Сетевая система
CN112261094A (zh) 一种报文处理方法及代理服务器
CN113691635B (zh) 调用微服务的方法、装置、电子设备和可读存储介质
CN110234140A (zh) 一种通信方法、装置、实体及存储介质
CN107800814B (zh) 虚拟机部署方法及装置
CN110764688B (zh) 对数据进行处理的方法和装置
CN109218371A (zh) 一种调用数据的方法和设备
CN109002364A (zh) 进程间通信的优化方法、电子装置以及可读存储介质
CN106357654B (zh) 远程过程调用方法、装置及通信系统
CN111163140A (zh) 资源获取和分配的方法、装置和计算机可读存储介质
CN115550354A (zh) 一种数据处理方法、装置及计算机可读存储介质
CN107395663B (zh) 数据获取方法及装置
CN113271228B (zh) 带宽资源调度方法、装置、设备及计算机可读存储介质
CN111294250B (zh) 压力测试方法、装置和系统
CN113873301A (zh) 视频流的获取方法及装置、服务器和存储介质
CN112766486A (zh) 神经网络结构的搜索方法、终端、服务器及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant