当前位置: 首页 > 专利查询>浙江大学专利>正文

基于虚拟机KVM的KDWP通讯连接代理实现方法技术

技术编号:2820663 阅读:417 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及嵌入式移动设备相应软件开发的调试技术领域,旨在提供一种基于虚拟机KVM的KDWP通讯连接代理实现方法。该方法包括主客同化、一致的格式处理多种数据包、假多线程化、标号化的信息池处理、丢包判断等步骤。本发明专利技术主要功能是对phoneME虚拟机提供KDWP通讯协议的实现,以对虚拟机软件实现远程调试的能力。具有独立性和异步性的特点。

【技术实现步骤摘要】

本专利技术涉及嵌入式移动设备相应软件开发的调试
,特别是涉及对 KVM虚拟机的远程调试支持的实现方法。
技术介绍
科技的发展永远都要通过技术创新来实现,而技术创新是没有尽头的。随着 中国日渐成为世界最大的移动通讯与应用市场,移动增值应用服务迅速崛起, 这应该就是继互联网之后最大的商机。智能手机在世界及中国的市场份额不断 快速增长,各种创新手机软件的开发和应用正是推动移动增值服务市场不断发 展前进的动力来源,手机软件开发渐入成熟。目前,手机游戏业务,手机增值 业务,移动商务应用等领域正处于迅猛发展的阶段。各大游戏公司,大型娱乐 网站,门户网站,电子商务,甚至到企业应用,报刊媒体,电视广播等机构都 大力推出自己的移动业务。而即将到来的下一代通讯技术更是让移动软件开发 成为市场上份额最大的产业之一。J2ME是目前技术开发的主体,其他市场需要的技术还有SYMBIAN C++, WINDOWS MOBILE /CE C++。由于J2ME的技术先进,而且又能跨平台运行,因此 受到了众多手机厂家的支持,甚至成为现在用户购买手机的一项比较重要的技 术指标。所以到目前为止,手机的游戏应用平台中,以支持J2ME的最多,而且 J2ME软件开发商也有越来越多的趋势,J2ME己成为2002年下半年之后的行动 游戏平台主流。尤其在进入04年之后,基于JSR184的Mobile 3D Graphics API for J2ME的3D游戏开始出现,像索爱S700/K700/Z500以及西门子S65等新机 都开始支持在手机上运行3D JAVA游戏。phoneME是SUN Open Source Java中的一个重要项目,包含了 CLDC和CDC 的HotSpot实现以及多个JSR。相比起以前能下载到的RI, phoneME是一个真正 经历过众多实际产品验证的,商业级的JavaME实现。运行phoneME到当代的手 机上便是自然而然的事。同时,以J2ME平台开发的程序叫做MIDlet,可以直接从在线下载后离线运行,或从PC通过数据线、红外或者蓝牙传输到手机 上。由于J2ME程序都很小,只有几十K,所以又被称为K-JAVA。由于K-JAVA (J2ME)是开放平台,因此任何程序设计师甚至程序编写爱好者都能到Sun网 站下载J2ME开发工具,为手机写JAVA程序。然而Sun网站上的开发工具或多 或少存在一些问题,如配置复杂,专用性不足以及平台不能得到快速更新;尤 其是对一个需要推出新的手机、新的平台的企业来说,就要开发自己版本的开 发平台。调试工具是开发平台中的不可缺少的一部分。每个开发人员都应该使用调试 器或调试工具。调试器可以让您单步调试代码、冻结输出并检查变量。调试工 具可以帮助有经验的开发人员更迅速地找到发生问题的位置。本软件集就是基 于以上背景和技术条件下开发的MIDlet调试软件。Debugger是MIDlet开发平 台中的一个必不可或缺的开发工具,因此开发这样的调试工具是必要的。本通 讯连接代理就是基于这种背景下实现的一个功能组件。
技术实现思路
本专利技术的目的在于提供一种嵌入式远程调试软件中基于phoneME虚拟机的 KDWP通讯连接代理(Connection Agent)实现方法。 本专利技术解决其技术问题采用的技术方案如下1) 主客同化嵌入式远程调试器各个组件的启动顺序无关。2) —致的格式处理多种数据包 命令数据包和应答数据包,能够同时处理;3) 假多线程化由于本通讯连接代理需要运行在嵌入式设备上,因此资源限制明显。本专利技术 用循环链表来模拟多线程的能力,既有很好的响应能力,又能够满足资源所限;4) 标号化的信息池处理 简单地实现了异步通信能力;5) 丢包判断利用年龄标志位判断数据包丢失或者超时的能力,也能够解决因资源不足而 忽略某些包的能力;本专利技术具有的有益的效果是本专利技术是一种嵌入式远程调试软件中基于phoneME虚拟机的KDWP通讯连接代 理(Connection Agent)实现方法,其主要功能是对phoneME虚拟机提供KDWP 通讯协议的实现,以对虚拟机软件实现远程调试的能力。(1) 独立性。本方法实现了在嵌入式软件调试的KDWP通讯连接代理 (Connection Agent),即通讯格式标准化,与调试器或者调试代理只采用标准化的通讯方式。因此具有架构清晰,各组件相对独立的优点,也是实现远程调 试的基础。因此,只要遵循KDWP协议的调试器或者调试代理都与本通讯连接代 理兼容。(2) 异步性。本嵌入式软件调试的KDWP通讯连接代理(Connection Agent) 具有假多线程化、异步通信的能力,很好的解决了丢包或者来不及处理上一个 包等情况下的响应问题、资源限制瓶颈的问题,也具备了容错的能力。附图说明图1是本专利技术的实施过程示意具体实施例方式本专利技术是一种嵌入式远程调试软件中基于PhoneME虚拟机的KDWP通讯连接代 理(Connection Agent)实现方法,下面结合图1说明其具体实施过程。1) 主客同化本连接代理会先尝试连接目标调试代理或者调试器,这表现为客户端角色; 当连接失败时,本连接代理会继续在指定端口上进行侦听,以等待目标调试代 理或者调试代理的连接,这表现为服务端角色。即本连接代理既能以客户端的 角色进行连接,也能以服务端的角色进行连接,叫做主客同化。这样就达到各 个调试组件启动顺序无关,方便使用。2) 同时处理命令数据包和应答数据包KDWP数据包有两种基本的格式,即命令数据包(command packets)和应答 数据包(r印ly packets)。由于命令数据包需要被任意的一端所发送,所以本 通讯连接代理也具备了同时处理这两种数据包的能力。命令数据包是一次交互 的发起者,应答数据包是对这个命令的回应,基本上是一一对应关系。 数据包格式如下命令数据包(Command Packet)HeaderLength (4 bytes)Id (4 bytes) Flags (1 bytes) Command set (1 bytes) Command (1 bytes) Data (Variable)应答数据包(R印lay Packet) HeaderLength (4 bytes)Id (4 bytes)Flag (1 bytes)Error code (2 bytes) data (Variable)所有数据包的域采用大头格式(big-endian format),前三个域的意义在两 种数据包中是一样的,两种数据包的大小总是一样的。因此简单地实现了两种 数据包的一致通讯方式。3) 假多线程化处理这里的假多线程化,其实就是单线程来模拟多线程的任务。当接受到命令数 据包时,就把该数据放到信息池中。信息池是一个循环链表,加入额外的信息 有标志号和年龄(功能见下)。本通讯连接代理采用询问的方式对各个链表节点 进行处理,在一般服务器中一个节点的处理一般采用一个线程。但这里为了节 省操作系统负荷,利用各个任务都很小的基础上不采用真正线程的方式。4) 标号化的信息池处理当接收到调试代理的命令数据包时,就加以唯一标志,这样就实现了异步通 讯模式,不必要一个命令数据包后必须立即回复。而是可以同时接受多个命本文档来自技高网
...

【技术保护点】
一种基于虚拟机KVM的KDWP通讯连接代理实现方法,其特征在于,包括: 1)主客同化:本KDWP通讯连接代理既以客户端的角色进行连接,同时又以服务端的角色进行连接,使嵌入式远程调试器各个组成部分的启动顺序无关; 2)一致的格式处理多种数据包,同时处理命令数据包和应答数据包; 3)假多线程化,用循环链表来模拟多线程; 4)标号化的信息池处理,简单地实现异步通信; 5)丢包判断,利用年龄标志位判断数据包丢失或者超时。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈天洲陈剑欧阳雷吴俊刘鑫罗尚虎胡威施青松冯德贵蒋冠军
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1