一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

报文处理方法、设备、装置及存储介质与流程

2022-02-21 03:41:49 来源:中国专利 TAG:
报文处理方法、设备、装置及存储介质与流程

本申请涉及数据处理技术领域,尤其涉及一种报文处理方法、设备、装置及存储介质。

背景技术

目前,在C/S架构模式下,客户端(Client)负责与用户进行交互,并将用户访问请求发送至服务端(Server),由服务端负责数据处理,并向客户端返回数据处理结果。其中,客户端发向服务端的访问请求,最终可能由服务端路由到存储节点上,由存储节点提供客户端所需的数据。对于某个存储节点来说,其本身可承载的每秒查询率(Queries Per Second,QPS)是有上限的,如果访问请求的数量超过该上限,就可能对系统的稳定性造成损伤,甚至存在发生系统雪崩的风险。

对于存储节点来说,异常报文存在较大的潜在危害,而治理这些异常报文的第一步就是发现这些异常报文。目前,异常报文的发现方法为:对来自服务端的报文进行链路复制,将复制的报文发送到报文检测服务上,基于该报文检测服务发现异常报文。但是,在高并发、大流量的应用场景下,报文复制需要极大的系统资源,影响系统性能,因此,在高并发、大流量的应用场景下,亟需一种发现异常报文的方法。



技术实现要素:

本申请的多个方面提供一种报文处理方法、设备、装置及存储介质,用以在高并发、大流量的应用场景下,提高系统性能。

本申请实施例提供一种报文处理方法,该方法包括:接收一种或多种第一报文,第一报文具有一种或多种属性信息;针对任一种属性信息,确定第二报文在当前统计周期内各滑动窗口中与属性信息对应的第一属性特征以及第二报文在各滑动窗口对应的滑动周期中与属性信息对应的第二属性特征;第二报文是当前统计周期中的一种或多种第一报文;根据第一属性特征和第二属性特征,确定第二报文在当前统计周期内的异常程度。

本申请实施例还提供一种报文处理装置,包括:接收模块、第一确定模块和第二确定模块;接收模块,用于接收一种或多种第一报文,第一报文具有一种或多种属性信息;第一确定模块,用于针对任一种属性信息,确定第二报文在当前统计周期内各滑动窗口中与属性信息对应的第一属性特征以及第二报文在各滑动窗口对应的滑动周期中与属性信息对应的第二属性特征;第二报文是当前统计周期中的一种或多种第一报文;第二确定模块,用于根据第一属性特征和第二属性特征,确定第二报文在当前统计周期内的异常程度。

本申请实施例还提供一种报文处理设备,包括:存储器和处理器;存储器,用于存储计算机程序;处理器,与存储器耦合,用于执行计算机程序,以用于:接收一种或多种第一报文,第一报文具有一种或多种属性信息;针对任一种属性信息,确定第二报文在当前统计周期内各滑动窗口中与属性信息对应的第一属性特征以及第二报文在各滑动窗口对应的滑动周期中与属性信息对应的第二属性特征;第二报文是当前统计周期中的一种或多种第一报文;根据第一属性特征和第二属性特征,确定第二报文在当前统计周期内的异常程度。

本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器实现本申请实施例提供的报文处理方法中的步骤。

本申请实施例还提供一种计算机程序产品,包括计算机程序/指令所述计算机程序/指令被处理器执行时实现本申请实施例提供的报文处理方法中的步骤。

本公开的实施例提供的技术方案至少带来以下有益效果:

在本申请实施例中,通过滑动窗口对当前统计周期内的报文进行属性信息统计,针对每种属性信息,确定当前统计周期内各滑动窗口中与该属性信息对应的第一属性特征以及当前统计周期内各滑动窗口对应的滑动周期中与该属性信息对应的报文的第二属性特征,根据第一属性特征和第二属性特征对当前统计周期内的报文进行分析,可以提高异常报文检测的精度,明确异常报文的规模,无需涉及不同设备之间的报文复制,能够节约系统资源,在大流量、高并发、不同高低性能流量存储混用等复杂场景进行报文分析。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1为本申请示例性实施例提供的一种服务系统的结构示意图;

图2为本申请示例性实施例提供的一种报文处理方法的流程示意图;

图3为本申请示例性实施例提供的一种报文处理过程的示意图;

图4为本申请示例性实施例提供的一种确定第一属性特征和第二属性特征的过程示意图;

图5为本申请示例性实施例提供的一种报文处理装置的结构示意图;

图6为本申请示例性实施例提供的一种报文处理设备的结构示意图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或 描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

针对现有技术中,在高并发、大流量的应用场景下,报文复制需要极大的额外资源,影响系统性能问题,在本申请实施例中,通过滑动窗口对当前统计周期内的报文进行属性信息统计,针对每种属性信息,确定当前统计周期内各滑动窗口中与该属性信息对应的第一属性特征以及当前统计周期内各滑动窗口对应的滑动周期中与该属性信息对应的报文的第二属性特征,根据第一属性特征和第二属性特征对当前统计周期内的报文进行分析,可以提高异常报文检测的精度,明确异常报文的规模,无需涉及不同设备之间的报文复制,能够节约系统资源,在大流量、高并发、高性能存储混用等复杂场景进行报文分析。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本申请实施例提供一种服务系统的结构示意图,如图1所示,该服务系统中包括:客户端101、服务端102以及存储节点103。

在本实施例中,客户端101、服务端102以及存储节点103的数量并不限定,客户端101、服务端102以及存储节点103的数量可以相同,也可以不相同。客户端101的数量可以是一个,也可以是多个,例如,2个、5个或20个等;同理,服务端102的数量可以是一个,也可以是多个,存储节点103的数量可以是一个,也可以是多个,在图1中以客户端101、服务端102以及存储节点103的数量均是多个为例进行图示,但并不限于此。

在本实施例中,大流量、高并发以及不同高低性能存储流量混合的复杂场景可以包含但不限于:微服务场景、大数据场景、云场景等,对此不做限定。下面以微服务为例,微服务场景为例,对服务系统中各设备的功能进行说明,但并不限于此。在微服务场景下,服务端102上部署有一个或多个微服务,各个微服务彼此独立,通过合作来完成服务任务,客户端101可以通过服务端上的微服务访问存储节点103上的数据。客户端101发向微服务的同一数据的查询,即对于同一数据的访问请求,最终都会路由到同一个存储节点103上,对于存储节点103来说,其本身可以承载的QPS是有上限的,如果有异常报文存在,造成存储节点103的访问请求超过该上限,就可能损坏存储节点的稳定性,甚至有发生雪崩的风险。

目前,异常报文对存储节点存在较大的潜在危害,而治理异常报文需发现异常报文和异常访问请求。一种发现异常报文的方法为:主节点的流量进行一次链路复制,将报文发送到专门的报文采集检测服务上,在该检测服务上基于时间片对异常报文进行采集,具体采集的方法包括动态加权全排序等,从而筛选出异常报文。另一种发现异常报文量的方法为:在服务端上对报文进行采集记录,由于资源有限,因此需要采用排序淘汰算法来对采集到的报文进行排序,只保留访问次数前Top N的最优解。目前常用的排序淘汰算法是近期最少使用算法(Least Frequently Used algorithm,LFU)和老化(Aging)频度衰减来进行记录。

在本申请中还提供一种报文处理方法,适用于服务端,用于对访问服务端的报文进行分析,从而发现异常报文。如图2所示,该方法至少包括201-203。

201、接收一种或多种第一报文,第一报文具有一种或多种属性信息;

202、针对任一种属性信息,确定第二报文在当前统计周期内各滑动窗口中与属性信息对应的第一属性特征以及第二报文在各滑动窗口对应的滑动周期中与属性信息对应的第二属性特征;第二报文是当前统计周期中的一种或多种第一报文;

203、根据第一属性特征和第二属性特征,确定第二报文在当前统计周期内的异常程度。

在本实施例中,服务端可以接收不同客户端发送的一种或多种第一报文,每种第一报文的数量可以是0个或者一个,也可以是多个,例如2个、3个或5个等。相同种类的第一报文可以通过服务端访问存储节点上的同一资源,该同一资源可以是存储节点上的同一数据块(Block)或者同一类型的数据,对此不做限定。可选地,如图3所示,可针对每种属性信息设置一个同步非阻塞队列,也可以对多种属性信息设置一个同步非阻塞队列。在图3中以每种属性信息对应有一个同步非阻塞队列,共展示3个同步非阻塞队列为例进行图示,但并不限于此。

一种或多种报文可以采用同步非阻塞方式被添加至目标队列中,目标队列又称为同步非阻塞队列。同步非阻塞的同步是指发起将报文添加至目标队列的I/O请求后,需要等待或者轮询内核I/O操作完成后才能继续发起I/O请求将其它报文添加至目标队列;同步非阻塞的非阻塞是指将报文添加至目标队列的I/O操作被调用后立即返回一个状态值,该状态值表示将报文添加至目标队列的动作已经执行,无需等待I/O操作彻底完成,即报文添加至目标队列后再执行下一次添加报文的操作。采用同步非阻塞的方式将报文添加至同步非阻塞队列,可以采集主流程的报文,为后续异常报文的识别提供基础,提高异常报文的识别速度,同时,可以在不阻塞主流程的情况下,将一种或多种报文添加至目标队列中,其中,主流程主要用于对一种或多种报文进行处理,即将一种或多种报文分配给相应地存储节点。其中,在多种属性信息对应一个同步非阻塞队列的情况下,可以采集主流程中的一种或多种第一报文,通过同步非阻塞的方式将采集到的一种或多种第一报文添加至同步非阻塞队列中,后续可基于该同步非阻塞队列中的第一报文,从多种属性信息维度识别异常报文。在每种属性信息对应有一个同步非阻塞队列的情况下,例如,针对三种属性信息,则可以存在三个同步非阻塞队列,可以采集主流程中的一种或多种第一报文,并对采集到的第一报文进行复制,将复制后的第一报文分别采用同步非阻塞的方式添加至不同的同步非阻塞队列中,后续可基于每种属性信息对应的同步非阻塞队列中的第一报文,针对该属性信息进行异常报文的识别。其中,将采集到的第一报文添加至不同的同步非阻塞队列的过程中涉及报文复制的过程,但并不涉及报文的网络传输过程,相较于将第一报文复制到计算节点之外的其它节点上进行异常报文的识别,减少了报文网络传输的过程,节省网络资源的同时还可以提高异常报文的识别效率。

在本实施例中,一种或多种属性信息是指异常报文的属性信息,访问请求以报文的形式到达服务端。对于同一访问请求来说,该访问请求对应的报文具备该访问请求的属性信息。

若异常报文为热点请求对应的报文,则异常报文具有热点请求的属性信息,例如,频度高的特性,相应地,该异常报文的属性特征为一定时间内该异常报文出现的频度。其中,热点请求是在一定时间内频繁访问存储节点上同一资源的访问请求,热点请求对应的异常报文可能导致单个存储节点的访问压力过大,且无法通过水平扩容的方式来消除这种压力,极端情况会导致存储节点不可用。

