CN117278323B - 第三方信息的获取方法、电子设备及可读存储介质 - Google Patents

第三方信息的获取方法、电子设备及可读存储介质 Download PDF

Info

Publication number
CN117278323B
CN117278323B CN202311526639.9A CN202311526639A CN117278323B CN 117278323 B CN117278323 B CN 117278323B CN 202311526639 A CN202311526639 A CN 202311526639A CN 117278323 B CN117278323 B CN 117278323B
Authority
CN
China
Prior art keywords
service
proxy server
server
party
information
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
CN202311526639.9A
Other languages
English (en)
Other versions
CN117278323A (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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202311526639.9A priority Critical patent/CN117278323B/zh
Publication of CN117278323A publication Critical patent/CN117278323A/zh
Application granted granted Critical
Publication of CN117278323B publication Critical patent/CN117278323B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • 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/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

本申请公开了一种第三方信息的获取方法、电子设备及可读存储介质。所述方法包括:接收服务调用请求;所述服务调用请求为访问端服务器在终端请求使用第三方服务时生成的;所述代理服务器属于注册于注册中心的代理服务器集群;所述注册中心用于注册在所述访问端服务器部署的访问端服务;所述访问端服务通过服务发现的方式调用所述代理服务器;根据所述服务调用请求,获得第三方服务调用结果;根据所述第三方服务调用结果,生成响应服务调用请求的第三方信息;向所述访问端服务器发送所述第三方信息,使得所述访问端服务器能够向所述终端转发所述第三方信息。本申请实施例能够提高通过代理服务器获取第三方信息的效率和安全性。

Description

第三方信息的获取方法、电子设备及可读存储介质
技术领域
本申请涉及终端技术领域,特别涉及一种第三方信息的获取方法、电子设备及可读存储介质。
背景技术
随着终端技术的发展,终端可以实现的功能越来越多,与人们的生活之间的联系也越来越紧密。
在使用终端实现网络信息相关的功能时,可能需要从第三方提供的服务中获得信息,或者使用第三方提供的功能服务。比如,在制定行程时,需要从机票预订的第三方获取用户订购机票的信息。在使用第三方提供的服务时,可能会因为访问受限等原因,而需要通过代理服务器实现对第三方服务的调用。调用代理服务器时,需要考虑到信息安全的因素,需要安全高效地使用代理服务器。
发明内容
本申请提供了一种第三方信息的获取方法、电子设备及可读存储介质,能够更加安全高效地使用代理服务器。技术方案如下:
第一方面,本申请实施例提供了一种第三方信息的获取方法,应用于代理服务器,方法包括:接收服务调用请求;服务调用请求为访问端服务器接收终端请求使用第三方服务时发送的服务调用请求后转发的;代理服务器属于注册于注册中心的代理服务器集群,以被注册中心注册的服务所发现;注册中心用于注册访问端服务器所部署的访问端服务;根据服务调用请求,获得第三方服务调用结果;根据第三方服务调用结果,生成响应服务调用请求的第三方信息;向访问端服务器发送第三方信息,使得访问端服务器能够向终端转发第三方信息。
本申请实施例中,客户端可以通过网关等设备,直接将对第三方服务的服务调用请求,发送至代理服务器端,也可以在客户端使用内网区域的服务的过程中,通过内网区域的服务将客户端的服务调用请求,发送至代理服务器端。在代理服务器集群中每个代理服务器启动时,对代理服务器在注册中心进行注册,代理服务器注册后,能够如同任意访问端服务一样,被其它访问端服务以服务发现的方式调用。从而,终端可以通过访问端服务,对代理服务器进行调用,实现代理服务器的代理服务功能。
在一种实施方式中,在接收服务调用请求之前,第三方服务信息的获取方法还包括:监测到代理服务器的启动事件;根据代理服务器的安全证书,生成注册信息;向注册中心发送注册信息,使得代理服务器以访问端服务形式注册于注册中心。
在具体实现方式中,可以通过代理服务器的外部套件,实现代理服务器的注册。外部套件可以设置为无密码启动,从而在代理服务器启动时,外部套件可以自动启动并运行自动注册的过程。外部套件设置于代理服务器的业务逻辑之上的抽象层,实现代理服务器的一些控制功能。在具体实现方式中,每个代理服务器可以对应设置至少一个外部套件,在代理服务器每次启动时,自动获取启动、注册所需要的信息,完成代理服务器的启动和注册。
在一种实施方式中,根据代理服务器的安全证书,生成注册信息,包括:从配置中心拉取代理服务器对应的加密证书的加密密钥;配置中心用于存储访问端服务器的配置信息;对加密密钥进行解密,获得加密证书的密钥;根据加密证书的密钥,对加密证书进行解密,得到安全证书;根据安全证书,启动代理服务器;根据启动后的代理服务器,生成注册信息。
本申请实施例中,用于对安全证书进行加密的密钥对,可以是公共密钥和私有密钥,也可以是根密钥和工作密钥。本实施例中,上述代理服务器对应的加密证书的加密密钥,可以是用于对安全证书进行加密的密钥进一步加密后得到的密钥,即为加密状态的密钥。
在对安全证书使用密钥对进行加密后,得到加密证书,然后对用于加密安全证书的密钥进行加密,得到加密密钥。将加密密钥存储于配置中心中,在代理服务器启动时,通过部署于代理服务器上的外部套件,从配置中心中拉取加密密钥。
同时,在外部套件中,存储对加密密钥进行解密的解密算法,或者解密密码,从而外部套件可以在对代理服务器进行启动控制的过程中,对加密密钥进行解密,获得对安全证书进行加密的密钥。在获得密钥之后,可以对安全证书进行解密,得到安全证书,完成代理服务器对安全证书的启动过程。
在一种实施方式中,根据加密证书的密钥,对加密证书进行解密,得到安全证书,包括:响应于加密证书的调用指令,生成密钥请求信息;根据密钥,生成响应于密钥请求信息的输入信息;根据输入信息,对加密证书进行解密,得到安全证书。
在代理服务器端响应加密证书的调用指令,可以在代理服务器端的显示装置上显示密码输入框,用于接收人为输入的密码信息。对应于代理服务器端的显示装置上弹出的密码输入框,可以在代理服务器内部生成密钥请求信息。采用代理服务器的外接套件,对密钥请求信息进行响应,将解密后的密钥反馈给密钥请求信息的发送模块,使得加密证书能够被解密,进而代理服务器完成启动。
在一种实施方式中,根据服务调用请求,获得第三方服务调用结果,包括:根据预先存储的加密证书,对服务调用请求进行解密,得到服务调用请求的解密信息;根据服务调用请求的解密信息,生成向第三方请求查询结果的第三方请求;接收第三方根据第三方请求反馈的第三方服务调用结果。
在代理服务器向第三方服务提供方请求调用第三方服务时,可以按照代理服务器自身的设定,对调用请求进行重新加密。
在一种实施方式中,根据第三方服务调用结果,生成响应服务调用请求的第三方信息,包括:根据加密证书对第三方服务调用结果进行加密,生成第三方信息。
在本实施例中,当代理服务器将响应服务调用请求的第三方信息发送到访问端服务器后,访问端服务器可以根据在访问端服务器集群中存储的加密证书对第三方信息进行解密,将解密后的信息通过网关反馈到终端。
在一种实施方式中,服务调用请求包括信息服务调用请求,第三方服务调用结果包括根据信息服务调用请求查询得到的信息;和/或,服务调用请求包括模型调用请求,第三方服务调用结果包括根据模型调用请求调用模型得到的模型输出数据。
本实施例中,比如,若第三方服务器存储有终端端使用访问端服务的过程中需要利用的信息,那么请求调用的第三方服务为信息提供服务,根据服务调用请求,可以返回终端使用访问端服务所需要的信息。再如,若第三方服务器部署有目标模型,目标模型能够根据输入数据输出终端使用访问端服务的过程中需要利用的信息,那么请求调用的第三方服务为目标模型。
在一种实施方式中,访问端服务器为微服务集群中的微服务器;微服务集群与代理服务器属于同一网络区域。
在微服务集群与代理服务器属于同一网络区域的情况下,微服务之间可以相互调用,和其它微服务存在调用关系的微服务,可以进一步再以服务发现的形式调用代理服务器。
第二方面,本申请实施例提供一种第三方信息的获取方法,应用于访问端服务器,该方法包括:接收终端请求使用第三方服务时发送的服务调用请求;根据服务调用请求,生成用于查询代理服务器的服务发现请求;根据服务发现请求,在注册于注册中心的代理服务器集群中,确定响应服务调用请求的目标代理服务器;注册中心与访问端服务器对应;通过目标代理服务器,获得响应服务调用请求的第三方信息;向终端发送第三方信息。
应用于访问端服务器的第三方信息的获取方法,针对代理服务器和终端端发送的信息,执行对应的响应操作。同时,访问端服务器与代理服务器之间的信息交互,通过加密证书进行安全保障。
在一种实施方式中,通过目标代理服务器,获得响应服务调用请求的第三方信息,包括:将服务调用请求发送至目标代理服务器;接收目标代理服务器根据服务调用请求返回的第三方信息。
本实施例中,目标代理服务器在接收到服务调用请求后,根据服务调用请求,向第三方服务器请求调用第三方服务,从而获得信息查询结果或者模型输出数据等反馈结果,根据获得的反馈结果,生成针对终端的第三方信息,并将第三方信息通过访问端服务器返回到终端。
在一种实施方式中,将服务调用请求发送至目标代理服务器,包括:获得与目标代理服务器对应的加密证书;根据加密证书,将服务调用请求发送至目标代理服务器。
本实施例中,将加密证书进行解密,从而能够利用加密证书对服务调用请求进行加密,同时,代理服务器收到加密的服务调用请求后,能够使用代理服务器集群对应存储的加密证书对服务调用请求进行解密。
在一种实施方式中,根据服务发现请求,在注册于注册中心的代理服务器集群中,确定响应服务调用请求的目标代理服务器,包括:将服务发现请求发送至注册中心;接收注册中心返回的代理服务器信息;根据代理服务器信息,确定目标代理服务器。
注册中心返回的代理服务器信息,可以是单个的代理服务器的IP地址和端口号,也可以是一组代理服务器的IP地址和端口号。在接收到单个代理服务器IP地址和端口号的情况下,若根据IP地址和端口号向对应的代理服务器进行问询后,确定被问询的代理服务器繁忙,则重新向注册中心请求新的代理服务器的IP地址和端口号,直到确定出目标代理服务器。
或者,在接收到多个(一组)代理服务器的IP地址和端口号的情况下,可以向接收到的IP地址和端口号逐一发送问询信息,如果在当前组代理服务器中,确定出目标代理服务器,则不再向注册中心请求或向其它代理服务器发送问询,否则可以请求新的一组代理服务器的IP地址和端口号,继续进行问询行为。
在一种实施方式中,根据代理服务器信息,确定目标代理服务器,包括:根据代理服务器信息,生成对多个代理服务器的轮询信息;根据多个代理服务器对轮询信息的响应信息,确定目标代理服务器。
本申请实施例中,通过轮询信息,对多个代理服务器进行轮询。本申请实施例中前述轮询(Polling)过程中,定时发出轮询信息,依序询问每一个代理服务器是否能够代理服务,若能即向其请求提供代理服务,若不能则则询问下一个代理服务器,直到确定目标代理服务器。
第三方面,本申请实施例还提供一种第三方信息的获取方法,应用于第三方信息的获取系统;所述获取系统包括访问端服务器、代理服务器;该方法包括:访问端服务器接收终端查询第三方信息发送的服务调用请求;访问端服务器根据服务调用请求,生成用于查询代理服务器的服务发现请求;访问端服务器根据服务发现请求,在注册于注册中心的代理服务器集群中,确定响应服务调用请求的目标代理服务器,注册中心与访问端服务器对应;通过目标代理服务器,获得响应服务调用请求的第三方信息;通过访问端服务器向终端发送第三方信息。
本申请实施例中,代理服务器以访问端服务的方式注册于系统的注册中心,从而访问端服务能够通过服务发现的方式,调用代理服务器,提高了代理服务的高效性,有助于简化系统结构,同时系统内部节点的减少,也有助于减少信息转发次数,进而有助于提高信息安全性。
在一种实施方式中,第三方信息的获取方法还包括:在检测到目标代理服务器的启动事件的情况下,目标代理服务器从配置中心存储的加密证书的加密密钥;根据加密密钥,确定目标代理服务器的注册信息;目标代理服务器根据注册信息,在访问端服务集群对应的注册中心注册目标代理服务器。
本实施例中,在代理服务器和访问端服务之间,通过加密证书进行信息收发的安全验证,提高信息收发过程的安全性。
在一种实施方式中,目标代理服务器根据加密密钥,确定目标代理服务器的注册信息,包括:目标代理服务器对加密密钥进行解密,得到加密证书的密钥;目标代理服务器根据加密证书的密钥,对加密证书进行解密,得到安全证书;目标代理服务器根据安全证书启动后,生成注册信息。
本实施例中,在目标代理服务器一侧对加密密钥进行解密,而一般情况下将加密密钥存储于系统的配置中心,从而加密信息的存储位置和解密信息的存储位置不同,提高了加密密钥的安全性。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面的第三方信息的获取方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面的第三方信息的获取方法。
上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1是终端、代理服务器之间的一种部署关系的示意图;
图2是微服务集群、代理服务器之间的一种部署关系的示意图;
图3是微服务集群、代理服务器之间的另一种部署关系的示意图;
图4是本申请实施例提供的方法的一种应用场景示意图;
图5是本申请实施例提供的方法的另一种应用场景示意图;
图6是本申请实施例提供的方法的又一种应用场景示意图;
图7是本申请实施例所涉及的电子设备软件架构示意图;
图8是本申请实施例所提供的第三方信息的获取方法适用的系统架构示意图;
图9是本申请实施例所提供的第三方信息的获取方法适用的系统的元数据架构示意图;
图10是本申请实施例所提供的第三方信息的获取方法的流程示意图;
图11是本申请实施例提供的一种第三方信息的获取装置的结构示意图;
图12是本申请实施例的代理服务器启动的过程中,第三方信息的获取系统中执行的操作步骤示意图;
图13是本申请实施例的在代理服务器执行代理服务操作的步骤示意图;
图14是本申请提供的第三方信息的获取系统模块结构示意图;
图15是根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
应当理解的是,本申请提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,比如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,比如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
随着终端技术的快速发展,诸如手机、平板电脑、智能手表之类的电子设备和终端设备得到广泛的应用,越来越多的新技术也与终端技术进行结合,代理服务器技术就是其中之一。代理服务器,是一种特殊的网络服务,其作用是作为网络信息的中转站。当访问一个站点时,会先访问代理服务器,然后由代理服务器向目标网站发送访问请求,代理服务器可以充当终端(也称为终端设备)与被访问的目标服务器之间的中间人的角色。客户端通过代理服务器访问网络资源,从而在实际上隐藏了客户端自身的真实IP(InternetProtocol,互联网协议)地址。
代理服务器有自己的IP地址和端口号,代表了客户端向服务器发送请求的出口。经过代理服务器,客户端可以访问其他范围和地区的网站,还可以提供安全性保障、协助控制和优化网络连接等效果。代理服务器能够屏蔽客户端和互联网之间的直接联系,实现了提高性能、访问限制等功能。在用户使用终端的多个场合,都可能会使用代理服务器的功能。在使用代理服务器功能的过程中,如果采用明文传输的方式进行信息收发操作,则会存在数据安全问题,因此,需要利用安全证书对收发的信息进行加密,以保证信息安全。同时,代理服务器的安全可靠性也关系到与代理服务器之间存在信息交流的服务器或客户端的信息安全。
用户使用终端时,可能会通过其它服务或者其它设备间接地调用代理服务器。在分布式系统中,代理服务器部署在内部网络中,这一内部网络可能具有一定的访问权限限制。同时出于信息安全等因素,在同一用户(比如企业用户)的网络范围内部,也划分了很多内部网络区域(比如根据组别、部门划分的内网区域),每个内部网络区域之内相对于该内网区域本身为可信区域,而每个内部网络之外的区域相对于该内部网络而言可能是非可信区域。
本申请实施例内网区域,即在内部网络范围中形成的域。本申请实施例所记载的域,可以是一个有安全边界的计算机集合,在同一个域中的计算机彼此之间建立信任关系,在域内访问其它机器,可以不需要被访问机器的许可。前述安全边界可以指两个域中,用于阻止一个域中的计算机访问另一个域中的资源的边界。如果内网区域中的服务需要调用第三方网络服务提供方的网络接口,那么代理服务器就成为了内网区域和第三方网络服务提供方的网络接口之间的桥梁。
在图1所示网络访问关系示意图中,终端101通过内部网络的网关(Gateway),调用内部网络的服务102时,如在使用内部网络的服务102的过程中存在需要调用第三方网络服务提供方的网络接口的情况,那么会通过服务102访问代理服务器103,通过代理服务器103向第三方网络服务提供方的网络接口发送请求终端101使用服务102时产生的信息。
参照图1所示,代理服务器103可以为Nginx(Engine X,X引擎)代理服务器访问第三方网络服务提供方的网络接口,同时在对代理服务器的访问、调用量较大的情况下,可能会使用Nginx集群实现大量的访问处理操作,可能在Nginx集群中配置ELB(Elastic LoadBalance,弹性负载均衡)模块,实现对大量的访问、调用请求的分发。此时,由代理服务器103代替终端101对第三方网络服务提供方的网络接口进行访问,调用第三方服务。在这一过程中,终端101无需暴露自己的身份,代理服务器103则为了访问第三方网络服务提供方的网络接口,需要将自身进行暴露。而作为分布式系统的内部网络中的一个组成部分,代理服务器103的暴露可能导致内部网络存在网络信息安全隐患。
为了提高代理服务器的安全性,可以采用多种方式对信息交互过程加以防护。其中一种为限制访问权限的方式,如图2所示,终端可以通过内部网络的网关访问内部网络,在内网区域中,内部微服务集群201可以对代理服务器集群202进行访问,代理服务器集群202可以在终端使用内部微服务集群201提供的微服务的过程中,访问外部服务。
从而,一个内网区域相对自身为可信域,而与内网区域相对的外网区域,为非可信域。内网区域可以通过配置代理服务器的访问列表,限制只有访问列表中授权的客户端或服务器端才可以访问代理服务器,并向代理服务器发送信息,实现HTTPS(HypertextTransfer Protocol Secure,超文本传输安全协议)方式的安全验证。这种安全验证方式需要为每一个访问代理服务器的服务IP设置白名单,在分布式场景下经常需要对访问代理服务器的服务或者代理服务器进行横向扩展,配置白名单灵活性太差。
同时,另一种提高代理服务器安全性的方式为,使用用户和密码进行HTTP(Hypertext Transfer Protocol,超文本传输协议)身份验证。这种方式通过配置代理服务器(如Nginx正向代理)的用户名和密码,来实现HTTP身份验证,这种方式可以称为Basic(基础)方式的安全验证。Basic方式要求客户端或者服务器端在访问代理服务器时输入用户名和密码,有时需要人为输入,在实际操作时存在不便。
使用安全证书来进行安全验证,为提高代理服务器安全性的又一种方式。比如,使用SSL(Secure Sockets Layer,安全套接字层)/TLS(Transport Layer Security,传输层安全性协议)安全证书进行加密通信,在通信过程中使用安全证书对信息进行加密。在代理服务器为Nginx的情况下,通过配置Nginx正向代理使用SSL/TLS加密通信,可以防止数据在传输过程中被窃取或篡改。但是,Nginx配置SSL/TLS安全证书时,需要指定证书在代理服务器中的存储位置。
如果采用明文的方式存储安全证书,如图2所示,将证书203(即安全证书)存储于内部微服务集群201的指定位置和代理服务器202的指定位置,则可能存在安全性问题。如果为了保证明文的安全证书的安全性而将其存储在安全设备中,则需要硬件层面支持,提高了存储成本。
如果采用对安全证书进行加密的方式存储安全证书,参照图3所示。图3与图2的区别在于,图3所示的部署方式,将安全证书采用密钥进行加密,但是在图3所示的部署方式中,将安全证书进行加密的密码如何存放也是一个核心的问题。另外,安全证书加密后,代理服务器(如Nginx)的启停时均需要人为输入密码,增加运维成本。
仍然参照图2、图3所示,在与内网区域相对的外网区域,即图2、图3中所示的非可信域中,其它领域服务也可以通过HTTPS、Basic和证书的方式进行安全认证,但是也存在与内网区域内的微服务和代理服务器之间相互安全认证的相应难题。
因此,本申请实施例中构建了一种利用服务调用代理服务器的方案,本申请实施例中用于调用代理服务器的服务可以为微服务,微服务可以对第三方服务进行调用。在后续实施例中,微服务和配置于访问端服务器的其它种类的服务,可以被统称为访问端服务,即终端作为访问端在运行过程中直接调用的服务。而部署有访问端服务的服务器,统称为访问端服务器。
图4为本申请实施例的一种应用场景示意图。在终端401使用目标应用的过程中,终端401调用目标应用对应的微服务集群,实现目标应用的一个或多个功能。微服务集群包括多个微服务,多个微服务可以部署于同一服务器,也可以部署于不同的服务器上,每个微服务均可以实现一定的网络功能。比如,用户通过终端401,使用浏览器应用进行网页浏览活动,调用所浏览网页对应的微服务集群402,微服务集群402中的多个微服务用于实现与网页浏览相关的功能。
例如,微服务调用的第三方服务的具体功能可以是快递查询功能。在用户浏览网页的过程中需要查看快递信息时,用户通过终端401在浏览的网页中输入快递号。同时,快递查询服务器站点与微服务集群402所在的站点不属于同一内网区域,相对于微服务集群402而言,快递查询服务为第三方服务,用于快递查询的服务器为外网的第三方服务器,从而,微服务集群402响应于客户浏览网页时发送的快递查询请求,调用代理服务器403,通过代理服务器访问快递查询服务器,将用户需要查询的快递单号发送给快递查询的第三方服务器404,接收快递查询的第三方服务器404返回的对应快递单号的快递信息。在图4所示的应用场景中,代理服务器可能是多个代理服务器组成的服务器集群中的一个服务器。
图4所示的场景中,目标应用除了为浏览器应用之外,还可以是购物应用。在购物的过程中,每个购物订单均需要发货方填写对应的快递信息,以便在用户购买的物品运输的过程中,能够在购物应用上随时查看快递的进度。从而在通过购物应用查询对应订单的物流信息时,会通过购物应用对应的服务或微服务调用快递查询的第三方服务。
除了快递查询功能之外,第三方服务的具体功能还可以是航班查询等功能。对应的目标应用可以是日程安排应用、日程提醒应用或者机票订购应用等应用。用户可能通过某个机票订购应用订购了机票,而航班的实时变化信息可能由航空公司对应的第三方服务器进行公布,从而,机票订购应用对应的微服务集群在用户订购机票之后,可以实时通过代理服务器,从航空公司对应的第三方服务器获取航班的变动信息,并根据航班的变动信息产生提醒信息,使得用户可以通过提醒信息得知航班的变动情况。
除此之外,图4所示的场景下,目标应用还可以是地图应用、导航应用、视频播放应用、资金管理应用等其它应用,而目标应用运行过程中,相应的微服务功能模块调用的第三方服务可以提供各种与用户需求相适应的功能,比如资金请求功能、票据请求功能等。
图5为本申请实施例提供的另一种应用场景示意图。用户通过终端501,使用目标应用对应的服务,目标应用对应的服务可以是服务器端部署的具有一定功能的模块。由于访问目标应用对应的服务的终端501数量或者对目标应用对应的服务的访问请求量巨大,因此,在访问或调用服务的过程中,如果涉及到调用第三方服务,需要代理服务器集群502实现对第三方服务访问请求、以及调用请求的负载均衡。
图5中所示的代理服务器集群502可以包括多个分布式部署的代理服务器。分布式部署的代理服务器进一步可以分层部署,目标应用对应的服务在调用或者访问第三方服务时,可以对产生调用请求或者访问请求的终端501所处的网络位置进行判断,确定终端501所属的网络区域,根据终端501所属的网络区域,确定代理服务器集群502中的目标代理服务器,然后将终端501的调用请求或者访问请求转发到目标代理服务器。通过目标代理服务器,根据调用请求或者访问请求,逐级向第三方服务发送调用信息,实现终端501在使用目标应用对应的服务的过程中,对第三方服务的调用或访问。
在图5所示的场景中,代理服务器还可以用于缓存第三方服务的相关信息,从而,用户通过终端501使用目标应用时,如果终端需要获取第三方服务提供的信息,终端可以替代性地访问代理服务器,以获取代理服务器中缓存的内容。
图6是本申请实施例提供的方法的另一种应用场景示意图。在用户通过终端601使用目标应用时,终端601可以调用或访问目标应用对应的服务(部署于图6所示的服务器603),如果在终端601调用或者访问目标应用对应的服务的过程中,需要访问或调用第三方服务,那么终端601可以通过代理服务器602访问API(Application ProgrammingInterface,应用程序编程接口)网关实现相关功能。API网关将多个API整合在一起,并提供统一访问入口的服务。API网关可以将请求转发到不同的API服务器上,并对访问进行授权和认证等操作。通过代理服务器作为API网关和终端601之间的桥梁,API网关可以实现负载均衡、安全性和访问控制等功能,从而提高系统的可用性和安全性。
在本申请实施例中,代理服务器提供的代理可以为正向代理或者反向代理。
在正向代理过程中,代理服务器位于客户端和第三方服务器之间,为了从第三方服务器中取得内容,客户端向代理发送一个(访问或服务调用等)请求,并指定目标,该目标指向第三方服务器,然后代理服务器向第三方服务器转交请求并将获得的内容返回给客户端。
在反向代理过程中,代理服务器位于用户与第三方服务器之间,但是对于用户而言,反向代理服务器就相当于需要访问的第三方服务器,即用户直接访问反向代理的代理服务器就可以获得第三方服务器的资源。同时,用户不需要知道第三方服务器的地址,也无须在客户端作任何设定。反向代理服务器通常可用来作为Web(网页)加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
需要说明的是,上述几种可能的应用场景仅是示例性地,在应用中还可能包括大型数据集群、安全监控、网络优化等其它可能的类似应用场景。在大型数据集群中,一个数据分析平台可能需要处理大量的数据请求,代理服务器可以将请求分发到数据分析平台的多个节点上,从而提高数据分析系统的处理速度和可用性。在安全监控场景中,金融机构可能会使用代理服务器来监控和保护客户的交易数据。在网络优化场景中,视频流媒体网站可能会使用代理服务器来优化视频的传输速度和质量。
在对本申请实施例提供的第三方信息的获取方法流程进行详细介绍之前,先对本申请实施例涉及的电子设备的软件架构进行简单介绍,图7是根据一示例性实施例示出的一种电子设备的软件架构示意图。
如图7所示,电子设备的软件架构可以包括应用层、应用程序框架层、内核层系统层和硬件抽象层。其中,硬件抽象层包括摄像头、触控屏;内核层包括多个硬件驱动模块,比如摄像头驱动模块、显示驱动模块、触控屏驱动模块、音频驱动模块等;应用框架层包括触发事件检测模块、应用程序管理模块;应用层包括终端应用程序,包括但不限于电子银行、网上政务办理应用、税务办理应用、购物应用、社会保险服务应用、相机应用等。
通过硬件抽象层的触控屏,可以对电子设备上部署的应用进行调用、控制和运行。内核层所包括的硬件驱动模块,可以用于驱动应用运行过程中需要调用的硬件。应用框架层可以检测用户对应用的控制和操作,并对应用程序的进程、线程等进行管理。应用层的终端应用程序,可以对互联网的网络资源进行访问,并可以通过访问应用程序对应的服务或者微服务集群的方式,获得互联网的网络资源,并可以通过应用程序对应的服务,向代理服务器发送服务调用请求,然后通过应用程序对应的服务接收代理服务器根据服务调用请求,调用第三方服务而获得的第三方信息。
电子设备通过应用程序对应的服务或者微服务集群,请求代理服务器调用的第三方服务,可以是信息查询服务、模型运行服务,还可以是任意可能的模块使用服务或者数据使用服务。比如,第三方服务可以是代码用例测试平台使用服务、图像处理模块使用服务、音频信息处理模块使用服务等。
图8示出了本申请实施例所提供的第三方信息的获取方法适用的系统架构示意图,图8所示的系统中的网关可以与终端进行网络通信连接,该终端可以采用图7所示的软件架构。图8所示的系统构建于一个内部网络区域中,该内部网络区域可以是同一公司、同一企业、同一团体(比如学校、工作组等)的内部的网络区域。内部网络区域的网络一般可以为局域网,即在某一区域内由多台计算机互联组成的计算机组。在同一公司、同一企业、或者同一团体的内部网络区域中,可以进一步进行划分,形成同一公司、同一企业、或者同一团体的内部网络区域中的多个内网区域,每个内网区域可以对应于公司、企业或者团体进一步划分形成的子单元,比如,一个工作组、一个项目组或者一个部门。针对每个内网区域,内部的网络区域为可信域,相对于每个内网区域之外的其它内网区域为非可信域。
在图8所示的系统中,在一个内网区域800内,包括内部微服务集群801、代理服务器集群802和网关803。内网区域800之外,还可以存在其它工作组对应使用的内网区域804,而相对于内网区域800,内网区域804为非可信域。在内网区域804中部署有与内部微服务集群801相对的外部微服务集群。内网区域800外的终端,可以通过网关803,访问内部微服务集群801,并使用内部微服务集群801所包括的多个微服务中的至少一个。内部微服务集群801为位于内网区域800所限定的网络区域内的微服务集群,包括多个微服务。在本申请实施例中,微服务(micro service)或称微服务架构是一种云原生架构中的功能模块,在单个应用中包含众多松散耦合且可单独部署的小型组件或服务。
微服务包括的小型组件或服务通常拥有自己的技术栈,技术栈通常可以包括数据库和数据管理模型;通过一个REST(Representational State Transfer,表现层状态转化)API、事件流和消息代理组合彼此通信;微服务通常可以按照业务能力进行组织,通过多个微服务,可以实现一个应用对应的完整功能。本申请实施例中的内部微服务集群801中,可以包括多个微服务,这些微服务可以是将一个服务拆分并部署到多台机器上形成的。同时,代理服务器集群802包括多个代理服务器,多个代理服务器可以以分布式的方式部署在内网区域中,每个代理服务器可以独立或者与其它代理服务协作,实现网络代理访问、信息代理获取的功能。
在其它可能的实现方式中,内部微服务集群801可以采用服务集群替代,服务集群中可能包括多个服务器,每个服务器能够提供至少一种服务,即服务集群包括的服务为多个微服务将功能整合之后得到的。
在图8所示的系统架构中,内网区域800的内部微服务集群801中,所包括的多个微服务分别注册于设置于内网区域800中的注册中心805。注册中心805用于登记微服务集群801中的微服务,并对多个微服务进行注册,注册中心805同时用于管理和维护微服务实例的元数据信息,元数据信息包括微服务的名称、版本和地址等内容。在注册中心805进行注册的微服务,可以被访问内部微服务集群801的其它微服务动态地发现,即内部微服务集群801中的每个微服务可以在运行时动态地发现其它服务实例,从而避免了硬编码服务地址,提高了系统的灵活性。
同时,在图8所示的系统架构中,内网区域800的内部微服务集群801还配置有配置中心806。配置中心806就是用来管理系统当中所有配置的装置,内部微服务集群801的相关配置均记录于配置中心806,配置中心806使得内网区域800的微服务与配置进行分离管理,同时也将所有微服务的配置信息进行同一管理。当配置中心806中发生配置信息变更事件时,配置中心806能够将配置信息的变更事件通知到各个微服务。
在此基础上,客户端、网关803和内部的微服务,可以作为客户端模组,调用代理服务器获取第三方信息、调用第三方服务。从而内部的微服务和代理服务器之间,可以通过使用安全证书,来保证信息传输的安全性。而安全证书可以分别在内部微服务集群801的指定存储位置和代理服务器集群802的指定存储位置各存储一份。
为了保证安全证书的安全,需要将安全证书进行加密存储。对安全证书进行加密的密码可以采用密钥对,而对密钥对进行存储时,可以对密钥对中的至少一个进行加密,并将加密的密码存储于代理服务器集群802的另一指定位置。其中,代理服务器集群用于存储加密的密码的另一指定位置,不同于存储加密证书的指定位置。从而,在图8所示的系统中,安全证书能够使用加密的方式进行非明文存储,且对安全证书进行加密的密钥对,也采用了恰当的存储方式,提高了安全证书、用于对安全证书进行加密的密钥对的存储安全性。
在图8所示的实施例中,每当代理服务器集群802中的任意代理服务器启动时,根据代理服务器的信息,在注册中心805完成一次注册。在检测到代理服务器集群802中的任意代理服务器启动的情况下,从配置中心806拉取对安全证书进行加密的密钥,这一密钥为用于对安全证书进行加密的密钥对中的一个。此时密钥为加密状态,在代理服务器集群802中对应存储密钥密码的位置,对加密的密钥进行解密,从而获得对加密证书进行解密的密钥,解密后的密钥对加密证书进行解密,得到解密的安全证书。根据解密的安全证书、代理服务器的端口号、IP地址等信息,将代理服务器注册于注册中心805。代理服务器集群802中的每个代理服务器,在启动时均按照本段的过程,完成在注册中心805进行注册的操作。
从而,当内网区域800之外的终端,通过网关803调用内部微服务集群801中的至少一个微服务时,被访问的微服务可以在运行过程中发现其它微服务,并与其它微服务进行信息通信。因此,在本申请实施例中,将微服务运行过程中,需要访问的代理服务器集群802,以微服务的形式注册于注册中心805,使得在注册中心805中注册的任意微服务能够发现并与代理服务器集群802中的任意代理服务器进行通信。
在具体的实现方式中,代理服务器集群802可以为Nginx集群,安全证书为SSL/TLS证书。在Nginx集群中的每个Nginx服务器上配置有边车(Sidecar)模块。对安全证书的加密的密钥进行解密的密码,可以存储于Nginx集群的边车模块中。边车模块为通过边车机制实现预定功能的模块,可以是配置于代理服务器上的一个软件模块,边车模块如同给代理服务器添加一个虚拟的边车。Nginx服务器依赖安全证书而启动,在每个Nginx服务器启动时,边车模块从配置中心806拉取加密密钥,并对加密密钥进行解密,获取解密的密钥。
由于对安全证书配置了密钥,在Nginx服务器启动时,需要输入安全证书的密码,即解密的密钥。Nginx时会弹出密码输入提示,一般情况下需要输入密码后Nginx才启动正常,本申请实施例中,可以在边车模块中,配置实现Expect交互指令(即Expect机制)的单元,Expect交互指令的脚本是Tcl(Tool Command Language,工具命令语言)脚本语言的拓展,使用Expect交互指令可以用来实现自动的交互式任务,无需人为干预。
在接收到Nginx服务器启动后请求输入密码的信息时,将解密的密钥反馈给请求输入密码的信息,实现密码的自动输入,无需人为操作在启动,自动完成Nginx服务器的交互式启动。在Nginx服务器启动完成之后,边车模块可以将Nginx服务器的IP地址以及端口号注册到注册中心805。
在完成注册后,内部微服务集群801中的微服务可以通过服务发现的方式,从注册中心805获取Nginx服务器的IP地址和端口号,并通过轮询的方式,查询到当前能够完成第三方信息获取或者第三方服务调用的Nginx服务器,通过加密的安全证书,将接收到的服务调用请求发送到对应的第三方服务器。
同时,加密证书也存储在内部微服务集群801中的指定位置,内部微服务集群801中的内部微服务,与Nginx服务器进行交互时,可利用安全证书,与用户名和密码结合的方式进行安全认证。
在图8所示的系统的基础上,注册中心、微服务和Nginx服务器集群之间的元数据关联关系如图9所示。微服务分布式系统下,微服务之间通过服务发现的方式进行服务调用,Nginx作为正向代理集群可以包装成整个微服务系统中的一个服务,通过外部套件(通过服务注册程序实现)的方式将Nginx功能实现模块所在机器的IP与Port(端口)号注册到注册中心中,保证微服务在使用正向代理时可以通过服务发现的方式获取Nginx的地址,另外注册中心可以使用轮询的方式查询服务地址,解决集群部署的复杂方案。
其中,外部套件可以专门用于实现对代理服务器集群的控制功能,在代理服务器集群中的多个代理服务器上,专注于实现代理服务的逻辑,从而通过外部套件实现控制和逻辑的分离。外部套件可以采用边车模块实现,边车模块可以以代理服务器集群的代理身份实现其功能。
在图7、图8和图9所示实施例的基础上,接下来对本申请实施例提供的第三方信息的获取方法的具体实现进行介绍。请参考图10,图10是根据一示例性实施例示出的一种第三方信息的获取方法的流程示意图,该方法可以由上述电子设备通过如图7所示的多个模块或者图8、图9所示的系统中的各个设备、装置交互实现。图10所示的方法在代理服务器一侧执行,代理服务器可以是代理服务器集群中的一个服务器。本申请实施例提供的方法可以包括如下步骤S1001-步骤S1004相关的至少一部分或者全部内容。
步骤S1001,接收服务调用请求;服务调用请求为访问端服务器在终端请求使用第三方服务时生成的;代理服务器属于注册于注册中心的代理服务器集群;注册中心用于注册在访问端服务器部署的访问端服务;前述访问端服务通过服务发现的方式调用前述代理服务器。
本实施例中,代理服务器可以通过其它服务接收服务调用请求,服务调用请求可以用于调用第三方服务提供方的信息提供服务,即用于请求查询第三方信息,或者服务调用请求可以用于请求运行第三方服务提供方提供的服务并获得服务运行结果。比如,服务调用请求可以用于请求向第三方服务器请求查询航班信息、天气信息、快递信息等信息,或者,服务调用请求可以用于请求调用第三方服务提供方提供的模型,将客户端的数据输入第三方服务提供方提供的模型,并获得模型输出结果。
在一种具体示例中,用户可以在应用程序的智能对话框内,输入对话内容,同时,用户通过智能对话框的微服务调用第三方的语言处理模型,产生对语言处理模型的服务调用请求。从而,服务调用请求可以通过网关发送到智能对话框对应的微服务所在的内网区域,并通过智能对话框对应的微服务或服务将服务调用请求转发到代理服务器集群中的一个代理服务器。
上述终端可以为客户端,具体可以为手机、台式电脑、笔记本电脑、平板电脑、掌上电脑、智能可穿戴设备等具有信息收发、服务调用功能的电子设备。终端在用户使用的过程中,可以运行访问端服务器对应的线程或进程,在微服务对应的线程或进程运行的过程中,可以直接向访问端服务器发送第三方服务的服务调用请求,也可以通过网关、网桥等中间设备,向访问端服务器发出服务调用请求。
访问端服务器可以是直接与终端进行信息交互的服务器,也为终端直接运行的功能服务对应的服务器,访问端服务器可以包括前述实施例中提到的微服务所部署的服务器,或者在一个完整的服务整体部署于同一台服务器的情况下,访问端服务器可以是服务所在的服务器。比如,用户通过终端使用浏览器功能,那么访问端服务器可以为提供浏览器功能的服务器,访问端服务器为终端调用代理服务器之前访问的服务器。
注册中心可以用于注册访问端服务,访问端服务包括前述场景和实施例中提到的微服务,在服务未被拆分的情况下,也可以包括一个完整的服务。在访问端服务为微服务的情况下,代理服务器以微服务的形式注册于注册中心。在传统的系统部署中,服务运行在一个固定的已知的 IP 和端口上,如果一个服务需要调用另外一个服务,可以通过地址直接调用,但是,在虚拟化或容器话的环境中,服务实例的启动和销毁是很频繁的,服务地址在动态的变化,如果需要将请求发送到动态变化的服务实例上,需要较为复杂的操作。
在本申请实施例中,终端可以通过服务发现的方式,在访问端服务器上调用运行应用功能所需要的服务,从而可以无需了解架构的部署拓扑环境,只通过服务的名字就能够使用服务,实现了服务发布与查找的协调机制。
在本申请具体实施例中,服务发现方式可以具有服务注册、目录和查找三大关键特性,终端作为客户端,可以通过服务名称,在目录中查找在注册中心注册的服务,在注册中心注册的访问端服务相互之间也可以进行调用,在一个访问端服务运行的过程中,可以在注册中心通过其它服务的名称,查询并调用其它访问端服务。除此之外,本申请实施例中的服务发现能够实现健康监控、多种查询、实时更新,进而实现高可用性等。
在本申请具体实施例中,代理服务器也以访问端服务的方式,注册于注册中心,从而作为客户端的终端在运行时调用的访问端服务,能够通过服务发现的方式调用代理服务器,通过代理服务器调用第三方服务。
本申请实施例中的第三方服务,为终端与其访问的访问端服务器之外的第三方所提供的服务。这一服务可能是信息查询服务,如快递单号查询、搜索引擎查询、航班查询、天气查询等;也可以是数据处理服务,比如使用模型的数据处理服务等。在第三方服务为数据处理服务的情况下,终端发送的服务调用请求中携带的待处理数据,输入第三方提供的数据处理服务,由数据处理服务对数据进行处理,得到输出结果。例如,终端发送服务调用请求,请求调用第三方提供的模型,对其发起的智能对话语句内容进行回答,从而第三方提供的模型对输入的智能对话语句进行处理,生成答复语句。
步骤S1002,根据服务调用请求,获得第三方服务调用结果。
本申请实施例中,代理服务器将服务调用请求发送至第三方服务器,第三方服务器根据服务调用请求,进行信息查询或者其它服务的调用操作,得到第三方服务调用结果。第三方服务调用结果,可以是向作为客户端的终端反馈的数据内容,比如快递单号物流信息、航班信息、模型输出结果等。
在本申请一种实施例中,根据服务调用请求,获得第三方服务调用结果,可以包括:将服务调用请求发送至第三方服务器,接收第三方服务器根据服务调用请求返回的第三方服务调用结果。
在本申请另一种实现方式中,代理服务器向第三方服务器发送服务调用请求时,可以利用安全证书对服务调用请求进行处理,隐藏服务调用请求中的终端端的信息。
步骤S1003,根据第三方服务调用结果,生成用于响应服务调用请求的第三方信息。
本申请实施例中,根据第三方服务调用结果,生成响应服务调用请求的第三方信息,可以包括代理服务器端根据第三方服务器根据服务调用请求返回的数据内容,和预先存储的安全证书,生成向服务端服务器反馈的第三方信息。
在代理服务器端生成第三方信息时,可以使用代理服务器集群中对应存储的安全证书(可能是加密状态的安全证书),对第三方服务器根据服务调用请求反馈的数据内容进行加密,得到第三方信息。
在另一种可能的实现方式中,根据第三方服务调用结果,生成响应服务调用请求的第三方信息,还包括:对第三方服务器根据服务调用请求返回的数据内容进行处理,转换为应用于访问端服务对应的信息界面的格式,得到转换后的数据内容;根据安全证书对转换后的数据内容进行加密,得到第三方信息。
步骤S1004,向访问端服务器发送第三方信息,使得访问端服务器能够向终端转发第三方信息。
本申请实施例中,代理服务器和访问端服务器之间的信息发送,可以通过安全证书进行加密,为了保证安全证书的安全性,可以将安全证书使用密钥进行加密存储。在代理服务器和访问端服务器进行相互通信时,代理服务器和访问端服务器可以分别利用各自存储的加密证书,对相互发送的信息进行处理,保证信息在二者之间传输的安全性。
在本申请实施例中,访问端服务器、代理服务器集群可以属于同一内网区域。访问端服务器和代理服务器集群所在的内网区域,可以为同一公司、同一企业或者同一团体内部的网络区域,按照工作组进行进一步划分,得到的区域。
在另外一种可能的实现方式中,访问端服务器、代理服务器集群可以属于同一公司、同一企业或者同一团体内部的网络区域。
在一种具体的实现方式中,内部网络区域包括代理服务器所属的代理服务器集群,访问端服务器所属的访问端服务器集群,还可以包括用于记录访问端服务的配置信息的配置中心,以及用于注册访问端服务的注册中心。同时,由于代理服务器提供的代理服务功能在配置中心注册为访问端服务的形式,代理服务器对应的配置信息也可以记录存储于在配置中心。
本申请实施例中,通过将代理服务器以访问端服务的形式注册于注册中心,从而在使用访问端服务的过程中,访问端服务可以通过服务发现的方式查找代理服务器,并与代理服务器之间进行信息收发,有助于实现对代理服务器的安全高效调用。
在一种实施方式中,接收服务调用请求之前,第三方信息的获取方法还包括:对代理服务器进行注册的过程。在每个代理服务器启动之时,均需要将代理服务器注册于注册中心。这一注册过程包括:监测到代理服务器的启动事件;根据代理服务器的证书,生成注册信息;向注册中心发送注册信息,使得代理服务器能够被访问端服务通过服务发现的形式调用。
在具体实现方式中,可以通过代理服务器的外部套件,实现代理服务器的注册。外部套件可以为在代理服务器上设置的一个程序,可以在代理服务器启动过程开始且启动过程未完成的阶段运行。同时,外部套件可以设置为无密码启动,从而在代理服务器启动时,外部套件可以自动启动并运行自动注册的过程。外部套件设置于代理服务器的业务逻辑之上的抽象层,实现代理服务器的一些控制功能。在具体实现方式中,每个代理服务器可以对应设置至少一个外部套件,在代理服务器每次启动时,自动获取启动、注册所需要的信息,完成代理服务器的启动和注册。
根据代理服务器的安全证书,生成注册信息,可以包括:根据代理服务器的安全证书,完成代理服务器的启动;响应于代理服务器启动完成的事件,根据代理服务器的IP地址和端口号生成注册信息。
代理服务器以访问端服务的形式注册于注册中心之后,访问端服务可以通过服务发现的方式调用代理服务器。在访问端服务为微服务的情况下,代理服务器以微服务的形式注册于注册中心。
在一种实施方式中,为了保证安全证书的安全,不采用明文存储的方式存储安全证书,而是采用密钥对、其它形式的密码或者其他形式的加密算法,对安全证书进行加密,得到加密证书,并将加密证书分别存储于访问端服务器所在的集群的指定位置,以及代理服务器集群中的指定位置。由于代理服务器的启动为依赖于安全证书的启动,那么,在代理服务器注册的过程中,需要对加密证书进行解密。
从而,根据代理服务器的安全证书,生成注册信息,包括:从配置中心拉取代理服务器对应的加密证书的加密密钥;配置中心用于存储访问端服务的配置信息;对加密密钥进行解密,获得加密证书的密钥;根据加密证书的密钥,对加密证书进行解密,得到安全证书;根据安全证书,启动代理服务器;根据启动后的代理服务器,生成注册信息。
本申请实施例中,用于对安全证书进行加密的密钥对,可以是公共密钥和私有密钥,也可以是根密钥和工作密钥。其中,公共密钥和工作密钥可以以明文的方式进行存储,而私有密钥和根密钥,为用户或设备端私有,需要对外进行保密存储。在对安全证书进行加密的密钥对为公共密钥和私有密钥的情况下,使用公共密钥加密的安全证书,需要通过私有密钥进行解密,而通过私有密钥进行加密的安全证书,需要通过公共密钥进行解密。
而在对安全证书进行加密的密钥对为根密钥和工作密钥的情况下,使用根密钥和工作密钥中的一个对另一个进行加密,使用根密钥和工作密钥中的另一个对安全证书进行加密。比如使用根密钥对工作密钥进行加密,使用工作密钥对安全证书进行加密。
本实施例中,上述代理服务器对应的加密证书的加密密钥,可以是用于对安全证书进行加密的密钥进一步加密后得到的密钥,即为加密状态的密钥。
在对安全证书使用密钥对进行加密后,得到加密证书,然后对用于加密安全证书的密钥进行加密,得到加密密钥。将加密密钥存储于配置中心中,在代理服务器启动时,通过部署于代理服务器上的外部套件,从配置中心中拉取加密密钥。
同时,在外部套件中,存储对加密密钥进行解密的解密算法,或者解密密码,从而外部套件可以在对代理服务器进行启动控制的过程中,对加密密钥进行解密,获得对安全证书进行加密的密钥。在获得密钥之后,可以对安全证书进行解密,得到安全证书,完成代理服务器对安全证书的启动过程。
本实施例中,根据启动后的代理服务器,生成注册信息,可以包括:根据启动后的代理服务器,确定需要注册的端口号和IP地址,根据需要注册的端口号和IP地址生成注册信息。
一般情况下,如果对安全证书进行加密,则在代理服务器启动时,需要输入安全证书的密钥。从而,根据加密证书的密钥,对加密证书进行解密,得到安全证书,包括:响应于加密证书的调用指令,生成密钥请求信息;根据密钥,生成响应于密钥请求信息的输入信息;根据输入信息,对加密证书进行解密,得到安全证书。在安全证书加密后,启动代理服务器时,产生对加密证书的调用指令,调用指令用于调用加密证书,从而需要对加密证书进行解密,以获得安全证书。
在具体实现方式中,在代理服务器端响应加密证书的调用指令,可以在代理服务器端的显示装置上显示密码输入框,用于接收人为输入的密码信息。对应于代理服务器端的显示装置上弹出的密码输入框,可以在代理服务器内部生成密钥请求信息。采用代理服务器的外接套件,对密钥请求信息进行响应,将解密后的密钥反馈给密钥请求信息的发送模块,使得加密证书能够被解密,进而代理服务器完成启动。
在本申请具体实现方式中,可以在外部套件中运行Expect交互指令,完成在代理服务器的启动阶段对安全证书的密钥的自动输入。
在本申请实施例中,代理服务器以及访问端服务器之间的交互需要使用安全证书来保证信息传递的安全性,从而在代理服务器接收到访问端服务器发送的服务调用请求之后,需要使用安全证书对服务调用请求进行解密操作。同样,访问端服务器在向代理服务器转发服务调用请求时,也会根据在访问端服务器集群的指定位置中存储的加密证书对服务调用请求进行加密,隐藏服务调用请求中有关用户身份等内容的信息。
从而,根据服务调用请求,获得第三方服务调用结果,包括:根据预先存储的加密证书,对服务调用请求进行解密,得到服务调用请求的解密信息;根据服务调用请求的解密信息,生成用于请求调用第三方服务的第三方服务请求;将第三方服务请求发送至第三方服务器;接收第三方服务器根据第三方服务请求反馈的第三方服务调用结果。
在代理服务器向第三方服务提供方请求调用第三方服务时,可以按照代理服务器自身的设定,对调用请求进行重新加密。
在一种实施方式中,代理服务器根据终端发送的服务调用请求,请求调用第三方服务,从而得到第三方服务的调用结果,然后将第三方服务的调用结果返回到访问端服务器,使得访问端服务器根据接收到的调用结果向终端端进行反馈。从而,根据第三方服务调用结果,生成响应服务调用请求的第三方信息,包括:根据预先存储的加密证书对第三方服务调用结果进行加密,生成第三方信息。
在本实施例中,当代理服务器将第三方信息发送到访问端服务器后,访问端服务器可以根据在访问端服务器集群中存储的加密证书对第三方信息进行解密,将解密后的信息通过网关反馈到终端。
在本申请一种实施方式中,向第三方服务器请求调用的第三方服务,可以根据服务类型分为不同种类。
比如,若第三方服务器存储有终端端使用访问端服务的过程中需要利用的信息,那么请求调用的第三方服务为信息提供服务,根据服务调用请求,可以返回终端使用访问端服务所需要的信息。
再如,若第三方服务器部署有目标模型,目标模型能够根据输入数据输出终端使用访问端服务的过程中需要利用的信息,那么请求调用的第三方服务为目标模型。
从而,服务调用请求可能包括信息查询的服务调用请求,第三方服务调用结果可能包括根据信息查询的服务调用请求查询得到的信息;和/或,服务调用请求包括模型调用请求,第三方服务调用结果包括根据模型调用请求调用模型得到的模型输出数据。
在其它实现方式中,服务调用请求还可以根据第三方服务的其它不同类型进行对应的区分。
在一种实施方式中,访问端服务器属于一个访问端服务器集群,代理服务器属于一个代理服务器集群,同时,访问端服务器集群和代理服务器集群属于同一个内网区域,即访问端服务器集群和代理服务器集群处于同一个可信域中。访问端服务器集群包括多个访问端服务器,每个访问端服务器上部署至少一个访问端服务,不同的访问端服务之间可以通过注册中心相互调用。
访问端服务可以从注册中心调用以访问端服务的形式注册于注册中心的代理服务器。在访问端服务器为微服务集群中的微服务器的情况下,微服务集群与代理服务器属于同一网络区域。微服务之间可以相互调用,和其它微服务存在调用关系的微服务,可以进一步再以服务发现的形式调用代理服务器。
比如,微服务A调用微服务B,然后微服务B调用代理服务器。或者,微服务A同时调用微服务B和代理服务器。
本申请实施例还提供一种第三方信息的获取方法,应用于访问端服务器,访问端服务器可以是在一个网络区域中,直接与用户实现网络活动时使用的终端进行信息收发操作,也可以通过网关、网桥等模块,与前述终端进行信息收发操作。
在本申请实施例中,应用于访问服务器的第三方信息的获取方法包括:接收终端请求使用第三方服务时发送的服务调用请求;根据服务调用请求,生成用于查询代理服务器的服务发现请求;根据服务发现请求,在注册于访问端服务器对应的注册中心的代理服务器集群中,确定响应服务调用请求的目标代理服务器;通过目标代理服务器,获得响应服务调用请求的第三方信息;向终端发送第三方信息。
应用于访问端服务器的第三方信息的获取方法,针对代理服务器和终端端发送的信息,执行对应的响应操作。同时,访问端服务器与代理服务器之间的信息交互,通过加密证书进行安全保障。
在一种实施方式中,访问端服务器可以为访问端服务器集群中的一个服务器,在访问端服务为微服务的情况下,微服务集群可以部署在一个服务器集群中,在服务器集群中形成微服务集群。网络终端可以通过微服务集群中的任意微服务,对注册于对应注册中心的所有代理服务器之一进行调用。在注册中心可以对多个代理服务器进行注册,从而,多个注册的代理服务器构成代理服务器集群,在向代理服务器转发终端的服务调用请求时,访问端服务器需要从代理服务器集群中选择一个与之进行信息收发活动。
基于上述原因,通过目标代理服务器,获得响应服务调用请求的第三方信息,包括:将服务调用请求发送至目标代理服务器;接收目标代理服务器根据服务调用请求返回的第三方信息。
本实施例中,目标代理服务器在接收到服务调用请求后,根据服务调用请求,向第三方服务器请求调用第三方服务,从而获得信息查询结果或者模型输出数据等反馈结果,根据获得的反馈结果,生成针对终端的第三方信息,并将第三方信息通过访问端服务器返回到终端。
在一种实施方式中,由于代理服务器和访问端服务器之间的信息传输均通过加密证书进行加密,而加密证书在代理服务器集群和访问端服务器集群中存储的状态为加密状态,因此需要对加密证书进行解密,然后才能够利用证书对代理服务器和访问端服务器之间的交互信息进行加密。
进而,将服务调用请求发送至目标代理服务器,包括:获得与目标代理服务器对应的加密证书;根据加密证书,将服务调用请求发送至目标代理服务器。
本实施例中,将加密证书进行解密,从而能够利用加密证书对服务调用请求进行加密,同时,代理服务器收到加密的服务调用请求后,能够使用代理服务器集群对应存储的加密证书对服务调用请求进行解密。
在一种实施方式中,访问端服务为微服务的情况下,服务发现请求为微服务发现请求。在确定目标代理服务器时,可以从注册中心中获得多个代理服务器的信息,根据多个代理服务器的信息进行逐一确认,从中找出相对空闲可以接收当前服务调用请求的代理服务器,作为模板代理服务器。
从而,根据服务发现请求,在注册于访问端服务器侧对应的注册中心的代理服务器集群中,确定响应服务调用请求的目标代理服务器,包括:将服务发现请求发送至注册中心;接收注册中心返回的代理服务器信息;根据代理服务器信息,确定目标代理服务器。
注册中心返回的代理服务器信息,可以是单个的代理服务器的IP地址和端口号,也可以是一组代理服务器的IP地址和端口号。在接收到单个代理服务器IP地址和端口号的情况下,若根据IP地址和端口号向对应的代理服务器进行问询后,确定被问询的代理服务器繁忙,则重新向注册中心请求新的代理服务器的IP地址和端口号,直到确定出目标代理服务器。
或者,在接收到多个(一组)代理服务器的IP地址和端口号的情况下,可以向接收到的IP地址和端口号逐一发送问询信息,如果在当前组代理服务器中,确定出目标代理服务器,则不再向注册中心请求或向其它代理服务器发送问询,否则可以请求新的一组代理服务器的IP地址和端口号,继续进行问询行为。
在一种实施方式中,根据代理服务器信息,确定目标代理服务器,包括:根据代理服务器信息,生成对多个代理服务器的轮询信息;根据多个代理服务器对轮询信息的响应信息,确定目标代理服务器。
本申请实施例中,通过轮询信息,对多个代理服务器进行轮询。本申请实施例中前述轮询(Polling)过程中,定时发出轮询信息,依序询问每一个代理服务器是否能够代理服务,若能即向其请求提供代理服务,若不能则则询问下一个代理服务器,直到确定目标代理服务器。
本申请实施例还提供一种第三方信息的获取方法,应用于代理服务器和访问端服务器所属的系统,第三方信息的获取方法包括:通过访问端服务器,接收终端查询第三方信息发送的服务调用请求;服务调用请求用于请求调用第三方服务;根据服务调用请求,利用访问端服务器生成用于查询代理服务器的服务发现请求;访问端服务器根据服务发现请求,在注册于访问端服务器对应的注册中心的代理服务器集群中,确定响应服务调用请求的目标代理服务器;通过目标代理服务器,获得响应服务调用请求的第三方信息;通过访问端服务器向终端发送第三方信息。
在一种实施方式中,第三方信息的获取方法还包括:在检测到目标代理服务器的启动事件的情况下,目标代理服务器的外接套件从配置中心拉取加密证书的加密密钥;目标代理服务器的外接套件根据加密密钥,确定用于获取代理服务器在内网区域的访问端服务集群的注册信息;目标代理服务器的外接套件根据注册信息,在访问端服务集群对应的注册中心注册目标代理服务器。
在一种实施方式中,外接套件根据加密密钥,确定用于获取代理服务器在内网区域的访问端服务集群的注册信息,包括:外接套件在目标代理服务器一侧对加密密钥进行解密,得到加密证书的密钥;外接套件根据加密证书的密钥,对加密证书进行解密,得到安全证书;外接套件根据安全证书启动所述目标代理服务器后,生成注册信息。
图11是本申请实施例提供的一种第三方信息的获取装置的结构示意图,该装置应用于代理服务器端,可以由软件、硬件或者两者的结合实现成为电子设备的部分或者全部,该电子设备可以实现上述各个实施例的方法。参见图11,包括服务调用请求接收模块1101、第三方服务调用结果模块1102、响应信息生成模块1103和响应信息发送模块1104。
其中,服务调用请求接收模块1101,用于接收服务调用请求;服务调用请求为访问端服务器在终端请求使用第三方服务时生成的;代理服务器属于注册于注册中心的代理服务器集群;注册中心用于注册访问端服务器所部署的访问端服务;访问端服务通过服务发现的方式调用代理服务器。
第三方服务调用结果模块1102,用于根据服务调用请求,获得第三方服务调用结果。
响应信息生成模块1103,用于根据第三方服务调用结果,生成响应服务调用请求的第三方信息。
响应信息发送模块1104,用于向访问端服务器发送第三方信息,使得访问端服务器能够向终端转发第三方信息。
本申请实施例中,应用于代理服务器端的第三方信息的获取装置可以被配置为实现本申请其它实施例提供的应用于代理服务器端的第三方信息的获取方法的步骤。
本申请实施例还进一步提供了一种应用于访问端服务器的第三方信息的获取装置,该装置包括:请求接收模块,用于接收终端请求使用第三方服务时发送的服务调用请求;服务发现请求生成模块,用于根据服务调用请求,生成用于查询代理服务器的服务发现请求;目标代理服务器确定模块,用于根据服务发现请求,在注册于访问端服务器对应的注册中心的代理服务器集群中,确定响应服务调用请求的目标代理服务器;响应信息获得模块,用于通过目标代理服务器,获得响应服务调用请求的第三方信息;响应信息发送模块,用于向终端发送第三方信息。
本申请实施例还进一步提供了一种第三方信息的获取装置,应用于包括代理服务器和访问端服务器的系统中,该装置包括:服务调用请求接收模块,用于通过访问端服务器,接收终端查询第三方信息发送的服务调用请求,服务调用请求用于请求调用第三方服务;服务发现请求生成模块,用于根据服务调用请求,利用访问端服务器生成用于查询代理服务器的服务发现请求;目标代理服务器确定模块,用于通过所述访问端服务器,根据服务发现请求,在注册于访问端服务器对应的注册中心的代理服务器集群中,确定响应服务调用请求的目标代理服务器;响应信息获得模块,用于通过目标代理服务器,获得响应服务调用请求的第三方信息;响应信息发送模块,用于通过访问端服务器向终端发送第三方信息。
在本申请实施例中,还提供了一种第三方信息的获取系统,该系统包括应用于代理服务器端的第一信息获取装置,以及应用于访问端服务器端的第二信息获取装置。第一信息获取装置可以用于控制代理服务器实现本申请任意实施例提供的应用于代理服务器的第三方信息获取方法。第二信息获取装置可以用于控制访问端服务器端实现本申请任意实施例提供的应用于访问端服务器的第三方信息获取方法。
在访问端服务为微服务的情况下,第三方信息的获取系统可以包括代理服务器集群、微服务集群、配置中心、注册中心。其中,第一信息获取装置可以集成于代理服务器一侧,第一信息获取装置包括边车模块。第二信息获取装置可以配置与访问端服务器一侧。
在代理服务器集群中的任意代理服务器启动的过程中,第三方信息的获取系统中,执行图12所示的操作,具体包括下述步骤S121-S126。
步骤S121:代理服务器启动。
步骤S122:边车模块检测到代理服务器的启动事件的情况下,从配置中心抓取加密证书的加密密钥。边车模块为代理服务器的附属模块,可以配置于各个代理服务器上。
步骤S123:边车模块对加密密钥进行解密,得到对安全证书进行加密时使用的密钥。
步骤S124:边车模块根据代理服务器生成的密钥请求信息,输入密钥,使得代理服务器能够依赖安全证书完成启动。
步骤S125:边车模块根据代理服务器的IP地址和端口号等信息,生成注册信息,发送到注册中心。
步骤S126:注册中心接收到注册信息后,完成对代理服务器的注册。
针对代理服务器集群中的每个代理服务器,启动并完成注册后,可以被微服务集群中的微服务发现,并通过代理服务器获取第三方信息,这一过程包括图13所示的流程,具体包括下述步骤S131-步骤S1314。
步骤S131:终端向网关发送服务调用请求。在使用微服务的过程中,若需要调用第三方服务,获取第三方信息,则终端通过网关向当前使用的功能对应的微服务发送服务调用请求。
步骤S132:网关向微服务集群转发服务调用请求。其中,微服务集群中包括多个微服务,多个微服务包括终端当前使用的功能对应的微服务。
步骤S133:微服务集群中与终端当前使用的功能对应的微服务,向注册中心询问代理服务器的信息。
步骤S134:注册中心将至少一个代理服务器的信息返回给微服务集群。从而终端当前使用的功能对应的微服务能够根据接收到的至少一个代理服务器的信息,向至少一个代理服务器进行轮询。
步骤S135:微服务在接收到代理服务器集群中的代理服务器的响应后,确定处理服务调用请求的目标代理服务器。
步骤S136:微服务集群从配置中心拉取加密证书的加密密钥。其中加密密钥可以采用密钥对进行加密,密钥对中包括可公开密钥(比如公共密钥或者工作密钥),以及不可公开密钥(比如私有密钥和根密钥)。可公开密钥可以由微服务集群进行存储,不可公开密钥可以由代理服务器集群的外接套件进行存储。
步骤S137:微服务对加密密钥进行解密,根据解密的密钥对加密证书进行解密,获得安全证书。
步骤S138:根据安全证书,向目标代理服务器发送服务调用请求。
步骤S139:目标代理服务器根据服务调用请求,向第三方服务器请求调用第三方服务。
步骤S1310:目标代理服务器接收第三方服务器返回的调用结果。
步骤S1311:目标代理服务器从配置中心拉取加密密钥。
步骤S1312:目标代理服务器根据调用结果和加密密钥,向微服务反馈第三方信息。在生成第三方信息时,可以从配置中心获得加密密钥,在代理服务器一端对加密密钥进行解密,获得密钥,对安全证书进行解密,从而能够利用安全证书对调用结果进行加密,得到第三方信息。
步骤S1313:微服务接收到第三方信息后,根据第三方信息,向网关反馈。
步骤S1314:网关将微服务反馈的信息发送到终端。
图14为本申请提供的第三方信息的获取系统模块结构示意图。其中,在同一公司、同一企业或者同一团体的内部网络区域中,可以按照工作组,将内部网络区域进一步划分为多个工作组内的内网区域。相对于一个内网区域而言,内网区域之内为可信域,内网区域之外为非可信域。在代理服务器使用Nginx服务器的情况下,本申请实施例提供的第三方信息获取系统,可以包括部署于同一可信域之内的微服务集群、配置中心和Nginx集群。在微服务集群和Nginx集群之间,使用安全证书对交互信息进行安全验证。安全证书可以是SSL/TLS证书。在Nginx集群中的每个Nginx服务器上,配置有外部套件,用于对加密的SSL/TLS证书的加密密钥进行解密,同时通过Expect交互指令对Nginx服务器的启动进行控制。SSL/TLS证书以加密的方式,在微服务集群的指定位置和Nginx集群的指定位置分别进行本地加密存储。在微服务集群和Nginx集群之间进行信息交互时,通过HTTPS、Basic的方式进行安全认证,除此之外,还通过加密证书进行安全验证。配置中心存储加密密钥,加密密钥可以采用根密钥和工作密钥中的至少一个进行加密。而非可信域中的其它领域服务也可以调用Nginx集群获得第三方服务。其它领域服务在接收到其它领域网关转发的终端的服务调用请求后,也可以到可信域中调用Nginx集群,实现代理服务的目的。其它领域服务和Nginx集群之间的信息交互,可以按照配置的方式予以安全验证,具体可以选用HTTPS、Basic和安全证书中的任意一种实现安全验证。
需要说明的是:上述实施例提供的第三方信息的获取装置在获取第三方服务的信息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
上述实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请实施例的保护范围。
上述实施例提供的第三方信息的获取装置与第三方信息的获取的方法实施例属于同一构思,上述实施例中单元、模块的具体工作过程及带来的技术效果,可参见方法实施例部分,此处不再赘述。
作为本申请的一个示例,上述电子设备能够接入基站,同时也具有接入无线局域网的能力,譬如该电子设备是手机、平板、智能手表、便携式笔记本等。请参考图15,图15是本申请实施例提供的一种电子设备的结构示意图,该电子设备可以作为使用应用的终端,用于对访问端服务进行调用,具体而言,电子设备可以通过运行应用,对单个服务进行调用。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,比如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(比如:同轴电缆、光纤、数据用户线(Digital SubscriberLine,DSL))或无线(比如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(比如:软盘、硬盘、磁带)、光介质(比如:数字通用光盘(Digital Versatile Disc,DVD))或半导体介质(比如:固态硬盘(Solid State Disk,SSD))等。
以上为本申请提供的可选实施例,并不用以限制本申请,凡在本申请的揭露的技术范围之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (18)

1.一种第三方信息的获取方法,其特征在于,应用于代理服务器,所述方法包括:
接收服务调用请求;所述服务调用请求为访问端服务器在终端访问访问端服务,以请求使用第三方服务时生成的,所述终端通过所述访问端服务器间接调用所述代理服务器,以间接通过所述代理服务器调用第三方服务;所述代理服务器属于注册于注册中心的代理服务器集群;所述注册中心用于注册在所述访问端服务器部署的访问端服务;所述访问端服务器为与所述终端进行交互的服务器;所述访问端服务通过服务发现的方式调用所述代理服务器;所述第三方服务为所述终端、与所述访问端服务器之外的第三方提供的服务;
根据所述服务调用请求,获得第三方服务调用结果;
根据所述第三方服务调用结果,生成响应所述服务调用请求的第三方信息;
向所述访问端服务器发送所述第三方信息,使得所述访问端服务器能够向所述终端转发所述第三方信息。
2.根据权利要求1所述的方法,其特征在于,在所述接收服务调用请求之前,所述方法还包括:
监测到所述代理服务器的启动事件;
根据所述代理服务器的安全证书,生成注册信息;
向所述注册中心发送所述注册信息,使得所述代理服务器能够被访问端服务通过服务发现的形式调用。
3.根据权利要求2所述的方法,其特征在于,所述根据所述代理服务器的安全证书,生成注册信息,包括:
从配置中心拉取所述代理服务器对应的加密证书的加密密钥;所述配置中心用于存储所述访问端服务的配置信息;
对所述加密密钥进行解密,获得所述加密证书的密钥;
根据所述加密证书的密钥,对所述加密证书进行解密,得到安全证书;
根据所述安全证书,启动所述代理服务器;
根据启动后的代理服务器,生成所述注册信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述加密证书的密钥,对所述加密证书进行解密,得到安全证书,包括:
响应于所述加密证书的调用指令,生成密钥请求信息;
根据所述密钥,生成响应于所述密钥请求信息的输入信息;
根据输入信息,对所述加密证书进行解密,得到所述安全证书。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述根据所述服务调用请求,获得第三方服务调用结果,包括:
根据预先存储的加密证书,对所述服务调用请求进行解密,得到服务调用请求的解密信息;
根据所述服务调用请求的解密信息,生成用于请求调用第三方服务的第三方服务请求;
将所述第三方服务请求发送至第三方服务器;
接收所述第三方服务器根据所述第三方服务请求反馈的第三方服务调用结果。
6.根据权利要求1-4中任意一项所述的方法,其特征在于,所述根据所述第三方服务调用结果,生成响应所述服务调用请求的第三方信息,包括:
根据预先存储的加密证书对所述第三方服务调用结果进行加密,生成所述第三方信息。
7.根据权利要求1-4中任意一项所述的方法,其特征在于,所述服务调用请求包括信息查询的服务调用请求,所述第三方服务调用结果包括根据所述信息查询的服务调用请求查询得到的信息;和/或,所述服务调用请求包括模型调用请求,所述第三方服务调用结果包括根据所述模型调用请求调用模型所得到的模型输出数据。
8.根据权利要求1-4中任意一项所述的方法,其特征在于,所述访问端服务器为微服务集群中的微服务器;所述微服务集群与所述代理服务器属于同一网络区域。
9.一种第三方信息的获取方法,其特征在于,应用于访问端服务器,所述方法包括:
接收终端请求使用第三方服务时发送的服务调用请求;所述服务调用请求为访问端服务器在终端访问访问端服务,以请求使用第三方服务时生成的,所述终端通过所述访问端服务器间接调用代理服务器,以间接通过所述代理服务器调用第三方服务;所述代理服务器属于注册于注册中心的代理服务器集群;所述注册中心用于注册在所述访问端服务器部署的访问端服务;所述访问端服务器为与所述终端进行交互的服务器;所述访问端服务通过服务发现的方式调用所述代理服务器;所述第三方服务为所述终端、与所述访问端服务器之外的第三方提供的服务;
根据所述服务调用请求,生成用于查询代理服务器的服务发现请求;
根据所述服务发现请求,在注册于注册中心的代理服务器集群中,确定响应所述服务调用请求的目标代理服务器;所述注册中心与所述访问端服务器对应;
通过所述目标代理服务器,获得响应所述服务调用请求的第三方信息;
向所述终端发送所述第三方信息。
10.根据权利要求9所述的方法,其特征在于,所述通过所述目标代理服务器,获得响应所述服务调用请求的第三方信息,包括:
将所述服务调用请求发送至所述目标代理服务器;
接收所述目标代理服务器根据所述服务调用请求返回的所述第三方信息。
11.根据权利要求10所述的方法,其特征在于,所述将所述服务调用请求发送至所述目标代理服务器,包括:
获得与所述目标代理服务器对应的加密证书;
根据所述加密证书,将所述服务调用请求发送至所述目标代理服务器。
12.根据权利要求9-11中任意一项所述的方法,其特征在于,所述根据所述服务发现请求,在注册于注册中心的代理服务器集群中,确定响应所述服务调用请求的目标代理服务器,包括:
将所述服务发现请求发送至所述注册中心;
接收所述注册中心返回的代理服务器信息;
根据所述代理服务器信息,确定所述目标代理服务器。
13.根据权利要求12所述的方法,其特征在于,所述根据所述代理服务器信息,确定所述目标代理服务器,包括:
根据所述代理服务器信息,生成对多个所述代理服务器的轮询信息;
根据所述多个代理服务器对所述轮询信息的响应信息,确定所述目标代理服务器。
14.一种第三方信息的获取方法,其特征在于,应用于第三方信息的获取系统;所述获取系统包括访问端服务器、代理服务器;所述方法包括:
所述访问端服务器接收终端发送的服务调用请求;所述服务调用请求用于请求调用第三方服务;所述服务调用请求为访问端服务器在终端访问访问端服务,以请求使用第三方服务时生成的,所述终端通过所述访问端服务器间接调用所述代理服务器,以间接通过所述代理服务器调用第三方服务;所述代理服务器属于注册于注册中心的代理服务器集群;所述注册中心用于注册在所述访问端服务器部署的访问端服务;所述访问端服务器为与所述终端进行交互的服务器;所述访问端服务通过服务发现的方式调用所述代理服务器;所述第三方服务为所述终端、与所述访问端服务器之外的第三方提供的服务;
所述访问端服务器根据所述服务调用请求,生成用于查询代理服务器的服务发现请求;
所述访问端服务器根据所述服务发现请求,在注册于注册中心的代理服务器集群中,确定响应所述服务调用请求的目标代理服务器;所述注册中心与所述访问端服务器对应;
通过所述访问端服务器向所述终端发送所述第三方信息。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
在检测到所述目标代理服务器的启动事件的情况下,所述目标代理服务器从配置中心拉取加密证书的加密密钥;
所述目标代理服务器根据所述加密密钥,确定所述目标代理服务器的注册信息;
所述目标代理服务器根据所述注册信息,在所述注册中心注册所述目标代理服务器。
16.根据权利要求15所述的方法,其特征在于,所述目标代理服务器根据所述加密密钥,确定所述目标代理服务器的注册信息,包括:
所述目标代理服务器对所述加密密钥进行解密,得到加密证书的密钥;
所述目标代理服务器根据所述加密证书的密钥,对所述加密证书进行解密,得到安全证书;
所述目标代理服务器根据所述安全证书启动后,生成所述注册信息。
17.一种电子设备,其特征在于,所述电子设备包括:处理器和存储器;
所述存储器用于存储所述电子设备执行如权利要求1-16任意一项所述的方法的程序,以及存储用于实现如权利要求1-16任意一项所述的方法所涉及的数据;
所述处理器被配置为用于执行所述存储器中存储的程序。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-16任意一项所述的方法。
CN202311526639.9A 2023-11-16 2023-11-16 第三方信息的获取方法、电子设备及可读存储介质 Active CN117278323B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311526639.9A CN117278323B (zh) 2023-11-16 2023-11-16 第三方信息的获取方法、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311526639.9A CN117278323B (zh) 2023-11-16 2023-11-16 第三方信息的获取方法、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN117278323A CN117278323A (zh) 2023-12-22
CN117278323B true CN117278323B (zh) 2024-04-19

Family

ID=89202840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311526639.9A Active CN117278323B (zh) 2023-11-16 2023-11-16 第三方信息的获取方法、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN117278323B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112054998A (zh) * 2020-08-10 2020-12-08 中粮招商局(深圳)粮食电子交易中心有限公司 代理服务方法、装置、设备和计算机可读存储介质
CN113672403A (zh) * 2021-07-30 2021-11-19 北京数码大方科技股份有限公司 信息系统中的接口调用方法及接口调用装置、管理信息系统
CN113821352A (zh) * 2021-02-02 2021-12-21 北京沃东天骏信息技术有限公司 一种远程服务的调用方法和装置
WO2022022253A1 (zh) * 2020-07-28 2022-02-03 北京金山云网络技术有限公司 一种服务鉴权方法、装置、设备、系统及存储介质
CN116132151A (zh) * 2023-01-09 2023-05-16 常州大学 一种调用第三方服务的用户隐私保护系统及方法
CN116996223A (zh) * 2023-09-28 2023-11-03 睿云联(厦门)网络通讯技术有限公司 基于分布式应用运行时的gdpr隐私保护方法及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10938787B2 (en) * 2017-12-01 2021-03-02 Kohl's, Inc. Cloud services management system and method
US11611436B2 (en) * 2020-04-24 2023-03-21 Netapp, Inc. Management services API gateway
US20230185645A1 (en) * 2021-12-10 2023-06-15 Citrix Systems, Inc. Intelligent api consumption

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022022253A1 (zh) * 2020-07-28 2022-02-03 北京金山云网络技术有限公司 一种服务鉴权方法、装置、设备、系统及存储介质
CN112054998A (zh) * 2020-08-10 2020-12-08 中粮招商局(深圳)粮食电子交易中心有限公司 代理服务方法、装置、设备和计算机可读存储介质
CN113821352A (zh) * 2021-02-02 2021-12-21 北京沃东天骏信息技术有限公司 一种远程服务的调用方法和装置
CN113672403A (zh) * 2021-07-30 2021-11-19 北京数码大方科技股份有限公司 信息系统中的接口调用方法及接口调用装置、管理信息系统
CN116132151A (zh) * 2023-01-09 2023-05-16 常州大学 一种调用第三方服务的用户隐私保护系统及方法
CN116996223A (zh) * 2023-09-28 2023-11-03 睿云联(厦门)网络通讯技术有限公司 基于分布式应用运行时的gdpr隐私保护方法及介质

Also Published As

Publication number Publication date
CN117278323A (zh) 2023-12-22

Similar Documents

Publication Publication Date Title
US11520912B2 (en) Methods, media, apparatuses and computing devices of user data authorization based on blockchain
US9430211B2 (en) System and method for sharing information in a private ecosystem
US20030005333A1 (en) System and method for access control
US7540024B2 (en) Security features for portable computing environment
EP3537684B1 (en) Apparatus, method, and program for managing data
US10270757B2 (en) Managing exchanges of sensitive data
US20090077118A1 (en) Information card federation point tracking and management
US20090077627A1 (en) Information card federation point tracking and management
US11888980B2 (en) Stateless service-mediated security module
US11196770B2 (en) HTTP password mediator
CN113347242B (zh) 跨设备资源访问方法、装置、存储介质及电子设备
US10630722B2 (en) System and method for sharing information in a private ecosystem
JP6096376B2 (ja) アクセス制御方法、装置、プログラム、及び記録媒体
EP3921749A1 (en) Device and method for authenticating application in execution environment in trust zone
Prasadreddy et al. A threat free architecture for privacy assurance in cloud computing
CN117278323B (zh) 第三方信息的获取方法、电子设备及可读存储介质
CN117118598A (zh) 一种数据分享的方法、电子设备及计算机集群
CN110457959B (zh) 一种基于Trust应用的信息传输方法及装置
US20130219510A1 (en) Drm/cas service device and method using security context
CN110765445B (zh) 处理请求的方法和装置
US10963559B1 (en) Smart property archive for safeguarding software configuration
US11271738B1 (en) Secure, reliable, and decentralized communication in cloud platform
CN114329574B (zh) 基于域管平台的加密分区访问控制方法、系统及计算设备
US20240104223A1 (en) Portable verification context
CN116954693A (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