CN110599142B - 数据存储方法、装置、计算机设备和存储介质 - Google Patents
数据存储方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110599142B CN110599142B CN201910871924.1A CN201910871924A CN110599142B CN 110599142 B CN110599142 B CN 110599142B CN 201910871924 A CN201910871924 A CN 201910871924A CN 110599142 B CN110599142 B CN 110599142B
- Authority
- CN
- China
- Prior art keywords
- node
- access
- interface
- target
- request
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 154
- 238000013500 data storage Methods 0.000 title claims abstract description 49
- 230000006854 communication Effects 0.000 claims abstract description 87
- 238000004891 communication Methods 0.000 claims abstract description 82
- 230000004044 response Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013475 authorization Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 13
- 230000001186 cumulative effect Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3823—Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据存储方法、装置、计算机设备和存储介质。所述方法包括:对终端通过中心服务器转发的节点访问请求进行解析,得到对目标节点的访问方法;拆除与中心服务器之间的通信链路,建立与终端之间的通信链路;通过通信链路将访问方法对应的页面数据返回至所述终端,使终端基于页面数据展示节点服务页面,并获取在节点服务器页面产生的目标数据;接收终端通过通信链路发送的目标数据;将基于目标数据生成的数据区块广播存储至区块链***中的其他节点。采用本方法能够提升数据的安全性。
Description
技术领域
本申请涉及互联网领域,特别是涉及一种数据存储方法、装置、计算机设备和存储介质。
背景技术
由于搭建区块链***需要较高成本,使得大多用户通常难以拥有属于自己的一套区块链***,此时用户可能会基于第三方提供的区块链管理平台进行区块链***搭建。通过这种方式搭建的区块链***,后续也需要通过这个第三方的区块链管理平台进行数据读写。从而,在用户看来,写入区块链的数据均经过了一个中心化的第三方平台,导致链上数据不被信任的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升数据安全性的数据存储方法、装置、计算机设备和存储介质。
一种数据存储方法,所述方法包括:
对终端通过中心服务器转发的节点访问请求进行解析,得到对目标节点的访问方法;
拆除与所述中心服务器之间的通信链路,建立与所述终端之间的通信链路;
通过所述通信链路将所述访问方法对应的页面数据返回至所述终端,使所述终端基于所述页面数据展示节点服务页面,并获取在所述节点服务器页面产生的目标数据;
接收所述终端通过所述通信链路发送的目标数据;
将基于目标数据生成的数据区块广播存储至区块链***中的其他节点。
一种数据存储装置,所述装置包括:
访问方法获取模块,用于对终端通过中心服务器转发的节点访问请求进行解析,得到对目标节点的访问方法;
通信模块,用于拆除与所述中心服务器之间的通信链路,建立与所述终端之间的通信链路;通过所述通信链路将所述访问方法对应的页面数据返回至所述终端,使所述终端基于所述页面数据展示节点服务页面,并获取在所述节点服务器页面产生的目标数据。
数据区块生成模块,用于接收所述终端通过所述通信链路发送的目标数据;将基于目标数据生成的数据区块广播存储至区块链***中的其他节点。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
对终端通过中心服务器转发的节点访问请求进行解析,得到对目标节点的访问方法;
拆除与所述中心服务器之间的通信链路,建立与所述终端之间的通信链路;
通过所述通信链路将所述访问方法对应的页面数据返回至所述终端,使所述终端基于所述页面数据展示节点服务页面,并获取在所述节点服务器页面产生的目标数据;
接收所述终端通过所述通信链路发送的目标数据;
将基于目标数据生成的数据区块广播存储至区块链***中的其他节点。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
对终端通过中心服务器转发的节点访问请求进行解析,得到对目标节点的访问方法;
拆除与所述中心服务器之间的通信链路,建立与所述终端之间的通信链路;
通过所述通信链路将所述访问方法对应的页面数据返回至所述终端,使所述终端基于所述页面数据展示节点服务页面,并获取在所述节点服务器页面产生的目标数据;
接收所述终端通过所述通信链路发送的目标数据;
将基于目标数据生成的数据区块广播存储至区块链***中的其他节点。
上述数据存储方法、装置、计算机设备和存储介质,由于节点访问请求是基于中心服务器转发的,因此可以基于中心服务器访问不同的目标节点,从而简化节点访问操作,提升节点访问的效率;当接收到节点访问请求后,处于区块链***中的目标节点会拆除与中心服务器之间的通信链路,建立与终端之间的通信链路,从而达到与终端进行直接通信的目的,使得中心服务器只能参与目标节点访问操作,而不能参与后续的目标数据存储操作。因此终端发送的目标数据可以不经过中心化的第三方平台,直接写入区块链,从而提升了数据存储的安全性。
附图说明
图1为一个实施例中数据存储方法的应用场景图;
图2为一个实施例中区块结构示意图;
图3为一个实施例中数据存储方法的流程示意图;
图4为另一个实施例中节点服务页面的界面示意图;
图5为一个实施例中数据存储方法的时序图;
图6为一个实施例中节点接口配置页面的界面示意图;
图7为一个实施例中数据存储方法的具体实现步骤;
图8为一个实施例中数据存储装置的结构框图;
图9为另一个实施例中数据存储装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据存储方法,可以应用于如图1所示的应用环境中。该数据存储***包括终端102、中心服务器104和区块节点106。其中,终端102通过网络与中心服务器104进行通信,中心服务器104和区块节点106通过网络进行通信。终端102中运行有节点管理平台与节点访问平台。其中,节点管理平台与节点访问平台可以为应用程序、网页或小程序等。基于节点管理平台可以对每个节点进行单独管理,基于节点访问平台可以访问分布式架构***中的每个节点。中心服务器104与区块节点106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。中心服务器104为与节点访问平台对应的服务器。区块节点106可以为分布式架构体系中的节点,具体可以为区块链***中的节点,节点又为节点管理平台对应的后台服务器,节点与节点管理平台一一对应。
以分布式***为区块链***为例,区块链***由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(P2P,PeerTo Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission ControlProtocol)协议之上的应用层协议。在分布式***中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作***层和应用层。
参见图1示出的区块链***中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链***中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链***中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链***中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链***中节点提交的记录数据。
参见图2,图2是本发明实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
在一个实施例中,如图3所示,提供了一种数据存储方法,以该方法应用于图1中的区块节点为例进行说明,包括以下步骤:
S302,对终端通过中心服务器转发的节点访问请求进行解析,得到对目标节点的访问方法。
其中,中心服务器是节点访问平台的后台服务器,统一入口页面是基于节点访问平台所展示的一个页面,作为访问区块链***不同节点的统一访问入口。节点访问平台是一个为用户基于区块链***的快速部署提供一整套解决方案的平台。用户可以基于节点访问平台注册、访问区块链***中的每个节点。节点管理平台是以节点为维度,对单个节点进行管理的平台。节点管理平台可以提供多种访问方法。每种访问方法是节点管理平台能够提供的一种管理服务,如登录方法“login”、数据处理方法“getInfo”、配置秘钥方法“setKey”等。
具体地,当需要访问所拥有的节点时,用户可以基于用户标识登录节点访问平台,并在节点访问平台基于入口域名访问统一入口页面。用户标识是能够唯一标识一个用户的信息,如用户账号、联系电话,证件号等。入口域名是统一入口页面所对应的URL(统一资源定位符),如“www.baas.qq.com”。入口域名是用于在数据传输时标识中心服务器的电子方位的信息,可以是是由一串用点分隔的名字组成的中心服务器的名称。
进一步地,终端获取用户基于统一入口页面确定的需要访问的节点(记作目标节点)所对应的节点标识和具体访问目标节点的访问方法。节点标识是能够唯一标识一个节点的信息,如,IP地址(Internet Protocol,网络之间互连的协议),MAC地址(Media AccessControl Address,媒体访问控制地址)等。当基于统一入口页面发生节点访问触发操作时,节点访问平台基于第一预设标识符将目标节点的节点标识以及具体访问目标节点的访问方法进行拼接,得到域名后缀,并基于第二预设标识符将域名后缀拼接至统一入口页面的入口域名之后,得到目标节点的访问域名。第一预设标识符与第二预设符可以为“/”,“=”,“_”,“&”,“#”,“@”或“*”。比如,在上述举例中,若目标节点的节点标识为“192.168.10.11”,具体访问目标节点的访问方法为“login”,则对应目标节点的访问域名可以是“www.baas.qq.com/192.168.10.11/login”。
进一步地,节点访问平台根据目标节点的访问域名生成目标访问请求。访问请求是终端与服务器或服务器与服务器之间进行通信的一种消息,具体可以是HTTP(HyperTextTransfer Protocol,超文本传输协议)请求。访问请求包括请求头和请求体。在本实施例中目标访问请求中的请求头记录了拼接得到的访问域名;请求体中记录了服务器需要处理的数据,比如,用户的用户标识与密码,中心服务器将请求体发送至节点后,节点可以根据用户标识与密码核对用户的身份验证。终端将目标访问请求发送至中心服务器。中心服务器对目标访问请求进行解析,得到请求头与请求体,并从请求头中提取出目标节点的访问域名。
进一步地,当中心服务器从目标访问请求中提取出访问域名后,对访问域名进行解析,得到目标节点的节点标识。中心服务器删除访问域名中的统一入口页面的入口域名及第一标识符,得到删减域名,然后基于删减域名重新封装请求头,并根据重新封装后的请求头与从目标访问请求中提取出的请求体生成节点访问请求。中心服务器根据节点标识确定目标节点在区块链***中所处位置,基于位置信息将节点访问请求发送至目标节点。
由于基于统一入口页面确定的访问域名已经明确了需要访问的目标节点的节点标识和具体访问目标节点的访问方法,因此根据访问域名即可访问目标节,达到了到域名共享的效果,大大节约了域名资源。
进一步地,目标节点解析节点访问请求,得到请求头与请求体,并从请求头提取出删减域名。目标节点基于预设的正则表达式匹配得到具体的对目标节点的访问方法。
在一个实施例中,节点部署了对应的节点数据库。基于目标节点的节点管理平台,用户可以配置具体的访问方法,此时目标节点获取并存储访问方法于节点数据库中。目标节点从节点数据库中获取访问方法,并对访问方法进行统计,删除相同种类的访问方法,留下不同种类的访问方法。目标节点轮询每种不同的访问方法,并基于每种访问方法生成对应的正则表达式。
S304,拆除与中心服务器之间的通信链路,建立与终端之间的通信链路。
其中,通信链路是服务器与服务器之间或服务器与终端之间的通信通道,服务器与服务器之间或服务器与终端之间既可以基于物理线路进行通信,也可以基于网络进行通信。
具体地,目标节点创建了一个通信进程。当目标节点基于通信进程接收到中心服务器发送的节点访问请求后,目标节点关闭通信进程,拆除与中心服务器之间的通信链路。目标节点从节点访问请求中提取终端标识,并基于终端标识重新创建一个通信进程,用以与终端进行通信。
S306,通过通信链路将访问方法对应的页面数据返回至终端,使终端基于页面数据展示节点服务页面,并获取在节点服务器页面产生的目标数据。
其中,页面数据是指渲染节点服务页面所需要的页面资源,如包括页面内的图片、链接、音乐等非文字元素和用户自定义数据等。每种访问方法具有相应的节点服务页面,用户可以基于节点服务页面实现对节点的管理。比如,用户可以在与配置节点公私钥相关的节点服务页面中,为节点配置秘钥对;在与数据处理相关的节点服务页面中,往区块链上写数据以及从区块链上读数据。
具体地,当目标节点对节点访问请求进行解析,根据节点访问请求中的访问方法确定用户所期望访问的节点服务页面。目标节点根据预存储的该节点服务页面所对应的页面数据在节点中的存储地址信息,查询相应的页面数据,将页面数据返回至终端。终端基于页面数据渲染节点服务页面。
进一步地,参考图4,图4为节点服务页面的界面示意图。节点服务页面提供了多种节点管理服务,如数据处理服务,数据处理服务又包括多种数据存储服务,比如共享账单服务、发行资产服务,基于不同类型的数据存储服务,可以实现不同类型的数据存储。例如,用户可以选择共享账单服务,之后将需要上链的与共享账单相关联的数据上传至节点管理平台。此时节点管理平台获取目标数据,根据目标数据以及数据存储服务类型生成节点服务请求,并将节点服务请求发送至目标节点。目标数据为待写入区块链***中的数据。
S308,接收终端通过通信链路发送的目标数据。
具体地,终端基于目标节点的节点标识生成请求头,根据目标数据生成请求体,封装请求头以及请求体,生成对应的节点服务请求,并将节点服务请求通过通信链路发送至与目标标识对应的目标节点。目标节点解析节点服务请求,得到请求头和请求体,从请求体中提取出目标数据。
在一个实施例中,终端获取预存储的与目标节点的节点标识相关联的公钥,根据公钥加密目标数据,并基于加密后的目标数据生成请求体。终端将节点服务请求通过通信链路发送至目标节点的Agent。Agent基于目标节点的私钥解密节点服务请求中的请求体,得到目标数据,并将目标数据通过预设端口发送至目标节点的节点管理平台。
其中,Agent是部署于目标节点中,专门用于转发节点服务请求至节点管理平台的进程,Agent可以与目标节点与终端之间的通信进程为同一进程。用户可以预先配置好Agent的转发端口与节点管理平台接收端口,比如,目标节点的IP地址为192.168.10.11,Agent的端口为15009,节点管理平台的端口为35003,则Agent将节点访问请求从192.168.10.11:15009转发至192.168.10.11:35003。
S310,将基于目标数据生成的数据区块广播存储至区块链***中的其他节点。
其中,数据区块是区块链***中记录上链数据的数据包,数据区块中包括区块头和区块主体,区块头中存储有目标数据的特征值、版本号、数据区块生成时间以及数据区块生成的难度值,区块主体中存储有目标数据。
具体地,目标节点获取到目标数据后,对目标数据进行校验,完成校验后,将目标数据存储至内存池中,并更新其用于记录目标数据的哈希树。哈希树是一种持久性的树形数据结构,用于保存、映射数据。之后,目标节点将更新时间戳更新为接收到目标数据的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链***中相关区块协议的版本信息;prev_hash为当前数据区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
进一步地,当目标节点计算得到满足上述公式的随机数时,便可基于目标数据生成对应的区块头和区块主体,得到当前数据区块。随后,目标节点根据区块链***中其他节点的节点标识,将当前数据区块分别发送给其所在的区块链***中的其他节点,由其他节点对前数据区块块进行校验,并在完成校验后存储当前数据区块。
参考图5,图5为一个实施例中数据存储方法的时序图。如图5所示,当用户打开统一入口页面,并在统一入口页面中输入目标节点的节点标识与访问方法后,终端拼接统一入口页面的入口域名、节点标识与访问方法,得到目标节点的访问域名,并将基于访问域名生成的目标访问请求发送至中心服务器。中心服务器从目标访问请求中提取出访问域名,解析访问域名得到目标节点的节点标识与访问方法,并基于节点标识与访问方法重新生成节点访问请求。目标节点接收中心服务器发送的节点访问请求,根据节点访问请求中的访问方法查找对应的页面数据,之后,将页面数据返回终端,以使终端基于页面数据渲染对应的节点服务页面。用户可以基于节点服务页面选择不同类型的数据处理服务,并基于节点服务页面上传需要处理的目标数据。终端获取目标数据,将目标数据转发至与节点标识对应的目标节点。目标节点对目标数据进行校验,基于特征值算法对目标数据进行特征值计算,直到计算后的特征值满足固定条件。此时目标节点基于目标数据生成对应的区块头和区块主体,得到当前数据区块,并将当前区块广播至区块链***中的其他节点。
可以理解的,也可以基于上述数据存储方法的实现逻辑实现去中心化数据读取。具体地,当用户基于节点管理平台读取目标节点中的目标数据时,终端根据用户操作生成对应的数据读取请求,并将数据读取请求发发送至目标节点。目标节点解析数据读取请求,并根据数据读取请求查找对应的目标数据,然后通过与终端之间的通信链路,将目标数据返回至终端显示。
上述数据存储方法中,通过对中心服务器转发的节点访问请求进行解析,可以得到对目标节点的访问方法;通过建立与终端之间的通信链路,可以直接与终端进行通信;基于与终端之间的通信链路将与访问方法对应的页面数据返回至终端,可以使终端根据页面数据渲染对应的节点服务页面;通过获取用户基于节点服务页面上传的目标数据,可以生成对应的数据区块,并将数据区块广播至区块链***中的其它节点。由于节点访问请求是基于中心服务器转发的,因此可以基于中心服务器访问不同的目标节点,从而简化节点访问操作,提升节点访问的效率;当接收到节点访问请求后,处于区块链***中的目标节点会拆除与中心服务器之间的通信链路,建立与终端之间的通信链路,从而达到与终端进行直接通信的目的,使得中心服务器只能参与目标节点访问操作,而不能参与后续的目标数据存储操作。因此终端发送的目标数据可以不经过中心化的第三方平台,直接写入区块链,从而提升了数据存储的安全性。
在一个实施例中,节点访问请求由中心服务器根据终端基于统一入口页面触发的目标访问请求生成包括:中心服务器在目标访问请求中提取访问域名;确定统一入口页面所对应的入口域名;从访问域名中提取入口域名之后的后缀域名;基于预设的正则表达式对后缀域名进行正则匹配,得到目标节点标识和访问方法,根据目标节点标识及访问方法生成节点访问请求。
其中,后缀域名是指拼接在入口域名之后的字符串。该字符串具体可以是由目标节点的节点标识和具体访问目标节点的访问方法拼接得到。如前文,入口域名可以是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,如www.baas.qq.com;也可以是入口域名所映射的IP地址。入口域名所映射的IP地址可以是终端基于入口域名在域名服务器预存储的域名与IP地址的映射表中查询得到。可以理解,目标节点的访问域名也可以是基于入口域名所对应IP地址拼接得到的。
具体地,当入口域名为计算机组名称时,终端可以根据入口域名直接访问统一入口页面。终端采用正则匹配查看访问域名中是否包含IP地址格式的字符串,当不存在IP地址格式的字符串时,中心服务器向终端返回访问节点失败提示;当存在IP地址格式的字符串时,中心服务器基于正则匹配查看访问域名中是否包含访问方法,当存在访问方法时,中心服务器将此访问方法确定为访问目标节点的访问方法;当不存在访问方法时,中心服务器获取预设的默认访问方法,如当不存在访问方法时,预设默认访问方法为登录方法“login”,然后将预设的默认访问方法确定为访问目标节点的访问方法。中心服务器根据节点标识及访问方法生成节点访问请求。
当入口域名为IP地址时,终端可以基于入口域名所对应的IP地址访问统一入口页面。中心服务器获取预存储的IP地址,记作入口IP地址。中心服务器对访问域名进行解析,判断访问域名中是否包含入口IP地址。当访问域名中包含入口IP地址时,中心服务器基于入口IP地址对访问域名进行分割,得到后缀域名。中心服务器确定入口IP地址对应的字符数量。中心服务器在访问域名中该字符数量所对应顺序的字符与下一顺序字符之间确定分割位置,在分割位置对访问域名进行分割,得到入口IP地址和后缀域名。比如,访问域名为“192.123.0.1/192.168.10.11/login”,入口IP地址为“192.123.0.1”,对应的字符数量为11,则中心服务器可以将第11个字符‘1’与第12个字符“/”之间的位置确定为分割位置,分割得到后缀域名“/192.168.10.11/login”。
在一个实施例中,中心服务器获取到访问域名后,基于第二预设符对访问域名进行分割,得到入口IP地址和后缀域名。
进一步地,中心服务器获取预设的正则表达式,根据预设的正则表达式对后缀域名进行正则匹配,得到节点标识和访问方法。比如,当预设的正则表达式包括“^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/login”、“^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/getInfo”时,可以基于“^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$”匹配得到“192.168.10.11”,基于“/login”匹配得到“/login”。其中,“^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$”中的“[0-9]{1,3}”表示匹配1-3位0-9的***数字;“\.”表示匹配小数点“.”;“{3}”表示重复3次匹配1-3位0-9的***数字的过程。中心服务器根据目标节点标识及访问方法生成节点访问请求。
在一个实施例中,中心服务器获取到后缀域名后,基于第一预设符对后缀域名进行分割,得到目标节点的节点标识和具体对目标节点的访问方法。
上述实施例中,通过对后缀域名进行正则匹配,可以快速地匹配出节点标识和访问方法,使得后续可以快速地基于节点标识和访问方法访问目标节点,从而可以提升访问效率。
在一个实施例中,通过通信链路将访问方法对应的页面数据返回至终端,使终端基于页面数据展示节点服务页面包括:通过通信链路将访问方法对应的页面数据返回至终端,使终端根据页面数据从统一入口页面跳转至相应节点服务页面。
具体地,节点访问请求中携带有终端标识。当目标节点接收到节点访问请求后,从节点访问请求中提取出终端标识及具体的访问目标节点的访问方法,并根据访问方法查找对应的页面数据。目标节点将页面数据封装为请求体,通过通信链路将请求体发送至与终端标识对应的终端。终端根据页面数据渲染对应的节点服务页面,从而从统一入口页面跳转至节点服务页面。
在一个实施例中,终端中的应用程序、小程序与网页之间可以自动切换。例如,节点访问平台为应用程序,节点管理平台为小程序,当终端接收到目标节点返回的节点服务页面的页面数据时,可以根据页面数据从应用程序跳转至小程序,然后基于小程序展示相应的节点服务页面。
上述实施例中,当终端接收到节点服务页面对应的页面数据后,即可从统一入口页面跳转至相应的节点服务页面,从而可以基于节点服务页面与目标节点进行直接通信。
在一个实施例中,节点访问请求携带了用户标识;通过通信链路将访问方法对应的页面数据返回至终端包括:获取用户标识相关联的可访问节点标识;判断可访问节点标识中是否包含目标节点标识;当包含目标节点标识时,通过通信链路将访问方法对应的页面数据返回至终端。
其中,可访问节点标识是存储于节点数据库中的,与进行节点访问操作的用户对应的用户标识相关联的节点标识。
具体地,当用户基于节点访问平台注册节点时,节点访问平台获取进行注册操作用户的用户标识及注册节点的节点标识,并将用户标识及节点标识发送至区块链***中的节点,以使节点对应存储进行注册操作用户的用户标识及注册节点的节点标识。
进一步地,目标节点获取用户标识后,从节点数据库中查询与用户标识相关联的可访问节点标识,并验证与用户标识关联的可访问节点标识中是否包含目标节点的节点标识,当与用户标识关联的节点标识中存在目标节点的节点标识时,则可以认为与用户标识对应的用户具有对目标节点的访问权限,此时目标节点通过通信链路将访问方法对应的页面数据返回至终端。
上述实施例中,由于在验证用户标识对应的用户具有对目标节点的访问权限后,才将页面数据返回至终端,可以避免一些无谓的数据返回过程,从而节省了目标节点的资源,由于用户只能访问具有相应访问权限的目标节点,从而提升了节点访问的安全性。
在一个实施例中,接收终端通过通信链路发送的目标数据包括:接收终端通过通信链路发送的基于目标数据生成的节点服务请求;确定节点服务请求所对应的接口调用链路;获取接口调用链路中每个接口的状态信息;根据状态信息计算相应接口的调用成功概率;当每个接口的调用成功概率大于阈值时,调用接口调用链路中的接口响应节点服务请求,得到处理结果;基于目标数据以及处理结果生成数据区块。
其中,区块链***中的每个节点具有多个接口。节点基于这些接口可以提供不同的数据处理服务,如发行资产服务、共享转账服务等。一种服务的实现需要依赖一个或多个接口。同一节点在提供不同种数据处理服务时所依赖的接口可能不同,比如,当数据处理服务类型为发行资产时,此时依赖的节点接口包括A节点中的A、B接口和B节点中的C接口;而当数据处理服务类型为共享账本时,此时依赖的接口与包括A节点中的A、B接口、B节点中的C接口和C节点中的D接口。
接口调用链路是指目标节点与响应节点服务请求中需要依赖的接口之间的链路。如上述举例中,当实现发行资产服务时,目标节点与A节点中的A、B接口以及B节点中的C接口建立接口调用链路。为了描述方便,下文将响应节点服务请求需要依赖的接口称为目标接口。目标节点响应于同一节点服务请求可能需要调用一个或多个节点的目标接口,从而节点服务请求所对应的接口调用链路可能有多条。
具体地,当终端从统一入口页面跳转至目标节点的节点服务页面时,用户可以基于节点服务页面选择数据处理服务类型,如点击发行资产按钮,选择发行资产服务,并上传与发行资产相关的目标数据。终端基于用户的选择操作以及目标数据生成节点服务请求,并将节点服务请求发送至目标节点。节点数据库中具有数据处理服务类型与提供数据处理服务类型所对应服务所需依赖接口的接口标识的对应关系,即节点数据库中具有数据处理服务类型与目标接口的接口标识的对应关系。目标节点基于节点服务请求确定数据处理服务类型,从节点数据库中查询与当前数据处理服务类型对应的目标接口的接口标识,根据接口标识生成状态查询请求,并将状态查询请求通过接口调用链路发送至目标接口。
进一步的,目标接口接收状态查询请求,然后将自身状态信息打包发送至目标节点。目标节点转发状态信息至中心服务器。中心服务器根据目标接口的状态信息,计算目标接口的资源空闲率,根据资源空闲率确定响应接口的调用成功概率,当每个接口的调用成功概率均大于阈值时,目标节点基于目标接口的接口标识生成对应的调用请求,并将调用请求发送至目标接口。状态信息是指能够直接或间接反映接口服务能力的信息,如接口在预设时间分片的请求响应状况信息、资源消耗状况信息等。
进一步地,目标接口调用相应的算法响应调用请求,得到处理结果,并将处理结果返回目标节点。目标节点基于目标数据以及处理结果生成数据区块。
在一个实施例中,目标节点可以预先建立资源空闲率与调用成功概率的对应关系,进而根据该对应关系确定接口所对应的调用成功概率。
在一个实施例中,当目标接口接收到状态查询请求时,目标接口仅统计在最近范围时长的状态信息,不统计早于最近单位时长的过期的状态信息,以便目标节点能够对最新的状态信息进行统计分析。
上述实施例中,在接收到节点服务请求后,从相应接口中拉取最新的状态信息,有助于提高调用成功概率准确性;此外,只有当全部接口的调用成功概率大于阈值时,才真正调用接口调用链路中的每个接口来响应节点服务请求,可以减少不必要的调用开销,节约接口资源。
在一个实施例中,根据状态信息计算相应接口的调用成功概率包括:根据状态信息,确定相应接口在接收到节点服务请求之前的单位时长内的累计历史请求响应量和累计请求到达量;计算累计历史请求响应量相对累计请求到达量的占比;根据计算得到的请求响应占比确定相应接口所对应的调用成功概率。
其中,对接口调用链路进行调用成功概率分析时需要获取接口在一段时间内的状态信息。单位时长是指这段时间的时间长度。单位时长过长会增加接入服务器计算量;单位时长过小会使用于链路分析的状态信息不够充分,影响调用成功概率分析结果准确性,因而需要合理设定,如1秒等。
累计请求响应量是指过去一段时间接口响应调用请求的数量。累计请求到达量是指过去一段时间接口所接收到的调用请求的数量。在本实施例中累计请求到达量是指在接收到节点服务请求之前的单位时长内接口所接收到的调用请求的数量,即在历史时段内接口所接收到的调用请求的总数量。历史时段是在当前服务请求的接收时间之前、时间长度为单位时长的一段时间。
具体地,目标节点根据目标接口在历史时段对接收到的调用请求的响应记录,对目标接口在历史时段响应的调用请求的数量进行统计,得到目标接口在历史时段内的累计历史请求响应量。或者,目标节点根据目标接口在当前时段内当前单位时长之前的多个历史单位时长对接收到的调用请求的响应记录,对接口在多个历史单位时长响应的调用请求的数量进行统计,得到相应接口在当前时段的累计历史请求响应量。
在一个实施例中,目标节点可通过计数器来实现每个接口对应累计历史请求响应量的统计。每当目标节点接收到返回的节点服务请求处理结果时,该节点服务请求所依赖的每个接口对应累计请求到达量就加1。
进一步地,目标节点根据目标接口在历史时段对接收到的调用请求的响应记录,对接口在历史时段接收到的调用请求的数量进行统计,得到目标接口在历史时段的累计请求到达量。在一个实施例中,目标节点可通过计数器来实现每个接口对应累计请求到达量的统计。每当接收到一个节点服务请求,该节点服务请求所依赖的每个接口对应累计请求到达量就加1。目标节点可基于时间长度为单位时长的滑窗函数,动态统计单位时长内每个接口所对应的累计请求到达量。通过计数器实时统计累计请求到达量,可以在节点服务请求到达时对累计请求到达量的获取效率,进而提高调用成功概率计算效率。
进一步地,目标节点计算接口在历史时段的累计历史请求响应量相对累计请求到达量的占比,记作请求响应占比,将该请求响应占比确定为相应接口所对应的调用成功概率。
上述实施例中,当接收到节点服务请求的即刻开始动态计算目标接口在此之前单位时长内的请求响应占比,不仅计算逻辑简单,节约目标节点计算资源,且用于计算请求相应占比的数据为最能够反映接口服务能力的靠近当前时刻的最新状态数据,可以提高调用成功概率准确性。
在一个实施例中,节点服务请求携带了用户标识以及服务类型;调用接口调用链路中的接口响应节点服务请求包括:根据用户标识以及服务类型,获取所对应可调用接口的接口标识;当可调用接口的接口标识中包含接口调用链路中每个接口标识时,调用接口调用链路中的接口响应节点服务请求。
其中,参考图6,图6为一个实施例中基于节点访问平台展示的节点接口配置页面的界面示意图。区块链***的管理人员可以事先对用户所注册的节点中每个接口是否可用进行配置,如用户购买了A节点中的发行资产服务及共享账本服务,区块链***的管理人员将A节点中发行资产所依赖的接口及共享账本服务所需调用的接口设置为可调用接口,此时中心服务器将可调用接口的接口标识、服务类型与用户标识发送至注册节点,以使注册节点对可调用接口的接口标识、服务类型与用户标识对应存储于节点数据库中。
具体地,目标节点从节点服务请求中提取用户标识以及服务类型,并基于节点数据库中查询与用户标识以及服务类型相对应的可调用接口的接口标识。目标节点确定与服务类型相对应的接口调用链路中每个接口标识,判断可调用接口的接口标识中是否包含接口调用链路中每个接口标识,当包含每个接口标识时,可以认为当前用户具有对接口调用链路中每个接口的调用权限,此时目标节点根据接口标识用以获取每个接口的状态信息。
上述实施例中,通过判断当前用户具有对接口调用链路中每个接口的调用权限时,才收集接口调用链路中每个接口的状态信息,可以减少不具有接口调用权限的用户误调用接口的概率,从而保证了接口调用的安全性。
在一个实施例中,节点访问请求携带了用户标识;数据存储方法还包括:确定目标数据对应的数字签名;获取预存储的与用户标识对应的授权证书;将数字签名与授权证书进行匹配;当匹配成功时,基于目标数据生成数据区块。
其中,数字签名是附加在目标数据上的,用于标识目标数据来源的信息,如数字签名可以是利用私钥对用户标识进行加密后,用以标识上传数据的用户身份的数据。授权证书是用于表征权限信息的数字文件,如与私钥对应的公钥。当用户为目标节点配置秘钥对时,用户可以保留秘钥对中的私钥。
具体地,当用户基于节点服务页面选择服务类型后,用户可以利用私钥对用户标识进行签名,如利用私钥对用户名进行签名,得到数字签名,并将数字签名及需要上链的目标数据基于终端发送至目标节点。目标节点接收数字签名,并根据自身的节点标识确定对应的公钥。目标节点利用公钥解密数字签名,当公钥能够成功解密数字签名时,如当解密后的数字签名不为乱码文字时,可以认为与目标节点的节点标识相关联的公钥和用户保留的私钥是成对的秘钥对,此时用户具有对目标节点的访问权限。目标节点对目标数据、数字签名以及节点服务请求的处理结果进行计算,直至计算结果满足生成数据区块的条件,从而得到数据区块。
上述实施例中,当与目标节点的节点标识相关联的公钥能够解密数字签名时,才基于目标数据、数字签名以及节点服务请求的处理结果生成对应的数据区块,可以减少处理没有访问权限的用户上传的目标数据的概率,从而提升了数据存储的安全性。
如图7所示,在一个具体的实施例中,数据存储方法的具体实现步骤包括:
S702,中心服务器从来自终端的目标访问请求中提取访问域名;确定统一入口页面所对应的入口域名;从访问域名中提取入口域名之后的后缀域名;基于预设的正则表达式对后缀域名进行正则匹配对访问域名进行解析,得到目标节点标识和访问方法,根据目标节点标识及访问方法;将基于访问方法生成的节点访问请求转发至节点标识对应的目标节点。
S704,对终端通过中心服务器转发的节点访问请求进行解析,得到对目标节点的访问方法。
S706,拆除与中心服务器之间的通信链路,建立与终端之间的通信链路。
S708,获取用户标识相关联的可访问节点标识。
S710,判断可访问节点标识是否包含目标节点的节点标识。
S712,当包含目标节点标识时,通过通信链路将访问方法对应的页面数据返回至终端,使终端根据页面数据从统一入口页面跳转至相应节点服务页面。
S714,接收终端通过通信链路发送的基于目标数据发起生成的节点服务请求。
S716,确定节点服务请求所对应的接口调用链路。
S718,获取接口调用链路中每个接口的状态信息。
S720,根据状态信息,确定相应接口在接收到服务请求之前的单位时长内的累计历史请求响应量和累计请求到达量。
S722,计算累计历史请求响应量相对累计请求到达量的占比。
S724,根据计算得到的请求响应占比确定相应接口所对应的调用成功概率。
S726,当每个接口的调用成功概率大于阈值时,根据用户标识以及服务类型,获取所对应可调用接口的接口标识。
S728,当可调用接口的接口标识中包含接口调用链路中每个接口标识时,调用接口调用链路中的接口响应节点服务请求,得到处理结果。
S730,确定目标数据对应的数字签名。
S732,获取预存储的与用户标识对应的公钥信息授权证书。
S734,将私钥签名数字签名与公钥信息授权证书进行匹配。
S736,当匹配成功时,基于目标数据以及响应处理结果生成数据区块。
应该理解的是,虽然图3和7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3和7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种数据存储装置800,包括:访问方法获取模块802,通信模块804和数据区块生成模块806,其中:
访问方法获取模块802,用于对终端通过中心服务器转发的节点访问请求进行解析,得到对目标节点的访问方法。
通信模块804,用于拆除与中心服务器之间的通信链路,建立与终端之间的通信链路;通过通信链路将访问方法对应的页面数据返回至终端,使终端基于页面数据展示节点服务页面,并获取在节点服务器页面产生的目标数据。
数据区块生成模块806,用于接收终端通过通信链路发送的目标数据;将基于目标数据生成的数据区块广播存储至区块链***中的其他节点。
在一个实施例中,如图9所示,上述数据存储装置800还包括节点访问请求生成模块808,用于在目标访问请求中提取访问域名;确定统一入口页面所对应的入口域名;从访问域名中提取入口域名之后的后缀域名;基于预设的正则表达式对后缀域名进行正则匹配,得到目标节点标识和访问方法,根据目标节点标识及访问方法生成节点访问请求。
在一个实施例中,通信模块804还包括节点验证模块8041,用于获取用户标识相关联的可访问节点标识;判断可访问节点标识中是否包含目标节点标识;当包含目标节点标识时,通过通信链路将访问方法对应的页面数据返回至终端。
在一个实施例中,数据区块生成模块806还包括接口调用模块8061,用于确定节点服务请求所对应的接口调用链路;获取接口调用链路中每个接口的状态信息;根据状态信息计算相应接口的调用成功概率;当每个接口的调用成功概率大于阈值时,调用接口调用链路中的接口响应节点服务请求,得到处理结果;基于目标数据以及处理结果生成数据区块。
在一个实施例中,数据区块生成模块806还包括成功率计算模块8062,用于根据状态信息,确定相应接口在接收到节点服务请求之前的单位时长内的累计历史请求响应量和累计请求到达量;计算累计历史请求响应量相对累计请求到达量的占比;根据计算得到的请求响应占比确定相应接口所对应的调用成功概率。
在一个实施例中,数据区块生成模块806还包括接口验证模块8063,用于根据用户标识以及服务类型,获取所对应可调用接口的接口标识;当可调用接口的接口标识中包含接口调用链路中每个接口标识时,调用接口调用链路中的接口响应节点服务请求。
在一个实施例中,数据区块生成模块806还包括签名验证模块8064,用于确定目标数据对应的数字签名;获取预存储的与用户标识对应的授权证书;将数字签名与授权证书进行匹配;当匹配成功时,基于目标数据生成数据区块。
关于数据存储装置的具体限定可以参见上文中对于数据存储方法的限定,在此不再赘述。上述数据存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图10示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器。如图10所示,该计算机设备包括该计算机设备包括通过***总线连接的处理器、存储器、网络接口及节点数据库。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据存储方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据存储方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的数据存储装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行。计算机设备的存储器中可存储组成该节点访问装置的各个程序模块,比如,图8所示的访问方法获取模块、通信模块和数据区块生成模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的接口调用方法中的步骤。
例如,图10所示的计算机设备可以通过如图9所示的节点访问装置中的访问方法获取模块执行S302。计算机设备可通过通信模块执行S304和S306。计算机设备可通过数据区块生成模块执行S308和S310。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述数据存储方法的步骤。此处数据存储方法的步骤可以是上述各个实施例的数据存储方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述数据存储方法的步骤。此处节点访问方法的步骤可以是上述各个实施例的数据存储方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (18)
1.一种数据存储方法,所述方法包括:
对终端通过中心服务器转发的节点访问请求进行解析,得到所述节点访问请求中的请求头,并从所述节点访问请求的请求头中提取出删减域名,基于预设的正则表达式对所述删减域名进行匹配,得到对目标节点的访问方法;所述删减域名是通过删除访问域名中的统一入口页面的入口域名和第一标识符得到的;所述统一入口页面是通过终端展示的用于确定需要访问的节点和访问方法的页面;所述访问域名是通过拼接所述统一入口页面的入口域名、需要访问的节点的标识以及访问方法得到的;拆除与所述中心服务器之间的通信链路,建立与所述终端之间的通信链路;
通过所述通信链路将所述访问方法对应的页面数据返回至所述终端,使所述终端基于所述页面数据展示节点服务页面,并获取在所述节点服务页面产生的目标数据;
接收所述终端通过所述通信链路发送的目标数据;
将基于目标数据生成的数据区块广播存储至区块链***中的其他节点。
2.根据权利要求1所述的方法,其特征在于,所述节点访问请求由所述中心服务器根据终端基于统一入口页面触发的目标访问请求生成;
所述中心服务器在所述目标访问请求中提取访问域名;确定所述统一入口页面所对应的入口域名;从所述访问域名中提取所述入口域名之后的后缀域名;基于预设的正则表达式对所述后缀域名进行正则匹配,得到目标节点标识和访问方法,根据所述目标节点标识及访问方法生成节点访问请求。
3.根据权利要求2所述的方法,其特征在于,所述通过所述通信链路将所述访问方法对应的页面数据返回至所述终端,使所述终端基于所述页面数据展示节点服务页面包括:
通过所述通信链路将所述访问方法对应的页面数据返回至所述终端,使所述终端根据所述页面数据从所述统一入口页面跳转至相应节点服务页面。
4.根据权利要求2所述的方法,其特征在于,所述节点访问请求携带了用户标识;所述通过通信链路将所述访问方法对应的页面数据返回至所述终端包括:
获取所述用户标识相关联的可访问节点标识;
判断所述可访问节点标识中是否包含所述目标节点标识;
当包含所述目标节点标识时,通过通信链路将所述访问方法对应的页面数据返回至所述终端。
5.根据权利要求1所述的方法,其特征在于,所述接收所述终端通过所述通信链路发送的目标数据包括;接收终端通过所述通信链路发送的基于目标数据生成的节点服务请求;所述方法还包括:
确定所述节点服务请求所对应的接口调用链路;
获取所述接口调用链路中每个接口的状态信息;
根据所述状态信息计算相应接口的调用成功概率;
当每个接口的调用成功概率大于阈值时,调用所述接口调用链路中的接口响应所述节点服务请求,得到处理结果;
基于所述目标数据以及所述处理结果生成数据区块。
6.根据权利要求5所述的方法,其特征在于,所述根据所述状态信息计算相应接口的调用成功概率包括:
根据所述状态信息,确定相应接口在接收到所述节点服务请求之前的单位时长内的累计历史请求响应量和累计请求到达量;
计算所述累计历史请求响应量相对所述累计请求到达量的占比;
根据计算得到的请求响应占比确定相应接口所对应的调用成功概率。
7.根据权利要求5所述的方法,其特征在于,所述节点服务请求携带了用户标识以及服务类型;调用所述接口调用链路中的接口响应所述节点服务请求包括:
根据所述用户标识以及服务类型,获取所对应可调用接口的接口标识;
当所述可调用接口的接口标识中包含所述接口调用链路中每个接口标识时,调用所述接口调用链路中的接口响应所述节点服务请求。
8.根据权利要求1所述的方法,其特征在于,所述节点访问请求携带了用户标识;所述方法还包括;
确定所述目标数据对应的数字签名;
获取预存储的与所述用户标识对应的授权证书;
将所述数字签名与所述授权证书进行匹配;
当匹配成功时,基于所述目标数据生成数据区块。
9.一种数据存储装置,其特征在于,所述装置包括:
访问方法获取模块,用于对终端通过中心服务器转发的节点访问请求进行解析,得到所述节点访问请求中的请求头,并从所述节点访问请求的请求头中提取出删减域名,基于预设的正则表达式对所述删减域名进行匹配,得到对目标节点的访问方法;所述删减域名是通过删除访问域名中的统一入口页面的入口域名和第一标识符得到的;所述统一入口页面是通过终端展示的用于确定需要访问的节点和访问方法的页面;所述访问域名是通过拼接所述统一入口页面的入口域名、需要访问的节点的标识以及访问方法得到的;
通信模块,用于拆除与所述中心服务器之间的通信链路,建立与所述终端之间的通信链路;通过所述通信链路将所述访问方法对应的页面数据返回至所述终端,使所述终端基于所述页面数据展示节点服务页面,并获取在所述节点服务页面产生的目标数据;
数据区块生成模块,用于接收所述终端通过所述通信链路发送的目标数据;将基于目标数据生成的数据区块广播存储至区块链***中的其他节点。
10.根据权利要求9所述的装置,其特征在于,所述节点访问请求由所述中心服务器根据终端基于统一入口页面触发的目标访问请求生成;
所述数据存储装置还包括节点访问请求生成模块,用于在所述目标访问请求中提取访问域名;确定所述统一入口页面所对应的入口域名;从所述访问域名中提取所述入口域名之后的后缀域名;基于预设的正则表达式对所述后缀域名进行正则匹配,得到目标节点标识和访问方法,根据所述目标节点标识及访问方法生成节点访问请求。
11.根据权利要求10所述的装置,其特征在于,所述节点访问请求生成模块还用于通过所述通信链路将所述访问方法对应的页面数据返回至所述终端,使所述终端根据所述页面数据从所述统一入口页面跳转至相应节点服务页面。
12.根据权利要求10所述的装置,其特征在于,所述节点访问请求携带了用户标识;所述通信模块还包括节点验证模块,用于获取所述用户标识相关联的可访问节点标识;判断所述可访问节点标识中是否包含所述目标节点标识;当包含所述目标节点标识时,通过通信链路将所述访问方法对应的页面数据返回至所述终端。
13.根据权利要求9所述的装置,其特征在于,所述访问方法获取模块还用于接收终端通过所述通信链路发送的基于目标数据生成的节点服务请求;所述数据区块生成模块还包括接口调用模块,用于确定所述节点服务请求所对应的接口调用链路;获取所述接口调用链路中每个接口的状态信息;根据所述状态信息计算相应接口的调用成功概率;当每个接口的调用成功概率大于阈值时,调用所述接口调用链路中的接口响应所述节点服务请求,得到处理结果;基于所述目标数据以及所述处理结果生成数据区块。
14.根据权利要求13所述的装置,其特征在于,所述数据区块生成模块还包括成功率计算模块,用于根据所述状态信息,确定相应接口在接收到所述节点服务请求之前的单位时长内的累计历史请求响应量和累计请求到达量;计算所述累计历史请求响应量相对所述累计请求到达量的占比;根据计算得到的请求响应占比确定相应接口所对应的调用成功概率。
15.根据权利要求13所述的装置,其特征在于,所述节点服务请求携带了用户标识以及服务类型;所述数据区块生成模块还包括接口验证模块,用于根据所述用户标识以及服务类型,获取所对应可调用接口的接口标识;当所述可调用接口的接口标识中包含所述接口调用链路中每个接口标识时,调用所述接口调用链路中的接口响应所述节点服务请求。
16.根据权利要求9所述的装置,其特征在于,所述节点访问请求携带了用户标识;所述数据区块生成模块还包括签名验证模块,用于确定所述目标数据对应的数字签名;获取预存储的与所述用户标识对应的授权证书;将所述数字签名与所述授权证书进行匹配;当匹配成功时,基于所述目标数据生成数据区块。
17.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910871924.1A CN110599142B (zh) | 2019-09-16 | 2019-09-16 | 数据存储方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910871924.1A CN110599142B (zh) | 2019-09-16 | 2019-09-16 | 数据存储方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110599142A CN110599142A (zh) | 2019-12-20 |
CN110599142B true CN110599142B (zh) | 2024-06-25 |
Family
ID=68859888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910871924.1A Active CN110599142B (zh) | 2019-09-16 | 2019-09-16 | 数据存储方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110599142B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111291292A (zh) * | 2020-01-15 | 2020-06-16 | 广州虎牙科技有限公司 | 页面渲染方法和装置、终端设备及存储介质 |
CN111259298B (zh) * | 2020-01-16 | 2023-06-27 | 深圳市华海同创科技有限公司 | 基于区块链的话题生成方法、节点服务器及存储介质 |
CN114692210A (zh) * | 2020-12-25 | 2022-07-01 | 航天信息股份有限公司 | 一种数据存储***、方法、设备及介质 |
CN112860789B (zh) * | 2020-12-31 | 2023-02-21 | 广州智能科技发展有限公司 | 基于区块链的政务数据流通***及方法 |
CN113608962A (zh) * | 2021-07-30 | 2021-11-05 | 平安普惠企业管理有限公司 | 异常应用接口的预测方法、装置、设备及存储介质 |
CN113934953A (zh) * | 2021-10-11 | 2022-01-14 | 上海哔哩哔哩科技有限公司 | 网页首屏渲染方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109285014A (zh) * | 2018-10-28 | 2019-01-29 | 北京工业大学 | 一种基于以太坊的农产品溯源平台数据存储查询***及方法 |
CN109741802A (zh) * | 2019-01-04 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 数据管理方法、装置、计算机设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108777698A (zh) * | 2018-04-13 | 2018-11-09 | 深圳市元征科技股份有限公司 | 网页存储方法、***及区块链节点设备 |
CN109951482B (zh) * | 2019-03-19 | 2021-01-15 | 全链通有限公司 | 用户终端及其区块链域名解析方法 |
-
2019
- 2019-09-16 CN CN201910871924.1A patent/CN110599142B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109285014A (zh) * | 2018-10-28 | 2019-01-29 | 北京工业大学 | 一种基于以太坊的农产品溯源平台数据存储查询***及方法 |
CN109741802A (zh) * | 2019-01-04 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 数据管理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110599142A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110599142B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN110430288B (zh) | 节点访问方法、装置、计算机设备和存储介质 | |
CN110011988B (zh) | 基于区块链的证书验证方法及装置、存储介质、电子装置 | |
CN110365670B (zh) | 黑名单共享方法、装置、计算机设备和存储介质 | |
CN110535971B (zh) | 基于区块链的接口配置处理方法、装置、设备及存储介质 | |
CN108270882B (zh) | 域名的解析方法和装置、存储介质、电子装置 | |
CN110213223B (zh) | 业务管理方法、装置、***、计算机设备和存储介质 | |
CN111010372A (zh) | 区块链网络身份认证***、数据处理方法及网关设备 | |
CN111460458B (zh) | 一种数据处理方法、相关装置及计算机可存储介质 | |
CN111740966B (zh) | 一种基于区块链网络的数据处理方法及相关设备 | |
CN110096551A (zh) | 基于区块链的信用数据存储方法、装置、设备及介质 | |
CN112308561A (zh) | 基于区块链的存证方法、***、计算机设备和存储介质 | |
CN111488372A (zh) | 一种数据处理方法、设备及存储介质 | |
CN111885133A (zh) | 基于区块链的数据处理方法、装置及计算机存储介质 | |
CN109819068A (zh) | 用户终端及其区块链域名解析方法 | |
CN110597541A (zh) | 基于区块链的接口更新处理方法、装置、设备及存储介质 | |
CN112364059B (zh) | 多规则场景下关联匹配方法、装置、设备和存储介质 | |
CN112367164A (zh) | 业务请求处理方法、装置、计算机设备和存储介质 | |
CN108376154B (zh) | ***基表同步方法、装置、计算机设备和存储介质 | |
CN111488626A (zh) | 基于区块链的数据处理方法、装置、设备及介质 | |
CN110351364A (zh) | 数据存储方法、设备及计算机可读存储介质 | |
CN111339130A (zh) | 一种数据查询方法、相关设备及可读存储介质 | |
CN110611725B (zh) | 节点访问方法、装置、计算机设备和存储介质 | |
CN112994897A (zh) | 证书查询方法、装置、设备及计算机可读存储介质 | |
CN111597537A (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 |