CN116841936B - 一种多设备的数据处理方法、装置、系统和计算机设备 - Google Patents
一种多设备的数据处理方法、装置、系统和计算机设备 Download PDFInfo
- Publication number
- CN116841936B CN116841936B CN202311094899.3A CN202311094899A CN116841936B CN 116841936 B CN116841936 B CN 116841936B CN 202311094899 A CN202311094899 A CN 202311094899A CN 116841936 B CN116841936 B CN 116841936B
- Authority
- CN
- China
- Prior art keywords
- control data
- data
- host
- preset value
- sending
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 18
- 230000002093 peripheral effect Effects 0.000 claims abstract description 148
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000009825 accumulation Methods 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 239000000725 suspension Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/44—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Abstract
本发明涉及计算机技术领域,特别是涉及一种多设备的数据处理方法、装置、系统和计算机设备。所述方法包括:接收每个外设产生的控制数据;对接收到的控制数据进行分类得到若干个类别的控制数据;每间隔一个第一预设时间,判断所有类别的控制数据的数据总量是否大于第一预设值,若否,则将所有类别的控制数据全部发送给主机;若是,则判断主机是否有空线程,若主机有空线程,则根据空线程的数量在所有类别的控制数据中选取若干数量的控制数据发送给主机;若主机没有空线程,则根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机。本发明从协助主机处理数据和与主机分担保存数据上解决了主机数据堆积的问题。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种多设备的数据处理方法、装置、系统和计算机设备。
背景技术
游戏外设指的是用于增强游戏体验的附加设备,其主要功能是提供更方便、更精确、更沉浸式的控制和互动方式。游戏外设的意义在于满足不同玩家对游戏控制和交互的个性化需求,使玩家更好地享受游戏过程。外设的定制化和专业化设计,可以提供更符合玩家习惯和游戏需求的操作方式,从而提高游戏的乐趣和竞争力。
目前游戏外设与主机的连接方式为主机设置多个接口,每个外设单独连接一个接口。主机可以按设定的频率轮询每个接口的数据,当查询到某个数据接口有数据传输到主机使,处理接收到的数据;主机也可以同时监测每个接口,当接口有数据到来时,将数据读取并传输到相应的处理线程。
如果主机按设定的频率轮询每个接口的数据,那么未轮询到的接口会出现数据堆积的问题,如果主机同时监测每个接口,当数据量较大时,也会出现数据堆积的问题。目前的这种连接方式在数据处理的过程中会出现数据堆积的问题。
发明内容
基于此,有必要针对上述的问题,提供一种多设备的数据处理方法、装置、系统和计算机设备。
本发明实施例是这样实现的,一种多设备的数据处理方法,应用于中间外设,所述多设备的数据处理方法包括:
S101,接收每个外设产生的控制数据;
S102,当满足时间条件或者数据量条件时,将接收到的控制数据进行分类得到若干个类别的控制数据;
S103,每隔一个第一预设时间,判断所有类别的控制数据的数据总量是否大于第一预设值,若否,则将所有类别的控制数据全部发送给主机;
S104,若所有类别的控制数据的数据总量大于第一预设值,则判断主机是否有空线程,若是,则根据空线程的数量在所有类别的控制数据中选取若干数量的控制数据发送给主机;
S105,若主机没有空线程,则根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机;
其中,主机与中间外设相连,中间外设与除中间外设之外的各个外设相连。
在其中一个实施例中,本发明提供了一种多设备的数据处理装置,所述多设备的数据处理装置包括:
数据接收模块,用于接收每个外设产生的控制数据;
数据分类模块,用于当满足时间条件或者数据量条件时,将接收到的控制数据进行分类得到若干个类别的控制数据;
第一发送模块,用于每隔一个第一预设时间,判断所有类别的控制数据的数据总量是否大于第一预设值,若否,则将所有类别的控制数据全部发送给主机;
第二发送模块,用于若所有类别的控制数据的数据总量大于第一预设值,则判断主机是否有空线程,若是,则根据空线程的数量在所有类别的控制数据中选取若干数量的控制数据发送给主机;
第三发送模块,用于若主机没有空线程,则根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机;
其中,主机与中间外设相连,中间外设与除中间外设之外的各个外设相连。
在其中一个实施例中,本发明提供了一种多设备的数据处理系统,所述多设备的数据处理系统包括主机、中间外设和其他外设;
所述主机与所述中间外设相连,用于每隔一个第一预设时间,向所述中间外设发送队列区的等待情况,接收所述中间外设发送的控制数据;
所述中间外设用于执行上述多设备的数据处理方法的步骤;
所述其他外设与所述中间外设相连,用于向中间外设发送控制数据。
在其中一个实施例中,本发明提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述多设备的数据处理方法的步骤。
本发明实施例提供的多设备的数据处理方法通过中间外设接收每个外设产生的控制数据,对接收到的控制数据进行分类得到若干个类别的控制数据。每间隔一个第一预设时间,判断所有类别的控制数据的数据总量是否大于第一预设值;若否,则将所有类别的控制数据全部发送给主机;若是,则判断主机是否有空线程;若有空线程,则根据空线程的数量在所有类别的控制数据中选取若干数量的控制数据发送给主机;若没有空线程,则根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机。本发明利用中间外设对数据进行分类,减轻主机数据处理的压力,再根据主机空线程的状态向主机发送若干数量的控制数据,避免了主机因需要处理数据过多而无法及时处理数据,而且未发送给主机的数据暂存于中间外设,减轻了主机存储容量的负担,从协助主机处理数据和与主机分担保存数据这两方面解决了主机数据堆积的问题。
附图说明
图1为一个实施例中多设备的数据处理方法的流程图;
图2为一个实施例中多设备的数据处理装置的结构框图;
图3为一个实施例中多设备的数据处理系统的环境图;
图4为一个实施例中计算机设备的内部结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一xx脚本称为第二xx脚本,且类似地,可将第二xx脚本称为第一xx脚本。
如图1所示,在一个实施例中,提出了一种多设备的数据处理方法,具体可以包括以下步骤:
S101,接收每个外设产生的控制数据;
S102,当满足时间条件或者数据量条件时,将接收到的控制数据进行分类得到若干个类别的控制数据;
S103,每隔一个第一预设时间,判断所有类别的控制数据的数据总量是否大于第一预设值,若否,则将所有类别的控制数据全部发送给主机;
S104,若所有类别的控制数据的数据总量大于第一预设值,则判断主机是否有空线程,若是,则根据空线程的数量在所有类别的控制数据中选取若干数量的控制数据发送给主机;
S105,若主机没有空线程,则根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机;
其中,主机与中间外设相连,中间外设与除中间外设之外的各个外设相连。
在本实施例中,在S101中,外设是指主机之外的外围设备,包括输入设备和输出设备,比如说,若主机运行的是赛车游戏,外设包括方向盘、踏板、游戏手柄等外围设备。
在本实施例中,在S101中,接收每个外设产生的控制数据包括了中间外设本身产生的控制数据。
在本实施例中,在S101中,在外设通电后,外设不断的产生控制数据,所以中间外设一直在接收数据。
在本实施例中,在S102中,满足时间条件或者数据量条件任意一个条件都可以对接收到的控制数据进行分类得到若干个类别的控制数据。
在本实施例中,在S102中,对控制数据进行分类的目的是要确定控制数据的优先级,控制数据的优先级有类型优先级和时间优先级,越靠前的类别优先级越高,每个类别中的控制数据时间越先越靠前,优先级也就越高。
在本实施例中,在S103中,第一预设时间是主机向中间外设定时发送队列区的等待情况的时间,即主机每隔一个第一预设时间就会通知中间外设主机的每个线程当前待处理的控制数据的数据量和主机队列区待处理的控制数据的数据量,第一预设时间本质上也是中间外设向主机发送控制数据的间隔时间。
在本实施例中,主机队列区是指主机的缓存区,用于缓存还未处理的控制数据。
在本实施例中,在S103中,为了不造成数据堆积,每次传输的数据量不能超过主机在第一预设时间内能处理的最大数据量,以保证主机可以及时处理中间外设发送过去的数据量,这个最大数据量就是第一预设值,比如说,第一预设时间是1s,主机的最大数据处理速度10m/s,那么主机在第一预设时间内能处理的最大数据量是10m,所以第一预设值就是10m。
在本实施例中,在S103中,若中间外设缓存的控制数据的数据总量小于第一预设值,那么不需考虑主机每个线程当前等待处理的数据量和队列区待处理的数据量,直接将中间外设缓存的控制数据量发送给主机,这是因为主机在第一预设时间内的最大处理数据量是第一预设值,若发送给主机的控制数据小于第一预设值,那么对于主机而言,处理的数据量是要大于接收的数据量,所以不会造成数据堆积。
在本实施例中,中间外设缓存的控制数据为经中间外设分类后的控制数据。
在本实施例中,在S104中,空线程是指没有数据等待处理的线程,因为每隔一个第一预设时间,中间外设才会向主机发送数据,在时间间隔期间,若主机的线程上的数据处理完毕,就会出现空线程。
在本实施例中,在S105中,第二预设值是主机队列区和中间外设暂缓区的容量大小之比。
在本实施例中,中间外设暂缓区用于缓存中间外设中经过分类后还没有发送给主机的控制数据。
在本实施例中,在S105中,没有空线程,代表主机队列区待处理的数据较多,所以中间外设发送给主机的控制数据的数据量需要根据主机队列区和中间外设暂缓区的容量之比以及主机队列区待处理的控制数据的数据量与中间外设暂缓区的待发送的控制数据的数据量之比而定。
本发明实施例提供的多设备的数据处理方法通过中间外设接收每个外设产生的控制数据,对接收到的控制数据进行分类得到若干个类别的控制数据。每间隔一个第一预设时间,判断所有类别的控制数据的数据总量是否大于第一预设值;若否,则将所有类别的控制数据全部发送给主机;若是,则判断主机是否有空线程;若有空线程,则根据空线程的数量在所有类别的控制数据中选取若干数量的控制数据发送给主机;若没有空线程,则根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机。本发明利用中间外设对数据进行分类,减轻主机数据处理的压力,再根据主机空线程的状态向主机发送若干数量的控制数据,避免了主机因需要处理数据过多而无法及时处理数据,而且未发送给主机的数据暂存于中间外设,减轻了主机存储容量的负担,从协助主机处理数据和与主机分担保存数据这两方面解决了主机数据堆积的问题。
在一个实施例中,所述当满足时间条件或者数据量条件时,将接收到的控制数据进行分类得到若干个类别的控制数据,包括:
S201,判断距离上一次把接收到的控制数据进行分类的时间间隔是否达到第二预设时间,若是,则满足时间条件;
S202,判断接收到的控制数据的数据量与上一次接收到的控制数据的数据量的差值是否达到第三预设值,若是,则满足数据量条件;
S203,若满足时间条件或者数据量条件中任意一个,则将接收到的控制数据进行分类得到若干个类别的控制数据;
S204,若时间条件或者数据量条件都不满足,则继续接收每个外设产生的控制数据;
S205,重复S201~S204,直到将接收到的控制数据进行分类得到若干个类别的控制数据。
在本实施例中,S201中,若控制数据还没有进行第一次分类,那么把开始接收控制数据的时间点记为0时刻,第一次把接收到的控制数据进行分类的时间条件就是从0时刻开始算起经过第二预设时间的时刻。
在本实施例中,S201中,第二预设时间不能大于第一预设时间,这样才能保证每次中间外设向主机传输数据之前就已经对外设产生的控制数据进行分类。
在本实施例中,S202中,为了防止在第二预设时间内产生大量的控制数据而没有及时的分类,设置第三预设值作为数据量条件,第三预设值为所有外设产生控制数据的平均速度在第二预设时间产生控制数据的数据量的值。
在本实施例中,通过设置时间条件和数据量条件,就可以避免因产生的控制数据过少而长时间没有对控制数据进行分类或者在第二预设时间内产生过多的控制数据而没有及时对控制数据进行分类的问题。
在一个实施例中,所述将接收到的控制数据进行分类得到若干个类别的控制数据,包括:
根据优先级设置四个类别,按照优先级的先后顺序记为操控类、设置类、后台交互类和其他类;
将接收到的控制数据划分进四个类别中;
将每个类别的控制数据按控制数据产生的时间进行排序,得到四个类别的控制数据。
在本实施例中,优先级的顺序为操控类内的控制数据大于设置类内的控制数据大于后台交互类内的控制数据大于其他类内的控制数据,每个类别中先产生的控制数据的优先级在各自的类别中高于后产生的控制数据的优先级。
在一个实施例中,所述根据空线程的数量在所有类别的控制数据中选取若干数量的控制数据发送给主机,包括:
判断空线程的数量是否达到第四预设值,若是,根据类别的优先级选择数据量为第一预设值的控制数据发送给主机;
若空线程的数量没有到达第四预设值,则根据控制数据产生的时间先后顺序选择数据量的值为空线程的数量的倍数且数据量不大于第一预设值的控制数据发送给主机。
在本实施例中,第四预设值可以设置为主机总线程的一半,出现空线程代表主机有多余的计算资源可以用于控制数据的处理。
在本实施例中,当空线程超过总线程的一半时,代表主机有一半的计算资源处于空闲状态,此时只需要直接按照类别的优先级选择数据量。
在本实施例中,因为已经判断过中间外设暂缓区待发送的控制数据的数据量超过第一预设值,而主机在第一预设时间内的最大处理数据量是第一预设值,每次向主机发送的控制数据的数据量不能大于第一预设值,所以当空线程的数量达到第四预设值时,发送允许发送的最大数据量的控制数据给主机,即发送数据量为第一预设值的控制数据给主机。
在本实施例中,若空线程的数据量没有达到第四预设值,使用多余的计算资源优先处理最早产生的控制数据。
在本实施例中,选择数据量的值为空线程的数量的倍数的控制数据是因为存在空线程,传输的控制数据的数据量要尽可能的多,所以传输的控制数据的数据量就得尽量接近第一预设值,但是空线程的数量是一个变化的值,所以选择空线程的数量的倍数作为选择的控制数据的数据量的值使选择的控制数据的数据量尽量接近第一预设值。
在一个实施例中,所述根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机,包括:
由得到第二预设值a;
由得到传输数据量q;
判断q是否大于第一预设值,若否,则根据类别的优先级选择数据量为q的控制数据发送给主机;
若q大于第一预设值,则根据类别的优先级选择数据量为第一预设值的控制数据发送给主机;
其中,D1是主机队列区的容量,D2是中间外设暂缓区的容量,D3是主机队列区待处理的数据量,D4是中间外设暂缓区待发送的数据量。
在本实施例中,D1是主机队列区的容量,D2是中间外设暂缓区的容量,这两个容量都定值的,所以第二预设值a也是一个定值。
在本实施例中,本质是从中间外设接收的控制数据中选取若干个控制数据,传输给主机,使主机队列区待处理的数据量与中间外设暂缓区待发送的数据量之比等于主机队列区的容量与中间外设暂缓区的容量之比。在此过程中,由于第一预设值的限制或者主机通知频率的迟延,通过这种方式的处理并不能保证主机与中间外设的数据量处于目标比例,但是总是通过该过程使之趋近于给定的容量大小之比。
在本实施例中,因为已经判断过中间外设暂缓区待发送的控制数据的数据量超过第一预设值,所以D4大于第一预设值。D3的控制数据为上一次中间外设发送给主机的控制数据,主机在第一预设时间的处理的最大数据量为第一预设值,每次发送的控制数据不超过第一预设值,所以D3小于第一预设值。所以D3小于D4,而且对于D3而言,如果中间外设没有向主机发送数据,D3就会不断的变小;对于D4而言,如果中间外设没有向主机发送数据,D4就会不断的变大,这样就会导致中间外设没有向主机发送数据的期间,D4远远大于D3。
在本实施例中,只要a*D4大于D3,那么q就是正值,而根据实际的情况,若主机队列区的容量大于等于中间外设暂缓区的容量,a必定大于等于1,a*D4必定大于D3,若主机队列区的容量小于中间外设暂缓区的容量,a必小于1,但是由于D4远远大于D3,必定会使a*D4大于D3。
在一个实施例中,所述判断主机是否有空线程,之前还包括:
接收主机发送的主机每个线程当前待处理的控制数据的数据量;
接收主机发送的主机队列区待处理的控制数据的数据量。
在本实施例中,主机每个线程当前待处理的控制数据的数据量的数据总量就是主机队列区待处理的控制数据的数据量,比如说主机有3个线程,主机每个线程当前待处理的控制数据的数据量分别是1m、2m、3m,那么主机队列区待处理的控制数据的数据量是1+2+3=6m,为了减少中间外设的计算流程,主机向中间外设发送队列区的等待情况时,直接发送3个线程待处理的控制数据的数据量1m、2m、3m以及主机队列区待处理的控制数据的数据量是6m。
在本实施例中,若线程当前待处理的控制数据的数据量为0,则该线程为空线程。
在一个实施例中,所述在所有类别的控制数据中选取若干数量的控制数据发送给主机,之前还包括:
判断当前主机的状态是否处于操控状态,若处于操控状态,则根据类别的优先级选择数据量;
若当前主机的状态没有处于操控状态,则将操控类的优先级移至最后,根据类别的优先级选择数据量。
在本实施例中,比如说,主机用于赛车游戏,那么操控状态就是主机处于游戏赛车画面的状态,如果主机处于游戏选择画面或设置画面,则主机没有处于操控状态。
在本实施例中,如果主机的状态没有处于操控状态,则将类型的优先级变为设置类、后台交互类、其他类和操控类,因为此时不产生操控类的控制数据,而是在设置或后台交互的过程,所以将操控类的优先级放到最后。
如图2所示,在一个实施例中,提供了一种多设备的数据处理装置,具体可以包括:
数据接收模块,用于接收每个外设产生的控制数据;
数据分类模块,用于当满足时间条件或者数据量条件时,将接收到的控制数据进行分类得到若干个类别的控制数据;
第一发送模块,用于每隔一个第一预设时间,判断所有类别的控制数据的数据总量是否大于第一预设值,若否,则将所有类别的控制数据全部发送给主机;
第二发送模块,用于若所有类别的控制数据的数据总量大于第一预设值,则判断主机是否有空线程,若是,则根据空线程的数量在所有类别的控制数据中选取若干数量的控制数据发送给主机;
第三发送模块,用于若主机没有空线程,则根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机;
其中,主机与中间外设相连,中间外设与除中间外设之外的各个外设相连。
在本实施例中,所述的多设备的数据处理装置的各个模块为本发明方法部分的模块化,对于各个模块的具体解释说明,请参考本发明方法部分的对应内容,本发明实施例在此不再赘述。
如图3所示,在一个实施例中,提供了一种多设备的数据处理系统,具体可以包括主机、中间外设和其他外设;
所述主机与所述中间外设相连,用于每隔一个第一预设时间,向所述中间外设发送队列区的等待情况,接收所述中间外设发送的控制数据;
所述中间外设用于执行上述多设备的数据处理方法的步骤;
所述其他外设与所述中间外设相连,用于向中间外设发送控制数据。
在本实施例中,主机与中间外设的通信是双向的,中间外设与其他外设的通信是单向的,中间外设只能接收其他外设的控制数据。
在本实施例中,主机与中间外设的连接方式包括无线连接和有线连接,中间外设和其他外设的连接方式包括无线连接和有线连接。
在本实施例中,中间外设可以使用产生控制数据的外设,也可以不产生控制数据的外设。
本发明实施例提供的多设备的数据处理系统通过中间外设接收每个外设产生的控制数据,对接收到的控制数据进行分类得到若干个类别的控制数据。每间隔一个第一预设时间,判断所有类别的控制数据的数据总量是否大于第一预设值;若否,则将所有类别的控制数据全部发送给主机;若是,则判断主机是否有空线程;若有空线程,则根据空线程的数量在所有类别的控制数据中选取若干数量的控制数据发送给主机;若没有空线程,则根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机。本发明利用中间外设对数据进行分类,减轻主机数据处理的压力,再根据主机空线程的状态向主机发送若干数量的控制数据,避免了主机因需要处理数据过多而无法及时处理数据,而且未发送给主机的数据暂存于中间外设,减轻了主机存储容量的负担,从协助主机处理数据和与主机分担保存数据这两方面解决了主机数据堆积的问题。
图4示出了一个实施例中计算机设备的内部结构图。如图4所示,该计算机设备包括通过系统总线连接的处理器、存储器、无线接口和有线接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现本发明实施例提供的多设备的数据处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行本发明实施例提供的多设备的数据处理方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本发明实施例提供的多设备的数据处理装置可以实现为一种计算机程序的形式,计算机程序可在如图4所示的计算机设备上运行。计算机设备的存储器中可存储组成该多设备的数据处理装置的各个程序模块,比如,图2所示的数据接收模块、数据分类模块、第一发送模块、第二发送模块和第三发送模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本发明各个实施例的多设备的数据处理方法中的步骤。
例如,图4所示的计算机设备可以通过如图2所示的多设备的数据处理装置中的数据接收模块执行步骤S101;计算机设备可通过数据分类模块执行步骤S102;计算机设备可通过第一发送模块执行步骤S103;计算机设备可通过第二发送模块执行步骤S104;计算机设备可通过第三发送模块执行步骤S105。
在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S101,接收每个外设产生的控制数据;
S102,当满足时间条件或者数据量条件时,将接收到的控制数据进行分类得到若干个类别的控制数据;
S103,每隔一个第一预设时间,判断所有类别的控制数据的数据总量是否大于第一预设值,若否,则将所有类别的控制数据全部发送给主机;
S104,若所有类别的控制数据的数据总量大于第一预设值,则判断主机是否有空线程,若是,则根据空线程的数量在所有类别的控制数据中选取若干数量的控制数据发送给主机;
S105,若主机没有空线程,则根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机;
其中,主机与中间外设相连,中间外设与除中间外设之外的各个外设相连。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
S101,接收每个外设产生的控制数据;
S102,当满足时间条件或者数据量条件时,将接收到的控制数据进行分类得到若干个类别的控制数据;
S103,每隔一个第一预设时间,判断所有类别的控制数据的数据总量是否大于第一预设值,若否,则将所有类别的控制数据全部发送给主机;
S104,若所有类别的控制数据的数据总量大于第一预设值,则判断主机是否有空线程,若是,则根据空线程的数量在所有类别的控制数据中选取若干数量的控制数据发送给主机;
S105,若主机没有空线程,则根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机;
其中,主机与中间外设相连,中间外设与除中间外设之外的各个外设相连。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (7)
1.一种多设备的数据处理方法,应用于中间外设,其特征在于,所述多设备的数据处理方法包括:
S101,接收每个外设产生的控制数据;
S102,当满足时间条件或者数据量条件时,将接收到的控制数据进行分类得到若干个类别的控制数据;
S103,每隔一个第一预设时间,判断所有类别的控制数据的数据总量是否大于第一预设值,若否,则将所有类别的控制数据全部发送给主机;
S104,若所有类别的控制数据的数据总量大于第一预设值,则判断主机是否有空线程,若是,则根据空线程的数量在所有类别的控制数据中选取若干数量的控制数据发送给主机;
S105,若主机没有空线程,则根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机;
所述当满足时间条件或者数据量条件时,将接收到的控制数据进行分类得到若干个类别的控制数据,包括:
S201,判断距离上一次把接收到的控制数据进行分类的时间间隔是否达到第二预设时间,若是,则满足时间条件;
S202,判断接收到的控制数据的数据量与上一次接收到的控制数据的数据量的差值是否达到第三预设值,若是,则满足数据量条件;
S203,若满足时间条件或者数据量条件中任意一个,则将接收到的控制数据进行分类得到若干个类别的控制数据;
S204,若时间条件或者数据量条件都不满足,则继续接收每个外设产生的控制数据;
S205,重复S201~S204,直到将接收到的控制数据进行分类得到若干个类别的控制数据;
所述将接收到的控制数据进行分类得到若干个类别的控制数据,包括:
根据优先级设置四个类别,按照优先级的先后顺序记为操控类、设置类、后台交互类和其他类;
将接收到的控制数据划分进四个类别中;
将每个类别的控制数据按控制数据产生的时间进行排序,得到四个类别的控制数据;
所述根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机,包括:
由得到第二预设值a;
由得到传输数据量q;
判断q是否大于第一预设值,若否,则根据类别的优先级选择数据量为q的控制数据发送给主机;
若q大于第一预设值,则根据类别的优先级选择数据量为第一预设值的控制数据发送给主机;
其中,主机与中间外设相连,中间外设与除中间外设之外的各个外设相连,D1是主机队列区的容量,D2是中间外设暂缓区的容量,D3是主机队列区待处理的数据量,D4是中间外设暂缓区待发送的数据量。
2.根据权利要求1所述的多设备的数据处理方法,其特征在于,所述根据空线程的数量在所有类别的控制数据中选取若干数量的控制数据发送给主机,包括:
判断空线程的数量是否达到第四预设值,若是,根据类别的优先级选择数据量为第一预设值的控制数据发送给主机;
若空线程的数量没有到达第四预设值,则根据控制数据产生的时间先后顺序选择数据量的值为空线程的数量的倍数且数据量不大于第一预设值的控制数据发送给主机。
3.根据权利要求1所述的多设备的数据处理方法,其特征在于,所述判断主机是否有空线程,之前还包括:
接收主机发送的主机每个线程当前待处理的控制数据的数据量;
接收主机发送的主机队列区待处理的控制数据的数据量。
4.根据权利要求1所述的多设备的数据处理方法,其特征在于,所述在所有类别的控制数据中选取若干数量的控制数据发送给主机,之前还包括:
判断当前主机的状态是否处于操控状态,若处于操控状态,则根据类别的优先级选择数据量;
若当前主机的状态没有处于操控状态,则将操控类的优先级移至最后,根据类别的优先级选择数据量。
5.一种多设备的数据处理装置,其特征在于,所述多设备的数据处理装置包括:
数据接收模块,用于接收每个外设产生的控制数据;
数据分类模块,用于当满足时间条件或者数据量条件时,将接收到的控制数据进行分类得到若干个类别的控制数据;
第一发送模块,用于每隔一个第一预设时间,判断所有类别的控制数据的数据总量是否大于第一预设值,若否,则将所有类别的控制数据全部发送给主机;
第二发送模块,用于若所有类别的控制数据的数据总量大于第一预设值,则判断主机是否有空线程,若是,则根据空线程的数量在所有类别的控制数据中选取若干数量的控制数据发送给主机;
第三发送模块,用于若主机没有空线程,则根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机;
所述当满足时间条件或者数据量条件时,将接收到的控制数据进行分类得到若干个类别的控制数据,包括:
S201,判断距离上一次把接收到的控制数据进行分类的时间间隔是否达到第二预设时间,若是,则满足时间条件;
S202,判断接收到的控制数据的数据量与上一次接收到的控制数据的数据量的差值是否达到第三预设值,若是,则满足数据量条件;
S203,若满足时间条件或者数据量条件中任意一个,则将接收到的控制数据进行分类得到若干个类别的控制数据;
S204,若时间条件或者数据量条件都不满足,则继续接收每个外设产生的控制数据;
S205,重复S201~S204,直到将接收到的控制数据进行分类得到若干个类别的控制数据;
所述将接收到的控制数据进行分类得到若干个类别的控制数据,包括:
根据优先级设置四个类别,按照优先级的先后顺序记为操控类、设置类、后台交互类和其他类;
将接收到的控制数据划分进四个类别中;
将每个类别的控制数据按控制数据产生的时间进行排序,得到四个类别的控制数据;
所述根据第二预设值在所有类别的控制数据中选取若干数量的控制数据发送给主机,包括:
由得到第二预设值a;
由得到传输数据量q;
判断q是否大于第一预设值,若否,则根据类别的优先级选择数据量为q的控制数据发送给主机;
若q大于第一预设值,则根据类别的优先级选择数据量为第一预设值的控制数据发送给主机;
其中,主机与中间外设相连,中间外设与除中间外设之外的各个外设相连,D1是主机队列区的容量,D2是中间外设暂缓区的容量,D3是主机队列区待处理的数据量,D4是中间外设暂缓区待发送的数据量。
6.一种多设备的数据处理系统,其特征在于,所述多设备的数据处理系统包括主机、中间外设和其他外设;
所述主机与所述中间外设相连,用于每隔一个第一预设时间,向所述中间外设发送队列区的等待情况,接收所述中间外设发送的控制数据;
所述中间外设用于执行如权利要求1至4中任一项权利要求所述多设备的数据处理方法的步骤;
所述其他外设与所述中间外设相连,用于向中间外设发送控制数据。
7.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至4中任一项权利要求所述多设备的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311094899.3A CN116841936B (zh) | 2023-08-29 | 2023-08-29 | 一种多设备的数据处理方法、装置、系统和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311094899.3A CN116841936B (zh) | 2023-08-29 | 2023-08-29 | 一种多设备的数据处理方法、装置、系统和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116841936A CN116841936A (zh) | 2023-10-03 |
CN116841936B true CN116841936B (zh) | 2023-11-21 |
Family
ID=88165505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311094899.3A Active CN116841936B (zh) | 2023-08-29 | 2023-08-29 | 一种多设备的数据处理方法、装置、系统和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116841936B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102441277A (zh) * | 2012-01-18 | 2012-05-09 | 深圳市合智创盈电子有限公司 | 一种具有姿态感测的多用途游戏控制器、系统及方法 |
CN105759958A (zh) * | 2016-01-27 | 2016-07-13 | 中国人民解放军信息工程大学 | 一种数据交互系统及方法 |
CN111813805A (zh) * | 2019-04-12 | 2020-10-23 | 中国移动通信集团河南有限公司 | 一种数据处理方法及装置 |
CN111858067A (zh) * | 2020-07-31 | 2020-10-30 | 厦门网宿有限公司 | 一种数据处理方法及装置 |
CN113577782A (zh) * | 2020-07-23 | 2021-11-02 | 凯智隆誉科技(深圳)有限公司 | 一种适用于游戏手柄、鼠标及键盘转换的适配装置及操作方法 |
CN113827953A (zh) * | 2021-09-28 | 2021-12-24 | 完美世界(北京)软件科技发展有限公司 | 游戏控制系统 |
CN114681912A (zh) * | 2022-04-02 | 2022-07-01 | 深圳市七熊科技有限公司 | 基于陀螺仪实现游戏手柄双摇杆控制的方法、装置、手柄 |
CN115086104A (zh) * | 2022-06-23 | 2022-09-20 | 武汉迈威通信股份有限公司 | 一种支持数据断线重传的方法及串口服务器 |
CN116502208A (zh) * | 2023-06-28 | 2023-07-28 | 深圳市莱仕达电子科技有限公司 | 一种跨设备兼容的引导方法、装置和系统 |
CN116510320A (zh) * | 2023-07-05 | 2023-08-01 | 深圳市莱仕达电子科技有限公司 | 一种可调节反馈力度的手柄 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7102615B2 (en) * | 2002-07-27 | 2006-09-05 | Sony Computer Entertainment Inc. | Man-machine interface using a deformable device |
-
2023
- 2023-08-29 CN CN202311094899.3A patent/CN116841936B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102441277A (zh) * | 2012-01-18 | 2012-05-09 | 深圳市合智创盈电子有限公司 | 一种具有姿态感测的多用途游戏控制器、系统及方法 |
CN105759958A (zh) * | 2016-01-27 | 2016-07-13 | 中国人民解放军信息工程大学 | 一种数据交互系统及方法 |
CN111813805A (zh) * | 2019-04-12 | 2020-10-23 | 中国移动通信集团河南有限公司 | 一种数据处理方法及装置 |
CN113577782A (zh) * | 2020-07-23 | 2021-11-02 | 凯智隆誉科技(深圳)有限公司 | 一种适用于游戏手柄、鼠标及键盘转换的适配装置及操作方法 |
CN111858067A (zh) * | 2020-07-31 | 2020-10-30 | 厦门网宿有限公司 | 一种数据处理方法及装置 |
CN113827953A (zh) * | 2021-09-28 | 2021-12-24 | 完美世界(北京)软件科技发展有限公司 | 游戏控制系统 |
CN114681912A (zh) * | 2022-04-02 | 2022-07-01 | 深圳市七熊科技有限公司 | 基于陀螺仪实现游戏手柄双摇杆控制的方法、装置、手柄 |
CN115086104A (zh) * | 2022-06-23 | 2022-09-20 | 武汉迈威通信股份有限公司 | 一种支持数据断线重传的方法及串口服务器 |
CN116502208A (zh) * | 2023-06-28 | 2023-07-28 | 深圳市莱仕达电子科技有限公司 | 一种跨设备兼容的引导方法、装置和系统 |
CN116510320A (zh) * | 2023-07-05 | 2023-08-01 | 深圳市莱仕达电子科技有限公司 | 一种可调节反馈力度的手柄 |
Also Published As
Publication number | Publication date |
---|---|
CN116841936A (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102945215A (zh) | 信息处理设备和方法 | |
CN104778074A (zh) | 一种计算任务处理方法及装置 | |
US20060161694A1 (en) | DMA apparatus | |
US20060129730A1 (en) | Data processing system, access control method, and access control device | |
CN104102693A (zh) | 对象处理方法和装置 | |
CN112214319B (zh) | 一种计算资源感知的任务调度方法 | |
KR102654689B1 (ko) | 트랜잭션 실패 확률을 고려한 트랜잭션 가속 처리 장치 및 그 방법 | |
WO2022227693A1 (zh) | 用于命令分发的装置、方法、芯片、计算机设备及介质 | |
CN113138801B (zh) | 命令分发装置、方法、芯片、计算机设备及存储介质 | |
US7130932B1 (en) | Method and apparatus for increasing the performance of communications between a host processor and a SATA or ATA device | |
CN109783033B (zh) | 一种适用于异构系统的数据存储方法和电子设备 | |
CN116841936B (zh) | 一种多设备的数据处理方法、装置、系统和计算机设备 | |
CN115563038B (zh) | 基于dma控制器的数据处理系统、方法和数据处理设备 | |
CN109491785B (zh) | 内存访问调度方法、装置及设备 | |
CN111813541A (zh) | 一种任务调度方法、装置、介质和设备 | |
CN115878333A (zh) | 进程组间的一致性判断方法、装置及设备 | |
CN112748883B (zh) | 一种io请求流水线处理设备、方法、系统及存储介质 | |
CN112631757B (zh) | 一种ddr4多用户访问的调度方法和设备 | |
CN114116220A (zh) | 一种gpu共享控制方法、gpu共享控制装置及存储介质 | |
CN112114971A (zh) | 一种任务分配方法、装置及设备 | |
CN112463028A (zh) | 一种i/o处理方法、系统、设备及计算机可读存储介质 | |
US6609188B1 (en) | Data flow processor | |
CN117076353B (zh) | 描述符的配置方法和描述符的配置装置 | |
KR102504274B1 (ko) | 유니커널을 위한 파일 입출력 오프로드 가속 장치, 서버 및 방법 | |
CN113901008B (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 |