程序白名单的检测方法、装置及相关设备与流程

文档序号:30748192发布日期:2022-07-13 08:11阅读:184来源:国知局
程序白名单的检测方法、装置及相关设备与流程

1.本技术涉及核电技术领域,尤其涉及一种程序白名单的检测方法、装置、电子设备和计算机可读存储介质。


背景技术:

2.相关技术中,在系统程序或应用程序启动过程中,程序白名单检测读取完整的系统程序和应用程序的文件内容并计算哈希值,会丧失执行程序分段加载到内存的优势,从而影响操作系统及业务性能。因此,如何更好地实现程序白名单的检测成为亟待解决的问题。


技术实现要素:

3.本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。
4.为此,本发明的第一个目的在于提出一种程序白名单的检测方法。该方法通过程序文件的运行信息,可实现程序白名单的高效检测,有效地解决了操作系统和应用程序启动及执行过程带来的性能问题。
5.本技术的第二个目的在于提出一种程序白名单的检测装置。
6.本技术的第三个目的在于提出一种电子设备。
7.本技术的第四个目的在于提出一种计算机可读存储介质。
8.为达到上述目的,本技术第一方面实施例提出了一种程序白名单的检测方法,所述方法包括:检测程序文件打开时,判断所述程序文件是否存在于预先建立的高频程序白名单列表,其中,所述高频程序白名单列表包括运行信息和多个程序文件;确定所述程序文件存在于预先建立的高频程序白名单列表时,获取所述程序文件在所述高频程序白名单列表中的运行信息;根据所述程序文件在所述高频程序白名单列表的所述运行信息,确定所述程序文件为程序白名单。
9.根据本技术实施例的程序白名单的检测方法,可检测程序文件打开时,判断程序文件是否存在于预先建立的高频程序白名单列表,其中,高频程序白名单列表包括运行信息和多个程序文件,然后确定程序文件存在于预先建立的高频程序白名单列表时,获取程序文件在高频程序白名单列表中的运行信息,之后根据程序文件在高频程序白名单列表的运行信息,确定程序文件为程序白名单。该方法通过程序文件的运行信息,可实现程序白名单的高效检测,有效地解决了操作系统和应用程序启动及执行过程带来的性能问题。
10.根据本技术的一个实施例,所述预先建立的高频程序白名单列表,包括:获取安全运行环境下的程序白名单库;根据运行的模块列表,将所述安全运行环境下的程序白名单库生成所述高频程序白名单列表。
11.根据本技术的一个实施例,所述运行的模块列表包括运行的程序文件,其中,所述根据运行的模块列表,将所述安全运行环境下的程序白名单库生成所述高频程序白名单列表,包括:遍历所述运行的程序文件的属性信息,以生成所述高频程序白名单列表。
12.根据本技术的一个实施例,所述运行信息包括修改标记,还包括:检测所述运行文件的属性信息修改时,则更新所述高频程序白名单列表的修改标记。
13.根据本技术的一个实施例,所述确定所述程序文件存在于预先建立的高频程序白名单列表时,获取所述程序文件在所述高频程序白名单列表中的运行信息,包括:确定所述程序文件存在于预先建立的高频程序白名单列表时,则判断所述程序文件的属性信息与所述程序文件在所述高频程序白名单列表中的所述属性信息是否一致;若是,则判断所述程序文件在所述高频程序白名单列表中是否设置所述运行信息;若是,则获取所述程序文件在所述高频程序白名单列表中的运行信息。
14.根据本技术的一个实施例,还包括:若否,则计算所述程序文件的第一哈希值,并判断所述第一哈希值与所述程序文件在所述高频程序白名单列表中的第二哈希值是否一致;确定所述第一哈希值与所述第二哈希值不一致时,更新所述程序文件在所述高频程序白名单列表中的所述运行信息。
15.根据本技术的一个实施例,所述根据所述程序文件在所述高频程序白名单列表的所述运行信息,确定所述程序文件为程序白名单,包括:判断所述程序文件在所述高频程序白名单列表的所述运行信息未修改,则确定所述程序文件为程序白名单。
16.根据本技术的一个实施例,所述运行信息包括访问次数,所述方法还包括:确定所述程序文件存在于预先建立的高频程序白名单列表时,则更新所述程序文件在所述高频程序白名单列表中的所述访问次数。
17.为达到上述目的,本技术第二方面实施例提出了一种程序白名单的检测装置,所述装置包括:判断模块,用于检测程序文件打开时,判断所述程序文件是否存在于预先建立的高频程序白名单列表,其中,所述高频程序白名单列表包括运行信息和多个程序文件;获取模块,用于确定所述程序文件存在于预先建立的高频程序白名单列表时,获取所述程序文件在所述高频程序白名单列表中的运行信息;确定模块,用于根据所述程序文件在所述高频程序白名单列表的所述运行信息,确定所述程序文件为程序白名单。
18.根据本技术实施例的程序白名单的检测装置,可检测程序文件打开时,判断程序文件是否存在于预先建立的高频程序白名单列表,其中,高频程序白名单列表包括运行信息和多个程序文件,然后确定程序文件存在于预先建立的高频程序白名单列表时,获取程序文件在高频程序白名单列表中的运行信息,之后根据程序文件在高频程序白名单列表的运行信息,确定程序文件为程序白名单。由此通过程序文件的运行信息,可实现程序白名单的高效检测,有效地解决了操作系统和应用程序启动及执行过程带来的性能问题。
19.为达到上述目的,本技术第三方面实施例提出了电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本技术第一方面实施例所述的程序白名单的检测方法。
20.为达到上述目的,本技术第四方面实施例提出了一种计算机可读存储介质,所述计算机程序被处理器执行时实现本技术第一方面实施例所述的程序白名单的检测方法。
21.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
22.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
23.图1是根据本技术一个实施例的程序白名单的检测方法的流程图;
24.图2是根据本技术一个具体实施例的程序白名单的检测方法的流程图;
25.图3是根据本技术一个具体实施例的程序白名单的检测方法的示意图;
26.图4是根据本技术一个实施例的程序白名单的检测装置的结构示意图;
27.图5是根据本技术一个实施例的电子设备的结构示意图。
具体实施方式
28.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
29.相关技术中,在系统程序或应用程序启动过程中,程序白名单检测读取完整的系统程序和应用程序的文件内容并计算哈希值,会丧失执行程序分段加载到内存的优势,从而影响操作系统及业务性能。因此,如何更好地实现程序白名单的检测成为亟待解决的问题。
30.为此,本技术提出了一种程序白名单的检测方法、装置、电子设备和计算机可读存储介质。
31.图1是根据本技术一个实施例的程序白名单的检测方法的流程图。需要说明的是,本技术实施例的程序白名单的检测方法可应用于本技术实施例的程序白名单的检测装置,该装置可配置在电子设备上。其中,在本发明的实施例中,该电子设备可以是pc机或移动终端(例如手机、平板电脑、pad、个人数字助理等具有各种操作系统的硬件设备)。
32.如图1所示,该程序白名单的检测方法包括:
33.s110,检测程序文件打开时,判断程序文件是否存在于预先建立的高频程序白名单列表,其中,高频程序白名单列表包括运行信息和多个程序文件。
34.在本技术的实施例中,系统程序或应用程序启动,电子设备可检测程序文件是否打开,在检测到程序文件以执行方式打开时,进而可判断该程序文件是否存在于预先建立的高频程序白名单列表中。其中,预先建立的高频程序白名单列表的实现过程可参考后续实施例。
35.其中,高频程序白名单列表包括运行信息和多个程序文件。
36.其中,运行信息包括但不仅限于路径名称、访问次数、修改标记。
37.举例而言,可通过程序文件的名称判断程序文件是否存在于预先建立的高频程序白名单列表,例如,检测程序文件a打开时,可判断预先建立的高频程序白名单列表中是否存在程序文件a。
38.s120,确定程序文件存在于预先建立的高频程序白名单列表时,获取程序文件在高频程序白名单列表中的运行信息。
39.举例而言,在确定程序文件存在于预先建立的高频程序白名单列表时,则获取程序文件在高频程序白名单列表中的修改标记。
40.s130,根据程序文件在高频程序白名单列表的运行信息,确定程序文件为程序白名单。
41.在本技术的一个实施例中,获取到程序文件在高频程序白名单列表中的修改标记时,可判断该修改标记是否被修改,判断该修改标记未被修改时,则确定该程序文件为程序白名单。
42.根据本技术实施例的程序白名单的检测方法,可检测程序文件打开时,判断程序文件是否存在于预先建立的高频程序白名单列表,其中,高频程序白名单列表包括运行信息和多个程序文件,然后确定程序文件存在于预先建立的高频程序白名单列表时,获取程序文件在高频程序白名单列表中的运行信息,之后根据程序文件在高频程序白名单列表的运行信息,确定程序文件为程序白名单。该方法通过程序文件的运行信息,可实现程序白名单的高效检测,有效地解决了操作系统和应用程序启动及执行过程带来的性能问题。
43.为了本领域人员更容易理解本技术,图2是根据本发明一个具体实施例所提供的程序白名单的检测方法的流程图,如图2所示,该程序白名单的检测方法可以包括:
44.s210,检测程序文件打开时,判断程序文件是否存在于预先建立的高频程序白名单列表,其中,高频程序白名单列表包括运行信息和多个程序文件。
45.其中,在本技术的实施例中,预先建立的高频程序白名单列表,包括:获取安全运行环境下的程序白名单库,并根据运行的模块列表,将安全运行环境下的程序白名单库生成高频程序白名单列表。
46.例如,可通过在中控机设备安装杀毒app,经过杀毒app查杀之后可生成安全的操作系统运行环境,进而通过扫描并生成当前安全运行环境下的程序白名单库,进而获取安全运行环境下的程序白名单库,并将安全运行环境下的程序白名单库作为最新的程序白名单库。
47.例如,中控机设备可理解为工控环境下运行各类工控软件的主机,包括操作员站、工程师站等。其中,程序白名单可理解为工控主机上识别为安全的、允许运行的程序。
48.例如,获取到安全运行环境下的程序白名单库,可通过当前运行的模块列表,将获取到的最新程序白名单库生成高频程序白名单列表。
49.其中,运行的模块列表包括运行的程序文件,对应地,可通过遍历运行的程序文件的属性信息,以生成高频程序白名单列表。
50.其中,程序文件的属性信息可理解为操作系统为了管理磁盘的一种文件存储结构信息表,其实是文件系统磁盘上存储的结构信息,例如linux的ext4,windows的ntfs文件系统。
51.其中,程序文件的属性信息包括但不仅限于长度、修改时间、存储的磁盘信息等。
52.s220,确定程序文件存在于预先建立的高频程序白名单列表时,则判断程序文件的属性信息与程序文件在高频程序白名单列表中的属性信息是否一致。若是,执行s230,若否执行s280。
53.在本技术的实施例中,确定程序文件存在于预先建立的高频程序白名单列表时,需要先判断该程序文件的修改时间、长度与该程序文件在高频程序白名单列表中的修改时间、长度是否一致。也就是说,判断该程序文件的修改时间、长度是否发生变化。
54.在本技术的一个实施例中,运行信息还包括访问次数,对应地,确定程序文件存在
于预先建立的高频程序白名单列表时,则更新程序文件在高频程序白名单列表中的访问次数。由于较多通用程序启动过程都会打开一些通用的动态库,而每次打开都需要校验加载动态库得合法性,本技术通过高频程序白名单列表可以减少程序计算哈希得次数,进而提升性能。
55.在本技术的一个实施例中,需要读取操作系统的超级预加载功能产生的pf文件时,通过pf文件获取到高频的执行程序文件及访问次数。
56.其中,超级预加载可理解为在系统和应用程序启动时,监视内存页面与交换文件以及硬盘上其它文件的数据交换状况,当发生数据交换时,例如a系统会纪录下每一个程序运行时经常需要读取的硬盘文件,并将读取的情况记录在\a系统\prefetch目录中的pf后缀名文件中。s230,程序文件的属性信息与程序文件在高频程序白名单列表中的属性信息一致,则判断程序文件在高频程序白名单列表中是否设置运行信息,若是,执行s240,若否,执行s260。
57.其中,运行信息包括修改标记、访问次数、路径名称等。
58.也就是说,程序文件的属性信息与程序文件在高频程序白名单列表中的属性信息一致,即该程序文件的修改时间、长度没有发生变化,需进一步判断程序文件在高频程序白名单列表中是否设置运行信息。
59.例如,以运行信息为修改标记为例,例如判断程序文件在高频程序白名单列表中是否设置修改标记。
60.s240,程序文件在高频程序白名单列表中设置运行信息,则获取程序文件在高频程序白名单列表中的运行信息,并判断程序文件在高频程序白名单列表的运行信息是否修改。
61.例如,可通过文件过滤和磁盘过滤驱动检测程序白名单文件内容是否修改。
62.举例而言,以运行信息为修改标记为例,判断程序文件在高频程序白名单列表中设置修改标记时,则获取程序文件在高频程序白名单列表中的修改标记。
63.在本技术的一个实施例中,判断程序文件在高频程序白名单列表的运行信息修改时,则确定程序文件不是程序白名单。
64.s250,程序文件在高频程序白名单列表的运行信息未修改,则确定程序文件为程序白名单。
65.在本技术的实施例中,获取到程序文件在高频程序白名单列表中的运行信息,可判断程序文件在高频程序白名单列表的运行信息未修改,则确定程序文件为程序白名单。
66.举例而言,以运行信息为修改标记为例,例如获取到程序文件在高频程序白名单列表中的修改标记,可判断程序文件在高频程序白名单列表的修改标记是否被修改,若判断未被修改时,则确定程序文件为程序白名单。
67.s260,程序文件在高频程序白名单列表中未设置运行信息,则计算程序文件的第一哈希值,并判断第一哈希值与程序文件在高频程序白名单列表中的第二哈希值是否一致。
68.举例而言,以运行信息为修改标记为例,判断程序文件在高频程序白名单列表中未设置修改标记时,则计算程序文件的第一哈希值,并将第一哈希值与程序文件在高频程序白名单列表中的第二哈希值比较,以判断第一哈希值与第二哈希值是否一致。
69.例如,可通过md5(message digest algorithm md5,消息摘要算法)算法计算程序文件的第一哈希值。
70.s270,确定第一哈希值与第二哈希值不一致时,更新程序文件在高频程序白名单列表中的运行信息。
71.也就是说,确定第一哈希值与第二哈希值不一致时,则说明程序文件已经被变更,更新程序文件在高频程序白名单列表中的修订标记,此时该程序文件不是程序白名单。
72.在本技术的一个实施例中,确定第一哈希值与第二哈希值一致时,则确定程序文件为程序白名单。
73.举例而言,确定第一哈希值与第二哈希值一致时,则说明程序文件在高频程序白名单列表的修改标记未修改,进而将修改标记设置为0,此时确定该程序文件为程序白名单。
74.s280,程序文件的属性信息与程序文件在高频程序白名单列表中的属性信息不一致,则确定程序文件不是程序白名单。
75.在本技术的一个具体实施例中,如图3所示,程序白名单的检测方法可通过三个组件共同完成,其中,程序白名单的检测方法包括程序白名单管理组件、程序白名单变更检测组件和程序白名单控制组件。
76.其中,程序白名单管理组件用于维护程序白名单库和高频程序白名单列表,程序白名单变更检测组件用于实时监控程序文件是否被修改并更新高频程序白名单列表的修改标记,程序白名单控制组件用于程序文件启动过程的程序白名单的检测并依据检测结果进行控制。
77.具体地,程序白名单管理组件包括应用层和驱动层,例如,程序白名单管理组件的驱动层的子模块启动之后,自动启动程序白名单变更检测组件,并加载程序白名单库和高频程序白名单列表;程序白名单管理组件的应用层重新建立程序白名单库和高频程序白名单列表,并通知程序白名单管理组件中的驱动层;程序白名单管理组件的驱动层把程序白名单库和高频程序白名单列表读取到内存中,然后校验高频程序白名单列表的文件是否修改,并根据校验结果更新高频程序白名单列表。
78.程序白名单变更检测组件实时监控程序文件的变更,如果该程序文件存在于高频程序白名单列表中,则刷新更新文件的“修改标记”。
79.程序白名单控制组件实时监控执行程序文件的运行,如果运行的程序文件存储于高频程序白名单列表中,则初步检测该执行程序文件的长度和修改时间,如果程序文件的长度和修改时间没有变化,则确定程序文件为程序白名单;如果该执行程序长度和修改时间发生变化,则进一步判断该执行程序文件在高频程序白名单列表中是否设置“修改标记”,并判断“修改标记”是否被修改,若没有修改,则确定程序文件为程序白名单,若发生修改,则计算该执行程序文件的哈希值,并判断该哈希值与执行程序文件在高频程序白名单列表中的哈希值是否一致,若不一致,更新程序文件在高频程序白名单列表中的“修改标记”,若一致,则确定该执行程序文件为程序白名单。
80.根据本技术实施例的程序白名单的检测方法,检测程序文件打开时,通过判断程序文件存在于预先建立的高频程序白名单列表,可进一步判断程序文件的属性信息与程序文件在高频程序白名单列表中的属性信息是否一致,确定一致时,再一步判断程序文件在
高频程序白名单列表中是否设置运行信息,确定存在运行信息时,通过判断该运行信息未修改时,确定程序文件为程序白名单。该方法通过判断程序文件的运行信息是否修改,进而实现程序白名单的高效检测,有效地解决了操作系统和应用程序启动及执行过程带来的性能问题。
81.与上述几种实施例提供的程序白名单的检测方法相对应,本技术的一种实施例还提供一种程序白名单的检测装置,由于本技术实施例提供的程序白名单的检测装置与上述几种实施例提供的程序白名单的检测方法相对应,因此在程序白名单的检测方法的实施方式也适用于本实施例提供的程序白名单的检测装置,在本实施例中不再详细描述。图3是根据本技术一个实施例的程序白名单的检测装置的结构示意图。
82.如图4所示,该程序白名单的检测装置400可以包括:判断模块410、获取模块420和确定模块430。
83.具体地,判断模块410,用于检测程序文件打开时,判断所述程序文件是否存在于预先建立的高频程序白名单列表,其中,所述高频程序白名单列表包括运行信息和多个程序文件;
84.获取模块420,用于确定所述程序文件存在于预先建立的高频程序白名单列表时,获取所述程序文件在所述高频程序白名单列表中的运行信息;
85.确定模块430,用于根据所述程序文件在所述高频程序白名单列表的所述运行信息,确定所述程序文件为程序白名单。
86.在本技术的一个实施例中,所述预先建立的高频程序白名单列表,包括:第一获取单元,用于获取安全运行环境下的程序白名单库;第一生成单元,用于根据运行的模块列表,将所述安全运行环境下的程序白名单库生成所述高频程序白名单列表。
87.在本技术的一个实施例中,所述运行的模块列表包括运行的程序文件,其中,所述第一生成单元,具体用于:遍历所述运行的程序文件的属性信息,以生成所述高频程序白名单列表。
88.在本技术的一个实施例中,所述运行信息包括修改标记,还包括:检测所述运行文件的属性信息修改时,则更新所述高频程序白名单列表的修改标记。
89.在本技术的一个实施例中,所述获取模块420,具体用于:确定所述程序文件存在于预先建立的高频程序白名单列表时,则判断所述程序文件的属性信息与所述程序文件在所述高频程序白名单列表中的所述属性信息是否一致;若是,则判断所述程序文件在所述高频程序白名单列表中是否设置所述运行信息;若是,则获取所述程序文件在所述高频程序白名单列表中的运行信息。
90.在本技术的一个实施例中,还具体用于:若否,则计算所述程序文件的第一哈希值,并判断所述第一哈希值与所述程序文件在所述高频程序白名单列表中的第二哈希值是否一致;确定所述第一哈希值与所述第二哈希值不一致时,更新所述程序文件在所述高频程序白名单列表中的所述运行信息。
91.在本技术的一个实施例中,所述确定模块330,具体用于:判断所述程序文件在所述高频程序白名单列表的所述运行信息未修改,则确定所述程序文件为程序白名单。
92.在本技术的一个实施例中,所述运行信息包括访问次数,所述装置还包括:更新模块,用于确定所述程序文件存在于预先建立的高频程序白名单列表时,则更新所述程序文
件在所述高频程序白名单列表中的所述访问次数。
93.根据本技术实施例的程序白名单的检测装置,检测程序文件打开时,通过判断程序文件存在于预先建立的高频程序白名单列表,可进一步判断程序文件的属性信息与程序文件在高频程序白名单列表中的属性信息是否一致,确定一致时,再一步判断程序文件在高频程序白名单列表中是否设置运行信息,确定存在运行信息时,通过判断该运行信息未修改时,确定程序文件为程序白名单。由此通过判断程序文件的运行信息是否修改,进而实现程序白名单的高效检测,有效地解决了操作系统和应用程序启动及执行过程带来的性能问题。
94.根据本发明实施例的装置,下面参考图5,其示出了适于用来实现本发明实施例的电子设备(例如终端设备或服务器)500的结构示意图。本发明实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
95.如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
96.通常,以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
97.特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom 502被安装。在该计算机程序被处理装置501执行时,执行本发明实施例的方法中限定的上述功能。
98.需要说明的是,本发明上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本
发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
99.在一些实施方式中,客户端、服务器可以利用诸如http(hypertext transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
100.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
101.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
102.或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
103.可以以一种或多种程序设计语言或其组合来编写用于执行本发明的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
104.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令
的组合来实现。
105.描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
106.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
107.在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
108.以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
109.此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
110.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1