CN103299298B - 处理业务的方法和*** - Google Patents
处理业务的方法和*** Download PDFInfo
- Publication number
- CN103299298B CN103299298B CN201180003695.3A CN201180003695A CN103299298B CN 103299298 B CN103299298 B CN 103299298B CN 201180003695 A CN201180003695 A CN 201180003695A CN 103299298 B CN103299298 B CN 103299298B
- Authority
- CN
- China
- Prior art keywords
- tupe
- attribute
- processing unit
- business
- processing
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 163
- 238000000638 solvent extraction Methods 0.000 claims description 21
- 238000007726 management method Methods 0.000 claims description 8
- 238000013316 zoning Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 6
- 238000005192 partition Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种处理业务的方法和***。该方法包括:确定用于处理业务的第一步骤的处理模式属性,该第一步骤的处理模式属性包括批处理模式或流处理模式;根据该第一步骤的处理模式属性,创建与该第一步骤的处理模式属性相应的第一处理单元,以处理该第一步骤。该***包括调度模块和节点管理模块,该调度模块包括第一确定单元,该节点管理模块包括第一创建单元。本发明实施例的处理业务的方法和***,通过根据用于处理业务的各步骤的处理模式属性,创建与该处理模式属性相应的处理单元以执行各步骤,使得业务的处理方式更加灵活,从而能够以批处理和流处理相结合的方式处理业务,由此能够提高***的处理效率,提高***的性能,并能够提高用户的体验。
Description
技术领域
本发明涉及信息技术领域,尤其涉及信息技术领域中处理业务的方法和***。
背景技术
并行转码通常由分片、转码、合并三个步骤(STEP)组成,其中分片步骤用于对用户输入的文件进行分割,生成小片视频文件;转码步骤用于对经过分片后输出的小视频文件进行格式转换;合并步骤用于对同一个视频文件的所有经过转码后的分片进行合并。
在目前的云映射简化(Cloud Map Reduce,简称为“CMR”)框架下,并行转码由分片、转码、合并三个步骤组成。用户的输入文件首先经过分片步骤,生成键值对(KEY,VALUE)并注入转码处理单元(WORKER)的输入队列(INPUT QUEUE),其中键(KEY)为文件名,值(VALUE)为分片后的小片视频文件的存储位置;转码处理单元从输入队列获取数据,并在完成转码后生成键值对输出;CMR框架收集该键值对后,按照设定的分区算法将该键值对注入到对应的简化队列(REDUCE QUEUE)。
当所有分片的转码处理单元都执行完格式转换后,启动合并处理单元。该合并处理单元从主简化队列(MASTER REDUCE QUEUE)获取简化队列,再获取简化队列中的键值对(KEY,VALUE),以执行合并功能。
按照目前的CMR框架,必须要在所有转码处理单元完成格式转换之后才能启动合并过程,业务的处理方式单一,不灵活,导致***的处理效率较低。因此当用户同时提交了多个视频文件转码时,由于转码过程耗时很长,严重影响了***的处理效率和***的性能。另一方面,使用CMR模式需要将数据存储到队列中,再从队列中读出,尤其对于合并过程而言,需要对队列进行两次读取才能获取到数据,从而也严重影响***的性能。
因此,需要一种合适的方案,能够提高处理业务的***的性能。
发明内容
本发明实施例提供了一种处理业务的方法和***,能够提高***的处理效率。
一方面,本发明实施例提供了一种处理业务的方法,该方法包括:确定用于处理业务的第一步骤的处理模式属性,该第一步骤的处理模式属性包括批处理模式或流处理模式,该第一步骤为用于处理该业务的步骤中的任意一个步骤;根据该第一步骤的处理模式属性,创建与该第一步骤的处理模式属性相应的第一处理单元,以处理该第一步骤。
另一方面,本发明实施例提供了一种处理业务的***,该***包括调度模块和节点管理模块,该调度模块包括:第一确定单元,用于确定用于处理业务的第一步骤的处理模式属性,该第一步骤的处理模式属性包括批处理模式或流处理模式,该第一步骤为用于处理该业务的步骤中的任意一个步骤;该节点管理模块包括:第一创建单元,用于根据该第一步骤的处理模式属性,创建与该第一步骤的处理模式属性相应的第一处理单元,以处理该第一步骤。
基于上述技术方案,本发明实施例的处理业务的方法和***,通过根据用于处理业务的各步骤的处理模式属性,创建与该处理模式属性相应的处理单元以执行各步骤,使得业务的处理方式更加灵活,更加多样化,从而能够以批处理和流处理相结合的方式处理业务,由此能够提高***的处理效率,提高***的性能,并能够提高用户的体验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的处理业务的方法的示意性流程图。
图2是根据本发明实施例的处理业务的方法的另一示意性流程图。
图3是根据本发明实施例的创建处理单元的方法的示意性流程图。
图4是根据本发明实施例的处理业务的方法的再一示意性流程图。
图5是根据本发明实施例的处理业务的方法的再一示意性流程图。
图6是根据本发明实施例的处理业务的方法的再一示意性流程图。
图7是根据本发明实施例的处理业务的方法的再一示意性流程图。
图8是根据本发明实施例的处理业务的***的示意性框图。
图9是根据本发明实施例的调度模块的示意性框图。
图10是根据本发明实施例的第一创建单元的示意性框图。
图11是根据本发明实施例的处理业务的***的另一示意性框图。
图12是根据本发明实施例的处理业务的***的再一示意性框图。
图13是根据本发明实施例的处理业务的***的再一示意性框图。
图14是根据本发明实施例的处理业务的***的再一示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1示出了根据本发明实施例的处理业务的方法100的示意性流程图。如图1所示,该方法100包括:
S110,确定用于处理业务的第一步骤的处理模式属性,该第一步骤的处理模式属性包括批处理模式或流处理模式,该第一步骤为用于处理该业务的步骤中的任意一个步骤;
S120,根据该第一步骤的处理模式属性,创建与该第一步骤的处理模式属性相应的第一处理单元,以处理该第一步骤。
处理业务的***对于待处理的业务,可以确定用于处理业务的其中一个步骤的处理模式属性,从而处理业务的***可以根据该步骤的处理模式属性,创建与该步骤的处理模式相应的处理单元(Worker)。其中,该处理模式属性包括批处理(Batch)模式或流处理(Streaming)模式,从而处理业务的***能够以批处理和流处理相结合的方式处理该业务。
因此,本发明实施例的处理业务的方法,通过根据用于处理业务的各步骤的处理模式属性,创建与该处理模式属性相应的处理单元以执行各步骤,使得业务的处理方式更加灵活,更加多样化,从而能够以批处理和流处理相结合的方式处理业务,由此能够提高***的处理效率,提高***的性能,并能够提高用户的体验。
例如,对于并行转码业务而言,如果合并步骤的处理模式属性设置为流处理模式,那么***可以根据该流处理模式,创建用于处理合并步骤的流处理单元(Streaming Worker)。从而,该合并步骤的流处理单元可以采用流处理模式对业务进行处理,并在接收到上一步骤的处理单元发送的键值对(Key,Value)时,就可以开始业务的处理,而不用等待上一步骤的处理单元全部完成之后才能执行。因此,本发明实施例的方法使得业务的处理方式更加灵活,更加多样化,能够提高***的处理效率,从而能够提高***的性能,并由此能够提高用户的体验。
在S110中,处理业务的***确定第一步骤的处理模式属性。
应理解,该第一步骤是用于处理业务的步骤中的任意一个步骤,例如,该第一步骤可以是用于处理业务的起始步骤,或最后一个步骤,该第一步骤也可以是用于处理业务的一个中间步骤,本发明实施例并不限于此。
在本发明实施例中,处理业务的***可以根据用户发送的业务请求,确定第一步骤的处理模式属性;处理业务的***也可以根据第一步骤之前的一个步骤的输出方式,确定该第一步骤的处理模式属性。下面将结合图2,对上述两种情况分别进行描述。
如图2所示,根据本发明实施例的处理业务的方法100还可以包括:
S130,接收用户发送的用于请求处理业务的业务请求,该业务请求包括用于处理该业务的每个步骤的处理模式属性;
此时,S110包括:根据该业务请求,确定用于处理该业务的第一步骤的处理模式属性。
例如,用户可以通过业务模板向***发送业务请求,该业务模块可以显式指示用于处理该业务的各步骤的处理模式属性,由此***根据该业务请求,可以确定每个步骤的处理模式属性。
另一方面,处理业务的***也可以根据紧接该第一步骤之前的一个步骤的输出方式是否采用分区(Partition)输出方式,确定该第一步骤的处理模式属性。具体而言,当该第一步骤的上一步骤的输出方式为分区输出时,可以确定该第一步骤的处理模式属性为流处理模式;当该第一步骤的上一步骤的输出方式未使用分区方式时,可以确定该第一步骤的处理模式属性为批处理模式。
在S120中,处理业务的***创建与该第一步骤的处理模式属性相应的第一处理单元。
在本发明实施例中,处理模式属性包括批处理模式和流处理模式,相应地,处理业务的***可以根据步骤的处理模式属性,创建批处理单元或流处理单元。下面将结合图3所示的创建处理单元的方法120进行描述。
如图3所示,可选地,该方法120包括:
S121,在该第一步骤的处理模式属性为该批处理模式时,创建该第一处理单元包括的第一批处理单元,该第一批处理单元对输入队列中的键值对进行处理;
S122,在该第一步骤的处理模式属性为该流处理模式时,创建该第一处理单元包括的第一流处理单元,该第一流处理单元对接收的键值对进行处理。
因此,本发明实施例的处理业务的方法,通过根据用于处理业务的各步骤的处理模式属性,创建与该处理模式属性相应的处理单元以执行各步骤,使得业务的处理方式更加灵活,更加多样化,从而能够以批处理和流处理相结合的方式处理业务,由此能够提高***的处理效率,提高***的性能,并能够提高用户的体验。
在本发明实施例中,处理业务的***在根据第一步骤的处理模式属性,创建相应的第一处理单元之后,或者与此同时,还可以根据紧随该第一步骤之后的第二步骤的处理模式属性,进行相应的处理,以提高***的处理效率,提高***的性能。
下面将结合图4至图6,分别针对下面三种情况对本发明实施例进行详细描述,即第二步骤的处理模式属性为批处理模式、流处理模式以及该第一步骤为处理业务的最后一个步骤。应理解,该第二步骤是紧随用于处理业务的第一步骤之后的一个步骤,该第一步骤是用于处理业务的步骤中的任意一个步骤。
图4示出了根据本发明实施例的处理业务的方法200的示意性流程图。可选地,如图4所示,该方法200包括:
S210,在紧随该第一步骤之后的第二步骤的处理模式属性为该批处理模式时,创建该第二步骤的输入队列;
S220,将该第一处理单元的输出地址设置为该第二步骤的输入队列的地址,该第二步骤的输入队列为用于处理该第二步骤的第二批处理单元提供输入。
处理业务的***可以根据用户发送的业务请求,确定第二步骤的处理模式属性;该***也可以根据第一步骤的输出方式,确定该第二步骤的处理模式属性,具体而言:在该第一步骤的输出方式为分区输出时,确定该第二步骤的处理模式属性为该流处理模式;在该第一步骤的输出方式未使用分区方式时,确定该第二步骤的处理模式属性为该批处理模式。
当处理业务的***确定第二步骤的处理模式属性为批处理模式时,***可以创建该第二步骤的输入队列,例如请求分布式队列***创建该第二步骤的输入队列。当该输入队列创建成功时,***可以将该第一处理单元的输出地址设置为该第二步骤的输入队列的地址,该第二步骤的输入队列为用于处理该第二步骤的第二批处理单元提供输入。
应理解,当处理业务的***执行完S210、S220之后,该***可以循环执行S110、S120,以类似地方式创建用于处理该第二步骤的第二处理单元,并且还可以根据紧随该第二步骤之后的第三步骤的处理模式属性,进行相应的处理,以提高***的处理效率,提高***的性能。为了简洁,在此不再赘述。
还应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图5示出了根据本发明实施例的处理业务的方法300的示意性流程图。可选地,如图5所示,该方法300包括:
S310,在紧随该第一步骤之后的第二步骤的处理模式属性为该流处理模式时,执行设定的或默认的分区算法;
S320,根据该分区算法设定的分区个数,确定用于处理该第二步骤的第二流处理单元的数量,以便于创建与该数量相应的第二流处理单元;
S330,根据该分区算法创建分区路由信息表,以便于根据该分区路由信息表,将该第一处理单元的输出结果发送到相应的该第二流处理单元。
当处理业务的***确定第二步骤的处理模式属性为流处理模式时,***可以执行分区算法,该分区算法可以预先由用户指定,也可以采用***默认的分区算法,该分区算法例如是哈希(HASH)算法、样本分区算法等。处理业务的***根据该分区算法设定的分区个数,可以确定用于处理该第二步骤的第二流处理单元的数量,以便于创建与该数量相应的第二流处理单元。
处理业务的***根据该分区算法还可以创建分区路由信息表,以便于第一处理单元根据该分区路由信息表,将该第一处理单元的输出结果发送到相应的该第二流处理单元。该分区路由表例如可以包括分区标识,例如键Key等,也可以包括处理该分区内任务的处理单元的位置信息,例如IP地址等。该分区路由表可以保存在诸如CHUBBY的分布式协调***或服务器中。本发明实施例仅以此为例进行说明,但本发明实施例并不限于此。
在本发明实施例中,当第二步骤的处理模式属性为流处理模式时,用于处理第一步骤的第一处理单元直接将输出结果发送到用于处理第二步骤相应的第二流处理单元,不用将输出结果存储到队列中;同时,第二流处理单元对业务进行处理时,可以直接获取第一处理单元发送的输出结果,也不用频繁读取队列获取输入的数据。因此,本发明实施例的方法能够有效避免多次读取队列的问题,从而能够进一步提高***的处理效率,提高***的性能,并能够提高用户的体验。
在本发明实施例中,当该第一步骤为处理该业务的最后一个步骤时,可选地,如图6所示,根据本发明实施例的方法400包括:
S410,创建该第一步骤的输出队列;
S420,将该第一处理单元的输出地址设置为该第一步骤的输出队列的地址。
当该第一步骤为处理该业务的最后一个步骤时,处理业务的***例如请求分布式队列***创建该第一步骤的输出队列,并将该第一处理单元的输出地址设置为该第一步骤的输出队列的地址。
因此,本发明实施例的处理业务的方法,通过根据用于处理业务的各步骤的处理模式属性,创建与该处理模式属性相应的处理单元以执行各步骤,使得业务的处理方式更加灵活,更加多样化,从而能够以批处理和流处理相结合的方式处理业务,由此能够提高***的处理效率,提高***的性能,并能够提高用户的体验。
下面将以处理业务的***包括调度模块和节点管理模块为例,并结合图7对根据本发明实施例的处理业务的方法500进行详细描述。
如图7所示,该方法500包括:
S501,调度模块接收用户发送的用于请求处理并行转码业务的业务模板,该业务模板指示该并行转码业务依次包括分片步骤、转码步骤和合并步骤,其中该分片步骤的处理模式属性为批处理模式(Batch),该转码步骤的处理模式属性为批处理模式(Batch),该合并步骤的处理模式属性为流处理模式(Streaming),并且该业务模板指示该合并步骤采用的分区算法为哈希算法;调度模块通过解析该业务模板,可以确定首先处理该业务的分片步骤,并且可以确定分片步骤的处理模式属性为批处理模式;
S502,调度模块向分布式队列***请求创建分片步骤的输入队列,该分布式队列***例如为亚马逊(Amazon)简单队列服务(Simple Queue Service,简称为“SQS”)等;
S503,分布式队列***向调度模块返回创建的输入队列的地址;
S504,调度模块向节点管理模块发送请求,请求节点管理模块1为分片步骤创建批处理单元(Batch Worker),设置该批处理单元的输入队列为S503中返回的输入队列的地址,并加载用户处理程序;
S505,节点管理模块1创建成功后向调度模块返回成功响应;
S506,调度模块通过解析业务模板,可以确定在分片步骤之后需要处理转码步骤,并确定该转码步骤的处理模式属性为批处理模式;
S507,调度模块向分布式队列***请求创建转码步骤的输入队列;
S508,分布式队列***向调度模块返回创建队列的地址;
S509,调度模块请求节点管理模块1设置分片处理单元的输出模块的输出地址为S507中返回的队列地址;
S510,节点管理模块1返回设置成功响应;
S511,调度模块请求节点管理模块2为转码步骤创建批处理单元(BatchWorker),设置该Batch Worker的输入队列为S508中返回的队列地址,并加载用户处理程序;
S512,节点管理模块2创建成功后,返回成功响应;
S513,调度模块通过解析业务模板,确定最后处理合并步骤,并确定该步骤的处理模式属性为流处理模式(Streaming Worker);
S514,调度模块按照分区算法设定的分区个数确定合并步骤的处理单元(Worker)的个数;
S515,调度模块请求节点管理模块3为合并步骤创建流处理单元(Streaming Worker);
S516,节点管理模块3创建成功后,返回成功响应;
S517,调度模块创建分区路由表,并将该分区路由表存储在分布式协调协调中;
S518,调度模块请求节点管理模块2启动分区模块,以加载设定的分区算法,并设定分区路由表的访问地址;
S519,节点管理模块2返回启动成功响应;
S520,调度模块继续解析业务模板,并确定没有后续步骤时,调度模块向分布式队列***请求创建队列;
S521,分布式队列***返回创建的队列的地址;
S522,调度模块请求节点管理模块3设置合并步骤的输出模块的输出地址为S521中返回的队列地址;
S523,节点管理模块3返回设置成功响应。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
因此,本发明实施例的处理业务的方法,通过根据用于处理业务的各步骤的处理模式属性,创建与该处理模式属性相应的处理单元以执行各步骤,使得业务的处理方式更加灵活,更加多样化,从而能够以批处理和流处理相结合的方式处理业务,由此能够提高***的处理效率,提高***的性能,并能够提高用户的体验。
上文中结合图1至图7,详细描述了根据本发明实施例的处理业务的方法,下面将结合图8至图14,描述根据本发明实施例的处理业务的***。
图8示出了根据本发明实施例的处理业务的***600的示意性框图。如图8所示,该***600包括调度模块700和节点管理模块800,该调度模块700包括:
第一确定单元710,用于确定用于处理业务的第一步骤的处理模式属性,该第一步骤的处理模式属性包括批处理模式或流处理模式,该第一步骤为用于处理该业务的步骤中的任意一个步骤;
该节点管理模块800包括:
第一创建单元810,用于根据该第一步骤的处理模式属性,创建与该第一步骤的处理模式属性相应的第一处理单元,以处理该第一步骤。
因此,本发明实施例的处理业务的***,通过根据用于处理业务的各步骤的处理模式属性,创建与该处理模式属性相应的处理单元以执行各步骤,使得业务的处理方式更加灵活,更加多样化,从而能够以批处理和流处理相结合的方式处理业务,由此能够提高***的处理效率,提高***的性能,并能够提高用户的体验。
在本发明实施例中,可选地,如图9所示,该调度模块700还包括:
接收单元720,用于接收用户发送的用于请求处理该业务的业务请求,该业务请求包括用于处理该业务的每个步骤的处理模式属性;
该第一确定单元710还用于:根据该业务请求,确定该第一步骤的处理模式属性。
在本发明实施例中,可选地,如图10所示,该第一创建单元810包括:
第一创建子单元811,用于在该第一步骤的处理模式属性为该批处理模式时,创建该第一处理单元包括的第一批处理单元,该第一批处理单元对输入队列中的键值对进行处理;
第二创建子单元812,用于在该第一步骤的处理模式属性为该流处理模式时,创建该第一处理单元包括的第一流处理单元,该第一流处理单元对接收的键值对进行处理。
可选地,如图11所示,该调度模块700还包括:
第二创建单元730,用于在紧随该第一步骤之后的第二步骤的处理模式属性为该批处理模式时,创建该第二步骤的输入队列;
该节点管理模块800还包括:
第一设置单元820,用于将该第一处理单元的输出地址设置为该第二步骤的输入队列的地址,该第二步骤的输入队列为用于处理该第二步骤的第二批处理单元提供输入。
可选地,如图12所示,该节点管理模块800还包括:
分区单元830,用于在紧随该第一步骤之后的第二步骤的处理模式属性为该流处理模式时,执行设定的或默认的分区算法;
该调度模块700还包括:
第二确定单元740,用于根据该分区算法设定的分区个数,确定用于处理该第二步骤的第二流处理单元的数量,以便于创建与该数量相应的第二流处理单元;
第三创建单元750,用于根据该分区算法创建分区路由信息表,以便于根据该分区路由信息表,将该第一处理单元的输出结果发送到相应的该第二流处理单元。
可选地,如图13所述,该调度模块700还包括:
第四创建单元760,用于在该第一步骤为处理该业务的最后一个步骤时,创建该第一步骤的输出队列;
该节点管理模块800还包括:
第二设置单元840,用于将该第一处理单元的输出地址设置为该第一步骤的输出队列的地址。
在本发明实施例中,可选地,如图14所示,该调度模块700还包括:
第三确定单元770,用于在该第一步骤的输出方式为分区输出时,确定该第二步骤的处理模式属性为该流处理模式;
第四确定单元780,用于在该第一步骤的输出方式未使用分区方式时,确定该第二步骤的处理模式属性为该批处理模式。
应理解,根据本发明实施例的***600可对应于本发明实施例中的处理业务的***,并且***600中的各个模块的上述和其它操作和/或功能分别为了实现图1至图7中的各个方法100至500的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的处理业务的***,通过根据用于处理业务的各步骤的处理模式属性,创建与该处理模式属性相应的处理单元以执行各步骤,使得业务的处理方式更加灵活,更加多样化,从而能够以批处理和流处理相结合的方式处理业务,由此能够提高***的处理效率,提高***的性能,并能够提高用户的体验。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种处理业务的方法,其特征在于,包括:
确定用于处理业务的第一步骤的处理模式属性,所述第一步骤的处理模式属性包括批处理模式或流处理模式,所述第一步骤为用于处理所述业务的步骤中的任意一个步骤;
根据所述第一步骤的处理模式属性,创建与所述第一步骤的处理模式属性相应的第一处理单元,以处理所述第一步骤;
在所述第一步骤的输出方式为分区输出时,确定紧随所述第一步骤之后的第二步骤的处理模式属性为所述流处理模式;
在所述第一步骤的输出方式未使用分区方式时,确定所述第二步骤的处理模式属性为所述批处理模式。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收用户发送的用于请求处理所述业务的业务请求,所述业务请求包括用于处理所述业务的每个步骤的处理模式属性;
所述确定用于处理业务的第一步骤的处理模式属性,包括:
根据所述业务请求,确定所述第一步骤的处理模式属性。
3.根据权利要求1所述的方法,其特征在于,所述创建与所述第一步骤的处理模式属性相应的第一处理单元,包括:
在所述第一步骤的处理模式属性为所述批处理模式时,创建所述第一处理单元包括的第一批处理单元,所述第一批处理单元对输入队列中的键值对进行处理;
在所述第一步骤的处理模式属性为所述流处理模式时,创建所述第一处理单元包括的第一流处理单元,所述第一流处理单元对接收的键值对进行处理。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
在所述第二步骤的处理模式属性为所述批处理模式时,创建所述第二步骤的输入队列;
将所述第一处理单元的输出地址设置为所述第二步骤的输入队列的地址,所述第二步骤的输入队列为用于处理所述第二步骤的第二批处理单元提供输入。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
在所述第二步骤的处理模式属性为所述流处理模式时,执行设定的或默认的分区算法;
根据所述分区算法设定的分区个数,确定用于处理所述第二步骤的第二流处理单元的数量,以便于创建与所述数量相应的第二流处理单元;
根据所述分区算法创建分区路由信息表,以便于根据所述分区路由信息表,将所述第一处理单元的输出结果发送到相应的所述第二流处理单元。
6.一种处理业务的***,其特征在于,所述***包括调度模块和节点管理模块,所述调度模块包括:
第一确定单元,用于确定用于处理业务的第一步骤的处理模式属性,所述第一步骤的处理模式属性包括批处理模式或流处理模式,所述第一步骤为用于处理所述业务的步骤中的任意一个步骤;
所述节点管理模块包括:
第一创建单元,用于根据所述第一步骤的处理模式属性,创建与所述第一步骤的处理模式属性相应的第一处理单元,以处理所述第一步骤;
所述调度模块还包括:
第三确定单元,用于在所述第一步骤的输出方式为分区输出时,确定紧随所述第一步骤之后的第二步骤的处理模式属性为所述流处理模式;
第四确定单元,用于在所述第一步骤的输出方式未使用分区方式时,确定所述第二步骤的处理模式属性为所述批处理模式。
7.根据权利要求6所述的***,其特征在于,所述调度模块还包括:
接收单元,用于接收用户发送的用于请求处理所述业务的业务请求,所述业务请求包括用于处理所述业务的每个步骤的处理模式属性;
所述第一确定单元还用于:根据所述业务请求,确定所述第一步骤的处理模式属性。
8.根据权利要求6所述的***,其特征在于,所述第一创建单元包括:
第一创建子单元,用于在所述第一步骤的处理模式属性为所述批处理模式时,创建所述第一处理单元包括的第一批处理单元,所述第一批处理单元对输入队列中的键值对进行处理;
第二创建子单元,用于在所述第一步骤的处理模式属性为所述流处理模式时,创建所述第一处理单元包括的第一流处理单元,所述第一流处理单元对接收的键值对进行处理。
9.根据权利要求6至8中任一项所述的***,其特征在于,所述调度模块还包括:
第二创建单元,用于在所述第二步骤的处理模式属性为所述批处理模式时,创建所述第二步骤的输入队列;
所述节点管理模块还包括:
第一设置单元,用于将所述第一处理单元的输出地址设置为所述第二步骤的输入队列的地址,所述第二步骤的输入队列为用于处理所述第二步骤的第二批处理单元提供输入。
10.根据权利要求6至8中任一项所述的***,其特征在于,所述节点管理模块还包括:
分区单元,用于在所述第二步骤的处理模式属性为所述流处理模式时,执行设定的或默认的分区算法;
所述调度模块还包括:
第二确定单元,用于根据所述分区算法设定的分区个数,确定用于处理所述第二步骤的第二流处理单元的数量,以便于创建与所述数量相应的第二流处理单元;
第三创建单元,用于根据所述分区算法创建分区路由信息表,以便于根据所述分区路由信息表,将所述第一处理单元的输出结果发送到相应的所述第二流处理单元。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/085176 WO2013097234A1 (zh) | 2011-12-31 | 2011-12-31 | 处理业务的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103299298A CN103299298A (zh) | 2013-09-11 |
CN103299298B true CN103299298B (zh) | 2016-11-02 |
Family
ID=48696287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180003695.3A Active CN103299298B (zh) | 2011-12-31 | 2011-12-31 | 处理业务的方法和*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103299298B (zh) |
WO (1) | WO2013097234A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106873945A (zh) * | 2016-12-29 | 2017-06-20 | 中山大学 | 基于批处理和流式处理的数据处理架构及数据处理方法 |
CN110110170B (zh) * | 2019-04-30 | 2021-12-07 | 北京字节跳动网络技术有限公司 | 一种数据处理的方法、装置、介质及电子设备 |
US20220276893A1 (en) * | 2019-08-27 | 2022-09-01 | Microsoft Technology Licensing, Llc | Workflow-based scheduling and batching in multi-tenant distributed systems |
CN112822125B (zh) * | 2020-04-08 | 2023-08-01 | 中兴通讯股份有限公司 | 一种业务流的传输方法、装置、设备及存储介质 |
CN112150248B (zh) * | 2020-09-30 | 2021-08-03 | 欧冶云商股份有限公司 | 一种基于批流融合的挂货量统计方法、***、装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5878196A (en) * | 1996-03-27 | 1999-03-02 | Fuji Xerox Co., Ltd. | Printer control system |
CN101197827A (zh) * | 2007-12-14 | 2008-06-11 | 华为技术有限公司 | 一种文档管理方法、***以及相关设备 |
CN101841476A (zh) * | 2010-04-22 | 2010-09-22 | 北京星网锐捷网络技术有限公司 | 报文处理方法、装置和网络设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459848B (zh) * | 2008-12-26 | 2010-11-10 | 西安交通大学 | 一种分布式多格式数字视频转码结构设计方法 |
JP4967014B2 (ja) * | 2009-12-16 | 2012-07-04 | 株式会社日立製作所 | ストリームデータ処理装置及び方法 |
-
2011
- 2011-12-31 CN CN201180003695.3A patent/CN103299298B/zh active Active
- 2011-12-31 WO PCT/CN2011/085176 patent/WO2013097234A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5878196A (en) * | 1996-03-27 | 1999-03-02 | Fuji Xerox Co., Ltd. | Printer control system |
CN101197827A (zh) * | 2007-12-14 | 2008-06-11 | 华为技术有限公司 | 一种文档管理方法、***以及相关设备 |
CN101841476A (zh) * | 2010-04-22 | 2010-09-22 | 北京星网锐捷网络技术有限公司 | 报文处理方法、装置和网络设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2013097234A1 (zh) | 2013-07-04 |
CN103299298A (zh) | 2013-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102469033B (zh) | 一种消息订阅***以及消息发送方法 | |
US9742667B2 (en) | Packet processing method, device and system | |
CN103299298B (zh) | 处理业务的方法和*** | |
CN102932472B (zh) | 一种数据处理方法以及通信*** | |
CN101163117B (zh) | 一种群组管理方法、群组资源共享方法及即时通讯装置 | |
CN103797463A (zh) | 用于在云环境中指派虚拟资源的方法和设备 | |
CN107332814B (zh) | 一种请求消息传输方法及装置 | |
CN112583931A (zh) | 消息处理方法、消息中间件、电子设备和存储介质 | |
CN109413202B (zh) | 区块链交易信息的排序***及方法 | |
CN107562803B (zh) | 数据供应***及方法、终端 | |
CN108418752B (zh) | 一种聚合组的创建方法和装置 | |
CN104158860A (zh) | 一种作业调度方法及作业调度*** | |
CN108933675B (zh) | 会议资源的分配方法、装置及存储介质 | |
CN111835809B (zh) | 工单消息分配方法、装置、服务器及存储介质 | |
CN116582173A (zh) | 基于卫星的分布式网络处理数据的方法、装置及存储介质 | |
CN112995056A (zh) | 一种流量调度方法、电子设备及存储介质 | |
CN110086722A (zh) | 一种路由路径确定方法及装置、路由设备 | |
CN106371923A (zh) | 任务处理方法和装置 | |
CN105933728A (zh) | 点播方法、装置及*** | |
CN111309467B (zh) | 任务分发方法及装置、电子设备及存储介质 | |
CN105656769A (zh) | 业务数据处理方法、装置及*** | |
CN106330492A (zh) | 一种配置用户设备转发表的方法、装置及*** | |
CN106487858B (zh) | 信息上传方法及装置 | |
CN104852858B (zh) | 一种流量转发方法和设备 | |
CN115529276A (zh) | 一种数据传输方法及其相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220211 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |