图片处理方法及其系统的制作方法

文档序号:7778538阅读:178来源:国知局
图片处理方法及其系统的制作方法
【专利摘要】本发明公开一种图片处理方法及其系统,其中所述图片处理方法包括:获取预先存储的图片处理请求;根据所获取的所述图片处理请求产生图片处理任务组,其中,所述图片处理任务组具有对应的组处理状态;根据所述组处理状态控制所述图片处理任务组进行图片处理。通过本发明,能够稳定地支持海量(千万级别)的图片请求处理。
【专利说明】图片处理方法及其系统
【技术领域】
[0001]本发明涉及图片处理【技术领域】,尤其是一种图片处理方法及其系统。
【背景技术】
[0002]随着多媒体技术和计算机网络技术的迅猛发展,对Web服务器的请求也大量增力口。在实际工作中,Web服务器接收到的请求中包括对多种不同资源的请求。其中,图片处理请求占有较大的比重。
[0003]现今的网络中,常常需要传输或处理大量的图片信息。例如在网络上搜寻图片时,服务器会将所搜寻到的图片信息传送到使用者终端的显示屏上显示。大量的图片处理请求会降低系统和网络运行效率,如果不及时进行处理,将导致网络服务质量下降。
[0004]有鉴于此,往往通过增加服务器的方式提升图片请求处理能力。但是,如何使扩充的服务器集群稳定处理请求、使服务器集群能够处理海量(千万级别)的图片请求是目前需要解决的问题。

【发明内容】

[0005]本发明的主要目的在于提供一种图片处理方法及其系统,以解决现有技术中存在的无法有效地提升服务器集群处理海量图片请求能力的问题。
[0006]为了解决上述问题,根据本发明的一个方面提供一种图片处理方法,其包括:获取预先存储的图片处理请求;根据所获取的所述图片处理请求产生图片处理任务组,其中,所述图片处理任务组具有对应的组处理状态;根据所述组处理状态控制所述图片处理任务组进行图片处理。
[0007]其中,所述图片处理任务组的组处理状态包括:开始状态、初始化状态、部分完成状态、等待回调状态、回调成功状态、结束状态。
[0008]其中,所述方法还包括:提供状态机,通过所述状态机管理所述图片处理任务组的组处理状态。
[0009]其中,所述方法还包括:设置所述图片处理任务组在多个组处理状态之间的转换条件;当符合所述转换条件时,所述状态机控制所述图片处理任务组转换至相应的组处理状态。
[0010]其中,所述方法还包括:所述图片处理任务组中包括多个图片处理子任务,其中,每个图片处理子任务具有对应的子任务处理状态;根据所述子任务处理状态控制所述图片处理子任务进行图片处理。
[0011]其中,所述图片处理子任务的子任务处理状态包括:图片抓取完成状态、图片处理完成状态。
[0012]其中,在所述获取预先存储的图片处理请求的步骤之前,所述方法还包括:自请求方接收图片处理请求,将所述图片处理请求存储在设置的请求池中;所述获取预先存储的图片处理请求的步骤,包括:根据当前工作负载从所述请求池中获取图片处理请求。[0013]根据本发明的另一个方面还提供一种图片处理系统,其包括:获取模块,用于获取预先存储的图片处理请求;生成模块,用于根据所获取的所述图片处理请求产生图片处理任务组,其中,所述图片处理任务组具有对应的组处理状态;第一控制模块,用于根据所述组处理状态控制所述图片处理任务组进行图片处理。
[0014]其中,所述图片处理任务组的组处理状态包括:开始状态、初始状态、部分完成状态、等待回调状态、回调成功状态、结束状态。
[0015]其中,所述系统还包括:状态机模块,用于管理所述图片处理任务组的组处理状态。
[0016]其中,所述系统还包括:转换条件设置模块,用于设置所述图片处理任务组在多个组处理状态之间的转换条件;所述状态机模块还用于,在符合所述转换条件时,控制所述图片处理任务组转换至相应的组处理状态。
[0017]其中,所述图片处理任务组中包括多个图片处理子任务,其中,每个图片处理子任务具有相对应的子任务处理状态;所述系统还包括:第二控制模块,用于根据所述子任务处理状态控制所述图片处理子任务进行图片处理。
[0018]其中,所述图片处理子任务的子任务处理状态包括:图片抓取完成状态、图片处理完成状态。
[0019]其中,所述系统还包括:接收模块,用于接收来自请求方的图片处理请求;存储模块,用于将所述图片处理请求存储在设置的请求池中;所述获取模块还用于根据当前工作负载从所述请求池中获取图片处理请求。
[0020]根据本发明的技术方案,通过图片处理任务组的组处理状态,控制图片处理任务组进行图片处理,能够方便地扩充服务器集群,从而能够稳定地支持海量(千万级别)的图片请求处理。
[0021]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】

