一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、装置、计算机设备和存储介质与流程

2021-11-26 22:09:00 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种数据处理方法、装置、计算机设备和存储介质。


背景技术:

2.公式是一种通用格式,通常用符号表示,各个量之间的一定关系(如定律或定理)的式子,能普遍应用于同类事物的方式方法。可以利用公式实现一些复用的业务处理过程。若希望利用计算机基于公式实现业务处理过程,必须先利用计算机解析公式语义。
3.相关技术中,对于公式解析通过多个栈存储公式,分析括号位置,存储最小单元,然后根据括号顺序解析还原公式语义,进行公式解析时,对每一个最小单元分别进行判断,这种方法由于存储的公式是预先定义的,对于用户自定义的公式则无法解析。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够解析用户自定义公式的数据处理方法、装置、计算机设备和存储介质。
5.一种数据处理方法,所述方法包括:
6.获取注册表、待解析公式;
7.根据所述待解析公式的函数名在所述注册表中进行查找,确定所述待解析公式在所述注册表中对应的目标预设公式;
8.将所述待解析公式与所述目标预设公式进行匹配,确定所述待解析公式中各参数在所述注册表中对应的关键字;
9.基于各所述参数对应的关键字,将所述待解析公式中的各参数赋值给对应的占位关键字;
10.获取所述待解析公式的业务逻辑,将所述业务逻辑嵌入所述占位关键字组成的业务公式。
11.一种数据处理装置,所述装置包括:
12.获取模块,用于获取注册表、待解析公式;
13.查找模块,用于根据所述待解析公式的函数名在所述注册表中进行查找,确定所述待解析公式在所述注册表中对应的目标预设公式;
14.匹配模块,用于将所述待解析公式与所述目标预设公式进行匹配,确定所述待解析公式中各参数在所述注册表中对应的关键字;
15.赋值模块,用于基于各所述参数对应的关键字,将所述待解析公式中的各参数赋值给对应的占位关键字;
16.业务逻辑嵌入模块,用于获取所述待解析公式的业务逻辑,将所述业务逻辑嵌入所述占位关键字组成的业务公式。
17.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理
器执行所述计算机程序时实现以下步骤:
18.获取注册表、待解析公式;
19.根据所述待解析公式的函数名在所述注册表中进行查找,确定所述待解析公式在所述注册表中对应的目标预设公式;
20.将所述待解析公式与所述目标预设公式进行匹配,确定所述待解析公式中各参数在所述注册表中对应的关键字;
21.基于各所述参数对应的关键字,将所述待解析公式中的各参数赋值给对应的占位关键字;
22.获取所述待解析公式的业务逻辑,将所述业务逻辑嵌入所述占位关键字组成的业务公式。
23.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
24.获取注册表、待解析公式;
25.根据所述待解析公式的函数名在所述注册表中进行查找,确定所述待解析公式在所述注册表中对应的目标预设公式;
26.将所述待解析公式与所述目标预设公式进行匹配,确定所述待解析公式中各参数在所述注册表中对应的关键字;
27.基于各所述参数对应的关键字,将所述待解析公式中的各参数赋值给对应的占位关键字;
28.获取所述待解析公式的业务逻辑,将所述业务逻辑嵌入所述占位关键字组成的业务公式。
29.上述数据处理方法、装置、计算机设备和存储介质,获取注册表和待解析公式之后,根据待解析公式的函数名在注册表中查找对应的目标预设公式,并将待解析公式与目标预设公式进行匹配,确定待解析公式中各参数在注册表中对应的关键字,然后基于参数与关键字的对应关系,将待解析公式中各参数赋值给对应的占位关键字,最后获取待解析公式的业务逻辑,将业务逻辑嵌入到占位关键字组成的业务公式中,得到定义了业务逻辑的业务公式。其中,注册表和待解析公式可以由用户自行定义,上述方法获取到注册表和待解析公式后,对待解析公式进行解析确定各参数在注册表中对应的关键字,并将公式中各参数赋值给对应的占位关键字,再对赋值得到的占位关键字组成的业务公式嵌入相应的业务逻辑,对于用户自定义的公式同样可以实现语义解析,后续利用该业务公式可用于对相应的业务数据进行业务处理。
附图说明
30.图1为一个实施例中数据处理方法的流程示意图;
31.图2为一个具体实施例中注册表的示意图;
32.图3为另一个实施例中数据处理方法的流程示意图;
33.图4为一个实施例中根据注册表确定待解析公式中各参数在注册表中对应的关键字的流程示意图;
34.图5为一个具体实施例中对待解析公式进行分割得到的分割结果示意图;
35.图6为一个具体实施例中数据处理方法的流程示意图;
36.图7为一个实施例中数据处理装置的结构框图;
37.图8为一个实施例中计算机设备的内部结构图。
具体实施方式
38.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
39.在一个实施例中,如图1所示,提供了一种数据处理方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。
40.自然语言处理(nature language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。在本技术的实施例中由程序实现对公式的解析,即属于自然语言处理领域。
41.本实施例中,该方法包括步骤s110至步骤s150。
42.步骤s110,获取注册表、待解析公式。
43.注册表通常用于存储系统和应用程序的设置信息;在一个实施例中,注册表用于指代数据和格式的存储关系和相关信息,用户可以通过注册表定义关键字、关键字类型以及预设公式的格式等等;其中预设公式包括函数名、起止符号、分割符号和关键字等信息。在一个具体实施例中,如图2所示为一个具体实施例中注册表的示意图。其中,item:公式内定义对象,字符串类型;date:公式内定义对象,整型类型;sample:公式内定义对象,字符串类型;order:公式内定义对象,字符串类型;item、date、sample和order表示注册表中定义的关键字。其中,rank_s(item,sample,order)、zsroce_s(item,sample)、sum_t(item,date,date,sample),分别表示三个具体的预设公式的格式。
44.待解析公式表示需要系统进行解析的公式,待解析公式中包含参数;其中,待解析公式中的参数可以由用户自定义。进一步地,在一个实施例中,注册表和待解析公式可以均由用户输入。
45.步骤s120,根据待解析公式的函数名在注册表中进行查找,确定待解析公式在注册表中对应的目标预设公式。
46.函数是指一段可以直接被另一段程序或代码引用的程序或代码。在一个具体实施例中,待解析公式表示为:rank_s(closeprice,ashare,asc),其中,“rank_s”即为待解析公式的函数名。在另一个实施例中,待解析公式表示为:zsroce_s(closeprice,ashare),其中,“zsroce_s”为待解析公式的函数名。
47.在一个实施例中,注册表中定义了各预设公式的格式,可以理解地,预设公式中包含了函数名、起止符号、分割符号和关键字等。进一步地,根据待解析公式的函数名在注册表中定义的预设公式中查找,找到与待解析公式的函数名相同的预设公式,即为待解析公
式在注册表中对应的目标预设公式。其中,根据函数名在注册表中查找对应的目标预设公式可以通过任意一种方式实现。
48.在一个实施例中,根据待解析公式的函数名在注册表中查找到一个相同函数名的预设公式,则该预设公式即为目标预设公式;在另一个实施例中,根据待解析公式的函数名若在注册表中查找到两个以上相同函数名的预设公式,还可以根据待解析公式中包含参数个数,与查找到的相同函数名的预设公式中包含的关键字个数进行比较,从而确定目标预设公式;或者也可以根据待解析公式中包含参数的类型与预设公式包含关键字的类型进行比较确定目标预设公式;或者在其它实施例中也可以通过其它方式从查找到的相同函数名的预设公式中确定目标预设公式。本实施例中,考虑到注册表中可能用相同的函数名命名了多个不同功能的预设公式,则还可以考虑从包含参数/关键字的数量、类型等方面确定与待解析公式对应的目标预设公式。
49.步骤s130,将待解析公式与目标预设公式进行匹配,确定待解析公式中各参数在注册表中对应的关键字。
50.在一个实施例中,注册表中还定义了关键字。在本实施例中,在注册表中查找到与待解析公式对应的目标预设公式之后,将待解析公式与目标预设公式进行匹配,确定待解析公式中各参数在目标预设公式中对应的关键字,也即待解析公式中各参数在注册表中对应的关键字。进一步地,确定待解析公式中各参数对应的关键字的具体过程将在后实施例中详细描述,在此不再赘述。
51.在一个具体实施例中,待解析公式表示为:rank_s(closeprice,ashare,asc),其中,“closeprice”,“ashare”,“asc”即为待解析公式中的参数。以目标预设公式为rank_s(item,sample,order),其中,“item”,“sample”,“order”分别为目标预设公式中的关键字。在一个实施例中,根据待解析公式中各参数的位置信息和目标预设公式中各关键字的位置信息,确定待解析公式中各参数对应的关键字。
52.步骤s140,基于各参数对应的关键字,将待解析公式中的各参数赋值给对应的占位关键字。
53.确定了待解析公式中各参数对应的关键字之后,将待解析公式中的参数用关键字进行占位表示,即将参数赋值给对应的关键字;其中,用于占位的关键字在本实施例中记为占位关键字。本步骤中,将待解析公式中的各参数以对应的关键字进行表示之后,后续运行时,程序中携带待解析公式中的参数与占位关键字的对应关系。在一个实施例中,将待解析公式中的各参数赋值给对应的占位关键字之后,在程序中生成占位关键字与参数的key

value(键值对),以占位关键字作为键,参数作为对应的值。key

value以键值对存储数据,每个键都会对应一个唯一的值。
54.步骤s150,获取待解析公式的业务逻辑,将业务逻辑嵌入占位关键字组成的业务公式。
55.待解析公式的业务逻辑即用户期望通过该公式实现的功能;在一个实施例中待解析公式的业务逻辑为用户输入。在上述步骤中,系统已经根据注册表完成对待解析公式的解析,到此系统确定了待解析公式中的各参数分别对应的关键字,还需解析关键字在应用中实际代表的含义,也就是利用该待解析公式完成的功能,因此,在获取到待解析公式的业务逻辑时,将业务逻辑嵌入到占位关键字组成的公式中,完成对待解析公式的语义解析,确
定待解析公式对应的功能。在一个具体实施例中,待解析公式的业务逻辑为对指定样本数据进行排序;或者待解析公式的业务逻辑为对指定样本数据进行求和,等等。其中,指定样本数据可以以待解析公式中的参数确定。在后续使用中,用户只需输入相应的业务数据,即可利用该业务公式完成相应的业务逻辑,得到业务处理结果。
56.进一步地,在本实施例中,将嵌入了业务逻辑的公式记为业务公式,后续利用该业务公式可对获取到的相关数据执行对应的业务逻辑。
57.上述数据处理方法,获取注册表和待解析公式之后,根据待解析公式的函数名在注册表中查找对应的目标预设公式,并将待解析公式与目标预设公式进行匹配,确定待解析公式中各参数在注册表中对应的关键字,然后基于参数与关键字的对应关系,将待解析公式中各参数赋值给对应的占位关键字,最后获取待解析公式的业务逻辑,将业务逻辑嵌入到占位关键字组成的业务公式中,得到定义了业务逻辑的业务公式。其中,注册表和待解析公式可以由用户自行定义,上述方法获取到注册表和待解析公式后,对待解析公式进行解析确定各参数在注册表中对应的关键字,并将公式中各参数赋值给对应的占位关键字,再对赋值得到的占位关键字组成的业务公式嵌入相应的业务逻辑,对于用户自定义的公式同样可以实现语义解析,后续利用该业务公式可用于对相应的业务数据进行业务处理。
58.在一个实施例中,如图3所示,在获取待解析公式的业务逻辑,将业务逻辑嵌入占位关键字组成的业务公式之后,还包括步骤s310和步骤s320。
59.步骤s310,获取业务公式对应的待处理业务数据。
60.待处理业务数据表示的是与业务公式对应的数据。在一个实施例中,待处理业务数据可以从数据库获取,或者也可以从指定路径获取,例如从固定的网站中获取待处理业务数据,等等。进一步地,在一个实施例中,待处理业务数据可以设置为在指定时间获取,例如设定系统在每天下午5点获取待处理业务数据;又或者设置系统每隔预设时间段获取待处理业务数据,等等。
61.在一个实施例中,待处理业务数据包含待解析公式中表示数据名称和数据样本范围的参数对应的数据;在一个具体实施例中,待解析公式中包含的参数包括:数据名称为当日收盘价的数据,数据范围包括所有a股,则在本实施例中获取的待处理业务数据包括所有a股的当日收盘价数据。在另一个具体实施例中,待解析公式中包含的参数包括数据名称为当日最高气温,数据范围包括指定地点,则在本实施例中系统获取的待处理业务数据包括指定地点的当日最高气温。在其它实施例中,待处理业务数据也可以是其它数据。
62.步骤s320,基于业务公式对待处理业务数据执行对应的业务处理,得到业务处理结果。
63.系统根据业务公式中的指定样本数据对待处理业务数据执行相应的业务逻辑,以得到处理结果。在一个具体实施例中,业务公式对应的业务逻辑为对指定样本数据进行排序,在本实施例中,获取到待处理业务数据之后,对待处理业务数据进行排序,得到的排序结果即为本实施例中的业务处理结果。
64.在本实施例中,对于传入的业务数据,利用解析完成的业务公式对业务数据执行业务逻辑,得到业务处理结果,在对不同的数据执行相同的业务操作时,可复用同一个公式。对于用户而言,系统完成对公式的解析后,只需将不同的业务数据传输到系统,即可得到相应的业务处理结果。
65.在一个实施例中,如图4所示,将待解析公式与目标预设公式进行匹配,确定待解析公式中各参数在注册表中对应的关键字,包括步骤s410至步骤s430。
66.步骤s410,读取目标预设公式中的起止符号、分割符号以及各关键字的位置关系。
67.起止符号为预设公式中用于定位的符号,包括开始符号和结束符号。在一个具体实施例中,起止符号为小括号“()”或者“{}”,又或者“[]”。分割符号为预设公式中用于分隔不同参数的符号,在一个具体实施例中,分割符号为逗号“,”,或者“、”,又或者“/”。关键字的位置关系表示预设公式中各关键字之间的位置关系,在一个实施例中,关键字的位置关系包括各关键字之间的先后顺序。
[0068]
步骤s420,根据起止符号、分割符号对待解析公式进行字符串分割,得到分割结果。
[0069]
在一个实施例中,预设公式中定义了公式的格式,待解析公式若与预设公式为同一函数名,则待解析公式中参数的格式应当与预设公式的格式相同,同样地,待解析公式中起止符号、分割符号也应当与预设公式中的起止符号、分割符号的位置相同。根据起止符号、分割符号对待解析公式进行解析,将待解析公式分割为多个字符串,其中包括函数名、起止符号、分割符号以及各参数等。如图5所示为一个具体实施例中对待解析公式进行分割得到的分割结果示意图。
[0070]
步骤s430,基于目标预设公式中各关键字的位置关系,确定分割结果中各参数对应的关键字。
[0071]
由上述步骤可知,目标预设公式与待解析公式对应,其中包含的起止符号、分割符号相同,目标预设公式中的关键字与待解析公式中的参数也应当一一对应,因此在本实施例中,根据目标预设公式中各关键字的位置关系,以及待解析公式分割得到的分割结果中参数的位置关系,确定一一对应的关键字与参数之间的对应关系。在一个实施例中,基于目标预设公式中各关键字的位置关系,确定分割结果中各参数对应的关键字,包括:以同一个方向对目标预设公式的各关键字和分割结果中各参数进行扫描匹配,确定处于同一位置的参数和关键字为对应关系。
[0072]
在一个具体实施例中,以待解析公式为:rank_s(closeprice,ashare,asc)为例,在注册表中查找到对应的目标预设公式为rank_s(item,sample,order),将待解析公式分割为如图5所示的分割结果,根据目标预设公式中关键字“item,sample,order”的位置关系,确定关键字与参数之间的对应关系为“item

closeprice”,“sample

ashare”,“order

asc”。
[0073]
本实施例中,通过在注册表中查找与待解析公式对应的目标预设公式,并从目标预设公式中读取其中的起止符号、分割符号,根据预设目标预设公式中起止符号、分割符号将待解析公式分割为多个字符串,最后再根据目标预设公式中各关键字的位置关系,从待解析公式的分割结果中确定各关键字对应的参数,从而得到目标预设公式中关键字与待解析公式的参数之间的对应关系。利用起止符号、分割符号将待解析公式分割为字符串可以提升公式的解析速度,加快公式还原处理速度。
[0074]
进一步地,在一个实施例中,在根据目标预设公式中各关键字的位置关系,确定分割结果中各参数对应的关键字之前,还包括:判断分割结果中各参数是否符合对应位置的关键字的类型;在本实施例中,若分割结果中的参数符合对应位置的关键字的类型,将对应
位置的关键字确定为参数对应的关键字。
[0075]
其中,目标预设公式中各关键字的类型可以从注册表中获取。将待解析公式基于起止符号、分割符号进行字符串分割之后,可以与目标预设公式中关键字的位置关系进行比对,可以确定关键字与参数的对应关系,此时根据关键字的类型对对应的参数进行判断,确定参数是否符合关键字类型,若参数符合关键字的类型,将该关键字确定为参数对应的关键字。
[0076]
在一个实施例中,目标预设公式中的关键字类型包括:字符串类型、整型类型。在一个具体实施例中,目标预设公式中包含成item,sample,order三个关键字,item,sample,order的类型均为字符串类型;在本实施例中,对待解析公式中的参数判断是否为字符串类型,如待解析公式中的参数包括closeprice,ashare,asc,均为字符串类型,表示参数符合对应的关键字类型,进而确定参数“item”对应的关键字为“closeprice”,参数“sample”对应的关键字为“ashare”,参数“order”对应的关键字为“asc”。
[0077]
本实施例中,在确定待解析公式中参数对应的关键字时,结合目标预设公式中关键字的类型,对待解析公式中参数进行判断,确定参数符合对应的关键字的类型时,才可确定参数对应的关键字。通过检查参数是否符合关键字类型,可确保匹配参数与关键字的准确性。
[0078]
进一步地,在一个实施例中,方法还包括:若分割结果中的参数不符合对应位置的关键字的类型,生成告警信息。
[0079]
在一个具体实施例中,仍以目标预设公式中包含成item,sample,order三个关键字,item,sample,order的类型均为字符串类型为例,假设待解析公式中包含了一个参数“1”,由于“1”为整型类型,不符合关键字类型,则通过生成告警信息来提示用户。
[0080]
在一个实施例中,在获取待解析公式的业务逻辑之后,将业务逻辑嵌入占位关键字组成的业务公式之前,还包括:根据业务逻辑,对各占位关键字对应的参数进行校验;若占位关键字对应的参数均符合业务逻辑的约束条件,进入将业务逻辑嵌入占位关键字组成的业务公式的步骤。
[0081]
获取到待解析公式的业务逻辑之后,业务逻辑对数据有一定的约束,因此需对待解析公式的参数做校验;在一个实施例中,对参数进行校验包括对表示数据范围和数据的参数进行存在校验,以及对表示功能的参数做值的校验。
[0082]
在一个具体实施例中,待解析公式为“rank_s(closeprice,ashare,asc)”,待解析公式的业务逻辑为“对当日的所有a股的收盘价进行排序”。其中,所有a股为样本数据范围,以“ashare”表示,收盘价为样本数据,以“closeprice”表示,排序功能则以“asc”表示。在本实施例中,对于“closeprice”和“ashare”分别做存在校验,确定数据库或者程序缓存中查找是否存在“closeprice”的数据,查找是否存在“ashare”的样本数据范围内的数据;对于“asc”进行值的校验,判断“asc”是否表示排序功能。若业务公式中各占位关键字对应的参数均符合相应的约束条件,即可进入将业务逻辑嵌入业务公式的步骤。
[0083]
在另一个实施例中,若其中任意一个参数不符合业务逻辑的约束条件,生成告警信息,发送至用户进行告警。在一个具体的实施例中,若确定表示功能的参数不符合业务逻辑的约束条件,向用户发送确认信息,若接收到用户的反馈信息表示无误,同样进入将业务逻辑嵌入业务公式的步骤。例如占位关键字对应表示功能的参数为自定义名称“aa”,系统
在对“aa”做值的校验时,由于无法确定“aa”表示的功能含义为排序,则需向用户发送确认信息,若接收到用户反馈信息确定参数“aa”表示的含义确实为排序无误,则同样可以进入将业务逻辑嵌入业务公式的步骤。
[0084]
本实施例中,在将业务逻辑嵌入业务公式时,根据业务逻辑的约束条件对各参数分别进行校验,确认是否符合业务逻辑的约束条件,若是则执行在公式中嵌入业务逻辑的步骤,可进一步确保解析公式的准确性,减少公式解析失误的情况。
[0085]
本技术还提供一种应用场景,该应用场景应用上述的数据处理方法。在本实施例中,上述数据处理方法应用于公式解析器中。具体地,如图6所示,该数据处理方法在该应用场景的应用如下:在公式解析器在对待解析公式进行解析的运作过程中,所有定义在词法分析中的数据将通过注册表的形式构建出自定义的关键字,语法解析会将输入正确的公式参数进行解析。解析过程如下:
[0086]
获取注册表,将注册表装载到公式解析器中。注册表以图2所示为例,其中,item:公式内定义对象,字符串类型,这里指代数据的唯一标识。date:公式内定义对象,整型类型;这里指代数据的时间周期。sample:公式内定义对象,字符串类型;这里指代数据的样本范围。order:公式内定义对象,字符串类型;这里指代数据的排序方向。读取注册表中定义的关键字,在公式解析器中生成相应的关键字。
[0087]
获取用户输入的待解析公式,以待解析公式为rank_s(closeprice,ashare,asc)为例。
[0088]
根据待解析公式的函数名在注册表中查找,确定与待解析公式对应的目标预设公式,在本实施例中,根据待解析公式的函数名“rank_s”,根据注册表中func的定义,确定对应的目标预设公式为:rank_s(item,sample,order)。
[0089]
根据rank_s(item,sample,order),以“()”作为起止符号,以“,”作为分割符号,对目标预设公式进行分割,得到目标预设公式中包含的关键字。
[0090]
将待解析公式分割为函数名、起止符号、分割符号和参数。如图2所示的解析树进行公式从左往右的扫描匹配,将匹配的结果根据目标预设公式中的关键字占位,将占位关键字“item”的值赋值为待解析公式中的参数“closeprice”,将占位关键字“sample”的值赋值为“ashare”,将占位关键字“order”的值赋值为“asc”。至此所有公式的占位关键字均在此步骤赋予了用户输入的值,实际对于程序来说这些字符串是没有语义的,只是通过占位和类型匹配得到字符串。其中,在上述扫描赋值的过程中,不做过于复杂的校验,只需做类型检查,例如待解析公式中的任意一个参数为1,由于目标预设公式中的关键字“item”、“sample”和“order”均为字符串类型(注册表中定义),因此系统会报错处理,表示待解析公式中的参数“1”不符合rank_s的关键字类型。
[0091]
经过上述步骤之后,系统程序运行时的代码context上下文中会携带如下字段,func的值为rank_s,item的值为closeprice,sample的值为ashare,order的值为asc。在一个实施例中,可以以键值对的形式在代码中表示上述对应关系。
[0092]
进一步地,获取待解析公式对应的业务逻辑,将业务逻辑嵌入到目标预设公式中,得到业务公式。在本实施例中以业务逻辑定义为实现为数据的排序功能为例,以运行时的日期为取值日期,需要对closeprice和ashare分别做存在校验,通过数据库或者程序缓存查找代码为closeprice的数据,查找ashare的样本数据范围,需要对asc和desc做值的校
验,如果order对应的值非这两者,业务层处理这种异常。
[0093]
至此,rank_s(closeprice,ashare,asc)的语义已经完全清晰,实际对于系统而言的目标预设公式中嵌入业务逻辑才使得公式得到了语义。即将运行时日期的a股全部上市股票作为样本范围,对应的收盘价作为排序的数据做升序排列。
[0094]
在其它实施例中,待解析公式中可以定义为其它参数,如需要处理的数据代码closeprice(收盘价)可以替换为定义如开盘价,温度等。ashare可以替换为其它自定义的样本范围,比如创业板,各国温度等。而函数名rank_s可以替换为如zsroce_s,代表的是样本数据的标准化;或者替换为sum_t,代表的是样本一段时间数据的和值等。公式所指代的语义均在业务层开发人员代码的逻辑实现。
[0095]
上述实施例中,可以提高公式解析的解析速度,加快语义的还原处理,使得公式高复用,而且可以由非开发人员通过现有公式解析器自定义自己的数据。开发人员只需要设计公式中func对应的业务逻辑即可,公式中所有需要用到的关键字均可以通过程序运行时的上下文获取,减少开发人员编写公式解析的工作。
[0096]
应该理解的是,虽然上述实施例中所涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例中所涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0097]
在一个实施例中,如图7所示,提供了一种数据处理装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块710、查找模块720、匹配模块730、赋值模块740和业务逻辑嵌入模块750,其中:
[0098]
获取模块710,用于获取注册表、待解析公式;
[0099]
查找模块720,用于根据待解析公式的函数名在注册表中进行查找,确定待解析公式在注册表中对应的目标预设公式;
[0100]
匹配模块730,用于将待解析公式与目标预设公式进行匹配,确定待解析公式中各参数在注册表中对应的关键字;
[0101]
赋值模块740,用于基于各参数对应的关键字,将待解析公式中的各参数赋值给对应的占位关键字;
[0102]
业务逻辑嵌入模块750,用于获取待解析公式的业务逻辑,将业务逻辑嵌入占位关键字组成的业务公式。
[0103]
上述数据处理装置,获取注册表和待解析公式之后,根据待解析公式的函数名在注册表中查找对应的目标预设公式,并将待解析公式与目标预设公式进行匹配,确定待解析公式中各参数在注册表中对应的关键字,然后基于参数与关键字的对应关系,将待解析公式中各参数赋值给对应的占位关键字,最后获取待解析公式的业务逻辑,将业务逻辑嵌入到占位关键字组成的业务公式中,得到定义了业务逻辑的业务公式。其中,注册表和待解析公式可以由用户自行定义,上述装置获取到注册表和待解析公式后,对待解析公式进行解析确定各参数在注册表中对应的关键字,并将公式中各参数赋值给对应的占位关键字,
再对赋值得到的占位关键字组成的业务公式嵌入相应的业务逻辑,对于用户自定义的公式同样可以实现语义解析,后续利用该业务公式可用于对相应的业务数据进行业务处理。
[0104]
在一个实施例中,上述装置的获取模块710还用于:获取业务公式对应的待处理业务数据;在本实施例中,上述装置还包括:业务处理模块,用于基于业务公式对待处理业务数据执行对应的业务处理,得到业务处理结果。
[0105]
在一个实施例中,上述装置的匹配模块730,包括:读取单元,用于读取目标预设公式中的起止符号、分割符号以及各关键字的位置关系;分割单元,用于根据起止符号、分割符号对待解析公式进行字符串分割,得到分割结果;关键字确定单元,用于基于目标预设公式中各关键字的位置关系,确定分割结果中各参数对应的关键字。
[0106]
在一个实施例中,上述装置还包括:类型判断模块,用于判断分割结果中各参数是否符合对应位置的关键字的类型;上述关键字确定单元还用于:若分割结果中的参数符合对应位置的关键字的类型,将对应位置的关键字确定为参数对应的关键字。
[0107]
在一个实施例中,上述装置还包括:告警模块,用于若分割结果中的参数不符合对应位置的关键字的类型,生成告警信息。
[0108]
在一个实施例中,上述装置还包括:校验模块,用于根据业务逻辑,对各占位关键字对应的参数进行校验;上述业务逻辑嵌入模块750还用于若占位关键字对应的参数均符合业务逻辑的约束条件,进入将业务逻辑嵌入占位关键字组成的业务公式的步骤。
[0109]
关于数据处理装置的具体实施例可以参见上文中对于数据处理方法的实施例,在此不再赘述。上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0110]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0111]
本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0112]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0113]
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0114]
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品
或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
[0115]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0116]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0117]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献