协议栈与物理层进程间的通信方法及装置与流程

文档序号:31927048发布日期:2022-10-25 23:00阅读:116来源:国知局
协议栈与物理层进程间的通信方法及装置与流程

1.本发明涉及通信技术领域,尤其涉及一种协议栈与物理层进程间的通信方法及装置。


背景技术:

2.第五代(5g)新空口(new radio,nr)多小区场景中,搭建平台时通常会将协议栈和物理层分别布置在独立的进程,保证多个小区之间的独立性,因此协议栈和物理层之间的通信转化为进程间通信。
3.目前进程间的通信通常有:(1)管道通常指无名管道;(2)先入先出队列(first in first out,fifo),是一种文件类型;(3)消息队列,是消息的链接表,存放在内核中;(4)信号量,是一个计数器;(5)共享内存。这些技术应用在多小区场景下,会存在物理层需要同时向多个小区进程发送消息,存在消息发送负荷过大和发送至错误协议栈的情况,导致多小区协议栈工作异常。


技术实现要素:

4.本发明提供一种协议栈与物理层进程间的通信方法及装置,用以解决现有技术中物理层向多个小区进程发送消息时负荷过大和容易发送至错误协议栈的缺陷,实现保证协议栈不同进程间的独立性以及和物理层之间的消息同步,解决5g nr多小区场景下协议栈进程和物理层之间进程交互的准确性和及时性,降低协议栈进程处理的负荷。
5.本发明提供一种协议栈与物理层进程间的通信方法,包括:
6.从第一共享内存读取来自物理层进程的消息队列,所述消息队列包括所述物理层进程待分别发送至一个或多个第一小区的一个或多个第一消息,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一消息对应的第一小区;
7.基于所述第一消息携带的第一id信息,将所述第一消息发送至所述第一id信息指示的第一小区的协议栈进程对应的第二共享内存,以使所述第一id信息指示的第一小区从所述第二共享内存读取所述第一消息;
8.其中,不同的第一小区的协议栈进程对应不同的第二共享内存。
9.根据本发明提供的一种协议栈与物理层进程间的通信方法,所述从第一共享内存读取来自物理层进程的消息队列,包括:
10.接收read信号量,所述read信号量用于所述消息队列已被写入所述第一共享内存;
11.读取出所述第一共享内存中的所述消息队列;
12.根据协议栈与物理层的接口对所述消息队列进行解析,获取所述一个或多个第一消息。
13.根据本发明提供的一种协议栈与物理层进程间的通信方法,在所述读取出所述第一共享内存中的所述消息队列之后,所述方法还包括:
14.清空所述第一共享内存。
15.本发明提供一种协议栈与物理层进程间的通信方法,包括:
16.基于待分别发送至一个或多个第一小区的一个或多个第一消息,确定消息队列,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一消息对应的第一小区;
17.将所述消息队列写入第一共享内存,以使ios_read进程从第一共享内存读取所述消息队列并基于所述第一消息携带的第一id信息,将所述第一消息发送至所述第一id信息指示的第一小区的协议栈进程对应的第二共享内存;
18.其中,不同的第一小区的协议栈进程对应不同的第二共享内存。
19.根据本发明提供的一种协议栈与物理层进程间的通信方法,所述基于待分别发送至一个或多个第一小区的一个或多个第一消息,确定消息队列,包括:
20.根据时隙上报时间点,基于待分别发送至一个或多个第一小区的一个或多个第一消息,确定消息队列。
21.根据本发明提供的一种协议栈与物理层进程间的通信方法,在所述将所述消息队列写入第一共享内存之后,所述方法还包括:
22.发送read信号量,所述read信号量用于所述消息队列已被写入所述第一共享内存。
23.本发明提供一种协议栈与物理层进程间的通信方法,包括:
24.第一小区的协议栈进程从所述第一小区的协议栈进程对应的第二共享内存读取第一消息,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一小区。
25.根据本发明提供的一种协议栈与物理层进程间的通信方法,所述第一小区的协议栈进程从所述第一小区的协议栈进程对应的第二共享内存读取第一消息,包括:
26.根据物理层上报的时隙上报时间点,从所述第二共享内存读取所述第一消息。
27.根据本发明提供的一种协议栈与物理层进程间的通信方法,在第一小区的协议栈进程从所述第一小区的协议栈进程对应的第二共享内存读取第一消息之后,所述方法还包括:
28.清空所述第一小区的协议栈进程对应的第二共享内存。
29.根据本发明提供的一种协议栈与物理层进程间的通信方法,在所述第一小区删除的情况下,所述方法还包括:
30.所述第一小区的协议栈进程释放所述第一小区的协议栈进程对应的第二共享内存。
31.根据本发明提供的一种协议栈与物理层进程间的通信方法,所述方法还包括:
32.向ios_read进程发送信号量destroy,所述信号量destroy用于表征所述第一小区的协议栈进程对应的第二共享内存已被释放。
33.根据本发明提供的一种协议栈与物理层进程间的通信方法,在所述第一小区重建立的情况下,所述方法还包括:
34.所述第一小区的协议栈进程创建所述第一小区的协议栈进程对应的第二共享内存。
35.根据本发明提供的一种协议栈与物理层进程间的通信方法,所述方法还包括:
36.向ios_read进程发送信号量create,所述信号量create用于表征所述第一小区的协议栈进程对应的第二共享内存已创建。
37.本发明提供一种协议栈与物理层进程间的通信装置,包括:
38.第一读取模块,用于从第一共享内存读取来自物理层进程的消息队列,所述消息队列包括所述物理层进程待分别发送至一个或多个第一小区的一个或多个第一消息,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一消息对应的第一小区;
39.发送模块,用于基于所述第一消息携带的第一id信息,将所述第一消息发送至所述第一id信息指示的第一小区的协议栈进程对应的第二共享内存,以使所述第一id信息指示的第一小区从所述第二共享内存读取所述第一消息;
40.其中,不同的第一小区的协议栈进程对应不同的第二共享内存。
41.本发明提供一种协议栈与物理层进程间的通信装置,包括:
42.确定模块,用于基于待分别发送至一个或多个第一小区的一个或多个第一消息,确定消息队列,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一消息对应的第一小区;
43.写入模块,用于将所述消息队列写入第一共享内存,以使ios_read进程从第一共享内存读取所述消息队列并基于所述第一消息携带的第一id信息,将所述第一消息发送至所述第一id信息指示的第一小区的协议栈进程对应的第二共享内存;
44.其中,不同的第一小区的协议栈进程对应不同的第二共享内存。
45.本发明提供一种协议栈与物理层进程间的通信装置,包括:
46.第二读取模块,用于从所述第一小区的协议栈进程对应的第二共享内存读取第一消息,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一小区。
47.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述协议栈与物理层进程间的通信方法。
48.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述协议栈与物理层进程间的通信方法。
49.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述协议栈与物理层进程间的通信方法。
50.本发明提供的协议栈与物理层进程间的通信方法及装置,通过使物理层采用单独的进程,将消息队列放入第一共享内存,且单独创建消息接收和分发的ios_read进程,以从第一共享内存读取消息队列,并将消息队列中的消息分别发送至对应的第一小区的协议栈进程对应的第二共享内存,即每个小区创建协议栈进程,不同的第一小区的协议栈进程对应不同的第二共享内存,保证协议栈不同进程间的独立性以及和物理层之间的消息同步,解决5g nr多小区场景下协议栈进程和物理层之间进程交互的准确性和及时性,降低协议栈进程处理的负荷。
附图说明
51.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一
些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
52.图1是本发明提供的协议栈与物理层进程间的通信方法的流程示意图之一;
53.图2是本发明提供的协议栈与物理层进程间的通信方法的流程示意图之二;
54.图3是本发明提供的协议栈与物理层进程间的通信方法的流程示意图之三;
55.图4是本发明提供的协议栈与物理层进程间的通信方法的流程示意图之四;
56.图5是本发明提供的协议栈与物理层进程间的通信装置的结构示意图之一;
57.图6是本发明提供的协议栈与物理层进程间的通信装置的结构示意图之二;
58.图7是本发明提供的协议栈与物理层进程间的通信装置的结构示意图之三;
59.图8是本发明提供的电子设备的结构示意图。
具体实施方式
60.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
61.下面结合图1-图8描述本发明的协议栈与物理层进程间的通信方法及装置。
62.图1是本发明提供的协议栈与物理层进程间的通信方法的流程示意图之一,该协议栈与物理层进程间的通信方法的执行主体是ios_read进程,如图1所示,该协议栈与物理层进程间的通信方法包括:
63.步骤100,从第一共享内存读取来自物理层进程的消息队列,所述消息队列包括所述物理层进程待分别发送至一个或多个第一小区的一个或多个第一消息,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一消息对应的第一小区;
64.具体地,协议栈版本初始化时,可以通过进程创建命令创建ios_read进程,并根据目前支持的小区数量创建第一共享内存和多个第二共享内存,用于读消息进程(ios_read进程)与协议栈进程间的消息传递;
65.具体地,物理层进程可以将要发送给一个或多个小区的第一消息放入本地的消息队列中,并将消息队列放入第一共享内存。
66.可选地,每一个第一消息可以携带该第一消息对应的第一小区的标识(identifier,id)信息,可以称为第一id信息,第一消息对应的第一小区可以是物理层进程需要将该第一消息发送到的那一个小区。
67.具体地,ios_read进程可以从第一共享内存读取消息队列;
68.步骤110,基于所述第一消息携带的第一id信息,将所述第一消息发送至所述第一id信息指示的第一小区的协议栈进程对应的第二共享内存,以使所述第一id信息指示的第一小区从所述第二共享内存读取所述第一消息;
69.其中,不同的第一小区的协议栈进程对应不同的第二共享内存。
70.具体地,ios_read进程读取消息队列,获取一个或多个第一消息后,可以基于第一消息携带的第一id信息,将一个或多个第一消息分别发送至各自携带的第一id信息指示的第一小区的协议栈进程对应的第二共享内存;图2是本发明提供的协议栈与物理层进程间
的通信方法的流程示意图之二,以图2为例,第二共享内存的编号可以为ai,i=0,1,2

小区数-1;分别对应第一小区0,1,2,

,i;若ios_read获取:第一消息b0,携带第一小区0的第一id信息;第一消息b1,携带第一小区1的第一id信息;第一消息b2,携带第一小区2的第一id信息;则可以将第一消息b0发送至第一小区0的协议栈进程的第二共享内存a0,可以将第一消息b1发送至第一小区1的协议栈进程的第二共享内存a1,可以将第一消息b2发送至第一小区2的协议栈进程的第二共享内存a2。
71.具体地,ios_read进程将第一消息发送至第一id信息指示的第一小区的协议栈进程对应的第二共享内存后,所述第一id信息指示的第一小区的协议栈进程可以从第二共享内存读取第一消息,并进行相应的消息处理。
72.比如,第一小区0的协议栈进程可以从第二共享内存a0获取到第一消息b0,第一小区1的协议栈进程可以从第二共享内存a1获取到第一消息b1,第一小区2的协议栈进程可以从第二共享内存a2获取到第一消息b2。
73.本发明用于5g nr多小区场景,物理层使用单独的进程,每个小区创建协议栈进程。在协议栈初始化时,单独创建消息接收和分发进程,用于物理层与多小区协议栈间消息传递。
74.本发明提供的协议栈与物理层进程间的通信方法,通过使物理层采用单独的进程,将消息队列放入第一共享内存,且单独创建消息接收和分发的ios_read进程,以从第一共享内存读取消息队列,并将消息队列中的消息分别发送至对应的第一小区的协议栈进程对应的第二共享内存,即每个小区创建协议栈进程,不同的第一小区的协议栈进程对应不同的第二共享内存,保证协议栈不同进程间的独立性以及和物理层之间的消息同步,解决5g nr多小区场景下协议栈进程和物理层之间进程交互的准确性和及时性,降低协议栈进程处理的负荷。
75.可选地,所述从第一共享内存读取来自物理层进程的消息队列,包括:
76.接收read信号量,所述read信号量用于所述消息队列已被写入所述第一共享内存;
77.读取出所述第一共享内存中的所述消息队列;
78.根据协议栈与物理层的接口对所述消息队列进行解析,获取所述一个或多个第一消息。
79.具体地,物理层进程在第一共享内存中填写完成当前时隙上报时间所有小区的消息(即消息队列)后可以向ios_read进程发送read信号量。
80.具体地,ios_read进程在从第一共享内存读取来自物理层进程的消息队列时,可以是接收到读消息信号量(read信号量),获知消息队列已被写入所述第一共享内存,则可以读取第一共享内存,将消息队列中的所有消息读出;
81.具体地,ios_read进程可以根据协议栈与物理层的接口对消息队列中所有消息(即一个或多个第一消息)进行解析,获取所述一个或多个第一消息。
82.可选地,在所述读取出所述第一共享内存中的所述消息队列之后,所述方法还包括:
83.清空所述第一共享内存。
84.具体地,ios_read进程在从第一共享内存读取来自物理层进程的消息队列时,可
以是接收到read信号量,获知消息队列已被写入所述第一共享内存,则可以读取第一共享内存,将消息队列中的所有消息读出,并清空该第一共享内存,用于下一次消息队列的存储。
85.本发明提供的协议栈与物理层进程间的通信方法,通过使物理层采用单独的进程,将消息队列放入第一共享内存,且单独创建消息接收和分发的ios_read进程,以从第一共享内存读取消息队列,并将消息队列中的消息分别发送至对应的第一小区的协议栈进程对应的第二共享内存,即每个小区创建协议栈进程,不同的第一小区的协议栈进程对应不同的第二共享内存,保证协议栈不同进程间的独立性以及和物理层之间的消息同步,解决5g nr多小区场景下协议栈进程和物理层之间进程交互的准确性和及时性,降低协议栈进程处理的负荷。
86.图3是本发明提供的协议栈与物理层进程间的通信方法的流程示意图之三,该协议栈与物理层进程间的通信方法的执行主体是物理层进程,如图3所示,该方法包括:
87.步骤300,基于待分别发送至一个或多个第一小区的一个或多个第一消息,确定消息队列,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一消息对应的第一小区;
88.具体地,协议栈版本初始化时,可以通过进程创建命令创建ios_read进程,并根据目前支持的小区数量创建第一共享内存和多个第二共享内存,用于ios_read进程与协议栈进程间的消息传递;
89.具体地,物理层进程可以将要发送给一个或多个小区的第一消息放入本地的消息队列中。
90.步骤310,将所述消息队列写入第一共享内存,以使ios_read进程从第一共享内存读取所述消息队列并基于所述第一消息携带的第一id信息,将所述第一消息发送至所述第一id信息指示的第一小区的协议栈进程对应的第二共享内存;
91.其中,不同的第一小区的协议栈进程对应不同的第二共享内存。
92.具体地,物理层进程可以将消息队列放入第一共享内存。
93.可选地,每一个第一消息可以携带该第一消息对应的第一小区的id信息,可以称为第一id信息,第一消息对应的第一小区可以是物理层进程需要将该第一消息发送到的那一个小区。
94.具体地,ios_read进程可以从第一共享内存读取消息队列;
95.具体地,ios_read进程读取消息队列,获取一个或多个第一消息后,可以基于第一消息携带的第一id信息,将一个或多个第一消息分别发送至各自携带的第一id信息指示的第一小区的协议栈进程对应的第二共享内存;以图2为例,第二共享内存的编号可以为ai,i=0,1,2

小区数-1;分别对应第一小区0,1,2,

,i;若ios_read获取:第一消息b0,携带第一小区0的第一id信息;第一消息b1,携带第一小区1的第一id信息;第一消息b2,携带第一小区2的第一id信息;则可以将第一消息b0发送至第一小区0的协议栈进程的第二共享内存a0,可以将第一消息b1发送至第一小区1的协议栈进程的第二共享内存a1,可以将第一消息b2发送至第一小区2的协议栈进程的第二共享内存a2。
96.具体地,ios_read进程将第一消息发送至第一id信息指示的第一小区的协议栈进程对应的第二共享内存后,所述第一id信息指示的第一小区的协议栈进程可以从第二共享
内存读取第一消息,并进行相应的消息处理。
97.比如,第一小区0的协议栈进程可以从第二共享内存a0获取到第一消息b0,第一小区1的协议栈进程可以从第二共享内存a1获取到第一消息b1,第一小区2的协议栈进程可以从第二共享内存a2获取到第一消息b2。
98.本发明用于5g nr多小区场景,物理层使用单独的进程,每个小区创建协议栈进程。在协议栈初始化时,单独创建消息接收和分发进程,用于物理层与多小区协议栈间消息传递。
99.本发明提供的协议栈与物理层进程间的通信方法,通过使物理层采用单独的进程,将消息队列放入第一共享内存,且单独创建消息接收和分发的ios_read进程,以从第一共享内存读取消息队列,并将消息队列中的消息分别发送至对应的第一小区的协议栈进程对应的第二共享内存,即每个小区创建协议栈进程,不同的第一小区的协议栈进程对应不同的第二共享内存,保证协议栈不同进程间的独立性以及和物理层之间的消息同步,解决5g nr多小区场景下协议栈进程和物理层之间进程交互的准确性和及时性,降低协议栈进程处理的负荷。
100.可选地,所述基于待分别发送至一个或多个第一小区的一个或多个第一消息,确定消息队列,包括:
101.根据时隙上报时间点,基于待分别发送至一个或多个第一小区的一个或多个第一消息,确定消息队列。
102.具体地,物理层进程在基于待分别发送至一个或多个第一小区的一个或多个第一消息,确定消息队列时,可以是根据时隙上报时间点将多个小区的消息放入本地的消息队列中。
103.可选地,物理层进程还可以上报时隙上报时间点,以使第一小区的协议栈进程可以获知时隙上报时间点,并能及时从对应的第二共享内存中获取对应的第一消息。
104.可选地,在所述将所述消息队列写入第一共享内存之后,所述方法还包括:
105.发送read信号量,所述read信号量用于所述消息队列已被写入所述第一共享内存。
106.具体地,物理层进程在第一共享内存中填写完成当前时隙上报时间所有小区的消息(即消息队列)后可以向ios_read进程发送read信号量。
107.具体地,ios_read进程在从第一共享内存读取来自物理层进程的消息队列时,可以是接收到read信号量,获知消息队列已被写入所述第一共享内存,则可以读取第一共享内存,将消息队列中的所有消息读出;
108.具体地,ios_read进程可以根据协议栈与物理层的接口对消息队列中所有消息(即一个或多个第一消息)进行解析,获取所述一个或多个第一消息。
109.本发明提供的协议栈与物理层进程间的通信方法,通过使物理层采用单独的进程,将消息队列放入第一共享内存,且单独创建消息接收和分发的ios_read进程,以从第一共享内存读取消息队列,并将消息队列中的消息分别发送至对应的第一小区的协议栈进程对应的第二共享内存,即每个小区创建协议栈进程,不同的第一小区的协议栈进程对应不同的第二共享内存,保证协议栈不同进程间的独立性以及和物理层之间的消息同步,解决5g nr多小区场景下协议栈进程和物理层之间进程交互的准确性和及时性,降低协议栈进
程处理的负荷。
110.图4是本发明提供的协议栈与物理层进程间的通信方法的流程示意图之四,该协议栈与物理层进程间的通信方法的执行主体是第一小区的协议栈进程,该方法包括:
111.步骤400,第一小区的协议栈进程从所述第一小区的协议栈进程对应的第二共享内存读取第一消息,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一小区。
112.具体地,协议栈版本初始化时,可以通过进程创建命令创建ios_read进程,并根据目前支持的小区数量创建第一共享内存和多个第二共享内存,用于ios_read进程与协议栈进程间的消息传递;
113.具体地,物理层进程可以将要发送给一个或多个小区的第一消息放入本地的消息队列中。
114.具体地,物理层进程可以将消息队列放入第一共享内存。
115.可选地,每一个第一消息可以携带该第一消息对应的第一小区的id信息,可以称为第一id信息,第一消息对应的第一小区可以是物理层进程需要将该第一消息发送到的那一个小区。
116.具体地,ios_read进程可以从第一共享内存读取消息队列;
117.具体地,ios_read进程读取消息队列,获取一个或多个第一消息后,可以基于第一消息携带的第一id信息,将一个或多个第一消息分别发送至各自携带的第一id信息指示的第一小区的协议栈进程对应的第二共享内存;以图2为例,第二共享内存的编号可以为ai,i=0,1,2

