CN111580965A - 数据请求的处理方法及系统 - Google Patents

数据请求的处理方法及系统 Download PDF

Info

Publication number
CN111580965A
CN111580965A CN202010360042.1A CN202010360042A CN111580965A CN 111580965 A CN111580965 A CN 111580965A CN 202010360042 A CN202010360042 A CN 202010360042A CN 111580965 A CN111580965 A CN 111580965A
Authority
CN
China
Prior art keywords
target
mapping
identification code
data
value
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
CN202010360042.1A
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.)
OneConnect Smart Technology Co Ltd
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN202010360042.1A priority Critical patent/CN111580965A/zh
Publication of CN111580965A publication Critical patent/CN111580965A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

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

Abstract

本发明实施例提供一种数据请求的处理方法,包括步骤:获取存储在预设数据库中的待映射数据的标识代码;根据预设的哈希函数对标识代码进行计算,得到映射比特位,并将映射比特位的映射值设定为第一目标值;当接收到用户发起的数据请求时,获取数据请求中的目标标识代码,并根据哈希函数对目标标识代码进行计算,获取目标映射比特位;判断目标映射比特位的目标映射值是否为第一目标值,当目标映射值为第一目标值时,从数据库中获取与目标映射比特位对应的目标数据,并将目标数据发送给用户。此外,本发明还涉及区块链技术,目标消息摘要可存储于区块链节点中。

Description

