一种读写存储设备的方法及装置的制造方法_3

文档序号:8395681阅读:来源:国知局
Client 端接收到后台服务程序发送的操作结果后,可以直接将该操作结果返回给直播业务apk,也可以先对该操作结果进行解析,如首先解析标识字符串Tail,如果Tail的内容等于“Fininsh”,则再去解析Head的内容,如果Head的内容和Client端发送的操作指令中的Head的内容相同,即均为“GetPrivateData”,则Client端再去解析Content中的内容“0123456789”,而Content中的内容“0123456789”即为直播业务apk调用“GetPrivateData”函数所要获取的解密数据。Client端获取到的操作结果中包含直播业务apk所需的解密数据,Client端将该解密数据发送给直播业务apk,这样,直播业务apk就可以通过获取到的解密数据解密加密的直播流,完成加密的直播流的正常播放。
[0064]又示例的,针对步骤201-步骤203,若直播业务apk获取到服务器端有新的加密数据,则需对flash中的原有加密数据进行更新。此时直播业务apk通过调用UpdataPrivateData函数,使Client端与后台服务程序建立连接,连接建立后,后台服务程序将接收到操作指令:“Head:UpdatePrivateData ;Conent:888888888 ;Tail:Finish”,后台服务程序首先解析标识字符串:Tail,若Tail的内容等于“Finish”,则获取Head中的内容,解析出Head的内容等于“UpdatePrivateData”后,再解析Content中的内容,并通过调用底层flash驱动接口将Content中的数据“888888888”写入到flash中。
[0065]需要说明的是,“GetPrivateData”的含义为读取flash中的解密数据,“UpdatePrivateData”的含义为对flash中的解密数据进行更新,也即将更新后的解密数据重新写入到flash中。“GetPrivateData”和“UpdatePrivateData”仅是为了示例性的说明本发明实施例所描述的读写存储设备的方法,本发明对存储设备的具体操作不做限定。
[0066]下面,以apk对flash进行的操作为读取flash中的解密数据“0123456789”,以Client端与后台服务程序建立的连接为面向连接的socket连接为例,对apk读取闪存的过程进行详细描述,具体包括以下步骤:
[0067]步骤1、apk 调用 GetPrivateDate 函数,调用 Client 端。
[0068]步骤2、Client端通过调用socket函数,向后台服务程序发起socket连接的建立请求。
[0069]步骤3、后台服务程序通过调用listen函数监听到Client端发送的连接建立请求后,响应该连接,并新建一个线程来接收Client端发送的数据。
[0070]步骤4、Client端根据GetPrivateDate函数向后台服务程序发送格式为“Head:GetPrivateDate ;Tail:Fininsh” 的数据。
[0071]步骤5、后台服务程序接收并解析该数据,若Tail中的内容等于“Fininsh”,则解析Head中的内容。
[0072]步骤6、后台服务程序根据数据解析结果“GetPrivateDate”调用底层flash驱动接口,读取flash中存储的解密数据。
[0073]步骤7、后台服务程序向客户端发送格式为:“Head:GetPrivateDate ;Content:0123456789 ;Tail:Fininsh” 的数据。
[0074]步骤8、Client端接收到后台服务程序发送的数据后,依次对Tail、Head和Content中的内容分别进行解析,最终获取Content中包含的解密数据“0123456789”。
[0075]步骤9、Client端将解析出的Content中解密数据“0123456789”返回给apk。
[0076]步骤10、apk获取到flash上的解密数据“0123456789”。
[0077]需要说明的是,后台服务程序在初始化时,需要以root权限进行初始化,这样才能调用底层flash驱动接口。通过上述步骤1-步骤10可知,直播业务apk虽然权限不足,无法直接读取flash中存储的解密数据,但是通过调用Client端和后台服务程序,实现了间接从flash中读取解密数据的目的,并最终完成了直播流的正常播放。
[0078]本发明实施例提供了一种读写存储设备的方法,该方法包括:获取由应用程序触发的操作指令,其中,操作指令用于指示后台服务程序对存储设备进行读取/写入操作;发送操作指令给后台服务程序,以使得后台服务程序根据操作指令对存储设备进行读取/写入操作;接收后台服务程序发送的与操作指令相对应的操作结果;将操作结果发送给应用程序。具体的,客户端获取应用程序触发的操作指令后,将操作指令发送给后台服务程序,后台服务程序接收到操作指令后,根据操作指令中的指示,对存储设备进行读取/写入操作,并将与操作指令对应的操作结果返回给客户端,使客户端能够获取该操作结果。通过本发明实施例提供的方法,应用程序可以通过客户端和后台服务程序之间进行交互操作,由后台服务程序对存储设备进行访问,并将访问的数据返回给应用程序,间接实现了应用程序对存储设备的访问。因而,能够克服现有技术中由于应用程序权限不足,无法对存储设备进行读写的问题。
[0079]本发明实施例提供了一种客户端30,如图3所示,客户端30包括:获取模块301、发送模块302、接收模块303。
[0080]获取模块301,用于获取由应用程序触发的操作指令,其中,操作指令用于指示后台服务程序对存储设备进行读取/写入操作。
[0081]发送模块302,用于发送操作指令给后台服务程序,以使得后台服务程序根据操作指令对存储设备进行读取/写入操作。
[0082]接收模块303,用于接收后台服务程序发送的与操作指令相对应的操作结果。
[0083]发送模块302,还用于将操作结果发送给应用程序。
[0084]可选的,如图4所示,客户端30还包括:处理模块304。
[0085]处理模块304,用于执行Linux初始化脚本,启动init进程;其中,init进程对Linux初始化脚本中定义的后台服务程序进行创建,使后台服务程序启动后具有对存储设备进行读取/写入操作的权限。
[0086]本发明实施例提供了一种客户端,该客户端包括:获取模块、发送模块、接收模块。具体的,获取模块获取到应用程序触发的操作指令后,由发送模块将操作指令发送给后台服务程序,后台服务程序接收到操作指令后,根据操作指令中的指示,对存储设备进行读取/写入操作,并将与操作指令对应的操作结果返回给客户端,使客户端能够获取该操作结果。本发明实施例提供的客户端,借助与后台服务程序之间的通信,间接的实现了对存储设备的访问。因而,能够克服现有技术中由于应用程序权限不足,无法对存储设备进行读写的冋题。
[0087]本发明实施例提供了一种后台服务器40,如图5所示,后台服务器40包括:接收模块401、处理模块402、发送模块403。
[0088]接收模块401,用于接收客户端发送的由应用程序触发的操作指令,其中,操作指令用于指示后台服务程序对存储设备进行读取/写入操作。
[0089]处理模块402,用于根据操作指令,对存储设备进行数据读取/写入操作,得到与操作指令相对应的操作结果。
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1