CN111522784B - 一种非结构化数据文件的元数据同步方法、装置及设备 - Google Patents
一种非结构化数据文件的元数据同步方法、装置及设备 Download PDFInfo
- Publication number
- CN111522784B CN111522784B CN202010313546.8A CN202010313546A CN111522784B CN 111522784 B CN111522784 B CN 111522784B CN 202010313546 A CN202010313546 A CN 202010313546A CN 111522784 B CN111522784 B CN 111522784B
- Authority
- CN
- China
- Prior art keywords
- metadata
- data file
- file
- record
- metadata record
- 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 35
- 230000006835 compression Effects 0.000 claims description 18
- 238000007906 compression Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 5
- 230000006837 decompression Effects 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 238000012795 verification Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003203 everyday effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了一种非结构化数据文件的元数据同步方法、装置及设备。在数据文件发生更新时,确定出数据文件的元数据记录,进而从已经存在的元数据索引文件中查询出最大序列号,并对新的元数据记录从最大序列号开始依序递增的编号,然后合并得到新的元数据索引文件;在拉取方需要拉取数据文件之前,即获取这个新的元数据索引文件,并与本地的预存的进行对比,从而可以确定出发生了更新的数据文件的元数据记录,进而可以依序拉取更新的数据文件。
Description
技术领域
本说明书实施例涉及信息技术领域,尤其涉及一种非结构化数据文件的元数据同步方法、装置及设备。
背景技术
在一些涉及到跨域同步或者跨云同步的场景下,例如监管科技、多方协同等等场景下,数据传输过程的稳定性难以得到保障,再考虑到安全问题,使用非结构存储的数据文件的形式来传输数据就很有必要。而现有的方案在基于数据文件的跨域传输时,不能有效地管理其元数据信息,容易造成传输过程的错误。
基于此,本申请提供一种基于元数据同步的准确的数据传输方案。
发明内容
本申请实施例的目的是提供一种基于元数据同步的准确的数据传输方案。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,本说明书实施例提供一种非结构化数据文件的元数据同步方法,包括:
获取数据文件,生成所述数据文件的元数据记录,所述元数据记录中不包含序列号;
确定元数据索引文件中的最大序列号;
给所述元数据记录赋予从所述最大序列号依次递增的序列号,生成包含序列号的元数据记录;
将所述包含序列号的元数据记录合并至所述元数据索引文件中,生成新的元数据索引文件。
第二方面,本说明书实施例提供一种基于前述元数据索引文件的数据文件拉取方法,包括:
获取元数据索引文件;
对比获取得到的元数据索引文件与本地预存的元数据索引文件,确定出新增的元数据记录;
按照所述新增的元数据记录的序列号,依序拉取所述元数据记录所对应的数据文件;
将本地预存的元数据索引文件替换为获取得到的元数据索引文件。
与第一方面对应的,本说明书实施例还提供一种非结构化数据文件的元数据同步装置,包括:
获取模块,获取数据文件,生成所述数据文件的元数据记录,所述元数据记录中不包含序列号;
确定模块,确定元数据索引文件中的最大序列号;
生成模块,给所述元数据记录赋予从所述最大序列号依次递增的序列号,生成包含序列号的元数据记录;
更新模块,将所述包含序列号的元数据记录合并至所述元数据索引文件中,生成新的元数据索引文件。
与第二方面对应的,本说明书实施例还提供一种基于前述的元数据索引文件的数据文件拉取装置,包括:
获取模块,获取元数据索引文件;
对比模块,对比获取得到的元数据索引文件与本地预存的元数据索引文件,确定出新增的元数据记录;
拉取模块,按照所述新增的元数据记录的序列号,依序拉取所述元数据记录所对应的数据文件。
通过本说明书实施例所提供的方案,在数据文件发生更新时,确定出数据文件的元数据记录,进而从已经存在的元数据索引文件中查询出最大序列号,并对新的元数据记录从最大序列号开始依序递增的编号,然后合并得到新的元数据索引文件;在拉取方需要拉取数据文件之前,即获取这个新的元数据索引文件,并与本地的预存的进行对比,从而可以确定出发生了更新的数据文件的元数据记录,进而可以依序拉取更新的数据文件,保持了非结构化的数据文件传输中的幂等性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本说明书实施例所提供的一种非结构化数据文件的元数据同步方法的流程示意图;
图2为本说明书实施例所提供的一种基于元数据索引文件的数据文件拉取方法的流程示意图;
图3为本说明书实施理所提供的一种非结构化数据文件的元数据同步装置的结构示意图;
图4是本说明书实施例提供的一种基于前述元数据索引文件的数据文件拉取装置的结构示意图;
图5是用于配置本说明书实施例方法的一种设备的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
在当前,通常的数据同步方案都倾向于使用有标准的数据结构的存储介质作为同步的起/终点,这在内部环境传输时是可行的。但是,当涉及到监管科技这种涉及到跨域同步以及跨云同步的场景下,数据传输过程的稳定性难以得到保障,再考虑到安全问题,需要针对传输的中间过程做进一步的剥离处理。在这样的场景下,使用非结构存储,以文件的形式传输数据就很有必要。
例如,金融机构定时的上传包含各种报表的数据文件至数据仓库(可以是诸如云端、ftp服务端、sftp服务端等等),而其它监管方需要定期的从数据仓库中拉取数据。
这就带来一些问题,在数据量特别大的时候,监管方并不知道数据仓库中的哪些数据是新增的,哪些是之前已经存在的。从数据仓库中进行整体的数据拉取的过程中可能就会发生对某些文件重复拉取,数据传输的过程中有可能传输不完整而导致数据文件不可用等等。
基于此,本说明书实施例提供一种基于元数据同步的准确的数据传输方案,具体包括两个方面:第一方面,元数据的同步;第二方面,数据文件的拉取。对于第一方面,如图1所示,图1为本说明书实施例所提供的一种非结构化数据文件的元数据同步方法的流程示意图,包括:
S101,获取数据文件,生成所述数据文件的元数据记录,所述元数据记录中不包含序列号。
在这个部分的执行主体方可以是数据的提供方(例如,监管场景下的金融机构、银行等等),也可以是提供数据仓库服务的服务端。
获取的数据文件是指发生了更新的数据文件,具体包括:新增的数据文件,以及,内容发生了改变的数据文件。数据文件可以是诸如报表、文档、视频、图片等等非结构化数据。
获取得到的数据文件可以是多个,从而生成得到的数据文件的元数据记录也可以包含多个,即数据文件与元数据记录一一对应。
当然,也可以将多个数据文件视为一个整体文件,那么得到的元数据记录就是对应于该整体文件。例如,有多个金融机构都需要将各自的报表上传至数据数据仓库中,那么,可以将一个金融机构所更新的全量数据文件视为整体而得到对应于该全量数据文件的元数据记录,便于管理。
生成的元数据记录可以包含有多个字段,这些字段可以用于描述对应的数据文件的相关信息。以下给出一些示例性字段及其说明:
(1)序列号sequence_number:数据文件的顺序符号,在一个元数据记录还没有写入元数据索引文件之前,序列号为空。换言之,新生成的元数据记录中不包含序列号。
序列号可以是诸如自然数、整数、有序的字符串(例如,以英文字母的顺序的有序编码,或者英文字母和数字的有序混合编码)等等。只需各方可以根据序列号准确的识别出该序列号的顺序即可。
(2)完整性校验值:数据文件传输之前计算出描述其完整性的值并记录在元数据中,接收端收到数据文件后会重新计算该数值并与元数据记录中的该数值做一致性比对,选择是否接受该数据文件,若一致才接收,否则不接受,文件完整性校验值可以是诸如MD5、SHA1、file_crc64等方式生成。
(3)压缩策略compress:记录数据文件的压缩策略,在拉取方使用数据文件时可以根据压缩策略有针对地对数据文件进行解压缩操作。
(4)数据文件名object_name:记录数据文件在非结构存储(即前述的数据仓库)中的文件名,方便下游在数据仓库中找到该数据文件,在不同批次的数据文件中,可能存在相同文件名的数据文件。
(5)同步批次号batch_no:即,当存在多个数据文件的元数据记录需要进行同步时,可以将多个元数据记录在同一批次中进行同步。批次号是一次同步任务的唯一标识,可以使用时间戳作为批次号使用,换言之,批次号可以作为该元数据记录的生成时间点。
(6)加密策略encrypt:与压缩策略类似,数据的拉取方需要该信息以正确地解密(如果有进行过加密)数据文件。如果数据文件没有加密,则为空或者默认值。
(7)业务日期dt:描述数据文件被写入数据仓库的时间点。与批次号不同,即使同一天发生多次同步任务的情况,这个值都是不变的。
当然,在实际应用中,还可以根据需要在元数据的数据结构中加入其它描述性的信息,例如,数据来源方等等。
S103,确定元数据索引文件中的最大序列号。
元数据索引文件即用于写入元数据记录。如果一个元数据索引文件中还没有任何元数据记录,则此时可以对其初始化,认为最大序列号为初始化的默认值(例如,为0)。
在元数据索引文件中已经包含有多个元数据记录的情形下,其中的每个元数据记录的序列号都已经被确定,从而可以得到元数据索引文件中的最大序列号。
S105,给所述元数据记录赋予从所述最大序列号依次递增的序列号,生成包含序列号的元数据记录。
假设所述最大序列号为1000,新生成的元数据记录只有一条,则该新生成的元数据记录的序列号可以是1001。具体的递增数值可以基于实际需要自行确定,例如,以自然数序列依次进行递增。
如果数据文件存在多个,则生成的数据文件的元数据记录也会存在多条。例如,如果数据文件为3个,那么此时可以对于数据文件的元数据记录从最大序列号1000开始,依次编号为1001,1002,1003。显然,一条元数据记录中只会包含一个序列号,而且各序列号不会相同。
在有多个数据文件所对应的元数据记录时,各元数据记的序列号应当和数据文件的更新时间保持相关,在先更新的数据文件,序列号应当更小。
通过从最大序列号开始依次递增的编号,从而对于新增的数据记录的序列号,总是保持有对于最大序列号,以便数据的拉取方可以方便的识别得到新的元数据记录。
S107,将所述包含序列号的元数据记录合并至所述元数据索引文件中,生成新的元数据索引文件。
合并得到的新的元数据索引文件,应当覆盖掉之前的元数据索引文件。这样每当数据仓库中数据文件发生更新,就可以及时的更新元数据索引文件,从而利于数据文件的拉取方清楚的知晓哪些数据文件是发生了更新的。
显然,元数据索引文件中元数据记录的数量总是随着时间会增长。基于此,还可以基于业务需要,确定有效时间点,从所述元数据索引文件中删除生成时间在点所述有效时间点之前的元数据记录。例如,将有效时间点确定为系统时间的30天之前,每天的0点进行定期清除。从而可以对索引文件的无效信息进行及时清除。
需要说明的是,从元数据索引文件中删除元数据记录,并不一定会从数据仓库中删除掉对应的数据文件。
前述部分对于数据文件在发生更新时同步更新其对应的元数据记录,以及更新元数据索引文件进行了说明。在第二方面,本说明书实施例还提供一种基于前述的元数据索引文件的数据文件拉取方法,如图2所示,图2为本说明书实施例所提供的一种基于元数据索引文件的数据文件拉取方法的流程示意图,包括:
S201,获取元数据索引文件。
需要说明的是,此处的获取元数据索引文件是指从第一方面的执行端获取元数据索引文件。在实际应用中,由于第一方面的元数据索引文件是即时更新的,因此,获取得到的总是当前最新的元数据索引文件,即,其中包含了从上一次拉取到本次拉取期间所发生了更新的所有数据文件的元数据。
获取的方式可以是定期获取,例如,每天9点获取元数据索引文件,并开始执行数据文件拉取。
S203,对比获取得到的元数据索引文件与本地预存的元数据索引文件,确定出新增的元数据记录。
当本地还没有预存的元数据索引文件时(即初次下载时),则可以认为预存的元数据索引文件为空,因此可以将获取得到的元数据索引文件中的全部元数据记录作为新增的元数据记录。
在每次拉取之后,数据文件的拉取方即会在每次拉取完成之后保存获取得到的元数据索引文件。从而,本地所预存的元数据索引文件总是对应于已经拉取成功的数据文件,并且,其中不会包含有从上次拉取到本次拉取期间新增的元数据记录。换言之,本地预存的元数据索引文件即为上次拉取时从第一方面的执行端获取得到的元数据索引文件。
例如,假设拉取方式每天9点定时获取元数据索引文件并进行拉取,则昨天9点所获取得到的元数据索引文件中所包含的元数据记录中,不会包含昨天9点之后所更新的数据文件。从而本地预存的即为昨天9点时所对应的元数据索引文件。
基于此,可以将获取得到的元数据索引文件与本地预存的元数据索引文件,如果一个元数据记录在获取得到的元数据索引文件,而没有出现在本地预存的元数据索引文件中,则可以认定其为新的元数据记录。
在一种实施方式中,拉取方还可以直接确定本地预存的元数据索引文件的最大序列号并保存,从而可以直接从获取得到的元数据索引文件中的紧邻最大序列号的下一个序列号开始拉取。例如,本地预存的元数据索引文件的最大序列号最大序列号为100,则从获取得到的元数据索引文件中的序列号101的元数据记录开始拉取数据文件。
S205,按照所述新增的元数据记录的序列号,依序拉取所述元数据记录所对应的数据文件。
如前所述,从元数据索引文件中所得到的每个新增的元数据记录也都包含序列号。此时,则可以按照序列号的大小,从小到大按顺序读取文件。
如前所述序列号的大小是与数据文件的更新时间正相关,在先更新的数据文件,序列号应当更小。
例如,多个金融机构同时向数据仓库中上传数据文件,每个金融机构都各自上传了多个批次的数据文件,对于每个金融机构而言,它所上传的每个批次的数据文件中所包含的报表相同,但是内容不同。但是以最后上传的是作为最终版的。例如,金融机构需要每天上传当月的基本信息汇总,则在一个月内,虽然每天上传的报表格式和报表数量没有变化,但是每个报表的内容则是不同的,后一天的报表内容总是会新于前一天的报表内容,而且应当以后一天的报表内容为准。
那么如果将每批次的数据文件视为一个整体,就会在元数据索引文件中存在多条不同序号的元数据记录,由于后拉取得到报表会覆盖之前拉取得到的报表,如果不按照序号从小到大依次拉取(例如,随机拉取),就有可能发生多次拉取最后得到的报表内容不一致(即无法保持操作幂等性),也无法保持拉取得到的报表内容是最终版的。
而通过按照序号从小到大依次拉取,则无论什么时候拉取数据文件,都可以保证每次拉取得到的结果都是最新,即对于每个金融机构而言,得到的报表内容都是最新的,实现操作的幂等性。
S207,将本地预存的元数据索引文件替换为获取得到的元数据索引文件。
在拉取成功之后,既可以将本地预存的元数据索引文件替换为获取得到的元数据索引文件,以便下次还需要拉取数据文件时,可以使用替换后的元数据索引文件与从数据仓库方获取得到的的元数据索引文件进行对比。
在一种实施方式中,当所述元数据记录中还包含数据文件的完整性校验值时,对于一个数据文件拉取结束时,还可以计算拉取得到的数据文件的当前的完整性校验值,并验证所述当前的完整性校验值和所述元数据记录中该数据文件的完整性校验值的一致性,如果一致,说明传输没有错误,否则,说明传输过程中发生了错误,应当再次拉取或者拒绝接收拉取得到的数据文件,从而保证了数据文件的传输质量无误。
在一种实施方式中,当所述元数据记录中还包含有压缩策略或者加密策略时,拉取方还可以确定所述压缩策略所对应的解压策略,并解压缩所述元数据记录对应的数据文件,从而可以有效压缩传输数据的空间,提高效率;或者确定所述加密策略所对应的解密策略,并解密所述元数据记录对应的数据文件,从而在非结构化数据文件的传输场景下,可以基于用户的实际需要,便利的传输某些机密数据,避免数据泄露。
通过本说明书实施例所提供的方案,在数据文件发生更新时,确定出数据文件的元数据记录,进而从已经存在的元数据索引文件中查询出最大序列号,并对新的元数据记录从最大序列号开始依序递增的编号,然后合并得到新的元数据索引文件;在拉取方需要拉取数据文件之前,即获取这个新的元数据索引文件,并与本地的预存的进行对比,从而可以确定出发生了更新的数据文件的元数据记录,进而可以依序拉取更新的数据文件,保持了非结构化的数据文件传输中的幂等性。
与第一方面对应的,本说明书实施例还提供一种非结构化数据文件的元数据同步装置,如图3所示,图3为本说明书实施理所提供的一种非结构化数据文件的元数据同步装置的结构示意图,包括:
获取模块301,获取数据文件,生成所述数据文件的元数据记录,所述元数据记录中不包含序列号;
确定模块303,确定元数据索引文件中的最大序列号;
生成模块305,给所述元数据记录赋予从所述最大序列号依次递增的序列号,生成包含序列号的元数据记录;
更新模块307,将所述包含序列号的元数据记录合并至所述元数据索引文件中,生成新的元数据索引文件。
进一步地,当所述元数据中还包括生成时间点时,所述装置还包括删除模块309,确定出元数据的有效时间点,从所述元数据索引文件中删除生成时间在点所述有效时间点之前的元数据记录。
进一步地,所述生成模块305,确定所述数据文件的完整性校验值,生成所述数据文件的包含所述完整性校验值的元数据记录。
进一步地,所述生成模块305,确定所述数据文件的压缩策略或者加密策略,生成包含所述压缩策略或者加密策略的元数据记录。
与第二方面对应的,本说明书实施例还提供一种基于前述元数据索引文件的数据文件拉取装置,如图4所示,图4是本说明书实施例提供的一种基于前述元数据索引文件的数据文件拉取装置的结构示意图,包括:
获取模块401,获取元数据索引文件;
对比模块403,对比获取得到的元数据索引文件与本地预存的元数据索引文件,确定出新增的元数据记录;
拉取模块405,按照所述新增的元数据记录的序列号,依序拉取所述元数据记录所对应的数据文件。
进一步地,当所述元数据记录中还包含数据文件的完整性校验值时,所述装置还包括验证模块407,计算拉取得到的数据文件的当前的完整性校验值,并验证所述当前的完整性校验值和所述元数据记录中该数据文件的完整性校验值的一致性。
进一步地,所述元数据记录中还包含有压缩策略或者加密策略时,所述装置还包括确定模块409,确定所述压缩策略所对应的解压策略,并解压缩所述元数据记录对应的数据文件;或者确定所述加密策略所对应的解密策略,并解密所述元数据记录对应的数据文件。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图1所示的元数据同步方法。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图2所示的数据文件拉取方法。
图5示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图1所示的元数据同步方法。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图2所示的数据文件拉取方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。
Claims (15)
1.一种非结构化数据文件的元数据同步方法,包括:
获取数据文件,生成所述数据文件的元数据记录,所述元数据记录中不包含序列号;所述数据文件与所述元数据记录一一对应;
确定用于写入元数据记录的元数据索引文件中已有的元数据记录包含的序列号中的最大序列号;所述已有的元数据记录至少包括序列号;所述序列号用于表示与所述元数据记录对应的数据文件的顺序符号;给所述元数据记录赋予从所述最大序列号依次递增的序列号,生成包含序列号的元数据记录;
将所述包含序列号的元数据记录合并至所述元数据索引文件中,生成新的元数据索引文件,以使所述数据文件的拉取方基于所述新的元数据索引文件拉取所述数据文件。
2.如权利要求1所述的方法,当所述元数据中还包括生成时间点时,所述方法还包括:
确定有效时间点,从所述元数据索引文件中删除生成时间在点所述有效时间点之前的元数据记录。
3.如权利要求1所述的方法,生成所述数据文件的元数据记录,包括:
确定所述数据文件的完整性校验值,生成所述数据文件的包含所述完整性校验值的元数据记录。
4.如权利要求1所述的方法,生成所述数据文件的元数据记录,包括:
确定所述数据文件的压缩策略或者加密策略,生成包含所述压缩策略或者加密策略的元数据记录。
5.一种基于权利要求1所述的元数据索引文件的数据文件拉取方法,包括:
获取元数据索引文件;
对比获取得到的元数据索引文件与本地预存的元数据索引文件,确定出新增的元数据记录;
按照所述新增的元数据记录的序列号,依序拉取所述元数据记录所对应的数据文件;
将本地预存的元数据索引文件替换为获取得到的元数据索引文件。
6.如权利要求5所述的方法,当所述元数据记录中还包含数据文件的完整性校验值时,所述方法还包括:
计算拉取得到的数据文件的当前的完整性校验值,并验证所述当前的完整性校验值和所述元数据记录中该数据文件的完整性校验值的一致性。
7.如权利要求5所述的方法,当所述元数据记录中还包含有压缩策略或者加密策略时,所述方法还包括:
确定所述压缩策略所对应的解压策略,并解压缩所述元数据记录对应的数据文件;或者确定所述加密策略所对应的解密策略,并解密所述元数据记录对应的数据文件。
8.一种非结构化数据文件的元数据同步装置,包括:
获取模块,获取数据文件,生成所述数据文件的元数据记录,所述元数据记录中不包含序列号;所述数据文件与所述元数据记录一一对应;
确定模块,确定用于写入元数据记录的元数据索引文件中已有的元数据记录包含的序列号中的最大序列号;所述已有的元数据记录至少包括序列号;所述序列号用于表示与所述元数据记录对应的数据文件的顺序符号;
生成模块,给所述元数据记录赋予从所述最大序列号依次递增的序列号,生成包含序列号的元数据记录;
更新模块,将所述包含序列号的元数据记录合并至所述元数据索引文件中,生成新的元数据索引文件,以使所述数据文件的拉取方基于所述新的元数据索引文件拉取所述数据文件。
9.如权利要求8所述的装置,当所述元数据中还包括生成时间点时,所述装置还包括删除模块,确定出元数据的有效时间点,从所述元数据索引文件中删除生成时间在点所述有效时间点之前的元数据记录。
10.如权利要求8所述的装置,所述生成模块,确定所述数据文件的完整性校验值,生成所述数据文件的包含所述完整性校验值的元数据记录。
11.如权利要求8所述的装置,所述生成模块,确定所述数据文件的压缩策略或者加密策略,生成包含所述压缩策略或者加密策略的元数据记录。
12.一种基于权利要求1所述的元数据索引文件的数据文件拉取装置,包括:
获取模块,获取元数据索引文件;
对比模块,对比获取得到的元数据索引文件与本地预存的元数据索引文件,确定出新增的元数据记录;
拉取模块,按照所述新增的元数据记录的序列号,依序拉取所述元数据记录所对应的数据文件。
13.如权利要求12所述的装置,当所述元数据记录中还包含数据文件的完整性校验值时,所述装置还包括验证模块,计算拉取得到的数据文件的当前的完整性校验值,并验证所述当前的完整性校验值和所述元数据记录中该数据文件的完整性校验值的一致性。
14.如权利要求12所述的装置,当所述元数据记录中还包含有压缩策略或者加密策略时,所述装置还包括确定模块,确定所述压缩策略所对应的解压策略,并解压缩所述元数据记录对应的数据文件;或者确定所述加密策略所对应的解密策略,并解密所述元数据记录对应的数据文件。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010313546.8A CN111522784B (zh) | 2020-04-20 | 2020-04-20 | 一种非结构化数据文件的元数据同步方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010313546.8A CN111522784B (zh) | 2020-04-20 | 2020-04-20 | 一种非结构化数据文件的元数据同步方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111522784A CN111522784A (zh) | 2020-08-11 |
CN111522784B true CN111522784B (zh) | 2023-11-21 |
Family
ID=71904116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010313546.8A Active CN111522784B (zh) | 2020-04-20 | 2020-04-20 | 一种非结构化数据文件的元数据同步方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111522784B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015798B (zh) * | 2020-09-24 | 2023-12-05 | 中盈优创资讯科技有限公司 | 一种保证数据不重复和延迟监控的数据处理方法及装置 |
CN112306965A (zh) * | 2020-10-02 | 2021-02-02 | 中盈优创资讯科技有限公司 | 数据写入存储方法、装置、设备和计算机可读存储介质 |
CN112632159B (zh) * | 2020-12-01 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 数据库访问控制方法及装置、电子设备、存储介质 |
CN112866763B (zh) * | 2020-12-28 | 2023-05-26 | 网宿科技股份有限公司 | Hls多码率流切片的序列号生成方法、服务器及存储介质 |
CN116821146B (zh) * | 2023-08-31 | 2023-12-08 | 杭州玳数科技有限公司 | 一种基于Apache Iceberg的数据表列更新方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372002A (zh) * | 2016-08-31 | 2017-02-01 | 成都科来软件有限公司 | 一种数据存储方法及读取还原方法 |
CN106708842A (zh) * | 2015-11-12 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种应用系统加载数据的方法和数据库、应用系统 |
CN110554834A (zh) * | 2018-06-01 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 文件系统数据访问方法和文件系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050234984A1 (en) * | 2004-04-07 | 2005-10-20 | Rogerson Dale E | Periodic dynamic updating of content and metadata on a client |
US10437521B2 (en) * | 2016-03-25 | 2019-10-08 | Netapp, Inc. | Consistent method of indexing file system information |
-
2020
- 2020-04-20 CN CN202010313546.8A patent/CN111522784B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708842A (zh) * | 2015-11-12 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种应用系统加载数据的方法和数据库、应用系统 |
CN106372002A (zh) * | 2016-08-31 | 2017-02-01 | 成都科来软件有限公司 | 一种数据存储方法及读取还原方法 |
CN110554834A (zh) * | 2018-06-01 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 文件系统数据访问方法和文件系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111522784A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522784B (zh) | 一种非结构化数据文件的元数据同步方法、装置及设备 | |
CN109902071B (zh) | 业务日志存储方法、系统、装置及设备 | |
CN109902086B (zh) | 一种索引创建方法、装置及设备 | |
CN110163006B (zh) | 一种块链式账本中的签名验证方法、系统、装置及设备 | |
US10791122B2 (en) | Blockchain user account data | |
CN106843978B (zh) | 一种sdk接入方法及系统 | |
CN110162662A (zh) | 一种块链式账本中数据记录的验证方法、装置及设备 | |
CN113726751B (zh) | 一种块链式账本中的权重管理方法、装置及设备 | |
CN110334153B (zh) | 块链式账本中的授权方法、系统、装置及设备 | |
CN110474775B (zh) | 一种块链式账本中的用户创建方法、装置及设备 | |
CN106161336A (zh) | 一种信息更新方法、装置及系统 | |
CN110347674A (zh) | 一种基于业务标识的索引创建方法、装置及设备 | |
CN110266494B (zh) | 一种块链式账本中的授时认证方法、装置及设备 | |
CN110162523A (zh) | 数据存储方法、系统、装置及设备 | |
US10936734B2 (en) | Blockchain authorization | |
CN110046281B (zh) | 一种数据添加方法、装置及设备 | |
CN111226209A (zh) | 在基于区块链的系统中执行映射迭代 | |
CN110059084A (zh) | 一种数据存储方法、装置及设备 | |
CN111669434B (zh) | 一种通信群组的建立方法、系统、装置及设备 | |
CN110347678B (zh) | 一种金融数据的存储方法、系统、装置及设备 | |
CN110362568B (zh) | 一种针对块链式账本的压缩方法、装置及设备 | |
CN111625232B (zh) | 应用程序安装包的生成方法、装置、可读介质和电子设备 | |
CN108985109B (zh) | 一种数据存储方法及装置 | |
CN110362570B (zh) | 一种数据存储方法、装置及设备 | |
CN112507014B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40036317 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |