CN103299298A - 处理业务的方法和*** - Google Patents

处理业务的方法和*** Download PDF

Info

Publication number
CN103299298A
CN103299298A CN2011800036953A CN201180003695A CN103299298A CN 103299298 A CN103299298 A CN 103299298A CN 2011800036953 A CN2011800036953 A CN 2011800036953A CN 201180003695 A CN201180003695 A CN 201180003695A CN 103299298 A CN103299298 A CN 103299298A
Authority
CN
China
Prior art keywords
attribute
tupe
processing
unit
business
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.)
Granted
Application number
CN2011800036953A
Other languages
English (en)
Other versions
CN103299298B (zh
Inventor
张妮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN103299298A publication Critical patent/CN103299298A/zh
Application granted granted Critical
Publication of CN103299298B publication Critical patent/CN103299298B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data 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 )。
当所有分片的转码处理单元都执行完格式转换后, 启动合并处理单元。 再获取筒化队列中的键值对(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 ), 并且该业务模板指示该合并步骤采用的分区算法为哈希 算法;调度模块通过解析该业务模板,可以确定首先处理该业务的分片步骤, 并且可以确定分片步骤的处理模式属性为批处理模式;
5502, 调度模块向分布式队列***请求创建分片步骤的输入队列, 该分 布式队列***例如为亚马逊( Amazon )筒单队列服务( Simple Queue Service, 筒称为 "SQS" )等;
5503 , 分布式队列***向调度模块返回创建的输入队列的地址;
S504, 调度模块向节点管理模块发送请求, 请求节点管理模块 1为分片 步骤创建批处理单元(Batch Worker ),设置该批处理单元的输入队列为 S503 中返回的输入队列的地址, 并加载用户处理程序;
5505 , 节点管理模块 1创建成功后向调度模块返回成功响应;
5506, 调度模块通过解析业务模板, 可以确定在分片步骤之后需要处理 转码步骤, 并确定该转码步骤的处理模式属性为批处理模式;
5507, 调度模块向分布式队列***请求创建转码步骤的输入队列;
5508, 分布式队列***向调度模块返回创建队列的地址;
5509,调度模块请求节点管理模块 1设置分片处理单元的输出模块的输 出地址为 S507中返回的队列地址;
S510, 节点管理模块 1返回设置成功响应;
5511 ,调度模块请求节点管理模块 2为转码步骤创建批处理单元( Batch Worker ), 设置该 Batch Worker的输入队列为 S508中返回的队列地址, 并加 载用户处理程序;
5512, 节点管理模块 2创建成功后, 返回成功响应;
S513 , 调度模块通过解析业务模板, 确定最后处理合并步骤, 并确定该 步骤的处理模式属性为流处理模式( Streaming Worker );
5514,调度模块按照分区算法设定的分区个数确定合并步骤的处理单元 ( Worker ) 的个数;
5515 , 调度模块请求节点管理模块 3 为合并步骤创建流处理单元 ( Streaming Worker );
5516, 节点管理模块 3创建成功后, 返回成功响应; 5517, 调度模块创建分区路由表, 并将该分区路由表存储在分布式协调 协调中;
5518, 调度模块请求节点管理模块 2启动分区模块, 以加载设定的分区 算法, 并设定分区路由表的访问地址;
S519, 节点管理模块 2返回启动成功响应;
5520, 调度模块继续解析业务模板, 并确定没有后续步骤时, 调度模块 向分布式队列***请求创建队列;
5521 , 分布式队列***返回创建的队列的地址;
5522,调度模块请求节点管理模块 3设置合并步骤的输出模块的输出地 址为 S521中返回的队列地址;
5523 , 节点管理模块 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 (1)

  1. 权利要求
    1、 一种处理业务的方法, 其特征在于, 包括:
    确定用于处理业务的第一步骤的处理模式属性, 所述第一步骤的处理模 式属性包括批处理模式或流处理模式, 所述第一步骤为用于处理所述业务的 步骤中的任意一个步骤;
    根据所述第一步骤的处理模式属性,创建与所述第一步骤的处理模式属 性相应的第一处理单元, 以处理所述第一步骤。
    2、 根据权利要求 1所述的方法, 其特征在于, 所述方法还包括: 接收用户发送的用于请求处理所述业务的业务请求,所述业务请求包括 用于处理所述业务的每个步骤的处理模式属性;
    所述确定用于处理业务的第一步骤的处理模式属性, 包括:
    根据所述业务请求, 确定所述第一步骤的处理模式属性。
    3、 根据权利要求 1或 2所述的方法, 其特征在于, 所述创建与所述第 一步骤的处理模式属性相应的第一处理单元, 包括:
    在所述第一步骤的处理模式属性为所述批处理模式时,创建所述第一处 理单元包括的第一批处理单元, 所述第一批处理单元对输入队列中的键值对 进行处理;
    在所述第一步骤的处理模式属性为所述流处理模式时,创建所述第一处 理单元包括的第一流处理单元, 所述第一流处理单元对接收的键值对进行处 理。
    4、 根据权利要求 1至 3中任一项所述的方法, 其特征在于, 所述方法 还包括:
    在紧随所述第一步骤之后的第二步骤的处理模式属性为所述批处理模 式时, 创建所述第二步骤的输入队列;
    将所述第一处理单元的输出地址设置为所述第二步骤的输入队列的地 址, 所述第二步骤的输入队列为用于处理所述第二步骤的第二批处理单元提 供输入。
    5、 根据权利要求 1至 3中任一项所述的方法, 其特征在于, 所述方法 还包括:
    在紧随所述第一步骤之后的第二步骤的处理模式属性为所述流处理模 式时, 执行设定的或默认的分区算法; 根据所述分区算法设定的分区个数,确定用于处理所述第二步骤的第二 流处理单元的数量, 以便于创建与所述数量相应的第二流处理单元;
    根据所述分区算法创建分区路由信息表, 以便于根据所述分区路由信息 表, 将所述第一处理单元的输出结果发送到相应的所述第二流处理单元。
    6、 根据权利要求 1至 3中任一项所述的方法, 其特征在于, 所述方法 还包括:
    在所述第一步骤为处理所述业务的最后一个步骤时,创建所述第一步骤 的输出队列;
    将所述第一处理单元的输出地址设置为所述第一步骤的输出队列的地 址。
    7、 根据权利要求 4至 6中任一项所述的方法, 其特征在于, 所述方法 还包括:
    在所述第一步骤的输出方式为分区输出时,确定所述第二步骤的处理模 式属性为所述流处理模式;
    在所述第一步骤的输出方式未使用分区方式时,确定所述第二步骤的处 理模式属性为所述批处理模式。
    8、 一种处理业务的***, 其特征在于, 所述***包括调度模块和节点 管理模块, 所述调度模块包括:
    第一确定单元, 用于确定用于处理业务的第一步骤的处理模式属性, 所 述第一步骤的处理模式属性包括批处理模式或流处理模式, 所述第一步骤为 用于处理所述业务的步骤中的任意一个步骤;
    所述节点管理模块包括:
    第一创建单元, 用于根据所述第一步骤的处理模式属性, 创建与所述第 一步骤的处理模式属性相应的第一处理单元, 以处理所述第一步骤。
    9、 根据权利要求 8所述的***, 其特征在于, 所述调度模块还包括: 接收单元, 用于接收用户发送的用于请求处理所述业务的业务请求, 所 述业务请求包括用于处理所述业务的每个步骤的处理模式属性;
    所述第一确定单元还用于: 根据所述业务请求, 确定所述第一步骤的处 理模式属性。
    10、 根据权利要求 8或 9所述的***, 其特征在于, 所述第一创建单元 包括: 第一创建子单元,用于在所述第一步骤的处理模式属性为所述批处理模 式时, 创建所述第一处理单元包括的第一批处理单元, 所述第一批处理单元 对输入队列中的键值对进行处理;
    第二创建子单元,用于在所述第一步骤的处理模式属性为所述流处理模 式时, 创建所述第一处理单元包括的第一流处理单元, 所述第一流处理单元 对接收的键值对进行处理。
    11、 根据权利要求 8至 10中任一项所述的***, 其特征在于, 所述调 度模块还包括:
    第二创建单元,用于在紧随所述第一步骤之后的第二步骤的处理模式属 性为所述批处理模式时, 创建所述第二步骤的输入队列;
    所述节点管理模块还包括:
    第一设置单元,用于将所述第一处理单元的输出地址设置为所述第二步 骤的输入队列的地址, 所述第二步骤的输入队列为用于处理所述第二步骤的 第二批处理单元提供输入。
    12、 根据权利要求 8至 10中任一项所述的***, 其特征在于, 所述节 点管理模块还包括:
    分区单元, 用于在紧随所述第一步骤之后的第二步骤的处理模式属性为 所述流处理模式时, 执行设定的或默认的分区算法;
    所述调度模块还包括:
    第二确定单元, 用于根据所述分区算法设定的分区个数, 确定用于处理 所述第二步骤的第二流处理单元的数量, 以便于创建与所述数量相应的第二 流处理单元;
    第三创建单元, 用于根据所述分区算法创建分区路由信息表, 以便于根 据所述分区路由信息表,将所述第一处理单元的输出结果发送到相应的所述 第二流处理单元。
    13、 根据权利要求 8至 10中任一项所述的***, 其特征在于, 所述调 度模块还包括:
    第四创建单元, 用于在所述第一步骤为处理所述业务的最后一个步骤 时, 创建所述第一步骤的输出队列;
    所述节点管理模块还包括:
    第二设置单元,用于将所述第一处理单元的输出地址设置为所述第一步 骤的输出队列的地址。
    14、 根据权利要求 11至 13中任一项所述的***, 其特征在于, 所述调 度模块还包括:
    第三确定单元, 用于在所述第一步骤的输出方式为分区输出时, 确定所 述第二步骤的处理模式属性为所述流处理模式;
    第四确定单元, 用于在所述第一步骤的输出方式未使用分区方式时, 确 定所述第二步骤的处理模式属性为所述批处理模式。
CN201180003695.3A 2011-12-31 2011-12-31 处理业务的方法和*** Active CN103299298B (zh)

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 true CN103299298A (zh) 2013-09-11
CN103299298B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110110170A (zh) * 2019-04-30 2019-08-09 北京字节跳动网络技术有限公司 一种数据处理的方法、装置、介质及电子设备
CN112150248A (zh) * 2020-09-30 2020-12-29 欧冶云商股份有限公司 一种基于批流融合的挂货量统计方法、***、装置
WO2021035517A1 (en) * 2019-08-27 2021-03-04 Microsoft Technology Licensing, Llc Workflow-based scheduling and batching in multi-tenant distributed systems

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106873945A (zh) * 2016-12-29 2017-06-20 中山大学 基于批处理和流式处理的数据处理架构及数据处理方法
CN112822125B (zh) * 2020-04-08 2023-08-01 中兴通讯股份有限公司 一种业务流的传输方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459848B (zh) * 2008-12-26 2010-11-10 西安交通大学 一种分布式多格式数字视频转码结构设计方法
JP4967014B2 (ja) * 2009-12-16 2012-07-04 株式会社日立製作所 ストリームデータ処理装置及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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 北京星网锐捷网络技术有限公司 报文处理方法、装置和网络设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110110170A (zh) * 2019-04-30 2019-08-09 北京字节跳动网络技术有限公司 一种数据处理的方法、装置、介质及电子设备
WO2021035517A1 (en) * 2019-08-27 2021-03-04 Microsoft Technology Licensing, Llc Workflow-based scheduling and batching in multi-tenant distributed systems
CN112150248A (zh) * 2020-09-30 2020-12-29 欧冶云商股份有限公司 一种基于批流融合的挂货量统计方法、***、装置
CN112150248B (zh) * 2020-09-30 2021-08-03 欧冶云商股份有限公司 一种基于批流融合的挂货量统计方法、***、装置

Also Published As

Publication number Publication date
CN103299298B (zh) 2016-11-02
WO2013097234A1 (zh) 2013-07-04

Similar Documents

Publication Publication Date Title
US20230376347A1 (en) Task allocation method, apparatus, storage medium, and electronic device
CN105511954A (zh) 一种报文处理方法及装置
CN101616083B (zh) 一种报文转发方法和装置
CN106095572A (zh) 一种大数据处理的分布式调度***及方法
CN111260076B (zh) 基于区块链的边缘节点训练方法、区块链及存储介质
CN104750690A (zh) 一种查询处理方法、装置及***
CN103299298A (zh) 处理业务的方法和***
CN114281521B (zh) 优化深度学习异构资源通信效率方法、***、设备及介质
CN113259415B (zh) 一种网络报文处理方法、装置及网络服务器
CN112346833A (zh) 用于隐私计算的任务处理方法、处理器及异构处理***
CN113472624A (zh) 一种基于vDPA实现虚拟网络数据包转发的方法及应用
CN110399329B (zh) 一种rdma的数据处理方法及相关装置
CN105430028A (zh) 服务调用方法、提供方法及节点
CN105656794B (zh) 数据分发方法、装置及计算机可读存储介质
CN103197920B (zh) 一种并发控制方法、控制节点及***
JP4412369B2 (ja) 分散型処理システム、分散型処理方法、端末、及び、プログラム
CN111049900B (zh) 一种物联网流计算调度方法、装置和电子设备
CN101883345B (zh) 一种处理at指令的方法及装置
CN112714146A (zh) 一种资源调度方法、装置、设备及计算机可读存储介质
CN105939242B (zh) 实现虚拟***的方法及装置
CN109426529A (zh) 基于x窗口***图形绘制的方法、装置及终端
CN111245794B (zh) 数据传输方法和装置
CN110971696B (zh) 一种实现虚拟电子卡通讯的***和方法
CN105072047A (zh) 一种报文传输及处理方法
WO2024114304A1 (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
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.