一种基于区块链的软件插件市场管理平台实现方法和装置与流程

文档序号:32116868发布日期:2022-11-09 06:16阅读:84来源:国知局
一种基于区块链的软件插件市场管理平台实现方法和装置与流程

1.本说明书涉及计算机软件技术领域,尤其涉及一种基于区块链的软件插件市场管理平台实现方法、装置、电子设备和存储介质。


背景技术:

2.一款软件为了扩充自身功能和特性,通常会提供一些插件开发标准,并提供官方插件市场,方便开发者根据插件开发标准开发新插件后发布到插件市场,例如google chrome的chrome web store以及visual studio code的extension marketplace等。但存在如下方面问题:一方面,通常插件市场需要运行一个服务平台用于获取可以使用的插件,软件提供方还需要运营该平台,保障该平台的高可用性,这对一些开源软件来说是额外的负担;另一方面,一个插件能否出现在这个服务列表中,需要该服务平台的管理审批审核,管理员不在同一个时区,会延误插件的发布或更新;第三方面,可能出现平台管理员出于个人喜恶、利益驱动去对某些插件做出违规操作。因此,如何克服上述问题,改进软件插件市场的运行方式是需要解决的技术问题。


技术实现要素:

3.本说明书实施例的目的是针对上述问题,提供一种基于区块链的软件插件市场管理平台实现方法、装置、电子设备和存储介质。
4.为解决上述技术问题,本说明书实施例是这样实现的:
5.第一方面,提出了一种基于区块链的软件插件市场管理平台实现方法,包括区块链、插件发布方、插件使用方,部署智能合约至所述区块链运行,所述智能合约的方法至少包括对软件插件的发布、更新、授权和下载;包括:
6.响应于所述插件发布方调用所述智能合约的发布方法,提交所述插件基本信息至所述区块链,所述插件基本信息至少包括元数据、版本数据、授权记录;
7.响应于所述插件发布方调用所述智能合约的更新方法,对所述插件的版本数据进行验证,以及响应于验证获得通过,将所述插件正式发布至所述区块链;
8.响应于所述插件使用方调用所述智能合约的授权方法,提交授权申请以及响应于授权申请获得通过将所述插件使用方的账户地址列为授权地址并记载于所述区块链中;
9.响应于所述插件使用方调用所述智能合约的下载方法,验证其账户地址是否为授权地址以及当通过验证后获得插件的下载信息。
10.第二方面,提出了一种基于区块链的软件插件市场管理平台实现装置,包括区块链、插件发布方、插件使用方,包括:
11.第一模块,用于部署智能合约至所述区块链运行,所述智能合约的方法至少包括对软件插件的发布、更新、授权和下载;
12.第二模块,用于响应于所述插件发布方调用所述智能合约的发布方法,提交所述插件基本信息至所述区块链,所述插件基本信息至少包括元数据、版本数据、授权记录;
13.第三模块,用于响应于所述插件发布方调用所述智能合约的更新方法,对所述插件的版本数据进行验证,以及响应于验证获得通过,将所述插件正式发布至所述区块链;
14.第四模块,用于响应于所述插件使用方调用所述智能合约的授权方法,提交授权申请以及响应于授权申请获得通过将所述插件使用方的账户地址列为授权地址并记载于所述区块链中;
15.第五模块,用于响应于所述插件使用方调用所述智能合约的下载方法,验证其账户地址是否为授权地址以及当通过验证后获得插件的下载信息。
16.第三方面,提出了一种电子设备,包括:处理器;以及
17.被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第一方面所述的方法。
18.第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第一方面所述的方法。
19.本说明书可以达到至少以下技术效果:
20.本发明方案所有插件发布、更新、授权和下载记录均采用智能合约方式存储于区块链上,插件发布方和使用方均可以访问区块链发布、获取所有插件信息;同时能够对插件使用方使用插件的授权进行验证。方案还可通过扣除插件使用方合约积分给予插件发布方激励,增加插件市场的活力,从而扩展软件常见市场生态。
附图说明
21.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1为本说明书实施例提供的基于区块链的软件插件市场管理平台实现方法示意图之一。
23.图2为本说明书实施例提供的基于区块链的软件插件市场管理平台实现方法示意图之二。
24.图3为本说明书实施例提供的基于区块链的软件插件市场管理平台实现装置示意图之一。
25.图4为本说明书实施例提供的基于区块链的软件插件市场管理平台实现装置示意图之二。
26.图5为本说明书的一个实施例提供的电子设备的结构示意图。
具体实施方式
27.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于
本说明书保护的范围。
28.下面通过具体的实例对本说明书所涉及的一种基于区块链的软件插件市场管理平台实现方案进行详述。
29.关键术语
30.区块链技术:是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有不可伪造、全程留痕、可以追溯、公开透明、集体维护等特征。基于这些特征,区块链技术奠定了坚实的信任基础,创造了可靠的合作机制,具有广阔的运用前景。按照准入机制分类,区块链分为公有链、联盟链和私有链。
31.智能合约:运行在区块链系统内的程序,具有按设定逻辑自动执行、执行结果不可窜改的特性。智能合约是代码和数据的集合,其整个交易过程通过数字代码来体现,在满足交易条件的情况下便可自动完成交易。《2018年中国区块链产业白皮书》对智能合约进行了定义:“由事件驱动的、具有状态的、获得多方承认的、运行在区块链之上的且能够根据预设条件自动处理资产的程序。
32.软件插件software plugin及软件插件市场:也称为软件扩展,是一种遵循一定规范的应用程序接口编写出来的程序,主要是用来扩展软件功能,很多软件都有插件,有些由软件公司自己开发,有些则是第三方或软件用户个人开发。软件插件市场则是为软件插件的开发方、使用方提供的软件插件发布、展示、下载功能的软件平台,软件公司、第三方、用户个人等既可作为开发方又可作为使用方,在该软件插件市场进行开放式操作。
33.实施例一
34.本发明的目的是如何克服传统软件插件市场的技术缺陷,将区块链技术引入到软件插件市场,并通过改进软件插件市场的运行方式提升软件插件市场活力,从而扩展软件常见市场生态。为此,本发明实施例使用智能合约的方式,来实现基于区块链的软件插件市场。由于智能合约运行在区块链系统内,且具有按设定逻辑自动执行、执行结果不可窜改的特性,其代码和数据集合使整个交易过程通过数字代码来体现,在满足交易条件的情况下便可自动完成交易,无需使用中心服务器+软件平台的应用架构,使得智能合约就可以实现软件插件从发布、更新、授权、下载等全过程服务。为此,本发明实施例的方案概括讲,是通过定义区块链智能合约实现插件市场应用功能,在智能合约中定义软件插件的元数据结构等关键信息,并调用智能合约对软件插件的关键信息进行操作。因此,本发明一种实施例的基于区块链的软件插件市场管理平台实现方法,如图1所示,包括区块链、插件发布方、插件使用方,包括:
35.步骤101:部署智能合约至所述区块链运行,所述智能合约的方法至少包括对软件插件的发布、更新、授权和下载。
36.具体地,智能合约的对应方法包括:发布方法,用于接收插件发布方提交的插件元信息;更新方法,用于验证及接收插件发布方提交的插件的版本信息,校验版本号是否已经存在及否满足发布规则;授权方法,用于接收插件使用方的授权申请,并可以根据发布方设置的授权费用扣除使用方的合约积分,扣费成功后存储在授权记录中;下载方法接口,用于
验证提交者的账户地址是否在授权记录中,若成功返回包含可获取插件包的下载信息。
37.步骤102:响应于所述插件发布方调用所述智能合约的发布方法,提交所述插件基本信息至所述区块链,所述插件基本信息至少包括元数据、版本数据、授权记录。
38.可选地,所述插件元数据包括插件名称和插件说明,还包括授权费用用于设置授权使用时扣除所述插件使用方的合约积分。具体地,插件元数据中插件名称标识插件具体命名;插件说明标识插件的用途;授权费用用于可设置是否需要授权费用,如果需要在授权时应该扣除申请者的合约积分。
39.可选地,所述插件版本数据包括版本号、变更说明、插件包哈希以及插件包下载信息。具体地,插件版本号标识每一个插件具有不同版本号且对于同一插件是不应重复的;变更说明标识本版本变更的内容;包哈希描述插件下载包的哈希,可包含哈希算法声明,例如:
40.sha256:4e02ed2aa796bd179965041afa092c55b51fb077de19d61835673cc80672c01c;包下载地址信息可以是下载地址,也可以是一个文件标识符,例如基于去中心化协议ipfs协议的cid,或者一个中心化的对象存储服务的objectid。
41.可选地,所述插件授权记录包括经过授权的版本号和获得授权的所述插件使用方账户地址。
42.可选地,所述插件基本信息还包括合约积分用于记录所述插件使用方账户地址及合约积分余额。
43.步骤103:响应于所述插件发布方调用所述智能合约的更新方法,对所述插件的版本数据进行验证,以及响应于验证获得通过,将所述插件正式发布至所述区块链。
44.步骤104:响应于所述插件使用方调用所述智能合约的授权方法,提交授权申请以及响应于授权申请获得通过将所述插件使用方的账户地址列为授权地址并记载于所述区块链中。
45.步骤105:响应于所述插件使用方调用所述智能合约的下载方法,验证其账户地址是否为授权地址以及当通过验证后获得插件的下载信息。
46.本实施例提出一种基于区块链的软件插件市场管理平台实现方法的另一种实现方案如图2所示,还包括:
47.步骤106:响应于所述插件使用方调用所述智能合约的授权方法完成授权后,根据所述授权费用扣除所述插件使用方所述合约积分,以及扣除成功后更新所述授权记录和所述合约积分余额。
48.应理解,软件插件市场通过区块链智能合约实现方式中,对智能合约实现的编程语言并没有特定限制,凡是能够实现本发明实施例的技术效果均符合本发明的技术方案,例如可通过基于evm的solidity、基于容器技术的chaincode或者基于jvm的java具体实现。
49.实施例二
50.图3为本说明书的一个实施例提供的基于区块链的软件插件市场管理平台实现装置300的结构示意图。请参考图3,在一种实施方式中基于区块链的软件插件市场管理平台实现装置,包括区块链、插件发布方、插件使用方,包括:
51.第一模块301,用于部署智能合约至所述区块链运行,所述智能合约的方法至少包括对软件插件的发布、更新、授权和下载;
52.第二模块302,用于响应于所述插件发布方调用所述智能合约的发布方法,提交所述插件基本信息至所述区块链,所述插件基本信息至少包括元数据、版本数据、授权记录;
53.第三模块303,用于响应于所述插件发布方调用所述智能合约的更新方法,对所述插件的版本数据进行验证,以及响应于验证获得通过,将所述插件正式发布至所述区块链;
54.第四模块304,用于响应于所述插件使用方调用所述智能合约的授权方法,提交授权申请以及响应于授权申请获得通过将所述插件使用方的账户地址列为授权地址并记载于所述区块链中;
55.第五模块305,用于响应于所述插件使用方调用所述智能合约的下载方法,验证其账户地址是否为授权地址以及当通过验证后获得插件的下载信息。
56.本实施例提出一种基于区块链的软件插件市场管理平台实现装置另一种实现方案如图4所示,还包括:
57.第六模块306,用于响应于所述插件使用方调用所述智能合约的授权方法完成授权后,根据所述授权费用扣除所述插件使用方所述合约积分,以及扣费成功后更新所述授权记录和所述合约积分余额。
58.应理解,本说明书实施例的基于区块链的软件插件市场管理平台实现装置还可执行图1至图3中基于区块链的软件插件市场管理平台实现装置(或设备)执行的方法,并实现基于区块链的软件插件市场管理平台实现装置(或设备)在图1至图3所示实例的功能,在此不再赘述。
59.实施例三
60.图5是本说明书的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
61.处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
62.存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
63.处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成共享资源访问控制装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
64.包括区块链、插件发布方、插件使用方,部署智能合约至所述区块链运行,所述智能合约的方法至少包括对软件插件的发布、更新、授权和下载;包括:
65.响应于所述插件发布方调用所述智能合约的发布方法,提交所述插件基本信息至所述区块链,所述插件基本信息至少包括元数据、版本数据、授权记录;
66.响应于所述插件发布方调用所述智能合约的更新方法,对所述插件的版本数据进行验证,以及响应于验证获得通过,将所述插件正式发布至所述区块链;
67.响应于所述插件使用方调用所述智能合约的授权方法,提交授权申请以及响应于授权申请获得通过将所述插件使用方的账户地址列为授权地址并记载于所述区块链中;
68.响应于所述插件使用方调用所述智能合约的下载方法,验证其账户地址是否为授权地址以及当通过验证后获得插件的下载信息。
69.上述如本说明书图1至图3所示实施例揭示的一种基于区块链的软件插件市场管理平台实现方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
70.当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
71.实施例四
72.本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1至图5所示实施例的方法,并具体用于执行以下方法:
73.包括区块链、插件发布方、插件使用方,部署智能合约至所述区块链运行,所述智能合约的方法至少包括对软件插件的发布、更新、授权和下载;包括:
74.响应于所述插件发布方调用所述智能合约的发布方法,提交所述插件基本信息至所述区块链,所述插件基本信息至少包括元数据、版本数据、授权记录;
75.响应于所述插件发布方调用所述智能合约的更新方法,对所述插件的版本数据进行验证,以及响应于验证获得通过,将所述插件正式发布至所述区块链;
76.响应于所述插件使用方调用所述智能合约的授权方法,提交授权申请以及响应于授权申请获得通过将所述插件使用方的账户地址列为授权地址并记载于所述区块链中;
77.响应于所述插件使用方调用所述智能合约的下载方法,验证其账户地址是否为授权地址以及当通过验证后获得插件的下载信息。
78.总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护
范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
79.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子数据载体设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
80.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
81.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
82.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1