若异常报文为大流量请求对应的报文,则异常报文具有大流量请求的属性信息,例如,数据量大的特性,相应地,该异常报文的属性特征为异常报文的数据量。其中,大流量请求是指在一定时间内,报文的数据量超过设定数据量阈值的访问请求,设定数据量阈值可以是1GB、5GB或50GB等,具体视存储节点的访问上限而定,大流量请求以报文的形式到达服务端,最终路由到存储节点上,大流量请求会导致被路由到的存储节点的网络出口流量被大量消耗甚至超过出口流量的上限,对存储节点的性能带来严重的负面影响。

若异常报文为慢请求对应的报文,则异常报文具有慢请求的属性信息,例如,高时延特性,相应地,该异常报文的属性特征为报文的时延。其中,慢请求是指超过设定时间阈值未被响应的访问请求,设定时间阈值可以是30s、50s或70s等。慢请求使得访问请求不能及时得到响应,影响用户的体验感。

在本实施例中,如图3所示,对异常报文进行识别可以在一个或多个统计周期进行,每个统计周期时长并不限定,例如,每个统计周期的时长可以是3s、5s或10s等。为了便于描述和区分,将当前统计周期中的一种或多种第一报文记为第二报文,每种第二报文的数量并不限定。在对异常报文进行分析或识别过程中,可对滑动窗口执行滑动操作,针对当前统计周期内的第二报文进行属性信息的统计。可选地,可以将当前统计周期内的第二报文存储至同步非阻塞队列中,滑动窗口相对于该同步非阻塞队列相对滑动,其中,滑动方式并不限定,例如,同步非阻塞队列中的第二报文以先进先出(First Input First Output,FIFO)的方式从滑动窗口中流入流出。滑动窗口具有属性信息,滑动窗口的属性信息包含但不限于:滑动周期、滑动速度以及滑动步长等,滑动周期为滑动窗口已滑动的时间,滑动周期对应的长度为滑动窗口在当前统计周期内已滑动的长度加上滑动窗口的长度。如图4所示,展示了滑动窗口在同步非阻塞队列上的滑动过程,滑动窗口的长度为4,在当前统计周期内的t0时刻,滑动窗口处于位置X0,滑动长度为0,则在t0时刻,滑动周期为0,滑动周期对应的长度为4 0=4;对滑动窗口执行滑动操作,滑动窗口的滑动步长为1,滑动窗口滑动两步,滑动窗口处于位置X1,当前统计周期到达t1时刻,滑动窗口已滑动步长为2,此时滑动周期为t1-t0,滑动周期对应的长度为4 2=6;对滑动窗口执行滑动操作,滑动窗口的滑动步长为1,滑动窗口向前滑动两步,滑动窗口到达位置X2,当前统计周期到达t2时刻,滑动窗口已滑动步长为4,此时滑动周期为t2-t0,滑动周期对应的长度为4 4=8。滑动周期可以是10、30或50等,滑动窗口的滑动速度可以是每秒100万次或每秒1000万次等。

在本实施例中,在每种属性信息分配有一个同步非阻塞队列的情况下,可以为每个同步非阻塞队列分配一个滑动窗口,对滑动窗口执行滑动操作,从而确定当前统计周期内第二报文的第一属性特征和第二属性特征;在多种属性信息对应有一个同步非阻塞队列的情况下,可为每种属性信息分配一个滑动窗口,不同滑动窗口的长度、滑动速度或滑动步长等可以不相同,对多个滑动窗口按照各自的滑动步长,执行滑动操作,从而统计当前统计周期内第二报文针对每种属性信息的第一属性特征和第二属性特征。

在本实施例中,可针对任一种属性信息,在当前统计周期的各滑动窗口内,确定第二报文在各滑动窗口中与该属性信息对应的第一属性特征以及第二报文在当前统计周期内对应的滑动周期中与该属性信息对应的第二属性特征,其中,第一属性特征是各滑动窗口内第二报文对应的属性特征,第二属性特征是当前统计周期内的滑动周期内第二报文的属性特征。需要说明的是,在确定第一属性特征和第二属性特征时,根据属性信息的不同,确定第一属性特征和第二属性特征的方式也不相同。若属性信息为报文出现的频度,则第二报文的第一属性信息可以是针对不同种第二报文,统计各滑动窗口中每种第二报文出现的频度,第二报文的第二属性特征是针对不同种第二报文,统计滑动周期中每种第二报文出现的频度。若属性信息为报文的时延,则第二报文的第一属性信息可以是针对不同种第二报文,统计各滑动窗口中每种第二报文的时延,第二报文的第二属性特征是针对不同种第二报文,统计滑动周期中每种第二报文的时延。若属性信息为报文的数据量,则第二报文的第一属性信息可以是针对不同种第二报文,统计各滑动窗口中每种第二报文的数据量,第二报文的第二属性特征是针对不同种第二报文,统计滑动周期中每种第二报文的数据量。

如图4所示,以第二报文的属性信息是报文的频度为例,对第一属性特征和第二属性特征进行说明。在滑动窗口处于位置X0时,滑动窗口中第二报文为[A,B,A,B],滑动周期内的第二报文为[A,B,A,B],则第二报文的第一属性特征为:A的频度为2,B的频度为2,第二报文的第二属性特征为:A的频度为2,B的频度为2;在滑动窗口处于位置X1时,滑动窗口中第二报文为[A,B,A,C],滑动周期内的第二报文为[A,B,A,B,A,C],则第二报文的第一属性特征为:A的频度为2,B的频度为1,C的频度为1,第二报文的第二属性特征为:A的频度为3,B的频度为2,C的频度为1;在滑动窗口处于位置X2时,滑动窗口中第二报文为[A,C,D,D],滑动周期内的第二报文为[A,B,A,B,A,C,D,D],则第二报文的第一属性特征为:A的频度为1,C的频度为1,D的频度为2,第二报文的第二属性特征为:A的频度为3,B的频度为2,C的频度为1,D的频度为2。在本实施例中,随着滑动窗口的不断滑动,当前统计周期内第二报文的第一属性特征和第二属性特征是不断变化的,可根据第二报文的第一属性特征和第二属性特征,确定第二报文在当前统计周期内的异常程度。例如,在当前统计周期内,根据第一属性特征和第二属性特征确定不同种第二报文的动态参数,基于该动态参数,确定不同种第二报文的综合属性特征,若第二报文的综合属性特征满足设定的条件,则认为该第二报文为异常报文,例如,上述动态参数可实现为后文中涉及的排序权重,具体可参见后续实施例,在此暂不详述。如图3所示,针对每种属性信息,可以为当前统计周期内第二报文的异常程度的识别结果存储至结果队列中,将多个结果队列输出至存储装置,例如,存储装置可以包含但不限于硬盘或数据库等。

