CN109325150A - 基于表达式的大数据处理方法、装置、电子设备、存储介质 - Google Patents

基于表达式的大数据处理方法、装置、电子设备、存储介质 Download PDF

Info

Publication number
CN109325150A
CN109325150A CN201810888040.2A CN201810888040A CN109325150A CN 109325150 A CN109325150 A CN 109325150A CN 201810888040 A CN201810888040 A CN 201810888040A CN 109325150 A CN109325150 A CN 109325150A
Authority
CN
China
Prior art keywords
node
expression formula
big data
data processing
expression
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.)
Granted
Application number
CN201810888040.2A
Other languages
English (en)
Other versions
CN109325150B (zh
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.)
JD Digital Technology Holdings Co Ltd
Jingdong Technology Holding Co Ltd
Original Assignee
Beijing Jingdong Financial Technology Holding 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 Beijing Jingdong Financial Technology Holding Co Ltd filed Critical Beijing Jingdong Financial Technology Holding Co Ltd
Priority to CN201810888040.2A priority Critical patent/CN109325150B/zh
Publication of CN109325150A publication Critical patent/CN109325150A/zh
Application granted granted Critical
Publication of CN109325150B publication Critical patent/CN109325150B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于表达式的大数据处理方法、装置、电子设备、存储介质,基于表达式的大数据处理方法包括:将表达式解析为树形结构,其中,所述树形结构的叶子节点为参数类型,所述树形结构的父节点为用以计算下属子节点的函数类型;以及自距离所述树形结构的根节点路径最长的叶子节点开始向根节点递归计算,获得所述表达式的计算结果。本发明提供的方法及装置可以提高表达式可扩展性和可复用性。

Description

