多核结构的任务调度方法、多核处理系统、设备及介质与流程

文档序号:32388982发布日期:2022-11-30 07:26阅读:64来源:国知局
多核结构的任务调度方法、多核处理系统、设备及介质与流程

1.本技术涉及计算机应用技术领域,具体而言,涉及一种多核结构的任务调度方法、多核处理系统、设备及介质。


背景技术:

2.随着终端设备功能的不断增加,单核处理器已经很难满足其性能要求,越来越多的终端设备采用多核多线程的体系结构。具有多核的计算机能够同时处理多个任务,提升计算机对于并发线程的处理效率。
3.现有技术中,多个核在进行数据处理时,核与核之间是合作关系,同一任务由不同的核联合完成。
4.但是,这种多核联合处理的方式,多核间可能存在数据的竞争或等待的关系,由核冲突导致计算机的单核利用率低,处理效率下降。


技术实现要素:

5.本技术提供了一种多核结构的任务调度方法、多核处理系统、设备及介质,其能够由收发核建立网络数据数据包所属会话的会话标识与处理核的绑定关系,再据此将网络数据包转发至对应的处理核单独处理,避免多核联合处理带来的冲突以及额外开销,提升了多核处理系统的处理效率。
6.本技术的实施例可以这样实现:
7.第一方面,本技术实施例提供一种多核结构的任务调度方法,应用于多核处理系统的收发核,所述多核处理系统包括:多个处理核以及多个所述收发核;
8.所述方法包括:
9.接收网络数据包,所述网络数据包包括:所述网络数据包所属会话的会话标识;
10.根据所述会话标识,对会话关系表进行查询,确定对应的处理核,所述会话关系表用于记录会话标识与处理核的绑定关系,其中,与所述会话标识绑定的处理核用于单独处理所述会话标识对应的会话内的网络数据包;
11.将所述网络数据包转发至对应的处理核,以使所述处理核单独处理所述网络数据包,得到对应的数据处理包。
12.在一种可选的实施方式中,所述根据所述会话标识,对会话关系表进行查询,确定对应的处理核,包括:
13.若所述会话标识存在于所述会话关系表中,则将所述会话关系表中记录的与所述会话标识具有绑定关系到处理核作为对应的处理核;
14.若所述会话标识不存在于所述会话关系表中,则为所述会话标识对应的会话分配处理核,并在所述会话关系表中增加所述会话标识与所分配的处理核的绑定关系。
15.在一种可选的实施方式中,所述根据所述会话标识,对会话关系表进行查询,确定对应的处理核之后,所述方法还包括:
16.接收所述处理核发送的负载指示信息,所述负载指示信息用于指示所述处理核的处理负载率过大;
17.根据所述负载指示信息,将所述网络数据包重新分配至各所述处理负载率中最低的处理负载率对应的处理核,并更新所述会话关系表,将所述会话关系表中与所述会话标识绑定的处理核替换为重新分配的处理核。
18.在一种可选的实施方式中,所述将所述网络数据包转发至对应的处理核之后,所述方法还包括:
19.接收所述处理核发送的数据处理包;
20.将所述数据处理包进行转发。
21.第二方面,本技术实施例提供一种多核结构的任务调度方法,应用于多核处理系统的处理核,所述多核处理系统包括:多个收发核以及多个所述处理核;
22.所述方法包括:
23.接收收发核发送的同一会话内的至少一个网络数据包,所述网络数据包包括:所述网络数据包所属会话的会话标识,所述会话标识与各处理核具有绑定关系;
24.对属于同一会话的各网络数据包进行数据处理,得到对应的数据处理包。
25.在一种可选的实施方式中,所述方法还包括:
26.根据各会话的流量信息、以及各会话的资源占比,生成处理负载率;
27.若所述处理负载率大于或等于预设阈值,则向收发核发送负载指示信息,所述负载指示信息用于指示所述处理核的处理负载率过大。
28.在一种可选的实施方式中,所述方法还包括:
29.若所述处理负载率大于或等于预设阈值,则将所述网络数据包转发至负载状态为静态负载状态的处理核,并向所述收发核发送会话关系表更新指令,所述会话关系表更新指令用于指示所述收发核将所述会话关系表中与所述会话标识绑定的处理核替换为所述负载状态为静态负载状态的处理核。
30.第三方面,本技术实施例提供一种多核处理系统,所述多核处理系统包括:多个收发核以及多个所述处理核,各所述收发核与各所述处理核通信连接;
31.各所述收发核用于,执行第一方面中任一项所述的多核结构的任务调度方法,向各所述处理核发送网络数据包并接收各所述处理核发送的数据处理包;
32.各所述处理核用于,执行第二方面中任一项所述的多核结构的任务调度方法,接收各所述收发核发送的网络数据包并处理,得到所述数据处理包。
33.第四方面,本技术实施例提供一种多核结构的任务调度收发装置,包括:
34.第一接收模块,用于接收网络数据包,所述网络数据包包括:所述网络数据包所属会话的会话标识;
35.查询模块,用于根据所述会话标识,对会话关系表进行查询,确定对应的处理核,所述会话关系表用于记录会话标识与处理核的绑定关系,其中,与所述会话标识绑定的处理核用于单独处理所述会话标识对应的会话内的网络数据包;
36.发送模块,用于将所述网络数据包转发至对应的处理核,以使所述处理核单独处理所述网络数据包,得到对应的数据处理包。
37.所述查询模块具体还用于,若所述会话标识存在于所述会话关系表中,则将所述
会话关系表中记录的与所述会话标识具有绑定关系到处理核作为对应的处理核;若所述会话标识不存在于所述会话关系表中,则为所述会话标识对应的会话分配处理核,并在所述会话关系表中增加所述会话标识与所分配的处理核的绑定关系。
38.负载分配模块,用于接收所述处理核发送的负载指示信息,所述负载指示信息用于指示所述处理核的处理负载率过大;根据所述负载指示信息,将所述网络数据包重新分配至各所述处理负载率中最低的处理负载率对应的处理核,并更新所述会话关系表,将所述会话关系表中与所述会话标识绑定的处理核替换为重新分配的处理核。
39.所述发送模块具体还用于,接收所述处理核发送的数据处理包;将所述数据处理包进行转发。
40.第五方面,本技术实施例提供一种多核结构的任务调度处理装置,包括:
41.第二接收模块,用于接收收发核发送的同一会话内的至少一个网络数据包,所述网络数据包包括:所述网络数据包所属会话的会话标识,所述会话标识与各处理核具有绑定关系;
42.处理模块,用于对属于同一会话的各网络数据包进行数据处理,得到对应的数据处理包。
43.负载生成模块,用于根据各会话的流量信息、以及各会话的资源占比,生成处理负载率;若所述处理负载率大于或等于预设阈值,则向收发核发送所述负载指示信息,所述负载指示信息用于指示所述处理核的处理负载率过大。
44.所述负载生成模块还用于,若所述处理负载率大于或等于预设阈值,则将所述网络数据包转发至所述负载状态为静态负载状态的处理核,并向所述收发核发送会话关系表更新指令,所述会话关系表更新指令用于指示所述收发核将所述会话关系表中与所述会话标识绑定的处理核替换为所述负载状态为静态负载状态的处理核。
45.第六方面,本技术提供一种处理设备,所述处理设备包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述处理设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行第一方面中任一项所述的多核结构的任务调度方法或第二方面中任一项所述的多核结构的任务调度方法的步骤。
46.第七方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现如第一方面中任一项所述的多核结构的任务调度方法或第二方面中任一项所述的多核结构的任务调度方法的步骤。
47.本技术实施例的有益效果包括:
48.采用本技术提供的多核结构的任务调度方法、多核处理系统、设备及介质,由收发核通过会话关系表,记录接收的网络数据包所属会话的会话标识与各处理核的绑定关系,再据此绑定关系将网络数据包转发至对应的处理核单独进行处理,规避了多核联合处理带来的核间冲突以及额外开销,提升了多核处理系统的处理效率。
附图说明
49.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对
范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
50.图1为本技术实施例提供的多核处理系统的结构示意图;
51.图2为本技术实施例提供的多核结构的任务调度方法的交互流程示意图;
52.图3为本技术实施例提供的多核结构的任务调度方法的步骤流程示意图;
53.图4为本技术实施例提供的多核结构的任务调度方法的又一交互流程示意图;
54.图5为本技术实施例提供的多核结构的任务调度方法的又一交互流程示意图;
55.图6为本技术实施例提供的多核结构的任务调度方法的又一交互流程示意图;
56.图7为本技术实施例提供的多核结构的任务调度收发装置的结构示意图;
57.图8为本技术实施例提供的多核结构的任务调度处理装置的结构示意图;
58.图9为本技术实施例提供的处理设备的结构示意图。
59.图标:101-收发核;201-第一处理核;202-第二处理核;203-第n处理核;100-多核结构的任务调度收发装置;1001-第一接收模块;1002-查询模块;1003-发送模块;1004-负载分配模块;110-多核结构的任务调度处理装置;1101-第二接收模块;1102-处理模块;1103-负载生成模块;2001-处理器;2002-存储器。
具体实施方式
60.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
61.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
62.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
63.在本技术的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
64.此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
65.需要说明的是,在不冲突的情况下,本技术的实施例中的特征可以相互结合。
66.多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎,也就是内核,各内核之间基于总线进行数据共享,可以独立或联合地并行处理多个并发任务。
67.从直观上理解,只有多线程应用才能够发挥多核处理器的优势,现有的多核处理器在进行数据处理时,一般采用联合处理方式,即将同一任务拆分为多个线程,运行于不同的内核上。为保证各内核同时对同一任务下多线程并行处理的正确性,需要大量使用信号
量、锁或条件变量等机制,用来保证各内核间数据的同步,这些机制的使用可能会导致出现死锁、优先级反转等异常问题,导致数据处理结果出现错误或核间冲突、竞争。
68.另一方面,多核联合处理还可能会面临多线程切换的问题,线程切换也可能会导致额外的开销,降低多核处理器的处理效率。
69.基于此,本技术实施例提出了一种多核结构的任务调度方法,能够由收发核建立网络数据数据包所属会话的会话标识与处理核的绑定关系,再据此将网络数据包转发至对应的处理核单独处理,避免多核联合处理带来的冲突以及线程切换的额外开销,提升了多核处理系统的处理效率。
70.图1所示为本技术实施例提供的多核处理系统的结构示意图,如图1所示,该系统包括:多个收发核以及多个处理核,各收发核与各处理核通信连接。
71.可选地,各收发核、各处理核可以是同一多核处理器的不同内核,各收发核、各处理核之间可通过多核处理器内的总线进行通信连接。
72.需要说明的是,收发核可以有多个,各收发核分管不同的多个处理核,分别与至少一个处理核通信连接,呈现一种分布式的结构。
73.另外,收发核还可以仅设置一个,由该收发核101统一对各处理核处理的任务进行管理,即如图1所示的结构。在下述实施例中,以收发核101仅设置一个为例进行说明。当收发核为多个时,各收发核各自独立运行,相当于多组由一个收发核和多个处理核构成的结构。
74.各收发核用于,执行下述实施例中收发核101执行的任一项多核结构的任务调度方法的步骤,向各处理核发送网络数据包并接收各所述处理核发送的数据处理包。
75.收发核101可以多核处理系统中多个内核中的任意一个,是一个独立完整的计算引擎。
76.收发核101能够直接接收来自外部网络的网络数据包,并根据会话关系表,确定与该网络数据包所在会话具有绑定关系的处理核,最后将网络数据包转发至该处理核进行单独处理。
77.各处理核用于,执行下述实施例中处理核执行的多核结构的任务调度方法的步骤,接收各收发核发送的网络数据包并处理,得到数据处理包。
78.处理核可以有多个,为多核处理系统中除收发核外的多个内核,各处理核均为独立完整的计算引擎,图1给出了一种设置了n个处理核,即第一处理核201、第二处理核202

