• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 20
    • 下载费用:30 金币  

    重庆时时彩走势图网易五星: 基于面向服务架构的分布式交通仿真平台及其仿真方法.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN200910260385.4

    申请日:

    2009.12.17

    公开号:

    CN101710361A

    公开日:

    2010.05.19

    当前法律状态:

    终止

    有效性:

    无权

    法律详情: 未缴年费专利权终止IPC(主分类):G06F 17/50申请日:20091217授权公告日:20120523终止日期:20121217|||授权|||实质审查的生效IPC(主分类):G06F 17/50申请日:20091217|||公开
    IPC分类号: G06F17/50; G08G1/00 主分类号: G06F17/50
    申请人: 北京航空航天大学
    发明人: 张海; 姜秉楠; 郭欣蕾; 刘倩
    地址: 100083 北京市海淀区学院路37号
    优先权:
    专利代理机构: 北京永创新实专利事务所 11121 代理人: 官汉增
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN200910260385.4

    授权公告号:

    |||101710361B||||||

    法律状态公告日:

    2014.02.12|||2012.05.23|||2010.07.14|||2010.05.19

    法律状态类型:

    专利权的终止|||授权|||实质审查的生效|||公开

    摘要

    本发明公开了一种基于面向服务架构(Service-Oriented?Architecture,SOA)的分布式交通仿真平台及其仿真方法,主要包括交互智能体、仿真结果处理智能体、协调智能体、路网生成智能体、区域仿真??榧笆莘裰行牡燃父瞿??,通过不同智能体的相互协调完成基于大规模真实路网的仿真。本发明??椴捎梅褡榧芄筍CA、Visual?C++和VisualBasic实现。此外,本发明设计了基于SCA的SOA接入???,用于集成已有的单机仿真程序,满足了分布式仿真平台对异构性的要求,提高了系统的灵活性,业务模型的可重用性与服务的可互操作性,并使得系统更加易于集成。

    权利要求书

    1: 基于面向服务架构的分布式交通仿真平台,其特征在于,包括四层结构:用户界面层、协调仿真多智能体层、数据服务中心层与仿真资源层;其中,用户界面层包括仿真客户端和数据维护客户端;协调仿真多智能体层包括交互智能体、路网生成智能体、协调智能体、仿真结果处理智能体与区域仿真???,区域仿真??橛蒝C区域仿真??樽槌?;数据服务中心层包括数据服务中心,而数据服务中心又包括Hibernate?ORM子???、数据生成子??楹褪莸髑沧幽??;仿真资源层是Oracle数据库; 用户界面层中的仿真客户端通过访问协调仿真多智能体层中的交互智能体的仿真启动服务,下达仿真任务,并在仿真过程中通过交互智能体的仿真数据获取服务,获得最终的统计数据结果和实时仿真结果,并将其显示; 用户界面层中的数据维护客户端,用来完成路网数据与信号机参数的添加、修改、查询与删除; 协调仿真多智能体层中的交互智能体,连接着仿真客户端与仿真平台内部组件,向外提供仿真启动、仿真数据获取与仿真结果上传三个服务;交互智能体接受仿真任务,根据仿真任务,确定仿真区域以及参与仿真的区域仿真??橹械腣C区域仿真???,并调用数据服务中心层中数据服务中心的数据生成子??榈姆?,然后等区域仿真路网数据准备完毕后初始化VC区域仿真???,当所有的VC区域仿真??槌跏蓟崾?,仿真启动服务开始调用协调仿真多智能体层中的协调智能体的协调初始化服务,并在仿真过程中接收协调仿真多智能体层中的仿真结果处理智能体通过仿真结果上传服务上传的实时仿真结果; 仿真结果处理智能体,提供实时结果上传服务与统计结果生成服务;各VC区域仿真??榈饔梅抡娼峁碇悄芴宓氖凳苯峁洗?,向仿真结果处理智能体更新本周期的仿真实时信息,而仿真结果处理智能体通过仿真结果上传服务,上传实时仿真结果给交互智能体; 协调智能体,向交互智能体提供协调初始化服务,内部包括协调判定服务与信号调整服务;协调智能体的协调初始化服务被调用时,首先开辟多个线程,接着循环执行线程调用各VC区域仿真??榈闹芷诜抡娣?,并在每一个仿真周期中根据上一周期仿真结果判断是否需要区域协调,若当前仿真周期无需进行区域间协调,则协调智能体继续调用VC区域仿真??榈闹芷诜抡娣?,实现给定周期内的区域交通仿真,若当前仿真周期需要进行区域间协调,则协调智能体调用信号调整服务进行决策; 区域仿真???,内部嵌入SOA接入???,向交互智能体提供区域仿真初始化服务,向协调智能体提供周期仿真服务;区域仿真??椴煌饔氤翟?,模拟车辆的运动行为,负责所属子区域的仿真;VC区域仿真??榈饔檬莘裰行牡氖莸髑沧幽?榈姆?,获取区域仿真路网数据; 路网生成智能体作为数据解析部分嵌入SOA接入???,向VC区域仿真??樘峁┞吠煞?,路网生成服务从数据服务中心获得路网与信号机的SDO数据对象,并转换成区域仿真??槎杂Φ氖萁峁估嘈?,使数据适用于区域仿真???; 数据服务中心包括3个子??椋孩貶ibernate?ORM子???,完成对象-关系映射,实现基于对象原语的数据建立,并将其持久化到仿真资源层中的Oracle数据库中;②数据生成子??椋禾峁┦萆煞?,从Oracle数据库中获取分布式交通仿真所需要的路网信息,并将其封装为SDO数据;③数据调遣子??椋禾峁┦莸髑卜?,通过Web?Service获取路 网生成智能体的仿真原始数据发送请求,将生成的SDO数据发送到区域仿真???; Oracle数据库,存储仿真所需的路网数据信息与信号机配置信息; 交互智能体、协调智能体、仿真结果处理智能体以及数据服务中心采用服务组件架构SCA规范,并各自封装成SCA构件;已有的单机仿真程序??樵蛲ü齋OA接入??樽魑蚍抡婺?榻尤敕抡嫫教ㄖ?; 系统的区域协调仿真基于逻辑时钟同步,每个仿真??榈饔没蛱峁┐至6鹊姆?,基于不同的仿真服务,仿真平台完成大规模的分布式交通仿真; 其中,SOA代表面向服务架构,SCA代表服务组件架构,VC即Visual?C++,SDO即Service?data?Objects,ORM代表对象-关系数据库映射。
    2: 根据权利要求1所述的基于面向服务架构的分布式交通仿真平台,其特征在于,所述的VC区域仿真???,指用Visual?C++实现的单机仿真程序???,通过SOA接入??榻尤肭蚍抡婺??。
    3: 根据权利要求1或2所述的基于面向服务架构的分布式交通仿真平台,其特征在于,所述的SOA接入??橛闪礁霾糠肿槌桑悍癜蠖?橛敕竦饔媚??; 服务绑定??椴捎肧CA?Java构件实现,包括数据解析子??楹蚐ocket请求子???,其应用原理为:首先,服务绑定??榻邮躍OA环境中的服务调用请求,并获得SDO数据;接着,数据解析子??榻馕鯯DO数据,并通过Socket请求子??榻菥璖ocket连接发送到VC单机仿真程序???,VC单机仿真程序??橛隨OA接入??槲挥谕惶扑慊?,VC单机仿真程序??榻邮帐葜葱衅渥陨矸抡娉绦虻南喙夭僮?;然后,VC单机仿真程序??橥ü齋ocket连接将结果返回到服务绑定???;最后,服务绑定??榻祷氐檬萁峁庾俺蒘DO数据对象,并返回给服务调用者; 服务调用??樵虿捎肅OM组件的实现方式,包括服务引用子??楹褪葑蛔幽??,服务引用子??椴捎肅LR托管程序开发,并以DLL形式生成;VC单机仿真程序??橥ü鼵OM组件接口调用服务引用子???,实现仿真服务的引用,并得到SDO数据;数据转换子??榻馕鯯DO数据并进行重新组合,使数据存储格式与VC单机仿真程序??橹械囊恢?;其中,COM代表组件对象模型,CLR代表公共语言运行时,DLL代表动态链接库。
    4: 根据权利要求1所述的基于面向服务架构的分布式交通仿真平台,其特征在于,所述的交互智能体采用SCA?Java构件实现,提供的三个服务具体为:仿真启动服务的输入参数是仿真客户端发送的仿真请求SDO数据,仿真启动服务通知数据服务中心生成对应路网的数据,并根据区域个数创建若干线程用于启动区域仿真???;仿真数据获取服务的返回参数是SDO数据,包含当前仿真时刻车辆与信号机的状态;仿真结果上传服务的输入是仿真过程中产生的实时数据与仿真结束后生成的统计数据。
    5: 根据权利要求1所述的基于面向服务架构的分布式交通仿真平台,其特征在于,所述的仿真结果处理智能体采用SCA?Java构件实现,提供的两个服务具体为:实时结果上传服务的输入参数为仿真实时数据,包括公交车辆经纬度与信号灯状态信息;统计结果生成服务的输入参数为各路口历史状态,其根据历史状态计算区域信号控制整体指标,包括各路口的公交车平均延误时间,各条公交线路的平均旅行时间。
    6: 根据权利要求1所述的基于面向服务架构的分布式交通仿真平台,其特征在于,所述的协调智能体采用SCA?Java构件实现,其提供的三个服务具体为:协调初始化服务的输 入参数是参与仿真的区域仿真??榈谋嗪?;协调判定服务的输入参数是包括公交车延误与排队长度在内的路口状态信息,返回值是协调方案决策;信号调整服务的输入参数是协调方案与协调区域当前信号状态,返回值是调整后的信号参数。
    7: 应用权利要求1所述的基于面向服务架构的分布式交通仿真平台的仿真方法,其特征在于,包括如下步骤: 步骤1、仿真启动; 仿真客户端访问交互智能体的仿真启动服务,交互智能体根据仿真任务确定仿真区域以及参与仿真的VC区域仿真???; 步骤2、数据准备; 交互智能体调用数据服务中心的数据生成子??榈姆?,数据服务中心从Oracle数据中获取原始的路网数据,并按区域将数据重组并封装成SDO数据对象,生成区域仿真路网数据,数据准备完毕后,交互智能体初始化区域仿真??椴⑼钡却跏蓟瓿?; 步骤3、初始化区域仿真???,包括步骤3.1与步骤3.2,这两个步骤都是多任务并发; 步骤3.1,仿真启动服务根据参与仿真的VC区域仿真??榈氖靠俣嘞叱?,在多线程中调用区域仿真初始化服务; 步骤3.2,仿真启动服务在主线程中通过标志位等待步骤3.1中的仿真初始化完成; 步骤4、获取区域仿真路网数据; 各VC区域仿真??橥ü饔寐吠芍悄芴宓穆吠煞?,获取在步骤2生成的区域仿真路网数据; 步骤5、区域协调仿真启动,具体为: 步骤5.1,当所有的VC区域仿真??槌跏蓟崾?,仿真启动服务开始调用协调智能体的协调初始化服务,此时仿真启动服务的生命周期结束; 步骤5.2,仿真客户端开始循环调用交互智能体的仿真数据获取服务,获取公交车辆当前时刻坐标,干线、路口交通流情况以及各信号当前相位,协调智能体的协调初始化服务首先开辟多个线程,并循环执行线程,调用各VC区域仿真??榈闹芷诜抡娣?; 步骤6、区域协调控制; 协调智能体在每一个仿真周期中首先根据上一周期仿真结果判断是否需要区域协调,若当前仿真周期无需进行区域间协调,则执行步骤7,若当前仿真周期需要进行区域间协调,则转到步骤10; 步骤7、周期性区域协调仿真; 协调智能体调用区域仿真??榈闹芷诜抡娣?,实现给定周期内的区域交通仿真,根据子区域所处的位置进行边界信息的更新,包括社会车辆交通流信息与公交车位置信息,然后执行步骤8; 步骤8、生成实时交通仿真数据; 各VC区域仿真??榈饔梅抡娼峁碇悄芴宓氖凳苯峁洗?,向仿真结果处理智能体更新本周期的仿真实时信息,包括公交车辆经纬度,行驶方向,信号状态; 步骤9、仿真状态判定与数据上载,包括步骤9.1与步骤9.2; 步骤9.1,本周期的仿真实时信息更新后,仿真结果处理智能体通过交互智能体的仿真结果上传服务,上传实时仿真结果给交互智能体,仿真客户端能够通过交互智能体的仿真 数据获取服务,获得实时仿真结果并显示; 步骤9.2,协调智能体根据仿真时间判断整个仿真过程是否结束,若仿真没有结束则循环进行下一周期的仿真,执行步骤6;否则结束区域仿真,执行步骤12; 步骤10、协调控制决策; 协调智能体调用信号调整服务进行决策; 步骤11、更新信号机参数; 根据步骤10信号调整服务的结果在下一个仿真周期中更新信号机的参数,然后执行步骤7; 步骤12、仿真统计数据生成; 交互智能体调用仿真结果处理智能体的统计结果生成服务,将生成的统计数据上传到交互智能体,然后执行步骤13; 步骤13、统计数据显示与结束; 仿真客户端通过交互智能体的仿真数据获取服务获得最终的统计数据结果并显示,整个分布式仿真任务结束,并等待下一个仿真任务的到来。

    说明书


    基于面向服务架构的分布式交通仿真平台及其仿真方法

        【技术领域】

        本发明属于分布式交通仿真领域,具体涉及面向服务架构(Service-OrientedArchitecture,SOA)、多智能体、数据库和分布式仿真等技术。

        背景技术

        鉴于交通系统的复杂性,基于交通仿真的优化成为交通信号优化控制的主要方法之一。它大大减少了在评估交通系统时对数学公式或物理模型的解算所造成的负担,大大降低了现场试验的要求,为科研工作者提供了一种节约时间、节省费用、安全可行的研究手段。分布式交通仿真主要研究如何将对大规模路网的复杂仿真过程分成许多较小的部分,并将它们分配到多个计算机上并行处理,最后综合这些处理结果得到最终的仿真结果,可以大幅提高仿真的速度和效率。

        分布式交通仿真平台往往包括新??榈目⒂胍延心?榈募?。新旧??樵诳⒂镅?、传输协议、软硬件平台等技术方面会有所不同,要求仿真系统具有较高的异构性。此外,随着信息化建设的不断发展,不同应用系统之间的交互日益频繁,要求分布式系统各个??榫哂薪虾玫目芍赜眯?。目前分布式仿真平台主要采用HLA(High?Level?Architecture)规范,然而其重用性受限于特定的仿真支撑平台(RTI平台),与其它领域技术和标准脱节。虽然WebService提供了良好的标准服务接口,然而与J2EE或.NET平台结合的传统开发模式各自只能选择EJB(Enterprise?JavaBean)或.NET语言的组件实现方式,异构性较差。

        【发明内容】

        本发明的主要目的在于提供一种基于面向服务架构的分布式交通仿真平台,以解决传统分布式交通仿真存在的上述各种问题,提高系统的异构性,灵活性与??榈目芍赜眯?,降低系统的开发难度。

        基于面向服务架构的分布式交通仿真平台包括4层结构:用户界面层、协调仿真多智能体层、数据服务中心层与仿真资源层;其中,用户界面层包括仿真客户端和数据维护客户端;协调仿真多智能体层包括交互智能体、路网生成智能体、协调智能体、仿真结果处理智能体与区域仿真???,区域仿真??橛蒝C区域仿真??樽槌?;数据服务中心层包括数据服务中心,而数据服务中心又包括Hibernate?ORM子???ORM即Object/Relation?Mapping,对象-关系数据库映射)、数据生成子??楹褪莸髑沧幽??;仿真资源层是Oracle数据库;

        用户界面层中的仿真客户端通过访问协调仿真多智能体层中的交互智能体的仿真启动服务,下达仿真任务,并在仿真过程中通过交互智能体的仿真数据获取服务,获得最终的统计数据结果和实时仿真结果,并将其显示;

        用户界面层中的数据维护客户端,用来完成路网数据与信号机参数的添加、修改、查询与删除;

        协调仿真多智能体层中的交互智能体,连接着仿真客户端与仿真平台内部组件,向外提供仿真启动、仿真数据获取与仿真结果上传三个服务;交互智能体接受仿真任务,根据仿真任务,确定仿真区域以及参与仿真的区域仿真??橹械腣C区域仿真???,并调用数据服务中心层中数据服务中心的数据生成子??榈姆?,然后等区域仿真路网数据准备完毕后初始化VC区域仿真???,当所有的VC区域仿真??槌跏蓟崾?,仿真启动服务开始调用协调仿真多智能体层中的协调智能体的协调初始化服务,并在仿真过程中接收协调仿真多智能体层中的仿真结果处理智能体通过仿真结果上传服务,上传的实时仿真结果;

        仿真结果处理智能体,提供实时结果上传服务与统计结果生成服务;各VC区域仿真??榈饔梅抡娼峁碇悄芴宓氖凳苯峁洗?,向仿真结果处理智能体更新本周期的仿真实时信息,而仿真结果处理智能体通过仿真结果上传服务,上传实时仿真结果给交互智能体;

        协调智能体,向外提供协调初始化服务,内部包括协调判定服务与信号调整服务;协调智能体的协调初始化服务被调用时,首先开辟多个线程,接着循环执行线程调用各VC区域仿真??榈闹芷诜抡娣?,并在每一个仿真周期中根据上一周期仿真结果判断是否需要区域协调,若当前仿真周期无需进行区域间协调,则协调智能体继续调用VC区域仿真??榈闹芷诜抡娣?,实现给定周期内的区域交通仿真,若当前仿真周期需要进行区域间协调,则协调智能体调用信号调整服务进行决策;

        区域仿真???,内部嵌入SOA接入???,向交互智能体提供区域仿真初始化服务,向协调智能体提供周期仿真服务;区域仿真??椴煌饔氤翟?,模拟车辆的运动行为,负责所属子区域的仿真;VC区域仿真??榈饔檬莘裰行牡氖莸髑沧幽?榈姆?,获取区域仿真路网数据;

        路网生成智能体作为数据解析部分嵌入SOA接入???,向VC区域仿真??樘峁┞吠煞?,路网生成服务从数据服务中心获得路网与信号机的数据对象,并转换成区域仿真??槎杂Φ氖萁峁估嘈?,使数据适用于区域仿真???;

        数据服务中心包括3个子??椋孩貶ibernate?ORM子???,完成对象-关系映射,实现基于对象原语的数据建立,并将其持久化到仿真资源层中的Oracle数据库中;②数据生成子??椋禾峁┦萆煞?,从Oracle数据库中获取分布式交通仿真所需要的路网信息,并将其封装为SDO数据;③数据调遣子??椋禾峁┦莸髑卜?,通过Web?Service获取路网生成智能体地仿真原始数据发送请求,将生成的SDO数据发送到区域仿真???;

        Oracle数据库,存储仿真所需的路网数据信息与信号机配置信息;

        交互智能体、协调智能体和仿真结果处理智能体以及数据服务中心采用服务组件架构SCA(Service?Component?Architecture)规范,并各自封装成SCA构件;已有的单机仿真程序??樵蛲ü齋OA接入??樽魑蚍抡婺?榻尤氡痉⒚鞯姆抡嫫教ㄖ?。

        系统的区域协调仿真基于逻辑时钟同步,每个仿真??榈饔没蛱峁┐至6鹊姆?,基于不同的仿真服务,仿真平台完成大规模的分布式交通仿真。

        所述的VC区域仿真???,指用Visual?C++实现的单机仿真程序??橥ü齋OA接入??樽魑蚍抡婺?榈?。

        所述的SOA接入??橛闪礁霾糠肿槌桑悍癜蠖?橛敕竦饔媚??;

        服务绑定??椴捎肧CA?Java构件实现,包括数据解析子??楹蚐ocket请求子???,其应用原理为:首先,服务绑定??榻邮躍OA环境中的服务调用请求,并获得SDO数据;接着,数据解析子??榻馕鯯DO数据,并通过Socket请求子??榻菥璖ocket连接发送到VC单机仿真程序???,VC单机仿真程序??橛隨OA接入??槲挥谕惶扑慊?,VC单机仿真程序??橹葱衅渥陨矸抡娉绦虻南喙夭僮?;然后,VC单机仿真程序??橥ü齋ocket连接将结果返回到服务绑定???;最后,服务绑定??榻祷氐檬萁峁庾俺蒘DO数据对象,并返回给服务调用者;

        服务调用??樵虿捎米榧韵竽P虲OM(Component?Object?Model)组件的实现方式,包括服务引用子??楹褪葑蛔幽??,服务引用子??椴捎霉灿镅栽诵惺盋LR(Common?Language?Runtime)托管程序开发,并以动态链接库DLL(Dynamic?LinkLibrary)形式生成;VC单机仿真程序??橥ü鼵OM组件接口调用服务引用子???,实现仿真服务(如数据发送服务)的引用,并得到SDO数据;数据转换子??榻馕鯯DO数据并进行重新组合,使数据存储格式与VC单机仿真程序??橹械囊恢?。数据类型在VC程序,COM组件,托管DLL中需要进行相应的转化,VC程序调用COM服务时传递的参数与返回值应使用Variant类型变量,COM组件访问托管DLL时传递的参数与返回值则需要进行托管,非托管类型转化。

        基于面向服务架构的分布式交通仿真方法主要包括以下步骤:

        步骤1、仿真启动;

        仿真客户端访问交互智能体的仿真启动服务,交互智能体根据仿真任务确定仿真区域以及参与仿真的VC区域仿真???;

        步骤2、数据准备;

        交互智能体调用数据服务中心的数据生成子??榈姆?,数据服务中心从Oracle数据中获取原始的路网数据,并按区域将数据重组并封装成SDO数据对象,生成区域仿真路网数据,数据准备完毕后,交互智能体初始化区域仿真??椴⑼钡却跏蓟瓿?;

        步骤3、初始化区域仿真???,包括步骤3.1与步骤3.2,这两个步骤都是多任务并发;

        步骤3.1,仿真启动服务根据参与仿真的VC区域仿真??榈氖靠俣嘞叱?,在多线程中调用区域仿真初始化服务;

        步骤3.2,仿真启动服务在主线程中通过标志位等待步骤3.1中的仿真初始化完成;

        步骤4、获取区域仿真路网数据;

        各VC区域仿真??橥ü饔寐吠芍悄芴宓穆吠煞?,获取在步骤2生成的区域仿真路网数据;

        步骤5、区域协调仿真启动,具体为:

        步骤5.1,当所有的VC区域仿真??槌跏蓟崾?,仿真启动服务开始调用协调智能体的协调初始化服务,此时仿真启动服务的生命周期结束;

        步骤5.2,仿真客户端开始循环调用交互智能体的仿真数据获取服务,获取公交车辆当前时刻坐标,干线、路口交通流情况以及各信号当前相位,协调智能体的协调初始化服务首先开辟多个线程,并循环执行线程,调用各VC区域仿真??榈闹芷诜抡娣?;

        步骤6、区域协调控制;

        协调智能体在每一个仿真周期中首先根据上一周期仿真结果判断是否需要区域协调,若当前仿真周期无需进行区域间协调,则执行步骤7,若当前仿真周期需要进行区域间协调,则转到步骤10;

        步骤7、周期性区域协调仿真;

        协调智能体调用区域仿真??榈闹芷诜抡娣?,实现给定周期内的区域交通仿真,根据子区域所处的位置进行边界信息的更新,包括社会车辆交通流信息与公交车位置信息,然后执行步骤8;

        步骤8、生成实时交通仿真数据;

        各VC区域仿真??榈饔梅抡娼峁碇悄芴宓氖凳苯峁洗?,向仿真结果处理智能体更新本周期的仿真实时信息,包括公交车辆经纬度,行驶方向,信号状态;

        步骤9、仿真状态判定与数据上载,包括步骤9.1与步骤9.2;

        步骤9.1,本周期的仿真实时信息更新后,仿真结果处理智能体通过交互智能体的仿真结果上传服务,上传实时仿真结果给交互智能体,仿真客户端可以通过交互智能体的仿真数据获取服务,获得实时仿真结果并显示;

        步骤9.2,协调智能体根据仿真时间判断整个仿真过程是否结束,若仿真没有结束则循环进行下一周期的仿真,执行步骤6;否则结束区域仿真,执行步骤12;

        步骤10、协调控制决策;

        协调智能体调用信号调整服务进行决策;

        步骤11、更新信号机参数;

        根据步骤10信号调整服务的结果在下一个仿真周期中更新信号机的参数,然后执行步骤7;

        步骤12、仿真统计数据生成;

        交互智能体调用仿真结果处理智能体的统计结果生成服务,将生成的统计数据上传到交互智能体,然后执行步骤13;

        步骤13、统计数据显示与结束;

        仿真客户端通过交互智能体的仿真数据获取服务获得最终的统计数据结果并显示,整个分布式仿真任务结束,并等待下一个仿真任务的到来。

        本发明的优点与积极效果在于:

        (1)采用SOA架构,提高分布式仿真平台的灵活度,易于分散开发,减少系统的开发成本与周期;

        (2)仿真??椴捎肧CA构件实现方式,系统的异构性、可重用型与可集成性强;

        (3)SOA接入??榻徊皆銮苛讼低车目芍赜眯?,整个系统易于在异质环境中部署;

        (4)仿真方法相对现有方法速度较快。

        【附图说明】

        图1为基于面向服务架构的分布式交通仿真平台架构示意图;

        图2为基于SCA组件的系统实现示意图;

        图3为基于面向服务架构的分布式交通仿真平台SOA接入??槭疽馔?;

        图4为基于面向服务架构的分布式交通仿真方法运行步骤示意图;

        图5为本发明实施例验证试验中采用的路网示意图;

        图6为本发明实施例验证试验所得数据;

        图中:1-仿真客户端,2-数据维护客户端,3-交互智能体,4-仿真结果处理智能体,5-协调智能体,6-区域仿真???,7-路网生成智能体,8-数据服务中心,801-数据调遣子???,802-数据生成子???,803-Hibernate?ORM子???,9-Oracle数据库,10-服务绑定???,101-数据解析子???,102-Socket请求子???,11-服务调用???,111-数据转换子???,112-服务引用子???,12-VC单机仿真程序???,a-仿真启动服务,b-仿真数据获取服务,c-仿真结果上传服务,d-数据生成服务,e-数据调遣服务,f-实时结果上传服务,g-统计结果生成服务,h-协调初始化服务,i-区域仿真初始化服务,j-周期仿真服务。

        【具体实施方式】

        下面将结合附图和实施例对本发明作进一步的详细说明。

        如图1所示,基于面向服务架构的分布式交通仿真平台包括四层结构:用户界面层、协调仿真多智能体层、数据服务中心层与仿真资源层;其中,用户界面层包括仿真客户端1和数据维护客户端2,仿真客户端1包含多个客户端(客户端d1,客户端d2,……客户端dN)进行显示;协调仿真多智能体层包括交互智能体3、仿真结果处理智能体4、协调智能体5、路网生成智能体7与区域仿真???,区域仿真???中根据仿真任务接入VC区域仿真???VC区域仿真??開1,VC区域仿真??開2,……VC区域仿真??開k,……,VC区域仿真??開N,1≤k≤N);数据服务中心层是数据服务中心8,数据服务中心8又包括Hibernate?ORM子???03、数据生成子???02和数据调遣子???01;仿真资源层是Oracle数据库9。

        结合图1,基于面向服务架构的分布式交通仿真平台各??槭迪窒附诩澳?榧涔叵等缦拢?br>
        1)用户界面层:

        ●仿真客户端1:采用VB(Visual?Basic)与MapX实现。仿真客户端1显示的路网底图来源于美国MapInfo公司的桌面地理信息系统软件MapInfo电子地图。仿真客户端1与交互智能体3通过SOA接入??橄嗷チ?,所交互的数据采用SDO模型进行封装。仿真客户端1通过访问交互智能体3的仿真启动服务a下达仿真任务,如图2,并在仿真过程中通过交互智能体3的仿真数据获取服务b,获得最终的统计数据结果和实时仿真结果,并将其显示。

        ●数据维护客户端2:采用Java?SWT(Standard?Widget?Toolkit)实现,通过Hibernate?ORM子???03完成路网数据与信号机参数的添加、修改、查询与删除。

        2)协调仿真多智能体层:

        ●交互智能体3:采用SCA?Java构件实现,与Web?Service绑定后向外提供仿真启动服务a、仿真数据获取服务b与仿真结果上传服务c,如图2。仿真启动服务a的输入参数是仿真客户端1发送的仿真请求SDO数据,该服务通过XSD(XMLSchemas?Definition)数据描述文件与SDO?API(应用程序编程接口)提取出仿真路网范围,区域划分个数,车辆设定参数等信息。仿真启动服务a会通知数据服务中心8生成对应路网的数据,并根据区域个数创建若干线程用于启动区域仿真???。仿真数据获取服务b的返回参数是SDO数据,包含当前仿真时刻车辆与信号机的状态。仿真结果上传服务c的输入是仿真过程中产生的实时数据与仿真结束后生成的统计数据。交互智能体3接受仿真任务,根据仿真任务确定仿真区域,以及参与仿真的区域仿真???中的VC区域仿真???,并调用数据服务中心8的数据生成子???02的服务,然后等区域仿真路网数据准备完毕后初始化VC区域仿真???,当所有的VC区域仿真??槌跏蓟崾?,仿真启动服务a开始调用协调智能体5的协调初始化服务h,并在仿真过程中接收仿真结果处理智能体4通过实时结果上传服务f上传的实时仿真结果,如图2。

        ●仿真结果处理智能体4:采用SCA?Java构件实现,提供实时结果上传服务f与统计结果生成服务g,如图2。实时结果上传服务f的输入参数为仿真实时数据,包括公交车辆经纬度与信号灯状态等信息。统计结果生成服务g的输入参数为各路口历史状态,其根据历史状态计算区域信号控制整体指标,包括各路口的公交车平均延误时间,各条公交线路的平均旅行时间等指标。各VC区域仿真??榈饔梅抡娼峁碇悄芴?的实时结果上传服务f,向仿真结果处理智能体4更新本周期的仿真实时信息,而仿真结果处理智能体4通过仿真结果上传服务c,上传实时仿真结果给交互智能体3。

        ●协调智能体5:通过逻辑时钟同步区域仿真,确定区域协调决策;采用SCA?Java构件实现,向外提供协调初始化服务h,内部包括协调判定服务与信号调整服务,如图2。协调初始化服务h的输入参数是参与仿真的区域仿真??榈谋嗪?。协调判定服务的输入参数是包括公交车延误与排队长度在内的路口状态信息,返回值是协调方案决策。信号调整服务的输入参数是协调方案与协调区域当前信号状态,返回值是调整后的信号参数。协调初始化服务h被调用时,首先会开辟多个线程,并循环执行线程调用各VC区域仿真???VC区域仿真??開1、VC区域仿真??開2、……、VC区域仿真??開N)的周期仿真服务j,并在每一个仿真周期中调用协调判定服务,根据上一周期仿真结果判断是否需要区域协调,若当前仿真周期无需进行区域间协调,则协调智能体5继续调用区域仿真???中的VC区域仿真??榈闹芷诜抡娣駄,实现给定周期内的区域交通仿真,若当前仿真周期需要进行区域间协调,则协调智能体5调用信号调整服务进行决策。

        ●区域仿真???:采用VC++实现。仿真模型采用宏观微观相结合的混合仿真模型,公交车辆采用微观仿真模型精确描述其行驶,超车,进站等行为。社会车辆用宏观交通流代替。区域仿真???内部嵌入SOA接入???,向外提供区域仿真初始化服务i与周期仿真服务j,如图2。区域仿真初始化服务i实现区域仿真??槟诓康穆吠菇?,公交车辆生成与社会车辆交通流生成等仿真初始化操作。周期仿真服务j实现各仿真子区域在一个周期内的仿真。区域仿真???产生车流与交通流,模拟车辆的运动行为,负责所属子区域的仿真;其内接入的VC区域仿真??榈饔檬莘裰行?的数据调遣子???01的服务,获取区域仿真路网数据。

        ●路网生成智能体7:采用C++COM组件实现,嵌入SOA接入???,提供路网生成服务。路网生成服务从数据服务中心8获得路网与信号机的SDO数据对象,并转换成区域仿真???对应的struct数据结构类型。

        3)数据服务中心层:

        ●数据服务中心8:采用SCA?Java构件实现,包括Hibernate?ORM子???03、数据生成子???02与数据调遣子???01。Hibernate?ORM子???03基于Hibernate的关联映射实现路网数据结构及其在Oracle数据库9中的持久化存储。数据生成子???02通过组件内的数据生成服务d完成基于面向对象的路网数据提取,并生成SDO数据对象。数据调遣子???01中的数据调遣服务e通过WebService将SDO数据发送到区域仿真???。

        4)仿真资源层:

        ●Oracle数据库9:所存储的仿真路网采用包括拓扑信息,属性信息,地理信息的三层模型。其中的地理信息存储在Oracle?Spatial数据库中。整个数据库包括路网拓扑信息表,路网元素属性信息表,路网元素地理信息表,信号机参数表与映射集合表等13个关系型数据表。

        本发明各??榧涞氖荽浞绞接兴闹?,如图1所示,仿真客户端1与交互智能体3之间,交互智能体3与区域仿真???之间,交互智能体3与数据服务中心8之间,仿真结果处理智能体4与区域仿真???之间,协调智能体5与区域仿真???之间,以及路网生成智能体7与数据服务中心8之间,均采用的是Web?Service进行数据传输;交互智能体3与仿真结果处理智能体4之间,交互智能体3与协调智能体5之间,数据维护客户端2与数据服务中心8之间,以及数据服务中心8中的数据调遣子???01与数据生成子???02之间,数据生成子???02与Hibernate?ORM子???03之间,采用的是SCA?Service进行数据传输;此外,数据服务中心8与Oracle数据库9之间采用的是java数据库连接JDBC(Java?Data?Base?Connectivity)进行数据传输,区域仿真???与路网生成智能体之间采用COM?Service进行数据传输。

        本发明的基于面向服务架构的分布式交通仿真平台中各??榈墓ぷ骰诼呒奔渫?,从仿真客户端1部署仿真任务到仿真结束返回统计数据结果。

        本发明仿真平台的交互智能体3、协调智能体5、仿真结果处理智能体4以及数据服务中心8采用服务组件架构SCA规范,并各自封装成SCA构件,SCA的语言无关性使得SCA组件可由多种语言实现,包括Java、C、C++、BPEL、PHP、COBOL等等。每个SCA构件由若干SCA组件构成。每个SCA组件包含如下4个部分:

        ●服务:组件本身向其他组件提供的业务功能;

        ●实现:特定业务功能的实现代码;

        ●属性:对业务功能中的数据值进行配置,进而影响实现的行为;

        ●引用:本组件实现对其他组件所提供服务的依赖。

        本发明实施例中SCA组件采用Java实现,组件包括服务接口、实现、属性、引用接口四部分。一个SCA组件可对外提供一个或多个服务,每个服务对应一个接口类,服务对应的方法在服务接口类中体现为一系列的抽象方法,若服务被定义为远程调用,需要用@Remotable进行注释,在实现类中,用@Service(*.class)指定服务接口,并重写服务接口中的方法。若组件的实现需包含对其它组件服务的引用,则需调用相应的set方法并以@Reference进行注释。属性的配置需要在服务实现类中用@Property标记字段或Setter方法,并在配置文件中的<property>元素中进行配置。

        由于分布式仿真平台结构复杂,涉及多个???,仅由一名开发人员从底层开始完成系统的全部开发是不现实的。首先,分布式系统的开发应尽可能建立在现有的??橹?,其次,分布式系统应先以??槲ノ唤蟹稚⒖?,最后将各??榻屑?。仿真??镾CA的实现与SDO数据封装已经解决了SCA??橄低臣傻奈侍?,而独立开发的非SCA??榈募尚枰杓葡嘤Φ慕饩龇桨?。为了将单机仿真程序与整个仿真平台结合,其需要具备提供服务与调用服务的能力。虽然单机的仿真程序可以将关键部分分离出来,重新封装成SCA组件,但这样操作具有许多弊端。首先,作为一个完整的单机仿真程序,重新对其关键组件封装会破坏软件的整体结构,不利于软件后续的升级与维护。其次,单机仿真程序本身规模较大,重新封装成SCA组件代码改动量大。再次,SCA组件的运行依赖特殊的Web容器,系统运行的独立性降低。最后,单机仿真程序的开发人员须同时具有SOA、SCA、SDO的相关知识,否则不利于整个系统的分散开发。而本发明创新的实现了一种单机程序SOA接入???,可将单机仿真程序??榻尤隨OA环境并作为分布式仿真平台??榈囊徊糠?,并进行极少的代码修改。

        SOA接入??橛隫C单机仿真程序???2位于同一台计算机上,如图3所示,涉及到两个环境SOA环境与非SOA环境,SOA环境指本发明的仿真平台环境,VC单机仿真程序??槭怯捎肰isual?C++实现的单机仿真程序???,处于非SOA环境。SOA接入??榘礁霾糠郑悍癜蠖??0与服务调用???1。

        服务绑定???0采用SCA?Java构件实现,包括数据解析子???01和Socket请求子???02,其应用原理为:首先,服务绑定???0通过Web?Service传输数据,接受SOA环境中的服务调用请求,并获得SDO数据;接着,数据解析子???01解析SDO数据,并通过Socket请求子???02将数据经Socket连接发送到VC单机仿真程序???2,VC单机仿真程序???2执行其内仿真程序的相关操作,然后,VC单机仿真程序???2通过Socket连接将结果返回到服务绑定???0;最后,服务绑定???0将返回的数据结果封装成SDO数据对象,并返回给服务调用者。

        服务调用???1则采用COM组件的方式实现,包括数据转换子???11和服务引用子???12。服务引用子???12采用CLR托管程序开发,并以DLL形式生成。VC单机仿真程序???2通过COM组件接口调用服务引用子???12,实现仿真服务(如数据发送服务)的引用,并得到SDO数据。数据转换子???11解析SDO数据并进行重新组合,使数据存储格式与VC单机仿真程序???2中的一致。数据类型在VC程序,COM组件,托管DLL中需要进行相应的转化,VC程序调用COM服务时传递的参数与返回值应使用Variant类型变量,COM组件访问托管DLL时传递的参数与返回值则需要进行托管,非托管类型转化。图3中COM组件提供的接口都需要从IUnknown接口继承。

        基于面向服务架构的分布式交通仿真平台的仿真方法,其仿真流程如图4所示,具体步骤说明如下:

        步骤1、仿真启动;

        仿真客户端1访问交互智能体3的仿真启动服务,交互智能体3根据仿真任务确定仿真区域以及参与仿真的区域仿真???接入的VC区域仿真???。

        步骤2、数据准备;

        交互智能体3调用数据服务中心8的数据生成子???02的服务,数据服务中心8从Oracle数据库9中获取原始的路网数据,并按区域将数据重组并封装成SDO数据对象,生成区域仿真路网数据。数据准备完毕后,交互智能体3初始化区域仿真???并同时等待初始化完成。

        步骤3、初始化区域仿真???,包括步骤3.1与步骤3.2,这两个步骤都是多任务并发;

        步骤3.1,仿真启动服务根据参与仿真的VC区域仿真??榈氖靠俣嘞叱?,在多线程中调用区域仿真初始化服务;

        步骤3.2,仿真启动服务在主线程中通过标志位等待步骤3.1中的仿真初始化完成;

        步骤4、获取区域仿真路网数据;

        各VC区域仿真??橥ü饔寐吠芍悄芴宓穆吠煞?,获取在步骤2生成的区域仿真路网数据。

        步骤5、区域协调仿真启动,具体为:

        步骤5.1,当所有的VC区域仿真??槌跏蓟崾?,仿真启动服务开始调用协调智能体5的协调初始化服务,此时仿真启动服务的生命周期结束;

        步骤5.2,仿真客户端1开始循环调用交互智能体3的仿真数据获取服务,获取公交车辆当前时刻坐标,干线、路口交通流情况以及各信号等当前相位。协调智能体5的协调初始化服务首先会开辟多个线程,并循环执行线程调用各VC区域仿真??榈闹芷诜抡娣?。

        步骤6、区域协调控制;

        协调智能体5在每一个仿真周期中首先根据上一周期仿真结果判断是否需要区域协调。若当前仿真周期无需进行区域间协调,则执行步骤7,若当前仿真周期需要进行区域间协调,则执行步骤10。

        步骤7、周期性区域协调仿真;

        协调智能体5调用区域仿真???的周期仿真服务,实现给定周期内的区域交通仿真,根据子区域所处的位置进行边界信息的更新,包括社会车辆交通流信息与公交车位置信息,然后执行步骤8。

        步骤8、生成实时交通仿真数据;

        各VC区域仿真??榈饔梅抡娼峁碇悄芴?的实时结果上传服务,向仿真结果处理智能体4更新本周期的仿真实时信息,包括公交车辆经纬度,行驶方向,信号等状态等。

        步骤9、仿真状态判定与数据上载,包括步骤9.1与步骤9.2;

        步骤9.1,本周期的仿真实时信息更新后,仿真结果处理智能体4通过交互智能体3的仿真结果上传服务,上传实时仿真结果给交互智能体3,仿真客户端1可以通过交互智能体3的仿真数据获取服务,获得实时仿真结果并显示;

        步骤9.2,协调智能体5根据仿真时间是否到期判断整个仿真过程是否结束,若仿真没有结束则循环进行下一周期的仿真,转到步骤6执行,若仿真结束,则结束区域仿真,然后转步骤12。

        步骤10、协调控制决策;

        协调智能体5调用信号调整服务进行决策。

        步骤11、更新信号机参数;

        根据步骤10信号调整服务的结果在下一个仿真周期中更新信号机的参数,然后执行步骤7。

        步骤12、仿真统计数据生成;

        交互智能体3调用仿真结果处理智能体4的统计结果生成服务,将生成的统计数据上传到交互智能体3,然后执行步骤13。

        步骤13、统计数据显示与结束;

        仿真客户端1通过交互智能体3的仿真数据获取服务获得最终的统计数据结果并显示,整个分布式仿真任务结束,等待下一个仿真任务的到来。

        最后,为了验证本发明的分布式交通仿真平台的可行性,本文选择了某区内一真实路网进行实验,路网如图5所示。

        整个路网被分成3个子区域,用虚线框与实线框分出,路网内设置了3条公交线路:Line1:A1-A2-A14-A15-A16-A17-A18-A19-A7-A8-A9-A21-A31-A32-A33-A34,共有7站;Line2:A25-A26-A27-A28-A16-A17-A18-A19-A29-A30-A31-A21-A22-A23-A24,共有8站;Line3:A35-A36-A37-A38-A39-A28-A29-A40-A41-A42-A43,共有7站;每条线路上、下行方向共有20辆公交车,发车间隔为1分钟,公交车辆的平均速度为12米/秒,社会车辆以交通流方式在路口处注入,信号控制采用半感应控制,信号周期为120秒,最小绿灯时间为20秒,最大绿灯时间为60秒,仿真时间设定为1小时。

        整个分布式仿真耗时87秒,证明了本发明的分布式交通仿真平台的高效性。三条线路的平均旅行时间分别为1303.10秒,1159.58秒和1096.32秒。此外,本文统计了路口公交车辆通过数(APB)与公交车辆路口平均延误(AD,秒)两个指标,如图6所示。以路口A8和A12为例,通过路口A8的公交车数量为96,公交车平均延误为11.47秒;路口A12没有公交车通过,则其平均延误时间无法统计。分布式仿真所得数据与单机仿真程序所得数据基本一致,表明分布式仿真平台可以正确模拟车辆的行为,验证了其正确性。

    关 键 词:
    基于 面向 服务 架构 分布式 交通 仿真 平台 及其 方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:基于面向服务架构的分布式交通仿真平台及其仿真方法.pdf
    链接地址://www.4mum.com.cn/p-5782009.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03