本发明专利技术涉及一种区块链数据上链方法,包括:获取客户端发送的数据上链请求,将待上链数据更新到内存数据库中,并向客户端发送数据上链受理反馈信息;按照预设的时间周期读取内存数据库,检测内存数据库中出现更新的数据,并将出现更新的数据按照数据更新时刻的先后顺序写入区块链。在进行数据上链时,并非直接将数据进行上链,而是先将待上链数据更新到预先构建的内存数据库中,然后按照预设的时间周期读取内存数据库,将出现更新的数据从内存数据库中写入区块链。该区块链数据上链方法能够降低数据上链失败的可能性,保证数据能够可靠稳定上链,进而提升区块链的处理效率。
A method of data linking in blockchain
【技术实现步骤摘要】
一种区块链数据上链方法
本专利技术涉及一种区块链数据上链方法。
技术介绍
随着互联网技术的发展,区块链由于具有去中心化、开放性、安全性、自治性等优点而被广泛应用于数据的存储和交互。在区块链领域中,数据上链过程为向区块链写入数据的过程。随着区块链对数据写入可靠性的要求越来越高,现有的区块链数据写入可靠性,即区块链数据上链可靠性越来越无法满足需求。
技术实现思路
本专利技术的目的在于提供一种区块链数据上链方法,用以解决现有的区块链数据上链的可靠性较低,无法满足需求的问题。为了解决上述问题,本专利技术采用以下技术方案:一种区块链数据上链方法,包括:获取客户端发送的数据上链请求,所述数据上链请求包括待上链数据;将所述待上链数据更新到预先构建的内存数据库中,并向所述客户端发送数据上链受理反馈信息;按照预设的时间周期读取所述内存数据库,检测所述内存数据库中出现更新的数据,并将所述出现更新的数据按照数据更新时刻的先后顺序写入区块链,其中,数据更新时刻越早,越先写入区块链。可选地,所述将所述待上链数据更新到预先构建的内存数据库中,包括:将所述待上链数据更新到预先构建的内存数据库中,并为内存数据库中每一个出现更新的数据标记时间戳,所述时间戳为对应的数据更新时刻。可选地,在将所述待上链数据更新到预先构建的内存数据库中之后,还包括:为所述待上链数据分配一个上链状态标记位,并将所述上链状态标记位初始化为第一数值;相应地,在将所述出现更新的数据按照数据更新时刻写入区块链之后,还包括:将所述上链状态标记位由所述第一数值变更为第二数值;所述第一数值不同于所述第二数值。可选地,在为所述待上链数据分配一个上链状态标记位之后,还包括:当接收到所述客户端发送的上链进度查询请求时,读取所述上链状态标记位;若读取到所述上链状态标记位为第一数值,则向所述客户端发送数据上链未完成的指示信息;若读取到所述上链状态标记位为第二数值,则向所述客户端发送数据上链已完成的指示信息。可选地,在将所述待上链数据更新到预先构建的内存数据库中之前,还包括:将所述内存数据库中与所述待上链数据对应的原始数据转存到预先构建的原始数据序列中;在将所述出现更新的数据按照数据更新时刻的先后顺序写入区块链之后,还包括:若所述出现更新的数据写入区块链失败,则读取所述原始数据序列,并将所述内存数据库中所述出现更新的数据还原为所述原始数据序列中记录的相应原始数据。本专利技术的有益效果为:在进行数据上链时,并非直接将数据进行上链,而是先将待上链数据更新到预先构建的内存数据库中,并告知客户端数据上链已受理,然后按照预设的时间周期读取内存数据库,检测内存数据库中出现更新的数据,并将出现更新的数据写入区块链,采用这种中间通过内存数据库进行转送的上链方式,相较于传统的直接进行数据上链的方式,数据上链可靠性得到很大的提高;而且,将出现更新的数据按照数据更新时刻的先后顺序写入区块链,数据更新时刻越早,越先写入区块链,通过这种写入方式能够进一步提升数据上链的可靠性。因此,该区块链数据上链方法能够降低数据上链失败的可能性,保证数据能够可靠稳定上链,进而提升区块链的处理效率。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍:图1是区块链数据上链方法的第一种实施例的流程示意图。具体实施方式实施例一:本实施例提供了一种区块链数据上链方法,如图1所示,包括:获取客户端发送的数据上链请求,所述数据上链请求包括待上链数据:本实施例中,通过服务器实现该区块链数据上链方法。当用户想要将数据上传至区块链时,可以操作客户端,客户端与服务器相连接,根据客户端向服务器发出一个数据上链请求,数据上链请求包括待上链数据。其中,客户端可以为手机、台式电脑、平板电脑、笔记本电脑等。客户端的数量根据实际应用场景进行确定,可以是一个客户端,也可以是多个客户端。将所述待上链数据更新到预先构建的内存数据库中,并向所述客户端发送数据上链受理反馈信息:服务器在接收到该数据上链请求之后,将相应的待上链数据更新到预先构建的内存数据库中。内存数据库的写入速度远远高于传统的磁盘数据库的写入速度,那么,将待上链数据更新至,即存入内存数据库能够有效提高存储效率,而且,即便上链数据被高频率的写入内存数据库时也不会对服务器性能造成影响。比如:待上链数据是一个数据序列的更新值,则服务器在获取到数据上链请求之后,会将该数据序列的原始值更新为该更新值。当设置多个客户端时,各个用户可以通过不同的客户端分别发出各个数据上链请求,服务器会将各自的待上链数据分别更新到内存数据库中,从而产生多个出现更新的数据。服务器在将待上链数据更新到内存数据库中之后,向客户端发送数据上链受理反馈信息,告知用户该数据上链请求已受理,此时待上链数据只是缓存于该内存数据库中,尚未上传至区块链。进一步地,为了明确内存数据库中每一个出现更新的数据的数据更新时刻,便于后期写入区块链中,将待上链数据更新到内存数据库中,并为内存数据库中每一个出现更新的数据标记时间戳,时间戳为对应的数据更新时刻。那么,每一个出现更新的数据均有对应的时间戳,以表示数据更新时刻。需要说明的是,对于某一个数据,可能出现不止一次的更新,那么,时间戳对应的数据更新时刻为最新一次的数据更新对应的数据更新时刻。按照预设的时间周期读取所述内存数据库,检测所述内存数据库中出现更新的数据,并将所述出现更新的数据按照数据更新时刻的先后顺序写入区块链,其中,数据更新时刻越早,越先写入区块链:服务器按照预设的时间周期读取内存数据库,时间周期根据实际应用需要进行具体设置,比如:10s。在时间周期的作用下服务器按照相应的时间间隔读取内存数据库。服务器检测内存数据库中出现更新的数据,并将出现更新的数据按照数据更新时刻的先后顺序写入区块链,其中,数据更新时刻越早,越先写入区块链,也就是说,先更新的数据,先写入区块链;后更新的数据,后写入区块链。比如:假设内存数据库中出现更新的数据有四个,第一个数据的数据更新时刻为T1,第二个数据的数据更新时刻为T2,第三个数据的数据更新时刻为T3,第四个数据的数据更新时刻为T4,T1早于T3,T3早于T4,T4早于T2,则第一个数据先写入区块链,接着,第三个数据写入区块链,然后,第四个数据写入区块链,最后,第二个数据写入区块链。实施例二:本实施例提供了一种区块链数据上链方法,包括:获取客户端发送的数据上链请求,所述数据上链请求包括待上链数据:该步骤的具体实现过程在实施例一中已给出了具体说明,不再赘述。将内存数据库中与待上链数据对应的原始数据转存到预先构建的原始数据序列中:服务器预先构建一个原始数据序列,将内存数据库中与待上链数据对应的原始数据转存到预先构本文档来自技高网...
【技术保护点】
1.一种区块链数据上链方法,其特征在于,包括:/n获取客户端发送的数据上链请求,所述数据上链请求包括待上链数据;/n将所述待上链数据更新到预先构建的内存数据库中,并向所述客户端发送数据上链受理反馈信息;/n按照预设的时间周期读取所述内存数据库,检测所述内存数据库中出现更新的数据,并将所述出现更新的数据按照数据更新时刻的先后顺序写入区块链,其中,数据更新时刻越早,越先写入区块链。/n
【技术特征摘要】
1.一种区块链数据上链方法,其特征在于,包括:
获取客户端发送的数据上链请求,所述数据上链请求包括待上链数据;
将所述待上链数据更新到预先构建的内存数据库中,并向所述客户端发送数据上链受理反馈信息;
按照预设的时间周期读取所述内存数据库,检测所述内存数据库中出现更新的数据,并将所述出现更新的数据按照数据更新时刻的先后顺序写入区块链,其中,数据更新时刻越早,越先写入区块链。
2.根据权利要求1所述的区块链数据上链方法,其特征在于,所述将所述待上链数据更新到预先构建的内存数据库中,包括:
将所述待上链数据更新到预先构建的内存数据库中,并为内存数据库中每一个出现更新的数据标记时间戳,所述时间戳为对应的数据更新时刻。
3.根据权利要求1所述的区块链数据上链方法,其特征在于,在将所述待上链数据更新到预先构建的内存数据库中之后,还包括:
为所述待上链数据分配一个上链状态标记位,并将所述上链状态标记位初始化为第一数值;
相应地,在将所述出现更新的数据按照数据更新时刻写入区块链之...
【专利技术属性】
技术研发人员:刘翱天,张辉,
申请(专利权)人:刘翱天,
类型:发明
国别省市:河南;41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。