CN105446986B - 用于处理web页面的方法和装置 - Google Patents
用于处理web页面的方法和装置 Download PDFInfo
- Publication number
- CN105446986B CN105446986B CN201410307358.9A CN201410307358A CN105446986B CN 105446986 B CN105446986 B CN 105446986B CN 201410307358 A CN201410307358 A CN 201410307358A CN 105446986 B CN105446986 B CN 105446986B
- Authority
- CN
- China
- Prior art keywords
- attribute
- web page
- schema elements
- target
- source
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
Abstract
本发明提供一种用于处理web页面的方法和装置,该方法包括:标识所述web页面的多个源数据模式元素,基于数据模式元素的属性,确定所述多个源数据模式元素中的一个源数据模式元素与多个目标数据模式元素中的一个目标数据模式元素之间的属性相似度;以及响应于所述属性相似度高于第一预定阈值,将所述源数据模式元素映射到所述目标数据模式元素,以生成目标web页面。通过该方法,可以高效便捷地对web页面中的数据模式元素或模板语言元素进行变换,由此可以对web页面进行变换,提高了变换的效率。
Description
技术领域
本发明的实施方式涉及对计算机应用进行处理的领域,更具体地,涉及一种用于处理web页面的方法和装置。
背景技术
随着网络和计算机应用技术的快速发展,基于web的应用变得基于计算机的应用的主要形式。在web页面中,通常通过web模板来呈现数据。举例而言,web模板系统使用模板处理器来组合web模板以形成完成的web页面。模板处理器被设计成将模板与数据模型组合以产生完成的web页面。模板语言是模板被编写的语言。由于各种要求和快速扩展的web技术,涌现出许多模板系统,例如Django、JSP和Struts。另一方面,web页面中的数据则通过数据模式(Data Schema)来存放,由此方便构造数据之间的内在联系。
由于web页面、尤其是动态web页面的技术更新很快,因此经常要对web页面进行更新和升级,其既可能包括有关web页面模板语言的更新,也可能包括有关数据模式的更新。在传统的升级方法中,由于无法建立源web页面中模板/数据模式和目标模板/数据模式的相应联系,这样的更新和升级只能手动进行,既耗时又耗力,效率很低。
发明内容
为了解决现有技术中存在的上述问题,本说明书提出如下方案。
根据本发明的第一方面,提供一种用于处理web页面的方法,包括:标识所述web页面的多个源数据模式元素;基于数据模式元素的属性,确定所多个源数据模式元素中的一个源数据模式元素与多个目标数据模式元素中的一个目标数据模式元素之间的属性相似度;以响应于所述属性相似度高于预定阈值,将所述源数据模式元素映射到所述目标数据模式元素,以生成目标web页面。
根据本发明的第二方面,提供一种用于处理web页面的装置,包括:第一标识单元,被配置为标识所述web页面的多个源数据模式元素;属性相似度确定单元,被配置为基于数据模式元素的属性,确定所述多个源数据模式元素中的一个源数据模式元素与多个目标数据模式元素中的一个目标数据模式元素之间的属性相似度;以及第一映射单元,被配置为响应于所述属性相似度高于预定阈值,将所述源数据模式元素映射到所述目标数据模式元素,以生成目标web页面。
根据本发明的实施方式,可以高效便捷地对web页面中的数据模式元素或模板语言元素进行变换,由此可以对web页面进行变换,提高了变换的效率。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
图2示出了根据本发明示例性实施方式的用于处理web页面的方法200的流程图。
图3示出了一个用于进行产品比较服务的示例性web页面。
图4示出了根据本发明示例性实施方式将图3所示出的web页面解析成的DOM树。
图5示出了在图3中所示出的web页面中获得某一数据模式元素的上下文信息的示意性步骤。
图6和图7示出了根据本发明示例性实施方式的源数据模式元素的树形结构和目标数据模式元素的树形结构及其关系的示意图。
图8示出了根据本发明实施方式的对web页面进行更新的方法的流程图800。
图9示出了根据本发明示例性实施方式的用于处理web页面的装置900的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参看图2,图2示出了根据本发明示例性实施方式用于处理web页面的方法200的流程图。根据方法200,在步骤S201中,首先标识web页面的多个源数据模式元素。继而,在步骤S202中,基于数据模式元素的属性,确定所述多个源数据模式元素中的一个源数据模式元素与多个目标数据模式元素中的一个目标数据模式元素之间的属性相似度。接下来,在步骤S203中,响应于属性相似度高于第一预定阈值,将源数据模式元素映射到目标数据模式元素。
如前所述,web页面(尤其是动态HTML页面)通常包括用于呈现数据的模板语言(与之关联的数据元素在本上下文中被称为“模板语言元素”)和与数据本身有关的数据模式(与之关联的数据元素在本上下文中被称为“数据模式元素”)。对web页面的变换(如更新、升级等)既可以包括对其中的数据模式元素的变换,也可以包括对其中的模板语言元素的变换,或者对其二者的变换。图3示出了一个用于进行产品比较服务的示例性web页面(以JSP作为模板语言)。本领域技术人员应当理解,虽然在图3中示出的是JSP web页面,但其他类型的web页面也在本发明的构思之内,本发明在此不受限制。另外需要注意的是,图3的上部示出的是该产品比较服务的用户界面,下部示出的是对应的底层源代码。如无其他指示,在本文中所称的web页面指代其源代码。由于模板语言具有一定的语言规范,因此很容易在web页面中找到它们。例如,如图3所示,在301、302和305中以“<bean:”开头的若干元素是模板语言元素;303和304中以“<logic:”开头的若干元素是模板语言元素。另外,303中“products”和305中“products”的各属性“id”、“name”、“priceA”、“priceB”和“priceC”等则是数据模式元素。
在实践中,为了便于从web页面中标识出模板语言元素和数据模式元素,可以首先将web页面解析成文档对象化模型(DOM),由此获得web页面的例如树形层级结构。图4示出了将图3所示出的web页面解析成的DOM树。根据所解析的DOM树,可以容易地标识出模板语言元素,并继而标识出数据模式元素。如图4所示,通过遍历该DOM树,可以根据模板语言的规范找到模板语言元素。比如根据语言规范,以“bean:”开头的内容通常属于模板语言元素,则可以由此标识出图4中各实线框中的模板语言元素。继而,可以进一步根据该模板语言的规范,从模板语言元素中标识出数据模式元素。例如,根据语言规范,在模板语言元素中的“name”的属性是数据模式元素,则在图4的第一个框中的模板语言元素“bean:sizename=products”中容易地找出数据模式元素“products”。本领域技术人员应当理解,对web页面进行解析以获得DOM树仅是为了帮助获得模板语言元素和数据模式元素的可选步骤,现有技术中的任何其他可能方式均可应用于此来获得模板语言元素和数据模式元素,本发明在此方面不受限制。
除此之外,备选地还可以针对每个数据模式元素标识出关于该数据模式元素的上下文信息。该上下文信息可以至少基于该数据模式元素的背景信息或其关联信息。在web页面为HTML页面时,该上下文信息例如可以包括该数据模式元素所位于的HTML元素(下文以E表示),或者与该HTML元素相关的进一步HTML元素(下文以Rs表示),也可以备选地包括在HTML元素中的相关数据。在将web页面解析成DOM树的情况下,对于作为叶子节点的某一数据模式元素而言,其上下文信息还可以例如包括其父节点,或者被标记为标题或表头的祖先节点等的信息。在实现中,举例而言,可以在如下位置找到E:web页面中该数据模式元素周围的文本内容、通用属性(如id、名称(name)和类(class))。另外,对于某些数据模式元素而言,还可在特定的属性中找到E,如<a>的href,<img>的alt,<input>的值和<label>所用于的对象。对于作为DOM树中的叶子节点的数据模式元素,则可以将该节点的兄弟节点的属性值和内容作为E。类似的,可以考虑如下规则来找到Rs:
1.如果该数据模式元素在<td>中:可在同一栏中的表头单元中寻找;
2.对于<fieldset>中的该数据模式元素:在<legend>中寻找;
3.对带有“name”属性的该数据模式元素:在<label>中寻找<for>值相同的信息;
4.上方<h1>~<h6>的元素;
5.对于<option>中的该数据模式元素:寻找父节点为<select>的元素。
图5示出了在图3中所示出的web页面中获得某一数据模式元素的上下文信息的示意性步骤。如图5所示,根节点products的各子节点(id、name、priceA、priceB以及priceC)派生自图3所示的web页面的product的各个属性。其中,针对数据模式元素501“priceA”所标识的上下文信息(如其下多个椭圆框所示)可以这样获得:
1.首先在web页面中寻找该数据模式元素501所位于的HTML元素502中的背景信息或关联信息,如关键字(一般是其中的“有含义的词”),例如找到“product”(即上文的E);
2.接着,由于该数据模式元素501在<td>中,根据Rs的寻找规则,可在同一栏中的表头单元,即503中寻找关键字,例如找到“product”、“provider”和“a”;
3.接下来,到该数据模式元素501的上一级表头504中寻找关键字,例如找到“products”和“product”。可选地,由于前者在字符串上包含后者,可以仅记录前者作为上下文信息;
4.然后,到再上一级表头505中寻找关键字,例如找到“product”和“list”;
5.继而,到更上一级的表头506中寻找关键字,例如找到“pane”、“title”、“list”、“product”、“shopping”、“online”等。
以上仅示出了从web页面中获得某一数据模式元素的示意性步骤,本领域技术人员应当理解,上述步骤并非穷举性的,其可以根据需要增加、删除某些步骤,以获得适当的上下文。另外,可以看到,元素501“priceA”的各上下文信息可以按照其关联程度分层级。例如在图5中,一般认为从502中寻找到的上下文信息“product”等相对于从506中寻找到的上下文信息“pane”等而言更为关联。在可选的实现中,还可以通过考虑是否是HTML标记名和属性名、是否是模板语言标记名或属性名等来根据需要对该上下文信息进行修剪。
回到图2的步骤S201,在需要将源web页面变换为模板web页面时,针对其中数据模式元素部分的变换,可以先基于数据模式元素的属性来分别计算该源数据模式元素与多个预先提供的目标数据模式元素中的各个目标数据模式元素之间的属性相似度。属性通常包括数据模式元素自身的属性和/或其继承的属性(特别地可以是名称属性)。例如,在图5中,节点priceA的属性可以包括其自身的名称属性“priceA”以及其所继承的父节点的名称属性“products”。
图6和图7示出了源数据模式元素的树形结构和目标数据模式元素的树形结构及其关系的示意图。如图6所示,源数据模型是源数据模式元素的代表,其可以通过解析源web页面来获得。将目标数据模型表示为树的形式。其中每个叶子节点与关键字关联。类似地,目标数据模型是目标数据模式元素的代表,其可以例如表示由表和属性组成的关系模型。也可将数据模型D表示为树的形式,其中每个第一级节点对应于表,并且第二级节点是其父节点(表)的属性。两个叶子节点之间的链接表示它们之间的外键关系。为了将源数据模型中的各节点(数据模式元素)映射到数据模型D中的各节点,可以通过计算节点之间的属性相似度来反映节点的相似度。为了计算任一源数据模式元素A与任一目标数据模式元素B之间的属性相似度Similarity1(A,B),首先定义一些术语:
1.两个单词之间的编辑距离eDis:将一个单词改变成另一单词所需要编辑(包括插入、删除、替换)的单个字符的最小数目。例如,eDis(products, productList)=3,因为将单词”products”变换到单词“productList”最少需要插入3个字符:“L”、“i”和“t”。
2.从单词w到单词集合S的距离Dis(w,S):从w到S中的任何单词的最小编辑距离。例如Dis(products,{productList, name})=3
基于如上定义,源数据模式元素与目标数据模式元素之间的属性相似度至少部分地基于如下来确定:该源数据模式元素的属性集合中的每个属性与该目标数据模式元素的属性集合的距离、该目标数据模式元素的属性集合中的每个属性与该源数据模式元素的属性集合的距离、以及该源数据模式元素的属性集合和该目标数据模式元素的属性集合中的所有属性的名称的字符串长度。
例如,在实现中,可以通过公式(1)来计算源数据模式元素A与目标数据模式元素B之间的相似度Similarity1(A,B):
Similarity1(A,B)=1-[∑win WA Dis(w,WB)+∑w in WBDis(w,WA)]/[2×∑w inWA or WBStringLength(w)]
(1)
其中,WA和WB分别是A和B的属性集合,StringLength(w)是w的字符串长度。
举例而言,参看图7,在要将源数据模式元素A映射到适当的目标数据模式元素时,逐一计算其与各目标数据模式元素的相似度。根据公式(1),例如其与目标数据模式元素B的相似度为
其中A:{id,products},B:{id,productList},id和products是A的属性,而id和productList是B的属性。
同样,针对源数据模式元素C,逐一计算其与各目标数据模式元素的相似度。根据公式(1),例如其与目标数据模式元素D的相似度为
其中C:{priceA,products},D:{price,providerA},priceA和products是C的属性,而price和providerA是D的属性。
如果第一预定阈值的大小被预先设定为0.8,则可以将源数据模式元素A映射到目标数据模式元素B,这时已经找到所要映射到的目标数据模式,因此不再对A继续进行比较。相反,由于C和D之间的属性相似度低于第一预定阈值0.8,因此,此时不将C映射到D。
本领域技术人员应当理解,上述公式(1)是计算属性之间的相似度的一个具体实现,并不能作为对本发明的限制。现有技术中任何其他计算属性间相似度的方法均在本发明的构思内。
回到图2,方法200还可选地包括步骤S204,响应于属性相似度低于该第一预定阈值,基于数据模式元素的属性及上下文信息,确定源数据模式元素和目标数据模式元素之间的上下文相似度;以及步骤S205,响应于上下文相似度高于第二预定阈值,将该源数据模式元素映射到该目标数据模式元素。需要注意的是,虚线框中的步骤S204和S205并非是必须的,而是一种可选的方式。例如,完全可以通过仅执行步骤S201-S203来在满足阈值条件时完成对数据模式元素的变换。在这种情况下,也可以在属性相似度低于第一预定阈值时,更换目标数据模式元素来重新计算属性相似度。还需注意的是,这里的第一预定阈值和第二预定阈值既可以相同也可以不同,可以根据需要分别进行设定。
在考虑上下文信息的情况下(即步骤S204和S205),可以通过公式(2)来综合计算源数据模式元素A与目标数据模式元素B之间的相似度Similarity2(A,B):
Similarity2(A,B)=1-[∑w in WB Dis(w,WA)]/[2×∑w in WB StringLength(w)] (2)
其中,WA和WB分别是A和B的属性以及上下文信息的集合,StringLength(w)是w的字符串长度。
同样,本领域技术人员应当理解,上述公式(2)是计算属性之间的相似度的一个具体实现,并不能作为对本发明的限制。现有技术中任何其他计算属性间相似度的方法均在本发明的构思内。
仍以图7为例,继续考虑源数据模式元素C和D。在C和D的属性相似度低于第一预定阈值0.8时,引入C的上下文信息“provider,product,a,list,…”和D的上下文信息“productList”来进一步根据公式(2)计算二者的上下文相似度:
其中,C:{priceA,products,provider,…},B:{price,providerA,productList},priceA和products是C的属性,provider,…是C的上下文信息(可以根据需要增加或减少);price和providerA是D的属性,productList是D的上下文信息。
如果第二预定阈值的大小同样被预先设定为0.85,由于所获得的上下文相似度0.9高于该第二预定阈值,这时可以将源数据模式元素C映射到目标数据模式元素D,并结束对C的目标数据模式元素的寻找。
如上所述,可以通过图2所示的步骤S201-S203,或者S201-S205将源web页面中的数据模式元素进行变换,从而获得更新的目标数据模式元素。在对源web页面的变换仅涉及到数据模式元素的情况下,可以基于源web页面的源模板语言元素以及变换后的目标数据模式元素来生成目标web页面。除此之外,对web页面的变换还可以包括对web页面中的模板语言元素的变换。图8示出了根据本发明实施方式的对web页面进行更新的方法的流程图800。流程图800包括步骤S801,标识web页面的多个源模板语言元素;步骤S802,基于预定义的映射关系,将web页面的模板语言元素变换成目标模板语言元素;以及步骤S803,基于该目标模板语言元素以及web页面中的源数据模式元素所映射到的目标数据模式元素,生成目标web页面。相比起数据模式元素的变换,在步骤S802中,模板语言元素的变换并不需要进行相似度的比较,而是根据源模板语言与目标模板语言的语言规范,预先建立两种语言之间的映射关系。这些映射关系除了数据类型的映射之外,还可以包括对象、函数、运算符、比较、条件、循环等方面的映射。
在已经通过方法200的步骤S201-S203,或S201-S205获得源web页面中的各数据模式元素所映射到的目标数据模式元素、并且已经通过方法800的步骤S801-S802获得源web页面中的源模板语言元素被变换成的目标模板语言元素时,在步骤S803中就可以容易地基于该目标数据模式元素和该模板语言元素生成目标web页面。就这点而言,基于所提供的源web页面、所提供的目标数据模式以及所提供的目标模板语言等输入,可以自动地获得相应的目标web页面,极大地提高了web页面(尤其是动态HTML页面)的变换效率。
接下来参看图9进一步描述根据本发明示例性实施方式的用于处理web页面的装置900的示意性框图。
如图所示,装置900包括第一标识单元901,被配置为标识所述web页面的多个源数据模式元素;属性相似度确定单元902,被配置为基于数据模式元素的属性,确定所述多个源数据模式元素中的一个源数据模式元素与多个目标数据模式元素中的一个目标数据模式元素之间的属性相似度;以及第一映射单元903,被配置为响应于所述属性相似度高于预定阈值,将所述源数据模式元素映射到所述目标数据模式元素,以生成目标web页面。
在本发明的可选实施方式中,装置900还包括上下文相似度确定单元904,被配置为响应于所述属性相似度低于所述第一预定阈值,基于数据模式元素的属性及上下文信息来确定所述源数据模式元素与所述目标数据模式元素之间的上下文相似度;以及第二映射单元905,被配置为响应于所述上下文相似度高于第二预定阈值,将所述源数据模式元素映射到所述目标数据模式元素。
在本发明的可选实施方式中,装置900还包括第二标识单元906,被配置为标识所述web页面的多个源模板语言元素;变换单元907,被配置为基于预定义的映射关系,将所述多个源模板语言元素变换成多个目标模板语言元素;以及生成单元908,被配置为基于所述多个目标模板语言元素以及所述web页面中的所述多个源数据模式元素所映射到的多个所述目标数据模式元素,生成目标web页面。
在本发明的可选实施方式中,所述源数据模式元素与所述目标数据模式元素之间的属性相似度至少部分地基于如下来确定:所述源数据模式元素的属性集合中的每个属性与所述目标数据模式元素的属性集合的距离、所述目标数据模式元素的属性集合中的每个属性与所述源数据模式元素的属性集合的距离、以及所述源数据模式元素的属性集合和所述目标数据模式元素的属性集合中的所有属性的字符串长度。其中,属性与属性集合的距离是所述属性与所述属性集合中的每个属性之间的编辑距离中的最小值,属性与属性之间的编辑距离是将其中任一属性改变成另一属性所需要的单个字符编辑的最小数目。
在本发明的可选实施方式中,数据模式元素的属性至少包括下列中的一个或多个:所述数据模式元素自身的属性,以及其所继承的属性。
在本发明的可选实施方式中,上下文信息至少基于下列中的一个或多个:所述数据模式元素的背景信息以及关联信息。
在本发明的可选实施方式中,装置900还包括解析单元909,被配置为将所述web页面解析成文档对象模型,以便标识所述源数据模式元素或所述目标数据模式元素。
在本发明的可选实施方式中,web页面是动态HTML页面。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (14)
1.一种用于处理web页面的方法,包括:
标识所述web页面的多个源数据模式元素;
基于数据模式元素的属性,确定所述多个源数据模式元素中的一个源数据模式元素与多个目标数据模式元素中的一个目标数据模式元素之间的属性相似度;
响应于所述属性相似度高于第一预定阈值,将所述源数据模式元素映射到所述目标数据模式元素,以生成目标web页面;
标识所述web页面的多个源模板语言元素;
基于预定义的映射关系,将所述多个源模板语言元素变换成多个目标模板语言元素,其中,所述预定义的映射关系包括根据源模板语言和目标模板语言的语言规范建立的映射关系;以及
基于所述多个目标模板语言元素以及所述web页面中的所述多个源数据模式元素所映射到的多个所述目标数据模式元素,生成目标web页面。
2.根据权利要求1所述的方法,还包括:
响应于所述属性相似度低于所述第一预定阈值,基于数据模式元素的属性及上下文信息,确定所述源数据模式元素与所述目标数据模式元素之间的上下文相似度;以及
响应于所述上下文相似度高于第二预定阈值,将所述源数据模式元素映射到所述目标数据模式元素。
3.根据权利要求1或2所述的方法,其中,所述源数据模式元素与所述目标数据模式元素之间的属性相似度至少部分地基于如下来确定:
所述源数据模式元素的属性集合中的每个属性与所述目标数据模式元素的属性集合的距离、所述目标数据模式元素的属性集合中的每个属性与所述源数据模式元素的属性集合的距离、以及所述源数据模式元素的属性集合和所述目标数据模式元素的属性集合中的所有属性的名称的字符串长度;
其中,属性与属性集合的距离是所述属性与所述属性集合中的每个属性之间的编辑距离中的最小值,属性与属性之间的编辑距离是将其中任一属性的名称改变成另一属性的名称所需要编辑的单个字符的最小数目。
4.根据权利要求1或2所述的方法,其中,所述数据模式元素的属性至少包括下列中的一个或多个:所述数据模式元素自身的属性,以及其所继承的属性。
5.根据权利要求2所述的方法,其中,所述上下文信息至少基于下列中的一个或多个:所述数据模式元素的背景信息以及关联信息。
6.根据权利要求1或2所述的方法,还包括:
将所述web页面解析成文档对象模型,以便标识所述源数据模式元素或所述目标数据模式元素。
7.根据权利要求1或2所述的方法,其中,所述web页面是动态HTML页面。
8.一种用于处理web页面的装置,包括:
第一标识单元,被配置为标识所述web页面的多个源数据模式元素;
属性相似度确定单元,被配置为基于数据模式元素的属性,确定所述多个源数据模式元素中的一个源数据模式元素与多个目标数据模式元素中的一个目标数据模式元素之间的属性相似度;
第一映射单元,被配置为响应于所述属性相似度高于第一预定阈值,将所述源数据模式元素映射到所述目标数据模式元素,以生成目标web页面;
第二标识单元,被配置为标识所述web页面的多个源模板语言元素;
变换单元,被配置为基于预定义的映射关系,将所述多个源模板语言元素变换成多个目标模板语言元素,其中,所述预定义的映射关系包括根据源模板语言和目标模板语言的语言规范建立的映射关系;以及
生成单元,被配置为基于所述多个目标模板语言元素以及所述web页面中的所述多个源数据模式元素所映射到的多个所述目标数据模式元素,生成目标web页面。
9.根据权利要求8所述的装置,还包括:
上下文相似度确定单元,被配置为响应于所述属性相似度低于所述第一预定阈值,基于数据模式元素的属性及上下文信息来确定所述源数据模式元素与所述目标数据模式元素之间的上下文相似度;以及
第二映射单元,被配置为响应于所述上下文相似度高于第二预定阈值,将所述源数据模式元素映射到所述目标数据模式元素。
10.根据权利要求8或9所述的装置,其中,所述源数据模式元素与所述目标数据模式元素之间的属性相似度至少部分地基于如下来确定:
所述源数据模式元素的属性集合中的每个属性与所述目标数据模式元素的属性集合的距离、所述目标数据模式元素的属性集合中的每个属性与所述源数据模式元素的属性集合的距离、以及所述源数据模式元素的属性集合和所述目标数据模式元素的属性集合中的所有属性的字符串长度;
其中,属性与属性集合的距离是所述属性与所述属性集合中的每个属性之间的编辑距离中的最小值,属性与属性之间的编辑距离是将其中任一属性改变成另一属性所需要的单个字符编辑的最小数目。
11.根据权利要求8或9所述的装置,其中,所述数据模式元素的属性至少包括下列中的一个或多个:所述数据模式元素自身的属性,以及其所继承的属性。
12.根据权利要求9所述的装置,其中,所述上下文信息至少基于下列中的一个或多个:所述数据模式元素的背景信息以及关联信息。
13.根据权利要求8或9所述的装置,还包括:
解析单元,被配置为将所述web页面解析成文档对象模型,以便标识所述源数据模式元素或所述目标数据模式元素。
14.根据权利要求8或9所述的装置,其中,所述web页面是动态HTML页面。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410307358.9A CN105446986B (zh) | 2014-06-30 | 2014-06-30 | 用于处理web页面的方法和装置 |
US14/724,855 US10223471B2 (en) | 2014-06-30 | 2015-05-29 | Web pages processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410307358.9A CN105446986B (zh) | 2014-06-30 | 2014-06-30 | 用于处理web页面的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105446986A CN105446986A (zh) | 2016-03-30 |
CN105446986B true CN105446986B (zh) | 2018-12-14 |
Family
ID=54930790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410307358.9A Active CN105446986B (zh) | 2014-06-30 | 2014-06-30 | 用于处理web页面的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10223471B2 (zh) |
CN (1) | CN105446986B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160063043A1 (en) * | 2014-08-29 | 2016-03-03 | Accenture Global Services Limited | Versatile Data Model |
US11677809B2 (en) * | 2015-10-15 | 2023-06-13 | Usablenet Inc. | Methods for transforming a server side template into a client side template and devices thereof |
CN106407392A (zh) * | 2016-09-19 | 2017-02-15 | 北京集奥聚合科技有限公司 | 一种基于标记语言的节点映射关系抽取方法及系统 |
US10216823B2 (en) * | 2017-05-31 | 2019-02-26 | HarperDB, Inc. | Systems, methods, and apparatus for hierarchical database |
US20190163761A1 (en) * | 2017-11-29 | 2019-05-30 | International Business Machines Corporation | Automatic customization of a generic web interface |
US10853559B2 (en) * | 2019-03-27 | 2020-12-01 | Charter Communications Operating, Llc | Symmetric text replacement |
CN113051514B (zh) * | 2021-03-26 | 2023-05-26 | 挂号网(杭州)科技有限公司 | 元素的定位方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7490112B1 (en) * | 1997-04-15 | 2009-02-10 | Intellisync Corporation | System and methods for synchronizing information among disparate datasets |
US8234312B2 (en) * | 2006-02-28 | 2012-07-31 | Sap Ag | Schema mapping and data transformation on the basis of layout and content |
US8589366B1 (en) * | 2007-11-01 | 2013-11-19 | Google Inc. | Data extraction using templates |
CN103678347A (zh) * | 2012-09-07 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 用于将web站点转换为目标web app站点的方法和装置 |
CN103744942A (zh) * | 2013-12-31 | 2014-04-23 | 广州市动景计算机科技有限公司 | 网页浏览方法及装置、网页浏览终端设备 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2349469A1 (en) * | 2001-06-01 | 2002-12-01 | Ibm Canada Limited-Ibm Canada Limitee | A data instance transformation tool for transforming a source instance to a target instance |
US6996589B1 (en) * | 2002-01-16 | 2006-02-07 | Convergys Cmg Utah, Inc. | System and method for database conversion |
US7873899B2 (en) * | 2002-10-04 | 2011-01-18 | Oracle International Corporation | Mapping schemes for creating and storing electronic documents |
US20040194016A1 (en) | 2003-03-28 | 2004-09-30 | International Business Machines Corporation | Dynamic data migration for structured markup language schema changes |
US20040199905A1 (en) * | 2003-04-01 | 2004-10-07 | International Business Machines Corporation | System and method for translating data from a source schema to a target schema |
US7225411B1 (en) * | 2003-06-30 | 2007-05-29 | Tibco Software Inc. | Efficient transformation of information between a source schema and a target schema |
US8661338B2 (en) * | 2004-01-14 | 2014-02-25 | Xerox Corporation | System and method for dynamic document layout |
US7458021B2 (en) * | 2004-12-23 | 2008-11-25 | Microsoft Corporation | System and method for author-driven template switching in the development and modification of web pages |
US20070239742A1 (en) * | 2006-04-06 | 2007-10-11 | Oracle International Corporation | Determining data elements in heterogeneous schema definitions for possible mapping |
US20080313201A1 (en) * | 2007-06-12 | 2008-12-18 | Christopher Mark Bishop | System and method for compact representation of multiple markup data pages of electronic document data |
TW200933393A (en) | 2008-01-25 | 2009-08-01 | Inventec Corp | Translating system and method of dynamic web page |
US7962547B2 (en) | 2009-01-08 | 2011-06-14 | International Business Machines Corporation | Method for server-side logging of client browser state through markup language |
US8706771B2 (en) * | 2009-09-30 | 2014-04-22 | Smartshift Gmbh | Systems and methods for analyzing and transforming an application from a source installation to a target installation |
US8407598B2 (en) | 2009-12-09 | 2013-03-26 | Ralph Lee Burton | Dynamic web control generation facilitator |
-
2014
- 2014-06-30 CN CN201410307358.9A patent/CN105446986B/zh active Active
-
2015
- 2015-05-29 US US14/724,855 patent/US10223471B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7490112B1 (en) * | 1997-04-15 | 2009-02-10 | Intellisync Corporation | System and methods for synchronizing information among disparate datasets |
US8234312B2 (en) * | 2006-02-28 | 2012-07-31 | Sap Ag | Schema mapping and data transformation on the basis of layout and content |
US8589366B1 (en) * | 2007-11-01 | 2013-11-19 | Google Inc. | Data extraction using templates |
CN103678347A (zh) * | 2012-09-07 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 用于将web站点转换为目标web app站点的方法和装置 |
CN103744942A (zh) * | 2013-12-31 | 2014-04-23 | 广州市动景计算机科技有限公司 | 网页浏览方法及装置、网页浏览终端设备 |
Non-Patent Citations (1)
Title |
---|
A Guided Tour to Approximate String Matching;Navarro;《ACM Computing Surveys》;20010331;第2页第[0003]段 * |
Also Published As
Publication number | Publication date |
---|---|
CN105446986A (zh) | 2016-03-30 |
US10223471B2 (en) | 2019-03-05 |
US20150379156A1 (en) | 2015-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105446986B (zh) | 用于处理web页面的方法和装置 | |
JP6901816B2 (ja) | エンティティ関係データ生成方法、装置、機器、及び記憶媒体 | |
JP7289047B2 (ja) | ブロックに基づく文書メタデータの抽出のための方法、コンピュータ・プログラム及びシステム | |
WO2021042521A1 (zh) | 一种合同自动生成方法、计算机设备及计算机非易失性存储介质 | |
CN111090461B (zh) | 一种基于机器翻译模型的代码注释生成方法 | |
GB2574087A (en) | Compositing aware digital image search | |
US9753905B2 (en) | Generating a document structure using historical versions of a document | |
CN105446725B (zh) | 用于模型驱动开发的方法和系统 | |
CN105446705B (zh) | 用于确定配置文件的特性的方法和装置 | |
US20190179888A1 (en) | Data standardization rules generation | |
CN110377884A (zh) | 文档解析方法、装置、计算机设备及存储介质 | |
JP7300034B2 (ja) | テーブル生成方法、装置、電子機器、記憶媒体及びプログラム | |
US20200327201A1 (en) | Provision of natural language response to business process query | |
CN108121697A (zh) | 一种文本改写的方法、装置、设备和计算机存储介质 | |
CN111553556A (zh) | 业务数据分析方法、装置、计算机设备及存储介质 | |
US10963686B2 (en) | Semantic normalization in document digitization | |
JP5343617B2 (ja) | 文字認識プログラム、文字認識方法および文字認識装置 | |
CN112582073B (zh) | 医疗信息获取方法、装置、电子设备和介质 | |
KR102265946B1 (ko) | 기계 학습 기반 유사 아이템에 관한 정보를 제공하는 방법 및 장치 | |
CN116932730B (zh) | 基于多叉树和大规模语言模型的文档问答方法及相关设备 | |
WO2019085118A1 (zh) | 基于主题模型的关联词分析方法、电子装置及存储介质 | |
JP2023517518A (ja) | ヌル値又は同等の値を有するリレーショナル・テーブルのためのベクトル埋込モデル | |
CN112565875A (zh) | 自动生成视频的方法、装置、设备和计算机可读存储介质 | |
JP7390442B2 (ja) | 文書処理モデルのトレーニング方法、装置、機器、記憶媒体及びプログラム | |
CN110347921A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |