CN106354568A - 一种不同进程间的通信方法及通信装置 - Google Patents

一种不同进程间的通信方法及通信装置 Download PDF

Info

Publication number
CN106354568A
CN106354568A CN201610708397.9A CN201610708397A CN106354568A CN 106354568 A CN106354568 A CN 106354568A CN 201610708397 A CN201610708397 A CN 201610708397A CN 106354568 A CN106354568 A CN 106354568A
Authority
CN
China
Prior art keywords
packet
byte
conversion
styles
sequence
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.)
Pending
Application number
CN201610708397.9A
Other languages
English (en)
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.)
Comba Network Systems Co Ltd
Original Assignee
Comba Telecom Technology Guangzhou 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 Comba Telecom Technology Guangzhou Ltd filed Critical Comba Telecom Technology Guangzhou Ltd
Priority to CN201610708397.9A priority Critical patent/CN106354568A/zh
Publication of CN106354568A publication Critical patent/CN106354568A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种不同进程间的通信方法及通信装置,用以识别字节序类型,提高通信效率。该方法为:第二进程基于接收到的数据包中的指定类型数据的字节序,确定第一进程采用的第一字节序类型,按照自身采用的第二字节序类型,对数据包进行字节序转换,基于转换后的数据包,按照第二字节序类型,生成响应数据包后,按照第一字节序类型,对响应数据包进行字节序转换,将转换后的响应数据包发送至第一进程。这样,第一进程在发送数据包前和接收响应数据包后,均无需进行字节序转换,提高了通信效率,第二进程可以按照识别出的第一字节序类型,对响应数据包进行字节序转换,从而使得第一进程可以直接识别响应数据包,无需进行字节序转换。

Description

一种不同进程间的通信方法及通信装置
技术领域
本发明涉及通信技术领域,尤其涉及一种不同进程间的通信方法及通信装置。
背景技术
在应用系统的运行过程中,往往需要众多的业务应用模块进行协作,而不同的业务应用模块分别部署在不同的进程中,且每一个进程可能运行在不同的中央处理器(Central Processing Unit,CPU)中,从而导致各个业务应用模块之间所采用的字节序不同,进而导致各个业务应用模块无法正确识别接收到的通信消息。
现有技术中,提出了一种不同进程间的通信方法,即第一进程在向第二进程发送通信消息之前,需要将该通信消息的本地字节序转换成标准网络字节序,再将转换后的通信消息发送至第二进程;第二进程接收到通信消息后,也需要将接收到的通信消息的标准网络字节序转换成本地字节序,即在第一进程发送通信消息和第二进程接收通信消息时均需要进行字节序转换,在应用系统内部,这种通信方法不仅设计单一,而且不够灵活,通信效率较低,不利于统一平台支撑不同设备不同产品中的进程间通信。
为了解决上述技术问题,现有技术中,提出了以下两种通信方式:
第一种通信方式:预先设置适配前后的平台字节序类型信息,在获取到需要适配的数据后,基于上述需要适配的数据的数据类型和上述设置的适配前后的平台字节序类型信息,对上述需要适配的数据进行字节序转换,从而获取适配后的数据。这种通信方法需要预先设置适配前后的平台字节序类型信息,不能自动识别字节序类型。
第二种通信方式:根据预设的消息匹配项对第一消息进行消息匹配,此方法依然需要设置适配前后的平台字节序类型信息,不能自动识别字节序类型。
基于上述分析,现有技术中的不同进程间的通信方法存在无法自动识别字节序类型,以及通信效率较低的问题。
发明内容
本发明实施例提供了一种不同进程间的通信方法及通信装置,用以解决现有技术中存在无法自动识别字节序类型,以及通信效率较低的问题。
本发明实施例提供的具体技术方案如下:
一种不同进程间的通信方法,用于运行在不同中央处理器CPU且采用的字节序类型不同的第一进程和第二进程之间进行通信,包括:
所述第二进程接收所述第一进程发送的数据包,并基于所述数据包携带的指定类型数据的字节序,确定所述第一进程采用的第一字节序类型;
所述第二进程按照自身采用的第二字节序类型,对所述数据包进行字节序转换处理,并基于转换后的数据包,按照所述第二字节序类型,生成相应的响应数据包;
所述第二进程按照所述第一字节序类型,对所述响应数据包进行字节序转换处理,并将转换后的响应数据包发送至所述第一进程。
较佳的,所述第二进程接收所述第一进程发送的数据包之前,进一步包括:
所述第二进程指示所述第一进程:按照所述第一字节序类型生成数据包,并直接将所述数据包发送至所述第二进程。
较佳的,第二进程基于所述数据包携带的指定类型数据的字节序,确定所述第一进程采用的第一字节序类型,包括:
所述第二进程获取所述数据包携带的指定类型数据的字节序;
所述第二进程确定所述指定类型数据的低位字节存储在低地址,高位字节存储在高地址时,判定所述第一进程采用的第一字节序类型是小端字节序类型;
所述第二进程确定所述指定类型数据的低位字节存储在高地址,高位字节存储在低地址时,判定所述第一进程采用的第一字节序类型是大端字节序类型。
较佳的,所述第二进程按照自身采用的第二字节序类型,对所述数据包进行字节序转换处理,并基于转换后的数据包,按照所述第二字节序类型,生成相应的响应数据包,包括:
所述第二进程按照所述第二字节序类型,分别对所述数据包的包头、有效数据和包尾进行字节序转换处理,获取转换后的数据包;
所述第二进程对所述转换后的数据包进行解析处理,获取所述转换后的数据包中携带的有效数据,并基于所述有效数据,生成相应的响应数据;
所述第二进程基于所述响应数据,按照所述第二字节序类型表征的字节存储顺序,生成相应的响应数据包。
较佳的,所述第二进程按照自身采用的第二字节序类型,对所述数据包进行字节序转换处理,包括:
所述第二进程按照所述第二字节序类型表征的字节存储顺序,分别对所述数据包携带的每一个字节的存储位置进行调整,完成对所述数据包的字节序转换处理。
一种不同进程间的通信装置,用于运行在不同中央处理器CPU且采用的字节序类型不同的第一应用模块和第二应用模块之间进行通信,所述第二应用模块包括:识别单元,生成单元,以及转换单元;
所述识别单元,用于接收所述第一应用模块发送的数据包,并基于所述数据包携带的指定类型数据的字节序,确定所述第一应用模块采用的第一字节序类型;
所述生成单元,用于按照自身采用的第二字节序类型,对所述数据包进行字节序转换处理,并基于转换后的数据包,按照所述第二字节序类型,生成相应的响应数据包;
所述转换单元,用于按照所述第一字节序类型,对所述响应数据包进行字节序转换处理,并将转换后的响应数据包发送至所述第一应用模块。
较佳的,接收所述第一应用装置发送的数据包之前,所述识别单元进一步用于:
指示所述第一应用模块:按照所述第一字节序类型生成数据包,并直接将所述数据包发送至所述第二应用模块。
较佳的,基于所述数据包携带的指定类型数据的字节序,确定所述第一应用模块采用的第一字节序类型时,所述识别单元用于:
获取所述数据包携带的指定类型数据的字节序;
确定所述指定类型数据的低位字节存储在低地址,高位字节存储在高地址时,判定所述第一应用模块采用的第一字节序类型是小端字节序类型;
确定所述指定类型数据的低位字节存储在高地址,高位字节存储在低地址时,判定所述第一应用模块采用的第一字节序类型是大端字节序类型。
较佳的,按照自身采用的第二字节序类型,对所述数据包进行字节序转换处理,并基于转换后的数据包,按照所述第二字节序类型,生成相应的响应数据包时,所述生成单元用于:
按照所述第二字节序类型,分别对所述数据包的包头、有效数据和包尾进行字节序转换处理,获取转换后的数据包;
对所述转换后的数据包进行解析处理,获取所述转换后的数据包携带的有效数据,并基于所述有效数据,生成相应的响应数据;
基于所述响应数据,按照所述第二字节序类型表征的字节存储顺序,生成相应的响应数据包。
较佳的,按照自身采用的第二字节序类型,对所述数据包进行字节序转换处理时,所述生成单元用于:
按照所述第二字节序类型表征的字节存储顺序,分别对所述数据包携带的每一个字节的存储位置进行调整,完成对所述数据包的字节序转换处理。
本发明实施例的有益效果如下:
本发明实施例中,第一进程在发送数据包之前,无需对上述数据包进行标准网络字节序转换处理,可以直接将上数据包发送至第二进程,从而节省了字节序转换的处理时间,进而提高了通信效率。而且,第二进程接收到第一进程发送的数据包后,不仅可以自动识别第一进程采用的第一字节序类型,而且,还可以按照第一进程采用的第一字节序类型,对生成的响应数据包进行字节序转换处理,使得第一进程在接收到响应数据包后,可以直接读取响应数据包携带的有效响应数据,无需对接收到的响应数据包进行标准网络字节序转换处理,进一步地节省了字节序转换的处理时间,提高了通信效率。除此之外,在保证了第二进程可以自动识别第一进程采用的第一字节序类型的同时,无需对程序代码进行修改,从而有效地降低了程序的开发和维护成本。
附图说明
图1为本发明实施例中不同进程间的通信方法的概况示意图;
图2为本发明实施例中不同进程间的通信方法的具体流程示意图;
图3为本发明实施例中不同进程间的通信装置的功能结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中存在无法自动识别字节序类型,以及通信效率较低的问题,本发明实施例中,运行在不同CPU且采用的字节序类型不同的第一进程和第二进程进行通信时,第一进程在按照自身采用的字节序类型生成相应的数据包后,无需将该数据包的字节序转换为标准网络字节序,可以直接将按照自身采用的字节序类型生成的数据包发送至第二进程,第二进程在接收到第一进程发送的上述数据包后,可以自动识别上述数据包对应的第一字节序类型,即可以自动识别上述第一进程采用的第一字节序类型,并按照自身采用的第二字节序类型,对上述数据包进行字节序转换处理,以及基于转换后的数据包,按照上述第二字节序类型,生成相应的响应数据包后,会按照上述第一字节序类型,对上述响应数据包进行字节序转换处理,并将转换后的响应数据包发送至上述第一进程。这样,只需要第二进程进行字节序转换,即可实现不同进程间的通信,从而提高了通信效率。
下面通过具体实施例对本发明方案进行详细描述,当然,本发明并不限于以下实施例。
参阅图1所示,本发明实施例中,用于运行在不同CPU且采用的字节序类型不同的第一进程和第二进程之间进行通信时的通信方法的具体流程如下:
步骤100:上述第二进程接收第一进程发送的数据包,并基于上述数据包携带的指定类型数据的字节序,确定上述第一进程采用的第一字节序类型。
实际应用中,上述第一进程与上述第二进程进行通信时,上述第一进程会按照自身采用的第一字节序类型,对有效数据进行打包处理,获取相应的数据包,并将获取到的上述数据包直接发送至上述第二进程,即无需按照标准网络字节序,对上述数据包进行字节序转换处理,减少了字节序转换的处理时间,提高了通信效率。
具体的,上述第二进程接收到第一进程发送的数据包后,会自动读取上述数据包携带的指定类型数据的字节序,并在确定上述指定类型数据的低位字节存储在低地址,高位字节存储在高地址时,判定上述第一进程采用的第一字节序类型是小端字节序类型;在确定上述指定类型数据的低位字节存储在高地址,高位字节存储在低地址时,判定上述第一进程采用的第一字节序类型是大端字节序类型。
较佳的,上述第二进程判断上述第一进程采用的第一字节序类型时,还可以采用但不限于以下方式:读取上述数据包携带的指定类型数据的最低位字节,确定读取到的上述指定类型数据的最低位字节与上述指定类型数据的初始值对应的最低位字节相同,且与上述指定类型数据的初始值对应的最高位字节不同时,判定上述第一进程采用的第一字节序类型是小端字节序类型;确定读取到的上述指定类型数据的最低位字节与上述指定类型数据的初始值对应的最低位字节不同,且与上述指定类型数据的初始值对应的最高位字节相同时,判定上述第一进程采用的第一字节序类型是大端字节序类型。
可选的,上述指定类型数据可以是但不限于是:上述数据包中的固定数据,比如:表征数据包格式的幻数,等等。
例如:假设在应用系统中,运行在不同CPU的进程A和进程B,进程A采用的字节序类型是小端字节序类型,进程B采用的字节序类型是大端字节序类型。
进程A与进程B进行通信时,会按照自身采用的小端字节序类型,对有效数据1进行打包处理,生成数据包1,并直接将数据包1发送至进程B。
进程B接收到进程A发送的数据包1后,会自动读取数据包1携带的幻数值1(假设幻数值1的初始值为0X1122)的最低位1个字节0X22,确定读取到的最低位1个字节0X22与幻数值1的初始值对应的最低位1个字节0X22相同,且与幻数值1的初始值对应的最高位1个字节0X11不同时,判定进程A采用的是小端字节序类型。
步骤101:上述第二进程按照自身采用的第二字节序类型,对上述数据包进行字节序转换处理,并基于转换后的数据包,按照上述第二字节序类型,生成相应的响应数据包。
具体的,上述第二进程确定自身采用的是第二字节序类型与上述第一进程采用的第一字节序类型不同时,会按照自身采用的第二字节序类型,分别对上述数据包的包头、有效数据和包尾进行字节序转换,即按照自身采用的第二字节序类型表征的字节存储顺序,分别对上述数据包的包头对应的每一个字节的存储位置,上述数据包携带的有效数据对应的每一个字节的存储位置,以及上述数据包的包尾对应的每一个字节的存储位置进行调整,获取转换后的数据包。
具体的,上述第二进程获取到转换后的数据包后,对转换后的数据包进行解析处理,获取转换后的数据包携带的有效数据,并基于上述有效数据,生成相应的响应数据,以及基于上述响应数据,按照自身采用的第二字节序类型表征的字节存储顺序,生成相应的响应数据包。
例如:继续沿用上例,进程B确定自身采用的是大端字节序类型与进程A采用的小端字节序类型不同时,按照自身采用的大端字节序类型表征的字节存储顺序,对数据包1的包头对应的每一个字节的存储位置,有效数据1对应的每一个字节的存储位置,以及包尾对应的每一个字节的存储顺序,分别进行调整,获取转换后的数据包1。
进程B对转换后的数据包1进行解析处理,获取转换后的数据包1携带的有效数据1,并基于有效数据1,生成响应数据1,以及基于响应数据1,按照自身采用的大端字节序类型表征的字节存储顺序,生成响应数据包1。
步骤102:上述第二进程按照上述第一字节序类型,对上述响应数据包进行字节序转换处理,并将转换后的响应数据包发送至上述第一进程。
具体地,上述第二进程按照上述第一进程采用的第一字节序类型,对上述响应数据包进行字节序转换处理的方法,与上述第二进程按照自身采用的第二字节序类型,对接收到的上述数据包进行字节序转换处理的方法相同,在此不再赘述。
进一步地,上述第一进程接收到上述转换后的响应数据包后,无需按照自身采用的第一字节序类型,对上述转换后的响应数据包进行字节序转换,可以直接读取上述转换后的响应数据包携带的有效响应数据,并基于上述有效响应数据,完成相应业务操作。至此,上述第一进程与上述第二进程之间的通信结束。
例如:继续沿用上例,进程B按照自身采用的大端字节序类型表征的字节存储顺序,生成响应数据包1后,按照进程A采用的小端字节序类型表征的字节序存储顺序,对响应数据包1的包头对应的每一个字节的存储位置,响应数据1对应的每一个字节的存储位置,以及包尾对应的每一个字节的存储位置分别进行调整,获取转换后的响应数据包1,并将转换后的响应数据包1发送至进程A。
进程A接收到响应数据包1后,直接读取响应数据包1携带的响应数据1,并基于响应数据1,完成相应的业务操作,至此,进程A与进程B之间的通信结束。
下面采用具体的应用场景对上述实施例作进一步详细说明,参阅图2所示,本发明实施例中,用于运行在不同CPU且采用的字节序类型不同的进程A和进程B之间进行通信时的通信方法的具体流程如下:
步骤200:进程A按照自身采用的小端字节序类型,对有效数据1进行打包处理,生成数据包1,并直接将数据包1发送至进程B。
步骤201:进程B接收到进程A发送的数据包1后,自动读取数据包1携带的幻数值1(假设幻数值1的初始值为0X1122)的最低位1个字节0X22。
步骤202:进程B确定读取到的最低位1个字节0X22与幻数值1的初始值对应的最低位1个字节0X22相同,且与幻数值1的初始值对应的最高位1个字节0X11不同时,判定进程A采用的是小端字节序类型。
步骤203:进程B确定自身采用的是大端字节序类型与进程A采用的小端字节序类型不同时,按照自身采用的大端字节序类型表征的字节存储顺序,分别对数据包1的包头、有效数据1和包尾进行字节序转换处理,获取转换后的数据包1。
步骤204:进程B对转换后的数据包1进行解析处理,获取转换后的数据包1携带的有效数据1,并基于有效数据1,生成响应数据1。
步骤205:进程B基于响应数据1,按照自身采用的大端字节序类型表征的字节存储顺序,生成响应数据包1。
步骤206:进程B按照进程A采用的小端字节序类型表征的字节序存储顺序,分别对响应数据包1的包头、响应数据1和包尾进行字节序转换处理,获取转换后的响应数据包1,并将转换后的响应数据包1发送至进程A。
步骤207:进程A接收到响应数据包1后,直接读取响应数据包1携带的响应数据1,并基于响应数据1,完成相应的业务操作。
基于上述实施例,参阅图3所示,本发明实施例中,用于运行在不同中央处理器CPU且采用的字节序类型不同的第一应用模块300和第二应用模块310之间进行通信的通信装置,上述第二应用模块310至少包括:识别单元311,生成单元312,以及转换单元313;
上述识别单元311,用于接收上述第一应用模块300发送的数据包,并基于上述数据包携带的指定类型数据的字节序,确定上述第一应用模块300采用的第一字节序类型;
上述生成单元312,用于按照自身采用的第二字节序类型,对上述数据包进行字节序转换处理,并基于转换后的数据包,按照上述第二字节序类型,生成相应的响应数据包;
上述转换单元313,用于按照上述第一字节序类型,对上述响应数据包进行字节序转换处理,并将转换后的响应数据包发送至上述第一应用模块300。
较佳的,接收上述第一应用装置300发送的数据包之前,上述识别单元311进一步用于:
指示上述第一应用模块300:按照上述第一字节序类型生成数据包,并直接将上述数据包发送至上述第二应用模块310。
较佳的,基于上述数据包携带的指定类型数据的字节序,确定上述第一应用模块300采用的第一字节序类型时,上述识别单元311用于:
获取上述数据包携带的指定类型数据的字节序;
确定上述指定类型数据的低位字节存储在低地址,高位字节存储在高地址时,判定上述第一应用模块300采用的第一字节序类型是小端字节序类型;
确定上述指定类型数据的低位字节存储在高地址,高位字节存储在低地址时,判定上述第一应用模块300采用的第一字节序类型是大端字节序类型。
较佳的,按照自身采用的第二字节序类型,对上述数据包进行字节序转换处理,并基于转换后的数据包,按照上述第二字节序类型,生成相应的响应数据包时,上述生成单元312用于:
按照上述第二字节序类型,分别对上述数据包的包头、有效数据和包尾进行字节序转换处理,获取转换后的数据包;
对上述转换后的数据包进行解析处理,获取上述转换后的数据包携带的有效数据,并基于上述有效数据,生成相应的响应数据;
基于上述响应数据,按照上述第二字节序类型表征的字节存储顺序,生成相应的响应数据包。
较佳的,按照自身采用的第二字节序类型,对上述数据包进行字节序转换处理时,上述生成单元312用于:
按照上述第二字节序类型表征的字节存储顺序,分别对上述数据包携带的每一个字节的存储位置进行调整,完成对上述数据包的字节序转换处理。
综上所述,本发明实施例中,第一进程直接将按照自身采用的第一字节序类型生成的数据包发送至第二进程,上述第二进程接收到上述数据包后,基于上述数据包携带的指定类型数据的字节序,确定上述第一进程采用的第一字节序类型,并在按照自身采用的第二字节序类型,对上述数据包进行字节序转换处理后,基于转换后的数据包,按照自身采用的第二字节序类型,生成相应的响应数据包,以及在按照上述第一进程采用的第一字节序类型,对上述响应数据包进行字节序转换处理后,将转换后的响应数据包发送至上述第一进程。这样,第一进程在发送数据包之前,无需对上述数据包进行标准网络字节序转换处理,可以直接将上数据包发送至第二进程,从而节省了字节序转换的处理时间,进而提高了通信效率。而且,第二进程接收到第一进程发送的数据包后,不仅可以自动识别第一进程采用的第一字节序类型,而且,还可以按照第一进程采用的第一字节序类型,对生成的响应数据包进行字节序转换处理,使得第一进程在接收到响应数据包后,可以直接读取响应数据包携带的有效响应数据,无需对接收到的响应数据包进行标准网络字节序转换处理,进一步地节省了字节序转换的处理时间,提高了通信效率。除此之外,在保证了第二进程可以自动识别第一进程采用的第一字节序类型的同时,无需对程序代码进行修改,从而有效地降低了程序的开发和维护成本。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种不同进程间的通信方法,其特征在于,用于运行在不同中央处理器CPU且采用的字节序类型不同的第一进程和第二进程之间进行通信,包括:
所述第二进程接收所述第一进程发送的数据包,并基于所述数据包携带的指定类型数据的字节序,确定所述第一进程采用的第一字节序类型;
所述第二进程按照自身采用的第二字节序类型,对所述数据包进行字节序转换处理,并基于转换后的数据包,按照所述第二字节序类型,生成相应的响应数据包;
所述第二进程按照所述第一字节序类型,对所述响应数据包进行字节序转换处理,并将转换后的响应数据包发送至所述第一进程。
2.如权利要求1所述的通信方法,其特征在于,所述第二进程接收所述第一进程发送的数据包之前,进一步包括:
所述第二进程指示所述第一进程:按照所述第一字节序类型生成数据包,并直接将所述数据包发送至所述第二进程。
3.如权利要求1或2所述的通信方法,其特征在于,第二进程基于所述数据包携带的指定类型数据的字节序,确定所述第一进程采用的第一字节序类型,包括:
所述第二进程获取所述数据包携带的指定类型数据的字节序;
所述第二进程确定所述指定类型数据的低位字节存储在低地址,高位字节存储在高地址时,判定所述第一进程采用的第一字节序类型是小端字节序类型;
所述第二进程确定所述指定类型数据的低位字节存储在高地址,高位字节存储在低地址时,判定所述第一进程采用的第一字节序类型是大端字节序类型。
4.如权利要求1-3任一项所述的通信方法,其特征在于,所述第二进程按照自身采用的第二字节序类型,对所述数据包进行字节序转换处理,并基于转换后的数据包,按照所述第二字节序类型,生成相应的响应数据包,包括:
所述第二进程按照所述第二字节序类型,分别对所述数据包的包头、有效数据和包尾进行字节序转换处理,获取转换后的数据包;
所述第二进程对所述转换后的数据包进行解析处理,获取所述转换后的数据包携带的有效数据,并基于所述有效数据,生成相应的响应数据;
所述第二进程基于所述响应数据,按照所述第二字节序类型表征的字节存储顺序,生成相应的响应数据包。
5.如权利要求1-4任一项所述的通信方法,其特征在于,所述第二进程按照自身采用的第二字节序类型,对所述数据包进行字节序转换处理,包括:
所述第二进程按照所述第二字节序类型表征的字节存储顺序,分别对所述数据包携带的每一个字节的存储位置进行调整,完成对所述数据包的字节序转换处理。
6.一种不同进程间的通信装置,其特征在于,用于运行在不同中央处理器CPU且采用的字节序类型不同的第一应用模块和第二应用模块之间进行通信,所述第二应用模块包括:识别单元,生成单元,以及转换单元;
所述识别单元,用于接收所述第一应用模块发送的数据包,并基于所述数据包携带的指定类型数据的字节序,确定所述第一应用模块采用的第一字节序类型;
所述生成单元,用于按照自身采用的第二字节序类型,对所述数据包进行字节序转换处理,并基于转换后的数据包,按照所述第二字节序类型,生成相应的响应数据包;
所述转换单元,用于按照所述第一字节序类型,对所述响应数据包进行字节序转换处理,并将转换后的响应数据包发送至所述第一应用模块。
7.如权利要求6所述的通信装置,其特征在于,接收所述第一应用装置发送的数据包之前,所述识别单元进一步用于:
指示所述第一应用模块:按照所述第一字节序类型生成数据包,并直接将所述数据包发送至所述第二应用模块。
8.如权利要求6或7所述的通信装置,其特征在于,基于所述数据包携带的指定类型数据的字节序,确定所述第一应用模块采用的第一字节序类型时,所述识别单元用于:
获取所述数据包携带的指定类型数据的字节序;
确定所述指定类型数据的低位字节存储在低地址,高位字节存储在高地址时,判定所述第一应用模块采用的第一字节序类型是小端字节序类型;
确定所述指定类型数据的低位字节存储在高地址,高位字节存储在低地址时,判定所述第一应用模块采用的第一字节序类型是大端字节序类型。
9.如权利要求6-8任一项所述的通信装置,其特征在于,按照自身采用的第二字节序类型,对所述数据包进行字节序转换处理,并基于转换后的数据包,按照所述第二字节序类型,生成相应的响应数据包时,所述生成单元用于:
按照所述第二字节序类型,分别对所述数据包的包头、有效数据和包尾进行字节序转换处理,获取转换后的数据包;
对所述转换后的数据包进行解析处理,获取所述转换后的数据包携带的有效数据,并基于所述有效数据,生成相应的响应数据;
基于所述响应数据,按照所述第二字节序类型表征的字节存储顺序,生成相应的响应数据包。
10.如权利要求6-9任一项所述的通信装置,其特征在于,按照自身采用的第二字节序类型,对所述数据包进行字节序转换处理时,所述生成单元用于:
按照所述第二字节序类型表征的字节存储顺序,分别对所述数据包携带的每一个字节的存储位置进行调整,完成对所述数据包的字节序转换处理。
CN201610708397.9A 2016-08-23 2016-08-23 一种不同进程间的通信方法及通信装置 Pending CN106354568A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610708397.9A CN106354568A (zh) 2016-08-23 2016-08-23 一种不同进程间的通信方法及通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610708397.9A CN106354568A (zh) 2016-08-23 2016-08-23 一种不同进程间的通信方法及通信装置