在本申请实施例中,通过滑动窗口对当前统计周期内的报文进行属性信息统计,针对每种属性信息,确定当前统计周期内各滑动窗口对应的滑动周期中报文的第一属性特征以及当前统计周期内各滑动窗口中报文的第二属性特征,根据第一属性特征和第二属性特征对当前统计周期内的报文进行分析,相较于常用的LFU算法或Aging频度衰减等排序淘汰算法,对滑动窗口执行滑动操作,统计得到第一属性特征和第二属性特征,从而确定第二报文的异常程度,可以提高异常报文检测的精度,明确异常报文的规模,并且整个过程中,将当前统计周期内的第二报文添加至同步非阻塞队列中,无需对第二报文进行复制以及网络传输,节省了系统的网络资源和存储资源,能够在大流量、高并发、不同高低性能流量存储混用等复杂场景进行报文分析,解决了传统异常报文检测算法场景单一无法适用于日益增长的大流量、高并发、后端存储引擎多样化的复杂场景异常报文采集问题。

在一可选实施例中,可对滑动窗口执行滑动操作,针对任一属性信息,对当前统计周期内的第二报文进行属性信息的统计,从而获取第二报文在各滑动窗口与该属性信息对应的第一属性特征以及当前统计周期内各滑动窗口对应的滑动周期中与该属性信息对应的第二属性信息。其中,可以认为每执行一次滑动操作,便可得到一个新的滑动窗口,这样,每次滑动操作均对应有一个滑动窗口,在当前统计周期内可包括多个滑动窗口。为了便于描述和区分,当前滑动操作对应的滑动窗口称为当前滑动窗口,将当前统计周期内当前滑动操作之前的滑动操作称为历史滑动操作,将历史滑动操作对应的滑动窗口称为历史滑动窗口,将当前滑动窗口中的第二报文称为第三报文,将历史滑动窗口和当前滑动窗口对应的第二报文称为第四报文,滑动周期中的报文可根据历史滑动窗口以及当前滑动窗口中的第二报文确定,并将滑动周期中的第二报文称为第四报文。

其中,根据历史滑动窗口和当前滑动窗口中的第二报文确定滑动周期中第四报文的实施方式并不限定,根据滑动操作的滑动步长与滑动窗口的长度的关系的不同,确定第四报文的方式也有所不同,下面详细说明。

在滑动操作的滑动步长等于滑动窗口的长度的情况下,针对滑动窗口执行滑动操作,当前滑动窗口与历史滑动窗口中不会重复出现同一个报文,则滑动周期中的报文可以是各历史滑动窗口中的报文与当前滑动窗口中报文的总和。需要说明的是,当前滑动窗口与历史滑动窗口中可能重复出现同一种报文,但不会重复出现同一个报文,例如,在图4中,若滑动步长等于滑动窗口的长度,则图4中的同步非阻塞队列可以包括两个滑动窗口,一个是处于位置X0处的滑动窗口,另一个是处于位置X2处的滑动窗口,位置X0处的滑动窗口中同一种报文A可以出现两次,但是位置X0处的滑动窗口中的两个报文A并不会出现在位置X2处的滑动窗口中,若处于位置X0处的滑动窗口未历史滑动窗口,处于位置X2处的滑动窗口为当前滑动窗口,则当前滑动窗口与历史滑动窗口中不会重复出现同一个报文。

在滑动操作的滑动步长小于滑动窗口的长度的情况下,针对滑动窗口执行滑动操作,当前滑动窗口与历史滑动窗口中的报文有重复,如图4所示,滑动窗口的滑动步长为2,小于滑动窗口的长度4,t0时刻从左至右位于滑动窗口中的第三个报文A与第四个报文B,重复出现在t1时刻的滑动窗口中,具体为该t1时刻的滑动窗口中第一个报文A和第二个报文B,则滑动周期中的报文可以是各历史滑动窗口中的报文与当前滑动窗口中报文的总和减去两个滑动窗口之间重复的报文。

在滑动操作的滑动步长大于滑动窗口的长度的情况下,针对滑动窗口执行滑动操作,当前滑动窗口与历史滑动窗口中的同一个报文不会重复出现,并且当前滑动窗口与历史滑动窗口之间还会存在其它报文,则此时滑动周期中的报文可以是各历史滑动窗口中的报文与当前滑动窗口中报文的总和加上相邻两个滑动窗口之间的其它报文。

在本实施例中,针对第一次滑动操作,可确定当前滑动窗口中第三报文的第一属性特征,以及滑动周期中的第四报文的第二属性特征,由于是第一次滑动操作,并不存在历史滑动窗口,则当前滑动窗口中的第三报文与滑动周期中的第四报文是相同的,则可根据第三报文的第一属性特征,识别第三报文中的疑似异常报文,将该疑似异常报文作为本次滑动操作识别到的疑似异常报文。在本次滑动操作是非第一次滑动操作的情况下,针对本次滑动操作,可确定第三报文的第一属性特征以及第四报文的第二属性特征,根据第三报文的第一属性特征以及第四报文的第二属性特征,对第三报文以及上一次滑动操作识别的疑似异常报文进行识别,得到本次滑动操作识别到的疑似异常报文;根据当前统计周期内最后一次滑动操作识别到的疑似异常报文,得到当前统计周期内针对该属性信息的异常报文。

在一可选实施例中,可以利用前一个统计周期内最后一次滑动操作对应的第四报文的第二属性特征,对当前统计周期内本次滑动操作对应的第四报文的第二属性特征进行初始化,得到当前统计周期内本次滑动操作对应的第四报文的初始属性特征,基于该初始属性特征确定当前统计周期内本次滑动操作对应的第四报文的第二属性特征。

具体地,根据前一个统计周期结束时最后一次滑动操作对应的第四报文的第二属性特征,确定当前统计周期内本次滑动操作对应的第四报文的初始属性特征。例如,可以将前一个统计周期结束时最后一次滑动操作对应的第四报文的第二属性特征作为当前统计周期内本次滑动操作对应的第四报文的初始属性特征,或者可以将前一个统计周期结束时最后一次滑动操作对应的第四报文的第二属性特征与设定的平滑系数相乘,得到当前统计周期内本次滑动操作对应的第四报文的初始属性特征。其中,平滑系数表示前一个统计周期内最后一次滑动操作对应的第四报文的第二属性特征对当前统计周期内本次滑动操作对应的第四报文的第二属性特征的影响程度,平滑系数可以取[0,1]之间的值。

在确定当前统计周期内本次滑动操作对应的第四报文的初始属性特征之后,基于该初始属性特征,确定当前统计周期内本次滑动操作对应的第四报文的第二属性特征。例如,可以通过函数P0=α•V_old (1-α)•V_new,计算当前统计周期内本次滑动操作对应的第四报文的第二属性特征。其中,P0表示当前统计周期内本次滑动操作对应的第四报文的第二属性特征,V_old表示前一个统计周期最后一次滑动操作对应的第四报文的第二属性特征,V_new表示在当前统计周期内本次滑动操作对应的第四报文初始的第二属性信息;“•”表示乘法;α是平滑系数,取[0,1]之间的值,具体视应用场景而定,当α=0时,表示当前统计周期内本次滑动操作对应的第四报文的第二属性信息,与前一统计周期内最后一次滑动操作对应的第四报文的第二属性特征无关,而是与当前统计周期内本次滑动操作对应的第四报文初始的第二属性信息相关。其中,α•V_old表示初始化属性特征。

在一可选实施例中,一种根据第一属性特征和第二属性特征,对第三报文和上一次滑动操作识别的疑似异常报文进行识别,得到本次滑动操作识别到的疑似异常报文的实施方式,包括:在当前统计周期内,针对每次滑动操作,根据第三报文和上一次滑动操作识别的疑似异常报文的第二属性特征和滑动窗口的长度,从第三报文和上一次滑动操作识别的异常报文中确定本次滑动操作识别到的疑似异常报文。例如,在第二属性特征为频度的情况下,确定滑动窗口的长度以及第三报文的频度以及上一次滑动操作识别到的疑似异常报文的频度,将第三报文和疑似异常报文的频度与滑动窗口的长度进行比较,若该频度大于或等于滑动窗口的长度的一半,则认为该频度信息对应的报文为本次滑动操作识别到的疑似异常报文。如图4所示,第二属性特征为频度,用count表示,滑动窗口的长度为4,在当前位置X2,滑动窗口中第三报文为A、C和D,A、C和D的频度分别为3,1,2,其中,上一次滑动操作识别的疑似报文为:A和B,A和B的频度为3和2。在当前位置X2,第三报文中的A为上一次滑动操作识别的疑似报文,C的频度1小于滑动窗口的一半(1/2)*4=2,D的频度2等于滑动窗口的一半(1/2)*4=2,故而本次滑动操作识别到的疑似异常报文为上一次滑动操作识别到的疑似异常报文以及第三报文中的疑似异常报文,即A、B和D。又例如,在第二属性特征为时延的情况下,确定滑动窗口的长度以及第三报文的时延以及上一次滑动操作识别到的疑似异常报文的时延,将第三报文和疑似异常报文中同一种报文的时延与滑动窗口的长度进行比较,若该时延大于或等于滑动窗口的长度,则认为该时延对应的报文为本次滑动操作识别到的疑似异常报文。例如,滑动窗口的长度为4,上一次滑动操作识别到的疑似异常报文为:E和F,E和F的时延分别的4和3,当前滑动窗口中的第三报文为K、L和M,K、L和M的时延分别为:1、2、3,滑动窗口的一半(1/2)*4=2,L和M的时延2和3均大于滑动窗口的一半,则第三报文中疑似异常报文为L和M,则本次滑动操作识别到的疑似异常报文为E、F、L和M。

在一可选实施例中,在当前统计周期内识别到疑似异常报文的情况下,将疑似异常报文添加至缓存区,该缓存区又可以称为保护区(protection)。保护区设置报文的添加策略和淘汰策略。

添加策略是指根据滑动窗口中第三报文的第二属性特征与滑动窗口长度满足设定的条件时,将第三报文作为疑似异常报文添加至缓存区的策略。例如,添加策略可以是:若该第三报文的第二特征属性大于滑动窗口长度的一半,则触发添加策略,可以尝试将该报文添加至保护区中。具体的:报文进入滑动窗口后,对报文执行添加策略:将第二属性特征大于滑动窗口长度的一半的报文添加到保护区中,将第二属性特征不大于滑动窗口长度的一半的报文不添加到保护区中。例如:对于报文1和报文2,当进入滑动窗口的报文1的第二特征属性大于滑动窗口长度的一半,则将报文1作为疑似异常报文添加到保护区中,当进入滑动窗口的报文2的第二特征属性不大于滑动窗口长度的一半,则不将报文2添加到保护区中。

