一种统一资源定位符url动态匹配方法及装置的制作方法

文档序号:6378077阅读:160来源:国知局
专利名称:一种统一资源定位符url动态匹配方法及装置的制作方法
技术领域
本发明涉及数据处理技术领域,具体涉及一种URL动态匹配方法及装置。
背景技术
URL (Uniform Resource Locator,统一资源定位符)是因特网上标准的资源地址,用于完整地描述因特网上的网页和其他资源,也可标识本地资源,利用URL能唯一标识因特网上的每一个网页或资源。URL由一系列字符组成,格式为protocol://[username:password]ihost[:port] [/path] [ query] [#fragment]。其中,protocol 域指定传输协议,例如HTTP协议,FTP协议等;username和password域指定连接到服务器所需的用户名和密码;host域指定存放资源的服务器的主机名或IP地址;port域指定上述传输协议的端口号;path域指定主机上一个目录或文件的地址;query域指定给动态网页 传递的参数;fragment域指定网络资源中的片断。另外,上述URL格式中,带方括号[]的域为可选项。客户端程序利用URL请求访问因特网服务器的信息资源时,需要确定请求使用的协议、请求的服务器、请求资源的标志符和存储路径等信息,上述信息都由URL地址提供,一个URL地址映射指向一个页面。在现有的URL地址处理中,以多类型的URL映射指向多个页面或同一页面,其中每一类型的URL以不同的控制器controller分开管理,生成的URL地址多以固定的文件名的形式出现,这种处理方式不但代码复杂,扩展不便,且不利于SEO (Search EngineOptimization,搜索引擎优化)搜录,尤其在面对多条件复杂的URL映射问题时,即URL页面中具有数量众多的查询条件可供筛选时,上述问题更加突出,不能提供良好的用户体验。

发明内容
为了解决现有技术中URL维护中代码复杂的问题,本发明提供了一种URL动态匹配方法及装置。一方面,本发明提供的URL动态匹配方法包括以单个控制器controller接管全部URL地址,根据预先设置的正则规则库对所述全部URL地址进行分类;对每一类URL地址,利用所述正则规则库进行参数映射,将映射结果存入URL参数库中;以及基于所述URL参数库、按照页面展示需求选择URL参数,生成需要的URL地址进行页面展示。进一步地,所述每一类URL地址具有唯一的关键特征符,所述全部URL地址包含一个或多个关键特征符,并且对于不具有所述一个或多个关键特征符中任一关键特征符的URL地址,在所述单个控制器controller接管全部URL地址之前,以其它controller接管,或者在所述单个控制器controller接管全部URL地址之后,由所述单个controller的分支进行处理。进一步地,所述预先设置的正则规则库中包含一个或多个正则表达式,与不同的正则表达式相匹配的一个或多个URL地址被分为不同的类。进一步地,当所述全部URL地址中出现与所有正则表达式均不匹配的URL地址时,或者当所述全部URL地址中出现与正则表达式匹配错误的URL地址时,拦截该不匹配或匹配错误的URL地址。进一步地,在基于所述URL参数库、按照页面展示的需求筛选所述URL参数时,筛选出的不同的URL参数的排列顺序与它们在对应的正则表达式中的顺序一致。另一方面,本发明提供的URL动态匹配装置包括URL接管分类处理模块,用于以单个控制器contiOller接管全部URL地址,根据预先设置的正则规则库对所述全部URL地址进行分类;URL参数映射处理模块,用于对每一类URL地址,利用所述正则规则库进行参数映射,将映射结果存入URL参数库中;以及URL生成处理模块,用于基于所述URL参数库、按照页面展示需求选择URL参数,生成需要的URL地址进行页面展示。本发明有益效果如下
I.本发明以单个controller接管全部URL,对各类URL实行统一管理,统一分类和解析处理,减少了系统中controller的数量,简化了代码的复杂程度,有利于程序的扩展和维护。对于某些特殊URL,在controller层即将其分发出去另行处理,通过合理增加contiOller的数量,最大程度地平衡系统资源和实际处理需求之间的关系。2.将各类URL解析映射得到的参数集中起来,在生成新的URL时,根据业务需求对参数所对应的条件进行筛选组合,保留需要的条件,排除不需要的条件,组合时按照正则规则定义的顺序自动排列拼接,动态地生成唯一的URL地址,用于展示页面,提高了代码的重用率和页面显示的灵活性,降低了维护成本。3.在利用正则规则对URL进行匹配解析的过程中,对匹配失败的URL进行拦截干预处理,可优化SEO搜录;还可利用正则表达式的贪婪模式和懒惰模式进行适当的宽松匹配,可提闻系统容错能力。


图I是本发明的URL动态匹配方法流程框图。图2是本发明实施例中的URL动态匹配方法总体流程示意图。图3是本发明的URL动态匹配装置的结构示意图。
具体实施例方式以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。图I为本发明的URL动态匹配方法流程框图,包括S101,以单个控制器controller接管全部URL地址,根据预先设置的正则规则库对所述全部URL地址进行分类;S102,对每一类URL地址,利用所述预先设置的正则规则库进行参数映射,将映射结果存入URL参数库中;S103,基于所述URL参数库、按照页面展示的需求选择URL参数,生成需要的URL地址进行页面展示。不同于以往的对一个或一类URL地址指派一个controller,本发明利用上述步骤对全部URL地址进行处理,将URL地址全部以单个controller利用通配符(*)统一接管(以下将这个controller称为主干controller),后续利用正则规则库对接管的URL地址进行分配和处理,减少了需要的controller的数目,节约了系统资源,简化了程序代码,有利于URL地址的统一管理和维护。图2为本发明实施例中的URL动态匹配方法总体流程示意图,其以主干controller接管所有URL地址,对于所有URL地址,可能出现以下情况其中一定数量的URL符合关键特征符(即在站点参数host或目录层path中预先指定的某一部分,表征URL的属性,是URL中不可缺少的部分)的匹配,即它们的关键特征符相同,独一无二,具有排他的关键特征符,则这些URL可形成一个至少关键特征符相同的形似列表,按照这样的规则,所有URL地址可能得到多个关键特征符,形成多个形似列表,进行后续处理;可能还有一些与所有关键特征符都不符的URL地址,这些URL地址不属于任一形似列表。针对这些情况,可在主干controller接管所有URL地址之前或之后实施URL地址的分发处理。一方面,对于在主干contiOller接管所有URL地址之前实施分发,可按照自定义的规定,将没有匹配上关键特征符的URL,即不属于任一形似列表的URL另行分配给其它指定的controller进行接管和处理,而不以主干controller接管。例如,对于根据需要的特 另IJ开放的URL列表(如对外开放的应用程序接口,详情页,帮助页等),利用正则表达式中的零宽断言法将其在主干controller中予以排除,指派在其他controlIer中接管处理。而对于匹配上关键特征符的URL,则按照相应流程在同一分支下处理,在不同的页面中展示。这样处理的好处是对于那些显然不能与其它URL地址统一处理的URL地址,在controller层即分开处理,达到对URL地址初步分发的目的。另一方面,对于在主干controller接管所有URL地址之后实施分发,可由主干controller建立相应的分支另行处理。例如,对于没有匹配上关键特征符的URL,需要自定义其分支处理,如定义同一层级目录予以区分,如建立“openapi”目录层级代表对外开放的API接口处理分支,建立“help”目录层级代表帮助中心的处理分支等等;对于匹配上关键特征符的URL,按照相应流程在同一分支下处理,不同的页面中展示即可。正则规则库是正则表达式的集合,本发明的正则规则库中包含一个或多个正则表达式,主干controller接管的全部URL地址与正则规则库中的正则表达式相匹配,与不同的正则表达式相匹配的URL地址被分到不同的类,以实现统一接管后的分类处理,提高整体处理效率。正则表达式(regular expression)是指用一个“字符串”来描述一个特征,以验证另一个“字符串”是否符合这个特征。例如表达式“mn*”描述一个字符串的特征,该特征为一个“m”和任意个“η”组成,如果待验证的字符串是“mn”、“mnn”或“mnnnnnn”,则这些字符串均符合这个特征。因此,正则表达式可以用来验证字符串是否符合指定的特征,若符合则为相匹配,还可以用来查找、替换字符串,等等。本实施例中的正则表达式可为自定义的,也可参考已有的正则表达式匹配规则进行设置,例如以关键特征符作为匹配原则;可以为全部URL地址对应于某一个正则表达式,或某几个URL地址对应于某一个正则表达式,或某一个URL地址对应于某一个正则表达式。其中,当URL地址中出现与预设的所有正则表达式均不匹配的URL地址时,或者当URL地址中出现与对应的正则表达式匹配错误的URL地址时,应将该不匹配或匹配错误的URL地址予以拦截,进行干预处理,避免出现404错误提示页面,优化SEO搜录,提高用户体验。例如,如果匹配的参数是商品类别,则在找不到匹配商品类别的情况下,可以直接友好地展示不带约束条件的商品信息,或其它友好提示等,而不是跳出404错误提示页面,可提高容错能力,改善用户体验。此外,在正则表达式和URL地址进行匹配的过程中,可利用正则表达式中的贪婪模式和懒惰模式进行适当的宽松匹配,提高容错能力。对于那些顺利匹配到正则表达式的URL地址,对其进行参数解析映射,将映射结果存入URL参数库中,例如,对于URL http://domain/alblcl/,对应的正则表达式是/(a\d{l}) (b\d{l}) (c\d{l}) / ,可以映射得到条件 argl=al、arg2=bl 和 arg3=cl,将三者保存到URL参数库中。这里,URL参数库 是用来生成URL地址的筛选条件的集合,将筛选条件转换成可识别的查询条件进行页面展示,例如将argl=al转换成price=1100,表示al代表价格为1-100元的情况,还可以转换成区域、类别、商圈等查询条件。在上述解析映射过程中,可对任意的某个或某类URL地址实施拦截,另行处理,针对某些搜索引擎收录的过期URL或当前失效的URL的转化,具有灵活的处理能力。基于得到的URL参数库、按照页面展示的需求筛选URL参数,生成需要的URL地址进行页面展示。具体来看,由于不同的用户对URL展示页面有不同的需求,因此在生成页面之前,要按照业务需求对URL参数库进行筛选,挑选那些需要的选项转换为查询条件,组合生成URL地址,继而显示展示页面。需要强调的是,对筛选出的查询条件进行组合生成URL地址时,各个查询条件的前后顺序与它们在对应的正则表达式中的顺序一致。举例来讲,假设当前已选的查询条件有“域名”、“区域”、“类别”、“价格”、“配置”和“服务项”,由这些条件生成的URL地址为http: // {域名} / {区域} / {类别} / {价格} {配置} {服务项} / ;此时,想要在当前页面中排除“区域”条件,在加上“地标”条件,那么应以如下组合生成URL地址http:// {域名} / {地标} / {类别} / {价格} {配置} {服务项} /,其中“区域”条件被排除,“地标”条件插入到“域名”之后、“类别”之前;又如,想要在原页面的基础上增加“商圈”条件,则可这样组合http://{域名}/{区域}/{商圈}/{类别}/{价格H配置H服务项}/,“商圈”插入到“区域”条件之后、“类别”条件之前,这是由它们在正则表达式中的排序决定的,可在选定需要的条件后自动排位生成唯一的URL地址。按照上述方法实现URL地址的动态组合生成,可对URL地址进行灵活地管理,代码易读,集中,可扩展,维护成本低。另一方面,本发明还提供了一种URL动态匹配装置,如图3所示,包括URL接管分类处理模块201,用于以单个控制器controller接管全部URL地址,根据预先设置的正则规则库对所述全部URL地址进行分类;URL参数映射处理模块202,用于对每一类URL地址,利用所述正则规则库进行参数映射,将映射结果存入URL参数库中;以及URL生成处理模块203,用于基于所述URL参数库、按照页面展示需求选择URL参数,生成需要的URL地址进行页面展示。其中,其中所述每一类URL地址具有唯一的关键特征符,所述全部URL地址包含一个或多个关键特征符,并且对于不具有所述一个或多个关键特征符中任一关键特征符的URL地址,在所述单个控制器controller接管全部URL地址之前,以其它controller接管,或者在所述单个控制器controller接管全部URL地址之后,由所述单个controller的分支进行处理。所述预先设置的正则规则库中包含一个或多个正则表达式,与不同的正则表达式相匹配的一个或多个URL地址被分为不同的类型。进一步地,当所述全部URL地址中出现与所有正则表达式均不匹配的URL地址时,或者当所述全部URL地址中出现与正则表达式匹配错误的URL地址时,URL参数映射处理模块拦截该不匹配或匹配错误的URL地址。进一步地,在基于所述URL参数库、按照页面展示的需求筛选所述URL参数时,URL生成处理模块筛选出的不同的URL参数在生成的URL地址中的排列顺序与它们在对应的正则表达式中的顺序一致。利用本发明的URL动态匹配装置可动态地生成唯一的URL地址,用于灵活展示页面,可提高代码的重用率,降低代码维护成本。尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。·
权利要求
1.一种统一资源定位符URL动态匹配方法,其特征在于,包括 以单个控制器contiOller接管全部URL地址,根据预先设置的正则规则库对所述全部URL地址进行分类; 对每一类URL地址,利用所述正则规则库进行参数映射,将映射结果存入URL参数库中; 基于所述URL参数库、按照页面展示需求选择URL参数,生成需要的URL地址进行页面展示。
2.如权利要求I所述的URL动态匹配方法,其特征在于,其中所述每一类URL地址具有唯一的关键特征符,所述全部URL地址包含一个或多个关键特征符,对于不具有所述一个或多个关键特征符中任一关键特征符的URL地址,在所述单个控制器controller接管全部URL地址之前,以其它controller接管,或者在所述单个控制器controller接管全部URL地址之后,由所述单个controller的分支进行处理。
3.如权利要求I所述的URL动态匹配方法,其特征在于,所述预先设置的正则规则库中包含一个或多个正则表达式;与不同的正则表达式相匹配的一个或多个URL地址被分为不同的类型。
4.如权利要求3所述的URL动态匹配方法,其特征在于,当所述全部URL地址中出现与所有正则表达式均不匹配的URL地址时,或者当所述全部URL地址中出现与正则表达式匹配错误的URL地址时,拦截该不匹配或匹配错误的URL地址。
5.如权利要求1-4中任一权利要求所述的URL动态匹配方法,其特征在于,在基于所述URL参数库、按照页面展示的需求选择所述URL参数时,筛选出的不同的URL参数在生成的URL地址中的排列顺序与它们在对应的正则表达式中的顺序一致。
6.一种统一资源定位符URL动态匹配装置,其特征在于,包括 URL接管分类处理模块,用于以单个控制器controller接管全部URL地址,根据预先设置的正则规则库对所述全部URL地址进行分类; URL参数映射处理模块,用于对每一类URL地址,利用所述正则规则库进行参数映射,将映射结果存入URL参数库中; URL生成处理模块,用于基于所述URL参数库、按照页面展示需求选择URL参数,生成需要的URL地址进行页面展示。
7.如权利要求6所述的URL动态匹配装置,其特征在于,其中所述每一类URL地址具有唯一的关键特征符,所述全部URL地址包含一个或多个关键特征符;所述URL接管分类处理模块还用于,对于不具有所述一个或多个关键特征符中任一关键特征符的URL地址,在所述单个控制器controller接管全部URL地址之前,由其它controller接管,或者在所述单个控制器controller接管全部URL地址之后,由所述单个controller的分支进行处理。
8.如权利要求6所述的URL动态匹配装置,其特征在于,其中所述预先设置的正则规则库中包含一个或多个正则表达式,与不同的正则表达式相匹配的一个或多个URL地址被分为不同的类型。
9.如权利要求8所述的URL动态匹配装置,其特征在于,其中当所述全部URL地址中出现与所有正则表达式均不匹配的URL地址时,或者当所述全部URL地址中出现与正则表达式匹配错误的URL地址时,URL参数映射处理模块拦截该不匹配或匹配错误的URL地址。
10.如权利要求6-9中任一权利要求所述的URL动态匹配装置,其特征在于,其中在基于所述URL参数库、按照页面展示的需求选择所述URL参数时,URL生成处理模块筛选出的不同的URL参数在生成的URL地址中的排列顺序与它们在对应的正则表达式中的顺序一致。
全文摘要
本发明公开了一种URL动态匹配方法和装置,以单个控制器controller接管全部URL地址,根据预先设置的正则规则库对全部URL地址进行分类;对每一类URL地址,利用所述正则规则库进行参数映射,将映射结果存入URL参数库中;且基于所述URL参数库、按照页面展示需求筛选URL参数,生成需要的URL地址进行页面展示。本发明减少了系统中controller的数量,简化了代码的复杂程度,在生成新的URL时,根据业务需求对参数所对应的条件进行筛选组合,保留需要的条件,排除不需要的条件,组合时按照正则规则定义的顺序自动排列拼接,动态地生成唯一的URL地址,提高了代码的重用率和页面显示的灵活性,降低了维护成本。
文档编号G06F17/30GK102902780SQ201210371469
公开日2013年1月30日 申请日期2012年9月28日 优先权日2012年9月28日
发明者刘冬军 申请人:五八有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1