掌桥专利:专业的专利平台
掌桥专利
首页

一种数据分析方法与系统

文献发布时间:2023-06-19 11:39:06


一种数据分析方法与系统

技术领域

本申请涉及数据分析技术领域,具体而言,涉及一种数据分析方法与系统。

背景技术

AI(Artificial Intelligence,人工智能)技术突飞猛进,算力、算法极大提升和丰富,安防厂商在视频监控领域的AI技术取得了长足的发展,为AI落地及社会安定发展起到了很大的作用。

为了提升图像或视频的处理速度,一般需要多个分析节点同时对视频流或图像流进行分析。

然而,由于在实际使用过程中目标对象的不均衡性,会导致某些分析节点存在浪费或者某些分析节点分析量过大,无法发挥整个分析系统的最大算力。

发明内容

本申请的目的在于提供一种数据分析方法与系统,以解决现有技术中在进行数据分析时,无法发挥整个分析系统的最大算力的问题。

为了实现上述目的,本申请实施例采用的技术方案如下:

一方面,本申请实施例提供了一种数据分析方法,所述方法应用于分析系统,所述分析系统包括至少两个分析节点,所述至少两个分析节点通过总线通信,所述方法包括:

每个所述分析节点均获取自身的待分析数据量;

每个所述分析节点依据所述自身的待分析数据量,通过所述总线的缓存对所述自身的待分析数据量进行调配。

另一方面,本申请实施例提供一种分析系统,所述分析系统包括至少两个分析节点,所述至少两个分析节点通过总线通信;

每个所述分析节点均用于获取自身的待分析数据量;

每个所述分析节点还用于依据所述自身的待分析数据量,通过所述总线的缓存对所述自身的待分析数据量进行调配。

相对于现有技术,本申请具有以下有益效果:

本申请提供了一种数据分析方法,该方法应用于分析系统,分析系统包括至少两个分析节点,至少两个分析节点通过总线通信,通过每个分析节点均获取自身的待分析数据量;然后由每个分析节点依据自身的待分析数据量,通过总线的缓存对自身的待分析数据量进行调配。由于本申请能够实现每个分析节点通过总线的缓存对自身的待分析数据量进行调配,因此对于每个分析节点而言,其能够有效实现待分析数据量的均衡,进而能够发挥出整个的系统的最大算力。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。

图1为本申请实施例提供的数据分析方法的一种示意性流程图。

图2为本申请实施例提供的分析节点通过总线连接的一种模块示意图。

图3为本申请实施例提供的分析节点通过总线连接的另一种模块示意图。

图4为本申请实施例提供的分析系统的模块示意图。

图5为本申请实施例提供的图1中S104的第一种示意性流程图。

图6为本申请实施例提供的图1中S104的第二种示意性流程图。

图7为本申请实施例提供的图1中S104的第三种示意性流程图。

图8为本申请实施例提供的图1中S104的第四种示意性流程图。

图9为本申请实施例提供的数据分析方法的另一种示意性流程图。

图中:200-分析系统;210-第一分析节点;220-第二分析节点;230-管理节点;240-数据接入节点;250-数据中心。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

第一实施例

正如背景技术中所述,对于分析系统而言,由于在实际使用过程中目标对象的不均衡性,会导致某些分析节点存在浪费或者某些分析节点分析量过大,无法发挥整个分析系统的最大算力。

例如,某个分层系统中包括分析节点A与分析节点B,分析节点A与分析节点B均用于车辆识别分析,如对车辆的牌照进行识别分析,且分析节点A与分析节点B均与一管理节点通信,管理节点配置分析节点A获取摄像头a拍摄的视频流进行分析,配置分析节点B获取摄像头b拍摄的视频流进行分析。由于车辆行驶过程中的不确定性,可能出现在某一时间段内,摄像头a未拍摄到任何车辆,而摄像头b拍摄到连续的车辆,可以理解的,此时分析节点A处于空闲状态,而分析节点B处于满负荷工作状态,即此时存在分析节点A的算力(即分析能力)浪费,而分析节点B的分析量过大的问题。

有鉴于此,本申请提供了一种数据分析方法,以通过总线的方式实现各个分析节点与总线的缓存的调配,进而发挥出整个分析系统的最大算力。

下面对本申请提供的数据分析方法进行示例性说明:

请参阅图1,作为本申请提供的一种可能的实现方式,该方法包括:

S102,每个分析节点均获取自身的待分析数据量。

S104,每个分析节点依据自身的待分析数据量,通过总线的缓存对自身的待分析数据量进行调配。

需要说明的是,本申请中,每个分析节点均能获取自身的待分析数据量,且对于每个分析节点而言,其自身的待分析数据量可以相同也可以不同,例如,分析节点A的待分析数据量为100个,即分析节点A中还有100个待分析数据进行分析,而分析节点B的待分析数据量为0个,即此时分析节点B中没有待分析数据,处于空闲状态。

在每个分析节点获取了自身的待分析数据量后,分析节点还会通过总线的缓存对自身的待分析数据量进行调配。本申请所述的调配,指对于分析节点而言,能够实现在待处理数据量较大时,将多余的待处理数据量发送至总线的缓存;而当分析节点的待处理数据量较小时,分析节点能够从总线的缓冲中获取待分析数据进行处理。

需要说明的是,由于每个分析节点均与总线的缓存进行调配,因此本申请实质是以总线的缓存作为媒介,实现了分析节点之间的调配。

作为本申请一种可能的实现方式,请参阅图2,本申请所述的分析节点通过总线通信,可以为每个分析节点均包括总线模块,每个分析节点内的总线模块均与其它分析节点内的总线模块连接,进而实现了分析节点之间的通信。并且,在该实现方式下,每个分析节点内均包括总线缓存,进而能够实现分析节点与总线缓存之间的调配。

作为本申请的另一种可能的实现方式,请参阅图3,本申请所述的分析节点通过总线通信,指每个分析节点通过总线实现连接并进行通信,并且,在该实现方式下,总线的缓存可以为一个固定的缓存,例如以公共池的形式实现总线的缓存,即每个分析节点均通过总线与该公共池连接,进而实现每个分析节点与公共池之间的调配。

并且,为了实现对于分析节点的管理,请参阅图4,该分析系统200还包括管理节点230,其中,管理节点230与每个分析节点均连接,进而管理每个分析节点的工作。例如,在某一个区域内,分析节点包括A与B,数据源的来源包括a、b、c、d,则管理节点230可配置分析节点A接收来自a与b的数据源,同时配置分析节点B接收来自c与d的数据源,进而实现整个区域内所有数据的分析。

需要说明的是,本申请中,分析节点的数据源并不固定,例如,当分析节点A出现故障时,则管理节点230可控制分析节点B接收来自a、b、c、d的数据源。

同时,还需要说明的是,本申请也可利用总线实现管理节点230与分析节点之间的连接,例如,在管理节点230内也安装有总线模块,进而通过总线模块实现管理节点230与分析节点的连接。

通过本申请提供的分析系统200,能够使管理节点230与分析节点形成类似于分布式的总线集群,其整体组成集群总线。同时通过总线的缓存,实现各个分析节点的负载均衡,进而能够最大化利用系统分析资源。

作为本申请的第一种实现方式,该分析节点中包括第一分析节点210与至少一个第二分析节点220,请参阅图5,S104包括:

S104-1,第一分析节点判断待分析数据量是否大于第一阈值,如果是,则执行S104-2。

S104-2,第一分析节点将多余的待分析数据发送至总线的缓存。

S104-3,第一分析节点和/或第二分析节点判断自身的待分析数据量是否低于第二阈值,如果是,则执行S104-4。

S104-4,第一分析节点和/或第二分析节点从总线的缓存中获取待分析数据并进行分析。

即对于任意一个分析节点而言,其能够在待分析数据量较大时,将多余的待分析数据发送至总线的缓存,以使其它分析节点或其自身在分析的数据量较小时,能够从总线的缓冲中获取待分析数据进行分析。

例如,第一阈值设置为100,则当第一分析节点210的待处理数据量超过100时,第一分析节点210会将多的待处理数据发送至在总线的缓存中。如数据源持续不断的向第一分析节点210发送数据,第一分析节点210的分析速度小于从数据源输入第一分析节点210的速度时,则会造成第一分析节点210待处理数据的堆积。一旦待处理数据量超过第一阈值时,则表示此时第一分析节点210的分析压力较大,此时需要将多出的待处理数据发送至总线的缓存中。

当某个第二分析节点220相对空闲时,例如,当第二阈值设置为20时,若此时该第二分析节点220的待处理数据量仅为5,则该第二分析节点220能够从总线的缓存中获取第一分析节点210发送的待处理数据,并通过第二分析节点220对待处理数据进行处理,从而实现了不同分析节点的负载均衡,最大化利用了系统中分析节点的分析能力。可选的,当第二分析节点220的待处理数据量大于或等于第二阈值时,第二分析节点220会优先处理自身的数据。

当然地,第一分析节点210也可以在处于相对空闲时,重新从总线的缓存中取待分析数据并进行分析。即第一分析节点210在处理量较大时,将多余的待处理数据量发送至总线的缓存中,并且在第一分析节点210重新处于较为空闲状态时,第一分析节点210重新从总线的缓存中获取之前放入的数据。

例如,当某一时间段内,从数据源输入第一分析节点210的数据较多,此时第一分析节点210内的待处理数据出现堆积,第一分析节点210将多余的待处理数据发送至总线的缓存中。若此时其它的第二分析节点220也处于处理量较大的状态时,则第二分析节点220不会获取总线中的数据并进行分析。在此基础上,若数据源输入第一分析节点210的数据减少,且当第一分析节点210的待处理数据量降低至第二阈值时,则第一分析节点210会再从总线的缓存中拉取之前存入的待处理数据。

需要说明的是,本申请中,每个分析节点的第一阈值与第二阈值可能相同也可能不同,本申请对此并不做任何限定。例如,对于某些分析节点而言,其分析能力较差,则第一阈值则相对较低;若其分析能力较好,则第一阈值则相对较高。

作为本申请一种可能的实现方式,数据源可以为一视频获取装置拍摄的视频。即本申请提供的分析系统200中还包括视频获取装置,例如摄像头等。当然地,数据源也可能为其它来源,例如缓存的视频源等,本申请对此并不做任何限定。

在此基础上,请参阅图6,S104包括:

S104-a,第一分析节点获取待分析视频流,并对待分析视频流进行预处理,以获取预处理后的待分析图片信息。

S104-b,第一分析节点将待分析图片信息存入本地缓存中。

S104-c,当本地缓存中的待分析图片信息的数量达到第一阈值时,第一分析节点将多余的待分析图片信息发送至总线的缓存。

即在本申请中,第一分析节点210能够直接获取摄像头发送的待分析视频流。并对待分析视频流进行预处理后转换为待分析图片信息。

可选地,第一分析节点210中可以包括总线模块、分析模块、解码模块以及本地缓存模块,其中,解码模块用于对接收到的待分析视频流进行预处理。其包括但不限于对视频流进行解码、抠图等。即将视频流转变为图片,并对图片进行抠图等。

例如,第一分析节点210用于分析机动车形式状况,如分析机动车是否存在违规现象。则当解码模块进行解码时,会将视频流转换为图片,并将图片中出现机动车的部分进行抠图。其中,可能存在在一段时间段内无车辆通过的情况,也可能存在在一段时间段内车辆较多的情况。或者,当需要进行人脸识别时,则解码模块会对视频流进行解码的同时,对人脸进行抠图。同时,解码模块也可以同时对多种类型的图进行抠图等,例如能够同时识别图片中的车辆与人脸等。

在进行预处理并获取预处理后的待分析图片信息后,分析节点内的分析模块会按照一定的规则对待分析图片信息进行分析,例如分析车辆是否存在闯红灯操作等。

其中,作为一种可能的实现方式,当第一分析节点210内的分析模块对视频流进行预处理后,会将预处理后获取的待分析图片信息存储至本地缓存模块。并且,可以理解地,本地缓存模块有一定的存储上限,例如,本地缓存模块的存储上限为1000张待分析图片信息。同时,本实施例所述的第一阈值与第二阈值,实际为对于本地缓存模块而言设置的阈值,例如,将第一阈值设置为本地缓存模块上限的80%,即第一阈值为800,将第二阈值设置为本地缓存模块上限的20%,即第二阈值为200。

当本地缓存中的待分析图片信息的数量达到第一阈值时,第一分析节点210会将多余的待分析图片信息发送至总线的缓存。作为本申请一种可选的实现方式,本地缓存模块会主动拉取经解码模块处理后的待分析图片。当本地缓存模块内的待分析图片信息达到第一阈值时,则本地缓存模块会暂停拉取待分析图片信息。

此时,若解码抠图模块还解析出待分析图片信息,则第一分析节点210会将此时解码抠图模块解析出的待分析图片信息发送至总线的缓存。即在此段时间内,经解码抠图模块处理后生成的待分析图片,会直接进入总线的缓存中,而不会进入本地缓存模块中。

作为本申请一种可能的实现方式,当第一分析节点210将待分析图片信息发送至总线的缓存后,存在处于空闲状态的第二分析节点220,例如该第二分析节点220此时的待分析图片信息的数量为5个,此时,第二分析节点220会从总线的缓存中获取待分析图片并进行分析。

作为本申请另一种可能的实现方式,当第一分析节点210将待分析图片信息发送至总线的缓存后,此时第二分析节点220中的待分析数据量较多,因此第二分析节点220不会从总线的缓存中获取数据,在此基础上,若第一分析节点210的本地缓存模块中的待分析图片信息持续被消费,且低于第二待分析图片时,则第一分析节点210的本地缓存模块会从总线的缓存中将待分析图片重新拿取并进行分析。

需要说明的是,本申请中,第一分析节点210的分析模块仅会拉取本地缓存模块中的数据并进行分析,当本地缓存中的数据低于第二阈值时,则第一分析节点210的本地缓存模块会从总线的缓存中获取数据。

并且,在上述实现方式的基础上,第一阈值与第二阈值满足关系:

LT_high–LT_low≥n*m;

n*m=x+△;

其中,LT_high表示第一阈值,LT_low表示第二阈值;n表示从总线的缓存中调用待分析图片信息的时间周期;m表示单位时间内从总线的缓存中调用的待分析图片信息的数量,x表示第一分析节点210在单位时间内分析图片信息的数量,△表示预设定的调整因子。

例如,第一分析节点210从总线缓存中调用待分析图片信息的时间周期为2S,即当第一分析节点210的本地缓存模块中的待分析图片低于第二阈值时,则会每经过2S从总线的缓存中获取待分析图片,且每秒获取200张待处理图片信息。

当然地,当第一分析节点210中存在其他业务对分析模块的能力进行消耗时,则上述公式满足:

n*m=x+△-y;

其中,y为其它业务占用的分析能力。

并且,作为一种可能的实现方式,总线的缓存中包括多个集合,以存储不同类别的图片信息。例如,其中一个集合用于存储与人脸识别相关的待分析图片信息,另一个集合用于存储与车辆相关的待分析图片信息,本申请对此并不做任何限定。

因此本申请中,S104-c包括:

依据待分析图片信息的类别确定目标集合,并将待分析图片信息存入目标集合内。

即当本地缓存中的待分析图片信息的数量达到第一阈值时,第一分析节点210会将解码抠图模块处理后的待分析图片信息按照类别存储至总线缓存的目标集合内。

可以理解地,分析节点可以按分析的数据的类别进行工作,例如,分析节点总共有10个,其中5个用于分析人脸数据,另外5个用于分析车辆数据。则在实际使用过程中,当用于分析人脸数据的分析节点的分析量低于第二阈值时,其可以从存储与人脸数据相关的集合中获取待分析信息。

同时,作为本申请的另一种实现方式,请参阅图7,S104还包括:

S104-e,当第一分析节点的待分析数据量小于第二阈值时,第一分析节点从总线的缓存中获取待分析数据,并对待分析数据进行分析,其中,待分析数据为任意一个第二分析节点220在待分析数据量大于第一阈值时发送的数据。

即在本申请中,当任意一个第二分析节点220在待分析数据量大于第一阈值时,也可将待分析数据发送至总线的缓存中。进而当第一分析节点210在待分析数据量小于第二阈值时,也能够从总线的缓存中获取待分析数据量,并且将待分析数据量存储至本地缓存模块中进行处理。

换言之,本申请中,当任意一个分析节点的待分析数据量较大时,均可将待分析数据发送至总线的缓存中,再由处理同样类别数据的分析节点在相对空闲时,从总线的缓存中获取待分析数据进行分析。

并且,作为本申请另一种实现方式,分析系统200还包括数据接入节点240,数据接入节点240通过总线分别与第一分析节点210、第二分析节点220通信。

需要说明的是,S104-e与S104-a至S104-c之间并无先后顺序。

其中,数据接入节点240主要用于分析系统200接入前端、其他视频图像采集系统等上传采集的图片数据,用于分析系统200内二次智能分析。

在此基础上,请参阅图8,S104还包括:

S104-f,当第一分析节点和/或第二分析节点的待分析数据量小于第二阈值时,第一分析节点和/或第二分析节点从总线的缓存中获取待分析数据,并对待分析数据进行分析,其中,待分析数据为数据接入节点发送至总线的缓存中的数据。

即当数据接入节点240接收到待分析图片信息后,会将待分析图片信息发送至总线的缓存中,当第一分析节点210的待分析数据量小于第二阈值,或第二分析节点220的待分析数据量小于第二阈值,或第一分析节点210与第二分析节点220的待分析数据量同时小于第二阈值时,可从总线的缓存获取数据接入节点240发送至总线缓存的数据,并进行分析。

同时,需要说明的是,作为本申请中另一种可能的实现方式,分析节点中也可不包含解码抠图模块,在此基础上,分析节点仅能从总线的缓存获取待分析数据并进行分析。

例如,若第一分析节点210不包含解码抠图模块,则作为一种可能的实现方式,其第二阈值设置为1,使得第一分析节点210能够始终从总线的缓存中获取待分析数据进行处理。

需要说明的是,S104-f与S104-a至S104-c及S104-e之间并无先后顺序。

需要说明的是,作为一种可能的实现方式,分析系统200中还包括数据中心250,请参阅图9,该方法还包括:

S106,每个分析节点将分析后的数据通过总线发送至数据中心250。

本申请中,每个分析节点将分析完成后的结果可以通过总线的方式直接放入总线,例如放入总线的缓存中,然后由数据中心250拉取总线内相关数据并完成存储等处理。其中,数据中心250可以为数据库、大数据服务集群或云存储、本地硬盘存储等的集合。

综上,本申请通过设置总线,并通过总线、本地缓存等方式实现分析系统200的全业务负载均衡。同时,通过将解码模块和分析模块拆分解耦,最大化利用了分析节点的解码、分析能力资源。并且,缓存达到分析节点的阈值后仍可优先处理本地解码后的图片缓存,减少从总线其他部分拉取图片的开销。

第二实施例

请参阅图5,本申请实施例还提供了一种分析系统200,该分析系统200包括至少两个分析节点,至少两个分析节点通过总线通信;其中,

每个分析节点均用于获取自身的待分析数据量。

每个分析节点还用于依据自身的待分析数据量,通过总线的缓存对自身的待分析数据量进行调配。

并且,第一分析节点210用于在待分析数据量大于第一阈值时,将多余的待分析数据发送至总线的缓存。

同时第一分析节点210和/或第二分析节点220用于在自身的待分析数据量低于第二阈值时,从总线的缓存中获取待分析数据并进行分析。

当然地,该分析系统200中还可包括管理节点230、数据接入节点240以及数据中心250,其中,管理节点230用于与每个分析节点连接,并用于配置每个分析节点。数据接入节点240用于分析系统200内接入前端、其他视频图像采集系统等上传采集的图片数据,用于分析系统200内二次智能分析。数据中心250可以为数据库、大数据服务集群和云存储的集合,数据库、大数据服务集群主要用于数据记录存储。由于第一实施例已经对数据分析方法进行详细的说明,因此本申请不再进行赘述。

综上所述,本申请提供了一种数据分析方法,该方法应用于分析系统,分析系统包括至少两个分析节点,至少两个分析节点通过总线通信,通过每个分析节点均获取自身的待分析数据量;然后由每个分析节点依据自身的待分析数据量,通过总线的缓存对自身的待分析数据量进行调配。由于本申请能够实现每个分析节点通过总线的缓存对自身的待分析数据量进行调配,因此对于每个分析节点而言,其能够有效实现待分析数据量的均衡,进而能够发挥出整个的系统的最大算力。

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

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

相关技术
  • 一种高级在轨系统的可视化数据分析方法、系统、设备及存储介质
  • 一种用于银行系统的数据分析方法和银行系统
技术分类

06120113007499