CN114925102A - 书籍内容的获取方法、装置、计算机设备和存储介质 - Google Patents

书籍内容的获取方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN114925102A
CN114925102A CN202210750794.8A CN202210750794A CN114925102A CN 114925102 A CN114925102 A CN 114925102A CN 202210750794 A CN202210750794 A CN 202210750794A CN 114925102 A CN114925102 A CN 114925102A
Authority
CN
China
Prior art keywords
chapter
target
storage node
book
information
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
Application number
CN202210750794.8A
Other languages
English (en)
Inventor
陈维
高立闯
欧阳松
田磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Beijing Co Ltd
Original Assignee
Douyin Vision Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Douyin Vision Beijing Co Ltd filed Critical Douyin Vision Beijing Co Ltd
Priority to CN202210750794.8A priority Critical patent/CN114925102A/zh
Publication of CN114925102A publication Critical patent/CN114925102A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种书籍内容的获取方法、装置、计算机设备和存储介质,其中,该方法包括:获取针对目标书籍的查询请求;在多级缓存空间的本地缓存空间中,不存在查询请求携带的待查询章节序号或不存在待查询章节序号对应的章节标识的情况下,从多级缓存空间的中间缓存空间包括的多个存储节点中,确定与查询请求相匹配的目标存储节点;其中,存储节点包括至少一本书籍对应的父存储节点和子存储节点,父存储节点用于缓存所述书籍的元信息;每个子存储节点用于缓存书籍的预设数量个章节的章节信息;根据目标存储节点中缓存的信息,获取与待查询章节序号相匹配的待查询章节标识对应的目标章节内容。

Description

书籍内容的获取方法、装置、计算机设备和存储介质
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种书籍内容的获取方法、装置、计算机设备和存储介质。
背景技术
在利用远程字典服务Redis对书籍的书籍信息(如章节信息、书籍名称等)等信息进行缓存时,通常采用有序列表(Zset)数据结构存储书籍的各个章节标识和章节序号之间的关系,也即,使用一个有序的数据列表,存储各个章节标识和章节序号之间的关系。
但是,当书籍中包括的章节数量较大时,使用Zset数据结构进行缓存,不仅会造成数据列表的数据量过大的问题,还会因数据列表的数据量过大,降低从数据列表中查询数据的速度,增加数据查询的功耗。
发明内容
本公开实施例至少提供一种书籍内容的获取方法、装置、计算机设备和存储介质。
第一方面,本公开实施例提供了一种书籍内容的获取方法,包括:
获取针对目标书籍的查询请求;
在多级缓存空间的本地缓存空间中,不存在所述查询请求携带的待查询章节序号或不存在所述待查询章节序号对应的章节标识的情况下,从所述多级缓存空间的中间缓存空间包括的多个存储节点中,确定与所述查询请求相匹配的目标存储节点;其中,所述存储节点包括至少一本书籍对应的父存储节点和子存储节点,所述父存储节点用于缓存所述书籍的元信息;每个所述子存储节点用于缓存所述书籍的预设数量个章节的章节信息;
根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容。
在一种可能的实施方式中,所述章节信息包括书籍的书籍标识、具有关联关系的章节标识和章节序号;所述元信息包括书籍的章节总数量、首章内容、末章内容、所述书籍标识、所述父存储节点下各个所述子存储节点的节点键,所述节点键用于表征所述子存储节点中缓存的各个章节序号;所述中间缓存空间包括远程字典服务Redis和/或分布式缓存空间Abase。
在一种可能的实施方式中,所述从所述多级缓存空间的中间缓存空间包括的多个存储节点中,确定与所述查询请求相匹配的目标存储节点,包括:
在所述查询请求中携带的待查询章节序号为预设章节序号的情况下,从所述中间缓存空间包括的多个存储节点中,确定与所述目标书籍相匹配的父存储节点为所述目标存储节点;所述预设章节序号包括首章和末章分别对应的章节序号;
所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容,包括:
将所述目标存储节点缓存的元信息中、与所述待查询章节序号相匹配的章节内容,作为所述目标章节内容。
在一种可能的实施方式中,所述从所述多级缓存空间的中间缓存空间包括的多个存储节点中,确定与所述查询请求相匹配的目标存储节点,包括:
在所述查询请求中携带的待查询章节序号不属于预设章节序号的情况下,从所述中间缓存空间包括的多个存储节点中,确定与所述目标书籍相匹配的目标父存储节点;
从所述目标父存储节点缓存的各个所述节点键中,确定与所述待查询章节序号相匹配的目标节点键;
将所述目标父存储节点对应的多个子存储节点中,与所述目标节点键对应的子存储节点确定为所述目标存储节点。
在一种可能的实施方式中,所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容,包括:
根据所述目标存储节点缓存的具有关联关系的章节标识和章节序号,确定与所述待查询章节序号相匹配的待查询章节标识;
根据所述待查询章节标识,从远程存储空间中获取与所述待查询章节标识相匹配的目标章节内容。
在一种可能的实施方式中,在所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容之前,还包括:
响应于所述查询请求触发缓存对比事件,从多级缓存空间的数据库中,获取与所述待查询章节序号相匹配的目标章节标识;所述数据库用于存储每本书籍的书籍信息;
在确定所述目标章节标识与所述待查询章节标识不一致的情况下,将所述中间缓存空间中缓存的所述待查询章节标识,更新为所述目标章节标识,并将更新后的所述待查询章节标识的状态设置为永久有效;
所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容,包括:
基于更新后的所述待查询章节标识,从远程存储空间中获取所述目标章节内容。
在一种可能的实施方式中,所述方法还包括:
按照预设查询周期,确定所述中间缓存空间中缓存的信息与数据库中存储的书籍信息是否一致;
若不一致,则基于所述数据库中存储的书籍信息,对所述中间缓存空间进行更新,得到更新后的中间缓存空间,并将更新后的中间缓存空间所缓存的信息的状态设置为永久有效。
在一种可能的实施方式中,在根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容之后,还包括:
获取任一书籍对应的更新信息;
根据所述更新信息,对数据库中存储的所述书籍的书籍信息进行更新,得到更新后的书籍信息;
基于所述更新后的书籍信息,对所述中间缓存空间缓存的信息进行更新,得到更新后的中间缓存空间,并将更新后的中间缓存空间所缓存的信息的状态设置为永久有效。
第二方面,本公开实施例还提供一种书籍内容的获取装置,包括:
第一获取模块,用于获取针对目标书籍的查询请求;
确定模块,用于在多级缓存空间的本地缓存空间中,不存在所述查询请求携带的待查询章节序号或不存在所述待查询章节序号对应的章节标识的情况下,从所述多级缓存空间的中间缓存空间包括的多个存储节点中,确定与所述查询请求相匹配的目标存储节点;其中,所述存储节点包括至少一本书籍对应的父存储节点和子存储节点,所述父存储节点用于缓存所述书籍的元信息;每个所述子存储节点用于缓存所述书籍的预设数量个章节的章节信息;
第二获取模块,用于根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容。
在一种可能的实施方式中,所述章节信息包括书籍的书籍标识、具有关联关系的章节标识和章节序号;所述元信息包括书籍的章节总数量、首章内容、末章内容、所述书籍标识、所述父存储节点下各个所述子存储节点的节点键,所述节点键用于表征所述子存储节点中缓存的各个章节序号;所述中间缓存空间包括远程字典服务Redis和/或分布式缓存空间Abase。
在一种可能的实施方式中,所述确定模块,在所述从所述多级缓存空间的中间缓存空间包括的多个存储节点中,确定与所述查询请求相匹配的目标存储节点时,用于在所述查询请求中携带的待查询章节序号为预设章节序号的情况下,从所述中间缓存空间包括的多个存储节点中,确定与所述目标书籍相匹配的父存储节点为所述目标存储节点;所述预设章节序号包括首章和末章分别对应的章节序号;
所述第二获取模块,在所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容时,用于将所述目标存储节点缓存的元信息中、与所述待查询章节序号相匹配的章节内容,作为所述目标章节内容。
在一种可能的实施方式中,所述确定模块,在所述从所述多级缓存空间的中间缓存空间包括的多个存储节点中,确定与所述查询请求相匹配的目标存储节点时,用于在所述查询请求中携带的待查询章节序号不属于预设章节序号的情况下,从所述中间缓存空间包括的多个存储节点中,确定与所述目标书籍相匹配的目标父存储节点;
从所述目标父存储节点缓存的各个所述节点键中,确定与所述待查询章节序号相匹配的目标节点键;
将所述目标父存储节点对应的多个子存储节点中,与所述目标节点键对应的子存储节点确定为所述目标存储节点。
在一种可能的实施方式中,所述第二获取模块,在所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容时,用于根据所述目标存储节点缓存的具有关联关系的章节标识和章节序号,确定与所述待查询章节序号相匹配的待查询章节标识;
根据所述待查询章节标识,从远程存储空间中获取与所述待查询章节标识相匹配的目标章节内容。
在一种可能的实施方式中,所述装置还包括:
第一对比模块,用于在所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容之前,响应于所述查询请求触发缓存对比事件,从多级缓存空间的数据库中,获取与所述待查询章节序号相匹配的目标章节标识;所述数据库用于存储每本书籍的书籍信息;
在确定所述目标章节标识与所述待查询章节标识不一致的情况下,将所述中间缓存空间中缓存的所述待查询章节标识,更新为所述目标章节标识,并将更新后的所述待查询章节标识的状态设置为永久有效;
所述第二获取模块,在所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容时,用于基于更新后的所述待查询章节标识,从远程存储空间中获取所述目标章节内容。
在一种可能的实施方式中,所述装置还包括:
第二对比模块,用于按照预设查询周期,确定所述中间缓存空间中缓存的信息与数据库中存储的书籍信息是否一致;
若不一致,则基于所述数据库中存储的书籍信息,对所述中间缓存空间进行更新,得到更新后的中间缓存空间,并将更新后的中间缓存空间所缓存的信息的状态设置为永久有效。
在一种可能的实施方式中,所述装置还包括:
更新模块,用于在根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容之后,获取任一书籍对应的更新信息;
根据所述更新信息,对数据库中存储的所述书籍的书籍信息进行更新,得到更新后的书籍信息;
基于所述更新后的书籍信息,对所述中间缓存空间缓存的信息进行更新,得到更新后的中间缓存空间,并将更新后的中间缓存空间所缓存的信息的状态设置为永久有效。
第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
关于上述书籍内容的获取装置、计算机设备、及计算机可读存储介质的效果描述参见上述书籍内容的获取方法的说明,这里不再赘述。
本公开实施例提供的书籍内容的获取方法、装置、计算机设备和存储介质,利用中间缓存空间的多个存储节点中的父存储节点存储书籍的元信息、子存储节点存储预设数量个章节的章节信息,可以实现对书籍信息的分节点存储。在每个子存储节点中存储的章节信息的数据限定为预设数量个的情况下,即实现了将每个子存储节点的存储数据量限定在合理范围,在书籍的章节数量过多的情况下,可以利用多个子存储节点进行章节信息的存储,既避免了将章节信息存储在一个数据列表中导致数据列表的数据量过大的问题,还可以提高在各个子存储节点中查询数据的效率,降低数据查询的功耗。综上,利用查询请求中携带的待查询章节序号,从多个存储节点中确定目标存储节点,再根据目标存储节点缓存的信息获取目标章节内容,可以提高从存储节点中获取章节内容的速度,减少从存储节点中获取章节内容的计算量。
进一步,本公开实施例提供的书籍内容的获取方法、装置、计算机设备和存储介质,通过在父存储节点中存储书籍的章节总数量、首章内容、末章内容、书籍标识、父存储节点下各个子存储节点的节点键等信息,在用户查询首末章内容的情况下,可以直接从父存储节点中获取,相比于现有技术需要根据书籍标识查询章节标识,再根据章节标识获取章节内容而言,可以提高获取首末章内容的速度,节省获取首末章内容的计算量。针对查询指定章节的章节内容的查询请求,利用存储的各个节点键,可以准确地确定出与查询请求相匹配的子存储节点,也即目标存储节点;由于子存储节点中的存储数据量有限,利用与查询请求相匹配的子存储节点进行数据查询,可以提高获取指定章节的章节内容的速度。
进一步,本公开实施例提供的书籍内容的获取方法、装置、计算机设备和存储介质,在根据任一书籍对应的更新信息对数据库进行更新,得到更新后的书籍信息之后,还将基于更新后的书籍信息对中间缓存空间(即Redis和Abase)进行更新,保障了数据库和中间缓存空间中的一致性。并且,通过将更新后的中间缓存空间所缓存的信息的状态设置为永久有效,可以避免在中间缓存空间所缓存的信息过期的情况下,大量的查询请求直接请求数据库而造成数据库雪崩的问题。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种书籍内容的获取方法的流程图;
图2示出了本公开实施例所提供的一种书籍对应的多个存储节点的示意图;
图3示出了本公开实施例所提供的一种更新数据库和中间缓存空间的方法的流程图;
图4示出了本公开实施例所提供的一种更新书籍内容以及获取书籍内容的方法的示意图;
图5示出了本公开实施例所提供的一种籍内容的获取装置的示意图;
图6示出了本公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
另外,本公开实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
经研究发现,对于包含有大量章节的书籍,利用有序列表数据结构存储各个章节的章节序号和章节标识之间的映射关系,将会造成有序列表的数据量过大的情况,而在有序列表的数据量过大时,对有序列表中的信息进行查询的查询速度将会下降,每次在有序列表中进行数据查询的计算量和功耗也将增加。因此,利用有序列表数据结构对大量章节分别对应的映射关系进行存储,存在较大的弊端。
基于上述研究,本公开提供了一种书籍内容的获取方案,利用中间缓存空间的多个存储节点中的父存储节点存储书籍的元信息、子存储节点存储预设数量个章节的章节信息,可以实现对书籍信息的分节点存储。在每个子存储节点中存储的章节信息的数据限定为预设数量个的情况下,即实现了将每个子存储节点的存储数据量限定在合理范围,在书籍的章节数量过多的情况下,可以利用多个子存储节点进行章节信息的存储,既避免了将章节信息存储在一个数据列表中导致数据列表的数据量过大的问题,还可以提高在各个子存储节点中查询数据的效率,降低数据查询的功耗。综上,利用查询请求中携带的待查询章节序号,从多个存储节点中确定目标存储节点,再根据目标存储节点缓存的信息获取目标章节内容,可以提高从存储节点中获取章节内容的速度,减少从存储节点中获取章节内容的计算量。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,本公开实施例中所提到的特定名词包括:
Redis:Remote Dictionary Server,即远程字典服务,是一个开源的、可基于内存亦可持久化的日志型的键-值(Key-Value,简称KV)数据库;
Abase:一款高性能、大容量、高可用、可基于内存亦可持久化的、分布式KV存储系统;
SLA:Service Level Agreement,服务等级协议,其定义了服务类型、质量、服务时间等信息。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种书籍内容的获取方法进行详细介绍,本公开实施例所提供的书籍内容的获取方法的执行主体一般为具有一定计算能力的终端设备或其他处理设备,其中终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、计算机设备等;在一些可能的实现方式中,该书籍内容的获取方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为计算机设备为例对本公开实施例提供的书籍内容的获取方法加以说明。
如图1所示,为本公开实施例提供的一种书籍内容的获取方法的流程图,可以包括以下步骤:
S101:获取针对目标书籍的查询请求。
这里,目标书籍可以为任一网络书籍,例如,目标书籍可以为网络小说、网络读物、网络期刊等。
查询请求为用于查询目标书籍的任一章节的章节内容的请求。查询请求中可以包括待查询章节的待查询章节序号、目标书籍的书籍标识等信息。例如,查询请求为查询小说A的第1245章内容的请求。
示例性的,当用户存在获取目标书籍中的任一章节的章节内容的请求的需要时,可以在书籍阅读器中发起用于查询该章节的章节内容的查询请求,进而,也即可以获取到针对目标书籍的查询请求。其中,获取查询请求的可以为客户端也可以为服务器端,此处不进行限定。
S102:在多级缓存空间的本地缓存空间中,不存在查询请求携带的待查询章节序号或不存在待查询章节序号对应的章节标识的情况下,从多级缓存空间的中间缓存空间包括的多个存储节点中,确定与查询请求相匹配的目标存储节点。
其中,存储节点包括至少一本书籍对应的父存储节点和子存储节点,父存储节点用于缓存书籍的元信息;每个子存储节点用于缓存书籍的预设数量个章节的章节信息。
这里,查询请求中可以携带有待查询章节序号,具体的,待查询章节序号即为用户此次查询需要获取的章节内容对应的章节序号。
多级缓存空间可以包括本地缓存空间(LocalCache)、中间缓存空间和数据库(Database,简称DB),其中,本地缓存空间用于临时存储数据,在本地缓存空间中存储的数据具有过期时间,在达到过期时间之后,数据将无法使用。中间缓存空间可以包括Redis和Abase。其中,Redis和Abase均可以用于临时存储数据,也均可以用于长期存储数据。DB用于存储书籍的书籍信息,其中,DB中存储的书籍信息最全面,本地缓存空间和中间缓存空间中存储的数据,为从DB中得到的数据,但本地缓存空间和中间缓存空间中存储的数据的数据结构与DB中的数据结构可以存在区别。
多级缓存空间中的各级缓存空间具有不同的访问优先级,其中,本地缓存空间的优先级大于中间缓存空间的优先级大于DB的优先级。在中间缓存空间为Redis和Abase的情况下,Redis和Abase的可以具有相同访问优先级,也可以具有不同的访问优先级,此次不进行具体限定。但Redis和Abase的可访问时间可以存在一定的区别,例如,在A时段Redis可访问,Abase不可访问,在B时段Redis不可访问,Abase可访问,在C时段Redis和Abase均可访问。但无论在任一时间下,Redis和Abase中均有一个可访问,如此,可以保证在任一时刻下查询数据,均存在可使用的中间缓存空间,保证了缓存空间的高可用性(即高SLA)。
示例性的,本公开实施例提供的多级缓存空间4级缓存空间,即LocalCache/Redis/Abase/DB。
中间缓存空间可以包括多个存储节点,多个存储节点中可以包括各个书籍对应的父存储节点和在父存储节点下的至少一个子存储节点,一个书籍仅存在一个父存储节点,但在父存储节点下可以包括一个或多个子存储节点。示例性的,中间缓存空间中的多个存储节点可以包括100本书籍分别对应的100个父存储节点,以及每个父存储节点下可以包括至少一个子存储节点。
父存储节点用于缓存书籍的元信息,元信息用于表征书籍的基础属性信息,例如,元信息可以为书籍名称、书籍标识、书籍总章节数等信息。在父存储节点下的子存储节点用于缓存书籍的预设数量个章节的章节信息。章节信息可以包括章节标识、章节序号等信息。在父存储节点下的子存储节点的数量可以根据书籍的总章节数和预设数量决定。其中,预设数量为预先设置的一个子存储节点中可存储的章节信息的数量。例如,书籍存在3000章,预设数量为1000,则子存储节点可以为3个。
在一种实施例中,章节信息包括书籍的书籍标识(BookID)、具有关联关系的章节标识(ChapterID)和章节序号(ChapterOrder)。这里,书籍标识用于唯一标识书籍,章节标识用于唯一标识章节。此外,章节信息还可以包括子存储节点存储的各个章节信息的示意信息。例如,0-1000章,则可以表示子存储节点存储0-1000章中的每个章节的章节信息。元信息包括书籍的章节总数量(可以用SerialNum表示)、首章内容(可以用First表示)、末章内容(可以用Last表示)、书籍标识、父存储节点下各个所述子存储节点的节点键,其中,节点键用于表征子存储节点中缓存的各个章节序号。父存储节点下各个所述子存储节点的节点键可以包括在节点键信息中。
元信息中除可以包括首章内容和末章内容,还可以包括首章内容对应的章节序号和章节标识、末章内容对应的章节序号和章节标识。中间缓存空间可以包括远程字典服务Redis和/或分布式缓存空间Abase。
如图2所示,为本公开实施例提供的一种书籍对应的多个存储节点的示意图,其中,书籍对应的父存储节点下具有N个子存储节点(即子存储节点1、2……N),每个子存储节点中均可以存储预设数量个章节的章节信息。父存储节点中的节点键信息包括父存储节点下的各个子存储节点的节点键,其中,节点键信息可以用Nexts表示。
示例性的,节点键可以根据对应的子存储节点存储的章节信息中最大章节序号、最小章节序号和书籍标识确定。以图2中的子存储节点的数量为3,父存储节点中的书籍标识为123,预设数量为1000,书籍共有3000章为例,子存储节点1可以用于存储1-1000章的章节信息,子存储节点2可以用于存储1001-2000章的章节信息,子存储节点2可以用于存储2001-3000章的章节信息,则子存储节点1对应的节点键可以为123_1-1000,子存储节点2对应的节点键可以为123_1001-2000,子存储节点3对应的节点键可以为123_2001-3000。
上述目标存储节点为与获取的查询请求相匹配的存储节点,可以为父存储节点或子存储节点。基于目标存储节点中缓存的信息,可以用于获取查询请求所查询的章节内容。具体的,目标存储节点可以为与查询请求携带的待查询章节序号相匹配的存储节点。
上述S102在具体实施时,在获取查询请求之后,可以先在本地缓存空间中进行查询。具体的,可以先判断本地缓存空间中是否存在查询请求携带的待查询章节序号,若否,则可以确定在本地缓存空间无法获取与待查询章节序号相对应的章节标识,进而也无法获取待查询章节序号对应的章节的章节内容。因此,在本地缓存空间中不存在待查询章节序号的情况下,可以确定无法基于本地缓存空间获取待查询章节对应的章节内容(即下文中的目标章节内容)。
若确定本地缓存空间存在待查询章节序号,则可以继续判断本地缓存空间中是否存在与待查询章节序号相对应的章节标识,如果是,则可以基于该章节标识从远程存储空间中获取与该章节标识相对应的章节内容,将该章节内容作为目标章节内容。其中,远程存储空间为用于存储各个书籍的各个章节的章节内容的空间。
如果本地缓存空间中不存在与待查询章节序号相对应的章节标识,则无法根据章节标识从远程存储空间中获取章节内容,因此,也可以确定无法基于本地缓存空间获取待查询章节对应的章节内容。
因此,在确定本地缓存空间中,不存在查询请求携带的待查询章节序号或不存在待查询章节序号对应的章节标识的情况下,则需要继续访问多级缓存空间中的中间缓存空间。这里,在中间缓存空间中的Rerdis和Abase中存在一个缓存空间可用时,则可以直接访问该可用的缓存空间。在Rerdis和Abase均可用的情况下,则可以先访问Redis再访问Abase。
下面以访问中间缓存空间Redis为例,对上述S102继续进行说明:
根据目标书籍的书籍标识,从Redis包括的多个存储节点中,确定出目标书籍对应的目标父存储节点和在目标父存储节点下的各个子存储节点。之后,可以根据查询请求中携带的待查询章节序号,从目标父存储节点和在目标父存储节点下的各个子存储节点中,确定出包括待查询章节序号对应的章节标识的存储节点,将该存储节点作为与查询请求相匹配的目标存储节点。
示例性的,在确定包括待查询章节序号对应的章节标识的存储节点为目标父存储节点的情况下,将目标父存储节点作为目标存储节点;在确定包括待查询章节序号对应的章节标识的存储节点子存储节点1的情况下,则将子存储节点1作为目标存储节点。
S103:根据目标存储节点中缓存的信息,获取与待查询章节序号相匹配的待查询章节标识对应的目标章节内容。
这里,待查询章节标识即为查询请求包括的待查询章节的章节标识。目标章节内容即为待查询章节标识对应的章节内容,也是待查询章节对应的章节内容。
在目标存储节点为父存储节点的情况下,目标存储节点中缓存的信息即为元信息;在目标存储节点为子存储节点的情况下,目标存储节点中缓存的信息即为章节信息。
示例性的,在目标存储节点为父存储节点的情况下,可以根据目标存储节点中的元信息包括的首章内容对应的章节标识或末章内容对应的章节标识,作为与待查询章节序号相匹配的待查询章节标识;进而,可以将元信息与待查询章节标识相匹配的章节内容,作为目标章节内容。在目标存储节点为子存储节点的情况下,可以根据目标存储节点包括的章节信息,确定与待查询章节序号相匹配的待查询章节标识,继而,可以根据待查询章节标识,从远程存储空间获取目标章节内容。
这样,利用中间缓存空间的多个存储节点中的父存储节点存储书籍的元信息、子存储节点存储预设数量个章节的章节信息,可以实现对书籍信息的分节点存储。在每个子存储节点中存储的章节信息的数据限定为预设数量个的情况下,即实现了将每个子存储节点的存储数据量限定在合理范围,在书籍的章节数量过多的情况下,可以利用多个子存储节点进行章节信息的存储,既避免了将章节信息存储在一个数据列表中导致数据列表的数据量过大的问题,还可以提高在各个子存储节点中查询数据的效率,降低数据查询的功耗。综上,利用查询请求中携带的待查询章节序号,从多个存储节点中确定目标存储节点,再根据目标存储节点缓存的信息获取目标章节内容,可以提高从存储节点中获取章节内容的速度,减少从存储节点中获取章节内容的计算量。
在一种实施例中,针对上述S102中确定目标存储节点的步骤,在查询请求中携带的待查询章节序号为预设章节序号的情况下,可以中间缓存空间包括的多个存储节点中,确定与目标书籍相匹配的父存储节点为目标存储节点;其中,预设章节序号包括首章和末章分别对应的章节序号。
这里,基于上述实施例可知,父存储节点中存储有书籍的首章内容和末章内容,因此,若用户发起的查询请求为查询首章内容或末章内容的请求,则可以直接在父存储节点中获取,无需再从远程存储空间中获取。
为了快速且准确地确定目标存储节点,可以将首章对应的章节序号和末章对应的章节序号,均设置为预设章节序号。在从中间缓存空间中确定目标存储节点时,可以先确定查询请求中的待查询章节序号是否为预设章节序号,若是,则说明可以直接在目标存储节点中获取目标章节内容,因此,可以直接将与目标书籍相匹配的父存储节点作为目标存储节点;若否,则说明待查询章节非首章和末章,则需要利用子存储节点获取目标章节内容。
进一步的,在目标存储节点为与目标书籍相匹配的父存储节点的情况下,针对上述S103,可以直接将目标存储节点缓存的元信息中、与待查询章节序号相匹配的章节内容,作为目标章节内容。示例性的,在待查询章节序号为1的情况下,可以直接将与目标书籍相匹配的父存储节点中、存储的首章内容作为目标章节内容。
这样,通过在父存储节点中存储书籍的章节总数量、首章内容、末章内容、书籍标识、父存储节点下各个子存储节点的节点键等信息,在用户查询首末章内容的情况下,可以直接从父存储节点中获取,无需根据书籍标识查询章节标识,再根据章节标识获取章节内容,提高了获取首末章内容的速度,节省获取首末章内容的计算量。
在一种实施例中,在查询请求中携带的待查询章节序号不属于预设章节序号的情况下,针对上述S102中确定目标存储节点的步骤,还可以按照以下步骤实施:
S102-1:从中间缓存空间包括的多个存储节点中,确定与目标书籍相匹配的目标父存储节点。
示例性的,目标父存储节点为Redis包括的多个存储节点中的、目标书籍对应的父存储节点。
例如,可以根据目标书籍的书籍标识,以及Redis包括的多个存储节点中的书籍标识,确定包括目标书籍的书籍标识的父存储节点为目标父存储节点。
S102-2:从目标父存储节点缓存的各个节点键中,确定与待查询章节序号相匹配的目标节点键。
具体实施时,在目标父存储节点缓存的节点键仅包括一个的情况下,可以将该节点键直接作为目标节点键。由于节点键的数量与子存储节点的数量一致,在节点键仅包括一个的情况下,子存储节点也将仅包括一个,因此,可以直接将该子存储节点作为目标存储节点。
在目标父存储节点缓存的节点键包括多个的情况下,可以根据每个节点键指示的章节序号的区间,确定包括待查询章节序号的区间对应的节点键为目标节点键。例如,在节点键1为123-1-1000,节点键2为123_1001-2000、待查询章节序号为1501的情况下,可以确定待查询章节序号位于区间[1001-2000],继而可以确定节点键2为目标节点键。
S102-3:将目标父存储节点对应的多个子存储节点中,与目标节点键对应的子存储节点确定为目标存储节点。
示例性的,目标父存储节点中包括的各个节点键,可以与目标父存储节点对应的各个子存储节点存在映射关系。在确定目标节点键之后,可以根据目标节点键对应的映射关系,确定与该目标节点键对应的子存储节点,将该子存储节点作为目标存储节点。
或者,在确定目标节点键之后,可以确定出目标节点键指示的最大章节序号和最小章节序号,然后,可以根据目标父存储节点对应的多个子存储节点中的、每个子存储节点缓存的章节信息,确定出缓存有上述最大章节序号和上述最小章节序号的子存储节点,将该子存储节点作为目标存储节点。
再或者,在生成节点键的过程中,可以生成与该节点键对应的子存储节点,然后将该子存储节点作为该节点键对应的值,从而形成键值对。之后,在确定目标节点键的情况下,根据该目标节点键对应的键值对,将该键值对中的值指示的子存储节点作为目标存储节点。
在一种实施例中,在目标存储节点为目标父存储节点下的一个子存储节点的情况下,针对上述S103,可以按照以下步骤实施:
S103-1:根据目标存储节点缓存的具有关联关系的章节标识和章节序号,确定与待查询章节序号相匹配的待查询章节标识。
具体实施时,在目标存储节点为子存储节点的情况下,目标存储节点中缓存的信息为章节信息。因此,可以根据目标存储节点缓存的、各个章节信息中的具有关联关系的章节标识和章节序号,先确定出与待查询章节序号相匹配的章节序号,将与该章节序号具有关联关系的章节标识,作为待查询章节的待查询章节标识。
S103-2:根据待查询章节标识,从远程存储空间中获取与待查询章节标识相匹配的目标章节内容。
这里,远程存储空间可以为利用远程存储服务所管理的存储空间,用于存储各个书籍的各个章节的章节内容的空间。
示例性的,在从目标存储节点中确定出待查询章节标识之后,可以根据待查询章节标识,从远程存储空间中获取与待查询章节标识相匹配的章节内容,将该章节内容作为目标章节内容反馈给用户。
在一种实施例中,为了各个缓存空间缓存的信息与数据库存储的书籍信息的一致性,还可以在获取查询请求之后,在执行S103之前,按照以下步骤完成对缓存空间和数据库的异常校验(也称diff check):
步骤一、响应于查询请求触发缓存对比事件,从多级缓存空间的数据库中,获取与待查询章节序号相匹配的目标章节标识。
这里,目标章节标识为从数据库中获取的、与待查询章节序号相匹配的章节标识。数据库用于存储每本书籍的书籍信息,例如,存储有书籍A和书籍B分别对应的书籍标识、总章节数、首章内容、末章内容、各个章节的章节标识和章节序号、书籍名称等信息。
上述缓存对比事件即为对各个缓存空间缓存的信息与数据库存储的书籍信息的一致性进行校验的事件。针对查询请求触发缓存对比事件的过程,可以预先设定触发规则。例如,对于接收到的查询请求,其中的50%可以触发该缓存对比事件,另外50%不可以触发缓存对比事件。又例如,按照随机触发规则,对于接收到的查询请求,随机确定是否触发缓存对比事件。具体的触发规则,本公开实施例不进行具体限定,凡是用于确定当前接收到的查询请求是否可以触发缓存对比事件的规则,均应该落入本公开实施例的保护范围。
示例性的,在获取查询请求后,若该查询请求满足触发规则,则可以确定该查询请求触发缓存对比事件,之后,可以响应于查询请求触发缓存对比事件,从多级缓存空间的数据库中,获取与查询请求携带的待查询章节序号相匹配的目标章节标识。
步骤二、在确定目标章节标识与待查询章节标识不一致的情况下,将中间缓存空间中缓存待的查询章节标识,更新为目标章节标识,并将更新后的待查询章节标识的状态设置为永久有效。
这里,在确定目标章节标识和从中间缓存空间中获取的待查询章节标识不一致的情况下,则可以说明中间缓存空间缓存的章节信息与数据库中存储的信息存在区别,因此,需要将中间缓存空间中缓存的待查询章节标识,更新为目标章节标识,从而保证中间缓存空间缓存的章节信息与数据库中存储的信息一致性。并且,在将中间缓存空间中缓存待的查询章节标识,更新为目标章节标识之后,还可以将更新后的待查询章节标识的状态设置为永久有效,也即将中间缓存空间中的、更新后的待查询章节标识的状态设置为永不过期。
这样,通常将更新后的待查询章节标识状态设置为永久有效,可以避免在中间缓存空间中的、更新后的待查询章节标识过期的情况下,大量查询该章节标识的查询请求直接落在数据库而造成数据库雪崩的问题。
进一步的,在将将中间缓存空间中缓存待的查询章节标识,更新为目标章节标识之后,针对上述S103,可以直接基于更新后的待查询章节标识,从远程存储空间中获取目标章节内容。
需要说明的是,在从数据库中获取目标章节标识之后,如果本地缓存空间中不存在查询请求携带的待查询章节序号或不存在待查询章节序号对应的章节标识,则可以基于待查询章节序号和目标章节标识,对本地缓存空间进行更新。这样,在下一次接收到携带该待查询章节序号的查询请求后,如果本地缓存空间的数据不过期,则可以直接基于本地缓存空间获取目标章节内容,提高章节内容的获取速度。
在一种可能的实施方式中,在获取查询请求后,如果确定该查询请求触发缓存对比事件,即使在本地缓存空间中获取到与待查询章节序号相匹配的章节标识,也可以从中间缓存空间中获取待匹配章节标识。然后,将本地缓存空间中获取的章节标识和从数据库中获取的目标章节标识进行比较,在确定两者不一致的情况下,将本地缓存空间中缓存的该章节标识,更新为目标章节标识。同时,将待匹配章节标识和目标章节标识进行比较,在确定两者不一致的情况下,将中间缓存空间中缓存的待查询章节标识,更新为目标章节标识,并将更新后的待查询章节标识的状态设置为永久有效。这样,可以提高各个缓存空间均与数据库一致性。
在一种实施例中,还可以按照以下步骤对中间缓存空间和数据库进行全量的一致性校验:
S1:按照预设查询周期,确定中间缓存空间中缓存的信息与数据库中存储的书籍信息是否一致。
这里,预设查询周期可以为预先设定的、用于定时对中间缓存空间和数据库进行一致性校验的周期。例如,可以设定每天的凌晨2点、早上八点等,对中间缓存空间和数据库进行全量的一致性校验,也即对中间缓存空间和数据库进行异常检查(diff check)。
示例性的,在到达预设查询周期指示的查询时间的情况下,可以获取中间缓存空间中缓存的所有信息、以及数据库中存储的所有书籍信息。然后,判断中间缓存空间中缓存的所有信息和数据库中存储的所有书籍信息是否一致。
可选的,在到达预设查询周期指示的查询时间的情况下,也可以获取中间缓存空间中缓存的所有信息、数据库中存储的所有书籍信息以及本地缓存中缓存的所有信息。然后,确定数据库和中间缓存空间之间的信息差异,以及确定数据库和本地缓存之间的信息差异。这里,确定数据库和本地缓存之间的信息差异可以包括:
(1)从数据库中存储的书籍信息,确定出与本地缓存空间中当前缓存的信息进行比较的对比信息,确定对比信息和本地缓存空间中当前缓存的信息之间的差异信息。例如,本地缓存空间中缓存有信息1、2、3,数据库中缓存有信息A、B、C、D、E、F,其中,与信息1、2、3对应的数据分别为信息A、B、C,则对比信息即为信息A、B、C。之后,若确定信息2和其对应的信息B存在区别,则可以确定差异信息为信息2和信息B。
(2)从数据库中存储的书籍信息,确定出与本地缓存空间中当前缓存的信息进行比较的对比信息,确定对比信息和本地缓存空间中当前缓存的信息之间的差异信息,以及将存储在数据库中的信息不存储在本地缓存空间中的信息也作为差异信息。延续上例,差异信息可以包括信息2和信息B,以及信息D、E、F。
S2:若不一致,则基于数据库中存储的书籍信息,对中间缓存空间进行更新,得到更新后的中间缓存空间,并将更新后的中间缓存空间所缓存的信息的状态设置为永久有效。
具体实施时,可以数据库中存储的书籍信息中,确定与中间缓存空间中缓存的信息不一致的待修正信息,基于该待修正信息对中间缓存空间缓存的信息进行更新,得到更新后的中间缓存空间,并将更新后的中间缓存空间中、更新的信息的状态设置为永久有效。
示例性的,在中间缓存空间中缓存的章节序号1对应于章节标识AAA,而数据库中存储的章节序号1对应于章节标识abb,则需要将中间缓存空间中缓存的章节序号1对应的章节标识由AAA更新为aaa,并将更新后的该信息的状态设置的永久有效。
又例如,在数据库中存储章节序号2及其对应的章节标识bba,而中间缓存空间中未缓存有章节序号2相关的信息的情况下,则可以将章节序号2和章节标识bba,更新存储至中间缓存空间,并将将章节序号2和章节标识bba的状态设置的永久有效。
这样,通过将更新后的中间缓存空间所缓存的信息的状态设置为永久有效,可以避免在中间缓存空间所缓存的信息过期的情况下,大量的查询请求直接请求数据库而造成数据库雪崩的问题。
可选的,在确定数据库和本地缓存之间存在信息差异的情况下,也可以基于数据库中存储的书籍信息,对本地缓存空间进行更新,以得到更新后的本地缓存空间。
在一种实施例中,本公开实施例还提供了一种对数据库中的书籍信息和中间缓存空间缓存的信息进行修改的方法,其中,对信息进行修改的步骤,可以在创建多级缓存空间之后的任一时刻执行,例如,可以在S103之后执行,也可以在S101之前执行,也可以在S102和S103之间执行,本公开实施例不进行具体限定。如图3所示,为本公开实施例提供的一种更新数据库和中间缓存空间的方法的流程图,可以包括以下步骤:
S301:获取任一书籍对应的更新信息。
这里,书籍可以为对应的书籍信息已存在数据库中的书籍,也可以需要将书籍信息存储在数据库中的新的书籍。更新信息可以为对书籍的任一属性信息进行修改的信息,具体可以包括更新已存储的书籍的书籍信息的信息、也可以为增加新的书籍信息的信息。
示例性的,更新信息可以包括但不限于修改书籍中的某一章节的章节标识的信息、修改某一章节的序号的信息、插入新的章节信息的信息、删除已有的章节信息的信息、新建章节信息的信息、修改书籍标识的信息、更新书籍首末章内容的信息。
例如,更新信息可以为更新书籍A的章节A的章节信息的信息。
S302:根据更新信息,对数据库中存储的书籍的书籍信息进行更新,得到更新后的书籍信息。
具体实施时,在获取更新信息之后,可以对数据库中存储的、与更新信息相匹配的书籍的书籍信息进行更新,得到更新后的书籍信息。
示例性的,可以利用写服务(即pgc.column服务),根据更新信息中指示的章节A对应的新的章节信息,将数据库中存储的书籍A的章节A的已有章节信息,更新为章节A对应的新的章节信息,也即得到书籍A对应的更新后的书籍信息。
在一种实施方式中,如果根据更新信息,对数据库中存储的书籍信息更新失败,则可以将数据库回滚到修改前的状态,也即,确定此次修改无效。
S303:基于更新后的书籍信息,对中间缓存空间缓存的信息进行更新,得到更新后的中间缓存空间,并将更新后的中间缓存空间所缓存的信息的状态设置为永久有效。
具体实施时,为了保持中间缓存空间缓存的信息与数据库中的书籍信息的一致性,在更新完数据库之后,可以基于更新后的书籍信息,对中间缓存空间缓存的信息进行更新,从而得到更新后的中间缓存空间,并将更新后的中间缓存空间所缓存的信息的状态设置为永久有效。
示例性的,可以根据章节A对应的新的章节信息,对中间缓存空间包括的子存储节点中缓存的章节A对应的章节信息进行更新,得到更新后的子存储节点,并将子存储节点中更新后的、章节A对应的新的章节信息的状态设置为永久有效。
下面以更新信息为在书籍标识为123的书籍B中插入新的章节的章节信息为例,对更新数据库和更新中间缓存空间的步骤进行说明:
可以先根据新插入的章节的章节信息,对数据库中存储的与书籍B相关的书籍信息进行更新,得到更新后的书籍信息。之后,可以中间缓存空间缓存的与书籍B相关的信息进行更新。具体的,可以先确定书籍B对应的目标子存储节点中存储的章节信息的数量是否小于预设数量。这里,目标子存储节点为存储书籍B的末章对应的章节信息的子存储节点。
若是,由于当前新插入了一个章节,则需要新建一个子存储节点,以保证可以将书籍B对应的原有章节信息和新建的章节的章节信息,均可以存储,同时还需要生成新建的该子存储节点的节点键,并将该节点键存储在书籍B对应的父存储节点中。此外,还需要更新书籍B对应的父存储节点的总章节数。
例如,新插入了书籍B的第1000章的章节信息,在书籍B对应的子存储节点包括上述子存储节点1、2和3,子存储节点1用于存储1-1000的章节信息,子存储节点2用于存储1001-2000的章节信息,子存储节点3用于存储2001-3000的章节信息的情况下,在新插入第1000章的章节信息的基础上,则需要将章节序号大于等于1000的各个章节序号依次增加1。之后,可以将新插入的第1000章的章节信息插入子存储节点1。然后,原有的章节序号1-999不变,将原有的章节序号1000变为1001,原有的章节序号1001变为1002,……,依次类推,原有的章节序号3000变为3001,同时,建立原有的章节序号1000对应的章节标识和章节序号1001的关联关系,得到新的1001章节对应的章节信息,建立原有的章节序号1001对应的章节标识和章节序号1002的关联关系,得到新的1002章节对应的章节信息,……,依次类推,建立原有的章节序号3000对应的章节标识和章节序号3001的关联关系,得到新的3001章节对应的章节信息。同时,可以将新的1001章节对应的章节信息存储在子存储节点2,将新的2001章节对应的章节信息存储在子存储节点3,将新的3001章节对应的章节信息存储在新建的子存储节点。
当然,若目标子存储节点中存储的章节信息的数量小于预设数量,则说明不需要新建子存储节点,则可以直接根据新插入的章节的章节信息,对书籍B对应的父存储节点中的总章节数进行更新,书籍B对应的至少一个子存储节点缓存的信息进行更新,得到更新后父存储节点和子存储节点,并将更新后各个存储节点中的、更新后的信息的状态,设置为永久有效状态。
关于基于其他的更新信息对数据库和中间缓存空间进行更新的过程,可以参照上述针对插入新的章节的章节信息的过程,本公开实施例不再赘述。
在一种可能的实施方式中,若基于更新后的书籍信息,对中间缓存空间缓存的信息更新失败,则可以生成缓存对比任务,并将该缓存对比任务存储至消息队列(MassageQueue,简称MQ)。然后,可以在存在空闲计算资源的情况下,从消息队列获取缓存对比任务,并执行缓存对比任务,重新执行基于更新后的书籍信息,对中间缓存空间缓存的信息进行更新的步骤,直至更新成功。
如图4所示,为本公开实施例提供的一种更新书籍内容以及获取书籍内容的方法的示意图,可以包括以下步骤:
1、利用写服务更新数据库中的书籍信息。本步骤具体可以包括上述S301和S302。
2、在数据库更新成功的情况下,触发更新中间缓存空间的步骤。
3、更新中间缓存空间。本步骤具体可以包括上述S303。更新缓存空间的步骤,可以利用写服务,根据数据库更新后对应的二进制日志(binlog日志)完成。
4、若中间缓存空间更新失败,则触发异常修复。其中异步修复的步骤即为:基于更新后的书籍信息,生成缓存对比任务,并将该缓存对比任务存储至消息队列。在存在空闲计算资源的情况下,从消息队列获取缓存对比任务,并执行缓存对比任务以完成对中间缓存空间更新的步骤。
5、读取目标章节内容。具体的,本步骤可以包括上述S101~S103。其中,S101~S103可以利用线上读服务(Pgc.column_core)执行。
6、确定是否触发缓存对比事件。这里,在按照预先设定的触发规则,确定当前的查询请求是否可以触发缓存对比事件,若是,响应于触发缓存对比事件,执行上述步骤一和步骤二。若否,则不触发缓存对比事件。
7、全量的一致性校验。这里,可以按照上述S1和S2,定时触发对中间缓存空间和数据库进行全量的一致性校验,也即,对中间缓存空间和数据库进行缓存对比,以确定中间缓存空间中缓存的信息和数据库中存储的书籍信息是否一致。
关于上述1~7的具体实施步骤,可以参照上述各实施例,此处不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与籍内容的获取方法对应的籍内容的获取装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述籍内容的获取方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,为本公开实施例提供的一种籍内容的获取装置的示意图,包括:
第一获取模块501,用于获取针对目标书籍的查询请求;
确定模块502,用于在多级缓存空间的本地缓存空间中,不存在所述查询请求携带的待查询章节序号或不存在所述待查询章节序号对应的章节标识的情况下,从所述多级缓存空间的中间缓存空间包括的多个存储节点中,确定与所述查询请求相匹配的目标存储节点;其中,所述存储节点包括至少一本书籍对应的父存储节点和子存储节点,所述父存储节点用于缓存所述书籍的元信息;每个所述子存储节点用于缓存所述书籍的预设数量个章节的章节信息;
第二获取模块503,用于根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容。
在一种可能的实施方式中,所述章节信息包括书籍的书籍标识、具有关联关系的章节标识和章节序号;所述元信息包括书籍的章节总数量、首章内容、末章内容、所述书籍标识、所述父存储节点下各个所述子存储节点的节点键,所述节点键用于表征所述子存储节点中缓存的各个章节序号;所述中间缓存空间包括远程字典服务Redis和/或分布式缓存空间Abase。
在一种可能的实施方式中,所述确定模块502,在所述从所述多级缓存空间的中间缓存空间包括的多个存储节点中,确定与所述查询请求相匹配的目标存储节点时,用于在所述查询请求中携带的待查询章节序号为预设章节序号的情况下,从所述中间缓存空间包括的多个存储节点中,确定与所述目标书籍相匹配的父存储节点为所述目标存储节点;所述预设章节序号包括首章和末章分别对应的章节序号;
所述第二获取模块503,在所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容时,用于将所述目标存储节点缓存的元信息中、与所述待查询章节序号相匹配的章节内容,作为所述目标章节内容。
在一种可能的实施方式中,所述确定模块502,在所述从所述多级缓存空间的中间缓存空间包括的多个存储节点中,确定与所述查询请求相匹配的目标存储节点时,用于在所述查询请求中携带的待查询章节序号不属于预设章节序号的情况下,从所述中间缓存空间包括的多个存储节点中,确定与所述目标书籍相匹配的目标父存储节点;
从所述目标父存储节点缓存的各个所述节点键中,确定与所述待查询章节序号相匹配的目标节点键;
将所述目标父存储节点对应的多个子存储节点中,与所述目标节点键对应的子存储节点确定为所述目标存储节点。
在一种可能的实施方式中,所述第二获取模块503,在所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容时,用于根据所述目标存储节点缓存的具有关联关系的章节标识和章节序号,确定与所述待查询章节序号相匹配的待查询章节标识;
根据所述待查询章节标识,从远程存储空间中获取与所述待查询章节标识相匹配的目标章节内容。
在一种可能的实施方式中,所述装置还包括:
第一对比模块504,用于在所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容之前,响应于所述查询请求触发缓存对比事件,从多级缓存空间的数据库中,获取与所述待查询章节序号相匹配的目标章节标识;所述数据库用于存储每本书籍的书籍信息;
在确定所述目标章节标识与所述待查询章节标识不一致的情况下,将所述中间缓存空间中缓存的所述待查询章节标识,更新为所述目标章节标识,并将更新后的所述待查询章节标识的状态设置为永久有效;
所述第二获取模块503,在所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容时,用于基于更新后的所述待查询章节标识,从远程存储空间中获取所述目标章节内容。
在一种可能的实施方式中,所述装置还包括:
第二对比模块505,用于按照预设查询周期,确定所述中间缓存空间中缓存的信息与数据库中存储的书籍信息是否一致;
若不一致,则基于所述数据库中存储的书籍信息,对所述中间缓存空间进行更新,得到更新后的中间缓存空间,并将更新后的中间缓存空间所缓存的信息的状态设置为永久有效。
在一种可能的实施方式中,所述装置还包括:
更新模块506,用于在根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容之后,获取任一书籍对应的更新信息;
根据所述更新信息,对数据库中存储的所述书籍的书籍信息进行更新,得到更新后的书籍信息;
基于所述更新后的书籍信息,对所述中间缓存空间缓存的信息进行更新,得到更新后的中间缓存空间,并将更新后的中间缓存空间所缓存的信息的状态设置为永久有效。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本申请实施例还提供了一种计算机设备。参照图6所示,为本申请实施例提供的一种计算机设备的结构示意图,包括:
处理器61、存储器62和总线63。其中,存储器62存储有处理器61可执行的机器可读指令,处理器61用于执行存储器62中存储的机器可读指令,所述机器可读指令被处理器61执行时,处理器61执行下述步骤:S101:获取针对目标书籍的查询请求;S102:在多级缓存空间的本地缓存空间中,不存在查询请求携带的待查询章节序号或不存在待查询章节序号对应的章节标识的情况下,从多级缓存空间的中间缓存空间包括的多个存储节点中,确定与查询请求相匹配的目标存储节点以及S103:根据目标存储节点中缓存的信息,获取与待查询章节序号相匹配的待查询章节标识对应的目标章节内容。
上述存储器62包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器61中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器61通过内存621与外部存储器622进行数据交换,当计算机设备运行时,处理器61与存储器62之间通过总线63通信,使得处理器61在执行上述方法实施例中所提及的执行指令。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的书籍内容的获取方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的书籍内容的获取方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的书籍内容的获取方法的步骤,具体可参见上述方法实施例,在此不再赘述。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式、处理的个人信息种类等信息。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (11)

1.一种书籍内容的获取方法,其特征在于,包括:
获取针对目标书籍的查询请求;
在多级缓存空间的本地缓存空间中,不存在所述查询请求携带的待查询章节序号或不存在所述待查询章节序号对应的章节标识的情况下,从所述多级缓存空间的中间缓存空间包括的多个存储节点中,确定与所述查询请求相匹配的目标存储节点;其中,所述存储节点包括至少一本书籍对应的父存储节点和子存储节点,所述父存储节点用于缓存所述书籍的元信息;每个所述子存储节点用于缓存所述书籍的预设数量个章节的章节信息;
根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容。
2.根据权利要求1所述的方法,其特征在于,所述章节信息包括书籍的书籍标识、具有关联关系的章节标识和章节序号;所述元信息包括书籍的章节总数量、首章内容、末章内容、所述书籍标识、所述父存储节点下各个所述子存储节点的节点键,所述节点键用于表征所述子存储节点中缓存的各个章节序号;所述中间缓存空间包括远程字典服务Redis和/或分布式缓存空间Abase。
3.根据权利要求2所述的方法,其特征在于,所述从所述多级缓存空间的中间缓存空间包括的多个存储节点中,确定与所述查询请求相匹配的目标存储节点,包括:
在所述查询请求中携带的待查询章节序号为预设章节序号的情况下,从所述中间缓存空间包括的多个存储节点中,确定与所述目标书籍相匹配的父存储节点为所述目标存储节点;所述预设章节序号包括首章和末章分别对应的章节序号;
所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容,包括:
将所述目标存储节点缓存的元信息中、与所述待查询章节序号相匹配的章节内容,作为所述目标章节内容。
4.根据权利要求2所述的方法,其特征在于,所述从所述多级缓存空间的中间缓存空间包括的多个存储节点中,确定与所述查询请求相匹配的目标存储节点,包括:
在所述查询请求中携带的待查询章节序号不属于预设章节序号的情况下,从所述中间缓存空间包括的多个存储节点中,确定与所述目标书籍相匹配的目标父存储节点;
从所述目标父存储节点缓存的各个所述节点键中,确定与所述待查询章节序号相匹配的目标节点键;
将所述目标父存储节点对应的多个子存储节点中,与所述目标节点键对应的子存储节点确定为所述目标存储节点。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容,包括:
根据所述目标存储节点缓存的具有关联关系的章节标识和章节序号,确定与所述待查询章节序号相匹配的待查询章节标识;
根据所述待查询章节标识,从远程存储空间中获取与所述待查询章节标识相匹配的目标章节内容。
6.根据权利要求1所述的方法,其特征在于,在所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容之前,还包括:
响应于所述查询请求触发缓存对比事件,从多级缓存空间的数据库中,获取与所述待查询章节序号相匹配的目标章节标识;所述数据库用于存储每本书籍的书籍信息;
在确定所述目标章节标识与所述待查询章节标识不一致的情况下,将所述中间缓存空间中缓存的所述待查询章节标识,更新为所述目标章节标识,并将更新后的所述待查询章节标识的状态设置为永久有效;
所述根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容,包括:
基于更新后的所述待查询章节标识,从远程存储空间中获取所述目标章节内容。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按照预设查询周期,确定所述中间缓存空间中缓存的信息与数据库中存储的书籍信息是否一致;
若不一致,则基于所述数据库中存储的书籍信息,对所述中间缓存空间进行更新,得到更新后的中间缓存空间,并将更新后的中间缓存空间所缓存的信息的状态设置为永久有效。
8.根据权利要求1至7任一项所述的方法,其特征在于,在根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容之后,还包括:
获取任一书籍对应的更新信息;
根据所述更新信息,对数据库中存储的所述书籍的书籍信息进行更新,得到更新后的书籍信息;
基于所述更新后的书籍信息,对所述中间缓存空间缓存的信息进行更新,得到更新后的中间缓存空间,并将更新后的中间缓存空间所缓存的信息的状态设置为永久有效。
9.一种书籍内容的获取装置,其特征在于,包括:
第一获取模块,用于获取针对目标书籍的查询请求;
确定模块,用于在多级缓存空间的本地缓存空间中,不存在所述查询请求携带的待查询章节序号或不存在所述待查询章节序号对应的章节标识的情况下,从所述多级缓存空间的中间缓存空间包括的多个存储节点中,确定与所述查询请求相匹配的目标存储节点;其中,所述存储节点包括至少一本书籍对应的父存储节点和子存储节点,所述父存储节点用于缓存所述书籍的元信息;每个所述子存储节点用于缓存所述书籍的预设数量个章节的章节信息;
第二获取模块,用于根据所述目标存储节点中缓存的信息,获取与所述待查询章节序号相匹配的待查询章节标识对应的目标章节内容。
10.一种计算机设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至8任意一项所述的书籍内容的获取方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如权利要求1至8任意一项所述的书籍内容的获取方法的步骤。
CN202210750794.8A 2022-06-29 2022-06-29 书籍内容的获取方法、装置、计算机设备和存储介质 Pending CN114925102A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210750794.8A CN114925102A (zh) 2022-06-29 2022-06-29 书籍内容的获取方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210750794.8A CN114925102A (zh) 2022-06-29 2022-06-29 书籍内容的获取方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN114925102A true CN114925102A (zh) 2022-08-19

