CN111858603B - 区块链的数据写入方法及系统 - Google Patents

区块链的数据写入方法及系统 Download PDF

Info

Publication number
CN111858603B
CN111858603B CN202010717742.1A CN202010717742A CN111858603B CN 111858603 B CN111858603 B CN 111858603B CN 202010717742 A CN202010717742 A CN 202010717742A CN 111858603 B CN111858603 B CN 111858603B
Authority
CN
China
Prior art keywords
file
page
disk
data
written
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
Application number
CN202010717742.1A
Other languages
English (en)
Other versions
CN111858603A (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.)
Zhejiang Yongqi Blockchain Technology Co ltd
Original Assignee
Zhejiang Yongqi Blockchain Technology 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 Zhejiang Yongqi Blockchain Technology Co ltd filed Critical Zhejiang Yongqi Blockchain Technology Co ltd
Priority to CN202010717742.1A priority Critical patent/CN111858603B/zh
Publication of CN111858603A publication Critical patent/CN111858603A/zh
Application granted granted Critical
Publication of CN111858603B publication Critical patent/CN111858603B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了区块链的数据写入方法及系统,涉及区块链技术领域,方法包括根据需要写入数据的record id计算出page id;根据page id计算出逻辑文件id;根据逻辑文件id和映射关系找到磁盘中对应的物理文件id;在磁盘中执行数据写入操作。本发明针对区块链的特点,在数据写入时通过映射的方式快速找到磁盘内的目标位置,大大提高了数据写入性能。

Description

区块链的数据写入方法及系统
技术领域
本发明涉及区块链技术领域,特别是涉及区块链的数据写入方法及系统。
背景技术
目前主流的数据库存储技术有Access数据库、MySQL数据库、SqlServer数据库和Oracle数据库,其中Access数据库是由微软发布的,是一款关联式数据管理型系统的数据库,通常是被用来开发Web应用程序。MySQL数据库是一款小型数据库管理系统的数据库,其开发公司是瑞典MySQLAB公司,MySQL被广泛地应用在Internet上的中小型网站中。SqlServer数据库的特点是真正的客户/服务器体系结构,并且是图形化的用户界面,使数据库管理方式更加直观和简单。Oracle数据库是一款比较典型的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。
然而,上述数据库管理技术应用在区块链中存在效率不高的问题,因为区块链系统不需要支持删除操作,而上述数据库管理技术均支持删除操作,使得当前的存储技术应用在区块链中时存在很多无用的设计,导致存储性能不高。
发明内容
本发明实施例提供了区块链的数据写入方法及系统,可以解决现有技术中存在的问题。
本发明提供了区块链的数据写入方法,区块链中的数据存储在磁盘中,所述磁盘分成多个大小相同的文件file,该些文件file根据需要被分配给对应的业务,在业务内以及磁盘内进行连续编号后分别得到逻辑文件id和物理文件id,所述物理文件id和逻辑文件id存在映射关系,所述文件file包含多个大小相同的页page,所述页page包含多个大小相同的记录record;
所述方法包括以下步骤:
根据需要写入数据的record id计算出page id;
根据page id计算出逻辑文件id;
根据逻辑文件id和映射关系找到磁盘中对应的物理文件id;
在磁盘中执行数据写入操作。
本发明还提供了区块链的数据写入系统,所述系统包括:
page id计算模块,用于根据需要写入数据的record id计算出page id;
file id计算模块,用于根据page id计算出逻辑文件id;
磁盘数据key确定模块,用于根据逻辑文件id和映射关系找到磁盘中对应的物理文件id;
写入执行模块,用于在磁盘中执行数据写入操作。
本发明中的区块链的数据写入方法及系统,方法包括根据需要写入数据的recordid计算出page id;根据page id计算出逻辑文件id;根据逻辑文件id和映射关系找到磁盘中对应的物理文件id;在磁盘中执行数据写入操作。本发明针对区块链的特点,在数据写入时通过映射的方式快速找到磁盘内的目标位置,大大提高了数据写入性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为磁盘存储结构图。
图2为本发明中区块链数据在不切换新文件时的写入方法的流程图。
图3为本发明中区块链数据在切换新文件时的写入方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在介绍本发明的数据写入方法前,首先对实施该方法的存储系统磁盘存储结构进行说明。
如图1所示,磁盘存储结构的形成过程如下:
1、磁盘格式化:对每个磁盘进行格式化,把磁盘分成大小相同的若干个文件(file),这些文件都是未分配状态(如图中的磁盘C,被分成7文件),这些文件的大小相同,因此文件个数与磁盘空间成正比。
2、磁盘文件分配:根据业务需要把文件分配给对应的业务。如图中磁盘D把file0,file 1,file 3分配给了A业务,把file 2,file 4分配给了B业务,把file 5分配给C业务。
逻辑文件id:在业务(例如A,B,C)内,从0开始连续编号。
物理文件id:在磁盘内(例如磁盘D,磁盘E,磁盘F),从0开始连续编号,多个磁盘间通过磁盘群管理,把物理文件id与逻辑文件id建立映射。例如业务A5文件映射到磁盘E的file 4。
3、文件分页:把文件按照固定大小分成若干页(page),page按照固定大小分成若干记录(record)。
例如业务A的file分10个page,一个page分成5个record。所以根据recordid可以直接计算出page id,根据page id可以直接计算出逻辑文件id,根据逻辑文件id和物理文件id的映射关系即可找到磁盘位置,非常高效。
根据上述过程,本发明提供的API接口如下:
template<typename RECORD_TYPE>
ACE_INT32 Append(const ACE_UINT64 nRecordID,RECORD_TYPE&rRecord)=
其中该API接口对应的写入操作为:
追加操作:
const ACE_UINT64 nRecordID:记录id是外部传入,需要保证连续分号,如果不连续分号会出现操作失败
RECORD_TYPE&rRecord:参数是需要存储的数据,数据类型是使用者自己定义,大小不做限制。
下面对本发明的数据写入方法进行详细说明。
参照图2和图3,本发明的区块链的数据写入方法包括以下步骤:
1、判断需要写入数据的record id是否合法,如果record id已经写入过或者不是连续的,则认为record id非法。
2、根据record id计算出page id。具体计算方法为record id除以每个page中的record个数,如果余数不为0则不需要切换新page,如果余数为0则切换至新page。
3、根据page id计算出逻辑文件id。具体计算方法为page id除以每个file中page个数,如果余数不为0则不需要切换新file,如果余数为0则切换并分配新的file。
4、未切换新file时,根据逻辑文件id和file type找到磁盘中对应的物理文件id;切换新file时,先分配当前磁盘中的空间,如果当前磁盘空间已满则启动新的磁盘,对磁盘进行文件分配处理并更新映射关系,根据逻辑文件id和filetype找到磁盘中对应的物理文件id。
5、在磁盘中根据对应的偏移和长度执行数据写入操作。
基于相同的发明构思,本发明还提供了区块链的数据写入系统,该系统的实施可参照上述方法的实施,重复之处不再赘述。所述系统包括:
数据key合法性计算模块,用于判断需要写入数据的record id是否合法,如果record id已经写入过或者不是连续的,则认为record id非法。
page id计算模块,用于根据record id计算出page id。具体计算方法为recordid除以每个page中的record个数,如果余数不为0则不需要切换新page,如果余数为0则切换至新page。
file id计算模块,用于根据page id计算出逻辑文件id。具体计算方法为pageid除以每个file中page个数,如果余数不为0则不需要切换新file,如果余数为0则切换并分配新的file。
磁盘位置确定模块,用于在未切换新file时,根据逻辑文件id和file type找到磁盘中对应的物理文件id;切换新file时,先分配当前磁盘中的空间,如果当前磁盘空间已满则启动新的磁盘,对磁盘进行文件分配处理并更新映射关系,根据逻辑文件id和file type找到磁盘中对应的物理文件id。
写入执行模块,用于在磁盘中根据对应的偏移和长度执行数据写入操作。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (4)

1.区块链的数据写入方法,其特征在于,区块链中的数据存储在磁盘中,所述磁盘分成多个大小相同的文件file,该些文件file根据需要被分配给对应的业务,在业务内以及磁盘内进行连续编号后分别得到逻辑文件id和物理文件id,所述物理文件id和逻辑文件id存在映射关系,所述文件file包含多个大小相同的页page,所述页page包含多个大小相同的记录record;
所述方法包括以下步骤:
根据需要写入数据的recordid计算出pageid;
根据pageid计算出逻辑文件id;
根据逻辑文件id和映射关系找到磁盘中对应的物理文件id;
在磁盘中执行数据写入操作;
所述pageid通过recordid除以每个页page中的记录record个数得到,所述fileid通过pageid除以每个文件file中页page个数得到;
如果recordid除以每个页page中记录record个数得到的余数为0,则切换至新页page;
如果pageid除以每个文件file中页page个数得到的余数为0,则切换并分配新的文件file;
切换新文件file时,先分配当前磁盘中的空间,如果当前磁盘空间已满则启动新的磁盘,对磁盘进行文件分配处理并更新映射关系,根据逻辑文件id和映射关系找到磁盘中对应的物理文件id;
在计算pageid之前,所述方法还包括:
判断需要写入数据的recordid是否合法,如果需要写入数据的recordid合法再计算所述pageid;
如果recordid已经写入过或者不是连续的,则认为recordid非法。
2.应用权利要求1中区块链的数据写入方法的区块链的数据写入系统,其特征在于,所述系统包括:
pageid计算模块,用于根据需要写入数据的recordid计算出pageid;
fileid计算模块,用于根据pageid计算出逻辑文件id;
磁盘位置确定模块,用于根据逻辑文件id和映射关系找到磁盘中对应的物理文件id;
写入执行模块,用于在磁盘中执行数据写入操作。
3.如权利要求2所述的区块链的数据写入系统,其特征在于,还包括:
数据key合法性计算模块,用于判断需要写入数据的recordid是否合法,如果需要写入数据的recordid合法,再由所述pageid计算模块计算所述pageid。
4.如权利要求3所述的区块链的数据写入系统,其特征在于,如果recordid已经写入过或者不是连续的,则所述数据key合法性计算模块认为recordid非法。
CN202010717742.1A 2020-07-23 2020-07-23 区块链的数据写入方法及系统 Active CN111858603B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010717742.1A CN111858603B (zh) 2020-07-23 2020-07-23 区块链的数据写入方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010717742.1A CN111858603B (zh) 2020-07-23 2020-07-23 区块链的数据写入方法及系统

Publications (2)

Publication Number Publication Date
CN111858603A CN111858603A (zh) 2020-10-30
CN111858603B true CN111858603B (zh) 2023-05-26

Family

ID=72949882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010717742.1A Active CN111858603B (zh) 2020-07-23 2020-07-23 区块链的数据写入方法及系统

Country Status (1)

Country Link
CN (1) CN111858603B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1625741A (zh) * 2002-01-31 2005-06-08 西尔弗布鲁克研究有限公司 可以通过手写检索查询来检索的电子文件管理系统
CN109345159A (zh) * 2018-08-21 2019-02-15 深圳市口袋网络科技有限公司 一种数据写入方法及装置、设备、存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10567320B2 (en) * 2017-10-17 2020-02-18 American Express Travel Related Services Company, Inc. Messaging balancing and control on blockchain

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1625741A (zh) * 2002-01-31 2005-06-08 西尔弗布鲁克研究有限公司 可以通过手写检索查询来检索的电子文件管理系统
CN109345159A (zh) * 2018-08-21 2019-02-15 深圳市口袋网络科技有限公司 一种数据写入方法及装置、设备、存储介质

Also Published As

Publication number Publication date
CN111858603A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
US20100312749A1 (en) Scalable lookup service for distributed database
CN110096227B (zh) 数据存储方法、数据处理方法、装置、电子设备及计算机可读介质
US20180285376A1 (en) Method and apparatus for operating on file
CN104794123A (zh) 一种为半结构化数据构建NoSQL数据库索引的方法及装置
EP3076307A1 (en) Method and device for responding to a request, and distributed file system
US8135918B1 (en) Data de-duplication for iSCSI
CN103399823B (zh) 业务数据的存储方法、设备和系统
US11263080B2 (en) Method, apparatus and computer program product for managing cache
US11385823B2 (en) Method, electronic device and computer program product for rebuilding disk array
CN111324665A (zh) 一种日志回放方法及装置
CN115470156A (zh) 基于rdma的内存使用方法、系统、电子设备和存储介质
CN113064553B (zh) 数据存储方法、装置、设备及介质
CN114721594A (zh) 一种分布式存储方法、装置、设备及机器可读存储介质
CN107402982A (zh) 数据写入、数据匹配方法、装置及计算设备
CN111858603B (zh) 区块链的数据写入方法及系统
CN109542860B (zh) 基于hdfs的业务数据管理方法、终端设备
JPH04313126A (ja) 分散ファイルシステムのファイル入出力方式
US20130304707A1 (en) Data Archiving Approach Leveraging Database Layer Functionality
CN111858602B (zh) 区块链的数据读取更新方法及系统
CN110928923A (zh) 一种基于区块链的数据存储方法及系统
WO2024021470A1 (zh) 一种跨区域的数据调度方法、装置、设备及存储介质
US11194836B2 (en) Distributed data storage
US7949632B2 (en) Database-rearranging program, database-rearranging method, and database-rearranging apparatus
CN115168499A (zh) 数据库表的分片方法、装置、计算机设备和存储介质
US11226778B2 (en) Method, apparatus and computer program product for managing metadata migration

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
PP01 Preservation of patent right

Effective date of registration: 20231026

Granted publication date: 20230526

PP01 Preservation of patent right
PD01 Discharge of preservation of patent

Date of cancellation: 20240307

Granted publication date: 20230526

PD01 Discharge of preservation of patent