应用功能的调用方法、装置、终端设备及存储介质与流程
未命名
10-19
阅读:119
评论:0
1.本技术实施例属于软件技术领域,特别是涉及一种应用功能的调用方法、装置、终端设备及存储介质。
背景技术:
2.在软件领域中,为了减少应用程序在电子设备上的占用空间,开发人员常将应用程序中通用的公用组件存储在服务器端,且为了更好地管理用户数据,开发人员常用专门的公用数据库存储用户数据。当应用程序执行某一应用功能,且该应用功能需要通过公用组件或用户数据才能实现时,应用程序需要调用服务器端的公用组件或调用公用数据库获取用户数据。在相关技术中,应用程序常通过两种方式调用公用组件或公用数据库。
3.方式一,通过应用程序中的调用代码实现调用;但是该方式中调用实现与应用程序内的调用代码绑定,因此当公用组件或公用数据库更新后,必须对应用程序中的调用代码进行同步更新才能保证应用程序的调用功能,调用代码的维护成本较大。
4.方式二,将各个公用组件或公用数据库分布至不同的微服务器,当应用程序需要调用公用组件或公用数据库时,通过特定的api接口与相应的微服务器进行通信以调用微服务器上的公用组件或公用数据库。但由于该方式中应用程序的各种功能是通过多个微服务器组成的微服务框架实现的,因此当开发者向对微服务框架进行更新时,需要同时对所有微服务器进行更新,运维成本较高。
5.综上所述,现有的公用组件或公用数据库的调用方法运维成本都较高。
技术实现要素:
6.有鉴于此,本技术实施例提供了一种应用功能的调用方法、装置、终端设备及存储介质,用以降低开发者对于目标应用的调用关系的运维成本。
7.本技术实施例的第一方面提供了一种应用功能的调用方法,包括:
8.响应于目标应用中任一调用功能发起的功能调用请求,从预设的地址列表中确定所述功能调用请求对应的目标地址和所述目标地址对应的请求类型;所述目标地址为提供所述功能调用请求对应的数据调用服务的服务节点的地址;所述调用功能为所述目标应用中通过调用服务节点实现的应用功能;
9.基于所述目标地址对应的请求类型和所述功能调用请求中的请求参数生成调用请求;
10.根据所述目标地址向所述目标地址对应的服务节点发送所述调用请求;
11.接收所述服务节点基于所述调用请求返回的响应数据,并调用所述目标应用使用所述响应数据响应所述调用功能对应的操作指令。
12.本技术实施例的第二方面提供了一种应用功能的调用装置,包括:
13.确定模块,用于响应于目标应用中任一调用功能发起的功能调用请求,从预设的地址列表中确定所述功能调用请求对应的目标地址和所述目标地址对应的请求类型;所述
目标地址为提供所述功能调用请求对应的数据调用服务的服务节点的地址;所述调用功能为所述目标应用中通过调用服务节点实现的应用功能;
14.请求生成模块,用于基于所述目标地址对应的请求类型和所述功能请求中的请求参数生成调用请求;
15.发送模块,用于根据所述目标地址向所述目标地址对应的服务节点发送所述调用请求;
16.响应模块,用于接收所述服务节点基于所述调用请求返回的响应数据,并调用所述目标应用使用所述响应数据响应所述调用功能对应的操作指令。
17.本技术实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的应用功能的调用方法。
18.本技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的应用功能的调用方法。
19.本技术实施例的第五方面提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述第一方面所述的应用功能的调用方法。
20.与现有技术相比,本技术实施例具有以下优点:
21.本技术实施例,电子设备可以响应于目标应用中任一调用功能发起的功能调用请求,从预设的地址列表中确定该功能调用请求对应的目标地址;电子设备还可以通过地址列表确定目标地址对应的请求类型;其中,适配器模块确定的目标地址用于确定功能调用请求提供数据调用服务的任一服务节点的地址;目标应用上的调用功能可以为目标应用上需要通过调用服务节点实现的应用功能;电子设备上的适配器模块确定目标地址后,可以根据目标地址对应的请求类型和功能调用请求中的请求参数生成调用请求;电子设备生成调用请求后,可以通过适配器模块根据功能调用请求对应的目标地址向目标地址对应的服务节点发送调用请求,以获取服务节点提供的数据调用服务;电子设备发送调用请求后,可以通过适配器模块接收服务节点基于调用请求返回的响应数据;而后,电子设备可以调用目标应用使用接收到的响应数据响应调用功能对应的操作指令,以在目标应用上完成改调用功能。通过本实施例提供的方法,当用户需要使用目标应用上的调用功能时,电子设备可以通过适配器模块生成相应的调用请求,并向相应的服务节点发送该调用请求,以调用服务节点上的数据执行调用功能。因此,通过本实施例提供的方法,由于目标应用可以通过调用请求获取服务节点提供的数据调用服务,因此开发者可以将公用组件或公用数据库部署在独立于目标应用的任一服务节点中,实现公用组件或公用数据库与目标应用之间的解耦,使得开发者可以单独对目标应用或服务节点进行运营维护,因此可以大大减少开发者对目标应用的各种调用关系的管理工作。
附图说明
22.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附
图获得其他的附图。
23.图1是本技术第一实施例提供的一种应用功能的调用方法的示意图;
24.图2是本技术实施例提供的一种目标应用调用服务节点的关系示意图;
25.图3是本技术第二实施例提供的一种应用功能的调用方法s101的具体实现流程图;
26.图4是本技术第三实施例提供的一种应用功能的调用方法s103的具体实现流程图;
27.图5是本技术第四实施例提供的一种应用功能的调用方法s101的具体实现流程图;
28.图6是本技术第五实施例提供的一种应用功能的调用方法s104的具体实现流程图;
29.图7是本技术第六实施例提供的一种应用功能的调用方法s104的具体实现流程图;
30.图8是本技术第七实施例提供的另一种应用功能的调用方法的具体实现流程图;
31.图9是本技术实施例提供的一种应用功能的调用装置的示意图;
32.图10是本技术实施例提供的一种应用功能的调用装置的示意图;
33.图11是本技术实施例提供的一种终端设备的示意图。
具体实施方式
34.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本技术。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
35.下面通过具体实施例来说明本技术的技术方案。
36.实施例一:
37.参照图1,示出了本技术实施例提供的一种应用功能的调用方法的示意图,上述调用方法可以应用于安装有目标应用的电子设备上,其中,该电子设备可以是笔记本电脑、平板电脑、智能手机等可以安装目标应用的电子设备。所述应用功能的调用方法具体可以包括如下步骤:
38.s101、响应于目标应用中任一调用功能发起的功能调用请求,从预设的地址列表中确定所述功能调用请求对应的目标地址和所述目标地址对应的请求类型;所述目标地址为提供所述功能请求对应的数据调用服务的服务节点的地址;所述调用功能为所述目标应用中通过调用服务节点实现的应用功能。
39.在本实施例中,当用户需要使用目标应用上的某个应用功能时,响应于用户发起的运行指令,电子设备可以运行目标应用,并在显示模块中显示目标应用的应用界面。用户可以通过点击应用界面上的功能控件的方式使用目标应用上的各个应用功能。响应于用户对某一功能控件的点击操作,目标应用可以先判断用户需要使用的应用功能是否为目标应用上的调用功能。其中,调用功能为目标应用上需要调用服务节点,并结合服务节点反馈响应数据才能完成响应的应用功能。若目标设备判定用户当前需要使用的应用功能为调用功
能,则目标设备可以通过该调用功能的调用功能模块向目标应用上的适配器模块发起功能调用请求。
40.在一种可能的实现方式中,若目标应用判定用户当前使用的应用功能不是调用功能,则目标应用可以直接调用应用功能对应的功能模块响应该应用功能对应的操作指令。
41.电子设备上的适配器模块在接收到功能调用请求后,响应于调用功能发起的功能调用请求,可以从预设的地址列表中确定该功能调用请求对应的目标地址和该目标地址对应的请求类型。其中,地址列表中存储着多个服务节点的地址,地址列表中的各个服务节点是可以提供各种功能调用请求对应的数据调用服务的节点,各个服务节点的地址可以通过ip地址或端口的形式表示。
42.在一种可能的实现方式中,调用功能发起的功能调用请求中可以包含需要调用的数据调用服务对应的调用标签,其中,调用标签中可以包含该调用功能需要使用的数据调用服务的服务名称。适配器模块可以根据调用标签中的服务名称从地址列表中确定出可以提供调用标签对应的数据调用服务的服务节点,并将该服务节点对应的地址作为目标地址。需要说明的是,在本实施例中,同一服务节点可以提供多种不同的数据调用服务,同一种数据调用服务也可以由多个不同的服务节点提供,各个服务节点可以与目标应用的服务器存在于同一节点集群中,各个服务节点也可以与目标应用的服务器存在于不同的节点集群中。通过多个不同的服务节点提供相同的数据调用服务可以有效避免出现单点故障的情况,有利于保障系统的稳定运行。而在一个服务节点上部署不同的数据调用服务则可以最大化地各个服务节点的资源,有助于减少系统成本。
43.在一种可能的实现方式中,目标应用可以与适配器模块部署在不同的电子设备上。目标应用可以安装在用户设备上,目标应用对应的适配器模块还可以部署在目标应用的服务器上。当目标应用上的调用功能需要调用服务节点上的数据时,目标应用可以通过用户设备向服务器发送功能调用请求。当开发者将适配器模块部署在服务器上时,由于适配器模块独立于用户设备而存在,因此当开发者需要对适配器模块进行运营维护时,可以只对服务器上的适配器模块进行运营维护,可以进一步减少运维成本。适配器模块还可以作为目标应用中的一个模块与目标应用一起部署在用户设备上。当适配器模块与目标应用一起部署在用户设备上时,由于目标应用可以直接在用户设备上调用适配器模块,因此可以加快系统的运行效率。
44.在一种可能的实现方式中,当适配器模块部署在服务器上时,适配器模块还可以用于为多种不同的目标应用生成调用请求。在该情况下,目标应用通过用户设备向服务器发送的功能调用请求中可以包含目标应用对应的应用标签。适配器接收到功能调用请求后,可以先根据应用标签确定发送该功能调用请求的目标应用。适配器模块可以根据应用标签从存储的多个不同的地址列表中确定出该目标应用对应的目标地址列表,并根据目标地址列表为目标应用生成调用请求。
45.在一种可能的实现方式中,若地址列表中存在多个地址满足功能调用请求对应的数据调用服务,则适配器模块还可以通过其载均衡算法从地址列表中确定出目标地址。其中适配器模块使用的负载均衡算法可以包括但不限于轮询算法、加权轮询算法、随机算法、源地址哈希算法等多种负载均衡算法。
46.s102、基于所述目标地址对应的请求类型和所述功能调用请求中的请求参数生成
调用请求。
47.在本实施例中,电子设备上的适配器模块在确定功能调用请求对应的目标地址和请求类型后,可以根据目标地址对应的请求类型和功能调用请求中的请求参数生成调用请求。
48.例如,当用户需要使用目标应用上的历史订单查询功能时,目标应用上的历史订单查询模块可以将用户输入的查询条件作为请求参数生成功能调用请求,并将功能调用请求发送至适配器模块。其中请求参数中可以包含如查询的时间范围,查询的订单类型、查询的关键字等多种查询条件。适配器模块可以根据存储历史订单数据的数据库所在服务节点对应的请求类型和请求参数生成用于历史订单数据的调用请求。
49.例如,当目标应用中的某个调用功能需要使用加密库中的加密函数encrypt()进行加密时,适配器模块可以通过模块中的加密调用函数encryptadapter(),根据预先设定好的该加密库对应的加密请求类型将调用功能请求中的请求参数封装为一个加密调用请求。
50.在一种可能的实现方式中,目标地址对应的请求类型可以由开发者根据目标应用使用的程序语言、服务节点上使用的程序语言、服务节点上数据的调用方法和目标应用和服务节点间约定的数据结构等相关信息确定,即相同的目标地址在使用不同的服务节点时,目标地址对应请求类型可以是不同的。不同的目标应用在使用相同的服务节点时,目标地址对应请求类型也可以是不同的。即,不同目标应用对应的适配器模块中存储的请求类型可以是不同的,适配器模块与目标应用是一一对应的,一种目标应用可以对应于一种适配器模块。例如,若存储历史订单数据的数据库所使用的程序语言为结构查询语言(即sql语言),目标应用所使用的程序语言为java语言时,适配器可以根据java语言确定功能调用请求中的请求参数,然后再根据预先设定的数据结构和请求参数通过sql语言生成调用请求。
51.s103、根据所述目标地址向所述目标地址对应的服务节点发送所述调用请求。
52.在本实施例中,电子设备上的适配器模块在生成调用请求后,可以根据目标地址向目标地址对应的服务节点发送该调用请求。
53.s104、接收所述服务节点基于所述调用请求返回的响应数据,并调用所述目标应用使用所述响应数据响应所述调用功能对应的操作指令。
54.在本实施例中,电子设备上的适配器模块向服务节点发送调用请求后,可以接收服务节点基于调用请求返回的响应数据。适配器模块还可以调用目标应用,以使目标应用使用响应数据响应调用功能对应的操作指令。
55.如图2所示,为本实施例提供的一种目标应用调用服务节点的关系示意图。参照图2,开发者可以将访问量较低的公用组件或公用数据库部署在目标应用的服务器上,使得目标应用的服务器也成为服务节点,为目标应用提供数据调用服务,以提高系统的资源利用率。开发者还可以将访问量较大的公用组件或公用数据库部署在独立服务器上,以保证服务节点的正常运行。如图2所示,第一服务器上的第一目标应用与第二服务器上的第二目标应用可以为不同的目标应用。当第一目标应用需要获取存储在第二公用数据库中的数据时,第一目标应用可以通过第一服务器上的适配器模块生成第一调用请求,并根据第二服务器的地址将第一调用请求发送至第二服务器上。第二服务器接收到第一调用请求后,可
以根据第一调用请求在第二公用数据库中进行查询,并将查询结果以第一响应数据的方式返回至第一服务器,以使第一目标应用可以使用第一响应数据完成调用功能的操作指令。因此,通过适配器模块电子设备上的目标应用不仅可以获取所在服务器上提供的数据调用服务,还可以获取部署在其他服务器上的数据调用服务。
56.在本实施例中,由于目标应用可以通过适配器模块对不同的服务节点生成不同的调用请求,并通过远程发送调用请求的方式调用服务节点提供的数据调用服务,并根据服务节点返回的响应数据执行相应的应用功能。因此,通过本实施例提供的方法,可以将公用组件或公用数据库部署在独立于目标应用的服务节点中,并且无需通过预设的调用程序或api接口调用,因此可以简化开发者对于目标应用的各种调用关系的管理。此外,本实施例提供的方法,使得目标应用和各个服务节点都能独立进行运营维护,因此可以减少系统大大减少系统的运维成本和目标应用的停机时间。
57.图3示出了本技术第二实施例提供的一种应用功能的调用方法s101的具体实现流程图。参照图3,相较于图1所述实施例,本实施例提供的一种应用功能的调用方法中s101之前,包括:s1011~s1013,具体详述如下:
58.s1011、响应于目标应用的运行指令,生成关于目标应用中所有调用功能的地址查询指令。
59.在本实施例中,当电子设备上的适配器模块检测到目标应用开始运行时,响应与目标应用的运行指令,可以生成关于目标应用中所有调用功能的地址查询指令。
60.在一种可能的实现方式中,若适配器模块与目标应用一起部署在用户设备上,则当用户通过点击用户设备上的目标应用控件的方式运行目标应用后,目标应用中的适配器模块可以根据目标应用中各个功能模块对应的类型标签确认目标应用中的多个调用功能,并根据目标应用上的所有调用功能生成地址查询指令。
61.在一种可能的实现方式中,若适配器模块与目标应用部署于不同的电子设备上,即适配器模块部署于服务器上且目标应用部署于用户设备上,则当用户通过点击用户设备上的目标应用控件的方式运行目标应用时,目标应用可以生成运行指令,并通过用户设备将生成的运行指令发送至服务器。目标应用发送的运行指令上可以包含该目标应用对应的应用标签,服务器上的适配器模块可以根据运行指令中的应用标签在系统上查询该目标应用上包含的多个调用功能,并根据该目标应用上的所有调用功能生成地址查询指令,以获取能为目标应用上的任一调用功能提供数据调用服务的服务节点的地址。
62.s1012、向功能管理系统发送所述地址查询指令,以确定每个所述调用功能对应的所述服务节点的所述地址;所述功能管理系统用于管理多个所述服务节点。
63.在本实施例中,电子设备上的适配器模块生成地址查询指令后,可以向功能管理系统发送该地址查询指令,用以确定各个调用功能需要使用的数据调用服务对应的服务节点的地址。其中,功能管理系统中可以包含集群内外多个可以为目标应用提供数据调用服务的服务节点对应的地址、各个服务节点的名称、各个服务节点的节点状态等多种节点信息。开发者可以通过功能管理系统对多个服务节点进行管理。
64.在一种可能的实现方式中,适配器模块向功能管理系统发送的地址查询指令中可以包含目标应用上所有调用功能对应的功能标签。功能管理系统在接收到地址查询指令后,可以根据地址查询指令中包含的所有功能标签查询出可以提供相应的数据调用服务的
多个服务节点。功能管理系统可以根据查询到的各个服务节点的节点名称、各个服务节点对应的请求类型、各个服务节点的地址和各个服务节点的节点状态生成地址列表,并将地址列表发送至发起该地址查询指令的适配器模块。
65.s1013、接收并存储所述功能管理系统基于所述地址查询指令反馈的所述地址列表。
66.在本实施例中,电子设备上的适配器模块向功能管理系统发送地址查询指令后,可以接收并存储功能管理系统基于地址查询指令反馈的地址列表。适配器模块可以在接收到调用功能发起的功能调用请求后,在存储的地址列表中查询到功能调用请求对应的目标地址。
67.在一种可能的实现方式中,若适配器模块在地址列表中无法查询到功能调用请求对应的目标地址,则适配器模块可以根据该功能调用请求中包含的功能标签重新生成地址查询指令,并向功能管理模块发送新生成的地址查询指令,以获取该功能调用请求对应的目标地址。
68.在一种可能的实现方式中,在目标应用的运行过程中,适配器模块可以根据预设的时间间隔向功能管理系统发送地址查询指令,定时从功能管理系统上获取新的地址列表,以保证适配器模块存储的地址列表的有效性。
69.在本实施例中,由于适配器模块可以响应于目标应用的运行指令,在目标应用启动时生成地址查询指令,并向功能管理系统获取地址列表。因此当目标应用上的调用功能发起功能调用请求后,适配器模块可以迅速从地址列表中确定目标地址。因此本实施例提供的方法可以显著提高系统的响应速度,加快系统的运行进程,为用户提高良好的使用体验。
70.图4示出了本技术第三实施例提供的一种应用功能的调用方法s103的具体实现流程图。参照图4,相较于图1所述实施例,本实施例提供的一种应用功能的调用方法中s103,包括:s1031~s1032,具体详述如下:
71.s1031、确定所述目标地址对应的目标通信协议。
72.在本实施例中,电子设备上存储的地址列表中还可以包含各个目标地址对应的目标通信协议。适配器模块在接收到调用功能发起的功能调用请求后,还可以根据功能调用请求从地址列表中确定目标地址对应的目标通信协议。
73.需要说明的是,本实施例并不对目标通信协议进行具体限定,在实际应用过程中,可以使用任一高效、可扩展、简单和安全的通信协议,如超文本传输协议(hyper text transfer protocol,http)、远程调用协议(google remote procedure call protocol,gprc)等。其中,远程调用协议(google remote procedure call protocol,gprc)由于具有高性能和跨语言支持的优点,为众多通信协议中的较优选择。
74.s1032、基于所述目标通信协议建立所述目标应用与所述服务节点间的通信链路;所述通信链路用于传输所述调用请求和所述响应数据。
75.在本实施例中,电子设备上的适配器模块在确定目标地址对应的目标通信协议后,可以基于目标通信协议建立目标应用与目标地址对应的服务节点间的通信链路。适配器模块可以通过目标通信协议建立的通信链路向服务节点发送生成的调用请求。同时,服务节点还可以通过目标通信协议建立的通信链路向适配器模块反馈基于调用请求生成的
响应数据。
76.在本实施例中,电子设备上的适配器模块还可以在地址列表中确定各个目标地址对应的目标通信协议,并根据目标通信协议建立目标应用与服务节点之间的通信链路。通过本实施例提供的方法,适配器可以根据服务节点和目标应用的情况,定制化地建立通信链路,有助于保证系统的稳定运行,且能提高服务节点与目标应用间数据传输的效率。
77.图5示出了本技术第四实施例提供的一种应用功能的调用方法s101的具体实现流程图。参照图5,相较于图1所述实施例,本实施例提供的一种应用功能的调用方法中s101,包括:s501~s503,具体详述如下:
78.s501、基于所述功能调用请求中的功能标签从所述地址列表中确定候选地址。
79.在本实施例中,目标应用上的调用功能向电子设备上的适配器模块发起的功能调用请求中还可以包含调用功能对应的功能标签。电子设备上的适配器模块在接收到调用功能发起的功能调用请求后,可以从功能调用请求中确定调用功能对应的功能标签,并根据功能标签从地址列表中确定候选地址。
80.在一种可能的实现方式中,地址列表中可以包含各个服务节点对应的节点名称,每个节点名称中可以带有该服务节点能够提供的数据调用服务对应的服务标签。适配器模块可以根据功能调用请求中的功能标签对地址列表中的所有节点名称进行检索,根据各个节点名称中的服务标签,适配器模块可以确定该功能调用请求对应的服务节点的目标地址。
81.在一种可能的实现方式中,地址列表中可以包含多种不同的类型表,各个服务节点的节点信息可以根据服务节点提供的数据调用服务对应的服务类型存储在服务类型对应的类型表中。
82.s502、若所述候选地址的个数大于或等于2,则基于各个所述候选地址对应的加权值生成包含多个候选地址的候选列表;所述加权参数由所述候选地址对应的服务节点的配置性能决定。
83.在本实施例中,电子设备上的适配器模块根据功能标签从地址列表中检索出候选地址后,可以先判断检索出的候选地址的个数是否大于或等于2。若适配器模块判定候选地址的个数大于或等于2,则适配器模块可以从地址列表中获取各个候选地址对应的加权值。适配器模块可以根据各个候选地址对应的加权值生成包含多个候选地址的候选列表。其中,每个候选地址对应的加权值可以由开发人员根据候选地址对应的服务节点的配置性能进行设置。
84.例如,当适配器模块根据功能标签从地址列表中确定出三个候选地址后,可以从地址列表中确定出各个候选地址对应的加权值。其中第一候选地址的加权值可以为5,第二候选地址的加权值可以为1,第三候选地址的加权值可以为2。而后,适配器模块可以生成包含5个第一候选地址、1个第二候选地址和2个第三候选地址的候选列表。
85.在一种可能的实现方式中,若适配器模块判定候选地址的个数大于或等于2,则适配器模块可以进一步判断候选地址的个数是否为1。若适配器模块判定候选地址的个数为1,则适配器模块可以确定该候选地址为目标地址。若适配器模块判定候选地址的个数不为1,则适配器模块可以确定地址列表中不包含该功能调用请求对应的目标地址,此时,适配器模块可以根据该功能调用请求对应的功能标签重新生成地址查询指令,并向功能管理模
块发送新生成的地址查询指令,以获取该功能调用请求对应的目标地址。
86.在一种可能的实现方式中,当适配器模块判定候选地址的个数大于或等于2后,适配器模块还可以通过其他负载均衡算法从多个候选地址中确定出目标地址,如轮询算法、加权轮询算法、随机算法、源地址哈希算法等多种负载均衡算法。
87.s503、通过预设的随机函数从所述候选列表中确定所述目标地址。
88.在本实施例中,电子设备上的适配器模块根据各个候选地址对应的加权值生成候选列表后,可以通过预设的随机函数从候选列表中确定目标地址。
89.在一种可能的实现方式中,适配器模块在生成候选列表后,可以将各个候选地址在候选列表中的序列号属于到预设的随机函数中,通过随机函数生成目标序列号。适配器模块可以根据目标序列号从候选列表中确定出目标序列号对应的目标地址。
90.在本实施例中,由于适配器模块可以根据各个候选地址对应的加权值和随机函数从多个候选地址中确定出目标地址,因此可以使得适配器模块向配置性能强的服务节点发送更多调取请求,同时向配置性能弱的服务节点发送更少调取请求,可以有效避免服务节点因为负载过多而导致的故障。同时,在加权值的基础上通过随机函数选择目标地址,有助于保证各个服务节点的负载均衡,能有效提高各个服务节点的资源利用率。
91.图6示出了本技术第五实施例提供的一种应用功能的调用方法s104的具体实现流程图。参照图6,相较于图1所述实施例,本实施例提供的一种应用功能的调用方法中s104,包括:s1041~s1042,具体详述如下:
92.s1041、接收所述服务节点基于所述调用请求返回的响应数据。
93.在本实施例中,电子设备在通过适配器模块向服务节点发送调用请求后,可以通过适配器模块接收服务节点基于调用请求返回的响应数据。
94.在一种可能的实现方式中,电子设备可以通过目标通信协议建立的通信链路向服务节点传输调用请求。服务节点接收到调用请求后,可以根据请求解析方式对调取请求进行解析,并从解析后的调用请求中获取调用参数。其中,调用请求中的调取参数是适配器模块根据请求类型对功能调用请求中的请求参数进行转换生成,并封装在调用请求中的。服务节点可以根据解析得到的调用参数运行服务节点中的响应函数,并根据预设的响应类型将运行结果封装为响应数据。服务节点可以通过服务节点与目标应用之间的通信链路将响应数据返回至适配器模块。
95.例如,适配器模块通过encryptadapter()函数生成加密调用请求后,可以通过通信链路将该加密调用请求发送至加密库所在的服务节点上。服务节点接收到加密调用请求后,可以对加密调用请求进行解析以获取待加密数据。服务节点获取到待加密数据后,可以调用加密库中的encrypt()函数对待加密数据进行加密,生成加密数据。服务节点还可以根据预设的响应类型将对加密数据进行封装生成加密响应数据,并通过通信链路将加密响应数据返回至电子设备的适配器模块。
96.s1042、对所述响应数据进行解析生成调用结果,并调用所述调用功能对应的功能模块使用所述调用结果响应所述调用功能对应的操作指令。
97.在本实施例中,电子设备上的适配器模块在接收到服务节点返回的响应数据后,可以对响应数据进行解析生成调用结果。而后,电子设备可以调用目标应用上的调用功能对应的功能模块,以使调用功能对应的功能模块使用调用结果响应调用功能对应的操作指
令。
98.在一种可能的实现方式中,若适配器模块与目标应用部署在不同的电子设备上,即适配器模块部署在服务器上且目标应用部署在用户设备上,则适配器模块在对接收到的响应数据进行解析生成调用结果后,可以将调用结果发送至发起该功能调用请求的用户设备上,以调用功能模块响应调用功能对应的操作指令。
99.在本实施例中,电子设备上的适配器模块在接收到服务节点返回的响应数据后,可以对响应数据进行解析,并生成目标应用可以之间使用的调用结果。目标应用上的功能模块可以使用适配器模块解析生成的调用结果执行对应的操作指令。因此,本实施例提供的方法可以使得目标应用与提供数据调用服务的服务节点之间完全解耦,使得服务节点和目标应用间不再产生直接的影响,当服务节点出现不稳定情况时,也不会影响到目标应用,有利于提高系统的整体稳定性。
100.图7示出了本技术第六实施例提供的一种应用功能的调用方法s104的具体实现流程图。参照图7,相较于图1所述实施例,本实施例提供的一种应用功能的调用方法中s104之后,包括:s701~s702,具体详述如下:
101.s701、通过监控模块采集所述电子设备与所述服务节点之间的通信指标。
102.在本实施例中,电子设备通过适配器模块向服务节点发送调用请求之后,还可以通过监控模块采集电子设备与服务节点之间的通信指标。
103.在一种可能的实现方式中,电子设备上的监控模块采集的通信指标中可以包含服务节点的响应时间。监控模块在监测到适配器模块向服务节点发送调用请求后,可以记录适配器模块发送调用请求的发送时间和该发送时间对应的调用请求。当监控模块监测到适配器模块接收到服务节点返回的响应数据后,可以记录响应数据的接收时间。监控模块可以根据调用请求对应的发送时间和调用请求对应的响应数据的接收时间确定服务节点的响应时间。
104.在一种可能的实现方式中,电子设备上的监控模块采集的通信指标还可以包括服务节点响应的错误率。当监控模块检测到适配器模块发送调用请求后,监控模块可以确定的该调用请求对应的服务节点,并更新该服务节点对应的发送次数。当监控模块监测到适配器模块接收到响应数据后,监控模块可以确定的该响应数据对应的服务节点,并更新该服务节点对应的返回次数。监控模块可以根据同一服务节点对应的发送次数和返回次数确定该服务节点对应的错误率。
105.s702、将所述通信指标发送至所述功能管理系统;所述通信指标用于在所述功能管理系统中可视化表示所述电子设备与所述服务节点之间的通信情况。
106.在本实施例中,电子设备上的监控模块可以将通信指标发送至功能管理系统。功能管理系统在接收到电子设备发送的通信指标后,可以对各种通信指标进行可视化处理,并以仪表盘的形式将各种通信指标展示在功能管理系统中。
107.在一种可能的实现方式中,电子设备可以定时向功能管理系统发送通信指标。此外,电子设备上的监控模块上还可以根据预设的报警规则对各种通信指标进行检测。一旦监控模块检测到任一通信指标满足预设的报警规则,则监控模块可以向功能管理系统发起报警通知,以使运维人员可以及时发现服务节点的异常情况。
108.通过本实施例提供的方法,运维人员可以通过监控模块反馈的通信指标及时了解
到各个服务节点和目标应用之间的通信情况,有助于运维人员及时发现系统异常,有助于维持系统的可靠性。
109.实施例二:
110.图8示出了本技术第七实施例提供的一种应用功能的调用方法的具体实现流程图。上述调用方法可以应用于部署有公用组件或公用数据库的服务节点上。所述应用功能的调用方法具体可以包括如下步骤:
111.s801、向功能管理系统发送注册信息,以成为所述服务节点;所述注册信息包括所述服务节点对应的地址信息、所述服务节点的服务标签和所述服务节点对应的请求类型。
112.在本实施例中,当开发人员在任一节点上部署了公用组件或公用数据库后,该节点可以向功能管理系统发送注册信息。功能管理系统可以接收并存储任一节点发送的注册信息。向功能管理系统发送注册信息后的任一节点可以成为服务节点。其中,节点向功能管理系统发送的注册信息中可以包含该服务节点对应的地址信息、该服务节点对应的服务标签和服务节点对应的请求类型。
113.在一种可能的实现方式中,功能管理系统在接收到节点发送的注册信息后,可以对接收到的注册信息进行存储。当功能管理系统接收到适配器模块发送的地址查询指令后,可以根据地址查询指令中的多个功能标签从各个服务节点的注册信息中确定目标应用需要使用的多个服务节点。功能管理系统可以根据功能标签对各个服务节点的服务标签进行查询,若任一注册信息中的服务标签与功能标签一致,则功能管理系统可以确定该注册信息对应的服务节点可以为目标应用提供数据调用服务。功能管理系统可以根据服务标签与功能标签一致的各个服务节点的地址信息、请求类型和服务标签生成地址列表,并向适配器模块发送该地址列表。
114.s802、接收电子设备发送的调用请求,并确定所述调用请求对应的调用参数。
115.在本实施例中,节点成为服务节点后,可以接收电子设备通过适配器模块发送的调用请求。服务节点可以通过预设的解析模块对调用请求进行解析,以获取调用请求中包含的调用参数。其中,调用请求中的调取参数是适配器模块根据请求类型对功能调用请求中的请求参数进行转换生成,并封装在调用请求中的。
116.s803、基于所述调用参数响应所述调用请求对应的操作指令生成响应数据,并向所述电子设备发送所述响应数据。
117.在本实施例中,服务节点对调取请求进行解析得到调用参数后,可以基于解析得到的调用参数响应调用请求对应的操作指令生成响应数据,并向电子设备发送该响应数据。
118.在一种可能的实现方式中,服务节点可以根据解析得到的调用参数运行服务节点中的响应函数,并根据预设的响应类型将运行结果封装为响应数据,并通过服务节点与目标应用之间的通信链路将响应数据返回至电子书设备上的适配器模块。
119.通过本实施例提供的方法,由于服务节点可以通过接收调用请求为目标应用提供数据调用服务,即服务节点可以独立于目标应用存在,使得开发人员可以根据业务需求对各个服务节点单独进行更新扩展,有助于提高系统的可扩展性,有利于系统更好应对不断变化的业务需求。此外,在本技术提供的实施例中,由于电子设备上的适配器模块可以根据服务节点生成对应的调用请求,因此同一服务节点可以为不同的目标应用提供数据调用服
务,使得系统可以更好兼容不同程序语言的目标应用和服务节点,有助于提高系统的兼容性。
120.需要说明的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
121.参照图9,示出了本技术实施例提供的一种应用功能的调用装置的示意图,该虚拟装置可以应用于服务节点。上述虚拟装置具体可以包括确定模块901、请求生成模块902、发送模块903和响应模块904,其中:
122.确定模块901,用于响应于目标应用中任一调用功能发起的功能调用请求,从预设的地址列表中确定所述功能调用请求对应的目标地址和所述目标地址对应的请求类型;所述目标地址为提供所述功能调用请求对应的数据调用服务的服务节点的地址;所述调用功能为所述目标应用中通过调用服务节点实现的应用功能;
123.请求生成模块902,用于基于所述目标地址对应的请求类型和所述功能调用请求中的请求参数生成调用请求;
124.发送模块903,用于根据所述目标地址向所述目标地址对应的服务节点发送所述调用请求;
125.响应模块904,用于接收所述服务节点基于所述调用请求返回的响应数据,并调用所述目标应用使用所述响应数据响应所述调用功能对应的操作指令。
126.参照图10,示出了本技术实施例提供的一种应用功能的调用装置的示意图,该虚拟装置可以应用于电子设备。上述虚拟装置具体可以包括注册模块1001、接收模块1002和响应模块1003,其中:
127.注册模块1001,用于向功能管理系统发送注册信息,以成为所述服务节点;所述注册信息包括所述服务节点对应的地址信息、所述服务节点的服务标签和所述服务节点对应的请求类型;
128.接收模块1002,用于接收电子设备发送的调用请求,并确定所述调用请求对应的调用参数;
129.响应模块1003,用于基于所述调用参数响应所述调用请求对应的操作指令生成响应数据,并向所述电子设备发送所述响应数据。
130.对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例部分的说明即可。
131.参照图11,示出了本技术实施例提供的一种终端设备的示意图。如图11所示,本技术实施例中的终端设备1100包括:处理器1110、存储器1120以及存储在所述存储器1120中并可在所述处理器1110上运行的计算机程序1121。所述处理器1110执行所述计算机程序1121时实现上述应用功能的调用方法各个实施例中的步骤,例如图1所示的步骤s101至s104。或者,所述处理器1110执行所述计算机程序1121时实现上述各装置实施例中各模块/单元的功能,例如图9所示模块901至904,或图10所示模块1001至1003的功能。
132.示例性的,所述计算机程序1121可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器1120中,并由所述处理器1110执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令
段可以用于描述所述计算机程序1121在所述终端设备1100中的执行过程。例如,所述计算机程序1121可以被分割成确定模块、请求生成模块、发送模块和响应模块,各模块具体功能如下:
133.确定模块,用于响应于目标应用中任一调用功能发起的功能调用请求,从预设的地址列表中确定所述功能调用请求对应的目标地址和所述目标地址对应的请求类型;所述目标地址为提供所述功能调用请求对应的数据调用服务的服务节点的地址;所述调用功能为所述目标应用中通过调用服务节点实现的应用功能;
134.请求生成模块,用于基于所述目标地址对应的请求类型和所述功能调用请求中的请求参数生成调用请求;
135.发送模块,用于根据所述目标地址向所述目标地址对应的服务节点发送所述调用请求;
136.响应模块,用于接收所述服务节点基于所述调用请求返回的响应数据,并调用所述目标应用使用所述响应数据响应所述调用功能对应的操作指令。
137.所述终端设备1100可以是前述各个实施例中的电子设备或服务节点,该电子设备或服务节点可以是桌上型计算机、云端服务器等计算设备。所述终端设备1100可包括,但不仅限于,处理器1110、存储器1120。本领域技术人员可以理解,图11仅仅是终端设备1100的一种示例,并不构成对终端设备1100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备1100还可以包括输入输出设备、网络接入设备、总线等。
138.所述处理器1110可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
139.所述存储器1120可以是所述终端设备1100的内部存储单元,例如终端设备1100的硬盘或内存。所述存储器1120也可以是所述终端设备1100的外部存储设备,例如所述终端设备1100上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等等。进一步地,所述存储器1120还可以既包括所述终端设备1100的内部存储单元也包括外部存储设备。所述存储器1120用于存储所述计算机程序1121以及所述终端设备1100所需的其他程序和数据。所述存储器1120还可以用于暂时地存储已经输出或者将要输出的数据。
140.本技术实施例还公开了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前述各个实施例所述的应用功能的调用方法。
141.本技术实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前述各个实施例所述的应用功能的调用方法。
142.本技术实施例还公开了一种计算机程序产品,当所述计算机程序产品在计算机上
运行时,使得所述计算机执行前述各个实施例所述的应用功能的调用方法。
143.以上所述实施例仅用以说明本技术的技术方案,而非对其限制。尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
技术特征:
1.一种应用功能的调用方法,应用于电子设备,其特征在于,包括:响应于目标应用中任一调用功能发起的功能调用请求,从预设的地址列表中确定所述功能调用请求对应的目标地址和所述目标地址对应的请求类型;所述目标地址为提供所述功能调用请求对应的数据调用服务的服务节点的地址;所述调用功能为所述目标应用中通过调用服务节点实现的应用功能;基于所述目标地址对应的请求类型和所述功能调用请求中的请求参数生成调用请求;根据所述目标地址向所述目标地址对应的服务节点发送所述调用请求;接收所述服务节点基于所述调用请求返回的响应数据,并调用所述目标应用使用所述响应数据响应所述调用功能对应的操作指令。2.根据权利要求1所述的方法,其特征在于,所述接收用户发起的功能请求,基于所述功能请求从预设的地址列表中确定目标地址和所述目标地址对应的请求类型之前,包括:响应于目标应用的运行指令,生成关于目标应用中所有调用功能的地址查询指令;向功能管理系统发送所述地址查询指令,以确定每个所述调用功能对应的所述服务节点的所述地址;所述功能管理系统用于管理多个所述服务节点;接收并存储所述功能管理系统基于所述地址查询指令反馈的所述地址列表。3.根据权利要求1所述的方法,其特征在于,所述根据所述目标地址向所述目标地址对应的服务节点发送所述调用请求,包括:确定所述目标地址对应的目标通信协议;基于所述目标通信协议建立所述目标应用与所述服务节点间的通信链路;所述通信链路用于传输所述调用请求和所述响应数据。4.根据权利要求1所述的方法,其特征在于,所述响应于目标应用中任一调用功能发起的功能调用请求,从预设的地址列表中确定所述功能请求对应的目标地址和所述目标地址对应的请求类型,包括:基于所述功能调用请求中的功能标签从所述地址列表中确定候选地址;若所述候选地址的个数大于或等于2,则基于各个所述候选地址对应的加权值生成包含多个候选地址的候选列表;所述加权参数由所述候选地址对应的服务节点的配置性能决定;通过预设的随机函数从所述候选列表中确定所述目标地址。5.根据权利要求1所述的方法,其特征在于,所述接收所述服务节点基于所述调用请求返回的响应数据,并调用所述目标应用使用所述响应数据响应所述调用功能对应的操作指令,包括:接收所述服务节点基于所述调用请求返回的响应数据;对所述响应数据进行解析生成调用结果,并调用所述调用功能对应的功能模块使用所述调用结果响应所述调用功能对应的操作指令。6.根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述目标地址向所述目标地址对应的服务节点发送所述调用请求之后,包括:通过监控模块采集所述电子设备与所述服务节点之间的通信指标;将所述通信指标发送至所述功能管理系统;所述通信指标用于在所述功能管理系统中可视化表示所述电子设备与所述服务节点之间的通信情况。
7.一种应用功能的调用方法,应用于服务节点,其特征在于,包括:向功能管理系统发送注册信息,以成为所述服务节点;所述注册信息包括所述服务节点对应的地址信息、所述服务节点的服务标签和所述服务节点对应的请求类型;接收电子设备发送的调用请求,并确定所述调用请求对应的调用参数;基于所述调用参数响应所述调用请求对应的操作指令生成响应数据,并向所述电子设备发送所述响应数据。8.一种应用功能的调用装置,应用于电子设备,其特征在于,包括:确定模块,用于响应于目标应用中任一调用功能发起的功能调用请求,从预设的地址列表中确定所述功能调用请求对应的目标地址和所述目标地址对应的请求类型;所述目标地址为提供所述功能调用请求对应的数据调用服务的服务节点的地址;所述调用功能为所述目标应用中通过调用服务节点实现的应用功能;请求生成模块,用于基于所述目标地址对应的请求类型和所述功能调用请求中的请求参数生成调用请求;发送模块,用于根据所述目标地址向所述目标地址对应的服务节点发送所述调用请求;响应模块,用于接收所述服务节点基于所述调用请求返回的响应数据,并调用所述目标应用使用所述响应数据响应所述调用功能对应的操作指令。9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述的应用功能的调用方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的应用功能的调用方法。
技术总结
本申请实施例适用于软件技术领域,提供了一种应用功能的调用方法、装置、终端设备及存储介质,所述方法包括:响应于目标应用中任一调用功能发起的功能调用请求,从预设的地址列表中确定所述功能调用请求对应的目标地址和所述目标地址对应的请求类型;基于所述目标地址对应的请求类型和所述功能调用请求中的请求参数生成调用请求;根据所述目标地址向所述目标地址对应的服务节点发送所述调用请求;接收所述服务节点基于所述调用请求返回的响应数据,并调用所述目标应用使用所述响应数据响应所述调用功能对应的操作指令。本实施例提供的方法使得目标应用的公用组件或公用数据库可以部署在独立的服务节点上,简化了开发者对于目标应用的调用关系的运维成本。于目标应用的调用关系的运维成本。于目标应用的调用关系的运维成本。
技术研发人员:胡云齐 李鉴庭
受保护的技术使用者:深圳派氪司科技有限公司
技术研发日:2023.06.14
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
