CN117294724A - 云资源同步方法、装置、电子设备及可读存储介质 - Google Patents
云资源同步方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117294724A CN117294724A CN202311182978.XA CN202311182978A CN117294724A CN 117294724 A CN117294724 A CN 117294724A CN 202311182978 A CN202311182978 A CN 202311182978A CN 117294724 A CN117294724 A CN 117294724A
- Authority
- CN
- China
- Prior art keywords
- cloud
- request
- instance
- resources
- audit
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012550 audit Methods 0.000 claims abstract description 119
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 9
- 238000005406 washing Methods 0.000 claims 1
- 230000001360 synchronised effect Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000004140 cleaning Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 241001178520 Stomatepia mongo Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请适用于云资源同步领域,提供了云资源同步方法、装置、电子设备及可读存储介质,所述方法包括:向云产品对应的云审计接口发送第一请求;接收所述云审计接口根据所述开始时间、所述结束时间和所述过滤的事件返回的审计日志;从所述审计日志获取对应的实例的标识;向所述云产品的开放接口发送第二请求,所述第二请求包括所述实例的标识;接收所述开放接口根据所述实例的标识返回的增量资源;记录所述增量资源。通过上述方法,能够提高云资源同步的及时性。
Description
技术领域
本申请属于云资源同步的技术领域,尤其涉及云资源同步方法、装置、电子设备及可读存储介质。
背景技术
随着云计算的兴起,大量企业通过云厂商实现业务的快速落地开展,企业或云厂商对数据的运维工作也从传统运维变成云计算运维。
运维工作的开展,离不开云上资源构建的配置管理数据库(ConfigurationManagement Database,CMDB)平台。比如云上主机、数据库等资源的创建、扩缩容、销毁等操作都需要及时同步到CMDB中,以便其他内部平台可以快速使用这些操作对应的信息。例如JumpServer堡垒机平台的主机信息需要从CMDB中同步而来。
在现有方法中,是通过全量同步各个云上产品的应用程序接口(ApplicationProgramming Interface,API)实现云资源的同步。例如,基于云商(比如腾讯云)提供的某个产品(比如云虚拟主机(Cloud Virtual Machuine,CVM)云服务器)的OpenAPI接口(即开放的API)去定期的获取数据来实现云资源的同步。在采用上述方法进行云资源同步时,由于受到资源数量和接口调用频次的限制,因此,单次运行时间较长,不能实现近实时同步的需求。
发明内容
本申请实施例提供了云资源同步方法、装置、电子设备及可读存储介质,可以解决现有方法难以及时实现云资源的同步的问题。
第一方面,本申请实施例提供了一种云资源同步方法,包括:
向云产品对应的云审计接口发送第一请求,所述云产品为所述云资源对应的产品,所述第一请求包括开始时间、结束时间和过滤的事件;
接收所述云审计接口根据所述开始时间、所述结束时间和所述过滤的事件返回的审计日志;
从所述审计日志获取对应的实例的标识;
向所述云产品的开放接口发送第二请求,所述第二请求包括所述实例的标识;
接收所述开放接口根据所述实例的标识返回的增量资源;
记录所述增量资源。
第二方面,本申请实施例提供了一种云资源同步装置,包括:
第一请求发送模块,用于向云产品对应的云审计接口发送第一请求,所述云产品为所述云资源对应的产品,所述第一请求包括开始时间、结束时间和过滤的事件;
审计日志接收模块,用于接收所述云审计接口根据所述开始时间、所述结束时间和所述过滤的事件返回的审计日志;
实例的标识获取模块,用于从所述审计日志获取对应的实例的标识;
第二请求发送模块,用于向所述云产品的开放接口发送第二请求,所述第二请求包括所述实例的标识;
增量资源接收模块,用于接收所述开放接口根据所述实例的标识返回的增量资源;
增量资源记录模块,用于记录所述增量资源。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的方法。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面所述的方法。
本申请实施例与现有技术相比存在的有益效果是:
本申请实施例中,由于云审计本身是记录云上所有对资源的审计记录,且其记录速度能达到秒级或分级,因此,能够快速从云审计接口获取与过滤的事件匹配的实例的标识。此外,由于从云产品的开放接口获取的是与过滤的事件匹配的实例的标识对应的资源(即增量资源),即无需从该开放接口获取所有实例的标识对应的资源(即全量资源),因此,减少了同一时间内需获取的资源的数量,提高了资源获取的及时性,同时,由于能够快速获取到与过滤的事件匹配的实例的标识,因此,能够快速从开放接口获取与该实例的标识对应的资源,从而提高了资源的获取效率,进而提高了云资源同步的及时性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本申请一实施例提供的一种云资源同步方法的流程示意图;
图2是本申请一实施例提供的另一种云资源同步方法的流程示意图;
图3是本申请一实施例提供的一种云资源同步装置的结构示意图;
图4是本申请一实施例提供的一种电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
实施例一:
在进行云资源同步时,若通过云产品的开放接口定期获取全量资源,即通过定时任务平台周期调用实现全量资源的周期获取时,由于受到资源数量和接口调用频次的限制,因此,单次运行时间较长,不能实现近实时同步的需求。并且,在资源因操作或者其他原因导致变化时,若该变化在定时任务的任务调度间隔内,则不能及时通过该定时任务获取变化的资源,从而不能实现近实时同步的需求。
为了能够及时获取云资源,实现云资源的同步,本申请实施例提供了一种云资源同步方法。在该方法中,从云审计接口获取与过滤的事件匹配的实例的标识后,根据该实例的标识从云产品的开放接口获取对应的增量的资源,并记录该增量的资源。
下面结合附图对本申请实施例提供的云资源同步方法进行描述。
图1示出了本申请实施例提供的一种云资源同步方法的流程示意图,详述如下:
S11、向云产品对应的云审计接口发送第一请求,上述云产品为上述云资源对应的产品,上述第一请求包括开始时间、结束时间和过滤的事件。
其中,这里的云产品是指将数据(或称资源)存储在云上的产品。云上的资源有多种,比如,云虚拟主机(Cloud Virtual Machine,CVM)、云数据库(MySQL(一种关系型数据库)、远程字典服务(Remote Dictionary Server,Redis)--一种缓存数据库、MongoDB(一种文档数据库)等等)、云弹性搜索(Elasticsearch)--一种搜索引擎、Kafka(一种消息中间件)、MapReduce(一种云上Hadoop大数据集群)等。
其中,云审计是利用互联网的云计算概念,通过数据的云存储,使得各种审计资源(参与审计的人员、程序和相关的硬件设备)通过云来协同,从而为审计人员提供更富有效率,更科学的审计过程。云审计可以获取API、控制台、软件开发工具包(SoftwareDevelopment Kit,SDK)中的所有账号对AP I的调用记录,且云审计记录调用记录的速度很快,能够达到秒级或分级。
本申请实施例中,当平台(如CMDB平台)需要同步其存储的云资源时,向云审计中与云产品对应的云审计接口发送第一请求,该第一请求包括开始时间、结束时间和过滤的事件。其中,开始时间是指需要从云审计接口获取的数据的起始时间,结束时间是指需要从该云审计接口获取的数据的结束时间(通常是当前时间),过滤的事件是指需要从云审计接口获取的感兴趣的事件,通常来说,将可能导致资源发生改变的事件作为需过滤出来的事件。
假设CVM为需同步的云资源,对于CVM主机而言,CVM主机事件有很多,并且大量请求是查询CVM,像查询CVM这种的事件,并不会对CVM主机造成改变,所以我们只需要过滤改变CVM的事件即可,即CVM事件中的写事件。通过API文档,我们可以获取并筛选关注的事件,此时,本申请的过滤的事件可包括以下至少一种:
ModifyInstancesAttribute修改实例属性
ModifyInstancesVpcAttribute修改实例VPC属性
PurgeInstances销毁云主机
ResetInstance重装云主机
ResetInstancesType调整子机配置
RunInstances创建云主机
StopInstances关闭云主机
TerminateInstances删除云主机
S12、接收上述云审计接口根据上述开始时间、上述结束时间和上述过滤的事件返回的审计日志。
具体地,平台从云审计接口获取生成时间在上述开始时间和结束时间之间,且事件与过滤的事件匹配的审计日志。例如,假设开始时间为2023.08.01.00,结束时间为2023.08.02.00,过滤的事件为销毁云主机和重装云主机,假设在2023.08.01.05发生一个销毁云主机的事件,云审计在2023.08.01.05.01(即2023年8月1日05时01分)记录该事件得到对应的审计日志,则该审计日志为需过滤的事件。
S13、从上述审计日志获取对应的实例的标识。
其中,实例的标识(Identity Document,ID)用于唯一表示该实例,即采用实例的ID唯一描述资源。
具体地,解析获取的审计日志,根据解析结果获得该审计日志记录的实例的ID。例如,若实例的ID固定记录在审计日志的某个字段,则直接从该字段解析出实例的ID。
S14、向上述云产品的开放接口发送第二请求,上述第二请求包括上述实例的标识。
具体地,平台根据从审计日志获取的实例的ID向云产品的开放接口(OpenAPI)发送第二请求。由于实例的ID无论是在开放接口还是在云审计接口均能够唯一标识该实例,因此,将实例的ID发送给开放接口,能够从该开放接口获取对应的资源。
S15、接收上述开放接口根据上述实例的标识返回的增量资源。
由于发送给开放接口的实例的ID为根据过滤的事件过滤得到的ID,因此,该开放接口只会返回与该实例的ID对应的资源,即不会返回其他实例的ID对应的资源。也即,平台从开放接口接收到的资源为增量的资源(即增量资源)。
S16、记录上述增量资源。
具体地,在平台写入该增量资源,例如,在该平台为CMDB平台时,将该增量资源写入该CMDB平台。
本申请实施例中,由于云审计本身是记录云上所有对资源的审计记录,且其记录速度能达到秒级或分级,因此,能够快速从云审计接口获取与过滤的事件匹配的实例的标识。此外,由于从云产品的开放接口获取的是与过滤的事件匹配的实例的标识对应的资源(即增量资源),即无需从该开放接口获取所有实例的标识对应的资源(即全量资源),因此,减少了同一时间内需获取的资源的数量,提高了资源获取的及时性,同时,由于能够快速获取到与过滤的事件匹配的实例的标识,因此,能够快速从开放接口获取与该实例的标识对应的资源,从而提高了资源的获取效率,进而提高了云资源同步的及时性。
在一些实施例中,可定时从云审计接口获取对应的审计日志,以定时从开放接口获取对应的增量资源,进而能够及时对资源进行增量同步。具体地,设置第一定时任务,当该第一定时任务的定时任务频率到达时,执行上述的步骤S11~S16。在一些实施例中,为了能够低延时、快速地获取增量资源,可设置该第一定时任务的定时任务频率的单位为秒,例如,设置该第一定时任务的定时任务频率为10秒~30秒,即每隔10秒~30秒进行一次增量资源的更新。在一些实施例中,为了保证获取到当前时刻所产生的所有的增量资源,则在每次更新时,其设定的开始时间至少早于上一次获取审计日志时所设定的结束时间。例如,假设第一次向云审计接口发送的第一请求的开始时间为10:10:10(即10点10分10秒),结束时间为10:10:30(即10点10分30秒),假设第一定时任务的定时任务频率为10秒,则在10:10:40后,第二次向云审计接口发送第一请求,该第二次向云审计接口发送的第一请求的开始时间可设定为10:10:20(即10点10分20秒),结束时间为10:10:40(即10点10分40秒)。由于两次请求的审计日志所处的时间段存在重合的时间段,因此,若在该重合的时间段的审计日志在云审计接口接收到第一次请求时被遗漏获取,即遗漏向平台返回,则该审计日志也可以在第二请求时被重新获取,进而仍能够向平台返回,从而能够减少平台遗漏获取审计日志的情况。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例二:
在一些实施例中,考虑到可能存在多个事件均描述同一资源的变更(即事件的ID不同,但实例的ID相同),因此,为了保证得到的各个实例的ID的独立性,在上述S13之后,还包括:
对上述实例的标识进行去重处理。
具体地,将获取的各个实例的ID进行比较,由于每个实例的ID均用于唯一标识该实例,因此,当判断出两个或两个以上的实例的ID相同时,可只保留这些实例的ID中的一个即可。这样,在后续向开放接口发送第二请求时,该第二请求只包括去重后的实例的标识,不仅能够减少该第二请求所携带的实例的ID的数量,而且还能够保证从该开放接口获取到所有其希望获取的实例的ID所对应的资源。
在一些实施例中,考虑到两个事件相同时,该两个事件所对应的实例的ID也会相同(不同事件对应的实例的ID可能相同),而实例的ID需要继续对事件的详情进行解析才能得到,因此,为了节省对同一个事件进行解析所需的时间,则在解析出一个新的审计日志之后,缓存该审计日志的事件的ID,此时,在上述步骤S13之前,还包括:
从上述审计日志获取事件的标识。
对应地,上述步骤S13包括:
在未缓存上述事件的标识的情况下,从上述审计日志解析出对应的实例的标识,其中,在未缓存上述事件的标识时,表明未曾对上述审计日志进行解析。
在一些实施例中,在未缓存上述事件的标识的情况下,缓存上述事件的标识。
本申请实施例中,可从审计日志中的EventID字段读取出该审计日志的事件的ID,判断是否缓存该事件的ID,如判断在Redis中是否缓存有与该事件的ID相同的ID,若有,则表明已对该事件的ID所指向的事件详情进行解析,即已解析出对应的实例的ID,此时,无需再对对应的审计日志进行解析。若在Redis中没有缓存有与该事件的ID相同的ID,则表明未对该事件的ID所指向的事件详情进行解析,此时,才需要继续对该审计日志中的事件详情进行解析,以得到对应的实例的ID,并缓存事件的ID。由于根据是否缓存事件的ID的判断结果来选择是否继续从审计日志解析出实例的标识,而与实例的ID相比,事件的ID更容易从审计日志获得,因此,通过上述方式选择是否从审计日志解析出实例的标识,能够减少对同一审计日志进行解析的时间,从而有效提高了后续通过实例的ID获取对应的资源的时效。
当然,考虑到不同的事件可能存在均对同一个资源的变更进行描述的情况,因此,在通过上述方式解析出实例的ID之后,还可对各个实例的ID进行去重。例如,若将本次解析出的各个实例的ID存入实例列表后,对该实例列表的各个实例的ID进行去重,以保证该实例列表中剩余的各个实例的ID均为唯一的ID。
在一些实施例中,考虑到从开放接口获取的增量资源通常包括多个字段的数据,而平台可能只需要记录这些字段中的部分字段的数据,此时,在上述S15之后,还包括:
清洗接收的上述增量资源。
对应地,上述S16包括:
记录清洗后的上述增量资源。
本申请实施例中,对增量资源进行清洗是指只保留目标字段的数据(即只保留目标资源),在对增量资源清洗后,记录清洗后剩余的增量资源。其中,目标字段是指根据实际需求所设置的字段,例如,假设平台关注的数据在字段1中,则该字段1即为上述的目标字段。
在本申请实施例中,目标字段可以为主机ID、实例名称、实例状态、地域信息、VPC(私有网络可以理解为机房)、该VPC的名称等。由于对增量资源进行清洗后再记录,因此,能够保证记录的资源均为所需的资源,从而减少了非必要的资源对存储空间的占用。
实施例三:
在一些实施例中,为了能够获得更全面的资源,则在第一次从云审计接口获取审计日志之前,先从云产品的开放接口获取全量资源(即不是每次从云审计接口获取审计日志之前,均需要先从云产品的开放接口获取全量资源)。即,在上述S11之前,还包括:
A1、向上述云产品的开放接口发送第三请求,上述第三请求包括:请求的数据量、开始获取数据的偏移量以及实例的属性。
其中,请求的数据量是指平台本次希望从开放接口获取的数据(或称资源)的数量,其可通过limit参数指示。
其中,开始获取数据的偏移量用于指示从开放接口获取的数据的位置,其可通过offset参数指示。
其中,实例的属性与待同步的资源有关,其用于对资源进行筛选。例如,若待同步的资源为CVM(即云虚拟主机),由于可以在“上海”这个地域创建主机,也可以在“深圳”这个地域创建主机,即地域是主机的一个属性,因此,若待同步的资源为CVM,则该实例的属性可以为地域。在本申请实施例中,若实例的属性为“深圳”,则表明需同步的资源为“深圳”地区的主机的所对应的信息。
由于全量资源的数据量太大,通常难以一次请求返回,因此,需要多次请求,多次请求中,使用l imit、offet参数可以获取对应实例的ID所对应的资源。
A2、接收上述开放接口根据上述请求的数据量、上述开始获取数据的偏移量以及上述实例的属性返回的全量资源。
其中,这里的全量资源是与开始获取数据的偏移量以及实例的属性对应的资源。由于这里的全量资源不是根据实例的ID所查找到的资源,因此,该全量资源通常包括多个实例的ID所对应的资源(而增量资源是根据指定的实例的ID所查找到的资源),即,与增量资源相比,全量资源所对应的实例的ID的数量更多。
A3、记录上述全量资源。
本申请实施例中,由于向云产品的开放接口发送的第三请求包括请求的数据量、开始获取数据的偏移量以及实例的属性,即该第三请求没有限定实例的ID,因此,通过上述方式能够获取更多的实例的ID所对应的资源,从而保证记录到更全面的资源,即保证同步的云资源的全面性。
在一些实施例中,在获取到全量资源后,还可以对该全量资源进行清洗后再记录,此处不再赘述。
当然,全量资源也可以通过其他方式获取,比如,通过线下获取,此处不作限定。
在一些实施例中,为了避免由于云审计接口出现漏数据(例如,在云审计接口的功能不稳定时可能导致数据丢失的情况)而导致平台的云资源出现不能同步的情况,则在通过云审计接口实现增量资源的同步之外,还可定时从开放接口获取对应的全量资源,进而能够及时对资源进行全量资源的同步。具体地,设置第二定时任务,当该第二定时任务的定时任务频率到达时,执行上述的步骤A1~A3。在一些实施例中,考虑到在进行全量资源的同步时需占用平台较多的资源(如存储空间等),因此,可设置该第二定时任务的定时任务频率小于第一定时任务的定时任务频率。例如,设置该第二定时任务的定时任务频率为1小时,即每隔1小时进行一次全量资源的更新。
在一些实施例中,本申请实施例提供的云资源同步方法,还包括:
B1、记录发送上述第三请求的时间。
B2、根据记录的上述发送上述第三请求的时间确定上述开始时间,其中,确定的上述开始时间不早于上述发送上述第三请求的时间。
例如,假设发送第三请求的时间为2023年8月1日10点10分10秒,则首次进行增量资源同步时,其对应的开始时间不能早于2023年8月1日10点10分10秒。
需要指出的是,由于第三请求是用于获取全量资源的请求,而上述的开始时间是用于获取审计日志的时间(该审计日志用于获取增量资源),且由于首次进行云资源同步时,先进行全量资源的同步,再进行增量资源的同步,因此,需设定获取的增量资源所对应的时间不早于获取全量资源所对应的时间,以避免出现获取的增量资源不能在全量资源中匹配到对应的资源的情况。
为了更清楚地描述本申请实施例提供的云资源同步方法,下面结合图2进行描述。
在图2中:
全量同步过程:
平台向开放接口发送第三请求后,获取该开放接口返回的全量资源数据(即上述的全量资源),从该全量资源数据中获取对应的数据,并根据实际需求,对获取的数据进行清洗,并将清洗后的数据写入CMDB。
增量同步过程:
在全量同步后,记录发送第三请求的时间,而在增量同步后,记录增量请求的时间(即发送第一请求的时间)。根据记录的时间确定本次进行增量同步时的第一请求中的开始时间,根据确定的开始时间向云审计接口发送对应的第一请求,以从该云审计接口获取对应的审计日志。在获取到审计日志后,判断是否已缓存该审计日志的事件的ID,若否,解析该审计日志,得到对应的实例的ID,对得到的各个实例的ID进行去重处理后,根据去重处理后的实例的ID从开放接口获取对应的增量资源数据,从该增量资源数据中获取对应的数据,并根据实际需求,对获取的数据进行清洗,并将清洗后的数据写入CMDB。
实施例四:
对应于上文方法各个实施例所描述的云资源同步方法,图3示出了本申请实施例提供的一种云资源同步装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
该云资源同步装置3包括:第一请求发送模块31、审计日志接收模块32、实例的标识获取模块33、第二请求发送模块34、增量资源接收模块35、增量资源记录模块36。其中:
第一请求发送模块31,用于向云产品对应的云审计接口发送第一请求,上述云产品为上述云资源对应的产品,上述第一请求包括开始时间、结束时间和过滤的事件。
审计日志接收模块32,用于接收上述云审计接口根据上述开始时间、上述结束时间和上述过滤的事件返回的审计日志。
实例的标识获取模块33,用于从上述审计日志获取对应的实例的标识。
第二请求发送模块34,用于向上述云产品的开放接口发送第二请求,上述第二请求包括上述实例的标识。
增量资源接收模块35,用于接收上述开放接口根据上述实例的标识返回的增量资源。
增量资源记录模块36,用于记录上述增量资源。
本申请实施例中,由于云审计本身是记录云上所有对资源的审计记录,且其记录速度能达到秒级或分级,因此,能够快速从云审计接口获取与过滤的事件匹配的实例的标识。此外,由于从云产品的开放接口获取的是与过滤的事件匹配的实例的标识对应的资源(即增量资源),即无需从该开放接口获取所有实例的标识对应的资源(即全量资源),因此,减少了同一时间内需获取的资源的数量,提高了资源获取的及时性,同时,由于能够快速获取到与过滤的事件匹配的实例的标识,因此,能够快速从开放接口获取与该实例的标识对应的资源,从而提高了资源的获取效率,进而提高了云资源同步的及时性。
在一些实施例中,可定时从云审计接口获取对应的审计日志,以定时从开放接口获取对应的增量资源,进而能够及时对资源进行增量同步。具体地,设置第一定时任务,当该第一定时任务的定时任务频率到达时,执行上述的第一请求发送模块31、审计日志接收模块32、实例的标识获取模块33、第二请求发送模块34、增量资源接收模块35、增量资源记录模块36。在一些实施例中,为了能够低延时、快速地获取增量资源,可设置该第一定时任务的定时任务频率的单位为秒。
在一些实施例中,该云资源同步装置3还包括:
实例去重处理模块,用于在上述从上述审计日志获取对应的实例的标识之后,对上述实例的标识进行去重处理。
在一些实施例中,该云资源同步装置3还包括:
事件的标识获取模块,用于在上述从上述审计日志获取对应的实例的标识之前,从上述审计日志获取事件的标识。
对应地,上述实例的标识获取模块33具体用于:
在未缓存上述事件的标识的情况下,从上述审计日志解析出对应的实例的标识,其中,在未缓存上述事件的标识时,表明未曾对上述审计日志进行解析。
在一些实施例中,该云资源同步装置3还包括:
事件的标识缓存模块,用于在未缓存上述事件的标识的情况下,缓存上述事件的标识。
在一些实施例中,该云资源同步装置3还包括:
增量资源清洗模块,用于在上述接收上述开放接口根据上述实例的标识返回的增量资源之后,清洗接收的上述增量资源。
对应地,上述增量资源记录模块36具体用于:
记录清洗后的上述增量资源。
在一些实施例中,该云资源同步装置3还包括:
第三请求发送模块,用于在上述向云产品对应的云审计接口发送第一请求之前,向上述云产品的开放接口发送第三请求,上述第三请求包括:请求的数据量、开始获取数据的偏移量以及实例的属性。
全量资源接收模块,用于接收上述开放接口根据上述请求的数据量、上述开始获取数据的偏移量以及上述实例的属性返回的全量资源。
全量资源记录模块,用于记录上述全量资源。
在一些实施例中,该云资源同步装置3还包括:
时间记录模块,用于记录发送上述第三请求的时间。
开始时间确定模块,用于根据记录的上述发送上述第三请求的时间确定上述开始时间,其中,确定的上述开始时间不早于上述发送上述第三请求的时间。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
实施例五:
图4为本申请一实施例提供的电子设备的结构示意图。如图4所示,该实施例的电子设备4包括:至少一个处理器40(图4中仅示出一个处理器)、存储器41以及存储在上述存储器41中并可在上述至少一个处理器40上运行的计算机程序42,上述处理器40执行上述计算机程序42时实现上述任意各个方法实施例中的步骤。
上述电子设备4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是电子设备4的举例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器40可以是中央处理单元(Central Processing Unit,CPU),该处理器40还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41在一些实施例中可以是所述电子设备4的内部存储单元,例如电子设备4的硬盘或内存。所述存储器41在另一些实施例中也可以是所述电子设备4的外部存储设备,例如所述电子设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述电子设备4的内部存储单元也包括外部存储设备。所述存储器41用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种可读存储介质,上述可读存储介质存储有计算机程序,上述计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时可实现上述各个方法实施例中的步骤。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-On ly Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种云资源同步方法,其特征在于,包括:
向云产品对应的云审计接口发送第一请求,所述云产品为所述云资源对应的产品,所述第一请求包括开始时间、结束时间和过滤的事件;
接收所述云审计接口根据所述开始时间、所述结束时间和所述过滤的事件返回的审计日志;
从所述审计日志获取对应的实例的标识;
向所述云产品的开放接口发送第二请求,所述第二请求包括所述实例的标识;
接收所述开放接口根据所述实例的标识返回的增量资源;
记录所述增量资源。
2.如权利要求1所述的云资源同步方法,其特征在于,在所述从所述审计日志获取对应的实例的标识之后,还包括:
对所述实例的标识进行去重处理。
3.如权利要求1所述的云资源同步方法,其特征在于,在所述从所述审计日志获取对应的实例的标识之前,还包括:
从所述审计日志获取事件的标识;
所述从所述审计日志获取对应的实例的标识,包括:
在未缓存所述事件的标识的情况下,从所述审计日志解析出对应的实例的标识,其中,在未缓存所述事件的标识时,表明未曾对所述审计日志进行解析。
4.如权利要求3所述的云资源同步方法,其特征在于,还包括:
在未缓存所述事件的标识的情况下,缓存所述事件的标识。
5.如权利要求1所述的云资源同步方法,其特征在于,在所述接收所述开放接口根据所述实例的标识返回的增量资源之后,还包括:
清洗接收的所述增量资源;
所述记录所述增量资源,包括:
记录清洗后的所述增量资源。
6.如权利要求1至5任一项所述的云资源同步方法,其特征在于,在所述向云产品对应的云审计接口发送第一请求之前,还包括:
向所述云产品的开放接口发送第三请求,所述第三请求包括:请求的数据量、开始获取数据的偏移量以及实例的属性;
接收所述开放接口根据所述请求的数据量、所述开始获取数据的偏移量以及所述实例的属性返回的全量资源;
记录所述全量资源。
7.如权利要求6所述的云资源同步方法,其特征在于,还包括:
记录发送所述第三请求的时间;
根据记录的所述发送所述第三请求的时间确定所述开始时间,其中,确定的所述开始时间不早于所述发送所述第三请求的时间。
8.一种云资源同步装置,其特征在于,包括:
第一请求发送模块,用于向云产品对应的云审计接口发送第一请求,所述云产品为所述云资源对应的产品,所述第一请求包括开始时间、结束时间和过滤的事件;
审计日志接收模块,用于接收所述云审计接口根据所述开始时间、所述结束时间和所述过滤的事件返回的审计日志;
实例的标识获取模块,用于从所述审计日志获取对应的实例的标识;
第二请求发送模块,用于向所述云产品的开放接口发送第二请求,所述第二请求包括所述实例的标识;
增量资源接收模块,用于接收所述开放接口根据所述实例的标识返回的增量资源;
增量资源记录模块,用于记录所述增量资源。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311182978.XA CN117294724A (zh) | 2023-09-13 | 2023-09-13 | 云资源同步方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311182978.XA CN117294724A (zh) | 2023-09-13 | 2023-09-13 | 云资源同步方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117294724A true CN117294724A (zh) | 2023-12-26 |
Family
ID=89251007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311182978.XA Pending CN117294724A (zh) | 2023-09-13 | 2023-09-13 | 云资源同步方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117294724A (zh) |
-
2023
- 2023-09-13 CN CN202311182978.XA patent/CN117294724A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107943951B (zh) | 一种区块链业务信息的检索方法及系统 | |
CN110505495B (zh) | 多媒体资源抽帧方法、装置、服务器及存储介质 | |
CN110445828B (zh) | 一种基于Redis的数据分布式处理方法及其相关设备 | |
CN109842621B (zh) | 一种减少token存储数量的方法及终端 | |
CN108228322B (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
CN111611207B (zh) | 状态数据处理方法、装置及计算机设备 | |
CN113672627B (zh) | Elasticsearch搜索引擎索引构建方法及装置 | |
CN112579695A (zh) | 一种数据同步方法和装置 | |
CN110781149A (zh) | 管理直播间信息的方法、装置、设备及存储介质 | |
CN111782621A (zh) | 一种业务应用日志处理方法及装置 | |
CN114398520A (zh) | 数据检索方法、系统、装置、电子设备及存储介质 | |
CN110032578B (zh) | 一种海量数据查询缓存的方法及装置 | |
CN112559525B (zh) | 数据检查系统、方法、装置和服务器 | |
CN111897792A (zh) | 一种分布式文件存取方法、系统、介质及设备 | |
CN107422991B (zh) | 一种存储策略管理系统 | |
CN117294724A (zh) | 云资源同步方法、装置、电子设备及可读存储介质 | |
CN110888840A (zh) | 分布式文件系统中的文件查询方法、装置、设备及介质 | |
CN100382506C (zh) | 一种网络管理系统中对网元服务器进行认证的方法 | |
CN111291127B (zh) | 一种数据同步方法、装置、服务器及存储介质 | |
CN114036121A (zh) | 一种日志文件处理方法、装置、系统、设备及存储介质 | |
CN112764988A (zh) | 一种数据分段采集方法及装置 | |
CN110309176B (zh) | 一种数据处理方法和数据中转站 | |
CN111563123A (zh) | 一种hive仓库元数据实时同步方法 | |
CN117478535B (zh) | 一种日志存储的方法和装置 | |
CN111782588A (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 |