CN110557284B - 基于客户端网关的数据聚合方法及装置 - Google Patents

基于客户端网关的数据聚合方法及装置 Download PDF

Info

Publication number
CN110557284B
CN110557284B CN201910813476.XA CN201910813476A CN110557284B CN 110557284 B CN110557284 B CN 110557284B CN 201910813476 A CN201910813476 A CN 201910813476A CN 110557284 B CN110557284 B CN 110557284B
Authority
CN
China
Prior art keywords
data
client
aggregation
acquisition request
server service
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.)
Active
Application number
CN201910813476.XA
Other languages
English (en)
Other versions
CN110557284A (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.)
Beike Technology Co Ltd
Original Assignee
Beike Technology Co 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 Beike Technology Co Ltd filed Critical Beike Technology Co Ltd
Priority to CN201910813476.XA priority Critical patent/CN110557284B/zh
Publication of CN110557284A publication Critical patent/CN110557284A/zh
Application granted granted Critical
Publication of CN110557284B publication Critical patent/CN110557284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于客户端网关的数据聚合方法及装置,方法包括:接收客户端发送的第一数据获取请求;根据所述第一数据获取请求获取用户预先在客户端网关配置的聚合规则;根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求;接收各所述服务端服务根据所述第二数据获取请求返回的数据,根据所述聚合规则中的聚合数据模板从所述返回的数据中选择目标数据,并将所述目标数据发送给所述客户端。本发明一方面不需要对客户端和服务端进行再次开发,节省了开发成本和沟通成本;另一方面,通过客户端网关配置的聚合规则可以在线实时生效,提高交付效率。

Description

