CN101196832B - 一种面向照明异构设备的资源代理器 - Google Patents

一种面向照明异构设备的资源代理器 Download PDF

Info

Publication number
CN101196832B
CN101196832B CN 200710308582 CN200710308582A CN101196832B CN 101196832 B CN101196832 B CN 101196832B CN 200710308582 CN200710308582 CN 200710308582 CN 200710308582 A CN200710308582 A CN 200710308582A CN 101196832 B CN101196832 B CN 101196832B
Authority
CN
China
Prior art keywords
command
task
result
resource
equipment
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.)
Expired - Fee Related
Application number
CN 200710308582
Other languages
English (en)
Other versions
CN101196832A (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN 200710308582 priority Critical patent/CN101196832B/zh
Publication of CN101196832A publication Critical patent/CN101196832A/zh
Application granted granted Critical
Publication of CN101196832B publication Critical patent/CN101196832B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

一种面向照明异构设备的资源代理器,在虚拟设备资源的统一描述模型的基础上,为屏蔽设备的物理通讯协议异构和业务通信协议异构,采用分层的架构设计思想,将资源代理器自下而上设计为物理通讯协议适配器、业务通信协议适配器、任务执行调度器和统一访问接口,逐层屏蔽设备的异构性并提供访问/控制/监视设备的统一接口,使得分布的、异构的和自治的静态物理设备封装为统一的、动态的虚拟设备网格服务资源,供上层应用调用。本发明提供的装置可以解决由于设备购置时期的不同、各单位信息化程度不同和各区域自主管理等因素造成的设备访问方式多样、全局设备监控和跨区域管理困难的问题。

Description

一种面向照明异构设备的资源代理器
技术领域
本发明属于电数字数据处理领域,涉及一种资源代理器,具体涉及一种面向照明异构设备的资源代理器。
背景技术
随着信息技术在中国各行各业的不断深入,照明领域的信息化迫在眉睫,而大规模范围的景观照明是城市建设内容中的重要组成部分。
大规模范围的景观照明具有以下几个特点:
1、灯具数量多、分布广:一般城市照明面积超过1000公顷,在这么大的范围内用于照明的灯具成千上万,特别是在有节日的时候简直就是灯的海洋,在上千公顷的范围内星罗棋布。
2、灯具种类多,控制方式复杂:不同厂商生产的不同照明设备在通信时都存在着差异,这种差异给统一访问和管理带来困难。
因此需要异构照明设备的资源代理器,屏蔽不同照明设备的差异,解决异构照明设备的互联互通和统一访问问题。
在现有的照明控制系统中,设备资源的数据获取由几部分软件共同完成。对于大部分仪器,该方案具有如下特点:
1)采用配置文件的方式保存设备资源部署相关的信息,配置的格式由软件各自定义,文件信息不易共享,文件访问的安全性不易实现。
2)采用只限于软件内部的身份验证机制,对于同一物理节点上部署的不同管理部门的设备,无法做到管理的分离。密码采取本地设置、本地使用的机制,无法实现远程操作和管理。
4)软件基于单机环境设计,不能满足网络化需求,远程控制实现有困难。
5)软件不能自动后台运行,需要每天(行业规定的采集数据周期)由工作人员手动操作,并定期将数据文件手动上传给上级部门。
6)软件控制由内部逻辑执行,无法作为一个子系统进行集成。
在大规模照明行业内缺乏一个有效统一的设备和数据管理手段,各个单位自行建设。这样就造成大量异构平台与异构数据的存在。同时大规模照明行业中没有形成一个有效的设备统一管理和数据统一交换的手段,造成设备访问方式异构、数据处理手段单一,跨区域处理困难的现状。因此在大规模照明行业中,各级单位与机构虽然拥有大量丰富的设备资源,但是由于缺乏一个统一有效设备和数据的访问与管理机制,形成大量孤岛。这些孤岛影响了大规模照明行业内业务进一步发展,妨碍了大规模照明行业在国民经济建设中发挥更大作用。
由于设备购置时期的不同、各单位信息化程度不同,造成设备访问方式异构、观测数据处理手段单一、全局设备监控和跨区域管理困难等现状。针对这样一个组织结构复杂、设备类型多样的系统,如何屏蔽底层分布性、自治性和异构性,实现设备统一访问和交互式管理是大规模照明行业迫切需要解决的问题。
因此需要采用一种面向大规模照明行业异构设备的资源代理器,屏蔽不同设备的差异,解决异构设备的统一访问的问题,实现异构设备远程访问、控制和交互式管理。
发明内容
本发明提供了一种面向照明异构设备的资源代理器,该装置通过对静态照明物理设备的描述,将照明信息抽象为具有统一属性、命令集、状态和生命周期信息的动态虚拟设备资源;在虚拟设备资源的统一描述模型的基础上,为屏蔽设备的物理通讯协议异构和业务通信协议异构,采用分层的架构设计思想,设置物理通讯协议适配器、业务通信协议适配器、任务执行调度器和统一访问接口,逐层屏蔽设备的异构性并对外提供访问、控制和监视设备的统一接口,使得分布的、异构的和自治的静态物理设备封装为统一的、动态的虚拟设备网格服务资源,供上层应用调用,解决了由于设备购置时期的不同、各单位信息化程度不同和各区域自主管理等因素造成的设备访问方式多样、全局设备监控和跨区域管理困难的问题。
本发明一种面向照明异构设备的资源代理器,设备统一接口接收对虚拟设备资源服务的远程访问控制命令,并将命令传递给任务调度器;任务调度器将命令调度器。
上层应用通过资源代理器的设备统一接口查看其调用的虚拟设备网格服务资源的状态,该服务是否可访问,是否在可使用的有效生命周期中,若资源可用,则发送对设备的远程访问控制命令;若资源部可用,则返回出错信息。
资源代理器通过设备统一接口从上层应用处接收对虚拟设备资源服务的远程访问控制命令,并将命令传递给任务调度器。
任务调度器中的负载均衡器根据对执行线程的负载情况监视,当有新任务到来时,由任务队列管理器将任务下发给一个执行线程池中状态为空闲的执行线程进行任务的执行;当所有执行线程当前负载状态均为忙时,负载均衡器会将该任务放入任务队列管理器的任务队列中,并向上层访问设备的应用服务发送请求减慢发送任务速度的请求。一旦任务分发成功,调度者不再管理该任务的执行,而转向处理下一个任务。
执行线程作为任务的执行者,首先调用业务通信协议适配器中的命令构造器对任务队列管理器调度后的虚拟设备访问命令进行解析,如果是不能支持的命令,执行者直接向上层访问设备的应用服务返回命令不能支持的信息,并结束当前任务的执行;如果命令能够被处理,执行者首先查看缓存的中是否已经存在尚具实效性的该任务执行结果,如果找到该结果,可以重复利用以减轻物理连接通讯负担;如果不存在缓存结果,开始物理设备访问命令的构造过程,当命令序列构造完成,绑定物理设备的连接信息和结果处理方法,并作为一个整体加入命令队列进行排队。执行者就完成命令构造的过程,等待命令执行结束。
命令队列管理器根据命令的连接信息的不同,采用优化策略将命令插入到命令队列中,并在命令执行的整个生命周期中,维护命令与其连接信息和结果处理方法等的映射。
命令执行引擎首先从命令队列的头部取出子命令,取出它的连接信息和当前连接状态信息比较,当连接建立成功时,命令执行引擎开始从命令序列中取出未完成子命令,调用Send接口发向设备,等待设备响应,并调用连接状态管理器管理该连接的状态;当设备返回命令的执行结果时,命令执行引擎调用Receive接口获取结果,为了保证结果的有效性和正确性,命令执行引擎首先对结果的检查,当确定结果正确后,为了结果再利用和后处理方便,将该结果缓存在内存中。
当子命令执行完成后,命令执行引擎将通知执行线程查看其任务所对应的命令序列是否全部执行完成:若尚有子命令未执行完,则执行线程将继续等待;若等待的时间超过了该任务的生命周期限制,执行者会放弃任务的正常执行,取消命令队列管理器中的任务队列中等待的命令序列,向上层访问设备的应用服务返回任务执行超时的信息,并返回空闲状态;当执行线程发现命令序列已全部执行完成,将调用结果重构器对结果进行处理。
结果的重构器根据命令队列管理器中维护的结果处理方法标识,从元数据管理器中获取结果解析所需的结果集元数据,首先对物理通信协议适配器缓存的原始格式混合数据结果进行解析,拆分为具有独立业务含义的数据项,并分别存储;然后对各数据项进行基于业务逻辑的语义映射,得到处理后的数据项;最后对处理后的数据项根据任务需求进行重组,拼接成任务所需返回的标准结果格式。每一步的处理的结果都将缓存在硬盘的文件中,以便后续相同请求的直接利用。
结果重构结束后,执行线程取出最后的缓存结果,将内容发给上层应用,完成任务执行的过程。执行线程返回空闲状态,等待接受下一个任务。
所述任务调度器采用三次握手的任务分发模型:负载均衡器首先轮询执行线程池所有的执行线程,查询其空闲状态,当执行线程接受到这个空闲状态查询信息之后,响应并上报自己的运行状态;负载均衡器收到第一个状态为空闲的执行线程回复,即确定了一个立即可用的执行者,它就可以把任务递交给这个执行者,返回处理下一个任务请求。因一个资源代理器可代理多个虚拟设备资源,故多个执行线程可以满足上层应用对资源的并发访问的需求。
所述虚拟设备资源的元数据信息包含以下内容:设备资源全局唯一标识,资源代理全局唯一标识,设备资源静态固有属性集,设备资源动态状态集,设备资源交互式操作命令集,设备资源生命周期信息集。
所述业务通信协议适配器中的元数据管理器为获取较快的元数据查询速度以及简化查询步骤,在内存里维护持久化元数据的副本,一般的本地查询直接对内存中的元数据副本进行操作,远程的元数据查询通过TCP连接进行。在资源代理器启动时,元数据管理器从持久化的元数据信息源中获取设备属性元数据信息,将内存中的元数据副本内容与持久化容器中保存得元数据信息同步;另一方面,元数据管理器在程序结构上采用Factory Pattern,Strategy Pattern等模式将设备异构的命令集/结果集元数据在内部封装,将异构性屏蔽在任务构造中;并且在虚拟设备服务资源的整个生命周期中对其运行状态进行监控,获取状态/生命周期元数据信息。
所述业务通信协议适配器中的命令构造器在完成虚拟设备的命令集到物理设备命令转换时,由于命令集的异构性,不能做到命令功能一一对应,因此构造的结果将是一个命令序列。
所述业务通信协议适配器中的命令队列管理器,因在命令的执行过程中,频繁的切换连接或者频繁的打开、断开同一连接都是对执行时间的浪费,命令队列管理器在命令序列插入到命令队列时采用优化的插入策略。
所述物理通讯协议适配器采用Strategy模式和Factory模式完成统一连接器接口和不同连接器实现的分离。将接口抽象为Connect,Send,Receive,Close四种操作,由不同连接器实现去完成抽象的接口操作到实际的物理连接操作的映射过程。调用的顺序为Connect,Send,Receive,goto 2 or Close,连接的参数信息和配置信息通过Connect的参数传入,即Connect的连接信息可以在使用接口的任何一个操作中使用。Send和Receive的参数是连接的冲突检测参数和命令等待时长,因在串口总线上没有数据链路层的支持,需要自行实现冲突检测,故本适配器采用CDMA/CD,即检测到冲突后,等待一个定长的时间,再尝试使用该总线。对于调制解调器建立的PPP连接+串口总线的情况,这种冲突检测机制收到了很好的效果。命令等待时长是命令中的一个参数,指从发送命令到结果接受完毕的最长使用时间。超过该时间,当前命令视为结束而放弃继续执行。这种设计在保证当命令队列负载很大的时候不会出现一个命令独占连接资源的情况。在调制解调器连接中,这种策略使误接收连续的非业务数据的可能性降低了,避免访问者在接收无限长的无意义信息(常出现在拨号连接出现故障的情况下)时卡死而使适配器变得不可用。
所述业务通信协议适配器中的结果重构器引入单元数据中间层,将结果处理分为了三个层次:原始结果拆分为单元数据,单元数据的语义映射、单元数据的按需重组。由工厂模式和包装器模式来提供。每一层的结果处理都包含输入方式、输出方式、处理过程三部分,其中输入、输出的方式由负责每层处理的子工厂根据需求动态指定,组合为包装器中的一层。当各层组装完毕,主工厂将每层子工厂的组合结果相连,完成总的结果处理过程的组装。当任务执行者调用结果处理过程的统一接口,就嵌套调用了各层的处理接口,来完成结果的处理全程。其中,每层的结果采用文件方式缓存,供遗留系统并行观测使用。
本发明一种面向照明异构设备的资源代理器的优点在于:
解决了由于设备购置时期的不同、各单位信息化程度不同和各区域自主管理等因素造成的设备访问方式多样、全局设备监控和跨区域管理困难的问题。
附图说明
图1为本发明一种面向照明异构设备的资源代理器的体系结构图;
图2为本发明一种面向照明异构设备的资源代理器的逻辑位置图;
图3为本发明一种面向照明异构设备的资源代理器的命令构造器执行流程图;
图4为本发明一种面向照明异构设备的资源代理器的命令队列优化模型结构图;
图5为本发明一种面向照明异构设备的资源代理器的命令执行引擎流程图;
图6为本发明一种面向照明异构设备的资源代理器的物理设备多种连接方式示意图;
图7为本发明一种面向照明异构设备的资源代理器的整点观测结果处理的层次执行过程示意图;
图8为本发明一种面向照明异构设备的资源代理器的结果重构器工作流程图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细的说明。
本发明的目的在于提出一种面向照明异构设备的资源代理器,该装置解决了由于设备购置时期的不同、各单位信息化程度不同和各区域自主管理等因素造成的设备访问方式多样、全局设备监控和跨区域管理困难的问题。
本发明是通过如下技术方案来实现的:
一种面向照明异构设备的资源代理器,体系结构如图1所示,是通过对静态照明物理设备的描述,将其抽象为具有统一属性、命令集、状态和生命周期信息的动态虚拟设备资源;在虚拟设备资源的统一描述模型的基础上,为屏蔽设备的物理通讯协议异构和业务通信协议异构,采用分层的架构设计思想,将资源代理器自下而上设计为物理通讯协议适配器、业务通信协议适配器、任务执行调度器和统一访问接口,逐层屏蔽设备的异构性并提供访问/控制/监视设备的统一接口,使得分布的、异构的和自治的静态物理设备封装为统一的、动态的虚拟设备网格服务资源,供上层应用调用,其逻辑位置如图2所示。
上述装置的具体工作流程如下:
(1)上层应用通过资源代理器的设备统一接口查看其调用的虚拟设备网格服务资源的状态,该服务是否可访问,是否在可使用的有效生命周期中;若资源可用,则发送对设备的远程访问控制命令;若资源部可用,则返回出错信息。
(2)资源代理器通过设备统一接口从上层应用处接收对虚拟设备资源服务的远程操作命令,并将命令传递给任务调度器。
(3)任务调度器中的负载均衡器根据对执行线程的负载情况监视,当有新任务到来时,将任务下发给一个状态为空闲的执行线程进行任务的执行;当所有执行线程当前负载状态均为忙时,负载均衡器会将该任务放入任务队列中,并向上层调用接口发送请求减慢发送任务速度的请求。一旦任务分发成功,调度者不再管理该任务的执行,而转向处理下一个任务。
任务调度器采用三次握手的任务分发模型:负载均衡器首先轮询所有的执行线程,查询其空闲状态,当执行线程接受到这个空闲状态查询信息之后,响应并上报自己的运行状态;负载均衡器收到第一个状态为空闲的执行线程回复,即确定了一个立即可用的执行者,它就可以把任务递交给这个执行者,返回处理下一个任务请求。因一个资源代理器可代理多个虚拟设备资源,故多个执行线程可以满足上层应用对资源的并发访问的需求。
(4)执行线程作为任务的执行者,首先调用业务通信协议适配器中的命令构造器对虚拟设备访问命令进行解析,如果是不能支持的命令,执行者直接返回命令不能支持的信息,并结束当前任务的执行;如果命令能够被处理,执行者首先查看缓存的中是否已经存在尚具实效性的该任务执行结果,如果找到该结果,可以重复利用以减轻物理连接通讯负担;如果不存在缓存结果,执行者开始物理设备命令序列的构造过程,构造过程根据物理设备命令集的异构程度不同,构造的结果是由多条物理设备命令构成的命令序列。执行者通过查询物理设备相应的元数据,细化所需数据项,并根据物理设备的类型进行命令的语义映射,当命令序列构造完成,绑定物理设备的连接信息和结果处理方法,并作为一个整体加入命令队列进行排队。执行者就完成命令构造的过程,等待命令执行结束。
命令构造器在完成虚拟设备的命令集到物理设备命令转换时,由于命令集的异构性,不能做到命令功能一一对应,因此构造的结果将是一个命令序列。假设虚拟设备统一访问命令的解析结果是一个对数据集合A的数据请求,其中包括数据项a,b,c等,命令的语义映射过程是在设备元数据中查找能够获得集合A中的每一项数据的物理设备命令,并加入物理设备命令序列集合B中;当映射完成后,对B中的命令进行最小化,去除冗余的命令,即得到了发给物理设备的命令序列。
以上层应用向虚拟设备发送采集设备昨天观测数据的命令为例,如图3所示,命令构造器的具体工作流程如下:
a)解析上层应用对虚拟设备发送的命令类型,如果命令不存在,则返回命令不能支持的信息,并结束当前任务的执行;如果命令存在,则继续步骤b;
b)查看缓存的中是否已经存在尚具实效性的该任务执行结果,如果找到该结果,可以重复利用以减轻物理连接通讯负担;如果不存在缓存结果,则继续步骤c;
c)通过虚拟设备ID和物理设备ID的映射,获取相关的物理设备元数据,细化所有数据项,并利用物理设备属性元数据与向CmdBuilderFactory(命令集元数据)获取命令构造方法。
d)经过命令的语义映射并对B进行最小化,根据物理设备的类型不同,构造不同的命令序列集合B。
e)当命令序列构造完成,用物理设备元数据向ConnectionFactory获取物理连接访问方法,将物理连接方法与命令序列绑定;用物理设备元数据向ResultProcessFactory获取结果处理方法,将结果处理方法与命令序列绑定;然后将其作为一个整体加入命令队列进行排队。
(5)因部分物理连接方法(如串口连接)只能串行发送命令,且存在多个物理设备连接在同一物理连接资源上的情况,命令队列管理器根据命令的连接信息的不同,采用优化策略将命令插入到命令队列中,并在命令执行的整个生命周期中,维护命令与其连接信息和结果处理方法等的映射;
因在命令的执行过程中,频繁的切换连接或者频繁的打开、断开同一连接都是对执行时间的浪费,命令队列管理器在命令序列插入到命令队列时采用优化的插入策略,如图4所示,当有新的命令序列插入时,命令队列管理器从队头开始,搜索队列中与即将插队序列具有相同连接信息的命令序列:若存在相同连接,则合并子命令序列;若不存在相同连接信息,则直接将该命令序列追加在队尾。
(6)如图5所示,命令执行引擎首先从命令队列的头部取出子命令,取出它的连接信息和当前连接状态信息比较:若连接信息相同,则继续使用此连接发送命令;若连接信息不同,则引擎先用命令序列中的连接信息替换当前连接状态信息,然后使用该连接状态信息调用Open接口与物理设备建立连接;当连接建立成功时,引擎开始从命令序列中取出未完成子命令,调用Send接口发向设备,等待设备响应,并调用连接状态管理器管理该连接的状态;当设备返回命令的执行结果时,调用Receive接口获取结果,为了保证结果的有效性和正确性,命令执行引擎首先对结果的检查,当确定结果正确后,为了结果再利用和后处理方便,将该结果缓存;
如图6所示,物理设备具有多种连接方式:IP直连、网口转串口、串口直连、串口接Modem、网口转串口接modem等,因此物理通讯协议适配器采用Strategy模式和Factory模式完成统一连接器接口和不同连接器实现的分离。将接口抽象为Connect,Send,Receive,Close四种操作,由不同连接器实现去完成抽象的接口操作到实际的物理连接操作的映射过程,接口参数如表1所示:
表1连接层接口参数
Figure 200710308582XA00800011
接口的调用顺序调用的顺序为
a)Connect
b)Send
c)Receive
d)goto 2 or Close
连接的参数信息和配置信息通过Connect的参数传入,即Connect的连接信息可以在使用接口的任何一个操作中使用。
Send和Receive的参数是连接的冲突检测参数和命令等待时长,因在串口总线上没有数据链路层的支持,需要自行实现冲突检测,故本适配器采用CDMA/CD,即检测到冲突后,等待一个定长的时间,再尝试使用该总线。对于调制解调器建立的PPP连接+串口总线的情况,这种冲突检测机制收到了很好的效果。命令等待时长是命令中的一个参数,指从发送命令到结果接受完毕的最长使用时间。超过该时间,当前命令视为结束而放弃继续执行。这种设计在保证当命令队列负载很大的时候不会出现一个命令独占连接资源的情况。在调制解调器连接中,这种策略使误接收连续的非业务数据的可能性降低了,避免访问者在接收无限长的无意义信息(常出现在拨号连接出现故障的情况下)时卡死而使适配器变得不可用。
(7)  当子命令执行完成后,命令执行引擎将通知执行线程查看其任务所对应的命令序列是否全部执行完成:若尚有子命令未执行完,则执行线程将继续等待;若等待的时间超过了该任务的生命周期限制,执行者会放弃任务的正常执行,取消任务队列中等待的命令序列,向请求方提交任务执行超时的信息,并返回空闲状态;当执行线程发现命令序列已全部执行完成,将调用结果重构器对结果进行处理。
(8)  结果的重构器根据命令队列管理器中维护的结果处理方法,首先对物理设备返回原始格式的混合数据结果进行解析,拆分为具有独立业务含义的数据项,并分别存储;然后对各数据项进行基于业务逻辑的语义映射,得到处理后的数据项;最后对处理后的数据项根据任务需求进行重组,拼接成任务所需返回的标准结果格式。每一步的处理的结果都将缓存在文件中,以便后续相同请求的直接利用。整点观测结果处理的层次执行过程如图7所示。
每一层的结果处理都包含输入方式、输出方式、处理过程三部分,分别由ResultProcessMethod,ResultProcessInput,ResultProcessOutput接口定义,不同的实现由ResultProcessFactory统一装配。
其中输入、输出的方式由负责每层处理的子工厂根据需求动态指定,组合为包装器中的一层。当各层组装完毕,主工厂将每层子工厂的组合结果相连,完成总的结果处理过程的组装。当任务执行者调用结果处理过程的统一接口,就嵌套调用了各层的处理接口,来完成结果的处理全程。其中,每层的结果采用文件方式缓存,供遗留系统并行观测使用。这种处理方式包含两层动态性:每层内部的输入、执行、输出的动态组合,和层次之间的动态连接。当有新的结果处理方式、中间结果缓存需求、或结果处理层次出现时,可以根据需求的性质编写输入、执行、输出的新实现,在组装时动态替换现有的实现,来完成新的处理模式。
以采集设备昨天观测数据的命令的结果解析为例为例,如图8所示,结果重构器的具体工作流程如下:
a)混合结果解析:从物理设备返回的.org文件中获取原始的结果,根据物理设备的通道信息,将结果按物理通道拆分,并将通道数据在内存中以缓冲区的形式保存;
b)结果语义映射:访问内存缓冲区获取通道数据,根本该通道的业务需要,进行物理量量纲转换,并将转换后的通道数据以.ftp文件形式保存;
c)子任务结果聚合:访问.ftp文件获取转换后的通道数据,根据虚拟设备与物理设备结果集映射的元数据信息,构造虚拟设备的返回数据,将构造后的数据以.depd文件形式保存;
d)将.depd文件形式的虚拟设备结果返回上层应用,结束命令构造器的此次执行,等待下一个任务。
(9)结果重构结束后,执行线程取出最后的缓存结果,将内容发给上层应用,完成任务执行的过程。执行线程返回空闲状态,等待接受下一个任务。

Claims (8)

1.一种面向照明异构设备的资源代理方法,其特征在于:设备统一接口接收对虚拟设备资源服务的远程访问控制命令,并将命令传递给任务调度器;
上层应用通过资源代理器的设备统一接口查看其调用的虚拟设备资源服务的状态,虚拟设备资源服务是否可访问,是否在可使用的有效生命周期中,若资源可用,则发送对设备的远程访问控制命令;若资源不可用,则返回出错信息;
资源代理器通过设备统一接口从上层应用处接收对虚拟设备资源服务的远程访问控制命令,并将命令传递给任务调度器;
任务调度器中的负载均衡器根据对执行线程的负载情况监视,当有新任务到来时,由任务队列管理器将任务下发给一个执行线程池中状态为空闲的执行线程进行任务的执行;当所有执行线程当前负载状态均为忙时,负载均衡器会将该任务放入任务队列管理器的任务队列中,并向上层访问设备的应用服务发送请求减慢发送任务速度的请求;一旦任务分发成功,调度者不再管理该任务的执行,而转向处理下一个任务;
执行线程作为任务的执行者,首先调用业务通信协议适配器中的命令构造器对任务队列管理器调度后的虚拟设备访问命令进行解析,如果是不能支持的命令,执行者直接向上层访问设备的应用服务返回命令不能支持的信息,并结束当前任务的执行;如果命令能够被处理,执行者首先查看缓存中是否已经存在尚具实效性的该命令的执行结果,如果找到该结果,可以重复利用以减轻物理连接通讯负担;如果不存在缓存结果,开始物理设备访问命令的构造过程,当命令序列构造完成,绑定物理设备的连接信息和结果处理方法,并作为一个整体加入命令队列进行排队;执行者就完成命令构造的过程,等待命令执行结束;
业务通信协议适配器中的命令队列管理器根据命令的连接信息的不同,采用优化策略将命令插入到命令队列中,并在命令执行的整个生命周期中,维护命令与其连接信息和结果处理方法的映射;
业务通信协议适配器中的命令执行引擎首先从命令队列的头部取出子命令,取出它的连接信息和当前连接状态信息比较,当连接建立成功时,命令执行引擎开始从命令序列中取出未完成子命令,调用Send接口发向设备,等待设备响应,并调用连接状态管理器管理该连接的状态;当设备返回命令的执行结果时,命令执行引擎调用Receive接口获取结果,为了保证结果的有效性和正确性,命令执行引擎首先对结果进行检查,当确定结果正确后,为了结果再利用和后处理方便,将该结果缓存在内存中;
当子命令执行完成后,命令执行引擎将通知执行线程查看其任务所对应的命令序列是否全部执行完成:若尚有子命令未执行完,则执行线程将继续等待;若等待的时间超过了该任务的生命周期限制,执行者会放弃任务的正常执行,取消命令队列管理器中的任务队列中等待的命令序列,向上层访问设备的应用服务返回任务执行超时的信息,并返回空闲状态;当执行线程发现命令序列已全部执行完成,将调用结果重构器对结果进行处理;
业务通信协议适配器中的结果重构器根据命令队列管理器中维护的结果处理方法标识,从元数据管理器中获取结果解析所需的结果集元数据,首先对物理通信协议适配器缓存的原始格式混合数据结果进行解析,拆分为具有独立业务含义的数据项,并分别存储;然后对各数据项进行基于业务逻辑的语义映射,得到处理后的数据项;最后对处理后的数据项根据任务需求进行重组,拼接成任务所需返回的标准结果格式;每一步的处理的结果都将缓存在硬盘的文件中,以便后续相同请求的直接利用;
结果重构结束后,执行线程取出最后的缓存结果,将内容发给上层应用,完成任务执行的过程;执行线程返回空闲状态,等待接受下一个任务。
2.根据权利要求1所述一种面向照明异构设备的资源代理方法,其特征在于:所述任务调度器采用三次握手的任务分发模型:负载均衡器首先轮询执行线程池所有的执行线程,查询其空闲状态,当执行线程接受到这个空闲状态查询信息之后,响应并上报自己的运行状态;负载均衡器收到第一个状态为空闲的执行线程回复,即确定了一个立即可用的执行者,它就可以把任务递交给这个执行者,返回处理下一个任务请求;因一个资源代理器可代理多个虚拟设备资源,故多个执行线程可以满足上层应用对资源的并发访问的需求。
3.根据权利要求1所述一种面向照明异构设备的资源代理方法,其特征在于:所述虚拟设备资源服务的元数据信息包含以下内容:设备资源全局唯一标识,资源代理全局唯一标识,设备资源静态固有属性集,设备资源动态状态集,设备资源交互式操作命令集,设备资源生命周期信息集。
4.根据权利要求1所述一种面向照明异构设备的资源代理方法,其特征在于:所述业务通信协议适配器中的元数据管理器为获取较快的元数据查询速度以及简化查询步骤,在内存里维护持久化元数据的副本,一般的本地查询直接对内存中的元数据副本进行操作,远程的元数据查询通过TCP连接进行;在资源代理器启动时,元数据管理器从持久化的元数据信息源中获取设备属性元数据信息,将内存中的元数据副本内容与持久化容器中保存的元数据信息同步;另一方面,元数据管理器在程序结构上采用Factory Pattern,Strategy Pattern模式将设备异构的命令集/结果集元数据在内部封装,将异构性屏蔽在任务构造中;并且在虚拟设备服务资源的整个生命周期中对其运行状态进行监控,获取状态/生命周期元数据信息。
5.根据权利要求1所述一种面向照明异构设备的资源代理方法,其特征在于:所述业务通信协议适配器中的命令构造器在完成虚拟设备的命令集到物理设备命令转换时,由于命令集的异构性,不能做到命令功能一一对应,因此构造的结果将是一个命令序列。
6.根据权利要求1所述一种面向照明异构设备的资源代理方法,其特征在于:所述业务通信协议适配器中的命令队列管理器,因在命令的执行过程中,频繁的切换连接或者频繁的打开、断开同一连接都是对执行时间的浪费,命令队列管理器在命令序列插入到命令队列时采用优化的插入策略。
7.根据权利要求1所述一种面向照明异构设备的资源代理方法,其特征在于:所述物理通讯协议适配器采用Strategy模式和Factory模式完成统一连接器接口和不同连接器实现的分离;将接口抽象为Connect,Send,Receive,Close四种操作,由不同连接器实现去完成抽象的接口操作到实际的物理连接操作的映射过程;调用的顺序为Connect,Send,Receive,Close,连接的参数信息和配置信息通过Connect的参数传入,即Connect的连接信息可以在使用接口的任何一个操作中使用;Send和Receive的参数是连接的冲突检测参数和命令等待时长,因在串口总线上没有数据链路层的支持,需要自行实现冲突检测,故本适配器检测到冲突后,等待一个定长的时间,再尝试使用该总线;对于调制解调器建立的PPP连接+串口总线的情况,这种冲突检测机制收到了很好的效果;命令等待时长是命令中的一个参数,指从发送命令到结果接受完毕的最长使用时间;超过该时间,当前命令视为结束而放弃继续执行;这种设计在保证当命令队列负载很大的时候不会出现一个命令独占连接资源的情况;在调制解调器连接中,这种策略使误接收连续的非业务数据的可能性降低了,避免访问者在接收无限长的无意义信息时卡死而使适配器变得不可用。
8.根据权利要求1所述一种面向照明异构设备的资源代理方法,其特征在于:所述业务通信协议适配器中的结果重构器引入单元数据中间层,将结果处理分为了三个层次:原始结果拆分为单元数据,单元数据的语义映射、单元数据的按需重组;由工厂模式和包装器模式来提供;每一层的结果处理都包含输入方式、输出方式、处理过程三部分,其中输入、输出的方式由负责每层处理的子工厂根据需求动态指定,组合为包装器中的一层;当各层组装完毕,主工厂将每层子工厂的组合结果相连,完成总的结果处理过程的组装;当任务执行者调用结果处理过程的统一接口,就嵌套调用了各层的处理接口,来完成结果的处理全程。
CN 200710308582 2007-12-29 2007-12-29 一种面向照明异构设备的资源代理器 Expired - Fee Related CN101196832B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710308582 CN101196832B (zh) 2007-12-29 2007-12-29 一种面向照明异构设备的资源代理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710308582 CN101196832B (zh) 2007-12-29 2007-12-29 一种面向照明异构设备的资源代理器

Publications (2)

Publication Number Publication Date
CN101196832A CN101196832A (zh) 2008-06-11
CN101196832B true CN101196832B (zh) 2012-12-19

Family

ID=39547265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710308582 Expired - Fee Related CN101196832B (zh) 2007-12-29 2007-12-29 一种面向照明异构设备的资源代理器

Country Status (1)

Country Link
CN (1) CN101196832B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459694B (zh) * 2008-12-31 2012-12-05 中国科学院计算技术研究所 针对分布式文件系统的高可用消息传输框架和方法
CN102567106B (zh) * 2010-12-30 2014-10-01 中国移动通信集团云南有限公司 任务调度方法、系统和装置
TWI439925B (zh) * 2011-12-01 2014-06-01 Inst Information Industry 內嵌式系統及其執行緒與緩衝區管理方法
CN103166971B (zh) * 2013-03-15 2016-05-11 广东盈嘉科技工程发展股份有限公司 一种多路复用串口协议转换方法
CN105022622B (zh) * 2014-04-29 2018-09-28 鼎捷软件股份有限公司 适用于远程程序呼叫的逾时控制单元与远程程序呼叫方法
CN103973489B (zh) * 2014-04-30 2016-08-24 北京航天万达高科技有限公司 一种异构设备集中监控系统
CN105808152B (zh) * 2014-12-29 2018-11-27 曙光云计算集团有限公司 一种优化raid全局元数据读写性能的方法
CN105512207B (zh) * 2015-11-27 2019-04-09 上海携程商务有限公司 争抢式的数据复制方法
CN107147635A (zh) * 2017-04-28 2017-09-08 上海斐讯数据通信技术有限公司 基于多线程的成倍提高海量上行文件数据的协议解析处理方法和系统
CN107480302A (zh) * 2017-09-05 2017-12-15 四川中电启明星信息技术有限公司 一种基于企业级应用场景的松耦合数据集成同步实现方法
CN110516089A (zh) * 2019-08-29 2019-11-29 四川东方网力科技有限公司 图片存储和读取服务的实现方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540481A (zh) * 2003-10-31 2004-10-27 清华大学 基于网格环境的多计算引擎协同使用方法
CN1707443A (zh) * 2004-06-04 2005-12-14 威芯科技股份有限公司 智能平台管理接口验证系统及方法
CN1790275A (zh) * 2005-12-26 2006-06-21 北京航空航天大学 服务网格调度器及调度作业的方法
CN101094173A (zh) * 2007-06-28 2007-12-26 上海交通大学 分布式异构环境下的数据交换集成系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540481A (zh) * 2003-10-31 2004-10-27 清华大学 基于网格环境的多计算引擎协同使用方法
CN1707443A (zh) * 2004-06-04 2005-12-14 威芯科技股份有限公司 智能平台管理接口验证系统及方法
CN1790275A (zh) * 2005-12-26 2006-06-21 北京航空航天大学 服务网格调度器及调度作业的方法
CN101094173A (zh) * 2007-06-28 2007-12-26 上海交通大学 分布式异构环境下的数据交换集成系统

