一种基于移动终端平台的通用开发平台的制作方法

文档序号:6542815阅读:191来源:国知局
专利名称:一种基于移动终端平台的通用开发平台的制作方法
技术领域
本发明涉及一种基于移动终端多平台的通用开发平台。
背景技术
当前无线终端产品的设计硬件方面日趋成熟,软件的开发越来越成为影响产品质量和开发周期的重要因素。同时,国内手机市场日趋饱和,行业毛利不断缩小,以及国外厂商的本地化程度增加,国内厂商的比较优势缩小。国内厂商通常需要购买国外厂商的技术方案,不同方案之间开发方法差异较大。
有些移动终端生产厂商采用多个技术平台,而且未来还将继续采用多个平台,传统的软件设计方法是针对每一种不同的平台都有一套独立的从上层到下层的设计方案,导致不同平台之间甚至同一个平台上的不同产品上重复投资较多,产品开发的资源共享较少,包括人员,设计,代码等。这样就导致每开发一个产品,在软件上投入的重复的工作量比较多,品牌的标准化程度较低.。

发明内容
本发明所要解决的技术问题是提供一种基于移动终端平台的通用开发平台,它能够减少移动终端设备软件开发人员的工作量,减少重复劳动,削减开发成本减少重复投资,并增强软件的可移植性,改善软件开发人员的工作环境和开发的软件环境,缩短软件的开发周期,使得软件更标准化,使产品的软件风格更加统一,且提高产品开发的质量,缩短产品开发的周期,提高产品上市的速度。
本发明解决上述技术问题所采用的技术方案为一种基于移动终端平台的通用开发平台,其特征在于通用开发平台的软件框架结构为底层为平台驱动层,平台驱动层中包含有具体的某种移动终端的开发平台和用来驱动该开发平台的驱动模块;中间层是虚拟机层,包含有内核和虚拟机驱动层以及GUI子系统模块和其他标准最服务模块;最上层为高级应用层,包含有电话本、短消息和移动通信各种具体应用软件模块,层与层之间通过接口函数进行连接。
所述的中间层分为两层即虚拟机层I和虚拟机层II,虚拟机层I包含有内核和虚拟机驱动层,虚拟机层II包含有GUI子系统模块、其他标准最服务模块,虚拟机层I和虚拟机层II之间通过接口函数进行连接。
所述的中间层中虚拟机层II还包括用户自定义服务模块,以体现框架的开放性,并且可以不断吸收新功能的能力。
所述的内核分为消息机制部分和任务机制部分。
所述的接口是平台驱动层和虚拟机层I之间是平台抽象接口,它定义了一系列与具体平台相关的函数,对于不同的具体平台,其表现形式是相同的,即函数名和实现的功能是相同的,具体的内容不一样,针对不同的硬件平台,具体的实现方式不一样,要结合具体的平台来灵活实现,具体的平台驱动实现这些函数,通过以消息为形式的通信来实现具体平台的平台驱动层和虚拟机层中内核之间的协议。
所述的接口是虚拟机层I和虚拟机层II之间采用虚拟机驱动接口,它包括任务状态及切换信息的函数,消息的发送,接收,回调等函数。
所述的接口是虚拟机层I和高级应用层之间采用虚拟机高级应用接口,其接口比虚拟机层I和虚拟机层II之间的虚拟机驱动接口更抽象,这些接口函数更远离底层接口函数,其主要针对应用开发,其函数的种类和数量远比底层的接口函数丰富。
所述的任务机制部分其任务的实现方式分为协作多任务方式和抢占多任务方式,协作多任务方式即为一个任务完成后才能开始下一个任务,抢占多任务方式为当一个任务执行过程中,有可能被某一个其他任务所打断,从而去先执行完该其他的任务,返回来再执行原任务。
所述的开发平台为PC平台,PHILIPS平台,MOTOROLA平台,TI平台,高通平台或其他移动终端的开发平台。
与现有技术相比,本发明的优点在于由于第2,3,4层与具体的平台无关,所以设计该部分的软件工程师可以专注于自己的设计,而不必考虑具体平台可能带来的影响.而且设计出来的成果可以很方便的移植于另一中移动终端产品,这就减少了开发其他产品的工作量,同时易于形成统一的软件风格。由于平台驱动层是针对每一个具体平台的,因此对于每一个具体平台的软件开发,主要工作量都集中在开发对于该平台的驱动层。即对于不同具体平台的产品的软件开发,第2层和第3层的都是基本相同的,只存在一些细微差别,根据软件定义而定.也可以没有任何差别.主要的差别在于不同的平台驱动层。这样较之传统的软件开发方法,软件开发的工作量大大减少.极大的提高了产品的开发效率,缩短了软件开发周期,增加产品上市的速度,并减少移动终端设备软件开发人员的工作量,减少重复劳动,削减开发成本减少重复投资,并增强软件的可移植性,改善软件开发人员的工作环境和开发的软件环境。


