定制软件发布方法及系统与流程

文档序号:28618506发布日期:2022-01-22 13:10阅读:177来源:国知局
定制软件发布方法及系统与流程

1.本发明涉及软件开发技术领域,尤其涉及一种定制软件发布方法,以及一种定制软件发布系统。


背景技术:

2.随着互联网行业的快速发展,对软件应用提出了更高的要求。对于软件而言,从开发到正式投入应用不可避免的需要经过开发、测试、发布等过程。其中软件的发布是软件开发者在向使用者提供软件的一个重要环节。
3.然而,随着网络技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,用户需要更多适合自己使用的专门定制的软件,现有的软件定制方法因不能满足用户的需求而表现出了不足。


技术实现要素:

4.为了至少部分解决现有技术中存在的普通用户无法根据自己的需求定制软件,软件发布方管理员也不方便将定制软件直接发送至用户处的技术问题而完成了本发明。
5.根据本发明的一方面,提供一种定制软件发布方法,所述方法包括:
6.定制方用户节点通过区块链网络对待安装定制软件的第一机器进行身份认证审核,以使第一机器在身份认证审核通过之后作为第一机器节点加入到区块链网络中;
7.定制方用户节点发布定制软件信息至区块链网络中;
8.软件发布方管理员节点从区块链网络中获取定制软件信息并进行审核,再将审核结果广播至区块链网络中,若审核结果为审核通过,则根据定制软件信息将相应定制软件打包后通过区块链网络发布至第一机器节点。
9.可选地,所述方法还包括:
10.定制方用户节点从区块链网络中获取审核结果,若审核结果为审核未通过,则根据审核结果修改定制软件信息并重新发布至区块链网络中。
11.可选地,定制方用户节点通过区块链网络对待安装定制软件的第一机器进行身份认证审核,以使第一机器在身份认证审核通过之后作为第一机器节点加入到区块链网络中,包括:
12.定制方用户节点对待安装定制软件的第一机器生成公钥和私钥,并获取第一机器信息;
13.定制方用户节点向区块链网络发起创建新机器节点的请求,其中包含所述公钥和所述第一机器信息,以使区块链网络的全部在网第二机器节点基于所述请求对第一机器进行身份认证,若超过第一预设比例的在网第二机器节点验证通过,则认为第一机器的身份认证审核通过,并使其作为第一机器节点加入到区块链网络中。
14.可选地,定制方用户节点获取第一机器信息,具体为:
15.定制方用户节点将所述公钥发送至第一机器,以使第一机器对所述公钥及第一机
器信息进行格式化处理,并将格式化的公钥及第一机器信息发送至定制方用户节点;
16.所述创建新机器节点的请求具体包括:
17.格式化的公钥及第一机器信息。
18.可选地,在第一机器的身份认证审核通过之后,还包括:
19.第二机器节点将第一机器的身份认证信息和公钥记录于身份认证区块中。
20.可选地,定制方用户节点发布定制软件信息至区块链网络中,包括:
21.定制方用户节点将定制软件信息进行封装,并通过所述私钥对定制软件信息进行数字签名;
22.定制方用户节点通过第一机器节点向区块链网络发起创建存储区块的请求,其中包括所述数字签名,以使区块链网络的全部在网第二机器节点通过身份认证区块中的公钥进行数字签名的认证,若超过第二预设比例的在网第二机器节点认证通过,则创建存储区块并将定制软件信息记录于存储区块中。
23.可选地,所述创建存储区块的请求还包括第一机器信息;
24.在区块链网络的全部在网第二机器节点通过身份认证区块中的公钥进行数字签名的认证之前,还包括:
25.区块链网络的全部在网第二机器节点通过第一机器信息和身份认证区块中的第一机器的身份认证信息对第一机器节点进行二次身份认证,若超过第三预设比例的在网第二机器节点验证通过,再执行数字签名认证的步骤。
26.可选地,定制方用户节点生成公钥和私钥采用的算法为非对称加密算法。
27.可选地,所述第一机器信息包括:第一机器的主机名称、主机ip地址和端口号。
28.根据本发明的另一方面,提供一种定制软件发布系统,所述系统连接至区块链网络中的定制方用户节点、软件发布方管理员节点和若干机器节点,
29.定制方用户节点设置为,通过区块链网络对待安装定制软件的第一机器进行身份认证审核,以使第一机器在身份认证审核通过之后作为第一机器节点加入到区块链网络中;
30.定制方用户节点还设置为,发布定制软件信息至区块链网络中;
31.软件发布方管理员节点设置为,从区块链网络中获取定制软件信息并进行审核,再将审核结果广播至区块链网络中,若审核结果为审核通过,则根据定制软件信息将相应定制软件打包后通过区块链网络发布至第一机器节点。
32.可选地,定制方用户节点还设置为,从区块链网络中获取审核结果,若审核结果为审核未通过,则根据审核结果修改定制软件信息并重新发布至区块链网络中。
33.本发明提供的技术方案可以包括以下有益效果:
34.本发明提供的定制软件发布方法及系统,在待安装定制软件的第一机器身份认证审核通过并加入到区块链网络中后,软件发布方管理员对定制方用户发布至区块链网络中的定制软件信息进行审核,一旦审核通过,就可以根据定制软件信息将相应定制软件打包后通过区块链网络发布至第一机器节点,从而实现普通用户根据自己的需求定制软件,同时方便软件发布方管理员将定制软件发布至用户处。
35.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利
要求书以及附图中所特别指出的结构来实现和获得。
附图说明
36.附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
37.图1为本发明实施例提供的定制软件发布方法的流程示意图;
38.图2为本发明实施例提供的定制软件发布系统的原理示意图。
具体实施方式
39.为使本发明实施例的目的、技术方案和优点更加清楚,以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
40.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序;并且,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。
41.图1为本发明实施例提供的定制软件发布方法的流程示意图。如图1所示,所述方法包括如下步骤s101至s104。
42.s101.定制方用户节点通过区块链网络对待安装定制软件的第一机器进行身份认证审核,以使第一机器在身份认证审核通过之后作为第一机器节点加入到区块链网络中;
43.s102.定制方用户节点发布定制软件信息至区块链网络中;
44.s103.软件发布方管理员节点从区块链网络中获取定制软件信息并进行审核(即根据定制软件信息审核是否可以定制相应的软件),再将审核结果广播至区块链网络中,若审核结果为审核通过,则执行步骤s104;
45.s104.软件发布方管理员节点根据定制软件信息将相应定制软件打包后通过区块链网络发布至第一机器节点。
46.其中,区块链网络优选为5g(5th generation mobile communication technology,第五代移动通信技术)专网,利用5g高速率、低时延、高可靠的特性,进行定制软件信息的发布,并将定制软件发布至5g专网中相应的机器节点(第一机器节点)。
47.本实施例中,在待安装定制软件的第一机器身份认证审核通过并加入到区块链网络中后,软件发布方管理员对定制方用户发布至区块链网络中的定制软件信息进行审核,一旦审核通过,就可以根据定制软件信息将相应定制软件打包后通过区块链网络发布至第一机器节点,从而实现普通用户根据自己的需求定制软件,同时方便软件发布方管理员将定制软件发布至用户处。
48.在一种具体实施方式中,所述方法还包括如下步骤s105。
49.s105.定制方用户节点从区块链网络中获取审核结果,若审核结果为审核未通过,则根据审核结果修改定制软件信息,并返回步骤s102将修改后的定制软件信息重新发布至区块链网络中。
50.本实施例中,若软件发布方管理员节点对定制软件信息的审核未通过,则通知定制方用户节点修改定制软件信息并重新发布至区块链网络中,并且软件发布方管理员节点
还会对用户修改后的定制软件信息再次进行审核,以此类推,直至审核通过并根据修改后的定制软件信息将相应的定制软件打包后通过区块链网络发布至第一机器节点。
51.在一种具体实施方式中,步骤s101具体包括如下步骤s101a和s101b。
52.s101a.定制方用户节点对待安装定制软件的第一机器生成公钥和私钥,并获取第一机器信息(即第一机器的主机设备相关信息);
53.s101b.定制方用户节点向区块链网络发起创建新机器节点的请求,其中包含所述公钥和所述第一机器信息,以使区块链网络的全部在网第二机器节点基于所述请求对第一机器进行身份认证,若超过第一预设比例的在网第二机器节点验证通过,则认为第一机器的身份认证审核通过,并使其加入到区块链网络中。
54.其中,第一预设比例可由本领域技术人员根据实际情况进行设定与调整,例如可以为50%~60%,较优的,第一预设比例为51%。
55.本实施例中,在定制方用户节点将待安装定制软件的第一机器加入到区块链网络之前,需要对其进行身份认证审核,当第一机器的身份认证被超过第一预设比例的在网节点验证通过后,才将其作为第一机器节点加入到区块链网络中。
56.在一种具体实施方式中,在步骤s101a中,定制方用户节点获取第一机器信息具体为:定制方用户节点将所述公钥发送至第一机器,以使第一机器对所述公钥及第一机器信息进行格式化处理,并将格式化的公钥及第一机器信息发送至定制方用户节点。此外,定制方用户节点还可将所述私钥发送至第一机器中保存。
57.相应地,在步骤s101b中定制方用户节点向区块链网络发起的创建新机器节点的请求具体包括:格式化的公钥及第一机器信息。
58.在公钥及第一机器信息不是文件而是字符串的情况下,直接运行程序会报错,而将字符串格式的公钥及第一机器信息进行格式化处理就可以解决这一问题。因此,本实施例中,第一机器对公钥及第一机器信息进行格式化处理,并将格式化的公钥及第一机器信息发送至定制方用户节点,并由定制方用户节点向区块链网络发起创建新机器节点的请求后,区块链网络中的第二机器节点就可以直接识别并应用格式化的公钥及第一机器信息,并完成后续工作。
59.在一种具体实施方式中,在步骤s101b中第一机器的身份认证审核通过之后,还包括如下步骤s101c。
60.s101c.第二机器节点将第一机器的身份认证信息和公钥记录于身份认证区块中。
61.本实施例中,将第一机器的身份认证信息和公钥记录于身份认证区块中,可便于区块链网络中各在网节点应用。
62.在一种具体实施方式中,步骤s102具体包括如下步骤s102a和s102b。
63.s102a.定制方用户节点将定制软件信息进行封装,并通过所述私钥对定制软件信息进行数字签名;
64.s102b.定制方用户节点通过第一机器节点向区块链网络发起创建存储区块的请求,其中包括所述数字签名,以使区块链网络的全部在网第二机器节点通过身份认证区块中的公钥进行数字签名的认证,若超过第二预设比例的在网第二机器节点认证通过,则创建存储区块并将定制软件信息记录于存储区块中,从而将定制软件信息发布至区块链网络中。
65.其中,第二预设比例可由本领域技术人员根据实际情况进行设定与调整,例如可以为50%~60%,较优的,第二预设比例为51%。
66.本实施例中,定制方用户节点将创建存储区块的请求广播发送到区块链网络中的其他全部在网节点(为了与第一机器节点区分,称为第二机器节点),这些在网节点通过身份认证区块中的公钥进行数字签名的认证,只有超过第二预设比例的在网第二机器节点认证通过,才确认定制软件信息发送方(定制方用户节点)的身份,然后创建存储区块并将定制软件信息记录于存储区块中。
67.在一种具体实施方式中,步骤s102b发起的创建存储区块的请求还包括第一机器信息。
68.相应地,在步骤s102b中区块链网络的全部在网第二机器节点通过身份认证区块中的公钥进行数字签名的认证之前,还包括:
69.区块链网络的全部在网第二机器节点通过第一机器信息和身份认证区块中的第一机器的身份认证信息对第一机器节点进行二次身份认证,若超过第三预设比例的在网第二机器节点验证通过,再执行数字签名认证的步骤。
70.其中,第三预设比例可由本领域技术人员根据实际情况进行设定与调整,例如可以为50%~60%,较优的,第三预设比例为51%。
71.本实施例中,在对数字签名进行认证之前,再对第一机器节点进行一次身份认证审核,当第一机器节点的身份认证被超过第三预设比例的在网节点验证通过后,再执行数字签名认证的步骤,安全性更高。
72.需要说明的是,上述步骤的顺序只是为了说明本发明实施例而提出的一个具体实例,本发明对上述步骤的顺序不做限定,本领域技术人员在实际应用中可按需对其进行调整;而且上述步骤的序号大小也不限制其执行顺序。
73.在一种具体实施方式中,定制方用户节点生成公钥和私钥采用的算法为非对称加密算法。
74.本实施例中,定制方用户节点通过非对称加密算法对待安装定制软件的第一机器生成公钥和私钥。
75.非对称加密算法需要两个密钥:公开密钥(publickey,简称公钥)和私有密钥(privatekey,简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法的安全性高、保密性比较好。
76.进一步地,所述非对称加密算法为:rsa算法或椭圆曲线加密算法。
77.其中,rsa算法是1977年由罗纳德
·
李维斯特(ron rivest)、阿迪
·
萨莫尔(adi shamir)和伦纳德
·
阿德曼(leonard adleman)一起提出的。其原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
78.椭圆曲线加密算法即:elliptic curve cryptography,简称ecc,是基于椭圆曲线数学理论实现的一种非对称加密算法。相比rsa算法的优势是可以使用更短的密钥,来实现与rsa算法相当或更高的安全。
79.在一种具体实施方式中,所述第一机器信息包括:第一机器的主机名称、主机ip地
址(internet protocol address,互联网协议地址)和端口号。
80.本发明实施例提供的定制软件发布方法,利用区块链分布式去中心化、真实不可篡改和加密安全的特性,首先通过区块链网络对需要安装定制软件的机器进行身份认证审核,然后将用户定制软件的详细信息数据记录到区块链的存储区块中,软件发布方管理员就可以根据存储区块中记录的定制软件的详细信息数据打包定制软件,并通过区块链网络发布到第一机器节点,从而实现普通用户根据自己的需求定制软件,同时方便软件发布方管理员将定制软件发布至用户处;而且,所述定制软件发布方法通过区块链网络进行管理,可以保证定制流程真实可靠,并方便追溯,提高安全性以及后续运维的方便性。
81.图2为本发明实施例提供的定制软件发布系统的原理示意图。如图2所示,所述系统包括连接至区块链网络200中的定制方用户节点201、软件发布方管理员节点202和若干机器节点。
82.其中,定制方用户节点201设置为,通过区块链网络200对待安装定制软件的第一机器进行身份认证审核,以使第一机器在身份认证审核通过之后作为第一机器节点203加入到区块链网络200中;定制方用户节点201还设置为,发布定制软件信息至区块链网络200中;软件发布方管理员节点202设置为,从区块链网络200中获取定制软件信息并进行审核,再将审核结果广播至区块链网络中,若审核结果为审核通过,则根据定制软件信息将相应定制软件打包后通过区块链网络200发布至第一机器节点203。
83.本实施例中,在待安装定制软件的第一机器身份认证审核通过并加入到区块链网络中后,软件发布方管理员对定制方用户发布至区块链网络中的定制软件信息进行审核,一旦审核通过,就可以根据定制软件信息将相应定制软件打包后通过区块链网络发布至第一机器节点,从而实现普通用户根据自己的需求定制软件,同时方便软件发布方管理员将定制软件发布至用户处。
84.在一种具体实施方式中,定制方用户节点201还设置为,从区块链网络200中获取审核结果,若审核结果为审核未通过,则根据审核结果修改定制软件信息并重新发布至区块链网络200中。
85.本实施例中,若软件发布方管理员节点对定制软件信息的审核未通过,则通知定制方用户节点修改定制软件信息并重新发布至区块链网络中,并且软件发布方管理员节点还会对用户修改后的定制软件信息再次进行审核,以此类推,直至审核通过并根据修改后的定制软件信息将相应的定制软件打包后通过区块链网络发布至第一机器节点。
86.在一种具体实施方式中,定制方用户节点201具体设置为,对待安装定制软件的第一机器生成公钥和私钥,并获取第一机器信息(即第一机器的主机设备相关信息);以及,向区块链网络200发起创建新机器节点的请求,其中包含所述公钥和所述第一机器信息,以使区块链网络200的全部在网第二机器节点204基于所述请求对第一机器进行身份认证,若超过第一预设比例的在网第二机器节点204验证通过,则认为第一机器的身份认证审核通过,并使其作为第一机器节点加入到区块链网络200中。
87.其中,第一预设比例可由本领域技术人员根据实际情况进行设定与调整,例如可以为50%~60%,较优的,第一预设比例为51%。
88.本实施例中,在定制方用户节点将待安装定制软件的第一机器加入到区块链网络之前,需要对其进行身份认证审核,当第一机器的身份认证被超过第一预设比例的在网节
点验证通过后,才将第一机器节点加入到区块链网络中。
89.在一种具体实施方式中,定制方用户节点201还设置为,将所述公钥发送至第一机器,以使第一机器对所述公钥及第一机器信息进行格式化处理,并将格式化的公钥及第一机器信息发送至定制方用户节点201。此外,定制方用户节点201还可将所述私钥发送至第一机器中保存。
90.相应地,定制方用户节点向区块链网络发起的创建新机器节点的请求具体包括:格式化的公钥及第一机器信息。
91.在公钥及第一机器信息不是文件而是字符串的情况下,直接运行程序会报错,而将字符串格式的公钥及第一机器信息进行格式化处理就可以解决这一问题。因此,本实施例中,第一机器对公钥及第一机器信息进行格式化处理,并将格式化的公钥及第一机器信息发送至定制方用户节点,并由定制方用户节点向区块链网络发起创建新机器节点的请求后,区块链网络中的第二机器节点就可以直接识别并应用格式化的公钥及第一机器信息,并完成后续工作。
92.在一种具体实施方式中,在第一机器的身份认证审核通过之后,第二机器节点204设置为将第一机器的身份认证信息和公钥记录于身份认证区块中。
93.本实施例中,将第一机器的身份认证信息和公钥记录于身份认证区块中,可便于区块链网络中各在网节点应用。
94.在一种具体实施方式中,定制方用户节点201具体设置为,将定制软件信息进行封装,并通过所述私钥对定制软件信息进行数字签名;以及,通过第一机器节点203向区块链网络200发起创建存储区块的请求,其中包括所述数字签名,以使区块链网络200的全部在网第二机器节点204通过身份认证区块中的公钥进行数字签名的认证,若超过第二预设比例的在网第二机器节点204认证通过,则创建存储区块并将定制软件信息记录于存储区块中,从而将定制软件信息发布至区块链网络200中。
95.其中,第二预设比例可由本领域技术人员根据实际情况进行设定与调整,例如可以为50%~60%,较优的,第二预设比例为51%。
96.本实施例中,定制方用户节点将创建存储区块的请求广播发送到区块链网络中的其他全部在网节点(为了与第一机器节点区分,称为第二机器节点),这些在网节点通过身份认证区块中的公钥进行数字签名的认证,只有超过第二预设比例的在网第二机器节点认证通过,才确认定制软件信息发送方(定制方用户节点)的身份,然后创建存储区块并将定制软件信息记录于存储区块中。
97.在一种具体实施方式中,创建存储区块的请求还包括第一机器信息。
98.相应地,在区块链网络200的全部在网第二机器节点204通过身份认证区块中的公钥进行数字签名的认证之前,区块链网络200的全部在网第二机器节点204设置为,通过第一机器信息和身份认证区块中的第一机器的身份认证信息对第一机器节点203进行二次身份认证,若超过第三预设比例的在网第二机器节点203验证通过,再执行数字签名认证的操作。
99.其中,第三预设比例可由本领域技术人员根据实际情况进行设定与调整,例如可以为50%~60%,较优的,第三预设比例为51%。
100.本实施例中,在对数字签名进行认证之前,再对第一机器节点进行一次身份认证
审核,当第一机器节点的身份认证被超过第三预设比例的在网节点验证通过后,再执行数字签名认证的步骤,安全性更高。
101.在一种具体实施方式中,定制方用户节点生成公钥和私钥采用的算法为非对称加密算法。进一步地,所述非对称加密算法为:rsa算法或椭圆曲线加密算法。
102.在一种具体实施方式中,所述第一机器信息包括:第一机器的主机名称、主机ip地址和端口号。
103.本发明实施例提供的定制软件发布系统,利用区块链分布式去中心化、真实不可篡改和加密安全的特性,首先通过区块链网络对需要安装定制软件的机器进行身份认证审核,然后将用户定制软件的详细信息数据记录到区块链的存储区块中,软件发布方管理员就可以根据存储区块中记录的定制软件的详细信息数据打包定制软件,并通过区块链网络发布到第一机器节点,从而实现普通用户根据自己的需求定制软件,同时方便软件发布方管理员将定制软件发布至用户处;而且,所述定制软件发布系统通过区块链网络进行管理,可以保证定制流程真实可靠,并方便追溯,提高安全性以及后续运维的方便性。
104.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
105.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1