CN110569653B - 数据处理方法、相关设备及计算机存储介质 - Google Patents

数据处理方法、相关设备及计算机存储介质 Download PDF

Info

Publication number
CN110569653B
CN110569653B CN201910811782.XA CN201910811782A CN110569653B CN 110569653 B CN110569653 B CN 110569653B CN 201910811782 A CN201910811782 A CN 201910811782A CN 110569653 B CN110569653 B CN 110569653B
Authority
CN
China
Prior art keywords
data
algorithm
processing
processed
encryption
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.)
Active
Application number
CN201910811782.XA
Other languages
English (en)
Other versions
CN110569653A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910811782.XA priority Critical patent/CN110569653B/zh
Publication of CN110569653A publication Critical patent/CN110569653A/zh
Application granted granted Critical
Publication of CN110569653B publication Critical patent/CN110569653B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例公开了数据处理方法、相关设备及计算机存储介质,其中所述方法应用于处理节点侧,处理节点包括加解密单元及算法引擎,该方法包括:加解密单元获取待处理数据及待处理数据的第一处理算法,所述第一处理算法用于指示调用第一处理算法对应的算法引擎对待处理数据进行第一处理算法所指示的加密或解密处理;若第一处理算法对待处理数据处理失败,则加解密单元获取智能调度单元为待处理数据匹配第二处理算法,进而加解密单元调用第二处理算法对应的算法引擎对待处理数据进行第二处理算法所指示的加密或解密处理。采用本发明实施例,能够解决现有数据处理方案中的无法实现业务数据处理、严重还会破坏数据存储系统等问题。

Description

