一种基于时间桶的地铁综合监控系统时间序列触发方法

文档序号:9474370阅读:612来源:国知局
一种基于时间桶的地铁综合监控系统时间序列触发方法
【技术领域】
[0001] 本发明面向地铁/轻轨综合监控系统中出现的诸多按时间节点编排控制计划并 依靠计算机自动触发执行的需求,提供一种适应于多专业系统的统一定时触发软件模型, 各专业应用只需向模型注册告知自身的定时行为,即可接受该模型自动调度的触发消息并 执行各自对应的控制动作,大大减少了常规运维操作的工作量,提高了系统日常控制的准 确度以及自动化、智能化水平。
【背景技术】
[0002] 地铁/轻轨综合监控系统(ISCS Integrated Supervisory Control System)采用 一体化软硬件平台和专用通信网络采集诸如供电系统、环境与设备监控系统、火灾报警系 统、广播系统、闭路电视系统、乘客信息系统等多个专业的实时数据和环境参数,并远程控 制各专业系统及设备的运行;这其中,按运营人员已编排好的带有时间序列特征的控制计 划自动执行远程控制并反馈控制结果越来越成为一种省时、及时并不可或缺的控制方式。 比如:广播系统需要在每天日常运营时间段循环依次播放数十条时长不等的已录制提示语 音,在某个特定节日临时播放多条特殊通知语音;乘客信息系统需要在常规时间段循环发 布一系列乘车提示信息,在节假日期间循环发布重要提示信息;视频监控系统需要在人机 界面固定区域循环显示地铁全线多个地点的实时视频监控画面;环境与设备监控系统需要 按预先编制的模式时间表执行特定的通风空调模式等等;此类需求均需要作为多专业集成 核心的综合监控系统能够实现计算机自动管理时间节点并能据此准确触发节点上的控制 命令。
[0003] 现有技术的缺陷:
[0004] 1.目前现有综合监控系统中处理时间序列控制主要依靠定时器实现,由于每个时 序计划中的多个时间节点完全没有规律,因此需要每一条计划至少采用一个系统定时器并 需要根据变化时长频繁起停,考虑定时器在操作系统调度中优先级较低,有响应可靠性上 的缺陷;同时对于多个专业数以百计的控制需求,大量的定时器使用及频繁触发使得系统 资源开销大大增加。
[0005] 2.现有综合监控系统对每个专业的时序控制由各专业程序分别设计处理,缺乏统 一的优化的管理调度和解决方案,不利于系统稳定、代码维护和程序升级。
[0006] 3.现有综合监控系统对每个专业的时序控制灵活度不足,在各类时间点覆盖程 度、循环行为上不能根据各专业需求自由掌控,不利于地铁运营管理的多样化实施。

【发明内容】

[0007] 针对现有技术中存在的缺陷,本发明创造从综合监控系统多专业子系统的现有技 术基础和实际需求出发,将所有专业涉及时间序列控制的功能剥离出来,设计实现一种新 的基于时间桶的定时触发模型,统一管理各个专业的时序调度计划,适应多种类型的控制 需求,并通过实时注册/解注册机制支持各专业即时便利化的触发管理,在触发控制效率、 系统资源节省、开发管理维护方面、应用需求覆盖程度具有显著优势。
[0008] 为了实现上述发明目的,本发明采用的技术方案为:一种基于时间桶的地铁综合 监控系统时间序列触发方法,其特征在于:
[0009] 第一步:专业子系统通过函数调用与注册单元建立主从关系,专业子系统即客户 端、模型即服务端;注册单元据此开辟双方数据交换空间,分为注册数据区和消息数据区: 注册数据区存放负责客户端到服务端的注册请求,消息数据区存放服务端到客户端的在各 时间节点的即时触发消息;
[0010] 第二步:客户端发送在线注册请求至模型注册数据区,注册信息包含客户端使用 者名称、起止日期、时间、多个时间节点、执行间隔、循环模式信息;模型的注册单元接受该 请求,并检测数据逻辑合法性,再将信息转发给资源管理单元,由其负责分配时间桶资源和 加入桶队列;
[0011] 第三步:资源管理单元在桶池中为新请求选用专属时间桶,并为时间桶贴上第二 步骤中的注册信息项标签;同时将新时间桶加入到检测队列尾部,供检测单元使用;
[0012] 第四步:全局定时单元定时向检测单元发送检测指令;
[0013] 第五步:检测单元据检测指令逐一扫描桶队列中每一时间桶的状态及其数据标 签,维护桶内的剩余时间;当某个时间节点到达时,将触发消息送达消息处理单元,同时继 续向桶注入距下一时间节点的时长;
[0014] 第六步:消息处理单元根据客户名称找到对应消息数据区,写入触发通知及包含 时间序列索引的附加信息;
[0015] 第七步:客户端获得触发通知及附加信息,根据自身的逻辑需求执行对应的系统 控制命令;
[0016] 第八步:重复四~七步,直至时间桶到达桶底或客户端提出解注册请求,此时时间 桶已作废,空桶释放回桶池交由资源管理单元处理;
[0017] 第九步:客户端通过函数调用向模型注册数据区发送在线解注册请求,结束触发 控制,解除二者间的联系,释放资源。
[0018] 上述的基于时间桶的地铁综合监控系统时间序列触发方法,其进一步特征在于:
[0019] 所述注册单元:
[0020] 外部系统注册时调用模型的接口函数ts_CreateClient创建一个注册客户端,该 函数包含注册名称和缓冲大小两个参数;注册单元检查注册名称的唯一性,已存在的名称 将被注册单元拒绝;通过检查后注册单元为其开辟指定大小的注册数据区和消息数据区, 其后数据交互即在两个区域内进行;
[0021] 外部系统调用模型的接口函数ts_RegisterRequests向注册单元提交具体的时 序控制需求组,其参数为一组包含详细时序信息的结构体ts_REQINF0组;
[0022] 完成注册后,客户端调用ts_WaitForNotifications阻塞式等待模型消息单元的 触发消息,一旦等待被激活,则处理触发消息,向各自专业下发控制命令;该阻塞行为具有 超时时间设置,当超时动作先行发生时,给等待执行体执行其他必要动作的机会,待完成后 重新进入等待状态;
[0023] 客户端根据需要在注册后的途中暂停或启用模型的触发工作以期与自身的工作 进度相配合;
[0024] 当客户端认为时序控制任务已结束时,调用ts_UnRegisterRequests向注册单元 提交具体的解注册请求,注册单元负责销毁数据区归还系统资源。
[0025] 上述的基于时间桶的地铁综合监控系统时间序列触发方法,其进一步特征在于:
[0026] 所述资源管理单元是数据结构时间桶池和时间桶队列的管理者,其接受注册单元 的注册需求,分配桶资源,并将任务加入到桶调度队列。
[0027] 所述时间桶为带有上下界和数据标签的并装有不定量时间的容器,是触发消息所 依据的核心数据结构,包含数据变量:
[0028] 所述检测单元是产生触发消息的执行部件,基于独立线程,以时间桶队列为操作 对象,逐一扫描队列中指向的每一个对象,依据桶标签和桶状态进行处理判断。
[0029] 所述消息处理单元:检测单元将包含客户端名称、触发的时间序列索引及上下文 数据指针信息通过加锁缓冲区传送给消息处理单元,消息处理单元通过事先开辟的消息区 将信息反馈给客户端;客户端ts_WaitForNotifications阻塞函数将被触发并开展后续数 据处理过程。
[0030] 所述全局定时单元是检测单元执行的触发源,仅执行定时触发任务,采用独立线 程实现,通过加锁缓冲区与检测单元实现数据交互。
[0031] 有益效果:本发明
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1