用于实现基础逻辑算法的数据处理方法及装置与流程

文档序号:19942737发布日期:2020-02-14 23:23阅读:141来源:国知局
用于实现基础逻辑算法的数据处理方法及装置与流程

本发明涉及计算机编程领域,特别的,本发明涉及一种用于实现基础逻辑算法的数据处理方法以及数据处理装置。



背景技术:

在it技术飞速发展的今天,计算机的应用已逐渐涉及到各个领域,对计算机的编程技术也要求越来越高,作为计算机领域中的编程方法来说,通常计算机编程都是写英文代码,比如c语言、java、python等。这对编程软件的学习者和使用者来说形成了一定的技术门槛,因为这种编程方法需要编程人员至少具有一定的英文基础以及掌握编程语言本身的基础语法。

在某些特定情况下,为了编程软件的使用和操作简化,人们专门开发出了易于使用和掌握的图形化编程软件,图形化编程软件中具有代表性的是美国麻省理工大学开发的scratch图形化编程软件,而代码编程就是通常我们所说的编程语言,例如c语言、c++、jvva等。比如在工厂中对生产线的编程控制就是用图形化拖拽的方法,又比如现有的青少年机器人及编程教育中,也使用图形化编程方式进行编程。这种图形化编程就是把普通的编程语句模块化,在操作者或者学生操作软件的过程中,只需要在电脑上用鼠标拖拽相应的编程模块并调节参数即可实现编程。因此,这种图形化编程相对容易上手和掌握,在对编程要求不是很高的情况下,受到了广泛的欢迎,但是相对于代码编程,图形化编程方法失去了很大的灵活性,并且只能限于特定的领域,例如生产线的设计以及学生的学习方面,在逻辑处理和大数据处理方面,图形化编程方法并不能胜任。因此,如何利用基础逻辑算法来处理大数据是业内亟待解决的问题。

公开于本申请背景技术部分的信息仅仅旨在加深对本申请的一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。



技术实现要素:

为了解决上述问题,本申请的主要目的在于提供一种基于基础逻辑算法的数据处理方法,从而降低了软件编程门槛并且提高了软件开发效率。

为了解决上述问题,本申请涉及一种用于实现基础逻辑算法的数据处理方法,该包括:确定基础逻辑算法对应的基础逻辑模块,其中,所述基础逻辑模块包括:待赋值参数以及用于实现所述基础逻辑算法的程序代码;检测输入的参数是否对应于所述基础逻辑模块中的待赋值参数;如果是,加载并解析所述基础逻辑模块对应的脚本或者库文件,以创建计算实例;将所述输入的参数输入至所述计算实例并且执行所述程序代码,以实现所述基础逻辑算法。

进一步的,所述加载并解析所述基础逻辑模块所对应的脚本或者库文件,以创建计算实例可以包括:查找与所述计算实例对应的缓存计算实例;如果找到所述缓存计算实例,则将所述计算实例替换为所述缓存计算实例。

进一步的,在将所述计算实例替换为所述缓存计算实例之前,所述方法还可以包括:判断所述缓存计算实例是否满足计算时点的触发要求,其中,所述计算时点为:所述待赋值参数的更新时刻,其中,如果所述缓存计算实例满足计算时点的触发要求,则将所述计算实例替换为所述缓存计算实例。

进一步的,将所述输入的参数输入至所述计算实例,以实现所述基础逻辑算法可以包括:根据所述计算时点将所述输入的参数输入至所述计算实例,从而实现所述基础逻辑算法。

进一步的,在将所述输入的参数输入至所述计算实例之后,所述方法还可以包括:判断所述输入的参数的输入时间是否晚于历史运行时间;如果是,则触发所述计算实例,从而实现所述基础逻辑算法。

进一步的,所述基础逻辑模块还用于对所述输入的参数执行数据合法性的检测操作、异常数据处理操作、数据对齐操作以及数据替换操作。

进一步的,所述基础逻辑模块还可以包括:缓存存储地址;在所述将所述输入的参数输入至所述计算实例之后,将所述计算实例或者缓存计算实例作为更新的缓存计算实例依照所述缓存存储地址进行存储。

进一步的,在实现所述基础逻辑算法之后,所述方法还可以包括数据处理和输出步骤,该数据处理和输出步骤包括:对输出的数据进行校验和裁剪;将校验和裁剪的数据进行排序;以及将排序的数据输出至缓存和/或数据库。

