CN116521621A - 一种数据处理方法、装置、电子设备及存储介质 - Google Patents
一种数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116521621A CN116521621A CN202310519469.5A CN202310519469A CN116521621A CN 116521621 A CN116521621 A CN 116521621A CN 202310519469 A CN202310519469 A CN 202310519469A CN 116521621 A CN116521621 A CN 116521621A
- Authority
- CN
- China
- Prior art keywords
- data
- source data
- target
- source
- format
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000003672 processing method Methods 0.000 title abstract description 24
- 238000006243 chemical reaction Methods 0.000 claims abstract description 60
- 230000006870 function Effects 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims description 32
- 238000001914 filtration Methods 0.000 claims description 23
- 238000004458 analytical method Methods 0.000 claims description 18
- 238000004140 cleaning Methods 0.000 claims description 16
- 238000009877 rendering Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 230000000875 corresponding effect Effects 0.000 description 91
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 238000010606 normalization Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013075 data extraction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本公开提供了一种数据处理方法、装置、电子设备及存储介质,该方法为,获取源数据和所述源数据的描述文件;根据所述描述文件和所述源数据的源格式,对所述源数据进行解析,获得所述源数据中各对象对应的子源数据,其中,所述子源数据包括在各标签下的取值;根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据,其中,所述转换函数用于所述目标格式的转换,这样,可以高效地实现源数据到目标格式的目标数据的转换,兼容不同源数据的差异,提高可拓展性和适用性。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
目前,在用户查询英语单词或短语时,需展示单词或短语的音标、例句、词性等数据,这些数据的来源可能是不同词典等多个数据源,而不同数据源描述信息所采用的标签含义或类型等可能并不相同,因此为了能够将不同数据源的数据在前端展示,需要针对不同数据源都开发渲染逻辑,但是这种方式,成本较高,并且使用不方便,拓展性较低,难以适配不同的场景。
发明内容
本公开实施例至少提供一种数据处理方法、装置、电子设备及存储介质。
第一方面,本公开实施例提供了一种数据处理方法,包括:
获取源数据和所述源数据的描述文件;
根据所述描述文件和所述源数据的源格式,对所述源数据进行解析,获得所述源数据中各对象对应的子源数据,其中,所述子源数据包括在各标签下的取值;
根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据,其中,所述转换函数用于所述目标格式的转换。
第二方面,本公开实施例还提供一种数据处理装置,包括:
获取模块,用于获取源数据和所述源数据的描述文件;
解析模块,用于根据所述描述文件和所述源数据的源格式,对所述源数据进行解析,获得所述源数据中各对象对应的子源数据,其中,所述子源数据包括在各标签下的取值;
转换模块,用于根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据,其中,所述转换函数用于所述目标格式的转换。
第三方面,本公开可选实现方式还提供一种电子设备,包括处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开可选实现方式还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本公开实施例中,获取源数据和所述源数据的描述文件;根据所述描述文件和所述源数据的源格式,对所述源数据进行解析,获得所述源数据中各对象对应的子源数据,其中,所述子源数据包括在各标签下的取值,进而根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据,其中,所述转换函数用于所述目标格式的转换,这样,提供了一种通用的能够兼容各种不同的数据源的方法,可以忽略不同源数据中标签的差异,根据各标签对应的转换函数,实现目标格式的目标数据的转换,提高了转换的效率,并且通过目标格式的数据格式统一,可以便于下游业务的处理,不需要针对不同源数据均开发渲染逻辑,提高了拓展性,可以适用不同场景。
关于上述数据处理装置、电子设备、及计算机可读存储介质的效果描述参见上述数据处理方法的说明,这里不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种数据处理方法的流程图;
图2示出了本公开实施例所提供的视图数据提取的原理效果图;
图3示出了本公开实施例所提供的数据处理方法中目标数据转换的原理框图;
图4示出了本公开实施例所提供的数据处理方法中视图数据归一化处理的原理框图;
图5示出了本公开实施例所提供的一种数据处理装置的示意图;
图6示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
为便于对本公开技术方案的理解,首先对本公开实施例中的技术用语加以说明:
扩展标记语言(eXtensible Markup Language,XML):XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,这些标记可以用方便的方式建立。
JavaScript对象表示法(JavaScript Object Notation,JSON):JSON是JavaScript提供的一种数据交换格式,为一种轻量级的数据交换格式,易于用于阅读和编写,并且也易于机器解析和生成,适用于服务器和客户端的交互。
经研究发现,在英语学习场景中,用户查询英语单词或短语时,需展示单词或短语的音标、例句、词性等数据,这些数据的来源可能是不同词典等多个数据源,而不同数据源描述信息所采用的标签含义或类型等可能并不相同,例如,不同词典所采用的文件格式可能是相同的,如都采用XML文件,但是不同词典针对每个单词所包含的信息并不完全相同,对应地不同词典的XML文件中标签不完全相同,因此为了能够将不同数据源的数据在前端展示,需要针对不同数据源都开发渲染逻辑,该方式成本较高,使用不方便,拓展性较低,难以适配不同的场景,并且XML文件中存在冗余标签,增加了不必要信息量,冗余标签也会增加了用户理解难度和处理复杂度。
基于上述研究,本公开提供了一种数据处理方法,获取源数据和源数据的描述文件,根据描述文件和源数据的源格式,对源数据进行解析,获得源数据中各对象对应的子源数据,其中,子源数据包括在各标签下的取值,进而可以根据各标签分别对应的转换函数,将各对象对应的子源数据转换为目标格式的目标数据,这样,可以将源格式的源数据转换为目标格式的目标数据,提供了一种通用的能够兼容各种不同的数据源的方法,进而后续渲染等处理只需针对目标格式来开发即可,不需要关心不同源数据之间的差异,提高了效率,减低了成本,并且更加灵活,可以适用不用场景。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种数据处理方法进行详细介绍,本公开实施例所提供的数据处理方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、蜂窝电话、无绳电话、个人数字助理(PersonalDigital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等,其中,个人数字助理是一种手持式电子设备,具有电子计算机的某些功能,可以用来管理个人信息,也可以上网浏览,收发电子邮件等,一般不配备键盘,也可以称为掌上电脑。在一些可能的实现方式中,该数据处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为服务器为例对本公开实施例提供的数据处理方法加以说明。
参见图1所示,为本公开实施例提供的数据处理方法的流程图,该方法包括:
S101:获取源数据和源数据的描述文件。
本公开实施例中,主要针对存在来自不同数据源的源数据的场景,不同源数据所采用的定义方式和语义并不完全相同,在下游业务处理时,需要理解各个不同的源数据,本公开实施例中,主要是可以将不同的源数据都转换为统一的目标格式,从而下游业务只需理解该目标格式即可,更加方便,适用性更广。
例如,在英语学习场景,查询某个单词时,单词相关的数据可能来自A词典、B词典等不同数据源,词典提供了针对单词的源数据即XML文件以及XML文件相应的描述文件,其中,XML文件中包括单词翻译时所需的所有信息,例如音标、词性、例句等,还包括单个单词的寻址方法,该描述文件即包括源数据以及源数据的源格式相关的描述信息,用于帮助理解XML文件中的各标签和其对应的嵌套关系等。
当然,本公开实施例中并不仅限于英语词典场景,对于其它需兼容多种不同数据源的场景都可以适用。
S102:根据描述文件和源数据的源格式,对源数据进行解析,获得源数据中各对象对应的子源数据,其中,子源数据包括在各标签下的取值。
具体针对该步骤S102,本公开提供了一种可能的实施方式:
确定源数据的源格式和源格式对应的解析方式;根据描述文件和解析方式,对源数据进行解析,遍历源数据中包括的各对象,获得各对象对应的子源数据。
例如,源数据的源格式为XML格式,确定XML格式的解析方式,基于该解析方式对源数据进行解析,将该源数据分割为以对象维度的多个小的子源数据,如源数据为任一词典的XML文件,源数据中包括的各对象即为各个单词,若该词典中包括两万个单词,则通过对该词典XML文件进行解析,可以获得两万个所有单词维度的子XML文件,另外本公开实施例中还可以从附属信息维度进行汇总输出,可以对源数据中各个标签进行归类,便于后续进行过滤等。
其中,解析方式本公开实施例中并不进行限制,例如XML格式的解析方式可以采用XML简单应用程序接口(Simple API for XML,SAX)解析方式或文档对象模型(DocumentObject Model,DOM)解析方式等,具体地:SAX解析方式的基本原理是,SAX是基于事件驱动的解析方式,并不需要先读入整个XML文件,采用协议回调机制逐行解析数据,对XML文件进行顺序扫描,当扫描到XML文件的开始与结束、元素的开始与结束时,会触发相应的事件处理函数,由事件处理函数做相应的动作,处理完后继续扫描,直到XML文件结束,完成对XML文件的解析。DOM解析方式的基本原理是,DOM是文档驱动的解析方式,需先读入整个XML文件,可以将XML文件以结构树的形式读取到内存中,然后再通过相应的应用程序接口(Application Program Interface,API)来操作这个XML结构树,从而实现解析XML文件。
并且,本公开实施例中,为了便于管理和维护各子源数据,还可以获得各对象的索引表,从而建立索引表与子源数据的映射关系,例如,以某个单词nacreous为例,nacreous对应的源数据为:<superentry id="N_idm140450888156560"><entry id="N_idm140450888156432">…。
通过解析后可以获得该单词nacreous的索引表为:
"nacreous":[
"N_idm140450888156560"
]
本公开实施例中,获得索引表目的是为了能够唯一标识各个单词,可以使用XML文件中单词对应的任一标识即可,并不进行限制。
这样,本公开实施例中,通过对源数据进行解析,可以获知源数据中各种标签的类型、数量、嵌套关系、位置信息等,进而可以从各个对象维度进行汇总输出,切分出各个对象的子源数据。
进一步地,为了进一步提升性能,在根据描述文件和源数据的源格式,对源数据进行解析时,本公开实施例中还提供了可能的实施方式,具体地,根据预设的过滤标签集,过滤掉源数据中在过滤标签集中的标签;和/或,过滤掉源数据中取值为空的标签。
例如,本公开实施例中,可以预先根据描述文件,获知各标签的语义等信息,可以从中筛选出一些无意义的语义标签、无关或可删除的附属信息标签等,从而预先设置过滤标签集,这样,在解析过程中,可以将在过滤标签集中的标签过滤掉。
又例如,通过解析,获知可能有些标签下并没有实际数据,对于所有单词而言,该标签的取值均为空,没有实际取值内容,则对于这类标签也可以过滤掉。
这样,本公开实施例中,还可以结合语义对标签进行过滤,过滤掉冗余的标签,降低信息量,提高数据简洁性,从而也可以提高可理解性,提高处理效率。
S103:根据各标签分别对应的转换函数,将各对象对应的子源数据转换为目标格式的目标数据,其中,转换函数用于目标格式的转换。
本公开实施例中,针对各标签对应定义转换函数,具体地可以全量穷举所有的标签,例如将所有标签结构的可能性汇总为结构树,进而可以基于该结构树依次针对各标签定义转换函数,为便于理解转换函数以及对转换结果的校验等,还可以定义转换函数对应的转换类型,转换类型表示转换函数的描述信息,例如,包括转换函数的输入参数类型、输出参数类型、输入参数数量等。
例如,以目标格式为JSON格式为例,可以定义某标签superentry的转换类型为:
export interface SuperEntry extends Tag{
entry:Entry[];
...}
对应的转换函数为:
export function parserSuperEntry(el:Element):word{
return{
_type:"superentry",
headword:headwordList,
entry:selectAndParseArr(el,"entry"),
};}
其中,转换函数中word可以表示类型描述,el为参数值,Element为el的类型描述,返回(return)的即为JSON格式的目标数据。
这样,本公开实施例中,通过各标签对应的转换函数,可以将各对象的子源数据转换为所需的目标格式的数据结构。
进一步地,本公开实施例中,在将各对象对应的子源数据转换为目标格式的目标数据之后,还可以对目标数据再次进行处理,以提高目标数据的可用性,降低复杂度,具体提供了一种可能的实施方式,根据预设数据清洗规则,对各对象对应的目标数据进行数据清洗处理,其中,数据清洗处理包括以下至少一种:过滤掉取值为空的标签、删除标签中的重复取值、删除标签中的异常取值。
例如,同一标签对于有的单词可能是有意义的,而对于有的单词可能是没有意义的,或者同一标签对于有些单词取值为空,对于有些单词取值不为空,这样,对于无意义或取值为空的单词而言,这些标签是冗余的,因此可以分别针对各个单词,再次进行数据清洗,以使得各个单词对应的目标数据更加简洁,提高后续处理效率。
进一步地,本公开实施例中,在进行数据清洗处理之前,还可以先将各对象对应的目标数据进行复制备份并存储,便于进行管理和后续修正等。
另外,本公开实施例中,根据各标签分别对应的转换函数,将各对象对应的子源数据转换为目标格式的目标数据之后,还可以对目标数据进行校验,以保证准确性,本公开提供了可能的实施方式,按照预设规则,对目标格式的目标数据进行校验,确定目标数据是否正确和/或是否完整。
具体地一种可能实施例中,按照预设规则,对目标格式的目标数据进行校验,确定目标数据是否正确和/或是否完整,包括以下至少一种方式:1)确定满足复杂度的目标对象,并根据目标对象对应的子源数据和目标数据,判断在各标签下的取值和/或取值顺序是否一致,确定目标数据是否正确和/或是否完整;2)根据源数据中各对象的数量,以及目标数据对应的对象的数量,确定目标数据是否完整。
本公开实施例中,对目标数据的校验主要包括内容是否正确以及是否完整无遗漏等方面,例如,可以使用一些变化形式或用法较多等比较复杂的单词,比较对应的子源数据和目标数据是否一致,如满足复杂度的目标单词为“go”,可以获取go在词典的源数据中的例句、音标、词性等信息,并且获取go在对应目标数据中的信息,判断对应的例句、音标、词性等信息的取值、取值顺序等是否一致,从而来校验整体源数据的转换是否正确和/或是否完整,若都一致,确定目标数据正确和/或完整,若有任一不一致,确定其中,取值顺序的一致判断例如为该单词在源数据中可能有五个例句,并且这五个例句是有前后顺序的,由于例句的顺序可能所表达的语义是增强的,因此需保证转换后的目标数据中例句不仅包含该五个例句,还需保证这五个例句的顺序和在源数据中相同。
并且,本公开实施例中,可以使用人工校验和自动校验结合的方式,以提高校验效率,保证目标数据的正确性和完整性。
本公开实施例中,获取源数据和源数据的描述文件,根据描述文件和源数据的源格式,对源数据进行解析,获得源数据中各对象在各标签下的取值的子源数据,进而根据各标签分别对应的转换函数,将各对象对应的子源数据转换为目标格式的目标数据,这样,可以忽略不同源数据中标签的差异,根据各标签对应的转换函数,转换为目标格式的目标数据,提高了转换的效率,并且通过目标格式的转换,可以便于下游业务的处理,不需要针对不同源数据均开发处理逻辑,提高了拓展性,适用场景更广更加灵活。
本公开实施例中,可以将不同的源数据转换为统一的目标格式的目标数据,但是不同源数据所采用的标签结构并不完全相同,会使得对于同一对象其对应的目标数据的层级结构和字段可能不相同,从而会导致转换后的目标数据提供给前端渲染时,还需要再针对不同的目标数据进行理解,以解析成前端视图数据格式所理解的数据,因此,针对此本公开实施例中,还提供了一种针对转换后的目标数据的视图数据归一化处理,具体可能的实施方式为:
1)确定视图数据模式,其中,视图数据模式是基于视图数据格式而确定的,视图数据模式中包括的各字段和视图数据格式对应,并视图数据模式中各字段对应的模式类型为针对多个不同的源数据中表征相同语义的标签所定义的归一化类型。
其中,视图数据模式可以理解为一种基于视图数据格式而定义的规范化和标准化的描述或规则信息,例如所定义的视图数据模式(Schema)为:
{word:{
type:'string',
schemaType:{
//词典A
path:'headword',
pathType:'absolutePath'
//词典B
path:'hw',
pathType:'absolutePath'
}},
pronounce:{
type:'string',
schemaType:{
//词典A
path:'pronounce',
pathType:'absolutePath'
//词典B
path:'pn',
pathType:'absolutePath'
}}}
其中,模式类型(schemaType)即为定义的归一化类型,视图数据格式中word,在词典A中对应相同语义的标签为headword,而在词典B中对应相同语义的标签为hw,可以通过定义schema type,将不同词典中相同语义的headword和hw,进行归一化处理,可以作为word下的类型属性而实现兼容不同词典的标签差异。
2)根据视图数据模式和目标数据,从目标数据中进行数据提取,获得符合视图数据格式的视图数据,其中,视图数据用于进行视图渲染并展示。
本公开实施例中,根据视图数据模式,可以从目标数据中提取出和视图数据格式一一对应的视图数据,进而提取出的视图数据是视图层能够理解的数据,能够直接进行渲染。
例如,参阅图2所示,为本公开实施例中视图数据提取的原理效果图,如图2所示,针对某单词Above,视图层在渲染展示时需获取对应的单词(word)和发音(pronounce)的取值,word和pronounce为视图数据格式的字段,基于本公开实施例中的视图数据模式,不管源数据是来自词典A还是词典B,也无需针对词典A和词典B分别编写相应的渲染逻辑,本公开实施例中,可以通过视图数据模式,兼容不同词典的差异性,通过视图数据模式,可以直接提取到word和pronounce对应的在词典A中实际的取值,也可以提取到对应的在词典B中实际的取值,这样,视图层只需理解word和pronounce即可,根据word和pronounce所对应提取到的取值进行渲染,并进行展示。
这样,本公开实施例中,针对转换后的目标格式的目标数据,可以进一步地从视图角度,将不同源数据所对应转换的目标数据,统一在同一语义中,减少视图层的处理工作,可以获得直接能够渲染的视图数据,提高了效率。
下面采用具体应用场景对本公开实施例中的数据处理方法进行说明,以源格式为XML格式,源数据为词典XML文件,源数据中各对象为词典包括的各个单词,并且目标格式为JSON格式为例,可以分为以下两部分进行介绍。
第一部分:目标数据转换。
例如,参阅图3所示,为本公开实施例中数据处理方法中目标数据转换的原理框图,该部分的输入为源数据和源数据的描述文件,输出为目标格式的目标数据。
如图3所示,获取词典XML文件和对应的描述文件,编译词典XML文件中单词目录,运行分割(split)脚本,该split脚本用于解析源数据即词典XML文件,对词典XML文件进行解析,获得各单词的标识索引表和各单词对应的子XML文件,其中,各单词的标识索引表和子XML文件具有映射关系,以将各单词与子XML文件对应起来。
进而针对各单词的子XML文件,运行语法分析器(parser)脚本,该parser脚本用于将XML格式的源数据转换为JSON格式的目标数据,具体地,根据词典XML文件中各标签对应定义的转换函数,将各单词的子XML文件转换为JSON格式的目标数据,即可以称为JSON文件。
并且,本公开实施例中,获得JSON文件后,还可以对JSON文件进行复制备份、清洗等操作,可以便于管理和修正,降低信息量,保证最终目标数据的准确性,如图3所示,通过运行连接(link)脚本实现复制备份,link脚本可以将数据当前所在位置和复制数据所到目标位置进行连接,进而实现将数据复制到目标位置,并且通过运行清洗(rinse)脚本,对目标数据按照一定规则进行数据清洗,例如删除取值为空的标签、删除异常值、删除重复值等,可以提高目标数据的可用性,更加适合后续的分析处理等工作。
进一步地,本公开实施例中,还可以对转换后的目标格式的目标数据进行校验,以保证目标数据的完整性和准确性。
另外,本公开实施例中,如图3所示,还可以针对各单词的XML文件,通过运行分析脚本,生成全量结构树,这样将词典XML文件中所有标签汇总为全量结构树,该全量结构树可以用于进行校验等,只要全量结构树是正确的,则属于该全量结构树的各标签和单词等就可以认为是正确的,并且该全量结构树还可以用于后续其它业务需求,例如,基于该全量结构树,依次针对各标签定义转换类型和转换函数。
这样,本公开实施例中,针对不同的源数据和描述文件,通过解析、基于各标签对应的转换函数的转换、校验等处理,可以高效地实现从源格式到目标格式的目标数据的转换,提高了效率。
第二部分:视图数据归一化处理。
例如,参阅图4所示,为本公开实施例中数据处理方法中视图数据归一化处理的原理框图,如图4所示,可以先根据视图结构定义视图数据格式,根据视图数据格式,抽象出对应的视图数据模式,其中,视图结构和视图数据格式一一对应,视图结构为前端相关人员预先进行设计,进而根据目标数据和视图数据模式,按照该视图数据模式,从目标数据中进行相应数据提取,获得符合视图数据格式的视图数据,这样可以统一不同源数据的标签语义差异,减少视图层的解析工作量和复杂度,从而可以将视图数据发送到前端视图层,前端可以直接根据该视图数据进行渲染展示。
这样,本公开实施例中,可以将目标数据再进行视图数据归一化处理,可以处理任意目标数据到标准视图数据的映射,进而可以满足任意场景的视图渲染,提高了便捷性和适用性,并且降低了视图渲染时逻辑处理的复杂度,提高了效率,还可以提高渲染的稳定性。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与数据处理方法对应的数据处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述数据处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图5所示,为本公开实施例提供的一种数据处理装置的示意图,该装置包括:
获取模块51,用于获取源数据和所述源数据的描述文件;
解析模块52,用于根据所述描述文件和所述源数据的源格式,对所述源数据进行解析,获得所述源数据中各对象对应的子源数据,其中,所述子源数据包括在各标签下的取值;
转换模块53,用于根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据,其中,所述转换函数用于所述目标格式的转换。
一种可选的实施方式中,所述根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据之后,还包括校验模块54,用于按照预设规则,对所述目标格式的所述目标数据进行校验,确定所述目标数据是否正确和/或是否完整。
一种可选的实施方式中,所述按照预设规则,对所述目标格式的所述目标数据进行校验,确定所述目标数据是否正确和/或是否完整时,校验模块54用于执行以下至少一种方式:
确定满足复杂度的目标对象,并根据所述目标对象对应的所述子源数据和所述目标数据,判断在各所述标签下的取值和/或取值顺序是否一致,确定所述目标数据是否正确和/或是否完整;
根据所述源数据中各所述对象的数量,以及所述目标数据对应的所述对象的数量,确定所述目标数据是否完整。
一种可选的实施方式中,所述根据所述描述文件和所述源数据的源格式,对所述源数据进行解析,获得所述源数据中各对象对应的子源数据时,解析模块52用于:
确定所述源数据的源格式和所述源格式对应的解析方式;
根据所述描述文件和所述解析方式,对所述源数据进行解析,遍历所述源数据中包括的各对象,获得各所述对象对应的子源数据。
一种可选的实施方式中,在所述根据所述描述文件和所述源数据的源格式,对所述源数据进行解析时,还包括过滤模块55,用于:
根据预设的过滤标签集,过滤掉所述源数据中在所述过滤标签集中的所述标签;和/或,过滤掉所述源数据中取值为空的所述标签。
一种可选的实施方式中,所述根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据之后,还包括清洗模块56,用于:
根据预设数据清洗规则,对各所述对象对应的所述目标数据进行数据清洗处理,其中,所述数据清洗处理包括以下至少一种:过滤掉取值为空的所述标签、删除所述标签中的重复取值、删除所述标签中的异常取值。
一种可选的实施方式中,所述根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据之后,还包括归一化处理模块57,用于:
确定视图数据模式,其中,所述视图数据模式是基于视图数据格式而确定的,所述视图数据模式中包括的各字段和所述视图数据格式对应,并所述视图数据模式中各所述字段对应的模式类型为针对多个不同的所述源数据中表征相同语义的标签所定义的归一化类型;
根据所述视图数据模式和所述目标数据,从所述目标数据中进行数据提取,获得符合所述视图数据格式的视图数据,其中,所述视图数据用于进行视图渲染并展示。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种电子设备,如图6所示,为本公开实施例提供的电子设备结构示意图,包括:
处理器61和存储器62;所述存储器62存储有处理器61可执行的机器可读指令,处理器61用于执行存储器62中存储的机器可读指令,所述机器可读指令被处理器61执行时,处理器61用于执行下述步骤:
获取源数据和所述源数据的描述文件;
根据所述描述文件和所述源数据的源格式,对所述源数据进行解析,获得所述源数据中各对象对应的子源数据,其中,所述子源数据包括在各标签下的取值;
根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据,其中,所述转换函数用于所述目标格式的转换。
一种可选的实施方式中,所述根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据之后,处理器61还用于按照预设规则,对所述目标格式的所述目标数据进行校验,确定所述目标数据是否正确和/或是否完整。
一种可选的实施方式中,所述按照预设规则,对所述目标格式的所述目标数据进行校验,确定所述目标数据是否正确和/或是否完整时,处理器61用于执行以下至少一种方式:
确定满足复杂度的目标对象,并根据所述目标对象对应的所述子源数据和所述目标数据,判断在各所述标签下的取值和/或取值顺序是否一致,确定所述目标数据是否正确和/或是否完整;
根据所述源数据中各所述对象的数量,以及所述目标数据对应的所述对象的数量,确定所述目标数据是否完整。
一种可选的实施方式中,所述根据所述描述文件和所述源数据的源格式,对所述源数据进行解析,获得所述源数据中各对象对应的子源数据时,处理器61用于:
确定所述源数据的源格式和所述源格式对应的解析方式;
根据所述描述文件和所述解析方式,对所述源数据进行解析,遍历所述源数据中包括的各对象,获得各所述对象对应的子源数据。
一种可选的实施方式中,在所述根据所述描述文件和所述源数据的源格式,对所述源数据进行解析时,处理器61还用于:
根据预设的过滤标签集,过滤掉所述源数据中在所述过滤标签集中的所述标签;和/或,过滤掉所述源数据中取值为空的所述标签。
一种可选的实施方式中,所述根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据之后,处理器61还用于:
根据预设数据清洗规则,对各所述对象对应的所述目标数据进行数据清洗处理,其中,所述数据清洗处理包括以下至少一种:过滤掉取值为空的所述标签、删除所述标签中的重复取值、删除所述标签中的异常取值。
一种可选的实施方式中,所述根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据之后,处理器61还用于:
确定视图数据模式,其中,所述视图数据模式是基于视图数据格式而确定的,所述视图数据模式中包括的各字段和所述视图数据格式对应,并所述视图数据模式中各所述字段对应的模式类型为针对多个不同的所述源数据中表征相同语义的标签所定义的归一化类型;
根据所述视图数据模式和所述目标数据,从所述目标数据中进行数据提取,获得符合所述视图数据格式的视图数据,其中,所述视图数据用于进行视图渲染并展示。
上述存储器62包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器61中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器61通过内存621与外部存储器622进行数据交换。
上述指令的具体执行过程可以参考本公开实施例中所述的数据处理方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的数据处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取源数据和所述源数据的描述文件;
根据所述描述文件和所述源数据的源格式,对所述源数据进行解析,获得所述源数据中各对象对应的子源数据,其中,所述子源数据包括在各标签下的取值;
根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据,其中,所述转换函数用于所述目标格式的转换。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据之后,所述方法还包括:
按照预设规则,对所述目标格式的所述目标数据进行校验,确定所述目标数据是否正确和/或是否完整。
3.根据权利要求2所述的方法,其特征在于,所述按照预设规则,对所述目标格式的所述目标数据进行校验,确定所述目标数据是否正确和/或是否完整,包括以下至少一种方式:
确定满足复杂度的目标对象,并根据所述目标对象对应的所述子源数据和所述目标数据,判断在各所述标签下的取值和/或取值顺序是否一致,确定所述目标数据是否正确和/或是否完整;
根据所述源数据中各所述对象的数量,以及所述目标数据对应的所述对象的数量,确定所述目标数据是否完整。
4.根据权利要求1所述的方法,其特征在于,所述根据所述描述文件和所述源数据的源格式,对所述源数据进行解析,获得所述源数据中各对象对应的子源数据,包括:
确定所述源数据的源格式和所述源格式对应的解析方式;
根据所述描述文件和所述解析方式,对所述源数据进行解析,遍历所述源数据中包括的各对象,获得各所述对象对应的子源数据。
5.根据权利要求1所述的方法,其特征在于,在所述根据所述描述文件和所述源数据的源格式,对所述源数据进行解析时,所述方法还包括:
根据预设的过滤标签集,过滤掉所述源数据中在所述过滤标签集中的所述标签;和/或,
过滤掉所述源数据中取值为空的所述标签。
6.根据权利要求1所述的方法,其特征在于,所述根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据之后,所述方法还包括:
根据预设数据清洗规则,对各所述对象对应的所述目标数据进行数据清洗处理,其中,所述数据清洗处理包括以下至少一种:过滤掉取值为空的所述标签、删除所述标签中的重复取值、删除所述标签中的异常取值。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据之后,所述方法还包括:
确定视图数据模式,其中,所述视图数据模式是基于视图数据格式而确定的,所述视图数据模式中包括的各字段和所述视图数据格式对应,并所述视图数据模式中各所述字段对应的模式类型为针对多个不同的所述源数据中表征相同语义的标签所定义的归一化类型;
根据所述视图数据模式和所述目标数据,从所述目标数据中进行数据提取,获得符合所述视图数据格式的视图数据,其中,所述视图数据用于进行视图渲染并展示。
8.一种数据处理装置,其特征在于,包括:
获取模块,用于获取源数据和所述源数据的描述文件;
解析模块,用于根据所述描述文件和所述源数据的源格式,对所述源数据进行解析,获得所述源数据中各对象对应的子源数据,其中,所述子源数据包括在各标签下的取值;
转换模块,用于根据各所述标签分别对应的转换函数,将各所述对象对应的所述子源数据转换为目标格式的目标数据,其中,所述转换函数用于所述目标格式的转换。
9.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310519469.5A CN116521621A (zh) | 2023-05-09 | 2023-05-09 | 一种数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310519469.5A CN116521621A (zh) | 2023-05-09 | 2023-05-09 | 一种数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116521621A true CN116521621A (zh) | 2023-08-01 |
Family
ID=87402787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310519469.5A Pending CN116521621A (zh) | 2023-05-09 | 2023-05-09 | 一种数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116521621A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290671A (zh) * | 2023-11-27 | 2023-12-26 | 中国西安卫星测控中心 | 一种数据预处理方法、装置、电子设备和计算机存储介质 |
-
2023
- 2023-05-09 CN CN202310519469.5A patent/CN116521621A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290671A (zh) * | 2023-11-27 | 2023-12-26 | 中国西安卫星测控中心 | 一种数据预处理方法、装置、电子设备和计算机存储介质 |
CN117290671B (zh) * | 2023-11-27 | 2024-02-09 | 中国西安卫星测控中心 | 一种数据预处理方法、装置、电子设备和计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8140468B2 (en) | Systems and methods to extract data automatically from a composite electronic document | |
CN111177184A (zh) | 基于自然语言的结构化查询语言转换方法、及其相关设备 | |
CN114821622A (zh) | 文本抽取方法、文本抽取模型训练方法、装置及设备 | |
CN112015430A (zh) | JavaScript代码翻译方法、装置、计算机设备及存储介质 | |
CN111913739B (zh) | 一种服务接口原语定义方法和系统 | |
CN112527291A (zh) | 网页生成方法、装置、电子设备及存储介质 | |
CN111831384A (zh) | 语言切换方法和装置、设备及存储介质 | |
CN116521621A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US9372846B1 (en) | Method for abstract syntax tree building for large-scale data analysis | |
CN114444465A (zh) | 信息抽取方法、装置、设备及存储介质 | |
CN112667208A (zh) | 翻译错误识别方法、装置、计算机设备及可读存储介质 | |
CN111831624A (zh) | 数据表创建方法、装置、计算机设备及存储介质 | |
CN115759037A (zh) | 建筑施工方案智能审核框架及审核方法 | |
CN112732743B (zh) | 一种基于中文自然语言的数据分析方法及装置 | |
CN111708819B (zh) | 用于信息处理的方法、装置、电子设备和存储介质 | |
US20090217156A1 (en) | Method for Storing Localized XML Document Values | |
US20150324333A1 (en) | Systems and methods for automatically generating hyperlinks | |
CN112836477B (zh) | 代码注释文档的生成方法、装置、电子设备及存储介质 | |
CN111783482A (zh) | 一种文本翻译方法、装置、计算机设备及存储介质 | |
CN111241096A (zh) | 一种excel文档的文本提取方法、系统、终端及存储介质 | |
CN112949283B (zh) | 文本处理方法、装置、非易失性存储介质及处理器 | |
CN110618809B (zh) | 一种前端网页输入约束提取方法和装置 | |
CN117573140B (zh) | 一种通过扫描代码生成文档的方法、系统及装置 | |
CN111046636B (zh) | 筛选pdf文件信息的方法、装置、计算机设备及存储介质 | |
CN116932771A (zh) | 一种fmea知识图谱构建方法、装置和设备 |
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 |