图1为通用开发平台的模块框架结构图;图2为某一具体软件平台的典型结构图;
图3a为某一具体软件平台下短信息的编辑发送过程;图3b为某一具体软件平台下短信息的编辑发送过程;图4为通用开发平台下短信息的编辑发送过程;图5S-Bridge内核的消息和任务管理结构示意图。
具体实施例方式
以下结合附图实施例对本发明作进一步详细描述。
在移动通信终端的软件开发过程中,对于具有多个种类开发平台的情况,提出了一种通用平台的软件开发方法.即一个与具体平台(菲利普平台,高通平台等)无关的抽象出来的通用开发平台如叫S-Bridge平台。上述的各种具体平台可以是现在常见的PC平台、PHILIPS平台、MOTOROLA平台、TI平台,高通平台等等。
与这种软件开发方法的通用开发平台架构如图1所示.并称该架构为S-Bridge.
该架构是由4层和3组接口构成.如图1所示。
4个层自下而上分别是(1)第1层,平台驱动层;(2)第2层,虚拟机层I;(3)第3层,虚拟机层II(4)第4层,高级应用层。
3组接口自下而上为(1)平台驱动层和虚拟机层I之间的平台抽象接口;(2)虚拟机层I和虚拟机层II之间的虚拟机驱动接口;(3)虚拟机层I和高级应用层之间的虚拟机高级应用接口。
各层和各接口的具体描述对各层的具体描述(1)第1层即平台驱动层,其包含具体的平台及其驱动模块,具体应用时可以是某一个具体的平台及其驱动;(2)第2层即虚拟机层I,其包含S-Bridge内核及虚拟机驱动,S-Bridge内核逻辑上分为消息机制和任务机制2个部分,消息机制主要用于通信,任务机制具体表现在将所有的服务和应用分成多个任务实体,并管理各任务,也负责现场的切换,如保存现场和恢复现场等,虚拟机驱动是对于各个具体平台公共的驱动模块。
(3)第3层即虚拟机层II,其分为GUI子系统,GUI为图形用户界面,其他标准服务和用户自定义服务,GUI子系统是窗口(管理)系统,包含可视元素,其他标准服务包括输入法、彩信、wap等,用户自定义服务是可以交由第三方开发的模块,体现了本软件架构的开放性,并且可以不断吸收新功能的能力。
虚拟机层I和虚拟机层II可以合称为虚拟机层。
(4)第4层即高级应用层,其包括手机的高级应用模块,如电话本,短消息等。
对各接口的具体描述(1)平台驱动层和虚拟机层I之间的平台抽象接口,它定义了一系列与具体平台密切相关的函数。但是对于不同的具体平台,其表现形式是相同的。即函数名和实现的功能是相同的。但是具体的内容不一样。这些函数可以由上层来调用。具体的平台驱动就是实现这些函数。通过以消息为形式的通信来实现平台驱动层(具体平台)和虚拟机层(S-Bridge内核)之间的协议。
(2)虚拟机层I和虚拟机层II之间的虚拟机驱动接口包括任务状态及切换信息的函数,消息的发送,接收,回调等函数。
(3)虚拟机层I和高级应用层之间的虚拟机高级应用接口其接口比虚拟机层I和虚拟机层II之间的虚拟机驱动接口更抽象。
下面以发短信息的方式来具体说明传统开发平台下的软件开发方式和S-Bridge通用开发平台下的软件开发方式的不同之处。
(1)传统的软件开发的发短信息的过程以下给出某一个具体软件平台的结构以及工作过程,其他的具体平台结构及工作过程也类似。
图2是某一具体软件平台的结构图。图中的MMI(人机接口)包括所有的高级应用。如短信息,电话本等。协议软件是GSM/GPRS/CDMA的协议栈,由SPV(服务组)对其进行封装,以便MMI调用。SPV包括短信,电话等具体的任务。驱动是对外设的驱动,如驱动LCD,驱动键盘等。所有的这些任务都是在操作系统的管理下实现的。
下面对照图2,以一个短信息的发送过程来说明该系统的工作过程。
首先,用户通过菜单选择“写短信”,MMI通过驱动了解到用户的需要,于是向SPV的edp(编辑器)发送一个请求REQ,编辑器即启动,用户即可以编辑短信。短信编辑完成后,SPV sms即向MMI发出回应CNF(confirm),并关闭编辑器.如同图3a所示。
编辑完成后,MMI转而向SPV SMS发送请求。SPV SMS再向协议层发送请求最终发出短信。短信发出之后协议层会对SPV SMS反馈信息,SPV SMS会通知MMI短信已发送。其过程如图3b所示。
在S-Bridge通用开发平台方式下,发送短信的过程短信的编辑是在高级应用层完成.短信编辑完成之后,调用虚拟机层的发送短信相关的抽象函数(即虚拟机层多个抽象接口中的一个接口),其短信的内容是该函数的一个参数.然后调用具体的平台驱动(解释器,或称为解析器),平台驱动完成的功能就向SPV sms.发送请求,然后向协议层发送请求直到短信息发出.短信息发出后同样会有发送信息成功的确认信息返回.如图4所示。
另外,各任务的实现方式分为协作多任务方式和抢占多任务方式。协作多任务方式即为一个任务完成后才能开始下一个任务。抢占多任务方式为当一个任务执行过程中,有可能被某一个其他任务所打断,从而去先执行完该其他的任务,返回来再执行原任务。由于移动终端硬件资源比较少,所以一般采用协作多任务方式。
虚拟机抽象接口主要通过消息模式来进行通信,S-Bridge内核中的消息机制将接受到的消息分派给各具体任务。也可以将消息通过该接口发送至具体的平台驱动模块。
各层之间的联系是通过函数调用来实现的,高级应用层的函数经过一层层的解析,直到解析到每个具体平台提供的函数为止。即解析到平台驱动这一层次。
S-Bridge通用开发平台的内部工作过程如图5所示,高级应用层表现为多个任务.如图中的T1,T2,…,各任务之间存在优先级的差别,每一个任务都有三种状态running,pause,stop(即工作状态,暂停状态和停止状态),任务只有在running状态下才能接受消息。另外,在多个任务并存的状态下,只能有一个任务是处于running状态。
虚拟机内核分为消息(message)模块和任务(task)模块,如图5。
消息模块负责消息按优先级的排队和分发,任务模块负责任务的状态维护,和状态的切换。
高级应用层的各个任务都要在message模块即消息模块进行注册,以便于message模块和task模块即任务模块对各任务进行管理和操作。
当平台驱动层有一个消息发送到虚拟机层,消息模块收到该消息后,向任务模块发出一个请求,任务模块根据各任务的优先级等特征判断该消息应该发送给哪一个任务,若不同的任务存在优先级的差别,则将该消息发送给优先级高的任务。
如果该任务假定为任务T1(1)更紧急,则任务模块会暂停正在运行的任务,假定为任务T2,转而将任务T1的状态设置为running,从而先响应任务T1,T1完成后主动放弃运行,转为pause或者stop状态,系统恢复任务T2的工作状态,任务T2继续运行.类似于中断和堆栈的方式工作,这里主动放弃运行就是协作多任务的含义,反之如果低优先级的任务不主动放弃运行,就算有高级的任务想运行也是不可能的;(2)如果任务T1是不紧急的,则先保持任务T1为暂停状态,等任务T2完成后再将任务T1的状态转为running状态;每一个任务在运行的过程中,不管其优先级如何,都有等待消息的时候,也就是空闲的时候,只有在空闲的时候,才能响应其他的消息,所谓协作就是任务在空闲的时候放弃处理器的PC指针,PC即为程序计数器,记录处理器执行到哪条指令,然后任务管理模块才能实现任务的调度,在此基础上任务才有状态的区别。
以发送短信为例来说明S-Bridge通用开发平台下的任务和消息的处理过程。
发送短消息这一事件分为两种类型的任务MMI类型和驱动类型,假设分别为T1任务和T2任务,首先,T1任务在消息模块登记(定义)一个消息,T2任务发出一个“发送短信息”的消息1到消息模块,然后消息模块找到该消息对应的任务T1,然后T1任务再通过消息模块发送消息2调用平台驱动层和虚拟机层的接口函数,平台驱动层解析该接口函数并最终发送短信息.该步骤完成后,则通过接口回调向上返回“信息发送成功或失败”的消息,接口回调的过程是上述短信发送过程的逆过程。最终该返回消息送至T2任务,在上述整个过程中,S-Bridge内核的任务模块负责协调T1,T2以及其他任务的工作。
本专利申请技术的核心内容在于引入了一个中间层即虚拟机层以及平台驱动层相当于一个翻译器,实现具体平台与虚拟机层的对接,使移动终端的软件开发人员不用再顾及各类具体平台的特殊性,可以专注于自己的设计,而不必考虑具体平台可能带来的影响,而且设计出来的成果可以很方便的移植于另一种移动终端产品,这就减少了开发其他产品的工作量,同时易于形成统一的软件风格,从而取得了在技术方案部分中描述的各种优点。
权利要求
1.一种基于移动终端平台的通用开发平台,其特征在于通用开发平台的软件框架结构为底层为平台驱动层,平台驱动层中包含有具体的某种移动终端的开发平台和用来驱动该开发平台的驱动模块;中间层是虚拟机层,包含有内核和虚拟机驱动层以及GUI子系统模块和其他标准服务模块;最上层为高级应用层,包含有电话本、短消息和移动通信各种具体应用软件模块,层与层之间通过接口函数进行连接。
2.根据权利要1所述的通用开发平台,其特征在于所述的中间层分为两层即虚拟机层I和虚拟机层II,虚拟机层I包含有内核和虚拟机驱动层,虚拟机层II包含有GUI子系统模块、其他标准最服务模块,虚拟机层I和虚拟机层II之间通过接口函数进行连接。
3.根据权利要求1或2所述的通用开发平台,其特征在于所述的中间层中虚拟机层II还包括用户自定义服务模块。
4.根据权利要3所述的通用开发平台,其特征在于所述的内核分为消息机制部分和任务机制部分。
5.根据权利要4所述的通用开发平台,其特征在于所述的接口是平台驱动层和虚拟机层I之间是平台抽象接口,它定义了一系列与具体平台相关的函数,对于不同的具体平台,其表现形式是相同的,即函数名和实现的功能是相同的,具体的内容不一样,具体的平台驱动实现这些函数,通过以消息为形式的通信来实现具体平台的平台驱动层和虚拟机层中内核之间的协议。
6.根据权利要5所述的通用开发平台,其特征在于所述的接口是虚拟机层I和虚拟机层II之间采用虚拟机驱动接口,它包括任务状态及切换信息的函数,消息的发送,接收,回调等函数。
7.根据权利要6所述的通用开发平台,其特征在于所述的接口是虚拟机层I和高级应用层之间采用虚拟机高级应用接口,其接口函数比虚拟机层I和虚拟机层II之间的虚拟机驱动接口函数种类和数量更丰富。
8.根据权利要7所述的通用开发平台,其特征在于所述的任务机制部分其任务的实现方式分为协作多任务方式和抢占多任务方式,协作多任务方式即为一个任务完成后才能开始下一个任务,抢占多任务方式为当一个任务执行过程中,有可能被某一个其他任务所打断,从而去先执行完该其他的任务,返回来再执行原任务。
9.根据权利要8所述的通用开发平台,其特征在于所述的开发平台为PC平台,PHILIPS平台,MOTOROLA平台,TI平台,高通平台或其他移动终端的开发平台。
全文摘要
一种基于移动终端平台的通用开发平台,其特征在于通用开发平台的软件框架结构为底层为平台驱动层,平台驱动层中包含有具体的多种移动终端的开发平台和用来驱动各自开发平台的驱动模块;中间层是虚拟机层,虚拟机层分为两层即虚拟机层I和虚拟机层II,虚拟机层II包含有GUI子系统模块、其他标准最服务模块和用户自定义服务模块,虚拟机层I包含有内核和虚拟机驱动层,上下层之间通过接口函数进行连接;最上层为高级应用层,包含有电话本、短消息和移动通信各种具体应用软件模块,层与层之间通过接口函数进行连接,它能够减少移动终端设备软件开发人员的工作量,减少重复劳动,削减开发成本减少重复投资,并增强软件的可移植性。
文档编号G06F9/45GK1909705SQ20051006030
公开日2007年2月7日 申请日期2005年8月5日 优先权日2005年8月5日
发明者徐立华, 赵建东, 黎波, 谢荣生, 吴亦平, 彭琴 申请人:杭州波导软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1