一种数据存储方法、装置、计算机设备及存储介质与流程

文档序号:32292581发布日期:2022-11-23 01:59阅读:71来源:国知局
一种数据存储方法、装置、计算机设备及存储介质与流程

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.将所述至少一个节点编号各自对应的目标节点,作为基于所述节点映射策略确定的所述待存储数据记录对应的至少一个目标节点。
28.可选的,所述各个备选节点各自的存储状态信息中还包括相应的备选节点的网络地址;所述处理模块具体用于:
29.基于所述目标节点的存储状态信息,确定所述目标节点的网络地址;
30.基于所述网络地址,建立与所述目标节点之间的网络通信连接;
31.通过所述网络通信连接,向所述目标节点发送所述待存储数据记录,以使所述目标节点接收并保存接收的待存储数据记录。
32.可选的,若筛选出的目标节点的数量为多个,则所述处理模块具体用于:
33.分别向多个目标节点发送所述待存储数据记录,以使所述多个目标节点分别接收并保存所述待存储数据记录,以及若所述待存储数据记录保存成功,则反馈保存成功信息;
34.统计接收的保存成功信息的信息数量;
35.若所述信息数量达到预设数量阈值,则确定所述待存储数据记录保存成功。
36.可选的,所述处理模块还用于:
37.在将满足预设记录保存条件的待存储数据记录保存至所述目标节点之后,响应于针对所述目标客户端的已存储数据记录的获取操作,确定目标数据记录;
38.基于所述记录保存条件和所述节点筛选条件,确定所述目标数据记录对应的存储节点;
39.所述收发模块还用于:
40.向所述存储节点发送数据获取指令;
41.接收所述存储节点反馈的所述目标数据记录。
42.可选的,若基于所述记录保存条件和所述节点筛选条件确定出的存储节点的数量为多个,则所述收发模块具体用于:
43.向多个存储节点中的一个存储节点发送数据获取指令;
44.若在预设时长内未接收所述一个存储节点针对所述数据获取指令的反馈的所述目标数据记录,则向所述多个存储节点中除了所述一个存储节点以外的其他存储节点分别发送所述数据获取指令。
45.可选的,所述处理模块还用于:
46.在将满足预设记录保存条件的待存储数据记录保存至所述目标节点之后,基于所述待存储数据序列包含的多个待存储数据记录,更新所述备选节点集合中,所述目标节点的存储状态信息。
47.可选的,所述处理模块还用于:
48.在将满足预设记录保存条件的待存储数据记录保存至所述目标节点之后,响应于针对所述备选节点集合的节点添加操作,获得至少一个新增节点;
49.基于所述至少一个新增节点,分别创建所述至少一个新增节点各自的存储状态信息;
50.基于所述至少一个新增节点各自的存储状态信息,在所述备选节点集合中添加所述至少一个新增节点,获得更新后的备选节点集合。
51.可选的,所述处理模块还用于:
52.在持续接收待存储数据序列之前,响应于针对所述目标客户端的设置操作,获得所述记录保存条件。
53.可选的,备选节点的存储状态信息包括备选节点的负载信息、备选节点的处理器属性信息、备选节点的存储空间大小、备选节点所在网络环境信息中的一种或多种。
54.第三方面,提供一种计算机设备,包括:
55.存储器,用于存储程序指令;
56.处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如第一方面所述的方法。
57.第四方面,提供一种计算机可读存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的方法。
58.本技术实施例中,持续接收待存储数据序列,在持续接收的过程中,每确定出满足预设的记录保存条件的待存储数据记录,就从预存的备选节点集合中,筛选出存储状态信息满足预设的节点筛选条件的备选节点作为目标节点。从而,针对每次确定出的满足记录保存条件的待存储数据记录进行保存的目标节点并不是固定不变的,避免了向固定的节点存储数据时,由于待存储的数据量较大,但节点的存储空间有限而造成的数据存储失败的情况。同时,由于每次选择的目标节点仅针对一次确定出的满足记录保存条件的待存储数据记录,那么在备选节点集合中随时加入或删除节点时,加入的节点就可以直接被选做下次确定出的满足记录保存条件的待存储数据记录的目标节点,删除的节点可以直接不会被选做下次确定出的满足记录保存条件的待存储数据记录的目标节点,避免了节点的存储空间不足,需要将数据迁移到存储空间更大的节点上再继续进行存储的过程,也避免了删除节点时,需要将数据迁移到其他节点的过程,大大提高了数据存储的稳定性。且待存储数据记录所保存的目标节点不区分主从节点,因此不需要由主节点向从节点写入数据,合理的利用了节点的吞吐能力。
附图说明
59.图1为相关技术中数据存储方法的一种原理示意图;
60.图2为本技术实施例提供的数据存储方法的一种原理示意图一;
61.图3为本技术实施例提供的数据存储方法的一种应用场景;
62.图4为本技术实施例提供的数据存储方法的一种流程示意图一;
63.图5为本技术实施例提供的数据存储方法的一种流程示意图二;
64.图6a为本技术实施例提供的数据存储方法的一种原理示意图二;
65.图6b为本技术实施例提供的数据存储方法的一种原理示意图三;
66.图6c为本技术实施例提供的数据存储方法的一种原理示意图四;
67.图7a为本技术实施例提供的数据存储方法的一种原理示意图五;
68.图7b为本技术实施例提供的数据存储方法的一种交互示意图;
69.图7c为本技术实施例提供的数据存储方法的一种原理示意图六;
70.图8为本技术实施例提供的数据存储装置的结构示意图一;
71.图9为本技术实施例提供的数据存储装置的结构示意图二。
具体实施方式
72.为了使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
73.下面对本技术实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
74.(1)吞吐量:
75.吞吐量是指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(数量可以采用比特、字节、组等来衡量)。可以通过一些测量方法获得吞吐量,例如,以一定速率发送一定数量的帧,并计算待测设备接收的帧,如果发送的帧与接收的帧数量相等,那么提高发送速率后继续测量;如果接收帧少于发送帧,那么降低发送速率后继续测量,直至得出最终测量结果。
76.(2)并发:
77.以操作系统为例,并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间的状态,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。例如,第一线程处于运行状态时,其他线程处于挂起状态。
78.本技术实施例涉及云技术(cloud technology)和区块链(blockchain)。基于云技术中的云计算(cloud computing)和云存储(cloud storage)等而设计。
79.云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
80.云计算是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
81.作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为基础设施即服务(infrastructure as a service,iaas)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
82.按照逻辑功能划分,在iaas层上可以部署平台即服务(platform as a service,paas)层,paas层之上再部署软件即服务(software as a service,saas)层,也可以直接将saas部署在iaas上。paas为软件运行的平台,如数据库、web容器等。saas为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,saas和paas相对于iaas是上层。
83.云存储是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
84.目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(id entity,id)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
85.存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(redundant array of independent disk,raid)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
86.区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
87.区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合
约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
88.平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
89.下面对本技术实施例提供的数据存储方法的应用领域进行简单介绍。
90.随着科技的不断发展,设备需要存储的数据越来越多。例如,对于一个客户端来说,每天都会产生较多的日志记录,那么对于一个服务器来说,由于对应多个客户端,那么每天就需要存储大量的日志记录。
91.通常,请参考图1,服务器在接收客户端发送的数据之后,可以将同一个类型的数据存储在存储集群中固定的物理节点上,例如,服务器接收到超市的收银台的客户端持续发送的订单记录,服务器可以为该收银台的客户端选择三个存储主节点,包括节点1、节点2和节点3。服务器为了进行数据备份,可以分别为每个主节点选择两个从节点,包括节点1-1、节点1-2、节点2-1、节点2-2、节点3-1和节点3-2。服务器将该收银台的客户端发送的订单记录分别存储在节点1、节点2和节点3。节点1在接收订单记录之后,将订单记录存储,并分别向节点1-1和节点1-2发送订单记录,用于备份存储。对于节点2和节点3来说,也进行相同的存储过程。
92.由于物理节点的存储空间是有限的,那么在需要存储的数据量超过物理节点的存储空间时,就会出现数据存储失败的情况。如果不及时的将该物理节点上存储的所有数据迁移到存储空间更大的物理节点上继续进行数据存储,容易影响相关业务的正常运行。可见,数据存储的稳定性较差。
93.为了解决数据存储的稳定性较差的问题,本技术提出一种数据存储方法。请参考图2,为本技术实施例提供的数据存储方法的原理示意图。该方法持续接收待存储数据序列,在持续接收的过程中,每确定出满足预设的记录保存条件的待存储数据记录,就基于预存的备选节点集合中各个备选节点各自的存储状态信息,筛选出存储状态信息满足预设的节点筛选条件的备选节点作为目标节点。将满足预设的记录保存条件的待存储数据记录,保存在目标节点。
94.本技术实施例中,持续接收待存储数据序列,在持续接收的过程中,每确定出满足预设的记录保存条件的待存储数据记录,就从预存的备选节点集合中,筛选出存储状态信息满足预设的节点筛选条件的备选节点作为目标节点。从而,针对每次确定出的满足记录保存条件的待存储数据记录进行保存的目标节点并不是固定不变的,避免了向固定的节点存储数据时,由于待存储的数据量较大,但节点的存储空间有限而造成的数据存储失败的情况。同时,由于每次选择的目标节点仅针对一次确定出的满足记录保存条件的待存储数据记录,那么在备选节点集合中随时加入或删除节点时,加入的节点就可以直接被选做下次确定出的满足记录保存条件的待存储数据记录的目标节点,删除的节点可以直接不会被选做下次确定出的满足记录保存条件的待存储数据记录的目标节点,避免了节点的存储空
间不足,需要将数据迁移到存储空间更大的节点上再继续进行存储的过程,也避免了删除节点时,需要将数据迁移到其他节点的过程,大大提高了数据存储的稳定性。且待存储数据记录所保存的目标节点不区分主从节点,因此不需要由主节点向从节点写入数据,合理的利用了节点的吞吐能力。
95.下面对本技术提供的数据存储方法的应用场景进行说明。
96.请参考图3,为本技术提供的数据存储方法的一种应用场景。该应用场景中包括客户端101、服务端102和存储端103。客户端101和服务端102之间可以通信,存储端103和服务端102之间可以通信,通信方式可以是采用有线通信技术进行通信,例如通过连接网线或串口线进行通信;也可以是采用无线通信技术进行通信,例如通过蓝牙或无线保真(wireless fidelity,wifi)等技术进行通信,具体不做限制。
97.客户端101泛指向服务端102提供待存储数据记录的设备,例如,终端设备、终端设备可以访问的第三方应用程序或终端设备可以访问的网页等。终端设备例如是手机、平板电脑或个人计算机等。服务端102泛指将获得的待存储数据记录存储与存储端103的设备,例如,终端设备或服务器等。服务器例如是云服务器或本地服务器等。存储端103泛指保存待存储数据记录的设备,例如数据库等。数据库例如是云数据库或服务端102的本地数据库等。客户端101、服务端102和存储端103均可以采用云计算,以减少本地计算资源的占用;同样也可以采用云存储,以减少本地存储资源的占用。
98.作为一种实施例,客户端101和服务端102可以是同一个设备,客户端101和存储端103可以是同一个设备,服务端102和存储端103可以是同一个设备,客户端101、服务端102和存储端103可以是同一个设备等,具体不做限制。本技术实施例中,以客户端101、服务端102和存储端103分别为不同的设备为例进行介绍。
99.下面基于图3,对本技术实施例提供的数据存储方法进行具体介绍,以目标客户端为客户端101,服务器为服务端102,存储集群为存储端103为例。
100.请参考图4,为本技术实施例提供的数据存储方法的流程示意图。
101.s401,服务器持续接收待存储数据序列。
102.目标客户端可以以数据流的形式持续向服务器发送待存储数据序列,服务器持续接收目标客户端发送的待存储数据序列。例如,目标客户端每产生一个待存储数据记录时,向服务器发送一个待存储数据记录,该一个待存储数据记录即为待存储数据序列中的待存储数据记录;又例如,目标客户端在产生了指定数量的待存储数据记录时,按照待存储数据记录的产生时刻,依次向服务器发送每个待存储数据记录,每个待存储数据记录即为待存储数据序列中的待存储数据记录;又例如,目标客户端在产生指定数据量的待存储数据记录时,按照待存储数据记录的产生时刻,依次向服务器发送待存储数据记录,依次发送的待存储数据记录即为待存储数据序列中的待存储数据记录等,具体不做限制。
103.作为一种实施例,待存储数据序列可以是任意客户端发送的,或者可以是由其他服务器或其他设备发送的,具体不做限制。
104.作为一种实施例,服务器每接收一个待存储数据记录之后,可以为待存储数据记录关联表征唯一性的记录编号。例如,服务器接收第一待存储数据记录之后,为第一待存储数据记录关联记录编号0001。服务器接收第二待存储数据记录之后,为第二待存储数据记录关联记录编号0002。服务器接收的待存储数据记录可以按照接收时刻的先后顺序,关联
顺序递增的记录编号。
105.s402,服务器在持续接收待存储数据序列的过程中,当持续接收到的待存储数据序列中的待存储数据记录满足预设记录保存条件时,基于预存的备选节点集合中各个备选节点各自的存储状态,筛选出存储状态信息满足预设的节点筛选条件的备选节点作为目标节点。
106.请参考图5,为服务器筛选存储状态信息满足预设的节点筛选条件的备选节点作为目标节点的流程示意图。
107.s501,确定待存储数据序列中的待存储数据记录满足预设记录保存条件。
108.服务器在持续接收待存储数据序列的过程中,可以基于预设的记录保存条件,确定满足预设记录保存条件的待存储数据记录。记录保存条件可以是服务器响应于针对目标客户端的设置操作预先获得的,也可以是与待存储数据记录同时获得的,也可以是预先设置在服务器中的,也可以是预先设置在目标客户端中的等,具体不做限制。
109.记录保存条件可以包括多种,例如,记录保存条件可以用于指示待存储数据记录的数量,从而,在待存储数据序列中的待存储数据记录的数量达到记录保存条件指示的数量时,确定待存储数据序列中的各个待存储数据记录满足预设记录保存条件。
110.又例如,记录保存条件可以用于指示最大数据量,从而,在待存储数据序列中的待存储数据记录的数据量之和,与最大数据量之差在预设范围内时,确定待存储数据序列中的各个待存储数据记录满足预设记录保存条件。
111.又例如,记录保存条件可以用于指示待存储数据记录的记录标识,从而,确定待存储数据序列中具有指定记录标识的待存储数据记录,满足预设记录保存条件。
112.以记录保存条件用于指示待存储数据记录的数量为例,在记录保存条件指示了数量为4时,服务器持续接收待存储数据序列,服务器可以将当前待存储数据序列中包括的待存储数据记录视为一个数据文件,如果当前待存储数据序列中包括的待存储数据记录的数量未达到4,那么该数据文件指示可以继续写入,如果当前待存储数据序列中包括的待存储数据记录的数量达到4,那么该数据文件指示不可以继续写入,超过4个待存储数据记录时,超出的待存储数据记录写入下一个数据文件。其中数据文件用于表征4个待存储数据记录,是虚拟数据文件,并不是实体数据文件。
113.请参考图6a,在待存储数据序列中包括第一待存储数据记录时,将第一待存储数据记录作为第一数据文件中的第一条记录。在待存储数据序列中包括第一待存储数据记录和第二待存储数据记录时,将第二待存储数据记录作为第一数据文件中的第二条记录,以此类推。在第一数据文件包括的待存储数据记录的数量没有达到4个时,第一数据文件的状态可以是“写入”状态,请参考图6b,直到第一数据文件中包含的记录为4个时,此时第一数据文件的状态可以是“关闭”状态,表示后续接收的待存储数据序列中的待存储数据记录可以作为第二数据文件中的记录等。
114.作为一种实施例,数据文件可以关联表征唯一性的文件编号,请参考图6c,在第一数据文件处于“关闭”状态之后,为第一数据文件关联文件编号01,在第二数据文件处于“关闭”状态之后,为第二数据文件关联文件编号02。可以按照先后顺序关联顺序递增的文件编号。
115.作为一种实施例,目标客户端或其他设备可以随时向服务器发送记录保存条件,
服务器在接收记录保存条件之后,新接收的记录保存条件,将对后续接收的待存储数据序列中的待存储数据记录生效。例如,原记录保存条件用于指示待存储数据记录的数量为5,以该记录保存条件获得了第一数据文件和第二数据文件,在接收第十二待存储数据记录之后,接收目标客户端发送的新记录保存条件指示数量为3,那么在接收第十三待存储数据记录之后,将第三数据文件将处于“关闭”状态,即获得了第三数据文件。
116.服务器每确定出满足预设记录保存条件的待存储数据记录之后,可以保存确定出的满足预设记录保存条件的待存储数据记录,实现边接收待存储数据记录,边确定满足预设记录保存条件的待存储数据记录,边保存满足预设记录保存条件的待存储数据记录。
117.s502,基于预存的备选节点集合中各个备选节点各自的存储状态信息,筛选出存储状态信息满足预设的节点筛选条件的备选节点作为目标节点。
118.存储集群中可以包含多个用于存储的节点,服务器可以根据存储集群中包含的各个节点,预先获得可以用于存储目标客户端发送的数据的各个备选节点,并基于各个备选节点,以及各个备选节点各自的存储状态信息,预先获得备选节点集合。从而,服务器在确定出待存储数据序列中的待存储数据记录满足预设记录保存条件时,可以在备选节点集合中,选择用于存储的目标节点。
119.作为一种实施例,在基于各个备选节点,以及各个备选节点各自的存储状态信息,获得备选节点集合时,服务器可以为每个备选节点关联表征唯一性的节点编号,从而可以通过节点编号表示相应的备选节点。
120.备选节点的存储状态信息可以包括备选节点的负载信息、备选节点的处理器属性信息、备选节点的存储空间大小、备选节点所在网络环境信息中的一种或多种。备选节点的负载信息例如是备选节点的中央处理器(central processing unit,cpu)使用率、存储空间使用率、网络带宽使用率或磁盘使用率等。备选节点的处理器属性信息包括cpu核数、网卡带宽大小、磁盘大小,磁盘类型,如是否是固态硬盘(solid state disk,ssd)等。备选节点所在网络环境信息包括备选节点的网络互连的协议(internet protocol,ip)地址等。
121.服务器在确定出待存储数据序列中的待存储数据记录满足预设记录保存条件之后,可以在备选节点集合中,为该满足预设记录保存条件的待存储数据记录筛选出低负载健康的目标节点,从而,目标客户端发送的待存储数据记录不用局限在固定的存储节点上,有效的避免了固定的存储节点的存储空间有限,在需要存储的数据量较大时,容易出现存储异常的情况。同时,固定的主节点和从节点中,只要有一个节点的存储空间不足,就会造成其他存储节点也无法存储数据的情况,即木桶效应,不仅造成了存储空间的浪费,还无法合理利用各个节点的吞吐能力。
122.基于预存的备选节点集合中各个备选节点各自的存储状态信息,筛选存储状态信息满足预设的节点筛选条件的备选节点作为目标节点的方法有多种,下面以其中的三种为例进行介绍。
123.节点筛选方法一:
124.为存储状态信息中包括的各个类型的信息配置优先级,根据优先级比较每个备选节点的存储状态信息,基于比较结果筛选出目标节点。
125.以存储状态信息中包括备选节点的cpu使用率、cpu核数、存储空间大小和存储空间使用率为例,设置存储状态信息中包括的各个信息的优先级,例如,优先级由高到低的排
序为:存储空间使用率,存储空间大小,cpu使用率,cpu核数。那么服务器可以根据各个备选节点的存储空间使用率由小到大,对各个备选节点进行排序,在存储空间使用率相同时,根据备选节点的存储空间大小由大到小进行排序,在存储空间大小也相同时,根据备选节点的cpu使用率由小到大,对各个备选节点进行排序,在cpu使用率也相同时,根据备选节点的cpu核数由大到小进行排序。在获得各个备选节点的排序之后,可以选择在指定序号之前的各个备选节点作为目标节点。
126.节点筛选方法二:
127.节点筛选条件包括多个子筛选条件,筛选出存储状态信息中包括的各个信息分别满足对应的子筛选条件的备选节点作为目标节点。
128.继续以存储状态信息中包括备选节点的cpu使用率、cpu核数、存储空间大小和存储空间使用率为例。节点筛选条件可以包括cpu使用率阈值、cpu核数阈值、存储空间大小阈值和存储空间使用率阈值。服务器可以根据各个备选节点的cpu使用率、cpu核数、存储空间大小和存储空间使用率,筛选出cpu使用率、cpu核数、存储空间大小和存储空间使用率分别达到cpu使用率阈值、cpu核数阈值、存储空间大小阈值和存储空间使用率阈值的备选节点作为目标节点。
129.节点筛选方法三:
130.对备选节点集合中各个备选节点各自的存储状态信息进行量化处理,获得量化后的各个存储状态信息。基于量化后的各个存储状态信息,对各个备选节点进行排序。基于排序结果,在各个备选节点中确定目标节点。
131.备选节点的存储状态信息中除了包括数值型的信息以外,还有可能包括字符型的信息,因此,可以对存储状态信息进行量化处理,获得量化后的各个存储状态信息。例如,存储状态信息包括磁盘类型,那么可以将固态硬盘量化为0,非固态硬盘量化为1。存储状态信息包括网络连接类型,那么可以将有线通信量化为1,无线通信量化为1,也可以将光纤通信量化为10,网线通信量化为5,wifi通信量化为2,蓝牙通信量化为0等,具体不做限制。
132.在获得量化后的各个存储状态信息之后,服务器可以根据量化后的各个存储状态信息,获得每个备选节点对应的一个存储状态信息的综合得分。根据存储状态信息的综合得分对各个备选节点进行排序,获得排序结果。服务器可以选择排在预设序号之前的备选节点作为目标节点。
133.作为一种实施例,服务器筛选出的目标节点的数量可以是目标客户端指定的,也可以是服务器预先针对目标客户端设置的,也可以是服务器根据备选节点集合中包含的备选节点的数量确定出的,也可以是服务器根据备选节点结合中各个备选节点的负载信息确定出的等,具体不做限制。
134.目标节点的数量可以是一个也可以是多个,在目标节点的数量为一个时,表示该待存储数据记录不需要进行数据备份,仅存储在一个目标节点中。在目标节点的数量为多个时,表示多个目标节点中保存的待存储数据记录互为备份,从而,不需要由目标客户端先将待存储数据记录保存至主节点,再由主节点将待存储数据记录保存至各个从节点,合理的利用了各个目标节点的吞吐能力。且,待存储数据记录可以并行保存至多个目标节点,提高了保存效率。
135.s403,将满足预设记录保存条件的待存储数据记录,保存至目标节点。
136.如果筛选出的目标节点的数量为一个,那么服务器将满足预设记录保存条件的待存储数据记录保存至该目标节点,如果满足预设记录保存条件的待存储数据记录为多个,那么将满足预设记录保存条件的多个待存储数据记录依次保存至该目标节点。如果筛选出的目标节点的数量为多个,那么服务器可以将满足预设记录保存条件的待存储数据记录保存在多个目标节点,各个目标节点中保存的待存储数据记录互为备份数据。如果满足预设记录保存条件的待存储数据记录为多个,那么将满足预设记录保存条件的多个待存储数据记录分别保存在多个目标节点,各个目标节点中保存的待存储数据记录互为备份数据。服务器也可以将满足预设记录保存条件的待存储数据记录保存在多个目标节点中的至少一个目标节点中,在满足预设记录保存条件的待存储数据记录为多个时,每个待存储数据记录可以保存在不同数量的目标节点中,也可以保存在相同数量的目标节点中。
137.作为一种实施例,如果各个备选节点各自的存储状态信息中包括相应的备选节点的网络地址,那么服务器在将该待存储数据记录保存至目标节点时,可以基于目标节点的存储状态信息,确定目标节点的网络地址。在获得目标节点的网络地址之后,服务器可以根据目标节点的网络地址,建立与目标节点之间的网络通信连接。从而,服务器可以通过该网络通信连接,向目标节点发送满足预设记录保存条件的待存储数据记录,以使目标节点接收并保存满足预设记录保存条件的待存储数据记录。
138.作为一种实施例,服务器并行向多个目标节点发送满足预设记录保存条件的待存储数据记录时,多个目标节点分别接收服务器发送的满足预设记录保存条件的待存储数据记录,如果目标节点将满足预设记录保存条件的待存储数据记录保存成功,那么向服务器反馈保存成功信息。服务器统计接收的保存成功信息的信息数量,如果信息数量达到预设数量阈值,那么服务器确定满足预设记录保存条件的待存储数据记录保存成功。如果在预设时长内,信息数量未达到预设数量阈值,那么服务器确定满足预设记录保存条件的待存储数据记录未成功保存。在满足预设记录保存条件的待存储数据记录未成功保存时,服务器可以回滚并重新保存,也可以记录为成功保存的满足预设记录保存条件的待存储数据记录的相关信息,以便进行数据修复等。预设数量阈值是小于或等于基于节点筛选条件筛选出的目标节点的总数量的一个值,也是小于或等于基于节点映射策略确定出的目标节点数量的一个值。如果满足预设记录保存条件的待存储数据记录为多个,那么每个待存储数据记录的保存过程与上述保存过程相同,在此不再赘述。
139.作为一种实施例,在将待存储数据记录保存至目标节点之后,可以基于待存储数据记录更新备选节点集合中,目标节点的存储状态信息,使得备选节点集合中各个备选节点各自的存储状态信息保持最新,提高为下一个待存储数据记录确定目标节点的准确性。
140.下面针对筛选出的目标节点的数量为多个的情况进行具体介绍。
141.服务器可以基于节点映射策略,在多个目标节点中,确定满足预设记录保存条件的待存储数据记录对应的至少一个目标节点。将满足预设记录保存条件的待存储数据记录保存至至少一个目标节点。在至少一个目标节点的数量为一个时,服务器可以将满足预设记录保存条件的待存储数据记录保存至该一个目标节点。在至少一个目标节点的数量为多个时,服务器可以将满足预设记录保存条件的待存储数据记录并行发送至每个目标节点,以使个目标节点保存满足预设记录保存条件的待存储数据记录。如果满足预设记录保存条件的待存储数据记录为多个,那么每个满足预设记录保存条件的待存储数据记录的保存过
程与上述保存过程相同,在此不再赘述。
142.服务器基于节点映射策略确定该满足预设记录保存条件的待存储数据记录对应的至少一个目标节点的方法有多种,下面以其中的两种为例进行介绍。如果满足预设记录保存条件的待存储数据记录为多个,那么针对每个待存储数据记录确定至少一个目标节点的方法与下述方法相同,在此不再赘述。
143.节点映射方法一:
144.对该满足预设记录保存条件的待存储数据记录的记录编号,与目标节点数量进行取余处理,获得取余结果。基于取余结果,确定至少一个节点编号。将至少一个节点编号各自对应的目标节点,作为该满足预设记录保存条件的待存储数据记录对应的至少一个目标节点。
145.如果各个备选节点分别关联表征唯一性的节点编号,待存储数据流中的各个待存储数据记录分别关联表征唯一性的记录编号,那么服务器可以获得该满足预设记录保存条件的待存储数据记录的记录编号recordid,基于如下公式(1),确定该满足预设记录保存条件的待存储数据记录对应的至少一个目标节点targetidk。
146.targetidk=(recordid-1)mod(nodes)+k
ꢀꢀꢀ
(1)
147.其中,如果服务器预先获得了该满足预设记录保存条件的待存储数据记录对应的目标节点的数量,那么k为大于0,且小于等于该数量的值,当k为1时,服务器可以获得该满足预设记录保存条件的待存储数据记录对应的第一个目标节点,当k为该满足预设记录保存条件的待存储数据记录对应的目标节点的数量的值时,服务器可以获得该满足预设记录保存条件的待存储数据记录对应的最后一个目标节点。nodes表示基于节点筛选条件筛选出的目标节点的总数量,mod为取余符号。该满足预设记录保存条件的待存储数据记录对应的目标节点的数量可以是小于或等于基于节点筛选条件筛选出的目标节点的总数量的一个值。
148.例如,节点筛选条件筛选出的目标节点的总数量nodes为3,该满足预设记录保存条件的待存储数据记录对应的目标节点的数量为3时,k的取值为1、2或3,针对记录编号为1的待存储数据记录,服务器可以算出该待存储数据记录对应的第一个目标节点的节点编号targetid1为1,该待存储数据记录对应的第二个目标节点的节点编号targetid2为2,该待存储数据记录对应的第三个目标节点的节点编号targetid3为3。
149.针对记录编号为2的待存储数据记录,服务器可以算出该待存储数据记录对应的第一个目标节点的节点编号targetid1为1,该待存储数据记录对应的第二个目标节点的节点编号targetid2为2,该待存储数据记录对应的第三个目标节点的节点编号targetid3为3。
150.依次类推,可以获得如表1所示的存储结构,表1仅为示例说明,具体存储结构不做限制。
151.表1
[0152][0153]
又例如,节点筛选条件筛选出的目标节点的总数量nodes为5,该满足预设记录保存条件的待存储数据记录对应的目标节点的数量为3时,k的取值为1、2或3,针对记录编号为1的待存储数据记录,服务器可以算出该待存储数据记录对应的第一个目标节点的节点编号targetid1为1,该待存储数据记录对应的第二个目标节点的节点编号targetid2为2,该待存储数据记录对应的第三个目标节点的节点编号targetid3为3。
[0154]
针对记录编号为2的待存储数据记录,服务器可以算出该待存储数据记录对应的第一个目标节点的节点编号targetid1为2,该待存储数据记录对应的第二个目标节点的节点编号targetid2为3,该待存储数据记录对应的第三个目标节点的节点编号targetid3为4。
[0155]
依次类推,可以获得如表2所示的存储结构,表2仅为示例说明,具体存储结构不做限制。
[0156]
表2
[0157][0158]
节点映射方法二:
[0159]
将该满足预设记录保存条件的待存储数据记录输入已训练的节点映射模型,获得该满足预设记录保存条件的待存储数据记录的记录特征,基于已训练的节点映射模型的模型参数,确定该满足预设记录保存条件的待存储数据记录的记录特征分别对应于筛选出的多个目标节点的概率,基于获得的概率,确定该满足预设记录保存条件的待存储数据记录对应的至少一个目标节点。
[0160]
服务器可以预先获得已训练的节点映射模型,已训练的节点映射模型可以是基于网络资源中的样本数据训练得到的,也可以是基于历史待存储数据记录存储的目标节点训练得到的,也可以是基于模拟出的待存储数据记录,以及模拟的待存储数据记录的存储位置训练得到的,具体不做限制。
[0161]
服务器将该满足预设记录保存条件的待存储数据记录输入已训练的节点映射模型,已训练的节点映射模型提取将该满足预设记录保存条件的待存储数据记录的记录特征,并依据提取出的记录特征,基于已训练的节点映射模型的模型参数,确定该满足预设记录保存条件的待存储数据记录的记录特征分别对应于筛选出的多个目标节点的概率,基于获得的概率,确定概率较大的目标节点作为该满足预设记录保存条件的待存储数据记录对
应的至少一个目标节点。
[0162]
作为一种实施例,如果服务器响应于针对备选节点集合的节点添加操作,那么服务器获得至少一个新增节点。在存储集群扩展了新的节点之后,服务器可以直接响应于针对备选节点集合的节点添加操作。在存储集群扩展了新的节点之后,用户可以通过目标客户端在备选节点集合中录入新的节点,服务器可以响应于针对目标客户端的节点添加操作等,具体不做限制。
[0163]
在获得至少一个新增节点之后,服务器可以创建新增节点各自的存储状态信息,并基于至少一个新增节点各自的存储状态信息,在备选节点集合中添加至少一个新增节点,获得更新后的备选节点集合。从而,服务器在针对满足预设记录保存条件的待存储数据记录,选择目标节点时,可以直接从更新后的备选节点集合中选择目标节点,实现了存储空间的扩展,避免了数据迁移的过程,提高了数据存储的稳定性。
[0164]
请参考表3和表4,分别为更新前的备选节点集合的一种数据结构和更新后的备选节点集合的一种数据结构,表3和表4仅为示例说明,并不限制具体的数据结构。
[0165]
表3
[0166][0167]
表4
[0168][0169][0170]
随着目标客户端不断的发送待存储数据记录,服务器持续接收待存储数据记录,服务器可以确定新增的节点4和节点5的负载情况良好,可以直接用于包括目标客户端发送的待存储数据记录,平滑的利用了新增节点,不需要将节点1、2和3中的数据迁移到其他更大的存储空间中,不影响到上层应用的业务逻辑,做到无感知、无缝扩容。
[0171]
作为一种实施例,服务器响应于针对目标客户端的已存储数据记录的获取操作,确定目标数据记录。例如,用户在目标客户端中输入搜索条件,搜索条件用于在已存储数据记录中获取目标数据记录。
[0172]
服务器可以基于目标客户端对应的记录保存条件和节点筛选条件,确定目标数据记录对应的存储节点。已知目标数据记录,确定目标数据记录对应的存储节点的过程,与已知待存储数据记录,确定待存储数据记录对应的目标节点的过程相同,在此不再赘述。
[0173]
服务器还可以在保存了待存储数据记录之后,建立待存储数据记录的记录编号与
对应的目标节点的节点编号之间的映射关系,从而,服务器可以基于映射关系查询目标数据记录对应的存储节点。
[0174]
服务器在确定了存储节点之后,可以向存储节点发送数据获取指令。如果存储节点的数量为一个,那么在向存储节点发送数据获取指令之后,服务器可以接收存储节点反馈的目标数据记录。如果服务器在预设时长内未接收存储节点反馈的目标数据记录,可以重新向存储节点发送数据获取指令,直到接收存储节点反馈的目标数据记录,也可以在发送数据获取指令的数量达到预设阈值时,记录存储节点的目标数据记录无法获取,以便后续进行数据修复。
[0175]
如果存储节点的数量为多个,那么服务器可以先向多个存储节点中的一个存储节点发送数据获取指令。如果接收该一个存储节点针对该数据获取指令反馈的目标数据记录,那么不再向其他存储节点发送数据获取指令。如果在预设时长内未接收一个存储节点针对数据获取指令的反馈的目标数据记录,那么服务器向多个存储节点中除了该一个存储节点以外的其他存储节点分别并行发送数据获取指令。从而,在一个存储节点无法读取目标数据记录时,服务器可以向其他一个或多个存储节点读取目标数据记录。
[0176]
s404,当持续接收到的待存储数据序列中的待存储数据记录再次满足预设记录保存条件时,再次从预存的备选节点集合中筛选出存储状态信息满足预设的节点筛选条件的备选节点作为目标节点。将再次满足预设记录保存条件的待存储数据记录保存至再次筛选出的目标节点。
[0177]
服务器可以继续确定待存储数据序列中,没有确定目标节点的待存储数据记录是否满足预设记录保存条件,如果待存储数据记录再次满足预设记录保存条件时,再次从预存的备选节点集合中筛选出存储状态信息满足预设的节点筛选条件的备选节点作为目标节点,该过程与前文介绍的过程相同,在此不再赘述。服务器将再次满足预设记录保存条件的待存储数据记录保存至再次筛选出的目标节点,该过程与前文介绍的过程相同,在此不再赘述。
[0178]
下面以待存储数据序列为日志流,待存储数据记录为日志记录,服务器包括元信息服务和数据存储集群为例,对本技术实施例提供的数据存储方法进行示例说明。待存储数据记录可以是任意顺序、连续、大量的数据传输、收集与存储中的数据,例如消息队列,可以配合流式计算引擎,对数据进行实时加工处理和计算分析,作为计算引擎的数据源和数据结果存储,还可以用于收集应用程序运行日志,方便发现、定位问题事件,还可以用于ai模型、机器学习训练数据集存储。
[0179]
请参考图7a,服务器中的元信息服务用于存放备选节点集合中各个备选节点各自的存储状态信息,备选节点集合中各个备选节点为数据存储集群中的物理节点,数据存储集群中新增节点时,可以在元信息服务中上报新增节点的存储状态信息。
[0180]
目标客户端可以通过元信息服务查询各个可以用于存储数据的备选节点,并从中选择目标节点。在确定了目标节点后,目标客户端可以将日志记录存储至目标节点。目标客户端在查询目标数据记录时,也可以通过元信息服务查询目标数据记录对应的存储节点,在确定了存储节点之后,向存储节点读取目标数据记录。元信息服务起到了保存存储状态信息、调度和协调的作用。
[0181]
数据存储集群中的每个可以用于存储目标客户端发送的日志记录的物理节点都
可以向元信息服务上报自身的网络地址、负载信息或处理器信息等,每个物理节点没有主从之分。
[0182]
请参考图7b,为本技术实施例提供的一种数据存储方法的交互示意图。下面基于图7c的原理示意图,对数据存储方法进行示例介绍。
[0183]
s701,数据存储集群中的各个可以用于存储目标客户端发送的日志记录的物理节点,向元信息服务上报自身的存储状态信息。
[0184]
s702,元信息服务将上报了存储状态信息的物理节点作为备选节点,基于各个备选节点,以及各个备选节点各自的存储状态信息,建立备选节点集合。
[0185]
s703,元信息服务持续接收目标客户端发送的日志流,日志流中包括日志记录。
[0186]
s704,元信息服务在持续接收日志流的过程中,在确定接收的日志流中的日志记录满足预设的记录保存条件时,获得满足记录保存条件的日志记录。元信息服务继续确定后续接收的日志记录是否满足预设的记录保存条件,继续获得满足记录保存条件的日志记录。
[0187]
s705,在获得满足记录保存条件的日志记录之后,元信息服务可以针对满足记录保存条件的日志记录,基于备选节点集合中各个备选节点的存储状态信息,在备选节点集合中筛选出m个目标节点。这m个目标节点为用于存储该满足记录保存条件的日志记录的节点。
[0188]
s706,针对该满足记录保存条件的日志记录,确定日志记录对应的n个目标节点。以满足记录保存条件的日志记录中的一个日志记录为例,将该一个日志记录存储在n个目标节点,这n个目标节点中的该一个日志记录互为备份数据。n为小于或等于m的数值。
[0189]
s707,元信息服务并行向n个目标节点发送该一个日志记录,n个目标节点分别接收该一个日志记录,并保存该一个日志记录。
[0190]
s708,如果目标节点成功保存该一个日志记录,那么向元信息服务反馈保存成功信息,如果目标节点未成功保存该一个日志记录,那么可能是由于目标节点未接收到该一个日志记录,也可能是该一个日志记录与目标节点的存储格式不匹配,未成功保存时目标节点不向元信息服务反馈任何信息,或返回保存失败信息,以指示失败原因。
[0191]
s709,元信息服务统计接收的保存成功信息的信息数量,如果信息数量大于或等于p,那么可以确定该一个日志记录保存成功。p为小于或等于n的一个数值。p越大保存一个日志记录的过程越有保障,但延时越高,p越小保存一个日志记录的过程保障越小,但延时越低。
[0192]
s710,元信息服务基于反馈了保存成功信息的目标节点当前的存储状态信息,更新备选节点集合中相应的目标节点对应的存储状态信息,获得更新后的备选节点集合,以便针对下一次满足记录保存条件的日志记录,可以准确地选择出负载较小的目标节点。
[0193]
s711,如果数据存储集群中新增了物理节点,那么新增的物理节点需要向元信息服务上报自身的存储状态信息,以使元信息服务可以针对接下来接收的满足记录保存条件的日志记录,选择负载较小的新增的物理节点进行存储。
[0194]
s712,元信息服务基于新增节点的存储状态信息,在备选节点集合中,添加该新增节点,以及该新增节点的存储状态信息,获得更新后的备选节点结合。
[0195]
s713,元信息服务可以响应于针对目标客户端的目标日志记录的获取操作,接收
目标客户端针对目标日志记录的数据获取指令。
[0196]
s714,元信息服务基于接收的数据获取指令,确定目标日志记录的存储节点。确定出的存储节点可以是一个,也可以是多个。如果确定出的存储节点的数量为一个,那么说明该目标日志记录没有备份数据,如果确定出的存储节点的数量为多个,那么说明该目标日和字记录存在备份数据。
[0197]
s715,元信息服务向确定出的存储节点获取目标日志记录,如果确定出的存储节点的数量为一个,那么元信息服务可以直接向该存储节点获取目标日志记录,如果确定出的存储节点的数量为多个,那么元信息服务可以先向其中一个存储节点获取目标日志记录,如果该一个存储节点没有向元信息服务反馈目标日志记录,那么元信息服务可以向其他存储节点获取该目标日志记录。
[0198]
s716,存储节点可以直接向目标客户端反馈目标日志记录。
[0199]
基于同一发明构思,本技术实施例提供一种数据存储装置,该装置相当于前文论述的服务端102,能够实现前述的数据存储方法对应的功能。请参考图8,该装置包括收发模块801和处理模块802,其中:
[0200]
收发模块801:用于持续接收待存储数据序列;
[0201]
处理模块802:用于在持续接收待存储数据序列的过程中,当持续接收到的待存储数据序列中的待存储数据记录满足预设记录保存条件时,基于预存的备选节点集合中各个备选节点各自的存储状态,筛选出存储状态信息满足预设的节点筛选条件的备选节点作为目标节点;
[0202]
将满足预设记录保存条件的待存储数据记录保存至目标节点;
[0203]
当持续接收到的待存储数据序列中的待存储数据记录再次满足预设记录保存条件时,再次从预存的备选节点集合中筛选出存储状态信息满足预设的节点筛选条件的备选节点作为目标节点;
[0204]
将再次满足预设记录保存条件的待存储数据记录保存至再次筛选出的目标节点。
[0205]
在一种可能的实施例中,处理模块802具体用于:
[0206]
对备选节点集合中各个备选节点各自的存储状态信息进行量化处理,获得量化后的各个存储状态信息;
[0207]
基于量化后的各个存储状态信息,对各个备选节点进行排序;
[0208]
基于排序结果,在各个备选节点中确定目标节点。
[0209]
在一种可能的实施例中,若基于节点筛选条件筛选出的目标节点的数量为多个,则处理模块802具体用于:
[0210]
基于预设的节点映射策略,在多个目标节点中,确定满足预设记录保存条件的待存储数据记录对应的至少一个目标节点;
[0211]
将待存储数据记录保存至至少一个目标节点。
[0212]
在一种可能的实施例中,各个备选节点分别关联表征唯一性的节点编号,待存储数据记录关联表征唯一性的记录编号;处理模块802具体用于:
[0213]
对待存储数据记录的记录编号,与目标节点数量进行取余处理,获得取余结果,其中,目标节点数量为基于节点筛选条件筛选出的目标节点的总数量;
[0214]
基于取余结果,确定至少一个节点编号;
[0215]
将至少一个节点编号各自对应的目标节点,作为基于节点映射策略确定的待存储数据记录对应的至少一个目标节点。
[0216]
在一种可能的实施例中,各个备选节点各自的存储状态信息中还包括相应的备选节点的网络地址;处理模块802具体用于:
[0217]
基于目标节点的存储状态信息,确定目标节点的网络地址;
[0218]
基于网络地址,建立与目标节点之间的网络通信连接;
[0219]
通过网络通信连接,向目标节点发送待存储数据记录,以使目标节点接收并保存接收的待存储数据记录。
[0220]
在一种可能的实施例中,若筛选出的目标节点的数量为多个,则处理模块802具体用于:
[0221]
分别向多个目标节点发送待存储数据记录,以使多个目标节点分别接收并保存待存储数据记录,以及若待存储数据记录保存成功,则反馈保存成功信息;
[0222]
统计接收的保存成功信息的信息数量;
[0223]
若信息数量达到预设数量阈值,则确定待存储数据记录保存成功。
[0224]
在一种可能的实施例中,处理模块802还用于:
[0225]
在将满足预设记录保存条件的待存储数据记录保存至目标节点之后,响应于针对目标客户端的已存储数据记录的获取操作,确定目标数据记录;
[0226]
基于记录保存条件和节点筛选条件,确定目标数据记录对应的存储节点;
[0227]
收发模块801还用于:
[0228]
向存储节点发送数据获取指令;
[0229]
接收存储节点反馈的目标数据记录。
[0230]
在一种可能的实施例中,若基于记录保存条件和节点筛选条件确定出的存储节点的数量为多个,则收发模块801具体用于:
[0231]
向多个存储节点中的一个存储节点发送数据获取指令;
[0232]
若在预设时长内未接收一个存储节点针对数据获取指令的反馈的目标数据记录,则向多个存储节点中除了一个存储节点以外的其他存储节点分别发送数据获取指令。
[0233]
在一种可能的实施例中,处理模块802还用于:
[0234]
在将满足预设记录保存条件的待存储数据记录保存至目标节点之后,基于待存储数据序列包含的多个待存储数据记录,更新备选节点集合中,目标节点的存储状态信息。
[0235]
在一种可能的实施例中,处理模块802还用于:
[0236]
在将满足预设记录保存条件的待存储数据记录保存至目标节点之后,响应于针对备选节点集合的节点添加操作,获得至少一个新增节点;
[0237]
基于至少一个新增节点,分别创建至少一个新增节点各自的存储状态信息;
[0238]
基于至少一个新增节点各自的存储状态信息,在备选节点集合中添加至少一个新增节点,获得更新后的备选节点集合。
[0239]
在一种可能的实施例中,处理模块802还用于:
[0240]
在持续接收待存储数据序列之前,响应于针对目标客户端的设置操作,获得记录保存条件。
[0241]
在一种可能的实施例中,备选节点的存储状态信息包括备选节点的负载信息、备
选节点的处理器属性信息、备选节点的存储空间大小、备选节点所在网络环境信息中的一种或多种。
[0242]
基于同一发明构思,本技术实施例提供一种计算机设备,下面对该计算机设备900进行介绍。
[0243]
请参照图9,上述数据存储装置可以运行在计算机设备900上,数据存储程序的当前版本和历史版本以及数据存储程序对应的应用软件可以安装在计算机设备900上,该计算机设备900包括显示单元940、处理器980以及存储器920,其中,显示单元940包括显示面板941,用于显示由用户交互操作界面等。
[0244]
在一种可能的实施例中,可以采用液晶显示器(liquid crystal display,lcd)或有机发光二极管oled(organic light-emitting diode)等形式来配置显示面板941。
[0245]
处理器980用于读取计算机程序,然后执行计算机程序定义的方法,例如处理器980读取数据存储程序或文件等,从而在该计算机设备900上运行数据存储程序,在显示单元940上显示对应的界面。处理器980可以包括一个或多个通用处理器,还可包括一个或多个dsp(digital signal processor,数字信号处理器),用于执行相关操作,以实现本技术实施例所提供的技术方案。
[0246]
存储器920一般包括内存和外存,内存可以为随机存储器(ram),只读存储器(rom),以及高速缓存(cache)等。外存可以为硬盘、光盘、usb盘、软盘或磁带机等。存储器920用于存储计算机程序和其他数据,该计算机程序包括各客户端对应的应用程序等,其他数据可包括操作系统或应用程序被运行后产生的数据,该数据包括系统数据(例如操作系统的配置参数)和用户数据。本技术实施例中程序指令存储在存储器920中,处理器980执行存储其中920中的程序指令,实现前文图论述的任意的一种数据存储方法。
[0247]
上述显示单元940用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及产生与计算机设备900的用户设置以及功能控制有关的信号输入等。具体地,本技术实施例中,该显示单元940可以包括显示面板941。显示面板941例如触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在显示面板941上或在显示面板941的操作),并根据预先设定的程式驱动相应的连接装置。
[0248]
在一种可能的实施例中,显示面板941可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测玩家的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。
[0249]
其中,显示面板941可以采用电阻式、电容式、红外线以及表面声波等多种类型实现。除了显示单元940,计算机设备900还可以包括输入单元930,输入单元930可以包括图形输入设备931和其他输入设备932,其中其他输入设备可以但不限于包括物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0250]
除以上之外,计算机设备900还可以包括用于给其他模块供电的电源990、音频电路960、近场通信模块970和rf电路910。计算机设备900还可以包括一个或多个传感器950,例如加速度传感器、光传感器、压力传感器等。音频电路960具体包括扬声器961和麦克风962等,例如计算机设备900可以通过麦克风962采集用户的声音,进行相应的操作等。
[0251]
作为一种实施例,处理器980的数量可以是一个或多个,处理器980和存储器920可
以是耦合设置,也可以是相对独立设置。
[0252]
作为一种实施例,图9中的处理器980可以用于实现如图8中的收发模块801和处理模块802的功能。
[0253]
作为一种实施例,图9中的处理器980可以用于实现前文论述的服务端102对应的功能。
[0254]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0255]
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0256]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1