CN119226227A - 文件管理方法、系统、可读存储介质及终端 - Google Patents

文件管理方法、系统、可读存储介质及终端 Download PDF

Info

Publication number
CN119226227A
CN119226227A CN202411212521.3A CN202411212521A CN119226227A CN 119226227 A CN119226227 A CN 119226227A CN 202411212521 A CN202411212521 A CN 202411212521A CN 119226227 A CN119226227 A CN 119226227A
Authority
CN
China
Prior art keywords
data
file
format
version
database
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
Application number
CN202411212521.3A
Other languages
English (en)
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.)
Shenzhen Ganzhen Intelligent Co ltd
Original Assignee
Shenzhen Ganzhen Intelligent 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 Shenzhen Ganzhen Intelligent Co ltd filed Critical Shenzhen Ganzhen Intelligent Co ltd
Priority to CN202411212521.3A priority Critical patent/CN119226227A/zh
Publication of CN119226227A publication Critical patent/CN119226227A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • 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/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了文件管理方法、系统、可读存储介质及终端,涉及数据处理技术领域。文件管理方法包括:判断输入文件的格式是否符合预设格式,若符合,则将输入文件转换为预设形式的初始数据;对初始数据进行处理,并基于处理后的初始数据对数据库进行更新;其中,初始数据的处理包括:去重、一致性检查、语言筛选以及格式转换;基于更新后的数据库,生成当前版本的数据文件;根据下载请求,获取对应版本的数据文件,并进行下载。该文件管理方法具备操作简单以及维护成本低等优点,且能够有效地提升工作效率并降低出错的概率。

Description

文件管理方法、系统、可读存储介质及终端
技术领域
本申请涉及数据处理技术领域,尤其涉及文件管理方法、系统、可读存储介质及终端。
背景技术
伴随着国际化的发展趋势,涉及跨国业务的相关文件通常都需要支持多国语言,由此导致文件的数量越来越多。
在对文件进行管理维护时,工作人员需要手动将相关文本数据(例如不同语言的文本)复制粘贴到代码中,并导入到相应的数据管理系统中。上述操作方式存在工作量大等缺点,另外,由于采用手动复制,所以,出错概率也较高。
发明内容
本申请的目的在于克服现有技术的缺陷,提供文件管理方法、系统、可读存储介质及终端,用以解决现有技术中的问题。
为解决上述问题,本申请实施例第一方面,提供了一种文件管理方法,包括:
判断输入文件的格式是否符合预设格式,若符合,则将所述输入文件转换为预设形式的初始数据;
对所述初始数据进行处理,并基于处理后的所述初始数据对数据库进行更新;其中,所述初始数据的处理包括:去重、一致性检查、语言筛选以及格式转换;
基于更新后的所述数据库,生成当前版本的数据文件;
根据下载请求,获取对应版本的所述数据文件,并进行下载。
一种可选的实现方式中,判断所述输入文件的格式是否符合要求,包括:
根据所述输入文件的实际类型或后缀格式名,判断所述输入文件是否属于所述预设格式,其中,所述预设格式包括json格式、arb格式、xml格式和csv格式。
一种可选的实现方式中,将所述输入文件转换为预设形式的所述初始数据包括:
将所述输入文件以字符串的形式进行解析,以获得所述初始数据;其中,所述初始数据的预设形式包括js对象数据和js数组对象数据。
一种可选的实现方式中,所述去重包括:根据一个或/和多个标识特征对所述初始数据进行去重;
所述一致性检查包括:判断所述初始数据与所述数据库中已有数据的appId是否一致,以及判断所述初始数据的appId在所述数据库中是否存在;
所述语言筛选包括:判断所述初始数据所对应的语言类型是否在定义范围内;
所述格式转换包括:将所述初始数据转换为所述数据库要求的格式。
一种可选的实现方式中,所述数据文件的生成包括:
检查所述数据库中是否产生新的数据;
在当前时间,若所述数据库中产生新的数据,则检查所述数据库中的数据与上一个版本的所述数据文件中的数据是否一致;
若不一致,则检查所述数据库中的数据与上一个版本的所述数据文件中的数据之间的变化情况;其中,所述变化情况包括数据的增加、更新以及删除;
将当前时间的所述数据库中的数据转换成当前版本的所述数据文件;
将当前版本的所述数据文件的版本信息存储到服务器的版本目录。
一种可选的实现方式中,对当前版本的所述数据文件与上一个版本的所述数据文件进行对比:
将新增的数据转换成当前版本的增量文件;
将所述增量文件的版本信息存储到所述版本目录。
一种可选的实现方式中,对所述数据文件进行下载包括:
接收到下载请求后,根据待下载的所述数据文件或/和所述增量文件的版本信息对所述版本目录进行查询;
通过所述版本目录获取待下载的所述数据文件或/和所述增量文件的位置信息;
读取所对应的所述数据文件,并将所述数据文件发送至前端;
所述前端接收到所述数据文件后,对所述数据文件进行处理并转换成文件包;
调用下载函数,将所述文件包保存至用户本地。
本申请实施例第二方面,提供了一种文件管理系统,包括:
判断模块,用于判断输入文件的格式是否符合预设格式,若符合,则将所述输入文件转换为预设形式的初始数据;
处理模块,用于对所述初始数据进行处理,并基于处理后的所述初始数据对数据库进行更新;其中,所述初始数据的处理包括:去重、一致性检查、语言筛选以及格式转换;
生成模块,用于基于更新后的所述数据库,生成当前版本的数据文件;
下载模块,用于根据下载请求,获取对应版本的所述数据文件,并进行下载。
本申请实施例第三方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的文件管理方法。
本申请实施例第四方面,提供了一种终端,包括存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的文件管理方法。
本申请的有益效果包括:
本申请提出文件管理方法包括:对输入文件进行筛选,并将符合预设格式的输入文件转换为预设形式的初始数据;对初始数据进行相应的处理,并基于处理后的初始数据对数据库进行更新;基于更新后的数据库,生成当前版本的数据文件;根据下载请求,获取对应版本的数据文件,并进行下载保存。
通过规范输入文件的格式,有效地提高了输入文件的转换效率。
通过对初始数据进行去重、一致性检查、语言筛选以及格式转换,可以实现数据库的更新。其中,去重:避免出现重复内容,保证数据的唯一性;一致性检测:确保数据的一致性,从而方便对已有的内容进行更新或替换;语言筛选:筛选出定义范围内的语言类型(例如,中文、英文等),从而方便进行管理;格式转换:将数据转换成数据库要求的格式,从而便于管理和维护。
通过生成数据文件,实现了对更新后的数据库中的数据的保存。其中,数据库每次更新后都会生成对应版本的数据文件,由此便于对相关的数据进行保存及查找等。
该文件管理方法具备操作简单以及维护成本低等优点,且能够有效地提升工作效率并降低出错的概率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了一种文件管理方法的流程图;
图2示出了一种生成数据文件的流程图;
图3示出了一种数据文件下载的流程图;
图4示出了一种文件管理系统的结构框图。
主要元件符号说明:
100-判断模块;200-处理模块;300-生成模块;400-下载模块。
具体实施方式
下面结合附图,对本申请实施例进行描述。显然,所描述的实施例仅为本申请一部分实施例,而不是全部的实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请的保护范围。
实施例
参阅图1,在本实施例中,提出了一种文件管理方法,包括:
S11,判断输入文件的格式是否符合预设格式,若符合,则将输入文件转换为预设形式的初始数据;
S12,对初始数据进行处理,并基于处理后的初始数据对数据库进行更新;
S13,基于更新后的数据库,生成当前版本的数据文件;
S14,根据下载请求,获取对应版本的所述数据文件,并进行下载。
通过规范输入文件的格式,有效地提高了输入文件的转换效率。
初始数据的处理包括:去重、一致性检查、语言筛选以及格式转换等。其中,通过对初始数据进行上述处理,能够有效避免手动复制数据所导致的数据重复等错误。具体的,通过对初始数据进行去重、一致性检查、语言筛选以及格式转换,可以实现数据库的更新。其中,去重:避免出现重复内容,保证数据的唯一性;一致性检测:确保数据的一致性,从而方便对已有的内容进行更新或替换;语言筛选:筛选出定义范围内的语言类型(例如,中文、英文、日文、法文等),从而方便进行管理;格式转换:将数据转换成数据库要求的格式,从而便于管理和维护。
通过生成数据文件,实现了对更新后的数据库中的数据的保存。其中,数据库每次更新后都会生成对应版本的数据文件,由此便于对相关的数据进行保存及查找等。
在步骤S11中,判断输入文件的类型是否符合要求,包括:根据输入文件的实际类型或后缀格式名,判断输入文件是否属于预设格式,其中,预设格式包括json格式、arb格式、xml格式和csv格式。
文件管理方法可以被浏览器等应用程序所支持。用户可以使用应用程序手动选择输入文件,或将输入文件拖放到应用程序的输入模块中。当获得一份或多份输入文件后,确定输入文件的类型是否符合预设格式;筛选出符合要求的输入文件;对符合要求且不同格式的输入文件分别进行处理,并转换成统一的数据格式,并由此获得初始数据;将初始数据传送至服务端,其中,服务端接收到初始数据后,可对初始数据做一次基础处理,例如,数据校验、数据去重、输出归属、创建时间补充等;将数据组合成查询语法,一次性从数据库查出符合要求的所有数据;根据数据库响应的数据以及用户提交的数据,进行数据的循环对比,其中,当数据一致时则更新语句,当数据不一致时则创建新的语句;分别对新增的语句和更新的语句执行相应的操作,例如存档等。
在步骤11中,将输入文件转换为预设形式的初始数据包括:
将输入文件以字符串的形式进行解析,以获得初始数据;其中,初始数据的预设形式包括js对象数据和js数组对象数据。
在本实施例中,将输入文件转换为预设形式的初始数据,即将输入文件转换为统一的格式。其中,将数据转换为统一格式可包括如下步骤:
根据输入文件的mimetype(文件实际类型)或者文件的后缀格式名判断文件的格式;
若输入文件属于预设格式,则使用浏览器的FileReader API,将输入文件以字符串的形式一次性解析出来。
在本实施例中,将输入文件可被转换成js对象数据或js数组对象数据。前端.json或者flutter.arb数据,用浏览器的JSON.parse解析即可获取并转成js对象数据;安卓.xml数据,使用xml2js函数库,将xml数据转成标准的js对象数据;csv数据,使用papaparse函数库,将csv数据转换为标准的js数组对象数据。其中,具体的处理方法可参照下文。
前端.json或者flutter.arb数据的处理:
1.用浏览器的JSON.parse解析即可获取并转成js对象数据。
2.为处理嵌套结构,编写一个名为flattenObject的函数。其中,该函数采用两个参数:obj表示待扁平化的对象,parentKey用于追踪当前处理的键。在处理对象的每个属性时,函数检查属性的类型。如果属性的值是对象且为对象类型,则进行递归调用flattenObject,并更新当前键。对于非对象属性,直接将键值对添加到结果中。
3.编写一个名为transfromJson的函数,该函数接受一个参数obj对象数据,使用Object.keys()方法将对象所有key转成数组,然后使用js数组循环函数forEach进行循环,使用obj[item]取到当前的value值,item就是key值,然后使用新的字段key,value进行统一输出数组结构数据。
4.使用飞书内容文本检测API,检测数组第一项数据value内容属于哪个国家语言(也可以手动选择目标的语言),并再次循环。将数组中所有value的key替换为目标国家的标示,比如目标语言是英文,那最终输出的就是[{appId:null,cateId:null,key:"key",en:”hello",tag:null,attr:null},...]。
安卓.xml数据的处理:
1.使用xml2js函数库,将xml数据转成标准的js对象数据。
2.编写一个名为transformXMLtoJSON的函数,接受一个参数xml2js执行后的js对象。使用Object.keys()方法将对象所有key转成数组,然后使用js数组循环函数forEach进行循环,使用obj[item].value取到当前的value值,obj[item].attr.name就是key值,其他obj[item].attr的就是额外属性,item就是tag值,然后使用新的字段key,value,tag,attr进行统一输出数组结构数据。
3.使用飞书内容文本检测API,检测数组第一项数据value内容属于哪个国家语言(也可以手动选择目标的语言)。并再次循环,将数组中所有value的key替换为目标国家的标示,比如目标语言是英文,那最终输出的就是[{appId:null,cateId:null,key:"key",en:”hello",tag:null,attr:null},...]。
csv数据的处理:
1.使用papaparse函数库,将csv数据转换为标准的js数组对象数据。
2.papaparse的函数库可以直接转换为所需的js数组数据结构数据。只需要针对该数据做校验基础处理即可,编写一个validCsvData的方法,接受papaparse处理后的数据作为参数。然后取数组中第一个条数据,使用object.keys判断对象key是否在存在key,en,zh,...,tag,attr,如果存在这些key就继续下一步,下一步就是使用js数组循环方式forEach,进行处理的值的校验和处理,由于csv的灵活性在使用过程中可能会添加多余空格,导致无效数据的产生,所有就要将key和value的值左右两边的空格全部去掉。
3.最终生成数据[{appId:null,cateId:null,key:"key",en:”hello",zh:"你好",tag:null,attr:null},...]。
在本实施例中,统一的数据格式示例如下:
JSON
//tag是对应的安卓.xml的标签
//key是js的对象key
//attr是对应的安卓.xml的其他属性参数。(方便后期还原数据)
//en对应的是value,这个key是动态可变的。(语言类型可根据用户的需求进行选择,例如用户选择是英文则是en,选择的是中文则是zh)
//appId是当前数据的归属应用
//cateId是当前数据的归属分类
[
{
"tag":null,
"key":"js对象的key",
"attr":{"hello":"这个是xml专属属性"},
"en":"value",
"appId":1,
"cateId":null
}
]
在本实施例中,可对JS对象数据进行扁平化处理。使用递归方式实现这一目标意味着会遍历对象的每个属性,并在遇到嵌套对象时,对其进行递归处理,直到所有嵌套层级都被展开为一维结构。
嵌套结构是指在一个数据结构中包含另一个相同类型或不同类型的数据结构,形成层级或多层次的结构。这种结构可以是在编程语言中的数据类型,比如对象、数组、字典,也可以是其他数据结构。嵌套结构的核心概念是元素包含了其他元素,从而形成了层次关系。在JavaScript中,对象可以包含属性,而这些属性的值也可以是对象,这样就形成了嵌套结构。
在递归过程中,检查每个属性的类型,如果是对象,就对该对象进行递归调用;如果不是对象,就直接将键值对添加到结果中。为了保持一维结构,使用点号或其他分隔符来连接嵌套对象的键,形成扁平化后的键。这个过程的主要思路是通过递归处理嵌套对象,将其转换为一个扁平的、容易处理的形式,从而方便后续的操作和分析。例如:人物:周某,30岁,地址XXX,居住城市,国籍。在这个例子中,“人物”对象具有嵌套结构,因为包含了“地址”,这种嵌套结构可以继续扩展,形成更深层次的嵌套。以“人物”对象为例,其中包“地址”属性,而“地址”属性的值又是一个包含城市和国家信息的对象。
为了处理上述的嵌套结构,可编写一个名为flattenObject的函数。该函数采用两个参数:obj表示待扁平化的对象,parentKey用于追踪当前处理的键。
在处理对象的每个属性时,函数检查属性的类型。如果属性的值是对象且不为null,则进行递归调用flattenObject,并更新当前键。对于非对象属性,直接将键值对添加到结果中。
通过递归地处理嵌套对象,最终得到了一个扁平化的对象。在示例中,“人物”对象被转换为一个不再包含嵌套结构的对象,其中每个属性都由点号连接以表示其层次关系。这有助于更方便地处理和操作对象的属性。
将JS数据转换为统一的字段和数据类型。使用JS对象对象循环方式,对前端.json或者flutter.arb数据、安卓.xml数据来源的JS数据进行数据去重。使用js数组循环,判断csv数据来源的JS数据字段是否正确规范。
在本实施例中,对数据格式和类型进行标签化。其中,
//tag是对应的安卓.xml的标签;
//key是js的对象key;
//attr是对应的安卓.xml的其他属性参数,由此方便后期还原数据;
//en对应的是value,这个key是动态可变的,例如,用户选择是英文就是en,选择的是中文就是zh;
//appId是当前数据的归属应用;
//cateId是当前数据的归属分类。
在步骤S12中,初始数据的处理包括:去重、一致性检查、语言筛选以及格式转换等。其中,初始数据传输至服务端,通过服务端对其进行处理。
去重包括:根据一个或/和多个标识特征对初始数据进行去重。例如,可根据tag、key、appID、cateId条件对数据去重,由此保证数据唯一性。又例如,根据tag去重数据、key去重数据、appId去重数据和cateId去重数据的组合,一次性查询数据库数据。
一致性检查包括:判断初始数据与数据库中已有数据的appId是否一致,以及判断初始数据的appId在数据库中是否存在。
语言筛选包括:判断初始数据所对应的语言类型是否在定义范围内。例如,在一些应用中只允许配置中文和英文。
格式转换包括:将初始数据转换为数据库要求的格式。
进一步地,将数据库的查询数据和刚才处理后的数据进行循环比对,其中,若key存在就当作是更新,若不存在就当作创建。其中,将新增数据和更新数据分别执行。
如图2所示,在本实施例中,数据文件的生成包括:
S21,发起创建版本的指令;
S22,检查数据库中是否产生新的数据;
S231,在当前时间,若数据库中产生新的数据,则检查数据库中的数据与上一个版本的数据文件中的数据是否一致;S232,在当前时间,若数据库中未产生新的数据,则提醒异常;
S241,若不一致,则检查数据库中的数据与上一个版本的数据文件中的数据之间的变化情况,其中,变化情况包括数据的增加、更新以及删除等;S242,若一致,则提醒异常;
S25,将当前时间的数据库中的数据转换成当前版本的数据文件;
S26,将当前版本的数据文件的版本信息存储到服务器的版本目录。
在本实施例中,数据文件生成还包括,对当前版本的数据文件与上一个版本的数据文件进行对比:将新增的数据转换成当前版本的增量文件;将增量文件的版本信息存储到版本目录。例如,将当前数据库的数据转成123/all.json文件并存储到服务器目录;通过将当前版本与上一个版本进行对比,将增量数据已转成123/add.json文件并存储到服务器目录。在本实施例中,上一个版本是指,按照生成的时间顺序,在当前版本之前最后生成的一个版本。
数据文件生成的过程即为版本创建的过程。在数据文件生成的过程中,可对当前时间的所有的数据产物(与数据相关的所有内容,包括数据文件、增量数据、版本信息、版本目录等等)进行封存,由此可避免相关数据的丢失。各版本的数据文件、增量数据、版本信息等等均存储到数据库中。
如图3所示,对数据文件进行下载包括:
S31,接收到下载请求后,根据待下载的数据文件或/和增量文件的版本信息对版本目录进行查询;
S32,通过版本目录获取待下载的数据文件或/和增量文件的位置信息;
S33,读取所对应的数据文件,并将数据文件发送至前端;
S34,前端接收到数据文件后,对数据文件进行处理并转换成文件包;
S35,调用下载函数,将文件包保存至用户本地。
在本实施例中,当前版本的数据文件和增量文件的版本信息,可添加至文件目录,其中,文件目录与版本目录相关联。为此,在进行数据的查找时,根据版本信息对文件目录进行查询,由此定位到版本目录,从而快速查询得到相关信息。
用户可以根据需求下载不同格式的文件包,其中,文件包的格式包括zip格式和csv格式。
下载zip格式的流程如下:
1.用户点击下载zip后,发起接口请求;
2.根据版本关联的文件目录,查询出相关联的服务器的版本目录;
3.使用nodejs读取文件的api,读取该目录下的所有json文件,并将该json文件返回至前端;
4.前端接收到json数据后,开始循环处理数据,并利用js-zip插件将处理后的数据转成压缩包形式;
5.压缩包数据准备好以后,调用下载函数,将zip包保存至用户本地。
下载csv格式的流程如下:
1.用户点击下载csv产物,发起接口请求;
2.根据版本关联的文件目录,查询出相关联的服务器的版本目录;
3.使用nodejs读取文件的api,读取该目录下的所有json文件,并将该json文件返回至前端;
4.前端接收到json数据后,开始循环处理数据,并利用Papa csv处理插件将处理后的数据转成csv格式数据
5.调用下载函数,将csv包保存至用户本地。
在本实施例中,文件管理方法至少包括如下功能及优点:
1.安卓java、flutter、web前端三端通用;
2.支持多国语言,便于对不同语言的文件进行管理和维护;其中,支持在线新建/维护多语言,支持批量新建/更新多语言;
3.将多语言导出为csv,并支持将csv数据导入到系统;
4.将项目代码中的的多语言文件导入至系统,并将数据导出为对应的客户端的格式的多语言文件;其中,遵循及规范了输入及输出的数据;规范了多端的多语言数据的输入及输出;
5.版本管理,封存各阶段性的产生的数据,支持数据与版本之间的强绑定;
6.多国语言的统一入口维护,其中,工作人员可使用AI对文件进行翻译,再由语言专业人员进行检查及纠正;
7.减少工作量及出错率,并提高了工作效率。
如图4所示,在本实施例中,还提出了一种文件管理系统,包括:
判断模块100,用于判断输入文件的类型是否符合预设格式,若符合,则将输入文件转换为预设形式的初始数据;
处理模块200,用于对初始数据进行处理,并基于处理后的初始数据对数据库进行更新;其中,初始数据的处理包括:去重、一致性检查、语言筛选以及格式转换;
生成模块300,用于基于更新后的数据库,生成当前版本的数据文件;
下载模块400,用于根据下载请求,获取对应版本的数据文件,并进行下载。
在本实施例中,还提出了一种可读存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现上文中提到的文件管理方法。
在本实施例中,还提出了一种终端,包括存储器、处理器,以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上文中提到的文件管理方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

Claims (10)

1.一种文件管理方法,其特征在于,包括:
判断输入文件的格式是否符合预设格式,若符合,则将所述输入文件转换为预设形式的初始数据;
对所述初始数据进行处理,并基于处理后的所述初始数据对数据库进行更新;其中,所述初始数据的处理包括:去重、一致性检查、语言筛选以及格式转换;
基于更新后的所述数据库,生成当前版本的数据文件;
根据下载请求,获取对应版本的所述数据文件,并进行下载。
2.根据权利要求1所述的文件管理方法,其特征在于,判断所述输入文件的格式是否符合要求,包括:
根据所述输入文件的实际类型或后缀格式名,判断所述输入文件是否属于所述预设格式,其中,所述预设格式包括json格式、arb格式、xml格式和csv格式。
3.根据权利要求2所述的文件管理方法,其特征在于,将所述输入文件转换为预设形式的所述初始数据包括:
将所述输入文件以字符串的形式进行解析,以获得所述初始数据;其中,所述初始数据的预设形式包括js对象数据和js数组对象数据。
4.根据权利要求1所述的文件管理方法,其特征在于,所述去重包括:根据一个或/和多个标识特征对所述初始数据进行去重;
所述一致性检查包括:判断所述初始数据与所述数据库中已有数据的appId是否一致,以及判断所述初始数据的appId在所述数据库中是否存在;
所述语言筛选包括:判断所述初始数据所对应的语言类型是否在定义范围内;
所述格式转换包括:将所述初始数据转换为所述数据库要求的格式。
5.根据权利要求1所述的文件管理方法,其特征在于,所述数据文件的生成包括:
检查所述数据库中是否产生新的数据;
在当前时间,若所述数据库中产生新的数据,则检查所述数据库中的数据与上一个版本的所述数据文件中的数据是否一致;
若不一致,则检查所述数据库中的数据与上一个版本的所述数据文件中的数据之间的变化情况;其中,所述变化情况包括数据的增加、更新以及删除;
将当前时间的所述数据库中的数据转换成当前版本的所述数据文件;
将当前版本的所述数据文件的版本信息存储到服务器的版本目录。
6.根据权利要求5所述的文件管理方法,其特征在于,对当前版本的所述数据文件与上一个版本的所述数据文件进行对比:
将新增的数据转换成当前版本的增量文件;
将所述增量文件的版本信息存储到所述版本目录。
7.根据权利要求6所述的文件管理方法,其特征在于,对所述数据文件进行下载包括:
接收到下载请求后,根据待下载的所述数据文件或/和所述增量文件的版本信息对所述版本目录进行查询;
通过所述版本目录获取待下载的所述数据文件或/和所述增量文件的位置信息;
读取所对应的所述数据文件,并将所述数据文件发送至前端;
所述前端接收到所述数据文件后,对所述数据文件进行处理并转换成文件包;
调用下载函数,将所述文件包保存至用户本地。
8.一种文件管理系统,其特征在于,包括:
判断模块,用于判断输入文件的格式是否符合预设格式,若符合,则将所述输入文件转换为预设形式的初始数据;
处理模块,用于对所述初始数据进行处理,并基于处理后的所述初始数据对数据库进行更新;其中,所述初始数据的处理包括:去重、一致性检查、语言筛选以及格式转换;
生成模块,用于基于更新后的所述数据库,生成当前版本的数据文件;
下载模块,用于根据下载请求,获取对应版本的所述数据文件,并进行下载。
9.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的文件管理方法。
10.一种终端,包括存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的文件管理方法。
CN202411212521.3A 2024-08-30 2024-08-30 文件管理方法、系统、可读存储介质及终端 Pending CN119226227A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411212521.3A CN119226227A (zh) 2024-08-30 2024-08-30 文件管理方法、系统、可读存储介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202411212521.3A CN119226227A (zh) 2024-08-30 2024-08-30 文件管理方法、系统、可读存储介质及终端

Publications (1)

Publication Number Publication Date
CN119226227A true CN119226227A (zh) 2024-12-31

Family

ID=94046320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202411212521.3A Pending CN119226227A (zh) 2024-08-30 2024-08-30 文件管理方法、系统、可读存储介质及终端

Country Status (1)

Country Link
CN (1) CN119226227A (zh)

Similar Documents

Publication Publication Date Title
US7577946B2 (en) Program product, method, and system for testing consistency of machine code files and source files
CN111460241B (zh) 一种数据查询方法、装置、电子设备及存储介质
CN111367547A (zh) 接口代码自动同步方法、装置及存储介质
CN112527738A (zh) 项目描述文件优化方法、系统及存储介质
CN113515303B (zh) 一种项目转型方法、装置和设备
CN116414774A (zh) 文件迁移方法、装置、设备及存储介质
CN112130860B (zh) Json对象解析方法、装置、电子设备及存储介质
CN112000690B (zh) 解析结构化操作语句的方法和装置
CN114816816B (zh) 崩溃堆栈信息处理方法、装置、设备及存储介质
CN112800194B (zh) 一种接口变更识别方法、装置、设备及存储介质
CN110704432A (zh) 数据索引的建立方法和装置、可读存储介质、电子设备
CN114625373A (zh) 应用转换方法、装置、电子设备和存储介质
CN111309713B (zh) Maven开源软件库的生成方法、装置及存储介质
US20150347402A1 (en) System and method for enabling a client system to generate file system operations on a file system data set using a virtual namespace
CN119127834A (zh) 基于MyBatis的数据库迁移方法、装置、系统及存储介质
CN118193567A (zh) 生成查询语句和查询业务数据的方法、装置、设备及介质
Le Zou et al. On synchronizing with web service evolution
CN119226227A (zh) 文件管理方法、系统、可读存储介质及终端
CN112486566B (zh) 代码文件处理方法、装置、设备及存储介质
CN111273944B (zh) 生成程序文件并上传至代码仓库的方法及装置
CN114492324A (zh) 组件数据统计方法及装置
CN113408250A (zh) 一种项目文件的处理方法和装置
CN111949309A (zh) 拉取idl文件的方法、装置、计算机设备和存储介质
CN118550606B (zh) 一种vscode动态组件库的智能工作方法
CN114675867B (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