卫星通信系统及其数据缓存方法、计算机可读存储介质与流程

文档序号:29793819发布日期:2022-04-23 18:20阅读:146来源:国知局
卫星通信系统及其数据缓存方法、计算机可读存储介质与流程

1.本技术涉及无线通信技术领域,特别涉及一种卫星通信系统及其数据缓存方法、计算机可读存储介质。


背景技术:

2.卫星通信系统覆盖范围很广,尤其是像山区,海上等对地面系统来说是覆盖盲区的地方,卫星信号能够在无线数据缓存、区域广播和数据分发等方面带来很大的优势。但是卫星通信系统还存在传输距离大,高动态和传输时延长的特点。pdcp(packet data convergence protocol,分组数据汇聚协议)是卫星移动通信协议系统中的分组数据汇聚层,信关站接入网侧需要对核心网侧的数据进行pdcp协议处理,包括加头,加解密,头压缩等操作,这就导致了接入网侧速率低和时延增加,终端收到的速率也会变低。


技术实现要素:

3.本技术旨在至少解决现有技术中存在的技术问题之一。为此,本技术提出一种卫星通信系统及其数据缓存方法、计算机可读存储介质,能够提高了接入网侧下行用户面数据的传输速率。
4.第一方面,本技术提供了一种卫星通信系统的数据缓存方法,应用于接入网侧,所述数据缓存方法,包括:
5.创建并初始化环形队列,并确定所述环形队列的长度信息;
6.通过第一线程,接收来自核心网侧的数据信息;
7.获取当前的所述环形队列的元素信息;其中,所述元素信息包括入队元素个数信息和出队元素个数信息;
8.根据所述长度信息和所述元素信息,判断所述环形队列的写入状态信息;
9.根据所述写入状态信息和所述环形队列的入队索引,确定写入位置,将所述数据信息写入到所述写入位置并更新所述入队索引;
10.通过第二线程,根据所述环形队列的出队索引,确定读取位置,将所述读取位置的所述数据信息输出并更新所述出队索引。
11.根据本技术第一方面实施例的卫星通信系统的数据缓存方法,至少具有如下有益效果:创建并初始化环形队列,并确定环形队列的长度信息,本数据缓存方法包括第一线程和第二线程,通过第一线程接收来自核心网侧的数据信息,并获取当前的环形队列的元素信息,根据长度信息和元素信息判断并确定当前环形队列的写入状态信息,根据写入状态和环形队列中的入队索引,并将数据信息写入确定的写入位置中,并更新所述入队索引,同时,还通过第二线程,根据环形队列的出队索引,从确定的读取位置中读取数据信息并更新出队索引,接收和处理来自核心网的数据分为第一线程和第二线程,使接收线程和处理线程能够并发地进行,不需要等到接收一个数据并处理完后,再读取下一个数据,接收数据的线程会把数据缓存在无锁环形队列里,处理数据的线程从缓存队列里取出数据进行处理,
这样提高了接入网侧下行用户面数据的传输速率,减少了接入网侧软件对操作系统内存的分配与释放次数。
12.根据本技术第一方面的一些实施例,所述写入状态信息包括可写入状态和不可写入状态;根据所述长度信息和所述元素信息,判断所述环形队列的写入状态信息,包括:当所述入队元素个数信息和所述出队元素个数信息的差值大于或等于所述长度信息,则环形队列为不可写入状态;当所述入队元素个数信息和所述出队元素个数信息的差值小于所述长度信息,则环形队列为可写入状态。
13.根据本技术第一方面的一些实施例,还包括:当所述环形队列为不可写入状态,间隔第一时间重新判断所述环形队列的写入状态信息。
14.根据本技术第一方面的一些实施例,根据所述写入状态信息和所述环形队列的入队索引,确定写入位置,将所述数据信息写入到所述写入位置并更新所述入队索引,包括:当所述环形队列为可写入状态,将所述环形队列的入队索引加1并与所述长度信息执行取余操作,确定写入位置;将所述数据信息写入到所述写入位置,并更新所述入队索引和所述入队元素个数信息。
15.根据本技术第一方面的一些实施例,还包括:当所述读取位置内不存在数据信息,间隔第二时间重新读取同一个所述读取位置的数据信息。
16.根据本技术第一方面的一些实施例,还包括:根据所述长度信息和每个元素可接收的最大数据长度信息,申请所述环形队列可用的内存信息。
17.根据本技术第一方面的一些实施例,接收来自核心网侧的数据信息,包括:创建套接字,并通过所述套接字接收来自核心网侧的数据信息。
18.第二方面,本技术还提供了一种卫星通信系统,包括接入网侧和核心网侧,所述接入网侧包括:至少一个存储器;至少一个处理器;至少一个程序;所述程序被存储在所述存储器中,所述处理器执行至少一个所述程序以实现如第一方面任一项实施例所述的卫星通信系统的数据缓存方法。
19.根据本技术第二方面实施例的卫星通信系统,至少具有如下有益效果:创建并初始化环形队列,并确定环形队列的长度信息,本数据缓存方法包括第一线程和第二线程,通过第一线程接收来自核心网侧的数据信息,并获取当前的环形队列的元素信息,根据长度信息和元素信息判断并确定当前环形队列的写入状态信息,根据写入状态和环形队列中的入队索引,并将数据信息写入确定的写入位置中,并更新所述入队索引,同时,还通过第二线程,根据环形队列的出队索引,从确定的读取位置中读取数据信息并更新出队索引,接收和处理来自核心网的数据分为第一线程和第二线程,使接收线程和处理线程能够并发地进行,不需要等到接收一个数据并处理完后,再读取下一个数据,接收数据的线程会把数据缓存在无锁环形队列里,处理数据的线程从缓存队列里取出数据进行处理,这样提高了接入网侧下行用户面数据的传输速率,减少了接入网侧软件对操作系统内存的分配与释放次数。
20.第三方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行信号,所述计算机可执行信号用于执行如第一方面任一项实施例所述的多相电能表的计数方法。
21.本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变
得明显,或通过本技术的实践了解到。
附图说明
22.本技术的附加方面和优点结合下面附图对实施例的描述中将变得明显和容易理解,其中:
23.图1为本技术第一方面的一个实施例的卫星通信系统的数据缓存方法的流程图;
24.图2为本技术第一方面的另一实施例的卫星通信系统的数据缓存方法的流程图;
25.图3为本技术第一方面的另一实施例的卫星通信系统的数据缓存方法的流程图;
26.图4为本技术第一方面的另一实施例的卫星通信系统的数据缓存方法的流程图;
27.图5为本技术第二方面的一个实施例的卫星通信系统的示意图。
具体实施方式
28.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能理解为对本技术的限制。
29.在本技术的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
30.在本技术的描述中,如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
31.本技术的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本技术中的具体含义。
32.参照图1,本技术提供了一种卫星通信系统的数据缓存方法,应用于接入网侧,数据缓存方法,包括但不仅限于以下步骤:
33.步骤s110:创建并初始化环形队列,并确定环形队列的长度信息;
34.步骤s120:通过第一线程,接收来自核心网侧的数据信息;
35.步骤s130:获取当前的环形队列的元素信息;其中,元素信息包括入队元素个数信息和出队元素个数信息;
36.步骤s140:根据长度信息和元素信息,判断环形队列的写入状态信息;
37.步骤s150:根据写入状态信息和环形队列的入队索引,确定写入位置,将数据信息写入到写入位置并更新入队索引;
38.步骤s160:通过第二线程,根据环形队列的出队索引,确定读取位置,将读取位置的数据信息输出并更新出队索引。
39.创建并初始化环形队列,并确定环形队列的长度信息,本数据缓存方法包括第一线程和第二线程,通过第一线程接收来自核心网侧的数据信息,并获取当前的环形队列的元素信息,根据长度信息和元素信息判断并确定当前环形队列的写入状态信息,根据写入
状态和环形队列中的入队索引,并将数据信息写入确定的写入位置中,并更新所述入队索引,同时,还通过第二线程,根据环形队列的出队索引,从确定的读取位置中读取数据信息并更新出队索引,接收和处理来自核心网的数据分为第一线程和第二线程,使接收线程和处理线程能够并发地进行,不需要等到接收一个数据并处理完后,再读取下一个数据,接收数据的线程会把数据缓存在无锁环形队列里,处理数据的线程从缓存队列里取出数据进行处理,这样提高了接入网侧下行用户面数据的传输速率,减少了接入网侧软件对操作系统内存的分配与释放次数。
40.需要说明的是,环形队列为无锁环形队列,无锁环形队列里的元素的位置是固定的,进队的时候指针挂在队列的数组上,出队的时候把挂在队列数组的指针取出来,这些内存空间可以重复使用,避免频繁内存释放和申请的开销,也就减少了内存拷贝,提高了效率。采用队列索引的方式访问队列的元素,使用不同的索引表示入队和出队,这样两个线程访问同一个队列的时候,入队的时候操作入队索引,出队的时候操作出队索引,这样实现了线程的无锁操作。处理用户面数据的时候,加锁会增加用户面的时延,无锁是加快接入网侧处理用户面数据有效的方法。
41.参照图2,可以理解的是,写入状态信息包括可写入状态和不可写入状态,其中,在步骤s140中,包括但不限于以下步骤:
42.步骤s210:当入队元素个数信息和出队元素个数信息的差值大于或等于长度信息,则环形队列为不可写入状态;
43.步骤s220:当入队元素个数信息和出队元素个数信息的差值小于长度信息,则环形队列为可写入状态。
44.在进入进入接收数据信息的第一线程,需要判断入队元素个数信息pushcount和出队元素个数信息popcount的差值与长度信息的关系,若入队元素个数信息和出队元素个数信息的差值大于或等于长度信息,则环形队列为不可写入状态,返回错误值,说明当前环形队列存储的数据信息已满,不能再写入队列,以免写入的数据信息将未读取的数据信息覆盖,导致数据信息的丢失。当入队元素个数信息和出队元素个数信息的差值小于长度信息,则环形队列为可写入状态。
45.可以理解的是,本技术提供的卫星通信系统的数据缓存方法,还包括但不限于以下步骤:
46.当环形队列为不可写入状态,间隔第一时间重新判断环形队列的写入状态信息。
47.通过步骤s210判断得到环形队列为不可写入状态,则间隔第一时间重新判断环形队列的写入状态信息,直至写入状态信息为可写入状态,将接收的数据信息写入到对应的写入位置处。
48.参照图3,可以理解的是,在步骤s150中,包括但不限于以下步骤:
49.步骤s310:当环形队列为可写入状态,将环形队列的入队索引加1并与长度信息执行取余操作,确定写入位置;
50.步骤s320:将数据信息写入到写入位置,并更新入队索引和入队元素个数信息。
51.当判断得到环形队列为可写入状态,将环形队列的入队索引加1,并与长度信息执行取余操作,从而确定写入位置,通过取余的方式快速定位到环形队列中的元素位置,即确定写入位置,将数据信息写入到该写入位置,在写入完成后,更新入队索引和入队元素个数
信息,以便于下一次在接收数据的第一线程对环形队列的写入状态信息判断。
52.参照图4,可以理解的是,在步骤s160中,包括但不限于以下步骤:
53.步骤s410:将环形队列的出队索引加1并与长度信息执行取余操作,确定读取位置;
54.步骤s420:将读取位置的数据信息输出并更新出队索引和出队元素个数信息。
55.在处理数据的第二线程中,将环形队列中的出队索引加1,并与长度信息执行取余操作,与步骤s310类似,通过执行取余操作的方式,从而快速定位到环形队列中的元素位置,即确定读取位置,将读取位置的数据信息输出,在读取操作完成后,更新出队索引和出队元素个数信息,以便于下一次在接收数据的第一线程对环形队列的写入状态信息判断。
56.可以理解的是,本技术提供的卫星通信系统的数据缓存方法,还包括但不限于以下步骤:
57.当读取位置内不存在数据信息,间隔第二时间重新读取同一个读取位置的数据信息。
58.当出队索引所指向的读取位置不存在数据信息,则说明可能处理数据速度超过接收数据速度,或短时间内核心网侧并没有数据输入到接入网侧,当在读取位置内检测不到数据时,则间隔第二时间重新检测读取位置的数据信息,若该读取位置内存在数据信息,则将该数据信息取出。
59.可以理解的是,本技术提供的卫星通信系统的数据缓存方法,还包括但不限于以下步骤:
60.根据长度信息和每个元素可接收的最大数据长度信息,申请环形队列可用的内存信息。
61.初始化环形队列,确定队列的长度信息,根据队列长度和接收数据的最大长度,一次性申请队列可用的内存空间,以免后续数据缓冲的过程出现内存的分配错误,从而导致数据丢失。
62.可以理解的是,本技术提供的卫星通信系统的数据缓存方法,还包括但不限于以下步骤:
63.创建套接字,并通过套接字接收来自核心网侧的数据信息。
64.所谓套接字(socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议栈进行交互的接口。
65.第二方面,还提供了一种卫星通信系统,包括接入网侧和核心网侧,接入网侧包括:至少一个存储器;至少一个处理器;至少一个程序;程序被存储在存储器中,处理器执行至少一个程序以实现如第一方面任一项实施例的卫星通信系统的数据缓存方法。
66.本卫星通信系统的接入网侧通过创建并初始化环形队列,并确定环形队列的长度信息,本数据缓存方法包括第一线程和第二线程,通过第一线程接收来自核心网侧的数据信息,并获取当前的环形队列的元素信息,根据长度信息和元素信息判断并确定当前环形队列的写入状态信息,根据写入状态和环形队列中的入队索引,并将数据信息写入确定的写入位置中,并更新所述入队索引,同时,还通过第二线程,根据环形队列的出队索引,从确
定的读取位置中读取数据信息并更新出队索引,接收和处理来自核心网的数据分为第一线程和第二线程,使接收线程和处理线程能够并发地进行,不需要等到接收一个数据并处理完后,再读取下一个数据,接收数据的线程会把数据缓存在无锁环形队列里,处理数据的线程从缓存队列里取出数据进行处理,这样提高了接入网侧下行用户面数据的传输速率,减少了接入网侧软件对操作系统内存的分配与释放次数。
67.参照图5,处理器和存储器可以通过总线或其他方式连接,通过总线连接为例。
68.存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及信号,如本技术实施例中的处理模块对应的程序指令/信号。处理器通过运行存储在存储器中的非暂态软件程序、指令以及信号,从而执行各种功能应用以及数据处理,即实现上述方法实施例的卫星通信系统的数据缓存方法。
69.存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储上述卫星通信系统的数据缓存方法的相关数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
70.一个或者多个信号存储在存储器中,当被一个或者多个处理器执行时,执行上述任意方法实施例中的卫星通信系统的数据缓存方法。例如,执行以上描述的图1中的方法步骤s110至s160、图2中的方法步骤s210至s220、图3中的方法步骤s310至s320和图4中的方法步骤s410至s420。
71.第三方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,可使得上述一个或多个处理器执行上述方法实施例中的卫星通信系统的数据缓存方法。例如,执行以上描述的图1中的方法步骤s110至s160、图2中的方法步骤s210至s220、图3中的方法步骤s310至s320和图4中的方法步骤s410至s420。
72.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
73.通过以上的实施方式的描述,本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读信号、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何
其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读信号、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
74.上面结合附图对本技术实施例作了详细说明,但是本技术不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本技术宗旨的前提下,作出各种变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1