CN109033206A - 一种规则匹配方法、云服务器及规则匹配系统 - Google Patents
一种规则匹配方法、云服务器及规则匹配系统 Download PDFInfo
- Publication number
- CN109033206A CN109033206A CN201810699982.6A CN201810699982A CN109033206A CN 109033206 A CN109033206 A CN 109033206A CN 201810699982 A CN201810699982 A CN 201810699982A CN 109033206 A CN109033206 A CN 109033206A
- Authority
- CN
- China
- Prior art keywords
- rule
- business
- business datum
- list
- matched
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种规则匹配方法、云服务器及规则匹配系统,该方法包括:接收来自客户端的业务数据,基于业务数据确定其所属业务;根据确定的业务从预置规则数据库中匹配与其对应的包含业务规则的规则表,利用匹配出的规则表中的业务规则对业务数据进行解析,将解析结果返回至客户端;将匹配出的规则表保存至预置子数据库中;当指定时间段内再次接收到相同业务的业务数据时,按照预置子数据库优先级高于预置规则数据库优先级的顺序匹配相同业务对应的规则表。本发明实施例能够适用于多项业务的业务数据解析需求。并且,当业务需求有所改变时,可以直接对规则数据库中的规则进行相应的调整,提高了云服务器在业务服务过程中的灵活性。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种规则匹配方法、云服务器及规则匹配系统。
背景技术
伴随计算机网络信息化技术的飞速发展,为了满足产业发展、提升工作效率的需要,计算机技术已经在社会各个领域被广泛应用于构建功能各异、种类繁杂的企业信息化系统,目前在计算机网络上已经运行着大量为用户提供业务处理功能的业务系统,用户通过这些业务系统可以实现多种业务操作。
在业务系统的整个生命周期之中,企业客户的业务需求不可避免地会发生改变,而现有的业务系统的前端客户端和后端服务器通常是耦合在一起的,因此,当业务需求改变时,采用现有的业务系统还需要对系统的相关配置进行调整,无法达到业务系统的灵活性要求。另外,现有的业务系统在解析业务数据时通常采用硬解析的解析方式,这使得业务系统对业务数据的解析时间、空间上存在较大的限制,不仅无法为业务数据量较大的业务提供支持,也不能达到较高地解析效率。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种规则匹配方法、云服务器及规则匹配系统。
依据本发明的一方面,提供了一种规则匹配方法,应用于云服务器,包括:
接收来自客户端的业务数据,基于所述业务数据确定其所属业务;
根据确定的业务从预置规则数据库中匹配与其对应的包含业务规则的规则表,利用匹配出的规则表中的业务规则对所述业务数据进行解析,将解析结果返回至所述客户端;
将匹配出的规则表保存至预置子数据库中;
当指定时间段内再次接收到相同业务的业务数据时,按照所述预置子数据库优先级高于预置规则数据库优先级的顺序匹配所述相同业务对应的规则表。
可选地,所述方法还包括:
接收客户端基于预设协议发送的指定业务对应的业务规则;
将所述业务规则映射生成与其对应的规则表,其中,所述规则表中包含所述业务规则;
将生成的所述规则表保存至所述预置规则数据库中。
可选地,将生成的所述规则表保存至所述预置规则数据库中之后,还包括:
分析所述预置规则数据库中各规则表中的业务规则,根据分析结果生成对应的XML文件;其中,所述XML文件的内容描述所述业务规则;
存储生成的XML文件。
可选地,利用匹配出的规则表中的业务规则对所述业务数据进行解析,包括:
查找与所述匹配出的规则表对应的XML文件,将查找到的XML文件输入至规则解析工具中;
利用所述规则解析工具根据输入的XML文件的内容对所述业务数据进行解析。
可选地,所述规则解析工具根据输入的XML文件的内容对所述业务数据进行解析,包括:
所述规则解析工具基于责任链模式根据输入的XML文件的内容对所述业务数据进行解析。
可选地,所述当指定时间段内再次接收到相同业务的业务数据时,按照所述预置子数据库优先级高于预置规则数据库优先级的顺序匹配所述相同业务对应的规则表,包括:
当指定时间段内再次接收到来自同一客户端的相同业务的业务数据时,从所述预置子数据库匹配与其对应的规则表;
若未匹配成功,继续从所述预置规则数据库中匹配对应的规则表。
可选地,所述方法还包括:
同时接收来自不同客户端的业务数据,基于所述不同客户端的业务数据确定其各自所属的业务;
从预置规则数据库中并行的匹配与确定的各业务对应的规则表,利用匹配出的规则表中的业务规则对相应的业务数据进行解析,将各业务的业务数据对应的解析结果返回至相应的客户端;
将匹配出的各业务对应的规则表分别保存在不同的预置子数据库中。
可选地,接收来自客户端的业务数据,包括:
通过预置Rest接口接收来自客户端的业务数据。
依据本发明的另一方面,还提供了一种云服务器,包括:
接收模块,适于接收来自客户端的业务数据,基于所述业务数据确定其所属业务;
匹配及分析模块,适于根据确定的业务从预置规则数据库中匹配与其对应的包含业务规则的规则表,利用匹配出的规则表中的业务规则对所述业务数据进行解析,将解析结果返回至所述客户端;
保存模块,适于将匹配出的规则表保存至预置子数据库中;
所述匹配及分析模块,还适于当指定时间段内再次接收到相同业务的业务数据时,按照所述预置子数据库优先级高于预置规则数据库优先级的顺序匹配所述相同业务对应的规则表。
可选地,所述云服务器还包括映射模块,
所述接收模块,还适于接收客户端基于预设协议发送的指定业务对应的业务规则;
所述映射模块,适于将所述业务规则映射生成与其对应的规则表,其中,所述规则表中包含所述业务规则;
所述保存模块,还适于将生成的所述规则表保存至所述预置规则数据库中。
可选地,所述云服务器还包括生成模块,
所述生成模块,适于分析所述预置规则数据库中各规则表中的业务规则,根据分析结果生成对应的XML文件;其中,所述XML文件的内容描述所述业务规则;
所述保存模块,还适于存储生成的XML文件。
可选地,所述匹配及分析模块,还适于:
查找与所述匹配出的规则表对应的XML文件,将查找到的XML文件输入至规则解析工具中;
利用所述规则解析工具根据输入的XML文件的内容对所述业务数据进行解析。
可选地,所述匹配及分析模块,还适于:
所述规则解析工具基于责任链模式根据输入的XML文件的内容对所述业务数据进行解析。
可选地,所述匹配及分析模块,还适于:
当指定时间段内再次接收到来自同一客户端的相同业务的业务数据时,从所述预置子数据库匹配与其对应的规则表;
若未匹配成功,继续从所述预置规则数据库中匹配对应的规则表。
可选地,所述接收模块,还适于同时接收来自不同客户端的业务数据,基于所述不同客户端的业务数据确定其各自所属的业务;
所述匹配及分析模块,还适于从预置规则数据库中并行的匹配与确定的各业务对应的规则表,利用匹配出的规则表中的业务规则对相应的业务数据进行解析,将各业务的业务数据对应的解析结果返回至相应的客户端;
所述保存模块,还适于将匹配出的各业务对应的规则表分别保存在不同的预置子数据库中。
可选地,所述接收模块,还适于:
通过预置Rest接口接收来自客户端的业务数据。
依据本发明的再一方面,还提供了一种规则配置系统,包括:
客户端发送待处理业务端的业务数据;
云服务器接收所述业务数据,基于所述业务数据确定其所属业务;
所述云服务器根据确定的业务从预置规则数据库中匹配与其对应的包含业务规则的规则表,利用匹配出的规则表中的业务规则对所述业务数据进行解析,将解析结果返回至所述客户端;
所述客户端接收所述业务数据的解析结果;
所述云服务器将匹配出的规则表保存至预置子数据库中,当指定时间段内再次接收到相同业务的业务数据时,按照所述预置子数据库优先级高于预置规则数据库优先级的顺序匹配所述相同业务对应的规则表。
依据本发明的又一方面,还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行上文任一实施例所述的规则匹配方法。
依据本发明的又一方面,还提供了一种计算设备,包括:处理器;存储有计算机程序代码的存储器;当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行上文任一实施例所述的规则匹配方法。
在本发明实施例中,云服务器接收到来自客户端的业务数据时,基于业务数据确定其所属业务,根据确定的业务从预置规则数据库中匹配与其对应的包含业务规则的规则表,利用匹配出的规则表中的业务规则对业务数据进行解析,将解析结果返回至客户端。同时还会将匹配出的规则表保存至预置子数据库中,当指定时间段内再次接收到相同业务的业务数据时,按照预置子数据库优先级高于预置规则数据库优先级的顺序匹配相同业务对应的规则表。由此,本发明实施例通过在云服务器侧预置规则数据库,以在接收到来自客户端的业务数据时能够从预置的规则数据库中匹配对应的规则表,规则数据库可以保存多项业务对应的规则表,这使得本方案能够适用于多项业务的业务数据解析需求。并且,当业务需求有所改变时,采用本方案可以直接对规则数据库中规则表的内容进行相应的调整,提高了云服务器在业务服务过程中的灵活性。
进一步地,将业务匹配出的规则表保存至预置子数据库中,可以在后续再次接收到相同业务的业务数据时优先从预置子数据库中匹配规则表,相对于从包含大量数据内容的规则数据库中匹配规则表而言,大大减少了匹配时间,也提高了规则表的匹配效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的规则匹配方法的流程示意图;
图2示出了根据本发明一个实施例的云服务器的服务器层设计模式的结构示意图;
图3示出了根据本发明一个实施例的责任链模式的示意图;
图4示出了根据本发明一个实施例的云服务器的结构示意图;
图5示出了根据本发明另一个实施例的云服务器的结构示意图;以及
图6示出了根据本发明一个实施例的规则匹配系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为解决上述技术问题,本发明实施例提供了一种规则匹配方法,应用于云服务器侧。图1示出了根据本发明一个实施例的规则匹配方法的流程示意图。参见图1,该方法至少包括步骤S102至步骤S106。
步骤S102,接收来自客户端的业务数据,基于业务数据确定其所属业务。
该步骤中,客户端可以是企业客户所使用的客户端,例如企业客户所使用的安全卫士客户端等等。
在接收来自客户端的业务数据时可以基于预先定义的协议来接收客户端的业务数据,预先定义的协议可以是http协议,还可以是其他类型的协议,此处不做具体的限定。该实施例中,客户端可以将业务数据携带在解析请求中发送至云服务器,云服务器接收客户端的解析请求后从解析请求中提取出业务数据,进而基于业务数据确定其所属业务。
步骤S104,根据确定的业务从预置规则数据库中匹配与其对应的包含业务规则的规则表,利用匹配出的规则表中的业务规则对业务数据进行解析,将解析结果返回至客户端。
步骤S106,将匹配出的规则表保存至预置子数据库中,当指定时间段内再次接收到相同业务的业务数据时,按照预置子数据库优先级高于预置规则数据库优先级的顺序匹配相同业务对应的规则表。
本发明实施例通过在云服务器侧预置规则数据库,以在接收到来自客户端的业务数据时能够从预置的规则数据库中匹配对应的规则表,规则数据库可以保存多项业务对应的规则表,这使得本方案能够适用于多项业务的业务数据解析需求。并且,当业务需求有所改变时,采用本方案可以直接对规则数据库中规则表的内容进行相应的调整,达到更好的扩展性要求,也提高了云服务器在业务服务过程中的灵活性。进一步地,将业务匹配出的规则表保存至预置子数据库中,可以在后续再次接收到相同业务的业务数据时优先从预置子数据库中匹配规则表,相对于从包含大量数据内容的规则数据库中匹配规则表而言,大大减少了匹配时间,也提高了规则表的匹配效率。
参见上文步骤S104,在本发明一实施例中,预置规则数据库的规则表中可以包含有多条规则,各条规则可以是由企业客户根据企业的业务需求配置的。本发明实施例将规则表保存至预置规则数据库中的过程是,云服务器接收客户端基于预设协议发送的指定业务对应的业务规则,将业务规则映射生成与其对应的规则表,进而将生成的规则表保存至预置规则数据库中。其中,规则表中包含业务规则。
该实施例中,规则表中的业务规则可以以条件表达式(expression)的形式存在,例如包含与、或、非等逻辑条件的表达式。此外,规则表中除了包含业务规则之外,还可以包括其他与业务规则相关的内容,如规则对应的项目id(project_id)、规则组id(rule_group_id)、条件数组(conditions)、返回值数组(return_info)、规则描述(desc)、规则创建时间(ctime)、规则信息更新时间(utime)、规则状态(status)、规则创建者(creator)、规则最新更新者(updater)等内容。
在本发明一实施例中,预置规则数据库除了规则表之外,还可以包括其他用于适配、辅助规则表的数据内容,这些数据内容也可以以列表的形式存在于预置规则数据库中,例如预置规则数据库中还可以包括日志表、项目表、规则顺序表以及字段表等。
其中,日志表中包括规则id(rule_id)、项目id、更新者(updater)、更新时间、更新字段细节(detail)等内容。项目表中包括规则组id、规则创建时间、规则信息更新时间、规则状态、规则创建者、规则最近更新者等内容。规则顺序表中包括项目id、顺序时间(seq)、locktime锁表时间(毫秒时间戳)等内容。字段表中包括项目id、字段名称(field_name)、字段类型(field_type)、字段值举例(field_value_eg)、字段描述(desc)、规则创建时间、规则信息更新时间、规则创建者、规则最新更新者等内容。
在本发明一实施例中,前端客户端基于JS(JavaScript,直译式脚本语言)框架得到,而后台的云服务器基于PHP(Hypertext Preprocessor,超文本预处理器)框架得到,前端客户端和后台服务器之间采用单独接口,客户端与云服务器利用该单独接口并基于预先定义的协议进行数据的传输,例如,客户端利用该单独接口并基于http协议向云服务器发送业务数据。又例如,云服务器利用该单独接口并基于http协议将对业务数据的解析结果返回至客户端。
在该实施例中,前端客户端和后台服务器之间的单独接口可以采用Rest接口,当然,还可以采用其他的接口。通过单独接口实现客户端和云服务器之间数据的传输,可以有效地实现客户端和云服务器的解耦合,相对于现有技术中通常将客户端和云服务器耦合在一起的情况,本方案云服务器的应用更加灵活,可以适用于多种客户端,应用于多项业务中。
本发明实施例还提供了关于云服务器服务层的设计模式。参见图2,该设计模式包括控制层Controller、服务层Service、数据访问驱动层Repositor、Date Source数据层,各层之间通过接口连接。Controller控制层能够根据接口确定后续访问哪些服务,进而这些服务可以确定通过哪个数据访问驱动层Repositor来访问Date Source中的数据,DateSource层中包括预置规则数据库。
Controller控制层作为接入层,当客户端向云服务器发送的携带业务数据的解析请求后,由Controller控制层对解析请求进行解析,且对业务数据中的相关参数进行表单校验。该实施例中,预设的传输协议不同,解析请求的类型也不同,若传输协议为http协议,则解析请求可以是http请求。
Service服务层作为业务处理层,对预置规则数据库的聚合的service中,每个处理模块对不同数据库的装配是一定的。
图2中,Field对应字段表、Project对应项目表、Rule对应规则表、OptLog对应上文的日志表、Counter对应计数表、OptRecord对应记录表。
在本发明一实施例中,在将生成的规则表保存至预置规则数据库中之后,还可以分析预置规则数据库中各规则表中的业务规则,并根据分析结果生成对应的XML文件,进而存储生成的XML文件。其中,XML文件的内容描述业务规则。生成的XML文件可以作为规则解析工具的输入。
当执行上文步骤S104时,先查找与匹配出的规则表对应的XML文件,进而将查找到的XML文件输入至规则解析工具中,利用规则解析工具根据输入的XML文件的内容对业务数据进行解析。本发明实施例的规则解析工具可以采用设置于云服务侧的规则解析引擎。
在该实施例中,采用规则解析工具根据输入的XML文件的内容对业务数据进行解析时,为了可以更好地提高业务数据的解析效率,还可以基于责任链模式对业务数据进行解析,责任链模式对业务数据进行解析的过程实际上是对上文Controller控制层和Service服务层的细化。
责任链体现的是对业务数据进行解析处理的处理序列,其包含了多个处理模块,各处理模块按照处理序列执行。在基于责任链模式对业务数据进行解析时,XML文件中的业务规则及业务数据与责任链模式的哪个模块有关,相应的业务规则和业务数据就会在对应的处理模块中进行解析。
参见图3,下面以一个具体实施例对责任链模式进行介绍。
在根据确定的业务从预置规则数据库中匹配与其对应的规则表之后,会依据业务数据和匹配得到的规则表生成相应的解析请求,该解析请求按照处理序列的顺序依次进入各处理模块,并在与业务数据和业务规则相关的模块中实现业务数据的解析,对于不相关的处理模块则可以直接跳过进入下一个处于模块。处理模块对业务数据解析处理之后,还会根据处理结果生成响应,进而响应客户端。
在该实施例的责任链模式中,第一个处理模块判断是否处于维护模块,若处于维护模式,则不进行业务数据的解析处理。第二个处理模块实现Cookie解密处理、Cookie加密处理。第三个处理模块为“无”,代表业务数据不需要在这个模块进行处理,此处增加队列Cookie到响应。第四个处理模块为开启会话,则在开启会话后进行会话处理,处理完毕后关闭会话并存储会话数据。第五个处理模块为共享错误参数,若共享参数出现错误,此时不进行业务数据的解析处理。第六个处理模块为验证CRSF令牌,对业务数据进行CRSF验证处理,验证处理后增加CRSF令牌。第七个处理模块为表单校验,对业务数据请求表单验证,根据验证结果返回响应数据。
参见上文步骤S106,在本发明一实施例中,在将匹配出的规则表保存至预置子数据库中之后,当指定时间段内再次接收到来自同一客户端的相同业务的业务数据时,可以先从预置子数据库匹配与其对应的规则表,若未匹配成功,则继续从预置规则数据库中匹配对应的规则表;若匹配成功,则直接从预置子数据库中获取相应的规则表。
由于规则数据库中包含了各种业务对应的规则表,因此,若每次匹配规则表时都从规则数据库中包含的大量数据中进行匹配,可能需要经过一定的时间才能匹配到规则表。而通过将业务匹配出的规则表保存至预置子数据库中,当后续指定时间段内再次接收到同一客户端相同业务的业务数据时,优先从预置子数据库中匹配规则表相对于从包含大量数据内容的规则数据库中匹配规则表而言,可以有效地减少匹配时间,提高规则表的匹配效率。本发明实施例对指定时间段的时间长短不做具体的限定。
本发明实施例的云服务器侧的预置规则数据库能够保存多种业务的业务规则,相应的,云服务器可以为多种客户端提供数据规则匹配及数据解析服务,当云服务器同时接收到来自不同客户端的业务数据时,为了提高数据的处理效率,本发明实施例采用云服务器并行的处理各业务数据。
具体的,云服务器同时接收来自不同客户端的业务数据后,首先,基于不同客户端的业务数据分别确定其各自所属的业务。然后,从预置规则数据库中并行的匹配与确定的各业务对应的规则表,利用匹配出的规则表中的业务规则对相应的业务数据进行解析,进而,将各业务的业务数据对应的解析结果返回至相应的客户端,最后,将匹配出的各业务对应的规则表分别保存在不同的预置子数据库中。
基于同一发明构思,本发明实施例还提供了一种云服务器,图4示出了根据本发明一个实施例的云服务器的结构示意图。参见图4,云服务器400包括接收模块410、匹配及分析模块420及保存模块430。
现介绍本发明实施例的基于云服务器400的各组成或器件的功能以及各部分间的连接关系:
接收模块410,适于接收来自客户端的业务数据,基于业务数据确定其所属业务;
匹配及分析模块420,与接收模块410耦合,适于根据确定的业务从预置规则数据库中匹配与其对应的包含业务规则的规则表,利用匹配出的规则表中的业务规则对业务数据进行解析,将解析结果返回至客户端;
保存模块430,与匹配及分析模块420耦合,适于将匹配出的规则表保存至预置子数据库中;
匹配及分析模块420,还适于当指定时间段内再次接收到相同业务的业务数据时,按照预置子数据库优先级高于预置规则数据库优先级的顺序匹配相同业务对应的规则表。
在本发明一实施例中,匹配及分析模块420还适于,当指定时间段内再次接收到来自同一客户端的相同业务的业务数据时,从预置子数据库匹配与其对应的规则表,若未匹配成功,继续从预置规则数据库中匹配对应的规则表。
在本发明一实施例中,接收模块410还适于,同时接收来自不同客户端的业务数据,基于不同客户端的业务数据确定其各自所属的业务。匹配及分析模块420还适于,从预置规则数据库中并行的匹配与确定的各业务对应的规则表,利用匹配出的规则表中的业务规则对相应的业务数据进行解析,将各业务的业务数据对应的解析结果返回至相应的客户端。保存模块430还适于,将匹配出的各业务对应的规则表分别保存在不同的预置子数据库中。
在本发明一实施例中,接收模块410还适于,通过预置Rest接口接收来自客户端的业务数据。
本发明实施例还提供了一种云服务器,图5示出了根据本发明另一个实施例的云服务器的结构示意图,该云服务器400除了包含上述各个模块之外,还可以包括映射模块440和生成模块450。
接收模块410还适于,接收客户端基于预设协议发送的指定业务对应的业务规则。
映射模块440,与匹配及解析模块420和保存模块430还分别耦合,适于将业务规则映射生成与其对应的规则表,其中,规则表中包含业务规则。
保存模块430还适于,将生成的规则表保存至预置规则数据库中。
生成模块450,适于分析预置规则数据库中各规则表中的业务规则,根据分析结果生成对应的XML文件,其中,XML文件的内容描述业务规则。
保存模块430还适于,存储生成的XML文件。
在本发明一实施例中,匹配及分析模块420还适于,查找与匹配出的规则表对应的XML文件,将查找到的XML文件输入至规则解析工具中,利用规则解析工具根据输入的XML文件的内容对业务数据进行解析。
在本发明一实施例中,匹配及分析模块420还适于,规则解析工具基于责任链模式根据输入的XML文件的内容对业务数据进行解析。
基于同一发明构思,本发明实施例还提供了一种规则配置系统,图6示出了根据本发明一个实施例的规则配置系统的结构示意图。参见图6,规则配置系统600包括客户端610和上文任意实施例中的云服务器400,其中,
客户端610向云服务器400发送待处理业务端的业务数据。
云服务器400接收业务数据,基于业务数据确定其所属业务。
云服务器400根据确定的业务从预置规则数据库中匹配与其对应的包含业务规则的规则表,利用匹配出的规则表中的业务规则对业务数据进行解析,将解析结果返回至客户端610。进而客户端610接收业务数据的解析结果。
云服务器400将匹配出的规则表保存至预置子数据库中,当指定时间段内再次接收到相同业务的业务数据时,按照预置子数据库优先级高于预置规则数据库优先级的顺序匹配相同业务对应的规则表。
本发明实施例中,关于云服务器具体根据业务数据的匹配与其对应的包含业务规则的规则表的过程、利用匹配出的规则表中的业务规则对业务数据进行解析的过程可以参见上文实施例,此处不做具体的赘述。
该系统中,客户端610基于JS框架,云服务器400基于PHP框架,且两者间采用单独的接口实现前后端的解耦合,具体请参见上文实施例。
本发明实施例还提供了一种计算机存储介质,计算机存储介质存储有计算机程序代码,当计算机程序代码在计算设备上运行时,导致计算设备执行上文任一实施例中的规则匹配方法。
本发明实施例还提供了一种计算设备,包括:处理器;存储有计算机程序代码的存储器;当计算机程序代码被处理器运行时,导致计算设备执行上文任一实施例中的规则匹配方法。
根据上述任意一个优选实施例或多个优选实施例的组合,本发明实施例能够达到如下有益效果:
在本发明实施例中,云服务器接收到来自客户端的业务数据时,基于业务数据确定其所属业务,根据确定的业务从预置规则数据库中匹配与其对应的包含业务规则的规则表,利用匹配出的规则表中的业务规则对业务数据进行解析,将解析结果返回至客户端。同时还会将匹配出的规则表保存至预置子数据库中,当指定时间段内再次接收到相同业务的业务数据时,按照预置子数据库优先级高于预置规则数据库优先级的顺序匹配相同业务对应的规则表。由此,本发明实施例通过在云服务器侧预置规则数据库,以在接收到来自客户端的业务数据时能够从预置的规则数据库中匹配对应的规则表,规则数据库可以保存多项业务对应的规则表,这使得本方案能够适用于多项业务的业务数据解析需求。并且,当业务需求有所改变时,采用本方案可以直接对规则数据库中规则表的内容进行相应的调整,提高了云服务器在业务服务过程中的灵活性。
进一步地,将业务匹配出的规则表保存至预置子数据库中,可以在后续再次接收到相同业务的业务数据时优先从预置子数据库中匹配规则表,相对于从包含大量数据内容的规则数据库中匹配规则表而言,大大减少了匹配时间,也提高了规则表的匹配效率。
所属领域的技术人员可以清楚地了解到,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。
本领域普通技术人员可以理解:集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行指令时执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM),磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,程序指令可以存储于一计算机可读取存储介质中,当程序指令被计算设备的处理器执行时,计算设备执行本发明各实施例方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。
本发明实施例还提供了A1、一种规则匹配方法,应用于云服务器,包括:
接收来自客户端的业务数据,基于所述业务数据确定其所属业务;
根据确定的业务从预置规则数据库中匹配与其对应的包含业务规则的规则表,利用匹配出的规则表中的业务规则对所述业务数据进行解析,将解析结果返回至所述客户端;
将匹配出的规则表保存至预置子数据库中;
当指定时间段内再次接收到相同业务的业务数据时,按照所述预置子数据库优先级高于预置规则数据库优先级的顺序匹配所述相同业务对应的规则表。
A2、根据A1所述的方法,其中,还包括:
接收客户端基于预设协议发送的指定业务对应的业务规则;
将所述业务规则映射生成与其对应的规则表,其中,所述规则表中包含所述业务规则;
将生成的所述规则表保存至所述预置规则数据库中。
A3、根据A2所述的方法,其中,将生成的所述规则表保存至所述预置规则数据库中之后,还包括:
分析所述预置规则数据库中各规则表中的业务规则,根据分析结果生成对应的XML文件;其中,所述XML文件的内容描述所述业务规则;
存储生成的XML文件。
A4、根据A3所述的方法,其中,利用匹配出的规则表中的业务规则对所述业务数据进行解析,包括:
查找与所述匹配出的规则表对应的XML文件,将查找到的XML文件输入至规则解析工具中;
利用所述规则解析工具根据输入的XML文件的内容对所述业务数据进行解析。
A5、根据A4所述的方法,其中,所述规则解析工具根据输入的XML文件的内容对所述业务数据进行解析,包括:
所述规则解析工具基于责任链模式根据输入的XML文件的内容对所述业务数据进行解析。
A6、根据A1-A5任一项所述的方法,其中,所述当指定时间段内再次接收到相同业务的业务数据时,按照所述预置子数据库优先级高于预置规则数据库优先级的顺序匹配所述相同业务对应的规则表,包括:
当指定时间段内再次接收到来自同一客户端的相同业务的业务数据时,从所述预置子数据库匹配与其对应的规则表;
若未匹配成功,继续从所述预置规则数据库中匹配对应的规则表。
A7、根据A1-A5任一项所述的方法,其中,还包括:
同时接收来自不同客户端的业务数据,基于所述不同客户端的业务数据确定其各自所属的业务;
从预置规则数据库中并行的匹配与确定的各业务对应的规则表,利用匹配出的规则表中的业务规则对相应的业务数据进行解析,将各业务的业务数据对应的解析结果返回至相应的客户端;
将匹配出的各业务对应的规则表分别保存在不同的预置子数据库中。
A8、根据A1-A5任一项所述的方法,其中,接收来自客户端的业务数据,包括:
通过预置Rest接口接收来自客户端的业务数据。
B9、一种云服务器,包括:
接收模块,适于接收来自客户端的业务数据,基于所述业务数据确定其所属业务;
匹配及分析模块,适于根据确定的业务从预置规则数据库中匹配与其对应的包含业务规则的规则表,利用匹配出的规则表中的业务规则对所述业务数据进行解析,将解析结果返回至所述客户端;
保存模块,适于将匹配出的规则表保存至预置子数据库中;
所述匹配及分析模块,还适于当指定时间段内再次接收到相同业务的业务数据时,按照所述预置子数据库优先级高于预置规则数据库优先级的顺序匹配所述相同业务对应的规则表。
B10、根据B9所述的云服务器,其中,还包括映射模块,
所述接收模块,还适于接收客户端基于预设协议发送的指定业务对应的业务规则;
所述映射模块,适于将所述业务规则映射生成与其对应的规则表,其中,所述规则表中包含所述业务规则;
所述保存模块,还适于将生成的所述规则表保存至所述预置规则数据库中。
B11、根据B10所述的云服务器,其中,还包括生成模块,
所述生成模块,适于分析所述预置规则数据库中各规则表中的业务规则,根据分析结果生成对应的XML文件;其中,所述XML文件的内容描述所述业务规则;
所述保存模块,还适于存储生成的XML文件。
B12、根据B11所述的云服务器,其中,所述匹配及分析模块,还适于:
查找与所述匹配出的规则表对应的XML文件,将查找到的XML文件输入至规则解析工具中;
利用所述规则解析工具根据输入的XML文件的内容对所述业务数据进行解析。
B13、根据B12所述的云服务器,其中,所述匹配及分析模块,还适于:
所述规则解析工具基于责任链模式根据输入的XML文件的内容对所述业务数据进行解析。
B14、根据B9-B13任一项所述的云服务器,其中,所述匹配及分析模块,还适于:
当指定时间段内再次接收到来自同一客户端的相同业务的业务数据时,从所述预置子数据库匹配与其对应的规则表;
若未匹配成功,继续从所述预置规则数据库中匹配对应的规则表。
B15、根据B9-B13任一项所述的云服务器,其中,
所述接收模块,还适于同时接收来自不同客户端的业务数据,基于所述不同客户端的业务数据确定其各自所属的业务;
所述匹配及分析模块,还适于从预置规则数据库中并行的匹配与确定的各业务对应的规则表,利用匹配出的规则表中的业务规则对相应的业务数据进行解析,将各业务的业务数据对应的解析结果返回至相应的客户端;
所述保存模块,还适于将匹配出的各业务对应的规则表分别保存在不同的预置子数据库中。
B16、根据B9-B13任一项所述的云服务器,其中,所述接收模块,还适于:
通过预置Rest接口接收来自客户端的业务数据。
C17、一种规则配置系统,包括:
客户端发送待处理业务端的业务数据;
云服务器接收所述业务数据,基于所述业务数据确定其所属业务;
所述云服务器根据确定的业务从预置规则数据库中匹配与其对应的包含业务规则的规则表,利用匹配出的规则表中的业务规则对所述业务数据进行解析,将解析结果返回至所述客户端;
所述客户端接收所述业务数据的解析结果;
所述云服务器将匹配出的规则表保存至预置子数据库中,当指定时间段内再次接收到相同业务的业务数据时,按照所述预置子数据库优先级高于预置规则数据库优先级的顺序匹配所述相同业务对应的规则表。
D18、一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行A1-A8任一项所述的规则匹配方法。
E19、一种计算设备,包括:处理器;存储有计算机程序代码的存储器;当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行A1-A8任一项所述的规则匹配方法。
Claims (10)
1.一种规则匹配方法,应用于云服务器,包括:
接收来自客户端的业务数据,基于所述业务数据确定其所属业务;
根据确定的业务从预置规则数据库中匹配与其对应的包含业务规则的规则表,利用匹配出的规则表中的业务规则对所述业务数据进行解析,将解析结果返回至所述客户端;
将匹配出的规则表保存至预置子数据库中;
当指定时间段内再次接收到相同业务的业务数据时,按照所述预置子数据库优先级高于预置规则数据库优先级的顺序匹配所述相同业务对应的规则表。
2.根据权利要求1所述的方法,其中,还包括:
接收客户端基于预设协议发送的指定业务对应的业务规则;
将所述业务规则映射生成与其对应的规则表,其中,所述规则表中包含所述业务规则;
将生成的所述规则表保存至所述预置规则数据库中。
3.根据权利要求2所述的方法,其中,将生成的所述规则表保存至所述预置规则数据库中之后,还包括:
分析所述预置规则数据库中各规则表中的业务规则,根据分析结果生成对应的XML文件;其中,所述XML文件的内容描述所述业务规则;
存储生成的XML文件。
4.根据权利要求3所述的方法,其中,利用匹配出的规则表中的业务规则对所述业务数据进行解析,包括:
查找与所述匹配出的规则表对应的XML文件,将查找到的XML文件输入至规则解析工具中;
利用所述规则解析工具根据输入的XML文件的内容对所述业务数据进行解析。
5.根据权利要求4所述的方法,其中,所述规则解析工具根据输入的XML文件的内容对所述业务数据进行解析,包括:
所述规则解析工具基于责任链模式根据输入的XML文件的内容对所述业务数据进行解析。
6.根据权利要求1-5任一项所述的方法,其中,所述当指定时间段内再次接收到相同业务的业务数据时,按照所述预置子数据库优先级高于预置规则数据库优先级的顺序匹配所述相同业务对应的规则表,包括:
当指定时间段内再次接收到来自同一客户端的相同业务的业务数据时,从所述预置子数据库匹配与其对应的规则表;
若未匹配成功,继续从所述预置规则数据库中匹配对应的规则表。
7.根据权利要求1-5任一项所述的方法,其中,还包括:
同时接收来自不同客户端的业务数据,基于所述不同客户端的业务数据确定其各自所属的业务;
从预置规则数据库中并行的匹配与确定的各业务对应的规则表,利用匹配出的规则表中的业务规则对相应的业务数据进行解析,将各业务的业务数据对应的解析结果返回至相应的客户端;
将匹配出的各业务对应的规则表分别保存在不同的预置子数据库中。
8.一种云服务器,包括:
接收模块,适于接收来自客户端的业务数据,基于所述业务数据确定其所属业务;
匹配及分析模块,适于根据确定的业务从预置规则数据库中匹配与其对应的包含业务规则的规则表,利用匹配出的规则表中的业务规则对所述业务数据进行解析,将解析结果返回至所述客户端;
保存模块,适于将匹配出的规则表保存至预置子数据库中;
所述匹配及分析模块,还适于当指定时间段内再次接收到相同业务的业务数据时,按照所述预置子数据库优先级高于预置规则数据库优先级的顺序匹配所述相同业务对应的规则表。
9.一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行权利要求1-7任一项所述的规则匹配方法。
10.一种计算设备,包括:处理器;存储有计算机程序代码的存储器;当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行权利要求1-7任一项所述的规则匹配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810699982.6A CN109033206B (zh) | 2018-06-29 | 2018-06-29 | 一种规则匹配方法、云服务器及规则匹配系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810699982.6A CN109033206B (zh) | 2018-06-29 | 2018-06-29 | 一种规则匹配方法、云服务器及规则匹配系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109033206A true CN109033206A (zh) | 2018-12-18 |
CN109033206B CN109033206B (zh) | 2021-06-01 |
Family
ID=65520862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810699982.6A Active CN109033206B (zh) | 2018-06-29 | 2018-06-29 | 一种规则匹配方法、云服务器及规则匹配系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033206B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502546A (zh) * | 2019-08-22 | 2019-11-26 | 郑州阿帕斯科技有限公司 | 一种数据处理方法及装置 |
CN110569256A (zh) * | 2019-09-10 | 2019-12-13 | 政采云有限公司 | 一种业务处理方法、装置及电子设备和存储介质 |
CN111143061A (zh) * | 2019-12-18 | 2020-05-12 | 海尔优家智能科技(北京)有限公司 | 多设备的联动控制方法、装置及存储介质 |
CN111428132A (zh) * | 2020-03-18 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 数据的校验方法及装置、计算机存储介质、电子设备 |
CN111443905A (zh) * | 2019-01-16 | 2020-07-24 | 阿里巴巴集团控股有限公司 | 业务数据的处理方法、装置、系统及电子设备 |
CN112102028A (zh) * | 2020-08-11 | 2020-12-18 | 北京思特奇信息技术股份有限公司 | 业务数据统一配置和校验方法及系统 |
CN112181521A (zh) * | 2020-09-27 | 2021-01-05 | 中国建设银行股份有限公司 | 一种参数获取方法、装置、设备和介质 |
CN114070615A (zh) * | 2021-11-15 | 2022-02-18 | 四川启睿克科技有限公司 | 一种提升waf规则匹配速度的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503214A (zh) * | 2016-11-03 | 2017-03-15 | 北京中安智达科技有限公司 | 一种基于Redis内存数据库的复杂规则匹配方法 |
KR20170090114A (ko) * | 2016-01-28 | 2017-08-07 | 주식회사 아임클라우드 | 빅데이터 기반의 스마트 팩토리 분석시스템 및 방법 |
CN107025559A (zh) * | 2017-01-26 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种业务处理方法及装置 |
-
2018
- 2018-06-29 CN CN201810699982.6A patent/CN109033206B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170090114A (ko) * | 2016-01-28 | 2017-08-07 | 주식회사 아임클라우드 | 빅데이터 기반의 스마트 팩토리 분석시스템 및 방법 |
CN106503214A (zh) * | 2016-11-03 | 2017-03-15 | 北京中安智达科技有限公司 | 一种基于Redis内存数据库的复杂规则匹配方法 |
CN107025559A (zh) * | 2017-01-26 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种业务处理方法及装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111443905A (zh) * | 2019-01-16 | 2020-07-24 | 阿里巴巴集团控股有限公司 | 业务数据的处理方法、装置、系统及电子设备 |
CN111443905B (zh) * | 2019-01-16 | 2023-04-11 | 阿里巴巴集团控股有限公司 | 业务数据的处理方法、装置、系统及电子设备 |
CN110502546A (zh) * | 2019-08-22 | 2019-11-26 | 郑州阿帕斯科技有限公司 | 一种数据处理方法及装置 |
CN110569256A (zh) * | 2019-09-10 | 2019-12-13 | 政采云有限公司 | 一种业务处理方法、装置及电子设备和存储介质 |
CN111143061A (zh) * | 2019-12-18 | 2020-05-12 | 海尔优家智能科技(北京)有限公司 | 多设备的联动控制方法、装置及存储介质 |
CN111143061B (zh) * | 2019-12-18 | 2024-02-23 | 海尔优家智能科技(北京)有限公司 | 多设备的联动控制方法、装置及存储介质 |
CN111428132B (zh) * | 2020-03-18 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 数据的校验方法及装置、计算机存储介质、电子设备 |
CN111428132A (zh) * | 2020-03-18 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 数据的校验方法及装置、计算机存储介质、电子设备 |
CN112102028A (zh) * | 2020-08-11 | 2020-12-18 | 北京思特奇信息技术股份有限公司 | 业务数据统一配置和校验方法及系统 |
CN112102028B (zh) * | 2020-08-11 | 2024-04-23 | 北京思特奇信息技术股份有限公司 | 业务数据统一配置和校验方法及系统 |
CN112181521A (zh) * | 2020-09-27 | 2021-01-05 | 中国建设银行股份有限公司 | 一种参数获取方法、装置、设备和介质 |
CN114070615B (zh) * | 2021-11-15 | 2023-09-15 | 四川启睿克科技有限公司 | 一种提升waf规则匹配速度的方法 |
CN114070615A (zh) * | 2021-11-15 | 2022-02-18 | 四川启睿克科技有限公司 | 一种提升waf规则匹配速度的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109033206B (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109033206A (zh) | 一种规则匹配方法、云服务器及规则匹配系统 | |
US11615087B2 (en) | Search time estimate in a data intake and query system | |
US11269908B2 (en) | Cross-system journey monitoring based on relation of machine data | |
US10795884B2 (en) | Dynamic resource allocation for common storage query | |
US11232100B2 (en) | Resource allocation for multiple datasets | |
US10698900B2 (en) | Generating a distributed execution model with untrusted commands | |
US20180089278A1 (en) | Data conditioning for dataset destination | |
US9037698B1 (en) | Method and system for collecting and analyzing time-series data | |
JP6250061B2 (ja) | イベント処理とマップリデュースとの統合 | |
US20180089259A1 (en) | External dataset capability compensation | |
US20180089324A1 (en) | Dynamic resource allocation for real-time search | |
US20180089306A1 (en) | Query acceleration data store | |
US20180089269A1 (en) | Query processing using query-resource usage and node utilization data | |
US20180089312A1 (en) | Multi-layer partition allocation for query execution | |
US9053231B2 (en) | Systems and methods for analyzing operations in a multi-tenant database system environment | |
US10769163B2 (en) | Cross-system nested journey monitoring based on relation of machine data | |
US20200034750A1 (en) | Generating artificial training data for machine-learning | |
US8433786B2 (en) | Selective instrumentation of distributed applications for transaction monitoring | |
US9311617B2 (en) | Processing event instance data in a client-server architecture | |
US20090198534A1 (en) | Governing A Service Oriented Architecture | |
CN106327324B (zh) | 一种网络行为特征的快速计算方法和系统 | |
US8395623B2 (en) | Generating and displaying an application flow diagram that maps business transactions for application performance engineering | |
US11741131B1 (en) | Fragmented upload and re-stitching of journey instances detected within event data | |
US11561965B2 (en) | Data retrieval via incremental updates to graph data structures | |
CN107480268A (zh) | 数据查询方法及装置 |
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 |