CN107948314A - 基于规则文件的业务处理方法、装置及服务器 - Google Patents

基于规则文件的业务处理方法、装置及服务器 Download PDF

Info

Publication number
CN107948314A
CN107948314A CN201711394966.8A CN201711394966A CN107948314A CN 107948314 A CN107948314 A CN 107948314A CN 201711394966 A CN201711394966 A CN 201711394966A CN 107948314 A CN107948314 A CN 107948314A
Authority
CN
China
Prior art keywords
rule
access request
processing
buffer area
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711394966.8A
Other languages
English (en)
Other versions
CN107948314B (zh
Inventor
程时虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taikang Insurance Group Co Ltd
Taikang Online Property Insurance Co Ltd
Original Assignee
Taikang Insurance Group Co Ltd
Taikang Online Property Insurance Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Taikang Insurance Group Co Ltd, Taikang Online Property Insurance Co Ltd filed Critical Taikang Insurance Group Co Ltd
Priority to CN201711394966.8A priority Critical patent/CN107948314B/zh
Publication of CN107948314A publication Critical patent/CN107948314A/zh
Application granted granted Critical
Publication of CN107948314B publication Critical patent/CN107948314B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出一种基于规则文件的业务处理方法、装置及服务器,其中,该方法包括:获取客户端发送的访问请求;对所述访问请求进行解析,确定所述访问请求对应的第一访问参数集;根据所述第一访问参数集中各访问参数,确定与所述访问请求对应的N个缓存区,其中,N为大于或等1的正整数;分别从所述N个缓存区中,获取与所述访问请求对应的M种处理规则,其中,M为大于或等于N的正整数;根据所述M种处理规则,对所述访问请求进行处理。由此,实现了在配置变更时,无需重启服务器或重新加载配置,根据缓存区中的处理规则即可进行业务处理,实现过程简洁、高效,降低了运营成本。

Description

基于规则文件的业务处理方法、装置及服务器
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于规则文件的业务处理方法、装置及服务器。
背景技术
Nginx,是一个高性能的HTTP(HyperText Transfer Protocol,超文本传输协议)和反向代理服务器,同时也是一个IMAP(Internet Message Access Protocol,互联网邮件访问协议)/POP3(Post Office Protocol3,即邮局协议的第3个版本)/SMTP(Simple MailTransfer Protocol,简单邮件传输协议)代理服务器。由于Nginx的性能优越且可以免费使用,因此众多企业将Nginx作为其网站服务器。
在实际运用中,可能需要经常变更Nginx的配置,但是现有技术,每次进行配置变更时,都需要重启Nginx或重新加载配置,实现过程复杂,效率低,且配置变更过程需要专门的运维人员操作,人力成本高。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
本发明提出一种基于规则文件的业务处理方法,通过预先将处理规则存入对应的缓存区中,在获取到客户端发送的访问请求后,再从与访问请求对应的缓存区中获取与访问请求对应的处理规则,以对访问请求进行处理,实现了在配置变更时,无需重启服务器或重新加载配置,根据缓存区中的处理规则即可进行业务处理,实现过程简洁、高效,降低了运营成本。
本发明还提出一种基于规则文件的业务处理装置。
本发明还提出一种服务器。
本发明还提出一种计算机可读存储介质。
本发明第一方面实施例提出了一种基于规则文件的业务处理方法,包括:获取客户端发送的访问请求;对所述访问请求进行解析,确定所述访问请求对应的第一访问参数集;根据所述第一访问参数集中各访问参数,确定与所述访问请求对应的N个缓存区,其中,N为大于或等1的正整数;分别从所述N个缓存区中,获取与所述访问请求对应的M种处理规则,其中,M为大于或等于N的正整数;根据所述M种处理规则,对所述访问请求进行处理。
本发明第二方面实施例提出了一种基于规则文件的业务处理装置,包括:第一获取模块,用于获取客户端发送的访问请求;第一确定模块,用于对所述访问请求进行解析,确定所述访问请求对应的第一访问参数集;第二确定模块,用于根据所述第一访问参数集中各访问参数,确定与所述访问请求对应的N个缓存区,其中,N为大于或等1的正整数;第二获取模块,用于分别从所述N个缓存区中,获取与所述访问请求对应的M种处理规则,其中,M为大于或等于N的正整数;处理模块,用于根据所述M种处理规则,对所述访问请求进行处理。
本发明第三方面实施例提出了一种服务器,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的基于规则文件的业务处理方法。
本发明第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,当所述程序被处理器执行时实现如第一方面所述的基于规则文件的业务处理方法。
本发明实施例提供的技术方案可以包括以下有益效果:
通过预先将处理规则存入对应的缓存区中,在获取到客户端发送的访问请求后,再从与访问请求对应的缓存区中获取与访问请求对应的处理规则,以对访问请求进行处理,实现了在配置变更时,无需重启服务器或重新加载配置,根据缓存区中的处理规则即可进行业务处理,实现过程简洁、高效,降低了运营成本。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一个实施例的基于规则文件的业务处理方法的流程图;
图1A是本发明一个实施例的基于规则文件的业务处理方法的示例图;
图2是本发明一个实施例的基于规则文件的业务处理装置的结构示意图;
图3是本发明另一个实施例的基于规则文件的业务处理装置的结构示意图;
图4是本发明一个实施例的服务器的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
本发明各实施例针对现有技术,每次进行Nginx配置变更时,都需要重启Nginx或重新加载配置,实现过程复杂,效率低,且配置变更过程需要专门的运维人员操作,人力成本高的问题,提出一种基于规则文件的业务处理方法。
本发明实施例提供的基于规则文件的业务处理方法,通过预先将处理规则存入对应的缓存区中,在获取到客户端发送的访问请求后,再从与访问请求对应的缓存区中获取与访问请求对应的处理规则,以根据获取的处理规则对访问请求进行处理,实现了在配置变更时,无需重启服务器或重新加载配置,根据缓存区中的处理规则即可进行业务处理,实现过程简洁、高效,降低了运营成本。
下面结合附图,对本发明实施例提供的基于规则文件的业务处理方法、装置及服务器进行说明。
图1是本发明一个实施例的基于规则文件的业务处理方法的流程图。
如图1所示,该基于规则文件的业务处理方法包括:
步骤101,获取客户端发送的访问请求。
具体的,本发明实施例提供的基于规则文件的业务处理方法,可以由本发明实施例提供的基于规则文件的业务处理装置,以下简称业务处理装置执行,该装置可以被配置在任意网站服务器中,以进行业务处理。
其中,访问请求,可以是用户通过点击、长按或者滑动等操作触控客户端上具有访问功能的按钮触发的,也可以是通过其它方式触发的,此处不作限制。
比如,用户可以在如图1A所示的客户端用户界面的地址栏输入“http://10.90.7.10:81/shm/chuang”,然后点击“搜索”按钮,触发访问请求,从而业务处理装置可以获取客户端发送的访问请求。
步骤102,对访问请求进行解析,确定访问请求对应的第一访问参数集。
具体的,获取到客户端发送的访问请求后,业务处理装置即可对访问请求进行解析,确定访问请求对应的第一访问参数集。
其中,第一访问参数集,可以包括以下参数中的至少一个:互联网协议(InternetProtocol Address,简称IP)地址、统一资源定位符(Uniform Resource Locator,简称URL)、访问请求对应的业务类型。
其中,访问请求对应的业务类型,可以是访问视频网站、访问文字网站、进行网页支付等任意类型。
步骤103,根据第一访问参数集中各访问参数,确定与访问请求对应的N个缓存区,其中,N为大于或等于1的正整数。
具体的,业务处理装置可以预先为包括不同访问参数的访问参数集分配对应的缓存区,从而在确定访问请求对应的第一访问参数集后,可以从分配了缓存区的访问参数集中,选取与第一访问参数集匹配的访问参数集,并根据预设的访问参数集与缓存区的对应关系,确定与第一访问参数集对应的N个缓存区。
举例来说,假设预先为包括IP地址的访问参数集A分配了缓存区1、为包括URL的访问参数集B分配了缓存区2、为包括访问请求对应的业务类型的访问参数集C分配了缓存区3、为包括IP地址和URL的访问参数集D分配了缓存区4、为包括IP地址和访问请求对应的业务类型的访问参数集E分配了缓存区5、为包括URL和访问请求对应的业务类型的访问参数集F分配了缓存区6。则确定访问请求对应的第一访问参数集后,若确定第一访问参数集包括IP地址,则可以确定与访问请求对应的缓存区为访问参数集A对应的缓存区1。若确定第一访问参数集包括IP地址和URL,则可以确定与访问请求对应的缓存区为与访问参数集D对应的缓存区4。
需要说明的是,上述为不同的访问参数集分配缓存区的示例,仅是示意性说明,不能作为对本申请技术方案的限制,本领域技术人员在此基础上,可以根据需要任意设置为访问参数集分配缓存区的规则,本申请对此不作限定。
具体实现时,可以通过以下方式,为某个访问参数集分配对应的缓存区,即,在步骤103之前,还可以包括:
获取第一全局变量定义指令,指令中包括第一全局变量标识及第二访问参数集;
根据预设的规则,为第一全局变量标识及第二访问参数集分配对应的第一缓存区。
其中,第一全局变量标识,用来唯一标识第一全局变量,其可以根据服务器的编程语言的语法规则进行设置。
第二访问参数集,为待分配缓存区的访问参数集,其可以包括以下参数中的至少一个:IP地址、URL、访问请求对应的业务类型。
预设的规则,是指用来规定如何为全局变量标识及访问参数集分配缓存区的规则,其可以根据需要设置。
比如,在获取某个全局变量定义指令后,可以为其包括的全局变量标识及访问参数集随机分配缓存区。
或者,也可以将各缓存区按位置进行排序,按照获取各全局变量定义指令的顺序为各全局变量指令中包括的全局变量标识及访问参数集分配缓存区。比如,第一次获取到全局变量定义指令后,可以将全局变量指令中包括的全局变量标识及访问参数集分配到缓存区1,第二次获取到全局变量定义指令后,可以将全局变量指令中包括的全局变量标识及访问参数集分配到缓存区2,第三次获取到全局变量定义指令后,可以将全局变量指令中包括的全局变量标识及访问参数集分配到缓存区3,等等。
或者,如上述示例,可以根据访问参数集中包括的访问参数,为全局变量标识及访问参数集分配缓存区。
在本发明实施例中,以通过脚本语言lua实现基于规则文件的业务处理方法为例进行说明。
具体的,可以在脚本文件中,根据第一全局变量标识、第二访问参数集及预设的规则,利用lua_shared_dict定义一个第一全局变量,通过执行脚本文件,即可为第一全局变量标识及第二访问参数集分配对应的第一缓存区。其中,第一缓存区为第一全局变量的缓存区。
需要说明的是,分配缓存区时,缓存区的大小可以根据需要设置。
步骤104,分别从N个缓存区中,获取与访问请求对应的M种处理规则,其中,M为大于或等于N的正整数。
其中,M种处理规则可以包括以下规则中的至少一种:重定向规则、负载均衡规则及安全防护规则。
具体的,可以预先将各处理规则存入对应的缓存区中,从而在根据第一访问参数集中各访问参数,确定与访问请求对应的N个缓存区后,即可分别从N个缓存区中,获取与访问请求对应的M种处理规则。
更具体的,可以预先将各处理规则写入规则文件即构建规则文件,并构建对应的解析文件,再利用解析文件对对应的规则文件进行解析,从而将解析得到的处理规则存入全局变量的缓存区。
需要说明的是,将各处理规则写入规则文件时,一个规则文件中可以写入一个处理规则,而利用与多个规则文件分别对应的多个解析文件,分别对多个规则文件进行解析后,可以将解析得到的多个处理规则存入一个全局变量的缓存区,即一个全局变量的缓存区中可以存入一个或多个处理规则,因此M大于或等于N。
进一步的,在步骤104之前,还可以包括:
获取规则文件解析请求,解析请求中包括目标全局变量标识、目标规则文件的第一存储路径,及对目标规则文件进行解析的目标解析文件的第二存储路径;
根据第二存储路径,获取并触发目标解析文件对第一存储路径中的目标规则文件进行解析,并将解析结果存入与目标全局变量标识对应的缓存区中。
具体的,可以预先构建规则文件及对应的解析文件,然后将构建的规则文件和解析文件分别存入服务器的特定位置。从而在获取到规则文件解析请求时,即可根据目标解析文件的第二存储路径,获取目标解析文件,并触发目标解析文件对第一存储路径中的目标规则文件进行解析,并将解析得到的处理规则存入与目标全局变量标识对应的缓存区中。
其中,规则文件和解析文件的存储位置,可以是服务器指定的,也可以是用户根据需要设置的,此处不作限制。
另外,构建规则文件时,需要结合业务场景,按照服务器的编程语言易于处理的方式进行构建。将所有的处理规则都写入规则文件后,即可将规则文件存入服务器的特定位置,并根据业务需要,对规则文件中的内容进行随时更新,以保证规则文件的实时性和准确性。
需要说明的是,构建的规则文件,可以是根据处理规则新生成的规则文件,也可以是在配置更新时,根据新的处理规则对原有的规则文件进行更新后生成的规则文件,此处不作限制。
具体实现时,可以通过请求专门配置的location的URL,触发content_by_lua_file指令通过调用lua脚本对目标规则文件进行解析,然后将解析得到的处理规则存入与目标全局变量标识对应的缓存区中。
可以理解的是,本发明实施例提供的基于规则文件的业务处理方法,可以根据业务需要,灵活的定义处理规则,从而可以满足各种业务场景。将对规则文件进行解析得到的处理规则存入缓存的步骤,可以灵活的集成到内容管理系统等应用系统,从而不再需要Nginx的运维人员重新加载nginx.conf配置,也省去了在基于redis缓存的维护工作,且规则存入缓存后,立即生效,无需等待期。
步骤105,根据M种处理规则,对访问请求进行处理。
具体的,假设处理规则包括重定向规则,其中,重定向规则,可以将字符串较长的、没有直观含义的物理地址信息映射到一个比较简单的、直观的具有业务信息的短链接,同时可以隐藏真实的物理路径信息。
则业务处理装置从与访问请求对应的N个缓存区中,获取了与访问请求对应的重定向规则后,可以根据访问请求对应的第一访问参数集中包括的,用户访问的资源的短链接地址,得到真实物理地址,实现短链接地址到真实物理地址的重定向,然后将真实物理地址下面的资源页面反馈给客户端,从而客户端可以得到正确的页面内容。
在一种可能的实现形式中,处理规则可以包括负载均衡规则,相应的,步骤105可以包括:
根据负载均衡规则,确定与请求对应的目标处理器;
将访问请求发送给目标处理器进行处理。
其中,负载均衡规则,可以将负载(访问请求)进行平衡、分摊到多个预设的处理器上执行,或者,也可以将负载(访问请求)分配到某个预设的处理器上执行。相应的,根据负载均衡规则,确定的与访问请求对应的目标处理器,可以是多个,也可以是一个。
具体的,业务处理装置根据从与访问请求对应的N个缓存区中,获取的与访问请求对应的负载均衡规则,确定与访问请求对应的目标处理器后,即可将访问请求发送给目标处理器,由目标处理器获取与访问请求对应的资源页面,然后将获取的资源页面反馈给客户端,从而客户端可以得到与访问请求对应的页面内容。
在另一种可能的实现形式中,处理规则包括安全防护规则,相应的,步骤105可以包括:
根据安全防护规则,判断第一访问参数集中各访问参数是否均合法;
若否,则向客户端返回请求错误消息。
具体的,安全防护规则,可以规定合法的访问参数及不合法的访问参数,从而在业务处理装置从与访问请求对应的N个缓存区中,获取与访问请求对应的安全防护规则后,可以根据安全防护规则,判断第一访问参数集中各访问参数是否与安全防护规则规定的不合法访问参数匹配。
若第一访问参数集中存在某个访问参数与安全防护规则规定的不合法访问参数匹配,则可以确定该访问参数不合法,从而可以向客户端返回请求错误消息。若第一访问参数集中各访问参数,与安全防护规则规定的不合法访问参数均不匹配,则可以确定各访问参数均合法,从而可以获取与访问请求对应的资源页面,然后将获取的资源页面反馈给客户端,从而客户端可以得到与访问请求对应的页面内容。
下面结合具体的程序代码,对本发明实施例提供的基于规则文件的业务处理方法进行说明。
假设某互联网网站Nginx服务器上openresty的安装路径下,存在html/BUDIR目录,处理规则包括重定向规则。
服务器已发布了如下页面路径,反映了资源页面发布后的物理链接即物理地址URI(Universal Resource Identifier,统一资源标志符)信息。
BUDIR
|--blue.html
I--good
I I--minibus.html
I I--newblue.html
I --window.html
I--green.html
I--hand.html
I--head.html
I--hello.html
I--minibus.html
I--white.html
I--window.html
`--yellow.html
下面的信息,每一行表示一个短链接与物理链接的映射关系,也就是一个资源,可以将这些信息写入规则文件maps.txt,并发布到Nginx服务器指定的目录下面。
green::/BUDIR/green.html
good/window::/BUDIR/window.html
good/minibus::/BUDIR/minibus.html
good/newblue::/BUDIR/good/newblue.html
head::/BUDIR/head.html
hand::/BUDIR/hand.html
yellow::/BUDIR/yellow.html
blue::/BUDIR/blue.html
hello::/BUDIR/hello.html
baise::/BUDIR/white.html
chuang::/BUDIR/window.html
然后,可以通过如下程序代码,实现本发明实施例的基于规则文件的业务处理方法。
其中,标号①的部分,利用lua_shared_dict定义了一个全局变量rulemap,其中指定全局变量容纳5兆(m)内容。标号②对应的操作就是基于短链接物理地址映射信息文件maps.txt刷新rulemap的location配置示意。标号③对应的操作,就是正常客户请求对应的location配置,通过rewrite_by_lua_file指令指定的rewrite.lua脚本实现重定向功能。需要说明的是,上述配置,主要在nginx.conf的配置文件进行,属于系统级别的配置,只需配置一次。
通过执行标号②的部分,可以执行规则文件解析请求,请求的地址就是标记②中配置的location对应的url,触发lua的content_by_lua_file指令执行lua脚本,在loadmap.lua的脚本里面,将maps.txt的短链接和物理地址信息,分别以key和value的键值对的关系,存入rulemap。
执行一次http请求,请求的地址就是标号③中配置的location对应的url。执行该请求,即rewrite.lua脚本被执行,当客户端访问资源的短链接是surl,若该短链接信息是rulemap中的一个key,即可获取到物理地址purl,然后依据ngx.exec或者ngx.req.set_uri等指令,就可以将相应物理地址下面的资源html页面反馈给发送访问请求的客户端的浏览器。如图1A所示,用户在客户端浏览器的在地址栏输入“http://10.90.7.10:81/shm/chuang”,然后点击搜索,浏览器即可显示chuang对应的Nginx的root目录html下的BUDIR目录里面的对应html页面window.html,实现请求的短链接地址到真实物理地址的重定向,并正确的得到页面内容。
上述过程基于访问静态资源html描述了重定向方法,在实际运用中,地址重定向还可以是任何http请求,可以重定向到反向代理的其他服务器。另外,本发明实施例中的处理规则,还可以是其它规则,例如基于黑白名单的安全防护规则,基于静态配置文件,相当于maps.txt,配置上名单信息,利用lua脚本分析http请求信息进行过滤请求;或者,可以是负载均衡规则,同样可以基于静态配置文件,相当于maps.txt,配置负载均衡规则信息,利用lua脚本分析http请求信息进行负载分发。
本发明实施例的基于规则文件的业务处理方法,可以简化Nginx网站服务器的规则引擎的动态更新,降低网站运维人力成本,保障Nginx服务器性能不受到影响的同时,不增加系统架构复杂度,实现过程简洁、高效。且可以灵活的修改配置文件,动态刷新Nginx的规则缓存,方便业务个性化操作。另外将业务逻辑通过编写解析规则的lua脚本加载到Nginx,可以实现规则和运维的解耦和分离,便于管理。
本发明实施例的基于规则文件的业务处理方法,在获取客户端发送的访问请求后,可以对访问请求进行解析,确定与访问请求对应的第一访问参数集,然后根据第一访问参数集中各访问参数,确定与访问参数对应的N个缓存区,再分别从N个缓存区中获取与访问请求对应的M种处理规则,从而根据M种处理规则,对访问请求进行处理。由此,通过预先将处理规则存入对应的缓存区中,在获取到客户端发送的访问请求后,再从与访问请求对应的缓存区中获取与访问请求对应的处理规则,以对访问请求进行处理,实现了在配置变更时,无需重启服务器或重新加载配置,根据缓存区中的处理规则即可进行业务处理,实现过程简洁、高效,降低了运营成本。
图2是本发明一个实施例的基于规则文件的业务处理装置的结构示意图。
如图2所示,该基于规则文件的业务处理装置包括:
第一获取模块21,用于获取客户端发送的访问请求;
第一确定模块22,用于对所述访问请求进行解析,确定所述访问请求对应的第一访问参数集;
第二确定模块23,用于根据所述第一访问参数集中各访问参数,确定与所述访问请求对应的N个缓存区,其中,N为大于或等1的正整数;
第二获取模块24,用于分别从所述N个缓存区中,获取与所述访问请求对应的M种处理规则,其中,M为大于或等于N的正整数;
处理模块25,用于根据所述M种处理规则,对所述访问请求进行处理。
具体的,本发明实施例提供的基于规则文件的业务处理装置,可以被配置在任意网站服务器中,以执行本发明实施例提供的基于规则文件的业务处理方法。
可选地,所述第一访问参数集中包括以下参数中的至少一个:互联网协议地址、统一资源定位符、访问请求对应的业务类型。
可选地,所述M种处理规则包括以下规则中的至少一种:重定向规则、负载均衡规则及安全防护规则。
可选地,所述处理规则包括负载均衡规则,相应的,处理模块25具体用于:
根据所述负载均衡规则,确定与所述请求对应的目标处理器;
将所述访问请求发送给所述目标处理器进行处理。
可选地,所述处理规则包括安全防护规则,相应的,处理模块25具体用于:
根据所述安全防护规则,判断所述第一访问参数集中各访问参数是否均合法;
若否,则向所述客户端返回请求错误消息。
需要说明的是,前述对基于规则文件的业务处理方法实施例的解释说明也适用于该实施例的基于规则文件的业务处理装置,此处不再赘述。
本发明实施例的基于规则文件的业务处理装置,在获取客户端发送的访问请求后,可以对访问请求进行解析,确定与访问请求对应的第一访问参数集,然后根据第一访问参数集中各访问参数,确定与访问参数对应的N个缓存区,再分别从N个缓存区中获取与访问请求对应的M种处理规则,从而根据M种处理规则,对访问请求进行处理。由此,通过预先将处理规则存入对应的缓存区中,在获取到客户端发送的访问请求后,再从与访问请求对应的缓存区中获取与访问请求对应的处理规则,以对访问请求进行处理,实现了在配置变更时,无需重启服务器或重新加载配置,根据缓存区中的处理规则即可进行业务处理,实现过程简洁、高效,降低了运营成本。
图3是本发明另一个实施例的基于规则文件的业务处理装置的结构示意图。
如图3所示,在图2所示的基础上,该基于规则文件的业务处理装置还包括:
第三获取模块31,用于获取第一全局变量定义指令,所述指令中包括第一全局变量标识及第二访问参数集;
分配模块32,用于根据预设的规则,为所述第一全局变量标识及第二访问参数集分配对应的第一缓存区。
第四获取模块33,用于获取规则文件解析请求,所述解析请求中包括目标全局变量标识、目标规则文件的第一存储路径,及对所述目标规则文件进行解析的目标解析文件的第二存储路径;
解析模块34,用于根据所述第二存储路径,获取并触发所述目标解析文件对所述第一存储路径中的目标规则文件进行解析,并将解析结果存入与所述目标全局变量标识对应的缓存区中。
需要说明的是,前述对基于规则文件的业务处理方法实施例的解释说明也适用于该实施例的基于规则文件的业务处理装置,此处不再赘述。
本发明实施例提供的基于规则文件的业务处理装置,在获取客户端发送的访问请求后,可以对访问请求进行解析,确定与访问请求对应的第一访问参数集,然后根据第一访问参数集中各访问参数,确定与访问参数对应的N个缓存区,再分别从N个缓存区中获取与访问请求对应的M种处理规则,从而根据M种处理规则,对访问请求进行处理。由此,通过预先将处理规则存入对应的缓存区中,在获取到客户端发送的访问请求后,再从与访问请求对应的缓存区中获取与访问请求对应的处理规则,以对访问请求进行处理,实现了在配置变更时,无需重启服务器或重新加载配置,根据缓存区中的处理规则即可进行业务处理,实现过程简洁、高效,降低了运营成本。
本发明实施例还提出一种服务器。
图4是本发明一个实施例的服务器的结构示意图。
如图4所示,服务器包括存储器41、处理器42及存储在所述存储器上并可在所述处理器上运行的计算机程序。
所述处理器42执行所述程序时实现上述实施例所述的基于规则文件的业务处理方法。
具体的,本发明实施例提供的服务器,可以是任意网站服务器。
进一步地,服务器还包括:
通信接口43,用于存储器41和处理器42之间的通信。
存储器41,用于存放可在处理器42上运行的计算机程序。
存储器41可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
处理器42,用于执行所述程序时实现上述实施例所述的基于规则文件的业务处理方法。
如果存储器41、处理器42和通信接口43独立实现,则通信接口43、存储器41和处理器42可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅以一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选地,在具体实现时,如果存储器41、处理器42及通信接口43,集成在一块芯片上实现,则存储器41、处理器42及通信接口43可以通过内部接口完成相互间的通信。
处理器42可以是一个中央处理器(Central Processing Unit,简称CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
本发明实施例提供的服务器,在获取客户端发送的访问请求后,可以对访问请求进行解析,确定与访问请求对应的第一访问参数集,然后根据第一访问参数集中各访问参数,确定与访问参数对应的N个缓存区,再分别从N个缓存区中获取与访问请求对应的M种处理规则,从而根据M种处理规则,对访问请求进行处理。由此,通过预先将处理规则存入对应的缓存区中,在获取到客户端发送的访问请求后,再从与访问请求对应的缓存区中获取与访问请求对应的处理规则,以对访问请求进行处理,实现了在配置变更时,无需重启服务器或重新加载配置,根据缓存区中的处理规则即可进行业务处理,实现过程简洁、高效,降低了运营成本。
本发明实施例还提出一种计算机可读存储介质,其上存储有计算机程序,当该程序被处理器执行时实现如第一方面实施例中的基于规则文件的业务处理方法。
本发明实施例还提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如第一方面实施例中的基于规则文件的业务处理方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种基于规则文件的业务处理方法,其特征在于,包括:
获取客户端发送的访问请求;
对所述访问请求进行解析,确定所述访问请求对应的第一访问参数集;
根据所述第一访问参数集中各访问参数,确定与所述访问请求对应的N个缓存区,其中,N为大于或等1的正整数;
分别从所述N个缓存区中,获取与所述访问请求对应的M种处理规则,其中,M为大于或等于N的正整数;
根据所述M种处理规则,对所述访问请求进行处理。
2.如权利要求1所述的方法,其特征在于,所述第一访问参数集中包括以下参数中的至少一个:互联网协议地址、统一资源定位符、访问请求对应的业务类型。
3.如权利要求1所述的方法,其特征在于,所述确定与所述访问请求对应的N个缓存区之前,还包括:
获取第一全局变量定义指令,所述指令中包括第一全局变量标识及第二访问参数集;
根据预设的规则,为所述第一全局变量标识及第二访问参数集分配对应的第一缓存区。
4.如权利要求3所述的方法,其特征在于,所述获取与所述访问请求对应的M种处理规则之前,还包括:
获取规则文件解析请求,所述解析请求中包括目标全局变量标识、目标规则文件的第一存储路径,及对所述目标规则文件进行解析的目标解析文件的第二存储路径;
根据所述第二存储路径,获取并触发所述目标解析文件对所述第一存储路径中的目标规则文件进行解析,并将解析结果存入与所述目标全局变量标识对应的缓存区中。
5.如权利要求1-4任一所述的方法,其特征在于,所述M种处理规则包括以下规则中的至少一种:重定向规则、负载均衡规则及安全防护规则。
6.如权利要求5所述的方法,其特征在于,所述处理规则包括负载均衡规则;
所述对所述访问请求进行处理,包括:
根据所述负载均衡规则,确定与所述请求对应的目标处理器;
将所述访问请求发送给所述目标处理器进行处理。
7.如权利要求5所述的方法,其特征在于,所述处理规则包括安全防护规则;
所述对所述访问请求进行处理,包括:
根据所述安全防护规则,判断所述第一访问参数集中各访问参数是否均合法;
若否,则向所述客户端返回请求错误消息。
8.一种基于规则文件的业务处理装置,其特征在于,包括:
第一获取模块,用于获取客户端发送的访问请求;
第一确定模块,用于对所述访问请求进行解析,确定所述访问请求对应的第一访问参数集;
第二确定模块,用于根据所述第一访问参数集中各访问参数,确定与所述访问请求对应的N个缓存区,其中,N为大于或等1的正整数;
第二获取模块,用于分别从所述N个缓存区中,获取与所述访问请求对应的M种处理规则,其中,M为大于或等于N的正整数;
处理模块,用于根据所述M种处理规则,对所述访问请求进行处理。
9.一种服务器,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一所述的基于规则文件的业务处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的基于规则文件的业务处理方法。
CN201711394966.8A 2017-12-21 2017-12-21 基于规则文件的业务处理方法、装置及服务器 Active CN107948314B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711394966.8A CN107948314B (zh) 2017-12-21 2017-12-21 基于规则文件的业务处理方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711394966.8A CN107948314B (zh) 2017-12-21 2017-12-21 基于规则文件的业务处理方法、装置及服务器

Publications (2)

Publication Number Publication Date
CN107948314A true CN107948314A (zh) 2018-04-20
CN107948314B CN107948314B (zh) 2021-07-06

Family

ID=61941077

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711394966.8A Active CN107948314B (zh) 2017-12-21 2017-12-21 基于规则文件的业务处理方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN107948314B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109358842A (zh) * 2018-09-25 2019-02-19 广州城市信息研究所有限公司 一种服务实现方法、电子设备及存储介质
CN109408751A (zh) * 2018-09-27 2019-03-01 腾讯科技(成都)有限公司 一种数据处理方法、终端、服务器及存储介质
CN109921945A (zh) * 2019-03-21 2019-06-21 深圳壹账通智能科技有限公司 一种无nginx的请求转发在应用层的分流方法及其装置
CN110059920A (zh) * 2019-03-08 2019-07-26 阿里巴巴集团控股有限公司 风险决策方法及装置
CN110134864A (zh) * 2019-04-25 2019-08-16 上海淇毓信息科技有限公司 一种基于dsp需求方平台的请求过滤方法、装置、系统
CN110825420A (zh) * 2019-11-26 2020-02-21 中国银行股份有限公司 分布式集群的配置参数更新方法、装置、设备及存储介质
CN111144878A (zh) * 2019-12-16 2020-05-12 深圳融卡智能科技有限公司 指令生成方法与指令生成装置
CN111225025A (zh) * 2019-11-25 2020-06-02 中国联合网络通信集团有限公司 服务请求的处理方法及装置
CN111949275A (zh) * 2020-07-09 2020-11-17 北京齐尔布莱特科技有限公司 一种脚本部署方法、请求处理方法及装置
WO2020232868A1 (zh) * 2019-05-20 2020-11-26 平安科技(深圳)有限公司 一种数据发送方法及相关设备
CN112134722A (zh) * 2020-08-18 2020-12-25 北京思特奇信息技术股份有限公司 一种动态路由的方法和系统
CN112351020A (zh) * 2020-10-29 2021-02-09 北京健康之家科技有限公司 Waf规则解析方法及装置
CN112532513A (zh) * 2019-09-19 2021-03-19 上海淘票儿信息科技有限公司 网关及业务数据处理方法
CN112579192A (zh) * 2019-09-30 2021-03-30 北京京东尚科信息技术有限公司 信息处理方法、装置、系统和计算机可读存储介质
CN113489714A (zh) * 2021-07-02 2021-10-08 上海瀚之友信息技术服务有限公司 一种基于多模块的消息智能交叉处理方法及系统
CN113992759A (zh) * 2021-10-22 2022-01-28 杭州博盾习言科技有限公司 应用于局域网的联合解析装置、方法及电子设备
CN114448970A (zh) * 2021-12-27 2022-05-06 天翼云科技有限公司 一种数据传输方法、装置及设备
CN115543940A (zh) * 2022-11-25 2022-12-30 卓望数码技术(深圳)有限公司 一种基于uri规则配置集成统一处理文件的系统和方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631596A (zh) * 2013-12-05 2014-03-12 用友软件股份有限公司 业务对象数据录入及更新规则的配置装置和配置方法
CN105100263A (zh) * 2015-08-20 2015-11-25 百度在线网络技术(北京)有限公司 一种反向代理方法及装置
CN105516099A (zh) * 2015-11-30 2016-04-20 北京奇艺世纪科技有限公司 一种业务方访问及访问规则的配置的方法和装置
CN105812277A (zh) * 2014-12-31 2016-07-27 中国电信股份有限公司 访问请求的控制方法和系统、通信设备
CN105915510A (zh) * 2016-04-12 2016-08-31 北京小米移动软件有限公司 控制业务访问量的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631596A (zh) * 2013-12-05 2014-03-12 用友软件股份有限公司 业务对象数据录入及更新规则的配置装置和配置方法
CN105812277A (zh) * 2014-12-31 2016-07-27 中国电信股份有限公司 访问请求的控制方法和系统、通信设备
CN105100263A (zh) * 2015-08-20 2015-11-25 百度在线网络技术(北京)有限公司 一种反向代理方法及装置
CN105516099A (zh) * 2015-11-30 2016-04-20 北京奇艺世纪科技有限公司 一种业务方访问及访问规则的配置的方法和装置
CN105915510A (zh) * 2016-04-12 2016-08-31 北京小米移动软件有限公司 控制业务访问量的方法和装置

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109358842A (zh) * 2018-09-25 2019-02-19 广州城市信息研究所有限公司 一种服务实现方法、电子设备及存储介质
CN109408751A (zh) * 2018-09-27 2019-03-01 腾讯科技(成都)有限公司 一种数据处理方法、终端、服务器及存储介质
CN110059920A (zh) * 2019-03-08 2019-07-26 阿里巴巴集团控股有限公司 风险决策方法及装置
CN110059920B (zh) * 2019-03-08 2021-08-06 创新先进技术有限公司 风险决策方法及装置
CN109921945A (zh) * 2019-03-21 2019-06-21 深圳壹账通智能科技有限公司 一种无nginx的请求转发在应用层的分流方法及其装置
CN110134864A (zh) * 2019-04-25 2019-08-16 上海淇毓信息科技有限公司 一种基于dsp需求方平台的请求过滤方法、装置、系统
CN110134864B (zh) * 2019-04-25 2023-09-05 上海淇毓信息科技有限公司 一种基于dsp需求方平台的请求过滤方法、装置、系统
WO2020232868A1 (zh) * 2019-05-20 2020-11-26 平安科技(深圳)有限公司 一种数据发送方法及相关设备
CN112532513A (zh) * 2019-09-19 2021-03-19 上海淘票儿信息科技有限公司 网关及业务数据处理方法
CN112579192A (zh) * 2019-09-30 2021-03-30 北京京东尚科信息技术有限公司 信息处理方法、装置、系统和计算机可读存储介质
CN111225025A (zh) * 2019-11-25 2020-06-02 中国联合网络通信集团有限公司 服务请求的处理方法及装置
CN110825420A (zh) * 2019-11-26 2020-02-21 中国银行股份有限公司 分布式集群的配置参数更新方法、装置、设备及存储介质
CN110825420B (zh) * 2019-11-26 2023-09-22 中国银行股份有限公司 分布式集群的配置参数更新方法、装置、设备及存储介质
CN111144878B (zh) * 2019-12-16 2024-04-19 无锡融卡科技有限公司 指令生成方法与指令生成装置
CN111144878A (zh) * 2019-12-16 2020-05-12 深圳融卡智能科技有限公司 指令生成方法与指令生成装置
CN111949275A (zh) * 2020-07-09 2020-11-17 北京齐尔布莱特科技有限公司 一种脚本部署方法、请求处理方法及装置
CN112134722A (zh) * 2020-08-18 2020-12-25 北京思特奇信息技术股份有限公司 一种动态路由的方法和系统
CN112351020A (zh) * 2020-10-29 2021-02-09 北京健康之家科技有限公司 Waf规则解析方法及装置
CN113489714A (zh) * 2021-07-02 2021-10-08 上海瀚之友信息技术服务有限公司 一种基于多模块的消息智能交叉处理方法及系统
CN113992759A (zh) * 2021-10-22 2022-01-28 杭州博盾习言科技有限公司 应用于局域网的联合解析装置、方法及电子设备
CN113992759B (zh) * 2021-10-22 2023-12-15 杭州博盾习言科技有限公司 应用于局域网的联合解析装置、方法及电子设备
CN114448970A (zh) * 2021-12-27 2022-05-06 天翼云科技有限公司 一种数据传输方法、装置及设备
CN115543940A (zh) * 2022-11-25 2022-12-30 卓望数码技术(深圳)有限公司 一种基于uri规则配置集成统一处理文件的系统和方法

Also Published As

Publication number Publication date
CN107948314B (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
CN107948314A (zh) 基于规则文件的业务处理方法、装置及服务器
US8090703B1 (en) Overlapping experiments
US20110161825A1 (en) Systems and methods for testing multiple page versions across multiple applications
US8543713B2 (en) Computing environment arranged to support predetermined URL patterns
US20080250159A1 (en) Cybersquatter Patrol
CN115428403B (zh) 在客户端侧逻辑上实现客户端侧策略
US8429673B2 (en) Systems and methods of accessing information across distributed computing components
US9578012B2 (en) Restricted content publishing with search engine registry
CN110198328A (zh) 客户端识别方法、装置、计算机设备和存储介质
US20170061006A1 (en) System and methods for dynamic generation of object storage datasets from existing file datasets
US20110066608A1 (en) Systems and methods for delivering targeted content to a user
CN107315972A (zh) 一种大数据非结构化文件动态脱敏方法及系统
US7529750B2 (en) Accessing information on a network
US20170230258A1 (en) Managing network communication protocols
CN109086414B (zh) 用于搜索区块链数据的方法、装置及存储介质
CN106713460A (zh) 一种flash应用的版本控制方法和系统
CN110245307A (zh) 页面缓存管理方法及系统、终端设备及存储介质
CN106919595A (zh) 一种用于Cookie映射的方法、装置及电子设备
CN116208676A (zh) 数据回源方法、装置、计算机设备、存储介质和程序产品
CN106612336A (zh) 图片预加载方法和装置
CN108388614A (zh) 新闻数据爬取处理方法、装置、计算机设备和存储介质
Chen et al. Cora: Data correlations-based storage policies for cloud object storage
US20040148365A1 (en) System and method for vectored sendfile
US20170116348A1 (en) Collaborative bookmarks
US20090164515A1 (en) Method and system for bit streaming for data centric applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Floor 36, Zheshang Building, No. 718 Jianshe Avenue, Jiang'an District, Wuhan, Hubei 430019

Patentee after: TK.CN INSURANCE Co.,Ltd.

Patentee after: TAIKANG INSURANCE GROUP Co.,Ltd.

Address before: Taikang Life Building, 156 fuxingmennei street, Xicheng District, Beijing 100031

Patentee before: TAIKANG INSURANCE GROUP Co.,Ltd.

Patentee before: TK.CN INSURANCE Co.,Ltd.