CN101937335A - 一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎 - Google Patents

一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎 Download PDF

Info

Publication number
CN101937335A
CN101937335A CN2009101086102A CN200910108610A CN101937335A CN 101937335 A CN101937335 A CN 101937335A CN 2009101086102 A CN2009101086102 A CN 2009101086102A CN 200910108610 A CN200910108610 A CN 200910108610A CN 101937335 A CN101937335 A CN 101937335A
Authority
CN
China
Prior art keywords
widget
code
dom tree
summary file
information
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
Application number
CN2009101086102A
Other languages
English (en)
Other versions
CN101937335B (zh
Inventor
丘志宏
符海芳
金洪波
张�杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changshu intellectual property operation center Co.,Ltd.
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2009101086102A priority Critical patent/CN101937335B/zh
Priority to EP09180140A priority patent/EP2275928A1/en
Priority to US12/647,292 priority patent/US20110004602A1/en
Priority to PCT/CN2010/070019 priority patent/WO2011000222A1/zh
Publication of CN101937335A publication Critical patent/CN101937335A/zh
Application granted granted Critical
Publication of CN101937335B publication Critical patent/CN101937335B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施方式公开一种生成Widget图标的方法,所述方法包括:获得所述Widget摘要文件;解析所述Widget摘要文件,并执行解析后的Widget摘要文件;根据执行后的Widget摘要文件生成Widget图标。本发明实施方式还提供一种widget摘要文件的生成方法及Widget引擎,可以减少占用的系统资源。

Description

一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎
技术领域
本发明实施例涉及计算机领域,特别是涉及一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎。
背景技术
随着移动互联网的迅速发展,微件(Widget)的出现让互联网的发展又提高了一个阶段,当然widget可以称为微技。Widget是一种基于JavaScript的应用程序平台,也可以认为是一个基于网络、可以独立在桌面运行的实用小工具,通常是打包成一个文件被客户端下载并安装使用。用户通过Widget可以享受新闻阅读、天气资讯、图片浏览等业务。
由于每个Widget对应一个图标,用户需要通过点击Widget图标去查看该Widget中的内容。当下载的Widget有内容更新时,用户需要点击每个Widget图标去查看更新的内容,这会导致用户频繁的操作,从而影响到用户的使用心情。
浮动Widget技术的出现,通过在Widget管理器面板的图标上显示Widget内容更新的提示信息,使得用户不需要进入Widget的详细页面就可以了解到Widget内容更新的情况,从而减少了用户的频繁的操作。
发明人在实现本发明的过程中,发现现有技术至少存在以下缺点:现有技术中的浮动Widget技术需要占用大量的资源,由于该技术中的每个Widget需要在系统中保留一些线程,以完成用户操作响应、信息更新等,以手机终端为例,由于手机终端本身能分配的线程数很稀少,如果使用现有技术,则会导致手机终端的线程资源被占用,就会造成手机的使用效率很低。
发明内容
本发明实施例提供一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎,以减少运行Widget时所占用的系统资源。
根据本发明的一方面,提供一种生成Widget图标的方法,所述方法包括:
获得Widget摘要文件;
解析所述Widget摘要文件,并生成DOM树;
根据所述DOM树生成Widget图标。
根据本发明的另一方面,还提供一种Widget摘要文件的生成方法,所述方法包括:
模拟运行Widget以生成DOM树;
获得所述DOM树的重要信息的代码,所述重要信息的代码包括执行生成客户端的本地信息和从服务器获得信息操作相关联的代码;
将所述代码生成所述Widget摘要文件。
根据本发明的另一方面,还提供一种生成Widget图标的Widget引擎,所述Widget引擎包括管理单元及解析单元;
所述管理单元还包括:
加载子单元,用于获得Widget摘要文件,并调用所述解析单元以解析所述Widget摘要文件和执行解析后的Widget摘要文件;
更新子单元,用于根据执行后的Widget摘要文件生成Widget图标。
采用上述提供的技术方案,通过获得所述DOM树中的重要信息的代码以生成所述Widget摘要文件,从而去除了与用户交互的代码,也就减少了在运行Widget时需要保留执行与用户的交互操作的线程,从而可以减少占用的系统资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的Widget摘要文件的生成方法的流程图;
图2为本发明实施例的Widget图标的生成方法的流程图;
图3A为本发明实施例的Widget摘要文件的生成装置的结构图;
图3B为本发明另一实施例的Widget摘要文件的生成装置的结构图;
图4为本发明实施例的widget引擎的结构图;
图5为本发明实施例的客户端设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本实施例中,Widget可以看作是运行在Widget引擎中的WEB页面,Widget通过阿贾克斯(Asynchronous JavaScript and XML,Ajax)技术开发,由html技术表示页面的内容,由css技术表示页面的展现形式,并由javascript技术表示页面的程序逻辑。在通常的情况下,Widget包括:HTML文件、CSS文件、JavaScript文件、配置文件、签名文件、图片资源文件等。在服务器会将这些文件打包成一个特定类型的Widget包(如wgt格式的包),供用户下载使用。需要说明的是,HTML文件、CSS文件、JavaScript文件也可以统称为HTML文件,配置文件的格式为xml格式,用于描述配置信息;签名文件的格式为xml格式,用于数字签名;图片资源文件包括icon文件和thumbnail文件,其中,icon文件可以有png或gif或ico或svg格式,用于做默认图标,thumbnail文件可以有png或gif或ico或svg格式,用于做小图标。
在本实施例中,在原有的Widget中再增加一个Widget摘要文件,即再增加一个包括Widget的内容的摘要的文件。需要说明的是,本实施例中的Widget摘要文件与传统的摘要文件不同,Widget摘要文件不是一个独立的文本文件,而是一个Ajax文件,其中包括javascript代码,该javascript代码可以动态的从服务器上获得信息以进行内容更新。以下介绍生成这种形式的Widget摘要文件,并介绍如何将这种Widget摘要文件应用于生成Widget的图标。
图1所示为Widget摘要文件的生成方法的流程图。这个生成方法包括:先模拟运行Widget以生成DOM树;再,获得所述DOM树的重要信息的代码,所述重要信息的代码包括执行生成客户端的本地信息和从服务器获得信息操作相关联的代码,将所述代码生成所述Widget摘要文件。以下进行详细说明。在本实施例中,需要说明的是,为每个Widget生成一个针对该Widget的摘要文件。
步骤S100,模拟运行Widget,以生成一个页面。在本实施例中,在模拟运行Widget的过程中,为对Widget的详细页面进行模拟运行。Widget的详细页面为运行一个Widget的时候所产生的页面。在本实施例中,可以理解为运行html文件、javascript文件和css文件。在本实施例中,由于Widget为基于Ajax技术开发的,故运行Widget后,在程序内部,会生成一个DOM树,DOM树是Ajax文件在计算机中的半结构化的表现形式。该DOM树包括javascript代码,该代码可以对DOM树操作,以生成新的DOM树,每个代码都有一个执行层,也可以理解为DOM树分层次。
在本实施例中,Widget的详细页面可以包括三种类型的代码,分别为:(1)不需要与用户交互即可执行完的代码,如onload事件触发的代码;(2)需要与用户交互才能完成的代码,如onclick事件触发的代码;(3)需要用户输入参数才能完成的代码,如用户名和密码。
为更好的理解,举例说明,当打开一个WEB页面后,该页面会包括多个链接,相当于DOM树中包括产生新DOM树的代码,这个代码的执行层就对应当前页面的层数。用户可以决定点击其中的链接,以跳转到一个新的页面。同时,这些页面分层次,比如第一个页面为第一层,依次类推,一层接着一层,最终到达用户需要看到的具体信息的页面。当然,也可以理解为页面的层数跟DOM树的层次或代码的执行层之间具有对应的关系。可以理解为,DOM树为用户可以看到的页面内容,每个DOM树与用户看到的页面之间存在一一对应的关系。当运行一个Widget后显示给用户的页面中,会包括很多的信息,比如,产生新页面的链接信息、图标信息、数据信息,页面的层数信息等。在本实施例中,产生新页面的链接信息可以是一个,也可以是多个。
步骤S102,记录页面中的信息。在本实施例中,可以理解为记录步骤S100中产生的新页面的链接信息,图标信息、数据信息、页面的层数信息等。也可以理解为,记录步骤S100中生成的DOM树的数据,包括代码和该代码的执行层。
步骤S104,确定该页面是否存在产生新页面的链接信息。在本实施例中,也可以理解为,确定该DOM树是否包括产生新DOM树的代码。在本实施例中,存在产生新页面的链接信息或存在产生新DOM树的代码,则执行步骤S106,在本实施例中,可以理解为,具有具体信息的页面还没有完全打开或没有完成找到。若不存在产生新页面的链接信息或存在产生新DOM树的代码,则执行步骤S110。在本实施例中,可以由一个页面产生一个新的页面,也可以由一个页面产生多个新的页面。
步骤S106,确定当前页面的层数是否小于预定阈值。在本实施例中,也可以理解为,确定该产生新DOM树的代码的执行层是否小于预定阈值。
在本实施例中,若当前页面的层数小于预定阈值,或该产生新DOM树的代码的执行层小于预定阈值,则执行步骤S108。若当前页面的层数不小于预定阈值,或该产生新DOM树的代码的执行层不小于预定阈值,则执行步骤S110。
步骤S108,模拟事件触发。在本实施例中,通过模拟事件来产生新的页面或生成新的DOM树。在本实施例中,可以理解的是通过模拟执行javascript代码来生成新的DOM树。简单的例子,模拟点击页面中的链接,出现一个新的页面。表1所示为具体的事件,可以参考以下事件进行模拟触发。
Figure B2009101086102D0000061
Figure B2009101086102D0000071
在本实施例中,当执行完步骤S108后,执行步骤S100。
在本实施例中,需要说明的,对具有产生新页面的链接信息的页面进行模拟事件触发时,如果步骤S104中存在一个产生新页面的链接信息时,会模拟产生一个新的页面,如果步骤S104中存在多个产生新页面的链接信息时,会同时模拟产生多个新的页面。
之后,再执行步骤S104和步骤S106时,针对产生一个新的页面的情况,针对该新的页面进行步骤S104和步骤S106的判断。针对产生多个新的页面的情况时,需要针对每个新的页面进行步骤S104和步骤S106的判断。对满足判断条件的新的页面进行步骤S110或步骤S108的操作。
步骤S110,获得该页面中的重要信息,并获得产生该重要信息的代码。在本实施例中,若在步骤S104或步骤S106中有多个新的页面满足判断条件时,在步骤S110中,需要针对多个新的页面进行获得该页面中的重要信息操作。以下是其中的一个页面为例子进行说明。
在本实施例中,需要先分析页面的信息中有哪些信息是重要信息,可以采用现有技术中的识别重要信息的技术来分析页面的信息,并获得该重要信息;或是分析DOM树中的重要信息;并分析产生该重要信息需要哪些代码。在本实施例中,重要信息可以包括:客户端的本地信息和需要从服务器获得的信息。在本实施例中,可以理解为,若在一个Widget被执行后的页面中,页面中会出图标信息、设置信息等,比如一个YAHOO的天气Widget,在这个Widget当中,图标信息就比如YAHOO,若用户需要知道深圳某个时间的天气情况,这需要点击地点信息和时间信息,而这些地点信息和时间信息就保存在设置信息中,不需要从服务器获得,当执行后,需要从服务器获得有关地点信息为深圳,时间信息为某年某月某日的天气信息,即天气信息就是需要从服务器获得的信息。
产生该重要信息需要的代码可以包括生成该重要信息的直接代码和间接代码。直接代码可以理解为可以从服务器获得信息的代码和生成客户端的本地信息的代码B,而间接代码可以理解为,在从服务器获得信息和生成客户端的本地信息时,需要依赖于先前执行的代码C来生成该代码A,和依赖于先前执行的代码D来生成该代码B,而代码C和代码D称为间接代码。也可以理解为,可以通过间接代码来产生该直接代码,即该直接代码可能需要由先前执行的代码来产生,而该先前执行的代码可以称为生成该重要信息的代码路径上的代码。当然,所述生成所述重要信息的代码包括生成客户端的本地信息的相关联的代码和从服务器获得信息操作相关联的代码。
在本实施例中,也可以理解为,生成客户端的本地信息的代码和需要从服务器获得的信息的代码可以认为是不需要与用户交互即可执行完成的代码,而部分的需要用户输入参数才能完成的代码可以包括在生成该重要信息的依赖于先前执行的代码中,而需要与用户交互才能完成的代码被去除。
需要说明的是,步骤S104和步骤S106在执行的过程,没有执行的先后,即步骤S104和步骤S106可以互相调换。
在本实施例中,需要说明的是,步骤S110中获得的重要信息的代码应该包括产生的多个新页面的重要信息的代码。
步骤S112,根据获得的重要信息的代码生成摘要文件。在本实施例中,将生成客户端的本地信息的代码、执行从服务器获得信息操作的代码和生成该重要信息需依赖于先前执行的代码生成一个Widget摘要文件。该Widget文件的格式可以为html格式,该Widget摘要文件可以以html文件、javascript文件和css文件形式存在,与步骤S100中的Widget详细页面的包括的内容不同的是,Widget摘要文件去除了Widget详细页面中的与重要信息不相关联的代码,即保留了不需要与用户交互即可执行完的代码、对需要与用户交互才能完成的代码和需要用户输入参数才能完成的代码经过处理后的代码。
在本实施例提供的Widget摘要文件的生成方法,通过运行模拟Widget详细页面,以获得相关的重要信息及与该重要信息相关联的代码,通过该代码以生成Widget摘要文件,而这些Widget摘要文件不需要使Widget跟用户进行交互而生成,直接通过代码从服务器获得,从而可以减少用户跟Widget之间的交互操作次数。
在本实施例中,Widget摘要文件可以由开发者通过终端设备进行生成,可以将生成的Widget摘要文件存储在一个存储介质上,也可以与原有的Widget一起打包成一个文件上传到服务器,供用户下载安装。也可以是,用户先下载原始的Widget,然后,在客户端上再通过上述的生成方法生成一个Widget摘要文件,最后,再供运行的Widget调用使用。当然,也可以是,用户先下载原始的Widget,然后,再从存储有Widget摘要文件的存储介质上获得该Widget摘要文件,最后再供运行的Widget调用使用。
以下描述在运行Widget时如何调用或获得Widget摘要文件,以生成Widget的图标。
图2为本发明实施例的Widget的图标的生成方法的流程图。
在本实施例中,在运行Widget时,Widget需要每隔一段时间来重新调用Widget摘要文件,以更新Widget的图标,以更好的让用户得知当前运行的Widget有更新的内容。在本实施例中,也可以理解为Widget需要每隔一段时间来重新获得Widget摘要文件,以更新Widget的图标。
步骤S200,确定刷新周期是否到期。在本实施例中,可以理解为确定重新获得Widget摘要文件的周期是否到期,或者是确定更新Widget的图标的周期是否到期。在本实施例中,每调用Widget摘要文件并运行时,就需要更新一次Widget的图标,因此,这二者之间存在对应的关系。
在本实施例中,当刷新周期到期时,执行步骤S202,当刷新周期没有到期时,继续执行步骤S200。
步骤S202,获得Widget摘要文件,并执行解析后的Widget摘要文件。在本实施例中,获得Widget摘要文件后,解析所述Widget摘要文件,并执并执行解析后的Widget摘要文件。在本实施例中,可以理解为,先解析该Widget摘要文件,以获得该Widget摘要文件中包括的代码;再根据该Widget摘要文件中的代码从服务器获得该代码对应的信息和生成客户端的本地信息。在本实施例中,根据执行生成客户端的本地信息相关联的代码生成客户端的本地信息,和根据与执行从服务器获得信息操作相关联的代码从服务器获得信息。
并将包括所述从服务器获得的信息和客户端的本地信息的Widget摘要文件的格式转换为DOM树的格式。可以理解的是,执行解析后的Widget摘要文件为DOM树。在本实施例中,执行该Widget摘要文件中产生重要信息的相关联的代码,以从服务器中获得该重要信息。
步骤S204,根据执行后的Widget摘要文件,生成Widget的图标。在本实施例中,可以理解的是,对该DOM树进行渲染,可以采用现有技术中的渲染技术对DOM树进行泻染操作,以一个页面;再将该页面转换成图标。
步骤S206,根据界面的布局算法,将图标显示在管理界面。
本发明实施例提供的Widget图标的生成方法,通过获得已生成的Widget摘要文件,并执行该Widget摘要文件以生成Widget图标,由于在本实施例中生成的Widget摘要文件中不包括与用户交互的代码,也就在获得运行Widget摘要文件时,会调用部分线程来执行从服务器获得信息的操作,一旦操作执行完后,就会释放这部分线程,而由于Widget摘要文件中不包括与用户交互的代码,也就不会调用线程来执行这部分的代码,也就更不会保留线程以执行与用户的交互操作,从而不会占用系统的线程资源。通过Widget摘要文件生成Widget的图标,由于Widget摘要文件的生成过程中去除了与用户交互的代码,也就最终优化了生成Widget的图标的过程。
图3A为本发明实施例的Widget摘要文件的生成装置的结构图。
在本实施例中,Widget摘要文件可以由开发者通过终端设备进行生成,可以将生成的Widget摘要文件存储在一个存储介质上,也可以与原有的Widget一起打包成一个文件上传到服务器,供用户下载安装。也可以是,用户先下载原始的Widget,然后,在客户端上再通过上述的生成方法生成一个Widget摘要文件,最后,再供运行的Widget调用使用或获得使用。当然,也可以是,用户先下载原始的Widget,然后,再从存储有Widget摘要文件的存储介质上获得该Widget摘要文件,最后再供运行的Widget调用使用。即,Widget摘要文件的生成装置可以为一个单独的设备,也可以是布置于客户端中。
在本实施例中,Widget摘要文件的生成装置包括模拟运行单元30、记录单元32、判断单元34、摘要生成单元36。
在本实施例中,模拟运行单元30用于模拟运行Widget,以生成一个页面。在本实施例中,在模拟运行Widget的过程中,为对Widget的详细页面进行模拟运行。Widget的详细页面为运行一个Widget的时候所产生的页面。在本实施例中,可以理解为运行html文件、javascript文件和css文件。在本实施例中,由于Widget为基于Ajax技术开发的,故运行Widget后,在程序内部,会生成一个DOM树,DOM树是Ajax文件在计算机中的半结构化的表现形式。该DOM树包括javascript代码,该代码可以对DOM树操作,以生成新的DOM树,每个代码都有一个执行层,也可以理解为DOM树分层次。
在本实施例中,Widget的详细页面可以包括三种类型的代码,分别为:(1)不需要与用户交互即可执行完的代码,如onload事件触发的代码;(2)需要与用户交互才能完成的代码,如onclick事件触发的代码;(3)需要用户输入参数才能完成的代码,如用户名和密码。
在本实施例中,为更好的理解,举例说明,当打开一个WEB页面后,该页面会包括多个链接,相当于DOM树中包括产生新DOM树的代码,这个代码的执行层就对应当前页面的层数。用户可以决定点击其中的链接,以跳转到一个新的页面。同时,这些页面分层次,比如第一个页面为第一层,依次类推,一层接着一层,最终到达用户需要看到的具体信息的页面。当然,也可以理解为页面的层数跟DOM树的层次或代码的执行层之间具有对应的关系。可以理解为,DOM树为用户可以看到的页面内容,每个DOM树与用户看到的页面之间存在一一对应的关系。当运行一个Widget后显示给用户的页面中,会包括很多的信息,比如,产生新页面的链接信息、图标信息、数据信息,页面的层数信息等。
记录单元32用于记录页面中的信息。该页面的信息包括:产生的新页面的链接信息,图标信息、数据信息、页面的层数信息等。在本实施例中,记录单元32用于记录生成的DOM树的数据,包括代码和该代码的执行层。
在本实施例中,模拟运行单元30还用于当记录单元32记录的页面的信息中存在产生新页面的链接信息或记录生成的DOM树的数据中存在产生新DOM树的代码,并在当前页面的层数小于预定阈值或该产生新DOM树的代码的执行层小于预定阈值时,再次模拟事件。
摘要生成单元36用于当记录单元32记录的页面的信息中不存在产生新页面的链接信息或记录生成的DOM树的数据中不存在产生新DOM树的代码,或当前页面的层数小于预定阈值或该产生新DOM树的代码的执行层不小于预定阈值时,获得该页面中的重要信息,并获得产生该重要信息的代码。
产生该重要信息需要的代码可以包括生成该重要信息的直接代码和间接代码。直接代码可以理解为通过该代码可以从服务器获得信息的代码和生成客户端的本地信息的代码,而间接代码可以理解为生成该重要信息需依赖于先前执行的代码,即被依赖的代码,也可以理解为,可以通过间接代码来产生该直接代码,即该直接代码可能需要由先前执行的代码来产生,而该先前执行的代码可以称为生成该重要信息的代码路径上的代码。当然,可以将产生该重要信息需要的代码认为是与生成该重要信息有关联的代码。
在本实施例中,也可以理解为,生成客户端的本地信息的代码和需要从服务器获得的信息的代码可以认为是不需要与用户交互即可执行完成的代码,而部分的需要用户输入参数才能完成的代码可以包括在生成该重要信息的依赖于先前执行的代码中,而需要与用户交互才能完成的代码被去除。
在本实施例中,摘要生成单元36还用于根据获得的重要信息的代码生成摘要文件。
在本发明的另一实施例中,也可以在上述的实施例中,即图3A的基础上再增加一个判断单元34,如图3B所示。可以理解的是,图3A对应的实施例和图3B对应的实施例,所产生的技术效果为一致的。在本实施例中,相同的执行单元就不再重复描述。
判断单元34用于确定该页面是否存在产生新页面的链接信息。在本实施例中,判断单元34也可以用于确定该DOM树是否包括产生新DOM树的代码。在本实施列中,判断单元34还用于确定当前页面的层数是否小于预定阈值或该产生新DOM树的代码的执行层是否小于预定阈值。
在本实施例中,包括两种情况:
第一种情况:判断单元34用于当确定存在产生新页面的链接信息或存在产生新DOM树的代码时,确定当前页面的层数是否小于预定阈值或该产生新DOM树的代码的执行层是否小于预定阈值。
第二种情况:判断单元34用于确定当前页面的层数小于预定阈值或该产生新DOM树的代码的执行层小于预定阈值时,确定该页面是否存在产生新页面的链接信息。
模拟运行单元30还用于当判断单元34确定存在产生新页面的链接信息或存在产生新DOM树的代码,并在当前页面的层数小于预定阈值或该产生新DOM树的代码的执行层小于预定阈值时,再次模拟事件。
摘要生成单元36用于当判断模块34确定不存在产生新页面的链接信息或不存在产生新DOM树的代码,或当前页面的层数小于预定阈值或该产生新DOM树的代码的执行层不小于预定阈值时,获得该页面中的重要信息,并获得产生该重要信息的代码。产生该重要信息需要的代码可以包括生成该重要信息的直接代码和间接代码。直接代码可以理解为通过该代码可以从服务器获得信息的代码和生成客户端的本地信息的代码,而间接代码可以理解为生成该重要信息需依赖于先前执行的代码,即被依赖的代码,也可以理解为,可以通过间接代码来产生该直接代码,即该直接代码可能需要由先前执行的代码来产生,而该先前执行的代码可以称为生成该重要信息的代码路径上的代码。当然,可以将产生该重要信息需要的代码认为是与生成该重要信息有关联的代码。
在本实施例中,也可以理解为,生成客户端的本地信息的代码和需要从服务器获得的信息的代码可以认为是不需要与用户交互即可执行完成的代码,而部分的需要用户输入参数才能完成的代码可以包括在生成该重要信息的依赖于先前执行的代码中,而需要与用户交互才能完成的代码被去除。
在本实施例中,摘要生成单元36还用于根据获得的重要信息的代码生成摘要文件。
在本实施例提供的Widget摘要文件的生成装置,通过运行模拟Widget详细页面,以获得相关的重要信息及与该重要信息相关联的代码,通过该代码以生成Widget摘要文件,而这些Widget摘要文件不需要使Widget跟用户进行交互而生成,直接通过代码从服务器获得,从而可以减少用户跟Widget之间的交互操作次数。
图4为本发明实施例的widget引擎的结构图。
在本实施例中,当Widget摘要文件的生成装置可以为一个单独的设备,可以将该生成的Widget摘要文件与原有的Widget一起打包成一个文件上传到服务器,供用户下载安装。当用户下载该文件后,并运行安装Widget。当运行Widget时,就可以直接获得该Widget摘要文件并运行。在本实施例中,每一个Widget都对应一个Widget摘要文件,因此,每个Widget都有一个对应的Widget图标,在现有技术的操作中,每个Widget各自运行更新各自的Widget图标,而在本实施例中,Widget的图标的更新由Widget引擎统一管理运行。Widget引擎统一调用或获得每个Widget的摘要文件,通过该Widget摘要文件生成对应的Widget图标。在本实施例中,Widget引擎与Widget摘要文件共存于客户端。
在本实施例中,Widget引擎包括管理单元40和解析单元42。管理单元40包括加载子单元400及更新子单元402。
管理单元40用于获得Widget摘要文件,并通过Widget摘要文件生成Widget图标。
当Widget引擎被运行时,加载子单元400用于当定时获得Widget摘要文件。在本实施例中,加载子单元400需要每隔一段时间来重新获得Widget摘要文件。在本实施例中,加载子单元400需要先判断重新获得Widget摘要文件的周期是否到期,当到期时,获得该Widget摘要文件。当然也可以理解为,当到期时,调用该Widget摘要文件。
加载子单元400还用于通知或调用解析模块42对加载子单元400获得的Widget摘要文件进行解析。解析单元42用于解析该Widget摘要文件,以获得该Widget摘要文件中包括的代码;再根据该Widget摘要文件中的代码从服务器获得该代码对应的信息,并将摘要文件的格式转换为DOM树的格式。在本实施例中,通过执行该Widget摘要文件中产生重要信息的相关联的代码,以从服务器中获得该重要信息。在本实施例中,可以理解为执行子单元402通过解析单元42将Widget摘要文件生成DOM树。在本实施例中,解析单元42在Widget中也可以称为核心引擎。在本实施例中,解析单元42会调用资源对Widget摘要文件进行解析和执行操作,当这些操作执行完成后,解析单元42会停止操作,从而,解析单元42会释放调用的资源。
在本实施例中,生成的DOM树可以存储在执行子单元402,也可以存储在解析单元42,当然也可以存储在存储单元中。
加载子单元400还用于当解析单元42执行完解析后的Widget摘要文件后,即,当解析单元42生成DOM树后,通知或调用更新子单元402对该DOM树进行渲染。
更新子单元402用于对该DOM树进行渲染,并生成Widget的图标。在本实施例中,可以采用现有技术中的渲染技术对DOM树进行泻染操作,以一个页面;再将该页面转换成图标。在本实施例中,更新子单元402还用于根据界面的布局算法,将图标显示在管理界面。
在本实施例中,装有Widget引擎的终端也可以从存储介质中调用Widget摘要文件。
本发明实施例提供的Widget引擎,通过获得已生成的Widget摘要文件,并执行该Widget摘要文件以生成Widget图标,由于在本实施例中生成的Widget摘要文件中不包括与用户交互的代码,也就在调用运行Widget摘要文件时,会调用部分线程来执行从服务器获得信息的操作,一旦操作执行完后,就会释放这部分线程,而由于Widget摘要文件中不包括与用户交互的代码,也就不会调用线程来执行这部分的代码,也就更不会保留线程以执行与用户的交互操作,从而不会占用系统的线程资源。通过Widget摘要文件生成Widget的图标,由于Widget摘要文件的生成过程中去除了与用户交互的代码,也就最终优化了生成Widget的图标的过程。
同时,由于每个Widget图标的生成操作都由Widget引擎统一集中操作,也就可以通过少量的线程来集中管理所有的Widget图标的生成,相对于现有技术中每个Widget各自运行更新各自的Widget图标的操作,并且每个Widget需要占用部分线程来说,不仅可以减少占用的线程的数量,而且还可以提高生成图标的效率。
图5为本发明实施例的客户端设备的结构图。
若Widget摘要文件的生成装置布置于客户端中,可以理解为将Widget摘要文件的生成装置布置在将有Widget的终端。在本实施例中,该Widget终端包括Widget引擎50和Widget摘要文件的生成装置52。Widget引擎50包括图4中的管理单元和解析单元,此处不再重要描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。

Claims (18)

1.一种生成Widget图标的方法,其特征在于,所述方法包括:
获得Widget摘要文件;
解析所述Widget摘要文件,并执行解析后的Widget摘要文件;
根据执行后的Widget摘要文件生成Widget图标。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定刷新周期是否到期;
当到期时,调用所述Widget摘要文件。
3.根据权利要求1所述的方法,其特征在于,所述解析所述Widget摘要文件,并执行解析后的Widget摘要文件的步骤包括:
解析所述Widget摘要文件,以获得所述Widget摘要文件中的代码;
根据所述代码从服务器获得信息和生成客户端的本地信息;
将包括所述从服务器获得的信息和客户端的本地信息的Widget摘要文件的格式转换为DOM树的格式。
4.一种Widget摘要文件的生成方法,其特征在于,所述Widget摘要文件应用于Widget图标,所述方法包括:
模拟运行Widget以生成DOM树;
获得所述DOM树的重要信息的代码,所述重要信息的代码包括执行生成客户端的本地信息和从服务器获得信息操作相关联的代码;
将所述代码生成所述Widget摘要文件。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述DOM树存在产生新的DOM树的代码,并且所述DOM树的代码的执行层次小于预定阈值时,模拟事件触发;
模拟运行Widget,以生成另一个DOM树。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述DOM树不存在产生新的DOM树的代码,或所述DOM树的代码的执行层次不小于预定阈值时,获得所述DOM树中的重要信息的代码以生成所述Widget摘要文件。
7.根据权利要求6所述的方法,其特征在于,所述获得所述DOM树中的重要信息的代码以生成所述Widget摘要文件的步骤包括:
获得所述DOM树的重要信息,所述重要信息包括客户端的本地信息和从服务器获得的信息;
获得生成所述重要信息的代码。
8.一种生成Widget图标的Widget引擎,其特征在于,所述Widget引擎包括管理单元及解析单元;
所述管理单元还包括:
加载子单元,用于获得Widget摘要文件,并调用所述解析单元以解析所述Widget摘要文件和执行解析后的Widget摘要文件;
更新子单元,用于根据执行后的Widget摘要文件生成Widget图标。
9.根据权利要求8所述的Widget引擎,其特征在于,所述加载子单元还用于在周期到期时,获得所述Widget摘要文件。
10.根据权利要求8所述的Widget引擎,其特征在于,所述解析单元用于解析所述Widget摘要文件,以获得所述Widget摘要文件中的代码,并根据所述代码从服务器获得信息和生成客户端的本地信息,及将包括所述从服务器获得的信息和客户端的本地信息的Widget摘要文件的格式转换为DOM树的格式。
11.一种Widget摘要文件的生成装置,其特征在于,所述装置包括:
模拟运行单元,用于模拟运行Widget以生成DOM树;
摘要生成单元,用于获得所述DOM树的重要信息的代码,所述重要信息的代码包括执行生成客户端的本地信息和从服务器获得信息操作相关联的代码,将所述代码生成生成所述Widget摘要文件。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括判断单元,用于确定所述DOM树是否存在产生新的DOM树的代码,或确定所述DOM树的代码的执行层次是否小于预定阈值。
13.根据权利要求12所述的装置,其特征在于,所述摘要生成单元还用于当确定所述DOM树不存在产生新的DOM树的代码,或确定所述DOM树的代码的执行层次不小于预定阈值时,获得所述DOM树中的重要信息的代码以生成所述Widget摘要文件。
14.根据权利要求12所述的装置,其特征在于,所述模拟运行单元还用于当确定所述DOM树存在产生新的DOM树的代码,并且确定所述DOM树的代码的执行层次小于预定阈值时,模拟事件触发。
15.根据权利要求11所述的装置,其特征在于,所述摘要生成单元还用于获得所述DOM树的重要信息,其中,所述重要信息包括客户端的本地信息和从服务器获得的信息。
16.根据权利要求11所述的装置,其特征在于,所述装置还包括记录单元,用于记录生成的DOM树的数据,所述数据包括生成DOM树的代码和所述代码的执行层次。
17.一种客户端设备,其特征在于,所述设备包括:
Widget摘要文件的生成装置,用于模拟运行Widget以生成DOM树,并当所述DOM树不存在产生新的DOM树的代码,或所述DOM树的代码的执行层次不小于预定阈值时,获得所述DOM树中的重要信息的代码以生成所述Widget摘要文件;
Widget引擎,用于通过所述Widget摘要文件生成Widget图标。
18.根据权利要求17所述的设备,其特征在于,所述重要信息包括客户端的本地信息和从服务器获得的信息,所述重要信息的代码包括执行生成客户端的本地信息和从服务器获得信息操作相关联的代码。
CN2009101086102A 2009-07-01 2009-07-01 一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎 Active CN101937335B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN2009101086102A CN101937335B (zh) 2009-07-01 2009-07-01 一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎
EP09180140A EP2275928A1 (en) 2009-07-01 2009-12-21 Method for generating widget icon, client device, and widget engine
US12/647,292 US20110004602A1 (en) 2009-07-01 2009-12-24 Method for generating widget icon, apparatus for generating widget summary information file, and widget engine
PCT/CN2010/070019 WO2011000222A1 (zh) 2009-07-01 2010-01-05 一种生成widget图标的方法、widget摘要文件的生成方法及widget引擎

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101086102A CN101937335B (zh) 2009-07-01 2009-07-01 一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎

Publications (2)

Publication Number Publication Date
CN101937335A true CN101937335A (zh) 2011-01-05
CN101937335B CN101937335B (zh) 2013-08-14

Family

ID=42083925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101086102A Active CN101937335B (zh) 2009-07-01 2009-07-01 一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎

Country Status (4)

Country Link
US (1) US20110004602A1 (zh)
EP (1) EP2275928A1 (zh)
CN (1) CN101937335B (zh)
WO (1) WO2011000222A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799640A (zh) * 2012-06-27 2012-11-28 用友软件股份有限公司 页面加载装置和页面加载方法
WO2014190776A1 (en) * 2013-05-28 2014-12-04 Tencent Technology (Shenzhen) Company Limited Method and apparatus for notifying a user of updated content for a webpage
US10037384B2 (en) 2013-05-28 2018-07-31 Tencent Technology (Shenzhen) Company Limited Method and apparatus for notifying a user of updated content for a webpage
CN109614191A (zh) * 2018-12-07 2019-04-12 上海商米科技有限公司 应用的处理方法及装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9001055B2 (en) * 2010-11-26 2015-04-07 Htc Corporation Portable device and method for operating portable device
CN102694670B (zh) * 2011-03-23 2015-01-28 中兴通讯股份有限公司 一种三网融合Widget管理平台、实现方法及系统
US20150088807A1 (en) * 2013-09-25 2015-03-26 Infobright Inc. System and method for granular scalability in analytical data processing
CN106250107A (zh) * 2016-07-18 2016-12-21 福建天泉教育科技有限公司 一种数据统计方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004036976A1 (de) * 2004-07-30 2006-03-23 Siemens Ag Verfahren zur Generierung von Internetseiten, zugehöriges Computerprogramm und Computersystem
US8566705B2 (en) * 2004-12-21 2013-10-22 Ricoh Co., Ltd. Dynamic document icons
CN100505640C (zh) * 2006-01-26 2009-06-24 腾讯科技(深圳)有限公司 一种软件升级方法及系统
CN101075236A (zh) * 2006-06-12 2007-11-21 腾讯科技(深圳)有限公司 一种加快浏览器网页显示的装置和方法
US20080077945A1 (en) * 2006-08-31 2008-03-27 Ramasubramaniyam Sethuraman System and method for providing a graphical user interface for disparate applications
US9183002B2 (en) * 2006-10-23 2015-11-10 InMobi Pte Ltd. Method and system for providing a widget for displaying multimedia content
JP5147352B2 (ja) * 2007-10-16 2013-02-20 株式会社日立製作所 データ処理装置の情報提供方法
CN101202665B (zh) * 2007-12-06 2011-04-13 中兴通讯股份有限公司 图形用户界面的生成方法
CN101206668B (zh) * 2007-12-14 2011-05-04 北大方正集团有限公司 一种网站内容组件生成方法、解析方法及装置
CN101572598B (zh) * 2008-04-28 2013-03-06 国际商业机器公司 用于可靠的快速集成的方法和装置
KR101361507B1 (ko) * 2008-08-22 2014-02-10 삼성전자 주식회사 웹서버가 내장된 화상형성장치, 클라이언트 및 화상형성시스템의 제어방법
US20100077302A1 (en) * 2008-09-23 2010-03-25 Nokia Corporation Method and Apparatus for Displaying Contact Widgets

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799640A (zh) * 2012-06-27 2012-11-28 用友软件股份有限公司 页面加载装置和页面加载方法
CN102799640B (zh) * 2012-06-27 2015-09-02 用友软件股份有限公司 页面加载装置和页面加载方法
WO2014190776A1 (en) * 2013-05-28 2014-12-04 Tencent Technology (Shenzhen) Company Limited Method and apparatus for notifying a user of updated content for a webpage
US10037384B2 (en) 2013-05-28 2018-07-31 Tencent Technology (Shenzhen) Company Limited Method and apparatus for notifying a user of updated content for a webpage
US11106745B2 (en) 2013-05-28 2021-08-31 Tencent Technology (Shenzhen) Company Limited Method and apparatus for notifying a user of updated content for a webpage
CN109614191A (zh) * 2018-12-07 2019-04-12 上海商米科技有限公司 应用的处理方法及装置

Also Published As

Publication number Publication date
EP2275928A1 (en) 2011-01-19
WO2011000222A1 (zh) 2011-01-06
CN101937335B (zh) 2013-08-14
US20110004602A1 (en) 2011-01-06

Similar Documents

Publication Publication Date Title
CN101937335B (zh) 一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎
CN102520972B (zh) 电子游戏开发系统及其方法
BR112019024309A2 (pt) editar base de dados durante visualização de página da web virtual
CN110058856A (zh) 页面配置方法及装置
CN108768728A (zh) 运维任务处理方法、装置、计算机设备和存储介质
CN104572043A (zh) 一种对客户端应用的控件进行实时埋点的方法及装置
US20110307238A1 (en) Methods for utilizing a javascript emulator in a web content proxy server and devices thereof
CN106293664A (zh) 代码生成方法及装置
CN103488674B (zh) 计算系统和计算系统的执行控制方法
US11294799B2 (en) Plugin for multi-module code coverage in web applications
US20210248278A1 (en) Process architecture modeling platform
CN108958788A (zh) 自动同步刷新浏览器的方法、装置及计算机设备
CN110941428B (zh) 一种网站创建方法和装置
CN103530338A (zh) 在计算设备上进行页面渲染的框架及生成页面的方法
CN112084446A (zh) 一种网页编辑方法、编辑器、电子设备和可读存储介质
CN109343858A (zh) 一种基于服务端渲染的自动建站容器部署系统及其工作方法
CN102004648B (zh) 程序定制方法和装置
CN115826963A (zh) 基于低代码开发平台进行的流程事件开发复用方法及系统
Brabra et al. Model-driven elasticity for cloud resources
CN113485909A (zh) 测试方法、装置、计算设备以及介质
CN112861059A (zh) 可视化组件生成方法、装置、计算机设备及可读存储介质
CN116301856B (zh) 一种可视化表单设计器的设计方法、装置、设备及介质
CN112631563A (zh) 基于框架的系统开发方法、装置、计算机设备及存储介质
CN104461893A (zh) 数据处理方法与数据处理装置
CN116483707A (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
TR01 Transfer of patent right

Effective date of registration: 20201106

Address after: 215500 No.13, Caotang Road, Changshu, Suzhou, Jiangsu Province

Patentee after: Changshu intellectual property operation center Co.,Ltd.

Address before: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20201106

Address after: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
CP02 Change in the address of a patent holder

Address after: 215500 5th floor, building 4, 68 Lianfeng Road, Changfu street, Changshu City, Suzhou City, Jiangsu Province

Patentee after: Changshu intellectual property operation center Co.,Ltd.

Address before: No.13 caodang Road, Changshu City, Suzhou City, Jiangsu Province

Patentee before: Changshu intellectual property operation center Co.,Ltd.

CP02 Change in the address of a patent holder