淘汰策略是指根据保护区中疑似异常报文的动态参数(例如排序权重),将疑似异常报文从保缓存区中删除的策略。当识别到本次滑动操作的疑似异常报文时,将所述疑似异常报文添加至缓存区,当报文离开滑动窗口时,执行淘汰策略,对缓存区中的报文进行删除。具体地,当报文离开滑动窗口后,对该报文执行淘汰策略,根据缓存区中疑似异常报文的第一属性特征和第二属性特征,确定疑似异常报文的排序权重,其中,疑似异常报文的排序权重可以是对该疑似异常报文的第一属性特征和第二属性特征进行加权求和得到,或者可以通过其它数学方式对疑似异常报文的第一属性特征和第二属性特征进行运算得到,对此不做限定;确定疑似异常报文的排序权重之后,当缓存区中疑似异常报文的数量超过第一设定数量时,根据缓存区中疑似异常报文的排序权重,对疑似异常报文进行过滤,以保留第一设定数量的疑似异常报文。其中,第一设定数量可以是小于或等于缓存区长度的数量,例如,第一设定数量可以为2,3或5等。例如,当有报文离开滑动窗口后,可以根据疑似异常报文的排序权重对缓存区中的疑似异常报文进行排序,疑似异常报文及其排序权重为:T1:5,T2:4,T3:2,缓存区长度为3,缓存区中需要保留的疑似异常报文的数量为2,则按照排序权重的高低,将疑似异常报文T3从缓存区中删除,缓存区中保留疑似异常报文T1和T2,以保证再有疑似异常报文添加至缓存区时,缓存区中的疑似异常报文不会溢出。

在一可选实施例中,如图4所示,除了设置缓存区(保护区)之外,还设置有属性特征统计映射表(freqMap)。该统计映射表中所记录的数据为滑动窗口的第三报文的第一属性特征和第二属性特征以及缓存区中疑似异常报文的第一属性特征和第二属性特征。其中,每次滑动操作之后的滑动窗口会有变化,统计映射表中疑似异常报文的第一属性特征和第二属性特征也是不断变化的,通过统计映射表可以及时快速地更新报文的第一属性特征和第二属性特征,并通过缓存区的添加策略和淘汰策略,及时将疑似异常报文同步至缓存区中,提高异常报文分析的效率。

本申请创新性地引入了新的动态权值排序算法,即全量窗口最近最不频繁访问(Full Windows-Least Frequently Used,FW-LFU)算法,对滑动窗口执行滑动操作,动态确定报文的第一属性特征和第二属性特征,从而根据疑似异常报文的第一属性特征和第二属性特征,对当前统计周期内的第二报文进行统计,从而确定当前统计周期内的疑似异常报文。通过添加策略将疑似异常报文添加至缓存区中,通过淘汰策略按照缓存区中的疑似异常报文的排序权重对缓存区中的疑似异常报文进行排序,并删除排序靠后的设定数量的疑似异常报文,从而保留第一设定数量的疑似异常报文,并将该第一设定数量的疑似异常报文作为当前统计周期内的疑似异常报文。FW-LFU算法的时间复杂度为O(N*WlogW),空间复杂度为O(X 2W),N为当前统计周期内第二报文的数量,X为缓存区的长度,W为滑动窗口的长度,空间复杂度和时间复杂度的数量级用O表示。相较于传统LFU算法,FW-LFU算法的空间复杂度和时间复杂度均有一定幅度的提高,提高效率、节省时间的同时,节约了存储空间。如图4所示,当前统计周期内第二报文的数量为9,滑动窗口的长度为4,不同种的第二报文用“A、B、C以及D”表示,图4中以异常报文是热点流量,属性信息为报文的频度为例进行说明,应当理解,报文的第一属性特征和第二属性特征同样为报文的频度,其中第二属性特征用总次数(count)表示,第一属性特征用窗口权重(Windows Weight,ww)表示。缓存区中疑似异常报文的排序权重为总次数与窗口权重的和,即count ww。如图4所示,缓存区长度为2,当缓存区满,也即当缓存区中的疑似异常报文的数量超过2时,根据疑似异常报文的排序权重,优先将排序权重最低的疑似异常报文从缓存区中剔除,当前缓存区中存放的疑似异常报文为A和B,A和B的排序权重分别为4和2,需要新添加至缓存区的访问请求D的排序权重为4,则优先将访问请求B从缓存区中剔除。统计映射表中存放的是当前滑动窗口的第三报文以及缓存区中疑似异常报文的总次数和窗口权重。

在本实施例中,根据当前统计周期内第三报文的第一属性特征以及第四报文的第二属性特征,得到当前统计周期内针对属性信息的异常报文并对外输出该异常报文。其中,可以每个统计周期对外输出属性信息对应的异常报文,还可以对多个统计周期识别到的异常报文进行聚合,得到多个统计周期对应的异常报文。多个统计周期的数量并不限定,例如多个统计周期的数量可以是10个、20个或30个等。基于上述,在本申请一些可选实施例中,针对任一属性信息对应的多个统计周期,确定每个统计周期内针对某一属性信息的异常报文的排序权重,异常报文的排序权重可以由当前统计周期内最后一次滑动操作对应的该异常报文的第一属性特征和第二属性特征确定,例如,可以是第一属性特征和第二属性特征加权求和得到异常报文的排序权重。在确定针对某一属性信息的异常报文的排序权重之后,根据该排序权重,分别从该统计周期内针对该属性信息的异常报文中选择第二设定数量的第五报文,第五报文包括至少一种异常报文,例如可以按照排序权重由高至低,选择排序权重较高的第二设定数量的第五报文,第二设定数量可以是小于等于缓存区长度的数量,例如,第二设定数量可以是3、5或7等,对此不做限定;针对多个统计周期中选择出的第五报文中的同一类异常报文进行属性聚合,得到多个统计周期中每种异常报文的聚合信息,并输出针对该属性信息的每种异常报文的聚合信息。例如,可以将每种报文的聚合信息存储至结果队列中,得到多个结果队列,将多个结果队列输出至存储装置,例如,存储装置可以包含但不限于硬盘或数据库等。

