CN118101343A - 一种用于医院内网环境的联邦学习系统 - Google Patents
一种用于医院内网环境的联邦学习系统 Download PDFInfo
- Publication number
- CN118101343A CN118101343A CN202410494152.5A CN202410494152A CN118101343A CN 118101343 A CN118101343 A CN 118101343A CN 202410494152 A CN202410494152 A CN 202410494152A CN 118101343 A CN118101343 A CN 118101343A
- Authority
- CN
- China
- Prior art keywords
- task
- module
- computing node
- computing
- information
- 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.)
- Pending
Links
- 230000003993 interaction Effects 0.000 claims abstract description 55
- 238000004364 calculation method Methods 0.000 claims abstract description 48
- 238000002955 isolation Methods 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 8
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000012549 training Methods 0.000 claims description 4
- 238000012905 input function Methods 0.000 claims description 3
- 238000004064 recycling Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 35
- 238000004891 communication Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 239000010979 ruby Substances 0.000 description 2
- 229910001750 ruby Inorganic materials 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0209—Architectural arrangements, e.g. perimeter networks or demilitarized zones
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Public Health (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Primary Health Care (AREA)
- Epidemiology (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种用于医院内网环境的联邦学习系统,该联邦学习系统包括:中心协调方和多个参与方,每一参与方部署于一个医院管理系统中,从而实现多个医院管理系统之间的联邦学习任务。参与方包括任务分发模块、流程交互模块和计算模块,将用于外部调用的任务分发模块和流程交互模块设置在医院管理系统的隔离区,计算模块设置在医院管理系统的内网区,即只有计算模块能够访问医院管理系统的本地隐私数据,从而保护了医院管理系统的数据隐私,降低了医院内部核心数据泄露的风险。
Description
技术领域
本申请涉及隐私计算技术领域,具体而言,涉及一种用于医院内网环境的联邦学习系统。
背景技术
在医院内网环境,内部核心数据不能出本地服务器,数据只能在内网进行交互。然而,传统的联邦学习框架模型训练模块与外部节点交互模块杂糅在一起,现有的联邦学习系统部署在医院内网环境时,存在医院内部核心数据泄露的风险。
发明内容
本申请实施例的目的在于提供一种用于医院内网环境的联邦学习系统,用以解决联邦学习系统部署在医院内网环境时,存在医院内部核心数据泄露的风险。
本申请实施例提供的一种用于医院内网环境的联邦学习系统,包括:中心协调方和多个参与方;
参与方包括任务分发模块、流程交互模块和计算模块;计算模块包括多个计算节点;
中心协调方用于接收外部提交的联邦学习任务,并联合多个参与方执行联邦学习任务;
任务分发模块,用于接收中心协调方发送的第一信息,并根据第一信息,申请对应的计算节点,以及控制任务执行;其中,第一信息用于申请计算节点,以及进行计算节点的任务执行;
流程交互模块,用于接收中心协调方发送的第二信息,并根据第二信息,控制计算节点实现对应的任务执行步骤;其中,第二信息用于控制计算节点在对应步骤进行任务执行;
计算节点,用于根据医院管理系统的内网区的本地隐私数据,在对应的任务执行步骤,进行任务执行;
其中,任务分发模块和流程交互模块部署在医院管理系统的隔离区,计算模块部署在医院管理系统的内网区。
上述技术方案中,联邦学习系统包括:中心协调方和多个参与方,每一参与方部署于一个医院管理系统中,从而实现多个医院管理系统之间的联邦学习任务。参与方包括任务分发模块、流程交互模块和计算模块,将用于外部调用的任务分发模块和流程交互模块设置在医院管理系统的隔离区,计算模块设置在医院管理系统的内网区,即只有计算模块能够访问医院管理系统的本地隐私数据,从而保护了医院管理系统的数据隐私,降低了医院内部核心数据泄露的风险。
在一些可选的实施方式中,中心协调方包括:任务接收模块、任务队列模块和多个任务执行模块;
任务接收模块,用于接收外部提交的联邦学习任务,并将联邦学习任务发送至任务队列模块;
任务队列模块,用于对联邦学习任务进行临时存储;
任务执行模块,用于获取任务队列模块中一个联邦学习任务,并联合多个参与方执行联邦学习任务。
上述技术方案中,中心协调方通过任务接收模块、任务队列模块和任务执行模块,可以实现对联邦学习任务的高效管理。任务接收模块负责接收外部提交的联邦学习任务,任务队列模块负责进行临时的任务存储,任务执行模块负责获取任务并联合多个参与方执行联邦学习任务,这样的结构可以使任务管理更加清晰、高效。由于任务队列模块的存在,中心协调方可以接收并存储外部提交的联邦学习任务,而无需等待任务执行模块立即处理,这种异步处理能力可以提高系统的响应速度和并发处理能力。
在一些可选的实施方式中,任务接收模块,还用于:
管理参与方,包括节点注册、节点删除和节点展示;
根据联邦学习任务,确定任务类型以及执行任务的所需配置;其中,执行任务的所需配置,即为配置哪些参与方来执行任务;
在联邦学习任务结束时,记录任务耗时数据,获取任务执行结果并返回任务执行结果。
上述技术方案中,任务接收模块能够管理参与方,包括节点的注册、删除和展示。这使得系统可以方便地添加、删除或查看参与方,从而更好地管理和维护联邦学习系统的节点。任务接收模块能够根据联邦学习任务确定任务类型以及执行任务的所需配置,这使得系统可以根据不同的任务类型和需求,灵活地配置参与方来执行任务,以满足各种不同的联邦学习任务需求。任务接收模块能够在联邦学习任务结束时记录任务耗时数据,获取任务执行结果并返回任务执行结果,这使得系统可以记录任务执行的过程和结果,提供反馈信息给外部系统或用户,帮助他们了解任务的执行情况和结果。
在一些可选的实施方式中,还包括协调参与方;
任务执行模块,还用于:
向参与方申请计算节点资源;
准备联邦学习算法参数,联邦学习算法参数由外部网络通过任务接收模块传入任务执行模块;其中,联邦学习算法参数包括算法的名称以及执行算法所需的参数;
准备协调参与方的流程交互模块,协调参与方的流程交互模块用于协调执行过程中多个参与方的计算节点的执行流程;
准备每个参与方的流程交互模块,参与方的流程交互模块用于控制对应的计算节点的调用;
向协调参与方分享多个参与方的计算节点信息;
向参与方分享协调参与方的计算节点信息;
根据外部网络通过任务接收模块传入任务执行模块的配置参数,确定执行算法训练或推导任务;
记录每个参与方执行任务的耗时,并发送给任务接收模块。
上述技术方案中,协调参与方独立于其他的参与方,协调参与方可以与中心协调方部署在同一服务器设备中,协调参与方本身不具有参与隐私计算的隐私数据,协调参与方用于协调和管理其他参与方的计算资源的分配,以确保联邦学习任务的顺利进行。
在一些可选的实施方式中,计算模块还包括:计算控制模块;
计算控制模块,用于进行计算节点的获取和回收。
上述技术方案中,部署在医院管理系统的内网区的计算模块包括计算控制模块和多个计算节点,计算控制模块在启动时,按需生成多个计算节点服务,再由计算节点与实际的本地隐私数据进行交互。计算控制模块只与任务分发模块进行通信,例如通过grpc服务用来控制请求的接口和参数,只用来协调和控制生成的计算节点资源。
在一些可选的实施方式中,计算节点,还用于:
启动计算节点的线程,在每隔一段时间,检查计算节点和计算控制模块是否正常连接;
允许计算控制模块检查计算节点的状态;状态包括空闲状态或忙碌状态;
根据传入的函数名来执行对应算法,并记录计算节点执行对应算法的耗时;
根据传入计算节点的上下文参数配置,初始化算法执行所需的上下文参数,并根据上下文参数运行任务;其中,上下文参数记录了执行算法的运行数据和流程;
在运行任务时,按流式类型返回计算节点执行结果;
关闭任务时,清除当前任务遗留下来的上下文信息。
上述技术方案中,计算节点中的一个线程,在每隔一段时间检查计算节点和计算控制模块是否正常连接,这可以确保计算节点与控制模块之间的稳定通信,及时发现连接问题并进行处理。计算节点允许计算控制模块检查计算节点的空闲状态或忙碌状态,这使得计算控制模块可以实时了解计算节点的状态,并根据需要进行任务调度和资源分配。计算节点还根据传入的函数名来执行对应算法,并记录计算节点执行对应算法的耗时。在运行任务时,计算节点按流式类型返回计算节点执行结果,这使得任务执行结果可以实时返回,提高了系统的响应速度和用户体验。在关闭任务时,计算节点清除当前任务遗留下来的上下文信息,这有助于释放资源,避免潜在的内存泄漏问题,同时保证了不同任务之间的隔离性。
在一些可选的实施方式中,计算控制模块,还用于:
启动调度程序,检查每个计算模块的状态,确定空闲状态的计算节点资源;
向调度程序申请空闲状态的计算节点资源;
在返回信息中加入申请成功的计算节点信息。
上述技术方案中,计算控制模块可以动态地获取可用的计算节点资源,并根据需要进行任务调度和分配,有助于实现任务的快速调度和执行,这可以提高系统的整体效率,减少等待时间和任务延迟。
在一些可选的实施方式中,任务分发模块,还用于:
管理缓存中的计算控制模块,包括:测试缓存中的计算控制模块是否正常;去除缓存中的计算控制模块;与计算控制模块进行连接,并将计算控制模块加入缓存;
向缓存中的计算控制模块,申请获取空闲的计算节点资源;
分配计算节点,并返回分配的计算节点信息对应的端口信息,端口信息用于流程交互模块进行信息转发;
对分配的计算节点进行算法任务初始化,并记录算法任务信息。
上述技术方案中,任务分发模块用于与计算控制模块进行连接,并将新连接的计算控制模块加入缓存,以及主动删除缓存中的计算控制模块。对应缓存中的计算控制模块,可以申请获取对应的计算节点资源,在获取计算节点之后,即计算控制模块分配好计算节点,计算控制模块返回端口信息至任务分发模块,任务分发模块再返回端口信息至任务执行模块,任务执行模块再将端口信息发送至流程交互模块,使流程交互模块进行信息转发。对分配的计算节点进行算法任务初始化,并记录算法任务信息,这有助于确保计算节点正确执行任务,同时提供了对算法任务的可追溯性和管理性。
在一些可选的实施方式中,流程交互模块,还用于:
管理流程交互模块,包括:获取流程交互模块的基础信息;检查流程交互模块是否正常;
创建与计算节点的服务端连接的客户端;
获取计算节点对应的客户端,并在缓存中添加;
代理执行对应计算节点的方法,调用计算节点对应的客户端来执行对应的方法,并以流式数据返回计算节点执行结果。
上述技术方案中,流程交互模块可以进行自检,还创建与计算节点服务连接的客户端,并在缓存中添加该客户端,从而,通过代理执行对应计算节点的方法,调用计算节点对应的客户端来执行对应的方法,并以流式数据返回计算节点执行结果。
在一些可选的实施方式中,任务接收模块、任务分发模块、计算模块均采用基于grpc service实现的grpc服务器。
上述技术方案中,基于gRPC的通信机制,任务接收模块、任务分发模块和计算模块之间的通信效率较高。gRPC是高性能的、面向服务的、通用的RPC框架,适用于移动应用、后台应用等多种场景。gRPC支持多种语言,包括但不限于Java、Go、Python、Ruby、C++等,可以使用不同的编程语言来实现不同的模块,从而实现最佳的编程实践和利用各种编程语言的优势。gRPC支持客户端负载均衡,例如有多个计算模块实例,gRPC服务器会自动将任务分配给各个实例,从而实现负载均衡。gRPC支持异步通信,任务可以异步执行,从而提高系统的吞吐量。gRPC支持服务注册与发现,这使得动态服务发现和配置管理变得更加容易,并可以在运行时动态地添加或移除服务实例。gRPC支持流控制和安全特性,如HTTP/2流量控制和TLS/SSL加密通信,这有助于控制数据流量和保护数据的安全。gRPC还提供了丰富的错误处理和调试信息,这使得问题排查和系统维护变得更加容易。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种用于医院内网环境的联邦学习系统功能模块图;
图2为本申请具体实施例提供的联邦学习系统功能模块图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参照图1,图1为本申请实施例提供的一种用于医院内网环境的联邦学习系统功能模块图,该系统包括:中心协调方和多个参与方;参与方包括任务分发模块、流程交互模块和计算模块;计算模块包括多个计算节点。
具体地,将参与联邦学习的多个医院管理系统,每一医院管理系统设置一个参与方。中心协调方设置到为不与医院的隐私数据交互的服务器设备中,例如在一个医院内部部署中心协调方时,该中心协调方作为主节点用来负责与其他参与方的信息协调,该中心协调方需要与外部网络进行交互,因此,该中心协调方部署服务器需要通过前置机与外部网络连接,其他计算参与节点系统需要通过前置机暴露出去的中心系统服务地址用于访问。
其中,中心协调方用于接收外部提交的联邦学习任务,并联合多个参与方执行联邦学习任务;任务分发模块,用于接收中心协调方发送的申请计算节点以及计算节点的任务执行的第一信息,并根据第一信息,申请对应的计算节点,以及控制任务执行;流程交互模块,用于接收中心协调方发送的计算节点的任务执行步骤的第二信息,并根据第二信息,控制计算节点实现对应的任务执行步骤;计算节点,用于根据医院管理系统的内网区的本地隐私数据,在对应的任务执行步骤,进行任务执行;其中,任务分发模块和流程交互模块部署在医院管理系统的隔离区,计算模块部署在医院管理系统的内网区。
也就是说,任务分发模块主要用于接收中心协调方对计算模块中的计算节点资源申请和计算节点任务执行信息的记录。计算模块通过流程交互模块开发的固定接口用于与中心协调方进行任务协调。中心协调方依次调用流程交互模块来调用计算模块的计算节点读取数据并进行对应算法步骤执行。
具体地,任务分发模块可以是基于grpc service实现的grpc服务器,用于接收中心协调方调用的非计算相关接口:如任务接收、任务计算节点分发、参与方任务状态维护。计算模块可以是基于grpc service实现的grpc服务器,用于接收具体联邦学习算法的流程指示,并进行具体算法执行。流程交互模块是与外部交互的代理服务器,计算模块通过流程交互模块与中心协调方关联具体算法的执行流程。
本申请实施例中,联邦学习系统包括:中心协调方和多个参与方,每一参与方部署于一个医院管理系统中,从而实现多个医院管理系统之间的联邦学习任务。参与方包括任务分发模块、流程交互模块和计算模块,将用于外部调用的任务分发模块和流程交互模块设置在医院管理系统的隔离区,计算模块设置在医院管理系统的内网区,即只有计算模块能够访问医院管理系统的本地隐私数据,从而保护了医院管理系统的数据隐私,降低了医院内部核心数据泄露的风险。
医院管理系统的内网区即为DMZ区,DMZ区是为了解决数据跨网交换的传输问题而设立在非安全系统和安全系统之间的缓冲区。DMZ区的作用是把单位的FTP服务器、E-Mail服务器等允许外部访问的服务器单独部署在此区域,使整个需要保护的内部网络接在信任区后,不允许任何外部网络的直接访问,实现内外网分离,满足用户的安全需求。DMZ区可以理解为一个不同于外网或内网的特殊网络区域,DMZ 内通常放置一些不含机密信息的公用服务器,比如WEB 服务器、E-Mail 服务器、FTP 服务器等。这样来自外网的访问者只可以访问DMZ中的服务,但不可能接触到存放在内网中的信息等,即使DMZ中服务器受到破坏,也不会对内网中的信息造成影响。具体在医院管理系统中,针对不同资源提供不同安全级别的保护,其网络被划分为三个区域:安全级别最高的内网区,安全级别中等的DMZ区域和安全级别最低的外网区域。
请参照图2,图2为本申请具体实施例提供的联邦学习系统功能模块图,本实施例的中心协调方包括:任务接收模块、任务队列模块和多个任务执行模块。
其中,任务接收模块,用于接收外部提交的联邦学习任务,并将联邦学习任务发送至任务队列模块;任务队列模块,用于对联邦学习任务进行临时存储;任务执行模块,用于获取任务队列模块中一个联邦学习任务,并联合多个参与方执行联邦学习任务。
本申请实施例中,中心协调方通过任务接收模块、任务队列模块和任务执行模块,可以实现对联邦学习任务的高效管理。任务接收模块负责接收外部提交的联邦学习任务,任务队列模块负责进行临时的任务存储,任务执行模块负责获取任务并联合多个参与方执行联邦学习任务,这样的结构可以使任务管理更加清晰、高效。由于任务队列模块的存在,中心协调方可以接收并存储外部提交的联邦学习任务,而无需等待任务执行模块立即处理,这种异步处理能力可以提高系统的响应速度和并发处理能力。
在一些可选的实施方式中,任务接收模块的功能实现包括但不限于:管理参与方,包括节点注册、节点删除和节点展示;根据联邦学习任务,确定任务类型以及执行任务的所需配置;其中,执行任务的所需配置,即为配置哪些参与方来执行任务;在联邦学习任务结束时,记录任务耗时数据,获取任务执行结果并返回任务执行结果。
本申请实施例中,任务接收模块能够管理参与方,包括节点的注册、删除和展示。这使得系统可以方便地添加、删除或查看参与方,从而更好地管理和维护联邦学习系统的节点。任务接收模块能够根据联邦学习任务确定任务类型以及执行任务的所需配置,这使得系统可以根据不同的任务类型和需求,灵活地配置参与方来执行任务,以满足各种不同的联邦学习任务需求。任务接收模块能够在联邦学习任务结束时记录任务耗时数据,获取任务执行结果并返回任务执行结果,这使得系统可以记录任务执行的过程和结果,提供反馈信息给外部系统或用户,帮助他们了解任务的执行情况和结果。
在一些可选的实施方式中,还包括协调参与方;任务执行模块的功能实现包括但不限于:向参与方申请计算节点资源;准备联邦学习算法参数,联邦学习算法参数由外部网络通过任务接收模块传入任务执行模块;其中,联邦学习算法参数包括算法的名称以及执行算法所需的参数;准备协调参与方的流程交互模块,协调参与方的流程交互模块用于协调执行过程中多个参与方的计算节点的执行流程;准备每个参与方的流程交互模块,参与方的流程交互模块用于控制对应的计算节点的调用;向协调参与方分享多个参与方的计算节点信息;向参与方分享协调参与方的计算节点信息;根据外部网络通过任务接收模块传入任务执行模块的配置参数,确定执行算法训练或推导任务;记录每个参与方执行任务的耗时,并发送给任务接收模块。
本申请实施例中,协调参与方独立于其他的参与方,协调参与方可以与中心协调方部署在同一服务器设备中,协调参与方本身不具有参与隐私计算的隐私数据,协调参与方用于协调和管理其他参与方的计算资源的分配,以确保联邦学习任务的顺利进行。
在一些可选的实施方式中,计算模块还包括:计算控制模块;计算控制模块,用于进行计算节点的获取和回收。
本申请实施例中,部署在医院管理系统的内网区的计算模块包括计算控制模块和多个计算节点,计算控制模块在启动时,按需生成多个计算节点服务,再由计算节点与实际的本地隐私数据进行交互。计算控制模块只与任务分发模块进行通信,例如通过grpc服务用来控制请求的接口和参数,只用来协调和控制生成的计算节点资源。
在一些可选的实施方式中,计算节点的功能实现包括但不限于:启动计算节点的线程,在每隔一段时间,检查计算节点和计算控制模块是否正常连接;允许计算控制模块检查计算节点的状态;状态包括空闲状态或忙碌状态;根据传入的函数名来执行对应算法,并记录计算节点执行对应算法的耗时;根据传入计算节点的上下文参数配置,初始化算法执行所需的上下文参数,并根据上下文参数运行任务;其中,上下文参数记录了执行算法的运行数据和流程;在运行任务时,按流式类型返回计算节点执行结果;关闭任务时,清除当前任务遗留下来的上下文信息。
本申请实施例中,计算节点中的一个线程,在每隔一段时间检查计算节点和计算控制模块是否正常连接,这可以确保计算节点与控制模块之间的稳定通信,及时发现连接问题并进行处理。计算节点允许计算控制模块检查计算节点的空闲状态或忙碌状态,这使得计算控制模块可以实时了解计算节点的状态,并根据需要进行任务调度和资源分配。计算节点还根据传入的函数名来执行对应算法,并记录计算节点执行对应算法的耗时。在运行任务时,计算节点按流式类型返回计算节点执行结果,这使得任务执行结果可以实时返回,提高了系统的响应速度和用户体验。在关闭任务时,计算节点清除当前任务遗留下来的上下文信息,这有助于释放资源,避免潜在的内存泄漏问题,同时保证了不同任务之间的隔离性。
在一些可选的实施方式中,计算控制模块的功能实现包括但不限于:启动调度程序,检查每个计算模块的状态,确定空闲状态的计算节点资源;向调度程序申请空闲状态的计算节点资源;在返回信息中加入申请成功的计算节点信息。
本申请实施例中,计算控制模块可以动态地获取可用的计算节点资源,并根据需要进行任务调度和分配,有助于实现任务的快速调度和执行,这可以提高系统的整体效率,减少等待时间和任务延迟。
在一些可选的实施方式中,任务分发模块的功能实现包括但不限于:管理缓存中的计算控制模块,包括:测试缓存中的计算控制模块是否正常;去除缓存中的计算控制模块;与计算控制模块进行连接,并将计算控制模块加入缓存;向缓存中的计算控制模块,申请获取空闲的计算节点资源;分配计算节点,并返回分配的计算节点信息对应的端口信息,端口信息用于流程交互模块进行信息转发;对分配的计算节点进行算法任务初始化,并记录算法任务信息。
本申请实施例中,任务分发模块用于与计算控制模块进行连接,并将新连接的计算控制模块加入缓存,以及主动删除缓存中的计算控制模块。对应缓存中的计算控制模块,可以申请获取对应的计算节点资源,在获取计算节点之后,即计算控制模块分配好计算节点,计算控制模块返回端口信息至任务分发模块,任务分发模块再返回端口信息至任务执行模块,任务执行模块再将端口信息发送至流程交互模块,使流程交互模块进行信息转发。对分配的计算节点进行算法任务初始化,并记录算法任务信息,这有助于确保计算节点正确执行任务,同时提供了对算法任务的可追溯性和管理性。
在一些可选的实施方式中,流程交互模块的功能实现包括但不限于:管理流程交互模块,包括:获取流程交互模块的基础信息;检查流程交互模块是否正常;创建与计算节点的服务端连接的客户端;获取计算节点对应的客户端,并在缓存中添加;代理执行对应计算节点的方法,调用计算节点对应的客户端来执行对应的方法,并以流式数据返回计算节点执行结果。
本申请实施例中,流程交互模块可以进行自检,还创建与计算节点服务连接的客户端,并在缓存中添加该客户端,从而,通过代理执行对应计算节点的方法,调用计算节点对应的客户端来执行对应的方法,并以流式数据返回计算节点执行结果。
在一些可选的实施方式中,任务接收模块、任务分发模块、计算模块均采用基于grpc service实现的grpc服务器。
本申请实施例中,基于gRPC的通信机制,任务接收模块、任务分发模块、流程交互模块和计算模块之间的通信效率较高。gRPC是高性能的、面向服务的、通用的RPC框架,适用于移动应用、后台应用等多种场景。gRPC支持多种语言,包括但不限于Java、Go、Python、Ruby、C++等,可以使用不同的编程语言来实现不同的模块,从而实现最佳的编程实践和利用各种编程语言的优势。gRPC支持客户端负载均衡,例如有多个计算模块实例,gRPC服务器会自动将任务分配给各个实例,从而实现负载均衡。gRPC支持异步通信,任务可以异步执行,从而提高系统的吞吐量。gRPC支持服务注册与发现,这使得动态服务发现和配置管理变得更加容易,并可以在运行时动态地添加或移除服务实例。gRPC支持流控制和安全特性,如HTTP/2流量控制和TLS/SSL加密通信,这有助于控制数据流量和保护数据的安全。gRPC还提供了丰富的错误处理和调试信息,这使得问题排查和系统维护变得更加容易。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种用于医院内网环境的联邦学习系统,其特征在于,包括:中心协调方和多个参与方;
所述参与方包括任务分发模块、流程交互模块和计算模块;所述计算模块包括多个计算节点;
所述中心协调方用于接收外部提交的联邦学习任务,并联合多个所述参与方执行所述联邦学习任务;
所述任务分发模块,用于接收所述中心协调方发送的第一信息,并根据所述第一信息,申请对应的计算节点,以及控制任务执行;其中,所述第一信息用于申请计算节点,以及进行计算节点的任务执行;
所述流程交互模块,用于接收中心协调方发送的第二信息,并根据所述第二信息,控制计算节点实现对应的任务执行步骤;其中,所述第二信息用于控制计算节点在对应步骤进行任务执行;
所述计算节点,用于根据医院管理系统的内网区的本地隐私数据,在对应的任务执行步骤,进行任务执行;
其中,所述任务分发模块和流程交互模块部署在医院管理系统的隔离区,所述计算模块部署在医院管理系统的内网区。
2.如权利要求1所述的联邦学习系统,其特征在于,所述中心协调方包括:任务接收模块、任务队列模块和多个任务执行模块;
所述任务接收模块,用于接收外部提交的联邦学习任务,并将所述联邦学习任务发送至任务队列模块;
所述任务队列模块,用于对所述联邦学习任务进行存储;
所述任务执行模块,用于获取所述任务队列模块中一个所述联邦学习任务,并联合多个所述参与方执行所述联邦学习任务。
3.如权利要求2所述的联邦学习系统,其特征在于,任务接收模块,还用于:
管理所述参与方,包括节点注册、节点删除和节点展示;
根据所述联邦学习任务,确定任务类型以及执行任务的所需配置;
在所述联邦学习任务结束时,记录任务耗时数据,获取任务执行结果并返回任务执行结果。
4.如权利要求3所述的联邦学习系统,其特征在于,还包括协调参与方;
所述任务执行模块,还用于:
向所述参与方申请计算节点资源;
准备联邦学习算法参数,所述联邦学习算法参数由外部网络通过所述任务接收模块传入所述任务执行模块;
准备所述协调参与方的流程交互模块,所述协调参与方的流程交互模块用于协调执行过程中多个所述参与方的计算节点的执行流程;
准备每个所述参与方的流程交互模块,所述参与方的流程交互模块用于控制对应的计算节点的调用;
向所述协调参与方分享多个所述参与方的计算节点信息;
向所述参与方分享所述协调参与方的计算节点信息;
根据外部网络通过所述任务接收模块传入所述任务执行模块的配置参数,确定执行算法训练或推导任务;
记录每个所述参与方执行任务的耗时,并发送给所述任务接收模块。
5.如权利要求2所述的联邦学习系统,其特征在于,所述计算模块还包括:计算控制模块;
所述计算控制模块,用于进行所述计算节点的获取和回收。
6.如权利要求5所述的联邦学习系统,其特征在于,所述计算节点,还用于:
启动所述计算节点的线程,在每隔一段时间,检查所述计算节点和计算控制模块是否正常连接;
允许所述计算控制模块检查所述计算节点的状态;所述状态包括空闲状态或忙碌状态;
根据传入的函数名来执行对应算法,并记录所述计算节点执行对应算法的耗时;
根据传入所述计算节点的上下文参数配置,初始化算法执行所需的上下文参数,并根据所述上下文参数运行任务;
在运行任务时,按流式类型返回计算节点执行结果;
关闭任务时,清除当前任务遗留下来的上下文信息。
7.如权利要求6所述的联邦学习系统,其特征在于,计算控制模块,还用于:
启动调度程序,检查每个计算模块的状态,确定空闲状态的计算节点资源;
向所述调度程序申请空闲状态的计算节点资源;
在返回信息中加入申请成功的计算节点信息。
8.如权利要求7所述的联邦学习系统,其特征在于,所述任务分发模块,还用于:
管理缓存中的所述计算控制模块,包括:测试缓存中的所述计算控制模块是否正常;去除缓存中的所述计算控制模块;与所述计算控制模块进行连接,并将所述计算控制模块加入缓存;
向缓存中的所述计算控制模块,申请获取空闲的计算节点资源;
分配计算节点,并返回分配的计算节点信息对应的端口信息,所述端口信息用于所述流程交互模块进行信息转发;
对分配的计算节点进行算法任务初始化,并记录算法任务信息。
9.如权利要求8所述的联邦学习系统,其特征在于,所述流程交互模块,还用于:
管理所述流程交互模块,包括:获取所述流程交互模块的基础信息;检查所述流程交互模块是否正常;
创建与所述计算节点的服务端连接的客户端;
获取所述计算节点对应的客户端,并在缓存中添加;
代理执行对应所述计算节点的方法,调用所述计算节点对应的客户端来执行对应的方法,并以流式数据返回所述计算节点执行结果。
10. 如权利要求2-9任一所述的联邦学习系统,其特征在于,所述任务接收模块、任务分发模块、计算模块均采用基于grpc service实现的grpc服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410494152.5A CN118101343A (zh) | 2024-04-24 | 2024-04-24 | 一种用于医院内网环境的联邦学习系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410494152.5A CN118101343A (zh) | 2024-04-24 | 2024-04-24 | 一种用于医院内网环境的联邦学习系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118101343A true CN118101343A (zh) | 2024-05-28 |
Family
ID=91150214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410494152.5A Pending CN118101343A (zh) | 2024-04-24 | 2024-04-24 | 一种用于医院内网环境的联邦学习系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118101343A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111507481A (zh) * | 2020-04-17 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种联邦学习系统 |
WO2020233257A1 (zh) * | 2019-07-12 | 2020-11-26 | 之江实验室 | 一种无患者数据共享的多中心生物医学数据协同处理系统及方法 |
CN113961318A (zh) * | 2020-07-20 | 2022-01-21 | 百度在线网络技术(北京)有限公司 | 分布式调度方法、装置、设备以及存储介质 |
CN115277696A (zh) * | 2022-07-13 | 2022-11-01 | 京信数据科技有限公司 | 一种跨网络联邦学习系统及方法 |
CN116204307A (zh) * | 2023-02-07 | 2023-06-02 | 杭州医康慧联科技股份有限公司 | 兼容不同计算框架的联邦学习方法和联邦学习系统 |
CN117608814A (zh) * | 2023-10-09 | 2024-02-27 | 浙江大学 | 用于大规模联邦学习任务的多任务联邦学习方法与系统 |
CN117688576A (zh) * | 2023-12-14 | 2024-03-12 | 深圳市百量智算科技有限公司 | 一种基于可信执行环境的联邦学习计算方法及相关设备 |
-
2024
- 2024-04-24 CN CN202410494152.5A patent/CN118101343A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020233257A1 (zh) * | 2019-07-12 | 2020-11-26 | 之江实验室 | 一种无患者数据共享的多中心生物医学数据协同处理系统及方法 |
CN111507481A (zh) * | 2020-04-17 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种联邦学习系统 |
CN113961318A (zh) * | 2020-07-20 | 2022-01-21 | 百度在线网络技术(北京)有限公司 | 分布式调度方法、装置、设备以及存储介质 |
CN115277696A (zh) * | 2022-07-13 | 2022-11-01 | 京信数据科技有限公司 | 一种跨网络联邦学习系统及方法 |
CN116204307A (zh) * | 2023-02-07 | 2023-06-02 | 杭州医康慧联科技股份有限公司 | 兼容不同计算框架的联邦学习方法和联邦学习系统 |
CN117608814A (zh) * | 2023-10-09 | 2024-02-27 | 浙江大学 | 用于大规模联邦学习任务的多任务联邦学习方法与系统 |
CN117688576A (zh) * | 2023-12-14 | 2024-03-12 | 深圳市百量智算科技有限公司 | 一种基于可信执行环境的联邦学习计算方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889575B (zh) | 一种边缘环境下的协同计算平台系统及方法 | |
Lu et al. | Join-idle-queue: A novel load balancing algorithm for dynamically scalable web services | |
CN103365713A (zh) | 一种资源的调度和管理方法及装置 | |
CN113326155B (zh) | 一种信息处理方法、装置、系统和存储介质 | |
Tran et al. | Eqs: An elastic and scalable message queue for the cloud | |
MXPA04002729A (es) | Transmision y recepcion de mensajes a traves de un canal de comunicacion y modelo de programacion adaptable. | |
US20110131288A1 (en) | Load-Balancing In Replication Engine of Directory Server | |
JP2017062827A (ja) | マルチメディア・マルチパーティ・ピアリング(m2p2)のためのシステムおよび方法 | |
CN112104679B (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
CN113515361B (zh) | 一种面向服务的轻量级异构计算集群系统 | |
Zato et al. | Platform for building large-scale agent-based systems | |
CN111752728B (zh) | 消息传输方法及装置 | |
Hanko et al. | Workstation support for time-critical applications | |
CN118101343A (zh) | 一种用于医院内网环境的联邦学习系统 | |
US9398109B2 (en) | System, messaging broker and method for managing communication between open services gateway initiative (OSGI) environments | |
CN113343285B (zh) | 一种执行密文计算指令的方法、装置和密文计算系统 | |
Aitenbichler et al. | Distributed execution of S-BPM business processes | |
CN114745377A (zh) | 边缘云集群服务系统及实现方法 | |
CN114237914A (zh) | 一种基于混合云管理调度系统 | |
CN113672374A (zh) | 用于联邦学习和隐私计算的任务调度方法及系统 | |
CN115250276A (zh) | 分布式系统及数据处理的方法和装置 | |
Wu et al. | Dynamic kernel/device mapping strategies for gpu-assisted hpc systems | |
US20030065701A1 (en) | Multi-process web server architecture and method, apparatus and system capable of simultaneously handling both an unlimited number of connections and more than one request at a time | |
KR100186959B1 (ko) | 상호 참여형 멀티미디어 응용 개발 환경에서의 세션 관리 시스템 및 그 방법 | |
Melendez et al. | Communication Patterns of Cloud Computing |
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 |