基于负载均衡的图像数据处理方法、系统、设备及介质与流程

文档序号:17858382发布日期:2019-06-11 22:42阅读:175来源:国知局
基于负载均衡的图像数据处理方法、系统、设备及介质与流程

本发明涉及计算机技术领域,尤其涉及一种基于负载均衡的图像数据处理方法、系统、设备及介质。



背景技术:

传统图像数据处理技术都是将获取到的图像数据直接在服务器上进行处理,当接收到大量的或者复杂的图像数据时,则需要配置和效能较高的服务器才能及时处理大量的或者复杂的图像数据,耗费的成本高,若服务器的配置和效能不足以处理这些大量的或者复杂的图像数据,则易导致服务器故障,或服务器超负荷,从而降低对图像数据处理的效率。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种基于负载均衡的图像数据处理方法、系统、设备及介质,以解决传统图像数据处理方法处理图像数据的成本高和对图像数据处理的效率低的问题。

一种基于负载均衡的图像数据处理方法,包括服务端执行的如下步骤:

接收中心服务器发送的图像数据处理请求,获取所述图像数据处理请求中的图像特征的任务数据;

获取每个客户端当前的状态数据;

根据获取到的每个所述状态数据,按照预设的分配方式,对所述图像特征的任务数据进行任务分配,得到每个所述客户端的目标任务信息;

按照每个所述客户端的预设标识信息,将每个所述目标任务信息发送给对应的所述客户端;

接收每个所述客户端发送的任务处理结果,并按照预设的转换方式,将接收到的所述任务处理结果中的处理数据转换成预设的格式数据,保存至数据库中,并向所述中心服务器返回对所述图像数据处理请求的处理结果。

一种基于负载均衡的图像数据处理方法,包括客户端执行的如下步骤:

基于图像处理算法,对接收到的服务端发送的目标任务信息进行处理,得到任务处理结果;

将所述任务处理结果发送给所述服务端;

根据所述任务处理结果,更新所述客户端的显示设备上的页面数据。

一种基于负载均衡的图像数据处理系统,包括服务端,服务端包括:

请求获取模块,用于接收中心服务器发送的图像数据处理请求,获取所述图像数据处理请求中的图像特征的任务数据;

状态获取模块,用于获取每个客户端当前的状态数据;

数据分配模块,用于根据获取到的每个所述状态数据,按照预设的分配方式,对所述图像特征的任务数据进行任务分配,得到每个所述客户端的目标任务信息;

信息发送模块,用于按照每个所述客户端的预设标识信息,将每个所述目标任务信息发送给对应的所述客户端;

数据转换模块,用于接收每个所述客户端发送的任务处理结果,并按照预设的转换方式,将接收到的所述任务处理结果中的处理数据转换成预设的格式数据,保存至数据库中,并向所述中心服务器返回对所述图像数据处理请求的处理结果。

一种基于负载均衡的图像数据处理系统,包括客户端,客户端包括:

信息处理模块,用于基于图像处理算法,对接收到的服务端发送的目标任务信息进行处理,得到任务处理结果;

结果发送模块,用于将所述任务处理结果发送给所述服务端;

数据更新模块,用于根据所述任务处理结果,更新所述客户端的显示设备上的页面数据。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于负载均衡的图像数据处理方法。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于负载均衡的图像数据处理方法。

上述基于负载均衡的图像数据处理方法、系统、设备及介质,通过服务端接收到中心服务器发送的图像数据处理请求,获取图像数据处理请求中的图像特征的任务数据,服务端获取客户端当前的状态数据,服务端根据获取到的状态数据,按照预设的分配方式,对图像特征的任务数据进行任务分配,得到目标任务信息,服务端需要根据客户端的状态数据对获取到的任务数据进行任务分配,无需进行其他的数据处理,能够减少服务端的数据处理的运算量,减少服务端的运算负担,从而降低对服务端的配置成本,然后,服务端将目标任务信息发送给客户端,基于图像处理算法,客户端对接收到的服务端发送的目标任务信息进行处理,得到任务处理结果,客户端按照任务分配对目标任务信息进行分散处理,能够提高对任务数据的处理效率,进而客户端将任务处理结果发送给服务端,服务端接收任务处理结果,并按照预设的转换方式,将接收到的任务处理结果中的处理数据转换成预设的格式数据,保存至数据库中,并向中心服务器返回对图像数据处理请求的处理结果,客户端根据任务处理结果,更新客户端的页面数据,便于对数据的保存和管理。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中基于负载均衡的图像数据处理方法的一应用环境示意图;

图2是本发明一实施例中基于负载均衡的图像数据处理方法的一流程图;

图3是本发明一实施例中基于负载均衡的图像数据处理方法中步骤s2的实现流程图;

图4是本发明一实施例中基于负载均衡的图像数据处理方法中步骤s3的一实现流程图;

图5是本发明一实施例中基于负载均衡的图像数据处理方法中步骤s5的一实现流程图;

图6是本发明一实施例中基于负载均衡的图像数据处理方法中步骤s7的一实现流程图;

图7是本发明一实施例中基于负载均衡的图像数据处理系统的一示意图;

图8是本发明一实施例中计算机设备的一示意图;

图9是本发明一实施例中计算机设备的另一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1示出了本发明实施例提供的应用环境,该应用环境包括中心服务器、服务端和客户端,其中,中心服务器和服务端之间,以及服务端和客户端之间均通过网络进行连接,中心服务器向服务端发送图像数据处理请求,服务端根据接收中心服务器发送的图像数据处理请求,对获取到的图像数据处理请求中的任务数据进行分配,服务端分配好的任务数据发送给客户端,客户端用于处理接收到的任务数据,并将处理好的处理数据发送到服务端进行保存。客户端具体可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备;服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。本发明实施例提供的基于负载均衡的图像数据处理方法有赖于服务端和客户端的共同协作完成。

本发明实施例中的基于负载均衡的图像数据处理方法具体包括服务端执行的如下步骤:

接收中心服务器发送的图像数据处理请求,获取所述图像数据处理请求中的图像特征的任务数据;

获取每个客户端当前的状态数据;

根据获取到的每个所述状态数据,按照预设的分配方式,对所述图像特征的任务数据进行任务分配,得到每个所述客户端的目标任务信息;

按照每个所述客户端的预设标识信息,将每个所述目标任务信息发送给对应的所述客户端;

接收每个所述客户端发送的任务处理结果,并按照预设的转换方式,将接收到的所述任务处理结果中的处理数据转换成预设的格式数据,保存至数据库中,并向所述中心服务器返回对所述图像数据处理请求的处理结果。

本发明实施例中的基于负载均衡的图像数据处理方法具体包括客户端执行的如下步骤:

基于图像处理算法,对接收到的服务端发送的目标任务信息进行处理,得到任务处理结果;

将所述任务处理结果发送给所述服务端;

根据所述任务处理结果,更新所述客户端的显示设备上的页面数据。

请参阅图2,图2示出本实施例提供的一种基于负载均衡的图像数据处理方法,以该方法应用在图1中的服务端和客户端为例进行说明,详述如下:

s1:服务端接收中心服务器发送的图像数据处理请求,获取图像数据处理请求中的图像特征的任务数据。

具体地,服务端包含了允许公开访问或调用的用于处理图像数据的资源或功能插件,其中,允许公开访问或调用的用于处理图像数据的资源没有任何限制,即任何权限的用户均可按照需要进行访问或调用。可以理解的是,当用户想要获取或掌握图像信息时,需要将图像数据化,则会产生大量的图像特征的任务数据,因此,用户需要调用服务端中的用于处理图像数据的资源或功能插件对这些图像数据进行处理,可以通过中心服务器向服务端发送图像数据处理请求,该图像数据处理请求用于请求服务端对获取到的图像特征的任务数据进行处理,其中,该图像特征的任务数据包括若干个图像特征的任务、每个任务的包数、每个任务的预设任务标识和任务的总个数,其中,图像特征的任务包括图像特征的提取数据、图像特征的匹配数据和图像特征的比对数据等,其中,图像特征的提取数据如图像特征值、图像特征向量等,图像特征的匹配数据如图像特征的相似度计算数据,以及图像特征的比对数据如特征数据的最大值、最小值的选取等。

例如,在一具体实施方式中,中心服务器向服务端发送的图像数据处理请求成功后,服务端建立图像数据处理的任务,可以根据该任务获取该图像处理请求中的任务数据,实现对任务数据的完整获取,避免任务数据丢失的情况。

s2:服务端获取每个客户端当前的状态数据。

具体地,客户端当前的状态数据包括每个客户端的状态情况和每个客户端用于处理图像数据的具体的可承接量,其中,每个客户端的状态情况包括空闲状态、紧张状态和正常状态,可承接量是指该客户端当前能够处理的任务量的最大数值,可以通过每个客户端对应的节点接口进行客户端的可承接量的数值统计。

服务端在接收到中心服务器发送的图像数据处理请求之后,可以通过向客户端发送状态数据获取指令,或者调用节点接口来获取每个客户端当前的状态数据,以使后续步骤能够根据获取到的每个客户端当前的状态数据,实现服务端的图像数据处理的工作量转移或分配给客户端进行处理,能够减少服务端的负担,提高对图像数据处理的效率,以及能够降低对服务端的性能需求,从而减少对服务端的投资成本,实现成本节约。

s3:服务端根据获取到的每个状态数据,按照预设的分配方式,对图像特征的任务数据进行任务分配,得到每个客户端的目标任务信息。

具体地,目标任务信息包括服务端按照分配方式将任务数据分配给每个客户端的目标任务数据和每个客户端的预设标识信息。服务端能够与多个客户端集合组成了一个集群,在服务端获取到的集群中的每个客户端的当前状态数据之后,服务端按照预设的分配方式,如负载均衡(loadbalancing)分配方式,将任务数据进行任务分配。其中,负载均衡从其应用的地理结构上分为本地负载均衡(localloadbalance)和全局负载均衡(globalloadbalance,也叫地域负载均衡)。本实施例采用的负载均衡分配方式为本地负载均衡分配方式,其中,本地负载均衡通过灵活多样的均衡策略把任务数据合理地分配给集群内的多个客户端共同负担,其中,均衡策略包括轮询均衡、加权轮询均衡、随机均衡和哈希均衡等算法。

其中,轮询是指依次将任务数据分配给客户端,可以理解为一次分配一个任务给一个客户端,依次分配直到任务数据分配完毕,该策略的优点是操作简便,简单易实现任务数据的均匀分配;加权轮询均衡是一种改进的轮询均衡算法,可以理解为轮询均衡算法是权值相同的加权轮询均衡算法,可以预先给每个客户端设置不同的权值,决定分配的任务数比例,再按照该比例依次将任务数据分配给客户端,该策略的优点是解决了客户端性能不一,即客户端可承接量不同的情况;随机均衡就是依赖于简单的随机(random)算法,将任务数据随机分配给任意一个客户端,该策略的优点是操作简便,运算负担小;哈希均衡可以是依赖于估计每个客户端的负载,即每个客户端的可承接量,然后按照可承接量之间的比例,将任务数据分配给客户端。

应理解,当在处理大量任务数据,需要给现有的服务端和客户端集群进行客户端的扩充或升级时,只需简单地增加一个新的节点接口和客户端到集群中,而不需改变现有网络结构、停止现有的服务,能有效地解决图像数据处理请求过多、任务数据量过大或服务端负荷过重的问题,并且不需花费昂贵开支购置性能卓越的服务器来提高服务端性能,有效节约成本,还能够避免服务端,或者客户端的单点故障,造成任务数据的丢失或者无法处理的损失。

s4:服务端按照每个客户端的预设标识信息,将每个目标任务信息发送给对应的客户端。

具体地,根据在步骤s3中得到的每个客户端的目标任务信息中的预设标识信息,可以将目标任务信息发送至该预设标识信息对应的客户端上。本实施例具体可以采用基于扩特兹公式(quartz)的分布式系统的可靠协调系统(zookeeper)的框架来实现服务端和客户端组成集群的负载均衡的任务调度,即实现将目标任务信息准确发送给客户端,能够通过quartz的zookeeper框架管理多个节点接口,找到每个节点接口对应的客户端的可承接量的增加、减少或异常的情况,提高了客户端处理目标任务信息的可靠性和计算能力。本实施例通过这种去中心化的思想,把集中在服务端的任务数据分散到节点接口对应有承接能力的的客户端中进行数据处理的方式,能够来提高对图像数据处理的能力,从而提高处理图像数据的效率。另外,还可以通过网络协议进行任务调度,或者通过其他方式,此处不做具体限制。

其中,quartz是一个开源的作业调度框架,quartz框架的核心是调度器。调度器负责管理quartz应用运行时环境。调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件。quartz不仅仅是线程和线程管理。为确保可伸缩性,quartz采用了基于多线程的架构。启动时,框架初始化一套worker线程,这套线程被调度器用来执行预定的作业。

其中,zookeeper是一个分布式的,开放源码的分布式应用程序,能够协调服务,是google的chubby一个开源的实现,是hadoop和hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

s5:客户端基于图像处理算法,对接收到的服务端发送的目标任务信息进行处理,得到任务处理结果。

在本实施例中,在客户端接收到的服务端发送的目标任务信息之前,为保证客户端对目标任务数据的处理效率,本实施例通过预先在每个客户端上安装有对象类别扩充(objectlinkingandembedding(ole)controlextension,ocx)组件,其中,ocx组件包括多种预先收集的用于处理各种图像数据的图像处理算法,即图像处理算法封装在ocx组件中,便于对图像处理算法的调用和管理。同时,还会预先在每个客户端上安装服务管理策略(services.msc)管理器。其中,services.msc管理器可用于读取客户端的目标任务数据,然后调用ocx组件中适合该目标任务数据的图像处理算法,实现对目标任务数据的最优处理,从而提高对图像数据的处理效率,该services.msc管理器还用于监控每个客户端的当前任务状态,具备有结束任务功能,能够结束目标任务数据处理完毕的客户端的进程,减少客户端资源消耗,提高运行效率,从而能够节约成本的提高处理图像数据的效率。

例如,在一具体实施例中,假设检测到pc机设备006的当前任务状态为任务处理完毕,则services.msc服务管理器可以结束该pc机设备006的任务处理进程,并反馈给服务端。

由于pc机设备是windows机器,所以执行services.msc服务管理器,可以设置为pc机设备开机时,自动启动services.msc服务管理器,或者设置为接收到一个数据处理请求时,启动services.msc服务管理器。

具体地,在客户端接收到的服务端发送的目标任务信息之后,可以通过客户端上的services.msc管理器对接收到的服务端发送的目标任务信息进行解析,读取目标任务信息中目标任务数据的类型和具体数值,然后,调用ocx组件中适合该目标任务数据的图像处理算法,对该目标任务数据进行处理,得到该目标任务数据的任务处理结果,其中,任务处理结果包括处理数据,该处理数据是目标任务数据中的任务按照所调用的图像处理算法计算得到的具体数值,如图像的特征值或者像素值等。

s6:客户端将任务处理结果发送给服务端。

具体地,客户端的通过网络传输协议将任务处理结果发送给服务端,其中,客户端发送的任务处理结果包括目标任务信息的处理数据和该客户端的预设标识信息,以使服务端将接收到的处理数据和预设标识信息进行对应保存,便于对处理数据的调用和管理。

其中,网络传输协议包括但不限于:互联网控制报文协议(internetcontrolmessageprotocol,icmp)、地址解析协议(arpaddressresolutionprotocol,arp)和文件传输协议(filetransferprotocol,ftp)等。

s7:服务端接收每个客户端发送的任务处理结果,并按照预设的转换方式,将接收到的任务处理结果中的处理数据转换成预设的格式数据,保存至数据库中,并向中心服务器返回对图像数据处理请求的处理结果。

具体地,服务端接收每个客户端发送的任务处理结果之后,为了便于服务端对数据的统一管理、保存和使用,服务端可以通过预设的转换方式,如对象简谱(javascriptobjectnotation,json)格式、可扩展标记语言(extensiblemarkuplanguage,xml)格式,本实施例具体可以是通过调用jsonobject对象中的fromobject()方法将接收到的任务处理结果中的处理数据转换成json格式的数据,并保存在服务端的数据库中,便于对数据的管理和调用,然后,将对图像数据处理请求的处理结果返回给中心服务器,便于用户及时掌握图像数据的处理情况,其中,json格式的数据包括键值对,每个键值对包括参数名称和该参数对应的参数值。其中,键值对(key-value)是软件开发中常用的一种数据类型,是数据存储时最简单的组织形式。其中,返回的处理结果具体可以是将每个任务的处理数据转换得到的格式数据包含在处理结果的内容中,并备注该格式数据对应的预设任务标识等,该处理结果还可以包含其他内容,此处不做限制。

s8:客户端根据任务处理结果,更新客户端的显示设备上的页面数据。

具体地,客户端在处理目标任务数据得到的任务处理结果之后,为了保证客户端的显示设备上的页面数据的准确性和有效性,以及便于用户及时接受准确的页面数据,本实施例按照处理数据的类型,任务处理结果中的处理数据替换掉该数据类型在客户端的页面中的历史数据,实现对客户端上的页面数据的更新,便于用户对客户端的页面数据的管理和查看。

在本实施例中,通过服务端接收到中心服务器发送的图像数据处理请求,获取图像数据处理请求中的任务数据,服务端获取客户端当前的状态数据,服务端根据获取到的状态数据,按照预设的分配方式,将任务数据进行任务分配,得到目标任务信息,服务端需要根据客户端的状态数据对获取到的任务数据进行任务分配,无需进行其他的数据处理,能够减少服务端的数据处理的运算量,减少服务端的运算负担,从而降低对服务端的配置成本,然后,服务端将目标任务信息发送给客户端,基于图像处理算法,客户端对接收到的服务端发送的目标任务信息进行处理,得到任务处理结果,客户端按照任务分配对目标任务信息进行分散处理,能够提高对任务数据的处理效率,进而客户端将任务处理结果发送给服务端,服务端接收任务处理结果,并按照预设的转换方式,将接收到的任务处理结果中的处理数据转换成预设的格式数据,保存至数据库中,并向中心服务器返回对图像数据处理请求的处理结果,客户端根据任务处理结果,更新客户端的页面数据,便于对数据的保存和管理。

在一实施例中,如图3所示,步骤s2中,即服务端获取每个客户端当前的状态数据,其中,状态数据包括每个客户端的可承接量具体包括如下步骤:

s201:服务端获取每个客户端的节点接口,其中,每个节点接口对应一个客户端。

具体地,服务端与每个客户端的网络连接之间,包含有用于统计每个客户端当前的状态数据的节点接口,节点接口是操作系统留给应用程序的一个调用接口,是一组定义、程序及协议的集合,是具有传送、统计或接收数据功能的通用功能集,其中,每个节点接口对应一个客户端,服务端可以通过调用每个客户端的节点接口,执行服务端的应用程序的命令,如统计每个客户端当前的状态数据。在服务端接收到中心服务器发送的图像数据处理请求之后,为降低服务端处理图像数据的性能需求,可以通过将服务端的工作量转移或分摊到客户端中进行处理,能够减少服务端的工作压力,从而减少图像数据处理的成本,因此,服务端可以通过获取节点接口,便于后续步骤服务端调用节点接口,执行服务端的应用程序中的命令,如获取每个客户端当前的状态数据,进一步地实现服务端的工作量转移或分摊,从而节约图像数据处理的成本。

s202:服务端根据节点接口,获取每个节点接口对应的客户端当前的状态数据,以及每个客户端的预设标识信息。

具体地,本实施例通过调用每个客户端对应的节点接口,可以对该客户端当前能够处理的任务量的最大数值进行统计,并通过将统计得到的每个客户端的可承接量与预设的状态阈值范围进行比对,进而根据比对结果确定该客户端当前的状态情况,然后,获取每个客户端的预设标识信息,其中,每个客户端的预设标识信息用于唯一标识客户端,便于对客户端的管理、调用和维护,该预设标识信息具体可以是编号、图形或字符标号等等,具体可以根据实际应用需求进行设置,此处不做限制。通过将统计得到的每个客户端的可承接量与预设的状态阈值范围进行比对,进而根据比对结果确定该客户端当前的状态情况具体包括若客户端a的可承接量大于预设的状态阈值范围,则标记该客户端a为空闲状态;若客户端b的可承接量,小于预设的状态阈值范围,则标记该客户端b为紧张状态;若客户端c的可承接量,在预设的状态阈值范围内,则标记该客户端c为正常状态,其中,预设的状态阈值范围具体可以根据实际应用需求进行设置,此处不做限制,如[40%,50%]。

例如,在一具体实施例中,假设预设的状态阈值范围为[30%,60%],若一节点接口h统计到一台预设标识信息为编号“001”的客户端的可承接量为80%,将该可承接量与预设的状态阈值范围进行比对,得到该可承接量大于预设的状态阈值范围,则可以得到该客户端的状态情况为空闲状态,进而可获取该客户端的当前的状态数据为“客户端:预设标识信息为编号001,状态情况:空闲状态,可承接量:80%”。

