1、上海交通大学硕士学位论文RFID中间件负载平衡姓名:赵杨申请学位级别:硕士专业:软件工程指导教师:王东20090201上海交通大学工学硕士学位论文 摘要 第 I 页 RFID中间件负载平衡 摘 要 随着RFID技术的不断发展, RFID技术在诸多领域中应用的愈发重要,与此同时其应用的规模也越来越大。RFID的应用离不开RFID软件,而RFID中间件是处于RFID硬件系统和应用系统之间的一类软件。RFID中间件屏蔽了底层RFID硬件设备的多样性和复杂性,同时又与上层企业应用系统集成,在RFID应用中扮演重要的角色。现有的RFID中间件产品及其架构大都是一站式服务,没有考虑在分布式环境下对企业RF
2、ID应用进行稳定而且可靠的扩展,因此不能较好的适应企业对大规模RFID的应用需求。于是,负载平衡在大规模RFID中间件应用系统中的作用逐渐凸显。 RFID中间件负载平衡模型的研究与设计,包括基于动态权值的任务分配策略、基于移动Agent的负载信息收集策略和基于Agent的定位和迁移策略这三个部分。我们的负载分配算法基于RFID标准架构即ALE,并把ALE中的ECSpecs做为RFID中间件的负载度量。因此,负载平衡是通过选取合适的ECSpecs,并把其从重载RFID中间件迁移至轻载RFID中间件来实现的,同时还实现了算法的自适应性。我们设计了2种Agent,负载信息收集Agent和负载平衡Ag
3、ent,它们通过协作完成负载平衡中的相应策略。最后仿真实验构造一个八个节点的RFID中间件集群系统,实验结果表明,随着负载的增加,本文负载平衡算法比常见的轮转法在维护系统稳定性和提高系统利用率上有较为明显的改善和提高。 上海交通大学工学硕士学位论文 摘要 第 II 页 为了改善大规模RFID应用集群系统的负载平衡有效性、高效性和系统可扩展性,本文首先分析集群技术及其负载平衡技术的现状与发展趋势,指出了当前集群负载平衡机制的一些问题和不足,在综合分析RFID中间件技术、集群计算技术和Agent技术基础上,将智能化的Agent技术思想引入RFID中间件集群负载平衡机制设计中,提出了一个基于Agen
4、t的RFID中间件负载平衡模型。针对上海交通大学软件学院正在开发中的RFID中间件3.0,开发了负载平衡组件,较好得实现了系统稳定性和高效性的要求。 关键词:RFID中间件,负载平衡,Agent技术,自适应 上海交通大学工程硕士学位论文 ABSTRACT 第 III 页 LOAD BALANCING OF RFID MIDDLEWARE ABSTRACT With the continuous development of RFID technology, the application of RFID technology is more and more important in many
5、 fields, and the scale of its application also growing. The application of RFID can not be separated from the application of RFID software, and RFID middleware is one kind of software between RFID hardware systems and application systems. RFID middleware shields the diversity and complexity of RFID
6、hardware device, at the same time integrates with the enterprise application systems, which plays an important role in RFID applications. The existing RFID middleware product and its structure are one-stop service, they are not considered to carry on stable and reliable expansion of enterprise RFID
7、applications in the distributed computing environment, so it cannot be better adapt to enterprises large-scale RFID application requirements. Therefore, load balancing plays more and more important role in large-scale RFID application systems. The research and design of RFID middleware load balancin
8、g mechanism include three parts, which are task allocation strategy based on dynamic weights, load information collection strategy based on mobile Agent, and the Agent-based positioning and migration strategies. Our load distribution algorithm is based on the RFID standard architecture, namely ALE,
9、and ECSpecs in ALE is made as the load measurement of the RFID middleware. Therefore, load-balancing is achieved through the selection ECSpecs, and 上海交通大学工程硕士学位论文 ABSTRACT 第 IV 页 moving it from overload RFID middleware to light load RFID middleware, and meanwhile achieved adaptive algorithm. We desi
10、gned two kinds of Agent, Load Gathering Agent and RFID Middleware Load Balancing Agent, so they can complete the relevant strategy in load balancing through cooperation. Finally, simulation test constructs an eight-node RFID middleware cluster system. The experimental results show that with the incr
11、ease of load, compared with Round Robin Algorithm, the load balancing algorithm in this article obviously improves a lot in the maintenance of system stability and the system utilization. In order to improve the effectiveness, efficiency and system expandability of load balance of large-scale RFID a
12、pplication cluster system, at first, this article analyze the current situation and development trend of cluster technology and its load balancing technology, pointing out some problems and shortcomings in the current cluster load balance mechanism. Based on a comprehensive analysis of RFID middlewa
13、re technology, cluster computing technology and Agent technology, the idea of intelligent Agent technology is introduced to the design of RFID middleware cluster load balance mechanism, and an Agent-based RFID middleware load-balance model is proposed. In connection with the RFID middleware 3.0, whi
14、ch is being developed by Shanghai Jiaotong University Software College, load balancing component is developed so as to achieve better system stability and high efficiency requirements. Keywords: RFID middleware, load balance, Agent technology, adaptive上海交通大学 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行
15、研究工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:赵杨 日期:2009年2 月 2日 上海交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权上海交通大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密,在 年解密后适
16、用本授权书。 本学位论文属于 不保密。 (请在以上方框内打“”) 学位论文作者签名:赵杨 指导教师签名:王东 日期:2009年2 月 2日 日期:2009年2 月 2日上海交通大学工程硕士学位论文 第一章 绪论 第 1 页 第一章 绪论 1.1 研究背景及意义 1.1.1 RFID应用及RFID中间件 电子标签,又称为射频识别(radio frequency identification,以下简称RFID)技术,是从20世纪90年代兴起的一项自动识别技术。RFID技术受到工厂和实验室的共同关注。它利用无线射频方式进行非接触双向通信,以达到识别目的并交换数据。RFID读写器通过电磁波与RFID标
17、签通信。与磁卡和IC卡相比,RFID标签不用同读写器进行物理接触。与条码相比,RFID标签不要求可视、读取距离远,并且可以储存更加大量的信息。因为它的性能优异,RFID技术被称作新一代的自动识别技术。 RFID作为一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,作为条形码的无线版本,RFID技术具有条形码所不具备的防水、防磁、耐高温、使用寿命长、读取距离大、标签上数据可以加密、存储数据容量更大、存储信息更改自如等优点,其应用将给零售、物流等产业带来革命性变化。 RFID中间件扮演RFID标签和应用程序之间的中介角色,从应用程序端使用中间件所提供一
18、组通用的应用程序接口(API),即能连到RFID读写器,读取RFID标签数据。这样一来,即使存储RFID标签情报的数据库软件或后端应用程序增加或改由其他软件取代,或者读写RFID读写器种类增加等情况发生时,应用端不需修改也能处理,省去多对多连接的维护复杂性问题。 随着RFID技术的迅速发展,RFID在诸多领域中应用的愈发重要,越来越多的RFID中间件不断涌现。国外大公司RFID中间件产品及其架构的一个共同点就是体上海交通大学工程硕士学位论文 第一章 绪论 第 2 页 系较完备,但同时也较复杂,都需要依托于各大公司原有的非常庞大复杂的软件产品,成本非常高,很多都是基于本地服务,随着企业RFID应
19、用规模的不断扩大,大规模分布式系统的诸多问题都逐渐显现出来,不能较好的适应企业对大规模RFID的应用需求,RFID中间件的负载平衡问题便是其中之一。基于上述分析,必须开发一种稳定、可靠的RFID应用系统,来支持大规模企业的RFID应用。RFID中间件负载平衡组件正是这种RFID应用系统中的一部分。 1.1.2 负载平衡技术 由于传统的体系结构日趋到达其处理能力的物理极限,计算机系统趋势朝向多机系统和松藕合的分布式系统方向发展。特别是由于高性能工作站和网络的价格越来越低,由网络连接几十甚至几百台工作站己越来越普遍。分布式系统中由于任务到达的随机性和各主机处理能力的差异,经常是某些主机上的负载很重
20、,有若干任务等待服务,而某些主机上的负载很轻,几乎处于空闲状态。负载平衡就是要将重负载主机上的作业转移到轻负载主机上执行,使得整个计算机系统中所有主机的负载趋向平衡,目的是要缩短作业的平均响应时间和提高系统资源的利用率。 现代分布式系统一般包含多台工作站,这些工作站的功能很强,例如SuN4工作站的处理能力一般为十几到几十个MIPs一个连接10台SUN4工作站的网络,其性能潜力可达几亿至几十亿次/秒.很多调查研究表明,至少有1/3到2/3的时间是空闲的,而随着工作站处理能力的提高,空闲时间会不断增加,最近的统计资料表明,CPU的平均利用率仅达9%。利用这些空闲的处理能力并行求解大的计算问题或并行
21、执行多个作业,这不仅可以大大缩短问题的求解时间还可以节省大量的开销。同样的,某些作业由于资源的限制而在单机上不能执行,利用网络中的空闲资源可联合求解单机上不能解决的问题。某些用户需要运行大作业或同时执行多个作业,客观上需要多个工作站。以上几个方面都涉及到利用网络中的多个工作站进行作业内部或作业级的并行执行的问题,各工作站的负载是否平衡是关系到并行效果的一个极为关键的因素,所以探索负载平衡问题具有重大的现实意义。 上海交通大学工程硕士学位论文 第一章 绪论 第 3 页 1.1.3 多Agent技术 基于Agent的分布式系统由于内部的可测量性和自制性非常吸引人。Agent间的交互作为服务的交换,
22、一个多Agent系统非常类似人之间的交易通信,并被广泛设想成能够执行许多商务行为。因此,许多最终的应用能通过那样一个多Agent范例被创建1,著名的多Agent系统的例子包括这些报告2。然而,最终用户(例如,使用这个软件的消费者)明确需要一个多Agent系统的快速响应。因为软件Agent具有一定的特征(例如灵活,自治,等等),负载失衡是不可避免的并且会导致较长的响应时间。特别是,如果这个Agent在迁移的过程中是完全自动的,并且没有任何与机器负载水平的协作,那么一些机器就很容易超载成为分布式计算过程的瓶颈。因此,作为系统服务的负载平衡非常需要多Agent分布式计算模式来实现大规模应用。 1.2
23、 研究现状 1.2.1 研究现状 为了改善系统性能,通过在多台计算机之间合理地分配负载,使每台计算机的负载基本平衡,这种计算能力共享的形式,通常被称为负载平衡或负载共享。目前,无论从负载均衡所采用的设备对象,还是从应用的网络层次,或者从应用的地理结构角度出发,都已经有许多不同的负载均衡技术用以满足不同应用的需求。 负载均衡有两方面的含义3。首先,大量的并发访问或数据流量分摊到多台节点设备上分别处理,减少用户等待响应时间;其次,单个重负载的运算分摊到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高。 当前在分布式环境下的负载平衡研究,引入了很多
24、新的计算机技术,这些新技术的发展给网格负载平衡带来了新的研究方法,其中利用Agent的智能性和可移动性来解决分布式环境中迁移负载,动态实现负载平衡的方法,为网格负载平衡的研究带来上海交通大学工程硕士学位论文 第一章 绪论 第 4 页 了契机45。 到目前为止,国内尚没有专门针对RFID中间件的负载平衡问题的研究。韩国的Heung Seok Chae等人在2007年对RFID中间件的负载平衡问题做了一系列研究,针对不同的RFID中间件的负载特性提出了一系列解决方法。针对基于ALE规范的RFID中间件,HS Chae提出以ECSpec作为负载度量,而且提到了Reader对于ECSpec的依赖这一基
25、于ALE规范的RFID中间件特性6;HS Chae提出以Reader作为负载度量的自适应的负载平衡,把过载的RFID中间件中负载最重的Reader迁移到负载最轻的RFID中间件上7;HS Chae在前一种方法的基础上,把Agent技术应用在RFID中间件的负载平衡上8;Sung-Mee Park等人提出以tag data作为负载度量的基于连接池的负载调度,在tag data进入RFID中间件之前进行负载优化,Tag data先进入连接池,并提交给负载较小的RFID中间件9。 1.2.2 存在问题 RFID中间件分布式集群系统的设计很复杂,特别在处理通信和软件架构方面,有很多令人意想不到的问题。
26、在实际应用中,如下问题是我们必须面对和解决的。 一、节点溢出 由于负载平衡集群的运转,完全依赖于负载平衡器的正常执行,而且集群对外体现的单一系统映像也必须通过负载平衡器这一角色来实现。因此负载平衡器性能可能会成为整个系统性能的瓶颈。如果有太多网络流量要处理,就会导致数据包的丢失和发往目的服务节点的数据包阻塞,继而导致节点溢出。溢出可能发生在负载平衡器,也可能是在各服务节点(在负载平衡失效的情况下,负载平衡器将所有的请求定向到同一个节点,导致该节点服务过载)。同时,我们也要考虑到提高负载平衡器的可用性。因为一旦平衡器失效,整个集群也就无法使用。 二、负载均衡失效 在分布式集群内部,一个节点如果和
27、其他节点相比,没有得到足够的流量,或者这个节点总是处于比较空闲的状态,这就说明集群的负载出现不平衡。事实上,这表上海交通大学工程硕士学位论文 第一章 绪论 第 5 页 明了集群节点的计算资源没有被充分的利用,负载平衡的作业分配效率很低。这是典型的负载平衡算法使用不当或者系统配置不当的问题;如果没有充分考虑集群节点性能差异,采用“一视同仁”的分配算法也会引起挨饿。一个仅根据加权算法来实现负载平衡的系统,节点也很容易“挨饿”。例如在处理能力非对称的集群中,能力强的节点处理请求更快,应答如果简单处理也很快,这种情况下最少连接法和最快响应法很可能导致节点“挨饿”(那些处理能力比较弱的节点总是分配不到任
28、务)。这就是为什么加权方法和其他方法要联合使用的原因。 三、通信机制的效率 节点需要定时向平衡器报告当前负载状况,备份平衡器需要定时监听平衡器的心跳信号。这些需要都会导致频繁的通信在集群内发生。频繁而冗余的通信将影响整个系统的性能和吞吐量,同时还可能引发其它意想不到的情况发生。如导致节点溢出,出现应用程序的异常等等。 需要设计开发一套合适的快速消息协议,从底层上解决通信的效率问题。通常情况下,简化通信原语的设定,减少握手和确认消息,使用大的滑动窗口和收发缓冲区等等方法可以优化通信效率,从而提高整个集群系统的性能。 四、没有针对RFID中间件特性 相对一般的分布式系统,RFID中间件系统有其自己
29、的特点,故其负载平衡策略也会和一般的负载平衡有所不同。HS Chae没有提出具体的方法,而且对于没有考虑多个ECSpec所涉及的Reader都有交集的情况,这种情况下,负载迁移的负担会过大;在负载迁移的启动条件上,HS Chae采用了统一的标准,并没有根据负载状况特别制定启动条件;由于tag data并不是孤立存在的,连接池预处理的方法将使得RFID中间件的事件过滤等机制无法发挥作用,海量的tag data也很可能引发连接池本身的过载;只是单纯考虑RFID中间件的负载,但在实际中,服务期上也许还有别的负载,故在负载度量方面也应该考虑CPU使用率等因素。 Agent技术为解决这些技术难题提供了新
30、的思路,它能够与其他Agent进行通讯与合作,以完成复杂任务。它能自主运行、利用本地信息和知识管理本地资源以及处上海交通大学工程硕士学位论文 第一章 绪论 第 6 页 理来自其他Agent的请求。 1.3 本文的研究内容 1.3.1 本文的主要工作 本文将以对RFID中间件的负载平衡研究为主线,穿插以移动Agent和EPCglobal规范,结合RFID应用,完成在大规模RFID应用中针对实现ALE标准RFID中间件的负载平衡组件的开发,以增强上海交通大学RFID中间件在大规模RFID应用中的适应性。本文的主要内容有: (1)通过分析RFID中间件系统和一般分布式系统在负载平衡方面的不同,提出了
31、将RFID读写器作为主要负载指标,RFID中间件服务区的机器负载作为次要负载指标。 (2)针对RFID中间件的特性,通过分析各种主流负载分配算法的优缺点,设计了基于ECSpecs的动态权值负载分配算法,并定性地给出了相关公式。 (3)通过分析一般负载平衡信息收集策略的优缺点,设计了基于自适应的移动Agent的信息收集策略,基于对现有负载状况的分析来确定移动Agent的发出频率和移动路线。 (4)利用Agent的自主性和自适应性,设计了基于Agent负载迁移策略,包括相应的启动策略、选择策略和迁移策略。该设计能够很好的实现系统负载平衡,提高系统的整体性能。 1.3.2 创新点 到目前为止,国内尚
32、没有专门针对RFID中间件的负载平衡问题的研究,而国外的研究也仅限于算法的大致设计,并没有关于RFID中间件负载平衡的详细实现。本研究所作的创新工作有: 上海交通大学工程硕士学位论文 第一章 绪论 第 7 页 首先,本文针对RFID中间件的负载平衡做了详细的设计和实现,结合各主流负载平衡算法和RFID中间件的实际,设计了基于动态权值的负载分配算法。 其次,利用Agent技术完成负载平衡中的主要策略:基于自适应移动Agent的信息收集策略、动态阀值的启动策略和基于协商的迁移策略,很好得避免了一般负载平衡算法的不足。 1.4 论文结构 论文共有五章,内容安排如下: 第一章介绍了RFID中间件负载平
33、衡技术的背景以及研究现状和问题,并介绍了本文工作和论文组织结构。 第二章介绍了RFID中间件负载平衡的技术分析,其中包括相关的研究综述和理论简介,并指出了现有研究的问题和提出了自己研究思路。 第三章介绍了RFID中间件负载平衡模型的研究与设计,包括基于动态权值的任务分配策略、基于移动Agent的负载信息收集策略和基于Agent的定位和迁移策略。 第四章介绍了RFID中间件负载平衡的实现,并通过仿真试验进行了算法比较验证。 第五章是总结和展望,总结了自己所做的工作和将来需要改进的地方。 上海交通大学工程硕士学位论文 第二章 RFID中间件负载平衡的技术分析 第 8 页 第二章 RFID中间件负载
34、平衡的技术分析 2.1 研究综述 2.1.1 基于ALE标准的RFID中间件架构 应用层事件(Application Level Event)规范,简称ALE规范,于2005年9月,由EPCglobal组织正式对外发布。如图2-1,它定义出RFID中间件对上层应用系统应该提供的一组标准接口,以及RFID中间件最基本的功能:收集过滤(Collect/Filter)。ECSpec描述了事件周期以及报告产生的格式。ECReports是ALE中间件向上层应用系统做出报告。 图 2-1标准RFID应用架构 Fig. 2-1 Standard Architecture of RFID Applicatio
35、n ECSpec ECReportsEPC(s)RFID ApplicationReader_1 Reader_2 Reader_3 Reader_4ALE InterfaceRFID MIDDLEWARE上海交通大学工程硕士学位论文 第二章 RFID中间件负载平衡的技术分析 第 9 页 ALE接口规范定义了一个事件周期(Event Cycle),一个事件周期包含一个或多个读周期,因此,RFID中间件在这一事件周期内读取的所有标签信息被聚合起来,然后通过过滤机制,发布成为一个ECReport。ECSpec用来描述事件周期间隔或事件触发机制,ECReport的格式,事件过滤和组合规则等。ECRe
36、port是EPC事件的汇集,还包括其它相关的信息,譬如逻辑读写器名称,ECSpec信息等。ALE有两种机制(同步和异步)之分。 在同步工作机制下,客户端直接调用immediate()接口,通知Edge Server开始工作,若需要触发器触发,其状态切换到请求状态,若无需触发器触发,其状态直接切换到工作状态;在需要触发器触发的情况下,基于ECSpec定义的采集方式(或触发器启动,或周期轮询),聚合单一事件周期内所有读周期获取的EPC信息,生成ECReport,发送给客户端,其状态切换到工作状态。 在异步工作机制下,第一步是定义ECSpec,告诉Edge Server如何生成ECReport,其状
37、态切换到未请求状态;第二步是通过调用subscribe(订阅)或者poll(抽取),告诉Edge Server其采集EPC操作开始工作,若需要触发器触发,其状态切换到请求状态,若无需触发器触发,其状态直接切换到工作状态;在需要触发器触发的情况下,基于ECSpec定义的采集方式(或触发器启动,或周期轮询),聚合单一事件周期内所有读周期获取的EPC信息,生成ECReport,发送给客户端,其状态切换到工作状态。其它辅助接口包括查看当前Edge Server上定义的的ECSpec列表,单一ECSpec信息,ALE标准版本,ECSpec订阅列表等。 同时,我们需要定义独立集的概念,ECSpecs和读写
38、器的独立集是指相互关联的ECSpecs组和读写器组。一个ECSpecs可以要求一个或多个读写器返回ECReport,那么相关的ECSpecs和读写器就构成了二分图中的一个独立集。如图2-2,可以看出还负载平衡的过程中读写器对ECSpecs是有依赖性的,这是在负载分配和负载迁移的过程中必须要考虑的。 上海交通大学工程硕士学位论文 第二章 RFID中间件负载平衡的技术分析 第 10 页 R1ECSpecs_1 ECSpecs_3ECSpecs_2 ECSpecs_4R7R6R5R4R3R2ECSpecs_3ECSpecs_2R5R4ECSpecs_4R7R6R1ECSpecs_1R3R2图 2-2
39、 迁移中依赖性示例 Fig. 2-2 An example of Dependency in Transfer 2.1.2 基于多Agent的负载平衡研究现状 目前比较著名的负载平衡策略有:梯度模型、接收者开始、发送者开始、基于预测的策略和分级的平衡方法。但这些负载平衡算法策略都没有明确地针对分布式多Agent中的通信量负载问题。主要算法大致有两类:精确算法和启发是算法。精确算法通过大量的时间和内存来获取最优解,而启发式算法以花费适量的时间来获得近似最优解。 基于Agent的分布式系统由于内部的可测量性和自制性非常吸引人。观察软件Agent(通常以对象的形式)作为“经纪人”,Agent间的交互
40、作为服务的交换,一个多Agent系统非常类似人之间的交易通信,并被广泛设想成能够执行许多商务行为。因此,许多最终的应用能通过那样一个多Agent范例被创建。著名的多Agent系统的例子包括这些报告。然而,最终用户(例如,使用这个软件的消费者)明确需要一个多Agent系统的快速响应。因为软件Ageni具有一定的特征(例如,灵活,自治,等等),负载失衡是不可避免的并且会导致较长的响应时间。特别是,如果这个Agent在迁移的过程中是完全自动的,并且没有任何与机器负载平的协作,那么一些机器就很容易上海交通大学工程硕士学位论文 第二章 RFID中间件负载平衡的技术分析 第 11 页 超载成为分布式计算过
41、程的瓶颈。因此,作为系统服务的负载平衡非常需要多Agent分布式计算模式来实现大规模应用。 在动态负载研究中,整个机器群(PC机或者工作站)经常被看作共有资源,用户可以通过工作站提交它们自己的工作。动态负载平衡策略通过把工作分布在工作站上来平衡工作负载。这些工作运行直到它们完成或者被杀死才停止运行。作分配决定了不需要事先的工作信息,例如执行时间,执行的资源需求。任何的工作可能会被加到机器群中,在任何时刻被用户、被负载平衡系统预定。 然而,上面的想法不能应用到分布式多Agent系统。首先,Agent工作是暂时的连续,它们不会停止执行并退出系统,除非整个系统被关闭,或者由于缺乏内管理Agent的需
42、求而消失。另外,通常几乎所有的Agent是特定的并且在系统启时就创建好了,这里很少需要给系统引进更多的Agent。而且,Agent之间通过高变量通信模式相互作用,而一个机群中的工作间的通信通常是静态模式。Agent研究的焦点是它的体系、理论、语言和结构。一些多Agent系统开始着眼于研究负载平衡的问题。但是,目前很少有文章研究在分布式环境中关于多Agent载平衡方面的问题。 2.2 研究现状及存在问题 到目前为止,国内尚没有专门针对RFID中间件的负载平衡问题的研究。韩国的Heung Seok Chae等人在2007年对RFID中间件的负载平衡问题做了一系列研究,针对不同的RFID中间件的负载
43、度量提出了一系列解决方法。 2.2.1 现有研究分析 (1)针对基于ALE规范的RFID中间件6789HS Chae提出以ECSpec作为负载度量,而且提到了Reader对于ECSpec的依赖这一基于ALE规范的RFID中间件特性。基于此的负载平衡如图2-3所示: 上海交通大学工程硕士学位论文 第二章 RFID中间件负载平衡的技术分析 第 12 页 图 2-3基于ECSpecs的负载平衡 Fig. 2-3 Load Balancing based on ECSpecs (2)利用自适应的负载平衡 HS Chae提出以Reader作为负载度量,把过载的RFID中间件中负载最重的Reader迁移到
44、负载最轻的RFID中间件上。 (3)基于Agent的负载平衡 HS Chae在前一种方法的基础上,把Agent技术应用在RFID中间件的负载平衡上。图2-4是基于Agent的RFID中间件架构: 上海交通大学工程硕士学位论文 第二章 RFID中间件负载平衡的技术分析 第 13 页 Load Gathering Agent (LGA)RFID Middleware Load Balancing Agent (RLBA)图 2-4 基于Agent的RFID中间件负载平衡 Fig. 2-4 Load Balancing of RFID Middleware based on Agent JADE是多
45、Agent开发框架,他提供了基本的命名服务,黄业服务,通讯机制等,可以有效地与其它java开发平台和技术集成。 (4)利用连接池的负载调度 Sung-Mee Park等人tag data作为负载度量,在tag data进入RFID中间件之前进行负载优化。Tag data先进入连接池,并提交给负载较小的RFID中间件。 2.2.2 存在的问题 相对一般的分布式系统,RFID中间件系统有其自己的特点,故其负载平衡策略也会和一般的负载平衡有所不同。HS Chae没有提出具体的方法,而且对于没有考虑多个ECSpec所涉及的Reader都有交集的情况,这种情况下,负载迁移的负担会过大;在负载迁移的启动条
46、件上,HS Chae采用了统一的标准,并没有根据负载状况特别制定启动条件;由于tag data并不是孤立存在的,连接池预处理的方法将使得RFID中间件的事件过滤等机制无法发挥作用,海量的tag data也很可能引发连接池本身的过载;只是单纯考虑RFID中间件的负载,但在实际中,服务期上也许还有别的负载,故在负载度量方面也应该考虑CPU使用率等因素。 上海交通大学工程硕士学位论文 第二章 RFID中间件负载平衡的技术分析 第 14 页 2.3 本文的研究思路和技术路线 2.3.1 动态权值的负载分配策略 在自适应负载平衡算法的具体执行过程中,首先需要考虑负载分配,负载分配是指如何将任务尽量平均得
47、分配到各个RFID中间件上,以达到负载平衡的目的。负载分配需要利用负载平衡服务器维护各服务器的详细负载状况,负载状况包括连接读卡器数量、所有独立集的详细情况等,然后根据移动代理收集的信息,计算集群的整体负载状态,再根据自己的计算函数算出任务应该被分配到哪个RFID中间件服务器。 函数中权值的确定根据各个节点的负载状况和总的负载状况确定,以更好的适应负载环境的变化,体现自适应性。 2.3.2 基于移动Agent的信息收集策略 该移动Agent从负载服务器发出,以循环的方式访问每个节点,再回到负载服务器。一个移动Agent从一个节点运动到另外一个节点,按照预先设定的标准收集全局负载信息并把这些信息
48、发送到其他节点上,从而更新各个RFID中间件里的所有负载状况的列表。 本文采用动态发送负载信息收集Agent的方法,负载信息收集Agent在前一个时刻收集全局负载信息,利用该信息可以得到整个系统的负载变化情况,并通过一阶求导得出负载的时间变化率,从而决定下一次发送该Agent的时间。 2.3.3 基于Agent技术的定位和迁移策略 负载平衡Agent自动判断何时何处再分配重载读卡器并且实时执行负载平衡的调度。当某节点的负载平衡Agent发现节点符合迁移条件时,启动负载迁移,向选定的轻载节点发送自身负载的详细状况。此轻载节点根据接受到的重载节点的负载信息和自身状况,确定迁移方案并通知重载节点实施迁移,并在完成迁移后返回负载平衡服上海交通大学工程硕士学位论文 第二章 RFID中间件负载平衡的技术分析 第 15 页 务器,并更新全局负载状况表。 2.4 相关理论简介 2.4.1 负载平衡简介 2.4.1.1负载平