一种数据处理方法、装置、设备及计算机可读存储介质与流程

文档序号:17928145发布日期:2019-06-15 00:34阅读:134来源:国知局
一种数据处理方法、装置、设备及计算机可读存储介质与流程

本发明涉及数据处理技术领域,更具体地说,涉及一种数据处理方法、装置、设备及计算机可读存储介质。



背景技术:

近几年来,随着信息技术高速发展,大数据技术的广泛应用与深度学习的融合,数据处理与数据处理过程中企业核心技术的保护出现了不可避免的矛盾。许多大型企业开始挖掘分析企业内部的海量数据,主要是为了提高企业的科技化程度,同时提高企业与产品的粘合度,在销售产品的同时给予客户更佳的使用体验,但是在将企业内部数据科技化的同时如何保护数据的安全以及与该数据相关的核心技术不被泄露,在过去未出现大数据技术时,从来没有如此迫切与强烈的需求。这将成为许多大型企业科技化进程中一定不能回避的问题,这也就成为了这类企业迫在眉睫要解决的重大挑战。

当前许多传统大型企业在计算机方面的技术还是比较落后,对于企业核心技术与计算机技术的结合并不是很紧密,这就会导致在利用大数据处理技术的同时会有可能泄露企业的数据信息,会被其他竞争对手掌握企业的核心内容,从而导致企业在经济和市场上受到强烈的冲击,但是在当前互联网飞速发展的时期,不加入计算机技术,提升企业的科技化水平也将会在这个社会发展进程中被淘汰。

因此,保证企业的数据信息和企业核心技术在大数据处理环境下的应用安全,避免技术和数据泄密带来的风险,是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种数据处理方法、装置、设备及计算机可读存储介质,以保证企业的数据信息和企业核心技术在大数据处理环境下的应用安全,避免技术和数据泄密带来的风险。

为实现上述目的,本发明实施例提供了如下技术方案:

一种数据处理方法,包括:

获取待处理数据及数据处理核心算法;所述数据处理核心算法为由r语言编写的通过pbe加密算法进行加密的算法;

通过所述数据处理核心算法中的特定算子生成解密密钥,通过所述解密密钥对所述数据处理核心算法进行解密;

利用动态加载机制加载java项目,以使加载后的java项目利用jri调用解密后的数据处理核心算法,对所述待处理数据进行处理。

其中,所述pbe加密算法为pbewithmd5anddes加密算法。

其中,所述利用动态加载机制加载java项目,包括:

按照加载顺序依次加载各类加载器;所述加载顺序中最后一个类加载器为自定义类加载器;

通过自定义类加载器获取所述java项目内的待加载资源信息,并将所述待加载资源信息按照所述加载顺序的反顺序依次通知到各类加载器;

按照所述加载顺序依次判断每个类加载器是否可以加载待加载资源,若可以加载,则加载对应的待加载资源;若不可以加载,则按照所述加载顺序通知下一个类加载器,直至所述待记载资源被加载。

其中,所述按照加载顺序依次加载各类加载器,包括:

按照加载顺序依次加载extclassloader、appclassloader以及自定义classloader。

其中,所述按照所述加载顺序依次判断每个类加载器是否可以加载待加载资源,若可以加载,则加载对应的待加载资源;若不可以加载,则按照所述加载顺序通知下一个类加载器,直至所述待记载资源被加载,包括:

按照所述加载顺序依次判断每个类加载器是否为自定义加载器;

若否,则按照所述加载顺序通知下一个类加载器;若是,则通过自定义加载器对待加载资源进行反编译,得到正确的编码进行加载。

一种数据处理装置,包括:

获取模块,用于获取待处理数据及数据处理核心算法;所述数据处理核心算法为由r语言编写的通过pbe加密算法进行加密的算法;

解密模块,用于通过所述数据处理核心算法中的特定算子生成解密密钥,通过所述解密密钥对所述数据处理核心算法进行解密;

处理模块,用于利用动态加载机制加载java项目,以使加载后的java项目利用jri调用解密后的数据处理核心算法,对所述待处理数据进行处理。

其中,所述pbe加密算法为pbewithmd5anddes加密算法。

其中,所述处理模块包括:

加载单元,用于按照加载顺序依次加载各类加载器;所述加载顺序中最后一个类加载器为自定义类加载器;

信息通知单元,用于通过自定义类加载器获取所述java项目内的待加载资源信息,并将所述待加载资源信息按照所述加载顺序的反顺序依次通知到各类加载器;

资源加载单元,用于按照所述加载顺序依次判断每个类加载器是否可以加载待加载资源,若可以加载,则加载对应的待加载资源;若不可以加载,则按照所述加载顺序通知下一个类加载器,直至所述待记载资源被加载。

一种数据处理设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述数据处理方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述数据处理方法的步骤。

通过以上方案可知,本发明实施例提供的一种数据处理方法,包括:获取待处理数据及数据处理核心算法;所述数据处理核心算法为由r语言编写的通过pbe加密算法进行加密的算法;通过所述数据处理核心算法中的特定算子生成解密密钥,通过所述解密密钥对所述数据处理核心算法进行解密;利用动态加载机制加载java项目,以使加载后的java项目利用jri调用解密后的数据处理核心算法,对所述待处理数据进行处理。

可见,在本实施例中,对数据进行处理的数据处理核心算法是需要通过pbe加密算法进行加密的,并且pbe加密算法进行加解密所需的密钥是通过数据处理核心算法中的特定算子生成的,从而增加了数据处理核心算法的安全性;并且,本方案中数据处理核心算法在被调用过程是通过jri实现的,通过jri的调用方式是在内存中以明文形式进行传输,是绝对安全的;进一步的,本方案根据java虚拟机的动态加载机制对java项目进行编译加载,保证java项目部署后的源代码安全性,从而使整个系统从内部调用到内部传输再到外部部署进行了加密,保证了企业的数据信息和企业核心技术在大数据处理环境下的应用安全,避免技术和数据泄密带来的风险。本发明还公开了一种数据处理装置、设备及计算机可读存储介质,同样可以实现上述技术效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种数据处理方法流程示意图;

图2为本发明实施例公开的数据处理核心算法加密流程示意图;

图3为本发明实施例公开的数据处理核心算法内存层传输示意图;

图4为本发明实施例公开的资源加载流程示意图;

图5为本发明实施例公开的一种数据处理装置结构示意图。

具体实施方式

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

本发明实施例公开了一种数据处理方法、装置、设备及计算机可读存储介质,以保证企业的数据信息和企业核心技术在大数据处理环境下的应用安全,避免技术和数据泄密带来的风险。

参见图1,本发明实施例提供的一种数据处理方法,包括:

s101、获取待处理数据及数据处理核心算法;所述数据处理核心算法为由r语言编写的通过pbe加密算法进行加密的算法;

其中,所述pbe加密算法为pbewithmd5anddes加密算法。

在本实施例中,对待处理数据进行处理的数据处理核心算法需要采用pbe加密算法进行安全防护。具体来说,本方案中的数据处理核心算法主要是由r语言编写的,并使用pbe加密算法对r语言编写的数据处理核心算法进行加密,pbe加密算法实现了对数据处理核心算法的加密和解密。

进一步的,本方案中的pbe加密算法为pbewithmd5anddes加密算法,当然,本方案中的pbe加密算法也可以为其他类型的加密算法,例如:

pbewithshaanddes等,在此并不具体限定。

s102、通过所述数据处理核心算法中的特定算子生成解密密钥,通过所述解密密钥对所述数据处理核心算法进行解密;

在本方案中,pbe加密算法主要实现了对数据处理核心算法的双密钥加密和解密,双重密钥是根据数据处理核心算法中的特定算子生成的,解密时必须要获得双重密钥才能根据数据处理核心算法中的特定算子进行解密,采用pbe对r语言编写的数据处理核心算法的加密解密流程如图2。

s103、利用动态加载机制加载java项目,以使加载后的java项目利用jri调用解密后的数据处理核心算法,对所述待处理数据进行处理。

具体的,由于本发明使用的数据处理核心算法是使用r语言编写,r语言在运行时必须为明文,所以对r语言编写的数据处理核心算法解密后,需要在大数据的平台中部署java应用项目,通过java应用项目调用数据处理核心算法对数据进行处理。因此,在本发明利用java与r语言之间的交互功能rjava,使r语言编写的数据处理核心算法能够在java虚拟机的内存层面进行传输,其工作方式如图3。

需要说明的是,由于在大数据平台中,r语言编写的核心算法是在java虚拟机环境中运行调用,为了保证java项目的安全性。本发明根据java虚拟机的动态加载机制,采用classloader这种逐级对类调用的机制,对java项目进行加密处理,动态加载机制根据应用需求,使得对采用该自定义动态加载机制的java项目无法被反编译软件反编译出java项目的源代码。

可见,本方案在内存层面对企业核心技术调用过程以及在使用核心技术对数据进行处理时,通过对核心技术的加密等方式,充分考虑了企业核心技术的保护和数据处理过程中数据防护,提高了数据处理过程的安全性。