基于客户端网关的数据聚合方法及装置
技术领域
本发明属于软件开发技术领域,尤其涉及一种基于客户端网关的数据聚合方法及装置。
背景技术
随着公司业务的发展,服务端逐渐形成了多个业务系统,每个业务系统下形成了多个微服务。客户端与多个微服务之间的交互日益复杂,成本越来越高。
现有技术在没有客户端网关的情况下,对数据的整合与编排只能由服务端来完成,一般通过服务端对后端的微服务进行胶水粘合以及版本控制工作,此种情况下客户端直接和服务端进行交互,客户端和服务端之间的通信频率较高,且每次需求发生变更时都需要服务端上线,效率低下。
随着APP(APPlication,应用程序)组件化日益成熟,很多实际场景下APP不再需要服务端进行机械的胶水工作,只需要组合现有的服务即可满足新功能的需求。客户端网关是指客户端访问服务端接口时的统一接入层。通过客户端网关可以对客户端与服务端之间的交互进行统一编排,编排的条件通过客户端预先定义。每次有需求变更时,客户端需要升级发版,发版时间长,成本高。
发明内容
为克服上述现有的数据聚合方法通信频率高,效率低,且成本高的问题或者至少部分地解决上述问题,本发明实施例提供一种基于客户端网关的数据聚合方法及装置。
根据本发明实施例的第一方面,提供一种基于客户端网关的数据聚合方法,包括:
接收客户端发送的第一数据获取请求;
根据所述第一数据获取请求获取用户预先在客户端网关配置的聚合规则;
根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求;
接收各所述服务端服务根据所述第二数据获取请求返回的数据,根据所述聚合规则中的聚合数据模板从所述返回的数据中选择目标数据,并将所述目标数据发送给所述客户端。
具体地,根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求的步骤之前还包括:
获取所述第一数据获取请求中发送所述第一数据获取请求的客户端和所述客户端请求的接口地址;
从所述聚合规则中查找所述客户端和所述客户端请求的接口地址;
相应地,根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求的步骤具体包括:
判断所述聚合规则中是否存在所述客户端和所述客户端请求的接口地址;
若存在,则根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求;
若不存在,则按照所述客户端网关的默认规则通过所述客户端网关向所述服务端服务发送默认的数据获取请求。
具体地,根据所述聚合规则中的聚合数据模板从所述返回的数据中选择目标数据的步骤具体包括:
对于所述聚合数据模板中的任一属性名称,根据所述聚合数据模板中返回该属性名称对应属性值的服务端服务,从所述服务端服务返回的数据中获取该属性名称对应的属性值,将该属性名称和该属性名称对应的属性值作为目标数据。
具体地,根据所述聚合数据模板中返回该属性名称对应属性值的服务端服务,从所述服务端服务返回的数据中获取该属性名称对应的属性值,将该属性名称和该属性名称对应的属性值作为目标数据的步骤还包括:
若所述服务端服务返回的数据中该属性名称对应的属性值为空,则将该属性名称对应的属性值设置为预设默认值;
将该属性名称和所述预设默认值作为目标数据。
具体地,将所述目标数据发送给所述客户端的步骤具体包括:
根据所述聚合规则中的返回格式模板,确定返回结果;其中,所述返回结果包括所述目标数据;
将所述返回结果发送给所述客户端。
具体地,根据所述聚合规则中的返回格式模板,确定返回结果的步骤具体包括:
根据所述返回格式模板中第一数据获取请求的编号字段、发送所述返回结果的状态字段、发送信息字段和表示所述目标数据的字段,将所述第一数据获取请求的编号、发送所述返回结果的状态、发送的信息和所述目标数据作为返回结果。
具体地,接收客户端发送的第一数据获取请求的步骤之前还包括:
根据用户的操作,对所述聚合规则进行增加、删除、修改和查找中的一种或多种。
根据本发明实施例第二方面提供一种基于客户端网关的数据聚合装置,包括:
接收模块,用于接收客户端发送的第一数据获取请求;
获取模块,用于根据所述第一数据获取请求获取用户预先在客户端网关配置的聚合规则;
请求模块,用于根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求;
聚合模块,用于接收各所述服务端服务根据所述第二数据获取请求返回的数据,根据所述聚合规则中的聚合数据模板从所述返回的数据中选择目标数据,并将所述目标数据发送给所述客户端。
根据本发明实施例的第三个方面,还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器调用所述程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的基于客户端网关的数据聚合方法。
根据本发明实施例的第四个方面,还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的基于客户端网关的数据聚合方法。
本发明实施例提供一种基于客户端网关的数据聚合方法及装置,该方法通过用户预先在客户端网关配置的聚合规则中设置的服务端服务对应的接口地址,向接口地址对应的服务端服务发送请求,从而获取服务端服务返回的数据,实现通过客户端网关向客户端所需数据涉及的服务端服务并发请求数据,然后根据聚合规则中的聚合数据模板对服务端服务返回的数据进行编排处理,从中获取客户端所需数据,本实施例通过客户端网关的服务请求转发功能和编排功能聚合出客户端APP所需要的数据,一方面,无需客户端传递额外的参数,也无需服务端对特定接口进行修改,即不需要对客户端和服务端进行再次开发,节省了开发成本和沟通成本;另一方面,通过客户端网关配置的聚合规则可以在线实时生效,提高交付效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于客户端网关的数据聚合方法整体流程示意图;
图2为本发明另实施例提供的基于客户端网关的数据聚合方法流程示意图;
图3为本发明实施例提供的基于客户端网关的数据聚合装置整体结构示意图;
图4为本发明实施例提供的电子设备整体结构示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
在本发明的一个实施例中提供一种基于客户端网关的数据聚合方法,图1为本发明实施例提供的基于客户端网关的数据聚合方法整体流程示意图,该方法包括:步骤S101,接收客户端发送的第一数据获取请求;
其中,第一数据获取请求为当客户端需要获取数据时,客户端发送给客户端网关的数据获取请求。客户端需要获取的数据通过组合现有的服务端服务可以获取到,以满足客户端新功能的需求。客户端网关为客户端访问服务端服务的接口时的统一接入层。
步骤S102,根据所述第一数据获取请求获取用户预先在客户端网关配置的聚合规则;
其中,聚合规则为用户在客户端网关配置的用于数据聚合的规则,如向哪些服务端服务请求数据和客户端需要获取的数据等。客户端网关在接收到客户端发送的第一数据获取请求时,获取相应的聚合规则。
步骤S103,根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求;
其中,聚合规则中设有服务端服务和接口地址之间的对应关系,服务端服务对应的接口地址为访问服务端服务的接口地址。该对应关系根据客户端需要获取的数据进行设置。客户端所需的数据需要从一个或多个服务端服务上获取,则在聚合规则中设置这些服务端服务和访问各服务端服务的接口地址。如客户端需要获取在租房源以及房源对应的联系人,需要请求租赁房源业务系统和经纪人业务系统。
例如,通过以下数据结构在聚合规则中设置服务端服务:
Figure BDA0002185676590000061
其中,backend_micro_service为服务端服务对象,rentplat为租赁房源业务系统,getHouseList为租赁房源业务系统的接口地址,broker为经纪人业务系统,getBrokerInfo为经纪人业务系统的接口地址。
第二数据获取请求为网关客户端根据聚合规则中各服务端服务对应的接口地址,向各服务端服务发送的请求,以获取相应的数据。在向各服务端服务发送请求之前,通过客户端网关设置的编排引擎对聚合规则进行解析,解析之后根据聚合规则通过代码自动转化成调用方案,即在编排引擎中自动生成调用后端服务的代码,并发调用后端相应的服务。服务端服务在接收到网关客户端的请求时,只需正常向客户端网关返回响应的数据即可,无需做其他处理,即对聚合规则毫无感知。
通过在客户端网关一一配置服务端服务和接口地址之间的对应关系,实现根据客户端的需求进行服务端服务的编排。在客户端组件化已覆盖的情况下,新功能的发布只需要通过客户端网关的服务编排功能即可获取到所需数据,无需对客户端和服务端进行再次开发,节省了客户端和服务端的开放成本和沟通成本,在新功能试错上有显著效果。
步骤S104,接收各所述服务端服务根据所述第二数据获取请求返回的数据,根据所述聚合规则中的聚合数据模板从所述返回的数据中选择目标数据,并将所述目标数据发送给所述客户端。
其中,每个服务端服务返回哪些属性的数据已预先设定,返回的数据为常用的数据。例如,租赁房源业务系统的接口地址rentplat.getHouseList返回的数据如下:
Figure BDA0002185676590000071
经纪人业务系统的接口地址broker.getBrokerInfo返回的数据如下:
Figure BDA0002185676590000081
其中,数据data中“:”前面为属性名称,“:”后面为属性值。
聚合规则中的聚合数据模板根据客户端所需数据进行设置,包括客户端所需数据的属性名称和获取属性名称的属性值所需要访问的服务端服务。根据聚合数据模板从服务端服务返回的数据中获取所需要的数据,将获取的所需要的数据作为目标数据,从而实现对服务端服务返回的数据进行裁剪。然后将目标数据发送给客户端。
客户端只需一次请求客户端网关,客户端网关将已配置的聚合规则作为参数自动调用相应方案,从而自动实现调用服务端服务和裁剪数据。
本实施例通过根据客户端发送的数据获取请求获取用户预先在客户端网关配置的聚合规则,对聚合规则进行解析后获取聚合规则中设置的服务端服务对应的接口地址,向接口地址对应的服务端服务发送请求,从而获取服务端服务返回的数据,实现通过客户端网关对客户端所需数据涉及的服务端服务并发请求数据,然后根据聚合规则中的聚合数据模板对服务端服务返回的数据进行编排处理,即对所有服务端服务返回的数据进行聚合和裁剪,从中获取客户端所需数据,本实施例通过客户端网关的请求转发功能、数据聚合和裁剪功能获取客户端所需要的数据,一方面,无需客户端传递额外的参数,也无需服务端对特定接口进行修改,即不需要对客户端和服务端进行再次开发,节省了开发成本和沟通成本;另一方面,通过客户端网关配置的聚合规则可以在线实时生效,提高交付效率。
在上述实施例的基础上,本实施例根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求的步骤之前还包括:获取所述第一数据获取请求中发送所述第一数据获取请求的客户端和所述客户端请求的接口地址;从所述聚合规则中查找所述客户端和所述客户端请求的接口地址;
其中,聚合规则中配置有通过客户端向客户端网关发送第一数据获取请求的客户端APP和客户端请求的接口地址。例如,聚合规则中配置的APP和客户端请求的接口地址如下:
“app”:“beike”,
“api”:“getHouseBroker”,
其中,beike为贝壳APP的名称,getHouseBroker为客户端网关的接口地址。判断第一数据获取请求和聚合规则中的APP是否一致,客户端网关的接口地址是否一致。
相应地,根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求的步骤具体包括:判断所述聚合规则中是否存在所述客户端和所述客户端请求的接口地址;若存在,则根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求;若不存在,则按照所述客户端网关的默认规则通过所述客户端网关向所述服务端服务发送默认的数据获取请求。客户端网关的默认规则一般是网关接收到某客户端的数据请求时默认向某一个特定的服务发送数据请求,并且在服务端处完成对返回数据的处理后再发送给客户端网关,客户端网关对所述服务器服务返回的数据不再进行编排,直接返回给发出请求的客户端。
如果第一数据获取请求和聚合规则中的APP一致,且客户端网关的接口地址也一致,说明客户端请求的客户端网关正确,在满足该条件下客户端网关才根据聚合规则中每个服务端服务对应的接口地址,向各服务端服务发送第二数据获取请求。若聚合网关中没有配置APP和客户端网关的接口地址,则根据客户端网关的默认规则,通过所述客户端网关向默认规则中的服务端服务发送默认的数据获取请求,默认规则中没有聚合数据模板,客户端网关对服务器服务返回的数据不进行编排。
可以在客户端网关配置多个配置项,每个配置项包括关键字和聚合规则,从而满足不同客户端在不同情况下的需求。本实施例是针对某一个配置项进行数据聚合。
在上述实施例的基础上,本实施例根据所述聚合规则中的聚合数据模板从所述返回的数据中选择目标数据的步骤具体包括:对于所述聚合数据模板中的任一属性名称,根据所述聚合数据模板中返回该属性名称对应属性值的服务端服务,从所述服务端服务返回的数据中获取该属性名称对应的属性值,将该属性名称和该属性名称对应的属性值作为目标数据。
例如,聚合数据模板的数据结构如下所示:
Figure BDA0002185676590000101
从租赁房源业务系统rentplat返回的数据中获取属性id和house_name的属性值,从经纪人业务系统broker返回的数据中获取属性broker_name和broker_mobile的属性值。
获取的目标数据的数据结构如下所示:
Figure BDA0002185676590000111
通过配置好的聚合数据模板,将获取服务端服务返回的数据进行裁剪,过滤掉客户端不需要的数据。通过上述聚合数据模板,保留了id、house_name、broker_name和broker_mobile,其他返回的数据被裁剪。
如果服务端服务返回的数据中任一属性名称对应的属性值为空,则说明该属性名称对应的属性值为缺省数据,将该属性名称对应的属性值设置为预设默认值,将该属性名称和预设默认值作为目标数据。
在上述各实施例的基础上,本实施例将所述聚合数据发送给所述客户端的步骤具体包括:根据所述聚合规则中的返回格式模板,确定返回结果;其中,所述返回结果包括所述聚合数据;将所述返回结果发送给所述客户端。
其中,返回格式模板用于统一定义返回给客户端的数据格式。根据返回格式模板确定发送给客户端的最终返回结果。
在上述实施例的基础上,本实施例根据所述聚合规则中的返回格式模板,确定返回结果的步骤具体包括:根据所述返回格式模板中第一数据获取请求的编号字段、发送所述返回结果的状态字段、发送的信息字段和表示所述聚合数据的字段,将所述第一数据获取请求的编号、发送所述返回结果的状态、发送信息和所述聚合数据作为返回结果。
例如,返回格式模板的数据结构如下:
Figure BDA0002185676590000121
其中,default_resp为返回格式模板,request_id为第一数据获取请求的编号字段,status为发送所述返回结果的状态字段,msg为发送的信息字段,data表示目标数据的字段。通过该返回格式模板,在最终返回结果中除了目标数据,还追加了status、msg和request_id字段。此外,还可以追加其他字段。
根据上述返回格式模板,客户端网关返回给客户端的最终结果如下:
Figure BDA0002185676590000122
在上述各实施例的基础上,本实施例接收客户端发送的第一数据获取请求的步骤之前还包括:根据用户的操作,对所述聚合规则进行增加、删除、修改和查找中的一种或多种。
具体的,通过用户的操作,可以在客户端网关中配置的聚合规则进行增加、删除、修改和查找等操作,实时生效。每当需求发生变更时,客户端只需正常请求客户端网关,不需要自定义参数再次发版,服务端服务正常响应数据,也不需要修改响应再次上线,极大地节省了客户端和服务端的开发成本。
如图2所示,客户端上安装有多个程序,如小程序、贝壳、掌链、A+和Link等。服务端包括多个业务系统,如业务系统A、B和C。每个业务系统包括多个微服务。客户端网关包括聚合规则配置模块和编排引擎。可以对聚合规则进行增加、删除、修改和查找等操作。编排引擎对聚合规则进行解析,并将数据获取请求统一编排,分发给服务端服务。对服务端服务返回的数据进行聚合和裁剪,将处理后的数据返回给服务端。
如果没有客户端网关的编排引擎和聚合规则配置模块,则由客户端预先定义好需要聚合的数据。而本实施例只需要在客户端网关进行配置即可,不再需要客户端定义。例如,需要同时获得业务系统A与业务系统B的特定数据的集合,只需要配置客户端网关。
在本发明的另一个实施例中提供一种基于客户端网关的数据聚合装置,该装置用于实现前述各实施例中的方法。因此,在前述基于客户端网关的数据聚合方法的各实施例中的描述和定义,可以用于本发明实施例中各个执行模块的理解。图3为本发明实施例提供的基于客户端网关的数据聚合装置整体结构示意图,该装置包括接收模块301、获取模块302、请求模块303和聚合模块304,其中:
接收模块301用于接收客户端发送的第一数据获取请求;
其中,第一数据获取请求为当客户端需要获取数据时,客户端发送给客户端网关的数据获取请求。客户端需要获取的数据通过组合现有的服务端服务可以获取到,以满足客户端新功能的需求。客户端网关为客户端访问服务端服务的接口时的统一接入层。
获取模块302用于根据所述第一数据获取请求获取用户预先在客户端网关配置的聚合规则;
其中,聚合规则为用户在客户端网关配置的用于数据聚合的规则,如向哪些服务端服务请求数据和客户端需要获取的数据等。获取模块301在接收到客户端发送的第一数据获取请求时,获取相应的聚合规则。
请求模块303用于根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求;
其中,聚合规则中设有服务端服务和接口地址之间的对应关系,服务端服务对应的接口地址为访问服务端服务的接口地址。该对应关系根据客户端需要获取的数据进行设置。客户端所需的数据需要从一个或多个服务端服务上获取,则在聚合规则中设置这些服务端服务和访问各服务端服务的接口地址。
第二数据获取请求为网关客户端根据聚合规则中各服务端服务对应的接口地址,向各服务端服务发送的请求,以获取相应的数据。在向各服务端服务发送请求之前,还要对聚合规则进行解析。服务端服务在接收到网关客户端的请求时,只需正常向客户端网关返回响应的数据即可,无需做其他处理,即对聚合规则毫无感知。
聚合模块304用于接收各所述服务端服务根据所述第二数据获取请求返回的数据,根据所述聚合规则中的聚合数据模板从所述返回的数据中选择目标数据,并将所述目标数据发送给所述客户端。
其中,每个服务端服务返回哪些属性的数据已预先设定,返回的数据为常用的数据。聚合规则中的聚合数据模板根据客户端所需数据进行设置,包括客户端所需数据的属性名称和获取属性名称的属性值所需要访问的服务端服务。聚合模块303根据聚合数据模板从服务端服务返回的数据中获取所需要的数据,将获取的所需要的数据作为目标数据,从而实现对服务端服务返回的数据进行裁剪。然后将目标数据发送给客户端。
客户端只需一次请求客户端网关,客户端网关将已配置的聚合规则作为参数自动调用相应方案,从而自动实现调用服务端服务和裁剪数据。
本实施例通过根据客户端发送的数据获取请求获取用户预先在客户端网关配置的聚合规则,对聚合规则进行解析后获取聚合规则中设置的服务端服务对应的接口地址,向接口地址对应的服务端服务发送请求,从而获取服务端服务返回的数据,实现通过客户端网关对客户端所需数据涉及的服务端服务并发请求数据,然后根据聚合规则中的聚合数据模板对服务端服务返回的数据进行编排处理,即对所有服务端服务返回的数据进行聚合和裁剪,从中获取客户端所需数据,本实施例通过客户端网关的请求转发功能、数据聚合和裁剪功能获取客户端所需要的数据,一方面,无需客户端传递额外的参数,也无需服务端对特定接口进行修改,即不需要对客户端和服务端进行再次开发,节省了开发成本和沟通成本;另一方面,通过客户端网关配置的聚合规则可以在线实时生效,提高交付效率。
在上述实施例的基础上,本实施例中获取模块还用于:获取所述第一数据获取请求中发送所述第一数据获取请求的客户端和所述客户端请求的接口地址;从所述聚合规则中查找所述客户端和所述客户端请求的接口地址;相应地,请求模块具体用于:判断所述聚合规则中是否存在所述客户端和所述客户端请求的接口地址;若存在,则根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求;若不存在,则按照所述客户端网关的默认规则通过所述客户端网关向所述服务端服务发送默认的数据获取请求。
在上述实施例的基础上,本实施例中聚合模块具体用于:对于所述聚合数据模板中的任一属性名称,根据所述聚合数据模板中返回该属性名称对应属性值的服务端服务,从所述服务端服务返回的数据中获取该属性名称对应的属性值,将该属性名称和该属性名称对应的属性值作为目标数据。
在上述实施例的基础上,本实施例中聚合模块还用于:若所述服务端服务返回的数据中该属性名称对应的属性值为空,则将该属性名称对应的属性值设置为预设默认值;将该属性名称和所述预设默认值作为目标数据。
在上述各实施例的基础上,本实施例中聚合模块具体用于:根据所述聚合规则中的返回格式模板,确定返回结果;其中,所述返回结果包括所述目标数据;将所述返回结果发送给所述客户端。
在上述实施例的基础上,本实施例中聚合模块进一步用于:根据所述返回格式模板中第一数据获取请求的编号字段、发送所述返回结果的状态字段、发送信息字段和表示所述目标数据的字段,将所述第一数据获取请求的编号、发送所述返回结果的状态、发送的信息和所述目标数据作为返回结果。
在上述实施例的基础上,本实施例中还包括处理模块,用于根据用户的操作,对所述聚合规则进行增加、删除、修改和查找中的一种或多种。
本实施例提供一种电子设备,图4为本发明实施例提供的电子设备整体结构示意图,该设备包括:至少一个处理器401、至少一个存储器402和总线403;其中,
处理器401和存储器402通过总线403完成相互间的通信;
存储器402存储有可被处理器401执行的程序指令,处理器调用程序指令能够执行上述各方法实施例所提供的方法,例如包括:接收客户端发送的第一数据获取请求;根据所述第一数据获取请求获取用户预先在客户端网关配置的聚合规则;根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求;接收各所述服务端服务根据所述第二数据获取请求返回的数据,根据所述聚合规则中的聚合数据模板从所述返回的数据中选择目标数据,并将所述目标数据发送给所述客户端。
本实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:接收客户端发送的第一数据获取请求;根据所述第一数据获取请求获取用户预先在客户端网关配置的聚合规则;根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求;接收各所述服务端服务根据所述第二数据获取请求返回的数据,根据所述聚合规则中的聚合数据模板从所述返回的数据中选择目标数据,并将所述目标数据发送给所述客户端。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种基于客户端网关的数据聚合方法,其特征在于,包括:
接收客户端发送的第一数据获取请求;
根据所述第一数据获取请求获取用户预先在客户端网关配置的聚合规则;
根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求;
接收各所述服务端服务根据所述第二数据获取请求返回的数据,根据所述聚合规则中的聚合数据模板从所述返回的数据中选择目标数据,并将所述目标数据发送给所述客户端;所述聚合数据模版包括所述客户端所需数据的属性名称和获取属性名称的属性值所需要访问的服务端服务;
根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求的步骤之前还包括:
获取所述第一数据获取请求中发送所述第一数据获取请求的客户端和所述客户端请求的接口地址;
从所述聚合规则中查找所述客户端和所述客户端请求的接口地址;
相应地,根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求的步骤具体包括:
判断所述聚合规则中是否存在所述客户端和所述客户端请求的接口地址;
若存在,则根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求;
若不存在,则按照所述客户端网关的默认规则通过所述客户端网关向所述服务端服务发送默认的数据获取请求;
根据所述聚合规则中的聚合数据模板从所述返回的数据中选择目标数据的步骤具体包括:
对于所述聚合数据模板中的任一属性名称,根据所述聚合数据模板中返回该属性名称对应属性值的服务端服务,从所述服务端服务返回的数据中获取该属性名称对应的属性值,将该属性名称和该属性名称对应的属性值作为目标数据。
2.根据权利要求1所述的基于客户端网关的数据聚合方法,其特征在于,根据所述聚合数据模板中返回该属性名称对应属性值的服务端服务,从所述服务端服务返回的数据中获取该属性名称对应的属性值,将该属性名称和该属性名称对应的属性值作为目标数据的步骤还包括:
若所述服务端服务返回的数据中该属性名称对应的属性值为空,则将该属性名称对应的属性值设置为预设默认值;
将该属性名称和所述预设默认值作为目标数据。
3.根据权利要求1所述的基于客户端网关的数据聚合方法,其特征在于,将所述目标数据发送给所述客户端的步骤具体包括:
根据所述聚合规则中的返回格式模板,确定返回结果;其中,所述返回结果包括所述目标数据;
将所述返回结果发送给所述客户端。
4.根据权利要求3所述的基于客户端网关的数据聚合方法,其特征在于,根据所述聚合规则中的返回格式模板,确定返回结果的步骤具体包括:
根据所述返回格式模板中第一数据获取请求的编号字段、发送所述返回结果的状态字段、发送信息字段和表示所述目标数据的字段,将所述第一数据获取请求的编号、发送所述返回结果的状态、发送的信息和所述目标数据作为返回结果。
5.根据权利要求1所述的基于客户端网关的数据聚合方法,其特征在于,接收客户端发送的第一数据获取请求的步骤之前还包括:
根据用户的操作,对所述聚合规则进行增加、删除、修改和查找中的一种或多种。
6.一种基于客户端网关的数据聚合装置,其特征在于,包括:
接收模块,用于接收客户端发送的第一数据获取请求;
获取模块,用于根据所述第一数据获取请求获取用户预先在客户端网关配置的聚合规则;
请求模块,用于根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求;
聚合模块,用于接收各所述服务端服务根据所述第二数据获取请求返回的数据,根据所述聚合规则中的聚合数据模板从所述返回的数据中选择目标数据,并将所述目标数据发送给所述客户端;所述聚合数据模版包括所述客户端所需数据的属性名称和获取属性名称的属性值所需要访问的服务端服务;
获取模块,还用于:
获取所述第一数据获取请求中发送所述第一数据获取请求的客户端和所述客户端请求的接口地址;
从所述聚合规则中查找所述客户端和所述客户端请求的接口地址;
相应地,根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求的步骤具体包括:
判断所述聚合规则中是否存在所述客户端和所述客户端请求的接口地址;
若存在,则根据所述聚合规则中每个服务端服务对应的接口地址,向各所述服务端服务发送第二数据获取请求;
若不存在,则按照所述客户端网关的默认规则通过所述客户端网关向所述服务端服务发送默认的数据获取请求;
所述聚合模块具体用于:对于所述聚合数据模板中的任一属性名称,根据所述聚合数据模板中返回该属性名称对应属性值的服务端服务,从所述服务端服务返回的数据中获取该属性名称对应的属性值,将该属性名称和该属性名称对应的属性值作为目标数据。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述基于客户端网关的数据聚合方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述基于客户端网关的数据聚合方法的步骤。
CN201910813476.XA 2019-08-30 2019-08-30 基于客户端网关的数据聚合方法及装置 Active CN110557284B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910813476.XA CN110557284B (zh) 2019-08-30 2019-08-30 基于客户端网关的数据聚合方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910813476.XA CN110557284B (zh) 2019-08-30 2019-08-30 基于客户端网关的数据聚合方法及装置