可选地,针对多个统计周期中选择出的第五报文中的同一种异常报文进行属性聚合,得到多个统计周期中每种异常报文的聚合信息的实施方式,包括:针对任一种异常报文,根据该种异常报文的第二属性信息、平滑系数以及前一个统计周期内该种异常报文的聚合信息,确定当前统计周期中该种异常报文的聚合信息;根据多个连续统计周期内最后一个统计周期内该种异常报文的聚合信息,得到多个连续统计周期中该种异常报文的聚合信息。

例如,可以通过函数Pi=α•Pi-1 (1-α)• P’i对第五报文中同一种异常报文进行属性聚合,其中,i≥2,Pi表示当前统计周期内该异常报文的聚合信息;Pi-1表示前一个统计周期内该异常报文的聚合信息;P’i表示当前统计周期内该异常报文的初始聚合信息;α是平滑系数,取[0,1]之间的值,具体视应用场景而定,当α=0时,表示当前统计周期内第五报文中该种异常报文聚合信息与当前统计周期内该种异常报文初始聚合信息相关,与前一个统计周期内该异常报文的聚合信息无关。

需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤203的执行主体可以为设备A;又比如,步骤201和202的执行主体可以为设备A,步骤203的执行主体可以为设备B;等等。

另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

图5为本申请示例性实施例提供的一种报文处理装置的结构示意图。如图5所示,该报文处理装置包括:接收模块51、第一确定模块52和第二确定模块53。

接收模块51,用于接收一种或多种第一报文,第一报文具有一种或多种属性信息;

第一确定模块52,用于针对任一种属性信息,确定第二报文在当前统计周期内各滑动窗口中与属性信息对应的第一属性特征以及第二报文在各滑动窗口对应的滑动周期中与属性信息对应的第二属性特征;第二报文是当前统计周期中的一种或多种第一报文;

第二确定模块53,用于根据第一属性特征和第二属性特征,确定第二报文在当前统计周期内的异常程度。

在一可选实施例中,第一确定模块52,具体用于:对滑动窗口执行滑动操作,针对当前统计周期内的第二报文进行属性信息统计,针对本次滑动操作,确定位于当前滑动窗口内的第三报文的第一属性特征以及位于历史滑动窗口和当前滑动窗口中的第四报文的第二属性特征;相应地,第二确定模块53,具体用于:根据第一属性特征和第二属性特征,对第三报文和上一次滑动操作识别的疑似异常报文进行识别,得到本次滑动操作识别到的疑似异常报文;根据当前统计周期内最后一次滑动操作识别到的疑似异常报文,得到当前统计周期内针对该属性信息的异常报文。

在一可选实施例中,第一确定模块52,还用于:若本次滑动操作为第一次滑动操作,则根据第一属性特征,对第三报文进行识别,得到本次滑动操作识别到的疑似异常报文。

在一可选实施例中,第一确定模块52,具体用于:根据前一个统计周期结束时最后一次滑动操作对应的第四报文的第二属性特征,确定当前统计周期内本次滑动操作对应的第四报文的初始属性特征;基于初始属性特征,确定当前统计周期内本次滑动操作对应的第四报文的第二属性特征。

在一可选实施例中,第二确定模块53,具体用于:在当前统计周期内,针对每次滑动操作,根据第三报文和上一次滑动操作识别的疑似异常报文的第二属性特征和滑动窗口的长度,从第三报文和上一次滑动操作识别的疑似异常报文中确定本次滑动操作识别到的疑似异常报文。

在一可选实施例中,报文处理装置还包括:添加模块、第三确定模块以及过滤模块;添加模块,用于当识别到本次滑动操作的疑似异常报文时,将疑似异常报文添加至缓存区;第三确定模块,用于根据疑似异常报文的第一属性特征和第二属性特征,确定疑似异常报文的排序权重;过滤模块,用于当缓存区中疑似异常报文的数量超过第一设定数量时,根据缓存区中疑似异常报文的排序权重,对疑似异常报文进行过滤,保留第一设定数量的疑似异常报文。

在一可选实施例中,报文处理装置还包括:选择模块和聚合模块;选择模块,用于针对任一属性信息对应的多个统计周期,根据每个统计周期内针对该属性信息的异常报文的排序权重,分别从该统计周期内针对该属性信息的异常报文中选择第二设定数量的第五报文,第五报文包括至少一种异常报文;聚合模块,用于针对多个统计周期中选择出的第五报文中的同一种异常报文进行属性聚合,得到多个统计周期中每种异常报文的聚合信息。

在一可选实施例中,聚合模块具体用于:针对任一种异常报文,根据该种异常报文的第二属性信息、平滑系数以及前一个统计周期内该种异常报文的聚合信息,确定当前统计周期中该种异常报文的聚合信息;根据多个连续统计周期内最后一个统计周期内该种异常报文的聚合信息,得到多个连续统计周期中该种异常报文的聚合信息。

本申请实施例提供的报文处理装置,通过滑动窗口对当前统计周期内的报文进行属性信息统计,针对每种属性信息,确定当前统计周期内各滑动窗口中与该属性信息对应的第一属性特征以及当前统计周期内各滑动窗口对应的滑动周期中与该属性信息对应的报文的第二属性特征,根据第一属性特征和第二属性特征对当前统计周期内的报文进行分析,可以提高异常报文检测的精度,明确异常报文的规模,无需设计不同设备之间的报文复制,能够节约系统资源,在大流量、高并发、高性能存储混用等复杂场景进行报文分析。

图6为本申请示例性实施例提供的一种报文处理设备的结构示意图。如图6所示,该设备包括:存储器64和处理器65。

存储器64,用于存储计算机程序,并可被配置为存储其它各种数据以支持在报文处理设备上的操作。这些数据的示例包括用于在报文处理设备上操作的任何应用程序或方法的指令。

存储器64可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

处理器65,与存储器64耦合,用于执行存储器64中的计算机程序,以用于:接收一种或多种第一报文,第一报文具有一种或多种属性信息;针对任一种属性信息,确定第二报文在当前统计周期内各滑动窗口中与属性信息对应的第一属性特征以及第二报文在各滑动窗口对应的滑动周期中与属性信息对应的第二属性特征;第二报文是当前统计周期中的一种或多种第一报文;根据第一属性特征和第二属性特征,确定第二报文在当前统计周期内的异常程度。

在一可选实施例中,处理器65在确定第二报文在当前统计周期内各滑动窗口中与属性信息对应的第一属性特征以及第二报文在各滑动窗口对应的滑动周期中与属性信息对应的第二属性特征;第二报文是当前统计周期中的一种或多种第一报文时,具体用于:对滑动窗口执行滑动操作,针对当前统计周期内的第二报文进行属性信息统计,针对本次滑动操作,确定位于当前滑动窗口内的第三报文的第一属性特征以及位于历史滑动窗口和当前滑动窗口中的第四报文的第二属性特征;相应地,处理器65在根据第一属性特征和第二属性特征,确定第二报文在当前统计周期内的异常程度时,具体用于:根据第一属性特征和第二属性特征,对第三报文和上一次滑动操作识别的疑似异常报文进行识别,得到本次滑动操作识别到的疑似异常报文;根据当前统计周期内最后一次滑动操作识别到的疑似异常报文,得到当前统计周期内针对该属性信息的异常报文。

在一可选实施例中,处理器65还用于:若本次滑动操作为第一次滑动操作,则根据第一属性特征,对第三报文进行识别,得到本次滑动操作识别到的疑似异常报文。

在一可选实施例中,处理器65在确定位于历史滑动窗口和当前滑动窗口中的第四报文的第二属性特征时,具体用于:根据前一个统计周期结束时最后一次滑动操作对应的第四报文的第二属性特征,确定当前统计周期内本次滑动操作对应的第四报文的初始属性特征;基于初始属性特征,确定当前统计周期内本次滑动操作对应的第四报文的第二属性特征。

在一可选实施例中,处理器65在根据第一属性特征和第二属性特征,对第三报文和上一次滑动操作识别的疑似异常报文进行识别,得到本次滑动操作识别到的疑似异常报文时,具体用于:在当前统计周期内,针对每次滑动操作,根据第三报文和上一次滑动操作识别的疑似异常报文的第二属性特征和滑动窗口的长度,从第三报文和上一次滑动操作识别的疑似异常报文中确定本次滑动操作识别到的疑似异常报文。

在一可选实施例中,处理器65还用于:当识别到本次滑动操作的疑似异常报文时,将疑似异常报文添加至缓存区;根据疑似异常报文的第一属性特征和第二属性特征,确定疑似异常报文的排序权重;当缓存区中疑似异常报文的数量超过第一设定数量时,根据缓存区中疑似异常报文的排序权重,对疑似异常报文进行过滤,保留第一设定数量的疑似异常报文。

在一可选实施例中,处理器65还用于:针对任一属性信息对应的多个统计周期,根据每个统计周期内针对该属性信息的异常报文的排序权重,分别从该统计周期内针对该属性信息的异常报文中选择第二设定数量的第五报文,第五报文包括至少一种异常报文;针对多个统计周期中选择出的第五报文中的同一种异常报文进行属性聚合,得到多个统计周期中每种异常报文的聚合信息。

在一可选实施例中,处理器65在针对多个统计周期中选择出的第五报文中的同一种异常报文进行属性聚合,得到多个统计周期中每种异常报文的聚合信息时,具体用于:针对任一种异常报文,根据该种异常报文的第二属性信息、平滑系数以及前一个统计周期内该种异常报文的聚合信息,确定当前统计周期中该种异常报文的聚合信息;根据多个连续统计周期内最后一个统计周期内该种异常报文的聚合信息,得到多个连续统计周期中该种异常报文的聚合信息。

本申请实施例提供的报文处理设备,通过滑动窗口对当前统计周期内的报文进行属性信息统计,针对每种属性信息,确定当前统计周期内各滑动窗口中与该属性信息对应的第一属性特征以及当前统计周期内各滑动窗口对应的滑动周期中与该属性信息对应的报文的第二属性特征,根据第一属性特征和第二属性特征对当前统计周期内的报文进行分析,可以提高异常报文检测的精度,明确异常报文的规模,无需设计不同设备之间的报文复制,能够节约系统资源,在大流量、高并发、高性能存储混用等复杂场景进行报文分析。

进一步,如图6所示,该报文处理设备还包括:通信组件66、显示器67、电源组件68、音频组件69等其它组件。图6中仅示意性给出部分组件,并不意味着报文处理设备只包括图6所示组件。需要说明的是,图6中虚线框内的组件为可选组件,而非必选组件,具体可视报文处理设备的产品形态而定。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器能够实现图2所示方法中的各步骤。

相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时,致使处理器能够实现图2所示方法中的各步骤。

上述图6中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

上述图6中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。

上述图6中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。

上述图6中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献