软件的多平台兼容运行方法及兼容运行装置与流程

文档序号:17948352发布日期:2019-06-18 23:50阅读:512来源:国知局
软件的多平台兼容运行方法及兼容运行装置与流程

本发明涉及软件兼容领域,具体地涉及一种软件的多平台兼容运行方法及软件的多平台兼容运行装置。



背景技术:

随着网络信息技术的不断发展,应用于不同技术领域的软件需求被开发出来,由此进一步促进了软件开发技术的不断创新和发展,其中就包括开发语言的不断创新和发展。

开发语言由最初的机器语言发展为c语言,并进而发展出应用于不同技术领域以及不同编码要求的开发语言,以及对应产生了不同的开发环境。例如在生活中常见的浏览器,就包括了多种浏览器内核,每种浏览器内核对应的浏览器渲染方式都不同,因此导致不同开发语言在不同的浏览器内核中无法共用,若直接将在某一应用平台上开发的软件应用到其他的不同应用平台,则会因为存在兼容性问题而导致软件无法正常运行。

为了解决上述技术问题,传统的互联网公司往往是针对不同的应用平台开发不同的软件,以使得具有同样功能的软件能够在不同的应用平台使用,但这样会造成大量的人力物力的消耗,同时产生大量的重复工作,大大降低了工作效率,增大了企业运营成本。而若不开发不同的软件,则会丧失对应平台的市场份额(例如只开发了安卓系统软件而不开发苹果系统软件),大大降低了企业的竞争力,降低了企业效益。



技术实现要素:

为了克服现有技术中在单一应用平台上开发的软件无法兼容其他应用平台而导致开发效率低下、开发成本高以及市场竞争力低下的技术问题,本发明实施例提供一种软件的多平台兼容运行方法及一种软件的多平台兼容运行装置,通过在现有软件包中加入不兼容程序的替换程序,从而使得开发的软件能够兼容所有的应用平台,有效避免了重复开发工作,大大降低了技术人员的开发工作量,提高了工作效率,提高了企业效益和企业竞争力。

为了实现上述目的,本发明实施例提供一种软件的多平台兼容运行方法,所述兼容运行方法包括:获取按照预设要求编写的初版软件;对所述初版软件进行多个不同平台的测试,并获得与每个所述平台对应的测试结果;基于所述测试结果获取所述初版软件在所述多个不同平台中的不兼容程序;获取与所述不兼容程序对应的替换程序,并基于所述替换程序生成兼容版软件;运行所述兼容版软件。

优选地,所述对所述初版软件进行多个平台的测试,并获得与每个所述平台对应的测试结果,包括:获取当前平台的测试平台类型;将所述初版软件在当前平台上进行测试运行,并获得测试运行结果;若所述测试运行结果为运行正常,则确定所述初版软件在当前平台上能够兼容运行,并将可兼容运行作为当前平台的测试结果;若所述测试运行结果为运行异常,则获取所述初版软件在当前平台上运行异常的异常功能模块,并将非兼容运行作为当前平台的测试结果。

优选地,所述基于所述测试结果获取所述初版软件在所述多个不同平台中的不兼容程序,包括:若所述测试结果为非兼容运行,则判断所述异常功能模块中程序的当前编写方法是否符合所述测试平台类型中程序的特定编写方法;若所述当前编写方法符合所述特定编写方法,则确定所述异常功能模块对应的程序为通用异常程序;若所述当前编写方法不符合所述特定编写方法,则确定所述异常功能模块对应的程序为不兼容程序。

优选地,所述获取与所述不兼容程序对应的替换程序,并基于所述替换程序生成兼容版软件,包括:基于所述不兼容程序获取对应的替换程序,所述替换程序为按照所述特定编写方法编写的程序;对所述替换程序与所述初版软件进行打包,并生成兼容版软件。