本申请还涉及一种基于基础逻辑模块的大数据处理装置,该装置可以包括:查找模块,用于确定基础逻辑算法对应的基础逻辑模块,其中,所述基础逻辑模块包括:待赋值参数以及用于实现所述基础逻辑算法的程序代码;检测模块,用于检测输入的参数是否对应于所述基础逻辑模块中的待赋值参数;加载模块,用于加载并解析所述基础逻辑模块对应的脚本或者库文件,以创建计算实例;以及执行模块,用于将所述输入的参数输入至所述计算实例并且执行所述程序代码,以实现所述基础逻辑算法。

此外,本申请还涉及一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上面所述方法中的任意一个步骤。

本申请的有益效果是:本申请基于基础逻辑的算法着眼于逻辑节点的切分,凭借基础逻辑具备的可复用性,利用基础逻辑算法可以互为其他逻辑算法的输入输出,从而可以实现不同算法之间的共享调用。本申请可以使没有任何编程基础的开发者能借助算法层的基础逻辑算法,根据开发逻辑无须编程就可实现对于软件程序的开发,因此降低了用于处理大数据的计算机编程的入门门槛以及编程成本,从而提高了工作效率。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的基于基础逻辑模块的数据处理方法的流程图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

此外,术语“安装”、“设置”、“设有”、“连接”、“配置为”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

如图1所示,本申请的一种用于实现基础逻辑算法的数据处理方法,该方法包括如下步骤:步骤s1,查找并确定基础逻辑算法对应的基础逻辑模块,首先,本申请所涉及的系统平台基于客户的业务逻辑来确定至少一个基础逻辑算法,也就是说,本申请根据用户的选择而触发查找过程,之后本申请开始查找并确定基础逻辑算法对应的基础逻辑模块。

其中,每一个基础逻辑算法模块由依赖关系子模块、数据处理子模块和基础逻辑算法子模块构成。所述依赖关系子模块包括开放的参数集合和/或不开放的参数集合,开放的参数集合对应于用户的输入,而不开放的参数集合对应于系统的内部调用,这些开放的或者不开放的参数集合中的参数均为基础逻辑算法所依赖的输入参数。所述数据处理子模块包括由本申请的系统平台提供和/或用户自定义的数据处理方法/函数,这些数据处理方法/函数用于判断输入参数的合法性以及用于发出异常消息、必要的预处理操作。而所述基础逻辑算法子模块包括用于实现一种基础逻辑算法的程序代码,这些基础逻辑算法专门用于处理数据,特别的,用于处理大数据。

接下来,在步骤s2,本申请的系统平台检测输入的参数是否对应于所述基础逻辑模块中的输入参数集合中的每一个参数,也就说,本发明的系统平台检测输入的完整性,其中,这些输入的参数可以是用户的输入,也可以是基础逻辑算法的默认输入,而完整的输入指所有开放的参数集合应存在至少一个的指定参数。

如果本申请的系统平台检测出输入的参数对应于所述基础逻辑模块中的输入参数集合中的每一个参数,也就是检测了输入的完整性,那么本申请的系统平台继续执行步骤s3,加载并解析所述基础逻辑模块所对应的脚本或者库文件,本申请的系统平台根据已触发的基础逻辑算法找到对应算法脚本或库文件,并且加载程序代码,并且平台使用获得参数集合的完整输入,对加载的代码构建计算实例。

在该步骤中,本申请的系统平台可以查找与所述计算实例对应的缓存计算实例,如果找到缓存计算实例,则将所述计算实例替换为所述缓存计算实例,这里的缓存计算实例可以是与当前的计算实例相应的历史缓存计算实例,该历史缓存计算实例是上一次计算周期计算完成并被保存至缓存的计算实例,也就说,该缓存计算实例与当前计算实例所实现的功能相同而内部存储的数据可以不同。

具体的替换缓存计算实例的方式为:在查找与所述计算实例对应的缓存计算实例之后,如果找到缓存计算实例并且所述缓存计算实例满足计算时点的触发要求时,则将所述计算实例替换为所述缓存计算实例,而如果当前计算实例存在计算缓存且计算缓存不满足计算时点的触发要求时,则无操作,并且如果当前计算实例没有计算缓存时,则无操作。所述计算时点就是输入参数的更新时刻,也即每一个计算周期的开始时刻,该计算周期可以是用户自定义的时间间隔(例如,每天或者每月)也可以是计算实例中的默认时间间隔。

具体的存储所述缓存计算实例的方式为:在所述基础逻辑模块中预先设置缓存存储地址,在执行一次基础逻辑模块中的基础逻辑算法的程序代码之后或者在每一个计算周期的结束时刻,将所述计算实例(对应第一次保存)或者缓存计算实例作为更新的缓存计算实例根据指定缓存存储地址存储至系统缓存。

