《一种基于设备描述符识别软件运行平台的方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种基于设备描述符识别软件运行平台的方法及装置.pdf(13页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104049969A43申请公布日20140917CN104049969A21申请号201410236139622申请日20140529G06F9/4420060171申请人汉柏科技有限公司地址300384天津市西青区华苑产业区海泰西18号西3楼104室72发明人魏经纬74专利代理机构北京天奇智新知识产权代理有限公司11340代理人谢磊54发明名称一种基于设备描述符识别软件运行平台的方法及装置57摘要本发明公开了一种基于设备描述符识别软件运行平台的方法及装置,所述方法包括根据硬件设备与虚拟化平台的对应关系,建立虚拟化平台的硬件设备描述符词典;软件运行后,依次将软件运行平台中的。
2、硬件设备描述符中各个字段的字符与所述虚拟化平台的硬件设备描述符词典进行匹配;为每一虚拟化平台建立平台计数器并为每一平台计数器预设阈值,若匹配成功,则将所对应的虚拟化平台的所述平台计数器加1;将虚拟化平台的所述平台计数器的计数值与对应的所述阈值相比较;若所述平台计数器的计数值大于或等于预设的阈值,则判定运行平台为所对应的虚拟化平台。本发明能够有效识别出软件当前运行的环境是硬件平台还是虚拟化平台。51INTCL权利要求书2页说明书6页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图4页10申请公布号CN104049969ACN104049969A1/2页21一种。
3、基于设备描述符识别软件运行平台的方法,其特征在于,包括以下步骤步骤S1,根据硬件设备与虚拟化平台的对应关系,建立虚拟化平台的硬件设备描述符词典;步骤S2,软件运行后,依次将软件运行平台中的硬件设备描述符中各个字段的字符与所述虚拟化平台的硬件设备描述符词典进行匹配;步骤S3,为每一虚拟化平台建立平台计数器并为每一平台计数器预设阈值;若匹配成功,则将所对应的虚拟化平台的所述平台计数器加1;步骤S4,将虚拟化平台的所述平台计数器的计数值与对应的所述阈值相比较;步骤S5,若所述平台计数器的计数值大于或等于预设的阈值,则判定运行平台为所对应的虚拟化平台。2根据权利要求1所述的方法,其特征在于,所述步骤S。
4、5还包括若所述平台计数器的计数值小于预设的阈值,则判定运行平台为硬件平台。3根据权利要求1所述的方法,其特征在于,所述软件运行平台中的硬件设备至少包括硬盘、光驱、网卡、串口、显卡、键盘、鼠标以及声卡。4根据权利要求1所述的方法,其特征在于,所述硬件设备的描述符中各个字段至少包括驱动名、设备类型、硬件ID、硬件标志以及厂商代码。5根据权利要求1至4中任一项所述的方法,其特征在于,所述虚拟化平台的硬件设备描述符词典中,建立每一虚拟化平台下与硬件设备相对应的字符集合;步骤S2中所述依次将软件运行平台中的硬件设备描述符中各个字段的字符与所述虚拟化平台的硬件设备描述符词典进行匹配,进一步包括将硬件设备描。
5、述符中各个字段的字符与描述符词典中的每一虚拟化平台下与硬件设备相对应的字符集合中的字符进行匹配。6一种基于设备描述符识别软件运行平台的装置,其特征在于,包括描述符词典建立单元1,用于根据硬件设备与虚拟化平台的对应关系,建立虚拟化平台的硬件设备描述符词典;描述符匹配单元2,用于在软件运行后,依次将软件运行平台中的硬件设备描述符中各个字段的字符与所述描述符词典建立单元1建立的虚拟化平台的硬件设备描述符词典进行匹配;计数单元3,用于为每一虚拟化平台建立平台计数器并为每一平台计数器预设阈值;若所述描述符匹配单元2匹配成功,则将所对应的虚拟化平台的所述平台计数器加1;比较单元4,用于将所述计数单元3记录。
6、的虚拟化平台的所述平台计数器的计数值与对应的所述阈值相比较;判定单元5,用于在所述比较单元4判断出所述平台计数器的计数值大于或等于预设的阈值时,判定运行平台为所对应的虚拟化平台。7根据权利要求6所述的装置,其特征在于,所述判定单元5在所述比较单元4判断出所述平台计数器的计数值小于预设的阈值时,判定运行平台为硬件平台。权利要求书CN104049969A2/2页38根据权利要求6所述的装置,其特征在于,所述软件运行平台中的硬件设备至少包括硬盘、光驱、网卡、串口、显卡、键盘、鼠标以及声卡。9根据权利要求6所述的装置,其特征在于,所述硬件设备的描述符中各个字段至少包括驱动名、设备类型、硬件ID、硬件标。
7、志以及厂商代码。10根据权利要求6至9中任一项所述的装置,其特征在于,所述描述符词典建立单元1建立每一虚拟化平台下与硬件设备相对应的字符集合,形成虚拟化平台的硬件设备描述符词典;所述描述符匹配单元2依次将软件运行平台中的硬件设备描述符中各个字段的字符与描述符词典中的每一虚拟化平台下与硬件设备相对应的字符集合中的字符进行匹配。权利要求书CN104049969A1/6页4一种基于设备描述符识别软件运行平台的方法及装置技术领域0001本发明属于计算机网络技术领域,具体涉及一种基于设备描述符识别软件运行平台的方法及装置。背景技术0002目前,软件的开发和运行大多是基于多平台的,如基于物理硬件平台或者虚。
8、拟化平台。软件在物理硬件平台上运行或者在虚拟化平台上运行时,会存在一定程度上的执行流程上的变化,为了确保软件的多平台兼容性,需要识别软件当前运行的环境是硬件平台还是虚拟化平台。0003因此,有必要提供一种基于设备描述符识别软件运行平台的方法及装置,能够有效识别出软件当前运行的环境是硬件平台还是虚拟化平台。发明内容0004本发明的目的是提供一种基于设备描述符识别软件运行平台的方法及装置,能够有效识别出软件当前运行的环境是硬件平台还是虚拟化平台,使得开发的软件的运行平台不需要区分是硬件平台还是虚拟化平台,节约了软件的开发成本。0005根据本发明的一个方面,提供一种基于设备描述符识别软件运行平台的方。
9、法,包括以下步骤步骤S1,根据硬件设备与虚拟化平台的对应关系,建立虚拟化平台的硬件设备描述符词典;步骤S2,软件运行后,依次将软件运行平台中的硬件设备描述符中各个字段的字符与所述虚拟化平台的硬件设备描述符词典进行匹配;步骤S3,为每一虚拟化平台建立平台计数器并为每一平台计数器预设阈值;若匹配成功,则将所对应的虚拟化平台的所述平台计数器加1;步骤S4,将虚拟化平台的所述平台计数器的计数值与对应的所述阈值相比较;步骤S5,若所述平台计数器的计数值大于或等于预设的阈值,则判定运行平台为所对应的虚拟化平台。0006其中,在上述发明中,所述步骤S5还包括若所述平台计数器的计数值小于预设的阈值,则判定运行。
10、平台为硬件平台。0007其中,在上述发明中,所述软件运行平台中的硬件设备至少包括硬盘、光驱、网卡、串口、显卡、键盘、鼠标以及声卡。0008其中,在上述发明中,所述硬件设备的描述符中各个字段至少包括驱动名、设备类型、硬件ID、硬件标志以及厂商代码。0009其中,在上述发明中,所述虚拟化平台的硬件设备描述符词典中,建立每一虚拟化平台下与硬件设备相对应的字符集合;步骤S2中所述依次将软件运行平台中的硬件设备描述符中各个字段的字符与所述虚拟化平台的硬件设备描述符词典进行匹配,进一步包括将硬件设备描述符中各个字段的字符与描述符词典中的每一虚拟化平台下与硬件设备相对应的字符集合中的字符进行匹配。0010根。
11、据本发明的另一个方面,提供一种基于设备描述符识别软件运行平台的装置,说明书CN104049969A2/6页5包括描述符词典建立单元,用于根据硬件设备与虚拟化平台的对应关系,建立虚拟化平台的硬件设备描述符词典;描述符匹配单元,用于在软件运行后,依次将软件运行平台中的硬件设备描述符中各个字段的字符与所述描述符词典建立单元建立的虚拟化平台的硬件设备描述符词典进行匹配;计数单元,用于为每一虚拟化平台建立平台计数器并为每一平台计数器预设阈值;若所述描述符匹配单元匹配成功,则将所对应的虚拟化平台的所述平台计数器加1;比较单元,用于将所述计数单元记录的虚拟化平台的所述平台计数器的计数值与对应的所述阈值相比较。
12、;判定单元,用于在所述比较单元判断出所述平台计数器的计数值大于或等于预设的阈值时,判定运行平台为所对应的虚拟化平台。0011其中,在上述发明中,所述判定单元在所述比较单元判断出所述平台计数器的计数值小于预设的阈值时,判定运行平台为硬件平台。0012其中,在上述发明中,所述软件运行平台中的硬件设备至少包括硬盘、光驱、网卡、串口、显卡、键盘、鼠标以及声卡。0013其中,在上述发明中,所述硬件设备的描述符中各个字段至少包括驱动名、设备类型、硬件ID、硬件标志以及厂商代码。0014其中,在上述发明中,所述描述符词典建立单元建立每一虚拟化平台下与硬件设备相对应的字符集合,形成虚拟化平台的硬件设备描述符词。
13、典;所述描述符匹配单元依次将软件运行平台中的硬件设备描述符中各个字段的字符与描述符词典中的每一虚拟化平台下与硬件设备相对应的字符集合中的字符进行匹配。0015根据本发明的一种基于设备描述符识别软件运行平台的方法及装置,通过检测软件运行平台中硬件设备的描述符,并将检测的描述符与所建立的虚拟化平台硬件设备描述符词典进行匹配,来达到识别运行平台的目的,使得开发的软件的运行平台不需要区分是硬件平台还是虚拟化平台,实现了软件运行的多平台兼容性,同时节约了软件的开发成本。附图说明0016图1显示了本发明的基于设备描述符识别软件运行平台方法的原理图;0017图2显示了本发明优选实施例的基于设备描述符识别软件。
14、运行平台方法的流程图;0018图3显示了本发明另一优选实施例的基于设备描述符识别软件运行平台方法的流程图;0019图4显示了本发明优选实施例的基于设备描述符识别软件运行平台装置的结构示意图。具体实施方式0020为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。0021图1显示了本发明的基于设备描述符识别软件运行平台方法的原理图。0022如图1所示,在本发明中,通过检测软件运行平台中硬件设备的描述符,并将检。
15、测说明书CN104049969A3/6页6的描述符与所建立的虚拟化平台硬件设备描述符词典进行匹配,来达到识别运行平台的目的。由于在虚拟平台上,所有硬件设备是通过虚拟化平台虚拟出来供上层虚拟平台使用,那么在虚拟平台上的硬件设备描述符中会带有虚拟化平台的一些信息,例如在描述符中带有字符串“VMWARE”表示VMWARE虚拟化平台,带有字符串“XEN”表示XEN虚拟化平台,带有字符串“VIRUALBOX”表示VIRTUALBOX虚拟化平台等,本发明通过对这些硬件设备描述符的检测和匹配,能够有效识别出软件当前运行的环境是硬件平台还是虚拟化平台,使得开发的软件的运行平台不需要区分是硬件平台还是虚拟化平台。
16、,节约了软件的开发成本。0023图2显示了本发明优选实施例的基于设备描述符识别软件运行平台方法的流程图。0024如图2示,本发明优选实施例的基于设备描述符识别软件运行平台方法,包括以下步骤0025步骤S1,根据硬件设备与虚拟化平台的对应关系,建立虚拟化平台的硬件设备描述符词典。0026在虚拟平台上,所有硬件设备是通过虚拟化平台虚拟出来供上层虚拟平台使用,那么在虚拟平台上的硬件设备描述符中会带有虚拟化平台的一些信息。在步骤S1中,根据硬件设备与虚拟化平台的对应关系,建立虚拟化平台的硬件设备描述符词典,例如,VMWARE虚拟平台对应硬件设备描述符中的字符串有“VMWARE”、“VMX”和“VCEN。
17、TER”,VIRTUALBOX虚拟平台对应硬件设备描述符中的字符串有“VIRTUALBOX”,使得建立的硬件设备描述符词典包含有与虚拟平台相对应的硬件设备的描述符。0027步骤S2,软件运行后,依次将软件运行平台中的硬件设备描述符中各个字段的字符与所述虚拟化平台的硬件设备描述符词典进行匹配。0028在步骤S2中,对软件运行平台中的硬件设备进行检索,其中软件运行平台中的硬件设备至少包括硬盘、光驱、网卡、串口、显卡、键盘、鼠标以及声卡,当确定软件运行平台中存在这些硬件设备时,对这些硬件设备的描述符进行检测。具体来说,检测硬件设备的描述符中的各个字段,例如驱动名、设备类型、硬件ID、硬件标志、厂商代。
18、码等字段。0029步骤S3,为每一虚拟化平台建立平台计数器并为每一平台计数器预设阈值;若匹配成功,则将所对应的虚拟化平台的所述平台计数器加1。0030在步骤S3中,将步骤S2中检测的硬件设备的描述符与步骤S1中建立的虚拟化平台的硬件设备描述符词典进行匹配,如果匹配成功,则将所对应的虚拟化平台的所述平台计数器加1。0031具体来说,将步骤S2软件运行平台中存在的硬盘、光驱、网卡、串口、显卡、键盘、鼠标、声卡等硬件设备的描述符中字段的驱动名、设备类型、硬件ID、硬件标志、厂商代码等字段信息的检测结果与步骤S1中根据硬件设备与虚拟化平台的对应关系建立虚拟化平台的硬件设备描述符词典进行匹配,例如,描述。
19、符中若存在“VMWARE”字段,则该字段与VMWARE平台硬件设备描述符词典中的“VMWARE”字符相匹配,描述符中的字段“VIRTUALBOX”与VIRTUALBOX平台硬件设备描述符词典中的“VIRTUALBOX”字符相匹配,每匹配成功一次,则将相对应的虚拟化平台的平台计数器加1。0032步骤S4,将虚拟化平台的所述平台计数器的计数值与对应的所述阈值相比较。0033在步骤S4中,将步骤S3中平台计数器记录的虚拟化平台计数值与对应的阈值进说明书CN104049969A4/6页7行比较。其中,预设的阈值的大小由软件运行平台中的硬件设备数量决定,如果软件运行平台中的硬件设备越多,则预设的阈值的取。
20、值越大,反之会相应越小。0034步骤S5,若所述平台计数器的计数值大于或等于预设的阈值,则判定运行平台为所对应的虚拟化平台。0035具体来说,如果平台计数器的计数值大于或等于预设的阈值,则表明运行平台是虚拟化平台,此时,该运行平台被判定为虚拟化平台;如果平台计数器的计数值小于预设的阈值,则表明运行平台为非虚拟化平台,此时,该运行平台被判定为硬件平台。0036通过采用上述流程,对软件运行平台中的硬件设备的描述符进行检测,并将检测的描述符与所建立的虚拟化平台的硬件设备描述符词典进行匹配,来达到识别虚拟平台的目的,有效地解决了软件运行平台的识别问题,使得LINUX、WINDOWS等操作系统均可根据硬。
21、件描述信息来判断软件运行平台。0037图3显示了本发明另一优选实施例的基于设备描述符识别软件运行平台方法的流程图。0038如图3所示,本发明另一优选实施例的基于设备描述符识别软件运行平台方法的流程图,包括以下步骤0039步骤S1,根据硬件设备与虚拟化平台的对应关系,建立每一虚拟化平台下与硬件设备相对应的字符集合,形成所述虚拟化平台的硬件设备描述符词典。0040步骤S2,将硬件设备描述符中各个字段的字符与描述符词典中的每一虚拟化平台下与硬件设备相对应的字符集合中的字符进行匹配。0041步骤S3,为每一虚拟化平台建立平台计数器并为每一平台计数器预设阈值;若匹配成功,则将所对应的虚拟化平台的所述平台。
22、计数器加1。0042步骤S4,将虚拟化平台的所述平台计数器的计数值与对应的所述阈值相比较。0043步骤S5,若所述平台计数器的计数值大于或等于预设的阈值,则判定运行平台为所对应的虚拟化平台。0044步骤S6,若所述平台计数器的计数值小于预设的阈值,则判定运行平台为硬件平台。0045图4显示了本发明优选实施例的基于设备描述符识别软件运行平台装置的结构示意图。0046如图4所示,本发明优选实施例的基于设备描述符识别软件运行平台装置包括以下部件描述符词典建立单元1、描述符匹配单元2、计数单元3、比较单元4以及判定单元5。0047虚拟化平台词典建立单元1,用于根据硬件设备与虚拟化平台的对应关系,建立虚。
23、拟化平台的硬件设备描述符词典。在虚拟平台上,所有硬件设备是通过虚拟化平台虚拟出来供上层虚拟平台使用,那么在虚拟平台上的硬件设备描述符中会带有虚拟化平台的一些信息。虚拟化平台词典建立单元1根据硬件设备与虚拟化平台的对应关系,建立虚拟化平台的硬件设备描述符词典,例如,VMWARE虚拟平台对应硬件设备描述符中的字符串有“VMWARE”、“VMX”和“VCENTER”,VIRTUALBOX虚拟平台对应硬件设备描述符中的字符串有“VIRTUALBOX”,使得建立的硬件设备描述符词典包含有与虚拟平台相对应的硬件设备的描述符。具体来说,虚拟化平台词典建立单元1根据硬件设备与虚拟化平台的对应关系,建立说明书C。
24、N104049969A5/6页8每一虚拟化平台下与硬件设备相对应的字符集合,形成所述虚拟化平台的硬件设备描述符词典。0048描述符匹配单元2,用于在软件运行后,依次将软件运行平台中的硬件设备描述符中各个字段的字符与所述描述符词典建立单元1建立的虚拟化平台的硬件设备描述符词典进行匹配。在软件运行后,描述符检测单元2对软件运行平台中的硬件设备进行检索,其中软件运行平台中的硬件设备至少包括硬盘、光驱、网卡、串口、显卡、键盘、鼠标以及声卡,当确定软件运行平台中存在这些硬件设备时,对这些硬件设备的描述符进行检测。具体来说,描述符匹配单元2检测硬件设备的描述符中的各个字段,例如驱动名、设备类型、硬件ID、。
25、硬件标志、厂商代码等信息,将硬件设备描述符中各个字段的字符与描述符词典中的每一虚拟化平台下与硬件设备相对应的字符集合中的字符进行匹配。0049计数单元3,连接到虚拟化平台词典建立单元1和描述符匹配单元2,用于为每一虚拟化平台建立平台计数器并为每一平台计数器预设阈值,若所述描述符匹配单元2匹配成功,则将所对应的虚拟化平台的所述平台计数器加1。具体来说,计数单元3接收描述符匹配单元2对存在运行平台上的硬盘、光驱、网卡、串口、显卡、键盘、鼠标、声卡等硬件设备的描述符中字段的驱动名、设备类型、硬件ID、硬件标志、厂商代码等字段信息的检测信息,将检测的硬件设备的描述符信息与虚拟化平台词典建立单元1建立的。
26、虚拟化平台的硬件设备描述符词典进行匹配,例如,描述符中若存在“VMWARE”字段,则该字段与VMWARE平台硬件设备描述符词典中的“VMWARE”字符相匹配,描述符中的字段“VIRTUALBOX”与VIRTUALBOX平台硬件设备描述符词典中的“VIRTUALBOX”字符相匹配,每匹配成功一次,计数单元3则将所对应的虚拟化平台的所述平台计数器加1。0050比较单元4,连接到计数单元3,用于将所述计数单元3记录的虚拟化平台的所述平台计数器的计数值与对应的所述阈值相比较。其中,预设的阈值的大小由软件运行平台中的硬件设备数量决定,如果软件运行平台中的硬件设备越多,则预设的阈值的取值越大,反之会相应越。
27、小。0051判定单元5,连接到比较单元4,用于在所述比较单元4判断出所述平台计数器的计数值大于或等于预设的阈值时,判定运行平台为所对应的虚拟化平台。具体来说,如果比较单元4判断出平台计数器记录虚拟化平台的计数值大于或等于预设的阈值,则表明运行平台是虚拟化平台,此时,判定单元5判定该运行平台为虚拟化平台;如果比较单元4判断出平台计数器记录虚拟化平台的计数值小于预设的阈值,则表明运行平台为非虚拟化平台,此时,判定单元5判定该运行平台为硬件平台。0052如上所述,根据本发明的一种基于设备描述符识别软件运行平台的方法及装置,通过检测软件运行平台中硬件设备的描述符,并将检测的描述符与所建立的虚拟化平台硬。
28、件设备描述符词典进行匹配,来达到运行平台识别的目的,使得开发的软件的运行平台不需要区分是硬件平台还是虚拟化平台,实现了软件运行的多平台兼容性,同时节约了软件的开发成本。0053应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修说明书CN104049969A6/6页9改例。说明书CN104049969A1/4页10图1说明书附图CN104049969A102/4页11图2说明书附图CN104049969A113/4页12图3说明书附图CN104049969A124/4页13图4说明书附图CN104049969A13。