CN116166736B - 基于应用程序接口的区块链数据上链方法、装置和介质 - Google Patents

基于应用程序接口的区块链数据上链方法、装置和介质 Download PDF

Info

Publication number
CN116166736B
CN116166736B CN202310431485.9A CN202310431485A CN116166736B CN 116166736 B CN116166736 B CN 116166736B CN 202310431485 A CN202310431485 A CN 202310431485A CN 116166736 B CN116166736 B CN 116166736B
Authority
CN
China
Prior art keywords
file
certificate
interface
uplinked
user
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
CN202310431485.9A
Other languages
English (en)
Other versions
CN116166736A (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.)
China Academy of Information and Communications Technology CAICT
Original Assignee
China Academy of Information and Communications Technology CAICT
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 China Academy of Information and Communications Technology CAICT filed Critical China Academy of Information and Communications Technology CAICT
Priority to CN202310431485.9A priority Critical patent/CN116166736B/zh
Publication of CN116166736A publication Critical patent/CN116166736A/zh
Application granted granted Critical
Publication of CN116166736B publication Critical patent/CN116166736B/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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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/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
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开实施例公开了一种基于应用程序接口的区块链数据上链方法、装置和介质,涉及区块链领域,其中,方法包括:响应于携带待上链文件存储路径及文件类型的数据上链请求,调用文件上传接口,获取待上链文件标识;响应于文件上传接口调用成功,依据待上链文件对应的存证类型,调用该存证类型对应的存证接口,从待上链文件存储路径获取文件类型对应的待上链文件,生成待上链文件的存证标识;调用存证服务接口,对用户进行签名验证后,将待上链文件存储至区块链,基于待上链文件标识、存证标识,生成待上链文件的存证证书,将该存证证书返回给用户,以便用户将存证证书嵌入本地设备存储的所述待上链文件中。能够有效提升数据的上链效率。

Description

基于应用程序接口的区块链数据上链方法、装置和介质
技术领域
本公开涉及区块链技术领域,尤其是一种基于应用程序接口(API,ApplicationProgramming Interface)的区块链数据上链方法、装置和介质。
背景技术
区块链数据存证,通过将数据存储到区块链上,基于区块链的不可篡改性,可以确保其链上数据的可靠性,达到防篡改、可追溯、数据来源可信任的目的,使得区块链技术已在众多的领域中得到了广泛的应用。
目前,区块链的数据存证方法,将数据通过统一的应用程序接口进行上链,存储至区块链上,后续的数据查询以及数据校验,也是通过该应用程序接口进行处理,使得该应用程序接口需要涉及区块链上数据的所有生命周期,而由于区块链的数据量非常庞大,使得通过一统一的应用程序接口进行数据上链处理,数据上链效率较低;进一步地,在生成存证证书后,需要在本地设备存储数据和存证证书,并构建数据的存储地址与存证证书的映射关系。但当用户对本地设备存储的数据进行归并、转移时,需要同步更新映射关系,使得映射关系的维护较为复杂,维护所需的时间较长。
发明内容
为了解决上述问题,本公开实施例提供一种基于应用程序接口的区块链数据上链方法、装置和介质。
根据本公开实施例的一个方面,提供一种基于应用程序接口的区块链数据上链方法,包括:
响应于用户的数据上链请求,所述数据上链请求中携带有待上链文件存储路径及文件类型,调用应用程序接口中的文件上传接口,获取待上链文件标识;
响应于文件上传接口调用成功,依据待上链文件对应的存证类型,调用该存证类型对应的应用程序接口中的存证接口,从所述待上链文件存储路径获取所述文件类型对应的待上链文件,生成所述待上链文件的存证标识;
调用应用程序接口中的存证服务接口,对所述用户进行签名验证后,将所述待上链文件存储至区块链,基于所述待上链文件标识、存证标识,生成所述待上链文件的存证证书,将该存证证书返回给所述用户,以便所述用户将所述存证证书嵌入本地设备存储的所述待上链文件中。
在一些实施例中,所述存证类型为文件存证,调用该存证类型对应的应用程序接口中的存证接口,从所述待上链文件存储路径获取所述文件类型对应的待上链文件,包括:
调用应用程序接口中的文件存证接口,从所述待上链文件存储路径,获取待上链文件的容量,确定所述待上链文件的容量小于所述文件类型对应的存储容量阈值,读取所述待上链文件。
在一些实施例中,所述存证类型为哈希存证,调用该存证类型对应的应用程序接口中的存证接口,从所述待上链文件存储路径获取所述文件类型对应的待上链文件,包括:
调用应用程序接口中的哈希存证接口,从所述待上链文件存储路径,读取所述文件类型对应的待上链文件,对读取的待上链文件进行哈希值计算,得到所述待上链文件的哈希值。
在一些实施例中,所述将所述存证证书嵌入本地设备存储的所述待上链文件中,包括:
生成所述存证证书的数字水印;
将所述数字水印作为所述待上链数据的背景数据,融合至所述待上链数据中。
在一些实施例中,所述方法还包括:
响应于利用超文本传输协议发起的应用程序接口服务请求,调用应用程序接口密钥设置接口,生成包含公钥和私钥的应用程序接口密钥。
在一些实施例中,所述方法还包括:
响应于用户发起的存证查看请求,调用存证获取列表接口,依据用户标识,获取所述用户的存证列表。
在一些实施例中,所述方法还包括:
响应于用户的文件校核请求,所述文件校核请求中携带有待核验文件的区块基础标识,所述区块基础标识通过所述用户从嵌入有存证证书的上链数据中获取;
调用存证下载接口,依据所述区块基础标识对应的存储地址,获取待核验文件;
从嵌入有存证证书的上链数据中,滤除所述存证证书,得到上链原数据,基于所述待核验文件以及所述上链原数据,进行数据核验。
在一些实施例中,所述方法还包括:
响应于所述用户的数据核验请求,所述数据核验请求中携带有哈希值,所述哈希值通过所述用户从嵌入有数字水印的上链数据中获取;
基于所述哈希值,获取该哈希值对应的存证证书,提取获取的存证证书中的哈希值,若获取的哈希值与所述数据核验请求中携带的哈希值一致,通过所述数据核验请求。
在一些实施例中,所述方法还包括:
响应于用户的详情查看请求,调用存证详情查询接口,依据用户输入的存证标识,获取该存证标识对应的存证详情。
根据本公开实施例的又一个方面,提供一种基于应用程序接口的区块链数据上链装置,包括:
文件标识模块,被配置成响应于用户的数据上链请求,所述数据上链请求中携带有待上链文件存储路径及文件类型,调用应用程序接口中的文件上传接口,获取待上链文件标识;
存证标识模块,被配置成确定文件上传接口调用成功,依据待上链文件对应的存证类型,调用该存证类型对应的应用程序接口中的存证接口,从所述待上链文件存储路径获取所述文件类型对应的待上链文件,生成所述待上链文件的存证标识;
存证存储模块,被配置成调用应用程序接口中的存证服务接口,对所述用户进行签名验证后,将所述待上链文件存储至区块链,基于所述待上链文件标识、存证标识,生成所述待上链文件的存证证书,将该存证证书返回给所述用户,以便所述用户将所述存证证书嵌入本地设备存储的所述待上链文件中。
根据本公开实施例的又一个方面,提供一种电子设备,包括:存储器,用于存储计算机程序产品;处理器,用于执行存储器中存储的计算机程序产品,且计算机程序产品被执行时,实现上述任一实施例中的基于应用程序接口的区块链数据上链方法。
根据本公开实施例的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令在被处理器运行时实现上述任一实施例中的基于应用程序接口的区块链数据上链方法。
本公开的实施例提供的基于应用程序接口的区块链数据上链方法、装置和介质,响应于用户的数据上链请求,所述数据上链请求中携带有待上链文件存储路径及文件类型,调用应用程序接口中的文件上传接口,获取待上链文件标识;响应于文件上传接口调用成功,依据待上链文件对应的存证类型,调用该存证类型对应的应用程序接口中的存证接口,从所述待上链文件存储路径获取所述文件类型对应的待上链文件,生成所述待上链文件的存证标识;调用应用程序接口中的存证服务接口,对所述用户进行签名验证后,将所述待上链文件存储至区块链,基于所述待上链文件标识、存证标识,生成所述待上链文件的存证证书,将该存证证书返回给所述用户,以便所述用户将所述存证证书嵌入本地设备存储的所述待上链文件中。这样,通过在数据上链的不同节点,设置对应的应用程序接口进行处理,避免所有节点的数据在同一应用程序接口进行处理,有效提升了数据的上链效率;进一步地,通过将存证证书嵌入到本地设备存储的待上链文件中,无需在本地设备构建待上链文件的存储地址与存证证书的映射关系,避免对映射关系的维护。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开的基于应用程序接口的区块链数据上链方法的一个实施例的流程示意图;
图2示出了本公开的基于应用程序接口的区块链数据上链方法的一个实施例中将存证证书嵌入本地设备存储的待上链文件中的流程图;
图3示出了本公开的基于应用程序接口的区块链数据上链方法的一个实施例中对文件进行核验的流程图;
图4为本公开的基于应用程序接口的区块链数据上链装置的一个实施例的结构示意图;
图5为本公开电子设备一个应用实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
下面结合图1对本公开的基于应用程序接口的区块链数据上链方法进行示例性说明,图1示出了本公开的基于应用程序接口的区块链数据上链方法的一个实施例的流程图,如图1所示,该流程包括以下步骤。
步骤110、响应于用户的数据上链请求,所述数据上链请求中携带有待上链文件存储路径及文件类型,调用应用程序接口中的文件上传接口,获取待上链文件标识;
本实施例中,请求中包括请求路径,其中,请求路径=API地址+接口名称。作为一示例,API地址可以是:https://bitfactory.cn/api,假设hash存证接口名称是/evidence/hash,则请求路径为:https://bitfactory.cn/api/evidence/hash。不同的请求中,包含的请求路径不同,通过解析请求中携带的信息,可以确定请求的类型,从而调用该类型对应的应用程序接口,使得上链可以在不同的接口实现,避免采用同一接口处理上链数据导致的数据上链效率不高的缺陷。其中,上链是指将数据存储至区块链。
作为一示例,文件上传接口的存储路径为:- /file/upload。
本实施例中,通过解析请求,获取其携带有待上链文件存储路径及文件类型,确定该请求为数据上链请求,调用对应的文件上传接口,对待上链文件进行标识,以返回待上链文件的文件标识(id)。
作为一示例,数据上链请求为Http请求,文件类型包括但不限于:文档、图片、音频、视频。
作为一示例,传入文件上传接口的参数如表1所示;
表1
Figure SMS_1
调用文件上传接口成功后,文件上传接口返回的参数(待上链文件标识)如表2所示;
表2
Figure SMS_2
本实施例中,对文件上传接口进行调用,包括文件上传接口调用成功及文件上传接口调用失败。
步骤120、响应于文件上传接口调用成功,依据待上链文件对应的存证类型,调用该存证类型对应的应用程序接口中的存证接口,从所述待上链文件存储路径获取所述文件类型对应的待上链文件,生成所述待上链文件的存证标识;
本实施例中,存证类型包括但不限于:文件存证及哈希存证。
本实施例中,作为一示例,存证类型为文件存证,调用该存证类型对应的应用程序接口中的存证接口,从所述待上链文件存储路径获取所述文件类型对应的待上链文件,包括:
调用应用程序接口中的文件存证接口,从所述待上链文件存储路径,获取待上链文件的容量,确定所述待上链文件的容量小于所述文件类型对应的存储容量阈值,读取所述待上链文件。
作为一示例,文件存证接口的路径为:- /evidence/file。
本实施例中,作为一示例,对于待上链文件,若文件类型为文档类文件,对应的存储容量阈值为150M,若文件类型为图片类文件,对应的存储容量阈值为10M,若文件类型为音频或视频类文件,对应的存储容量阈值为550M。其中,文档类文件的格式包括但不限于:txt、doc、docx、ppt、pptx、xls、xlsx、pdf、zip、ofd。
作为一示例,若读取的待上链文件未被存证,在预设的天数,例如,7天后,删除存储的数据。
作为一示例,文件存证接口的请求参数如表3所示;
表3
Figure SMS_3
本实施例中,作为一示例,调用文件存证接口成功后,返回文件id对应的存证id,如表4所示;
表4
Figure SMS_4
本实施例中,作为另一示例,存证类型为哈希存证,调用该存证类型对应的应用程序接口中的存证接口,从所述待上链文件存储路径获取所述文件类型对应的待上链文件,包括:
调用应用程序接口中的哈希存证接口,从所述待上链文件存储路径,读取所述文件类型对应的待上链文件,对读取的待上链文件进行哈希值计算,得到所述待上链文件的哈希值。
本实施例中,存证接口包括文件存证接口及哈希存证接口。作为一示例,对于hash存证(sha256),调用hash存证接口,hash存证接口的路径为:- /evidence/hash。
hash存证接口的请求参数如表5所示;
表5
Figure SMS_5
本实施例中,若调用hash存证接口成功,返回存证id列表,存证id列表包含的参数如表6所示;
表6
Figure SMS_6
步骤130、调用应用程序接口中的存证服务接口,对所述用户进行签名验证后,将所述待上链文件存储至区块链,基于所述待上链文件标识、存证标识,生成所述待上链文件的存证证书,将该存证证书返回给所述用户,以便所述用户将所述存证证书嵌入本地设备存储的所述待上链文件中。
本实施例中,存证服务接口的参数包括:通用请求头(headers)、通用应答参数及错误码。
其中,作为一示例,通用请求头包含的请求参数如表7所示;
表7
Figure SMS_7
通用应答参数包含的请求参数如表8所示;
表8
Figure SMS_8
错误码包含的请求参数如表9所示;
表9
Figure SMS_9
作为示例,存证证书包括的信息包括:文件标识、存证类型、存证方式、文件大小、存证文件区块基础标识(BID)、存证哈希值、存证时间、创建时间、存证状态。
下面参考图2,图2示出了本公开的基于应用程序接口的区块链数据上链方法的一个实施例中将存证证书嵌入本地设备存储的待上链文件中的流程图,如图2所示,该流程可以包括以下步骤。
步骤210、生成所述存证证书的数字水印。
在本实施例中,利用水印生成技术,生成存证证书的数字水印。
步骤220、将所述数字水印作为所述待上链数据的背景数据,融合至所述待上链数据中。
在本实施例中,存证证书以数字水印的方式嵌入至本地设备存储的对应的待上链数据中。例如,若待上链数据为word文档,则数字水印为word文档的背景,显示在word文档中。
在本实施例中,本地设备在接收到存证证书后,生成该存证证书的数字水印,利用水印嵌入技术,将存证证书的数字水印嵌入对应的待上链数据中。
在本实施例中,通过将存证证书以数字水印的方式嵌入待上链数据中,从而使得本地设备无需在存储存证证书后,再构建存证证书与上链数据的存储地址的映射关系,能够直接依据嵌入在上链数据中的数字水印对应的存证证书,获取存证的相关信息,并基于该相关信息进行数据查询和校验,避免存储地址发生变化后,依据映射关系无法找到存证证书的缺陷,能够有效缩短数据查询和校验所需的时间,提升数据查询和校验效率。同时,对于本地设备存储的上链数据,由于用户周期性地对数据进行重新归档、转移,在每一次对上链数据进行重新归档、转移后,需要更新该上链数据的存储地址与存证证书的映射关系,以对映射关系进行维护,而在用户对上链数据进行重新归档、转移时,容易忘记对映射关系的维护,使得存储的映射关系不可用,而本实施例中,通过将存证证书以数字水印嵌入至本地设备存储的上链数据中,在用户对上链数据进行重新归档、转移时,存证证书随之同步进行重新归档、转移,无需对映射关系进行维护,降低了维护时间,提升了存证证书的可用性。
在本实施例中,在对用户进行签名验证的过程中,需要利用用户预先设置的API接口密钥,因而,可以预先设置API接口密钥,作为一示例,该方法还包括:
响应于利用https协议发起API服务请求,调用API密钥设置接口,生成包含公钥和私钥的API接口密钥。
在本实施例中,作为一示例,向提供存证服务的数据上链节点发送API服务请求,数据上链节点接收API服务请求后,呈现API接口密钥设置页面,接收用户在API接口密钥设置页面的菜单栏点击的密钥管理控件,触发进入创建密钥页面,接收用户在创建密钥页面点击的密钥对生成工具控件,触发进入密钥工具生成页面;接收用户在密钥工具生成页面点击的生成密钥对控件,生成包含公钥和私钥的API接口密钥。
作为一示例,数据上链节点在生成API接口密钥时,利用国密算法(SM2)密钥对生成工具,在展示密钥工具生成页面的本地浏览器上,利用用户的签名生成。这样,可以有效避免API接口密钥在网络上的传输,从而提升API接口密钥的安全性。
作为一示例,在生成API接口密钥后,对生成的私钥进行保存,将公钥添加至密钥管理页面进行管理。
在本实施例中,作为一示例,在API接口密钥的私钥丢失或忘记的情形下,还可以发起更新私钥请求,例如,通过在管理公钥的密钥管理页面,点击更新密钥控件,从而通过调用密钥更新接口,发起私钥更新,通过输入新的公钥及验证码,完成API接口密钥更新。
作为一示例,利用https协议发起API服务请求及更新私钥请求,请求遵循RESTFUL方法,并通过数字签名完成请求。
在本实施例中,用户在将待上链数据进行存证后,可以对存证进行查看,作为一示例,该方法还包括:
响应于用户发起的存证查看请求,调用存证获取列表接口,依据用户标识,获取所述用户的存证列表。
作为一示例,存证获取列表接口的路径为:- /evidence/list。存证获取列表接口的参数如表10所示;
表10
Figure SMS_10
在本实施例中,若调用存证获取列表接口成功,返回用户标识映射的存证列表,存证列表包含的参数如表11所示;
表11
Figure SMS_11
在本实施例中,用户还可以在存证列表中,查询某一存证的详细信息,作为一示例,该方法还包括:
响应于用户的详情查看请求,调用存证详情查询接口,依据用户输入的存证标识,获取该存证标识对应的存证详情。
作为一示例,存证详情查询接口的路径为:- /evidence/detail。
在本实施例中,用户在展示的存证列表中,点击某一存证,从而发起详情查看请求,存证详情查询接口的参数如表12所示;
表12
Figure SMS_12
若调用存证详情查询接口成功,返回存证详情数据如表13所示;
表13
Figure SMS_13
下面参考图3,图3示出了本公开的基于应用程序接口的区块链数据上链方法的一个实施例中对文件进行核验的流程图,如图3所示,在本实施例中,还可以对区块链上的存证文件进行校核,以确定存证文件是否遭到篡改,因而,该流程可以包括以下步骤。
步骤310、响应于用户的文件校核请求,所述文件校核请求中携带有待核验文件的区块基础标识,所述区块基础标识通过所述用户从嵌入有存证证书的上链数据中获取;
在本实施例中,用户从本地设备存储的文件中,选取待核验文件并打开,从嵌入有存证证书的待核验文件(上链数据)中,获取区块基础标识,发起文件校核请求。
步骤320、调用存证下载接口,依据区块基础标识对应的存储地址,获取待核验文件;
在本实施例中,存证下载接口的路径为:- /file/download/{fileKey}。
存证下载接口的请求参数如表14所示;
表14
Figure SMS_14
作为一示例,若调用存证下载接口成功,返回存证文件(待核验文件)以及文件名,其中,存证文件携带在http请求返回结果的body,文件名存放在http请求的header中,header的名称是Content-Disposition。
步骤330、从嵌入有存证证书的上链数据中,滤除所述存证证书,得到上链原数据,基于所述待核验文件以及所述上链原数据,进行数据核验。
在本实施例中,对嵌入存证证书的上链数据,滤除嵌入的存证证书,得到原始的上链数据,将该原始的上链数据与依据区块基础标识获取的待核验文件进行校验,若一致,文件核验通过,若不一致,文件核验未通过,通知用户以进行相应处理。
作为另一示例,本公开的基于应用程序接口的区块链数据上链方法,还包括以下步骤。
响应于所述用户的数据核验请求,所述数据核验请求中携带有哈希值,所述哈希值通过所述用户从嵌入有数字水印的上链数据中获取;
基于所述哈希值,获取该哈希值对应的存证证书,提取获取的存证证书中的哈希值,若获取的哈希值与所述数据核验请求中携带的哈希值一致,通过所述数据核验请求。
在本实施例中,利用嵌入有存证证书的原始数据中存证证书包含的哈希值,获取区块链上该哈希值对应的存证证书,通过比较两份存证证书中的哈希值是否一致,进行数据核验。
下面参考图4,图4示出了本公开的基于应用程序接口的区块链数据上链装置的一个实施例的结构示意图,如图4所示,该装置包括:
文件标识模块401,被配置成响应于用户的数据上链请求,所述数据上链请求中携带有待上链文件存储路径及文件类型,调用应用程序接口中的文件上传接口,获取待上链文件标识;
本实施例中,请求中包括请求路径,其中,请求路径包括API地址以及API接口名称。
存证标识模块402,被配置成确定文件上传接口调用成功,依据待上链文件对应的存证类型,调用该存证类型对应的应用程序接口中的存证接口,从所述待上链文件存储路径获取所述文件类型对应的待上链文件,生成所述待上链文件的存证标识;
在本实施例中,作为一示例,存证类型为文件存证,存证标识模块402具体用于:
调用应用程序接口中的文件存证接口,从所述待上链文件存储路径,获取待上链文件的容量,确定所述待上链文件的容量小于所述文件类型对应的存储容量阈值,读取所述待上链文件。
在本实施例中,作为另一示例,存证类型为哈希存证,存证标识模块402具体用于:
调用应用程序接口中的哈希存证接口,从所述待上链文件存储路径,读取所述文件类型对应的待上链文件,对读取的待上链文件进行哈希值计算,得到所述待上链文件的哈希值。
存证存储模块403,被配置成调用应用程序接口中的存证服务接口,对所述用户进行签名验证后,将所述待上链文件存储至区块链,基于所述待上链文件标识、存证标识,生成所述待上链文件的存证证书,将该存证证书返回给所述用户,以便所述用户将所述存证证书嵌入本地设备存储的所述待上链文件中。
在本实施例中,所述将所述存证证书嵌入本地设备存储的所述待上链文件中,包括:
生成所述存证证书的数字水印;
将所述数字水印作为所述待上链数据的背景数据,融合至所述待上链数据中。
在本实施例中,作为一示例,该装置还包括:
密钥模块(图中未示出),被配置成响应于利用超文本传输协议发起的应用程序接口服务请求,调用应用程序接口密钥设置接口,生成包含公钥和私钥的应用程序接口密钥。
在本实施例中,作为另一示例,该装置还包括:
查看模块,被配置成响应于用户发起的存证查看请求,调用存证获取列表接口,依据用户标识,获取所述用户的存证列表。
在本实施例中,作为再一示例,该装置还包括:
文件核验模块,被配置成响应于用户的文件校核请求,所述文件校核请求中携带有待核验文件的区块基础标识,所述区块基础标识通过所述用户从嵌入有存证证书的上链数据中获取;调用存证下载接口,依据所述区块基础标识对应的存储地址,获取待核验文件;从嵌入有存证证书的上链数据中,滤除所述存证证书,得到上链原数据,基于所述待核验文件以及所述上链原数据,进行数据核验。
在本实施例中,作为再一示例,该装置还包括:
哈希核验模块,被配置成响应于所述用户的数据核验请求,所述数据核验请求中携带有哈希值,所述哈希值通过所述用户从嵌入有数字水印的上链数据中获取;基于所述哈希值,获取该哈希值对应的存证证书,提取获取的存证证书中的哈希值,若获取的哈希值与所述数据核验请求中携带的哈希值一致,通过所述数据核验请求。
在本实施例中,作为再一示例,该装置还包括:
详情获取模块,被配置成响应于用户的详情查看请求,调用存证详情查询接口,依据用户输入的存证标识,获取该存证标识对应的存证详情。
另外,本公开实施例还提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的基于应用程序接口的区块链数据上链方法。
图5为本公开电子设备一个应用实施例的结构示意图。下面,参考图5来描述根据本公开实施例的电子设备。
如图5所示,电子设备包括一个或多个处理器和存储器。
处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的各个实施例的基于应用程序接口的区块链数据上链方法以及/或者其他期望的功能。
在一个示例中,电子设备还可以包括:输入装置和输出装置,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入设备还可以包括例如键盘、鼠标等等。
该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图5中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的基于应用程序接口的区块链数据上链方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的基于应用程序接口的区块链数据上链方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (11)

1.一种基于应用程序接口的区块链数据上链方法,其特征在于,包括:
响应于用户的数据上链请求,调用应用程序接口中的文件上传接口,获取待上链文件标识,其中,所述数据上链请求中携带有待上链文件存储路径及文件类型;
响应于文件上传接口调用成功,依据待上链文件对应的存证类型,调用该存证类型对应的应用程序接口中的存证接口,从所述待上链文件存储路径获取所述文件类型对应的待上链文件,生成所述待上链文件的存证标识;
调用应用程序接口中的存证服务接口,对所述用户进行签名验证后,将所述待上链文件存储至区块链,基于所述待上链文件标识、存证标识,生成所述待上链文件的存证证书,将该存证证书返回给所述用户,以便所述用户将所述存证证书嵌入本地设备存储的所述待上链文件中;
响应于利用超文本传输协议发起的应用程序接口服务请求,调用应用程序接口密钥设置接口,生成包含公钥和私钥的应用程序接口密钥;在生成应用程序接口密钥时,利用国密算法密钥对生成工具,在展示密钥工具生成页面的本地浏览器上,利用用户的签名生成。
2.根据权利要求1所述的方法,其特征在于,所述存证类型为文件存证,调用该存证类型对应的应用程序接口中的存证接口,从所述待上链文件存储路径获取所述文件类型对应的待上链文件,包括:
调用应用程序接口中的文件存证接口,从所述待上链文件存储路径,获取待上链文件的容量,确定所述待上链文件的容量小于所述文件类型对应的存储容量阈值,读取所述待上链文件。
3.根据权利要求1所述的方法,其特征在于,所述存证类型为哈希存证,调用该存证类型对应的应用程序接口中的存证接口,从所述待上链文件存储路径获取所述文件类型对应的待上链文件,包括:
调用应用程序接口中的哈希存证接口,从所述待上链文件存储路径,读取所述文件类型对应的待上链文件,对读取的待上链文件进行哈希值计算,得到所述待上链文件的哈希值。
4.根据权利要求1所述的方法,其特征在于,所述将所述存证证书嵌入本地设备存储的所述待上链文件中,包括:
生成所述存证证书的数字水印;
将所述数字水印作为所述待上链数据的背景数据,融合至所述待上链数据中。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
响应于用户发起的存证查看请求,调用存证获取列表接口,依据用户标识,获取所述用户的存证列表。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
响应于用户的文件校核请求,所述文件校核请求中携带有待核验文件的区块基础标识,所述区块基础标识通过所述用户从嵌入有存证证书的上链数据中获取;
调用存证下载接口,依据所述区块基础标识对应的存储地址,获取待核验文件;
从嵌入有存证证书的上链数据中,滤除所述存证证书,得到上链原数据,基于所述待核验文件以及所述上链原数据,进行数据核验。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
响应于所述用户的数据核验请求,所述数据核验请求中携带有哈希值,所述哈希值通过所述用户从嵌入有数字水印的上链数据中获取;
基于所述哈希值,获取该哈希值对应的存证证书,提取获取的存证证书中的哈希值,若获取的哈希值与所述数据核验请求中携带的哈希值一致,通过所述数据核验请求。
8.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
响应于用户的详情查看请求,调用存证详情查询接口,依据用户输入的存证标识,获取该存证标识对应的存证详情。
9.一种基于应用程序接口的区块链数据上链装置,其特征在于,包括:
文件标识模块,被配置成响应于用户的数据上链请求,所述数据上链请求中携带有待上链文件存储路径及文件类型,调用应用程序接口中的文件上传接口,获取待上链文件标识;
存证标识模块,被配置成确定文件上传接口调用成功,依据待上链文件对应的存证类型,调用该存证类型对应的应用程序接口中的存证接口,从所述待上链文件存储路径获取所述文件类型对应的待上链文件,生成所述待上链文件的存证标识;
存证存储模块,被配置成调用应用程序接口中的存证服务接口,对所述用户进行签名验证后,将所述待上链文件存储至区块链,基于所述待上链文件标识、存证标识,生成所述待上链文件的存证证书,将该存证证书返回给所述用户,以便所述用户将所述存证证书嵌入本地设备存储的所述待上链文件中;
密钥模块,被配置成响应于利用超文本传输协议发起的应用程序接口服务请求,调用应用程序接口密钥设置接口,生成包含公钥和私钥的应用程序接口密钥;在生成应用程序接口密钥时,利用国密算法密钥对生成工具,在展示密钥工具生成页面的本地浏览器上,利用用户的签名生成。
10.一种电子设备,其特征在于,包括:存储器,用于存储计算机程序产品;处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述权利要求1-8中任一所述的基于应用程序接口的区块链数据上链方法。
11.一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时实现上述权利要求1至8中任一所述的基于应用程序接口的区块链数据上链方法。
CN202310431485.9A 2023-04-20 2023-04-20 基于应用程序接口的区块链数据上链方法、装置和介质 Active CN116166736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310431485.9A CN116166736B (zh) 2023-04-20 2023-04-20 基于应用程序接口的区块链数据上链方法、装置和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310431485.9A CN116166736B (zh) 2023-04-20 2023-04-20 基于应用程序接口的区块链数据上链方法、装置和介质

Publications (2)

Publication Number Publication Date
CN116166736A CN116166736A (zh) 2023-05-26
CN116166736B true CN116166736B (zh) 2023-07-07

Family

ID=86422208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310431485.9A Active CN116166736B (zh) 2023-04-20 2023-04-20 基于应用程序接口的区块链数据上链方法、装置和介质

Country Status (1)

Country Link
CN (1) CN116166736B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019100991A1 (zh) * 2017-11-27 2019-05-31 北京京东金融科技控股有限公司 信息处理方法、装置及系统、存储介质、电子设备
CN111552676A (zh) * 2020-04-26 2020-08-18 北京众享比特科技有限公司 基于区块链的存证方法、装置、设备及介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107018125B (zh) * 2017-02-17 2019-08-09 阿里巴巴集团控股有限公司 一种区块链系统、数据存储方法及装置
CN110427774B (zh) * 2019-07-18 2021-01-12 创新先进技术有限公司 基于区块链的数据存证方法、数据校验方法及相关装置
CN111200501A (zh) * 2019-12-31 2020-05-26 杭州趣链科技有限公司 一种基于区块链的电子存证服务系统
CN111666540B (zh) * 2020-06-05 2022-05-13 上海冠勇信息科技有限公司 一种基于区块链与数字签名的版权存证确权方法
CN113850456A (zh) * 2021-04-21 2021-12-28 上海魔橙网络科技有限公司 一种基于联盟区块链的风险控制管理系统
CN113592495A (zh) * 2021-08-23 2021-11-02 中国银行股份有限公司 一种基于区块链的存证方法、装置及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019100991A1 (zh) * 2017-11-27 2019-05-31 北京京东金融科技控股有限公司 信息处理方法、装置及系统、存储介质、电子设备
CN111552676A (zh) * 2020-04-26 2020-08-18 北京众享比特科技有限公司 基于区块链的存证方法、装置、设备及介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A study on the challenges and solutions of blockchain interoperability;Siyu Zhu 等;《China Communications》;第 1-18页 *
Blockchain based certificate verification platform;Axel Curmi 等;《2018: Business Information Systems Workshops》;第211–216页 *
自适应打包:一种提高区块链共识效率的方法;杨国正 等;《计算机时代》(第10期);第117-120页 *

Also Published As

Publication number Publication date
CN116166736A (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
US11501533B2 (en) Media authentication using distributed ledger
US11949789B2 (en) Blockchain-enabled computing
US10579831B2 (en) Verification of data set components using digitally signed probabilistic data structures
US10958436B2 (en) Methods contract generator and validation server for access control of contract data in a distributed system with distributed consensus
CN105610810B (zh) 一种数据处理方法、客户端和服务器
CN110879903A (zh) 证据存储方法、证据验证方法及装置、设备和介质
US10754634B1 (en) Customized application package with context specific token
US8078880B2 (en) Portable personal identity information
US10078687B2 (en) Deletion of elements from a probabilistic data structure
US10263784B2 (en) Signature verification for data set components using probabilistic data structures
CN110888838A (zh) 基于对象存储的请求处理方法、装置、设备及存储介质
CN111901337A (zh) 文件上传方法、系统及存储介质
CN116150234A (zh) 基于区块链的数据存证方法、装置、设备和介质
CN116166736B (zh) 基于应用程序接口的区块链数据上链方法、装置和介质
US8230224B2 (en) Transmitting security data in multipart communications over a network
CN114422586B (zh) 事件通知方法、装置、计算机设备及存储介质
CN113806815B (zh) 一种文件签署方法和系统
CN115495770A (zh) 基于区块链的超期合约处理方法和装置、设备和介质
EP3347831B1 (en) Deletion of elements from a bloom filter
CN115987683B (zh) 区块链网络中节点访问控制方法、装置、设备和介质
CN115982748B (zh) 基于区块链的安全控制数据资源托管的方法、装置和设备
CN112422429B (zh) 数据请求处理方法和装置、存储介质和电子设备
JP2017175377A (ja) タイムスタンプ保管サーバ、携帯端末、電子データ保管サーバ、タイムスタンプ保管プログラム、携帯端末プログラム、及び、電子データ保管プログラム
CN117668317A (zh) 一种aigc作品的溯源方法和装置
WO2020240170A1 (en) Data verification

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