Publications (2)

Publication Number Publication Date
CN110557284A CN110557284A (zh) 2019-12-10
CN110557284B true CN110557284B (zh) 2023-02-03

Family

ID=68738546

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910813476.XA Active CN110557284B (zh) 2019-08-30 2019-08-30 基于客户端网关的数据聚合方法及装置

Country Status (1)

Country Link
CN (1) CN110557284B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111198727B (zh) * 2020-01-06 2023-12-29 库珀科技集团有限公司 微服务接口数据聚合系统及方法
CN111314459B (zh) * 2020-02-13 2022-06-03 北京奇艺世纪科技有限公司 一种业务请求方法、装置、电子设备及存储介质
CN111586097A (zh) * 2020-04-01 2020-08-25 车智互联(北京)科技有限公司 一种网络请求处理方法、计算设备及存储介质
CN111935210B (zh) * 2020-06-28 2024-03-19 平安银行股份有限公司 数据服务方法、装置、服务器及存储介质
CN111988398A (zh) * 2020-08-19 2020-11-24 政采云有限公司 一种数据获取方法、api网关、介质
CN111984720A (zh) * 2020-09-11 2020-11-24 得到(天津)文化传播有限公司 一种数据获取方法、装置、电子设备和接口适配装置
CN113364853B (zh) * 2021-06-02 2022-10-25 北京奇艺世纪科技有限公司 一种业务服务系统、业务请求方法及网关设备
CN113783969A (zh) * 2021-10-18 2021-12-10 广州新丝路信息科技有限公司 一种基于网关节点转发请求的处理方法及相关设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108616449A (zh) * 2018-08-14 2018-10-02 深圳市共进电子股份有限公司 数据传输方法、装置、设备和介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9626680B1 (en) * 2015-01-05 2017-04-18 Kimbia, Inc. System and method for detecting malicious payment transaction activity using aggregate views of payment transaction data in a distributed network environment
CN109634752B (zh) * 2018-10-26 2021-03-02 北京市天元网络技术股份有限公司 一种基于页面网关的客户端请求处理方法及系统
CN109672558B (zh) * 2018-11-30 2021-12-07 哈尔滨工业大学(威海) 一种面向第三方服务资源的聚合与优化匹配方法,设备及存储介质
CN110008045B (zh) * 2019-04-12 2021-12-10 深圳乐信软件技术有限公司 微服务的聚合方法、装置、设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108616449A (zh) * 2018-08-14 2018-10-02 深圳市共进电子股份有限公司 数据传输方法、装置、设备和介质

