CN113296803A - 数据处理方法、装置、智能网卡和服务器 - Google Patents

数据处理方法、装置、智能网卡和服务器 Download PDF

Info

Publication number
CN113296803A
CN113296803A CN202010749887.XA CN202010749887A CN113296803A CN 113296803 A CN113296803 A CN 113296803A CN 202010749887 A CN202010749887 A CN 202010749887A CN 113296803 A CN113296803 A CN 113296803A
Authority
CN
China
Prior art keywords
target
dynamic area
dynamic
area
data
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
Application number
CN202010749887.XA
Other languages
English (en)
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010749887.XA priority Critical patent/CN113296803A/zh
Priority to PCT/CN2021/108353 priority patent/WO2022022442A1/zh
Publication of CN113296803A publication Critical patent/CN113296803A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本说明书提供了数据处理方法、装置、智能网卡和服务器。在一个实施例中,基于该方法,在升级辅助处理器之前,可以预先在与辅助处理器相连的负载设备的内存中设置与辅助处理器中的动态区对应的进程;具体升级辅助处理器时,可以先将辅助处理器中待升级的动态区确定为目标动态区,并确定出输入到该目标动态区的目标数据,再将目标数据的传输路径由原本指向目标动态区修改为指向与目标动态区对应的目标进程,以便在升级过程中能通过调用目标进程来继续处理该目标数据;在按照上述方式修改目标数据的传输路径后,再升级目标动态区,从而使得辅助处理器的升级过程不会影响到辅助处理器上目标数据的数据处理,保证了辅助处理器上数据处理的稳定性。

Description

数据处理方法、装置、智能网卡和服务器
技术领域
本说明书属于互联网技术领域,尤其涉及数据处理方法、装置、智能网卡和服务器。
背景技术
在一些应用场景中,为了降低负载设备(例如服务器等)一侧的数据处理量,常常会在负载设备上连接辅助处理器(例如网卡等)。进而可以通过该辅助处理器接收流入负载设备的数据,并对上述数据先进行相应的处理后,再传输给负载设备,以分担负载设备的数据处理量。
但是,上述辅助处理器中的硬件区域常常需要进行升级,而升级的过程势必往往会影响到辅助处理器上的数据处理,甚至导致辅助处理器上的数据处理出现中断。
因此,亟需一种能够使得辅助处理器的升级过程不会影响到辅助处理器上的数据处理的方法。
发明内容
本说明书提供了一种数据处理方法、装置、智能网卡和服务器,以使得辅助处理器的升级过程不会影响到辅助处理器上的数据处理,保证了辅助处理器上数据处理的稳定性。
本说明书提供的一种数据处理方法、装置、智能辅助处理器和负载设备是这样实现的:
一种数据处理方法,包括:确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域;将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连;升级所述目标动态区。
一种数据处理方法,包括:通过目标进程接收辅助处理器传输的目标数据;其中,所述辅助处理器在确定辅助处理器上待升级的动态区为目标动态区的情况下,将所述目标数据的传输路径由指向目标动态区修改为指向目标进程,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程;调用所述目标进程处理所述目标数据。
一种数据处理装置,包括:确定模块,用于确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域;修改模块,用于将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连;升级模块,用于升级所述目标动态区。
一种数据处理装置,包括:接收模块,用于通过目标进程接收辅助处理器传输的目标数据;其中,所述辅助处理器在确定辅助处理器上待升级的动态区为目标动态区的情况下,将所述目标数据的传输路径由指向目标动态区修改为指向目标进程,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程;处理模块,用于调用所述目标进程处理所述目标数据。
一种服务器,包括第一处理器和第二处理器,其中,所述第一处理器和所述第二处理器电性连接;所述第二处理器布设有动态区,所述第一处理器的内存中布设有与所述动态区对应的进程;所述第二处理器将第二处理器中待升级的动态区确定为目标动态区,并确定出目标动态区的输入数据作为目标数据;所述第二处理器将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括第一处理器的内存中与所述目标动态区对应的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据。
一种智能网卡,所述智能网卡与服务器的处理器电性连接,其中,所述智能网卡布设有动态区,所述服务器的处理器内存中预设有与所述动态区对应的进程;所述智能网卡用于将网卡中待升级的动态区确定为目标动态区,并确定出目标动态区的输入数据作为目标数据;所述智能网卡用于将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括服务器的处理器内存中与所述目标动态区对应的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据。
一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域;将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连;升级所述目标动态区。
本说明书提供的数据处理方法、装置、智能网卡和服务器,在升级辅助处理器之前,可以预先在与辅助处理器相连的负载设备的内存中配置好与辅助处理器中的动态区对应的进程;具体升级辅助处理器时,可以先将定辅助处理器中待升级的动态区确定目标动态区,并确定出输入到该目标动态区的数据作为目标数据,再将上述目标数据的传输路径由原本指向目标动态区修改为指向与目标动态区对应的目标进程,以便在升级过程中可以通过调用上述目标进程来继续处理该目标数据;在按照上述方式修改了目标数据的传输路径后,再升级目标动态区,从而可以使得辅助处理器的升级过程不会影响到辅助处理器上目标数据的数据处理,保证了辅助处理器上数据处理的稳定性和持续性。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是应用本说明书实施例提供的数据处理方法的系统结构组成的一个实施例的示意图;
图2是本说明书的一个实施例提供的数据处理方法的流程示意图;
图3是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图4是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图5是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图6是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图7是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图8是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图9是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图10是本说明书的一个实施例提供的服务器的结构组成示意图;
图11是本说明书的一个实施例提供的数据处理装置的结构组成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
本说明书实施例提供一种数据处理方法,所述方法具体可以应用于包含有负载设备和网卡的系统架构中。可以参阅图1所示。其中,上述网卡(一种辅助处理器)可以通过有线或无线等方式与负载设备(例如服务器等)相连,并与负载设备中的处理器电性连接。网卡可以与外部网络相连,用于接收从外部网络流入负载设备的部分或者全部数据。
在本实施例中,上述负载设备具体可以包括一种与网卡相连,能够实现数据传输、数据处理等功能的电子设备。具体的,上述负载设备例如可以为服务器、电脑、智能手机等等。
在本实施例中,上述网卡具体可以包括一种集成了某些数据处理功能的网络IO(输入输出)设备。其中,上述网卡至少可以集成携带有硬件区域,例如,FPGA(FieldProgrammable Gate Array,现场可编程门阵列)等。
具体实施前,在将网卡与负载设备相连时,在网卡一侧,可以先将所携带的硬件区域划分为动态区和静态区两种类型的硬件区域。并且,网卡还可以根据所连接的负载设备,确定出要布设于该网卡上的多个数据处理模块(或者处理逻辑、处理程序等)和数据接口。并确定出上述多个数据处理模块的更新频率。再根据更新频率,将更新频率较高的(例如更新频率大于预设的频率阈值)数据处理模块分配布设到动态区,将更新频率较低的(例如更新频率小于或等于预设的频率阈值)数据处理模块分配布设到静态区。同时,还可以将一些较为固定的接口(或者API)布设到静态区。
在负载设备一侧,在与网卡相连后,可以先在内存(例如,CPU等)中划拨出一部分的内存资源,并根据网卡上动态区中的数据处理模块,利用上述内存资源,配置好对应的进程(例如,Bypass进程等)。其中,上述进程通常情况下处于非运行的状态,负载设备不会使用该进程进行相关的数据处理。
具体实施时,在网卡接收到升级指令后,在升级前,网卡可以根据升级指令先确定出待升级的硬件区域是动态区还是静态区。在确定是动态区时,可以将该待升级的动态区确定为目标动态区。进一步,可以确定出网卡上传输至该目标动态区的输入数据作为目标数据。
网卡可以将该目标数据的传输路径由原本指向目标动态区修改为指向目标进程。这样网卡上的目标数据将不再被传输至该目标动态区,而是会根据修改后的传输路径,由静态区传输至目标进程。其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程。上述目标进程可以在升级网卡目标动态区的过程代替目标动态区,处理所述目标数据。
在完成上述路径修改后,网卡再根据上述升级指令,升级目标动态区。
相应的,在升级网卡的目标动态区的过程中,负载设备可以通过上述目标进程接收目标数据,目标进程将从非运行状态变为运行状态。负载设备可以通过调用上述目标进程代替目标动态区临时处理上述目标数据。
这样在升级网卡的目标动态区的过程中,可以临时利用负载设备的内存资源来代替网卡上的硬件资源,继续进行关于目标数据的数据处理,从而使得升级过程不会影响到网卡上目标数据的处理,提高了网卡上数据处理的稳定性。
在确定升级结束后,网卡可以将上述目标数据的传输路径由指向目标进程修改为指向目标动态区。这样在升级结束后,网卡可以及时地切换使用更新后的目标动态区为来重新处理目标数据。负载设备一侧的目标进程重新进入非运行状态,不会对负载设备一侧的数据处理造成影响。
参阅图2所示,本说明书实施例提供了一种数据处理方法。其中,该方法具体可以应用于连接有负载设备的辅助处理器一侧。具体实施时,该方法可以包括以下内容。
S201:确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域。
在一些实施例中,上述辅助处理器具体可以理解为一种辅助负载设备执行部分数据处理任务,以减轻负载设备一侧的数据处理负担的电子设备。
具体的,上述辅助处理器具体可以包括网卡等。当然,上述所列举的网卡只是一种示意性说明。具体实施时,根据具体情况和处理需求,还可以使用其他合适的设备作为上述辅助处理器。
下面以使用网卡作为辅助处理器为例进行具体说明。使用其他类型的辅助处理器可以参照网卡的实施例。对此,本说明书不作赘述。
在一些实施例中,上述网卡具体可以通过有线或无线的方式与负载设备相连。其中,上述网卡具体可以是一种集成某些数据处理功能的网络IO设备,能够完成例如关于负载设备的软件应用的硬件加速卸载等数据处理功能。上述负载设备具体可以是一种能够实现数据传输、数据处理等功能的电子设备。具体的,上述负载设备可以为服务器、电脑、智能手机等等。上述负载设备上具体可以安装有用于接收外部数据,或者对所接收的外部数据进行相关处理的应用程序(例如APP)和/或虚拟机(例如VM)等。
具体实施时,为了降低负载设备一侧的数据处理量,可以通过与负载设备相连的网卡接收来自外部的流向负载设备的全部或者部分数据;并利用上述网卡对所接收的上述数据先进行相应处理后,再传输给负载设备。从而可以达到分担负载设备的数据处理开销(例如,包括负载设备的网络开销、存储开销等)的效果。
在一些实施例中,上述网卡具体可以是一种自身携带有处理器(例如片上CPU模块、片上内存等)的智能网卡。相应的,该方法可以是网卡自身独立执行完成的。
当然,上述网卡也可以是一种自身没有携带处理器的非智能网卡。相应的,该方法可以是与网卡相连的负载设备的处理器控制网卡执行完成的。
在一些实施例中,上述网卡至少还可以携带有硬件区域。具体的,上述硬件区域可以包括FPGA(Field Programmable Gate Array,现场可编程门阵列)。其中,上述FPGA具体可以理解为一种半导体集成电路,可以支持对网卡的电气功能等进行更改、设置。
具体实施时,用户可以通过在上述诸如FPGA等硬件区域上写入相应的逻辑代码,来在网卡上设置相应的接口(例如API接口),和/或,布设相应的数据处理模块(例如用于执行具体数据处理的处理逻辑、处理程序等),使得网卡能够实现相应的数据处理功能。通常用户还可以通过修改网卡的硬件区域上的逻辑代码,对网卡的硬件区域作进行升级,以更对布设在网卡的硬件区域中的数据处理模块、接口进行相应更新。
在一些实施例中,上述动态区具体可以包括辅助处理器上中布设有更新较为频繁的(例如更新频率大于预设的频率阈值)的数据处理模块的硬件区域。相对的,辅助处理器的硬件区域中还可以包含有静态区。上述静态区具体可以包括辅助处理器上布设有更新相对较不频繁的(例如更新频率小于或等于预设的频率阈值)的数据处理模块的硬件区域。其中,上述静态区中还可以布设有相对较为固定的接口。通常针对动态区的升级频率会高于针对静态区的升级频率。
在一些实施例中,在具体实施时之前,在辅助处理器与负载设备相连后,辅助处理器可以先根据负载设备的数据处理情况,确定出需要在辅助处理器的硬件区域上布设的多个数据处理模块。进一步,可以先分别确定出上述布设于辅助处理器中的多个数据处理模块的更新频率;再根据数据处理模块的更新频率,将更新频率大于预设的频率阈值的数据处理模块分配到动态区;将更新频率小于或等于预设的频率阈值的数据处理模块分配到静态区。
在一些实施例中,具体实施时,可以通过查询多个数据处理模块的历史更新记录,来确定出各个数据处理模块的更新频率。例如,可以通过查询负载设备的某个APP的网络更新日志,来估算与该APP相关的数据处理模块的更新频率。
在划分建立动态区和静态区时,可以将上述更新较为频繁(例如,更新频率大于预设的频率阈值)的数据处理模块筛选出来,集中布设到辅助处理器的硬件区域中的一块子区域内,将该子区域作为一个动态区。具体可以参阅图3所示。
其中,上述预设的频率阈值的具体数值可以根据辅助处理器上多个数据处理模块整体的更新频率(例如,更新频率的平均值)和用户具体的处理要求,灵活设置。对此,本说明书不作限定。
在一些实施例中,具体实施时,可以将上述多个数据处理模块中更新相对不太频繁(例如,更新频率小于或等于预设的频率阈值)的数据处理模块筛选出来,集中布设到辅助处理器的硬件区域中的另一个子区域内,并将该子区域作为静态区。当然,也可以将上述更新相对不太频繁的数据处理模块布设到辅助处理器的硬件区域中除动态区以外的其他硬件区域中,即还可以将辅助处理器的硬件区域中非动态区的其他区域作为静态区。
在一些实施例中,具体实施时,还可以将一些相对较为固定,或者变更概率较小的接口也布设在上述静态区中。
在一些实施例中,在数据处理模块没有更新,不需要对辅助处理器进行升级,辅助处理器正常工作运行的情况下,可以参阅图3所示。从外部(例如外部网络等)流入负载设备的数据会先通过布设在辅助处理器的静态区中的接口,流入辅助处理器的静态区。辅助处理器通过静态区进行分配,将上述数据传输至对应的动态区。上述数据由各个动态区中的数据处理模块进行相应处理后,再从各个动态区传输至安装于负载设备上的APP、VM等具体应用中。
在一些实施例中,具体实施之前,在辅助处理器与负载设备相连后,辅助处理器还可以生成并向负载设备发送进程配置请求。其中,上述进程配置请求具体可以理解为一种请求负载设备在内存中配置与辅助处理器中的动态区对应的备用进程的请求数据。
在一些实施例中,上述进程配置请求具体还可以携带有动态区的关联信息,例如,动态区中数据处理模块的模块参数、程序代码,和/或,动态区输出接口的接口参数、输入接口的接口参数,和/或,动态区中内置的逻辑代码等等。
相应的,负载设备可以接收并响应上述进程配置请求,在负载设备的内存(例如,CPU)中划拨出一部分的内存资源,并利用上述内存资源,配置与上述动态区对应的进程,作为一种基于软件资源的备用进程。
在一些实施例中,上述进程具体可以包括Bypass进程(又称旁路进程)。其中,上述Bypass进程具体可以理解为一种针对动态区中的数据处理流程的备份进程,可以理解为是一种基于区别于硬件的,基于软件资源的处理模块。
在正常情况(例如,动态区正常工作的情况)时,上述Bypass进程可以是处于非运行状态,不会对负载设备的内存资源造成负担。在出现异常情况(例如,动态区无法正常工作的情况)时,上述Bypass进程会被唤醒进入运行状态,进而可以通过Bypass进程临时代替动态区,执行原本动态区所负责的数据处理,从而可以避免由于动态区升级无法正常工作,导致该动态区原本所负责的数据处理出现中断,影响辅助处理器上的数据处理的现象。
当然,需要说明的是,上述所列举的Bypass进程只是一种示意性说明。具体实施时,根据具体情况,还可以采用其他类型的合适进程,来利用负载设备一侧的内存等资源,对上述动态区的数据处理流程进行备份。
在一些实施例中,在负载设备按照上述方式根据辅助处理器中的动态区,在内存中设置好与该动态区对应的进程后,还可以记录并保存该进程与动态区的对应关系。此外,负载设备还可以将上述对应关系发送给辅助处理器。以便后续在升级动态区时,辅助处理器和/或负载设备可以根据上述对应关系高效地找到与待升级的动态区对应的进程。
在一些实施例中,在确定辅助处理器中待升级的动态区作为目标动态区之前,所述方法具体实施时,还可以包括:接收升级指令;其中,所述升级指令用于确定辅助处理器上待升级的硬加区域。
在一些实施例中,上述升级指令具体可以理解为一种用于指示更新辅助处理器的硬件区域中的逻辑代码,对辅助处理器进行相应的升级的指令数据。
具体的,上述升级指令还可以携带有用于更新辅助处理器的硬件区域的逻辑代码。此外,上述升级指令还可以携带有与待升级的硬件区域相关的指示信息等。其中,上述指示信息具体可以包括待升级的硬件区域的类型。例如,待升级的硬件区域的类型是动态区还是静态区。上述指示信息还可以包括用于指示待升级的硬件区域的标识信息。例如,待升级的硬件区域的标识信息为辅助处理器中编号为DTQ-OO1(对应多个动态区中的某一个动态区)等等。
在一些实施例中,具体实施时,辅助处理器可以从来自外部网络的第三方接收上述升级指令,也可以是接收负载设备生成并发送的升级指令。
具体的,例如,在负载设备上安装有一个名称为XX聊天的社交应用类的APP。通常来自XX聊天的网络平台的服务器的推送信息会先被辅助处理器通过设置在静态区中的网络接口接收到后,再通过静态区中负责数据分配的数据处理模块,按照与该推送信息匹配的传输路径,将该推送信息传输到布设有负责处理该推送信息的数据处理模块的动态区中。
动态区中负责处理该推送信息的数据处理模块可以对上述推送信息进行重定向调度处理,确定出该推送信息所要调度的目标应用为安装在负载设备上的XX聊天APP,进而可以将上述推送信息通过预设的接口传输至负载设备的XX聊天APP中。这样,在用户一侧,用户可以通过安装在负载设备上的XX聊天APP接收并浏览到该推送信息。
当前为了配合XX聊天的网络平台侧的更新,为用户提供更好的使用体验。XX聊天的网络平台的服务器可以根据平台侧的更新内容,生成对应的升级指令,并将该指令发送给布设有XX聊天APP的负载设备的辅助处理器,以指示辅助处理器对相关的硬件区域进行升级。以使得升级后的辅助处理器上硬件区域中的动态区在接收到推送信息后,可以先对推送信息进行预处理,例如,在推送信息的开头设置关键词标签;在预处理之后,再对预处理后的推送信息进行重定向调度处理,将预处理后的推送信心准确地传输至负载设备的XX聊天APP中。
在一些实施例中,具体实施时,可以根据上述升级指令,确定待升级的硬件区域是否为动态区。在确定出待升级的硬件区域是动态区的情况下,可以进一步确定出该待升级的动态区作为目标动态区。
在一些实施例中,可以先根据上述升级指令确定出待升级的硬件区域是静态区还是动态区。
在一些实施例中,在确定待升级的硬件区域的为静态区时,可以采用冷升级的方式来升级辅助处理器中的硬件区域。具体的,例如,可以控制辅助处理器暂停所负责的数据处理(包括静态区的数据处理和动态区的数据处理);根据升级指令,升级辅助处理器的静态区;在完成升级后,对静态区进行复位处理,从而结束升级;再重启辅助处理器恢复正常的数据处理。
在一些实施例中,在确定待升级的硬件区域的为动态区时,可以采用的热升级方式,在不中断辅助处理器上的数据处理的前提下,稳定、高效地完成对辅助处理器的升级处理。
在一些实施例中,在确定待升级的硬件区域为动态区后,还可以根据升级指令,将辅助处理器上待升级的动态区进行一步确定为目标动态区。
具体的,例如,在动态区包括多个动态区(例如动态区1、动态区2和动态区3)的情况下,可以根据升级指令,从上述多个动态区中确定出待升级的具体的动态区为动态区2,进而可以将动态区2确定为目标动态区。
在一些实施例中,可以根据目标动态区确定出目标动态区的输入数据作为目标数据。具体的,可以获取并根据目标动态区的标识信息,检索从静态区中分配出去的数据的传输路径,找到指向与目标动态区的标识信息匹配的动态区的传输路径,并将该传输路径所对应的数据,确定为目标数据。
S202:将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连。
在一些实施例中,上述目标进程具体可以理解为一种预先配置好的,与目标动态区对应的进程。上述目标进程可以理解为是一种对目标动态区所包含的数据处理流程的备份。因此,可以通过目标进程替代目标动态区,完成目标动态区所负责的数据处理。
在一些实施例中,可以根据目标动态区的标识信息,通过查询动态区与进程的对应关系,来确定出与目标动态区对应的进程,作为目标进程。
在一些实施例中,为了避免后续升级过程,对辅助处理器上的数据处理造成影响,具体实施时,参阅图4所示,可以将目标数据的传输路径由原来的指向目标动态区修改为指向目标进程。这样,后续静态区在分配所接收到的数据时,可以根据修改后的传输路径将目标数据传输至目标进程,而不会再将该目标数据传输至目标动态区。
在一些实施例中,目标进程可以被设置为接收到辅助处理器传输的目标数据,可以触发进入运行状态,进而目标进程可以复原目标动态区的数据处理流程,代替目标动态区对所接收到目标数据进行相应处理,并将处理后的目标数据再传输至负载设备中对应的APP或者VM等目标应用中。
在一些实施例中,具体实施时,也可以是辅助处理器在完成目标数据的传输路径的修改后,向目标进程发送预设的唤醒信号。相应的,目标进程接收并响应该预设的唤醒信号,进入运行状态,处理从静态区传输来的目标数据。
具体的,例如,辅助处理器可以按照上述方式针对XX聊天的网络平台发送的推送信息的传输路径进行修改,将传输路径由原来指向动态区1,修改为指向进程1。并向1进程发送预设的唤醒信号,从而使得进程1从原本的非运行状态转换为运行状态,开始处理该推送信息。
S203:升级所述目标动态区。
在一些实施例中,在完成传输路径的修改后,静态区可以根据修改后的传输路径将目标数据传输至目标进程,而不会再将目标数据传输至目标动态区。目标进程可以代替目标动态区,对所接收到的目标数据进行相应处理。
在这种情况下,可以根据升级指令,升级目标动态区。在升级目标动态区的过程中,由于静态区是根据修改后的传输路径,将目标数据传输至目标进程进行处理。因此,可以避免升级过程中由于目标动态区无法正常工作导致原本目标动态区负责的数据处理出现中断,影响辅助处理器上的数据处理的现象。
在一些实施例中,上述根据升级指令,升级目标动态区,具体可以包括:根据升级指令,利用升级指令所携带的用于更新的逻辑代码,修改目标动态区的逻辑代码;并在目标动态区中对修改后的逻辑代码进行重新加载;再对该目标动态区进行复位,完成复位后,目标动态区的升级结束。升级结束的目标动态区可以恢复正常的工作状态。
在一些实施例中,在升级所述目标动态区之后,所述方法具体实施时,还可以包括:确定所述目标动态区是否升级结束;在确定所述目标动态区升级结束的情况下,将目标数据的传输路径由指向目标进程修改为指向目标动态区。
在一些实施例中,具体的,辅助处理器可以每隔预设的时间间隔,例如,每隔10秒,通过发送检测信号灯方式检测目标动态区是否升级结束。在确定目标动态区没有升级结束的情况下,静态区可以持续根据指向目标进程的传输路径来传输目标数据,由目标进程继续对目标数据进行相应处理。
在确定目标动态区升级结束的情况下,辅助处理器可以将传输路径由指向目标进程重新修改回指向目标动态区。进而静态区可以根据该传输路径,将目标数据传输至目标动态区,由目标动态区基于更新后的逻辑代码对目标数据进行具体处理。这时目标进程不再进行目标数据处理。目标进程可以重新进入非运行状态。
具体的,例如,静态区在接收到来自XX聊天的网络平台发送的推送信息后,会根据修改后的传输路径将推送信息传输至进程1,而不再传输至动态区1。进程1会临时代替动态区1对所接收到的推送信息进行重定向处理,并将推送信息发送至负载设备中的XX聊天APP。
同时,辅助处理器可以根据升级指令,对动态区1进行升级处理。在确定动态区1升级结束后,辅助处理器会将推送信息的传输路径由指向进程1重新修改回指向动态区1。
这时,动态区1可以通过基于更新后的逻辑代码的数据处理模块对上述推送信息进行处理。例如,动态区1可以通过相应的数据处理模块先在推送信息的开头位置设置与该推送信息关联的关键词标签;再对该推送信息进行重定向调度处理,将设置有关键词标签的推送信息传输至负载设备的XX聊天APP中。这样用户可以通过XX聊天APP接收到携带有关键词的推送信息。
基于上述方式,通过修改目标数据的传输路径,可以在要升级辅助处理器时,灵活地切换成预设的目标进程来代替目标动态区继续进行目标数据的处理,从而可以使得辅助处理器的升级过程不会影响到辅助处理器上的数据处理,保证了辅助处理器上数据处理的稳定性和持续性。
在一些实施例中,针对一些比较复杂的应用场景,辅助处理器的动态区具体可以包括多个不同的动态区。可以参阅图5和图6所示。
其中,上述不同动态区之间的关联关系可以包括互相独立的并联关系。例如,不同动态区中的数据处理模块所涉及到的数据处理流程互不影响,并列执行的。可以参阅图5所示。动态区1和动态区2是相互独立,是并联的。来自外部网络的数据1被辅助处理器(例如,可以记为SMART NIC)接收后,会通过静态区先分配并传输到动态区1。通过动态区1中的数据处理模块进行处理,得到处理后的数据1,作为动态区1的输出数据。上述处理后的数据1再被传输至与辅助处理器相连的负载设备(例如,可以记为Host)中的APP1(一种布设在负载设备上的应用程序)中,不需要再经过其他动态区进行进一步处理。数据2与数据1类似,通过动态区2中的数据处理模块处理后,得到的处理后的数据2会从动态区2传输至负载设备中的APP2中,而不需要再经过其他动态区进行进一步处理。
上述不同动态区之间的关联关系还可以包括存在相互关联性的串联关系。例如,某个动态区中数据处理模块所涉及到的数据处理的输入数据是上一个动态区处理后的输出数据,即不同动态区中的数据处理模块所涉及到的数据处理是存在关联性的。例如,多个动态区需要按照一定的顺序串联在一起,依次串行才能完成一个完整的数据处理流程。可以参阅图6所示。动态区3和动态区4是串联的。数据3通过动态区3的第一次处理后,从动态区3输出的第一次处理后的数据3会先传输至动态区4。动态区4会将上述第一次处理后的数据3作为输入数据,对该数据进行第二次处理,得到第二次处理后的数据3,再将第二次处理后的数据3作为输出数据,传输至负载设备中的APP3中。其中,上述动态区3具体可以理解为动态区4的上一级联动态区,相对的,动态区4可以理解为动态区3的下一级联动态区。
在一些实施例中,为了能够更加精准地调整数据的传输路径,在在根据所述升级指令,确定辅助处理器待升级的硬件区域为目标动态区之后,所述方法具体实施时,还可以包括以下内容:确定所述目标动态区与其他动态区的关联关系;相应的,根据所述目标动态区与其他动态区的关联关系,修改所述目标数据的传输路径。
在一些实施例中,上述其他动态区具体可以理解为辅助处理器的硬件区域中除目标动态区以外的动态区。
在一些实施例中,上述关联关系具体可以包括并联关系,和串联关系等。其中,上述串联关系进一步还可以包括与其他动态区之间的上一级联关系和/或下一级联关系等。当然,上述所列举的关联关系只是一种示意性说明。具体实施,根据具体情况和处理需求,还可以引入除上述所列举的关系以外更加复杂的关联关系。对此,本说明书不作限定。
在一些实施例中,在确定目标动态区与其他动态区的关联关系为并联关系时,上述根据所述目标动态区与其他动态区的关联关系,修改所述目标数据的传输路径,具体实施时,可以包括:将目标数据的传输路径由指向目标动态区修改为指向目标进程,并将目标进程的输出数据的传输路径设置为指向目标应用。其中,所述目标应用包括设置在负载设备中的原本与目标动态区相连的应用。
具体的,例如,可以参阅图7所示,目标动态区为动态区1,动态区1与动态区2为并联关系。相对于图5所示内容,在修改传输路径时,只需要将数据1的传输路径由指向动态区1修改为指向进程1,同时将进程1的输出数据的传输路径设置为指向APP1。
在一些实施例中,在确定目标动态区与其他动态区的关联关系为串联关系时,可以进一步确定该目标动态区是否存在下一级联动态区。
在一些实施例中,上述根据所述目标动态区与其他动态区的关联关系,修改所述目标数据的传输路径,具体实施时,可以包括以下内容:在根据所述目标动态区与其他动态区的关联关系,确定在所述其他动态区中不存在目标动态区的下一级联动态区的情况下,将目标数据的传输路径由指向目标动态区修改为指向目标进程,并将目标进程的输出数据的传输路径设置为指向目标应用。
在一些实施例中,上述根据所述目标动态区与其他动态区的关联关系,修改所述目标数据的传输路径,具体实施时,还可以包括以下内容:在根据所述目标动态区与其他动态区的关联关系,确定在所述其他动态区中存在目标动态区的下一级联动态区的情况下,将目标数据的传输路径由指向目标动态区修改为指向目标进程,并将目标进程的输出数据的传输路径设置为指向所述目标动态区的下一级联动态区。
具体的,例如,可以参阅图8所示的内容,目标动态区为动态区3,动态区3与动态区4为串联关系。相对于图6所示内容,在修改传输路径时,需要将数据3的传输路径由指向动态区3修改为指向进程3,同时将进程3的输出数据的传输路径设置为指向动态区4。
在一些实施例中,在目标动态区包括多个动态区的情况下,即同时要对多个动态区进行升级时,具体实施时,在根据当前的目标动态区与其他动态区(除当前的目标动态区以外的其他动态区)之间的关联关系,确定在所述其他动态区中存在当前的目标动态区的下一级联动态区的情况下,进一步可以判断当前的目标动态区的下一级联动态区是否也属于目标动态区。在确定当前的目标动态区的下一级联动态区也属于目标动态区的情况下,可以将当前的目标数据的传输路径由指向当前的目标动态区修改为指向与当前的目标动态区对应的目标进程,并将该目标进程的输出数据的传输路径设置为指向与当前的目标动态区的下一级联动态区对应的目标进程。在确定当前的目标动态区的下一级联动态区不属于目标动态区的情况下,可以将当前的目标数据的传输路径由指向当前的目标动态区修改为指向与当前的目标动态区对应的目标进程,并将该目标进程的输出数据的传输路径设置为指向当前的目标动态区的下一级联动态区。
在一些实施例中,针对一些配置较高的辅助处理器,例如,智能网卡等。这类辅助处理器本身就可以携带有一定的内存资源,例如CPU等软件资源。为了不增加负载设备一侧的数据处理负担,具体实施前,还可以将上述进程预先设置在辅助处理器的内存中。
在一些实施例中,具体实施时,在辅助处理器携带有内存资源的情况下,所述目标进程还可以包括与目标动态区对应的,且预设在辅助处理器的内存中的进程。
具体的,例如,可以参阅图9所示。在辅助处理器与负载设备相连,并分配建立好动态区后,辅助处理器还可以在本地的内存(例如,辅助处理器的CPU等)中划拨出一部分的内存资源,用以在辅助处理器本地配置出与动态区对应的进程(例如Bypass进程等),作为备用进程。
相应的,在确定待升级的动态区为目标动态区区时,可以从辅助处理器的内存区域中确定出预先配置好的与目标动态区对应的目标进程。进而可以把原本输入至目标动态区的目标数据的传输路径由指向目标动态区修改为指向目标进程。
在升级目标动态区时,可以根据修改后的传输路径,将目标数据传输至辅助处理器本地的目标进程进行处理,再将处理后的数据传输至负载设备的对应应用中。从而可以使得辅助处理器升级的过程,不会增加负载设备的数据处理负担,同时也能保证辅助处理器上的数据处理正常、稳定,减少了负载设备的数据处理量,避免对负载设备的数据处理产生影响。
由上可见,本说明书实施例提供的数据处理方法,由于在升级辅助处理器之前,可以预先在与辅助处理器相连的负载设备的内存中配置好与辅助处理器中的动态区对应的进程;具体升级辅助处理器时,可以先将定辅助处理器中待升级的动态区确定目标动态区,并确定出输入到该目标动态区的数据作为目标数据,再将上述目标数据的传输路径由原本指向目标动态区修改为指向与目标动态区对应的目标进程,以便在升级过程中可以通过调用上述目标进程来继续处理该目标数据;在按照上述方式修改了目标数据的传输路径后,再升级目标动态区,从而可以使得辅助处理器的升级过程不会影响到辅助处理器上目标数据的数据处理,保证了辅助处理器上数据处理的稳定性和持续性,避免出现硬件单点故障等问题。还通过在动态区包括多个动态区的情况下,先确定出目标动态区与其他动态区的关联关系;再根据目标动态区与其他动态区的关联关系,来有针对性地修改目标数据的传输路径,从而可以使得在辅助处理器升级的过程中,可以基于上述修改后的传输路径更加准确地执行相应的处理。还通过在确定辅助处理器携带有内存的情况下,将目标进程预先配置在辅助处理器本地的软件区域中,从而可以在升级的辅助处理器硬件区域的过程中,使用辅助处理器本地的目标进程来临时代替目标动态区进行数据处理,从而可以避免升级过程增加负载设备的数据处理负担,保证负载设备一侧的数据处理的稳定性。
本说明书实施例还提供了一种数据处理方法。其中,该方法应用于负载设备一侧。该方法具体实施时,可以包括以下内容。
S1:通过目标进程接收辅助处理器传输的目标数据;其中,所述辅助处理器在确定辅助处理器上待升级的动态区为目标动态区的情况下,将所述目标数据的传输路径由指向目标动态区修改为指向目标进程,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程。
S2:调用所述目标进程处理所述目标数据。
在一些实施例中,所述方法具体实施时,还可以包括以下内容:接收并响应辅助处理器的进程配置请求,根据所述辅助处理器中的动态区,在内存中设置与所述动态区对应的进程。
在一些实施例中,所述调用所述目标进程处理所述目标数据,具体实施时,可以包括以下至少之一:对目标数据进行重定向调度处理;或对目标数据进行封装处理;或对目标数据进行解封装处理;或对目标数据的内容信息进行修改处理等。当然,需要说明的是,上述所列举的数据处理只是一种示意性说明。具体实施时,根据具体情况和处理需要,还可以引入除上述所列举的类型以外其他相关的数据处理。对此,本说明书不作限定。
在一些实施例中,所述目标进程具体可以包括Bypass进程等。当然,需要说明的是上述所列举的Bypass进程只是一种示意性说明。具体实施时,根据具体情况,也可以构建除Bypass进程以外其他合适的进程作为与目标动态区对应的备份进程。
在一些实施例中,通常上述目标进程可以处于非运行状态。这样负载设备不需要耗费额外的资源来维持上述目标进程。
具体实施时,负载设备在通过目标进程接收到目标数据时,或者负载设备接收到来自辅助处理器的针对目标进程的预设的唤醒信号时,目标进程才会进入运行状态,进而目标进程才可以代替目标动态区对所接收到的目标数据进行处理。
当目标动态区升级结束,辅助处理器修改了目标数据的传输路径,目标数据不再传输至目标进程时,目标进程可以重新进入非运行状态。
具体的,例如,可以是目标进程在检测到超过预设的时长阈值没有再接收到目标数据的情况下,自动进入非运行状态。也可以是,辅助处理器在确定目标动态区升级结束,将目标数据的传输路径重新修改回指向目标动态区后,向负载设备生成并发送预设的恢复信号。负载设备接收并响应该预设的恢复信号,将目标进程恢复为原来的非运行状态。
基于上述方式,通过修改目标数据的传输路径,可以在要升级辅助处理器时,灵活地切换成预设在负载设备上的目标进程来代替目标动态区进行目标数据的处理,从而可以使得辅助处理器的升级过程不会影响到辅助处理器上的数据处理,提高了辅助处理器上数据处理的稳定性。并且,在升级结束后,由辅助处理器上的目标动态区重新进行目标数据的处理,将恢复负载设备上的目标进程重新恢复成非运行状态,从而减少了对负载设备一侧的数据处理的影响。
本说明书实施例提供了一种服务器,包括第一处理器和第二处理器,其中,所述第一处理器和所述第二处理器电性连接;所述第二处理器布设有动态区,所述第一处理器的内存中布设有与所述动态区对应的进程;所述第二处理器将第二处理器中待升级的动态区确定为目标动态区,并确定出目标动态区的输入数据作为目标数据;所述第二处理器将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括第一处理器的内存中与所述目标动态区对应的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据。
参阅图10所示,本说明书实施例还提供了一种服务器,其中,所述服务器包括网络通信端口1001、第一处理器1002、第二处理器1003以及存储器1004,上述结构可以通过内部线缆等方式相连,以便各个结构可以进行具体的数据交互。所述第二处理器1003布设有动态区,所述第一处理器1002的内存中布设有与所述动态区对应的进程。
其中,所述网络通信端口1001,具体可以用于接收升级指令。
所述第二处理器1003,具体可以用于根据升级指令,将第二处理器1003中待升级的动态区确定为目标动态区,并确定出目标动态区的输入数据作为目标数据;
所述第二处理器1003,具体还可以用于将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括第一处理器1002的内存中与所述目标动态区对应的进程。
这样在升级所述目标动态区的过程中,第二处理器1003可以将目标数据从静态区传输至第一处理器1002的目标进程处,再由第一处理器1002控制目标进程处理所述目标数据。
所述存储器1004,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口1001可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述第一处理器1002可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述第二处理器1003具体可以理解为是一种辅助处理器,用于辅助服务器执行部分数据处理任务,以减轻服务器的数据处理负担。具体的,上述第二处理器1003可以是内置于服务器内部的一种辅助处理器,也可以是外接与服务器但与服务器的第一处理器1002电性连接的一种辅助处理器(例如网卡)。
在本实施例中,所述存储器1004可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种智能网卡,所述智能网卡与负载设备的处理器电性连接,其中,所述智能网卡布设有动态区,所述负载设备的处理器内存中预设有与所述动态区对应的进程;所述智能网卡用于将网卡中待升级的动态区确定为目标动态区,并确定出目标动态区的输入数据作为目标数据;所述智能网卡用于将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括负载设备的处理器内存中与所述目标动态区对应的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据。
本说明书实施例还提供了一种基于上述数据处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域;将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连;升级所述目标动态区。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施例还提供了一种基于上述数据处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:通过目标进程接收辅助处理器传输的目标数据;其中,所述辅助处理器在确定辅助处理器上待升级的动态区为目标动态区的情况下,将所述目标数据的传输路径由指向目标动态区修改为指向目标进程,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程;调用所述目标进程处理所述目标数据。
参阅图11所示,在软件层面上,本说明书实施例还提供了一种数据处理装置,该装置具体可以包括以下的结构模块。
确定模块1101,具体可以用于确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域。
修改模块1102,具体可以用于将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连。
升级模块1103,具体可以用于升级所述目标动态区。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,本说明书实施例提供的数据处理装置,可以使得辅助处理器的升级过程不会影响到辅助处理器上目标数据的处理,提高了辅助处理器上数据处理的稳定性。
本说明书实施例还提供了另一种数据处理装置,具体可以包括以下结构模块。
接收模块,具体可以用于通过目标进程接收辅助处理器传输的目标数据;其中,所述辅助处理器在确定辅助处理器上待升级的动态区为目标动态区的情况下,将所述目标数据的传输路径由指向目标动态区修改为指向目标进程,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程;
处理模块,具体可以用于调用所述目标进程处理所述目标数据。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (21)

1.一种数据处理方法,包括:
确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域;
将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连;
升级所述目标动态区。
2.根据权利要求1所述的方法,所述辅助处理器包括网卡。
3.根据权利要求1所述的方法,在辅助处理器携带有内存资源的情况下,所述目标进程还包括与目标动态区对应的,且预设在辅助处理器的内存中的进程。
4.根据权利要求1所述的方法,在确定辅助处理器中待升级的动态区作为目标动态区之前,所述方法还包括:接收升级指令;其中,所述升级指令用于确定辅助处理器上待升级的硬加区域。
5.根据权利要求1所述的方法,在升级所述目标动态区之后,所述方法还包括:
确定所述目标动态区是否升级结束;
在确定所述目标动态区升级结束的情况下,将目标数据的传输路径由指向目标进程修改为指向目标动态区。
6.根据权利要求4所述的方法,在接收升级指令之前,所述方法还包括:
确定布设于辅助处理器中的多个数据处理模块的更新频率;
根据数据处理模块的更新频率,将更新频率大于预设的频率阈值的数据处理模块分配到动态区;将更新频率小于或等于预设的频率阈值的数据处理模块分配到静态区。
7.根据权利要求1所述的方法,所述动态区包括多个动态区。
8.根据权利要求7所述的方法,在确定辅助处理器中待升级的动态区作为目标动态区之后,所述方法还包括:
确定所述目标动态区与其他动态区的关联关系;其中,所述其他动态区包括所述多个动态区中除目标动态区以外的动态区;
根据所述目标动态区与其他动态区的关联关系,修改所述目标数据的传输路径。
9.根据权利要求8所述的方法,所述根据所述目标动态区与其他动态区的关联关系,修改所述目标数据的传输路径,包括:
在根据所述目标动态区与其他动态区的关联关系,确定在所述其他动态区中不存在目标动态区的下一级联动态区的情况下,将目标数据的传输路径由指向目标动态区修改为指向目标进程,并将目标进程的输出数据的传输路径设置为指向目标应用,其中,所述目标应用包括设置在负载设备中的与目标动态区相连的应用。
10.根据权利要求9所述的方法,所述根据所述目标动态区与其他动态区的关联关系,修改所述目标数据的传输路径,还包括:
在根据所述目标动态区与其他动态区的关联关系,确定在所述其他动态区中存在目标动态区的下一级联动态区的情况下,将目标数据的传输路径由指向目标动态区修改为指向目标进程,并将目标进程的输出数据的传输路径设置为指向所述目标动态区的下一级联动态区。
11.根据权利要求1所述的方法,所述目标进程包括Bypass进程。
12.根据权利要求1所述的方法,所述硬件区域包括集成于辅助处理器中的现场可编程门阵列。
13.一种数据处理方法,包括:
通过目标进程接收辅助处理器传输的目标数据;其中,所述辅助处理器在确定辅助处理器上待升级的动态区为目标动态区的情况下,将所述目标数据的传输路径由指向目标动态区修改为指向目标进程,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程;
调用所述目标进程处理所述目标数据。
14.根据权利要求13所述的方法,所述方法还包括:
接收并响应辅助处理器的进程配置请求,根据所述辅助处理器中的动态区,在内存中设置与所述动态区对应的进程。
15.根据权利要求13所述的方法,所述调用所述目标进程处理所述目标数据,包括以下至少之一:对目标数据进行重定向调度处理;或对目标数据进行封装处理;或对目标数据进行解封装处理;或对目标数据的内容信息进行修改处理。
16.根据权利要求13所述的方法,所述目标进程包括Bypass进程。
17.一种数据处理装置,包括:
确定模块,用于确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域;
修改模块,用于将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连;
升级模块,用于升级所述目标动态区。
18.一种数据处理装置,包括:
接收模块,用于通过目标进程接收辅助处理器传输的目标数据;其中,所述辅助处理器在确定辅助处理器上待升级的动态区为目标动态区的情况下,将所述目标数据的传输路径由指向目标动态区修改为指向目标进程,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程;
处理模块,用于调用所述目标进程处理所述目标数据。
19.一种服务器,包括第一处理器和第二处理器,其中,所述第一处理器和所述第二处理器电性连接;所述第二处理器布设有动态区,所述第一处理器的内存中布设有与所述动态区对应的进程;
所述第二处理器将第二处理器中待升级的动态区确定为目标动态区,并确定出目标动态区的输入数据作为目标数据;
所述第二处理器将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括第一处理器的内存中与所述目标动态区对应的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据。
20.一种智能网卡,所述智能网卡与负载设备的处理器电性连接,其中,所述智能网卡布设有动态区,所述负载设备的处理器内存中预设有与所述动态区对应的进程;
所述智能网卡用于将网卡中待升级的动态区确定为目标动态区,并确定出目标动态区的输入数据作为目标数据;
所述智能网卡用于将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括负载设备的处理器内存中与所述目标动态区对应的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据。
21.一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现权利要求1至12中任一项所述方法的步骤。
CN202010749887.XA 2020-07-30 2020-07-30 数据处理方法、装置、智能网卡和服务器 Pending CN113296803A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010749887.XA CN113296803A (zh) 2020-07-30 2020-07-30 数据处理方法、装置、智能网卡和服务器
PCT/CN2021/108353 WO2022022442A1 (zh) 2020-07-30 2021-07-26 数据处理方法、装置、智能网卡和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010749887.XA CN113296803A (zh) 2020-07-30 2020-07-30 数据处理方法、装置、智能网卡和服务器

