CN111190858B - 软件信息存储方法、装置、设备和存储介质 - Google Patents
软件信息存储方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN111190858B CN111190858B CN201910979768.0A CN201910979768A CN111190858B CN 111190858 B CN111190858 B CN 111190858B CN 201910979768 A CN201910979768 A CN 201910979768A CN 111190858 B CN111190858 B CN 111190858B
- Authority
- CN
- China
- Prior art keywords
- information
- software
- installed software
- software information
- copy
- 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
Images
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/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种软件信息存储方法、装置、设备和存储介质,涉及计算机技术领域。所述方法包括:接收终端的已安装软件信息;从软件信息库中,查找与各个已安装软件的联合索引各自对应的信息标识;生成软件信息列表的副本;存储已安装软件信息的副本。相比于相关技术中,在接收到终端的已安装软件信息之后,直接进行存储,本申请实施例提供的技术方案,通过采用信息标识替换一些特征信息,从而有效节省了服务器的存储成本。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种软件信息存储方法、装置、设备和存储介质。
背景技术
安全软件是一种可以对病毒、木马等一切已知的对设备有危害的程序代码进行清除的程序工具。安全软件也是辅助用户管理电脑安全的软件程序。
在相关技术的中,安全软件的客户端通过定期将设备上已安装软件的软件信息列表同步到云端,云端直接存储该软件信息列表;之后,云端就可利用该软件信息列表,结合设备使用场景、(可疑)恶意/病毒软件特征列表等信息,进行病毒云查杀,进一步执行风险预警和病毒拦截等安全决策。
在上述相关技术中,由于安全软件的客户端上报的软件信息列表是全量的信息,云端直接存储会导致云端的存储成本较大。
发明内容
本申请实施例提供了一种软件信息存储方法、装置、设备和存储介质,可用于解决相关技术中,云端的存储成本较大的问题。所述技术方案如下:
一方面,本申请实施例提供了一种软件信息存储方法,所述方法包括:
接收终端的已安装软件信息,所述已安装软件信息包括软件信息列表,所述软件信息列表包括所述终端中n个已安装软件的特征信息,所述n为正整数;
从软件信息库中,查找与各个所述已安装软件的联合索引各自对应的信息标识;其中,所述软件信息库中包括至少一个软件的信息条目,所述信息条目包括信息标识、联合索引和其它特征信息,且任意两个软件的联合索引互不相同;
生成所述软件信息列表的副本,所述软件信息列表的副本包括所述n个已安装软件的软件信息;其中,所述n个已安装软件中的第i个已安装软件的软件信息,包括所述第i个已安装软件对应的信息标识,所述i为小于或等于所述n的正整数;
存储所述已安装软件信息的副本,所述已安装软件信息的副本包括所述软件信息列表的副本。
另一方面,本申请实施例提供了一种软件信息存储装置,所述装置包括:
信息接收装置,用于接收终端的已安装软件信息,所述已安装软件信息包括软件信息列表,所述软件信息列表包括所述终端中n个已安装软件的特征信息,所述n为正整数;
标识查找模块,用于从软件信息库中,查找与各个所述已安装软件的联合索引各自对应的信息标识;其中,所述软件信息库中包括至少一个软件的信息条目,所述信息条目包括信息标识、联合索引和其它特征信息,且任意两个软件的联合索引互不相同;
副本生成模块,用于生成所述软件信息列表的副本,所述软件信息列表的副本包括所述n个已安装软件的软件信息;其中,所述n个已安装软件中的第i个已安装软件的软件信息,包括所述第i个已安装软件对应的信息标识,所述i为小于或等于所述n的正整数;
副本存储模块,用于存储所述已安装软件信息的副本,所述已安装软件信息的副本包括所述软件信息列表的副本。
再一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的软件信息存储方法。
再一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的软件信息存储方法。
还一方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品被处理器执行时,用于实现上述软件信息存储方法。
本申请实施例提供的技术方案可以包括如下有益效果:
在接收到终端的已安装软件信息之后,从软件信息库中获取以安装软件信息的信息标识,并用该信息标识替换软件信息列表中的特征信息,进一步得到软件信息列表的副本,并将该软件信息列表的副本作为已安装软件信息的副本中的信息进行存储。相比于相关技术中,在接收到终端的已安装软件信息之后,直接进行存储,本申请实施例提供的技术方案,通过采用信息标识替换一些特征信息,从而有效节省了服务器的存储成本。
附图说明
图1是本申请一个实施例提供的实施环境的示意图;
图2是本申请一个实施例提供的软件信息存储方法的流程图;
图3示例性示出了一种已安装软件信息的示意图;
图4示例性示出了一种软件信息库的示意图;
图5示例性示出了一种已安装软件信息的副本的示意图;
图6示例性示出了一种信息条目的添加过程的示意图;
图7示例性示出了一种安装文件异常查询过程的示意图;
图8是本申请一个实施例提供的软件信息存储装置的框图;
图9是本申请另一个实施例提供的软件信息存储装置的框图;
图10是本申请一个实施例提供的终端的结构框图;
图11是本申请一个实施例提供的服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的实施环境的示意图。该实施环境可以包括:终端10和服务器20。
上述终端10中安装运行多个软件的客户端,其中包括至少一个安全软件的客户端。
其中,上述终端10可以是诸如手机、平板电脑、PC(Personal Computer,个人计算机)等电子设备。
上述安全软件是一种可以对病毒、木马等一切已知的对设备有危害的程序代码进行清除的程序工具。安全软件也是辅助用户管理电脑安全的软件程序,安全软件的好坏决定了杀毒的质量。
可选地,该安全软件可以是杀毒软件,***工具、反流氓软件等。
上述服务器20用于为上述安全软件的客户端提供后台服务。
需要说明的一点是,上述服务器20可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。
下面,通过几个实施例对本申请技术方案进行介绍说明。
请参考图2,其示出了本申请一个实施例提供的软件信息存储方法的流程图。在本实施例中,主要以该方法应用于图1所示实施环境的服务器中来举例说明。该方法可以包括如下几个步骤:
步骤201,接收终端的已安装软件信息。
终端中安装有n个软件,该n个软件中包括至少一个安全软件,此外,该n个软件中还可以包括即时通信类软件、游戏类软件、办公类软件等等。关于安全软件的介绍请参考前文实施例,此处不再赘述。
终端中安装的安全软件可以定期将终端的已安装软件信息同步到服务器。可选地,终端可以直接将已安装软件信息发送给服务器。
上述已安装软件信息包括软件信息列表,该软件信息列表包括终端中n个已安装软件的特征信息,n为正整数。软件的特征信息用于描述该软件的属性和功能;软件的特征信息可以用于对软件进行分类和检测。
可选地,特征信息可以包括但不限于以下至少一项:包名、证书摘要、文件大小、文件摘要和其它软件特征。
上述包名是指软件安装包的名称。
上述证书摘要是指对数字证书进行摘要计算得到的结果。通过摘要计算可以将容量较大的数字证书内容运算成容量较小的内容。例如,可以利用MD5(Message-DigestAlgorithm5,消息摘要算法第五版)算法将数字证书的采集结果运算为一固定长度的消息摘要(如一固定长度的字符串),即证书摘要。需要说明的一点是,上述证书摘要还可以是采用任意适用于本申请的摘要算法对数字证书的采集结果进行摘要计算,例如,除了MD5算法外,还可以采用SHA(Secure Hash Algorithm,安全散列算法)等算法。本申请实施例对此不作限定。
上述文件大小是指软件安装文件的文件大小。
上述文件摘要是指对软件安装文件进行摘要计算得到的结果。摘要计算方法可以与证书摘要的计算方法相同或类似,此处不再赘述。
步骤202,从软件信息库中,查找与各个已安装软件的联合索引各自对应的信息标识。
上述软件信息库中包括至少一个软件的信息条目,该信息条目包括信息标识、联合索引和其它特征信息,且任意两个软件的联合索引互不相同。
上述信息标识用于唯一标识某软件的软件信息。该软件标识可以仅包含数字,也可以仅包含字母,还可以包含数字和字母,本申请实施例对此不作限定。
上述联合索引包括包名、证书摘要和文件大小。关于包名、证书摘要和文件大小的介绍请参考上文介绍,此处不再赘述。
任意两个软件的联合索引互不相同,且联合索引与信息标识一一对应。
服务器在接收终端的已安装软件信息之后,可以从该软件信息库中查找与各个已安装软件的联合索引各自对应的信息标识,如服务器可以逐个将n个已安装软件的联合索引与软件信息库中的联合索引进行比对,并在软件信息库中查找到相同的联合索引,进一步得到该联合索引对应的信息标识。
步骤203,生成软件信息列表的副本。
上述软件信息列表的副本包括n个已安装软件的软件信息。上述n个已安装软件中的第i个已安装软件的软件信息,包括第i个已安装软件对应的信息标识,i为小于或等于n的正整数。
通过步骤202中n个已安装软件的软件信息的比对,进一步可以得到各个已安装软件对应的信息标识。以第i个已安装软件为例,在得到第i个已安装软件对应的信息标识之后,可以将该第i个已安装软件对应的信息标识替换掉软件信息列表中的联合索引所包括的特征信息。
步骤204,存储已安装软件信息的副本。
在生成上述软件信息列表的副本之后,服务器可以存储已安装软件信息的副本。上述已安装软件信息的副本包括软件信息列表的副本。
此外,已安装软件信息的副本还可以包括但不限于以下至少一项内容:终端标识、更新时间。其中,终端标识用于标识该已安装软件信息所对应的终端;上述更新时间是指终端***更新时间。
可选地,在获取到上述已安装软件信息的副本之后,还可以先对该已安装软件信息的副本进行无损压缩,然后存储压缩后的已安装软件信息的副本。
综上所述,本申请实施例提供的技术方案,在接收到终端的已安装软件信息之后,从软件信息库中获取以安装软件信息的信息标识,并用该信息标识替换软件信息列表中的特征信息,进一步得到软件信息列表的副本,并将该软件信息列表的副本作为已安装软件信息的副本中的信息进行存储。相比于相关技术中,在接收到终端的已安装软件信息之后,直接进行存储,本申请实施例提供的技术方案,通过采用信息标识替换一些特征信息,从而有效节省了服务器的存储成本。
另外,在相关技术中,服务器通常将所有可供设备下载使用的软件的安装文件的文件MD5作为软件信息库的索引。一方面,当两个不同的软件具有相同的文件MD5时,服务器只能记录一个文件MD5和该文件MD5的软件信息,从而导致丢失另一个软件的软件信息;另一方面,当安全软件由于各种原因(如***权限限制、安装文件被删除)无法读取到某个软件的安装文件时,服务器因此无法得到该安装文件的文件MD5,进一步无法查询到软件信息库中对应的索引。本申请实施例中,将包名、证书摘要和文件大小等作为联合索引,避免了上述由于仅以文件MD5作为软件信息库的索引所导致的信息丢失、查询失败的问题,提高了软件信息库的准确性。
基于上述图2实施例的一个可选实施例,软件信息库中包括的软件的信息条目还包括至少一个安装文件的扩展标识和文件摘要之间的对应关系。
其中,上述扩展标识是指安装文件的文件摘要对应的标识,用于唯一标识文件摘要。关于文件摘要的介绍请参考上文实施例,此处不再赘述。
在上述步骤204,存储已安装软件信息的副本之前,服务器还可以执行下述步骤:
对于第i个已安装软件,从第i个已安装软件的信息条目中查找目标扩展标识。
上述目标扩展标识是指与已安装软件信息中包含的第i个已安装软件的文件摘要相对应的扩展标识。其中,第i个已安装软件的软件信息,还包括目标扩展标识。
在联合索引相同的情况下,文件摘要由于各种原因可能会不相同,如软件的版本号不同、软件推广渠道的渠道标识符不同等,因此软件信息库中可以包括的软件的信息条目还包括至少一个安装文件的扩展标识和文件摘要之间的对应关系。
对于第i个已安装软件,其特征信息中包括文件摘要,而软件信息库中包括扩展标识和文件摘要之间的对应关系,从而可以得到第i个已安装软件的文件摘要对应的目标扩展标识。之后,软件信息列表的副本中,可以使用该目标扩展标识替换软件信息列表中的文件摘要。
综上所述,本实施例提供的技术方案,通过从第i个已安装软件的信息条目中查找目标扩展标识,并使用该目标扩展标识替换软件信息列表中的文件摘要。减少了软件信息列表的副本的数据量,进一步节省了服务器的存储成本。
基于上述图2实施例的另一个可选实施例,在上述步骤204,存储已安装软件信息的副本之前,服务器还可以执行下述步骤:
对于第i个已安装软件,获取第i个已安装软件的特征信息相较于第i个已安装软件的信息条目不一致的特征信息。
上述第i个已安装软件的软件信息,还包括不一致的特征信息。
终端的已安装软件信息中软件信息列表还包括已安装软件的其它软件特征,软件信息库的信息条目中包括其它特征信息,其中,软件信息列表中其它软件特征与软件信息库的信息条目中的其它特征信息可能存在不一致部分。因此,服务器还可以获取第i个已安装软件的特征信息相较于第i个已安装软件的信息条目不一致的特征信息,该不一致的特征信息可以包括扩展标识无法覆盖的一些特征,如版本号。
之后,软件信息列表的副本中,可以存储软件信息列表的其它软件特征中,与软件信息库的信息条目中的其它特征信息不一致的特征信息。
可选地,对于软件信息列表中其它软件特征与软件信息库的信息条目中的其它特征信息相一致的部分,软件信息列表的副本中可以不需要存储,以节省存储成本。
综上所述,本实施例提供的技术方案,通过比对已安装软件的特征信息与已安装软件的信息条目的特征信息,软件信息列表的副本仅存储该不一致的特征信息。从而减少了软件信息列表的副本的数据量,进一步节省了服务器的存储成本。
下面,结合参考图3,其示例性示出了一种已安装软件信息的示意图;结合参考图4,其示例性示出了一种软件信息库的示意图;结合参考图5,其示例性示出了一种已安装软件信息的副本的示意图。
如图3所示,服务器接收的终端的已安装软件信息中可以包括终端标识、软件信息列表、更新时间等,其中,软件信息列表包括终端中n个已安装软件的特征信息,如包名、证书摘要、文件大小、文件摘要、其它软件特征等等。
将该软件信息列表中软件的特征信息与软件信息库中软件的特征信息(如图4所示)进行比对,若从软件信息库中,查找到与已安装软件的联合索引对应的信息标识,则将上述图3所示的软件信息列表中的包名、证书摘要、文件大小替换为信息标识;若从软件信息库中,查找到与已安装软件的文件摘要对应的扩展标识,则将上述图3所示的软件信息列表中的文件摘要替换为扩展标识;若从软件信息库中,查找到与已安装软件的其它软件特征不一致的特征信息,则将上述图3所示的软件信息列表中的其它软件特征中,与软件信息库的信息条目中的其它特征信息不一致的特征信息进行存储,从而得到软件信息列表的副本。
进一步,将将上述图3所示的已安装软件信息中的软件信息列表替换为上述软件信息列表的副本,得到已安装软件信息的副本(如图5所示)。
需要说明的一点是,软件信息库的联合索引可以包括除上述包名、证书摘要、文件大小以外的其它特征,从而可以降低不一致的特征信息的数据量,进一步降低压缩率。此外,软件信息库的联合索引还可以包括上述包名、证书摘要、文件大小中的任意一个或两个,从而可以减少软件信息库的数据量。
基于上述图2实施例的又一个可选实施例,在上述步骤201,接收终端的已安装软件信息之后,服务器还可以执行下述步骤:
若从软件信息库中,未查找到第i个已安装软件的联合索引,则在软件信息库中添加第i个已安装软件对应的信息条目。
其中,第i个已安装软件对应的信息条目包括:目标信息标识、第i个已安装软件的联合索引和第i个已安装软件的其它特征信息。
需要说明的一点是,上述在软件信息库中添加第i个已安装软件对应的信息条目可以是在等待信息条目构建完成之后执行,以便后续获取到文件摘要对应的扩展标识。
当在软件信息库中未查找到第i个已安装软件的联合索引,标识软件信息库中还未记录关于该第i个已安装软件的信息条目,从而,服务器可以在软件信息库中添加第i个已安装软件对应的信息条目。
当在软件信息库中查找到第i个已安装软件的联合索引,则不需要进行添加。
可选地,结合参考图6,其示例性示出了一种信息条目的添加过程的示意图。上述在软件信息库中添加第i个已安装软件对应的信息条目,可以包括以下几个步骤:
(1)判断第i个已安装软件对应的信息条目的添加时长是否超过指定时长。
上述添加时长是指从开始添加第i个已安装软件对应的信息条目至当前时间位置的时间段。上述指定时长可以是服务器预先设定的时长。
由于信息条目中包含有多项特征信息,将特征信息添加入软件信息库需要一定的时间。因此,服务器可以先判断第i个已安装软件对应的信息条目的添加时长是否超过指定时长。
(2)若添加时长超过指定时长,则记录添加时长内出现频次大于目标次数的第i个已安装软件的m个文件摘要,m为大于1的整数。
当添加时长超过指定时长时,服务器可以选择该添加时长内,出现次数多余目标次数的m个文件摘要。上述目标次数可以是服务器预设设定的。上述m个文件摘要由于各种原因导致并不相同。
若添加时长未超过指定时长,则可以继续等待。
(3)按照出现频次从高到低的顺序为m个文件摘要分配与m个文件摘要相对应的扩展标识。
进一步,可以为上述m个文件摘要分配各自对应的扩展标识。
(4)将m个文件摘要以及与m个文件摘要相对应的扩展标识填充至第i个已安装软件对应的信息条目。
在获取到上述m个文件摘要以及与m个文件摘要相对应的扩展标识之后,可以将其填充至第i个已安装软件对应的信息条目中。
(5)为第i个已安装软件对应的信息条目分配信息标识。
之后,可以为该第i个已安装软件对应的信息条目分配信息标识,以标识该第i个已安装软件对应的信息条目。
综上所述,本实施例提供的技术方案,若从软件信息库中,未查找到第i个已安装软件的联合索引,则可以直接在软件信息库中添加第i个已安装软件对应的信息条目,以完善软件信息库,便于后续使用。
基于上述图2实施例的又一个可选实施例,如图7所示,上述软件信息存储方法还可以包括以下步骤:
步骤701,获取查询请求。
上述查询请求用于请求查询终端中已安装软件的安装文件是否存在异常,该查询请求中包含终端的终端标识。
可选地,上述查询可以是终端发送的,也可以是其它服务器发送的,本申请实施例对此不作限定。
步骤702,基于终端标识,获取已安装软件信息的副本。
服务器中存储有多个终端的已安装软件信息,在获取到上述终端标识后,服务器可以根据该终端标识,从存储的多个终端的已安装软件信息中,获取该终端标识所标识的终端的已安装软件信息的副本。
关于该以安装软件信息的副本的介绍,可以参考上述实施例,此处不再赘述。
步骤703,对于已安装软件信息的副本中的信息标识,在软件信息库中查询是否存在与信息标识对应的特征信息。
步骤704,若在软件信息库中存在与信息标识对应的特征信息,则将与信息标识对应的特征信息填充到已安装软件信息的副本中,得到已安装软件信息。
可选地,服务器可以先在软件信息子库中进行查找,若在软件信息子库中未查找到与信息标识对应的特征信息,再去软件信息库中进行查找。上述软件信息子库中包含软件信息库中的部分软件信息。服务器可以将上述软件信息子库缓存至本地,以提高查询效率。
若在软件信息库中查找到与信息标识对应的特征信息,则可以将其缓存至本地的软件信息子库中。
步骤705,根据已安装软件信息检测终端中已安装软件的安装文件是否存在所述异常。
综上所述,本申请实施例提供的方案,在接收到查询请求之后,可以获取已安装软件信息的副本,并基于该已安装软件信息的副本以及软件信息库,获取已安装软件信息,进一步基于该已安装软件信息检测终端中已安装软件的安装文件是否存在异常。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图8,其示出了本申请一个实施例提供的软件信息存储装置的框图。该装置具有实现上述软件信息存储方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的服务器,也可以设置在服务器上。该装置800可以包括:信息接收模块810、标识查找模块820、副本生成模块830和副本存储模块840。
信息接收模块810,用于接收终端的已安装软件信息,所述已安装软件信息包括软件信息列表,所述软件信息列表包括所述终端中n个已安装软件的特征信息,所述n为正整数。
标识查找模块820,用于从软件信息库中,查找与各个所述已安装软件的联合索引各自对应的信息标识;其中,所述软件信息库中包括至少一个软件的信息条目,所述信息条目包括信息标识、联合索引和其它特征信息,且任意两个软件的联合索引互不相同。
副本生成模块830,用于生成所述软件信息列表的副本,所述软件信息列表的副本包括所述n个已安装软件的软件信息;其中,所述n个已安装软件中的第i个已安装软件的软件信息,包括所述第i个已安装软件对应的信息标识,所述i为小于或等于所述n的正整数。
副本存储模块840,用于存储所述已安装软件信息的副本,所述已安装软件信息的副本包括所述软件信息列表的副本。
综上所述,本申请实施例提供的技术方案,在接收到终端的已安装软件信息之后,从软件信息库中获取以安装软件信息的信息标识,并用该信息标识替换软件信息列表中的特征信息,进一步得到软件信息列表的副本,并将该软件信息列表的副本作为已安装软件信息的副本中的信息进行存储。相比于相关技术中,在接收到终端的已安装软件信息之后,直接进行存储,本申请实施例提供的技术方案,通过采用信息标识替换一些特征信息,从而有效节省了服务器的存储成本。
在一些可能的设计中,所述联合索引包括包名、证书摘要和文件大小。
在一些可能的设计中,所述信息条目还包括至少一个安装文件的扩展标识和文件摘要之间的对应关系。如图9所示,所述装置800还包括:标识查找模块850。
扩展查找模块850,用于对于所述第i个已安装软件,从所述第i个已安装软件的信息条目中查找目标扩展标识,所述目标扩展标识是指与所述已安装软件信息中包含的所述第i个已安装软件的文件摘要相对应的扩展标识;其中,所述第i个已安装软件的软件信息,还包括所述目标扩展标识。
在一些可能的设计中,如图9所示,所述装置800还包括:信息获取模块860。
信息获取模块860,用于对于所述第i个已安装软件,获取所述第i个已安装软件的特征信息相较于所述第i个已安装软件的信息条目不一致的特征信息;其中,所述第i个已安装软件的软件信息,还包括所述不一致的特征信息。
在一些可能的设计中,如图9所示,所述装置800还包括:条目添加模块870。
条目添加模块870,用于当从所述软件信息库中,未查找到所述第i个已安装软件的联合索引时,在所述软件信息库中添加所述第i个已安装软件对应的信息条目;其中,所述第i个已安装软件对应的信息条目包括:目标信息标识、所述第i个已安装软件的联合索引和所述第i个已安装软件的其它特征信息。
在一些可能的设计中,所述条目添加模块870,用于判断所述第i个已安装软件对应的信息条目的添加时长是否超过指定时长;若所述添加时长超过所述指定时长,则记录所述添加时长内出现频次大于目标次数的所述第i个已安装软件的m个文件摘要,所述m为大于1的整数;按照所述出现频次从高到低的顺序为所述m个文件摘要分配与所述m个文件摘要相对应的扩展标识;将所述m个文件摘要以及与所述m个文件摘要相对应的扩展标识填充至所述第i个已安装软件对应的信息条目;为所述第i个已安装软件对应的信息条目分配所述信息标识。
在一些可能的设计中,如图9所示,所述装置800还包括:请求获取模块880、副本获取模块890、信息查询模块900、信息填充模块910和异常检测模块920。
请求获取模块880,用于获取查询请求,所述查询请求用于请求查询所述终端中已安装软件的安装文件是否存在异常,所述查询请求中包含所述终端的终端标识。
副本获取模块890,用于基于所述终端标识,获取所述已安装软件信息的副本。
信息查询模块900,用于对于所述已安装软件信息的副本中的所述信息标识,在所述软件信息库中查询是否存在与所述信息标识对应的特征信息。
信息填充模块910,用于若在所述软件信息库中存在与所述信息标识对应的特征信息,则将与所述信息标识对应的特征信息填充到所述已安装软件信息的副本中,得到所述已安装软件信息。
异常检测模块920,用于根据所述已安装软件信息检测所述终端中已安装软件的安装文件是否存在所述异常。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图10,其示出了本申请一个实施例提供的终端的结构框图。通常,终端1000包括有:处理器1001和存储器1002。
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集用于被处理器1001所执行以实现本申请中方法实施例提供的帧内预测模式的解码方法,或者实现如上述方面所述的帧内预测模式的编码方法。
在一些实施例中,终端1000还可选包括有:***设备接口1003和至少一个***设备。处理器1001、存储器1002和***设备接口1003之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1003相连。具体地,***设备可以包括:通信接口1004、显示屏1005、音频电路1006、摄像头组件1007、定位组件1008和电源1009中的至少一种。
本领域技术人员可以理解,图10中示出的结构并不构成对终端1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
请参考图11,其示出了本申请一个实施例提供的服务器的结构示意图。具体来讲:
所述服务器1100包括CPU(Central Processing Unit,中央处理器)1101、包括RAM(Random Access Memory,随机存取存储器)1102和ROM(Read Only Memory,只读存储器)1103的***存储器1104,以及连接***存储器1104和中央处理单元1101的***总线1105。所述服务器1100还包括帮助计算机内的各个器件之间传输信息的基本I/O(Input/Output输入/输出)***1106,和用于存储操作***1113、应用程序1114和其他程序模块1112的大容量存储设备1107。
所述基本输入/输出***1106包括有用于显示信息的显示器1108和用于用户输入信息的诸如鼠标、键盘之类的输入设备1109。其中所述显示器1108和输入设备1109都通过连接到***总线1105的输入输出控制器1110连接到中央处理单元1101。所述基本输入/输出***1106还可以包括输入输出控制器1110以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1110还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1107通过连接到***总线1105的大容量存储控制器(未示出)连接到中央处理单元1101。所述大容量存储设备1107及其相关联的计算机可读介质为服务器1100提供非易失性存储。也就是说,所述大容量存储设备1107可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的***存储器1104和大容量存储设备1107可以统称为存储器。
根据本申请的各种实施例,所述服务器1100还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1100可以通过连接在所述***总线1105上的网络接口单元1111连接到网络1112,或者说,也可以使用网络接口单元1111来连接到其他类型的网络或远程计算机***(未示出)。
所述存储器还包括至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述软件信息存储方法。
在示例性实施例中,还提供了一种计算机设备。该计算机设备可以是终端或服务器。所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述软件信息存储方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被处理器执行时实现上述软件信息存储方法。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被处理器执行时,其用于实现上述软件信息存储方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种软件信息存储方法,其特征在于,所述方法包括:
接收终端的已安装软件信息,所述已安装软件信息包括软件信息列表,所述软件信息列表包括所述终端中n个已安装软件的特征信息,所述n为正整数;
从软件信息库中,查找与各个所述已安装软件的联合索引各自对应的信息标识;其中,所述软件信息库中包括至少一个软件的信息条目,所述信息条目包括信息标识、联合索引和其它特征信息,且任意两个软件的联合索引互不相同;
生成所述软件信息列表的副本,所述软件信息列表的副本包括所述n个已安装软件的软件信息;其中,所述n个已安装软件中的第i个已安装软件的软件信息,包括所述第i个已安装软件对应的信息标识,所述i为小于或等于所述n的正整数;
存储所述已安装软件信息的副本,所述已安装软件信息的副本包括所述软件信息列表的副本。
2.根据权利要求1所述的方法,其特征在于,所述联合索引包括包名、证书摘要和文件大小。
3.根据权利要求1所述的方法,其特征在于,所述信息条目还包括至少一个安装文件的扩展标识和文件摘要之间的对应关系;
所述存储所述已安装软件信息的副本之前,还包括:
对于所述第i个已安装软件,从所述第i个已安装软件的信息条目中查找目标扩展标识,所述目标扩展标识是指与所述已安装软件信息中包含的所述第i个已安装软件的文件摘要相对应的扩展标识;
其中,所述第i个已安装软件的软件信息,还包括所述目标扩展标识。
4.根据权利要求1所述的方法,其特征在于,所述存储所述已安装软件信息的副本之前,还包括:
对于所述第i个已安装软件,获取所述第i个已安装软件的特征信息相较于所述第i个已安装软件的信息条目不一致的特征信息;
其中,所述第i个已安装软件的软件信息,还包括所述不一致的特征信息。
5.根据权利要求1所述的方法,其特征在于,所述接收终端的已安装软件信息之后,还包括:
若从所述软件信息库中,未查找到所述第i个已安装软件的联合索引,则在所述软件信息库中添加所述第i个已安装软件对应的信息条目;
其中,所述第i个已安装软件对应的信息条目包括:目标信息标识、所述第i个已安装软件的联合索引和所述第i个已安装软件的其它特征信息。
6.根据权利要求5所述的方法,其特征在于,所述在所述软件信息库中添加所述第i个已安装软件对应的信息条目,包括:
判断所述第i个已安装软件对应的信息条目的添加时长是否超过指定时长;
若所述添加时长超过所述指定时长,则记录所述添加时长内出现频次大于目标次数的所述第i个已安装软件的m个文件摘要,所述m为大于1的整数;
按照所述出现频次从高到低的顺序为所述m个文件摘要分配与所述m个文件摘要相对应的扩展标识;
将所述m个文件摘要以及与所述m个文件摘要相对应的扩展标识填充至所述第i个已安装软件对应的信息条目;
为所述第i个已安装软件对应的信息条目分配所述信息标识。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
获取查询请求,所述查询请求用于请求查询所述终端中已安装软件的安装文件是否存在异常,所述查询请求中包含所述终端的终端标识;
基于所述终端标识,获取所述已安装软件信息的副本;
对于所述已安装软件信息的副本中的所述信息标识,在所述软件信息库中查询是否存在与所述信息标识对应的特征信息;
若在所述软件信息库中存在与所述信息标识对应的特征信息,则将与所述信息标识对应的特征信息填充到所述已安装软件信息的副本中,得到所述已安装软件信息;
根据所述已安装软件信息检测所述终端中已安装软件的安装文件是否存在所述异常。
8.一种软件信息存储装置,其特征在于,所述装置包括:
信息接收装置,用于接收终端的已安装软件信息,所述已安装软件信息包括软件信息列表,所述软件信息列表包括所述终端中n个已安装软件的特征信息,所述n为正整数;
标识查找模块,用于从软件信息库中,查找与各个所述已安装软件的联合索引各自对应的信息标识;其中,所述软件信息库中包括至少一个软件的信息条目,所述信息条目包括信息标识、联合索引和其它特征信息,且任意两个软件的联合索引互不相同;
副本生成模块,用于生成所述软件信息列表的副本,所述软件信息列表的副本包括所述n个已安装软件的软件信息;其中,所述n个已安装软件中的第i个已安装软件的软件信息,包括所述第i个已安装软件对应的信息标识,所述i为小于或等于所述n的正整数;
副本存储模块,用于存储所述已安装软件信息的副本,所述已安装软件信息的副本包括所述软件信息列表的副本。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910979768.0A CN111190858B (zh) | 2019-10-15 | 2019-10-15 | 软件信息存储方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910979768.0A CN111190858B (zh) | 2019-10-15 | 2019-10-15 | 软件信息存储方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111190858A CN111190858A (zh) | 2020-05-22 |
CN111190858B true CN111190858B (zh) | 2023-07-14 |
Family
ID=70709104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910979768.0A Active CN111190858B (zh) | 2019-10-15 | 2019-10-15 | 软件信息存储方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111190858B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138318B (zh) * | 2021-10-22 | 2024-01-12 | 苏州浪潮智能科技有限公司 | 软件资产清点方法、***、终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102480501A (zh) * | 2010-11-26 | 2012-05-30 | 华为终端有限公司 | 应用资源下载方法及相关设备 |
CN104778399A (zh) * | 2015-04-30 | 2015-07-15 | 北京瑞星信息技术有限公司 | 软件统一识别方法和*** |
CN104866389A (zh) * | 2014-02-25 | 2015-08-26 | 北京奇虎科技有限公司 | 基于移动操作***的数据备份及恢复方法、装置及*** |
CN106708664A (zh) * | 2016-12-19 | 2017-05-24 | 维沃移动通信有限公司 | 一种安装文件的备份方法及服务器 |
CN110019012A (zh) * | 2017-12-01 | 2019-07-16 | 中国电信股份有限公司 | 数据预处理方法、装置和计算机可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8495621B2 (en) * | 2009-06-15 | 2013-07-23 | Microsoft Corporation | Catalog-based software component management |
JP5492814B2 (ja) * | 2011-03-28 | 2014-05-14 | デジタルア−ツ株式会社 | 検索装置、検索システム、方法およびプログラム |
CN102999398B (zh) * | 2011-09-15 | 2014-06-11 | 腾讯科技(深圳)有限公司 | 一种实现用户***还原的方法、***和装置 |
US20160323379A1 (en) * | 2015-04-28 | 2016-11-03 | Microsoft Technology Licensing, Llc | Distributed storage of software images in computing systems |
US10613939B2 (en) * | 2017-03-28 | 2020-04-07 | Commvault Systems, Inc. | Backup index generation process |
-
2019
- 2019-10-15 CN CN201910979768.0A patent/CN111190858B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102480501A (zh) * | 2010-11-26 | 2012-05-30 | 华为终端有限公司 | 应用资源下载方法及相关设备 |
CN104866389A (zh) * | 2014-02-25 | 2015-08-26 | 北京奇虎科技有限公司 | 基于移动操作***的数据备份及恢复方法、装置及*** |
CN104778399A (zh) * | 2015-04-30 | 2015-07-15 | 北京瑞星信息技术有限公司 | 软件统一识别方法和*** |
CN106708664A (zh) * | 2016-12-19 | 2017-05-24 | 维沃移动通信有限公司 | 一种安装文件的备份方法及服务器 |
CN110019012A (zh) * | 2017-12-01 | 2019-07-16 | 中国电信股份有限公司 | 数据预处理方法、装置和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111190858A (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763031B (zh) | 一种基于日志的威胁情报检测方法及装置 | |
CN109873804B (zh) | 基于行为的服务识别方法、装置、设备及可读存储介质 | |
CN108683668B (zh) | 内容分发网络中的资源校验方法、装置、存储介质及设备 | |
US20130007008A1 (en) | Hash algorithm-based data storage method and system | |
CN109657174B (zh) | 用于更新数据的方法和装置 | |
CN108563697B (zh) | 一种数据处理方法、装置和存储介质 | |
CN111259282B (zh) | Url去重方法、装置、电子设备及计算机可读存储介质 | |
US10917484B2 (en) | Identifying and managing redundant digital content transfers | |
CN114091704B (zh) | 一种告警压制方法和装置 | |
CN109710502B (zh) | 日志传输方法、装置及存储介质 | |
CN111190858B (zh) | 软件信息存储方法、装置、设备和存储介质 | |
JP6233846B2 (ja) | 可変長ノンスの生成 | |
CN111966993B (zh) | 设备标识码识别、生成算法测试方法、装置、设备及介质 | |
CN113986835A (zh) | FastDFS分布式文件的管理方法、装置、设备及存储介质 | |
CN107704557B (zh) | 操作互斥数据的处理方法、装置、计算机设备和存储介质 | |
CN113496155B (zh) | 信息处理的方法、装置、设备和计算机可读介质 | |
CN113094332B (zh) | 一种文件管理方法和装置 | |
CN110716939B (zh) | 数据管理方法、电子设备、***及介质 | |
CN108280048B (zh) | 信息处理方法和装置 | |
CN110875942B (zh) | 一种热点节目负载均衡的方法和装置 | |
CN112015758B (zh) | 产品取码方法、装置、计算机设备和存储介质 | |
CN110262756B (zh) | 用于缓存数据的方法和装置 | |
CN114238404A (zh) | 数据的查询方法、装置、存储介质及设备 | |
CN110750410B (zh) | 一种监听数据库日志的方法和装置 | |
CN116795835A (zh) | 关联查询方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |