访问控制方法及数据平台与流程

文档序号:32947683发布日期:2023-01-14 11:51阅读:21来源:国知局
访问控制方法及数据平台与流程

1.本技术属于互联网技术领域,尤其涉及一种访问控制方法及数据平台。


背景技术:

2.为了降低数据平台的开发难度和工作量,数据平台往往会依赖于第三方软件,例如apache spark(一种通用的计算引擎)、apache flink(一种流处理引擎)。这些第三方软件在设计时并未考虑访问安全性问题。
3.对于本领域技术人员来说,如何针对接入数据平台的第三方软件,提高其访问安全性,是亟待解决的问题。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种访问控制方法及数据平台,以提高接入数据平台的第三方软件的访问安全性。
5.为实现上述目的,本技术提供如下技术方案:
6.本技术提供一种访问控制方法,数据平台包括反向代理服务器、拦截器和业务服务器,所述数据平台接入至少一个第三方软件,所述方法包括:
7.所述反向代理服务器获得客户端发送的功能请求;
8.所述反向代理服务器在所述功能请求满足预设规则的情况下,向所述拦截器发送所述功能请求;
9.所述拦截器判断用户是否已登录;
10.所述拦截器在确定所述用户已登录的情况下,判断所述用户是否具有针对所述功能请求所携带url的操作权限;
11.所述拦截器在确定所述用户具有操作权限的情况下,确定所述url对应的功能的提供方;
12.在所述url对应的功能的提供方为第三方软件的情况下,所述拦截器获得与所述url对应的目标url,向所述第三方软件的服务器发送所述目标url,以便所述第三方软件的服务器基于所述目标url向所述反向代理服务器发送响应信息;
13.所述反向代理服务器向所述客户端发送应答信息,所述应答信息是基于接收到的响应信息生成的。
14.可选的,在上述访问控制方法的基础上,进一步设置:
15.在所述url对应的功能的提供方为所述业务服务器的情况下,所述拦截器向所述业务服务器发送所述功能请求携带的url;
16.所述业务服务器基于接收到的url向所述反向代理服务器发送响应信息。
17.可选的,在上述访问控制方法的基础上,进一步设置:
18.所述拦截器在确定所述用户未登录的情况下,向所述反向代理服务器发送未登录指示;
19.所述反向代理服务器响应所述未登录指示,向所述客户端发送登录提示信息。
20.可选的,在上述访问控制方法的基础上,进一步设置:
21.所述反向代理服务器获得所述客户端发送的登录请求,向所述拦截器发送所述登录请求,其中,所述登录请求携带用户名和密码;
22.所述拦截器向所述业务服务器发送所述登录请求;
23.所述业务服务器基于所述用户名和密码进行身份验证,在确定通过身份验证的情况下,生成令牌,向所述拦截器发送所述令牌;
24.所述拦截器向所述反向代理服务器发送所述令牌,并存储所述令牌;
25.所述反向代理服务器向所述客户端发送所述令牌。
26.可选的,在上述访问控制方法的基础上,进一步设置:
27.所述拦截器在确定所述用户不具有操作权限的情况下,向所述反向代理服务器发送无操作权限指示;
28.所述反向代理服务器响应所述无操作权限指示,向所述客户端发送无操作权限提示信息。
29.可选的,所述预设规则为:所述功能请求携带的url包含所述业务服务器的域名。
30.本技术还提供一种数据平台,包括反向代理服务器、拦截器和业务服务器,所述数据平台接入至少一个第三方软件;
31.所述反向代理服务器用于:获得客户端发送的功能请求,在所述功能请求满足预设规则的情况下,向所述拦截器发送所述功能请求;
32.所述拦截器用于:判断用户是否已登录,在确定所述用户已登录的情况下,判断所述用户是否具有针对所述功能请求所携带url的操作权限,在确定所述用户具有操作权限的情况下,确定所述url对应的功能的提供方,在所述url对应的功能的提供方为第三方软件的情况下,获得与所述url对应的目标url,向所述第三方软件的服务器发送所述目标url,以便所述第三方软件的服务器基于所述目标url向所述反向代理服务器发送响应信息;
33.所述反向代理服务器还用于:向所述客户端发送应答信息,所述应答信息是基于接收到的响应信息生成的。
34.可选的,所述拦截器还用于:在所述url对应的功能的提供方为所述业务服务器的情况下,向所述业务服务器发送所述功能请求携带的url;
35.所述业务服务器用于:基于接收到的url向所述反向代理服务器发送响应信息。
36.可选的,所述拦截器还用于:在确定所述用户未登录的情况下,向所述反向代理服务器发送未登录指示;
37.所述反向代理服务器还用于:响应所述未登录指示,向所述客户端发送登录提示信息。
38.可选的,所述拦截器还用于:在确定所述用户不具有操作权限的情况下,向所述反向代理服务器发送无操作权限指示;
39.所述反向代理服务器还用于:响应所述无操作权限指示,向所述客户端发送无操作权限提示信息。
40.由此可见,本技术的有益效果为:
41.本技术公开的数据平台包括反向代理服务器、拦截器和业务服务器,业务服务器接入至少一种第三方软件。反向代理服务器获得客户端发送的功能请求,在该功能请求满足预设规则的条件下,向拦截器发送该功能请求,能够减少对数据平台的非法访问;拦截器判断用户是否已登录,在确定用户已登录的情况下,判断用户是否具有针对功能请求所携带url的操作权限,在确定用户具有操作权限的情况下,确定该url对应的功能的提供方,如果提供方为第三方软件,那么获得与该url对应的目标url,并向第三方软件的服务器发送目标url,以便第三方软件的服务器基于目标url向反向代理服务器发送响应信息;反向代理服务器向客户端发送应答信息。可以看到,本技术公开的访问控制方法及数据平台,利用反向代理服务器拦截非法访问,利用拦截器进行用户身份鉴别和访问权限管理,实现了对接入数据平台的第三方软件的访问控制,能够提高第三方软件的访问安全性。
附图说明
42.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1为本技术公开的一种数据平台的结构示意图;
44.图2为本技术公开的数据平台的应用场景示意图;
45.图3为本技术公开的一种访问控制方法的流程图;
46.图4为本技术公开的另一种访问控制方法的信令图。
具体实施方式
47.数据平台为大数据提供了计算和存储的能力,这使得海量的静态数据“活动”起来,并释放出自身价值。然而,一旦缺少了平台安全这个前提,数据价值的释放将受到阻碍。如果将数据平台比作大厦,其价值的释放能力和安全能力分别是大厦的地面建筑和地基,地基的深度决定了大厦地面建筑的高度,地基不稳的大数据平台,注定只能是“空中楼阁”。
48.为了降低数据平台的开发难度和工作量,通常会在数据平台接入第三方软件。但是,开发者在设计第三方软件时往往并未考虑访问安全性问题。例如,开发者在设计第三方软件时,并未考虑用户身份鉴别、密钥管理、安全审计等安全性问题。
49.因此,本技术提供一种访问控制方法及数据平台,以提高接入该数据平台的第三方软件的访问安全性。
50.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
51.首先对本技术公开的数据平台的结构进行介绍。
52.参见图1和图2,图1为本技术公开的一种数据平台的结构示意图,图2为本技术公开的数据平台的应用场景示意图。
53.该数据平台10包括反向代理服务器100、拦截器200和业务服务器300。另外,该数
据平台接入至少一个第三方软件,第三方软件的服务器20能够与反向代理服务器100和拦截器200通信。客户端30能够与反向代理服务器100通信,也就是说,客户端30不能直接访问业务服务器300和第三方软件的服务器20,而是通过反向代理服务器100实现对业务服务器300和第三方软件的服务器20的访问。
54.需要说明的是,图1和图2所示的数据平台包含一个业务服务器,但数据平台也可以包含多个业务服务器,可以理解为数据平台包含业务服务器集群。
55.反向代理服务器100用于:获得客户端30发送的功能请求,在功能请求满足预设规则的情况下,向拦截器200发送功能请求。
56.拦截器200用于:判断用户是否已登录,在确定用户已登录的情况下,判断用户是否具有针对功能请求所携带url的操作权限,在确定用户具有操作权限的情况下,确定url对应的功能的提供方,在url对应的功能的提供方为第三方软件的情况下,获得与url对应的目标url,向第三方软件的服务器20发送目标url,以便第三方软件的服务器20基于目标url向反向代理服务器100发送响应信息。
57.反向代理服务器100还用于:向客户端30发送应答信息,应答信息是基于接收到的响应信息生成的。
58.可选的,拦截器200还用于:在url对应的功能的提供方为业务服务器300的情况下,向业务服务器300发送功能请求携带的url。业务服务器300用于:基于接收到的url向反向代理服务器100发送响应信息。
59.可选的,拦截器200还用于:在确定用户未登录的情况下,向反向代理服务器100发送未登录指示。反向代理服务器100还用于:响应未登录指示,向客户端30发送登录提示信息。
60.可选的,拦截器200还用于:在确定用户不具有操作权限的情况下,向反向代理服务器100发送无操作权限指示。反向代理服务器100还用于:响应无操作权限指示,向客户端30发送无操作权限提示信息。
61.可选的,反向代理服务器100还用于:获得客户端30发送的登录请求,向拦截器200发送登录请求,其中,登录请求携带用户名和密码。拦截器200还用于:向业务服务器300发送登录请求。业务服务器300还用于:基于用户名和密码进行身份验证,在确定通过身份验证的情况下,生成令牌,向拦截器200发送令牌。拦截器200还用于:向反向代理服务器100发送令牌,并存储令牌。反向代理服务器100还用于:向客户端30发送令牌。
62.下面对本技术公开的访问控制方法进行介绍。
63.参见图3,图3为本技术公开的一种访问控制方法的流程图。该访问控制方法包括:
64.s101:反向代理服务器获得客户端发送的功能请求。
65.实施中,用户点击客户端的界面中的控件,以使得客户端向反向代理服务器发送相应的功能请求。其中,功能请求至少携带url(uniform/universal resource locator,统一资源定位符)。
66.需要说明的是,本技术公开的数据平台接入至少一个第三方程序,由业务服务器和第三方程序的服务器为用户提供服务。也就是说,用户所能使用的服务,可能是由数据平台自身的业务服务器提供的,也可能是由第三方软件的服务器提供的。业务服务器的域名和第三方软件的服务器的域名是不同的。
67.可以理解的是,第三方软件的服务器所存储的文件,其url中的主机名为该第三方软件的服务器的域名。本技术中,针对由第三方软件的服务器向用户提供的每种功能(也就是服务),基于其第一url(实际的url)构造出第二url,其中第二url中的主机名为业务服务器的域名,并建立每种功能的第一url与所构造的第二url之间的对应关系,保存该对应关系。客户端向反向代理服务器发送的功能请求,其url中的主机名均为业务服务器的域名。也就是说,无论用户请求的功能是由业务服务器提供,还是由第三方软件的服务器提供,客户端向反向代理服务器发送的功能请求所携带url中的主机名均为业务服务器的域名。可以理解为,如果用户请求的功能是由第三方软件的服务器提供,那么客户端向反向代理服务器发送的功能请求所携带的url,是针对该功能构造出的url(第二url),而不是该功能实际的url(第一url)。
68.这里举例进行说明:业务服务器的域名为www.bigdata.abc,第三方软件apache flink的服务器的域名为www.flink.abc。第三方软件的服务器提供的某种功能的url为https://www.flink.abc/submitjob.do,针对该功能构造出的第二url为https://www.bigdata.abc/flink/submitjob.do。客户端的界面包含该功能对应的控件,当用户点击该控件时,客户端向反向代理服务器发送的功能请求中的url为https://www.bigdata.abc/flink/submitjob.do。
69.可选的,针对每个第三方软件的服务器创建url映射表,该url映射表包含由该第三方软件的服务器提供的每项功能的第一url和对应的第二url。
70.s102:反向代理服务器在功能请求满足预设规则的情况下,向拦截器发送功能请求。
71.可选的,该预设规则为:功能请求携带的url包含该业务服务器的域名。
72.也就是说,反向代理服务器接收客户端发送的功能请求,如果该功能请求携带的url包含业务服务器的域名,则向拦截器发送该功能请求,如果该功能请求携带的url不包含业务服务器的域名,则拦截该功能请求,不向拦截器发送。
73.s103:拦截器判断用户是否已登录。
74.可选的,拦截器判断功能请求是否携带有效的令牌(token)。也就是说,拦截器判断功能请求是否携带有令牌,在功能请求携带有令牌的情况下,进一步判断数据平台是否存储有该令牌,如果数据平台存储有该令牌,则确定功能请求携带有效的令牌,该用户已登录;如果功能请求未携带令牌,或者功能请求携带有令牌,但数据平台未存储该令牌,则确定功能请求未携带有效的令牌,该用户未登录。关于客户端是如何获得令牌的,在下文中做详细介绍。
75.s104:拦截器在确定用户已登录的情况下,判断用户是否具有针对功能请求所携带url的操作权限。
76.数据平台存储有各用户的操作权限。拦截器在确定用户已登录的情况下,进一步判断该用户是否具有针对功能请求所携带url的操作权限,以实现针对用户的权限管理。
77.s105:拦截器在确定用户具有操作权限的情况下,确定功能请求所携带的url对应的功能的提供方。
78.s106:在功能请求所携带的url对应的功能的提供方为第三方软件的情况下,拦截器获得与功能请求所携带的url对应的目标url,向第三方软件的服务器发送目标url,以便
第三方软件的服务器基于目标url向反向代理服务器发送响应信息。
79.数据平台向用户提供的服务,可能是由数据平台的业务服务器提供的,也可能是由第三方软件的服务器提供的。因此,拦截器在确定用户具有操作权限的情况下,确定功能请求所携带url对应的功能是由哪个设备提供,也就是确定该url对应的功能的提供方。
80.在上文中已经介绍,如果用户请求的功能是由第三方软件的服务器提供,那么客户端向反向代理服务器发送的功能请求所携带的url,是针对该功能构造出的url(第二url),而不是该功能实际的url(第一url)。因此,在确定功能请求所携带的url(第二url,构造出的url)对应的功能的提供方为第三方软件的服务器的情况下,拦截器需要确定出该url对应的第一url,也就是确定出该功能对应的文件的实际url(第一url),向第三方软件的服务器发送该第一url(即目标url)。第三方软件的服务器基于接收到的目标url,向反向代理服务器发送响应信息。
81.可选的,拦截器获得针对该第三方软件的服务器创建的url映射表,从该映射表中查找出与功能请求所携带的url对应的第一url,将查找到的第一url作为目标url。
82.需要说明的是,针对第三方软件的服务器提供的功能的实际url构造出的第二url,需包含表征该第三方软件的服务器的标识,以便拦截器基于该标识确定出功能请求所携带的url对应的功能的提供方具体为哪个设备。例如,针对由第三方软件apache flink的服务器提供的功能,构造出的第二url包含标识flink,当然这仅是一个举例。
83.可选的,拦截器存储接收到的功能请求和针对功能请求执行的处理的信息,以便之后进行审计溯源。
84.s107:反向代理服务器向客户端发送应答信息,应答信息是基于接收到的响应信息生成的。
85.反向代理服务器接收第三方软件的服务器发送的响应信息,基于该响应信息生成应答信息,并向客户端发送给应答信息。
86.本技术公开的访问控制方法,用于对接入数据平台的第三方软件进行访问控制,以提高其访问安全性,其中,数据平台包括反向代理服务器、拦截器和业务服务器。反向代理服务器获得客户端发送的功能请求,在该功能请求满足预设规则的条件下,向拦截器发送该功能请求,能够减少对数据平台的非法访问;拦截器判断用户是否已登录,在确定用户已登录的情况下,判断用户是否具有针对功能请求所携带url的操作权限,在确定用户具有操作权限的情况下,确定该url对应的功能的提供方,如果提供方为第三方软件,那么获得与该url对应的目标url,并向第三方软件的服务器发送目标url,以便第三方软件的服务器基于目标url向反向代理服务器发送响应信息;反向代理服务器向客户端发送应答信息。可以看到,本技术公开的访问控制方法,利用反向代理服务器拦截非法访问,利用拦截器进行用户身份鉴别和访问权限管理,实现了对接入数据平台的第三方软件的访问控制,能够提高第三方软件的访问安全性。
87.本技术的另一个实施例中,进一步设置以下步骤:
88.在url对应的功能的提供方为业务服务器的情况下,拦截器向业务服务器发送功能请求所携带的url;
89.业务服务器基于接收到的url向反向代理服务器发送响应信息。
90.在本技术的上述实施例中,拦截器在确定用户已登录且具有针对功能请求所携带
url的操作权限的情况下,如果该url对应的功能的提供方为业务服务器,那么拦截器向业务服务器发送功能请求所携带的url,由业务服务器基于该url向反向代理服务器发送响应信息,反向代理服务器基于接收到的响应信息生成应答信息,向客户端发送该应答信息。
91.在本技术的另一个实施例中,进一步设置以下步骤:
92.拦截器在确定用户未登录的情况下,向反向代理服务器发送未登录指示;
93.反向代理服务器响应未登录指示,向客户端发送登录提示信息。
94.在本技术的上述实施例中,拦截器判断用户是否已登录,如果确定用户未登录,那么向反向代理服务器发送未登录指示,反向代理服务器响应接收到的未登录指示,向客户端发送登录提示信息,以提示用户执行登录操作。
95.在本技术的另一个实施例中,进一步设置以下步骤:
96.反向代理服务器获得客户端发送的登录请求,向拦截器发送登录请求,其中,登录请求携带用户名和密码;
97.拦截器向业务服务器发送登录请求;
98.业务服务器基于用户名和密码进行身份验证,在确定通过身份验证的情况下,生成令牌,向拦截器发送令牌;
99.拦截器向反向代理服务器发送令牌,并存储该令牌;
100.反向代理服务器向客户端发送令牌。
101.可选的,拦截器将令牌存储于redis中。redis(remote dictionary server)是一种key-value存储系统。
102.客户端将接收到的令牌存储cookie(小型文本文件),在后续发送功能请求时,可以将令牌写入功能请求的请求头中。拦截器在接收功能请求后,判断redis中是否包含该功能请求所携带的令牌,从而确定出用户是否已登录。
103.需要说明的是,客户端向反向代理服务器发送登录请求,可能是用户打开客户端后主动执行的,也可能是在接收到登录提示信息后执行的。
104.在本技术的上述实施例中,反向代理服务器获得客户端发送的登录请求(携带有用户名和密码),向拦截器发送该登录请求,拦截器接收反向代理服务器发送的登录请求,向业务服务器发送该登录请求,业务服务器基于登录请求携带的用户名和密码进行身份验证,如果通过身份验证,则生成令牌,并向拦截器发送令牌,拦截器接收业务服务器发送的令牌,向反向代理服务器发送该令牌,反向代理服务器向客户端发送该令牌,使得客户端后续基于令牌进行访问。
105.在本技术的另一个实施例中,进一步设置以下步骤:
106.拦截器在确定用户不具有操作权限的情况下,向反向代理服务器发送无操作权限指示;
107.反向代理服务器响应无操作权限指示,向客户端发送无操作权限提示信息。
108.在本技术的上述实施例中,拦截器在确定用户已登录的情况下,进一步判断该用户是否具有针对功能请求所携带url的操作权限,如果该用户不具有操作权限,那么拦截器向反向代理服务器发送无操作权限指示,反向代理服务器响应无操作权限指示,生成无操作权限提示信息,向客户端发送无操作权限提示信息,以便用户获知自己无操作权限的问题。
109.下面结合图4对本技术公开的访问控制方法进行说明。
110.参见图4,图4为本技术公开的另一种访问控制方法的信令图。该访问控制方法包括:
111.s201:反向代理服务器获得客户端发送的功能请求。
112.s202:反向代理服务器在功能请求满足预设规则的情况下,向拦截器发送功能请求。
113.s203:拦截器判断用户是否已登录。
114.如果用户未登录,那么执行步骤s204,如果用户已登录,那么执行步骤s206。
115.s204:拦截器向反向代理服务器发送未登录指示。
116.s205:反向代理服务器响应未登录指示,向客户端发送登录提示信息。
117.s206:拦截器判断用户是否具有针对功能请求所携带url的操作权限。
118.如果用户不具有操作权限,那么执行步骤s207,如果用户具有操作权限,那么执行步骤s209。
119.s207:拦截器向反向代理服务器发送无操作权限指示。
120.s208:反向代理服务器响应无操作权限指示,向客户端发送无操作权限提示信息。
121.s209:拦截器确定url对应的功能的提供方。
122.如果url对应的功能的提供方为第三方软件,那么执行步骤s210,如果url对应的功能的提供方为业务服务器,那么执行步骤s213。
123.s210:拦截器获得与功能请求所携带url对应的目标url。
124.s211:向第三方软件的服务器发送目标url。
125.s212:第三方软件的服务器基于目标url向反向代理服务器发送响应信息。
126.s213:拦截器向业务服务器发送功能请求所携带的url。
127.s214:业务服务器基于接收到的url向反向代理服务器发送响应信息。
128.s215:反向代理服务器向客户端发送应答信息。
129.其中,应答信息是反向代理服务器基于从业务服务器或者第三方软件的服务器接收到的响应信息生成的。
130.需要说明的是,说明书中的各个实施例记载的技术特征可以相互替代或组合,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同或相似的部分互相参见即可。本技术各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本技术各实施例装置及设备中的模块和子模块可以根据实际需要进行合并、划分和删减。
131.本技术所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
132.作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模
块或子模块来实现本实施例方案的目的。
133.另外,在本技术各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
134.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
135.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。各个实施例中的各技术特征可以排列组合构成新的实施例。对于实施例公开的数据平台而言,由于其与实施例公开的访问控制方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
136.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1