数据分析方法及装置转让专利

申请号 : CN201610877104.X

文献号 : CN106445626B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 颜高权

申请人 : 北京奇虎科技有限公司奇安信科技集团股份有限公司

摘要 :

本发明公开了一种数据分析方法及装置,涉及信息技术领域,可以实现对数据进行规则匹配,可以提高数据规则匹配的效率。所述方法包括:将待匹配数据进行对象化处理;通过预先加载的代码片段,对处理后的数据进行规则匹配,所述代码片段中包含不同的预设规则,所述处理后的数据为与所述代码片段的编写语言对应的对象数据;根据匹配结果,确定是否执行与所述预设规则对应的预定操作。本发明适用于数据规则匹配分析。

权利要求 :

1.一种数据分析方法,其特征在于,包括:

将待匹配数据进行对象化处理;

通过预先加载的代码片段,对处理后的数据进行规则匹配,所述代码片段中包含不同的预设规则,所述预设规则中包含规则标识信息、匹配条件信息及匹配结果信息,所述匹配结果信息中包含规则匹配成功时执行的预定操作信息,所述处理后的数据为与所述代码片段的编写语言对应的对象数据;

根据匹配结果,确定是否执行与所述预设规则对应的预定操作。

2.根据权利要求1所述的数据分析方法,其特征在于,所述代码片段中保存的预设规则按照处理优先级的先后顺序排列,所述通过预先加载的代码片段,对处理后的数据进行规则匹配包括:按照所述排列的先后顺序,对处理后的数据依次进行规则匹配;

所述根据匹配结果,确定是否执行与所述预设规则对应的预定操作包括:当存在一个预设规则与所述处理后的数据匹配成功时,则确定执行与所述匹配成功的预设规则对应的预定操作。

3.根据权利要求1所述的数据分析方法,其特征在于,所述根据匹配结果,确定是否执行与所述预设规则对应的预定操作包括:根据所述预定操作信息和匹配结果,确定是否执行与匹配成功的预设规则对应的预定操作。

4.根据权利要求1所述的数据分析方法,其特征在于,所述通过预先加载的代码片段,对处理后的数据进行规则匹配之前,所述方法还包括:对所述代码片段进行安全处理;

所述通过预先加载的代码片段,对处理后的数据进行规则匹配包括:通过安全处理后的代码片段,对处理后的数据进行规则匹配。

5.根据权利要求4所述的数据分析方法,其特征在于,所述对所述代码片段进行安全处理包括:对所述代码片段中的危险函数进行屏蔽处理;和/或对所述代码片段中的特定函数进行注释处理。

6.根据权利要求1所述的数据分析方法,其特征在于,所述将待匹配数据进行对象化处理之前,所述方法还包括:按照待匹配数据对应的存储时间的先后顺序,从预设缓存队列中获取待匹配数据,所述预设缓存队列中保存有不同的待匹配处理的数据;

所述将待匹配数据进行对象化处理包括:

将获取到的待匹配数据进行对象化处理。

7.根据权利要求1所述的数据分析方法,其特征在于,所述方法还包括:从预定文本信息或预定脚本程序或预定在线编辑器中获取所述代码片段并进行加载。

8.根据权利要求1所述的数据分析方法,其特征在于,所述方法还包括:按照预置时间间隔获取所述代码片段的更新信息;

根据所述更新信息进行所述代码片段的更新;

所述通过预先加载的代码片段,对处理后的数据进行规则匹配包括:通过预先加载的更新后的代码片段,对处理后的数据进行规则匹配。

9.根据权利要求1至8任一项所述的数据分析方法,其特征在于,所述处理后的数据为Python对象数据,所述代码片段为利用Python语言编写的代码片段。

10.一种数据分析装置,其特征在于,包括:处理单元,用于将待匹配数据进行对象化处理;

匹配单元,用于通过预先加载的代码片段,对所述处理单元处理后的数据进行规则匹配,所述代码片段中包含不同的预设规则,所述预设规则中包含规则标识信息、匹配条件信息及匹配结果信息,所述匹配结果信息中包含规则匹配成功时执行的预定操作信息,所述处理后的数据为与所述代码片段的编写语言对应的对象数据;

确定单元,用于根据所述匹配单元的匹配结果,确定是否执行与所述预设规则对应的预定操作。

11.根据权利要求10所述的数据分析装置,其特征在于,所述代码片段中保存的预设规则按照处理优先级的先后顺序排列,所述匹配单元,具体用于按照所述排列的先后顺序,对处理后的数据依次进行规则匹配;

所述确定单元,具体用于当存在一个预设规则与所述处理后的数据匹配成功时,则确定执行与所述匹配成功的预设规则对应的预定操作。

12.根据权利要求10所述的数据分析装置,其特征在于,所述确定单元,具体用于根据所述预定操作信息和匹配结果,确定是否执行与匹配成功的预设规则对应的预定操作。

13.根据权利要求10所述的数据分析装置,其特征在于,所述处理单元,还用于对所述代码片段进行安全处理;

所述匹配单元,具体用于通过安全处理后的代码片段,对处理后的数据进行规则匹配。

14.根据权利要求13所述的数据分析装置,其特征在于,所述处理单元,具体用于对所述代码片段中的危险函数进行屏蔽处理;和/或对所述代码片段中的预定函数进行注释处理。

15.根据权利要求10所述的数据分析装置,其特征在于,所述装置还包括:获取单元;

所述获取单元,用于按照待匹配数据对应的存储时间的先后顺序,从预设缓存队列中获取待匹配数据,所述预设缓存队列中保存有不同的待匹配处理的数据;

所述处理单元,具体用于将所述获取单元获取到的待匹配数据进行对象化处理。

16.根据权利要求10所述的数据分析装置,其特征在于,所述装置还包括:获取单元,用于从预定文本信息或预定脚本程序或预定在线编辑器中获取所述代码片段;

加载单元,用于将所述获取单元获取到的代码片段进行加载。

17.根据权利要求10所述的数据分析装置,其特征在于,所述装置还包括:获取单元和更新单元;

所述获取单元,用于按照预置时间间隔获取所述代码片段的更新信息;

所述更新单元,用于根据所述获取单元获取到的更新信息进行所述代码片段的更新;

所述匹配单元,具体用于通过预先加载的更新后的代码片段,对处理后的数据进行规则匹配。

18.根据权利要求10至17任一项所述的数据分析装置,其特征在于,所述处理后的数据为Python对象数据,所述代码片段为利用Python语言编写的代码片段。

说明书 :

数据分析方法及装置

技术领域

[0001] 本发明涉及一种信息技术领域,特别是涉及一种数据分析方法及装置。

背景技术

[0002] 随着科学技术的不断发展,数据分析技术的应用越来越广泛。数据分析技术开始在互联网、零售、医疗、物联网等多个行业里成为商业变革的主导力量。数据分析技术是根据需要对网上海量的文本、图像和视频数据进行采集、分析、加工和利用的一项技术。
[0003] 目前,在数据分析过程中,有需要对数据进行规则匹配的需求。例如,当数据进行病毒查杀时,需要对该数据进行病毒规则匹配,以便根据匹配结果进行查杀操作。

发明内容