第n处理核203的示例。
79.由于会话与处理核的绑定关系已由收发核确认完成,那么,各处理核只需对通过收发核接收到的网络数据包进行处理,并将处理完成得到的数据处理包转发至收发核101,最后由收发核101再次转发至外部网络。
80.参见图2,图2示出了本技术实施例提供的一种多核结构的任务调度方法的交互流程图,如图2所示,该方法包括如下步骤:
81.s201,收发核接收网络数据包。
82.网络数据包包括:网络数据包所属会话的会话标识。
83.收发核可以以poll轮询的方式,接收来自外部网络,如因特网、以太网的网络数据包。其中,poll轮询是监控是否有可读文件的一种机制,收发核会首先判断与多核处理器连
接的缓存区或网口是否有网络数据包,若存在,则将该网络数据包返回,否则,收发核休眠预设时间后,再次访问缓存区或网口,并进行网络数据包存在性的判断。
84.会话可以包括至少一个线程,但各线程均与该会话所执行的任务相关,其中,线程是操作系统能够运行调度的最小的实际运行单位。示例性地,若外部网络就同一会话相关的事件多次向多核处理系统发送请求,那么,多核处理系统将对每一次请求创建一次线程,但多个线程均对应于同一会话。
85.网络数据包中可以包括:源网际协议(internet protocol address,简称ip)地址、目的ip地址、通信协议、端口、网口信息等,将上述信息的组合,可以作为该网络数据包所属会话的会话标识,或根据上述信息,生成用于唯一标识该网络数据包所述会话的唯一码,作为会话标识。
86.s202,收发核根据会话标识,对会话关系表进行查询,确定对应的处理核。
87.会话关系表用于记录会话标识与处理核的绑定关系,其中,与会话标识绑定的处理核用于单独处理会话标识对应的会话内的网络数据包。
88.收发核在启动时建立空白表,包括会话标识、处理核等数据项,随着收发核将接收的网络数据包转发至各个处理核,也将建立各网络数据包与处理核的绑定关系,并将这些绑定关系实时对空白表进行更新,得到会话关系表。
89.这样,在后续收到网络数据包时,收发核将根据网络数据包所属会话的会话标识,在会话关系表中进行检索,确定该会话标识的处理核。
90.s203,收发核将网络数据包转发至对应的处理核。
91.以使处理核单独处理网络数据包,得到对应的数据处理包。
92.同时,处理核接收收发核发送的同一会话内的至少一个网络数据包。
93.所述网络数据包包括:所述网络数据包所属会话的会话标识,所述会话标识与各处理核具有绑定关系。
94.s204,处理核对属于同一会话的各网络数据包进行数据处理,得到对应的数据处理包。
95.收发核确定了该网络数据包对应的处理核后,将网络数据包转发至对应的处理核进行处理。需要说明的是,由于处理核与会话标识具有绑定关系,后续收发核再次收到该会话标识的网络数据包,在处理核的负载范围内,都将交由该处理核单独处理,而无需与其他处理核进行线程切换。
96.在本实施例中,由收发核通过会话关系表,记录接收的网络数据包所属会话的会话标识与各处理核的绑定关系,再据此绑定关系将网络数据包转发至对应的处理核单独进行处理,得到对应的数据处理包,规避了多核联合处理带来的核间冲突以及额外开销,提升了多核处理系统的处理效率。
97.以上实施例说明了收发核接收网络数据包,并根据会话关系表中存储的网络数据包所属会话的会话标识与处理核的绑定关系,为网络数据包分配处理核的过程。可以理解的是,网络数据包可能隶属于一个新的会话,此时会话关系表中还未记载绑定关系。因此,需要根据网络数据包对应的会话标识是否存在于会话关系表中,由收发核分情况进行处理。
98.可选地,如图3所示,上述步骤s202中,根据会话标识,对会话关系表进行查询,确
定对应的处理核,可由下述步骤s301至s302实现。
99.s301,若会话标识存在于会话关系表中,则将会话关系表中记录的与会话标识具有绑定关系到处理核作为对应的处理核。
100.由上述实施例,会话关系表随着收发核对网络数据包的分配情况实时更新,若收发核收到某一网络数据包后,对会话关系表进行检索后,检索到了该网络数据包对应的会话标识,则根据会话关系表记录的会话标识、处理核的绑定关系,确定与该会话标识绑定的处理核,并将该网络数据包发送至该处理核进行单独处理。
101.s302,若会话标识不存在于会话关系表中,则为会话标识对应的会话分配处理核,并在会话关系表中增加会话标识与所分配的处理核的绑定关系。
102.可以理解的是,随着多核处理系统中新会话的开启,收发核也可能会收到一些新会话中的网络数据包,由于这些网络数据包的会话标识未记录在会话关系表中,在会话关系表中不能检索到。
103.对于在会话关系表中不能检索到的会话标识,收发核可以为其分配处理核,并建立该处理核与该会话的绑定关系,最后将该绑定关系添加至会话关系表中,更新了会话关系表的内容。
104.另外,需要说明的是,对于已结束的会话,也就是收发核在预设会话时间内没有再次收到对应于某一会话的网络数据包,或收到处理核发送的对应于该会话的数据处理包,则可以确定该会话已结束,可将该会话的会话标识与处理核的绑定关系从会话关系表中删除。
105.在本实施例中,根据会话标识是否在会话关系表中,对网络数据包进行不同的处理,并更新会话关系表,提升了多核处理系统的稳定性核容错率。
106.进一步地,为平衡各处理核之间的处理负载率,使多核处理系统的处理能力得到最大限度的使用,如图4所示,在如下实施例中,提供了一种多处理核间的动态负载均衡方法的交互流程。
107.可选地,如图4所示,上述步骤s202中,根据会话标识,对会话关系表进行查询,确定对应的处理核之后,还可以包括如下交互流程:
108.s401,处理核根据各会话的流量信息、以及各会话的资源占比,生成处理负载率。
109.可选地,各处理核均可以根据自身处理的多个会话在单位时间内的流量信息,与多个会话所占用的带宽、资源的比值,确定处理负载率。
110.处理负载率还可以根据其他方式得到,用于描述各处理核的当前负载情况。
111.s402,处理核判断处理负载率是否大于或等于预设阈值。
112.预设阈值可以是人为设定值,还可以设置为各处理核当前的处理负载率的均值,还可以是人为设定值或处理负载率的均值的预设百分比。
113.在预设阈值为人为设定值时,则处理核将自身的处理负载率与该人为设定值相比较,确定当前处理核的处理负载率是否过大。
114.若预设阈值为各处理核当前的处理负载率的均值,则各处理核均接收来自其他处理核的处理负载率,并将该负载率与其他处理核的处理负载率的均值相比较,确定当前处理核的处理负载率是否过大。
115.s403,若是,则由处理核向收发核发送负载指示信息。
116.同时,收发核接收处理核发送的负载指示信息。
117.负载指示信息用于指示处理核的处理负载率过大。
118.若处理核确定自身的处理负载率已超出预设阈值,则可由静态负载状态转换为动态负载状态,并生成负载指示信息发送至收发核,告知收发核自身的处理负载率过大。
119.反之,若已为动态负载状态的处理核确定自身的处理负载率小于或等于预设阈值,则再次切换回静态负载状态。
120.s404,收发核根据负载指示信息,将网络数据包重新分配至各处理负载率中最低的处理负载率对应的处理核,并更新会话关系表,将会话关系表中与会话标识绑定的处理核替换为重新分配的处理核。
121.收发核收到某一处理核发送的负载指示信息后,首先标记该处理核的状态为动态负载状态,接下来,在处理核状态未发生变更时,若再次收到与该处理核具有绑定关系的会话标识对应的网络数据包,则根据其他处理核的处理负载率,解除当前的绑定关系,并重新建立处理负载率最低的处理核与该会话的绑定关系,据此对会话关系表进行更新。这样,在后续收到该会话对应的网络数据包时,都将转发至重新绑定的处理核进行处理。
122.在另一种可选的实施方式中,还可以由各处理核将自身的处理负载率同步发送至收发核,由收发核判断各处理核的负载情况,并据此为其分配会话。
123.在本实施例中,收发核根据各处理核的处理负载率情况,为负载率过高的处理核的会话进行再次分配,均衡了各处理核间的负载率,实现了多核处理系统的动态调控,提升了资源利用率。
124.可选地,如图5所示,本技术实施例提供的多核结构的任务调度方法还可以包括:
125.s501,确定处理负载率大于或等于预设阈值。
126.由上述实施例,处理核可以通过间隔预设时间将自身的处理负载率与预设阈值相比较的方式,确定自身的处理负载率是否大于或等于预设阈值。
127.s502,将网络数据包转发至负载状态为静态负载状态的另一处理核。
128.可选地,处理核进入动态负载状态后,为进一步降低自身的处理负载率,还可以将当前未处理,处于队列中的网络数据包转发至其他处于静态负载状态的另一处理核进行处理。
129.s503,并向收发核发送会话关系表更新指令。
130.同时,处理核将接收网络数据包的另一处理核与网络数据包的会话标识的绑定关系添加至会话关系表更新指令,同步至收发核。
131.s504,收发核根据会话关系表更新指令,将会话关系表中与会话标识绑定的处理核替换为负载状态为静态负载状态的处理核。
132.最后,由收发核根据会话关系表更新指令,对会话关系表进行更新,在后续收到该会话对应的网络数据包时,都将转发至重新绑定的处理核进行处理。
133.另外,各处理核或收发核均可间隔预设时间对各处理核的处理负载率进行判断,当某一处理核的处理负载率小于预设阈值时,将退出动态负载状态,切换为静态负载状态,并将状态变化同步至其他处理核以及收发核。
134.在本实施例中,处理核能够将自身处理的会话直接推送至其他处理核,降低了收发核的负担,提升了负载均衡的效率。
135.可选地,如图6所示,上述步骤s203中,收发核将网络数据包转发至对应的处理核之后,还可以包括如下步骤:
136.s601,处理核向收发核发送数据处理包。
137.相应地,收发核接收处理核发送的数据处理包。
138.处理核收到收发核发送的网络数据包后,对其进行处理,生成数据处理包,并发送至收发核。需要说明的是,若是多个收发核的情况,可以将数据处理包发送至对应的收发核。
139.s602,收发核将数据处理包进行转发。
140.可以理解的是,数据处理包与网络数据包对应于同一会话标识,收发核可以根据会话标识,确定发送网络数据包的源ip地址,并将数据处理包发送至对应的源ip地址。
141.在本实施例中,收发核负责网络数据包的接收以及数据处理包的发送,避免了线程切换造成的额外开销,提升了多核处理系统的效率。
142.参阅图7,本技术实施例提供一种多核结构的任务调度收发装置100,包括:
143.第一接收模块1001,用于接收网络数据包,网络数据包包括:网络数据包所属会话的会话标识;
144.查询模块1002,用于根据会话标识,对会话关系表进行查询,确定对应的处理核,会话关系表用于记录会话标识与处理核的绑定关系,其中,与会话标识绑定的处理核用于单独处理会话标识对应的会话内的网络数据包;
145.发送模块1003,用于将网络数据包转发至对应的处理核,以使处理核单独处理网络数据包,得到对应的数据处理包。
146.查询模块1002具体还用于,若会话标识存在于会话关系表中,则将会话关系表中记录的与会话标识具有绑定关系到处理核作为对应的处理核;若会话标识不存在于会话关系表中,则为会话标识对应的会话分配处理核,并在会话关系表中增加会话标识与所分配的处理核的绑定关系。
147.负载分配模块1004,用于接收处理核发送的负载指示信息,负载指示信息用于指示处理核的处理负载率过大;根据负载指示信息,将网络数据包重新分配至各处理负载率中最低的处理负载率对应的处理核,并更新会话关系表,将会话关系表中与会话标识绑定的处理核替换为重新分配的处理核。
148.发送模块1003具体还用于,接收处理核发送的数据处理包;将数据处理包进行转发。
149.参阅图8,本技术实施例提供一种多核结构的任务调度处理装置110,包括:
150.第二接收模块1101,用于接收收发核发送的同一会话内的至少一个网络数据包,网络数据包包括:网络数据包所属会话的会话标识,会话标识与各处理核具有绑定关系;
151.处理模块1102,用于对属于同一会话的各网络数据包进行数据处理,得到对应的数据处理包。
152.负载生成模块1103,用于根据各会话的流量信息、以及各会话的资源占比,生成处理负载率;若处理负载率大于或等于预设阈值,则向收发核发送负载指示信息,负载指示信息用于指示处理核的处理负载率过大。
153.负载生成模块1103还用于,若处理负载率大于或等于预设阈值,则将网络数据包
转发至负载状态为静态负载状态的处理核,并向收发核发送会话关系表更新指令,会话关系表更新指令用于指示收发核将会话关系表中与会话标识绑定的处理核替换为负载状态为静态负载状态的处理核。
154.请参阅图9,本实施例还提供一种处理设备,该处理设备包括:处理器2001、存储器2002和总线,存储器2002存储有处理器2001可执行的机器可读指令,当处理设备运行时,执行上述机器可读指令,处理器2001与存储器2002之间通过总线通信,处理器2001用于执行上述实施例中的多核结构的任务调度方法的步骤。
155.存储器2002、处理器2001以及总线各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。多核结构的任务调度系统的数据处理装置包括至少一个可以软件或固件(firmware)的形式存储于存储器2002中或固化在处理设备的操作系统(operating system,os)中的软件功能模块。处理器2001用于执行存储器2002中存储的可执行模块,例如多核结构的任务调度系统的数据处理装置所包括的软件功能模块及计算机程序等。
156.其中,存储器2002可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
157.可选地,本技术还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
158.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本技术中不再赘述。在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
159.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
160.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1