CN110781008A - 一种5g终端模拟系统中随机接入的实现方法 - Google Patents
一种5g终端模拟系统中随机接入的实现方法 Download PDFInfo
- Publication number
- CN110781008A CN110781008A CN201911067289.8A CN201911067289A CN110781008A CN 110781008 A CN110781008 A CN 110781008A CN 201911067289 A CN201911067289 A CN 201911067289A CN 110781008 A CN110781008 A CN 110781008A
- Authority
- CN
- China
- Prior art keywords
- thread
- pool
- thread pool
- user
- task
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004088 simulation Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 14
- 101100533725 Mus musculus Smr3a gene Proteins 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 23
- 238000012544 monitoring process Methods 0.000 claims description 13
- 230000002452 interceptive effect Effects 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000007717 exclusion Effects 0.000 claims description 3
- 102100035971 Molybdopterin molybdenumtransferase Human genes 0.000 claims description 2
- 101710119577 Molybdopterin molybdenumtransferase Proteins 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 238000013461 design Methods 0.000 abstract description 5
- 238000004891 communication Methods 0.000 abstract description 2
- 238000001228 spectrum Methods 0.000 abstract description 2
- 238000010295 mobile communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 101100274486 Mus musculus Cited2 gene Proteins 0.000 description 2
- 101150096622 Smr2 gene Proteins 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000005059 dormancy Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W74/00—Wireless channel access
- H04W74/08—Non-scheduled access, e.g. ALOHA
- H04W74/0833—Random access procedures, e.g. with 4-step access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种5G终端模拟系统中随机接入的实现方法,属于通信技术领域。为了满足5G系统的高频谱效率和高连接数目的需求,多用户接入显得尤为重要。本发明主要从系统开销资源和时间复杂度两方面对5G终端模拟系统中随机接入模块进行设计。本发明主要采用了线程池的思想,可有效减少系统开辟线程资源消耗的时间,最终能节省系统20%‑50%的资源开销。在用户线程资源调度上,采用了两个链表数据结构,处理数据的时间复杂度由传统的O(N)降低到O(1),大大增加了数据传输的速度,且按照R15版本协议标准成功完成5G终端模拟系统的随机接入过程。
Description
技术领域
本发明属于通信技术领域,涉及一种5G终端模拟系统中随机接入的实现方法。
背景技术
随着移动通信的发展,移动通信数据业务急剧增长,移动通信网络能源消耗也随之剧增。为了满足这种需求,第五代移动通信系统(the Fifth Generation MobileCommunication,5G)的出现成为必然趋势。
通过对5G的发展现状的阐述,5G终端的发展也具有很大的潜力。传统的测试基站容量的方法是多个终端对基站进行呼叫,其缺点是布置多个终端进行测试十分复杂。5G终端模拟器能同时模拟多个用户的行为。在进行基站测试时,只需要放置几台终端模拟设备,这样大大减少了测试基站容量的复杂性。
为了满足5G系统的高频谱效率和高连接数目的需求,多用户接入显得非常重要。在5G终端模拟系统中,随机接入过程是一个至关重要的过程,只有通过随机接入过程实现上行同步后,UE才能进行上行数据的传输。在随机接入过程中,快速查找用户信息是一个至关重要的过程。而传统的LTE系统中,使用链表查找用户结点的时间复杂度为O(N),使用单链表这种数据结构复杂度在5G终端模拟系统当中不能满足速率指标要求。在5G终端系统中必须在单位时间内处理巨大连接的请求要求,但处理的时间要求却相对较短。传统的LTE系统中对于一个任务一旦收到请求之后就要创建一个新的线程,由该线程执行任务,执行完后就由系统进行销毁。但是在5G低时延的要求下,频繁地创建销毁线程会导致处理数据的时间急剧增加。假设创建线程的时间分别为T1、T2、T3。其中T1代表线程创建的时间、T2表示线程执行的时间、T3表示线程销毁的时间。那么线程的本身开销为(T1+T2)/(T1+T2+T3)。如果任务很频繁的话,这笔开销是无法忽略的。
发明内容
有鉴于此,本发明的目的在于提供一种5G终端模拟系统中随机接入的实现方法。
为达到上述目的,本发明提供如下技术方案:
一种5G终端模拟系统中随机接入的实现方法,该方法包括以下步骤:
S1:创建线程池架构;
S2:对用户的资源进行初始化并对用户随机接入前导进行资源选择;
S3:管理线程先对任务线程池中线程对象中的线程ID与空闲线程池中的线程ID赋值,然后将任务池中的函数指针放到线程池对象中进行匹配;
S4:空闲线程池与忙碌线程池主要执行对用户线程进行添加的过程;
S5:管理线程将Msg1所在的任务对象与空闲线程池中的任务对象进行匹配;如果匹配成功,将空闲线程池中匹配成功的线程添加到忙碌线程池,并对Msg1进行处理,通过交互接口函数发送到物理层;
S6:随机接入响应数据包解析;
S7:发送Msg3,并开启竞争解决定时器监听Msg4,当数据包成功解析并且数据包含有C-RNTI标识,表示随机接入成功,否则选择合适的退避值重新对随机接入资源选择。
可选的,所述S1中,创建线程池架构包括:在这个主进程中创建任务管理线程、管理线程、监控线程;
创建一个任务池、一个空闲线程池、一个忙碌线程池;
监控线程对线程池进行动态的调度和调整;
任务管理线程主要是将随机接入中的消息事件封装成任务并激活休眠的管理线程;
管理线程主要负责从任务池中取任务以及从线程池中取线程,通过条件变量进行同步;
监控线程主要负责动态调整和调度线程池;任务池主要将任务封装成任务对象;
空闲线程池主要是负责创建线程对象,忙碌线程池主要对与任务匹配的线程进行处理。
可选的,所述S2、S3包括:MAC层对随机接入资源选择,选择的资源作为每个用户发送的Msg1;由于每个用户访问的是全局资源,每个用户的Msg1被封装成事件后,要对每个用户资源加互斥锁;当任务线程中的任务到达时,管理线程才会从休眠的状态中被激活;管理线程先将任务线程池中线程ID与空闲线程池中的线程ID赋值并将任务池中的函数指针放到线程池对象中进行匹配;然后将匹配到的任务放到相应的空闲线程池中的线程中。
可选的,所述S4包括:将空闲线程池中的线程添加到忙碌线程池中,在忙碌线程池中处理匹配的任务;主要的思路如下:创建空闲线程池的链表和忙碌线程池链表,在空闲线程池中创建8个用户线程;此时监控进程对空闲线程池中的线程进行判断,如果创建的用户线程大于空闲线程池线程总量的80%,则添加20%的空闲线程池线程总量;如果创建的用户线程小于线程池线程总量的50%,则杀死多余20%空闲线程池线程总量;获取用户线程链表的头结点,当第一个任务到达时,将空闲线程池中的第一个用户线程节点取出,然后添加到忙碌线程池链表头节点后面,并将此用户线程节点的指针域置为空;当第二个任务到达时,将空闲线程池中的第二个用户线程节点取出,添加到忙碌线程池链表的第一个节点后面,并将添加的第二个用户线程节点的指针域置为空;以此类推,当8个用户同时添加时,只需将空闲线程池中的8个线程添加到忙碌线程池中,由忙碌线程池来处理8个用户的任务。
可选的,所述S5、S6包括:在忙碌线程中对Msg1进行处理后,通过交互接口函数发送到物理层;然后空闲线程池中的用户线程进行死锁等待,当物理层中的数据包到达任务池时,此时设置一个条件变量触发用户线程;每个用户线程分别接收物理层的随机响应数据包并解析;随机接入响应PDU中含有BI子头、RAPID、RAPID-RAR三种subPDU;解析方法如下:定义BI、RAPID、RAR结构体并按位进行紧凑排列,定义一个缓冲区,将随机接入响应数据包放入缓冲区中;判断扩展域E的值,当E等于1时,表示BI子头后面还有subPDU,当E等于0时,表示只有BI子头;再判断T的值,当T等于0时,则表示的是BI子头,当T等于1时,则表示RAPID子头;当解析完BI子头后,缓冲区将偏移BI的大小;解析RAR,并判断RAR里面是否接收到TC-RNTI,若收到则解析TC-RNTI,放入Msg3的缓冲区;当RAR解析成功时,缓冲区将偏移RAR的大小。
可选的,所述S7包括:当UE是第一次随机接入时,将每个用户的Msg3信息添加到任务池,然后通过管理线程将Msg3的任务池与线程池进行匹配,然后添加到忙碌线程池,最后通过交互接口发给物理层,并开启定时控制线程,等待Msg4;如果MAC层能够成功解析由C-RNTI加扰的PDCCH,则随机接入响应成功并将忙碌线程切换成空闲线程;当定时控制线程中的定时时间超时,将空闲线程池中的线程清除,删除用户信息并选择随机接入响应的PDU中的BI值进行退避处理;当定时控制线程中的定时时间没有超时且没有成功解析由C-RNTI加扰的PDCCH时,MAC层判断随机接入响应的前导码发送数量是否大于最大的前导码发送数量,如果大于,则需要选择随机接入响应的BI值进行退避处理。
本发明的有益效果在于:本发明主要从系统开销资源和时间复杂度对传统的系统设计进行优化。在设计的过程中巧妙地使用空闲线程池链表和忙碌线程池链表来对用户进程进行管理,最终使得查询用户的时间复杂度能从原来的O(N)下降到O(1)。而在设计多用户的过程中使用线程池架构,最终使得5G终端模拟系统的系统资源相比原来的LTE终端模拟系统节约20%-50%。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为线程池设计;
图2为空闲线程池中的线程添加到忙碌线程池流程;
图3为随机接入实现流程;
图4为随机接入的设计流程。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
如图1~图4所示,本发明提供如下技术方案:
S1:创建主进程,在这个主进程中创建任务管理线程、管理线程、监控线程。创建一个任务池、一个空闲线程池、一个忙碌线程池。
S2:对用户的资源进行初始化并对用户随机接入前导进行资源选择。主要选择SSB或者CSI-RS、选择preamble index、选择发送preamble的PRACH资源、确定RA-RNTI、确定目标的接收功率。选择SSB和CSI-RS时,对SSB或者CSI-RS的测量值与理论值进行比较,取其最大值。选择前导码索引时,将前导码分组groupA和groupB,当groupB大于Msg3的大小并且满足路损条件时选择groupB,否则选择GroupA。根据RRC的配置信息对PRACH进行选择。根据RRC配置信息可以计算出RA-RNTI与发送功率。其中RA-RNTI计算如下:
RA--RNTI=1+S_id+14*t_id+14*80*f_id+14*80*8*ul_carrier_id
其中,S_id是PRACH的第一个OFDM符号的索引(0≤S_id<14),t_id是系统帧中的第一个时隙的索引(0≤t_id<80),f_id是索引频域中指定的PRACH的值(0≤f_id<8),并且ul_carrier_id是用于Msg1传输的UL载波(0表示NUL载波,1表示SUL载波)
发送功率计算如下:
PREAMBLE_RECEIVED_TARGET_POWER
=preambleReceviedTargetpower+DELTA_PREAMBLE
+(PREAMBLE_POWER_RAMPING_COUNTER-1)
*PREAMBLE_POWER_RAMPING_STEP
其中,preambleReceviedTargetpower是基站期望接收到的前导码功率,DELTA_PREAMBLE与前导码格式有关。
PREAMBLE_POWER_RAMPING_STEP是每次接入失败后,下次接入时提升的发射功率。
PREAMBLE_POWER_RAMPING_COUNTER是提升发射功率的次数。
S3:MAC层在空闲线程中如果满足各个用户的前导码传输数量是否大于1以及SSB是否不变,则将前导码传输数量加1。最后将前导码传输数量存入MAC层缓冲区。MAC层将Msg1通过任务管理线程封装成任务,然后将Msg1放入任务池并激活管理线程。
S4:管理线程将任务池的任务与空闲线程池中的线程进行匹配,然后将需要处理Msg1的任务对象分配给空闲线程池中的线程。
S5:管理线程将空闲线程池的用户线程添加到忙碌线程池中,并在忙碌池中实现各个用户的任务,然后将任务中的Msg1通过接口函数发送给物理层。
S6:当UE发送完前导码后,MAC层启动随机接入窗口并监听由RA-RNTI加扰的PDCCH。如果随机接入的时间窗到期,则Msg2接收不成功,此时MAC层将前导码传输数量加1。如果前导码传输数量超过了preambleTransMax,则随机接入过程不成功。当随机接入过程不成功时,解析BI退避值并选择合适的时机进行退避,返回到S2步骤中,重新对随机接入资源进行选择,最后将忙碌线程切换至空闲进程。如果随机接入的时间窗没有到期,则物理层将Msg2和DCI的TB块进行解码并将解码后的TB块送入到MAC层的任务池。
S8:MAC层将RAR PDU数据包通过任务管理线程封装成任务,放入任务池中,然后管理线程将任务池中的任务与线程池中的线程进行匹配。
S9:将空闲线程添加到忙碌线程上,然后在忙碌线程上对RAR PDU进行解析。
S10:MAC层实体启动竞争解决定时器并监听PDCCH。当Msg4中含有的C-RNTI与Msg3的C-RNTI一致时,竞争解决成功。然后停止竞争解决定时器并丢弃TC-RNTI标识,此时随机接入完成。当竞争解决定时器超时时,则代表UE竞争解决失败。在这种情况下,UE应刷新Msg3缓冲区中传输MAC PDU的HARQ缓冲区并将前导码传输数量加1。如果前导码传输数量超过了由RRC层配置的前导码传输数量的最大值,则UE应选择合适的值进行退避并重新返回步骤S2中进行随机接入的资源选择。
本发明进行详细的实现设计流程。
S1:创建主进程,在这个主进程中创建任务管理线程、管理线程、监控线程。创建一个任务池、一个空闲线程池、一个忙碌线程池。监控线程对线程池进行动态的调度和调整。任务管理线程主要任务是将随机接入中的消息事件封装成任务并激活休眠。管理线程主要负责从任务池中取任务以及从线程池中取线程,通过条件变量进行同步。监控线程主要负责动态调整和调度线程池。任务池主要将任务封装成任务对象。空闲线程池主要是负责创建线程对象,忙碌线程池主要对与任务匹配的线程进行处理。
S2:MAC层对随机接入资源选择,选择的资源作为每个用户发送的Msg1。由于每个用户访问的是全局资源,每个用户的Msg1被封装成事件后,要对每个用户资源加互斥锁。当任务线程中的任务到达时,管理线程才会从休眠的状态中被激活。
S3:管理线程先将任务线程池中线程ID与空闲线程池中的线程ID赋值并将任务池中的函数指针放到线程池对象中进行匹配,然后将匹配到的任务放到相应的空闲线程池中的线程中。
S4:将空闲线程池中的线程添加到忙碌线程池中,在忙碌线程池中处理匹配的任务。主要的思路如下:创建空闲线程池的链表和忙碌线程池链表,在空闲线程池中创建8个用户线程。此时监控进程对空闲线程池中的线程进行判断,如果创建的用户线程大于空闲线程池线程总量的80%,则添加20%的空闲线程池线程总量。如果创建的用户线程小于线程池线程总量的50%,则杀死多余20%空闲线程池线程总量。获取用户线程链表的头结点,当第一个任务到达时,将空闲线程池中的第一个用户线程节点取出,然后添加到忙碌线程池链表头节点后面,并将此用户线程节点的指针域置为空。当第二个任务到达时,将空闲线程池中的第二个用户线程节点取出,添加到忙碌线程池链表的第一个节点后面,并将添加的第二个用户线程节点的指针域置为空。以此类推,当8个用户同时添加时,只需将空闲线程池中的8个线程添加到忙碌线程池中,由忙碌线程池来处理8个用户的任务。最终使得添加用户线程的时间复杂度能从原来轮询整个线程链表时的O(N)下降到O(1)。
S5:管理线程将Msg1中所在的任务对象与空闲线程池中的任务对象进行匹配。如果匹配成功,将空闲线程池中匹配成功的线程添加到忙碌线程池并对Msg1进行处理,通过交互接口函数发送到物理层。
S6:在忙碌线程中对Msg1进行处理后,通过交互接口函数发送到物理层。然后空闲线程池中的用户线程进行死锁等待,当物理层中的数据包到达任务池时,此时设置一个条件变量触发用户线程。每个用户线程分别接收物理层的随机响应数据包并解析。随机接入响应PDU中含有BI子头、RAPID、RAPID-RAR三种subPDU。解析方法如下:定义BI、RAPID、RAR结构体并按位进行紧凑排列,定义一个缓冲区,将随机接入响应数据包放入缓冲区中。判断扩展域E的值,当E等于1时,表示BI子头后面还有subPDU,当E等于0时,表示只有BI子头。再判断T的值,当T等于0时,则表示的是BI子头,当T等于1时,则表示RAPID子头。当解析完BI子头后,缓冲区将偏移BI的大小。解析RAR,并判断RAR里面是否接收到TC-RNTI,若收到则解析TC-RNTI,放入Msg3的缓冲区。当RAR解析成功时,缓冲区将偏移RAR的大小。
S7:当UE是第一次随机接入时,将每个用户的Msg3信息添加到任务池,然后通过管理线程将Msg3的任务池与线程池进行匹配,然后添加到忙碌线程池,最后通过交互接口发给物理层。开启定时控制线程,等待Msg4。如果MAC层能够成功解析由C-RNTI加扰的PDCCH,则随机接入响应成功,并将忙碌线程切换成空闲线程。当定时控制线程中的定时时间超时时,将空闲线程池中的线程清除,删除用户信息并选择随机接入响应的PDU中的BI值进行退避处理。当定时控制线程中的定时时间没有超时且没有成功解析由C-RNTI加扰的PDCCH时,MAC层判断随机接入响应的前导码发送数量是否大于最大的前导码发送数量,如果大于,则需要选择随机接入响应的BI值进行退避处理。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种5G终端模拟系统中随机接入的实现方法,其特征在于:该方法包括以下步骤:
S1:创建线程池架构;
S2:对用户的资源进行初始化并对用户随机接入前导进行资源选择;
S3:管理线程先对任务线程池中线程对象中的线程ID与空闲线程池中的线程ID赋值,然后将任务池中的函数指针放到线程池对象中进行匹配;
S4:空闲线程池与忙碌线程池主要执行对用户线程进行添加的过程;
S5:管理线程将Msg1所在的任务对象与空闲线程池中的任务对象进行匹配;如果匹配成功,将空闲线程池中匹配成功的线程添加到忙碌线程池,并对Msg1进行处理,通过交互接口函数发送到物理层;
S6:随机接入响应数据包解析;
S7:发送Msg3,并开启竞争解决定时器监听Msg4,当数据包成功解析并且数据包含有C-RNTI标识,表示随机接入成功,否则选择合适的退避值重新对随机接入资源选择。
2.根据权利要求1所述的一种5G终端模拟系统中随机接入的实现方法,其特征在于:所述S1中,创建线程池架构包括:在这个主进程中创建任务管理线程、管理线程、监控线程;
创建一个任务池、一个空闲线程池、一个忙碌线程池;
监控线程对线程池进行动态的调度和调整;
任务管理线程主要是将随机接入中的消息事件封装成任务并激活休眠的管理线程;
管理线程主要负责从任务池中取任务以及从线程池中取线程,通过条件变量进行同步;
监控线程主要负责动态调整和调度线程池;任务池主要将任务封装成任务对象;
空闲线程池主要是负责创建线程对象,忙碌线程池主要对与任务匹配的线程进行处理。
3.根据权利要求1所述的一种5G终端模拟系统中随机接入的实现方法,其特征在于:所述S2、S3包括:MAC层对随机接入资源选择,选择的资源作为每个用户发送的Msg1;由于每个用户访问的是全局资源,每个用户的Msg1被封装成事件后,要对每个用户资源加互斥锁;当任务线程中的任务到达时,管理线程才会从休眠的状态中被激活;管理线程先将任务线程池中线程ID与空闲线程池中的线程ID赋值并将任务池中的函数指针放到线程池对象中进行匹配;然后将匹配到的任务放到相应的空闲线程池中的线程中。
4.根据权利要求1所述的一种5G终端模拟系统中随机接入的实现方法,其特征在于:所述S4包括:将空闲线程池中的线程添加到忙碌线程池中,在忙碌线程池中处理匹配的任务;主要的思路如下:创建空闲线程池的链表和忙碌线程池链表,在空闲线程池中创建8个用户线程;此时监控进程对空闲线程池中的线程进行判断,如果创建的用户线程大于空闲线程池线程总量的80%,则添加20%的空闲线程池线程总量;如果创建的用户线程小于线程池线程总量的50%,则杀死多余20%空闲线程池线程总量;获取用户线程链表的头结点,当第一个任务到达时,将空闲线程池中的第一个用户线程节点取出,然后添加到忙碌线程池链表头节点后面,并将此用户线程节点的指针域置为空;当第二个任务到达时,将空闲线程池中的第二个用户线程节点取出,添加到忙碌线程池链表的第一个节点后面,并将添加的第二个用户线程节点的指针域置为空;以此类推,当8个用户同时添加时,只需将空闲线程池中的8个线程添加到忙碌线程池中,由忙碌线程池来处理8个用户的任务。
5.根据权利要求1所述的一种5G终端模拟系统中随机接入的实现方法,其特征在于:所述S5、S6包括:在忙碌线程中对Msg1进行处理后,通过交互接口函数发送到物理层;然后空闲线程池中的用户线程进行死锁等待,当物理层中的数据包到达任务池时,此时设置一个条件变量触发用户线程;每个用户线程分别接收物理层的随机响应数据包并解析;随机接入响应PDU中含有BI子头、RAPID、RAPID-RAR三种subPDU;解析方法如下:定义BI、RAPID、RAR结构体并按位进行紧凑排列,定义一个缓冲区,将随机接入响应数据包放入缓冲区中;判断扩展域E的值,当E等于1时,表示BI子头后面还有subPDU,当E等于0时,表示只有BI子头;再判断T的值,当T等于0时,则表示的是BI子头,当T等于1时,则表示RAPID子头;当解析完BI子头后,缓冲区将偏移BI的大小;解析RAR,并判断RAR里面是否接收到TC-RNTI,若收到则解析TC-RNTI,放入Msg3的缓冲区;当RAR解析成功时,缓冲区将偏移RAR的大小。
6.根据权利要求1所述的一种5G终端模拟系统中随机接入的实现方法,其特征在于:所述S7包括:当UE是第一次随机接入时,将每个用户的Msg3信息添加到任务池,然后通过管理线程将Msg3的任务池与线程池进行匹配,然后添加到忙碌线程池,最后通过交互接口发给物理层,并开启定时控制线程,等待Msg4;如果MAC层能够成功解析由C-RNTI加扰的PDCCH,则随机接入响应成功并将忙碌线程切换成空闲线程;当定时控制线程中的定时时间超时,将空闲线程池中的线程清除,删除用户信息并选择随机接入响应的PDU中的BI值进行退避处理;当定时控制线程中的定时时间没有超时且没有成功解析由C-RNTI加扰的PDCCH时,MAC层判断随机接入响应的前导码发送数量是否大于最大的前导码发送数量,如果大于,则需要选择随机接入响应的BI值进行退避处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911067289.8A CN110781008B (zh) | 2019-11-04 | 2019-11-04 | 一种5g终端模拟系统中随机接入的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911067289.8A CN110781008B (zh) | 2019-11-04 | 2019-11-04 | 一种5g终端模拟系统中随机接入的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110781008A true CN110781008A (zh) | 2020-02-11 |
CN110781008B CN110781008B (zh) | 2023-05-05 |
Family
ID=69389105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911067289.8A Active CN110781008B (zh) | 2019-11-04 | 2019-11-04 | 一种5g终端模拟系统中随机接入的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110781008B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111641713A (zh) * | 2020-05-29 | 2020-09-08 | 重庆邮电大学 | 一种基于线程池的5g终端协议状态机的设计方法 |
CN113672397A (zh) * | 2021-10-25 | 2021-11-19 | 北京金睛云华科技有限公司 | 一种全流量存储方法、系统和设备 |
CN114153573A (zh) * | 2021-10-29 | 2022-03-08 | 深圳精智达技术股份有限公司 | 一种基于单线程池的多任务处理的方法及相关装置 |
CN114362840A (zh) * | 2021-12-10 | 2022-04-15 | 中电科思仪科技(安徽)有限公司 | 一种基于移动通信终端模拟器的多用户模拟装置和方法 |
WO2023061378A1 (zh) * | 2021-10-14 | 2023-04-20 | 中兴通讯股份有限公司 | 大容量测试方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738974B1 (en) * | 1998-09-10 | 2004-05-18 | International Business Machines Corporation | Apparatus and method for system resource object deallocation in a multi-threaded environment |
CN102541653A (zh) * | 2010-12-24 | 2012-07-04 | 新奥特(北京)视频技术有限公司 | 一种多任务线程池调度方法和系统 |
CN106559447A (zh) * | 2015-09-25 | 2017-04-05 | 中兴通讯股份有限公司 | Jslee容器的业务处理方法及系统 |
-
2019
- 2019-11-04 CN CN201911067289.8A patent/CN110781008B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738974B1 (en) * | 1998-09-10 | 2004-05-18 | International Business Machines Corporation | Apparatus and method for system resource object deallocation in a multi-threaded environment |
CN102541653A (zh) * | 2010-12-24 | 2012-07-04 | 新奥特(北京)视频技术有限公司 | 一种多任务线程池调度方法和系统 |
CN106559447A (zh) * | 2015-09-25 | 2017-04-05 | 中兴通讯股份有限公司 | Jslee容器的业务处理方法及系统 |
Non-Patent Citations (4)
Title |
---|
YPENG ZHANG: "Research on Dynamic Weight Task Scheduling Algorithm Based on Thread Pool" * |
成程;: "LTE协议栈MAC层随机访问过程设计与实现" * |
翁小东;: "基于UNIX C语言的一种线程池实现" * |
蒋溢;黄进;王化晶;: "基于多线程技术的聊天系统研究" * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111641713A (zh) * | 2020-05-29 | 2020-09-08 | 重庆邮电大学 | 一种基于线程池的5g终端协议状态机的设计方法 |
WO2023061378A1 (zh) * | 2021-10-14 | 2023-04-20 | 中兴通讯股份有限公司 | 大容量测试方法、装置、电子设备和存储介质 |
CN113672397A (zh) * | 2021-10-25 | 2021-11-19 | 北京金睛云华科技有限公司 | 一种全流量存储方法、系统和设备 |
CN114153573A (zh) * | 2021-10-29 | 2022-03-08 | 深圳精智达技术股份有限公司 | 一种基于单线程池的多任务处理的方法及相关装置 |
CN114362840A (zh) * | 2021-12-10 | 2022-04-15 | 中电科思仪科技(安徽)有限公司 | 一种基于移动通信终端模拟器的多用户模拟装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110781008B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110781008B (zh) | 一种5g终端模拟系统中随机接入的实现方法 | |
US11770856B2 (en) | Random access response method and device, base station and user equipment | |
CN108282899B (zh) | 一种两步竞争随机接入方法和装置 | |
US11102825B2 (en) | Method and device for responding to random access | |
CN101883437B (zh) | 随机接入方法以及基站 | |
WO2019242762A1 (zh) | 随机接入方法、终端、基站、存储介质、电子装置 | |
CN108282895A (zh) | 一种随机接入方法及终端 | |
CN111194089A (zh) | Bwp指示和转换方法、基站和用户、电子设备及介质 | |
US20210368545A1 (en) | Random access method, user equipment, and network device | |
EP2496037B1 (en) | Access processing method and user equipment | |
CN107690172B (zh) | 一种无线网络中的接入方法及设备 | |
CN110035514B (zh) | 确定传输机会的方法及装置、存储介质、电子装置 | |
CN113973271B (zh) | 重复传输方法、装置及用户设备 | |
JP5319703B2 (ja) | セルラーシステムにおける任意接続方法および装置 | |
KR20220162763A (ko) | 랜덤 액세스 방법, 장치, 및 시스템 | |
CN113950151A (zh) | 物理下行控制信道pdcch监测方法、装置及终端 | |
CN115119329A (zh) | 随机接入方法、装置、终端及网络侧设备 | |
WO2023168674A1 (en) | Maintenance of multiple ta in the same serving cell for multi-trp operation | |
CN111586879B (zh) | 一种随机接入方法和装置 | |
CN109565741B (zh) | 系统信息的获取方法、装置及系统 | |
US12108441B2 (en) | Method and device for sending and processing access control signaling | |
WO2023083304A1 (zh) | 随机接入的方法、终端及网络侧设备 | |
CN116134869A (zh) | 用于信道状态信息报告的方法和装置 | |
CN114051288A (zh) | 终端状态变更控制方法及装置 | |
WO2023134580A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |