CN112667213A - 一种设备抽象模型的动态生成方法及装置 - Google Patents

一种设备抽象模型的动态生成方法及装置 Download PDF

Info

Publication number
CN112667213A
CN112667213A CN202011621855.8A CN202011621855A CN112667213A CN 112667213 A CN112667213 A CN 112667213A CN 202011621855 A CN202011621855 A CN 202011621855A CN 112667213 A CN112667213 A CN 112667213A
Authority
CN
China
Prior art keywords
class
function
equipment
abstract
list
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.)
Pending
Application number
CN202011621855.8A
Other languages
English (en)
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.)
Lenovo Future Communication Technology Chongqing Co Ltd
Original Assignee
Lenovo Future Communication Technology Chongqing Co 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 Lenovo Future Communication Technology Chongqing Co Ltd filed Critical Lenovo Future Communication Technology Chongqing Co Ltd
Priority to CN202011621855.8A priority Critical patent/CN112667213A/zh
Publication of CN112667213A publication Critical patent/CN112667213A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种设备抽象模型的动态生成方法及装置。该方法通过获取上层应用的业务功能列表,根据该功能列表从所述已有的设备抽象类中确定设备抽象类,然后根据设备抽象类及其功能和硬件设备信息生成实现设备抽象类及其功能的设备功能实现类,之后确定的设备抽象类及生成的设备功能实现类动态生成一个设备抽象模型,并调用该设备抽象模型来响应上层应用发送的业务功能调用请求,并返回相应的处理结果。如此,可根据实际使用的硬件设备信息和上层应用所需的功能动态生成与之对应的设备抽象模型,上层应用可直接使用设备抽象模型提供的统一接口进行功能调用,而无需获取实际连接的硬件设备信息。

Description

一种设备抽象模型的动态生成方法及装置
技术领域
本发明涉及信息处理领域,尤其涉及一种设备抽象模型的动态生成方法及装置。
背景技术
开放式无线接入网(Open Radio Access Network,O-RAN)构架中的5G数字室分小站由主机单元(分布单元DU+中央单元CU)、扩展单元(HUB)、远端射频单元(RRU)三部分组成。
其中,主机单元采用服务器通用处理平台,物理层涉及到高速的数据交换、大量并行的密集型复数运算。为满足高实时性要求,在主机单元常常会引入硬件加速器,由硬件加速设备来处理部分物理层密集型运算,从而大大降低处理器的负荷,以充分利用硬件加速器和处理器各自的优势,共同完成基带处理部分。
然而,硬件加速设备种类多样,例如,FPGA、ASIC、GPU等,使用这些硬件所需的驱动程序和应用程序接口也都各不相同。因此,在实现基于硬件加速设备的某一功能时,常常需要针对不同的硬件加速设备编写相应的程序代码来实现,这样就造成程序的重复开发,还大大提高了程序的复杂度,使开发和维护成本陡增。
因此,如何封装不同硬件加速设备的驱动和功能实现,以提供一套统一的调用接口供上层应用调用,就成为一个亟需解决的技术问题。
发明内容
针对以上问题,本发明人创造性地提供一种设备抽象模型的动态生成方法及装置。
根据本发明实施例第一方面,一种设备抽象模型的动态生成方法,该方法包括:获取上层应用的业务功能配置信息,其中业务功能配置信息包括上层应用所需的第一功能列表;获取设备抽象类及与每个设备抽象类对应的第二功能列表;根据第一功能列表和第二功能列表,从已有的设备抽象类中确定可用的至少一个第一设备抽象类;根据第二功能列表和已有的硬件设备信息,生成实现第一设备抽象类的至少一个第一设备功能实现类;根据第一设备抽象类及第一设备功能实现类动态生成设备抽象模型,以通过设备抽象模型调用第二功能列表中的功能。
根据本发明实施例一实施方式,在获取设备抽象类及与每个设备抽象类对应的第二功能列表之前,该方法还包括:根据预先获取的硬件设备列表生成至少一个设备抽象类及与每个设备抽象类对应的第一功能列表,其中,每一设备抽象类对应硬件设备列表中的一个硬件设备。
根据本发明实施例一实施方式,在根据预先获取的硬件设备列表生成至少一个设备抽象类及与每个设备抽象类对应的第一功能列表之前,该方法还包括:获取并存储硬件设备列表及硬件设备信息。
根据本发明实施例一实施方式,在获取设备抽象类之前,该方法还包括:检测设备抽象类的数目,判断数目是否大于0,若否,则报错。
根据本发明实施例一实施方式,设备抽象模型还包括与设备功能实现类对应的组件类,其中每一组件类对应设备功能实现类的一个操作对象及其操作接口,相应地,根据第二功能列表和预先获取的与所第一设备抽象类对应的硬件设备信息,生成第一设备功能实现类,包括:根据第二功能列表生成第一设备功能实现类;根据与所第一设备抽象类对应的硬件设备信息生成第一设备功能实现类对应的至少一个组件类;将至少一个组件类添加到第一设备功能实现类中。
根据本发明实施例一实施方式,在根据第一设备抽象类及第一设备功能实现类动态生成设备抽象模型之后,该方法还包括:清理设备抽象模型所占用的系统资源;删除设备抽象模型。
根据本发明实施例的第二方面,提供一种设备抽象模型的调用方法,设备抽象模型包括上述任一项该方法生成的设备抽象模型,该方法包括:接收上层应用发送的业务功能调用请求;获取与业务功能调用请求对应的设备功能实现类;调用设备功能实现类的操作对象及其操作接口处理业务功能调用请求得到处理结果;返回处理结果。
根据本发明实施例一实施方式,设备抽象模型还包括与设备功能实现类对应的组件类,其中每一组件类对应设备功能实现类的一个操作对象及其操作接口,相应地,调用设备功能实现类的操作对象及其操作接口处理业务功能调用请求得到处理结果,包括获取设备功能实现类的组件类;调用组件类处理业务功能调用请求得到处理结果。
根据本发明实施例第三方面,提供一种设备抽象模型的动态生成装置,该装置包括:业务功能配置信息获取模块,用于获取上层应用设定的业务功能配置信息,其中业务功能配置信息包括上层应用所需的第一功能列表;设备抽象类获取模块,用于获取设备抽象类及与每个设备抽象类对应的第二功能列表;第一抽象类确定模块,用于根据第一功能列表和第二功能列表,从已有的设备抽象类中确定可用的至少一个第一设备抽象类;第一设备功能实现类生成模块,用于根据第二功能列表和已有的硬件设备信息,生成实现第一设备抽象类的至少一个第一设备功能实现类;设备抽象模型生成模块,用于根据第一设备抽象类及第一设备功能实现类动态生成设备抽象模型,以通过设备抽象模型调用第二功能列表中的功能。
根据本发明实施例第四方面,提供一种设备抽象模型的调用装置,设备抽象模型包括上述任一项该方法生成的设备抽象模型,该装置包括:调用请求接收模块,用于接收上层应用发送的业务功能调用请求;设备功能实现类获取模块,用于获取与业务功能调用请求对应的设备功能实现类;业务功能调用请求处理模块,用于调用设备功能实现类的操作对象及其操作接口处理业务功能调用请求得到处理结果;处理结果返回模块,用于返回处理结果。
本发明实施例提供一种设备抽象模型的动态生成方法及装置。该方法通过获取上层应用的业务功能列表,根据该功能列表从所述已有的设备抽象类中确定设备抽象类,然后根据设备抽象类及其功能和硬件设备信息生成实现设备抽象类及其功能的设备功能实现类,之后确定的设备抽象类及生成的设备功能实现类动态生成一个设备抽象模型,并调用该设备抽象模型来响应上层应用发送的业务功能调用请求,并返回相应的处理结果。如此,可根据实际使用的硬件设备信息和上层应用所需的功能动态生成与之对应的设备抽象模型,上层应用可直接使用设备抽象模型提供的统一接口进行功能调用,而无需获取实际连接的硬件设备信息。这样,即使各个服务器所连接的硬件设备各不相同,上层应用都可以使用同一套调用来实现相应的功能,减少了重复开发,大大简化了开发的复杂度,进而降低了开发和维护的成本。
需要理解的是,本发明的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本发明的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1为本发明实施例设备抽象模型的结构示意图;
图2为本发明实施例设备抽象模型一具体实现的类示意图;
图3为本发明实施例设备抽象模型的动态生成方法的实现流程示意图;
图4为本发明实施例设备抽象模型的动态生成方法一应用的具体实现流程;
图5本发明实施例设备抽象模型的动态生成方法一应用生成设备功能实现类的具体实现流程;
图6本发明实施例设备抽象模型的调用方法的实现流程示意图;
图7为本发明实施例设备抽象模型的动态生成装置的组成结构示意图;
图8为本发明实施例设备抽象模型的调用装置的组成结构示意图。
具体实施方式
为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
为了解决上层应用需要根据连接的硬件设备的种类或型号不同而开发多套程序代码的问题,本发明人创造性地设计了一种如图1所示的一种设备抽象模型。
如图1所示,示例性地,该设备抽象模型包括设备抽象类20和实现所述设备抽象类的设备功能实现类(例如:第一设备功能实现类201,第一设备功能实现类201),其中,设备抽象类20对应于一种设备类型(例如,硬件加速卡),并设置有相应设备类型的功能列表,例如;每一设备功能实现类对应该功能列表中的一种功能,并设置有实现相应功能所需的操作对象及其操作接口;其中,每一设备功能实现类中的操作对象,还可以通过组件类来实现(例如第一设备功能实现类201所对应的第一组件类2011和第二组件类2012等),而每一组件类中也可能包含一些可操作的对象,而这些操作对象还可以通过其他组件类来实现,这样就形成了树状结构的组件类,例如包含第三组件类20111和第四组件类20112的第一组件类2011;设备功能实现类也可以不包含任何组件类,通过自身实现所有所需的操作对象和操作,例如第二设备功能实现类202;上层应用10可直接调用设备抽象类20所提供的功能调用接口来实现所需的功能。
该设备抽象模型可封装不同硬件设备的驱动和功能实现,使用同一套功能接口调用就可以适用各种类型和各种型号的硬件设备。而且这一硬件设备不局限与本地设备,只要能获取到设备的相关信息,远程设备也可以使用该设备抽象模型进行调用。
此外,该设备抽象模型将设备和功能解耦,当某个设备新增某一功能时,只需新增一个设备功能实现类即可,可大幅提升开发速度。
图2示出了这种设备抽象模型具体实现的类示意图。在如图2所示的这一具体实现中:
设备抽象类ORAN_AAL_Dev用于实现基站报文转发功能的硬件加速卡,具有id,name等属性,feature结构列出了该设备抽象类所具有的所有功能,例如ORAN_AAL_BACKHAUL、ORAN_AAL_FRONTHAUL、ORAN_AAL_HIGHPHY和ORAN_AAL_TIMING等。
其中,每一个功能都对应有一个设备功能实现类,例如,HighPHY_Dev用于实现ORAN_AAL_HIGHPHY功能;FrontHaul_Dev用于实现ORAN_AAL_FRONTHAUL功能;BackHaul_Dev用于实现ORAN_AAL_BACKHAUL等。
每个设备功能实现类又包含多个属性(例如id,name,)、子功能列表(例如func_capability)、组件类(例如channel)和操作(例如device_ops)等等,其中有些因硬件设备种类和型号不同而进行不同设置的属性、操作或功能列表,还可以通过硬件扫描工具获取硬件设备信息,并根据硬件设备信息动态生成得到。
当某一硬件设备新增了一个功能,例如,转发功能,则可在feature结构中添加一个功能名称,例如,ORAN_AAL_FORWARD,然后再新实现一个与该功能对应的设备功能实现类,例如Forwar_Dev即可。
后面就详细介绍如何使用本发明实施例设备抽象模型的动态生成方法根据硬件设备信息动态生成上述设备抽象模型的方法及装置。
图3示出了本发明实施例设备抽象模型的动态生成方法,该方法包括:操作310,获取上层应用的业务功能配置信息,其中业务功能配置信息包括上层应用所需的第一功能列表;操作320,获取设备抽象类及与每个设备抽象类对应的第二功能列表;操作330,根据第一功能列表和第二功能列表,从已有的设备抽象类中确定可用的至少一个第一设备抽象类;操作340,根据第二功能列表和已有的硬件设备信息,生成实现第一设备抽象类的至少一个第一设备功能实现类;操作350,根据第一设备抽象类及第一设备功能实现类动态生成设备抽象模型,以通过设备抽象模型调用第二功能列表中的功能。
在操作310中,上层应用的业务功能配置信息,是上层应用用来指定该应用所要使用的功能、以及使用每个功能可能需要指定的一些参数信息。其中,第一功能列表就列出了上层应用所需的所有功能。
也就是说通过业务功能配置信息第一功能列表可在设备抽象模型中仅包含上层应用所需的功能实现,上层应用用不到的功能实现可以不用加载(load)或包括(include)到这一设备抽象模型中。
在操作320中,获取到的设备抽象类是与检测到的硬件设备一一对应的,当检测到多个硬件设备(包括远程设备)时,可相应地获取到多个设备抽象类。在获取到设备抽象类之后,为了确定哪个设备才能实现上层应用所需的功能,还需进一步获取设备抽象类的功能列表,例如,图2所示的ORAN_AAL_Dev.feature,这个抽象类的功能列表就是第二功能列表。
在操作330中,当拿到了上层应用所需的第一功能列表和个设备抽象类对应的第二功能列表之后,就可以确定用于实现上层应用所需功能的设备抽象类。通常,如果设备抽象类的功能列表中包含上层应用所需全部功能时,就可以将该设备抽象类确定为可用于实现上层应用所需功能的设备抽象类,即第一设备抽象类。
确定了可用于实现上层应用所需功能的第一设备抽象类之后,就需要通过操作340动态生成与该设备抽象类中上层应用所需功能对应的设备功能实现类。
在操作340中,如前所述,通常一个功能对应一个设备功能实现类,根据上层应用所需功能,即第二功能列表,就可以确定要动态生成那些设备功能实现类。而确定了设备功能实现类之后,就可以根据已有的硬件设备信息设定设备功能实现类的相关属性、子功能列表、操作对象等具体信息,生成相应设备功能实现类的实例。其中已有的硬件设备信息指预先获取到的硬件设备信息,不仅可以是本地的设备信息,也可以是远程设备的设备信息。
之后通过操作350,将操作330中确定的第一设备抽象类和操作340生成的设备功能实现类的实例加载到运行环境中,在结合其他一些用于描述设备抽象模型的配置信息就动态生成了一种设备抽象模型。其中,用于描述设备抽象模型的配置信息,在某些实施例中并不是必须的。
使用本发明实施例设备抽模型的动态生成方法,不仅可以根据实际获取的硬件设备信息和上层应用的具体需求,动态生成上层应用所需的最小功能实现,一方面可通过实际获取的硬件设备信息确定与之匹配的功能接口实现,从而使上层应用使用同一接口就可以完成同一功能调用,避免了重复开发;另一方面,还可以通过功能定制的方式,尽可能少地引入其他无关实现,使程序的运行效率更高,并在一定程度上减少了程序开销;此外,由于只要能够获取到相应的硬件设备信息就可以动态生成相应的设备抽象模型,这就使得只要能获取远程设备的硬件设备信息,还可以生成用于调用远程设备的设备抽象模型。
根据本发明实施例一实施方式,在获取设备抽象类及与每个设备抽象类对应的第二功能列表之前,该方法还包括:根据预先获取的硬件设备列表生成至少一个设备抽象类及与每个设备抽象类对应的第一功能列表,其中,每一设备抽象类对应硬件设备列表中的一个硬件设备。
其中,预先获取的硬件设备列表可通过硬件扫描程序扫描获得,而如前所述,每一设备抽象类对应硬件设备列表中的一个硬件设备,在本实施方式中,可通过预先获取的硬件设备列表生成。
每个设备抽象类对应的第一功能列表,则可以根据设备抽象类中的属性或列表数据结构获取,例如,图2所示的ORAN_AAL_Dev.feature。
根据本发明实施例一实施方式,在根据预先获取的硬件设备列表生成至少一个设备抽象类及与每个设备抽象类对应的第一功能列表之前,该方法还包括:获取并存储硬件设备列表及硬件设备信息。
在本实施方式中,除了会事先获取硬件设备列表,还会一并获取供后续设备功能实现类生成时所需的硬件设备信息。事先获取硬件设备列表及硬件设备信息,并存储在某个数据存储系统中,可仅获取一次就可供后续各个操作随时使用,可大大减少访问硬件设备的次数,提高程序执行效率。
根据本发明实施例一实施方式,在获取设备抽象类之前,该方法还包括:检测设备抽象类的数目,判断数目是否大于0,若否,则报错。
在本实施方式中,设备抽象类的数目小于0,表示没有与之对应的硬件设备,也就不能完成相应的功能调用,此时报错,终止程序,以免后续调用时引发更严重的错误。
根据本发明实施例一实施方式,设备抽象模型还包括与设备功能实现类对应的组件类,其中每一组件类对应设备功能实现类的一个操作对象及其操作接口,相应地,根据第二功能列表和预先获取的与所第一设备抽象类对应的硬件设备信息,生成第一设备功能实现类,包括:根据第二功能列表生成第一设备功能实现类;根据与所第一设备抽象类对应的硬件设备信息生成第一设备功能实现类对应的至少一个组件类;将至少一个组件类添加到第一设备功能实现类中。
在本实施方式中,将设备功能实现类中的可操作对象,进一步实现为组件类,并可以根据具体的硬件信息来获取相应的操作数据。例如根据硬件的信道信息,设置组件类(例如,HighPHY_Dev.channel)中的数据,则初始化后的组件类就成为实现该硬件的信道的可操作信道。
根据本发明实施例一实施方式,在根据第一设备抽象类及第一设备功能实现类动态生成设备抽象模型之后,该方法还包括:清理设备抽象模型所占用的系统资源;删除设备抽象模型。
在动态生成设备抽象模型的过程中会占用一些系统资源,在生成的设备抽象模型完成相应的使命之后,还需要清理和回收占用的这些系统资源,之后删除设备抽象模型。
图4示出了本发明实施例设备抽象模型的动态生成方法一应用的具体实现流程,其中,方框代表的是程序中的各个实现类和工具类,箭头代表各个类之间的相互操作和调用关系。
如图4所示,在该应用中,使用上层应用10调用设备抽象模型20的过程主要包括:
步骤410,在SDK厂商中完成在系统中的枚举和发现硬件设备过程,并通过SDK注册或AAL主动查询的方式把硬件设备信息加入到设备抽象模型20中的设备管理器中,此时所发现的硬件设备的状态信息为不可用。
步骤420,由上层应用10调用设备抽象模型20,并根据上层应用10的业务所需的功能列表生成业务功能配置信息;
步骤430,根据业务功能配置信息确定与之对应的设备功能实现类;
步骤440,对应的设备功能实现类通过构建器构建所需的组件类;
步骤450,构建器从设备管理模块中获取相应的硬件设备信息,发送给组件类生成器;
步骤460,组件类生成器根据硬件设备信息生成相应的组件类。
之后,设备功能实现类在完成组件类的生成之后修改设备管理模块中相应设备的状态信息,使其变成可用状态。
下面结合图2所示的本发明实施例设备抽象模型一具体实现的类示意图中的类,举例说明,如何根据上层应用指定的功能列表生成设备功能实现类的具体实现流程。
假设上层应用指定的功能为ORAN_AAL_HIGHPHY,则根据这一功能和获取到的硬件设备信息生成设备功能实现类的过程如图5所示,主要包括:
步骤5010,获取设备抽象类(ORAN_AAL_Dev)的个数N;
步骤5020,判断N是否大于0,若是则继续步骤5030,若否,则继续步骤5100报错,然后结束;
步骤5030,获取第i个设备抽象类(ORAN_AAL_Dev);
步骤5040,判读该抽象类(ORAN_AAL_Dev)中是否包含指定功能(ORAN_AAL_HIGHPHY),若是则继续步骤5050,若否,则继续步骤5100报错,然后结束;
步骤5050,创建设备功能实现类(HighPHY_Dev),具体地,通过的ops.get_capability获取硬件设备的具体功能;
步骤5060,生成设备功能实现类包含的组件类(channel),具体地,在在初始化设备功能实现类(HighPHY_Dev)之后获取组件类(channel)信息,然后处理组件类(channel)中的数据;
步骤5070,调用组件类功能进行相应的操作(在运行时调用ORAN_AAL_Dev时进行的);
步骤5080,清除所占用的系统资源(在运行时调用ORAN_AAL_Dev之后进行的);
步骤5080,上层应用通过ORAN_AAL_Dev完成相应功能之后,关闭设备抽象类,结束。
需要说明的以上具体应用均为示例性说明,并非对本发明实施例设备抽象模型的动态生成方法的实施方式获应用场景的限定。实施者可根据具体实施条件,采用任何适用的实施方式应用于任何适用的应用场景中。
图6示出了本发明实施例设备抽象模型的调用方法的实现流程示意图,该设备抽象模型包括上述任一项该方法生成的设备抽象模型,如图2所示,该方法包括:操作610,接收上层应用发送的业务功能调用请求;操作620,获取与业务功能调用请求对应的设备功能实现类;操作630,调用设备功能实现类的操作对象及其操作接口处理业务功能调用请求得到处理结果;操作640,返回处理结果。
其中,上层应用发送的业务功能调用请求通常是发送给设备抽象类中,设备抽象类或获取业务功能调用请求调用的具体功能,然后再根据该功能确定与这一功能对应的设备功能实现类,之后通过调用相应设备功能实现类的操作对象及其操作接口处理业务功能调用请求。
在这一过程中,设备功能实现类是根据底层硬件设备的具体信息生成的,可以操作底层硬件设备完成相应功能,这些对上层应用来说是透明的。无论底层的硬件设备是哪个设备种类或型号都可以使用同样的接口进行调用,从而大大节省了上层应用的开发成本。
根据本发明实施例一实施方式,设备抽象模型还包括与设备功能实现类对应的组件类,其中每一组件类对应设备功能实现类的一个操作对象及其操作接口,相应地,调用设备功能实现类的操作对象及其操作接口处理业务功能调用请求得到处理结果,包括获取设备功能实现类的组件类;调用组件类处理业务功能调用请求得到处理结果。
在本实施方式中,将设备功能实现类中的可操作对象,进一步实现为组件,并可以根据具体的硬件信息来获取相应的操作数据。因此,在处理业务功能调用请求时,可使用相应的组件类。
组件类是根据底层硬件设备的具体信息生成的,可以操作底层硬件设备完成相应功能,这些对上层应用来说是透明的。
进一步地,本发明实施例还提供一种设备抽象模型的动态生成装置,如图7所示,该装置70包括:业务功能配置信息获取模块701,用于获取上层应用设定的业务功能配置信息,其中业务功能配置信息包括上层应用所需的第一功能列表;设备抽象类获取模块702,用于获取设备抽象类及与每个设备抽象类对应的第二功能列表;第一抽象类确定模块703,用于根据第一功能列表和第二功能列表,从已有的设备抽象类中确定可用的至少一个第一设备抽象类;第一设备功能实现类生成模块704,用于根据第二功能列表和已有的硬件设备信息,生成实现第一设备抽象类的至少一个第一设备功能实现类;设备抽象模型生成模块705,用于根据第一设备抽象类及第一设备功能实现类动态生成设备抽象模型,以通过设备抽象模型调用第二功能列表中的功能。
根据本发明实施例一实施方式,该装置70还包括:设备抽象类生成模块,用根据预先获取的硬件设备列表生成至少一个设备抽象类及与每个设备抽象类对应的第一功能列表,其中,每一设备抽象类对应硬件设备列表中的一个硬件设备。
根据本发明实施例一实施方式,该装置70还包括:硬件设备信息获取模块,用于获取并存储硬件设备列表及硬件设备信息。
根据本发明实施例一实施方式,该装置70还包括:设备抽象类的数目检测模块,用于检测设备抽象类的数目,判断数目是否大于0,若否,则报错。
根据本发明实施例一实施方式,第一设备功能实现类生成模块704包括:第一设备功能实现类生成子模块,用于根据第二功能列表生成第一设备功能实现类;组件类生成子模块,用于根据与所第一设备抽象类对应的硬件设备信息生成第一设备功能实现类对应的至少一个组件类;组件添加子模块,用于将至少一个组件类添加到第一设备功能实现类中。
根据本发明实施例一实施方式,该装置70还包括:系统资源清理模块,用于清理设备抽象模型所占用的系统资源;设备抽象模型删除模块,用于删除设备抽象模型。
此外,本发明实施例还提供一种设备抽象模型的调用装置,如图8所示,该装置80包括:调用请求接收模块801,用于接收上层应用发送的业务功能调用请求;设备功能实现类获取模块802,用于获取与业务功能调用请求对应的设备功能实现类;业务功能调用请求处理模块803,用于调用设备功能实现类的操作对象及其操作接口处理业务功能调用请求得到处理结果;处理结果返回模块804,用于返回处理结果。
根据本发明实施例一实施方式,业务功能调用请求处理模块803包括:组件类获取子模块,用于获取设备功能实现类的组件类;组件类调用子模块,用于调用组件类处理业务功能调用请求得到处理结果。
这里需要指出的是:以上针对设备抽象模型的动态生成装置实施例的描述和以上针对设备抽象模型的调用装置实施例的描述和以上针对计算机存储介质实施例的描述,与前述方法实施例的描述是类似的,具有同前述方法实施例相似的有益效果,因此不做赘述。对于本发明对设备抽象模型的动态生成装置实施例的描述和对设备抽象模型的调用装置实施例的描述尚未披露的技术细节,请参照本发明前述方法实施例的描述而理解,为节约篇幅,因此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以利用硬件的形式实现,也可以利用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储介质、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例方法的全部或部分。而前述的存储介质包括:移动存储介质、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种设备抽象模型的动态生成方法,所述方法包括:
获取上层应用的业务功能配置信息,其中所述业务功能配置信息包括所述上层应用所需的第一功能列表;
获取设备抽象类及与每个设备抽象类对应的第二功能列表;
根据所述第一功能列表和所述第二功能列表,从所述已有的设备抽象类中确定可用的至少一个第一设备抽象类;
根据所述第二功能列表和已有的硬件设备信息,生成实现所述第一设备抽象类的至少一个第一设备功能实现类;
根据所述第一设备抽象类及所述第一设备功能实现类动态生成所述设备抽象模型,以通过所述设备抽象模型调用所述第二功能列表中的功能。
2.根据权利要求1所述的方法,在所述获取设备抽象类及与每个设备抽象类对应的第二功能列表之前,所述方法还包括:
根据预先获取的硬件设备列表生成至少一个设备抽象类及与每个设备抽象类对应的第一功能列表,其中,每一设备抽象类对应所述硬件设备列表中的一个硬件设备。
3.根据权利要求2所述的方法,在所述根据预先获取的硬件设备列表生成至少一个设备抽象类及与每个设备抽象类对应的第一功能列表之前,所述方法还包括:
获取并存储硬件设备列表及硬件设备信息。
4.根据权利要求1所述的方法,在所述获取设备抽象类之前,所述方法还包括:
检测设备抽象类的数目,判断所述数目是否大于0,若否,则报错。
5.根据权利要求1所述的方法,所述设备抽象模型还包括与所述设备功能实现类对应的组件类,其中每一组件类对应所述设备功能实现类的一个操作对象及其操作接口,
相应地,所述根据所述第二功能列表和预先获取的与所第一设备抽象类对应的硬件设备信息,生成所述第一设备功能实现类,包括:
根据所述第二功能列表生成所述第一设备功能实现类;
根据与所第一设备抽象类对应的硬件设备信息生成所述第一设备功能实现类对应的至少一个组件类;
将所述至少一个组件类添加到所述第一设备功能实现类中。
6.根据权利要求1所述的方法,在所述根据所述第一设备抽象类及所述第一设备功能实现类动态生成所述设备抽象模型之后,所述方法还包括:
清理所述设备抽象模型所占用的系统资源;
删除所述设备抽象模型。
7.一种设备抽象模型的调用方法,所述设备抽象模型包括权利要求1至6任一项所述方法生成的设备抽象模型,所述方法包括:
接收上层应用发送的业务功能调用请求;
获取与所述业务功能调用请求对应的设备功能实现类;
调用所述设备功能实现类的操作对象及其操作接口处理所述业务功能调用请求得到处理结果;
返回所述处理结果。
8.根据权利要求7所述的方法,所述设备抽象模型还包括与所述设备功能实现类对应的组件类,其中每一组件类对应所述设备功能实现类的一个操作对象及其操作接口,
相应地,所述调用所述设备功能实现类的操作对象及其操作接口处理所述业务功能调用请求得到处理结果,包括
获取所述设备功能实现类的组件类;
调用所述组件类处理所述业务功能调用请求得到处理结果。
9.一种设备抽象模型的动态生成装置,所述装置包括:
业务功能配置信息获取模块,用于获取上层应用设定的业务功能配置信息,其中所述业务功能配置信息包括上层应用所需的第一功能列表;
设备抽象类获取模块,用于获取设备抽象类及与每个设备抽象类对应的第二功能列表;
第一抽象类确定模块,用于根据所述第一功能列表和所述第二功能列表,从所述已有的设备抽象类中确定可用的至少一个第一设备抽象类;
第一设备功能实现类生成模块,用于根据所述第二功能列表和已有的硬件设备信息,生成实现所述第一设备抽象类的至少一个第一设备功能实现类;
设备抽象模型生成模块,用于根据所述第一设备抽象类及所述第一设备功能实现类动态生成所述设备抽象模型,以通过所述设备抽象模型调用所述第二功能列表中的功能。
10.一种设备抽象模型的调用装置,所述设备抽象模型包括权利要求1至6任一项所述方法生成的设备抽象模型,所述装置包括:
调用请求接收模块,用于接收上层应用发送的业务功能调用请求;
设备功能实现类获取模块,用于获取与所述业务功能调用请求对应的设备功能实现类;
业务功能调用请求处理模块,用于调用所述设备功能实现类的操作对象及其操作接口处理所述业务功能调用请求得到处理结果;
处理结果返回模块,用于返回所述处理结果。
CN202011621855.8A 2020-12-31 2020-12-31 一种设备抽象模型的动态生成方法及装置 Pending CN112667213A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011621855.8A CN112667213A (zh) 2020-12-31 2020-12-31 一种设备抽象模型的动态生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011621855.8A CN112667213A (zh) 2020-12-31 2020-12-31 一种设备抽象模型的动态生成方法及装置

Publications (1)

Publication Number Publication Date
CN112667213A true CN112667213A (zh) 2021-04-16

Family

ID=75412140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011621855.8A Pending CN112667213A (zh) 2020-12-31 2020-12-31 一种设备抽象模型的动态生成方法及装置

Country Status (1)

Country Link
CN (1) CN112667213A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130305217A1 (en) * 2012-05-11 2013-11-14 Bank Of America Corporation Service plug-in and service base for an integrated service framework
CN105491337A (zh) * 2015-12-10 2016-04-13 公安部交通管理科学研究所 基于sdk抽象层的网络视频监控设备通用接入方法及装置
CN111857852A (zh) * 2020-07-28 2020-10-30 Oppo广东移动通信有限公司 驱动系统、信息处理方法、电子设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130305217A1 (en) * 2012-05-11 2013-11-14 Bank Of America Corporation Service plug-in and service base for an integrated service framework
CN105491337A (zh) * 2015-12-10 2016-04-13 公安部交通管理科学研究所 基于sdk抽象层的网络视频监控设备通用接入方法及装置
CN111857852A (zh) * 2020-07-28 2020-10-30 Oppo广东移动通信有限公司 驱动系统、信息处理方法、电子设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
H. CHEN 等: "Me3D: A model-driven methodology expediting embedded device driver development", 2011 22ND IEEE INTERNATIONAL SYMPOSIUM ON RAPID SYSTEM PROTOTYPING, 23 June 2011 (2011-06-23), pages 171 - 177 *
付映雪: "NVST分布观测控制系统框架研究", 《中国优秀硕士学位论文全文数据库 基础科学专辑》, 15 January 2019 (2019-01-15) *
范建忠;战学牛;王海玲;: "基于IEC61850动态建立IED模型的构想", 电力系统自动化, no. 09, 15 May 2006 (2006-05-15), pages 81 - 84 *

Similar Documents

Publication Publication Date Title
US20190123963A1 (en) Method and apparatus for managing resources of network slice
CN115328663B (zh) 基于PaaS平台进行资源调度的方法、装置、设备和存储介质
CN100545851C (zh) 使用命令行环境的远程系统管理
CN106375458B (zh) 服务调用系统、方法及装置
CN112738060B (zh) 微服务数据的处理方法、装置、微服务处理平台及介质
CN109104368B (zh) 一种请求连接方法、装置、服务器及计算机可读存储介质
CN113448594A (zh) 服务的处理方法、装置、计算机设备及存储介质
CN113111107A (zh) 一种数据综合接入系统及方法
CN112583625B (zh) 网络资源管理方法、系统、网络设备和可读存储介质
CN114640599A (zh) 意图的冲突处理方法、装置、存储介质及计算机程序产品
CN112732677B (zh) 区块链节点部署方法、装置、设备及存储介质
CN108370329B (zh) 管理功能对象的管理方法及装置
CN112667213A (zh) 一种设备抽象模型的动态生成方法及装置
CN104461553A (zh) 一种符合smi-s标准的存储管理方法
CN115237455B (zh) 应用管理方法及相关设备
CN112256343A (zh) 一种软件加载方法、设备及系统
CN113568603B (zh) 组件对象创建及接口方法调用方法、终端及存储装置
CN113946489A (zh) 数据采集方法、系统、设备及存储介质
CN109918147B (zh) OpenStack下驱动的扩展方法、装置、电子设备
US8918491B2 (en) Use of an identification information in a network management
CN105824712A (zh) 一种业务逻辑的执行方法和装置
CN105095010A (zh) 一种针对存储设备的公共信息模型功能的校验方法及系统
CN116258026B (zh) 一种基于多分辨率通用兵力模型的聚合解聚系统和方法
CN114826994B (zh) 用户环境回放方法、系统、电子设备及可读存储介质
JP2019205080A (ja) 変換装置、および、変換プログラム

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