【附图说明】
[0022]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0023]图1是根据本发明实施例的图片处理方法的流程图
[0024]图2是根据本发明实施例的状态机控制图片处理任务组的组处理状态的示意图;
[0025]图3是根据本发明实施例的状态机控制图片处理子任务的子任务处理状态的示意图;
[0026]图4是根据本发明一个实施例的图片处理系统的结构框图;
[0027]图5是根据本发明另一实施例的图片处理系统的结构框图;
[0028]图6是根据本发明再一实施例的图片处理系统的结构框图。
【具体实施方式】[0029]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0030]参考图1,图1是根据本发明实施例的图片处理方法的流程图,所述方法至少包括以下步骤:
[0031]步骤S102,获取预先存储的图片处理请求。
[0032]接收来自请求方的图片处理请求(REQ),并将该图片处理请求封装为服务器能够识别的http报文。本文中提到的图片包括但不限于各种格式的图像和图形,本发明对此不限制。
[0033]如果接收到大量的图片处理请求,不加以限制地对大量的图片直接进行处理,如果后续的图片处理环节的处理能力不足有可能发生过载情况。为了避免这种情况发生,可以预先设置一请求池(ReqPool),将接收到的图片处理请求存储在该请求池中,然后根据当前工作负载(或处理能力)从所述请求池中读取图片处理请求,这样就能够避免在接收到大量图片处理请求后由于处理能力不足发生的过载情况。在从请求池中读取图片处理请求时,可以根据先进先出的顺序进行读取,以保证较早接收到的请求优先处理。
[0034]步骤S104,根据所获取的图片处理请求产生图片处理任务组,其中,所述图片处理任务组具有对应的组处理状态。
[0035]图片处理任务组的组处理状态用于表示该组整体的处理状态,所述图片处理任务组的组处理状态例如可以包括:开始状态、初始化状态、部分完成状态、等待回调状态、回调成功状态、结束状态。
[0036]随着对图片处理任务组的处理状态的变化,图片处理任务组的组处理状态在上述各个状态之间跳转。通过图片处理任务组的组处理状态,能够了解图片处理任务组当前所处的处理状态。
[0037]在本发明的一个实施例中,每个图片处理任务组中包括多个图片处理子任务,其中,每个图片处理子任务具有对应的子任务处理状态,图片处理子任务的子任务处理状态用于表示每个子任务的具体处理状态,所述子任务处理状态例如可以包括:图片抓取完成状态、图片处理完成状态。
[0038]步骤S106,根据所述组处理状态控制图片处理任务组进行图片处理。
[0039]在实际中,当根据所获取的图片处理请求产生一组图片处理任务组后,指派相关的服务器、并在设置的状态机管理下对所述图片处理任务组进行图片处理。所述状态机管理图片处理任务组的组处理状态,当符合预设的转换条件时,图片处理任务组在状态机的控制下转换至相应的组处理状态。
[0040]下面结合图2详细描述组处理状态的跳转过程。图2是根据本发明实施例的状态机控制图片处理任务组的组处理状态的示意图。参考图2,图片处理任务组包括如下的组处理状态:
[0041]S1:开始状态;
[0042]S2:初始化状态;
[0043]S3:部分完成状态;[0044]S4:等待回调状态;
[0045]S5:回调成功状态;
[0046]S6:结束状态。
[0047]设置图片处理任务组在组处理状态之间的转换条件如下:
[0048]Cl:添加处理任务成功;
[0049]C2:完成一个子任务;
[0050]C3:至少有一个子任务未完成;
[0051]C4:全部子任务完成;
[0052]C5:回调失败且未超过一次数阈值;
[0053]C6:回调请求成功
[0054]C7:超过一时间阈值未处理;
[0055]C8:添加任务全部失败。
[0056]具体地,在状态机的控制下跳转流程包括:添加该图片处理任务组中的多个图片处理的子任务成功(条件Cl ),此时状态机的状态由开始状态SI转换到初始化状态S2。当有一个子任务完成(条件C2),则状态机的状态由初始化状态S2转换到部分完成状态S3。当还有子任务未完成(条件C3),则状态机的状态一直维持在部分完成状态S3。
[0057]当该组子任务全部完成时(条件C4),状态机的状态由部分完成状态S3转换到等待回调状态S4。如果在等待回调状态S4,回调请求失败且未超过一次数阈值(条件C5),则状态机的状态维持在等待回调状态S4。当回调请求成功时(条件C6),则状态机的状态由等待回调状态S4转换到回调成功状态S5。然后,状态机的状态由回调成功状态S5转换到结束状态S6。
[0058]当超过一时间阈值未处理时(条件C7),则状态机的状态会从状态S2、S3、或S4转换到结束状态S6。需要说明,每个状态的时间阈值可以设置为相同或不同。
[0059]另外,当开始后添加任务全部失败(条件C8),则状态机的状态由开始状态SI直接转换到结束状态S6。
[0060]通过状态机统一管理处理过程,如果在某个环节处理失败,能够从该环节开始重新处理。
[0061]在本发明的一个实施例中,不仅图片处理任务组具有对应的组处理状态,该组中包括的多个图片处理子任务也具有对应的子任务处理状态。图片处理子任务的子任务处理状态用于表示该子任务的处理状态,所述子任务处理状态例如可以包括:图片抓取完成状态、图片处理完成状态。根据子任务处理状态可以控制图片处理子任务进行图片处理。
[0062]下面结合图3详细描述子任务处理状态的跳转过程。参考图3,图片处理子任务包括如下的子任务处理状态:
[0063]S1:开始状态;
[0064]S2:初始化状态;
[0065]S3:抓取完成状态;
[0066]S4:处理完成状态;
[0067]S5:检查同任务组其他任务状态。
[0068]设置图片处理子任务在子任务处理状态之间的转换条件如下:[0069]Cl:抓取成功;
[0070]C2:抓取失败;
[0071]C3:超过一时间阈值未处理。
[0072]具体地,在状态机的控制下跳转流程包括:开始后状态机的状态由开始状态SI转换到初始化状态S2。初始化后进行图片抓取,状态机的状态由初始化状态S2转换到抓取完成状态S3。当处理成功(条件Cl),则状态机的状态由抓取完成状态S3转换到处理完成状态S4。当处理失败(条件C2),则状态机的状态由抓取完成状态S3转换到检查同任务组其他任务状态S5。
[0073]当超过一时间阈值未处理时(条件C3),则状态机的状态会从状态SI或S2转换到检查同任务组其他任务状态S5。
[0074]通过状态机控制图片处理任务组的组处理状态、以及结合控制图片处理子任务的子任务处理状态,能够对大量图片请求进行处理。
[0075]参考图4,图4是根据本发明一个实施例的图片处理系统的结构框图,如图所示,该系统至少包括:获取模块410、生成模块420和第一控制模块430,下面详细描述各模块的结构和连接关系。
[0076]获取模块410,用于获取预先存储的图片处理请求;
[0077]生成模块420,用于根据所获取的所述图片处理请求产生图片处理任务组,其中,所述图片处理任务组具有对应的组处理状态。所述图片处理任务组的组处理状态例如可以包括:开始状态、初始状态、部分完成状态、等待回调状态、回调成功状态、结束状态。
[0078]第一控制模块430,用于根据所述组处理状态控制所述图片处理任务组进行图片处理。
[0079]参考图5,图5是根据本发明另一实施例的图片处理系统的结构框图,如图所示,该系统包括有:获取模块510、生成模块520、第一控制模块530、转换条件设置模块540和状态机模块550。
[0080]其中,获取模块510、生成模块520、第一控制模块530分别与图4所示的获取模块410、生成模块420、第一控制模块430类似,不再赘述。
[0081]转换条件设置模块540用于设置图片处理任务组在多个组处理状态之间的转换条件。
[0082]状态机模块550用于管理所述图片处理任务组的组处理状态。具体地,在符合转换条件设置模块540设置的转换条件时,状态机模块550控制所述图片处理任务组转换至相应的组处理状态。
[0083]在本发明的一个实施例中,每个图片处理任务组中可以包括多个图片处理子任务,其中,每个图片处理子任务具有相对应的子任务处理状态,子任务处理状态例如可以包括:图片抓取完成状态、图片处理完成状态。
[0084]所述图片处理系统还包括有第二控制模块(图中未示),用于根据所述子任务处理状态控制所述图片处理子任务进行图片处理。在实际实施中,第二控制模块可以和第一控制模块合一设置。
[0085]参考图6,图6是根据本发明再一实施例的图片处理系统的结构框图,如图所示,该系统包括有:获取模块610、生成模块620、第一控制模块630、接收模块640和存储模块650。
[0086]其中,获取模块610、生成模块620、第一控制模块630分别与图4所示的获取模块410、生成模块420、第一控制模块430类似,不再赘述。
[0087]接收模块640用于接收来自请求方的图片处理请求。存储模块650用于将所述图片处理请求存储在设置的请求池中。获取模块610还用于根据当前工作负载从所述请求池中获取图片处理请求。
[0088]本发明的方法的操作步骤与系统的结构特征对应,可以相互参照,不再一一赘述。
[0089]综上所述,根据本发明的技术方案,根据本发明的技术方案,通过图片处理任务组的组处理状态,控制图片处理任务组进行图片处理,能够方便地扩充服务器集群,从而能够稳定地支持海量(千万级别)的图片请求处理。
[0090]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0091]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0092]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0093]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0094]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利`要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0095]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的图片处理系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0096]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0097]本发明申请公开了 Al、一种图片处理方法,包括:获取预先存储的图片处理请求;根据所获取的所述图片处理请求产生图片处理任务组,其中,所述图片处理任务组具有对应的组处理状态;根据所述组处理状态控制所述图片处理任务组进行图片处理。A2、根据Al所述的方法,其中,所述图片处理任务组的组处理状态包括:开始状态、初始化状态、部分完成状态、等待回调状态、回调成功状态、结束状态。A3、根据A2所述的方法,其中,还包括:提供状态机,通过所述状态机管理所述图片处理任务组的组处理状态。A4、根据A3所述的方法,其中,还包括:设置所述图片处理任务组在多个组处理状态之间的转换条件;当符合所述转换条件时,所述状态机控制所述图片处理任务组转换至相应的组处理状态。A5、根据Al所述的方法,其中,还包括:所述图片处理任务组中包括多个图片处理子任务,其中,每个图片处理子任务具有对应的子任务处理状态;根据所述子任务处理状态控制所述图片处理子任务进行图片处理。A6、根据A5所述的方法,其中,所述图片处理子任务的子任务处理状态包括:图片抓取完成状态、图片处理完成状态。A7、根据Al所述的方法,其中,在所述获取预先存储的图片处理请求的步骤之前,所述方法还包括:自请求方接收图片处理请求,将所述图片处理请求存储在设置的请求池中;所述获取预先存储的图片处理请求的步骤,包括:根据当前工作负载从所述请求池中获取图片处理请求。
[0098]本发明申请还公开了 B8、一种图片处理系统,包括:获取模块,用于获取预先存储的图片处理请求;生成模块,用于根据所获取的所述图片处理请求产生图片处理任务组,其中,所述图片处理任务组具有对应的组处理状态;第一控制模块,用于根据所述组处理状态控制所述图片处理任务组进行图片处理。B9、根据B8所述的系统,其中,所述图片处理任务组的组处理状态包括:开始状态、初始状态、部分完成状态、等待回调状态、回调成功状态、结束状态。B10、根据B9所述的系统,其中,还包括:状态机模块,用于管理所述图片处理任务组的组处理状态。B11、根据BlO所述的系统,其中,还包括:转换条件设置模块,用于设置所述图片处理任务组在多个组处理状态之间的转换条件;所述状态机模块还用于,在符合所述转换条件时,控制所述图片处理任务组转换至相应的组处理状态。B12、根据B8所述的系统,其中,所述图片处理任务组中包括多个图片处理子任务,其中,每个图片处理子任务具有相对应的子任务处理状态;所述系统还包括:第二控制模块,用于根据所述子任务处理状态控制所述图片处理子任务进行图片处理。B13、根据B12所述的系统,其中,所述图片处理子任务的子任务处理状态包括:图片抓取完成状态、图片处理完成状态。B14、根据B8所述的系统,其中,还包括:接收模块,用于接收来自请求方的图片处理请求;存储模块,用于将所述图片处理请求存储在设置的请求池中;所述获取模块还用于根据当前工作负载从所述请求池中获取图片处理请求。
【权利要求】
1.一种图片处理方法,其特征在于,包括: 获取预先存储的图片处理请求; 根据所获取的所述图片处理请求产生图片处理任务组,其中,所述图片处理任务组具有对应的组处理状态; 根据所述组处理状态控制所述图片处理任务组进行图片处理。
2.根据权利要求1所述的方法,其特征在于,所述图片处理任务组的组处理状态包括:开始状态、初始化状态、部分完成状态、等待回调状态、回调成功状态、结束状态。
3.根据权利要求2所述的方法,其特征在于,还包括: 提供状态机,通过所述状态机管理所述图片处理任务组的组处理状态。
4.根据权利要求3所述的方法,其特征在于,还包括: 设置所述图片处理任务组在多个组处理状态之间的转换条件; 当符合所述转换条件时,所述状态机控制所述图片处理任务组转换至相应的组处理状态。
5.根据权利要求1所述的方法,其特征在于,还包括: 所述图片处理任务组中包括多个图片处理子任务,其中,每个图片处理子任务具有对应的子任务处理状态; 根据所述子任务处理状态控制所述图片处理子任务进行图片处理。
6.根据权利要求5所述的方法,其特征在于,所述图片处理子任务的子任务处理状态包括:图片抓取完成状态、图片处理完成状态。
7.根据权利要求1所述的方法,其特征在于,在所述获取预先存储的图片处理请求的步骤之前,所述方法还包括: 自请求方接收图片处理请求,将所述图片处理请求存储在设置的请求池中; 所述获取预先存储的图片处理请求的步骤,包括:根据当前工作负载从所述请求池中获取图片处理请求。
8.一种图片处理系统,其特征在于,包括: 获取模块,用于获取预先存储的图片处理请求; 生成模块,用于根据所获取的所述图片处理请求产生图片处理任务组,其中,所述图片处理任务组具有对应的组处理状态; 第一控制模块,用于根据所述组处理状态控制所述图片处理任务组进行图片处理。
9.根据权利要求8所述的系统,其特征在于,所述图片处理任务组的组处理状态包括:开始状态、初始状态、部分完成状态、等待回调状态、回调成功状态、结束状态。
10.根据权利要求9所述的系统,其特征在于,还包括: 状态机模块,用于管理所述图片处理任务组的组处理状态。
【文档编号】H04L29/06GK103617040SQ201310632152
【公开日】2014年3月5日 申请日期:2013年11月29日 优先权日:2013年11月29日
【发明者】杨涛, 吕本伟 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1