CN111611056A - 数据处理方法、装置、计算机设备及存储介质 - Google Patents

数据处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111611056A
CN111611056A CN202010605619.0A CN202010605619A CN111611056A CN 111611056 A CN111611056 A CN 111611056A CN 202010605619 A CN202010605619 A CN 202010605619A CN 111611056 A CN111611056 A CN 111611056A
Authority
CN
China
Prior art keywords
data processing
data
script file
processed
preset
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
CN202010605619.0A
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.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank 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 Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202010605619.0A priority Critical patent/CN111611056A/zh
Publication of CN111611056A publication Critical patent/CN111611056A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • G06F9/4552Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24535Query rewriting; Transformation of sub-queries or views
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

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

Abstract

本申请适用于大数据技术领域,提供了一种数据处理方法、装置、计算机设备及存储介质,其中,一种数据处理方法,通过获取待处理数据以及第一脚本文件,第一脚本文件用于描述第一数据处理工具对待处理数据进行数据处理的逻辑过程;根据预设的正则表达式的查找条件,查找第一脚本文件中符合正则表达式的第一目标字段;根据预设的正则表达式的替换条件,将第一目标字段替换为第二目标字段,得到第二脚本文件,第二脚本文件用于描述第二数据处理工具对待处理数据进行数据处理的逻辑过程;调用第二数据处理工具执行第二脚本文件,对待处理数据进行数据处理,得到数据处理结果。从而实现由新引擎处理待处理数据,提高数据处理效率。

Description

数据处理方法、装置、计算机设备及存储介质
技术领域
本申请涉及大数据技术领域,尤其涉及一种数据处理方法、装置、计算机设备及计算机可读存储介质。
背景技术
随着大数据技术的发展,各种业务场景下的待处理数据越来越多,业务场景也越来越复杂,因而对计算引擎的性能要求越来越高。目前,传统的数据处理工具采用Java将所有数据处理功能封装到JAR(Java Archive)包,而随着大数据发展,JAR包中的部分数据处理功能不再适用当前数据处理环境,但由于JAR包内的功能与功能之间的耦合度较高,使得数据处理工具的复杂性很高且可维护性非常差,导致难以去除JAR包内的无用功能,从而导致数据处理工具的数据处理性能降低。
发明内容
有鉴于此,本申请实施例提供了一种数据处理方法、装置、计算机设备及计算机可读存储介质,以解决现有技术中数据处理工具存在数据处理性能低的问题。
本申请实施例的第一方面提供了一种数据处理方法,包括:
获取待处理数据以及第一脚本文件,第一脚本文件用于描述第一数据处理工具对待处理数据进行数据处理的逻辑过程;
根据预设的正则表达式的查找条件,查找第一脚本文件中符合正则表达式的第一目标字段;
根据预设的正则表达式的替换条件,将第一目标字段替换为第二目标字段,得到第二脚本文件,第二脚本文件用于描述第二数据处理工具对待处理数据进行数据处理的逻辑过程;
调用第二数据处理工具执行第二脚本文件,对待处理数据进行数据处理,得到数据处理结果。
本申请实施例的第二方面提供了一种数据处理装置,包括:
获取模块,用于获取待处理数据以及第一脚本文件,第一脚本文件用于描述第一数据处理工具对待处理数据进行数据处理的逻辑过程;
查找模块,用于根据预设的正则表达式的查找条件,查找第一脚本文件中符合正则表达式的第一目标字段;
替换模块,用于根据预设的正则表达式的替换条件,将第一目标字段替换为第二目标字段,得到第二脚本文件,第二脚本文件用于描述第二数据处理工具对待处理数据进行数据处理的逻辑过程;
执行模块,用于调用第二数据处理工具执行第二脚本文件,对待处理数据进行数据处理,得到数据处理结果。
本申请实施例的第三方面提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在计算机设备上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方案提供的数据处理方法的各步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方案提供的数据处理方法的各步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备实现第一方案提供的数据处理方法的各步骤。
实施本申请实施例提供的一种数据处理方法、装置、计算机设备及计算机可读存储介质具有以下有益效果:
通过获取待处理数据以及第一脚本文件,从而取出原计算引擎中适用于对待处理数据进行数据处理的处理逻辑;根据预设的正则表达式的查找条件,查找第一脚本文件中符合正则表达式的第一目标字段,根据预设的正则表达式的替换条件,将第一目标字段替换为第二目标字段,得到第二脚本文件,以将原引擎的处理逻辑转换为新引擎的处理逻辑,从而可以抽取出有用的处理逻辑,进而避免因无用的处理逻辑影响数据处理效率;以及新引擎可以是oracle引擎,被抽出的处理逻辑之间不再存在高耦合;最后调用第二数据处理工具执行第二脚本文件,对待处理数据进行数据处理,得到数据处理结果,从而实现由新引擎处理待处理数据,提高数据处理效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据处理方法的实现流程图;
图2是本申请另一实施例提供的一种数据处理方法的实现流程图;
图3是本申请再一实施例提供的一种数据处理方法的实现流程图;
图4是本申请实施例提供的一种数据处理装置的结构框图;
图5是本申请实施例提供的一种计算机设备的结构框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
如背景技术相关记载,例如信用卡积分处理工具于对指定场景下的消费记录做积分累计,这样需要积分处理工具识别消费记录对应的消费场景。而随着社会发展,消费场景越发多样化,积分处理工具的处理规则也需要更新。但传统的积分处理工具为Java引擎,由于Java引擎自身的局限性导致Java引擎的功能间的耦合度较高,使得难以移除Java引擎内的无用功能和难以增加新的功能,最终使得Java引擎不但无法达到性能优化,而且高耦合度会导致其处理性能降低。
因此,本申请实施例提出一种数据处理方法,可以由计算机设备执行,实现第一数据处理工具中有用的处理规则向第二数据处理工具迁移,如Java引擎中有用的处理规则向Oracle引擎迁移,以去除无用的处理规则和对处理规则进行解耦,从而提高积分系统的处理性能。
作为示例而非限定,计算机设备包括手机、平板电脑、可穿戴设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或个人数字助理(personal digital assistant,PDA)、云服务器、物理服务器等计算机设备,本申请实施例对计算机设备的具体类型不作任何限制。
请参阅图1,图1示出了本申请实施例提供的一种数据处理方法的实现流程图。
S101,获取待处理数据以及第一脚本文件,第一脚本文件用于描述第一数据处理工具对待处理数据进行数据处理的逻辑过程;
在上述S101中,上述待处理数据可以由第二数据处理工具的数据输入表获得,其可以是信用卡消费明细(如购买商品、生活缴费等的记录)、电话卡消费明细和会员卡消费明细等。在本实施例中,将积分系统调度的数据处理工具由原来的第一数据处理工具修改为第二数据处理工具,并将该第二数据处理工具的传入参数由原来的数据输入表修改为新的数据输入表,从而改变数据的获取路径,使得由原来的第一数据处理工具的数据输入表获取待处理数据,修改为由第二数据处理工具的数据输入表获取待处理数据,实现待处理数据的获取路径的迁移。
上述第一数据处理工具为积分系统调度的原数据处理工具,如背景技术中将数据处理功能封装为JAR包的java引擎,第一脚本文件为处理待处理数据的逻辑代码文件。应理解,由于数据处理功能的数据处理逻辑不同,可以根据每种数据处理逻辑,预先配置对应的第一脚本文件,即可以有多个第一脚本文件。
可选地,获取到待处理数据后,根据预设的抽取条件,从java引擎的JAR包中抽取一个或多个第一脚本文件,从而仅获取适用于当前数据处理环境的第一脚本文件,以便于后续采用该第一脚本文件对待处理数据进行数据处理,对于JAR包中的其他不适用于当前数据处理环境的脚本文件,则可以不做处理。示例性地,抽取条件可以为基于预设函数名抽取该预设函数名对应的第一脚本文件。
S102,根据预设的正则表达式的查找条件,查找第一脚本文件中符合正则表达式的第一目标字段;
在上述S102中,由于JAVA封装jar包,jar包中包含大量的无用功能,且jar包内的功能的耦合度较高,这样现有的积分计算引擎的复杂性很高以及可维护性非常差,所以将目前需要用到的第一脚本文件转换为基于oracle引擎的第二脚本文件,这样能够去除目前不需要的第一脚本文件,并且采用oracle作为计算引擎,可降低规则之间的耦合度。
上述正则表达式为用于查找、替换某一文本中的目标文本段的规则表达式,其包括但不限于从某一文本中查找出目标文本段的查找规则或将目标文本段替换为另一文本段的替换规则。在本实施例中,通过正则表达式的查找条件查找到第一脚本文件中的脚本段的字段,以便于后续将该字段替换为oracle引擎能够识别并运行的目标字段,从而实现不同引擎之间的规则转换。
上述查找条件为从某一文本中查找出目标文本段的查找规则。作为示例而非限定,查找条件可以是查找某一文本包含预设字段的文本段、查找某一文本中预设形式的文本段等。例如,为便于描述,将“123456789”作为第一脚本文件的脚本段,根据预设的正则表达式中用于查找第一脚本文件中连续三位数为一组的数字的查找条件“(?'test'\d)(?=(\d{3})+(?!\d))”,匹配到脚本段中的三组连续的三位数“123”、“456”、“789”。
S103,根据预设的正则表达式的替换条件,将第一目标字段替换为第二目标字段,得到第二脚本文件,第二脚本文件用于描述第二数据处理工具对待处理数据进行数据处理的逻辑过程;
在上述S103中,上述第二数据处理工具可以为oracle引擎,相比java引擎,oracle引擎能够更高效的支持大数据计算,以及oracle引擎的内部耦合度低。上述替换条件为将目标文本段替换为另一文本段的替换规则。在本实施例中,根据预设的规则表,将第一脚本文件对应的计算机代码转换为第二脚本文件对应的计算机代码,其中该规则表包含第一脚本文件与第二脚本文件的对应关系,或包含第一脚本文件的程序语言(如java)的第一字段与第二脚本文件的程序语言(如oracle)的第二字段的对应关系。
示例性地,可基于第一脚本文件与第二脚本文件的对应关系,将第一脚本文件对应的计算机代码完全替换为第二脚本文件对应的计算机代码;也可以基于java字段与oracle字段的对应关系,将第一脚本文件对应的计算机代码的java字段替换为第二脚本文件对应的计算机代码的oracle字段,以得到第二脚本文件。
可选地,上述预设的规则表为oracle引擎的规则表,在该规则表中添加java引擎的第一脚本文件对应的待转换函数名作为规则转换识别,以及在规则表中添加将第一脚本文件转换为第二脚本文件的转换条件。从而在oracle引擎抽取到第一脚本文件后,识别该第一脚本文件对应的函数名是否需要转换,若需要转换,则说明该第一脚本文件是适用于当前数据处理环境的规则文件,并基于上述转换条件转换为第二脚本文件;若不需要转换,则说明该第一脚本文件是不适用于当前数据处理环境的规则文件,并抽取下一条第一脚本文件。
进一步地,可基于实际需求,在规则表中添加或删除规则转换识别条件和转换条件,以基于规则转换识别条件识别第一脚本文件是否需要进行规则转换,并基于转换条件对需要进行规则转换的第一脚本文件进行规则转换,从而实现规则的增加或删减,而不会影响其他规则的使用,实现规则之间的解耦。
S104,调用第二数据处理工具执行第二脚本文件,对待处理数据进行数据处理,得到数据处理结果。
在上述S104中,上述数据处理包括但不限于数据分类、数据匹配和数据计算。在本实施例中,根据第二脚本文件确定待处理数据是否符合预设要求,若符合预设要求,则对符合预设要求的所有待处理数据进行运算,得到运算结果。
例如,用户通过信用卡在超市刷卡消费100元,则将该消费明细写入到oracle引擎的数据输入表,获取包含用于确定该消费明细是否在指定场景消费、用于对在指定场景下消费的消费明细进行积分值匹配、以及用于对该积分值进行累计的第一脚本文件,并将该第一脚本文件转换为oracle引擎能够运行的第二脚本文件,基于第二脚本文件,确定该消费明细是否在指定场景消费,若是,则将该消费明细归类为符合要求,以实现对消费明细进行数据分类;对符合要求的消费明细分配积分值(如100元=1积分值),以实现对消费明细进行数据匹配;将该积分值与该信用卡账户的总积分值进行相加,得到积分累计结果,以实现对积分值进行累计。
以上可以看出,本实施例提供的一种数据处理方法,通过将java引擎的积分计算规则转换成oracle引擎处理的积分计算规则,并采用oracle引擎的积分计算规则进行积分计算,这样去除java引擎中大量的无用功能,使得重构后的引擎更加简洁,耦合性更低,降低了积分计算引擎的复杂性和提高可维护性。
在一种可能实现的方式中,在图1所示实施例的基础上,上述S101之前还包括S1011至S1013:
S1011,获取第二数据处理工具的数据输入表中的业务数据;
S1012,计算业务数据的多个预设特征分别对应的Key值,得到多个Key值对应的多个待处理数据;
在上述S1011和S1012中,数据输入表为第二数据处理工具的传入参数,业务数据可以是多个信用卡的消费明细。由于目前的积分系统大多数采用分布式系统,数据分散存储在多台设备上,所以采用数据分片确定数据在多台存储设备上分布,以达到分布均匀、负载均衡、数据迁移量小的目的。在本实施例中,数据分片可根据数据的key值或key值的哈希值计算key的分布来实现,其中key值为键值。
示例性地,计算业务数据的多个预设特征分别对应的Key值,例如,多个一条业务数据为在2020年5月1日在沃尔玛购买可乐消费3元的消费明细,预设特征可以是消费时间(2020年5月1日)、消费场景(沃尔玛)、消费类型(可乐)、消费金额(3元);根据预设特征对应的预设Key值,得到业务数据的多个Key值,例如,消费时间的预设key值是1,则可以得到该消费明细的其中一个key值为1。
S1013,将Key值在预设Key值范围的待处理数据存储于预设Key范围对应的预设存储空间。
在上述S1013中,计算Key值后可采用划分号段、取模、检索表、一致性哈希值等方法将待处理数据存储于预设存储空间,从而得到分布于多台设备的待处理数据,以由多台设备调用oracle引擎并发处理待处理数据,从而提高处理效率。
请参阅图2,在图1实施例的基础上,图2是本申请另一实施例提供的一种数据处理方法的实现流程图,应理解,与图1实施例相同的步骤,此处不再赘述。本实施例提供的数据处理方法的第一脚本文件包括第一子查询脚本,步骤S102和步骤S103的具体过程如图2所示,具体地,步骤S102包括步骤S201和S202,步骤S103具体包括步骤S203和S204。详述如下:
S201,根据预设的脚本转换识别功能,识别第一脚本文件中的第一子查询脚本;
S202,根据正则表达式的查找条件,查找第一子查询脚本中符合正则表达式的多个第一目标字段;
在上述S201和S202中,子查询函数为另一个函数的查询条件的函数。在SQL语言中,一个SELECT-FROM-WHERE语句称为一个查询块。当获得一个查询的答案需要多个步骤的操作,首先必须创建一个查询来确定用户不知道但包含在数据库中的值,将一个查询块嵌套在另一个查询块的WHERE字句或HAVING短语的条件中查询块称为子查询或内层查询。
由于JAVA封装jar包,jar包中包含大量的无用功能,且jar包内的功能的耦合度较高,所以仅将目前需要用到的第一脚本文件转换为基于oracle引擎的第二脚本文件,这样能够去除目前不需要的第一脚本文件,并且采用oracle作为计算引擎,可降低规则之间的耦合度。本实施例通过正则表达式查找到功能脚本的字段,以便于后续将字段替换为oracle引擎能够识别并运行的目标字段,从而实现脚本文件的转换。
对于部分情况,oracle引擎的业务规则表中有自定义函数需要利用select语句关联其他表获取,该select语句保存在另一参数表中,因此通过置换的方式,将该自定义函数(即第一子查询函数)转为对应的select语句,例如本实施例的第一子查询函数包括substr函数、datepart函数或dateadd函数,其中substr函数、datepart函数及dateadd函数分别用于对指定场景的待处理数据进行截取、计算、供引擎筛选。
可选地,在java引擎转换为oracle引擎的规则转换作业表中添加substr函数、datepart函数及dateadd函数的转换规则和转换识别,其中转换规则为按照业务规则表中的函数转换过程进行转换(如正则表达式),转换识别为在预设位置添加待转换的函数名,最后在实际应用时,基于上述转换规则和转换识别,将java引擎规则转换为oracle引擎规则。可选地,在该过程中,还可以包含对第一脚本文件中的子查询的转换,并将转换后的子查询保存在预设业务规则表。
S203,根据正则表达式的替换条件,将第一子查询脚本中符合正则表达式的多个第一目标字段替换为第二数据处理工具能够识别的第二目标字段;
S204,将多个第二目标字段组装为第二子查询脚本,得到包含第二子查询脚本的第二脚本文件。
在上述S203和S204中,oracle引擎通过where条件使用正则表达式筛选数据,而单条筛选规则会含有多个条件(即多个第一子查询函数对应子查询条件),所以通过动态sql对不同条件间的select函数采用“and”组装为查询sql语句(即第二子查询函数)。在应用过程中,oracle引擎根据预先配置的子查询函数转换识别,取出第一脚本文件中对应的第一子查询函数,并对第一子查询函数进行转换为第二子查询函数后,根据第二子查询函数对待处理数据进行数据匹配。
请参阅图3,在图1所示实施例的基础上,图3示出了本申请再一实施例提供的一种数据处理方法的实现流程图,应理解,与图1相同的步骤,此处不再赘述。本实施例提供的数据处理方法的步骤S104的具体过程如图3所示,具体地步骤S104包括S301至S303。详述如下:
S301,调用第二数据处理工具执行第二脚本文件,并确定待处理数据是否符合第二脚本文件中的数据处理条件;
在上述S301中,基于上述第二脚本文件,通过数据匹配的方式对待处理数据进行规则过滤,以去除不符合条件的待处理数据。例如,积分系统仅对生活购物的消费积分进行累计,则oracle引擎的第二脚本文件确定待处理数据是否为生活购物的消费明细,如待处理数据是沃尔玛的消费明细,则表示符合条件,如待处理数据是旅行社的消费明细,则表示不符合条件。
可选地,还对待处理数据的进行进一步验证,例如对待处理数据的消费时间进行验证,识别待处理数据对应的消费时间是否在规定的时间段内,若是,则表示符合条件,若否,则表示不符合条件。
S302,将符合数据处理条件的待处理数据加入到预设中间表;
在上述S302中,由于同一时间的待处理数据可能存在多个,例如用户对网络购物车的多个物品进行付款,而不同物品的商家不同,即收款方有多个,这样可能存在同时有多个符合要求的待处理数据的情况。因此为了避免同时存在多个待处理数据,而导致待处理数据的后续运算出错,所以将待处理数据保存至预设中间表中。可选地,可以以insert语句的方式将符合要求的待处理数据插入到预设中间表中。
S303,对预设中间表的待处理数据进行数据运算,得到数据处理结果。
在上述S303中,对上次统计的最终积分与当前预设中间表中的所有数据进行累计,得到本次的最终积分。应理解,预设中间表中可以包含上次统计的最终积分,也可以不包含上次统计的最终积分而去数据库获取上次统计的最终积分进行累计。
可选地,还可以验证预设中间表是否存在新的待处理数据,若是,则根据数据插入记录与待处理数据的对应关系,确定预设中间表是否存在重复的处理结果,从而进一步避免重复计算积分。
在一种可能实现的方式中,上述S302之前还包括:
S3021,根据预设的数据清洗脚本,对预设中间表进行数据清洗。
在上述S3021中,由于之前存在于预设中间表中的待处理数据对影响后续的积分计算,因此需要清除之前存在于预设中间表中的待处理数据。应理解,可以多次清洗预设中间表,即每次在S302执行之前都清洗预设中间表,或每次在S302执行之前多次清洗预设中间表。
在本申请的所有实施例中,基于第二数据处理工具得到对应的数据处理结果,具体来说,数据处理结果由第二数据处理工具进行数据分类、数据计算得到。将数据处理结果上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该处理结果便查证处理结果是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
请参阅图4,图4是本申请实施例提供的一种数据处理装置的结构框图。本实施例中该移动终端包括的各单元用于执行图1至图3对应的实施例中的各步骤。具体请参阅图1至图3以及图1至图3所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图4,数据处理装置40包括:
获取模块401,用于获取待处理数据以及第一脚本文件,所述第一脚本文件用于描述第一数据处理工具对所述待处理数据进行数据处理的逻辑过程;
查找模块402,用于根据预设的正则表达式的查找条件,查找所述第一脚本文件中符合所述正则表达式的第一目标字段;
替换模块403,用于根据预设的正则表达式的替换条件,将所述第一目标字段替换为第二目标字段,得到第二脚本文件,所述第二脚本文件用于描述第二数据处理工具对所述待处理数据进行数据处理的逻辑过程
执行模块403,用于调用所述第二数据处理工具执行所述第二脚本文件,对所述待处理数据进行数据处理,得到数据处理结果。
应当理解的是,图4示出的数据处理装置的结构框图中,各单元用于执行图1至图3对应的实施例中的各步骤,而对于图1至图3对应的实施例中的各步骤已在上述实施例中进行详细解释,具体请参阅图1至图3以及图1至图3所对应的实施例中的相关描述,此处不再赘述。
图5是本申请另一实施例提供的一种计算机设备的结构框图。如图5所示,该实施例的计算机设备50包括:处理器51、存储器52以及存储在所述存储器52中并可在所述处理器51上运行的计算机程序53,例如数据处理方法的程序。处理器51执行所述计算机程序53时实现上述各个数据处理方法各实施例中的步骤,例如图1所示的S101至S104,或者图2和图3所示的S201至S204以及S301至S303。或者,所述处理器51执行所述计算机程序53时实现上述图4对应的实施例中各单元/模块的功能,例如,图4所示的模块401至404的功能,具体请参阅图4对应的实施例中的相关描述,此处不赘述。
示例性的,所述计算机程序53可以被分割成一个或多个单元/模块,所述一个或者多个单元/模块被存储在所述存储器52中,并由所述处理器51执行,以完成本申请。所述一个或多个单元/模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序53在所述计算机50中的执行过程。例如,所述计算机程序53可以被分割成获取模块、查找模块、替换模块以及执行模块,各单元/模块具体功能如上所述。
所述转台设备可包括,但不仅限于,处理器51、存储器52。本领域技术人员可以理解,图5仅仅是计算机设备50的示例,并不构成对计算机设备50的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述转台设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器51可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器52可以是所述计算机设备50的内部存储单元,例如计算机设备50的硬盘或内存。所述存储器52也可以是所述计算机设备50的外部存储设备,例如所述计算机设备50上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器52还可以既包括所述计算机设备50的内部存储单元也包括外部存储设备。所述存储器52用于存储所述计算机程序以及所述转台设备所需的其他程序和数据。所述存储器52还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
获取待处理数据以及第一脚本文件,所述第一脚本文件用于描述第一数据处理工具对所述待处理数据进行数据处理的逻辑过程;
根据预设的正则表达式的查找条件,查找所述第一脚本文件中符合所述正则表达式的第一目标字段;
根据预设的正则表达式的替换条件,将所述第一目标字段替换为第二目标字段,得到第二脚本文件,所述第二脚本文件用于描述第二数据处理工具对所述待处理数据进行数据处理的逻辑过程;
调用所述第二数据处理工具执行所述第二脚本文件,对所述待处理数据进行数据处理,得到数据处理结果。
2.根据权利要求1所述的数据处理方法,其特征在于,所述获取待处理数据以及第一脚本文件之前,还包括:
获取所述第二数据处理工具的数据输入表中的业务数据;
计算所述业务数据的多个预设特征分别对应的Key值,得到多个Key值对应的多个所述待处理数据;
将所述Key值在预设Key值范围的所述待处理数据存储于所述预设Key范围对应的预设存储空间。
3.根据权利要求1所述的数据处理方法,其特征在于,所述第一脚本文件包括第一子查询脚本,相应地,所述根据预设的正则表达式的查找条件,查找所述第一脚本文件中符合所述正则表达式的第一目标字段,包括:
根据预设的脚本转换识别功能,识别所述第一脚本文件中的所述第一子查询脚本;
根据所述正则表达式的查找条件,查找所述第一子查询脚本中符合所述正则表达式的多个所述第一目标字段。
4.根据权利要求3所述的数据处理方法,其特征在于,所述根据预设的正则表达式的替换条件,将所述第一目标字段替换为第二目标字段,得到第二脚本文件,包括:
根据所述正则表达式的替换条件,将所述第一子查询脚本中符合所述正则表达式的多个所述第一目标字段替换为所述第二数据处理工具能够识别的所述第二目标字段;
将多个所述第二目标字段组装为第二子查询脚本,得到包含所述第二子查询脚本的所述第二脚本文件。
5.根据权利要求1所述的数据处理方法,其特征在于,所述调用所述第二数据处理工具执行所述第二脚本文件,对所述待处理数据进行数据处理,得到数据处理结果,包括:
调用所述第二数据处理工具执行所述第二脚本文件,并确定所述待处理数据是否符合所述第二脚本文件中的数据处理条件;
将符合所述数据处理条件的待处理数据加入到预设中间表;
对所述预设中间表的待处理数据进行数据运算,得到所述数据处理结果。
6.根据权利要求5所述的数据处理方法,其特征在于,所述将符合所述数据处理条件的待处理数据加入到预设中间表之前,还包括:
根据预设的数据清洗脚本,对所述预设中间表进行数据清洗。
7.根据权利要求1-6任一项所述的数据处理方法,其特征在于,将所述数据处理结果存储至预设区块链中。
8.一种数据处理装置,其特征在于,包括:
获取模块,用于获取待处理数据以及第一脚本文件,所述第一脚本文件用于描述第一数据处理工具对所述待处理数据进行数据处理的逻辑过程;
查找模块,用于根据预设的正则表达式的查找条件,查找所述第一脚本文件中符合所述正则表达式的第一目标字段;
替换模块,用于根据预设的正则表达式的替换条件,将所述第一目标字段替换为第二目标字段,得到第二脚本文件,所述第二脚本文件用于描述第二数据处理工具对所述待处理数据进行数据处理的逻辑过程;
执行模块,用于调用所述第二数据处理工具执行所述第二脚本文件,对所述待处理数据进行数据处理,得到数据处理结果。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
CN202010605619.0A 2020-06-29 2020-06-29 数据处理方法、装置、计算机设备及存储介质 Pending CN111611056A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010605619.0A CN111611056A (zh) 2020-06-29 2020-06-29 数据处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010605619.0A CN111611056A (zh) 2020-06-29 2020-06-29 数据处理方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN111611056A true CN111611056A (zh) 2020-09-01

Family

ID=72201020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010605619.0A Pending CN111611056A (zh) 2020-06-29 2020-06-29 数据处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111611056A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114219443A (zh) * 2021-12-16 2022-03-22 中国建设银行股份有限公司 单据数据处理方法、装置及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114219443A (zh) * 2021-12-16 2022-03-22 中国建设银行股份有限公司 单据数据处理方法、装置及设备

Similar Documents

Publication Publication Date Title
CN109034988B (zh) 一种会计分录生成方法和装置
CN111400392B (zh) 多源异构数据处理方法及装置
CN113704243A (zh) 数据分析方法、装置、计算机装置及存储介质
CN113220657B (zh) 数据处理方法、装置及计算机设备
CN109471893B (zh) 网络数据的查询方法、设备及计算机可读存储介质
CN111752944A (zh) 数据分摊方法、装置、计算机设备及存储介质
CN114066533A (zh) 产品推荐方法、装置、电子设备及存储介质
CN111611056A (zh) 数据处理方法、装置、计算机设备及存储介质
CN111143461B (zh) 映射关系处理系统、方法和电子设备
CN109740130B (zh) 用于生成文件的方法和装置
CN116993523A (zh) 配置化对账方法、装置、设备及存储介质
US8229946B1 (en) Business rules application parallel processing system
CN111324645B (zh) 区块链的数据处理方法及装置
CN112035471B (zh) 一种事务处理方法及计算机设备
CN112612817A (zh) 数据处理方法、装置、终端设备及计算机可读存储介质
CN113419896A (zh) 数据恢复方法、装置、电子设备及计算机可读介质
CN110704421A (zh) 数据处理方法、装置、设备和计算机可读存储介质
CN112328960B (zh) 数据运算的优化方法、装置、电子设备及存储介质
CN117493466B (zh) 财务数据同步方法及系统
CN114584616B (zh) 一种消息推送方法、装置、电子设备及存储介质
CN113449232A (zh) 一种数据处理方法、装置、设备和存储介质
CN117271487A (zh) 一种业务数据验证方法、装置、设备及存储介质
CN114218541A (zh) 用户数据的归并方法及相关装置
CN116703505A (zh) 一种订单信息的判断方法及装置
CN114911983A (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