Also Published As

Publication number Publication date
CN101196832A (zh) 2008-06-11

Similar Documents

Publication Publication Date Title
CN101196832B (zh) 一种面向照明异构设备的资源代理器
CN101694709B (zh) 一种面向服务的分布式工作流管理系统
CN100576841C (zh) 在主机计算机网络上处理客户机请求的系统和方法
CN102831120B (zh) 一种数据处理方法及系统
CN102103518A (zh) 一种在虚拟化环境中管理资源的系统及其实现方法
CN103064742A (zh) 一种hadoop集群的自动部署系统及方法
CN102662725B (zh) 一种事件驱动的高并发流程虚拟机实现方法
CN109086301A (zh) 一种基于云计算的数据管理平台
CN101424941B (zh) 一种控制实现方法和系统
CN103793275A (zh) 实现负载均衡的系统及处理方法
CN1842078B (zh) 网格服务系统
CN113515363B (zh) 面向异型任务高并发的多层次数据处理系统动态调度平台
CN110134533B (zh) 一种可批量调度数据的系统及方法
CN111240819A (zh) 一种调度任务的发布系统及方法
CN114816694A (zh) 一种多流程协作的rpa任务调度方法及装置
CN101540776A (zh) 一种支持自适应调度的网格中间件系统
CN112395056B (zh) 一种嵌入式非对称实时系统及电力二次设备
CN102193831A (zh) 一种建立层次化的映射/归约并行编程模型的方法
CN100440802C (zh) 服务网格系统及处理作业的方法
CN113366464A (zh) 用于在数据库中嵌入流处理执行的系统
CN114385541A (zh) 一种面向智能制造的opc ua聚合服务器及其设计方法
Kravtsov et al. Service-based Resource Brokering for Grid-Based Data Mining.
Li et al. Cress: Dynamic scheduling for resource constrained jobs
Hui et al. Flexible and extensible load balancing
CN102857582A (zh) 一种具有自动适配功能的Web服务集成系统

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
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Deng Pan

Inventor after: Chen Feng

Inventor after: Rong Xiaohui

Inventor after: Ma Shilong

Inventor after: Wang Jinghua

Inventor after: Liu Yunzhen

Inventor after: Liu Hongyu

Inventor after: Jiang Peng

Inventor before: Deng Pan

Inventor before: Chen Feng

Inventor before: Rong Xiaohui

Inventor before: Ma Shilong

Inventor before: Liu Yunzhen

Inventor before: Liu Hongyu

Inventor before: Jiang Peng

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: DENG PAN CHEN FENG RONG XIAOHUI MA SHILONG LIU YUNZHEN LIU HONGYU JIANG PENG TO: DENG PAN CHEN FENG RONG XIAOHUI MA SHILONG WANG JINGHUA LIU YUNZHEN LIU HONGYU JIANG PENG

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121219

Termination date: 20131229