Publications (1)

Publication Number Publication Date
CN106354568A true CN106354568A (zh) 2017-01-25

Family

ID=57844488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610708397.9A Pending CN106354568A (zh) 2016-08-23 2016-08-23 一种不同进程间的通信方法及通信装置

Country Status (1)

Country Link
CN (1) CN106354568A (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647355A (zh) * 2018-06-27 2020-01-03 上海寒武纪信息科技有限公司 数据处理器和数据处理方法
CN110808965A (zh) * 2019-10-22 2020-02-18 许继集团有限公司 一种监控系统的调试方法及装置
CN111953639A (zh) * 2019-05-17 2020-11-17 大唐移动通信设备有限公司 有头链路通信方法和装置
CN113419777A (zh) * 2021-05-08 2021-09-21 中国科学院声学研究所 一种可编程交换机的指令块转换执行方法及系统
US11397579B2 (en) 2018-02-13 2022-07-26 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11437032B2 (en) 2017-09-29 2022-09-06 Shanghai Cambricon Information Technology Co., Ltd Image processing apparatus and method
US11442785B2 (en) 2018-05-18 2022-09-13 Shanghai Cambricon Information Technology Co., Ltd Computation method and product thereof
US11513586B2 (en) 2018-02-14 2022-11-29 Shanghai Cambricon Information Technology Co., Ltd Control device, method and equipment for processor
CN115549862A (zh) * 2022-12-05 2022-12-30 大方智造(天津)科技有限公司 基于动态解析的mes系统并发性能测试数据接收方法
US11544059B2 (en) 2018-12-28 2023-01-03 Cambricon (Xi'an) Semiconductor Co., Ltd. Signal processing device, signal processing method and related products
US11609760B2 (en) 2018-02-13 2023-03-21 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11630666B2 (en) 2018-02-13 2023-04-18 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11675676B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US11676029B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US11703939B2 (en) 2018-09-28 2023-07-18 Shanghai Cambricon Information Technology Co., Ltd Signal processing device and related products
US11762690B2 (en) 2019-04-18 2023-09-19 Cambricon Technologies Corporation Limited Data processing method and related products
US11789847B2 (en) 2018-06-27 2023-10-17 Shanghai Cambricon Information Technology Co., Ltd On-chip code breakpoint debugging method, on-chip processor, and chip breakpoint debugging system
US11847554B2 (en) 2019-04-18 2023-12-19 Cambricon Technologies Corporation Limited Data processing method and related products
US11966583B2 (en) 2018-08-28 2024-04-23 Cambricon Technologies Corporation Limited Data pre-processing method and device, and related computer device and storage medium
US12001955B2 (en) 2019-08-23 2024-06-04 Anhui Cambricon Information Technology Co., Ltd. Data processing method, device, computer equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070038637A1 (en) * 2005-08-12 2007-02-15 Manik Taneja Optimized network cache for virus scanning by examining the magic bytes of a file
CN103179133A (zh) * 2013-04-12 2013-06-26 北京工业大学 基于实体类的客户端与服务器通信的方法
CN104378336A (zh) * 2013-08-16 2015-02-25 好看科技(深圳)有限公司 一种数据处理方法、系统及服务器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070038637A1 (en) * 2005-08-12 2007-02-15 Manik Taneja Optimized network cache for virus scanning by examining the magic bytes of a file
CN103179133A (zh) * 2013-04-12 2013-06-26 北京工业大学 基于实体类的客户端与服务器通信的方法
CN104378336A (zh) * 2013-08-16 2015-02-25 好看科技(深圳)有限公司 一种数据处理方法、系统及服务器

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11437032B2 (en) 2017-09-29 2022-09-06 Shanghai Cambricon Information Technology Co., Ltd Image processing apparatus and method
US11740898B2 (en) 2018-02-13 2023-08-29 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11720357B2 (en) 2018-02-13 2023-08-08 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11709672B2 (en) 2018-02-13 2023-07-25 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11704125B2 (en) 2018-02-13 2023-07-18 Cambricon (Xi'an) Semiconductor Co., Ltd. Computing device and method
US11663002B2 (en) 2018-02-13 2023-05-30 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11397579B2 (en) 2018-02-13 2022-07-26 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11630666B2 (en) 2018-02-13 2023-04-18 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11620130B2 (en) 2018-02-13 2023-04-04 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11507370B2 (en) 2018-02-13 2022-11-22 Cambricon (Xi'an) Semiconductor Co., Ltd. Method and device for dynamically adjusting decimal point positions in neural network computations
US11609760B2 (en) 2018-02-13 2023-03-21 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11513586B2 (en) 2018-02-14 2022-11-29 Shanghai Cambricon Information Technology Co., Ltd Control device, method and equipment for processor
US11442785B2 (en) 2018-05-18 2022-09-13 Shanghai Cambricon Information Technology Co., Ltd Computation method and product thereof
US11442786B2 (en) 2018-05-18 2022-09-13 Shanghai Cambricon Information Technology Co., Ltd Computation method and product thereof
CN110647355A (zh) * 2018-06-27 2020-01-03 上海寒武纪信息科技有限公司 数据处理器和数据处理方法
CN110647355B (zh) * 2018-06-27 2021-11-26 上海寒武纪信息科技有限公司 数据处理器和数据处理方法
US11789847B2 (en) 2018-06-27 2023-10-17 Shanghai Cambricon Information Technology Co., Ltd On-chip code breakpoint debugging method, on-chip processor, and chip breakpoint debugging system
US11966583B2 (en) 2018-08-28 2024-04-23 Cambricon Technologies Corporation Limited Data pre-processing method and device, and related computer device and storage medium
US11703939B2 (en) 2018-09-28 2023-07-18 Shanghai Cambricon Information Technology Co., Ltd Signal processing device and related products
US11544059B2 (en) 2018-12-28 2023-01-03 Cambricon (Xi'an) Semiconductor Co., Ltd. Signal processing device, signal processing method and related products
US11762690B2 (en) 2019-04-18 2023-09-19 Cambricon Technologies Corporation Limited Data processing method and related products
US11934940B2 (en) 2019-04-18 2024-03-19 Cambricon Technologies Corporation Limited AI processor simulation
US11847554B2 (en) 2019-04-18 2023-12-19 Cambricon Technologies Corporation Limited Data processing method and related products
CN111953639B (zh) * 2019-05-17 2021-11-12 大唐移动通信设备有限公司 有头链路通信方法和装置
CN111953639A (zh) * 2019-05-17 2020-11-17 大唐移动通信设备有限公司 有头链路通信方法和装置
US11675676B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US11676029B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US11676028B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US12001955B2 (en) 2019-08-23 2024-06-04 Anhui Cambricon Information Technology Co., Ltd. Data processing method, device, computer equipment and storage medium
CN110808965A (zh) * 2019-10-22 2020-02-18 许继集团有限公司 一种监控系统的调试方法及装置
CN110808965B (zh) * 2019-10-22 2022-11-25 许继集团有限公司 一种监控系统的调试方法及装置
CN113419777A (zh) * 2021-05-08 2021-09-21 中国科学院声学研究所 一种可编程交换机的指令块转换执行方法及系统
CN113419777B (zh) * 2021-05-08 2023-07-18 中国科学院声学研究所 一种可编程交换机的指令块转换执行方法及系统
CN115549862A (zh) * 2022-12-05 2022-12-30 大方智造(天津)科技有限公司 基于动态解析的mes系统并发性能测试数据接收方法

Similar Documents

Publication Publication Date Title
CN106354568A (zh) 一种不同进程间的通信方法及通信装置
US9509312B2 (en) Boolean logic in a state machine lattice
CN111818136B (zh) 数据处理方法、装置、电子设备及计算机可读介质
CN111404883B (zh) 一种物联网设备通用协议的解析方法及装置
CN109561104A (zh) 一种通信协议转换方法及装置
CN103559156B (zh) 一种fpga与计算机之间的通信系统
CN109756568A (zh) 文件的处理方法、设备及计算机可读存储介质
CN107070589A (zh) 一种基于面向对象协议与传统协议的电能表自适应方法、装置及电能表
CN110297944B (zh) 分布式xml数据处理方法及系统
CN105187533A (zh) 一种数据传输的方法及装置
CN107957861B (zh) 即时播放声卡信号输入通道中音频数据的方法及装置
CN109243425A (zh) 语音识别测试方法、装置、系统、计算机设备及存储介质
CN109979430A (zh) 一种机器人讲故事的方法、装置、机器人及存储介质
US10402265B2 (en) Validation of a symbol response memory
CN104463061A (zh) 在网络连接不可靠情况下的数据传输系统及方法
CN109524004A (zh) 一种实现多路音频和数据的并行传输的方法、外接式的语音交互装置和系统
CN114817114B (zh) 一种mipi接口、及其控制方法、装置及介质
CN103729319A (zh) 基于串行总线的设备系统及数据传输方法
CN114020272A (zh) 一种序列化编码、解码方法、装置及电子设备
CN114660956A (zh) 智能驾驶仿真测试系统、方法、电子装置和存储介质
CN105279123A (zh) 双冗余1553b总线的串口转换结构及转换方法
WO2016127953A1 (zh) 基于软硬架构的高端容错计算机fpga专用调试方法及其装置
CN104581147B (zh) 一种hdmi和mipi功能互测的方法与装置
CN109144853B (zh) 一种软件定义无线电SoC芯片调试系统
CN105389205B (zh) 一种信息处理方法及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20180223

Address after: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou, Guangzhou economic and Technological Development Zone, Guangdong Province, No. 10

Applicant after: Comba Telecom System (China) Co., Ltd.

Applicant after: Comba Telecom Systems (Guangzhou) Co., Ltd.

Applicant after: Jingxin Communication Technology (Guangzhou) Co., Ltd.

Applicant after: TIANJIN COMBA TELECOM SYSTEMS CO., LTD.

Address before: 510663 Jin Bi Road, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong Province, 510663

Applicant before: Jingxin Communication Technology (Guangzhou) Co., Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200103

Address after: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Applicant after: Jingxin Communication System (China) Co., Ltd.

Address before: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou, Guangzhou economic and Technological Development Zone, Guangdong Province, No. 10

Applicant before: Jingxin Communication System (China) Co., Ltd.

Applicant before: Jingxin Communication System (Guangzhou) Co., Ltd.

Applicant before: Jingxin Communication Technology (Guangzhou) Co., Ltd.

Applicant before: TIANJIN COMBA TELECOM SYSTEMS CO., LTD.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20170125

RJ01 Rejection of invention patent application after publication