基于TPL Dataflow的状态监控方法及装置制造方法及图纸

技术编号:11239241 阅读:79 留言:0更新日期:2015-04-01 12:43
本发明专利技术公开了一种基于TPL Dataflow的状态监控方法及装置。其中,该方法包括:在.Net开发环境中调用TPL Dataflow类库,并通过TPL Dataflow类库中的一个或多个级块Block构成用于处理数据的处理通道;获取预先设置的需要监视的级块Block的集合列表;遍历级块Block的集合列表中的各个级块Block,获取处理通道中的各个级块Block的状态属性;根据各个级块Block的状态属性,确定级块Block的运行状态。本发明专利技术解决了现有技术中每次手动查看各个级块Block的状态属性导致的操作繁琐、效率低下的问题。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体而言,涉及一种基于TPL Dataflow的状态监控方法及装置。
技术介绍
TPL是TASK Parallel Library的简称,TPL Dataflow是微软面向高并发应用而推出的类库,借助于异步消息传递与管理,提供比线程池更好的控制。TPL Dataflow提供了一种类似流水线的数据处理视图,数据流中的数据处理节点被称作数据流块(Dataflow Block)。每个Dataflow Block包含一个Input Buffer和Output Buffer。在处理数据流的时候,有必要让开发人员随时了解当前\流水线\的工作状态,以及时了解流水线是否存在故障。一种传统的监视方法是异步地轮询每个Block的Input Buffer和Output Buffer数目,试图了解每个Block的运作状态。然而这种方式是以数字形式展现,非常不直观,开发人员不能一眼看出哪些Block存在故障;而且,这种方式只展现了每个Block的待处理队列和待传出队列的信息,有时候依然无法给出定位故障Block所需的信息。比如,很多时候,假若某故障Block将待处理数据缓存到了Block内部,并且在内部出现某种故障、不再产生输出,也不结束。此时通过基于Input\\Output Count的监视器,会看到所有Block的Input Count和Output Count都是0,但是,却无法知道哪些Block已结束、哪些Block还在运行,无法找到故障Block。针对现有技术中每次手动查看各个级块Block的状态属性导致的操作繁琐、效率低下的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术的主要目的在于提供一种基于TPL Dataflow的状态监控方法及装置,以解决现有技术中每次手动查看各个级块Block的状态属性导致的操作繁琐、效率低下问题。为了实现上述目的,根据本专利技术实施例的一个方面,提供了一种基于TPL Dataflow的状态监控方法。该方法包括:在.Net开发环境中调用TPL Dataflow类库,并通过TPLDataflow类库中的一个或多个级块Block构成用于处理数据的处理通道;获取预先设置的需要监视的级块Block的集合列表;遍历级块Block的集合列表中的各个级块Block,获取处理通道中的各个级块Block的状态属性;根据各个级块Block的状态属性,确定级块Block的运行状态。为了实现上述目的,根据本专利技术实施例的另一方面,提供了一种基于TPL Dataflow的状态监控装置,该装置包括:构成单元,用于在.Net开发环境中调用TPL Dataflow类库;并通过TPL Dataflow类库中的一个或多个级块Block构成用于处理数据的处理通道;第一获取单元,用于获取预先设置的需要监视的级块Block的集合列表;第二获取单元,用于遍历级块Block的集合列表中的各个级块Block,获取处理通道中的各个级块Block的状态属性;处理单元,用于根据各个级块Block的状态属性,确定级块Block的运行状态。根据专利技术实施例,通过获取各个级块Block的状态属性,进而确定各个级块Block的运行状态,解决了现有技术中每次手动查看各个级块Block的状态属性导致的操作繁琐、效率低下的问题。实现了准确、直观的判断某一个Block运行状态,进而能够快速、精确的在数据处理通道中定位到出现故障的Block的效果。附图说明构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例一的基于TPL Dataflow的状态监控方法的流程图;以及图2是根据本专利技术实施例二的基于TPL Dataflow的状态监控装置的框图。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本专利技术。为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。实施例1本专利技术实施例提供了一种基于TPL Dataflow的状态监控方法。图1是根据本专利技术实施例的基于TPL Dataflow的状态监控方法的流程图。如图1所示,该方法包括步骤如下:步骤S11,在.Net开发环境中调用TPL Dataflow类库,并通过TPL Dataflow类库中的一个或多个级块Block构成用于处理数据的处理通道。具体的,在上述步骤S11中,TPL Dataflow类库中包含了各种功能不同的级块Block,可以根据需求在处理通道中加入功能不同的级块Block。步骤S13,获取预先设置的需要监视的级块Block的集合列表。具体的,在上述步骤S13中,可以将需要监视的级块Block加入至集合列表当中,把性能稳定的级块Block从集合列表中删除,这样,通过预先设置的级块Block的集合列表,就可以方便的对需要进行监控的级块Block进行设置。步骤S15,遍历级块Block的集合列表中的各个级块Block,获取处理通道中的各个级块Block的状态属性。具体的,在上述步骤S15中,可以通过获取每个Block的Completion Task属性,可以清晰的判断该Block的工作状态,是正在运行,还是已经运行结束。Completion Task属性有助于判断Block的真实状态。步骤S17,根据各个级块Block的状态属性,确定级块Block的运行状态。具体的,在上述步骤S17中,通过级块Block的状态属性仅用来表示当前级块Block的在实际运行本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201410771292.html" title="基于TPL Dataflow的状态监控方法及装置原文来自X技术">基于TPL Dataflow的状态监控方法及装置</a>