优选地,所述运行所述兼容版软件,包括:获取当前平台的实际平台类型;判断所述兼容版软件中是否包括与所述实际平台类型对应的替换程序;若所述兼容版软件中不包括与所述实际平台类型对应的替换程序,则直接运行所述兼容版软件;若所述兼容版软件中包括与所述实际平台类型对应的替换程序,则在运行所述兼容版软件的过程中,将运行所述异常功能模块替换为运行所述替换程序。

相应的,本发明还提供一种软件的多平台兼容运行装置,所述兼容运行装置包括:处理器,用于:获取按照预设要求编写的初版软件;对所述初版软件进行多个不同平台的测试,并获得与每个所述平台对应的测试结果;基于所述测试结果获取所述初版软件在所述多个不同平台中的不兼容程序;获取与所述不兼容程序对应的替换程序,并基于所述替换程序生成兼容版软件;运行所述兼容版软件。

优选地,所述对所述初版软件进行多个平台的测试,并获得与每个所述平台对应的测试结果,包括:获取当前平台的测试平台类型;将所述初版软件在当前平台上进行测试运行,并获得测试运行结果;若所述测试运行结果为运行正常,则确定所述初版软件在当前平台上能够兼容运行,并将可兼容运行作为当前平台的测试结果;若所述测试运行结果为运行异常,则获取所述初版软件在当前平台上运行异常的异常功能模块,并将非兼容运行作为当前平台的测试结果。

优选地,所述基于所述测试结果获取所述初版软件在所述多个不同平台中的不兼容程序,包括:若所述测试结果为非兼容运行,则判断所述异常功能模块中程序的当前编写方法是否符合所述测试平台类型中程序的特定编写方法;若所述当前编写方法符合所述特定编写方法,则确定所述异常功能模块对应的程序为通用异常程序;若所述当前编写方法不符合所述特定编写方法,则确定所述异常功能模块对应的程序为不兼容程序。

优选地,所述获取与所述不兼容程序对应的替换程序,并基于所述替换程序生成兼容版软件,包括:基于所述不兼容程序获取对应的替换程序,所述替换程序为按照所述特定编写方法编写的程序;对所述替换程序与所述初版软件进行打包,并生成兼容版软件。

优选地,所述运行所述兼容版软件,包括:获取当前平台的实际平台类型;判断所述兼容版软件中是否包括与所述实际平台类型对应的替换程序;若所述兼容版软件中不包括与所述实际平台类型对应的替换程序,则直接运行所述兼容版软件;若所述兼容版软件中包括与所述实际平台类型对应的替换程序,则在运行所述兼容版软件的过程中,将运行所述异常功能模块替换为运行所述替换程序。

通过本发明提供的技术方案,本发明至少具有如下技术效果:

通过在软件的开发过程中,首先对软件进行兼容性测试,并根据测试结果在现有软件包中加入不兼容程序的替换程序,从而使得在单一应用平台上开发的软件也能够兼容所有的应用平台,而不需要技术人员对每个应用平台都开发对应的软件版本,从而有效地避免了重复开发工作,大大降低了技术人员的开发工作量,提高了工作效率,提高了企业效益和企业竞争力。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1是本发明实施例提供的软件的多平台兼容运行方法的具体实现流程图。

具体实施方式

为了克服现有技术中在单一应用平台上开发的软件无法兼容其他应用平台而导致开发效率低下、开发成本高以及市场竞争力低下的技术问题,本发明实施例提供一种软件的多平台兼容运行方法及一种软件的多平台兼容运行装置,通过在现有软件包中加入不兼容程序的替换程序,从而使得开发的软件能够兼容所有的应用平台,有效避免了重复开发工作,大大降低了技术人员的开发工作量,提高了工作效率,提高了企业效益和企业竞争力。

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

本发明实施例中的术语“系统”和“网络”可被互换使用。“多个”是指两个或两个以上,鉴于此,本发明实施例中也可以将“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。另外,需要理解的是,在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。

请参见图1,本发明实施例提供一种软件的多平台兼容运行方法,所述兼容运行方法包括:

s10)获取按照预设要求编写的初版软件;

s20)对所述初版软件进行多个不同平台的测试,并获得与每个所述平台对应的测试结果;

s30)基于所述测试结果获取所述初版软件在所述多个不同平台中的不兼容程序;

s40)获取与所述不兼容程序对应的替换程序,并基于所述替换程序生成兼容版软件;

s50)运行所述兼容版软件。

在一种可能的实施方式中,技术人员根据市场需要开发出了一款软件,并成成了对应的初版软件,优选地,在本发明实施例中,该初版软件为采用javascript语言编写的初版软件,在开发完成后,技术人员将该初版软件在不同平台上进行测试,例如技术人员在个人电脑上以javascript语言开发出了某个软件,然后在以安卓系统为操作系统的移动终端上的浏览器中进行测试,并获得该初版软件在安卓系统上的运行情况,例如在运行过程中技术人员发现存在无法正常运行的异常情况,因此记录所有的异常情况并作为测试结果,然后技术人员根据该测试结果对初版软件进行检查,并对每个异常情况对应的程序代码进行核查和比对,当发现某个异常情况为与安卓系统不兼容的程序导致的,则立即按照安卓系统的程序编写方法编写与该不兼容程序对应的替换程序,此时个人电脑根据该替换程序和初版软件生成兼容版软件,然后将该兼容版软件在采用安卓系统的移动终端上运行,以确保该软件在个人电脑和采用安卓系统的移动终端上都可以正常运行。

需要说明的是,在本发明实施例中,所述平台包括但不限于个人电脑开发平台(例如以windows为基础的开发平台、以linux为基础的开发平台等)中的浏览器、以安卓系统为基础的移动终端中的浏览器以及以苹果系统为基础的移动终端中的浏览器。

在本发明实施例中,通过在软件进行开发的过程中,对该软件进行不同应用平台的测试,并根据测试结果对不兼容的程序针对性地编写对应的替换程序,然后根据该替换程序和初版软件获得能够运行在多个应用平台上的兼容版软件,由于技术人员针对不同的应用平台只需要花费极少的工作量就能实现同样的软件应用效果,而不需要为每个不同的应用平台都重新开发独立的应用软件,因此大大减少了技术人员的工作量,提高了技术人员的工作效率,同时大大提高了开发的软件的兼容性,提高了企业竞争力,提高了企业效益。

在本发明实施例中,所述对所述初版软件进行多个平台的测试,并获得与每个所述平台对应的测试结果,包括:获取当前平台的测试平台类型;将所述初版软件在当前平台上进行测试运行,并获得测试运行结果;若所述测试运行结果为运行正常,则确定所述初版软件在当前平台上能够兼容运行,并将可兼容运行作为当前平台的测试结果;若所述测试运行结果为运行异常,则获取所述初版软件在当前平台上运行异常的异常功能模块,并将非兼容运行作为当前平台的测试结果。

在一种可能的实施方式中,技术人员在开发出初版软件后,将该初版软件在以苹果系统为基础的移动终端上进行测试,在测试过程中,该初版软件首先获取当前平台的测试平台类型,例如获取当前浏览器的浏览器内核类型(例如该浏览器为苹果系统中采用webkit内核的safari浏览器),此时该初版软件在safari浏览器中运行,技术人员在初版软件运行的过程中实时监控该初版软件的运行状况,例如通过个人电脑上的苹果系统模拟器模拟运行该初版软件,并对该初版软件的运行过程进行实时查看,也可以将该初版软件直接运行在具有苹果系统的移动终端上以进行测试。

若该初版软件能够在safari浏览器中正常运行,则确定该初版软件在safari浏览器上能够兼容运行,并反馈在safari浏览器可兼容运行的测试结果;若该初版软件在safari浏览器上运行的过程中存在运行异常情况,例如程序崩溃、程序死机、无法显示正常内容或无法正常跳转页面等情况,则技术人员记录并保存该初版软件在safari浏览器上运行异常时对应的异常功能模块,例如记录对应的程序板块或功能单元,并反馈在safari浏览器非兼容运行的测试结果。

进一步地,在本发明实施例中,所述基于所述测试结果获取所述初版软件在所述多个不同平台中的不兼容程序,包括:若所述测试结果为非兼容运行,则判断所述异常功能模块中程序的当前编写方法是否符合所述测试平台类型中程序的特定编写方法;若所述当前编写方法符合所述特定编写方法,则确定所述异常功能模块对应的程序为通用异常程序;若所述当前编写方法不符合所述特定编写方法,则确定所述异常功能模块对应的程序为不兼容程序。

在一种可能的实施方式中,技术人员将该初版软件在其他应用平台上测试运行后,获得非兼容运行的测试结果,并记录了3个异常功能模块,此时技术人员在个人电脑上对该3个异常功能模块对应的程序进行检查和核对,以判断每个异常功能模块的当前编写方法是否符合其他应用平台中程序的认定编写方法,例如在个人电脑上开发时技术人员将该初版软件的某个页面跳转设置为响应鼠标的点击后跳转,然而当该初版软件在safari浏览器中运行时无法获取到鼠标点击,因此无法实现正常的页面跳转功能,技术人员对该异常功能模块的编写方法进行检查时发现该编写方法不符合苹果系统中的特定编写方法,因此确定该异常功能模块对应的程序为不兼容程序;而另外两个异常功能模块经技术人员检查后发现程序的编写方法符合苹果系统的编写方法,因此确定上述另外两个异常功能模块对应的程序为通用异常程序,例如技术人员在个人电脑上开发该初版软件时将软件的默认文本编码方式设置为gb2312,而在safari浏览器采用utf-8,因此导致软件界面出现乱码的异常情况,而该异常情况与在safari浏览器中程序的特定编写方式无关。

在本发明实施例中,通过在软件的开发过程中对软件进行不同应用平台的兼容性检查,以发现软件在不同应用平台中的不兼容程序,从而便于技术人员进行对应的调整,而不需要技术人员对每个软件在每个不同的应用平台中运行时都开发不同的程序版本,从而大大优化了技术人员的工作量,减少了重复工作,提高了技术人员的工作效率。

在本发明实施例中,所述获取与所述不兼容程序对应的替换程序,并基于所述替换程序生成兼容版软件,包括:基于所述不兼容程序获取对应的替换程序,所述替换程序为按照所述特定编写方法编写的程序;对所述替换程序与所述初版软件进行打包,并生成兼容版软件。

在一种可能的实施方式中,技术人员在检查到初版软件中存在的不兼容程序后,例如技术人员在将初版软件运行在安卓系统中的浏览器和苹果系统中的浏览器后均发现了不兼容程序,因此技术人员对在安卓系统中的不兼容程序按照安卓系统的程序编写方法重新编写对应的替换程序;同时对在苹果系统中的不兼容程序也重新按照苹果系统中的编写方法重新编写对应的替换程序。计算机在获取到技术人员编写的不同应用平台对应的替换程序后,将所有替换程序都与初版软件进行打包,以生成兼容版软件。

在本发明实施例中,技术人员只针对初版软件中与不同应用平台不兼容的程序重新开发对应的替换程序,并将该替换程序与初版软件打包在一起以形成兼容版的软件,从而在只需要付出极少的工作量的情况下,使得兼容版软件能够在各个不同的应用平台上都能够兼容运行,有效避免了技术人员的重复开发,大大减少了技术人员的工作量,提高了技术人员的工作效率。

在本发明实施例中,所述运行所述兼容版软件,包括:获取当前平台的实际平台类型;判断所述兼容版软件中是否包括与所述实际平台类型对应的替换程序;若所述兼容版软件中不包括与所述实际平台类型对应的替换程序,则直接运行所述兼容版软件;若所述兼容版软件中包括与所述实际平台类型对应的替换程序,则在运行所述兼容版软件的过程中,将运行所述异常功能模块替换为运行所述替换程序。

在一种可能的实施方式中,兼容版软件发布后,用户将该兼容版软件安装于具有安卓系统的移动终端,安装完成后,兼容版软件首先在该移动终端上进行初始化,并在初始化后首先检测该移动终端浏览器的浏览器内核类型,例如该移动终端的浏览器为采用chrome内核的360浏览器,此时兼容版软件根据该浏览器内核类型判断在兼容版软件中是否包括与chrome内核对应的替换程序,并发现在兼容版软件中打包了与chrome内核对应的替换程序,因此该兼容版软件监控用户的开启指令(例如开启指令为根据用户的点击操作生成的开启指令),并在获取到用户的开启指令后运行该兼容版软件,在运行的过程中,在需要运行与替换程序对应的原程序代码时,自动执行替换程序的代码而不执行该原程序代码,从而在该移动终端上正常运行。

在本发明实施例中,所述移动终端包括但不限于移动智能手机、平板电脑、智能手环、智能家电(例如智能扫地机器人等)等终端。

在本发明实施例中,技术人员通过在单一应用平台上开发的初版软件中加入对不同应用平台具有兼容性的替换程序,并在不用应用平台上运行兼容版软件时自动根据当前应用平台的类型执行对应的替换程序,从而实现在不同应用平台上的兼容运行,从而大大提高了软件的兼容性,提高了企业的竞争力,保证了企业具有足够的市场占有率,提高了企业效益。

下面对本发明实施例所提供的软件的多平台兼容运行装置进行说明。

基于同一发明构思,本发明实施例提供一种软件的多平台兼容运行装置,所述兼容运行装置包括:处理器,用于:获取按照预设要求编写的初版软件;对所述初版软件进行多个不同平台的测试,并获得与每个所述平台对应的测试结果;基于所述测试结果获取所述初版软件在所述多个不同平台中的不兼容程序;获取与所述不兼容程序对应的替换程序,并基于所述替换程序生成兼容版软件;运行所述兼容版软件。

在本发明实施例中,所述对所述初版软件进行多个平台的测试,并获得与每个所述平台对应的测试结果,包括:获取当前平台的测试平台类型;将所述初版软件在当前平台上进行测试运行,并获得测试运行结果;若所述测试运行结果为运行正常,则确定所述初版软件在当前平台上能够兼容运行,并将可兼容运行作为当前平台的测试结果;若所述测试运行结果为运行异常,则获取所述初版软件在当前平台上运行异常的异常功能模块,并将非兼容运行作为当前平台的测试结果。

在本发明实施例中,所述基于所述测试结果获取所述初版软件在所述多个不同平台中的不兼容程序,包括:若所述测试结果为非兼容运行,则判断所述异常功能模块中程序的当前编写方法是否符合所述测试平台类型中程序的特定编写方法;若所述当前编写方法符合所述特定编写方法,则确定所述异常功能模块对应的程序为通用异常程序;若所述当前编写方法不符合所述特定编写方法,则确定所述异常功能模块对应的程序为不兼容程序。

在本发明实施例中,所述获取与所述不兼容程序对应的替换程序,并基于所述替换程序生成兼容版软件,包括:基于所述不兼容程序获取对应的替换程序,所述替换程序为按照所述特定编写方法编写的程序;对所述替换程序与所述初版软件进行打包,并生成兼容版软件。

在本发明实施例中,所述运行所述兼容版软件,包括:获取当前平台的实际平台类型;判断所述兼容版软件中是否包括与所述实际平台类型对应的替换程序;若所述兼容版软件中不包括与所述实际平台类型对应的替换程序,则直接运行所述兼容版软件;若所述兼容版软件中包括与所述实际平台类型对应的替换程序,则在运行所述兼容版软件的过程中,将运行所述异常功能模块替换为运行所述替换程序。

以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1