一种数据存储方法技术

技术编号:39765412 阅读:7 留言:0更新日期:2023-12-22 02:20
本申请涉及数据处理技术领域,尤其涉及一种数据存储方法

【技术实现步骤摘要】
一种数据存储方法、装置、电子设备及存储介质


[0001]本申请涉及数据处理
,尤其涉及一种数据存储方法

装置

电子设备及存储介质


技术介绍

[0002]随着企业业务的快速发展,为了应对大量复杂的业务和庞大的业务数据,越来越多的系统开始采用分布式架构

分布式架构是按照业务边界,将大型单体应用拆分成小型的,且可独立部署的服务单元,通过服务注册中心协同完成复杂的业务逻辑

在银行系统中,普遍采用分布式协调服务
zookeeper
作为服务注册中心

[0003]现有技术中,对服务注册中心的数据进行存储时,通常采用数据库,对服务注册中心的数据持久化存储,同时利用数据库自身的索引和缓存等功能,满足数据的查询等需求

[0004]然而,由于数据库不参与业务处理,数据的同步完全由服务注册中心来完成,因此数据库的利用率较低,数据库系统长期处于闲置状态

并且数据库系统可能由于第三方的原因导致整个数据库系统不可用而使服务注册中心的服务同样陷入风险,安全性不高,同时,数据库系统仍需要配备相应的运维人员,设备资源进行维护,造成资源浪费

[0005]因此,需要针对上述问题提出一种新的数据存储方法


技术实现思路

[0006]本申请实施例提供一种数据存储方法

装置

电子设备及存储介质,以提高数据存储的安全性

[0007]本申请实施例提供的具体技术方案如下:
[0008]第一方面,提供一种数据存储方法,包括:
[0009]接收针对服务注册中心的数据存储请求,获取服务注册中心对应的待存储信息集;
[0010]将待存储信息集中包含的各待存储服务信息,按照各待存储服务信息各自的待存储服务码,构建当前前缀树,存储各待存储服务信息,并将各待存储服务信息各自的待存储服务码和所属的服务组件单元,存储至倒排索引中,其中,各待存储服务信息是各业务操作的配置信息;
[0011]采用哈希表,对待存储信息集中包含的各待存储非服务信息进行存储

[0012]第二方面,提供一种数据存储装置,包括:
[0013]获取模块,用于接收针对服务注册中心的数据存储请求,获取服务注册中心对应的待存储信息集;
[0014]第一存储模块,用于将待存储信息集中包含的各待存储服务信息,按照各待存储服务信息各自的待存储服务码,构建当前前缀树,存储各待存储服务信息,并将各待存储服务信息各自的待存储服务码和所属的服务组件单元,存储至倒排索引中,其中,各待存储服务信息是各业务操作的配置信息;
[0015]第二存储模块,用于采用哈希表,对待存储信息集中包含的各待存储非服务信息进行存储

[0016]可选的,接收针对服务注册中心的数据存储请求,获取服务注册中心对应的待存储信息集时,获取模块还用于:
[0017]当首次对服务注册中心进行数据存储时,调用外部的表格,获得存储信息集;
[0018]当服务注册中心重启,且本地的序列化数据集的校验结果为通过时,将序列化数据集作为存储信息集,其中,序列化数据集为采用层次遍历,对历史前缀树进行序列化获得的,校验结果是基于更新日志中最后一次更新操作对应的操作数据,对序列化数据集进行校验获得的,更新日志记录了各历史更新操作各自对应的操作数据;
[0019]当服务注册中心重启,且校验结果为不通过时,从服务注册中心中读取历史信息,获得待存储信息集

[0020]可选的,将待存储信息集中包含的各待存储服务信息,按照各待存储服务信息各自的待存储服务码,构建当前前缀树,存储各待存储服务信息,并将各待存储服务信息各自的待存储服务码和所属的服务组件单元,存储至倒排索引中时,第一存储模块还用于:
[0021]按照各待存储服务信息各自的待存储服务码,构建当前前缀树,并分别将各待存储服务信息各自的待存储服务码和所属的服务组件单元建立关联,存储至倒排索引中;
[0022]针对各待存储服务信息中的每个待存储服务信息,分别执行以下操作:
[0023]在当前前缀树中,待存储服务信息的待存储服务码对应的叶子节点处存储待存储服务信息的内容数据,并使用关联指针将叶子节点指向相邻的至少一个叶子节点,以及在叶子节点处存储指向倒排索引中待存储服务码位置的位置指针,其中,叶子节点为没有子节点的节点;
[0024]将在当前前缀树中,待存储服务码对应的至少一个非叶子节点各自对应的计数器的累计计数值加
1。
[0025]可选的,将待存储信息集中包含的各待存储服务信息,按照各待存储服务信息各自的待存储服务码,构建当前前缀树,存储各待存储服务信息,并将各待存储服务信息各自的待存储服务码和所属的服务组件单元,存储至倒排索引中之后,装置还包括查询模块,查询模块用于:
[0026]接收服务信息查询请求,服务信息查询请求中携带了本次查询的查询类型和查询字符;
[0027]当查询类型为单个查询时,查询当前前缀树中与查询字符匹配的匹配叶子节点,并获得匹配叶子节点中存储的内容数据;
[0028]当查询类型为批量查询时,获取批量查询的查询区间,并基于查询字符和查询区间,查询当前前缀树中与查询字符和查询区间匹配的各匹配叶子节点,以及获得各匹配叶子节点中各自存储的内容数据,查询区间为:当前显示页面需要显示的各内容数据的数量区间

[0029]可选的,基于查询字符和查询区间,查询当前前缀树中与查询字符和查询区间匹配的各叶子节点时,查询模块还用于:
[0030]查询当前前缀树中与查询字符匹配的匹配非叶子节点,将匹配非叶子节点作为目标节点,并获得目标节点对应的计数器的目标计数值,其中,目标计数值表征存储在目标节
点下的各服务信息的总数量;
[0031]当查询区间的右边界值不大于目标计数值时,从目标节点下的第一个后继节点进行递归查找,获得与查询区间匹配的各匹配叶子节点;
[0032]当查询区间的左边界值大于目标计数值时,从目标节点的最左叶子节点向前进行遍历,并从目标节点的最右叶子节点向后进行遍历,获得与查询区间匹配的各匹配叶子节点

[0033]可选的,将待存储信息集中包含的各待存储服务信息,按照各待存储服务信息各自的待存储服务码,构建前缀树,存储各待存储服务信息,并将各待存储服务信息各自的待存储服务码和所属的服务组件单元,存储至倒排索引中之后,装置还包括更新模块,更新模块用于:
[0034]接收针对待更新服务信息的更新请求,将本次更新操作写入更新日志,其中,更新请求中携带了本次更新操作的更新类型;
[0035]根据更新类型,更新服务注册中心存储的待更新服务信息,并根据更新日志和更新类型,更新前缀树和倒排索引中存储的待更新服务信息本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据存储方法,其特征在于,包括:接收针对服务注册中心的数据存储请求,获取所述服务注册中心对应的待存储信息集;将所述待存储信息集中包含的各待存储服务信息,按照所述各待存储服务信息各自的待存储服务码,构建当前前缀树,存储所述各待存储服务信息,并将所述各待存储服务信息各自的待存储服务码和所属的服务组件单元,存储至倒排索引中,其中,所述各待存储服务信息是各业务操作的配置信息;采用哈希表,对所述待存储信息集中包含的各待存储非服务信息进行存储
。2.
如权利要求1所述的方法,其特征在于,所述接收针对服务注册中心的数据存储请求,获取所述服务注册中心对应的待存储信息集,包括:当首次对所述服务注册中心进行数据存储时,调用外部的表格,获得所述存储信息集;当所述服务注册中心重启,且本地的序列化数据集的校验结果为通过时,将所述序列化数据集作为所述存储信息集,其中,所述序列化数据集为采用层次遍历,对历史前缀树进行序列化获得的,所述校验结果是基于更新日志中最后一次更新操作对应的操作数据,对所述序列化数据集进行校验获得的,所述更新日志记录了各历史更新操作各自对应的操作数据;当所述服务注册中心重启,且所述校验结果为不通过时,从所述服务注册中心中读取历史信息,获得所述待存储信息集
。3.
如权利要求1所述的方法,其特征在于,所述将所述待存储信息集中包含的各待存储服务信息,按照所述各待存储服务信息各自的待存储服务码,构建当前前缀树,存储所述各待存储服务信息,并将所述各待存储服务信息各自的待存储服务码和所属的服务组件单元,存储至倒排索引中,包括:按照所述各待存储服务信息各自的待存储服务码,构建当前前缀树,并分别将所述各待存储服务信息各自的待存储服务码和所属的服务组件单元建立关联,存储至倒排索引中;针对所述各待存储服务信息中的每个待存储服务信息,分别执行以下操作:在所述当前前缀树中,所述待存储服务信息的待存储服务码对应的叶子节点处存储所述待存储服务信息的内容数据,并使用关联指针将所述叶子节点指向相邻的至少一个叶子节点,以及在所述叶子节点处存储指向所述倒排索引中所述待存储服务码位置的位置指针,其中,所述叶子节点为没有子节点的节点;将在所述当前前缀树中,所述待存储服务码对应的至少一个非叶子节点各自对应的计数器的累计计数值加
1。4.
如权利要求1所述的方法,其特征在于,所述将所述待存储信息集中包含的各待存储服务信息,按照所述各待存储服务信息各自的待存储服务码,构建当前前缀树,存储所述各待存储服务信息,并将所述各待存储服务信息各自的待存储服务码和所属的服务组件单元,存储至倒排索引中之后,还包括:接收服务信息查询请求,所述服务信息查询请求中携带了本次查询的查询类型和查询字符;当所述查询类型为单个查询时,查询所述当前前缀树中与所述查询字符匹配的匹配叶
子节点,并获得所述匹配叶子节点中存储的内容数据;当所述查询类型为批量查询时,获取所述批量查询的查询区间,并基于所述查询字符和所述查询区间,查询所述当前前缀树中与所述查询字符和所述查询区间匹配的各匹配叶子节点,以及获得所述各匹配叶子节点中各自存储的内容数据,所述查询区间为:当前显示页面需要显示的各内容数据的数量区间
。5.
如权利要求4所述的方法,其特征在于,所述基于所述查询字符和所述查询区间,查询所述当前前缀树中与所述查询字符和所述查询区间匹配的各叶子节点,包括:查询所述当前前缀树中与所...

【专利技术属性】
技术研发人员:崔璞文
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1