数据处理方法、装置及存储介质与流程

文档序号:18414080发布日期:2019-08-13 19:06阅读:180来源:国知局
数据处理方法、装置及存储介质与流程

本发明涉及数据处理领域,尤其涉及一种数据处理方法、装置及存储介质。



背景技术:

当计算任务涉及海量的数据时,可能会导致计算量巨大。这种情况下,若是计算任务依赖单台计算设备执行,不仅计算任务执行效率低,且易导致计算设备计算速度缓慢、系统可用性/稳定性下降。



技术实现要素:

本发明提供一种数据处理方法、装置及存储介质,其主要目的在于实现计算节点资源共享、去中心化,同时提高系统可用性和运行效率。

为实现上述目的,本发明提供一种数据处理方法,该方法包括:

任务分发步骤:接收到用户输入待计算项目的计算指令,根据待计算项目与子项目之间的第一映射关系确定所述待计算项目对应的若干个子项目,实时获取各个可用计算节点当前的cpu占用率,根据cpu占用率由低到高的顺序将所述子项目的计算任务依次分发给各个相应的计算节点;

获取步骤:当监控到各个计算节点均完成所述子项目的计算任务是,获取各个计算节点执行所述子项目的计算任务的计算结果,其中,所述各个计算节点在接收到所述子项目的计算任务后,从区块链中获取执行所述子项目的计算任务所需的待处理数据计算得到所述计算结果;及

汇总步骤:按照预设公式对获取到的各个计算节点的计算结果进行汇总计算,得到汇总计算结果。

优选地,各个计算节点分别存储一对私钥和公钥,当一个计算节点执行待处理数据计算得到该计算节点的计算结果后,利用该计算节点的私钥对该计算节点的计算结果加密,将加密计算结果和该计算节点的公钥发送给其它计算节点。

优选地,当一个计算节点接收到另一个计算节点发送的加密计算结果及公钥后,利用接收到的该另一个计算节点的公钥解密该另一个计算节点的加密计算结果,并保存解密得到的计算结果。

优选地,所述从区块链中获取执行所述子项目的计算任务所需的待处理数据的步骤还包括:

根据子项目与数据类型的第二映射关系,确定该子项目对应的若干个数据类型,并于区块链中查找各个数据类型对应的待处理数据,所述各个子项目与数据类型的第二映射关系根据识别码进行识别,各个子项目与对应的数据类型分别分配有一个唯一且相同的识别码。

优选地,监控所有计算节点是否完成计算任务是通过实时或定时查看任意一个计算节点保存的计算结果的数量是否与下发计算任务的数量相同,若相同,则所有计算节点已完成计算任务。

此外,本发明还提供一种电子装置,该电子装置包括存储器和处理器,所述存储器中包括数据处理程序,该数据处理程序被所述处理器执行时实现如下步骤:

任务分发步骤:接收到用户输入待计算项目的计算指令,根据待计算项目与子项目之间的第一映射关系确定所述待计算项目对应的若干个子项目,实时获取各个可用计算节点当前的cpu占用率,根据cpu占用率由低到高的顺序将所述子项目的计算任务依次分发给各个相应的计算节点;

获取步骤:当监控到各个计算节点均完成所述子项目的计算任务时,获取各个计算节点执行所述子项目的计算任务的计算结果,其中,所述各个计算节点在接收到所述子项目的计算任务后,从区块链中获取执行所述子项目的计算任务所需的待处理数据计算得到所述计算结果;及

汇总步骤:按照预设公式对获取到的各个计算节点的计算结果进行汇总计算,得到汇总计算结果。

优选地,各个计算节点分别存储一对私钥和公钥,当一个计算节点执行待处理数据计算得到该计算节点的计算结果后,利用该计算节点的私钥对该计算节点的计算结果加密,将加密计算结果和该计算节点的公钥发送给其它计算节点。

优选地,当一个计算节点接收到另一个计算节点发送的加密计算结果及公钥后,利用接收到的该另一个计算节点的公钥解密该另一个计算节点的加密计算结果,并保存解密得到的计算结果。

优选地,所述从区块链中获取执行所述子项目的计算任务所需的待处理数据的步骤还包括:

根据子项目与数据类型的第二映射关系,确定该子项目对应的若干个数据类型,并于区块链中查找各个数据类型对应的待处理数据,所述各个子项目与数据类型的第二映射关系根据识别码进行识别,各个子项目与对应的数据类型分别分配有一个唯一且相同的识别码。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括数据处理程序,该数据处理程序被处理器执行时实现如上所述的数据处理方法中的任意步骤。

本发明提出的数据处理方法、电子装置及计算机可读存储介质,电子装置在接收到待计算项目的计算指令后,根据待计算项目与子项目之间的第一映射关系,确定所述待计算项目对应的若干个子项目,并分别向各个计算节点下发子项目的计算任务。各个计算节点在接收到所述子项目的计算任务时,从区块链中获取计算所述子项目所需的待处理数据。各个计算节点分别利用获取的待处理数据进行计算,并保存计算得到的子项目的计算结果存储至区块链。电子装置在监控到所有计算节点均完成计算任务时,从各个计算节点存储到区块链的空间获取所有子项目的计算结果,并利用各个子项目的计算结果进行计算,得到汇总计算结果。利用本发明,可以实现节点共享、去中心化,提高系统可用性和运行效率。

附图说明

图1为本发明电子装置一实施例的运行环境示意图;

图2为本发明电子装置一实施例的示意图;

图3为图1、图2中数据处理程序一实施例的程序模块图;

图4为本发明数据处理方法第一实施例的流程图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种电子装置。参照图1所示,为本发明电子装置1一实施例的运行环境示意图。在该实施例中,电子装置1与区块链3通信连接。区块链3内的各个计算节点,例如计算节点n1、n2、…nm,通过网络2通信连接。电子装置1将用户指令(例如计算指令)通过网络2下发至各个计算节点。各计算节点收到计算指令之后从网络2中获取计算任务的待处理数据。电子装置1监控到各个计算节点均完成计算任务后,汇总所有计算节点的计算结果并输出汇总后的计算结果。

电子装置1包括数据处理程序10,数据处理程序10根据用户输入的内容进行解析,向区块链3的各个计算节点下发计算任务,汇总各个计算节点的计算结果。

所述电子装置1可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机、游戏设备、视频音频会议系统、虚拟现实装置等具有存储和运算功能的终端设备。在一个实施例中,当电子装置1为服务器时,该服务器可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等的一种或几种。

所述网络2可以为互联网、云网络、无线保真(wi-fi)网络、个人网(pan)、局域网(lan)和/或城域网(man)。网络环境中的各种设备可以被配置为根据各种有线和无线通信协议连接到通信网络。这样的有线和无线通信协议的例子可以包括但不限于以下中的至少一个:传输控制协议和互联网协议(tcp/ip)、用户数据报协议(udp)、超文本传输协议(http)、文件传输协议(ftp)、zigbee、edge、ieee802.11、光保真(li-fi)、802.16、ieee802.11s、ieee802.11g、多跳通信、无线接入点(ap)、设备对设备通信、蜂窝通信协议和/或蓝牙(bluetooth)通信协议或其组合。

参照图2所示,为本发明电子装置1一实施例的示意图。在该实施例中,所述电子装置1包括存储器11、处理器12以及网络接口13。存储器11包括数据处理程序10。

其中,所述存储器11包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子装置1的外部存储器11,例如所述电子装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。

在本实施例中,所述存储器11的可读存储介质通常用于存储数据处理程序10以及执行数据处理程序10过程中用到或产生的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或数据,例如执行数据处理程序10。

网络接口13可以包括标准的有线接口、无线接口(如wi-fi接口)。通常用于在该电子装置1与其他电子设备之间建立通信连接,例如与所述输入装置2、输出装置3建立通信连接。

图2仅示出了具有组件11-13和数据处理程序10的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

在一个实施例中,处理器12执行存储器11中存储的数据处理程序10时,实现如下步骤:

任务分发步骤:接收到用户输入待计算项目的计算指令,根据待计算项目与子项目之间的第一映射关系确定所述待计算项目对应的若干个子项目,实时获取各个可用计算节点当前的cpu占用率,根据cpu占用率由低到高的顺序将所述子项目的计算任务依次分发给各个相应的计算节点;

获取步骤:当监控到各个计算节点均完成所述子项目的计算任务时,获取各个计算节点计算所述子项目的计算结果;及

汇总步骤:按照预设公式对获取到的各个计算节点的计算结果进行汇总计算,得到汇总计算结果。

在本实施例中,各个计算节点需从区块链中获取执行所述子项目的计算任务所需的待处理数据。各个计算节点根据子项目与数据类型的第二映射关系,确定该子项目对应的若干个数据类型,并于区块链中查找各个数据类型对应的待处理数据,各个子项目与数据类型的第二映射关系根据识别码进行识别,各个子项目与对应的数据类型分别分配有一个唯一且相同的识别码,识别码可以采用通用唯一识别码(universallyuniqueidentifier,uuid)生成。

在本实施例中,电子装置1监控所有计算节点是否完成计算任务可以通过实时或定时查看任意一个计算节点保存的计算结果的数量是否与下发计算任务的数量相同,若相同,则所有计算节点已完成计算任务。

电子装置1也可以通过接收计算节点反馈的计算任务执行进度信息,根据该计算任务执行进度信息,确定各个计算节点是否完成计算任务。具体地,电子装置1实时读取各个计算节点的日志文件,每个计算节点的日志文件记录有该计算节点的计算任务执行进度信息及计算节点的运行状态信息,且该日志文件可存储于计算节点的本地存储空间或区块链中。电子装置1根据各个计算节点的计算任务执行进度信息,确定各个计算节点是否完成计算任务。

在本实施例中,待计算项目与子项目之间的第一映射关系是预先确定的。各个计算节点在接收到计算对应的子项目的计算任务前,可预先将各个子项目对应的计算规则存储至区块链或各个计算节点的本地存储空间中,各个计算节点根据子项目对应的计算规则及获取对应的待处理数据进行计算,得到子项目的计算结果。接着,计算节点将得到的子项目的计算结果存储至区块链或本地存储空间中。如若计算节点将子项目的计算结果存储至本地存储空间中,则需要向外部装置提供计算结果的逐单读取或批量读取接口,以供外部装置(例如电子装置1)访问、读取该计算结果。

具体原理请参照下述图3关于数据处理程序10的程序模块图及图4关于数据处理方法的流程图的介绍。

参照图3所示,为图1、图2中数据处理程序10的程序模块图。所述数据处理程序10被分割为多个模块,该多个模块被存储于存储器12中,并由处理器13执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。

所述数据处理程序10可以被分割为:任务分发模块110、获取模块120及汇总模块130。

所述任务分发模块110,用于接收到用户输入待计算项目的计算指令,根据待计算项目与子项目之间的第一映射关系确定所述待计算项目对应的若干个子项目,实时获取各个可用计算节点当前的cpu占用率,根据cpu占用率由低到高的顺序将所述子项目的计算任务依次分发给各个相应的计算节点。

所述各个计算节点从区块链中获取执行所述子项目的计算任务所需的待处理数据。所述从区块链中获取执行所述子项目的计算任务所需的待处理数据的步骤还包括:根据子项目与数据类型的第二映射关系,确定该子项目对应的若干个数据类型,并于区块链中查找各个数据类型对应的待处理数据。所述向各个计算节点下发子项目的计算任务的步骤包括:实时获取各个可用计算节点当前的cpu占用率,根据cpu占用率由低到高的顺序将所述子项目的计算任务依次分发给各个相应的计算节点,其中,子项目的计算任务是根据各个计算任务包含的数据量由大到小进行排序,由cpu占用率低的计算节点执行数据量较大的计算任务。

所述子项目所需的待处理数据是电子装置1所要计算的原始数据,例如,若要计算保单的赔付率,则所需的原始数据为历史保单数据,该历史保单数据包括:保单的保单年度、保额、保费等数据。

在本实施例中,待计算项目与子项目之间的第一映射关系是预先确定的。例如,若待计算项目为保单的赔付率,则其对应的子项目包括有效时长、有效保额、释放准备金、发生率及理赔小项及保障成本。这些子项目即是计算保单的赔付率所需的参数。

其中,有效时长是指保单从生效日至终止日之间的间隔时长减去其中各段保全失效的时长后剩余的时长。

有效保额是指若发生了保险合同中最大给付额的保险事故,保险公司需支付的最高金额,主要包括基本保险金额与累计红利保额。其会根据保单的年度变化,现金价值变动等动态变化。

释放准备金是指保险人为保证其如约履行保险赔偿或给付义务而提前提取的资金。

理赔小项以及保障成本是指按照保险合同,当发生理赔后的理赔责任项目以及理赔金额。

