CN110858211A - 数据存储方法、装置及系统、存储介质 - Google Patents

数据存储方法、装置及系统、存储介质 Download PDF

Info

Publication number
CN110858211A
CN110858211A CN201810973781.0A CN201810973781A CN110858211A CN 110858211 A CN110858211 A CN 110858211A CN 201810973781 A CN201810973781 A CN 201810973781A CN 110858211 A CN110858211 A CN 110858211A
Authority
CN
China
Prior art keywords
data
ticket information
service provider
ticket
field
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.)
Granted
Application number
CN201810973781.0A
Other languages
English (en)
Other versions
CN110858211B (zh
Inventor
徐乔博
黄国强
罗斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810973781.0A priority Critical patent/CN110858211B/zh
Publication of CN110858211A publication Critical patent/CN110858211A/zh
Application granted granted Critical
Publication of CN110858211B publication Critical patent/CN110858211B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据存储方法、装置及系统、存储介质,属于云服务技术领域。该方法包括:在获取待存储的话单信息后,基于话单信息生成话单数据块,该话单信息用于记录云服务消费行为;将话单数据块添加在第一数据节点所管理的数据链的末尾;将话单数据块发送至每个其他数据节点,使每个其他数据节点将话单数据块添加在对应数据节点所管理的数据链的末尾,该其他数据节点为多个数据节点中除第一数据节点外的数据节点。本申请实现了话单信息共享,使得归属服务商和伙伴服务商均能够获取话单信息。

Description

数据存储方法、装置及系统、存储介质
技术领域
本申请实施例涉及云服务技术领域,特别涉及一种数据存储方法、装置及系统、存储介质。
背景技术
随着云服务技术的快速发展,数据存储系统中的各个云服务提供商的合作关系越来越密切。云服务提供商之间的合作关系可以有多种。例如:云服务提供商A和云服务提供商B之间的合作关系可表现为:当属于云服务提供商A(也称归属服务商)的用户所请求的云服务处于云服务提供商A的服务盲区,且与该云服务提供商A存在合作关系的云服务提供商B(也称伙伴服务商)能够提供该云服务时,该云服务提供商A可为该用户提供服务渠道,使云服务提供商B为该用户提供云服务。
在伙伴服务商为属于归属服务商的用户提供云服务后,归属服务商需要为该云服务向伙伴服务商付费。相关技术中,当伙伴服务商为属于归属服务商的用户提供云服务时,该伙伴服务商可根据该用户的云服务消费行为生成话单信息,并根据该话单信息,以及,该伙伴服务商与归属服务商事先约定的计费规则,生成账单信息。在归属服务商为该云服务向伙伴服务商付费时,可根据该账单信息与伙伴服务商进行结算。其中,账单信息中记载有云服务类型、计费方式和消费金额等信息。
但是,由于话单信息仅存储在伙伴服务商的系统中,导致归属服务商无法获取该话单信息。
发明内容
本申请提供了一种数据存储方法、装置及系统、存储介质,可以解决相关技术中话单信息仅存储在伙伴服务商的系统中,导致归属服务商无法获取该话单信息的问题。所述技术方案如下:
第一方面,本申请提供了一种数据存储方法,应用于数据存储系统中的第一数据节点,所述数据存储系统为分布式数据库系统,所述数据存储系统包括多个数据节点,每个所述数据节点与一个云服务提供商对应,每个所述数据节点中管理有一个数据链,每个所述数据链包括多个话单数据块,所述第一数据节点为多个所述数据节点中的任一个,所述方法包括:在获取待存储的话单信息后,基于所述话单信息生成话单数据块,所述话单信息用于记录云服务消费行为;将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾;将所述话单数据块发送至每个其他数据节点,使每个所述其他数据节点将所述话单数据块添加在对应数据节点所管理的数据链的末尾,所述其他数据节点为多个所述数据节点中除所述第一数据节点外的数据节点。
通过在获取待存储的话单信息后,基于所述话单信息生成话单数据块,并将该话单数据块分别存储在数据存储系统的多个数据节点中,实现了话单信息在多个数据节点中的共享,相较于相关技术,由于每个数据节点所管理的数据链中均存储有话单信息,且该每个数据节点与一个云服务提供商对应,当归属服务商和伙伴服务商中的任一云服务提供商需要读取话单信息时,可以在其对应的数据节点所管理的数据链中读取该话单信息,解决了相关技术中归属服务商无法获取该话单信息的问题。
可选的,在所述将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾之前,所述方法还包括:基于所述话单数据块进行信息校验。
所述将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾,包括:当信息校验结果指示所述话单数据块通过校验时,将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾。
当话单数据块通过校验时,说明该话单数据块中存储的话单信息为有效信息,可以将该话单数据块存储在每个数据节点所管理的数据链中,实现该数据存储系统中数据的更新。
为了保证写入数据的安全性,在所述基于所述话单信息生成话单数据块之前,所述方法还包括:接收话单信息写入请求,所述话单信息写入请求用于请求将所述话单信息存储至每个所述数据链;将所述话单信息写入请求发送至每个其他数据节点,以供每个所述数据节点对所述话单信息写入请求进行投票;当所述话单信息写入请求获得的投票数大于预设票数阈值时,获取所述话单信息。
当话单信息写入请求获得的投票数大于预设票数阈值时,说明有足够多的其他数据节点确认该话单信息请求合法,同意将该话单信息存储在数据存储系统中。
在一种可实现方式中,所述话单信息包括:归属服务商标识ID字段、伙伴服务商ID字段和用户ID字段;其中,所述归属服务商ID用于指示所述用户ID所属的云服务提供商,所述伙伴服务商ID用于指示向所述用户ID提供所述话单信息所指示的云服务的云服务提供商。
作为读取话单信息的第一种可实现方式,所述话单信息包括:归属服务商ID字段,所述归属服务商ID用于指示所述用户ID所属的云服务提供商,在所述将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾之后,所述方法还包括:接收第一话单信息读取请求,所述第一话单信息读取请求用于请求读取携带有第一归属服务商ID字段的话单信息;基于所述第一归属服务商ID字段,在所述第一数据节点所管理的数据链中读取携带有所述第一归属服务商ID字段的第一话单信息;发送携带有所述第一话单信息的话单信息读取响应。
作为读取话单信息的第二种可实现方式,所述话单信息还包括:伙伴服务商ID字段,所述伙伴服务商ID用于指示为所述用户ID提供所述话单信息所指示的云服务的云服务提供商,在所述发送携带有所述第一话单信息的话单信息读取响应之后,所述方法还包括:接收第二话单信息读取请求,所述第二话单信息读取请求用于请求读取携带有所述第一归属服务商ID字段和第一伙伴服务商ID字段的话单信息;基于所述第一归属服务商ID字段和所述第一伙伴服务商ID字段,在所述第一话单信息中筛选携带有所述第一伙伴服务商ID字段的第二话单信息;发送携带有所述第二话单信息的话单信息读取响应。
需要说明的是,数据存储系统中通常记载有大量的数据,当归属服务商需要向多个伙伴服务商分别进行结算时,若根据每个待结算的伙伴服务商ID在第一话单信息中进行筛选,减少了对数据存储系统中存储的数据进行遍历的数据量,可以简化计算,进而加快了话单信息的读取速度。
作为读取话单信息的第三种可实现方式,所述话单信息包括:归属服务商ID字段和伙伴服务商ID字段,所述归属服务商ID用于指示所述用户ID所属的云服务提供商,所述伙伴服务商ID用于指示为所述用户ID提供所述话单信息所指示的云服务的云服务提供商,在所述将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾之后,所述方法还包括:接收第三话单信息读取请求,所述第三话单信息读取请求用于请求读取携带有第二归属服务商ID字段和第二伙伴服务商ID字段的话单信息;基于所述第二归属服务商ID字段和所述第二伙伴服务商ID字段,在所述第一数据节点所管理的数据链中读取同时携带有所述第二归属服务商ID字段和所述第二伙伴服务商ID字段的第三话单信息;发送携带有所述第三话单信息的话单信息读取响应。
可选的,所述数据链包括:多个按照时序连接的话单数据块。
进一步的,所述数据链为区块链。
当通过区块链实现话单信息共享时,可以利用区块链自身的特点,使得云服务提供商能够获得全量、安全且可信的话单信息,保证了话单信息的可溯源性,能够解决相关技术中话单信息不透明,话单信息易被篡改和删除,及无法根据该话单信息进行后续的财务审计等工作的问题,为后续统一计费和财务审计等工作提供了很大的便利。
并且,由于能够实现话单信息的共享,使得“全球一朵云”解决方案中的归属云能够获取自己的用户在伙伴云上的云服务记录(即话单信息),为归属云实现统一计费提供了条件。
第二方面,本申请提供了一种数据存储装置,所述装置包括:生成模块,用于在获取待存储的话单信息后,基于所述话单信息生成话单数据块,所述话单信息用于记录云服务消费行为;添加模块,用于将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾;第一发送模块,用于将所述话单数据块发送至每个其他数据节点,使每个所述其他数据节点将所述话单数据块添加在对应数据节点所管理的数据链的末尾,所述其他数据节点为多个所述数据节点中除所述第一数据节点外的数据节点。
本申请提供的数据存储装置,通过在获取待存储的话单信息后,生成模块基于所述话单信息生成话单数据块,添加模块和第一发送模块将该话单数据块分别存储在数据存储系统的多个数据节点中,实现了话单信息在多个数据节点中的共享,相较于相关技术,由于每个数据节点所管理的数据链中均存储有话单信息,且该每个数据节点与一个云服务提供商对应,当归属服务商和伙伴服务商中的任一云服务提供商需要读取话单信息时,可以在其对应的数据节点所管理的数据链中读取该话单信息,解决了相关技术中归属服务商无法获取该话单信息的问题。
可选的,所述装置还包括:校验模块,用于基于所述话单数据块进行信息校验;所述添加模块,用于:当信息校验结果指示所述话单数据块通过校验时,将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾。
可选的,所述装置还包括:第一接收模块,用于接收话单信息写入请求,所述话单信息写入请求用于请求将所述话单信息存储至每个所述数据链;第二发送模块,用于将所述话单信息写入请求发送至每个其他数据节点,以供每个所述数据节点对所述话单信息写入请求进行投票;获取模块,用于当所述话单信息写入请求获得的投票数大于预设票数阈值时,获取所述话单信息。
可选的,所述话单信息包括:归属服务商标识ID字段、伙伴服务商ID字段和用户ID字段;其中,所述归属服务商ID用于指示所述用户ID所属的云服务提供商,所述伙伴服务商ID用于指示向所述用户ID提供所述话单信息所指示的云服务的云服务提供商。
可选的,所述话单信息包括:归属服务商ID字段,所述归属服务商ID用于指示所述用户ID所属的云服务提供商,所述装置还包括:第二接收模块,用于接收第一话单信息读取请求,所述第一话单信息读取请求用于请求读取携带有第一归属服务商ID字段的话单信息;读取模块,用于基于所述第一归属服务商ID字段,在所述第一数据节点所管理的数据链中读取携带有所述第一归属服务商ID字段的第一话单信息;第三发送模块,用于发送携带有所述第一话单信息的话单信息读取响应。
可选的,所述话单信息还包括:伙伴服务商ID字段,所述伙伴服务商ID用于指示为所述用户ID提供所述话单信息所指示的云服务的云服务提供商,所述装置还包括:所述第二接收模块,用于接收第二话单信息读取请求,所述第二话单信息读取请求用于请求读取携带有所述第一归属服务商ID字段和第一伙伴服务商ID字段的话单信息;所述读取模块,用于基于所述第一归属服务商ID字段和所述第一伙伴服务商ID字段,在所述第一话单信息中筛选携带有所述第一伙伴服务商ID字段的第二话单信息;所述第三发送模块,用于发送携带有所述第二话单信息的话单信息读取响应。
可选的,所述话单信息包括:归属服务商ID字段和伙伴服务商ID字段,所述归属服务商ID用于指示所述用户ID所属的云服务提供商,所述伙伴服务商ID用于指示为所述用户ID提供所述话单信息所指示的云服务的云服务提供商,所述装置还包括:第二接收模块,用于接收第三话单信息读取请求,所述第三话单信息读取请求用于请求读取携带有第二归属服务商ID字段和第二伙伴服务商ID字段的话单信息;读取模块,用于基于所述第二归属服务商ID字段和所述第二伙伴服务商ID字段,在所述第一数据节点所管理的数据链中读取同时携带有所述第二归属服务商ID字段和所述第二伙伴服务商ID字段的第三话单信息;第三发送模块,用于发送携带有所述第三话单信息的话单信息读取响应。
可选的,所述数据链包括:多个按照时序连接的话单数据块。
可选的,所述数据链为区块链。
第三方面,本申请提供了一种数据存储系统,所述数据存储系统为分布式数据库系统,所述数据存储系统包括多个数据节点,每个所述数据节点与一个云服务提供商对应,每个所述数据节点中管理有一个数据链,每个所述数据链包括多个话单数据块,每个所述话单数据块中记载有话单信息,所述话单信息用于记录云服务消费行为;其中,每个所述数据节点包括第二方面任一所述的数据存储装置。
可选的,所述多个数据节点包括:归属服务商对应的节点和伙伴服务商对应的节点,所述归属服务商为用户ID所属的云服务提供商,所述伙伴服务商为向所述用户ID提供所述话单信息所指示的云服务的云服务提供商。
可选的,所述数据节点包括:业务子节点和顺序子节点;
所述顺序子节点用于基于待存储的话单信息生成话单数据块;
所述业务子节点用于管理数据链,以及,对所述话单数据块进行信息校验,并当信息校验结果指示所述话单数据块通过校验时,将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾。
可选地,所述业务子节点还用于提供云服务。
可选的,所述数据节点还包括:背书子节点,所述背书子节点用于对接收到的话单信息写入请求进行投票。
可选的,所述数据节点部署在服务器中。
可选的,所述数据链为区块链。
第四方面,本申请提供了一种数据存储装置,所述数据存储装置包括:处理器和存储器,
其中,
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现第一方面任一所述的数据存储方法。
第五方面,本申请提供了一种存储介质,当所述存储介质中的指令由终端的处理器执行时,使得所述终端能够执行第一方面任一所述的数据存储方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种归属服务商向伙伴服务商结算的流程示意图;
图2是本申请实施例提供的一种数据存储方法所涉及的数据存储系统的结构示意图;
图3是本申请实施例提供的一种区块链的结构示意图;
图4是本申请实施例提供的另一种数据存储方法所涉及的数据存储系统的结构示意图;
图5是本申请实施例提供的一种数据存储方法的流程图;
图6是本申请实施例提供的一种在数据链中读取话单信息的方法流程图;
图7是本申请实施例提供的另一种在数据链中读取话单信息的方法流程图;
图8是本申请实施例提供的又一种在数据链中读取话单信息的方法流程图;
图9是本申请实施例提供的一种数据存储装置的结构示意图;
图10是本申请实施例提供的另一种数据存储装置的结构示意图;
图11是本申请实施例提供的一种数据存储装置的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着云服务技术的快速发展,数据存储系统中的各个云服务提供商的合作关系越来越密切。在存在合作关系的云服务提供商中,通常包括归属服务商和伙伴服务商,其中,归属服务商为用户标识(IDentity,ID,也称用户编码)所属的云服务提供商,该伙伴服务商为在该用户ID所请求的云服务处于该归属服务商的服务盲区(或服务质量较差)时,向该用户ID提供该云服务的云服务提供商。在云计算领域中,该归属服务商通常称为归属云,该伙伴服务商通常称为伙伴云。例如,在“全球一朵云”解决方案中,该归属云可以为华为云,该伙伴云可以为天翼云、法电云或德电云等。且云服务提供商通常指提供云服务的服务器、服务器集群或服务器平台等。
并且,在伙伴服务商为该用户ID提供云服务时,该伙伴服务商可根据该用户ID的云服务消费行为生成话单信息,并根据该话单信息,以及,该伙伴服务商与归属服务商事先约定的计费规则,生成账单信息,以便于归属服务商根据该账单信息为该云服务向伙伴服务商付费。其中,话单信息中记载有云服务的服务类型、服务统计周期开始时间和结束时间等信息。账单信息中记载有云服务类型、计费方式、消费金额、现金支付、现金抵扣、现金卷抵扣、欠费金额和折扣优惠等信息。但是,由于用于记录该用户ID的云服务消费行为的话单信息通常存储在该伙伴服务商的系统中,导致归属服务商无法获取该话单信息。
例如,如图1所示,每个云服务提供商均建立了独立的话单存储系统,在每个云服务提供商的话单存储系统中均配置有安全文件传送协议(Secure File TransferProtocol,sftp)服务器,该sftp服务器中记载有对应云服务器商为各个用户ID提供云服务时所产生的话单信息。对于每个云服务提供商,该云服务提供商会定期从为自身配置的sftp服务器上获取话单信息,并根据该话单信息生成账单信息,以便于进行费用结算。在伙伴服务商为归属服务商的用户ID提供云服务后,由于对应的话单信息存储在该伙伴服务商的sftp服务器中,该归属服务商是无法获取该话单信息的。并且,由于该归属服务商无法获取该话单信息,导致该归属服务商无法根据该话单信息进行后续的财务审计等工作,且该话单信息存在被篡改和删除的可能,导致该话单信息的可信赖性较低。并且,由于“全球一朵云”解决方案中提出的目标包括:按照统一的计费原则,向不同的云(或云厂商)进行统一计费,而该实现统一计费的前提为“全球一朵云”解决方案所涉及的多个云均能够获取记载自己用户云服务消费行为的话单信息。但是,在相关技术中,由于归属云无法获取话单信息,导致该统一计费方案的实现存在一定困难。
为此,本申请实施例提供了一种数据存储方法,该数据存储方法能够实现话单信息共享,使得归属服务商和伙伴服务商均能够获取话单信息。
图2为该数据存储方法所涉及的数据存储系统的结构示意图。该数据存储系统10可以为分布式数据库系统。该数据存储系统10可以包括多个数据节点101,该每个数据节点101中管理有一个数据链,该每个数据链包括多个话单数据块,该每个话单数据块中记载有话单信息,该话单信息用于记录云服务消费行为。其中,每个数据节点101可以与一个云服务提供商对应。且每个数据节点101可以与一个云服务提供商的客户端进行信息交互。
在该数据存储系统10中,第一数据节点101可以获取话单信息,以基于该话单信息生成话单数据块,并将该话单数据块存储至自身所管理的数据链的的末尾。同时,该第一数据节点101还可以将该话单数据块发送至每个其他数据节点101,使该每个其他数据节点101将该话单数据块添加在对应数据节点101所管理的数据链的末尾。其中,该第一数据节点101为该多个数据节点101中的任一数据节点101,该其他数据节点101为该数据存储系统10中除该第一数据节点101外的数据节点101。
其中,该多个数据节点101可以包括:归属服务商对应的节点和伙伴服务商对应的节点,该归属服务商为用户ID所属的云服务提供商,该伙伴服务商为向用户ID提供话单信息所指示的云服务的云服务提供商。当伙伴服务商对应的数据节点101作为第一数据节点101时,该第一数据节点101从自身的话单存储系统中获取话单信息后,可以基于该话单信息生成话单数据块,使得该伙伴服务商对应的数据节点101和归属服务商对应的数据节点101,将该话单数据块存储至各自管理的数据链,以便于伙伴服务商和归属服务商均可以从各自的数据节点101所管理的数据链中读取对应的话单信息,进而实现了话单信息的共享。
并且,该数据链可以为用于存储数据的链式存储结构,例如:该数据链可以为链表或区块链。且由于话单信息通常需要记录云服务的时间信息,因此,该数据链可以包括:多个按照时序连接的话单数据块。示例的,该数据链可以为区块链,图3为该区块链的结构示意图,如图3所示,区块链包括多个区块,该多个区块形成具有至少一个分支的树形结构,每个区块分别为树形结构中的一个节点。
其中,当该数据链为区块链时,该数据存储系统10可称为区块链对等(Peer toPeer,P2P)网络,该网络中包括多个节点,任意两个节点之间相互连接,每个节点中维护了一个不断增长的、且按时序连接的区块组成的链。每一个区块都包含了一个时间戳,且每个区块根据该时间戳被连接到在它之前生成的一个区块的后面。根据设计,区块链本身具有防止数据被修改的特性,也即,一旦数据被记录在区块中,就不能再返回修改。在P2P网络和分布式时间戳服务器的帮助下,数据库可以进行自动管理。且区块链就像一个开放的、分布式的总账本,它可以高效地、安全地、永久地记录交易信息。因此,区块链可以在不需要第三方公证的前提下,为参与到区块链的各方提供了一个安全且可信的分布式数据库系统,该分布式数据库系统为实现统一计费提供了条件。
图4是本申请实施例提供的另一种数据存储系统10的结构示意图。请参考图4,每个数据节点101可以包括:相互连接的业务子节点和顺序子节点。该业务子节点用于管理数据链,以及,对话单数据块进行信息校验,并当信息校验结果指示话单数据块通过校验时,将话单数据块添加在第一数据节点所管理的数据链的末尾。并且,该业务子节点还用于提供云服务。该顺序子节点用于基于待存储的话单信息生成话单数据块。且每个数据节点101可以与一个云服务提供商的客户端进行信息交互。
进一步的,请继续参考图4,数据节点101还可以包括:背书子节点。该背书子节点分别与业务子节点和顺序子节点连接。该背书子节点用于用于验证该话单信息写入请求是否合法,并在确定该话单信息写入请求合法时,为该话单信息写入请求投票,以示意同意写入对应的话单信息。需要说明的是,在该数据存储节点中,数据节点101中的某个子节点可以同时用作背书子节点和业务子节点。
示例的,当该数据链为区块链时,该业务子节点可以为业务处理节点(Committer),该顺序子节点可以为顺序节点(Order),该背书子节点可以为背书节点(Endorser)。其中,该业务处理节点用于将话单数据块存储至该业务处理节点所管理的区块链中,并对该区块链进行管理。同时,该业务子节点还可以用于提供云服务。该顺序节点作为数据存储系统10中的管理节点,主要用于根据获取的话单信息生成话单数据块,并将该话单数据块发送至其他业务处理节点,使该其他业务处理节点存储该话单数据块,以保证该数据存储系统10中存储的数据的一致性。并且,当在顺序节点接收到多个话单信息写入请求(也称交易请求)时,该顺序节点还用于对该多个话单信息写入请求进行排序,以便于根据该顺序对该多个话单信息写入请求进行处理。该背书节点用于对接收到的话单信息写入请求进行投票。其中,该背书节点进行投票时的投票策略(也称背书策略),可以根据数据需要在安装链码(chaincode)时指定。
需要说明的是,上述数据节点101均可以部署在服务器中,且图2为数据节点101部署在服务器中的示意图。其中,实现每个节点的服务器可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心,本申请实施例对其不做具体限定。
本申请实施例提供的数据存储方法可以应用于图2或图4所示的数据存储系统中的第一数据节点。图5是本申请实施例提供的数据存储方法的流程图,如图5所示,该数据存储方法可以包括:
步骤201、接收话单信息写入请求。
其中,话单信息写入请求用于请求将话单信息存储至每个数据链。该话单信息用于记录云服务消费行为。该数据链可以包括:多个按照时序连接的数据块。例如:该数据链可以为区块链,且在本申请实施例中均以该数据链为区块链为例进行说明。
在数据存储系统中,每个云服务提供商中可以部署有客户端(client),在需要存储话单信息时,可以通过该客户端向第一数据节点发送话单信息写入请求。例如:对于伙伴服务商,当在stfp服务器中获取话单信息后,可以通过对应的客户端向该伙伴服务商对应的第一数据节点发送该话单信息写入请求。
步骤202、将话单信息写入请求发送至每个其他数据节点,以供每个数据节点对话单信息写入请求进行投票。
第一数据节点接收话单信息写入请求之后,可以将该话单信息写入请求发送至每个其他数据节点,使每个其他数据节点对接收到的话单信息执行验证操作,并在根据验证结果确认该话单信息写入请求合法时,为该话单信息写入请求投票,以示意同意写入对应的话单信息。并在话单信息写入请求获得的投票数大于预设票数阈值时,执行步骤203。可选地,对于图4所示的数据存储系统,可以由背书子节点执行该验证操作。
示例地,在区块链对等网络中,第一数据节点在接收话单信息写入请求后,可以对该请求添加签名,以标识该请求为该第一数据节点提出的。然后,根据该请求生成交易提案,并将该交易提案发送至每个背书子节点。每个背书子节点在接收该交易提案后,可以执行一系列验证操作,以根据验证结果判断该话单信息写入请求是否合法,以及,判断该第一数据节点是否有权限发起该交易提案。数据节点在确定该话单信息写入请求合法和第一数据节点有权限发起该交易提案时,可以为该话单信息写入请求投票,并将该投票结果发送至该第一数据节点,以示意同意写入对应的话单信息。其中,该验证操作可以包括:检验交易提案的签名是否合法,检验该交易提案是否满足通道(channel)共识策略,以及,根据该话单信息写入请求执行该数据存储系统中配置的智能合约,模拟执行该交易提案的过程,并根据模拟结果确认交易是否合法。
步骤203、当话单信息写入请求获得的投票数大于预设票数阈值时,获取话单信息。
当话单信息写入请求获得的投票数大于预设票数阈值时,说明有足够多的其他数据节点确认该话单信息请求合法,同意将该话单信息存储在数据存储系统中,此时可以获取话单信息。其中,该预设票数阈值的取值可以根据实际需要进行设置,例如。该预设票数阈值的取值可以为该数据存储系统中所包括的数据节点的总数的一半。
可选的,话单信息至少可以包括:归属服务商标识ID字段、伙伴服务商ID字段和用户ID字段。并且,该归属服务商标识ID字段的长度、伙伴服务商ID字段的长度和用户ID字段的长度可以根据实际需要进行设置。例如:该归属服务商ID字段的长度为4字节,该伙伴服务商ID字段的长度为4字节,该用户ID字段的长度为64字节。
进一步的,该话单信息还可以包括:离线话单记录标记字段、离线话单记录产生时间字段、片区编码字段、服务类型编码字段、资源类型编码字段、统计周期开始时间字段、统计结束时间字段、累积因子名(也称计费因子名)字段和累积因子值(也称计费因子值)字段等。
其中,离线话单记录标记字段用于指示对应的离线话单记录为正常的离线话单记录,此时,其字段标识可以为“20”,或者,在发现错误后被纠正的离线话单记录,此时,其字段标识可以为“30”。
离线话单记录产生时间字段用于指示离线话单产生的时间,其可以采用协调世界时(Coordinated Universal Time,也称:世界统一时间、世界标准时间或国际协调时间),其填写格式为:年月日小时(24小时制)分钟秒(YYYYMMDDHH24MISS)。
片区编码字段用于指示产生云服务的地域。服务类型编码字段用于指示云服务资源的服务类型,例如,云服务类型可以为:亚马逊弹性计算云(EC2,Elastic ComputeCloud)中的虚拟机(Virtual Machine,VM),此时,服务类型可以记录为“hws.service.type.ec2”。或者,该服务类型可以为汽车动态控制(vehicle dynamiccontrol,vdc)中的虚拟机,此时,服务类型可以记录为“hws.service.type.vdc”。
资源类型编码字段用于指示云服务资源的类型,例如:云服务资源的云服务资源类型可以为虚拟机(Virtual Machine)。其中,资源类型可以是云服务类型中的一种资源,云服务类型可以由多种资源类型组合提供,例如,云服务类型EC2可以由虚拟机、容量(Volume)、网际协议(Internet Protocol Address,IP)和镜像文件(Image)等提供,该虚拟机、容量、网际协议和镜像文件均为资源类型。
统计周期开始时间字段和统计结束时间字段分别用于指示云服务消费记录的统计周期的开始时间和结束时间,其填写格式请参考离线话单记录产生时间字段的填写格式。
累积因子名(也称计费因子名)字段用于指示约定的累积因子名,例如,该累积因子名可以为使用时长“duration”。
累积因子值(也称计费因子值)字段用于指示累积因子名的累积值。例如,用于指示在统计周期开始时间到统计结束时间期间,累积因子名对应的累积值。
可选的,该话单信息还可以包括:可用区域代码字段、资源规格编码字段、资源实例ID字段、运营参数字段和至少一个扩字段(例如)。
其中,可用区域代码字段用于指示产生云服务的子地域。
资源规格编码字段用于指示预先约定的资源的规格,例如,‘m1.tiny’用于指示虚拟机的规格时小型规格。
资源实例ID字段用于指示资源实例,当没有资源实例时,该字段可不填,例如带宽通常无资源实例ID,此时可不填该字段。
运营参数字段用于指示运营参数,其格式:可以为‘订单ID(OrderID):产品ID(ProductID):资源实例名称(Name):扩展租户ID(XdomainId):扩展租户类型(XdomainType)’,其中,从云服务控制台(Console)购买包周期资源需填写该OrderID和ProductID:产品ID,且需要将资源实例名称、扩展租户ID和扩展租户类型的字符使用统一资源定位符编码,即使用URLEncode进行编码。
表1
Figure BDA0001776898590000101
在至少一个扩字段中,多个扩展字段可以以逗号“,”分割。例如,扩展字段为标签(TAG)字段时,TAG格式可以为:键(key)1:值(value)1;键2:值2,并且,当TAG的key和value中有竖线、冒号或分号字符时,需要使用URLEncode进行编码。并且,虚拟机的扩展字段可以为‘离线话单记录触发类型’,且当字段记载内容为1时,表示触发类型为关机触发,当字段记载内容为2时,表示触发类型为整点触发。
示例的,表1示出了本申请实施例提供的一种话单信息的格式的示意图,该表1对云计算场景中的话单信息所包括的各个字段的中文名称、英文名称、各个字段在话单信息中的位置,各个字段的字符类型、各个字段的长度限制(单位:字节)各个字段的相关说明进行了示意。例如:该话单信息中的用户ID字段用于指示产生该话单信息中记载的云服务的用户ID,该用户ID字段在话单信息中的位置为5,其字符类型为string,其字段长度限制为64字节,且该用户ID为该云计算场景提供的网络中的唯一编号,在填写该用户ID时,也可以填写租户ID(Project ID)。该话单信息中的归属云ID(即云计算场景中的归属服务商ID)字段用于指示该话单信息中的用户ID所属的云(或云厂商),该归属云ID字段在话单信息中的位置为2,其字符类型为string,其字段长度限制为4字节。该话单信息中的伙伴云ID(即云计算场景中的伙伴服务商ID)字段用于指示为该用户ID提供该话单信息中所指示的云服务的云,该伙伴云ID字段在话单信息中的位置为3,其字符类型为string,其字段长度限制为4字节。
步骤204、基于话单信息生成话单数据块。
在第一数据节点获取话单信息后,可以基于该话单信息,根据预设策略生成话单数据块,该话单数据块用于记录该话单信息。需要说明的是,为了保证数据存储系统记载的数据的完整性,一个话单数据块记录的信息通常为:该数据链中形成的上一个话单数据块被生成之后至该话单数据块被生成之前的的时段内的所有话单信息。并且,由于每个云服务商可以为多个用户服务,因此,在该时段内可能产生可多个话单信息写入请求,即有多个话单信息需要写入,此时,第一数据节点可以先按照预设排序策略(例如话单信息的生成时间先后)对该多个话单信息进行排序,然后,根据排序依次基于每个话单信息生成对应的话单数据块。进一步地,由于数据链包括:多个按照时序连接的话单数据块,为了防止对存储在数据链中的话单信息进行篡改,该生成的话单数据块中可以包含上一个话单数据块中的部分信息,以保证话单信息的不可修改性。可选地,在图4所示的数据存储系统中,该对多个话单信息进行排序,并生成话单数据块的步骤可以由顺序子节点执行。
在区块链中,由于区块链所包括的多个区块是按时间顺序生成的,每个区块包括块头(header)和块身(body)。其中,块头用于链接到该区块前的上一个区块,以保证区块链中存储的信息的不可修改性。块身用于记录该区块前的上一个区块被生成后至该区块被生成之前时段内的话单信息。该区块链的结构使得整个区块链中的多个区块记录的所有话单信息形成一个有序的话单信息合集。
需要说明的是,在生成话单数据块之后,还可以对该话单数据块进行加密处理并签名,以保证数据的安全性。例如:可以采用哈希函数和密码学算法等对该话单数据块进行加密处理。
步骤205、基于话单数据块进行信息校验,并将话单数据块发送至每个其他数据节点中,以供每个其他数据节点基于话单数据块进行信息校验。
第一数据节点可以对话单数据块进行信息校验,以及,每个其他数据节点在接收到该话单数据块之后,可以对该话单数据块进行信息校验以确保数据的有效性和安全性。该信息校验至少可以包括以下一个或多个:验证数据的完整性,检验话单数据块的签名是否有效,检验该话单信息写入交易是否符合背书策略,检验接收的数据的版本与该数据节点本地存储的数据版本是否相同,以防止交易并发带来的错乱。并在信息校验结果指示话单数据块通过校验时,将该话单数据块添加在自身所管理的数据链的末尾,即执行步骤205。
在区块链中,该信息校验操作可以由业务子节点执行,业务子节点在接收话单数据块后,可以根据该话单数据块的哈希值检验该话单数据块的完整性,检测该话单数据块的签名是否重复,检验该写入话单信息的交易是否符合背书策略,检验该话单数据块携带的话单信息的版本与该业务子节点中存储的数据版本是否一致,然后在确认该检测项的内容均合格时,将该话单数据块添加在自身所管理的区块链的末尾。
需要说明的是,在数据存储系统中,还设置有管理区块链,该管理区块链用于存储每个数据节点所管理的区块链中每个区块的相关信息,当在区块链中添加话单信息对应的话单数据块后,可将该话单数据块相关的信息添加在该管理区块链中。
步骤206、当信息校验结果指示话单数据块通过校验时,将话单数据块添加在第一数据节点所管理的数据链的末尾。
当信息校验结果指示话单数据块通过校验时,说明该话单数据块中存储的话单信息为有效信息,可以将该话单数据块存储至该数据存储系统,此时,数据存储节点中的多个数据节点可以将该话单数据块存储在每个数据节点所管理的数据链中,实现该数据存储系统中数据的更新。其中,在区块链中,该将话单数据块添加在对应数据节点所管理的数据链的末尾操作可以由对应数据节点中的业务子节点执行。
步骤207、在数据链中读取话单信息。
在完成话单信息的存储后,当需要使用该话单信息时,可以在数据链中读取话单信息。例如,在归属服务商需要向伙伴服务商结算时,可以在其对应的数据节点所管理的数据链中获取话单信息,并根据预先约定的计费原则生成账单,以根据该账单向伙伴服务商结算。
可选的,根据读取话单信息的场景不同,该步骤207的实现方式不同,下面以以下几种可实现方式为例对其进行说明:
在该步骤207的第一种可实现方式中,当归属服务商需要向多个其他伙伴服务商进行统一结算时,该第一数据节点可以为该归属服务商对应的数据节点,此时,第一数据节点可以根据归属服务商ID读取话单信息,请参考图6,该实现过程可以包括:
步骤2071a、接收第一话单信息读取请求,该第一话单信息读取请求用于请求读取携带有第一归属服务商ID字段的话单信息。
由于话单信息包括:归属服务商ID字段、伙伴服务商ID字段和用户ID字段,因此,当伙伴服务商向归属服务商的用于提供云服务后,其对应的话单信息中会记载有该归属服务商的归属服务商ID,且多个其他伙伴服务商对应的话单信息中均记载有该归属服务商ID。因此,当归属服务商需要向多个其他伙伴服务商进行统一结算时,该归属服务商需要获取所有携带有该归属服务商的第一归属服务商ID的话单信息,以便根据该第一归属服务商ID在数据存储系统中读取对应的话单信息。并且,该第一话单信息读取请求可以通过该归属服务商的客户端向该第一数据节点发送。
步骤2072a、基于第一归属服务商ID字段,在第一数据节点所管理的数据链中读取携带有第一归属服务商ID字段的第一话单信息。
由于话单信息包括:归属服务商ID字段,因此,在接收到携带有第一归属服务商ID字段的第一话单信息读取请求后,可以将该第一归属服务商ID与数据存储系统中的所有话单信息携带的归属服务商ID进行比对,并将携带有该第一归属服务商ID的话单信息确定为第一话单信息。
步骤2073a、发送携带有第一话单信息的话单信息读取响应。
在获取第一话单信息之后,可以向归属服务商的客户端发送携带有该第一话单信息的话单读取响应,以完成该话单信息读取过程。
在该步骤207的第二种可实现方式中,当归属服务商需要分别向多个伙伴服务商进行结算时,该第一数据节点可以为该归属服务商对应的数据节点,此时,第一数据节点可以根据归属服务商ID和各个伙伴服务商ID读取话单信息,请参考图7,该实现过程可以包括:
步骤2071b、接收第一话单信息读取请求,该第一话单信息读取请求用于请求读取携带有第一归属服务商ID字段的话单信息。
该步骤2071b的实现过程请相应参考步骤2071a的实现过程。
步骤2072b、基于第一归属服务商ID字段,在第一数据节点所管理的数据链中读取携带有第一归属服务商ID字段的第一话单信息。
该步骤2072b的实现过程请相应参考步骤2072a的实现过程。
步骤2073b、发送携带有第一话单信息的话单信息读取响应。
该步骤2073b的实现过程请相应参考步骤2073a的实现过程。
步骤2074b、接收第二话单信息读取请求,该第二话单信息读取请求用于请求读取携带有第一归属服务商ID字段和第一伙伴服务商ID字段的话单信息。
该第一伙伴服务商ID可以为多个伙伴服务商中任一伙伴服务商的ID。且该步骤2074b的实现过程请相应参考步骤2071a的实现过程。
步骤2075b、基于第一归属服务商ID字段和第一伙伴服务商ID字段,在第一话单信息中筛选携带有第一伙伴服务商ID字段的第二话单信息。
在该步骤2075b的第一种可实现方式中,由于在步骤2072b中已获取了数据存储系统中所有携带有第一归属服务商ID字段的第一话单信息,在该步骤2075b中,可以直接根据第一伙伴服务商ID字段,在该第一话单信息中进行筛选,以确定该第二话单信息。
在该步骤2075b的第二种可实现方式中,也可以直接根据该第一归属服务商ID字段和第一伙伴服务商ID字段直接在数据存储系统中进行查找,以获取该第二话单信息。其中,该查找过程请响应参考步骤2072a的实现过程。
需要说明的是,数据存储系统中通常记载有大量的数据,若采用步骤2075b的第一种可实现方式获取第二话单信息,通过在第一话单信息中进行筛选,可以减少对数据存储系统中存储的数据进行遍历的数据量,进而加快读取话单信息的速度。
该步骤2076b、发送携带有第二话单信息的话单信息读取响应。
该步骤2076b的实现过程请相应参考步骤2073a的实现过程。
在该步骤207的第三种可实现方式中,当归属服务商需要向多个伙伴服务商分别进行结算时,该第一数据节点可以为该归属服务商对应的数据节点,此时,第一数据节点可以根据归属服务商ID和各个伙伴服务商ID读取话单信息,请参考图8,该实现过程可以包括:
步骤2071c、接收第三话单信息读取请求,该第三话单信息读取请求用于请求读取携带有第二归属服务商ID字段和第二伙伴服务商ID字段的话单信息。
该步骤2071c的实现过程请相应参考步骤2071a的实现过程。
步骤2072c、基于第二归属服务商ID字段和第二伙伴服务商ID字段,在第一数据节点所管理的数据链中读取同时携带有第二归属服务商ID字段和第二伙伴服务商ID字段的第三话单信息。
该步骤2072c的实现过程请相应参考步骤2072a的实现过程。
步骤2073c、发送携带有第三话单信息的话单信息读取响应。
该步骤2073c的实现过程请相应参考步骤2073a的实现过程。
综上所述,本申请实施例提供的数据存储方法,通过在获取待存储的话单信息后,基于话单信息生成话单数据块,并将该话单数据块分别存储在数据存储系统的多个数据节点中,实现了话单信息在多个数据节点中的共享,相较于相关技术,由于每个数据节点所管理的数据链中均存储有话单信息,且该每个数据节点与一个云服务提供商对应,当归属服务商和伙伴服务商中的任一云服务提供商需要读取话单信息时,可以在其对应的数据节点所管理的数据链中读取该话单信息,解决了相关技术中归属服务商无法获取该话单信息的问题。
并且,当通过区块链实现话单信息共享时,可以利用区块链自身的特点,使得云服务提供商能够获得全量、安全且可信的话单信息,保证了话单信息的可溯源性,能够解决相关技术中话单信息不透明,话单信息易被篡改和删除,及无法根据该话单信息进行后续的财务审计等工作的问题,为后续统一计费和财务审计等工作提供了很大的便利。
同时,由于能够实现话单信息的共享,使得“全球一朵云”解决方案中的归属云能够获取自己的用户在伙伴云上的云服务记录(即话单信息),为归属云实现统一计费提供了条件。
需要说明的是,本申请实施例提供的数据存储方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
本申请实施例提供了一种数据存储装置,图9为该数据存储装置的结构示意图,如图9所示,该数据存储装置900可以包括:
生成模块901,用于在获取待存储的话单信息后,基于话单信息生成话单数据块,话单信息用于记录云服务消费行为。
添加模块902,用于将话单数据块添加在第一数据节点所管理的数据链的末尾。
第一发送模块903,用于将话单数据块发送至每个其他数据节点,使每个其他数据节点将话单数据块添加在对应数据节点所管理的数据链的末尾,其他数据节点为多个数据节点中除第一数据节点外的数据节点。
可选的,如图10所示,该装置900还可以包括:
校验模块904,用于基于话单数据块进行信息校验。
添加模块902,用于当信息校验结果指示话单数据块通过校验时,将话单数据块添加在第一数据节点所管理的数据链的末尾。
可选的,如图10所示,该装置900还可以包括:
第一接收模块905,用于接收话单信息写入请求,话单信息写入请求用于请求将话单信息存储至每个数据链。
第二发送模块906,用于将话单信息写入请求发送至每个其他数据节点,以供每个数据节点对话单信息写入请求进行投票。
获取模块907,用于当话单信息写入请求获得的投票数大于预设票数阈值时,获取话单信息。
可选的,话单信息可以包括:归属服务商标识ID字段、伙伴服务商ID字段和用户ID字段。
其中,归属服务商ID用于指示用户ID所属的云服务提供商,伙伴服务商ID用于指示向用户ID提供话单信息所指示的云服务的云服务提供商。
可选的,话单信息可以包括:归属服务商ID字段,归属服务商ID用于指示用户ID所属的云服务提供商,如图10所示,该装置900还可以包括:
第二接收模块908,用于接收第一话单信息读取请求,第一话单信息读取请求用于请求读取携带有第一归属服务商ID字段的话单信息。
读取模块909,用于基于第一归属服务商ID字段,在第一数据节点所管理的数据链中读取携带有第一归属服务商ID字段的第一话单信息。
第三发送模块910,用于发送携带有第一话单信息的话单信息读取响应。
可选的,话单信息还可以包括:伙伴服务商ID字段,伙伴服务商ID用于指示为用户ID提供话单信息所指示的云服务的云服务提供商,可选的,如图10所示,该装置900还可以包括:
第二接收模块909,用于接收第二话单信息读取请求,第二话单信息读取请求用于请求读取携带有第一归属服务商ID字段和第一伙伴服务商ID字段的话单信息。
读取模块910,用于基于第一归属服务商ID字段和第一伙伴服务商ID字段,在第一话单信息中筛选携带有第一伙伴服务商ID字段的第二话单信息。
第三发送模块911,用于发送携带有第二话单信息的话单信息读取响应。
可选的,话单信息可以包括:归属服务商ID字段和伙伴服务商ID字段,归属服务商ID用于指示用户ID所属的云服务提供商,伙伴服务商ID用于指示为用户ID提供话单信息所指示的云服务的云服务提供商,如图10所示,该装置900还可以包括:
第二接收模块909,用于接收第三话单信息读取请求,第三话单信息读取请求用于请求读取携带有第二归属服务商ID字段和第二伙伴服务商ID字段的话单信息。
读取模块910,用于基于第二归属服务商ID字段和第二伙伴服务商ID字段,在第一数据节点所管理的数据链中读取同时携带有第二归属服务商ID字段和第二伙伴服务商ID字段的第三话单信息。
第三发送模块911,用于发送携带有第三话单信息的话单信息读取响应。
可选的,数据链可以包括:多个按照时序连接的话单数据块。
可选的,数据链为区块链。
综上所述,本申请实施例提供的数据存储装置,通过在获取待存储的话单信息后,生成模块基于所述话单信息生成话单数据块,添加模块和第一发送模块将该话单数据块分别存储在数据存储系统的多个数据节点中,实现了话单信息在多个数据节点中的共享,相较于相关技术,由于每个数据节点所管理的数据链中均存储有话单信息,且该每个数据节点与一个云服务提供商对应,当归属服务商和伙伴服务商中的任一云服务提供商需要读取话单信息时,可以在其对应的数据节点所管理的数据链中读取该话单信息,解决了相关技术中归属服务商无法获取该话单信息的问题。
并且,当通过区块链实现话单信息共享时,可以利用区块链自身的特点,使得云服务提供商能够获得全量、安全且可信的话单信息,保证了话单信息的可溯源性,能够解决相关技术中话单信息不透明,话单信息易被篡改和删除,及无法根据该话单信息进行后续的财务审计等工作的问题,为后续统一计费和财务审计等工作提供了很大的便利。
同时,由于能够实现话单信息的共享,使得“全球一朵云”解决方案中的归属云能够获取自己的用户在伙伴云上的云服务记录(即话单信息),为归属云实现统一计费提供了条件。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种数据存储装置,该数据存储装置可以包括:处理器和存储器,其中,该存储器用于存放计算机程序;该处理器,用于执行该存储器上所存放的程序,以实现上述实施例提供的数据存储方法。例如:处理器可以被配置为:在获取待存储的话单信息后,基于所述话单信息生成话单数据块,所述话单信息用于记录云服务消费行为;将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾;将所述话单数据块发送至每个其他数据节点,使每个所述其他数据节点将所述话单数据块添加在对应数据节点所管理的数据链的末尾,所述其他数据节点为多个所述数据节点中除所述第一数据节点外的数据节点。
具体地,请参考图11,本申请实施例还提供了一种数据存储装置20,如图11所示,该数据存储装置20可以包括:处理器22和信号接口24。
处理器22包括一个或者一个以上处理核心。处理器22通过运行软件程序以及模块,从而执行各种功能应用以及数据处理。处理器22可以包括中央处理单元、数字信号处理器、微处理器、微控制器或人工智能处理器中的一种或多种,还可以进一步选择性地包括执行运算所需的硬件加速器,如各种逻辑运算电路。
信号接口24可以为多个,该信号接口24用于与其它装置或模块建立连接,例如:可以通过该信号接口24与收发机进行连接。因此,可选地,该装置20还可包括收发机(图中未示出)。该收发机具体执行信号收发。当处理器22需要执行信号收发操作的时候可以调用或驱动收发机执行相应收发操作。因此,当装置20进行信号收发的时候,处理器22用于决定或发起收发操作,相当于发起者,而收发机用于具体收发执行,相当于执行者。该收发机也可以是收发电路、射频电路或射频单元,本实施例对此不限定。
可选的,数据存储装置20还包括存储器26、总线28等部件。其中,存储器26与信号接口24分别通过总线28与处理器22相连。
存储器26可用于存储软件程序以及模块。具体的,存储器26可存储至少一个功能所需的程序模块262,该程序可以是应用程序或驱动程序。
其中,该程序模块262可以包括:
生成单元2621,具有与生成模块901相同或相似的功能。
添加单元2622,具有与添加模块902相同或相似的功能。
第一发送单元2623,具有与第一发送模块903相同或相似的功能。
本申请实施例还提供了一种存储介质,该存储介质可以为非易失性计算机可读存储介质,当存储介质中的指令由终端的处理器执行时,使得终端能够执行本申请实施例提供的数据存储方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行本申请实施例提供的数据存储方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (27)

1.一种数据存储方法,其特征在于,应用于数据存储系统中的第一数据节点,所述数据存储系统为分布式数据库系统,所述数据存储系统包括多个数据节点,每个所述数据节点与一个云服务提供商对应,每个所述数据节点中管理有一个数据链,每个所述数据链包括多个话单数据块,所述第一数据节点为多个所述数据节点中的任一个,所述方法包括:
在获取待存储的话单信息后,基于所述话单信息生成话单数据块,所述话单信息用于记录云服务消费行为;
将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾;
将所述话单数据块发送至每个其他数据节点,使每个所述其他数据节点将所述话单数据块添加在对应数据节点所管理的数据链的末尾,所述其他数据节点为多个所述数据节点中除所述第一数据节点外的数据节点。
2.根据权利要求1所述的方法,其特征在于,在所述将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾之前,所述方法还包括:
基于所述话单数据块进行信息校验;
所述将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾,包括:
当信息校验结果指示所述话单数据块通过校验时,将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾。
3.根据权利要求1或2所述的方法,其特征在于,在所述基于所述话单信息生成话单数据块之前,所述方法还包括:
接收话单信息写入请求,所述话单信息写入请求用于请求将所述话单信息存储至每个所述数据链;
将所述话单信息写入请求发送至每个其他数据节点,以供每个所述数据节点对所述话单信息写入请求进行投票;
当所述话单信息写入请求获得的投票数大于预设票数阈值时,获取所述话单信息。
4.根据权利要求1至3任一所述的方法,其特征在于,所述话单信息包括:归属服务商标识ID字段、伙伴服务商ID字段和用户ID字段;
其中,所述归属服务商ID用于指示所述用户ID所属的云服务提供商,所述伙伴服务商ID用于指示向所述用户ID提供所述话单信息所指示的云服务的云服务提供商。
5.根据权利要求1至4任一所述的方法,其特征在于,所述话单信息包括:归属服务商ID字段,所述归属服务商ID用于指示用户ID所属的云服务提供商,在所述将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾之后,所述方法还包括:
接收第一话单信息读取请求,所述第一话单信息读取请求用于请求读取携带有第一归属服务商ID字段的话单信息;
基于所述第一归属服务商ID字段,在所述第一数据节点所管理的数据链中读取携带有所述第一归属服务商ID字段的第一话单信息;
发送携带有所述第一话单信息的话单信息读取响应。
6.根据权利要求5所述的方法,其特征在于,所述话单信息还包括:伙伴服务商ID字段,所述伙伴服务商ID用于指示为所述用户ID提供所述话单信息所指示的云服务的云服务提供商,在所述发送携带有所述第一话单信息的话单信息读取响应之后,所述方法还包括:
接收第二话单信息读取请求,所述第二话单信息读取请求用于请求读取携带有所述第一归属服务商ID字段和第一伙伴服务商ID字段的话单信息;
基于所述第一归属服务商ID字段和所述第一伙伴服务商ID字段,在所述第一话单信息中筛选携带有所述第一伙伴服务商ID字段的第二话单信息;
发送携带有所述第二话单信息的话单信息读取响应。
7.根据权利要求1至4任一所述的方法,其特征在于,所述话单信息包括:归属服务商ID字段和伙伴服务商ID字段,所述归属服务商ID用于指示用户ID所属的云服务提供商,所述伙伴服务商ID用于指示为所述用户ID提供所述话单信息所指示的云服务的云服务提供商,在所述将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾之后,所述方法还包括:
接收第三话单信息读取请求,所述第三话单信息读取请求用于请求读取携带有第二归属服务商ID字段和第二伙伴服务商ID字段的话单信息;
基于所述第二归属服务商ID字段和所述第二伙伴服务商ID字段,在所述第一数据节点所管理的数据链中读取同时携带有所述第二归属服务商ID字段和所述第二伙伴服务商ID字段的第三话单信息;
发送携带有所述第三话单信息的话单信息读取响应。
8.根据权利要求1至7任一所述的方法,其特征在于,所述数据链包括:多个按照时序连接的话单数据块。
9.根据权利要求1至8任一所述的方法,其特征在于,所述数据链为区块链。
10.一种数据存储装置,其特征在于,所述装置包括:
生成模块,用于在获取待存储的话单信息后,基于所述话单信息生成话单数据块,所述话单信息用于记录云服务消费行为;
添加模块,用于将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾;
第一发送模块,用于将所述话单数据块发送至每个其他数据节点,使每个所述其他数据节点将所述话单数据块添加在对应数据节点所管理的数据链的末尾,所述其他数据节点为多个所述数据节点中除所述第一数据节点外的数据节点。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
校验模块,用于基于所述话单数据块进行信息校验;
所述添加模块,用于当信息校验结果指示所述话单数据块通过校验时,将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾。
12.根据权利要求10或11所述的装置,其特征在于,所述装置还包括:
第一接收模块,用于接收话单信息写入请求,所述话单信息写入请求用于请求将所述话单信息存储至每个所述数据链;
第二发送模块,用于将所述话单信息写入请求发送至每个其他数据节点,以供每个所述数据节点对所述话单信息写入请求进行投票;
获取模块,用于当所述话单信息写入请求获得的投票数大于预设票数阈值时,获取所述话单信息。
13.根据权利要求10至12任一所述的装置,其特征在于,所述话单信息包括:归属服务商标识ID字段、伙伴服务商ID字段和用户ID字段;
其中,所述归属服务商ID用于指示所述用户ID所属的云服务提供商,所述伙伴服务商ID用于指示向所述用户ID提供所述话单信息所指示的云服务的云服务提供商。
14.根据权利要求10至13任一所述的装置,其特征在于,所述话单信息包括:归属服务商ID字段,所述归属服务商ID用于指示用户ID所属的云服务提供商,所述装置还包括:
第二接收模块,用于接收第一话单信息读取请求,所述第一话单信息读取请求用于请求读取携带有第一归属服务商ID字段的话单信息;
读取模块,用于基于所述第一归属服务商ID字段,在所述第一数据节点所管理的数据链中读取携带有所述第一归属服务商ID字段的第一话单信息;
第三发送模块,用于发送携带有所述第一话单信息的话单信息读取响应。
15.根据权利要求14所述的装置,其特征在于,所述话单信息还包括:伙伴服务商ID字段,所述伙伴服务商ID用于指示为所述用户ID提供所述话单信息所指示的云服务的云服务提供商,所述装置还包括:
所述第二接收模块,用于接收第二话单信息读取请求,所述第二话单信息读取请求用于请求读取携带有所述第一归属服务商ID字段和第一伙伴服务商ID字段的话单信息;
所述读取模块,用于基于所述第一归属服务商ID字段和所述第一伙伴服务商ID字段,在所述第一话单信息中筛选携带有所述第一伙伴服务商ID字段的第二话单信息;
所述第三发送模块,用于发送携带有所述第二话单信息的话单信息读取响应。
16.根据权利要求10至13任一所述的装置,其特征在于,所述话单信息包括:归属服务商ID字段和伙伴服务商ID字段,所述归属服务商ID用于指示用户ID所属的云服务提供商,所述伙伴服务商ID用于指示为所述用户ID提供所述话单信息所指示的云服务的云服务提供商,所述装置还包括:
第二接收模块,用于接收第三话单信息读取请求,所述第三话单信息读取请求用于请求读取携带有第二归属服务商ID字段和第二伙伴服务商ID字段的话单信息;
读取模块,用于基于所述第二归属服务商ID字段和所述第二伙伴服务商ID字段,在所述第一数据节点所管理的数据链中读取同时携带有所述第二归属服务商ID字段和所述第二伙伴服务商ID字段的第三话单信息;
第三发送模块,用于发送携带有所述第三话单信息的话单信息读取响应。
17.根据权利要求10至16任一所述的装置,其特征在于,所述数据链包括:多个按照时序连接的话单数据块。
18.根据权利要求10至17任一所述的装置,其特征在于,所述数据链为区块链。
19.一种数据存储系统,其特征在于,所述数据存储系统为分布式数据库系统,所述数据存储系统包括多个数据节点,每个所述数据节点与一个云服务提供商对应,每个所述数据节点中管理有一个数据链,每个所述数据链包括多个话单数据块,每个所述话单数据块中记载有话单信息,所述话单信息用于记录云服务消费行为;
其中,每个所述数据节点包括权利要求10至18任一所述的数据存储装置。
20.根据权利要求19所述的系统,其特征在于,所述多个数据节点包括:归属服务商对应的节点和伙伴服务商对应的节点,所述归属服务商为用户ID所属的云服务提供商,所述伙伴服务商为向所述用户ID提供所述话单信息所指示的云服务的云服务提供商。
21.根据权利要求19或20所述的系统,其特征在于,所述数据节点包括:业务子节点和顺序子节点;
所述顺序子节点用于基于待存储的话单信息生成话单数据块;
所述业务子节点用于管理数据链,以及,对所述话单数据块进行信息校验,并当信息校验结果指示所述话单数据块通过校验时,将所述话单数据块添加在所述第一数据节点所管理的数据链的末尾。
22.根据权利要求21所述的系统,其特征在于,所述业务子节点还用于提供云服务。
23.根据权利要求21或22所述的系统,其特征在于,所述数据节点还包括:背书子节点,所述背书子节点用于对接收到的话单信息写入请求进行投票。
24.根据权利要求19至23任一所述的系统,其特征在于,所述数据节点部署在服务器中。
25.根据权利要求19至24任一所述的系统,其特征在于,所述数据链为区块链。
26.一种数据存储装置,其特征在于,所述数据存储装置包括:处理器和存储器,
其中,
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现权利要求1至9任一所述的数据存储方法。
27.一种存储介质,其特征在于,当所述存储介质中的指令由终端的处理器执行时,使得所述终端能够执行权利要求1至9任一所述的数据存储方法。
CN201810973781.0A 2018-08-24 2018-08-24 数据存储方法、装置及系统、存储介质 Active CN110858211B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810973781.0A CN110858211B (zh) 2018-08-24 2018-08-24 数据存储方法、装置及系统、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810973781.0A CN110858211B (zh) 2018-08-24 2018-08-24 数据存储方法、装置及系统、存储介质

Publications (2)

Publication Number Publication Date
CN110858211A true CN110858211A (zh) 2020-03-03
CN110858211B CN110858211B (zh) 2022-12-13

Family

ID=69636266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810973781.0A Active CN110858211B (zh) 2018-08-24 2018-08-24 数据存储方法、装置及系统、存储介质

Country Status (1)

Country Link
CN (1) CN110858211B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111698326A (zh) * 2020-06-12 2020-09-22 北京百度网讯科技有限公司 用于确定云服务资源的成本归属的方法和装置
CN114553447A (zh) * 2020-11-11 2022-05-27 中国移动通信有限公司研究院 BaaS平台联盟协商管理方法、装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190122B1 (en) * 2008-10-23 2012-05-29 Cellco Partnership Method and system for managing mobile telephone numbers and mobile telephone subscribers' data without geography-based restriction
CN106951185A (zh) * 2017-03-01 2017-07-14 武汉爱宁智慧科技有限公司 一种基于区块链技术的健康检测数据管理系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190122B1 (en) * 2008-10-23 2012-05-29 Cellco Partnership Method and system for managing mobile telephone numbers and mobile telephone subscribers' data without geography-based restriction
CN106951185A (zh) * 2017-03-01 2017-07-14 武汉爱宁智慧科技有限公司 一种基于区块链技术的健康检测数据管理系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
袁勇等: "区块链技术发展现状与展望", 《自动化学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111698326A (zh) * 2020-06-12 2020-09-22 北京百度网讯科技有限公司 用于确定云服务资源的成本归属的方法和装置
CN114553447A (zh) * 2020-11-11 2022-05-27 中国移动通信有限公司研究院 BaaS平台联盟协商管理方法、装置及系统

Also Published As

Publication number Publication date
CN110858211B (zh) 2022-12-13

Similar Documents

Publication Publication Date Title
CN108764870B (zh) 基于区块链的交易处理方法及装置、电子设备
US20190172026A1 (en) Cross blockchain secure transactions
EP3779760B1 (en) Blockchain-based data processing method and apparatus, and electronic device
KR20180115727A (ko) 보안 투표 및 분배에서 사용을 위한 블록체인 구현 카운팅 시스템 및 방법
JP7157348B2 (ja) ブロックチェーンシステム、承認端末、スマートコントラクト登録方法、および、スマートコントラクト登録プログラム
CN112506747B (zh) 一种业务进程监控方法、装置、电子设备及存储介质
CN115485686A (zh) 用于数据云服务的分布式和基于区块链的账簿
CN113326165B (zh) 基于区块链的数据处理方法、设备及计算机可读存储介质
JP2023542681A (ja) ブロックチェーンの許可フレームワークへのデバイスアイデンティティの統合
CN116155771A (zh) 网络异常测试方法、装置、设备、存储介质和程序
CN110858211B (zh) 数据存储方法、装置及系统、存储介质
CN114971827A (zh) 一种基于区块链的对账方法、装置、电子设备及存储介质
CN115114372A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
US20230095965A1 (en) Compute services for a platform of services associated with a blockchain
KR20220143873A (ko) 블록체인과 연관된 이벤트들의 시퀀스에 대한 이벤트 스트림들
KR102139551B1 (ko) 유언장을 관리하는 서버 및 방법
CN110991573A (zh) 一种产品管理方法、系统、客户端节点以及存储介质
US11782823B2 (en) Automatically capturing weather data during engineering tests
CN116028982A (zh) 基于非同质化通证的处理方法、装置及系统
CN111367867B (zh) 日志信息处理方法、装置、电子设备及存储介质
US20240104653A1 (en) Method for digital asset transactions
US20230093411A1 (en) Synchronising event streams
CN117335976A (zh) 基于区块链的密钥处理方法、装置、设备、介质及产品
CN118018602A (zh) 一种基于区块链的数据处理方法、装置、设备及介质
CN117406930A (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
TA01 Transfer of patent application right

Effective date of registration: 20220215

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant