CN113613182B - 短信发送方法、计算机设备及可读存储介质 - Google Patents
短信发送方法、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN113613182B CN113613182B CN202110916444.XA CN202110916444A CN113613182B CN 113613182 B CN113613182 B CN 113613182B CN 202110916444 A CN202110916444 A CN 202110916444A CN 113613182 B CN113613182 B CN 113613182B
- Authority
- CN
- China
- Prior art keywords
- short message
- mobile terminal
- sent
- virtual
- user number
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/128—Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/06—Testing, supervising or monitoring using simulated traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种短信发送方法,包括:获取待发送短信,以及待发送用户的用户号码;根据待发送用户的用户号码,查询所述用户号码对应的移动终端的运行环境信息;根据所述用户号码对应的移动终端的运行环境信息,选择虚拟机;基于选择的虚拟机创建所述用户号码对应的虚拟移动终端;向所述虚拟移动终端发送所述待发送短信,并获取所述待发送短信是否被拦截的结果;向未拦截所述待发送短信的虚拟移动终端对应的用户号码的移动终端发送所述待发送短信。本发明模拟移动终端运行环境,并向模拟的移动终端发送短信以得到是否拦截的结果,在模拟的移动终端拦截的情况下,就停止短信的发送,从而可以节约企业的成本。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种短信发送方法、计算机设备及可读存储介质。
背景技术
随着移动互联网的发展,短信已经成为企业传递消息的一种普遍方法,例如企业的移动端应用(App)一般都会与用户移动端的用户号码相绑定,从而借助于短信进行优惠促销活动的通知或者进行验证码的发送。然而,随着信息***式的增长,一些移动终端的制造厂商也相应推出了短信拦截机制,此类拦截机制会将企业发送的某些短信视为垃圾短信直接放入垃圾箱,导致企业无法预知发送的短信是否能真正传达给移动端用户。如果企业不作处理地直接进行短信的发送,就可能白白消耗不必要的短信发送成本,却没有达到信息通知的效果。
发明内容
鉴于以上内容,有必要提供一种短信发送方法,旨在向目标客户发送短信之前,借助于虚拟机技术来模拟特定客户的移动终端运行环境,并向模拟的移动终端发送短信以得到是否拦截的结果,在模拟的移动终端拦截的情况下,就停止短信的发送,从而可以节约企业的成本。
本发明实施例提供一种短信发送方法,所述方法包括:
获取待发送短信,以及待发送用户的用户号码;
根据待发送用户的用户号码,查询所述用户号码对应的移动终端的运行环境信息;
根据所述用户号码对应的移动终端的运行环境信息,选择虚拟机;
基于选择的虚拟机创建所述用户号码对应的虚拟移动终端;
向所述虚拟移动终端发送所述待发送短信,并获取所述待发送短信是否被拦截的结果;
向未拦截所述待发送短信的虚拟移动终端对应的用户号码的移动终端发送所述待发送短信,而停止向拦截所述待发送短信的虚拟移动终端对应的用户号码的移动终端发送所述待发送短信。
可选的,所述根据所述用户号码对应的移动终端的运行环境信息,选择虚拟机的步骤包括:
将所述用户号码对应的移动终端的运行环境信息进行分类,根据分类的类别数目选择数目相等的空闲状态的虚拟机。
可选的,所述方法还包括:将所述用户号码对应的移动终端的运行环境信息预先存储在大数据平台上;
所述移动终端的运行环境信息包括移动终端的物理机型和操作***。
可选的,所述基于选择的虚拟机创建所述用户号码对应的虚拟移动终端的步骤,包括:
向所述选择的虚拟机中加载所述操作***,若所述操作***自带有短信拦截模块,则将所述短信拦截模块设置为自动拦截的状态。
可选的,所述方法还包括:将所述用户号码对应的移动终端的运行环境信息预先存储在大数据平台上;
所述移动终端的运行环境信息包括移动终端的物理机型、操作***、所述移动终端安装的第三方短信拦截工具的信息、以及针对所述第三方短信拦截工具的个性化设置信息。
可选的,所述基于选择的虚拟机创建所述用户号码对应的虚拟移动终端的步骤,包括:
向所述选择的虚拟机中加载所述操作***,若所述操作***自带有短信拦截模块,则将所述短信拦截模块设置为自动拦截的状态;
根据所述移动终端安装的第三方短信拦截工具的信息,向所述选择的虚拟机中加载所述第三方短信拦截工具;以及
根据所述针对所述第三方短信拦截工具的个性化设置信息对所述第三方短信拦截工具的拦截功能进行设置。
可选的,向所述虚拟移动终端发送所述待发送短信,并获取所述待发送短信是否被拦截的结果,包括:
检测所述虚拟移动终端接收所述待发送短信的处理结果,若所述虚拟移动终端将所述待发送短信存入短信垃圾箱,则获取到所述待发送短信为被拦截的结果,若所述虚拟移动终端未将所述待发送短信存入短信垃圾箱,则获取到所述待发送短信为未被拦截的结果。
本发明实施例还提供一种计算机设备,所述计算机设备包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的短信发送程序,所述短信发送程序被所述处理器执行时实现如下步骤:
获取待发送短信,以及待发送用户的用户号码;
根据待发送用户的用户号码,查询所述用户号码对应的移动终端的运行环境信息;
根据所述用户号码对应的移动终端的运行环境信息,选择虚拟机;
基于选择的虚拟机创建所述用户号码对应的虚拟移动终端;
向所述虚拟移动终端发送所述待发送短信,并获取所述待发送短信是否被拦截的结果;
向未拦截所述待发送短信的虚拟移动终端对应的用户号码的移动终端发送所述待发送短信,而停止向拦截所述待发送短信的虚拟移动终端对应的用户号码的移动终端发送所述待发送短信。
可选的,所述移动终端的运行环境信息包括:所述移动终端的运行环境信息包括移动终端的物理机型、操作***、所述移动终端安装的第三方短信拦截工具的信息、以及针对所述第三方短信拦截工具的个性化设置信息;
所述存储器上包括用于存储所述操作***的第一存储单元,以及用于存储所述第三方短信拦截工具的第二存储单元;所述存储器还用于根据预设的更新机制对存储的数据进行更新。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有短信发送程序,所述短信发送程序可被一个或者多个处理器执行,以实现如前所述的短信发送方法。
相较现有技术,本发明提供的短信发送方法,在直接发送待发送短信之前,获取待发送短信以及待发送用户的用户号码,根据待发送用户的用户号码进行查询,得到用户号码对应的移动终端的运行环境信息,再根据运行环境信息选择虚拟机,并创建用户号码对应的虚拟移动终端,进而向创建的虚拟移动终端发送待发送短信以得到是否被拦截的结果,最后根据结果,停止向拦截待发送短信的虚拟移动终端对应的用户号码的移动终端发送待发送短信,从而可以预知向特定用户发送短信的结果,可以节约企业的短信发送成本。
附图说明
图1为本发明一实施例提供的应用环境示意图;
图2为本发明一实施例提供的计算机设备的硬件架构示意图;
图3为本发明一实施例提供的短信发送方法的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明实施例一可选的应用环境示意图。
在本实施例中,本发明可应用于包括,但不仅限于,计算机设备1、用户终端2、网络3的应用环境中。
其中,计算机设备1可以是计算机、服务器或其它具有数据处理能力的电子装置。在本发明的实施例中,电子设备优选以应用服务器1作为举例。在本实施例中,服务器1可以是企业内部的总服务器,也可以是企业中管理某个部门的服务器。其可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备。服务器1可以是独立的服务器,也可以是多个服务器所组成的服务器集群。在本发明的实施例中的应用服务器1,优选为一短信发送平台,可以向用户终端2发送短信。
本实施例中的用户终端2,可以是智能手机、平板电脑、个人电脑、便携计算机以及其他具有运算功能的电子设备,在本应用场景中,优选为移动终端2。移动终端2可以是现有移动终端厂商生产的任意一种物理机型。一般的,移动终端2为了实现移动通信,内部还安装有移动终端通信运营商分配的通信卡(例如SIM卡等)。移动运营商为通信卡分配有一唯一对应的用户号码。移动终端2基于通信卡可以实现语音通话、短信等通信方式。短信可以包括但不限于是文字短信、图片短信,还可以包含语音信号、网页链接等内容。
网络3可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(Global System of Mobile communication,GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
应用服务器1通过网络3与移动终端2通信连接。移动终端2接收应用服务器1发送的短信。
在本申请的应用场景中,移动终端2在至少两种情景下接收应用服务器1发送的短信。一种情景是应用服务器1向移动终端2发送有关企业优惠促销活动的短信,应用服务器1可以接收已经编辑好的内容短信,通过网络3向用户的移动终端2进行发送。这里的用户可以是所有用户,也可以是符合一定条件的目标用户,短信的发送一般是群发。第二种情景就是移动终端2向应用服务器1索取验证码的场景,移动终端2上安装有企业发布的移动端应用(App),用户基于移动终端2的移动端应用实现特定功能(例如可以但不限于是登录)时,就会向应用服务器1发送索取验证码的请求,应用服务器1基于一定的运算规则计算移动终端2特定时间段有效的验证码,并以短信的形式发送至移动终端2。
在本申请的应用场景中,应用服务器1通过网络3与移动终端2通信连接,且对短信发送的过程进行控制和处理,具体包括:
获取待发送短信,以及待发送用户的用户号码;具体的,应用服务器1从与所述应用服务器1连接的数据库中获取待发送短信及待发送用户的用户号码,应用服务器1可以作为企业的短信发送平台,所述数据库安装部署在应用服务器1中,或者该数据库可以安装部署在与所述应用服务器1相连接的其它服务器中,在本申请中并不限定;
根据所述待发送用户的用户号码,查询所述用户号码对应的移动终端的运行环境信息;根据所述用户号码对应的移动终端的运行环境信息,选择虚拟机;具体的,虚拟机既可以指现实的实体机器,也可以指通过软件模拟的具有硬件***功能的计算机***。一般情况下,虚拟机通常以软件来模拟。虚拟机可以部署在应用服务器1中,由应用服务器为各个虚拟机分配对应的硬盘和内存容量,每个虚拟机都有独立的硬盘和***,可以像实体机一样运作。虚拟机还可以部署在与所述应用服务器1相连接的其它服务器等计算机装置中,应用服务器1可以与其它服务器进行通信,从而可以选择虚拟机并监控其工作状态。虚拟机的具体部署形式在本申请中也并不限定。
基于选择的虚拟机创建所述用户号码对应的虚拟移动终端;
向所述虚拟移动终端发送所述待发送短信,并获取所述待发送短信是否被拦截的结果;
向未拦截所述待发送短信的虚拟移动终端对应的用户号码的移动终端发送所述待发送短信,而停止向拦截所述待发送短信的虚拟移动终端对应的用户号码的移动终端发送所述待发送短信。
参阅图2所示,是图1中计算机设备1一可选的硬件架构示意图。本实施例中,计算机设备1可包括,但不仅限于,可通过***总线相互通信连接的存储器11、处理器12、网络接口13。需要指出的是,图2仅示出了具有组件11-13的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,存储器11至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器11可以是应用服务器1的内部存储单元,例如计算机设备1的硬盘或内存。在另一些实施例中,存储器11也可以是计算机设备1的外部存储设备,例如计算机设备1上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器11还可以既包括计算机设备1的内部存储单元也包括其外部存储设备。本实施例中,应用服务器11通常用于存储安装于计算机设备1的操作***和各类应用软件,例如短信发送处理***100的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。处理器12通常用于控制计算机设备1的总体操作,例如执行与移动终端2进行数据交互或者通信相关的控制和处理等。本实施例中,处理器12用于运行存储器11中存储的程序代码或者处理数据,例如运行的短信发送处理***100等。
网络接口13可包括无线网络接口或有线网络接口,网络接口13通常用于在计算机设备1与其他电子设备之间建立通信连接。本实施例中,网络接口13主要用于通过网络3将计算机设备1与移动终端2相连,在计算机设备1与移动终端2之间建立数据传输通道和通信连接。
本实施例中,短信发送程序100可以被分割成一个或多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例中为处理器12)所执行,以完成本发明。短信发送程序100所称可以分割的功能模块是指能够完成特定功能的一系列计算机程序指令段。
本实施例中的处理器12执行存储器11中的短信发送处理***100,可以实现:
步骤1、获取待发送短信,以及待发送用户的用户号码。
本步骤获取待发送短信和待发送用户的用户号码有两种场景:一种是向客户群发活动通知。一种是用户在操作企业应用App的场景中,为实现特定的功能(例如登录功能)而索取短信验证码。
在群发活动通知的应用场景下,本步骤获取的待发送短信,其内容可以预先编辑完成,或者可以实时在短信发送平台上进行编辑。待发送短信的内容可以包括文字、图片、活动链接等内容。而在获取短信验证码的应用场景下,***根据接收的用户的验证码请求,经过运算处理,产生特定时间段有效地若干位数字验证码,以向用户号码对应的终端进行短信发送。
用户号码是指短信运营商(一般同时是移动通信运营商)分配给开户用户的唯一对应的ID。
步骤2、根据待发送用户的用户号码,查询所述用户号码对应的移动终端的运行环境信息。
本实施例中,所述运行环境信息至少包括移动终端物理机型、移动终端操作***。物理机型信息是指不同移动终端厂商生产的移动终端的具体新号,而移动终端操作***包含了运行于移动终端上的操作***及其版本信息。不同版本的操作***在短信拦截机制上可能并不相同。例如某些版本的操作***可能对任何短信都不会拦截,而某些版本的操作***经过程序代码的设计,将符合一定特征的短信视为垃圾短信而进行拦截。
本步骤可以根据用户号码从大数据平台中查询所述用户号码对应的移动终端的运行环境信息。在大数据平台中已经预先存储有用户号码-移动终端机型-移动终端操作***的对应关系。
本实施例中,大数据平台可以采用Redis内存数据库对用户移动终端的运行环境信息进行存储,可以加快数据的读取和处理。Redis内存数据库以KEY-VALUE的键值对进行数据存储。在本实施例中,以用户号码作为KEY,从而便于对相应的VALUE值进行读取。而VALUE采用Hash类型(散列)的数据结构,即VALUE值是由field和与之关联的value组成的map键值对,而field和value都是字符串类型,其中filed1可以用于存储用户移动终端的物理机型,而filed2则存储相应的操作***型号。本实施例中采用Hash类型数据结构,可以节省Redis内存数据库中相对更为珍贵的KEY,这样减少了KEY的数量,同时也提升了用户数据的查询效率,从而减少了为这些KEY所要创建的物理内存空间。以一个具体例子来说明,某用户的移动终端(手机)号码是12345678901,手机型号是K20Pro,而操作***为MIU10.4,手机号码12345678901作为KEY值存储,而“K20Pro”与“MIU10.4”形成map键值对作为VALUE进行存储,通过手机号码就可以查询到手机的运行环境信息。该操作***MIU10.4自带有短信拦截工具,该工具已预先将符合某些特征的短信定义为垃圾短信,在接收到此类短信,移动终端将会自动拦截。例如该短信拦截工具可以对短信的内容进行扫描,如果短信的内容中包含“退订”等关键字,就可以将该短信分类为垃圾短信,从而进行拦截。
本实施例中的运行环境信息,可以是在用户安装企业的移动终端应用(App)的时候获取,并且可以定期更新。
在另一个可选的实施例中,所述运行环境信息包括移动终端物理机型、移动终端操作***、以及所述移动终端是否安装有第三方短信拦截工具,以及用户对所述第三方短信拦截工具的个性化设置信息。
步骤3、根据所述用户号码对应的移动终端的运行环境信息,选择虚拟机。
本实施例中,根据用户号码对应的移动终端的运行环境信息进行信息分类,例如在一个实施例中,运行环境信息包括移动终端物理机型和移动终端操作***,将具有相同物理机型和移动终端操作***的信息划分为同一类信息。
根据划分的信息类别的数目,从空闲的虚拟机中选择相同数目的虚拟机来创建虚拟手机。由此可见,对移动终端的运行环境信息做信息分类,并创建虚拟终端,具有相同物理机型、相同操作***的用户号码将对应于一个虚拟机,用户号码与选择的虚拟机是多对一的对应关系。
步骤4、基于选择的虚拟机创建所述用户号码对应的虚拟移动终端。
在本实施例中,创建虚拟移动终端的过程,就是将用户号码对应的移动终端的操作***加载到虚拟机中的过程。如果加载的移动终端的操作***自带有短信拦截模块(即厂商预先植入的有关短信拦截的程序代码),该拦截模块将一并加载到虚拟机环境中。并且该短信拦截模块的短信拦截功能默认设定为开启。
在本实施例中,具体是通过加载操作***模拟器的技术来创建虚拟终端,具体过程包括:先从空闲的虚拟机中选择任意1台虚拟机,再将手机操作***模拟器加载到所选择的虚拟机中,再通过手机操作***模拟器读取操作***文件,从而完成虚拟终端(手机)的创建。例如,从前述实施例中的Redis内存数据库中,基于用户号码“12345678901”查询出手机型号是K20Pro,而操作***为MIU10.4,则向选择的虚拟机中安装安卓模拟器(AndroidEmulator),再通过安卓模拟器读取操作***MIU10.4对应的Rom文件,从而创建出虚拟手机,虚拟手机与用户的实际物理手机具有相同的运行环境。
在本发明的一个可选的实施例中,当运行环境信息中不仅包括物理机型、移动终端操作***信息,还包括第三方短信拦截工具的信息,以及用户对第三方拦截工具的设置信息时,在加载时,不仅要向虚拟机中加载操作***,还要加载第三方短信拦截工具,并根据用户的个性化设定,对第三方拦截工具的拦截功能作初始化设置。
步骤5、向所述虚拟移动终端发送所述待发送短信,并获取所述待发送短信是否被拦截的结果。
本实施例中,所创建的虚拟移动终端是通过向虚拟机中加载移动终端操作***而得到的,如果加载的移动终端操作***并不自带短信拦截模块,向其发送短信将不会被拦截。如果加载的移动终端的操作***具有短信拦截模块,一般的,该模块的短信拦截机制将短信划分为正常短信、推广短信和垃圾短信,如果发送的所述待发送短信符合垃圾短信的特征将会被拦截,如果不符合将不会被拦截。
本实施例在创建虚拟终端的过程中,可以预先将上报程序一并加载到虚拟机中,这样在虚拟终端对短信进行拦截或不拦截,都会获取到结果数据。
在本实施例中,检测所述虚拟移动终端接收所述待发送短信的处理结果,若所述虚拟移动终端将所述待发送短信存入短信垃圾箱,则获取到所述待发送短信为被拦截的结果,若所述虚拟移动终端未将所述待发送短信存入短信垃圾箱,则获取到所述待发送短信为未被拦截的结果。
本实施例中,上报程序可以以APP应用的形式安装到创建的虚拟终端中。在安装过程中,该APP应用程序获取虚拟终端的短信读取授权。例如,在虚拟终端中,接收的短信存储在目录content://sms下,通过上报程序在该目录下进行搜索,如果读取到短信,则该短信并未被拦截,如果未读取到短信,该条短信即被拦截。上报程序的APP应用程序可以通过http接口将拦截结果进行上报,后台服务器将结果存储到Redis数据库中,使得下一次对于相同机型相同短信内容,可以直接读取Redis中的结果,无需到模拟机中验证,从而可以减少验证短信内容的次数,提升效率。
步骤6、向未拦截所述待发送短信的虚拟移动终端对应的用户号码的移动终端发送所述待发送短信,而停止向拦截所述待发送短信的虚拟移动终端对应的用户号码的移动终端发送所述待发送短信。
参阅图3,是本发明短信发送方法一实施例的流程示意图。在本实施例中,根据不同的需求,图3所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。
S1、获取待发送短信,以及待发送用户的用户号码;
在本实施例中,所述方法可以应用于应用服务器,应用服务器具体可以是一短信发送平台。
本步骤获取待发送短信和待发送用户的用户号码有两种场景:一种是向客户群发活动通知。一种是用户在操作企业应用App的场景中,为实现特定的功能(例如登录功能)而索取短信验证码。
在群发活动通知的应用场景下,本步骤获取的待发送短信,其内容可以预先编辑完成,或者可以实时在短信发送平台上进行编辑。待发送短信的内容可以包括文字、图片、活动链接等内容。而在获取短信验证码的应用场景下,***根据接收的用户的验证码请求,经过运算处理,产生特定时间段有效地若干位数字验证码,以向用户号码对应的终端进行短信发送。
用户号码是指短信运营商(一般同时是移动通信运营商)分配给开户用户的唯一对应的ID。
S2、根据待发送用户的用户号码,查询所述用户号码对应的移动终端的运行环境信息;
本实施例中,所述运行环境信息至少包括移动终端物理机型、移动终端操作***。物理机型信息是指不同移动终端厂商生产的移动终端的具体新号,而移动终端操作***包含了运行于移动终端上的操作***及其版本信息。不同版本的操作***在短信拦截机制上可能并不相同。例如某些版本的操作***可能对任何短信都不会拦截,而某些版本的操作***经过程序代码的设计,将符合一定特征的短信视为垃圾短信而进行拦截。
本步骤可以根据用户号码从大数据平台中查询所述用户号码对应的移动终端的运行环境信息。在大数据平台中已经预先存储有用户号码-移动终端机型-移动终端操作***的对应关系。
本实施例中,大数据平台可以采用Redis内存数据库对用户移动终端的运行环境信息进行存储,可以加快数据的读取和处理。Redis内存数据库以KEY-VALUE的键值对进行数据存储。在本实施例中,以用户号码作为KEY,从而便于对相应的VALUE值进行读取。而VALUE采用Hash类型(散列)的数据结构,即VALUE值是由field和与之关联的value组成的map键值对,而field和value都是字符串类型,其中filed1可以用于存储用户移动终端的物理机型,而filed2则存储相应的操作***型号。本实施例中采用Hash类型数据结构,可以节省Redis内存数据库中相对更为珍贵的KEY,这样减少了KEY的数量,同时也提升了用户数据的查询效率,从而减少了为这些KEY所要创建的物理内存空间。以一个具体例子来说明,某用户的移动终端(手机)号码是12345678901,手机型号是K20Pro,而操作***为MIU10.4,手机号码12345678901作为KEY值存储,而“K20Pro”与“MIU10.4”形成map键值对作为VALUE进行存储,通过手机号码就可以查询到手机的运行环境信息。该操作***MIU10.4自带有短信拦截工具,该工具已预先将符合某些特征的短信定义为垃圾短信,在接收到此类短信,移动终端将会自动拦截。例如该短信拦截工具可以对短信的内容进行扫描,如果短信的内容中包含“退订”等关键字,就可以将该短信分类为垃圾短信,从而进行拦截。
本实施例中的运行环境信息,可以是在用户安装企业的移动终端应用(App)的时候获取,并且可以定期更新。
在另一个可选的实施例中,所述运行环境信息包括移动终端物理机型、移动终端操作***、以及所述移动终端是否安装有第三方短信拦截工具,以及用户对所述第三方短信拦截工具的个性化设置信息。
S3、根据用户号码对应的移动终端的运行环境信息,选择虚拟机;
本实施例中,根据用户号码对应的移动终端的运行环境信息进行信息分类,例如在一个实施例中,运行环境信息包括移动终端物理机型和移动终端操作***,将具有相同物理机型和移动终端操作***的信息划分为同一类信息。
根据划分的信息类别的数目,从空闲的虚拟机中选择相同数目的虚拟机来创建虚拟手机。由此可见,对移动终端的运行环境信息做信息分类,并创建虚拟终端,具有相同物理机型、相同操作***的用户号码将对应于一个虚拟机,用户号码与选择的虚拟机是多对一的对应关系。
S4、基于选择的虚拟机创建所述用户号码对应的虚拟移动终端。
在本实施例中,创建虚拟移动终端的过程,就是将用户号码对应的移动终端的操作***加载到虚拟机中的过程。如果加载的移动终端的操作***自带有短信拦截模块(即厂商预先植入的有关短信拦截的程序代码),该拦截模块将一并加载到虚拟机环境中。并且该短信拦截模块的短信拦截功能默认设定为开启。
在本实施例中,具体是通过操作***模拟器的技术来创建虚拟终端,具体过程包括:先从空闲的虚拟机中选择任意1台虚拟机,再将手机操作***模拟器加载到所选择的虚拟机中,再通过手机操作***模拟器读取操作***文件,从而完成虚拟终端(手机)的创建。例如,从前述实施例中的Redis内存数据库中,基于用户号码“12345678901”查询出手机型号是K20Pro,而操作***为MIU10.4,则向选择的虚拟机中安装安卓模拟器(AndroidEmulator),再通过安卓模拟器读取操作***MIU10.4对应的Rom文件,从而创建出虚拟手机,虚拟手机与用户的实际物理手机具有相同的运行环境。
在本发明的一个可选的实施例中,当运行环境信息中不仅包括物理机型、移动终端操作***信息,还包括第三方短信拦截工具的信息,以及用户对第三方拦截工具的设置信息时,在加载时,不仅要向虚拟机中加载操作***,还要加载第三方短信拦截工具,并根据用户的个性化设定,对第三方拦截工具的拦截功能作初始化设置。
S5、向虚拟移动终端发送所述待发送短信,并获取所述待发送短信是否被拦截的结果数据。
本实施例中,所创建的虚拟移动终端是通过向虚拟机中加载移动终端操作***而得到的,如果加载的移动终端操作***并不自带短信拦截模块,向其发送短信将不会被拦截。如果加载的移动终端的操作***具有短信拦截模块,一般的,该模块的短信拦截机制将短信划分为正常短信、推广短信和垃圾短信,如果发送的所述待发送短信符合垃圾短信的特征将会被拦截,如果不符合将不会被拦截。
本实施例在创建虚拟终端的过程中,可以预先将上报程序一并加载到虚拟机中,这样在虚拟终端对短信进行拦截或不拦截,都会获取到结果数据。
在本实施例中,检测所述虚拟移动终端接收所述待发送短信的处理结果,若所述虚拟移动终端将所述待发送短信存入短信垃圾箱,则获取到所述待发送短信为被拦截的结果,若所述虚拟移动终端未将所述待发送短信存入短信垃圾箱,则获取到所述待发送短信为未被拦截的结果。
本实施例中,上报程序可以以APP应用的形式安装到创建的虚拟终端中。在安装过程中,该APP应用程序获取虚拟终端的短信读取授权。例如,在虚拟终端中,接收的短信存储在目录content://sms下,通过上报程序在该目录下进行搜索,如果读取到短信,则该短信并未被拦截,如果未读取到短信,该条短信即被拦截。上报程序的APP应用程序可以通过http接口将拦截结果进行上报,后台服务器将结果存储到Redis数据库中,使得下一次对于相同机型相同短信内容,可以直接读取Redis中的结果,无需到模拟机中验证,从而可以减少验证短信内容的次数,提升效率。
S6、向所述结果数据中未拦截所述待发送短信的虚拟终端对应的用户号码发送所述待发送短信。
本实施例向未拦截的虚拟终端对于的用户发送短信,而拦截结果的用户将不再发送短信,以节约成本。
对于未发送短信的用户,可以采用其它机制进行活动通知。例如可以是邮件、App内通知,等等。
在本发明的一个实施例中,计算机设备1中的存储器11存储的短信发送程序是多个计算机程序的组合,在处理器10中运行时,可以实现:
获取待发送短信,以及待发送用户的用户号码;
根据所述待发送用户的用户号码,查询所述用户号码对应的移动终端的运行环境信息;
根据所述用户号码对应的移动终端的运行环境信息,选择虚拟机;
基于选择的虚拟机创建所述用户号码对应的虚拟移动终端;
向所述虚拟移动终端发送所述待发送短信,并获取所述待发送短信是否被拦截的结果;
向未拦截所述待发送短信的虚拟移动终端对应的用户号码的移动终端发送所述待发送短信,而停止向拦截所述待发送短信的虚拟移动终端对应的用户号码的移动终端发送所述待发送短信。
进一步地,应用服务器1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中,所述计算机可读存储介质可以是易失性,也可以是非易失性。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
相较现有技术,上述本发明实施例提供的短信发送方法、应用服务器和计算机可读存储介质,在直接发送待发送短信之前,获取待发送短信以及待发送用户的用户号码,根据待发送用户的用户号码进行查询,得到用户号码对应的移动终端的运行环境信息,再根据运行环境信息选择虚拟机,并创建用户号码对应的虚拟移动终端,进而向创建的虚拟移动终端发送待发送短信以得到是否被拦截的结果,最后根据结果,停止向拦截待发送短信的虚拟移动终端对应的用户号码的移动终端发送待发送短信,从而可以预知向特定用户发送短信的结果,可以节约企业的短信发送成本。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (8)
1.一种短信发送方法,其特征在于,所述方法包括步骤:
获取待发送短信,以及待发送用户的用户号码;
根据所述待发送用户的用户号码,从大数据平台查询所述用户号码对应的移动终端的运行环境信息;
根据所述用户号码对应的移动终端的运行环境信息进行分类,将具有相同物理机型和移动终端操作***的信息划分为同一类,根据分类的类别数目选择数目相等的空闲状态的虚拟机;
将所述用户号码对应的移动终端的操作***加载到虚拟机,并在加载的移动终端的操作***自带有短信拦截模块时,将该短信拦截模块加载到虚拟机环境中,并将该短信拦截模块的短信拦截功能默认设定为开启,得到所述用户号码对应的虚拟移动终端;
向所述虚拟移动终端发送所述待发送短信,并获取所述待发送短信是否被拦截的结果;
向未拦截所述待发送短信的虚拟移动终端对应的用户号码的移动终端发送所述待发送短信。
2.如权利要求1所述的短信发送方法,其特征在于,所述方法还包括:将所述用户号码对应的移动终端的运行环境信息预先进行存储;
所述移动终端的运行环境信息包括移动终端的物理机型和操作***。
3.如权利要求1所述的短信发送方法,其特征在于,所述方法还包括:将所述用户号码对应的移动终端的运行环境信息预先进行存储;
所述移动终端的运行环境信息包括移动终端的物理机型、操作***、所述移动终端安装的第三方短信拦截工具的信息、以及针对所述第三方短信拦截工具的个性化设置信息。
4.如权利要求3所述的短信发送方法,其特征在于,所述将所述用户号码对应的移动终端的操作***加载到虚拟机,得到所述用户号码对应的虚拟移动终端的步骤,包括:
向所述选择的虚拟机中加载所述操作***,若所述操作***自带有短信拦截模块,则将所述操作***中的所述短信拦截模块设置为自动拦截的状态;
根据所述移动终端安装的第三方短信拦截工具的信息,向所述选择的虚拟机中加载所述第三方短信拦截工具;以及
根据所述针对所述第三方短信拦截工具的个性化设置信息对所述第三方短信拦截工具的拦截功能进行设置。
5.如权利要求1所述的短信发送方法,其特征在于,向所述虚拟移动终端发送所述待发送短信,并获取所述待发送短信是否被拦截的结果,包括:
检测所述虚拟移动终端接收所述待发送短信的处理结果,若所述虚拟移动终端将所述待发送短信存入短信垃圾箱,则获取到所述待发送短信为被拦截的结果,若所述虚拟移动终端未将所述待发送短信存入短信垃圾箱,则获取到所述待发送短信为未被拦截的结果。
6.一种计算机设备,其特征在于,所述计算机设备包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的短信发送程序,所述短信发送程序被所述处理器执行时实现如下步骤:
获取待发送短信,以及待发送用户的用户号码;
根据待发送用户的用户号码,从大数据平台查询所述用户号码对应的移动终端的运行环境信息;
根据所述用户号码对应的移动终端的运行环境信息进行分类,将具有相同物理机型和移动终端操作***的信息划分为同一类,根据分类的类别数目选择数目相等的空闲状态的虚拟机;
将所述用户号码对应的移动终端的操作***加载到虚拟机,并在加载的移动终端的操作***自带有短信拦截模块时,将该短信拦截模块加载到虚拟机环境中,并将该短信拦截模块的短信拦截功能默认设定为开启,得到所述用户号码对应的虚拟移动终端;
向所述虚拟移动终端发送所述待发送短信,并获取所述待发送短信是否被拦截的结果;
向未拦截所述待发送短信的虚拟移动终端对应的用户号码的移动终端发送所述待发送短信。
7.如权利要求6所述的计算机设备,其特征在于,所述移动终端的运行环境信息包括:所述移动终端的运行环境信息包括移动终端的物理机型、操作***、所述移动终端安装的第三方短信拦截工具的信息、以及针对所述第三方短信拦截工具的个性化设置信息;
所述存储器上包括用于存储所述操作***的第一存储单元,以及用于存储所述第三方短信拦截工具的第二存储单元;所述存储器还用于根据预设的更新机制对存储的数据进行更新。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有短信发送程序,所述短信发送程序可被一个或者多个处理器执行,以实现如权利要求1至5任一项所述的短信发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110916444.XA CN113613182B (zh) | 2021-08-10 | 2021-08-10 | 短信发送方法、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110916444.XA CN113613182B (zh) | 2021-08-10 | 2021-08-10 | 短信发送方法、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113613182A CN113613182A (zh) | 2021-11-05 |
CN113613182B true CN113613182B (zh) | 2023-03-21 |
Family
ID=78308059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110916444.XA Active CN113613182B (zh) | 2021-08-10 | 2021-08-10 | 短信发送方法、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113613182B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104376263A (zh) * | 2014-12-09 | 2015-02-25 | 北京奇虎科技有限公司 | 应用程序行为拦截的方法和装置 |
CN105389241A (zh) * | 2015-12-24 | 2016-03-09 | 北京奇虎科技有限公司 | 移动终端防骚扰工具的性能测试方法及*** |
WO2017036336A1 (zh) * | 2015-09-01 | 2017-03-09 | 阿里巴巴集团控股有限公司 | 一种基于云平台的业务数据的处理方法和装置 |
CN107302449A (zh) * | 2017-06-13 | 2017-10-27 | 中国工商银行股份有限公司 | 智能监控统计与报警处理***及方法 |
CN107644161A (zh) * | 2016-07-22 | 2018-01-30 | 阿里巴巴集团控股有限公司 | 样本的安全测试方法、装置和设备 |
CN109167782A (zh) * | 2018-08-31 | 2019-01-08 | 国鼎网络空间安全技术有限公司 | 基于智能移动终端的隐私数据保护方法及*** |
CN110955897A (zh) * | 2019-11-25 | 2020-04-03 | 中国人寿保险股份有限公司 | 基于大数据的软件研发安全管控可视化方法及*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7334076B2 (en) * | 2005-03-08 | 2008-02-19 | Microsoft Corporation | Method and system for a guest physical address virtualization in a virtual machine environment |
KR100625664B1 (ko) * | 2005-03-16 | 2006-09-20 | 에스케이 텔레콤주식회사 | Vm 어플리케이션을 이용한 단문 메시지 관리 시스템 및이동 통신 단말 |
KR100814067B1 (ko) * | 2007-05-30 | 2008-03-14 | (주)엠비즈코리아 | 에스엠에스 메시지 열람확인 방법 및 이를 수행하기 위한단말장치 |
CN104503915B (zh) * | 2014-12-31 | 2018-01-23 | 北京奇虎科技有限公司 | 评测垃圾短信拦截工具的***和方法 |
CN106845882A (zh) * | 2015-12-07 | 2017-06-13 | 中国电信股份有限公司 | 用于群发短信的方法、服务器以及*** |
CN110149599B (zh) * | 2019-03-28 | 2021-04-20 | 华为技术有限公司 | 一种短信防护方法及终端设备 |
CN112954622A (zh) * | 2021-02-05 | 2021-06-11 | 青岛海信移动通信技术股份有限公司 | 移动终端及其短信发送方法 |
-
2021
- 2021-08-10 CN CN202110916444.XA patent/CN113613182B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104376263A (zh) * | 2014-12-09 | 2015-02-25 | 北京奇虎科技有限公司 | 应用程序行为拦截的方法和装置 |
WO2017036336A1 (zh) * | 2015-09-01 | 2017-03-09 | 阿里巴巴集团控股有限公司 | 一种基于云平台的业务数据的处理方法和装置 |
CN105389241A (zh) * | 2015-12-24 | 2016-03-09 | 北京奇虎科技有限公司 | 移动终端防骚扰工具的性能测试方法及*** |
CN107644161A (zh) * | 2016-07-22 | 2018-01-30 | 阿里巴巴集团控股有限公司 | 样本的安全测试方法、装置和设备 |
CN107302449A (zh) * | 2017-06-13 | 2017-10-27 | 中国工商银行股份有限公司 | 智能监控统计与报警处理***及方法 |
CN109167782A (zh) * | 2018-08-31 | 2019-01-08 | 国鼎网络空间安全技术有限公司 | 基于智能移动终端的隐私数据保护方法及*** |
CN110955897A (zh) * | 2019-11-25 | 2020-04-03 | 中国人寿保险股份有限公司 | 基于大数据的软件研发安全管控可视化方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN113613182A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11061812B2 (en) | Using containers for update deployment | |
CN108255701B (zh) | 场景测试方法及移动终端 | |
CN105389263A (zh) | 应用软件权限监控方法、***及设备 | |
CN102970342A (zh) | 一种基于ota 技术的嵌入式终端自动升级方法 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN112131224A (zh) | 应用安装包的处理及安装来源确定方法、装置及溯源*** | |
CN104036194A (zh) | 一种应用程序中泄露隐私数据的漏洞检测方法及装置 | |
CN113434230A (zh) | H5页面的跳转控制方法、装置、存储介质及电子装置 | |
CN111949314A (zh) | 应用安装包的生成方法、装置、服务器和存储介质 | |
CN113656107A (zh) | 移动应用的加载方法、装置及电子设备 | |
CN115469813A (zh) | 数据处理方法及装置、存储介质、电子装置 | |
CN113961936A (zh) | 可信白名单建设方法、***、装置和计算机设备 | |
CN109918112B (zh) | 游戏热更新方法、装置和存储介质 | |
CN113626882A (zh) | 一种生成设备标识符的方法、装置、介质 | |
CN103365672B (zh) | 一种处理应用程序的描述信息的方法和*** | |
CN113613182B (zh) | 短信发送方法、计算机设备及可读存储介质 | |
CN111052072B (zh) | 一种免安装应用程序下载方法及装置 | |
CN116450165A (zh) | 一种快速搭建环境及部署程序的方法、***、终端及存储介质 | |
CN104079540A (zh) | 应用更新方法、装置及***、用户设备 | |
WO2022134918A1 (zh) | 虚拟机属性变更方法和装置、存储介质和电子装置 | |
CN105868622A (zh) | 应用开机启动的控制方法及装置 | |
CN112882733B (zh) | 应用更新方法及装置、电子设备、存储介质 | |
CN112416750A (zh) | 应用程序边界测试方法及*** | |
KR102368826B1 (ko) | 클라우드 서버 및 클라우드 서버의 동작 | |
CN112436974A (zh) | Cdn数据资源一致性检测方法、装置以及计算机设备 |
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 |