本申请涉及数据处理技术领域,尤其涉及一种数据处理方法及系统。
背景技术
目前,当用户的服务器出现故障时,bmc(baseboardmanagementcontroller,主板管理控制器)要打印debug信息,调试人员需要到用户现场,插上debugconsole(调试串口),通过现场的debugconsole打印调试信息。如果调试人员不能去用户现场,或不能及时到达用户现场,调试人员则无法进行debug调试。
由此可以看出,现有的获取服务器debug信息的方式,不能及时的获取到debug信息,且当调试人员到达用户现场时,可能服务器的问题不再复现,因此现有的获取服务器debug信息的方式不便于调试人员进行debug调试,用户体验差。
技术实现要素:
有鉴于此,本申请提供一种数据处理方法,无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
本申请提供了一种数据处理方法,包括:
修改服务器串口驱动程序,以存储所述服务器的数据;
增加智能型平台管理接口的用户自定义命令,以通过网络将所述数据发送至调试串口。
优选地,所述修改服务器串口驱动程序,以存储所述服务器的数据包括:
在串口驱动程序中增加缓冲区;
在串口的发送中断中,将发送的字符同步拷贝到所述缓冲区中。
优选地,所述在串口的发送中断中,将发送的字符同步拷贝到所述缓冲区中包括:
在串口的发送中断中,判断驱动的发送缓冲区是否为空,若否,则:
判断驱动的有序缓冲区是否已满,若否,则:
从所述发送缓冲区中取出数据,写入所述有序缓冲区的先入先出队列;
将所述先入先出队列中的数据同步到所述缓冲区。
优选地,所述增加智能型平台管理接口的用户自定义命令,以通过网络将所述数据发送至调试串口包括:
使用驱动中ioctl函数的读取数据缓冲区方法将所述缓冲区中的数据发送至所述调试串口。
优选地,所述方法还包括:
使用驱动中ioctl函数的写数据缓冲区方法,将通过所述调试串口输出的命令发送至驱动。
一种数据处理系统,包括:
存储器,用于存储应用程序与应用程序运行所产生的数据;
处理器,用于运行所述应用程序以修改服务器串口驱动程序,以存储所述服务器的数据;
所述处理器,还用于增加智能型平台管理接口的用户自定义命令,以通过网络将所述数据发送至调试串口。
优选地,所述处理器在修改服务器串口驱动程序,以存储所述服务器的数据时,具体用于:
在串口驱动程序中增加缓冲区;
在串口的发送中断中,将发送的字符同步拷贝到所述缓冲区中。
优选地,所述处理器在在串口的发送中断中,将发送的字符同步拷贝到所述缓冲区中时,具体用于:
在串口的发送中断中,判断驱动的发送缓冲区是否为空,若否,则:
判断驱动的有序缓冲区是否已满,若否,则:
从所述发送缓冲区中取出数据,写入所述有序缓冲区的先入先出队列;
将所述先入先出队列中的数据同步到所述缓冲区。
优选地,所述处理器在增加智能型平台管理接口的用户自定义命令,以通过网络将所述数据发送至调试串口时,具体用于:
使用驱动中ioctl函数的读取数据缓冲区方法将所述缓冲区中的数据发送至所述调试串口。
优选地,所述处理器还用于:
使用驱动中ioctl函数的写数据缓冲区方法,将通过所述调试串口输出的命令发送至驱动。
从上述技术方案可以看出,本申请公开的一种数据处理方法,当需要获取服务器出现故障时的debug信息时,首先修改服务器串口驱动程序,以存储服务器的数据,然后增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请公开的一种数据处理方法实施例1的流程图;
图2为本申请公开的一种数据处理方法实施例2的流程图;
图3为本申请公开的一种数据处理方法实施例3的流程图;
图4为本申请公开的一种数据处理方法实施例4的流程图;
图5为本申请公开的一种数据处理系统实施例1的结构示意图;
图6为本申请公开的一种数据处理系统实施例2的结构示意图;
图7为本申请公开的一种数据处理系统实施例3的结构示意图;
图8为本申请公开的一种数据处理系统实施例4的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请公开的一种数据处理方法实施例1的流程图,所述方法可以包括以下步骤:
s101、修改服务器串口驱动程序,以存储服务器的数据;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。
s102、增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口。
当修改服务器串口驱动程序后,进一步增加ipmi(intelligentplatformmanagementinterface,智能型平台管理接口)的用户自定义命令,即增加在ipmi标准之外的命令。通过增加的智能型平台管理接口的用户自定义命令,以实现通过网络将存储的服务器的数据发送至debugconsole(调试串口)。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先修改服务器串口驱动程序,以存储服务器的数据,然后增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
如图2所示,为本申请公开的一种数据处理方法实施例2的流程图,所述方法可以包括以下步骤:
s201、在串口驱动程序中增加缓冲区;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。在对串口驱动程序进行修改时,首先可以通过在串口驱动程序中增加一个缓冲区。
s202、在串口的发送中断中,将发送的字符同步拷贝到缓冲区中;
然后,在串口的发送中断中,把发送的字符同步拷贝到上述增加的缓冲区中,这一步相当于在调试串口做了hook(钩子函数)。
s203、增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口。
当修改服务器串口驱动程序后,进一步增加ipmi(intelligentplatformmanagementinterface,智能型平台管理接口)的用户自定义命令,即增加在ipmi标准之外的命令。通过增加的智能型平台管理接口的用户自定义命令,以实现通过网络将存储的服务器的数据发送至debugconsole(调试串口)。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先在串口驱动程序中增加缓冲区,在串口的发送中断中,将发送的字符同步拷贝到缓冲区中,实现存储服务器的数据,然后增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
如图3所示,为本申请公开的一种数据处理方法实施例3的流程图,所述方法可以包括以下步骤:
s301、在串口驱动程序中增加缓冲区;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。在对串口驱动程序进行修改时,首先可以通过在串口驱动程序中增加一个缓冲区。
s302、在串口的发送中断中,判断驱动的发送缓冲区是否为空,若否,则进入s303:
然后,在串口的发送中断中,进一步对驱动的txbuffer(发送缓冲区)进行判断,判断驱动的发送缓冲区是否为空。
s303、判断驱动的有序缓冲区是否已满,若否,则进入s304:
当驱动的发送缓冲区不为空时,进一步判断驱动的txfifo(有序缓冲区)是否已满。
s304、从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列;
当驱动的有序缓冲区未满时,从发送缓冲区中将数据取出,并将取出的数据写入有序缓冲区的先入先出队列。
s305、将先入先出队列中的数据同步到缓冲区;
然后,将写入先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据。
s306、增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口。
当将服务器的数据存储后,进一步增加ipmi(intelligentplatformmanagementinterface,智能型平台管理接口)的用户自定义命令,即增加在ipmi标准之外的命令。通过增加的智能型平台管理接口的用户自定义命令,以实现通过网络将存储的服务器的数据发送至debugconsole(调试串口)。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先在串口驱动程序中增加缓冲区,在串口的发送中断中,判断驱动的发送缓冲区是否为空,当驱动的发送缓冲区不为空时,判断驱动的有序缓冲区是否已满,当驱动的有序缓冲区未满时,从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列,将先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据,然后增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
如图4所示,为本申请公开的一种数据处理方法实施例4的流程图,所述方法可以包括以下步骤:
s401、在串口驱动程序中增加缓冲区;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。在对串口驱动程序进行修改时,首先可以通过在串口驱动程序中增加一个缓冲区。
s402、在串口的发送中断中,判断驱动的发送缓冲区是否为空,若否,则进入s403:
然后,在串口的发送中断中,进一步对驱动的txbuffer(发送缓冲区)进行判断,判断驱动的发送缓冲区是否为空。
s403、判断驱动的有序缓冲区是否已满,若否,则进入s304:
当驱动的发送缓冲区不为空时,进一步判断驱动的txfifo(有序缓冲区)是否已满。
s404、从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列;
当驱动的有序缓冲区未满时,从发送缓冲区中将数据取出,并将取出的数据写入有序缓冲区的先入先出队列。
s405、将先入先出队列中的数据同步到缓冲区;
然后,将写入先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据。
s406、使用驱动中ioctl函数的读取数据缓冲区方法将缓冲区中的数据发送至调试串口;
当将服务器的数据存储后,进一步增加ipmi(intelligentplatformmanagementinterface,智能型平台管理接口)的用户自定义命令,即增加在ipmi标准之外的命令。在增加ipmi的用户自定义命令时,使用驱动中ioctl函数的读取数据缓冲区方法将缓冲区中的数据发送至调试串口。
s407、使用驱动中ioctl函数的写数据缓冲区方法,将通过调试串口输出的命令发送至驱动。
同时,通过增加在ipmi标准之外的命令,使用驱动中ioctl函数的写数据缓冲区方法,还可以将通过调试串口输出的命令发送至驱动。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先在串口驱动程序中增加缓冲区,在串口的发送中断中,判断驱动的发送缓冲区是否为空,当驱动的发送缓冲区不为空时,判断驱动的有序缓冲区是否已满,当驱动的有序缓冲区未满时,从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列,将先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据,然后使用驱动中ioctl函数的读取数据缓冲区方法将缓冲区中的数据发送至调试串口,使用驱动中ioctl函数的写数据缓冲区方法,将通过调试串口输出的命令发送至驱动,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
如图5所示,为本申请公开的一种数据处理系统实施例1的结构示意图,所述系统可以包括:
存储器501,用于存储应用程序与应用程序运行所产生的数据;
处理器502,用于运行所述应用程序以修改服务器串口驱动程序,以存储服务器的数据;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。
处理器502,还用于增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口。
当修改服务器串口驱动程序后,进一步增加ipmi(intelligentplatformmanagementinterface,智能型平台管理接口)的用户自定义命令,即增加在ipmi标准之外的命令。通过增加的智能型平台管理接口的用户自定义命令,以实现通过网络将存储的服务器的数据发送至debugconsole(调试串口)。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先修改服务器串口驱动程序,以存储服务器的数据,然后增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
如图6所示,为本申请公开的一种数据处理系统实施例2的结构示意图,所述系统可以包括:
存储器601,用于存储应用程序与应用程序运行所产生的数据;
处理器602,用于运行所述应用程序以在串口驱动程序中增加缓冲区;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。在对串口驱动程序进行修改时,首先可以通过在串口驱动程序中增加一个缓冲区。
处理器602,还用于在串口的发送中断中,将发送的字符同步拷贝到缓冲区中;
然后,在串口的发送中断中,把发送的字符同步拷贝到上述增加的缓冲区中,这一步相当于在调试串口做了hook(钩子函数)。
处理器602,还用于增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口。
当修改服务器串口驱动程序后,进一步增加ipmi(intelligentplatformmanagementinterface,智能型平台管理接口)的用户自定义命令,即增加在ipmi标准之外的命令。通过增加的智能型平台管理接口的用户自定义命令,以实现通过网络将存储的服务器的数据发送至debugconsole(调试串口)。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先在串口驱动程序中增加缓冲区,在串口的发送中断中,将发送的字符同步拷贝到缓冲区中,实现存储服务器的数据,然后增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
如图7所示,为本申请公开的一种数据处理系统实施例3的结构示意图,所述系统可以包括:
存储器701,用于存储应用程序与应用程序运行所产生的数据;
处理器702,用于运行所述应用程序以在串口驱动程序中增加缓冲区;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。在对串口驱动程序进行修改时,首先可以通过在串口驱动程序中增加一个缓冲区。
处理器702,还用于在串口的发送中断中,判断驱动的发送缓冲区是否为空;
然后,在串口的发送中断中,进一步对驱动的txbuffer(发送缓冲区)进行判断,判断驱动的发送缓冲区是否为空。
处理器702,还用于当驱动的发送缓冲区不为空时,判断驱动的有序缓冲区是否已满;
当驱动的发送缓冲区不为空时,进一步判断驱动的txfifo(有序缓冲区)是否已满。
处理器702,还用于当驱动的有序缓冲区未满时,从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列;
当驱动的有序缓冲区未满时,从发送缓冲区中将数据取出,并将取出的数据写入有序缓冲区的先入先出队列。
处理器702,还用于将先入先出队列中的数据同步到缓冲区;
然后,将写入先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据。
处理器702,还用于增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口。
当将服务器的数据存储后,进一步增加ipmi(intelligentplatformmanagementinterface,智能型平台管理接口)的用户自定义命令,即增加在ipmi标准之外的命令。通过增加的智能型平台管理接口的用户自定义命令,以实现通过网络将存储的服务器的数据发送至debugconsole(调试串口)。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先在串口驱动程序中增加缓冲区,在串口的发送中断中,判断驱动的发送缓冲区是否为空,当驱动的发送缓冲区不为空时,判断驱动的有序缓冲区是否已满,当驱动的有序缓冲区未满时,从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列,将先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据,然后增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
如图8所示,为本申请公开的一种数据处理系统实施例4的结构示意图,所述系统可以包括:
存储器801,用于存储应用程序与应用程序运行所产生的数据;
处理器802,用于运行所述应用程序以在串口驱动程序中增加缓冲区;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。在对串口驱动程序进行修改时,首先可以通过在串口驱动程序中增加一个缓冲区。
处理器802,还用于在串口的发送中断中,判断驱动的发送缓冲区是否为空;
然后,在串口的发送中断中,进一步对驱动的txbuffer(发送缓冲区)进行判断,判断驱动的发送缓冲区是否为空。
处理器802,还用于当驱动的发送缓冲区不为空时,判断驱动的有序缓冲区是否已满;
当驱动的发送缓冲区不为空时,进一步判断驱动的txfifo(有序缓冲区)是否已满。
处理器802,还用于当驱动的有序缓冲区未满时,从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列;
当驱动的有序缓冲区未满时,从发送缓冲区中将数据取出,并将取出的数据写入有序缓冲区的先入先出队列。
处理器802,还用于将先入先出队列中的数据同步到缓冲区;
然后,将写入先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据。
处理器802,还用于使用驱动中ioctl函数的读取数据缓冲区方法将缓冲区中的数据发送至调试串口;
当将服务器的数据存储后,进一步增加ipmi(intelligentplatformmanagementinterface,智能型平台管理接口)的用户自定义命令,即增加在ipmi标准之外的命令。在增加ipmi的用户自定义命令时,使用驱动中ioctl函数的读取数据缓冲区方法将缓冲区中的数据发送至调试串口。
处理器802,还用于使用驱动中ioctl函数的写数据缓冲区方法,将通过调试串口输出的命令发送至驱动。
同时,通过增加在ipmi标准之外的命令,使用驱动中ioctl函数的写数据缓冲区方法,还可以将通过调试串口输出的命令发送至驱动。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先在串口驱动程序中增加缓冲区,在串口的发送中断中,判断驱动的发送缓冲区是否为空,当驱动的发送缓冲区不为空时,判断驱动的有序缓冲区是否已满,当驱动的有序缓冲区未满时,从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列,将先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据,然后使用驱动中ioctl函数的读取数据缓冲区方法将缓冲区中的数据发送至调试串口,使用驱动中ioctl函数的写数据缓冲区方法,将通过调试串口输出的命令发送至驱动,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。