发生率是指在所有保单中理赔保单所占的比例。

准备金计算公式如下:

准备金=年交保费*准备金因子

准备金因子包括未到期责任准备金(unearnedpremiumreserve,upr)、未决赔款准备金(reserveforoutstandinglosses,ocr)、已发生已报告未决赔款准备金(i&r)、已发生未报案未决赔款准备金(incurredbutnotreported,ibnr)和理赔费用准备金(lae)。

未到期责任准备金,是指在准备金评估日为尚未终止的保险责任提取的准备金,它是为生效保单尚未暴露的风险而计提的责任准备金。

未决赔款准备金,是指保险公司对尚未结案的赔案而提取的准备金。

已发生已报告未决赔款准备金,是指保险事故已经发生并向保险公司报案,保险公司尚未结案的准备金。

已发生未报案未决赔款准备金,是指保险事故已经发生,但被保险人尚未向保险公司报案而提取的准备金。

理赔费用准备金,是指对尚未结案的赔案可能发生的费用而提取的准备金。其中,对于直接发生于具体赔案的查勘费、专家律师费、损失检验费等提取的准备金为直接理赔费用准备金;对于不是直接发生于某个具体的赔案的费用提取的准备金为间接理赔费用准备金。

各个计算节点在接收到计算对应的子项目的计算任务前,可预先将各个子项目对应的计算规则存储至区块链或各个计算节点的本地存储空间中,各个计算节点根据子项目对应的计算规则及获取对应的待处理数据进行计算,得到子项目的计算结果。接着,计算节点将得到的子项目的计算结果存储至区块链或本地存储空间中。如若计算节点将子项目的计算结果存储至本地存储空间中,则需要向外部装置提供计算结果的逐单读取或批量读取接口,以供外部装置(例如电子装置1)访问、读取该计算结果。

所述获取模块120,用于当监控到各个计算节点均完成所述子项目的计算任务时,获取各个计算节点执行所述子项目的计算任务的计算结果。

在本实施例中,电子装置1监控所有计算节点是否完成计算任务可以通过实时或定时查看任意一个计算节点保存的计算结果的数量是否与下发计算任务的数量相同,若相同,则所有计算节点已完成计算任务。

电子装置1也可以通过接收计算节点反馈的计算任务执行进度信息,根据该计算任务执行进度信息,确定各个计算节点是否完成计算任务。具体地,电子装置1实时读取各个计算节点的日志文件,每个计算节点的日志文件记录有该计算节点的计算任务执行进度信息及计算节点的运行状态信息,且该日志文件可存储于计算节点的本地存储空间或区块链中。电子装置1根据各个计算节点的计算任务执行进度信息,确定各个计算节点是否完成计算任务。

在一个实施例中,电子装置1可以对各个计算节点的运行日志进行图形化处理并图形化显示,以便用户直观观察各个计算节点的运行状况。

所述汇总模块130,用于按照预设公式对获取到的各个计算节点的计算结果进行汇总计算,得到汇总计算结果。

以待计算项目为保单的赔付率举例说明,其对应的子项目包括有效时长、有效保额、释放准备金、发生率及理赔小项及保障成本。电子装置1将有效时长、有效保额、释放准备金、发生率及理赔小项及保障成本这几个子项目的计算任务下发给各个计算节点。各个计算节点接收到相应的计算任务后,从区块链中获取计算子项目所需的待处理数据。各个计算节点获取完待处理数据后,还需从区块链或本地存储空间获取计算子项目对应的计算规则,根据计算规则进行计算。例如,当计算节点n1收到电子装置1下发的有效时长项目的计算任务时,先根据有效时长项目与数据类型的第二映射关系找到有效时长项目对应的多个数据类型,再从区块链中查找到各个数据类型对应的待处理数据和计算有效时长项目的计算规则,根据计算规则计算获取到的待处理数据。计算节点n1在有效时长项目计算完成后,发送完成指令给电子装置1。

电子装置1监控到所有计算节点均完成计算任务后,就会获取各个节点的计算结果,并将各个计算结果代入所述预设公式:赔付率=(理赔金额–释放准备金)/((有效保额–释放准备金)*预定发生率*有效时长),得到保单的赔付率的值。

参照图4所示,为本发明数据处理方法第一实施例的流程图。电子装置1的处理器13执行存储器12中存储的数据处理程序10时实现数据处理方法的如下步骤:

步骤s400,接收到用户输入待计算项目的计算指令,根据待计算项目与子项目之间的第一映射关系确定所述待计算项目对应的若干个子项目,实时获取各个可用计算节点当前的cpu占用率,根据cpu占用率由低到高的顺序将所述子项目的计算任务依次下发给各个相应的计算节点。

所述各个计算节点从区块链中获取执行所述子项目的计算任务所需的待处理数据。所述从区块链中获取执行所述子项目的计算任务所需的待处理数据的步骤还包括:根据子项目与数据类型的第二映射关系,确定该子项目对应的若干个数据类型,并于区块链中查找各个数据类型对应的待处理数据,所述各个子项目与数据类型的第二映射关系根据识别码进行识别,各个子项目与对应的数据类型分别分配有一个唯一且相同的识别码。

所述子项目所需的待处理数据是电子装置1所要计算的原始数据,例如,若要计算保单的赔付率,则所需的原始数据为历史保单数据,该历史保单数据包括:保单的保单年度、保额、保费等数据。

在本实施例中,待计算项目与子项目之间的映射关系是预先确定的。例如,若待计算项目为保单的赔付率,则其对应的子项目包括有效时长、有效保额、释放准备金、发生率及理赔小项及保障成本。这些子项目即是计算保单的赔付率所需的参数。

在本实施例中,各个计算节点分别存储一对私钥和公钥,当一个计算节点执行待处理数据计算得到该计算节点的计算结果后,利用该计算节点的私钥对该计算节点的计算结果加密,将加密计算结果和该计算节点的公钥发送给其它计算节点。

当一个计算节点接收到另一个计算节点发送的加密计算结果及公钥后,利用接收到的该另一个计算节点的公钥解密该另一个计算节点的加密计算结果,并保存解密得到的计算结果。

各个计算节点在接收到计算对应的子项目的计算任务前,可预先将各个子项目对应的计算规则存储至区块链或各个计算节点的本地存储空间中,各个计算节点根据子项目对应的计算规则及获取对应的待处理数据进行计算,得到子项目的计算结果。接着,计算节点将得到的子项目的计算结果存储至区块链或本地存储空间中。如若计算节点将子项目的计算结果存储至本地存储空间中,则需要向外部装置提供计算结果的逐单读取或批量读取接口,以供外部装置(例如电子装置1)访问、读取该计算结果。

步骤s410,当监控到各个计算节点均完成所述子项目的计算任务时,获取各个计算节点执行所述子项目的计算任务的计算结果。

在本实施例中,电子装置1监控所有计算节点是否完成计算任务可以通过实时或定时查看任意一个计算节点保存的计算结果的数量是否与下发计算任务的数量相同,若相同,则所有计算节点已完成计算任务。

电子装置1也可以通过接收计算节点反馈的计算任务执行进度信息,根据该计算任务执行进度信息,确定各个计算节点是否完成计算任务。具体地,电子装置1实时读取各个计算节点的日志文件,每个计算节点的日志文件记录有该计算节点的计算任务执行进度信息及计算节点的运行状态信息,且该日志文件可存储于计算节点的本地存储空间或区块链中。电子装置1根据各个计算节点的计算任务执行进度信息,确定各个计算节点是否完成计算任务。

在本实施例中,计算节点会检测所获取的待处理数据是否获取完毕,如果没有获取完所需的待处理数据就会继续获取。若获取完所需的待处理数据,则利用获取的待处理数据进行计算。

步骤s420,按照预设公式对获取到的各个计算节点的计算结果进行汇总计算,得到汇总计算结果。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据处理程序,所述数据处理程序可被一个或多个处理器执行,以实现如下方法:

任务分发步骤:接收到用户输入待计算项目的计算指令,根据待计算项目与子项目之间的第一映射关系确定所述待计算项目对应的若干个子项目,实时获取各个可用计算节点当前的cpu占用率,根据cpu占用率由低到高的顺序将所述子项目的计算任务依次分发给各个相应的计算节点;

获取步骤:当监控到各个计算节点均完成所述子项目的计算任务时,获取各个计算节点执行所述子项目的计算任务的计算结果;及

汇总步骤:按照预设公式对获取到的各个计算节点的计算结果进行汇总计算,得到汇总计算结果。

本发明存储介质具体实施方式与上述电子装置1和方法各实施例基本相同,在此不作累述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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