具体实施方式
当前,基于智能卡的无线增值业务是采用文本菜单式结构,其界面简单、单调,对用户的吸引力不强,这是由于传统智能卡的局限性而引起的。传统智能卡的处理能力、接口速度和存储能力都非常有限,不能做大量复杂的运算,不能传输大量的数据,也不能保存大量的数据。针对这种情况,目前,已经出现了一种新型智能卡,其计算能力、接口速度、存储容量相对于传统的智能卡都有了大幅度的提高,可以利用其来做复杂计算、高速传输和大容量存储。本发明建立在这样的新型智能卡提供的强大硬件平台的基础上。
实现智能卡增值业务图形界面和多媒体显示是指用图形窗口和多媒体图标来表示增值业务,以替代传统的文本式菜单,如图1A、1B所示,图1A表示传统的智能卡增值业务显式方式,每项菜单项为文字,部分手机终端支持在菜单文字前面带有小图标;图1B表示本发明的显示界面,其图标为多媒体形式,除了可以是图形图像外,还可以是动画、视频,并且可以根据用户的选择/操作进行变化,如用户选择某项菜单或图标后,其图标可以动态调整和变换,还可以配以声音/音乐等之类的提示信息。
由于无线增值业务的入口菜单等资源是预置在智能卡内的,而其结果或内容的显示和播放是由手机终端来实现的,因此,考虑到业务访问所需要的资源分布在不同的地方,要实现智能卡增值业务的图形化和多媒体化功能,可以采用分层架构,将手机终端作为服务器端,具体实现和完成多媒体显示和播放功能;而智能卡作为客户端,发送多媒体操作请求/命令,从而形成一种服务器/客户端,或者服务器/浏览器架构。
要实现上述结构和功能,手机终端和智能卡都需要支持图形显示和多媒体播放功能。目前,大多数手机终端都已经具有图形显示和多媒体播放功能,但是,智能卡却没有相应的功能,因此需要在传统智能卡的软件结构体系中增加图形显示和多媒体播放功能,即如图2A、2B所示。图2A表示传统智能卡的软件结构示意图,图2B表示本发明的智能卡的软件结构示意图,相对传统结构而言,本发明增加图形显示功能(Graphical User Interface,GUI)和多媒体操作功能(Multimedia Program Interface,MPI)。
除了对智能卡的软件功能进行增强外,还需要对智能卡的接口及其协议进行改进。传统智能卡的接口速率比较慢,不支持面向连接的协议,因此,必须对其进行改进,以实现面向连接的协议。这可以通过在底层物理传输和上层应用之间增加连接层来实现,如图3所示。连接层主要实现数据的封包(packet)和拆包(un-packet),即将上层的数据封包成智能卡传输协议数据包;同时,将由手机终端传过来的数据进行重组,还原成上层应用所需要的数据包。
智能卡的底层物理传输接口协议既可以采用传统的ISO/IEC 7816协议,也可以采用高速接口协议,如USB、SD/MMC等。在此基础上,为了实现的方便和统一,连接层的功能是按照TCP/IP协议规范来实现TCP/UDP传输。除了在智能卡上增加相应的功能外,在手机终端上也需要增加相应的支持功能。手机终端与智能卡之间新的通讯协议如图3所示,图中实线表示物理连接,虚线表示逻辑连接。这样,手机终端与智能卡就能按照TCP/IP协议进行通信,在智能卡上就可以实现更多的功能和应用了。
GUI模块主要实现图形窗口功能,类似于Windows、XWindows/UNIX。本发明主要是参照现有的嵌入式窗口系统,如MiniGUI、Nano-X Window、Qt/Embedded,进行移植开发。
GUI是包含图形对象,如:窗口、图标、菜单和文本的用户界面,其结构组成如图8所示。以某种方式选择或激活这些对象,通常引起动作或发生变化。最常见的激活方法是用触摸屏、键盘、鼠标或其它点击设备去控制屏幕上的鼠标指针的运动。按下鼠标按钮,标志着对象的选择或其它动作。
窗口,是交互的基础区域,主要包括标题栏、菜单栏、工具栏/操作区和显示区。图标,是用于标示一个对象的图形标志,使一个标题或功能可以有更直观地操作。菜单,是供用户选择的动作命令。在一个软件中,所有的用户命令都应包含在菜单中。菜单通常要通过窗口来显示,常见类型有工具栏(包括图形工具栏)、下拉式、弹出式(右键菜单)和级联式(多层次的菜单)。指针,是一个图形,用以对指点设备(鼠标、轨迹球、方向键、导航条、操作柄等)输入到系统的位置进行可视化描述。图形界面的指针常用的有系统的箭头、十字、文本输入I、等待沙漏等。
嵌入式GUI函数库将嵌入式系统的输入输出设备进行抽象,如图9所示,将其分为两类设备层:基于图形显示设备(如显示屏)的图形层,基于输入设备(如键盘、触摸屏等)的输入层。图形层完成系统对具体的显示硬件设备的操作,极大程度上隐蔽各种不同硬件的技术实现细节,为程序开发人员提供统一的图形编程接口。输入层则需要实现对于各类不同输入设备的控制操作,提供统一的调用接口。嵌入式GUI函数库,不但实现绘图功能,还配备有键盘/触摸屏事件处理、对话框、窗口系统等嵌入式GUI设计中所必须的功能。目前应用于嵌入式Linux系统中比较成熟,功能也比较强大的GUI系统底层支持库有SVGA lib、LibGGI、Xwindow、framebuffer等。
Qt/Embedded,是一个专门为小型设备提供图形用户界面的应用框架和窗口系统。提供了丰富的窗口小部件(Widgets),并且还支持窗口部件的定制,因此它可以为用户提供漂亮的图形界面。Qt是KDE等项目使用的GUI支持库,所以有许多基于Qt的X Window程序可以非常方便地移植到Qt/Embedded版本上。本发明选用Qt/Embedded作为移植对象。
Qt/Embedded的底层图形引擎基于framebuffer,framebuffer出现在Linux 2.2.x以上内核的版本当中的一种驱动程序接口。这种接口采用mmap系统调用,将显示设备抽象为帧缓冲区。用户可以将它看成是显示内存的一个映象,将其映射到进程地址空间之后,就可以直接进行读写操作了,而写操作可以立即反映在屏幕上。framebuffer驱动程序是最重要的驱动程序之一,正是这个驱动程序才能使系统屏幕显示内容。其实现分为两个方面:一是对LCD及其相关部件的初始化,包括画面缓冲区的创建和对DMA通道的设置;二是对画面缓冲区的读写,具体到代码为read、write等系统调用接口。
Qt/Embedded的底层图形引擎完全依赖于framebuffer,因此在移植时需考虑目标平台的Linux内核版本和framebuffer驱动程序的实现情况,包括分辨率和颜色深度等在内的信息。当前嵌入式CPU大多内部集成LCD控制器,并支持多种配置方式。除少数CPU低色彩配置时会出现问题外,Qt/Embedded能够较好地根据系统已有的framebuffer驱动接口构建上层的图形引擎。
Qt/Embedded图形发生引擎中的图形绘制操作函数都是由源泉码目录src/kernel/中的 src/kernel/qgfxreaster_qws.cpp中所定义的QgfxRasterBase类发起声明的。对于设备更加底层的抽象描述,则在src/kernel目录中的qgfx_qws.cpp中的Qscreen类中给予相应定义。这些是对framebuffer设备直接操作的基础,包括点、线、区域填充、alpha混合、屏幕绘制等函数均在其中定义实现。在framebuffer驱动程序调试通过后,配置Qt/Embedded的编译选项,可以保证Qt/Embedded的图形引擎正常工作。
Qt/Embedded中的输入设备,同样分为鼠标类与键盘类。其中鼠标设备在源码目录中的src/kernel/qwsmouse_qws.cpp中实现,从该类又重新派生出一些特殊鼠标类设备的实现类。根据具体的硬件驱动程序实现的接口,可以实现类似的接口函数。
Qt/Embedded中对于键盘响应的实际函数位于src/kernel/qkeyboard_qws.cpp中,在qkeyboard_qws.h中,定义了键盘类设备接口的基类QWSKeyboardHandler。具体的键盘硬件接口依然要建立在键盘驱动程序基础上,移植时需要根据键盘驱动程序从该类派生出实现类,实现键盘事件处理函数processKeyEvent即可。
Qt/Embedded内部对于字符集的处理采用了UNICODE编码标准。Qt/Embedded内部对于字符集的处理采用了UNICODE编码标准。Qt/Embedded同时支持两种对于其它编码标准(如GB2312和GBK)的支持方式:静态编译和动态插件装载。通过配置config.h文件添加相应的编码支持宏定义,可以获得其它编码标准向UNICODE的转换支持,从而在Qfont类中得以转换与显示。由于UNICODE涵盖了中文部分,Qt/Embedded对中文支持也非常好。
Qt/Embedded能够支持TTF、PFA/PFB、BDF和QPF字体格式。由于自身采用UNICODE编码方式对字符进行处理,在一定程序上导致了能够使用的字体文件体积的增大。为了解决这一问题,Qt/Embedded采用了QPF格式,使用makeqpf等工具可以将TTF等格式的字体转换至QPF格式。
同GUI模块一样,MPI模块是参照J2ME中的标准的移动媒体应用编程接口(Mobile Media API,MMAPI)对其进行移植开发,使其提供一套规范的播放和录制声频和视频的接口,实现多媒体的显示、播放等操作功能,例如播放音频和视频文件,捕获声音和图像等,同时也为移动多媒体使用和开发提供一个规范的、标准的、通用、可扩充以及简单的接口。在J2ME中,MMAPI提供的类和接口都在javax.microedition.media中。
通常在多媒体的处理过程中有两个重要的环节,一是处理数据传输的协议,另一个是处理媒体的数据类型。在MMAPI中提供了数据源(Data Source,DS)和播放器(Player)来完成这两步重要的内容。
处理传输协议的过程是指从数据源(如一个文件、一个捕获装置或一个流服务)上读取媒体数据内容后,将其传送到媒体数据内容处理(播放器)的过程。MMAPI使用DS来处理媒体数据的传输协议的过程。DS对数据传输协议进行封装,不管它是从哪里过来的,可以是流、文件或者服务器资源等等。一个DS知道如何从它的原始位置读取媒体数据并传送给媒体数据处理(如播放器)。媒体数据可以被保存在不同的位置,从远程服务器到资源文件或者RMS(Record Management System,记录管理系统)数据库。媒体数据可以从原始位置通过HTTP,像RTP一样的流式传输协议,或者其他机制传输到媒体数据处理(如播放器)。图10展示了数据源的工作过程。
处理媒体数据内容的过程通常需要对媒体数据进行解释和解码,并且还需要识别该媒体的输出设置的类型,如是音频设置或者视频设置。举个例子,当数据源从某媒体数据源上获取一份MP3媒体数据,并将其传送给处理媒体数据内容过程,此过程首先对这个MP3媒体数据进行解析和解码,同时检测该MP3媒体为音频数据,打开装置的音频设备,将解析和解码后的媒体数据直接传送到装置的音频设备缓冲中,由该音频设备根据缓冲区中的数据内容产生音频信号。
MMAPI使用播放器(Player)来处理媒体数据内容。Player则负责解码工作,并传输给外设,如显示屏和扬声器。
播放器从数据源中读取媒体数据、解析和解码数据以及识别媒体输出设备和传送媒体数据到输出设备等。播放器提供一套方法去控制媒体的重放和同步。
MMAPI还提供了一个或多种控制器(Controls)来调整播放器的行为,可以在播放器从媒体转换数据的时候从一个播放器实例取得并且使用控制器。可以通过播放器中提供的一些特殊的控制器访问一些特殊的媒体类型。
为了实现对数据源和播放器的有效管理,使用工厂机制,由管理员(Manager)来负责创建播放器和数据源。MMAPI的入口点是管理员(Manager)类。管理员不仅可以从数据源中创建播放器,而且还可以从本地或输入流(Input Stream)中创建播放器。图11展示了MMAPI整体结构图。
同时,为了保证图形和多媒体数据的传输,必须对智能卡的通信协议进行改进,以保证数据的可靠传输和统一控制,这可以通过在智能卡的底层传输协议的基础上增加面向连接的协议来实现,如TCP/IP协议。智能卡的底层物理传输协议既可以是传统的ISO/IEC 7816协议,也可以是高速接口协议,如USB、SD/MMC等。同样,在手机终端上也需要支持相应的协议,这样,在手机终端与智能卡之间就可以建立TCP/IP连接,如图6所示,在此基础上,就可以实现更多、更复杂的功能和应用了。
TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。TCP/IP协议通常称为TCP/IP协议族。以它为基础组建的INTERNET是目前国际上规模最大的计算机网络,正因为INTERNET的广泛使用,使得TCP/IP成了事实上的标准。之所以说TCP/IP是一个协议族,是因为TCP/IP协议包括TCP(Transport Control Protocol,传输控制协议)、IP(Internetworking Protocol,网间网协议)、UDP(User Datagram Protocol,用户数据报协议)、ICMP(Internet Control Message Protocol,互联网控制信息协议)、RIP(Routing information Protocol,路由信息协议)、FTP(FileTransfer Protocol,文件传输协议)、SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)、SNMP(Simple Network manage Protocol,简单网络管理协议)、ARP(Address Resolation Protocol,地址解析协议)等许多协议,这些协议一起称为TCP/IP协议。
TCP/IP提供了一个方案用来解决属于同一个内部网而分属不同物理网的两台计算机之间怎样交换数据的问题。这个方案包括许多部分,而TCP/IP协议集的每个成员则用来解决问题的某一部分。如TCP/IP协议集中最基本的协议-IP协议用来在内部网中交换数据并且执行一项重要的功能:路由选择--选择数据报从A主机到B主机将要经过的路径以及利用合适的路由器完成不同网络之间的跨越(hop)。
TCP/IP协议遵守一个四层的模型概念:应用层、传输层、互联层和网络接口层。如图12所示。
■网络接口层:负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。
■互联层:互联协议将数据包封装成internet数据报,并运行必要的路由算法。有四个互联协议:
◆网际协议IP:负责在主机和网络之间寻址和路由数据包。
◆地址解析协议ARP:获得同一物理网络中的硬件主机地址。
◆网际控制消息协议ICMP:发送消息,并报告有关数据包的传送错误。
◆互联组管理协议IGMP:被IP主机拿来向本地多路广播路由器报告主机组成员。
■传输层:传输协议在计算机之间提供通信会话。传输协议的选择根据数据传输方式而定。两个传输协议:
◆传输控制协议TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并适用于要求得到响应的应用程序。
◆用户数据报协议UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。
■应用层:应用程序通过这一层访问网络。
TCP/IP协议的基本传输单位是数据报(datagram)。TCP协议负责把数据分成若干个数据包,并给每个数据包加上包头(就像给一封信加上信封),包头上有相应的编号,以保证在数据接收端能将数据还原为原来的格式,IP协议在每个包头上再加上接收端主机地址,这样数据找到自己要去的地方(就像信封上要写明地址一样),如果传输过程中出现数据丢失、数据失真等情况,TCP协议会自动要求数据重新传输,并重新组包。总之,IP协议保证数据的传输,TCP协议保证数据传输的质量。
在本发明中,主要实现IP、TCP、UDP三种协议,保证智能卡既可以与手机终端通信,也可以与网络服务器通信,同时又为各种应用提供统一的通信接口。
IP实现两个基本功能:寻址和分段。IP可以根据数据包报头中包括的目的地址将数据报传送到目的地址,在此过程中IP负责选择传送的道路,这种选择道路称为路由功能。如果有些网络内只能传送小数据报,IP可以将数据包重新组装并在报头域内注明。
IP层接收由更低层(网络接口层,例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层——TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。其格式(以IPv4为例)如图13所示:
■版本(version):4位字段,说明IP协议的版本,允许从一个协议版本变为另一个版本。
■首部长度(length):32位字长,描述分组头的长度。
■服务类型(Type of service:TOS):8位字段,用于分配优先级、延迟、吞吐量以及可靠性。用于指示数据报所需的服务类型或“质量”。
■总长度(Total length):说明数据报的总长度,最大长度为65,536个字节。
■鉴别(Identification):提供连接独立分段数据报的信息,于是目的站点就可以将它们组装成一个完整的分组。
■标志(flags):由3位字段构成,其中低两位(最不重要)控制分片。低位指出数据包是否可进行分片。中间位指出在一系列分片数据包中数据包是否是最后的分片。第三位即最高位不使用。
■段偏移量(Fragment offset):13位字段,对于分段数据报,这个域指出这个数据在分组中的原来位置,在重新组装的过程中将用到这个信息。
■生存时间(Time-to-live):以秒为单位,它是数据报可以生存的时间。
在传输中,如果超过了这个时间,这个数据报就被认为丢失了,或在一个循环内并且被废弃。
■协议(protocol):标识数据报的协议类型,这样就可以允许非TCP/IP协议工作。
■分组头检验和(header checksum):提供一个错误检查数值,以保证一个被分发分组的完整性。
■源/目地址:这是数据报源地和这个数据报目的地的地址。
■选项(option):这个域是可选的,它提供了记录通过网络的一条路径或指定一条路径(源地路由选择)。
■填充(Padding):变长,用于保证报头是32位的倍数。填充值为0。
■数据:包括上层信息。
TCP是TCP/IP协议栈中的传输层协议,它通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务,允许运行在在不同主机上的应用程序相互交换数据流。TCP将数据流分成小段叫做TCP数据段(TCPsegments),并利用IP协议进行传输。在大多数情况下,每个TCP数据段装在一个IP数据报中进行发送。但如需要的话,TCP将把数据段分成多个数据报,而IP数据报则与同一网络不同主机间传输位流和字节流的物理数据帧相容。由于IP并不能保证接收的数据报的顺序相一致,TCP会在收信端装配TCP数据段并形成一个不间断的数据流。FTP和Telnet就是两个非常流行的依靠TCP的TCP/IP应用程序。
由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复。这是通过使用TCP的“端口号”完成的。网络IP地址和端口号结合成为唯一的标识,称之为“套接字”或“端点”。TCP在端点间建立连接或虚拟电路进行可靠通信。
TCP协议结构如图14所示:
·Source Port 识别上层源处理器接收TCP服务的点。
·Destination Port 识别上层目标处理器接收TCP服务的点。
·Sequence Number 通常指定分配到当前信息中的数据首字节的序号。在连接建立阶段,该字段用于设别传输中的初始序列号。
·Acknowledgment Number 包含数据包发送端期望接收的数据下一字节的序列号。一旦连接成功,该值会一直被发送。
·Data Offset 4位。TCP协议头中的32位字序号表示数据开始位置。
·Reserved 6位。预留以备用,必须设置为0。
·Control Bits(Flags) 6位。传送各种控制信息。控制位可以是:
·Window 16位。指定发送端接收窗口的大小,也就是说,数据可用的八位缓存区大小。
·Checksum 16位。指出协议头在传输中是否遭到破坏。
·Urgent Pointer 16位。指向数据包中的第一个重要数据字节。
·Option+Padding 指定各种TCP选项。可选项有两种可能形式:单个八位可选类型和八位可选类型,八位可选长度和实际可选数据八位位组。
·Data 包含上层信息。
TCP数据被封装在一个IP数据报中如图15所示。
另一个重要的协议是用户数据报协议(UDP)。UDP是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP协议基本上是IP协议与上层协议的接口。UDP协议采用“端口号”分辨运行在同一台设备上的多个应用程序。与TCP一样,UDP是传输层协议,服务于很多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单文件传输系统(TFTP)。
UDP协议结构如图16所示。
·Source Port-16位。源端口是可选字段。当使用时,它表示发送程序的端口,同时它还被认为是没有其它信息的情况下需要被寻址的答复端口。如果不使用,设置值为0。
·Destination Port-16位。目标端口在特殊因特网目标地址的情况下具有意义。
·Length-16位。该用户数据报的八位长度,包括协议头和数据。长度最小值为8。
·Checksum-16位。IP协议头、UDP协议头和数据位,最后用0填补的信息假协议头总和。如果必要的话,可以由两个八位复合而成。
·Data-包含上层数据信息。
TCP、UDP协议的区别如下表所示:
|
TCP |
UDP |
是否连接 |
面向连接 |
面向非连接 |
传输可靠性 |
可靠的 |
不可靠的 |
应用场合 |
传输大量的数据 |
少量数据 |
智能卡的底层传输协议是ISO/IEC 7816,因此,在本发明中的协议层次如图17所示。ISO/IEC 7816中的数据采用APDU命令发送,其格式下所示:
相应地,IP数据报被封装在APDU中格式如下所示:
同时,在某些时候,为了通信效率,也可以直接在APDU命令里封装TCP/UDP数据包,其格式如下:
CLA |
INS |
P1 |
P2 |
P3 |
TCP/UDP数据包 |
同理,也可以在USB/SD/MMC等传输协议的基础实现TCP/IP协议。
随着网络技术的发展,手机上网已经成为一种趋势,大量的手机终端都已经配备了网络浏览器,无线互联网增值业务得到巨大发展。但由于互联网的开放性和增值业务的多样性,导致增值业务良莠不齐,一些不良内容严重影响了无线互联网业务的正常发展,因此,必须加强对无线互联网增值业务的监控和管理。由于运营商对手机终端生产厂商的影响力较弱,因此,运营商要想实现对无线互联网增值业务的监控和管理,必须通过智能卡来实现,这就要求智能卡必须实现网络浏览的功能,即需要在智能卡内嵌入互联网浏览器。
要在智能卡内嵌入互联网浏览器,首先必须支持TCP/IP协议,这可以采用本发明前述方法实现。但由于互联网的开放性要求,目前手机终端中的浏览器也是完全开放的,即浏览器可以接入到任意的互联网内容上去。而运营商为了实现对互联网增值业务及其内容的控制,就必须对智能卡内的浏览器所能接入的业务进行限制,只允许其接入到合法的增值业务,即智能卡浏览器必须是有限制性的接入和浏览,只能实现一定程度上的开放,这样才能做到对增值业务的监控。
要实现智能卡对无线互联网增值业务的有限接入和监管,可以采用分段储存、分段访问的方法。首先对增值业务的结构和内容进行分段处理,分为访问路径和业务内容两部分;然后,将基本结构不变或变化很少的访问路径作为智能卡应用程序的一部分,在智能卡生产发行的时候就预先固化在智能卡内。这部分内容既可以作为一个独立的应用程序存在,通过手机终端中的浏览器来访问,也可以与智能卡浏览器绑定在一起,作为其收藏夹文件;而将需要实时更新或经常变化的业务内容仍旧保存在网络服务器上,这样,相应的网络架构及其访问流程如下图4和图5所示。
最后,当用户通过智能卡(或手机终端)浏览器访问互联网增值业务时,由于首先需要智能卡进行联网认证,因此,在认证成功之后,由浏览器自动将业务访问的入口路径强制定向到智能卡内的预置业务,如图4中①②所示,从而实现对业务接入的控制。这个过程多次交互进行,逐级访问所有预置的业务路径,如图5中①所示,从而完成业务接入和导航的功能;直到访问完智能卡内的所有业务路径/内容后再接入到网络服务器上,获得最终的实时业务内容,如图4中③~⑥的所示。具体的业务访问流程如图5所示。由于运营商可以在智能卡生产发行(预个人化或个人化)阶段将有关的业务内容预置在智能卡,因此,通过本发明的这种方法,运营商完全可以控制用户能够接入或访问的增值内容,从而实现有限接入和业务监控的目的。
当前,无线增值业务种类繁多,为了便于管理及查找,基本上都采用分类分层的办法,按照“先大类、后小类、再子类”的思想对其排列布局。为便于说明,假设有一名叫“网络游戏”的无线增值业务,其业务结构和组成如图6所示。此处,仅用于示例性说明,不表示真实的业务。
这种结构清晰明了,容易查找,但由于分层比较多(如图6所示为六层),造成增值业务的业务菜单或访问链接(统称为业务路径)层次过深,用户每次访问增值业务时,从入口路径(即第一级菜单,或第一层链接)到最终的业务内容,需要操作很多步骤(图6中所示为五步)才能找到最终内容。无论此业务是STK应用,还是WAP/Internet业务,用户必须完成多次操作(选择菜单或浏览网页)才能获得最终的业务内容,导致业务访问效率极低。此外,对于WAP/Internet业务,还加大了网络的通信负荷,造成资源浪费。究其原因,这是业务访问层次过多造成的。其实用户访问业务时,关心的是业务内容,而不是业务路径,因此,应该以最短的业务路径获取业务内容。由于业务路径层次和结构基本固定不变,因此,用户完全没有必要在每次访问同一个业务时(如图6中所示的“中国象棋”)必须遍历其所有各级业务路径(即如图6中的第一~五级菜单)。为此,本发明提出一种智能卡增值业务管理和访问新方法,以有效提高智能卡增值业务的操作访问效率。
本发明的具体方法和内容是:忽略业务路径中最开始几级业务路径(如图6中的第一~四级菜单),只保留最后一级的业务路径作为必要的入口路径(如图6中的第五级菜单),通过它指向最终的业务内容;然后,将所有这些保留的入口路径(统称为“业务快捷方式”)集中在一个第一级菜单内统一管理和使用。这样,用户使用这个新的菜单时,只需要操作两步就可以获得最终的业务内容,从而可以避免逐级访问带来的不便。
智能卡增值业务的快捷访问方式主要是通过对智能卡增值业务的业务路径进行有效管理来实现的,这可以通过在智能卡浏览器内建立一个收藏夹,用于收藏业务访问的快捷方式。其具体方式如图6所示,在收藏夹内新建一个目录或窗口,如“我的业务”,将需要快速访问的业务的最后一级业务路径(如图中的第五级菜单“中国象棋”)作为其菜单项,也就是将其访问路径保存到收藏夹的“我的业务”文件夹里,新建的菜单项与原来菜单项的业务路径都指向同一个业务路径或内容,这样,用户以后访问时只需要访问这个入口菜单即可,从而可以省略掉中间的部分业务路径。其实机理类似于PC应用程序的快捷方式,既可以用链表的方式,也可以采用嵌入式数据库来实现动态菜单管理。新的菜单项就形成此项增值业务的快捷访问方式,通过它导向到最终的业务内容。这样,用户可以将所有经常使用的增值业务都生成快捷方式,统一保存在这个新的目录中进行管理和使用,从而大大缩短了访问路径,提高了业务访问速度和效率。
下面举例说明上述思想及其实现方法。如图7所示,假设有两类无线增值业务(既可以是STK应用,也可以是WAP/Internet网络业务):网络游戏、网络教育,它们分别包含多级业务分(子)类及其业务路径。
新建一个第一级菜单“我的业务”,包含“中国象棋”和“高三化学实验内容”两种业务(子)类型,其业务路径分别为“网络游戏”中的“中国象棋”、“网络教育”中的(高三化学实验的)“实验内容”,如图中虚线所示。用户需要使用“中国象棋”业务时,只需要访问“我的业务”下的“中国象棋”即可,而不需要象传统方法那样必须依次访问“网络游戏”→“休闲类”→“棋牌类”→“象棋”→“中国象棋”等几个业务路径才能获得业务内容,从而减少了操作环节,提高了访问效率。
考虑到在此公开的对本发明的描述和特殊的实施例,本发明的其他实施例对于本领域里的技术人员来说是显而易见的。这些说明和实施例仅作为例子来考虑,它们都属于由所附权利要求所指示的本发明的保护范围和精神之内。