基于属性来处理动作的制作方法

文档序号:9829898阅读:275来源:国知局
基于属性来处理动作的制作方法
【专利说明】
【背景技术】
[0001]可以使用分布式计算系统来实施服务。例如,可以通过基于云的体系结构使服务对于客户端为可用。可以通常基于计算系统的状态将服务请求发送给处理器资源以用于执行。例如,负载平衡器可以执行计算,以确定哪个处理器资源具有相对低的资源利用并且应当接收服务请求。
[0002]模式分析服务在服务请求的情况下可能要求相对大量的输入参数。例如,可以分析数以千计的文件来发现文件内的名称或概念。这种将由服务分析的数据的上载时间可能产生显著的时间延迟,并且因此产生对于动作集合的工作流的更长执行时间。
【附图说明】
[0003]图1、图2、图3和图4是描绘用于处理动作的示例方法的流程图。
[0004]图5和图6是描绘用于处理动作的示例系统的框图。
[0005]图7描绘其中可以实施用于处理动作的各个示例的示例环境。
【具体实施方式】
[0006]在以下描述和图中,描述了用于处理动作的系统和/或方法的一些示例实施方式。具体地描述了一些示例,以用于基于云的计算环境中并且用于数据分析。然而,应当注意至IJ,可以在各种适当的系统和应用中利用在本文描述的、处理动作的示例。具体地,用于处理动作的系统可以在利用工作流来处理动作的系统中处理动作。因此,云计算环境和数据分析服务仅仅是用于处理动作的系统和方法的潜在使用。因而,包括对特定于云计算或数据分析的要素和/或方法的任何引用来提供用于在本文描述的特定示例的上下文,除非另外指出其他。
[0007]云计算是对计算资源的共享池进行利用的分布式计算的常用形式。例如,可以在云系统内将资源的共享池分布在各机器上。包括资源共享池的计算环境可以被称为“云”。如在本文所使用的,云可以是被集中以用于计算和/或存储目的的物理和虚拟资源的任何组合。例如,云可以包括任何适当数量的单独资源、服务器和服务器群组,单独资源、服务器和服务器群组包括在虚拟机上执行的资源、服务器和/或服务器群组的虚拟实例。如在本文所使用的,云网络可以包括可由网络设备访问的任何适当数量云和/或其他网络的资源。
[0008]计算资源的池可以提供服务。如在本文所使用的,服务可以是通信、传输、信息、计算指令、软件、存贮器或者可以能够运行于云上的任何其他产品或活动的任何适当供应。月艮务的一个示例可以是确定输入数据集合的模式的模式分析服务。据说基于云的服务“在云上”执行或存在于其上。
[0009]服务可以允许动作被请求。例如,数据库服务的动作请求可以包括向数据库插入条目的插入动作、从数据库删除条目的删除动作、修改数据库中的条目的修改动作以及搜索数据库中的条目的查询动作。服务可以允许以任何适当的次序并且以任何适当的速率接收动作。例如,服务可以基于先进先出原则执行动作。可能次序混乱地或以相对无效的次序接收到请求。例如,可能在将驾驶员杂志的集合添加到数据库之前就接收到在数据库搜索术语“赛车”的请求。与其它动作请求相比,一些动作请求可能花费更长,并且可以能够与其他动作并行地操作。
[0010]如下所述的各个示例涉及基于动作的属性来处理动作。通过基于功能的属性开发工作流,可以关于其他动作请求依次地、以高效且智能的方式执行动作。
[0011]图1、图2、图3和图4是描绘用于处理动作的示例方法的流程图。参考图1,用于处理动作的示例方法通常可以包括:确定动作的属性,基于属性来评估动作的复杂度值,以及基于时间单位长度将动作定位在工作流中。如在本文所使用的,术语“包括有”和“具有”以及其变体具有与术语“包含”相同的意义。
[0012]在框102,可以确定动作的属性。动作可以是对提供服务的系统作出的任何任务、功能或者其他适当的请求。例如,列表动作可以提供当前在数据库中的所有数据的列表。属性可以是任何适当的特性、输入值、输出值、目的或者与动作相关联的其他适当的数据。例如,属性可以包括输入数据的集合、动作结果、所使用的数据库、动作类型或类别、动作组、请求动作的用户、动作历史、动作的数量、请求的时间、操作的次序、输入数据尺寸、结果尺寸、和/或与以上之一相关联的特性。属性可以间接地与动作有关并且可以与系统状态无关,诸如与执行动作的系统的资源利用无关。
[0013]动作请求或执行服务的动作的请求可以包含属性。例如,属性可以基于动作请求的输入参数。可以通过检查动作请求来确定属性。例如,可以通过解析动作请求和/或解释动作请求来确定属性。解析动作请求可以包括划分请求的字符。例如,可以从可以采取“Search(Docl ,email)”的形式的、针对术语“email”的搜索动作请求中解析出“Docl”的输入参数和“Search”的动作类型。解释动作请求可以包括分析和/或预测动作请求。例如,与列出要搜索的文献的名称或其他属性的动作请求相比,搜索动作请求可以具有相对高的操作度。可以由检查逻辑基于预先确定的编程、动作请求以及处理系统中的至少一种来确定属性。例如,系统可以理解可以接收哪些动作请求以及什么属性可以与每个动作相关联。
[0014]在框104,可以基于属性并且与系统状态无关地评估动作的复杂度值。复杂度值可以是数字、字符、类别、标签或者用于表示动作的复杂程度的任何其他适当的数据。复杂程度可以与动作的属性相关联。例如,复杂度值可以包括以下中的至少一种:与动作所执行的操作的次序(或操作的程度)有关的计算值、与动作所使用的输入数据或其他数据的尺寸有关的数据尺寸值,以及与动作所返回的结果的尺寸有关的结果尺寸值。可以通过基于动作的属性比较、分类、映射、测试、或以另外方式分析动作请求来评估复杂度值。
[0015]可以通过评定动作的属性来评估复杂度值。例如,可以测试操作的次序,或者数据尺寸可以在一范围内以确定输入数据是大的、中等还是小的。评定可以以对属性的类型、字符和/或值进行分类、估计、分析、预测、测试、或以另外方式判断的形式出现。可以基于预先确定的编程、动作请求以及处理系统中的至少一种,根据评估逻辑来评估复杂度值。例如,系统可以理解哪些属性可以存在、与每个属性有关的复杂程度,以及属性可以如何影响每个动作的复杂度以确定复杂度值。
[0016]复杂度值可以与系统状态或用于处理(或执行)动作的系统的状态无关地描述动作的复杂程度。例如,操作的次序可以是用于描述动作复杂度的属性,并且可以在不考虑系统的状态的情况下通过操作的次序来描述动作的执行复杂度。在不考虑系统状态的情况下使用属性确定复杂度值可以允许工作流是高效的,而无需考虑可以执行动作的系统。例如,在基于云的计算系统中,可以将工作流发送到云以用于以优化的方式执行,其中云可以处理适当的负载均衡。然后可以进一步修改工作流,而考虑系统状态,如在与图2-6相关联的描述中更详细地讨论的。
[0017]在框106,可以基于用于执行动作的时间单位长度来将动作定位在工作流中。时间单位长度可以表示动作的执行时间,如在与图2-6相关联的描述中在下面且更详细地讨论的。工作流可以是用于确定系统可以如何执行动作集合的分类或结构的任何适当的形式。例如,工作流可以包括用于执行动作集合的模式。模式可以是动作集合的排列以及序列。例如,模式可以是线性顺序的模式或可以包括并行地执行动作集合的分支排列。模式可以包括执行次序中的位置。模式可以包括多个动作的多个位置。可以基于诸如相关性的约束以及诸如用于并行处理的无关性来安排位置。可以组织工作流,以通过高效的方式执行动作。例如,工作流可以描述二分支模式,其在对于数据库查询的动作请求在第二分支上执行的同时在第一分支上执行对于数据插入的动作请求。
[0018]执行的模式可以基于复杂度值。例如,模式中位置的排列可以描述在无关动作之后的相关动作的执行,并且可以描述在高复杂度的动作可以在第二分支上执行的同时低复杂度的动作可以在模式的第一分支上执行。模式可以包括用于执行在运行时间创建的或以另外在运行时间动态地修改的动作和排列的集合的任何预先确定的解决方案。
[0019]如所提到的,时间单位长度可以表示动作的执行时间。例如,时间单位长度可以是表示可以用于执行动作的时间的、时间单位的数量。时间单位可以是由软件、用户、查询或者系统为了表示时间段所指定的任何适当的值、标签或其他数据。例如,时间单位可以表示一秒的十分之一或平均处理器周期的一时间段。时间单位长度可以是任何值,或基于时间单位的其他数据。时间单位可以与实际的执行时间和/或系统状态无关,以允许时间单位长度在各动作之间是可比较的。例如,第一动作的时间单位长度可以是与第二动作的时间单位长度可比较的。动作的时间单位长度可以基于复杂度值。例如,复杂度值可以用于在时间单位长度表格中查找近似的时间单位长度。时间单位长度可以是与系统状态
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1