CN109213796B - 射频数据表生成方法及装置、射频值查询方法及装置 - Google Patents

射频数据表生成方法及装置、射频值查询方法及装置 Download PDF

Info

Publication number
CN109213796B
CN109213796B CN201811117440.XA CN201811117440A CN109213796B CN 109213796 B CN109213796 B CN 109213796B CN 201811117440 A CN201811117440 A CN 201811117440A CN 109213796 B CN109213796 B CN 109213796B
Authority
CN
China
Prior art keywords
data table
radio frequency
byte
digital quantity
frequency value
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
Application number
CN201811117440.XA
Other languages
English (en)
Other versions
CN109213796A (zh
Inventor
李臻
范存孝
方彬浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Comba Network Systems Co Ltd
Original Assignee
Comba Telecom Systems China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Comba Telecom Systems China Ltd filed Critical Comba Telecom Systems China Ltd
Priority to CN201811117440.XA priority Critical patent/CN109213796B/zh
Publication of CN109213796A publication Critical patent/CN109213796A/zh
Application granted granted Critical
Publication of CN109213796B publication Critical patent/CN109213796B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种射频数据表生成方法及装置、射频值查询方法及装置,射频值查询方法包括:获取目标监控值,其中所述目标监控值的第一数字量为第一字节数;调用被激活的每个目标数据表;根据保存的预设的存储规则,将每个目标数据表中包含的每个射频值对应的第二数字量进行组合,其中每个目标数据表中保存有第二字节数的每个监控值,其中所述第一字节数大于所述第二字节数,所述第二字节数为数据表访问接口能够访问的字节数;在组合后得到的数据表中查找所述目标监控值,将所述目标监控值对应的射频值作为目标射频值。解决了现有技术中在数据表成员的字节数因与数据表访问接口能够访问的字节数不匹配,而不能被访问以及无法满足用户需求的问题。

Description

射频数据表生成方法及装置、射频值查询方法及装置
技术领域
本发明主要涉及数据表生成及查询的技术领域,尤其涉及一种射频数据表生成方法及装置、射频值查询方法及装置。
背景技术
目前,在对通信直放站设备进行监控时通常使用直放站监控软件。
现有技术中,在直放站监控软件设计过程中用到的数据表成员通常是固定字节数的,如一字节、二字节、四字节等,监控软件则根据数据表成员字节数来设计数据表的访问接口。然而在使用过程中,经常会遇到现有数据表成员的字节数不能满足实际应用的情况。
例如,当需要的数据表成员的字节数为四字节时,而数据表访问接口被设计为二字节访问接口,该数据表成员的字节数因与数据表访问接口能够访问的字节数不匹配而不能被访问,而如果将该数据表成员的字节数设计为二字节又将无法满足使用的需求。
因此,在不改变数据表访问接口前提下,如何使数据表成员字节数满足实际使用需求是一个亟需解决的问题。
发明内容
本发明实施例公开了一种射频数据表生成方法及装置、射频值查询方法及装置,用以解决现有技术中在数据表成员的字节数因与数据表访问接口能够访问的字节数不匹配,而不能被访问以及无法满足用户需求的问题。
本发明实施例提供了一种射频数据表生成方法,该方法包括:
针对预设的每个射频值,采集该射频值对应的监控值,并将所述监控值转换为预设的第一字节数的第一数字量;
根据预设的对数字量的拆分规则,对所述第一数字量进行拆分,拆分后得到的每个字节组为第二字节数的第二数字量,其中拆分后得到的第二数字量为至少两个,其中所述第二字节数小于第一字节数,所述第二字节数为数据表访问接口能够访问的字节数;
根据预设的存储规则,在对应被激活的每个目标数据表中添加对应的第二数字量与该射频值。
进一步地,所述根据预设的存储规则,在对应被激活的每个目标数据表中添加对应的第二数字量与该射频值包括:
如果当前被激活的目标数据表为第一目标数据表,所述第一目标数据表包括第一数据表和第二数据表,并且该存储规则为第一数字量中的高位字节对应的字节组所对应第一数据表,低位字节对应的字节组所对应第二数据表,则将字节组为高位字节的第二数字量及该射频值添加到第一数据表中,将字节组为低位字节的第二数字量及该射频值添加到第二数据表中。
进一步地,所述根据预设的存储规则,在对应被激活的每个第一目标数据表中添加对应的第二数字量与该射频值之前,所述方法还包括:
判断当前被激活的每个数据表是否存在空闲空间;如果是,执行后续步骤。
进一步地,如果当前被激活的每个数据表不存在空闲空间,所述方法还包括:
创建与当前被激活的每个第一目标数据表关联的每个第二目标数据表,并保存每个第一目标数据表与对应的第二目标数据表的关联关系;将每个第二目标数据表设置为激活状态,根据与每个第一目标数据表关联的第二目标数据表,将第二数字量和该射频值添加到对应的第二目标数据表中。
本发明实施例还提供了一种基于射频数据表生成方法的射频值查询方法,该方法包括:
获取目标监控值,其中所述目标监控值的第一数字量为第一字节数;
调用被激活的每个目标数据表;
根据保存的预设的存储规则,将每个目标数据表中包含的每个射频值对应的第二数字量进行组合,其中每个目标数据表中保存有第二字节数的每个监控值,其中所述第一字节数大于所述第二字节数,所述第二字节数为数据表访问接口能够访问的字节数;
在组合后得到的数据表中查找所述目标监控值,将所述目标监控值对应的射频值作为目标射频值。
进一步地,所述根据保存的预设的存储规则,将每个目标数据表中包含的每个射频值对应的第二数字量进行组合包括:
如果当前被激活的目标数据表为第一目标数据表,所述第一目标数据表包括第一数据表和第二数据表,并且该存储规则为第一数字量中的高位字节对应的字节组对应第一数据表,第一数字量中的低位字节对应的字节组对应第二数据表,则针对每个射频值,从第一数据表中读取该射频值对应的第二数字量,从第二数据表中读取该射频值对应的第二数字量,将从所述第一数据表中读取的第二数字量作为组合后的数据表中该射频值对应的第一数字量的高字节,将从所述第二数据表中读取的第二数字量作为组合后的数据表中该射频值对应第一数字量的低字节。
本发明实施例提供了一种射频数据表生成装置,该装置包括:
采集模块,用于针对预设的每个射频值,采集该射频值对应的监控值,并将所述监控值转换为预设的第一字节数的第一数字量;
拆分模块,用于根据预设的对数字量的拆分规则,对所述第一数字量进行拆分,拆分后得到的每个字节组为第二字节数的第二数字量,其中拆分后得到的第二数字量为至少两个,其中所述第二字节数小于第一字节数,所述第二字节数为数据表访问接口能够访问的字节数;
存储模块,用于针对预设的每个射频值,根据预设的存储规则,在对应被激活的每个目标数据表中添加对应的第二数字量与该射频值。
进一步地,所述存储模块,具体用于如果当前被激活的目标数据表为第一目标数据表,所述第一目标数据表包括第一数据表和第二数据表,并且该存储规则为第一数字量中的高位字节对应的字节组所对应第一数据表,低位字节对应的字节组所对应第二数据表,则将字节组为高位字节的第二数字量及该射频值添加到第一数据表中,将字节组为低位字节的第二数字量及该射频值添加到第二数据表中。
进一步地,所述装置还包括:判断模块,用于判断当前被激活的每个数据表是否存在空闲空间;如果是,则触发存储模块。
进一步地,所述装置还包括:创建模块,用于如果当前被激活的每个数据表不存在空闲空间,创建与当前被激活的每个第一目标数据表关联的每个第二目标数据表,并保存每个第一目标数据表与对应的第二目标数据表的关联关系;将每个第二目标数据表设置为激活状态,根据与每个第一目标数据表关联的第二目标数据表,将第二数字量和该射频值添加到对应的第二目标数据表中。
本发明实施例还提供了一种基于射频数据表生成装置的射频值查询装置,该装置包括:
获取模块,用于获取目标监控值,其中所述目标监控值的第一数字量为第一字节数;
调用模块,用于调用被激活的每个目标数据表;
组合模块,用于根据保存的预设的存储规则,将每个目标数据表中包含的每个射频值对应的第二数字量进行组合,其中每个目标数据表中保存有第二字节数的每个监控值,其中所述第一字节数大于所述第二字节数,所述第二字节数为数据表访问接口能够访问的字节数;
查找模块,在组合后得到的数据表中查找所述目标监控值,将所述目标监控值对应的射频值作为目标射频值。
进一步地,所述组合模块,具体用于如果当前被激活的目标数据表为第一目标数据表,所述第一目标数据表包括第一数据表和第二数据表,并且该存储规则为第一数字量中的高位字节对应的字节组对应第一数据表,第一数字量中的低位字节对应的字节组对应第二数据表,则针对每个射频值,从第一数据表中读取该射频值对应的第二数字量,从第二数据表中读取该射频值对应的第二数字量,将从所述第一数据表中读取的第二数字量作为组合后的数据表中该射频值对应的第一数字量的高字节,将从所述第二数据表中读取的第二数字量作为组合后的数据表中该射频值对应第一数字量的低字节。
本发明实施例公开了一种射频数据表生成方法及装置、射频值查询方法及装置,射频值查询方法包括:获取目标监控值,其中所述目标监控值的第一数字量为第一字节数;调用被激活的每个目标数据表;根据保存的预设的存储规则,将每个目标数据表中包含的每个射频值对应的第二数字量进行组合,其中每个目标数据表中保存有第二字节数的每个监控值,其中所述第一字节数大于所述第二字节数,所述第二字节数为数据表访问接口能够访问的字节数;在组合后得到的数据表中查找所述目标监控值,将所述目标监控值对应的射频值作为目标射频值。该方法在不改变数据表访问接口的情况下,通过将每个射频值对应的数字量进行组合,以使得数据表成员的字节数与数据表访问接口能够访问的字节数相匹配,从而可以被数据表访问接口访问,解决了现有数据表成员字节数不能满足实际使用需求的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种射频数据表生成过程示意图;
图2为本发明实施例5提供的一种基于射频数据表生成方法的射频值查询过程示意图;
图3a为本发明实施例7提供的一种基于射频数据表生成方法的射频值查询过程示意图;
图3b为本发明实施例7提供的一种基于射频数据表生成方法的射频值查询过程详细示意图;
图4为本发明实施例提供的一种射频数据表生成装置结构示意图;
图5为本发明实施例提供的一种基于射频数据表生成装置的射频值查询装置结构示意图。
具体实施方式
下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例1:
图1为本发明实施例提供的一种射频数据表生成过程示意图,该过程包括以下步骤:
S101:针对预设的每个射频值,采集该射频值对应的监控值,并将所述监控值转换为预设的第一字节数的第一数字量。
在需要对通信直放站设备进行监控时,常采用直放站监控软件采集数据来反映直放站设备的情况,具体的采集的是每个射频值对应的监控值。
在监控过程中,可以先预设射频值的范围,并确定该范围内包括的每个射频值,然后针对每个预设的射频值,采集与该射频值对应的监控值。当采集了直放站设备的监控值后,进行使用的过程中可能有不同的需求,一般使用的监控值的长度,即监控值包含的第一字节数是已知的。因此采集该射频值对应的监控值,得到的监控值为模拟量,然而在存储和传输过程中需要将模拟量转换为数字量,根据已知的第一字节数,将该监控值模拟量转换为具有第一字节数的第一数字量。
其中将模拟量转换为数字量的过程为现有技术,在本发明实施例中不再赘述。
例如,第一字节数可以为四字节,将监控值按照二进制的转换规则转换为具有四字节的第一数字量。
S102:根据预设的对数字量的拆分规则,对所述第一数字量进行拆分,拆分后得到的每个字节组为第二字节数的第二数字量,其中拆分后得到的第二数字量为至少两个,其中所述第二字节数小于第一字节数,所述第二字节数为数据表访问接口能够访问的字节数。
根据上述方法确定了每个监控值对应的第一数字量后,因为访问接口能够访问的字节数确定,当用户需求的第一字节数与第二字节数不同时,为了在不改变接口的前提下,满足需求,在本发明实施例中对第一数字量进行拆分,拆分为满足访问接口访问需求的字节数,也就是说第二字节数为访问接口能够访问的字节数。
可以预先保存对数字量的拆分规则,根据该拆分规则对第一数字量进行拆分,得到第二数字量,其中第二数字量的数目至少为两个。预设的数字量拆分规则是根据数据表访问接口的需求确定的,在对数字量的拆分过程中也是根据数据表访问接口的需求进行拆分的。如果数据表访问接口能够访问的字节数为二字节,那么在对第一数字量进行拆分是就要按照每二字节为一个字节组来拆分。较优地,拆分过程中最好是按照从第一数字量的低位到高位的顺序进行拆分。
根据预设拆分规则对第一数字量进行拆分,得到每个字节组为第二字节数的第二数字量。具体地,如果第一字节数为四字节,第二字节数为一字节,可以假设具有第一字节数的第一数字量为00110010001011001100010110100011,那么根据拆分规则将该第一数字量拆分为具有第二字节数的第二数字量为00110010、00101100、11000101、10100011。
S103:根据预设的存储规则,在对应被激活的每个目标数据表中添加对应的第二数字量与该射频值。
为了方便后续监控值的查询,在本发明实施例中针对拆分得到的每个第二数字量保存有其预设的存储规则,一般情况下,第一字节数比第二字节数大,因为一个射频值对应的监控值对应的第一数字量将被至少拆分为两个第二数字量,因此被激活的数据表为至少两个,该存储规则中保存有每个第二数字量与被激活的数据表的对应关系,由于每个第二数字量是第一数字量中的高字节还是低字节,根据拆分规则可以预知,因此只要保证对应某一字节的第二数字量都被存储到一个数据表中即可。
例如拆分得到两个第二数字量,在对每个第一数字量进行拆分时,每个第二数字量对应的是第一数字量的高位字节还是低位字节是已知的。因此可以对被激活的数据表进行命名,将高位字节统一存入某一个命名的数据表中,将低位字节统一存入到另一个命名的数据表中。
本发明实施例中通过将采集的监控值的对应的第一数字量进行拆分得到第二数字量,将高位和低位字节分开存放满足了数据访问接口仅能传输固定字节数的需求。
实施例2:
为了将每个第二数字量及与该第二数字量对应的每个射频值存入被激活的每个第一目标数据表中,在上述实施例的基础上,在本发明实施例中,所述根据预设的存储规则,在对应被激活的每个第一目标数据表中添加对应的第二数字量与该射频值包括:
如果当前被激活的目标数据表为第一目标数据表,所述第一目标数据表包括第一数据表和第二数据表,并且该存储规则为第一数字量中的高位字节对应的字节组所对应第一数据表,低位字节对应的字节组所对应第二数据表,则将字节组为高位字节的第二数字量及该射频值添加到第一数据表中,将字节组为低位字节的第二数字量及该射频值添加到第二数据表中。
本发明实施例中,确定当前被激活的第一目标数据表为第一数据表和第二数据表,也就说拆分后得到两个第二数字量。因为第一字节数和第二字节数都是预先确定的,因此一个第一字节数的第一数字量,被拆分为几个第二字节数的第二数字量也是预先可知的,因此可以根据第一数字量和第二数字量的字节数的关系,预先激活与第二数字量的数量相同的数据表,并记录每个数据表与第二数字量的对应关系,以便将每个第二数字量添加到对应的数据表中。
由于上述步骤记录了每个数据表与第二数字量的对应关系,那么就可以根据该对应关系将每个第二数字量添加到对应的数据表中。假如该对应关系记录了第一数字量的高位字节对应的第二数字量存入第一数据表,第一数字量的低位字节对应的第二数字量存入第二数据表。由于在对每个第一数字量进行拆分时,每个第二数字量对应的是第一数字量的高位字节还是低位字节是已知的,那么就将高位字节对应的第二数字量及该第二数字量对应的射频值保存在第一数据表中,低位字节对应的第二数字量及该第二数字量对应的射频值保存在第二数据表中。
例如具有四字节的第一数字量为00110010001011001100010110100011,根据拆分规则拆分后得到的具有二字节的第二数字量为0011001000101100和1100010110100011,其中0011001000101100对应第一数字量的高位字节,1100010110100011对应第一数字量的低位字节。根据记录的每个数据表与第二数字量的对应关系,将对应第一数字量的高位字节的0011001000101100及该射频值添加到第一数据表,将对应第一数字量的低位字节的1100010110100011及该射频值添加到第二数据表。
本发明实施例中通过规定第一数字量的高位和低位字节的存储位置,保证了数据存储的可靠性,将高位和低位字节分开存放满足了数据访问接口能够传输的字节数。
实施例3:
为了保证第一目标数据表能够存储采集的数据,在上述各实施例的基础上,在本发明实施例中,所述根据预设的存储规则,在对应被激活的每个第一目标数据表中添加对应的第二数字量与该射频值之前,所述方法还包括:
判断当前被激活的每个数据表是否存在空闲空间;
如果是,执行后续步骤。
此步骤中,在将得到的每个第二数字量及该第二数字量对应的每个射频值添加到被激活的第一目标数据表之前,需要对该第一目标数据表的空间进行检查。如果当前被激活的第一目标数据表存在空闲空间,那么可以将每个第二数字量及该第二数字量对应的每个射频值按照上述提到的存储规则添加至相应数据表。
本发明实施例中通过对每个数据表的空间进行检查,保证了被激活的数据表可以存储采集的数据。
实施例4:
为了解决当前被激活数据表不存在空闲空间的问题,在上述各实施例的基础上,在本发明实施例中,如果当前被激活的每个数据表不存在空闲空间,所述方法还包括:
创建与当前被激活的每个第一目标数据表关联的每个第二目标数据表,并保存每个第一目标数据表与对应的第二目标数据表的关联关系;
将每个第二目标数据表设置为激活状态,根据与每个第一目标数据表关联的第二目标数据表,将第二数字量和该射频值添加到对应的第二目标数据表中。
当存在扩频需求时,因为射频值的增加,之前数据表的长度已经无法满足用户的需求,为了保证在需要的时候能够查找到每个射频值对应的监控值,并且保证射频值的连续性,需要增加数据表的长度。
当对被激活的数据表进行检查发现该数据表不存在空闲空间时,则需要创建与其关联的另一个数据表。
当创建了数据表后,保存当前被激活数据表与创建了的数据表之间的关联关系。
在保存了该关联关系以后,将被创建的第二目标数据表的状态设置为激活状态,根据预设的存储规则,将每个第二数字量及与该第二数字量对应的每个射频值按照存储规则对应存储到当前创建并激活的第二目标数据表内。
具体地,当被激活的第一目标数据表不存在空闲空间,而仍有一部分射频值没有存储进数据表,此时,则需要在第一目标数据表的基础上创建一个与其关联的第二目标数据表,将剩余的射频值按照第一目标数据的存储规则添加到第二目标数据表。例如该剩余射频值对应的监控值转换为第一数字量为10110010001011001101010110100011,根据与第一目标数据表一样的拆分规则,可以将该第一数字量拆分为具有二字节的第二数字量1011001000101100和1101010110100011,同样的,根据预设的存储规则,可以将对应第一数字量的高位字节的1011001000101100及该射频值添加到第三数据表,将对应第一数字量的低位字节的1101010110100011及该射频值添加到第四数据表。其中此处的第三数据表为新创建的表并与第一数据表相关联,第四数据表为新创建的表并和第二数据表相关联,为第二目标数据表对应的两个数据表。
本发明实施例中通过创建与当前被激活的第一目标数据表关联的第二目标数据表,解决了当前被激活数据表不存在空闲空间的问题,使得采集的数据都可以得到保存。
实施例5:
图2为本发明实施例提供的一种基于射频数据表生成方法的射频值查询过程示意图,该过程包括以下步骤:
S201:获取目标监控值,其中所述目标监控值的第一数字量为第一字节数。
当存在查询射频值的需求时,用户将会输入查询请求,该查询请求中携带进行查询的监控值,当查询设备接收到该查询请求后,将该监控值作为目标监控值,其中该目标监控值是具有第一字节数的第一数字量。
S202:调用被激活的每个目标数据表。
为了查询每个射频值对应的数字量,将每个被激活的目标数据表调用出来,读取每个被激活的目标数据表。
S203:根据保存的预设的存储规则,将每个目标数据表中包含的每个射频值对应的第二数字量进行组合,其中每个目标数据表中保存有第二字节数的每个监控值,其中所述第一字节数大于所述第二字节数,所述第二字节数为数据表访问接口能够访问的字节数。
此步骤中,可以预先保存有数据的存储规则。由于数据在存储时采用该存储规则进行存储,那么在读取时也可以采用该存储规则对应读取数据表中的数据。
为了方便接口访问,每个数据表中存储的监控值的字节数满足接口访问需求,但因为用户所需的字节数可能与接口访问的字节数不同,因此在进行存储时,将同一射频值对应的监控值进行的拆分,一个射频值对应的监控值被存储在至少两个数据表中,因此当需要获取监控值对应的射频值时,需要先将数据表进行组合,得到拆分前的每个射频值与监控值的对应关系,从而根据组合后得到的每个射频值与监控值的对应关系,确定监控值对应的射频值。
根据预设的存储规则,该存储规则包含了每个数据表与每个第二数字量的对应关系,根据该对应关系,从每个目标数据表中读取出其包含的每个射频值对应的数字量。因为在存储过程中,是将同一射频值对应的监控值进行拆分后存储在每个数据表的,因此每个数据表中每个第二数字量对应第一数字量的哪个或者哪几个字节是已知的,为了在进行组合的时候可以得到准确的第一数字量,每个数据表中第二数字量和第一数字量的对应关系在预设的存储规则中都会有记录。根据该记录的每个第二数字量与第一数字量的字节对应关系,可以按照第一数字量中每个字节组对应的字节位的高低,得到每个字节位对应的第二数字量。
其中第一数字量中每个字节组对应的字节位的高低是根据与第一数字量的字节位从左到右的顺序一一对应确定的。将第一数字量中每个字节组与第一数字量的字节位从左到右一一对应,依次为高位、次高位、低位、次低位等。例如第一数字量拆分为四个第二数字量,那么该四个第二数字量对应第一数字量的字节位的高低可以从左到右对应第一数字量高位、次高位、低位、次低位。
因此,读取的每个目标数据表中包含的每个射频值对应的数字量为,组合后的数据表中该射频值对应的监控值的每个字节位的字节组对应的第二数字量。其中每个射频值对应的监控值的每个第二数字量为每个目标数据表中保存的具有第二字节数的每个监控值,其中该第二字节数为数据表访问接口能够访问的字节数。
S204:在组合后得到的数据表中查找所述目标监控值,将所述目标监控值对应的射频值作为目标射频值。
将读取的每个目标数据表的每个第二数字量组合后得到新的数据表,该新的数据表中包含每个射频值及该射频值对应监控值组合后的数字量。
将目标监控值对应的第一数字量与组合后的数字量一一进行对比,将与目标监控值对应的第一数字量一致的组合后的数字量对应的射频值作为目标射频值。
本发明实施例中通过将读取每个射频值对应的数字量进行合成,增加了该数字量的字节数,使得数据表成员的字节数与数据表访问接口能够访问的字节数相匹配,从而可以被数据表访问接口访问,解决了现有数据表成员字节数不能满足实际使用需求的问题。
实施例6:
为了读取每个射频值对应的数字量,并将每个射频值对应的数字量进行组合,在上述各实施例的基础上,在本发明实施例中,所述根据保存的预设的存储规则,将每个目标数据表中包含的每个射频值对应的第二数字量进行组合包括:
如果当前被激活的目标数据表为第一目标数据表,所述第一目标数据表包括第一数据表和第二数据表,并且该存储规则为第一数字量中的高位字节对应的字节组对应第一数据表,第一数字量中的低位字节对应的字节组对应第二数据表,则针对每个射频值,从第一数据表中读取该射频值对应的第二数字量,从第二数据表中读取该射频值对应的第二数字量,将从所述第一数据表中读取的第二数字量作为组合后的数据表中该射频值对应的第一数字量的高字节,将从所述第二数据表中读取的第二数字量作为组合后的数据表中该射频值对应第一数字量的低字节。
此步骤中,预先保存一个存储规则,由于数据在存储时采用该存储规则进行存储,那么在读取时也可以采用该存储规则对应读取数据表中的数据。
该存储规则包含了每个数据表与第二数字量的对应关系,根据该存储规则可以将每个第二数字量对应添加到每个数据表中,具体地,将采集的监控值对应的第一数字量的高位字节对应的第二数字量存入第一数据表,低位字节对应的第二数字量存入第二数据表。那么在读取每个目标数据表包含的每个射频值对应的数字量时,将从目标数据表的第一数据表中读取出的第二数字量作为组合后的数据表中该射频值对应的第一数字量的高字节,将从目标数据表的第二数据表中读取出的第二数字量作为组合后的数据表中该射频值对应的低字节。
在读取了每个目标数据表包含的每个射频值对应的数字量后,对该得到的数字量进行组合。因为在对第一数字量进行拆分时,每个第二数字量对应第一数字量的哪个或者哪几个字节是已知的,因此可以记录每个第二数字量对应第一数字量的哪个或哪几个字节,以便在进行组合的时候可以得到准确的第一数字量。根据该记录的每个第二数字量与第一数字量的字节对应关系,可以得到第一数字量的高位字节对应的第二数字量及低位字节对应的第二数字量。然后根据存储规则,将得到的高位字节对应的第二数字量及低位字节对应的第二数字量进行组合。
该组合规则可以是将高字节组的第二数字量左移设定位数,剩余右位补零,确定为中间数字量,其中该设定位数为低字节组的第二数字量的字节数的8倍。在确定了中间数字量以后,将中间数字量与低字节组的第二数字量相加得到组合的数字量,将该组合得到的数字量作为该射频值对应的监控值的第一数字量。
具体地,如下表所示,表1中存放的监控值为射频值对应的监控值的高位字节,表2中存放的监控值为射频值对应的监控值的低位字节,在根据组合规则进行组合时,针对每个射频值,可以将同一射频值的位于表1中的监控值左移设定的位数,得到中间监控值,其中表1中的监控值左移设定的位数为表2中与该射频值对应的监控值字节数的8倍,最后将得到的中间监控值与表2中的监控值相加,将组合得到的监控值作为该射频值对应的监控值,如表3所示。
序号 射频值 监控值
1 rfVal1 tbl1Val1
2 rfVal2 tbl1Val2
3 rfVal3 tbl1Val3
4 rfVal4 tbl1Val4
5 rfVal5 tbl1Val5
6 rfVal6 tbl1Val6
7 rfVal7 tbl1Val7
n rfValn tbl1Valn
表1
序号 射频值 监控值
1 rfVal1 tbl2Val1
2 rfVal2 tbl2Val2
3 rfVal3 tbl2Val3
4 rfVal4 tbl2Val4
5 rfVal5 tbl2Val5
6 rfVal6 tbl2Val6
7 rfVal7 tbl2Val7
n rfValn tbl2Valn
表2
Figure BDA0001806227720000151
Figure BDA0001806227720000161
表3
组合得到表3后,因为进行查询的监控值已知,因此将该监控值与表3组合得到的监控值进行匹配,将匹配成功的监控值对应的射频值作为最终的目标射频值输出。
本发明实施例中通过保存的存储规则读取每个数据表中的每个射频值对应的数字量,并将每个射频值对应的数字量进行组合,保证了读取的各个数字量与该射频值的对应性,并得到了目标监控值。
实施例7:
图3a为本发明提供的一种具体进行射频值查询的实施例,包括以下步骤:
为实现本发明所述目的,上述方法利用原软件中的数据表访问接口即可实现,主要包括以下步骤:
S301:获取目标监控值。
该射频数据表的生成过程在上述实施例中有详细描述,在本发明实施例中不再赘述。
通过上述步骤生成了射频数据表以后,数据表将会保存下来,以便后续查询使用,因为数据表比较固定,进行查询的数据表的标识信息可以预知,因此在进行监控值查询时,可以输入查询请求,该查询请求中携带第一数据表ID、第二数据表ID,以及索引监控值,该索引监控值即为待获取的目标监控值。由于原有数据表访问接口能够访问的字节数与数据表成员的字节数不匹配,当数据表访问接口读取了数据表中相应的监控值后,需要将监控值进行拼接,这个过程相当于调用原有数据表访问接口,重新封装一个数据表访问接口。
S302:调用被激活的每个目标数据表,根据保存的预设的存储规则,将每个目标数据表中包含的每个射频值对应的第二数字量进行组合。
本发明实施例中,射频值查询的详细过程如图3b所示。
判断该目标监控值的字节数是否满足数据表访问接口的字节数,如果满足,查找第一数据表是否包含该目标监控值,如果不包含,则在第二数据表中查找该目标监控值,将与该目标监控值对应的射频值作为目标射频值输出。
如果该目标监控值的字节数不满足数据表访问接口的字节数,则读取第一数据表和第二数据表,将第一数据表和第二数据表中保存的每个射频值对应的每个监控值的高位字节和低位字节进行组合,即将第一数据表和第二数据表中保存的每个射频值对应的每个监控值合并。
S303:在组合后得到的数据表中查找所述目标监控值,将所述目标监控值对应的射频值作为目标射频值。
在组合后得到的数据表中查找目标监控值,将目标监控值对应的第一数字量与组合后的数字量一一进行对比,将与目标监控值对应的第一数字量一致的组合后的数字量对应的射频值作为目标射频值输出。
本发明实施例的具体步骤在上述实施例中均有具体描述,在此不再赘述。
实施例8:
基于相同的技术构思,本发明实施例还提供一种射频数据表生成装置,该装置可执行上述方法实施例。本发明实施例提供的装置如图4所示,该装置主要包括:
采集模块401,用于针对预设的每个射频值,采集该射频值对应的监控值,并将所述监控值转换为预设的第一字节数的第一数字量;
拆分模块402,用于根据预设的对数字量的拆分规则,对所述第一数字量进行拆分,拆分后得到的每个字节组为第二字节数的第二数字量,其中拆分后得到的第二数字量为至少两个,其中所述第二字节数小于第一字节数,所述第二字节数为数据表访问接口能够访问的字节数;
存储模块403,用于针对预设的每个射频值,根据预设的存储规则,在对应被激活的每个目标数据表中添加对应的第二数字量与该射频值。
进一步地,所述存储模块403,具体用于如果当前被激活的目标数据表为第一目标数据表,所述第一目标数据表包括第一数据表和第二数据表,并且该存储规则为第一数字量中的高位字节对应的字节组所对应第一数据表,低位字节对应的字节组所对应第二数据表,则将字节组为高位字节的第二数字量及该射频值添加到第一数据表中,将字节组为低位字节的第二数字量及该射频值添加到第二数据表中。
进一步地,所述装置还包括:判断模块404,用于判断当前被激活的每个数据表是否存在空闲空间;如果是,则触发存储模块。
进一步地,所述装置还包括:创建模块405,用于如果当前被激活的每个数据表不存在空闲空间,创建与当前被激活的每个第一目标数据表关联的每个第二目标数据表,并保存每个第一目标数据表与对应的第二目标数据表的关联关系;将每个第二目标数据表设置为激活状态,根据与每个第一目标数据表关联的第二目标数据表,将第二数字量和该射频值添加到对应的第二目标数据表中。
实施例9:
基于相同的技术构思,本发明实施例还提供一种基于射频数据表生成装置的射频值查询装置,该装置可执行上述方法实施例。本发明实施例提供的装置如图5所示,该装置主要包括:
获取模块501,用于获取目标监控值,其中所述目标监控值的第一数字量为第一字节数;
调用模块502,用于调用被激活的每个目标数据表;
组合模块503,用于根据保存的预设的存储规则,将每个目标数据表中包含的每个射频值对应的第二数字量进行组合,其中每个目标数据表中保存有第二字节数的每个监控值,其中所述第一字节数大于所述第二字节数,所述第二字节数为数据表访问接口能够访问的字节数;
查找模块504,在组合后得到的数据表中查找所述目标监控值,将所述目标监控值对应的射频值作为目标射频值。
进一步地,所述组合模块503,具体用于如果当前被激活的目标数据表为第一目标数据表,所述第一目标数据表包括第一数据表和第二数据表,并且该存储规则为第一数字量中的高位字节对应的字节组对应第一数据表,第一数字量中的低位字节对应的字节组对应第二数据表,则针对每个射频值,从第一数据表中读取该射频值对应的第二数字量,从第二数据表中读取该射频值对应的第二数字量,将从所述第一数据表中读取的第二数字量作为组合后的数据表中该射频值对应的第一数字量的高字节,将从所述第二数据表中读取的第二数字量作为组合后的数据表中该射频值对应第一数字量的低字节。
综上所述,本发明提供一种射频数据表生成方法及装置、射频值查询方法及装置,射频值查询方法包括:获取目标监控值,其中所述目标监控值的第一数字量为第一字节数;调用被激活的每个目标数据表;根据保存的预设的存储规则,将每个目标数据表中包含的每个射频值对应的第二数字量进行组合,其中每个目标数据表中保存有第二字节数的每个监控值,其中所述第一字节数大于所述第二字节数,所述第二字节数为数据表访问接口能够访问的字节数;在组合后得到的数据表中查找所述目标监控值,将所述目标监控值对应的射频值作为目标射频值。该方法在不改变数据表访问接口的情况下,通过将每个射频值对应的数字量进行组合,以使得数据表成员的字节数与数据表访问接口能够访问的字节数相匹配,从而可以被数据表访问接口访问,解决了现有数据表成员字节数不能满足实际使用需求的问题。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全应用实施例、或结合应用和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

1.一种射频数据表生成方法,其特征在于,所述方法包括:
针对预设的每个射频值,采集该射频值对应的监控值,并将所述监控值转换为预设的第一字节数的第一数字量;
根据预设的对数字量的拆分规则,对所述第一数字量进行拆分,拆分后得到的每个字节组为第二字节数的第二数字量,其中拆分后得到的第二数字量为至少两个,其中所述第二字节数小于第一字节数,所述第二字节数为数据表访问接口能够访问的字节数;
根据预设的存储规则,在对应被激活的每个目标数据表中添加对应的第二数字量与该射频值。
2.如权利要求1所述的方法,其特征在于,所述根据预设的存储规则,在对应被激活的每个目标数据表中添加对应的第二数字量与该射频值包括:
如果当前被激活的目标数据表为第一目标数据表,所述第一目标数据表包括第一数据表和第二数据表,并且该存储规则为第一数字量中的高位字节对应的字节组所对应第一数据表,低位字节对应的字节组所对应第二数据表,则将字节组为高位字节的第二数字量及该射频值添加到第一数据表中,将字节组为低位字节的第二数字量及该射频值添加到第二数据表中。
3.如权利要求1所述的方法,其特征在于,所述根据预设的存储规则,在对应被激活的每个第一目标数据表中添加对应的第二数字量与该射频值之前,所述方法还包括:
判断当前被激活的每个数据表是否存在空闲空间;
如果是,执行后续步骤。
4.如权利要求3所述的方法,其特征在于,如果当前被激活的每个数据表不存在空闲空间,所述方法还包括:
创建与当前被激活的每个第一目标数据表关联的每个第二目标数据表,并保存每个第一目标数据表与对应的第二目标数据表的关联关系;
将每个第二目标数据表设置为激活状态,根据与每个第一目标数据表关联的第二目标数据表,将第二数字量和该射频值添加到对应的第二目标数据表中。
5.一种基于权利要求1-4任一项所述的射频数据表生成方法的射频值查询方法,其特征在于,该方法包括:
获取目标监控值,其中所述目标监控值的第一数字量为第一字节数;
调用被激活的每个目标数据表;
根据保存的预设的存储规则,将每个目标数据表中包含的每个射频值对应的第二数字量进行组合,其中每个目标数据表中保存有第二字节数的每个第二数字量,其中所述第一字节数大于所述第二字节数,所述第二字节数为数据表访问接口能够访问的字节数;
在组合后得到的数据表中查找所述目标监控值,将所述目标监控值对应的射频值作为目标射频值。
6.如权利要求5所述的方法,其特征在于,所述根据保存的预设的存储规则,将每个目标数据表中包含的每个射频值对应的第二数字量进行组合包括:
如果当前被激活的目标数据表为第一目标数据表,所述第一目标数据表包括第一数据表和第二数据表,并且该存储规则为第一数字量中的高位字节对应的字节组对应第一数据表,第一数字量中的低位字节对应的字节组对应第二数据表,则针对每个射频值,从第一数据表中读取该射频值对应的第二数字量,从第二数据表中读取该射频值对应的第二数字量,将从所述第一数据表中读取的第二数字量作为组合后的数据表中该射频值对应的第一数字量的高字节,将从所述第二数据表中读取的第二数字量作为组合后的数据表中该射频值对应第一数字量的低字节。
7.一种射频数据表生成装置,其特征在于,该装置包括:
采集模块,用于针对预设的每个射频值,采集该射频值对应的监控值,并将所述监控值转换为预设的第一字节数的第一数字量;
拆分模块,用于根据预设的对数字量的拆分规则,对所述第一数字量进行拆分,拆分后得到的每个字节组为第二字节数的第二数字量,其中拆分后得到的第二数字量为至少两个,其中所述第二字节数小于第一字节数,所述第二字节数为数据表访问接口能够访问的字节数;
存储模块,用于针对预设的每个射频值,根据预设的存储规则,在对应被激活的每个目标数据表中添加对应的第二数字量与该射频值。
8.如权利要求7所述的装置,其特征在于,所述存储模块,具体用于如果当前被激活的目标数据表为第一目标数据表,所述第一目标数据表包括第一数据表和第二数据表,并且该存储规则为第一数字量中的高位字节对应的字节组所对应第一数据表,低位字节对应的字节组所对应第二数据表,则将字节组为高位字节的第二数字量及该射频值添加到第一数据表中,将字节组为低位字节的第二数字量及该射频值添加到第二数据表中。
9.如权利要求7所述的装置,其特征在于,所述装置还包括:
判断模块,用于判断当前被激活的每个数据表是否存在空闲空间;如果是,则触发存储模块。
10.如权利要求7所述的装置,其特征在于,所述装置还包括:
创建模块,用于如果当前被激活的每个数据表不存在空闲空间,创建与当前被激活的每个第一目标数据表关联的每个第二目标数据表,并保存每个第一目标数据表与对应的第二目标数据表的关联关系;将每个第二目标数据表设置为激活状态,根据与每个第一目标数据表关联的第二目标数据表,将第二数字量和该射频值添加到对应的第二目标数据表中。
11.一种基于权利要求7-10任一项所述的射频数据表生成装置的射频值查询装置,其特征在于,该装置包括:
获取模块,用于获取目标监控值,其中所述目标监控值的第一数字量为第一字节数;
调用模块,用于调用被激活的每个目标数据表;
组合模块,用于根据保存的预设的存储规则,将每个目标数据表中包含的每个射频值对应的第二数字量进行组合,其中每个目标数据表中保存有第二字节数的每个第二数字量,其中所述第一字节数大于所述第二字节数,所述第二字节数为数据表访问接口能够访问的字节数;
查找模块,在组合后得到的数据表中查找所述目标监控值,将所述目标监控值对应的射频值作为目标射频值。
12.如权利要求11所述的装置,其特征在于,所述组合模块,具体用于如果当前被激活的目标数据表为第一目标数据表,所述第一目标数据表包括第一数据表和第二数据表,并且该存储规则为第一数字量中的高位字节对应的字节组对应第一数据表,第一数字量中的低位字节对应的字节组对应第二数据表,则针对每个射频值,从第一数据表中读取该射频值对应的第二数字量,从第二数据表中读取该射频值对应的第二数字量,将从所述第一数据表中读取的第二数字量作为组合后的数据表中该射频值对应的第一数字量的高字节,将从所述第二数据表中读取的第二数字量作为组合后的数据表中该射频值对应第一数字量的低字节。
CN201811117440.XA 2018-09-20 2018-09-20 射频数据表生成方法及装置、射频值查询方法及装置 Active CN109213796B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811117440.XA CN109213796B (zh) 2018-09-20 2018-09-20 射频数据表生成方法及装置、射频值查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811117440.XA CN109213796B (zh) 2018-09-20 2018-09-20 射频数据表生成方法及装置、射频值查询方法及装置

Publications (2)

Publication Number Publication Date
CN109213796A CN109213796A (zh) 2019-01-15
CN109213796B true CN109213796B (zh) 2020-11-10

Family

ID=64984864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811117440.XA Active CN109213796B (zh) 2018-09-20 2018-09-20 射频数据表生成方法及装置、射频值查询方法及装置

Country Status (1)

Country Link
CN (1) CN109213796B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067519A (zh) * 2013-01-04 2013-04-24 深圳市广道高新技术有限公司 一种异构平台下数据分布存储的方法及装置
CN104467865A (zh) * 2014-12-01 2015-03-25 山东华芯半导体有限公司 串行通信协议控制器、字节拆分电路及8b10b编码器
CN105975607A (zh) * 2016-05-16 2016-09-28 乐视控股(北京)有限公司 一种图片存储及读取方法、图片存取系统
CN106506961A (zh) * 2016-11-29 2017-03-15 中国科学院长春光学精密机械与物理研究所 一种图像处理系统以及图像处理方法
WO2017056154A1 (ja) * 2015-09-28 2017-04-06 三菱電機株式会社 通信装置及び通信システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067519A (zh) * 2013-01-04 2013-04-24 深圳市广道高新技术有限公司 一种异构平台下数据分布存储的方法及装置
CN104467865A (zh) * 2014-12-01 2015-03-25 山东华芯半导体有限公司 串行通信协议控制器、字节拆分电路及8b10b编码器
WO2017056154A1 (ja) * 2015-09-28 2017-04-06 三菱電機株式会社 通信装置及び通信システム
CN105975607A (zh) * 2016-05-16 2016-09-28 乐视控股(北京)有限公司 一种图片存储及读取方法、图片存取系统
CN106506961A (zh) * 2016-11-29 2017-03-15 中国科学院长春光学精密机械与物理研究所 一种图像处理系统以及图像处理方法

Also Published As

Publication number Publication date
CN109213796A (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
US9483533B2 (en) Method and apparatus for processing time series data
CN111221840A (zh) 数据处理方法及装置、数据缓存方法、存储介质、系统
CN111475105B (zh) 监控数据存储方法、设备、服务器及存储介质
CN111354099B (zh) 一种数据处理方法、数据处理装置及诊断设备
CN110781184A (zh) 数据表的构建方法、装置、设备及存储介质
AU2020385942A1 (en) Method and apparatus for storing data, and computer device and storage medium thereof
CN113704243A (zh) 数据分析方法、装置、计算机装置及存储介质
CN111209252A (zh) 一种文件元数据存储方法、装置及电子设备
CN111324781A (zh) 一种数据分析方法、装置及设备
CN113946565B (zh) 一种支持异构数据的分库分表迁移方法及系统
CN116881287A (zh) 一种数据查询方法及相关设备
CN104765792A (zh) 一种维度数据存储的方法、装置及系统
CN109213796B (zh) 射频数据表生成方法及装置、射频值查询方法及装置
CN117391596A (zh) 物料和工序匹配方法、装置、通信设备及存储介质
CN104636471A (zh) 一种程序代码的查找方法及装置
CN112162951A (zh) 一种信息检索方法、服务器及存储介质
CN112988786B (zh) 数据库维护方法和装置
CN111143092A (zh) 故障录波数据处理方法、系统及终端设备
CN111782661B (zh) 一种数据存储方法、数据查询方法和装置
CN114564501A (zh) 一种数据库数据存储、查询方法、装置、设备及介质
CN113259214B (zh) 行车数据监控系统
CN110334098A (zh) 一种基于脚本的数据库合并方法及系统
CN115659325B (zh) 审计方法、电子设备及存储介质
CN110765127B (zh) 事实数据的评分方法、装置、设备及存储介质
CN116028526A (zh) 适用于rbc系统维护数据的存储查询方法、设备及介质

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
TA01 Transfer of patent application right

Effective date of registration: 20200106

Address after: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Applicant after: Jingxin Communication System (China) Co., Ltd.

Address before: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant before: Jingxin Communication System (China) Co., Ltd.

Applicant before: Jingxin Communication System (Guangzhou) Co., Ltd.

Applicant before: Jingxin Communication Technology (Guangzhou) Co., Ltd.

Applicant before: TIANJIN COMBA TELECOM SYSTEMS CO., LTD.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Patentee after: Jingxin Network System Co.,Ltd.

Address before: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Patentee before: Comba Telecom System (China) Ltd.

CP01 Change in the name or title of a patent holder