CN110955434A - 软件开发包处理方法、装置、计算机设备和存储介质 - Google Patents

软件开发包处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110955434A
CN110955434A CN201911052853.9A CN201911052853A CN110955434A CN 110955434 A CN110955434 A CN 110955434A CN 201911052853 A CN201911052853 A CN 201911052853A CN 110955434 A CN110955434 A CN 110955434A
Authority
CN
China
Prior art keywords
data
target
software development
development kit
user behavior
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.)
Granted
Application number
CN201911052853.9A
Other languages
English (en)
Other versions
CN110955434B (zh
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.)
Jiangsu Suning Cloud Computing Co ltd
SuningCom Co ltd
Original Assignee
Suning Cloud Computing Co 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 Suning Cloud Computing Co Ltd filed Critical Suning Cloud Computing Co Ltd
Priority to CN201911052853.9A priority Critical patent/CN110955434B/zh
Publication of CN110955434A publication Critical patent/CN110955434A/zh
Application granted granted Critical
Publication of CN110955434B publication Critical patent/CN110955434B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种软件开发包处理方法、装置、计算机设备和存储介质。该方法包括:获取目标应用程序在不同操作系统对应的第一软件开发包;提取不同操作系统对应的共同业务处理逻辑,将共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包;根据第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,目标软件开发包用于在目标设备上安装后执行共同业务处理逻辑。采用本方法能够提高开发效率。

Description

软件开发包处理方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种软件开发包处理方法、装置、计算机设备和存储介质。
背景技术
随着移动应用技术快速发展,各个公司为了推广自己的产品及服务,会对开发人员提供软件开发工具包(Software Development Kit,SDK)。SDK中集成有各种开发服务,可以为应用程序(Application,App)开发人员提供开发功能。
然而,目前不同的操作系统的应用程序分别通过不同的接口接入对应的SDK,但是当应用程序不断迭代更新时,需要重新更新不同操作系统对应的SDK,导致开发效率低下。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高开发效率的软件开发包处理方法、装置、计算机设备和存储介质。
一种软件开发包处理方法,该方法包括:
获取目标应用程序在不同操作系统对应的第一软件开发包;
提取不同操作系统对应的共同业务处理逻辑,将共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包;
根据第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,目标软件开发包用于在目标设备上安装后执行共同业务处理逻辑。
在其中一个实施例中,共同业务处理逻辑的执行步骤包括:通过调用接口从不同操作系统的应用程序中获取对应的用户行为数据;获取调用接口对应的预设标准,当用户行为数据对应的数据类型符合预设标准时,根据用户行为数据生成容器数据;对容器数据进行格式化处理得到第一目标数据,将第一目标数据存储至内存中;将内存存储的第一目标数据转换成第二目标数据,存储至本地磁盘中;将本地磁盘存储的第二目标数据上报至服务器,将上报成功的第二目标数据从本地磁盘中删除。
在其中一个实施例中,根据用户行为数据生成容器数据,包括:对用户行为数据进行过滤,得到过滤后的用户行为数据;通过调用接口从不同操作系统的应用程序中获取对应的硬件参数数据;对硬件参数和用户行为数据进行组合,得到容器数据。
在其中一个实施例中,对容器数据进行格式化处理得到第一目标数据,包括:获取预设数据格式;将容器数据对应的数据格式转换成预设数据格式,得到第一目标数据。
在其中一个实施例中,根据用户行为数据生成容器数据之前,还包括:获取预设过滤规则;根据预设过滤规则对用户行为数据进行过滤,得到过滤后的用户行为数据;根据用户行为数据生成容器数据,包括:根据过滤后的用户行为数据生成容器数据。
在其中一个实施例中,操作系统为ios系统、Android系统中的至少一种,目标脚本语言为JavaScript脚本语言,跨平台应用构建框架为React Native跨平台移动应用开发框架。
一种软件开发包处理装置,该装置包括:
软件开发包获取模块,用于获取目标应用程序在不同操作系统对应的第一软件开发包;
业务处理逻辑提取模块,用于提取不同操作系统对应的共同业务处理逻辑,将共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包;
目标软件开发包生成模块,用于根据第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,目标软件开发包用于在目标设备上安装后执行共同业务处理逻辑。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取目标应用程序在不同操作系统对应的第一软件开发包;
提取不同操作系统对应的共同业务处理逻辑,将共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包;
根据第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,目标软件开发包用于在目标设备上安装后执行共同业务处理逻辑。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取目标应用程序在不同操作系统对应的第一软件开发包;
提取不同操作系统对应的共同业务处理逻辑,将共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包;
根据第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,目标软件开发包用于在目标设备上安装后执行共同业务处理逻辑。
上述软件开发包处理方法、装置、计算机设备和存储介质,通过获取目标应用程序在不同操作系统对应的第一软件开发包,提取不同操作系统对应的共同业务处理逻辑,将共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包,根据第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,目标软件开发包用于在目标设备上安装后执行共同业务处理逻辑。其中,将不同操作系统对应的共同业务处理逻辑用目标脚本语言来编写,不仅不需要重复开发不同操作系统相同的业务处理逻辑,提高了开发效率,而且使用目标脚本语言编写的软件开发包也不受操作系统的限制,可以在任何操作系统中进行运行安装。
附图说明
图1为一个实施例中软件开发包处理方法的应用环境图;
图2为一个实施例中软件开发包处理方法的流程示意图;
图3为一个实施例中共同业务处理逻辑执行步骤的流程示意图;
图4为一个实施例中容器数据生成步骤的流程示意图;
图5为一个实施例中容器数据格式化步骤的流程示意图;
图6为一个实施例中软件开发包处理装置的结构框图;
图7为一个实施例中目标软件开发包生成模块的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的软件开发包处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
具体地,服务器104可从目标应用程序在不同操作系统的终端102中获取对应的第一软件开发包,服务器104再进一步提取不同操作系统对应的共同业务处理逻辑,将共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包,根据第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,最后,服务器104安装目标软件开发包,以执行共同业务处理逻辑。进一步地,服务器104可以将目标软件开发包发送至终端102,终端102上安装目标软件开发包,以执行共同业务处理逻辑。
在一个实施例中,如图2所示,提供了一种软件开发包处理方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤202,获取目标应用程序在不同操作系统对应的第一软件开发包。
其中,应用程序是为了完成某项或某几项特定任务而被开发运行于操作系统之上的计算机程序,而操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他应用程序都必须在操作系统的支持下才能运行。操作系统可以为ios系统、Android系统中的至少一种。其中,目标应用程序可以从操作系统上的多个应用程序中选取一个应用程序作为目标应用程序,具体可以根据实际业务需求或者实际应用场景进行选取得到。
其中,软件开发包(Software Development Kit,SDK)是用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用程序的开发工具的集合。通俗点来说,软件开发包是指由第三方服务商提供的实现软件产品某项功能的工具包。
其中,目标应用程序在不同的操作系统对应的软件开发包是不同的,如应用程序A所在的操作系统为ios系统,则ios系统存在对应的软件开发包:ios_sdk,应用程序A所在的操作系统为Android系统,则Android系统存在对应的软件开发包:Android_sdk。
具体地,服务器可以向目标应用程序在不同操作系统对应的终端请求返回对应的软件开发包,例如,服务器可以从Android系统对应的终端获取第一软件开发包Android_sdk,或者从ios系统对应的终端获取第一软件开发包ios_sdk。
步骤204,提取不同操作系统对应的共同业务处理逻辑,将共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包。
其中,这里的共同业务处理逻辑是不同操作系统之间相同的业务处理逻辑,业务处理逻辑是实现应用程序的各个功能的,也就是说,应用程序的各个功能实现需要依靠业务逻辑。
其中,不同操作系统存在相同的业务处理逻辑,将相同的业务处理逻辑提取出来,可以避免当软件开发包迭代更新时,无需重复开发相同的业务逻辑,因此在获取不同操作系统对应的第一软件开发包后,提取不同操作系统相同的业务处理逻辑,作为共同业务处理逻辑。其中,提取共同业务处理逻辑可自定义,自定义可以是获取不同操作系统对应的第一软件开发包的代码,通过比较代码确定共同业务处理逻辑。或者还可以是通过开发人员通过自身的开发经验确定不同操作系统对应的共同业务处理逻辑。
其中,这里用目标脚本语言编写得到的第二软件开发包不受操作系统限制,在任何一个操作系统下都可以安装运行,而这里的目标脚本语言可以是JavaScript脚本语言,通过JavaScript脚本语言编写共同业务处理逻辑,从而得到第二软件开发包。此时,这里的第二软件开发包并不受操作系统的限制,可在任何操作系统下安装运行。也就是说,当不同操作系统的应用程序进行迭代更新时,对于共同业务处理逻辑这部分,无需分别根据操作系统进行分别重复开发,直接在第二软件开发包中进行迭代更新,从而提高开发效率。
步骤206,根据第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,目标软件开发包用于在目标设备上安装后执行所述共同业务处理逻辑。
其中,这里的目标软件开发包是基于跨平台应用构建框架封装得到的,跨平台应用构建框架可以为React Native跨平台移动应用开发框架,当服务器上安装好跨平台应用构建框架的环境后,那么服务器上的应用程序就可以安装运行目标软件开发包,以此来执行目标软件开发包中的业务处理逻辑。其中,目标软件开发包中的业务处理逻辑包括共同业务处理逻辑和第一软件开发包中的业务处理逻辑。
具体地,在获取不同操作系统对应的第一软件开发包和第二软件开发包后,可根据第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,具体可以是对第一软件开发包和第二软件开发包进行封装,得到基于跨平台应用构建框架的目标软件开发包。其中,封装方式可以使用目前的各个封装方式,例如JavaScript脚本语言对应的封装方式,在此不作任何的限制。
在一个实施例中,第一软件开发包分别为操作系统为ios系统对应的软件开发包:ios_sdk,操作系统为Android系统对应的软件开发包:Android_sdk,而第二软件开发包为:js_sdk,进一步将ios_sdk、Android_sdk和js_sdk通过封装方式进行封装,得到完整的基于跨平台应用构建框架的目标软件开发包。
进一步地,在得到目标软件开发包后,目标设备可以是服务器或者目标终端。具体地,服务器可以在自行安装目标软件开发包,目标软件开发包安装完毕后,可以执行目标软件开发包中的共同业务处理逻辑。其中,服务器在得到目标软件开发包后,可以将目标软件开发包通过网络发送至目标终端,目标终端接收到目标软件开发包后,安装目标软件开发包,当安装完毕后,可以执行目标软件开发中的共同业务处理逻辑。其中,共同业务处理逻辑是不同操作系统之间相同业务处理逻辑,因此共同业务处理逻辑在执行过程中并不受目标终端的操作系统限制,在任何一个操作系统下都可以成功运行。
上述软件开发包处理方法中,通过获取目标应用程序在不同操作系统对应的第一软件开发包,提取不同操作系统对应的共同业务处理逻辑,将共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包,根据第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,目标软件开发包用于在目标设备上安装后执行所述共同业务处理逻辑。其中,将不同操作系统对应的共同业务处理逻辑用目标脚本语言来编写,不仅不需要重复开发不同操作系统相同的业务处理逻辑,提高了开发效率,而且使用目标脚本语言编写的软件开发包也不受操作系统的限制,可以在任何操作系统中进行运行安装。
在一个实施例中,如图3所示,共同业务处理逻辑的执行步骤包括:
步骤302,通过调用接口从不同操作系统的应用程序中获取对应的用户行为数据。
其中,基于跨平台应用构建框架的目标软件开发包提供调用接口供采集来自不同操作系统的用户行为数据,即这个调用接口不受操作系统限制,都可通过该调用接口采集不同操作系统对应的用户行为数据。具体地,当服务器安装基于跨平台应用构建框架的目标软件开发包后,通过调用接口从不同操作系统的应用程序中获取对应的用户行为数据。所谓用户行为数据是对用户行为分析得到的相关数据,而这里的用户行为分析是指在获得应用程序访问量基本数据的情况下,对有关数据进行统计、分析,从而得到与用户行为相关的数据。
步骤304,获取调用接口对应的预设标准,当用户行为数据对应的数据类型符合预设标准时,根据用户行为数据生成容器数据。
其中,这里的预设标准是与调用接口相对应的,不同的调用接口对应不同的预设标准,而预设标准是用来检测采集的用户行为数据对应的数据类型是否是调用接口所需的数据类型。其中,预设标准可自定义,自定义可以是通过实际业务场景或者实际产品业务需求进行确定得到的。而这里的数据类型是指用户行为数据的数据类型,用户行为数据的数据类型可以是基本数据类型和引用数据类型。基本数据类型:数字型(Number)、(字符型)String、(布尔型)Boolean、(空字符型)Null。引用数据类型:数组对象和字典对象(object)。
具体地,根据目标软件提供的调用接口获取对应的预设标准,检测用户行为数据对应的数据类型是否符合调用接口对应的预设标准,例如,目标软件开发包的调用接口对应的预设标准是接收的用户行为数据的数据类型需要是字典数据类型,那么目标软件开发包采集到用户行为数据后,检测用户行为数据的数据类型是否是字典数据类型。其中,如果检测到用户行为数据的数据类型不符合预设标准,则容易发生错误或者导致应用程序崩溃等问题。进一步地,如果检测到用户行为数据的数据类型符合预设标准,则说明采集到的用户行为数据是正确的,因此可根据用户行为数据生成容器数据。其中,这里的容器数据是与容器相关的数据,这里的容器(Docker)是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。其中,容器数据可以包括用户行为数据和硬件参数,所谓硬件参数是应用程序所在的硬件相关的参数,例如内存,机型,CPU使用率,mac地址,终端唯一标识等。
其中,根据用户行为数据生成容器数据可以是获取应用程序所在的硬件相关的参数,作为硬件参数,根据硬件参数和用户行为数据组合形成容器数据。或者还可以是,根据预设计算算法,将用户行为数据计算生成对应的容器数据。
步骤306,对容器数据进行格式化处理得到第一目标数据,将第一目标数据存储至内存中。
其中,这里的格式化处理是根据预设数据格式将容器数据转化成对应的目标数据的过程。其中,这里的预设数据格式是自定义,自定义可以根据实际业务需求或者实际业务应用场景进行确定得到的。具体地,获取预设数据格式,可将容器数据对应的数据格式转换成预设数据格式对应的数据格式,因此得到第一目标数据。此时,第一目标数据的数据格式已经是预设数据格式对应的数据格式,进一步地,将转换成功的第一目标数据存储至内存中。其中,实时将转换后的第一目标数据存储至内存中,暂时由内存进行保存。
步骤308,将内存存储的第一目标数据转换成第二目标数据,存储至本地磁盘中。
其中,因为内存存储只是暂时存储,而无法永久保存,因此如果想对目标数据进行永久保存,需要将内存存储的目标数据存储至本地磁盘中。但是由于内存和本地磁盘存储的数据格式并不同,因此需要将内存存储的第一目标数据转换成本地磁盘存储的第二目标数据,再将第二目标数据存储至本地磁盘中。其中,并不是实时将内存存储的第一目标数据转换成本地磁盘存储的第第二目标数据存储至本地磁盘,可以设置存储规则,例如,内存中每100条第一目标数据存储一次至本地磁盘,这样不会频繁调用本地磁盘,提高性能优化。
步骤310,将本地磁盘存储的第二目标数据上报至服务器,将上报成功的第二目标数据从本地磁盘中删除。
其中,本地磁盘存储的第二目标数据上报可以根据预设上报策略进行上报,而这里的预设上报策略是预先设置用来限制本地磁盘上报的规则,可以根据实际业务场景或者产品需求进行设置。其中,预设上报策略可以是定时上报,设置预设上报时间间隔,根据预设上报时间间隔将本地磁盘存储的第二目标数据上报至服务器。或者预设上报策略可以是定量上报,设置预设上报数量,当本地磁盘存储的第二目标数据满足预设上报数量时,则可将本地磁盘存储的第二目标数据上报至服务器。或者预设上报策略还可以是对本地磁盘存储的第二目标数据进行筛选,将筛选后的第二目标数据上报至服务器等等。
其中,为了提高应用程序所在的设备的性能,需要将上报成功的第二目标数据从本地磁盘中删除。这样,本地磁盘就不会因为存储过多数据,导致设备崩溃或者出现错误等问题。
在一个实施例中,如图4所示,根据用户行为数据生成容器数据,包括:
步骤402,对用户行为数据进行过滤,得到过滤后的用户行为数据。
步骤404,通过调用接口从不同操作系统的应用程序中获取对应的硬件参数数据。
步骤406,对硬件参数和过滤后的用户行为数据进行组合,得到容器数据。
其中,根据调用接口对应的预设标准检测到用户行为数据对应的数据类型符合预设标准后,需要对用户行为数据进行过滤,过滤具体可以是根据预设过滤规则进行过滤,其中过滤规则可预先设置,可以根据实际业务场景或者产品需求进行确定得到。具体地,获取预设过滤规则,按照预设过滤规则对用户行为数据进行过滤,将不符合预设过滤规则的用户行为数据进行丢弃,将符合预设过滤规则的用户行为数据作为过滤后的用户行为数据。
其中,这里的硬件参数数据是与应用程序所在的设备相关的数据,例如硬件参数数据可以是内存,机型,CPU使用率,mac地址,终端唯一标识等。服务器可以从应用程序所在的设备中采集得到硬件参数数据,具体可以是通过调用接口从不同的操作系统的应用程序中获取对应的硬件参数数据。其中,这里的调用接口可以是采集用户行为数据的同一调用接口,还可以是不同功能的调用接口,具体可以是根据实际业务需求进行确定。
进一步地,在得到过滤后的用户行为数据和硬件参数后,根据硬件参数和过滤后的用户行为数据组合形成容器数据。即,容器数据中包括硬件参数和过滤后的用户行为数据。其中,根据硬件参数和过滤后的用户行为数据组合形成容器数据,具体可以是将硬件参数和对应的过滤后的用户行为数据建立关联关系,将建立好关联关系的硬件参数和对应的过滤后的用户行为数据组合为容器数据。
在一个实施例中,如图5所示,对容器数据进行格式化处理得到第一目标数据,包括:
步骤502,获取预设数据格式。
步骤504,将容器数据对应的数据格式转换成预设数据格式,得到第一目标数据。
其中,这里的预设数据格式是用来进行格式化处理的,可自定义,自定义可以根据实际业务需求或者实际业务应用场景进行确定得到的。具体地,获取预设数据格式,可将容器数据对应的数据格式转换成预设数据格式对应的数据格式,因此得到第一目标数据。此时,第一目标数据的数据格式已经是预设数据格式对应的数据格式,进一步地,可将转换成功的第一目标数据存储至内存中。其中,实时将转换后的第一目标数据存储至内存中,暂时由内存进行保存。
在一个实施例中,根据用户行为数据生成容器数据之前,还包括:获取预设过滤规则,根据预设过滤规则对用户行为数据进行过滤,得到过滤后的用户行为数据。
本实施例中,根据用户行为数据生成容器数据,包括:根据过滤后的用户行为数据生成容器数据。
其中,根据调用接口对应的预设标准检测到用户行为数据对应的数据类型符合预设标准后,需要对用户行为数据进行过滤,过滤具体可以是根据预设过滤规则进行过滤,其中过滤规则可预先设置,可以根据实际业务场景或者产品需求进行确定得到。过滤规则可以是筛选业务处理逻辑,筛选业务处理逻辑可以是根据实际产品需求或者开发者通过经验确定得到的,具体可以是获取用户行为数据中包括的用户业务处理逻辑,根据筛选业务处理逻辑和用户业务处理逻辑得到过滤后的用户行为数据。例如,将用户业务处理逻辑与筛选业务处理逻辑不匹配的进行过滤,将匹配的作为过滤后的用户行为数据。
具体地,获取预设过滤规则,按照预设过滤规则对用户行为数据进行过滤,将不符合预设过滤规则的用户行为数据进行丢弃,将符合预设过滤规则的用户行为数据作为过滤后的用户行为数据。
进一步地,根据用户行为数据生成容器数据可以是,根据过滤后的用户行为数据生成容器数据。具体可以是,在得到过滤后的用户行为数据和硬件参数后,根据硬件参数和过滤后的用户行为数据组合形成容器数据。即,容器数据中包括硬件参数和过滤后的用户行为数据。其中,根据硬件参数和过滤后的用户行为数据组合形成容器数据,具体可以是将硬件参数和对应的过滤后的用户行为数据建立关联关系,将建立好关联关系的硬件参数和对应的过滤后的用户行为数据组合为容器数据。
在一个实施例中,操作系统为ios系统、Android系统中的至少一种,目标脚本语言为JavaScript脚本语言,跨平台应用构建框架为React Native跨平台移动应用开发框架。
其中,操作系统可以为ios系统、Android系统中的至少一种,ios系统是由苹果公司开发的移动操作系统,而Android系统是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
其中,目标脚本语言可以为JavaScript脚本语言,又称JS语言,JavaScript脚本语言是一种广泛使用的客户端脚本语言,它具有解释性、基于对象、事件驱动、安全性和跨平台等特点。因此,目标脚本语言编写的第二软件开发包并不受操作系统的限制,可在任何操作系统下安装运行。
其中,跨平台应用构建框架可以为ReactNative跨平台移动应用开发框架。ReactNative是一种跨平台移动应用开发框架,React Native是Facebook早先开源的JavaScript框架React在原生移动应用平台的衍生产物,目前支持iOS系统和Android系统两大平台。React NativeN使用Java Script语言,类似于HTML的JSX,以及CSS来开发移动应用。
在一个具体的实施例中,提供了一种软件开发包处理方法,具体包括以下步骤:
1、获取不同操作系统对应的第一软件开发包。
2、提取不同操作系统对应的共同业务处理逻辑,将共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包。
3、根据第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包。
4、在目标设备上安装目标软件开发包,以执行共同业务处理逻辑。
4-1、通过调用接口从不同操作系统的应用程序中获取对应的用户行为数据。
4-2、获取调用接口对应的预设标准,当用户行为数据对应的数据类型符合预设标准时,获取预设过滤规则,根据预设过滤规则对用户行为数据进行过滤,得到过滤后的用户行为数据,根据过滤后的用户行为数据生成容器数据。
4-2-1、对用户行为数据进行过滤,得到过滤后的用户行为数据。
4-2-2、通过调用接口从不同操作系统的应用程序中获取对应的硬件参数数据。
4-2-3、对硬件参数和过滤后的用户行为数据进行组合,得到容器数据。
4-3、对容器数据进行格式化处理得到第一目标数据,将第一目标数据存储至内存中。
4-3-1、获取预设数据格式。
4-3-2、将容器数据对应的数据格式转换成预设数据格式,得到第一目标数据。
4-4、将内存存储的第一目标数据转换成第二目标数据,存储至本地磁盘中。
4-5、将本地磁盘存储的第二目标数据上报至服务器,将上报成功的第二目标数据从本地磁盘中删除。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种软件开发包处理装置600,包括:软件开发包获取模块602、业务处理逻辑提取模块604、目标软件开发包生成模块606,其中:
软件开发包获取模块602,用于获取不同操作系统对应的第一软件开发包。
业务处理逻辑提取模块604,用于提取不同操作系统对应的共同业务处理逻辑,将共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包。
目标软件开发包生成模块606,用于根据第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,目标软件开发包用于在目标设备上安装后执行共同业务处理逻辑。
在一个实施例中,如图7所示,目标软件开发包生成模块606包括:
调用接口调用单元606a,用于通过调用接口从不同操作系统的应用程序中获取对应的用户行为数据。
容器数据生成单元606b,用于获取调用接口对应的预设标准,当用户行为数据对应的数据类型符合预设标准时,根据用户行为数据生成容器数据。
容器数据处理单元606c,用于对容器数据进行格式化处理得到第一目标数据,将第一目标数据存储至内存中。
目标数据转换单元606d,用于将内存存储的第一目标数据转换成第二目标数据,存储至本地磁盘中。
目标数据上报单元606e,用于将本地磁盘存储的第二目标数据上报至服务器,将上报成功的第二目标数据从本地磁盘中删除。
在一个实施例中,容器数据生成单元606b还用于对用户行为数据进行过滤,得到过滤后的用户行为数据,通过调用接口从不同操作系统的应用程序中获取对应的硬件参数数据,根据硬件参数和过滤后的用户行为数据组合形成容器数据。
在一个实施例中,目标数据转换单元606d还用于获取预设数据格式,将容器数据对应的数据格式转换成预设数据格式,得到第一目标数据。
在一个实施例中,目标软件开发包生成模块606还用于获取预设过滤规则,根据预设过滤规则对用户行为数据进行过滤,得到过滤后的用户行为数据,根据过滤后的用户行为数据生成容器数据。
在一个实施例中,操作系统为ios系统、Android系统中的至少一种,目标脚本语言为JavaScript脚本语言,跨平台应用构建框架为React Native跨平台移动应用开发框架。关于软件开发包处理装置的具体限定可以参见上文中对于软件开发包处理方法的限定,在此不再赘述。上述软件开发包处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图8示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器104。如图8所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现软件开发包处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行软件开发包处理方法。计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取不同操作系统对应的第一软件开发包;提取不同操作系统对应的共同业务处理逻辑,将共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包;根据第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,目标软件开发包用于在目标设备上安装后执行共同业务处理逻辑。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过调用接口从不同操作系统的应用程序中获取对应的用户行为数据;获取调用接口对应的预设标准,当用户行为数据对应的数据类型符合预设标准时,根据用户行为数据生成容器数据;对容器数据进行格式化处理得到第一目标数据,将第一目标数据存储至内存中;将内存存储的第一目标数据转换成第二目标数据,存储至本地磁盘中;将本地磁盘存储的第二目标数据上报至服务器,将上报成功的第二目标数据从本地磁盘中删除。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对用户行为数据进行过滤,得到过滤后的用户行为数据;通过调用接口从不同操作系统的应用程序中获取对应的硬件参数数据;对硬件参数和用户行为数据进行组合,得到容器数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预设数据格式;将容器数据对应的数据格式转换成预设数据格式,得到第一目标数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预设过滤规则;根据预设过滤规则对用户行为数据进行过滤,得到过滤后的用户行为数据;根据用户行为数据生成容器数据,包括:根据过滤后的用户行为数据生成容器数据。
在一个实施例中,操作系统为ios系统、Android系统中的至少一种,目标脚本语言为JavaScript脚本语言,跨平台应用构建框架为React Native跨平台移动应用开发框架。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取不同操作系统对应的第一软件开发包;提取不同操作系统对应的共同业务处理逻辑,将共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包;根据第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,目标软件开发包用于在目标设备上安装后执行共同业务处理逻辑。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过调用接口从不同操作系统的应用程序中获取对应的用户行为数据;获取调用接口对应的预设标准,当用户行为数据对应的数据类型符合预设标准时,根据用户行为数据生成容器数据;对容器数据进行格式化处理得到第一目标数据,将第一目标数据存储至内存中;将内存存储的第一目标数据转换成第二目标数据,存储至本地磁盘中;将本地磁盘存储的第二目标数据上报至服务器,将上报成功的第二目标数据从本地磁盘中删除。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对用户行为数据进行过滤,得到过滤后的用户行为数据;通过调用接口从不同操作系统的应用程序中获取对应的硬件参数数据;对硬件参数和用户行为数据进行组合,得到容器数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预设数据格式;将容器数据对应的数据格式转换成预设数据格式,得到第一目标数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预设过滤规则;根据预设过滤规则对用户行为数据进行过滤,得到过滤后的用户行为数据;根据用户行为数据生成容器数据,包括:根据过滤后的用户行为数据生成容器数据。
在一个实施例中,操作系统为ios系统、Android系统中的至少一种,目标脚本语言为JavaScript脚本语言,跨平台应用构建框架为React Native跨平台移动应用开发框架。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种软件开发包处理方法,所述方法包括:
获取目标应用程序在不同操作系统对应的第一软件开发包;
提取所述不同操作系统对应的共同业务处理逻辑,将所述共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包;
根据所述第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,所述目标软件开发包用于在目标设备上安装后执行所述共同业务处理逻辑。
2.根据权利要求1所述的方法,其特征在于,所述共同业务处理逻辑的执行步骤包括:
通过调用接口从所述不同操作系统的应用程序中获取对应的用户行为数据;
获取所述调用接口对应的预设标准,当所述用户行为数据对应的数据类型符合所述预设标准时,根据所述用户行为数据生成容器数据;
对所述容器数据进行格式化处理得到第一目标数据,将所述第一目标数据存储至内存中;
将所述内存存储的所述第一目标数据转换成第二目标数据,存储至本地磁盘中;
将所述本地磁盘存储的第二目标数据上报至服务器,将上报成功的第二目标数据从本地磁盘中删除。
3.根据权利要求2所述的方法,其特征在于,所述根据所述用户行为数据生成容器数据,包括:
对所述用户行为数据进行过滤,得到过滤后的用户行为数据;
通过调用接口从所述不同操作系统的应用程序中获取对应的硬件参数数据;
对所述硬件参数和所述过滤后的用户行为数据进行组合,得到所述容器数据。
4.根据权利要求2所述的方法,其特征在于,所述对所述容器数据进行格式化处理得到第一目标数据,包括:
获取预设数据格式;
将所述容器数据对应的数据格式转换成所述预设数据格式,得到第一目标数据。
5.根据权利要求2所述的方法,其特征在于,所述根据所述用户行为数据生成容器数据之前,还包括:
获取预设过滤规则;
根据所述预设过滤规则对所述用户行为数据进行过滤,得到过滤后的用户行为数据;
所述根据所述用户行为数据生成容器数据,包括:
根据所述过滤后的用户行为数据生成容器数据。
6.根据权利要求1所述的方法,其特征在于,所述操作系统为ios系统、Android系统中的至少一种,所述目标脚本语言为JavaScript脚本语言,所述跨平台应用构建框架为ReactNative跨平台移动应用开发框架。
7.一种软件开发包处理装置,其特征在于,所述装置包括:
软件开发包获取模块,用于获取不同操作系统对应的第一软件开发包;
业务处理逻辑提取模块,用于提取所述不同操作系统对应的共同业务处理逻辑,将所述共同业务处理逻辑通过目标脚本语言编写得到第二软件开发包;
目标软件开发包生成模块,用于根据所述第一软件开发包和第二软件开发包生成基于跨平台应用构建框架的目标软件开发包,所述目标软件开发包用于在目标设备上安装后执行所述共同业务处理逻辑。
8.根据权利要求7所述的装置,其特征在于,所述目标软件开发包生成模块,包括:
调用接口调用单元,用于通过调用接口从所述不同操作系统的应用程序中获取对应的用户行为数据;
容器数据生成单元,用于获取所述调用接口对应的预设标准,当所述用户行为数据对应的数据类型符合所述预设标准时,根据所述用户行为数据生成容器数据;
容器数据处理单元,用于对所述容器数据进行格式化处理得到第一目标数据,将所述第一目标数据存储至内存中;
目标数据转换单元,用于将所述内存存储的所述第一目标数据转换成第二目标数据,存储至本地磁盘中;
目标数据上报单元,用于将所述本地磁盘存储的第二目标数据上报至服务器,将上报成功的第二目标数据从本地磁盘中删除。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN201911052853.9A 2019-10-31 2019-10-31 软件开发包处理方法、装置、计算机设备和存储介质 Active CN110955434B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911052853.9A CN110955434B (zh) 2019-10-31 2019-10-31 软件开发包处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911052853.9A CN110955434B (zh) 2019-10-31 2019-10-31 软件开发包处理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110955434A true CN110955434A (zh) 2020-04-03
CN110955434B CN110955434B (zh) 2023-01-17

Family

ID=69976066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911052853.9A Active CN110955434B (zh) 2019-10-31 2019-10-31 软件开发包处理方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110955434B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035163A (zh) * 2020-09-03 2020-12-04 北京字节跳动网络技术有限公司 软件开发包配置方法、设备和存储介质
CN112181366A (zh) * 2020-09-28 2021-01-05 科大国创云网科技有限公司 基于跨平台交互的移动应用开发框架
CN115729530A (zh) * 2022-11-22 2023-03-03 壹沓科技(上海)有限公司 跨系统逻辑语句生成的方法、装置、存储介质及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617533A (en) * 1994-10-13 1997-04-01 Sun Microsystems, Inc. System and method for determining whether a software package conforms to packaging rules and requirements
CN106605212A (zh) * 2015-02-13 2017-04-26 甲骨文国际公司 在动态链接的运行时环境中的模块化共同版本管理

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617533A (en) * 1994-10-13 1997-04-01 Sun Microsystems, Inc. System and method for determining whether a software package conforms to packaging rules and requirements
CN106605212A (zh) * 2015-02-13 2017-04-26 甲骨文国际公司 在动态链接的运行时环境中的模块化共同版本管理

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XIAOLI LIU等: "A flexible software architecture for semiconductor packaging equipment", 《2013 14TH INTERNATIONAL CONFERENCE ON ELECTRONIC PACKAGING TECHNOLOGY》 *
毛新军等: "开放环境下自适应软件系统的运行机制与构造技术", 《计算机学报》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035163A (zh) * 2020-09-03 2020-12-04 北京字节跳动网络技术有限公司 软件开发包配置方法、设备和存储介质
CN112035163B (zh) * 2020-09-03 2023-08-22 抖音视界有限公司 软件开发包配置方法、设备和存储介质
CN112181366A (zh) * 2020-09-28 2021-01-05 科大国创云网科技有限公司 基于跨平台交互的移动应用开发框架
CN112181366B (zh) * 2020-09-28 2023-01-24 科大国创云网科技有限公司 基于跨平台交互的移动应用开发框架
CN115729530A (zh) * 2022-11-22 2023-03-03 壹沓科技(上海)有限公司 跨系统逻辑语句生成的方法、装置、存储介质及设备

Also Published As

Publication number Publication date
CN110955434B (zh) 2023-01-17

Similar Documents

Publication Publication Date Title
CN110209652B (zh) 数据表迁移方法、装置、计算机设备和存储介质
US10860339B2 (en) Autonomous creation of new microservices and modification of existing microservices
CN110955434B (zh) 软件开发包处理方法、装置、计算机设备和存储介质
CN110231994B (zh) 内存分析方法、装置和计算机可读存储介质
US9558055B2 (en) System level memory leak detection
CN109032631B (zh) 应用程序补丁包获取方法、装置、计算机设备及存储介质
CN110647471B (zh) 接口测试用例生成方法、电子装置及存储介质
CN106708704B (zh) 一种对崩溃日志进行分类的方法和装置
CN109933515B (zh) 一种回归测试用例集的优化方法和自动优化装置
CN107608609B (zh) 一种事件对象发送方法与装置
CN111008132B (zh) Android系统的应用调试方法、装置、计算机设备和存储介质
CN112394908A (zh) 埋点页面自动生成的方法、装置、计算机设备及存储介质
CN105573733A (zh) 浏览器与web前端通信的方法、web前端及系统
CN112882769B (zh) 技能包数据处理方法、装置、计算机设备和存储介质
US20210406004A1 (en) System and method for implementing a code audit tool
US20160173646A1 (en) Automatic abstraction of flow of control in a distributed virtualization platform
CN114036439A (zh) 网站搭建方法、装置、介质及电子设备
CN111414619A (zh) 一种数据安全检测方法、装置、设备及可读存储介质
CN108845864B (zh) 一种基于spring框架的JVM垃圾回收方法和装置
CN110795162B (zh) 生成容器镜像文件的方法和装置
CN107092601B (zh) 资源文件构建方法、资源文件应用方法及装置
CN105700866A (zh) Rte代码生成方法及其执行装置
CN114581241A (zh) 智能合约的处理方法和装置、处理器及电子设备
CN114637672A (zh) 自动化数据测试方法、装置、计算机设备及存储介质
CN112685023A (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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee after: Jiangsu Suning cloud computing Co.,Ltd.

Country or region after: China

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Suning Cloud Computing Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20240508

Address after: 210000, 1-5 story, Jinshan building, 8 Shanxi Road, Nanjing, Jiangsu.

Patentee after: SUNING.COM Co.,Ltd.

Country or region after: China

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Jiangsu Suning cloud computing Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right