区块查询方法、装置、设备及存储介质与流程

文档序号:32412261发布日期:2022-12-02 21:38阅读:140来源:国知局
区块查询方法、装置、设备及存储介质与流程

1.本技术涉及区块链技术领域,尤其涉及一种区块查询方法、装置、设备及存储介质。


背景技术:

2.区块链是按时间顺序将区块以链条的方式组合成特定数据结构,并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账。
3.在实际应用中,通常需要获取一些指定的区块,用以统计分析。因此,如何从区块链中查询到指定的区块成为目前亟需解决的技术问题。


技术实现要素:

4.本技术提供一种区块查询方法、装置、设备及存储介质,用以从区块链中查询到指定的区块。本技术的技术方案如下:
5.根据本技术实施例的第一方面,提供一种区块查询方法,方法包括:获取查询请求;查询请求包括时间信息;查询请求用于查询时间信息对应的区块号;将时间信息转换为目标时间戳;从区块链上的指定区块范围中确定当前待查询区块,并将当前待查询区块的区块号输入预设的远程过程调用rpc接口,输出当前待查询区块的时间戳;在当前待查询区块的时间戳与目标时间戳相同的情况下,确定时间信息对应的区块号为当前待查询区块的区块号。
6.在一种可能的实施方式中,确定当前待查询区块,包括:获取起始区块的区块号以及结束区块的区块号;起始区块为区块链中首个区块;结束区块为区块链中最后一个区块;区块链中各区块的区块号按照各区块的连接顺序递增,区块链中任意两个相邻区块的区块号之间的差值为预设值;根据预设的查找算法、起始区块的区块号以及结束区块的区块号,确定当前待查询区块。
7.在一种可能的实施方式中,预设的查找算法为二分查找算法,根据预设的查找算法、起始区块的区块号以及结束区块的区块号,确定当前待查询区块,包括:根据预设的查找算法、起始区块的区块号以及结束区块的区块号,确定中间区块号,并将中间区块号对应的区块确定为当前待查询区块。
8.在一种可能的实施方式中,方法还包括:在当前待查询区块的时间戳与目标时间戳不同的情况下,确定下一待查询区块,并获取下一待查询区块的时间戳;在下一待查询区块的时间戳与目标时间戳相同的情况下,输出下一待查询区块的区块号。
9.在一种可能的实施方式中,在当前待查询区块的时间戳与目标时间戳不同的情况下,确定下一待查询区块,包括:在当前待查询区块的时间戳大于目标时间戳的情况下,将当前待查询区块作为结束区块,并根据结束区块的区块号、起始区块的区块号以及预设的查找算法,确定下一待查询区块;在当前待查询区块的时间戳小于目标时间戳的情况下,将当前待查询区块作为起始区块,并根据起始区块的区块号、结束区块的区块号以及预设的
查找算法,确定下一待查询区块。
10.在一种可能的实施方式中,在当前待查询区块的时间戳与目标时间戳不同的情况下,确定下一待查询区块,包括:在当前待查询区块的时间戳大于目标时间戳的情况下,将当前待查询区块的前一区块作为结束区块,并根据结束区块的区块号、起始区块的区块号以及预设的查找算法,确定下一待查询区块;在当前待查询区块的时间戳小于目标时间戳的情况下,将当前待查询区块的后一区块作为起始区块,并根据起始区块的区块号、结束区块的区块号以及预设的查找算法,确定下一待查询区块。
11.在一种可能的实施方式中,获取查询请求,包括:响应于用户的查询操作,获取查询请求;查询操作包括输入操作以及点击操作;输入操作用于输入时间信息;点击操作用于触发查询请求。
12.在一种可能的实施方式中,时间信息包括起始时间信息和结束时间信息,目标时间戳包括第一目标时间戳与第二目标时间戳,第一目标时间戳由起始时间信息转换得到,第二时间戳由结束时间信息转换得到;在当前待查询区块的时间戳与目标时间戳相同的情况下,确定时间信息对应的区块号为当前待查询区块的区块号,包括:在当前待查询区块的时间戳与第一目标时间戳相同的情况下,确定起始时间信息对应的区间号为当前待查询区块的区块号;或者,在当前待查询区块的时间戳与第二目标时间戳相同的情况下,确定结束时间信息对应的区间号为当前待查询区块的区块号;在确定时间信息对应的区块号为当前待查询区块的区块号之后,方法还包括:根据起始时间信息对应的区间号以及结束时间信息对应的区间号,得到目标区块号范围;目标区块号范围为起始时间信息和结束时间信息的时间段对应的区块号范围。
13.根据本技术实施例的第二方面,提供一种区块查询装置,装置包括获取单元、处理单元以及确定单元;获取单元,用于获取查询请求;查询请求包括时间信息;查询请求用于查询时间信息对应的区块号;处理单元,用于将时间信息转换为目标时间戳;确定单元,用于从区块链上的指定区块范围中确定当前待查询区块,并将当前待查询区块的区块号输入预设的远程过程调用rpc接口,输出当前待查询区块的时间戳;确定单元,还用于在当前待查询区块的时间戳与目标时间戳相同的情况下,确定时间信息对应的区块号为当前待查询区块的区块号。
14.在一种可能的实施方式中,确定单元具体用于:获取起始区块的区块号以及结束区块的区块号;起始区块为区块链中首个区块;结束区块为区块链中最后一个区块;区块链中各区块的区块号按照各区块的连接顺序递增,区块链中任意两个相邻区块的区块号之间的差值为预设值;根据预设的查找算法、起始区块的区块号以及结束区块的区块号,确定当前待查询区块。
15.在一种可能的实施方式中,预设的查找算法为二分查找算法,确定单元具体用于:根据预设的查找算法、起始区块的区块号以及结束区块的区块号,确定中间区块号,并将中间区块号对应的区块确定为当前待查询区块。
16.在一种可能的实施方式中,确定单元还用于:在当前待查询区块的时间戳与目标时间戳不同的情况下,确定下一待查询区块,并获取下一待查询区块的时间戳;输出单元,还用于在下一待查询区块的时间戳与目标时间戳相同的情况下,输出下一待查询区块的区块号。
17.在一种可能的实施方式中,确定单元具体用于:在当前待查询区块的时间戳大于目标时间戳的情况下,将当前待查询区块作为结束区块,并根据结束区块的区块号、起始区块的区块号以及预设的查找算法,确定下一待查询区块;在当前待查询区块的时间戳小于目标时间戳的情况下,将当前待查询区块作为起始区块,并根据起始区块的区块号、结束区块的区块号以及预设的查找算法,确定下一待查询区块。
18.在一种可能的实施方式中,获取单元具体用于:响应于用户的查询操作,获取查询请求;查询操作包括输入操作以及点击操作;输入操作用于输入时间信息;点击操作用于触发查询请求。
19.在一种可能的实施方式中,时间信息包括起始时间信息和结束时间信息,目标时间戳包括第一目标时间戳与第二目标时间戳,第一目标时间戳由起始时间信息转换得到,第二时间戳由结束时间信息转换得到;确定单元具体用于:在当前待查询区块的时间戳与第一目标时间戳相同的情况下,确定起始时间信息对应的区间号为当前待查询区块的区块号;或者,在当前待查询区块的时间戳与第二目标时间戳相同的情况下,确定结束时间信息对应的区间号为当前待查询区块的区块号;确定单元还用于:在确定时间信息对应的区块号为当前待查询区块的区块号之后,根据起始时间信息对应的区间号以及结束时间信息对应的区间号,得到目标区块号范围;目标区块号范围为起始时间信息和结束时间信息的时间段对应的区块号范围。
20.根据本技术实施例的第三方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现如上述第一方面的方法。
21.根据本技术实施例的第四方面,提供一种计算机可读存储介质,当计算机可读存储介质中存储的计算机执行指令由电子设备的处理器执行时,电子设备能够执行如上述第一方面的方法。
22.根据本技术实施例的第五方面,提供一种计算机程序产品,计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,电子设备执行如上述第一方面的方法。
23.本技术的实施例提供的第一方面的技术方案至少带来以下有益效果:区块查询装置获取包括时间信息的查询请求,进一步将时间信息转换为目标时间戳,以明确查询请求所指定的时间。区块查询装置确定当前待查询区块,并获取当前待查询区块的时间戳;在当前待查询区块的时间戳与目标时间戳相同的情况下,区块查询装置输出当前待查询区块的区块号。这样一来,可以查询到指定时间的区块,对后续统计分析带来极大便利。
24.需要说明的是,第二方面至第五方面中的任一种实现方式所带来的技术效果可参见第一方面中对应实现方式所带来的技术效果,此处不再赘述。
25.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
26.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理,并不构成对本技术的不当限定。
27.图1是根据一示例性实施例示出的一种区块链的结构示意图;
28.图2是根据一示例性实施例示出的一种区块链查询系统的结构示意图;
29.图3是根据一示例性实施例示出的另一种区块查询方法的流程图之一;
30.图4是根据一示例性实施例示出的通过rpc接口得到时间戳的流程示意图;
31.图5是根据一示例性实施例示出的另一种区块查询方法的流程图之二;
32.图6是根据一示例性实施例示出的区块链中各区块的连接关系;
33.图7是根据一示例性实施例示出的另一种区块查询方法的流程图之三;
34.图8是根据一示例性实施例示出的另一种区块查询方法的流程图之四;
35.图9是根据一示例性实施例示出的利用二分查找算法查询起始日期对应的区块号的流程图;
36.图10是根据一示例性实施例示出的一种区块查询装置的结构示意图;
37.图11是根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
38.为了使本领域普通人员更好地理解本技术的技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。
39.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
40.另外,在本公开实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b 可以表示a或b。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本公开实施例的描述中,“多个”是指两个或多于两个。
41.在对本技术实施例进行详细地解释说明之前,先对本技术实施例涉及到的一些相关技术术语以及相关技术进行介绍。
42.区块链:区块链是一个又一个区块组成的链条式数据结构。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。这些服务器在区块链系统中被称为节点,它们为整个区块链系统提供存储空间和算力支持。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。相比于传统的网络,区块链具有两大核心特点:一是数据难以篡改、二是去中心化。基于这两个特点,区块链所记录的信息更加真实可靠,可以帮助解决人们互不信任的问题。
43.时间戳(time stamp):时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。在区块链中,时间戳位于每个区块头信息中,用于记录区块产生的时间。
44.区块号:区块号又称区块身份标识,用于标识不同的区块。在区块链中,一个区块具有一个唯一的区块号,且各区块的区块号按照各区块的连接顺序依次递增。
45.为了方便理解,如图1所示,示出了区块链的结构,包括区块号为n-1的区块、区块号为n的区块以及区块号为n+1的区块。其中,区块n-1与区块n连接,区块n与区块 n+1连接。每个区块均包含区块头和区块体两部分。区块头存储了区块的验证信息,包括版本号、时间戳、目标哈希、随机数、父块哈希和马尔科夫(merkle)根,各字段功能如表一所示。区块头浓缩了区块链的数据信息,并可唯一标识出该区块在链中的位置,用于追溯和查找。
46.表一
47.字段名称功能描述大小版本号描述软件版本号,跟踪协议4b时间戳产生区块的时间4b目标哈希难度目标4b随机数问题的解4b父块哈希引用父块的哈希值32bmerkle根区块中交易哈希值的集合32b
48.区块链技术通常应用在金融领域,例如,将同一时间节点产生的多笔交易打包记录在一个区块里,即每个区块记录了不同时间节点的交易相关信息,且每个区块都具有各自的时间戳和区块号。
49.在实际应用中,通常会对交易信息进行统计分析,这就需要从区块链中获取一些指定日期的区块,才能得到统计分析所需要的交易信息。然而,区块链网络中包含数量巨大的交易信息,这些交易信息存储在区块链网络的各个区块中。用户若想找到自己需要的交易信息,需要从该区块链网络的创世区块遍历到该区块链网络的最后一个区块,查询时间长、效率低,导致用户查询体验差,区块链的应用受限。因此,如何从区块链中查询到指定的区块成为目前亟需解决的技术问题。
50.针对上述问题,本技术提供了一种区块查询方法,区块查询装置获取包括时间信息的查询请求,进一步将时间信息转换为目标时间戳,以明确查询请求所指定的时间。区块查询装置确定当前待查询区块,并获取所述当前待查询区块的时间戳;在所述当前待查询区块的时间戳与所述目标时间戳相同的情况下,区块查询装置输出所述当前待查询区块的区块号。这样一来,可以查询到指定时间的区块,对后续统计分析带来极大便利。
51.本技术实施例提供的区块查询方法可以适用于区块链查询系统,图2示出了该区块链查询系统的一种结构示意图。如图2所示,区块链查询系统10包括区块查询装置11以及服务器12。其中,区块查询装置11与服务器12连接。区块查询装置11与服务器12之间可以采用有线方式连接,也可以采用无线方式连接,本发明实施例对此不作限定。另一些实施例中,区块查询装置11也可以集成在服务器12中,该区块查询方法由服务器12 来执行,本技术不予限定。
52.区块查询装置11用于获取查询请求,还用于将时间信息转换为目标时间戳。区块查询装置11还用于确定当前待查询区块,并获取当前待查询区块的时间戳。区块查询装置 11还用于在当前待查询区块的时间戳与目标时间戳相同的情况下,输出当前待查询区块的区块号。
53.服务器12用于存储区块链,该区块链包括多个区块,该区块链的结构可以参考图1。服务器12可以为任意一个金融领域的服务器,例如银行服务器,或者,服务器12也可以为
由多台服务器组成的服务器集群,本技术对此不做限定。
54.此外,需要说明的是,本技术所涉及的区块链信息(包括但不限于区块号、时间戳、其它区块链信息等),均为经用户授权或者经过各方充分授权的信息。
55.图3是根据一些示例性实施例示出的一种区块查询方法的流程示意图。在一些实施例中,上述区块查询方法可以应用到如图1所示的区块查询装置,也可以应用到其他类似设备。
56.如图3所示,本公开实施例提供的区块查询方法,包括下述s201-s205。
57.s201、区块查询装置获取查询请求。
58.其中,查询请求包括时间信息;查询请求用于查询时间信息对应的区块号。
59.作为一种可能的实现方式,区块查询装置响应于用户的查询操作,获取查询请求。
60.具体的,查询操作包括输入操作以及点击操作;输入操作用于输入时间信息;点击操作用于触发查询请求。即用户通过输入操作输入时间信息,并通过点击操作促使区块查询装置生成包括输入的时间信息的查询请求,进一步的,区块查询装置获取该查询请求。
61.需要说明的,时间信息为用户根据实际需求设置的,时间信息可以为一个时间点,也可以为一个时间段。例如,用户需要查询一定日期范围的区块,则时间信息包括起始日期和结束日期。
62.示例性的,用户在区块查询装置中输入起始日期和结束日期,并点击确认查询,进一步的,区块查询装置获取包括起始日期和结束日期的查询请求。
63.s202、区块查询装置将时间信息转换为目标时间戳。
64.作为一种可能的实现方式,区块查询装置根据预设的时间转换函数,将时间信息转换为目标时间戳。
65.需要说明的,时间转换函数为运维人员预先在区块查询装置中设置的。例如,时间转换函数可以为postgresql函数。
66.示例性的,区块查询装置通过postgresql函数将日期转换为时间戳包括,区块查询装置在postgresql{select extract(epoch from cast(

2021-12-02 08:00:00’astimestamp))}函数中输入日期,即2021-12-02 08:00:00。进一步的,postgresql输出时间戳1638403200。
67.可以理解的,由于区块链是通过时间戳来反映区块产生的时间的,为了能够顺利查询到指定日期的区块,区块查询装置需要将用户输入的起始日期和结束日期分别转换为对应的目标时间戳。
68.s203、区块查询装置从区块链上的指定区块范围中确定当前待查询区块。
69.需要说明的,指定区块范围由运维人员预先在区块查询装置中设置,该范围可以为服务器中所存储的全部区块链,也可以为部分区块链,本技术对此不作限定。
70.作为一种可能的实现方式,区块查询装置将服务器中的预设区块确定为当前待查询区块。
71.示例性的,区块查询装置将服务器中的位于区块链首位的区块确定为当前待查询区块。
72.又示例性的,区块查询装置将服务器中的位于区块链中间位置的区块确定为当前待查询区块。
s203,具体包括下述s2031-s2032:
84.s2031、区块查询装置获取起始区块的区块号以及结束区块的区块号。
85.其中,起始区块为区块链中首个区块;结束区块为区块链中最后一个区块;区块链中各区块的区块号按照各区块的连接顺序递增,区块链中任意两个相邻区块的区块号之间的差值为预设值。
86.示例性的,如图6所示,示出了区块链中各区块的连接关系。该区块链由n+1个区块构成,其中,n+1个区块按照生成时间的先后顺序依次连接,首个区块为区块0,第二个区块为区块1,
……
,最后一个区块为区块n。区块查询装置将该区块链中首个区块作为起始区块,并获取起始区块的区块号(即区块0);区块查询装置将该区块链中最后一个区块作为结束区块,并获取结束区块的区块号(即区块n)。
87.s2032、区块查询装置根据预设的查找算法、起始区块的区块号以及结束区块的区块号,确定当前待查询区块。
88.作为一种可能的实现方式,区块查询装置将起始区块的区块号以及结束区块的区块号,代入预设的查找算法,计算得到当前待查询区块的区块号,以确定当前待查询区块。
89.在一些实施例中,预设的查找算法为二分查找算法。区块查询装置根据二分查找算法,计算出中间区块号,并将中间区块号对应的区块确定为当前待查询区块。
90.示例性的,起始区块的区块号为0,结束区块的区块号为n,则区块查询装置根据二分算法,计算得到的中间区块号为int(0+n)/2,int表示取整算符,即在分母为单数的情况下,二分查找算法会根据计算结果向左或向右取整。
91.在一种设计中,如图7所示,本技术实施例提供的区块查询方法,还包括下述s206
‑ꢀ
s207。
92.s206、在当前待查询区块的时间戳与目标时间戳不同的情况下,区块查询装置确定下一待查询区块,并获取下一待查询区块的时间戳。
93.作为一种可能的实现方式,区块查询装置将当前待查询区块的时间戳与目标时间戳进行比较,判断当前待查询区块的时间戳与目标时间戳是否相同。在当前待查询区块的时间戳与目标时间戳不同的情况下,区块查询装置确定下一待查询区块,并获取下一待查询区块的时间戳。
94.s207、在下一待查询区块的时间戳与目标时间戳相同的情况下,区块查询装置输出下一待查询区块的区块号。
95.此步骤的具体实施方式可以参考上述s205,此处不再赘述。不同之处在于,将s205 中的当前待查询区块替换为下一待查询区块即可。
96.可以理解的,若当前待查询区块的时间戳与目标时间戳不同,区块查询装置将确定下一待查询区块,并判断下一待查询区块的时间戳与目标时间戳是否相同,若相同,区块查询装置则输出下一待查询区块的区块号,若不同,区块查询装置则再次确定新的待查询区块,重复上述过程,直到查询到与目标时间戳相同的区块为止。若区块链中不存在与目标时间戳相同的区块,区块查询装置最终输出预设值(例如,区块查询装置输出错误码-1)。
97.在一种设计中,如图8所示,为了确定下一待查询区块,本技术实施例提供的上述 s206,具体包括下述s2061-s2062:
98.s2061、在当前待查询区块的时间戳大于目标时间戳的情况下,区块查询装置将当
前待查询区块作为结束区块,并根据结束区块的区块号、起始区块的区块号以及预设的查找算法,确定下一待查询区块。
99.作为一种可能的实现方式,区块查询装置将下一待查询区块的时间戳与目标时间戳进行比较,若当前待查询区块的时间戳大于目标时间戳(即当前待查询区块的时间戳所代表的时间晚于目标时间戳所代表的时间),区块查询装置则将当前待查询区块作为结束区块,并根据结束区块的区块号、起始区块的区块号以及预设的查找算法,确定下一待查询区块。
100.此步骤的具体实施方式,可以参考上述s2032,此处不再赘述。不同之处在于,将s2032 中的结束区块替换为当前待查询区块即可。
101.s2062、在当前待查询区块的时间戳小于目标时间戳的情况下,区块查询装置将当前待查询区块作为起始区块,并根据起始区块的区块号、结束区块的区块号以及预设的查找算法,确定下一待查询区块。
102.作为一种可能的实现方式,区块查询装置将下一待查询区块的时间戳与目标时间戳进行比较,若当前待查询区块的时间戳小于目标时间戳,区块查询装置则将当前待查询区块作为起始区块,并根据起始区块的区块号、结束区块的区块号以及预设的查找算法,确定下一待查询区块。
103.此步骤的具体实施方式,可以参考上述s2032,此处不再赘述。不同之处在于,将s2032 中的起始区块替换为当前待查询区块即可。
104.可选的,在当前待查询区块的时间戳大于目标时间戳的情况下,区块查询装置还可以将当前待查询区块的前一区块作为结束区块,并根据结束区块的区块号、起始区块的区块号以及预设的查找算法,确定下一待查询区块。在当前待查询区块的时间戳小于目标时间戳的情况下,区块查询装置将当前待查询区块的后一区块作为起始区块,并根据起始区块的区块号、结束区块的区块号以及预设的查找算法,确定下一待查询区块。
105.示例性的,如图9所示,示出了本技术实施例利用二分查找算法查询起始日期对应的区块号的流程图。具体的,区块查询装置确定二分查找算法的起始区块号start_block_id 和结束区块号end_block_id,以及要查找的时间戳need_find_ts(即起始日期对应的时间戳)。区块查询装置将二分查找算法的查找下限区块号low设置为start_block_id,将二分查找算法的查找上限区块号high设置为end_block_id,循环条件则为low是否小于或者等于high。如果满足循环条件,区块查询装置计算中间区块的区块号mid=(low+ high)/2,再计算对应的区块时间戳mid_ts=get_block_ts(mid),其中函数 get_block_ts的输入是区块号,输出是对应的时间戳。若mid_ts与need_find_ts相同,那么整个二分查找算法结束,返回区块号mid。若mid_ts大于need_find_ts,区块查询装置将high修改为high=mid

1,重新执行循环体;若mid_ts小于need_find_ts,区块查询装置将low修改为low=mid+1,重新执行循环体;重复上述过程,直到循环体条件不满足,区块查询装置若判断low》end_block_id或者high《low_block_id,则返回错误码-1,否则返回low,即区块查询装置将low作为起始日期对应的区块号。
106.上述主要从方法的角度对本技术实施例提供的方案进行了介绍。为了实现上述功能,跨境支付装置或电子设备包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步
骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
107.本技术实施例可以根据上述方法,示例性的对跨境支付装置或电子设备进行功能模块的划分,例如,跨境支付装置或电子设备可以包括对应各个功能划分的各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
108.例如,本技术实施例还提供一种区块查询装置。
109.图10是根据一示例性实施例示出的一种区块查询装置框图。参照图10,该区块查询装置30包括获取单元301、处理单元302以及确定单元303。
110.获取单元301,用于获取查询请求;查询请求包括时间信息;查询请求用于查询时间信息对应的区块号;处理单元302,用于将时间信息转换为目标时间戳;确定单元303,用于从区块链上的指定区块范围中确定当前待查询区块,并将当前待查询区块的区块号输入预设的远程过程调用rpc接口,输出当前待查询区块的时间戳;确定单元303,还用于在当前待查询区块的时间戳与目标时间戳相同的情况下,确定时间信息对应的区块号为当前待查询区块的区块号。
111.在一种可能的实施方式中,确定单元303具体用于:获取起始区块的区块号以及结束区块的区块号;起始区块为区块链中首个区块;结束区块为区块链中最后一个区块;区块链中各区块的区块号按照各区块的连接顺序递增,区块链中任意两个相邻区块的区块号之间的差值为预设值;根据预设的查找算法、起始区块的区块号以及结束区块的区块号,确定当前待查询区块。
112.在一种可能的实施方式中,预设的查找算法为二分查找算法,确定单元303具体用于:根据预设的查找算法、起始区块的区块号以及结束区块的区块号,确定中间区块号,并将中间区块号对应的区块确定为当前待查询区块。
113.在一种可能的实施方式中,确定单元303还用于:在当前待查询区块的时间戳与目标时间戳不同的情况下,确定下一待查询区块,并获取下一待查询区块的时间戳;输出单元,还用于在下一待查询区块的时间戳与目标时间戳相同的情况下,输出下一待查询区块的区块号。
114.在一种可能的实施方式中,确定单元303具体用于:在当前待查询区块的时间戳大于目标时间戳的情况下,将当前待查询区块作为结束区块,并根据结束区块的区块号、起始区块的区块号以及预设的查找算法,确定下一待查询区块;在当前待查询区块的时间戳小于目标时间戳的情况下,将当前待查询区块作为起始区块,并根据起始区块的区块号、结束区块的区块号以及预设的查找算法,确定下一待查询区块。
115.在一种可能的实施方式中,获取单元301具体用于:响应于用户的查询操作,获取查询请求;查询操作包括输入操作以及点击操作;输入操作用于输入时间信息;点击操作用于触发查询请求。
116.在一种可能的实施方式中,时间信息包括起始时间信息和结束时间信息,目标时
间戳包括第一目标时间戳与第二目标时间戳,第一目标时间戳由起始时间信息转换得到,第二时间戳由结束时间信息转换得到;确定单元303具体用于:在当前待查询区块的时间戳与第一目标时间戳相同的情况下,确定起始时间信息对应的区间号为当前待查询区块的区块号;或者,在当前待查询区块的时间戳与第二目标时间戳相同的情况下,确定结束时间信息对应的区间号为当前待查询区块的区块号;确定单元303还用于:在确定时间信息对应的区块号为当前待查询区块的区块号之后,根据起始时间信息对应的区间号以及结束时间信息对应的区间号,得到目标区块号范围;目标区块号范围为起始时间信息和结束时间信息的时间段对应的区块号范围。
117.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
118.图11是根据一示例性实施例示出的一种电子设备的框图。如图11所示,电子设备 40包括但不限于:处理器401和存储器402。
119.其中,上述的存储器402,用于存储上述处理器401的可执行指令。可以理解的是,上述处理器401被配置为执行指令,以实现上述实施例中的区块查询方法。
120.需要说明的是,本领域技术人员可以理解,图11中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图11所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
121.处理器401是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器 402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器401可包括一个或多个处理单元;可选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以集成到处理器401中。
122.存储器402可用于存储软件程序以及各种数据。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能模块所需的应用程序等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
123.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器402,上述指令可由电子设备40的处理器401执行以实现上述实施例中的区块查询方法。
124.在实际实现时,获取单元301、处理单元302、确定单元303的处理功能均可以由图 11中的处理器401调用存储器402中存储的计算机程序实现。其具体的执行过程可参考上实施例中的区块查询方法部分的描述,这里不再赘述。
125.可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存储存储器(random access memory,ram)、cd-rom、磁带、软盘和光数据存储设备等。
126.在示例性实施例中,本技术实施例还提供了一种包括一条或多条指令的计算机程序产品,该一条或多条指令可以由电子设备40的处理器401执行以完成上述实施例中的区块查询方法。
127.需要说明的是,上述计算机可读存储介质中的指令或计算机程序产品中的一条或多条指令被电子设备40的处理器401执行时实现上述区块查询方法实施例的各个过程,且能达到与上述区块查询方法相同的技术效果,为避免重复,这里不再赘述。
128.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全分类部或者部分功能。
129.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
130.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全分类部单元来实现本实施例方案的目的。
131.另外,在本技术各个实施例中的各功能单元可以集成在一个处理器中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
132.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全分类部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例方法的全分类部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
133.以上,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1