防止大批量数据被抓取的方法、装置及系统转让专利

申请号 : CN201610323530.9

文献号 : CN106021438B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郝彤

申请人 : 北京京东尚科信息技术有限公司北京京东世纪贸易有限公司

摘要 :

本申请公开一种防止大批量数据被抓取的方法、装置及系统,该方法包括:根据第一请求获取至少一条地址信息;对每一条地址信息按照自定义进制的方式进行序列转化,得到相应的序列码;基于包含有一序列码的第二请求进行反序列转化,得到与第二请求中的序列码相对应的地址信息;根据与第二请求中的序列码相对应的地址信息获取相应的数据信息并在网页进行展示。通过对地址信息进行自定义进制的转化,可以防止按顺序获取网页的地址信息,由于序列码中包含的字符类型以及顺序是都自定义的,在不知道进制顺序的情况下无法抓取到大批量的数据,可以增加破解难度。如果定期后定期的更新自定义进制,还可以进一步增加破解难度,防止大批量数据信息的泄露。

权利要求 :

1.一种防止大批量数据被抓取的方法,其特征在于,包括:根据第一请求获取至少一条地址信息;

对每一条所述地址信息按照自定义进制的方式进行序列转化,得到相应的序列码;

基于包含有一序列码的第二请求进行反序列转化,得到与所述第二请求中的序列码相对应的地址信息,将所述序列码代替所述地址信息作为所述第一请求的反馈;

根据与所述第二请求中的序列码相对应的地址信息获取相应的数据信息并在网页进行展示。

2.根据权利要求1所述的方法,其特征在于,根据第一请求获取至少一条地址信息的步骤包括:通过所述网页获取用户的第三请求;

根据所述第三请求产生所述第一请求,并根据所述第一请求从数据库中查询到符合所述第三请求的至少一条地址信息。

3.根据权利要求1所述的方法,其特征在于,得到相应的序列码之后还包括:将所述至少一条地址信息序列转化而来的至少一个序列码反馈给所述网页;

基于所述网页获取用户选定的序列码发送所述第二请求,所述第二请求中包含所述用户选定的序列码。

4.根据权利要求1所述的方法,其特征在于,所述序列码为数字、大写字母、小写字母以及特殊字符其中之一或至少两者的组合。

5.根据权利要求1所述的方法,其特征在于,所述自定义进制定期或不定期地进行更换。

6.一种防止大批量数据被抓取的装置,其特征在于,包括:第一获取模块,用于根据第一请求获取至少一条地址信息;

序列转化模块,用于对每一条所述地址信息按照自定义进制的方式进行序列转化,得到相应的序列码,将所述序列码代替所述地址信息作为所述第一请求的反馈;

反序列转化模块,用于基于包含有一序列码的第二请求进行反序列转化,得到与所述第二请求中的序列码相对应的地址信息;以及第二获取模块,用于根据与所述第二请求中的序列码相对应的地址信息获取相应的数据信息并在网页进行展示。

7.根据权利要求6所述的装置,其特征在于,所述第一获取模块中包括:获取请求子模块,用于通过所述网页获取用户的第三请求;

查询子模块,用于根据所述第三请求产生所述第一请求,并根据所述第一请求从数据库中查询到符合所述第三请求的至少一条地址信息。

8.根据权利要求6所述的装置,其特征在于,所述装置还包括:反馈模块,用于将所述至少一条地址信息序列转化而来的至少一个序列码反馈给所述网页;

选定模块,用于基于所述网页获取用户选定的序列码发送所述第二请求,所述第二请求中包含所述用户选定的序列码。

9.一种防止大批量数据被抓取的系统,其特征在于,所述系统包括:网页、服务器和数据库;

其中所述网页用于获取用户的第三请求;

所述服务器用于接收所述第三请求,并根据所述第三请求产生第一请求,根据所述第一请求获取至少一条地址信息;对每一条所述地址信息按照自定义进制的方式进行序列转化,得到相应的序列码,将所述序列码代替所述地址信息作为所述第一请求的反馈;

