一种应用开发方法、装置、电子设备及存储介质与流程

文档序号:30784499发布日期:2022-07-16 07:24阅读:102来源:国知局
一种应用开发方法、装置、电子设备及存储介质与流程

1.本公开涉及计算机应用领域,具体而言,涉及一种应用开发方法、装置、电子设备及存储介质。


背景技术:

2.目前,随着科技的进步和发展,互联网产品形态丰富多样,在网络游戏、社交聊天软件领域,很多系统不使用标志的浏览器软件作为客户端,而是使用在线状态服务器。针对这一类软件在网络通信上的需求,例如网络数据传输、在线状态功能、业务逻辑编程等方面的需求,通过开发网络框架等工具来生成应用,从而解决需求,成为现在较为普遍的方式。
3.对于软件应用的生成,在开发阶段过程中,需要全新编写业务逻辑所需代码,这加大了开发人员的工作量,此外,即便是在业务需求更改时,需要对应修改程序,也需要编写大量代码,这种人工编写、人工配置的方法,由于工作量大,导致操作复杂,应用开发成本高,出现错误的可能性高,而且缺乏灵活性,降低了程序的重用性,也降低了应用开发的效率。


技术实现要素:

4.本公开实施例至少提供一种应用开发方法、装置、电子设备及存储介质。
5.本公开实施例提供了一种应用开发方法,所述方法包括:
6.接收开发人员确定的目标通信协议和目标编解码协议,对所述目标通信协议和所述目标编解码协议进行封装处理,得到待生成目标应用的网络传输文件,其中,所述目标通信协议包括所述开发人员从预先提供的多个预设通信协议中选择的通信协议和/或所述开发人员输入的自定义通信协议,所述目标编解码协议为所述开发人员从预先提供的多个预设编解码协议中选择的编解码协议和/或所述开发人员输入的自定义编解码协议;
7.获取所述开发人员写入的业务逻辑,对所述业务逻辑进行封装处理,得到所述目标应用的业务逻辑文件;
8.根据所述开发人员输入的业务逻辑接口定义,生成所述目标应用内部数据处理的数据处理文件;
9.对所述网络传输文件、所述业务逻辑文件和所述数据处理文件进行编译处理,得到所述目标应用的应用文件。
10.一种可选的实施方式中,所述方法包括:
11.接收所述开发人员确定的目标通信协议;
12.响应于所述开发人员的输入操作,确定所述开发人员写入的通信接口定义;
13.按照所述通信接口定义,对所述目标通信协议进行封装,得到待生成目标应用的网络传输文件。
14.一种可选的实施方式中,所述方法还包括:
15.响应于所述开发人员的输入操作,确定所述开发人员写入的编解码接口定义;
16.接收所述开发人员确定的目标编解码协议;
17.按照所述编解码接口定义对所述目标编解码协议进行封装,以得到待生成目标应用的网络传输文件。
18.一种可选的实施方式中,在所述接收所述开发人员确定的目标通信协议之后,所述方法还包括:
19.在接收到所述开发人员从所述多个预设通信协议选择出所述目标通信协议的情况下,或者在接收到所述开发人员输入的自定义的所述目标通信协议的情况下,将所述目标通信协议封装成数据包。
20.一种可选的实施方式中,在所述获取所述开发人员写入的业务逻辑之后,所述方法还包括:
21.接收至少一个数据包,其中,所述数据包来自服务器和/或客户端;
22.针对所述至少一个数据包,确定每个所述数据包的数据内容;
23.基于每个所述数据包的数据内容,确定与每个所述数据包匹配的所述业务逻辑,以根据匹配的所述业务逻辑对每个所述数据包进行处理。
24.一种可选的实施方式中,所述方法还包括:
25.接收所述开发人员输入的业务逻辑接口定义,按照所述业务逻辑接口定义对业务数据进行处理;
26.接收所述开发人员输入的数据处理接口定义,按照所述数据处理接口定义对所述数据包的数据内容进行处理。
27.一种可选的实施方式中,所述方法还包括:
28.在每次接收或发送所述数据包时,建立协程,控制后续的针对所述数据包的接收或发送都在同一协程中进行。
29.本公开实施例还提供了一种应用开发装置,所述装置包括:
30.协议封装模块,用于接收开发人员确定的目标通信协议和目标编解码协议,将所述目标通信协议和所述目标编解码协议进行封装,以得到待生成目标应用的网络传输文件,其中,所述目标通信协议为所述开发人员从所述多个预设通信协议中选择的通信协议和所述开发人员输入的自定义通信协议,所述目标编解码协议为所述开发人员从所述多个预设编解码协议中选择的编解码协议和所述开发人员输入的自定义编解码协议;
31.逻辑封装模块,用于获取所述开发人员写入的业务逻辑,并对所述业务逻辑进行封装,得到所述目标应用的业务逻辑文件;
32.接口确定模块,用于根据所述开发人员输入的业务逻辑接口定义,生成所述目标应用内部数据处理的数据处理文件;
33.文件编译模块,用于对所述网络传输文件、所述业务逻辑文件和所述数据处理文件进行编译,得到所述目标应用的应用文件。
34.一种可选的实施方式中,所述协议封装模块具体用于:
35.接收所述开发人员确定的目标通信协议;
36.响应于所述开发人员的输入操作,确定所述开发人员写入的通信接口定义;
37.按照所述通信接口定义,对所述目标通信协议进行封装,得到待生成目标应用的网络传输文件。
38.一种可选的实施方式中,所述协议封装模块还用于:
39.响应于所述开发人员的输入操作,确定所述开发人员写入的编解码接口定义;
40.接收所述开发人员确定的目标编解码协议;
41.按照所述编解码接口定义对所述目标编解码协议进行封装,以得到待生成目标应用的网络传输文件。
42.一种可选的实施方式中,所述接口确定模块还用于:
43.在接收到所述开发人员从所述多个预设通信协议选择出所述目标通信协议的情况下,或者在接收到所述开发人员输入的自定义的所述目标通信协议的情况下,将所述目标通信协议封装成数据包。
44.一种可选的实施方式中,所述接口确定模块还用于:
45.接收至少一个数据包,其中,所述数据包来自服务器和/或客户端;
46.针对所述至少一个数据包,确定每个所述数据包的数据内容;
47.基于每个所述数据包的数据内容,确定与每个所述数据包匹配的所述业务逻辑,以根据匹配的所述业务逻辑对每个所述数据包进行处理。
48.一种可选的实施方式中,所述接口确定模块还用于:
49.接收所述开发人员输入的业务逻辑接口定义,按照所述业务逻辑接口定义对业务数据进行处理;
50.接收所述开发人员输入的数据处理接口定义,按照所述数据处理接口定义对所述数据包的数据内容进行处理。
51.一种可选的实施方式中,所述接口确定模块还用于:
52.在每次接收或发送所述数据包时,建立协程,控制后续的针对所述数据包的接收或发送都在同一协程中进行。
53.本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述应用开发方法的步骤。
54.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述应用开发方法的步骤。
55.本公开提供的一种应用开发方法、装置、电子设备及存储介质,可以接收开发人员确定的目标通信协议和目标编解码协议,对所述目标通信协议和所述目标编解码协议进行封装处理,得到待生成目标应用的网络传输文件,其中,所述目标通信协议包括所述开发人员从预先提供的多个预设通信协议中选择的通信协议和/或所述开发人员输入的自定义通信协议,所述目标编解码协议为所述开发人员从预先提供的多个预设编解码协议中选择的编解码协议和/或所述开发人员输入的自定义编解码协议;获取所述开发人员写入的业务逻辑,对所述业务逻辑进行封装处理,得到所述目标应用的业务逻辑文件;根据所述开发人员输入的业务逻辑接口定义,生成所述目标应用内部数据处理的数据处理文件;对所述网络传输文件、所述业务逻辑文件和所述数据处理文件进行编译处理,得到所述目标应用的应用文件,这样,可以灵活替换各种协议,有效减少开发应用的工作量,提高程序的重用性,降低应用开发以及后续运营维护的难度。
56.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合
所附附图,作详细说明如下。
附图说明
57.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
58.图1示出了本公开实施例所提供的一种应用开发系统的结构图;
59.图2示出了本公开实施例所提供的一种应用开发方法的流程图;
60.图3示出了本公开实施例所提供的应用开发系统中,数据包传输层的结构图;
61.图4示出了本公开实施例所提供的应用开发系统中,数据处理层的结构图;
62.图5示出了本公开实施例所提供的一种应用开发装置的示意图;
63.图6示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
64.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
65.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
66.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
67.经研究发现,对于软件应用的生成,在开发阶段过程中,需要全新编写业务逻辑所需代码,这加大了开发人员的工作量,此外,即便是在业务需求更改时,需要对应修改程序,也需要编写大量代码,这种人工编写、人工配置的方法,由于工作量大,导致操作复杂,应用开发成本高,出现错误的可能性高,而且缺乏灵活性,降低了程序的重用性,也降低了应用开发的效率。
68.基于上述研究,本公开提供了一种应用开发方法、装置、电子设备及存储介质,可以接收开发人员确定的目标通信协议和目标编解码协议,对所述目标通信协议和所述目标编解码协议进行封装处理,得到待生成目标应用的网络传输文件,其中,所述目标通信协议包括所述开发人员从预先提供的多个预设通信协议中选择的通信协议和/或所述开发人员输入的自定义通信协议,所述目标编解码协议为所述开发人员从预先提供的多个预设编解
码协议中选择的编解码协议和/或所述开发人员输入的自定义编解码协议;获取所述开发人员写入的业务逻辑,对所述业务逻辑进行封装处理,得到所述目标应用的业务逻辑文件;根据所述开发人员输入的业务逻辑接口定义,生成所述目标应用内部数据处理的数据处理文件;对所述网络传输文件、所述业务逻辑文件和所述数据处理文件进行编译处理,得到所述目标应用的应用文件,这样,可以灵活替换各种协议,有效减少开发应用的工作量,提高程序的重用性,降低应用开发以及后续运营维护的难度。
69.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
70.为便于对本实施例进行理解,首先对本公开实施例所公开的一种应用开发方法进行详细介绍,本公开实施例所提供的应用开发方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备。在一些可能的实现方式中,该应用开发方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
71.请参阅图1,图1为本公开实施例提供的一种应用开发系统的结构图。如图1中所示,本公开实施例提供的应用开发系统包括通信协议库、数据包传输层、应用逻辑处理层、数据处理层和文件编译层。
72.这里,通信协议库用于向开发人员提供多个预设通信协议和多个预设编解码协议。
73.这里,数据包传输层用于接收所述开发人员确定的目标通信协议和目标编解码协议,将所述目标通信协议和所述目标编解码协议进行封装,得到待生成目标应用的网络传输文件。
74.这里,应用逻辑处理层用于获取所述开发人员写入的业务逻辑,并对所述业务逻辑进行封装,得到所述目标应用的业务逻辑文件。
75.这里,数据处理层用于根据所述开发人员输入的业务逻辑接口定义,生成所述目标应用内部数据处理的数据处理文件。
76.这里,文件编译层用于对所述网络传输文件、所述业务逻辑文件和所述数据处理文件进行编译,得到所述目标应用的应用文件。
77.请参阅图2,图2为本公开实施例提供的一种应用开发方法的流程图。如图2中所示,本公开实施例提供的应用开发方法包括:
78.s201:接收开发人员确定的目标通信协议和目标编解码协议,对所述目标通信协议和所述目标编解码协议进行封装处理,得到待生成目标应用的网络传输文件,其中,所述目标通信协议包括所述开发人员从预先提供的多个预设通信协议中选择的通信协议和/或所述开发人员输入的自定义通信协议,所述目标编解码协议为所述开发人员从预先提供的多个预设编解码协议中选择的编解码协议和/或所述开发人员输入的自定义编解码协议。
79.在进行应用开发的过程中,可以接收开发人员确定的目标通信协议和目标编解码协议,通过上文内容可知,通信协议库中包括多个预设通信协议和多个预设编解码协议,所述多个预设通信协议和多个预设编解码协议提供给开发人员进行选用,因此所述目标通信协议和目标编解码协议可以是所述开发人员从所述通信协议库提供的所述多个预设通信
协议和多个预设编解码协议中选择的,也可以是所述开发人员在选择所述多个预设通信协议和多个预设编解码协议的基础上,结合所述目标应用的开发需求,进行调整后得到的,还可以是所述开发人员自行编写的。
80.在确定所述目标通信协议和目标编解码协议之后,可以对所述目标通信协议和所述目标编解码协议进行封装处理,得到待生成目标应用的网络传输文件,用于后续的应用开发。
81.其中,所述预设通信协议,包括但不仅局限于传输控制协议tcptransport、用户数据报协议udptransport、中间层网络通信协议kcptransport、安全套接字协议ssltransport、数据类型编码格式协议tlvprotocol、超文本传输协议httpprotocol。
82.其中,所述预设编解码协议,包括但不仅局限于对象简谱编译码协议jsoncodec、结构化数据序列化协议protocolbuffercodec。
83.其中,若所述开发人员在开发某一类应用时较高频率使用到某个协议,在所述通信协议库中没有提供该协议的情况下,开发人员可以自行将该协议添加到所述通信协议库中,使其在后续作为预设协议被提供。
84.具体的,一些可能的实施方式中,所述方法包括:
85.接收所述开发人员确定的目标通信协议;
86.响应于所述开发人员的输入操作,确定所述开发人员写入的通信接口定义;
87.按照所述通信接口定义,对所述目标通信协议进行封装,得到待生成目标应用的网络传输文件。
88.该步骤中,在接收所述目标通信协议的情况下,可以将所述目标通信协议进行封装,从而得到待生成目标应用的网络传输文件。
89.这里,基于所述目标通信协议的封装,可以使网络传输文件以数据包的形式在进程之间进行传输。
90.相应地,一些可能的实施方式中,所述方法还包括:
91.响应于所述开发人员的输入操作,确定所述开发人员写入的编解码接口定义;
92.接收所述开发人员确定的目标编解码协议;
93.按照所述编解码接口定义对所述目标编解码协议进行封装,以得到待生成目标应用的网络传输文件。
94.该步骤中,在接收所述目标编解码协议的情况下,可以将所述目标编解码协议进行封装,从而得到待生成目标应用的网络传输文件。
95.这里,基于所述目标编解码协议的封装,实现数据包的分解和封装,从而可以对网络传输文件进行数据包的分解和封装。
96.因此,一些可能的实施方式中,在所述接收所述开发人员确定的目标通信协议之后,所述方法还包括:
97.在接收到所述开发人员从所述多个预设通信协议选择出所述目标通信协议的情况下,或者在接收到所述开发人员输入的自定义的所述目标通信协议的情况下,将所述目标通信协议封装成数据包。
98.其中,基于所述目标通信协议的封装,所有的网络传输都确定为收一个数据包和发一个数据包的形式,从而可以实现隐藏有连接和无连接、流式传输和数据端传输的差异。
99.其中,所述数据包,是根据分包协议获得的完整的逻辑数据段,是可供后续业务逻辑代码处理的完整数据。
100.s202:获取所述开发人员写入的业务逻辑,对所述业务逻辑进行封装处理,得到所述目标应用的业务逻辑文件。
101.该步骤中,有效构建所述目标应用的业务逻辑部分,可以获取所述开发人员写入的业务逻辑,在确定所述业务逻辑的情况下,可以对所述业务逻辑进行封装,得到所述目标应用的业务逻辑文件。
102.其中,所述业务逻辑,由包括所述目标应用的运行业务、运行机制的逻辑代码构成,是所述目标应用的实际运行业务的需求的开发和编程。
103.具体的,所述业务逻辑包括但不仅局限于:字符获取chathandler、服务器登陆loginhandler、客户端登陆userloginprocessor。
104.s203:根据所述开发人员输入的业务逻辑接口定义,生成所述目标应用内部数据处理的数据处理文件。
105.该步骤中,可以将得到的数据包形式的网络传输文件,进行进一步的处理,实现把数据包形式的网络传输文件转换成业务逻辑所需的数据对象形式的数据处理文件,因此,可以接收所述开发人员输入的业务逻辑接口定义,在确定所述开发人员输入的业务逻辑接口定义的情况下,根据所述开发人员输入的业务逻辑接口定义,生成所述目标应用内部数据处理的数据处理文件。
106.可选地,针对数据包形式的网络传输文件,可以使用编解码器(codec)进行数据解析,从而得到数据对象形式的数据处理文件。这里,每个数据对象形式的数据处理文件可以包括三个标准数据字段service、seqid和sessid,codec可以从数据对象形式的数据处理文件中提取上述三个字段的内容进行处理。
107.在其他实施方式中,可以根据字段seqid进行请求-响应模式处理,相应地,可以创建一个列表,记录每次的请求-响应的标识,实现全双工异步的应答模式。
108.在其他实施方式中,可以根据字段sessid进行会话保持,具体的,在首次访问服务器时,都会在服务器上建立一个会话对象,这个会话对象可以保存用户指定的状态数据,并且这个会话对象会被包括同一字段sessid的数据包所保存,在预设时间内检测到不再发送包括相同字段sessid的数据包到服务器的情况下,可以认为服务器再次接收到包括该字段sessid的数据包的可能性低,此时服务器可以删除该会话对象。
109.具体的,一些可能的实施方式中,在所述获取所述开发人员写入的业务逻辑之后,所述方法还包括:
110.接收至少一个数据包,其中,所述数据包来自服务器和/或客户端;
111.针对所述至少一个数据包,确定每个所述数据包的数据内容;
112.基于每个所述数据包的数据内容,确定与每个所述数据包匹配的所述业务逻辑,以根据匹配的所述业务逻辑对每个所述数据包进行处理。
113.可以理解,不同的数据包所包含的数据内容也不同,需要不同的业务逻辑对其进行处理,在接收到至少一个数据包后,可以根据每个所述数据包的数据内容,配到应该处理所述数据包的业务逻辑,并将所述数据包发送给对应的业务逻辑,实现数据分发。
114.可选地,可以提供业务逻辑接口和数据处理接口,以接收所述开发人员输入的业
务逻辑接口定义和数据处理接口定义。
115.具体的,一些可能的实施方式中,所述方法还包括:
116.接收所述开发人员输入的业务逻辑接口定义,按照所述业务逻辑接口定义对业务数据进行处理;
117.接收所述开发人员输入的数据处理接口定义,按照所述数据处理接口定义对所述数据包的数据内容进行处理。
118.一些可能的实施方式中,所述方法还包括:
119.在每次接收或发送所述数据包时,建立协程,控制后续的针对所述数据包的接收或发送都在同一协程中进行。
120.其中,所述协程的建立,并没有增加线程的数量,只是在线程的基础上通过分时复用的方式运行多个协程,所述协程的建议和使用,可以改善线程占用过多内存空间和线程切换占用大量系统时间的问题,实现高效率的编程。
121.s204:对所述网络传输文件、所述业务逻辑文件和所述数据处理文件进行编译处理,得到所述目标应用的应用文件。
122.该步骤中,可以将得到的所述网络传输文件、所述业务逻辑文件和所述数据处理文件进行整合和编译处理,通过编译器的语言运行库的转换,得到所述目标应用的应用文件。
123.请同时参阅图3,图3为本公开实施例提供的应用开发系统中,数据包传输层的结构图。如图3中所示,本公开实施例提供的数据包传输层300包括数据包传输模块310、数据包传输接口模块320和编解码接口模块330,数据包传输模块310包括数据传输接口311和数据拆封接口312。
124.这里,数据包传输模块310,用于写入所述开发人员确定的目标通信协议,为所述目标应用提供与外界进行数据传输的功能。
125.该数据包传输模块,可以结合上述通信协议库进行使用,提供给开发人员在所述通信协议库中选取目标通信协议和开发人员自定义编写目标通信协议,在接收所述开发人员输入的目标通信协议的情况下,基于所述目标通信协议,为所述目标应用提供与外界进行数据传输的功能。
126.这里,数据包传输接口模块320,用于供所述开发人员写入通信接口定义,并将所述数据包传输模块确定的所述目标通信协议按照所述通信接口定义进行封装。
127.该数据包传输接口模块,提供通信接口,可以接收开发人员编写的通信接口定义,在确定所述通信接口定义的情况下,按照所述通信接口定义,将所述目标通信协议进行封装。
128.这里,编解码接口模块330,用于供所述开发人员写入编解码接口定义,并在接收到所述开发人员确定的目标编解码协议后,将所述目标编解码协议按照所述编解码接口定义进行封装,为所述目标应用提供序列化和反序列化功能。
129.该编解码接口模块,提供编解码接口,可以接收开发人员编写的通信接口定义,并且,可以结合上述通信协议库进行使用,提供给开发人员在所述通信协议库中选取目标编解码协议和开发人员自定义编写目标编解码协议,这样,可以在接收到所述开发人员输入的目标编解码协议和接收开发人员编写的通信接口定义的情况下,按照所述编解码接口定
义,将所述目标编解码协议进行封装,为所述目标应用提供序列化和反序列化功能。
130.这里,数据传输接口311和数据拆封接口312,用于在所述开发人员从所述多个预设通信协议选择出所述目标通信协议的情况下,或者在所述开发人员输入自定义的所述目标通信协议的情况下,将所述目标通信通过所述数据传输接口和所述数据拆封接口写入所述数据包传输模块中。
131.其中,所述数据传输接口,主要负责具体操作系统的i/o处理,提供peek(查找i/o事件)、read(读取i/o数据)、write(写入i/o数据)三个核心功能。
132.示例性的,所述数据传输接口,可以是套接字socket或者共享内存。
133.其中,所述数据拆封接口,主要负责对读写的数据进行数据包的分解和封装,并且,针对不同的通信协议,通过封装,实现对数据包进行同一形式的编程。
134.示例性的,对于某些消息队列busmessager协议,可以直接将其封装为单独的messager协议;对于自定义的游戏协议,可以使用tcptransport,配合固定长度的包头,封装形成tlvprotocol。
135.请同时参阅图4,图4为本公开实施例提供的应用开发系统中,数据处理层的结构图。如图4中所示,本公开实施例提供的数据处理层400包括服务器数据处理模块410、客户端数据处理模块420、数据分发处理模块430、业务逻辑接口模块440、数据包处理接口模块450和协程单元460。
136.这里,服务器数据处理模块410,用于服务器收发所述数据包。
137.该服务器数据处理模块,提供notify和setprocessor两个核心方法,所述notify方法用于服务器向外发送数据包,所述setprocessor方法用于服务器接收外部发送过来的数据包。
138.这里,客户端数据处理模块420,用于客户端收发所述数据包。
139.该客户端数据处理模块,提供send和onnotify两个核心方法,所述send方法用于客户端向外发送数据包,所述onnotify方法用于客户端接收外部发送过来的数据包。
140.这里,数据分发处理模块430,用于根据收到的数据包的不同数据内容,将数据包发给不同的业务逻辑去处理。
141.该数据分发处理模块,主要负责对服务器接收到的数据包进行后续的处理。不同的数据包所包含的数据内容也不同,需要不同的业务逻辑对其进行处理,所述数据分发处理模块,可以根据所述数据包所包含的具体内容,匹配到应该处理所述数据包的业务逻辑,并将所述数据包发送给对应的业务逻辑,实现数据分发。
142.这里,业务逻辑接口模块440,用于供所述开发人员输入业务逻辑接口定义,并按照所述业务逻辑接口定义对业务数据进行处理。
143.该业务逻辑接口模块,提供业务逻辑接口,可以接收开发人员编写的业务逻辑接口定义,在确定所述业务逻辑接口定义的情况下,按照所述业务逻辑接口定义,对业务数据进行处理。
144.这里,数据包处理接口模块450,用于供所述开发人员输入数据处理接口定义,并按照所述业务逻辑接口定义对数据包数据进行处理。
145.该数据包处理接口模块,提供数据包处理接口,可以接收开发人员编写的数据处理接口定义,在确定所述数据包处理接口定义的情况下,按照所述数据处理接口定义,对数
据包数据进行处理。
146.这里,服务器数据处理模块410和/或客户端数据处理模块420还包协程单元460,协程单元用于在每次服务器数据处理模块和/或客户端数据处理模块进行收发所述数据包时,建立协程,使后续的处理所述数据包的收发都在同一协程中进行。
147.该协程单元,主要负责建立协程,使同一服务器和/或客户端的所述数据包的收发处理可以在同一协程中进行。
148.其中,所述协程的建立,并没有增加线程的数量,只是在线程的基础上通过分时复用的方式运行多个协程,所述协程的建议和使用,可以改善线程占用过多内存空间和线程切换占用大量系统时间的问题,实现高效率的编程。
149.本公开实施例提供的一种应用开发方法,可以接收开发人员确定的目标通信协议和目标编解码协议,对所述目标通信协议和所述目标编解码协议进行封装处理,得到待生成目标应用的网络传输文件,其中,所述目标通信协议包括所述开发人员从预先提供的多个预设通信协议中选择的通信协议和/或所述开发人员输入的自定义通信协议,所述目标编解码协议为所述开发人员从预先提供的多个预设编解码协议中选择的编解码协议和/或所述开发人员输入的自定义编解码协议;获取所述开发人员写入的业务逻辑,对所述业务逻辑进行封装处理,得到所述目标应用的业务逻辑文件;根据所述开发人员输入的业务逻辑接口定义,生成所述目标应用内部数据处理的数据处理文件;对所述网络传输文件、所述业务逻辑文件和所述数据处理文件进行编译处理,得到所述目标应用的应用文件,这样,可以灵活替换各种协议,有效减少开发应用的工作量,提高程序的重用性,降低应用开发以及后续运营维护的难度。
150.基于同一发明构思,本公开实施例中还提供了与应用开发方法对应的应用开发装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述应用开发方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
151.请参阅图5,图5为本公开实施例提供的一种应用开发装置的示意图。本公开实施例提供的应用开发装置,应用于上述的应用开发系统,所述应用开发装置可以与所述应用开发系统为不同名称下的相同装置,所述应用开发装置也可以是所述应用开发系统的一部分,所述应用开发装置中的模块与所述应用开发系统中对应功能的模块可以耦合在一起,共同实现同一功能,如图5中所示,本公开实施例提供的应用开发装置500包括:
152.协议封装模块510,用于接收开发人员确定的目标通信协议和目标编解码协议,将所述目标通信协议和所述目标编解码协议进行封装,以得到待生成目标应用的网络传输文件,其中,所述目标通信协议为所述开发人员从所述多个预设通信协议中选择的通信协议和所述开发人员输入的自定义通信协议,所述目标编解码协议为所述开发人员从所述多个预设编解码协议中选择的编解码协议和所述开发人员输入的自定义编解码协议;
153.逻辑封装模块520,用于获取所述开发人员写入的业务逻辑,并对所述业务逻辑进行封装,得到所述目标应用的业务逻辑文件;
154.接口确定模块530,用于根据所述开发人员输入的业务逻辑接口定义,生成所述目标应用内部数据处理的数据处理文件;
155.文件编译模块540,用于对所述网络传输文件、所述业务逻辑文件和所述数据处理文件进行编译,得到所述目标应用的应用文件。
156.一种可选的实施方式中,所述协议封装模块510具体用于:
157.接收所述开发人员确定的目标通信协议;
158.响应于所述开发人员的输入操作,确定所述开发人员写入的通信接口定义;
159.按照所述通信接口定义,对所述目标通信协议进行封装,得到待生成目标应用的网络传输文件。
160.一种可选的实施方式中,所述协议封装模块510还用于:
161.响应于所述开发人员的输入操作,确定所述开发人员写入的编解码接口定义;
162.接收所述开发人员确定的目标编解码协议;
163.按照所述编解码接口定义对所述目标编解码协议进行封装,以得到待生成目标应用的网络传输文件。
164.一种可选的实施方式中,所述接口确定模块530还用于:
165.在接收到所述开发人员从所述多个预设通信协议选择出所述目标通信协议的情况下,或者在接收到所述开发人员输入的自定义的所述目标通信协议的情况下,将所述目标通信协议封装成数据包。
166.一种可选的实施方式中,所述接口确定模块530还用于:
167.接收至少一个数据包,其中,所述数据包来自服务器和/或客户端;
168.针对所述至少一个数据包,确定每个所述数据包的数据内容;
169.基于每个所述数据包的数据内容,确定与每个所述数据包匹配的所述业务逻辑,以根据匹配的所述业务逻辑对每个所述数据包进行处理。
170.一种可选的实施方式中,所述接口确定模块530还用于:
171.接收所述开发人员输入的业务逻辑接口定义,按照所述业务逻辑接口定义对业务数据进行处理;
172.接收所述开发人员输入的数据处理接口定义,按照所述数据处理接口定义对所述数据包的数据内容进行处理。
173.一种可选的实施方式中,所述接口确定模块530还用于:
174.在每次接收或发送所述数据包时,建立协程,控制后续的针对所述数据包的接收或发送都在同一协程中进行。
175.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
176.本公开实施例提供的开发装置,可以接收开发人员确定的目标通信协议和目标编解码协议,对所述目标通信协议和所述目标编解码协议进行封装处理,得到待生成目标应用的网络传输文件,其中,所述目标通信协议包括所述开发人员从预先提供的多个预设通信协议中选择的通信协议和/或所述开发人员输入的自定义通信协议,所述目标编解码协议为所述开发人员从预先提供的多个预设编解码协议中选择的编解码协议和/或所述开发人员输入的自定义编解码协议;获取所述开发人员写入的业务逻辑,对所述业务逻辑进行封装处理,得到所述目标应用的业务逻辑文件;根据所述开发人员输入的业务逻辑接口定义,生成所述目标应用内部数据处理的数据处理文件;对所述网络传输文件、所述业务逻辑文件和所述数据处理文件进行编译处理,得到所述目标应用的应用文件,这样,可以灵活替
memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
186.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1