CN116567073A - Flutter系统的通信方法、装置、电子设备及介质 - Google Patents
Flutter系统的通信方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN116567073A CN116567073A CN202310445167.8A CN202310445167A CN116567073A CN 116567073 A CN116567073 A CN 116567073A CN 202310445167 A CN202310445167 A CN 202310445167A CN 116567073 A CN116567073 A CN 116567073A
- Authority
- CN
- China
- Prior art keywords
- communication
- data
- message encoder
- processed
- interface
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 203
- 238000004891 communication Methods 0.000 title claims abstract description 201
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000006243 chemical reaction Methods 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 14
- 230000003993 interaction Effects 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 4
- 238000013515 script Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种Flutter系统的通信方法、装置、电子设备及介质。通过应用本申请的技术方案,可以实现一种在检测到Flutter系统与本地系统之间存在通信需求时,将发送端系统的发送数据依据其通信类型转换为二者均可理解的二进制数据后再发送给对端系统的技术方案。从而一方面避免了相关技术中存在的,由于两类系统之间各自支持不同数据类型的数据从而导致的相互进行数据通信的效率不高的问题。另一方面也可以通过消息编码器来监控二者传输的数据是否合法的目的。
Description
技术领域
本申请中涉及数据通信技术,尤其是一种Flutter系统的通信方法、装置、电子设备及介质。
背景技术
随着智能终端处理技术的快速发展,基于互联网的各类系统业务平台已经越来越多的被部署在针对用户服务的业务处理中。例如包括Flutter系统、安卓系统以及IOS系统等等。
其中,Flutter系统是一种在Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式系统。相关技术中,业务人员会使用Flutter系统来实现包括安卓系统以及IOS系统在内的本地系统中的多个功能。可以理解的,为了实现Flutter系统的相关功能,通常需要由Flutter系统与本地系统进行一些数据通信才可达到智能终端利用Flutter系统实现相关功能的目的。
然而,受限于两类系统之间各自支持不同数据类型的数据的弊端,进而导致二者在通信过程中需要人工进行逻辑转换才可确保两类系统之间的正常数据通信。这也降低了业务处理的效率。
发明内容
本申请实施例提供一种Flutter系统的通信方法、装置、电子设备及介质。用以解决相关技术中存在的,由于两类系统之间各自支持不同数据类型的数据从而导致的相互进行数据通信的效率不高的问题。
其中,根据本申请实施例的一个方面,提供的一种Flutter系统的通信方法,应用于部署有Flutter系统与本地系统的智能终端中,所述方法包括:
当检测到所述Flutter系统与所述本地系统之间存在通信需求时,获取发送对象的待处理数据,其中所述发送对象为所述Flutter系统与所述本地系统中的其中一个;
将所述待处理数据发送到消息编码器中,并获取所述通信需求对应的通信类型,所述通信类型包括参数通信类型、事件通信类型以及字符通信类型的其中至少一种;
选取与所述通信类型相匹配的转换规则,并基于所述消息编码器与所述转换规则,将所述待处理数据转换为所述二进制格式的通信数据;
将所述通信数据发送给接收对象,所述接收对象为所述Flutter系统与所述本地系统中除所述发送对象外的另外一个。
可选地,在基于本申请上述方法的另一个实施例中,在所述将所述待处理数据转换为所述二进制格式的通信数据之后,还包括:
检测所述发送对象对应的第一通信权限,以及检测接收对象对应的第二通信权限;
在确定所述第一通信权限以及所述第二通信权限为短时交互权限时,为所述通信数据配置有与所述短时交互权限相匹配的定时清除标识。
可选地,在基于本申请上述方法的另一个实施例中,所述将所述通信数据发送给接收对象,包括:
若检测到所述接收对象为所述本地系统时,选取与所述本地系统相匹配的系统接口;
配置所述系统接口对应的接口信息、输入参数信息、输出参数信息以及返回码信息;
通过配置所述接口信息的系统接口,将所述通信数据发送给接收对象。
可选地,在基于本申请上述方法的另一个实施例中,在所述选取与所述本地系统相匹配的系统接口之前,还包括:
配置所述系统接口对应的转发用例代码;
将所述转发用例代码添加在所述系统接口对应的接口文档中,其中所述转发用例代码用于对所述系统接口制定转发规则。
可选地,在基于本申请上述方法的另一个实施例中,在所述获取发送对象的待处理数据之后,包括:
在所述待处理数据的参数字段上,添加所述接收对象对应的访问地址;和/或,添加所述接收对象对应的访问时间段;和/或,添加所述接收对象对应的字符参数描述。
可选地,在基于本申请上述方法的另一个实施例中,在所述将所述待处理数据发送到消息编码器中之前,包括:
启动预先部署在操作系统中的第一消息编码器,所述第一消息编码器为在所述Flutter系统或所述本地系统中,专门处理所述通信需求的消息编码器;或,
启动预先部署在所述智能终端中的第二消息编码器,所述第二消息编码器为所述智能终端中,统一处理消息编码功能的消息编码器。
可选地,在基于本申请上述方法的另一个实施例中,所述本地系统为安卓系统以及IOS系统的至少一种。
其中,根据本申请实施例的又一个方面,提供的一种Flutter系统的通信装置,应用于部署有Flutter系统与本地系统的智能终端中,所述装置包括:
检测模块,被配置为当检测到所述Flutter系统与所述本地系统之间存在通信需求时,获取发送对象的待处理数据,其中所述发送对象为所述Flutter系统与所述本地系统中的其中一个;
获取模块,被配置为将所述待处理数据发送到消息编码器中,并获取所述通信需求对应的通信类型,所述通信类型包括参数通信类型、事件通信类型以及字符通信类型的其中至少一种;
处理模块,被配置为选取与所述通信类型相匹配的转换规则,并基于所述消息编码器与所述转换规则,将所述待处理数据转换为所述二进制格式的通信数据;
发送模块,被配置为将所述通信数据发送给接收对象,所述接收对象为所述Flutter系统与所述本地系统中的另外一个。
根据本申请实施例的又一个方面,提供的一种电子设备,包括:
存储器,用于存储可执行指令;以及
显示器,用于与所述存储器以执行所述可执行指令从而完成上述任一所述Flutter系统的通信方法的操作。
根据本申请实施例的还一个方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时执行上述任一所述Flutter系统的通信方法的操作。
本申请中,可以在当检测到Flutter系统与本地系统之间存在通信需求时,获取发送对象的待处理数据,其中发送对象为Flutter系统与本地系统中的其中一个;将待处理数据发送到消息编码器中,并获取通信需求对应的通信类型;选取与通信类型相匹配的转换规则,并基于消息编码器与转换规则,将待处理数据转换为二进制格式的通信数据;将通信数据发送给接收对象,接收对象为Flutter系统与本地系统中的另外一个。通过应用本申请的技术方案,可以实现一种在检测到Flutter系统与本地系统之间存在通信需求时,将发送端系统的发送数据依据其通信类型转换为二者均可理解的二进制数据后再发送给对端系统的技术方案。从而一方面避免了相关技术中存在的,由于两类系统之间各自支持不同数据类型的数据从而导致的相互进行数据通信的效率不高的问题。另一方面也可以通过消息编码器来监控二者传输的数据是否合法的目的。
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本申请的实施例,并且连同描述一起用于解释本申请的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:
图1示出了本申请一实施例所提供的一种Flutter系统的通信方法示意图;
图2示出了本申请一实施例所提供的一种Flutter系统的通信方法的流程示意图;
图3示出了本申请一实施例所提供的一种电子装置的结构示意图;
图4示出了本申请一实施例所提供的一种电子设备的结构示意图;
图5示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,不作为对本申请及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
另外,本申请各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
需要说明的是,本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应的随之改变。
下面结合图1-图2来描述根据本申请示例性实施方式的用于进行Flutter系统的通信方法。需要注意的是,下述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
本申请还提出一种Flutter系统的通信方法、装置、电子设备及介质。
图1示意性地示出了根据本申请实施方式的一种Flutter系统的通信方法的流程示意图。如图1所示,该方法应用于部署有Flutter系统与本地系统的智能终端中,包括:
S101,当检测到Flutter系统与本地系统之间存在通信需求时,获取发送对象的待处理数据,其中发送对象为Flutter系统与本地系统中的其中一个。
S102,将待处理数据发送到消息编码器中,并获取通信需求对应的通信类型,通信类型包括参数通信类型、事件通信类型以及字符通信类型的其中至少一种。
S103,选取与通信类型相匹配的转换规则,并基于消息编码器与转换规则,将所述待处理数据转换为二进制格式的通信数据。
S104,将通信数据发送给接收对象,接收对象为Flutter系统与本地系统中的另外一个。
随着智能终端处理技术的快速发展,基于互联网的各类系统业务平台已经越来越多的被部署在针对用户服务的业务处理中。例如包括Flutter系统、安卓系统以及IOS系统等等。
相关技术中,Flutter系统是一个可扩展,分层的系统,可以分为三层,上层的框架(Framework),中层的引擎(Engine),以及底层的嵌入层(Embedder)。其中,Dart语言是一种“结构化的Web(World Wide Web,全球广域网)编程”语言,Dart编程语言可以在几乎所有浏览器和环境中提供高性能。
进一步的,Flutter系统是一种在Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式系统。
在相关技术的业务处理过程中,开发用户会使用Flutter系统来实现包括安卓系统以及IOS系统在内的本地系统中的多个功能。可以理解的,为了实现Flutter系统的相关功能,通常需要由Flutter系统与本地系统进行一些数据通信才可达到智能终端利用Flutter系统实现相关功能的目的。
目前有些系统提供了与应用程序的本地系统通信的方法,具体为通过与本地系统通信的方法调用本地系统中应用程序的功能,以实现系统中该应用程序对应的插件功能。然而,Flutter系统每次使用与本地系统通信的方法以实现响应功能时,都需要人工对应用程序对应的本地系统中的接口、插件等进行注册。举例来说,当前Flutter环境下,虽然Flutter系统提供了跟IOS平台通信的方法,但是使用起来复杂,每次使用都是需要注册一遍然后才能慢慢交互。这也导致操作繁琐,业务处理的效率很低。
进一步的,针对上述存在的问题,本申请提出一种Flutter系统的通信方法,其思想为实现一种在检测到Flutter系统与本地系统之间存在通信需求时,将发送端系统的发送数据转换为二者均可理解的二进制数据后再发送给对端系统的技术方案。
进一步而言,本申请结合图2,对方案进行具体步骤说明:
步骤1、当检测到Flutter系统与本地系统之间存在通信需求时,获取发送对象的待处理数据。
其中,发送对象为Flutter系统与本地系统中的其中一个。可以理解的,若Flutter系统为发送对象,则本地系统即为接收对象。而若本地系统为发送对象,则Flutter系统即为接收对象。
作为示例的,本地系统为安卓系统以及IOS系统的至少一种。
一种方式中,待处理数据可以为各种数据类型的处理数据。例如包括各类字段、各类字符串、各类图像、各类音视频等等。
步骤2、在待处理数据的参数字段上,添加接收对象对应的访问地址;和/或,添加接收对象对应的访问时间段;和/或,添加接收对象对应的字符参数描述。
一种方式中,为了便于消息编码器或智能终端理解。本申请实施例还可以在该待处理数据的参数字段上添加用于帮助消息编码器顺利发送该通信数据的相关信息。
举例来说,访问地址可以用于帮助消息编码器或智能终端了解接收对象的所在通信地址。访问时间段可以用于帮助消息编码器或智能终端了解接收对象的可接收时间段。字符参数描述可以用于帮助消息编码器了解接收对象的可支持数据协议等等。
可选的,本申请实施例还可以在待处理数据的参数字段上添加是否必须填写、是否对外展示、是否非空、是否非负等参数。此外,根据预设的指定信息,来选择是否对待处理数据进行加密处理,压缩处理等等。
步骤3、将待处理数据发送到消息编码器,获取通信需求对应的通信类型。
其中,通信类型包括参数通信类型、事件通信类型以及字符通信类型的其中至少一种。
一种方式中,本申请实施例还可以由消息编码器首先对待处理数据进行一个合法性检测。并只有在确定其内容为合法内容的情况下,再来获取通信需求对应的通信类型。
一种方式中,消息编码器可以为第一消息编码器或者第二消息编码器的其中一种。作为示例的,第一消息编码器为预先在Flutter系统或本地系统中部署的,专门处理通信需求的消息编码器。
另一示例的,第二消息编码器为预先在智能终端中的某一存储区域中部署的,统一处理消息编码功能的消息编码器。也即该第二消息编码器还可以处理两个系统中其他功能的消息编码。
步骤4、选取与通信类型相匹配的转换规则,并基于消息编码器与转换规则,将待处理数据转换为二进制格式的通信数据。
可以理解的,由于不同的通信需求所采取的通信逻辑并不相同。因此本申请实施例中在消息编码器处存在有多个转换规则。且每个转换规则对应于不同的通信类型。
举例来说,当Flutter系统与本地系统之间存在有参数通信类型(例如参数可以为传递方法调用等)的通信需求时,则可以选取与参数通信类型相匹配的转换规则A来将待处理数据转换为二进制格式的通信数据。
再者,当Flutter系统与本地系统之间存在有事件通信类型(例如事件可以为设备电量变化,网络连接变化,陀螺仪,传感器等)的通信需求时,则可以选取与事件通信类型相匹配的转换规则B来将待处理数据转换为二进制格式的通信数据。
另外,当Flutter系统与本地系统之间存在有字符通信类型(例如字符可以为各类格式的字段、字符串和半结构化信息的数据等)的通信需求时,则可以选取与字符通信类型相匹配的转换规则C来将待处理数据转换为二进制格式的通信数据。
步骤5、检测发送对象对应的第一通信权限,以及检测接收对象对应的第二通信权限。
一种方式中,发送对象和接收对象对应的通信权限均是由业务人员预先配置的。作为示例的,可以根据该发送对象和或接收对象的业务处理规则,业务处理量,业务处理对象数量以及状态等等而定。
步骤6、在确定第一通信权限以及第二通信权限为短时交互权限时,为通信数据配置有与短时交互权限相匹配的定时清除标识。
一种方式中,若本申请实施例确定该发送对象以及接收对象为短时交互权限时,判定两个系统之间的数据通信也为限制性数据通信。因此为了避免出现智能终端传递过期数据所导致的无谓耗费传输资源的问题,本申请实施例则可以为该通信数据配置一个生存时限。可以理解的,若超过该生存时限,则可以对该通信数据进行清除。
一种方式中,该通信数据的生存时限的时长可以基于本次的通信类型或数据大小等因素而定。作为示例的,若本次通信事件的数据量越大或通信类型较为复杂时,该生存时限也较长。反之则较短。
步骤7、若检测到接收对象为本地系统时,选取与本地系统相匹配的系统接口。
步骤8、配置系统接口对应的接口信息、输入参数信息、输出参数信息以及返回码信息,并通过配置接口信息的系统接口,将通信数据发送给接收对象。
进一步的,由于智能终端中可以包括有多个用于进行不同类型的数据通信的系统接口。可以理解的,为了确保后续数据通信的成功,本申请实施例需要从多个系统接口中选取出与本地系统相匹配的系统接口。举例来说,若本地系统为安卓系统,那么则可以从中选取安卓系统的接口来进行数据传输。而若地系统为IOS系统,那么则可以从中选取IOS系统的接口来进行数据传输。
其中,对于配置系统接口的过程来说,可以包括配置接口信息、输入参数信息、输出参数信息以及返回码信息等等。
其中,接口信息包括:接口名称、接口程序描述;
输入参数信息包括:输入参数描述,输入参数格式模板字符串、输入参数的格式定义字符串;
输出参数信息包括:输出参数描述、输出参数字符串;
返回码信息包括:返回码描述、返回码字符串。
一种方式中,本申请实施例可以提前在系统接口对应的输入、输出、返回码参数的各个字段位中添加相应格式的定义字符串(optionalStr)。以及,添加有响应格式的类型(字符串或者整型等)等等。
进一步的,本申请实施例还可以配置系统接口对应的转发用例代码,并将转发用例代码添加在系统接口对应的接口文档中。
其中,转发用例代码用于对系统接口进行测试使用。
一种方式中,本申请实施例可以为该系统接口制定至少一种转发规则,并通过对该系统接口配置对应的转发用例代码部署。来实现对系统接口进行的转发使用。
一种方式中,本申请实施例还可以在系统接口的接口文档生成后,生成对应的用于执行数据通信的参数映射脚本。另一种方式中,本申请实施例需要建立系统接口与参数映射脚本的映射关系后,将映射关系存储到接口列表中。以使后续通过查询接口列表的方式获取对应的脚本,以实现接口文档的传输。
一种方式中,本申请实施例还可以针对需求特殊处理的可以在线进行调整,并配置指定的测试环境数据库内,方便接口调用使用,接口脚本将会同步至对应脚本管理工程SVN地址内,也可以通过同步将SVN内人工修改脚本主动同步至管理系统,进行脚本替换。
本申请中,可以在当检测到Flutter系统与本地系统之间存在通信需求时,获取发送对象的待处理数据,其中发送对象为Flutter系统与本地系统中的其中一个;将待处理数据发送到消息编码器中,并获取通信需求对应的通信类型;选取与通信类型相匹配的转换规则,并基于消息编码器与转换规则,将待处理数据转换为二进制格式的通信数据;将通信数据发送给接收对象,接收对象为Flutter系统与本地系统中的另外一个。
通过应用本申请的技术方案,可以实现一种在检测到Flutter系统与本地系统之间存在通信需求时,将发送端系统的发送数据依据其通信类型转换为二者均可理解的二进制数据后再发送给对端系统的技术方案。从而一方面避免了相关技术中存在的,由于两类系统之间各自支持不同数据类型的数据从而导致的相互进行数据通信的效率不高的问题。另一方面也可以通过消息编码器来监控二者传输的数据是否合法的目的。
可选地,在基于本申请上述方法的另一个实施例中,在所述将所述待处理数据转换为所述二进制格式的通信数据之后,还包括:
检测所述发送对象对应的第一通信权限,以及检测接收对象对应的第二通信权限;
在确定所述第一通信权限以及所述第二通信权限为短时交互权限时,为所述通信数据配置有与所述短时交互权限相匹配的定时清除标识。
可选地,在基于本申请上述方法的另一个实施例中,所述将所述通信数据发送给接收对象,包括:
若检测到所述接收对象为所述本地系统时,选取与所述本地系统相匹配的系统接口;
配置所述系统接口对应的接口信息、输入参数信息、输出参数信息以及返回码信息;
通过配置所述接口信息的系统接口,将所述通信数据发送给接收对象。
可选地,在基于本申请上述方法的另一个实施例中,在所述选取与所述本地系统相匹配的系统接口之前,还包括:
配置所述系统接口对应的转发用例代码;
将所述转发用例代码添加在所述系统接口对应的接口文档中,其中所述转发用例代码用于对所述系统接口制定转发规则。
可选地,在基于本申请上述方法的另一个实施例中,在所述获取发送对象的待处理数据之后,包括:
在所述待处理数据的参数字段上,添加所述接收对象对应的访问地址;和/或,添加所述接收对象对应的访问时间段;和/或,添加所述接收对象对应的字符参数描述。
可选地,在基于本申请上述方法的另一个实施例中,在所述将所述待处理数据发送到消息编码器中之前,包括:
启动预先部署在操作系统中的第一消息编码器,所述第一消息编码器为在所述Flutter系统或所述本地系统中,专门处理所述通信需求的消息编码器;或,
启动预先部署在所述智能终端中的第二消息编码器,所述第二消息编码器为所述智能终端中,统一处理消息编码功能的消息编码器。
可选地,在基于本申请上述方法的另一个实施例中,所述本地系统为安卓系统以及IOS系统的至少一种。
一种方式中,消息编码器可以为b.Codec。可以理解的,本申请提出的技术方案能够简化在本地系统Native和Flutter通信过程多端定义通道名称和数据类型不兼容的问题。且还可以避免在本地系统Native端和Flutter端之间匹配字符串的需要消息的名称和数据类型,并且支持嵌套类,消息转换为API,生成异步包装代码并发送消息,生成的代码具有可读性并且在不同版本的多个客户端之间不会有冲突,还可以通过多端约定好的scheme协议统一APP各个端的路由跳转逻辑。
通过应用本申请的技术方案,可以实现一种在检测到Flutter系统与本地系统之间存在通信需求时,将发送端系统的发送数据依据其通信类型转换为二者均可理解的二进制数据后再发送给对端系统的技术方案。从而一方面避免了相关技术中存在的,由于两类系统之间各自支持不同数据类型的数据从而导致的相互进行数据通信的效率不高的问题。另一方面也可以通过消息编码器来监控二者传输的数据是否合法的目的。
可选的,在本申请的另外一种实施方式中,如图3所示,本申请还提供一种Flutter系统的通信装置。应用于部署有Flutter系统与本地系统的智能终端中,所述装置包括:
检测模块201,被配置为当检测到所述Flutter系统与所述本地系统之间存在通信需求时,获取发送对象的待处理数据,其中所述发送对象为所述Flutter系统与所述本地系统中的其中一个;
获取模块202,被配置为将所述待处理数据发送到消息编码器中,并获取所述通信需求对应的通信类型,所述通信类型包括参数通信类型、事件通信类型以及字符通信类型的其中至少一种;
处理模块203,被配置为选取与所述通信类型相匹配的转换规则,并基于所述消息编码器与所述转换规则,将所述待处理数据转换为所述二进制格式的通信数据;
发送模块204,被配置为将所述通信数据发送给接收对象,所述接收对象为所述Flutter系统与所述本地系统中的另外一个。
通过应用本申请的技术方案,可以实现一种在检测到Flutter系统与本地系统之间存在通信需求时,将发送端系统的发送数据依据其通信类型转换为二者均可理解的二进制数据后再发送给对端系统的技术方案。从而一方面避免了相关技术中存在的,由于两类系统之间各自支持不同数据类型的数据从而导致的相互进行数据通信的效率不高的问题。另一方面也可以通过消息编码器来监控二者传输的数据是否合法的目的。
在本申请的另外一种实施方式中,获取模块202,被配置执行的步骤包括:
检测所述发送对象对应的第一通信权限,以及检测接收对象对应的第二通信权限;
在确定所述第一通信权限以及所述第二通信权限为短时交互权限时,为所述通信数据配置有与所述短时交互权限相匹配的定时清除标识。
在本申请的另外一种实施方式中,获取模块202,被配置执行的步骤包括:
若检测到所述接收对象为所述本地系统时,选取与所述本地系统相匹配的系统接口;
配置所述系统接口对应的接口信息、输入参数信息、输出参数信息以及返回码信息;
通过配置所述接口信息的系统接口,将所述通信数据发送给接收对象。
在本申请的另外一种实施方式中,获取模块202,被配置执行的步骤包括:
配置所述系统接口对应的转发用例代码;
将所述转发用例代码添加在所述系统接口对应的接口文档中,其中所述转发用例代码用于对所述系统接口制定转发规则。
在本申请的另外一种实施方式中,获取模块202,被配置执行的步骤包括:
在所述待处理数据的参数字段上,添加所述接收对象对应的访问地址;和/或,添加所述接收对象对应的访问时间段;和/或,添加所述接收对象对应的字符参数描述。
在本申请的另外一种实施方式中,获取模块202,被配置执行的步骤包括:
启动预先部署在操作系统中的第一消息编码器,所述第一消息编码器为在所述Flutter系统或所述本地系统中,专门处理所述通信需求的消息编码器;或,
启动预先部署在所述智能终端中的第二消息编码器,所述第二消息编码器为所述智能终端中,统一处理消息编码功能的消息编码器。
本申请实施方式还提供一种电子设备,以执行上述Flutter系统的通信方法。请参考图4,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图4所示,电子设备3包括:处理器300,存储器301,总线302和通信接口303,所述处理器300、通信接口303和存储器301通过总线302连接;所述存储器301中存储有可在所述处理器300上运行的计算机程序,所述处理器300运行所述计算机程序时执行本申请前述任一实施方式所提供的Flutter系统的通信方法。
其中,存储器301可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口303(可以是有线或者无线)实现该装置网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线302可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器301用于存储程序,所述处理器300在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述数据识别的方法可以应用于处理器300中,或者由处理器300实现。
处理器300可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器300中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器300可以是通用处理器,包括处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器301,处理器300读取存储器301中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的数据识别的方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的Flutter系统的通信方法对应的计算机可读存储介质,请参考图5,其示出的计算机可读存储介质为光盘40,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的Flutter系统的通信方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的数据识别的方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是:
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下示意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种Flutter系统的通信方法,其特征在于,应用于部署有Flutter系统与本地系统的智能终端中,所述方法包括:
当检测到所述Flutter系统与所述本地系统之间存在通信需求时,获取发送对象的待处理数据,其中所述发送对象为所述Flutter系统与所述本地系统中的其中一个;
将所述待处理数据发送到消息编码器中,并获取所述通信需求对应的通信类型,所述通信类型包括参数通信类型、事件通信类型以及字符通信类型的其中至少一种;
选取与所述通信类型相匹配的转换规则,并基于所述消息编码器与所述转换规则,将所述待处理数据转换为所述二进制格式的通信数据;
将所述通信数据发送给接收对象,所述接收对象为所述Flutter系统与所述本地系统中除所述发送对象外的另外一个。
2.如权利要求1所述的方法,其特征在于,在所述将所述待处理数据转换为所述二进制格式的通信数据之后,还包括:
检测所述发送对象对应的第一通信权限,以及检测接收对象对应的第二通信权限;
在确定所述第一通信权限以及所述第二通信权限为短时交互权限时,为所述通信数据配置有与所述短时交互权限相匹配的定时清除标识。
3.如权利要求1所述的方法,其特征在于,所述将所述通信数据发送给接收对象,包括:
若检测到所述接收对象为所述本地系统时,选取与所述本地系统相匹配的系统接口;
配置所述系统接口对应的接口信息、输入参数信息、输出参数信息以及返回码信息;
通过配置所述接口信息的系统接口,将所述通信数据发送给接收对象。
4.如权利要求3所述的方法,其特征在于,在所述选取与所述本地系统相匹配的系统接口之前,还包括:
配置所述系统接口对应的转发用例代码;
将所述转发用例代码添加在所述系统接口对应的接口文档中,其中所述转发用例代码用于对所述系统接口制定转发规则。
5.如权利要求1所述的方法,其特征在于,在所述获取发送对象的待处理数据之后,包括:
在所述待处理数据的参数字段上,添加所述接收对象对应的访问地址;和/或,添加所述接收对象对应的访问时间段;和/或,添加所述接收对象对应的字符参数描述。
6.如权利要求1所述的方法,其特征在于,在所述将所述待处理数据发送到消息编码器中之前,包括:
启动预先部署在操作系统中的第一消息编码器,所述第一消息编码器为在所述Flutter系统或所述本地系统中,专门处理所述通信需求的消息编码器;或,
启动预先部署在所述智能终端中的第二消息编码器,所述第二消息编码器为所述智能终端中,统一处理消息编码功能的消息编码器。
7.如权利要求1-6任一项所述的方法,其特征在于,所述本地系统为安卓系统以及IOS系统的至少一种。
8.一种Flutter系统的通信装置,其特征在于,应用于部署有Flutter系统与本地系统的智能终端中,所述装置包括:
检测模块,被配置为当检测到所述Flutter系统与所述本地系统之间存在通信需求时,获取发送对象的待处理数据,其中所述发送对象为所述Flutter系统与所述本地系统中的其中一个;
获取模块,被配置为将所述待处理数据发送到消息编码器中,并获取所述通信需求对应的通信类型,所述通信类型包括参数通信类型、事件通信类型以及字符通信类型的其中至少一种;
处理模块,被配置为选取与所述通信类型相匹配的转换规则,并基于所述消息编码器与所述转换规则,将所述待处理数据转换为所述二进制格式的通信数据;
发送模块,被配置为将所述通信数据发送给接收对象,所述接收对象为所述Flutter系统与所述本地系统中的另外一个。
9.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;以及,
处理器,用于执行所述可执行指令从而完成权利要求1-7中任一所述Flutter系统的通信方法的操作。
10.一种计算机可读存储介质,用于存储计算机可读取的指令,其特征在于,所述指令被处理器执行时执行权利要求1-7中任一所述Flutter系统的通信方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310445167.8A CN116567073A (zh) | 2023-04-23 | 2023-04-23 | Flutter系统的通信方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310445167.8A CN116567073A (zh) | 2023-04-23 | 2023-04-23 | Flutter系统的通信方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116567073A true CN116567073A (zh) | 2023-08-08 |
Family
ID=87489069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310445167.8A Pending CN116567073A (zh) | 2023-04-23 | 2023-04-23 | Flutter系统的通信方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116567073A (zh) |
-
2023
- 2023-04-23 CN CN202310445167.8A patent/CN116567073A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180317069A1 (en) | Service Layer Resource Propagation Across Domains | |
US11132545B2 (en) | Image recognition method and terminal | |
CN110858838A (zh) | 桥接通信的方法和设备 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
CN110535812A (zh) | 报文传输方法、通信装置和系统 | |
CN113795015B (zh) | 数据传输方法、装置、设备及计算可读存储介质 | |
CN105516269A (zh) | 应用的配置方法和应用的配置装置 | |
CN104052774A (zh) | 一种数据传输方法及系统 | |
JP6951380B2 (ja) | ゲートウェイ装置、通信方法及びプログラム | |
CN105827541A (zh) | 用于联机交易的数据报文处理方法和系统 | |
CN116567073A (zh) | Flutter系统的通信方法、装置、电子设备及介质 | |
CN111953662A (zh) | 一种数据处理方法、装置、系统及存储介质 | |
JP2015106251A (ja) | プログラム、情報処理装置、および通信システム | |
JP2006155081A (ja) | 電子データ交換プログラム、電子データ交換装置および情報処理プログラム | |
CN110602194B (zh) | Iot消息的订阅方法、装置及计算机可读存储介质 | |
US20070098018A1 (en) | Above-transport layer message partial compression | |
JP2006504305A (ja) | 標準フォーマットを生成するための移動体通信ネットワークのコンバータ | |
KR101656416B1 (ko) | 실시간 데이터 전송 처리 시스템의 메시지 자동 생성 장치 및 방법 | |
US20200311040A1 (en) | Dynamically rendering an application programming interface for internet of things applications | |
KR20210128096A (ko) | 사물인터넷 플랫폼 간 연동 방법 및 장치 | |
CN116962319A (zh) | 一种调用方法、装置、网络设备及可读存储介质 | |
JP2004334674A (ja) | フォーマット変換システム | |
CN116389561B (zh) | 一种基于算力网络的应用部署方法、装置及系统 | |
JPWO2006040991A1 (ja) | 端末装置、サーバ装置、及びWebサービス提供システム | |
CN115828005A (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 |