所述数据库用于响应于所述第一请求提供相应的地址信息;

所述网页还用于接收所述服务器反馈的至少一个序列码,并发送包含有一序列码的第二请求;

所述服务器用于接收所述第二请求,并基于所述第二请求进行反序列转化,得到与所述第二请求中的序列码相对应的地址信息;

所述数据库还用于响应于反序列转化后的地址信息提供相应的数据信息;

所述服务器还用于将所述数据信息转发给所述网页,并在所述网页上进行展示。

说明书 :

防止大批量数据被抓取的方法、装置及系统

技术领域

[0001] 本公开总体涉及数据管理技术领域,具体而言,涉及一种防止大批量数据被抓取的方法、装置及系统。

背景技术

[0002] 网络爬虫(简称爬虫)是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。爬虫为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统的爬虫从一个或若干初始网页的URL(Uniform Resoure Locator,统一资源定位器)开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。
[0003] 以日常中使用较多的购物网站为例,当用户通过发出访问一个商品A所对应的网址http://item.****.***/zsodb.html请求时,爬虫可以获取一个与网址“http://item.****.***/zsodb.html”相对应的商品A的相关信息,如果其他的商品与按数字顺序的网址一一对应的话,则爬虫就可以根据地址连接中的数字“1000000”,通过数字增加的方式获取多个商品的信息,假如采用常用的十进制方式,网址http://item.****.***/zsodb.html对应商品A,
[0004] 网址http://item.****.***/zsody.html对应商品B,
[0005] 网址http://item.****.***/zsodh.html对应商品C……
[0006] 进制方式较位常用,因此一旦获知到一个商品的网址之后,很容易获取更多商品的网址,因此而泄露了大量的数据信息。
[0007] 因此,需要一种新的防止大批量数据被抓取的方法、装置及系统。
[0008] 在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。

发明内容

[0009] 本公开提供一种防止大批量数据被抓取的方法、装置及系统,以解决现有技术中按照顺序访问地址获取更多数据信息,导致大批量数据被抓取的技术问题。
[0010] 本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
[0011] 根据本公开的一方面,提供一种防止大批量数据被抓取的方法,包括:
[0012] 根据第一请求获取至少一条地址信息;
[0013] 对每一条所述地址信息按照自定义进制的方式进行序列转化,得到相应的序列码;
[0014] 基于包含有一序列码的第二请求进行反序列转化,得到与所述第二请求中的序列码相对应的地址信息;
[0015] 根据与所述第二请求中的序列码相对应的地址信息获取相应的数据信息并在网页进行展示。
[0016] 根据本公开的一实施方式,根据第一请求获取至少一条地址信息的步骤包括:
[0017] 通过所述网页获取用户的第三请求;
[0018] 根据所述第三请求产生所述第一请求,并根据所述第一请求从数据库中查询到符合所述第三请求的至少一条地址信息。
[0019] 根据本公开的另一实施方式,得到相应的序列码之后还包括:
[0020] 将所述至少一条地址信息序列转化而来的至少一个序列码反馈给所述网页;
[0021] 基于所述网页获取用户选定的序列码发送所述第二请求,所述第二请求中包含所述用户选定的序列码。
[0022] 根据本公开的另一实施方式,所述序列码为数字、大写字母、小写字母以及特殊字符其中之一或至少两者的组合。
[0023] 根据本公开的另一实施方式,所述至少一个序列码构成的序列串无顺序,且所述序列串具有唯一性。
[0024] 根据本公开的另一实施方式,所述自定义进制定期或不定期地进行更换。
[0025] 根据本公开的再一方面,还提供一种防止大批量数据被抓取的装置,包括:
[0026] 第一获取模块,用于根据第一请求获取至少一条地址信息;
[0027] 序列转化模块,用于对每一条所述地址信息按照自定义进制的方式进行序列转化,得到相应的序列码;
[0028] 反序列转化模块,用于基于包含有一序列码的第二请求进行反序列转化,得到与所述第二请求中的序列码相对应的地址信息;以及
[0029] 第二获取模块,用于根据与所述第二请求中的序列码相对应的地址信息获取相应的数据信息并在网页进行展示。
[0030] 根据本公开的一实施方式,所述第一获取模块中包括:
[0031] 获取请求子模块,用于通过所述网页获取用户的第三请求;
[0032] 查询子模块,用于根据所述第三请求产生所述第一请求,并根据所述第一请求从数据库中查询到符合所述第三请求的至少一条地址信息。
[0033] 根据本公开的另一实施方式,所述装置还包括:
[0034] 反馈模块,用于将所述至少一条地址信息序列转化而来的至少一个序列码反馈给所述网页;
[0035] 选定模块,用于基于所述网页获取用户选定的序列码发送所述第二请求,所述第二请求中包含所述用户选定的序列码。
[0036] 根据本公开的又一方面,还提供一种防止大批量数据被抓取的系统,所述系统包括:
[0037] 网页、服务器和数据库;
[0038] 其中所述网页用于获取用户的第三请求;
[0039] 所述服务器用于接收所述第三请求,并根据所述第三请求产生第一请求,根据所述第一请求获取至少一条地址信息;对每一条所述地址信息按照自定义进制的方式进行序列转化,得到相应的序列码;
[0040] 所述数据库用于响应于所述第一请求提供相应的地址信息;
[0041] 所述网页还用于接收所述服务器反馈的至少一个序列码,并发送包含有一序列码的第二请求;
[0042] 所述服务器用于接收所述第二请求,并基于所述第二请求进行反序列转化,得到与所述第二请求中的序列码相对应的地址信息;
[0043] 所述数据库还用于响应于反序列转化后的地址信息提供相应的数据信息;
[0044] 所述服务器还用于将所述数据信息转发给所述网页,并在所述网页上进行展示。
[0045] 根据本公开的技术方案,能够得到以下技术效果:
[0046] 通过对地址信息进行自定义进制的转化,可以防止按顺序获取网页的地址信息,由于序列码中包含的字符类型以及顺序是都自定义的,在不知道进制顺序的情况下无法抓取到大批量的数据,可以增加破解难度。如果定期后定期的更新自定义进制,还可以进一步增加破解难度,防止大批量数据信息的泄露。
[0047] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

[0048] 通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。
[0049] 图1示出本公开一实施例中提供的一种防止大批量数据被抓取的方法的步骤流程图。
[0050] 图2示出本公开另一实施例中提供的一种防止大批量数据被抓取的方法的步骤流程图。
[0051] 图3示出本公开一实施例中以购物网站中对商品的地址信息进行自定义进制转化为例的防止大批量数据被抓取的方法的步骤流程图。
[0052] 图4示出图3所示方法的原理示意图。
[0053] 图5示出本公开实施例中通过管理员或者定时器向服务器更新自定义进制的原理示意图。
[0054] 图6示出本公开另一实施例中提供的一种防止大批量数据被抓取的装置的示意图。
[0055] 图7示出本公开另一实施例中提供的一种防止大批量数据被抓取的系统的示意图。

具体实施方式

[0056] 现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
[0057] 此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。
[0058] 附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0059] 本公开的目的是提供一种通过对现有网址进行自定义进制的转化,防止传统的进制方式中按照顺序访问网址会造成大量数据信息泄露,以下对本公开的技术方案做详细说明。
[0060] 图1示出本公开一实施例中提供的一种防止大批量数据被抓取的方法的步骤流程图,该方法可以按照自定义进制对网址进行转化,转化后的序列码具有无顺序唯一的特点,使得爬虫无法轻易按照顺序增加数字的方式获取大量的数据信息,可以防止信息泄露。
[0061] 如图1所示,在步骤S10中,根据第一请求获取至少一条地址信息。
[0062] 本实施例中的第一请求为服务器向数据库发送的请求信息,这一步骤具体包括:首先,通过网页获取用户的第三请求,该第三请求为通过网页获取的请求信息,可以是一查询请求或一搜索请求。例如,用户在网页的搜索框中输入一个关键词之后,产生相应的第三请求。之后,根据第三请求产生第一请求,并根据第一请求从数据库中查询到符合第三请求的至少一条地址信息。第一请求为服务器到数据库的请求信息,而第三请求为网页到服务器的请求信息。
[0063] 如图1所示,在步骤S20中,对每一条地址信息按照自定义进制的方式进行序列转化,得到相应的序列码。
[0064] 进制也就是进位制,是人们规定的一种进位方法。对于任何一种进制-X进制,就表示某一位置上的数运算时是逢X进一位。例如,十进制是逢十进一,二进制就是逢二进一,十六进制是逢十六进一。
[0065] 本实施例中采用自定义进制的方式,也就是按照用户自定义的方式来定制进制规则,可以按照某种算法对网址中的数字进行转换,转换后的字符是无顺序的。
[0066] 例如,网址中十进制的数字“1000000”经过自定义进制转换后的字符为无序的字母组合“zsodb”,网址中十进制的数字“1000001”经过自定义进制转换后的字符为无序的字母组合“zsody”,网址中十进制的数字“1000002”经过自定义进制转换后的字符为无序的字母组合“zsodh”,网址中十进制的数字“1000003”经过自定义进制转换后的字符为无序的字母组合“zsodn”……由于转换后的字符组合是无序的,通过人工或计算机都很难根据一个字符组合按照顺序推知得到其他字符组合,避免根据推知的字符组合获取数据信息,从而防止大量数据的泄露。
[0067] 如图1所示,在步骤S30中,基于包含有一序列码的第二请求进行反序列转化,得到与第二请求中的序列码相对应的地址信息。
[0068] 如图1所示,在步骤S40中,根据与第二请求中的序列码相对应的地址信息获取相应的数据信息并在网页进行展示。
[0069] 在步骤S30中同样按照自定义进制进行与步骤S20相反的转化,以得到实际上与用户所选择的商品相对应的地址信息,服务器将该商品对应的详细的数据信息转发给网页,并最终在网页上进行展示。
[0070] 图2还示出本实施例另一种实施方式中提供的一种防止大批量数据被抓取的方法的步骤流程图,与图1所示方法相比,在步骤S20之后还包括:
[0071] 步骤S50:将至少一条地址信息序列转化而来的至少一个序列码反馈给网页。
[0072] 步骤S60:基于网页获取用户选定的序列码发送第二请求,第二请求中包含用户选定的序列码。
[0073] 在本实施例中,通过步骤S50按照自定义进制进行转化之后,将转化得到的至少一个序列码反馈给网页。通过步骤S60从网页获取用户选择,例如用户点击某一商品的链接,链接中包含有转化后对应该商品的序列码,因此在前端网页中所呈现的仅仅是经过自定义转化后的序列码,即便爬虫从网页抓取也只能抓取到转化后的序列码,无法抓取到序列码所对应的实际地址信息,从而可以增加破解的难度,防止大量数据信息被泄露。
[0074] 基于上述图1和图2所示的方法,本实施例中采用自定义进制构成的序列码为数字、大写字母、小写字母以及特殊字符其中之一或至少两者的组合,例如,自定义转化后的zsodb为单一的字母组合,可以从26个字母“abcdefghijklmnopqrstuvwxyz”中随意选用字母进行组合得到,而且这些选用的字母没有固定的顺序。除此之外,自定义进制还有多种选择或组合,例如可以是字母和数字的组合“9876543210qazwsxedcrfvtgbyhnujmikolp”,或者还可以是字母、数字与特殊符号的组合“13579qwert@#$%!*”,其中字母还可以进一步对大小字母还是小写字母进行区分,即大写的A和小写的a大小不同的字母……[0075] 本实施例的自定义进制可以是传统的数字十进制之外的X进制,例如可以是26进制,36进制,64进制等等。以自定义进制的字符为例,假设自定义26个字母与十进制的数字对应关系为:
[0076] q--0,1--a,2--z,3--w,4--s,5--x,6--e,7--d,8--c,9--r,10--f,11--v,12--t,13--g,14--b,15--y,16--h,17--n,18--u,19--j,20--m,21--i,22--k,23--o,24--l,25--p。
[0077] 即自定义进制转化后的q代表十进制数字0,自定义进制转化后的a代表十进制数字1,自定义进制转化后的z代表十进制数字2……以此类推,当十进制的数字超过25之后,自定义进制转化后的字母为两位,即自定义进制转化后的aq代表十进制数字26,自定义进制转化后的aa代表十进制数字27……
[0078] 无论以何种自定义进制方式进行转化,最终得到的至少一个序列码构成的序列串无顺序,增加破解难度,有效防止数据信息被泄露,且序列串具有唯一性,保证自定义进制转化的准确度,不会出现一对多的状况。
[0079] 参见图3所示的步骤流程图,以购物网站中对商品的地址信息进行自定义进制转化从而防止大量其他商品的数据信息被泄露为例:
[0080] 在步骤S101中,用户在网页中搜索某商品A,产生搜索商品A的第三请求,网页将第三请求发送给服务器。例如可以通过文字输入或语音输入的方式来实现,除此之外,还可以通过点击网页地址链接的方式实现对商品A的搜索请求,实现搜索商品A的第三请求的方式还可以包括其他方式,此处不再一一列举。
[0081] 在步骤S102中,服务器接收到第三请求后,根据第三请求产生第一请求,并根据该第一请求从数据库中获取符合第三请求的至少一条地址信息。由于每个商品都有一个相应的地址信息,因此从数据库中获取的地址信息至少有一条,如果数据库中能够符合该第三请求的商品有一个,则有一个相应的地址信息;如果数据库中能够符合该第三请求的商品有多个,则有多个相应的地址信息。假设,从数据库中搜索到20个符合搜索条件的商品,也就是一个具有20项条目的商品列表,则对应这个商品刘表就有20条地址信息。
[0082] 在步骤S103中,数据库响应于该第一请求,将符合搜索条件的至少一条地址信息发送给服务器,例如将搜索到的商品列表中的20条地址信息发送给服务器。
[0083] 在步骤S104中,服务器对接收到的至少一条地址信息分别采用自定义进制进行序列转化,得到相应的序列码。例如按照上述自定义进制的字符对每一条地址信息进行转化,经过自定义进制一一转化后,得到至少一个序列码。
[0084] 在步骤S105中,服务器将转化得到的至少一个序列码发送给网页,因此在前端网页并不直接显示对应的商品的网址,而是转化后的序列码,即便爬虫通过网页抓取数据,也只能抓取到转化后的序列码,但是在不清楚转化进制的情况下并不能以此序列码为依据按照顺序的方式获取到其他商品的地址信息,也就无法获知大批量的数据信息,避免数据信息的泄露。
[0085] 在步骤S106中,通过网页获取用户对商品的选择,产生包含有一序列码的第二请求,并将该第二请求发送给服务器。
[0086] 在步骤S107中,服务器接收到第二请求,并基于该第二请求进行反序列转化,得到与第二请求中的序列码相对应的地址信息。
[0087] 在步骤S108中,服务器将反序列转化后的地址信息发送给数据库。
[0088] 在步骤S109中,数据库响应于反序列转化后的地址信息提供相应的数据信息,并将该数据信息发送给服务器。也就是用户选择的商品A所对应的数据信息,也就是可以查看商品详情的页面。
[0089] 在步骤S110中,服务器将数据库提供的数据信息发送给网页,并在网页上进行展示。
[0090] 上述过程的原理示意图如图4所示,前端网页是直接呈现给用户的界面,爬虫可以提供网页进行抓取数据信息,但是经过采用本实施例提供的方法,爬虫抓取的只是经过自定义进制转化后的序列码,无法获知自定义转化前真正的地址信息,从而可以避免爬虫通过简单的顺序增加数字的方式获取大批量的数据信息,增加破解难度。
[0091] 还需要说明的是,为了进一步增加破解难度,还可以对自定义进制定期或不定期地进行更换,定期方式可以通过定时器来实现,即达到定时周期后更换新的自定义进制,不定期方式则可以通过管理员在服务器上进行更换。
[0092] 如图5所示,通过管理员或者定时器向服务器发送更新进制的指令,服务器就执行指令,服务器开始按照新的自定义进制进行序列转化以及反序列转化,实现进自定义进制的更新。
[0093] 通过本实施例提供的方法,通过对地址信息进行自定义进制的转化,可以防止按顺序获取网页的地址信息,由于序列码中包含的字符类型以及顺序是都自定义的,在不知道进制顺序的情况下无法抓取到大批量的数据,可以增加破解难度。如果定期后定期的更新自定义进制,还可以进一步增加破解难度,防止大批量数据信息的泄露。
[0094] 图6还示出本公开另一些实施例中提供的一种防止大批量数据被抓取的装置的示意图,该装置100包括:第一获取模块110、序列转化模块120、反序列转化模块130以及第二获取模块140。
[0095] 第一获取模块110用于根据第一请求获取至少一条地址信息;序列转化模块120用于对每一条地址信息按照自定义进制的方式进行序列转化,得到相应的序列码;反序列转化模块130用于基于包含有一序列码的第二请求进行反序列转化,得到与第二请求中的序列码相对应的地址信息;第二获取模块140用于根据与第二请求中的序列码相对应的地址信息获取相应的数据信息并在网页进行展示。
[0096] 如图6所示,第一获取模块110中包括:获取请求子模块111和查询子模块112,获取请求子模块111用于通过网页获取用户的第三请求,查询子模块112用于根据第三请求产生第一请求,并根据第一请求从数据库中查询到符合第三请求的至少一条地址信息。
[0097] 如图6所示,该装置100还包括:反馈模块150和选定模块160,反馈模块150用于将至少一条地址信息序列转化而来的至少一个序列码反馈给网页,选定模块160用于基于网页获取用户选定的序列码发送第二请求,第二请求中包含用户选定的序列码。
[0098] 图7还示出本公开的另一些实施例中提供的一种防止大批量数据被抓取的系统的示意图,该系统1000包括:网页1100、服务器1200和数据库1300,其中网页1100是指前端展示给用户的界面,数据库1300是指后台存储数据的存储器,服务器1200是指用于实现网页1100与数据库1300之间的数据以及指令进行转换以及传递功能的桥梁。
[0099] 网页1100、服务器1200和数据库1300各自的功能说明如下:
[0100] 网页1100用于获取用户的第三请求;
[0101] 服务器1200用于获取第三请求,并根据第三请求产生第一请求,根据第一请求获取至少一条地址信息;对每一条地址信息按照自定义进制的方式进行序列转化,得到相应的序列码;
[0102] 数据库1300用于响应于第一请求提供相应的地址信息;
[0103] 网页1100还用于接收服务器1200反馈的至少一个序列码,并发送包含有一序列码的第二请求;
[0104] 服务器1200用于接收第二请求,并基于第二请求进行反序列转化,得到与第二请求中的序列码相对应的地址信息;
[0105] 数据库1300还用于响应于反序列转化后的地址信息提供相应的数据信息;
[0106] 服务器1200还用于将数据信息转发给网页1100,并在网页1100上进行展示。
[0107] 该系统中这三部分实现上述功能的过程可以参见图4所示,此处不再赘述。
[0108] 应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施方式。
[0109] 以上具体地示出和描述了本公开的示例性实施方式。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。