之后,在步骤s4,本申请将所述输入的参数输入至所述计算实例,以执行基础逻辑模块中的基础逻辑算法的程序代码,从而实现基础逻辑算法。具体的,本申请的系统平台推送依赖关系子模块中参数集合的完整输入所对应的数据给计算实例:其中,基础逻辑算法的依赖关系子模块中参数所对应的数据,应包括所需数据的维度数据、特征数据、以及时间数据的范围。本申请的系统平台根据依赖关系子模块中参数集合的完整输入,找到唯一的输入数据。另外,本申请的系统平台从时间和数据维度两个角度从数据库中筛选数据,并将筛选后的数据推送给计算实例,数据推送频率可以是自动以计算实例中时间步长为时长间隔,也可以是用户自定义时间步长为时长间隔。

在这里,所述数据维度是指与数据相关的一切实体和虚拟资源属性的概括,例如对于广告数据来说,数据维度可以是广告位名称、广告位类型、城市、性别、内容渠道、广告主等。

为了判断输入数据是否合法并且保证各种输入数据的平整性,在执行基础逻辑模块中的基础逻辑算法的程序代码之前还包括:本申请还解析输入数据,并执行计算实例中的数据处理子模块中的数据处理过程,其中数据处理过程至少包括:(1)数据合法性检测,包括输入时间合法性的检测、数据维度合法性的检测以及数据类型的合法性的检测。(2)异常数据处理,包括中止计算实例的运行、运行报警。(3)数据的对齐,包括不同时频数据的对齐、时频相同但数据长度不同的数据的对齐、不同细分维度数据的对齐。(4)数据的替换,包括异常值的替换、空值(null)的替换、用户自定义逻辑下的数据替换,最后本申请将经过上述处理过的输入参数输入至所述计算实例并且执行所述程序代码,以实现所述基础逻辑算法。

此外,在执行基础逻辑模块中的基础逻辑算法程序代码之前,本申请中的计算实例还判断历史运行时间与所述计算时点的触发时刻的关系。如果计算时点的触发时刻晚于历史运行时间,计算实例触发计算,如果当前输入数据时间等于历史运行时间,计算实例退出计算。举例来说,假如历史运行时间为昨日某时,而计算时点的触发时刻为今日某时,由于计算时点的触发时刻晚于历史运行时间,说明今日的数据计算还未开始,则本申请触发计算计算实例。

最后在步骤s5,本申请的系统平台接收计算实例的输出数据,并对输出数据进行数据处理,其中的数据处理至少包括:

(1)对输出的数据进行校验和裁剪,以使相同粒度的维度数据可以存储在一个数据表中并且剔除不符合计算逻辑的时间或维度数据;(2)将校验和裁剪的数据进行排序,在两维数据索引中,本申请先按时间再按数据维度对数据进行排序。(3)将排序的数据输出至数据库或者缓存中,平台将处理后的输出数据按照规则(例如,数据库的存储规则)存入数据库和/或系统缓存中。

本申请中涉及的脚本可以是由脚本语言(如python,matlab语言等)形成的脚本文件,也可以是由编译类语言(如c和java语言等)形成的库文件。这里脚本或者库文件所实现的是按照规范实现的类或者函数集合。

另外,本申请还涉及一种基于基础逻辑模块的大数据处理装置,该装置可以包括:查找模块,用于确定基础逻辑算法对应的基础逻辑模块,其中,所述基础逻辑模块包括:待赋值参数以及用于实现所述基础逻辑算法的程序代码;检测模块,用于检测输入的参数是否对应于所述基础逻辑模块中的待赋值参数;加载模块,用于加载并解析所述基础逻辑模块对应的脚本或者库文件,以创建计算实例;以及执行模块,用于将所述输入的参数输入至所述计算实例,以执行所述程序代码,从而实现所述基础逻辑算法。

此外,本申请还涉及一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现如上面所描述的用于实现基础逻辑算法的数据处理方法中的任意一个步骤。所述计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体装置、虚拟装置、优盘、移动硬盘、磁碟、光盘、计算机存储器、只读计算机存储器(read-onlymemory,rom)、随机存取计算机存储器(randomaccessmemory,ram)、电载波信号、电信信号以及其他软件分发介质等。

本申请基于基础逻辑的算法着眼于逻辑节点的切分,凭借基础逻辑具备的可复用性,利用基础逻辑算法可以互为其他逻辑算法的输入输出,从而可以实现不同算法之间的共享调用。本申请可以使没有任何编程基础的开发者能借助算法层的基础逻辑算法,根据开发逻辑无须编程就可实现对于软件程序的开发,因此降低了用于处理大数据的计算机编程的入门门槛以及编程成本,从而提高了工作效率。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均包含在本申请的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1