Also Published As

Publication number Publication date
CN110557284A (zh) 2019-12-10

Similar Documents

Publication Publication Date Title
CN110557284B (zh) 基于客户端网关的数据聚合方法及装置
CN109818934B (zh) 一种自动化日志处理的方法、装置及计算设备
KR20140119240A (ko) 다중 오픈 api 처리장치 및 방법
US20190102465A1 (en) Api query extension
CN114281263B (zh) 容器集群管理系统的存储资源处理方法、系统和设备
CN112256772A (zh) 数据服务方法、装置以及可读存储介质
CN109495553A (zh) 一种网页显示控制方法、系统及反向代理服务器
WO2022052563A1 (zh) 一种服务构建方法、相关装置及计算机可读存储介质
CN111930505B (zh) 大数据平台的数据资源管理方法及系统、服务器及介质
CN107395663B (zh) 数据获取方法及装置
CN111698281B (zh) 一种资源下载方法、装置、电子设备及存储介质
US9577967B2 (en) Method and system for managing an informational site using a social networking application
CN112818270A (zh) 数据跨域传递方法、装置及计算机设备
CN113127335A (zh) 一种系统测试的方法和装置
CN110933070A (zh) 一种用户识别方法、系统、设备及计算机可读存储介质
CN105871972A (zh) 一种视频资源的分布式缓存方法、装置及系统
CN115858905A (zh) 数据处理的方法、装置、电子设备和存储介质
CN112688980B (zh) 资源分发方法、装置、计算机设备
CN111367500A (zh) 数据的处理方法和装置
CN111478951B (zh) 一种文件下发方法和装置
US10878187B1 (en) Network-based content rendering
US11095748B1 (en) Network-based content rendering
CN112860398A (zh) 基于规则引擎的数据处理方法、装置、设备及介质
CN112785358A (zh) 一种订单履约商家的接入方法和装置
CN114466047B (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