在本实施例中,通过获取每个客户端的节点接口,然后,根据节点接口,获取每个节点接口对应的客户端当前的状态数据,以及每个客户端的预设标识信息,能够通过获取每个客户端的状态数据,实现将服务端的工作量转移或分摊到客户端中进行处理,减少服务端的工作压力,从而减少图像数据处理的成本,保证图像数据处理的效率。

在一实施例中,如图4所示,步骤s3中,状态数据包括设备状态,设备状态包括空闲状态、紧张状态和正常状态,即服务端根据获取到的每个状态数据,按照预设的分配方式,将任务数据进行任务分配,得到每个客户端的目标任务信息具体包括如下步骤:

s301:服务端根据状态数据包含的设备状态,筛选出设备状态为空闲状态的客户端和设备状态为正常状态的客户端,作为目标客户端。

具体地,服务端在获取到客户端当前的状态数据之后,为了保证任务数据分配合理化和优化任务数据处理效率,本实施例通过将设备状态为空闲状态的客户端和设备状态为正常状态的客户端筛选出来,作为目标客户端,剔除设备状态为紧张状态的客户端,以使后续给这些目标客户端分配目标任务信息,避免设备状态为紧张状态的客户端处理图像数据的负担,使得任务分配合理化。

s302:服务端根据每个目标客户端的的可承接量之间的比例,对任务数据进行分配,得到每个目标客户端对应的目标任务数据。

具体地,服务端在获取到客户端当前的状态数据并筛选出目标客户端之后,为了实现任务数据的均衡分配,使得目标客户端负载均衡,减少服务端的数据处理负担,从而提高对图像数据的处理效率,本实施例通过获取目标客户端的可承接量,并计算每个目标客户端的的可承接量之间的比例,然后按照该比例将服务端获取到的任务数据进行分配,得到每个目标客户端能够负载的任务量,即每个目标客户端对应的目标任务数据。

例如,在一具体实施例中,假设筛选出的目标客户端有“客户端预设标识信息:002,状态情况:空闲状态,可承接量:100%”、“客户端预设标识信息:003,状态情况:空闲状态,可承接量:80%”和“客户端预设标识信息:004,状态情况:正常状态,可承接量:60%”,计算这三个目标客户端的的可承接量之间的比例,即100%:80%:60%=5:4:3。假设获取到的任务数据中任务总个数为120个,根据这三个目标客户端的的可承接量之间的比例5:4:3,进行任务分配,得到的这三个目标客户端的目标任务数据分别为50个任务、40个任务和30个任务。

需要说明的是,目标任务数据中还包括了分配到的每个任务的任务类型、任务包数和每个任务的预设任务标识等任务属性,便于后续步骤对目标任务数据的处理或管理。

s303:服务端将每个目标任务数据与其对应的目标客户端的预设标识信息,组成每个目标客户端的目标任务信息。

例如,在一具体实施例中,继续使用步骤s302的例子,三个目标客户端的预设标识信息分别为“客户端预设标识信息:002”、“客户端预设标识信息:003”和“客户端预设标识信息:004”,三个目标客户端的目标任务数据分别为50个任务、40个任务和30个任务,将每个目标任务数据与其对应的目标客户端的预设标识信息进行组合,得到三个目标客户端的目标任务信息分别为“客户端预设标识信息:002,目标任务数据:50个任务”、“客户端预设标识信息:003,目标任务数据:40个任务”和“客户端预设标识信息:004,目标任务数据:30个任务”。

在本实施例中,通过根据状态数据包含的设备状态,筛选出设备状态为空闲状态的客户端和设备状态为正常状态的客户端,作为目标客户端,然后,根据每个目标客户端的的可承接量之间的比例,对任务数据进行分配,得到每个目标客户端对应的目标任务数据,并将每个目标任务数据与其对应的目标客户端的预设标识信息,组成每个目标客户端的目标任务信息,为了实现任务数据的均衡分配,使得目标客户端负载均衡,减少服务端的数据处理负担,从而提高对图像数据的处理效率。

在一实施例中,如图5所示,在步骤s5中,即客户端基于图像处理算法,对接收到的服务端发送的目标任务信息进行处理,得到任务处理结果具体包括如下步骤:

s501:客户端按照目标任务信息中的目标任务数据的每个目标任务的包数的从大到小的顺序,对目标任务设置优先级。

具体地,在客户端接收到服务端发送的目标任务信息之后,客户端可以优先处理复杂度高,运算量大的任务,能够在一定程度上加快对目标任务信息的处理进程,从而提高对图像数据的处理效率,本实施例通过获取到的目标任务数据,按照该目标任务数据的每个目标任务的包数的从大到小的顺序,对目标任务设置优先级,以使后续目标客户端优先处理优先级高的目标任务。

例如,在一具体实施例中,假设一目标客户端“预设标识信息:006”,接收到的目标任务信息中目标任务数据为3个目标任务,这3个目标任务的包数分别为“任务1为200k”、“任务2为300k”和“任务3为400k”,按照这3个目标任务的包数的从大到小的顺序,对目标任务设置优先级,即有400k>300k>200k,得到任务3优先于任务2优先于任务1的优先级。

s502:客户端按照预设的定时任务,启动客户端的对象类别扩充组件,并根据对象类别扩充组件中的图像处理算法,按照优先级,对目标任务进行处理,得到任务处理结果。

具体地,预设的定时任务具体可以是按照预设的时间间隔启动客户端的对象类别扩充组件,优选地,时间间隔可以设置为1分钟、30秒或10秒,但并不限于此,其具体可以根据实际应用的需要进行设置,此处不做限制。其中,客户端的对象类别扩充组件,如ocx组件、可执行程序(exefile,exe)组件或延迟锁相环(delay-lockedloop,dll)组件等,本实施例通过启用预先封装有多种图像处理算法的ocx组件,根据获取到的目标任务的优先级,优先处理级别最优的目标任务,客户端根据获取到的该目标任务的任务类型和任务包数,在ocx组件中调用与该任务类型和该任务包数相适配的图像处理算法进行数据处理,的该目标任务的处理数据,然后,将目标任务数据中所有目标任务的处理数据、每个目标任务的预设任务标识和该目标客户端的预设标识信息进行组合,得到该目标客户端的任务处理结果。

在本实施例中,通过按照目标任务信息中的目标任务数据的每个目标任务的包数的从大到小的顺序,对目标任务设置优先级,然后,按照预设的定时任务,启动客户端的对象类别扩充组件,并根据对象类别扩充组件中的图像处理算法,按照优先级,对目标任务进行处理,得到任务处理结果,能够优先处理复杂度高,运算量大的任务,进而在一定程度上提高对目标任务的处理效率,从而提高对图像数据的处理效率。

在一实施例中,如图6所示,步骤s7中,即服务端接收每个客户端发送的任务处理结果,并按照预设的转换方式,将接收到的任务处理结果中的处理数据转换成预设的格式数据,保存至数据库中,并向中心服务器返回对图像数据处理请求的处理结果具体还包括如下步骤:

s701:服务端按照预设的数据格式,构建键值对。

具体地,在服务端接收到每个客户端发送的任务处理结果之后,为了更好地实现对每个任务处理结果中的处理数据的管理和保存,本实施例根据预设的数据格式,如json格式,由于任何支持的数据类型都可以通过json格式数据来表示,例如字符串、数字、对象、数组等,因此本实施例采用json格式数据,根据接收到的任务处理结果中的处理数据,构建键值对,其中,键值对包括键(key)是存放的数据的编号,值(value)是要存放的数据。

s702:服务端将每个任务处理结果中的每个任务的预设任务标识,作为键值对中的参数名称,并将任务处理结果中的每个任务的处理数据值作为参数名称的参数值,得到格式数据。

具体地,在服务端根据预设的数据格式,构建好任务处理结果中的处理数据适配的键值对之后,根据键值对的形式,本实施例将每个任务处理结果中的每个任务的预设任务标识,作为键值对的键(key)的存放的数据的编号,即key的参数名称,将每个任务的处理数据值作为键值对的值(value)是要存放的数据,即key的参数名称对应的value中的参数值。

例如,在一具体实施例中,假设一构建的键值对格式如:key""=value"",服务端接收到的一任务处理结果中的三个任务的预设任务标识分别为n、m和k,三个任务的处理数据值分别为1、2和3,将预设任务标识作为参数名称填入key中,将处理数据值作为参数名称的参数值填入value中,得到三个任务的格式数据分别为key"n"=value"1";key"m"=value"2";key"k"=value"3"。

