CN113992448B - 一种数据透传方法、系统、介质及计算设备 - Google Patents
一种数据透传方法、系统、介质及计算设备 Download PDFInfo
- Publication number
- CN113992448B CN113992448B CN202111618879.2A CN202111618879A CN113992448B CN 113992448 B CN113992448 B CN 113992448B CN 202111618879 A CN202111618879 A CN 202111618879A CN 113992448 B CN113992448 B CN 113992448B
- Authority
- CN
- China
- Prior art keywords
- data
- service
- encryption
- target
- decryption
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及数据传输领域,公开一种数据透传方法、系统、介质及计算设备,应用于与业务服务端独立部署的数据服务端,数据服务端提供多个不同开发语言类型的加解密服务,业务服务端与所请求的数据源的开发语言不同,该方法包括:从业务服务端接收携带数据源标识的第一消息;向与目标数据源发送第二消息;从目标数据源接收基于第二消息返回的第一加密数据;确定目标加解密服务,基于目标加解密服务对第一加密数据进行解密,得到第一明文数据;向业务服务端发送第一明文数据。通过设置包括多个加解密服务,且独立部署的数据服务端,以根据数据源的开发语言从数据服务端选择对应的加解密服务,当切换数据源时,无需在业务服务端重新设置加解密代码。
Description
技术领域
本申请实施例涉及数据传输领域,特别涉及一种数据透传方法、系统、介质及计算设备。
背景技术
在项目开发中,经常需要向第三方数据源请求数据,为了保证数据传输的安全,第三方数据源往往是将数据进行加密之后再传输,因此在开发过程中就不得不频繁的对数据进行加密和解密,而且在对接采用不同开发语言的第三方数据源时,往往需要开发不同的加密解密方式。
目前,大多是根据第三方数据源采用的开发语言,将对应的加解密代码耦合至业务服务端,以对数据进行加密和解密。如图1所示,该数据透传系统中,将加解密服务1和加解密服务2耦合至业务服务端,当从数据源接收到基于业务服务端请求的加密数据时,选择对应加解密服务,利用相应的加解密方式对加密数据进行解密。然而当对接的数据源切换时,比如在图1中,对接的数据源包括了数据源1和数据源2,如果切换后的数据源采用与原数据源不同的开发语言,就必须在业务服务端添加相应的加解密代码,即需要重新耦合新的加解密服务至业务服务端,以适应新的开发语言,如果过多切换,就会导致整个系统环境复杂,而且数据传输的速度也比较慢。
发明内容
本申请实施例主要目的是提出一种数据透传方法、系统、介质及计算设备,通过在数据服务端部署多种不同开发语言的加解密服务,旨在当业务服务端的开发语言类型与所请求的数据源的开发语言类型不同时,或者切换不同开发语言的数据源时,可以在数据服务端选择相应的加解密服务,对数据源发送的加密数据进行解密以发送至相应的业务服务端。
为实现上述目的,本申请实施例提出一种数据透传方法,应用于与业务服务端相互独立部署的数据服务端,所述数据服务端提供多个不同开发语言类型的加解密服务,所述业务服务端的开发语言类型与所请求的数据源的开发语言类型不同,所述方法包括:
从所述业务服务端接收携带数据源标识的第一消息,所述第一消息用于请求获取目标类型的数据;
向与所述数据源标识对应的目标数据源发送第二消息;
从所述目标数据源接收基于所述第二消息返回的第一加密数据,所述第一加密数据为所述目标类型的数据;
确定目标加解密服务,所述目标加解密服务与所述目标数据源的开发语言类型相匹配;
基于所述目标加解密服务对所述第一加密数据进行解密,得到第一明文数据;
向所述业务服务端发送所述第一明文数据。
本申请实施例还提出一种数据透传系统,所述数据透传系统与业务服务端相互独立部署,所述数据透传系统包括多个不同开发语言类型的加解密模块;以及
收发模块,用于接收来自业务服务端的携带数据源标识的第一消息,向与所述数据源标识对应的目标数据源发送第二消息,以及
从所述目标数据源接收基于所述第二消息返回的第一加密数据,所述第一加密数据为所述目标类型的数据;
处理模块,用于确定目标加解密服务,所述目标加解密服务与所述目标数据源的开发语言类型相匹配,以及
利用所确定的目标加解密服务对所述收发模块接收的所述第一加密数据进行解密,得到第一明文数据;
所述收发模块还用于将所述第一明文数据发送至所述业务服务端。
本申请实施例还提出一种介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现该数据透传方法。
本申请实施例还提出一种计算设备,所述计算设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现该数据透传方法。
相较与现有技术而言,在本申请实施例所提供的技术方案中,通过设置与业务服务端独立部署的数据服务端,并在数据服务端设置多种加解密服务,从而在进行数据传输时,若业务服务端的开发语言类型与所请求的数据源的开发语言类型不同时,或者在切换数据源时,可以根据数据源的开发语言直接从数据服务端选择对应的加解密服务,以对从数据源获取的加密数据进行解密。此外,相较于现有技术,一方面,当切换数据源时,也无需重新在业务服务端设置加解密代码,能够简化数据传输流程,以及提高数据传输的速度;另一方面,由于数据服务端与业务服务端独立部署,故而在开发过程中可以根据实际业务服务端的业务需求更新,来动态地更新加解密服务(例如更新映射关系),以适应更多数据获取需求,可扩展性强且数据服务端的部署可以反复利用。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为现有技术中的数据传输系统的架构图;
图2为本申请数据源透传方法一实施例的架构图;
图3为本申请数据源透传方法一实施例的应用场景图;
图4为本申请一实施例提供的资源调度方法的信令交互图;
图5为本申请数据源透传方法另一实施例的架构图
图6为本申请另一实施例提供的资源调度方法的信令交互图;
图7为本申请数据透传系统一实施例的模块图;
图8为本发明一种介质一实施例的模块图;
图9为本发明一种计算设备一实施例的模块图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将参考若干示例性实施方式来描述本申请实施例的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请实施例,而并非以任何方式限制本申请实施例的范围。
本领域技术人员知道,本申请实施例的实施方式可以实现为一种装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
发明人研究发现,在目前的项目开发中,会越来越频繁的对接第三方api来扩展业务项目,为了数据的安全,一般都是传输加密过的数据,因而在开发过程中就不得不频繁的加密、解密数据,并且如果对接不同的第三方api,可能加密方式不一样,就需要开发对应的解密方式。
如图1所示的现有的技术方案是把加密解密服务耦合到业务服务端,如果切换了数据源,必须在业务服务端添加对应的加解密代码,以适应新的数据源,采用多个数据源时就会在代码里对应多套加解密方式。
如果业务服务端的开发语言跟数据源是不同类型的开发语言,两种开发语言对同一种加密方式又有区别,比如业务端用python开发,数据源使用java开发,两者在sm2加密算法上就有差异,用python对数据进行sm2加密,用java不能对加密数据进行解密,遇到这种问题就需要把java的sm2加密算法打包成jar包,python在代码里调用jar包,这种方法不但会使数据传输速度变慢,还会增加项目的环境复杂度,此时就必须有python跟java两个环境。另外多个项目使用同一个数据源也会加大工作量的重复。
由此,发明人考虑将涉及数据服务如加解密服务的代码从处理具体业务的代码中解耦,单独部署,如图2所示,从而在项目开发中,当想要添加或者更换新的数据源时,只要在数据服务端中添加对应的数据源配置即可,业务服务端无需处理加密解密逻辑,也无需考虑数据源是用哪种语言开发的,从而可以提高开发效率。
如图2所示,图2为本申请数据透传方法一实施例的应用场景图,其中,包括业务服务端、数据服务端以及数据源。
业务服务端可以是台式电脑、笔记本电脑、平板电脑、智能手机或者其他可向数据服务端发起数据处理请求(第一消息)的电子设备,在此不进行限定。业务服务端可以有一个,也可以有多个,本申请对业务服务端的个数不做限制。
数据服务端与业务服务端独立部署,例如数据服务端和业务服务端可以分别部署在不同的服务节点、服务器,或者不同的容器中,以起到相互隔离的作用。另外数据服务端上还部署有多种加解密服务,例如python加解密服务、java加解密服务、golong加解密服务、C语言加解密服务,以及php加解密服务等。
数据源可以为第三方数据源,用于提供开源的数据库,比如可以提供音频、视频、图片、文字等数据,其中数据源的开发语言可以是利用常见的开发语言进行开发的,例如基于python、java、golong、C语言,以及php等开发法语言开发的数据源。而且数据源还可以有多个,多个数据源的开发语言可以相同,也可以不同。
如图3所示,业务服务端用于通过网络向数据服务端发送携带数据源标识的数据请求消息(如第一消息),数据源标识能够表明业务服务所请求的数据源的地址。数据服务端用于通过网络接收业务服务端发送的请求消息(如第一消息),根据第一消息所携带的数据源标识,能够获知业务服务端所请求的目标数据源的地址,并向该目标数据源发送第二消息。其中第二消息可以和第一消息相同,也可以与第一消息不同。另外数据服务端还用通过网络接收数据源反馈的加密数据,并根据数据源的开发语言类型选择相应的加解密服务,将从数据源接收的加密数据进行解密,并通过网络将解密后得到的明文数据发送至相应的业务服务端。数据源用于通过网络接收数据服务端发送的第二消息,并向数据服务端反馈相应的加密数据。
根据本申请实施例的实施方式,提出了一种数据透传方法、系统、介质及计算设备。
示例性方法
接下来,结合参照图4对所述数据透传方法进行具体阐述,在本示例性实施方式中提出一种数据透传方法,包括如下步骤:
步骤S100:数据服务端从业务服务端接收携带数据源标识的第一消息。其中所述第一消息用于请求获取目标类型的数据。
在本步骤中,数据服务端从业务服务端接收第一消息,其中第一消息可以是用户通过业务服务端发送的,业务服务端可以有多个,各个业务服务端可以根据自身的数据需求向数据服务端发送数据请求(第一消息)。同一时刻,数据服务端可以收到一个业务服务端的一个或多个数据请求,也可以在同一时段内同时收到多个业务服务端的多个数据请求信息。在一个实施例中,所述第一消息即为业务服务端发送的数据请求,第一消息携带了发送第一消息的业务服务端所请求的目标数据源的数据源标识,也就是说,每一个向数据服务端请求数据的业务服务端,都会将所请求的目标数据源的数据源标识同时发送至数据服务端。其中,数据源标识包括了业务服务端所请求的目标数据源的地址、开发语言、以及数据源的加密方法。
步骤S200:数据服务端向与所述数据源标识对应的目标数据源发送第二消息。
在步骤S100中获取了业务服务端发送的第一消息,就可以获知请求获取数据的业务服务端,第一消息附带了目标数据源的数据源标识,故而也可以获知该业务服务端所请求的目标数据源的地址、开发语言,以及加密方法。因此在本步骤中数据服务端就可以基于目标数据源的地址,向该目标数据源发送第二消息,其中第二消息可以与第一消息相同,也可以与第一消息不同。
步骤S300:所述目标数据源向所述数据服务端发送第一加密数据。
其中,该目标数据源接收基于所述第二消息的内容生成的响应,所述第一加密数据为所述目标类型的数据,即业务服务端所请求的数据。
数据服务端从所述目标数据源接收该第一加密数据。
步骤S400:数据服务端确定目标加解密服务。
其中,所述目标加解密服务与所述目标数据源的开发语言类型相匹配。
例如,目标数据源的开发语言类型为python开发语言时,该目标加解密服务为python加解密服务;又例如,目标数据源的开发语言类型为C语言时,该目标加解密服务为C语言加解密服务。
在步骤S300中已经收到了目标数据源所反馈的第一加密数据,那么在本步骤中数据服务端就可以基于目标数据源的开发语言类型确定目标加解密服务,其中,目标加解密服务与所述目标数据源的开发语言类型相匹配,比如目标数据源的开发语言为python开发语言,那么此时则选择python加解密服务,若目标数据源的开发语言为C语言,那么此时则选择C语言加解密服务。确定了目标加解密服务后,就可以利用目标加解密服务对第一加密数据进行解密,即如下步骤S500。
步骤S500:数据服务端基于所述目标加解密服务对所述第一加密数据进行解密,得到第一明文数据,向所述业务服务端发送所述第一明文数据。
在步骤S400中数据服务端已经确定了目标加解密服务,比如目标数据源的开发语言为python,那么目标加解密服务则为针对python的加解密服务,在选定了目标加解密服务后,还需要确定解密方法,由于在步骤S100中已经通过数据源标识获知了目标数据源的加密方法,比如目标数据源利用的是md5加密方法,那么此时选择python加解密服务中的md5解密代码对从目标数据源接收到的第一加密数据进行解密,得到第一明文数据,然后就可以将第一明文数据发送至相应的业务服务端。
本实施例中,业务服务端可以有多个,在初始部署时,将数据服务端与业务服务端独立部署,数据源可以为第三方数据源,数据源可以有多个,而且数据源的开发语言可以相同也可以不同,根据数据源不同类型的开发语言,在数据服务端部署不同开发语言的加解密服务,当然也可以针对现有常见的开发语言,分别设置至少一个加解密服务,从而当数据服务端接收来自数据源的加密数据时,选择对应的加解密服务对其进行解密,得到相应的明文数据,继而就可以将解密之后的明文数据发送至相应的业务服务端。本实施例能够满足不同业务服务端对不同开发语言数据源的数据需求,而且在初始部署后,当改变切换数据源时,也无需重新更改加密解密代码;另外由于数据服务端与业务服务端是独立部署的,从而数据服务端还可以被反复使用。
在本申请的另一个实施例中,所述数据服务端预设有映射关系,所述映射关系包括第一映射关系、第二映射关系和第三映射关系中的至少一项,所述第一映射关系包括开发语言与加解密服务的映射关系,所述第二映射关系包括数据源标识与加解密服务的映射关系,所述第三映射关系包括开发语言、数据源标识与加解密服务之间的映射关系;
所述确定目标加解密服务包括:
基于所述映射关系确定所述目标加解密服务。
具体地,第一映射关系包括开发语言与加解密服务的映射关系,比如在本实施例中,数据服务端设有5个加解密服务,分别为:第一加解密服务、第二加解密服务、第三加解密服务、第四加解密服务,以及第五加解密服务,其中第一加解密服务为针对Python开发语言的加解密服务,第二加解密服务为针对Java开发语言的加解密服务,第三加解密服务为针对Golong开发语言的加解密服务,第四加解密服务为针对C语言开发语言的加解密服务,第五加解密服务为针对Php开发语言的加解密服务。数据源包括数据源1-20,其中数据源1-4的开发语言为Python,数据源6-8的开发语言为Java,数据源9-12的开发语言为Golong,数据源13-16的开发语言为C语言,数据源17-20的开发语言为Php,那么此时就可以建立如下表1所示的映射关系。
表1(第一映射关系)
映射1 | Python | 第一加解密服务 |
映射2 | Java | 第二加解密服务 |
映射3 | Golong | 第三加解密服务 |
映射4 | C语言 | 第四加解密服务 |
映射5 | Php | 第五加解密服务 |
在另一实施例中,所述数据服务端还可以预设有第二映射关系,第二映射关系包括数据源标识与加解密服务的映射关系,可以理解的是每个数据源源都有唯一的数据源标识,还以上述第一至第五加解密服务,以及数据源1-20为例,可以将数据源1-4的数据源标识与第一加解密服务建立映射关系,将数据源5-8的数据源标识与第二加解密服务建立映射关系,将数据源9-12的数据源标识与第三加解密服务建立映射关系,将数据源13-16的数据源标识与第四加解密服务建立映射关系,将数据源17-20的数据源标识与第五加解密服务建立映射关系,如下表2所示:
表2(第二映射关系)
映射1 | 数据源标识1、2、3、4 | 第一加解密服务 |
映射2 | 数据源标识5、6、7、8 | 第二加解密服务 |
映射3 | 数据源标识9、10、11、12 | 第三加解密服务 |
映射4 | 数据源标识13、14、15、16 | 第四加解密服务 |
映射5 | 数据源标识17、18、19、20 | 第五加解密服务 |
在另一实施例中,所述数据服务端还可以预设有第三映射关系,所述第三映射关系包括开发语言、数据源标识与加解密服务之间的映射关系,还以上述第一至第五加解密服务,以及数据源1-20为例,则第三映射关系如下表3所示:
表3(第三映射关系)
映射1 | 数据源标识1、2、3、4,Python | 第一加解密服务 |
映射2 | 数据源标识5、6、7、8,Java | 第二加解密服务 |
映射3 | 数据源标识9、10、11、12,Golong | 第三加解密服务 |
映射4 | 数据源标识13、14、15、16,C语言 | 第四加解密服务 |
映射5 | 数据源标识17、18、19、20,Php | 第五加解密服务 |
本实施例对于具体设置第一映射关系、第二映射关系,或者第三映射关系中哪一个不做限制,如图5所示,图5为本申请实施例数据透传方法的另一个应用场景,在数据服务端还设有路由模块,其中路由模块设置有上述任一种映射关系,数据服务端从业务服务端收到数据请求(第一消息),或者从数据源收到加密数据时,可以基于路由模块中的映射关系快速确定目标服务加解密服务,从而对加密数据进行加密或解密,提高数据处理的速度。
在本申请的另一实施例中,所述方法还包括:获取在历史时段内,所述数据服务端解密来自至少一个数据源的加密数据所采用的各个映射关系的使用数据,所述使用数据包括历史时段内所述各个映射关系的使用次数、使用时间间隔中的至少一项;基于所述使用数据对所述各个映射关系进行更新。
假设在本实施例中,预设了如表1所示的第一映射关系,那么在运行一段时间后,比如运行1周后,就可以获取这1周内上述映射1至映射5的使用数据。如,在历史1周时间内映射1到映射5各自的使用次数、使用间隔,然后根据使用次数或者使用间隔对第一映射关系进行更新,比如映射1使用次数为0,那么可以判断基本不会运用到本映射关系,为了节省系统开支,提高运行速度,就可以将映射1删除。
当然,在另一个实施例中,也可以新增新的映射关系,比如从使用数据获知映射2的使用次数较高,使用间隔较短,那么就可以判断对映射2中的第二加解密服务的使用量较大,故而就可以您增加一个针对Java开发语言的第六加解密服务,同时新增Java开发语言与第六加解密服务的映射。
可见,本实施例中,通过获取映射的使用数据,可以了解到各个映射,以及对应的各个加解密服务的使用状况,从而根据使用状况对映射进行及时更新,具有优化系统,提高数据传输速度的优点。
在本申请的另一实施例中,在向与所述数据源标识对应的目标数据源发送第二消息之前,还包括:若所述第一消息内包含验证数据,基于所述预设映射关系确定目标加解密服务;基于所述目标加解密服务对所述第一消息中的验证数据进行加密,得到所述第二消息。
对于业务服务端的数据请求,有时可能仅仅是对于一般的通用数据的请求,所请求的目标数据源不需要对数据请求方进行身份验证,所以数据请求中无需包括身份信息或秘钥等用于验证身份的敏感隐私数据,那么此时对于数据服务端而言接收到业务服务端的第一消息后,就可以直接将第一消息发送到相应的目标数据源,即第一消息和第二消息相同。
但是,还有一部分数据源可能要求对用户的身份验证之后,才可以向业务服务端反馈目标类型的数据,因此业务服务端在向此类目标数据源请求数据时,向数据服务端发送的第一消息可能就涉及到了用户的隐私,因此在向对应的目标数据源发送的第二消息,就包括了关于用户隐私的验证数据,为了保证用户信息的安全,就需要把包含用户隐私的验证数据加密后,再发送至相应的目标数据源,此时对于数据服务端而言,在收到第一消息后,需要对其进行加密得到第二消息,此时第一消息与第二消息不同。
举例来说,如图6所示,在本实施例中,业务服务端1向数据源X请求数据,首先通过业务服务端1向数据服务端发送第一消息,数据服务端收到第一消息后,根据第一消息中的数据源标识获知目标数据源X的地址,开发语言,加密方式,进而可以通过数据源X的开发语言确定目标加解密服务,然后利用目标加解密服务对第一消息中的关于用户隐私的验证数据进行了加密得到第二消息,即步骤S110:确定目标加解密服务,对第一消息进行加密,得到第二消息。接下来就可以将第二消息发送至目标数据源X,目标数据收到第二消息后,对加密的验证数据进行解密验证,如果验证成功就可以向数据服务端反馈相应的加密数据。当数据服务端接收到数据源X反馈的加密数据后,就可以利用已经确定的目标加解密服务对其进行解密,解密之后得到相应的明文数据,并将明文数据发送至业务服务端1,完成了业务服务端向数据源X的数据请求。
在本申请的另一实施例中,若在同一时间段内分别从多个业务服务端收到多个第一消息且所述多个第一消息所携带的数据源标识所对应的多个目标数据源的开发语言类型不同,则通过预设指标对所述多个第一消息的执行顺序进行排序,并按照顺序执行所述多个第一消息;所述预设指标包括以下项中的至少一项:
所述多个第一消息各自对应的业务服务端的优先级;
所述多个第一消息对应的目标数据源的当前负载状态;
或者,所述多个第一消息对应的目标数据源的历史传输速度。
通过设置以上预设指标,当数据服务端在同一时段内分别从多个业务服务端收到多个第一消息,且多个第一消息所携带的数据源标识所对应的多个目标数据源的开发语言不同时,可以按照上述指标对各个业务服务端的数据请求进行排序,并按照顺序执行各个数据服务端的数据请求,避免系统紊乱。
为便于理解,已如下实施例为例,分别从业务服务端的优先级、目标数据源的当前负载状态、以及目标数据源的历史传输速度中的至少一项对上述对多个业务服务端的多个第一消息的执行顺序的排序方式进行阐述。
1、按照业务服务端的优先级对多个业务服务端的多个第一消息的执行顺序进行排序。
比如在一个实施例中,仅按照多个第一消息各自对应的业务服务端的优先级,对各个业务服务端进行排序,并按照各个业务服务端的优先级顺序,执行各个第一消息的数据传输操作。
可见,仅按照业务服务端的优先级,就可以对多个业务服务端的多个第一消息的执行顺序进行排序,起到避免系统紊乱的作用。
2、按照目标数据源的当前负载状态对多个业务服务端的多个第一消息的执行顺序进行排序。
比如在另一个实施例中,仅按照多个第一消息对应的目标数据源的当前负载状态,确定多个第一消息的数据传输任务的优先级,如:业务服务端S1、S2、S3分别向数据源M1、M2、M3请求数据,而当前M3的负载大于M1的负载,M1的负载大于M2的负载,那么就可以按照M2、M1、M3的顺序进行数据传输,优先传输负载低的,从而加快数据输送速度。
3、目标数据源的历史传输速度对多个业务服务端的多个第一消息的执行顺序进行排序。比如在另一个实施例中,业务服务端S1、S2、S3分别向数据源M1、M2、M3请求数据,三个数据源的历史传输速度M3最高,M2最低,那么就可以按照M3、M1、M2的顺序依次进行数据传输。
4、按照业务服务端的优先级、目标数据源的当前负载状态、目标数据源的历史传输速度中的任意两个,对多个业务服务端的多个第一消息的执行顺序进行排序。
当排序的指标超过两个时,首先按照业务服务端的优先级顺序,然后按目标照数据源当前负载状态,最后按目标照数据源的历史传输速度进行排序。
例如在另一实施例中,按照业务服务端的优先级和对应数据源当前负载状态进行优先级排序,假设业务服务端S1、S2、S3分别向数据源M1、M2、M3请求数据,其中业务服务端的优先级:S1高于S2高于S3,数据源的当前负载:M1高于M2高于M3,那么此时则优先按照业务服务端的优先级进行排序,即按照S1、S2、S3的进行数据传输;在该实施例中,假如S1、S2、S3的优先级相同,即无法仅仅按照业务服务端的优先级排序,那么此时按照数据源的当前负载,即按照M3、M2、M1的顺序进行数据传输。
可见,设置两个指标对多个业务服务端的多个第一消息的执行顺序进行排序,可以避免仅设置一个指标时,多个业务服务端或者多个目标数据源的排名相同而无法排序的情况发生。
5、按照业务服务端的优先级,目标数据源的当前负载状态,以及目标数据源的历史传输速度,对多个业务服务端的多个第一消息的执行顺序进行排序。对于同时使用三个指标进行排序来说,首先按照业务服务端的优先级顺序排序,如果仅仅业务服务端的优先级无法排序,那么就再按照数据源当前负载进行排序,如果数据源当前负载也未能排序,则按照数据源的历史传输速度进行排序。
比如在一实施例中,按照三个指标进行排序,业务服务端S1、S2、S3分别向数据源M1、M2、M3请求数据,
第一个指标业务服务端的优先级:S1=S2>S3,可知,业务服务端S1、S2要排在业务服务端S3之前;
第二个指标数据源当前负载状态:M1=M2=M3,三者相同,无法排序;
数据源历史传输速度:M1>M2>M3,可知,M1要排在M2之前,故而综上三个指标最终得出数据传输的顺序为S1、S2、S3。
可见,同时根据三个指标进行排序,能够提高排序的成功率。
除此之外,比如在本申请的另一个实施例中,假设三个指标全部利用还没能排出顺序,那么说明多个业务服务端、多个目标数据源当前负载及历史传输速度均一致,则随机执行多个业务服务端中的任一个的数据传输任务。
在同一时段从业务服务端收到多个第一消息,且所述多个第一消息所对应的多个目标数据源的开发语言类型不同,可以按照上述指标对各个业务服务端进行优先级排序,并按照排序后的优先级顺序,执行各个业务服务端的数据请求,在其他实施例除了利用上述优先级排序方法之外,多个业务服务端还可以多并发的调用数据服务端的各个加解密服务,具体如下:
比如,在本申请的另一实施例中,可以在数据服务端上部署多线程架构,将多个加解密服务分别部署于不同的线程上,从而当同一时间段内从业务服务端收到多个第一消息,且所述多个第一消息所对应的多个目标数据源的开发语言类型不同时,就可以同时分别调用相应的线程进行数据传输。比如,首先根据各个业务服务端发送的各个第一消息中的数据源标识,确定第一消息的目标加解密服务,然后根据第一消息对应的目标加解密服务,确定部署各个目标加解密服务的线程,因而也就确定各个第一消息所对应的目标线程,从而就可以并行调度各个目标线程,分别执行相应的多个第一消息对应的数据传输任务。通过该方式能够满足在同一时刻多任务并行操作,提高数据传输的效率。
在本申请另一个实施例中,所述数据服务端可以采用分布式键值对存储系统将所述多个加解密服务分别部署于各个线程上。
在本申请的另一个实施例中,各个线程还可以采用负载均衡设置,如在数据服务端的各个线程上部署加解密服务时,通过nginx进行负载均衡,数据服务端内部服务通过etcd自动实现服务的注册、发现以及下线。整个数据服务端采用微服务的架构理念,不仅支持分布式,而且扩展方便,还能能够在业务服务端出现大规模的访问量时保证访问速度。
在本申请的另一个实施例中,若从同一业务服务端收到携带多个数据源标识的第三消息、所述多个数据源标识所对应的多个目标数据源的开发语言类型不同,则收集所述多个目标数据源的关键信息,所述关键信息包括数据置信度和/或数据覆盖面;
根据所述数据覆盖面,在从所述多个目标数据源接收的多个第一明文数据中选择包含所述业务服务端所请求的第一明文数据;和/或
根据所述数据置信度,在从所述多个目标数据源接收的多个第一明文数据中选择置信度高于预设阈值的第一明文数据;
向所述业务服务端发送筛选后的第一明文数据。
比如在一实施例中,某一业务服务端在同一时段内向数据源S4、S5、S6请求数据,数据服务端收到该业务服务端发送的携带了数据源S4、S5、S6的数据源标识的第三消息,并分别向数据源S4、S5、S6发送第二消息,而后分别从S4、S5、S6收到相应的加密数据,利用数据源S4、S5、S6各自对应的加解密服务对各个加密数据进行解密,得到数据源S4、S5、S6对应的三个明文数据,此时根据数据源S4、S5、S6的关键信息(包括数据可信度和数据覆盖面),从三个明文数据中进行筛选,比如三个明文数据对于业务服务端请求数据的数据覆盖面分别为40%、60%和0,那么可知数据源S6所对应的明文数据并不包含业务端所请求的数据,此时就可以将数据源S6对应的明文数据剔除,然后根据数据置信度从剩余的两个明文数据中挑选置信度最高的传输即可。在其实施例中,也可以预先设置数据置信度阈值,通过置信度阈值在剩余的两个明文数据中进行筛选也可。
在本申请另一个实施例中,在对从数据源接收的加密数据进行解密后,所述方法还包括:根据业务服务端的业务需求,对解密后得到的明文数据进行筛选,选择与所述业务服务端业务需求匹配的明文数据,并透传至相应业务服务端。在数据源接收到数据服务端发送的验证数据并验证成功后,向数据服务端反馈加密数据,反馈的加密数据有可能存在与业务服务端的业务需求不匹配的数据,如果全部返送至业务服务端,不仅浪费资源,还一定程度上降低了数据传输速度,故而,在数据服务端利用相应的加解密服务,对其进行解密后,根据业务服务端的业务需求,对解密后得到的明文数据进行筛选,然后将与业务服务端的业务需求匹配的明文数据,发送至相应的业务服务端。
在本申请的另一个实施例中,在对所述加密数据进行解密后,所述方法还包括:
判断解密得到明文数据的大小是否超过阈值;
若未超过,则直接透传至相应业务服务端;
若超过,则对所述明文数据进行压缩后再透传至所述业务服务端。
比如,当数据服务端接收到数据源反馈的加密数据后,利用相应的加解密服务对其进行解密,并计算解密后的得到的明文数据的大小,当解密后的数据超过阈值时,先对其进行压缩,待数据不超过阈值之后,再传输至相应业务服务端,从而能够一定程度的提高数据请求的速度。如果解密之后的数据大小没有超过阈值,则可以直接传输至相应的业务服务端。
需要说明的是,如果单一的数据文件巨大,即使压缩也无法满足不超过阈值的要求,也可以通过数据分割技术(例如水平分割或垂直分割),将所述单一的数据文件分为多个小文件,之后再将多个小文件传输至相应的业务服务端。
在本申请的另一个实施例,可以对业务服务端进行如下配置:
DATA_SOURCE_{NAME}_CONFIG = {
“url”: “http地址”,
“encrypte_methond”: “加密解密方式”,
“server_luanage”: “数据源的开发语言”
}
ENCRYPTION_SERVER_URL = “数据服务端http地址”
其中,“url”: “http地址”代表了业务服务端请求的数据源的地址,那么当任一个业务服务端向数据服务端请求数据时:
业务服务端根据“ENCRYPTION_SERVER_URL”获取数据服务端的http地址,将数据请求(第一消息)发送至数据服务端;
业务服务端与数据服务端通过http通讯协议通讯,使用post方法访问数据服务端,参数是json格式,一个数据请求的具体示例如下:
{
"data_source_url": "http://url",
"data_source_encrypte_methond": "md5",
"data_source_server_luanage": "python"
"data_source_config": {
"app_key": "",
"public_key": "",
"private_key": ""
},
"data_source_params": { # 数据源需要的参数
"user_id": "用户id",
"phone": "手机号码",
"idcard": "身份证号"
}
}
数据服务端接收到该数据请求时,根据"data_source_url": "http://url"能够获取目标数据源的地址,根据"data_source_encrypte_methond": "md5"能够获知目标数据源的加密方式为md5,根据"data_source_server_luanage": "python"能够获知目标数据源采用的是python开发语言。
另外数据服务模块中还可以建立如下映射:
LUANAGE_SERVER_CONFIG = {
"python":"python加解密服务",
"java":"java加解密服务"
...
}
从而,当数据服务端接收到业务服务端的数据请求时,根据数据请求的中的"data_source_server_luanage"获知目标数据源的开发语言,然后从映射中选择相应的加解密服务,然后根据"data_source_encrypte_methond"选择对应的加解密方法,即可根据数据请求中的"data_source_config"(加解密的一些配置信息)对"data_source_params"(数据源验证数据)进行加密,并将加密之后的验证数据发送至相应的数据源地址。
需要说明的是,数据服务端上部署有多个不同开发语言的加解密服务,在同一个加解密服务上还可以配置多种不同的加解密代码,比如当前比较常用的加解密方法:md5、sha256、sm2、sm3、RSA、DH等。
本申请实施例提供的技术方案,通过设置单独的数据服务端,并在数据服务端设置多种加解密服务,从而在进行数据传输时,可以根据数据源的开发语言直接从数据服务端选择对应的加解密服务。一方面,当切换数据源时,也无需重新在业务服务端设置加解密代码,能够简化数据传输流程,以及提高数据传输的速度;另一方面由于数据服务端与业务服务端独立部署,故而在开发过程中可以根据实际业务服务端的业务需求更新来动态地更新加解密服务(例如更新映射关系),以适应更多数据获取需求,可扩展性强且数据服务端的部署可以反复利用。
示例性系统
图2至图6中任一项所对应的实施例中所提及的任一技术特征也同样适用于本申请实施例中的图7所对应的实施例,后续类似之处不再赘述。在介绍了本申请实施例示例性实施方式的数据透传方法之后,接下来对本申请实施例示例性实施方式的数据透传系统进行详细阐述。
如图7所示的一种数据透传系统,可用于数据服务端100,该数据透传系统能够实现数据透传方法对应于上述图2-图6中任一所对应的实施例中所执行的数据透传方法的步骤,在本实施例中该数据透传系统可以部署在上述示例性实施方式的资源调度方法的各个实施例中的数据服务端100内,该数据透传系统包括:
收发模块110,用于接收来自业务服务端的携带数据源标识的第一消息,向与所述数据源标识对应的目标数据源发送第二消息,以及
从所述目标数据源接收基于所述第二消息返回的第一加密数据,所述第一加密数据为所述目标类型的数据;
处理模块120,用于确定目标加解密服务,所述目标加解密服务与所述目标数据源的开发语言类型相匹配,以及
利用所确定的目标加解密服务对所述收发模块110接收的所述第一加密数据进行解密,得到第一明文数据;
通过所述收发模块110将所述第一明文数据发送至所述业务服务端。
在本申请的另一实施例中,所述数据透传系统还包括路由模块130,所述路由模块130预设有映射关系,所述映射关系包括第一映射关系、第二映射关系和第三映射关系中的至少一项,所述第一映射关系包括开发语言与加解密服务的映射关系,所述第二映射关系包括数据源标识与加解密服务的映射关系,所述第三映射关系包括开发语言、数据源标识与加解密服务之间的映射关系;
所述处理模块120还被配置为:
根据所述映射关系确定目标加解密服务。
在本申请的另一实施例中,所述数据透传系统还包括检测模块140,用于获取在历史时段内,所述数据服务端100解密来自至少一个数据源的加密数据所采用的各个映射关系的使用数据,所述使用数据包括历史时段内所述各个映射关系的使用次数、使用时间间隔中的至少一项。
所述路由模块130还被配置为:基于所述使用数据对所述各个映射关系进行更新。
在本申请的另一个实施例中,所述处理模块120还被配置为:在通过所述收发模块110向与所述数据源标识对应的目标数据源发送第二消息之前,若所述第一消息内包含验证数据,基于所述预设映射关系确定目标加解密服务;
基于所述目标加解密服务对所述第一消息中的验证数据进行加密,得到所述第二消息。
在本申请的另一个实施例中,所述数据透传系统还包括筛选模块150,被配置为:
若所述收发模块110在同一时间段内分别从多个业务服务端收到多个第一消息且所述多个第一消息所携带的数据源标识所对应的多个目标数据源的开发语言类型不同,通过预设指标中的至少一项对所述多个第一消息的执行顺序进行排序,并按照顺序执行所述多个第一消息;
所述预设指标包括:所述多个第一消息各自对应的业务服务端的优先级、所述多个第一消息对应的目标数据源的当前负载状态以及所述多个第一消息对应的目标数据源的历史传输速度。
在本申请的另一实施例中,所述数据服务端100部署有多线程架构,所述多个加解密服务分别部署于不同的线程上,所述处理模块120还被配置为:
若所述收发模块110在同一时间段内从业务服务端收到多个第一消息,且所述多个第一消息所对应的多个目标数据源的开发语言类型不同,
确定多个目标线程,所述多个目标线程分别部署所述多个第一消息的目标加解密服务;
利用所述多个目标线程分别执行相应的多个第一消息对应的数据传输任务。
在本申请的另一实施例中,所述处理模块120还被配置为:
若所述收发模块110从同一业务服务端收到携带多个数据源标识的第三消息、所述多个数据源标识所对应的多个目标数据源的开发语言类型不同,则收集所述多个目标数据源的关键信息,所述关键信息包括数据置信度和/或数据覆盖面;
根据所述数据覆盖面,在从所述多个目标数据源接收的多个第一明文数据中选择包含所述业务服务端所请求的第一明文数据;和/或
根据所述数据置信度,在从所述多个目标数据源接收的多个第一明文数据中选择置信度高于预设阈值的第一明文数据;
通过所述收发模块110向所述业务服务端发送筛选后的第一明文数据。
各模块、单元、节点的具体实施方法参考示例性方法中的各个实施例,在此不一一赘述。本申请实施例提供的数据透传系统,通过设置与业务服务端独立部署的数据服务端100,并在数据服务端100设置多种加解密服务,从而在进行数据传输时,若业务服务端的开发语言类型与所请求的数据源的开发语言类型不同时,或者在切换数据源时,可以根据数据源的开发语言直接从数据服务端100选择对应的加解密服务,以对从数据源获取的加密数据进行解密;而且相较于现有技术,一方面,当切换数据源时,也无需重新在业务服务端设置加解密代码,能够简化数据传输流程,提高了数据传输的速度;另一方面,由于数据服务端100与业务服务端独立部署,故而在开发过程中可以根据实际业务服务端的业务需求更新,来动态地更新加解密服务(例如更新映射关系),以适应更多数据获取需求,可扩展性强且数据服务端的部署可以反复利用。
示例性介质
在介绍了本申请实施例示例性实施方式的方法、系统之后,接下来,参考图8对本申请实施例示例性实施方式的计算机可读存储介质进行说明。
请参考图8,其示出的计算机可读存储介质为光盘70,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会实现上述方法实施方式中所记载的各步骤,例如:从所述业务服务端接收携带数据源标识的第一消息,所述第一消息用于请求获取目标类型的数据;向与所述数据源标识对应的目标数据源发送第二消息;从所述目标数据源接收基于所述第二消息返回的第一加密数据,所述第一加密数据为所述目标类型的数据;确定目标加解密服务,所述目标加解密服务与所述目标数据源的开发语言类型相匹配;基于所述目标加解密服务对所述第一加密数据进行解密,得到第一明文数据;向所述业务服务端发送所述第一明文数据。各步骤的具体实现方式在此不再重复说明。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
示例性计算设备
在介绍了本申请实施例示例性实施方式的方法、系统和介质之后,接下来,参考图9对本申请实施例示例性实施方式的计算设备80进行说明。
图9示出了适于用来实现本申请实施例实施方式的示例性计算设备80的框图,该计算设备80可以是计算机系统或服务器。图9显示的计算设备80仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算设备80的组件可以包括但不限于:一个或者多个处理器或者处理单元801,系统存储器802,连接不同系统组件(包括系统存储器802和处理单元801)的总线803。
计算设备80典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算设备80访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器802可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)8021和/或高速缓存存储器8022。计算设备70可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,ROM8023可以用于读写不可移动的、非易失性磁介质(图9中未显示,通常称为“硬盘驱动器”)。尽管未在图9中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线803相连。系统存储器802中可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块8024的程序/实用工具8025,可以存储在例如系统存储器802中,且这样的程序模块8024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块8024通常执行本申请所描述的实施例中的功能和/或方法。
计算设备80也可以与一个或多个外部设备804(如键盘、指向设备、显示器等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,计算设备80还可以通过网络适配器806与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图9所示,网络适配器806通过总线803与计算设备80的其它模块(如处理单元801等)通信。应当明白,尽管图9中未示出,可以结合计算设备80使用其它硬件和/或软件模块。
处理单元801通过运行存储在系统存储器802中的程序,从而执行各种功能应用以及数据处理,例如,从所述业务服务端接收携带数据源标识的第一消息,所述第一消息用于请求获取目标类型的数据;向与所述数据源标识对应的目标数据源发送第二消息;从所述目标数据源接收基于所述第二消息返回的第一加密数据,所述第一加密数据为所述目标类型的数据;确定目标加解密服务,所述目标加解密服务与所述目标数据源的开发语言类型相匹配;基于所述目标加解密服务对所述第一加密数据进行解密,得到第一明文数据;向所述业务服务端发送所述第一明文数据。各步骤的具体实现方式在此不再重复说明。应当注意,尽管在上文详细描述中提及了数据透传系统的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请实施例的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本申请实施例方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本申请实施例的精神和原理,但是应该理解,本申请实施例并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本申请实施例旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
以上所述仅为本申请的可选实施例,并非因此限制本申请的专利范围,凡是在本申请实施例的发明构思下,利用本申请说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本申请的专利保护范围内。
Claims (8)
1.一种数据透传方法,应用于与业务服务端相互独立部署的数据服务端,所述数据服务端提供多个不同开发语言类型的加解密服务,所述业务服务端的开发语言类型与所请求的数据源的开发语言类型不同,所述数据服务端预设有映射关系,所述映射关系包括第一映射关系、第二映射关系和第三映射关系中的至少一项,所述第一映射关系包括开发语言与加解密服务的映射关系,所述第二映射关系包括数据源标识与加解密服务的映射关系,所述第三映射关系包括开发语言、数据源标识与加解密服务之间的映射关系;
所述方法包括:
从所述业务服务端接收携带数据源标识的第一消息,所述第一消息用于请求获取目标类型的数据;
向与所述数据源标识对应的目标数据源发送第二消息;
从所述目标数据源接收基于所述第二消息返回的第一加密数据,所述第一加密数据为所述目标类型的数据;
基于所述映射关系确定目标加解密服务,所述目标加解密服务与所述目标数据源的开发语言类型相匹配;
基于所述目标加解密服务对所述第一加密数据进行解密,得到第一明文数据;
向所述业务服务端发送所述第一明文数据;
其中,所述映射关系通过以下方式更新:
获取在历史时段内,所述数据服务端解密来自至少一个数据源的加密数据所采用的各个映射关系的使用数据,所述使用数据包括历史时段内所述各个映射关系的使用次数、使用时间间隔中的至少一项,并基于所述使用数据对所述各个映射关系进行更新。
2.如权利要求1所述的数据透传方法,其中,在向与所述数据源标识对应的目标数据源发送第二消息之前,还包括:
若所述第一消息内包含验证数据,基于所述映射关系确定目标加解密服务;
基于所述目标加解密服务对所述第一消息中的验证数据进行加密,得到所述第二消息。
3.如权利要求1或2所述的数据透传方法,其中,所述方法还包括:
若在同一时间段内分别从多个业务服务端收到多个第一消息且所述多个第一消息所携带的数据源标识所对应的多个目标数据源的开发语言类型不同,则通过预设指标对所述多个第一消息的执行顺序进行排序,并按照顺序执行所述多个第一消息;
所述预设指标包括以下项中的至少一项:
所述多个第一消息各自对应的业务服务端的优先级;
所述多个第一消息对应的目标数据源的当前负载状态;
或者,所述多个第一消息对应的目标数据源的历史传输速度。
4.如权利要求1或2所述的数据透传方法,所述数据服务端部署有多线程架构,所述多个加解密服务分别部署于不同的线程上,所述方法还包括:
若在同一时间段内从业务服务端收到多个第一消息,且所述多个第一消息所对应的多个目标数据源的开发语言类型不同,
确定多个目标线程,所述多个目标线程分别部署所述多个第一消息的目标加解密服务;
利用所述多个目标线程分别执行相应的多个第一消息对应的数据传输任务。
5.如权利要求1或2所述的数据透传方法,其中,所述方法还包括:
若从同一业务服务端收到携带多个数据源标识的第三消息、所述多个数据源标识所对应的多个目标数据源的开发语言类型不同,则收集所述多个目标数据源的关键信息,所述关键信息包括数据置信度和/或数据覆盖面;
根据所述数据覆盖面,在从所述多个目标数据源接收的多个第一明文数据中选择包含所述业务服务端所请求的第一明文数据;和/或
根据所述数据置信度,在从所述多个目标数据源接收的多个第一明文数据中选择置信度高于预设阈值的第一明文数据;
向所述业务服务端发送筛选后的第一明文数据。
6.一种数据透传系统,其特征在于,所述数据透传系统与业务服务端相互独立部署,所述数据透传系统包括:
多个不同开发语言类型的加解密模块;
路由模块,预设有映射关系,所述映射关系包括第一映射关系、第二映射关系和第三映射关系中的至少一项,所述第一映射关系包括开发语言与加解密服务的映射关系,所述第二映射关系包括数据源标识与加解密服务的映射关系,所述第三映射关系包括开发语言、数据源标识与加解密服务之间的映射关系;
收发模块,用于接收来自业务服务端的携带数据源标识的第一消息,向与所述数据源标识对应的目标数据源发送第二消息,以及从所述目标数据源接收基于所述第二消息返回的第一加密数据,所述第一加密数据为目标类型的数据;
处理模块,用于根据所述映射关系确定目标加解密服务,所述目标加解密服务与所述目标数据源的开发语言类型相匹配,以及
利用所确定的目标加解密服务对所述收发模块接收的所述第一加密数据进行解密,得到第一明文数据;
通过所述收发模块将所述第一明文数据发送至所述业务服务端;
检测模块,用于获取在历史时段内,所述处理模块解密来自至少一个数据源的加密数据所采用的各个映射关系的使用数据,所述使用数据包括历史时段内所述各个映射关系的使用次数、使用时间间隔中的至少一项;
所述路由模块还被配置为:基于所述使用数据对所述各个映射关系进行更新。
7.一种介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
8.一种计算设备,其中,所述计算设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111618879.2A CN113992448B (zh) | 2021-12-28 | 2021-12-28 | 一种数据透传方法、系统、介质及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111618879.2A CN113992448B (zh) | 2021-12-28 | 2021-12-28 | 一种数据透传方法、系统、介质及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113992448A CN113992448A (zh) | 2022-01-28 |
CN113992448B true CN113992448B (zh) | 2022-04-12 |
Family
ID=79734703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111618879.2A Active CN113992448B (zh) | 2021-12-28 | 2021-12-28 | 一种数据透传方法、系统、介质及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113992448B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500674A (zh) * | 2022-03-22 | 2022-05-13 | 康键信息技术(深圳)有限公司 | 分布式系统数据透传方法、装置、存储介质及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106856467A (zh) * | 2015-12-08 | 2017-06-16 | 中国科学院声学研究所 | 一种部署在云存储客户端的安全代理装置与安全代理方法 |
CN106856468A (zh) * | 2015-12-08 | 2017-06-16 | 中国科学院声学研究所 | 一种部署在云存储服务端的安全代理装置与安全代理方法 |
CN111405039A (zh) * | 2020-03-16 | 2020-07-10 | 深圳市网心科技有限公司 | 一种数据透传方法、装置、系统和客户端及服务器 |
CN112738042A (zh) * | 2020-12-22 | 2021-04-30 | 上海上实龙创智能科技股份有限公司 | 一种基于mqtt协议的物联网设备模型及其数据穿透方法 |
CN113162974A (zh) * | 2021-03-03 | 2021-07-23 | 北京中安星云软件技术有限公司 | 一种基于tcp代理的数据库动态加解密的实现方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107786328A (zh) * | 2017-09-01 | 2018-03-09 | 深圳市金立通信设备有限公司 | 一种生成密钥的方法、服务节点设备及计算机可读介质 |
US11494380B2 (en) * | 2019-10-18 | 2022-11-08 | Splunk Inc. | Management of distributed computing framework components in a data fabric service system |
CN110808993A (zh) * | 2019-11-08 | 2020-02-18 | 京东数字科技控股有限公司 | 数据传输控制方法、装置、计算机系统和介质 |
US20210281406A1 (en) * | 2020-03-05 | 2021-09-09 | Timothy Arthur Huck | Cryptographic security system, method, and program product using data partitioning |
-
2021
- 2021-12-28 CN CN202111618879.2A patent/CN113992448B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106856467A (zh) * | 2015-12-08 | 2017-06-16 | 中国科学院声学研究所 | 一种部署在云存储客户端的安全代理装置与安全代理方法 |
CN106856468A (zh) * | 2015-12-08 | 2017-06-16 | 中国科学院声学研究所 | 一种部署在云存储服务端的安全代理装置与安全代理方法 |
CN111405039A (zh) * | 2020-03-16 | 2020-07-10 | 深圳市网心科技有限公司 | 一种数据透传方法、装置、系统和客户端及服务器 |
CN112738042A (zh) * | 2020-12-22 | 2021-04-30 | 上海上实龙创智能科技股份有限公司 | 一种基于mqtt协议的物联网设备模型及其数据穿透方法 |
CN113162974A (zh) * | 2021-03-03 | 2021-07-23 | 北京中安星云软件技术有限公司 | 一种基于tcp代理的数据库动态加解密的实现方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113992448A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10162672B2 (en) | Generating data streams from pre-existing data sets | |
US10917294B2 (en) | Network function instance management method and related device | |
JP6190949B2 (ja) | 仮想ネットワーク機能マネージャによる仮想インフラストラクチャマネージャへのアクセスの自動化構成 | |
CN110311983B (zh) | 服务请求的处理方法、装置、系统、电子设备及存储介质 | |
CN110856126B (zh) | 信息上报、接收方法、终端设备及存储介质 | |
CA2924858C (en) | Method and system for distributing secrets | |
CN109347839B (zh) | 集中式密码管理方法、装置、电子设备及计算机存储介质 | |
US9753786B2 (en) | Client server communication system | |
CN103403731B (zh) | 云存储系统的数据加密处理装置和方法 | |
CN110059055B (zh) | 一种基于分布式私有云的文件存储及读取方法及装置 | |
CN111182025A (zh) | 一种报文处理方法、装置、服务器及存储介质 | |
CN108268211B (zh) | 一种数据处理方法及装置 | |
CN111491037A (zh) | 通过sftp数据流与对象存储服务器的通信方法 | |
CN111865897A (zh) | 一种云服务的管理方法及装置 | |
CN113992448B (zh) | 一种数据透传方法、系统、介质及计算设备 | |
CN103023684A (zh) | 网络信息管理的方法、装置和系统 | |
WO2015027931A1 (en) | Method and system for realizing cross-domain remote command | |
CN113055493B (zh) | 数据包处理方法、装置、系统、调度设备和存储介质 | |
US20130007094A1 (en) | Client server communication system | |
CN111787048B (zh) | 一种终端设备的连接方法、调度服务器及物联网系统 | |
US11595471B1 (en) | Method and system for electing a master in a cloud based distributed system using a serverless framework | |
CN113923167A (zh) | 联邦学习中数据传输优化方法 | |
CN108075931B (zh) | 一种测试系统、测试方法、控制服务器和执行服务器 | |
US12050619B2 (en) | Data retrieval using distributed workers in a large-scale data access system | |
CN111783044B (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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Not publicizing the inventor Inventor before: Not publicizing the inventor |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |