公开/公告号CN101534245A
专利类型发明专利
公开/公告日2009-09-16
原文格式PDF
申请/专利权人 国电南瑞科技股份有限公司;
申请/专利号CN200910029340.6
申请日2009-04-09
分类号H04L12/56(20060101);H04L12/26(20060101);H04L1/18(20060101);H04L1/00(20060101);
代理机构32224 南京纵横知识产权代理有限公司;
代理人董建林;许婉静
地址 210061 江苏省南京市高新技术开发区高新路20号
入库时间 2023-12-17 22:40:15
法律状态公告日
法律状态信息
法律状态
2014-12-31
专利权的转移 IPC(主分类):H04L12/56 变更前: 变更后: 登记生效日:20141215 申请日:20090409
专利申请权、专利权的转移
2011-08-10
授权
授权
2009-11-11
实质审查的生效
实质审查的生效
2009-09-16
公开
公开
技术领域
本发明涉及一种数据处理的传输控制方法,尤其是涉及一种实时监控系统 接口数据处理的传输控制方法,属于计算机控制领域。
背景技术
在实时监控系统中,接口数据处理模块作为联系内外部数据的桥梁,是关 键且可能产生瓶颈的部件。随着通信技术和计算机监控技术的不断发展,各行 业内实时监控系统的集成度越来越高,规模不断扩大,实时性要求也更趋于复 杂。作为数据上行下行的必由路径,数据处理模块的压力也以几何级数上升。 传统的实时监控系统数据处理模块,没有考虑到数据采集单元与应用处理单元 之间处理能力的差异,并且没有对实时性要求不同的数据进行区别对待,阻塞 发生时也没有合理的措施进行补救,在出现突发情况时,稳定性和可靠性都不 能保证。
发明内容
本发明所要解决的技术问题是在不增加资源投入的情况下,提供一种能够 有效的避免应用处理单元发生拥塞,同时兼顾数据的实时性和可靠性的实时监 控系统数据处理的传输控制方法。
为解决上述技术问题,本发明提供一种实时监控系统数据处理的传输控制 方法,其特征在于:包括以下步骤
1)建立优先级传输队列,限定单位时间传输上限;
2)由各级队列中不同的数据延时动态调整出列秩序;
3)当信息雪崩导致队列阻塞时,通过数据暂存的方式保存重要数据,并在 空闲时重新传送。
建立优先级传输队列可采用以下方法:
首先,需对实时监控系统采集的各类不同数据进行统一规划,将不同类型 的变化数据单元抽象为统一的“变化数据对象”,记为OC,可知OC至少包含以下 属性:优先级标识(PRI_LEVEL)、延时有效标识(DT_AVAIL)、系统关键字 (KEY_ID)、数据类型(TYPE)、值域(VALUE)、状态域(STATUS)、变化时间(CHG_TIME) 等。其中OC.PRI_LEVEL和OC.DT_AVAIL为本发明特有的控制标志,而其余属性 为通用的实时监控系统平台数据描述。
其次,根据系统被采集数据的实时性,定义采集数据接受处理的优先级如 下:
PRI_LEVEL_CRUCIAL,至关重要级,用于传输必须立即得到响应的数据,实 时性要求最高,在实时监控系统中,又称为插入传送级;
PRI_LEVEL_IMPORTANT,重要级,实时性要求较高,且数据不能丢失,但允 许短暂的延时,按延时的大小,又可以细分为I、II、III级等;
PRI_LEVEL_NORMAL,普通级,实时性要求最低,允许一定的延时。
根据以上所述的优先级和实时监控系统采集数据的具体要求,建立一组 FIFO队列,一般为3-5条,记为S、A[、B、C]、N。其中S队列称为插入传送 队列,A队列称为一级重要数据队列(B队列称为二级重要数据队列,C队列称 为三级重要数据队列),N队列称为普通数据队列。
根据系统规模、运行特征以及应用处理端可能出现拥塞的单位时间限值流 量F,估算各级队列的合理长度Li。由实时监控系统特点,单位时间内系统不 产生拥塞的最大数据流量F与系统性能P成正比,与集成规模M和当时的系统 繁忙程度B成反比,可得公式如下:F=(λ·P)/(μ·M·B),λ、μ为比例系 数。在实时监控系统现场投运后,其系统配置和集成规模也基本确定,因此P、 M可近似认为是常量值。而在CPU负载小于阀值的情况下(按一般实时监控系统 设计要求),B可取约值1,可知F在确定的系统中为常数。
由上可知,设队列i中变化数据对象的最大允许时延为Δi,有各级队列的 合理长度Li估算方法Li=F*Δi,其中i=S、A[、B、C]、N。
各级优先级队列的出列秩序描述如下:
首先允许至关重要级数据出列。设在单位时间内可出列的最大数据流量为 F,而插入传送队列当前缓存的数据量为FC,若FC>F,则取F出列,并返回 等待下一间隔时间,否则计算剩余出列量FΔ=F-FC;
其次允许重要级数据出列。设共具有3级细分优先级,为其分配不同的传 送权重α、β、γ,使得α+β+γ=1。设各细分级重要数据队列当前缓存的数 据量分别为FI、FII、FIII,若有(FI>=α*FΔ)&&(FII>=β*FΔ)&&(FIII >=γ*FΔ),则按最大量出列,并返回等待下一间隔时间;否则按照细分优先级 的高低依次取空变化数据对象,直到总和达到FΔ或者各细分级重要数据队列全 部为空;若出列量已满,则返回等待下一间隔时间,否则计算剩余出列量FΔ’;
最后允许普通级数据出列,记普通数据队列当前缓存的数据量为FN,若FN>F Δ’,则取FΔ’出列,并返回等待下一间隔时间;否则取FN出列,同时向系 统反馈一个空闲状态消息,以及空闲量SΔ=(FΔ’-FN),返回等待下一间隔时 间。
应用处理单元端处理方式中的令牌机制,如实时库内存表的加锁解锁等, 决定了在载荷到达一定程度时会触发处理效率的大幅度下滑,从而产生拥塞。 通过以上步骤可以使实时监控系统运行在临界状态以下,防止应用处理单元拥 塞发生。同时分级传输保证了重要数据的优先传输权,提高了数据有效性。但 是当突发事件持续时间较长或突发数据量太大导致发生传输队列阻塞时,为保 证系统的可靠性,必须进行载荷脱落,有策略的抛弃或暂存数据。
在实时监控系统中,一些数据在其有效期内非常重要,实时性要求也高, 但是由于其刷新频率较快,变化比较频繁,失效速度也快;一些数据本身带有 发生时的时标,虽然实时性要求不一定十分苛刻,但其信息关系到系统数据的 完整性,必须全部保留。把前一类数据称为“牛奶”数据(MILK_DATA),后一类 数据称为“葡萄酒”数据(WINE_DATA)。MILK_DATA的特征是取其新鲜,过期变 质则抛弃;WINE_DATA的特征是长期有效,越陈越香。
本发明提供的载荷脱落的方法如下:
首先,在每一个变化数据对象入列时,需预先判断对应优先级队列是否漫 溢,如果为真,则认为阻塞发生;
当阻塞发生时,停止普通级数据入列,至关重要级和重要级数据在本级优 先级队列未漫溢情况下,可继续入列;
当阻塞发生时,需要插入已漫溢队列的变化数据对象和普通级数据对象根 据延时有效标识确定其应当暂存还是抛弃,延时有效标识在系统建模时由数据 的MILK_DATA或WINE_DATA特征进行标识;
暂存变化数据对象的暂存库具有以下特点:可采用临时文件方式或轻量级 数据库(如sqlite等)方式实现;可按照变化数据对象优先级的不同分文件或 表进行存储,也可以取消数据优先级差别统一存储;具有合适的存储空间,保 证在系统设计容量内不会发生漫溢。
在阻塞过程中,随时判断系统是否已进入空闲状态,若判断为真,则依据 空闲量从暂存库中取出变化数据对象直接发送。判断系统是否已进入空闲状态 的方法是:获取出列进程发送的空闲状态消息与空闲量SΔ,且有SΔ>0,则判 断为真。
本发明所达到的有益效果:
本发明的实时监控系统数据处理的传输控制方法,通过限定传输上限避免应用 处理端产生拥塞;通过优先级队列和出列控制策略,保证数据实时性;通过数 据暂存技术和入列控制策略,保证数据的完整性,通用性强,不受操作系统版 本和实现工具的限制,且独立性强,可模块化后方便的添加在已有实时监控系 统中。
图1为本发明的实时监控系统数据处理的数据流图;
图2为本发明的传输控制数据流图;
图3为本发明的变化数据对象结构图;
图4为本发明的优先级队列示意图;
图5为本发明的入列控制流程图;
图6为本发明的出列控制流程图。
具体实施方式
下面根据说明书附图并结合实施例对本发明的技术方案作进一步阐述。
图1为实时监控系统数据处理的数据流图,示意本发明在传统数据处理模块 结构的基础上增加了传输控制单元,将随机的输入整形为恒定上限的输出。
图2为本发明的传输控制数据流图,示意本发明所述传输控制方法的基本结 构及数据流向。本方法由两种基本的数据结构和两条控制策略构成,分别是变 化数据对象、优先级队列及入列控制策略、出列控制策略。
图3为本发明的变化数据对象结构图,描述了变化数据对象的属性构成。变 化数据对象至少包含以下属性:优先级标识(PRI_LEVEL)、延时有效标识 (DT_AVAIL)、系统关键字(KEY_ID)、数据类型(TYPE)、值域(VALUE)、状态域 (STATUS)、变化时间(CHG_TIME)等。其中优先级标识和延时有效标识称为控制 属性,其实例值来源于系统模型参数;其余属性称为数据属性,其中系统关键 字和数据类型实例值来源于模型参数,剩余的来源于现场设备。
图4为本发明定义的优先级队列示意图,其等级划分如下:
■PRI_LEVEL_CRUCIAL,至关重要级,用于传输必须立即得到响应的数据, 实时性要求最高,在实时监控系统中,又称为插入传送级;
■PRI_LEVEL_IMPORTANT,重要级,实时性要求较高,且数据不能丢失, 但允许短暂的延时,按延时的大小,又可以细分为I、II、III级等;
■PRI_LEVEL_NORMAL,普通级,实时性要求最低,允许一定的延时。
以下以轨道交通综合监控系统为本发明的优选实施例加以说明。其采集的 数据可按以下规则划分:
■与行车及乘客人身安全保障相关的数据,如火灾告警及模式启动、供电 系统直流断路器故障或重要保护动作、信号系统重要故障等,必须置入 至关重要级;
■与设备监控及维护相关的数据,如一些控制的返信点、关键系统设备的 故障信号等,可以置入重要级I级;
■实时的数字量、模拟量输入,可以按其重要性划分,分别置入重要级II、 III级;
■对一些准实时数据,采集周期在数十秒以上的,如与模式控制无关的温 湿度等信息,可以置入普通级。
由上可知,该系统适合建立5级的优先级队列,其采集点的数据类型主要 是模拟量和数字量,可以用变化数据对象描述。通过公式F=(λ·P)/(μ·M·B) 可知,根据系统配置及集成规模,以及轨道交通综合监控系统的特点,在系统 构成阶段已经可以估算出不产生拥塞的最大应用数据处理量F,以及由此推导出 合理的队列长度Li=F*Δi,其中Δi为队列i中变化数据对象的最大允许时延, i=S、A[、B、C]、N。而优先级划分、队列长度和队列中元素的数据结构正是组 成优先级队列的三要素。
图5是本发明所述入列控制策略的实现流程图。入列控制策略模块由独立 的线程或进程实现,其处理流程描述如下:
①.周期性扫描通道,检查是否存在变化数据单元;
②.若存在,则获取一个变化数据单元,根据其系统关键字,从模型中获取 参数并组织变化数据对象OC;
③.通过系统阻塞塞标志,判断当前是否处于阻塞中,若是,执行④,否则, 执行⑤;
④.判断OC.PRI_LEVEL是否等于PRI_LEVEL_NORMAL,若是,执行⑧,否则, 执行⑤;
⑤.通过接口调用,判断OC.PRI_LEVEL级的队列是否漫溢,若是,执行⑦, 否则,执行⑥;
⑥.将OC填入OC.PRI_LEVEL级队列中,返回①;
⑦.将系统阻塞标志置为真,执行⑧;
⑧.判断OC.DT_AVAIL是否为真,若是,执行⑩,否则,执行⑨;
⑨.将OC抛弃,返回①;
⑩.将OC保存入暂存库中,返回①。
图6是本发明所述出列控制策略的实现流程图。出列控制策略模块由两个 独立的线程或进程实现,分别实现从队列中读取和从暂存库中读取功能,两者 之间通过平台消息总线相互通信。其处理流程描述如下:
从队列中读取并发送:
①.读取插入传送队列当前缓存变化数据量,记为FC;
②.判断FC是否大于系统不产生拥塞的最大数据流量F,若是,执行③, 否则,执行④;
③.从插入传送队列中取出F发送给应用处理单元,返回①等待下一时间间 隙;
④.从插入传送队列中取出FC发送给应用处理单元,计算剩余可发送量F Δ=F-FC,执行⑤;
⑤.按预设比例α、β、γ从各级重要数据队列中分别读取上限为α*FΔ、 β*FΔ、γ*FΔ,判断读取总量是否达到FΔ。若是,执行⑥,否则, 执行⑦;
⑥.将取出的FΔ发送给应用处理单元,返回①等待下一时间间隙;
⑦.依次读空一级、二级、三级重要数据队列直至总和达到FΔ,若是,执 行⑥,否则,执行⑧;
⑧.读空普通数据队列直至总和达到FΔ,若是,执行⑥,否则,执行⑨;
⑨.将取出的数据发送给应用处理单元,计算空闲量SΔ,有SΔ>0,执行 ⑩;
⑩.向指定通道里发送系统空闲消息,返回①等待下一时间间隙;
从暂存库中读取并发送:
①.从指定通道中接收系统空闲消息;
②.判断是否有新消息产生,若是,执行③,否则,返回①;
③.校验接收到的消息是否有效,若是,执行④,否则,返回①;
④.根据系统空闲消息,判断暂存库中的对应表(文件)里是否有记录,若
是,执行⑤,否则,返回①;
⑤.从暂存库中读取记录并发送给应用处理单元,返回①;
本发明按照优选实施例进行了说明,应当理解,上述实施例不以任何形式 限定本发明,凡采用等同替换或等效变换的形式所获得的技术方案,均落在本 发明的保护范围之内。
机译: 用于音乐演唱会的音频和/或视频数据传输方法,涉及通过数据处理设备实时地在接收机之间进行数据传输,或者在两个接收机之间实时进行数据传输。
机译: 基于油的清洁度自动传输质量的实时监控系统和基于油的清洁度自动传输质量的实时监控方法
机译: 电子计算机监控系统,用于实时自动控制通过互联网传输的电视和广播的媒体内容,从而可以对确定的传输媒体内容进行实时计算机监控