CN106528866A - 一种更新元数据的方法、装置和系统 - Google Patents
一种更新元数据的方法、装置和系统 Download PDFInfo
- Publication number
- CN106528866A CN106528866A CN201611095492.2A CN201611095492A CN106528866A CN 106528866 A CN106528866 A CN 106528866A CN 201611095492 A CN201611095492 A CN 201611095492A CN 106528866 A CN106528866 A CN 106528866A
- Authority
- CN
- China
- Prior art keywords
- metadata
- message
- data cached
- feedback information
- cached
- 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.)
- Pending
Links
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/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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种更新元数据的方法、装置和系统,通过确定缓存数据以及缓存数据对应的元数据,对确定的元数据进行缓存,当缓存的元数据达到更新条件时,利用缓存的元数据生成报文,将报文发送给外部的元数据服务器,以通过报文更新外部的元数据服务器存储的元数据。由于该方法先对元数据进行缓存,并利用缓存的元数据生成报文,使元数据服务器频繁更新的过程,变为一次更新,有效的降低了元数据服务器更新频率,从而能提高系统效能。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种更新元数据的方法、装置和系统。
背景技术
元数据,又称中介数据、中继数据,是一种描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
在大部分应用中,比如在使用社交购物网站、广电、网络视频等会产生文本、图片、音乐等大量的小内存文件,在对每一个小内存文件进行写入时,均要将每一个小内存文件对应的元数据更新至元数据服务器。
但是,小内存文件流动快,操作频繁,造成元数据服务器频繁更新,使系统效能较低。
发明内容
本发明实施例提供了一种更新元数据的方法、装置和系统,能提高系统效能。
第一方面,本发明实施例提供了一种更新元数据的方法,该方法包括:
确定缓存数据以及所述缓存数据对应的元数据;
对所述元数据进行缓存;
当缓存的所述元数据达到更新条件时,利用缓存的所述元数据生成报文;
将所述报文发送给外部的元数据服务器,以通过所述报文更新所述外部的元数据服务器存储的元数据。
优选地,所述利用缓存的所述元数据生成报文,包括:
将缓存的所述元数据聚合成聚合文件;
针对所述聚合文件,循环执行下述N1和N2,直到所述聚合文件中的所有元数据全部被抽取出:
N1:根据预先设定的数量标准,从所述聚合文件中抽取与所述数量标准相应数量的被抽取元数据;
N2:将抽取的所述被抽取元数据组合,生成报文。
优选地,在所述将所述报文发送给所述元数据服务器之后,进一步包括:
接收所述外部的元数据服务器发送的更新结果,解析所述更新结果中每一个所述元数据对应的反馈信息;
针对每一个所述元数据对应的反馈信息,执行:
S1:若所述反馈信息为更新成功,则执行S2,若所述反馈信息为重新发送,则执行S3;
S2:将所述反馈信息对应的元数据在本地进行同步更新,并结束当前流程;
S3:将所述反馈信息对应的元数据放入重发包,当所述重发包达到更新阈值时,发送所述重发包给所述元数据服务器。
优选地,所述当所述重发包达到更新阈值时,发送所述重发包给所述元数据服务器,包括:以预先设置的时间间隔为周期,周期性地发送所述重发包给所述元数据服务器。
优选地,所述当所述重发包达到更新阈值时,发送所述重发包给所述元数据服务器,包括:当所述重发包中的元数据的数量达到所述数量标准时,发送所述重发包给所述元数据服务器。
优选地,在所述确定缓存数据之后,进一步包括:
将所述缓存数据缓存至缓存数据包,当所述缓存数据包的大小达到预先设定的内存时,将所述缓存数据包写入外部数据库。
优选地,在所述确定缓存数据之前,进一步包括:
将所述缓存数据缓存至缓存数据包,当所述缓存数据包的缓存时长达到预先设定的时长时,将所述缓存数据包写入所述外部数据库。
优选地,所述当缓存的所述元数据达到更新条件时,利用缓存的所述元数据生成报文,包括:
当接收到所述外部数据库发送的写入反馈信息时,根据所述写入反馈信息,确定发送成功的目标缓存数据包,将缓存到所述目标缓存数据包中的缓存数据对应的元数据组合成报文。
第二方面,本发明实施例提供了一种更新元数据的装置,该更新元数据的装置包括:元数据缓存单元、报文生成单元和更新单元,其中,
所述元数据缓存单元,用于确定缓存数据以及所述缓存数据对应的元数据,并对所述元数据进行缓存;
所述报文生成单元,用于当所述元数据缓存单元缓存的所述元数据达到更新条件时,利用所述元数据缓存单元缓存的所述元数据生成报文;
所述更新单元,用于将所述报文生成单元生成的报文发送给外部的元数据服务器,以通过所述报文更新所述外部的元数据服务器存储的元数据。
优选地,所述报文生成单元,包括:聚合子单元和生成子单元,其中,
所述聚合子单元,用于将所述元数据缓存单元缓存的所述元数据聚合成聚合文件;
所述生成子单元,用于针对所述聚合子单元聚合成的聚合文件,循环执行下述N1和N2,直到所述聚合文件中的所有元数据全部被抽取出:
N1:根据预先设定的数量标准,从所述聚合文件中抽取与所述数量标准相应数量的被抽取元数据;
N2:将抽取的所述被抽取元数据组合,生成报文。
优选地,该更新元数据的装置进一步包括:接收单元和处理单元,其中,
所述接收单元,用于接收所述外部的元数据服务器发送的更新结果,解析所述更新结果中每一个所述元数据对应的反馈信息;
所述处理单元,用于针对每一个所述元数据对应的反馈信息,执行:
S1:若所述反馈信息为更新成功,则执行S2,若所述反馈信息为重新发送,则执行S3;
S2:将所述反馈信息对应的元数据在本地进行同步更新,并结束当前流程;
S3:将所述反馈信息对应的元数据放入重发包,当所述重发包达到更新阈值时,发送所述重发包给所述元数据服务器。
优选地,所述处理单元,用于以预先设置的时间间隔为周期,周期性地发送所述重发包给所述元数据服务器。
优选地,所述处理单元,用于当所述重发包中的元数据的数量达到所述数量标准时,发送所述重发包给所述元数据服务器。
优选地,该更新元数据的装置进一步包括:写入单元,用于将所述元数据缓存单元确定出的缓存数据缓存至缓存数据包,当所述缓存数据包的大小达到预先设定的内存时,将所述缓存数据包写入外部数据库。
优选地,该更新元数据的装置进一步包括:写入单元,用于将所述元数据缓存单元确定出的缓存数据缓存至缓存数据包,当所述缓存数据包的缓存时长达到预先设定的时长时,将所述缓存数据包写入所述外部数据库。
第三方面,本发明实施例提供了一种更新元数据的系统,该更新元数据的系统包括:元数据服务器和上述任一所述的更新元数据的装置,其中,
所述元数据服务器,用于通过所述更新元数据的装置发送的报文更新元数据。
本发明实施例提供了一种更新元数据的方法、装置和系统,通过确定缓存数据以及缓存数据对应的元数据,对确定的元数据进行缓存,当缓存的元数据达到更新条件时,利用缓存的元数据生成报文,将报文发送给外部的元数据服务器,以通过报文更新外部的元数据服务器存储的元数据。由于该方法先对元数据进行缓存,并利用缓存的元数据生成报文,使元数据服务器频繁更新的过程,变为一次更新,有效的降低了元数据服务器更新频率,从而能提高系统效能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种更新元数据的方法的流程图;
图2是本发明一个实施例提供的另一种更新元数据的方法的流程图;
图3是本发明一个实施例提供的一种更新元数据的装置的结构示意图;
图4是本发明一个实施例提供的另一种更新元数据的装置的结构示意图;
图5是本发明一个实施例提供的又一种更新元数据的装置的结构示意图;
图6是本发明一个实施例提供的一种更新元数据的系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种更新元数据的方法,该方法可以包括以下步骤:
步骤101:确定缓存数据以及所述缓存数据对应的元数据。
步骤102:对所述元数据进行缓存。
步骤103:当缓存的所述元数据达到更新条件时,利用缓存的所述元数据生成报文。
步骤104:将所述报文发送给外部的元数据服务器,以通过所述报文更新所述外部的元数据服务器存储的元数据。
在图1所示的实施例中,通过确定缓存数据以及缓存数据对应的元数据,对确定的元数据进行缓存,当缓存的元数据达到更新条件时,利用缓存的元数据生成报文,将报文发送给外部的元数据服务器,以通过报文更新外部的元数据服务器存储的元数据。由于该方法先对元数据进行缓存,并利用缓存的元数据生成报文,使元数据服务器频繁更新的过程,变为一次更新,有效的降低了元数据服务器更新频率,从而能提高系统效能。
值得说明的是,元数据达到更新条件可以是该元数据对应的缓存数据已经写入完成。
在本发明一个实施例中,为了确保每个元数据均被更新,所述利用缓存的所述元数据生成报文,包括:
将缓存的所述元数据聚合成聚合文件;
针对所述聚合文件,循环执行下述N1和N2,直到所述聚合文件中的所有元数据全部被抽取出:
N1:根据预先设定的数量标准,从所述聚合文件中抽取与所述数量标准相应数量的被抽取元数据;
N2:将抽取的所述被抽取元数据组合,生成报文。
在该实施例中,由于元数据服务器运行能力的不同以及数据读写频率的不同,用户可以根据实际情况对数量标准进行设定。例如,数量标准可以是35个,50个,70个等。
在本发明一个实施例中,由于可能存在元数据服务器更新失败的情况,因此需要对元数据服务器的更新结果进行解析。在所述将所述报文发送给所述元数据服务器之后,进一步包括:接收所述外部的元数据服务器发送的更新结果,解析所述更新结果中每一个所述元数据对应的反馈信息;
针对每一个所述元数据对应的反馈信息,执行:
S1:若所述反馈信息为更新成功,则执行S2,若所述反馈信息为重新发送,则执行S3;
S2:将所述反馈信息对应的元数据在本地进行同步更新,并结束当前流程;
S3:将所述反馈信息对应的元数据放入重发包,当所述重发包达到更新阈值时,发送所述重发包给所述元数据服务器。
在该实施例中,由于元数据服务器的运行能力有限,所以在对元数据更新的时候,可能会出现元数据服务器处于忙碌的状态,从而造成无法对元数据更新,此时元数据服务器就会反馈重新发送的信息。
值得说明的是,元数据服务器更新元数据的过程,也是元数据服务器对元数据进行校验,认定的过程。因此会出现元数据检验未通过的情况,此时,元数据服务器则会反馈错误信息,并会写入工作日志。
在本发明一个实施例中,所述当所述重发包达到更新阈值时,发送所述重发包给所述元数据服务器,包括:以预先设置的时间间隔为周期,周期性地发送所述重发包给所述元数据服务器;
或者,
当所述重发包中的元数据的数量达到所述数量标准时,发送所述重发包给所述元数据服务器。
在该实施例中,用户可以根据元数据服务器的性能以及用户自身的偏好,对重发机制进行设定,在此可以设定更新时间的阈值。例如,时间间隔可以是3s、5s、10s等等。若更新时间为5s,则重发包每5s被重发一次。除此之外,用户可以根据元数据服务器的性能以及用户自身的偏好,还可以对重发包中的元数据的数量进行数量阈值的设定,当重发包中元数据的数量达到数量阈值时,则发送重发包。
值得说明的是,将数量标准作为重发包中元数据的数量阈值只是一种情况,重发包中的元数据的数量阈值也可以不与数量标准相同。
在本发明一个实施例中,为了减少元数据服务器的更新频率,在所述确定缓存数据之后,进一步包括:将所述缓存数据缓存至缓存数据包,当所述缓存数据包的大小达到预先设定的内存时,将所述缓存数据包写入外部数据库;
或者,
将所述缓存数据缓存至缓存数据包,当所述缓存数据包的缓存时长达到预先设定的时长时,将所述缓存数据包写入所述外部数据库。
在该实施例中,每一个缓存数据对应一个元数据。例如,在Ceph文件系统中,当客户端批量写入小文件(比如社交购物网站、广电、网络视频等产生文本、图片、音乐等大量小文件)时,每一个小文件写入客户端都会发送元数据更新到元数据服务器,使得元数据服务器在通信以及处理的开销比较大。因此可以将缓存数据以紧密方式对齐写成一个数据包,当数据包达到一定大小再写入数据库。而对于预先设定的内存,用户可以根据实际情况进行设定。例如,预先设定的内存为2M、4M、5M等等。但是,对于缓存数据少时仍使用预先设定的内存进行缓存数据的写入,则不太现实,此时可以对缓存数据包的缓存时长进行设定,缓存数据包的缓存时长达到一定的时间就开始写入。例如,可以设定缓存包的缓存时长为5s,则缓存包的缓存时长达到5s,就开始写入数据库。
在本发明一个实施例中,为了确保更新的元数据的准确性,所述当缓存的所述元数据达到更新条件时,利用缓存的所述元数据生成报文,包括:
当接收到所述外部数据库发送的写入反馈信息时,根据所述写入反馈信息,确定发送成功的目标缓存数据包,将缓存到所述目标缓存数据包中的缓存数据对应的元数据组合成报文。
在该实施例中,缓存数据包写入外部数据库成功后,外部数据库会发送写入成功的反馈信息,从而也就能够确定发送成功的目标缓存数据包。同时也只有目标缓存数据包中的缓存数据所对应的元数据才达到更新条件,可以继续进行更新流程,而没有被写入外部数据库的缓存数据对应的元数据,则没有达到更新条件,不可以继续进行更新流程,从而确保元数据更新的准确性。
如图2所示,本发明实施例提供了一种更新元数据的方法,该方法可以包括以下步骤:
步骤201:确定缓存数据以及缓存数据对应的元数据。
在该步骤中,没产生一个缓存数据,则相应的会产生一个元数据,并缓存数据和元数据一一对应。也可以将缓存数据缓存至缓存数据包,当缓存数据包的缓存时长达到预先设定的时长时,将缓存数据包写入外部数据库。
步骤202:将缓存数据缓存至缓存数据包,当缓存数据包的大小达到4M时,将缓存数据包写入外部数据库。
在该步骤中,用户可以根据自身偏好,更改缓存数据包的大小,可以是3M、6M等等。并且也可以将缓存数据缓存至缓存数据包,当缓存数据包的缓存时长达到预先设定的时长时,将缓存数据包写入外部数据库。
步骤203:对元数据进行缓存。
步骤204:当接收到外部数据库发送的写入反馈信息时,根据写入反馈信息,确定发送成功的目标缓存数据包,将目标缓存数据包中的缓存数据对应的元数据聚合成聚合文件。
在该步骤中,缓存数据包写入外部数据库成功后,外部数据库会发送写入成功的反馈信息,从而也就能够确定发送成功的目标缓存数据包。同时也只有目标缓存数据包中的缓存数据所对应的元数据才达到更新条件,可以继续进行更新流程,而没有被写入外部数据库的缓存数据对应的元数据,则没有达到更新条件,不可以继续进行更新流程。
步骤205:从聚合文件中抽取50个被抽取元数据。
在该步骤中,需要根据预先设定的数量标准进行抽取元数据,而数量标准可以根据用户的偏好和元数据服务器的运行能力进行自行设定。例如,数量标准还可以是45个、62个等等。聚合文件中含有310个元数据,则需要从聚合文件中抽取7次。
步骤206:将50个被抽取元数据组合,生成报文。
步骤207:针对聚合文件,判断聚合文件中的元数据是否全部被抽取出,若是,执行步骤208,否则执行步骤205。
在该步骤中,由于设定的数量标准是50个,而聚合文件中的元数据则可能不等于50,于是需要多次抽取。例如聚合文件中含有310个元数据,每次抽取50个,则需要从聚合文件中抽取7次。
步骤208:将报文发送给外部的元数据服务器。
步骤209:接收外部的元数据服务器发送的更新结果,解析更新结果中每一个元数据对应的反馈信息。
在该步骤中,元数据服务器更新元数据的过程,也是元数据服务器对元数据进行校验,认定的过程。因此元数据服务器进行元数据更新会出现多种情况,则会反馈多种不同的反馈信息。
步骤210:针对每一个元数据对应的反馈信息,若反馈信息为更新成功,则执行步骤211,若反馈信息为重新发送,则执行步骤212。
步骤211:将反馈信息对应的元数据在本地进行同步更新,并结束当前流程。
步骤212:将反馈信息对应的元数据放入重发包,当重发包达到更新阈值时,发送重发包给元数据服务器,并执行步骤209。
在该步骤中,重发包的阈值可以是时间阈值也可以是数量阈值,当为时间阈值时,以预先设置的时间间隔为周期,周期性地发送所述重发包给所述元数据服务器;当为数量阈值时,当所述重发包中的元数据的数量达到所述数量标准时,发送所述重发包给所述元数据服务器。
如图3所示,本发明实施例提供了一种更新元数据的装置,该更新元数据的装置可以包括:元数据缓存单元301、报文生成单元302和更新单元303,其中,
所述元数据缓存单元301,用于确定缓存数据以及所述缓存数据对应的元数据,并对所述元数据进行缓存;
所述报文生成单元302,用于当所述元数据缓存单元301缓存的所述元数据达到更新条件时,利用所述元数据缓存单元301缓存的所述元数据生成报文;
所述更新单元303,用于将所述报文发送给外部的元数据服务器,以通过所述报文更新所述外部的元数据服务器存储的元数据。
在该实施例中,通过元数据缓存单元确定缓存数据以及缓存数据对应的元数据,并对确定的元数据进行缓存,当元数据缓存单元缓存的元数据达到更新条件时,报文生成单元利用缓存的元数据生成报文,最后由更新单元将报文发送给外部的元数据服务器,以通过报文更新外部的元数据服务器存储的元数据。由于该装置先对元数据进行缓存,并利用缓存的元数据生成报文,使元数据服务器频繁更新的过程,变为一次更新,有效的降低了元数据服务器更新频率,从而能提高系统效能。
如图4所示,在本发明一个实施例中,为了确保每个元数据均被更新,所述报文生成单元302,包括:聚合子单元3021和生成子单元3022,其中,
所述聚合子单元3021,用于将所述元数据缓存单元301缓存的所述元数据聚合成聚合文件;
所述生成子单元3022,用于针对所述聚合子单元聚合成3021的聚合文件,循环执行下述N1和N2,直到所述聚合文件中的所有元数据全部被抽取出:
N1:根据预先设定的数量标准,从所述聚合文件中抽取与所述数量标准相应数量的被抽取元数据;
N2:将抽取的所述被抽取元数据组合,生成报文。
如图5所示,在本发明一个实施例中,由于可能存在元数据服务器更新失败的情况,因此需要对元数据服务器的更新结果进行解析。该更新元数据的装置可以进一步包括:接收单元501和处理单元502,其中,
所述接收单元501,用于接收所述外部的元数据服务器发送的更新结果,解析所述更新结果中每一个所述元数据对应的反馈信息;
所述处理单元502,用于针对每一个所述元数据对应的反馈信息,执行:
S1:若所述反馈信息为更新成功,则执行S2,若所述反馈信息为重新发送,则执行S3;
S2:将所述反馈信息对应的元数据在本地进行同步更新,并结束当前流程;
S3:将所述反馈信息对应的元数据放入重发包,当所述重发包达到更新阈值时,发送所述重发包给所述元数据服务器。
在本发明一个实施例中,所述处理单元502,具体用于:以预先设置的时间间隔为周期,周期性地发送所述重发包给所述元数据服务器,或者,当所述重发包中的元数据的数量达到所述数量标准时,发送所述重发包给所述元数据服务器。
在本发明一个实施例中,为了减少元数据服务器的更新频率,该更新元数据的装置可以进一步包括:写入单元(未在图中示出),用于:将所述缓存数据缓存至缓存数据包,当所述缓存数据包的大小达到预先设定的内存时,将所述缓存数据包写入外部数据库,或者,将所述缓存数据缓存至缓存数据包,当所述缓存数据包的缓存时长达到预先设定的时长时,将所述缓存数据包写入所述外部数据库。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
如图6所示,本发明实施例提供了一种更新元数据的系统,该更新元数据的系统可以包括:元数据服务器601和上述任一实施例中所述的更新元数据的装置602,其中,
所述元数据服务器601,用于通过所述更新元数据的装置602发送的报文更新元数据。
综上,本发明的各实施例,至少具有如下有益效果:
1、在本发明实施例中,通过确定缓存数据以及缓存数据对应的元数据,对确定的元数据进行缓存,当缓存的元数据达到更新条件时,利用缓存的元数据生成报文,将报文发送给外部的元数据服务器,以通过报文更新外部的元数据服务器存储的元数据。由于该方法先对元数据进行缓存,并利用缓存的元数据生成报文,使元数据服务器频繁更新的过程,变为一次更新,有效的降低了元数据服务器更新频率,从而能提高系统效能。
2、在本发明实施例中,通过将元数据聚合成聚合文件,根据元数据服务器的运行能力,从中抽取一定数量的元数据进行批量更新,有效的较少了元数据服务器的更新次数,从而能够进一步提高系统效能。
3、在本发明实施例中,通过对元数据服务器发送的更新结果进行解析,一方面可以为在元数据服务器上更新的元数据在本地进行同步更新,另一方面可以为在元数据服务器上未更新的元数据进行重发或者舍弃。
4、在本发明实施例中,通过将缓存数据先写入缓存数据包,在达到写入数据库的条件时,才进行批量写入,从而对缓存数据进行批量更新,能够有效地减少系统读写数据压力,从而能够进一步提高系统效能。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种更新元数据的方法,其特征在于,包括:
确定缓存数据以及所述缓存数据对应的元数据;
对所述元数据进行缓存;
当缓存的所述元数据达到更新条件时,利用缓存的所述元数据生成报文;
将所述报文发送给外部的元数据服务器,以通过所述报文更新所述外部的元数据服务器存储的元数据。
2.根据权利要求1所述的方法,其特征在于,所述利用缓存的所述元数据生成报文,包括:
将缓存的所述元数据聚合成聚合文件;
针对所述聚合文件,循环执行下述N1和N2,直到所述聚合文件中的所有元数据全部被抽取出:
N1:根据预先设定的数量标准,从所述聚合文件中抽取与所述数量标准相应数量的被抽取元数据;
N2:将抽取的所述被抽取元数据组合,生成报文。
3.根据权利要求1或2所述的方法,其特征在于,
在所述将所述报文发送给所述元数据服务器之后,进一步包括:
接收所述外部的元数据服务器发送的更新结果,解析所述更新结果中每一个所述元数据对应的反馈信息;
针对每一个所述元数据对应的反馈信息,执行:
S1:若所述反馈信息为更新成功,则执行S2,若所述反馈信息为重新发送,则执行S3;
S2:将所述反馈信息对应的元数据在本地进行同步更新,并结束当前流程;
S3:将所述反馈信息对应的元数据放入重发包,当所述重发包达到更新阈值时,发送所述重发包给所述元数据服务器。
4.根据权利要求3所述的方法,其特征在于,所述当所述重发包达到更新阈值时,发送所述重发包给所述元数据服务器,包括:
以预先设置的时间间隔为周期,周期性地发送所述重发包给所述元数据服务器;
或者,
当所述重发包中的元数据的数量达到所述数量标准时,发送所述重发包给所述元数据服务器。
5.根据权利要求1至4中任一所述的方法,其特征在于,在所述确定缓存数据之后,进一步包括:
将所述缓存数据缓存至缓存数据包,当所述缓存数据包的大小达到预先设定的内存时,将所述缓存数据包写入外部数据库;
或者,
将所述缓存数据缓存至缓存数据包,当所述缓存数据包的缓存时长达到预先设定的时长时,将所述缓存数据包写入所述外部数据库。
6.根据权利要求5所述的方法,其特征在于,所述当缓存的所述元数据达到更新条件时,利用缓存的所述元数据生成报文,包括:
当接收到所述外部数据库发送的写入反馈信息时,根据所述写入反馈信息,确定发送成功的目标缓存数据包,将缓存到所述目标缓存数据包中的缓存数据对应的元数据组合成报文。
7.一种更新元数据的装置,其特征在于,包括:元数据缓存单元、报文生成单元和更新单元,其中,
所述元数据缓存单元,用于确定缓存数据以及所述缓存数据对应的元数据,并对所述元数据进行缓存;
所述报文生成单元,用于当所述元数据缓存单元缓存的所述元数据达到更新条件时,利用所述元数据缓存单元缓存的所述元数据生成报文;
所述更新单元,用于将所述报文生成单元生成的报文发送给外部的元数据服务器,以通过所述报文更新所述外部的元数据服务器存储的元数据。
8.根据权利要求7所述的装置,其特征在于,所述报文生成单元,包括:聚合子单元和生成子单元,其中,
所述聚合子单元,用于将所述元数据缓存单元缓存的所述元数据聚合成聚合文件;
所述生成子单元,用于针对所述聚合子单元聚合成的聚合文件,循环执行下述N1和N2,直到所述聚合文件中的所有元数据全部被抽取出:
N1:根据预先设定的数量标准,从所述聚合文件中抽取与所述数量标准相应数量的被抽取元数据;
N2:将抽取的所述被抽取元数据组合,生成报文;
和/或,
进一步包括:接收单元和处理单元,其中,
所述接收单元,用于接收所述外部的元数据服务器发送的更新结果,解析所述更新结果中每一个所述元数据对应的反馈信息;
所述处理单元,用于针对每一个所述元数据对应的反馈信息,执行:
S1:若所述反馈信息为更新成功,则执行S2,若所述反馈信息为重新发送,则执行S3;
S2:将所述反馈信息对应的元数据在本地进行同步更新,并结束当前流程;
S3:将所述反馈信息对应的元数据放入重发包,当所述重发包达到更新阈值时,发送所述重发包给所述元数据服务器。
9.根据权利要求7或8所述的装置,其特征在于,进一步包括:写入单元,用于:
将所述元数据缓存单元确定出的缓存数据缓存至缓存数据包,当所述缓存数据包的大小达到预先设定的内存时,将所述缓存数据包写入外部数据库;
或者,
将所述元数据缓存单元确定出的缓存数据缓存至缓存数据包,当所述缓存数据包的缓存时长达到预先设定的时长时,将所述缓存数据包写入所述外部数据库。
10.一种更新元数据的系统,其特征在于,包括:元数据服务器和权利要求7至9中任一所述的更新元数据的装置,其中,
所述元数据服务器,用于通过所述更新元数据的装置发送的报文更新元数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611095492.2A CN106528866A (zh) | 2016-12-02 | 2016-12-02 | 一种更新元数据的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611095492.2A CN106528866A (zh) | 2016-12-02 | 2016-12-02 | 一种更新元数据的方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106528866A true CN106528866A (zh) | 2017-03-22 |
Family
ID=58354682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611095492.2A Pending CN106528866A (zh) | 2016-12-02 | 2016-12-02 | 一种更新元数据的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106528866A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193492A (zh) * | 2017-05-18 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种小文件更新的方法及装置 |
CN107197050A (zh) * | 2017-07-27 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种分布式存储系统中文件写入的方法及系统 |
CN107506147A (zh) * | 2017-08-29 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种保持元数据一致性的方法及系统 |
CN108874319A (zh) * | 2018-06-27 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种元数据更新方法、装置、设备及可读存储介质 |
CN111488128A (zh) * | 2019-12-30 | 2020-08-04 | 北京浪潮数据技术有限公司 | 一种元数据的更新方法、装置、设备及介质 |
CN114338556A (zh) * | 2022-01-07 | 2022-04-12 | 南昌济铃新能源科技有限责任公司 | 一种can网络和车载以太网间的报文转发方法及网关系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697168A (zh) * | 2009-10-22 | 2010-04-21 | 中国科学技术大学 | 一种分布式文件系统动态元数据管理方法及系统 |
CN101866359A (zh) * | 2010-06-24 | 2010-10-20 | 北京航空航天大学 | 一种机群文件系统中的小文件存储和访问方法 |
CN102546751A (zh) * | 2011-12-06 | 2012-07-04 | 华中科技大学 | 一种分布式文件系统分级元数据缓存控制方法 |
CN103179185A (zh) * | 2012-12-25 | 2013-06-26 | 中国科学院计算技术研究所 | 一种分布式文件系统客户端缓存中文件创建方法及其系统 |
-
2016
- 2016-12-02 CN CN201611095492.2A patent/CN106528866A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697168A (zh) * | 2009-10-22 | 2010-04-21 | 中国科学技术大学 | 一种分布式文件系统动态元数据管理方法及系统 |
CN101866359A (zh) * | 2010-06-24 | 2010-10-20 | 北京航空航天大学 | 一种机群文件系统中的小文件存储和访问方法 |
CN102546751A (zh) * | 2011-12-06 | 2012-07-04 | 华中科技大学 | 一种分布式文件系统分级元数据缓存控制方法 |
CN103179185A (zh) * | 2012-12-25 | 2013-06-26 | 中国科学院计算技术研究所 | 一种分布式文件系统客户端缓存中文件创建方法及其系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193492A (zh) * | 2017-05-18 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种小文件更新的方法及装置 |
CN107197050A (zh) * | 2017-07-27 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种分布式存储系统中文件写入的方法及系统 |
CN107506147A (zh) * | 2017-08-29 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种保持元数据一致性的方法及系统 |
CN107506147B (zh) * | 2017-08-29 | 2020-05-29 | 郑州云海信息技术有限公司 | 一种保持元数据一致性的方法及系统 |
CN108874319A (zh) * | 2018-06-27 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种元数据更新方法、装置、设备及可读存储介质 |
CN108874319B (zh) * | 2018-06-27 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种元数据更新方法、装置、设备及可读存储介质 |
CN111488128A (zh) * | 2019-12-30 | 2020-08-04 | 北京浪潮数据技术有限公司 | 一种元数据的更新方法、装置、设备及介质 |
CN111488128B (zh) * | 2019-12-30 | 2022-03-22 | 北京浪潮数据技术有限公司 | 一种元数据的更新方法、装置、设备及介质 |
CN114338556A (zh) * | 2022-01-07 | 2022-04-12 | 南昌济铃新能源科技有限责任公司 | 一种can网络和车载以太网间的报文转发方法及网关系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528866A (zh) | 一种更新元数据的方法、装置和系统 | |
CN104104717B (zh) | 投放渠道数据统计方法及装置 | |
CN102882974B (zh) | 一种通过网站识别版本号节省网站访问资源的方法 | |
CN110413650B (zh) | 一种业务数据的处理方法、装置、设备和存储介质 | |
CN108984553B (zh) | 缓存方法和装置 | |
CN109981715B (zh) | 一种会话管理的方法及装置 | |
CN111221469B (zh) | 同步缓存数据的方法、装置和系统 | |
CN104636477B (zh) | 一种信息推送前推送列表的去重方法 | |
CN108228322B (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
CN112767151B (zh) | 应用于区块链中验证节点的交易处理方法和装置 | |
CN104951306A (zh) | 基于实时计算框架的数据处理方法和系统 | |
CN105491078A (zh) | Soa系统中的数据处理方法及装置、soa系统 | |
CN107247777A (zh) | 一种基于数据库逆向统计的报表展示方法及系统 | |
US20150039715A1 (en) | Publisher-assisted, broker-based caching in a publish-subscription environment | |
CN104253835B (zh) | 用户行为数据采集方法及其系统 | |
US20230336368A1 (en) | Block chain-based data processing method and related apparatus | |
WO2021137768A1 (en) | Method, apparatus and device for consuming messages based on message queue | |
CN117196625A (zh) | 用于汇兑业务的信息展示方法、系统、设备及存储介质 | |
US8412844B2 (en) | Validating download success | |
CN109213955B (zh) | 数据处理方法及相关设备 | |
CN107563942B (zh) | 一种物流数据批量处理方法、物流处理系统以及处理装置 | |
CN112948410A (zh) | 数据处理方法、装置、设备及介质 | |
CN105190598A (zh) | 资源索引分类 | |
CN112818166A (zh) | 一种视频信息查询方法、装置、电子设备和存储介质 | |
CN112084048A (zh) | Kafka同步刷盘方法、装置及消息服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170322 |