Family

ID=82815530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210750794.8A Pending CN114925102A (zh) 2022-06-29 2022-06-29 书籍内容的获取方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114925102A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314492A (zh) * 2011-08-22 2012-01-11 百度在线网络技术(北京)有限公司 获取与目标文档章节相匹配的候选文档章节的方法与设备
CN111405019A (zh) * 2020-03-10 2020-07-10 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备和存储介质
CN113268506A (zh) * 2021-05-24 2021-08-17 北京京东振世信息技术有限公司 缓存数据库的查询方法、装置、电子设备和可读存储介质
CN113407889A (zh) * 2021-07-15 2021-09-17 北京百度网讯科技有限公司 小说转码方法、装置、设备以及存储介质
CN113656549A (zh) * 2021-08-18 2021-11-16 掌阅科技股份有限公司 电子书的内容搜索方法、电子设备及计算机存储介质
CN114385678A (zh) * 2021-12-11 2022-04-22 杭州华橙软件技术有限公司 跨区域多级缓存的数据处理系统、方法、装置和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314492A (zh) * 2011-08-22 2012-01-11 百度在线网络技术(北京)有限公司 获取与目标文档章节相匹配的候选文档章节的方法与设备
CN111405019A (zh) * 2020-03-10 2020-07-10 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备和存储介质
CN113268506A (zh) * 2021-05-24 2021-08-17 北京京东振世信息技术有限公司 缓存数据库的查询方法、装置、电子设备和可读存储介质
CN113407889A (zh) * 2021-07-15 2021-09-17 北京百度网讯科技有限公司 小说转码方法、装置、设备以及存储介质
CN113656549A (zh) * 2021-08-18 2021-11-16 掌阅科技股份有限公司 电子书的内容搜索方法、电子设备及计算机存储介质
CN114385678A (zh) * 2021-12-11 2022-04-22 杭州华橙软件技术有限公司 跨区域多级缓存的数据处理系统、方法、装置和存储介质

Similar Documents

Publication Publication Date Title
US11636083B2 (en) Data processing method and apparatus, storage medium and electronic device
CN110445828B (zh) 一种基于Redis的数据分布式处理方法及其相关设备
CN106031127B (zh) 用于应用的管理的方法和装置
CN108572958B (zh) 数据处理方法及装置
CN110321225B (zh) 负载均衡方法、元数据服务器及计算机可读存储介质
CN111400334B (zh) 数据处理方法、装置、存储介质及电子装置
CN114490060A (zh) 内存分配方法、装置、计算机设备和计算机可读存储介质
CN114595242A (zh) 一种数据操作方法、装置、计算机设备和存储介质
CN113268439A (zh) 内存地址的查找方法和装置、电子设备和存储介质
CN113656098B (zh) 配置获取方法及系统
CN113377812B (zh) 大数据的订单去重方法和装置
CN112241474B (zh) 信息处理方法、装置和存储介质
CN113590144A (zh) 一种依赖处理方法及装置
CN112860679A (zh) 一种设备信息管理方法、装置、电子设备及存储介质
CN116955341A (zh) 数据库完整性评价方法、系统及其应用
CN114925102A (zh) 书籍内容的获取方法、装置、计算机设备和存储介质
CN113434492B (zh) 数据的检测方法、装置、存储介质和电子装置
CN116450607A (zh) 数据处理方法、设备及存储介质
CN110888863A (zh) 一种状态字段优化方法、装置、电子设备及存储介质
CN116467315A (zh) 行为数据的分析方法、装置、设备及存储介质
CN116414898A (zh) 一种数据库访问方法、装置、电子设备及存储介质
CN114817151A (zh) 一种数据处理方法、装置、计算机设备及存储介质
CN112817980B (zh) 一种数据索引处理方法、装置、设备及存储介质
CN116542668A (zh) 一种基于区块链的数据处理方法、设备及可读存储介质
CN113285933A (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: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: Tiktok vision (Beijing) Co.,Ltd.

CB02 Change of applicant information