CN108388613B - 一种缓存数据的更新方法 - Google Patents

一种缓存数据的更新方法 Download PDF

Info

Publication number
CN108388613B
CN108388613B CN201810129767.2A CN201810129767A CN108388613B CN 108388613 B CN108388613 B CN 108388613B CN 201810129767 A CN201810129767 A CN 201810129767A CN 108388613 B CN108388613 B CN 108388613B
Authority
CN
China
Prior art keywords
data
cache
time
updating
node
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
Application number
CN201810129767.2A
Other languages
English (en)
Other versions
CN108388613A (zh
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.)
Jjworld Beijing Network Technology Co ltd
Original Assignee
Jjworld Beijing Network Technology 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 Jjworld Beijing Network Technology Co ltd filed Critical Jjworld Beijing Network Technology Co ltd
Priority to CN201810129767.2A priority Critical patent/CN108388613B/zh
Publication of CN108388613A publication Critical patent/CN108388613A/zh
Application granted granted Critical
Publication of CN108388613B publication Critical patent/CN108388613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种缓存数据的更新方法,通过数据变化实时推送和数据版本校验技术,实现了缓存实时更新的问题,同时保证了缓存与外部数据源的数据一致性;从而克服了现有技术中缓存命中率较低,无法最大限度提高性能问题。

Description

一种缓存数据的更新方法
技术领域
本发明属于计算机网络技术领域,具体涉及一种缓存数据的更新方法。
背景技术
随着互联网技术的日益发展,缓存系统在解决高并发请求压力的问题上发挥着越来越重要的作用。然而随着前端数据展示需求的日趋复杂,缓存系统在如下场景面临问题:当请求缓存数据时,如果缓存数据在外部被更新,需要调用接口从外部数据源获取数据,并更新到缓存中。此过程降低了缓存的命中率,不能最大限度的提高缓存系统的性能。
现有技术中的缓存数据更新的方法,依靠被动更新的方式实现了缓存数据的更新:当请求的数据已存储在缓存中时,判读已存储的数据对应的外部数据源中的数据是否已更新,如未更新,直接返回该数据;如已更新,则调用接口从外部数据源获取对应数据,并更新到缓存中。现有技术的缺点在于,仅依靠被动更新的方式更新缓存数据,当外部数据源发送变化时,无法实时同步到缓存中,获取数据时有极大概率无法命中缓存,不能最大限度的提高缓存系统的性能。
发明内容
为克服上述现有技术中缓存命中率较低,无法最大限度提高性能问题,本发明实现了一种主动更新缓存数据的方法,通过数据变化实时推送和数据版本校验技术,实现了缓存实时更新的问题,同时保证了缓存与外部数据源的数据一致性。
本发明提供了一种缓存数据的更新方法。其特征在于,包含以下步骤:
S101:被更新的缓存数据推送到缓存系统;
S102:根据用户ID获取缓存节点;
S103:将推送数据转化为通用存储数据;
S104:将新数据发送到存储节点,并执行更新命令;
S105:判断更新结果;如果请求成功但写入缓存失败(版本比较后发现数据是老数据),则执行S106;如果该请求失败,执行S107;如果请求成功且写入缓存成功,则执行S108;
S106:记录后发先至,继续执行S108;
S107:更新重试,返回执行S102;如果请求失败,需要进行数据的更新重试;
S108:返回更新结果。
根据本发明的一个优选实施方式,推送来的被更新的缓存数据包括但不限于:用户ID、数据ID、数据修改时间、数据修改流水号、数据过期时间、数据类型、数据长度和数据值。
根据本发明的一个优选实施方式,推送来的缓存数据统一调用修改接口OnModify,所涉及的参数包括但不限于:用户ID和修改数据;
根据本发明的一个优选实施方式,现有缓存节点数组为Node[n],用户ID为u,通过哈希算法获得该用户数据所在的缓存节点node(u),具体为node(u)=Node[Hash(u)%n]。
根据本发明的一个优选实施方式,使用一致性哈希算法获取缓存节点;
具体流程如下:
为每个缓存节点生成一个0到4294967295之间的种子token,生成规则可以将节点的ip和端口进行随机哈希运算;
将缓存节点写入数组Node[n]并按照token进行排序;
查询节点时,先判断数据大小,如果数组大小为1,直接返回Node[1];否则,将用户ID进行哈希运算,生成一个整数,然后按照二分查找算法,找到匹配的缓存节点。
根据本发明的一个优选实施方式,其中使用二分查找算法具体步骤如下:
假设集合定义数组Array[n]按升序排列,数组初始低位下标low=0,数组初始高位下标high=n,则中位下标mid=(low+high)/2,中位记录为Array[mid];
查询时,设查询关键字为Key,将Array[mid]的关键字与Key比较;
如果两者相等,则查找成功;
否则继续执行查找操作;
如果Array[mid]大于Key,则high=mid;
否则low=mid;
重新计算mid=(low+high)/2,重复以上过程,直到找到满足条件的记录或最终未找到。
根据本发明的一个优选实施方式,将推送数据转化为存储数据的转化公式为:存储数据指针SaveDATAPoint=(推送数据指针PushDataPoint+sizeof(数据ID)大小)。
根据本发明的一个优选实施方式,网络字节顺序转化方式如下:按照内存的增长方向,高位数据存储于低位内存中。
根据本发明的一个优选实施方式,更新时,采用前8字节的循环比较方式:
首先尝试根据数据ID读取出已缓存的数据;
如果不存在,将保存标识save置为1;
如果存在,从头开始循环遍历新数据和已缓存数据的前8个字节,比较每个字节的大小;
如果已缓存数据的当前字节小于新数据的当前字节,将保存标识save置为1;
如果最终的保存标识save等于1,将新数据覆盖掉缓存中的数据,同时重置超时时间。
根据本发明的一个优选实施方式,重置超时时间时,根据数据特性通过如下方式计算超时时间:
若自然日超时,ExpireTime=time(Now)+24*3600-difftime(time(Now),mktime(today))+AddTime;
若自然周超时,ExpireTime=time(Now)+(7-weekday)24*3600-difftime(time(Now),mktime(today))+AddTime;
若非自然日、周超时,ExpreTime=time(Now)+CofingTime+AddTime;
其中,ExpireTime为计算后的超时时间,time(Now)为当前格林威治时间戳,difftime函数用于计算两个时间的时间差,difftime(time(Now),mktime(today))表示当前时间距离当天结束还有多少秒,weekday表示当前处于本周的第几天,AddTime表示额外的修正时间,CofingTime表示配置的固定超时时间,24*3600为一天的总秒数。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
图1示出了根据本发明的一个实施例的缓存数据更新方法。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的缓存数据的更新方法其具体实施方式、特征及其功效,详细说明如后。在下述说明中,不同的“一实施例”或“实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构、或特点可由任何合适形式组合。
本发明涉及的缩略语和关键术语定义如下:
Json:Json(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式。它采用完全独立于编程语言的文本格式来存储和表示数据。
XML:XML(Extensible Markup Language,可扩展标记语言)是标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
格式化复合数据:由多种类型的数据组成的自描述的数据集合。如由整数、字符串组成的json或xml格式的数据。
图1示出了根据本发明的一个具体实施方式的缓存数据的更新方法,包含以下步骤:
S101:被更新的缓存数据推送到缓存系统;
根据本发明的一个优选实施方式,推送来的被更新的缓存数据包括但不限于:用户ID、数据ID、数据修改时间、数据修改流水号、数据过期时间、数据类型、数据长度和数据值。
根据本发明的一个优选实施方式,推送来的缓存数据统一调用修改接口OnModify,所涉及的参数包括但不限于:用户ID和修改数据;
S102:根据用户ID获取缓存节点。
根据本发明的一个优选实施方式,现有缓存节点数组为Node[n],用户ID为u,则可通过哈希算法获得该用户数据所在的缓存节点node(u),具体为node(u)=Node[Hash(u)%n]。
根据本发明的一个优选实施方式,获取缓存节点还可以使用一致性哈希算法,具体流程如下:为每个缓存节点生成一个0到4294967295之间的种子token(令牌),生成规则可以将节点的ip和端口进行随机哈希运算;将缓存节点写入数组Node[n]并按照token进行排序;查询节点时,先判断数据大小,如果数组大小为1,直接返回Node[1];否则,将用户ID进行哈希运算,生成一个整数,然后按照二分查找算法,找到匹配的缓存节点。
根据本发明的一个优选实施方式,使用二分查找算法的算法描述如下:假设集合定义数组Array[n]按升序排列,数组初始低位下标low=0,数组初始高位下标high=n,则中位下标mid=(low+high)/2,中位记录为Array[mid];查询时,设查询关键字为Key,将Array[mid]的关键字与Key比较,如果两者相等,则查找成功;否则继续执行查找操作。如果Array[mid]大于Key,则high=mid,否则low=mid。重新计算mid=(low+high)/2,重复以上过程,直到找到满足条件的记录或最终未找到。
S103:将推送数据转化为通用存储数据;
由于存储数据无需保存数据ID,因此需要将推送数据转化为存储数据。根据本发明的一个优选实施方式,转化公式为:存储数据指针SaveDATAPoint=(推送数据指针PushDataPoint+sizeof(数据ID)大小)。
根据本发明的一个优选实施方式,为了便于后续的版本比较,需要将数据修改时间和数据修改流水号由本机字节序转化为网络字节序,并据此生成8字节64位的版本号。版本号的低4字节为网络字节序的修改时间,高4字节为网络字节序的修改流水号。
根据本发明的一个优选实施方式,网络字节顺序转化方式如下:按照内存的增长方向,高位数据存储于低位内存中。例如,数据data的主机字节序为[a,b,c,d],则数据data的网络字节序为[d,c,b,a]。举例,设推送数据的修改时间为256,主机字节序为[00,01,00,00],转换为网络字节序为[00,00,01,00],修改流水号为100,主机字节序为[64,00,00,00],转换为网络字节序为[00,00,00,64],则二者组成的数据版本号的内存布局网络字节序为[00,00,01,00,00,00,00,64]。
S104:将新数据发送到存储节点,并执行更新命令;
根据本发明的一个优选实施方式,更新时,采用前8字节的循环比较方式:首先尝试根据数据ID读取出已缓存的数据,如果不存在,将保存标识save置为1;如果存在,从头开始循环遍历新数据和已缓存数据的前8个字节,比较每个字节的大小;如果已缓存数据的当前字节小于新数据的当前字节,将保存标识save置为1;如果最终的保存标识save等于1,将新数据覆盖掉缓存中的数据,同时重置超时时间。根据本发明的一个优选实施方式,超时时间为7天。
基于前8字节的循环比较的原理是:转换为网络字节序的修改时间和修改流水号共占用8字节,64位,其中高32位为流水号,低32位为修改时间。基于字节循环比较时,首先比低32位较修改时间,如果修改时间不同,则可判断数据新旧。如果修改时间相同,则需要根据流水号再次判断新旧。
根据本发明的一个优选实施方式,重置超时时间时,根据数据特性通过如下算法计算超时时间:
若自然日超时,ExpireTime=time(Now)+24*3600-difftime(time(Now),mktime(today))+AddTime;
若自然周超时,ExpireTime=time(Now)+(7-weekday)24*3600-difftime(time(Now),mktime(today))+AddTime
若非自然日、周超时,ExpreTime=time(Now)+CofingTime+AddTime;
其中,ExpireTime为计算后的超时时间,time(Now)为当前格林威治时间戳,difftime函数用于计算两个时间的时间差,difftime(time(Now),mktime(today))表示当前时间距离当天结束还有多少秒,weekday表示当前处于本周的第几天,AddTime表示额外的修正时间,CofingTime表示配置的固定超时时间,24*3600为一天的总秒数。
S105:判断更新结果;如果请求成功但写入缓存失败(版本比较后发现数据是老数据),则执行S106;如果该请求失败,执行S107;如果请求成功且写入缓存成功,则执行S108;
S106:记录后发先至,继续执行S108;请求成功但写入缓存失败,则说明发生了后发先至现象,因此需要记录详细比较日志。
根据本发明的一个优选实施方式,首先需要根据数据ID从缓存中读取已缓存的数据,其次,将读取出的数据的修改时间和修改流水号转为本机字节序;最后,依次记录推送数据和缓存数据的数据ID、修改时间、流水号和数据值。根据本发明的一个优选实施方式,记录时,根据数据类型的不同,生成不同的日志内容。
S107:更新重试,返回执行S102;如果请求失败,需要进行数据的更新重试。
根据本发明的一个优选实施方式,重试的流程为:首先将数据写入重试队列,其次,依靠定时器重新执行S102。
S108:返回更新结果。
本发明通过数据变化实时推送和数据版本校验技术,解决了缓存实时更新的问题,同时保证了缓存与外部数据源的数据一致性。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (8)

1.一种缓存数据的更新方法,其特征在于,包含以下步骤:
S101:被更新的缓存数据推送到缓存系统;
S102:根据用户ID获取缓存节点;
S103:将推送数据转化为通用存储数据;
S104:将新数据发送到存储节点,并执行更新命令;
S105:判断更新结果;如果请求成功但写入缓存失败,则执行S106;如果该请求失败,执行S107;如果请求成功且写入缓存成功,则执行S108;
S106:记录后发先至,继续执行S108;
S107:更新重试,返回执行S102;如果请求失败,需要进行数据的更新重试;
S108:返回更新结果;
推送来的缓存数据统一调用修改接口OnModify,所涉及的参数包括但不限于:用户ID和修改数据;
现有缓存节点数组为Node[n],用户ID为u,通过哈希算法获得该用户数据所在的缓存节点node(u),具体为node(u)=Node[Hash(u)%n]。
2.根据权利要求1所述的缓存数据的更新方法,其特征在于:
推送来的被更新的缓存数据包括但不限于:用户ID、数据ID、数据修改时间、数据修改流水号、数据过期时间、数据类型、数据长度和数据值。
3.根据权利要求1所述的缓存数据的更新方法,其特征在于:
使用一致性哈希算法获取缓存节点;
具体流程如下:
为每个缓存节点生成一个0到4294967295之间的种子token,生成规则可以将节点的ip和端口进行随机哈希运算;
将缓存节点写入数组Node[n]并按照token进行排序;
查询节点时,先判断数据大小,如果数组大小为1,直接返回Node[1];否则,将用户ID进行哈希运算,生成一个整数,然后按照二分查找算法,找到匹配的缓存节点。
4.根据权利要求3所述的缓存数据的更新方法,其中使用二分查找算法具体步骤如下:
假设集合定义数组Array[n]按升序排列,数组初始低位下标low=0,数组初始高位下标high=n,则中位下标mid=(low+high)/2,中位记录为Array[mid];
查询时,设查询关键字为Key,将Array[mid]的关键字与Key比较;
如果两者相等,则查找成功;
否则继续执行查找操作;
如果Array[mid]大于Key,则high=mid;
否则low=mid;
重新计算mid=(low+high)/2,重复以上查找过程,直到找到满足条件的记录或最终未找到。
5.根据权利要求1所述的缓存数据的更新方法,其特征在于:
将推送数据转化为存储数据的转化公式为:存储数据指针SaveDATAPoint=(推送数据指针PushDataPoint+sizeof(数据ID)大小)。
6.根据权利要求1-5任一所述的缓存数据的更新方法,其特征在于:
网络字节顺序转化方式如下:按照内存的增长方向,高位数据存储于低位内存中。
7.根据权利要求1-5任一所述的缓存数据的更新方法,其特征在于:
更新时,采用前8字节的循环比较方式:
首先尝试根据数据ID读取出已缓存的数据;
如果不存在,将保存标识save置为1;
如果存在,从头开始循环遍历新数据和已缓存数据的前8个字节,比较每个字节的大小;
如果已缓存数据的当前字节小于新数据的当前字节,将保存标识save置为1;
如果最终的保存标识save等于1,将新数据覆盖掉缓存中的数据,同时重置超时时间。
8.根据权利要求7所述的缓存数据的更新方法,其特征在于:
重置超时时间时,根据数据特性通过如下方式计算超时时间:
若自然日超时,ExpireTime=time(Now)+24*3600-difftime(time(Now),mktime(today))+AddTime;
若自然周超时,ExpireTime=time(Now)+(7-weekday)24*3600-difftime(time(Now),mktime(today))+AddTime;
若非自然日、周超时,ExpreTime=time(Now)+CofingTime+AddTime;
其中,ExpireTime为计算后的超时时间,time(Now)为当前格林威治时间戳,difftime函数用于计算两个时间的时间差,difftime(time(Now),mktime(today))表示当前时间距离当天结束还有多少秒,weekday表示当前处于本周的第几天,AddTime表示额外的修正时间,CofingTime表示配置的固定超时时间,24*3600为一天的总秒数。
CN201810129767.2A 2018-02-08 2018-02-08 一种缓存数据的更新方法 Active CN108388613B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810129767.2A CN108388613B (zh) 2018-02-08 2018-02-08 一种缓存数据的更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810129767.2A CN108388613B (zh) 2018-02-08 2018-02-08 一种缓存数据的更新方法

Publications (2)

Publication Number Publication Date
CN108388613A CN108388613A (zh) 2018-08-10
CN108388613B true CN108388613B (zh) 2020-09-11

Family

ID=63074573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810129767.2A Active CN108388613B (zh) 2018-02-08 2018-02-08 一种缓存数据的更新方法

Country Status (1)

Country Link
CN (1) CN108388613B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388764A (zh) * 2018-09-11 2019-02-26 阿里巴巴集团控股有限公司 一种本地缓存的更新方法、装置、设备及系统
CN109656932B (zh) * 2018-11-12 2022-03-25 武汉达梦数据库股份有限公司 一种数据同步时利用更新游标的数据初始化方法
CN109660602B (zh) * 2018-11-28 2022-08-09 天津字节跳动科技有限公司 数据增量传输方法及装置
CN110166553A (zh) * 2019-05-22 2019-08-23 苏州浪潮智能科技有限公司 一种数据访问方法、装置、设备及可读存储介质
CN110601957B (zh) * 2019-09-06 2021-07-27 卓米私人有限公司 系统私信校验方法、装置、电子设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217565A (zh) * 2008-01-04 2008-07-09 华中科技大学 一种对等网络视频共享系统中分类检索的网络组织方法
CN101527736A (zh) * 2009-04-09 2009-09-09 中兴通讯股份有限公司 分布式文件系统中业务内容处理、更新方法与装置
CN102833293A (zh) * 2011-06-17 2012-12-19 腾讯科技(深圳)有限公司 P2sp网络中资源下载的方法及客户端
CN104657483A (zh) * 2015-02-28 2015-05-27 华为技术有限公司 处理事务的方法、处理节点、中心节点和集群
CN105138691A (zh) * 2015-09-18 2015-12-09 北京百度网讯科技有限公司 分析用户业务量的方法和系统
CN106446246A (zh) * 2016-10-12 2017-02-22 网宿科技股份有限公司 通信系统、缓存服务器、缓存内容推送、查找方法及系统
CN106844233A (zh) * 2016-12-07 2017-06-13 深圳市德传技术有限公司 一种基于哈希表的路由器运行数据缓存方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10891264B2 (en) * 2015-04-30 2021-01-12 Vmware, Inc. Distributed, scalable key-value store

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217565A (zh) * 2008-01-04 2008-07-09 华中科技大学 一种对等网络视频共享系统中分类检索的网络组织方法
CN101527736A (zh) * 2009-04-09 2009-09-09 中兴通讯股份有限公司 分布式文件系统中业务内容处理、更新方法与装置
CN102833293A (zh) * 2011-06-17 2012-12-19 腾讯科技(深圳)有限公司 P2sp网络中资源下载的方法及客户端
CN104657483A (zh) * 2015-02-28 2015-05-27 华为技术有限公司 处理事务的方法、处理节点、中心节点和集群
CN105138691A (zh) * 2015-09-18 2015-12-09 北京百度网讯科技有限公司 分析用户业务量的方法和系统
CN106446246A (zh) * 2016-10-12 2017-02-22 网宿科技股份有限公司 通信系统、缓存服务器、缓存内容推送、查找方法及系统
CN106844233A (zh) * 2016-12-07 2017-06-13 深圳市德传技术有限公司 一种基于哈希表的路由器运行数据缓存方法及系统

Also Published As

Publication number Publication date
CN108388613A (zh) 2018-08-10

Similar Documents

Publication Publication Date Title
CN108388613B (zh) 一种缓存数据的更新方法
US9678969B2 (en) Metadata updating method and apparatus based on columnar storage in distributed file system, and host
JP5407043B2 (ja) バイナリにエンコードされたxmlデータの効率的な区分的アップデート
WO2017059798A1 (zh) 序列化与反序列化的方法、装置、系统以及电子设备
US10140351B2 (en) Method and apparatus for processing database data in distributed database system
CN108334622B (zh) 一种获取格式化复合数据的方法
US20200272610A1 (en) Method, apparatus, device and medium for storing and querying data
US10671586B2 (en) Optimal sort key compression and index rebuilding
WO2022127114A1 (zh) 一种数据存储方法、装置、存储介质及服务器
US7404186B2 (en) Signature serialization
EP1755050A1 (en) A data processing system and method of storing a dataset having a hierarchical data structure in a database
US9065469B2 (en) Compression match enumeration
US9292549B2 (en) Method and system for index serialization
CN108647193B (zh) 一种可应用于分布式系统的唯一标识符生成方法及装置
CN111259003B (zh) 一种数据库建立方法及装置
US9129035B2 (en) Systems, methods, and apparatus for accessing object representations of data sets
JP2014502756A (ja) ツリー構造に基づくマスデータストレージの装置および方法
CN117349291A (zh) 一种数据库主键短id生成方法、电子设备和介质
CN111290714B (zh) 数据读取方法和装置
US11991290B2 (en) Associative hash tree
CN114218277A (zh) 一种关系数据库的高效查询方法和装置
US10402391B2 (en) Processing method, device and system for data of distributed storage system
KR101299555B1 (ko) 해시 함수 기반의 인덱스를 이용한 텍스트 검색 장치 및 방법
CN110909029A (zh) 基于Nosql实现缓存的方法及介质
CN111159146B (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
GR01 Patent grant
GR01 Patent grant