数据处理方法和装置与流程

文档序号:18135279发布日期:2019-07-10 10:33阅读:175来源:国知局
数据处理方法和装置与流程

本发明实施例涉及微服务架构领域,尤其涉及一种数据处理方法及装置。



背景技术:

随着互联网技术的快速发展,微服务架构越来越多的应用到大型复杂软件系统中,系统中的各个微服务可根据业务功能独立开发以及独立部署,微服务之间松耦合。

目前在微服务架构中,微服务之间数据的传输使用的是明文传输,攻击者可以在数据传输过程中对数据进行拦截,获取数据内容,或者微服务将数据以明文形式存储后,数据一旦泄露,数据安全性将无法保障。



技术实现要素:

为了解决现有技术中存在的上述问题,本发明实施例提供的数据处理方法和装置,可以解决数据传输的安全性和数据存储的安全性。

第一方面,本发明实施例提供一种数据处理方法,其中,该方法应用于微服务架构系统,微服务架构系统包括上层服务、下层服务,该方法包括:上层服务获取非对称密钥,其中,非对称密钥包括公钥和私钥,公钥用于将数据加密为加密数据,私钥用于上层服务对加密数据解密为数据;上层服务公布公钥;上层服务与下层服务之间传输加密数据。

在一例中,上层服务与下层服务之间传输加密数据,还包括:上层服务对数据通过公钥加密得到加密数据;上层服务将加密数据发送至下层服务。

在另一例中,上层服务与下层服务之间传输加密数据包括:下层服务发送加密数据至上层服务。

在又一例中,上层服务与下层服务之间传输加密数据,还包括:下层服务对数据通过公钥加密得到加密数据;下层服务将加密数据发送至上层服务。

在一例中,方法还包括:上层服务通过私钥对加密数据进行解密。

在另一例中,微服务架构系统还包括非对称密钥中心;数据处理方法还包括:非对称密钥中心响应于上层服务注册非对称密钥的请求,生成非对称密钥。

在又一例中,方法还包括:非对称密钥中心储存非对称密钥和/或非对称密钥与上层服务的对应关系。

在一例中,微服务架构系统还包括服务中心;数据处理方法还包括:在上层服务公布公钥后,服务中心储存公钥和/或公钥与上层服务的对应关系。

第二方面,本发明实施例还提供一种数据处理装置,其中,装置应用于微服务架构系统,微服务架构系统包括上层服务、下层服务,该装置包括:获取单元,用于上层服务获取非对称密钥,其中,非对称密钥包括公钥和私钥,公钥用于将数据加密为加密数据,私钥用于上层服务对加密数据解密为数据;发布单元,用于上层服务公布公钥;传输单元,用于上层服务与下层服务之间传输加密数据。

在一例中,传输单元还用于:上层服务对数据通过公钥加密得到加密数据;上层服务将加密数据发送至下层服务。

在另一例中,传输单元还用于:下层服务发送加密数据至上层服务。

在又一例中,传输单元还用于:下层服务对数据通过公钥加密得到加密数据;下层服务将加密数据发送至上层服务。

在一例中,该装置还包括解密单元,解密单元用于:上层服务通过私钥对加密数据进行解密。

在另一例中,微服务架构系统还包括非对称密钥中心;数据处理装置还包括生成单元,生成单元用于:非对称密钥中心响应于上层服务注册非对称密钥的请求,生成非对称密钥。

在又一例中,生成单元还用于:非对称密钥中心储存非对称密钥和/或非对称密钥与上层服务的对应关系。

在另一例中,微服务架构系统还包括服务中心;数据处理装置还包括存储单元,存储单元用于:在上层服务公布公钥后,服务中心储存公钥和/或公钥与上层服务的对应关系。

第三方面,本发明还提供一种电子设备,其中,电子设备包括:存储器,用于存储指令;以及处理器,用于调用存储器存储的指令执行本发明第一方面及其各例中的数据处理方法。

第四方面,本发明还提供一种计算机可读存储介质,其中存储有指令,指令被处理器执行本发明第一方面及其各例中的数据处理方法。

本发明实施例提供的数据处理方法及装置,上层服务和下层服务之间传输数据时,通过利用上层服务的公钥对数据加密,实现在传输过程中传输加密的数据,保证了数据传输的安全性。

附图说明

通过参考附图阅读下文的详细描述,本发明实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1是本发明实施例提供的一种数据处理方法实施流程图。

图2是本发明实施例提供的另一种数据处理方法实施流程图。

图3是本发明实施例提供的另一种数据处理方法实施流程图。

图4是本发明实施例提供的另一种数据处理方法实施流程图。

图5是本发明实施例提供的另一种数据处理方法实施流程图。

图6是本发明实施例提供的另一种数据处理方法实施流程图。

图7是本发明实施例提供的另一种数据处理方法实施流程图。

图8是本发明实施例提供的另一种数据处理方法实施流程图。

图9是本发明实施例提供的一种数据处理装置示意图。

图10是本发明实施例提供的微服务架构系统示意图。

图11是本发明实施例提供的电子设备结构示意图。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。

需要注意,虽然本文中使用“第一”、“第二”等表述来描述本发明的实施方式的不同模块、步骤和数据等,但是“第一”、“第二”等表述仅是为了在不同的模块、步骤和数据等之间进行区分,而并不表示特定的顺序或者重要程度。实际上,“第一”、“第二”等表述完全可以互换使用。

本发明实施例提供的数据处理方法,该数据处理方法可应用于微服务架构中,当微服务需要调用数据或者对数据存储的场景。在该场景下,一种可能的实施方式,下层的微服务利用上层的微服务的公钥将数据加密并传输至上层的微服务,或者上层的微服务利用自己的公钥将数据加密,传输到下层的微服务,由此实现了数据传输的安全性和数据存储的安全性。

图1所示为本发明实施例提供的数据处理方法实施流程图。图1所示的方法执行主体可以是服务器,也可以是计算机,移动终端等终端,本发明实施例不做限定。参阅图1所示,本实施例中,数据处理方法包括:

s101:上层服务获取非对称密钥,其中,非对称密钥包括公钥和私钥,公钥用于将数据加密为加密数据,私钥用于上层服务对加密数据解密为数据。

本发明实施例中涉及的上层服务可以是微服务中需要调用数据的服务或者需要存储数据的服务,本发明实施例中涉及的下层服务可以是微服务中提供数据的服务或者需要存储数据的服务。同时,上层服务与下层服务可以是相对的概念,在一组关系中的下层服务在另一组关系中可能成为上层服务,并且为了使上层服务和下层服务实现高的可用性,本发明实施例中的上层服务和下层服务均支持分布式部署。

s102:上层服务公布公钥。

作为可能的实施方式,本发明实施例中,上层服务可以将拥有的公钥进行公布,这样任何下层服务向上层服务传输数据的时候,均可获取该上层服务的公钥,并根据该上层服务的公钥,对数据进行加密,并传输至上层服务。

s103:上层服务与下层服务之间传输加密数据。

图2所示为本发明实施例提供的另一种数据处理方法实施流程图,参阅图2,在一例中,上层服务与下层服务之间传输加密数据还包括:s1031:上层服务对数据通过公钥加密得到加密数据;s1032:上层服务将加密数据发送至下层服务;s1033:下层服务发送加密数据至上层服务。

在本实施例中,上层服务可以将加密后的数据发送到下层服务,下层服务对加密后的数据进行存储或转发。通过上层服务对数据先进行加密再发送,从而保护了在数据传输过程中的安全性。下层服务可以对上层服务加密后的数据进行存储,之后再发送至上层服务保证了数据传输和存储的安全性。

图3所示为本发明实施例提供的另一种数据处理方法实施流程图,参阅图3。s103:上层服务与下层服务之间传输加密数据还包括:s1034:下层服务对数据通过公钥加密得到加密数据;s1035:下层服务将加密数据发送至上层服务。在本实施例中,下层服务向上层服务发送加密数据,可以是下层服务通过公钥对数据进行加密的,其中,可以是上层服务向下层服务调用所需的数据,下层服务根据上层服务的请求向上层服务发送,也可以是下层服务主动向上层服务发送的数据。

通过上述实施例,对上层服务与下层服务之间传输的数据进行加密,从而保证了在两者之间传输数据的安全性。

图4和图5所示为本发明实施例提供的另一种数据处理方法实施流程图,参阅图4和图5。s103:上层服务与下层服务之间传输加密数据还包括,s1036:上层服务通过私钥对加密数据进行解密。由于数据加密是非对称的,上层服务通过私钥对加密数据进行解密,保证了传输的安全性,也保证了在上层服务之间数据的安全性。

图6所示为本发明实施例提供的另一种数据处理方法实施流程图,参阅图6。在一例中,微服务架构系统还包括:s104:非对称密钥中心,数据处理方法还包括:s1041:非对称密钥中心响应于所述上层服务注册非对称密钥的请求,生成非对称密钥。非对称密钥中心响应于上层服务注册非对称密钥的请求,生成非对称密钥,并将非对称密钥分配给上层服务。

图7所示为本发明实施例提供的另一种数据处理方法实施流程图,参阅图7。在一例中,微服务架构系统还包括:s104:非对称密钥中心,数据处理方法还包括:s1042:非对称密钥中心储存非对称密钥和/或非对称密钥与上层服务的对应关系。非对称密钥中心存储上层服务的非对称密钥和/或非对称密钥与上层服务的对应关系。通过非对称密钥中心储存上述信息能够提高系统的可靠性。在另一例中,非对称密钥中心可以通过redis缓存进行存储,使得存储能够可靠、稳定并且提高读取速度。

图8所示为本发明实施例提供的另一种数据处理方法实施流程图,参阅图8。在一例中,还包括:s105:服务中心:在上层服务公布公钥后,服务中心存储上层服务的公钥和/或公钥与上层服务的对应关系。s1051:服务中心储存公钥和/或公钥与上层服务的对应关系。通过服务中心存储上述信息能够提高系统的可靠性并便于下层服务对数据的加密。在另一例中,服务中心可以通过redis缓存进行存储,使得存储能够可靠、稳定并且提高读取速度。

在又一例中,服务中心还可以记录上层服务与下层服务的功能,以及地址,在进行数据传输时,能够顺利的完成服务以及地址的找寻。在一具体实施中,当上层服务需要调用存储在下层服务中的数据时,上层服务可以通过服务中心先获取下层服务中被调用数据的下层服务。本发明实施例中涉及的服务中心可管理并维护上层服务和下层服务的服务信息,当上层服务发送数据调用请求后,服务中心根据上层服务发送的数据调用请求,查询预先存储的下层服务信息,以确定与该上层服务发送数据调用请求相对应的下层服务,服务中心将被调用数据的下层服务信息发送至该上层服务,上层服务接收服务中心发送的被调用数据的下层服务信息,并根据该信息,得到下层服务中被调用数据的下层服务。

在本例中,当上层服务通过服务中心确定了数据所在的下层服务时,上层服务可以向被调用数据的下层服务发送数据调用请求,被调用数据的下层服务响应于上层服务的数据调用请求,利用该上层服务的公钥对被调用数据的下层服务中存储的数据进行加密,被调用数据的下层服务将加密数据传输至上层服务。上层服务接收到加密数据后,可以利用自己的私钥对加密数据进行解密。

本发明实施例提供的数据处理方法,上层服务向下层服务调用数据时,下层服务利用上层服务的公钥对数据进行加密并传输至上层服务,上层服务利用私钥解密该传输的数据,可以实现数据被调用时安全地传输,上层服务利用公钥对上层服务中的数据进行加密,并将加密后的数据存储至下层服务,可实现数据安全的存储。通过本发明实施例,即使攻击者拦截了加密数据或者被存储的加密数据遭到泄露,由于加密数据需要私钥才能解密,所以被拦截的加密数据或者遭到泄露的加密数据也不会被解密,进而保证了数据的高安全高可靠性。

基于相同的发明构思,本发明实施例还提供了数据处理装置。

如图9所示,本发明实施例提供的数据处理装置200,该装置200可应用于微服务架构系统,微服务架构系统包括上层服务、下层服务,装置200包括:获取单元201,用于上层服务获取非对称密钥,其中,非对称密钥包括公钥和私钥,公钥用于将数据加密为加密数据,私钥用于上层服务将加密数据解密为数据;发布单元202,用于上层服务公布公钥;传输单元203,用于上层服务与下层服务之间传输加密数据。

如图10示出了一种具体实施例的微服务架构系统300,微服务架构系统包括非对称密钥中心、上层服务、下层服务和服务中心。其中,非对称密钥中心301用于响应于上层服务注册非对称密钥的请求,生成上层服务的非对称密钥,并储存非对称密钥和/或非对称密钥与上层服务的对应关系到redis数据库302中;服务器303中部署的多个服务,上层服务可以是微服务中需要调用数据的服务或者需要存储数据的服务,下层服务可以是微服务中提供数据的服务或者需要存储数据的服务。同时,上层服务与下层服务可以是相对的概念,在一组关系中的下层服务在另一组关系中可能成为上层服务。例如服务a3031或者服务b3032根据实际调用数据需求的不同,既可以是上层服务的角色也可以是下层服务的角色。其中,调用数据的服务可以是上层服务,被调用上层服务用于获取非对称密钥,利用公钥将数据加密为加密数据发送至下层服务,或者利用私钥对加密数据进行解密;下层服务用于利用上层服务的公钥将数据加密为加密数据发送至上层服务,或者下层服务发送上层服务加密数据至上层服务,或者下层服务存储上层服务加密数据;服务中心304用于在上层服务公布公钥后,储存上层服务的公钥和/或公钥与上层服务的对应关系到数据库305中。数据库305包括:mysql数据库3051、elasticserach数据库3052或其他数据库。

如图11所示,本发明的一个实施方式提供了一种电子设备400。其中,该电子设备400包括存储器410、处理器420、输入/输出(input/output,i/o)接口430。其中,存储器410,用于存储指令。处理器420,用于调用存储器410存储的指令执行本发明实施例的用于数据处理方法。其中,处理器420分别与存储器410、i/o接口430连接,例如可通过总线系统和/或其他形式的连接机构(未示出)进行连接。存储器410可用于存储程序和数据,包括本发明实施例中涉及的用于数据处理程序,处理器420通过运行存储在存储器410的程序从而执行电子设备400的各种功能应用以及数据处理。

本发明实施例中处理器420可以采用数字信号处理器(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现,处理器420可以是中央处理单元(centralprocessingunit,cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元中的一种或几种的组合。

本发明实施例中的存储器410可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(randomaccessmemory,ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(read-onlymemory,rom)、快闪存储器(flashmemory)、硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd)等。

本发明实施例中,i/o接口430可用于接收输入的指令(例如数字或字符信息,以及产生与电子设备400的用户设置以及功能控制有关的键信号输入等),也可向外部输出各种信息(例如,图像或声音等)。本发明实施例中i/o接口430可包括物理键盘、功能按键(比如音量控制按键、开关按键等)、鼠标、操作杆、轨迹球、麦克风、扬声器、和触控面板等中的一个或多个。

可以理解的是,本发明实施例中尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。

本发明实施例涉及的方法和装置能够利用标准编程技术来完成,利用基于规则的逻辑或者其他逻辑来实现各种装置步骤。还应当注意的是,此处以及权利要求书中使用的词语“装置”和“模块”意在包括使用一行或者多行软件代码的实现和/或硬件实现和/或用于接收输入的设备。

此处描述的任何步骤、操作或程序可以使用单独的或与其他设备组合的一个或多个硬件或软件模块来执行或实现。在一个实施方式中,软件模块使用包括包含计算机程序代码的计算机可读介质的计算机程序产品实现,其能够由计算机处理器执行用于执行任何或全部的所描述的步骤、操作或程序。

出于示例和描述的目的,已经给出了本发明实施的前述说明。前述说明并非是穷举性的也并非要将本发明限制到所公开的确切形式,根据上述教导还可能存在各种变形和修改,或者是可能从本发明的实践中得到各种变形和修改。选择和描述这些实施例是为了说明本发明的原理及其实际应用,以使得本领域的技术人员能够以适合于构思的特定用途来以各种实施方式和各种修改而利用本发明。

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