CN112669353B - 数据处理方法、装置、计算机设备和存储介质 - Google Patents
数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112669353B CN112669353B CN202110278322.2A CN202110278322A CN112669353B CN 112669353 B CN112669353 B CN 112669353B CN 202110278322 A CN202110278322 A CN 202110278322A CN 112669353 B CN112669353 B CN 112669353B
- Authority
- CN
- China
- Prior art keywords
- operator
- service
- data
- type
- monitoring data
- 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.)
- Expired - Fee Related
Links
- 238000003860 storage Methods 0.000 title claims abstract description 55
- 238000012545 processing Methods 0.000 title claims description 63
- 238000003672 processing method Methods 0.000 title abstract description 16
- 238000012544 monitoring process Methods 0.000 claims abstract description 164
- 230000003993 interaction Effects 0.000 claims abstract description 160
- 238000005192 partition Methods 0.000 claims abstract description 107
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000010438 heat treatment Methods 0.000 claims abstract description 16
- 238000004364 calculation method Methods 0.000 claims description 56
- 238000012806 monitoring device Methods 0.000 claims description 24
- 238000000605 extraction Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 15
- 238000001914 filtration Methods 0.000 claims description 14
- 230000033001 locomotion Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 9
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 21
- 230000006978 adaptation Effects 0.000 description 15
- 238000012216 screening Methods 0.000 description 13
- 230000003044 adaptive effect Effects 0.000 description 12
- 230000009467 reduction Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 7
- 238000002955 isolation Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008602 contraction Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 210000003127 knee Anatomy 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及云计算技术,特别涉及一种数据处理方法、装置、计算机设备和存储介质。所述方法包括:接收在不同产品交互区中采集的用户监测数据;按照所述产品交互区的标识对所述用户监测数据进行分区缓存;确定所述产品交互区所属的对象所订阅的业务类型,并根据所述业务类型从第一算子池中调度匹配的第一类型算子;基于所述第一类型算子,对缓存于各所述分区内的用户监测数据进行热度处理,得到所述产品交互区的热度数据。采用本方法能够既能降低维护工作量,还能提高资源利用率。
Description
技术领域
本申请涉及云计算技术领域,特别是涉及一种数据处理方法、装置、计算机设备和存储介质。
背景技术
在一些产品交互区中,为了监测该产品交互区中的用户数据以及基于该用户数据对产品交互区中的产品进行改进,通常会为不同的产品交互区分别部署一套完整的用于CV(Computer Vision,计算机视觉)计算的硬件设备和配套软件等资源。然而,由于不同的产品交互区均部署一套完整的硬件设备和配套软件,维护人员需要对每一套硬件设备和配套软件进行维护,增大了维护工作量,而且当业务处理量小时,还会出现资源利用率小的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种数据处理方法、装置、计算机设备和存储介质,能够既能降低维护工作量,还能提高资源利用率。
一种数据处理方法,所述方法包括:
接收在不同产品交互区中采集的用户监测数据;
按照所述产品交互区的标识对所述用户监测数据进行分区缓存;
确定所述产品交互区所属的对象所订阅的业务类型,并根据所述业务类型从第一算子池中调度匹配的第一类型算子;
基于所述第一类型算子,对缓存于各所述分区内的用户监测数据进行热度处理,得到所述产品交互区的热度数据。
一种数据处理装置,所述装置包括:
接收模块,用于接收在不同产品交互区中采集的用户监测数据;
缓存模块,用于按照所述产品交互区的标识对所述用户监测数据进行分区缓存;
调度模块,用于确定所述产品交互区所属的对象所订阅的业务类型,并根据所述业务类型从第一算子池中调度匹配的第一类型算子;
处理模块,用于基于所述第一类型算子,对缓存于各所述分区内的用户监测数据进行热度处理,得到所述产品交互区的热度数据。
在其中的一个实施例中,所述产品交互区的标识包括所述产品交互区的区域标识和所述产品交互区中监测设备的设备标识中的至少之一;所述缓存模块,还用于以所述区域标识和所述设备标识中的至少一种标识为键,以所述用户监测数据为值进行分区缓存;其中,相同所述键所对应的用户监测数据缓存于相同分区。
在其中的一个实施例中,所述产品交互区的标识包括所述产品交互区的区域标识和所述产品交互区中监测设备的设备标识中的至少之一;所述装置还包括:
过滤模块,用于对所述用户监测数据进行数据过滤;
运算模块,用于对所述区域标识和所述设备标识中的至少一种标识进行哈希运算;
存储模块,用于在第一数据库中,以哈希运算所得的标识哈希值为键,以过滤后的所述用户监测数据为值进行分区存储;其中,相同所述键所对应的用户监测数据存储于相同分区。
在其中的一个实施例中,所述用户监测数据中包括由所述产品交互区中的监测设备所采集的帧图像,以及基于所述帧图像所得的人体轨迹点数据;所述存储模块,还用于在第一数据库中,以哈希运算所得的标识哈希值为键,以过滤后的所述人体轨迹点数据为值进行存储;在第二数据库中,以所述区域标识、所述设备标识、所述轨迹标识和所述轨迹点序号的组合为键,以所述帧图像为值进行分区存储;其中,相同所述键所对应的帧图像存储于所述第二数据库中的相同分区。
在其中的一个实施例中,所述调度模块,还用于当所述业务类型为轨迹计算类型时,从轨迹算子池中调度与所述轨迹计算类型匹配的轨迹算子;所述轨迹算子属于所述第一类型算子,所述轨迹算子池属于所述第一算子池;当所述业务类型为客流计算类型时,从客流算子池中调度与所述客流计算类型匹配的客流算子;所述客流算子属于所述第一类型算子,所述客流算子池属于所述第一算子池。
在其中的一个实施例中,所述热度数据包括客流数据;所述处理模块,还用于分别从各所述分区内获取缓存的用户检测数据;读取所述用户监测数据中的帧图像;基于所述第一类型算子检测所述帧图像中的人体特征;所述第一类型算子包括客流算子;根据检测的人体特征确定所述帧图像中的用户数量,并将所述用户数量作为所述客流数据。
在其中的一个实施例中,所述热度数据包括人体轨迹数据;所述处理模块,还用于分别从各所述分区内获取缓存的用户检测数据;读取所述用户监测数据中的帧图像和各用户的人体轨迹点数据;基于所述第一类型算子,将所述人体轨迹点数据组合成用户在所述产品交互区运动的人体轨迹数据;所述第一类型算子包括轨迹算子。
在其中的一个实施例中,所述装置包括:
识别模块,用于从第二算子池中调度特征提取算子;基于所述特征提取算子提取帧图像中的人脸特征;当预存储的人脸特征与提取的人脸特征匹配时,根据所述用户监测数据更新第一数据库;
存储模块,还用于当预存储的人脸特征与提取的人脸特征不匹配时,在所述第一数据库中,以哈希运算所得的标识哈希值为键,以所述用户监测数据为值进行分区存储。
在其中的一个实施例中,所述调度模块,还用于从所述第二算子池中调度相似计算算子;
所述识别模块,还用于基于所述相似计算算子,计算所述提取的人脸特征与所述预存储的人脸特征之间的相似度;根据所述相似度确定预存储的人脸特征与提取的人脸特征之间的匹配性。
在其中的一个实施例中,所述帧图像包括在不同时刻所采集的图像;所述装置还包括:
所述调度模块,还用于从第二算子池中调度聚类算子;
聚类模块,用于基于所述聚类算子对每个所述图像中用户的人体轨迹点数据进行聚类,得到属于各用户的用户轨迹点数据;
所述识别模块,还用于将属于同一用户的用户轨迹点数据,组合成所述同一用户在所述产品交互区运动的人体轨迹数据。
在其中的一个实施例中,所述装置应用于服务器;所述服务器调用部署于服务节点中的业务服务,所述业务服务用于基于所述第一算子池和第二算子池中的算子进行数据处理;所述接收模块,还用于接收不同产品交互区内的监测设备发送的业务服务请求;从所述业务服务请求中提取在各所述产品交互区中采集的用户监测数据;
所述处理模块,还用于响应于所述业务服务请求,从部署的所述业务服务中调用与所述业务类型匹配的目标业务服务,以通过所述目标业务服务执行所述基于所述第一类型算子,对缓存于各所述分区内的用户监测数据进行热度处理的步骤。
在其中的一个实施例中,所述处理模块,还用于当所述业务服务请求的数量不大于预设服务阈值时,则从部署的且处于运行状态的所述业务服务中调用与所述业务类型匹配的目标业务服务;当所述业务服务请求的数量大于所述预设服务阈值时,则将所述业务节点中处于关闭状态的业务服务转为运行状态,并从处于所述运行状态的所述业务服务中调用与所述业务类型匹配的目标业务服务。
在其中的一个实施例中,所述处理模块,还用于当所述业务服务请求的数量大于所述预设服务阈值、且所述服务节点中的业务服务数量小于预设服务阈值时,则调用新服务节点中的业务服务;从所述服务节点中的业务服务和所述新服务节点中的业务服务中调度目标业务服务。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收在不同产品交互区中采集的用户监测数据;
按照所述产品交互区的标识对所述用户监测数据进行分区缓存;
确定所述产品交互区所属的对象所订阅的业务类型,并根据所述业务类型从第一算子池中调度匹配的第一类型算子;
基于所述第一类型算子,对缓存于各所述分区内的用户监测数据进行热度处理,得到所述产品交互区的热度数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收在不同产品交互区中采集的用户监测数据;
按照所述产品交互区的标识对所述用户监测数据进行分区缓存;
确定所述产品交互区所属的对象所订阅的业务类型,并根据所述业务类型从第一算子池中调度匹配的第一类型算子;
基于所述第一类型算子,对缓存于各所述分区内的用户监测数据进行热度处理,得到所述产品交互区的热度数据。
上述数据处理方法、装置、计算机设备和存储介质,在接收到不同产品交互区中采集的用户监测数据,会按照产品交互区的标识对用户监测数据进行分区缓存,一方面可以将来自于不同产品交互区的用户监测数据进行统一缓存,另一方面还确保不同产品交互区的用户监测数据之间彼此隔离,而且确保数据可以快速读写。在确定产品交互区所属的对象所订阅的业务类型后,可以统一调度第一算子池中与该业务类型匹配的第一类型算子,从而利用该第一类型算子对缓存于各分区内的、属于不同产品交互区的用户监测数据进行热度处理,从而实现了资源的合理利用,避免因某个产品交互区的业务处理量小而造成资源利用率小的问题,而且由于可以通过本地统一对用户监测数据进行处理,维护时只需要维护本地的资源即可,降低了维护工作量。
附图说明
图1为一个实施例中数据处理方法的应用环境图;
图2为一个实施例中数据处理方法的流程示意图;
图3为一个实施例中kafka消息队列复用的示意图;
图4a为一个实施例中mySQL数据库复用的示意图;
图4b为一个实施例中LevelDB数据库复用的流程示意图;
图5为一个实施例中计算客流数据步骤的流程示意图;
图6为一个实施例中计算人体轨迹数据步骤的流程示意图;
图7为一个实施例中调用部署于业务节点中的目标业务服务来进行热度处理步骤的流程示意图;
图8为一个实施例中包含组件复用策略、后台算子自适应策略、CV算子自适应策略和计算资源自适应策略的数据处理***的结构示意图;
图9为一个实施例中针对后台算子自适配策略的示意图;
图10为一个实施例中后台算子自适应调度的流程示意图;
图11为一个实施例中针对CV算子自适配策略的示意图;
图12为一个实施例中CV算子自适配策略调度的流程示意图;
图13为一个实施例中业务服务级别扩缩容策略的示意图;
图14为一个实施例中节点级别扩容策略的示意图;
图15为一个实施例中数据处理装置的结构框图;
图16为另一个实施例中数据处理装置的结构框图;
图17为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在对本申请的实施例进行阐述之前,先对本申请所涉及的技术进行描述,具体如下:
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用***能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。其中,第一算子池中的算子属于“云”中的算子资源。
作为云计算的基础能力提供商,会建立云计算资源池(如第一算子池)平台,在资源池中部署多种类型的算子资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作***)、存储设备、网络设备。
接下来对本申请提供的数据处理方法进行阐述,该数据处理方法,可以应用于如图1所示的应用环境中。在该应用环境中,包括监测设备102、服务器104、业务节点106和终端108,该监测设备102、服务器104、业务节点106和终端108通过网络通信的形式连接形成的分布式***,该分布式***为可以是区块链***。
该数据处理方法可由服务器104或业务节点106执行,还可以由服务器104和业务节点106协同执行。以该数据处理方法由服务器104执行为例进行说明,服务器104接收在不同产品交互区中采集的用户监测数据;按照产品交互区的标识对用户监测数据进行分区缓存;确定产品交互区所属的对象所订阅的业务类型,并根据业务类型从业务节点106的第一算子池中调度匹配的第一类型算子;基于第一类型算子,对缓存于各分区内的用户监测数据进行热度处理,得到产品交互区的热度数据,然后将热度数据发送给终端108。
其中,监测设备可以是用于对产品交互区进行图像采集的设备,包括摄像头或具有摄像头的设备。
服务器104和业务节点均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端108可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
监测设备102、服务器104、业务节点106和终端108之间可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者网络等通讯连接方式进行连接,本申请在此不做限制。
在一个实施例中,如图2所示,提供了一种数据处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S202,接收在不同产品交互区中采集的用户监测数据。
其中,产品交互区可以指产品交互的区域或场所,例如智慧零售商场或该智慧零售商场中的零售店铺。用户监测数据可以是监测设备(如摄像头)在各产品交互区所采集的用户数据以及与该监测设备关联的信息。该用户数据包括监测设备采集的多帧图像、基于各帧图像所得的人体轨迹点数据(包括轨迹点位置和轨迹点序号)、人体轨迹标识等。与该监测设备关联的信息可以包括监测设备的标识、所在位置等。
在一个实施例中,服务器接收不同监测设备对所在产品交互区中采集所得的用户监测数据。其中,该用户监测数据中的人体轨迹点数据,可以是监测设备对所采集的帧图像进行识别所得。
对于识别帧图像得到人体轨迹点数据的步骤,具体可以包括:对所采集的各帧图像进行去噪处理,去噪方式可以是基于空间域的中值滤波处理,或基于小波域的小波阈值去噪,或全变分图像去噪。然后,将去噪后的图像转换为灰度图,即将RGB三通道的彩色图像转换为灰度图。从灰度图中提取相应的人体特征,然后根据人体特征确定该帧图像中各用户的人体轨迹点数据。
其中,对图像进行去噪处理,可以消除图像中的噪声点,可提高人体特征提取的准确性。人体特征可以是人体的关键点,包括但不限于:头部、颈部、肩部、肘部、手部、臀部、膝部和脚部等特征点。
上述人体轨迹点数据的确定,具体方法步骤包括:获取各帧图像中用于检测人体特征的人体框,确定该人体框在相应帧图像中的位置;根据人体框在相应帧图像中的位置确定各用户的人体轨迹数据。其中,人体框也可称为人体检测框或人体包围盒。
S204,按照产品交互区的标识对用户监测数据进行分区缓存。
其中,产品交互区的标识包括产品交互区的区域标识和产品交互区中监测设备的设备标识中的至少之一。分区缓存表示不同产品交互区的用户监测数据缓存于不同的存储区,该存储区即为缓存用户监测数据的分区。不同产品交互区的用户监测数据缓存于不同的分区。
在一个实施例中,服务器可以以区域标识和设备标识中的至少一种标识为键,以用户监测数据为值进行分区缓存;其中,相同键所对应的用户监测数据缓存于相同分区。
具体地,服务器可以以产品交互区的区域标识为键,以用户监测数据为值进行分区缓存;或者,服务器可以以产品交互区中监测设备的设备标识为键,以用户监测数据为值进行分区缓存;又或者,服务器可以以区域标识和设备标识的组合标识为键,以用户监测数据为值进行分区缓存。
例如,在接收到各摄像头采集的用户监测数据之后,服务器可以在将用户监测数据缓存到kafka消息队列的过程中,以智慧零售商场的商场标识为key将用户监测数据缓存到不同的分区,相同的key缓存在相同的分区。此外,为了均匀分区并提高消费性能,这里以结合智慧零售商场的商场标识和摄像头的标识构造各分区的key,如图3所示,图3为kafka消息队列复用的示意图,通过对不同产品交互区的用户监测数据进行分区缓存来实现kafka消息队列复用。从而实现多粒度分区,保证不同智慧零售商场的用户监测数据均匀分区缓存,能够高效地进行读写。
S206,确定产品交互区所属的对象所订阅的业务类型,并根据业务类型从第一算子池中调度匹配的第一类型算子。
其中,上述的对象可以指该产品交互区的拥有方,或者用于管理该产品交互区内监测设备的终端。业务类型可以指该对象所订阅的业务服务的类型,例如该对象只需要了解进入该产品交互区内的年龄在18~30岁的女性用户数量,那么其业务类型即为识别女性用户客流量的流量计算类型。此外,业务类型还可以是轨迹计算类型。
上述的第一算子池可以是由多个算子所组成的算子池,该第一算子池中的算子可以是根据服务节点中的后台计算资源所构建的用于实现特定功能或数据处理的函数或程序。该第一算子池包括客流算子池和轨迹算子池。其中,第一类型算子中的客流算子用于计算产品交互区内的客流数据,第一类型算子中的轨迹算子用于计算产品交互区内的人体轨迹数据。
例如,将服务节点的后台计算资源拆分为通用算子、客流算子池、轨迹算子池和多场调度算子等,这些算子以及算子池中的算子可以通过业务类型进行索引。此外,各算子通过积木式组合形成产品交互区所需的完整模块完成后台计算。
在一个实施例中,上述根据业务类型从第一算子池中调度匹配的第一类型算子的步骤,具体可以包括:当业务类型为轨迹计算类型时,从轨迹算子池中调度与轨迹计算类型匹配的轨迹算子。从而,通过调度的轨迹算子计算产品交互区内的人体轨迹数据。其中,轨迹算子属于第一类型算子,轨迹算子池属于第一算子池。
在另一个实施例中,上述根据业务类型从第一算子池中调度匹配的第一类型算子的步骤,具体可以包括:当业务类型为客流计算类型时,从客流算子池中调度与客流计算类型匹配的客流算子。从而,通过调度的客流算子计算产品交互区内的客流数据。其中,客流算子属于第一类型算子,客流算子池属于第一算子池。
S208,基于第一类型算子,对缓存于各分区内的用户监测数据进行热度处理,得到产品交互区的热度数据。
其中,该热度数据可以包括客流数据和人体轨迹数据,此外还可以包括表示客流量大小的热度标识。
在一个实施例中,当热度数据为人体轨迹数据时,可以在人体轨迹数据中筛选目标人体轨迹数据,根据目标人体轨迹数据确定用户行为,如进入智慧零售商场或零售店铺进行选购的行为。对于目标人体轨迹数据的筛选,筛选方式1,可以按照运动方向进行筛选;筛选方式2,按照轨迹点(包括轨迹终点和轨迹起点)的方式进行筛选;筛选方式3,结合运动方向与轨迹点的方式进行筛选。其中,对上述三种筛选方式进行阐述:
筛选方式1,服务器在人体轨迹数据中筛选运动方向符合预设方向的目标人体轨迹数据。或者,服务器在人体轨迹数据中,滤除运动方向不符合预设方向的人体轨迹数据,得到目标人体轨迹数据。
例如,服务器判断各人体轨迹数据对应的运动方向是否指向智慧零售商场门口的方向,当人体轨迹数据对应的运动方向是指向智慧零售商场门口的方向,则表示用户是往智慧零售商场方向运动,可能是进入智慧零售商场,则将这一类方向的人体轨迹数据选取出来。当人体轨迹数据对应的运动方向是未指向智慧零售商场门口的方向,则表示用户不是往智慧零售商场方向运动,则可以将这一类方向的人体轨迹数据滤除掉。
筛选方式2,服务器在人体轨迹数据中选取筛选轨迹起点和轨迹终点中的至少一种落入感兴趣区域的目标人体轨迹数据。此种筛选方式适用于智慧零售区进出入门口只设有一种方位摄像头的场景。
筛选方式3,结合运动方向与轨迹点的方式筛选人体轨迹数据,具体地:服务器在人体轨迹数据中选取运动方向符合预设方向的人体轨迹数据,并在所选取的人体轨迹中筛选轨迹起点和轨迹终点中的至少一种落入感兴趣区域的目标人体轨迹数据。
此外,在人体轨迹数据中,服务器可以将不符合预设方向的人体轨迹数据滤除掉,并在滤除后所得的人体轨迹数据中,将轨迹起点和轨迹终点中均未落入感兴趣区域的人体轨迹数据滤除掉,从而得到上述的目标人体轨迹数据。
上述实施例中,在接收到不同产品交互区中采集的用户监测数据,会按照产品交互区的标识对用户监测数据进行分区缓存,一方面可以将来自于不同产品交互区的用户监测数据进行统一缓存,另一方面还确保不同产品交互区的用户监测数据之间彼此隔离,而且确保数据可以快速读写。在确定产品交互区所属的对象所订阅的业务类型后,可以统一调度第一算子池中与该业务类型匹配的第一类型算子,从而利用该第一类型算子对缓存于各分区内的、属于不同产品交互区的用户监测数据进行热度处理,从而实现了资源的合理利用,避免因某个产品交互区的业务处理量小而造成资源利用率小的问题,而且由于可以通过本地统一对用户监测数据进行处理,维护时只需要维护本地的资源即可,降低了维护工作量。
在一个实施例中,产品交互区的标识包括产品交互区的区域标识和产品交互区中监测设备的设备标识中的至少之一;S204之后,该方法还包括:服务器对用户监测数据进行数据过滤;对区域标识和设备标识中的至少一种标识进行哈希运算;在第一数据库中,以哈希运算所得的标识哈希值为键,以过滤后的用户监测数据为值进行分区存储;其中,相同键所对应的用户监测数据存储于相同分区。
其中,数据过滤可以是将非法产品交互区的用户监测数据进行筛除。如图4a所示,图4a为mySQL数据库复用的示意图,通过对不同产品交互区的用户监测数据进行分区存储来实现mySQL数据库复用。具体地,服务器在获得多场(即多个产品交互区)的用户监测数据时,可以以各场的场标识哈希值进行分区存储,具体地:根据场A的标识哈希值将场A的用户监测数据存储于分区0,对应地,根据场B的标识哈希值将场B的用户监测数据存储于分区1,根据场C的标识哈希值将场C的用户监测数据存储于分区1。从而,在读取场A、B、C的用户监测数据时,可以以场A、B、C的场标识哈希值进行索引。其中,上述的场A表示产品交互区A,场B表示产品交互区B,场C表示产品交互区C。
第一数据库可以是mySQL数据库,用来存储除图像数据之外的其它数据,如人体轨迹点数据。
具体地,当用户监测数据中包括由产品交互区中的监测设备所采集的帧图像,以及基于帧图像所得的人体轨迹点数据时,上述在第一数据库中,以哈希运算所得的标识哈希值为键,以过滤后的用户监测数据为值进行分区存储的步骤,具体可以包括:服务器在第一数据库中,以哈希运算所得的标识哈希值为键,以过滤后的人体轨迹点数据为值进行存储。
在存储过滤后的人体轨迹点数据之前,服务器可以先对帧图像进行存储,具体地:服务器从人体轨迹点数据中提取轨迹标识和轨迹点序号;在第二数据库中,以区域标识、设备标识、轨迹标识和轨迹点序号的组合为键,以帧图像为值进行分区存储;然后,将区域标识、设备标识、轨迹标识和轨迹点序号的组合作为帧图像的索引,添加至过滤后的人体轨迹点数据,然后存储于第一数据库中。其中,相同键所对应的帧图像存储于第二数据库中的相同分区。
例如,如图4b所示,图4b为LevelDB数据库复用的示意图,通过对不同产品交互区的帧图像进行分区存储来实现LevelDB数据库复用。具体地,当用户监测数据中包含帧图像时,可以将帧图像提取出来,然后将提取的帧图像存储于第二数据库中,然后将该帧图像的索引放入提取帧图像后的用户监测数据中进行存储。其中,该索引可以是产品交互区的区域标识、监测设备的设备标识、轨迹标识和轨迹点序号的组合。在读取帧图像时,可以从第一数据库中读取出帧图像的索引,然后以该索引为键从第二数据库中进行查找。该第二数据库可以是LevelDB数据库,该LevelDB数据库是非常高效的kv数据库,用来存储图像数据,具备良好的顺序读写性能。
其中,上述的轨迹标识和轨迹点序号属于人体轨迹点数据。通过第二数据库存储帧图像,一方面可以实现多场图像的隔离存储,另一方面可以实现图像的高效读取。
上述实施例中,通过将不同产品交互区的、包含帧图像的索引但不包含帧图像的用户监测数据存储于第一数据库的不同分区,而将不同产品交互区的帧图像存储于第二数据库的不同分区,从而实现了数据隔离存储,提高了数据读取效率。
在一个实施例中,该热度数据可以包括客流数据;如图5所示,S208具体可以包括:
S502,分别从各分区内获取缓存的用户检测数据。
S504,读取用户监测数据中的帧图像。
S506,基于第一类型算子检测帧图像中的人体特征。
这里的第一类型算子为客流算子,用来计算各产品交互区的客流数据。
具体地,服务器对用户监测数据中的帧图像进行去噪处理,然后将去噪后的图像转换为灰度图,从灰度图中提取相应的人体特征。
其中,对图像进行去噪处理,可以消除图像中的噪声点,可提高人体特征提取的准确性。人体特征可以是人体的关键点,包括但不限于:头部、颈部、肩部、肘部、手部、臀部、膝部和脚部等特征点。
S508,根据检测的人体特征确定帧图像中的用户数量,并将用户数量作为客流数据。
上述实施例中,通过调度的客流算子检测帧图像中的人体特征,根据检测的人体特征确定帧图像中的用户数量,得到客流数据,从而可以根据实际的需求调度相应的算子进行针对性的计算,提高计算效果。
在一个实施例中,热度数据包括人体轨迹数据;如图6所示,S208具体可以包括:
S602,分别从各分区内获取缓存的用户检测数据。
S604,读取用户监测数据中的帧图像和各用户的人体轨迹点数据。
S606,基于第一类型算子,将人体轨迹点数据组合成用户在产品交互区运动的人体轨迹数据。
这里的第一类型算子为轨迹算子。
在一个实施例中,服务器将各帧图像中属于同一用户的人体轨迹点进行连接,连接而成的曲线即为用户的人体轨迹数据,重复上述步骤,即可得到各用户的人体轨迹数据。
上述实施例中,通过调度的轨迹算子将人体轨迹点数据组合成用户在产品交互区运动的人体轨迹数据,从而可以根据实际的需求调度相应的算子进行针对性的计算,提高计算效果。
在一个实施例中,服务器还可以调度特征提取算子、相似度计算算子(Rerank算子)和聚类算子进行相应的计算,具体如下所述:
(1)根据特征提取算子进行特征提取,然后进行数据存储。
在一个实施例中,服务器从第二算子池中调度特征提取算子;基于特征提取算子提取帧图像中的人脸特征;当预存储的人脸特征与提取的人脸特征匹配时,根据用户监测数据更新第一数据库;当预存储的人脸特征与提取的人脸特征不匹配时,在第一数据库中,以哈希运算所得的标识哈希值为键,以用户监测数据为值进行分区存储。
(2)根据相似度计算算子进行相似度计算。
在一个实施例中,服务器从第二算子池中调度相似计算算子;基于相似计算算子,计算提取的人脸特征与第二数据库中的人脸特征之间的相似度;当所得的相似度达到相似阈值时,将达到相似阈值的相似度所对应的人脸特征,作为与提取的人脸特征匹配的人脸特征。
(3)根据聚类算子进行聚类处理。
在一个实施例中,帧图像包括在不同时刻所采集的图像;该方法还包括:服务器从第二算子池中调度聚类算子;基于聚类算子对每个图像中用户的人体轨迹点数据进行聚类,得到属于各用户的用户轨迹点数据。上述将人体轨迹点数据组合成用户在产品交互区运动的人体轨迹数据的步骤,具体可以包括:服务器将属于同一用户的用户轨迹点数据,组合成同一用户在产品交互区运动的人体轨迹数据。
在一个实施例中,该方法应用于服务器;服务器调用部署于服务节点中的业务服务,业务服务用于基于第一算子池和第二算子池中的算子进行数据处理;如图7所示,S202具体可以包括:
S702,接收不同产品交互区内的监测设备发送的业务服务请求。
S704,从业务服务请求中提取在各产品交互区中采集的用户监测数据。
S706,响应于业务服务请求,从部署的业务服务中调用与业务类型匹配的目标业务服务。
其中,业务服务可以包括特征提取服务、相似度计算服务以及其它类型的服务,具体可以是实现特定业务的服务应用(即应用程序)。例如,当需进行特征提取时,业务服务可以调用特征提取算子来实现特征提取的过程。
在一个实施例中,S706具体可以包括:当业务服务请求的数量不大于预设服务阈值时,服务器则从部署的且处于运行状态的业务服务中调用与业务类型匹配的目标业务服务;当业务服务请求的数量大于预设服务阈值时,则将业务节点中处于关闭状态的业务服务转为运行状态,并从处于运行状态的业务服务中调用与业务类型匹配的目标业务服务。
其中,若在业务服务请求的数量不大于预设阈值时调用了目标业务服务,则关闭业务节点中未调度的业务服务;将关闭的业务服务置为关闭状态。
在一个实施例中,当业务服务请求的数量大于预设服务阈值、且服务节点中的业务服务数量小于预设服务阈值时,服务器则调用新服务节点中的业务服务;从服务节点中的业务服务和新服务节点中的业务服务中调度目标业务服务。
S708,通过目标业务服务基于第一类型算子,对缓存于各分区内的用户监测数据进行热度处理。
上述实施例中,当业务请求数量不多时,可以调度业务节点中的处于运行状态的业务服务进行热度处理,并且将未调用的业务服务关闭,从而避免资源浪费;此外,当业务请求数量较多时,可以启动未运行的业务节点,然后进行调度,从而可以提高业务服务的利用率;最后,当业务请求数量非常多时,可以新增业务节点,从新增的业务节点中调度业务服务进行热度处理,提高热度处理时的处理效率。
本申请还提供一种智慧零售商场的应用场景,该应用场景应用上述的数据处理方法,该方法可以调度计算资源并进行数据处理。具体地,该方法在该应用场景的应用如下:
本申请的方案以资源复用和自适配基准为核心,包括:组件复用策略、后台算子自适配策略、CV算子自适配策略以及计算资源自适应策略等多种资源调度策略,其中:
组件复用策略:以智慧零售商场的ID(标识)为基准进行分区,保证多个场数据高效隔离、传输和存储,进而降低组件运营成本,保障组件复用;其中,智慧零售商场中通常包括多个不同的零售店铺;
后台算子自适应策略:可以根据后台功能及特点将后台拆分成多个子模块,每个子模块抽象为完成特定功能的算子,包括:通用算子、客流算子池、轨迹算子池和多场调度算子等多种算子,以智慧零售商场所订阅的业务类型作为索引,自适应实现各智慧零售商场中客流数据和轨迹数据的计算,实现一份代码多个版本,降低版本维护和迭代成本,保证代码复用;
CV算子自适应策略:针对智慧零售商场所订阅的业务类型特点,将特征提取、检索、Rerank和聚类等CV微服务划分为多产品CV算子,通过产品类型等多种适配基准进行CV模型修改,利用k8s等进行服务发现与适配,实现多套产品CV算子在同一套环境的自适配,降低CV模型运营成本,保证环境复用;
计算资源自适应策略:利用云弹性扩缩容能力,实现服务动态扩缩容,以降低购买资源成本,保证计算资源高效复用。
本申请提出的组件复用策略、后台算子自适应策略、CV算子自适应策略和计算资源自适应策略的方案可应用于图8,接下来对上述的组件复用策略、后台算子自适应策略、CV算子自适应策略和计算资源自适应策略分别进行阐述:
(一)组件复用策略
多智慧零售商场的场景下,组件复用策略主要包括kafka消息队列复用、mySQL数据库复用以及kv(Key Value,键值对)数据库复用等策略,这里将kafka消息队列、mySQL数据库和kv数据库视为组件,复用原则是利用智慧零售商场的标识来区分,保证多个场的数据传输、存储于同一个组件并保证数据隔离和高效读写。其中,kv数据库可以是LevelDB数据库,用来存储图像数据。
多个场(即多个智慧零售商场)通过统一接入层接入***,如此,不同场的用户监测数据通过统一接入层传输到kafka消息队列,以实现多个场的用户监测数据对kafka消息队列的复用,此外,不同场的用户监测数据还会存储于LevelDB和mySQL数据库。
(1)kafka消息队列复用
其中,kafka消息队列复用策略如图3所示,摄像头在采集到用户监测数据(包括抓拍的帧图像、轨迹数据和摄像头位置等)后,在缓存到kafka消息队列中时,可以根据key把用户监测数据中的非图像数据存储在不同的分区,相同的key存在相同的分区。一般地,分区数较大,生产消费性能越高。为了均匀分区并提高消费性能,这里以结合智慧零售商场的标识和摄像头的标识构造各分区的key,从而实现多粒度分区,保证多个场数据均匀分区,高效读写。
(2)mySQL数据库复用
其中,mySQL数据库复用策略如图4a所示,将多个智慧零售商场的用户监测数据存储到数据库,并按照智慧零售商场的标识哈希值(hash)分区,每次读写时根据分区读写,既能实现数据隔离,又可以提高读写速度。
(3)LevelDB数据库复用
其中,LevelDB数据库复用策略如图4b所示,LevelDB作为kv数据库,主要完成智慧零售商场的图像(即用户监测数据中的帧图像)存储,这里存储的key是以智慧零售商场的标识为根路径的key来进行区分,实现多个场图像的隔离存储。
(二)后台算子自适配(也即自适应)策略
其中,后台算子自适配策略如图9所示,根据后台计算特点将后台抽象为通用算子、客流算子池、轨迹算子池和多场调度算子等四大算子模块,其中:
对于通用算子,主要完成轨迹管理、特征管理、数据存储和数据上报的功能。
对于客流算子池和轨迹算子池,其池内各算子主要是为各智慧零售商场进行差异化计算的算子,即提供客流数据人次的客流计算、顾客身份以及游逛轨迹的轨迹数据计算。不同的智慧零售商场,其客流数据和轨迹数据计算流程可能存在差异,故可以根据智慧零售商场的业务特点构造不同的客流数据和轨迹数据计算逻辑算子;
多场调度算子主要负责同时处理各智慧零售商场的ID管理、多场CV任务调度等,实现多场数据有效隔离和高效处理。
对于不同的智慧零售商场,可以根据业务类型将后台多个算子积木式组合,构成一条完整的后台处理流程。其中,完整的后台算子自适应调度流程如图10所示。
(三)CV算子自适配策略
上述的CV算子自适配策略如图11所示,主要包括三大模块,CV适配基准的判断、CV模型的修改和CV算子的适配。
其中,CV适配基准的判断,主要是结合产品的场景特点、数据规模等多个维度进行判断,例如对于机器资源紧张时,可以缩小Rerank(如相似度计算)与聚类时间范围,降低参与计算的数据规模。
CV模型的修改:对于特征微服务,主要包括SDK(Software Development Kit,软件开发工具包)模型修改、特征量化及所使用的GPU卡数;对于Rerank计算,主要包括过滤阈值、参与计算的场轨迹和店轨迹所在时间范围以及是否使用GPU加速;对于检索微服务,主要包括检索过滤阈值、全场检索或分层检索以及检索库GC策略;对于聚类微服务,主要包括聚类阈值过滤、聚类孤立点是否关闭以及参与聚类的轨迹时间范围。不同策略彼此独立,可以联合修改也可以单独修改。其中,上述的SDK用于为特定的软件包、软件框架、硬件平台、业务系統等建立应用软件的开发工具的集合。
CV计算的适配,根据智慧零售商场订阅的业务类型等适配基准启动多个算力实例,并通过k8s(kubernetes)等部署工具实现服务注册发现和最终调度,完整的CV算子自适应调度流程,如图12所示。其中,k8s是用于管理云平台中多个业务节点上的容器化的应用,目标是让部署容器化的应用简单并且高效。
(四)计算资源自适应策略
计算资源自适应策略包括三大部分:服务差异化部署、服务级别扩缩容(HAS)以及节点级别扩缩容(HNA)。接下来分别对服务差异化部署、服务级别扩缩容以及节点级别扩缩容进行描述,具体如下:
(1)服务差异化部署
根据资源需求分为不同类型服务,如分为特征提取类、Rerank类及普通服务类(如数据分区存储、轨迹和客流数据计算等)等。其中,1)对于特征提取类,其特征是高并发高算力;部署策略为:多卡GPU,属于特征节点;以GPU利用率为扩缩容基准。2)对于Rerank类,其特点为高算力,大规模数据;部署策略为单卡GPU、CPU多核、高内存,属于Rerank节点;以GPU利用率+CPU利用率+内存利用率为扩缩容基准。3)对于普通服务类,其特点为常规计算;部署策略为低核CPU、低内存,属于普通节点;以CPU利用率+内存利用率为扩缩容基准。
其中,服务按不同资源策略部署在对应的节点,各类型服务部署策略不同,相应的部署在对应节点上,节点级别扩缩可以以此节点类型进行扩缩;扩缩基准也相应不同,服务级别和节点级别扩缩均以此为基准。
(2)服务级别扩缩容策略
服务级别扩缩容策略,主要在单节点欠饱和态与单节点饱和态之间来回切换,通过服务的水平扩缩实现请求的合理处理,如图13所示。其中,副本可以指节点中服务的副本,因此,减少副本和增加副本可以指在节点中关闭或启动服务。
(3)节点级别的扩缩容策略
节点的扩缩容策略,主要在单节点饱和态与单节点过载态之间来回切换,是服务级别扩缩容的升级。当服务级别扩容已经不能满足高并发请求时,通过引入新节点提高***高并发处理能力,当节点出现空闲时,可以将节点中的服务释放到节点池中,如图14所示。其中,节点池可以是用于管理服务的节点管理器。
通过本申请的实施例,可以具有以下技术效果:
1、适用性广,适用当前主流硬件平台包括个人计算机、服务器等;提供的功能丰富而灵活,适用当前不同智慧零售商场的一套代码多个版本同时接入的需求;
2、运营成本低,通过组件复用、算子自适配等策略大大降低了组件、代码版本及CV模型运营成本,提高了运营效率;
3、接入成本低,通过计算资源自适应策略,以平时流量购买资源,高峰时动态申请用完即放,按量收费,大大降低了单场接入成本。
应该理解的是,虽然图2、5-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、5-7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图15所示,提供了一种数据处理装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:接收模块1502、缓存模块1504、调度模块1506和处理模块1508,其中:
接收模块1502,用于接收在不同产品交互区中采集的用户监测数据;
缓存模块1504,用于按照产品交互区的标识对用户监测数据进行分区缓存;
调度模块1506,用于确定产品交互区所属的对象所订阅的业务类型,并根据业务类型从第一算子池中调度匹配的第一类型算子;
处理模块1508,用于基于第一类型算子,对缓存于各分区内的用户监测数据进行热度处理,得到产品交互区的热度数据。
在其中的一个实施例中,产品交互区的标识包括产品交互区的区域标识和产品交互区中监测设备的设备标识中的至少之一;缓存模块1504,还用于以区域标识和设备标识中的至少一种标识为键,以用户监测数据为值进行分区缓存;其中,相同键所对应的用户监测数据缓存于相同分区。
在其中的一个实施例中,调度模块1506,还用于当业务类型为轨迹计算类型时,从轨迹算子池中调度与轨迹计算类型匹配的轨迹算子;轨迹算子属于第一类型算子,轨迹算子池属于第一算子池;当业务类型为客流计算类型时,从客流算子池中调度与客流计算类型匹配的客流算子;客流算子属于第一类型算子,客流算子池属于第一算子池。
上述实施例中,在接收到不同产品交互区中采集的用户监测数据,会按照产品交互区的标识对用户监测数据进行分区缓存,一方面可以将来自于不同产品交互区的用户监测数据进行统一缓存,另一方面还确保不同产品交互区的用户监测数据之间彼此隔离,而且确保数据可以快速读写。在确定产品交互区所属的对象所订阅的业务类型后,可以统一调度第一算子池中与该业务类型匹配的第一类型算子,从而利用该第一类型算子对缓存于各分区内的、属于不同产品交互区的用户监测数据进行热度处理,从而实现了资源的合理利用,避免因某个产品交互区的业务处理量小而造成资源利用率小的问题,而且由于可以通过本地统一对用户监测数据进行处理,维护时只需要维护本地的资源即可,降低了维护工作量。
在其中的一个实施例中,产品交互区的标识包括产品交互区的区域标识和产品交互区中监测设备的设备标识中的至少之一;如图16,该装置还包括:
过滤模块1510,用于对用户监测数据进行数据过滤;
运算模块1512,用于对区域标识和设备标识中的至少一种标识进行哈希运算;
存储模块1514,用于在第一数据库中,以哈希运算所得的标识哈希值为键,以过滤后的用户监测数据为值进行分区存储;其中,相同键所对应的用户监测数据存储于相同分区。
在其中的一个实施例中,用户监测数据中包括由产品交互区中的监测设备所采集的帧图像,以及基于帧图像所得的人体轨迹点数据;存储模块1514,还用于在第一数据库中,以哈希运算所得的标识哈希值为键,以过滤后的人体轨迹点数据为值进行存储;在第二数据库中,以区域标识、设备标识、轨迹标识和轨迹点序号的组合为键,以帧图像为值进行分区存储;其中,相同键所对应的帧图像存储于第二数据库中的相同分区。
上述实施例中,通过将不同产品交互区的、包含帧图像的索引但不包含帧图像的用户监测数据存储于第一数据库的不同分区,而将不同产品交互区的帧图像存储于第二数据库的不同分区,从而实现了数据隔离存储,提高了数据读取效率。
在其中的一个实施例中,热度数据包括客流数据;处理模块1508,还用于分别从各分区内获取缓存的用户检测数据;读取用户监测数据中的帧图像;基于第一类型算子检测帧图像中的人体特征;该第一类型算子包括客流算子;根据检测的人体特征确定帧图像中的用户数量,并将用户数量作为客流数据。
上述实施例中,通过调度的客流算子检测帧图像中的人体特征,根据检测的人体特征确定帧图像中的用户数量,得到客流数据,从而可以根据实际的需求调度相应的算子进行针对性的计算,提高计算效果。
在其中的一个实施例中,热度数据包括人体轨迹数据;处理模块1508,还用于分别从各分区内获取缓存的用户检测数据;读取用户监测数据中的帧图像和各用户的人体轨迹点数据;基于第一类型算子,将人体轨迹点数据组合成用户在产品交互区运动的人体轨迹数据,该第一类型算子包括轨迹算子。
上述实施例中,通过调度的轨迹算子将人体轨迹点数据组合成用户在产品交互区运动的人体轨迹数据,从而可以根据实际的需求调度相应的算子进行针对性的计算,提高计算效果。
在其中的一个实施例中,如图16所示,该装置还包括:
识别模块1516,用于从第二算子池中调度特征提取算子;基于特征提取算子提取帧图像中的人脸特征;当预存储的人脸特征与提取的人脸特征匹配时,根据用户监测数据更新第一数据库;
存储模块1514,还用于当预存储的人脸特征与提取的人脸特征不匹配时,在第一数据库中,以哈希运算所得的标识哈希值为键,以用户监测数据为值进行分区存储。
在其中的一个实施例中,调度模块1506,还用于从第二算子池中调度相似计算算子;
识别模块1516,还用于基于相似计算算子,计算提取的人脸特征与预存储的人脸特征之间的相似度;根据相似度确定预存储的人脸特征与提取的人脸特征之间的匹配性。
在其中的一个实施例中,帧图像包括在不同时刻所采集的图像;如图16所示,该装置还包括:
调度模块1506,还用于从第二算子池中调度聚类算子;
聚类模块1518,用于基于聚类算子对每个图像中用户的人体轨迹点数据进行聚类,得到属于各用户的用户轨迹点数据;
识别模块1516,还用于将属于同一用户的用户轨迹点数据,组合成同一用户在产品交互区运动的人体轨迹数据。
在其中的一个实施例中,装置应用于服务器;服务器调用部署于服务节点中的业务服务,业务服务用于基于第一算子池和第二算子池中的算子进行数据处理;接收模块1502,还用于接收不同产品交互区内的监测设备发送的业务服务请求;从业务服务请求中提取在各产品交互区中采集的用户监测数据;
处理模块1508,还用于响应于业务服务请求,从部署的业务服务中调用与业务类型匹配的目标业务服务,以通过目标业务服务执行基于第一类型算子,对缓存于各分区内的用户监测数据进行热度处理的步骤。
在其中的一个实施例中,处理模块1508,还用于当业务服务请求的数量不大于预设服务阈值时,则从部署的且处于运行状态的业务服务中调用与业务类型匹配的目标业务服务;当业务服务请求的数量大于预设服务阈值时,则将业务节点中处于关闭状态的业务服务转为运行状态,并从处于运行状态的业务服务中调用与业务类型匹配的目标业务服务。
在其中的一个实施例中,处理模块1508,还用于当业务服务请求的数量大于预设服务阈值、且服务节点中的业务服务数量小于预设服务阈值时,则调用新服务节点中的业务服务;从服务节点中的业务服务和新服务节点中的业务服务中调度目标业务服务。
上述实施例中,当业务请求数量不多时,可以调度业务节点中的处于运行状态的业务服务进行热度处理,并且将未调用的业务服务关闭,从而避免资源浪费;此外,当业务请求数量较多时,可以启动未运行的业务节点,然后进行调度,从而可以提高业务服务的利用率;最后,当业务请求数量非常多时,可以新增业务节点,从新增的业务节点中调度业务服务进行热度处理,提高热度处理时的处理效率。
关于数据处理装置的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图17所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户监测数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。
本领域技术人员可以理解,图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (28)
1.一种数据处理方法,其特征在于,所述方法包括:
接收不同产品交互区内的监测设备发送的业务服务请求;从所述业务服务请求中提取在各所述产品交互区中采集的用户监测数据;所述用户监测数据中包括由所述产品交互区中的监测设备所采集的多帧图像,以及基于所述帧图像所得的人体轨迹点数据;
按照所述产品交互区的标识对所述用户监测数据统一进行分区缓存,以使所述不同产品交互区的用户监测数据缓存于不同的分区;
确定所述产品交互区所属的对象所订阅业务服务的业务类型,并根据所述业务类型从第一算子池中调度匹配的第一类型算子;所述业务类型包括轨迹计算类型和客流计算类型;所述第一类型算子包括轨迹算子和客流算子;
响应于所述业务服务请求,从部署于服务节点的业务服务中调用与所述业务类型匹配的目标业务服务;所述目标业务服务,用于基于所述第一类型算子,对缓存于各所述分区内的用户监测数据进行热度处理,得到所述产品交互区的热度数据;所述热度数据包括客流数据和人体轨迹数据。
2.根据权利要求1所述的方法,其特征在于,所述产品交互区的标识包括所述产品交互区的区域标识和所述产品交互区中监测设备的设备标识中的至少之一;所述按照所述产品交互区的标识对所述用户监测数据统一进行分区缓存包括:
以所述区域标识和所述设备标识中的至少一种标识为键,以所述用户监测数据为值统一进行分区缓存;
其中,相同所述键所对应的用户监测数据缓存于相同分区。
3.根据权利要求1所述的方法,其特征在于,所述产品交互区的标识包括所述产品交互区的区域标识和所述产品交互区中监测设备的设备标识中的至少之一;所述按照所述产品交互区的标识对所述用户监测数据进行分区缓存之后,所述方法还包括:
对所述用户监测数据进行数据过滤;
对所述区域标识和所述设备标识中的至少一种标识进行哈希运算;
在第一数据库中,以哈希运算所得的标识哈希值为键,以过滤后的所述用户监测数据为值进行分区存储;其中,相同所述键所对应的用户监测数据存储于相同分区。
4.根据权利要求3所述的方法,其特征在于,所述在第一数据库中,以哈希运算所得的标识哈希值为键,以过滤后的所述用户监测数据为值进行分区存储包括:
在第一数据库中,以哈希运算所得的标识哈希值为键,以过滤后的所述人体轨迹点数据为值进行存储;
所述方法还包括:从所述人体轨迹点数据中提取轨迹标识和轨迹点序号;
在第二数据库中,以所述区域标识、所述设备标识、所述轨迹标识和所述轨迹点序号的组合为键,以所述帧图像为值进行分区存储;其中,相同所述键所对应的帧图像存储于所述第二数据库中的相同分区。
5.根据权利要求1所述的方法,其特征在于,所述根据所述业务类型从第一算子池中调度匹配的第一类型算子包括:
当所述业务类型为轨迹计算类型时,从轨迹算子池中调度与所述轨迹计算类型匹配的轨迹算子;所述轨迹算子池属于所述第一算子池;
当所述业务类型为客流计算类型时,从客流算子池中调度与所述客流计算类型匹配的客流算子;所述客流算子池属于所述第一算子池。
6.根据权利要求1所述的方法,其特征在于,所述基于所述第一类型算子,对缓存于各所述分区内的用户监测数据进行热度处理,得到所述产品交互区的热度数据包括:
分别从各所述分区内获取缓存的用户监测数据;
读取所述用户监测数据中的帧图像;
基于所述第一类型算子检测所述帧图像中的人体特征;所述第一类型算子包括客流算子;
根据检测的人体特征确定所述帧图像中的用户数量,并将所述用户数量作为所述客流数据。
7.根据权利要求1所述的方法,其特征在于,所述基于所述第一类型算子,对缓存于各所述分区内的用户监测数据进行热度处理,得到所述产品交互区的热度数据包括:
分别从各所述分区内获取缓存的用户监测数据;
读取所述用户监测数据中的帧图像和各用户的人体轨迹点数据;
基于所述第一类型算子,将所述人体轨迹点数据组合成用户在所述产品交互区运动的人体轨迹数据;所述第一类型算子包括轨迹算子。
8.根据权利要求1所述的方法,其特征在于,所述对缓存于各所述分区内的用户监测数据进行热度处理之后,所述方法还包括:
从第二算子池中调度特征提取算子;
基于所述特征提取算子提取帧图像中的人脸特征;
当预存储的人脸特征与提取的人脸特征匹配时,根据所述用户监测数据更新第一数据库;
当预存储的人脸特征与提取的人脸特征不匹配时,在所述第一数据库中,以哈希运算所得的标识哈希值为键,以所述用户监测数据为值进行分区存储。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
从所述第二算子池中调度相似计算算子;
基于所述相似计算算子,计算所述提取的人脸特征与所述预存储的人脸特征之间的相似度;
根据所述相似度确定预存储的人脸特征与提取的人脸特征之间的匹配性。
10.根据权利要求7所述的方法,其特征在于,所述帧图像包括在不同时刻所采集的图像;所述方法还包括:
从第二算子池中调度聚类算子;
基于所述聚类算子对每个所述帧图像中用户的人体轨迹点数据进行聚类,得到属于各用户的用户轨迹点数据;
所述将所述人体轨迹点数据组合成用户在所述产品交互区运动的人体轨迹数据包括:
将属于同一用户的用户轨迹点数据,组合成所述同一用户在所述产品交互区运动的人体轨迹数据。
11.根据权利要求1至10中的任一项所述的方法,其特征在于,所述方法应用于服务器;所述第一算子池中的算子是根据所述服务节点中的后台计算资源所构建的用于数据处理的函数。
12.根据权利要求11所述的方法,其特征在于,所述从部署的所述业务服务中调用与所述业务类型匹配的目标业务服务包括:
当所述业务服务请求的数量不大于预设服务阈值时,则从部署的且处于运行状态的所述业务服务中调用与所述业务类型匹配的目标业务服务;
当所述业务服务请求的数量大于所述预设服务阈值时,则将所述服务节点中处于关闭状态的业务服务转为运行状态,并从处于所述运行状态的所述业务服务中调用与所述业务类型匹配的目标业务服务。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
当所述业务服务请求的数量大于所述预设服务阈值、且所述服务节点中的业务服务数量小于预设服务阈值时,则调用新服务节点中的业务服务;
从所述服务节点中的业务服务和所述新服务节点中的业务服务中调度目标业务服务。
14.一种数据处理装置,其特征在于,所述装置包括:
接收模块,接收不同产品交互区内的监测设备发送的业务服务请求;从所述业务服务请求中提取在各所述产品交互区中采集的用户监测数据;所述用户监测数据中包括由所述产品交互区中的监测设备所采集的多帧图像,以及基于所述帧图像所得的人体轨迹点数据;
缓存模块,用于按照所述产品交互区的标识对所述用户监测数据统一进行分区缓存,以使所述不同产品交互区的用户监测数据缓存于不同的分区;
调度模块,用于确定所述产品交互区所属的对象所订阅业务服务的业务类型,并根据所述业务类型从第一算子池中调度匹配的第一类型算子;所述业务类型包括轨迹计算类型和客流计算类型;所述第一类型算子包括轨迹算子和客流算子;
处理模块,用于响应于所述业务服务请求,从部署于服务节点的业务服务中调用与所述业务类型匹配的目标业务服务;所述目标业务服务,用于基于所述第一类型算子,对缓存于各所述分区内的用户监测数据进行热度处理,得到所述产品交互区的热度数据;所述热度数据包括客流数据和人体轨迹数据。
15.根据权利要求14所述的装置,其特征在于,所述产品交互区的标识包括所述产品交互区的区域标识和所述产品交互区中监测设备的设备标识中的至少之一;
所述缓存模块,还用于以所述区域标识和所述设备标识中的至少一种标识为键,以所述用户监测数据为值统一进行分区缓存;
其中,相同所述键所对应的用户监测数据缓存于相同分区。
16.根据权利要求14所述的装置,其特征在于,所述产品交互区的标识包括所述产品交互区的区域标识和所述产品交互区中监测设备的设备标识中的至少之一;所述按照所述产品交互区的标识对所述用户监测数据进行分区缓存之后,所述装置还包括:
过滤模块,用于对所述用户监测数据进行数据过滤;
运算模块,用于对所述区域标识和所述设备标识中的至少一种标识进行哈希运算;
存储模块,用于在第一数据库中,以哈希运算所得的标识哈希值为键,以过滤后的所述用户监测数据为值进行分区存储;其中,相同所述键所对应的用户监测数据存储于相同分区。
17.根据权利要求16所述的装置,其特征在于,所述存储模块,还用于在第一数据库中,以哈希运算所得的标识哈希值为键,以过滤后的所述人体轨迹点数据为值进行存储;从所述人体轨迹点数据中提取轨迹标识和轨迹点序号;在第二数据库中,以所述区域标识、所述设备标识、所述轨迹标识和所述轨迹点序号的组合为键,以所述帧图像为值进行分区存储;其中,相同所述键所对应的帧图像存储于所述第二数据库中的相同分区。
18.根据权利要求14所述的装置,其特征在于,所述调度模块,还用于当所述业务类型为轨迹计算类型时,从轨迹算子池中调度与所述轨迹计算类型匹配的轨迹算子;所述轨迹算子属于所述第一类型算子,所述轨迹算子池属于所述第一算子池;当所述业务类型为客流计算类型时,从客流算子池中调度与所述客流计算类型匹配的客流算子;所述客流算子属于所述第一类型算子,所述客流算子池属于所述第一算子池。
19.根据权利要求14所述的装置,其特征在于,所述处理模块,还用于分别从各所述分区内获取缓存的用户监测数据;读取所述用户监测数据中的帧图像;基于所述第一类型算子检测所述帧图像中的人体特征;所述第一类型算子包括客流算子;根据检测的人体特征确定所述帧图像中的用户数量,并将所述用户数量作为所述客流数据。
20.根据权利要求14所述的装置,其特征在于,所述处理模块,还用于分别从各所述分区内获取缓存的用户监测数据;读取所述用户监测数据中的帧图像和各用户的人体轨迹点数据;基于所述第一类型算子,将所述人体轨迹点数据组合成用户在所述产品交互区运动的人体轨迹数据;所述第一类型算子包括轨迹算子。
21.根据权利要求14所述的装置,其特征在于,所述对缓存于各所述分区内的用户监测数据进行热度处理之后,所述装置还包括:
识别模块,用于从第二算子池中调度特征提取算子;基于所述特征提取算子提取帧图像中的人脸特征;当预存储的人脸特征与提取的人脸特征匹配时,根据所述用户监测数据更新第一数据库;
存储模块,用于当预存储的人脸特征与提取的人脸特征不匹配时,在所述第一数据库中,以哈希运算所得的标识哈希值为键,以所述用户监测数据为值进行分区存储。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括:
所述调度模块,还用于从所述第二算子池中调度相似计算算子;
所述识别模块,还用于基于所述相似计算算子,计算所述提取的人脸特征与所述预存储的人脸特征之间的相似度;
根据所述相似度确定预存储的人脸特征与提取的人脸特征之间的匹配性。
23.根据权利要求22所述的装置,其特征在于,所述帧图像包括在不同时刻所采集的图像;所述装置还包括:
所述调度模块,还用于从第二算子池中调度聚类算子;
聚类模块,用于基于所述聚类算子对每个所述帧图像中用户的人体轨迹点数据进行聚类,得到属于各用户的用户轨迹点数据;
所述识别模块,还用于将属于同一用户的用户轨迹点数据,组合成所述同一用户在所述产品交互区运动的人体轨迹数据。
24.根据权利要求14至23中的任一项所述的装置,其特征在于,所述装置应用于服务器;所述第一算子池中的算子是根据所述服务节点中的后台计算资源所构建的用于数据处理的函数。
25.根据权利要求14所述的装置,其特征在于,所述处理模块,还用于当所述业务服务请求的数量不大于预设服务阈值时,则从部署的且处于运行状态的所述业务服务中调用与所述业务类型匹配的目标业务服务;当所述业务服务请求的数量大于所述预设服务阈值时,则将所述服务节点中处于关闭状态的业务服务转为运行状态,并从处于所述运行状态的所述业务服务中调用与所述业务类型匹配的目标业务服务。
26.根据权利要求25所述的装置,其特征在于,所述处理模块,还用于当所述业务服务请求的数量大于所述预设服务阈值、且所述服务节点中的业务服务数量小于预设服务阈值时,则调用新服务节点中的业务服务;从所述服务节点中的业务服务和所述新服务节点中的业务服务中调度目标业务服务。
27.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至13中任一项所述的方法的步骤。
28.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110278322.2A CN112669353B (zh) | 2021-03-16 | 2021-03-16 | 数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110278322.2A CN112669353B (zh) | 2021-03-16 | 2021-03-16 | 数据处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112669353A CN112669353A (zh) | 2021-04-16 |
CN112669353B true CN112669353B (zh) | 2021-07-13 |
Family
ID=75399363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110278322.2A Expired - Fee Related CN112669353B (zh) | 2021-03-16 | 2021-03-16 | 数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112669353B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI809956B (zh) * | 2022-06-29 | 2023-07-21 | 英業達股份有限公司 | 具灰度發佈的業務流程控制系統及其方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9697545B1 (en) * | 2014-03-11 | 2017-07-04 | Vmware, Inc. | Service monitor for monitoring and tracking the performance of an application running on different mobile devices |
CN111209467B (zh) * | 2020-01-08 | 2023-05-26 | 中通服咨询设计研究院有限公司 | 一种多并发多通道环境下的数据实时查询*** |
CN111259055A (zh) * | 2020-01-15 | 2020-06-09 | 上海逢圆信息科技有限公司 | 基于智慧商场的大数据管理*** |
CN111367643B (zh) * | 2020-03-09 | 2024-07-09 | 北京易华录信息技术股份有限公司 | 一种算法调度***、方法及装置 |
CN112347909B (zh) * | 2020-11-05 | 2022-07-26 | 上海蜂雀网络科技有限公司 | 一种零售门店出入口客流统计方法 |
-
2021
- 2021-03-16 CN CN202110278322.2A patent/CN112669353B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN112669353A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huh et al. | Understanding edge computing: Engineering evolution with artificial intelligence | |
CN110431560B (zh) | 目标人物的搜索方法和装置、设备和介质 | |
Aazam et al. | IoT resource estimation challenges and modeling in fog | |
CN107403173A (zh) | 一种人脸识别***及方法 | |
CN112232293A (zh) | 图像处理模型训练、图像处理方法及相关设备 | |
Kim et al. | Edge-network-assisted real-time object detection framework for autonomous driving | |
CN111614769A (zh) | 一种深度学习技术的行为智能分析引擎***及控制方法 | |
CN107426542A (zh) | 基于边缘计算的实时人工智能视频***的硬件架构 | |
CN111506434B (zh) | 一种任务处理方法、装置及计算机可读存储介质 | |
CN110569911A (zh) | 图像识别方法、装置、***、电子设备及存储介质 | |
CN112486788A (zh) | 一种工作量评估方法、装置、电子设备和可读存储介质 | |
CN115002414A (zh) | 监测方法、装置及服务器和计算机可读存储介质 | |
CN112669353B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN106844727B (zh) | 海量图像特征数据分布式采集处理和分级应用***及方法 | |
CN117193992B (zh) | 模型训练方法、任务调度方法、装置以及计算机存储介质 | |
CN115729683A (zh) | 任务处理方法、装置、***、计算机设备和存储介质 | |
CN116456496B (zh) | 资源调度的方法、存储介质及电子设备 | |
von Söhsten et al. | Multiple face recognition in real-time using cloud computing, Emgu CV and Windows Azure | |
CN113808157B (zh) | 图像处理方法、装置、及计算机设备 | |
Wang et al. | C3Meta: a context-aware cloud-edge-end collaboration framework toward green metaverse | |
Silva et al. | A scheduler for mobile cloud based on weighted metrics and dynamic context evaluation | |
CN117170886B (zh) | 一种面向大连接视频分析的连续学习资源调度方法及装置 | |
CN113515649B (zh) | 数据的结构化方法、***、装置、设备和存储介质 | |
Anand et al. | 14 Clustering of Big Data in | |
CN116405496A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40042044 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210713 |