背景技术
随着计算机硬件的迅猛发展,各种用户终端设备不断出现,如平板电脑、一体机、智能手机等。
为了降低用户终端的运行负荷,并扩展用户终端可使用的应用内容,用户终端可接受服务器端发布的应用,即,将应用彻底从客户端的用户终端设备中移走,集中在服务器端运行。简单的说,这意味着没有应用程序或数据需要加载或存放到用户终端中,这些应用能够对用户完全透明地,在一个集中的服务器或集中的地点运行,也就是说,用户感觉不到应用在远端运行,用户体验就像各应用在本地运行一样。
上述发布应用的具体过程如下:
步骤A:用户在客户端输入用户名、密码等信息并提交给服务器端;
步骤B:服务器端将登录请求转发给用户认证系统;
步骤C:如果是合法用户,服务器端为该用户建立用户会话,并将该用户有权访问的应用信息返回给用户;
步骤D:用户选择要访问的应用程序,与服务器端协商启动应用时的选项及参数;
步骤E:服务器端在为该用户开辟的隔离的会话空间中启动“物理”的应用程序;
步骤F:应用启动后,服务器端将其用户界面的图像信息压缩或者转换成绘图指令后发往客户端;
步骤G:客户端将用户界面信息用客户端所使用的操作系统所能理解的绘图指令在用户终端上绘制出用户界面;
步骤H:用户通过鼠标、键盘操作运行在远端的应用;
步骤I:客户端将鼠标事件及坐标信息和键盘扫描码发送给服务器端;
步骤J:服务器端接收到客户端发过来的鼠标、键盘信息,并将该信息转换为服务器端所在服务器操作系统能理解的信息;
步骤K:服务器端将鼠标、键盘事件及坐标信息等发送到用户隔离的会话空间中的“物理”的应用程序;
步骤L:“物理”的应用程序处理发过来的鼠标、键盘事件,做出相应的反应,例如鼠标点击到按钮上,按钮产生下陷的动画效果等;
步骤M:服务器端检测用户界面的变化情况,将变化后的用户界面或者只是将区域性的变化的部分用户界面经过步骤F所描述的处理方式处理后再发送到客户端,并重复步骤F至步骤M的过程;
步骤N:如果用户关闭应用程序,服务器端则关闭在隔离用户环境中的“物理”的应用程序,注销该用户的登录,并通知客户端关闭程序。
上述步骤F中,服务器端将提供用户界面的图像信息。但是,用户终端设备的屏幕分辨率千差万别,仅智能手机的屏幕分辨率就有VGA、QVGA、XGA等。平板电脑的屏幕分辨率大小也是各异。因此,可能出现服务器端所提供的用户界面的图像信息与用户终端的屏幕分辨率不匹配的情况,由于分辨率的不匹配导致用户界面没有恰好填充用户终端的显示画面,而是太小(例如只占显示画面的1/4)导致画面效果不清楚,或太大导致用户不能从用户终端的显示画面中看到用户界面的全貌而仅仅是其中一部分(例如只能看到用户界面的1/4),还需要调整用户界面的位置,移动滑动条,才能看到其余部分。
因此,对于分辨率大小各异的用户终端,如何让用户终端方便的使用服务器发布的应用,成为当前需要解决的重要问题。
具体实施方式
本发明用于根据各不相同的用户终端设备的终端分辨率,自动匹配相应的应用配置信息,使得服务器端所发布的应用的用户界面在用户终端上的显示更加友好、便于用户的观看,从而改善用户体验。
服务器端针对所发布的应用,预先设置有应用配置信息,该应用配置信息具有用户界面的显示信息。服务器端可以针对不同的用户终端,为同一应用预先设置有一个或多个应用配置信息。不同的应用配置信息可以对应目前常用的多种用户终端各自的终端分辨率数据,使得一个应用配置信息对应一个终端分辨率数据,使服务器端所发布的应用的用户界面在用户终端上的显示更加友好。
请参阅图1所示为本发明的一种自适应终端分辨率的方法的流程图。
步骤1,提取用户终端的终端分辨率数据;
步骤2,依据该终端分辨率数据,在该服务器端发布的应用的至少一种应用配置信息中进行筛选;
步骤3,仅将与该终端分辨率数据相匹配的应用配置信息发送到该用户终端;
步骤4,该用户终端依据接收到的该应用配置信息使用该服务器端发布的应用。
以下结合附图详细说明上述方案的实现过程。
第一实施例
请参阅图2所示为本发明的一种自适应终端分辨率的系统的结构示意图。以下对本发明技术方案所涉及的具体模块进行描述,其余现有技术中的公知部分未作赘述。
自适应终端分辨率系统100包括用户终端10、网络服务器30和服务器端20。用户终端10具有一终端附加模块11,该终端附加模块11为一程序模块,用于针对该用户终端10的显示模块,提取其终端分辨率数据。该用户终端10通过网络服务器30与该服务器端20建立连接。该网络服务器30例如为一WEB服务器。该服务器端20用于发布应用,并发布关于应用的至少一种应用配置信息。该网络服务器30具有一筛选模块31,该筛选模块31用于依据该终端分辨率数据,在该服务器端发布的应用的至少一种应用配置信息中进行筛选,仅将与该终端分辨率数据相匹配的应用配置信息发送到该用户终端10。
其中,该用户终端包括移动终端或非移动终端,该移动终端包括智能手机、个人数字助理、平板电脑、具有无线通信模块的计算机、车载移动通信设备,非移动终端例如为PC机。各种用户终端均属于本发明的公开范围。
请参阅图3A、3B、3C所示为本发明的一种自适应终端分辨率的方法的详细流程图,是对图1所示流程的细化。
步骤301,提取用户终端10的终端分辨率数据,将该终端分辨率数据发送至该网络服务器30。
步骤301可在用户终端10建立与服务器端20的连接的过程中,通过如下方式实现:
步骤3011,通过在浏览器中输入网址或IP地址的方式,用户终端10发送请求到WEB服务器。
步骤3012,WEB服务器响应该请求,在用户终端10的浏览器中显示服务器登录界面。
步骤3013,用户在用户终端10中输入用户名和密码等信息,组成请求建立连接数据包。
步骤3014,终端附加模块11提取用户终端10的终端分辨率数据。
该终端分辨率数据至少包括用户终端的显示模块的屏幕分辨率大小。
步骤3015,将终端分辨率数据附加到该请求建立连接数据包中,向WEB服务器发送。
步骤3016,WEB服务器的筛选模块31监控到用户终端10的连接,截取请求建立连接数据包中的终端分辨率数据并保存。
该筛选模块31可通过IIS的ISAPI接口或者Apache的mod_rewrite接口来实现,该筛选模块31解析该请求建立连接数据包,从中提取该终端分辨率数据并保存。
步骤3017,请求建立连接数据包继续被发送至该服务器端20。
该服务器端20的XML服务模块21调用域服务器来判断请求建立连接数据包中的用户名、密码是否正确,如果正确,执行步骤302,如果不正确,发送警示信息至该用户终端。
另外,该步骤301也可在用户终端10与服务器端20的连接建立后执行。
步骤302,该服务器端将所发布的应用的至少一种应用配置信息发送至该网络服务器;
该服务器端20还发送一应用列表至该用户终端10。
步骤303,该网络服务器的该筛选模块31依据保存的该终端分辨率数据,在该服务器端发布的应用的至少一种应用配置信息中进行筛选,从中寻找与该终端分辨率数据相匹配的应用配置信息,其他的应用配置信息过滤掉。
另外,如果该筛选模块31没有找到与该终端分辨率数据相匹配的应用配置信息,发送一预先存储的默认应用配置信息至该用户终端10,执行步骤304。
步骤304,该网络服务器的该筛选模块31将筛选出的应用配置信息发送至该用户终端。
步骤305,用户终端选定需要运行的应用。
该步骤305进一步包括:
步骤3051,用户终端10从应用列表中选择服务器端20发布的一个应用,将该选择信息发送到WEB服务器。
步骤3052,WEB服务器将选择信息发送到服务器端的XML服务模块21。
步骤3053,XML服务模块21将选择信息发送到服务器端的应用服务器,应用服务器创建一隔离区域以运行该选择信息对应的应用并获取具体的发布应用的详细信息。
其中,XML服务模块21根据选择信息,从应用服务器的MetaFrame Server中找到该应用的相关配置,应用服务器据以创建该隔离区域。
步骤3054,应用服务器将该发布应用的详细信息传递到XML服务模块21。
步骤3055,XML服务模块21将发布应用的详细信息传递到WEB服务器。
步骤3056,WEB服务器将发布应用的详细信息传递到用户终端10。
步骤3057,用户终端10根据发布应用的详细信息直接和对应的发布应用连接。
步骤306,该用户终端依据接收到的该应用配置信息使用该服务器端发布的应用。
自此,该用户终端利用ICA通道操作该应用。ICA通道是Citrix中对于服务器和客户端之间的一种私有通信协议,类似于HTTP协议,是基于TCP协议上的一种应用协议。用户终端与服务器端均设置有ICA虚拟通道接口模块,以建立起用户终端与服务器端间的ICA通道。
第二实施例
请参阅图4所示为本发明的一种自适应终端分辨率的系统的结构示意图。以下对本发明技术方案所涉及的具体模块进行描述,其余现有技术中的公知部分未作赘述。
自适应终端分辨率系统100包括用户终端10、网络服务器30和服务器端20。用户终端10具有一终端附加模块11,该终端附加模块11用于提取该用户终端10的显示模块的终端分辨率数据。该终端附加模块11例如可以通过修改网络协议的方式,直接提取终端分辨率数据。该用户终端10通过网络服务器30与该服务器端20建立连接。该网络服务器30例如为一WEB服务器。该服务器端20用于发布应用,并发布关于应用的至少一种应用配置信息。用户终端10经由该服务器端发送该终端分辨率数据至该服务器端20。该服务器端20根据该终端分辨率数据,从所发布的应用的至少一种应用配置信息中,筛选出与该终端分辨率数据匹配的应用配置信息,经由网络服务器20发送到用户终端10。
其中,该用户终端包括移动终端或非移动终端,该移动终端包括智能手机、个人数字助理、平板电脑、具有无线通信模块的计算机、车载移动通信设备,非移动终端例如为PC机。各种用户终端均属于本发明的公开范围。
请参阅图5A、5B、5C所示为本发明的一种自适应终端分辨率的方法的详细流程图,是对图1所示流程的细化。
步骤501,提取用户终端10的终端分辨率数据,将该终端分辨率数据发送至该网络服务器30。
步骤501可在用户终端与服务器端建立连接的过程,通过如下方式实现:
步骤5011,通过在浏览器中输入网址或IP地址的方式,用户终端10发送请求到WEB服务器。
步骤5012,WEB服务器响应该请求,在用户终端10的浏览器中显示服务器登录界面。
步骤5013,用户在用户终端10中输入用户名和密码等信息,组成请求建立连接数据包。
步骤5014,终端附加模块11提取用户终端10的终端分辨率数据。
该终端分辨率数据至少包括用户终端的显示模块的屏幕分辨率大小。
步骤5015,将终端分辨率数据附加到该请求建立连接数据包中,向WEB服务器发送。
步骤502,网络服务器30将该终端分辨率数据发送至该服务器端20。
步骤502可通过如下方式实现:
步骤5021,WEB服务器将包括终端分辨率数据的该请求建立连接数据包发送至该服务器端。
步骤5022,该服务器端通过其具有的XML服务模块21,解析出其中的终端分辨率数据、用户名和密码。
步骤5023,XML服务模块21调用域服务器来判断请求建立连接数据包中的用户名、密码是否正确,如果正确,执行步骤503,如果不正确,发送警示信息至该用户终端。
步骤503,该服务器端20的XML服务模块21根据该终端分辨率数据,从该服务器端所发布的应用的至少一种应用配置信息中,筛选与该终端分辨率数据匹配的应用配置信息并发送到该网络服务器。
另外,如果XML服务模块21没有找到与该终端分辨率数据相匹配的应用配置信息,发送一预先存储的默认应用配置信息至该网络服务器,执行步骤504。同时,该服务器端还可通过其所具有的除XML服务模块21外的其他处理模块,实现该解析功能以及后续的筛选功能。
步骤504,该网络服务器30将接收到的该应用配置信息发送到该用户终端。
步骤505,该用户终端选定需要运行的应用。
步骤505的具体实现过程与步骤305相同,可参见图3C。
步骤506,该用户终端依据接收到的该应用配置信息使用该服务器端发布的应用。
自此,该用户终端利用ICA通道操作该应用。ICA通道是Citrix中对于服务器和客户端之间的一种私有通信协议,类似于HTTP协议,是基于TCP协议上的一种应用协议。
通过自动利用该应用配置信息运行该应用,可以自动实现使得应用的用户界面更加适于用户终端的显示条件的目标,即,使用户界面的图像信息与用户终端的屏幕分辨率相匹配,从而减少用户操作滚动条调整用户界面的操作,也无需用户手动调整用户界面的显示参数,改善用户体验。
上述描述用于解释本发明的实现过程,本领域的技术人员可以据以做各种均等变型,上述描述不作为对本发明的限制。