【技术保护点】
一种基于TPL Dataflow的状态监控方法,其特征在于,包括:在.Net开发环境中调用TPL Dataflow类库,并通过所述TPL Dataflow类库中的一个或多个级块Block构成用于处理数据的处理通道;获取预先设置的需要监视的所述级块Block的集合列表;遍历所述级块Block的集合列表中的各个级块Block,获取所述处理通道中的各个级块Block的状态属性;根据所述各个级块Block的状态属性,确定所述级块Block的运行状态。

【技术特征摘要】
1.一种基于TPL Dataflow的状态监控方法,其特征在于,包括:
在.Net开发环境中调用TPL Dataflow类库,并通过所述TPL Dataflow类库中
的一个或多个级块Block构成用于处理数据的处理通道;
获取预先设置的需要监视的所述级块Block的集合列表;
遍历所述级块Block的集合列表中的各个级块Block,获取所述处理通道中的
各个级块Block的状态属性;
根据所述各个级块Block的状态属性,确定所述级块Block的运行状态。
2.根据权利要求1所述的方法,其特征在于,遍历所述级块Block的集合列表中的
各个级块Block,获取所述处理通道中的各个级块Block的状态属性的步骤还包
括:
接收触发信号,其中,所述触发信号至少包括如下任意一种生成方式:通过
用户手动点击触发控件生成所述触发信号、通过预先设定的发送频率生成所述触
发信号;
当接收到所述触发信号时,根据所述级块Block的集合列表获取所述级块
Block的状态属性。
3.根据权利要求2所述的方法,其特征在于,根据所述各个级块Block的状态属性,
确定所述级块Block的运行状态的步骤还包括:
遍历所述处理通道中的各个级块Block,确定所述处理通道中级块Block的总
数量;
根据所述处理通道中所包含的级块Block的总数量和所述各个级块的Block
的状态属性,确定所述处理通道的工作状态;
将所述各个级块的Block的状态属性与所述处理通道的所述工作状态进行比
对,确定所述各个级块Block的运行状态。
4.根据权利要求3所述的方法,其特征在于,当所述状态属性至少包括:运行中和
完成时,其中,根据所述处理通道中所包含的级块Block的总数量和所述各个级
块的Block的所述状态属性,确定所述处理通道的工作状态的步骤还包括:
根据所述各个级块Block的所述状态属性,确定所述状态属性为所述运行中
的级块Block的运行数量;
根据所述级块Block的运行数量和所述处理通道中级块Block的总数量,计
算得出所述状态属性为运行中的级块Block的运行比例;
根据所述运行比例,确定所述处理通道的所述工作状态。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,在获取预先设置的需
要监视的所述级块Block的集合列表之前,所述方法还包括:
遍历所述处理通道中的所述级块Block,生成所述级...

【专利技术属性】
技术研发人员:储雨知
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1