CN111913913B - 访问请求的处理方法和装置 - Google Patents
访问请求的处理方法和装置 Download PDFInfo
- Publication number
- CN111913913B CN111913913B CN202010790707.2A CN202010790707A CN111913913B CN 111913913 B CN111913913 B CN 111913913B CN 202010790707 A CN202010790707 A CN 202010790707A CN 111913913 B CN111913913 B CN 111913913B
- Authority
- CN
- China
- Prior art keywords
- log
- access
- storage
- access request
- area
- 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
- 238000003672 processing method Methods 0.000 title abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims abstract description 16
- 238000005516 engineering process Methods 0.000 abstract description 2
- 239000012634 fragment Substances 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- 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/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- 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/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- 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/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- 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/18—File system types
- G06F16/182—Distributed file systems
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)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种访问请求的处理方法和装置。其中,该方法包括:接收多个访问请求,其中,访问请求用于访问存储桶;将每个访问请求生成的访问日志依次存入缓存区,并进行合并处理;在将生成的访问日志存入缓存区的过程中,按照预定的存储模式将缓存区中的当前合并结果写入对应的日志存储区。本发明解决了相关技术中访问请求的处理方法在访问请求频繁时会消耗大量磁盘IO性能,导致性能降低的技术问题。
Description
技术领域
本发明涉及数据库领域,具体而言,涉及一种访问请求的处理方法和装置。
背景技术
在分布式文件系统ceph中,目前访问请求的处理方法是当一个请求访问存储桶后,获取相关访问信息护具,根据存储桶唯一ID和时间来生成日志对象,并将访问信息追加写到该日志对象上。同一时间段内存储桶的访问信息会存储到同一个日志对象上。随着时间变化,访问日志信息会记录到不同的日志对象上。
但是,上述方法是同一个存储桶的每次请求访问对象网关的操作在一定时间内都会追加写到同一个日志对象上,会造成IO队列堆积,并且每次请求都要异步追加写一次造成IO次数过多。当请求频繁时会大量消耗磁盘IO性能,导致性能降低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种访问请求的处理方法和装置,以至少解决相关技术中访问请求的处理方法在访问请求频繁时会消耗大量磁盘IO性能,导致性能降低的技术问题。
根据本发明实施例的一个方面,提供了一种访问请求的处理方法,包括:接收多个访问请求,其中,访问请求用于访问存储桶;将每个访问请求生成的访问日志依次存入缓存区,并进行合并处理;在将生成的访问日志存入缓存区的过程中,按照预定的存储模式将缓存区中的当前合并结果写入对应的日志存储区。
可选地,在将每个访问请求生成的访问日志依次存入缓存区之前,该方法还包括:基于每个访问请求的访问内容进行hash计算,生成访问日志,访问日志包括多条日志信息,其中,在访问内容为存储桶的情况下,基于存储桶的桶名进行hash计算;在访问内容为存储桶内存储的数据的情况下,基于数据的文件名进行hash计算。
可选地,基于每个日志对象的对象名称,将每条日志信息记录到缓存区的缓存图谱中。
可选地,将每个访问请求生成的访问日志依次存入缓存区,并进行合并处理,包括:基于日志信息确定所属的日志对象;将属于同一个日志对象的日志信息合并,生成合并结果。
可选地,将合并结果写入到对应的日志对象所在的系统资源池,其中,存储模式包括如下至少之一:按照预定的存储周期将缓存区中的当前合并结果写入对应的日志存储区;在缓存区中的缓存内容大小超过第一预定值的情况下,将缓存区中的当前合并结果写入对应的日志存储区。
可选地,如果写入系统资源池的合并结果的存储时间超过预定时长,则删除预定存储时间内存入的日志对象。
可选地,在将缓存区中的当前合并结果写入对应的日志存储区之前,该方法还包括:将日志对象的名字写入到系统资源池的管理对象的目标数据库中,其中,目标数据块中存储的键值为对存储桶的桶名和标识信息进行hash计算得到的结果,数值为日志对象的名字。
可选地,如果写入的系统资源池的使用空间占用比值超过第二预定值,则删除预定存储时间内存入的日志对象。
可选地,在将合并结果写入对应的日志存储区的过程中,如果写失败,则将合并结果重新加载回缓存,并等待下次重试写入对应的日志存储区。
可选地,在接收多个访问请求之后,该方法包括:校验是否记录访问日志,如果校验成功,则启动记录访问请求所请求的内容。
根据本发明实施例的另一方面,还提供了一种访问请求的处理装置,包括:接收模块,用于接收多个访问请求,其中,访问请求用于访问存储桶;缓存模块,用于将每个访问请求生成的访问日志依次存入缓存区,并进行合并处理;写入模块,用于在将生成的访问日志存入缓存区的过程中,按照预定的存储模式将缓存区中的当前合并结果写入对应的日志存储区。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的访问请求的处理方法。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的访问请求的处理方法。
在本发明实施例中,在接收到多个访问请求之后,可以将每个访问请求生成的访问日志依次存入缓存区,并进行合并处理,进一步地,在将生成的访问日志存入缓存区的过程中,按照预定的存储模式将缓存区中的当前合并结果写入对应的日志存储区。容易注意到的是,通过将访问日志存入缓存区,并进行合并处理,从而实现优化每次访问的速度,减少日志信息写入的IO次数的目的,达到了降低磁盘IO性能消耗,提升性能的技术效果,进而解决了相关技术中访问请求的处理方法在访问请求频繁时会消耗大量磁盘IO性能,导致性能降低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种访问请求的处理方法的流程图;
图2是根据本发明实施例的一种可选的访问请求的处理方法的流程图;以及
图3是根据本发明实施例的一种访问请求的处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面首先对本发明实施例中出现的技术名称和技术术语进行如下解释说明:
OMAP:记录key,value数据的数据库,可以是一种以键值对存储数据的数据库。
存储桶:对象存储中的承载文件的容器。
实施例1
根据本发明实施例,提供了一种访问请求的处理方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种访问请求的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,接收多个访问请求,其中,访问请求用于访问存储桶。
上述步骤中的访问请求可以是请求访问对象网关的操作,也即,该访问请求会访问存储桶。
需要说明的是,上述多个访问请求可以是同一时刻接收到的大量访问请求,也可以是短时间内接收到的大量访问请求,
步骤S104,将每个访问请求生成的访问日志依次存入缓存区,并进行合并处理。
上述步骤中的缓存区可以是内存中的缓存模块,该缓存模块用于存储访问日志信息。
在一种可选的实施例中,当有访问请求访问存储桶时,可以生成相应的访问日志信息,而且,每次写缓存内信息时,可以将属于同一个日志对象的数据进行合并,减少后续追加写到日志对象所在的系统资源池的IO次数。
步骤S106,在将生成的访问日志存入缓存区的过程中,按照预定的存储模式将缓存区中的当前合并结果写入对应的日志存储区。
上述步骤中的日志存储区可以是日志对象数据区域,也即,可以是日志对象所在的系统资源池。存储模式可以是预先设置的将存储区中访问日志信息追加写入到对应的日志对象数据区域的条件,在本发明上述实施例中,存储模式可以包括如下至少之一:按照预定的存储周期将缓存区中的当前合并结果写入对应的日志存储区;在缓存区中的缓存内容大小超过第一预定值的情况下,将缓存区中的当前合并结果写入对应的日志存储区。
上述的预设周期可以是预先设置的定时器程序,例如可以是15秒,但不仅限于此。第一预定值可以是预先设置的缓存中访问日志信息的存储量,例如,可以是1000条,但不仅限于此。
在一种可选的实施例中,可以在通过定时器程序每15秒或者访问日志信息在缓存中满足1000条的情况下,将缓存中数据追加写到对应的日志对象数据区域。
通过本发明上述实施例,在接收到多个访问请求之后,可以将每个访问请求生成的访问日志依次存入缓存区,并进行合并处理,进一步地,在将生成的访问日志存入缓存区的过程中,按照预定的存储模式将缓存区中的当前合并结果写入对应的日志存储区。容易注意到的是,通过将访问日志存入缓存区,并进行合并处理,从而实现优化每次访问的速度,减少日志信息写入的IO次数的目的,达到了降低磁盘IO性能消耗,提升性能的技术效果,进而解决了相关技术中访问请求的处理方法在访问请求频繁时会消耗大量磁盘IO性能,导致性能降低的技术问题。
可选地,在本发明上述实施例中,在将每个访问请求生成的访问日志依次存入缓存区之前,该方法还包括:基于每个访问请求的访问内容进行hash计算,生成访问日志,访问日志包括多条日志信息,其中,在访问内容为存储桶的情况下,基于存储桶的桶名进行hash计算;在访问内容为存储桶内存储的数据的情况下,基于数据的文件名进行hash计算。
上述步骤中的访问日志可以是指访问日志信息集合,该集合中包含属于同一个日志对象的多条访问日志信息。
在一种可选的实施例中,当有访问请求访问存储桶时,产生的访问日志信息可以根据访问的文件名进行hash计算,采用除留余数法,除数可以是127(表示最多由127个日志对象)。当访问请求没有访问具体的文件而只是存储桶时,可以使用存储桶的桶名进行hash计算。
需要说明的是,每个存储桶每小时最多产生127个日志对象,如果没有访问请求则不会产生日志对象。
可选地,在本发明上述实施例中,基于每个日志对象的对象名称,将每条日志信息记录到缓存区的缓存图谱中。
上述步骤中的缓存图谱可以是缓存map,但不仅限于此。
在一种可选的实施例中,可以根据hash计算的结果,并根据127个日志对象的名字分别记录到缓存map中,其中,key为日志对象的名字,value为访问日志信息集合(即上述的访问日志)。
可选地,在本发明上述实施例中,将每个访问请求生成的访问日志依次存入缓存区,并进行合并处理,包括:基于日志信息确定所属的日志对象;将属于同一个日志对象的日志信息合并,生成合并结果。
在一种可选的实施例中,每次写缓存内信息时,可以将属于同一个日志对象的数据合并在一起,得到同一个日志对象的多条访问日志信息。
可选地,在本发明上述实施例中,将合并结果写入到对应的日志对象所在的系统资源池。
在一种可选的实施例中,每次写缓存内信息时,会将属于同一个日志对象的数据合并在一起一次性追加写到日志对象所在的系统资源池,减少IO次数。
可选地,在本发明上述实施例中,如果写入系统资源池的合并结果的存储时间超过预定时长,则删除预定存储时间内存入的日志对象。
上述步骤中的预定时长可以是预先设定的日志对象能够存储的最大时长,例如,可以是12小时,但不仅限于此。预定存储时间可以是指系统资源池中最早的存储时间,也可以是最早的一段时间,例如,预定存储时间可以是指存储了11个小时以上的时间。
在一种可选的实施例中,如果当前累计了12个小时的日志对象在系统资源池,则可以删除最旧日志对象,也即可以直接将最早的一个或多个日志对象删除,或者将预定存储时间内的所有日志对象删除。
可选地,在本发明上述实施例中,如果写入的系统资源池的使用空间占用比值超过第二预定值,则删除预定存储时间内存入的日志对象。
上述步骤中的第二预定值可以是预先设置的系统资源池的最大占用比值,例如,可以是90%,但不仅限于此。
在一种可选的实施例中,当系统资源池使用空间达到90%以后,可以删除最旧日志对象,也即可以直接将最早的一个或多个日志对象删除,或者将预定存储时间内的所有日志对象删除。
可选地,在本发明上述实施例中,在将缓存区中的当前合并结果写入对应的日志存储区之前,该方法还包括:将日志对象的名字写入到系统资源池的管理对象的目标数据库中,其中,目标数据块中存储的键值为对存储桶的桶名和标识信息进行hash计算得到的结果,数值为日志对象的名字。
上述步骤中的标识信息可以是存储桶的唯一ID。
在一种可选的实施例中,可以将日志对象名字插入到value的map中,写到系统资源池的管理对象的OMAP上,其中,key为"bucket name+"-"+bucket id",用key来做hash计算,采用除留余数法,除数是31(表示最多有31个管理对象)。
可选地,在本发明上述实施例中,在将合并结果写入对应的日志存储区的过程中,如果写失败,则将合并结果重新加载回缓存,并等待下次重试写入对应的日志存储区。
在一种可选的实施例中,将访问日志信息集合追加写到日志对象的数据区域时,如果写失败则将访问日志信息集合重新加回缓存等待下次重试。
可选地,在本发明上述实施例中,在接收多个访问请求之后,该方法包括:校验是否记录访问日志,如果校验成功,则启动记录访问请求所请求的内容。
在一种可选的实施例中,在接收到访问请求之后,首先校验是否记录访问日志,如果校验成功,则记录相关访问日志信息,并将访问日志信息存储至缓存区。
下面结合图2对本发明一种优选的实施例进行详细说明,如图2所示,该方法包括如下步骤:
步骤S21,在接收到IO请求之后,校验是否记录访问日志。
步骤S22,如果是,则记录相关访问日志信息。
步骤S23,根据桶名或者对象名确定存储日志对象。
可选的,当有请求访问存储桶时,产生的访问日志信息根据访问的文件名的进行hash计算,采用除留余数法,除数是127代表着最多有127个日志对象,当请求没有访问的具体文件只是桶时,使用桶名进行hash计算。计算的结果根据127个日志对象名字分别记录到缓存map中,key为日志对象名,value为访问日志信息集合。
其中,每个存储桶每小时最多产生127个日志对象,如果没有请求则不会产生日志对象。
步骤S24,访问日志信息缓存。
可选的,通过定时器程序每15秒(可配)或者访问日志信息在缓存中满足1000条(可配)则将缓存中数据追加写到对应的日志对象数据区域,如果出现问题缓存过多超过50000条(可配)则丢掉最新的访问日志信息。
步骤S25,加锁日志对象,将日志对象名存储到管理对象对应key的value。
可选的,将日志对象名字插入到value的map中,写到系统资源池的管理对象OMAP上,其中key为"bucket name+"-"+bucket id",用key来做hash计算,采用除留余数法,除数是31代表着最多有31个管理对象,如果失败将访问日志信息集合加回缓存等待下次重试。
步骤S26,访问日志信息异步存储到日志对象。
可选的,每次写缓存内信息时,会将属于同一个日志对象的数据合并在一起一次性追加写到日志对象所在的系统资源池,减少IO次数。将访问日志信息集合追加写到日志对象的数据区域时,如果写失败则将访问日志信息集合重新加回缓存等待下次重试。
步骤S27,判断当前日志对象记录累计情况。
步骤S28,大于默认配置后删除。
可选的,如果当前累计了12个小时的日志对象在系统资源池,或系统资源池使用空间达到90%,则删除最旧日志对象。
通过上述步骤可知,本发明引入了访问日志信息内存缓存模块和一层日志对象分片映射模块,通过内存缓存日志记录信息可以优化每次访问的速度,将访问日志信息通过hash计算并合并缓存,通过定时器程序以及缓存统计计算累计到达阈值后来触发写操作已到达减少写IO次数的目的。通过日志对象分片映射可以将日志信息写到不同的日志对象分片上,之后将不同的日志对象分片元数据信息根据桶唯一ID合并到一条键值上,即达到了IO均匀分布到不同对象所在的磁盘上以提高性能又方便日志信息查找。日志对象所属的系统资源池是有多个磁盘组成的分布式存储系统,当产生127个日志对象后可以充分利用磁盘性能,增加写时并发性能。
实施例2
根据本发明实施例,提供了一种访问请求的处理装置,该装置可以执行上述实施例中的访问请求的处理方法,具体实现方案与优选应用场景与上述实施例相同,在此不做赘述。
图3是根据本发明实施例的一种访问请求的处理装置的示意图,如图3所示,该装置包括:
接收模块32,用于接收多个访问请求,其中,访问请求用于访问存储桶。
缓存模块34,用于将每个访问请求生成的访问日志依次存入缓存区,并进行合并处理。
写入模块36,用于在将生成的访问日志存入缓存区的过程中,按照预定的存储模式将缓存区中的当前合并结果写入对应的日志存储区。
可选地,在本发明上述实施例中,该装置还包括:生成模块,用于在将每个访问请求生成的访问日志依次存入缓存区之前,基于每个访问请求的访问内容进行hash计算,生成访问日志,访问日志包括多条日志信息,其中,在访问内容为存储桶的情况下,基于存储桶的桶名进行hash计算;在访问内容为存储桶内存储的数据的情况下,基于数据的文件名进行hash计算。
可选地,在本发明上述实施例中,该装置还包括:记录模块,用于基于每个日志对象的对象名称,将每条日志信息记录到缓存区的缓存图谱中。
可选地,在本发明上述实施例中,缓存模块包括:确定单元,用于基于日志信息确定所属的日志对象;处理单元,用于将属于同一个日志对象的日志信息合并,生成合并结果。
可选地,在本发明上述实施例中,写入模块还用于将合并结果写入到对应的日志对象所在的系统资源池。
可选地,在本发明上述实施例中,该装置还包括:删除模块,用于如果写入系统资源池的合并结果的存储时间超过预定时长,则删除预定存储时间内存入的日志对象。
可选地,在本发明上述实施例中,该装置还包括:删除模块,用于如果写入的系统资源池的使用空间占用比值超过第二预定值,则删除预定存储时间内存入的日志对象。
可选地,在本发明上述实施例中,写入模块还用于在将缓存区中的当前合并结果写入对应的日志存储区之前,将日志对象的名字写入到系统资源池的管理对象的目标数据库中,其中,目标数据块中存储的键值为对存储桶的桶名和标识信息进行hash计算得到的结果,数值为日志对象的名字。
可选地,在本发明上述实施例中,缓存模块还用于在将合并结果写入对应的日志存储区的过程中,如果写失败,则将合并结果重新加载回缓存,并等待下次重试写入对应的日志存储区。
可选地,在本发明上述实施例中,该装置还包括:校验模块,用于在接收多个访问请求之后,校验是否记录访问日志,如果校验成功,则启动记录访问请求所请求的内容。
实施例3
根据本发明实施例,提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述实施例1中的访问请求的处理方法。
实施例4
根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述实施例1中的访问请求的处理方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种访问请求的处理方法,其特征在于,包括:
接收多个访问请求,其中,所述访问请求用于访问存储桶;
基于每个访问请求的访问内容进行hash计算,生成访问日志,所述访问日志包括多条日志信息,其中,在所述访问内容为所述存储桶的情况下,基于所述存储桶的桶名进行hash计算;在所述访问内容为所述存储桶内存储的数据的情况下,基于所述数据的文件名进行hash计算;
将每个访问请求生成的访问日志依次存入缓存区,并进行合并处理;
其中,将每个访问请求生成的访问日志依次存入缓存区,包括:基于每个日志对象的对象名称,将每条日志信息记录到所述缓存区的缓存图谱中;
在将生成的访问日志存入所述缓存区的过程中,按照预定的存储模式将所述缓存区中的当前合并结果写入对应的日志存储区。
2.根据权利要求1所述的方法,其特征在于,将每个访问请求生成的访问日志依次存入缓存区,并进行合并处理,包括:
基于日志信息确定所属的日志对象;
将属于同一个日志对象的日志信息合并,生成所述合并结果。
3.根据权利要求2所述的方法,其特征在于,将所述合并结果写入到对应的日志对象所在的系统资源池,其中,
所述存储模式包括如下至少之一:按照预定的存储周期将所述缓存区中的当前合并结果写入对应的日志存储区;在所述缓存区中的缓存内容大小超过第一预定值的情况下,将所述缓存区中的当前合并结果写入对应的日志存储区。
4.根据权利要求3所述的方法,其特征在于,如果写入所述系统资源池的合并结果的存储时间超过预定时长,则删除预定存储时间内存入的日志对象。
5.根据权利要求3所述的方法,其特征在于,如果写入的系统资源池的使用空间占用比值超过第二预定值,则删除预定存储时间内存入的日志对象。
6.根据权利要求1所述的方法,其特征在于,在将所述缓存区中的当前合并结果写入对应的日志存储区之前,所述方法还包括:
将日志对象的名字写入到系统资源池的管理对象的目标数据库中,其中,所述目标数据块中存储的键值为对所述存储桶的桶名和标识信息进行hash计算得到的结果,数值为所述日志对象的名字。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,在将所述合并结果写入对应的日志存储区的过程中,如果写失败,则将所述合并结果重新加载回所述缓存,并等待下次重试写入对应的日志存储区。
8.根据权利要求1所述的方法,其特征在于,在接收多个访问请求之后,所述方法包括:校验是否记录访问日志,如果校验成功,则启动记录所述访问请求所请求的内容。
9.一种访问请求的处理装置,其特征在于,包括:
接收模块,用于接收多个访问请求,其中,所述访问请求用于访问存储桶;
生成模块,用于基于每个访问请求的访问内容进行hash计算,生成访问日志,所述访问日志包括多条日志信息,其中,在所述访问内容为所述存储桶的情况下,基于所述存储桶的桶名进行hash计算;在所述访问内容为所述存储桶内存储的数据的情况下,基于所述数据的文件名进行hash计算;
缓存模块,用于将每个访问请求生成的访问日志依次存入缓存区,并进行合并处理;
缓存模块,还用于基于每个日志对象的对象名称,将每条日志信息记录到所述缓存区的缓存图谱中;
写入模块,用于在将生成的访问日志存入所述缓存区的过程中,按照预定的存储模式将所述缓存区中的当前合并结果写入对应的日志存储区。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至8中任意一项所述的访问请求的处理方法。
11.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至8中任意一项所述的访问请求的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010790707.2A CN111913913B (zh) | 2020-08-07 | 2020-08-07 | 访问请求的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010790707.2A CN111913913B (zh) | 2020-08-07 | 2020-08-07 | 访问请求的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111913913A CN111913913A (zh) | 2020-11-10 |
CN111913913B true CN111913913B (zh) | 2024-02-13 |
Family
ID=73283605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010790707.2A Active CN111913913B (zh) | 2020-08-07 | 2020-08-07 | 访问请求的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111913913B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546977B (zh) * | 2022-02-17 | 2024-01-16 | 苏州浪潮智能科技有限公司 | 一种提高分布式对象存储系统中桶日志性能的方法及系统 |
CN114706820B (zh) * | 2022-05-18 | 2022-09-06 | 北京卡普拉科技有限公司 | 异步i/o请求的调度方法、系统、电子设备及介质 |
Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857369A (zh) * | 2012-08-07 | 2013-01-02 | 北京鼎震科技有限责任公司 | 一种网站日志保存系统及方法和装置 |
CN103425568A (zh) * | 2013-08-23 | 2013-12-04 | 新浪网技术(中国)有限公司 | 日志信息处理方法及装置 |
CN104156432A (zh) * | 2014-08-08 | 2014-11-19 | 四川九成信息技术有限公司 | 一种文件访问方法 |
CN105210062A (zh) * | 2013-03-15 | 2015-12-30 | 亚马逊科技公司 | 用于分布式数据库系统的系统范围检查点避免 |
CN105242988A (zh) * | 2015-10-10 | 2016-01-13 | 国家电网公司 | 分布式文件系统和分布式文件系统的数据备份方法 |
CN105608188A (zh) * | 2015-12-23 | 2016-05-25 | 北京奇虎科技有限公司 | 数据处理方法和数据处理装置 |
CN105635301A (zh) * | 2016-01-14 | 2016-06-01 | 郑州悉知信息科技股份有限公司 | 一种访问日志合并方法、日志处理服务器及系统 |
US9552356B1 (en) * | 2007-12-21 | 2017-01-24 | Amazon Technologies, Inc. | Merging client-side and server-side logs |
CN107592305A (zh) * | 2017-08-30 | 2018-01-16 | 苏州朗动网络科技有限公司 | 一种基于elk和redis的防刷方法及系统 |
CN108073710A (zh) * | 2017-12-21 | 2018-05-25 | 儒安科技有限公司 | 基于动态网络图挖掘的Github开源代码库推荐系统 |
CN108243175A (zh) * | 2016-12-27 | 2018-07-03 | 北京金山云网络技术有限公司 | 一种基于桶策略的访问控制方法及装置 |
CN108431784A (zh) * | 2015-12-30 | 2018-08-21 | 华为技术有限公司 | 访问请求处理方法、装置及计算机系统 |
CN109246064A (zh) * | 2017-07-11 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 安全访问控制、网络访问规则的生成方法、装置及设备 |
CN109274679A (zh) * | 2018-10-16 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种访问请求记录方法、装置、设备及可读存储介质 |
CN109271349A (zh) * | 2018-09-29 | 2019-01-25 | 四川长虹电器股份有限公司 | 一种基于日志通用性规则引擎的规则处理方法 |
CN110275841A (zh) * | 2019-06-20 | 2019-09-24 | 上海燧原智能科技有限公司 | 访问请求处理方法、装置、计算机设备和存储介质 |
CN110401657A (zh) * | 2019-07-24 | 2019-11-01 | 网宿科技股份有限公司 | 一种访问日志的处理方法及装置 |
CN110546621A (zh) * | 2017-05-02 | 2019-12-06 | 谷歌有限责任公司 | 用于数据存储的垃圾收集 |
CN111008185A (zh) * | 2019-10-29 | 2020-04-14 | 厦门网宿有限公司 | 一种数据共享方法、系统及设备 |
CN111090618A (zh) * | 2019-10-29 | 2020-05-01 | 厦门网宿有限公司 | 一种数据读取方法、系统及设备 |
CN111183450A (zh) * | 2019-09-12 | 2020-05-19 | 阿里巴巴集团控股有限公司 | 日志结构存储系统 |
CN111295649A (zh) * | 2019-09-12 | 2020-06-16 | 阿里巴巴集团控股有限公司 | 日志结构存储系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7827201B1 (en) * | 2007-04-27 | 2010-11-02 | Network Appliance, Inc. | Merging containers in a multi-container system |
US20170097771A1 (en) * | 2015-10-01 | 2017-04-06 | Netapp, Inc. | Transaction log layout for efficient reclamation and recovery |
-
2020
- 2020-08-07 CN CN202010790707.2A patent/CN111913913B/zh active Active
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9552356B1 (en) * | 2007-12-21 | 2017-01-24 | Amazon Technologies, Inc. | Merging client-side and server-side logs |
CN102857369A (zh) * | 2012-08-07 | 2013-01-02 | 北京鼎震科技有限责任公司 | 一种网站日志保存系统及方法和装置 |
CN105210062A (zh) * | 2013-03-15 | 2015-12-30 | 亚马逊科技公司 | 用于分布式数据库系统的系统范围检查点避免 |
CN103425568A (zh) * | 2013-08-23 | 2013-12-04 | 新浪网技术(中国)有限公司 | 日志信息处理方法及装置 |
CN104156432A (zh) * | 2014-08-08 | 2014-11-19 | 四川九成信息技术有限公司 | 一种文件访问方法 |
CN105242988A (zh) * | 2015-10-10 | 2016-01-13 | 国家电网公司 | 分布式文件系统和分布式文件系统的数据备份方法 |
CN105608188A (zh) * | 2015-12-23 | 2016-05-25 | 北京奇虎科技有限公司 | 数据处理方法和数据处理装置 |
CN108431784A (zh) * | 2015-12-30 | 2018-08-21 | 华为技术有限公司 | 访问请求处理方法、装置及计算机系统 |
CN105635301A (zh) * | 2016-01-14 | 2016-06-01 | 郑州悉知信息科技股份有限公司 | 一种访问日志合并方法、日志处理服务器及系统 |
CN108243175A (zh) * | 2016-12-27 | 2018-07-03 | 北京金山云网络技术有限公司 | 一种基于桶策略的访问控制方法及装置 |
CN110546621A (zh) * | 2017-05-02 | 2019-12-06 | 谷歌有限责任公司 | 用于数据存储的垃圾收集 |
CN109246064A (zh) * | 2017-07-11 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 安全访问控制、网络访问规则的生成方法、装置及设备 |
CN107592305A (zh) * | 2017-08-30 | 2018-01-16 | 苏州朗动网络科技有限公司 | 一种基于elk和redis的防刷方法及系统 |
CN108073710A (zh) * | 2017-12-21 | 2018-05-25 | 儒安科技有限公司 | 基于动态网络图挖掘的Github开源代码库推荐系统 |
CN109271349A (zh) * | 2018-09-29 | 2019-01-25 | 四川长虹电器股份有限公司 | 一种基于日志通用性规则引擎的规则处理方法 |
CN109274679A (zh) * | 2018-10-16 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种访问请求记录方法、装置、设备及可读存储介质 |
CN110275841A (zh) * | 2019-06-20 | 2019-09-24 | 上海燧原智能科技有限公司 | 访问请求处理方法、装置、计算机设备和存储介质 |
CN110401657A (zh) * | 2019-07-24 | 2019-11-01 | 网宿科技股份有限公司 | 一种访问日志的处理方法及装置 |
CN111183450A (zh) * | 2019-09-12 | 2020-05-19 | 阿里巴巴集团控股有限公司 | 日志结构存储系统 |
CN111295649A (zh) * | 2019-09-12 | 2020-06-16 | 阿里巴巴集团控股有限公司 | 日志结构存储系统 |
CN111008185A (zh) * | 2019-10-29 | 2020-04-14 | 厦门网宿有限公司 | 一种数据共享方法、系统及设备 |
CN111090618A (zh) * | 2019-10-29 | 2020-05-01 | 厦门网宿有限公司 | 一种数据读取方法、系统及设备 |
Non-Patent Citations (2)
Title |
---|
"Adaptation of Distributed File System to VDI Storage by Client-Side Cache";Cheiyol Kim 等;《SCIEI 2015 Singapore Conference》;第255-262页 * |
"一个基于日志结构的非易失性内存键值存储系统";游理通 等;《计算机研究与发展》;第2038-2049页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111913913A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319654B (zh) | 计算系统、冷热数据分离方法及装置、计算机可读存储介质 | |
CN111881096B (zh) | 一种文件读取方法、装置、设备及存储介质 | |
US11567681B2 (en) | Method and system for synchronizing requests related to key-value storage having different portions | |
CN111913913B (zh) | 访问请求的处理方法和装置 | |
CN108021717B (zh) | 一种轻量级嵌入式文件系统的实现方法 | |
CN113032335A (zh) | 文件访问方法、装置、设备及存储介质 | |
US10248695B2 (en) | Extreme value computation | |
CN112148690A (zh) | 一种文件缓存方法、文件访问请求处理方法及装置 | |
US11748357B2 (en) | Method and system for searching a key-value storage | |
CN109522273B (zh) | 一种实现数据写入的方法及装置 | |
CN111858831A (zh) | 一种基于APT分析的Elasticsearch索引方法、装置和计算机设备 | |
CN114281819A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN111694806B (zh) | 一种事务日志的缓存方法、装置、设备和存储介质 | |
CN110019362B (zh) | 一种访问数据库的方法及装置 | |
CN109753505B (zh) | 在大数据存储系统中创建临时存储单元的方法及系统 | |
CN108021562B (zh) | 应用于分布式文件系统的存盘方法、装置及分布式文件系统 | |
CN115934583A (zh) | 分级缓存方法、装置及系统 | |
CN115408149A (zh) | 一种时序存储引擎内存设计及分配方法及装置 | |
CN114461590A (zh) | 一种基于关联规则的数据库文件页预取方法及装置 | |
CN113672652A (zh) | 一种数据访问方法、装置、设备及存储介质 | |
CN111240591A (zh) | 一种存储设备的操作请求处理方法及相关装置 | |
CN114510490B (zh) | 提升数据库数据插入性能的方法和装置 | |
CN112015758B (zh) | 产品取码方法、装置、计算机设备和存储介质 | |
CN113703692A (zh) | 基于缓存优化的消息写入方法和消息读取方法 | |
CN110134509B (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 | ||
CB02 | Change of applicant information |
Address after: 100094 101, floors 1-5, building 7, courtyard 3, fengxiu Middle Road, Haidian District, Beijing Applicant after: Beijing Xingchen Tianhe Technology Co.,Ltd. Address before: 100097 room 806-1, block B, zone 2, Jinyuan times shopping center, indigo factory, Haidian District, Beijing Applicant before: XSKY BEIJING DATA TECHNOLOGY Corp.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |