[发明专利]基于程序切片技术的网页过滤方法有效
申请号: | 201410175921.1 | 申请日: | 2014-04-28 |
公开(公告)号: | CN103970845B | 公开(公告)日: | 2017-03-22 |
发明(设计)人: | 张迎周;孙健;仉雪玲;孙韦翠;高海燕;陈栋;王子元;嵇宇 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/44 |
代理公司: | 南京经纬专利商标代理有限公司32200 | 代理人: | 叶连生 |
地址: | 210023 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明给出了一种基于程序切片技术的网页过滤方法。该方法包括HTML依赖关系的生成、HTML切片的生成、嵌套在HTML里面的JavaScript依赖关系的生成、JavaScript切片这几个功能模块。以客户端网页的脚本源代码为输入,对脚本源代码进行分析,根据HTML中的标签中的依赖关系生成基于HTML的依赖图,之后跟据这个依赖图生成HTML切片。之后再抽取嵌套在HTML中的JavaScript代码,对JavaScript代码的对象级、方法级、语句级代码做出依赖关系的构建,根据依赖关系构造出相对应的依赖图,最后根据切片准则,用图的可达性算法计算出切片。利用这些分层切片对网页的脚本代码进行层层切片处理,筛选出自己感兴趣的内容,过滤掉不感兴趣的或者不良的内容,以达到网页过滤的效果。 | ||
搜索关键词: | 基于 程序 切片 技术 网页 过滤 方法 | ||
【主权项】:
一种基于程序切片技术的网页过滤方法,其特征在于:利用程序切片技术,通过超级文本标记语言HTML以及嵌套在HTML中的一种脚本语言JavaScript中的依赖关系进行切片开发的模型,以达到对网页源代码进行切片处理;该方法包括利用文档对象模型HTML的DOM树构造、JavaScript方法级依赖图、JavaScript语句级依赖图、通过依赖图建立切片这几个功能模块来实现;利用这些分层切片对网页的脚本代码进行层层切片处理,筛选出自己感兴趣的内容,过滤掉不感兴趣的或者不良的内容,以达到网页过滤的效果,所包含的步骤为:步骤1)构建基于DOM树的抽取方式:基于DOM树的抽取方式是基于单一页面的处理,该方式并不关心页面的布局,首先将网页转换成DOM树,根据所处理页面的DOM树把网页内的噪音信息去除,从而抽取出正文信息;步骤2)将HTML文档构建成DOM树的依赖图DOM把一份文档表示为一棵树,DOM树中的一切是以最外层的HTML包含元素即html元素开始的,使用树的比喻,叫做根元素,从根流出的线表示不同标记部分之间的关系;head和body元素是html根元素的孩子;title是head的孩子,head是title的父亲;处在同一层次的且互不包含的两个分支之间称为兄弟关系,整个树就这样组织下去,直到最后的叶子节点变为属性值为止;步骤3)根据DOM依赖图构建切片根据已知的树形依赖图,根据图的可达性算法构建出相应的切片;步骤4)抽取JavaScript代码JavaScript代码在HTML以标签格式存在,编写程序或者使用开放源码的JavaScript引擎SpiderMonkey工具来抽取JavaScript代码;步骤5)构建出JavaScript程序的依赖关系通过对JavaScript源程序进行基于扫描的语法分析,找出所有的对象、变量、方法的定义;按照逻辑结构将JavaScript分为对象层、方法层和语句层,逐层抽取程序语句间的数据依赖和控制依赖关系;通过对JavaScript源程序中赋值语句的左值右值,控制语句的谓词、函数调用语句对实参和全局变量的影响以及对象继承时的多态进行语义分析;针对JavaScript中动态定义对象的模式,实现对象中数据和方法的统一封装处理;步骤6)构造基于对象的系统依赖图根据数据依赖和控制依赖关系构造出由对象层次子图OHG、控制依赖子图CDG、数据依赖子图DDG三个基本层次组成的基于对象的系统依赖图BOSOG;OHG描述了基本对象的结构信息和对象层次信息,其中的顶点包括每个对象的对象首部顶点、定义在每个对象中的每个方法的方法首部顶点,边包括每个对象的对象首部顶点到与其有继承关系的对象的相应对象首部顶点的继承边,由方法首部表示的方法节点到定义该方法的对象的对象首部顶点的类成员边;当一个对象和另一个对象或者系统结合时,通过对象首部节点和对象成员边就能够方便的访问方法的信息;用静态后向切片的方法,包含了方法的多态性表示;DDG中包括了对象的实现,消息动态绑定到对象中的特定方法表示对象间的数据依赖关系;步骤7)实现JavaScript切片算法根据JavaScript自身的特点建立JavaScript语言的分层切片模型,采用对传统的系统依赖图进行基于对象扩充的方案进行JavaScript脚本切片;步骤8)相关的程序片段切分与计算利用两阶段图形可达性算法逆向遍历基于对象的系统依赖图BOSOG,首先在BOSOG上找出从节点n出发,沿数据依赖边或者控制依赖边可以到达的节点进行标记,构成程序关于节点n的程序切片;其次标记在BOSOG中与n相连的节点,然后标记跟这些节点相连的节点,依次计算到不能找到新的节点为止,通过上述遍历过程中的节点标记,计算出相关的程序片段。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410175921.1/,转载请声明来源钻瓜专利网。