CN116233093A - 产品数据分发方法和装置 - Google Patents
产品数据分发方法和装置 Download PDFInfo
- Publication number
- CN116233093A CN116233093A CN202211685258.0A CN202211685258A CN116233093A CN 116233093 A CN116233093 A CN 116233093A CN 202211685258 A CN202211685258 A CN 202211685258A CN 116233093 A CN116233093 A CN 116233093A
- Authority
- CN
- China
- Prior art keywords
- product data
- subscription
- target
- ready
- request
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种产品数据分发方法和装置,属于数据处理技术领域。所述产品数据分发方法,应用于发送端,所述方法包括:将待发送产品数据转换至目标类型,生成第一产品数据,所述待发送产品数据为基于订阅端的订阅请求确定的,所述目标类型为发布订阅数据所需的类型;向所述订阅端发送就绪请求;接收所述订阅端返回的请求响应;在所述请求响应为就绪的情况下,向所述订阅端发布所述第一产品数据。本申请的产品数据分发方法,能够将待发送产品数据转换为发布订阅的目标类型,实现了产品的不同类型数据的完整分发,适用于各种数据类型,能够满足用户对各种真实数据类型的需求。
Description
技术领域
本申请属于数据处理技术领域,尤其涉及一种产品数据分发方法和装置。
背景技术
在工业视觉检测中对流水线产品进行检测时,需要对检测获得的产品数据进行分发处理,数据分发过程中发布和订阅的数据类型多种多样,常用的数据分发方法不能实现产品不同类型数据的完整分发。
发明内容
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种产品数据分发方法和装置,能够将待发送产品数据转换为发布订阅的目标类型,实现了产品的不同类型数据的完整分发,适用于各种数据类型,以满足用户对各种真实数据类型的需求。
第一方面,本申请提供了一种产品数据分发方法,应用于发送端,该方法包括:
将待发送产品数据转换至目标类型,生成第一产品数据,所述待发送产品数据为基于订阅端的订阅请求确定的,所述目标类型为发布订阅数据所需的类型;
向所述订阅端发送就绪请求;
接收所述订阅端返回的请求响应;
在所述请求响应为就绪的情况下,向所述订阅端发布所述第一产品数据。
根据本申请实施例提供的产品数据分发方法,通过将待发送产品数据转换至目标类型,生成第一产品数据,然后向订阅端发送就绪请求并接收订阅端返回的请求响应,在请求响应为就绪的情况下,向订阅端发布第一产品数据,能够将待发送产品数据转换为发布订阅的目标类型,实现了产品的不同类型数据的完整分发,适用于各种数据类型,能够满足用户对各种真实数据类型的需求。
本申请一个实施例的产品数据分发方法,所述订阅端为多个,所述在所述请求响应为就绪的情况下,向所述订阅端发布所述第一产品数据,包括:
在多个订阅端返回的所述请求响应均为就绪的情况下,分别向各所述订阅端发送与所述订阅请求对应的第一产品数据。
根据本申请一个实施例的产品数据分发方法,通过在多个订阅端返回的请求响应均为就绪的情况下,分别向各订阅端发送与订阅请求对应的第一产品数据,便于对多个接收端的数据分发进行统一管理,提高了数据分发效率。
本申请一个实施例的产品数据分发方法,在所述向所述订阅端发布所述第一产品数据之后,所述方法还包括:
检测与各所述订阅端对应的发布任务的执行状态,所述发布任务与所述订阅端一一对应;
在所述多个订阅端对应的执行状态均为完成的情况下,向各所述订阅端发送周期结束主题。
根据本申请一个实施例的产品数据分发方法,通过检测与各订阅端对应的发布任务的执行状态,并在多个订阅端对应的执行状态均为完成的情况下,向各订阅端发送周期结束主题,在后续应用过程中,有利于订阅端基于周期结束主题,对接收到的第一产品数据进行处理,便于对多个接收端的数据分发进行统一管理,提高了整体数据分发的效率。
本申请一个实施例的产品数据分发方法,所述目标类型包括:char型数组和char型向量。
根据本申请一个实施例的产品数据分发方法,通过将待发送产品数据统一为包含char型数组和char型向量,该方法能够适应不同类型数据的需要,同时保持了数据的扩展性。
本申请一个实施例的产品数据分发方法,所述目标类型具有可扩展性。
根据本申请一个实施例的产品数据分发方法,通过设置目标类型为具有可扩展性的数据类型,能够在后续应用过程中,在增加新类型的待发送产品数据的情况下,无需改变发布订阅数据的类型,减少了人工工作量。
第二方面,本申请实施例提供了一种产品数据分发方法,应用于订阅端,所述方法包括:
接收发送端发送的就绪请求;
响应于所述就绪请求,基于所述订阅端的当前接收状态,向所述发送端返回请求响应;
在所述请求响应为就绪的情况下,接收所述发送端发送的第一产品数据,所述第一产品数据为目标类型。
根据本申请实施例提供的产品数据分发方法,通过接收发送端发送的就绪请求,然后响应于就绪请求,基于订阅端的当前接收状态,向发送端返回请求响应,并在请求响应为就绪的情况下,接收发送端发送的第一产品数据,保证了订阅端接收到的第一产品数据的完整性与一致性,且该方法中的发送端和订阅端是完全解耦的,能够适用于多进程或分布式的场景。
本申请一个实施例的产品数据分发方法,在所述接收所述发送端发送的第一产品数据之后,所述方法还包括:
接收所述发送端发送的周期结束主题;
响应于所述周期结束主题,查询目标周期下所述订阅端订阅的其他订阅请求所对应的订阅任务;
在所述目标周期下的全部订阅任务均完成的情况下,对目标产品数据进行目标处理;所述目标产品数据包括所述目标周期下接收的全部所述第一产品数据,所述目标处理包括保存、显示以及二次组装后转发中的至少一种处理。
根据本申请一个实施例的产品数据分发方法,通过接收发送端发送的周期结束主题,然后响应于周期结束主题,查询目标周期下订阅端订阅的其他订阅请求所对应的订阅任务,并在目标周期下的全部订阅任务均完成的情况下,对目标产品数据进行目标处理,保证了订阅端接收到的目标产品数据的一致性,提高了数据分发的效率。
本申请一个实施例的产品数据分发方法,所述对目标产品数据进行目标处理,还包括:
将所述目标产品数据的所述目标类型转换为待发送产品数据对应的实际数据类型。
根据本申请一个实施例的产品数据分发方法,通过订阅端将目标产品数据的目标类型转换为待发送产品数据对应的实际数据类型,能够将发布订阅的数据类型转回实际数据类型,可在实现不同类型数据的统一分发的基础上,满足用户对多种真实数据类型的需求。
第三方面,本申请提供了一种产品数据分发装置,应用于发送端,包括:
第一处理模块,用于将待发送产品数据转换至目标类型,生成第一产品数据,所述待发送产品数据为基于订阅端的订阅请求确定的,所述目标类型为发布订阅数据所需的类型;
第二处理模块,用于向所述订阅端发送就绪请求;
第三处理模块,用于接收所述订阅端返回的请求响应;
第四处理模块,用于在所述请求响应为就绪的情况下,向所述订阅端发布所述第一产品数据。
根据本申请实施例提供的产品数据分发装置,通过将待发送产品数据转换至目标类
型,生成第一产品数据,然后向订阅端发送就绪请求并接收订阅端返回的请求响应,在5请求响应为就绪的情况下,向订阅端发布第一产品数据,能够将待发送产品数据转换为
发布订阅的目标类型,实现了产品的不同类型数据的完整分发,适用于各种数据类型,能够满足用户对各种真实数据类型的需求。
第四方面,本申请提供了一种产品数据分发装置,应用于订阅端,包括:
第五处理模块,用于接收发送端发送的就绪请求;
0第六处理模块,用于响应于所述就绪请求,基于所述订阅端的当前接收状态,向所
述发送端返回请求响应;
第七处理模块,用于在所述请求响应为就绪的情况下,接收所述发送端发送的第一产品数据,所述第一产品数据为目标类型。
根据本申请实施例提供的产品数据分发装置,通过接收发送端发送的就绪请求,然5后响应于就绪请求,基于订阅端的当前接收状态,向发送端返回请求响应,并在请求响
应为就绪的情况下,接收发送端发送的第一产品数据,保证了订阅端接收到的第一产品数据的完整性与一致性,且该装置中的发送端和订阅端是完全解耦的,能够适用于多进程或分布式的场景。
第五方面,本申请提供了一种电子设备,包括存储器、处理器及存储在所述存储器0上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上
述第一方面或第二方面所述的产品数据分发方法。
第六方面,本申请提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面或第二方面所述的产品数据分发方法。
5第七方面,本申请提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接
口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面或第二方面所述的产品数据分发方法。
第八方面,本申请提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第一方面或第二方面所述的产品数据分发方法。
0本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
通过将待发送产品数据转换至目标类型,生成第一产品数据,然后向订阅端发送就绪请求并接收订阅端返回的请求响应,在请求响应为就绪的情况下,向订阅端发布第一产品数据,能够将待发送产品数据转换为发布订阅的目标类型,实现了产品的不同类型数据的完整分发,适用于各种数据类型,能够满足用户对各种真实数据类型的需求。
进一步的,通过检测与各订阅端对应的发布任务的执行状态,并在多个订阅端对应的执行状态均为完成的情况下,向各订阅端发送周期结束主题,在后续应用过程中,有利于订阅端基于周期结束主题,对接收到的第一产品数据进行处理,便于对多个接收端的数据分发进行统一管理,提高了整体数据分发的效率。
更进一步的,通过接收发送端发送的就绪请求,然后响应于就绪请求,基于订阅端的当前接收状态,向发送端返回请求响应,并在请求响应为就绪的情况下,接收发送端发送的第一产品数据,保证了订阅端接收到的第一产品数据的完整性与一致性,且该方法中的发送端和订阅端是完全解耦的,能够适用于多进程或分布式的场景。
再进一步的,通过接收发送端发送的周期结束主题,然后响应于周期结束主题,查询目标周期下订阅端订阅的其他订阅请求所对应的订阅任务,并在目标周期下的全部订阅任务均完成的情况下,对目标产品数据进行目标处理,保证了订阅端接收到的目标产品数据的一致性,提高了数据分发的效率。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请实施例提供的产品数据分发方法的流程示意图之一;
图2是本申请实施例提供的产品数据分发方法的原理示意图;
图3是本申请实施例提供的产品数据分发方法的流程示意图之二;
图4是本申请实施例提供的产品数据分发方法的流程示意图之三;
图5是本申请实施例提供的产品数据分发装置的结构示意图之一;
图6是本申请实施例提供的产品数据分发装置的结构示意图之二;
图7是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的产品数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合图1至图3描述本申请的产品数据分发方法。
需要说明的是,产品数据分发方法的执行主体可以为发送端,或者可以为产品数据分发装置,其中,发送端可以为用户的终端,包括但不限于移动终端和非移动终端。
例如,移动终端包括但不限于手机、PDA智能终端、平板电脑以及车载智能终端等;非移动终端包括但不限于PC端等。
需要说明的是,该产品数据分发方法的执行主体为发送端。
数据分发系统包括数据发布者和数据订阅者,其中,数据发布者对应的终端为发送端,数据订阅者对应的终端为订阅端,订阅者向发布者订阅感兴趣的数据,发布者将数据推送到订阅者,供订阅者完成保存、显示以及二次组装后转发。
需要说明的是,本申请中的发送端和订阅端是完全解耦的,物理形态可以是不同线程、同机台不同进程和不同机台,且适用于发布者和订阅者是多对多的场景。
如图1所示,该产品数据分发方法包括:步骤110、步骤120、步骤130和步骤140。
步骤110、将待发送产品数据转换至目标类型,生成第一产品数据,待发送产品数据为基于订阅端的订阅请求确定的,目标类型为发布订阅数据所需的类型。
在该步骤中,待发送产品数据为基于订阅端的订阅请求确定的。
待发送产品数据可以为任意类型的数据。
目标类型为发布订阅的数据类型,目标类型用于统一待发送产品数据的数据类型。
第一产品数据为转换至目标类型之后的产品数据。在本申请中,发送端可以通过数据转换模块,将待发送产品数据的实际数据类型转换为发布订阅数据类型,即为目标类型。
在一些实施例中,目标类型可以包括:char型数组和char型向量。
在该实施例中,可以将待发送产品数据统一为包含char型数组和char型向量,适应定长和变长数据。
在实际执行过程中,可以对FastDDS进行接口封装,以支持传递统一后的数据类型。
根据本申请实施例提供的产品数据分发方法,通过将待发送产品数据统一为包含char型数组和char型向量,该方法能够适应不同类型数据的需要,同时保持了数据的扩展性。
在一些实施例中,目标类型具有可扩展性。
在该实施例中,目标类型具有可扩展性,能够在后续增加新类型的待发送产品数据的情况下,无需修改目标类型。
根据本申请实施例提供的产品数据分发方法,通过设置目标类型为具有可扩展性的数据类型,能够在后续应用过程中,在增加新类型的待发送产品数据的情况下,无需改变发布订阅数据的类型,减少了人工工作量。
步骤120、向订阅端发送就绪请求。
在该步骤中,发送端向订阅端发送就绪请求,就绪可以表现为Ready,就绪请求用于问询订阅端是否进入接收状态。
步骤130、接收订阅端返回的请求响应。
在该步骤中,发送端接收订阅端返回的请求响应,请求响应可以为就绪,就绪可以表现为Ready,请求响应也可以为未就绪,未就绪可以表现为Unready。
发送端发送就绪请求,订阅端接收发送端发送的就绪请求,响应于就绪请求,基于订阅端的当前接收状态,订阅端向发送端返回请求响应,发送端接收订阅端返回的请求响应,基于请求响应,发送端判断是否要开始执行。
步骤140、在请求响应为就绪的情况下,向订阅端发布第一产品数据。
在该步骤中,在请求响应为就绪的情况下,发送端开始执行任务,发送端向订阅端发布第一产品数据。
如图3所示,在一些实施例中,在请求响应为未就绪的情况下,发送端将重新向订阅端发送就绪请求。
发送端向订阅端发送就绪请求,订阅端接收发送端发送的就绪请求,然后基于订阅端的当前接收状态,订阅端向发送端返回请求响应,在请求响应为就绪的情况下,订阅端接收发送端发送的第一产品数据,将第一产品数据转换回真实的数据类型,并对转化后的数据进行保存、显示以及二次组装后转发中的至少一种处理。
在一些实施例中,订阅端为多个,步骤140可以包括:
在多个订阅端返回的请求响应均为就绪的情况下,分别向各订阅端发送与订阅请求对应的第一产品数据。
在该实施例中,多个订阅端可以发送多个订阅请求,订阅端与订阅请求一一对应。
可以理解的是,多个订阅端也可以返回多个请求响应,订阅端与请求响应一一对应。
在多个订阅端返回的请求响应均为就绪的情况下,发送端开始执行任务,发送端分别向各订阅端发送与订阅请求对应的第一产品数据。
继续参考图3,在一些实施例中,在多个订阅端返回的请求响应中至少有一个不是就绪的情况下,发送端将重新向多个订阅端发送就绪请求。
根据本申请实施例提供的产品数据分发方法,通过在多个订阅端返回的请求响应均为就绪的情况下,分别向各订阅端发送与订阅请求对应的第一产品数据,便于对多个接收端的数据分发进行统一管理,提高了数据分发效率。
在实际执行过程中,如图2所示,发送端可以设置有引擎,检测流程包含多个任务,引擎调度线程去执行各个任务并监测任务状态,任务全部完成即为一个引擎执行周期。
在本申请中,将待发送产品数据转换成发布订阅所需的类型,统一了发送端和订阅端传递的数据类型,使得对于任意类型的待发送产品数据,均可转化为目标类型进行发送,实现不同类型的兼容,适用于任意类型的待发送产品数据,从而实现了同一产品的不同类型数据的完整分发。
根据本申请实施例提供的产品数据分发方法,通过将待发送产品数据转换至目标类型,生成第一产品数据,然后向订阅端发送就绪请求并接收订阅端返回的请求响应,在请求响应为就绪的情况下,向订阅端发布第一产品数据,可以基于订阅端状态,判断是否要开始执行任务,能够将待发送产品数据转换为发布订阅的目标类型,实现了产品的不同类型数据的完整分发,适用于各种数据类型,能够满足用户对各种真实数据类型的需求。
在一些实施例中,在步骤140之后,该产品数据分发方法还可以包括:
检测与各订阅端对应的发布任务的执行状态,发布任务与订阅端一一对应;
在多个订阅端对应的执行状态均为完成的情况下,向各订阅端发送周期结束主题。
如图2所示,在该实施例中,发布任务可以为多个,发布任务与订阅端一一对应。
执行状态与订阅端也是一一对应,执行状态可以基于发送端发送任务执行的过程数据来确定。
订阅端对应的执行状态可以是完成,或者可以是未完成,在多个订阅端对应的执行状态均为完成的情况下,发送端向各订阅端发送周期结束主题。
在一些实施例中,在多个订阅端对应的执行状态至少有一个为未完成的情况下,各个线程将继续执行任务。
在一些实施例中,第一产品数据的内容可以包括产品号标识,其中,产品号标识与周期结束主题是相结合的,基于产品号标识,可以保证第一产品数据的完整性与一致性。
在实际执行过程中,发送端将待发送产品数据转换至目标类型,生成第一产品数据,然后发送端向订阅端发送就绪请求,订阅端接收发送端发送的就绪请求,基于订阅端的状态,订阅端向发送端发送请求响应,发送端接收订阅端返回的请求响应,在多个订阅端返回的请求响应均为就绪的情况下,发送端分别向各订阅端发送与订阅请求对应的第一产品数据,发送端检测与各订阅端对应的发布任务的执行状态,在多个订阅端对应的执行状态均为完成的情况下,向各订阅端发送周期结束主题,订阅端接收发送端发送的周期结束主题,查询目标周期下订阅端订阅的其他订阅请求所对应的订阅任务,在目标周期下的全部订阅任务均完成的情况下,订阅端将第一产品数据转换回真实的数据类型,并对目标周期下接收的全部第一产品数据进行保存、显示以及二次组装后转发中的至少一种处理。
根据本申请实施例提供的产品数据分发方法,通过检测与各订阅端对应的发布任务的执行状态,并在多个订阅端对应的执行状态均为完成的情况下,向各订阅端发送周期结束主题,在后续应用过程中,有利于订阅端基于周期结束主题,对接收到的第一产品数据进行处理,便于对多个接收端的数据分发进行统一管理,提高了整体数据分发的效率。
下面对本申请提供的产品数据分发装置进行描述,下文描述的产品数据分发装置与上文描述的产品数据分发方法可相互对应参照。
本申请实施例提供的产品数据分发方法,执行主体可以为产品数据分发装置。本申请实施例中以产品数据分发装置执行产品数据分发方法为例,说明本申请实施例提供的产品数据分发装置。
本申请实施例还提供一种产品数据分发装置。
如图5所示,该产品数据分发装置应用于发送端,该装置包括:第一处理模块510、第二处理模块520、第三处理模块530和第四处理模块540。
第一处理模块510,用于将待发送产品数据转换至目标类型,生成第一产品数据,待发送产品数据为基于订阅端的订阅请求确定的,目标类型为发布订阅数据所需的类型;
第二处理模块520,用于向订阅端发送就绪请求;
第三处理模块530,用于接收订阅端返回的请求响应;
第四处理模块540,用于在请求响应为就绪的情况下,向订阅端发布第一产品数据。
根据本申请实施例提供的产品数据分发装置,通过将待发送产品数据转换至目标类型,生成第一产品数据,然后向订阅端发送就绪请求并接收订阅端返回的请求响应,在请求响应为就绪的情况下,向订阅端发布第一产品数据,能够将待发送产品数据转换为发布订阅的目标类型,实现了产品的不同类型数据的完整分发,适用于各种数据类型,能够满足用户对各种真实数据类型的需求。
在一些实施例中,订阅端为多个,第四处理模块540还可以用于在多个订阅端返回的请求响应均为就绪的情况下,分别向各订阅端发送与订阅请求对应的第一产品数据。
根据本申请实施例提供的产品数据分发装置,通过在多个订阅端返回的请求响应均为就绪的情况下,分别向各订阅端发送与订阅请求对应的第一产品数据,能够基于订阅端的状态,判断是否要开始执行任务,提高了数据分发效率。
在一些实施例中,该产品数据分发装置还可以包括第八处理模块,用于检测与各订阅端对应的发布任务的执行状态,发布任务与订阅端一一对应;
在多个订阅端对应的执行状态均为完成的情况下,向各订阅端发送周期结束主题。
根据本申请实施例提供的产品数据分发装置,通过检测与各订阅端对应的发布任务的执行状态,并在多个订阅端对应的执行状态均为完成的情况下,向各订阅端发送周期结束主题,在后续应用过程中,有利于订阅端基于周期结束主题,对接收到的第一产品数据进行处理,便于对多个接收端的数据分发进行统一管理,提高了整体数据分发的效率。
在一些实施例中,该产品数据分发装置还可以包括第九处理模块,目标类型包括:char型数组和char型向量。
根据本申请实施例提供的产品数据分发装置,通过将待发送产品数据统一为包含char型数组和char型向量,该装置能够适应不同类型数据的需要,同时保持了数据的扩展性。
下面结合图4描述本申请提出的另一种产品数据分发方法。
需要说明的是,产品数据分发方法的执行主体还可以为订阅端,或者可以为产品数据分发装置。
下文描述的产品数据分发方法,其执行主体为订阅端。
如图4所示,该产品数据分发方法包括:步骤410、步骤420和步骤430。
步骤410、接收发送端发送的就绪请求。
在该步骤中,订阅端接收发送端发送的就绪请求,就绪请求用于发送端问询订阅端是否进入接收状态。
步骤420、响应于就绪请求,基于订阅端的当前接收状态,向发送端返回请求响应。
在该步骤中,响应于就绪请求,订阅端检查当前接收状态,然后向发送端返回请求响应。
其中,请求响应可以为就绪,也可以为未就绪。
步骤430、在请求响应为就绪的情况下,接收发送端发送的第一产品数据,第一产品数据为目标类型。
在该步骤中,在请求响应为就绪的情况下,订阅端接收发送端发送的第一产品数据。
目标类型可以包括:char型数组和char型向量。
在一些实施例中,在请求响应为未就绪的情况下,发送端停止向订阅端发送第一产品数据,订阅端将重新接收到发送端发送的就绪请求。
根据本申请实施例提供的产品数据分发方法,通过接收发送端发送的就绪请求,然后响应于就绪请求,基于订阅端的当前接收状态,向发送端返回请求响应,并在请求响应为就绪的情况下,接收发送端发送的第一产品数据,保证了订阅端接收到的第一产品数据的完整性与一致性,且该方法中的发送端和订阅端是完全解耦的,能够适用于多进程或分布式的场景。
在一些实施例中,在步骤430之后,该产品数据分发方法还可以包括:
接收发送端发送的周期结束主题;
响应于周期结束主题,查询目标周期下订阅端订阅的其他订阅请求所对应的订阅任务;
在目标周期下的全部订阅任务均完成的情况下,对目标产品数据进行目标处理;目标产品数据包括目标周期下接收的全部第一产品数据,目标处理包括保存、显示以及二次组装后转发中的至少一种处理。
在该实施例中,目标周期下订阅端订阅的其他订阅请求所对应的订阅任务对应于同一产品。
目标产品数据包括在目标周期下接收的全部第一产品数据,可以理解的是,目标产品数据中包含的全部第一产品数据对应于同一产品。
目标处理包括保存、显示以及二次组装后转发中的至少一种处理。
根据本申请实施例提供的产品数据分发方法,通过接收发送端发送的周期结束主题,然后响应于周期结束主题,查询目标周期下订阅端订阅的其他订阅请求所对应的订阅任务,并在目标周期下的全部订阅任务均完成的情况下,对目标产品数据进行目标处理,保证了订阅端接收到的目标产品数据的一致性,提高了数据分发的效率。
在一些实施例中,对目标产品数据进行目标处理,还可以包括:
将目标产品数据的目标类型转换为待发送产品数据对应的实际数据类型。
在该实施例中,实际数据类型为目标产品数据对应的待发送产品数据本身的数据类型。
在本申请中,订阅端可以通过数据转换模块,将目标产品数据的目标类型转换为待发送产品数据对应的实际数据类型。
根据本申请实施例提供的产品数据分发方法,通过订阅端将目标产品数据的目标类型转换为待发送产品数据对应的实际数据类型,能够将发布订阅的数据类型转回实际数据类型,可在实现不同类型数据的统一分发的基础上,满足用户对多种真实数据类型的需求。
下面对产品数据分发方法在实际应用过程中的执行流程进行说明,以单次执行为例,如图3所示。
在实际执行过程中,首先需要将待发送产品数据转换至目标类型,生成第一产品数据;
然后发送端向订阅端发送就绪请求,就绪可以表现为Ready,在多个订阅端均为就绪状态的情况下,引擎调度各个线程开始执行检测任务,并向订阅端发送任务执行的过程数据;
在多个订阅端中至少一个为未就绪状态的情况下,发送端将重新向订阅端发送就绪请求;
发送端检测与各订阅端对应的发布任务的执行状态,在多个订阅端对应的执行状态均为完成的情况下,发送端向各订阅端发送周期结束主题;
在多个订阅端对应的执行状态中至少有一个为未完成的情况下,各个线程将继续执行任务;
在订阅端接收到发送端发送的周期结束主题之后,订阅端将目标产品数据的数据类型转化为产品类型,并对目标产品数据进行保存、显示以及二次组装后转发中的至少一种处理。
本申请实施例提供的产品数据分发方法,执行主体可以为产品数据分发装置。本申请实施例中以产品数据分发装置执行产品数据分发方法为例,说明本申请实施例提供的产品数据分发装置。
本申请实施例还提供另一种产品数据分发装置。
如图6所示,该产品数据分发装置应用于订阅端,该装置包括:第五处理模块610、第六处理模块620和第七处理模块630。
第五处理模块610,用于接收发送端发送的就绪请求;
第六处理模块620,用于响应于就绪请求,基于订阅端的当前接收状态,向发送端返回请求响应;
第七处理模块630,用于在请求响应为就绪的情况下,接收发送端发送的第一产品数据,第一产品数据为目标类型。
根据本申请实施例提供的产品数据分发装置,通过接收发送端发送的就绪请求,然后响应于就绪请求,基于订阅端的当前接收状态,向发送端返回请求响应,并在请求响应为就绪的情况下,接收发送端发送的第一产品数据,保证了订阅端接收到的第一产品数据的完整性与一致性,且该装置中的发送端和订阅端是完全解耦的,能够适用于多进程或分布式的场景。
在一些实施例中,该产品数据分发装置还可以包括第十处理模块,用于接收发送端发送的周期结束主题;
响应于周期结束主题,查询目标周期下订阅端订阅的其他订阅请求所对应的订阅任务;
在目标周期下的全部订阅任务均完成的情况下,对目标产品数据进行目标处理;目标产品数据包括目标周期下接收的全部第一产品数据,目标处理包括保存、显示以及二次组装后转发中的至少一种处理。
根据本申请实施例提供的产品数据分发装置,通过接收发送端发送的周期结束主题,然后响应于周期结束主题,查询目标周期下订阅端订阅的其他订阅请求所对应的订阅任务,并在目标周期下的全部订阅任务均完成的情况下,对目标产品数据进行目标处理,保证了订阅端接收到的目标产品数据的一致性,提高了数据分发的效率。
本申请实施例中的产品数据分发装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的产品数据分发装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为IOS操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的产品数据分发装置能够实现图1至图4的方法实施例实现的各个过程,为避免重复,这里不再赘述。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行产品数据分发方法,该方法应用于发送端,包括:将待发送产品数据转换至目标类型,生成第一产品数据,待发送产品数据为基于订阅端的订阅请求确定的,目标类型为发布订阅数据所需的类型;向订阅端发送就绪请求;接收订阅端返回的请求响应;在请求响应为就绪的情况下,向订阅端发布第一产品数据。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的产品数据分发方法,该方法应用于发送端,包括:将待发送产品数据转换至目标类型,生成第一产品数据,待发送产品数据为基于订阅端的订阅请求确定的,目标类型为发布订阅数据所需的类型;向订阅端发送就绪请求;接收订阅端返回的请求响应;在请求响应为就绪的情况下,向订阅端发布第一产品数据。
又一方面,本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的产品数据分发方法,该方法应用于发送端,包括:将待发送产品数据转换至目标类型,生成第一产品数据,待发送产品数据为基于订阅端的订阅请求确定的,目标类型为发布订阅数据所需的类型;向订阅端发送就绪请求;接收订阅端返回的请求响应;在请求响应为就绪的情况下,向订阅端发布第一产品数据。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种产品数据分发方法,其特征在于,应用于发送端,所述方法包括:
将待发送产品数据转换至目标类型,生成第一产品数据,所述待发送产品数据为基于订阅端的订阅请求确定的,所述目标类型为发布订阅数据所需的类型;
向所述订阅端发送就绪请求;
接收所述订阅端返回的请求响应;
在所述请求响应为就绪的情况下,向所述订阅端发布所述第一产品数据。
2.根据权利要求1所述的产品数据分发方法,其特征在于,所述订阅端为多个,所述在所述请求响应为就绪的情况下,向所述订阅端发布所述第一产品数据,包括:
在多个订阅端返回的所述请求响应均为就绪的情况下,分别向各所述订阅端发送与所述订阅请求对应的第一产品数据。
3.根据权利要求2所述的产品数据分发方法,其特征在于,在所述向所述订阅端发布所述第一产品数据之后,所述方法还包括:
检测与各所述订阅端对应的发布任务的执行状态,所述发布任务与所述订阅端一一对应;
在所述多个订阅端对应的执行状态均为完成的情况下,向各所述订阅端发送周期结束主题。
4.根据权利要求1-3任一项所述的产品数据分发方法,其特征在于,所述目标类型包括:char型数组和char型向量。
5.根据权利要求1-3任一项所述的产品数据分发方法,其特征在于,所述目标类型具有可扩展性。
6.一种产品数据分发方法,其特征在于,应用于订阅端,所述方法包括:
接收发送端发送的就绪请求;
响应于所述就绪请求,基于所述订阅端的当前接收状态,向所述发送端返回请求响应;
在所述请求响应为就绪的情况下,接收所述发送端发送的第一产品数据,所述第一产品数据为目标类型。
7.根据权利要求6所述的产品数据分发方法,其特征在于,在所述接收所述发送端发送的第一产品数据之后,所述方法还包括:
接收所述发送端发送的周期结束主题;
响应于所述周期结束主题,查询目标周期下所述订阅端订阅的其他订阅请求所对应的订阅任务;
在所述目标周期下的全部订阅任务均完成的情况下,对目标产品数据进行目标处理;所述目标产品数据包括所述目标周期下接收的全部所述第一产品数据,所述目标处理包括保存、显示以及二次组装后转发中的至少一种处理。
8.根据权利要求7所述的产品数据分发方法,其特征在于,所述对目标产品数据进行目标处理,还包括:
将所述目标产品数据的所述目标类型转换为待发送产品数据对应的实际数据类型。
9.一种产品数据分发装置,其特征在于,应用于发送端,包括:
第一处理模块,用于将待发送产品数据转换至目标类型,生成第一产品数据,所述待发送产品数据为基于订阅端的订阅请求确定的,所述目标类型为发布订阅数据所需的类型;
第二处理模块,用于向所述订阅端发送就绪请求;
第三处理模块,用于接收所述订阅端返回的请求响应;
第四处理模块,用于在所述请求响应为就绪的情况下,向所述订阅端发布所述第一产品数据。
10.一种产品数据分发装置,其特征在于,应用于订阅端,包括:
第五处理模块,用于接收发送端发送的就绪请求;
第六处理模块,用于响应于所述就绪请求,基于所述订阅端的当前接收状态,向所述发送端返回请求响应;
第七处理模块,用于在所述请求响应为就绪的情况下,接收所述发送端发送的第一产品数据,所述第一产品数据为目标类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211685258.0A CN116233093A (zh) | 2022-12-27 | 2022-12-27 | 产品数据分发方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211685258.0A CN116233093A (zh) | 2022-12-27 | 2022-12-27 | 产品数据分发方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116233093A true CN116233093A (zh) | 2023-06-06 |
Family
ID=86590101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211685258.0A Pending CN116233093A (zh) | 2022-12-27 | 2022-12-27 | 产品数据分发方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116233093A (zh) |
-
2022
- 2022-12-27 CN CN202211685258.0A patent/CN116233093A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108449410B (zh) | 一种云平台中消息管理方法、系统及相关装置 | |
CN107846466B (zh) | 云终端外部设备的映射方法、服务器、云终端及系统 | |
CN113141383B (zh) | 设备信息订阅方法、客户端、服务器、系统及存储介质 | |
CN114020474A (zh) | 一种能源工业元宇宙数字孪生云渲染动态分配方法及系统 | |
CN111163130A (zh) | 一种网络服务系统及其数据传输方法 | |
CN103297453A (zh) | 实现即时通讯的方法、浏览器端和系统 | |
CN110582998A (zh) | 群组的通信方法及装置、计算机存储介质、计算机设备 | |
CN113965628A (zh) | 消息调度方法、服务器和存储介质 | |
CN109636460B (zh) | 一种业务处理方法、装置、设备及存储介质 | |
CN111200653B (zh) | 多平台通讯方法、多平台通讯装置及中间服务器 | |
CN108108170A (zh) | 一种组件的解耦合方法及系统 | |
CN116233093A (zh) | 产品数据分发方法和装置 | |
CN114679436B (zh) | 一种会话管理方法、服务器及计算机可读存储介质 | |
CN111491186B (zh) | 一种车辆电子信息系统中的视频控制方法 | |
CN104468645A (zh) | 一种控制方法、电子设备及一种信息传输方法、装置 | |
CN114020453A (zh) | 服务总线消息处理方法、服务总线系统、电子设备及介质 | |
CN110876852B (zh) | 微服务的网络游戏数据处理方法及系统 | |
CN105323225B (zh) | 跨终端的交互通讯协议适配方法及系统 | |
CN108805741B (zh) | 一种电能质量数据的融合方法、装置及系统 | |
CN114501678B (zh) | 通信处理方法及装置 | |
CN107872495B (zh) | 一种信息处理方法及终端设备 | |
CN118519797B (zh) | 一种基于dds的异构计算方法、装置、设备及存储介质 | |
CN117111829A (zh) | 文件存储方法、装置、存储介质及电子设备 | |
CN115378792B (zh) | 告警处理方法、装置及存储介质 | |
CN117667141B (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 |