CN105426748B - 一种规则文件的更新方法和设备 - Google Patents
一种规则文件的更新方法和设备 Download PDFInfo
- Publication number
- CN105426748B CN105426748B CN201410479978.0A CN201410479978A CN105426748B CN 105426748 B CN105426748 B CN 105426748B CN 201410479978 A CN201410479978 A CN 201410479978A CN 105426748 B CN105426748 B CN 105426748B
- Authority
- CN
- China
- Prior art keywords
- rule
- engine
- rule file
- updated
- file
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种规则文件的更新方法,包括:当需要进行规则文件更新时,获取更新后的规则文件;清除当前备份引擎中的规则对象,并将所述更新后的规则文件加载到所述当前备份引擎中以构建对应的规则对象;将所述当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎。本发明实施例还公开了一种规则文件的更新设备。实施本发明实施例,可以实现在不间断业务处理的情况下进行规则文件更新,提高业务逻辑的处理效率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种规则文件的更新方法和设备。
背景技术
近年来,政府、企业各类组织所面临的Web应用安全问题越来越复杂,安全威胁正在飞速增长,尤其是混合威胁风险,如黑客攻击、蠕虫病毒、DDoS(Distributed Denial ofService,分布式拒绝服务)攻击、SQL(Structured Query Language,结构化查询语言)注入、跨站脚本、Web应用安全漏洞利用等,极大地困扰着用户,对信息网络和核心业务造成严重破坏,内部维护人员疲于应付Web应用安全漏洞的补救,传统防火墙局限于自身的检测机制和防护深度,已经难以解决当前众多的Web应用安全问题,Web应用防护系统也因此成为当今互联网领域的热门产品。
Web应用防护系统是一种针对Web服务器的传输层及应用层访问控制类产品,其通过规则引擎加载预先配置的规则文件,并构建出用于快速检测用户请求的规则对象。当用户请求(HTTP(Hyper Text Transport Protocol,超文本协议)请求)来临时,采用一定的逻辑根据规则对象去校验HTTP请求内容,以保证Web应用安全。
目前,Web应用防护系统在进行规则文件更新时,或者通过重启服务器,以实现重新加载更新后的规则文件;或者通过事件模型监听到规则文件需要更新时,清理规则引擎,然后重新加载更新后的规则文件;或者通过专门的线程监听到规则文件需要更新时,使用写锁锁定资源,然后清理引擎重现加载规则,然后释放写锁。
然后,经过实践发现,上述规则文件更新方案中,规则文件的更新期间均不能处理业务逻辑,影响了业务逻辑处理效率。
发明内容
本发明实施例公开了一种规则文件的更新方法和设备,能够实现在不间断业务处理的情况下进行规则文件更新,提高业务逻辑的处理效率。
本发明实施例第一方面公开了一种规则文件的更新方法,包括:
当需要进行规则文件更新时,获取更新后的规则文件;
清除当前备份引擎中的规则对象,并将所述更新后的规则文件加载到所述当前备份引擎中以构建对应的规则对象;
将所述当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎。
本发明实施例第二方面公开了一种规则文件的更新设备,包括:
获取模块,用于当需要进行规则文件更新时,获取更新后的规则文件;
清除模块,用于清除当前备份引擎中的规则对象;
加载模块,用于将所述更新后的规则文件加载到所述当前备份引擎中以构建对应的规则对象;
切换模块,用于将所述当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎。
实施本发明实施例,具有如下有益效果:
当需要进行规则文件更新时,获取更新后的规则文件;清除当前备份引擎中的规则对象,并将更新后的规则文件加载到当前备份引擎中以构建对应的规则对象,进而将当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎,实现了在不间断业务处理的情况下进行规则文件更新,提高了业务逻辑的处理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种规则文件的更新方法的流程示意图;
图2为本发明实施例提供的另一种规则文件的更新方法的流程示意图;
图3为本发明实施例提供的一种规则文件更新的架构示意图;
图4为本发明实施例提供的另一种规则文件的更新方法的流程示意图;
图5为本发明实施例提供的一种新增规则文件的架构示意图;
图6为本发明实施例提供的一种规则文件的更新设备的结构示意图
图7为本发明实施例提供的另一种规则文件的更新设备的结构示意图;
图8为本发明实施例提供的另一种规则文件的更新设备的结构示意图;
图9为本发明实施例提供的另一种规则文件的更新设备的结构示意图;
图10为本发明实施例提供的另一种规则文件的更新设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种规则文件更新的方法,可以包括以下步骤:
步骤101、当需要进行规则文件更新时,获取更新后的规则文件。
本发明实施例中,所述方法可以应用于Web应用防护系统中,如政府、企业等各类组织的Web服务器的网络防火墙中,为方便说明,本发明实施例以所述方法的执行主体为例进行描述。当应用说明的是,本发明实施例并不限于应用于Web服务器中,凡是可以实施本发明实施例的设备、装置或系统均属于本发明实施例所需保护的范围。
本发明实施例中,规则文件更新可以包括规则文件新增、删除、或修改。当Web服务器监听到规则文件更新事件发生时,可以获取更新后的规则文件。
举例来说,若规则文件更新为修改规则文件,该更新后的规则文件可以为根据修改需求对原有规则文件进行修改后的规则文件;若规则文件更新为删除规则文件,该更新后的规则文件可以为根据删除需求对原有规则文件进行删除后的规则文件;若规则文件更新为新增规则文件,该更新后的规则文件可以为原有规则文件以及新增的规则文件。
步骤102、清除当前备份引擎中的规则对象,并将更新后的规则文件加载到当前备份引擎中以构建对应的规则对象。
本发明实施例中,为了避免规则文件的更新对当前正在处理的业务逻辑产生影响,设置了工作引擎和备份引擎。当Web服务器接收到HTTP请求时,通过工作引擎对该HTTP请求进行检测。
当Web服务器确定需要进行规则文件更新,并获取到更新后的规则文件时,Web服务器可以对备份引擎进行规则文件更新,而不直接对工作引擎进行规则文件更新,从而保证了不会由于规则文件更新间断工作引擎正在处理的业务逻辑。
具体的,Web服务器获取到更新后的规则文件后,可以首先清除当前备份引擎中的规则对象,然后将更新后的规则文件加载到该当前备份引擎中以构建对应的规则对象,从而实现了针对当前备份引擎的规则文件更新。
步骤103、将当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎。
本发明实施例中,Web服务器完成了针对当前备份引擎的规则文件更新之后,可以将当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎,从而使得Web服务器接收到HTTP请求时,可以通过规则文件更新后的工作引擎对根据更新后的规则对象对该HTTP请求进行检测。
其中,若规则更新前的工作引擎切换为备份引擎时正在处理业务逻辑,则该工作引擎切换为备份引擎后,可以对当前正在处理的业务逻辑进行处理,并在处理完该业务逻辑后,在下一次切换前,不再处理业务逻辑。
在图1所描述的方法流程中,通过设置备份引擎和工作引擎,工作引擎用于对接收到的HTTP请求进行检测,当需要进行规则文件更新时,先针对备份工作引擎进行更新,并在规则文件更新完成时,将当前的备份引擎和工作引擎互相切换,从而实现了不间断业务处理的情况下进行规则文件更新。
如图2所示,为本发明实施例提供的另一种规则文件的更新方法的流程示意图,可以包括以下步骤:
步骤201、当需要进行规则文件更新时,获取更新后的规则文件。
本发明实施例中,规则文件更新可以包括规则文件新增、删除、或修改。当Web服务器监听到规则文件更新事件发生时,可以获取更新后的规则文件。
举例来说,若规则文件更新为修改规则文件,该更新后的规则文件可以为根据修改需求对原有规则文件进行修改后的规则文件;若规则文件更新为删除规则文件,该更新后的规则文件可以为根据删除需求对原有规则文件进行删除后的规则文件;若规则文件更新为新增规则文件,该更新后的规则文件可以为原有规则文件以及新增的规则文件。
步骤202、清除当前备份引擎中的规则对象,并将更新后的规则文件加载到当前备份引擎中以构建对应的规则对象。
本发明实施例中,为了避免规则文件的更新对当前正在处理的业务逻辑产生影响,设置了工作引擎和备份引擎。当Web服务器接收到HTTP请求时,通过工作引擎对该HTTP请求进行检测。
当Web服务器确定需要进行规则文件更新,并获取到更新后的规则文件时,Web服务器可以对备份引擎进行规则文件更新,而不直接对工作引擎进行规则文件更新,从而保证了不会由于规则文件更新间断工作引擎正在处理的业务逻辑。
具体的,Web服务器获取到更新后的规则文件后,可以首先清除当前备份引擎中的规则对象,然后将更新后的规则文件加载到该当前备份引擎中以构建对应的规则对象,从而实现了针对当前备份引擎的规则文件更新。
步骤203、将当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎。
本发明实施例中,Web服务器完成了针对当前备份引擎的规则文件更新之后,可以将当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎,从而使得Web服务器接收到HTTP请求时,可以通过规则文件更新后的工作引擎对根据更新后的规则对象对该HTTP请求进行检测。
其中,若规则更新前的工作引擎切换为备份引擎时正在处理业务逻辑,则该工作引擎切换为备份引擎后,可以对当前正在处理的业务逻辑进行处理,并在处理完该业务逻辑后,在下一次切换前,不再处理业务逻辑。
步骤204、当接收到HTTP请求检测请求时,根据切换后的工作引擎中的规则对象对该HTTP请求进行检测。
本发明实施例中,完成工作引擎和备份引擎的切换后,当接收到HTTP请求时,可以将该HTTP请求转发给切换后的工作引擎,从而能根据切换后的工作引擎中的规则对象对该HTTP请求进行监测。
举例来说,本发明实施例中,可以将规则引擎分解为工作引擎管理器、工作引擎,以及备份引擎,其中:
引擎管理器用于作为工作引擎指针,即引擎管理器指向的引擎为工作引擎。
当需要进行规则文件更新时,Web服务器可以通过升级线程获取更新后的规则文件,清除当前备份引擎中的规则对象,并将更新后的规则文件加载到当前备份引擎中以构建对应的规则对象。
升级进程完成针对当前备份引擎的规则文件更新后,可以触发引擎管理器指向当前备份引擎,即将当前备份引擎切换为工作引擎,将规则文件更新前的工作引擎切换为备份引擎。
当工作进程接收到HTTP请求检测请求时,通过引擎管理器将该HTTP请求转发给规则文件更新后的工作引擎,以使规则文件更新后的工作引擎对该HTTP请求进行检测,其示意图可以如图3所示。
如图4所示,为本发明实施例提供的另一种规则文件更新方法的流程示意图,可以包括以下步骤:
步骤401、当需要进行规则文件更新时,判断该规则文件更新是否为新增规则文件。若判断为是,转至步骤402;否则,转至步骤407。
本发明实施例中,规则文件更新可以包括规则文件新增、删除、或修改。当Web服务器监听到规则文件更新事件发生时,可以首先判断该规则文件更新是否为新增规则文件。
步骤402、判断当前工作引擎中规则对象的组织形式是否为指定形式。若判断为是,转至步骤403;否则,转至步骤407。
本发明实施例中,工作引擎中规则对象的组织形式可以为树型、Hash型、Map型等。
当确定需要进行规则文件更新,且该规则文件更新为新增规则文件时,可以进一步判断工作引擎中规则对象的组织形式是否为指定形式。若该工作引擎中规则对象的组织形式是指定形式时,表明可以直接在该工作引擎中插入新增的规则文件对应的规则对象,即对于新增规则文件,可以不需要将工作引擎中的规则对象删除后,重新构建更新后的规则文件对应的规则对象;否则,表明不可以直接在该工作引擎中插入新增的规则文件对应的规则对象,即对于新增规则文件,需要先将工作引擎中的规则对象删除后,重新构建更新后的规则文件对应的规则对象。
其中,上述指定形式可以为Hash型。
步骤403、将新增的规则对象构建为对应的规则对象,并保存到规则缓存队列中。
本发明实施例中,当规则文件更新为新增规则文件,且工作引擎中规则对象的组织形式为指定形式(如Hash型)时,Web服务器确定可以通过规则对象插入的方式将新增的规则文件对应的规则对象加入到工作引擎中,因而,Web服务器可以将新增的规则对象构建为对应的规则对象,并保存到规则缓存队列中。
步骤404、判断当前工作引擎是否正在处理业务逻辑。若判断为是,转至步骤405;否则,转至步骤406。
步骤405、在当前工作引擎处理完成业务逻辑时,将规则缓存队列中的规则对象插入到当前工作引擎中。
步骤406、将规则缓存队列中的规则对象插入到当前工作引擎中。
本发明实施例中,Web服务器将新增的规则文件对应的规则对象保存到规则缓存队列中后,可以在当前工作引擎中正在处理的业务逻辑处理完成时,将规则缓存队列中的规则对象插入到当前工作引擎中,以避免规则对象的更新间断当前正在处理的业务逻辑。
步骤407、获取更新后的规则文件。
本发明实施例中,若规则文件更新不是新增规则文件,或规则文件更新为新增规则文件,但当前工作引擎中规则对象的组织形式不是指定形式时,可以获取更新后的规则文件。
举例来说,若规则文件更新为修改规则文件,该更新后的规则文件可以为根据修改需求对原有规则文件进行修改后的规则文件;若规则文件更新为删除规则文件,该更新后的规则文件可以为根据删除需求对原有规则文件进行删除后的规则文件;若规则文件更新为新增规则文件,该更新后的规则文件可以为原有规则文件以及新增的规则文件。
步骤408、清除当前备份引擎中的规则对象,并将该更新后的规则文件加载到该当前备份引擎中以构建对应的规则对象。
本发明实施例中,为了避免规则文件的更新对当前正在处理的业务逻辑产生影响,设置了工作引擎和备份引擎。当Web服务器接收到HTTP请求时,通过工作引擎对该HTTP请求进行检测。
当Web服务器确定需要进行规则文件更新,并获取到更新后的规则文件时,Web服务器可以对备份引擎进行规则文件更新,而不直接对工作引擎进行规则文件更新,从而保证了不会由于规则文件更新间断工作引擎正在处理的业务逻辑。
具体的,Web服务器获取到更新后的规则文件后,可以首先清除当前备份引擎中的规则对象,然后将更新后的规则文件加载到该当前备份引擎中以构建对应的规则对象,从而实现了针对当前备份引擎的规则文件更新。
步骤409、将当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎。
本发明实施例中,Web服务器完成了针对当前备份引擎的规则文件更新之后,可以将当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎,从而使得Web服务器接收到HTTP请求时,可以通过规则文件更新后的工作引擎对根据更新后的规则对象对该HTTP请求进行检测。
其中,若规则更新前的工作引擎切换为备份引擎时正在处理业务逻辑,则该工作引擎切换为备份引擎后,可以对当前正在处理的业务逻辑进行处理,并在处理完该业务逻辑后,在下一次切换前,不再处理业务逻辑。
举例来说,本发明实施例中,可以将规则引擎分解为工作引擎管理器、工作引擎,以及备份引擎,其中:
引擎管理器用于作为工作引擎指针,即引擎管理器指向的引擎为工作引擎。
当需要进行规则文件更新时,Web服务器先通过升级线程判断规则文件更新是否为新增规则文件,若判断为是,则进一步判断当前工作引擎中规则对象的组织形式是否为指定形式(如Hash型);若判断为是,则升级线程可以将新增的规则文件构建成对应的规则对象,并加入到规则缓存队列(如规则CACHE(高速缓存)队列);进而,Web服务器可以通过工作线程在当前工作引擎处理完成当前正在处理的业务逻辑时(或在当前工作引擎下一次处理业务逻辑之前)将规则缓存队列中的规则对象插入到当前工作引擎中,其示意图可以入如图5所示。
若Web服务器判断规则文件更新不是新增规则文件,或规则文件更新为新增规则文件,但当前工作引擎中规则对象的组织形式不是指定形式时,Web服务器可以通过升级线程获取更新后的规则文件,清除当前备份引擎中的规则对象,并将更新后的规则文件加载到当前备份引擎中以构建对应的规则对象。
升级进程完成针对当前备份引擎的规则文件更新后,可以触发引擎管理器指向当前备份引擎,即将当前备份引擎切换为工作引擎,将规则文件更新前的工作引擎切换为备份引擎。
当工作进程接收到HTTP请求检测请求时,通过引擎管理器将该HTTP请求转发给规则文件更新后的工作引擎,以使规则文件更新后的工作引擎对该HTTP请求进行检测,其示意图可以如图3所示。
在图4所描述的方法流程中,通过设置备份引擎和工作引擎,工作引擎用于对接收到的HTTP请求进行检测,当需要进行规则文件更新时,若规则文件更新为新增规则文件,且当前工作引擎中规则对象的组织形式为指定形式,则Web服务器可以直接将新增的规则文件构建为对应的规则对象,保存到规则缓存队列中,并当当前工作引擎处理完成当前正在处理的业务逻辑时,将规则缓存队列中的规则对象插入到当前工作引擎中,在不间断工作引擎的业务逻辑处理的同时,避免了删除已有的对象,并重新将更新后的规则文件加载到引擎中构建对应的规则对象的处理流程,提高了规则文件更新的效率;若规则文件更新不是新增规则文件,或者,规则文件更新请求为新增规则文件,但是当前工作引擎中规则对象的组织形式不是指定形式,则Web服务器可以根据更新后的规则文件,先针对备份工作引擎进行更新,并在规则文件更新完成时,将当前的备份引擎和工作引擎互相切换,从而实现了不间断业务处理的情况下进行规则文件更新。
通过以上描述可以看出,在本发明实施例提供的技术方案中,当需要进行规则文件更新时,获取更新后的规则文件;清除当前备份引擎中的规则对象,并将更新后的规则文件加载到当前备份引擎中以构建对应的规则对象,进而将当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎,实现了在不间断业务处理的情况下进行规则文件更新,提高了业务逻辑的处理效率。
基于上述方法实施例相同的技术构思,本发明实施例还提供了一种规则文件的更新设备,可以应用于上述方法实施例中。
如图6所示,为本发明实施例提供的一种规则文件的更新设备的结构示意图,可以包括:
获取模块601,用于当需要进行规则文件更新时,获取更新后的规则文件;
清除模块602,用于清除当前备份引擎中的规则对象;
加载模块603,用于将所述更新后的规则文件加载到所述当前备份引擎中以构建对应的规则对象;
切换模块604,用于将所述当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎。
请一并参阅图7,图7是本发明实施例公开的另一种规则文件的更新设备的结构示意图。其中,图7所示的规则文件的更新设备是由图6所示的规则文件的更新设备进行优化得到的,与图6所示的规则文件的更新设备相比,图7所示的规则文件的更新设备还可以包括:
第一判断模块605,用于当需要进行规则文件更新,且所述规则文件更新为新增规则文件时,判断当前工作引擎中规则对象的组织形式是否为指定形式。
相应地,所述获取模块,可以具体用于当所述第一判断模块605判断为否时,获取更新后的规则文件。
请一并参阅图8,图8是本发明实施例公开的另一种规则文件的更新设备的结构示意图。其中,图8所示的规则文件的更新设备是由图7所示的规则文件的更新设备进行优化得到的,与图7所示的规则文件的更新设备相比,图8所示的规则文件的更新设备还可以包括:
缓存模块606,用于当所述第一判断模块判断为是时,将新增的规则文件构建成为对应的规则对象,并保存到规则缓存队列中;
第二判断模块607,用于判断所述当前工作引擎是否正在处理业务逻辑;
插入模块608,用于当所述第二判断模块607判断为是时,在所述当前工作引擎处理完所述业务逻辑时,将所述规则缓存队列中的规则对象插入到所述当前工作引擎中;当所述第二判断模块607判断为否时,将所述规则缓存队列中的规则对象插入到所述当前工作引擎中。
其中,所述指定形式为Hash型。
请一并参阅图9,图9是本发明实施例公开的另一种规则文件的更新设备的结构示意图。其中,图9所示的规则文件的更新设备是由图6所示的规则文件的更新设备进行优化得到的,与图6所示的规则文件的更新设备相比,图9所示的规则文件的更新设备还可以包括:
检测模块609,用于当接收到HTTP请求检测请求时,根据切换后的工作引擎中的规则对象对所述HTTP请求进行检测。
图10是本发明实施例中提供的另一种规则文件的更新设备的结构示意图。如图10所示,该规则文件的更新设备包括:至少一个处理器1001,例如CPU,至少一个用户接口1003,存储器1004,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1004可选的还可以是至少一个位于远离前述处理器1001的存储装置。其中存储器1004中存储一组程序代码,且处理器1001调用存储器1004中存储的程序代码,用于执行以下操作:
当需要进行规则文件更新时,获取更新后的规则文件;
清除当前备份引擎中的规则对象,并将所述更新后的规则文件加载到所述当前备份引擎中以构建对应的规则对象;
将所述当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎。
在可选实施例中,当需要进行规则文件更新时,处理器1001调用存储器1004中存储的程序代码获取更新后的规则文件之前,还可以执行以下操作:
若所述规则文件更新为新增规则文件,判断当前工作引擎中规则对象的组织形式是否为指定形式;
若判断为否,执行获取更新后的规则文件的步骤。
在可选实施例中,处理器1001调用存储器1004中存储的程序代码判断当前工作引擎中规则对象的组织形式是否为指定形式之后,还可以执行以下操作:
若判断为是,将新增的规则文件构建为对应的规则对象,并保存到规则缓存队列中;
判断所述当前工作引擎是否正在处理业务逻辑;
若判断为是,在所述当前工作引擎处理完所述业务逻辑时,将所述规则缓存队列中的规则对象插入到所述当前工作引擎中;
否则,将所述规则缓存队列中的规则对象插入到所述当前工作引擎中。
在可选实施例中,所述指定形式为Hash型。
在可选实施例中,处理器1001调用存储器1004中存储的程序代码将所述当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎之后,还可以执行以下操作:
当接收到HTTP请求检测请求时,根据切换后的工作引擎中的规则对象对所述HTTP请求进行检测。
具体的,本实施例中介绍的规则文件的更新设备可以用以实施本发明结合图1、图2或图4介绍的规则文件的更新方法实施例中的部分或全部流程。
通过以上描述可知,在本发明实施例提供的技术方案中,当需要进行规则文件更新时,获取更新后的规则文件;清除当前备份引擎中的规则对象,并将更新后的规则文件加载到当前备份引擎中以构建对应的规则对象,进而将当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎,实现了在不间断业务处理的情况下进行规则文件更新,提高了业务逻辑的处理效率。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (8)
1.一种规则文件的更新方法,其特征在于,包括:
当需要进行规则文件更新时,获取更新后的规则文件;
清除当前备份引擎中的规则对象,并将所述更新后的规则文件加载到所述当前备份引擎中以构建对应的规则对象;
将所述当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎;
当接收到HTTP请求检测请求时,根据切换后的工作引擎中的规则对象对所述HTTP请求进行检测。
2.如权利要求1所述的方法,其特征在于,所述当需要进行规则文件更新时,所述获取更新后的规则文件之前,还包括:
若所述规则文件更新为新增规则文件,判断当前工作引擎中规则对象的组织形式是否为指定形式;
若判断为否,执行获取更新后的规则文件的步骤。
3.如权利要求2所述的方法,其特征在于,所述判断当前工作引擎中规则对象的组织形式是否为指定形式之后,还包括:
若判断为是,将新增的规则文件构建为对应的规则对象,并保存到规则缓存队列中;
判断所述当前工作引擎是否正在处理业务逻辑;
若判断为是,在所述当前工作引擎处理完所述业务逻辑时,将所述规则缓存队列中的规则对象插入到所述当前工作引擎中;
否则,将所述规则缓存队列中的规则对象插入到所述当前工作引擎中。
4.如权利要求2或3所述的方法,其特征在于,所述指定形式为Hash型。
5.一种规则文件的更新设备,其特征在于,包括:
获取模块,用于当需要进行规则文件更新时,获取更新后的规则文件;
清除模块,用于清除当前备份引擎中的规则对象;
加载模块,用于将所述更新后的规则文件加载到所述当前备份引擎中以构建对应的规则对象;
切换模块,用于将所述当前备份引擎切换为工作引擎,并将规则文件更新前的工作引擎切换为备份引擎;
检测模块,用于当接收到HTTP请求检测请求时,根据切换后的工作引擎中的规则对象对所述HTTP请求进行检测。
6.如权利要求5所述的设备,其特征在于,所述设备还包括:
第一判断模块,用于当需要进行规则文件更新,且所述规则文件更新为新增规则文件时,判断当前工作引擎中规则对象的组织形式是否为指定形式;
所述获取模块,用于当所述第一判断模块判断为否时,获取更新后的规则文件。
7.如权利要求6所述的设备,其特征在于,所述设备还包括:
缓存模块,用于当所述第一判断模块判断为是时,将新增的规则文件构建成为对应的规则对象,并保存到规则缓存队列中;
第二判断模块,用于判断所述当前工作引擎是否正在处理业务逻辑;
插入模块,用于当所述第二判断模块判断为是时,在所述当前工作引擎处理完所述业务逻辑时,将所述规则缓存队列中的规则对象插入到所述当前工作引擎中;当所述第二判断模块判断为否时,将所述规则缓存队列中的规则对象插入到所述当前工作引擎中。
8.如权利要求6或7所述的设备,其特征在于,所述指定形式为Hash型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410479978.0A CN105426748B (zh) | 2014-09-18 | 2014-09-18 | 一种规则文件的更新方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410479978.0A CN105426748B (zh) | 2014-09-18 | 2014-09-18 | 一种规则文件的更新方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105426748A CN105426748A (zh) | 2016-03-23 |
CN105426748B true CN105426748B (zh) | 2019-09-13 |
Family
ID=55504953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410479978.0A Active CN105426748B (zh) | 2014-09-18 | 2014-09-18 | 一种规则文件的更新方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105426748B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657433B (zh) * | 2016-11-15 | 2020-03-10 | 郑州云海信息技术有限公司 | 一种多网卡环境下物理网卡的命名方法和装置 |
CN106973058A (zh) * | 2017-03-31 | 2017-07-21 | 北京奇艺世纪科技有限公司 | 一种Web应用防火墙规则更新方法、装置及系统 |
CN109033105B (zh) * | 2017-06-09 | 2022-03-01 | 北京国双科技有限公司 | 获取裁判文书焦点的方法和装置 |
CN109783151B (zh) * | 2017-11-10 | 2022-07-05 | 北京京东尚科信息技术有限公司 | 规则变更的方法和装置 |
CN108038665B (zh) * | 2017-12-08 | 2020-01-24 | 平安科技(深圳)有限公司 | 业务规则管理方法、装置、设备及计算机可读存储介质 |
CN109918079B (zh) * | 2019-01-31 | 2022-03-18 | 平安科技(深圳)有限公司 | 规则引擎系统的规则更新方法、装置和计算机设备 |
CN115023919A (zh) * | 2020-05-11 | 2022-09-06 | 深圳市欢太科技有限公司 | 防火墙规则的更新方法、装置、服务器及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7747573B2 (en) * | 2004-11-18 | 2010-06-29 | International Business Machines Corporation | Updating elements in a data storage facility using a predefined state machine, with serial activation |
US7970386B2 (en) * | 2005-06-03 | 2011-06-28 | Good Technology, Inc. | System and method for monitoring and maintaining a wireless device |
CN100433005C (zh) * | 2005-11-28 | 2008-11-12 | 腾讯科技(深圳)有限公司 | 搜索系统索引切换的方法及搜索系统 |
CN101673239B (zh) * | 2009-10-30 | 2011-08-10 | 金蝶软件(中国)有限公司 | 一种补丁的发放方法和装置 |
CN101706907A (zh) * | 2009-11-26 | 2010-05-12 | 金蝶软件(中国)有限公司 | 一种数据调整方法和装置 |
CN103488795B (zh) * | 2013-10-10 | 2016-11-09 | 北京京东尚科信息技术有限公司 | 网页爬虫抓取规则替换方法、调度端和抓取端 |
-
2014
- 2014-09-18 CN CN201410479978.0A patent/CN105426748B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105426748A (zh) | 2016-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105426748B (zh) | 一种规则文件的更新方法和设备 | |
EP2860657B1 (en) | Determining a security status of potentially malicious files | |
EP3055808B1 (en) | Event model for correlating system component states | |
CN108683652A (zh) | 一种基于行为权限的处理网络攻击行为的方法及装置 | |
CN105474225A (zh) | 在基于云的数据中心中对计算资源进行自动监控 | |
KR100788256B1 (ko) | 네트워크를 이용한 웹서버 위변조 모니터링 시스템 및모니터링 방법 | |
KR101369251B1 (ko) | 시스템 파일 보호 및 복구를 위한 장치, 방법, 사용자 단말기 및 시스템 | |
KR20160122254A (ko) | 소프트웨어 애플리케이션의 세트의 구축 방법 | |
CN104881483B (zh) | 用于Hadoop平台数据泄露攻击的自动检测取证方法 | |
DE112020003351T5 (de) | Automatisches Erkennen von Ransomware mit einer Sperrung des Dateisystems auf Abruf und einer automatischen Reparaturfunktion | |
WO2015039562A1 (zh) | 账号信息处理方法及装置 | |
CN105893847A (zh) | 一种保护安全防护应用程序文件的方法、装置及电子设备 | |
CN104462940A (zh) | 计算机usb接口的监控方法和装置 | |
US8117181B2 (en) | System for notification of group membership changes in directory service | |
CN103353930A (zh) | 一种防范感染式病毒感染的方法和装置 | |
JP6517468B2 (ja) | 情報処理システム、情報処理装置、監視装置、監視方法、及び、プログラム | |
CN110889112B (zh) | 一种基于白名单机制的软件运行统一控制系统及方法 | |
CN106685999A (zh) | 一种虚拟机安全防护方法、系统及安全设备 | |
KR102034678B1 (ko) | 데이터파일 접근 제어 기반의 악성 차단 시스템 및 악성 차단 방법 | |
CN105787359A (zh) | 进程守护方法和装置 | |
CN109726547A (zh) | 一种文件执行管理方法及相关装置 | |
CN112202819B (zh) | 分布式控制权限的方法、装置、计算机设备及存储介质 | |
JP2009053896A (ja) | 不正操作検出装置およびプログラム | |
CN104239478A (zh) | 文件监控方法及装置 | |
CN102902913A (zh) | 防止恶意破坏计算机内的软件的保全方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |