CN106802792B - 基于bp神经网络的交互界面操作请求队列处理方法 - Google Patents
基于bp神经网络的交互界面操作请求队列处理方法 Download PDFInfo
- Publication number
- CN106802792B CN106802792B CN201611135626.9A CN201611135626A CN106802792B CN 106802792 B CN106802792 B CN 106802792B CN 201611135626 A CN201611135626 A CN 201611135626A CN 106802792 B CN106802792 B CN 106802792B
- Authority
- CN
- China
- Prior art keywords
- request instruction
- neural network
- timer
- request
- time
- 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.)
- Active
Links
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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开一种基于BP神经网络的交互界面操作请求队列处理方法,属于网络通信技术领域,包括根据预设的多个请求指令集,对预设BP神经网络模型进行训练以得到目标BP神经网络;将目标BP神经网络加入到具有相同功能操作的请求指令队列中,并分别对请求指令完成时间阈值、定时器以及请求指令缓存进行初始化;基于目标BP神经网络,根据初始化后的请求指令完成时间阈值、定时器以及请求指令缓存,将接收到的请求指令发送给处理函数执行;处理函数对接收到的请求指令进行处理,并通过交互界面显示处理结果。本发明有效的解决了常规的对具有相同功能操作请求队列处理效率低的问题,不仅提高了工作效率,还增加了用户使用交互界面的满意度。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种基于BP神经网络的交互界面操作请求队列处理方法。
背景技术
交互界面是人和计算机进行信息交换的通道,用户通过交互界面面向计算机输入信息、进行操作,计算机则通过交互界面向用户提供信息。当用户在客户端进行滚动、缩放这些操作来查看感兴趣的数据区间曲线图,或将数据库中的数据显示在表格时,这些操作的功能是相同的,但是软件界面上显示的结果会发生相应的改变,可将这些操作视为具有相同功能的操作。用户在进行具有相同功能的操作时,交互界面会将这些操作过程不断的转换为触发事件,并将这些触发事件封装成请求指令发送出去,处理函数对接收到的请求指令进行相应的处理。常规的处理请求指令的流程如图1所示:首先将请求指令存入队列中,然后处理函数从队列中获取请求指令并执行,即只有一个请求指令执行完成后,才会执行下一条请求指令,同时,当一条请求指令完成后,以绘图或表格等形式将处理结果显示在交互界面上。
但是在实际应用中,上述处理请求指令的过程存在显著的缺陷是,在遇到处理数据量巨大或算法复杂等耗时长的情况,由于计算机处理性能有限,在一个或不同线程中处理具有相同功能的操作请求指令队列时,处理完每条操作请求指令的时间间隔变大,因此交互界面会产生相应的变化的时间间隔也变大,这就给用户造成一种界面在顿卡或者假死等极不流畅的体验。而且,在处理这些请求指令队列中,一般只有最后一个请求指令时用户关心的最终结果,当队列中请求指令较多且计算机的处理性能不足时,需要等待较长时间才能显示最终的结果,工作效率较低,而且极大的影响了用户在实际应用中的界面感受。
针对上述处理请求指令的过程存在的问题,常规的解决方法包括两种:一种是采用多线程技术将队列中每个请求指令放入线程中执行,处理完成后再依次将结果显示在交互界面上,这种方法虽然能同时一次性的执行多个请求指令,但是会消耗大量的CPU资源,同时,显示大数据量图形或表格也需要较长的时间,会造成队列不断的挤压请求指令,造成请求指令整体的处理速度变慢。另一种是仅执行最后一个请求指令,而删除其余的请求指令,这样就可以将最终的结果显示在交互界面上,这种方法虽然能大大的减少处理请求指令的时间,但是会造成界面显示不流畅,而且在交互界面上不能动态的显示处理结果,这样就看不到最终的结果的中间的变化过程,不利于实际应用。
发明内容
本发明的目的在于提供一种基于BP神经网络的交互界面操作请求队列处理方法,以解决对具有相同功能操作的请求队列处理效率低的问题。
为实现以上目的,本发明采用的技术方案为:提供一种基于BP神经网络的交互界面操作请求队列处理方法,该方法包括:
根据预设的多个请求指令集,对预设BP神经网络模型进行训练以得到目标BP神经网络,其中,每个请求指令集中的请求指令具有相同功能操作;
将目标BP神经网络加入到具有相同功能操作的请求指令队列中,并分别对请求指令完成时间阈值εt、定时器以及请求指令缓存进行初始化;
基于目标BP神经网络,根据初始化后的请求指令完成时间阈值εt、定时器以及请求指令缓存,将接收到的请求指令发送给处理函数执行;
处理函数对接收到的请求指令进行处理,并通过交互界面显示处理结果。
与现有技术相比,本发明存在以下技术效果:通过采用BP神经网络能快速、准确的计算出执行请求指令的完成时间,并根据初始化后的请求指令完成时间阈值εt、定时器以及请求指令缓存来智能的删除不必要的请求指令,解决了请求队列挤压请求指令所引起的等待时间过长、软件响应不及时等问题,同时,BP神经网络的仿真计算速度快,不会影响整个程序的执行效率。本方案有效的解决了常规的对具有相同功能操作请求队列处理效率低的问题,不仅提高了工作效率,还增加了用户使用交互界面的满意度。
附图说明
图1是本发明背景技术部分提及的常规处理请求指令的流程示意图;
图2是本发明一实施例中基于BP神经网络的交互界面操作请求队列处理方法的流程示意图;
图3是本发明一实施例中步骤S1的细分步骤流程示意图;
图4是本发明另一实施例中步骤S1的细分步骤的流程示意图;
图5是本发明一实施例中步骤S3的细分步骤的流程示意图;
图6是本发明一实施例中实时更新请求指令的流程示意图;
图7是本发明另一实施例中实时更新请求指令的流程示意图。
具体实施方式
下面结合图2至图7,对本发明做进一步详细叙述。
如图2所示,本实施例公开了一种基于BP神经网络的交互界面操作请求队列处理方法,该方法包括如下步骤S1至S4:
S1、根据预设的多个请求指令集,对预设BP神经网络模型进行训练以得到目标BP神经网络,其中,每个请求指令集中的请求指令具有相同功能操作;
需要说明的是,该处的每个请求指令集中的请求指令具有相同的功能操作,不同的请求指令集中的请求指令具有不同的功能操作。
具体地,由于请求指令是由多个参数构成的,有些参数值的变化不改变处理函数执行请求指令的运行时间,有些参数值的变化会显著的改变处理函数执行请求指令的运行时间,因此该处的请求指令集的设置方式具体为:将对处理函数执行请求指令的运行时间没有影响的参数值设置为一个常数,将处理函数执行请求执行的运行时间有显著影响的参数值根据实际应用情况在一定范围内设置多个数值。
下面以大数据量绘图操作为例进行说明:当用户对交互界面进行缩放、平移等操作时,交互界面会触发一系列的请求指令,这类请求指令具有相同的功能,该请求指令主要由读取数据起始点ID、读取数据点数目和绘图曲线宽度三个参数构成。其中,读取数据点数目和绘图曲线宽度影响处理函数执行请求指令的运行时间。当绘图的数据点数据量大时,会是硬盘读取数据文件和数据格式转换等操作时间变长,同时也会大大增加数据曲线绘制在交互界面上的时间。而绘制曲线的宽度增大时,也会增加整个绘图的时间。因此,将读取数据点数目和绘图曲线宽度这两参数根据实际应用情况在一定范围内设置多个数值,将读取数据起始点ID设置为一个常数。
S2、将目标BP神经网络加入到具有相同功能操作的请求指令队列中,并分别对请求指令完成时间阈值εt、定时器以及请求指令缓存进行初始化;
S3、基于目标BP神经网络,根据初始化后的请求指令完成时间阈值εt、定时器以及请求指令缓存,将接收到的请求指令发送给处理函数执行;
S4、处理函数对接收到的请求指令进行处理,并通过交互界面显示处理结果。
本实施例中的方案通过采用BP(Back Propagation)神经网络,在常规的具有相同功能操作的请求队列中删除不必要的请求指令,有效的解决的了对具有相同功能操作请求队列处理效率低的问题,提高了请求队列的处理效率,提升了用户体验感。而且,本实施例中的技术方案能够很好的适用不同配置的计算机平台,对于不同配置的计算机平台只需对BP神经网络重新进行训练且仅进行一次训练即可,其它参数均无需修改,具有较高的实用性。
如图3所示,本实施例中的步骤S1具体包括如下细分步骤S11至S13:
S11、执行多个请求指令集中的请求指令,记录每个请求指令执行完成的时间;
S12、将多个请求指令集中的请求指令和每个请求指令执行完成的时间作为训练数据;
S13、根据训练数据对预设BP神经网络模型进行训练,以得到目标BP神经网络。
具体地,步骤S13中对预设BP神经网络模型进行训练的具体过程是:
根据处理后的训练数据,确定影响处理函数运行时间的参数个数;
设置预设BP神经网络模型的输出层神经元个数为1、采用一层隐含层并将影响处理函数运行时间的参数个数作为预设BP神经网络模型的输入层神经元个数,以对预设BP神经网络模型进行训练。
例如,当用户对交互界面进行缩放、平移等操作时,交互界面会触发一系列的请求指令,这些请求指令中的读取数据点数目和绘图曲线宽度这两个参数影响处理函数运行时间,则确定影响处理函数运行时间的参数个数为2。
还需要说明的是,该处预设的BP神经网络模型是技术人员根据实际应用情况进行设置的,根据实际应用情况的不同,可设置不同的BP神经网络模型。本实施例中设置BP神经网络模型的输入变量个数为2个,输出变量个数为1个,隐含层神经元个数设定为输入变量个数的两倍。BP神经网络模型的其它参数设置为:Epcchs(最大训练步数)=500;Goal(训练结束目标值)=0.001;Lr(学习速率)=0.05,使用Levenberg-Marquardt学习方法,隐层传递函数为tansig,输出层传递函数为purelin函数。
具体地,如图4所示,在步骤S13之前,还包括步骤S13`:
S13`、对所述训练数据进行归一化处理,以得到处理后的训练数据;
相应地,上述的步骤S13,还具体包括:
S13、根据处理后的训练数据对预设BP神经网络模型进行训练,以得到目标BP神经网络。
需要说明的是,本实施例中对训练数据进行归一化处理,以将训练数据处理为区间[0,1]之间的数据,归一化处理公式具体为:
其中,x为训练数据,xmax、xmin为训练数据的最大值和最小值。
本实施例中通过对训练数据进行归一化处理,消除了不同因子之间由于数值大小差异而造成的误差,以及由于输入的变量数值过大造成的学习溢出问题。
具体地,如图5所示,本实施例中的步骤S3包括如下细分步骤S31至S34:
S31、基于目标BP神经网络,计算执行接收到的请求指令的完成时间为t;
具体地,以大量绘图操作指令对计算执行接收到的请求指令的完成时间为t进行举例说明如下:
在接收到绘图操作请求指令时,提取请求指令中的读取数据点数目和绘图曲线宽度,利用目标BP神经网络,计算该请求指令执行完成所需的时间t。
S32、判断时间t是否大于初始化后的请求指令完成时间阈值εt;
S33、若时间t小于或等于时间阈值εt,则将接收到的请求指令发送给处理函数执行;
S34、若时间t大于时间阈值εt,则实时更新请求指令。
具体地,实时更新请求指令的具体过程如图6所示:
在时间t大于时间阈值εt时,判断定时器是否处于运行状态;
若定时器处于闲置状态,设置定时器的定时时间为t,并将接收到的请求指令发送给处理函数执行后立即启动定时器;
若定时器处于运行状态,判断是否接收到新的请求指令;
如果接收到新的请求指令,检查初始化后的请求指令缓存是否存储了新的请求指令;
若没有存储,将新的请求指令添加到请求指令缓存中;
若已经存储,将新的请求指令更新为最新接收到的请求指令。
这里需要说明的是,设置定时器的定时时间为t的过程为:根据初始化后的定时器,利用目标BP神经网络计算得到请求指令执行完成所需的时间t来设置定时器的时间,并立即启动定时器,使定时器进入运行状态。当定时器启动后,不会影响接收请求指令和处理函数处理请求指令等过程的执行。
具体地,如图7所示,定时器处于运行状态时,还包括:
在定时器达到定时时间后,重置定时器并检测请求指令缓存是否为空;
如果不为空,则处理请求指令缓存中的请求指令。
具体地,将新的请求指令添加到请求指令缓存中,具体包括:
删除请求指令缓存中已经存储的请求指令,并将新接收到的请求指令存储在请求指令存储中;
其中,请求指令缓存的内存空间设置为仅暂时存储一条请求指令。这里的请求指令缓存是指子计算机上开辟的内存空间,且空间容量仅能存储一条请求指令。
因此,本实施例中可以保证即使定时器运行时接收到了多个请求指令,也只会暂存最后一条请求指令,将之前存储的请求指令删除。这就有效的保证了请求队列不会挤压请求指令,避免了请求队列挤压请求指令造成的卡顿现象,保证了整个处理过程的效率,同时也不会耗费过多的计算机资源。
具体地,本实施例中的定时器与处理函数在不同的线程中运行。这样设置的好处是:处理函数运行时,主界面不会被挂起,因此,不会造成主界面的僵死现象。而且,当绘图的数据量很小时,会由处理函数直接执行请求指令,并将执行结果进行显示,而无需进行请求指令更新的过程,用户无需长时间的等待即可查看处理结果,满足了较小坐标系统范围内快速查看处理结果的要求。所以,本实施例提供的技术方案不但能进行大数据量绘图,而且能够快速显示小数据绘图操作的处理结果。
Claims (9)
1.一种基于BP神经网络的交互界面操作请求队列处理方法,其特征在于,包括:
根据预设的多个请求指令集,对预设BP神经网络模型进行训练以得到目标BP神经网络,其中,每个请求指令集中的请求指令具有相同功能操作;具体为:
执行多个请求指令集中的请求指令,记录每个请求指令执行完成的时间;
将多个请求指令集中的请求指令和每个请求指令执行完成的时间作为训练数据;
根据训练数据对预设BP神经网络模型进行训练,以得到目标BP神经网络;
将目标BP神经网络加入到具有相同功能操作的请求指令队列中,并分别对请求指令完成时间阈值εt、定时器以及请求指令缓存进行初始化;
基于目标BP神经网络,根据初始化后的请求指令完成时间阈值εt、定时器以及请求指令缓存,将接收到的请求指令发送给处理函数执行;
处理函数对接收到的请求指令进行处理,并通过交互界面显示处理结果。
2.如权利要求1所述的方法,其特征在于,所述的根据训练数据对预设BP神经网络模型进行训练,具体包括:
根据处理后的训练数据,确定影响处理函数运行时间的参数个数;
设置预设BP神经网络模型的输出层神经元个数为1、采用一层隐含层并将影响处理函数运行时间的参数个数作为预设BP神经网络模型的输入层神经元个数,以对预设BP神经网络模型进行训练。
3.如权利要求1所述的方法,其特征在于,在所述根据训练数据对预设BP神经网络模型进行训练,以得到目标BP神经网络之前,还包括:
对所述训练数据进行归一化处理,以得到处理后的训练数据;
相应地,所述的根据训练数据对预设BP神经网络模型进行训练,以得到目标BP神经网络,具体包括:
根据处理后的训练数据对预设BP神经网络模型进行训练,以得到目标BP神经网络。
4.如权利要求1-3任一项所述的方法,其特征在于,所述的基于目标BP神经网络,根据初始化后的请求指令完成时间阈值εt、定时器以及请求指令缓存,将接收到的请求指令发送给处理函数执行,具体包括:
基于目标BP神经网络,计算执行接收到的请求指令的完成时间为t;
判断时间t是否大于初始化后的请求指令完成时间阈值εt;
若时间t小于或等于时间阈值εt,则将接收到的请求指令发送给处理函数执行;
若时间t大于时间阈值εt,则实时更新请求指令。
5.如权利要求4所述的方法,其特征在于,所述的实时更新请求指令具体包括:
判断定时器是否处于运行状态;
若定时器处于闲置状态,设置定时器的定时时间为t,并将接收到的请求指令发送给处理函数执行后立即启动定时器。
6.如权利要求5所述的方法,其特征在于,在所述若时间t大于时间阈值εt,检查定时器是否处于运行状态之后,还包括:
若定时器处于运行状态,判断是否接收到新的请求指令;
如果接收到新的请求指令,检查初始化后的请求指令缓存是否存储了新的请求指令;
若没有存储,将新的请求指令添加到请求指令缓存中;
若已经存储,将新的请求指令更新为最新接收到的请求指令。
7.如权利要求6所述的方法,其特征在于,在所述的定时器处于运行状态时,所述方法还包括:
在定时器达到定时时间后,重置定时器并检测请求指令缓存是否为空;
如果不为空,则处理请求指令缓存中的请求指令。
8.如权利要求6所述的方法,其特征在于,所述的若没有存储,将新的请求指令添加到请求指令缓存中,具体包括:
删除请求指令缓存中已经存储的请求指令,并将新接收到的请求指令存储在请求指令存储中;
其中,所述的请求指令缓存的内存空间仅能暂时存储一条请求指令。
9.如权利要求6所述的方法,其特征在于,所述的定时器与所述的处理函数在不同的线程中运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611135626.9A CN106802792B (zh) | 2016-12-09 | 2016-12-09 | 基于bp神经网络的交互界面操作请求队列处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611135626.9A CN106802792B (zh) | 2016-12-09 | 2016-12-09 | 基于bp神经网络的交互界面操作请求队列处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106802792A CN106802792A (zh) | 2017-06-06 |
CN106802792B true CN106802792B (zh) | 2020-01-03 |
Family
ID=58984786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611135626.9A Active CN106802792B (zh) | 2016-12-09 | 2016-12-09 | 基于bp神经网络的交互界面操作请求队列处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106802792B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188886B (zh) * | 2018-08-17 | 2021-08-20 | 第四范式(北京)技术有限公司 | 对机器学习过程的数据处理步骤进行可视化的方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727310A (zh) * | 2009-12-08 | 2010-06-09 | 北京派瑞根科技开发有限公司 | 信息输入设备 |
CN101841598A (zh) * | 2010-04-12 | 2010-09-22 | 展讯通信(上海)有限公司 | 计算机和移动终端的状态同步方法 |
CN106209435A (zh) * | 2016-06-30 | 2016-12-07 | 乐视控股(北京)有限公司 | 请求队列的监听方法及装置 |
-
2016
- 2016-12-09 CN CN201611135626.9A patent/CN106802792B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727310A (zh) * | 2009-12-08 | 2010-06-09 | 北京派瑞根科技开发有限公司 | 信息输入设备 |
CN101841598A (zh) * | 2010-04-12 | 2010-09-22 | 展讯通信(上海)有限公司 | 计算机和移动终端的状态同步方法 |
CN106209435A (zh) * | 2016-06-30 | 2016-12-07 | 乐视控股(北京)有限公司 | 请求队列的监听方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106802792A (zh) | 2017-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111045814B (zh) | 资源调度方法和终端设备 | |
US8248428B2 (en) | Parallel computation of computationally expensive parameter changes | |
CN100428209C (zh) | 一种自适应的外部存储设备io性能优化方法 | |
CN113240778B (zh) | 虚拟形象的生成方法、装置、电子设备和存储介质 | |
JPWO2020159568A5 (zh) | ||
CN114968520B (zh) | 任务搜索方法及装置、服务器和存储介质 | |
CN104021226B (zh) | 预取规则的更新方法及装置 | |
US20230085732A1 (en) | Image processing | |
WO2023020456A1 (zh) | 网络模型的量化方法、装置、设备和存储介质 | |
CN111612163A (zh) | 一种基于机器学习模型的训练方法及装置 | |
US8780120B2 (en) | GPU self throttling | |
CN106802792B (zh) | 基于bp神经网络的交互界面操作请求队列处理方法 | |
CN116721460A (zh) | 手势识别方法、装置、电子设备以及存储介质 | |
CN112541479B (zh) | 全景图与兴趣点挂接的方法、装置、电子设备及存储介质 | |
WO2023130808A1 (zh) | 动画帧的显示方法、装置、设备及存储介质 | |
US11106344B2 (en) | Methods and devices for capturing heuristic information via a weighting tool | |
CN114331379B (zh) | 用于输出待办任务的方法、模型训练方法和装置 | |
JP2020110603A5 (zh) | ||
CN111091710A (zh) | 交通信号控制方法、系统及介质 | |
CN116628231B (zh) | 基于大数据平台的任务可视化发布方法及系统 | |
CN114466022B (zh) | 一种集群中获取服务器种子节点的方法、装置及介质 | |
CN115086190B (zh) | 数据处理方法及装置、计算机可存储介质 | |
JP7391127B2 (ja) | 点群データ処理方法、装置、電子デバイス、記憶媒体、及びプログラム | |
CN117331796A (zh) | 代码采纳率获取方法、装置、电子设备及存储介质 | |
US20240070454A1 (en) | Lightweight model training method, image processing method, electronic device, and storage medium |
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 |