Publications (1)

Publication Number Publication Date
CN113296803A true CN113296803A (zh) 2021-08-24

Family

ID=77318134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010749887.XA Pending CN113296803A (zh) 2020-07-30 2020-07-30 数据处理方法、装置、智能网卡和服务器

Country Status (2)

Country Link
CN (1) CN113296803A (zh)
WO (1) WO2022022442A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115529216A (zh) * 2022-10-10 2022-12-27 苏州浪潮智能科技有限公司 自动化配置智能网卡ip的方法、系统、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7797694B2 (en) * 2005-09-19 2010-09-14 Adc Telecommunications, Inc. Mechanism to upgrade system capability without affecting service
CN104461654A (zh) * 2014-12-27 2015-03-25 西安大唐电信有限公司 一种obd设备功能单元及固件分类可选升级方法
CN110704090B (zh) * 2018-07-09 2022-09-30 阿里巴巴集团控股有限公司 现场可编程门阵列fpga及其升级方法和升级系统

Also Published As

Publication number Publication date
WO2022022442A1 (zh) 2022-02-03

Similar Documents

Publication Publication Date Title
US10789091B2 (en) Agile VM load balancing through micro-checkpointing and multi-architecture emulation
US9424085B2 (en) Recognizing a process group that is related to an application
US9973472B2 (en) Methods and systems for orchestrating physical and virtual switches to enforce security boundaries
CN112486585B (zh) 恢复fpga芯片中的逻辑的方法、系统和fpga设备
CN106940699B (zh) 一种内存数据的同步处理方法、装置、服务器及系统
US9400641B2 (en) Adaptable middleware layer
US20120042206A1 (en) Saving operational state of open applications when unexpected shutdown events occur
CN111209110B (zh) 一种实现负载均衡的任务调度管理方法、系统和存储介质
US20150012732A1 (en) Method and device for recombining runtime instruction
US11620182B2 (en) System for resolution of technical issues using computing system-specific contextual data
CN106034138A (zh) 一种远程服务调用方法及装置
EP3812898A2 (en) Container-based method for application startup
JP2015524128A5 (zh)
CN111666167A (zh) 一种对输入事件读取处理优化方法、非易失性存储器及终端设备
CN106603125B (zh) 一种与蓝牙设备进行数据交互的方法及装置
US11461121B2 (en) Guest-driven virtual machine snapshots
CN113296803A (zh) 数据处理方法、装置、智能网卡和服务器
CN113791867B (zh) 调整kvm虚拟机服务进程优先级的方法及应用
US20060235655A1 (en) Method for monitoring function execution
CN114185734A (zh) 一种监控集群的方法、装置及电子设备
CN113282410B (zh) 资源配置方法及装置
CN104573495A (zh) 一种启动项的处理方法和装置
CN110311935B (zh) 一种分享方法、分享部署系统和客户端
CN105787359A (zh) 进程守护方法和装置
CN113535368B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40059156

Country of ref document: HK