一种控制系统的设备信息查询方法及查询设备与流程

文档序号:24985692发布日期:2021-05-07 23:03阅读:98来源:国知局
一种控制系统的设备信息查询方法及查询设备与流程
本发明涉及一种信息查询方法,特别是涉及控制系统的设备信息查询方法及查询设备。
背景技术
:控制系统的一些日常业务中,经常会遇到设备信息查询业务,但是这些业务涉及到的设备类别种类不多,并且一个设备属于多个分类,而对这种多对多关系的业务场景,通常是需要三张数据表来处理,一个设备信息分类表,一个设备信息表,还有一个关系表把分类和设备信息的对应关系记录下来。另一种方法是以分隔符的方式,把分类及设备信息对应关系中的多个值以字符串的形式记录在一个字段里。通过第一种关系表的方式对存储的设备信息进行查询时,需要在数据库中查多张表,查询效率比较低,而且由于需要存储多张表,存储效率也比较低。以分隔符连接成字符串形式的方式对设备信息进行查询时,由于字符串中存在分隔符,所以无法快速索引,查询效率也比较低。技术实现要素:针对以上问题,本发明提供了一种控制系统的设备信息的查询方法,包括步骤:接收来自客户端的查询请求,查询请求携带有设备信息按层级分类生成的分类项标识码;根据上述分类项标识码生成对数据库中设备信息表的查询条件,其中所述设备信息表包括设备名称字段和设备标识码字段,用于存储设备名称和合设备标识码。发送包括所述查询条件的查询指令到数据库;接收数据库返回的查询结果,其中查询结果包括数据库根据所述查询指令在设备信息表中查询得到的符合所述查询条件的设备信息记录;发送所述查询到的设备信息记录中的设备标识码或设备名称到客户端。优选地,设备信息的层级分类包括l级,所述每一级分类包括多个分类项,所述分类项标识码用于标识所述分类项,每一个所述分类标识码对应一个分类项,其中l为大于等于1的整数。优选地,设备标识码用于标识设备,所述设备标识码由第l级分类中的至少一个所述分类项标识码通过二进制运算生成。优选地,每一级分类中所述分类项标识码的初始值为2的n次方,n用于表示所述分类项在本级分类中的排列次序。优选地,如果一个设备名称和第l级分类的多个所述分类项相对应,则所述设备标识码由多个所述分类项标识码生成。优选地,所述设备标识码由第l级的多个所述分类项标识码在二进制下通过或运算获得。优选地,每个第m级分类的所述分类项标识码由至少一个第m-1级分类的所述分类项标识码和第m级分类的所述分类项标识码的初始值生成,其中m>=2且m<=l。优选地,层级分类是两级层级分类,其中第二级分类的所述分类项标识码是一个第一级分类的所述分类项标识码的初始值和第二级分类的所述分类项标识码的初始值在二进制下拼接后形成的十进制数。优选地,设备标识码由至少一个第二级分类的所述分类项标识码生成,如果设备名称和多个第二级分类项对应,则设备标识码是多个第二级分类的所述分类项标识码在二进制下运算后转换成形成的一个十进制数。优选地,当查询请求中只包括一个所述分类项标识码,且设备信息分类层级是一级时,所述查询条件为所述分类项标识码与所述设备标识码在二进制下进行与运算的结果等于所述分类识别码;如果查询条件成立,则查询结果包括所述设备标识码及其对应的设备名称。优选地,当查询请求中包括多个分类项标识码时,如果要查询所述多个分类项下的设备信息、且设备信息分类层级是一级,则所述查询条件为多个分类项标识码进行二进制异或后再和所述设备标识码进行二进制与运算的结果等于零;如果查询条件成立,则查询结果包括所述设备标识码及其对应的设备名称。优选地,当查询请求中包括多个分类项标识码时,如果要查询同时属于多个分类项下的设备信息,且所述设备信息的分类层级是一级,则查询条件为所述多个分类项标识码进行二进制异或后再和设备标识码进行二进制与运算大于或等于所述多个分类项的二进制异或值;如果条件成立,则查询结果包括的标识码和设备名称同时属于所述多个分类项。本发明还提供了一种控制系统的查询设备,包括:查询请求接收装置,用于接收来自客户端的查询请求,所述查询请求携带有设备信息按层级分类生成的分类项标识码;查询条件生成装置,用于根据所述分类项标识码生成对数据库中设备信息表的查询条件,其中所述设备信息表包括设备名称字段和设备标识码字段,用于存储设备名称和合设备标识码。查询装置,用于发送包括所述查询条件的查询指令到数据库进行查询;查询结果接收装置,用于接收数据库返回的查询结果,并发送所述查询到的设备信息记录中的设备标识码或设备名称到客户端;其中查询结果包括数据库根据所述查询指令在设备信息表中查询得到的符合所述查询条件的设备信息记录。本发明通过直接查询数据库的设备信息表实现了对设备信息的快速查询,设备标识码因为由分类项标识码生成,包含了设备和分类项的对应信息,从而不需要构造多张表,查询时也不需要查询多张表;此外,通过把设备标识码从二进制序列转换到十进制的方式,达到了记录多种数据分类情况,并且通过一定的运算实现了快速索引的效果。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1是本发明实施例的控制系统的示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1是本发明实施例的控制系统的示意图。参照图1,控制系统10包括客户端11、服务器12、网关13、多个传感器14、多个灯具15、控制器(未示出)、数据库(未示出)等多个设备,本实施例中用户在客户端11进行控制系统中的设备信息的查询,也可以在其它客户端上进行设备信息的查询,查询请求通过有线或无线网络发送到服务器,通过服务器对存储的设备信息查询。本发明实施例提供了一种设备信息的查询方法,包括步骤:接收来自客户端的查询请求,查询请求携带设备信息按层级分类生成的分类项标识码;结合表1和表2,本实施例中设备信息的层级分类只包括一级分类,其中,设备信息的一级分类项包括“网关”、“家居照明设备”、“控制器”、“传感器”和“办公照明设备”,一级分类中的每个分类项的唯一标识码为分类项标识码,其初始值按顺序设定为2的n次方,n是在一级分类中的第n个分类项,在二进制下,每一个分类项标识码占用一个字节的一个比特位,如“网关”的分类项标识码为:00000001;按顺序第二个一级分类项“家居灯具”的分类项标识码为:00000010;第三个“控制器”的分类项标识码为:00000100以此类推,如果一个字节长度不够,可以增加字节长度。参照表2,设备信息表包括设备名称字段和设备标识码字段,当求出设备标志码后,把设备标志码及其对应的设备名称填入设备信息表中的设备标识字段和设备名称字段并把设备信息表存入数据库中。表2设备信息表中的每一个设备都有所属分类,如“蓝牙网关”属于一级分类项“网关”,“嵌入式筒灯”同时属于一级分类项“家居照明设备和办公照明设备”;其中,“蓝牙网关”只属于一个一级分类项“网关”,则“蓝牙网关”的设备标识码设为其上一级的一级分类项“网关”的分类项标识码00000001,转换成十进制数1存入数据库的设备信息表;而“嵌入式筒灯”属于“家居照明设备和办公照明设备”,意味着嵌入式筒灯对应两个一级分类项,其中“家居照明设备”的分类项标识码为00000010,“办公照明设备”的分类项标识码为00010000,则嵌入式筒灯的设备标识码由其上一级两个一级分类的分类项标识码计算得出,具体计算方法可以把两个一级分类的分类项标识码在二进制下进行“或”运算;一级分类项“家居照明设备”的设备标识码2对应的二进制串为00000010,“办公照明设备”的分类项标识码16对应的二进制串为00010000,两个二进制数串按位或以后,得到00010010,转为十进制为18,即00000010|00010000=00010010,把十进制数18存入设备信息表中的设备标识码字段。根据服务器接收到的查询请求中包括的分类项标识码生成对数据库中设备信息表的查询条件;服务器生成包括查询条件的查询数据库指令,并发送到数据库进行目标设备信息查询;接收数据库返回的查询结果,其中查询结果包括数据库根据所述查询指令在设备信息表中查询得到的符合所述查询条件的设备信息记录;发送所述查询到的设备信息记录中的设备标识码或设备名称到客户端。表1:控制系统设备信息一级分类项表表2设备信息表设备名称设备标识码蓝牙网关1嵌入式筒灯4当查询一个分类项下的设备信息时,即请求中只包括一个所述分类项标识码,本实施例中设备信息分类层级为一级,服务器生成的查询条件为:该分类项标识码与设备标识码在二进制下进行“与”运算的结果等于该分类识别码;如果查询条件成立,则返回的查询结果包括设备标识码及其对应的设备名称。比如我们要查询属于一级分类项“网关”的设备信息,那么数据库的查询条件为:“网关分类项标志码&设备标志码==(等于)网关分类项标识码”,如果条件成立,则此设备标识码对应的设备信息属于要查询的目标设备信息,表2中,蓝牙网关的设备标识码为1,嵌入式筒灯的设备标志码为18,分别和网关分类项标识码进行“与”运算,即(1)00000001&00000001=00000001,符合查询条件;(2)00000010&00010010=2,不符合查询条件,所以蓝牙网关的设备标识码及对应蓝牙网关为所要查询的结果。当查询属于多个一级分类项中的设备信息时,即查询请求中包括多个分类项标识码时,本实施例中设备信息分类层级是一级,则所述查询条件为:“多个分类项标识码进行二进制“异或”运算后再和设备标识码进行二进制“与”运算的结果不等于零”。如果设备标识码符合查询条件,则该设备标识码及其对应的设备名称是属于要查询的设备信息。本实施例中,如要查询属于“网关”或“家居照明设备”的相关设备,那么查询条件为:“(000000001xor00000010)&设备标识码!=0”;把蓝牙网关的设备标识码00000001,嵌入式筒灯的设备标识码00010010带入查询条件进行运算,即000000101&00000001=000000001!=0,00000011&00010010=00000010!=0,两个运算结果都不等于0,都符合查询条件,所以嵌入式筒灯和网关为所要查询的结果。当查询同时符合多个分类项的设备时,即查询请求中包括多个分类项标识码,且所述设备信息的分类层级是一级,则查询条件为:“多个分类项标识码进行二进制异或后再和设备标识码进行二进制与运算大于或等于多个分类项的二进制异或值”;如果条件成立,则查询结果中包括的标识码和设备名称同时属于所述多个分类项。本实施例中,当需要查询既属于分类项“家居照明设备”又属于分类项“办公照明设备”的设备信息时,查询条件为:(2xor16)&设备标识码>=(2xor16),其中2是家居照明设备的分类项标识码,16位办公照明设备的分类项标识码,通过计算18&1=0;18&18=18;所以嵌入式筒灯及其设备标识码即为所要查询的目标设备。本发明的实施例二的设备信息的查询方法中,包括接收来自客户端的查询请求携带对设备信息按两级分类生成的分类项标识码;其中,每一级分类项标识码由下面的方法产生:首先为每级分类项的分类项标识码设置初始值为2的n次方,n是该分类项在本级分类项的排列次序;其次,一级分类项的分类项标识码设定为其初始值;二级分类项的分类项标识码是一个由一级分类项的分类项标识码的初始值和二级分类项的分类项标识码的初始值在二进制下拼接后生成的十进制数。本实施例中采用了二级分类,不过并不限于此,可以推广到l级,l为大于2的整数,其中,l级分类中每一级分类项的分类项标识码产生规则如下:m级分类的分类项标识码由至少一个第m-1级分类的分类项标识码的初始值和第m级分类的分类项标识码的初始值生成,其中m>2且m<=l。参照表3,本实施例中,比如二级分类项“灯盘”的分类项标识码生成过程如下:一级分类项“办公照明设备”的分类项标识码初始值为:00000001,二级分类项“灯盘”的分类项标识码的初始:00000001;则,“灯盘”的分类项标识码为两者拼接:0000000100000001,转换成的十进制数257。二级分类项“无线网关”的分类项标识码的生成过程如下:“无线网关”对应的一级分类的分类项“网关”的分类项标识码的初始值为:00000010;二级分类项“无线网关”的分类项标识码的初始值设置为00010000;两者拼接:0000001000010000,转换成十进制数528做为无线网关的分类项标识码。设备信息表4中,“格栅灯盘”属于“办公照明设备”下的二级分类项“灯盘”,所以设备标识码为257;而“嵌入式筒灯”既属于“办公照明设备”下的“筒灯”58,又属于“家居照明设备”下的“筒灯”1088,把520和1056在二进制下进行或运算后转换成十进制等于1576,故其设备标识码为1576。以此类推,l级分类项下设备信息中设备标识码,由一个l级分类项的分类项标识码生成或者由多个l级分类项的分类项标识码在二进制下通过“或”运算后,再转换而成十进制后生成的十进制数。计算出设备标识码后,把设备名称和设备标识码填入设备信息表,然后设备信息表存入数据库中,其中设备信息表至少包括设备名称字段和设备标识码字段。根据分类项标识码生成对数据库中设备信息表的查询条件,发送包括查询条件的查询指令到数据库;当查询一个二级分类项所属的设备信息时,查询条件为:用这个分类项对应的分类项标识值和设备标识码做“与”运算,如果运算结果等于该分类项标识值,则符合查询条件。如我们要查询属于二级分类项“灯盘”下的设备信息,那么查询条件设为:257&设备标识码等于257,其中,值257是二级分类项“灯盘”的分类项标识码;参照表4,设备信息表中包括格栅灯盘标识码和嵌入式筒灯标识码,把它们分别和灯盘标识码257进行“与”运算,257&257=257,258&1346=256,运算后得出格栅灯盘符合查询条件,即格栅灯盘为所要查询的结果,查询返回包括格栅灯盘的设备标识码和设备名称-格栅灯盘的信息。如果查询符合多个第二级分项所属的设备信息的,那么设定的查询条件为,多个要查询的分类项标识码异或,然后与设备标识码与运算的结果不等于零。如要查询属于二级分类项“灯盘”或““筒灯”下的照明设备信息,那么查询条件为:(257xor258)&设备标识码!=0;其中257为灯盘的分类项标识码,258为筒灯的分类项标识码;参照设备信息表4,计算3&257=1;3&1346=2;计算结果都不为零,符合查询条件,所以格栅灯盘、嵌入式筒灯即为所要查询的结果。当要查询同时符合多个二级分类项的设备信息时,根据多个分类项标识码设定的查询条件为:“多个要查的分类项标识码进行“异或”运算后和设备标志码进行“与”运算的结果大于等于多个要查的分类项标识码的“异或”运算结果。如我们要查询既属于“办公照明设备”下“筒灯”又属于“家居照明设备”下“筒灯”的设备信息,那么查询条件为:(258xor1088)&设备标识码>=(258xor1088),把表4的设备标志码分别代入后,1346&1=0,计算结果不符合查询条件;1346&1346=1346,计算结果符合查询条件;则设备标识码1346及对应设备名称嵌入式筒灯是要查询的结果。当要查询一个一级分类项的设备信息时,查询方式为把一级分类项的分类项标识码左移生成一个和二级分类项的分类项标识码长度相同的一个中间项a,生成一个中间项a,然后把a和设备标识码进行“与”运算,“与”运算结果等于a。如要查询属于一级分类项“办公照明设备”的设备信息,那么查询条件为:(1<<8)&设备标识码==(1<<8),其中,1为办公照明设备的分类项标识码,左移8位后生成两个字节长度的分类项标识码256,把设备标志码分别代入进行计算:256&257=256;256&1346=256;计算结果都符合查询条件,则查询结果包括格栅灯盘和嵌入式筒灯两个设备信息。当要查询符合多个第一级分类项所属的设备信息时,比如要查询属于“办公照明设备”或“网关”的设备信息,那么查询条件为:“两个一级分类项的分类项标识码移位后异或的计算结果后再和设备标识码进行与运算的结果不等于零”即(1<<8xor2<<8)&设备标识码!=0,其中整数1为办公照明设备的分类项标识码,整数2为家居照明设备的分类项标识码,两个异或结果为768,异或结果768分别和设备表中格栅筒灯和嵌入式筒灯的设备标识码进行与运算,768&257=256;768&1346=256;计算结果不等于零所以格栅筒灯和嵌入式筒灯即为所要查询的结果。当查询同时符合多个一级分类项的设备信息时,如要查询既属于“办公照明设备”又属于“家居照明设备”的设备信息,那么根据查询请求中的分类项标识码生存查询条件为:“两个一级分类项的分类项标识码移位后异或的计算结果b再和设备标识码进行与运算的结果大于等于b”,即(1<<8xor4<<8)&设备标识码>=(1<<8xor4<<8);其中整数1为办公照明设备的分类项标识码,整数4为家居照明设备的分类标识码,移位异或的结果1280分别和设备标识码进行与运算,1280&257=256;1280&1346=1280;根据计算结果嵌入式筒灯为要查询的结果。接收数据库返回的查询结果,其中查询结果包括数据库根据所述查询指令在设备信息表中查询得到的符合所述查询条件的设备信息记录;发送所述查询到的设备信息记录中的设备标识码或设备名称到客户端。表3-本发明实施例二的两极分类表表四-本发明实施例二的设备信息表设备名称设备标识码格栅灯盘257嵌入式筒灯1346本发明还提供了一种控制系统的查询设备,包括:查询请求接收装置,用于接收来自客户端的查询请求,所述查询请求携带有设备信息按层级分类生成的分类项标识码;查询条件生成装置,用于根据所述分类项标识码生成对数据库中设备信息表的查询条件,其中所述设备信息表包括设备名称字段和设备标识码字段,用于存储设备名称和合设备标识码。查询装置,用于发送包括所述查询条件的查询指令到数据库;查询结果接收装置,用于接收数据库返回的查询结果,并发送所述查询到的设备信息记录中的设备标识码或设备名称到客户端;其中查询结果包括数据库根据所述查询指令在设备信息表中查询得到的符合所述查询条件的设备信息记录应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1