[0004] 有鉴于此,本发明提供了一种数据分析方法及装置,主要目的在于可以实现对数据进行规则匹配,可以提高数据规则匹配的效率。
[0005] 依据本发明一个方面,提供了一种数据分析方法,该方法包括:
[0006] 将待匹配数据进行对象化处理;
[0007] 通过预先加载的代码片段,对处理后的数据进行规则匹配,所述代码片段中包含不同的预设规则,所述处理后的数据为与所述代码片段的编写语言对应的对象数据;
[0008] 根据匹配结果,确定是否执行与所述预设规则对应的预定操作。
[0009] 依据本发明另一个方面,提供了一种数据分析装置,该装置包括:
[0010] 处理单元,用于将待匹配数据进行对象化处理;
[0011] 匹配单元,用于通过预先加载的代码片段,对所述处理单元处理后的数据进行规则匹配,所述代码片段中包含不同的预设规则,所述处理后的数据为与所述代码片段的编写语言对应的对象数据;
[0012] 确定单元,用于根据所述匹配单元的匹配结果,确定是否执行与所述预设规则对应的预定操作。
[0013] 借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
[0014] 本发明提供的一种数据分析方法及装置,首先将待匹配数据进行对象化处理;然后通过预先加载的代码片段,对处理后的数据进行规则匹配,所述代码片段中包含不同的预设规则,所述处理后的数据为与所述代码片段的编写语言对应的对象数据;最后根据匹配结果,确定是否执行与所述预设规则对应的预定操作。本发明通过预先加载的代码片段,将对象化处理后的数据进行规则匹配,可以实现对数据进行规则匹配,并且加载后的代码片段中保存有不同预设规则,进而可以实现将不同的预设规则预编译到内存中进行数据的规则匹配,当需要对大量数据进行规则匹配时,可以提高数据规则匹配的效率。
[0015] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

[0016] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0017] 图1示出了本发明实施例提供的一种数据分析方法流程示意图;
[0018] 图2示出了本发明实施例提供的另一种数据分析方法流程示意图;
[0019] 图3示出了本发明实施例提供的一种数据分析装置结构示意图;
[0020] 图4示出了本发明实施例提供的另一种数据分析装置结构示意图。

具体实施方式

[0021] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0022] 本发明实施例提供了一种数据分析方法,如图1所示,所述方法包括:
[0023] 101、将待匹配数据进行对象化处理。
[0024] 其中,所述待匹配数据可以为json数据、XML(Extensible Markup Language,可扩展标记语言)数据等。
[0025] 例如,将待匹配的json数据进行对象化处理,得到Python(计算机程序设计语言)对象,以便通过Python语言编写的代码片段,对其进行规则匹配。
[0026] 102、通过预先加载的代码片段,对处理后的数据进行规则匹配。
[0027] 其中,所述代码片段中包含不同的预设规则,所述预设规则可以根据实际需求进行配置。所述处理后的数据为与所述代码片段的编写语言对应的对象数据。例如,该代码片段可以由技术人员事先利用Python语言进行编写配置,而对象化处理后的数据可以为Python对象数据。
[0028] 例如,预设规则的结构可以采取三段式:规则名,匹配条件、匹配结果,中间用特定符号分隔,一行一条规则;预设规则采取至上而下的原则,越靠前的规则越先匹配,整个匹配过程中只要命中一条规则就表明匹配成功并立即返回匹配结果。其中,匹配条件可以支持任意待匹配数据,直接取对象化处理后的待匹配数据做条件运算、逻辑运算等,如果结果为真,返回匹配结果,如果结果为假,继续下一条规则匹配。匹配条件、匹配结果均可支持正则匹配、自定义函数,以及Python语言本身的一些特性。
[0029] 对于本发明实施例,通过预先加载的代码片段进行规则匹配,加载后的代码片段中保存有不同预设规则,可以实现将不同的预设规则预编译到内存中进行数据的规则匹配,当需要对大量数据进行规则匹配时,可以提高数据规则匹配的效率。
[0030] 103、根据匹配结果,确定是否执行与预设规则对应的预定操作。
[0031] 其中,所述预定操作可以根据实际需求进行配置,例如,预定操作可以为返回字符串、获取json数据、修改原始json数据等操作。
[0032] 例如,预设规则为scan_by_powershell||data.cmdline.find("powershell.exe")>-1and data.cmdline.find("192.168.133.1")>-1||"OK",其中,该预设规则的规则名为scan_by_powershell,匹配条件为data.cmdline.find("powershell.exe")>-1and data.cmdline.find("192.168.133.1")>-1,匹配成功后执行的预定操作是返回“OK”。当对象处理化后的待匹配数据与该预设规则匹配时,如cmdline里找到了"powershell.exe"字符串,则返回“OK”,作为执行与该预设规则对应的预定操作。
[0033] 本发明实施例提供的一种数据分析方法,首先将待匹配数据进行对象化处理;然后通过预先加载的代码片段,对处理后的数据进行规则匹配,所述代码片段中包含不同的预设规则,所述处理后的数据为与所述代码片段的编写语言对应的对象数据;最后根据匹配结果,确定是否执行与所述预设规则对应的预定操作。本发明通过预先加载的代码片段,将对象化处理后的数据进行规则匹配,可以实现对数据进行规则匹配,并且加载后的代码片段中保存有不同预设规则,进而可以实现将不同的预设规则预编译到内存中进行数据的规则匹配,当需要对大量数据进行规则匹配时,可以提高数据规则匹配的效率。
[0034] 具体地,本发明实施例提供了另一种数据分析方法,如图2所示,所述方法包括:
[0035] 201、按照待匹配数据对应的存储时间的先后顺序,从预设缓存队列中获取待匹配数据。
[0036] 其中,所述预设缓存队列中保存有不同的待匹配处理的数据。所述存储时间可以为待匹配数据存入预设缓存队列时的时间。对于本发明实施例,当需要处理大量的待匹配数据时,可以将这些数据存储在预先设置的缓存队列中等待处理,还可以应用在分布式系统中,例如,可以将不同机器需要处理的待匹配数据存储在预设缓存队列中等待处理。
[0037] 在本发明实施例中,可以按照待匹配数据存入预设缓存队列的时间的先后顺序,从预设缓存队列中获取待匹配数据。
[0038] 需要说明的是,对于本发明实施例,预设缓存队列可以存储待匹配数据,也可以存储对象化处理后的待匹配数据,具体可以根据实际需求进行配置,本发明实施例不做限定。
[0039] 202、将获取到的待匹配数据进行对象化处理。
[0040] 例如,将从预设缓存队列中获取的json数据进行对象化处理,得到Python对象,以便通过Python语言编写的代码片段,对其进行规则匹配。
[0041] 203、通过预先加载的代码片段,对处理后的数据进行规则匹配。
[0042] 其中,所述代码片段中包含不同的预设规则。所述代码片段中保存的预设规则按照处理优先级的先后顺序排列。所述处理优先级可以根据实际需求进行选择设定,所述预设规则中包含规则标识信息、匹配条件信息及匹配结果信息,所述匹配结果信息中包含规则匹配成功时执行的预定操作信息。所述规则标识信息可以为规则名称、ID(Identity,身份标识号码)。
[0043] 在本发明实施例中,所述处理后的数据可以为与所述代码片段的编写语言对应的对象数据,以便通过所述代码片段,对待匹配数据进行规则匹配。具体地,所述处理后的数据可以为Python对象数据,所述代码片段可以为利用Python语言编写的代码片段。需要说明的是,利用Python语言编写代码片段,其包含的预设规则更加灵活多样,应用更加广泛,例如,对于一组关于分数的待匹配数据,根据实际需要可以取分数中的最大值进行规则匹配,也可以取分数中的最小值进行规则匹配,还可以取分数中的平均值进行规则匹配。
[0044] 对于本发明实施例,通过预先加载的代码片段进行规则匹配,加载后的代码片段中保存有不同预设规则,可以实现将不同的预设规则预编译到内存中进行数据的规则匹配,当需要对大量数据进行规则匹配时,可以提高数据规则匹配的效率。
[0045] 具体地,所述步骤203具体可以包括:按照所述排列的先后顺序,对处理后的数据依次进行规则匹配。
[0046] 例如,代码片段中保存有五条预设规则,分别为规则A、规则B、规则C、规则D、规则E,其中这五条规则按照处理优先级的先后顺序排列,该排列顺序具体为规则A—>规则D—>规则C—>规则E—>规则B,当需要对Python对象数据进行规则匹配时,按照上述排列顺序,对该Python对象数据依次进行规则匹配。
[0047] 需要说明的是,对于本发明实施例,通过按照所述排列的先后顺序,对处理后的数据依次进行规则匹配,可以实现处理优先级越高的规则越先进行匹配,可以满足业务的需求。
[0048] 在本发明实施例中,为了防止在规则中被注入恶意代码,保证数据的安全性,在步骤203之前,所述方法还可以包括:对所述代码片段进行安全处理;步骤203具体可以包括:通过安全处理后的代码片段,对处理后的数据进行规则匹配。
[0049] 具体地,对所述代码片段进行安全处理的步骤具体可以包括:对所述代码片段中的危险函数进行屏蔽处理;和/或对所述代码片段中的特定函数进行注释处理。其中,危险函数可以为eval函数、exec函数、execfile函数等。特定函数可以为input函数、import函数等。
[0050] 例如,可以检测预先加载的代码片段中是否存在与预置危险函数库中的危险函数匹配的函数,若存在,则将该代码片段中的危险函数进行屏蔽处理,同时还可以检测预先加载的代码片段中是否存在与预置特定函数库中的特定函数匹配的函数,若存在,则将加载的更新后的代码片段中的特定函数进行注释处理,进而可以防止在规则中被注入恶意代码,保证数据的安全性。
[0051] 进一步地,所述方法还可以包括:按照预置时间间隔获取所述代码片段的更新信息,其中,所述预置时间间隔可以根据实际需求进行配置,例如,预置时间间隔可以配置为1小时、1天等;根据所述更新信息进行所述代码片段的更新。
[0052] 例如,预置时间间隔可以为配置为30分钟,即每隔30分钟获取代码片段的更新信息,根据该更新信息进行代码片段的更新。
[0053] 所述步骤203具体可以包括:通过预先加载的更新后的代码片段,对处理后的数据进行规则匹配。需要说明的是,通过预先加载的更新后的代码片段,对处理后的数据进行规则匹配,可以更好的进行数据的规则匹配,可以提高规则匹配的准确率以及成功率,可以满足用户最新的需求。
[0054] 204、根据匹配结果,确定是否执行与预设规则对应的预定操作。
[0055] 其中,所述预定操作可以根据实际需求进行配置,例如,预定操作可以为获取json数据、修改原始json数据、通过自定义函数设置json数据、返回预定字符串等操作。
[0056] 具体地,所述步骤204具体可以包括:根据所述预定操作信息和匹配结果,确定是否执行与匹配成功的预设规则对应的预定操作。
[0057] 当存在一个预设规则与所述处理后的数据匹配成功时,则确定执行与所述匹配成功的预设规则对应的预定操作。
[0058] 例如,预先加载的代码片段中存在四条规则,分别为规则A、规则B、规则C、规则D,具体如下所示:
[0059] 规则A:scan_by_powershell||data.cmdline.find("powershell.exe")>-1and data.cmdline.find("192.168.133.1")>-1||"OK"
[0060] 规则B:scan_by_process_md5||data.process_md5=="92f44e405db16ac55d97e3bfe3b132fa"||data.process_md5
[0061] 规则C:scan_by_imagepath||re.match(r"searchfilterhost\.exe",data.imagepath,re.I)||data.imagepath
[0062] 规则D:scan_by_tags||len(data.tags)==1||data.set_value("rule_name","rule_ok")
[0063] 待匹配数据为json数据,具体如下所示:
[0064]
[0065]
[0066] 当预设规则按A、B、C、D顺序出现时,以上json数据命中规则A,即cmdline里找到了"powershell.exe"字符串,则返回“OK”,作为执行与该规则A对应的预定操作。
[0067] 当预设规则按B、A、C、D顺序出现时,以上json数据命中规则B,即process_md5为"92f44e405db16ac55d97e3bfe3b132fa",则将"92f44e405db16ac55d97e3bfe3b132fa"作为返回结果,进而作为执行与该规则B对应的预定操作。
[0068] 当预设规则按C、A、B、D顺序出现时,以上json数据命中规则C,即通过正则匹配到imagepath带有"searchfilterhost.exe"字符串,则将"C:\\Windows\\Sysnative\\SearchFilterHost.exe"作为返回结果,进而作为执行与该规则C对应的预定操作。
[0069] 当预设规则按D、A、B、C顺序出现时,以上json数据命中规则D,即tags的长度大小为1,则将匹配结果通过自定义函数设置该json数据,并将value值"rule_ok"作为返回结果,进而作为执行与该规则D对应的预定操作。
[0070] 进一步地,所述方法还可以包括:从预定文本信息或预定脚本程序或预定在线编辑器中获取所述代码片段并进行加载。其中,所述预定文本信息、预定脚本程序、预定在线编辑器可以根据用户的实际需求进行选择配置。需要说明的是,通过从预定文本信息或预定脚本程序或预定在线编辑器中获取所述代码片段并进行加载,可以实现多种方式获取得到代码片段并进行加载,可以根据用户的实际需要,满足用户的不同需求。
[0071] 例如,技术人员可以预先将包含预设规则的代码片段编辑在预定文本中,通过该文本进行加载代码片段;还可以预先将代码片段编辑在预定脚本程序中,通过内存加载该预定脚本程序,得到该代码片段;还可以预先利用网站提供的在线编辑器编辑包含预设规则的代码片段,通过网上加载该代码片段。
[0072] 本发明实施例提供的另一种数据分析方法,首先将待匹配数据进行对象化处理;然后通过预先加载的代码片段,对处理后的数据进行规则匹配,所述代码片段中包含不同的预设规则,所述处理后的数据为与所述代码片段的编写语言对应的对象数据;最后根据匹配结果,确定是否执行与所述预设规则对应的预定操作。本发明通过预先加载的代码片段,将对象化处理后的数据进行规则匹配,可以实现对数据进行规则匹配,并且加载后的代码片段中保存有不同预设规则,进而可以实现将不同的预设规则预编译到内存中进行数据的规则匹配,当需要对大量数据进行规则匹配时,可以提高数据规则匹配的效率。
[0073] 进一步地,作为图1所述方法的具体实现,本发明实施例提供了一种数据处理装置,如图3所示,所述装置包括:处理单元31、匹配单元32、确定单元33。
[0074] 所述处理单元31,可以用于将待匹配数据进行对象化处理。
[0075] 所述匹配单元32,可以用于通过预先加载的代码片段,对所述处理单元31处理后的数据进行规则匹配,所述代码片段中包含不同的预设规则,所述处理后的数据为与所述代码片段的编写语言对应的对象数据。
[0076] 所述确定单元33,可以用于根据所述匹配单元32的匹配结果,确定是否执行与所述预设规则对应的预定操作。
[0077] 需要说明的是,本发明实施例提供的一种数据分析装置所涉及各功能单元的其他相应描述,可以参考图1中的对应描述,在此不再赘述。
[0078] 本发明实施例提供的一种数据分析装置,首先将待匹配数据进行对象化处理;然后通过预先加载的代码片段,对处理后的数据进行规则匹配,所述代码片段中包含不同的预设规则,所述处理后的数据为与所述代码片段的编写语言对应的对象数据;最后根据匹配结果,确定是否执行与所述预设规则对应的预定操作。本发明通过预先加载的代码片段,将对象化处理后的数据进行规则匹配,可以实现对数据进行规则匹配,并且加载后的代码片段中保存有不同预设规则,进而可以实现将不同的预设规则预编译到内存中进行数据的规则匹配,当需要对大量数据进行规则匹配时,可以提高数据规则匹配的效率。
[0079] 进一步地,作为图2所述方法的具体实现,本发明实施例提供了另一种数据处理装置,如图4所示,所述装置包括:处理单元41、匹配单元42、确定单元43。
[0080] 所述处理单元41,可以用于将待匹配数据进行对象化处理。
[0081] 所述匹配单元42,可以用于通过预先加载的代码片段,对所述处理单元41处理后的数据进行规则匹配,所述代码片段中包含不同的预设规则,所述处理后的数据为与所述代码片段的编写语言对应的对象数据。
[0082] 所述确定单元43,可以用于根据所述匹配单元42的匹配结果,确定是否执行与所述预设规则对应的预定操作。
[0083] 可选地,所述代码片段中保存的预设规则按照处理优先级的先后顺序排列。
[0084] 所述匹配单元42,具体可以用于按照所述排列的先后顺序,对处理后的数据依次进行规则匹配。
[0085] 所述确定单元43,具体可以用于当存在一个预设规则与所述处理后的数据匹配成功时,则确定执行与所述匹配成功的预设规则对应的预定操作。
[0086] 可选地,所述预设规则中包含规则标识信息、匹配条件信息及匹配结果信息,所述匹配结果信息中包含规则匹配成功时执行的预定操作信息。
[0087] 所述确定单元43,具体可以用于根据所述预定操作信息和匹配结果,确定是否执行与匹配成功的预设规则对应的预定操作。
[0088] 所述处理单元41,还可以用于对所述代码片段进行安全处理。
[0089] 所述匹配单元42,具体可以用于通过安全处理后的代码片段,对处理后的数据进行规则匹配。
[0090] 所述处理单元41,具体可以用于对所述代码片段中的危险函数进行屏蔽处理;和/或对所述代码片段中的预定函数进行注释处理。
[0091] 进一步地,所述装置还包括:获取单元44。
[0092] 所述获取单元44,可以用于按照待匹配数据对应的存储时间的先后顺序,从预设缓存队列中获取待匹配数据,所述预设缓存队列中保存有不同的待匹配处理的数据。
[0093] 所述处理单元41,具体可以用于将所述获取单元44获取到的待匹配数据进行对象化处理。
[0094] 进一步地,所述装置还包括:加载单元45。
[0095] 所述获取单元44,还可以用于从预定文本信息或预定脚本程序或预定在线编辑器中获取所述代码片段。
[0096] 所述加载单元45,可以用于将所述获取单元44获取到的代码片段进行加载。
[0097] 进一步地,所述装置还包括:更新单元46。
[0098] 所述获取单元44,还可以用于按照预置时间间隔获取所述代码片段的更新信息。
[0099] 所述更新单元46,可以用于根据所述获取单元44获取到的更新信息进行所述代码片段的更新。
[0100] 所述匹配单元42,具体可以用于通过预先加载的更新后的代码片段,对处理后的数据进行规则匹配。
[0101] 可选地,所述处理后的数据可以为Python对象数据,所述代码片段可以为利用Python语言编写的代码片段。
[0102] 需要说明的是,本发明实施例提供的另一种数据分析装置所涉及各功能单元的其他相应描述,可以参考图2中的对应描述,在此不再赘述。
[0103] 本发明实施例提供的另一种数据分析装置,首先将待匹配数据进行对象化处理;然后通过预先加载的代码片段,对处理后的数据进行规则匹配,所述代码片段中包含不同的预设规则,所述处理后的数据为与所述代码片段的编写语言对应的对象数据;最后根据匹配结果,确定是否执行与所述预设规则对应的预定操作。本发明通过预先加载的代码片段,将对象化处理后的数据进行规则匹配,可以实现对数据进行规则匹配,并且加载后的代码片段中保存有不同预设规则,进而可以实现将不同的预设规则预编译到内存中进行数据的规则匹配,当需要对大量数据进行规则匹配时,可以提高数据规则匹配的效率。
[0104] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0105] 可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
[0106] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0107] 在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0108] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0109] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0110] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0111] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0112] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种数据分析方法及装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0113] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。