服务接入点的调用方法、装置、设备及可读存储介质与流程

文档序号:32375407发布日期:2022-11-30 00:15阅读:41来源:国知局
服务接入点的调用方法、装置、设备及可读存储介质与流程

1.本技术属于通信技术领域,具体涉及一种服务接入点的调用方法、装置、设备及可读存储介质。


背景技术:

2.现有的无服务器serverless架构开发中,服务接入点比如应用程序接口(application programming interface,api)固定为某个域名地址,并通过域名系统解析为ip地址后,进行数据传输以及api调用。固定的域名地址使得开发人员在程序编写初期就要确定后续所有的api服务提供者,且不易进行变更。这种情况下,由于开发者无法保证程序运行位置到其所调用的api的通信链路不变且通信延迟始终保持在较低状态,因此,在api服务提供者调整域名解析对应的ip地址后,可能会造成通信链路无法满足需求。


技术实现要素:

3.本技术实施例的目的是提供一种服务接入点的调用方法、装置、设备及可读存储介质,以解决目前通过固定的域名地址进行服务接入点调度时出现的通信链路无法满足需求的问题。
4.为了解决上述技术问题,本技术是这样实现的:
5.第一方面,提供了一种服务接入点的调用方法,应用于终端,包括:
6.获取需调用的服务接入点的名称;
7.根据所述名称,确定符合要求的目的ip地址;
8.利用所述符合要求的目的ip地址进行服务接入点的调度。
9.第二方面,提供了一种服务接入点的调用方法,应用于入口路由,包括:
10.从终端接收解析请求;其中,所述解析请求中包括第一参数,所述第一参数用于指示所述终端需调用的服务接入点的名称;
11.根据所述名称,确定符合要求的目的ip地址;
12.向所述终端发送所述符合要求的目的ip地址,由所述终端利用所述符合要求的目的ip地址进行服务接入点的调度。
13.第三方面,提供了一种服务接入点的调用装置,应用于终端,包括:
14.获取模块,用于获取需调用的服务接入点的名称;
15.第一确定模块,用于根据所述名称,确定符合要求的目的ip地址;
16.调度模块,用于利用所述符合要求的目的ip地址进行服务接入点的调度。
17.第四方面,提供了一种服务接入点的调用装置,应用于入口路由,包括:
18.接收模块,用于从终端接收解析请求;其中,所述解析请求中包括第一参数,所述第一参数用于指示所述终端需调用的服务接入点的名称;
19.第二确定模块,用于根据所述名称,确定符合要求的目的ip地址;
20.第二发送模块,用于向所述终端发送所述符合要求的目的ip地址,由所述终端利
用所述符合要求的目的ip地址进行服务接入点的调度。
21.第五方面,本技术实施例提供了一种通信设备,该通信设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。
22.第六方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。
23.在本技术实施例中,终端可以获取需调用的服务接入点的名称,根据所述名称,确定符合要求的目的ip地址,并利用符合要求的目的ip地址进行服务接入点的调度。由此,终端可以不必通过固定的域名地址进行服务接入点的调度,而是可以根据服务接入点的名称自动选择符合要求的目的ip地址,并利用符合要求的目的ip地址进行服务接入点的调度,从而保证相应通信链路满足需求。
附图说明
24.图1是本技术实施例提供的一种服务接入点的调用方法的流程图;
25.图2是本技术实施例提供的另一种服务接入点的调用方法的流程图;
26.图3是本技术实施例提供的一种服务接入点的调用装置的结构示意图;
27.图4是本技术实施例提供的另一种服务接入点的调用装置的结构示意图;
28.图5是本技术实施例提供的一种通信设备的结构示意图。
具体实施方式
29.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
30.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
31.为了解决目前通过固定的域名地址进行服务接入点调度时出现的通信链路无法满足需求的问题,本技术实施例针对数据通信网络,提出了一种分布式服务接入点的调用方法,可以使serverless架构开发中服务接入点不必固定为某个域名地址,而是可以根据服务接入点的名称自动选择符合要求的目的ip地址,并利用符合要求的目的ip地址进行服务接入点的调度,从而保证相应通信链路满足需求。
32.可选的,本技术实施例适用的场景包括但不限于serverless架构等。serverless架构是一种按需提供后端服务的架构,服务提供者允许用户编写和部署代码,而不必担心底层基础结构。serverless架构的程序可以通过api调用的方式从服务提供者处获得后端
服务,服务提供者将根据api调用方式计算其费用,而不必保留和支付固定数量的带宽或服务器。serverless架构仍使用物理服务器,但开发人员无需了解它们。
33.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的服务接入点的调用方法进行详细地说明。
34.请参见图1,图1是本技术实施例提供的一种服务接入点的调用方法的流程图,该方法应用于终端,如图1所示,该方法包括如下步骤:
35.步骤11:获取需调用的服务接入点的名称。
36.可选的,本技术实施例中的服务接入点包括但不限于api等。
37.步骤12:根据所述名称,确定符合要求的目的ip地址。
38.此步骤中,终端在确定符合要求的目的ip地址时,可以根据预先存储的信息,直接确定与所述名称对应的符合要求的目的ip地址,也可以通过入口路由获得与所述名称对应的符合要求的目的ip地址。
39.步骤13:利用符合要求的目的ip地址进行服务接入点的调度。
40.可选的,在确定符合要求的目的ip地址后,终端可以利用符合要求的目的ip地址发起服务接入点的调度请求,以进行服务接入点的调度。比如,以服务接入点为api为例,终端可以利用符合要求的目的ip地址发起api调度请求,以进行api调度。
41.本技术实施例的服务接入点的调用方法中,终端可以获取需调用的服务接入点的名称,根据所述名称,确定符合要求的目的ip地址,并利用符合要求的目的ip地址进行服务接入点的调度。由此,终端可以不必通过固定的域名地址进行服务接入点的调度,而是可以根据服务接入点的名称自动选择符合要求的目的ip地址,并利用符合要求的目的ip地址进行服务接入点的调度,从而保证相应通信链路满足需求。
42.本技术实施例中,为了实现根据服务接入点的名称进行服务接入点的调度,所有的可以提供公共服务的服务接入点都需经过统一的注册及命名,即提供相同服务的服务接入点具有同一个名称。其中,注册及命名可以由统一的名称解析系统完成,名称解析系统负责完成服务接入点的注册、解析及相关的查询修改等工作。终端若想要使用统一的服务接入点路由调用,也需要事先向名称解析系统注册账号用于身份记录。
43.可选的,终端可以通过入口路由的辅助获得符合要求的目的ip地址。此情况下,终端确定符合要求的目的ip地址的过程可以包括:
44.终端向入口路由发送解析请求;其中,所述解析请求中包括用于指示所述名称的第一参数;
45.终端从入口路由接收符合要求的目的ip地址。
46.其中,所述符合要求的目的ip地址可以是入口路由根据预先存储的路由表,确定的与所述名称对应的目的ip地址。所述预先存储的路由表中记录有服务接入点的名称与目的ip地址之间的对应关系,可以是入口路由从名称解析系统中查询获得。这样,借助预先存储的路由表,可以使得入口路由快捷地选择符合要求的目的ip地址。
47.或者,所述符合要求的目的ip地址可以是入口路由根据所述名称从名称解析系统请求得到。例如,入口路由在根据预先存储的路由表没有得到符合要求的目的ip地址的情况下,可以从名称解析系统请求得到符合要求的目的ip地址。进一步的,在从名称解析系统请求得到符合要求的目的ip地址之后,可以据此更新预先存储的路由表,即新增该符合要
求的目的ip地址与相应名称之间的对应关系。
48.比如,以服务接入点为api为例,上述解析请求可以为基于超文本传输协议(hyper text transfer protocol,http)/https的api解析请求。并且,api解析请求不再指定域名地址,而是添加用于指示api名称的参数比如apiname。
49.可选的,在本技术实施例中,上述解析请求中还可以包括第二参数,所述第二参数用于指示单次接入点调度的费用上限。比如,所述第二参数可选为cost。所述预先存储的路由表中还记录有目的ip地址与单次接入点调度的费用之间的对应关系。进一步的,所述符合要求的目的ip地址是入口路由根据所述预先存储的路由表,确定的与所述名称对应且满足所述费用上限的要求的目的ip地址。这样,可以通过费用上限的条件,可控的选择出满足用户需求的服务接入点。
50.可选的,由于存在多个服务提供者提供相同服务接入点的情况,因此,在预先存储的路由表中,同一个服务接入点的名称可以对应多个目的ip地址,即服务接入点的名称与目的ip地址之间的对应关系可以是一对一,也可以是一对多。进一步的,当入口路由确定与所述名称对应且满足所述费用上限的要求的目的ip地址具有多个时,所述符合要求的目的ip地址可以是多个目的ip地址中的接入点响应时间最小的一个,或者,所述符合要求的目的ip地址可以是多个目的ip地址中的调用费用最少的一个。这样,在费用上限允许的情况下,可以根据用户需求动态选择接入点响应时间最小的一个,从而降低服务接入点的响应时间;或者,可以根据用户需求动态选择调用费用最少的服务接入点,从而降低调用成本。
51.可选的,在利用符合要求的目的ip地址进行服务接入点的调度之后,当终端无法获得相应服务接入点的响应,即发现目的ip地址失效或者相应通信链路不可达等情况时,终端可以向入口路由发送报告信息,其中,所述报告信息用于指示利用符合要求的目的ip地址无法进行相应服务接入点的调度,以便入口路由根据接收到的报告信息,对预先存储的路由表进行更新。比如,从预先存储的路由表中删除对应ip地址的记录或标记为不可达,和/或,向名称解析系统发送请求来更新路由表。
52.例如,以服务接入点为api为例,采用本方案进行api调度的前提条件为:所有的可以提供公共服务的api都经过统一的注册及命名,即提供相同服务的api具有同一名称。注册及命名由统一的接口名称解析系统(api name system,ans)完成,ans负责完成api的注册、解析及相关的查询修改等工作。终端想要使用统一的api路由调用,也需要事先向ans注册账号用于身份记录。
53.可选的,本技术中api解析请求的一种可选实施例为:
54.http(s)://apiname&cost=xx/?action=xx&parameters
55.其中,apiname指定所调用api,由ans统一标识。cost指示本次调用所想使用的费用上限,即单次调用api可以承受的费用上限。比如,cost的参数值可以为负数,如为-xx时,表示需要使用费用最低的api,其最大值不超过xx,参数值为0表示对费用没有要求。action表示当前请求需要执行的操作。parameters代指请求参数,由公共请求参数和api自定义参数组成,参数之间使用“&”分隔。
56.也就是说,相比于现有api请求,本技术实施例的api解析请求取消了用于表示调用api域名地址的endpoint,新增了参数apiname和cost,而action和parameters含义及内容不变。
57.可选的,为了记录api路由信息,可以在入口路由上预先存储api路由表(arb),用于记录api名称和对应的目的ip地址。由于存在多个服务提供者提供相同api的情况,同一api名称可以对应多个目的ip地址。除此之外,参见下表1所示,api路由表中还可以包括cost字段和time字段,用于记录单次api调用的费用和api响应时间。在多条记录均符合用户请求时,优先选择time最小的地址。
58.表1 api路由表
59.字段含义apiname记录api名称ip记录对应的目的ip地址cost记录单次api调用的费用time记录api的响应时间
60.可选的,本技术实施例中的api调用过程可以包括如下步骤:
61.s1:终端获取需调用的api的名称,并向入口路由发送api解析请求,该api解析请求包括参数apiname和cost。其中,参数apiname和cost的具体含义如上所述,在此不再赘述。
62.s2:入口路由通过查询本地预先存储的api路由表,向终端返回符合要求的目的ip地址及cost,以使终端通过返回的目的ip地址进行api调用。
63.s3:若入口路由本地没有符合要求的目的ip地址,则入口路由可以向ans发起请求获得符合要求的目的ip地址,并将获得的结果返回给终端,以使终端通过返回的目的ip地址进行api调用。此外,入口路由还可以根据获得的结果更新本地预先存储的api路由表。
64.s4:终端在进行api调用后,如果发现目的ip地址失效或链路不可达等无法获得api响应的情况,则可以向入口路由报告,由入口路由删除对应目的ip地址的记录或标记为不可达,并通过向ans发送请求来更新对应apiname的记录,以便后续api调用使用。
65.请参见图2,图2是本技术实施例提供的一种服务接入点的调用方法的流程图,该方法应用于入口路由,如图2所示,该方法包括如下步骤:
66.步骤21:从终端接收解析请求。
67.其中,所述解析请求中包括第一参数,所述第一参数用于指示终端需调用的服务接入点的名称。该服务接入点包括但不限于api等。
68.步骤22:根据所述名称,确定符合要求的目的ip地址。
69.步骤23:向终端发送符合要求的目的ip地址,由终端利用所述符合要求的目的ip地址进行服务接入点的调度。
70.需指出的,为了实现根据服务接入点的名称进行服务接入点的调度,所有的可以提供公共服务的服务接入点都需经过统一的注册及命名,即提供相同服务的服务接入点具有同一个名称。其中,注册及命名可以由统一的名称解析系统完成,名称解析系统负责完成服务接入点的注册、解析及相关的查询修改等工作。终端若想要使用统一的服务接入点路由调用,也需要事先向名称解析系统注册账号用于身份记录。
71.本技术实施例的服务接入点的调用方法中,入口路由可以从终端接收解析请求,所述解析请求中包括第一参数,第一参数用于指示终端需调用的服务接入点的名称,并根据所述名称确定符合要求的目的ip地址,向终端发送符合要求的目的ip地址,由终端利用
符合要求的目的ip地址进行服务接入点的调度。由此,终端可以不必通过固定的域名地址进行服务接入点的调度,而是可以根据服务接入点的名称自动选择符合要求的目的ip地址,并利用符合要求的目的ip地址进行服务接入点的调度,从而保证相应通信链路满足需求。
72.可选的,上述根据所述名称,确定符合要求的目的ip地址可以包括以下至少一项:
73.1)入口路由根据预先存储的路由表,确定与所述名称对应的目的ip地址;其中,所述预先存储的路由表中记录有服务接入点的名称与目的ip地址之间的对应关系,可以是入口路由从名称解析系统中查询获得。这样,借助预先存储的路由表,可以使得入口路由快捷地选择符合要求的目的ip地址。
74.2)入口路由向名称解析系统发送包括所述名称的服务请求,并从名称解析系统接收符合要求的目的ip地址。例如,入口路由在根据预先存储的路由表没有得到符合要求的目的ip地址的情况下,可以从名称解析系统请求得到符合要求的目的ip地址。进一步的,在从名称解析系统请求得到符合要求的目的ip地址之后,可以据此更新预先存储的路由表,即新增该符合要求的目的ip地址与相应名称之间的对应关系。
75.可选的,所述解析请求中还包括第二参数,所述第二参数用于指示单次服务接入点调度的费用上限。所述预先存储的路由表中还记录有目的ip地址与单次接入点调度的费用之间的对应关系。上述确定与所述名称对应的目的ip地址可以包括:入口路由根据所述预先存储的路由表,确定与所述名称对应且满足所述费用上限的要求的目的ip地址。这样,可以通过费用上限的条件,可控的选择出满足用户需求的服务接入点。
76.可选的,当与所述名称对应且满足所述费用上限的要求的目的ip地址具有多个时,所述符合要求的目的ip地址是多个目的ip地址中的接入点响应时间最小的一个,或者,所述符合要求的目的ip地址是多个目的ip地址中的调用费用最少的一个。这样,在费用上限允许的情况下,可以根据用户需求动态选择接入点响应时间最小的一个,从而降低服务接入点的响应时间;或者,可以根据用户需求动态选择调用费用最少的服务接入点,从而降低调用成本。
77.可选的,入口路由可以从终端接收报告信息;其中,所述报告信息用于指示利用符合要求的目的ip地址无法进行相应服务接入点的调度;并根据所述报告信息,对所述预先存储的路由表进行更新。比如,从预先存储的路由表中删除对应ip地址的记录或标记为不可达,和/或,向名称解析系统发送请求来更新路由表。
78.需要说明的是,本技术实施例提供的服务接入点的调用方法,执行主体可以为服务接入点的调用装置,或者,该调用装置中的用于执行服务接入点的调用方法的控制模块。本技术实施例中以调用装置执行服务接入点的调用方法为例,说明本技术实施例提供的服务接入点的调用装置。
79.请参见图3,图3是本技术实施例提供的一种服务接入点的调用装置的结构示意图,该装置应用于终端,如图3所示,服务接入点的调用装置30包括:
80.获取模块31,用于获取需调用的服务接入点的名称;
81.第一确定模块32,用于根据所述名称,确定符合要求的目的ip地址;
82.调度模块32,用于利用所述符合要求的目的ip地址进行服务接入点的调度。
83.可选的,所述第一确定模块32包括:
84.第一发送单元,用于向入口路由发送解析请求;其中,所述解析请求中包括用于指示所述名称的第一参数;
85.第一接收单元,用于从所述入口路由接收所述符合要求的目的ip地址;
86.其中,所述符合要求的目的ip地址是所述入口路由根据预先存储的路由表,确定的与所述名称对应的目的ip地址;所述预先存储的路由表中记录有服务接入点的名称与目的ip地址之间的对应关系;
87.或者,所述符合要求的目的ip地址是所述入口路由根据所述名称从名称解析系统请求得到。
88.可选的,所述解析请求中还包括第二参数,所述第二参数用于指示单次接入点调度的费用上限;所述预先存储的路由表中还记录有目的ip地址与单次接入点调度的费用之间的对应关系;
89.所述符合要求的目的ip地址是所述入口路由根据所述预先存储的路由表,确定的与所述名称对应且满足所述费用上限的要求的目的ip地址。
90.可选的,当与所述名称对应且满足所述费用上限的要求的目的ip地址具有多个时,所述符合要求的目的ip地址是多个目的ip地址中的接入点响应时间最小的一个,或者,所述符合要求的目的ip地址是多个目的ip地址中的调用费用最少的一个。
91.可选的,服务接入点的调用装置30还包括:
92.第一发送模块,用于在利用所述符合要求的目的ip地址进行服务接入点的调度之后,且无法获得相应服务接入点的响应时,向所述入口路由发送报告信息;其中,所述报告信息用于指示利用所述符合要求的目的ip地址无法进行相应服务接入点的调度。
93.可理解的,本技术实施例的服务接入点的调用装置30,可以实现上述图1所示的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
94.请参见图4,图4是本技术实施例提供的一种服务接入点的调用装置的结构示意图,该装置应用于入口路由,如图4所示,服务接入点的调用装置40包括:
95.接收模块41,用于从终端接收解析请求;其中,所述解析请求中包括第一参数,所述第一参数用于指示所述终端需调用的服务接入点的名称;
96.第二确定模块42,用于根据所述名称,确定符合要求的目的ip地址;
97.第二发送模块43,用于向所述终端发送所述符合要求的目的ip地址,由所述终端利用所述符合要求的目的ip地址进行服务接入点的调度。
98.可选的,所述第二确定模块42具体用于:根据预先存储的路由表,确定与所述名称对应的目的ip地址;其中,所述预先存储的路由表中记录有服务接入点的名称与目的ip地址之间的对应关系。
99.可选的,所述第二确定模块42包括:
100.第二发送单元,用于向名称解析系统发送包括所述名称的服务请求;
101.第二接收单元,用于从所述名称解析系统接收所述符合要求的目的ip地址。
102.可选的,所述解析请求中还包括第二参数,所述第二参数用于指示单次服务接入点调度的费用上限;所述预先存储的路由表中还记录有目的ip地址与单次接入点调度的费用之间的对应关系;所述第二确定模块42具体用于:根据所述预先存储的路由表,确定与所述名称对应且满足所述费用上限的要求的目的ip地址。
103.可选的,当与所述名称对应且满足所述费用上限的要求的目的ip地址具有多个时,所述符合要求的目的ip地址是多个目的ip地址中的接入点响应时间最小的一个,或者,所述符合要求的目的ip地址是多个目的ip地址中的调用费用最少的一个。
104.可选的,接收模块41还用于从所述终端接收报告信息;所述报告信息用于指示利用所述符合要求的目的ip地址无法进行相应服务接入点的调度;
105.服务接入点的调用装置40还包括:更新模块,用于根据所述报告信息,对所述预先存储的路由表进行更新。
106.可理解的,本技术实施例的服务接入点的调用装置40,可以实现上述图2所示的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
107.可选的,如图5所示,本技术实施例还提供一种通信设备50,包括处理器51,存储器52,存储在存储器52上并可在处理器51上运行的程序或指令,例如,该通信设备50为终端时,该程序或指令被处理器51执行时实现上述图1方法实施例的各个过程,且能达到相同的技术效果。该通信设备50为入口路由时,该程序或指令被处理器51执行时实现上述图2方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
108.本技术实施例还提供了一种计算机可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时可以实现上述图1所示方法实施例的各个过程,或者实现上述图2所示方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
109.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
110.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
111.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
112.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台服务分类设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
113.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人
员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1