基于 MTK 平台的应用程序开发系统及方法 【技术领域】
本发明涉及通讯网及互联网融合技术领域, 尤其涉及一种基于 MTK 平台的应用程 序开发系统及方法。背景技术
近年来, 随着即时通讯 (Instant Messaging, IM) 领域内技术的日益成熟, 通讯网 和互联网的融合也日益紧迫。目前, 常见的手机客户端平台有 OPhone( 由中国移动主导研 发的智能终端软件平台 )、 Java、 Windows Mobile 以及 MTK( 台湾联发科技多媒体芯片提供 商 ) 四种手机客户端平台。相对于其他三种平台, MTK 平台的限制较多, 尤其是应用程序在 手机上的安装方式, MTK 平台软件需要使用传统的烧录方式写进手机芯片, 所以 MTK 服务端 的设计不仅要灵活升级, 也要尽量的复用其他三种平台的现有能力
现有的 OPhone、 Java、 Windows Mobile 以及 MTK 四种手机客户端平台的一种设计 方法的思路是 : 服务端仅仅提供交互接口以及交互数据, 一部分业务逻辑让客户端承担。 但 是, MTK 平台的版本一经发布后投放到市场, 就无法进行软件版本升级, 并且随着市场上投 放产品的数量和版本的增多, 其服务端接口非常难以管理。 发明内容 ( 一 ) 要解决的技术问题
本发明要解决的技术问题是 : 如何利用现有接口服务能力, 实现仅通过服务端的 升级来完成 MTK 平台上的应用程序的升级。
( 二 ) 技术方案
为解决上述问题, 本发明提供了一种基于 MTK 平台的应用程序开发系统, 该系统 包括客户端以及服务端, 所述客户端用于根据指定的页面, 向所述服务端发送上行特征数 据, 并根据服务端反馈的最终数据调用相应的页面并显示数据 ; 所述服务端用于使用有限 状态机存储所述客户端在业务流程中的各种业务状态, 根据来自所述客户端的上行特征数 据模拟所述客户端在各种业务状态中的扭转过程, 并将模拟得到的最终数据发送至所述客 户端。
其中, 所述服务端进一步包括 : 业务适配模块, 所述业务适配模块用于使用有限状 态机存储所述客户端在业务流程中的各种业务状态, 根据来自所述客户端的上行特征数据 模拟所述客户端在各种业务状态中的扭转过程 ; 基础数据提供模块, 用于根据所述业务适 配模块所模拟的扭转过程, 为所述客户端提供最终数据。
其中, 所述业务适配模块进一步包括 : 有限状态机加载单元, 用于加载存储所述客 户端在业务流程中的各种业务状态的有限状态机 ; 定制单元, 用于根据业务需求定制所述 有限状态机节点。
本发明还提供了一种基于 MTK 平台的应用程序开发方法, 该方法包括步骤 :
S1. 服务端启动, 加载存储的有限状态机 ;
S2. 客户端向服务端发送首页请求 ; S3. 服务端根据有限状态机将首页数据发送到客户端 ; S4. 客户端解析并根据所述首页数据用首页页面显示数据 ; S5. 客户端根据指定页面, 向服务端发送上行特征数据至服务端 ; S6. 服务端根据接收到的上行特征数据定位所述有限状态机中所述选定页面的状态; S7. 服务端调用交互接口得到最终数据, 并将所述最终数据发送至客户端 ;
S8. 客户端解析所述最终数据, 并根据所述最终数据调用相应的页面并显示数据。
其中, 所述服务端采用数据结构的方式存储所述有限状态机。
其中, 该方法还包括服务端根据业务需求定制有限状态机节点的步骤。
其中, 在步骤 S3 中, 所述服务端按照与所述客户端约定的数据包协议将所述首页 数据封装后发送到所述客户端。
其中, 在步骤 S5 中, 所述客户端将所述上行特征数据按照与所述客户端约定的数 据包协议封装后发送到所述客户端。
其中, 所述上行特征数据包括指定页面的页面类型、 所述客户端按键标识、 以及所 述指定页面关联的业务数据明细。
其中, 所述最终数据包括页面类型以及页面关联的业务数据。
( 三 ) 有益效果
本发明的基于 MTK 平台的应用程序开发系统及方法可最大量的复用现有接口的 服务能力, 客户端只负责展示数据, 不负责业务逻辑, 服务端既要负责通讯, 提供数据, 又要 负责处理业务逻辑, 状态扭转可灵活改变, 设置可定制, 仅需通过更新服务端的有限状态机 就能实现基于 MTK 平台的应用程序的升级。
附图说明
图 1 为依照本发明一种实施方式的基于 MTK 平台的应用程序开发系统结构框图 ;
图 2 为本发明中的有限状态机示例图 ;
图 3 为依照本发明一种实施方式的基于 MTK 平台的应用程序开发方法流程图 ;
其中 :
S1、 首页 ; S2、 我的最爱 ; S3、 内容搜索 ; S4、 内容 ; S5、 栏目询问列表 ; S6、 搜索输入 页面 ; S7、 添加栏目列表 ; S8、 添加栏目点开的内容列表 ; S9、 获取栏目列表 ; S10、 获取内容 列表 ; S11、 栏目管理 ; S12、 个人资料填写 ; S13、 提示界面 ; S14、 找工作填写。 具体实施方式
本发明提出的基于 MTK 平台的应用程序开发系统及方法, 结合附图及实施例详细 说明如下。
如图 1 所示, 依照本发明一种实施方式的基于 MTK 平台的应用程序开发系统包括 客户端以及服务端。
其中, 客户端仅仅用于向服务端发送选定页面的请求, 并在接收到服务端发送的 相应的最终数据之后, 根据页面类型调出相应类型的页面显示数据, 不涉及业务逻辑, 在上行的时候, 根据指定页面, 将自己的特征数据上传给服务端, 供其定位状态 ( 特征数据包括 指定面的页面类型、 客户端按键标识、 以及与指定页面相关联的业务数据明细 )。根据产品 原形规划, 针对客户端可能使用的页面原形进行抽象, 大约共有十几种页面。 客户端负责进 行页面效果展示, 只需保证页面交互协议不变, 页面展示就无问题。页面类型包括例如 : 首 页、 列表页、 内容页等。
服务端在现有交互接口能力之上, 增加了一个业务适配模块, 该业务适配模块用 于使用有限状态机表示客户端在业务流程中的各种业务状态, 根据来自客户端的上行特征 数据模拟客户端在各种业务状态中的扭转过程, 并将模拟得到的最终数据发送至客户端。 即用于实现既定的业务逻辑并将数据按照与客户端协同约定的协议封装下发给客户端供 其解析, 根据有限状态机进行状态扭转并输出最终数据。
服务端还包括基础数据提供模块, 用于根据业务适配模块模拟的扭转过程, 为客 户端提供相应的最终数据。
客户端与服务端协同定制的数据包协议, 包括例如 :
首页数据包协议 ( 标题、 热点位、 频道列表、 推荐位、 左软键信息、 左软键信息 )。
列表页数据包协议 ( 标题、 列表、 左软键信息、 右软键信息 )。 内容页数据包协议 ( 标题、 内容、 左软键信息、 右软键信息 )。
业务适配模块进一步包括 :
有限状态机加载单元, 用于存储表示客户端在业务流程中的各种业务状态的有限 状态机, 有限状态机还存储着各种页面状态的扭转关系以及页面数据对应于功能接口的关 系, 如图 2 所示为有限状态机的一种示例。这样, 基于 MTK 平台的应用程序需升级时, 仅需 更新服务端的该有限状态机即可, 并不需要重新烧录客户端的芯片。服务端在构建服务端 功能实例的时候, 就会加载这种图。该图的存储主要采用数据结构 Dictionary < Type, StateGroup >来进行, 其中, “键” 存储每种页面的类型, “Value” 存储该页面状态可能的扭 转路径, 比如首页可能的下一个页面节点为 “我的最爱” 、 “频道列表” 、 或 “个人资料” 等。
此外, 业务适配模块进一步包括 :
定制单元, 用于根据业务需求定制有限状态机的节点, 也就是说服务端的状态是 可以根据产品的规划订制, 即有限状态机的节点是可以订制的, 这样能够实现业务灵活增 加。例如定制如下状态 :
栏目列表状态 (Menu List Page 对应于列表页 ) ;
内容标题列表状态 (Content Title List Page 对应于列表页 ), 也就是一种状态 对应于一种页面类型, 但一种页面类型可以对应于多种状态 ;
数据内容状态 (Data Content Page 对应于内容页 ) ;
提示信息状态 (Prompt Content Page 对应于内容页 )。
在本发明的 MTK 平台中, 客户端完成类似浏览器的功能, 其每个页面下的内容 ( 除 标题、 左右软键外 ) 均对应于服务端中有限状态机上的某一种状态, 服务端可根据客户端 发送的上行数据 ( 包含客户端特征数据的请求 ) 判断将进入哪种状态及其涉及到的业务数 据, 当服务端把该状态更新后, 会按照该状态的页面类型数据包协议下发数据让客户端与 服务端状态同步。例如 : 首页 ( 标题、 热点位、 频道列表、 推荐位、 左软键、 右软键 ), 其中热 点位对应于状态 Data ContentPage、 频道列表对应于状态 Menu List Page、 推荐位对应于
状态 Content Title List Page。返回操作同样由服务端控制, 具体实现可参考 IE 浏览器 “返回” 动作实现。
如图 3 所示, 本发明还提供了一种上述 MTK 平台的操作方法, 以下以客户端请求获 取频道列表的交互过程为例, 该方法包括步骤 :
T1. 服务端启动, 加载存储的有限状态机的步骤 ;
其中, 服务端采用数据结构的方式存储所述有限状态机, 且可根据业务需求定制 有限状态机节点。
T2. 客户端向服务端发送首页请求 ;
T3. 服务端根据有限状态机将首页数据 ( 如图 2 中根节点 S1) 按照协议封装后发 送到客户端 ;
T4. 客户端按照协议解析并使用首页页面显示接收到的数据 ;
T5. 用户选定频道列表页面, 客户端按照协议封装请求频道数据的上行特征数据, 并将其发送至服务端, 该特征数据包括频道数据的页面类型, 客户端左右键标识 ( 用户按 的是左键还是右键的标示 : 0 表示按的是左键 ; 1 表示按的是右键 ) 以及所要请求的频道页 面关联的业务数据明细 ; T6. 服务端根据接收到的上行特征数据, 定位到有限状态机中的请求的页面的状 态 ( 图 2 中的频道列表状态节点 S9) ;
T7. 扭转到频道列表状态节点 S9 后, 服务端调用既有的交互接口 ( 提供给其他三 个版本的借口 : Get Menu List) 得到最终数据, 并按照协议将最终数据封装并发送至客户 端, 该最终数据包括页面类型以及该页面关联的业务数据 ;
T8. 客户端解析最终数据, 并根据该最终数据, 调用列表展示页面显示接收到的最 终数据。
以上实施方式仅用于说明本发明, 而并非对本发明的限制, 有关技术领域的普通 技术人员, 在不脱离本发明的精神和范围的情况下, 还可以做出各种变化和变型, 因此所有 等同的技术方案也属于本发明的范畴, 本发明的专利保护范围应由权利要求限定。