基于上述实施例,所述利用动态加载机制加载java项目,包括:

按照加载顺序依次加载各类加载器;所述加载顺序中最后一个类加载器为自定义类加载器;

通过自定义类加载器获取所述java项目内的待加载资源信息,并将所述待加载资源信息按照所述加载顺序的反顺序依次通知到各类加载器;

按照所述加载顺序依次判断每个类加载器是否可以加载待加载资源,若可以加载,则加载对应的待加载资源;若不可以加载,则按照所述加载顺序通知下一个类加载器,直至所述待记载资源被加载。

具体的,在本方案中,加载运行java项目时,java虚拟机需要逐层加载类加载器;在本方案中,按照加载顺序依次加载各类加载器具体包括:按照加载顺序依次加载extclassloader、appclassloader以及自定义classloader。

因此在本方案中,java虚拟机需要先加载extclassloader,再加载appclassloader,再加载自定义classloader,最后到达需要加载的资源,例如类及方法等。这时加载资源后会逐级往上通知要加载的资源,通知到最顶层extclassloader后,会逐级往下去判别该classloader是否可以加载该类。参见图4,依次加载各类加载器后,通过自定义类加载器myclassloader加载类a,并向上依次通知类a的加载请求;各类加载器来确定是否需要加载,如果不加载,则向下发送通知。

需要说明的是,本发明在编译时利用自定义classloader对类进行处理,因此,在java虚拟机使用时只有该自定义classloader可以对该类进行反编译得到正确代码。因此在本方案中,也可以按照加载顺序依次判断每个类加载器是否为自定义加载器;若否,则按照加载顺序通知下一个类加载器;若是,则通过自定义加载器对待加载资源进行反编译,得到正确的编码进行加载。从而避免了非自定义类加载器的加载,直接让自定义类加载器进行编译加载。

本发明提供的数据处理方式,在大数据平台的环境下,通过联合java虚拟机以及r虚拟机的处理机制,通过采用数据处理核心算法中的特定算子生成pbe加密所需要的双重密钥,对数据处理核心算法进行加密;java虚拟机与r虚拟机的交互功能通过java底层实现,数据处理核心算法在被调用过程是通过jri(java/rinterface)实现,通过jri的调用方式是在内存中以明文形式进行传输,是绝对安全的,从而增加了数据的安全性。并且,本方案利用java虚拟机的动态加载机制对java项目进行编译的过程进行了处理,采用自定义动态加载机制,对整个java项目采用了特定数据公式进行加载编译,保证java项目部署后的源代码安全性。

本发明充分的利用java虚拟机的内部机制以及与r虚拟机之间的交互性,并根据数据处理核心算法的特定算子,使整个系统从内部调用到内部传输再到外部部署进行了加密。使用这种从底层到外层的加密方式是完全可行而且是十分安全的技术,该加密技术只能从理论层面上证明是可以被破解的,但是在实际操作过程中是属于np-hard问题,是无法在一个多项式时间内可解决的问题。

下面对本发明实施例提供的数据处理装置进行介绍,下文描述的数据处理装置与上文描述的数据处理装置可以相互参照。

参见图5,本发明实施例提供的一种数据处理装置,包括:

获取模块100,用于获取待处理数据及数据处理核心算法;所述数据处理核心算法为由r语言编写的通过pbe加密算法进行加密的算法;

解密模块200,用于通过所述数据处理核心算法中的特定算子生成解密密钥,通过所述解密密钥对所述数据处理核心算法进行解密;

处理模块300,用于利用动态加载机制加载java项目,以使加载后的java项目利用jri调用解密后的数据处理核心算法,对所述待处理数据进行处理。

其中,所述pbe加密算法为pbewithmd5anddes加密算法。

其中,所述处理模块包括:

加载单元,用于按照加载顺序依次加载各类加载器;所述加载顺序中最后一个类加载器为自定义类加载器;

信息通知单元,用于通过自定义类加载器获取所述java项目内的待加载资源信息,并将所述待加载资源信息按照所述加载顺序的反顺序依次通知到各类加载器;

资源加载单元,用于按照所述加载顺序依次判断每个类加载器是否可以加载待加载资源,若可以加载,则加载对应的待加载资源;若不可以加载,则按照所述加载顺序通知下一个类加载器,直至所述待记载资源被加载。

本发明还公开了一种数据处理设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述数据处理方法的步骤。

本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据处理方法的步骤。

具体的,该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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