一种对Web应用进行拆分与重装的方法与装置的制造方法

文档序号:8395712阅读:286来源:国知局
一种对Web应用进行拆分与重装的方法与装置的制造方法
【技术领域】
[0001] 本发明涉及网络通信领域,特别涉及一种对Web应用进行拆分与重装的方法与装 置。
【背景技术】
[0002] 近年来,随着互联网的迅速发展,网络已经逐渐取代广播、报纸、电视,成为人们获 取信息最主要的手段。此外,网络在人们日常的学习工作、休闲娱乐中也起到越来越重要的 作用。
[0003] Web应用是一种可以通过Web访问的应用程序。Web应用的一个明显优势是用户 只需要有浏览器就可访问应用程序,无需安装其他软件,这给用户带来了极大的方便。
[0004] 一个Web应用由完成特定任务的各种Web组件(web components)构成,并通过 Web将服务展示给外界。在实际应用中,Web应用程序由多个Servlet、JSP页面、HTML文件 以及图像文件等组成。所有这些组件相互协调为用户提供一组完整的服务。计数器、留言 版、登录系统、聊天室、论坛BBS等都是常见的Web应用,随着用户需求的不断提升以及计算 机技术的不断发展,Web应用的功能越来越强大,与此同时,其结构也变得越来越复杂。
[0005] 在互联网舆情监控、网络数据检索等领域中都需要采集Web应用中的信息。由于 Web应用中包含了大量的信息,用户可能只对其中的某些信息感兴趣,因此需要对Web应用 进行分析,从中提取出用户感兴趣的信息。此外,目前的Web应用都由网站开发者创建,Web 应用所具有的功能也都由网站开发者设定,但网站开发者所设定的功能未必满足用户的需 要。例如,用户希望在同一网络页面上显示当前的天气状况与某地当前的交通流量状况,但 这两类信息之前只能从不同的Web应用(如一个关于天气状况的Web应用和一个关于交通 流量状况的Web应用)获取。为了满足用户的此类需求,需要对已有的Web应用进行拆解与 重装。
[0006] 对Web应用的拆解包括拆分与解析,本申请中所涉及的拆分是指将某一 Web应用 的代码拆成多个可执行代码片段,本申请中所涉及的解析是指将拆分后所得到的可执行代 码片段进行解释、执行。
[0007] 现有技术中存在对网络页面进行拆分的方法,如在参考文献1 "基于Rhino的 JavaScript动态页面解析研究与实现;金晓||,钟宝燕,李翔;《计算机技术与发展》第18卷 第2期",在参考文献2 "基于Rhino引擎的服务器端JavaScript脚本容器设计与实现"中 都涉及到如何拆分网络页面的说明。虽然Web应用包括一个或多个网络页面,但现有技术 中对网络页面的拆分方法通常并不能直接适用于Web应用。这是因为Web应用所包含的网 页存在大量的用户交互、子页面调用等操作,这就要求在拆分Web应用时必须保证Web应用 的过程连贯性与数据完整性,这对本领域技术人员而言是一个严峻的挑战。
[0008] 现有技术中对Web应用的解析是一个封闭的过程,用户无法对Web应用的解析过 程进行干涉,这一方面有利于保证网络访问的安全性,但另一方面也限制了用户对Web应 用的深度利用。
[0009] 在对Web应用进行拆解后,某些情况下还需要根据用户的需求从拆解结果中选取 部分代码片段重新组装成新的Web应用(如前文中提到的将之前不同网络页面上的天气状 况和交通流量状况集成到一个网络页面上显示),这一过程也被称为重装。重装能够根据已 有的网络页面生成用户所期望的新的Web应用,在实际应用中有着广泛的前景。

【发明内容】

[0010] 本发明的目的在于克服现有技术中用户无法对Web应用的解析进行干涉,从而提 供一种能够对Web应用加以拆分、重装的方法。
[0011] 为了实现上述目的,本发明提供了一种对Web应用进行拆分的方法,包括:
[0012] 对Web应用源代码的某一代码片段进行解释执行的步骤,该步骤包括:为该代码 片段建立控制点标签、独立工作空间以及独立缓存;以及
[0013] 生成拆分结果的步骤,该步骤包括:将所得到的控制点标签以及所述独立缓存中 所保存的数据作为该代码片段从所述Web应用中拆分所得到的结果;其中,
[0014] 所述控制点标签用于描述解释执行过程中与该代码片段所对应的控制点所要完 成的操作;
[0015] 所述独立工作空间用于完成解释执行过程;
[0016] 所述独立缓存用于保存解释执行过程中的中间状态、中间参数、中间结果。
[0017] 上述技术方案中,在解释执行步骤之前还包括:获取待拆分Web应用的拆分对象 息的步骤。
[0018] 上述技术方案中,在获取待拆分Web应用的拆分对象信息的步骤与解释执行步骤 之间还包括拆分对象信息匹配步骤:在待解释执行的代码片段中查找是否包含与拆分对象 信息对应的代码片段;
[0019] 所述解释执行步骤对所述与拆分对象信息对应的代码片段进行解释执行。
[0020] 上述技术方案中,所述拆分对象信息用于描述需要从待拆分的Web应用中拆分出 哪一部分代码片段,包括诸如代码片段的名称、位置、类型、长度信息中的一种或多种,或其 他能够确定某一代码片段的参数。
[0021] 上述技术方案中,在对待拆分Web应用进行拆分前还包括:对需要用户做登录认 证的待拆分Web应用进行模拟登录认证。
[0022] 上述技术方案中,所述独立缓存所保存的代码片段在解释执行过程中所产生的中 间状态、中间参数、中间结果具有全局性。
[0023] 本发明还提供了一种对Web应用进行重装的方法,包括:
[0024] 选取拆分结果的步骤,该步骤包括:选取一个或多个基于所述的对Web应用进行 拆分的方法所得到的拆分结果;以及
[0025] 重装Web应用步骤,该步骤包括:将待重装的Web应用所需的状态、参数、中间结果 与所述拆分结果中的中间状态、中间参数以及中间结果进行对应,得到重装后的Web应用。
[0026] 上述技术方案中,在选取拆分结果的步骤之前还包括确定待重装的Web应用的内 容、布局的操作。
[0027] 上述技术方案中,所述重装Web应用步骤还包括:将选取拆分结果的步骤中所得 到的拆分结果返回给为待拆分Web应用所创建的独立缓存,并在为待拆分Web应用所创建 的独立工作空间中与所述待拆分Web应用的其他代码片段的解释执行结果一起重新进行 组装,所得到的最终结果返回给待拆分Web应用所属的Web应用服务器。
[0028] 上述技术方案中,待重装的Web应用的布局为重新定义的布局。
[0029] 本发明还提供了一种对Web应用进行拆分的装置,包括解释执行模块、生成拆分 结果模块;其中,
[0030] 所述解释执行模块用于对Web应用源代码的某一代码片段进行解释执行,包括: 为该代码片段建立控制点标签、独立工作空间以及独立缓存;以及
[0031] 所述生成拆分结果模块用于将所得到的控制点标签以及所述独立缓存中所保存 的数据作为该代码片段从所述Web应用中拆分所得到的结果;其中,
[0032] 所述控制点标签用于描述解释执行过程中与该代码片段所对应的控制点所要完 成的操作;
[0033] 所述独立工作空间用于完成解释执行过程;
[0034] 所述独立缓存用于保存解释执行过程中的中间状态、中间参数、中间结果。
[0035] 本发明又提供了一种对Web应用进行重装的装置,包括选取拆分结果模块和重装 Web应用模块;其中,
[0036] 所述选取拆分结果模块从所述的对Web应用进行拆分的装置所得到的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1