CN109240998B - 可配置的文件解析方法 - Google Patents
可配置的文件解析方法 Download PDFInfo
- Publication number
- CN109240998B CN109240998B CN201810973837.2A CN201810973837A CN109240998B CN 109240998 B CN109240998 B CN 109240998B CN 201810973837 A CN201810973837 A CN 201810973837A CN 109240998 B CN109240998 B CN 109240998B
- Authority
- CN
- China
- Prior art keywords
- file
- data
- original
- type information
- file type
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种可配置的文件解析方法,属于文件解析和数据运算技术领域。所述方法包括:接收原文件,确定所述原文件的文件类型信息;根据所述文件类型信息对应的文件解析规则获取所述原文件包含的原始数据;根据所述文件类型信息对应的数据运算规则对所述原始数据进行计算,得到更新数据;通过预设的文件输出规则、所述原始数据和所述更新数据生成新文件。本发明可以减少管理人员工作量和工作难度,降低成本。
Description
技术领域
本发明涉及文件解析和数据运算技术领域,尤其涉及一种可配置的文件解析方法。
背景技术
CDN系统中包含有分发服务系统、负载均衡系统、运营管理系统、网络管理系统等多个子系统,各个子系统在运行时往往需要依托于其它子系统处理后的数据来实现相应的业务功能,故而各个子系统间存在一定的数据交互需求。
子系统之间通常以文件的形式传递数据,不同子系统支持的文件类型也不完全相同,因此,某一子系统在接收到其他子系统发来的原文件后,需要先确定原文件的文件类型,然后筛选出能够解析该文件类型的所有文件解析程序,之后,子系统按照新文件的生成需求在筛选出的所有文件解析程序中选择对应的文件解析程序。进而,子系统可以先通过该文件解析程序解析原文件,再对解析得到的数据进行转换、计算等处理,最后基于处理后的数据生成新文件。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
一方面,一种文件解析程序只能将对应文件类型的原文件解析生成对应文件类型的新文件,如果改变原文件或新文件的文件类型,则需要耗费较长时间重新设计文件解析程序;另一方面,对于已经设计好的文件解析程序,如果处理过程需要加入其它转换、计算处理,同样需要耗费较长时间修改文件解析程序,故而,解析文件成本高,运营难度大。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种可配置的文件解析方法。所述技术方案如下:
第一方面,提供了一种可配置的文件解析方法,所述方法包括:
接收原文件,确定所述原文件的文件类型信息;
根据所述文件类型信息对应的文件解析规则获取所述原文件包含的原始数据;
根据所述文件类型信息对应的数据运算规则对所述原始数据进行计算,得到更新数据;
通过预设的文件输出规则、所述原始数据和所述更新数据生成新文件。
进一步的,在接收原文件前,所述方法还包括:
读取解析配置文件,加载所述解析配置文件中记录的文件解析配置、文件计算配置和文件输出配置;其中,所述文件解析配置包含至少一条文件解析规则及其对应的文件类型信息;所述文件计算配置包含至少一条数据运算规则及其对应的数据选取范围和文件类型信息;所述文件输出配置包含至少一条文件输出规则,每个所述文件输出规则至少包含输出触发条件、输出源数据和文件输出属性。
进一步的,所述根据所述文件类型信息对应的文件解析规则获取所述原文件包含的原始数据,包括:
确定所述文件类型信息对应的文件解析规则中包含的数据格式信息,所述数据格式信息包含数据类型及其对应的数据位置信息;
根据所述数据位置信息从所述原文件中获取不同数据类型对应的原始数据。
进一步的,所述根据所述文件类型信息对应的数据运算规则对所述原始数据进行计算,得到更新数据,包括:
根据所述文件类型信息确定对应的数据运算规则;
针对所述文件计算配置中的每个数据运算规则,基于所述数据运算规则对应的数据选取范围在所述原始数据中确定目标数据;
通过所述数据运算规则对所述目标数据进行计算,得到所述数据运算规则下的更新数据。
进一步的,所述通过预设的文件输出规则、所述原始数据和所述更新数据生成新文件,包括:
当满足目标文件输出规则的输出触发条件时,在所述原始数据和所述更新数据中选择所述目标文件输出规则的输出源数据;
根据所述目标文件输出规则的输出源数据和文件输出属性生成新文件。
进一步的,所述确定所述原文件的文件类型信息,包括:
将所述原文件的后缀名对应的文件类型信息确定为所述原文件的文件类型信息;或者,将在所述原文件的预设位置处读取到的文件类型信息确定为所述原文件的文件类型信息。
进一步的,所述方法还包括:
将所述原文件的后缀名对应的文件类型信息确定为所述原文件的文件类型信息后,如果无法获取所述原文件包含的原始数据,则将在所述原文件的预设位置处读取到的文件类型信息重新确定为所述原文件的文件类型信息,根据所述文件类型信息对应的文件解析规则获取所述原文件包含的原始数据;
将在所述原文件的预设位置处读取到的文件类型信息确定为所述原文件的文件类型信息后,如果无法获取所述原文件包含的原始数据,则对所述原文件进行标记后报警。
进一步的,所述方法还包括:
将所述原文件的后缀名对应的文件类型信息确定为所述原文件的文件类型信息后,如果所述文件类型信息对应的所述数据运算规则在所述原始数据中没有目标数据,则将在所述原文件的预设位置处读取到的文件类型信息重新确定为所述原文件的文件类型信息,根据所述文件类型信息对应的数据运算规则对所述原始数据进行计算,得到更新数据;
将在所述原文件的预设位置处读取到的文件类型信息确定为所述原文件的文件类型信息后,如果所述文件类型信息对应的所述数据运算规则在所述原始数据中没有目标数据,则对包含所述原始数据的所述原文件进行标记后报警。
第二方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的可配置的文件解析方法。
第三方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的可配置的文件解析方法。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,确定接收到的原文件的文件类型,根据文件类型对应的文件解析配置获取原文件包含的原始数据;根据文件计算配置对原始数据进行计算,得到更新数据;根据文件输出配置、原始数据和更新数据生成新文件。这样,管理人员可以根据实际需求修改或添加配置,实现增加可以解析的原文件和新文件文件类型、改变数据处理方法,无需修改或重新设计文件解析程序,减少管理人员工作量和工作难度,降低成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种可配置的文件解析方法的流程图;
图2是本发明实施例提供的一种可配置的文件解析装置的结构示意图;
图3是本发明实施例提供的一种可配置的文件解析装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种可配置的文件解析方法,该方法可以应用在CDN系统中,并由CDN系统包含的子系统来具体实现。CDN系统中的各个子系统在运行时往往需要依托于其它子系统处理后的数据来实现相应的业务功能,各个子系统间存在一定的数据交互需求,故而,本实施例的应用场景可以如下:一个子系统在接收到其他子系统发来的原文件后,选择文件解析配置解析原文件,获取原文件中包含的原始数据,然后选择文件计算配置对原始数据进行计算得到更新数据,最后使用文件输出配置通过原始数据和更新数据生成新文件。这样,可以通过在子系统中分别加载不同的文件解析配置、文件计算配置和文件输出配置,更新或增加子系统可解析的文件类型、可输出的文件类型、可实现的数据处理方法。
下面将结合具体实施方式,对图1所示的一种可配置的文件解析处理流程进行详细的说明,内容可以如下:
步骤101:接收原文件,确定原文件的文件类型信息。
在实施中,CDN系统的某一子系统在接收到其他子系统发来的原文件后,需要先确定原文件的文件类型信息。
可选的,确定原文件的文件类型信息的处理具体可以如下:将原文件的后缀名对应的文件类型信息确定为原文件的文件类型信息;或者,将在原文件的预设位置处读取到的文件类型信息确定为原文件的文件类型信息。
在实施中,文件后缀名也称为文件扩展名,通常用来标志文件类型,故而,子系统在确定原文件的文件类型信息时,首先可以通过识别原文件的后缀名,找到原文件的后缀名对应的文件类型信息,作为原文件的文件类型信息;此外,还可以将文件类型信息预先写入原文件的预设位置,这样,对于没有后缀名的原文件,就可以将原文件的预设位置处读取到的文件类型信息,作为原文件的文件类型信息,同时,也可以通过在不同原文件的预设位置写入不同的文件类型信息,使得具有相同后缀名的几份原文件具有不同的文件类型信息。可以理解的,在确定原文件的文件类型信息的过程中,由于对原文件的后缀名进行识别更加方便快捷,所以通常首先采用识别原文件后缀名的方法,将原文件的后缀名对应的文件类型信息确定为原文件的文件类型信息。
可选的,为了能够对不同的文件类型的原文件进行解析、使用不同的处理计算方法、生成不同文件类型的新文件,可以将原文件的处理过程划分为解析、计算和输出三个步骤,然后针对每个步骤分别进行配置,相应的处理可以如下:读取解析配置文件,加载所述解析配置文件中记录的文件解析配置、文件计算配置和文件输出配置。
其中,文件解析配置包含至少一条文件解析规则及其对应的文件类型信息;文件计算配置包含至少一条数据运算规则及其对应的数据选取范围和文件类型信息;文件输出配置包含至少一条文件输出规则,每个文件输出规则至少包含输出触发条件、输出源数据和文件输出属性。
在实施中,管理人员预先在子系统中设置解析配置文件,解析配置文件中分别记录有文件解析配置、文件计算配置和文件输出配置。文件解析配置中包含一条或一条以上的文件解析规则、以及每条文件解析规则能够解析的目标文件的文件类型信息;文件计算配置中包含一条或者一条以上的数据运算规则、每条数据运算规则的数据选取范围、以及能够使用该数据运算规则进行计算的目标文件的文件类型信息,数据运算规则可以包括加、减、乘、除、均值、方差、转换等;文件输出配置中包含一条或者一条以上的文件输出规则,每个文件输出规则中还至少包含有触发该条输出规则运行的输出触发条件、该条文件输出规则生成新文件时所需数据的数据选取范围、以及该条文件输出规则生成新文件时使用的文件输出属性。管理人员设置好文件解析配置、文件计算配置和文件输出配置后,子系统可以加载上述配置备用,待需要的时候在相应的配置中选择对应的配置或者规则进行处理。
步骤102:根据文件类型信息对应的文件解析规则获取原文件包含的原始数据。
在实施中,在确定原文件的文件类型信息之后,子系统就可以根据文件类型信息选择对应的文件解析规则来解析原文件,从而获取原文件中包含的原始数据。
可选的,根据文件类型信息对应的文件解析规则获取原文件包含的原始数据的处理具体可以如下:确定文件类型信息对应的文件解析规则中包含的数据格式信息,数据格式信息包含数据类型及其对应的数据位置信息;根据数据位置信息从原文件中获取不同数据类型对应的原始数据。
在实施中,在确定原文件的文件类型信息之后,子系统在已加载的文件解析配置中,选择与原文件的文件类型信息对应的文件解析规则,文件解析规则中包含有用于描述原文件数据格式的数据格式信息,数据格式信息具体描述了原文件中包含数据的数据位置以及该数据位置的数据所属的数据类型,通过数据格式信息可以获取原文件中不同数据位置上的数据及该数据对应的数据类型作为原始数据。
例如:原文件A中包含有以下数据:
1.1.1.1 1 100 200
1.1.1.1 1 300 400
2.2.2.2 2 500 600
子系统在接收到原文件A后,确定原文件A的文件类型信息为TYPE_1,然后从已加载的文件解析配置中,选择TYPE_1对应的文件解析规则ANALY_1,文件解析规则ANALY_1中包含的数据格式信息可以是:文件类型为TYPE_1的文件具有四列数据,四列数据的数据类型依次分别为IP地址、分组、数据流、需求。根据文件解析规则ANALY_1包含的数据格式信息,可以从原文件A中获取以下三条原始数据:IP地址1.1.1.1,分组1,数据流100,需求200;IP地址1.1.1.1,分组1,数据流300,需求400;IP地址2.2.2.2,分组2,数据流500,需求600。
可选的,子系统在根据文件类型信息对应的文件解析规则获取原文件包含的原始数据时,如果文件类型信息没有对应的文件解析规则,或者对应的文件解析规则中包含的数据格式信息与原文件不符,则可能发生解析失败,无法获取原文件包含的原始数据等情况,相应的处理可以如下:将原文件的后缀名对应的文件类型信息确定为原文件的文件类型信息后,如果文件类型信息对应的数据运算规则在原始数据中没有目标数据,则将在原文件的预设位置处读取到的文件类型信息重新确定为原文件的文件类型信息,根据文件类型信息对应的文件解析规则获取原文件包含的原始数据;将在原文件的预设位置处读取到的文件类型信息确定为原文件的文件类型信息后,如果文件类型信息对应的数据运算规则在原始数据中没有目标数据,则对包含原始数据的原文件进行标记后报警。
在实施中,在根据原文件的后缀名确定原文件的文件类型信息后,子系统选择对应的文件解析规则来解析原文件,如果有解析失败,无法获取原文件中包含的原始数据等情况发生,此时,子系统可以在原文件的预设位置处读取预先写入原文件的文件类型信息,将读取到的文件类型信息重新确定为原文件的文件类型信息,然后根据重新确定的文件类型信息选择新的文件解析规则,对原文件进行解析。在根据原文件预设位置处读取到的文件类型信息确定原文件的文件类型信息后,子系统选择对应的文件解析规则来解析原文件,如果有发生解析失败,无法获取原文件包含的原始数据等情况发生,此时,无法再通过其他途径重新确定原文件的文件类型信息,也就不能再重新确定对应的文件解析规则,因此,将停止对原文件的解析,并对原文件进行标记,然后进行报警提示管理人员。
步骤103:根据文件类型信息对应的数据运算规则对原始数据进行计算,得到更新数据。
在实施中,子系统在解析原文件获取原始数据后,可以根据之前确定的文件类型信息,选择对应的数据运算规则,对原始数据进行各种类型的计算处理,得到更新数据。
可选的,根据文件类型信息对应的数据运算规则对原始数据进行计算,得到更新数据的处理具体可以如下:根据文件类型信息确定对应的数据运算规则;针对文件计算配置中的每个数据运算规则,基于数据运算规则对应的数据选取范围在原始数据中确定目标数据;通过数据运算规则对目标数据进行计算,得到数据运算规则下的更新数据。
在实施中,在得到原始数据后,子系统从已加载的文件计算配置中,选择与步骤101确定的文件类型信息对应的数据运算规则,根据每条数据运算规则对应的数据选取范围,分别从原始数据中选取相应的数据作为目标数据,然后依次使用每条数据运算规则和相应的目标数据进行计算处理,得到对应的更新数据。
例如,子系统得到三条原始数据:IP地址1.1.1.1,分组1,数据流100,需求200;IP地址1.1.1.1,分组1,数据流300,需求400;IP地址2.2.2.2,分组2,数据流500,需求600,然后,子系统根据原文件A的文件类型信息TAPE_1,从已加载的文件计算配置中选择对应的数据运算规则TRANS_1,将IP地址转换为省份,其中1.1.1.1=A,2.2.2.2=B。数据运算规则TRANS_1限定的数据选取范围为IP地址,故而,可选取IP地址1.1.1.1、IP地址1.1.1.1和IP地址2.2.2.2三条原始数据作为目标数据,根据数据运算规则TRANS_1对目标数据进行计算处理,得到三条更新数据:IP地址1.1.1.1,省份A;IP地址1.1.1.1,省份A;IP地址2.2.2.2,省份B。如果文件解析配置中还记录有文件类型信息TAPE_1对应的数据运算规则TRANS_2,对省份A的数据流累加,则可以确定数据选取范围为省份A的数据流,根据数据运算规则TRANS_1得到的更新数据可知省份A在原始数据中相当于IP地址1.1.1.1,即可获得数据流100和数据流300两条原始数据作为目标数据,根据数据运算规则TRANS_2对目标数据进行计算处理,得到一条更新数据:省份A,总数据流400。
可选的,子系统在根据文件类型信息对应的数据运算规则对原始数据进行计算得到更新数据时,如果基于数据运算规则对应的数据选取范围无法在原始数据中确定目标数据,相应的处理可以如下:将原文件的后缀名对应的文件类型信息确定为原文件的文件类型信息后,如果文件类型信息对应的数据运算规则在原始数据中没有目标数据,则将在原文件的预设位置处读取到的文件类型信息重新确定为原文件的文件类型信息,根据文件类型信息对应的数据运算规则对原始数据进行计算,得到更新数据;将在原文件的预设位置处读取到的文件类型信息确定为原文件的文件类型信息后,如果文件类型信息对应的数据运算规则在原始数据中没有目标数据,则对包含原始数据的原文件进行标记后报警。
在实施中,子系统在对原文件解析得到的原始数据进行计算时,如果文件类型信息对应的数据运算规则在原始数据中没有目标数据,说明该数据运算规则不适用于原文件解析得到的原始数据,此时,子系统可以在原文件的预设位置处读取预先写入原文件的文件类型信息,将读取到的文件类型信息重新确定为原文件的文件类型信息,然后根据重新确定的文件类型信息确定新的数据运算规则,基于新的数据运算规则对应的数据选取范围在原文件的原始数据中重新确定目标数据并进行计算,最终得到更新数据。在根据原文件预设位置处读取到的文件类型信息确定原文件的文件类型信息后,子系统在对原文件解析得到的原始数据进行计算时,如果文件类型信息对应的数据运算规则在原始数据中没有目标数据,此时,无法再通过其他途径重新确定原文件的文件类型信息,也就不能再重新确定对应的数据运算规则,因此,将停止对原文件包含原始数据的计算,并对原文件进行标记,然后进行报警提示管理人员。
步骤104:通过预设的文件输出规则、原始数据和更新数据生成新文件。
在实施中,在经过计算得到更新数据之后,子系统可以通过预设的文件输出规则,从原始数据和更新数据中选择合适的数据,生成可供子系统使用的新文件。
可选的,子系统在运行过程中会不断接收到其他子系统发来的原文件,并逐一将其进行解析、计算处理得到原始数据和更新数据,但是,通常并不需要将每一份原文件均生成一份新文件,而是将多份原文件的原始数据和更新数据整合之后再统一生成一份新文件,故而,步骤104的处理具体可以如下:当满足目标文件输出规则的输出触发条件时,在原始数据和更新数据中选择目标文件输出规则的输出源数据;根据目标文件输出规则的输出源数据和文件输出属性生成新文件。
在实施中,子系统中已加载的文件输出配置下的各个文件输出规则具有不同的输出触发条件,输出触发条件可以是一段时间周期,也可以是原始数据或更新数据达到一定数据量,还可以由管理人员人为触发。当满足某一文件输出规则的输出触发条件时,子系统按照该文件输出规则,从原始数据和更新数据中选择对应的数据作为输出源数据,然后根据该文件输出规则下的文件输出属性,将输出源数据生成新文件。文件输出属性可以包括文件类型、文件位置、文件名等内容。
例如,子系统中已加载的文件输出配置包含有文件输出规则SETUP_1,文件输出规则SETUP_1包括:输出周期30min(输出触发条件)、输出数据类型为IP地址、省份的数据(输出源数据)、输出目录C:\analysis\cache server1\(文件位置)、输出文件名time-id.flow(time为生成的时间日期,id为文件顺序标识,.flow为文件后缀名)。当到达30min的时间周期后,触发文件输出规则SETUP_1,子系统从之前文件解析规则ANALY_1解析得到的原始数据和数据运算规则TRANS_1计算处理得到的更新数据中,选择数据类型为IP地址的数据1.1.1.1、2.2.2.2和数据类型为省份的数据省份A、省份B,作为输出源数据,在C:\analysis\cache server1\的位置,生成新文件07120923-Z32.flow。新文件07120923-Z32.flow中包含有以下数据:
1.1.1.1 A
2.2.2.2 B
本发明实施例中,确定接收到的原文件的文件类型,根据文件类型对应的文件解析配置获取原文件包含的原始数据;根据文件计算配置对原始数据进行计算,得到更新数据;根据文件输出配置,将原始数据和更新数据生成新文件。这样,管理人员可以根据实际需求修改或添加配置,实现增加可以解析的原文件和新文件文件类型、改变数据处理方法,无需修改或重新设计文件解析程序,减少管理人员工作量和工作难度,降低成本。
基于相同的技术构思,本发明实施例还提供了一种可配置的文件解析装置,如图2所示,所述装置包括:
收发模块201,用于接收原文件,确定所述原文件的文件类型信息。
解析模块202,用于根据所述文件类型信息对应的文件解析规则获取所述原文件包含的原始数据。
计算模块203,用于根据所述文件类型信息对应的数据运算规则对所述原始数据进行计算,得到更新数据。
输出模块204,用于通过预设的文件输出规则、所述原始数据和所述更新数据生成新文件。
可选的,如图3所示,所述装置还包括:
配置模块205,用于读取解析配置文件,加载所述解析配置文件中记录的文件解析配置、文件计算配置和文件输出配置。
其中,所述文件解析配置包含至少一条文件解析规则及其对应的文件类型信息;所述文件计算配置包含至少一条数据运算规则及其对应的数据选取范围和文件类型信息;所述文件输出配置包含至少一条文件输出规则,每个所述文件输出规则至少包含输出触发条件、输出源数据和文件输出属性。
可选的,所述收发模块201,具体用于:
接收原文件,将所述原文件的后缀名对应的文件类型信息确定为所述原文件的文件类型信息;或者,将在所述原文件的预设位置处读取到的文件类型信息确定为所述原文件的文件类型信息。
可选的,所述解析模块202,具体用于:
确定所述文件类型信息对应的文件解析规则中包含的数据格式信息,所述数据格式信息包含数据类型及其对应的数据位置信息;
根据所述数据位置信息从所述原文件中获取不同数据类型对应的原始数据。
可选的,所述计算模块203,具体用于:
根据所述文件类型信息确定对应的数据运算规则;
针对所述文件计算配置中的每个数据运算规则,基于所述数据运算规则对应的数据选取范围在所述原始数据中确定目标数据;
通过所述数据运算规则对所述目标数据进行计算,得到所述数据运算规则下的更新数据。
可选的,所输出模块204,具体用于:
当满足目标文件输出规则的输出触发条件时,在所述原始数据和所述更新数据中选择所述目标文件输出规则的输出源数据;
根据所述目标文件输出规则的输出源数据和文件输出属性生成新文件。
可选的,所述收发模块201,具体还用于:
将所述原文件的后缀名对应的文件类型信息确定为所述原文件的文件类型信息后,如果无法获取所述原文件包含的原始数据,则将在所述原文件的预设位置处读取到的文件类型信息重新确定为所述原文件的文件类型信息,根据所述文件类型信息对应的文件解析规则获取所述原文件包含的原始数据;
将在所述原文件的预设位置处读取到的文件类型信息确定为所述原文件的文件类型信息后,如果无法获取所述原文件包含的原始数据,则对所述原文件进行标记后报警。
可选的,所述收发模块201,具体还用于:
将所述原文件的后缀名对应的文件类型信息确定为所述原文件的文件类型信息后,如果所述文件类型信息对应的所述数据运算规则在所述原始数据中没有目标数据,则将在所述原文件的预设位置处读取到的文件类型信息重新确定为所述原文件的文件类型信息,根据所述文件类型信息对应的数据运算规则对所述原始数据进行计算,得到更新数据;
将在所述原文件的预设位置处读取到的文件类型信息确定为所述原文件的文件类型信息后,如果所述文件类型信息对应的所述数据运算规则在所述原始数据中没有目标数据,则对包含所述原始数据的所述原文件进行标记后报警。
需要说明的是:上述实施例提供的可配置的文件解析装置在进行文件解析处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的可配置的文件解析装置与可配置的文件解析方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于相同的技术构思,本发明实施例还提供了一种服务器,所述服务器可因配置或性能不同而产生比较大的差异,包括一个或一个以上处理器和存储器,其中,存储器可以是短暂存储或永久存储。存储器可以存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述的可配置的文件解析方法。
基于相同的技术构思,本发明实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述的可配置的文件解析方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务端,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种可配置的文件解析方法,其特征在于,所述方法包括:
读取解析配置文件,加载所述解析配置文件中记录的文件解析配置、文件计算配置和文件输出配置;其中,所述文件解析配置包含多条文件解析规则及其对应的文件类型信息;所述文件计算配置包含多条数据运算规则及其对应的数据选取范围和文件类型信息;所述文件输出配置包含多条文件输出规则,每个所述文件输出规则至少包含输出触发条件、输出源数据和文件输出属性;
不断接收原文件,确定所述原文件的文件类型信息;
根据所述文件类型信息对应的文件解析规则获取所述原文件包含的原始数据,所述原始数据包括从原文件中获取的数据和对应的数据类型;
根据所述文件类型信息对应的数据运算规则,在所述原始数据中确定目标数据,并对所述目标数据进行计算,得到更新数据;
通过预设的文件输出规则,将多份原文件的原始数据和更新数据整合之后再统一生成新文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述文件类型信息对应的文件解析规则获取所述原文件包含的原始数据,包括:
确定所述文件类型信息对应的文件解析规则中包含的数据格式信息,所述数据格式信息包含数据类型及其对应的数据位置信息;
根据所述数据位置信息从所述原文件中获取不同数据类型对应的原始数据。
3.根据权利要求1所述的方法,其特征在于,所述通过预设的文件输出规则,将多份原文件的原始数据和更新数据整合之后再统一生成新文件,包括:
当满足目标文件输出规则的输出触发条件时,在多份原文件的原始数据和更新数据中选择所述目标文件输出规则的输出源数据;
根据所述目标文件输出规则的输出源数据和文件输出属性生成新文件。
4.根据权利要求1所述的方法,其特征在于,所述确定所述原文件的文件类型信息,包括:
将所述原文件的后缀名对应的文件类型信息确定为所述原文件的文件类型信息;或者,将在所述原文件的预设位置处读取到的文件类型信息确定为所述原文件的文件类型信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述原文件的后缀名对应的文件类型信息确定为所述原文件的文件类型信息后,如果无法获取所述原文件包含的原始数据,则将在所述原文件的预设位置处读取到的文件类型信息重新确定为所述原文件的文件类型信息,根据所述文件类型信息对应的文件解析规则获取所述原文件包含的原始数据;
将在所述原文件的预设位置处读取到的文件类型信息确定为所述原文件的文件类型信息后,如果无法获取所述原文件包含的原始数据,则对所述原文件进行标记后报警。
6.根据权利要求4所述的方法,其特征在于,所述根据所述文件类型信息对应的数据运算规则,在所述原始数据中确定目标数据,并对所述目标数据进行计算,得到更新数据,包括:
根据所述文件类型信息确定对应的数据运算规则;
针对所述文件计算配置中的每个数据运算规则,基于所述数据运算规则对应的数据选取范围在所述原始数据中确定目标数据;
通过所述数据运算规则对所述目标数据进行计算,得到所述数据运算规则下的更新数据。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将所述原文件的后缀名对应的文件类型信息确定为所述原文件的文件类型信息后,如果所述文件类型信息对应的所述数据运算规则在所述原始数据中没有目标数据,则将在所述原文件的预设位置处读取到的文件类型信息重新确定为所述原文件的文件类型信息,根据所述文件类型信息对应的数据运算规则对所述原始数据进行计算,得到更新数据;
将在所述原文件的预设位置处读取到的文件类型信息确定为所述原文件的文件类型信息后,如果所述文件类型信息对应的所述数据运算规则在所述原始数据中没有目标数据,则对包含所述原始数据的所述原文件进行标记后报警。
8.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一所述的可配置的文件解析方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一所述的可配置的文件解析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810973837.2A CN109240998B (zh) | 2018-08-24 | 2018-08-24 | 可配置的文件解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810973837.2A CN109240998B (zh) | 2018-08-24 | 2018-08-24 | 可配置的文件解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109240998A CN109240998A (zh) | 2019-01-18 |
CN109240998B true CN109240998B (zh) | 2022-03-01 |
Family
ID=65068232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810973837.2A Active CN109240998B (zh) | 2018-08-24 | 2018-08-24 | 可配置的文件解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109240998B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110826297A (zh) * | 2019-11-05 | 2020-02-21 | 北京锐安科技有限公司 | 一种数据导出方法、装置、设备及存储介质 |
CN114579193B (zh) * | 2022-03-08 | 2024-01-12 | 国泰新点软件股份有限公司 | 多系统加载方法、装置、设备及存储介质 |
CN116303296B (zh) * | 2023-05-22 | 2023-08-25 | 天宇正清科技有限公司 | 一种数据存储方法、装置、电子设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424263A (zh) * | 2013-08-29 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 一种数据记录的处理方法及装置 |
CN106612309A (zh) * | 2015-10-22 | 2017-05-03 | 北京国双科技有限公司 | 配置文件的更新方法、装置及系统 |
CN107908632A (zh) * | 2017-07-26 | 2018-04-13 | 上海壹账通金融科技有限公司 | 网站文件处理方法、装置、网站文件处理平台及存储介质 |
CN108388640A (zh) * | 2018-02-26 | 2018-08-10 | 北京环境特性研究所 | 一种数据转换方法、装置以及数据处理系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024059B (zh) * | 2010-12-31 | 2012-07-18 | 成都市华为赛门铁克科技有限公司 | 一种文件系统内实现独立磁盘冗余阵列保护的方法及装置 |
CN105868311A (zh) * | 2016-03-25 | 2016-08-17 | 浪潮通信信息系统有限公司 | 一种数据解析的方法和装置 |
CN107844520A (zh) * | 2017-10-09 | 2018-03-27 | 平安科技(深圳)有限公司 | 电子装置、车辆数据导入方法及存储介质 |
-
2018
- 2018-08-24 CN CN201810973837.2A patent/CN109240998B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424263A (zh) * | 2013-08-29 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 一种数据记录的处理方法及装置 |
CN106612309A (zh) * | 2015-10-22 | 2017-05-03 | 北京国双科技有限公司 | 配置文件的更新方法、装置及系统 |
CN107908632A (zh) * | 2017-07-26 | 2018-04-13 | 上海壹账通金融科技有限公司 | 网站文件处理方法、装置、网站文件处理平台及存储介质 |
CN108388640A (zh) * | 2018-02-26 | 2018-08-10 | 北京环境特性研究所 | 一种数据转换方法、装置以及数据处理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109240998A (zh) | 2019-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11609839B2 (en) | Distributed code tracing system | |
CN107948314B (zh) | 基于规则文件的业务处理方法、装置及服务器 | |
CN111090628A (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN109240998B (zh) | 可配置的文件解析方法 | |
CN112527848B (zh) | 基于多数据源的报表数据查询方法、装置、系统及存储介质 | |
US10614087B2 (en) | Data analytics on distributed databases | |
CN111198859B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN111723112B (zh) | 数据任务执行方法、装置、电子设备及存储介质 | |
US9514184B2 (en) | Systems and methods for a high speed query infrastructure | |
CN110975293A (zh) | 建立资源引用关系表的方法、装置、服务器及介质 | |
JP2023036681A (ja) | タスク処理方法、処理装置、電子機器、記憶媒体及びコンピュータプログラム | |
CN114598597B (zh) | 多源日志解析方法、装置、计算机设备及介质 | |
CN115599359A (zh) | 一种代码生成方法、装置、设备及介质 | |
CN109697234B (zh) | 实体的多属性信息查询方法、装置、服务器和介质 | |
CN110909072B (zh) | 一种数据表建立方法、装置及设备 | |
CN115705294B (zh) | 用于获取函数调用信息的方法、装置、电子设备和介质 | |
US10628416B2 (en) | Enhanced database query processing | |
CN110753136B (zh) | 域名解析方法、装置、设备及存储介质 | |
CN112799863B (zh) | 用于输出信息的方法和装置 | |
CN114020789A (zh) | 账单数据查询方法、系统、设备及存储介质 | |
CN111930720A (zh) | 数据倾斜的处理方法、系统、电子设备和介质 | |
US10528400B2 (en) | Detecting deadlock in a cluster environment using big data analytics | |
CN111045983A (zh) | 核电站电子文件管理方法、装置、终端设备及介质 | |
CN110858240A (zh) | 一种前端模块加载方法和装置 | |
CN115563183B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |