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

一种机器人的模块数据交互方法、电子设备及存储介质与流程

2021-10-24 14:15:00 来源:中国专利 TAG:电子设备 计算机软件 机器人 交互 模块


1.本技术涉及计算机软件技术领域,具体而言,涉及一种机器人的模块数据交互方法、电子设备及存储介质。


背景技术:

2.现如今,机器人在全社会的应用领域越来越广泛,机器人在实现功能的过程中需要同较多的传感器完成数据交互,数据交互的实时性关乎到系统的安全响应速度,随着机器人的系统功能越来越丰富,模块间的数据交互的实时性十分重要。
3.为了解决如上问题,目前机器人采用的模块交互方法基于机器人系统ros2中采用的数据分发服务dds架构,dds在数据交互模式下采用套接字技术,无法规避掉套接字回环(socket loopback)接口的通信过程,该通信过程中需要经过大量内核协议栈的处理,浪费了大量时间,这对于机器人系统多模块数据的实时交互场景下具有较大影响。


技术实现要素:

4.本技术实施例的目的在于提供一种机器人的模块数据交互方法、电子设备及存储介质,用以降低模块间的数据实时交互传输时延。
5.第一方面,本技术实施例提供一种机器人的模块数据交互方法,所述机器人包括第一模块和第二模块,所述方法包括:通过所述第一模块接收数据处理请求;通过所述第一模块根据所述数据处理请求获取对应的待处理数据和所述待处理数据对应的读写锁,并根据所述读写锁将所述待处理数据写入对应的共享内存中;通过所述第二模块根据所述读写锁从所述共享内存中读取所述待处理数据,以实现模块间的数据交互。
6.本技术实施例中,由于共享内存能够实现进程之间方便快捷的数据通信,利用读写锁可以实现待操作数据的同步操作,通过将待处理数据写入共享内存内,并配合待操作数据对应的读写锁,实现数据的交互,可以提高系统的实时性,避免交互过程中内核处理栈的时间浪费,降低了数据实时交互传输时延。
7.进一步地,所述待处理数据包括多个子数据块,所述每个子数据块对应一个数据块读写锁,所述根据所述读写锁将所述待处理数据写入对应的共享内存中,包括:通过所述第一模块根据所述多个子数据块对应的数据块读写锁分别将所述多个子数据块写入对应的共享内存中;相应的,所述通过所述第二模块根据所述读写锁从所述共享内存中读取所述待处理数据,包括:通过所述第二模块根据所述多个子数据块对应的数据块读写锁从所述共享内存中分别读取多个子数据块。
8.本技术实施例中待处理数据被划分为多个子数据块,每个子数据块中均对应一个数据块读写锁,通过将待操作数据分块的方式,保证了数据交互过程中的可靠性,增加了数据交互的效率,避免在写入和读取的过程中出错导致需要对待操作数据整体重新操作。
9.进一步地,所述待处理数据的数据类型为数据读写或过程调用。
10.本技术实施例通过将待处理数据的数据类型分为数据读写和过程调用,对两种不
同的数据类型进行分别处理,而在写入和读取的过程均采用数据块的形式处理,便于数据交互的统一处理。
11.进一步地,若所述待处理数据的数据类型为过程调用;所述根据所述读写锁将所述待处理数据存入共享内存中,包括:通过所述第一模块获取所述待处理数据对应的读写锁,并对待处理数据进行加锁;通过所述第一模块分别将所述待处理数据写入到共享内存中;通过所述第一模块释放所述待处理数据对应的读写锁;相应的,所述通过所述第二模块根据所述读写锁从所述共享内存中读取所述待处理数据,包括:通过所述第二模块获取所述待处理数据对应的读写锁,并对所述待处理数据进行加锁;通过所述第二模块从共享内存中读取所述待处理数据,并利用所述待处理数据执行调用过程。
12.本技术实施例中,当待处理数据的数据类型为过程调用时,由第一模块对待处理数据进行加锁后写入到共享内存中,在写入的过程中保证只有上述第一模块对该待处理数据进行写入,然后释放读写锁,之后再由第二模块对该待处理数据进行加锁并从共享内存中读取该待处理数据,并利用所述待处理数据执行调用过程,通过读写锁来对待处理数据进行操作保证了数据读写过程的一致性。
13.进一步地,所述待处理数据包括多个服务数据,所述每个服务数据包括类型、服务状态、参数和返回值,所述利用所述待处理数据执行调用过程,包括:通过所述第二模块根据每个所述服务数据中的类型和参数分别完成对应服务的调用过程;通过所述第二模块根据每个服务的调用结果更改所述对应服务的状态和返回值;通过所述第二模块释放所述待处理数据对应的读写锁。
14.本技术实施例中,第二模块根据每个服务数据中的类型和参数分别完成对应服务的调用过程,再根据每个服务的调用结果更改对应服务的状态和返回值,最后释放读写锁,实现待处理数据中的多个服务数据的调用过程。
15.进一步地,所述方法还包括:预先对共享内存区域进行划分,获得第一共享内存和第二共享内存;其中,所述第一共享内存用于数据读写,所述第二共享内存用于过程调用。
16.本技术实施例通过预先对共享内存区域进行划分,获得第一共享内存和第二共享内存,分别用于数据读写或过程调用,实现了按照待处理数据的数据类型在不同的共享内存区域进行操作,有利于实现待处理数据的高效处理。
17.进一步地,所述方法还包括:所述机器人通过可靠数据报协议rudp获取远程端的最新数据,并根据所述最新数据将所述机器人的本地数据进行更新,得到所述最新数据。
18.本技术实施例中,机器人通过可靠数据报协议rudp获取远程端的最新数据并将该最新数据更新到机器人的本地数据中,利用rudp协议实现将远程端的最新数据传输到本地端,提高远程数据传输的实时性和可靠性。
19.进一步地,所述机器人通过可靠数据报协议rudp将本地数据传输到远程端,以实现远程端数据的更新。
20.本技术实施例中,机器人通过可靠数据报协议rudp将本地数据传输到远程端,用于实现远程数据的实时展示,提高远程数据传输的实时性和可靠性。
21.第二方面,本技术实施例提供一种电子设备,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的交互;
22.所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指
令能够执行第一方面的方法。
23.第三方面,本技术实施例提供一种非暂态计算机可读存储介质,包括:
24.所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法。
25.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
26.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
27.图1为本技术实施例提供的一种机器人的模块数据交互方法流程示意图;
28.图2为本技术实施例提供的一种机器人的过程调用流程示意图;
29.图3为本技术实施例提供的一种机器人的模块交互组成结构示意图;
30.图4为本技术实施例提供的电子设备实体结构示意图。
具体实施方式
31.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
32.图1为本技术实施例提供的一种机器人的模块数据交互方法流程示意图,如图1所示,该方法可以应用于各类机器人中的模块数据交互中,机器人是一种能够通过编程和自动控制来执行诸多作业或移动等任务的机器,可以辅助甚至替代人类完成危险、繁重、复杂的工作,提高工作效率和质量,扩大或延伸人类的活动及能力范围;机器人具体可以为各类工业机器人、服务和仿人型机器人。机器人按照功能划分为多个模块,在数据交互过程中,本技术实施例中的模块数据交互可以理解为多个模块的进程对数据进行操作以实现模块间的数据交互。所述机器人包括第一模块和第二模块,该方法包括:
33.步骤101:通过所述第一模块接收数据处理请求。
34.在具体的实施过程中,该第一模块为机器人的任一功能模块,可以接收数据处理请求并根据该数据处理请求执行下一步的操作,数据处理请求可以是远程端传达的指令,也可以是机器人内部预设的指令,该指令可以是更新数据,传输数据等,本技术实施例不对数据处理请求的来源和内容进行限定。
35.步骤102:通过所述第一模块根据所述数据处理请求获取对应的待处理数据和所述待处理数据对应的读写锁,并根据所述读写锁将所述待处理数据写入对应的共享内存中。
36.在具体的实施过程中,待处理数据存储在本地磁盘中的固定位置上,该固定位置代表待处理数据的物理地址,通过将待处理数据的物理地址与共享内存的虚拟地址进行映射即可实现写入和读取共享内存的操作。由于在同一时间内可能存在多个模块同时对待处理数据进行操作,因此在对待处理数据写入前,首先需要获取待处理数据对应的读写锁,通
过获取待处理数据的读写锁才能对待处理数据进行写入和读取操作,在写入的时候,同一时间内只有一个功能模块能够获取到待操作数据的读写锁并写入共享内存。
37.以第一模块为控制模块,待处理数据为传感器实时采集的数据为例,该控制模块用于写入传感器采集的数据到本地磁盘文件中,利用共享内存来实现写入操作,首先获取该待处理数据的读写锁并对待处理数据进行加锁,由于执行的是写入操作,加锁后其他功能模块对该待处理数据的操作处于阻塞状态,然后执行写入操作将待处理数据写入到对应的共享内存中,完成写入操作后,释放该待处理数据的读写锁,在释放读写锁后可以允许下一个功能模块对其进行操作。
38.步骤103:通过所述第二模块根据所述读写锁从所述共享内存中读取所述待处理数据,以实现模块间的数据交互。
39.在具体的实施过程中,第二模块为机器人中不同于第一模块的功能模块,第二模块获取到待处理数据的读写锁后,待处理数据被加锁,由于第二模块执行读取操作,根据读写锁的机制同一时间内可以允许其他模块读取该待处理数据但不允许其他模块对该待处理数据执行写入操作,第二模块从对应的共享内存中读取待操作数据,完成读取后释放待操作数据对应的读写锁。例如:第二模块为计算模块,用于读取第一模块写入的传感器数据计算机器人所处的坐标方位,第二模块获取共享内存内写入的传感器数据和对应的读写锁,对该数据进行加锁,保证其他模块不对该数据进行更改,第二模块在共享内存区域中读取该数据用于计算,完成读取后释放该数据对应的读写锁。
40.在上述实施例的基础上,所述待处理数据包括多个子数据块,所述每个子数据块对应一个数据块读写锁,所述根据所述读写锁将所述待处理数据写入对应的共享内存中,包括:
41.通过所述第一模块根据所述多个子数据块对应的数据块读写锁分别将所述多个子数据块写入对应的共享内存中;
42.相应的,所述通过所述第二模块根据所述读写锁从所述共享内存中读取所述待处理数据,包括:
43.通过所述第二模块根据所述多个子数据块对应的数据块读写锁从所述共享内存中分别读取多个子数据块。
44.在具体的实施方式中,该待处理数据被划分成多个子数据块储存,每个子数据块对应一个数据块读写锁,第一模块根据每个子数据块对应的数据块读写锁分别将多个子数据块写入到对应的共享内存中,相应地,第二模块再根据每个子数据块对应的数据块读写锁从对应的共享内存中读取数据。每个划分好的子数据块通过索引编号进行标识,第一模块和第二模块根据索引编号写入和读取待处理数据整体。可以理解的是,由于每个子数据块均对应一个数据块读写锁,而只有获取到相应的数据块读写锁的模块才能对该子数据块进行操作,完成操作后再释放相应的数据块读写锁以供下个模块获取该子数据块的读写锁并对该子数据块进行操作。
45.在上述实施例的基础上,所述待处理数据的数据类型为数据读写或数据的过程调用。
46.在具体的实施过程中,所述待处理数据的数据类型包括两种,可以是数据读写类型,也可以是数据的过程调用类型,在机器人一次有效的模块交互过程中,待处理数据的数
据类型为数据读写或者过程调用类型,每次数据交互中仅存在一种数据类型。在上文将待处理数据划分为多个数据块的基础上,两种不同数据类型的待处理数据具有不同的数据结构形式,以实现上文机器人多个模块间的两类不同的数据交互过程。具体可以为:
47.对于待处理数据的数据类型为数据读写,其数据块结构如表1所示:
48.表1
[0049][0050]
根据表1的待处理数据的数据结构内容可以看出,待处理数据的数据结构可以分为信息区和数据区,信息区的大小为固定k字节,数据区分为多个数据块,每个数据块的大小可以是固定k字节的倍数,这是为了方便数据块的划分,根据字节寻址方式可以判断每个数据块在本地磁盘中存储的位置。信息区用于记录该读写数据的基本信息,该信息区包括头部数据和n个索引块,索引块的编号从1到n,头部数据包括读写锁和索引块个数,头部数据的读写锁用于控制信息区的数据,当读写数据增加一个新的数据块时,信息区的数据发生更新,通过获取信息区的读写锁来对信息区数据进行加锁,与上文所述的读写锁的作用一致,每次只允许一个模块对数据进行写入操作,在多个功能模块通信中保持每次数据更新后读取的数据保持一致。每个索引块用于记录每个数据块的基本信息,包括索引编号、数据区偏移、数据区大小和保留区域。每个索引块与数据块进行一一对应,索引块用编号进行唯一标识,数据区偏移表示按照字节寻址方式该索引块的初始位置与数据区的初始位置的偏移字节数,方便快速判断每个数据块在本地磁盘中的存储位置,数据区大小记录每个数据块的字节大小。每个索引块还设置有保留区域,用于后续增加索引块的有效信息。可以理解的是,上述k和n的取值为正整数。
[0051]
该待处理数据的数据区包括多个数据块,每个数据块的大小为固定字节k的倍数大小。例如:当信息区的固定字节大小设置为10kb时,则每个数据块的大小可以设置为10kb,20kb,100kb等。每个数据块的编号与索引块的编号保持一致,每个数据块包括读写锁和数据,该读写锁的控制范围在单个数据块内,若想对单个数据块内的数据进行写入和读
取,应先获取该单个数据块对应的读写锁,完成数据操作后再释放该读写锁。通过对每个数据块设计独立的锁,可以保持每块数据读写的实时性,保持每个数据块内的读写操作不会干扰,避免由于读写锁的过度竞争导致的传输时延。
[0052]
对于待处理数据的数据类型为过程调用时,其数据块结构如表2所示:
[0053]
表2
[0054][0055][0056]
根据表2的过程调用的数据结构可以看出,该待处理数据的数据结构可以分为信息区和服务信息数据区,信息区的大小为固定k字节,服务信息数据区分为多个服务组信息块,每个服务组信息块的大小可以是固定k字节的倍数,这是为了方便服务组信息块的划分,根据字节寻址方式可以判断每个服务组信息块在本地磁盘中存储的位置,信息区用于记录该读写数据的基本信息,该信息区包括头部数据和n个服务组索引块,索引块的编号从1到n,头部数据包括读写锁和活跃服务组个数,头部数据的读写锁用于控制信息区的数据,活跃服务组的个数根据每个服务组索引块的状态进行计算。每个服务组索引块用于记录每个服务组信息块的基本信息,包括服务组编号、服务组信息块偏移、服务组数据大小和服务
组状态,每个服务组索引块与服务数据块进行一一对应,服务组信息块用服务组编号进行唯一标识,服务组信息块偏移表示按照字节寻址方式该服务组信息块的初始位置与服务组数据区的初始位置的偏移字节数,方便快速判断每个服务组信息块在本地磁盘中的存储位置,服务组数据大小记录每个数据块的字节大小,服务组状态包括未定义、空闲、正在处理和异常,信息区的活跃服务组个数记录为除服务组状态为未定义之外其他服务组的总个数。
[0057]
该过程调用的服务信息数据区包括多个服务数据块,每个服务数据块的大小为固定字节k的倍数大小,例如:当信息区的固定字节大小设置为10kb时,则每个服务数据块的大小可以设置为10kb,20kb,100kb等等,每个服务数据块的编号与服务组索引块的编号保持一致,每个服务数据块包括读写锁和m个服务数据块,该读写锁的控制范围在单个服务数据块内,多个服务数据块按照编号进行排序,从1到m。每个服务数据块包括编号、类型、服务状态、数据占用个数、参数和返回值数据,编号用于标识每个服务数据块,类型表示每个服务数据块的调用过程,每个类型代表一种对于参数和返回值的调用过程,例如:当服务数据块的类型为1时,代表将所有的参数进行相加得到返回值。可以理解的是,每个服务可以有多种类型,用于表示过程调用中的多种服务数据不同的调用过程,本技术实施例不对每个服务数据中执行的调用过程进行具体规定。服务状态包括空闲、等待处理、处理中、异常和成功,不同模块可以通过读取该待处理数据每个服务的状态进行随时查看每个服务的调用状态。
[0058]
由于每个服务数据中参数和返回值占用的数据大小默认固定为p字节,对于单个服务数据块中参数和返回值数据大小大于p字节时,可以对每个服务数据块的数据结构进行改变,每个服务数据块可以占用多个服务数据块大小,重新划分的服务数据块的数据格式如表3所示。
[0059]
表3
[0060][0061][0062]
在上述实施例的基础上,若所述待处理数据的数据类型为过程调用;
[0063]
所述根据所述读写锁将所述待处理数据存入共享内存中,包括:
[0064]
通过所述第一模块获取所述待处理数据对应的读写锁,并对待处理数据进行加锁;
[0065]
通过所述第一模块分别将所述待处理数据写入到共享内存中;
[0066]
通过所述第一模块释放所述待处理数据对应的读写锁;
[0067]
相应的,所述通过所述第二模块根据所述读写锁从所述共享内存中读取所述待处理数据,包括:
[0068]
通过所述第二模块获取所述待处理数据对应的读写锁,并对所述待处理数据进行加锁;
[0069]
通过所述第二模块从共享内存中读取所述待处理数据,并利用所述待处理数据执行调用过程。
[0070]
在具体的实施过程中,当待处理数据的数据类型为过程调用时,结合上文中过程调用的数据结构形式,由于待处理数据被划分成了多个服务组信息块存储,因此对待处理数据的写入和读取操作均是对多个服务组信息块进行操作。第一模块在将待处理数据写入到共享内存时,首先分别获取每个服务组信息块的读写锁并对每个服务组信息块进行加锁,然后分别将每个服务组信息块写入到共享内存中,最后分别释放每个服务组信息块的读写锁,完成多个服务组信息块的写入共享内存操作。第二模块将待处理数据从共享内存中读取时,首先分别获取多个服务组信息块的读写锁并对每个服务组信息块进行加锁,然后从共享内存中分别读取每个服务组信息块的数据,然后根据每个服务组信息块中的数据执行相应的调用过程。可以理解的是,由于系统中对待处理数据进行了分块,每个服务组信息块均对应一个读写锁,因此在第一模块和第二模块对待处理数据的写入和读取的过程中,每次第一模块根据读写锁对该待处理数据的某一服务组信息块写入共享内存后,第二模块即可根据对应服务组信息块的读写锁从共享内存中读取该服务组信息块,不必等到第一模块将该待处理数据的所有服务组信息块全部写入共享内存后,第二模块再从共享内存中读取相应服务组信息块。
[0071]
在上述实施例的基础上,所述待处理数据包括多个服务数据,所述每个服务数据包括类型、服务状态、参数和返回值,所述利用所述待处理数据执行调用过程,包括:
[0072]
通过所述第二模块根据每个所述服务数据中的所述类型和所述参数分别完成对应服务的调用过程;
[0073]
通过所述第二模块根据每个服务的调用结果更改所述服务状态和所述返回值;
[0074]
通过所述第二模块释放所述待处理数据对应的读写锁。
[0075]
在具体的实施过程中,如图2所示为本技术实施例提供的一种机器人的过程调用流程示意图,如图2所示,根据过程调用的数据结构形式执行多个服务组信息块中的调用过程,每个服务组信息块中包括多个服务数据块,每个服务数据块对应一个服务过程,通过每个服务数据块中的类型、参数和返回值数据可以定义一个服务过程,例如:当服务数据块的类型1定义为加法,将所有参数的值进行相加后返回,定义为一个服务过程,依次执行每个服务数据块中对应的服务过程,根据服务过程的结果对每个服务数据块中的状态和返回值数据进行更改直至所有服务数据块中的服务过程全部执行完毕。可以理解的是,在对每个服务数据块中的状态和返回值数据进行更改的过程中,其中同样包含了获取每个服务数据块的读写锁并对服务数据块进行加锁,以及完成更改操作后的释放读写锁的过程。
[0076]
在上述实施例的基础上,所述方法还包括:预先对共享内存区域进行划分,获得第一共享内存和第二共享内存;其中,所述第一共享内存用于数据读写,所述第二共享内存用于过程调用。
[0077]
在具体的实施过程中,通过将共享内存区域划分为第一共享内存和第二共享内存,分别用于数据读写和过程调用,根据数据类型将待处理数据在本地磁盘中的物理地址与对应的共享内存的虚拟地址进行映射,实现不同数据的数据类型在对应的共享内存中实现数据交互,数据的读写或过程调用均是直接对物理内存进行操作,简化了代码逻辑的实现。
[0078]
在上述实施例的基础上,所述方法还包括:所述机器人通过可靠数据报协议rudp获取远程端的最新数据,并根据所述最新数据将所述机器人的本地数据进行更新,得到所述最新数据。
[0079]
在具体的实施过程中,上文的数据交互过程发生在机器人的多个模块间,当可靠数据报协议rudp是一种互联网流媒体领域常用的协议,可以避免在弱网条件下频繁断开和连接,通过采用rudp代替原有的数据传输控制协议tcp。在一些苛刻的网络条件下,可以自行根据业务场景在成本、时延和质量间权衡,有效保证正常的通信质量保证,避免tcp协议中出现的窗口抖动现象。远程数据交互场景分为远程数据到本地端和本地数据同步到远程端两种场景,在远程数据同步到本地端中,机器人需要读取远程端的最新数据用于更新本地磁盘中存储的数据,例如:机器人的控制器模块读取来自远程传感器实时记录的数据,远程传感器对服务器上的数据更新后,由服务器发布更新事件,控制器模块根据服务器上的更新数据获取服务器上的最新数据同步到本地数据中。
[0080]
在上述实施例的基础上,所述方法还包括:所述机器人通过可靠数据报协议rudp将本地数据传输到远程端,以实现远程端数据的更新。
[0081]
在具体的实施过程中,通过rudp协议实现将本地数据传输到远程端,对应一种特定的远程数据交互场景:本地数据同步到远程端,包括:机器人将本地数据写入到远程端用于更新服务器的数据,例如:远程展示屏需要机器人的本地数据进行展示,机器人将本地数据写入到服务端的数据中用于更新服务端数据,对服务器上的数据更新后,由服务器发布更新事件,用于后续机器人其他模块在读取服务器上的数据时判断是否需要更新本地数据,远程展示屏读取服务端的数据进行展示。
[0082]
图3为本技术实施例提供的一种模块数据交互方法组成结构示意图,如图3所示,包括:数据读写301,过程调用302、虚拟数据块303、远程rudp304、本地共享内存305这五个部分。其中,机器人模块数据的待处理数据可以分为两种数据类型:数据读写和过程调用,分别实现不同的功能,两种数据类型在存储中都可以用虚拟数据块来表示,每种数据类型的虚拟数据块的数据结构形式不同,在上文已对两种数据类型的数据结构形式进行介绍,这里不再赘述。对于机器人的模块交互场景中,又可以分为两类,包括本地传输和远程传输,在远程传输中使用远程rudp替代tcp进行数据传输,保证正常的通信质量保证,在本地传输中使用本地共享内存来实现数据交互的高可靠和低延迟。
[0083]
图4为本技术实施例提供的电子设备实体结构示意图,如图4所示,所述电子设备,包括:处理器(processor)401、存储器(memory)402和总线403;其中,
[0084]
所述处理器401和存储器402通过所述总线403完成相互间的交互;
[0085]
所述处理器401用于调用所述存储器402中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:所述第一模块接收数据处理请求;所述第一模块根据所述数据处理请求获取对应的待处理数据和所述待处理数据对应的读写锁,并根据所述读写锁将所述
待处理数据写入对应的共享内存中;所述第二模块根据所述读写锁从所述共享内存中读取所述待处理数据,以实现模块间的数据交互。
[0086]
处理器401可以是一种集成电路芯片,具有信号处理能力。上述处理器401可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本技术实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0087]
存储器402可以包括但不限于随机存取存储器(random acc
·
ess memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read

only memory,prom),可擦除只读存储器(erasable programmable read

only memory,eprom),电可擦除只读存储器(electrically erasable programmable read

only memory,eeprom)等。
[0088]
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:所述第一模块接收数据处理请求;所述第一模块根据所述数据处理请求获取对应的待处理数据和所述待处理数据对应的读写锁,并根据所述读写锁将所述待处理数据写入对应的共享内存中;所述第二模块根据所述读写锁从所述共享内存中读取所述待处理数据,以实现模块间的数据交互。
[0089]
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:所述第一模块接收数据处理请求;
[0090]
所述第一模块根据所述数据处理请求获取对应的待处理数据和所述待处理数据对应的读写锁,并根据所述读写锁将所述待处理数据写入对应的共享内存中;所述第二模块根据所述读写锁从所述共享内存中读取所述待处理数据,以实现模块间的数据交互。
[0091]
在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或交互连接可以是通过一些交互接口,装置或单元的间接耦合或交互连接,可以是电性,机械或其它的形式。
[0092]
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0093]
再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0094]
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另
一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0095]
以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献

  • 日榜
  • 周榜
  • 月榜