1.本发明涉及数据处理领域,尤其涉及一种数据源
实例演进的分析方法、装置、电子设备及存储介质。
背景技术:
2.在软件即服务(saas:software as a service)的商业领域中,服务提供方为服务请求方提供实例并生成实例id,将实例id在部署时写入服务请求方的公有云系统中实现对实例的跟踪。通常,服务提供方对于saas版(公有云)的应用数据源是可访问可控制的,因此也不记录实例id。
3.而私有云通常部署在服务请求方的数据中心的防火墙内,私有云的管理权限归属于服务请求方,因此对私有云部署的实例id要依赖服务请求方内部人员设置,存在实例id错漏和同一实例id泛滥的情况,而上报给服务提供方的数据中附带的实例信息,是无法区分不同实例的具体来源及其相关情况的,造成服务提供方无法对实例的演化进行准确分析的问题。
技术实现要素:
4.鉴于以上内容,有必要提供一种数据源实例演进的分析方法,其目的在于解决现有技术中,无法对部署在私有云中实例的演化进行准确分析的技术问题。
5.本发明提供的数据源实例演进的分析方法,应用于服务请求方的客户端,
所述方法包括:
6.从所述服务请求方的预设数据源获取服务提供方为所述服务请求方部署的实例的信息集;
7.从所述信息集提取出所述服务请求方使用所述实例所需预设数量的基本信息,将所述基本信息包含的标识id进行拼接,生成所述基本信息的第一
序列值;
8.根据预设的固定长度算法对所述第一序列值的长度进行处理,生成所述基本信息的第二序列值;
9.对各个所述基本信息的第二序列值进行排列组合,生成所述实例的数字
指纹。
10.可选的,所述将所述基本信息包含的标识id进行拼接,生成所述基本信息的第一序列值,包括:
11.读取所述基本信息包含的所有标识id进行拼接,得到拼接结果;
12.根据预设的加密算法对所述拼接结果进行加密,生成所述基本信息的第一序列值。
13.可选的,所述根据预设的固定长度算法对所述第一序列值的长度进行处理,生成所述基本信息的第二序列值,包括:
14.读取所述第一序列值的长度,根据预设的固定长度算法对所述第一序列值的长度进行截取或位置补全,生成所述基本信息的第二序列值。
15.可选的,所述对各个所述基本信息的第二序列值进行排列组合,生成所述实例的数字指纹,包括:
16.根据预设的权重规则,确定出各个所述基本信息的权重值;
17.根据权重值将所有的第二序列值从高到低的顺序进行排列,将排列后的第二序列值进行组合生成所述实例的数字指纹。
18.一种数据源实例演进的分析方法,应用于服务提供方的服务端,所述方法包括:
19.接收客户端上报的数据,从所述数据中提取出实例的数字指纹;
20.从预设的数据库中查询是否存储有所述数字指纹对应的历史数字指纹,若存储有所述历史数字指纹,则将所述数字指纹与所述历史数字指纹中同一基本信息对应的第二序列值分成一组,计算各组中的两个第二序列值的相似度值;
21.对所有计算得到的相似度值进行相加,将相加结果作为所述数字指纹与所述历史数字指纹的比对值;
22.当判断所述比对值小于预设阈值时,生成所述比对值的实例id并存储至所述数据库。
23.可选的,所述将所述数字指纹与所述历史数字指纹中同一基本信息对应的第二序列值分成一组,计算各组中的两个第二序列值的相似度值,包括:
24.对所述数字指纹的排列组合进行拆分,得到所述数字指纹的多个第二序列值;
25.对所述历史数字指纹的排列组合进行拆分,得到所述历史数字指纹的多个第二序列值;
26.将同一基本信息对应的两个第二序列值分成一组,计算各组中的两个第二序列值的相似度值。
27.此外,为实现上述目的,本发明还提供一种数据源实例演进的分析系统,该系统包括:
28.服务请求方的客户端:用于从所述服务请求方的预设数据源获取服务提供方为所述服务请求方部署的实例的信息集,从所述信息集提取出所述服务请求方使用所述实例所需预设数量的基本信息,将所述基本信息包含的标识id进行拼接,生成所述基本信息的第一序列值,根据预设的固定长度算法对所述第一序列值的长度进行处理,生成所述基本信息的第二序列值,对各个所述基本信息的第二序列值进行排列组合,生成所述实例的数字指纹;
29.服务提供方的服务端:接收客户端上报的数据,从所述数据中提取出实例的数字指纹,从预设的数据库中查询是否存储有所述数字指纹对应的历史数字指纹,若存储有所述历史数字指纹,则将所述数字指纹与所述历史数字指纹中同一基本信息对应的第二序列值分成一组,计算各组中的两个第二序列值的相似度值,对所有计算得到的相似度值进行相加,将相加结果作为所述数字指纹与所述历史数字指纹的比对值,当判断所述比对值小于预设阈值时,生成所述比对值的实例id并存储至所述数据库。
30.此外,为实现上述目的,本发明还提供一种电子装置,应用于服务请求方的客户端,该电子装置包括:存储器、处理器,所述处理器与所述存储器电连接,所述存储器上存储有可在所述处理器上运行的数据源实例演进的分析程序,所述数据源实例演进的分析程序被所述处理器执行时实现如上所述的应用于数据源实例演进的分析方法。
31.此外,为实现上述目的,本发明还提供一种电子装置,应用于服务提供方的服务端,该电子装置包括:存储器、处理器,所述处理器与所述存储器电连接,所述存储器上存储有可在所述处理器上运行的数据源实例演进的分析程序,所述数据源实例演进的分析程序被所述处理器执行时实现如上所述的应用于数据源实例演进的分析方法。
32.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于数据源实例演进的分析程序,所述基于数据源实例演进的分析程序可被一个或者多个处理器执行,以实现上述数据源实例演进的分析方法。
33.相较现有技术,本发明通过获取服务请求方的客户端对部署在私有云的实例的信息集,对信息集中各个基本信息的标识id进行拼接、长度处理、排列组合,生成实例的数字指纹。实现了无需依赖服务请求方的任何投入或设置,能够自动生成实例的数字指纹,避免了实例id错漏和同一实例id泛滥等情况发生。
34.提取服务请求方的客户端上报数据中的数字指纹,将数字指纹与数据库中该数字指纹对应的历史数字指纹进行计算相似度值,将所有相似度值相加作为数字指纹与历史数字指纹的比对值,通过比对值与预设阈值的比对,能够绘制不同时空的系统实例的运行情况,实现对部署在私有云中实例的演化进行准确分析。
附图说明
35.图1为本发明一实施例提供的数据源实例演进的分析方法的服务请求方的客户端流程示意图;
36.图2为本发明一实施例提供的数据源实例演进的分析方法的服务提供方的服务端流程示意图;
37.图3为本发明数据源实例演进的分析系统示意图;
38.图4为本发明一实施例提供的实现数据源实例演进的分析方法的电子设备的结构示意图;
39.本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
40.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
42.本发明提供一种数据源实例演进的分析方法。参照图1所示,为本发明一实施例提供的数据源实例演进的分析方法的服务请求方的客户端流程示意图。
43.在服务请求方购买服务提供方提供的实例后,服务请求方将实例安装在服务请求方部署的私有云中,同时,服务提供方还将实例安装在其它服务请求方部署的私有云中,通过服务提供方的预设的指纹模块将实例的使用数据上传给服务提供方作为分析数据。
44.本实施例中,数据源实例演进的分析方法,应用于服务请求方的客户端,包括:
45.s1、从所述服务请求方的预设数据源获取服务提供方为所述服务请求方部署的实例的信息集;
46.本实施例中,在服务请求方购买服务提供方提供的实例后,服务请求方将实例安装在服务请求方部署的私有云中,在服务请求方使用实例时,通过运行在私有云的预设的指纹模块,从服务请求方的预设数据源(私有云)获取服务提供方为服务请求方部署的实例的信息集;预设的指纹模块是指服务提供方自研的数据收集(data-collector)组件构造的,指纹模块与实例绑定且运行在私有云中,指纹模块除了收集私有云上的各个实例的数据,不会对客户端的数据进行收集存储的。也就是说,利用指纹模块获取客户端在私有云中使用服务提供方的实例情况的信息集,可以理解为需要时即时计算。实例是指服务提供方运行在私有云的产品或软件程序。在其他实施例中,预设的指纹模块也可以采用其它指纹收集装置构造。
47.客户端在每一次进行数据上报给服务提供方的时候,指纹模块对客户端在私有云中使用实例的信息集进行收集和数据标记,通过对信息集进行加工处理,最后生成数字指纹并写入到上报数据中。
48.在一个实施例中,所述信息集包括的基本信息为:所述实例的初始有效团队基本信息、容器环境变量、所述实例的许可证;
49.实例的初始有效团队基本信息是指一个正常使用服务提供方的实例的团队的所有数据,初始有效团队基本信息包含组织的标识id和团队的标识id;
50.容器环境变量是指服务提供方的实例部署在私有云中,需要使用的容器环境变量(例如,环境变量的基本信息包括容器编号、变量值,将容器编号的数字序列,变量值的数字序列分别作为容器环境变量的标识id);
51.实例的许可证是指实例的类型编号和身份序列,将实例的类型编号的数字序列和身份序列的数字序列分别作为实例的许可证的标识id,实例的许可证用于反盗版的,与客户的账号是一一对应。
52.通过获取这些信息集的基本信息可以确保出客户端上报的数据源,能从不同的私有云部署的上报数据中,判断了出哪条上报数据来自哪个私有云的哪个实例,实现对数据源的区分。
53.s2、从所述信息集提取出所述服务请求方使用所述实例所需预设数量的基本信息,将所述基本信息包含的标识id进行拼接,生成所述基本信息的第一序列值;
54.本实施例中,从信息集提取出服务请求方使用实例所需预设数量(例如,预设数量为3个)的基本信息,通常选取使用实例所依赖的环境信息作为基本信息,在本实施例中,将实例的初始有效团队基本信息、容器环境变量、实例的许可证作为服务请求方使用实例所依赖的基本信息。
55.信息集的基本信息是由服务提供方来定义的,在其它实施例中,根据业务场景需要,可以获取实例的团队序列号,正版防伪标识,随机编码加密,特定加密算法作为信息集
的基本信息,也可以采用其他信息作为信息集的基本信息,在此不作限定。
56.将每个基本信息包含的标识id进行拼接,生成基本信息的第一序列值;标识id是代表基本信息的身份的数字序列,每条基本信息所包含的标识id至少有两个,例如,初始有效团队基本信息包含组织的标识id、团队的标识id、用户的标识id,将组织的标识id、团队的标识id、用户的标识id等的数字序列进行拼接,生成初始有效团队基本信息的第一序列值。
57.在一个实施例中,所述将所述基本信息包含的标识id进行拼接,生成所述基本信息的第一序列值,包括:
58.a10步骤、读取所述基本信息包含的所有标识id进行拼接,得到拼接结果;
59.a20步骤、根据预设的加密算法对所述拼接结果进行加密,生成所述基本信息的第一序列值。
60.本实施例中,预设的加密算法是指md5加密算法,md5加密算法是一个散列函数,接受任何输入生成一个32个十六进制字符串,md5算法还具有不可逆的特点。
61.实例的客户结构由组织-团队-客户,这三个层级构成,每个层级都有一个专门的随机序列值来标识,组织id和团队id是用来保证实例的唯一性。例如,读取实例的初始有效团队基本信息中的组织的标识id、团队的标识id、用户的标识id,将组织的标识id、团队的标识id、用户的标识id按从高到低的层级顺序进行排列拼接,利用md5加密算法对拼接后的拼接结果进行加密编码,生成实例的初始有效团队基本信息的第一序列值。
62.每个基本信息的加工步骤和逻辑是共用的,因为每个基本信息不是同一个值,所以生成的序列值不同。例如,将容器编号的数字序列,变量值的数字序列分别作为容器环境变量的标识id,将实例的类型编号的数字序列和身份序列的数字序列分别作为实例的许可证的标识id,对各自基本信息所包含的所有标识id执行a10-a20步骤,直至得到对应的基本信息的第一序列值。
63.通过将各个基本信息进行加工,生成各个基本信息的第一序列值,在尽可能不损失或者少损失原始数据信息的情况下,对多个基本信息进行加工处理,实现降低数据采集和分析的难度。
64.s3、根据预设的固定长度算法对所述第一序列值的长度进行处理,生成所述基本信息的第二序列值;
65.具体地,所述s3步骤包括:
66.读取所述第一序列值的长度,根据预设的固定长度算法对所述第一序列值的长度进行截取或位置补全,生成所述基本信息的第二序列值。
67.本实施例中,预设的固定长度算法是指字符串截取与补全的算法,每个第一序列值的字符串长度是不一样的,对每个第一序列值的长度进行截取或者增加长度来达到长度一致的目的,生成一个固定长度的第二序列值。
68.例如,由于加密后得到多个第一序列值,有些基本信息的第一序列值是32位长度的字符串,有些基本信息的第一序列值是8位长度的字符串,但预设的固定长度算法是对16位长度的字符串的操作算法,那么对于32位长度的字符串,选取中间的16位进行截取,删除冗余长度字符串;那么对于8位长度的字符串,将其增加至16位,从而将所有的第一序列值生成为16位长度的字符串的第二序列值。
69.通过生成固定长度的第二序列值可以提高数据规格统一化,可以避免后续的计算数字指纹相关负载,优化了指纹模块的编译器内的访问模式并删除冗余长度字符串。
70.s4、对各个所述基本信息的第二序列值进行排列组合,生成所述实例的数字指纹。
71.具体地,所述s4步骤包括:
72.根据预设的权重规则,确定出各个所述基本信息的权重值;
73.根据权重值将所有的第二序列值从高到低的顺序进行排列,将排列后的第二序列值进行组合生成所述实例的数字指纹。
74.本实施例中,预设的权重规则是指服务提供方根据代码修改后到程序运行生效时间的权重值,来定义各个第二序列值在组合中的排列位置的规则。
75.经过固定长度算法后得到各个基本信息的第二序列值,这些第二序列值中有些代码复杂,有些代码较简单;其中复杂的第二序列值的代码修改后到程序运行是需要发布的动作,但发布往往是缓慢而慎重的,将其第二序列值的部分修改使用配置文件的形式实现。那么一些简单的第二序列值经过上述的固定长度算法后,这些第一序列值的代码修改是不需要进行发布即可生效的。根据各个第二序列值的发布程序的难易程度和程序运行生效时间的权重值进行排列,将排列后的第二序列值进行组合生成实例的数字指纹。
76.通过对各个第二序列值的权重值进行排列组合,可以提高对数字指纹生成和发布的效率。
77.通过上述s1-s4步骤,可以准确获取到数据源的数字指纹,实施便捷且成本低,在事前无需客户的任何投入或部署,在事后形成数字指纹不会对原有的私有云系统和客户端造成侵入和影响性。
78.本发明提供一种数据源实例演进的分析方法。参照图2所示,为本发明一实施例提供的数据源实例演进的分析方法的服务提供方的服务端流程示意图。该方法由电子设备执行。
79.本实施例中,数据源实例演进的分析方法,应用于服务提供方的服务端,包括:
80.s5、接收客户端上报的数据,从所述数据中提取出实例的数字指纹。
81.本实施例中,数字指纹是指由指纹模块对服务请求方的客户端在私有云使用实例的数据进行收集和标记,对这些实例的数据进行处理生成序列值的组合;当每一次服务提供方接收到服务请求方的客户端上报的数据时,对数据进行解析,得到实例的信息集,及由指纹模块生成的数字指纹。
82.通过获取数字指纹,确保不获取服务请求方的客户端的敏感信息,保证服务请求方的客户端的数据的安全性。
83.s6、从预设的数据库中查询是否存储有所述数字指纹对应的历史数字指纹,若存储有所述历史数字指纹,则将所述数字指纹与所述历史数字指纹中同一基本信息对应的第二序列值分成一组,计算各组中的两个第二序列值的相似度值。
84.本实施例中,预设的数据库是指服务提供方自主构建的数据库,也可以采用其它数据库,在此不作限定;历史数字指纹是指数字指纹的前一个版本的指纹;服务请求方在私有云中部署服务提供方的实例后,当客户端每次对实例进行初始化操作,对不同时间点产生的数字指纹标记于不同的时间戳来区分指纹的版本。
85.初始化是指实例一次生命周期开始时进行的,一个生命周期只会进行一次初始
化。通过实例的初始化可以获得所需要的一些全局变量,通过全局变量可以比对每个版本或不同时间点的数字指纹的各个区域的细微变化。其中,一个生命周期是指从打开某应用程序开始到该应用程序结束运行为止。
86.在一个实施例中,所述从预设的数据库中查询是否存储有所述数字指纹对应的历史数字指纹,包括:
87.读取所述数字指纹对应实例的信息集;
88.根据所述信息集查询数据库是否存储有所述信息集相关的历史数字指纹。
89.读取数字指纹的信息集(实例的初始有效团队基本信息、容器环境变量、实例的许可证基本信息)中包含的其中一个或多个基本信息,根据一个或多个基本信息查询数据库是否存储有这些基本信息相关的历史数字指纹,例如,通过实例的许可证基本信息,查询数据库是否存储有该实例的许可证基本信息相关的历史版本指纹(历史数字指纹)。
90.通过数字指纹与历史数字指纹的时间戳查询对比,可以清楚地区分出服务请求方的客户端每次上报数据是什么时间点,来自哪个私有云设备中哪个实例的数据,避免了现有技术中,私有云部署的实例id要依赖服务请求方内部人员来设置,存在实例id错漏和同一实例id泛滥问题的发生。
91.在一个实施例中,所述方法还包括:
92.若未存储有所述历史数字指纹,则对所述数字指纹生成实例id并存储至所述数据库。
93.若查询到数据库没有存储有历史数字指纹,则说明数字指纹是服务请求方在私有云中部署服务提供方的实例后,是第一次上报数据给服务提供方,即数字指纹为第一个版本的指纹,根据预设的生成id算法对数字指纹生成一个实例id存储至数据库,预设的生成id算法是指雪花算法,利用雪花算法的机器id、当前时间的高精度时间戳、随机生成的序列值对数字指纹进行拼接运算,得到数字指纹的实例id。
94.通过雪花算法对数字指纹生成实例id,可以在具有高并发分布式环境下不重复,生成效率极高,而且基于时间戳可以保证实例id是有序递增的一个序列值,确保存储在数据库的各个实例id不重复。
95.在一个实施例中,所述将所述数字指纹与所述历史数字指纹中同一基本信息对应的第二序列值分成一组,计算各组中的两个第二序列值的相似度值,包括:
96.对所述数字指纹的排列组合进行拆分,得到所述数字指纹的多个第二序列值;
97.对所述历史数字指纹的排列组合进行拆分,得到所述历史数字指纹的多个第二序列值;
98.将同一基本信息对应的两个第二序列值分成一组,计算各组中的两个第二序列值的相似度值。
99.对数字指纹的排列组合进行拆分,得到数字指纹的多个固定长度的第二序列值;及对历史数字指纹的排列组合进行拆分,得到历史数字指纹的多个固定长度的第二序列值;根据同一基本信息,将属于同一基本信息的两个第二序列值分成一组。例如,实例的初始有效团队基本信息对应的两个第二序列值分成一组,容器环境变量对应的两个第二序列值分成一组,实例的许可证对应的两个第二序列值分成一组,然后计算各组中两个第二序列值之间的相似度,得到各组的相似度值。
100.通过计算各组中两个第二序列值之间的相似度值,根据相似度值可以识别出数字指纹相对于历史数字指纹是否发生过基础变化,例如,基础变化是指服务请求方是否更换过私有云中的服务器、是否新增私有云中的服务器、是否将服务提供方的实例迁移到私有云中其它的服务器、是否重新部署过实例、是否增加部署实例等情况变化。绘制出不同时空的系统实例的运行情况,实现对实例的跟踪,且记录实例数据的变动范围。
101.s7、对所有计算得到的相似度值进行相加,将相加结果作为所述数字指纹与所述历史数字指纹的比对值。
102.本实施例中,将计算得到各组的相似度值进行相加,相加后会生成一个0至1之间的双精度的比对值。
103.将各组的相似度值进行相加,可以节省系统计算资源,避免了复杂的算法所带来的效率慢和耗费系统资源,得到数字指纹与历史数字指纹的比对值,能有效判断出服务请求方的客户端对实例的实际使用情况。
104.s8、当判断所述比对值小于预设阈值时,生成所述比对值的实例id并存储至所述数据库。
105.本实施例中,将得到数字指纹与历史数字指纹的比对值,与预设值(例如,预设值为0.8)进行比对,若判断比对值小于预设值时,则说明数字指纹相对于历史数字指纹的基础变化,已经超出了允许的演化范围,即数字指纹相对于历史数字指纹的变化比较大,有可能是服务请求方更换过私有云中的服务器或新增私有云中的服务器等情况,造成超出了允许的演化范围。
106.当判断比对值小于预设阈值时,根据预设的生成id算法(例如,雪花算法)对比对值生成一个实例id并存储至数据库。由于雪花算法生成实例id的时间戳是有序递增且唯一的一个序列值,通过对基础变化较大的比对值生成新实例id,可以根据实例id的版本能分类出哪些数字指纹相对于历史数字指纹发生了明显的演化,再根据不同的实例id的时间戳得出服务请求方的客户端的使用状态变化,从而提高服务提供方对实例的后期维护效率和对实例的服务跟进和分析。
107.在一个实施例中,所述方法还包括:
108.当判断所述比对值大于或等于预设阈值时,将所述历史数字指纹的实例id作为所述比对值的实例id并存储至所述数据库。
109.将得到数字指纹与历史数字指纹的比对值,与预设值(例如,预设值为0.8)进行比对,若判断比对值大于或等于预设值时,则说明数字指纹相对于历史数字指纹的基础变化,是在允许的演化范围内,即数字指纹相对于历史数字指纹的变化比较小,有可能是服务请求方重新部署过私有云中实例的情况。根据预设的生成id算法(例如,雪花算法)对历史数字指纹的实例id的时间戳进行更新,生成一个新时间戳,由于比对值的实例id与历史数字指纹的实例id是相同的,但时间戳是不相同的,可以通过相同的实例id不同的时间戳,来分类出哪些数字指纹相对于历史数字指纹没有发生了明显的演化。
110.通过比对值与预设值进行比对,服务提供方可以得知部署在服务请求方私有云中实例的演进变化,从而能准确跟踪并分析实例,而提供对应服务的策略。
111.通过上述s5-s8步骤,可以实现对数据源的实例使用情况进行有效且准确的跟踪和绘制不同时空的系统实例的运行情况,即使在私有云系统的功能升级后仍可进行跟踪实
例,且记录实例数据的变动范围。
112.本发明通过上述s1-s8步骤,通过调用指纹模块,获取服务请求方的客户端对私有云部署的实例的信息集并进行处理,生成实例的数字指纹。在事前无需依赖服务请求方的任何投入或设置,能够自动生成实例的数字指纹,避免了实例id错漏和同一实例id泛滥等情况发生。
113.提取服务请求方的客户端上报数据中的数字指纹,将数字指纹与数据库中该数字指纹对应的历史数字指纹进行计算相似度值,将所有相似度值相加作为数字指纹与历史数字指纹的比对值,通过比对值与预设阈值的比对,能够绘制不同时空的系统实例的运行情况,实现对部署在私有云中实例的演化进行准确跟踪和分析。
114.如图3所示,为本发明数据源实例演进的分析系统示意图。
115.在本发明的实施例中,数据源实例演进的分析系统100,包括服务请求方的客户端110及服务提供方的服务端120,示例性地:
116.服务请求方的客户端:用于从所述服务请求方的预设数据源获取服务提供方为所述服务请求方部署的实例的信息集,从所述信息集提取出所述服务请求方使用所述实例所需预设数量的基本信息,将所述基本信息包含的标识id进行拼接,生成所述基本信息的第一序列值,根据预设的固定长度算法对所述第一序列值的长度进行处理,生成所述基本信息的第二序列值,对各个所述基本信息的第二序列值进行排列组合,生成所述实例的数字指纹;
117.服务提供方的服务端:接收客户端上报的数据,从所述数据中提取出实例的数字指纹,从预设的数据库中查询是否存储有所述数字指纹对应的历史数字指纹,若存储有所述历史数字指纹,则将所述数字指纹与所述历史数字指纹中同一基本信息对应的第二序列值分成一组,计算各组中的两个第二序列值的相似度值,对所有计算得到的相似度值进行相加,将相加结果作为所述数字指纹与所述历史数字指纹的比对值,当判断所述比对值小于预设阈值时,生成所述比对值的实例id并存储至所述数据库。
118.在一个实施例中,所述将所述基本信息包含的标识id进行拼接,生成所述基本信息的第一序列值,包括:
119.读取所述基本信息包含的所有标识id进行拼接,得到拼接结果;
120.根据预设的加密算法对所述拼接结果进行加密,生成所述基本信息的第一序列值。
121.在一个实施例中,所述根据预设的固定长度算法对所述第一序列值的长度进行处理,生成所述基本信息的第二序列值,包括:
122.读取所述第一序列值的长度,根据预设的固定长度算法对所述第一序列值的长度进行截取或位置补全,生成所述基本信息的第二序列值。
123.在一个实施例中,所述对各个所述基本信息的第二序列值进行排列组合,生成所述实例的数字指纹,包括:
124.根据预设的权重规则,确定出各个所述基本信息的权重值;
125.根据权重值将所有的第二序列值从高到低的顺序进行排列,将排列后的第二序列值进行组合生成所述实例的数字指纹。
126.在一个实施例中,所述将所述数字指纹与所述历史数字指纹中同一基本信息对应
的第二序列值分成一组,计算各组中的两个第二序列值的相似度值,包括:
127.对所述数字指纹的排列组合进行拆分,得到所述数字指纹的多个第二序列值;
128.对所述历史数字指纹的排列组合进行拆分,得到所述历史数字指纹的多个第二序列值;
129.将同一基本信息对应的两个第二序列值分成一组,计算各组中的两个第二序列值的相似度值。
130.如图4所示,为本发明一实施例提供的实现数据源实例演进的分析方法的电子设备的结构示意图。
131.在本实施例中,电子设备1包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,该存储器11中存储有基于数据源实例演进的分析程序10,所述基于数据源实例演进的分析程序10可被所述处理器12执行。图3仅示出了具有组件11-13以及基于数据源实例演进的分析程序10的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
132.其中,存储器11包括内存及至少一种类型的可读存储介质。内存为电子设备1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子设备1的内部存储单元;在另一些实施例中,该非易失性存储介质也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于电子设备1的操作系统和各类应用软件,例如存储本发明一实施例中的基于数据源实例演进的分析程序10的代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
133.处理器12在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行与其他设备进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行基于数据源实例演进的分析程序10等。
134.网络接口13可包括无线网络接口或有线网络接口,该网络接口13用于在所述电子设备1与终端(图中未画出)之间建立通信连接。
135.可选的,所述电子设备1还可以包括服务请求方接口,服务请求方接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的服务请求方接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的服务请求方界面。
136.应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
137.所述电子设备1中的所述存储器11存储的基于数据源实例演进的分析程序10是多个指令的组合,在所述处理器12中运行时,可以实现:
138.从所述服务请求方的预设数据源获取服务提供方为所述服务请求方部署的实例的信息集,从所述信息集提取出所述服务请求方使用所述实例所需预设数量的基本信息,将所述基本信息包含的标识id进行拼接,生成所述基本信息的第一序列值,根据预设的固定长度算法对所述第一序列值的长度进行处理,生成所述基本信息的第二序列值,对各个所述基本信息的第二序列值进行排列组合,生成所述实例的数字指纹;
139.接收客户端上报的数据,从所述数据中提取出实例的数字指纹,从预设的数据库中查询是否存储有所述数字指纹对应的历史数字指纹,若存储有所述历史数字指纹,则将所述数字指纹与所述历史数字指纹中同一基本信息对应的第二序列值分成一组,计算各组中的两个第二序列值的相似度值,对所有计算得到的相似度值进行相加,将相加结果作为所述数字指纹与所述历史数字指纹的比对值,当判断所述比对值小于预设阈值时,生成所述比对值的实例id并存储至所述数据库。
140.具体地,所述处理器12对上述基于数据源实例演进的分析程序10的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
141.进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以是非易失性的,也可以是非易失性的。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
142.所述计算机可读存储介质上存储有基于数据源实例演进的分析程序10,所述基于数据源实例演进的分析程序10可被一个或者多个处理器执行,本发明计算机可读存储介质具体实施方式与上述数据源实例演进的分析方法各实施例基本相同,在此不作赘述。
143.在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
144.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
145.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
146.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
147.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
148.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
149.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
技术特征:
1.一种数据源实例演进的分析方法,应用于服务请求方的客户端,其特征在于,所述方法包括:从所述服务请求方的预设数据源获取服务提供方为所述服务请求方部署的实例的信息集;从所述信息集提取出所述服务请求方使用所述实例所需预设数量的基本信息,将所述基本信息包含的标识id进行拼接,生成所述基本信息的第一序列值;根据预设的固定长度算法对所述第一序列值的长度进行处理,生成所述基本信息的第二序列值;对各个所述基本信息的第二序列值进行排列组合,生成所述实例的数字指纹。2.如权利要求1所述的数据源实例演进的分析方法,其特征在于,所述将所述基本信息包含的标识id进行拼接,生成所述基本信息的第一序列值,包括:读取所述基本信息包含的所有标识id进行拼接,得到拼接结果;根据预设的加密算法对所述拼接结果进行加密,生成所述基本信息的第一序列值。3.如权利要求1所述的数据源实例演进的分析方法,其特征在于,所述根据预设的固定长度算法对所述第一序列值的长度进行处理,生成所述基本信息的第二序列值,包括:读取所述第一序列值的长度,根据预设的固定长度算法对所述第一序列值的长度进行截取或位置补全,生成所述基本信息的第二序列值。4.如权利要求1所述的数据源实例演进的分析方法,其特征在于,所述对各个所述基本信息的第二序列值进行排列组合,生成所述实例的数字指纹,包括:根据预设的权重规则,确定出各个所述基本信息的权重值;根据权重值将所有的第二序列值从高到低的顺序进行排列,将排列后的第二序列值进行组合生成所述实例的数字指纹。5.一种数据源实例演进的分析方法,应用于服务提供方的服务端,其特征在于,所述方法包括:接收客户端上报的数据,从所述数据中提取出实例的数字指纹;从预设的数据库中查询是否存储有所述数字指纹对应的历史数字指纹,若存储有所述历史数字指纹,则将所述数字指纹与所述历史数字指纹中同一基本信息对应的第二序列值分成一组,计算各组中的两个第二序列值的相似度值;对所有计算得到的相似度值进行相加,将相加结果作为所述数字指纹与所述历史数字指纹的比对值;当判断所述比对值小于预设阈值时,生成所述比对值的实例id并存储至所述数据库。6.如权利要求5所述的数据源实例演进的分析方法,其特征在于,所述将所述数字指纹与所述历史数字指纹中同一基本信息对应的第二序列值分成一组,计算各组中的两个第二序列值的相似度值,包括:对所述数字指纹的排列组合进行拆分,得到所述数字指纹的多个第二序列值;对所述历史数字指纹的排列组合进行拆分,得到所述历史数字指纹的多个第二序列值;将同一基本信息对应的两个第二序列值分成一组,计算各组中的两个第二序列值的相似度值。
7.一种数据源实例演进的分析系统,其特征在于,该系统包括:服务请求方的客户端:用于从所述服务请求方的预设数据源获取服务提供方为所述服务请求方部署的实例的信息集,从所述信息集提取出所述服务请求方使用所述实例所需预设数量的基本信息,将所述基本信息包含的标识id进行拼接,生成所述基本信息的第一序列值,根据预设的固定长度算法对所述第一序列值的长度进行处理,生成所述基本信息的第二序列值,对各个所述基本信息的第二序列值进行排列组合,生成所述实例的数字指纹;服务提供方的服务端:接收客户端上报的数据,从所述数据中提取出实例的数字指纹,从预设的数据库中查询是否存储有所述数字指纹对应的历史数字指纹,若存储有所述历史数字指纹,则将所述数字指纹与所述历史数字指纹中同一基本信息对应的第二序列值分成一组,计算各组中的两个第二序列值的相似度值,对所有计算得到的相似度值进行相加,将相加结果作为所述数字指纹与所述历史数字指纹的比对值,当判断所述比对值小于预设阈值时,生成所述比对值的实例id并存储至所述数据库。8.一种电子装置,应用于服务请求方的客户端,其特征在于,该电子装置包括:存储器、处理器,所述处理器与所述存储器电连接,所述存储器上存储有可在所述处理器上运行的数据源实例演进的分析程序,所述数据源实例演进的分析程序被所述处理器执行时实现如权利要求1-5任意一项所述的数据源实例演进的分析方法。9.一种电子装置,应用于服务提供方的服务端,其特征在于,该电子装置包括:存储器、处理器,所述处理器与所述存储器电连接,所述存储器上存储有可在所述处理器上运行的数据源实例演进的分析程序,所述数据源实例演进的分析程序被所述处理器执行时实现如权利要求5-6任意一项所述的数据源实例演进的分析方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于数据源实例演进的分析程序,所述基于数据源实例演进的分析程序可被一个或者多个处理器执行,以实现如权利要求1至6任一项所述的数据源实例演进的分析方法。
技术总结
本发明涉及数据处理领域,揭露一种数据源实例演进的分析方法,包括:接收客户端上报的数据,从数据中提取出实例的数字指纹,从预设的数据库中查询是否存储有数字指纹对应的历史数字指纹,若存储有历史数字指纹,则将数字指纹与历史数字指纹中同一基本信息对应的第二序列值分成一组,计算各组中的两个第二序列值的相似度值,对所有计算得到的相似度值进行相加,将相加结果作为数字指纹与历史数字指纹的比对值,当判断比对值小于预设阈值时,生成比对值的实例ID并存储至数据库。本发明还提供一种基于数据源实例演进的分析装置、电子设备及存储介质。本发明实现对部署在私有云中实例的演化进行准确分析。的演化进行准确分析。的演化进行准确分析。
技术研发人员:
王颖奇 冯斌 邱龙根 朱家祺
受保护的技术使用者:
深圳复临科技有限公司
技术研发日:
2022.11.03
技术公布日:
2023/2/27