CN110222085B - 一种存证数据的处理方法、装置及存储介质 - Google Patents

一种存证数据的处理方法、装置及存储介质 Download PDF

Info

Publication number
CN110222085B
CN110222085B CN201910377109.XA CN201910377109A CN110222085B CN 110222085 B CN110222085 B CN 110222085B CN 201910377109 A CN201910377109 A CN 201910377109A CN 110222085 B CN110222085 B CN 110222085B
Authority
CN
China
Prior art keywords
data
storage
evidence
request
storing data
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
CN201910377109.XA
Other languages
English (en)
Other versions
CN110222085A (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910377109.XA priority Critical patent/CN110222085B/zh
Publication of CN110222085A publication Critical patent/CN110222085A/zh
Application granted granted Critical
Publication of CN110222085B publication Critical patent/CN110222085B/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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • 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
    • 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/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Abstract

本发明提供了一种存证数据的处理方法、装置及存储介质,该方法包括:获取业务请求;在所述业务请求为存证请求的情况下,获取所述存证请求对应的存证数据;向所述区块链发送所述存证数据;在所述存证数据存储异常的情况下,向所述区块链发送针对所述存证数据存储状态的查询请求;所述存证数据存储异常,包括:所述区块链返回所述存证数据存储失败的存储状态,或,在第一预设时段内未接收到所述区块链返回的针对所述存证数据的存储状态;在第二预设时段内,接收到所述区块链针对所述查询请求返回存储成功的存储状态的情况下,确定所述存证数据已完成存储操作。本发明避免了假性失败情况下,重复存储上述存证数据,减少了存证操作的复杂性。

Description

一种存证数据的处理方法、装置及存储介质
技术领域
本发明属于区块链技术领域,特别是涉及一种存证数据的处理方法、装置及存储介质。
背景技术
区块链技术是一种按时间顺序记录的、具有不可篡改特性和去中心化特性的分布式账本技术。由于不可篡改的特性等,区块链技术在存证数据管理方面应用广泛。
现有技术中,在接收到存证数据后,区块链通常对上述存证数据进行存储,并返回针对该存证数据的存储状态,以告知上述存证数据是否存储成功。在上述存证数据存储状态为失败或长时间未接收到存储状态的情况下,继续重复上述操作,直至上述存证数据的存储状态为存储成功。
但是,现有技术中各个区块链网络或节点的性能(硬件及软件)有一定差异,当出现存储失败或长时间未接收到存储状态的情况时,可能是区块链已成功存储上述存证数据,但由于在不同性能的区块链网络或节点间的数据操作不够稳定而产生的假性失败,导致上述存证数据在存储成功的情况下,还重复存储,增加了存证操作的复杂性,并增加了区块链网络的负担。
发明内容
有鉴于此,本发明提供一种存证数据的处理方法、装置及存储介质,以解决或者至少部分解决现有技术中存在的存证数据存储过程中假性失败导致的存储复杂的问题。
依据本发明的第一方面,提供了一种存证数据的处理方法,应用于服务端,所述服务端与提供存证服务的区块链进行通信,所述方法包括:
获取业务请求;
在所述业务请求为存证请求的情况下,获取所述存证请求对应的存证数据;
向所述区块链发送所述存证数据;
在所述存证数据存储异常的情况下,向所述区块链发送针对所述存证数据存储状态的查询请求;所述存证数据存储异常,包括:所述区块链返回所述存证数据存储失败的存储状态,或,在第一预设时段内未接收到所述区块链返回的针对所述存证数据的存储状态;
在第二预设时段内,接收到所述区块链针对所述查询请求返回存储成功的存储状态的情况下,确定所述存证数据已完成存储操作。
可选的,所述获取所述存证请求对应的存证数据之后,还包括:
在所述业务请求为查证请求的情况下,获取所述查证请求对应的查询标识;
从存证数据库中,获取所述查询标识对应的存证数据;
输出所述查询标识对应的存证数据;
其中,所述存证数据与对应的查询标识为预先存储至所述存证数据库的,所述查询标识为预先为所述存证数据配置的。
可选的,所述获取业务请求之后,还包括:
获取所述业务请求对应的身份信息;
验证所述身份信息;
在所述身份信息验证通过之后,对所述业务请求进行解析,以获取所述业务请求对应的业务类型;所述业务类型包括:存证请求或查证请求。
可选的,所述获取所述业务请求对应的业务类型之后,还包括:获取所述身份信息对应的权限信息;
所述向所述区块链发送所述存证数据,包括:在所述权限信息指示所述业务请求的发起方具有存证权限的情况下,向所述区块链发送所述存证数据。
可选的,所述在所述权限信息指示所述业务请求的发起方具有存证权限的情况下,向所述区块链发送所述存证数据,包括:
获取所述业务请求在第三预设时段内的重复发送次数;
在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数的情况下,向所述区块链发送所述存证数据。
可选的,所述在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数的情况下,向所述区块链发送所述存证数据,包括:
检测所述存证数据的安全性,得到所述存证数据的安全参数;
在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数,且所述存证数据的安全参数指示所述存证数据是安全的情况下,向所述区块链发送所述存证数据。
可选的,所述获取所述存证请求对应的存证数据之后,还包括:将所述存证数据存储至缓存数据库;
所述向所述区块链发送所述存证数据,包括:从所述缓存数据库中获取所述存证数据,并将所述存证数据发送至所述区块链;
在接收到所述区块链返回的存证数据存储成功的存储状态之后,还包括:在所述缓存数据库中,删除所述存证数据。
可选的,所述在所述存证数据存储异常的情况下,向所述区块链发送针对所述存证数据存储状态的查询请求之前,还包括:在所述缓存数据库中记录所述存证数据的操作日志;
所述在所述存证数据存储异常的情况下,向所述区块链发送针对所述存证数据存储状态的查询请求,包括:
在所述存证数据存储异常的情况下,根据所述操作日志,生成针对所述存证数据存储状态的查询请求;
重复执行向所述区块链发送针对所述存证数据存储状态的查询请求的步骤,直至重复执行次数达到预设阈值;
在所述重复执行次数达到所述预设阈值且所述存证数据存储异常的情况下,确定所述存证数据存储失败。
可选的,所述确定所述存证数据存储失败之后,还包括:
从所述缓存数据库中获取所述存证数据,并将所述存证数据发送至所述区块链,以再次进行存储。依据本发明的第二方面,提供了一种存证数据的处理装置,应用于服务端,所述服务端与提供存证服务的区块链进行通信,所述装置包括:
业务请求获取模块,用于获取业务请求;
存证数据获取模块,用于在所述业务请求为存证请求的情况下,获取所述存证请求对应的存证数据;
存证数据发送模块,用于向所述区块链发送所述存证数据;
查询请求发送模块,用于在所述存证数据存储异常的情况下,向所述区块链发送针对所述存证数据存储状态的查询请求;所述存证数据存储异常,包括:所述区块链返回所述存证数据存储失败的存储状态,或,在第一预设时段内未接收到所述区块链返回的针对所述存证数据的存储状态;
第一确定模块,用于在第二预设时段内,接收到所述区块链针对所述查询请求返回存储成功的存储状态的情况下,确定所述存证数据已完成存储操作。
可选的,所述装置还包括:
查询标识获取模块,用于在所述业务请求为查证请求的情况下,获取所述查证请求对应的查询标识;
存证数据确定模块,用于从存证数据库中,获取所述查询标识对应的存证数据;
存证数据输出模块,用于输出所述查询标识对应的存证数据;
其中,所述存证数据与对应的查询标识为预先存储至所述存证数据库的,所述查询标识为预先为所述存证数据配置的。
可选的,所述装置还包括:
身份信息获取模块,用于获取所述业务请求对应的身份信息;
身份信息验证模块,用于验证所述身份信息;
解析模块,用于在所述身份信息验证通过之后,对所述业务请求进行解析,以获取所述业务请求对应的业务类型;所述业务类型包括:存证请求或查证请求。
可选的,所述装置还包括:权限信息获取模块,用于获取所述身份信息对应的权限信息;
所述存证数据发送模块,具体用于:
在所述权限信息指示所述业务请求的发起方具有存证权限的情况下,向所述区块链发送所述存证数据。
可选的,所述存证数据发送模块,具体用于:
获取所述业务请求在第三预设时段内的重复发送次数;
在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数的情况下,向所述区块链发送所述存证数据。
可选的,所述存证数据发送模块,具体用于:
检测所述存证数据的安全性,得到所述存证数据的安全参数;
在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数,且所述存证数据的安全参数指示所述存证数据是安全的情况下,向所述区块链发送所述存证数据。
可选的,所述装置还包括:
缓存模块,用于将所述存证数据存储至缓存数据库;
所述存证数据发送模块,具体用于:
从所述缓存数据库中获取所述存证数据,并将所述存证数据发送至所述区块链;
删除模块,用于在所述缓存数据库中,删除所述存证数据。
可选的,所述装置还包括:记录模块和第二确定模块;
其中,所述记录模块,用于在所述缓存数据库中记录所述存证数据的操作日志;
所述查询请求发送模块,包括:查询请求生成单元和查询请求发送单元;
其中,所述查询请求生成单元,用于在所述存证数据存储异常的情况下,根据所述操作日志,生成针对所述存证数据存储状态的查询请求;
所述查询请求发送单元,用于重复执行向所述区块链发送针对所述存证数据存储状态的查询请求的步骤,直至重复执行次数达到预设阈值;
所述第二确定模块,用于在所述重复执行次数达到所述预设阈值且所述存证数据存储异常的情况下,确定所述存证数据存储失败。
可选的,所述装置还包括:
再次存储模块,用于从所述缓存数据库中获取所述存证数据,并将所述存证数据发送至所述区块链,以再次进行存储。依据本发明的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的存证数据的处理方法的步骤。
根据本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上任一所述的存证数据的处理方法的步骤。
针对在先技术,本发明具备如下优点:
本发明中,在区块链返回存证数据存储失败,或,在第一预设时段内未接收到区块链返回的针对上述存证数据的存储状态的情况下,为了避免已存储成功,却返回存储失败或没有接收到存储状态的假性失败导致的上述存证数据重复存储的问题,服务端向区块链发送针对上述存证数据存储状态的查询请求,在第二预设时段内,接收到区块链针对上述查询请求返回的存储成功的存储状态的情况下,确定上述存证数据已完成存储操作,从而在一定程度上避免了假性失败情况下,重复存储上述存证数据的问题,减少了存证操作的复杂性,并降低了区块链网络的负担。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例提供的一种存证数据的处理方法的步骤流程图;
图2是本发明实施例提供的又一种存证数据的处理方法的步骤流程图;
图3是本发明实施例提供的一种删除存证数据的示意图;
图4是本发明实施例提供的一种存证数据的处理装置的框图;
图5是本发明实施例提供的又一种存证数据的处理装置的框图;
图6是本发明实施例提供的另一种存证数据的处理装置的框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1是本发明实施例提供的一种存证数据的处理方法的步骤流程图,如图1所示,应用于服务端,该服务端与提供存证服务的区块链进行通信,该方法可以包括:
步骤101,获取业务请求。
在本发明实施例中,用户可以向服务端发送业务请求,该业务请求可以为存证请求或查证请求等。存证请求主要用于通过服务端向区块链中存储存证数据等。查证请求主要用于通过服务端查询存证数据等,在本发明实施例中,对此不作具体限定。
步骤102,在所述业务请求为存证请求的情况下,获取所述存证请求对应的存证数据。
在本发明实施例中,上述存证数据可以包括:文学、艺术、科学作品等创作的著作权或版权相关信息,或证券流通交易凭证信息等。在本发明实施例中,对此不作具体限定。例如,存证数据可以为:电影A的版权信息等。
在本发明实施例中,存证请求主要用于通过服务端向区块链中存储存证数据等。该存证请求中可以包括存证数据,在上述业务请求为存证请求的情况下,可以从上述存证请求中获取到对应的存证数据。
具体的,可以通过对应的解析规则,解析上述存证请求,以从上述存证请求中获取对应的存证数据。
步骤103,向所述区块链发送所述存证数据。
在本发明实施例中,区块链也被称之为分布式账本,是一种互联网数据库技术,其特点是去中心化、公开透明。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
区块链通过哈希算法对一个区块中的信息进行加密,并把信息压缩成由一串数字和字母组成的散列字符串。区块链的哈希值能够唯一而准确地标识一个区块,区块链中任意节点通过简单的哈希计算都可以获得这个区块的哈希值,计算出的哈希值没有变化也就意味着区块中的信息没有被篡改。
区块链可以包括公有链和私有链。公有链是指任何人都可读取、任何人都能发送数据且数据能获得有效确认,任何人都能参与共识过程的区块链;共识过程决定哪个区块可被添加到区块链中,同时明确当前状态。私有链是指其写入权限仅在一个组织手里的区块链,目的是对读取权限或者对外开放权限进行限制。私有链有如下几个特点:交易速度非常快,私有链中少量的节点具有很高的信任度,并不需要每个节点都来验证一个数据。因此,私有链的交易速度比公有链快很多;私有链为隐私提供更好的保障私有链的数据不会被公开,不能被拥有网络连接的所有人获得;私有链交易成本大幅降低甚至为零私有链上可以进行完全免费或者至少说是非常廉价的交易,如果一个实体机构控制和处理所有的交易,它就不再需要为工作收取费用;私有链有助于保护其基本的产品不被破坏,运营商、银行和传统的金融机构使用私有链可以保证它们的既有利益,以至原有的生态体系不被破坏。通过私有链的技术,可以实现任何运营商可以自行监控鉴权审批用户是否有接入资格等。
在本发明实施例中,区块链通常可以为一种去中心化的数据库,其可以通过将加密数据按照时间顺序叠加生成持久的不可修改的数据记录,并存储。该区块链可以包括多个区块链节点,各个区块链节点可以根据一定的智能合约进行数据交互等。该智能合约可以为一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议等,智能合约可以为区块链节点中执行特定功能的计算机程序等。该智能合约可以记录并共享数据等,使得存储在区块链中任一节点的数据被共享到区块链的所有节点,进而其它节点均能获取相应的数据内容。同时,存入区块链中的数据通常无法被篡改。
在本发明实施例中,正是由于区块链的上述结构或特性等,保证了区块链上存储数据具有不可篡改的特性,服务端可以将上述存证数据发送至区块链,由区块链对上存证数据进行存储,以保证存证数据的不可篡改。
步骤104,在所述存证数据存储异常的情况下,向所述区块链发送针对所述存证数据存储状态的查询请求;所述存证数据存储异常,包括:所述区块链返回所述存证数据存储失败的存储状态,或,在第一预设时段内未接收到所述区块链返回的针对所述存证数据的存储状态。
在本发明实施例中,该第一预设时段可以根据实际需要进行确定等,如,可以根据区块链的存储速度、反馈速度、存证数据的大小等确定,在本发明实施例中,对此不作具体限定。在本发明实施例中,区块链接收到服务端发送上述存证数据后,对上述存证数据进行存储,在区块链向服务端返回上述存证数据存储失败的存储状态,可以认为存证数据存储异常。或,在服务端向区块链发送存证数据的同时,开始计时,以该存证数据的发送时刻为起点,计时时长为该第一预设时段,从计时开始至计时结束对应的第一预设时段内服务端未收到区块链返回的针对上述存证数据的存储状态,可以认为存证数据存储异常。
在本发明实施例中,在上述存证数据存储异常的情况下,说明存证数据在区块链中可能没有成功存储,或者,存证数据在区块链中已经存储成功,但是由于区块链网络或节点间通信不稳定等原因,导致,返回存储失败的存储状态,或,在第一预设时段内没有接收到存储状态。为了进一步确定,存证数据在区块链中是否存储成功,可以向区块链发送针对上述存证数据存储状态的查询请求。
在本发明实施例中,针对上述存证数据存储状态的查询请求主要用于向查询上述存证数据在区块链中是否存储成功。
具体的,在上述存证数据存储异常的情况下,服务端可以先生成针对上述存证数据存储状态的查询请求,该查询请求可以携带有该存证数据的标识信息等,然后,将上述查询请求发送至区块链,以进一步确认区块链是否成功存储上述存证数据。在本发明实施例中,对此不作具体限定。
步骤105,在第二预设时段内,接收到所述区块链针对所述查询请求返回存储成功的存储状态的情况下,确定所述存证数据已完成存储操作。
在本发明实施例中,上述第二预设时段,可以根据实际需要进行设定,在本发明实施例中,对此不作具体限定。例如,可以根据区块链的反馈速度等进行确定。在本发明实施例中,可以在服务端向区块链发送查询请求的同时,开始计时,以该查询请求的发送时刻为起点,计时时长为该第二预设时段,从计时开始至计时结束对应的第二预设时段内,服务端接收到上述区块链针对上述查询请求返回存储成功的存储状态的情况下,说明,区块链已成功存储上述存证数据,在前出现的存证数据存储异常只是假性失败,即,区块链中已成功存储上述存证数据。此种情况下,排除了假性失败的可能,确定上述存证数据已完成存储操作,针对该存证数据就无需重复存储,进而从一定程度上可以避免,区块链已成功存储上述存证数据,但是由于区块链节点之间通信的不稳定性等导致的假性失败,避免了在假性失败的情况下,重复存储上述存证数据,减少了存证操作的复杂性,并降低了区块链网络的负担。
本发明实施例包括以下有益效果:
本发明中,在区块链返回存证数据存储失败,或,在第一预设时段内未接收到区块链返回的针对上述存证数据的存储状态的情况下,为了避免已存储成功,却返回存储失败或没有接收到存储状态的假性失败导致的上述存证数据重复存储的问题,服务端向区块链发送针对上述存证数据存储状态的查询请求,在第二预设时段内,接收到区块链针对上述查询请求返回的存储成功的存储状态的情况下,确定上述存证数据已完成存储操作,从而在一定程度上避免了假性失败情况下,重复存储上述存证数据的问题,减少了存证操作的复杂性,并降低了区块链网络的负担。
图2是本发明实施例提供的又一种存证数据的处理方法的步骤流程图,如图2所示,应用于服务端,该服务端与提供存在服务器的区块链进行通信。该方法可以包括:
步骤201,获取业务请求。
在本发明实施例中,步骤201可以参照上述步骤101,为了避免重复此处不再赘述。
步骤202,获取所述业务请求对应的身份信息。
在本发明实施例中,上述业务请求通常由用户发送给服务端,该业务请求对应的身份信息,上述身份信息主要用于区分不同的用户等。上述业务请求对应的身份信息可以为该业务请求对应的用户在服务端设置的账号信息和密码信息等。
在本发明实施例中,该业务请求可以包括身份信息等,或者,该业务请求可以指示身份信息等。进而服务端根据上述业务请求即可以获取业务请求对应的身份信息。在本发明实施例中,对此不作具体限定。
步骤203,验证所述身份信息。
在本发明实施例中,用户可以在服务端进行注册或设置等,服务端可以存储用户设置的身份信息,如,账号信息和对应的密码信息等,服务端将基于上述业务请求获取的该业务请求对应的身份信息,与自身存储的身份信息进行比对,若两者一致,则可以认为上述业务请求对应的身份信息验证通过;若两者不一致,则可以认为上述业务请求对应的身份信息验证不通过。
步骤204,在所述身份信息验证通过之后,对所述业务请求进行解析,以获取所述业务请求对应的业务类型;所述业务类型包括:存证请求或查证请求。
在本发明实施例中,上述身份信息验证通过表明上述业务请求对应的业务为合法用户,则,可以对上述业务请求进行解析,以获取上述业务请求对应的业务类型。该业务类型可以包括:存证请求或查证请求。存证请求主要用于通过服务端向区块链中存储存证数据。查证请求主要用于通过服务端查询存证数据。
具体的,上述业务请求可以设置有业务类型标识等,或,上述业务请求能够指示业务请求对应的业务类型,上述业务类型标识用于区分该业务请求的类型为查证请求还是存证请求等。通过与上述业务类型标识的设置方式对应的解析规则,解析上述业务请求,获取上述业务类型标识等,进而获取到业务请求对应的业务类型。在本发明实施例中,对此不作具体限定。
步骤205,获取所述身份信息对应的权限信息。
具体的,为了进一步增加存证操作的安全性等,可以为各个用户设置对应的权限信息,根据相应的权限为各个用户提供相应的存证服务。上述权限信息可以包括:存证权限、查证权限、存证和查证权限等。存证权限可以指示用户具有向区块链存储存证数据的权限,查证权限可以指示用户具有查询存证数据的权限,存证和查证权限可以指示用户既有存储存证数据的权限也具有查询存证数据的权限。在本发明实施例中,对此不作具体限定。
在业务请求对应的身份信息验证通过后,可以进一步获取身份信息对应的权限信息。
步骤206,在所述业务请求为存证请求的情况下,获取所述存证请求对应的存证数据。
在本发明实施例中,步骤206可以参照上述步骤102,为了避免重复,此处不再赘述。
在本发明实施例中,可选的,在上述步骤206之后,还可以包括:将所述存证数据存储至缓存数据库。具体的,上述缓存数据库可以为集中式数据库,或者分布式数据库等,对此不作具体限定。在业务请求为存证请求的情况下,获取存证请求对应的存在数据之后,可以将上述存证数据存储至缓存数据库中,后续在上述存证数据在区块链中存储失败或存储异常的情况下,无需用户重新发送包括上述存证数据的存证请求,服务端可以直接从上述缓存数据库中获取上述存证数据,并发送至区块链,以再次在区块链中进行存储,无需用户重新发送包括上述存证数据的存证请求,减少了用户的重复操作;同时,相对于由用户重新发送存证请求,解析重新发送的存证请求以获取存证数据而言,从缓存数据库中直接获取存证数据至少减少了解析的步骤,进而步骤少,用时短,能够提升存证数据再次存储的效率。
步骤207,在所述权限信息指示所述业务请求的发起方具有存证权限的情况下,向所述区块链发送所述存证数据。
在本发明实施例中,在上述权限信息指示上述业务请求的发起方具有存证权限的情况下,向上述区块链发送上述存证数据。进而可以避免没有存证权限的用户或发起方,向区块链存储存证数据。
在本发明实施例中,可选的,所述在所述权限信息指示所述业务请求的发起方具有存证权限的情况下,向所述区块链发送所述存证数据,可以包括:
步骤A1:获取所述业务请求在第三预设时段内的重复发送次数。
步骤A2:在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数的情况下,向所述区块链发送所述存证数据。
具体的,上述第三预设时段、预设次数可以根据实际需要进行设定,如,可以根据发起方的重要程度、区块链的容量等,确定上述第三预设时段和预设次数,在本发明实施例中,对此不作具体限定。
在本发明实施例中,在上述权限信息指示上述业务请求的发起方具有存证权限的情况下,为了避免相同的业务数据重复操作,浪费资源等,可以获取上述业务请求在第三预设时段内的重复发送次数。具体的,服务端在第一次接收到上述业务请求的同时,进行计时并计数为1,以计时时刻为起始时刻,在第三预设时段内,服务端每接收到一次该业务请求,则计数加1,得到业务请求在第三预设时段内的重复发送次数,在权限信息指示业务请求发起方具有存证权限且重复发送次数小于或等于预设次数的情况下,可以向上述区块链发送上述存证数据,不仅能够避免没有存证权限的发起方向区块链存储存证数据,还能够避免针对相同的存证数据重复存储,浪费资源等。
在本发明实施例中,可选的,上述步骤A2:在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数的情况下,向所述区块链发送所述存证数据,可以包括:
步骤A21:检测所述存证数据的安全性,得到所述存证数据的安全参数。
步骤A22:在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数,且所述存证数据的安全参数指示所述存证数据是安全的情况下,向所述区块链发送所述存证数据。
具体的,为了保证存储至区块链中的存证数据的安全性,或,为了避免危险的存证数据威胁区块链的安全,可以检测上述存证数据的安全性或合法性,具体的,可以设置安全阈值范围或特定格式等,确定上述存证数据是否位于上述安全阈值范围内,或者,确定上述存证数据的格式是否符合上述特定格式等,进而确定上述存证数据的安全参数。上述安全参数可以包括:安全或危险等。
例如,根据设定的安全阈值范围和特定格式,若上述存证数据的取值位于上述安全阈值范围之外,或者,上述存证数据的格式与上述特定格式不符,可以将上述存证数据的安全参数设置为危险。
在上述权限信息指示业务请求的发起方具有存在权限且重复发送次数小于或等于预设次数,且存证数据的安全参数指示存证数据是安全的情况下,可以向区块链发送上述存证数据,不仅能够避免没有存证权限的发起方向区块链存储存证数据,还能够避免针对相同的存证数据重复存储,浪费资源等,同时,还可以避免危险的存证数据威胁区块链的安全。
在本发明实施例中,可选的,上述服务端可以设置有接入网关等,通过上述接入网关获取业务请求对应的身份信息、验证身份信息、获取身份信息对应的权限信息,获取业务请求在第三预设时段内的重复发送次数、检测存证数据的安全性等,在本发明实施例中,对此不作具体限定。
在本发明实施例中,上述服务端还可以由多个子服务端组成,在接收到上述业务请求后,服务端相应的负载管理可以获取各个子服务端当前的负载情况,服务端相应的负载管理可以根据各个子服务端当前的负载情况等,确定将上述业务请求分配给负载较轻的子服务端执行,以均衡各个子服务端的负载情况。在本发明实施例中,对此不作具体限定。
在本发明实施例中,可选的,所述向所述区块链发送所述存证数据,可以包括:从所述缓存数据库中获取所述存证数据,并将所述存证数据发送至所述区块链。
具体的,在服务端获取上述存证请求对应的存证数据后,可以将上存证数据存储至上述缓存数据库中,从上述缓存数据库中获取上述存证数据,将上述存证数据发送至上述区块链,进而在区块链未成功存储上述存证数据的情况下,缓存数据库中还保存有上述存证数据。
步骤208,在所述缓存数据库中记录所述存证数据的操作日志。
在本发明实施例中,可以在上述缓存数据库中记录上述存证数据的操作日志。上述存证数据的操作日志可以为何时向区块链发送上述存证数据等,或者,还可以为何时向区块链的那个区块发送至上述存证数据等。上述操作日志中还可以记录有存证数据的标识信息等,存证数据的标识信息可以用于区分不同的存证数据等。具体的,可以将上述存证数据的操作日志写入上述缓存数据库中。
步骤209,在所述存证数据存储异常的情况下,根据所述操作日志,生成针对所述存证数据存储状态的查询请求;所述存证数据存储异常,包括:所述区块链返回所述存证数据存储失败的存储状态,或,在第一预设时段内未接收到所述区块链返回的针对所述存证数据的存储状态。
在本发明示例中,在上述存证数据存储异常的情况下,可以根据上述操作日志,生成针对上述存证数据存储状态的查询请求。
具体的,存证数据存储异常可以参照上述步骤104中的相关记载,在上述存证数据存储异常的情况下,可以根据上述操作日志中记录的存证数据的标识信息等,生成针对上述存证数据存储状态的查询请求。该存证数据存储状态的查询请求可以包括有存证数据的标识信息等。例如,该存证数据存储状态的查询请求可以为:存证数据的标识信息。
步骤210,重复执行向所述区块链发送针对所述存证数据存储状态的查询请求的步骤,直至重复执行次数达到预设阈值。
在本发明实施例中,上述预设阈值可以根据实际需要等进行设定。如,上述预设阈值可以根据发起方或用户的要求、区块链的性能等确定上述预设阈值。
在本发明实施例中,在上述存证数据存储异常的情况下,为了避免区块链已成功存储上述存证数据,但该存证数据存储异常的假性失败,可以重复向区块链发送上述针对存证数据存储状态的查询请求,直到重复次数达到上述预设阈值。
在本发明实施例中,区块链收到一次查询请求,区块链通常需要返回一次该存证数据的存储状态。通过多次发送查询请求,可以从一定程度上,避免区块链之间通信不稳定导致的假性失败。
步骤211,在第二预设时段内,接收到所述区块链针对所述查询请求返回存储成功的存储状态的情况下,确定所述存证数据已完成存储操作。
在本发明实施例中,步骤211可以参照上述步骤105,为了避免重复,此处不再赘述。
步骤212,在接收到所述区块链返回的存证数据存储成功的存储状态之后,在所述缓存数据库中,删除所述存证数据。
在本发明实施例中,在接收到区块链返回的存证数据存储成功的存储状态之后,说明上述存证数据已经在上述区块链中成功存储,可以在上述缓存数据库中删除上述存证数据,进而可以避免已经存储成功的存证数据占用内存。
如图3所示,图3是本发明实施例提供的一种删除存证数据的示意图,图3中服务端中的缓存数据库中存储有存证数据,在接收到区块链返回的:创建证书-0S2X1存证数据存储成功的存储状态之后,在缓存数据库中,删除创建证书-0S2X1,进而可以避免已经存储成功的存证数据占用内存。
在本发明实施例中,在上述存证数据存储异常的情况下,为了便于后续再次存储,可以在上述缓存数据库中保留对应的存证数据。
步骤213,在所述重复执行次数达到所述预设阈值且所述存证数据存储异常的情况下,确定所述存证数据存储失败。
在本发明实施例中,在重复执行次数达到上述预设阈值且上述存证数据存储异常,此种情况下,说明存证数据在区块链中存储失败的概率极高,则,可以确定上述存证数据存储失败。
步骤214,确定所述存证数据存储失败之后,从所述缓存数据库中获取所述存证数据,并将所述存证数据发送至所述区块链,以再次进行存储。
在本发明实施例中,在上述存证数据存储失败的情况下,可以从上述缓存数据库中直接获取上述存证数据,将上述存证数据发送至区块链,再次进行存储。也就说,在存证数据在上述区块链中存储失败的情况下,为了避免发起方或用户再次发送上述存证请求,可以直接从上述缓存数据库中获取上述存证数据,将上述存证数据发送至区块链,再次进行存储,可以避免用户再次发送上述存证请求,减少了用户的重复操作;同时,相对于由用户重新发送存证请求,解析重新发送的存证请求以获取存证数据而言,从缓存数据库中直接获取存证数据,至少减少了解析的步骤,进而步骤少,用时短,能够提升存证数据再次存储的效率。
步骤215,在所述业务请求为查证请求的情况下,获取所述查证请求对应的查询标识。
在本发明实施例中,上述查证请求主要用于查询存证数据。上述查询标识可以用于区分不同的存证数据。在本发明实施例中,对上述查询标识不作具体限定。
在本发明实施例中,上述查证请求可以包括对应的查询标识,或者,上述查证请求可以指示对应的查询标识。在上述业务请求为查证请求的情况下,可以基于上述查证请求获取对应的查询标识。
如,上述查证请求的特定位置可以设置为查询标识,从上述查证请求的特定位置获取上述查询标识等。
步骤216,从存证数据库中,获取所述查询标识对应的存证数据。
其中,所述存证数据与对应的查询标识为预先存储至所述存证数据库的,所述查询标识为预先为所述存证数据配置的。
在本发明实施例中,上述存证数据与对应的查询标识等可以预设存储在存证数据库中。上述查询标识是预先为存证数据配置的用于区分存证数据的标识信息。
在本发明实施例中,上述存证数据库可以为集中式数据库或分布式数据库等,在本发明实施例中,对此不作具体限定。
在本发明实施例中,可以从上述存证数据库中,获取到查询标识对应的存证数据。
在本发明实施例中,可选的,在执行步骤216之前,同样可以获取查证请求对应的身份信息,对身份信息进行验证,在身份信息验证通过后,可以获取身份信息对应的权限信息,在上述权限信息指示该查证请求的发起方具有查证权限的情况下,执行上述步骤216,进而避免没有查证权限的发起方执行查证操作。
步骤217,输出所述查询标识对应的存证数据。
在本发明实施例中,上述查询标识对应的存证数据即为查证请求对应的存证数据。为了便于查证请求的发起方获得查证请求对应的存证数据,可以输出上述查询标识对应的存证数据。
相对于现有技术中,需要从区块链中获取查证请求对应的存证数据而言,本申请将存证数据备份存储在存证数据库中,从存证数据库中获取查证请求对应的存证数据,而不是从区块链中获取查证请求对应的存证数据,相对于结构较为复杂的区块链而言,该存证数据库结构相对简单,能够提高查证请求的响应速度,同时,能够降低区块链的操作压力。
在本发明实施例中,可选的,上述步骤215至步骤217可以在步骤201之后执行,或者,上述步骤215至步骤217可以在步骤204之后执行,或者,上述步骤215至步骤217可以可以在步骤201之后的任意步骤之前执行,在本发明实施例中,对此不作具体限定。
针对在先技术,本发明具备如下优点:
本发明中,在区块链返回存证数据存储失败,或,在第一预设时段内未接收到区块链返回的针对上述存证数据的存储状态的情况下,为了避免已存储成功,却返回存储失败或没有接收到存储状态的假性失败导致的上述存证数据重复存储的问题,服务端向区块链发送针对上述存证数据存储状态的查询请求,在第二预设时段内,接收到区块链针对上述查询请求返回的存储成功的存储状态的情况下,确定上述存证数据已完成存储操作,从而在一定程度上避免了假性失败情况下,重复存储上述存证数据的问题,减少了存证操作的复杂性,并降低了区块链网络的负担。
图4是本发明实施例提供的一种存证数据的处理装置的框图,应用于服务端,所述服务端与提供存证服务的区块链进行通信,关于该服务端的描述,可以参照上述实施例中的相关记载,为了避免重复此处不再赘述。如图4所示,该装置400可以包括:
业务请求获取模块401,用于获取业务请求;
存证数据获取模块406,用于在所述业务请求为存证请求的情况下,获取所述存证请求对应的存证数据;
存证数据发送模块407,用于向所述区块链发送所述存证数据;
查询请求发送模块409,用于在所述存证数据存储异常的情况下,向所述区块链发送针对所述存证数据存储状态的查询请求;所述存证数据存储异常,包括:所述区块链返回所述存证数据存储失败的存储状态,或,在第一预设时段内未接收到所述区块链返回的针对所述存证数据的存储状态;
第一确定模块410,用于在第二预设时段内,接收到所述区块链针对所述查询请求返回存储成功的存储状态的情况下,确定所述存证数据已完成存储操作。
可选的,在上述图4的基础上,参照图5所示,所述装置还可以包括:
查询标识获取模块414,用于在所述业务请求为查证请求的情况下,获取所述查证请求对应的查询标识;
存证数据确定模块415,用于从存证数据库中,获取所述查询标识对应的存证数据;
存证数据输出模块416,用于输出所述查询标识对应的存证数据;
其中,所述存证数据与对应的查询标识为预先存储至所述存证数据库的,所述查询标识为预先为所述存证数据配置的。
可选的,所述装置还可以包括:
身份信息获取模块402,用于获取所述业务请求对应的身份信息;
身份信息验证模块403,用于验证所述身份信息;
解析模块404,用于在所述身份信息验证通过之后,对所述业务请求进行解析,以获取所述业务请求对应的业务类型;所述业务类型包括:存证请求或查证请求。
可选的,所述装置还可以包括:
权限信息获取模块405,用于获取所述身份信息对应的权限信息;
所述存证数据发送模块407,具体用于:
在所述权限信息指示所述业务请求的发起方具有存证权限的情况下,向所述区块链发送所述存证数据。
可选的,所述存证数据发送模块407,具体用于:
获取所述业务请求在第三预设时段内的重复发送次数;
在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数的情况下,向所述区块链发送所述存证数据。
可选的,所述存证数据发送模块407,具体用于:
检测所述存证数据的安全性,得到所述存证数据的安全参数;
在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数,且所述存证数据的安全参数指示所述存证数据是安全的情况下,向所述区块链发送所述存证数据。
可选的,在上述图5的基础上,参照图6所示,所述装置还可以包括:
缓存模块417,用于将所述存证数据存储至缓存数据库;
所述存证数据发送模块407,具体用于:
从所述缓存数据库中获取所述存证数据,并将所述存证数据发送至所述区块链;
删除模块411,用于在所述缓存数据库中,删除所述存证数据。
可选的,所述装置还可以包括:记录模块408和第二确定模块412;
其中,所述记录模块408,用于在所述缓存数据库中记录所述存证数据的操作日志;
所述查询请求发送模块409,可以包括:查询请求生成单元4091和查询请求发送单元4092;
其中,所述查询请求生成单元4091,用于在所述存证数据存储异常的情况下,根据所述操作日志,生成针对所述存证数据存储状态的查询请求;
所述查询请求发送单元4092,用于重复执行向所述区块链发送针对所述存证数据存储状态的查询请求的步骤,直至重复执行次数达到预设阈值;
所述第二确定模块412,用于在所述重复执行次数达到所述预设阈值且所述存证数据存储异常的情况下,确定所述存证数据存储失败。
可选的,所述装置还可以包括:
再次存储模块413,用于从所述缓存数据库中获取所述存证数据,并将所述存证数据发送至所述区块链,以再次进行存储。
综上所述,本发明中,在区块链返回存证数据存储失败,或,在第一预设时段内未接收到区块链返回的针对上述存证数据的存储状态的情况下,为了避免已存储成功,却返回存储失败或没有接收到存储状态的假性失败导致的上述存证数据重复存储的问题,服务端向区块链发送针对上述存证数据存储状态的查询请求,在第二预设时段内,接收到区块链针对上述查询请求返回的存储成功的存储状态的情况下,确定上述存证数据已完成存储操作,从而在一定程度上避免了假性失败情况下,重复存储上述存证数据的问题,减少了存证操作的复杂性,并降低了区块链网络的负担。
另外,本发明实施例还提供一种终端,包括处理器,存储器,存储在存储器上并可在处理上运行的计算机程序,该计算机程序被处理器执行时实现上述的存证数据的处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的存证数据的处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,可以为只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
对于上述装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此提供的存证数据的处理方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器来实现根据本发明实施例的存证数据的处理方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (20)

1.一种存证数据的处理方法,其特征在于,应用于服务端,所述服务端与提供存证服务的区块链进行通信,所述方法包括:
获取业务请求;
在所述业务请求为存证请求的情况下,获取所述存证请求对应的存证数据;
向所述区块链发送所述存证数据;
在所述存证数据存储异常的情况下,向所述区块链发送针对所述存证数据存储状态的查询请求;所述存证数据存储异常,包括:所述区块链返回所述存证数据存储失败的存储状态,或,在第一预设时段内未接收到所述区块链返回的针对所述存证数据的存储状态;
在第二预设时段内,接收到所述区块链针对所述查询请求返回存储成功的存储状态的情况下,确定所述存证数据已完成存储操作。
2.根据权利要求1所述的方法,其特征在于,所述获取所述存证请求对应的存证数据之后,还包括:
在所述业务请求为查证请求的情况下,获取所述查证请求对应的查询标识;
从存证数据库中,获取所述查询标识对应的存证数据;
输出所述查询标识对应的存证数据;
其中,所述存证数据与对应的查询标识为预先存储至所述存证数据库的,所述查询标识为预先为所述存证数据配置的。
3.根据权利要求1或2所述的方法,其特征在于,所述获取业务请求之后,还包括:
获取所述业务请求对应的身份信息;
验证所述身份信息;
在所述身份信息验证通过之后,对所述业务请求进行解析,以获取所述业务请求对应的业务类型;所述业务类型包括:存证请求或查证请求。
4.根据权利要求3所述的方法,其特征在于,所述获取所述业务请求对应的业务类型之后,还包括:获取所述身份信息对应的权限信息;
所述向所述区块链发送所述存证数据,包括:在所述权限信息指示所述业务请求的发起方具有存证权限的情况下,向所述区块链发送所述存证数据。
5.根据权利要求4所述的方法,其特征在于,所述在所述权限信息指示所述业务请求的发起方具有存证权限的情况下,向所述区块链发送所述存证数据,包括:
获取所述业务请求在第三预设时段内的重复发送次数;
在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数的情况下,向所述区块链发送所述存证数据。
6.根据权利要求5所述的方法,其特征在于,所述在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数的情况下,向所述区块链发送所述存证数据,包括:
检测所述存证数据的安全性,得到所述存证数据的安全参数;
在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数,且所述存证数据的安全参数指示所述存证数据是安全的情况下,向所述区块链发送所述存证数据。
7.根据权利要求1所述的方法,其特征在于,所述获取所述存证请求对应的存证数据之后,还包括:将所述存证数据存储至缓存数据库;
所述向所述区块链发送所述存证数据,包括:从所述缓存数据库中获取所述存证数据,并将所述存证数据发送至所述区块链;
在接收到所述区块链返回的存证数据存储成功的存储状态之后,还包括:在所述缓存数据库中,删除所述存证数据。
8.根据权利要求7所述的方法,其特征在于,所述在所述存证数据存储异常的情况下,向所述区块链发送针对所述存证数据存储状态的查询请求之前,还包括:在所述缓存数据库中记录所述存证数据的操作日志;
所述在所述存证数据存储异常的情况下,向所述区块链发送针对所述存证数据存储状态的查询请求,包括:
在所述存证数据存储异常的情况下,根据所述操作日志,生成针对所述存证数据存储状态的查询请求;
重复执行向所述区块链发送针对所述存证数据存储状态的查询请求的步骤,直至重复执行次数达到预设阈值;
在所述重复执行次数达到所述预设阈值且所述存证数据存储异常的情况下,确定所述存证数据存储失败。
9.根据权利要求8所述的方法,其特征在于,所述确定所述存证数据存储失败之后,还包括:
从所述缓存数据库中获取所述存证数据,并将所述存证数据发送至所述区块链,以再次进行存储。
10.一种存证数据的处理装置,其特征在于,应用于服务端,所述服务端与提供存证服务的区块链进行通信,所述装置包括:
业务请求获取模块,用于获取业务请求;
存证数据获取模块,用于在所述业务请求为存证请求的情况下,获取所述存证请求对应的存证数据;
存证数据发送模块,用于向所述区块链发送所述存证数据;
查询请求发送模块,用于在所述存证数据存储异常的情况下,向所述区块链发送针对所述存证数据存储状态的查询请求;所述存证数据存储异常,包括:所述区块链返回所述存证数据存储失败的存储状态,或,在第一预设时段内未接收到所述区块链返回的针对所述存证数据的存储状态;
第一确定模块,用于在第二预设时段内,接收到所述区块链针对所述查询请求返回存储成功的存储状态的情况下,确定所述存证数据已完成存储操作。
11.根据权利要求10所述的装置,其特征在于,还包括:
查询标识获取模块,用于在所述业务请求为查证请求的情况下,获取所述查证请求对应的查询标识;
存证数据确定模块,用于从存证数据库中,获取所述查询标识对应的存证数据;
存证数据输出模块,用于输出所述查询标识对应的存证数据;
其中,所述存证数据与对应的查询标识为预先存储至所述存证数据库的,所述查询标识为预先为所述存证数据配置的。
12.根据权利要求10或11所述的装置,其特征在于,还包括:
身份信息获取模块,用于获取所述业务请求对应的身份信息;
身份信息验证模块,用于验证所述身份信息;
解析模块,用于在所述身份信息验证通过之后,对所述业务请求进行解析,以获取所述业务请求对应的业务类型;所述业务类型包括:存证请求或查证请求。
13.根据权利要求12所述的装置,其特征在于,还包括:权限信息获取模块,用于获取所述身份信息对应的权限信息;
所述存证数据发送模块,具体用于:
在所述权限信息指示所述业务请求的发起方具有存证权限的情况下,向所述区块链发送所述存证数据。
14.根据权利要求13所述的装置,其特征在于,所述存证数据发送模块,具体用于:
获取所述业务请求在第三预设时段内的重复发送次数;
在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数的情况下,向所述区块链发送所述存证数据。
15.根据权利要求14所述的装置,其特征在于,所述存证数据发送模块,具体用于:
检测所述存证数据的安全性,得到所述存证数据的安全参数;
在所述权限信息指示所述业务请求的发起方具有存证权限且所述重复发送次数小于或等于预设次数,且所述存证数据的安全参数指示所述存证数据是安全的情况下,向所述区块链发送所述存证数据。
16.根据权利要求10所述的装置,其特征在于,还包括:
缓存模块,用于将所述存证数据存储至缓存数据库;
所述存证数据发送模块,具体用于:
从所述缓存数据库中获取所述存证数据,并将所述存证数据发送至所述区块链;
删除模块,用于在所述缓存数据库中,删除所述存证数据。
17.根据权利要求16所述的装置,其特征在于,还包括:记录模块和第二确定模块;
其中,所述记录模块,用于在所述缓存数据库中记录所述存证数据的操作日志;
所述查询请求发送模块,包括:查询请求生成单元和查询请求发送单元;
其中,所述查询请求生成单元,用于在所述存证数据存储异常的情况下,根据所述操作日志,生成针对所述存证数据存储状态的查询请求;
所述查询请求发送单元,用于重复执行向所述区块链发送针对所述存证数据存储状态的查询请求的步骤,直至重复执行次数达到预设阈值;
所述第二确定模块,用于在所述重复执行次数达到所述预设阈值且所述存证数据存储异常的情况下,确定所述存证数据存储失败。
18.根据权利要求17所述的装置,其特征在于,还包括:
再次存储模块,用于从所述缓存数据库中获取所述存证数据,并将所述存证数据发送至所述区块链,以再次进行存储。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的存证数据的处理方法的步骤。
20.一种终端设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至9中任一所述的存证数据的处理方法的步骤。
CN201910377109.XA 2019-05-07 2019-05-07 一种存证数据的处理方法、装置及存储介质 Active CN110222085B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910377109.XA CN110222085B (zh) 2019-05-07 2019-05-07 一种存证数据的处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910377109.XA CN110222085B (zh) 2019-05-07 2019-05-07 一种存证数据的处理方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN110222085A CN110222085A (zh) 2019-09-10
CN110222085B true CN110222085B (zh) 2021-06-22

Family

ID=67820822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910377109.XA Active CN110222085B (zh) 2019-05-07 2019-05-07 一种存证数据的处理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN110222085B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111030846A (zh) * 2019-11-18 2020-04-17 杭州趣链科技有限公司 一种基于区块链的数据上链异常重试方法
CN111400752A (zh) * 2020-03-12 2020-07-10 杭州城市大数据运营有限公司 一种基于区块链的数据查询方法、系统及电子设备
CN113986915A (zh) * 2021-10-13 2022-01-28 支付宝(杭州)信息技术有限公司 一种数据存证方法及装置
CN115271938A (zh) * 2022-06-16 2022-11-01 芯华章科技股份有限公司 一种交易数据的处理方法、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107340B2 (en) * 2002-05-31 2006-09-12 Microsoft Corporation System and method for collecting and storing event data from distributed transactional applications
CN103502800A (zh) * 2011-02-03 2014-01-08 思维斯洛格意大利股份公司 用于包装药物检查的系统和方法
CN105162628A (zh) * 2015-08-24 2015-12-16 上海天旦网络科技发展有限公司 快速确定网络合理告警阈值的系统和方法
CN105761123A (zh) * 2016-04-14 2016-07-13 腾讯科技(深圳)有限公司 虚拟票据保存方法及装置
CN106357640A (zh) * 2016-09-18 2017-01-25 江苏通付盾科技有限公司 基于区块链网络的身份认证方法、系统及服务器
CN107315786A (zh) * 2017-06-12 2017-11-03 腾讯科技(深圳)有限公司 业务数据存储方法及装置
CN108023879A (zh) * 2017-11-30 2018-05-11 济南浪潮高新科技投资发展有限公司 一种基于区块链的nb-iot设备数据采集系统及方法
CN108494557A (zh) * 2018-02-07 2018-09-04 平安科技(深圳)有限公司 社保数字证书管理方法、计算机可读存储介质及终端设备
CN108776929A (zh) * 2018-04-02 2018-11-09 成都云创智融科技有限公司 基于区块链数据库的账单处理方法、系统和可读存储介质
CN109191144A (zh) * 2018-08-03 2019-01-11 食品安全与营养(贵州)信息科技有限公司 一种基于区块链的实验室信息业务管理系统及工作方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10353918B2 (en) * 2014-11-07 2019-07-16 Amobee, Inc. High availability and disaster recovery in large-scale data warehouse

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107340B2 (en) * 2002-05-31 2006-09-12 Microsoft Corporation System and method for collecting and storing event data from distributed transactional applications
CN103502800A (zh) * 2011-02-03 2014-01-08 思维斯洛格意大利股份公司 用于包装药物检查的系统和方法
CN105162628A (zh) * 2015-08-24 2015-12-16 上海天旦网络科技发展有限公司 快速确定网络合理告警阈值的系统和方法
CN105761123A (zh) * 2016-04-14 2016-07-13 腾讯科技(深圳)有限公司 虚拟票据保存方法及装置
CN106357640A (zh) * 2016-09-18 2017-01-25 江苏通付盾科技有限公司 基于区块链网络的身份认证方法、系统及服务器
CN107315786A (zh) * 2017-06-12 2017-11-03 腾讯科技(深圳)有限公司 业务数据存储方法及装置
CN108023879A (zh) * 2017-11-30 2018-05-11 济南浪潮高新科技投资发展有限公司 一种基于区块链的nb-iot设备数据采集系统及方法
CN108494557A (zh) * 2018-02-07 2018-09-04 平安科技(深圳)有限公司 社保数字证书管理方法、计算机可读存储介质及终端设备
CN108776929A (zh) * 2018-04-02 2018-11-09 成都云创智融科技有限公司 基于区块链数据库的账单处理方法、系统和可读存储介质
CN109191144A (zh) * 2018-08-03 2019-01-11 食品安全与营养(贵州)信息科技有限公司 一种基于区块链的实验室信息业务管理系统及工作方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Data-Centric Storage in Sensornets with GHT,a Geographic Table;Sylvia Ratnasamy 等;《Mobile Networks and Applications》;20030815;第8卷(第4期);427-442 *
基于区块链的数据治理协同方法;宋俊典 等;《计算机应用》;20180604;第38卷(第9期);2500-2506 *
面向智能电网的电力大数据存储与分析应用;崔立真 等;《大数据》;20171120(第6期);42-54 *

Also Published As

Publication number Publication date
CN110222085A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
CN110222085B (zh) 一种存证数据的处理方法、装置及存储介质
US10762479B2 (en) Method and system for processing blockchain-based real-time transaction
JP6514218B2 (ja) 社会関係データを用いたクライアント認証
WO2020134942A1 (zh) 身份核实方法及其系统
US10771471B2 (en) Method and system for user authentication
US9978094B2 (en) Tokenization revocation list
CN111383021B (zh) 基于区块链网络的节点管理方法、装置、设备及介质
US20220394026A1 (en) Network identity protection method and device, and electronic equipment and storage medium
EP3933624B1 (en) Blockchain-based identity verification method and related hardware
CN110417790B (zh) 区块链实名制排队系统及方法
CN112202705A (zh) 一种数字验签生成和校验方法、系统
CN110032846B (zh) 身份数据的防误用方法及装置、电子设备
CN104980449B (zh) 网络请求的安全认证方法及系统
US20150067772A1 (en) Apparatus, method and computer-readable storage medium for providing notification of login from new device
KR101890584B1 (ko) m of n 다중 서명에 의한 인증서 서비스를 제공하는 방법 및 이를 이용한 서버
CN106295384B (zh) 一种大数据平台访问控制方法、装置和认证服务器
KR102235566B1 (ko) 블록체인 기반 이상행위 탐지 장치 및 방법
CN109063461B (zh) 一种第三方免密登录方法及系统
CN113938323B (zh) 基于jwt的防重放攻击方法、装置、设备以及存储介质
JP6338540B2 (ja) 認証システム、認証結果利用サーバ及び認証方法
CN116305068A (zh) 验证方法、装置、系统、电子设备及存储介质
CN116562880A (zh) 一种交易数据鉴权方法、装置、设备及介质
CN117395005A (zh) 基于区块链的身份认证系统、方法及计算机设备
CN116938589A (zh) 一种Hadoop分布式文件系统的服务访问白名单的方法及装置
CN113971267A (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