数据处理方法、相关设备及计算机存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及数据处理方法、相关设备及计算机存储介质。
背景技术
随着数字化的时代来临和网络的普及,越来越多的隐私数据在不断生成且被人们逐步重视。即使用户已离线存储很多隐私数据或重要数据,仍不能保证数据存储的介质不被丢失,如果丢失可能是灾难性地事件,因此数据加密显得非常重要。相应地在数据加密后,若用户想要查阅该数据,需对加密后的数据进行解密。
目前,在数据处理方案中,通常由应用程序或用户指定算法来对数据进行相应地加密或解密处理。在实践中发现,由于指定算法对应的算法引擎会出现挂死或出错等状况,节点采用指定算法对数据的加密或解密处理失败,此时节点仅会返回错误消息,例如输入输出(input output,IO)错误消息等,用于通知数据的加密或解密处理失败。这样将导致业务数据处理失败,严重地还会破坏数据存储系统。
发明内容
本发明实施例公开了数据处理方法、相关设备及计算机存储介质,能够解决现有数据处理方案中存在的无法实现业务数据处理、严重还会破坏数据存储系统等问题。
第一方面,本发明实施例公开提供了一种数据处理方法,应用于处理节点中,所述处理节点包括加解密单元及算法引擎,所述方法包括:加解密单元获取待处理数据及待处理数据的第一处理算法,该第一处理算法用于指示调用第一处理算法对应的算法引擎对该待处理数据进行第一处理算法所指示的加密或解密处理。若该第一处理算法对待处理数据处理失败,则加解密单元获取智能调度单元为待处理数据匹配的第二处理算法,然后加解密单元调用第二处理算法对应的算法引擎对待处理数据进行第二处理算法所指示的加密或解密处理。
通过实施本发明实施例,能够解决现有数据处理方案中的无法实现业务数据处理、严重还会破坏数据存储系统等问题。
结合第一方面,在一些可能的实施例中,智能调度单元位于处理节点中,则加解密单元获取第二处理算法的具体实施如下:加解密单元向智能调度单元发送算法重请求,用于请求智能调度单元为待处理数据匹配第二处理算法。相应地智能调度单元接收并响应该算法重请求,根据待处理数据的数据信息为待处理数据匹配第二处理算法,并将第二处理算法返回给加解密单元。进而加解密单元接收智能调度单元返回的第二处理算法。其中,待处理数据的数据信息包括待处理数据的特征信息和/或待处理数据对处理算法的需求信息。特征信息为对待处理数据进行特征提取后获得的信息,其可包括但不限于数据大小、数据类型、数据复杂度等信息。需求信息可包括但不限于算法类型、算法安全等级、算法处理效率、算法复杂度及算法处理数据时要求的网络性能指标等信息。
通过实施该步骤,处理节点的加解密单元可向自身节点的智能调度单元重新请求获取第二处理算法,便于后续利用第二处理算法对待处理数据进行再次加密或解密处理。节点内部交互,能够减少算法获取时间,从而缩短数据处理时延,提升数据处理效率。可选地,本本申请还支持首次数据处理失败后支持二次重处理,这样还能提升数据处理的容错性。
结合第一方面,在一些可能的实施例中,智能调度单元位于与处理节点不同的主节点中,则加解密单元获取第二处理算法的具体实施如下:处理节点的加解密单元向处理节点的(智能)调度单元发送失败通知消息,用于通知第一处理算法对待处理数据处理失败。处理节点的调度单元接收失败通知消息后,向主节点的智能调度单元发送算法重请求,用于请求主节点的智能调度单元为待处理数据匹配第二处理算法。相应地,主节点的智能调度单元接收并响应算法重请求,根据待处理数据的数据信息为待处理数据匹配第二处理算法,并将第二处理算法返回给处理节点的(智能)调度单元。进而处理节点的(智能)调度单元将第二处理算法转发给处理节点的加解密单元。关于待处理数据的数据信息具体可参见上文所述,这里不赘述。
通过实施该步骤,处理节点的加解密单元能从主节点的智能调度单元中获取主节点为待处理数据匹配的第二处理算法。便于后续利用第二处理算法对待处理数据进行再次处理。这样能避免处理节点的智能调度单元出故障时无法重匹配第二处理算法,进而导致数据处理不成功等问题。从而可以提高算法获取的成功率,解决现有数据处理方案中存在的无法实现业务数据处理、严重还会破坏数据存储系统等问题。
结合第一方面,在一些可能的实施例中,待处理数据的数据信息包括待处理数据的特征信息。则智能调度单元可获取算法特征映射表,该算法特征映射表中记录有特征信息和第二处理算法的映射关系。进一步智能调度单元根据映射关系,可获取与待处理数据的特征信息相匹配的第二处理算法。
通过实施该步骤,智能调度单元可通过查表的方式获得与待处理数据的特征信息相匹配的第二处理算法,这样有利于提升算法获取的便捷性和准确性。
结合第一方面,在一些可能的实施例中,待处理数据的特征信息包括数据大小。若待处理数据的数据大小大于或等于第一阈值,则第二处理算法为硬件处理算法。相应地,第二处理算法对应的算法引擎为硬件算法引擎,例如硬件加速器等等。反之,若待处理数据的数据大小小于第一阈值,则第二处理算法为软件处理算法。相应地,第二处理算法对应的算法引擎为软件算法引擎,例如进程等软件代码。
结合第一方面,在一些可能的实施例中,待处理数据的特征信息包括数据类型。若待处理数据的数据类型指示待处理数据为多媒体数据,则第二处理算法为高速处理算法,例如TEA或DES算法等。若待处理数据的数据类型指示待处理数据为网络数据,则第二处理算法为高安全性算法,例如AES算法等。由于数据分类标准不同,则待处理数据的数据类型也可不同。例如分为流数据和块数据。若待处理数据的数据类型指示待处理数据为块数据,则第二处理算法可为AES-XTS算法。若待处理数据的数据类型指示待处理数据为流数据,则第二处理算法为AES-CTR算法。
结合第一方面,在一些可能的实施例中,待处理数据的数据信息包括待处理数据的需求信息。则智能调度单元获取算法需求映射表,该映射表中记录有需求信息与第二处理算法的映射关系。相应地智能调度单元根据映射关系,获取与待处理数据的需求信息相匹配的第二处理算法。
通过实施该步骤,智能调度单元可通过查表的方式获得与待处理数据的需求信息相匹配的第二处理算法,这样有利于提升算法获取的便捷性和准确性。
结合第一方面,在一些可能的实施例中,智能调度单元在确定第一处理算法对待处理数据处理失败后,还可对第一处理算法进行故障标记,以将第一处理算法标记为故障算法。便于下次从除第一处理算法外的预设算法库中为下个待处理数据匹配处理算法进行处理。
通过实施该步骤,智能调度单元在下次处理算法匹配中,能从非故障算法中为下个待处理数据匹配处理算法,进而利用非故障处理算法进行数据处理。有利于提升算法获取的可靠性和正确率,从而提升数据处理的性能。
结合第一方面,在一些可能的实施例中,智能调度单元在确定第一处理算法对预设数据处理成功后,可删除第一处理算法的故障标记,以便下次从包括第一处理算法的预设算法库中获取下个待处理数据的处理算法进行处理。
结合第一方面,在一些可能的实施例中,在分布式处理场景中,处理节点的加解密单元可接收主节点的加解密单元发送的处理消息,该处理消息中携带有待处理数据,待处理数据为主节点的加解密单元根据分布式节点集群中每个节点的节点信息对待处理的第一数据进行拆分而确定的处理节点的待处理数据。分布式节点集群中包括处理节点和主节点,待处理数据属于第一数据中的一部分。进一步处理节点的加解密单元通过解析该处理消息得到待处理数据。
通过实施该步骤,在分布式场景中主节点由于资源受限无法实现整个数据的处理,此时可借助处理节点的资源实现数据处理,从而也能够解决现有技术中存在的无法实现业务数据处理、严重还会破坏数据存储系统等问题。
第二方面,本发明实施例提供了一种数据处理装置,所述装置包括用于执行如上第一方面或第一方面的任意可能的实施方式中所描述的方法的功能器件,例如模块或单元等。
第三方面,本发明实施例提供了一种计算设备,包括:处理器,存储器,通信接口和总线;处理器、通信接口、存储器通过总线相互通信;通信接口,用于接收和发送数据;存储器,用于存储指令;处理器,用于调用存储器中的指令,执行上述第一方面或第一方面的任意可能的实施方式中所描述的方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储了用于数据处理的程序代码。所述程序代码包括用于执行上述第一方面或第一方面的任意可能的实施方式中所描述的方法的指令。
第五方面,提供了一种芯片产品,以执行上述第一方面或第一方面的任意可能的实施方式中的方法。
本发明在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是现有技术提供的一种单节点加解密框架示意图。
图2是现有技术提供的一种数据处理方法的流程示意图。
图3是本发明实施例提供的一种基于单机处理场景下的节点加解密框架示意图。
图4是本发明实施例提供的一种基于分布式处理场景下的节点加解密框架示意图。
图5-图6是本发明实施例提供的两种基于单机处理场景下的数据处理方法的流程示意图。
图7-图8是本发明实施例提供的两种基于分布式处理场景下的数据处理方法的流程示意图。
图9是本发明实施例提供的另一种数据处理方法的流程示意图。
图10是本发明实施例提供的一种智能调度单元的结构示意图。
图11是本发明实施例提供的一种数据处理装置的结构示意图。
图12是本发明实施例提供的一种处理节点的结构示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例中的技术方案进行详细描述。
请参见图1,是现有技术提供的一种单节点加解密框架示意图。如图1所示的框架示意图应用于某一节点中(具体可为主机host),如图包括应用程序(application,APP)102、输入输出(input output,IO)处理单元104、加解密单元106、算法引擎108、存储驱动110及IO存储设备112。其中,应用程序102、算法引擎108、存储驱动110及IO存储设备112各自的数量并不做限定,其可为一个或多个,图示均以一个为例示出,但并不构成限定。
应用程序102具体可为系统程序,也可为用户自定义安装的第三方应用程序(如社交应用程序、即时通讯应用程序等)。用户通过应用程序102发起读数据请求或写数据请求,也可称为读IO请求或写IO请求。
IO处理单元104用于处理读数据请求或写数据请求。具体地,为保证写数据请求中待写数据存储的安全性,在处理写数据请求时,IO处理单元104会调用加解密单元106对待写数据进行加密存储处理。反之,在处理读数据请求时,IO处理单元104会调用加解密单元106对待读数据进行解密处理。
加解密单元106用于通过加解密单元106自身提供的处理接口(具体可包括加密接口或解密接口)调用指定算法对应的算法引擎108采用该指定算法对数据进行相应地加密或解密处理。该指定算法通常由应用程序102自定义设置,或用户自定义设置。在实际应用中,一种算法对应一种算法引擎108,不同的算法对应不同的算法引擎108。相应地,当加解密单元106采用不同的算法实现数据加解密处理时,具体可调用该算法对应的算法引擎来实现数据的加解密处理,这里不再赘述。
存储驱动110与IO存储设备112一一对应,该存储驱动110用于驱动IO存储设备112,以访问该IO存储设备112,进而实现读数据请求所请求的数据读取或实现写数据请求所请求的数据写入。在实际应用中,该IO存储设备112具体可为节点内部部署的存储设备,例如硬盘、存储器等;也可为节点外部部署的存储设备,例如U盘或片外存储器等。
以写数据请求为例,为保证数据的安全性,应用程序102发起写数据请求后,IO处理单元104需调用加解密单元106对写数据请求所请求的待写明文数据进行加密处理,具体地,加解密单元106的加密接口通过调用指定加密算法对应的算法引擎108采用该指定加密算法对待写明文数据进行加密处理,得到相应地待写密文数据。然后IO处理单元104通过存储驱动110访问IO存储设备112,以将待写密文数据写入到IO存储设备112中存储。
以读数据请求为例,该读数据请求用于请求读取IO存储设备中存储的待读数据。为保证数据存储的安全性,通常IO存储设备都采用密文形式来存储数据,即该待读数据为待读密文数据。相应地,应用程序102发起读数据请求后,IO处理单元104处理该读数据请求时,需通过存储驱动110访问IO存储设备112以读取该读数据请求所请求读取的待读密文数据。在IO处理单元104获得待读密文数据后,可调用加解密单元106采用指定解密算法对待读密文数据进行解密处理,得到相应地待读明文数据。最后IO处理单元104将该待读明文数据返回给应用程序102。
可选地,在加解密单元106采用指定算法实现数据的加密或解密处理之前,算法引擎108可预先将该算法引擎对应的算法注册到加解密单元106中,具体将该算法的相关信息注册到加解密单元106中。便于加解密单元106后续调用该算法(包括指定算法)实现数据的加解密处理。其中,该算法的相关信息包括但不限于算法标识、算法支持的加密接口或解密接口、算法涉及的各种参数指标及需求信息等等。其中,算法标识用于区分算法,其可包括但不限于算法名称、算法编号等。算法涉及的各种参数指标可包括算法的根密钥、随机密钥等等。算法涉及的需求信息是指用于限定算法适用场景或范围的需求指标,例如其可包括但不限于算法类型,算法处理数据时要求的数据大小、数据类型及网络性能指标,算法安全等级,算法处理效率及算法复杂度等。其中,网络性能指标包括但不限于吞吐量、时延、传输带宽或其他用于影响数据传输性能的参数指标等。
请参见图2,是现有技术提供的一种数据处理方法的流程示意图,该方法应用于图1所示的节点框架示意图中。如图2所示的方法主要分为三种应用场景:写操作场景、读操作场景及异常处理场景。其中,写操作场景涉及的流程步骤如图2包括步骤S201-S205。读操作场景涉及的流程步骤如图2包括步骤S206-S210。异常处理场景涉及的流程步骤如图2包括步骤S211-S213。具体地,如图2所示的方法包括如下实施步骤:
S201、应用程序102向加解密单元106发送写数据请求(这里也可称为数据加密请求),该写数据请求中携带有待写明文数据,用于请求对待写明文数据进行加密存储。相应地,加解密单元106接收该写数据请求。
S202、加解密单元106通过加密接口调用指定的算法引擎108采用指定加密算法对待写明文数据进行加密,得到待写密文数据。
S203、算法引擎108将待写密文数据返回给应用程序102。
S204、应用程序102向存储驱动110发送IO存储消息,该IO存储消息中携带待写密文数据,用于指示将待写密文数据写入到存储驱动110对应的IO存储设备112中,以实现数据的落盘或下盘存储。
S205、在IO存储设备112完成待写密文数据的存储后,通过存储驱动110向应用程序102返回IO存储完成消息,用于通知实现待写密文数据的存储。
S206、应用程序102向存储驱动110发送读数据请求,以通过存储驱动110将读数据请求转发给对应的IO存储设备112。该读数据请求用于请求从存储驱动110对应的IO存储设备112中读取待读密文数据。相应地IO存储设备112接收该读数据请求,读取待读密文数据。
S207、IO存储设备112通过存储驱动110向应用程序102返回待读密文数据。
S208、应用程序102接收待读密文数据后,向加解密单元106发送解密请求,用于请求调用加解密单元106采用指定解密算法对待读密文数据进行解密处理。相应地,加解密单元106接收该解密请求。
S209、加解密单元106通过解密接口调用指定的算法引擎108采用指定解密算法对待读密文数据进行解密,得到待读明文数据。
在实际应用中,若待读密文数据采用的指定加密算法与待写明文数据采用的指定加密算法相同,则指定加密算法与指定解密算法各自对应的算法引擎相同;否则,不相同。本申请图示以指定加密算法与指定解密算法均为同一种算法为例示出,并不构成限定。
S210、算法引擎108将待读明文数据返回给应用程序102。
S211、应用程序102向加解密单元106发送数据处理请求(具体可为数据加密或解密请求),用于请求采用指定算法对待处理数据进行相应地加密或解密处理。相应地,加解密单元106接收该加密或解密请求。
S212、加解密单元106通过处理接口(具体可为加密接口或解密接口)调用指定的算法引擎108采用指定算法对待处理数据进行该指定算法所指示的加密或解密处理。
S213、若算法引擎108出现故障,例如算法引擎108出错或出现挂死等情况,算法引擎10进行的加密或解密处理失败,则算法引擎108可向应用程序102返回IO报错消息,用于通知该加密或解密处理失败。
可以看出,现有数据处理方案中需由应用程序或用户指定某种加密或解密算法来实现数据的加解密处理。一旦算法确定后,在数据加解密处理过程中无法更改,无法适应数据特征的变化而动态调整加密或解密算法,这样会影响数据处理的性能。此外,一旦算法对应的算法引擎出现故障(例如程序出错、或挂死等)只能返回相应地IO报错消息,通知数据处理失败,无法实现业务数据的修复处理,导致业务处理失败,严重地由于程序出错还会破坏数据存储系统。
为解决上述问题,本申请提出另一种数据处理方法、所述方法适用的应用场景、节点框架示意图及相关设备等。请参见图3,是本发明实施例提供的一种加解密框架示意图,该加解密框架示意图应用于任一节点(例如分布式节点集群中的主节点,或任一从节点)中,该框架示意图包括图2中的应用程序(application,APP)102、IO处理单元104、加解密单元106、算法引擎108、存储驱动110及IO存储设备112。此外,还包括智能调度单元114。其中,
智能调度单元114与加解密单元106相互通信,用于在接收加密或解密请求后,为待处理数据选取最优处理算法。便于加解密单元106采用该最优处理算法对待处理数据进行相应地加密或解密处理,有利于保障数据加密或解密处理的高可靠性及安全性。具体地,在加密场景中,该最优处理算法可为最优加密算法。在解密场景中,该最优处理算法可为最优解密算法。其中,智能调度单元114如何选取最优处理算法,具体在本申请下文详述。
在实际应用中,智能调度单元114具体可为软件单元,也可为硬件单元。当智能调度单元114为软件单元时,其具体可通过软件进程实现。当智能调度单元114为硬件单元,其具体可通过外围设备、片上系统(system-on-a-chip,SOC)、专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合实现,本申请不做限定。
关于本申请实施例中未描述的部件或单元具体可参见图2实施例中的相关介绍,这里不再赘述。
下面阐述本申请适用的两种应用场景,分别为单机处理场景和分布式处理场景。其中,单机处理场景应用于单个节点,由单个节点独立完成整个数据的加密或解密处理。该单机处理场景下的加解密框架示意图具体如上图3所示,这里不再赘述。基于单机处理场景下的加解密框架示意图,单节点实现数据加解密处理的具体流程示意图将在本申请下图5及图6进行详述。
分布式处理场景应用在分布式节点集群,该集群包括至少两个节点,按照节点的功能或职责节点又被划分为主节点和从节点。即该集群中包括主节点和至少一个从节点。由分布式节点集群中的至少两个处理节点来综合实现整个数据的加密或解密处理,该处理节点具体可为分布式节点集群中的任一节点,例如可为主节点或者从节点等。请参见图4,是本发明实施例提供的一种分布式处理场景下加解密框架示意图。如图4所示的框架示意图包括由主节点和n个从节点组成的分布式节点集群,每个节点各自的框架示意图均相同,可对应参见前述图3所示实施例的相关介绍,这里不再赘述。
在分布式处理场景中,主节点需判断自身是否满足预设单节点处理条件,如果满足,表示主节点有能力单独完成整个数据的加密或解密处理。此时,主节点将利用自身资源(例如算法资源及存储资源等)独立实现整个数据的加密或解密处理。反之,如果不满足,则表示主节点没有能力单独完成整个数据的加密或解密处理,需对整个数据进行拆分,将拆分后的待处理数据调度到分布式节点集群中的其他节点,借助其他节点的资源来实现相应数据的加密或解密处理,具体参见下图7及图8示出的在分布式处理场景下如何实现数据加解密处理的具体流程示意图。
其中,预设单节点处理条件为系统自定义设置的,用于判断单节点是否能独立实现整个数据的处理。示例性地,该预设单节点处理条件可包括但不限于以下中的任一项或多项的组合:主节点的负载量较大(例如主节点的负载量大于或等于第一负载阈值)、主节点的网络资源空闲(例如主节点的网络资源占用量小于或等于第一资源阈值)、主节点的存储资源较少(例如存储资源占用量大于或等于第二资源阈值)、主节点的计算资源较大或主节点没有可用的计算资源,即主节点没有可用的算法引擎等。
下面介绍基于单机处理场景和分布式处理场景如何实现数据的加密或解密处理。请参见图5,是本发明实施例提供的一种可能的基于单机处理场景下的数据处理方法的流程示意图。如图5所示的方法应用于单节点侧,本申请下文以主节点为例详述,该方法具体包括如下步骤:
S501、主节点获取待处理数据,为待处理数据匹配第一处理算法,该第一处理算法用于指示对待处理数据进行相应地加密处理或解密处理。
本申请中,主节点接收数据处理请求,该数据处理请求中携带有待处理数据。该数据处理请求具体可由应用程序生成,也可为接收来自其他设备(例如服务器等)发送的。主节点解析该数据处理请求,得到待处理数据。
在实际应用中,该数据处理请求具体可为数据加密请求(也可称为写数据请求)或数据解密请求(也可称为读数据请求)。若数据处理请求为数据加密请求,则待处理数据为待加密数据,也可称为待写明文数据。反之,若数据处理请求为数据解密请求,则待处理数据为待解密数据,也可称为待读密文数据。为方便描述,本申请下文采用待加密数据和待解密数据进行相关内容阐述,采用待处理数据作为待加密数据和待解密数据的统称进行描述。
可选地,主节点还可获取该待处理数据的数据信息,该数据信息可携带在数据处理请求中,也可主节点单独获取。该数据信息是指用于描述待处理数据的信息,其可包括但不限于以下中的至少一项:待处理数据的特征信息、待处理数据对处理算法的需求信息(本申请下文简称为待处理数据的需求信息)及待处理数据的处理方式等。
其中,待处理数据的特征信息可为主节点通过对待处理数据进行特征解析得到,该特征信息包括但不限于以下中的至少一种:待处理数据的数据大小、数据类型、数据复杂度或其他用于能描述数据特征的信息。在一些可能的实施例中,待处理数据的数据大小是指待处理数据存储或处理时所采用的最小数据单位的大小,例如待处理数据采用32KB大小的数据块形式存储,则该待处理数据的数据大小具体可指数据块大小32KB。
待处理数据的需求信息具体可为用户自定义设置的,用于限定处理待处理数据的处理算法,其可包括但不限于以下中的至少一种:算法类型、算法安全等级、算法处理效率、算法复杂度、算法处理待处理数据时所要求的网络性能指标、算法处理待处理数据时所要求的数据大小、数据类型、数据复杂度或其他用于影响选取处理待处理数据的处理算法的参数信息等。待处理数据的处理方式是指节点处理待处理数据所采用的处理方式,具体可由系统默认配置或用户自定义配置,该处理方式具体可包括单机处理方式或分布式处理方式。本申请实施例,在单机处理场景中,待处理数据的处理方式显然是单机处理方式。
相应地,主节点可根据待处理数据的数据信息,为待处理数据匹配第一处理算法。该处理算法是指用于处理数据的算法,例如数据加密标准(data encryption standard,DES)算法、高级加密标准(advanced encryption standard,AES)算法、或其他加密或解密算法等等。下面示出两种可能的具体实施方式。
在一种实施方式中,若待处理数据的数据信息包括待处理数据的特征信息,则主节点可从算法特征映射表中获取与该待处理数据的特征信息相匹配的第一处理算法。该算法特征映射表中记录有特征信息和处理算法的映射关系,该映射关系为一种特征信息对应一种处理算法,一种处理算法对应至少一种特征信息。
在实际应用中,该算法特征映射表具体可为系统自定义配置的,其表现形式并不局限于表格,还可以是配置文件、文本或其他形式等等,并不构成限定。
下面示例性给出两种依据待处理数据的特征信息匹配第一处理算法的可能实施例。例如,以待处理数据的特征信息为待处理数据的数据大小为例,主节点根据待处理数据的数据大小,为待处理数据匹配第一处理算法。具体的,若待处理数据的数据大小大于或等于第一阈值,则主节点根据算法特征映射表为待处理数据匹配硬件处理算法,作为第一处理算法。在数据处理过程中,主节点将调用硬件算法引擎采用硬件处理算法对待处理数据进行相应地加密或解密处理。
反之,若待处理数据的数据大小小于第一阈值,则主节点根据算法特征映射表为待处理数据匹配软件处理算法作为第一处理算法。相应地在数据处理过程中,主节点将调用软件算法引擎采用软件处理算法对待处理数据进行相应地加密或解密处理。
该第一阈值具体可为系统自定义设置的,例如用户依据经验设置的经验值、根据实际需求自定义设置的,或者根据不同测试环境分别对软件处理算法和硬件处理算法实际测试而得的阈值等。其中,本例上述提及的算法特征映射表具体如下表1所示。
表1
Figure BDA0002182913530000081
Figure BDA0002182913530000091
又如以待处理数据的特征信息为待处理数据的数据类型为例,主节点将根据待处理数据的数据类型为待处理数据匹配第一处理算法。具体地,若待处理数据的数据类型指示待处理数据为多媒体数据,则主节点根据算法特征映射表为待处理数据匹配高速处理算法,作为第一处理算法。可理解的,由于多媒体数据量较多,加密或解密比较耗时,为满足多媒体应用的实时要求,主节点可选用高速处理算法作为处理待处理数据的第一处理算法,以提升数据处理效率。相应地在数据处理过程,主节点调用高速处理算法对应的算法引擎采用高速处理算法对待处理数据进行相应加密或解密处理。
若待处理数据的数据类型指示待处理数据为网络数据,主节点根据算法特征映射表为待处理数据匹配高安全处理算法作为第一处理算法。可理解的,由于网络数据对数据传输的安全性较高,因此主节点可选用高安全处理算法作为处理待处理数据的第一处理算法,以保证数据的安全性。相应地,在数据处理过程,主节点调用高安全处理算法对应的算法引擎采用高安全处理算法对待处理数据进行相应地加密或解密处理。
其中,高速处理算法是指对数据处理速率较高(例如超过预设速率阈值)的算法,例如简单高效加密算法(tiny encryption algorithm,TEA)、数据加密标准DES算法等。高安全处理算法是指对数据处理安全性要求较高的算法,例如高级加密标准AES算法,或其他加密或解密安全性较高的算法等。本例上述提及的算法特征映射表具体参见如下表2所示。
表2
特征信息(数据类型) 处理算法
多媒体数据 高速处理算法
网络数据 高安全处理算法
... ...
在实际应用中,由于数据分类标准不同,则待处理数据的数据类型也不相同。例如根据数据表现形式不同,待处理数据的数据类型可分为表数据、图数据、块数据和流数据等。又如根据数据功能,待处理数据的数据类型可分为多媒体数据和网络数据等等,本申请这里仅为示例,并不构成限定。
例如,又以待处理数据的数据类型包括块数据和流数据为例。若待处理数据的数据类型指示该待处理数据为块数据,由于块数据相对独立,且块数据的大小相对固定,通常该块数据对应映射的处理算法为AES-XTS(AES based tweaked-codebook mode withciphertext stealing)算法。若待处理数据的数据类型指示该待处理数据为流数据,由于流数据支持随机读取,其大小不受限,通常流数据对应映射的处理算法为AES-CTR计数器模式(AES counter)算法。
再一种实施方式中,若待处理数据的数据信息包括待处理数据的需求信息,则主节点可从算法需求映射表中获取与该待处理数据的需求信息相匹配的第一处理算法。该算法需求映射表中记录有需求信息和处理算法的映射关系,该映射关系为一种需求信息对应一种处理算法,一种处理算法对应至少一种需求信息。关于待处理数据对处理算法的需求信息具体可参见上文所述,该算法需求映射表对应可参考前述算法特征映射表的相关阐述,这里不再赘述。
下面示例性以待处理数据的需求信息为待处理数据要求的网络性能指标为例,该网络性能指标具体可为吞吐量、带宽、数据传输速率或时延等。具体地,若待处理数据的网络性能指标为第一指标,例如吞吐量、带宽及数据传输速率等,且该第一指标的数值大于第一预设指标阈值。例如以第一指标为吞吐量为例,待数据数据要求高吞吐量,如待处理数据的吞吐量要求大于100kb/s等,表示待数据数据为高吞吐量数据,即吞吐量敏感型数据。此时,主节点根据算法需求映射表为待处理数据匹配同步处理算法,以作为第一处理算法。可理解的,由于待处理数据对数据传输的吞吐量要求较高,则主节点可选用同步处理算法作为第一处理算法来处理待处理数据,而非对吞吐量要求较低的异步处理算法作为第一处理算法。
若待处理数据的网络性能指标为第二指标,例如时延,且该第二指标的数据小于第二预设指标阈值。例如以第二指标为时延为例,待处理数据的时延要求小于5s,表示待处理数据为时延敏感型数据(或高时延数据)。此时主节点根据算法需求映射表为待处理数据匹配异步处理算法,以作为第一处理算法。可理解的,由于待处理数据对数据时延要求较高,则主节点可需用异步处理算法作为第一处理算法来异步处理待处理数据,有利于节省数据传输时延,提升数据传输效率。
其中,异步处理算法是指支持异步通信或异步数据处理的算法,例如RSA-Async(rivest-shamir-adleman,RSA)异步算法、DES-Async算法、3DES-Async算法及AES-Async算法等。同步处理算法是指支持同步通信或同步数据处理的算法,例如非对称加密RSA-Sync同步算法、DES-Sync算法、3DES-Sync算法及AES-Sync算法等。本例上述提及的算法需求映射表具体参见如下表3所示。
表3
需求信息(数据的网络性能指标要求) 处理算法
高时延 异步处理算法
低时延 同步处理算法
高吞吐量 同步处理算法
低吞吐量 异步处理算法
高带宽 同步处理算法
低带宽 异步处理算法
.... ....
在实际应用中,本申请上文涉及的两种实施方式可单独实施,也可结合实施。当其结合实施时,即主节点综合考虑待处理数据的特征信息及待处理数据对处理算法的需求信息,为待处理数据匹配第一处理算法。此时,本申请上述涉及的算法特征映射表及算法需求映射表可以一个映射表体现,该映射表中记录有数据信息(具体包括数据特征信息和需求信息)与处理算法的映射关系。此外,该映射关系的体现并不局限于表格形式,也可以配置文件或文本等形式存在,并不做限定。示例性地,如下表4示出一种可能的映射表,该映射表中记录有数据信息和需求信息与处理算法的映射关系。
表4
Figure BDA0002182913530000101
Figure BDA0002182913530000111
其中,compress是指处理算法支持数据压缩功能,Nocompress是指处理算法不支持数据压缩功能。上表4示例性以待处理数据的特征信息包括数据大小和数据类型、需求信息包括算法安全等级和网络性能指标要求为例,示出一种可能的映射表。在实际应用中,考虑到处理算法匹配的精确度,映射表中待处理数据的数据信息还可以包含更多的参数,本申请并不做限定。在实际应用时,主节点依据待处理数据的数据信息中包含的各项指标,从映射表中查询与之匹配的处理算法,以作为第一处理算法,本申请这里不做详述。
可理解的,无论算法特征映射表还是算法需求映射表中都包括有至少一种处理算法。该至少一种处理算法可构成一个预设算法库,算法库中每个处理算法存在有与之对应或映射的需求信息或特征信息。相应主节点从算法特征映射表或算法需求映射表中为待处理数据匹配第一处理算法,也可视为主节点从预设算法库中为待处理数据匹配第一处理算法。
S502、主节点采用第一处理算法对待处理数据进行该第一处理算法所指示的加密或解密处理。
在加密场景中,待处理数据具体为待加密数据,该第一处理算法具体为第一加密算法。相应地,主节点调用第一加密算法对应的算法引擎采用该第一加密算法对待处理数据进行加密处理。反之在解密场景中,待处理数据具体为待解密数据,该第一处理算法具体为第一解密算法。相应地,主节点调用第一解密算法对应的算法引擎采用第一解密算法对待处理数据进行解密处理。
S503、主节点若检测到该第一处理算法所指示的加密或解密处理失败,则为待处理数据匹配第二处理算法。
主节点在调用第一处理算法对应的算法引擎处理待处理数据时,若检测到该算法引擎程序出错、或出现挂死等情况,则可确定该算法引擎出现故障,主节点采用第一处理算法对待处理数据的加密或解密处理失败。其中,算法引擎出现故障的具体实施方式并不做限定,例如算法引擎通过通信接口主动上报错误消息,以通知该算法引擎出现故障,例如挂死;或者主节点通过超时机制获知该算法引擎出现故障,例如主节点的加解密单元超过预设时长未接收到算法引擎返回的处理结果数据等等。
可选地,在主节点确定第一处理算法的算法引擎出现故障后,主节点可对第一处理算法进行故障标记,以将第一处理算法标记为故障算法。便于下次主节点为数据匹配处理算法时,从除故障算法(这里即第一处理算法)外的预设算法库中匹配处理算法。
相应地,主节点可周期性检测第一处理算法的算法引擎是否修复成功,具体地主节点周期性调用该算法引擎采用第一处理算法对预存数据进行处理,若处理成功,则表示该算法引擎已修复成功。主节点可删除第一处理算法的故障标记,以将第一处理算法标记为正常算法。便于下次主节点为数据匹配处理算法时,从包括第一处理算法的预设数据库中匹配或寻找处理算法。
主节点在确定采用第一处理算法对待处理数据的处理失败后,可再次为待处理数据匹配第二处理算法,采用第二处理算法再次对待处理数据进行该第二处理算法所指示的加密或解密处理。具体地,主节点可从除第一处理算法外的预设算法库中为待处理数据匹配第二处理算法,关于第二处理算法的匹配可对应参考前述第一处理算法匹配的相关实施例,这里不再赘述。
S504、主节点采用第二处理算法对待处理数据进行该第二处理算法所指示的加密或解密处理。
主节点调用第二处理算法对应的算法引擎采用该第二处理算法对待处理数据进行相应地加密或解密处理。
在实际应用中,针对同一数据而言为保证数据成功解密,该数据的加密算法和解密算法对应相同。因此在解密场景中,本申请上述提及的第一处理算法和第二处理算法实质是同一种算法,但算法来源或算法属性不同。举例来说,以算法来源为例,第一处理算法具体可为部署在主节点的中央处理器(central processing unit,CPU)的算法。相应地步骤S502具体实现时,主节点通过CPU调用第一处理算法的算法引擎采用第一处理算法来对待处理数据进行解密处理。第二处理算法具体可为部署在主节点中不同于CPU的设备(例如片上系统SOC或PCIe加速卡等),相应地步骤S504具体实现时,主节点调用SIM卡中的第二处理算法来对待处理数据进行解密处理。
以算法属性为例,第一处理算法和第二处理算法不同,它们可以是硬件处理算法和软件处理算法中的任一种。其中,硬件处理算法对应的算法引擎具体由硬件设备实现,例如硬件加速器等。软件处理算法对应的算法引擎具体由软件程序实现,例如软件进程等。
通过实施本发明实施例,本申请在数据处理过程中能动态调整处理算法,有利于提升数据处理的性能。且在首次数据处理失败后,还能支持二次重处理,避免现有数据处理方案中存在的业务数据失败、严重还会破坏数据存储系统等问题。
下面结合图3所述的节点加解密框架示意图,阐述图5进行数据处理的具体细化流程。请参见图6,是本发明实施例提供的另一种数据处理方法的流程示意图。如图6所示的方法应用于主节点侧,所述主节点的加解密框架示意图具体如上图2所示。如图6,主要从写操作场景、读操作场景及异常处理场景来详细阐述数据处理的具体实施流程,具体包括如下实施步骤:
S601、算法引擎108预先将该算法引擎108对应的处理算法注册到加解密单元106。
本申请中,一种算法对应一种算法引擎108。各种算法引擎108可预先将各自对应的处理算法注册到加解密单元106中,具体可将处理算法的相关信息注册到加解密单元106,对应可参见前述图1所述实施例中的相关阐述,这里不再赘述。
S602、加解密单元106将处理算法的信息通知给智能调度单元114。便于智能调度单元114获知加解密单元106支持的所有处理算法,进而后续从这些处理算法中为待处理数据(具体可为待加密数据或待解密数据)选取或匹配相应地处理算法进行处理。
S603、应用程序102向智能调度单元114发送配置信息。
该配置信息具体可为系统自定义配置的信息,也可为用户自定义配置的信息。例如,该配置信息可指为待处理数据配置的需求信息、处理方式或其他用于影响待处理数据处理的信息。该处理方式为待处理数据的处理方式,其可包括但不限于单机处理方式和分布式处理方式,其中单机处理场景采用单机处理方式来处理数据,分布式处理场景采用分布式处理方式处理数据。该配置信息可为预先为处理算法配置的信息,例如算法安全等级、算法类型、算法处理效率等等,具体可参见前述实施例中的相关介绍。
在实际应用中,待处理数据具体可为待加密数据或待解密数据。若待处理数据为待加密数据,则待处理数据对应的处理算法具体为加密算法。若待处理数据为待解密数据,则待处理数据对应的处理算法具体为解密算法。本申请下文分别介绍写操作场景涉及的数据处理流程,具体包括如下步骤S604-S610、读操作场景涉及的数据处理流程,具体包括如下步骤S611-S617、异常处理场景下涉及的数据处理流程,具体包括步骤S618-S626。
S604、应用程序102向加解密单元106发送写数据请求(也可称为数据加密请求),该数据写数据请求中携带有待加密数据,用于请求对待加密数据进行加密存储。相应地,加解密单元106接收该数据加密请求。
S605、加解密单元106向智能调度单元114发送第一决策请求,用于请求智能调度单元114为待加密数据决策匹配第一加密算法,以采用第一加密算法对待加密数据进行加密处理。相应地,智能调度单元114接收该决策请求。
S606、智能调度单元114为待加密数据匹配第一加密算法。智能调度单元114将第一加密算法返回给加解密单元106。
智能调度单元114接收第一决策请求后,需为待加密数据匹配第一加密算法。具体的,智能调度单元还可获取待加密数据的数据信息,依据该待加密数据的数据信息为待加密数据匹配第一加密算法。该待加密数据的数据信息可携带于第一决策请求中,通过解析第一决策请求获得;也可预先存储于智能调度单元114中,本申请不做限定。
其中该待加密数据的数据信息可包括待加密数据的特征信息,该特征信息具体可为智能调度单元114对待加密数据进行特征提取获得的,也可为智能调度单元114获取直接来自应用程序102发送而得的,本申请不做限定。关于本申请实施例中,智能调度单元114如何为待加密数据匹配第一加密算法可对应参考图5方法实施例中为待处理数据匹配第一处理算法的相关阐述,这里不再赘述。
智能调度单元114在匹配获得第一加密算法后,可将该第一加密算法(具体可为第一加密算法的标识)反馈给加解密单元106。
S607、加解密单元106通过加密接口调用第一加密算法对应的算法引擎108采用第一加密算法对待加密数据进行加密,得到相应地密文数据。
S608、算法引擎108将密文数据返回给应用程序102。
S609、应用程序102向存储驱动110发送IO存储消息,该IO存储消息中携带有密文数据,用于指示将密文数据写入到存储驱动110对应的IO存储设备112中。
S610、IO存储设备112完成密文数据的存储后,通过存储驱动110向应用程序102返回IO存储完成消息,用于通知完成待加密数据的加密存储。
S611、应用程序102向存储驱动110发送读数据请求,以通过存储驱动110将读数据请求转发给对应的IO存储设备112。该读数据请求用于请求从IO存储设备112中读取相应地密文数据,即待解密数据。相应地,IO存储设备112接收该读数据请求后,读取该待解密数据。
在实际应用中,写操作场景和读操作场景各自涉及的IO存储设备112可以不相同,也可相同。本申请图示仅以数据写入的IO存储设备112和数据读取的IO存储设备112相同为例示出,但并不构成限定。
S612、IO存储设备112通过存储驱动110向应用程序返回待解密数据。
S613、应用程序102接收待解密数据后,向加解密单元106发送解密请求,用于请求对待解密数据进行解密处理。相应地,加解密单元106接收该解密请求。
S614、加解密单元106向智能调度单元114发送第二决策请求,用于请求为待解密数据决策匹配第一解密算法,以采用第一解密算法对待解密数据进行解密处理。相应地,智能调度单元114接收该第二决策请求。
S615、智能调度单元114为待解密数据匹配第一解密算法,并将第一解密算法返回给加解密单元106。
智能调度单元114接收第二决策请求后,需为待解密数据匹配第一解密算法。具体的,智能调度单元获取待解密数据的数据信息,依据该待解密数据的数据信息为待解密数据匹配第一解密算法。该待解密数据的数据信息可携带于第二决策请求中,通过解析第二决策请求获得;也可预先存储于智能调度单元114中。
进一步智能调度单元114可将该第一解密算法,具体可为第一解密算法的标识返回给加解密单元。关于待解密数据的数据信息及如何为待解密数据匹配第一解密算法具体可对应参考图5所述实施例中的相关介绍,这里不再赘述。
S616、加解密单元106通过解密接口调用第一解密算法对应的算法引擎108采用第一解密算法对待解密数据进行解密,得到相应地明文数据。
S617、加解密单元106将明文数据返回给应用程序102。
S618、应用程序102向加解密单元106发送数据处理请求(具体可为数据加密或解密请求),该数据处理请求中携带有待处理数据(具体可为待加密数据或待解密数据),用于请求对待处理数据进行相应地加密或解密处理。相应地加解密单元106接收该数据处理请求。
S619、加解密单元106向智能调度单元114发送第三决策请求,用于请求为待处理数据决策第一处理算法。相应地,智能调度单元114接收该第三决策请求。
S620、智能调度单元114为待处理数据匹配第一处理算法。智能调度单元114将第一处理算法返回给加解密单元106。
本申请中,智能调度单元114获取待处理数据的数据信息,进而依据该待处理数据的数据信息为待处理数据匹配第一处理算法。具体可对应参考前述实施例中的阐述,这里不再赘述。
S621、加解密单元106通过处理接口(加密或解密接口)调用第一处理算法对应的算法引擎108采用第一处理算法对待处理数据进行第一处理算法所指示的加密或解密处理。
在实际应用中,处理接口具体可为应用程序编程接口(application programminginterface,API),用于实现数据的加密处理或解密处理,其可包括但不限于加密接口或解密接口。需要说明的,步骤S618-S621为包括数据加密处理和数据解密处理的上位描述步骤。在数据加密场景中,步骤S618-S621的具体实现可对应参照前述步骤S604-S607所述,这里不再赘述。在数据解密场景中,步骤S618-S621的具体实现可对应参照前述步骤S611-S616所述,这里不再赘述。
S622、若算法引擎108进行第一处理算法所指示的加密或解密处理失败,则向加解密单元106上报错误消息,该错误消息用于通知算法引擎108出错,对待处理数据的加密或解密处理失败。相应地,加解密单元接收该错误消息。
S623、加解密单元106在确定待处理数据的加密或解密处理失败后,向智能调度单元114发送第四决策请求,用于请求为待处理数据重新匹配第二处理算法。相应地,智能调度单元114接收该第四决策请求(也可称为算法重请求)。
S624、智能调度单元114为待处理数据重匹配第二处理算法,并将第二处理算法返回给加解密单元106。
本申请中,加解密单元106在确定采用第一处理算法对待处理数据的加密或解密处理失败后,可再次向智能调度单元114发送二次决策请求(即第四决策请求),以重新为待处理数据匹配第二处理算法。相应地,智能调度单元114在接收第四决策请求后,可确定第一处理算法对待处理数据处理失败。可选地,智能调度单元114可对第一处理算法进行故障标记,以将第一处理算法标记为故障算法。
进一步智能调度单元114可从除第一处理算法外的预设算法库中为待处理数据重匹配第二处理算法。关于第二处理算法的匹配具体可参考前述图5实施例中的相关阐述,这里不再赘述。
S625、加解密单元106通过处理接口调用第二处理算法对应的算法引擎109采用第二处理算法对待处理数据进行相应地加密或解密处理,得到结果数据。
在加密处理中,该处理结果为加密处理后得到的密文数据。从节点的加解密单元106接收该处理结果后,可将该处理结果进行落盘存储,具体地将该处理结果存储至存储驱动110对应的IO存储设备112中。在解密处理中,该处理结果为解密处理后得到的明文数据。从节点的加解密单元106接收该处理结果后,可通过主节点的加解密单元106返回给主节点的应用程序102,以供查看。
通过实施本发明实施例,本申请在数据处理过程中能动态调整处理算法,有利于提升数据处理的性能。且在首次数据处理失败后,还能支持二次重处理,避免现有数据处理方案中存在的业务数据失败、严重还会破坏数据存储系统等问题,从而有利于提升数据处理的容错性。
请参见图7,是本发明实施例提供的一种可能的基于分布式处理场景下的数据处理方法的流程示意图。如图7所示的方法应用于分布式节点集群中,该分布式节点集群的加解密框架示意图如上图4所示。图7所示的方法包括如下实施步骤:
S701、主节点获取所需处理的第一数据,为第一数据确定第一处理算法及m个处理节点各自的待处理数据。其中,m个处理节点的待处理数据组成第一数据。该处理节点为分布式节点集群中的任一节点,具体可为主节点或从节点。
本申请中,主节点接收数据处理请求,该数据处理请求中携带有所需处理的第一数据。主节点通过解析数据处理请求,得到第一数据。关于数据处理请求具体可对应参考前述图5所述实施例中的相关介绍,这里不再赘述。
主节点在获取第一数据后,可为第一数据匹配第一处理算法,例如依据第一数据的特征信息及需求信息等为第一数据匹配第一处理算法,具体可对应参考前述图5所述实施例中的相关介绍,这里不再赘述。进一步主节点获取分布式节点集群中每个节点的节点信息,进而依据每个节点的节点信息确定m个处理节点。其中,节点的节点信息包括但不限于节点的节点标识、节点的负载量、节点的资源占用量及节点的健康状态等信息。节点的健康状态可指用于描述节点运行状态的信息,例如运行正常或运行出故障等;也可指用于描述该节点包含的各算法引擎的运行状态的信息,例如算法引擎出现故障或运行正常等等,本申请不做限定。节点的资源占用量具体可指以下中的任一项或多项的组合:节点的网络资源占用量、存储资源占用量及计算资源占用量(即占用的算法引擎)等。
相应地,主节点根据分布式节点集群中每个节点的负载量及资源占用量等节点信息,从分布式节点集群中为第一数据确定当前具备数据处理能力的m个处理节点,并将第一数据拆分到m个处理节点处理,从而确定到m个处理节点各自的待处理数据。该m个处理节点的待处理数据组合形成第一数据,m为正整数。
该分布式节点集群中包括有主节点和至少一个从节点。为方便图示,图7仅以一个从节点为例示出。且本申请图示还以m=2,2个处理节点包括一个主节点和一个从节点为例示出,在实际应用中m的数值根据实际需求确定,图示仅为示例,并不构成限定。
S702、主节点将m个处理节点的待处理数据和第一处理算法对应发送给m个处理节点。相应地m个处理节点对应接收自身处理节点的待处理数据及相应地第一处理算法。
S703、m个处理节点中的每个处理节点采用第一处理算法对自身处理节点的待处理数据进行该第一处理算法所指示的加密或解密处理,从而实现整个第一数据的加密或解密处理。
本申请这里以目标节点为例,详述目标节点如何基于第一处理算法实现待处理数据的处理。该目标节点为m个处理节点中的任一处理节点。
具体地,主节点获取目标节点的待处理数据及第一处理算法后,可将该目标节点的待处理数据及匹配的第一处理算法发送给目标节点。具体地主节点可向目标节点发送处理消息,该处理消息中携带有目标节点的待处理数据及第一处理算法,用于指示目标节点采用第一处理算法对目标节点的待处理数据进行对应的加密或解密处理。相应地,目标节点接收该目标节点的待处理数据及第一处理算法后,可调用第一处理算法对应的算法引擎采用该第一处理算法对该目标节点的待处理数据进行相应地加密或解密处理。同理,m个处理节点中每个处理节点均按照上述目标节点的数据处理原理,可实现整个第一数据的加密或解密处理。
S704、目标节点若检测到第一处理算法所指示的加密或解密处理失败,则获取该目标节点的待处理数据的第二处理算法。
本申请示出两种可能的目标节点获取第二处理算法的具体实施方式:
第一种:目标节点从主节点侧获取第二处理算法,具体包括如下实施步骤:
S704a、目标节点向主节点发送算法重请求,用于请求主节点重新为目标节点的待处理数据匹配第二处理算法。相应地主节点接收算法重请求。
S704b、主节点从除第一处理算法外的预设算法库中,为目标节点的待处理数据重匹配第二处理算法,并将该第二处理算法发送给目标节点。
本申请中,该算法重请求具体用于请求主节点重新为目标节点的待处理数据匹配第二处理算法。可选地,该算法重请求中可携带第一处理算法的标识。主节点在接收算法重请求后,可对第一处理算法进行故障标记,以将第一处理算法标记为故障算法,进而从除第一处理算法外的预设算法库中为目标节点的待处理数据匹配第二处理算法。关于主节点如何匹配第二处理算法,具体对应参考前述图5所述实施例中的相关阐述,这里不再赘述。
主节点获得第二处理算法后,可向目标节点发送通知消息(也可称为响应消息)。该消息中携带有第二处理算法的标识。相应地,目标节点接收该通知消息后,通过解析该通知消息,得到第二处理算法的标识,从而获得第二处理算法。
第二种:目标节点从自身节点处获取第二处理算法,具体包括如下实施步骤:
S704c:目标节点从除第一处理算法外的预设算法库中重新为该目标节点的待处理数据匹配第二处理算法。
本申请中,目标节点在检测到第一处理算法对应的算法引擎出现故障,则采用第一处理算法对目标节点的待处理数据处理失败。相应地目标节点可对第一处理算法进行故障标记,以从除第一处理算法外的预设数据库中重新为目标节点的待处理数据匹配第二处理算法。关于第二处理算法的匹配具体可对应参考前述图5所述实施例中的相关介绍,这里不再赘述。
S705、目标节点采用第二处理算法对目标节点的待处理数据进行该第二处理算法所指示的加密或解密处理。
可选地,目标节点检测到第一处理算法指示的加密或解密处理失败后,还可向主节点发送失败消息,该失败消息用于通知目标节点的算法引擎出现故障,目标节点采用第一处理算法对目标节点的待处理数据的处理失败。在实际应用中,该失败消息和算法重请求具体可为同一消息,也可为不同消息,本申请不做限定。
通过实施本发明实施例,在分布式处理场景中能采用分布式节点集群中的m个处理节点来实现大数据处理,避免由于单节点资源受限无法实现数据处理,导致业务数据处理失败等问题。此外,在数据处理过程中还能动态调整处理算法,有利于提升数据处理的性能。且在首次数据处理失败后,能支持二次数据重处理,避免现有数据处理方案中存在的业务数据失败、严重还会破坏数据存储系统等问题,从而有利于提升数据处理的容错性。
结合图4所述的分布式节点集群加解密框架示意图,下面阐述图7进行数据处理的具体细化流程。请参见图8,是本发明实施例提供的另一种数据处理方法的流程示意图。图7所示的方法应用于分布式节点集群中,所述方法包括如下实施步骤S801-S816。图8中分布式节点集群仅以包括主节点和一个从节点为例示出,但并不构成限定。
S801、主节点侧的应用程序102向加解密单元106发送数据处理请求(具体可为数据加密请数据加密请求),该数据处理请求中携带有第一数据。
S802、主节点侧的加解密单元106向主节点侧的智能调度单元114发送第一决策请求,用于请求为第一数据匹配或决策相应地处理算法。相应地,智能调度单元114接收该第一决策请求。
S803、主节点侧的智能调度单元114获取分布式节点集群中每个节点的节点信息,为第一数据确定m个处理节点,并将第一数据拆分到m个处理节点,从而确定到m个处理节点各自的待处理数据,m个处理节点的待处理数据组成第一数据。
S804、主节点侧的智能调度单元114为第一数据(具体可为m个处理节点的待处理数据)匹配第一处理算法。智能调度单元114将m个处理节点的待处理数据及第一处理算法分别发送到m个处理节点各自的智能调度单元114中。
为方便阐述,本申请图示以m=2,2个处理节点分别为主节点和从节点为例示出,并不构成限定。即主节点侧的智能调度单元114将第一数据划分至主节点和从节点中处理,得到主节点的待处理数据和从节点的待处理数据,这两部分数据共同组成第一数据。进一步主节点的智能调度单元114将从节点的待处理数据及第一处理算法发送给从节点的智能调度单元114。
S805、主节点侧的智能调度单元114将主节点的待处理数据及第一处理算法发送给主节点侧的加解密单元106,以调用加解密单元106的处理接口采用该第一处理算法对主节点的待处理数据进行处理。
S806、主节点侧的智能调度单元114将从节点的待处理数据及第一处理算法发送给从节点的智能调度单元114。相应地,从节点的智能调度单元114接收从节点的待处理数据及第一处理算法。
具体实现时,主节点侧的智能调度单元114向从节点的智能调度单元114发送处理通知消息,所述处理通知消息中携带有从节点的待处理数据及第一处理算法,用于指示从节点采用该第一处理算法对从节点的待处理数据进行处理。
在实际应用中,步骤S805和S806的执行顺序并不做限定,例如可以同时执行,也可先执行步骤S806后执行步骤S805等。
S807、从节点的智能调度单元114向从节点的加解密单元106发送接口调用消息,以调用加解密单元106的处理接口实现从节点的待处理数据的处理。相应地,从节点的加解密单元106接收该接口调用消息。该接口调用消息中携带有从节点的待处理数据及第一处理算法。
S808、从节点的加解密单元106调用处理接口利用第一处理算法对应的算法引擎108采用第一处理算法对从节点的待处理数据进行相应地加密或解密处理,得到处理结果。
S809、从节点的算法引擎108向从节点的加解密单元106返回处理结果。
在加密处理中,该处理结果为加密处理后得到的密文数据。从节点的加解密单元106接收该处理结果后,可将该处理结果进行落盘存储,具体地将该处理结果存储至存储驱动110对应的IO存储设备112中。在解密处理中,该处理结果为解密处理后得到的明文数据。从节点的加解密单元106接收该处理结果后,可通过主节点的加解密单元106返回给主节点的应用程序102,以供查看。
S810、从节点的加解密单元106若检测到加密或解密处理失败,则获取为该从节点的待处理数据匹配的第二处理算法。
本申请中,m个处理节点中的任一目标节点若检测到该目标节点的算法引擎108出现故障,则针对该目标节点的待处理数据的加密或解密处理失败,目标节点可为该目标节点的待处理数据重新获取第二处理算法,以采用第二处理算法对该目标节点的待处理数据进行二次处理。本申请这里以目标节点为从节点为例进行详述,但并不构成限定。其中,从节点的加解密单元106获取第二处理算法的具体实施方式如下:
在一种实施方式中,从节点的加解密单元106从主节点侧获取第二处理算法,具体地步骤S814包括如下步骤S810a-S810d:
S810a:从节点的加解密单元106向从节点的智能调度单元114发送失败通知消息,用于通知采用第一处理算法对从节点的待处理数据处理失败。相应地,从节点的智能调度单元114接收该失败通知消息。
S810b:从节点的智能调度单元114向主节点的智能调度单元114发送算法重请求,用于请求主节点的智能调度单元114重新为从节点的待处理数据匹配第二处理算法。
S810c:主节点的智能调度单元114接收该算法重请求,为从节点的待处理数据重新匹配第二处理算法,并将该第二处理算法返回给从节点的智能调度单元114。
具体地,主节点的智能调度单元114匹配到第二处理算法后,可向从节点的智能调度单元114发送通知消息,该通知消息中携带有第二处理算法的标识,用于通知重新为从节点的待处理数据匹配的第二处理算法。相应地从节点的智能调度单元接收通知消息后,可解析通知消息获得第二处理算法。
可选地,主节点的智能调度单元114接收该算法重请求后,可确定原来为从节点的待处理数据匹配的第一处理算法出现故障,即第一处理算法对从节点的待处理数据处理失败,可对该第一处理算法进行故障标记。以从除第一处理算法外的预设算法库中重新为从节点的待处理数据匹配第二处理算法。关于第二处理算法如何匹配具体可对应参考前述实施例中的相关介绍,这里不再赘述。
S810d:从节点的智能调度单元114将该第二处理算法发送给从节点的加解密单元。
再一种实施方式中,从节点的加解密单元106从从节点侧获取第二处理算法,具体地步骤S814包括如下步骤S814e-S814f:
S810e:从节点的加解密单元106向从节点的智能调度单元114发送算法重请求,用于请求为从节点的待处理数据重匹配第二处理算法。相应地,从节点的智能调度单元接收该算法重请求。
S810f:从节点的智能调度单元114重新为从节点的待处理数据匹配第二处理算法,并将第二处理算法发送给从节点的加解密单元106。
S811、从节点的加解密单元106通过处理接口调用第二处理算法对应的算法引擎108采用第二处理算法对从节点的待处理数据进行相应地加密或解密处理,得到结果数据。
需要说明的,本申请实施例同样适用于写操作场景、读操作场景及异常操作场景。关于上述三种操作场景下如何对应基于数据加密请求或数据解密请求实现数据的加密或解密处理,可对应参考前述图6或图7所述实施例中的相关介绍,这里不展开进行详细。
通过实施本发明实施例,在分布式处理场景中能采用分布式节点集群中的m个处理节点来实现大数据处理,避免由于单节点资源受限无法实现数据处理,导致业务数据处理失败等问题。此外,在数据处理过程中还能动态调整处理算法,有利于提升数据处理的性能。且在首次数据处理失败后,能支持二次数据重处理,避免现有数据处理方案中存在的业务数据失败、严重还会破坏数据存储系统等问题,从而提升了数据处理的容错性。
为更好地理解本发明实施例,下面进行举例详述。请参见图9是本发明实施例提供的另一种数据处理方法流程示意图。如图9所示方法,以待处理数据的数据信息包括待处理数据的数据大小,阐述处理节点如何依据数据大小进行数据解密处理。如图9所示的方法包括如下实施步骤:
S901、处理节点接收待处理数据,对待处理数据进行特征提取,得到待处理数据的特征信息。该待处理数据的特征信息包括待处理数据的数据大小。
本申请中,由于分布式文件系统(hadoop distruted file system,HDFS)具备高容错、高吞吐率及高可靠性等特征,其是分布式计算中数据存储管理的基础。HDFS主要利用Openssl软件包实现数据的加密或解密处理。目前,现有数据处理方案中若想在中实现新增处理算法的硬件或软件实现,可通过Openssl的第三方引擎对接硬件加速器或软件程序算法,并替换Openssl中已有的软件程序算法。本申请采用在新增处理算法的算法引擎中新增智能调度单元106,根据智能调度单元决策的处理算法实现处理,该处理算法具体可包括硬件处理算法(例如硬件加速器、片上系统SOC等)或软件处理算法。
在实际应用中,处理算法对应的算法引擎可将该处理算法注册到Openssl软件库的加解密单元106中。可选地,系统还可预先配置该处理算法涉及的需求信息,例如该处理算法支持处理数据的数据大小阈值(下文也可称为第一阈值)、数据类型等信息,具体可参考前述实施例相关所述。该数据大小阈值具体可根据不同的测试场景,例如对软件处理算法或硬件处理算法实际测试所得的数值,还可新增考虑该处理算法处理数据所要求的时延、带宽及吞吐量等实际需求指标设置而得,本申请不做限定。
S902、若待处理数据的数据大小大于第一阈值,则处理节点采用硬件算法引擎调用硬件处理算法对待处理数据进行相应地加密或解密处理。
由于硬件处理算法对大数据处理的性能优于软件处理算法对大数据处理的性能,因此处理节点在识别到待处理数据的数据大小大于第一阈值时,可为待处理数据匹配硬件处理算法,以调用该硬件处理算法对应的算法引擎采用该硬件处理算法对待处理数据进行处理。
S903、若待处理数据的加密或解密处理失败,则处理节点采用软件算法引擎调用软件处理算法对待处理数据进行加密或解密处理。
在待处理数据的处理过程中,由于算法引擎会出错、出现挂死等情况,处理节点对待处理数据的加密或解密处理将失败。若处理节点检测到该待处理数据的加密或解密处理失败,则处理节点会重新调用软件处理算法对应的软件算法引擎采用该软件处理算法对待处理数据进行二次处理,以改善数据的容错处理,减少业务数据处理的失败概率。
S904、若待处理数据的数据大小小于或等于第一阈值,则处理节点采用软件算法引擎调用软件处理算法对待处理数据进行相应地加密或解密处理。
相应地处理节点在识别到待处理数据的数据大小小于或等于第一阈值时,可为待处理数据匹配软件处理算法,以调用该软件处理算法对应的软件算法引擎对待处理数据进行相应地解密或解密处理。可选地,当S904中待处理数据的加密或解密处理失败时,处理节点也可采用硬件处理算法对该待处理数据进行二次加密或解密处理,以提升数据处理的容错性。
特别的在数据解密场景中,为实现数据的成功解密,针对该数据的加密算法和解密算法是相同的。相应地在数据解密场景中,不论是硬件处理算法还是软件处理算法均是指同一种解密算法。本申请上述实施例中,由于硬件处理算法对大数据的处理性能较好,则在待处理数据的数据大小较大(如大于第一阈值)时,处理节点可采用硬件处理算法调用硬件加速器等算法引擎对待处理数据进行解密处理,如果处理失败,可再次采用软件处理算法调用软件算法引擎对待处理数据进行解密处理。
通过实施本发明实施例,本申请在数据处理过程中能动态调整处理算法,有利于提升数据处理的性能。且在首次数据处理失败后,还能支持二次重处理,避免现有数据处理方案中存在的业务数据失败、严重还会破坏数据存储系统等问题,从而有利于提升数据处理的容错性。
基于上述实施例,下面阐述智能调度单元114涉及的相关实施例。请参见图10,是本发明实施例提供的一种智能调度单元114的结构示意图。如图10所示的智能调度单元114包括配置单元1141、算法管理单元1142、算法决策单元1143、特征解析单元1144、故障检测单元1145、心跳单元1145和通信单元1146。其中,
配置单元1141用于系统或用户自定义配置信息,例如用户为各种处理算法配置处理算法所适用或要求的需求信息,或者配置待处理数据对处理算法所要求的需求信息,以用于限定处理待处理数据采用的处理算法。例如用户配置处理算法处理数据时所要求的数据大小、数据类型、数据复杂度、或其他信息等。又如用户配置待处理数据的处理算法所要求的需求信息,例如算法安全等级、算法类型、算法处理效率等等,具体可对应参见前述实施例所述,这里不再赘述。
算法管理单元1142用于对各种处理算法进行管理。具体地,算法管理单元1142具体可管理算法引擎108注册到加解密单元106中的算法,具体可管理这些算法的信息,例如算法名称、算法的需求信息(如算法安全等级、资源占用量等),具体可参考前述实施例中的相关阐述。
算法决策单元1143用于为待处理数据匹配相应地处理算法,以便加解密单元106采用该处理算法对待处理数据进行处理。该处理算法为算法管理单元1142管理的各种算法中的任一种。具体地,算法决策单元1143可根据待处理数据的数据信息为待处理数据匹配相应地处理算法,具体可参考前述图5所述实施例中的相关介绍。该数据信息具体可包括但不限于用户配置的待处理数据对处理算法的需求信息、待处理数据的特征信息等。该待处理数据的特征信息可来自特征解析单元1144。
特征解析单元1144用于对待处理数据进行特征提取,得到该待处理数据的特征信息。该待处理数据的特征信息可发送给算法决策单元1143为待处理数据匹配相应地处理算法。
故障检测单元1145用于检测或确定处理算法是否出现故障,具体地通过超时机制或是否接收到处理接口上报的错误消息,以确定该处理算法对应的算法引擎是否出现故障。例如智能调度单元114在预设时长内未收到待处理数据对应的处理结果,则确定用于处理待处理数据的处理算法出现故障等,具体可参考前述实施例中的相关阐述。可选地,当故障检测单元1145确定到处理算法出现故障时,可对该处理算法进行故障标记,以将该处理算法标记为故障算法。反之,当该处理算法的故障修复成功(即处理算法对应的算法引擎修复成功),则故障检测单元1145删除处理算法的故障标记,以将该处理算法恢复为正常算法。
心跳单元1146用于保持节点间的相互通信、上报节点的节点信息,该节点信息包括但不限于节点标识及节点健康状态,例如节点正常或出现故障等信息。便于算法决策单元1143为待处理数据选择运行正常的处理节点进行处理。
通信单元1147用于实现智能调度单元114与其他单元的相互通信,例如通信单元1147将算法决策单元1143匹配获得的处理算法发送给加解密单元106,以通过加解密单元106采用该处理算法进行相应数据处理。
关于本发明实施例中,智能调度单元114中各单元未示出或未描述的内容,具体可对应参考前述图1-图9所述实施例中的相关介绍,这里不再赘述。
结合上述实施例的描述,下面阐述本申请适用的节点结构示意图。请参见图11是本发明实施例提供的一种数据处理装置(也可称处理节点)的结构示意图。如图11所示的数据处理装置包括加解密单元106及算法引擎108。可选地,该数据处理装置还可包括智能调度单元114或者调度单元116。在一些可能的实施例中,该智能调度单元114和调度单元116可部署为同一功能单元。其中,
所述加解密单元106,用于获取待处理数据及待处理数据的第一处理算法,所述第一处理算法用于指示调用所述第一处理算法对应的算法引擎对所述待处理数据进行所述第一处理算法所指示的加密或解密处理;
所述加解密单元106,还用于若所述第一处理算法对所述待处理数据处理失败,则获取智能调度单元为所述待处理数据匹配第二处理算法;
所述算法引擎108,用于对所述待处理数据进行所述第二处理算法所指示的加密或解密处理,所述算法引擎与所述第二处理算法对应。
在一些可能的实施例中,所述数据处理装置还包括所述智能调度单元114,
所述加解密单元106,用于向所述智能调度单元发送算法重请求,所述算法重请求用于请求所述智能调度单元为所述待处理数据匹配所述第二处理算法;
所述智能调度单元114,用于响应所述算法重请求,根据所述待处理数据的数据信息为所述待处理数据匹配所述第二处理算法,并将所述第二处理算法返回给所述加解密单元;
所述加解密单元106,还用于接收所述智能调度单元返回的所述第二处理算法;
其中,所述待处理数据的数据信息包括所述待处理数据的特征信息和/或所述待处理数据对处理算法的需求信息。
在一些可能的实施例中,所述数据处理装置还包括调度单元116,所述智能调度单元位于主节点中,
所述加解密单元106,用于向所述数据处理装置的调度单元发送失败通知消息,用于通知所述第一处理算法对所述待处理数据处理失败;
所述调度单元116,用于接收所述失败通知消息后,向所述主节点的智能调度单元发送算法重请求,所述算法重请求用于请求所述智能调度单元为所述待处理数据匹配所述第二处理算法;
所述调度单元116,还用于接收所述智能调度单元返回的第二处理算法,并将所述第二处理算法发送给所述加解密单元;其中,所述第二处理算法为所述智能调度单元响应所述算法重请求,根据所述待处理数据的数据信息为所述待处理数据匹配所述第二处理算法;
所述加解密单元106,还用于接收所述调度单元发送的第二处理算法;
其中,所述待处理数据的数据信息包括所述待处理数据的特征信息和/或所述待处理数据对处理算法的需求信息。
在一些可能的实施例中,所述待处理数据的数据信息包括所述待处理数据的特征信息,所述根据所述待处理数据的数据信息为所述待处理数据匹配所述第二处理算法包括:
所述智能调度单元114具体用于获取算法特征映射表,所述算法特征映射表中记录有所述特征信息与所述第二处理算法的映射关系;根据所述映射关系,获取与所述待处理数据的特征信息相匹配的所述第二处理算法。
在一些可能的实施例中,所述待处理数据的数据信息包括所述待处理数据的需求信息,所述根据所述待处理数据的数据信息,为所述待处理数据匹配获得所述第二处理算法包括:
所述智能调度单元114具体用于获取算法需求映射表,所述算法需求映射表中记录有所述需求信息与所述第二处理算法的映射关系;根据所述映射关系,获取与所述待处理数据的需求信息相匹配的所述第二处理算法;其中,所述需求信息包括以下中的至少一项:算法安全等级、算法类型、算法处理效率及算法要求的网络性能指标。
在一些可能的实施例中,所述智能调度单元114还用于若确定到所述第一处理算法对所述待处理数据处理失败,则对所述第一处理算法进行故障标记,以将所述第一处理算法标记为故障算法。
在一些可能的实施例中,所述智能调度单元114还用于若确定到所述第一处理算法对预设数据处理成功,则删除所述第一处理算法的故障标记,以便下次从包括所述第一处理算法的预设算法库中获取下个待处理数据的处理算法进行处理。
在一些可能的实施例中,所述加解密单元106用于接收主节点的加解密单元发送的处理消息,解析所述处理消息得到所述待处理数据;其中,所述处理消息中携带有所述待处理数据,所述待处理数据为所述主节点的加解密单元根据分布式节点集群中每个节点的节点信息对待处理的第一数据进行拆分而确定的所述处理节点的待处理数据,所述分布式节点集群中包括所述处理节点及所述主节点,所述待处理数据属于所述第一数据中的一部分。
应理解的是,本发明实施例的装置可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图5至图9中所示的数据处理方法时,该装置及其各个部件也可以由软件代码实现。
通过实施本发明实施例,本申请在数据处理过程中能动态调整处理算法,有利于提升数据处理的性能。且在首次数据处理失败后,还能支持二次重处理,避免现有数据处理方案中存在的业务数据失败、严重还会破坏数据存储系统等问题。
请参见图12,是本发明实施例提供的一种处理节点的结构示意图。如图12所示的处理节点包括一个或多个处理器1201、通信接口1202和存储器1203,处理器1201、通信接口1202和存储器1203可通过总线方式连接,也可通过无线传输等其他手段实现通信。本发明实施例以通过总线1204连接为例。其中:
处理器1201可以由一个或者多个通用处理器构成,例如中央处理器(CentralProcessing Unit,CPU)。处理器1201可用于运行相关的程序代码中以下任一项或多项功能器件的程序:应用程序102、IO处理单元104、加解密单元106、算法引擎108、存储驱动110及智能调度单元114等。也就是说,处理器1201执行程序代码可以实现上述功能器件中的任一项或多项的功能。关于上述各个功能器件,如单元或模块可对应参考前述实施例中的相关阐述。
通信接口1202可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他模块/设备进行通信。例如,本发明实施例中通信接口602具体可用于接收主节点发送的待处理数据及第一处理算法等。
存储器1203可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器1203还可以包括上述种类的存储器的组合。存储器1203可用于存储一组程序代码,以便于处理器601调用存储器603中存储的程序代码以实现本发明实施例中涉及的各功能器件对应的功能,即实现本发明上述图5-图9中任一方法实施例所描述的技术内容。
需要说明的,图12仅仅是本申请实施例的一种可能的实现方式,实际应用中,处理节点还可以包括更多或更少的部件,这里不作限制。关于本申请实施例中未示出或未描述的内容,可参见前述图1-图9所述实施例中的相关阐述,这里不再赘述。
本发明实施例还提供一种计算机非瞬态存储介质,所述计算机非瞬态存储介质中存储有指令,当其在处理器上运行时,图5-图9中任一方法实施例中所示的方法流程得以实现。
本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,图5-图9中任一方法实施例中所示的方法流程得以实现。
结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(英文:Random Access Memory,RAM)、闪存、只读存储器(英文:Read Only Memory,ROM)、可擦除可编程只读存储器(英文:ErasableProgrammable ROM,EPROM)、电可擦可编程只读存储器(英文:Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于节点设备(例如上述的处理节点)中。当然,处理器和存储介质也可以作为分立组件存在于节点设备中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (18)

1.一种数据处理方法,其特征在于,应用于处理节点,所述处理节点包括加解密单元及算法引擎,所述方法包括:
所述加解密单元获取待处理数据及待处理数据的第一处理算法,所述第一处理算法用于指示调用所述第一处理算法对应的算法引擎对所述待处理数据进行所述第一处理算法所指示的加密或解密处理;
若所述第一处理算法对所述待处理数据处理失败,则所述加解密单元获取智能调度单元根据所述待处理数据的特征信息和/或所述待处理数据对处理算法的需求信息为所述待处理数据匹配第二处理算法;
所述加解密单元调用所述第二处理算法对应的算法引擎对所述待处理数据进行所述第二处理算法所指示的加密或解密处理。
2.如权利要求1所述的方法,其特征在于,所述智能调度单元位于所述处理节点中,所述加解密单元获取智能调度单元为所述待处理数据匹配第二处理算法包括:
所述加解密单元向所述智能调度单元发送算法重请求,所述算法重请求用于请求所述智能调度单元为所述待处理数据匹配所述第二处理算法;
所述智能调度单元响应所述算法重请求,根据所述待处理数据的数据信息为所述待处理数据匹配所述第二处理算法,并将所述第二处理算法返回给所述加解密单元;
所述加解密单元接收所述智能调度单元返回的所述第二处理算法;
其中,所述待处理数据的数据信息包括所述待处理数据的特征信息和/或所述待处理数据对处理算法的需求信息。
3.如权利要求1所述的方法,其特征在于,所述智能调度单元位于与所述处理节点不同的主节点中,所述加解密单元获取智能调度单元为所述待处理数据匹配第二处理算法包括:
所述加解密单元向所述处理节点的调度单元发送失败通知消息,用于通知所述第一处理算法对所述待处理数据处理失败;
所述处理节点的调度单元接收所述失败通知消息后,向所述主节点的智能调度单元发送算法重请求,所述算法重请求用于请求所述智能调度单元为所述待处理数据匹配所述第二处理算法;
所述智能调度单元响应所述算法重请求,根据所述待处理数据的数据信息为所述待处理数据匹配所述第二处理算法,并将所述第二处理算法返回给所述处理节点的调度单元;
所述处理节点的调度单元将所述第二处理算法转发给所述加解密单元;
其中,所述待处理数据的数据信息包括所述待处理数据的特征信息和/或所述待处理数据对处理算法的需求信息。
4.如权利要求2或3所述的方法,其特征在于,所述待处理数据的数据信息包括所述待处理数据的特征信息,所述根据所述待处理数据的数据信息为所述待处理数据匹配所述第二处理算法包括:
所述智能调度单元获取算法特征映射表,所述算法特征映射表中记录有所述特征信息与所述第二处理算法的映射关系;
所述智能调度单元根据所述映射关系,获取与所述待处理数据的特征信息相匹配的所述第二处理算法。
5.如权利要求2或3所述的方法,其特征在于,所述待处理数据的数据信息包括所述待处理数据的需求信息,所述根据所述待处理数据的数据信息,为所述待处理数据匹配获得所述第二处理算法包括:
所述智能调度单元获取算法需求映射表,所述算法需求映射表中记录有所述需求信息与所述第二处理算法的映射关系;
所述智能调度单元根据所述映射关系,获取与所述待处理数据的需求信息相匹配的所述第二处理算法;其中,所述需求信息包括以下中的至少一项:算法安全等级、算法类型、算法处理效率及算法要求的网络性能指标。
6.如权利要求2-5中任一项所述的方法,其特征在于,所述方法还包括:
所述智能调度单元若确定到所述第一处理算法对所述待处理数据处理失败,则对所述第一处理算法进行故障标记,以将所述第一处理算法标记为故障算法。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
若所述智能调度单元确定到所述第一处理算法对预设数据处理成功,则删除所述第一处理算法的故障标记,以便下次从包括所述第一处理算法的预设算法库中获取下个待处理数据的处理算法进行处理。
8.如权利要求1-7中任一项所述的方法,其特征在于,所述加解密单元获取待处理数据包括:
所述加解密单元接收主节点的加解密单元发送的处理消息;其中,所述处理消息中携带有所述待处理数据,所述待处理数据为所述主节点的加解密单元根据分布式节点集群中每个节点的节点信息对待处理的第一数据进行拆分而确定的所述处理节点的待处理数据,所述分布式节点集群中包括所述处理节点及所述主节点,所述待处理数据属于所述第一数据中的一部分;
所述加解密单元解析所述处理消息,得到所述待处理数据。
9.一种数据处理装置,其特征在于,包括加解密单元及算法引擎,其中,
所述加解密单元,用于获取待处理数据及待处理数据的第一处理算法,所述第一处理算法用于指示调用所述第一处理算法对应的算法引擎对所述待处理数据进行所述第一处理算法所指示的加密或解密处理;
所述加解密单元,还用于若所述第一处理算法对所述待处理数据处理失败,则获取智能调度单元根据所述待处理数据的特征信息和/或所述待处理数据对处理算法的需求信息为所述待处理数据匹配第二处理算法;
所述算法引擎,用于对所述待处理数据进行所述第二处理算法所指示的加密或解密处理,所述算法引擎与所述第二处理算法对应。
10.如权利要求9所述的装置,其特征在于,所述数据处理装置还包括所述智能调度单元,
所述加解密单元,用于向所述智能调度单元发送算法重请求,所述算法重请求用于请求所述智能调度单元为所述待处理数据匹配所述第二处理算法;
所述智能调度单元,用于响应所述算法重请求,根据所述待处理数据的数据信息为所述待处理数据匹配所述第二处理算法,并将所述第二处理算法返回给所述加解密单元;
所述加解密单元,还用于接收所述智能调度单元返回的所述第二处理算法;
其中,所述待处理数据的数据信息包括所述待处理数据的特征信息和/或所述待处理数据对处理算法的需求信息。
11.如权利要求9所述的装置,其特征在于,所述数据处理装置还包括调度单元,所述智能调度单元位于主节点中,
所述加解密单元,用于向所述数据处理装置的调度单元发送失败通知消息,用于通知所述第一处理算法对所述待处理数据处理失败;
所述调度单元,用于接收所述失败通知消息后,向所述主节点的智能调度单元发送算法重请求,所述算法重请求用于请求所述智能调度单元为所述待处理数据匹配所述第二处理算法;
所述调度单元,还用于接收所述智能调度单元返回的第二处理算法,并将所述第二处理算法发送给所述加解密单元;其中,所述第二处理算法为所述智能调度单元响应所述算法重请求,根据所述待处理数据的数据信息为所述待处理数据匹配所述第二处理算法;
所述加解密单元,还用于接收所述调度单元发送的第二处理算法;
其中,所述待处理数据的数据信息包括所述待处理数据的特征信息和/或所述待处理数据对处理算法的需求信息。
12.如权利要求10或11所述的装置,其特征在于,所述待处理数据的数据信息包括所述待处理数据的特征信息,所述根据所述待处理数据的数据信息为所述待处理数据匹配所述第二处理算法包括:
所述智能调度单元,具体用于获取算法特征映射表,所述算法特征映射表中记录有所述特征信息与所述第二处理算法的映射关系;根据所述映射关系,获取与所述待处理数据的特征信息相匹配的所述第二处理算法。
13.如权利要求10或11所述的装置,其特征在于,所述待处理数据的数据信息包括所述待处理数据的需求信息,所述根据所述待处理数据的数据信息,为所述待处理数据匹配获得所述第二处理算法包括:
所述智能调度单元,具体用于获取算法需求映射表,所述算法需求映射表中记录有所述需求信息与所述第二处理算法的映射关系;根据所述映射关系,获取与所述待处理数据的需求信息相匹配的所述第二处理算法;其中,所述需求信息包括以下中的至少一项:算法安全等级、算法类型、算法处理效率及算法要求的网络性能指标。
14.如权利要求10-13中任一项所述的装置,其特征在于,
所述智能调度单元,还用于若确定到所述第一处理算法对所述待处理数据处理失败,则对所述第一处理算法进行故障标记,以将所述第一处理算法标记为故障算法。
15.如权利要求14所述的装置,其特征在于,
所述智能调度单元,还用于若确定到所述第一处理算法对预设数据处理成功,则删除所述第一处理算法的故障标记,以便下次从包括所述第一处理算法的预设算法库中获取下个待处理数据的处理算法进行处理。
16.如权利要求9-15中任一项所述的装置,其特征在于,
所述加解密单元,用于接收主节点的加解密单元发送的处理消息,解析所述处理消息得到所述待处理数据;
其中,所述处理消息中携带有所述待处理数据,所述待处理数据为所述主节点的加解密单元根据分布式节点集群中每个节点的节点信息对待处理的第一数据进行拆分而确定的所述处理节点的待处理数据,所述分布式节点集群中包括所述处理节点及所述主节点,所述待处理数据属于所述第一数据中的一部分。
17.一种处理节点,其特征在于,包括:处理器,存储器,通信接口和总线;所述处理器、所述通信接口、所述存储器通过总线相互通信;所述通信接口,用于接收和发送数据;所述存储器,用于存储指令;所述处理器,用于调用所述存储器中的指令,执行如上权利要求1-8中任一项所述的方法。
18.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
CN201910811782.XA 2019-08-28 2019-08-28 数据处理方法、相关设备及计算机存储介质 Active CN110569653B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910811782.XA CN110569653B (zh) 2019-08-28 2019-08-28 数据处理方法、相关设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910811782.XA CN110569653B (zh) 2019-08-28 2019-08-28 数据处理方法、相关设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN110569653A CN110569653A (zh) 2019-12-13
CN110569653B true CN110569653B (zh) 2023-03-10

Family

ID=68776850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910811782.XA Active CN110569653B (zh) 2019-08-28 2019-08-28 数据处理方法、相关设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN110569653B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11848958B2 (en) * 2019-12-23 2023-12-19 Mcafee, Llc Methods and apparatus to detect malware based on network traffic analysis
CN113342553A (zh) * 2021-07-06 2021-09-03 阳光保险集团股份有限公司 一种数据的获取方法、装置、电子设备及存储介质
CN117008812A (zh) * 2022-04-28 2023-11-07 华为技术有限公司 命令传输方法和装置
CN114866241B (zh) * 2022-07-06 2022-10-21 深圳华大北斗科技股份有限公司 Se芯片的通信加密方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523115B1 (en) * 1998-02-18 2003-02-18 Matsushita Electric Industrial Co., Ltd. Encryption device, decryption device, encryption method, decryption method, cryptography system, computer-readable recording medium storing encryption program, and computer-readable recording medium storing decryption program which perform error diagnosis
CN103684755A (zh) * 2013-12-06 2014-03-26 上海新储集成电路有限公司 一种加解密算法和加解密钥的更换方法
CN104463009A (zh) * 2014-11-03 2015-03-25 北京比特大陆科技有限公司 一种数据保护方法
CN106888183A (zh) * 2015-12-15 2017-06-23 阿里巴巴集团控股有限公司 数据加密、解密、密钥请求处理的方法和装置及系统
CN107707562A (zh) * 2017-11-05 2018-02-16 刘兴丹 一种非对称动态令牌加、解密算法的方法、装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523115B1 (en) * 1998-02-18 2003-02-18 Matsushita Electric Industrial Co., Ltd. Encryption device, decryption device, encryption method, decryption method, cryptography system, computer-readable recording medium storing encryption program, and computer-readable recording medium storing decryption program which perform error diagnosis
CN103684755A (zh) * 2013-12-06 2014-03-26 上海新储集成电路有限公司 一种加解密算法和加解密钥的更换方法
CN104463009A (zh) * 2014-11-03 2015-03-25 北京比特大陆科技有限公司 一种数据保护方法
CN106888183A (zh) * 2015-12-15 2017-06-23 阿里巴巴集团控股有限公司 数据加密、解密、密钥请求处理的方法和装置及系统
CN107707562A (zh) * 2017-11-05 2018-02-16 刘兴丹 一种非对称动态令牌加、解密算法的方法、装置

Also Published As

Publication number Publication date
CN110569653A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
CN110569653B (zh) 数据处理方法、相关设备及计算机存储介质
CN108933993B (zh) 短信缓存队列选择方法、装置、计算机设备和存储介质
TWI686709B (zh) 業務受理及共識的方法及裝置
US11605087B2 (en) Method and apparatus for identifying identity information
WO2019218454A1 (zh) 订阅报表生成方法、装置、计算机设备和存储介质
WO2019019644A1 (zh) 推送服务器分配方法、装置、计算机设备和存储介质
EP3562096B1 (en) Method and device for timeout monitoring
WO2018192286A1 (zh) 一种数据库的切换方法、主服务器以及从服务器
US10425273B2 (en) Data processing system and data processing method
US20100229182A1 (en) Log information issuing device, log information issuing method, and program
US10944636B2 (en) Dynamically identifying criticality of services and data sources
CN110928851B (zh) 处理日志信息的方法、装置、设备及存储介质
CN109361625B (zh) 核查转发表项的方法、装置和控制器
CN113836543A (zh) 数据加密或解密的方法、装置和系统
CN111246406A (zh) 一种短信发送方法、系统、存储介质及终端设备
US20230102374A1 (en) Data Encryption Or Decryption Method, Apparatus, And System
US20210208945A1 (en) Information processing apparatus, information processing method, and computer readable medium
CN113472700B (zh) 报文处理方法、设备、存储介质及网卡
CN106909557B (zh) 内存集群的存储方法及装置、内存集群的读取方法及装置
CN111507695B (zh) 数据处理方法、装置、节点设备及存储介质
CN107547605B (zh) 一种基于节点队列的消息读写方法及节点设备
EP4383076A1 (en) Data processing method and apparatus, computer device, and computer-readable storage medium
CN116208574A (zh) 报文处理方法、装置、电子设备及计算机可读存储介质
CN112580092B (zh) 一种敏感文件识别方法及装置
US10171970B2 (en) Resource notification method and system, local CSE, remote CSE and storage medium

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
GR01 Patent grant
GR01 Patent grant