一种数据存储方法、调用方法、处理方法及装置制造方法及图纸

技术编号:38208331 阅读:12 留言:0更新日期:2023-07-21 16:57
本文提供了一种数据存储方法、调用方法、处理方法及装置,其中存储方法包括:预先设置包含设定数目元素的数组,所述元素依序编号,设置存储指针,所述存储指针指向所述数组中正在进行存储的当前元素;所述存储方法包括:接收待存储的当前数据,得到所述当前数据对应的顺序编码;计算所述当前数据的下一数据对应的顺序编码与所述设定数目的余数;判断所述数组中编号为余数的元素是否为空;若是,则将当前数据存储至所述存储指针所指向的当前元素中,存储指针移动至编号为余数的元素;若否,则开辟下一数组,标记所述存储指针所指向的当前元素,以表征已经完成对所述数组的数据存储。本文能够提高系统的数据处理能力,提高资源利用率。率。率。

【技术实现步骤摘要】
一种数据存储方法、调用方法、处理方法及装置


[0001]本专利技术涉及数据存储领域,特别地,涉及一种数据存储方法、调用方法和数据容器。

技术介绍

[0002]远程方法调用时,为了优化性能,异步是一种比较有效的方式,异步处理一定会存在一个中间容器来存储远程调用响应结果,消费方根据一定的策略从中间容器获取响应结果进行后续处理,常见的中间容器有数组或链表等,但是都面临着性能不高,扩展效率低等问题。
[0003]数组在数据到达一定规模后需要扩容和缩容,在高并发情况下消息很容易堆积,数组就不得不频繁的进行扩容,数组扩容也就意味着会有元素进行复制,如果元素较多很容易成为性能瓶颈。链表不用处理扩容和缩容的问题,链表的头尾插入和删除的时间复杂度都是O(1),性能也很好,但是链表的性能在实际机器上跑起来却不高,链表无法连续存储,所以就不能连续的命中缓存行,会频繁的使高速缓冲区的数据换入换出,所以实际运行起来的性能和期望的性能会有比较大的差异。
[0004]因此现在亟需一种数据存储方法,能够提高系统的数据处理能力,提高资源利用率。

技术实现思路

[0005]本文实施例的目的在于提供一种数据存储方法、调用方法和数据容器,以提高系统的数据处理能力,提高资源利用率。
[0006]为达到上述目的,一方面,本文实施例提供了一种数据存储方法,包括:预先设置包含设定数目元素的数组,所述元素依序编号,设置存储指针,所述存储指针指向所述数组中正在进行存储的当前元素;所述存储方法包括:
[0007]接收待存储的当前数据,得到所述当前数据对应的顺序编码;
[0008]计算所述当前数据的下一数据对应的顺序编码与所述设定数目的余数;
[0009]判断所述数组中编号为余数的元素是否为空;
[0010]若是,则将当前数据存储至所述存储指针所指向的当前元素中,存储指针移动至编号为余数的元素;
[0011]若否,则开辟下一数组,标记所述存储指针所指向的当前元素,以表征已经完成对所述数组的数据存储。
[0012]优选的,所述开辟下一数组,之后还包括:
[0013]将所述下一数组中的元素依序编号,所述下一数组中包含设定数目的元素;
[0014]判断所述下一数组中编号为余数的元素是否为空;
[0015]若是,则将当前数据存储至下一数组中与所述存储指针所指向的当前元素编号一致的元素中,存储指针移动至下一数组中编号为余数的元素。
[0016]优选的,数组中还设置有一记录元素;
[0017]当开辟下一数组后,将下一数组中编号最小的元素的地址存储至所述记录元素中。
[0018]另一方面,本文实施例提供了一种数据调用方法,包括:预先设置包含设定数目元素的数组和下一数组,所述数组和下一数组分别依序编号,设置调用指针,所述调用指针指向所述数组中正在进行调用的目标元素;所述调用方法包括:
[0019]判断所述调用指针所指向的目标元素是否被标记;
[0020]若是,则调用指针移动至下一数组中编号与所述目标元素一致的元素,取出所述调用指针所指向的元素中存储的数据;
[0021]若否,则取出所述调用指针所指向的目标元素中存储的数据;
[0022]所述调用指针移动至下一元素。
[0023]优选的,所述调用指针移动至下一元素,进一步包括:
[0024]将所述调用指针所指向的元素或目标元素中存储的数据作为当前数据;
[0025]计算所述当前数据的下一数据对应的顺序编码与所述设定数目的余数;
[0026]所述调用指针指向数组或下一数组中编号为余数的元素。
[0027]优选的,所述数组中还设置有一记录元素,所述记录元素中存储有下一数组中编号最小的元素的地址。
[0028]又一方面,本文实施例提供了一种数据处理方法,包括:预先设置包含设定数目元素的数组,所述元素依序编号,设置存储指针和调用指针,所述存储指针指向所述数组中正在进行存储的当前元素,所述调用指针指向所述数组中正在进行调用的目标元素;所述处理方法包括:
[0029]接收待存储的当前数据,得到所述当前数据对应的顺序编码;
[0030]计算所述当前数据的下一数据对应的顺序编码与所述设定数目的余数;
[0031]判断所述数组中编号为余数的元素是否为空;
[0032]若是,则将当前数据存储至所述存储指针所指向的当前元素中,存储指针移动至编号为余数的元素;
[0033]若否,则开辟下一数组,标记所述存储指针所指向的当前元素,以表征已经完成对所述数组的数据存储;
[0034]判断所述调用指针所指向的目标元素是否被标记;
[0035]若是,则调用指针移动至下一数组中编号与所述目标元素一致的元素,取出所述调用指针所指向的元素中存储的数据;
[0036]若否,则取出所述调用指针所指向的目标元素中存储的数据;
[0037]所述调用指针移动至下一元素。
[0038]另一方面,本文实施例提供了一种数据存储装置,包括:预先设置包含设定数目元素的数组,所述元素依序编号,设置存储指针,所述存储指针指向所述数组中正在进行存储的当前元素;所述存储装置包括:
[0039]接收模块,用于接收待存储的当前数据,得到所述当前数据对应的顺序编码;
[0040]计算模块,用于计算所述当前数据的下一数据对应的顺序编码与所述设定数目的余数;
[0041]第一判断模块,用于判断所述数组中编号为余数的元素是否为空;
[0042]若是,则将当前数据存储至所述存储指针所指向的当前元素中,存储指针移动至编号为余数的元素;
[0043]若否,则开辟下一数组,标记所述存储指针所指向的当前元素,以表征已经完成对所述数组的数据存储。
[0044]又一方面,本文实施例还提供了一种数据调用装置,包括:预先设置包含设定数目元素的数组和下一数组,所述数组和下一数组分别依序编号,设置调用指针,所述调用指针指向所述数组中正在进行调用的目标元素;所述调用装置包括:
[0045]第二判断模块,用于判断所述调用指针所指向的目标元素是否被标记;
[0046]若是,则调用指针移动至下一数组中编号与所述目标元素一致的元素,取出所述调用指针所指向的元素中存储的数据;
[0047]若否,则取出所述调用指针所指向的目标元素中存储的数据;
[0048]移动模块,用于所述调用指针移动至下一元素。
[0049]又一方面,本文实施例还提供了一种数据处理装置,包括:预先设置包含设定数目元素的数组,所述元素依序编号,设置存储指针和调用指针,所述存储指针指向所述数组中正在进行存储的当前元素,所述调用指针指向所述数组中正在进行调用的目标元素;所述处理装置包括:
[0050]接收模块,用于接收待存储的当前数据,得到所述当前数据对应的顺序编码;
[0051]计算模块,用于计算所述当前数据的下一数据对应的顺序编本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:预先设置包含设定数目元素的数组,所述元素依序编号,设置存储指针,所述存储指针指向所述数组中正在进行存储的当前元素;所述存储方法包括:接收待存储的当前数据,得到所述当前数据对应的顺序编码;计算所述当前数据的下一数据对应的顺序编码与所述设定数目的余数;判断所述数组中编号为余数的元素是否为空;若是,则将当前数据存储至所述存储指针所指向的当前元素中,存储指针移动至编号为余数的元素;若否,则开辟下一数组,标记所述存储指针所指向的当前元素,以表征已经完成对所述数组的数据存储。2.根据权利要求1所述的数据存储方法,其特征在于,所述开辟下一数组,之后还包括:将所述下一数组中的元素依序编号,所述下一数组中包含设定数目的元素;判断所述下一数组中编号为余数的元素是否为空;若是,则将当前数据存储至下一数组中与所述存储指针所指向的当前元素编号一致的元素中,存储指针移动至下一数组中编号为余数的元素。3.根据权利要求1所述的数据存储方法,其特征在于,数组中还设置有一记录元素;当开辟下一数组后,将下一数组中编号最小的元素的地址存储至所述记录元素中。4.一种数据调用方法,其特征在于,包括:预先设置包含设定数目元素的数组和下一数组,所述数组和下一数组分别依序编号,设置调用指针,所述调用指针指向所述数组中正在进行调用的目标元素;所述调用方法包括:判断所述调用指针所指向的目标元素是否被标记;若是,则调用指针移动至下一数组中编号与所述目标元素一致的元素,取出所述调用指针所指向的元素中存储的数据;若否,则取出所述调用指针所指向的目标元素中存储的数据;所述调用指针移动至下一元素。5.根据权利要求4所述的数据调用方法,其特征在于,所述调用指针移动至下一元素,进一步包括:将所述调用指针所指向的元素或目标元素中存储的数据作为当前数据;计算所述当前数据的下一数据对应的顺序编码与所述设定数目的余数;所述调用指针指向数组或下一数组中编号为余数的元素。6.根据权利要求4所述的数据调用方法,其特征在于,所述数组中还设置有一记录元素,所述记录元素中存储有下一数组中编号最小的元素的地址。7.一种数据处理方法,其特征在于,包括:预先设置包含设定数目元素的数组,所述元素依序编号,设置存储指针和调用指针,所述存储指针指向所述数组中正在进行存储的当前元素,所述调用指针指向所述数组中正在进行调用的目标元素;所述处理方法包括:接收待存储的当前数据,得到所述当前数据对应的顺序编码;计算所述当前数据的下一数据对应的顺序编码与所述设定数目的余数;判断所述数组中编号为余数的元素是否为空;若是,则将当前数据存储至所述存储指针所指向的当前元素中,存储指针移动至编号
为余数的元素;若否,则开辟下一数组,标记所述存储指针所指向的当前元素,以表征已经完成对所述数组的数据存储;判断所述调用指针所指向的目标元素是否被标记;若是,则调用指针移动至下一数组中...

【专利技术属性】
技术研发人员:李明孙炎森徐晓剑李春兰李晓巍赵云鹏
申请(专利权)人:中信银行股份有限公司
类型:发明
国别省市:

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

1