虚拟界面装置及其相关方法

文档序号:6461885阅读:208来源:国知局
专利名称:虚拟界面装置及其相关方法
技术领域
本发明有关一种虚拟界面装置及相关方法,尤指一种可一爪哇应用组件沟通的 虚拟界面装置及相关方法。
背景技术
爪哇(Java)程序是目前广泛使用的程序语言,其主要优点为具有跨平台的移 植能力(Write Once, Run Anywhere)。同样的程序二元码可适用于Unix、 Linux、 麦金塔(Macintoshes)及微软(Windows)作业系统,但相对的缺点则是无法直接 存取电子装置的驱动程序,不论在何种作业系统中,只能通过爪哇虚拟器(Java Virtual Machine, JVM )虚拟存取电子装置。
在医疗及消费电子产品的研发过程中,开发人员需建立作业系统,并安装内部 电子装置的驱动程序,最后引进爪哇虛拟器及所需爪哇应用组件(Java Application)以实现软硬件功能。但是,有时通过爪哇虚拟器沟通会造成功能实 现的困难,内部电子装置往往需要直接与爪哇应用组件进行沟通,此时爪哇本体界 面(Java Native Interface, JNI)提供开发人员一解决方式。
爪哇本体界面利用(:/0++所开发的函式库解决爪桂应用组件与作业系统连结 过少的缺点,其可以在爪哇程序中使用(:/〔++相关的函式及指令,以控制电子装 置与作业系统的核心程序。但是,爪哇本体界面却导致爪哇程序失去原本的优点。
当爪哇程序与(:\0++结合时,程序复杂度提升,对象导向设计能力降低以及模块化
设计不易。此外,虽然爪哇本体界面提供爪哇程序与作业系统紧密的联系,反而让 爪哇程序失去跨平台的移植能力。
在使用爪哇本体界面进行产品开发时,程序开发人员必须根据电子产品的内部
装置,引入所需(:/〔++函式及指令。因此,程序开发人员还是需要爪哇应用组件 及爪哇本体界面,不仅造成增加开发人员的困扰及开发成本,也造成爪哇应用组件 丧失移植能力。

发明内容
因此,本发明提供一种虚拟界面装置及相关方法,用以虚拟化一硬件装置,以 与一爪哇应用组件进行沟通。
本发明揭露一种用于一硬件装置的虛拟界面装置,用来虚拟化该硬件装置,以 与一爪哇应用组件进行沟通。该硬件装置操作于一作业系统,而该作业系统包含对 应于该硬件装置的一驱动单元。该虚拟界面装置包含有一虚拟单元及一事件单元。 该虚拟单元包含对应于该硬件装置的一虛拟数据,且用来根据该爪哇应用组件所产 生的一存取信息,修改该虚拟数据或提供该虚拟数据给该爪哇应用组件。该事件单 元用来根据该虚拟数据,产生一爪哇事件信息至该驱动单元,及根据该驱动单元所 产生的一装置事件信息,读写该虚拟数据。
本发明另揭露一种用来虚拟化一操作于一作业系统的硬件装置的虚拟方法,用 以与一爪哇应用组件进行沟通。该作业系统包含对应于该硬件装置的一驱动单元。
该虚拟方法包含有提供对应于该硬件装置的一虚拟数据及一事件层;根据该爪哇应 用组件所产生的一存取信息,修改该虚拟数据或提供该虚拟数据给该爪哇应用组 件;根据该虚拟数据,利用该事件层产生一爪哇事件信息至该驱动单元;以及根据 该驱动单元所产生的一装置事件信息,利用该事件层读写该虚拟数据。


为更清楚理解本发明的目的、特点和优点,以下将配合附图对本发明的较佳
实施例进行详细说明,其中
图1为本发明较佳实施例一电子产品的示意图。 图2为本发明实施例一虚拟流程的流程图。 图3为本发明实施例一虚拟流程的流程图。
具体实施例方式
请参考图1,图1为本发明实施例一电子产品100的示意图。电子产品100 可操作于一 Linux、微软或其它作业系统,且包含爪哇应用组件J—Ap(1) J—Ap(n)、 一虚拟界面装置110、 一核心模块120及硬件装置Ph—Dev(1) Ph—Dev(m)。爪哇应用组件J—Ap(l) J—Ap(n)操作于一爪哇虛拟器124,其分 别根据爪哇函式产生存取信息RW_info(l) RW_info (n),以与虚拟界面装置110交换信息。核心模块120包含一系统呼叫界面122及驱动单元DVR一Dev(1) DVR—Dev (m),其分别用来驱动硬件装置Ph—Dev (1) Ph—Dev (m),并根据硬件 装置Ph—Dev(l) Ph—Dev(m)的操作,产生装置事件信息EVT—Dev(1) EVT—Dev(m)。虚拟界面装置110用来虚拟化硬件装置Ph—Dev (1) Ph_Dev (m), 其包含有一虚拟单元112及一事件单元114。虚拟单元112包含对应于硬件装 置Ph—Dev(l) Ph—Dev(m)的一虚拟数据VDATA,其根据存取信息RW_info(l) RW—info (n)的任一存取信息,修改虚拟数据VDATA的数据内容,或是提供虚 拟数据VDATA给对应的爪哇应用组件。事件单元114用来根据虚拟数据VDATA, 产生一爪哇事件信息EV一Jap,并通过系统呼叫界面122输出至相关的驱动单元, 以及根据装置事件信息EVT—Dev(l) EVT—Dev(m)的任一信息,读写虚拟数据 VDATA。此外,事件单元输出一第一唤醒信号SWUP1,以控制相关爪哇应用组件 产生存取信息,或是接收由爪哇应用组件所输出的一第二唤醒信号SWUP2,以 触发读写虚拟数据VDATA及产生爪哇事件信息EV—Jap。
其中,虚拟数据VDATA包含一虚拟装置信息VirDevJ)ATA,用来储存硬件 装置Ph—Dev(l) P、Dev(m)的软硬件信息,及一事件装置数据EVT_DATA,用 来于事件单元U4或爪哇应用组件J—Ap(l) J—Ap(n)读写虚拟装置信息 VirDev一DATA时,提供相关于读写信息的电子装置的硬件信息给相关的爪哇应 用组件^LAp(l) J一Ap(n)或事件单元114。为了明确说明本发明的概念,以下 为通过扩展标示语言(Extensible Mark叩Language, XML)实现虚拟数据VDATA
的较佳实施例。
1、虚拟装置信息VirDev—DATA: File Context (XMU (Device Info) 一W3C XML 一 <device—Info〉
<device—name〉
<device—type〉
〈device—site>
<device—ioctl—cmd〉
一 〈device一ioctl—cmd—num>
〈devuce一ioct1—cmd>
〈device status〉— 〈device—cmding>
〈device—cmding—ioct1〉
— 〈ioct1—cmd〉
<ioct1—cmd—parameter〉
〈device—cmding—read〉
〈device—cmding—open〉
<device_cmding—close〉
<device—cmding—write>
— <write—type〉
— 〈write—context〉
— 〈device—response〉
〈device—request〉
— <device—cmd—type〉
— 〈device—cmd—cmd>
〈device—cmd—parameter〉
〈device—cmd—response〉
— 〈device—return_value〉
— 〈device_return—parameter〉 〈device return context〉
上述的虚拟装置信息VirDev_DATA的程序包含一装置信息区块、 一指令信 息区块及一回应信息区块。装置信息区块〈device—Info〉用来储存硬件装置 Ph—Dev(l) Ph_Dev(m)的身份信息〈device—name〉、 控制信息 〈device—ioctl—cmd〉、 地址〈device—site〉、 禾中类〈device—type〉与状态 〈device一status〉。当事件单元114读取完装置信息区块后会将其清空信息内 容。指令信息区块〈device—cmding〉用来储存爪哇应用组件所产生的指令,其 包含读 <device—cmding—read〉、 写 〈device—cmding—write〉、 开启 〈device—cmding—open〉等指令。回应信息区块〈device—response〉用来储存事 件单元114所回传的数值或状态信息,并由爪哇应用组件读取后清空其内容。
2、事件装置数据EVT—DATA:
File Context(XML)- W3C XML
— <device—java>
<device_name>
<device—real—name>
<device_type〉
<device—status〉 一 〈device—Event>
<device—name〉
<device—real—name〉
<device—type> <device—status〉
上述的事件装置数据EVT一DATA的程序包含一爪哇区块〈device—java〉及一 事件区块〈device—Event〉。当事件单元114利用第一唤醒信号SWUP1通知爪哇 应用组件时,爪哇区块提供相关硬件装置的身份信息、种类与状态给爪哇应用 组件,而爪哇应用组件在接收前述信息后将清除其内容。相对地,当爪哇应用 组件利用第二唤醒信号SWUP2通知事件单元114时,事件区块则提供相关硬件 装置的身份信息、种类与状态给事件单元114,而事件单元114在接收前述信 息后将清除其内容。此外,事件装置数据EVT—DATA可为虚拟装置信息 VirDevJ)ATA的部分信息,其占用较少的记忆体,以在通知期间降低数据传输 量,进而增进系统效率。
请参考图2,图2为本发明实施例一虚拟流程20的流程图。虚拟流程20 用来虚拟化一操作于一作业系统的电子装置,其提供对应于该电子装置的一虚 拟数据及一事件层,以与一爪哇应用组件进行沟通。其中,该作业系统包含对 应于该电子装置的一驱动单元。虚拟流程20较佳地实现于电子产品100,其包 含下列步骤
步骤200:开始。
步骤202:根据该爪哇应用组件所产生的一存取信息,修改该虚拟数 据或提供该虚拟数据给该爪哇应用组件。
步骤204:根据该虚拟数据,利用该事件层产生一爪哇事件信息至该 驱动单元。步骤206:根据该驱动单元所产生的一装置事件信息,利用该事件层 读写该虚拟数据。
步骤208:结束。
根据虚拟流程20,当爪哇应用组件通过存取信息虚拟数据时,事件层对应
地根据虚拟数据产生爪哇事件信息,其包含爪哇应用组件所指示的相关操作, 以通过驱动单元控制对应的硬件装置。较佳地,事件层于接收爪哇应用组件所 产生的一第二唤醒信号时,才产生爪哇事件信息。相对地,当硬件装置回应相 关操作或主动发起特定操作时,驱动单元产生装置事件信息给事件层,而事件 层对应地修改产生爪哇事件信息,其包含爪哇应用组件所指示的相关操作,以 通过驱动单元控制对应的硬件装置。此外,事件层输出一第一唤醒信号,通知 爪哇应用组件产生存取信息,以取得虚拟数据。
为了更详细说明本发明概念,请参考图3,图3为本发明实施例虚拟流程 30的流程图。虚拟流程30提供对应于该硬件装置的一虚拟数据及一事件层, 以虚拟化一硬件装置。虚拟流程30主要用于一爪哇应用组件主动控制硬件装 置的流程,其包含下列步骤
步骤300:开始。
步骤302:根据一存取信息,修改该虚拟数据。 步骤304:通知该事件层。
步骤306:利用该事件层检査取得该虚拟数据中相关硬件装置的一硬
件信息。
步骤308:根据该硬件信息,取得该虚拟数据中相关硬件装置的一控
制信息。
步骤310:根据该控制信息,产生一爪哇事件信息至硬件装置。 步骤312:接收来自硬件装置的一回传信息。 步骤314:利用该事件层根据该回传信息,修改该虚拟数据。 步骤316:提供修改后的该虚拟数据给该爪哇应用组件。 步骤318:结束。
较佳地,虚拟流程30实现于虚拟界面装置110,而其虚拟数据及事件层分 别为虚拟单元112的虚拟数据VDATA及事件单元114。举爪哇应用组件J—Ap(l) 主动控制硬件装置Ph一Dev(m)为一例。在此情况下,爪哇应用组件J—Ap(l)预 先产生存取信息RW—info(l)。根据虚拟流程30,虚拟单元112将根据存取信息RW—info(l),写入硬件装置PhJ)ev(m)的身份、种类、控制与状态等信息于 虚拟装置信息VirDev—DATA及事件装置数据EVT—DATA的事件区块(即 〈device—Event〉)中。接着,爪哇应用组件J—Ap (1)产生第二唤醒信号SWUP2, 以唤醒事件单元114读取事件区块。最后,事件单元114会取得硬件装置 Ph—Dev(m)的身份与状态信息,并据此产生爪哇事件信息EV—Jap。驱动单元 DVR一Dev(m)通过系统呼叫界面122接收爪哇事件信息EV一Jap后传达给硬件装 置Ph—Dev(m)以进行相关操作。
驱动单元DVR—Dev (m)根据硬件装置Ph一Dev (m)的操作,回传装置事件信息 EVTJ)ev(m)给事件单元114。接着,事件单元114据此修改虚拟装置信息 VirDevJ)ATA及事件装置数据EVT_DATA的爪哇区块(即〈device—java〉)。最 后,事件单元114输出第一唤醒信号SWUP1通知爪哇应用组件J—Ap(l),并由 虚拟装置信息VirDev一DATA提供相关控制信息。
当硬件装置主动改变操作时,事件单元114可进行类似虚拟流程30的操 作,以传达控制信息给对应的爪哇应用组件。由于流程类似,详细步骤于此不 赘述0
综上所述,本发明在硬件装置与爪哇应用组件之间提供一虚拟界面,其包
含下列优点i、爪哇应用组件不需要与(:/〔++函式结合,以提高程序完整和
单一性;2、爪哇应用组件与虚拟界面可为独立模块,而不需混于一体;3、开 发人员不需要根据硬件装置修改爪哇应用组件,以维持爪哇应用组件的跨平台 移植能力。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等 变化与修饰,皆应属本发明的涵盖范围。
权利要求
1. 一种用于一硬件装置的虚拟界面装置,用来虚拟化该硬件装置,以与一爪哇应用组件进行沟通,该硬件装置操作于一作业系统,该作业系统包含对应于该硬件装置的一驱动单元,该虚拟界面装置包含有一虚拟单元,包含对应于该硬件装置的一虚拟数据,该虚拟单元用来根据该爪哇应用组件所产生的一存取信息,修改该虚拟数据或提供该虚拟数据给该爪哇应用组件;以及一事件单元,用来根据该虚拟数据,产生一爪哇事件信息至该驱动单元,及根据该驱动单元所产生的一装置事件信息,读写该虚拟数据。
2. 根据权利要求1所述的虚拟界面装置,其特征在于该事件单元输出一第一 唤醒信号信号,以控制该爪哇应用组件产生该存取信息。
3. 根据权利要求2所述的虚拟界面装置,其特征在于该事件单元接收该爪哇 应用组件所输出的一第二唤醒信号信号,以读写该虚拟数据及根据该虚拟数据,产 生该爪哇事件信息至该驱动单元。
4. 根据权利要求1所述的虚拟界面装置,其特征在于该虚拟数据包含一虛拟 装置信息,用来储存该硬件装置的软硬件信息,及一事件装置数据,用来于该虚拟 装置信息被读写时,提供该硬件装置的硬件信息给该事件单元或该爪哇应用组件。
5. 根据权利要求4所述的虚拟界面装置,其特征在于该虚拟装置数据包含 一装置信息区块,用来储存该硬件装置的身份信息、控制信息、地址、种类与状态;一指令信息区块,用来储存该爪哇应用组件所产生的指令;以及 一回应信息区块,用来储存该事件单元所回传的数值或状态信息。
6. 根据权利要求5所述的虚拟界面装置,其特征在于该事件装置数据包含该 虚拟装置数据的部分数据。
7. 根据权利要求4所述的虚拟界面装置,其特征在于该事件装置数据包含-一爪哇区块,用来提供该硬件装置的身份信息、种类与状态给该爪哇应用组件;以及一事件区块,用来提供该硬件装置的身份信息、种类与状态给该事件单元。
8. 根据权利要求1所述的虚拟界面装置,其特征在于该作业系统是一 Linux 作业系统或一微软作业系统。
9. 根据权利要求1所述的虚拟界面装置,其特征在于该爪哇应用组件操作于 一爪哇虚拟器。
10. —种用来虚拟化一操作于一作业系统的硬件装置的虚拟方法,用以与一爪 哇应用组件进行沟通,该作业系统包含对应于该硬件装置的一驱动单元,该虚拟方法包含有提供对应于该硬件装置的一虚拟数据及一事件层;根据该爪哇应用组件所产生的一存取信息,修改该虚拟数据或提供该虚拟数据 给该爪哇应用组件;根据该虚拟数据,利用该事件层产生一爪哇事件信息至该驱动单元;以及 根据该驱动单元所产生的一装置事件信息,利用该事件层读写该虚拟数据。
11. 根据权利要求10所述的虚拟方法,其特征在于另包含利用该事件层输出一 第一唤醒信号信号,以控制该爪哇应用组件产生该存取信息。
12. 根据权利要求11所述的虚拟方法,其特征在于另包含利用该事件层接收一 第二唤醒信号信号,以读写该虚拟数据及根据该虚拟数据,产生该爪哇事件信息至 该驱动单元。
13. 根据权利要求10所述的虚拟方法,其特征在于该虚拟数据包含一虚拟装置 信息,用来储存该硬件装置的软硬件信息,及一事件装置数据,用来于虛拟装置信 息被修改时,提供该硬件装置的硬件信息给该事件层或该爪哇应用组件。
14. 根据权利要求13所述的虚拟方法,其特征在于该虚拟装置数据包含 一装置信息区块,用来储存该硬件装置的身份信息、控制信息、地址、种类与状态;一指令信息区块,用来储存该爪哇应用组件所产生的指令;以及 一回应信息区块,用来储存该事件单元所回传的数值或状态信息。
15. 根据权利要求14所述的虚拟方法,其特征在于该事件装置数据包含该虚拟 装置数据的部分数据。
16. 根据权利要求13所述的虚拟方法,其特征在于该事件装置数据包含 一爪哇区块,用来提供该硬件装置的身份信息、种类与状态给该爪哇应用组件;以及一事件区块,用来提供该硬件装置的身份信息、种类与状态给该事件层。
17. 根据权利要求10所述的虚拟方法,其特征在于该作业系统是一 Linux作业 系统或一微软作业系统。
18,根据权利要求10所述的虚拟方法,其特征在于该爪哇应用组件操作于一爪 哇虚拟器。
全文摘要
为了减少产品开发成本,本发明提供一种用于一电子产品的一硬件装置的虚拟界面装置,用来虚拟化该硬件装置,以与一爪哇应用组件进行沟通。该硬件装置操作于一作业系统,而该作业系统包含对应于该硬件装置的一驱动单元。该虚拟界面装置包含有一虚拟单元及一事件单元。该虚拟单元包含对应于该硬件装置的一虚拟数据,且用来根据该爪哇应用组件所产生的一存取信息,修改该虚拟数据或提供该虚拟数据给该爪哇应用组件。该事件单元用来根据该虚拟数据,产生一爪哇事件信息至该驱动单元,及根据该驱动单元所产生的一装置事件信息,读写该虚拟数据。
文档编号G06F9/445GK101546265SQ200810087678
公开日2009年9月30日 申请日期2008年3月24日 优先权日2008年3月24日
发明者苏致安 申请人:纬创资通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1