信息处理方法和信息处理设备的制造方法

文档序号:8942915阅读:402来源:国知局
信息处理方法和信息处理设备的制造方法
【技术领域】
[0001]本发明涉及信息处理方法和信息处理设备,更具体地说,涉及能够对多个线程进行检测和管理的信息处理方法和应用该信息处理方法的信息处理设备。
【背景技术】
[0002]随着移动互联网的发展,越来越多的应用开发者开始使用HTML5来开发应用软件。HTML5在给开发者带来方便的同时,也带来了一定的风险。Javascript是在浏览器本地执行的脚本程序,浏览器直接解析而无需编译,一般会跟HTML、CSS结合使用。但是,传统的Javascript是单线程执行的。从而,在执行过程中,浏览器不能执行其他的Javascript脚本,UI渲染线程也会被挂起。
[0003]因此,当使用HTML5开发应用软件时,为了能够同时执行多个JavaScript任务而不阻塞浏览器,引入多线程的机制。
[0004]这样,产生了对多线程进行管理的问题。在多线程的情况下,浏览器需要了解当前正在运行的线程并且能够在适当的时候终止特定线程,否则会导致僵尸的线程存在,而这可能带来安全隐患。例如,僵尸存在的线程是黑客攻击浏览器的重要手段之一。

【发明内容】

[0005]鉴于以上情形,期望提供能够对多个线程进行检测和管理的信息处理方法和应用该信息处理方法的信息处理设备。
[0006]根据本发明的一个方面,提供了一种信息处理方法,应用于一系统平台,所述系统平台包括应用层、中间层和核心层,在核心层中存在一浏览器,所述浏览器包括数据统计单元,用于统计所述浏览器运行中的各种类型节点,所述方法包括如下步骤:当所述浏览器存在两个线程以上的任务时,所述数据统计单元获取各线程的任务处理状态,形成第一信息;以及传递所述第一信息至所述中间层。
[0007]优选地,在根据本发明实施例的方法中,所述线程为WebWorker线程,并且其中所述数据统计单元获取各线程的任务处理状态,形成第一信息的步骤进一步包括:修改所述数据统计单元中的接口函数,以增加生成WebWorker链表的操作;以及通过查找所述数据统计单元生成的WebWorker链表来检测正在运行的WebWorker线程,以形成所述第一信息。
[0008]优选地,在根据本发明实施例的方法中,传递所述第一信息至系统平台的步骤进一步包括:经由接口单元,所述浏览器与所述系统平台的中间层通信,以将所述数据统计单元中的数据发送给所述中间层;以及在所述中间层中,通过与所述数据统计单元中的接口函数对应的函数,对所述数据进行解析,以获得关于正在运行的WebWorker线程的数据。
[0009]优选地,根据本发明实施例的方法可以进一步包括:将所述中间层获得的关于正在运行的WebWorker线程的数据发送给所述系统平台的应用层;以及在所述应用层中,决定是否终止正在运行的WebWorker线程。
[0010]根据本发明的另一个方面,提供了一种信息处理设备,包括:系统平台,包括中间层和核心层;其中在所述核心层中进一步包括:浏览器,用于对网页语法进行解释并渲染网页;其中所述浏览器包括数据统计单元,用于统计各种类型的节点;当所述浏览器存在两个线程以上的任务时,所述数据统计单元获取各线程的任务处理状态,形成第一信息;并且所述信息处理设备进一步包括:接口单元,用于传递所述第一信息至所述中间层。
[0011]优选地,在根据本发明实施例的设备中,所述线程为WebWorker线程,并且其中所述数据统计单元中的接口函数被修改以增加生成WebWorker链表的操作,并且当在所述浏览器中,启动一个或多个WebWorker线程时,通过查找所述数据统计单元生成的WebWorker链表来检测正在运行的WebWorker线程,以形成所述第一信息。
[0012]优选地,在根据本发明实施例的设备中,所述中间层包括与所述数据统计单元中的接口函数对应的函数,用于对所述数据进行解析,以获得关于正在运行的WebWorker线程的数据。
[0013]优选地,在根据本发明实施例的设备中,其中所述系统平台进一步包括:
[0014]应用层,用于接收所述中间层获得的关于正在运行的WebWorker线程的数据,其中所述应用层决定是否终止正在运行的WebWorker线程。
[0015]通过根据本发明实施例的信息处理方法和设备,首先在浏览器中统计当前正在运行的多个线程的列表,从而与现有技术中的浏览器相比,根据本发明的浏览器能够更清楚地了解当前正在运行的线程。其次,通过浏览器与中间层之间的接口,将关于多个线程的运行状态的信息传递给中间层,以便于中间层能够访问所有的运行线程的状态数据。最后,通过将中间层获得的状态数据发送给更上层的应用层,在应用层控制所有的线程,必要时杀死僵尸线程,从而能够有效地管理多个线程,抑制僵尸线程的存在,从而降低系统的安全隐串
■/Q1、O
【附图说明】
[0016]图1是示出根据本发明实施例的信息处理方法的过程的流程图;以及
[0017]图2是示出根据本发明实施例的信息处理设备的配置的框图。
【具体实施方式】
[0018]下面将参照附图对本发明的各个优选的实施方式进行描述。提供以下参照附图的描述,以帮助对由权利要求及其等价物所限定的本发明的示例实施方式的理解。其包括帮助理解的各种具体细节,但它们只能被看作是示例性的。因此,本领域技术人员将认识到,可对这里描述的实施方式进行各种改变和修改,而不脱离本发明的范围和精神。而且,为了使说明书更加清楚简洁,将省略对本领域熟知功能和构造的详细描述。
[0019]首先,将参照图1描述根据本发明实施例的信息处理方法。所述信息处理方法应用于一系统平台,所述系统平台包括应用层、中间层和核心层,在核心层中存在一浏览器,所述浏览器包括数据统计单元,用于统计所述浏览器运行中的各种类型节点。例如,所述系统平台可以为Android平台。所述浏览器可以为Webkit内核的浏览器。在所述浏览器为Webkit内核的浏览器的情况下,所述数据统计单元为HTML collect1n,其用于统计各种类型的节点。如图1所示,所述方法包括如下步骤:
[0020]在步骤S101,判断是否存在两个线程以上的任务。如果在步骤SlOl中判断为是,即:当所述浏览器存在两个线程以上的任务时,处理进行到步骤S102。在步骤S102,所述数据统计单元获取各线程的任务处理状态,形成第一信息。这里,第一信息是所述浏览器能够据以获知当前运行了哪些线程的信息。
[0021]另一方面,如果在步骤SlOl中判断为否,S卩:当所述浏览器仅存在一个线程的任务时,处理结束。
[0022]接下来,处理进行到步骤S103。在步骤S103,传递所述第一信息至系统平台的中间层。
[0023]通过数据统计单元获取各线程的任务处理状态,浏览器可以获知正在运行的是哪些线程。与现有技术中,浏览器无法检测正在运行的各线程的方案相比,能够进行有效管理。
[0024]作为上文中所述的多线程的一种示例,下面将描述当线程为WebWorker线程时的情况。WebWorker是HTML5提供的一个Javascript多线程解决方案,我们可以将一些大计算量的代码交由WebWorker运行而不冻结用户界面。WebWorker的基本原理就是在当前Javascript的主线程中,使用Worker类加载一个Javascript文件来开辟一个新的线程,起到互不阻塞执行的效果,并且提供主线程和新线程之间数据交换的接口。
[0025]当所述线程为WebWorker线程时,在上述方法中,所述数据统计单元获取各线程的任务处理状态,形成第一信息的步骤进一步包括:
[0026]修改所述数据统计单元中的接口函数,以增加生成WebWorker链表的操作;以及
[0027]通过查找所述数据统计单元生成的WebWorker链表来检测正在运行的WebWorker线程,以形成所述第一信息。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1