在本实施例中,通过服务端按照预设的数据格式,构建键值对,然后,将每个任务处理结果中的每个任务的预设任务标识,作为键值对中的参数名称,并将任务处理结果中的每个任务的处理数据值作为参数名称的参数值,得到格式数据,实现对任何支持的数据类型的格式转换,得到统一规范的格式数据,便于服务端对格式数据的保存、调用和管理。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种基于负载均衡的图像数据处理系统,该基于负载均衡的图像数据处理系统与上述实施例中基于负载均衡的图像数据处理方法一一对应。如图7所示,该基于负载均衡的图像数据处理系统包括请求获取模块701、状态获取模块702、数据分配模块703、信息发送模块704、信息处理模块705、结果发送模块706、数据转换模块707和数据更新模块708。

各功能模块详细说明如下:

基于负载均衡的图像数据处理系统包括服务端和客户端,服务端包括:

请求获取模块701,用于接收中心服务器发送的图像数据处理请求,获取图像数据处理请求中的图像特征的任务数据;

状态获取模块702,用于获取每个客户端当前的状态数据;

数据分配模块703,用于根据获取到的每个状态数据,按照预设的分配方式,对图像特征的任务数据进行任务分配,得到每个客户端的目标任务信息;

信息发送模块704,用于按照每个客户端的预设标识信息,将每个目标任务信息发送给对应的客户端;

数据转换模块707,用于接收每个客户端发送的任务处理结果,并按照预设的转换方式,将接收到的任务处理结果中的处理数据转换成预设的格式数据,保存至数据库中,并向中心服务器返回对图像数据处理请求的处理结果。

客户端包括:

信息处理模块705,用于基于图像处理算法,对接收到的服务端发送的目标任务信息进行处理,得到任务处理结果;

结果发送模块706,用于将任务处理结果发送给服务端;

数据更新模块708,用于根据任务处理结果,更新客户端的显示设备上的页面数据。

进一步地,服务端的状态获取模块702包括:

接口获取单元7021,用于获取每个客户端的节点接口,其中,每个节点接口对应一个客户端;

数据获取单元7022,用于根据节点接口,获取每个节点接口对应的客户端当前的状态数据,以及每个客户端的预设标识信息。

进一步地,服务端的数据分配模块703包括:

设备筛选单元7031,用于根据状态数据包含的设备状态,筛选出设备状态为空闲状态的客户端和设备状态为正常状态的客户端,作为目标客户端;

任务分配单元7032,用于根据每个目标客户端的的可承接量之间的比例,对任务数据进行分配,得到每个目标客户端对应的目标任务数据;

信息组成单元7033,用于将每个目标任务数据与其对应的目标客户端的预设标识信息,组成每个目标客户端的目标任务信息。

进一步地,客户端的信息处理模块705包括:

任务排序单元7051,用于按照目标任务信息中的目标任务数据的每个目标任务的包数的从大到小的顺序,对目标任务设置优先级;

任务处理单元7052,用于按照预设的定时任务,启动客户端的对象类别扩充组件,并根据对象类别扩充组件中的图像处理算法,按照优先级,对目标任务进行处理,得到任务处理结果。

进一步地,服务端的数据转换模块707包括:

键值构建单元7071,用于按照预设的数据格式,构建键值对;

数据生成单元7072,用于将每个任务处理结果中的每个任务的预设任务标识,作为键值对中的参数名称,并将任务处理结果中的每个任务的处理数据值作为参数名称的参数值,得到格式数据。

关于基于负载均衡的图像数据处理系统的具体限定可以参见上文中对于基于负载均衡的图像数据处理方法的限定,在此不再赘述。上述基于负载均衡的图像数据处理系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于保存图像处理数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于负载均衡的图像数据处理方法。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种基于负载均衡的图像数据处理方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例基于负载均衡的图像数据处理方法的步骤,例如图2所示的步骤s1至步骤s8中服务端或者客户端执行的步骤。或者,处理器执行计算机程序时实现上述实施例中基于负载均衡的图像数据处理系统的各模块/单元的功能,例如图7所示模块701至模块708中服务端或者客户端的功能。为避免重复,这里不再赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中文本处理方法中服务端或者客户端执行的步骤,或者,该计算机程序被处理器执行时实现上述系统实施例中基于负载均衡的图像数据处理系统中中服务端或者客户端各模块/单元的功能。为避免重复,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)、dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1