小区数-1;分别对应第一小区0,1,2,

,i;若ios_read获取:第一消息b0,携带第一小区0的第一id信息;第一消息b1,携带第一小区1的第一id信息;第一消息b2,携带第一小区2的第一id信息;则可以将第一消息b0发送至第一小区0的协议栈进程的第二共享内存a0,可以将第一消息b1发送至第一小区1的协议栈进程的第二共享内存a1,可以将第一消息b2发送至第一小区2的协议栈进程的第二共享内存a2。
118.具体地,ios_read进程将第一消息发送至第一id信息指示的第一小区的协议栈进程对应的第二共享内存后,所述第一id信息指示的第一小区的协议栈进程可以从第二共享内存读取第一消息,并进行相应的消息处理。
119.比如,第一小区0的协议栈进程可以从第二共享内存a0获取到第一消息b0,第一小区1的协议栈进程可以从第二共享内存a1获取到第一消息b1,第一小区2的协议栈进程可以从第二共享内存a2获取到第一消息b2。
120.本发明用于5g nr多小区场景,物理层使用单独的进程,每个小区创建协议栈进程。在协议栈初始化时,单独创建消息接收和分发进程,用于物理层与多小区协议栈间消息传递。
121.本发明提供的协议栈与物理层进程间的通信方法,通过使物理层采用单独的进程,将消息队列放入第一共享内存,且单独创建消息接收和分发的ios_read进程,以从第一共享内存读取消息队列,并将消息队列中的消息分别发送至对应的第一小区的协议栈进程对应的第二共享内存,即每个小区创建协议栈进程,不同的第一小区的协议栈进程对应不同的第二共享内存,保证协议栈不同进程间的独立性以及和物理层之间的消息同步,解决5g nr多小区场景下协议栈进程和物理层之间进程交互的准确性和及时性,降低协议栈进
程处理的负荷。
122.可选地,所述第一小区的协议栈进程从所述第一小区的协议栈进程对应的第二共享内存读取第一消息,包括:
123.根据物理层上报的时隙上报时间点,从所述第二共享内存读取所述第一消息。
124.可选地,物理层进程可以上报时隙上报时间点,第一小区的协议栈进程可以获知时隙上报时间点,并能根据物理层上报的时隙上报时间点,从所述第二共享内存读取所述第一消息。
125.可选地,在第一小区的协议栈进程从所述第一小区的协议栈进程对应的第二共享内存读取第一消息之后,所述方法还包括:
126.清空所述第一小区的协议栈进程对应的第二共享内存。
127.可选地,任一个第一小区i的协议栈进程在从该第一小区i的协议栈进程对应的第二共享内存(ai,i=0,1,2

小区数-1)中读取完成第一消息bi后,可以将该第一小区i的协议栈进程对应的第二共享内存(ai,i=0,1,2

小区数-1)初始化,用于存储下一次的消息交互。
128.可选地,在所述第一小区删除的情况下,所述方法还包括:
129.所述第一小区的协议栈进程释放所述第一小区的协议栈进程对应的第二共享内存。
130.可选地,如果存在第一小区i删除的情况,小区协议栈进程可以释放掉该第一小区i的协议栈进程对应的第二共享内存ai。
131.可选地,所述方法还包括:
132.向ios_read进程发送消息释放信号量(destroy信号量),所述信号量destroy用于表征所述第一小区的协议栈进程对应的第二共享内存已被释放。
133.可选地,如果存在第一小区i删除的情况,小区协议栈进程可以释放掉该第一小区i的协议栈进程对应的第二共享内存ai,同时通过信号量destroy通知ios_read进程更新当前支持的有效小区数,防止出现访问无效小区共享内存的情况。
134.可选地,在所述第一小区重建立的情况下,所述方法还包括:
135.所述第一小区的协议栈进程创建所述第一小区的协议栈进程对应的第二共享内存。
136.可选地,如果存在第一小区i重建立的情况,第一小区i的协议栈进程可以创建第一小区i的协议栈进程对应的第二共享内存ai(i=最新小区数-1)。
137.可选地,所述方法还包括:
138.向ios_read进程发送信号量create,所述信号量create用于表征所述第一小区的协议栈进程对应的第二共享内存已创建。
139.可选地,如果存在第一小区i重建立的情况,第一小区i的协议栈进程可以创建第一小区i的协议栈进程对应的第二共享内存ai(i=最新小区数-1);同时可以通过信号量create通知ios_read进程更新当前支持的有效小区数,防止出现未访问到有效小区共享内存的情况。
140.本发明中,若物理层资源受限情况无法创建多个进程与多小区协议栈进程进行交互,则可以通过协议栈创建出独立的进程完成多个小区协议栈进程与物理层进程的交互,
不会影响物理层的性能,并且保证了各个小区协议栈进程间相互独立,不存在由于某个小区出现问题导致所有小区进程全部被阻塞。
141.本发明提供的协议栈与物理层进程间的通信方法,通过使物理层采用单独的进程,将消息队列放入第一共享内存,且单独创建消息接收和分发的ios_read进程,以从第一共享内存读取消息队列,并将消息队列中的消息分别发送至对应的第一小区的协议栈进程对应的第二共享内存,即每个小区创建协议栈进程,不同的第一小区的协议栈进程对应不同的第二共享内存,保证协议栈不同进程间的独立性以及和物理层之间的消息同步,解决5g nr多小区场景下协议栈进程和物理层之间进程交互的准确性和及时性,降低协议栈进程处理的负荷。
142.下面对本发明提供的协议栈与物理层进程间的通信装置进行描述,下文描述的协议栈与物理层进程间的通信装置与上文描述的协议栈与物理层进程间的通信方法可相互对应参照。
143.图5是本发明提供的协议栈与物理层进程间的通信装置的结构示意图之一,如图5所示,该装置包括:第一读取模块510和发送模块520;其中:
144.第一读取模块510用于从第一共享内存读取来自物理层进程的消息队列,所述消息队列包括所述物理层进程待分别发送至一个或多个第一小区的一个或多个第一消息,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一消息对应的第一小区;
145.发送模块520用于基于所述第一消息携带的第一id信息,将所述第一消息发送至所述第一id信息指示的第一小区的协议栈进程对应的第二共享内存,以使所述第一id信息指示的第一小区从所述第二共享内存读取所述第一消息;
146.其中,不同的第一小区的协议栈进程对应不同的第二共享内存。
147.在此需要说明的是,本发明提供的上述装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本发明与方法实施例相同的部分及有益效果进行具体赘述。
148.本发明提供的协议栈与物理层进程间的通信装置,通过使物理层采用单独的进程,将消息队列放入第一共享内存,且单独创建消息接收和分发的ios_read进程,以从第一共享内存读取消息队列,并将消息队列中的消息分别发送至对应的第一小区的协议栈进程对应的第二共享内存,即每个小区创建协议栈进程,不同的第一小区的协议栈进程对应不同的第二共享内存,保证协议栈不同进程间的独立性以及和物理层之间的消息同步,解决5g nr多小区场景下协议栈进程和物理层之间进程交互的准确性和及时性,降低协议栈进程处理的负荷。
149.图6是本发明提供的协议栈与物理层进程间的通信装置的结构示意图之二,如图6所示,该装置包括:确定模块610和写入模块620;其中:
150.确定模块610用于基于待分别发送至一个或多个第一小区的一个或多个第一消息,确定消息队列,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一消息对应的第一小区;
151.写入模块620用于将所述消息队列写入第一共享内存,以使ios_read进程从第一共享内存读取所述消息队列并基于所述第一消息携带的第一id信息,将所述第一消息发送至所述第一id信息指示的第一小区的协议栈进程对应的第二共享内存;
152.其中,不同的第一小区的协议栈进程对应不同的第二共享内存。
153.在此需要说明的是,本发明提供的上述装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本发明与方法实施例相同的部分及有益效果进行具体赘述。
154.本发明提供的协议栈与物理层进程间的通信装置,通过使物理层采用单独的进程,将消息队列放入第一共享内存,且单独创建消息接收和分发的ios_read进程,以从第一共享内存读取消息队列,并将消息队列中的消息分别发送至对应的第一小区的协议栈进程对应的第二共享内存,即每个小区创建协议栈进程,不同的第一小区的协议栈进程对应不同的第二共享内存,保证协议栈不同进程间的独立性以及和物理层之间的消息同步,解决5g nr多小区场景下协议栈进程和物理层之间进程交互的准确性和及时性,降低协议栈进程处理的负荷。
155.图7是本发明提供的协议栈与物理层进程间的通信装置的结构示意图之三,如图7所示,该装置包括:第二读取模块710;其中:
156.第二读取模块710用于从所述第一小区的协议栈进程对应的第二共享内存读取第一消息,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一小区。
157.在此需要说明的是,本发明提供的上述装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本发明与方法实施例相同的部分及有益效果进行具体赘述。
158.本发明提供的协议栈与物理层进程间的通信装置,通过使物理层采用单独的进程,将消息队列放入第一共享内存,且单独创建消息接收和分发的ios_read进程,以从第一共享内存读取消息队列,并将消息队列中的消息分别发送至对应的第一小区的协议栈进程对应的第二共享内存,即每个小区创建协议栈进程,不同的第一小区的协议栈进程对应不同的第二共享内存,保证协议栈不同进程间的独立性以及和物理层之间的消息同步,解决5g nr多小区场景下协议栈进程和物理层之间进程交互的准确性和及时性,降低协议栈进程处理的负荷。
159.图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(communications interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行协议栈与物理层进程间的通信方法,该方法包括:
160.从第一共享内存读取来自物理层进程的消息队列,所述消息队列包括所述物理层进程待分别发送至一个或多个第一小区的一个或多个第一消息,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一消息对应的第一小区;
161.基于所述第一消息携带的第一id信息,将所述第一消息发送至所述第一id信息指示的第一小区的协议栈进程对应的第二共享内存,以使所述第一id信息指示的第一小区从所述第二共享内存读取所述第一消息;
162.其中,不同的第一小区的协议栈进程对应不同的第二共享内存。
163.或者包括:
164.基于待分别发送至一个或多个第一小区的一个或多个第一消息,确定消息队列,
所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一消息对应的第一小区;
165.将所述消息队列写入第一共享内存,以使ios_read进程从第一共享内存读取所述消息队列并基于所述第一消息携带的第一id信息,将所述第一消息发送至所述第一id信息指示的第一小区的协议栈进程对应的第二共享内存;
166.其中,不同的第一小区的协议栈进程对应不同的第二共享内存。
167.或者包括:
168.第一小区的协议栈进程从所述第一小区的协议栈进程对应的第二共享内存读取第一消息,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一小区。
169.此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
170.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的协议栈与物理层进程间的通信方法,该方法包括:
171.从第一共享内存读取来自物理层进程的消息队列,所述消息队列包括所述物理层进程待分别发送至一个或多个第一小区的一个或多个第一消息,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一消息对应的第一小区;
172.基于所述第一消息携带的第一id信息,将所述第一消息发送至所述第一id信息指示的第一小区的协议栈进程对应的第二共享内存,以使所述第一id信息指示的第一小区从所述第二共享内存读取所述第一消息;
173.其中,不同的第一小区的协议栈进程对应不同的第二共享内存。
174.或者包括:
175.基于待分别发送至一个或多个第一小区的一个或多个第一消息,确定消息队列,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一消息对应的第一小区;
176.将所述消息队列写入第一共享内存,以使ios_read进程从第一共享内存读取所述消息队列并基于所述第一消息携带的第一id信息,将所述第一消息发送至所述第一id信息指示的第一小区的协议栈进程对应的第二共享内存;
177.其中,不同的第一小区的协议栈进程对应不同的第二共享内存。
178.或者包括:
179.第一小区的协议栈进程从所述第一小区的协议栈进程对应的第二共享内存读取第一消息,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一小区。
180.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程
序,该计算机程序被处理器执行时实现以执行上述各方法提供的协议栈与物理层进程间的通信方法,该方法包括:
181.从第一共享内存读取来自物理层进程的消息队列,所述消息队列包括所述物理层进程待分别发送至一个或多个第一小区的一个或多个第一消息,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一消息对应的第一小区;
182.基于所述第一消息携带的第一id信息,将所述第一消息发送至所述第一id信息指示的第一小区的协议栈进程对应的第二共享内存,以使所述第一id信息指示的第一小区从所述第二共享内存读取所述第一消息;
183.其中,不同的第一小区的协议栈进程对应不同的第二共享内存。
184.或者包括:
185.基于待分别发送至一个或多个第一小区的一个或多个第一消息,确定消息队列,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一消息对应的第一小区;
186.将所述消息队列写入第一共享内存,以使ios_read进程从第一共享内存读取所述消息队列并基于所述第一消息携带的第一id信息,将所述第一消息发送至所述第一id信息指示的第一小区的协议栈进程对应的第二共享内存;
187.其中,不同的第一小区的协议栈进程对应不同的第二共享内存。
188.或者包括:
189.第一小区的协议栈进程从所述第一小区的协议栈进程对应的第二共享内存读取第一消息,所述第一消息携带第一id信息,所述第一id信息用于指示与所述第一小区。
190.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
191.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
192.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1