数据请求的处理方法及系统
技术领域
本发明实施例涉及数据处理领域,尤其涉及一种数据请求的处理方法、系统、计算机设备及存储介质。
背景技术
目前,在访问设置有缓存的数据库时,先是根据数据请求访问缓存,当从缓存中没有获得该数据请求对应的数据时,才会访问数据库。在数据访问过程中,如果要访问的数据不存在于缓存中也不存在于数据库中,并且对该数据库并发访问的请求量很大时,就会对数据库造成很大的压力,也就是出现了缓存穿透的问题。
现有技术中,为了防止出现缓存穿透,通常是预先将存储在数据库中的所有数据的标识信息,都记录至一个布隆过滤器中。在接收到一条数据请求时,首先判断请求数据的标识信息是否记录在该布隆过滤器中,如果请求数据的标识信息没有记录在该布隆过滤器中,则表明数据库中没有存储与该数据请求对应的数据,那么,丢弃该数据请求,不再继续访问缓存,从而避免缓存穿透情况的发生。
本发明创造的发明人在研究中发现,当数据库的数据量巨大时,需要采用多个哈希函数对标识信息进行计算,以扩大标识信息在布隆过滤器中的一维数组长度,从而降低误判率,但是大量的计算会耗费大量的计算机资源。另一方面,当数据库采用集群部署时,每一个节点都需要建立一个布隆过滤器来存储标识信息的一维数组,这样会占用大量的内存。
故,本方案旨在解决现有技术中布隆过滤器的计算机资源耗费大的问题。
发明内容
有鉴于此,本发明实施例提供了一种数据请求的处理方法、系统、计算机设备及计算机可读存储介质,解决了现有技术中布隆过滤器计算机资源耗费大的问题,节省了计算机资源。
本发明实施例是通过下述技术方案来解决上述技术问题:
一种数据请求的处理方法,包括:
获取存储在预设数据库中的待映射数据的标识代码;
根据预设的哈希函数对所述标识代码进行计算,得到所述标识代码在待映射的目标数组中的映射比特位,并将所述映射比特位的映射值设定为第一目标值,其中,所述映射比特位的映射值设定为第一目标值表示所述待映射数据存在于所述数据库中;
当接收到用户发起的数据请求时,获取所述数据请求中的目标标识代码,并根据所述哈希函数对所述目标标识代码进行计算,以获取与所述目标标识代码对应的目标映射比特位;
判断所述目标映射比特位的目标映射值是否为所述第一目标值,当所述目标映射值为所述第一目标值时,从所述数据库中获取与所述目标映射比特位对应的目标数据,并将所述目标数据发送给所述用户。
可选地,所述根据预设的哈希函数对所述标识代码进行计算之前,还包括:
在预设的服务器中建立所述待映射数组,其中,所述待映射数组包括多个比特位,比特位的个数表示所述目标数组的数组长度;
将所述多个比特位的初始映射值设定为第二目标值。
可选地,所述根据预设的哈希函数对所述标识代码进行计算,以得到所述标识代码在待映射的目标数组预设的待映射数组中的映射比特位,并将所述映射比特位的映射值设定为第一目标值1,包括:
根据所述哈希函数对所述标识代码进行计算,得到所述标识代码的消息摘要;
根据所述数组长度对所述消息摘要进行取模计算,以得到取模余数,其中,所述取模余数表示所述目标数组中用于映射所述标识代码的映射比特位;
将与所述取模余数对应的映射比特位的映射值设定为所述第一目标值。
可选地,所述根据所述哈希函数对所述标识代码进行计算,得到所述标识代码的消息摘要,包括:
对所述哈希函数进行常量初始化,以得到8个哈希初值和64个哈希常量;
将所述唯一标识代码转换成二进制码形式以得到原始消息,并对所述原始消息的比特位进行填充,以得到目标消息;
根据所述8个哈希初值、所述64个哈希常量和预设的映射函数对所述目标消息进行计算,以得到所述消息摘要。
可选地,所述对所述原始消息的比特位进行填充,以得到目标消息,包括:
对所述原始消息执行第一填充操作,得到中间消息,其中,所述中间消息的比特位数对所述哈希函数的分组长度取模之后的余数为448,
对所述原始消息执行第二填充操作,得到附加消息,其中,所述附加消息的长度为64比特;
将所述附加消息填充到所述中间消息中,得到所述目标消息。
可选地,所述根据所述哈希函数对所述目标标识代码进行计算,以获取与所目标标识代码对应的目标映射比特位,包括:
根据所述哈希函数对所述目标标识代码进行计算,以得到所述目标标识代码的目标消息摘要,其中,所述目标消息摘要存储在区块链中;
根据所述数组长度对所述目标消息摘要进行取模计算,得所述目标映射比特位。
为了实现上述目的,本发明实施例还提供一种数据请求的处理系统,包括:
获取模块,用于获取存储在预设数据库中的待映射数据的标识代码;
计算模块,用于根据预设的哈希函数对所述标识代码进行计算,以得到所述标识代码在待映射的目标数组预设的待映射数组中的映射比特位,并将所述映射比特位的映射值设定为第一目标值1,其中,所述映射比特位的映射值设定为第一目标值1表示所述待映射数据存在于所述数据库中,所述待映射数组包括数组长度;
处理模块,用于当接收到用户发起的数据请求时,获取所述数据请求中的目标标识代码,并根据所述哈希函数对所述目标标识代码进行计算,以获取与所述目标标识代码对应的目标映射比特位;
发送模块,用于判断所述目标映射比特位的目标映射值是否为所述第一目标值1,当所述目标映射值为所述第一目标值1时,从所述数据库中获取与所述目标映射比特位对应的目标数据,并将所述目标数据发送给所述用户。
可选地,所述处理系统还包括:
建立模块,用于在预设的服务器中建立所述待映射数组,其中,所述待映射数组包括多个比特位,比特位的个数表示所述目标数组的数组长度,并将所述多个比特位的初始映射值设定为第二目标值。
为了实现上述目的,本发明实施例还提供一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述数据请求的处理方法的步骤。
为了实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的数据请求的处理方法的步骤。
本发明实施例提供的数据请求的处理方法、系统、计算机设备及计算机可读存储介质,将SHA256哈希函数和Bitmap算法进行结合,对布隆过滤器进行改进,每个数据只需进行一次哈希运算,解决了现有技术中布隆过滤器计算机资源耗费大的问题,节省了计算机资源。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明实施例一之数据请求的处理方法的步骤流程图;
图2为本发明实施例二之数据请求的处理系统的程序模块示意图;
图3为本发明实施例三之计算机设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
请参阅图1,示出了本发明实施例一之数据请求的处理方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备为执行主体进行示例性描述,具体如下:
步骤S100,获取存储在预设数据库中的待映射数据的标识代码。
具体的,数据通常存储在关系型数据库中,例如Mysql、SQL Server、Access和Oracle等常见的数据库都是关系型数据库。在关系型数据库中,一行表示一条记录,一列表示一个字段,一条记录有一个或多个属性,其中,一组属性对应数据库中的一个字段;若其中一个属性组(一个字段)能够唯一标识一条记录,该属性组就可以成为一个数据主键。对于每一条数据来说,它的主键都是唯一的,因此一条记录的数据主键就是该记录的唯一标识代码。通常地,在将数据存储到数据中时,为了方便后续的查询及提高查询的效率,开发人员会将数据库表中的其中一个字段设置为该表的数据主键。在后续的数据查询中,可以根据数据主键来查找目标数据。在本实施例中,通过获取预设数据库的每一条数据的数据主键,并将所述数据主键加载到缓存中,通过在缓存中查询数据主键来达到查询数据的目的,避免大量的数据请求同时落到数据库中,而导致数据库崩溃。
示例性的,在关系型数据库中,有一个名称为“student table”的数据库表,该表中有“id”、“name”和“class”三个字段,其中,每个学生的“id”是唯一的,则可以把字段“id”设置为“student table”数据库表的数据主键。“student table”中有一条记录为:“id”=202001001,“name”=小明,“class”=六(一),对于所有的学生来说,“id”都是唯一的,因此字段“id”可以作为“student table”数据库表的数据主键,202001001就是这条记录的唯一标识代码。在本实施例中,获取“student table”数据库表的数据主键,即“id”字段的数据,并将该字段的数据加载在缓存中,以待后续的查询。
步骤S102,根据预设的哈希函数对所述标识代码进行计算,得到所述标识代码在待映射的目标数组中的映射比特位,并将所述映射比特位的映射值设定为第一目标值。可选地,第一目标值可以为1,所述映射比特位的映射值设定为1表示所述待映射数据存在于所述数据库中,当所述映射比特位的映射值不为1,也即所述映射比特位的映射值为第二目标值时,则表示所述待映射数据不存在于所述数据库中,其中,所述第二目标数值可以为2,所述目标数组包括数组长度。
具体的,将所述唯一标识输入到预设的SHA256哈希函数中,以生成一个256位的二进制数。然后对这个二进制数进行取模运算,以得到一个余数,这个余数表示所述唯一标识代码在所述待映射数组中的映射比特位。然后,将所述映射比特位的映射值设定为1。
在一较佳实施例中,根据预设的哈希函数对所述唯一标识代码进行计算之前,还在预设的Redis服务器中建立所述待映射数组,并将所述多个比特位的初始映射值设定为0,其中,所述待映射数组包括多个比特位,所述数组长度表示所述待映射数组的比特位个数。
具体的,在Redis服务器中建立Bitmap(位图),Bitmap即所述待映射数组。所述Bitmap的最大长度为512MB=232bit,即最多有232个比特位。在本实施例中,将所述Bitmap的数组长度设置成232,以将可映射的数据量最大化,并减少所述唯一标识代码在所述数组中的碰撞率,其中,所述碰撞率指的是两个不同的唯一标识代码经过SHA256函数计算后得到的映射比特位相同的概率;同时,将每一个比特位的初始映射值设置为0。建立所述数组并获取到所述唯一标识代码之后,则根据预设的SHA256哈希函数和所述数组长度232对唯一标识代码进行取模运算,以得到一个取模余数,所述取模余数表示所述数组中的用于映射所述唯一标识代码的比特位,即所述映射比特位。在计算得到所述映射比特位后,将该位置映射值设定为1。
可以理解的是,在分布式集群中,每一个节点都需要一个缓存来建立一个数组,并且每一个节点都需要根据哈希函数来计算所述唯一标识代码在该节点的数组中的映射比特位。如果一个分布式集群中有十个节点,则需要分别进行十次哈希计算。
在本实施例中,通过在Redis服务器中建立Bitmap,并根据SHA256哈希函数将所述唯一标识代码映射到Bitmap中,就可以让所有节点共享Redis中的Bitmap,不需要每一节点再单独建立数组和计算,节省了硬件资源和计算资源。
在另一较佳实施例中,根据预设的哈希函数对所述唯一标识代码进行计算时,首先根据所述哈希函数对所述唯一标识代码进行计算,以得到所述唯一标识代码的消息摘要。然后根据所述数组长度对所述消息摘要进行取模计算,以得到取模余数,其中,所述取模余数表示所述待映射数组中用于映射所述唯一标识代码的映射比特位。最后将与所述取模余数对应的映射比特位的数值设定为1。
具体的,Hash(哈希)算法即散列函数,它是一种单向密码体制,只有加密过程没有解密过程,Hash函数可以将任意长度的输入经过变化以后得到固定长度的输出,Hash函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。本实施例中的SHA256哈希函数是一种安全散列算法,可以对任意长度的字符串进行运算之后,生成一个长度为256比特的哈希值。
在本实施例中,首先对所述SHA256哈希函数进行常量初始化,所述常量初始化包括以下步骤:①对自然数中的前8个质数(2,3,5,7,11,13,19)的平方根的小数部分提取前32比特位的数值,以得到8个哈希初值;②对自然数中的前64个质数(2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97…)的立方根的小数部分提取前32bit比特位的数值,以得到64个哈希常量。接着,对所述唯一标识代码进行预处理,其中,所述预处理包括以下步骤:①将所述唯一标识代码转换成二进制码的形式,以得到原始消息;然后对所述原始消息进行填充,以得到中间消息,并且使得所述中间消息的长度对512取模之后的余数为448,其中,512指的是本实施例中的SHA256哈希函数的分组长度;②对所述原始消息进行填充,以得到长度为64比特的附加消息,并将所述附加消息填充到所述中间消息中,以得到目标消息。
得到所述目标消息之后,则根据所述SHA256哈希函数对所述目标消息进行逻辑运算,以得到消息摘要,其中,所述逻辑运算包括以下步骤:①将所述目标消息分解成若干个大小为512比特的数据块,分别为M1、M2、M3…Mn;设所述消息摘要的初始值为H0,将H0分解成h0~h7八个数据小块,并将前述的8个哈希初值分别赋值给h0~h7。接着根据预设的映射函数$Map(H_{i-1})=H_{i}$对H0和M1进行计算,以得到H1;然后根据所述映射函数$Map(H_{i-1})=H_{i}$对H1和M2进行计算,以得到H2;以此类推,完成n次映射计算后得到所述唯一标识代码的消息摘要Hn,其中,Hn的长度为256比特。
示例性的,在“student table”数据库表中有一行记录为:“id”=202001001、“name”=小明、“class”=六(一),则对应的唯一标识代码为202001001。获取到唯一标识代码后202001001,则根据所述SHA256哈希函数对所述唯一标识代码202001001进行计算,得到对应的消息摘要为3c01e65819920fae5225da3dd179fc141ec62c65ffc6fb9bd1c706af2eac871d。需要说明的是,为便于描述,这里采用长度为64的十六进制数来表示所述唯一标识代码202001001的消息摘要。得到所述消息摘要后,再根据所述数组长度232对所述消息摘要3c01e65819920fae5225da3dd179fc141ec62c65ffc6fb9bd1c706af2eac871进行取模运算,得到余数3296,即所述消息摘要在所述数组中的映射比特位为第3296个比特位。进一步地,将所述数组中第3296个比特位的映射值由0设定为1。
步骤S104,当接收到用户发起的数据请求时,获取所述数据请求中的目标标识代码,并根据所述哈希函数对所述目标标识代码进行计算,以获取与所述目标标识代码对应的目标映射比特位。
具体的,用户可以根据所述数据主键来查找目标数据,在传统的访问模式中,用户直接通过数据库管理系统来查询数据库中的数据,当数据库管理系统同时接收到大量的数据请求时,会导致数据库的崩溃。在本实施例中,通过前述步骤将数据库的数据主键映射到Redis的Bitmap中,当再次用户通过数据主键来发起数据请求时,会先在Bitmap中查询与所述数据请求对应的目标唯一标识代码。只有确认Bitmap中存在目标唯一标识代码时,才会继续访问数据库来获取目标数据,否则丢弃该次访问请求。
示例性的,“id”是已经映射到Bitmap中的数据主键,即,“id”字段中的所有字段值已经通过SHA256哈希函数映射到Bitmap中。当用户通过“id”来查询目标数据时,需要向Redis服务器发送附带目标唯一标识代码的数据请求,例如:202001001。然后Redis服务器获取所述数据请求中的目标唯一标识代码,然后根据SHA256哈希函数对所述目标唯一标识代码进行计算,以得到所述唯一标识代码在Bitmap中的映射比特位。
在一较佳实施例中,根据所述哈希函数对所述目标唯一标识代码进行计算时,首先根据所述哈希函数对所述目标唯一标识代码进行计算,以得到所述目标唯一标识代码的目标消息摘要。然后根据所述数组长度对所述目标消息摘要进行取模计算,以得目标映射比特位。
需要强调的是,为进一步保证上述目标消息摘要的私密和安全性,上述目标消息摘要还可以存储于一区块链的节点中。
具体的,与步骤S102相同,在本步骤中需要根据SHA256哈希函数对所述目标唯一标识代码进行计算,以得到对应的目标消息摘要;然后再根据数组长度232对目标消息摘要进行取模计算,得到目标取模余数,所述目标取模余数即所述目标唯一标识代码在Bitmap中的目标映射比特位。本步骤作用在于计算出目标唯一标识代码在Bitmap中的目标映射比特位,然后通过判断目标映射比特位的映射值是否为1,来判断与所述目标唯一标识代码对应的目标数据是否存储在数据库中,避免直接访问数据库。
示例性的,对数据请求中的唯一标识代码“202001001”进行哈希计算和取模计算后,得到的目标映射比特位为3296,则需要获取Bitmap中第3296个比特位的数值。
步骤S106,判断所述目标映射比特位的目标映射值是否为所述第一目标值,当所述目标映射值为所述第一目标值时,从所述数据库中获取与所述目标映射比特位对应的目标数据,并将所述目标数据发送给所述用户。
具体的,在步骤3中计算出Bitmap中与所述目标唯一标识代码对应的目标映射比特位后,则获取该比特位的映射值。当判断该比特位的映射值为1时,说明与所述目标唯一标识代码对应的目标数据存储在数据库中,则从所述数据库中获取与该比特位对应的目标数据,并将所述目标数据发送给所述用户。当判断该比特位的映射值为0时,说明与所述目标唯一标识代码对应的目标数据没有存储在所述数据库中,则丢弃该次数据请求,不对数据库执行任何操作,并发送空数据给所述用户。
示例性的,获取Bitmap中第3296个比特位的映射值,若该比特位的映射值为1,说明“id”=202001001的数据存储在数据库中,则从数据库中获取该数据并将该数据发送给用户;若该比特位的映射值为0,说明“id”=202001001的数据没有存储在数据库中,则丢弃该次数据请求,并发送空数据给所述用户。
本方案通过将SHA256哈希函数和Bitmap算法进行结合,对布隆过滤器进行改进,每个数据只需进行一次哈希运算,解决了现有技术中布隆过滤器计算机资源耗费大的问题,节省了计算机资源。
实施例二
请参阅图2,示出了本发明实施例二之数据请求的处理系统的程序模块示意图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。在本实施例中,数据请求的处理系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述数据请求的处理方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述数据请求的处理系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
获取模块200,用于获取存储在预设数据库中的待映射数据的标识代码。
具体的,数据通常存储在关系型数据库中,例如Mysql、SQL Server、Access和Oracle等常见的数据库都是关系型数据库。在关系型数据库中,一行表示一条记录,一列表示一个字段,一条记录有一个或多个属性,其中,一组属性对应数据库中的一个字段;若其中一个属性组(一个字段)能够唯一标识一条记录,该属性组就可以成为一个数据主键。对于每一条数据来说,它的主键都是唯一的,因此一条记录的数据主键就是该记录的唯一标识代码。通常地,在将数据存储到数据中时,为了方便后续的查询及提高查询的效率,开发人员会将数据库表中的其中一个字段设置为该表的数据主键。在后续的数据查询中,可以根据数据主键来查找目标数据。在本实施例中,获取模块200通过获取预设数据库的每一条数据的数据主键,并将所述数据主键加载到缓存中,通过在缓存中查询数据主键来达到查询数据的目的,避免大量的数据请求同时落到数据库中,而导致数据库崩溃。
示例性的,在关系型数据库中,有一个名称为“student table”的数据库表,该表中有“id”、“name”和“class”三个字段,其中,每个学生的“id”是唯一的,则可以把字段“id”设置为“student table”数据库表的数据主键。“student table”中有一条记录为:“id”=202001001,“name”=小明,“class”=六(一),对于所有的学生来说,“id”都是唯一的,因此字段“id”可以作为“student table”数据库表的数据主键,202001001就是这条记录的唯一标识代码。在本实施例中,获取“student table”数据库表的数据主键,即“id”字段的数据,并将该字段的数据加载在缓存中,以待后续的查询。
计算模块202,用于根据预设的哈希函数对所述标识代码进行计算,得到所述标识代码在待映射的目标数组中的映射比特位,并将所述映射比特位的映射值设定为第一目标值。可选地,第一目标值可以为1,所述映射比特位的映射值设定为1表示所述待映射数据存在于所述数据库中,当所述映射比特位的映射值不为1,也即所述映射比特位的映射值为第二目标值时,则表示所述待映射数据不存在与所述数据库中,其中,所述第二目标数值可以为2,所述目标数组包括数组长度。
具体的,计算模块202将所述唯一标识输入到预设的SHA256哈希函数中,以生成一个256位的二进制数。然后对这个二进制数进行取模运算,以得到一个余数,这个余数表示所述唯一标识代码在所述待映射数组中的映射比特位。然后,将所述映射比特位的映射值设定为1。
在一较佳实施例中,所述数据请求的处理系统20还包括建立模块,所述建立模块用于在预设的Redis服务器中建立所述待映射数组,并将所述多个比特位的初始映射值设定为0,其中,所述待映射数组包括多个比特位,所述数组长度表示所述待映射数组的比特位个数。
具体的,在Redis服务器中建立Bitmap(位图),Bitmap即所述待映射数组。所述Bitmap的最大长度为512MB=232bit,即最多有232个比特位。在本实施例中,将所述Bitmap的数组长度设置成232,以将可映射的数据量最大化,并减少所述唯一标识代码在所述数组中的碰撞率,其中,所述碰撞率指的是两个不同的唯一标识代码经过SHA256函数计算后得到的映射比特位相同的概率;同时,将每一个比特位的初始映射值设置为0。建立所述数组并获取到所述唯一标识代码之后,则根据预设的SHA256哈希函数和所述数组长度232对唯一标识代码进行取模运算,以得到一个取模余数,所述取模余数表示所述数组中的用于映射所述唯一标识代码的比特位,即所述映射比特位。在计算得到所述映射比特位后,将该位置映射值设定为1。
可以理解的是,在分布式集群中,每一个节点都需要一个缓存来建立一个数组,并且每一个节点都需要根据哈希函数来计算所述唯一标识代码在该节点的数组中的映射比特位。如果一个分布式集群中有十个节点,则需要分别进行十次哈希计算。
在本实施例中,通过在Redis服务器中建立Bitmap,并根据SHA256哈希函数将所述唯一标识代码映射到Bitmap中,就可以让所有节点共享Redis中的Bitmap,不需要每一节点再单独建立数组和计算,节省了硬件资源和计算资源。
在另一较佳实施例中,根据预设的哈希函数对所述唯一标识代码进行计算时,计算模块202首先根据所述哈希函数对所述唯一标识代码进行计算,以得到所述唯一标识代码的消息摘要。然后根据所述数组长度对所述消息摘要进行取模计算,以得到取模余数,其中,所述取模余数表示所述待映射数组中用于映射所述唯一标识代码的映射比特位。最后将与所述取模余数对应的映射比特位的数值设定为1。
具体的,Hash(哈希)算法即散列函数,它是一种单向密码体制,只有加密过程没有解密过程,Hash函数可以将任意长度的输入经过变化以后得到固定长度的输出,Hash函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。本实施例中的SHA256哈希函数是一种安全散列算法,可以对任意长度的字符串进行运算之后,生成一个长度为256比特的哈希值。
在本实施例中,首先对所述SHA256哈希函数进行常量初始化,所述常量初始化包括以下步骤:①对自然数中的前8个质数(2,3,5,7,11,13,19)的平方根的小数部分提取前32比特位的数值,以得到8个哈希初值;②对自然数中的前64个质数(2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97…)的立方根的小数部分提取前32bit比特位的数值,以得到64个哈希常量。接着,对所述唯一标识代码进行预处理,其中,所述预处理包括以下步骤:①将所述唯一标识代码转换成二进制码的形式,以得到原始消息;然后对所述原始消息进行填充,以得到中间消息,并且使得所述中间消息的长度对512取模之后的余数为448,其中,512指的是本实施例中的SHA256哈希函数的分组长度;②对所述原始消息进行填充,以得到长度为64比特的附加消息,并将所述附加消息填充到所述中间消息中,以得到目标消息。
得到所述目标消息之后,则根据所述SHA256哈希函数对所述目标消息进行逻辑运算,以得到消息摘要,其中,所述逻辑运算包括以下步骤:①将所述目标消息分解成若干个大小为512比特的数据块,分别为M1、M2、M3…Mn;设所述消息摘要的初始值为H0,将H0分解成h0~h7八个数据小块,并将前述的8个哈希初值分别赋值给h0~h7。接着根据预设的映射函数$Map(H_{i-1})=H_{i}$对H0和M1进行计算,以得到H1;然后根据所述映射函数$Map(H_{i-1})=H_{i}$对H1和M2进行计算,以得到H2;以此类推,完成n次映射计算后得到所述唯一标识代码的消息摘要Hn,其中,Hn的长度为256比特。
示例性的,在“student table”数据库表中有一行记录为:“id”=202001001、“name”=小明、“class”=六(一),则对应的唯一标识代码为202001001。获取到唯一标识代码后202001001,则根据所述SHA256哈希函数对所述唯一标识代码202001001进行计算,得到对应的消息摘要为3c01e65819920fae5225da3dd179fc141ec62c65ffc6fb9bd1c706af2eac871d。需要说明的是,为便于描述,这里采用长度为64的十六进制数来表示所述唯一标识代码202001001的消息摘要。得到所述消息摘要后,再根据所述数组长度232对所述消息摘要3c01e65819920fae5225da3dd179fc141ec62c65ffc6fb9bd1c706af2eac871进行取模运算,得到余数3296,即所述消息摘要在所述数组中的映射比特位为第3296个比特位。进一步地,将所述数组中第3296个比特位的映射值由0设定为1。
处理模块204,用于当接收到用户发起的数据请求时,获取所述数据请求中的目标标识代码,并根据所述哈希函数对所述目标标识代码进行计算,以获取与所述目标标识代码对应的目标映射比特位。
具体的,用户可以根据所述数据主键来查找目标数据,在传统的访问模式中,用户直接通过数据库管理系统来查询数据库中的数据,当数据库管理系统同时接收到大量的数据请求时,会导致数据库的崩溃。在本实施例中,通过前述计算模块202将数据库的数据主键映射到Redis的Bitmap中,当再次用户通过数据主键来发起数据请求时,处理模块204会先在Bitmap中查询与所述数据请求对应的目标唯一标识代码。只有确认Bitmap中存在目标唯一标识代码时,才会继续访问数据库来获取目标数据,否则丢弃该次访问请求。
示例性的,“id”是已经映射到Bitmap中的数据主键,即,“id”字段中的所有字段值已经通过SHA256哈希函数映射到Bitmap中。当用户通过“id”来查询目标数据时,需要向Redis服务器发送附带目标唯一标识代码的数据请求,例如:202001001。然后Redis服务器获取所述数据请求中的目标唯一标识代码,然后根据SHA256哈希函数对所述目标唯一标识代码进行计算,以得到所述唯一标识代码在Bitmap中的映射比特位。
在一较佳实施例中,根据所述哈希函数对所述目标唯一标识代码进行计算时,处理模块204首先根据所述哈希函数对所述目标唯一标识代码进行计算,以得到所述目标唯一标识代码的目标消息摘要。然后根据所述数组长度对所述目标消息摘要进行取模计算,以得目标映射比特位。
具体的,与计算模块202相似,处理模块204需要根据SHA256哈希函数对所述目标唯一标识代码进行计算,以得到对应的目标消息摘要;然后再根据数组长度232对目标消息摘要进行取模计算,得到目标取模余数,所述目标取模余数即所述目标唯一标识代码在Bitmap中的目标映射比特位。处理模块204的作用在于计算出目标唯一标识代码在Bitmap中的目标映射比特位,然后通过判断目标映射比特位的映射值是否为1,来判断与所述目标唯一标识代码对应的目标数据是否存储在数据库中,避免直接访问数据库。
示例性的,对数据请求中的唯一标识代码“202001001”进行哈希计算和取模计算后,得到的目标映射比特位为3296,则需要获取Bitmap中第3296个比特位的数值。
发送模块206,用于判断所述目标映射比特位的目标映射值是否为所述第一目标值,当所述目标映射值为所述第一目标值时,从所述数据库中获取与所述目标映射比特位对应的目标数据,并将所述目标数据发送给所述用户。
具体的,处理模块204在计算出Bitmap中与所述目标唯一标识代码对应的目标映射比特位后,则获取该比特位的映射值。当发送模块206判断该比特位的映射值为1时,说明与所述目标唯一标识代码对应的目标数据存储在数据库中,则从所述数据库中获取与该比特位对应的目标数据,并将所述目标数据发送给所述用户。当发送模块206判断该比特位的映射值为0时,说明与所述目标唯一标识代码对应的目标数据没有存储在所述数据库中,则丢弃该次数据请求,不对数据库执行任何操作,并发送空数据给所述用户。
示例性的,获取Bitmap中第3296个比特位的映射值,若该比特位的映射值为1,说明“id”=202001001的数据存储在数据库中,则从数据库中获取该数据并将该数据发送给用户;若该比特位的映射值为0,说明“id”=202001001的数据没有存储在数据库中,则丢弃该次数据请求,并发送空数据给所述用户。
本方案通过将SHA256哈希函数和Bitmap算法进行结合,对布隆过滤器进行改进,每个数据只需进行一次哈希运算,解决了现有技术中布隆过滤器计算机资源耗费大的问题,节省了计算机资源。
实施例三
参阅图3,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图3所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及数据请求的处理系统20。其中:
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例二的数据请求的处理系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行数据请求的处理系统20,以实现实施例一的数据请求的处理方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图3仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的所述数据请求的处理系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
例如,图2示出了所述数据请求的处理系统20的程序模块示意图,该实施例中,所述数据请求的处理系统20可以被划分为获取模块200、计算模块202、处理模块204和发送模块206。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述数据请求的处理系统20在所述计算机设备2中的执行过程。所述程序模块200-206的具体功能在实施例二中已有详细描述,在此不再赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储数据请求的处理系统20,被处理器执行时实现实施例一的数据请求的处理方法。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据请求的处理方法,其特征在于,包括:
获取存储在预设数据库中的待映射数据的标识代码;
根据预设的哈希函数对所述标识代码进行计算,得到所述标识代码在待映射的目标数组中的映射比特位,并将所述映射比特位的映射值设定为第一目标值,其中,所述映射比特位的映射值设定为第一目标值表示所述待映射数据存在于所述数据库中;
当接收到用户发起的数据请求时,获取所述数据请求中的目标标识代码,并根据所述哈希函数对所述目标标识代码进行计算,以获取与所述目标标识代码对应的目标映射比特位;
判断所述目标映射比特位的目标映射值是否为所述第一目标值,当所述目标映射值为所述第一目标值时,从所述数据库中获取与所述目标映射比特位对应的目标数据,并将所述目标数据发送给所述用户。
2.根据权利要求1所述的数据请求的处理方法,其特征在于,所述根据预设的哈希函数对所述标识代码进行计算之前,还包括:
在预设的服务器中建立所述待映射数组,其中,所述待映射数组包括多个比特位,比特位的个数表示所述目标数组的数组长度;
将所述多个比特位的初始映射值设定为第二目标值。
3.根据权利要求2所述的数据请求的处理方法,其特征在于,所述根据预设的哈希函数对所述标识代码进行计算,得到所述标识代码在待映射的目标数组中的映射比特位,并将所述映射比特位的映射值设定为第一目标值,包括:
根据所述哈希函数对所述标识代码进行计算,得到所述标识代码的消息摘要;
根据所述数组长度对所述消息摘要进行取模计算,得到取模余数,其中,所述取模余数表示所述目标数组中用于映射所述标识代码的映射比特位;
将与所述取模余数对应的映射比特位的映射值设定为所述第一目标值。
4.根据权利要求3所述的数据请求的处理方法,其特征在于,所述根据所述哈希函数对所述标识代码进行计算,得到所述标识代码的消息摘要,包括:
对所述哈希函数进行常量初始化,得到8个哈希初值和64个哈希常量;
将所述标识代码转换成二进制码形式以得到原始消息,并对所述原始消息的比特位进行填充,得到目标消息;
根据所述8个哈希初值、所述64个哈希常量和预设的映射函数对所述目标消息进行计算,得到所述消息摘要。
5.根据权利要求4所述的数据请求的处理方法,其特征在于,所述对所述原始消息的比特位进行填充,得到目标消息,包括:
对所述原始消息执行第一填充操作,得到中间消息,其中,所述中间消息的比特位数对所述哈希函数的分组长度取模之后的余数为448;
对所述原始消息执行第二填充操作,得到附加消息,其中,所述附加消息的长度为64比特;
将所述附加消息填充到所述中间消息中,得到所述目标消息。
6.根据权利要求1所述的数据请求的处理方法,其特征在于,所述根据所述哈希函数对所述目标标识代码进行计算,以获取与所目标标识代码对应的目标映射比特位,包括:
根据所述哈希函数对所述目标标识代码进行计算,得到所述目标标识代码的目标消息摘要,其中,所述目标消息摘要存储在区块链中;
根据所述数组长度对所述目标消息摘要进行取模计算,得所述目标映射比特位。
7.一种数据请求的处理系统,其特征在于,包括:
获取模块,用于获取存储在预设数据库中的待映射数据的标识代码;
计算模块,用于根据预设的哈希函数对所述标识代码进行计算,得到所述标识代码在待映射的目标数组中的映射比特位,并将所述映射比特位的映射值设定为第一目标值,其中,所述映射比特位的映射值设定为第一目标值表示所述待映射数据存在于所述数据库中;
处理模块,用于当接收到用户发起的数据请求时,获取所述数据请求中的目标标识代码,并根据所述哈希函数对所述目标标识代码进行计算,以获取与所述目标标识代码对应的目标映射比特位;
发送模块,用于判断所述目标映射比特位的目标映射值是否为所述第一目标值,当所述目标映射值为所述第一目标值时,从所述数据库中获取与所述目标映射比特位对应的目标数据,并将所述目标数据发送给所述用户。
8.根据权利要求7所述的数据请求的处理系统,其特征在于,所述处理系统还包括:
建立模块,用于在预设的服务器中建立所述待映射数组,其中,所述待映射数组包括多个比特位,比特位的个数表示所述目标数组的数组长度,并将所述多个比特位的初始映射值设定为第二目标值。
9.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的数据请求的处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1至6中任一项所述的数据请求的处理方法的步骤。
CN202010360042.1A 2020-04-30 2020-04-30 数据请求的处理方法及系统 Pending CN111580965A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010360042.1A CN111580965A (zh) 2020-04-30 2020-04-30 数据请求的处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010360042.1A CN111580965A (zh) 2020-04-30 2020-04-30 数据请求的处理方法及系统

Publications (1)

Publication Number Publication Date
CN111580965A true CN111580965A (zh) 2020-08-25

Family

ID=72125064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010360042.1A Pending CN111580965A (zh) 2020-04-30 2020-04-30 数据请求的处理方法及系统

Country Status (1)

Country Link
CN (1) CN111580965A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416626A (zh) * 2020-12-02 2021-02-26 中国联合网络通信集团有限公司 一种数据处理方法和装置
CN112527433A (zh) * 2020-12-08 2021-03-19 平安科技(深圳)有限公司 页面弹窗控制方法、装置、计算机设备和存储介质
CN112711696A (zh) * 2020-12-30 2021-04-27 平安普惠企业管理有限公司 请求访问方法、装置、电子设备及存储介质
CN112925662A (zh) * 2021-03-25 2021-06-08 支付宝(杭州)信息技术有限公司 标识生成方法和装置
CN113051251A (zh) * 2021-03-29 2021-06-29 福建星瑞格软件有限公司 基于bloom filter的基线数据迁移的方法及装置
CN113792050A (zh) * 2021-09-15 2021-12-14 福建天晴数码有限公司 一种自定义hash防止缓存穿透的方法及系统
CN116595014A (zh) * 2023-07-18 2023-08-15 中孚信息股份有限公司 一种已读回执的存储系统、方法、装置及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018076291A1 (zh) * 2016-10-28 2018-05-03 美的智慧家居科技有限公司 权限令牌生成方法、系统及其设备
CN109766479A (zh) * 2019-01-24 2019-05-17 北京三快在线科技有限公司 数据处理方法、装置、电子设备及存储介质
CN110096899A (zh) * 2019-04-29 2019-08-06 腾讯科技(深圳)有限公司 一种数据查询方法及装置
WO2019200714A1 (zh) * 2018-04-17 2019-10-24 平安科技(深圳)有限公司 服务器连接方法、计算机可读存储介质、终端设备及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018076291A1 (zh) * 2016-10-28 2018-05-03 美的智慧家居科技有限公司 权限令牌生成方法、系统及其设备
WO2019200714A1 (zh) * 2018-04-17 2019-10-24 平安科技(深圳)有限公司 服务器连接方法、计算机可读存储介质、终端设备及装置
CN109766479A (zh) * 2019-01-24 2019-05-17 北京三快在线科技有限公司 数据处理方法、装置、电子设备及存储介质
CN110096899A (zh) * 2019-04-29 2019-08-06 腾讯科技(深圳)有限公司 一种数据查询方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
赵月爱;彭新光;: "异或和取模运算的负载均衡算法", 计算机工程与设计, no. 06 *
项军政;咸鹤群;田程亮;李敏;: "加密数据库关键词快速检索方法研究", 信息网络安全, no. 10 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416626A (zh) * 2020-12-02 2021-02-26 中国联合网络通信集团有限公司 一种数据处理方法和装置
CN112416626B (zh) * 2020-12-02 2023-06-06 中国联合网络通信集团有限公司 一种数据处理方法和装置
CN112527433A (zh) * 2020-12-08 2021-03-19 平安科技(深圳)有限公司 页面弹窗控制方法、装置、计算机设备和存储介质
CN112711696A (zh) * 2020-12-30 2021-04-27 平安普惠企业管理有限公司 请求访问方法、装置、电子设备及存储介质
CN112925662A (zh) * 2021-03-25 2021-06-08 支付宝(杭州)信息技术有限公司 标识生成方法和装置
CN112925662B (zh) * 2021-03-25 2024-02-27 支付宝(杭州)信息技术有限公司 标识生成方法和装置
CN113051251A (zh) * 2021-03-29 2021-06-29 福建星瑞格软件有限公司 基于bloom filter的基线数据迁移的方法及装置
CN113792050A (zh) * 2021-09-15 2021-12-14 福建天晴数码有限公司 一种自定义hash防止缓存穿透的方法及系统
CN116595014A (zh) * 2023-07-18 2023-08-15 中孚信息股份有限公司 一种已读回执的存储系统、方法、装置及可读存储介质
CN116595014B (zh) * 2023-07-18 2023-09-26 中孚信息股份有限公司 一种已读回执的存储系统、方法、装置及可读存储介质

Similar Documents

Publication Publication Date Title
CN111580965A (zh) 数据请求的处理方法及系统
CN109831487B (zh) 分片文件验证方法及终端设备
WO2021082757A1 (zh) 一种基于区块链系统的数据处理方法及装置
CN111177302B (zh) 业务单据处理方法、装置、计算机设备和存储介质
CN111400308B (zh) 缓存数据的处理方法、电子装置及可读存储介质
CN112579606A (zh) 工作流数据处理方法、装置、计算机设备及存储介质
CN112328641B (zh) 多维度数据聚合方法、装置及计算机设备
CN109815226B (zh) 基于区块链的数据存储方法、装置、设备和存储介质
CN112527433A (zh) 页面弹窗控制方法、装置、计算机设备和存储介质
CN110413711B (zh) 一种差异数据获取方法及其存储介质
CN112860737B (zh) 数据查询方法、装置、电子设备及可读存储介质
CN116578746A (zh) 对象去重方法及装置
CN104767761A (zh) 一种云存储平台访问控制方法及装置
CN113434906A (zh) 数据查询方法、装置、计算机设备及存储介质
CN111723077A (zh) 数据字典维护方法、装置及计算机设备
CN113590703A (zh) Es数据导入方法、装置、电子设备及可读存储介质
WO2022012162A1 (zh) 基于矩阵运算的数据加密方法、装置、电子设备及存储介质
CN111158606B (zh) 存储方法、装置、计算机设备和存储介质
CN105511814A (zh) 一种静态数据文件的存储方法
CN116842012A (zh) 一种Redis集群的分片存储方法、装置、设备及存储介质
CN110597466B (zh) 区块链节点的控制方法、装置、存储介质和计算机设备
CN112015797B (zh) 一种读取数据的方法及计算机设备
CN111984631A (zh) 生产数据迁移方法、装置、计算机设备及存储介质
CN113190554A (zh) 一种生成主键的方法和分布式系统
CN112001160A (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
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20240621