基于表达式的大数据处理方法、装置、电子设备、存储介质
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种基于表达式的大数据处理方法、装置、电子设备、存储介质。
背景技术
随着互联网的快速发展,大数据计算需求的不断增加,市场上有很多的大数据计算框架,主要分为偏向批量计算以及流式计算框架,在现有应用中也有不少的使用。
现有的大数据计算中,通常在大数据框架规范以及功能内进行生产工作。然而,这样的方式会有如下缺陷:
1)在大数据计算中,函数和函数之间通过直接引用的方式,根据特殊需求定制的函数与其它通用函数没有较好的隔离性,运维效率低,可扩展可复用能力低;
2)大数据计算往往基于代码化,维护、修改需专业人员来操作,人工成本高,且对频繁修改的需求反应能力低。
发明内容
本发明为了克服上述相关技术存在的缺陷,提供一种基于表达式的大数据处理方法、装置、电子设备、存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
根据本发明的一个方面,提供基于表达式的大数据处理方法,包括:
将表达式解析为树形结构,其中,所述树形结构的叶子节点为参数类型,所述树形结构的父节点为用以计算下属子节点的函数类型;以及
自距离所述树形结构的根节点路径最长的叶子节点开始向根节点递归计算,获得所述表达式的计算结果。
可选地,所述自距离所述树形结构的根节点路径最长的叶子节点开始向根节点递归计算,获得所述表达式的计算结果包括:
对每个父节点,当该父节点的子节点皆为叶子节点时,对该父节点的多个叶子节点执行该父节点的函数计算,并将该父节点的计算结果作为一叶子节点替代以该父节点为根节点的子树。
可选地,还包括:
生成一规则链,所述规则链包括多个节点,多个所述节点之间具有依赖关系,每个所述节点为一所述表达式;
按所述规则链的多个节点之间的依赖关系的顺序,依次计算各节点的表达式的计算结果,其中,至少部分节点的表达式的计算结果作为依赖该节点的节点的表达式的至少部分参数。
可选地,所述按所述规则链的多个节点之间的依赖关系的顺序,依次计算各节点的表达式的计算结果包括:
将临时上下文作为当前节点的表达式的部分参数,计算当前节点的表达式的计算结果;以及
将前节点的表达式的计算结果覆盖所述临时上下文。
可选地,所述将前节点的表达式的计算结果覆盖所述临时上下文之后,还包括:
通过一异步消息中间件提供一指示对依赖当前节点的下一节点进行计算的指示消息。
可选地,若当前节点的计算失败,则利用所述临时上下文再次对当前节点的计算进行重试。
可选地,若当前节点的重试次数大于预定阈值时,对所述规则链的计算进行重试。
可选地,所述规则链的起始节点为一触发表示式,根据所述触发表示式的计算结果触发所述规则链的计算。
可选地,若所述触发表示式的计算结果触发所述规则链的计算,则将触发条件和/或触发参数储存为原始上下文,并且所述原始上下文作为依赖所述触发表达式的节点的表达式的参数。
根据本发明的又一方面,还提供一种基于表达式的大数据处理装置,包括:
表达式解析模块,用于将表达式解析为树形结构,其中,所述树形结构的叶子节点为参数类型,所述树形结构的父节点为用以计算下属子节点的函数类型;以及
表达式运行模块,用于自距离所述树形结构的根节点路径最长的叶子节点开始向根节点递归计算,获得所述表达式的计算结果。
根据本发明的又一方面,还提供一种电子设备,所述电子设备包括:处理器;存储介质,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行如上所述的步骤。
根据本发明的又一方面,还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上所述的步骤。
相比现有技术,本发明的优势在于:
通过对表达式按树形结构进行解析和运行,一方面,函数与函数之间并非不直接引用,对特殊需求定制的函数与其它通用函数可以较好的隔离性,增加运维效率,并增加表达式的可扩展能力和可复用能力;另一方面,通过表达式代替代码化,便于非专业人员维护,减少人工成本,且可提升对频繁修改的需求反应能力。
附图说明
通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。
图1示出了根据本发明实施例的基于表达式的大数据处理方法的流程图。
图2示出了根据本发明实施例的表达式的树形结构及其运算过程的示意图。
图3示出了根据本发明实施例的规则链的示意图。
图4示出了根据本发明以具体实施例的基于表达式的大数据处理方法的流程图。
图5示出了根据本发明实施例的基于表达式的大数据处理计装置的框图。
图6示意性示出本发明示例性实施例中一种计算机可读存储介质示意图。
图7示意性示出本发明示例性实施例中一种电子设备示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此,实际执行的顺序有可能根据实际情况改变。
图1示出了根据本发明实施例的基于表达式的大数据处理方法的流程图。参考图1,所述基于表达式的大数据处理方法包括如下步骤:
步骤S110:将表达式解析为树形结构,其中,所述树形结构的叶子节点为参数类型,所述树形结构的父节点为用以计算下属子节点的函数类型;以及
步骤S120:自距离所述树形结构的根节点路径最长的叶子节点开始向根节点递归计算,获得所述表达式的计算结果。
在本发明的示例性实施方式的基于表达式的大数据处理方法中,通过对表达式按树形结构进行解析和运行,一方面,函数与函数之间并非不直接引用,对特殊需求定制的函数与其它通用函数可以较好的隔离性,增加运维效率,并增加表达式的可扩展能力和可复用能力;另一方面,通过表达式代替代码化,便于非专业人员维护,减少人工成本,且可提升对频繁修改的需求反应能力。
在本发明的各个实施例中,所述的函数可以是简单的逻辑函数(如与、或、非等)、数学计算函数(如加、减、乘、除、等于)或者根据特殊需求编写的数据储存、数据输出等数据处理函数,本发明并非以此为限。本发明所述的表达式为通过一个或多个函数多一个或多个参数的处理。表达式例如可以是:根据当前日期(参数)判断今天是否是工作日(函数isWorkDay);例如可以是S=S*4+8(S为参数,=、*、+皆为该表达式的函数),本发明并非以此为限。
在一些具体实施例中,所述步骤S120自距离所述树形结构的根节点路径最长的叶子节点开始向根节点递归计算,获得所述表达式的计算结果包括如下步骤:
对每个父节点,当该父节点的子节点皆为叶子节点时,对该父节点的多个叶子节点执行该父节点的函数计算,并将该父节点的计算结果作为一叶子节点替代以该父节点为根节点的子树。
下面结合图2描述本发明实施例的表达式的树形结构及其运算过程。
在本实施例中,以表达式“1+2*3=”为例,在步骤S110的解析步骤中,首先对表达式进行分词,获得分词结果“1,+,2,*,3,=”。对分词结果进行分类,其中,参数类型包括“1,2,3”,函数类型包括“*,+,=”。根据分类结果组成树形结构,其中,树形结构的叶子节点为参数类型,树形结构的父节点为函数类型。其中,运算优先级越高的函数排布的深度越低。例如,先乘除后加减,则乘除的优先级更高,在树形结构中的排布中越深。在另一些实施例中,运算优先级可由用户对函数进行定义获得,在此不予赘述。将优先级最高的函数*的参数2、3作为最深的叶子节点241和242。函数*作为叶子节点241和242的父节点231。函数*的计算结果与参数1作为函数+的子节点。其中参数1为叶子节点232。函数=作为根节点211,且函数+作为根节点211的子节点221。生成如图2最左的树形结构后,执行步骤S120自距离所述树形结构的根节点路径最长的叶子节点开始向根节点递归计算。也就是说,自自距离所述树形结构的根节点路径最长的叶子节点241,242开始,对父节点231判断其子节点是否皆为叶子节点。父节点231的子节点241,242皆为叶子节点,则对该父节点231的多个叶子节点241,242执行该父节点231的函数计算(即执行2*3),并将该父节点的计算结果(即2*3的计算结果6)作为一叶子节点233替代以该父节点231为根节点的子树。
然后,对父节点221判断其子节点是否皆为叶子节点。父节点221的子节点233,232皆为叶子节点,则对该父节点221的多个叶子节点233,232执行该父节点221的函数计算(即执行6+1),并将该父节点221的计算结果(即6+1的计算结果7)作为一叶子节点222替代以该父节点221为根节点的子树。最后,根据根节点211的函数确定表达式“1+2*3=”的计算结果为7。
在这样的实施例中,树形结构的表达式解析和运行采用解耦的方式,函数与函数不存在直接引用,而是利用运行参数传递的方式进行解耦,这样对于特殊定制的函数有比较好的隔离性,把特殊需求影响从项目中剥离。此外,函数可以以接口的方式进行扩展,通过嗅探接口实现在树形结构的运行中判断是否有此函数。比如计算过程中有一个是否为工作日的影响因素,可以扩展一个IsWorkerDay的函数继承于规定接口,将此函数打包上传表达式所在的项目中,表达式所在的项目就拥有了判断工作日的能力。
在本发明的进一步的实施例中,还可以包括如下步骤:
生成一规则链,所述规则链包括多个节点,多个所述节点之间具有依赖关系,每个所述节点为一所述表达式;
按所述规则链的多个节点之间的依赖关系的顺序,依次计算各节点的表达式的计算结果,其中,至少部分节点的表达式的计算结果作为依赖该节点的节点的表达式的至少部分参数。其中,节点的表达式的计算将执行上述步骤S110及步骤S120来实现。
图3示出了根据本发明一具体实施例的规则链的示意图。规则链包括触发表达式301(起始节点)、数据抓取节点303,判断表达式节点305、表达式1的节点307、表达式2的节点311、输出1的节点、输出2的节点。
其中,触发表达式301作为起始节点可以通过触发表达式确定是否触发后序节点的执行。若触发表达式301触发后序节点的执行,则可在数据抓取节点303执行单一的数据抓取的函数。然后,在判断表达式节点305可用于判断数据抓取节点303的结果数据是否符合判断表达式,若是,则执行表达式1,并进一步将表达式1的计算结果通过输出1输出;若否则执行表示2,并进一步将表达式1的计算结果通过输出2输出。图3仅仅是本发明的示意性的实施例,本发明并非以此为限。本发明提供的规则链还可以嵌套、递归的形式。进一步地,本发明提供的规则链可以进行节点的扩展,也可以通过节点的依赖关系的变更,更新规则链。本发明还可以提供规则链生成的界面,供非开发人员可以方便的生成规则链,减少人力成本。
下面结合图4描述具体实施例的基于表达式的规则链的执行的流程图。
首先是步骤S401,使用触发条件作为参数运行触发表达式,并判断结果是否为真?
若步骤S401判断为否,则执行步骤S403,忽略当次触发。
若步骤S401判断为是,则执行步骤S405,持久化规则链的任务数据。
在步骤S405之后,执行步骤S407,根据触发条件和/或触发参数生成原始上下文并持久化。触发参数例如是触发条件相关的参数。
然后执行步骤S409,通过一异步消息中间件发送指示消息。指示消息指示执行下一节点的表达式。
步骤S411,根据指示消息及规则链定义去除下一节点的表达式。
步骤S413,使用临时上下文作为表达式的参数(初始时,可将初始上下文作为临时上下文。
步骤S415,按图1所示步骤S110及S120执行节点的表达式,并判断计算是否成功。
若步骤S415判断计算失败,则以临时上下文作为参数执行步骤S421重试当前节点的表达式。
在步骤S421之后,执行步骤S423,判断重试次数是否超过预设阈值(例如5次、10次,本发明并非以此为限)。
若步骤S423判断为是则执行步骤S425,重置任务状态,重试整个规则链。
若步骤S423判断为否,则与步骤S415判断为是相同,皆执行步骤S417,判断当前节点是否为规则链结束节点。
若步骤S417判断为是,则执行步骤S427,设置规则链任务执行成功。
若步骤S417判断为否,则执行步骤S419,递归任务状态,将当前节点的计算结果作为临时上下问并持久化。之后根据步骤S417的判断结果重复执行步骤S409至步骤S419。直到执行到规则链的结束节点。
在上述的实施例中,使用异步消息中间件来整合不同节点速度的差异,可以应对数据量突变的引起的临时计算压力。用于应用程序之间进行通信,系统通过消息传递完成交互。通过消息中间件,可将远程同步调用拆解成为异步调用。对于不需要获取远程调用结果的应用场景来说,性能提升明显。在一些实施例中,优选地,可采用刷盘型的异步消息中间件,保证数据的安全性以及完整性。
在上述实施例中,本发明为了防止数据冗余,除了初始节点外的中间节点,其计算的数据结果作为临时数据在临时上下文中存放,为了节省数据空间,临时上下文中的数据会在下一个节点计算完成后进行覆盖。
在上述实施例中,本发明提供通过程序控制加入了单节点重试以及全程流重试,以提高容灾性能。如果在规则链中节点计算出现异常可以根据可根据上一个节点的临时上下文数据进行单节点上的自动重试。如果单节点重试不能解决问题,会根据情况利用数据库中的原始上下文数据重新触发流程进行规则链重试。
通过生成的规则链,可以实现大数据处理。例如,通过规则链实现大批量计费处理(计费的规则可由规则链来表示,大批量数据经过规则链进行快速计费),由此,可实现自动化的手机话费计费、云资源使用计费等。又例如,通过规则链实现大数据清洗、聚类等(清洗、聚类的规则可由规则链来表示,大批量数据经过规则链进行快速清洗、聚类),在大数据背景下,对大量数据进行清洗、聚类是数据分析的前提,因此,通过规则链实现大量数据的自动清洗、聚类,以为后序的分析提供快速、低成本的数据预处理过程。再例如,通过规则链实现访问服务器的数据安全性判断,可以理解,访问服务器的数据中,若同一账号密码输错次数超过预定阈值或预定时间内,采用多个账号登录且密码错误时,可以判断访问服务器的数据很有可能是对服务器的攻击,通过规则链来表示这些判断数据是否安全的规则,可以有效地实现自动化的数据安全的判断。本发明提供的基于表达式的大数据处理方法尤其适用于数据量大,实时性强的流式数据的处理。
通过本发明的各个实施例,使用可扩展,可插拔,低耦合,可组合的表达式模块为核心,流程设计界面以异步消息中间件为规则链的链接媒介,为计算系统赋予灵活应对需求的反应能力。使用表达式和规则链的界面展示也向需求、配置、实现三者一致性靠拢,从规则链的界面就可以看出需求,也可以看出程序如何运行。
下面结合图5描述本发明提供的基于表达式的大数据处理计装置。图5示出了根据本发明实施例的基于表达式的大数据处理计装置的框图。基于表达式的大数据处理计装置500包括表达式解析模块510及表达式运行模块520。
表达式解析模块510用于将表达式解析为树形结构,其中,所述树形结构的叶子节点为参数类型,所述树形结构的父节点为用以计算下属子节点的函数类型;以及
表达式运行模块520用于自距离所述树形结构的根节点路径最长的叶子节点开始向根节点递归计算,获得所述表达式的计算结果。
在本发明的示例性实施方式的基于表达式的大数据处理计装置中,通过对表达式按树形结构进行解析和运行,一方面,函数与函数之间并非不直接引用,对特殊需求定制的函数与其它通用函数可以较好的隔离性,增加运维效率,并增加表达式的可扩展能力和可复用能力;另一方面,通过表达式代替代码化,便于非专业人员维护,减少人工成本,且可提升对频繁修改的需求反应能力。
图5仅仅是示意性的示出本发明提供的基于表达式的大数据处理计装置,在不违背本发明构思的前提下,模块的拆分、合并、增加都在本发明的保护范围之内。
在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被例如处理器执行时可以实现上述任意一个实施例中所述电子处方流转处理方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在租户计算设备上执行、部分地在租户设备上执行、作为一个独立的软件包执行、部分在租户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到租户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在本发明的示例性实施例中,还提供一种电子设备,该电子设备可以包括处理器,以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中所述电子处方流转处理方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本发明的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:至少一个处理单元710、至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元710可以执行如图1或4所示的步骤。
所述存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
所述存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得租户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备600还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器760可以通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明实施方式的上述电子处方流转处理方法。
相比现有技术,本发明的优势在于:
通过对表达式按树形结构进行解析和运行,一方面,函数与函数之间并非不直接引用,对特殊需求定制的函数与其它通用函数可以较好的隔离性,增加运维效率,并增加表达式的可扩展能力和可复用能力;另一方面,通过表达式代替代码化,便于非专业人员维护,减少人工成本,且可提升对频繁修改的需求反应能力。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。

Claims (12)

1.一种基于表达式的大数据处理方法,其特征在于,包括:
将表达式解析为树形结构,其中,所述树形结构的叶子节点为参数类型,所述树形结构的父节点为用以计算下属子节点的函数类型;以及
自距离所述树形结构的根节点路径最长的叶子节点开始向根节点递归计算,获得所述表达式的计算结果。
2.如权利要求1所述的基于表达式的大数据处理方法,其特征在于,所述自距离所述树形结构的根节点路径最长的叶子节点开始向根节点递归计算,获得所述表达式的计算结果包括:
对每个父节点,当该父节点的子节点皆为叶子节点时,对该父节点的多个叶子节点执行该父节点的函数计算,并将该父节点的计算结果作为一叶子节点替代以该父节点为根节点的子树。
3.如权利要求1所述的基于表达式的大数据处理方法,其特征在于,还包括:
生成一规则链,所述规则链包括多个节点,多个所述节点之间具有依赖关系,至少部分所述节点为所述表达式;
按所述规则链的多个节点之间的依赖关系的顺序,依次计算各节点的表达式的计算结果,其中,至少部分节点的表达式的计算结果作为依赖该节点的节点的表达式的至少部分参数。
4.如权利要求3所述的基于表达式的大数据处理方法,其特征在于,所述按所述规则链的多个节点之间的依赖关系的顺序,依次计算各节点的表达式的计算结果包括:
将临时上下文作为当前节点的表达式的部分参数,计算当前节点的表达式的计算结果;以及
将前节点的表达式的计算结果覆盖所述临时上下文。
5.如权利要求4所述的基于表达式的大数据处理方法,其特征在于,所述将前节点的表达式的计算结果覆盖所述临时上下文之后,还包括:
通过一异步消息中间件提供一指示对依赖当前节点的下一节点进行计算的指示消息。
6.如权利要求4所述的基于表达式的大数据处理方法,其特征在于,若当前节点的计算失败,则利用所述临时上下文再次对当前节点的计算进行重试。
7.如权利要求6所述的基于表达式的大数据处理方法,其特征在于,若当前节点的重试次数大于预定阈值时,对所述规则链的计算进行重试。
8.如权利要求3所述的基于表达式的大数据处理方法,其特征在于,所述规则链的起始节点为一触发表示式,根据所述触发表示式的计算结果触发所述规则链的计算。
9.如权利要求8所述的基于表达式的大数据处理方法,其特征在于,若所述触发表示式的计算结果触发所述规则链的计算,则将触发条件和/或触发参数储存为原始上下文,并且所述原始上下文作为依赖所述触发表达式的节点的表达式的参数。
10.一种基于表达式的大数据处理装置,其特征在于,包括:
表达式解析模块,用于将表达式解析为树形结构,其中,所述树形结构的叶子节点为参数类型,父节点为用以计算下属子节点的函数类型;以及
表达式运行模块,用于自距离所述树形结构的根节点路径最长的叶子节点开始向根节点递归计算,获得所述表达式的计算结果。
11.一种电子设备,其特征在于,所述电子设备包括:
处理器;
存储器,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行如权利要求1至9任一项所述的步骤。
12.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至9任一项所述的步骤。
CN201810888040.2A 2018-08-06 2018-08-06 基于表达式的大数据处理方法、装置、电子设备、存储介质 Active CN109325150B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810888040.2A CN109325150B (zh) 2018-08-06 2018-08-06 基于表达式的大数据处理方法、装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810888040.2A CN109325150B (zh) 2018-08-06 2018-08-06 基于表达式的大数据处理方法、装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN109325150A true CN109325150A (zh) 2019-02-12
CN109325150B CN109325150B (zh) 2020-09-29

Family

ID=65264098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810888040.2A Active CN109325150B (zh) 2018-08-06 2018-08-06 基于表达式的大数据处理方法、装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN109325150B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933617A (zh) * 2019-03-08 2019-06-25 恒生电子股份有限公司 一种数据处理方法、装置以及相关设备和介质
CN110333844A (zh) * 2019-05-06 2019-10-15 北京创鑫旅程网络技术有限公司 计算公式处理方法及装置
CN112612597A (zh) * 2020-12-30 2021-04-06 中国农业银行股份有限公司 一种生成线性任务队列方法及装置
WO2021159904A1 (zh) * 2020-02-11 2021-08-19 升智信息科技(南京)有限公司 用于智能语音对话系统的语音数据处理方法及装置
CN113282456A (zh) * 2021-05-24 2021-08-20 北京京东振世信息技术有限公司 一种数据处理方法和装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100191793A1 (en) * 2009-01-28 2010-07-29 Microsoft Corporation Symbolic Computation Using Tree-Structured Mathematical Expressions
US20130151505A1 (en) * 2011-12-12 2013-06-13 Sap Ag Interactive Query Plan Visualization and Optimization
US20140365252A1 (en) * 2013-06-06 2014-12-11 International Business Machines Corporation Rules visualization using an expression tree
US20150310330A1 (en) * 2014-04-29 2015-10-29 George Guonan Zhang Computer-implemented method and system for digitizing decision-making processes
CN106845990A (zh) * 2015-12-03 2017-06-13 阿里巴巴集团控股有限公司 一种规则处理方法和设备
CN106845991A (zh) * 2015-12-04 2017-06-13 阿里巴巴集团控股有限公司 一种规则处理方法和设备
CN106909454A (zh) * 2015-12-22 2017-06-30 阿里巴巴集团控股有限公司 一种规则处理方法和设备
CN107645403A (zh) * 2016-07-22 2018-01-30 阿里巴巴集团控股有限公司 终端规则引擎装置、终端规则运行方法
CN107729001A (zh) * 2017-09-08 2018-02-23 北京京东尚科信息技术有限公司 一种表达式处理方法和装置
CN107797963A (zh) * 2016-09-05 2018-03-13 作业帮教育科技(北京)有限公司 表达式的处理方法、装置和终端
CN107977441A (zh) * 2017-12-08 2018-05-01 中国银行股份有限公司 基于规则引擎的业务处理方法及业务处理系统

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100191793A1 (en) * 2009-01-28 2010-07-29 Microsoft Corporation Symbolic Computation Using Tree-Structured Mathematical Expressions
US20130151505A1 (en) * 2011-12-12 2013-06-13 Sap Ag Interactive Query Plan Visualization and Optimization
US20140365252A1 (en) * 2013-06-06 2014-12-11 International Business Machines Corporation Rules visualization using an expression tree
US20150310330A1 (en) * 2014-04-29 2015-10-29 George Guonan Zhang Computer-implemented method and system for digitizing decision-making processes
CN106845990A (zh) * 2015-12-03 2017-06-13 阿里巴巴集团控股有限公司 一种规则处理方法和设备
CN106845991A (zh) * 2015-12-04 2017-06-13 阿里巴巴集团控股有限公司 一种规则处理方法和设备
CN106909454A (zh) * 2015-12-22 2017-06-30 阿里巴巴集团控股有限公司 一种规则处理方法和设备
CN107645403A (zh) * 2016-07-22 2018-01-30 阿里巴巴集团控股有限公司 终端规则引擎装置、终端规则运行方法
US20200143272A1 (en) * 2016-07-22 2020-05-07 Alibaba Group Holding Limited Terminal rule operation device and method
CN107797963A (zh) * 2016-09-05 2018-03-13 作业帮教育科技(北京)有限公司 表达式的处理方法、装置和终端
CN107729001A (zh) * 2017-09-08 2018-02-23 北京京东尚科信息技术有限公司 一种表达式处理方法和装置
CN107977441A (zh) * 2017-12-08 2018-05-01 中国银行股份有限公司 基于规则引擎的业务处理方法及业务处理系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933617A (zh) * 2019-03-08 2019-06-25 恒生电子股份有限公司 一种数据处理方法、装置以及相关设备和介质
CN110333844A (zh) * 2019-05-06 2019-10-15 北京创鑫旅程网络技术有限公司 计算公式处理方法及装置
WO2021159904A1 (zh) * 2020-02-11 2021-08-19 升智信息科技(南京)有限公司 用于智能语音对话系统的语音数据处理方法及装置
CN112612597A (zh) * 2020-12-30 2021-04-06 中国农业银行股份有限公司 一种生成线性任务队列方法及装置
CN112612597B (zh) * 2020-12-30 2023-11-03 中国农业银行股份有限公司 一种生成线性任务队列方法及装置
CN113282456A (zh) * 2021-05-24 2021-08-20 北京京东振世信息技术有限公司 一种数据处理方法和装置
CN113282456B (zh) * 2021-05-24 2023-09-22 北京京东振世信息技术有限公司 一种数据处理方法和装置

Also Published As

Publication number Publication date
CN109325150B (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
CN109325150A (zh) 基于表达式的大数据处理方法、装置、电子设备、存储介质
CN109684181B (zh) 告警根因分析方法、装置、设备及存储介质
CN102831894B (zh) 指令处理方法、装置和系统
CN107426022A (zh) 安全事件监测方法及装置、电子设备、存储介质
CN107704387B (zh) 用于系统预警的方法、装置、电子设备及计算机可读介质
US20130227349A1 (en) Cloud brokering method and apparatus in heterogeneous cloud environment
JP5893513B2 (ja) 監視装置、監視方法及び監視プログラム
CN110309108A (zh) 数据采集及储存方法、装置、电子设备、存储介质
US20200112475A1 (en) Real-time adaptive infrastructure scenario identification using syntactic grouping at varied similarity
US11044155B2 (en) Utilizing unstructured data in self-organized networks
CN110781180A (zh) 一种数据筛选方法和数据筛选装置
CN112306802A (zh) 系统的数据获取方法、装置、介质和电子设备
CN112291114A (zh) 一种数据源监控方法、系统、电子设备及存储介质
CN111782672A (zh) 多领域数据管理方法及相关装置
CN111814361B (zh) 一种环网柜数字模型的建模方法及装置
CN109634838A (zh) 定位应用程序故障的方法、装置、存储介质和电子设备
US20180060987A1 (en) Identification of abnormal behavior in human activity based on internet of things collected data
CN116136801B (zh) 云平台的数据处理方法、装置、电子设备及存储介质
CN109739724A (zh) 数据监控方法、系统、电子设备和存储介质
CN112860811B (zh) 数据血缘关系的确定方法、装置、电子设备和存储介质
CN114756301A (zh) 日志处理方法、装置和系统
CN108874625B (zh) 信息处理方法及装置、电子设备、存储介质
CN110912741A (zh) 一种基于逆向解析的智能标签生成方法及装置
CN111090853A (zh) 账户管理方法、系统、电子设备及存储介质
CN109324951A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 221, 2nd floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone, 100176

Applicant after: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

Address before: Room 221, 2nd floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone, 100176

Applicant before: BEIJING JINGDONG FINANCIAL TECHNOLOGY HOLDING Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee before: Jingdong Digital Technology Holding Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee after: Jingdong Digital Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone, 100176

Patentee before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.