CN101030204A - 在用户终端设备上生成用户界面的入口服务器和方法 - Google Patents
在用户终端设备上生成用户界面的入口服务器和方法 Download PDFInfo
- Publication number
- CN101030204A CN101030204A CN 200610054999 CN200610054999A CN101030204A CN 101030204 A CN101030204 A CN 101030204A CN 200610054999 CN200610054999 CN 200610054999 CN 200610054999 A CN200610054999 A CN 200610054999A CN 101030204 A CN101030204 A CN 101030204A
- Authority
- CN
- China
- Prior art keywords
- user interface
- information
- terminal device
- abstract
- specific user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004891 communication Methods 0.000 claims abstract description 32
- 238000013507 mapping Methods 0.000 claims description 167
- 238000004364 calculation method Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 description 69
- 230000006870 function Effects 0.000 description 32
- 230000008569 process Effects 0.000 description 26
- 239000003795 chemical substances by application Substances 0.000 description 24
- 238000010586 diagram Methods 0.000 description 14
- 238000006243 chemical reaction Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 10
- 239000004178 amaranth Substances 0.000 description 9
- 239000004106 carminic acid Substances 0.000 description 9
- 239000000284 extract Substances 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 239000004148 curcumin Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种根据用户终端设备的能力为用户终端设备提供应用用户界面的入口服务器及相应的提供方法,该入口服务器包括:应用提供者通信单元,用于从应用提供者接收应用信息;抽象用户界面元素生成单元,用于使通信接收的应用信息与一个抽象用户界面元素类相关联而生成抽象用户界面元素,并将生成的抽象用户界面元素保存为抽象用户界面概要配置文件;用户终端设备信息生成单元,用于生成用户终端设备信息;具体用户界面生成单元,用于根据抽象用户界面概要配置文件和用户终端设备信息,针对用户终端设备生成具体用户界面;和终端设备通信单元,用于将生成的具体用户界面提供给用户终端设备。
Description
技术领域
本发明涉及把数据信息发送到显示设备的一个系统和一种方法。具体涉及能够根据终端设备的能力向用户终端设备提供由服务提供者提供的服务的适当用户界面的入口服务器及其提供方法。
背景技术
随着Internet和移动技术的蓬勃发展,越来越多的信息和服务能够通过移动用户终端来访问。然而,在市场上,存在着各种各样的不同型号和不同种类的移动用户终端设备,并且,每一天都有越来越多的不同的移动用户终端设备进入市场。不同的用户终端设备具有不同的能力,例如不同的屏幕尺寸,不同的界面显示风格。因此,即使对于相同的服务和信息,在不同的用户终端设备上,显示效果都不同。甚至,原始信息无法以符合用户终端设备的能力的恰当形式被表达,以至于造成用户使用信息困难。
在专利US 6556217中,Hemant Madan等人提出了一种解决方案。在该专利中,提出了一个系统和程序,它们基于不同用户终端设备的不同屏幕尺寸和不同输入机制,对于来自内容服务器的信息进行适配和分页。
然而,对于用户终端设备来说,屏幕尺寸只是它的能力的一个方面而已。用户终端设备还有很多其他方面的能力,例如硬件方面的能力,软件方面的能力,用户界面表达能力,等等。
目前,为了适应这种趋势,很多移动入口服务器为每一种不同型号的用户终端设备逐个调整每个服务的内容以求向某种用户终端提供适合其显示的内容。但是这意味着只要有新的设备上市,为了适配,需要新添一个专门的内容适配模块到移动入口服务器中。然而,移动终端发展如此迅速,这种每次都需要添加新模块的方法很不方便。
因此,所需要是一种通用的机制,该机制根据影响用户终端的用户界面表达效果的用户终端能力,能够自动生成适合该终端能力的控制用户界面和相应的用户界面实现程序。
本发明提出了这样一种通用的机制,该机制能够基于终端设备的能力自动生成控制用户界面和相应的程序。
发明内容
本发明提供一种根据用户终端设备的能力自动生成控制用户界面的方法。
在专利US 6556217中,它仅仅致力于表达让用户浏览内容服务器提供的已经存在的内容信息,没有考虑生成用作服务或控制的自动的并且具有交互作用的用户界面页面。然而,在目前和将来,移动终端设备将会越来越多地用来调用各种类型的服务和实施一些控制处理。用户不仅仅是使用移动终端设备来被动地浏览信息,而是主动输入他们的需求数据来调用某些他们感兴趣的服务。因此,生成具有充分交互功能的服务用户界面是非常重要的。
基于以上问题,本发明的一个目标是提出一种根据终端设备的能力来自动生成适合所连接用户终端设备能力的有良好交互性的服务用户界面的方法。
在专利US 6556217中的信息分页方法只是通过一个接一个地顺序计算每个界面元素的尺寸来确定分页方案。它没有先计算所有界面元素的尺寸,然后确定一个适合终端屏幕尺寸的更加合适的元素分页组合方案。
相应的,本发明的一个目标就是先全盘地考虑每一个内容元素的尺寸,最后选择一个适合用户终端屏幕尺寸的用户界面页面中内容元素的合适组合。
专利US 6556217中,一个默认的前提条件是当从终端设备的请求信息中得到终端类型信息之后,能够直接从数据存储器中得到该终端的信息。然而,通常的情况是不断有很多新的终端设备发布上市,在数据库中并没有关于他们的信息。这种情况下的终端设备识别没有被考虑。
关于这一点,在本发明的一个实施例中,一种基于预定义的规则来推测与识别一个新发布的未知设备类型的方法被提出。使用该方法,当一个未知的用户终端设备接入并请求相关内容时,服务器可以推测设备类型并最终得到关于该终端设备的最接近的信息和能力知识。之后,能够基于终端能力,来发送适合其能力的内容数据。
附图说明
在所附权利要求中具体说明的本发明的这些目的和特征,他们被认为具有新颖性。参照附图通过以下说明将能够透彻地理解本发明。
图1是按照本发明构建的移动用户终端设备应用用户界面自动生成系统的结构图;
图2是对图1所示的系统方框图的更详细的说明图,该图中例示了本发明一个实施例中移动入口服务器所包含的单元;
图3是用于说明本发明的一个实施例中发生在用户终端设备,移动入口服务器,服务提供者和终端设备厂商WEB服务器之间的处理操作的流程图;
图4是用以说明图2中的终端设备信息获取单元231的具体结构的方框图;
图5是用以说明图2中终端设备信息获取单元231的操作的流程图;
图6是用以说明用以说明图2中的抽象用户界面表达选择·映射单元222的操作的流程图;
图7是用以说明图2和图6中的抽象用户界面表达选择·映射单元222的处理过程的例示图。
图8是用以说明本发明中抽象用户界面元素类的定义的示意图;
图9是用以说明本发明中抽象用户界面表达匹配·映射规则的定义的示意图;
图10是用以说明图2中的具体用户界面生成单元240的操作的流程图;
图11是依据本发明的一个具体用户界面表达匹配·映射规则的示例图;
图12是用以说明图2中的具体用户界面页面生成单元241的具体结构的方框图;
图13是具体用户界面页面生成单元241的操作流程图;
图14是用以说明图12中的组合单元1204的具体结构的方框图;
图15是组合单元1204的操作流程图;
图16是说明依据本发明一个实施例生成的用户界面的示意图;
图17是说明依据本发明另一个实施例生成的用户界面的示意图。
具体实施方式
下面参考图1描述根据本发明的系统的结构。
如图1所示,用户终端设备110被用来当作用户和移动入口服务器120之间的交互界面设备。作为例子,用户终端设备110可以是一个支持WAP的普通的移动电话、个人数字助理或智能手机。
如图1所示,移动入口服务器120根据服务提供者130提供的服务来生成服务用户界面,并把生成的服务用户界面以及服务提供者130提供的数据信息发送到用户终端设备110。服务提供者130可以是任何实时服务的提供者,作为例子,实时服务可以是对智能家电的控制、股票交易、在线购物等。此外,服务提供者130可以是任何形式的实体,例如智能家电设备、股票交易服务器、电子商务服务器等。移动入口服务器120和服务提供者130可能利用PSTN或电缆设备或其它宽带通信机制通过互联网来通信。关于移动入口服务器120,将在图2和图3中给出进一步的说明。
参照图1,终端设备厂商WEB服务器140在可能的情况下为移动入口服务器120提供关于该终端设备厂商生产的用户终端设备110的信息。这里,作为例子,有关该终端设备厂商生产的用户终端设备110的信息包括用户终端的能力,诸如软件平台、硬件平台、网络连接特性、浏览器用户代理、WAP特性等。
在图2,4,7,12和图14中示例的数据流图,以及在图3,5,6,10,13和15中示例的流程图包含了软件,硬件,以及对应于计算机程序的诸如代码,代码段,指令,命令,对象之类的处理和操作。作为例子,这个计算机程序可以存储在诸如软盘,CD ROM,RAM,硬盘这样的存储媒体上。进一步地,这个计算机程序可以使用例如Perl,JSPTM(美国太阳微型系统有限公司(Sun Microsystems,Incorporated)的商标),PHP,Java(美国太阳微型系统有限公司(Sun Microsystems,Incorporated)的注册商标)或者C++等来编写。
下面参照图2来更详细地说明图1中所示本发明一个实施例中移动入口服务器120的结构。
如图1所示,服务提供者130和移动入口服务器120是分离的实体。然而,服务提供者130和移动入口服务器120也可以包含于同一个实体中。不管是哪种情况,服务提供者130都将提供诸如服务(即“应用”)描述信息和服务响应信息这样的数据信息。这些数据信息可以是图片类型的,文本类型的,HTML类型的,XML类型或其他形式的数据信息。如图2所示,这些数据信息可从服务提供者130传送到服务提供者通信单元210或由服务提供者通信单元210访问服务提供者130而得到。
如图2所示,移动入口服务器120由5个单元组成,包括:服务提供者通信单元210(又称为服务提供者通信模块),用来和服务提供者130进行交互,即服务提供者通信单元210接收来自服务提供者130的数据信息,例如服务描述信息和服务响应信息,并向服务提供者130发送诸如服务请求信息之类的数据信息;抽象用户界面元素生成单元220,用于基于预定义的抽象用户界面表达匹配·映射规则使从应用提供者通信单元接收到的应用信息与从预先存储的抽象用户界面元素类中选取出的抽象用户界面元素类相关联而生成抽象用户界面元素,并将所生成的抽象用户界面元素保存为抽象用户界面概要配置文件;终端设备信息生成单元230,用于根据从终端设备通信单元接收的应用请求信息而生成与用户终端设备有关的终端设备信息;具体用户界面生成单元240,用于根据由抽象用户界面元素生成单元220生成的抽象用户界面概要配置文件和由终端设备信息生成单元230生成的终端设备信息,生成适用于用户终端设备110的具体用户界面信息,并将生成的具体用户界面信息经由终端设备通信单元250提供给用户终端设备110;以及,终端设备通信单元250(又称为终端设备通信模块),用来和用户终端设备110进行交互。终端设备通信单元250接收来自用户终端设备110的服务请求并把所生成的具体用户界面发送到用户终端设备110。对于接收来自用户终端设备110的服务请求信息,终端设备通信单元250将把该信息发给服务提供者通讯单元210以向服务提供者130发起服务请求。
如图2所示,抽象用户界面元素生成单元220进一步包括:服务描述概要配置文件存储单元223,用于存储服务提供者通信单元210接收来自服务提供者130的服务描述概要配置文件;应用分析单元221,又称为应用分析模块221,被用来处理存储在服务描述概要配置文件存储单元223中的、来自服务提供者130的服务描述概要配置文件,分析得到关于服务的输入/输出参数信息并把该信息存储到输入/输出参数信息存储单元224中;输入/输出参数信息存储单元224,用于存储输入/输出参数信息;抽象用户界面表达匹配·映射规则存储单元225,用于存储抽象用户界面表达匹配·映射规则;抽象用户界面元素类定义存储单元226,用于存储抽象用户界面元素类定义;抽象用户界面表达选择·映射单元222,又称为抽象用户界面表达选择·映射模块222,用于根据存储在抽象用户界面表达匹配·映射规则存储单元225中的抽象用户界面表达匹配·映射规则所包含的预定义的映射规则,把服务提供者130提供的服务的每一个输入/输出参数映射成一个抽象用户界面元素,之后生成一个抽象用户界面概要配置文件(抽象用户界面元素队列)并存储在抽象用户界面概要配置文件存储单元227中;抽象用户界面概要配置文件存储单元227,用于存储抽象用户界面概要配置文件(即,抽象用户界面元素队列)。
其中,存储在服务描述概要配置文件存储单元223中的服务描述概要配置文件包含与服务提供者130提供的诸服务相关的所有相关信息。这些相关信息的内容包括服务名称,服务输入参数信息,服务输出参数信息。作为例子,该服务描述概要配置文件中的服务描述信息包括:服务名称和有关该服务的输入输出信息等内容。作为本发明的一个示例,空调作为一个服务提供者130,能够提供一个名为“设置风速”的服务。服务“设置风速”的输入参数是“风速”,输出参数是“控制结果”。服务描述概要配置文件可以在一个新的服务提供者130向移动入口服务器120注册的时候被发送到移动入口服务器120,或者,也可以由移动入口服务器120在用户定制该服务的时候从服务提供者130取得,或者,也可以由管理人员通过使用相应的管理系统或工具来配置。
应用分析单元221被用来处理存储在服务描述概要配置文件存储单元223中的、来自服务提供者130的服务描述概要配置文件。当服务描述信息被传送到移动入口服务器120或由移动入口服务器120访问服务提供者130而被得到,应用分析单元221解析并分析该服务描述信息,并提取出由服务提供者130提供的服务的每一个输入参数和输出参数的信息,并把这些提取出来的信息保存到输入/输出参数信息存储单元224中。输入和输出参数信息包括每个参数的特征信息,如:参数名称、参数的数据类型、参数的长度限制、参数值的范围、参数值是可变的还是固定的、该参数在没有明确赋值时是否有默认值、及该参数是否有有限的值选项等等。例如,作为本发明的一个应用示例,作为服务提供者130的空调所提供的服务“设置风速”具有一个输入参数和一个输出参数。关于服务“设置风速”的输入参数信息包括:参数名称是“风速”,参数的数据类型是“字符串”,该参数有3个有限的值选项,这3个值分别是“强风”,“中风”和“微风”,并且每次该参数只能选择一个值。关于服务“设置风速”的输出参数信息包括:参数名称为“控制结果”,参数的数据类型是“字符串”,参数值是可变的,参数值没有长度限制。
抽象用户界面表达选择·映射单元222根据存储在抽象用户界面表达匹配·映射规则存储单元225中的抽象用户界面表达匹配·映射规则所包含的预定义的映射规则,把服务提供者130提供的服务的每一个输入/输出参数映射成一个抽象用户界面元素,之后生成一个抽象用户界面概要配置文件(抽象用户界面元素队列)。在对图6和图7的说明里,将会给出把某个服务的某个确定的参数映射到某个具有确定的抽象用户界面元素类类型的抽象用户界面元素的例子。抽象用户界面表达选择·映射单元222的具体操作将在图6和图7里给出进一步的详细说明。
终端设备信息生成单元230进一步包括:终端设备请求和响应存储单元234,用于存储终端设备请求和响应信息;终端设备推测规则存储单元232,用于存储终端设备推测规则;终端设备信息存储单元233,用于存储用户终端设备110的能力和相关知识信息、即终端设备信息;和终端设备信息获取单元231,又称为终端设备信息获取模块231。
存储在终端设备请求和响应信息存储单元234中的终端设备请求和响应信息包括在从用户终端设备110发往移动入口服务器120的用户终端设备请求中所包含的信息,以及在从移动入口服务器120发往用户终端设备110的响应中所包含的信息。
终端设备推测规则存储单元232中存储有终端设备推测规则。终端设备推测规则主要定义了不同的用户终端设备请求信息中包含的设备类型识别子串的具体结构信息和构造特点,因此,系统能够基于这些已有的有关设备类型识别子串的具体结构信息和构造特点的信息,根据所连接的用户终端设备110发送的当前请求信息中的识别子串来推测未知的所连接的用户终端设备110的类型,以便能基于已经存在的终端设备信息存储单元233中的信息和用户终端设备用户代理概要配置文件信息来生成关于未知的所连接的用户终端设备110的最接近的终端设备信息。
终端设备信息存储单元233中存储有用户终端设备110的能力和相关知识信息,即终端设备信息。作为例子,终端设备信息包括关于用户终端设备110的硬件平台能力信息、软件平台能力信息、浏览器用户代理能力信息、网络连接能力信息、用户界面表达能力信息、物理显示器尺寸等信息。这些包含在终端设备信息存储单元233中的终端设备信息可以是在用户使用用户终端设备110连接到移动入口服务器120之前被管理人员通过使用相应的管理系统或管理工具配置好的,也可以是在用户终端设备110连接到移动入口服务器120后,由终端设备信息获取单元231推测出该用户终端设备110的终端设备信息并将该信息加入到终端设备信息存储单元233中。
终端设备识别模块231被用来识别和推测所连接的用户终端设备110。如果移动入口服务器120中已经保存有关于所连接的用户终端设备110的终端设备信息,终端设备信息获取单元231将直接读取该用户终端设备110的终端设备信息。如果移动入口服务器120中没有关于该用户终端设备110的终端设备信息,则终端设备信息获取单元231将利用已经保存的其它用户终端设备110的终端设备信息,根据终端设备推测规则来推测所连接的用户终端设备110并且收集和生成关于该所连接的用户终端设备110的最接近的终端设备信息。终端设备信息获取单元231将在图4中给出进一步的详细说明。
具体用户界面生成单元240进一步包括:具体用户界面表达匹配·映射规则存储单元242,用于存储具体用户界面表达匹配·映射规则;用户偏好存储单元243,用于存储用户偏好;具体用户界面表达匹配·映射单元244,用于根据存储在具体用户界面表达匹配·映射规则存储单元242中的具体用户界面表达匹配·映射规则,把已经被映射成对应抽象用户界面元素的服务提供者130提供的服务的输入/输出参数映射成具体用户界面元素;和具体用户界面页面生成单元241,又称为具体用户界面页面生成模块241,用于基于所匹配·映射成的具体用户界面元素和所连接的用户终端设备信息生成具体用户界面页面,这些用户界面页面能够适应所连接的用户终端设备110的能力,并且如果存在额外的来自用户反馈或需求的用户偏好信息,这些应用用户界面页面同时能适应用户的偏好。
下面参照图3来更详细地说明依据图1和图2中所示的本发明一个实施例的、发生在用户终端设备110,移动入口服务器120,服务提供者130和终端设备厂商WEB服务器140之间的处理操作流程。在说明图3时,将同时参考图2。
移动入口服务器120在步骤300开始执行操作,接下来,处理进入步骤310,在步骤310里,用户终端设备110向移动入口服务器120的终端设备通信单元250发送对目标服务的请求。之后,在步骤315里,包含在该请求中的所有信息将被终端设备通信单元250读取并保存到终端设备请求与响应存储单元234中,同时,其中包含的服务请求信息将被发给服务提供者通讯单元210以向服务提供者130发起服务请求。在步骤320里,终端设备信息获取单元231将基于在步骤315中得到的请求信息来识别或推测用户终端设备110的类型,以获取与所识别或推测出的用户终端设备110的类型相匹配的终端设备信息。
在本发明中,所谓的终端设备信息是指不同类型的用户终端设备110在不同方面的各种能力。以将移动电话作为用户终端设备110为例,其在不同方面的能力包括硬件方面的能力、软件方面的能力、网络连接方面的能力、具体功能的能力、以及用户界面表达能力等。
例如,就某个品牌的某个型号的普通手机而言,它的硬件能力包括诸如物理屏幕的尺寸、CPU的类型、显示屏是黑白模式的还是彩色模式的、键盘类型、是否支持触摸屏、是否内置微型照相机等等。软件能力包括诸如它支持何种字符集、支持何种类型的应用、支持何种格式的图片、支持哪些具体的用户界面表达实现语言等等。
在这里,给出一个有关用户终端设备110的软件能力的例子。这个普通手机的软件能力信息可以包括:它支持的字符集是UTF-8和ISO-8859-1,它支持的应用包括Java类型的应用,Html类型的应用,WML类型的应用和XHTML类型的应用,它支持的用户界面表达实现语言包括HTML,XHTML,WML等,它支持的图片格式包括JPEG,PNG,WBMP等。
在这里,给出一个有关用户终端设备110的用户界面表达能力的例子。用户终端设备110的用户界面表达能力信息包括该终端设备关于具体的用户界面的表达的信息。例如,如果一个用户终端设备110支持用户界面表达实现语言WML,那么,该终端设备的用户界面表达能力包含该终端设备支持WML里的哪些具体的用户界面元素,该终端设备不支持WML里的哪些具体的用户界面元素,当在该型号的用户终端设备110上进行显示时,该设备110所支持的每一个WML具体用户界面元素的实际和具体显示效果是什么。因为,即使对于一种用户界面表达实现语言里的同一个具体的用户界面元素来说,在不同型号的用户终端设备110上的显示风格也是不同的。这种差异就是不同用户终端设备110的不同的用户界面表达能力的体现。
例如,在用户界面表达实现语言WML里,有一个具体的用户界面元素“<select>”,它的表达形式是指定数量的选择项,用户可以一次仅选择一个选项或者一次选择多个选项。然而,对于不同型号的用户终端设备110,具体用户界面元素的表达风格是不同的。例如,对于某个普通的手机来说,如图16所示,对于“<select>”的具体用户界面表达是指定数量的字符串选择项,这些字符串选择项被一个接一个地依次列在了同一个用户界面页面中,每一个选择项都是在新的一行里从行首开始显示,并且每一个选项的形式都是一个单选按钮后跟随纯文本的选择项字符串。如果一个用户想要选择其中的一个选择项,他/她需要使用手机键盘上的导航键来在这些选择项里进行导航。但是,对于另外一种型号的智能手机来说,如图17所示,对于“<select>”的用户界面表达形式将是一个只占用一行的下拉式单选框,并且当该下拉式单选框没有被选中而下拉打开时,只有一个选项被显示。并且,如果没有明确指定,则默认情况下是第一个选项被显示。如果用户想查看所有的选择项,则他/她需要选中该下拉框并按键打开,这时该下拉单选框中的所有的选择项将会从上到下依次一个一个地被列示出来。在该例所示的这种情况下,在终端设备信息存储单元233中,将会保存着分别关于这2种例示的不同型号的用户终端设备110对具体用户界面元素“<select>”的表达风格的信息。
下面将结合图4和图5来详细说明终端设备信息获取单元231的具体结构以及在步骤320中的具体处理过程。
图4示出了终端设备信息获取单元231的具体结构。如图4所示,该终端设备信息获取单元231由4个单元组成,即:终端设备识别单元401,用于利用所得到的请求信息中的识别子串来检索终端设备信息存储单元233中所存储的终端设备信息,从中直接识别出与之相匹配的用户终端设备110的类型;用户代理概要配置文件获取单元402,用于根据包含在所连接的用户终端设备110的请求信息中的URL,访问用户终端设备厂商的WEB服务器140,从中获取与所连接的用户终端设备110相应的用户代理概要配置文件;推测规则读取单元403,用于从终端设备推测规则存储单元232中读取终端设备推测规则;终端设备推测单元404,用于基于所获取的用户代理概要配置文件,通过将所接收的终端设备请求信息中的识别子串与读取的终端设备推测规则进行匹配,推测出用户终端设备110的终端设备信息。即,终端设备识别单元401搜索整个终端设备信息存储单元233,检查当前是否已经存在关于所连接的用户终端设备110的信息。如果在终端设备信息存储单元233中已经存在关于所连接的用户终端设备110的信息,则该终端设备的类型将直接被确定。如果终端设备信息存储单元233中当前不存在关于所连接的用户终端设备110的信息,那么,终端设备推测单元404将根据存储在数据存储中的终端设备推测规则来推测用户终端设备110的类型并构造出关于用户终端设备110的最接近的终端设备信息。
下面结合图5所示的流程图来详细说明终端设备信息获取单元231在步骤320中的识别和推测过程。
如图5所示,在步骤510中,终端设备识别单元401从来自用户终端设备110的请求信息中提取出用户代理字符串和其它的关键信息。
在这里,用户代理字符串是一个包含在来自用户终端设备110的请求信息中名叫”HTTP_USER_AGENT”的HTTP头中的字符串。在用户代理字符串中,包含了一个能够提供所连接的用户终端设备110的识别信息的识别子串。这个识别子串包含用于识别所连接的用户终端设备110的关键信息。这些关键信息包括该所连接的用户终端设备110的品牌、型号,还可以包括该型号所属的产品系列名称。
例如,作为本发明的一个应用示例,一个包含在用户代理字符串中的识别子串可以是“AAA-BBB-CCC”。在这个例子里,AAA指出了用户终端设备110的品牌,即该终端设备是哪个终端设备厂商的设备,“BBB”指出了所连接的终端设备所属的产品系列名称,“CCC”指出了该用户终端设备110的型号名称。
例如,作为本发明的另一个应用示例,一个具体的识别子串可以是“XXX-YYY”。在这个例子中,“XXX”指出了用户终端设备110的品牌,即该终端设备是哪个终端设备厂商的设备,“YYY”指出了所连接的用户终端设备110的型号名称。
这个包含在用户代理字符串中的识别子串的结构之所以不同,原因在于不同的终端设备厂商对终端设备的命名管理是不同的。在上述的第一个例子中,在某个确定的相同的品牌下,包括若干个产品系列,每一个型号的用户终端设备110分别从属于某一个确定的产品系列。在第二个例子中,没有明确的产品系列名称,每一个型号的用户终端设备都是彼此并列的。即使有产品系列,产品系列的名称也可以包含在型号名称当中。
尽管对于不同品牌的用户终端设备110的识别子串的结构是不同的,但是,对于某个特定的终端设备厂商,该识别子串的结构通常是统一的,或者,对于某个特定的终端设备厂商的一系列终端设备来说,该识别子串的结构是统一的。
因此,在本发明中,与用户终端设备110的识别子串结构相关的信息被包含在终端设备推测规则中。作为例子,这些信息包括:该终端设备的识别子串的组成部分、这些组成部分的结构特征等等。
当终端设备识别单元401在步骤510中从用户代理字符串中提取出所连接的用户终端设备110的识别子串后,进入步骤515。
在步骤515中,终端设备识别单元401对终端设备信息存储单元233进行搜索扫描以在终端设备信息存储单元233中当前保存的终端设备信息中查找具有这样的识别子串的终端设备。
在步骤520中,判断终端设备信息存储单元233中是否已经存在关于所连接的用户终端设备110的终端设备信息。如果在步骤520中,判断结果是当前已经存在关于所连接的用户终端设备110的终端设备信息,那么处理进入步骤560。在步骤560中,终端设备识别单元401直接从终端设备信息存储单元233中读取关于当前所连接的用户终端设备110的终端设备信息,之后,处理进入步骤570,终端设备信息获取单元231的全部处理结束。如果步骤520中的判断结果是终端设备信息存储单元233中不存在关于所连接的用户终端设备110的终端设备信息,那么处理进入步骤525。
在步骤525中,用户代理概要配置文件获取单元402判断来自用户终端设备110的请求信息中是否提供了用户代理概要配置文件的URL。如果判断结果是请求信息中提供了用户代理概要配置文件的URL,则处理进入步骤530。
在步骤530中,用户代理概要配置文件获取单元402根据从请求信息中提取出的、用户代理概要配置文件的URL,访问终端设备厂商WEB服务器140而取得用户代理概要配置文件。在这里,用户代理概要配置文件是一种XML文件格式的、由终端设备厂商提供的关于某种型号的设备的描述文件。通常,在这个文件中,包含了一些有关某个型号的终端设备的能力的关键信息。这些关键信息通常包括这样一些内容,例如:有关终端设备的硬件特征信息、有关终端设备的软件特征信息、有关终端设备的屏幕尺寸、有关终端设备的浏览器用户代理的信息、有关终端的WAP方面的特征信息、有关终端设备的网络特征信息等等。该文件包含了终端设备提供商提供的关于某个型号的终端设备的原始信息。通常,该用户代理概要配置文件存在于终端设备厂商的WEB服务器140上。并且,该文件的URL包含在从所连接的用户终端设备110发送的请求信息中。如此,即使所连接的用户终端设备110是未知的,终端设备信息获取单元231仍然可以通过取得该用户代理概要配置文件来得到与所连的未知终端设备有关的有用信息。
之后,在步骤535中,推测规则读取单元403从终端设备推测规则存储单元232中读取终端设备推测规则。在本发明中,终端设备推测规则存储单元232中有多个预定义的终端设备推测规则。这些规则被预先定义,并且是可配置的。可以通过管理系统或管理工具,在任何时间将这些推测规则定义并存储到终端设备推测规则存储单元232中。在终端设备信息存储单元233中尚未存有关于某个未知用户终端110的终端设备信息的情况下,通过利用这些推测规则,可以基于该未知用户终端110的请求信息和数据存储终端设备信息存储单元233中的已有数据来识别该用户终端设备110并得到关于该用户终端设备的、最接近的知识信息。
作为本发明的一个示例,一个终端设备推测规则主要包含在用户终端设备的请求信息中所包含的识别子串的具体结构信息和构造特点。其中,结构信息定义了该识别子串主要由哪几部分组成。例如,可以是由品牌名称字符串和产品型号字符串组成,并且品牌名称缩写字符串和产品型号字符串之间前后紧密连接,没有任何分隔字符。也可以是由品牌名称字符串、产品系列名称字符串以及产品型号字符串组成,并且,品牌名称字符串、产品系列名称字符串以及产品型号字符串是由某个特定的分割字符相互前后连接。构造特点信息主要描述了组成识别子串的相关部分的内容构造的特点。构造特点信息定义了与组成识别子串的相关部分的构造特征。例如,构造特点信息可以是,组成该识别子串的品牌名称为品牌名称全称以及相应的全称内容,或为品牌名称缩写以及相应的缩写内容。或者,作为例子,构造特点信息可以是组成识别子串的产品型号字符串全都由数字组成,并且不同产品型号字符串中的数字的编排是按照产品上市的时间先后按升序编排的,等等。
在读出终端设备推测规则之后,在步骤540中,终端设备推测单元404把用户终端设备110的请求信息中的识别子串与预定义的终端设备推测规则进行匹配。之后,在步骤545中,终端设备推测单元404根据匹配上的终端设备推测规则来推测终端设备的类型。
在这里,作为本发明的一个应用示例,给出推测一个未知的用户终端设备110的具体的例子。在这个例子中,假设从来自该用户终端设备110的请求信息中已经提取出该终端设备的识别子串是“ABC-E123”。首先,系统把识别子串“ABC-E123”和当前在终端设备推测规则存储单元232中存储的终端设备推测规则进行匹配,找到一个匹配的终端设备推测规则,该推测规则包括:识别子串由2部分组成,第一部分是品牌名称缩写字符串“ABC”,第二部分为产品型号名称字符串,该产品型号名称字符串由一个产品系列名称字母以及3位的数字组成,并且在同一个产品系列中,产品型号名称中的3位数字构成的序号是按照产品的发布时间先后顺次升序编排的,同时,第一部分品牌名称缩写字符串“ABC”和第二部分的产品型号名称字符串之间由一个中划线字符“-”连接。根据该匹配的终端设备推测规则信息,系统从这个子串中提取出品牌名称“ABC”,并断定这个用户终端设备110的品牌是“ABC”。之后,终端设备信息获取单元231读取有关这个品牌的用户终端设备110的设备识别子串的结构特征信息,并解析子串,得到这个用户终端设备110的型号名称“E123”。同时,根据终端设备推测规则中包含的信息,终端设备推测单元404断定所连接的这个未知用户终端设备110属于“E”产品系列,并且它的具体的型号字符串是“E123”。之后,终端设备信息获取单元231在终端设备信息存储单元233中寻找当前是否已经存在这样一些用户终端设备110的信息,这些终端设备的品牌为“ABC”,并且从属于“E”产品系列。在这之后,在当前的终端设备信息存储单元233中找到了2个用户终端设备110,这2个终端设备的设备识别子串分别是“ABC-E100”和“ABC-E120”。根据终端设备推测规则中的信息,这种“ABC”品牌的用户终端设备110的产品系列的型号名称中的序号是随着产品发布的时间顺次按升序编排的。至此,终端设备推测单元404断定,这个未知的用户终端设备110的类型为品牌ABC中的、从属于E产品系列的、型号序号为123的设备,并且该设备与当前系统中已经存在的识别子串为“ABC-E120”的终端设备的类型最为接近。随后,在步骤550中,基于步骤545中对终端设备类型的推测结果,终端设备推测单元404将利用已经存在的终端设备信息和获得的用户代理概要配置文件,重新构造出对应于识别子串为“ABC-E123”的未知用户终端设备110的终端设备信息。具体地,在这个例子中,在重构对应于识别子串为“ABC-E123”的未知用户终端设备110的终端设备信息的过程中,如果在此之前已经从终端设备厂商WEB服务器140取得该用户终端设备110的用户代理概要配置文件,则终端设备推测单元404将合并所匹配和推测出的与该未知用户终端设备最接近的设备信息以及已经获得的该未知用户终端设备110的用户代理概要配置文件中的信息,来重构出对应于当前识别子串为“ABC-E123”的未知用户终端设备110的最接近的终端设备信息。还是以上面提到的识别子串为“ABC-E123”的用户终端设备的推测为例,当终端设备推测单元404推测出这个未知的用户终端设备的类型并断定其与当前系统中已经存在的识别子串为“ABC-E120”的终端设备的类型最为接近后,读取当前系统中保存的有关识别子串为“ABC-E120”的终端设备的终端设备信息,同时,利用当前已经获得的关于识别子串为“ABC-E123”的用户终端设备的用户终端设备概要配置文件,来解析和读取该用户终端设备概要配置文件中所提供的关于该未知用户终端设备110的准确信息,并将已存的关于识别子串为“ABC-E120”的终端设备信息和从未知用户终端设备概要配置文件中解析得出的信息进行合并,生成关于当前未知用户终端设备110的完整的设备信息。还是以此为例,在这个信息合并的过程中,如果关于某种具体的用户终端设备的能力,在识别子串为“ABC-E120”的终端设备的终端设备信息中和在未知用户终端设备110的用户终端设备概要配置文件中都提供了信息,则以在用户终端设备概要配置文件中提供的信息为准,在合并时将使用用户终端设备概要配置文件中提供的信息。例如,如果在当前系统保存的有关识别子串为“ABC-E120”的终端设备的终端设备信息中有关该设备的屏幕尺寸为“128×128”,而用户终端设备概要配置文件中提供的有关未知用户终端设备110的屏幕尺寸为“128×160”,则在信息合并过程中,将把该未知用户终端设备110的屏幕尺寸设置为“128×160”;此外,如果对于某种具体的用户终端的能力,在用户终端设备概要配置文件中提供的具体信息没有被包含在识别子串为“ABC-E120”的终端设备的终端设备信息中,则在信息合并的过程中将把这种新的设备信息添加到结果信息中。例如,如果在当前系统保存的有关识别子串为“ABC-E120”的终端设备的终端设备信息中该终端设备支持的图片格式为PNG格式,而在用户终端设备概要配置文件提供的信息中,该未知设备还支持JPEG格式的图片,则合并后的终端设备信息中关于该用户终端设备支持的图片格式信息将为该设备支持PNG和JPEG两种格式的图像文件。
然后,在步骤555中,将新收集和构造出的关于所连接的用户终端设备110的终端设备信息存储到终端设备信息存储单元233中以备将来使用。之后,处理进入步骤570,结束终端设备信息获取单元231的处理。
返回图3,在终端设备信息获取单元231在步骤320中通过如上所述的识别或推测过程获取了所连接的用户终端设备110的终端设备信息之后,流程进入到步骤330。在步骤330中,得到目标服务的每一个输入/输出参数的信息。作为本发明的示例,当服务提供者130将服务描述概要配置文件传送到移动入口服务器120或者通过移动入口服务器120访问服务提供者130而得到服务描述概要配置文件时,应用分析单元221将解析并分析该服务描述概要配置文件,提取出关于服务的通用信息以及关于每一个输入/输出参数的详细信息,并把这些信息保存到输入/输出参数信息存储单元224中。
然后,在步骤340中,抽象用户界面表达选择·映射单元222基于每一个输入/输出参数的信息,根据存储在抽象用户界面表达匹配·映射规则存储单元225中的规则,把目标服务的每一个输入/输出参数映射成一个抽象用户界面元素,并生成抽象用户界面概要配置文件。抽象用户界面表达选择·映射单元222将在图6和图7里给出进一步的详细的说明。
下面参照图6-8来说明依据本发明一个实施例的、抽象用户界面表达选择·映射单元222在图3的步骤340中所执行的具体处理流程。
如图6所示,抽象用户界面表达选择·映射单元222在步骤600开始执行操作。接下来,在步骤605中,从输入/输出参数信息存储单元224中读取目标服务的每个输入/输出参数的信息。保存在存储单元224中的数据包括由服务提供者130提供的每一个服务的每一个输入/输出参数的相关信息和特征。如在图7中给出的一个示例所示,输入输出参数的信息可以包括:参数名称;参数的数据类型;参数值属性,包括参数值类型,表示参数值是可变的还是固定的、参数值的长度、参数值长度类型(表示参数值的长度是定长的还是变长的)和对参数值长度的限制、以及参数值的范围;参数选项值属性,即参数是否包括有限数量的参数值选项以及选择模式(即单选还是多选);以及参数默认值属性,即参数是否有默认值以及默认值的大小,等等。
在图7中示出了一个具体服务的输入/输出参数信息的一个具体示例。如图7所示,服务“自动开启”710是服务提供者130(即空调)提供的一个服务。在这里,这个服务有3个输入参数和1个输出参数。第一个输入参数是“开启时间”711,第二个输入参数是“温度”712,第三个输入参数是“风速”713。输出参数是“控制结果”714。
如图7所示,在这个“自动开启”服务710的例子中,对于第一个输入参数711,参数信息包括:参数名称是“开启时间”;参数的数据类型是字符串型;参数值属性包含:参数值类型是可变的、参数值长度的类型是固定的、固定长度是5个字符长;并且,该参数的默认值属性为具有默认值且该默认值的赋值为“18:00”。
如图7所示,在这个“自动开启”服务710的例子中,对于第二个输入参数712,参数信息包括:参数名称是“温度”;参数的数据类型是整型;参数值属性包含:参数值类型是可变的、参数值的范围被限制为最小值10和最大值40之间。
如图7所示,在这个“自动开启”服务710的例子中,对于第三个输入参数713,参数信息包括:参数名称是“风速”;参数的数据类型是字符串型;参数值选项属性表示包括有限的参数值选项,选择模式为“单选”,这意味着这个参数的值只能从几个给定的参数值选项中选取且在为这个参数设置值时,每次只能选择一个参数值选项。这个参数有3个参数值选项,分别是“强风”,“中风”和“微风”。
如图7所示,在这个“自动开启”服务710的例子中,对于输出参数714,该参数的信息包括:参数名称是“控制结果”;参数的数据类型是字符串型;参数值属性包含:参数值类型是可变的、参数值长度是变长的。
输入/输出参数信息存储单元224中的数据可以是在用户终端设备110连接到移动入口服务器120之前就已经存在的数据,也可以是在用户通过将用户终端设备110连接到移动入口服务器120来定制服务的情况下,在从服务提供者130取得服务后,由应用分析单元221产生的数据。
返回图6,在步骤605中读取出与目标服务有关的输入/输出参数信息之后,在步骤615中,抽象用户界面表达选择·映射单元222从抽象用户界面表达匹配·映射规则存储单元225中读取抽象用户界面表达匹配·映射规则。
在本发明中,有多个预定义的独立于终端和实现语言的抽象用户界面元素类。这些抽象用户界面元素类被预先定义,并且是可配置的。这些抽象用户界面元素类的定义被存储在抽象用户界面元素类定义存储单元226中。这些抽象用户界面元素类的定义在用户将用户终端设备110连接到移动入口服务器120之前就被预定义并存储在抽象用户界面元素类定义存储单元226中。这些抽象用户界面元素类是从很多具体的用户界面元素中抽象出来的,这些具体的用户界面元素具有不同的表现形式和不同的实现语言,但是却具有相同的本质。
例如,在用户界面表达中,经常存在这样一种情况:给出有限个的选项值供用户选择,但是用户只能从中选择一个选项值。然而,在不同的终端设备上,在不同的用户界面表达语言中,这种类型的用户界面元素的表现形式是不同的,实现语言的代码也是不同的。在这种情况下,我们把这种类型的具体用户界面元素抽象成一个名叫“single_selection_list”的抽象用户界面元素类。这个抽象用户界面元素类独立于具体的终端类型和具体的用户界面表达实现语言。作为本发明的示例,抽象用户界面元素类的定义包括,例如,类的名称以及类的属性。
下面参照图8中的示意图来说明图7所示的本发明一个实施例中的抽象用户界面元素类定义。
如图8所示,一个抽象用户界面元素类800的定义中所包含的信息包括抽象用户界面元素类的名称801和这个抽象用户界面元素类的属性信息。一个抽象用户界面元素类可以包含多个属性,这些属性通常被分成2种类型的属性,其中一种类型是强制属性802,另一种类型是可选属性803。强制属性802是指必须为这个属性设置一个值,而可选属性803是指在满足某种条件时才为这个属性设置值。在一个抽象用户界面元素类的定义中,包含了关于每一个属性的定义信息。作为例子,每个属性的定义信息包括属性名称,属性的数据类型,等等。
在图8所示的一个抽象用户界面元素类定义的具体例子中,该抽象用户界面元素类800的类名为“single_selection_list”。抽象用户界面元素类“single_selection_list”是这样一种类型的具体用户界面元素的抽象,即,这些具体用户界面元素的表现形式为列出一些可选项并且一次只能选择一个选项。如图8所示,抽象用户界面元素类“single_selection_list”800具有5个属性,其中4个属性是强制属性802,另外一个属性是可选属性803。具体地,第一个强制属性的名称为“binded_variable_name”,表示当一个选择项被选择时,被选项的值被保存到哪个与该选项列表对应的变量中,且该属性的数据类型是字符串型;第二个强制性属性的名称为“list_item_count”,表示所包含和列出的选择项的数量,且该属性的数据类型是整型;第三个强制性属性的名称为“list_item_contents”,表示每个选择项的内容,也即当选择项被列出供用户浏览选择时,每个选择项中所具体显示的内容,且该属性的数据类型是列表型;第四个强制性属性的名称为“list_item_values”,表示每一个选择项所代表和对应的选项值,且该属性的数据类型是列表型。抽象用户界面元素类“single_selection_list”800的唯一一个可选属性的名称为“default_value”,表示在用户没有为该参数输入值的情况下,默认自动为该参数设置的值,该属性的数据类型为字符串型。
在本发明中,有多个预定义的抽象用户界面表达匹配·映射规则。这些规则被预先定义,并且是可配置的,它们被存储在抽象用户界面表达匹配·映射规则存储单元225中。这些抽象用户界面表达匹配·映射规则或者在用户使用用户终端设备110连接到移动入口服务器120来请求一个服务之前就被预定义或者可以根据需要,通过使用相应的管理系统或工具而被定义并添加到抽象用户界面表达匹配·映射规则存储单元225中。
在本发明中,抽象用户界面表达匹配·映射规则定义了具有某些特征的参数应该被映射成某种抽象用户界面元素。在这里,在一个抽象用户界面表达匹配·映射规则中所定义的被映射成的目标抽象用户界面元素是该规则定义中指定的某种抽象用户界面元素类类型的抽象用户界面元素,而该指定的抽象用户界面元素类的定义则被存储在抽象用户界面元素类定义存储单元226中。根据指定的抽象用户界面元素类的定义,被映射成的目标抽象用户界面元素具有该抽象用户界面元素类定义中所包含的所有的属性。而目标抽象用户界面元素所具有的这些属性的值则是根据抽象用户界面表达匹配·映射规则中的映射规则,映射来自被映射的参数信息。
图9给出了本发明一个示例中的抽象用户界面表达匹配·映射规则9000的一个例子。进一步的,图9给出了本发明一个示例中抽象用户界面表达匹配·映射规则9000的定义的一个具体的例子。
参考图9,这个例子示出了一个抽象用户界面表达匹配·映射规则,这个规则指明了如何把什么类型的参数映射成抽象用户界面元素类“single_selection_list”。如图9所示,抽象用户界面表达匹配·映射规则9000包含匹配条件部分9100和映射规则部分9200,其中的匹配条件部分9100定义了一个参数为了能和当前的抽象用户界面表达匹配·映射规则相匹配所必须具备的特征,而映射规则部分9200则定义了在符合上述匹配条件9100的情况下参数所对应的抽象用户界面元素类、以及参数与该抽象用户界面元素类的抽象用户界面元素的映射关系。
匹配条件部分9100实际上是由多个子条件组成的一个逻辑表达式,即这些子条件通过表示“与”、“或”、“非”等逻辑关系的逻辑运算符而连接成一个逻辑表达式。只有当这个逻辑表达式的运算结果为“真”的时候,才意味着当前的参数与抽象用户界面表达匹配·映射规则相匹配,即,才能使用该抽象用户界面表达匹配·映射规则将该当前参数映射成指定的抽象用户界面元素类类型的抽象用户界面元素。
在图9给出的具体的示例中,匹配条件部分9100由6个子条件9101、9102、9103、9104、9105和9106构成。子条件9101表示参数的数据类型应该为字符串型。子条件9102表示参数的数据类型应该为整型。子条件9103表示参数的数据类型应该为浮点型。子条件9104表示参数的数据类型应该为双精度型。子条件9105表示参数有有限的参数值选项。子条件9106表示参数的选择模式是“单选”,并且子条件9101,9102,9103和9104之间的逻辑运算关系是“或”9107,而子条件9101,9102,9103,9104的“或”逻辑运算结果和子条件9105,9106之间的逻辑运算关系是“与”9108。在这个具体的例子中,参数是服务提供者130“空调”所提供的服务“自动开启”710中的参数“风速”713。显然,由上述说明和定义可知,参数“风速”713的信息特征符合图9中的匹配条件9100,从而在此例中匹配条件9100的逻辑运算结果为“真”。这表示参数“风速”713能够根据由该抽象用户界面表达匹配·映射规则9000中的映射规则部分9200所定义的映射规则而被映射成一个确定的抽象用户界面元素类类型的抽象用户界面元素。需要注意的是,上述匹配条件的定义仅是举例说明,其中子条件的定义以及逻辑关系并不仅限于此。
映射规则部分9200定义了针对符合上述匹配条件的参数来选择和映射指定抽象用户界面元素类下的抽象用户界面元素的规则。即,依据映射规则部分9200中的定义,指定符合匹配条件9100的参数将被映射成的抽象用户界面元素类,并将该参数映射成一个属于该指定的抽象用户界面元素类的抽象用户界面元素,即基于该参数的参数信息9201生成抽象用户界面元素信息9202。其中,抽象用户界面元素信息9202主要是指被映射成的抽象用户界面元素的属性值。在将参数映射成抽象用户界面元素的过程中,需要将参数信息的值与抽象用户界面元素的属性逐一映射,其中包括直接映射方式和间接映射方式。所谓直接映射,是指基于参数信息的值,直接生成抽象用户界面元素的相应属性值。间接映射是指需要对参数信息的值进行一定的预处理,才能变换成抽象用户界面元素的相应属性值,其中预处理的方法是多种多样的,本发明并不对其进行具体的限定,因此在此不再赘述。
如图9中示例所示,映射规则部分9200定义了当前符合上述匹配条件9100的参数应该被映射成一个属于指定的抽象用户界面元素类“single_selection_list”类9209的抽象用户界面元素。
该指定的抽象用户界面元素类“single_selection_list”的抽象用户界面元素具有4个强制属性,分别为属性“binded_variable_name”9210,属性“list_item_count”9211,属性“list_item_contents”9212和属性“list_item_values”9213。这些强制属性都必须被设置值。另外,该抽象用户界面元素还有1个可选属性“default_value”9214。只有在符合一定条件的情况下,才为该属性赋值。如图9中的示例所示,对于该抽象用户界面元素的可选属性,条件9206定义了当前参数在有默认值的情况下,该抽象用户界面元素的可选属性“default_value”9214直接映射来自参数属性“默认值”9208。而参数“风速”713符合条件9206,即对9206的条件判断结果为“真”,所以,根据图9中示例的映射规则,目标抽象用户界面元素的可选属性“default_value”9214的值“中风”直接映射来自参数属性“默认值”9208的值“中风”。
其中的属性“list_item_count”9211的值“3”是直接映射来自参数属性“参数值选项个数”9204的值“3”。属性“default_value”9214的值“中风”也是直接映射来自参数属性“默认值”9208的值“中风”。
抽象用户界面元素的属性“binded_variable_name”9210的值是参数属性“参数名称”9203的映射。但是,这个映射是间接映射。即,映射源是参数属性“参数名称”9203的值,但是参数属性“参数名称”9203的值需要通过预定的转换函数“FUNCTION#1”9215预先处理。参数属性“参数名称”9203的值将被当作一个输入参数传入转换函数“FUNCTION#1”9215,转换函数“FUNCTION#1”9215的输出值将被用来设置抽象用户界面元素的属性“binded_variable_name”9210的值。当然,这里只是给出了一个示例,转换函数“FUNCTION#1”9215也可以具有多于1个的输入参数,或者将其它的一些常数用作函数“FUNCTION#1”9215的输入参数,或者将其它函数的输出值用作函数“FUNCTION#1”9215的输入参数,所有这些信息都可以被定义在映射规则部分9200中。
与属性“binded_variable_name”9210的映射模式类似,属性“list_item_contents”9212和属性“list_item_values”9213的值也是间接地通过中间转换函数“FUNCTION#2”9216映射来自参数的属性“值列表”9205的值。
接着,返回图6,在步骤615从抽象用户界面表达匹配·映射规则存储单元225中读取出抽象用户界面表达匹配·映射规则之后,在步骤620中,抽象用户界面表达选择·映射单元222从当前的抽象用户界面表达匹配·映射规则中读取匹配条件部分9100。
在步骤625中,抽象用户界面表达选择·映射单元222把当前参数的信息特征和在步骤620读取的抽象用户界面表达匹配·映射规则里的匹配条件进行匹配。之后,处理流程向下进入步骤630。在步骤630中,判断当前的参数是否与所读取抽象用户界面表达匹配·映射规则中的匹配条件相匹配。
在步骤630中,如果判断结果为当前参数和当前的抽象用户界面表达匹配·映射规则不匹配,那么,处理流程返回到步骤615,从抽象用户界面表达匹配·映射规则存储单元225中读取下一条抽象用户界面表达匹配·映射规则,并重复上述匹配操作。
如果步骤630中的判断结果为当前参数和当前的抽象用户界面表达匹配·映射规则相匹配,那么,处理流程向下进入步骤635,在步骤635中读取所匹配的抽象用户界面表达匹配·映射规则中的映射规则部分9200。之后,在步骤640中,根据所读取的映射规则9200,把当前的参数映射成指定的抽象用户界面元素类的抽象用户界面元素。在步骤640之后,处理流程进入步骤642。在步骤642中,判断当前目标服务是否还有其它输入/输出参数。如果在步骤642中判断结果为目标服务还有更多的输入/输出参数,则处理流程返回到步骤605去读取目标服务的下一个输入/输出参数信息。
如果在步骤642中判断结果为目标服务没有更多的输入/输出参数需要处理,那么处理流程向下进入步骤645。在步骤645中,抽象用户界面表达选择·映射单元222将创建和构造目标服务的抽象用户界面概要配置文件(即抽象用户界面元素队列)。作为本发明的一个示例,抽象用户界面概要配置文件包括:构成目标服务的用户界面的抽象用户界面元素,以及每个抽象用户界面元素的属性值。
之后,在步骤650中,目标服务的抽象用户界面概要配置文件(抽象用户界面元素队列)被保存到抽象用户界面概要配置文件存储单元227。在步骤650之后,处理流程往下进入步骤660,在步骤660中,抽象用户界面表达选择·映射单元222的处理结束。
如图6中的处理流程所示,当该服务是第一次被用户终端设备调用时,该服务的抽象用户界面概要配置文件被创建并保存到抽象用户界面概要配置文件存储单元227中。但是,一旦该服务的抽象用户界面概要配置文件被创建并存储到抽象用户界面概要配置文件存储单元227中,以后用户再使用他/她的用户终端设备110来访问该服务时,就能够直接再次使用这个已被创建和保存的抽象用户界面概要配置文件,而无需再次创建。
图7也示出了一个根据预定义的抽象用户界面表达匹配·映射规则,基于每一个输入/输出参数的信息,把一个服务的每一个参数映射成相应的抽象用户界面元素,并构造该服务的抽象用户界面概要配置文件的具体示例。
如图7所示,由服务提供者130“空调”提供的服务“自动开启”710有3个输入参数和1个输出参数,其中的三个输入参数是参数“开启时间”711、“温度”712和“风速”713,一个输出参数是“控制结果”714。
在抽象用户界面表达匹配·映射规则存储单元225中,存储有多个预定义的抽象用户界面表达匹配·映射规则。依据上述结合图6和图9的说明,该服务中的每一个参数分别与预定义的抽象用户界面表达匹配·映射规则中的匹配条件部分9100进行逐一匹配直到匹配上为止。之后,根据相匹配的抽象用户界面表达匹配·映射规则中的映射规则部分9200所定义的映射规则,把每一个参数映射成一个指定抽象用户界面元素类类型的抽象用户界面元素。
作为匹配和映射的结果,例如如图7所示,服务710的参数“开启时间”711与规则#5相匹配,所以被映射成抽象用户界面元素类“input_box”下的一个抽象用户界面元素721。由于服务710的参数“温度”712具有和参数“开启时间”711相同的特征信息,所以它也与规则#5相匹配,被映射成抽象用户界面元素类“input_box”下的一个抽象用户界面元素722。服务710的参数“风速”713与规则#1相匹配,所以被映射成抽象用户界面元素类“single_selection_list”下的一个抽象用户界面元素723。服务710的参数“控制结果”714与规则#7相匹配,所以被映射成抽象用户界面元素类“text”下的一个抽象用户界面元素724。
在把上述所有服务参数都映射成了相应的抽象用户界面元素之后,该服务710的抽象用户界面概要配置文件(抽象用户界面元素队列)就由4个抽象用户界面元素721,722,723和724组成。
至此,入口服务器已经完成了抽象用户界面概要配置文件的生成。然后处理流程进入图3中的步骤350。在步骤350中,移动入口服务器120中的具体用户界面生成单元240生成最适合该用户终端设备110的能力的具体用户界面页面和相应的程序。
下面参照图10来说明由图2中所示的具体用户界面生成单元240完成的创建服务的具体用户界面的具体处理流程。
本发明中所指的“服务具体用户界面”包括服务的具体输入用户界面和具体输出用户界面。图10所示的流程图示出了本发明中生成服务的具体输入用户界面的一个示例,由于生成服务的具体输出界面的方法与此相同,在此不再赘述。
如图10所示,具体用户界面生成模块240在步骤1000开始执行操作。接下来,在步骤1005中,从抽象用户界面概要配置文件存储单元227中读取一个服务的抽象用户界面概要配置文件。之后,在步骤1010中,从终端设备信息存储单元233中读取所连接的用户终端设备10的终端设备信息。之后,处理流程往下进入步骤1020。在步骤1020中,具体用户界面生成模块240从抽象用户界面元素队列中读取一个抽象用户界面元素,并把它设为当前的抽象用户界面元素。
然后,在步骤1025中,具体用户界面表达匹配·映射单元244从具体用户界面表达匹配·映射规则存储单元242中读取具体用户界面表达匹配·映射规则。在本发明中,预定义有多个可配置的具体用户界面表达匹配·映射规则,它们被存储在具体用户界面表达匹配·映射规则存储单元242中。存储在存储单元242中的具体用户界面表达匹配·映射规则是在用户终端设备110被连接到移动入口服务器120之前就由管理人员使用相应的管理系统或管理工具定义并配置好的。具体用户界面表达匹配·映射规则定义了基于所连接的用户终端设备信息和可选择的用户界面实现语言,抽象用户界面元素与具体用户界面元素的映射关系,以使对该服务的具体界面表达能够适合该用户终端设备110的能力。
作为例子,具体用户界面表达匹配·映射规则包括匹配条件部分和映射规则部分。该匹配条件部分定义了被映射的抽象用户界面元素的名称以及用户终端设备110必须具有的能力。而映射规则部分则定义了在符合匹配条件的情况下,当前的抽象用户界面元素能够以一定的具体用户界面实现语言被映射成的所有具体用户界面元素、最适合被映射成的具体用户界面元素以及抽象用户界面元素和具体用户界面元素之间的映射关系。
例如,假设当前的用户界面实现语言为WML。当前,对于大多数手机来说,其中的浏览器用户代理都支持WML语言中的具体用户界面元素“<select>”标记,并且“<select>”的表达风格都是一系列的选项行,每个选项行中都是在一个单选按钮之后紧跟着相应的该选项的选项内容字符串,并且这些选项行被并列地按顺序依次显示在“<select>”标记当前所在的用户界面页面显示屏中。此外,默认情况下,用户一次能够选择一个选项。
在这种情况下,系统中可能存在一条具体应用用户界面表达匹配·映射规则,该规则指明对于这种情况的手机,在用户界面实现语言WML中,具有抽象用户界面元素类“single_selection_list”类型的抽象用户界面元素应该被映射成并表达成具体用户界面元素“<select>”。
然后,在步骤1030中,具体用户界面生成模块240从当前的具体用户界面表达匹配·映射规则中读取匹配条件。之后,在步骤1035中,具体用户界面生成模块240把当前的抽象用户界面元素信息、所连接的用户终端设备110的终端设备信息与当前的具体用户界面表达匹配·映射规则中的匹配条件进行匹配。之后,处理流程向下进入步骤1040。在步骤1040中,判断当前的抽象用户界面元素信息和所连接用户终端设备110的终端设备信息是否和当前的具体用户界面表达匹配·映射规则中的匹配条件相匹配。
图11给出了本发明一个示例中具体用户界面表达匹配·映射规则1100的定义的一个具体的例子。参考图11,这个例子示出了一个具体用户界面表达匹配·映射规则,利用该规则可以通过一种具体的用户界面实现语言,把一个类型为“single_selection_list”的抽象用户界面元素映射成一个符合所连接的用户终端设备110的能力的具体用户界面元素。
如图11所示,具体用户界面表达匹配·映射规则1100包含匹配条件部分1110和映射规则部分1150。其中,匹配条件部分1110定义了被映射的抽象用户界面元素所属的抽象用户界面元素类的名称1111、用户界面实现语言1112、以及用户终端设备110所必须具有的能力条件1113。而映射规则部分1150则定义了在符合上述匹配条件1110的情况下被映射成的目标具体用户界面元素、以及抽象用户界面元素与该具体用户界面元素之间的映射关系。
如图11所示,匹配条件部分1110由3部分组成,即:被映射的抽象用户界面元素所属的抽象用户界面元素类的名称1111、用户界面实现语言1112以及用户终端设备110所必须具备的能力条件1113。
在图11中所示例的具体用户界面表达匹配·映射规则中,被映射的抽象用户界面元素所属的抽象用户界面元素类的名称1111为“single_selection_list”,用户界面实现语言1112为WML,用户终端设备110所必须具备的能力条件1113定义了能够运用当前规则把抽象用户界面元素映射成指定的具体用户界面元素的用户终端设备所必须具有的能力。用户终端设备110所必须具有的能力条件1113实际上是由多个子条件组成的一个逻辑表达式,即这些子条件通过表示“与”、“或”、“非”等逻辑关系的逻辑运算符而连接成一个逻辑表达式。只有当这个逻辑表达式的运算结果为“真”的时候,才意味着当前的用户终端设备110的能力与具体用户界面表达匹配·映射规则相匹配,即,才能使用该具体用户界面表达匹配·映射规则将该当前抽象用户界面元素映射成指定的具体用户界面元素类。
在图11给出的具体的示例中,用户终端设备110所必须具有的能力条件1113由4个子条件1115、1116、1117和1118构成。其中子条件1115表示当前用户终端设备必须支持WML语言,子条件1116表示当前用户终端设备必须支持“<select>”标记,子条件1117表示在当前所连接的用户终端设备110上“<select>”标记的表达风格为若干个单选钮后接选项字符串,子条件1118表示“<select>”标记的表达风格为包含若干个选项字符串的单行下拉框。并且,子条件1117与子条件1118之间的逻辑运算关系是“或”1119,而子条件1117和子条件1118的“或”逻辑运算的结果与子条件1115,1116之间的逻辑运算关系是“与”1120。需要注意的是,上述匹配条件的定义仅是举例说明,其中子条件的定义以及逻辑关系并不仅限于此。
映射规则部分1150由一个或多个映射规则1151组成。当一个抽象用户界面元素可以被映射成多个不同的具体用户界面元素时,对应这每一个目标具体用户界面元素,在映射规则部分1150中将定义一个映射规则1151,用以定义抽象用户界面元素与该具体用户界面元素之间的映射关系。映射规则1151定义了在针对符合上述匹配条件1110的用户终端设备110上,为抽象用户界面元素来选择和映射指定具体用户界面元素的规则,具体包括所被映射成的目标具体用户界面元素以及抽象用户界面元素与相应具体用户界面元素之间的映射关系,即,依据映射规则1151中的定义,指定在匹配条件1110中指定的用户界面实现语言1112中,在符合用户终端设备能力条件1113的用户终端上,具有指定抽象用户界面元素类1111类型的抽象用户界面元素,将被映射成的具体用户界面元素,并将该抽象用户界面元素映射成一个属于该指定的具体用户界面元素,即基于抽象用户界面元素信息1152生成具体用户界面元素信息1153。其中,抽象用户界面元素信息1152主要是指被映射的抽象用户界面元素的属性值。具体用户界面元素信息1153主要是指所映射的目标具体用户界面元素的属性值等信息。在将抽象用户界面元素映射成具体用户界面元素的过程中,需要将抽象用户界面元素的属性信息与具体用户界面元素的属性信息逐一映射,其中包括直接映射方式和间接映射方式。所谓直接映射,是指基于抽象用户界面元素信息的值,直接生成具体用户界面元素的相应属性信息值。间接映射是指需要对抽象用户界面元素信息进行一定的预处理,才能变换成具体用户界面元素的相应属性值,其中预处理的方法是多种多样的,本发明并不对其进行具体的限定,因此在此不再赘述。
在图11中所示的这个具体的例子中,抽象用户界面元素是图9中所示例的服务提供者130“空调”所提供的服务“自动开启”710中的参数“风速”713所被映射的抽象用户界面元素类类型为“single_selection_list”的抽象用户界面元素。
在图11所示例的匹配条件部分1110定义了该规则所对应的抽象用户界面元素为“single_selection_list”类型的抽象用户界面元素,目标用户界面实现语言为WML,且当前所连接的用户终端设备110必须具有这样的能力,即该用户终端设备支持WML语言,并且支持WML语言中的“<select>”标记,并且在该用户终端设备上WML中的“<select>”标记的界面表达风格为若干个单选钮后接选项字符串,或者为包含若干个选项字符串的单行下拉框。
假设当前所连接的用户终端设备110的终端设备能力信息满足上文所述的终端设备能力条件1113,那么,以上述参数“风速”713在图9中被映射成的“single_selection_list”类型的抽象用户界面元素为例,根据图11中所示例的规则,该抽象用户界面元素将被映射成具体用户界面元素“<select>”。
如图11中示例所示,映射规则部分1150定义了当前符合上述匹配条件1110的抽象用户界面元素应该被映射成一个指定的具体抽象用户界面元素“<select>”。
该示例中的抽象用户界面元素类“single_selection_list”的抽象用户界面元素具有4个强制属性,分别为属性“binded_variable_name”1154,当前值为“wind_speed”;属性“list_item_count”1155,当前值为“3”;属性“list_item_contents”1156,当前值为“强风;中风;微风”;属性“list_item_values”1157,当前值为“强风;中风;微风”。另外,该抽象用户界面元素还有1个可选属性“default_value”1158,当前值为“中风”。
该示例中的具体用户界面元素信息包括:目标具体用户界面元素名称1160为“<select>”;“<select>”标记的属性“name”1161的值直接映射来自抽象用户界面元素属性“binded_variable_name”1154的值“wind_speed”;“<select>”标记的属性“value”1162的值直接映射来自抽象用户界面元素属性“default_value”1158的值“中风”。进一步地,“<select>”的子标记“<option>”的信息1163包括:子标记“<option>”的个数1164的值直接映射来自抽象用户界面元素属性“list_item_count”1155的值“3”,也即该“<select>”包含3个“<option>”子标记;3个“<option>”子标记的属性“text”1165、1167、1169的值都映射来自抽象用户界面元素属性“list_item_contents”1156的值。但是,这个映射是间接映射。即,映射源是抽象用户界面元素属性“list_item_contents”1156的值,但是抽象用户界面元素属性“list_item_contents”1156的值需要通过预定的转换函数“FUNCTION#11”1159预先处理。抽象用户界面元素属性“list_item_contents”1156的值将被当作一个输入参数传入转换函数“FUNCTION#11”1159,转换函数“FUNCTION#11”1159的输出值将被用来设置具体用户界面元素“<select>”下的3个“<option>”子标记的属性“text”的值。也即每个“<option>”子标记的显示文本的值。预处理后的结果为第一个“<option>”子标记的属性“text”1165的值为“强风”,第二个“<option>”子标记的属性“text”1167的值为“中风”,第三个“<option>”子标记的属性“text”1169的值为“微风”。当然,这里只是给出了一个示例,转换函数“FUNCTION#11”1159也可以具有多于1个的输入参数,或者将其它的一些常数用作函数“FUNCTION#11”1159的输入参数,或者将其它函数的输出值用作函数“FUNCTION#11”1159的输入参数,所有这些信息都可以被定义在映射规则部分1150中。
与3个“<option>”子标记的属性“text”1165、1167、1169的映射模式类似,3个“<option>”子标记的属性“value”1166、1168、1170的值也是间接地通过中间转换函数“FUNCTION#11”1159间接映射来自抽象用户界面元素属性“list_item_values”1157的值,映射后的结果为第一个“<option>”子标记的属性“value”1166的值为“强风”,第二个“<option>”子标记的属性“value”1168的值为“中风”,第三个“<option>”子标记的属性“value”1170的值为“微风”。
除了图11中所例示的用户终端设备以外,然而,也存在这样一些手机,这些手机支持WML中的“<select>”标记,并且“<select>”的表达风格也是一系列的选项行,每个选项行中都是在一个单选按钮之后紧跟着相应的该选项的选项内容字符串。然而,所有这些选项行中,只有第一个选项行显示在该“<select>”标记所在的当前用户界面页面上,之后当使用手机键盘上的某个导航键时,所有的选项行才能被并列地按顺序依次显示在另外一个新打开的显示页面中。显然,这种用户界面表达能力使得对于用户来说操作起来不友好,甚至很困难。然而,该手机也支持WML中的“<a>”标记。如果使用若干个“<a>”标记的话,用户界面的表达效果也能够是一列带下划线的选项字符串,这些选项字符串能够并列地显示在同一个用户页面中,并且一次也只能选择一个选项。因此,在这种情况下,基于上述的这些不同状况,可以存在这样一条具体用户界面表达匹配·映射规则,该规则指明,在这种情况下的手机上,具有抽象用户界面元素类“single_selection_list”类型的抽象用户界面元素应该被映射成具体用户界面元素“<select>”或“<a>”。在用户界面表达语言WML中,抽象用户界面元素类“single_selection_list”和具体用户界面元素“<select>”之间的映射关系,以及抽象用户界面元素类“single_selection_list”和具体用户界面元素“<a>”之间的映射关系都将被指定。但是,与此同时,在这条具体用户界面表达匹配·映射规则中,也将指出,对于能够匹配得上该规则中的条件的用户终端设备110来说,最佳方案是在WML中,抽象用户界面元素类“single_selection_list”应该被映射成具体用户界面元素“<a>”。
接着,返回图10,如果在步骤1040中判断结果是不匹配,那么,处理流程返回步骤1025。在步骤1025中,具体用户界面生成模块240将从存储单元242中读取下一条具体用户界面表达匹配·映射规则,并继续把当前的抽象用户界面元素信息和所连接的用户终端设备110的终端设备信息与所读取的下一条具体用户界面表达匹配·映射规则进行匹配。
如图10所示,在步骤1040中,如果判断结果是当前的抽象用户界面元素信息和所连接用户终端设备110的终端设备信息跟当前的具体用户界面表达匹配·映射规则中的匹配条件相匹配,则处理流程向下进入步骤1041。
在步骤1041中,判断当前系统中是否存在当前用户对用户界面表达的偏好信息。在这个操作中,将扫描用户偏好存储单元243来检查当前是否存在有关用户对于用户界面表达风格的偏好的信息。
在存储单元243中,存储了关于用户偏好的信息。作为示例,用户偏好可以包括:用户对于菜单风格的偏好,用户对于具体用户界面元素表达风格的偏好。例如,对于一个用户,他/她可能偏好文本类型的菜单,而对于另外一个用户来说,他/她可能更喜欢图片风格的菜单。
另外一个例子是,对于具有抽象用户界面元素类“single_selection_list”类型的抽象用户界面元素,在当前所连接用户终端设备110上,根据终端设备的表达能力,它能够被表达成2种不同的风格,然而,用户只偏好其中的一种风格。因此,在这种情况下,将根据用户的偏好信息生成用户所偏好的风格的具体用户界面元素。
存储在用户偏好存储单元243中的数据可以在用户终端设备110连接到移动入口服务器120之前预先定义,也可以是在用户终端设备110被连接到移动入口服务器120上时被设置。
在后一种情况下,用户使用他/她的用户终端设备110来访问一个偏好配置用户界面页面来选择他/她的对于相应用户界面元素的偏好。或者,对于每一个生成的具体的用户界面页面,用户可以把他/她的满意度评估的反馈发回到移动入口服务器120,之后,如果反馈是不喜欢,则移动入口服务器120将首先询问用户对于当前被评估为不喜欢的用户界面页面中的用户界面元素的表达风格的偏好信息。一旦移动入口服务器120得到了用户的偏好选择,则将这些信息存储到用户偏好存储单元243中。
如果在步骤1041中,判断结果是存在关于用户对用户界面表达风格的偏好信息,那么,处理流程向下进入步骤1042。在步骤1042中,从用户偏好存储单元243中读取用户的偏好信息,并进入步骤1045。如果在步骤1041中,判断结果是当前没有关于用户对用户界面表达风格的偏好信息,那么,处理流程向下进入步骤1045。
在步骤1045中,读取所匹配的具体用户界面表达匹配·映射规则中的映射规则。如果当前没有关于用户对用户界面表达风格的偏好信息,那么从映射规则中选择并读取最适合用户终端设备110的能力的映射方案。如果当前存在关于用户对用户界面表达风格的偏好信息,则判断当前的用户终端设备110是否支持当前用户对用户界面表达风格的偏好。如果用户终端设备110支持,那么读取抽象用户界面元素和用户所偏好的风格的具体用户界面元素之间的映射规则信息。如果当前用户终端设备110不支持用户偏好的具体用户界面表达风格,那么,默认地读取最能适应用户终端设备110的能力的映射方案。
如图10所示,在步骤1045之后,在步骤1050中,根据匹配上了的具体用户界面表达匹配·映射规则,当前抽象用户界面元素被映射成指定的具体用户界面元素。
之后,在步骤1050之后,处理流程往下进入步骤1052。在步骤1052中,判断抽象用户界面元素队列中是否还有更多的对应服务输入参数的抽象用户界面元素需要处理。在步骤1052中,如果判断结果为抽象用户界面元素队列中还有更多的对应服务输入参数的抽象用户界面元素,那么处理流程返回到步骤1020去从抽象用户界面元素队列中读取一个抽象用户界面元素,并把它设为当前的抽象用户界面元素。
然而,如果在步骤1052中,判断结果是服务的抽象用户界面元素队列里没有更多的对应服务输入参数的抽象用户界面元素需要处理,那么,处理流程向下进入步骤1055。在步骤1055中,具体用户界面页面生成单元241将根据具体用户界面元素的内容和所连接用户终端设备110的能力来创建该服务的具体用户界面页面的分页方案。
一旦分页方案被创建,那么,在步骤1060中,根据所确定的具体用户界面元素和相应的分页方案,生成具体的输入用户界面页面和相应的实现程序。在步骤1060之后,处理流程向下进入1070结束具体用户界面生成单元240的处理。
最后,仍然返回图3,在步骤350中生成具体的用户界面页面和相应的程序之后,在步骤360中,具体的用户界面页面被发送到用户终端设备110。如图2中所示,终端设备通信单元250将终端设备响应信息发送到用户终端设备110。之后,处理进入步骤370,在这里为目标服务而发生的处理结束。
下面结合图12和13来详细说明具体用户界面页面生成单元241在步骤1055中的处理。
首先参照图12来说明具体用户界面页面生成单元241的具体结构。
如图12所示,具体用户界面页面生成单元241由4个单元组成,即:有效显示区域计算单元1201,用于根据当前所连接的用户终端设备110的终端设备信息计算出所连接的用户终端设备110的实际有效的可以用于显示目标服务的具体用户界面页面的显示区域尺寸;具体用户界面元素显示区域计算单元1202,用于根据所连接的用户终端设备110的终端设备信息计算每个具体用户界面元素在所连接的用户终端设备110上显示时的实际显示尺寸;组合单元1204,用于根据由有效显示区域计算单元1201分析计算出的有效显示区域实际尺寸和由具体用户界面元素显示区域计算单元1202分析计算出的各具体用户界面元素的实际尺寸,得到各个具体用户界面元素的合适组合信息;分页单元1205,用于根据由组合单元1204得到的合适组合信息,通过调整各具体用户界面元素的实际显示尺寸而对目标服务的具体用户界面进行分页。
下面结合图13来说明具体用户界面页面生成单元241在步骤1055中的具体处理流程。
如图13所示,具体用户界面页面生成单元241在步骤1300中开始执行处理流程。接下来,在步骤1305中,有效显示区域计算单元1201根据所连接用户终端设备110的终端设备信息来计算终端设备110屏幕的有效显示区域的实际尺寸。之后,处理流程向下进入步骤1310。在步骤1310中,判断目标服务是否还有更多的具体用户界面元素。如果判断结果是目标服务还有更多的具体用户界面元素,那么,处理流程向下进入步骤1315。否则,处理流程向下进入步骤1335。
在步骤1315中,读取一个具体用户界面元素,并且把它设置为当前的具体用户界面元素。之后,处理流程向下进入步骤1320。在步骤1320中,读取当前具体用户界面元素的信息和内容。之后,处理流程向下进入步骤1330。在步骤1330中,具体用户界面元素显示区域计算单元1202根据当前具体用户界面元素的内容信息和当前所连接用户终端设备110的用户界面表达能力,计算当前的具体用户界面元素的实际尺寸。之后,处理流程返回到步骤1310去继续判断当前目标服务是否还有更多的具体用户界面元素需要处理。
如图13所示,在步骤1335中,由具体用户界面页面生成单元241中的组合单元1204分析并计算出每一个用户界面页面里各具体用户界面元素的合适组合以及相应的组合信息。在此前的操作中,已经计算出该目标服务中所有具体用户界面元素的实际尺寸,包括不能调整尺寸的具体用户界面元素的实际显示尺寸和能够调整大小的具体用户界面元素的实际原始显示尺寸。对于该目标服务中能够调整其大小的具体用户界面元素,在步骤1335中将分析和计算出其适宜的尺寸。如果分析和计算结果是这个可以被调整大小的具体用户界面元素无需调整尺寸,则适宜尺寸即是原尺寸,然而,如果分析和计算结果是,这个可以被调整大小的界面元素需要调整尺寸,则适宜尺寸应是被调整后的目标尺寸。在该步骤1335中,将分析和计算出所有具体用户界面元素的合适组合,以及在各个组合中涉及到的可调整大小的具体用户界面元素的适宜目标尺寸。关于此操作的具体处理流程,将在后面结合图15进行详细的说明。
例如,以生成服务的具体输入用户界面页面为例,假设当前的用户界面实现语言是WML,并且当前所连接用户终端设备110的实际有效显示区域尺寸是4行。在当前的目标服务中有3个对应于服务输入参数的具体用户界面元素,并且所有这3个具体用户界面元素都是不能被调整大小的。经过计算,第一个具体用户界面元素在当前的用户终端设备110上被显示时将占用1行。第二个具体用户界面元素在当前的用户终端设备110上被显示时将占用4行。第三个具体用户界面元素在当前的用户终端设备110上被显示时将占用3行。那么,在步骤1335中,对于这些具体用户界面元素和当前的终端设备来说,对于当前的服务的具体输入用户界面,合适的组合应该是第一个和第三个具体用户界面元素被显示在第一个具体输入用户界面页面中,第二个具体用户界面元素被显示在第二个具体输入用户界面页面中。这样目标服务总共需要2个具体输入用户界面页面。之后,这2个具体输入用户界面页面之间的导航关系以及相应的2个具体输入用户界面页面之间处理逻辑关系(接口关系)也将被随之生成。
给出另外一个生成服务的具体输出用户界面页面的例子,依然假设当前的用户界面实现语言是WML,并且当前所连接用户终端设备110的实际的有效的显示区域的尺寸是4行。在当前的目标服务中有3个对应于服务输出参数的具体用户界面元素,然而,除了第一个和第二个具体用户界面元素不能够被调整尺寸以外,第三个具体用户界面元素能够被调整大小。经过计算,第一个具体用户界面元素在当前的用户终端设备110上被显示时将占用2行。第二个具体用户界面元素在当前的用户终端设备110上被显示时将占用3行。第三个可以调整尺寸的具体用户界面元素的在当前的用户终端设备110上被显示时的原始尺寸为将占用3行。因此,基于这种情况,对于这些具体用户界面元素和当前的终端设备来说,对于当前的应用的具体输出用户界面,合适的组合应该是:首先对第三个具体用户界面元素的尺寸进行调整,使它在当前的用户终端设备110上被显示时只占用2行。之后,把第一个具体用户界面元素和调整过尺寸的第三个具体用户界面元素显示在第一个具体输出用户界面页面中,把第二个具体用户界面元素显示在第二个具体输出用户界面页面中。这样目标服务总共需要2个具体输出用户界面页面。之后,这2个具体输出用户界面页面之间的导航关系以及相应的2个具体输出用户界面页面之间处理逻辑关系(接口关系)也将被随之生成。
如图13所示,在步骤1335之后,处理流程向下进入步骤1340。在步骤1340中,为符合所确定的每个具体用户界面页面里具体用户界面元素的合适组合,由分页单元1205对可调整尺寸的具体用户界面元素进行尺寸调整。之后,在步骤1345中,分页单元1205根据在组合单元1204中得到的组合信息来生成为分页方案概要配置文件。步骤1345之后,处理流程往下进入步骤1350。在步骤1350中,具体用户界面页面生成单元241的处理结束。
下面参照图14和15来详细说明组合单元1204在图13的步骤1335中的具体处理流程。
首先,参照图14来说明图12中的组合单元1204的具体结构。
如14所示,组合单元1204由以下单元组成,即:完全组合生成单元1401,用于根据给定的有效显示区域面积尺寸和每个具体用户界面元素的尺寸,对给定的具体用户界面元素进行完全组合,以生成适合给定的有效显示区域面积尺寸的具体用户界面元素的组合并把这些组合信息保存在组合信息存储单元中,并且,当给定的有效显示区域面积尺寸是指当前用户终端设备110上剩余的可以用来显示具体用户界面元素的区域的面积尺寸时,此处的有效显示区域面积尺寸是由剩余显示区域尺寸计算单元1402计算得到并提供的,同时,在不同的情况下,完全组合生成单元1401将根据具体的要求,基于判断单元1404判断得到的结果,来对尺寸固定的具体用户界面元素或尺寸可以调整的具体用户界面元素进行完全组合;剩余显示区域尺寸计算单元1402,用于计算在当前所连接的用户终端设备110上剩余的可以用来显示具体用户界面元素的区域的面积尺寸;目标调整尺寸计算单元1403,用于根据目前用户终端设备上可用的屏幕显示区域面积和欲放置其中的具体用户界面元素的具体尺寸,来计算出为了让欲放置其中的具体用户界面元素所占用的显示区域可以适合目前用户终端设备上可用的屏幕显示区域面积,其中涉及到的由判断单元1404判断为可调整大小的具体用户界面元素应该被调整成的目标尺寸,并且,此处的欲放置其中的具体用户界面元素可能是由完全组合生成单元1401计算确定的,另外,在不同的情况下,此处设备上可用的屏幕显示区域面积可以是给定的已经被计算出来的用户终端设备110的实际有效显示区域的面积,也可能是经由剩余显示区域尺寸计算单元1402计算得到的目前用户终端设备上可用的屏幕显示区域面积,同时,该1403单元计算得到的关于可调整大小的具体用户界面元素应该被调整成的目标尺寸将作为组合信息的一个内容而被存储在组合信息存储单元1405中;判断单元1404,用于判断在组成目标服务的具体用户界面的相应具体用户界面元素是否可以调整尺寸;组合信息存储单元1405,用来保存关于当前目标服务的所有具体用户界面元素的组合信息。
下面结合图15来说明组合单元1204在步骤1335中的具体处理流程。
如图15所示,在步骤1500中开始执行处理流程。
接下来,在步骤1503里,读取并得到当前所连接的用户终端设备110的有效显示区域的实际尺寸。之后,在步骤1506中,读取当前所有具体用户界面元素的实际尺寸,并把这些具体用户界面元素放在一个队列里。在这里,队列本身是一个逻辑的概念,并不规定其具体实现形式。
之后,处理流程向下进入步骤1509。在步骤1509中,把当前所有具体用户界面元素的实际显示尺寸进行完全组合,得出全部的包含其中的具体用户界面元素实际显示尺寸的和等于当前用户终端设备110的有效显示区域实际尺寸的组合。在步骤1512中,判断当前是否存在实际显示尺寸的和等于用户终端设备的有效显示区域尺寸的具体用户界面元素的组合。如果在步骤1512中,判断结果为当前存在实际显示尺寸的和等于用户终端设备的有效显示区域尺寸的具体用户界面元素的组合,那么处理向下进入步骤1515。否则,处理流程向下进入步骤1521。
在步骤1515中,针对这些相应组合的具体用户界面元素,生成关于它们的组合信息就是相应的具体用户界面元素共同组合成一个分页,并把该组合信息保存在组合信息存储单元中。之后,处理流程向下进入步骤1518。在步骤1518中,把这些已经生成了组合信息的相应组合中的具体用户界面元素从队列中删除。
在步骤1521中,判断当前队列中是否存在实际显示尺寸大于所连接的用户终端设备110的有效显示区域尺寸的尺寸固定的具体用户界面元素,如果判断结果是当前队列中存在实际显示尺寸大于所连接的用户终端设备的有效显示区域尺寸的不能调整尺寸大小的具体用户界面元素,则处理流程向下进入步骤1524,否则处理流程往下进入步骤1530。
在步骤1524中,系统将针对这些当前队列中的实际显示尺寸大于终端设备有效显示区域尺寸的不能调整尺寸大小的具体用户界面元素,生成关于它们的组合信息,即这些具体用户界面元素中的每个具体用户界面元素分别独自作为一个组合,用来生成一个具体用户界面页面。同时,把该组合信息保存在组合信息存储单元中。
之后,在步骤1527中,把在步骤1524中已经生成组合信息的这些实际显示尺寸大于用户终端设备110的有效显示区域尺寸的不能调整尺寸大小的具体用户界面元素从当前队列中删除。
在步骤1530中,判断当前队列是否为空。如果判断结果为当前队列为空,则处理流程向下进入步骤1575,在步骤1575中,图13中的步骤1335结束处理。否则,如果判断结果为当前队列中不为空,即队列中还有具体用户界面元素,则处理流程向下进入步骤1533。
在步骤1533中,系统开始新的一个组合方案处理。之后,处理进入步骤1536。在步骤1536中,设置当前分页中的剩余显示区域尺寸为当前所连接的用户终端设备110的有效显示区域的实际尺寸。
之后,在步骤1539中,判断当前队列中是否存在显示尺寸小于或等于该剩余显示区域尺寸的尺寸固定的具体用户界面元素。如果判断结果为当前队列中存在显示尺寸小于或等于该剩余显示区域尺寸的尺寸固定的具体用户界面元素,则处理流程向下进入步骤1542。
在步骤1542中,系统从当前队列中取一个适于预置于当前分页页面中的固定尺寸的具体用户界面元素,置于当前页面中。之后,在步骤1542中把一个尺寸固定的用户界面元素置于当前页面之后,在步骤1545中,计算当前分页页面中的剩余显示区域的尺寸。
之后,在步骤1548中,判断当前分页页面中是否还有空间。如果步骤1548中的判断结果为当前分页中还有剩余显示区域,则处理流程将返回到步骤1539去判断当前队列中是否还有显示尺寸小于或等于当前分页页面中的剩余显示区域尺寸的固定尺寸的具体用户界面元素。如果步骤1548中的判断结果为当前分页页面没有剩余空间,则处理流程往下进入步骤1551。
在步骤1551中,针对当前分页页面中的所有具体用户界面元素,生成关于他们的组合信息,即置入了当前分页页面的这些具体用户界面元素共同组合成一个具体用户界面页面,同时把该生成的组合信息保存在组合信息存储单元中。在步骤1551之后,在步骤1552中,将把当前已经生成并保存了组合信息的具体用户界面元素从队列中删除。接下来,在步骤1554中,系统结束当前的组合方案的处理。
如果在步骤1539中,判断结果为当前队列中没有显示尺寸小于或等于该剩余显示区域尺寸的尺寸固定的具体用户界面元素,则处理流程向下进入步骤1560。
在步骤1560中,系统将继续判断当前队列中是否存在可调整尺寸大小的具体用户界面元素。如果判断结果为当前队列中同样也不存在可调整尺寸大小的具体用户界面元素,那么,处理流程往下进入步骤1551,在其中针对当前分页页面中的所有具体用户界面元素,生成关于他们的组合信息,并把该生成的组合信息保存在组合信息存储单元中。
如果在步骤1560中,判断结果为当前队列中存在有可调整尺寸大小的具体用户界面元素,则处理流程往下进入步骤1563。在步骤1563中,系统把当前队列中所有的可以调整尺寸的具体用户界面元素的实际显示尺寸进行完全组合,得到一个尺寸的和最接近剩余显示区域尺寸的具体用户界面元素组合。之后,在步骤1566中,对在步骤1563中得到的组合中的可调整尺寸的具体用户界面元素的尺寸的数值本身进行调整,使其尺寸的和等于当前分页页面中的剩余显示区域尺寸,并记录下每个元素的目标尺寸。
之后,操作流程向下进入步骤1551,在步骤1551中,针对当前分页页面中的所有具体用户界面元素,生成关于他们的组合信息,并把该生成的组合信息保存在组合信息存储单元中。
然后,在步骤1551中生成并保存了当前组合信息后,在步骤1552中,把这些已经生成了组合信息的当前组合中的具体用户界面元素从队列中删除。
然后,操作流程进入步骤1554,从而结束当前的组合方案处理。
在步骤1554之后,处理流程向下进入步骤1557。在步骤1557中,判断当前队列中是否还有具体用户界面元素。如果判断结果为当前队列中还有具体用户界面元素,则处理流程返回步骤1533,开始新的一个组合方案处理。
否则,如果在步骤1557中,判断结果为当前队列中没有具体用户界面元素,则处理流程向下进入步骤1575。在步骤1575中,图13中组合单元1204在步骤1335中的具体处理结束。
为了进一步说明图15中所示图13中步骤1335的具体处理,现以图7中所示例的服务提供者130空调所提供的服务“自动开启”710的输入具体用户界面分页为例,结合图13,图15和图16来说明如何生成具体用户界面页面的组合信息,以进一步生成目标服务的具体用户界面页面的分页方案信息。
假设,如图16中所示,用户终端设备110的有效显示区域尺寸为4行,则根据图7中所示的服务“自动开启”710,它的第1个参数“开启时间”711被匹配映射为抽象用户界面元素类“input_box”类型的抽象用户界面元素,第2个参数“温度”712被匹配映射为抽象用户界面元素类“input_box”类型的抽象用户界面元素,第3个参数“风速”713被匹配映射为抽象用户界面元素类“single_selection_list”类型的抽象用户界面元素。
假设当前的用户界面实现语言为WML。则,根据系统中预定义的具体用户界面表达匹配·映射规则,第1个参数“开启时间”711被进一步匹配映射成带有一个参数名称标签“开启时间”的具体用户界面元素“<input>”,第2个参数“温度”712被进一步匹配映射成带有一个参数名称标签“温度”的具体用户界面元素“<input>”,第3个参数“风速”713被进一步匹配映射成带有一个参数名称标签“风速”的具体用户界面元素“<select>”。
之后,根据图13中所示的处理,系统将计算出服务提供者130空调所提供的服务“自动开启”710的3个输入参数被最终匹配和映射成的具体用户界面元素在当前例示的用户终端设备110上的的实际显示尺寸。参数1对应的具体用户界面元素的实际显示尺寸为2行,参数2对应的具体用户界面元素的实际显示尺寸为2行,参数3对应的具体用户界面元素的实际显示尺寸为4行。
根据图15中例示的处理流程,系统得到当前所连接用户终端设备110的有效显示区域的尺寸为4行,之后,在系统读取当前目标服务的所有输入具体用户界面元素的尺寸并把所有具体用户界面元素放在一个队列中。此后,系统把所有具体用户界面元素的实际显示尺寸进行完全组合,结果为:参数1对应的具体用户界面元素尺寸和参数2对应的具体用户界面元素尺寸的和等于当前用户终端设备110的有效显示区域尺寸,参数3对应的具体用户界面元素尺寸本身等于当前用户当前用户终端设备110的有效显示区域尺寸。所以,系统计算和分析得到的关于当前服务的输入具体用户界面页面中的所有具体用户界面元素的组合信息为:参数1和参数2对应的具体用户界面元素组成一个组合,参数3对应的具体用户界面元素单独称为一个组合。至此,目标服务的输入具体用户界面页面的具体用户界元素的组合信息生成。之后,系统判断当前队列为空,之后生成组合信息的处理结束。根据此处生成的组合信息,系统将针对这2个组合的具体用户界面元素,生成关于他们的分页信息就是参数1和参数2对应的具体用户界面元素共同显示在一个分页中,参数3对应的具体用户界面元素显示在另一个分页中。最后,系统将根据该分页信息生成图16中所例示的目标服务“自动开启”710的输入具体用户界面页面。
图16和图17是本发明针对2种不同能力的用户终端设备110为空调的自动开启服务而生成的具体用户界面页面的示例图。
在图16的示例中,用户终端设备110是一个显示屏幕尺寸小的并且支持WAP的普通手机。因此,该服务的用户界面用了2个页面来表达,并生成了相应的导航元素以及后台的用户界面实现程序。
在图17的示例中,用户终端设备110是一个拥有大尺寸显示屏幕的智能手机。该智能手机不但支持WAP,还支持HTML。并且,该服务中第3个具体用户界面元素的表达形式和图16中所示的第3个具体用户界面元素的表达形式不同。该服务中第3个具体用户界面元素在智能手机上显示时只占用一行的屏幕显示空间。因此,该服务的用户界面只需1个页面即可表达,并生成相应的导航元素以及后台的用户界面实现程序。
上文所描述的这些单元可以是被CPU执行的程序。这些程序可以存储在移动入口服务器120的CPU,ROM,或者硬盘中。他们也可以来自装载到移动入口服务器120中的CD或DVD。上文所描述的这些数据存储单元可以是硬盘。对于本发明来说,这些模块和数据存储单元是否被分开存储还是存储在一个物理设备中,这一点与本发明无关。
Claims (24)
1.一种入口服务器(120),用于根据用户终端设备(110)的能力向用户终端设备(110)提供由应用提供者(130)提供的应用的应用用户界面,所述入口服务器包括:
终端设备通信单元(250),用于从所述用户终端设备(110)接收应用请求信息并向所述用户终端设备(110)发送与应用提供者(130)所提供的应用相应的具体用户界面信息;
应用提供者通信单元(210),用于向所述应用提供者(130)发送来自所述终端设备通信单元的应用请求信息并从应用提供者(130)接收对所请求的应用的应用响应信息;
用户终端设备信息生成单元(230),用于根据从所述终端设备通信单元接收的应用请求信息而生成与所述用户终端设备有关的终端设备信息;
抽象用户界面元素生成单元(220),用于使从所述应用提供者通信单元接收到的所述应用响应信息与从预先存储的抽象用户界面元素类中选取出的抽象用户界面元素类相关联而生成抽象用户界面元素,并将所生成的抽象用户界面元素保存为抽象用户界面概要配置文件;以及
具体用户界面生成单元(240),用于根据由所述抽象用户界面元素生成单元生成的所述抽象用户界面概要配置文件和由所述终端设备信息生成单元生成的所述终端设备信息,生成适用于所述用户终端设备的具体用户界面信息,并将所生成的所述具体用户界面信息经由所述终端设备通信单元提供给所述用户终端设备(110)。
2.根据权利要求1所述的入口服务器,其中所述终端设备信息生成单元(230)进一步包括:
终端设备信息存储单元(233),用于存储用户终端设备的终端设备信息;
推测规则存储单元(232),用于存储终端设备推测规则;和
终端设备信息获取单元(231),用于利用所述终端设备推测规则、所述应用请求信息和所述终端设备信息得到未知用户终端设备的类型,并依据所得到的用户终端设备的类型而获取与所述未知用户终端设备(110)相关的终端设备信息。
3.根据权利要求2所述的入口服务器,其中所述终端设备信息获取单元(231)包括:
终端设备信息识别单元(401),用于将从所述应用请求信息中提取出的识别子串信息与所述终端设备信息存储单元中所存储的终端设备信息进行匹配,以从中识别出与所述识别子串信息相对应的终端设备信息。
4.根据权利要求2所述的入口服务器,其中所述终端设备信息获取单元(231)包括:
用户代理概要配置文件获取单元(402),用于根据包含在从所述终端设备通信单元(250)接收的应用请求信息中的用户代理概要配置文件的统一资源分配符(URL),访问所述用户终端设备的厂商网络服务器(140),以获取所述用户终端设备的用户代理概要配置文件;
推测规则读取单元(403),用于从所述推测规则存储单元中读取所述推测规则;以及
终端设备推测单元(404),用于通过将所接收的所述应用请求信息与所读取的所述推测规则进行匹配并基于所获取的所述用户代理概要配置文件,而推测出所述用户终端设备的终端设备信息。
5.根据权利要求1所述的入口服务器,其中:
所述应用提供者通信单元(210)从应用提供者(130)接收应用描述概要配置文件作为应用响应信息;
所述抽象用户界面元素生成单元(220)包括:
应用分析单元(221),用于对接收到的所述应用描述概要配置文件进行分析,以得到所述应用的输入/输出参数信息;
抽象用户界面元素类定义存储单元(226),用于存储抽象用户界面元素类的定义;
抽象用户界面表达匹配·映射规则存储单元(225),用于存储抽象用户界面表达匹配·映射规则;
抽象用户界面表达选择·映射单元(222),用于根据存储在所述抽象用户界面表达匹配·映射规则存储单元(225)中的抽象用户界面表达匹配·映射规则,为所述应用的每一个输入/输出参数信息从所述抽象用户界面元素类定义存储单元(226)中选择一个抽象用户界面元素类,并按照所选择的抽象用户界面元素类将所述每一个输入/输出参数信息映射成一个抽象用户界面元素;
抽象用户界面概要配置文件存储单元(227),用于存储抽象用户界面概要配置文件,所述抽象用户界面概要配置文件由所生成的所述抽象用户界面元素构成。
6.根据权利要求5所述的入口服务器,其中所述输入/输出参数的值为用户利用所述用户终端设备输入的值。
7.根据权利要求1所述的入口服务器,其中所述具体用户界面生成单元(240)进一步包括:
具体用户界面表达匹配·映射规则存储单元(242),用于存储具体用户界面表达匹配·映射规则;
具体用户界面表达匹配·映射单元(244),用于根据存储在所述具体用户界面表达匹配·映射规则存储单元(242)中的具体用户界面表达匹配·映射规则,将所述应用的每一个抽象用户界面元素匹配并映射成一个具体用户界面元素;和
具体用户界面页面生成单元(241),基于所生成的所述具体用户界面元素和所述终端设备信息生成具体用户界面页面。
8.根据权利要求7所述的入口服务器,其中,所述具体用户界面页面生成单元(241)包括:
有效显示区域计算单元(1201),用于根据所述用户终端设备信息计算所述用户终端设备的有效显示区域的实际尺寸;
具体用户界面元素显示区域计算单元(1202),用于根据所述用户终端设备信息计算出所生成的每个具体用户界面元素的实际显示尺寸;
组合单元(1204),用于分析上述计算出的有效显示区域实际尺寸和各具体用户界面元素的实际显示尺寸,得到各具体用户界面元素的适当组合信息;和
分页单元(1205),根据所得到的所述适当组合信息对所述应用的具体用户界面进行分页。
9.根据权利要求8所述的入口服务器,其中,所述组合单元(1204)包括:
组合信息存储单元(1405),用来保存所生成的具体用户界面元素的组合信息;
完全组合生成单元(1401),用于根据所述有效显示区域实际尺寸和每个具体用户界面元素的实际显示尺寸,对所生成的所有具体用户界面元素进行完全组合,将至少一个具体用户界面元素的实际显示尺寸之和与所述有效显示区域实际尺寸相匹配的组合作为组合信息,并将所述组合信息存储到所述组合信息存储单元中;
判断单元(1404),用于判断在所述具体用户界面元素的尺寸是否为可调整的尺寸;
剩余显示区域尺寸计算单元(1402),用于计算在所述用户终端设备上可用来显示具体用户界面元素的剩余显示区域尺寸;
目标调整尺寸计算单元(1403),用于基于所述判断单元的判断结果、根据所述剩余显示区域尺寸和所选择的具体用户界面元素的实际显示尺寸,来计算出所述具体用户界面元素应被调整成的目标调整尺寸。
10.根据权利要求7所述的入口服务器,其中所述具体用户界面生成单元(240)进一步包括:用户偏好存储单元(243),用于存储用户对所述具体用户界面的偏好信息,
所述具体用户界面页面生成单元(241)还基于所述用户偏好信息生成具体用户界面页面。
11.根据权利要求10所述的入口服务器,其中所述用户偏好信息是在所述用户终端设备连接到所述入口服务器上时被设置的信息。
12.根据权利要求10所述的入口服务器,其中所述用户偏好信息是在所述用户终端设备连接到所述入口服务器前被预先定义的信息。
13.一种根据用户终端设备(110)的能力向用户终端设备(110)提供由应用提供者(130)提供的应用的应用用户界面的方法,包括:
终端设备通信步骤,用于从所述用户终端设备(110)接收应用请求信息并向所述用户终端设备(110)发送与应用提供者(130)所提供的应用相应的具体用户界面信息;
应用提供者通信步骤,向所述应用提供者(130)发送所述应用请求信息并从应用提供者(130)接收对所请求的应用的应用响应信息;
用户终端设备信息生成步骤,用于根据所接收的所述应用请求信息而生成与所述用户终端设备有关的终端设备信息;
抽象用户界面元素生成步骤,使在所述应用提供者通信步骤中接收到的所述应用响应信息与从预先存储的抽象用户界面元素类中选取出的抽象用户界面元素类相关联而生成抽象用户界面元素,并将所生成的抽象用户界面元素保存为抽象用户界面概要配置文件;以及
具体用户界面生成步骤,根据在所述抽象用户界面元素生成步骤中生成的所述抽象用户界面概要配置文件和在所述终端设备信息生成步骤中生成的所述用户终端设备信息,生成适用于所述用户终端设备的具体用户界面信息,并将所生成的所述具体用户界面信息经由所述终端设备通信单元提供给所述用户终端设备(110)。
14.根据权利要求13所述的方法,其中所述终端信息生成步骤进一步包括:
终端设备信息获取步骤,用于通过根据存储在推测规则存储单元中的终端设备推测规则、所述应用请求信息和存储在终端设备信息存储单元中的终端设备信息得到未知用户终端设备的类型,并依据所得到的用户终端设备的类型而获取与所述未知用户终端设备(110)相关的终端设备信息。
15.根据权利要求14所述的方法,其中所述终端设备信息获取步骤包括:
终端设备信息识别步骤,用于将从所述应用请求信息中提取出的识别信息与所述终端设备信息存储单元中所存储的终端设备信息进行匹配,以从中识别出与所述识别信息相对应的终端设备信息。
16.根据权利要求14所述的方法,其中所述终端设备信息获取步骤包括:
用户代理概要配置文件获取步骤,用于根据包含在终端设备通信步骤中接收的应用请求信息中的用户代理概要配置文件的统一资源分配符(URL),访问所述用户终端设备的厂商网络服务器(140),以获取所述用户终端设备的用户代理概要配置文件;
推测规则读取步骤,用于从推测规则存储单元中读取所述推测规则;以及
终端设备推测步骤,用于通过将所接收的所述应用请求信息与所读取的所述推测规则进行匹配并基于所获取的所述用户代理概要配置文件,而推测出所述用户终端设备的终端设备信息。
17.根据权利要求13所述的方法,其中:
在所述应用提供者通信步骤中,从应用提供者(130)接收应用描述概要配置文件作为应用响应信息;
所述抽象用户界面元素生成步骤包括:
应用分析步骤,用于对接收到的所述应用描述概要文件进行分析,以得到所述应用的输入/输出参数信息;
抽象用户界面表达选择·映射步骤,用于根据存储在抽象用户界面表达匹配·映射规则存储单元(225)中的抽象用户界面表达匹配·映射规则,为所述应用的每一个输入/输出参数信息从抽象用户界面元素类定义存储单元(226)中选择一个抽象用户界面元素类,并将所述每一个输入/输出参数信息映射成一个抽象用户界面元素;
抽象用户界面概要配置文件存储步骤,用于将所生成的所述抽象用户界面元素存储为抽象用户界面概要配置文件。
18.根据权利要求17所述的方法,其中所述输入/输出参数的值为用户利用所述用户终端设备输入的值。
19.根据权利要求13所述的方法,其中所述具体用户界面生成步骤进一步包括:
具体用户界面表达匹配·映射步骤,用于根据存储在具体用户界面表达匹配·映射规则存储单元(242)中的具体用户界面表达匹配·映射规则,将所述应用的每一个抽象用户界面元素映射成一个具体用户界面元素;和
具体用户界面页面生成步骤,基于所生成的所述具体用户界面元素和所述用户终端设备信息生成具体用户界面页面。
20.根据权利要求19所述的方法,其中,所述具体用户界面页面生成步骤包括:
有效显示区域计算步骤,用于根据所述用户终端设备信息计算所述用户终端设备的有效显示区域的实际尺寸;
具体用户界面元素显示区域计算步骤,用于根据所述用户终端设备信息计算出所生成的每个具体用户界面元素的实际显示尺寸;
组合步骤,用于分析上述计算出的有效显示区域实际尺寸和各具体用户界面元素的实际显示尺寸,得到各具体用户界面元素的合适组合;和
分页步骤,根据所得到的所述合适组合而对所述应用的具体用户界面进行分页。
21.根据权利要求20所述的方法,其中,所述组合步骤包括:
组合信息存储步骤,用来保存所生成的具体用户界面元素的组合信息;
完全组合生成步骤,用于根据所述有效显示区域实际尺寸和每个具体用户界面元素的实际显示尺寸,对所生成的所有具体用户界面元素进行完全组合,将至少一个具体用户界面元素的实际显示尺寸之和与所述有效显示区域实际尺寸相匹配的组合作为组合信息,并将所述组合信息存储到所述组合信息存储单元中;
判断步骤,用于判断在所述具体用户界面元素的尺寸是否为可调整的尺寸;
剩余显示区域尺寸计算步骤,用于计算在所述用户终端设备上可用来显示具体用户界面元素的剩余显示区域尺寸;
目标调整尺寸计算步骤,用于基于所述判断步骤的判断结果、根据所述剩余显示区域尺寸和所选择的具体用户界面元素的实际显示尺寸,来计算出所述具体用户界面元素应被调整成的目标调整尺寸。
22.根据权利要求19所述的方法,其中所述具体用户界面生成步骤进一步包括:
在所述具体用户界面页面生成步骤中,还基于存储在用户偏好存储单元中的用户对所述具体用户界面的偏好信息生成具体用户界面页面。
23.根据权利要求22所述的方法,其中所述用户偏好信息是在所述用户终端设备连接到所述入口服务器上时被设置的信息。
24.根据权利要求22所述的方法,其中所述用户偏好信息是在所述用户终端设备连接到所述入口服务器前被预先定义的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100549993A CN100476820C (zh) | 2006-02-27 | 2006-02-27 | 在用户终端设备上生成用户界面的入口服务器和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100549993A CN100476820C (zh) | 2006-02-27 | 2006-02-27 | 在用户终端设备上生成用户界面的入口服务器和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101030204A true CN101030204A (zh) | 2007-09-05 |
CN100476820C CN100476820C (zh) | 2009-04-08 |
Family
ID=38715556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100549993A Expired - Fee Related CN100476820C (zh) | 2006-02-27 | 2006-02-27 | 在用户终端设备上生成用户界面的入口服务器和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100476820C (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566943A (zh) * | 2008-04-24 | 2009-10-28 | 深圳市同洲电子股份有限公司 | 一种控制终端软件功能的方法、终端和系统 |
CN101853152A (zh) * | 2009-03-31 | 2010-10-06 | 华为技术有限公司 | 一种生成用户图形界面的方法和系统 |
CN102467331A (zh) * | 2010-11-18 | 2012-05-23 | 中国移动通信有限公司 | 终端设备上应用软件界面的适配方法、装置及系统 |
CN102622233A (zh) * | 2012-03-07 | 2012-08-01 | 山东大学 | 自动生成适应于某交互终端设备用户界面的系统及方法 |
CN103999048A (zh) * | 2011-10-18 | 2014-08-20 | 谷歌股份有限公司 | 基于用户识别的动态配置文件切换 |
CN104572033A (zh) * | 2013-10-10 | 2015-04-29 | 北大方正集团有限公司 | 系统生成方法及装置 |
CN104584514A (zh) * | 2012-08-08 | 2015-04-29 | 萨热姆通信宽带简易股份有限公司 | 用于在通信网络中提供服务的设备和方法 |
CN105093949A (zh) * | 2015-07-13 | 2015-11-25 | 小米科技有限责任公司 | 一种控制设备的方法及装置 |
CN105335431A (zh) * | 2014-08-11 | 2016-02-17 | 青岛海尔智能家电科技有限公司 | 界面文件的处理方法及装置、控制消息的处理方法及装置 |
CN106896946A (zh) * | 2010-12-03 | 2017-06-27 | 雷蛇(亚太)私人有限公司 | 配置文件管理方法 |
WO2017215551A1 (zh) * | 2016-06-12 | 2017-12-21 | 中兴通讯股份有限公司 | 视频呼叫业务按键管理方法及业务平台、终端 |
CN107666492A (zh) * | 2016-07-25 | 2018-02-06 | 中兴通讯股份有限公司 | 一种控制方法、服务传感器、服务装置及终端 |
CN107766928A (zh) * | 2017-10-25 | 2018-03-06 | 福建富士通信息软件有限公司 | 一种基于人工神经网络模型和ua信息的终端识别方法 |
CN109358936A (zh) * | 2018-09-29 | 2019-02-19 | Oppo广东移动通信有限公司 | 信息处理方法、装置、存储介质、电子设备及系统 |
CN109408238A (zh) * | 2018-10-31 | 2019-03-01 | 西安万像电子科技有限公司 | 信息处理方法及装置 |
CN109962920A (zh) * | 2019-03-29 | 2019-07-02 | 北京奇艺世纪科技有限公司 | 一种分页数目的确定方法、装置及系统 |
CN110569187A (zh) * | 2019-08-14 | 2019-12-13 | 厦门亿联网络技术股份有限公司 | 一种多平台系统应用的自动化测试方法、装置及设备 |
CN111367504A (zh) * | 2018-12-26 | 2020-07-03 | 商派软件有限公司 | 一种全场景适用的数据选择器及数据选择方法 |
CN113849103A (zh) * | 2021-10-13 | 2021-12-28 | 京东科技信息技术有限公司 | 物模型映射方法和装置 |
WO2022042162A1 (zh) * | 2020-08-25 | 2022-03-03 | 华为技术有限公司 | 用户接口界面实现方法及装置 |
US11314344B2 (en) | 2010-12-03 | 2022-04-26 | Razer (Asia-Pacific) Pte. Ltd. | Haptic ecosystem |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6556217B1 (en) * | 2000-06-01 | 2003-04-29 | Nokia Corporation | System and method for content adaptation and pagination based on terminal capabilities |
KR100547888B1 (ko) * | 2002-03-30 | 2006-02-01 | 삼성전자주식회사 | 이동통신 단말기에서 사용자 인터페이스 구성 및 표시장치 및 방법 |
-
2006
- 2006-02-27 CN CNB2006100549993A patent/CN100476820C/zh not_active Expired - Fee Related
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566943A (zh) * | 2008-04-24 | 2009-10-28 | 深圳市同洲电子股份有限公司 | 一种控制终端软件功能的方法、终端和系统 |
CN101853152A (zh) * | 2009-03-31 | 2010-10-06 | 华为技术有限公司 | 一种生成用户图形界面的方法和系统 |
CN101853152B (zh) * | 2009-03-31 | 2014-05-07 | 华为技术有限公司 | 一种生成用户图形界面的方法和系统 |
CN102467331A (zh) * | 2010-11-18 | 2012-05-23 | 中国移动通信有限公司 | 终端设备上应用软件界面的适配方法、装置及系统 |
CN106896946B (zh) * | 2010-12-03 | 2020-06-16 | 雷蛇(亚太)私人有限公司 | 配置文件管理方法 |
US11314344B2 (en) | 2010-12-03 | 2022-04-26 | Razer (Asia-Pacific) Pte. Ltd. | Haptic ecosystem |
CN106896946A (zh) * | 2010-12-03 | 2017-06-27 | 雷蛇(亚太)私人有限公司 | 配置文件管理方法 |
US9690601B2 (en) * | 2011-10-18 | 2017-06-27 | Google Inc. | Dynamic profile switching based on user identification |
US20150355915A1 (en) * | 2011-10-18 | 2015-12-10 | Google Inc. | Dynamic Profile Switching Based on User Identification |
CN103999048B (zh) * | 2011-10-18 | 2017-03-01 | 谷歌公司 | 基于用户识别的动态配置文件切换 |
CN103999048A (zh) * | 2011-10-18 | 2014-08-20 | 谷歌股份有限公司 | 基于用户识别的动态配置文件切换 |
CN102622233A (zh) * | 2012-03-07 | 2012-08-01 | 山东大学 | 自动生成适应于某交互终端设备用户界面的系统及方法 |
CN104584514A (zh) * | 2012-08-08 | 2015-04-29 | 萨热姆通信宽带简易股份有限公司 | 用于在通信网络中提供服务的设备和方法 |
CN104584514B (zh) * | 2012-08-08 | 2020-08-28 | 萨热姆通信宽带简易股份有限公司 | 用于在通信网络中提供服务的设备和方法 |
CN104572033A (zh) * | 2013-10-10 | 2015-04-29 | 北大方正集团有限公司 | 系统生成方法及装置 |
CN104572033B (zh) * | 2013-10-10 | 2018-01-26 | 北大方正集团有限公司 | 系统生成方法及装置 |
CN105335431A (zh) * | 2014-08-11 | 2016-02-17 | 青岛海尔智能家电科技有限公司 | 界面文件的处理方法及装置、控制消息的处理方法及装置 |
CN105093949A (zh) * | 2015-07-13 | 2015-11-25 | 小米科技有限责任公司 | 一种控制设备的方法及装置 |
WO2017215551A1 (zh) * | 2016-06-12 | 2017-12-21 | 中兴通讯股份有限公司 | 视频呼叫业务按键管理方法及业务平台、终端 |
CN107666492A (zh) * | 2016-07-25 | 2018-02-06 | 中兴通讯股份有限公司 | 一种控制方法、服务传感器、服务装置及终端 |
CN107766928A (zh) * | 2017-10-25 | 2018-03-06 | 福建富士通信息软件有限公司 | 一种基于人工神经网络模型和ua信息的终端识别方法 |
CN109358936A (zh) * | 2018-09-29 | 2019-02-19 | Oppo广东移动通信有限公司 | 信息处理方法、装置、存储介质、电子设备及系统 |
CN109408238A (zh) * | 2018-10-31 | 2019-03-01 | 西安万像电子科技有限公司 | 信息处理方法及装置 |
CN111367504A (zh) * | 2018-12-26 | 2020-07-03 | 商派软件有限公司 | 一种全场景适用的数据选择器及数据选择方法 |
CN111367504B (zh) * | 2018-12-26 | 2021-01-26 | 商派软件有限公司 | 一种全场景适用的数据选择器及数据选择方法 |
CN109962920A (zh) * | 2019-03-29 | 2019-07-02 | 北京奇艺世纪科技有限公司 | 一种分页数目的确定方法、装置及系统 |
CN110569187A (zh) * | 2019-08-14 | 2019-12-13 | 厦门亿联网络技术股份有限公司 | 一种多平台系统应用的自动化测试方法、装置及设备 |
CN110569187B (zh) * | 2019-08-14 | 2022-08-09 | 厦门亿联网络技术股份有限公司 | 一种多平台系统应用的自动化测试方法、装置及设备 |
WO2022042162A1 (zh) * | 2020-08-25 | 2022-03-03 | 华为技术有限公司 | 用户接口界面实现方法及装置 |
CN113849103A (zh) * | 2021-10-13 | 2021-12-28 | 京东科技信息技术有限公司 | 物模型映射方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100476820C (zh) | 2009-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101030204A (zh) | 在用户终端设备上生成用户界面的入口服务器和方法 | |
CN1235389C (zh) | 图像信息分布方法及系统、中央和终端设备及扫描仪 | |
CN1231854C (zh) | 多媒体信息系统 | |
CN1260668C (zh) | 可用户化的信息处理装置及方法 | |
CN100345138C (zh) | 实时Web共享系统 | |
CN1282934C (zh) | 信息处理方法、内容分配装置及方法 | |
CN100338573C (zh) | 设计用户界面样式的方法以及具有自适应用户界面的设备 | |
CN1176432C (zh) | 提供本国语言查询服务的方法和系统 | |
CN1742480A (zh) | 信息处理装置、信息处理方法和计算机程序 | |
CN1892639A (zh) | 主题变换系统、便携通信设备、服务器装置和计算机程序 | |
CN1484171A (zh) | 操作屏幕显示装置、方法及包含显示操作屏幕的程序的记录媒体 | |
CN1932756A (zh) | 动态生成用于合成数据的语音可导航菜单的方法和系统 | |
CN1799051A (zh) | 使用页面存储文件浏览内容的方法 | |
CN1277230C (zh) | 用于小型脚印尺寸装置的智能书签 | |
CN1757020A (zh) | 信息处理装置、信息处理方法以及计算机程序 | |
CN1319206A (zh) | 记录图像文件的计算机可读记录媒体、生成记录媒体的装置、记录图像文件生成程序的媒体,发送图像文件的装置处理图像文件的装置及记录图象文件处理程序的媒体 | |
CN1901490A (zh) | 用于提供Web服务的方法、装置以及程序产品 | |
CN1487711A (zh) | 网络系统、反向代理、计算机设备、数据处理方法以及程序产品 | |
CN1677277A (zh) | 服务提供方法、服务提供商设备、信息处理方法和设备 | |
CN1313561A (zh) | 信息结构化及应用产生的方法及其装置 | |
CN1533149A (zh) | 图像处理系统 | |
CN1519753A (zh) | 程序、字符输入编辑方法、装置及记录媒体 | |
CN1578348A (zh) | 信息处理装置、信息处理方法及软件产品 | |
CN1666192A (zh) | 检索处理系统、其检索服务器、客户端、检索处理方法、程序及记录介质 | |
CN100351831C (zh) | 一种用于提供实时标记分析的聊天服务的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090408 Termination date: 20120227 |