基于域名系统DNS的区块链服务发现方法及装置与流程
未命名
07-20
阅读:126
评论:0
基于域名系统dns的区块链服务发现方法及装置技术领域:
:1.本发明涉及区块链
技术领域:
:,尤其涉及一种基于域名系统dns的区块链服务发现方法及装置。
背景技术:
::2.随着区块链技术的发展,其应用场景扩展到金融以外的众多领域,不断涌现出越来越多的区块链上层应用。例如,区块链部署业务涵盖供应链金融、医疗、数字资产、物流信息、法务存证、正品追溯、租赁房源溯源、互助保险等场景。各公司分别推出了多项区块链服务,例如基于真实交易数据构建的“区块链+供应链金融解决方案”,基于区块链架构搭建的“区块链防伪追溯平台”等。3.现有技术中,由于当前区块链服务种类繁多,并且区块链服务的提供方也有差异不同,用户难以快速发现符合用户需求的区块链应用,并且也无法判断每个区块链服务的安全性,导致发现并接入区块链服务的效率较低,用户体验差。技术实现要素:4.针对现有技术存在的问题,本发明提供一种基于域名系统dns的区块链服务发现方法及装置。5.本发明提供一种基于域名系统dns的区块链服务发现方法,包括:6.终端从区块链域名管理设备获取至少一个区块链域名;各所述区块链域名与服务类别和/或服务提供商对应;不同的区块链域名对应不同的区块链;7.所述终端从各所述区块链域名中选取目标区块链域名;所述目标区块链域名对应目标区块链;8.所述终端基于所述目标区块链域名,从dns服务器获取所述目标区块链域名对应的区块链标识bid资源记录;所述bid资源记录中包括区块链服务的配置信息;9.所述终端基于所述配置信息,与所述目标区块链域名对应的区块链服务器建立通信连接。10.根据本发明提供的一种基于dns的区块链服务发现方法,所述终端从区块链域名管理设备获取至少一个区块链域名,包括:11.所述终端向所述区块链域名管理设备发送查询请求,所述查询请求中包括服务类别和/或服务提供商;12.所述终端接收来自所述区块链域名管理设备的查询响应;13.其中,所述查询响应中包括以下至少一项:14.与所述服务类别对应的服务类别域名及至少一个区块链域名;15.所述服务提供商提供的服务类别及对应的至少一个区块链域名。16.根据本发明提供的一种基于dns的区块链服务发现方法,所述区块链服务器的配置信息包括以下至少一项:17.区块链的类型;18.区块链服务器的ip地址的类型;19.服务类别;20.连接区块链服务器的端口号;21.服务器主机名hostname;22.区块链服务器的ip地址;23.接入区块链服务的统一资源定位器url。24.根据本发明提供的一种基于dns的区块链服务发现方法,所述方法还包括:25.所述终端在传输层安全tls握手阶段,接收所述区块链服务器发送的证书;26.所述终端在所述证书满足目标条件的情况下,确定所述区块链服务器为有效;27.其中,所述目标条件包括:所述证书中主题别名subjectalternativename的域名字段包含所述目标区块链域名,且所述证书中的使用者字段与所述bid资源记录中包括的hostname字段值相同。28.本发明还提供一种基于域名系统dns的区块链服务发现方法,包括:29.区块链域名管理设备向终端提供至少一个区块链域名;各所述区块链域名与服务类别和/或服务提供商对应;不同的区块链域名对应不同的区块链。30.根据本发明提供的一种基于dns的区块链服务发现方法,所述区块链域名管理设备向终端提供至少一个区块链域名,包括:31.所述区块链域名管理设备接收来自所述终端的查询请求,所述查询请求中包括服务类别和/或服务提供商;32.所述区块链域名管理设备向所述终端发送查询响应;33.其中,所述查询响应中包括以下至少一项:34.与所述服务类别对应的服务类别域名及至少一个区块链域名;35.所述服务提供商提供的服务类别及对应的至少一个区块链域名。36.根据本发明提供的一种基于dns的区块链服务发现方法,所述方法还包括:37.所述区块链域名管理设备获取多个区块链域名分别对应的不同的区块链标识bid资源记录;每个bid资源记录中包括区块链服务的配置信息;38.所述区块链域名管理设备基于各所述区块链服务的提供方的注册申请,对各所述区块链服务对应的区块链域名进行注册。39.本发明还提供一种基于域名系统dns的区块链服务发现装置,包括:40.第一获取模块,用于从区块链域名管理设备获取至少一个区块链域名;各所述区块链域名与服务类别和/或服务提供商对应;不同的区块链域名对应不同的区块链;41.选取模块,用于从各所述区块链域名中选取目标区块链域名;所述目标区块链域名对应目标区块链;42.第二获取模块,用于基于所述目标区块链域名,从dns服务器获取所述目标区块链域名对应的区块链标识bid资源记录;所述bid资源记录中包括区块链服务的配置信息;43.连接建立模块,用于基于所述配置信息,与所述目标区块链域名对应的区块链服务器建立通信连接。44.本发明还提供一种基于域名系统dns的区块链服务发现装置,包括:45.提供模块,用于向终端提供至少一个区块链域名;各所述区块链域名与服务类别和/或服务提供商对应;不同的区块链域名对应不同的区块链。46.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于dns的区块链服务发现方法。47.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于dns的区块链服务发现方法。48.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于dns的区块链服务发现方法。49.本发明提供的基于域名系统dns的区块链服务发现方法及装置,通过从区块链域名管理设备获取至少一个区块链域名,各所述区块链域名与服务类别和/或服务提供商对应;从各所述区块链域名中选取目标区块链域名,基于目标区块链域名从dns服务器获取目标区块链域名对应的bid资源记录,bid资源记录中包括区块链服务的配置信息,从而实现基于配置信息与区块链服务器建立通信连接,使得用户可以便捷地发现符合用户所需功能或特定组织运维的具有某种功能的区块链应用,实现快速发现并接入需要的区块链服务,也即通过dns基础设施实现区块链应用的发现并便捷接入,并且由于区块链域名管理设备提供至少一个区块链域名时,可以帮助用户筛选安全和合规验证的区块链服务,能够保证用户所接入区块链服务的安全性,如此,能够提高发现并接入区块链服务的效率,提高用户体验。附图说明50.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。51.图1是本发明提供的基于域名系统dns的区块链服务发现方法的流程示意图之一;52.图2是本发明提供的基于域名系统dns的区块链服务发现方法的流程示意图之二;53.图3是本发明提供的基于域名系统dns的区块链服务发现装置的结构示意图之一;54.图4是本发明提供的基于域名系统dns的区块链服务发现装置的结构示意图之二;55.图5是本发明提供的电子设备的结构示意图。具体实施方式56.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。57.下面结合图1-图2描述本发明提供的基于域名系统dns的区块链服务发现方法。58.需要说明的是,本发明中的终端,例如可以包括以下至少一项:手机、平板电脑(tabletpersonalcomputer)、膝上型电脑(laptopcomputer)、笔记本电脑、个人数字助理(personaldigitalassistant,pda)、掌上电脑、上网本、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、移动上网装置(mobileinternetdevice,mid)、增强现实(augmentedreality,ar)、虚拟现实(virtualreality,vr)设备、机器人、可穿戴式设备(wearabledevice)、飞行器(flightvehicle)、车载设备(vehicleuserequipment,vue)、船载设备、行人终端(pedestrianuserequipment,pue)、智能家居(具有无线通信功能的家居设备,如冰箱、电视、洗衣机或者家具等)、游戏机、个人计算机(personalcomputer,pc)、柜员机或者自助机等终端侧设备。可穿戴式设备包括:智能手表、智能手环、智能耳机、智能眼镜、智能首饰(智能手镯、智能手链、智能戒指、智能项链、智能脚镯、智能脚链等)、智能腕带、智能服装等。车载设备也可以称为车载终端、车载控制器、车载模块、车载部件、车载芯片或车载单元等。本发明并不限定终端的具体类型。59.图1是本发明提供的基于域名系统dns的区块链服务发现方法的流程示意图之一,如图1所示,该基于域名系统(domainnamesystem,dns)的区块链服务发现方法包括步骤101-104;其中:60.步骤101、终端从区块链域名管理设备获取至少一个区块链域名;各所述区块链域名与服务类别和/或服务提供商对应;不同的区块链域名对应不同的区块链。61.可选地,区块链域名管理设备的管理方可以包括:政府管理机构或国内权威的区块链联盟机构。62.可选地,定义与区块链服务发现相关的如下三类域名:63.1、区块链发现入口域名:预先指定或配置一个域名作为区块链服务发现的总入口域名,例如blockchain.cn。该区块链发现入口域名的注册及管理方为政府管理机构或国内权威的区块链联盟机构。64.2、服务类别域名:按照区块链服务所涉及的产业类别或服务类别,每个产业类型在区块链发现入口域名之下分别对应一个子域名。以服务类别为医疗类别进行举例,服务类别域名可以为medical.blockchain.cn。65.3、区块链域名:按照区块链提供的服务类别在对应的服务类别域名之下注册子域名,每个区块链域名对应一个具体区块链。66.例如,a公司推出了x区块链,提供医疗类别的服务,区块链域名例如为a-xchain.medical.blockchain.cn。针对同一服务类别的不同区块链的区块链域名是不同的。67.可选地,所述终端从区块链域名管理设备获取至少一个区块链域名的实现方式可以包括:68.步骤1、所述终端向所述区块链域名管理设备发送查询请求,所述查询请求中包括服务类别和/或服务提供商;69.所述区块链域名管理设备接收来自所述终端的查询请求,所述区块链域名管理设备基于所述查询请求中包括服务类别和/或服务提供商,确定与服务类别对应的服务类别域名及至少一个区块链域名,和/或,确定服务提供商提供的服务类别及对应的至少一个区块链域名;所述区块链域名管理设备向所述终端发送查询响应。70.步骤2、所述终端接收来自所述区块链域名管理设备的查询响应;其中,所述查询响应中包括以下至少一项:71.a)与服务类别对应的服务类别域名及至少一个区块链域名;72.b)服务提供商提供的服务类别及对应的至少一个区块链域名。73.步骤102、所述终端从各所述区块链域名中选取目标区块链域名;所述目标区块链域名对应目标区块链。74.步骤103、所述终端基于所述目标区块链域名,从dns服务器获取所述目标区块链域名对应的区块链标识(blockchainidentification,bid)资源记录;所述bid资源记录中包括区块链服务的配置信息。75.可选地,所述区块链服务器的配置信息可以包括以下至少一项:76.1)区块链的类型(category);77.2)区块链服务器的internetprotocol(ip)地址的类型(type);78.3)服务类别;79.4)连接区块链服务器的端口号(port);80.5)服务器主机名(hostname);81.6)区块链服务器的ip地址;82.7)接入区块链服务的统一资源定位器(uniformresourcelocator,url)。83.可选地,bid资源记录的rdata结构,参见表1所示:84.表1.bid资源记录的rdata结构[0085][0086]对表1中各字段的定义说明如下:[0087]a)bidcategory:占4位,表示区块链的类型,取值为0表示公有链,取值为1表示联盟链;[0088]b)iptype:服务器ip地址的类型,占4位,取值0表示ipv4和ipv6字段都有,顺序为ipv4地址在前,ipv6地址在后;取值1表示只携带ipv4地址字段;取值为2表示只携带ipv6地址字段。[0089]c)type:占一个字节,根据产业类别进行分类,表示该区块链提供的服务类别。[0090]d)detailtype:占两个字节,表示区块链提供的服务的详细类别。代表每个type下的具体类别。[0091]e)port:端口号,占两个字节,表示连接服务器的端口号。[0092]f)长度(length):占两个字节,以字节为单位表示hostname字段的长度。[0093]g)ipv4:表示该区块链服务的服务器的ipv4地址。该字段为可选字段,是否携带取决于iptype字段的取值类型。[0094]h)ipv6:表示该区块链服务的服务器的ipv6地址。该字段为可选字段,是否携带取决于iptype字段的取值类型。[0095]i)hostname:可变长度,区块链服务器的主机名。[0096]j)serviceurl:可变长度,连接该区块链服务器的url。[0097]步骤104、所述终端基于所述配置信息,与所述目标区块链域名对应的区块链服务器建立通信连接。[0098]可选地,所述终端对所述bid资源记录进行解析,得到所述区块链服务器的配置信息。[0099]可选地,用户基于终端,通过区块链域名管理设备提供的接口,获得所需服务类别对应的服务类别域名;获取所述服务类别域名下的所有的子域名(区块链域名)。用户从所有的子域名中选定一个区块链域名,查询该区块链域名的bid资源记录。需要说明的是,查询响应可以由dns安全扩展(domainnamesystemsecurityextensions,dnssec)记录进行签名认证。终端接收到查询响应后,解析出区块链bid资源记录的数据内容,获取区块链服务器ip地址、端口号、url、服务器主机名等信息。[0100]终端根据区块链服务器ip地址、端口号、url、服务器主机名等信息与区块链服务器建立基于安全套接字协议的超文本传输协议(hypertexttransferprotocoloversecuresocketlayer,https)连接,其中传输层安全(transportlayersecurity,tls)握手阶段需要验证服务器证书中主题别名(subjectalternativename)的域名字段是否包含查询bid资源记录所使用的区块链域名,并确保证书中的使用者字段与bid资源记录中获取的hostname字段值一致。[0101]可选地,所述终端在tls握手阶段,接收所述区块链服务器发送的证书;所述终端判断所述证书是否满足目标条件:在所述证书满足目标条件的情况下,所述终端确定所述区块链服务器是可信的或有效的;或者,在所述证书不满足目标条件的情况下,终端确定所述区块链服务器是不可信的或无效的。本发明基于dns基础架构实现区块链服务的发现机制,对提供区块链服务的组织和用户,影响较小部署方便。同时,本发明对不支持该扩展的网络设备及现有功能无影响。[0102]可选地,所述目标条件包括:证书中主题别名(subjectalternativename)的域名字段包含所述目标区块链域名,且证书中的使用者字段与所述bid资源记录中包括的hostname字段值相同。[0103]本发明提供的基于域名系统dns的区块链服务发现方法,通过从区块链域名管理设备获取至少一个区块链域名,各所述区块链域名与服务类别和/或服务提供商对应;从各所述区块链域名中选取目标区块链域名,基于目标区块链域名从dns服务器获取目标区块链域名对应的bid资源记录,bid资源记录中包括区块链服务的配置信息,从而实现基于配置信息与区块链服务器建立通信连接,使得用户可以便捷地发现符合用户所需功能或特定组织运维的具有某种功能的区块链应用,实现快速发现并接入需要的区块链服务,也即通过dns基础设施实现区块链应用的发现并便捷接入,并且由于区块链域名管理设备提供至少一个区块链域名时,可以帮助用户筛选安全和合规验证的区块链服务,能够保证用户所接入区块链服务的安全性,如此,能够提高发现并接入区块链服务的效率,提高用户体验。[0104]图2是本发明提供的基于域名系统dns的区块链服务发现方法的流程示意图之二,如图2所示,该基于dns的区块链服务发现方法包括以下步骤:[0105]步骤201、区块链域名管理设备向终端提供至少一个区块链域名;各所述区块链域名与服务类别和/或服务提供商对应;不同的区块链域名对应不同的区块链。[0106]可选地,所述区块链域名管理设备可以按照不同的服务类别和/或服务提供商对不同的服务类别域名和区块链域名进行存储;不同的区块链域名对应不同的区块链。[0107]可选地,区块链域名管理设备向终端提供至少一个区块链域名的实现方式可以包括:[0108]步骤a、所述区块链域名管理设备接收来自所述终端的查询请求,所述查询请求中包括服务类别和/或服务提供商;[0109]步骤b、所述区块链域名管理设备向所述终端发送查询响应;其中,所述查询响应中包括以下至少一项:[0110]与所述服务类别对应的服务类别域名及至少一个区块链域名;[0111]所述服务提供商提供的服务类别及对应的至少一个区块链域名。[0112]可选地,区块链域名注册过程可以包括:[0113]所述区块链域名管理设备获取多个区块链域名分别对应的不同的区块链标识bid资源记录;每个bid资源记录中包括区块链服务的配置信息;[0114]所述区块链域名管理设备基于各所述区块链服务的提供方的注册申请,对各所述区块链服务对应的区块链域名进行注册;[0115]所述各区块链服务基于其配置信息,在进行区块链域名注册时设置域名对应的bid资源记录。[0116]可选地,区块链域名管理设备对区块链域名进行注册的过程包括以下步骤a-步骤c:[0117]步骤a、所述区块链域名管理设备获取多个区块链域名分别对应的不同的区块链标识bid资源记录;每个bid资源记录中包括对应的区块链服务器的配置信息;[0118]步骤b、所述区块链域名管理设备基于各所述bid资源记录,对各所述bid资源记录对应的区块链域名进行注册;[0119]步骤c、所述区块链域名管理设备向dns服务器发送各所述bid资源记录。[0120]例如,某公司推出一项提供某领域服务的区块链,注册过程为:[0121]步骤1、首先,该公司根据自身区块链提供的服务类别,向区块链域名管理设备提出在该服务类别下注册子域名的申请。[0122]步骤2、区块链域名管理设备在收到该公司的申请后,执行注册审批流程。具体包括对该公司的身份验证(例如企业/机构身份资质)、区块链合法性(区块链访问路径)核验、该公司与其提供的区块链之间的关系核验等。[0123]步骤3、在注册审批流程通过后,区块链域名管理设备同意该公司的请求。[0124]步骤4、该公司提供其区块链的bid资源记录所需的信息,由区块链域名管理设备进行对应域名的注册。标签格式为“公司名-区块链名”,以a公司推出区块链名为xchain的区块链为例,则标签可以为a-xchain。区块链域名管理设备在该公司提供的区块链服务的服务类别域名下进行注册。例如,a公司推出了医疗类别的区块链,区块链域名例如为a-xchain.medical.blockchain.cn。[0125]步骤5、配置认证信息,该公司推出的区块链的服务器主机名保存在步骤4注册的区块链域名的bid资源记录中的hostname字段中,在基于该服务器主机名进行申请证书时,需要在subjectalternativename的域名字段包含步骤4中注册的区块链域名。证书签发机构在签发证书前需要向区块链域名管理设备核验该信息及二者对应关系的真实性,验证通过后予以签发证书。[0126]本发明提供的基于域名系统dns的区块链服务发现方法,通过区块链域名管理设备向终端提供至少一个区块链域名,各所述区块链域名与服务类别和/或服务提供商对应,以使用户通过终端可以从各所述区块链域名中选取目标区块链域名,从而便捷地发现符合用户所需功能或特定组织运维的具有某种功能的区块链应用,实现快速发现并接入需要的区块链服务,也即通过dns基础设施实现区块链应用的发现并便捷接入,并且由于区块链域名管理设备提供至少一个区块链域名时,可以帮助用户筛选安全和合规验证的区块链服务,能够保证用户所接入区块链服务的安全性,如此,能够提高发现并接入区块链服务的效率,提高用户体验。[0127]针对本发明提供的基于域名系统dns的区块链服务发现方法,下面提供一个示例说明。[0128]一、配置过程步骤:[0129]假设a公司推出了x区块链,提供医疗认证领域的服务。区块链发现入口域名假设为blockchain.cn。[0130]1、首先a公司向区块链发现入口域名的管理方,也即区块链域名管理设备,提出在医疗类别下注册子域名的申请。[0131]2、区块链发现入口域名的管理方在收到a公司的申请后,执行注册审批流程。具体包括对a公司的身份验证,x区块链合法性核验,a公司与x区块链之间的关系核验等。可通过线上线下等方式要求a公司提供企业身份资质、区块链访问路径等资料信息。[0132]3、在注册审批流程通过后,区块链发现入口域名的管理方同意a公司的申请请求。[0133]4、a公司提供x区块链的bid资源记录所需的信息,由区块链发现入口域名的管理方进行对应子域名的注册。标签格式为“公司名-区块链名”,注册域名为a-xchain.medical.blockchain.cn。[0134]5、配置认证信息,假设bid资源记录中的hostname为a-xchain.acompany.cn,则a-xchain.acompany.cn在申请证书的时候需要在subjectalternativename的域名字段包含a-xchain.medical.blockchain.cn值。证书签发机构在签发证书前需要向区块链发现入口域名的管理方核验该信息及二者对应关系的真实性,验证通过后予以签发证书。[0135]二、区块链服务发现和验证过程:[0136]用户u想要发现并选择一种医疗类别现有的可用的区块链服务。[0137]1、用户通过区块链发现入口域名的管理方提供的接口获得医疗类别对应的域名为medical.blockchain.cn。[0138]2、获取medical.blockchain.cn下的所有的子域名。[0139]3、用户u选定一个域名a-xchain.medical.blockchain.cn,查询该域名的bid资源记录。查询响应由dnssec记录进行签名认证。[0140]4、用户u接收到查询响应后,解析出区块链bid资源记录的数据内容,获取服务器ip地址,端口号、url、服务器主机名等信息。[0141]5、用户u根据所获取的服务器ip地址,端口号、url、服务器主机名等信息,与区块链服务器建立https连接,其中tls握手阶段需要验证服务器证书中subjectalternativename的域名字段是否包含a-xchain.medical.blockchain.cn。并确保证书中的使用者字段与bid资源记录中获取的hostname字段值一致。[0142]6、上述步骤验证通过后用户u接入并使用该区块链服务。[0143]下面对本发明提供的基于域名系统dns的区块链服务发现装置进行描述,下文描述的基于域名系统dns的区块链服务发现装置与上文描述的基于域名系统dns的区块链服务发现方法可相互对应参照。[0144]图3是本发明提供的基于域名系统dns的区块链服务发现装置的结构示意图之一,如图3所示,该基于域名系统dns的区块链服务发现装置300,应用于终端,包括:第一获取模块301、选取模块302、第二获取模块303及连接建立模块304;其中:[0145]第一获取模块301,用于从区块链域名管理设备获取至少一个区块链域名;各所述区块链域名与服务类别和/或服务提供商对应;不同的区块链域名对应不同的区块链;[0146]选取模块302,用于从各所述区块链域名中选取目标区块链域名;所述目标区块链域名对应目标区块链;[0147]第二获取模块303,用于基于所述目标区块链域名,从dns服务器获取所述目标区块链域名对应的区块链标识bid资源记录;所述bid资源记录中包括区块链服务的配置信息;[0148]连接建立模块304,用于基于所述配置信息,与所述目标区块链域名对应的区块链服务器建立通信连接。[0149]本发明提供的基于域名系统dns的区块链服务发现装置,通过通过从区块链域名管理设备获取至少一个区块链域名,各所述区块链域名与服务类别和/或服务提供商对应;从各所述区块链域名中选取目标区块链域名,基于目标区块链域名从dns服务器获取目标区块链域名对应的bid资源记录,bid资源记录中包括区块链服务的配置信息,从而实现基于配置信息与区块链服务器建立通信连接,使得用户可以便捷地发现符合用户所需功能或特定组织运维的具有某种功能的区块链应用,实现快速发现并接入需要的区块链服务,也即通过dns基础设施实现区块链应用的发现并便捷接入,并且由于区块链域名管理设备提供至少一个区块链域名时,可以帮助用户筛选安全和合规验证的区块链服务,能够保证用户所接入区块链服务的安全性,如此,能够提高发现并接入区块链服务的效率,提高用户体验。[0150]可选地,所述第一获取模块301具体用于:[0151]向所述区块链域名管理设备发送查询请求,所述查询请求中包括服务类别和/或服务提供商;[0152]接收来自所述区块链域名管理设备的查询响应;[0153]其中,所述查询响应中包括以下至少一项:[0154]与所述服务类别对应的服务类别域名及至少一个区块链域名;[0155]所述服务提供商提供的服务类别及对应的至少一个区块链域名。[0156]可选地,所述区块链服务器的配置信息包括以下至少一项:[0157]区块链的类型;[0158]区块链服务器的ip地址的类型;[0159]服务类别;[0160]连接区块链服务器的端口号;[0161]服务器主机名hostname;[0162]区块链服务器的ip地址;[0163]接入区块链服务的统一资源定位器url。[0164]可选地,所述第一接收模块302,还用于在传输层安全tls握手阶段,接收所述区块链服务器发送的证书;[0165]所述连接建立模块305,还用于在所述证书满足目标条件的情况下,确定所述区块链服务器为有效;其中,所述目标条件包括:所述证书中主题别名subjectalternativename的域名字段包含所述目标区块链域名,且所述证书中的使用者字段与所述bid资源记录中包括的hostname字段值相同。[0166]图4是本发明提供的基于域名系统dns的区块链服务发现装置的结构示意图之二,如图4所示,该基于域名系统dns的区块链服务发现装置400,应用于区块链域名管理设备,包括:[0167]提供模块401,用于向终端提供至少一个区块链域名;各所述区块链域名与服务类别和/或服务提供商对应;不同的区块链域名对应不同的区块链。[0168]本发明提供的基于域名系统dns的区块链服务发现装置,通过向终端提供至少一个区块链域名,各所述区块链域名与服务类别和/或服务提供商对应,以使用户通过终端可以从各所述区块链域名中选取目标区块链域名,从而便捷地发现符合用户所需功能或特定组织运维的具有某种功能的区块链应用,实现快速发现并接入需要的区块链服务,也即通过dns基础设施实现区块链应用的发现并便捷接入,并且由于区块链域名管理设备提供至少一个区块链域名时,可以帮助用户筛选安全和合规验证的区块链服务,能够保证用户所接入区块链服务的安全性,如此,能够提高发现并接入区块链服务的效率,提高用户体验。[0169]可选地,所述提供模块401,具体用于:[0170]接收来自所述终端的查询请求,所述查询请求中包括服务类别和/或服务提供商;[0171]向所述终端发送查询响应;[0172]其中,所述查询响应中包括以下至少一项:[0173]与所述服务类别对应的服务类别域名及至少一个区块链域名;[0174]所述服务提供商提供的服务类别及对应的至少一个区块链域名。[0175]可选地,所述装置还包括:[0176]第三获取模块,用于获取多个区块链域名分别对应的不同的区块链标识bid资源记录;每个bid资源记录中包括区块链服务的配置信息;[0177]注册模块,用于基于各所述区块链服务的提供方的注册申请,对各所述区块链服务对应的区块链域名进行注册。[0178]图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备500可以包括:处理器(processor)510、通信接口(communicationsinterface)(520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行本发明提供的基于域名系统dns的区块链服务发现方法。[0179]此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。[0180]另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行本发明提供的基于域名系统dns的区块链服务发现方法。[0181]又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行本发明提供的基于域名系统dns的区块链服务发现方法。[0182]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。[0183]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。[0184]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12当前第1页12
技术特征:
1.一种基于域名系统dns的区块链服务发现方法,其特征在于,包括:终端从区块链域名管理设备获取至少一个区块链域名;各所述区块链域名与服务类别和/或服务提供商对应;不同的区块链域名对应不同的区块链;所述终端从各所述区块链域名中选取目标区块链域名;所述目标区块链域名对应目标区块链;所述终端基于所述目标区块链域名,从dns服务器获取所述目标区块链域名对应的区块链标识bid资源记录;所述bid资源记录中包括区块链服务的配置信息;所述终端基于所述配置信息,与所述目标区块链域名对应的区块链服务器建立通信连接。2.根据权利要求1所述的基于dns的区块链服务发现方法,其特征在于,所述终端从区块链域名管理设备获取至少一个区块链域名,包括:所述终端向所述区块链域名管理设备发送查询请求,所述查询请求中包括服务类别和/或服务提供商;所述终端接收来自所述区块链域名管理设备的查询响应;其中,所述查询响应中包括以下至少一项:与所述服务类别对应的服务类别域名及至少一个区块链域名;所述服务提供商提供的服务类别及对应的至少一个区块链域名。3.根据权利要求1或2所述的基于dns的区块链服务发现方法,其特征在于,所述配置信息包括以下至少一项:区块链的类型;区块链服务器的ip地址的类型;服务类别;连接区块链服务器的端口号;服务器主机名host name;区块链服务器的ip地址;接入区块链服务的统一资源定位器url。4.根据权利要求1所述的基于dns的区块链服务发现方法,其特征在于,所述方法还包括:所述终端在传输层安全tls握手阶段,接收所述区块链服务器发送的证书;所述终端在所述证书满足目标条件的情况下,确定所述区块链服务器为有效;其中,所述目标条件包括:所述证书中主题别名subject alternative name的域名字段包含所述目标区块链域名,且所述证书中的使用者字段与所述bid资源记录中包括的host name字段值相同。5.一种基于域名系统dns的区块链服务发现方法,其特征在于,包括:区块链域名管理设备向终端提供至少一个区块链域名;各所述区块链域名与服务类别和/或服务提供商对应;不同的区块链域名对应不同的区块链。6.根据权利要求5所述的基于dns的区块链服务发现方法,其特征在于,所述区块链域名管理设备向终端提供至少一个区块链域名,包括:所述区块链域名管理设备接收来自所述终端的查询请求,所述查询请求中包括服务类
别和/或服务提供商;所述区块链域名管理设备向所述终端发送查询响应;其中,所述查询响应中包括以下至少一项:与所述服务类别对应的服务类别域名及至少一个区块链域名;所述服务提供商提供的服务类别及对应的至少一个区块链域名。7.根据权利要求5所述的基于dns的区块链服务发现方法,其特征在于,所述方法还包括:所述区块链域名管理设备获取多个区块链域名分别对应的不同的区块链标识bid资源记录;每个bid资源记录中包括区块链服务的配置信息;所述区块链域名管理设备基于各所述区块链服务的提供方的注册申请,对各所述区块链服务对应的区块链域名进行注册。8.一种基于域名系统dns的区块链服务发现装置,其特征在于,包括:第一获取模块,用于从区块链域名管理设备获取至少一个区块链域名;各所述区块链域名与服务类别和/或服务提供商对应;不同的区块链域名对应不同的区块链;选取模块,用于从各所述区块链域名中选取目标区块链域名;所述目标区块链域名对应目标区块链;第二获取模块,用于基于所述目标区块链域名,从dns服务器获取所述目标区块链域名对应的区块链标识bid资源记录;所述bid资源记录中包括区块链服务的配置信息;连接建立模块,用于基于所述配置信息,与所述目标区块链域名对应的区块链服务器建立通信连接。9.一种基于域名系统dns的区块链服务发现装置,其特征在于,包括:提供模块,用于向终端提供至少一个区块链域名;各所述区块链域名与服务类别和/或服务提供商对应;不同的区块链域名对应不同的区块链。10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述基于dns的区块链服务发现方法,或实现如权利要求5至7任一项所述基于dns的区块链服务发现方法。11.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述基于dns的区块链服务发现方法,或实现如权利要求5至7任一项所述基于dns的区块链服务发现方法。12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述基于dns的区块链服务发现方法,或实现如权利要求5至7任一项所述基于dns的区块链服务发现方法。
技术总结
本发明提供一种基于域名系统DNS的区块链服务发现方法及装置,涉及区块链技术领域,其中方法包括:终端从区块链域名管理设备获取至少一个区块链域名;各所述区块链域名与服务类别和/或服务提供商对应;所述终端从各所述区块链域名中选取目标区块链域名;目标区块链域名对应目标区块链;终端基于目标区块链域名,从DNS服务器获取目标区块链域名对应的BID资源记录;BID资源记录中包括区块链服务的配置信息;终端基于所述配置信息,与目标区块链域名对应的区块链服务器建立通信连接。本发明能够提高发现并接入区块链服务的效率,提高用户体验。体验。体验。
技术研发人员:张曼 延志伟 董科军
受保护的技术使用者:中国互联网络信息中心
技术研发日:2023.03.07
技术公布日:2023/7/18
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
