本申请涉及计算机技术领域,尤其涉及一种服务调用系统、方法、电子设备及可读存储介质。
背景技术:
服务调用旨在解决服务之间的连通问题,实现原理是服务请求端通过获取的服务提供端的网络信息与服务提供端建立网络通信连接,以此实现对服务提供端的访问。
目前,通常采取的服务调用方式为服务请求端通过语言服务工具与命名代理模块中的超文本传输协议单元建立连接,获取服务提供端的网络信息,再根据网络信息通过调用服务工具建立与服务提供端之间的网络通信连接,以实现对服务提供端的访问。采用上述方式,由于用到语言服务工具和调用服务工具,服务调用的操作复杂,而且对于不同编程语言的服务请求端,都需要使用对应编程语言的语言服务工具来获取网络信息,即需要开发多种编程语言的语言服务工具,开发代价高。
技术实现要素:
有鉴于此,本申请实施例的目的在于提供一种服务调用系统、方法、电子设备及可读存储介质,可以在降低服务调用的操作复杂度同时,还可以降低开发代价。
主要包括以下几个方面:
第一方面,本申请实施例提供一种服务调用系统,所述服务调用系统包括服务请求端、服务提供端、所述服务提供端的调用服务工具和命名代理模块,所述命名代理模块包括域名解析代理单元;其中,
所述服务请求端,用于通过所述调用服务工具向所述命名代理模块发送针对所述服务提供端的域名解析服务请求;
所述域名解析代理单元,用于在接收到所述服务请求端发送的所述域名解析服务请求后,基于所述域名解析服务请求,查询所述服务提供端的网络信息,若查询出所述网络信息,则将所述网络信息发送至所述服务请求端;所述网络信息包括网络地址;
所述服务请求端,还用于在接收到所述域名解析代理单元发送的所述网络信息后,根据所述网络信息通过所述调用服务工具访问所述服务提供端。
在一种可能的实施方式中,所述域名解析代理单元,用于根据以下步骤查询所述网络信息:
从所述域名解析服务请求中,解析出所述服务提供端的域名;
根据所述域名,查询所述服务提供端的所述网络信息。
在一种可能的实施方式中,所述域名解析代理单元,具体用于根据以下步骤查询所述网络信息:
根据所述域名的域名后缀,确定所述域名的网络类型;
采用与所述网络类型对应的预设查询方式查询所述网络信息。
在一种可能的实施方式中,所述网络类型包括局域网类型和广域网类型;所述域名解析代理单元,用于根据以下步骤确定所述域名的网络类型:
判断所述域名后缀是否与预设后缀相同;
若相同,则确定出所述域名的网络类型为所述局域网类型;
若不同,则确定出所述域名的网络类型为所述广域网类型。
在一种可能的实施方式中,若所述网络类型为局域网类型,则所述网络信息还包括第一端口号码;
所述域名解析代理单元,用于从本地缓存中,查询所述服务提供端的网络地址,以及从预设的映射数据库中,查询所述服务提供端的第一端口号码,并将所述第一端口号码发送至所述服务请求端;
所述服务请求端,具体用于根据所述网络地址和所述第一端口号码通过所述调用服务工具访问所述服务提供端。
在一种可能的实施方式中,若所述网络类型为广域网类型,则所述网络信息还包括第二端口号码,所述第二端口号码为预先设置的;
所述域名解析代理单元,用于从域名解析服务器中,查询与所述域名对应的所述网络地址;
所述服务请求端,具体用于根据所述网络信息和所述第二端口号码通过所述调用服务工具访问所述服务提供端。
在一种可能的实施方式中,所述域名解析代理单元,还用于在没有查询到所述网络信息后,将查询失败的提醒信息发送至所述服务请求端。
第二方面,本申请实施例还提供一种服务调用方法,所述服务调用方法包括:
接收服务请求端通过服务提供端的调用服务工具发送的针对所述服务提供端的域名解析服务请求;
基于所述域名解析服务请求,查询所述服务提供端的网络信息;所述网络信息包括网络地址;
若查询出所述网络信息,则将所述网络信息发送至所述服务请求端,以供所述服务请求端根据所述网络信息通过所述调用服务工具访问所述服务提供端。
在一种可能的实施方式中,所述基于所述域名解析服务请求,查询所述服务提供端的网络信息,包括:
从所述域名解析服务请求中,解析出所述服务提供端的域名;
根据所述域名,查询所述服务提供端的所述网络信息。
在一种可能的实施方式中,所述根据所述域名,查询所述服务提供端的所述网络信息,包括:
根据所述域名的域名后缀,确定所述域名的网络类型;
采用与所述网络类型对应的预设查询方式查询所述网络信息。
在一种可能的实施方式中,所述网络类型包括局域网类型和广域网类型;所述根据所述域名的域名后缀,确定所述域名的网络类型,包括:
判断所述域名后缀是否与预设后缀相同;
若相同,则确定出所述域名的网络类型为所述局域网类型;
若不同,则确定出所述域名的网络类型为所述广域网类型。
在一种可能的实施方式中,若所述网络类型为局域网类型,则所述网络信息还包括第一端口号码;
所述采用与所述网络类型对应的预设查询方式查询所述网络信息,包括:
从本地缓存中,查询所述服务提供端的网络地址,以及从预设的映射数据库中,查询所述服务提供端的第一端口号码;
所述服务调用方法还包括:
将所述第一端口号码发送至所述服务请求端,以供所述服务请求端根据所述网络地址和所述第一端口号码通过所述调用服务工具访问所述服务提供端。
在一种可能的实施方式中,若所述网络类型为广域网类型;
所述采用与所述网络类型对应的预设查询方式查询所述网络信息,包括:
从域名解析服务器中,查询与所述域名对应的所述网络地址。
在一种可能的实施方式中,所述服务调用方法还包括:
在没有查询到所述网络信息后,将查询失败的提醒信息发送至所述服务请求端。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行上述第二方面或第二方面中任一种可能的实施方式中所述的服务调用方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第二方面或第二方面中任一种可能的实施方式中所述的服务调用方法的步骤。
本申请实施例中,服务调用系统包括服务请求端、服务提供端、服务提供端的调用服务工具和命名代理模块,由于本申请中的命名代理模块包括域名解析代理单元,所以服务请求端可以直接通过调用服务工具与命名代理模块建立连接,而无需使用语言服务工具,这样,可以降低开发代价,而且服务请求端通过调用服务工具可以直接向命名代理模块发送针对服务提供端的域名解析服务请求,并通过接收到的域名解析代理单元发送的服务提供端的网络信息,可以实现对服务提供端的访问,由于只用到调用服务工具进行操作,可以降低服务调用的操作复杂度。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种服务调用系统的结构示意图;
图2示出了本申请实施例所提供的一种服务调用方法的流程图;
图3示出了本申请实施例所提供的另一种服务调用方法的流程图;
图4示出了本申请实施例所提供的一种电子设备的结构示意图。
主要元件符号说明:
图中:1-服务调用系统;10-服务请求端;20-服务提供端;30-调用服务工具;40-命名代理模块;41-域名解析代理单元;400-电子设备;410-处理器;420-存储器;430-总线。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中的附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“服务调用”,给出以下实施方式,对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。
本申请实施例下述系统、方法、电子设备或计算机可读存储介质可以应用于任何需要进行服务调用的场景,本申请实施例并不对具体的应用场景作限制,任何使用本申请实施例提供的种服务调用系统、方法、电子设备及可读存储介质的方案均在本申请保护范围内。
值得注意的是,在本申请提出之前,现有方案中的命名代理模块包括超文本传输协议单元,通常采取的服务调用方式为服务请求端通过语言服务工具与超文本传输协议单元建立连接,进而服务请求端通过语言服务工具获取服务提供端的网络信息,再根据网络信息通过调用服务工具建立与服务提供端之间的网络通信连接,以实现对服务提供端的访问。采用上述方式,由于要用到语言服务工具和调用服务工具两种工具,语言服务工具负责与超文本传输协议单元进行交互,调用服务工具负责与服务提供端进行交互,这样,就使得服务调用的操作复杂,而且对于不同编程语言的服务请求端,都需要使用对应编程语言的语言服务工具来获取网络信息,即需要开发多种编程语言的语言服务工具,使得开发代价大大提高。
针对上述问题,服务调用系统包括服务请求端、服务提供端、服务提供端的调用服务工具和命名代理模块,由于本申请中的命名代理模块包括域名解析代理单元,所以服务请求端可以直接通过调用服务工具与命名代理模块建立连接,而无需使用语言服务工具,这样,可以降低开发代价,而且服务请求端通过调用服务工具可以直接向命名代理模块发送针对服务提供端的域名解析服务请求,并通过接收到的域名解析代理单元发送的服务提供端的网络信息,可以实现对服务提供端的访问,由于只用到调用服务工具进行操作,可以降低服务调用的操作复杂度。
需要说明的是,域名解析协议(domainnamesystem,dns),是互联网的一项服务,它作为将域名和ip地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用去记住能够被机器直接读取的网络地址;超文本传输协议(hypertexttransferprotocol,http),是一个简单的请求-响应协议,它通常运行在传输控制协议(transmissioncontrolprotocol,tcp)之上,它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
为便于对本申请进行理解,下面结合具体实施例对本申请提供的技术方案进行详细说明。
图1为本申请实施例所提供的一种服务调用系统1的结构示意图。如图1所示,本申请实施例提供的服务调用系统1包括服务请求端10、服务提供端20、所述服务提供端20的调用服务工具30和命名代理模块40,所述命名代理模块40包括域名解析代理单元41。
所述服务请求端10,用于通过所述调用服务工具30向所述命名代理模块40发送针对所述服务提供端20的域名解析服务请求;
所述域名解析代理单元41,用于在接收到所述服务请求端10发送的所述域名解析服务请求后,基于所述域名解析服务请求,查询所述服务提供端20的网络信息,若查询出所述网络信息,则将所述网络信息发送至所述服务请求端10;所述网络信息包括网络地址;
所述服务请求端10,还用于在接收到所述域名解析代理单元41发送的所述网络信息后,根据所述网络信息通过所述调用服务工具30访问所述服务提供端20。
在具体实施中,服务请求端10通过调用服务工具30向命名代理模块40发送针对服务请求端10的域名解析服务请求,这里,域名解析请求即获取服务提供端20的网络信息的请求;域名解析代理单元41在接收到服务请求端10发送的域名解析服务请求后,通过域名解析服务请求,对服务提供端20的网络信息进行查询,若查询到了服务请求端10的网络信息,将网络信息发送给服务请求端10;进一步地,服务请求端10在接收到域名解析单元发送的网络信息后,可以使用网络信息对服务提供端20进行访问,具体地,服务请求端10需要通过针对服务提供端20的调用服务工具30对服务提供端20进行访问。
这里,服务调用系统1是用来实现服务之间互相调用的系统,这里,服务调用系统1可以包括至少一个服务请求端10、至少一个服务提供端20、至少一个服务提供端20的调用服务工具30和一个命名代理模块40,其中,服务请求端10为请求服务调用的一方服务,服务提供端20为提供服务调用的一方服务,服务比如mysql数据库服务、redis缓存服务、elasticsearch检索服务等等,调用服务工具30为与对应的服务提供端20进行交互的工具,对于不同的服务提供端20,由于调用服务工具30要按照服务提供端20的特定交互协议,因此,要使用对应的调用服务工具30来服务提供端20的应用编程接口进行访问,即服务请求端10需要使用对应不同的调用服务工具30才能与不同的服务提供端20进行交互,命名代理模块40供服务请求端10查询服务提供端20的网络信息。
需要说明的是,本申请在命名代理模块40中增设域名解析代理单元41,由于调用服务工具30支持域名解析协议,所以,调用服务工具30可以直接与增设的域名解析代理单元41进行交互,这样,服务请求端10可以通过调用服务工具30从命名代理模块40中的域名解析代理单元41获取到服务提供端20的网络信息,而不再需要语言服务工具,可以降低开发代价,而且服务请求端10还可以使用网络信息通过调用服务工具30访问服务提供端20,也就是说,本申请中的调用服务工具30不但可以与服务提供端20进行交互,还可以与命名代理模块40进行交互,可以降低服务调用的操作复杂度。
现有技术中,常规的命名代理模块40只包括超文本传输协议单元,而不包括域名解析代理单元41,而且,语言服务工具支持http协议,调用服务工具30不支持http协议,但支持域名解析协议,故服务请求端10通过语言服务工具可以与命名代理模块40按照http协议进行交互,而调用服务工具30不能直接与命名代理模块40进行交互,具体地,服务请求端10在通过语言服务工具从超文本传输协议单元获取到服务提供端20的网络信息后,还需要使用网络信息通过调用服务工具30访问服务提供端20,由于要用到语言服务工具和调用服务工具30两种工具,这样,就使得服务调用的操作复杂,而且对于不同编程语言的服务请求端10,都需要使用对应编程语言的语言服务工具来获取网络信息,即需要开发多种编程语言的语言服务工具,使得开发代价大大提高。
需要说明的是,服务请求端10本身也是一种服务,也可以提供服务,服务提供端20也可以向其他服务端请求调用服务;网络信息包括网络地址,网络地址可以理解为服务提供端20的一种标识,这里的网络地址指ip地址,ip地址比如208.80.152.2;调用服务工具30和语言服务工具均为软件开发工具包(softwaredevelopmentkit,sdk),一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合,不同的软件开发工具包具有不同的功能,这里,调用服务工具30用于与对应的服务提供端20进行交互。
在本申请实施例中,服务调用系统1包括服务请求端10、服务提供端20、服务提供端20的调用服务工具30和命名代理模块40,由于本申请中的命名代理模块40包括域名解析代理单元41,所以服务请求端10可以直接通过调用服务工具30与命名代理模块40建立连接,而无需使用语言服务工具,这样,可以降低开发代价,而且服务请求端10通过调用服务工具30可以直接向命名代理模块40发送针对服务提供端20的域名解析服务请求,并通过接收到的域名解析代理单元41发送的服务提供端20的网络信息,可以实现对服务提供端20的访问,由于只用到调用服务工具30进行操作,可以降低服务调用的操作复杂度。
在一种可能实施方式中,所述域名解析代理单元41,用于根据以下步骤查询所述网络信息:
从所述域名解析服务请求中,解析出所述服务提供端20的域名;根据所述域名,查询所述服务提供端20的所述网络信息。
在具体实施中,域名解析代理单元41在接收到服务请求端10发送的域解析服务请求后,对域名解析服务请求进行解析,得到服务提供端20的域名,根据域名与网络信息的对应关系,找到服务提供端20的网络信息,域名比如。
这里,域名又称网域,是由一串用点分隔的名字组成的因特网上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置),由于ip地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(dns,domainnamesystem)来将域名和ip地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的ip地址数串。
在一种可能实施方式中,所述域名解析代理单元41,具体用于根据以下步骤查询所述网络信息:
根据所述域名的域名后缀,确定所述域名的网络类型;采用与所述网络类型对应的预设查询方式查询所述网络信息。
在具体实施中,根据域名可以查询服务提供端20的网络信息,由于不同域名的域名后缀对应的域名的网络类型不同,这里,根据域名的域名后缀来确定出服务提供端20的域名的网络类型,由于不同网络类型的域名对应的服务提供端20的网络信息的存储位置是不同的,故针对不同网络类型的服务提供端20,可以采用不同的预设查询方式对服务提供端20的网络信息进行查询。
这里,若域名为,则对应的域名后缀为“.org”;若域名为,则对应的域名后缀为“.com”,若域名为http://epub.,则对应的域名后缀为“.”。
在一种可能实施方式中,所述网络类型包括局域网类型和广域网类型;所述域名解析代理单元41,用于根据以下步骤确定所述域名的网络类型:
判断所述域名后缀是否与预设后缀相同;若相同,则确定出所述域名的网络类型为所述局域网类型;若不同,则确定出所述域名的网络类型为所述广域网类型。
在具体实施中,将网络类型划分为局域网类型和广域网类型,不同网络类型是根据域名的域名后缀进行区分的,这里,将与预设后缀相同的域名后缀的域名的网络类型确定为局域网类型,与预设后缀不同的域名后缀的域名的网络类型都确定为广域网类型。
其中,预设后缀是预先设置好的,比如,预设后缀可以为“.svc”,局域网类型的域名对应的域名后缀通常是唯一的,而广域网类型的域名对应的域名后缀可以有多种。
这里,根据域名后缀主要将域名分为两类,一类是局域网类型,一类是广域网类型。局域网通俗的说就是内网,局域网相对于广域网而言,主要是指在小范围内的计算机互联网络,这个“小范围”可以是一个家庭,一所学校,一家公司,对于本申请可以为一个公司、企业、家庭、学校的内部网络;广域网通俗的说就是外网,广域网是与因特网相同的,可以访问因特网上的外部资源。
在一种可能实施方式中,若所述网络类型为局域网类型,则所述网络信息还包括第一端口号码;所述域名解析代理单元41,用于从本地缓存中,查询所述服务提供端20的网络地址,以及从预设的映射数据库中,查询所述服务提供端20的第一端口号码,并将所述第一端口号码发送至所述服务请求端10;所述服务请求端10,具体用于根据所述网络地址和所述第一端口号码通过所述调用服务工具30访问所述服务提供端20。
在具体实施中,对于网络类型为局域网类型的域名,除了获取该域名对应的服务提供端20的网络地址,还需要获取服务提供端20的第一端口号码,这里,局域网类型的网络地址存储在本地缓存中,服务提供端20的端口号存储在预设的映射数据库中,具体地,根据服务提供端20的域名,从本地缓存中查询与该域名对应的网络地址,根据服务提供端20的域名,从预设的映射数据库中,查询与该域名对应的第一端口号码,若域名解析代理单元41查询到了服务提供端20的网络地址和第一端口号码,则域名解析代理单元41将服务提供端20的网络地址和第一端口号码一同发送给服务请求端10,这样,服务请求端10使用服务提供端20的网络地址和第一端口号码,并通过调用服务工具30可以对服务提供端20进行访问。
在一种可能实施方式中,若所述网络类型为广域网类型,则所述网络信息还包括第二端口号码,所述第二端口号码为预先设置的;所述域名解析代理单元41,用于从域名解析服务器中,查询与所述域名对应的所述网络地址;所述服务请求端10,具体用于根据所述网络信息和所述第二端口号码通过所述调用服务工具30访问所述服务提供端20。
在具体实施中,对于网络类型为广域网类型的域名,由于广域网类型的域名对应的服务提供端20的第二端口号码是预先设置的,可以理解为是默认的端口号码,比如端口“80”,故只需要获取广域网类型的域名对应的服务提供端20的网络地址,不需要获取服务提供端20的第二端口号码,这里,广域网类型的网络地址存储在域名解析服务器中,具体地,根据服务提供端20的域名,从域名解析服务器中查询与该域名对应的网络地址,若域名解析代理单元41查询到了服务提供端20的网络地址,则域名解析代理单元41只需将服务提供端20的网络地址发送给服务请求端10,这样,服务请求端10使用服务提供端20的网络地址和预设的第二端口号码,并通过调用服务工具30可以对服务提供端20进行访问。
在一种可能实施方式中,所述域名解析代理单元41,还用于在没有查询到所述网络信息后,将查询失败的提醒信息发送至所述服务请求端10。
在具体实施中,由于存在本地缓存中可能没有存储服务提供端20的网络地址,或是,由于解析出的域名非法,无法从域名解析服务器中查找出服务提供端20的网络地址的情况,若域名解析代理单元41没有查询到服务提供端20的网络信息,则将查询失败的提醒信息发送给服务请求端10,本次服务调用操作失败,结束进程。
基于同一申请构思,本申请实施例中还提供了与上述提供的服务调用系统对应的服务调用方法,由于本申请实施例中的方法解决问题的原理与本申请上述实施例提供的服务调用系统相似,因此方法的实施可以参见方系统的实施,重复之处不再赘述。
图2为本申请实施例所提供的一种服务调用方法的流程图。如图2所示,本申请实施例提供的服务调用方法包括以下步骤:
s201:接收服务请求端通过服务提供端的调用服务工具发送的针对所述服务提供端的域名解析服务请求。
s202:基于所述域名解析服务请求,查询所述服务提供端的网络信息;所述网络信息包括网络地址。
s203:若查询出所述网络信息,则将所述网络信息发送至所述服务请求端,以供所述服务请求端根据所述网络信息通过所述调用服务工具访问所述服务提供端。
在具体实施中,在接收到服务请求端通过服务提供端的调用服务工具发送的针对服务提供端的域名解析服务请求之后,即在接收到获取服务提供端的网络信息的请求后,基于域名解析服务请求,对服务提供端的网络信息进行查询,并在查询出该网络信息之后,将该网络信息发送给服务请求端。这样,服务请求端就可以通过网络信息对服务请求端进行访问。
在本申请实施例中,在接收到服务请求端针对服务提供端的域名解析服务请求后,通过域名解析服务请求,对服务提供端的网络信息进行查询,并在查询到网络信息后,将网络信息发送给服务请求端,以供服务请求端使用网络信息对服务提供端进行访问。基于上述方式,可以快速的查询出网络信息,进而可以提升服务请求端对服务提供端的访问效率。
图3为本申请实施例所提供的另一种服务调用方法的流程图。如图3所示,本申请实施例提供的服务调用方法包括以下步骤:
s301:接收服务请求端通过服务提供端的调用服务工具发送的针对所述服务提供端的域名解析服务请求。
其中,s301的描述可以参照s201的描述,并且能达到相同的技术效果,对此不做赘述。
s302:从所述域名解析服务请求中,解析出所述服务提供端的域名。
在具体实施中,在接收到服务请求端发送的域解析服务请求后,对域名解析服务请求进行解析,得到服务提供端的域名,域名比如。
s303:根据所述域名,查询所述服务提供端的所述网络信息。
在具体实施中,根据域名与网络信息的对应关系,找到服务提供端的网络信息,网络信息包括网络地址。
进一步地,步骤s303中,根据所述域名,查询所述服务提供端的所述网络信息,包括以下步骤:
步骤a:根据所述域名的域名后缀,确定所述域名的网络类型。
在具体实施中,根据域名可以查询服务提供端的网络信息,由于不同域名的域名后缀对应的域名的网络类型不同,这里,根据域名的域名后缀来确定出服务提供端的域名的网络类型。
步骤b:采用与所述网络类型对应的预设查询方式查询所述网络信息。
在具体实施中,由于不同网络类型的域名对应的服务提供端的网络信息的存储位置是不同的,故针对不同网络类型的服务提供端,可以采用不同的预设查询方式对服务提供端的网络信息进行查询。
其中,网络类型包括局域网类型和广域网类型。
进一步地,步骤a中根据所述域名的域名后缀,确定所述域名的网络类型,包括以下步骤:
判断所述域名后缀是否与预设后缀相同;若相同,则确定出所述域名的网络类型为所述局域网类型;若不同,则确定出所述域名的网络类型为所述广域网类型。
在具体实施中,将网络类型划分为局域网类型和广域网类型,不同网络类型是根据域名的域名后缀进行区分的,这里,将与预设后缀相同的域名后缀的域名的网络类型确定为局域网类型,与预设后缀不同的域名后缀的域名的网络类型都确定为广域网类型。
其中,预设后缀是预先设置好的,局域网类型的域名对应的域名后缀通常是唯一的,而广域网类型的域名对应的域名后缀可以有多种。
进一步地,根据不同的网络类型对应的域名,采用以下两种预设查询方式对该域名对应的服务提供端的网络信息进行查询:
方式一:若所述网络类型为局域网类型,则所述网络信息还包括第一端口号码;从本地缓存中,查询所述服务提供端的网络地址,以及从预设的映射数据库中,查询所述服务提供端的第一端口号码。
在具体实施中,对于网络类型为局域网类型的域名,除了获取该域名对应的服务提供端的网络地址,还需要获取服务提供端的第一端口号码,这里,局域网类型的网络地址存储在本地缓存中,服务提供端的端口号存储在预设的映射数据库中,具体地,根据服务提供端的域名,从本地缓存中查询与该域名对应的网络地址,根据服务提供端的域名,从预设的映射数据库中,查询与该域名对应的第一端口号码,若查询到了服务提供端的网络地址和第一端口号码,则将服务提供端的网络地址和第一端口号码一同发送给服务请求端,以供服务请求端使用服务提供端的网络地址和第一端口号码,并通过调用服务工具对服务提供端进行访问。
方式二:若所述网络类型为广域网类型;从域名解析服务器中,查询与所述域名对应的所述网络地址。
在具体实施中,对于网络类型为广域网类型的域名,由于广域网类型的域名对应的服务提供端的第二端口号码是预先设置的,可以理解为是默认的端口号码,比如端口“80”,故只需要获取广域网类型的域名对应的服务提供端的网络地址,不需要获取服务提供端的第二端口号码,这里,广域网类型的网络地址存储在域名解析服务器中,具体地,根据服务提供端的域名,从域名解析服务器中查询与该域名对应的网络地址,若查询到了服务提供端的网络地址,则只需将服务提供端的网络地址发送给服务请求端,以供服务请求端使用服务提供端的网络地址和预设的第二端口号码,并通过调用服务工具对服务提供端进行访问。
s304:若查询出所述网络信息,则将所述网络信息发送至所述服务请求端,以供所述服务请求端根据所述网络信息通过所述调用服务工具访问所述服务提供端。
其中,s304的描述可以参照s203的描述,并且能达到相同的技术效果,对此不做赘述。
在一种可能实施方式中,所述服务调用方法还包括:在没有查询到所述网络信息后,将查询失败的提醒信息发送至所述服务请求端。
在具体实施中,由于存在本地缓存中可能没有存储服务提供端的网络地址,或是,由于解析出的域名非法,无法从域名解析服务器中查找出服务提供端的网络地址的情况,若没有查询到服务提供端的网络信息,则将查询失败的提醒信息发送给服务请求端,本次服务调用操作失败,结束进程。
基于同一申请构思,参见图4所示,为本申请实施例提供的一种电子设备400的结构示意图,包括:处理器410、存储器420和总线430,所述存储器420存储有所述处理器410可执行的机器可读指令,当电子设备400运行时,所述处理器410与所述存储器420之间通过所述总线430进行通信,所述机器可读指令被所述处理器410运行时执行上述任一所述的服务调用方法的步骤。
具体地,所述机器可读指令被所述处理器410执行时可以执行如下处理:
接收服务请求端通过服务提供端的调用服务工具发送的针对所述服务提供端的域名解析服务请求;
基于所述域名解析服务请求,查询所述服务提供端的网络信息;所述网络信息包括网络地址;
若查询出所述网络信息,则将所述网络信息发送至所述服务请求端,以供所述服务请求端根据所述网络信息通过所述调用服务工具访问所述服务提供端。
本申请实施例中,在接收到服务请求端针对服务提供端的域名解析服务请求后,通过域名解析服务请求,对服务提供端的网络信息进行查询,并在查询到网络信息后,将网络信息发送给服务请求端,以供服务请求端使用网络信息对服务提供端进行访问。基于上述方式,可以快速的查询出网络信息,进而可以提升服务请求端对服务提供端的访问效率。
基于同一申请构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述提供的服务调用方法的步骤。
具体地,所述存储介质能够为通用的存储介质,如移动磁盘、硬盘等,所述存储介质上的计算机程序被运行时,能够执行上述服务调用方法,可以在降低服务调用的操作复杂度同时,还可以降低开发代价。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种服务调用系统,其特征在于,所述服务调用系统包括服务请求端、服务提供端、所述服务提供端的调用服务工具和命名代理模块,所述命名代理模块包括域名解析代理单元;其中,
所述服务请求端,用于通过所述调用服务工具向所述命名代理模块发送针对所述服务提供端的域名解析服务请求;
所述域名解析代理单元,用于在接收到所述服务请求端发送的所述域名解析服务请求后,基于所述域名解析服务请求,查询所述服务提供端的网络信息,若查询出所述网络信息,则将所述网络信息发送至所述服务请求端;所述网络信息包括网络地址;
所述服务请求端,还用于在接收到所述域名解析代理单元发送的所述网络信息后,根据所述网络信息通过所述调用服务工具访问所述服务提供端。
2.根据权利要求1所述的服务调用系统,其特征在于,所述域名解析代理单元,用于根据以下步骤查询所述网络信息:
从所述域名解析服务请求中,解析出所述服务提供端的域名;
根据所述域名,查询所述服务提供端的所述网络信息。
3.根据权利要求2所述的服务调用系统,其特征在于,所述域名解析代理单元,具体用于根据以下步骤查询所述网络信息:
根据所述域名的域名后缀,确定所述域名的网络类型;
采用与所述网络类型对应的预设查询方式查询所述网络信息。
4.根据权利要求3所述的服务调用系统,其特征在于,所述网络类型包括局域网类型和广域网类型;所述域名解析代理单元,用于根据以下步骤确定所述域名的网络类型:
判断所述域名后缀是否与预设后缀相同;
若相同,则确定出所述域名的网络类型为所述局域网类型;
若不同,则确定出所述域名的网络类型为所述广域网类型。
5.根据权利要求3所述的服务调用系统,其特征在于,若所述网络类型为局域网类型,则所述网络信息还包括第一端口号码;
所述域名解析代理单元,用于从本地缓存中,查询所述服务提供端的网络地址,以及从预设的映射数据库中,查询所述服务提供端的第一端口号码,并将所述第一端口号码发送至所述服务请求端;
所述服务请求端,具体用于根据所述网络地址和所述第一端口号码通过所述调用服务工具访问所述服务提供端。
6.根据权利要求3所述的服务调用系统,其特征在于,若所述网络类型为广域网类型,则所述网络信息还包括第二端口号码,所述第二端口号码为预先设置的;
所述域名解析代理单元,用于从域名解析服务器中,查询与所述域名对应的所述网络地址;
所述服务请求端,具体用于根据所述网络信息和所述第二端口号码通过所述调用服务工具访问所述服务提供端。
7.根据权利要求1所述的服务调用系统,其特征在于,所述域名解析代理单元,还用于在没有查询到所述网络信息后,将查询失败的提醒信息发送至所述服务请求端。
8.一种服务调用方法,其特征在于,所述服务调用方法包括:
接收服务请求端通过服务提供端的调用服务工具发送的针对所述服务提供端的域名解析服务请求;
基于所述域名解析服务请求,查询所述服务提供端的网络信息;所述网络信息包括网络地址;
若查询出所述网络信息,则将所述网络信息发送至所述服务请求端,以供所述服务请求端根据所述网络信息通过所述调用服务工具访问所述服务提供端。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求8所述的服务调用方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求8所述的服务调用方法的步骤。
技术总结
本申请涉及一种服务调用系统、方法、电子设备及可读存储介质,其中,服务调用系统包括服务请求端、服务提供端、服务提供端的调用服务工具和命名代理模块,由于本申请中的命名代理模块包括域名解析代理单元,所以服务请求端可以直接通过调用服务工具与命名代理模块建立连接,而无需使用语言服务工具,这样,可以降低开发代价,而且服务请求端通过调用服务工具可以直接向命名代理模块发送针对服务提供端的域名解析服务请求,并通过接收到的域名解析代理单元发送的服务提供端的网络信息,可以实现对服务提供端的访问,由于只用到调用服务工具进行操作,可以降低服务调用的操作复杂度。
技术研发人员:李昊
受保护的技术使用者:北京顺丰同城科技有限公司
技术研发日:.11.14
技术公布日:.02.28