一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

逻辑固件加载方法、装置、电子设备及存储介质与流程

2022-12-02 18:54:09 来源:中国专利 TAG:


1.本发明实施例涉及计算机应用技术领域,尤其涉及一种逻辑固件加载方法、装置、电子设备及存储介质。


背景技术:

2.通常一个复杂电子设备的硬件会由主板及多个子卡构成,在设计时会分配给每个子卡独一无二的单板id。在系统软件初始化时,需要识别到单板id进而才能针对每个单板执行对应的初始化配置工作,比如可编程器件的逻辑固件加载等等。但是,获取单板id是通过在单板和主板相连接的连接器上定义id信号实现,id信号位数越多,支持的单板id越多,越不容易冲突,而单板id信号位数多,往往会占用连接器管脚,而且会占用大量主板硬件资源;此外一个复杂的系统平台生命往往会延续很久,极容易出现单板id不够用的问题。


技术实现要素:

3.本发明实施例中提供了一种逻辑固件加载方法、装置、电子设备及存储介质,以实现在不需要单板id的情况下加载可编程器件的逻辑固件。
4.第一方面,本发明实施例中提供了一种逻辑固件加载方法,该方法包括:
5.查询与主板连接的待处理子卡中可编程逻辑器件的器件信息;其中所述器件信息包括器件标识,或者器件标识及jtag链上d触发器串连信息;
6.依据可编程逻辑器件的器件信息,确定所述待处理子卡的子卡类型;
7.依据所述待处理子卡的子卡类型,对所述待处理子卡中可编程逻辑器件进行逻辑固件加载。
8.第二方面,本发明实施例中还提供了一种逻辑固件加载装置,该装置包括:
9.器件信息查询模块,用于查询与主板连接的待处理子卡中可编程逻辑器件的器件信息;其中所述器件信息包括器件标识,或者器件标识及jtag链上d触发器串连信息;
10.子卡类型确定模块,用于依据可编程逻辑器件的器件信息,确定所述待处理子卡的子卡类型;
11.逻辑固件加载模块,用于依据所述待处理子卡的子卡类型,对所述待处理子卡中可编程逻辑器件进行逻辑固件加载。
12.第三方面,本发明实施例中还提供了一种电子设备,包括:
13.一个或多个处理器;
14.存储装置,用于存储一个或多个程序;
15.所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例中所提供的逻辑固件加载方法。
16.第四方面,本发明实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例中所提供的逻辑固件加载方法。
17.本发明实施例中提供了一种逻辑固件加载方法,查询与主板连接的待处理子卡中
可编程逻辑器件的器件信息;其中所述器件信息包括器件标识,或者器件标识及jtag链上d触发器串连信息,依据可编程逻辑器件的器件信息确定待处理子卡的子卡类型,进而加载待处理子卡中可编程逻辑器件的逻辑固件。采用本技术提供的技术方案,在子卡中可编程逻辑器件cpld的器件id相同或者不需要子卡的单板id情况下仍能准确识别出子卡类型,来对子卡中可编程逻辑器件cpld进行逻辑固件自动加载,避免使用子卡的单板id时由于子卡数量较多导致单板id信号位数多占用大量的连接器管脚,进而占用大量的主板硬件资源;同时可以提升主板连接子卡的扩展性,避免出现单板id不够用的问题。
18.上述发明内容仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
19.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
20.图1是本发明实施例中提供的一种逻辑固件加载方法的流程图;
21.图2是本发明实施例中提供的一种主板连接子卡的示意图;
22.图3是本发明实施例中提供的另一种主板连接子卡的示意图;
23.图4是本发明实施例中提供的又一种主板连接子卡的示意图;
24.图5是本发明实施例中提供的另一种逻辑固件加载方法的流程图;
25.图6是本发明实施例中提供的一种逻辑固件自动加载的逻辑流程图;
26.图7是本发明实施例中提供的一种逻辑固件加载装置的结构图;
27.图8是本发明实施例中提供的一种电子设备的结构示意图。
具体实施方式
28.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
29.在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作(或步骤)可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
30.下面针对本发明实施例中提供的逻辑固件加载方法、装置、电子设备及存储介质,通过各实施例进行详细阐述。
31.图1是本发明实施例中提供的一种逻辑固件加载方法的流程图。本实施例可适用于自动加载各子卡的cpld逻辑固件的情况。该方法可以由逻辑固件加载装置执行,该装置可以采用软件和/或硬件的方式实现,并可集成在任何具有网络通信功能的电子设备上。如图1所示,本发明实施例中提供的逻辑固件加载方法,可包括以下步骤:
32.s110、查询与主板连接的待处理子卡中可编程逻辑器件的器件信息;其中器件信息包括器件标识,或者器件标识及jtag链上d触发器的串连信息。
33.s120、依据可编程逻辑器件的器件信息确定待处理子卡的子卡类型。
34.在子卡和主板相连接的连接器上定义id信号,通常可以通过增加子卡的单板id并根据单板id的不同加载不同子卡的cpld固件。但是,单板id信号位数多,往往会占用连接器管脚,而且会占用大量的主板硬件资源,同时一个系统平台生命往往会延续很久,极易会出现单板id不够用的情况。当然,除了单板id,也可选择在子卡上增加i2c接口或者串口等低速总线,然后通过i2c接口或者串口读取子卡类型。但是,需要在子卡实现i2c接口或者串口功能,显然会大幅度增加子卡硬件成本。因此,依靠单板id、i2c接口或者串口功能进行子卡类型识别进行固件加载存在一定缺陷。
35.基于上述情况,可利用子卡中集成的可编程逻辑器件cpld读取特殊性,在选定待升级的子卡后,通过向选定的待处理子卡中可编程逻辑器件cpld发送一定数量的接口时钟信号tck,来读取待处理子卡中的可编程逻辑器件cpld的器件标识device id。进而,基于预先记录的主板支持的各个子卡中集成的可编程逻辑器件cpld的器件标识,就能来确定待处理子卡的类型。
36.对于主板支持的各个子卡而言,如果多个子卡上设计有不同器件标识的可编程逻辑器件cpld,那么凭借对待处理子卡中可编程逻辑器件cpld进行器件标识读取,通过识别可编程逻辑器件cpld的器件标识,就可对不同子卡进行类型区分,确定出待处理子卡的子卡类型。
37.对于主板支持的各个子卡而言,不同子卡上还可以设计有相同器件标识的可编程逻辑器件cpld,这样只凭借对待处理子卡中可编程逻辑器件cpld进行器件标识读取可能会出现无法辨别子卡类型的情况。为此,除了参照可编程逻辑器件cpld的器件标识,同时还可对具备相同器件标识的可编程逻辑器件cpld的不同子卡中可编程逻辑器件的jtag链上d触发器的串连方式,以便用于区分具备相同器件标识的可编程逻辑器件的不同类型的子卡。其中,jtag链上的d触发器可以为一位d触发器。
38.s130、依据待处理子卡的子卡类型,对待处理子卡中可编程逻辑器件进行逻辑固件加载。
39.通过引入子卡中可编程逻辑器件的器件标识以及可编程逻辑器件与d触发器的串连方式为子卡设置对应的子卡类型,实现在子卡的单板id相同或者没有单板id的情况下,即使不同子卡上设计有相同器件标识的可编程逻辑器件,仍然能基于子卡中可编程逻辑器件的器件标识作为器件信息,或者基于可编程逻辑器件的器件标识与可编程逻辑器件的jtag链上d触发器的串连方式的结合作为器件信息来对子卡的类型进行区分,以及进一步根据子卡类型来自动加载相应的待处理子卡中可编程逻辑器件cpld的逻辑固件。
40.作为一种可选方案,对于具备不同器件标识的可编程逻辑器件cpld的不同类型的子卡而言,子卡的类型可通过不同子卡中集成的可编程逻辑器件的器件标识的不同来进行区分。
41.作为另一种可选方案,参见图2、图3以及图4,对于具备相同器件标识的可编程逻辑器件cpld的不同类型的子卡而言,子卡的类型可通过子卡中集成的可编程逻辑器件的器件标识以及在可编程逻辑器件jtag链的接口数据输出信号tdo上串连的d触发器的个数进
行区分。
42.根据本发明实施例中提供的逻辑固件加载方法,在子卡中可编程逻辑器件cpld的器件id相同或者不需要子卡的单板id情况下,仍能准确识别出子卡类型,来对子卡中可编程逻辑器件cpld进行逻辑固件自动加载,避免使用子卡的单板id时由于子卡数量较多导致单板id信号位数多占用大量的连接器管脚,进而占用大量的主板硬件资源;同时可以提升主板连接子卡的扩展性,避免出现单板id不够用的问题。
43.图5是本发明实施例中提供的另一种逻辑固件加载方法的流程图。本实施例在上述实施例的基础上进行优化,本发明实施例可以与上述一个或者多个实施例中各个可选方案结合。如图5所示,本发明实施例中提供的逻辑固件加载方法,可包括以下步骤:
44.s510、向与主板连接的待处理子卡中可编程逻辑器件发送至少一种目标取值个周期的接口时钟信号,用以对可编程逻辑器件进行器件标识读取。
45.其中,目标取值大于或等于预设器件标识位数的取值。
46.参见图2、图3以及图4,假设主板支持的3种子卡,分别为子卡1、子卡2、子卡3,这三种子卡都使用了相同器件标识的可编程逻辑器件cpld,例如cpld型号为m8866,其器件标识都为0x4c37。参见表1,相同器件标识的可编程逻辑器件cpld应用在不同子卡以匹配合适功能,因此子卡1、子卡2以及子卡3中可编程逻辑器件cpld分别会对应不同的cpld逻辑固件1、逻辑固件2以及逻辑固件3,可见即便是相同器件标识的cpld也不一定使用相同的固件。
47.表1不同子卡中相同器件标识cpld的逻辑固件
48.子卡名称cpld型号cpld固件子卡1m8866固件1子卡2m8866固件2子卡3m8866固件3
49.对于具备相同器件标识可编程逻辑器件的不同子卡而言,当可编程逻辑器件的预先串连的d触发器的个数不同时,如果想要正确读取不同子卡中相同器件标识的可编程逻辑器件的器件标识,那么读取器件标识时所需要的接口时钟信号tck的周期个数不相同,因此需要在预设器件标识位数的取值的基础上可调整接口时钟信号tck的周期个数,按照各个子卡中可编程逻辑器件的jtag链上d触发器的串连个数遍历使用几种不同目标取值个周期的接口时钟信号tck来进行器件标识读取,以在一个目标取值下读取到正确器件标识。
50.可选地,对于具备相同器件标识的可编程逻辑器件的不同子卡而言,根据cpld的加载与之对应的cpld固件时,如果不同子卡的可编程逻辑器件cpld的器件标识相同,则不同子卡中可编程逻辑器件cpld的jtag链的最后一个接口数据输出信号tdo信号上串连m个d触发器(下降沿触发),m大于或等于1,且具备相同器件标识的可编程逻辑器件的不同子卡中使用的m取值不同。这样,在读取子卡中可编程逻辑器件的器件标识时,只需要在预设器件标识位数的取值的基础上接口时钟信号tck增加m个周期,掩码左移m位,即可获得对应可编程逻辑器件cpld正确的器件标识。
51.参见图2,在子卡1的可编程逻辑器件cpld上串连0个1bit的d触发器情况下,读子卡1中可编程逻辑器件cpld的器件标识时需要发送16个tck,读到值应该是0x4c37,掩码是0xffff,即正确读取到可编程逻辑器件cpld的器件标识。
52.参见图3,在子卡2的可编程逻辑器件cpld上串连1个1bit的d触发器情况下,读子
卡2中可编程逻辑器件cpld的器件标识时需要发送(16 1)个tck,读到值的应该是0x986f,掩码是0x1fffe,经过掩码计算最终值为正确的器件标识0x4c37。
53.同样,参见图4,在子卡3的可编程逻辑器件cpld上串连2个1bit的d触发器情况下,读子卡3中可编程逻辑器件cpld的器件标识时需要发送(16 2)个tck,读到的是0x130df,掩码是0x3fffc,经过掩码计算最终值为正确的器件标识0x4c37。
54.在本实施例的一种可选方案中,在查询与主板连接的待处理子卡中可编程逻辑器件的器件信息之前,还包括步骤a1-a3:
55.步骤a1、主板向待处理子卡中可编程逻辑器件发送接口时钟信号,控制tms时序使待处理子卡上的可编程逻辑器件进入指令寄存器移位(shift_ir)模式。
56.步骤a2、主板向待处理子卡中可编程逻辑器件发送器件标识指令。
57.步骤a3、主板向待处理子卡中可编程逻辑器件再次发送接口时钟信号,控制tms时序使待处理子卡上的可编程逻辑器件进入数据寄存器移位(shift_dr)模式。在此基础上,可实现待处理子卡中可编程逻辑器件cpld依次进入指令寄存器移位shift_ir模式和数据寄存器移位shift_dr模式,进而才能通过向与主板连接的待处理子卡中可编程逻辑器件发送接口时钟信号tck,来对可编程逻辑器件执行器件标识读取操作。
58.s520、依据至少一种目标取值个周期对应的器件标识读取结果,确定待处理子卡中可编程逻辑器件的器件信息。
59.其中,可编程逻辑器件的jtag链上d触发器串连信息包括在可编程逻辑器件的jtag链的接口数据输出信号tdo上预先串连的d触发器的个数。
60.在本实施例的一种可选方案中,依据至少一种目标取值个周期对应的器件标识读取结果,确定待处理子卡中可编程逻辑器件的器件信息,包括步骤b1-b2:
61.步骤b1、依据至少一种目标取值相对预设器件标识位数取值的递增变化值,确定目标取值个周期下所关联的预设掩码信息。
62.步骤b2、依据目标取值个周期下所关联的预设掩码信息和对应的器件标识读取结果,确定可编程逻辑器件的器件标识以及可编程逻辑器件的jtag链上d触发器的预串连个数。
63.参见图2、图3以及图4,对于具备相同器件标识可编程逻辑器件的不同子卡而言,如果一个子卡中可编程逻辑器件的预设器件标识位数取值为n,且可编程逻辑器件的jtag链的接口数据输出信号tdo上预先串连的d触发器的个数为m,那么需要向可编程逻辑器件发送(n m)个周期的接口时钟信号,才能正确读取到可编程逻辑器件的器件标识。不难发现,对于任一目标取值而言,目标取值相对预设器件标识位数取值的递增变化值其实与在可编程逻辑器件的jtag链的接口数据输出信号tdo上预先串连的d触发器的个数存在关联。
64.当然,目标取值相对预设器件标识位数取值的递增变化值m是在发送接口时钟信号tck配置的一个尝试值,不同器件标识读取操作下所使用的递增变化值m是不断改变的,这样才能使用不同目标取值来尝试发送不同个数的接口时钟信号tck,以便读取到可编程逻辑器件的正确器件标识。
65.参见图6,通过目标取值相对预设器件标识位数取值的递增变化值确定关联的预设掩码信息,进而基于预设掩码信息对目标取值个周期下对应的器件标识读取结果进行计算得到一个反推值并判断这个反推值是否属于预设器件标识取值。如果属于,则认为目标
取值下能获得正确的器件标识,此时将目标个数相对预设器件标识位数的递增变化值确定为待处理子卡中可编程逻辑器件与d触发器的预串连个数;以及,将得到的反推值作为可编程逻辑器件的器件标识。如果不存在,则认为目标取值下不能获得正确的器件标识,需要对目标取值进行更新,返回重新让可编程逻辑器件cpld依次进入指令寄存器移位shift_ir模式和数据寄存器移位shift_dr模式,并发送更新后的目标取值个周期的接口时钟信号,再次对待处理子卡中可编程逻辑器件进行器件标识读取操作。
66.作为一种可选方案,预设器件标识位数取值基于不同子卡中可编程逻辑器件的器件标识位数进行确定。其中,不同子卡中可编程逻辑器件的器件标识位数相同或部分相同,将不同位数取值均作为预设器件标识位数取值。
67.作为一种可选方案,在连续多次器件标识读取过程中所使用的目标取值相对预设器件标识位数按照预设值递增变化。在发送目标取值个周期的接口时钟信号进行器件标识读取的过程中,可能一种目标值无法正确读取,因此需要对目标值进行更新后再次查询器件标识,其中预设值为1,这样目标取值可以依次更新为:n、(n 1)、(n 2)
……
、(n m),每次相比前一次目标递增1。
68.s530、依据可编程逻辑器件的器件信息确定待处理子卡的子卡类型。
69.s540、依据待处理子卡的子卡类型,对待处理子卡中可编程逻辑器件进行逻辑固件加载。
70.根据本发明实施例中提供的逻辑固件加载方法,在子卡中可编程逻辑器件cpld的器件id相同或者不需要子卡的单板id情况下就能准确识别出子卡类型,即使不同子卡上设计有相同器件标识的cpld,也可以保证识别到子卡类型,来对子卡中可编程逻辑器件cpld进行逻辑固件自动加载,避免使用子卡的单板id时由于子卡数量较多导致单板id信号位数多占用大量的连接器管脚,进而占用大量的主板硬件资源;同时可以提升主板连接子卡的扩展性,避免出现单板id不够用的问题。
71.图7是本发明实施例中提供的一种逻辑固件加载装置的结构图。本实施例可适用于自动加载各子卡的cpld逻辑固件的情况。该装置可以采用软件和/或硬件的方式实现,并可集成在任何具有网络通信功能的电子设备上。如图7所示,本发明实施例中提供的逻辑固件加载装置,可包括以下:
72.器件信息查询模块710,用于查询与主板连接的待处理子卡中可编程逻辑器件的器件信息;其中所述器件信息包括器件标识,或者器件标识及jtag链上d触发器串连信息;
73.子卡类型确定模块720,用于依据可编程逻辑器件的器件标信息,确定所述待处理子卡的子卡类型;
74.逻辑固件加载模块730,用于依据所述待处理子卡的子卡类型,对所述待处理子卡中可编程逻辑器件进行逻辑固件加载。
75.在上述实施例的基础上,可选地,器件信息查询模块710包括:
76.向与主板连接的待处理子卡中可编程逻辑器件发送至少一种目标取值个周期的接口时钟信号,用以对可编程逻辑器件进行器件标识读取;
77.依据所述至少一种目标取值个周期对应的器件标识读取结果,确定待处理子卡中可编程逻辑器件的器件信息;
78.其中,所述目标取值大于或等于预设器件标识位数的取值,所述jtag链上d触发器
串连信息包括在可编程逻辑器件的jtag链的接口数据输出信号tdo上预先串连的d触发器的个数。
79.在上述实施例的基础上,可选地,依据所述至少一种目标取值个周期对应的器件标识读取结果,确定待处理子卡中可编程逻辑器件的器件信息,包括:
80.依据所述至少一种目标取值相对预设器件标识位数取值的递增变化值,确定所述目标取值个周期下所关联的预设掩码信息;
81.依据所述目标取值个周期下所关联的预设掩码信息和对应的器件标识读取结果,确定可编程逻辑器件的器件标识以及可编程逻辑器件的jtag链上d触发器的预串连个数。
82.在上述实施例的基础上,可选地,预设器件标识位数取值基于不同子卡中可编程逻辑器件的器件标识位数进行确定。
83.在上述实施例的基础上,可选地,在连续多次器件标识读取过程中所使用的目标取值相对预设器件标识位数按照预设值递增变化。
84.在上述实施例的基础上,可选地,查询与主板连接的待处理子卡中可编程逻辑器件的器件信息之前,包括:
85.主板向待处理子卡中可编程逻辑器件发送接口时钟信号,控制tms时序使待处理子卡上的可编程逻辑器件进入指令寄存器移位模式;
86.主板向待处理子卡中可编程逻辑器件发送器件标识指令;
87.主板向待处理子卡中可编程逻辑器件再次发送接口时钟信号,控制tms时序使待处理子卡上的可编程逻辑器件进入数据寄存器移位模式。
88.本发明实施例中所提供的逻辑固件加载装置可执行上述本发明任意实施例中所提供的逻辑固件加载方法,具备执行该逻辑固件加载方法相应的功能和有益效果,未在上述实施例中详尽描述的技术细节,可参见本技术任意实施例中所提供的逻辑固件加载方法。
89.图8是本发明实施例中提供的一种电子设备的结构示意图。如图8所示结构,本发明实施例中提供的电子设备包括:一个或多个处理器810和存储装置820;该电子设备中的处理器810可以是一个或多个,图8中以一个处理器810为例;存储装置820用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器810执行,使得所述一个或多个处理器810实现如本发明实施例中任一项所述的逻辑固件加载方法。
90.该电子设备还可以包括:输入装置830和输出装置840。
91.该电子设备中的处理器810、存储装置820、输入装置830和输出装置840可以通过总线或其他方式连接,图8中以通过总线连接为例。
92.该电子设备中的存储装置820作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中所提供的逻辑固件加载方法对应的程序指令/模块。处理器810通过运行存储在存储装置820中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中逻辑固件加载方法。
93.存储装置820可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储装置820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至
少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置820可进一步包括相对于处理器810远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
94.输入装置830可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置840可包括显示屏等显示设备。
95.并且,当上述电子设备所包括一个或者多个程序被所述一个或者多个处理器810执行时,程序进行如下操作:
96.查询与主板连接的待处理子卡中可编程逻辑器件的器件信息;其中所述器件信息包括器件标识,或者器件标识及jtag链上d触发器串连信息;
97.依据可编程逻辑器件的器件信息,确定所述待处理子卡的子卡类型;
98.依据所述待处理子卡的子卡类型,对所述待处理子卡中可编程逻辑器件进行逻辑固件加载。
99.当然,本领域技术人员可以理解,当上述电子设备所包括一个或者多个程序被所述一个或者多个处理器810执行时,程序还可以进行本发明任意实施例中所提供的逻辑固件加载方法中的相关操作。
100.本发明实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行逻辑固件加载方法,该方法包括:
101.查询与主板连接的待处理子卡中可编程逻辑器件的器件信息;其中所述器件信息包括器件标识,或者器件标识及jtag链上d触发器串连信息;
102.依据可编程逻辑器件的器件信息,确定所述待处理子卡的子卡类型;
103.依据所述待处理子卡的子卡类型,对所述待处理子卡中可编程逻辑器件进行逻辑固件加载。
104.可选的,该程序被处理器执行时还可以用于执行本发明任意实施例中所提供的逻辑固件加载方法。
105.本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式cd-rom、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
106.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
107.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:
无线、电线、光缆、无线电频率(radiofrequency,rf)等等,或者上述的任意合适的组合。
108.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
109.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
110.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献