一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种恶意程序检测方法、装置及电子设备与流程

2022-02-22 06:50:13 来源:中国专利 TAG:


1.本公开涉及网络安全技术领域,尤其涉及一种恶意程序检测方法、装置及电子设备。


背景技术:

2.计算机技术的迅速发展,给各行各业带来了巨大影响变革,与此同时,计算机领域也遭受恶意程序的困扰和侵害。面对错综复杂的网络环境与层出不穷复杂多变的恶意程序,目前检测恶意程序的方法是通过机器学习训练模型,在训练模型的过程中提取样本信息,样本信息中包含多组样本,针对每一组样本提取前1000条应用程序编程接口(application programming interface,api)并转译成对应标识符,再对得到的每组标识符进行去重处理,将相邻的相同标识符去除,以得到训练模型,以使用该模型进行恶意程序检测。但是由于去除了相邻的相同标识符且只使用前1000条进行检测,导致大量信息被丢弃,使用这样的训练模型进行恶意程序检测误报率高。


技术实现要素:

3.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种恶意程序检测方法、装置及电子设备。
4.第一方面,本公开提供了一种恶意程序检测方法,该方法包括:
5.获取第一待检测信息和第二待检测信息,第一待检测信息和第二待检测信息为不同目标类程序的应用程序编程接口api信息,或者,为相同目标类程序的api信息,目标类程序为恶意程序或非恶意程序;
6.确定第一待检测信息和第二待检测信息之间的第一最大公共子串;
7.获取第一最大公共子串的信息摘要md5值;
8.将第一最大公共子串的md5值用于目标类程序检测。
9.可选的,获取第一最大公共子串的信息摘要md5值,包括:
10.计算第一最大公共子串中至少一个api的md5值;
11.和/或,
12.第一最大公共子串的总md5值。
13.可选的,获取第一最大公共子串的信息摘要md5值之后,还包括:
14.获取第一最大公共子串的api数量;
15.获取第一最大公共子串的信息摘要md5值,包括:
16.计算第一最大公共子串中第一个api的md5值;
17.根据第一最大公共子串的api数量,确定第一最大公共子串中最后一个api;
18.计算第一最大公共子串中最后一个api的md5值。
19.可选的,第一待检测信息和第二待检测信息为不同目标类程序的应用程序编程接口api信息,获取第一待检测信息和第二待检测信息之前,还包括:
20.确定第三待检测信息和第四待检测信息之间的第二最大公共子串;
21.将第二最大公共子串的md5值用于恶意程序检测;
22.获取第一待检测信息和第二待检测信息,包括:
23.从第三待检测信息中去除第二最大公共子串,得到第一待检测信息;
24.从第四待检测信息中去除第二最大公共子串,得到第二待检测信息。
25.可选的,第一待检测信息和第二待检测信息为相同目标类程序的api信息,获取第一待检测信息和第二待检测信息之前,还包括:
26.确定第三待检测信息和第四待检测信息之间的第二最大公共子串;
27.将第二最大公共子串的md5值用于恶意程序检测;
28.获取第一待检测信息和第二待检测信息,包括:
29.从第三待检测信息中去除第二最大公共子串,得到第一待检测信息和第二待检测信息。
30.可选的,获取第一最大公共子串的md5值之后,还包括:
31.若第一最大公共子串与第二最大公共子串相同,则删除第一最大公共子串的md5值。
32.可选的,确定第一待检测信息和第二待检测信息之间的第一最大公共子串,包括:
33.若第二最大公共子串的长度大于或等于预设长度,则确定第一待检测信息和第二待检测信息之间的第一最大公共子串。
34.可选的,目标类程序为恶意程序;
35.将第一最大公共子串的md5值用于目标类程序检测,包括:
36.若目标存储数据中不存在第一最大公共子串的md5值,则将第一最大公共子串的md5值用于恶意程序检测;
37.其中,目标存储数据为用于进行非恶意程序检测的数据。
38.第二方面,本公开提供了一种恶意程序检测装置,该装置包括:
39.接收模块,用于获取第一待检测信息和第二待检测信息,第一待检测信息和第二待检测信息为不同目标类程序的应用程序编程接口api信息,或者,为相同目标类程序的api信息,目标类程序为恶意程序或非恶意程序;
40.处理模块,用于确定第一待检测信息和第二待检测信息之间的第一最大公共子串;获取第一最大公共子串的信息摘要md5值;将第一最大公共子串的md5值用于目标类程序检测。
41.可选的,处理模块,还用于获取第一最大公共子串的信息摘要md5值,包括:
42.计算第一最大公共子串中至少一个api的md5值;
43.和/或,
44.第一最大公共子串的总md5值。
45.可选的,处理模块,还用于获取第一最大公共子串的信息摘要md5值之后,还包括:
46.获取第一最大公共子串的api数量;
47.获取第一最大公共子串的信息摘要md5值,包括:
48.计算第一最大公共子串中第一个api的md5值;
49.根据第一最大公共子串的api数量,确定第一最大公共子串中最后一个api;
50.计算第一最大公共子串中最后一个api的md5值。
51.可选的,第一待检测信息和第二待检测信息为不同目标类程序的应用程序编程接口api信息;
52.接收模块,还用于获取第一待检测信息和第二待检测信息之前,还包括:
53.确定第三待检测信息和第四待检测信息之间的第二最大公共子串;
54.将第二最大公共子串的md5值用于恶意程序检测;
55.获取第一待检测信息和第二待检测信息,包括:
56.从第三待检测信息中去除第二最大公共子串,得到第一待检测信息;
57.从第四待检测信息中去除第二最大公共子串,得到第二待检测信息。
58.可选的,第一待检测信息和第二待检测信息为相同目标类程序的api信息;
59.接收模块,还用于获取第一待检测信息和第二待检测信息之前,还包括:
60.确定第三待检测信息和第四待检测信息之间的第二最大公共子串;
61.将第二最大公共子串的md5值用于恶意程序检测;
62.获取第一待检测信息和第二待检测信息,包括:
63.从第三待检测信息中去除第二最大公共子串,得到第一待检测信息和第二待检测信息。
64.可选的,处理模块,还用于获取第一最大公共子串的md5值之后,还包括:
65.若第一最大公共子串与第二最大公共子串相同,则删除第一最大公共子串的md5值。
66.可选的,处理模块,还用于确定第一待检测信息和第二待检测信息之间的第一最大公共子串,包括:
67.若第二最大公共子串的长度大于或等于预设长度,则确定第一待检测信息和第二待检测信息之间的第一最大公共子串。
68.可选的,目标类程序为恶意程序;
69.处理模块,还用于将第一最大公共子串的md5值用于目标类程序检测,包括:
70.若目标存储数据中不存在第一最大公共子串的md5值,则将第一最大公共子串的md5值用于恶意程序检测;
71.其中,目标存储数据为用于进行非恶意程序检测的数据。
72.第三方面,本公开提供了一种电子设备,该电子设备包括:处理器,存储器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现如第一方面的一种恶意程序检测方法。
73.第四方面,本公开提供一种计算机可读存储介质,该计算机可读存储介质包括:计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第一方面的一种恶意程序检测方法。
74.本公开实施例提供的技术方案与现有技术相比具有如下优点:提取第一待检测信息和第二待检测信息的最长公共子串,再得到该最长公共子串的信息摘要md5值,以使用该md5值检测恶意程序,通过对待检测信息提取最长公共子串,使得检测恶意程序所使用的数据量减少,提高检测恶意程序的效率,同时使用md5值保留有价值的检测信息,避免提取api特征信息过程中丢弃大量信息导致检测误报率高的问题。
internet devices)或穿戴式设备、服务器,例如,云服务器等设备,上述仅是举例,而非穷举,包含但不限于上述设备。
91.图1为本公开提供的恶意程序检测方法的示意图一,该方法包括:
92.步骤s110,获取第一待检测信息和第二待检测信息。
93.本公开实施例中第一待检测信息和第二待检测信息为不同目标类程序的应用程序编程接口api信息,或者,为相同目标类程序的api信息,目标类程序为恶意程序或非恶意程序。
94.其中,待检测信息包括进程/线程活动信息、注册表访问信息、系统服务访问信息、窗口/模块操作信息、网络访问信息、文件访问信息等;恶意程序可以是木马,僵尸程序,蠕虫病毒文件;非恶意程序可以是正规程序,例如迅雷,本公开对此不做限定。
95.在一些实施例中,由于目标类程序类型不同以及对待检测信息的拆分方式不同,有包括但不限于下述四种情况:
96.(1)第一待检测信息和第二待检测信息可以为恶意程序(黑样本)中不同的api信息,例如恶意程序中两段代码a、b。该api信息由多个api序列组成,每个api序列由多个字符组成。例如a中包括abc,b中包括bcd,a中包括123。相应的,下述对api序列中字符的论述类似不再赘述。
97.(2)第一待检测信息和第二待检测信息可以为非恶意程序(白样本)中不同的api信息,例如x、y。该api信息由多个api序列组成,例如x中包括xyz,y中包括xym。
98.需要说明的是,在第一待检测信息和第二待检测信息为不同的api信息的情况下,在获取第一待检测信息和第二待检测信息之前,还可以获取到任意两个待检测信息(第三待检测信息和第四待检测信息),进一步确定这两个待检测信息的第二最大公共子串,获取该第二最大公共子串的md5值以用于后续的恶意程序检测;然后从第三待检测信息中去除第二最大公共子串得到第一待检测信息,从第四待检测信息中去除第二最大公共子串得到第二待检测信息。
99.示例性地,图2为本公开实施例所述一种恶意程序检测方法示意图二,如图2中的(a)所示,获取两个待检测信息a1、b1,a1中包括abceff,b1中包括bcdeff,确定a1、b1之间的最长公共子串为eff;如图2中的(b)所示将eff从a1中删除得到a,a中包括abc;如图2中的(c)所示将eff从b1中删除得到b,b中包括bcd。
100.(3)第一待检测信息和第二待检测信息可以为恶意程序(黑样本)中相同的api信息中的两部分api序列,例如,恶意程序中一段代码c中包括acdabd,第一检测信息可以为acd,第二检测信息为abd,本公开对api序列的拆分方式不做限定。
101.(4)第一待检测信息和第二待检测信息可以为非恶意程序(白样本)中相同的api信息中的两部分api序列,例如,z中包括xymxyn,第一检测信息可以为xym,第二检测信息为xyn。
102.需要说明的是,在第一待检测信息和第二待检测信息为相同的api信息的情况下,且在获取第一待检测信息和第二待检测信息之前,还可以获取到任意两个待检测信息(第三待检测信息和第四待检测信息),进一步确定这两个待检测信息的第二最大公共子串,获取该第二最大公共子串的md5值以用于后续的恶意程序检测;然后从第三待检测信息中去除第二大公共子串,得到第一待检测信息和第二待检测信息。
103.示例性地,图3为本公开实施例所述一种恶意程序检测方法示意图三,如图3中的(a)所示,获取两个待检测信息a2、d2,a2中包括abceffbcd,d2中包括eff,确定a2、d2之间的最长公共子串为eff;如图3中的(b)所示,将eff从a2中删除得到a、b,删除最长公共子串的a2的a、b两部分不做拼接,将作为第一检测信息a和第二检测信息b做后续确定最长公共字符串的处理,其中a中包括abc,b中包括bcd。
104.为了便于说明,下述步骤将针对恶意程序(黑样本)进行介绍,针对非恶意程序(白样本)的待检测信息的处理方法与恶意程序的方法相同或相似,本公开在此不做赘述。
105.s120,确定第一待检测信息和第二待检测信息之间的第一最大公共子串。
106.确定最长公共子串的方法主要包括基于动态规划(dynamic programming)的方法、基于广义后缀树(generalized suffix tree)的方法和基于后缀数组(suffix array)的方法。
107.基于动态规划的方法构造一个二维表,使用单向递推的方法求出最长公共子串。
108.基于广义后缀树的方法把给定的源字符串的所有后缀建成一棵树,树的每个节点都是一个字符串,树根是空字符串。通过在这棵树上找到深度最大并且从属于所有源字符串的节点,那么从根到这个节点路径上的所有节点字符串拼接起来就是最长公共子串。
109.后缀数组是后缀索引按照后缀的字典顺序排列而组成的数组。基于后缀数组的方法将源字符串组合成一个新串,中间插入哨兵(sentinel)字符,根据合成串构造后缀数组和名次数组(后缀数组取逆),并由二者计算相邻后缀数组元素指向的后缀的最长公共前缀数组,最后根据后缀数组和最长公共前缀数组计算最长公共子串。
110.本领域技术人员可以通过上述方法确定第一待检测信息和第二待检测信息之间的第一最大公共子串,下述将以基于动态规划的方法为例进行具体介绍。
111.示例性地,如下表所示,将a1:abceff的每个api作为二维表的行,将b1:bcdeff的每个api作为二维表的列,比较该二维表每行每列对应的字符是否相同,第一行第二列相同,则设置第一行第二列对应的表格中的数值为1,否则为0,然后查找出该二维表的表格数值为1的最长对角线,对应可以得到最长公共子串eff。
[0112][0113]
需要说明的是,确定第一待检测信息和第二待检测信息之间的第一最大公共子串并不仅限于上述方法,本公开在此不做赘述。
[0114]
在一些实施例中,本领域技术人员根据实际需要对最长公共子串的长度进行设
置,以使确定两个待检测信息之间有效的最长公共子串,一般情况下,最长共公共子串的长度大于或等于1,且小于或等于最长公共子串本身的长度。
[0115]
若第二最大公共子串的长度大于或等于预设长度,则确定第一待检测信息和第二待检测信息之间的第一最大公共子串。
[0116]
若第二最大公共子串的长度小于预设长度,值得强调的是,第二最大公共子串的长度小于预设长度存在两种情况,两个检测信息长度大于预设长度而第二最大公共子串的长度小于预设长度,则继续从该最长共公共子串的第二个api开始继续确定最长公共子串;两个检测信息长度小于或等于预设长度而第二最大公共子串的长度小于预设长度,则表示这两个检测信息的最长公共子串已经确定完毕,需要确定其他的待检测信息的最长公共子串。
[0117]
示例性地,预设长度为3个api序列,两个待检测信息a1、b1,a1中包括abceff,b1中包括bcdeff,确定a1、b1之间的最长公共子串为eff,计算eff的长度为3,并将eff从a1、b1中删除,得到a、b,其中a中包括abc,b中包括bcd,确定a、b之间的最长公共子串为bc,计算bc的长度为2,则表示最长公共子串的长度小于预设长度3,对bc不做处理,然后确定其他待检测信息的最长公共子串。
[0118]
通过确定所述第一待检测信息和所述第二待检测信息之间的第一最大公共子串,作为恶意程序样本中相同的特征信息,以利用待检测信息之间的最大公共子串这一特征信息进行恶意程序检测,对恶意程序样本进行压缩,减少检测所使用的数据量,同时保证特征信息的完整性,提高了恶意程序检测的检出率,提升了恶意程序检测的效果。
[0119]
s130,获取第一最大公共子串的信息摘要md5值。
[0120]
其中,md5值是通过md5算法计算得到的数值。
[0121]
在一些实施例中,获取第一最大公共子串的信息摘要md5值包括:计算第一最大公共子串中至少一个api的md5值;和/或,第一最大公共子串的总md5值。
[0122]
示例性地,计算第一最大公共子串中第一个api的md5值;或者计算第一最大公共子串的总md5值;或者计算第一最大公共子串中第一个api的md5值和第一最大公共子串的总md5值。
[0123]
在一些实施例中,在获取第一最大公共子串的信息摘要md5值之后,获取所述第一最大公共子串的api数量,然后计算第一最大公共子串中至少一个api的md5值包括:计算所述第一最大公共子串中第一个api的md5值;根据所述第一最大公共子串的api数量,确定所述第一最大公共子串中最后一个api;计算所述第一最大公共子串中最后一个api的md5值。
[0124]
示例性地,沿用上述待测信息为a1、b1一例,a1中包括abceff,b1中包括bcdeff,确定a1、b1之间的最长公共子串为eff,得到eff的api数量为3,然后计算eff中第一个api“e”的md5值,根据eff的api数量为3确定最后一个api“f”的md5值,以及eff总的md5值。
[0125]
实际应用中,由于最长公共子串包括至少一个api,一般情况下是两个以上的api序列,而比对api序列是否相同所需要的时间长,导致比对效率低,而本公开通过md5算法将第一最长公共子串中包含的较长api序列压缩成16字节的md5值,减少后续恶意程序检测时比对最长公共字串所需要的时间,提高比对效率。
[0126]
进一步的,创建api字典,将获取到的第一最长公共子串的md5值以及api数量进行对应存储,将以使用该api字典与恶意程序进行对比,从而进行恶意程序检测。
[0127]
在一些实施例中,基于得到第二最大公共子串,在获取第一最大公共子串的信息摘要md5值之后,比较第一最大公共子串与第二公共子串是否相同,若相同,则将第一最大公共子串的md5值删除。
[0128]
示例性地,api字典中已经存有第二最长公共子串eff的md5值,在待检测信息a1:abceff和b1:bcdeff确定第一最长公共子串为“eff”后,得到第一最长公共子串“eff”的md5值,在添加至api字典时,比较得到第一最长公共子串“eff”的md5值与第二最长公共子串eff的md5值相同,则将第一最长公共子串“eff”的md5值删除,不会添加至api字典。
[0129]
由于实际应用中待检测信息为较长的api序列,数据量大,即使提取待检测信息的最长公共子串后,仍不便于检测恶意程序,在本公开实施例所提供的一种实施方式中,通过计算最大公共子串的md5值,进一步压缩待检测信息为16字节的字符串,不仅节省数据存储空间,还节省了恶意程序检测的时间,提升了恶意程序检测的效率。
[0130]
s140,将第一最大公共子串的md5值用于目标类程序检测。
[0131]
如上所述,将第一最长公共子串中第一个api的md5值、第一最长公共子串中最后一个api的md5值、第一最长公共子串的总md5值以及第一最大公共子串的api数量用于恶意程序检测或非恶意程序检测。
[0132]
例如,在对目标类程序检测的过程中,比对目标类程序的api序列的md5值,若比对存在与第一最长公共子串中第一个api的md5值相同的md5值,该api记为s,则根据第一最大公共子串的api数量从s所在的位置跳转至该数量对应的api序列,该api记为t,进行比对,若比对结果与第一最长公共子串中最后一个api的md5值相同,则进一步比较s至t这一api序列的总md5值与第一最长公共子串的总md5值是否相同,若相同则表示目标类程序为恶意程序。若不同,则从s所在位置继续进行下一api的对比。
[0133]
在一些实施例中,目标类程序为恶意程序,在将第一最大公共子串的md5值用于目标类程序检测的过程中,首先在目标存储数据中查找是否存在第一最大公共子串的md5值,其中,目标存储数据为用于进行非恶意程序检测的数据,包括非恶意程序的最长公共子串的md5值和api数量。若在目标存储数据中存在第一最大公共子串的md5值,则将该第一最大公共子串的md5值从api字典中删除;若在目标存储数据中不存在第一最大公共子串的md5值,则将该第一最大公共子串的md5值用于恶意程序检测,存储于api字典。
[0134]
通过与目标存储数据的对比,将非恶意程序的最长公共子串这一特征信息的md5值从api字典中删除,从而避免将非恶意程序检测为恶意程序,降低误报率,以提升恶意程序检测的效果。
[0135]
综上所述,本公开提取第一待检测信息和第二待检测信息的最长公共子串对检测信息进行压缩,再得到该最长公共子串的信息摘要md5值,以使用该md5值检测恶意程序,通过对待检测信息的压缩,提高检测恶意程序的效率,同时使用md5值保留有价值的检测信息,避免压缩api信息过程中丢弃大量信息导致检测误报率高的问题。
[0136]
如图4所示,本公开提供一种恶意程序检测装置,该装置包括:
[0137]
接收模块410,用于获取第一待检测信息和第二待检测信息,第一待检测信息和第二待检测信息为不同目标类程序的应用程序编程接口api信息,或者,为相同目标类程序的api信息,目标类程序为恶意程序或非恶意程序;
[0138]
处理模块420,用于确定第一待检测信息和第二待检测信息之间的第一最大公共
子串;获取第一最大公共子串的信息摘要md5值;将第一最大公共子串的md5值用于目标类程序检测。
[0139]
可选的,处理模块420,还用于获取第一最大公共子串的信息摘要md5值,包括:
[0140]
计算第一最大公共子串中至少一个api的md5值;
[0141]
和/或,
[0142]
第一最大公共子串的总md5值。
[0143]
可选的,处理模块420,还用于获取第一最大公共子串的信息摘要md5值之后,还包括:
[0144]
获取第一最大公共子串的api数量;
[0145]
获取第一最大公共子串的信息摘要md5值,包括:
[0146]
计算第一最大公共子串中第一个api的md5值;
[0147]
根据第一最大公共子串的api数量,确定第一最大公共子串中最后一个api;
[0148]
计算第一最大公共子串中最后一个api的md5值。
[0149]
可选的,第一待检测信息和第二待检测信息为不同目标类程序的应用程序编程接口api信息;
[0150]
接收模块410,还用于获取第一待检测信息和第二待检测信息之前,还包括:
[0151]
确定第三待检测信息和第四待检测信息之间的第二最大公共子串;
[0152]
将第二最大公共子串的md5值用于恶意程序检测;
[0153]
获取第一待检测信息和第二待检测信息,包括:
[0154]
从第三待检测信息中去除第二最大公共子串,得到第一待检测信息;
[0155]
从第四待检测信息中去除第二最大公共子串,得到第二待检测信息。
[0156]
可选的,第一待检测信息和第二待检测信息为相同目标类程序的api信息;
[0157]
接收模块410,还用于获取第一待检测信息和第二待检测信息之前,还包括:
[0158]
确定第三待检测信息和第四待检测信息之间的第二最大公共子串;
[0159]
将第二最大公共子串的md5值用于恶意程序检测;
[0160]
获取第一待检测信息和第二待检测信息,包括:
[0161]
从第三待检测信息中去除第二最大公共子串,得到第一待检测信息和第二待检测信息。
[0162]
可选的,处理模块420,还用于获取第一最大公共子串的md5值之后,还包括:
[0163]
若第一最大公共子串与第二最大公共子串相同,则删除第一最大公共子串的md5值。
[0164]
可选的,处理模块420,还用于确定第一待检测信息和第二待检测信息之间的第一最大公共子串,包括:
[0165]
若第二最大公共子串的长度大于或等于预设长度,则确定第一待检测信息和第二待检测信息之间的第一最大公共子串。
[0166]
可选的,目标类程序为恶意程序;
[0167]
处理模块420,还用于将第一最大公共子串的md5值用于目标类程序检测,包括:
[0168]
若目标存储数据中不存在第一最大公共子串的md5值,则将第一最大公共子串的md5值用于恶意程序检测;
[0169]
其中,目标存储数据为用于进行非恶意程序检测的数据。
[0170]
值得注意的是,上述恶意程序检测装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开的保护范围。
[0171]
如图5所示,本公开实施例提供一种电子设备,该电子设备包括:处理器501,存储器502及存储在存储器502上并可在处理器501上运行的计算机程序,该计算机程序被处理器501可以实现上述一种恶意程序检测方法中第一终端执行的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0172]
本公开实施例提供一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现上述一种恶意程序检测方法中第一终端执行的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0173]
其中,该计算机可读存储介质可以为只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0174]
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本公开可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。
[0175]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0176]
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献