• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 24
    • 下载费用:30 金币  

    重庆时时彩买组六技巧: 桌面应用迁移系统和方法.pdf

    关 键 词:
    桌面 应用 迁移 系统 方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201010130159.7

    申请日:

    2010.03.17

    公开号:

    CN102193953A

    公开日:

    2011.09.21

    当前法律状态:

    终止

    有效性:

    无权

    法律详情: 未缴年费专利权终止 IPC(主分类):G06F 17/30申请日:20100317授权公告日:20170412终止日期:20180317|||授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20100317|||公开
    IPC分类号: G06F17/30; G06F9/44 主分类号: G06F17/30
    申请人: 日电(中国)有限公司
    发明人: 孟昕; 宋才良; 史敬威; 王炼; 刘慧峰; 刘晓炜
    地址: 100007 北京市东城区东四十条甲22号南新仓国际大厦B栋12层1222室
    优先权:
    专利代理机构: 中科专利商标代理有限责任公司 11021 代理人: 赵伟
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201010130159.7

    授权公告号:

    |||||||||

    法律状态公告日:

    2019.03.08|||2017.04.12|||2012.05.30|||2011.09.21

    法律状态类型:

    专利权的终止|||授权|||实质审查的生效|||公开

    摘要

    本发明提出了一种基于模板的桌面应用迁移系统和方法,分为开发阶段和实际运行阶段。在开发阶段,通过遍历桌面应用的所有窗口,抽取每个窗口中的界面描述数据;利用每个窗口的界面描述数据,半自动地生成初始模板;在初始模板的基础上,进一步(手动和/或按规则)指定哪些部分是“数据类型界面元素”,从而形成最终模板。在实际运行阶段,实时获取桌面应用的界面描述数据,并从中抽取出“数据类型界面元素”的值和属性信息,填充模板,从而形成最后的待呈现网页。本发明通过半自动地生成模板,极大提高了创建新网络应用的效率,节约了开发成本。

    权利要求书

    1.一种服务器,包括:窗口遍历单元,用于遍历桌面应用的所有窗口、菜单项和/或对话框;界面信息抽取单元,用于针对桌面应用的每个窗口,抽取界面信息,组织成界面描述数据;以及模板生成单元,用于根据界面描述数据,生成初始模板,指定初始模板中的数据类型元素,为数据类型元素加入处理脚本,生成最终模板,存入模板库。2.根据权利要求1所述的服务器,还包括:界面跳转关系抽取单元,用于根据所述窗口遍历单元的遍历过程,自动记录桌面应用的各个窗口间的跳转关系,存入界面关系库。3.根据权利要求1或2所述的服务器,其特征在于所述模板生成单元包括:界面生成单元,用于根据界面描述数据生成所需的静态页面;响应函数生成单元,用于为每个界面元素/控件加入相应的响应函数,其中当所述界面元素/控件被操作时,所述响应函数将被触发执行,以发送动作描述数据给服务器;以及数据类型元素定义单元,用于指定初始模板中的数据类型元素,为数据类型元素加入处理脚本,生成最终模板,存入模板库。4.根据权利要求1~3之一所述的服务器,其特征在于所述模板生成单元根据配置文件,自动指定初始模板中的数据类型元素,所述配置文件规定了哪种类型的控件的什么属性是数据类型元素。5.一种用于桌面应用迁移的模板生成方法,包括:遍历桌面应用的所有窗口、菜单项和/或对话框;针对桌面应用的每个窗口,抽取界面信息,组织成界面描述数据;根据界面描述数据,生成初始模板;以及指定初始模板中的数据类型元素,为数据类型元素加入处理脚本,生成最终模板,存入模板库。6.根据权利要求5所述的用于桌面应用迁移的模板生成方法,还包括:记录桌面应用的各个窗口间的跳转关系,存入界面关系库。7.根据权利要求5或6所述的用于桌面应用迁移的模板生成方法,其特征在于初始模板生成步骤包括以下子步骤:根据界面描述数据生成所需的静态页面;以及为每个界面元素/控件加入相应的响应函数,其中当所述界面元素/控件被操作时,所述响应函数将被触发执行,以发送动作描述数据给服务器。8.根据权利要求5~7之一所述的用于桌面应用迁移的模板生成方法,其特征在于根据配置文件,自动指定初始模板中的数据类型元素,所述配置文件规定了哪种类型的控件的什么属性是数据类型元素。9.一种服务器,包括:请求解析单元,用于解析来自浏览器的、针对桌面应用的请求,得到动作描述数据;动作重现单元,用于根据动作描述数据,再现针对桌面应用的操作;界面信息抽取单元,用于针对桌面应用的当前窗口,抽取界面信息,组织成界面描述数据;以及发送单元,用于将界面描述数据发送至浏览器。10.根据权利要求9所述的服务器,其特征在于所述服务器还包括:新窗口判断单元,用于根据界面描述数据,确定有新窗口弹出;以及模板存取单元,用于在模板库中,查找与所述新窗口对应的模板,其中所述发送单元还用于将找到的模板发送至浏览器。11.根据权利要求10所述的服务器,其特征在于所述服务器还包括:模板生成单元,用于在未找到所需的模板时,根据界面描述数据,生成初始模板,指定初始模板中的数据类型元素,为数据类型元素加入处理脚本,生成最终模板,存入模板库。12.根据权利要求9所述的服务器,其特征在于所述服务器还包括:新窗口判断单元,用于根据动作描述数据,查询界面关系库,确定有新窗口弹出;以及模板存取单元,用于在模板库中,查找与所述新窗口对应的模板,其中所述发送单元还用于将找到的模板发送至浏览器。13.根据权利要求12所述的服务器,其特征在于所述服务器还包括:模板生成单元,用于在未找到所需的模板时,根据界面描述数据,生成初始模板,指定初始模板中的数据类型元素,为数据类型元素加入处理脚本,生成最终模板,存入模板库;以及界面跳转关系抽取单元,用于记录与所述最终模板相关的窗口间的跳转关系,存入界面关系库。14.一种基于模板的桌面应用迁移方法,包括:在服务器侧,解析来自浏览器的、针对桌面应用的请求,得到动作描述数据;根据动作描述数据,再现针对桌面应用的操作;针对桌面应用的当前窗口,抽取界面信息,组织成界面描述数据;以及将界面描述数据发送至浏览器;以及在浏览器侧,解析界面描述数据,抽取出相应的界面信息;以及以所述界面信息填充模板中的数据类型元素。15.根据权利要求14所述的基于模板的桌面应用迁移方法,还包括:在服务器侧,根据界面描述数据,确定有新窗口弹出;在模板库中,查找与所述新窗口对应的模板;以及将找到的模板发送至浏览器;以及在浏览器侧,以所述界面信息填充所接收到的模板中的数据类型元素。16.根据权利要求15所述的基于模板的桌面应用迁移方法,还包括:在服务器侧,在未找到所需的模板时,根据界面描述数据,生成初始模板;指定初始模板中的数据类型元素,为数据类型元素加入处理脚本,生成最终模板,存入模板库;以及将所述最终模板发送至浏览器。17.根据权利要求14所述的基于模板的桌面应用迁移方法,还包括:在服务器侧,根据动作描述数据,查询界面关系库,确定有新窗口弹出;在模板库中,查找与所述新窗口对应的模板;以及将找到的模板发送至浏览器;以及在浏览器侧,以所述界面信息填充所接收到的模板中的数据类型元素。18.根据权利要求17所述的基于模板的桌面应用迁移方法,还包括:在服务器侧,在未找到所需的模板时,根据界面描述数据,生成初始模板;指定初始模板中的数据类型元素,为数据类型元素加入处理脚本,生成最终模板,存入模板库;记录与所述最终模板相关的窗口间的跳转关系,存入界面关系库;以及将所述最终模板发送至浏览器。19.根据权利要求14~18之一所述的基于模板的桌面应用迁移方法,其特征在于所述数据类型元素填充步骤包括以下子步骤:定位界面信息中数据类型元素的位置;定位模板中对应数据类型元素的位置;以及用界面信息中数据类型元素的值代替模板中对应数据类型元素的值。20.根据权利要求14~18之一所述的基于模板的桌面应用迁移方法,其特征在于所述数据类型元素填充步骤包括以下子步骤:定位模板中数据类型元素的位置;定位界面信息中对应数据类型元素的位置;以及用界面信息中对应数据类型元素的值代替模板中数据类型元素的值。

    说明书

    桌面应用迁移系统和方法

    技术领域

    本发明涉及计算机应用迁移领域,更具体地涉及一种基于模板的桌面应用迁移系统和方法。

    背景技术

    随着云计算和互联网的发展,人们越来越希望随时随地享受服务。但是,现存的大量桌面应用(单机版应用或者客户端-服务器版应用)都要求用户必须先安装客户端才可以执行相应的操作,而并非随时随地提供服务。如果将已有的系统废弃掉,重新开发一套功能完全一致的浏览器-服务器版本的系统,开发代价过于高昂,而且造成了原有系统的浪费。所以,需要一套高效的桌面应用迁移方案。

    这里,“桌面应用迁移”的意思是:为了开发一套网络应用,利用现有的桌面应用及其资源,通过迁移手段,以很少的开发量完成该网络应用,这个网络应用的界面和功能与现有的桌面应用大致相同。

    “迁移手段”的意思是:运行现有的桌面应用,并将其界面以网页的形式(或其他网络客户端可以呈现的方式)重绘出来呈现给用户;当用户在网页上执行操作后,将该操作在桌面应用上重现,以完成相应的功能;然后,再将更新的界面重绘成网页,并呈现给用户。这样,开发人员就不用关心桌面应用的数据存取、逻辑流程、算法实现等功能实现的具体细节,能够在短时间内开发出网络应用。这种技术方案能充分利用已有资源、节约开发成本、提高开发效率。

    目前,主要有两种方法可以将桌面应用迁移为网络应用:

    一种方法是,在运行时,根据桌面应用实时的GUI(图形用户界面)界面信息(例如,界面的截图,每个界面元素/控件的必要属性信息等)生成对应的网页。这样做的缺点是实时生成所有网页元素将耗费大量的时间。

    另一种方法是,在线下(即事先)做好网页的模板,然后,在运行时,根据已有的模板,快速生成网页。与前一方法相比,这是一种更好的解决方案。

    在中国发明专利公开号CN?1555534A中,公开了一种用于在网络中传送动态信息的方法和系统,其中在接收到请求后,网络服务器搜索相应的模板和动态数据,然后把它们发送到浏览器端。浏览器将呈现动态信息。

    具体地,图1示出了CN?1555534A所公开的系统的方框示意图。如图1所示,各个??榈墓δ苋缦拢?/p>

    请求解析单元110:位于服务器100一侧,解析来自浏览器200的HTTP请求(URL),以得到浏览器200在请求哪个动态网页;

    数据搜索单元120:位于服务器100一侧,根据请求解析单元110的解析结果,从数据库170中搜索相关数据,这些搜索到的数据将被用于产生网页中的动态部分;

    模板存取单元130:位于服务器100一侧,根据请求解析单元110的解析结果,从模板库160中取得被请求的特定模板;

    变量赋值单元140:位于服务器100一侧,用于为模板存取单元130所获得的特定模板中的变量进行赋值,即,用数据搜索单元120搜索到的具体数据赋值给模板存取单元130所获得的特定模板中的变量;

    发送单元150:位于服务器100一侧,用于发送赋值过的模板发送给浏览器200,作为浏览器200所发送的HTTP请求(URL)的响应;

    渲染单元210:位于浏览器200一侧,用于将动态网页渲染(显示)到浏览器200上。

    图2示出了CN?1555534A所公开的模板的具体实例。如图2所示,模板由视图部分和数据部分组成;视图部分是模板的主要部分,由程序员事先写好,其中可变化的部分用变量(图2中的虚线框圈出的“Table1.msg1”和“Table1.msg2”)表示;数据部分由变量赋值单元140负责填充。将从数据库170查询到的具体数据替换视图部分中存在的对应变量(图2中的虚线框圈出的“Table1.msg1”和“Table1.msg2”)。在图2中,浏览器200在实际运行时,将用具体的数据代替变量“Table1.msg1”和“Table1.msg2”:

    用msg1的值代替“Table1.msg1”;以及

    用msg2的值代替“Table1.msg2”。

    但是,CN?1555534A所公开的现有解决方案存在以下缺点:

    1.当不是开发一个全新的网络应用,而是在已有的桌面应用的基础上实现一个网络应用(这个网络应用的界面和功能与桌面应用全部相同或大部分相同,即本发明所定义的“桌面应用迁移”)时,所有的模板必须全部由程序员手工完成,开发效率很低,尤其是在页面较多的情况下;

    2.通常对于网络应用的开发人员来说,无法获得桌面应用的数据库,所以不能从中直接抽取数据信息,并利用这些信息填充模板。

    发明内容

    鉴于现有技术的上述缺点,本发明提出了一种基于模板的桌面应用迁移系统和方法,分为开发阶段和实际运行阶段。在开发阶段,通过遍历桌面应用的所有窗口,抽取每个窗口中的界面描述数据;利用每个窗口的界面描述数据,半自动地生成初始模板;在初始模板的基础上,进一步(手动和/或按规则)指定哪些部分是“数据类型界面元素”,从而形成最终模板。在实际运行阶段,实时获取桌面应用的界面描述数据,并从中抽取出“数据类型界面元素”的值和属性信息,填充模板,从而形成最后的待呈现网页。

    根据本发明的第一方案,提出了一种服务器,包括:窗口遍历单元,用于遍历桌面应用的所有窗口、菜单项和/或对话框;界面信息抽取单元,用于针对桌面应用的每个窗口,抽取界面信息,组织成界面描述数据;以及模板生成单元,用于根据界面描述数据,生成初始模板,指定初始模板中的数据类型元素,为数据类型元素加入处理脚本,生成最终模板,存入模板库。

    优选地,所述服务器还可以包括:界面跳转关系抽取单元,用于根据所述窗口遍历单元的遍历过程,自动记录桌面应用的各个窗口间的跳转关系,存入界面关系库。

    优选地,所述模板生成单元可以包括:界面生成单元,用于根据界面描述数据生成所需的静态页面;响应函数生成单元,用于为每个界面元素/控件加入相应的响应函数,其中当所述界面元素/控件被操作时,所述响应函数将被触发执行,以发送动作描述数据给服务器;以及数据类型元素定义单元,用于指定初始模板中的数据类型元素,为数据类型元素加入处理脚本,生成最终模板,存入模板库。

    优选地,所述模板生成单元可以根据配置文件,自动指定初始模板中的数据类型元素,所述配置文件规定了哪种类型的控件的什么属性是数据类型元素。

    根据本发明的第二方案,提出了一种用于桌面应用迁移的模板生成方法,包括:遍历桌面应用的所有窗口、菜单项和/或对话框;针对桌面应用的每个窗口,抽取界面信息,组织成界面描述数据;根据界面描述数据,生成初始模板;以及指定初始模板中的数据类型元素,为数据类型元素加入处理脚本,生成最终模板,存入模板库。

    优选地,所述用于桌面应用迁移的模板生成方法还可以包括:记录桌面应用的各个窗口间的跳转关系,存入界面关系库。

    优选地,初始模板生成步骤可以包括以下子步骤:根据界面描述数据生成所需的静态页面;以及为每个界面元素/控件加入相应的响应函数,其中当所述界面元素/控件被操作时,所述响应函数将被触发执行,以发送动作描述数据给服务器。

    优选地,可以根据配置文件,自动指定初始模板中的数据类型元素,所述配置文件规定了哪种类型的控件的什么属性是数据类型元素。

    根据本发明的第三方案,提出了一种服务器,包括:请求解析单元,用于解析来自浏览器的、针对桌面应用的请求,得到动作描述数据;动作重现单元,用于根据动作描述数据,再现针对桌面应用的操作;界面信息抽取单元,用于针对桌面应用的当前窗口,抽取界面信息,组织成界面描述数据;以及发送单元,用于将界面描述数据发送至浏览器。

    优选地,所述服务器还可以包括:新窗口判断单元,用于根据界面描述数据,确定有新窗口弹出;以及模板存取单元,用于在模板库中,查找与所述新窗口对应的模板,其中所述发送单元还可以用于将找到的模板发送至浏览器。更优选地,所述服务器还可以包括:模板生成单元,用于在未找到所需的模板时,根据界面描述数据,生成初始模板,指定初始模板中的数据类型元素,为数据类型元素加入处理脚本,生成最终模板,存入模板库。

    优选地,所述服务器还可以包括:新窗口判断单元,用于根据动作描述数据,查询界面关系库,确定有新窗口弹出;以及模板存取单元,用于在模板库中,查找与所述新窗口对应的模板,其中所述发送单元还可以用于将找到的模板发送至浏览器。更优选地,所述服务器还可以包括:模板生成单元,用于在未找到所需的模板时,根据界面描述数据,生成初始模板,指定初始模板中的数据类型元素,为数据类型元素加入处理脚本,生成最终模板,存入模板库;以及界面跳转关系抽取单元,用于记录与所述最终模板相关的窗口间的跳转关系,存入界面关系库。

    根据本发明的第四方案,提出了一种基于模板的桌面应用迁移方法,包括:在服务器侧,解析来自浏览器的、针对桌面应用的请求,得到动作描述数据;根据动作描述数据,再现针对桌面应用的操作;针对桌面应用的当前窗口,抽取界面信息,组织成界面描述数据;以及将界面描述数据发送至浏览器;以及在浏览器侧,解析界面描述数据,抽取出相应的界面信息;以及以所述界面信息填充模板中的数据类型元素。

    优选地,所述基于模板的桌面应用迁移方法还可以包括:在服务器侧,根据界面描述数据,确定有新窗口弹出;在模板库中,查找与所述新窗口对应的模板;以及将找到的模板发送至浏览器;以及在浏览器侧,以所述界面信息填充所接收到的模板中的数据类型元素。更优选地,所述基于模板的桌面应用迁移方法还可以包括:在服务器侧,在未找到所需的模板时,根据界面描述数据,生成初始模板;指定初始模板中的数据类型元素,为数据类型元素加入处理脚本,生成最终模板,存入模板库;以及将所述最终模板发送至浏览器。

    优选地,所述基于模板的桌面应用迁移方法还可以包括:在服务器侧,根据动作描述数据,查询界面关系库,确定有新窗口弹出;在模板库中,查找与所述新窗口对应的模板;以及将找到的模板发送至浏览器;以及在浏览器侧,以所述界面信息填充所接收到的模板中的数据类型元素。更优选地,所述基于模板的桌面应用迁移方法还可以包括:在服务器侧,在未找到所需的模板时,根据界面描述数据,生成初始模板;指定初始模板中的数据类型元素,为数据类型元素加入处理脚本,生成最终模板,存入模板库;记录与所述最终模板相关的窗口间的跳转关系,存入界面关系库;以及将所述最终模板发送至浏览器。

    优选地,所述数据类型元素填充步骤可以包括以下子步骤:定位界面信息中数据类型元素的位置;定位模板中对应数据类型元素的位置;以及用界面信息中数据类型元素的值代替模板中对应数据类型元素的值。

    或者,可选地,所述数据类型元素填充步骤可以包括以下子步骤:定位模板中数据类型元素的位置;定位界面信息中对应数据类型元素的位置;以及用界面信息中对应数据类型元素的值代替模板中数据类型元素的值。

    与最相近的现有技术相比,本发明的有益效果至少包括:

    本发明通过半自动地生成模板,极大提高了创建新网络应用的效率,节约了开发成本。

    附图说明

    结合附图,根据下面对本发明的非限制性实施例的详细描述,本发明的上述及其他目的、特征和优点将变得更加清楚,附图中:

    图1示出了CN?1555534A所公开的系统的方框示意图。

    图2示出了CN?1555534A所公开的模板的具体实例。

    图3示出了根据本发明第一实施例的服务器300在模板生成阶段的结构示意框图。

    图4示出了根据本发明第一实施例的服务器300和浏览器400在运行阶段的结构示意框图。

    图5示出了根据本发明第二实施例的服务器500在模板生成阶段的结构示意框图。

    图6示出了根据本发明第二实施例的服务器500和浏览器400在运行阶段的结构示意框图。

    图7示出了根据第一实施例的改进的服务器300和浏览器400在运行阶段的结构示意框图。

    图8示出了根据第二实施例的改进的服务器500和浏览器400在运行阶段的结构示意框图。

    图9示出了模板生成阶段的应用实例。

    图10示出了运行阶段的应用实例。

    附图中,用相同的附图标记表示相关的单元,以示出它们之间的相关性。

    具体实施方式

    下面,根据附图描述本发明。在以下描述中,一些具体实施例仅用于描述目的,而不应该理解为对本发明有任何限制,而只是本发明的示例。在可能导致对本发明的理解造成混淆时,将省略常规结构或构造。

    第一实施例

    根据本实施例,基于模板的桌面应用迁移方法可以包括模板生成阶段和运行阶段。下面,将结合图3和图4对本实施例进行详细描述。

    图3示出了根据本实施例的服务器300在模板生成阶段的结构示意框图。

    如图3所示,服务器300包括:安装在服务器300一侧的桌面应用600、窗口遍历单元510、界面信息抽取单元520、模板生成单元530和模板库360。

    在模板生成阶段,桌面应用600主要根据窗口遍历单元510的指示进行相应的操作,并返回相应的输出(窗口、响应信息等)。

    窗口遍历单元510用于遍历桌面应用600的所有窗口、菜单项、和/或对话窗。此遍历过程可以是人工完成,也可以是半自动完成。例如,窗口遍历单元510逐一操作主窗口中的每一个可操作控件,得到相应的子窗口,并重复此过程,直到遍历完此桌面应用600的所有窗口。

    界面信息抽取单元520将来自桌面应用600的每个窗口的界面信息抽取出来,并将其组织成界面描述数据。界面描述数据可以采用XML、HTML、WML等描述性语言的格式,本发明在这一点上并无具体限制。模板生成单元530用于生成模版并存入模板库360。模板库360用于存储半自动生成的模板。

    模板生成单元530又包括:界面(UI)生成单元5310、响应函数生成单元5320和数据类型元素定义单元5330。

    UI生成单元5310用于根据界面描述数据生成所需的静态页面,例如,可以是XML网页、HTML网页、WML网页等。当然,也可以是能在网络客户端呈现的任何表现形式,例如Flash文件等。

    响应函数生成单元5320为每个界面元素/控件加入相应的响应函数。如果某界面元素在浏览器端被操作,则它的响应函数将被触发执行,并发送动作描述数据给服务器300。动作描述数据包含动作的相关信息,例如:在哪个界面元素上执行了什么动作,执行该动作的必要参数等。

    数据类型元素定义单元5330用于定义模板中的数据部分。数据部分指动态部分,是在实际运行时根据桌面应用600的实际情况而生成的。数据类型元素定义单元5330可以根据“配置文件”中的信息,自动判断哪种类型的控件的什么属性是数据类型元素,例如,表1给出了配置文件的实例。

    表1

    ·文本

    例如,对于表1所示的文本元素配置文件,其属性“enabled”、“hasfocus”、“visible”、“text”、“caption”、“selectionlength”、“selectionstart”、“selectiontext”和“protected”都是数据部分(即,数据类型元素)。当然,配置文件可以在模板生成阶段之前或过程中,手工编制和修改。

    可选地,数据类型元素定义单元5330也可以要求操作者手工指定哪些元素是数据类型元素。

    数据类型元素定义单元533将自动为数据部分加入处理脚本,从而在真正运行时,处理脚本将用桌面应用600的窗口上的真实信息替换相应的数据类型元素。

    图4示出了根据本实施例的服务器300和浏览器400在运行阶段的结构示意框图。

    如图4所示,服务器300包括:安装在服务器300一侧的桌面应用600、请求解析单元310、动作重现单元380、界面信息抽取单元520、新窗口判断单元390、模板存取单元330、模板库360和发送单元350。浏览器400主要包括动态渲染单元410。

    在运行阶段,请求解析单元310解析来自浏览器400的HTTP请求(URL),得到所述HTTP请求中所包含的动作描述数据。

    安装在服务器300一侧的桌面应用600、动作重现单元380和界面信息抽取单元520构成了服务器侧的应用容器700,用于再现桌面应用600的操作。动作重现单元380将被请求解析单元310解析出的动作描述数据转换成针对桌面应用600的命令,并驱动桌面应用600执行能够反映出用户在浏览器400(远程)上的操作的相同或类似操作。界面信息抽取单元520执行与模板生成阶段相似的操作,将来自桌面应用600的每个窗口的界面信息抽取出来,并将其组织成界面描述数据。

    新窗口判断单元390通过解析来自界面信息抽取单元520的界面描述数据,可以判断是否有新窗口弹出。如果有新窗口弹出,则新窗口判断单元390通知模板存取单元330需要取得与该新窗口对应的模板;如果没有新窗口弹出,则新窗口判断单元390不需要执行任何处理。

    模板存取单元330用于在模板库360中查找新窗口判断单元390所指示的模板,并将该模板输出给发送单元350。

    发送单元350用于将来自界面信息抽取单元520的界面描述数据和/或来自模板存取单元330的模板发送给浏览器400。

    浏览器400一侧的动态渲染单元410解析界面描述数据,并抽取出相应的界面信息来填充模板中的数据部分,包括:定位界面信息中数据类型元素的位置;定位模板中对应数据类型元素的位置;用界面信息中数据类型元素的值代替模板中对应数据类型元素的值。上述两个定位步骤不分先后,也可以是:定位模板中数据类型元素的位置;定位界面信息中对应数据类型元素的位置;用界面信息中对应数据类型元素的值代替模板中数据类型元素的值。

    第二实施例

    根据本实施例,基于模板的桌面应用迁移方法同样包括模板生成阶段和运行阶段。下面,将结合图5和图6对本实施例进行详细描述。

    图5示出了根据本实施例的服务器500在模板生成阶段的结构示意框图。

    如图5所示,服务器500包括:安装在服务器300一侧的桌面应用600、窗口遍历单元510、界面信息抽取单元520、模板生成单元530和模板库360。以上各个单元和组件均与第一实施例中的相应单元具有相同的功能和操作,在此省略对上述单元的详细描述。此外,服务器500还包括:界面跳转关系抽取单元540和界面关系库560。

    在模板生成阶段,除了与第一实施例相同的操作以外,界面跳转关系抽取单元540根据窗口遍历单元510的遍历过程,自动记录操作窗口(界面)的跳转关系,存入界面关系库560。例如,当窗口遍历单元510在操作过程中对窗口A上的控件X进行点击而弹出窗口B时,则记录窗口A和窗口B之间关于控件X的跳转关系。例如,界面关系库560中存储的界面跳转关系可以如表2所示。表2还给出了其他界面跳转关系的实例。

    表2

    ??跳转关系
    ??跳转控件
    ??跳转条件
    ??窗口A->窗口B
    ??控件X
    ??跳转控件被点击
    ??……
    ??……
    ??……
    ??窗口C->窗口D
    ??控件Y
    ??跳转控件被双击
    ??……
    ??……
    ??……

    当然,界面关系库560也可以人工或半自动生成,以记录窗口/界面/页面间的跳转关系。

    图6示出了根据本实施例的服务器500和浏览器400在运行阶段的结构示意框图。

    如图6所示,服务器600包括:安装在服务器300一侧的桌面应用600、请求解析单元810、动作重现单元380、界面信息抽取单元520、新窗口判断单元890、界面关系库560、模板存取单元330、模板库360和发送单元350。浏览器400主要包括动态渲染单元410。

    在运行阶段,请求解析单元810解析来自浏览器400的HTTP请求(URL),所述HTTP请求中包含了动作描述数据。

    安装在服务器300一侧的桌面应用600、动作重现单元380和界面信息抽取单元520构成了服务器侧的应用容器700,用于再现桌面应用600的操作。动作重现单元380将请求解析单元810解析出的动作描述数据转换成针对桌面应用600的命令,并驱动桌面应用600执行能够反映出用户在浏览器400(远程)上的操作的相同或类似操作。界面信息抽取单元520执行与模板生成阶段相似的操作,将来自桌面应用600的每个窗口的界面信息抽取出来,并将其组织成界面描述数据。

    新窗口判断单元890根据请求解析单元810解析出的动作描述数据,查询界面关系库560中所记录的窗口/界面/页面间的跳转关系,判断是否有新窗口弹出。如果有新窗口弹出(即,该动作将引起窗口跳转),则新窗口判断单元890通知模板存取单元330需要取得与该新窗口对应的模板;如果没有新窗口弹出,则新窗口判断单元890不需要执行任何处理。

    模板存取单元330用于在模板库360中查找新窗口判断单元890所指示的模板,并将该模板输出给发送单元350。

    发送单元350用于将来自界面信息抽取单元520的界面描述数据和/或来自模板存取单元330的模板发送给浏览器400。

    浏览器400一侧的动态渲染单元410解析界面描述数据,并抽取出相应的界面信息来填充模板中的数据部分,包括:定位界面信息中数据类型元素的位置;定位模板中对应数据类型元素的位置;用界面信息中数据类型元素的值代替模板中对应数据类型元素的值。上述两个定位步骤不分先后,也可以是:定位模板中数据类型元素的位置;定位界面信息中对应数据类型元素的位置;用界面信息中对应数据类型元素的值代替模板中数据类型元素的值。

    第一和第二实施例的改进1

    以上第一和第二实施例很好地实现了本发明提出的基于模板的桌面应用迁移系统和方法。同时,发明人注意到在大多数应用情况下,随着用户的操作,界面描述数据每次可能只发生细微的变化。为了降低数据传输量、减少网络负载和改善用户体验,可以只发送发生了变化的界面描述数据。因此,在第一和第二实施例中,引入了界面信息比较单元900,用于将当前的界面描述数据与前次的界面描述数据进行比较,从而仅提供发生了变化的界面描述数据给发送单元350。

    图7和图8分别示出了根据第一和第二实施例的改进的服务器300/500和浏览器400在运行阶段的结构示意框图。

    界面信息比较单元900位于界面信息抽取单元520和发送单元350之间,用于将界面信息抽取单元520此次提供的界面描述数据与界面信息抽取单元520前次提供的界面描述数据进行比较,从而仅提供发生了变化的界面描述数据给发送单元350。

    在这种情况下,浏览器400一侧的动态渲染单元410仅更新发生了变化的界面描述数据所对应的模板中的数据部分,而模板中的其他数据部分则保持前次填充后的值。

    第一和第二实施例的改进2

    此外,在运行阶段中,有可能出现未被训练过的界面/窗口的情形。也就是说,模板存取单元330在模板库360中未能找到新窗口判断单元390/890所指示的模板。这说明目前的模板库360尚不完全,需要进一步的训练和模板生成。

    在这种情况下,为了使根据本发明的桌面应用迁移方法顺利执行,可加入模板生成的部分步骤(具体地,模板生成单元530根据来自界面信息抽取单元520的界面描述数据生成最终模板),以实时生成当前缺失的模板,并将此模板存入模板库360(第一实施例和第二实施例),同时,将与此模板相关的窗口间的跳转关系存入界面关系库560(第二实施例,由界面跳转关系抽取单元540完成)。这时,模板存取单元330就能够在模板库360中找到新窗口判断单元390/890所指示的模板,并将该模板输出给发送单元350。

    应用实例

    图9和图10分别示出了模板生成阶段和运行阶段的应用实例。

    在模板生成阶段,如图9所示,

    1.窗口遍历单元510遍历桌面应用600窗口中的每个控件。

    2.界面信息抽取单元520抽取控件的元信息(例如,按钮控件的坐标、大小、控制ID、句柄、文字描述等)。在图9所示实例中,给出了用户名信息“Tom”的界面描述数据(左侧虚线框围住的内容)和“Account?View”按钮的界面描述数据(左侧点划线框围住的内容)。

    3.UI生成单元5310将界面描述数据自动转化为UI描述(例如,可以是XML代码、HTML代码、WML代码等)。在图9所示实例中,给出了根据用户名信息“Tom”的界面描述数据生成用户名信息“Tom”的HTML代码信息(中间虚线框围住的内容)、和根据“Account?View”按钮的界面描述数据生成的模板中“Account?View”按钮的HTML代码信息(中间点划线框围住的内容)。

    4.响应函数生成单元5320为每个界面元素/控件加入相应的响应函数。如果某界面元素在浏览器端被操作,则它的响应函数将被触发执行,并发送动作描述数据给服务器。动作描述数据包含动作的相关信息,例如:在哪个界面元素上执行了什么动作,执行该动作的必要参数等。在图9所示实例中,给出了“Account?View”按钮的响应函数[onclick=“sendCommand();”]。至此,完成了初始模板的生成过程。

    5.数据类型元素定义单元5330根据“配置文件”中的信息判断哪种类型的控件的什么属性是数据类型元素,自动为数据类型元素加入处理脚本。在图9所示实例中,“Welcome”后的用户名信息(左侧实线框围住的“Tom”)为数据类型元素,自动生成针对该数据类型元素的处理脚本(右侧虚线框围住的内容)。

    在运行阶段,如图10所示,

    1.在运行时,根据来自浏览器400的请求,对桌面应用600进行操作,桌面应用600上出现新窗口。

    2.界面信息抽取单元520抽取该窗口的界面描述数据。

    3.模板存取单元330找到此窗口对应的模板(即,图9最右侧的模板)。

    4.发送单元350将界面描述数据和所找到的模板发送给浏览器400侧。

    5.浏览器400侧的动态渲染单元410找出模板中的数据类型元素;

    6.动态渲染单元410找出界面描述数据中与数据类型元素对应的真实数据。在图10所示实例中,真实数据是“Jarid”。

    7.动态渲染单元410用真实数据的值“Jarid”代替数据类型元素的值“Tom”,产生最终的浏览器网页(图10中最右侧的浏览器页面),呈现在浏览器400上。

    这里所公开的本发明实施例的其他设置包括执行在先概述并随后详述的方法实施例的步骤和操作的软件程序。更具体地,计算机程序产品是如下的一种实施例:具有计算机可读介质,计算机可读介质上编码有计算机程序逻辑,当在计算设备上执行时,计算机程序逻辑提供相关的操作,从而提供上述单向代理转密方案。当在计算系统的至少一个处理器上执行时,计算机程序逻辑使得处理器执行本发明实施例所述的操作(方法)。本发明的这种设置典型地提供为设置或编码在例如光介质(例如CD-ROM)、软盘或硬盘等的计算机可读介质上的软件、代码和/或其他数据结构、或者诸如一个或多个ROM或RAM或PROM芯片上的固件或微代码的其他介质、或专用集成电路(ASIC)、或一个或多个??橹械目上略氐娜砑枷?、共享数据库等。软件或固件或这种配置可安装在计算设备上,以使得计算设备中的一个或多个处理器执行本发明实施例所述的技术。结合诸如一组数据通信设备或其他实体中的计算设备进行操作的软件过程也可以提供根据本发明的系统。根据本发明的系统也可以分布在多个数据通信设备上的多个软件过程、或者在一组小型专用计算机上运行的所有软件过程、或者单个计算机上运行的所有软件过程之间。

    应该理解,严格地讲,本发明的实施例可以实现为数据通信设备上的软件程序、软件和硬件、或者单独的软件和/或单独的电路。

    以上描述仅给出了本发明的优选实施例,而并不是要以任何方式限制本发明。因此,本发明的范围应涵盖在本发明精神和原理内进行的任何修改、替换、改进等。

    关于本文
    本文标题:桌面应用迁移系统和方法.pdf
    链接地址://www.4mum.com.cn/p-5865266.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 资金盘提现规则 时时彩怎么玩大小单双 幸运飞艇全天免费计划网页 七乐彩玩法中奖规则 无错36码特 四川时时高手群 彩票开奖查询七星彩 双色球截止投注时间是几点 怎么看快三要出长龙 时时彩怎么投注稳赚 后二直选单式稳赚 重庆时时现场直播视频 河内免费功夫计划软件 双色球选号器中彩 幸运28稳赚软件 快三跟着计划反买能赢吗