CN109086208B - 一种数据处理方法及*** - Google Patents

一种数据处理方法及*** Download PDF

Info

Publication number
CN109086208B
CN109086208B CN201810883974.7A CN201810883974A CN109086208B CN 109086208 B CN109086208 B CN 109086208B CN 201810883974 A CN201810883974 A CN 201810883974A CN 109086208 B CN109086208 B CN 109086208B
Authority
CN
China
Prior art keywords
data
serial port
driver
buffer area
buffer
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.)
Active
Application number
CN201810883974.7A
Other languages
English (en)
Other versions
CN109086208A (zh
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 Beijing Ltd
Original Assignee
Lenovo Beijing 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 Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201810883974.7A priority Critical patent/CN109086208B/zh
Publication of CN109086208A publication Critical patent/CN109086208A/zh
Application granted granted Critical
Publication of CN109086208B publication Critical patent/CN109086208B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种数据处理方法及***,方法包括:修改服务器串口驱动程序,以存储服务器的数据,增加智能型平台管理接口的用户自定义命令,以通过网络将所述数据发送至调试串口。本申请实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。

Description

一种数据处理方法及***
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理方法及***。
背景技术
目前,当用户的服务器出现故障时,BMC(Baseboard Management Controller,主板管理控制器)要打印debug信息,调试人员需要到用户现场,插上debug console(调试串口),通过现场的debug console打印调试信息。如果调试人员不能去用户现场,或不能及时到达用户现场,调试人员则无法进行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(Intelligent PlatformManagement Interface,智能型平台管理接口)的用户自定义命令,即增加在IPMI标准之外的命令。通过增加的智能型平台管理接口的用户自定义命令,以实现通过网络将存储的服务器的数据发送至debug console(调试串口)。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先修改服务器串口驱动程序,以存储服务器的数据,然后增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
如图2所示,为本申请公开的一种数据处理方法实施例2的流程图,所述方法可以包括以下步骤:
S201、在串口驱动程序中增加缓冲区;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。在对串口驱动程序进行修改时,首先可以通过在串口驱动程序中增加一个缓冲区。
S202、在串口的发送中断中,将发送的字符同步拷贝到缓冲区中;
然后,在串口的发送中断中,把发送的字符同步拷贝到上述增加的缓冲区中,这一步相当于在调试串口做了hook(钩子函数)。
S203、增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口。
当修改服务器串口驱动程序后,进一步增加IPMI(Intelligent PlatformManagement Interface,智能型平台管理接口)的用户自定义命令,即增加在IPMI标准之外的命令。通过增加的智能型平台管理接口的用户自定义命令,以实现通过网络将存储的服务器的数据发送至debug console(调试串口)。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先在串口驱动程序中增加缓冲区,在串口的发送中断中,将发送的字符同步拷贝到缓冲区中,实现存储服务器的数据,然后增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
如图3所示,为本申请公开的一种数据处理方法实施例3的流程图,所述方法可以包括以下步骤:
S301、在串口驱动程序中增加缓冲区;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。在对串口驱动程序进行修改时,首先可以通过在串口驱动程序中增加一个缓冲区。
S302、在串口的发送中断中,判断驱动的发送缓冲区是否为空,若否,则进入S303:
然后,在串口的发送中断中,进一步对驱动的TX buffer(发送缓冲区)进行判断,判断驱动的发送缓冲区是否为空。
S303、判断驱动的有序缓冲区是否已满,若否,则进入S304:
当驱动的发送缓冲区不为空时,进一步判断驱动的TX FIFO(有序缓冲区)是否已满。
S304、从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列;
当驱动的有序缓冲区未满时,从发送缓冲区中将数据取出,并将取出的数据写入有序缓冲区的先入先出队列。
S305、将先入先出队列中的数据同步到缓冲区;
然后,将写入先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据。
S306、增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口。
当将服务器的数据存储后,进一步增加IPMI(Intelligent Platform ManagementInterface,智能型平台管理接口)的用户自定义命令,即增加在IPMI标准之外的命令。通过增加的智能型平台管理接口的用户自定义命令,以实现通过网络将存储的服务器的数据发送至debug console(调试串口)。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先在串口驱动程序中增加缓冲区,在串口的发送中断中,判断驱动的发送缓冲区是否为空,当驱动的发送缓冲区不为空时,判断驱动的有序缓冲区是否已满,当驱动的有序缓冲区未满时,从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列,将先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据,然后增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
如图4所示,为本申请公开的一种数据处理方法实施例4的流程图,所述方法可以包括以下步骤:
S401、在串口驱动程序中增加缓冲区;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。在对串口驱动程序进行修改时,首先可以通过在串口驱动程序中增加一个缓冲区。
S402、在串口的发送中断中,判断驱动的发送缓冲区是否为空,若否,则进入S403:
然后,在串口的发送中断中,进一步对驱动的TX buffer(发送缓冲区)进行判断,判断驱动的发送缓冲区是否为空。
S403、判断驱动的有序缓冲区是否已满,若否,则进入S304:
当驱动的发送缓冲区不为空时,进一步判断驱动的TX FIFO(有序缓冲区)是否已满。
S404、从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列;
当驱动的有序缓冲区未满时,从发送缓冲区中将数据取出,并将取出的数据写入有序缓冲区的先入先出队列。
S405、将先入先出队列中的数据同步到缓冲区;
然后,将写入先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据。
S406、使用驱动中ioctl函数的读取数据缓冲区方法将缓冲区中的数据发送至调试串口;
当将服务器的数据存储后,进一步增加IPMI(Intelligent Platform ManagementInterface,智能型平台管理接口)的用户自定义命令,即增加在IPMI标准之外的命令。在增加IPMI的用户自定义命令时,使用驱动中ioctl函数的读取数据缓冲区方法将缓冲区中的数据发送至调试串口。
S407、使用驱动中ioctl函数的写数据缓冲区方法,将通过调试串口输出的命令发送至驱动。
同时,通过增加在IPMI标准之外的命令,使用驱动中ioctl函数的写数据缓冲区方法,还可以将通过调试串口输出的命令发送至驱动。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先在串口驱动程序中增加缓冲区,在串口的发送中断中,判断驱动的发送缓冲区是否为空,当驱动的发送缓冲区不为空时,判断驱动的有序缓冲区是否已满,当驱动的有序缓冲区未满时,从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列,将先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据,然后使用驱动中ioctl函数的读取数据缓冲区方法将缓冲区中的数据发送至调试串口,使用驱动中ioctl函数的写数据缓冲区方法,将通过调试串口输出的命令发送至驱动,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
如图5所示,为本申请公开的一种数据处理***实施例1的结构示意图,所述***可以包括:
存储器501,用于存储应用程序与应用程序运行所产生的数据;
处理器502,用于运行所述应用程序以修改服务器串口驱动程序,以存储服务器的数据;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。
处理器502,还用于增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口。
当修改服务器串口驱动程序后,进一步增加IPMI(Intelligent PlatformManagement Interface,智能型平台管理接口)的用户自定义命令,即增加在IPMI标准之外的命令。通过增加的智能型平台管理接口的用户自定义命令,以实现通过网络将存储的服务器的数据发送至debug console(调试串口)。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先修改服务器串口驱动程序,以存储服务器的数据,然后增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
如图6所示,为本申请公开的一种数据处理***实施例2的结构示意图,所述***可以包括:
存储器601,用于存储应用程序与应用程序运行所产生的数据;
处理器602,用于运行所述应用程序以在串口驱动程序中增加缓冲区;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。在对串口驱动程序进行修改时,首先可以通过在串口驱动程序中增加一个缓冲区。
处理器602,还用于在串口的发送中断中,将发送的字符同步拷贝到缓冲区中;
然后,在串口的发送中断中,把发送的字符同步拷贝到上述增加的缓冲区中,这一步相当于在调试串口做了hook(钩子函数)。
处理器602,还用于增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口。
当修改服务器串口驱动程序后,进一步增加IPMI(Intelligent PlatformManagement Interface,智能型平台管理接口)的用户自定义命令,即增加在IPMI标准之外的命令。通过增加的智能型平台管理接口的用户自定义命令,以实现通过网络将存储的服务器的数据发送至debug console(调试串口)。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先在串口驱动程序中增加缓冲区,在串口的发送中断中,将发送的字符同步拷贝到缓冲区中,实现存储服务器的数据,然后增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
如图7所示,为本申请公开的一种数据处理***实施例3的结构示意图,所述***可以包括:
存储器701,用于存储应用程序与应用程序运行所产生的数据;
处理器702,用于运行所述应用程序以在串口驱动程序中增加缓冲区;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。在对串口驱动程序进行修改时,首先可以通过在串口驱动程序中增加一个缓冲区。
处理器702,还用于在串口的发送中断中,判断驱动的发送缓冲区是否为空;
然后,在串口的发送中断中,进一步对驱动的TX buffer(发送缓冲区)进行判断,判断驱动的发送缓冲区是否为空。
处理器702,还用于当驱动的发送缓冲区不为空时,判断驱动的有序缓冲区是否已满;
当驱动的发送缓冲区不为空时,进一步判断驱动的TX FIFO(有序缓冲区)是否已满。
处理器702,还用于当驱动的有序缓冲区未满时,从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列;
当驱动的有序缓冲区未满时,从发送缓冲区中将数据取出,并将取出的数据写入有序缓冲区的先入先出队列。
处理器702,还用于将先入先出队列中的数据同步到缓冲区;
然后,将写入先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据。
处理器702,还用于增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口。
当将服务器的数据存储后,进一步增加IPMI(Intelligent Platform ManagementInterface,智能型平台管理接口)的用户自定义命令,即增加在IPMI标准之外的命令。通过增加的智能型平台管理接口的用户自定义命令,以实现通过网络将存储的服务器的数据发送至debug console(调试串口)。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先在串口驱动程序中增加缓冲区,在串口的发送中断中,判断驱动的发送缓冲区是否为空,当驱动的发送缓冲区不为空时,判断驱动的有序缓冲区是否已满,当驱动的有序缓冲区未满时,从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列,将先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据,然后增加智能型平台管理接口的用户自定义命令,以通过网络将数据发送至调试串口,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
如图8所示,为本申请公开的一种数据处理***实施例4的结构示意图,所述***可以包括:
存储器801,用于存储应用程序与应用程序运行所产生的数据;
处理器802,用于运行所述应用程序以在串口驱动程序中增加缓冲区;
当需要获取服务器出现故障时的debug信息时,首先对服务器的串口驱动程序进行修改,通过对串口驱动程序的修改,以实现能够存储服务器的数据。在对串口驱动程序进行修改时,首先可以通过在串口驱动程序中增加一个缓冲区。
处理器802,还用于在串口的发送中断中,判断驱动的发送缓冲区是否为空;
然后,在串口的发送中断中,进一步对驱动的TX buffer(发送缓冲区)进行判断,判断驱动的发送缓冲区是否为空。
处理器802,还用于当驱动的发送缓冲区不为空时,判断驱动的有序缓冲区是否已满;
当驱动的发送缓冲区不为空时,进一步判断驱动的TX FIFO(有序缓冲区)是否已满。
处理器802,还用于当驱动的有序缓冲区未满时,从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列;
当驱动的有序缓冲区未满时,从发送缓冲区中将数据取出,并将取出的数据写入有序缓冲区的先入先出队列。
处理器802,还用于将先入先出队列中的数据同步到缓冲区;
然后,将写入先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据。
处理器802,还用于使用驱动中ioctl函数的读取数据缓冲区方法将缓冲区中的数据发送至调试串口;
当将服务器的数据存储后,进一步增加IPMI(Intelligent Platform ManagementInterface,智能型平台管理接口)的用户自定义命令,即增加在IPMI标准之外的命令。在增加IPMI的用户自定义命令时,使用驱动中ioctl函数的读取数据缓冲区方法将缓冲区中的数据发送至调试串口。
处理器802,还用于使用驱动中ioctl函数的写数据缓冲区方法,将通过调试串口输出的命令发送至驱动。
同时,通过增加在IPMI标准之外的命令,使用驱动中ioctl函数的写数据缓冲区方法,还可以将通过调试串口输出的命令发送至驱动。
综上所述,在上述实施例中,当需要获取服务器出现故障时的debug信息时,首先在串口驱动程序中增加缓冲区,在串口的发送中断中,判断驱动的发送缓冲区是否为空,当驱动的发送缓冲区不为空时,判断驱动的有序缓冲区是否已满,当驱动的有序缓冲区未满时,从发送缓冲区中取出数据,写入有序缓冲区的先入先出队列,将先入先出队列中的数据同步到缓冲区,以实现存储服务器的数据,然后使用驱动中ioctl函数的读取数据缓冲区方法将缓冲区中的数据发送至调试串口,使用驱动中ioctl函数的写数据缓冲区方法,将通过调试串口输出的命令发送至驱动,实现了无需调试人员到达用户现场就能获取到服务器出现故障时的debug信息,使得调试人员能够尽快对用户的服务器进行调试,提升了用户体验。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (4)

1.一种数据处理方法,其特征在于,包括:
修改服务器串口驱动程序,以存储所述服务器的数据,其中包括:在串口驱动程序中增加缓冲区,在串口的发送中断中,将发送的字符同步拷贝到所述缓冲区中;
增加智能型平台管理接口标准之外的用户自定义命令,以通过网络将所述数据发送至调试串口;
所述在串口的发送中断中,将发送的字符同步拷贝到所述缓冲区中包括:
在串口的发送中断中,判断驱动的发送缓冲区是否为空,若否,则:
判断驱动的有序缓冲区是否已满,若否,则:
从所述发送缓冲区中取出数据,写入所述有序缓冲区的先入先出队列;
将所述先入先出队列中的数据同步到所述缓冲区;
所述增加智能型平台管理接口的用户自定义命令,以通过网络将所述数据发送至调试串口包括:
使用驱动中ioctl函数的读取数据缓冲区方法将所述缓冲区中的数据发送至所述调试串口。
2.根据权利要求1所述的方法,其特征在于,还包括:
使用驱动中ioctl函数的写数据缓冲区方法,将通过所述调试串口输出的命令发送至驱动。
3.一种数据处理***,其特征在于,包括:
存储器,用于存储应用程序与应用程序运行所产生的数据;
处理器,用于运行所述应用程序以修改服务器串口驱动程序,以存储所述服务器的数据,其中包括:在串口驱动程序中增加缓冲区,在串口的发送中断中,将发送的字符同步拷贝到所述缓冲区中;
所述处理器,还用于增加智能型平台管理接口标准之外的用户自定义命令,以通过网络将所述数据发送至调试串口;
所述处理器在在串口的发送中断中,将发送的字符同步拷贝到所述缓冲区中时,具体用于:
在串口的发送中断中,判断驱动的发送缓冲区是否为空,若否,则:
判断驱动的有序缓冲区是否已满,若否,则:
从所述发送缓冲区中取出数据,写入所述有序缓冲区的先入先出队列;
将所述先入先出队列中的数据同步到所述缓冲区;
所述处理器在增加智能型平台管理接口的用户自定义命令,以通过网络将所述数据发送至调试串口时,具体用于:
使用驱动中ioctl函数的读取数据缓冲区方法将所述缓冲区中的数据发送至所述调试串口。
4.根据权利要求3所述的***,其特征在于,所述处理器还用于:
使用驱动中ioctl函数的写数据缓冲区方法,将通过所述调试串口输出的命令发送至驱动。
CN201810883974.7A 2018-08-06 2018-08-06 一种数据处理方法及*** Active CN109086208B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810883974.7A CN109086208B (zh) 2018-08-06 2018-08-06 一种数据处理方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810883974.7A CN109086208B (zh) 2018-08-06 2018-08-06 一种数据处理方法及***

Publications (2)

Publication Number Publication Date
CN109086208A CN109086208A (zh) 2018-12-25
CN109086208B true CN109086208B (zh) 2021-10-22

Family

ID=64833940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810883974.7A Active CN109086208B (zh) 2018-08-06 2018-08-06 一种数据处理方法及***

Country Status (1)

Country Link
CN (1) CN109086208B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866976A (zh) * 2012-09-17 2013-01-09 山东神戎电子股份有限公司 一种嵌入式***中串口分时复用方法
CN104951395A (zh) * 2014-03-27 2015-09-30 浙江大华技术股份有限公司 一种嵌入式***调试信息处理方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101238383B (zh) * 2005-06-08 2011-10-05 Nxp股份有限公司 Gps处理装置
CN1702638A (zh) * 2005-06-08 2005-11-30 武汉虹信通信技术有限责任公司 一种提高嵌入式***串行数据处理能力的方法
CN100511164C (zh) * 2007-08-13 2009-07-08 中兴通讯股份有限公司 在dsp上利用同步串口输出异步串口调试信息的方法
CN101853177B (zh) * 2010-05-05 2013-06-19 四川九洲电器集团有限责任公司 一种带usb接口的m2m模块的驱动装置
CN102281254B (zh) * 2010-06-10 2015-04-08 南陵县生产力促进中心 服务器串口设计***及方法
CN102629240B (zh) * 2012-02-13 2015-04-22 上海创远仪器技术股份有限公司 一种串口通信方法与装置
CN104008008B (zh) * 2014-06-17 2019-02-22 厦门雅迅网络股份有限公司 一种Linux***中复用调试串口的方法
CN104965700B (zh) * 2015-06-09 2018-07-03 航天科工深圳(集团)有限公司 VxWorks操作***下实现驱动SPI设备的方法和***
CN105045756B (zh) * 2015-08-21 2018-09-28 上海斐讯数据通信技术有限公司 一种串口数据处理方法及***
CN105959160A (zh) * 2016-07-01 2016-09-21 瑞斯康达科技发展股份有限公司 一种调试信息的传输方法及装置
CN107302531A (zh) * 2017-06-19 2017-10-27 青岛华潞佳电子科技有限公司 一种基于状态机和环形队列的串口命令解析方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866976A (zh) * 2012-09-17 2013-01-09 山东神戎电子股份有限公司 一种嵌入式***中串口分时复用方法
CN104951395A (zh) * 2014-03-27 2015-09-30 浙江大华技术股份有限公司 一种嵌入式***调试信息处理方法及装置

Also Published As

Publication number Publication date
CN109086208A (zh) 2018-12-25

Similar Documents

Publication Publication Date Title
US7870296B2 (en) High availability system and execution state control method
US8843663B2 (en) Data transmission device and method for merging multiple commands
CN108989432B (zh) 用户态的文件发送方法、文件接收方法和文件收发装置
US10116746B2 (en) Data storage method and network interface card
EP2557494A1 (en) Storage apparatus and data copy method between thin-provisioning virtual volumes
US9473273B2 (en) Memory system capable of increasing data transfer efficiency
CN115617718B (zh) 一种基于AXI总线的读写保序方法及SoC***
KR101867336B1 (ko) 다중 프로세서를 지원하는 인터럽트 발생을 위한 장치 및 방법
CN101447931B (zh) 一种排他操作的实现方法和装置
US8199648B2 (en) Flow control in a variable latency system
CN109086208B (zh) 一种数据处理方法及***
CN109408281A (zh) 用于无头服务器可管理性和自主日志记录的技术
CN105391755A (zh) 一种分布式***中数据处理方法、装置及***
WO2023035754A1 (zh) 权限同步方法、装置、电子设备与存储介质
CN110445580A (zh) 数据发送方法及装置、存储介质、电子装置
JP2013015990A (ja) 情報処理システム、情報処理プログラム、情報処理方法
CN114579319A (zh) 显存管理方法、显存管理模块、soc及电子设备
CN109800202B (zh) 一种基于pcie的数据传输***、方法及装置
US6665752B1 (en) Interrupt driven interface coupling a programmable media access controller and a process controller
WO2014087654A1 (ja) データ送信装置、データ送信方法、及び記録媒体
CN116881091B (zh) ***事件日志上报方法、装置、芯片、设备及存储介质
CN111427815A (zh) 一种基于spi接口的核间通讯方法、终端及存储介质
CN116226021B (zh) 数据收发方法、装置以及图形处理器
JP2853607B2 (ja) ジョブ間通信システム
CN115129632A (zh) 数据处理方法、相关装置及计算机可读存储介质

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
GR01 Patent grant
GR01 Patent grant